본문 바로가기

미분류/Network

SDN

네트워크

- 동일한 프로토콜을 사용하는 디바이스들의 집합

프로토콜

- 시스템이 전송매체를 통해 데이터를 교환할 때 따르는 특정 규칙

유니캐스트/멀티캐스트/브로드캐스트

- 한 사람 / 여러 명의 특정한 사람 / 같은 대역의 모든 사람

리피터(1) - 브리지(2) - 라우터

OSI 7계층

기존의 네트워크 장비들은 다음 두 가지 기능을 가지고 있었다.

- 라우팅(Routing) - Control Plane : 길 찾기

- 포워딩(Forwarding) - Data Plane : 앞으로 보내기 (전달)

라우터는 여태 Data Plane + Control Plane이 한 번에 묶여있었다. 하지만 SDN은 Data Plane과 Control Plane을 분리하여 라우터(기계)에게는 Forwarding만 하게 하고 Controla Plane 기능은 서버에서 할 수 있도록 하는 것이다.


SDN (Software Defined Networking)

 왜 SDN을 사용해야 할까? 그것은 바로 BARO 클라우드의 등장 때문이다.  전통적인 네트워크는 통합 하드웨어 + 소프트웨어를 이용하여 라우터와 스위치에 트래픽을 보낸다. 클라우드는 변화가 자유롭고 유연하기 때문에 네트워크도 변화가 필요하게 되었다. 기존의 네트워크 구조는 적극적으로 대응하기 어려웠고 나날히 폭증하는 트래픽과 네트워크 복잡성을 해결할 수 없었다. 때문에 네트워크 장비에서 기능을 분리하여 사용자 중심의 네트워크를 만들기 위한 시도가 이루어진 것이다.

 여러 이유로 인해 탄생한 SDN은 네트워크를 관리하는 제어 영역과 트래픽이 통과하는 데이터 영역을 분리하여 네트워크를 가상화 하려는 목적을 가지고 있다. SDN은 3개의 레이어로 이루어져 있다. 각 레이어들은 open interface를 통해 서로 통신한다.

- Application Layer

- Network Control Layer

- Infrastructure Layer

 기존 네트워크에서 하던 Routing/Filltering은 Application Layer에서 수행한다. 물리적 장비의 제어 없이 소프트웨어 만으로 네트워크의 동작 방식을 변경할 수 있는 길이 열린것이다. 구성은 네트워크 트래픽을 관리하는 전용 소프트웨어가 실행되고 있는 스마트 컨트롤러 + 트래픽 패킷을 전송하는 여러 라우터 및 스위치로 되어있다. SDN의 장점으로는 동적으로 네트워크를 축소 및 확장할 수 있고, 특정 애플리케이션 사용례에 맞춰 세밀하게 조정해 최적화 할 수 있으며 개별 네트워크에 보안 정책을 세울 수 있다는 것이다.


짤막하게 이 영상 봤다

https://www.youtube.com/watch?v=DiChnu_PAzA


OS는 물리적인 친구들을 제어해주고, 그 위에는 응용프로그램이 존재한다. 사용자의 요구사항에 따라 알맞은 도구를 매칭해주는 것이다. 이는 SDN과 비슷하다. SDN의 중간 계층은 SDN 컨트롤러라고 부른다.


이렇게 전부 구성된 네트워크에 새로운 VM을 생성한다고 가정해보자.

 이 VM은 다른 VM과 통신하지 않는 고립 된 네트워크를 가지고 있어야 한다. 제약 조건을 만족하기 위해서는 새로운 VLAN을 만들어 주어야 하는데, 이러려면 상당히 복잡한 절차를 걸쳐야 한다. 하지만 SDN을 통해 구성한다면 편리하게 사용할 수 있을 것이다.

https://www.youtube.com/watch?v=WEdDQsyXT6E


- 기존의 네트워크는 제어 평면과 데이터 평면이 동일 채널을 통해 통신을 하였으나 SDN은 네트워크 장비 내에 제어 평면을 데이터 평면과 서로 분리하고 상위 레벨에 위치시켜 하나의 집중화 된 제어 평면이 하위 네트워크 장비를 관제하는 중앙집중식 네트워크 형태를 만들었다. 네트워크 관리자가 각각의 스위치에 접근할 필요가 없어졌으며 관리의 효율성이 증대하였다. 이 때 상위에 위치한 제어 평면을 SDN 제어기라고 부르며, 네트워크 장비는 SDN스위치라고 부른다. 제어기와 스위치 사이의 인터페이스는 프로토콜로 정의되어 있으며 OpenFlow, NetConf, OVSDB등이 있다.

SDN = SDN 제어기 ====프로토콜==== SDN 스위치

SDN은 개방되어 있으며, 모듈화로 확장되어 있으며, 프로그래밍 가능하다

https://m.blog.naver.com/PostView.nhn?blogId=love_tolty&logNo=221215607979&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

[SDN동향]SDN이란 무엇인가?('18.5 기준)

0. 들어가기 전에 | 간단한 포스팅 내용 소개 본 포스팅은 "SDN이 무엇인지"에 대한 가장 기본적인 개념...

blog.naver.com

 


OpenFlow

- 현재 SDN컨트롤러와 네트워크 장치간의 인터페이스 규격으로 사용되고 있는 표준 통신 프로토콜

- 패킷 전달 경로와 방식에 대한 정보는 FlowTable이라는 곳에 들어있다.

- OpenFlow 스위치가 컨트롤러(SDN 제어기)에 연결될 때까지의 흐름

http://www.jidum.com/jidums/view.do?jidumId=1076

NetConf

---

OpenDaylight

- 오픈소스 SDN프로젝트

- 요구에 맞는 SDN 컨트롤러를 구축할 수 있음. OpenFlow, OVSDB, NetConf, BGP 등 모든 SDN 플랫폼 지원

- 네트워크에 대한 정보를 수집하고 알고리즘을 실행하여 분석을 수행. 네트워크 전체에 새 규칙을 만듦

- 소프트웨어로만 구현되고 JVM임~~!

-  아파치 카프카를 사용하고 오픈스택과 긴밀한 연관성을 가지고 있음

ONOS - controller core 부분이 분산 코어 구조


여기서 등장하는 OpenStack

- 목표 : 서버를 가상화하듯이 네트워크도 가상화해서 사용해보자.

-  Quantum은 VLAN이 부족할 것 같은 느낌적인 느낌 덕분에 ... 탄생함

- Vendor 하드웨어 들과 OpenStack이 통합되는 과정이 필요했기 때문이다.


Northbound APIs - SDN 컨트롤러와 네트워크를 통해 실행되는 서비스 및 응용 프로그램 간의 통신에 사용되는 SDN RESTful API

그니까 SDN 제어기와 APP 사이에서 주고 받는 API라는 것

응용프로그램(네트워크에 필요한 정보를 가지고 있음: 데이터, 스토리지, 대역폭 내놔) - 네트워크(리소스 제공 가능 ㅇㅋㅇㅋ)

https://www.sdxcentral.com/networking/sdn/definitions/north-bound-interfaces-api/

 

'미분류 > Network' 카테고리의 다른 글

네트워크 입문(3)  (0) 2019.10.11
네트워크 입문(2)  (0) 2019.10.11
네트워크 입문(1)  (0) 2019.10.10
네트워크 전달 방식  (0) 2019.10.08