Book/COMPUTER NETWORKING A TOP-DOWN-APPROACH

4.4 Generalized Forwarding and SDN

S0LL 2024. 12. 3. 17:47

1. Generalized Forwarding: Match-Plus-Action

 

전통적 포워딩 방식의 한계

 

이전 섹션에서 논의한 Destination-Based Forwarding은 목적지 IP 주소를 기반으로 포워딩하는 단순한 방식이었다.

Generalized Forwarding은 더 많은 헤더 필드(예: MAC 주소, TCP/UDP 포트 번호 등)를 매칭하고, 다양한 Action(전송, 드롭, 리다이렉션 등)을 수행할 수 있다.

 

Match-Plus-Action Paradigm

 

Match:

헤더 필드(예: 소스 MAC, 목적지 IP 등)와 일치하는 규칙을 찾는다.

Action:

규칙이 매칭되면 수행할 작업을 지정한다.

예: 특정 포트로 패킷 전달, 패킷을 삭제, 헤더 값 수정 등.

 

그림 4.28: Match-Plus-Action 테이블

패킷 스위치는 **Flow Table(흐름 테이블)**을 기반으로 동작.

Flow Table은 원격 컨트롤러에서 계산, 설치 및 업데이트된다.

Flow Table의 각 엔트리는 다음을 포함한다:

1. 헤더 필드 값: 패킷과 비교.

2. 카운터: 해당 엔트리와 매칭된 패킷 수 추적.

3. 액션 목록: 패킷에 수행할 작업.

 

2. OpenFlow 프로토콜과 SDN

 

OpenFlow란?

 

SDN에서 가장 널리 사용되는 프로토콜로, Flow Table을 정의하고 네트워크 장치를 프로그래밍 가능하게 한다.

OpenFlow의 주요 특징:

1. 헤더 매칭: OpenFlow는 Link Layer, Network Layer, Transport Layer에서 다양한 필드를 매칭할 수 있다.

2. 액션: 매칭된 패킷에 대해 포워딩, 드롭, 수정 등의 동작을 수행.

 

헤더 매칭 필드

그림 4.29를 보며 설명하겠다:

Link Layer: 소스/목적지 MAC, VLAN ID 등.

Network Layer: 소스/목적지 IP, IP 프로토콜 등.

Transport Layer: TCP/UDP 소스/목적지 포트.

OpenFlow는 Wildcard(와일드카드)를 사용하여 범위 매칭도 지원한다.

 

액션 수행

 

그림 4.28의 예처럼, Flow Table은 다음과 같은 작업을 지정할 수 있다:

1. Forwarding:

특정 포트로 패킷을 전달.

브로드캐스트나 멀티캐스트 지원.

2. Dropping:

매칭된 패킷을 삭제.

3. Modify-Field:

패킷 헤더를 수정.

 

3. OpenFlow 예제

 

그림 4.30: OpenFlow 네트워크

6개의 호스트(h1~h6)와 3개의 패킷 스위치(s1, s2, s3), 그리고 컨트롤러로 구성된 네트워크.

 

예제 1: 단순 포워딩

 

h5, h6에서 h3, h4로 가는 패킷이 s1 → s2로 전달되도록 구성.

Flow Table:

1. s1:

Ingress Port=1, IP Src=10.3.*.*, IP Dst=10.2.*.* → Action: Forward(4).

2. s3:

IP Src=10.3.*.*, IP Dst=10.2.*.* → Action: Forward(3).

3. s2:

Ingress Port=2, IP Dst=10.2.0.3 → Action: Forward(3).

Ingress Port=2, IP Dst=10.2.0.4 → Action: Forward(4).

 

예제 2: 로드 밸런싱

 

h3에서 10.1.*.*로 가는 패킷은 s2 → s1의 직접 경로 사용.

h4에서 10.1.*.*로 가는 패킷은 s2 → s3 → s1 경로 사용.

 

예제 3: 방화벽

 

s2에서 10.3.*.*에서 온 트래픽만 허용.

Flow Table:

IP Src=10.3.*.*, IP Dst=10.2.0.3 → Action: Forward(3).

IP Src=10.3.*.*, IP Dst=10.2.0.4 → Action: Forward(4).

 

4. 프로그래밍 가능성

 

OpenFlow는 네트워크 동작을 프로그래밍 방식으로 정의.

향후에는 P4와 같은 프로토콜을 통해 더 정교한 네트워크 프로그래밍이 가능.

 

이상으로 SDN과 OpenFlow의 핵심 개념, Match-Plus-Action 모델, 그리고 활용 예제를 설명하였다. 질문이 있거나 추가적인 설명이 필요한 부분이 있다면 요청하기 바란다!

'Book > COMPUTER NETWORKING A TOP-DOWN-APPROACH' 카테고리의 다른 글

4.6 Summary  (0) 2024.12.03
4.5 Middleboxes  (0) 2024.12.03
4.3 The Internet Protocol(IP): IPv4, Addressing, IPv6, and More  (0) 2024.12.03
4.2 What's Inside a Router?  (0) 2024.12.03
4.1 An Overview of Network Layer  (2) 2024.12.03