[컴퓨터 네트워크] SDN(Software Defined Network)

신현식·2022년 11월 23일
1

컴퓨터 네트워크

목록 보기
24/34

SDN이란?

SDN(Software Defined Network)이란 소프트웨어를 통해 네트워크 리소스를 가상화하고 추상화하는 네트워크 인프라에 대한 접근 방식을 의미한다.
조금 더 쉽게 설명하자면, 소프트웨어 애플리케이션과 API를 이용하여 네트워크를 프로그래밍하고, 중앙에서 전체 네트워크를 제어하고 관리하는 것이다.

💡 전통적인 인터넷 라우터의 forwarding 결정

match: 라우팅 테이블을 look up하여 목적지 ip주소를 찾는다.
action: 패킷을 특정 스위치에서 지정된 output port로 전송한다.

💡 일반화된 forwarding 결정

프로토콜 스택의 여러다른 layer에서 서로다른 프로토콜과 관련된 여러 헤더 필드에 대해 match를 한다.
action의 경우, 하나, 혹은 그 이상의 output port로 패킷을 전송할 수 있다.
더 나은 서비스를 제공하기 위해서 multiple outgoing interface를 통해 load balancing를 할 수 있다.
패킷을 막거나 없앰으로써 방화벽 기능을 할수도 있다.
추가 처리 및 작업을 위해 패킷을 특수 서버로 전송(DPI에서와 같이)할 수 있다.

📌SDN 작동방식

SDN에서 가장 핵심은 네트워크 장비의 Control Plane(제어부)와 Data Plane(전송부)의 분리이다. Control Plane은 네트워크 장비를 제어하는 뇌에 해당하고, Data Plane은 데이터를 전송하는 역할을 하는 것이다.기존의 라우터(Router) 장비에는 제어부와 전송부가 같이 존재한다. 제어부에서 최적의 경로를 계산하고 전송부가 데이터를 전송하는 방식이다. 그래서 각 라우터마다 local forwarding table를 가지고 있었다.
SDN을 적용하면 제어부와 전송부를 분리한다. 제어부를 별도의 컴퓨팅 서버로 분리하고, 네트워크 장비는 데이터 전송 기능만 담당하도록 하는 것이다.

각각의 라우터들은 datagram을 어디로 보내야 하는지 flow table을 가지고 있다. 이 flow table은 logically centralized routing controller에 의해 컨트롤 된다. 그래서 data plane과 control plane으로 나뉘게 된다.

📌 SDN 장점

1. 비용 절감
SDN이 적용되면 두 기능이 분리됨으로써, 장비 사양 또한 각 기능에 최적화되고, 제어부가 여러 네트워크 장비를 제어하여 전체 네트워크 인프라 구축 비용이 훨씬 낮아질 수 있다.

2. 확장성 및 유연성
"가상화"라는 기술을 설명할 때 항상 따라오는 장점이다. SDN 또한 네트워크를 가상화한다는 점에서 마찬가지이다. 하드웨어를 소프트웨어로 전환하며, 더 이상 물리적인 리소스의 한계에 구애받지 않아도 된다.

profile
전공 소개

0개의 댓글