빌노트의 노트

오픈소스를 활용한 OpenFlow 이해하기 'SDN 입문' (신개념 네트워크) 본문

IT책

오픈소스를 활용한 OpenFlow 이해하기 'SDN 입문' (신개념 네트워크)

빌노트 2014.05.14 00:49

SDN, 오픈소스를 활용한 OpenFlow 이해하기 SDN 입문,네트워크, 영진닷컴,openflow ,오픈플로우, 컨트롤러,오픈소스

 

오픈소스를 활용한 OpenFlow 이해하기 - SDN 입문

 

컴퓨터 관련 일을 한다고 해서 모든 기술을 다 아는 것은 아니다.

특히 내가 가장 취약한 부분이 데이터베이스와 네트워크인데

데이터베이스는 부서를 옮기면서 어쩔 수 없이 친하게 되었지만, 네트워크는 정말로 잘 모르겠다.

네트웍이란 것이 워낙 고가의 장비를 만지는 일이고 무엇보다 노하우가 중요하다보니 그런가...

이번에 정말 야심차게 네트워크 관련 신기술 서적을 읽어보았다.

SDN이 뭔지, OpenFlow가 뭔지 이제야 조금 알겠다.

 

 

Part 1. 네트워킹의 거대한 전환
Chapter 1. 네트워크의 역사
Chapter 2. 네트워크 패러다임 쉬프트
Chapter 3. SDN을 이용한 다양한 활용 예
Chapter 4. SDN의 동작 방식의 이해

Part 2. OpenFlow Controller 알아보기
Chapter 5. OpenFlow 기본 학습
Chapter 6. OpenSource Controller 준비하기
Chapter 7. 가상 네트워크 구성하기

Part 3. OpenSource Controller 사용하기
Chapter 8. NOX Controller
Chapter 9. POX Controller
Chapter 10. Floodlilght Controller
Chapter 11. OpenDaylight Controller

Appendix) RouteFlow

 

 

 

 

우리가 처음 인터넷을 사용할 때만해도 네트워크라는 곳이 이렇게 붐이는 곳이 아니었다.

그냥 단순한 텍스트를 전달하는 것이 고작이었고, 기껏해야 사진 몇 장 보내는 것이 전부였으니까.

하지만 지금은 많이 달라져서, 동영상 스트리밍 서비스같은 고용량을 전송이 일상처럼 되어버렸다.

그러면서 현재 네트워크 구조의 한계와 문제점들이 하나씩 드러났는데

'운영 자동화와 중앙관리의 어려움', '효율과 비용 문제', '개별 처리로 인한 네트워크 복잡성 증가'가 그것이다.

 

 

시대의 변화에 따른 네트워크 영역에 요구되는 변화에 적절히 대응하기 위해서는 매우 유연한 네트워크 장비 구조가 필요합니다. 지금까지 네트워크 장비 제조사에서 다양한 요구사항들을 해결하기 위한 부분적인 시도들을 진행하였지만, 이제는 현재의 네트워크 구조에서 감당할 수 없음을 인정하고 새로운 방식의 변화를 시도하고 있습니다.

이러한 노력 중 하나에 SDN이 있습니다. SDN은 초기 스탠퍼드 대학에서 캠퍼스 네트워크의 구조를 바꾸기 위해 시작되었지만 이후, 이에 대한 가능성을 확인하여 통신서비스 사업자와 기업 네트워크의 유연성 및 효과적인 관리 기능을 제공하는 기술로 인식되고 있습니다. SDN의 가장 중요한 목표는 하드웨어 중심의 Black Box 시장을 소프트웨어 기반의 유연하고 지능적인 White Box 시장으로 전환시키는 것입니다. 이를 통해 그동안 기존 네트워크 구조에서 제공하지 못했던 운영의 효율성과 확장성, 그리고 가용성을 제공하는데 그 목표가 있습니다. (P.35)

 

SDN, 오픈소스를 활용한 OpenFlow 이해하기 SDN 입문,네트워크, 영진닷컴,openflow ,오픈플로우, 컨트롤러,오픈소스

 

SDN'Software Defined Networking'의 약자인데

기존의 하드웨어로 구현 된 네트워크 장비의 기능 중 유연성이 필요한 부분을 소프트웨어로 구현하자는 것이 핵심이다.

 

 

데이터 전송을 담당하는 Data Plane 영역(하드웨어 영역)

운영체제 기능을 담당하는 Control Plane 영역(소프트웨어 영역)

네트워크 지능화 기능을 담당하는 Application 영역(소프트웨어 영역)

 

기존 네트워크 장비에서는 위 3가지 영역을 모두 하드웨어로 구현했었다면

SDN 아키텍쳐에서는 Control과 Application 영역을 SW로 구현하라고 말한다.

 

 

 

네트웍 장비를 팔아먹던 시스코같은 기존 네트워크 벤더들은 SDN같은 신기술이 등장하면 위기를 느끼기 마련이다.

하드웨어 속에 꼭꼭 숨겨둔 자신만의 기술에 대항하여 오픈소스 진영에서 덤비니 기분이 좋을리 없다.

아직은 SDN이 큰 유행을 타는 것은 아니지만 앞으로는 어떻게 될지...

변해야 살아남는 IT시장에서 네트워크 장비의 강자들이 어떻게 나올지 정말 궁금하다.

 

 

SDN과 같은 기술이 아무리 뛰어나다 하더라도 사용하고 있는 곳이 없다면 완전 꽝이다.

하지만 세계에서 인터넷 트래픽이 가장 많은 기업인 구글(Google)과 같은 기업에서 이미 적용했다면 상황은 달라진다.

거기에다 회선사용률을 95%까지 올렸다면... 대박이다!

이렇듯 상용 SDN UseCase의 모범 사례가 하나 둘씩 나오는 것으로 봐선

우리나라에서도 조만간에 유행할 것 같은 기분이 살짝 든다.

 

 

 

SDN, 오픈소스를 활용한 OpenFlow 이해하기 SDN 입문,네트워크, 영진닷컴,openflow ,오픈플로우, 컨트롤러,오픈소스

 

SDN이 개념적인 아키텍쳐라면 OpenFlow는 통신을 하기 위한 프로토콜(Protocol)이라고 볼 수 있다.

 

OpenFlow출처:http://archive.openflow.org/

 

위 그림은 오픈플로우 사이트에서 퍼온 것인데

아마도 OpenFlow의 개념을 가장 잘 설명하는 그림이 아닌가 싶다.

 

진짜 간단하게 설명을 하면

Switch에 패킷이 들어오면 우선 FlowTable을 살펴봅니다.

이미 정보가 있다면 FlowTable을 참조하여 패킷을 전달하면 그만이지만

없으면 OpenFlow을 이용해서 SW로 구현된 Controller에서 어떻게 처리를 할지 물어보고

FlowTable에 정보를 등록하고 패킷을 처리합니다.

 

하드웨어적으로 Controller의 기능을 구현을 했다면, 기능변경 시 일일이 장비의 설정을 고쳐줘야 하지만

(또한 벤더들 간 호환도 문제가 될 것으로 보인다.)

소프트웨어적으로 Controller을 구현하면 중앙에서 이 모든 것을 통제할 수 있다.

한마디로 유연해서 유지보수에 유리하고 최적화에도 좋다는 것이다. (직접 사용해보지는 않았지만...)

 

 

 

이 책은 이론에 그치지 않고 직접 작업환경을 구축해서 따라해볼 수 있게 되어있다.

VM image, Virtualization Software, X server, SSH 접속 프로그램 등등 ...

 

 

 

OpenFlow Controller의 종류

NOX, POX, Project Floodlight, Open Daylight ...

 

 

개인적으로 C++과 Python 언어에 익숙해서 NOX Controller중심으로 읽어보았다.

 

 

SDN, 오픈소스를 활용한 OpenFlow 이해하기 SDN 입문,네트워크, 영진닷컴,openflow ,오픈플로우, 컨트롤러,오픈소스

 

 

비주얼하게 눈으로 확인하며 Topology를 재배열 할 수 있다는 것에 신기했고

컨트롤에 심은 소스를 보고 있자니 나도 여기 프로그래밍하고 싶다는 생각이 잠시 들었다.

(소스에 대한 해석이 달려있어서 분석하는데 큰 무리가 없을 것 같다.)

 

 

마지막은 OpenFlow망과 Legacy망을 연동하는 RouteFlow를 설명하면서 끝이나는데

어쩌면 지금이 Legacy에서 OpenFlow로 가는 과도기거나

앞으로 서로다른 두 망에서 공존해야 한다면 RouteFlow라는 것이 정말 필요한 기술이 아닐까 싶다.

 

앞으로 네트워크 시장이 어떻게 될지는 모르겠지만

컴퓨터업에 종사하는 사람이라면 SDN, OpenFlow라는 말을 앞으로 점점 더 많이 듣게 될 것 같다.

남들이 잘 모를 때 처음 ERP(특히 SAP)관련 일을 하는 기술자들이 고액의 연봉을 받았듯이

남 몰래 공부한 신기술이 당신의 앞날을 밝게 할 것이라는 믿음을 가지며 리뷰를 마무리를 해야겠다.

엔지니어, 프로그래머들이 더 행복해지는 그날까지 굿럭!  

 


10 Comments
댓글쓰기 폼