사전적 의미 : OpenFlow 프로토콜 및 관련 기술 표준화를 목적으로 하는 오픈 소스 비즈니스 모델을 사용하는 비영리 운영자 주도 컨소시엄인 ONF(Open Networking Foundation)에 의해 정의
네트워크 리소스를 최적화하고 변화하는 비즈니스 요구, 애플리케이션 및 트래픽에 신속하게 네트워크를 채택하는 데 도움이 되는 네트워크 가상화 및 컨테이너화에 대한 접근 방식
SDN은 네트워크의 제어와 데이터 평면을 분리하여 소프트웨어 프로그래밍 가능 인프라를 만드는 방식으로 작동한다.
쉽게 말하면, 소프트웨어 애플리케이션과 API를 이용하여 네트워크를 프로그래밍하고, 중앙에서 전체 네트워크를 제어하고 관리하는 것이다.
SDN 동작 방식
SDN에서 가장 핵심은 네트워크 장비의 Control Plane(제어부)와 Data Plane(전송부)의 분리이다. Control Plane은 네트워크 장비를 제어하는 뇌에 해당하고, Data Plane은 데이터를 전송하는 역할을 한다.
기존의 라우터(Router) 장비에는 제어부와 전송부가 같이 존재한다. 제어부에서 최적의 경로를 계산하고 전송부가 데이터를 전송하는 방식이다. 그래서 각 라우터마다 local forwarding table를 가지고 있었다.
SDN을 적용하면 제어부와 전송부를 분리한다. 제어부를 별도의 컴퓨팅 서버로 분리하고, 네트워크 장비는 데이터 전송 기능만 담당하도록 하는 것
SDN 장점
1. 비용 절감
SDN이 적용되면 두 기능이 분리됨
장비 사양 또한 각 기능에 최적화
제어부가 여러 네트워크 장비를 제어하여
전체 네트워크 인프라 구축 비용이 훨씬 낮아질 수 있다.
2. 확장성 및 유연성
"가상화"라는 기술을 설명할 때 항상 따라오는 장점이다.
SDN 또한 네트워크를 가상화한다는 점에서 마찬가지
하드웨어를 소프트웨어로 전환하며, 더 이상 물리적인 리소스의 한계에 구애받지 않아도 된다.
원하는 시기에 필요한 만큼 네트워크 리소스를 확장하거나 축소 가능
SDN Architecture
SDN 아키텍처는 Application Layer, Control Plane(SDN 컨트롤러), Data Plane(SDN 전송 장비) 으로 구성되는 3 계층 구조로 표현할 수 있다. 그리고 계층 간 연동을 위해서 Southbound Interface(ex. OpenFlow)와 Northbound Interface가 존재한다
SDN은 Forwarding plane에서 network control plane의 물리적 분리와 control plane이 여러 장치를 제어한다.
동적 관리가 가능하고 비용 효율적이며, 적응력이 있는 신흥 아키텍처로 오늘날의 응용 프로그램의 고 대역폭, 다이내믹한 변화에 이상적이다. 이 아키텍처는 네트워크 제어 및 전달 기능을 분리하여 네트워크 제어가 직접 프로그래밍 가능하게 되고 응용 프로그램 및 네트워크 서비스에 대한 기본 인프라를 추상화 할 수 있도록 한다.
OpenFlow 프로토콜은 개방형 표준 프로토콜이고 OpenFlow 컨트롤러도 시장에 존재하지만, 데이터 센터와 클라우드 네트워킹 시장을 선도하는 많은 대형 네트워크 기업들은 SDN 아키텍처만 채택했다.
OpenFlow
기존 레거시 장비에서는 Control Planer과 Data Plane이 하나의 장비 내에 같이 탑재되었기 때문에 통신이 필요 없었다. 하지만 SDN에서는 Control Planer과 Data Plane이 구분되며, SDN 컨트롤러는 Data Plane 계층에 대한 포워딩을 제어(Match & Action)하고 정보를 수집하기 위해 Southbound 인터페이스를 사용한다.
이 표준 통신(RPC) 규격 중 하나가 바로 ONF에서 정의하고있는 OpenFlow Protocol이다.
이들은 자체 네트워크 장치, 서버 및 스토리지 또는 다른 벤더들의 서버 및 스토리지와 상호 작용하는 자체 프로토콜로 자체 SDN 솔루션을 개발했다. Cisco, Arista Networks, Juniper Networks, Huawei, VMware, Dell EMC, HPE, Cumulus Networks 등이 이 시장을 선도 하고 있다.
따라서 데이터 센터에 애플리케이션을 배치하기 위한 인프라 요건을 산정하고 SDDC 구현을 위한 SDN 설계에 대한 지침을 수립하고 잠재적인 SDN 제공업체의 솔루션에 대한 세부 사항을 적용할 솔루션을 선택하기 전에 적절한 솔루션을 비교하는 것이 필요하다.
Application Layer (상위 계층)
Routing, Loadbalance, ACL 등 네트워크를 제어하는 데 사용되는 소프트웨어 애플리케이션들이다.
SDN 컨트롤러에서 제공받은 API와 여러 서비스들을 이용하여 Control 기능을 구현한다.
SDN Controller (중간 계층)
SDN 컨트롤러는 전체 네트워크 자원에 대한 중앙 집중적 제어를 담당하는 네트워크 운영체제 역할을 담당한다.
중앙 집중적 네트워크 제어를 위해 글로벌 뷰를 기반으로 포워딩을 제어하고 토폴로지 및 자원의 상태를 관리하는 기본 기능을 수행한다. 또한 여러 네트워크 장비와 통신할 수 있도록 South-bound API를 제공하거나 추가할 수 있으며, 여러 가지 기능의 애플리케이션을 개발하고 다른 운영 도구과 통신할 수 있게 해주는 North-bound API도 제공한다.
Data Plane (하위 계층)
Data Plane의 SDN 디바이스는 SDN 컨트롤러의 지시에 따라 패킷 전송을 수행하는 네트워크 장치를 통칭한다.
앞서 구글의 사례에서 보았듯이 SDN의 개념과 화이트박스 스위치와를 이용하여 레거시 장비 대비 획기적으로 낮은 가격으로 데이터센터의 네트워크를 구축할 수 있다.
출처 : https://suyeon96.tistory.com/48
https://www.juniper.net/kr/ko/research-topics/what-is-sdn.html
https://enterprise.kt.com/bt/dxstory/846.do
'Cloud' 카테고리의 다른 글
SDDC (Software-Defined Data Center) (0) | 2024.01.15 |
---|