🏷️SDN 개요
- 종래의 네트워크 장비는 control plane과 data plane그리고 management plane이 하나로 합쳐져 있었다.
- control plane: 네트워크 장비 내부로 들어온 패킷의 정보를 가지고 패킷이 최적 경로로 목적지까지 전달될 수 있도록 라우팅 같은 패킷 제어 및 설정을 담당
- data plane: 네트워크 장비 내부로 유입된 패킷을 다시 외부로 전송하는 것을 담당한다.
- management plane: control plane과 data plane 사이의 동작 및 성능을 관리한다.
- 관리의 어려움으로 인해 control plane과 data plane을 분리하게 됐다.
- control plane쪽 장비를 SDN Controller라고 하고 data plane쪽 장비를 SDN Switch라고 한다.
- 최상위 Application을 통해 정의된 네트워크 제어/설정 정책들이 공개형 API를 통해 Control Plane에 1차적으로 전달되고, Control Plane은 해당 정책들을 미리 정의된 프로토콜(openflow같은) 하위 Data Plane에 전달해 정책을 적용하는 Centralized Network 구조를 갖는데, 이런 네트워크 제어/관리 방식을 SDN이라고 한다.
📌SDN Controller
- Opendaylight나 ONOS가 유명하다.
- Northbound interface: Application과 맞닿은 인터페이스로 REST API가 주로 쓰인다.
- Southbound interface: SDN Switch와 맞닿은 인터페이스로 Openflow가 대표적이다.
- Flow Rule을 SDN Switch에 내린다.
📌SDN Switch
- ASIC이 탑재되는 화이트박스 스위치나 베어메탈 스위치가 있다.
- Open vSwitch같은 가상 스위치가 Openflow를 지원한다.
📌SDN Protocol
- SDN 스위치와 통신할 때 사용되는 프로토콜이다.
- ex) 각종 정책들을 내리거나 질의를 받거나 혹은 각 스위치의 포트 트래픽량 정보를 얻을 때 사용
📌SDN의 기본 구조
- 간략하게 그려보면 다음과 같다.
