[Network] SDN(Software Defined Networking)

Sungwoo·2025년 1월 6일
0

Network

목록 보기
1/4
post-thumbnail

SDN이란?

SDN은 Software Defined Networking의 약자로 직역하면 소프트웨어 정의 네트워킹, 즉 소프트웨어로 네트워크를 구성 및 관리하는 기술이다.

SDN의 핵심은 전송 영역(data plane)과 제어 영역(control plane)을 서로 나누고, 모든 데이터 전송에 대한 제어를 한곳에서 중앙집중식으로 수행하는 구조를 갖는다는 점이다.

네트워크 장비는 다음과 같이 3개의 평면(plane)으로 구성된다.

  • 제어 평면(Control plane)
    네트워크 장비 내부로 들어온 패킷의 정보를 가지고 패킷이 최종 경로로 목적지까지 전달될 수 있도록 라우팅과 같은 패킷 제어 및 설정을 담당한다.
  • 데이터 평면(Data plane)
    네트워크 장비 내부로 유입된 패킷을 다시 외부로 전송하는 것을 담당한다.
  • 관리 평면(Management plane)
    제어 평면과 데이터 평면 사이의 동작 및 성능을 관리한다.

기존의 네트워크에서는 제어 평면과 데이터 평면이 동일 채널을 통해 통신을 했다면, SDN에서는 제어 평면을 데이터 평면과 서로 분리하고 상위 레벨에 위치시켜, 하나의 집중화된 제어 평면이 하위 네트워크 장비를 관제하는 중앙 집중식 네트워크 형태다.

중앙 집중식 구조의 네트워크 개념은 SDN이 처음이 아니었다?

사실 SDN 이전에도 중앙집중식 네트워크 관제 솔루션들이 존재했다.

시스코(Cisco System)의 데이터 센터 내 네트워크를 중앙에서 관제하기 위한 솔루션인 'Data Center Network Architecture'를 하나의 예시로 들 수 있다.
해당 솔루션은 인터렉티브 서비스 계층과 네트워크 인프라 계층으로 구분되는데, 인터랙티브 서비스 계층이 SDN 제어기 역할을 하여 네트워크 인프라 계층을 관제하는 형태다.

SDN과 유사한 개념이었지만 SDN만큼 주목받지 못한 이유는 바로 솔루션에 대한 폐쇄적인 생태계 구성 때문이었다. 앞서 말한 시스코의 솔루션도 자사에서 생산한 네트워크 장비와 소프트웨어를 통해서만 구현 가능했기 때문에 다른 네트워크 장비와의 호환성이 떨어졌다. 해당 솔루션을 적용하기 위해 네트워크 장비를 모두 교체해야 하는 문제 때문에 주목받지 못하였다.

반면 SDN은 인터페이스 규격이 실제 범용 프로토콜로 정의되었고, 오픈소스로 공개되었다. 이로인해 네트워크 관리에 대한 주도권이 솔루션 제공 업체가 아닌 네트워크 관리자들에게 넘어갔다는 점이 가장 큰 변화다.

SDN Architecture

SDN 아키텍처는 Application plane, Control plane, Data plane 3계층으로 구성된다.
그리고 각 계층은 Northbound interface, Southbound interface를 통해 상호작용하게 된다.

Application plane

SDN 네트워크를 활용하는 다양한 애플리케이션과 서비스가 위치한다.
네트워크를 프로그래밍하여 특정 비즈니스 로직을 구현한다.
컨트롤러를 통해 네트워크 상태와 성능 데이터를 수집하고, 필요한 명령을 Control plane에 전달한다.

Control plane

SDN 컨트롤러가 위치하며, 네트워크 지능적 제어와 관리를 담당한다.
네트워크 중앙 제어 역할을 하며 Openflow와 같은 네트워크 프로토콜을 사용해 Data plane과 상호작용한다.
네트워크 정책 설정과 트래픽 흐름 제어, 네트워크 상태 정보 수집을 통한 최적 경로 계산, Data plane에게 동작 지시 전달과 같은 기능을 한다.

Data plane

네트워크 장치(스위치, 라우터)가 위치하며, 패킷 전송과 같은 실제 데이터 처리를 담당한다.
Control plane에서 전달받은 정책에 따라 동작한다.

Northbound Interface

Application planeControl plane간의 상호작용을 담당한다.
REST API와 같은 표준 인터페이스를 사용한다.

Southbound Interface

Control planeData plane간의 상호작용을 담당한다.
OpenFlow, OVS(Open vSwitch)등의 프로토콜을 사용하여 컨트롤러가 Data plane을 제어한다.

SDN의 장단점

SDN 장점

1. 유연성 및 확장성
네트워크를 소프트웨어로 제어할 수 있어, 설정 변경 및 새로운 정책 도입이 간편하다.
물리적 네트워크를 변경하지 않고도 새로운 서비스를 쉽게 추가하거나 확장할 수 있다.

2. 중앙 집중식 관리
제어부를 중앙에서 관리하여 네트워크 전체의 상태를 파악하고 제어할 수 있다.

3. 비용 절감
제어부가 여러 네트워크 장비를 제어할 수 있기 때문에 관리가 관소화되고 운영에 들어가는 비용을 줄일 수 있다.
각 장비의 사양을 각각 기능에 최적화 시킬 수 있어 리소스 낭비를 줄일 수 있다.

SDN 단점

1. 초기 구축 비용
SDN을 도입하기 위해 기존 네트워크 환경을 업그레이드 하거나 재설계해야 하는 경우가 많아 초기 비용이 높다.

2. 중앙 집중식 관리
중앙 집중식 컨트롤러에 의존하기 때문에 컨트롤러가 장애를 겪을 경우 네트워크 전체가 영향을 받을 수 있다.
컨트롤러의 보안이 뚫리면 네트워크 전체가 위험에 처할 수 있다.

3. 오버헤드 증가
SDN 컨트롤러가 모든 네트워크 정책과 흐름을 관리하기 때문에 추가적인 오버헤드가 발생할 수 있다.



References
오픈소스로 알아보는 SDN 입문 | 강효성

0개의 댓글