1. 네트워크 가상화 기술인 SDN이란 무엇인가
기존의 네트워크 장비들은 하드웨어 기반의 데이터 전달 기능과 소프트웨어 제어 기능이 밀접하게 결합되어 있었습니다. 이러한 구조를 탈피해 스위칭 하드웨어와 제어 소프트웨어를 분리하고 개방형 API인 오픈 플로우를 통해 네트워크의 전달 동작을 프로그래밍하듯 소프트웨어 컨트롤에서 제어하는 네트워크 인프라를 SDN(Software Defined Network)라 합니다.
네트워크 스위치, 라우터 벤더 간 인터페이스가 상이하여 인프로 구축이 어려운 경우가 많아지고 다양한 콘텐츠의 증가로 기존 폐쇄형 네트워크에서는 지원이 어려운 서비스가 많아지면서 SDN의 개념이 등장하게 되었습니다.
이 문서에서는 SDN의 구성요소와 SDN Layer의 구조, SDN과 같은 가상화에 기반한 소프트웨어정의(SDx)에는 어떠한 것들이 있는지 기술되어 있습니다.
2. SDN의 구성요소에는 어떠한 것이 있는가
SDN은 Openflow를 지원하는 네트워크 장비와 OpenFlow Controller가 서로 연동되며, 라우팅 및 스위칭 등 핵심 제어 기능은 오픈 API를 통해 기업의 상황에 맞는 최적화 알고리즘을 구현할 수 있습니다.
SDN의 구성요소로는 크게 Data Plan, Network OS, SDN Controller, Application으로 분류될 수 있습니다. Data plane은 네트워크 장비의 하드웨어 부분으로 기존 하드웨어에 Openflow 기능이 추가된 스위치가 위치하게 됩니다. Data plane에서는 단순 패킷 포워딩, 스위칭 기능만 구현됩니다. Network OS 부분에서는 전체 망에 대한 제어 기능을 가지는데 라우팅 프로토콜, 인증 등 기존 네트워크 제어 기능을 중앙집중화하여 구성하게 됩니다. Openflow Controller는 Openflow protocol을 통해 Data Plane에 있는 네트워크 장비의 Flow table을 제어할 수 있습니다. SDN Contoller는 SDN의 핵심 기능으로 SDN을 소프트웨어 적으로 통제, 관리하는 기술입니다. SDN Controller가 어떻게 구현되는가에 따라 SDN의 기능이 크게 달라질 수 있습니다. 마지막으로 Application은 Network OS 상위에서 사용자 서비스를 지원하는 프로그램을 말합니다.
3. SDN Layer는 어떤 구조로 구성되는가
SDN Layer는 Infrastructure Layer, Control Layer, Application Layer로 구성됩니다. Infrastructure Layer에 위에서 설명한 하드웨어 부분인 Data Plane이 존재하게 되며 소프트웨어적으로 네트워크 장비를 컨트롤할 수 있는 Control Layer에 Network OS, SDN Controller가 위치합니다. Application Layer에는 사용자 서비스를 지원하는 Application이 있습니다.
4. 가상화에 기반한 소프트웨어 정의(SDx)
클라우드 컴퓨팅의 발전과 함께 소프트웨어 기술을 활용해 기존에 하드웨어에서 직접 제어하던 영역들을 소프트웨어로 정의할 수 있는 기술도 함께 발전하게 되었습니다. SDx는 소프트웨어 정의 기술을 활용하여 하드웨어 장비의 유연성을 높이는데 도움을 줄 수 있고 인프라와 애플리케이션 통합이나 개방형 API를 통해 상호 운용성을 증대시킬 수 있게 되었습니다.
SDN 이외의 SDx의 유형으로는 SDS(Software Defined Storage), SDDC(Software Defined Data Center)등이 있는데 모두 클라우드 기술을 이용해 하드웨어마다 설치되었던 관리 소프트웨어를 중앙에서 통제하고 관리하여 유연한 서비스를 가능하게 하는 서비스 유형입니다.