2020. 4. 12. 04:21ㆍICT/Network
What is SDN : Software Defined Networking?
이전 「5G : 5세대 이동통신」에서 간략히 언급하였던, 소프트웨어 정의 네트워킹(이하 'SDN') 기술에 대해 다루고자 한다. 2018년 초부터 2년이 가까운 시간동안 SDN기술을 전송 네트워크에 결합한 형태인 T-SDN(Transport - Software Defined Networking) 을 구축하고 어떻게 더욱 확대 적용할지 방안을 도출하는 프로젝트에 참가했었다. 마치, 미래를 조금 더 일찍만난 느낌이라 굉장히 즐겁게 진행했던 기억이 있어서 더욱 애착이 가는 기술이다.
위키백과에서 SDN에 대해 찾아보면 그 정의는 아래와 같다.
SDN은 개방형 API를 통해 네트워크의 트래픽 전달 동작을 소프트웨어 기반 컨트롤러에서 제어/관리하는 접근방식이다. 트래픽 경로를 지정하는 컨트롤 플레인과 트래픽 전송을 수행하는 데이터 플레인이 분리되어 있다. 따라서 네트워크의 세부 구성정보에 얽매이지 않고 요구사항에 따라 네트워크를 관리할 수 있다.
- 소프트웨어 정의 네트워킹, 위키백과
API를 통해 네트워크를 관리를 한다는 것, 제어 평면과 데이터 평면이 분리되어 있다는 것은 또 무슨소리인지 SDN이 등장한 배경부터 구조와 활용에 대해 다루어 보겠다.
○ SDN의 탄생
1980년대의 IN, No.7 프로토콜을 이용한 800 서비스, 1990년대에는 ATM 리소스에 대한 논리적 서비스 정의, 2006년 SANE(clean-slate Security Architecture for Enterprise Network)과 Ethane 프로젝트 등 소프트웨어로 네트워크를 제어하는 기술은 지속적으로 연구되어 왔다. 이러한 연구는 2007년 스탠포드 대학의 OpenFlow 프로젝트로 이어지게 되는데, 네트워크 벤더들이 참여하며 시제품이 개발되고 GENI, FIND 등의 미래인터넷을 연구하는 대학을 중심으로 연구개발이 확산되었다. 2011년 3월, OpenFlow 기술의 상용화를 촉진시키기 위해서 표준화 단체인 ONF(Open Networking Foundation)이 설립되며, OpenFlow 기술을 SDN 기술로 확장하는 표준화를 추진하며, 지금의 SDN 기술이 등장하게 되었다.
현재의 「클라이언트-서버」 형태의 네트워크는 최근의 가상화 환경으로의 진화, 네트워크 접속 단말의 폭발적인 증가, East-West / Server-to-Server 트래픽 패턴, 복잡한 구조 등 급변하는 네트워크 환경의 변화를 따라가지 못하고 있다. 또한 동적으로 변하는 트래픽 패턴으로 네트워크의 규모 예측이 어려워지고, 급증하는 데이터에 맞추어 네트워크 규모도 확대되다 보니 관리의 애로사항도 발생한다. 이러한 환경 변화의 요인으로 SDN의 필요성이 대두되며 2020년 현재, 다양한 영역에서 상용화가 진행되고 있다. SDN은 기존 네트워크에서 구성하기 힘든 복잡한 경로의 구성이 가능하고, 트래픽 패턴의 변화에 효과적으로 대처할 수 있다. 특히, 클라우드 환경과 같이 가상머신(VM)의 생성/삭제/이동이 잦은 클라우드 환경에서도 가상 네트워크를 빠르게 구축이 가능한 등의 장점을 갖추고 있다.
○ SDN의 구조
네트워크 장비는 데이터의 전달을 담당하는 데이터 평면과, 데이터 흐름경로의 설정과 관리, 제어를 담당하는 제어 평면으로 구성되어 있다. 네트워크의 경로나 장비 설정을 변경하고자 할 때 각각의 장비마다 개별적으로 관리해야 하는 문제로 인하여 중앙관리와 운영의 자동화가 어려우며, 작업 절차의 복잡성이 높다. SDN에서는 이러한 문제 해결을 위해 개별 장비로부터 제어 평면을 별도로 분리하여 소프트웨어로 중앙(또는, 특정 기준으로 분산) 집중화하고, 네트워크의 동작을 프로그램화 하여 간단하고 효율적으로 관리와 제어를 할 수 있도록 하였다.
SDN은 네트워크 장비의 기능과 네트워크 구조의 설계 구성을 외부에서 정의 할 수 있도록 개방형 API를 제공한다. 데이터 평면의 제어를 위해서 OpenFlow, I2RS, NETCONF, PCEP 등의 Southbound Interface(SBI)를 제공하고, 제어 평면에 응용 서비스를 연계할 수 있도록 REST, ALTO 등의 하이레벨 규격 언어를 Northbound Interface(NBI)로 지원한다. 네트워크 운영자나 관리자는 이렇게 개방된 인터페이스를 통해 신규로 구성되는 네트워크 장비도 유동적으로 SDN의 범위에 확장 시킬 수 있고, 자동화/모니터링 도구를 통해 지능화 하거나, 과금 솔루션 등의 응용 서비스를 SDN에 효과적으로 연동시킬 수 있다.
○ SDN의 활용
SDN은 단순히 대규모의 IP 네트워크 뿐만 아니라 아래와 같이 적용 범위, 기술에 따라 다양하게 활용되고 있다.
1) 클라우드 SDN
클라우드 네트워크는 기술 적용 대상의 대량, 네트워크가 수시로 변하는 특성으로 SDN 적용 효과가 극대화되는 환경을 가지고 있다. 클라우드 SDN기술의 적용 범위는 클라우드 데이터 센터의 내부 뿐만이 아니라, 데이터 센터와 데이터 센터간으로도 확장되고 있다.
2) Transport-SDN
통신 사업자는 전송 네트워크에 SDN을 적용하면서 설비투자비용(CAPEX)과 운영비용(OPEX)의 절감, 서비스의 효율화, 신규 서비스의 신속한 제공을 꾀하고 있다. T-SDN은 제어의 집중과 NBI에 집중하는 형태로 OSS/BSS와의 통합을 통한 E2E 회선 구성의 프로세스를 효율화, 최적화하는 장점을 가지고 있다. 이를 통해, 통신사업자는 필요할 때만 회선을 이용하는 BS(Bandwidth Scheduling), 주문형 대역폭(BoD, Bandwidth on Demand) 등의 신규 사업모델을 지원할 수 있다. 이처럼 다양한 이점을 가지고 있기에, 한국을 비롯한 글로벌 통신 사업자들은 T-SDN이 SDN의 실현에 가장 좋은 대상으로 보고 있다.
3) 서비스 플로우 기반 SDN
적용 기술 측면에서 트래픽을 서비스 플로우 단위로 선택적으로 제어하려는 연구개발이 활발히 진행되고 있다. 특히 네트워크 기능 가상화(NFV)를 추진하고 있는 통신사업자에서의 효과적인 활용이 가능하다. 네트워크 방화벽, 로드밸런서 등이 고가의 전용 하드웨어 대신 범용 하드웨어에 소프트웨어 기반으로 가상화하여 탑재할 수 있다.
○ 생각정리
지금의 네트워크에는 벤더 종속성 문제도 있는데, SDN은 이를 완화시키기 위한 방법중 하나이지만, 필요성 부분에 별도로 작성하지 않은 이유는 최근 몇 년간 제조사 별로 독자적인 SDN 솔루션을 제각각 출시하며 상호 호환성 등의 부분에서 SDN 본래의 목적에 벗어나고 있다고 느꼈기 때문이다.
서두에 조금 더 일찍 미래를 만난 느낌이라고 표현하였는데, 현 시대에 대두되고 있는 기술과 새로운 서비스들의 상용화에는 다양한 네트워크들이 SDN화 되어가는 것이 필연적이라고 생각했기 때문이다. 최근 가장 관심을 가지고 있는 5G 이동통신에 있어서도 전송 네트워크는 기본적으로 T-SDN 형태일 뿐더러, 다양한 서비스들에 대한 대응과 Telco 인프라의 가상화를 위하여 SDN은 핵심 요소이다.
T-SDN 프로젝트 수행시 프로젝트 진행과 아키텍처와 운용 방안의 수립, Legacy장비에 대한 LegacyFlow 형태의 SBI 개발 등을 수행하였는데 약간 아쉬운 부분이 있다. 오케스트레이터, 컨트롤러와 같이 보다 핵심적인 부분을 더욱 파고 들어 보고 싶다.
○ 참고자료
「SDN/OpenFlow 기술 동향 및 전망」 - 유재형, 김우성, 윤찬현
「SDN과 NFV」 - SDN/NFV 포럼 공저
「생태계와 기술 전망」 - 백은경(TTA 정보통신표준화위원회 미래인터넷 PG 부의장)
「KT T-SDN 상용화 Success Story」 - KT 인프라연구소