Network Layer의 기본 동작을 살펴보자
각 Router에는 Data plane과 Control plane이 존재한다.
- Data Plane: 실제로 데이터를 전달하거나 처리하는 역할을 담당하는 부분.
- Control Plane : Data Plane의 동작을 제어하고 관리하는 역할을 담당하는 부분.
A) Forwarding & Routing
Network layer의 근본적인 역할이다.

1. Forwarding
패킷이 Router의 입력 링크에 도달했을 때, Router는 그 패킷을 적절한 출력 링크로 이동시켜야 한다.
- Data Plane에서 실행된다.
- 매우 짧은 시간 동안 하드웨어에서 실행된다.
2. Routing
송신자가 수신자에게 패킷을 전송할 때 Network layer는 패킷 경로를 결정해야한다.
- Routing algorithm: 패킷 경로를 계산하는 알고리즘
- Control Plane에서 실행된다.
- 비교적 긴 시간 동안 소프트웨어에서 실행된다.
Forwarding table
Router가 가진 Table로, Router에 도착하는 패킷 헤더 필드값을 조사하여 어디로 전달할지를 결정하는 Table.

- 패킷 헤더 필드값은 Forwarding table의 index로 사용된다.
- 헤더값과 출력 링크 Interface의 번호가 저장되어져있다.
Control plane: Traditional method
Q) 어떻게 첫 Forwarding table이 구성되는가?
- 이는 Control plane과 Data plane 사이의 상호작용과 관련이 있다.
Control plane의 Routing algorithm이 Data plane의 Forwarding table의 내용을 결정한다.
Control plane: SDN Method
Forwarding Table의 내용을 조종하는 원격 컨트롤러를 이용한다.

- 물리적으로 분리된 원격 컨트롤러가 Forwarding Table을 분리한다.
- SDN (Software Defined Networking): Network가 소프트웨어적으로 정의되었을 때, 컨트롤러는 소프트웨어 내에서 작동하며 Router와 상호작용할 수 있다.
B) Network service model
송수신 Host 간의 패킷 전송 특성을 정의한다.
-
보장된 전달
- 패킷이 출발지로부터 목적지까지 도착하는 것을 보장한다.
-
순서화 패킷 전달
- 패킷이 목적지에 송신된 순서대로 도착하는 것을 보장한다.
-
최소 대역폭 보장
- 송신 호스트가 특정 비트율 이하(EX. 1 Mbps)로 전송할 때, 네트워크가 패킷 손실 없이 지정된 대역폭을 보장한다.
-
보안 서비스
- 모든 Datagram을 암호화하고 목적지에서 해독이 가능하게 하여 Segment에 대해 기밀성 유지를 보장한다.
Network layer는 best-effort service를 제공한다.
- 패킷이 순서대로 도착하는 것, 중간에 손실되지 않는 것과 지연 없이 도착하는 것을 보장하지 않는다.