알림

※ 뉴스레터를 발행합니다. 다양한 글을 좀 더 빨리 읽으시려면, 구독해 주세요. '구독'은 글 쓰는 데 큰 힘이 됩니다. 감사합니다!

Monday, March 20, 2017

미래의 네트웍 기술 SDN (Software-Defined Networking)


  • SDN이란?

OpenFlow 기술을 기반으로 더 확장된 개념으로 네트워킹 기술을 컴퓨팅 기술로 모델링하여 프로그램(소프트웨어)에 의하여 네트워크 제어 및 관리를 용이하게 한다. 아래와 같이 3가지의 추상화(abstraction)에 기반하고 있다.

- Forwarding: OpenFlow
- Distribution: Network O/S
- Control

SDN(Software-Defined Networking)의 정의는 제어 플레인(Control Plane)을 데이터 플레인(Data Plane)에서 분리하는 것보다 네트워크 장비에 대한 프로그램 가능한(Programmable) 인터페이스 제공에 더 비중을 두고 있다.

중앙집중형 제어, 프로그램 가능한 인터페이스, 오케스트레이션(자동화 도구들과 통합)을 특징으로 가진다.

SDN 기술의 목적은 네트워크를 간소화시키고 네트워크가 다른 데이터센터 자원(서버, 스토리지 등)에 대한 가상화로 가능하게 된 변화의 속도를 따라잡는 데 도움을 주는 것이다.

  • SDN 관련 조직

초기 스탠포드 대학이 시작했던 OpenFlow 기술이 2011년 상용화를 위해서 ONF (Open Networking Foundation)이 란 단체가 생겼다. ONF는 회원제 조직으로 Deutsche Telekom, Facebook, Goldman Sachs, Google, Microsoft, NTT, Verizon, Yahoo로 구성된 Board Members와 장비, 서비스 사업자, 소프트웨어 등 80여개 회사의 일반 멤버(회원사)로 구성되어 있다. 회원 현황은 아래 사이트에서 확인할 수 있다.
https://www.opennetworking.org/membership/members
국내 회원사로는 KT, SK Telecom, Samsung, ETRI 가 가입되어 있다.

또한, 회원사, 비회원사, 학계가 연계되어 컨퍼런스와 네트워킹을 하는 ONS (Open Networking Summit)과 같은 컨퍼런스 행사도 있다.

Google: OpenFlow의 내부 백본 적용 경험 (사용자 서비스 네트웍에는 미적용)
NEC: 스위치, 컨트롤러 사용 제품 개발, 네트웍 가상화 기술 기반 SDN 적용
NTT: 글로벌 클라우드 구축을 위한 SDN 실제 적용 (미국-일본 간 OpenFlow 테스트베드)

  • SDN의 모델

SDN의 모델은 컴퓨팅의 계층화(Layered)되고 가상화(Virtualized)된 아키텍처에 가깝다. 상단의 여러 Control 프로그램들은 오픈 형태이므로 원하는 어떤 형태로든 구현이 가능하다.


아래 OpenFlow에서 설명한 바와 같이, 제어 플레인(Control Plane)데이터 플레인(Data Plane)에서 분리하여 네트워크 제어가 패킷을 전달(Forwarding)하는 기기에서 분리하여 컨트롤러(Controller)로 중앙 집중화된다.

  • SDN의 구성 요소

 컨트롤러(Controller)

✓ 컨트롤러는 네트워크 프로그래밍 모델을 분산 모델에서 중앙집중형 모델로 변경한다.
✓ 컨트롤러는 스위치, 라우터, 방화벽, 로드밸런서와 같은 하부 네트워크 구성 요소들을 추상화(abstract)한 미들웨어(middleware) 처럼 동작한다. (Application <-> Controller <-> Network Devices)
 - 외부(northbound) 통신: Application <-> Controller
 - 내부(southbound) 통신: Controller <-> Network Devices

 스위치(Switch)

✓ Smart network edge: 소프트웨어 스위치가 네트워크 에지에 배치
✓ 컨트롤러는 API를 제공 (REST API)

 오버레이(Overlay)

✓ GRE와 비슷한 개념으로 '패킷 속의 패킷' 기법으로 프레임이나 패킷이 캡슐화된다.
 - VXLAN: L2 레이어 프레임을 L3 UDP 패킷 내부에 캡슐화
✓ 오버레이 활용: L2 확장, 멀티 테넌시 지원
✓ VXLAN은 BUM(Broadcast, Unknown unist, Multicast) 트래픽을 전송하기 위해 IP 멀티캐스트에 의존적
✓ 대체 기술: 마이크로소프트 NVGRE, VMware STT, NVO3

  • SDN Language

네트웍 기술을 보다 쉽게 개발하기 위해 고급 프로그래밍 언어인 Frenetic, Nettle 과 같은 언어들도 개발되고 있다.

  • SDN 발전 트렌드

NDDI: Indiana University, Internet2, and the Clean Slate Program at Stanford University이 파트너쉽을 통해 OpenFlow의 첫 production deployment를 위해 추진 중이다.


  • OpenFlow란?

네트워크 장비의 패킷 포워딩 기능과 컨트롤러 기능을 표준 인터페이스로 분리하여 네트워크 개방성을 제공하는 기술로, SDN 기술의 기반이 됨.

OpenFlow 기술은 스탠포드 대학의 미래 인터넷 연구 (NSF Clean-Slate Program)의 주요 결과물 중 하나로, 네트웍 스위치나 라우터의 Data PlaneControl Plane 기능을 분리하고 이들 두 기능 간의 통신을 위한 프로토콜을 제공한다. 그리고, OpenFlow Controller(서버)가 네트웍 벤더에 무관하게 스위치의 패킷 경로를 결정할 수 있는 기술을 제공한다. OpenFlow는 네트웍 장비 벤더나 종류에 상관없이 Flow Table(보통 TCAM을 사용해서 지원)을 개방형 프로토콜에 따라서 쉽게 프로그래밍할 수 있다.
2012년 4월 현재 OpenFlow 1.3.0 규격이 승인되었다.


OpenFlow의 Flow Table은 아래와 같이 구성되어 있다.

  • OpenFlow 스위치

OpenFlow 스위치는 전용 스위치와 기존 스위치에 OpenFlow 기능을 추가한 OpenFlow 범용 스위치로 구분할 수 있다. 현재는 라우팅 프로토콜에 의해서 패킷 경로가 결정되어 사용자가 원하는 경로로 패킷을 전달하기 어렵지만, OpenFlow에서는 여러개의 OpenFlow 스위치를 한 개의 Controller에 의해서 중앙 집중 관리하므로 패킷 경로 제어가 가능하다. 따라서, 네트웍 상태, QoS 등에 의하여 패킷 경로를 쉽게 제어할 수 있다.


  • OpenFlow 스위치 벤더

1. 사용 스위치 벤더
Brocade: MLX, XMR, CES, CER -> acquired by Extreme Networks
Cisco Systems: Nexus series
Extreme Networks: All switches (Partnership with NEC, Big Switch Networks)
Juniper Networks: MX series
HP: Procurve 5400
NEC: IP 8800

2. 컨트롤러 벤더
Big Switch Networks: -> acquired by Arista Networks
NEC: ProgrammableFlow
VMware (Nicira Networks): 



No comments:

Post a Comment