도입 사례

이 장에서는 Ryu를 이용한 서비스 / 제품의 사례를 소개합니다.

Stratosphere SDN Platform (스트라토스 피어)

Stratosphere SDN Platform (이하 SSP)는 스트라토스 피어 사의 개발 소프트웨어 제품입니다. SSP를 이용하여 VXLAN, STT, MPLS 같은 터널링 프로토콜을 사용하여 Edge 오버레이 형식의 가상 네트워크를 만들 수 있습니다.

각 터널링 프로토콜은 VLAN과 상호 변환됩니다. 각 터널링 프로토콜 식별자가 VLAN 12 비트보다 크기 때문에 VLAN을 직접 사용하는 것보다 많은 L2 세그먼트를 관리 할 수 있습니다. 또한 SSP는 OpenStack과 CloudStack 같은 IaaS 소프트웨어와 함께 사용할 수 있습니다.

SSP는 기능을 수행하는 OpenFlow를 사용하고 있으며, 버전 1.1.4에서는 컨트롤러로 Ryu을 채택하고 있습니다. 이유로는 먼저 OpenFlow1.1 이상으로의 대응을 들 수 있습니다. SSP를 MPLS에 대응 시키는데 프로토콜 수준에서 지원하는 OpenFlow 1.1 이후 지원하는 프레임 워크의 도입이 고려되었습니다.

주석

OpenFlow 프로토콜 자체의 지원과는 별도로 구현이 선택적인 항목은 사용하는 OpenFlow 스위치 측의 지원 상황도 충분히 고려해야 합니다.

또한 개발 언어로 Python을 사용할 수 있는 점도 들 수 있습니다. 스트라토스 피어의 개발 Python을 적극적으로 사용하고 있으며, SSP 많은 부분이 Python으로 작성되어 있습니다. Python 자체 기술력의 높이와 친숙한 언어의 사용을 통해 개발 효율의 향상을 기대할 수 있었습니다.

소프트웨어로는 여러 Ryu 응용 프로그램을 만들어 REST API를 통해 SSP의 다른 구성 요소와 상호 작용합니다. 소프트웨어를 기능 단위로 여러 응용 프로그램으로 분할하는 기능을 통해 좋은 소스 코드를 유지하는데 있어 필수적이었습니다.

SmartSDN Controller (NTT 컴웨어)

「SmartSDN Controller」는 기존의 자율 분산 제어에 변하는 네트워크 집중 제어 기능 (네트워크 가상화 / 최적화 등)을 제공하는 SDN 컨트롤러입니다.

_images/fig12.png

「SmartSDN Controller」은 다음 두 가지의 특징을 가지고 있습니다.

  1. 가상 네트워크를 통한 유연한 네트워크 라우팅

    동일한 실제 네트워크에 여러 개의 가상 네트워크를 구축하여, 사용자의 요구에 유연한 네트워크 환경을 제공하고 시설 활용에 따라 설비 비용의 절감을 가능하게합니다. 또, 지금까지 개별적으로 정보를 설정 하고 스위치 라우터를 중앙에서 관리함으로써 네트워크 전체를 파악하고 고장이나 네트워크의 트래픽 상황에 맞는 유연한 경로 변경을 가능하게 합니다.

    서비스 이용자의 체감 품질 (「QoE」:Quality of Experience)에 주목하고, 통신이 흐르는 네트워크의 품질 (대역폭, 지연, 손실, 움직임 등)에서 체감 품질 (QoE)을 확인하고 더 나은 경로로 우회하여 서비스 품질 안정 유지를 실현합니다.

  2. 고급 보수 운용 기능으로 네트워크의 신뢰성 확보

    컨트롤러의 고장 발생시에도 서비스를 계속하기 위해 중복 구성을 실현 하고 있습니다. 또한 거점 사이를 흐르는 통신 패킷을 유사적으로 만들고 경로에 흘리는 것으로 OpenFlow 사양에 명시된 표준 모니터링 기능으로는 인식 할 수 없는 경로상의 고장의 조기 발견 및 각종 시험 (소통 확인, 경로 확인 등)을 가능하게합니다.

    또한 네트워크 설계, 네트워크 상태 확인은 GUI를 통해 시각화하고 보수의 스킬 레벨에 의하지 않는 운용을 가능하게하고, 네트워크 운영 비용을 절감합니다.

「SmartSDN Controller」의 개발에 있어서는 다음의 조건을 만족 OpenFlow의 프레임워크를 선정 할 필요가 있었습니다.

  • OpenFlow 사양을 포괄적으로 지원할 수있는 프레임워크
  • OpenFlow 버전 업에 추종을 계획하고 있기 때문에, 비교적 빨리 따라가는 데 대응이 가능한 프레임워크

이 중에서 Ryu는

  • OpenFlow의 각 버전의 기능을 두루 지원
  • OpenFlow 버전업에 따른 대응이 빠름. 또한 개발 커뮤니티가 활동적이고 버그에 대한 대응이 빠름.
  • 샘플 코드 / 문서가 충실함

등의 특징을 가지고 있기 때문에 프레임워크로 적합하다고 판단하여 채용했습니다.