Post-IT

SDN : Software Defined Network 본문

네트워크 & 통신

SDN : Software Defined Network

생각없는 개발자 2022. 6. 13. 02:10

SDN이란?

SDN(Software Defined Network)이란 소프트웨어 정의 네트워킹으로, 소프트웨어을 통해 네트워크 리소스를 가상화하고 추상화하는 네트워크 인프라에 대한 접근방식을 말한다.

 

 SDN이 추구하는 것은 네트워크 장비에서의 Control Plane(제어부 : CP)와 Data Plane(전송부 : DP)를 분리하는 것이다. 각각의 라우터에서 모든 기능을 수행하는 것이 아니라, CP에서는 네트워크만 제어하고, DP에서는 데이터 전송만을 맡는다. 즉, 소프트웨어 애플리케이션 & API를 통해서 네트워크를 프로그래밍하고, 이를 통해 전체 네트워크를 제어하고 관리하는 것이다.

출처 : https://www.netmanias.com/ko/post/blog/13359/sdn-nfv-sk-telecom/sdn-nfv-in-the-5g-era-1-how-will-sdn-change-the-world

그렇다면 SDN을 사용했을 경우의 장점은 무엇일까?

  • 라우터와 스위치를 개별적으로 설정하여 관리할 필요가 없다.
  • 중앙화(Centralization)와 원격화(Remote)로 인하여 네트워크 설정 및 관리가 간편해진다.
  • 확장성 및 유연성이 보장된다. 하드웨어를 소프트웨어로 전환하여 물리적인 리소스의 한계가 없다.
  • 비용이 절감된다.

SDN의 발전

SDN의 시작은 아마도 Open Flow를 도입한 구글의  "G-Scale Project"가 아닐까 싶다. 이를 통해 전 세계에 흩어져있는 데이터센터 백본 구간을 전부 SDN기반 라우터와 스위치로 구축했다. 구글이 가장 중요하게 판단하고 있는 영역은 바로 네트워크였고, 트래픽 처리를 위해선 중앙 집중화된 네트워킹이 필요했다. 이를 가능하게 만든 기술이 바로 Open Flow이다. 이를 통해 구글은 크게 3가지를 얻었다.

  1. 기존의 Network 리소스의 활용률을 50%정도에서 약 100%로 끌어올렸다.
  2. WAN의 경로 최적화
  3. 비용 절감

SDN의 구조

SND은 Apllication Layer / Control Layer / Infrastructure Layer 3계층 구조로 표현 가능하다. 그리고 계층들을 연결하는 것이 앞서 얘기했던 Open Flow이다.

  • Application Layer : 라우팅, 접근 제어와 같은 네트워크를 제어하는 데 사용되는 소프트웨어 어플리케이션들이 있다. 
  • Control Layer : SDN Controller는 전체 네트워크 자원에 대한 중앙 집중적 제어를 담당하는 네트워크에서의 OS의 역할을 한다. 포워딩 제어, 토폴리지 및 자원의 상태 관리 등의 기능을 수행한다.
  • Infrastructure Layer : SDN Controller의 지시에 따라 패킷 전송을 수행한다.

Open Flow : 오픈플로우

기존의 라우터 및 스위치는 제어부(CP)와 전송부(DP)가 하나의 장비에 탑재 되어있었기 때문에 상호간의 통신이 필요없었다. 하지만 SDN에서는 CP와 DP가 구분되어 있어, DP에서의 포워딩 제어 및 데이터 수집을 위해 "Southbound" 인터페이스를 사용한다. 이러한 표준 통신 규격 중 하나가 바로 ONF에서 정의하고 있는 Open Flow Protocol이다. 

 

오픈프로우 구현 기술

  • Control Plane / Data Plane 분리
  • 컨트롤러 / 스위치 구성
  • 플로우 테이블 관리
  • 파이프라인 처리
  • 그룹 테이블 관리

'네트워크 & 통신' 카테고리의 다른 글

데이터 전달 방식  (0) 2022.11.04
네트워크 유형  (0) 2022.11.04
네트워크 토폴로지 : Network Topology  (0) 2022.11.04
Bit Rate & Baud Rate  (0) 2022.11.04
무선 네트워크 Wireless Network  (0) 2022.06.09