요즘 SDN – Software Defined Network 이야기가 봇물을 이루고 있다. 거기서 한발 더 나아가 SDDC( Software Defined Data center)라는 이야기까지 종종 들린다 .물론 장비를 팔아야 하는 네트워크 벤더 들이나, 이슈 메이커들, 클라우드 솔류션 업체들, it 언론 쪽에서는 엄청나게 대단한 이슈이기는 하다. 서버 가상화 , 스토리지 가상화에서 네트워크 인프라까지 가상화 하는 이야기 가 SDDC(soft ware Defined Data center) 이야기가 얼마나 대단한 이야기 인가.
그러나 우리 회사의 경우 서버 가상화야 열심히 팔고 있는 데이타 센터 업체 이지만, 그리고 스토리지 가상화는 사내 클라우드 서비스 이외 모든 전산 자원의 백업용 스토리지로 사용 하고 있지만, SDN(Software Defined Network) 에 대해서는 아직은 미적 거리고 있고, 회사내 연구팀은 꾸려져서 스터디 중이기는 하나 SDN에 대해서 회의적인 입장을 견지 하고 있다. 우리 회사의 입장에선는 현재까지는 계륵같은 이슈거리다. 시끄럽기는 한데 먹자니 아직은 떨떠름 한 떫은 감같은 느낌의 이슈. 그러나 언젠가는 잘 익혀 먹어야할 감같은 존재다
이 글에서는 SDN 이 무언지에 대해서 그리고 왜 나는 SDN에 대해 우려하고 있는지그리고 우리 회사는 어덯게 갈 것인지에 대해 이야기 하고자 한다.
SDN (Software Defined Network) 소프트웨어 정의 네트워크
소프트웨어로 정의하는 네트워크다. 기존의 네트워크는 물리적 네트워크 인프라 기반에 의해 제어 되었다-다시 말해 기존의 데이터 센터 내에서 네트워크는 기본적으로 하드웨어 자원의 물리적 위치에 의해서 네트워크 가 구분 되어 있다. 그러한 데이터 센터의 네트워크위에에 가상화되어 있는 별도의 네트워크 레이어를 위에 올려 가상화 네트워크를 정의하고 운영 하겠다는 의미 이다. 물리적인 네트워크는 실제 공간상의 한계를 가질 수 밖에 없으나 그 위에 가상화된 네트워크를 올려서 공간적인 제약을 벗어나고, 소프트웨어 적으로도 편한게 관리 운영 할수 있는 네트워크를 꿈꾸며 나온 컨셉이다.
기존의 tcp /ip 프로토콜 네트워크 기반위에 네트워크 가 운영 되고 있었다면, 라우팅의 한계, vlan의 한계, layer2 mac 브로드 캐스팅의 한계가 발생한다. 특히 틀라우드 서비스의 경우 고객의 가상화된 서버를 별도의 가상화된 vlan으로 묶어 통합하려는 need, 물리적인 한계를 넘어 가상화된 논리적인 네트워크로 운영할수 밖에 없는 니드를 무시하기는 쉽지 않다.
그와 관련한 기술적인 내용은 구글링을 하시라. SDN 과 관ㄹ현항 다양한 이야기와 다양한 설들 그리고 다양한 도큐먼트가 존재 하고 있다.
https://www.google.co.kr/?gfe_rd=cr&ei=MbHaVLHzLOmT8Qftk4CwCA&gws_rd=ssl#newwindow=1&q=sdn
소프트웨어의 특징은 원하는 구조를 유연하게 정의하여 개발 할수 있다. 만일 하드 웨어 형태로 구현하려면 많은 시간과 노력 그리고 기술적인 제약이 있기 때문에 쉽지 않은 것을 소프트웨어 형태로 구현 하겠다는 이야기 이다.
하드웨어 네트워크가 표준화하여 규정된 정의나 프로토콜을 주문형 반도체 형태의 하드웨어 형태로 만들어 낸 것이기에 상황에 따른 유연한 제어 자체가 불가능 한 반면 소프트웨어 정의 네트워크난 네트워크의 트래픽 흐름을 소프트웨어로 제어 하기 대문에 능동적인 프로그래밍과 운영이 가능 하다고 이야기 한다. 간단한 정의가 SDN은 소프트웨어 정의에 의한 패킷 포워딩이라는 것이다. SDN으로 네트워트를 운영한다면 이론 데로 라면 유연하고 능동적인 네트워크 관리가 될것이다. 고객 별로 별도의 분리된 네트워크를 주게되고, 고객 별로 별도의 로드 밸런싱을 구현 하고, 보안적으로도 우수한 네트워크 서비스 제공이 가능 할 것으로 보여 진다.
일반적인 하드웨어 기반의 네트워킹 장비는 대용량의 빠른 패킷 전달에 특화 되어 있다. 패킷의 관리 및 전달이 ASIC 칩에 정의된 바에 의해서 포워딩이 되며 CPU의 사용 은 거의 자재 하는게 하드웨어 네트워크 이다. 쉽게 말해 인체로 비유하면 무조건 반사의 개념이라 생각 하면 된다. 사람이 넘어질때 자동적으로 손을 짚어서 큰 상해를 피하는 것 처럼, 하드웨어 네트워크는 패킷이 들어오면 CPU 의존은 거의 없이 ASIC이 패킷의 헤더 부분을 이용해 신속하게 포워딩하므로서 패킷을 바르게 처리 할수 있는 구조이다. 그러나 ASIC에 구워서 네트워킹을 처리 하려니 개발도 쉽지 않을 뿐더러 운영도 유연하지 않을 수 밖에 없다.
반면 SDN은 소프트웨어 기반으로 패킷을 처리 하다 보니 CPU 의존 적이다. 따라서 정상적인 수준의 패킷이 흐를때는 패킷 처리에 무리가 없으나, 세션이 조금이라도 많아 지고 공격적인 패킷이 끼게 되면 순식간에 네트워크 다운으로 이어 질수 있다. 실제로 cpu 의존적인 네트워크 서비스들이 세션 처리의 문제에서 많은 문제점들이 보고 되고 있다. 일반적인 웹 세션 처리는 문제가 되지 않으나 , 게임 서비스나 채팅 서비스 등에서 문제가 되고 있고, 악성 패킷이 조금이라도 늘 경우 시스템이 다운 되는 현상들이 실제 로 보고 되고 있다. 거기에 클라우드 서비스의 로드 밸런서의 경우 L7 프록시 형태로 밸런싱을 하다 보니 모든 장애의 근원이라는 소리까지 들리고 있는 실정이다.
다시말해 지속적으로 스터디를 하고 삽질을 해야 하는 사안임에는 분명 하지만 실 서비스에 소프트 랜딩 하기 까지는 시간이 많은 이슈로 보인다. 단순히 CPU 로만 처리 하는 것보다 일정 정도의 ASIC 의 도움을 받아 퍼포먼스를 높이는 형태가 될것 으로 보인다.. 대표적으로 ONIE 스위치. 요즘 네트워크 벤더들이 이구 동성으로 ONIE 혹은 open flow 지원 혹은 open stack 지원을 부르짓는다, 단순히 CPU단이 아니라 데이타 센터 네트워크 스위치에서 가상화를 지원하고 이에 대한 연구 개발이 활발히 이루어 지고 있는 추세다.
아마도 단 시일내에 SDN이 자리 잡기는 쉽지 않지만, 장기적으로는 SDN이 대세가 될것이다. 그때까지 우리가 할일은 삽질 또 삽질일 것으로 보인다.. 언젠가는 울 회사도 SDDC 라 선언 할지도 모른다. 아마도 국내에서는 가장 먼저 선언 할지도 모르겠다.
참고로 우리 회사는 세계 최대의 ONIE 스위치 하드웨어를 제조하는 edgecore의 십년 단골 회사이며, 조만간 스위치 판매에도 나설 예정이다.
http://edge-core.com/prodcat.asp?c=1
[polldaddy rating=”7739789″]