▲ SDN이 네트워크 세상을 어떻게 바꿨을까요?
SDN이 세상에 태어난 지 이제 6년이 지났습니다. 네트워크 장비 시장의 판도를 바꿀 새로운 기술로 기대를 모았던 SDN이 네트워크 세상을 어떻게 바꿨을까요? 먼저 SDN이란 쉽게 말하면 ‘네트워크 장비 내의 제어부(Control Plane)와 전송부(Data Plane)의 분리’입니다. 제어부란 네트워크 장비의 ‘뇌’에 해당하고, 전송부는 손발의 역할을 한다고 보면 됩니다. 예를 들어, 우리가 구글 검색창에 ‘SDN’이라고 치면 ‘SDN’이라는 데이터가 미국에 있는 구글의 검색 서버까지 전달이 되어야 한다고 가정해봅시다. (실제로 구글 서버는 전 세계에 퍼져 있으며 사용자와 가장 가까운 서버로 전달됩니다) 한국에서 미국까지 데이터가 전달되기 위해서는 여러 경로를 거치는데, 라우터(Router)라는 네트워크 장비가 최적의 경로를 계산(제어부)해서 데이터를 전송(전송부) 해줍니다. 오늘은 SDN에 대해 소개하겠습니다.
SDN이란?
▲ SDN을 적용하면?
기존의 라우터는 이웃하는 라우터로부터 각 경로의 혼잡 여부 등의 정보를 받아서 최적의 경로를 각 라우터 내에서 각각 계산합니다. 이때 SDN은 이러한 경로 계산을 위한 제어부와 데이터 전송을 위한 제어부를 분리하여 하나로 집중합니다. 라우터와 같은 네트워크 장비들은 전송부만을 가지고 데이터 전송 기능에 집중하자는 개념이죠. 그럼 왜 굳이 제어부와 전송부를 분리하자는 SDN이라는 개념이 탄생이 되었을까요? 앞서 이야기한 것처럼 SDN 이전의 장비(이하 Legacy 장비)들은 제어부와 전송부가 동일 장비 내에 존재하였으며, 데이터 전송 기술이 발전할수록 여러 가지 전송 기술을 지원하기 위해서 제어부가 굉장히 복잡해집니다. 이로 인해 장비의 사양도 계속 올라가게 되고 장비의 값 또한 같이 상승했죠. 그 결과 과거 수십 년간 전 세계의 네트워크 장비를 거의 독점적으로 공급하고 있던 ‘Cisco Systems’ 회사는 엄청난 성장을 했습니다.
높은 가격보다 더 큰 문제는 실제로 네트워크 운용에 사용되는 기능이 라우터에 탑재된 기능 중 아주 작은 부분이라는 사실입니다. 사용처에 따라서는 아주 단순한 기능만이 사용됨에도 불구하고 고사양의 라우터 전체를 구매해야 하는 경우가 많았습니다. 따라서, 학계에서는 라우터와 같은 네트워크 장비에 포함된 제어부와 전송부를 분리하고, 필요한 기능만 제어부에 탑재할 수 있게 해야 한다는 논의 및 연구가 시작되었습니다. 그 결과물이 SDN입니다.
그렇다면 제어부를 분리하는 것이 기존 라우터 문제 해결에 어떤 도움이 될까요? SDN이 적용되면 제어부는 별도의 장비 또는 범용 컴퓨터 서버로 분리되고, 네트워크 장비는 데이터 전송 기능 만을 갖춘 전송부만을 가지게 됩니다. 이렇게 두 기능이 분리됨으로써, 장비 사양 또한 각 기능에 최적화되고, 제어부가 여러 네트워크 장비를 제어하여 전체 네트워크 인프라 구축 비용이 훨씬 낮아질 수 있습니다.
당사와 같은 서비스 프로바이더(Service Provider) 측면에서는 비용 절감보다 네트워크 주도권 확보의 더 큰 이점을 가질 수 있습니다. 레거시 네트워크 장비에서는 네트워크 장비 공급 업체에서 제어부 소프트웨어를 장비와 같이 공급함으로써 네트워크 제어에 대한 주도권을 장비 업체들이 가지고 있었습니다. 하지만 SDN에서는 전송부 장치만을 네트워크 장비 공급 업체에서 사고 제어부를 직접 구축하여 각 프로바이더(Service Provider)의 네트워크 상황에 최적화된 방식으로 네트워크를 운영할 수 있습니다. SDN의 동작 원리는 SDN 컨트롤러(제어부), SDN 전송 장비(전송부), 컨트롤러와 전송 장비와의 통신 규약(RPC)으로 이뤄져 있습니다.
SDN의 핵심이자 네트워크의 뇌에 해당하는 부분인 ‘SDN 컨트롤러’는 여러 네트워크 장비와 통신할 수 있도록 API(South-bound API)를 제공 및 추가할 수 있습니다. 또한, 여러 가지 기능의 애플리케이션을 개발하고 다른 운영 도구과 통신할 수 있게 해주는 API(North-bound API)도 제공합니다. SDN 컨트롤러는 상용 제품도 많이 개발되었으나, 현재는 두 오픈 소스 컨트롤러가 주도하고 있습니다. 그중 가장 많이 사용되는 것이 오픈 데이라이트(Open Daylight)입니다. 오픈 데이라이트는 2014년에 네트워크 장비 회사 시스코(Cisco)가 이끄는 오픈 커뮤니티에 의해서 개발이 시작되었습니다. 이 때문에 SDN의 위협을 느낀 장비 회사들이 역으로 SDN의 주도권을 가지려 했다는 의심을 받기도 했습니다. 하지만 장비 회사가 주도한 덕에 오픈 데이라이트는 네트워크 장비와 궁합이 좋아 장비와 함께 널리 퍼졌습니다.
그러나, 실제 네트워크 장비의 사용자인 서비스 프로바이더의 요구 사항을 적극적으로 반영하지 못하는 한계점도 있습니다. 이런 한계점을 극복하고자 SDN의 실제 창시자들(스탠퍼드와 버클리 대학교수)이 모여 만든 비영리 단체인 ONF(Open Networking Foundation)의 주도로 새로운 SDN 컨트롤러를 개발하였습니다. 이것이 AT&T와 같은 서비스 프로바이더와 함께 Carrier-Grade SDN 컨트롤러를 표방하는 ONOS(Open Network Operating System)라는 것입니다. 당사 또한 ONOS의 초기 보드 멤버로 참여하여 당사 매니저를 파견하여 개발을 이끌었으며, 지금도 ONOS 개발에 적극 참여 중입니다.
SDN이 가져온 또 하나의 새로운 변화는 화이트박스 스위치(WhiteBox Switch)의 등장입니다. 화이트박스라는 단어는 기존 레거시 장비의 제어 방식이 공개가 안 돼서 ‘블랙박스’라고 불리는 것과 반대의 개념에서 나온 것이죠. 네트워크 장비의 동작 방식을 사용자가 결정하고 투명하게 공개되어 있다는 의미에서 붙은 이름입니다. 이는 SDN의 개념 등장에 맞추어 브로드컴(Broadcom)에서 네트워크 전송부의 핵심 기능 칩셋을 네트워크 장비 회사에 판매하고 제어 방식을 공개하면서 활성화되었습니다.(기존에는 네트워크 장비 제조사에서 칩셋을 자체 제작하여 공개하지 않았습니다) 이 네트워크 칩셋을 이용해 작은 규모의 업체에서도 네트워크 장비를 값싸게 제작 공급을 하게 되었습니다. 데이터센터에서는 이 화이트박스 스위치와 SDN의 개념을 이용하여 레거시 장비 대비 획기적으로 낮은 단가에 데이터센터 네트워크를 구축할 수 있게 되었죠.
앞서 언급한 바와 같이 SDN의 핵심은 제어부와 전송부의 분리이며 중앙 제어 방식입니다. 즉, 하나의 제어부를 갖는 장비 또는 범용 컴퓨터 서버가 여러 개의 전송부 장비에 연결돼 전송부 장비로부터 데이터를 받은 후 이를 분석하여 최적의 경로를 전송부 장비에 내려줍니다. 여기서 새롭게 필요한 것은 제어부와 전송부와의 통신입니다. 기존 레거시 장비에서는 제어부와 전송부가 하나의 장비 내에 같이 탑재되었기 때문에 통신이 필요 없었습니다..
그러나, SDN에서는 제어부와 전송부와의 표준 통신(RPC) 규격이 필요합니다. 이 중 하나가 바로 오픈 플로우(OpenFlow)인데요. 이것은 전송부를 제어하기 위한 명령어(Match & Action) 및 네트워크 장비의 정보를 수집하기 위한 명령어로 이뤄져있습니다. 예를 들어, 전송부는 오픈플로우의 PortStats 또는 FlowStats를 통해 각 경로의 혼잡도를 제어부에 전달하고, 제어부는 이 정보를 바탕으로 최적의 경로를 오픈플로우 명령어(예시/ IP_DST: 192.168.0.10 -> Outport 10)를 통해 데이터 전송 경로를 전달합니다.
이렇게 좋은 SDN이 실제로 어느 분야에 사용되는 걸까요? 예제로 언급한 것과 같이 가장 먼저 사용된 분야는 WAN(Wide Area Network) 분야에서의 경로 최적화입니다. 서울에서 미국에 있는 서버까지 가장 빨리 가는 경로를 계산하여 데이터 전송 속도를 높이고, 사용자에게는 빠르고 고품질의 서비스를 제공하는 것입니다. 구글과 같은 전 세계로 서비스를 제공하는 회사에서 처음으로 적용하여 데이터 전송 성능을 크게 향상시켰습니다.
두 번째 분야는 데이터센터입니다. 앞서 언급한 바와 같이 데이터센터 내의 네트워크 장비를 SDN 컨트롤러와 화이트박스 스위치의 조합을 가지고 네트워크 구축 비용을 획기적으로 낮췄습니다. 동시에 데이터 센터내의 서비스 트래픽 특성을 파악하여 최적의 데이터 센터 네트워크를 제공합니다. 구글이나 페이스북과 같은 회사들도 이 기술을 이용하여 데이터 센터 구축 비용을 크게 절감하고 있습니다. 세 번째는 가상 네트워크 분야로, 하나의 네트워크를 여러 서비스에 동시에 각 서비스 전용(즉, 각 서비스는 해당 네트워크를 독점으로 사용하는 것처럼)으로 제공하는 것입니다.
SDN이 세상에 나온 지 6년이라는 세월이 흘렀습니다. 일반적으로 신기술의 평균적인 탄생과 소멸 주기를 고려해보면 SDN의 기술 자체는 이미 숙성기를 지났으며 적용기를 맞아야 합니다. 과거 많은 기대를 모은 기술들이 기술 자체는 성숙되었음에도 불구하고 실제로 적용되지 못하고 세상에서 사라졌습니다. SDN은 지금 그 기로에 서 있다고 할 수 있죠. 대규모 IT기업은 SDN을 데이터센터 및 WAN 영역에 적용하여 비용 절감은 물론, 성능을 향상시켜 어느 정도의 성공은 거두었다고 평가할 만합니다. 그러나, 여전히 텔코(Telco)망으로의 확산은 미미합니다. 당사 또한 올해 텔코망에 대한 SDN 스위치 도입 사업을 시작하였습니다. 향후 SDN 기술의 최종 성공 여부는 텔코망의 도입 성공 여부에 있다고 해도 과언이 아닐 것입니다.
최근에 SDN은 이러한 도입 정체의 타개를 위해 또 한번의 변화를 시도하고 있습니다. SDN 컨트롤러가 데이터를 분석하고 정책 결정을 하는 데 있어 AI 기술을 접목했습니다. 또한, 네트워크 운영자에게 최선의 정책을 제안하거나 SDN 컨트롤러 스스로 결정하는 방식에 대한 연구 개발이 그것입니다. 이를 SDN(Software Defined Network) to SDN(Self-Driving Network)이라고 합니다. 과연앞으로 SDN(Software Defined Networking)이 여전히 Still Does Nothing으로 남아 있을지, 아니면 Self-Driving Networking으로 진화하여 그 날개를 펼 수 있을지 텔코망에의 성공적인 안착 여부와 더불어 주목해야 할 점입니다.