SDN(Software Defined Networking)과 OpenFlow의 개념, 동작 원리, 구성, 기술 간 관계, 장단점, 실무 적용 방안에 대해 설명하시오.
**SDN(Software Defined Networking, 소프트웨어 정의 네트워킹)**은 **네트워크 제어(Control Plane)**를 데이터 전달 기능(Data Plane)으로부터 분리하여, 중앙 집중형 제어를 가능하게 하는 네트워크 아키텍처입니다.
즉, 네트워크 장비들이 스스로 판단하지 않고, **중앙 제어기(Controller)**가 명령을 내려주는 구조입니다.
OpenFlow는 SDN의 제어기(Controller)가 네트워크 장비(Switch/Router 등)를 프로그래밍 방식으로 제어할 수 있도록 만든 표준 프로토콜입니다.
[Application Layer]
| REST API
[Control Plane (Controller)]
| OpenFlow
[Data Plane (Switch, Router)]
계층 | 구성 요소 | 역할 |
---|---|---|
Application | NMS, 보안, 트래픽 제어 앱 | 제어 로직 정의 |
Control | SDN Controller (예: ONOS, OpenDaylight) | 중앙에서 흐름 제어 |
Data | OpenFlow Switch | 패킷 전달, 흐름 테이블 사용 |
Flow Table: 조건(Match) + 동작(Action) + 카운터로 구성
패킷 수신 시 → Flow Table에 매칭
Controller는 판단 후 Flow Entry를 설치
[OpenFlow Switch]
+--------------------+
| Flow Table |
|--------------------|
| Match: IP/MAC/... |
| Action: Forward/NAT|
+--------------------+
▲ ▼
Packet-In Flow-Mod
▲ ▼
[SDN Controller] (중앙 제어기)
항목 | SDN | OpenFlow |
---|---|---|
개념 | 네트워크 아키텍처 | 제어기와 장비 간 통신 프로토콜 |
위치 | 상위 개념 | SDN 구현 기술 중 하나 |
역할 | 제어/데이터 분리 및 중앙화 | SDN 제어 명령 전달 |
대체 가능성 | 없음 (아키텍처) | 있음 (NETCONF, gNMI 등) |
항목 | 장점 | 단점 |
---|---|---|
중앙 제어 | 네트워크 전체 관제 가능 | 장애 시 전체 영향 |
유연성 | API 기반 구성 변경 용이 | 실시간 처리에는 한계 |
오픈 표준 | 멀티벤더 통합 용이 | Vendor별 OpenFlow 구현 상이 |
자동화 | DevOps와 연계 쉬움 | 초반 도입/이해 난이도 높음 |
환경 | 적용 사례 |
---|---|
데이터센터 | 네트워크 자동화, NFV(NFV + SDN 통합) |
클라우드 | OpenStack Neutron, Kubernetes CNI |
ISP/통신 | 백본망 흐름 제어, QoS 동적 설정 |
보안 | SDN 기반 NAC, DDoS 대응 자동화 |
교육/연구 | Mininet, Ryu 등으로 SDN 실습 가능 |
SDN은 네트워크를 쉽게 중앙에서 스마트하게 조정하는 방법이에요. 그리고 OpenFlow는 그걸 하기 위한 명령어 전달 방법이에요!
항목 | SDN | OpenFlow |
---|---|---|
정의 | 제어/데이터 분리된 네트워크 구조 | SDN 제어 명령 프로토콜 |
구조 | 3계층 (App–Control–Data) | Flow Table 기반 통신 |
장점 | 중앙 제어, 유연성, 자동화 | 실시간 제어, 오픈 표준 |
단점 | 복잡도, 장애 시 영향 | 구현 상이, 대체 기술 존재 |
적용 | 클라우드, ISP, 보안 | SDN 하위 기술로 함께 사용 |