Computer Science 기본 지식/컴퓨터 네트워크

[네트워크] 네트워크 계층 (1) 라우터 / IP 프로토콜

로파이 2021. 1. 7. 17:15

네트워크 계층 (Network Layer)

네트워크 간의 통신을 가능하게 하는 역할.

  • 전송 계층에서 부여한 포트 번호는 응용 프로그램을 구분하여 목적 프로그램에 전송하기 위해 사용되고
  • 네트워크 계층에서 부여하는 IP 주소는 네트워크를 구분하고 목적지 네트워크에 전송하기 위해 사용된다.

- 용어

  • IP 주소: 네트워크를 식별할 수 있는 주소 
  • 라우터: 네트워크 간의 데이터를 전송하는 장비, 스위치와 달리 고유 IP 주소가 있음.
  • 라우팅: 출발지 IP 주소에서 목적지 IP 주소까지의 최적 경로를 결정하는 것, 라우팅 알고리즘에 따라 포워딩 테이블을 구성.
  • 포워딩: 라우터의 입력 버퍼에서 출력 버퍼까지 패킷을 옮기는 것.

라우터

네트워크 계층 기능을 지원하는 장치

 

Router 구조

- 소프트웨어 부분

  • 라우팅 알고리즘으로 최적 경로를 계산 및 포워딩 테이블을 업데이트
  • 전통적인 라우팅 알고리즘(RIP, OSPF, BGP)에 의해 결정되거나 라우터들을 원격으로 제어하는 방법(SDN)이 있음

- 하드웨어 부분

  • Input port: 물리 계층 -> 링크 계층 -> 입력버퍼 과정
  • switching fabric: 입력 버퍼로 부터 적절한 출력 버퍼로 데이터를 보냄
  • output port: 출력 버퍼 -> 링크 계층 -> 물리계층 과정

- Input port function

물리 계층: 전기신호를 비트 단위로 구별.

링크 계층: 비트 스트림을 논리적인 단위로 구분함.

스위칭: 헤더를 분석해 알맞는 출력 포트를 결정. 포워딩 전송률 보다 데이터그램이 빠르게 도착시 입력 버퍼에서 대기 함.

 

- Switching fabric

입력 버퍼에서 적절한 출력 버퍼로 데이터 그램을 보냄.

Head-of-the-Line(HOL) blocking 문제: 한 입력 버퍼에서 전송 시작된(queued) 데이터 그램에 의해 다른 입력 버퍼에 있는 데이터 그램의 전송이 지연되는 것 (예: 같은 출력 버퍼로의 전송으로).

 

switching methods

Memory vs Bus vs Ineterconnection Network

 

  Memory Bus Ineterconnection Network
특징 입력 버퍼로 부터 주 메모리의 복사, 메모리에서 출력버퍼로의 복사
느림, 메모리 읽기/쓰기 동작 속도에 의존적
공유된 버스를 통한 입력 버퍼와 출력 버퍼간의 직접 복사
버스 대역폭에 따른 속도 제한
버프 대역폭 한계를 극복 (버스를 분리)
모든 입력 버퍼는 모든 출력 버퍼로 연결되어 있음

- Output port function

Buffering: 출구 포트에서 전송되는 속도보다 switch fabric으로 부터 더 빨리 출력 버퍼로 도착함

Scheduling: 어떤 데이터 그램을 먼저 보낼지 결정하는 정책

ex) FIFO, Priority, RR, weighted fair queing: 버퍼 마다 대기시간 가중치가 있음

 

라우터 포워딩

포워딩 테이블에 32 bits 주소를 모두 기록할 수 없기 때문에 출구 포드마다 주소 범위를 정해놓고 해당 출구 포트로 포워딩하도록 함.

longest prefix matching: 각 출구마다 공개된 비트 열 중 일치하는 부분이 가장 긴 접두열에 해당 하는 출구로 결정하는  정책.

 

longest prefix matching

 

IP 프로토콜

IP datagram

- IP 헤더에 포함된 내용

  • Ver: IPv4, IPv6 IP 주소체계 버전
  • HLen: header 길이 (bytes)
  • Total length: 데이터 그램 전체 길이 (bytes)
  • ID (16bits): 패킷 일련번호
  • flags: 패킷의 분할 상태, 분할 금지 정책 유무
  • TTL: 최대 경유 라우터 수 (패킷의 무한 순환 전송을 방지)
  • Protocol: 상위 계층 프로토콜 정보
  • checksum: 에러 감지용 체크섬 비트
  • 출발지 IP 주소와 목적지 IP 주소

- ICMP 프로토콜

ICMP 프로토콜

  • Internet Control Message Protocol
  • 호스트와 라우터가 네트워크 수준의 정보를 교환하기위해 사용됨
  • ICMP 프로토콜 헤더는 type, code, checksum로 이루어져 IP 데이터그램의 첫 8 바이트를 차지

- IPv6

IPv6 헤더

Ver(IPv4, IPv6), priorty(우선순위), flow label (datagram ID), next header (상위 계층 프로토콜), hop limit (TTL)

  • IPv4 주소체계 (32bits) 주소 수 부족으로 등장
  • 40bytes의 고정크기 헤더
  • 데이터 그램 분할을 허용하지 않음
  • checksum 없어짐, 처리 시간이 줄어듦.

 

- 이미지 출처 및 참고자료 : wiki.ucalgary.ca/page/Courses/Computer_Science/CPSC_441.W2014/Chapter_4:_Network_Layer.html