네트워크 계층은 통신 계층으로부터 세그먼트를 받아 데이터그램으로 처리한 후에 다시 통신 계층으로 전송해주는 계층이다.
Sender, 즉 송신 측에서는 세그먼트를 데이터그램화 해주는데, 이 과정을 헤더로 감싸준다고 해서 encapsulation, 캡슐화라고 한다.
인접 라우터로 데이터그램을 전송하는데, 입력 링크에서 출력 링크로 데이터그램을 전달해준다.
Receiver, 수신 측에서는 링크 계층(네트워크 계층의 하위 계층)으로부터 받은 데이터그램에서 세그먼트를 추출하여 이를 통신 계층으로 전송한다.
이 과정은 모든 호스트와 라우커에서 동작해야 한다.
Routing / Forwarding
네트워크 계층에서는 라우팅과 포워딩의 두 과정이 있습니다. 라우팅은 목적지까지 최적의 경로를 찾아주는 것으로 일종의 네비게이션 역할을 한다. 라우팅 알고리즘이라는 경로 설정 알고리즘을 사용해 경로를 찾아준다.
포워딩은 이렇게 만들어진 경로를 통해 input에서 적절한 output으로 패킷을 전달하는데 포워딩 테이블이라고 하는 라우팅 결과가 기록된 표를 이용해 어디로 가야 하는지를 파악하며, 라우터 마다 존재한다. 라우팅이 네비게이션이라면, 포워딩은 설정된 경로에 대해 각 교차로를 통과하는 것이다.
라우팅은 수많은 라우터들이 협동하여 경로를 설정하므로 Network-wide Action이며, 포워딩은 라우터 하나하나마다 설정되므로 Router-local Action이다.
Data Plane / Control Plane
데이터 영역 : 보통 포워딩 기능을 담당하며, local 라우터 단위 기능을 한다. (per-router function) 라우터 입력 포트에 도착한 데이터그램을 라우터 내의 어느 출력 포트로 보낼 것인가를 결정한다.
제어 영역 : 네트워크의 전반적인 로직을 담당한다.
라우터끼리 협업하여 동작하며,
종단 경로를 따라 데이터그램 라우팅되는 방식을 결정한다.
전통적인 라우팅 알고리즘, Traditional Routing Algorithms와 SDN(Software-Defined Networking) 방식이 있는데, 전통적 방식에서 SDN 방식으로 점차 대체되는 중이다.
Fragmentation / Reassembly
MTU : Max Transmission Unit. 최대 전송 단위
네트워크 링크는 MTU를 가지는데, 계층마다 다른 링크 타입과 MTU를 가지기 때문에 IP 단편화, IP Fragmentation이 필요하다.
이는 큰 IP 데이터그램을 여러 조각의 데이터그램으로 쪼개서 전송하는 방식이다.
이렇게 쪼개진 데이터그램을 합치는 과정도 필요한데, 이것을 재결합, reassembly 과정이라고 한다. 최종 목적지에서 단편화하면서 붙은 IP 헤더를 식별하여 원래 하나의 데이터그램이었는지 확인하고 쪼개진 데이터그램을 재결합한다.
이것이 IP 단편화의 한 예시이다.
4000바이트 데이터그램이 있고 링크의 MTU가 1500바이트라고 하면, 전송을 위해 데이터그램을 쪼개는 과정이 필요하다.
4000바이트 데이터그램을 세 조각으로 분할하면 40 바이트만큼 늘어나는데, 이게 분할하면서 발생한 IP 헤더이다.
'네트워크 > Network Layer' 카테고리의 다른 글
[네트워크] Network Layer (6) - Router(Input/output port, Switching Fabric) (1) | 2022.12.10 |
---|---|
[네트워크] Network Layer (5) - IPv6 (Tunneling) (0) | 2022.11.09 |
[네트워크] Network Layer (4) - NAT : Network Address Translation (0) | 2022.11.06 |
[네트워크] Network Layer (3) - DHCP : Dynamic Host Configuration (0) | 2022.11.04 |
[네트워크] Network Layer (2) - IP Addressing (Subnet, CIDR) (0) | 2022.11.03 |