Network layer: 데이터 패킷이 출발지에서 목적지로 가는 경로를 결정하는 역할을 담당하는 프로토콜
Control Plane: 라우팅 알고리즘을 통해 어떤 경로로 데이터를 전달해야 하는지를 결정하고, 이를 기반으로 라우팅 테이블을 생성
- SDN (Software-Defined Networking): 네트워크의 Control Plane을 중앙에서 소프트웨어로 관리하여 라우팅 테이블 및 경로 결정을 동적으로 조절할 수 있게 한다.
- Per-router control plane (전통적 방식): 각 라우터는 라우팅 프로토콜을 사용하여 네트워크의 상태 정보를 교환하고 최적의 경로를 결정하여, 라우팅 테이블을 생성
Data Plane: Control Plane에 의해 결정된 라우팅 테이블을 기반으로 데이터를 전달하는 역할
- Destination-Based Forwarding (전통적인 라우팅 방법): 라우터는 패킷의 목적지 IP 주소를 보고 패킷을 적절한 출력 포트로 전달하는 방식
- 네트워크 주소와 출력 링크를 나타내는 표 형태의 구조를 가진다.
- IP 주소체계: 네트워크 ID와 호스트 ID로 나누어 관리하고 패킷 전달에있어, 처음에는 네트워크 ID만을 보고 라우팅 결정을 내린다.
→ 라우팅 테이블의 크기↓- 예시: 192.168.1.5
→ 192.168은 네트워크 ID, 1.5는 호스트 ID를 → 라우터는 패킷의 목적지 주소에서 네트워크 ID (192.168)를 추출하여 라우팅 테이블에서 적합한 출력 포트를 결정 & 라우팅을 수행 → 호스트 ID (1.5)는 로컬 네트워크 내에서 호스트 간 통신에 사용- 만약 전체 IP 주소를 보고 라우팅을 수행한다면, 라우팅 테이블에는 주소 공간의 모든 가능한 주소 (32비트의 IPv4 주소 공간에는 총 2^32)에 대한 항목을 라우팅 테이블에 유지해야 하지만, 네트워크 ID 범위만을 보고 라우팅 결정을 내림으로써 라우팅 테이블의 크기를 줄일 수 있다.
- Generalized Forwarding: SDN과 같은 기술의 등장으로, 라우터는 목적지 주소 뿐만 아니라 네트워크의 혼잡 상태 등 여러 가지 요소를 고려하여 패킷을 전달