SDN(소프트웨어 정의 네트워킹)이란 무엇인가요?
SDN, 즉 소프트웨어 정의 네트워킹은 컴퓨터 네트워크 내의 통신 장치를 소프트웨어를 통해 제어할 수 있게 해주는 개념이자 아키텍처입니다. 네트워크 제어를 물리적 하드웨어에서 분리하여 네트워크 구성 및 설정을 동적으로 변경할 수 있습니다.
기존 네트워크 장치는 수동 구성이 필요했고, 네트워크 구조는 스위치와 라우터의 물리적 연결에 크게 의존했습니다. 이러한 종속성은 기존 스위치에서 데이터 플레인(데이터 전송을 담당)과 제어 플레인(데이터 라우팅을 관리)을 통합한 데서 비롯되었습니다. VLAN 기술은 2계층 네트워크를 가상화했지만, 최대 약 4,000개의 VLAN으로 제한되어 대규모 가상화 네트워크에 제약을 가했습니다.
이러한 과제를 해결하기 위해 OpenFlow가 등장하여 데이터 플레인과 제어 플레인을 분리하고 API를 통해 이들을 연결하는 방법을 제공했습니다. 이러한 분리를 통해 중앙 집중식 소프트웨어 관리와 운영 자동화가 가능해졌고, SDN이라는 개념이 탄생했습니다. 그 이후로 SDN에 대한 다양한 접근 방식이 제안되고 논의되었으며, OpenFlow를 넘어 확장되었습니다.
SDN은 아직 모호하게 정의되어 있지만 두 가지 핵심 사항을 중심으로 설명됩니다.
대규모 네트워크 가상화:
SDN은 3계층 인프라를 기반으로 가상 2계층 네트워크를 구축하는 데 중점을 둡니다. 기존의 네트워크 가상화 방식과 달리 SDN은 소프트웨어를 통해 가상화된 네트워크를 구축하고 관리하는 데 중점을 두어 더 큰 확장성과 유연성을 제공합니다.
소프트웨어를 통한 중앙 집중식 네트워크 관리:
SDN은 제어 평면과 스위치를 분리할 뿐만 아니라 오케스트레이션을 가능하게 하는 고수준 API도 도입합니다. 방화벽과 같은 기능을 가상화하는 NFV(네트워크 기능 가상화)와 이러한 기능을 동적으로 연결하는 서비스 체이닝과 같은 보완 기술은 SDN의 목표를 달성하는 데 중요한 구성 요소입니다.