본문 바로가기

Network/현대 네트워크 기초

9주차 정리(5장)

728x90
반응형

SDN 제어평면 아키텍처)

SDN 제어평면 : 애플리케이션 평면의 요청사항을 특정한 형태의 명령이나 지시사항으로 변환하여 데이터 스위치에 전달, 데이터 평면의 토폴로지 및 네트워크 활동에 대한 정보를 애플리케이션에 전달하는 역할

 

SDN 컨트롤러로 부르는 서버로 처리, 한 개의 컨트롤러로 구현 또는 여러개의 컨트롤러가 협업하는 방식으로 구현

 

 

제어평면의 기능: 

1. 최단 경로 포워딩 - 스위치로부터 수집한 라우팅 정보를 사용하여 최적의 경로를 설정

2. 알림 관리자 - 알람 메세지나 보안 경고, 상태 정보 등과 같은 이벤트를 받고, 처리하고 앱에 전달

3. 보안 메커니즘 - 앱과 서비스 사이를 격리하고 보안 기능을 제공

4. 토폴로지 관리자 - 스위치가 연결된 정보를 구성하고 관리

5. 통계 관리자 - 스위치가 거쳐 가는 트래픽에 대한 데이터 수집

6. 장치 관리자 - 스위치의 설정 파라미터와 속성 지정, 플로우 테이블 관리 

 

ONOS & SDN 컨트롤러:

전통적인 OS처럼 핵심 서비스, API, 개발자를 위한 하위계층 요소의 추상화 기능 을 제공.

SDN 컨트롤러도 일종의 NOS로 볼 수 있다. 개발자들은 네트워크 장비에 대한 세부사항을 몰라도 네트워크 정책을 관리하고 정의 할 수 있다. 노스바운드 인터페이스를 통해 데이터 평면의 세부 사항에 독립적인 형태로 SW개발 가능, 개발한 SW를 다양한 SDN 컨트롤러 서버에 활용 가능.

 

상용 SDN 컨트롤러:

오픈 데이라이트 - 가장 대표적인 컨트롤러, 시스코와 IBM 주도로 결성, 오픈소스 플랫폼으로 자바로 구현, 중앙 집중적인 컨트롤러 형태 구현, 여러개의 인스턴스로 분산된 형태로도 구동 가능

 

ONOS(오픈네트워크 OS) - AT&T 와 NTT 등의 주도로 결성(서비스 공급자), 오픈소스 SDN NOS로 구현, ONF 후원, 분산 컨트롤러 구조로 설계, 다중 분산 컨트롤러에 의해 네트워크 상태 파티셔닝 및 추상화 기능 제공 

 

POX - 여러 SDN 개발자와 엔지니어가 참여하여 구현, 오픈소스, 파이썬

 

Beacon - 스탠포드 개발, 오픈소스, 자바

 

플러드라이트 - 빅스위치 네트웍스 개발, 오픈소스, 자바로 개발

 

Ryu - NTT랩에서 개발, 컴포넌트 기반 오픈소스

 

Onix - VMW, 구글, NTT 공동 개발, 상용 버전으로 개발된 분산 컨트롤러

 

사우스바운드 인터페이스:

 

SDN 컨트롤러와 데이터 평면 스위치 사이를 논리적으로 연결

사우스바운드 추상화 계층(일부 컨트롤러는 하나의 사우스바운드 인터페이스만 지원, 추상화 계층은 다양한 사우스바운드 API를 지원하며, 제어평면 기능에 대한 공통 인터페이스를 제공, 하나의 사우스바운드만 이용하는것보다 훨씬 유연한 구조를 제공)

 

가장 대표적인 사우스바운드 API or 프로토콜: 오픈플로우

 

노스바운드 인터페이스:

애플리케이션이 네트워크 스위치에 대한 세부 사항을 모르더라도 제어 평면의 기능과 서비스를 사용 가능, 프로토콜 보다는 소프트웨어 API에 가깝다.

 

 

1. 기본 컨트롤러 기능 API(컨트롤러의 기본 기능에 대한 API, 네트워크 서비스를 만드는 개발자가 사용)

 

2. 네트워크 서비스 API(상위 계층에 제공하는 API)

 

3. 노스바운드 인터페이스 애플리케이션 API(네트워크 서비스를 기반으로 제공되는 애플리케이션 관련 서비스에 대한 API)

 

노스바운드 API는 주로 REST 방식으로 정의된다.

 

라우팅:

라우팅 기능: 네트워크의 토폴리지 와 트래픽 상태에 대한 정보를 수집하는 프로토콜, 경로 설정 알고리즘으로 구성

 

- IRP : 하나의 AS 내부에 대해 동작하는 라우팅 프로토콜, 최적 경로 결정, OSPF 와 EIIGRP가 있다.

- ERP : AS 사이에 동작하는 라우팅 프로토콜, AS 외부에 있는 네트워크와 단말 시스템에 대한 도달 가능성을 결정하는 것, 따라서 ERP는 에지 노드에서만 실행된다, BGP가 대표적으로 있다.

 

전통적 라우팅 : 여러 라우터에 대해서 분산된 형태로 작동, 각 라우터마다 네트워크에 대한 토폴로지 이미지 구축, 내부 라우팅시 연결성과 지연 시간 정보 수집, 목적지 IP에 대한 최적의 경로 계산

 

SDN에서의 라우팅 : SDN 컨트롤러를 통해 중앙 집중적인 방식으로 작동, 네트워크 상태에 대한 일관성 있는 뷰 유지, 애플리케이션에 따라 적절한 라우팅 정책 구현 가능, 라우팅 관련 오버헤드를 갖지 않기 때문에 성능이 향상됨

 

- 링크 탐색 : 라우팅 기능은 데이터 평면의 스위치 사이에 연결된 모든 링크(네트워크)를 파악해야 함, L2 스위치에서의 링크 = 물리링크(케이블), 라우터와 호스트 시스템 사이, 현재 컨트롤러 도메인에 있는 라우터와 이웃 도메인의 라우터 사이에 대해 수행 필요, 이웃 라우터로 부터 트래픽이 들어올 때, 새로운 링크가 발견됨

 

- 토폴로지 관리자 : 네트워크에 대한 토폴로지 정보 수집, 수집된 정보로 내부 경로를 계산(최단 거리 파악)

 

 

ITU-T 모델)

ITU-T에서 정의하는 SDN의 전반적인 구조

 

1. 애플리케이션 계층 :

- 네트워크 리소스에 대한 서비스 동작 정의, SDN에서 네트워크 서비스 혹은 비즈니스 어플리케이션 포함

- 어플리케이션 제어 인터페이스를 제공하는 API를 통하여 SDN 제어 계층과 상호 작용함

- 애플리케이션은 네트워크 리소스에 대한 정보와 데이터 모델로 추상화된 뷰 활용 -> 이러한 정보도 API를 통하여 SDN 제어 계층으로 부터 전달 받음 

 

2. 제어 계층 :

- 애플리케이션 계층에서 지시한 네트워크 리소스에 대한 동작을 동적으로 제어하기 위한 수단을 제공

- 애플리케이션 지원(네트워크 정보 접근, 네트워크 동작 프로그래밍을 위한 API를 SDN 어플리케이션에 제공)

- 오케스트레이션(네트워크 리소스 자동 제어 및 관리 기능 제공, 애플리케이션 계층에서 전달된 네트워크 리소스에 대한 요청을 조율, 물리적 & 가상 네트워크에 대한 토폴로지, 네트워크 요소, 트래픽 제어 등을 총괄)

- 추상화(여러 네트워크 리소스를 추상화(네트워크 처리 능력과 특성), 물리 및 가상 네트워크에 대한 관리 및 오케스트레이션 기능을 지원, 추상화는 표준 정보와 데이터 모델을 기반으로 제공

 

3. 리소스 계층:

 - 데이터 평면에서 상호 연결되어 있는 포워딩 요소(스위치)들이 집합으로 구성

- 데이터 패킷에 대한 전송과 처리 작업을 수행, 리소스 제어 인터페이스를 통해 리소스 계층으로 전달된 결정 사항에 따라 진행

- 제어지원(리소스 제어 및 인터페이스를 통해 리소스 계층의 기능에 대한 프로그래밍 기능을 지원)

- 데이터 전송 및 처리(데이터 포워딩 및 데이터 라우팅 기능을 제공)

오픈데이라이트)

리눅스 재단의 후원으로 진행되는 오픈소스 프로젝트, SDN 기술 사용자, 판매 회사를 비롯한 모든 네트워크 단체가 참여.

 

추구하는 방향 : 오픈플로우를 비롯한 기존 표준을 바탕으로 확장 가능한 오픈소스 기반의 가상 네트워킹 플랫폼을 만들고자 함.

 

프로젝트의 궁극적 목표 : 모든 개발자가 활용, 프로젝트 기여 뿐만 아니라 상용 제품이나 다른 기술도 개발 할 수 있는 하나의 공통된 오픈 SDN 플랫폼을 만드는 것

 

<오픈 데이라이트 아키텍처>

ODL 아키텍처:

1. 네트워크 애플리케이션, 오케스트레이션 서비스

 - 비즈니스 및 네트워크 로직에 대한 어플리케이션이 위치하는 계층

 - 네트워크 동작을 제어하거나 모니터링 함

 - 해당 계층의 애플리케이션은 네트워크 정보 수집, 특정한 알고리즘을 통해 분석, 네트워크에 새로운 룰을 적용해야 하는 작업을 컨트롤러를 통해서 처리

 

2. API

 - ODL 컨트롤러에서 제공하는 기능에 대한 공통 인터페이스

 - OSGi 프레임워크, 양방향 REST 기반의 노스바운드 API를 제공

- OSGi 프레임워크는 컨트롤러와 동일한 주소 공간에서 실행되는 앱 대상, 웹 기반의 REST API는 컨트롤러와 다른 주소 공간에서 실행되는 애플리케이션에도 활용 가능

 

3. 컨트롤러 기능 및 서비스

- SDN 제어 평면에 해당하는 기능과 서비스

 

4. 서비스 추상화 계층

 - 데이터 평면의 리소스에 대한 일관된 뷰 제공

- 특정한 사우스 바운드 인터페이스나 프로토콜에 독립적인 방식으로 제어 평면의 기능 구현 지원

 

5. 사우스바운드 인터페이스 및 프로토콜

 - 오픈플로우를 비롯한 여러가지 사우스바운드 프로토콜 뿐만 아니라, 벤더 종속적인 인터페이스도 지원

 

ODL 특징:

1. ODL은 제어평면 뿐만 아니라 데이터평면의 기능까지 다룬다, 관리자는 별도의 서버에 ODL을 설치하여 SDN 설정 작업 가능, 장비 벤더는 제품의 상품 가치를 높이는 방법 가능

 

2. 오픈플로우를 비롯한 특정한 사우스바운드 인터페이스에 종속적이지 않다, SDN 네트워크 구성에 유연성 제공,

SAL(사우스바운드 인터페이스를 위한 프로토콜을 다양하게 제공, 컨트롤러의 기능 및 서비스 논리적 계층에서 항상 일관된 형태로 서비스 제공)

 

SAL 작동과정:

 

- 서비스 관리자는 레지스트리를 통해 서비스 요청과 기능 요청에 대한 맵핑 정보를 관리

- 서비스 요청이 들어올 때마다, SAL애소는 적합한 플러그인을 찾고, 네트워크 장치에 가장 적합한 사우스바운드 프로토콜로 통신하도록 지원

- 소프트웨어를 플러그인 방식으로 유연하게 구성, 모듈화 장점, 자바로 코드 구현됨(JVM 지원 장치에서 실행 가능)

 

기본 네트워크 서비스 기능 모듈:

1. 토폴로지 관리자

- 노드 추가, 삭제 등 연결관계 이벤트 수신

- 네트워크 구성 파악 서비스 제공

- 네트워크 뷰를 이용하려는 앱에 이 서비스를 활용

 

2. 통계 관리자

- 스위치 관련 통계 정보 수집 하는 모듈

- 플로우 통계, 노드 연결 정보

- 큐 사용량 관리

 

3. 스위치 관리자

-데이터 평면 장치에 대한 세부 정보 관리

-스위치의 특성을 데이터베이스에 저장

 

4. 포워딩 툴 관리자

- 경로 설정, 플로우나 패킷에 대한 다음 홉에 대한 정보 관리

- 스위치 관리자 & 토폴로지 관리자와 협업해서 네트워크 플로우 상태 관리

- 애플리케이션은 네트워크 장치 세부 상태 몰라도 서비스 활용 가능 => 추상화

 

5. 호스트 트래커

 - 연결된 호스트에 대한 정보 관리

REST)

 

 

다른 컨트롤러와 연동)

728x90
반응형

'Network > 현대 네트워크 기초' 카테고리의 다른 글

8주차 정리(4장)  (0) 2023.05.27
6주차 정리  (0) 2023.04.12
5주차 정리  (0) 2023.04.09
4주차 정리  (0) 2023.04.01
3주차 정리  (1) 2023.03.28