4.1 네트워크 계층 개요
Overview of Network Layer

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 (전통적인 접근 방법)

- 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

- 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

: 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

4.2 라우터 내부에는 무엇이 있을까?
Network layer에는 host와 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로 바로 연결되기 때문이다.

- Control plane에서: routing protocol --> routing algorithm --> routing table
- Data plane에서: forwarding table --> input port에서 switching fabric을 거쳐 output port로 forwarding된다.
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

- 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 rate
: switching rate가 느리면, input port buffer에 패킷이 늘어난다.
- 이상적인 상태: N개의 input이 들어왔을 때, switching fabric의 switching rate가 NR (input port buffer가 필요 없는 상태)
Switching via interconnection network

출처: 이화여자대학교 이미정교수님 컴퓨터네트워크, 컴퓨터 네트워킹: 하향식 접근
'Computer Network > 컴퓨터네트워크' 카테고리의 다른 글
| [컴퓨터네트워크] 1103 (2) (0) | 2023.11.08 |
|---|---|
| [컴퓨터네트워크] 1103 (1) (0) | 2023.11.08 |
| [컴퓨터네트워크] Ch2 연습문제 (0) | 2023.10.26 |
| [컴퓨터네트워크] Ch1 연습문제 (0) | 2023.10.26 |
| [컴퓨터네트워크] 3. Transport Layer (5) (1) | 2023.10.21 |