http://blog.skby.net/sdn%EA%B3%BC-%EC%98%A4%ED%94%88%ED%94%8C%EB%A1%9C%EC%9A%B0openflow/
nova-network는 기존 nova 프로젝트 내에서 네트워크를 관리해 주는 프로세스입니다. 그래서 nova-network를 사용할때 nova-api를 사용하여 네트워크를 관리합니다. 또한, nova-network는 외부 통신을 할때 주어지는 Floating IP 범위가 오픈스택이 설치되는 서버와 같은 IP 대역을 사용하기 때문에 사용 가능한 IP 대역이 상당히 제한적입니다.
굉장히 제한적인 IP 대역을 해결하고자 SDN(Software Defined Network)개념을 이용한 서비스 Neutron 를 통해 현재의 문제점들을 해결할 수 있습니다.
Neutron을 사용하면 물리 스위치를 그대로 이용하는 것이 아니라, 인스턴스가 가상이듯이 스위치도 가상으로 만든 스위치를 사용하게 됩니다. 이때 주로 사용하는 스위치가 바로 OpenVSwitch입니다. OpenVSwitch는 인스턴스별로 하나씩 생성되어 할당이 되며, 인스턴스의 통신을 담당합니다. 그런데, 물리적으로 멀리 떨어져 있는 인스턴스끼리 서로 통신을 할려면 길을 알아야만 통신을 할 수 있습니다. 예전에는 이 길을 물리 네트워크 장비가 모두 가지고 있었지만, SDN에서는 별도의 서버에서 모든 네트워크 정보를 가지고서 길을 알려줍니다. 이에 대표적인 것이 바로 OpenFlow 입니다. 그래서, OpenFlow에는 모든 인스턴스의 네트워크 정보를 가지고서 길을 알려주는 컨트롤러와 인스턴스별로 생성되는 가상 스위치가 존재하게 되는 것입니다.
– NBI 프로그래밍 방식의 네트워크 동작을 컨트롤러 전달, 추상화
– 각 NBI 에이전트를 통해 다수 상위 NBI 제공(구성도 참조)
– SDN 응용 프로그램 계층의 요구 사항을 SDN Datapath로 변환
– SDN 응용 프로그램에 네트워크 추상화 제공, 논리적 중앙화
– 전달 및 데이터 처리 기능 가시화와 논리적 네트워크 제어 장치
– CDPI 에이전트와 트래픽 포워딩 엔진 세트 및 트래픽 처리 기능
– SDN CDPI(Control to Data-Plane Interface)
– SDN 컨트롤러와 SDN Datapath간에 정의 된 인터페이스
– 프로그래 방식의 포워딩 제어, 기능광고, 통계보고, 이벤트알림
– SDN NBI(Northbound Interface)
– SDN 응용 프로그램-컨트롤러 간 I/F, 추상 네트워크 가시화
– 벤더 중립적이며, 상호 운용 가능 방식으로 구현
– 각 인터페이스는 드라이버-에이전트 쌍으로 구성 및 실행
– Southern, Bottom – 인프라, Northern, Top – 응용 프로그램
– 패킷 제어 기능과 전달 기능을 분리하여 프로그래밍 기반 네트워크 제어
– 제어 및 데이터 평면을 범용 서버에 설치하여 소프트웨어로 구현
– 사용자가 자유롭게 특정 서비스나 애플리케이션 최적화 프로토콜 구현 가능
– 스위치에 명령, 스위치는 명령에 따른 패킷 전송, 수정, 폐기 처리
– L2 스위치에 Open Flow 프로토콜 펌웨어 추가, 컨트롤러는 소프트웨어로 구현
– 최단경로(SPF)나 회선 속도 외 사용자 지정 경로 가중치/부하 분산 조건
– 오픈플로우 스위치는 다수의 플로우 테이블 및 다수 플로우 엔트리로 구성
– Flow Entry는 Match fields, Actions, Counters(통계)로 구성
– 입력패킷과 매치 엔트리 존재 시 Counter(통계) 값 증가, 지정 명령(Action) 실행
가상 스위치(Virtual Switch)란 가상 네트워크(Virtual Network)에서 VM을 위해서 제공되는 스위치를 의미한다. 이 스위치는 호스트 운영체제에서 소프트웨어 적으로 제공하기 때문에, 가상 스위치라고 부른다. 이 가상 스위치는 물리적 스위치와 연결된다.
1.2. Open vSwitch에 대하여
소프트웨어 기반의 vSwitch다. 클라우드 환경에서 VM들간의 트래픽의 통합, 격리, 보안을 위한 여러가지 기능들을 제공한다. 소프트웨어 기반이기 때문에, 탄력적으로 네트워크 환경을 설정할 수 있다.
1.3. 기능들