SDN (Software-Defined Networking)은 역동적이고 관리가 용이하며 비용 효율적이며 적응력이 뛰어난 최신 아키텍처로, 오늘날의 응용 프로그램의 고 대역폭 동적 특성에 이상적입니다. 이 아키텍처는 네트워크 제어 및 전달 기능을 분리합니다.
네트워크 제어를 직접 프로그래밍 할 수 있게 하고 기본 인프라를 애플리케이션 및 네트워크 서비스 용으로 추상화 할 수 있습니다. OpenFlow 프로토콜은 SDN 솔루션을 구축하기 위한 기본 요소입니다.
1. OpenFlow
OpenFlow 스위치 프로토콜은 SDN (Software Defined Network)에서 해당 연결 내에서 연결 및 흐름을 제어 할 수 있는 개방형 인터페이스를 제공합니다. OpenFlow는 확장 가능한 프로토콜로 SDN 프로그래머가 새로운 네트워크 기술 및 동작을 처리하기 위해 추가 프로토콜 요소 (예 : 새로운 일치 필드, 작업, 포트 속성 등)를 정의 할 수 있는 메커니즘을 제공합니다.
2. POX Controller
NOX와 POX는 같은 연구기관에서 배포되었습니다. Python 언어로 구성된 POX Controller는 학교나 연구 기관을 대상으로 하며, 리눅스, MAC OS, 윈도우즈에서 설치가 가능합니다. NOX에서의 애플리케이션들을 동일하게 지원하며, 사용 방법이 쉬운 것이 장점입니다. 현재 OpenFlow v1.3까지 지원합니다.
3. RYU Controller
Ryu 컨트롤러는 트래픽 관리 방법을 쉽게 관리하고 적용 할 수 있도록 하여 네트워크의 민첩성을 향상 시키도록 설계된 개방형 SDN (Software-Defined Networking) 컨트롤러입니다. 일반적으로 SDN 환경에서 컨트롤러는 두뇌입니다.
4. Floodlight Controller
Floodlight 컨트롤러는 자바 기반 오픈소스 컨트롤러이며 오픈플로우 v1.5까지 지원합니다. 미국 스탠퍼드 대학 출신들이 창업한 Big Switch Networks사에서 개발 지원을 받으며 오픈 커뮤니티로 FAQ 및 지식 교류도 활발히 운영되고 있습니다.
5. Opendaylight Controller
OpenDayLight (이하 ODL)는 CISCO, IBM, 레드햇, 마이크로소프트등 데이터 센터 관련 업체 대부분이 참여한 범 개방형 네트워크 연합체입니다. 오픈 소스 기반의 표준 SDN 프레임워크 개발을 하고 있습니다. Floodlight의 Big Switch Networks는 초기 참여를 같이 했으나, 2013년 6월에 ODL 이사회에서 탈퇴하였습니다. ODL 은 오픈소스 SDN 컨트롤러와 가상 오버레이 네트워크, 프로토콜 플러그인, 애플리케이션, 아키텍처 및 프로그램 가능한 인터페이스 등의 개방 프로젝트를 진행하고 있습니다.
6. Open vSwitch
Mininet으로 SDN 개념을 배우는 것만으로도 충분합니다. 그러나 때로는 동급 쇼케이스 및 라이브 데모 세션을 위한 소규모 SDN 랩을 갖는 것이 좋습니다. 아래에서는 Ubuntu 서버에 Open vSwitch를 설치하여 Openflow 스위치 만드는 방법을 설명합니다.