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 |