Software Defined Network (SDN)
- 고전적 라우팅 방식: 라우팅 알고리즘에 따라 결정된 라우팅 테이블
- 프로그램 가능한 라우터: 중앙형 통제, 원격으로 라우터 간 전송을 제어
1) 일반화된 "flow-based" 포워딩
2) control plane과 data plane의 분리
3) data plane switch를 위한 기능: 라우팅, 접근 제한, 부하 제어 등등
4) 응용 계층에서 제어 기능 구현 가능
OpenFlow (SDN 기반 제어)
- OpenFlow Controller <-> Switches 제어 메세지를 위한 프로토콜
- TCP/TLS 기반 메세지
- OpenFlow Switch 구성요소
- flowtable: 포워딩 테이블과 비슷함. 데이터 그램을 어디로 전송할 것이냐
- secure channel: OpenFlow는 TLS/SSL 방식으로 보안화
- OpenFlow protocol
- controller to switch
- configuration: 스위치 정보를 설정하거나 요청
- read-state: flowtable 정보 혹은 전송관련 통계 정보를 요청
- modify-state: flowtable에 대한 add, delete, modify
- send-packet: 특정 패킷을 특정 스위치를 통해 전송하라는 명령
- switch to controller
- flow-removed: flowtable에서 삭제된 정보
- port status: 특정 포트에 대한 오류, 변화를 알림
- packet-in: 패킷의 정의된 목적지가 없어 controller에게 정의를 요청
OpenFlow Table Entries
1) Rule
- Switch 포트
- MAC src/dst 주소
- Eth 타입
- VLAN id, priority
- IP src/dst 주소, 프로토콜
- TCP src/dst port
2) Action
- 포트로 포워딩
- 제어기로 포워딩
- 패킷 드랍
- 정상적인 전송
- 필드값 변경 (NAT에서 IP 주소 변경)
3) Statistics
packet + byte counters
Match-plus-Action
장치마다 다른 일치에 따른 동작 방식 정의
Match | Action | |
Router | longest matching with destination IP prefix | forward packet out of link |
Switch | destination MAC address | forward or flood |
Firewall | IP address, Port number | permit or deny |
NAT | IP address, Port number | rewrite address and port |
'Computer Science 기본 지식 > 컴퓨터 네트워크' 카테고리의 다른 글
[네트워크] 링크 계층 (2) MAC 주소 / ARP 주소 결정 프로토콜 / Ethernet 프로토콜 (0) | 2021.01.10 |
---|---|
[네트워크] 링크 계층 (1) 서비스 / EDC / MAP 다중 접속 프로토콜 (0) | 2021.01.09 |
[네트워크] 네트워크 계층 (3) 라우팅 알고리즘 (RIP, OSPF, BGP) (0) | 2021.01.07 |
[네트워크] 네트워크 계층 (1) 라우터 / IP 프로토콜 (0) | 2021.01.07 |
[네트워크] 전송 계층 (2) TCP 프로토콜 (0) | 2021.01.06 |