본문 바로가기

Cloud Native/Develop_OpenStack

What is OpenSON

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을 적용한다.





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

OpenStack meet OpenSON  (2) 2016.07.13