우리는 지금까지 전통적인 목적지 기반 forwarding에 대해 이야기했다. 이제부터 SDN에 대해 배워보자.
SDN은 remote central controller를 가지고, router는 이 remote central controller에게 자신이 가진 정보를 전달한다. 따라서 이러한 remote controller가 모든 router의 목적지 이동 방법을 다 계산해서 router에게 알려준다.
Forwarding: Traditional vs. SDN
▶ 전통적인 forwarding
: Forwarding table을 기반으로, 목적지 기반 forwarding을 한다. 즉, IP 주소의 목적지 주소로 forwarding만 하는 것이다. 그리고 이때, 중간 router에서 어느 방향으로 향할 지는 각각의 router가 결정한다.
▶ SDN
: Flow table을 기반으로, genearalized, flow-based forwarding을 한다. 즉, IP 주소의 목적지 주소로 forwarding만을 하는 것이 아니라, drop/copy/modify/log packet 등 다양한 기능을 수행한다. 또, 중간 router에서 어느 방향으로 향할지는 각각의 remote central controller에서 그 flow 흐름대로 각각의 router에게 flow table을 통해 알려준다.
Flow Table
: Flow table은 forwarding table과 달리, 목적지 주소로의 forwarding 외에도 다양한 기능을 수행한다.
그리고 이러한 기능을 수행하기 위해, 여러 계층의 헤더를 읽고, 그 정보들을 바탕으로 다양한 action (block/drop, forward, modify, send to controller/special server)을 수행한다.
- match + action: 다양한 헤더 정보를 읽고(match), 다양한 action(action)
OpenFlow: Flow Table Entries
OpenFlow: Examples
OpenFlow abstraction
- match + action: 다양한 device에서 하는 기능을 수행할 수 있도록 한다.
OpenFlow: Example
▶ Flow table: "flow based forawrding"
--> Remote central controller가 목적지로의 모든 흐름, 즉 경로를 flow table을 통해 각각의 router들에게 전달한다.
- 전통적인 방식 - 목적지 기반 forwarding: "hop by hop" --> 그 다음 router는 router 각자가 결정해서 목적지로 forwarding한다.
출처: 이화여자대학교 이미정교수님 컴퓨터네트워크
'네트워크' 카테고리의 다른 글
[네트워크] 5.1 개요 (0) | 2023.12.10 |
---|---|
[네트워크] 4.5 미들박스 (1) | 2023.11.26 |
[네트워크] 4.3 인터넷 프로토콜(IP): IPv4, 주소체계, NAT, IPv6 등 (1) | 2023.11.26 |
[네트워크] 4.2 라우터 내부에는 무엇이 있을까? (2) | 2023.11.25 |
[네트워크] 4.1 네트워크 계층 개요 (0) | 2023.11.25 |