top of page

SDN 데이터 평면 + Openflow

  • 작성자 사진: 지현 배
    지현 배
  • 2022년 6월 5일
  • 2분 분량

SDN 구조




 

SDN 데이터 평면이란

네트워크 포워딩 장치가 SDN제어평면에서 지정한 기준에 따라,

데이터를 전송하고 처리하는 영역


 

네트워크 장치 (데이터 평면 네트워크 요소 또는 스위치)의 주된 기능

1) 제어 지원 기능

- 리소스 제어 인터페이스를 통해,

SDN 컨트롤러 계층과 상호 작용하면서,

프로그래밍 기능을 제공

- 스위치는 컨트롤러와 통신하면,

컨트롤러오픈플로우 프로토콜을 통해 스위치 를 관리

2) 데이터 포워딩 기능

- 다른 네트워크 장치나 단말 시스템으로부터 들어 온 데이터 플로우를 받아,

- SDN 애플리케이션에서 정의한 룰에 따라 결정데이터 포워딩 경로에 따라 포워딩


SDN 개념 구현을 위한, 두 가지 요구 사항

1) 논리적 아키텍처

- SDN 컨트롤러로 관리하는, 모든 스위차나 라우터와 같은,

네트워크 장치에 공통적으로 적용되는 논리적인 아키텍처 정의 필요

- SDN 컨트롤러 입장에서 볼 때, 모든 장치를, 논리적으로, 일정한 기능을 가진

스위치로 볼 수 있다면, 구체 적인 구현 방식이 벤더나 장비마다 달라도 상관없음

2) 표준 보안 프로토콜

- SDN 컨트롤러와 네트워크 장치가 서로 통신하는데 필요한,

보안이 제공되는 표준 프로토콜 필요



오픈플로우 (OpenFlow)

- 이상의 요구 사항 만족을 위해 등장

- 오픈플로우

- 컨트롤러와 오픈플로우 스위치 사이에서 메시지를 주고 받을 때, 사용하는 프로토콜

- SDN 컨트롤러와 네트워크 장치가 서로 통신하기 위한 프로토콜 부분

- 공통적으로 적용될 네트워크 스위치 기능의 논리적인 구조에 대한 규격으로 구성




오픈플로우 구성요소


1) SDN 컨트롤러

- TLS (Transport Layer Security)로 연결된 채널에서,

- 오픈플로우 프로토콜을 통해,

- 오픈플로우 호환 스위치와 통신

2) 오픈플로우 스위치

- 각 스위치는 다른 오픈플로우 스위치와 연결

- 일부의 스위치는 패킷의 출발지와 목적지에 해당하는 단말 장치에 연결

3) 오픈플로우 채널

- 스위치 입장에서 서로 연결하는 인터페이스를 의미

- 오픈플로우 채널은 오픈플로우 포트를 통해 연결

4) 오픈플로우 포트

- 스위치와 스위치를 연결할 때, 사용

- 스위치와 SDN 컨트롤러를 연결할 때, 사용

- 세 가지 형태의 오픈플로우 포트 (물리, 논리, 예약 포트)

5) 테이블

- 오픈플로우 스위치는, 서로 연속적으로 연결된, 여러 개의 테이블을 사용하여

패킷의 플로우를 처리함

- 세 가지 종류의 테이블(플로우, 그룹, 미터 테이블)



오픈플로우 프로토콜이 제공하는 세 가지 종류의 메시지

가. 컨트롤러에서 스위치로 보내는 메시지

컨트롤러에서 생성하여 전송하는 메시지

경우에 따라, 스위치의 응답을 요구하기도 함

스위치 설정 값이나 플로우 및 그룹 엔트리의 세부 사항 등, 스위치의 논리적인 상태를 관리

대표적인 예:

1. Packet-out 메시지

- 스위치가 특정한 패킷의 처리 방법을 물어볼 때, 컨트롤러가 응답하는 메시지

- 해당 패킷을 폐기하지 말고, 특정한 출력 포트로 보내도록 지시하는 것


나. 비동기 (Asynchronous) 메시지

컨트롤러가 특별히 요청하지 않아도, 스위치가 컨트롤러에게 보내는 메시지

여러 가지 상태 정보를 담을 수 있음

대표적인 예:

1. Packet-in 메시지

- 스위치에 도착한 패킷에 매치되는 플로우 엔트리가 스위치에 정의되어 있지 않을 때,

- 이 패킷을 컨트롤러에서 처리하도록 요청하기 위하여 사용


다. 대칭 (Symmetric) 메시지

컨트롤러나 스위치 중, 어느 한쪽이 요청하지 않아도, 아무나 보낼 수 있는 메시지

대표적인 예:

1. Echo 요청과 응답 메시지

- 스위치와 컨트롤러 사이에 연결된 채널의 지연 시간 (Latency)이나 대역폭을

측정하거나, 단순히 장치가 살아 있는지 확인하기 위하여 사용

2. Experimenter 메시지

- 다음 버전의 오픈플로우 규격에 추가되기 전에, 실험을 위하여 사용


Comments


 

©2022 by 배지의 개발 홈페이지.

bottom of page