0. SDN에 대한 공부를 시작하면서...
SDN... Software defined Network
소프트웨어 정의 네트워킹.
과거부터 신기술로 불려오며 여기저기 나오던 단어인데 드디어 정말 네트워커들에게도 곧 눈앞에 펼쳐지기 직전인것 같습니다.
저도 SDN에 대해서 듣기만 했었는데 이제 제대로 한번 SDN에 빠져들어보려고 합니다.
먼저 SDN? 왜 이게 등장했는지 알아볼까합니다. 중앙집중형? 빠른 응답? 프로그래밍가능한?... 많은 말들이 있습니다.
그렇다면 좀 더 SDN에 다가가기 위해서는 등장 배경에 대해서 알아보는 것도 중요할 것 같습니다.
1. SDN은 하루아침에 등장한 것이 아니다.
SDN은 다르게 말하면 프로그래밍 가능한 네트워크라고 볼 수 있는데, 이는 사실상 과거부터 쭈욱 시작되어왔었습니다.
http://www.cs.princeton.edu/courses/archive/fall13/cos597E/papers/sdnhistory.pdf
SDN History 에 대한 문서로.. 정신적 건강을 위하여 위 표만 보시는 것을 추천드립니다.라고 하지만...
The Road to SDN 이라는.. SDN의 역사를 다루는 문서이니... 한번쯤 읽을 수 있으신 분들은 읽어 보시는 것을 추천드립니다. 저는 못하겠습니다...
사실상 현재의 SDN은 2004년도 RCP[Routing Control Platform]으로 시작하였다고 보셔도 될 거 같습니다.
무겁고 하나하나의 설정을 튜닝해줘야 하는 BGP를 대체하려고 시도한 것으로 보여집니다.
RCP는 BGP-free를 목표로 tunneled network와 같은 edge 기준의 네트워크를 지향하는 것 같습니다.
관심이 있으시다면... 저도 매우 일부만 훑어보고 넘어갔습니다....어렵네요...
http://www.cs.columbia.edu/~lierranli/coms6998-8SDNFall2013/papers/RCP-NSDI2005.pdf
이러한 끊임없는 거의 10년이 넘는 시간의 노력 끝에 OpenFlow 가 탄생하게 됩니다.
OpenFlow는 SDN의 기술의 한 종류입니다. SDN = OpenFlow로 오해하시면 안됩니다.
2. SDN은 대체 누가 만들었나?
Scott Shenker, Nick Mckeown
적어도 이 두명은 한번쯤 봐두는게 좋을 것같습니다. openflow를 개발한 사람들은 이 둘을 포함하여 여럿있지만 차후에 생겨나는 ONF(Open Networking Foundation)조직의 주요 멤버입니다.
Nick Mckeown(좌)은 스탠포드 대학의 교수, Scott Shenker(우)는 UC 버클리의 교수입니다.
Nick Mckeown Scott Shenker
2008년 드디어 Openflow가 탄생하게 되었습니다. Openflow는 이렇다 하는 부분은 매우 기술적인 부분이 될테니 다음으로 넘겨두고,
SDN은 무엇인가 보다 왜 SDN인가? SDN은 왜 사용해야만 하는가? 라는 것이 더 중요한 부분일 것 같습니다.
아래 내용들은 현재 네트워크 구조가 가지는 문제점을 한번 이야기 해보겠습니다.
3. 기존 네트워크의 한계와 문제
- 토폴로지의 한계성
현재 네트워크는 트리구조의 형태로 서버-클라이언트의 전통적인 통신방식을 위한 토폴로지입니다.
과거에는 하나의 서버와 선택된 클라이언트간의 종속적 통신(1:1 or 1:n) 이라면 이제는 any-to-any의 매우 동적인 접속방식으로 접속 방식이 변화되었습니다.
- 기존 네트워크의 복잡성
기존의 네트워크를 바라보면 매우 복잡합니다. 특히 Protocol 과 Topology가 네트워크 규모의 증가에 대한 발목을 잡게 됩니다.
예를들어 기존의 환경에 장비를 추가하거나 이동한다고 생각해보면 현재의 네트워크 관리자에게는 당연한 일이지만
작게는 Vlan, ACL 부터 크게는 QoS,Routing Protocol, Firewall, Authentication 등 많은 것들을 모두 고려하거나 구성하여야 합니다.
이러한 정적(static)인 환경은 현재의 서버나 유저가 요구하는 동적(dynamic)인 방식과는 전혀 반대의 성향을 가지고 있습니다.
- 발목을 잡는 Protocol
수백,수천대의 네트워크를 확장하려면 해당하는 모든 장비(hardware)와 컨피그(software)를 각각 설정해야합니다.
계속해서 이러한 네트워크가 확장되면 일부를 수정하는 것이 아니라 전체 네트워크를 수정해야 할 경우도 있을 겁니다. 이런식으로 지속적이고 빠르게 장비가 추가되다 보면 당연히 ACL/Security/QoS 등의 설정은 매번 문제가 될 것이고 보안에 구멍이 생기는 등의 문제가 생길 수도 있는 리스크를 가지고 있습니다.
- 데이터 센터의 폭발적 증가와 트래픽의 변화
데이터 센터는 폭발적으로 사이즈가 늘어나고 있으며 서버의 가상화로 통신방식에 큰 변화가 생겼습니다. ( 더이상 호스트라는 말은 물리적 의미가 아니다라는 거죠 )
게다가 요즘의 서비스는 더이상 하나의 서비스가 아닌 IP 에 voice,data,video 의 여러가지 혼합 트래픽을 사용합니다. 이러한 이유들로 VM migration에 있어 과거(현재)의 네트워크 환경과 매우 많은 부분이 충돌하였습니다.
그렇다면 QoS 설정을 해 본 엔지니어라면 아실 겁니다. 이러한 혼합적 네트워크에 현재의 정적인 환경은 네트워크 규모의 폭발적인 확장에 따른 응대가 거의 불가능이라고 보는 것도 좋을 것 같습니다.
- 이러한 문제들은 대규모 네트워크(Datacenter)를 소유한 기업 ( google yahoo facebook ... )에게는 매우 빠르게 현실적 문제로 다가왔고, 병렬 프로세스 알고리즘을 통해 데이터 센터를 여기저기 분산시키는 방식으로 서비스를 유지했습니다.
하지만 데이터 센터의 확장과 동시에 end-user의 요구도 늘어났고(검색 서비스에 대한 즉각적인 응답), 이러한 변화에 대해서 HyperDataCenter가 필요해지게 되었습니다.(고성능/저비용/확장성) 하지만 이러한 HyperDatacenter는 기존 네트워크로는 한계가 있었습니다.
4. 눈부신 속도로 발전하는 SDN
그래서 앞에서 잠깐 말한 두명 Nick Mckeown과 Scott Shenker는 2011년 SDN의 표준화와 OpenFlow 기술 발전을 목적으로
Deutsche Telekom, Facebook, Google, Microsoft, Verizon, and Yahoo! 와 함께 ONF(Open Networking Foundation)를 조직했습니다. 또한 그 외 멤버들로 cisco juniper hp dell broadcom ibm 등.. 대부분 벤더들이 참여한 것으로 알고 있습니다.
돌이켜 보면 SDN은 기술발표 이후 3년만에 이렇게 빠르게 성장하였습니다. 1년 뒤 2012년 Open Network Summit 을 통해 약 1000명의 참석자들이 참석하였고, 2012년 초부터 Google은 데이터센터를 Openflow를 도입하기 시작하였습니다.
기술 개발 이후 단 4년만에 이렇게까지 활성화가 된 것을 보면 Datacenter를 운영하는 입장에서는 SDN이 선택이 아닌 필수가 아니었나 하는 생각이 듭니다.
SDN은 왜 등장하였고 무엇인가? – 1. 역사와 등장배경 http://ryusstory.tistory.com/271
SDN은 왜 등장하였고 무엇인가? – 2. 개념부터 정리하는 SDN http://ryusstory.tistory.com/273
SDN은 왜 등장하였고 무엇인가? – 3. 대세는 Platform http://ryusstory.tistory.com/274