'OpenSON'에 해당되는 글 3건

  1. 2016.10.27 OpenStack Summit 2016 Barcelona Presentation
  2. 2016.08.03 What is OpenSON
  3. 2016.07.13 OpenStack meet OpenSON (2)

OpenStack Summit 2016 Barcelona Presentation

Software Defined Network/Develop_SDN 2016.10.27 04:53

OpenStack #vBrownbag presentation


No more Network Node: OpenSON-Fully SDN based OpenStack Networking





In this talk, we present OpenSON, a fully SDN-based networking solution, which implements OpenStack networking on virtual switches in compute nodes without a network node. Network functions such as DHCP, SNAT, DNAT and L3 routing are typically executed on a network node in a traditional OpenStack environment. OpenSON, however, eliminates the dependency on the network node by implementing those functions as distributed flow rules on virtual switches in the compute nodes hosting relevant virtual machines. As a result, this approach supports better L3 scalability and high availability.

Moreover, the SDN-based networking approach enables to integrate the control of both overlay networks for virtual networking and underlying physical networks, which enhances the network visibility and facilitates the introduction of network applications such as network monitoring.


Trackbacks 0 : Comments 0

What is OpenSON

OpenStack/Develop_OpenStack 2016.08.03 11:33

OpenSON (Open Softwarized Networking platform)


OpenSON은 지역적으로 완전하게 분리된 데이터센터간 네트워킹을 위한 서비스로 그 중심에 OpenStack 과 SDN Controller가 존재한다.


또한, 데이터센터간의 네트워킹은 Transport Network을 사용하는 모델이다.


처음에는 매우 간단한 생각으로 시작이 되었다.


"서로 떨어진 데이터센터 사이에 네트워킹이 Fully OpenFlow 환경으로 지원 되려면 어떻게 하여야 할까?"


"예를들어 데이터센터 01에 생성된 VM01 (10.0.0.10) 과 데이터센터 02에 생성된 VM02 (10.0.0.20) 은 private IP를 가지고 네트워킹이 되어야 하는거지..."


"OpenStack Networking 에서 문제가 된 부분을 어떻게 해결할까? Bottle-Neck 문제, performance 문제 말이야.."


"Fully OpenFlow 에 굳이 SDN Controller가 필요한가요? 그냥 Neutron 사용해도 문제될 것은 없잖아요."


쉽게 말하면 이런 모델에 대한 토론이 시작된 것이다.




실로 오랫만에 불꽃이 튀는 순간이었다.



OpenSON Overview



OpenSON은 세부적으로 다음과 같이 정리된다.


  • OpenSON-MDCM
    • MDCM은 Multi Domain Control and Management의 약자
    • OpenStack REST API 사용
    • 지역적으로 분산된 데이터센터간 Transport Network Privisioning
    • 지역적으로 분산된 데이터센터에 Virtual Network, Virtual Machine, Virtual Router Provisioning
      • Global Tenant Network
      • Global Virtual Network


  • OpenSON-SDN
    • 하나의 데이터센터 내부의 Virtual Network 관리 (OpenStack Data Network management)
    • Fully OpenFlow based
    • ML2, ML3
    • Network Bottle-Neck Solutions
      • Without OpenStack Network Node
      • Without OpenStack L2, L3 neutron Agent


  • OpenSON-TSDN
    • 데이터센터간 Transport Network Management
    • Optical Network Elements Management
    • Fully OpenFlow based
    • Model Driven Service Abstraction Layer

그림으로 살펴보면 다음과 같다.



사용자는 MDCM을 통하여 데이터센터간 Transport Network 을 Tenant 별로 생성하고 각 데이터센터에 Virtual Network 및 VM을 Provisioning 한다.

Datacenter 01 및 Datacenter 02 에 생성된 VM(서브넷이 동일한) 은 개념적으로 같은 Virtual Network 이다.

Datacenter 01 및 Datacenter 02 에 생성된 각 VM은 서로 네트워킹이 가능하다.


OpenSON-MDCM


"지역적으로 완전하게 분리된 Datacenter 에 가상 네트워크 및 자원을 통합관리 할 무엇인가가 필요해"

OpenStack은 다행스럽게도 RESTful 기반으로 동작한다. (시간이 지날수록 다양한 REST API가 지원된다.)

MDCM은 Multi Domain Control and Management 의 약자로서 REST를 기반으로 각 데이터센터에 가상자원을 프로비저닝 한다.



OpenSON-TSDN


"각 데이터센터는 Transport 망으로 연결되는거야... 각 데이터센터 마다 Gateway를 하나씩 만들어서 연결하는거지..."


MDCM으로 부터 테넌트 생성에 대한 정보가 발생하면 이를 위한 Transport Network 을 생성한다.




OpenSON-SDN



"각 데이터센터에 걸친 가상 네트워크를 만들고 같은 서브넷에 속한 VM 들은 private IP를 가지고 통신하는거야."


MDCM으로 부터 가상네트워크 생성 호출이 발생하면 VNC (Virtual Network Control)는 GW에 OpenFlow Rule을 적용한다.


물론 각 데이터센터에 위치한 CSDNCM (Cloud SDN Control and Management)은 ML2/ML3 를 통해 각 데이터센터의 가상 자원 정보를 알 수 있다.



MDCM 은 데이터센터에 걸쳐 생성된 가상네트워크 (같은 서브넷)에 VM을 생성한다. (VM의 IP는 중복되지 않도록 제어한다.)


CSDNCM은 ML2/ML3 플러그인을 통해 할당된 VM의 정보를 바탕으로 pro-active 방식으로 OpenFlow Rule을 적용한다.


서로 다른 데이터센터의 VM이 통신을 하기 위해서 GW를 거쳐야 하기 때문에 VNC는 이에 대한 OpenFlow Rule을 적용한다.





'OpenStack > Develop_OpenStack' 카테고리의 다른 글

What is OpenSON  (0) 2016.08.03
OpenStack meet OpenSON  (2) 2016.07.13
Trackbacks 0 : Comments 0

OpenStack meet OpenSON

OpenStack/Develop_OpenStack 2016.07.13 15:51

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>

'OpenStack > Develop_OpenStack' 카테고리의 다른 글

What is OpenSON  (0) 2016.08.03
OpenStack meet OpenSON  (2) 2016.07.13
Trackbacks 0 : Comments 2