본문 바로가기
Computer Network/컴퓨터네트워크

[컴퓨터네트워크] 1101 - Ch4. Network Layer: Data Plane

by leziwn.cs 2023. 11. 2.
4.1 네트워크 계층 개요
Overview of Network Layer

Overview of Network Layer

 

Network layer services and protocols

Network layer services and protocols

▶ host

  • sender: segment를 datagram으로 encapsulate해서 link 계층으로 내려보낸다.
  • receiver: 받은 datagram에서 header를 떼고 남은 segment를 transport 계층으로 올려보낸다.

▶ router

  • 모든 datagram의 header를 검사하여, forwarding한다.
    **forwarding: input port --> output port

 

 

4.1.1 포워딩과 라우팅: 데이터 평면과 제어 평면
Two key network-layer functions

▶ Forwarding: input port --> output port

  • Data plane: forwarding
  • Hardware에서 실행된다.

▶ Routing: output link로 가는 전체적인 경로를 결정한다. 

  • Control plane: forwarding을 하기 위한 작업
  • Software에서 실행된다.

: routing protocol --> routing algorithm --> routing table --> forwarding table

 

 

Network layer: data plane, control plane

▶ Data plane: forwarding

: local; input port --> output port만을 결정한다. (forwarding function)

 

▶ Control plane: routing

: network-wide logic; source host --> destination host (end-end path)

 

 

--> Two control plane approaches:

1) Per-router control plane (전통적인 접근 방법)

1) Per-router control plane (전통적인 접근 방법)

  • router들끼리 정보를 주고받는다.
  • router 각각이 local forwarding table을 만들고(계산은 각자 한다!), data plane으로 내려보낸다.
  • control plane, data plane은 모두 하나의 router 안에 같이 들어 있다!
  • Destination-based forwarding; forwarding 시, 목적지 주소를 통해 output port를 찾는다.

 

2) Software-Defined Networking (SDN) control plane

2) Software-Defined Networking (SDN) control plane

  • Data plane: router
  • Control plane: remote controller
  • router의 CA(Control Agent)가 remote controller에게 네트워크 정보를 보내주고,
    remote controller는 CA에게 한번에 계산된 forwarding table을 보내준다.
  • Generalized forwarding: header에 목적지 주소 + a; header의 어떤 정보든 다 이용할 수 있다.

 

 

Interplay between routing and forwarding

Interplay between routing and forwarding

 

: routing protocol --> routing algorithm --> routing table --> forwarding table

 

▶ Forwarding table

: header value --> output link 결정

  • 제어 평면: 전통적인 접근 방법 -- 목적지 주소
  • 제어 평면: SDN 접근 방법 -- general header value

 

 

4.1.2 네트워크 서비스 모델

 Individual datagrams:

  • 보장된 전달
  • 지연 제한 이내의 보장된 전달

▷ Flow of datagrams:

  • 순서화 패킷 전달
  • 최소 대역폭(bandwidth) 보장
  • 작은 jitter

인터넷: best-effort service (최선형 서비스)
Network layer service model

 

Best-effort service

Best-effort service

 


4.2 라우터 내부에는 무엇이 있을까?

Network layer에는 host와 router가 있다. 그 중 router에 대해 알아보자.

Router

 Control plane: control message를 routing한다. (end-end-path through network)

▶ Data plane: user message를 forwarding한다. (local forwarding)

 

Cf) host는 router와 달리, control plane이 필요하지 않다. 

: host --> gateway router로 바로 연결되기 때문이다.

 

Router

  1. Control plane에서: routing protocol --> routing algorithm --> routing table
  2. Data plane에서: forwarding table --> input port에서 switching fabric을 거쳐 output port로 forwarding된다.

 

Router architecture overview

Router architecture overview

▶ Input port

  • input port의 맨 왼쪽 박스와 output port의 맨 오른쪽 박스는 라우터로 들어오는 입력 링크로, physical layer 기능을 수행한다.
  • input port는 들어오는 링크의 반대편에 있는 link layer과 상호 운용하기 위해 필요한 link layer 기능을 수행한다. 이것은 input/output port에서 middlebox로 표시된다.
  • input port에서는 forwarding table을 참조하여, 도착한 패킷이 switching fabric을 통해 router output port를 결정한다.
  • Control packet은 input port에서 routing processor로 전달된다.

▶ Switching fabric

  • router의 input port와 output port를 연결한다.

▶ Output port

  • switching fabric에서 수신한 패킷을 저장하고, 필요한 link layer, physical layer 기능을 수행하여 output link로 패킷을 전송한다.

▶ Routing processor

: Control plane 기능을 수행한다.

  • traditional router: routing protocol을 실행하고, routing table과 연결된 링크 상태 정보를 유지 관리하며 router forwarding table을 계산한다.
  • SDN: routing processor는 원격 컨트롤러와 통신하여, 원격 컨트롤러에서 계산된 forwarding table을 수신하고, router의 input port에 이러한 엔트리를 설치한다.

 

 

4.2.1 Input port functions

Input port functions

  • Physical layer
  • Link layer
  • Network layer: forwarding, queueing

▶ Forwarding

: forwarding table을 사용하여, 도착 패킷이 switching fabric을 통해 전달되는 output port를 검색한다.

이때 forwarding table은 routing processor에서 계산되거나(traditional), 원격 SDN 컨트롤러에서 수신(SDN)된다.

  • Destination-based forwarding: traditional
  • Generalized forwarding: SDN

Cf) "match + action" 

  • 전통적 라우팅: 헤더의 목적지 주소와 forwarding table 엔트리 (match) --> forwarding (action)
  • SDN: generalized (match) --> forwarding (action)

 

▶ Queueing

: link layer에서 들어오는 속도 > switching fabric에서 나가는 속도 --> queue

 

 

4.2.2 Switching 
Switching fabrics

Switching fabric

▷ Switching rate

: switching rate가 느리면, input port buffer에 패킷이 늘어난다.

  • 이상적인 상태: N개의 input이 들어왔을 때, switching fabric의 switching rate가 NR (input port buffer가 필요 없는 상태)

 

Switching via interconnection network

Switching via interconnection network

 

 

 

 

출처: 이화여자대학교 이미정교수님 컴퓨터네트워크, 컴퓨터 네트워킹: 하향식 접근