본문 바로가기

Cloud Native/Develop_OpenStack

OpenStack meet OpenSON

OpenStack meet OpenSON-SDN


OpenSON은 Open Softwarized Networking의 약자로 그동안 열심히 만든 시스템을 지칭하는 이름이다.


특히 SDN 기반의 시스템을 세부적으로 OpenSON-SDN이라고 한다.


OpenSON-SDN의 역사는 OpenIRIS 로 부터 시작된다.

(OpenIRIS 기반의 Networking Solution을 iNaaS : OpenIRIS Network as a Service 라고 하였다.)


Naming History: OpenIRIS -> iNaaS -> OpenSON




OpenStack의 Network 문제점 중 하나는 Network Node로 L3 트래픽이 몰려 병목현상이 발생한다는 것이다.



<OpenStack Network Node Bottleneck, http://www.slideshare.net/gampel/dragonflow-sdn-based-distributed-virtual-router-for-openstack-neutron>


쉽게 그림으로 설명하면 위 그림과 같다.


특히 Cloud Network 환경에서의 East-West/North-South 트래픽의 폭발적인 증가는 Network Node를 더욱 힘들게 하고 있다.




위와 같은 문제에서 OpenSON-SDN의 접근 방법은 간단하다.


Network Node 대신에 각 Compute Node의 OVS에서 해당 일을 각자 처리하면 간단하게 풀린다.


물론 OpenSON-SDN Controller를 사용하였을 때 이야기다.



<OpenStack with OpenSON>


위 그림과 같이 Flow Rule을 각 컴퓨트 노드의 OVS에 적용하여 각 컴퓨트 노드의 OVS가 L2/L3 처리를 하는 것이다.





결과적으로 OpenSON-SDN은 OpenStack의 Network Node를 완전하게 제거하여 Network Node로 몰리던 L3 트래픽을 분산처리 한다.



<OpenStack with OpenSON Environment - each VM's network traffic 1G>


VM 2개가 외부 네트워크의 파일을 다운로드하는 경우 라인스피드 보장




<OpenStack Environment - each VM's network traffic 500M>


VM 2개가 외부 네트워크의 파일을 다운로드하는 경우 라인스피드 감소


Network Node를 사용하면 L3 트래픽이 Network Node를 통하기 때문에 VM의 숫자만큼 스피드를 나누어 쓰게 된다.




OpenStack 에서는 Namesapce를 사용하기 위해서 Linux Bridge의 veth-pair를 사용한다.


Linux Bridge를 사용하게 되는 경우 veth-pair를 사용하게 되는데 performance의 차이가 발생한다.



<OpenStack virtual bridge>


관련 내용은 http://www.opencloudblog.com/?p=96 을 참조하면 된다.



<Switching Performance - Connecting Linux Namespace, http://www.opencloudblog.com/?p=96>


OpenSON-SDN은 OpenvSwitch internal ovs port(TAP Device)를 사용한다.

 


<OpenSON-SDN virtual bridge>

'Cloud Native > Develop_OpenStack' 카테고리의 다른 글

What is OpenSON  (0) 2016.08.03