SDN
개요
| 개념 | ![]() 네트워크 제어기능(Control Plane)과 데이터 전달기능(Data Plane)을 분리하고, 중앙 컨트롤러가 네트워크를 소프트웨어적으로 제어하는 구조 * 기존 네트워크 장비: SW 영역(Routing, QoS, Policy) + HW 영역(Forwarding) * SDN 네트워크 장비: Controller(두뇌)의 SW 영역(Routing, QoS, Policy) / Switch(손발)의 HW 영역(Forwarding) |
|
| 특징 | 제어와 데이터의 분리 | 제어와 전달기능이 분리되어 전송장치는 단순 포워딩 진행 * 제어평면 : 생각하는 부분( 경로 결정, 정책 설정, 보안/품질 제어 ) * 데이터 평면 : 움직이는 부분(패킷을 실제로 전달) |
| 데이터 전달 계층의 HW화 | 전송장비는 복잡한 판단 대신 규칙에 따라 패킷만 전달하는 단순 포워딩 진행 | |
| 통합제어 NW OS | 제어 기능은 컨트롤러에 집중되어, 네트워크 전체를 통합적으로 관리 | |
| 개방형 인터페이스 기반 포워딩 제어 |
OpenFlow와 같은 개방형 API를 통해 컨트롤러가 장비를 제어 | |
| 비즈니스 민첩성 | 서비스 변화에 맞추어 네트워크 정책을 빠르게 변경하고 적용 가능 | |
| 배경 | - 네트워크 복잡도 증가, 네트워크 통합관리 필요 - 확장 가능성 및 유연성에 대한 요구 증가, 빅데이터로 인한 대역폭 확장 필요 - 인프라 획득 및 유지비용 증가 - 장비 폐쇄성에 대응, 벤더 의존성 탈피 |
|
구성요소 및 주요기능
| 구분 | 항목 | 설명 |
| 구성 요소 |
Data Plane | Forward Engine, 복잡한 제어 없이 패킷 포워딩 및 스위칭 기능만 수행 (실제로 패킷을 보내는 실행부) |
| Control Plane | SDN Control/ACL/Routing/인증, 기존 네트워크 제어기능을 중앙집중형으로 수행 (경로, 접근제어, 인증 같은 제어정책을 정하는 두뇌) |
|
| Interface | OpenFlow, Data Plane과 Control Plane을 연결하는 개방형 제어 인터페이스 | |
| Application | SDN Application Logic, 사용자 서비스 및 정책 기능을 제공하는 프로그램 (“이런 정책으로 운영해라”라고 요구하는 상위 서비스 영역) |
|
| 주요 기술 |
API 플랫폼 | 네트워크와 애플리케이션 연계 |
| 컨트롤러 및 에이전트 | 다양한 네트워크 장비와 애플리케이션 사이에서 역할 | |
| 네트워크 오버레이 | 물리 네트워크 위에 가상 네트워크를 구성하여 유연한 네트워크 서비스를 제공하는 기술 |
[비교] SDN, 기존 네트워크
| 항목 | 기존 네트워크 | SDN |
| 구축 | 장비 벤더 간 호환성을 사전에 검토 후 신규 구축 필요 | OpenFlow 지원 장비 간에는 상대적으로 호환성 확보가 용이 |
| 인프라 변경 유연성 |
기존 구성에 대한 영향도 분석이 크고, 경우에 따라 신규 구축 필요 | 중앙 컨트롤러에서 소프트웨어적으로 유연하게 변경 가능 |
| 관리 효율성 | 장비별 설정 및 제어 정책 관리가 복잡 | 중앙 관제 및 통합 제어로 관리 효율성 향상 |
오픈플로우(OpenFlow)
개요
| 개념 | SDN에서 컨트롤러(제어 계층)와 스위치(데이터 계층) 사이의 제어정보를 교환하는 표준 인터페이스 프로토콜 |
| 역할 | Control Plane과 Data Plane을 연결 |
| 목적 | 플로우 단위의 트래픽 제어와 중앙집중형 네트워크 제어 지원 |
구성도 및 구성요소
![]() |
| 구분 | 내용 | |
| Controller | - OpenFlow 프로토콜을 이용해 플로우 테이블을 생성·수정·삭제하고, 네트워크 정책·경로·상태를 중앙집중적으로 제어하는 제어장치 (네트워크 전체를 보고 판단하는 중앙 두뇌, 어떤 규칙으로 패킷을 처리할지 정해서 스위치에 내려줌) |
|
| OpenFlow Switch |
- 컨트롤러의 명령에 따라 플로우 테이블 기반으로 패킷을 전달·처리하는 데이터 평면 장비 (컨트롤러가 내려준 규칙대로 실제 패킷을 처리하는 장비, 생각은 컨트롤러가 실행은 스위치가) |
|
| Flow Table | 패킷의 매칭조건, 처리동작, 통계정보를 저장하는 규칙 테이블 (패킷처리 규칙표) | |
| Group Table | 다수의 포트 및 처리경로를 그룹 단위로 묶어 관리하는 테이블 (경로/방식을 묶은 관리표) | |
| Pipeline | 여러 플로우 테이블을 순차적으로 거치며 패킷을 처리하는 경로 (순서대로 처리하는 경로) | |
| Secure Channel | 컨트롤러와 스위치 간 제어정보를 안전하게 전달하는 암호화 채널 (안전한 통신통로) | |
동작 절차
![]() |
항목작동 순서설명
| 순서 | 작동 | 설명 |
| 1 | 세션 연결 | - OpenFlow Device와 Controller 간의 Session 연결 (OpenFlow 장비와 컨트롤러가 먼저 서로 연결) |
| 2 | 초기 Flow Table 정보 전달 |
- Controller는 OpenFlow Device에 초기 Flow Table 정보 전송 (컨트롤러가 스위치에게 기본 규칙을 먼저 내려주는 단계) |
| 3 | Match 정보 확인 | - OpenFlow Device가 패킷 수신 시 Flow Table에서 Match 정보 확인 후 Match되는 Table 없으면 Controller로 전송 (스위치가 패킷을 받으면 Flow Table을 보고 맞는 규칙이 있는지 확인하는 단계) * 기본적으로 스위치는 패킷을 받으면 먼저 자기 안의 Flow Table를 보고 규칙이 있으면 바로처리, 없으면 컨트롤러에 물어봄 |
| 4 | Flow Table 전송 | - Controller에서 해당 패킷을 확인해서 최적화된 Flow Table 전송 - Flow matching을 통해 정의된 Action 수행 (맞는 규칙이 없으면 컨트롤러가 새 규칙을 내려주고, 스위치가 그 규칙대로 패킷을 처리하는 단계) |
'Study Note > 네트워크' 카테고리의 다른 글
| [기타>주소] 네트워크 주소(IP, MAC, Port, 전자메일) (0) | 2026.04.09 |
|---|---|
| [품질] QoS(Quality of Service) (0) | 2026.04.09 |
| [기본모델>장비] 스위치 (0) | 2026.04.08 |
| [통신기술>무선통신기술] 6G (0) | 2026.04.07 |
| [기본모델>4전송] 오류제어, 흐름제어, 혼잡제어 (0) | 2026.04.07 |


