12주차-1

Chooooo·2023년 1월 20일
0

컴퓨터네트워크

목록 보기
6/11
post-thumbnail

컴퓨터네트워크 수업 내용 복습 !


SDN 제어 평면

이번에 SDN의 제어 평면에서 수행되는 기능, 즉 네트워크를 관리하는 장치 및 서비스의 설정, 관리를 알아보자.

SDN이란?

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

조금 더 쉽게 설명하자면, 소프트웨어 애플리케이션과 API를 이용하여 네트워크를 프로그래밍하고, 중앙에서 전체 네트워크를 제어하고 관리하는 것이다

SDN 작동 방식

SDN에서 가장 핵심은 네트워크 장비의 Control Plane(제어부)Data Plane(전송부)의 분리이다.

Control Plane은 네트워크 장비를 제어하는 뇌에 해당하고 Data Planel은 데이터를 전송하는 역할을 하는 것.

12주차 -1 image

‏‏‎ ‎

‏‏‎ ‎

12주차 -1 image

기존의 라우터(Router), 네트워크 장비에는 제어부와 전송부가 같이 존재한다.

제어부에서 최적의 경로를 계산하고 전송부가 데이터를 전송하는 방식이다.

(이것이 per-router control plane!!!!)

따라서 네트워크 운영자는 각각의 네트워크 장비를 수동으로 관리해야 했으며, 전체 기능이 필요하지 않은 경우에도 비싼 라우터를 구매하여 사용하는 수밖에 없었다.

‏‏‎ ‎

‏‏‎ ‎

‏‏‎ ‎

12주차 -1 image

하지만, SDN을 적용하면 제어부와 전송부를 분리한다. 제어부를 별도의 컴퓨팅 서버로 분리하고, 네트워크 장비는 데이터 전송 기능만 담당하도록 하는 것.

‏‏‎ ‎

‏‏‎ ‎

‏‏‎ ‎

12주차 -1 image

‏‏‎ ‎

우선 SDN 구조의 특징

  • 플로우 테이블 기반 포워딩

  • 데이터 평면과 제어 평면의 분리

  • 네트워크 제어 기능(SDN Controller)이 데이터 평면 스위치(SDN-controllered switches) 외부에 존재

  • 프로그램이 가능한 네트워크

SDN 장점

1. 비용 절감

제어부는 여러 네트워크 장비를 제어할 수 있기 때문에 관리가 관소화 되고 운영에 들어가는 비용을 줄일 수 있다.

또한, 각 장비의 사양을 각각의 기능에 최적화시킬 수 있으므로 더 이상 눈물을 머금고 리소스의 낭비를 보고 있을 필요가 없다.

2. 확장성 및 유연성

"가상화"라는 기술을 설명할 때 항상 따라오는 장점이다.

SDN 또한 네트워크를 가상화한다는 점에서 마찬가지이다.

하드웨어를 소프트웨어로 전환하며, 더 이상 물리적인 리소스의 한계에 구애받지 않아도 된다.

원하는 시기에 필요한 만큼 네트워크 리소스를 확장하거나 축소할 수 있다.

벤더 별로 각각의 장치를 프로그래밍하고 그 한계에 타협하는 상황에서 벗어나, 네트워크 장비를 선택할 때 더 높은 유연성을 확보할 수 있게 된다.

‏‏‎ ‎

‏‏‎ ‎

12주차 -1 image

12주차 -1 image

12주차 -1 image

‏‏‎ ‎

SDN은 네트워크의 완전한 분리를 의미한다. 이는 컴퓨터의 각각의 하드웨어들이 다른 제조사에서 만들어진 것처럼 네트워크의 컨트롤러, 데이터 평면 스위치, 제어 응용이 각기 다른 제조사에서 만들어진 분리된 개체라는 것이다. 크게 SDN은 SDN 컨트롤러와 SDN 네트워크 제어 응용으로 나누어지는데, SDN 컨트롤러는 통신 계층과 네트워크 전역 상태 관리 계층, 네트워크 제어 응용과의 인터페이스 3개의 계층으로 이루어져 있다.  이 SDN을 통해서 네트워크 관리자는 응용 제어 소프트웨어를 바꿈으로서 어떤 형태의 포워딩 방식으로 손쉽게 구현할 수 있다. 고전적인 라우터별 제어 평면 구조와는 대조적인 면이다.

12주차 -1 image

OpenFlow API와는 차이가 있음.

12주차 -1 image

OpenFlow는 표준 통신 인터페이스.

OpenFlow는 OpenFlow 스위치, OpenFlow 컨트롤러로 구성되며, 흐름(flow) 정보를 제어하여 패킷의 전달 경로 및 방식을 결정한다.

OpenFlow 스위치 내부에는 패킷 전달 경로와 방식에 대한 정보를 가지고 있는 FlowTable이라는 것이 존재한다.

패킷이 발생하면 제일 먼저 FlowTable이 해당 패킷에 대한 정보를 가지고 있는지 확인하고, 없다면 패킷에 대한 제어 정보를 OpenFlow 컨트롤러에 요청하는 것이다.

OpenFlow 컨트롤러 내의 패킷 제어 정보는 외부에서 API를 통해 입력할 수 있다.

‏‏‎ ‎

바로 위 사진에는 이러한 메세지가 있다 정도로 이해하고 넘어가자.

‏‏‎ ‎

SDN : control/data plane의 상호작용 예시 확인/

ONOS 확인

‏‏‎ ‎

나머지 ppt 내용 공부해야함.

‏‏‎ ‎

‏‏‎ ‎

‏‏‎ ‎


‏‏‎ ‎

‏‏‎ ‎

데이터 평면 스위치:

 일반화된 데이터 평면을 구현하는 빠르고 단순한 범용 스위치하드웨어의 전달(섹션 4.4)

 흐름(전송) 테이블 계산, 컨트롤러 감독 하에 설치

 테이블 기반 스위치 제어를 위한 API(예: OpenFlow)

• 통제 가능한 것과 그렇지 않은 것을 정의한다.

 컨트롤러와 통신하기 위한 프로토콜(예: OpenFlow)

‏‏‎ ‎

SDN 컨트롤러(네트워크 OS):

 네트워크 상태 정보 유지 관리

  Northbound API를 통해 "위의" 네트워크 제어 애플리케이션과 상호 작용

 사우스바운드 API를 통해 "아래" 네트워크 스위치와 상호 작용합니다.

 성능, 확장성, 내결함성, 견고성을 위해 분산 시스템으로 구현

‏‏‎ ‎

‏‏‎ ‎

네트워크 제어 앱:

 제어의 "브레인": 하위 수준의 서비스를 사용하여 제어 기능을 구현하고, SDN 컨트롤러에서 제공하는 API

 Unbundled: 타사에서 제공 가능: 라우팅 공급업체 또는 SDN 컨트롤러와 구별

‏‏‎ ‎

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글