SDN(Software Defined Network)
태그 :
- 개념
- 네트워크 제어기능이 패킷 포워딩과 분리되어 프로그래밍을 지원하는 네트워크
1. SDN(Software Defined Network)
- OpenFlow 기반으로 네트워크 장비의 Control Plane과 Data Plan을 분리하여 네트워크 트래픽을 중앙 집중적으로 관리하기 위한 기술
- 개방형 API(오픈플로우)를 통해 네트워크의 트래픽 전달 동작을 SW 기반 컨트롤러에서 제어/관리하는 네트워크
2. SDN의 구조 및 주요기술
가. 구조
- Control Plane(SW)과 Data Plane(HW)을 분리하고 그 사이에 표준화된 인터페이스 제공
- Control Plane를 프로그래밍 하여 Data Plane를 제어함
나. 주요기술
주요기술 |
설명 |
OpenFlow |
- SDN을 위한 인터페이스 표준 기술 - 제어하기 위한 기능(Control Plane)을 물리적 네트워크와 분리하여 데이터 전달(Data Plane)과 상호작용하기 위한 오픈소스 프로토콜 |
CLI |
- 네트워크 관리자가 스위치/라우터를 구성하는 일반적 인터페이스 |
SNMP |
- 정보의 원격 수정을 통해 새로운 구성을 수정 및 적용 가능한 관리 프로토콜 |
XMPP |
- XML을 통한 현재 상태 및 메시지 라우팅을 위한 스트리밍 프로토콜 |
Netconf |
- XML을 사용한 기기 구성, 기기에 저장된 상태 및 구성 데이터에 효율적 접근 |
Open Stack |
- 클라우드 컴퓨팅을 위한 오픈소스 소프트웨어 |
가상화 SW API |
- 하이퍼바이저 및 VM웨어 같은 가상화 소프트웨어 API |
[추가] - OpenFlow
- 네트워크 장치의 Control Plane과 Data Plane 간의 인터페이스 위한 표준 통신 프로토콜
- 패킷을 제어하는 기능과 전달하는 기능을 분리하고 프로그래밍을 통해 네트워크를 제어하는 기술
- 시스템 구성: Controller, OpenFlow Protocol, OpenFlow Switch
- 스위치 구성: Flow table, Group Table, Secure Channel, Pipeline, Rule, Statistic, Action
- 동작과정: 컨트롤러연결 à 프레임전송
- 라우팅방식: Hob-by-hop, Overlay
[참고] - SDN에서 소프트웨어적 구현을 컨트롤 플레인에 집중하는 이유
컨트롤 플레인 |
- 네트워크 장비의 두뇌 역할을 하는 부분 - 트래픽의 ingress, egress 필터링, 라우팅 테이블 관리 네트워크 노드의 MAC Learning, 라우팅 프로토콜 저장등 Intelligent한 기능 수행 - Intel CPU와 같이 범용화 하게 되면 큰 비용 절감 효과 및 네트워크 유연성 확보 가능 |
데이터 플레인 |
- 실제 Datagram이 Port 단위로 Forward되는 부분 - 특화된 하드웨어 규격과 다량의 포트, 폼 팩터가 필요하여 범용화하기 곤란한 부분 - 특화된 하드웨어 제조가 필요하여 가격이 상승하고, 범용화하기 곤란 |
즉, 데이터 처리의 범용성이 떨어지고, 일상적인 I/O 처리가 주 작업인 Data Plane은 Software적으로 구현이 어려우나, Control Plane은 범용 MCU기반으로 소프트웨어적으로 프로그래밍 시 네트워크 유연성을 확보하고, 비용절감 가능 |