오픈플로우

From CS Wiki
Revision as of 09:35, 15 January 2020 by PE120 (talk | contribs)
Openflow
네트워크 컨트롤러가 스위치망을 통해 네트워크 패킷의 경로를 정의하는 소프트웨어 정의 네트워크(SDN) 프로토콜
  • ONF(Open Networking Foundation, 비영리 국제기구)에서 관리하는 프로토콜

개요

  • SDN에서 OpenFlow의 위치

SDN 계층.png

  • OpenFlow 개요도

오픈플로우 개념도.png

구현 기술

구현 기술 개념도 / 설명
제어/데이터평면 분리기술

오픈플로우 제어-데이터 평면 분리.png

  • 패킷 제어 기능과 전달 기능을 분리하여 프로그래밍 기반 네트워크 제어
  • 제어 및 데이터 평면을 범용 서버에 설치하여 소프트웨어로 구현
  • 사용자가 자유롭게 특정 서비스나 애플리케이션 최적화 프로토콜 구현 가능
컨트롤러/스위치구성 기술

오픈플로우 컨트롤러-스위치 구성 기술.png

  • 스위치에 명령, 스위치는 명령에 따른 패킷 전송, 수정, 폐기 처리
  • L2 스위치에 OpenFlow 프로토콜 펌웨어 추가, 컨트롤러는 소프트웨어로 구현
  • 최단경로(SPF)나 회선 속도 외 사용자 지정 경로 가중치/부하 분산 조건
플로우테이블관리 기술

오픈플로우 플로우 테이블 관리 기술.png

  • 오픈플로우 스위치는 다수의 플로우 테이블 및 다수 플로우 엔트리로 구성
  • Flow Entry는 Match fields, Actions, Counters(통계)로 구성
  • 입력패킷과 매치 엔트리 존재 시 Counter(통계) 값 증가, 지정 명령(Action) 실행
파이프라인처리 기술

오픈플로우 파이프라인 처리 기술.png

  • 플로우 테이블 기반 패킷을 처리(Action) 및 다른 플로우 테이블 엔트리와 비교
  • 한 패킷을 다른 플로우 테이블에 보내기 전에 패킷에 메타 데이터 값 추가 가능
  • 테이블 간 메타 데이터 값을 비교하여 패킷 처리(Action)될 때까지 다음 테이블로 연속됨
그룹 테이블관리 기술

그룹 테이블 관리 기술.png

  • 인입 플로우에 대해 일련의 action bucket들이 실행 되도록 정의
  • Action bucket은 실행할 action 들의 집합과 파라미터들을 포함
  • 엔트리 ID 값, 그룹의 type, counter action buckets로 구성