4. 네트워크 계층: 데이터 평면

앞 장에서는 트랜스포트 계층이 네트워크 계층 호스트들 간의 통신 서비스에 의존함으로써 다양한 형태의 프로세스 간 통신을 제공한다는 것을 배움. 트랜스포트 계층은 네트워크 계층이 실제로 어떻게 구현되었는지를 알지 못해도동작함.

네트워크 계층은 트랜스포트 계층이나 애플리케이션 계층과는 달리, 각 호스트와 네트워크의 라우터마다 네트워크 계층의 일부가 존재한다는 사실을 알게 될 것.

네트워크 계층은 서로 상호작용하는 데이터 평면과 제어 평면두 부분으로 나눌 수 있음.

라우터별 제어: 한 라우터의 입력 링크에 도착한 데이터그램이 다른 한 목적 라우터의 출력 링크에 어떻게 도착하는지를 결정함.

4.1 네트워크 계층 개요

Untitled

H1과 H2의 경로상에 여러 라우터와 두 호스트 H1과 H2로 이루어진 간단한 네트워크를 보여줌.

H1이 H2에게 정보를 보낸다고 가정, 호스트와 중계 라우터에서 네트워크 계층의 역할을 생각

→ H1 네트워크 계층은 H1의 트랜스포트 계층으로부터 세그먼트를 얻어 각 세그먼트를 데이터 그램으로 캡슐화하고(네트워크 계층의 패킷), 인접한 라우터 R1에게 데이터그램을 보냄.

→ 수신 후 호스트 H2의 네트워크 계층은 트랜스포트 계층 세그먼트를 추출하여 H2의 트랜스포트 계층까지 전달함.

라우터의 데이터 평면 역할입력 링크에서 출력 링크로 데이터그램을 전달하는 것임.

네트워크 제어 평면의 근본적인 역할은 데이터그램이 출발지 호스트에서 목적지 호스트까지 잘 전달되게끔 로컬 포워딩, 라우터별 포워딩을 대응시키는 것임.

4.1.1 포워딩과 라우팅: 데이터 평면과 제어 평면

네트워크 계층의 근본적인 역할은 송신 호스트에서 수신 호스트로 패킷을 전달하는 것임.

포워딩은 매우 짧은 시간 단위를 갖기에, 대표적으로 하드웨어에서 실행됨. 반면, 라우팅은 네트워크 전반에 걸쳐 출발지에서 목적지까지 데이터그램의 종단 간 경로를 결정하는 것. 라우팅은 더 긴 시간 단위를 갖기에 소프트웨어에서 보통 실행됨.