본문 바로가기
네트워크

[네트워크] 4.4 일반화된 포워딩 및 소프트웨어 기반 네트워크(SDN)

by Lizardee 2023. 11. 26.

우리는 지금까지 전통적인 목적지 기반 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)을 수행한다.

Flow table: match + action

  • match + action: 다양한 헤더 정보를 읽고(match), 다양한 action(action)

 

OpenFlow: Flow Table Entries

OpenFlow: Flow Table Entries

 

OpenFlow: Examples

다양한 정보를 읽고(match), 다양한 action을 수행한다.

 

OpenFlow abstraction

OpenFlow abstraction

  • match + action: 다양한 device에서 하는 기능을 수행할 수 있도록 한다.

 

OpenFlow: Example

OpenFlow: Example

▶ Flow table: "flow based forawrding"

--> Remote central controller가 목적지로의 모든 흐름, 즉 경로를 flow table을 통해 각각의 router들에게 전달한다.

  • 전통적인 방식 - 목적지 기반 forwarding: "hop by hop" --> 그 다음 router는 router 각자가 결정해서 목적지로 forwarding한다.

 

 

 

 

 

출처: 이화여자대학교 이미정교수님 컴퓨터네트워크