KR102024545B1 - 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법 - Google Patents

오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법 Download PDF

Info

Publication number
KR102024545B1
KR102024545B1 KR1020150159181A KR20150159181A KR102024545B1 KR 102024545 B1 KR102024545 B1 KR 102024545B1 KR 1020150159181 A KR1020150159181 A KR 1020150159181A KR 20150159181 A KR20150159181 A KR 20150159181A KR 102024545 B1 KR102024545 B1 KR 102024545B1
Authority
KR
South Korea
Prior art keywords
flow
packet
information
mapping
original
Prior art date
Application number
KR1020150159181A
Other languages
English (en)
Other versions
KR20160062688A (ko
Inventor
강세훈
곽지영
신지수
신용윤
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US14/952,832 priority Critical patent/US9900238B2/en
Publication of KR20160062688A publication Critical patent/KR20160062688A/ko
Application granted granted Critical
Publication of KR102024545B1 publication Critical patent/KR102024545B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/45Arrangements for providing or supporting expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 오버레이 네트워크에서의 오리지널 패킷 플로우의 매핑에 대한 것으로, 패킷인 메시지 수신부, 플로우 제어부, 오버레이 터널 제어부, 오버레이 터널 제어부, 인터페이스부를 포함할 수 있으며, 이를 통해 오버레이 링크를 구성하는 물리 네트워크 구간에서도 플로우를 구분하여 오리지날 플로우와 매핑할 수 있는 장치 및 그 방법을 제공하는데 그 목적이 있다.

Description

오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법{Overlay network based on the original packet flow mapping apparatus and method therefor}
본 발명은 오버레이 네트워크에서의 오리지널 패킷 플로우의 매핑에 대한 것으로, 더욱 상세하게는 물리 네트워크의 상위에 네트워크 오버레이 기반의 가상 네트워크 시스템이 구성 되어있는 경우, 오버레이 링크를 지나는 캡슐화된 패킷 플로우에 대응되는 하부 물리 네트워크에 존재하는 캡슐화 이전의 오리지널 패킷 플로우를 매핑함으로써 가상 네트워크 전 구간에 걸쳐 플로우에 기반한 네트워킹 서비스를 제공하는 장치 및 방법에 대한 것이다.
종래 기술을 살펴보면 네트워크 가상화를 위해 VXLAN(Virtual Extensible LAN), GRE(Generic Routing Encapsulation), STT(Stateless Transport Tunneling) 등 다양한 네트워크 오버레이 기술이 제안되어왔다.
상술한 네트워크 오버레이 기술 대부분이 가상 네트워크 정보를 담기 위한 별도의 헤더를 정의하고 이를 오리지널 패킷 헤더와 결합하여 인캡슐레이션(encapsulation: 캡슐화) 하는 방식을 사용하고 있다.
특히 GRE와 STT는 오버레이 링크를 지나는 패킷의 플로우가 서로 다른 경우에도 터널의 엔드 포인트(end point)가 동일하면 동일한 인캡슐레이션 헤더가 사용된다.
반면에, VXLAN은 가상 네트워크 상의 오리지널 플로우가 다르면 인캡슐레이션 헤더의 UDP 소스 포트 넘버가 다르게 세팅되어 물리 네트워크에서 오리지널 플로우가 다름을 인지할 수 있는 장점이 있다.
그런데 가상 네트워킹 서비스에 있어 가상 네트워크 별로 차별화된 네트워킹 서비스가 요구되는 상황에서 터널링 구간을 지나는 패킷에 대해 물리 네트워크에서 어떤 가상 네트워크에 속한 패킷인지를 구분할 수 있도록 오리지널 패킷 플로우를 추출할 수 하는 단계가 필요하다.
VXLAN에서는 하나의 TEP-to-TEP 사이의 오버레이 링크가 VM이 속한 가상 세그먼트에 상관없이 단지 해당 TEP에 연결되어 있는 모든 VM 간의 모든 터널링 서비스를 위해 공유될 수 있으며, 하부 물리 네트워크에서는 해당 패킷의 바깥 헤더만을 볼 수 있기 때문에 패킷의 오리지널 플로우 정보를 볼 수는 없어 물리 네트워크에서 오리지널 플로우에 기반한 다양한 서비스를 제공하기 힘든 단점이 있다.
본 발명은 물리 네트워크를 이용하여 소프트웨어 정의 네트워크 환경을 구성함에 있어 네트워크 오버레이를 이용한 가상 네트워크가 구성되는 경우, End-to-End 전 구간에 거쳐 오리지널 플로우에 기반한 다양한 서비스를 제공할 수 있도록 오버레이 터널구간에서 캡슐화된 패킷의 오리지널 플로우 정보를 추출하여 가상 네트워크 플로우와 물리 네트워크 상의 플로우를 매핑하여 그 정보를 제공하는 데 그 목적이 있다.
본 발명의 실시 예에 따르면 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치는 통신 프로토콜을 이용하여 패킷인 메시지를 수신하는 패킷인 메시지 수신부; 스위치와 연결된 스위치 또는 가상 머신의 연결정보를 관리하고, 상기 패킷인 메시지 기반으로 포워딩 경로를 계산하여 상기 패킷 포워딩 경로에 포함된 적어도 하나의 스위치에 상기 연결 정보에 따라 플로우 엔트리를 송신하는 플로우 제어부; 적어도 하나의 TEP간의 매핑 정보 및 적어도 하나의 가상 머신과 TEP간의 매핑 정보를 관리하고, 상기 매핑 정보에 따라 TEP 사이의 오버레이 터널을 생성하거나 삭제하는 오버레이 터널 제어부; 및 캡슐화된 패킷인 메시지를 수신하여 상기 캡슐화된 패킷인 메시지로부터 오리지널 플로우 및 오리지널 패킷 플로우 정보, 상기 오리지널 패킷 플로우와 물리 네트워크를 매핑하여 매핑정보를 생성하는 오버레이 패킷 플로우 매핑부를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 사용자로부터 토폴로지 및 트래픽에 관한 네트워크 상황 정보 수집 요청, 특정 플로우에 대한 패스 제어 요청, 가상 네트워크의 생성요청, 가상 머신 정보 요청을 수신하는 인터페이스부를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 플로우 제어부는, 토폴로지, 스위치와 연결된 디바이스 관리, 포워딩 규칙 설정기능을 수행할 수 있다.
본 발명의 일 실시 예에 따르면 상기 플로우 제어부는, 스위치와 스위치 간의 연결 정보를 관리하는 링크 테이블 및 스위치와 가상 머신 간의 연결정보를 관리하는 디바이스 테이블을 포함하는 연결정보 관리부; 상기 수신한 패킷인 메시지의 헤더를 이용하여 적어도 하나의 스위치가 포함된 패킷 포워딩 패스를 계산하는 패스 계산부; 및 상기 플로우에 대응하는 플로우 엔트리를 상기 패킷 포워딩 패스에 해당하는 적어도 하나 이상의 스위치로 송신하는 플로우 핸들러를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 연결정보 관리부는, 스위치와 스위치 간의 연결 정보를 링크 테이블 형식으로 관리하는 스위치 연결정보 관리부; 및 스위치와 가상 머신 간의 연결 정보를 장치우 테이블 형식으로 관리하는 장치 연결정보 관리부를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 오버레이 터널 제어부는, TEP에 대한 정보 관리와 가상 머신과 상기 가상 머신에 대응되는 TEP간의 매핑 정보를 생성 또는 갱신하는 오버레이 관리부; 및 상기 매핑 정보에 따라 TEP 간에 오버레이 터널을 생성 또는 제거하는 오버레이 핸들러를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 오버레이 패킷 플로우 매핑부는, 수신한 상기 패킷인 메시지로부터 오리지널 플로우를 추출하는 오리지널 패킷 플로우 추출부; 수신한 상기 패킷인 메세지를 파싱하여 오리지널 패킷 플로우 정보를 생성하는 패킷인 메세지 파싱부; 및 오리지널 패킷 플로우에 대응하는 물리 네트워크의 패킷 플로우를 매핑하여 매핑정보를 생성하고, 상기 생성한 매핑정보를 종류에 따라 분류하여 플로우 테이블로 생성하여, 생성한 각 플로우 테이블을 저장 또는 갱신하는 매핑정보 관리부를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 매핑정보 관리부는, 상기 오리지널 패킷 플로우와 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 오버레이 패킷 플로우의 매핑 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 O2P플로우 테이블을 저장 또는 갱신하는 O2P 정보 관리부; 및 물리 네트워크를 지나는 오버레이 패킷 플로우에 대해 대응되는 오리지날 플로우의 매핑 정보 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 P2O플로우 테이블을 저장 또는 갱신하는 P2O 정보 관리부를 더 포함 할 수 있다.
본 발명의 실시 예에 따르면 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법은 통신 프로토콜을 이용하여 패킷인 메시지를 수신하는 단계; 스위치와 연결된 스위치 또는 가상 머신의 연결정보를 관리하고, 상기 패킷인 메시지 기반으로 포워딩 경로를 계산하여 상기 패킷 포워딩 경로에 포함된 적어도 하나의 스위치에 상기 연결 정보에 따라 플로우 엔트리를 송신하는 단계; 적어도 하나의 TEP간의 매핑 정보 및 적어도 하나의 가상 머신과 TEP간의 매핑 정보를 관리하고, 상기 매핑 정보에 따라 TEP 사이의 오버레이 터널을 생성하거나 삭제하는 단계; 및
캡슐화된 패킷인 메시지를 수신하여 상기 캡슐화된 패킷인 메시지로부터 오리지널 플로우 및 오리지널 패킷 플로우 정보, 상기 오리지널 패킷 플로우와 물리 네트워크를 매핑하여 매핑정보를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 본 발명의 일 실시 예에 따르면 사용자로부터 토폴로지 및 트래픽에 관한 네트워크 상황 정보 수집 요청, 특정 플로우에 대한 패스 제어 요청, 가상 네트워크의 생성요청, 가상 머신 정보 요청을 수신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 플로우 엔트리를 송신하는 단계는, 토폴로지, 스위치와 연결된 디바이스 관리, 포워딩 규칙 설정기능을 수행할 수 있다.
본 발명의 일 실시 예에 따르면 상기 플로우 엔트리를 송신하는 단계는, 스위치와 스위치 간의 연결 정보를 관리하는 링크 테이블 및 스위치와 가상 머신 간의 연결정보를 관리하는 디바이스 테이블을 포함하는 단계; 상기 수신한 패킷인 메시지의 헤더를 이용하여 적어도 하나의 스위치가 포함된 패킷 포워딩 패스를 계산하는 단계; 및 상기 플로우에 대응하는 플로우 엔트리를 상기 패킷 포워딩 패스에 해당하는 적어도 하나 이상의 스위치로 송신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 디바이스 테이블을 포함하는 단계는, 스위치와 스위치 간의 연결 정보를 링크 테이블 형식으로 관리하는 단계; 및 스위치와 가상 머신 간의 연결 정보를 장치우 테이블 형식으로 관리하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 오버레이 터널을 생성하거나 삭제하는 단계는, TEP에 대한 정보 관리와 가상 머신과 상기 가상 머신에 대응되는 TEP간의 매핑 정보를 생성 또는 갱신하는 단계; 및 상기 매핑 정보에 따라 TEP 간에 오버레이 터널을 생성 또는 제거하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 매핑정보를 생성하는 단계는, 수신한 상기 패킷인 메시지로부터 오리지널 플로우를 추출하는 단계; 수신한 상기 패킷인 메세지를 파싱하여 오리지널 패킷 플로우 정보를 생성하는 단계; 및 오리지널 패킷 플로우에 대응하는 물리 네트워크의 패킷 플로우를 매핑하여 매핑정보를 생성하고, 상기 생성한 매핑정보를 종류에 따라 분류하여 플로우 테이블로 생성하여, 생성한 각 플로우 테이블을 저장 또는 갱신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 상기 플로우 테이블을 저장 또는 갱신하는 단계는, 상기 오리지널 패킷 플로우와 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 오버레이 패킷 플로우의 매핑 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 O2P플로우 테이블을 저장 또는 갱신하는 단계; 및 물리 네트워크를 지나는 오버레이 패킷 플로우에 대해 대응되는 오리지날 플로우의 매핑 정보 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 P2O플로우 테이블을 저장 또는 갱신하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 클라우드와 같은 환경에서 네트워크 가상화를 위해 VXLAN과 같은 오버레이 기반의 가상화 방법이 사용될 때, 오버레이 링크를 구성하는 물리 네트워크 구간에서도 플로우를 구분하여 오리지날 플로우와 매핑하는 것이 가능해 짐으로써 다양한 네트워킹 서비스가 오버레이 링크를 구성하는 물리 네트워크 구간을 포함하여 End-to-End 기반으로 구현할 수 있는 효과가 존재한다.
도 1은 본 발명의 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치를 포함한 네트워크를 나타낸 도면이다.
도 2는 도 1에 도시된 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치의 구성도이다.
도 3는 도 2에 도시된 플로우 제어부의 세부 구성도이다.
도 4는 도 3에 도시된 연결정보 관리부의 세부 구성도이다.
도 5는 도 2에 도시된 오버레이 터널 제어부의 세부 구성도이다.
도 6는 도 2에 도시된 오버레이 패킷 플로우 매핑부의 세부 구성도이다.
도 7은 도 6에 도시된 매핑정보 관리부의 세부 구성도이다.
도 8은 오버레이 터널 제어부에 포함된 TEP의 테이블을 나타낸 도면이다.
도 9a는 본 발명의 실시 예에 따른 오버레이 터널 제어부에서 신규 TEP가 추가되는 경우의 프로세스를 나타낸 흐름도이다.
도 9b는 본 발명의 실시 예에 따른 오버레이 터널 제어부에서 기존 TEP가 제거되는 경우의 프로세스를 나타낸 흐름도이다.
도 10은 도 2에 게시된 오버레이 터널 제어부에 저장된 가상 머신 테이블을 나타낸 도면이다.
도 11a는 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 ARP Request 패킷 전달 과정을 나타낸 도면이다.
도 11b는 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 ARP Response 패킷 전달 과정을 나타낸 도면이다.
도 12a은 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 VM A-1과 VM A-2 사이에 ARP 과정이 완료된 후의 패킷 교환 과정을 나타낸 도면이다.
도 12b은 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 VM A-2과 VM A-1 사이에 ARP 과정이 완료된 후의 패킷 교환 과정을 나타낸 도면이다.
도 13a는 본 발명의 일 실시 예에 따른 O2P 플로우 테이블을 나타낸 도면이다.
도 13b는 본 발명의 일 실시 예에 따른 P2O 플로우 테이블을 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도면을 참조하여 본 발명의 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법에 대하여 설명한다.
도 1은 본 발명의 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치(1000)를 포함한 네트워크를 나타낸 도면이다.
도 1을 참조하면 물리 네트워크가 5개의 SDN 스위치로 구성되어 있고, 세 개의 TEP가 물리 네트워크에 연결되어 있으며, 이들 장치는 오리지널 패킷 플로우 매핑 장치(1000)에 의해 제어되는 것이 나타나 있다.
본 발명의 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치(1000)는 다수의 스위치와 연결될 수 있으며, 각 스위치는 각각 적어도 하나의 TEP(tunnel end-point)와 연결될 수 있다.
여기서 TEP는 가상의 L2 세그먼트의 구현을 위해 필요한 IP-over-IP 또는 MAC-over-IP 형태의 패킷 인캡슐레이션(패킷 캡슐화)과 IP 터널링을 할 수 있는 장치를 의미하여, 적어도 하나의 가상 머신과 연결될 수 있다.
본 발명의 일 실시 예에 따르면 가상 머신과 연결된 하이퍼 바이저 내의 가상 스위치가 사용될 수도 있으며, 또 다른 실시 예에 따르면 TOR 스위치와 같이 별도의 물리 노드가 사용될 수도 있다.
또한 TEP는 가상 머신 간의 패킷 통신을 중계하기 위해 가상 머신과 TEP 간의 매핑 정보를 알고 있어야 하며, 매핑 정보는 TEP 간의 통신을 통해 얻어오거나 제3의 서버로부터 전달받을 수도 있다.
본 발명의 일 실시 예에 따르면 TEP는 패킷의 인캡슐레이션(캡슐화) 및 터널링을 수행 할 수 있는 장치를 의미하여 본 발명의 일 실시 예에 따르면 TEP들은 VXLAN 기반으로 동작할 수 있으나 이에 한정되지 아니하며, 오리지널 플로우에 따라 인캡슐레이션 헤더의 필드 값이 달라진다면 VXLAN이외의 네트워크여도 적용이 가능할 수 있다.
또한 본 발명의 일 실시 예에 따르면 TEP는 오리지널 패킷 플로우 매핑 장치(1000)에 의하여 제어되는 스위치로서의 기능을 수행할 수 있으며, 더불어 네트워크 가상화를 위한 패킷 인캡슐레이션 기능을 수행할 수 있다.
본 발명의 일 실시 예에 따르면 TEP들은 물리 네트워크 상의 멀티캐스트 채널을 통해 각자 관리하는 가상 머신의 정보를 교환할 수 있으며, TEP의 가상 머신과 TEP의 매핑 정보는 오리지널 패킷 플로우 매핑 장치(1000)에 의해 중앙집중식으로 관리될 수 있다.
도 2는 도 1에 도시된 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치(1000)의 구성도이다.
도 2를 참조하면 오리지널 패킷 플로우 매핑 장치(1000)는 패킷인 메시지 수신부(100), 플로우 제어부(200), 오버레이 터널 제어부(300), 오버레이 터널 제어부(400)를 포함할 수 있다.
패킷인 메시지 수신부(100)는 통신 프로토콜을 이용하여 패킷인 메시지를 수신할 수 있다.
본 발명의 일 실시 예에 따르면 패킷인 메시지 수신부(100)는 오픈 플로우와 같은 통신 프로토콜을 이용하여 스위치와 통신하는 역할을 수행할 수 있으며, 스위치로부터 패킷인 메시지를 수신하여 다른 모듈로 전달하는 역할도 수행할 수 있다.
플로우 제어부(200)는 스위치와 연결된 스위치 또는 가상 머신의 연결정보를 관리하고, 패킷인 메시지 기반으로 포워딩 경로를 계산하여, 패킷 포워딩 경로에 포함된 적어도 하나의 스위치에 연결 정보에 따라 플로우 엔트리를 송신할 수 있다.
본 발명의 일 실시 예에 따르면 플로우 제어부(200)는 토폴로지, 스위치와 연결된 디바이스 관리, 포워딩 규칙 설정기능을 수행할 수 있다.
또한, 본 발명의 일 실시 예에 따르면 플로우 제어부(200)는 연결정보 관리부(210), 패스 계산부(220), 플로우 핸들러(230)을 더 포함할 수 있다.
플로우 제어부(200)에 대해서는 도3을 참조하여 자세히 설명하도록 한다.
오버레이 터널 제어부(300)는 적어도 하나의 TEP간의 매핑 정보 및 적어도 하나의 가상 머신과 TEP간의 매핑 정보를 관리하고, 매핑 정보에 따라 TEP 사이의 오버레이 터널을 생성하거나 삭제할 수 있다.
본 발명의 일 실시 예에 따르면 오버레이 터널 제어부(300)는 TEP 간의 터널을 설정하고 가상 머신과 TEP 간의 매핑 정보를 관리할 수 있으며, 관리되는 TEP에 대한 정보와 가상 머신과 TEP 간의 매핑 정보에 따라 TEP 장치에 터널 포트를 생성하거나 삭제할 수 있다.
오버레이 터널 제어부(300)는 도 5를 참조하여 더 자세히 설명하도록 한다.
오버레이 패킷 플로우 매핑부(400)는 캡슐화된 패킷인 메시지를 수신하여 캡슐화된 패킷인 메시지로부터 오리지널 플로우 및 오리지널 패킷 플로우 정보를 추출하고, 오리지널 패킷 플로우와 물리 네트워크를 매핑하여 매핑정보를 생성할 수 있다.
본 발명의 일 실시 예에 따르면 오버레이 패킷 플로우 매핑부(400)는 오버레이 링크를 통과하는 캡슐화된 패킷이 패킷인 메시지로 도착하면 그로부터 오리지널 플로우를 추출하고, 캡슐화된 패킷을 파싱하여 오리지널 플로우 정보를 파싱할 수 있다.
또한 오리지널 패킷 플로우와 그에 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 패킷 플로우를 매핑하여 그 매핑 정보를 생성 및 관리 할 수 있다.
오버레이 패킷 플로우 매핑부(400)는 도 6을 참조하여 더 자세히 설명하도록 한다.
본 발명의 일 실시 예에 따르면 오리지널 패킷 플로우 매핑 장치(1000)는 사용자로부터 토폴로지 및 트래픽에 관한 네트워크 상황 정보 수집 요청, 특정 플로우에 대한 패스 제어 요청, 가상 네트워크의 생성요청, 가상 머신 정보 요청을 수신하는 인터페이스부(500)를 더 포함할 수 있다.
본 발명의 일 실시 예에 따르면 인터페이스부(500)는 SDN 컨트롤러에 대한 오픈 API로서 SDN 컨트롤러로 각종 리퀘스트를 전달할 수 있으며, SDN 컨트롤러가 제공하는 각종 서비스를 이용하는 외부 SDN 응용은 REST API와 같은 오픈 API를 통해 SDN 컨트롤러로 원하는 서비스를 요청할 수 있다.
상기 서비스의 예로는 토폴로지나 트래픽 양과 같은 네트워크 상황 정보 수집 요청, 특정 플로우에 대한 패스 제어 요청, 가상 네트워크의 생성 및 그에 속한 가상 머신 정보의 전달 등이 포함될 수 있으나 이에 한정되지는 않는다.
도 3는 도 2에 도시된 플로우 제어부(200)의 세부 구성도이다.
도 3을 참조하면 플로우 제어부(200)는 연결정보 관리부(210), 패스 계산부(220), 플로우 핸들러(230)를 포함할 수 있다.
연결정보 관리부(210)는 스위치와 스위치 간의 연결 정보를 관리하는 링크 테이블 및 스위치와 가상 머신 간의 연결정보를 관리하는 디바이스 테이블을 포함할 수 있다.
패스 계산부(220)는 수신한 패킷인 메시지의 헤더를 이용하여 적어도 하나의 스위치가 포함된 패킷 포워딩 패스를 계산할 수 있다.
본 발명의 일 실시 예에 따르면 패스 계산부(220) 에서는 VXLAN 패킷의 바깥쪽 헤더의 정보를 바탕으로 패킷 포워딩 패스를 계산할 수 있으며, 패킷 포워딩 패스에는 적어도 하나의 스위치들 간의 연결에 대한 정보가 포함될 수 있다.
플로우 핸들러(230)는 플로우에 대응하는 플로우 엔트리를 패킷 포워딩 패스에 해당하는 적어도 하나 이상의 스위치로 송신할 수 있다.
본 발명의 일 실시 예에 따르면 플로우 핸들러(230)는 해당 패킷 포워딩 패스에 포함되는 적어도 하나의 스위치(예를 들어 SW-1, SW-2, SW-3 등)로 플로우 엔트리를 전달할 수 있다.
도 4는 도 3에 도시된 연결정보 관리부(210)의 세부 구성도이다.
도 4를 참조하면 연결정보 관리부(210)는 스위치 연결정보 관리부(211), 장치 연결정보 관리부(212)를 포함할 수 있다.
스위치 연결정보 관리부(211)는 스위치와 스위치 간의 연결 정보를 링크 테이블 형식으로 관리할 수 있다.
여기서 링크 테이블 형식이란 스위치 간의 연결 정보를 포함하는 링크 엔트리의 집합으로 된 정보 형식을 의미한다.
여기서 링크 엔트리는 상호 연결된 두 개의 스위치 아이디와 각 스위치의 포트 번호를 포함하며, 해당 포트에 설정된 대역폭 등의 정보를 더 포함할 수도 있다.
여기서 스위치는 물리 스위치뿐만 아니라 Open vSwitch와 같은 가상 스위치도 포함될 수 있으며, 포트 또한 물리 포트 뿐만 아니라 VXLAN 포트와 같은 가상 포트 등이 포함될 수 있다.
장치 연결정보 관리부(212)는 스위치와 가상 머신 간의 연결 정보를 장치 테이블 형식으로 관리할 수 있다.
여기서 장치 테이블은 스위치와 장치 간의 연결 정보를 포함하는 장치 엔트리의 집합으로 된 정보 형식을 의미하며, 장치 엔트리는 각 장치를 구분할 수 있는 장치 아이디와 이와 연결된 스위치 아이디 및 포트 번호를 포함한다. 장치를 구분하기 위한 아이디로는 장치의 MAC 주소가 사용될 수 있다.
도 5는 도 2에 도시된 오버레이 터널 제어부(300)의 세부 구성도이다.
도 5를 참조하면 오버레이 터널 제어부(300)는 오버레이 관리부(310), 오버레이 핸들러(320)을 포함할 수 있다.
오버레이 관리부(310)는 TEP에 대한 정보 관리와 가상 머신과 가상머신에 대응되는 TEP간의 매핑 정보를 생성 또는 갱신할 수 있다.
본 발명의 일 실시 예에 따르면 오버레이 관리부(310)에는 TEP에 대한 정보관리를 위해 TEP 테이블이 포함될 수 있다.
TEP 테이블은 도 8을 참조하여 더 자세히 설명하도록 한다.
본 발명의 일 실시 예에 따르면 TEP 테이블을 이용하여 네트워크 상에 TEP가 추가 또는 제거되는 경우 매핑정보를 생성 또는 갱신할 수 있다.
네트워크 상에 TEP가 추가 또는 제거되는 경우 오버레이 관리부(310)에서 이뤄지는 프로세스는 도 9a, b를 참조하여 더 자세히 설명하도록 한다.
오버레이 핸들러(320)는 매핑 정보에 따라 TEP 간에 오버레이 터널을 생성 또는 제거할 수 있다.
도 6은 도 2에 도시된 오버레이 패킷 플로우 매핑부(400)의 세부 구성도이다.
도 6을 참조하면 오버레이 패킷 플로우 매핑부(400)는 오리지널 패킷 플로우 추출부(410), 오버레이 패킷 파싱부(420), 매핑정보 관리부(430)를 포함할 수 있다.
오리지널 패킷 플로우 추출부(410)는 수신한 상기 패킷인 메시지로부터 오리지널 플로우를 추출할 수 있다.
본 발명의 일 실시 예에 따르면 TEP와 연결된 SDN 스위치는 VXLAN 패킷을 수신하면 해당 패킷을 포워딩 하기 위해 오리지널 패킷 플로우 매핑 장치(1000)로 패킷인 메시지를 송신할 수 있고, 수신한 상기 패킷인 메시지로부터 오리지널 패킷 플로우 추출부(410)는 오리지널 플로우를 추출할 수 있다.
패킷인 메시지 파싱부(420)는 수신한 상기 패킷인 메시지를 파싱하여 오리지널 패킷 플로우 정보를 생성할 수 있다.
본 발명의 일 실시 예에 따르면 캡슐화된 패킷을 파싱하여 VXLAN 헤더와 오리지널 패킷 헤더로부터 오리지널 패킷 플로우 정보를 생성할 수 있다.
본 발명의 일 실시 예에 따르면 패킷인 메시지 파싱부(420)는 오버레이 패킷 파서(parser)를 이용하여 VXLAN 헤더 내의 VNID와 오리지널 패킷 플로우 정보를 추출하는 방법으로 생성할 수 있다.
매핑정보 관리부(430)는 오리지널 패킷 플로우에 대응하는 물리 네트워크의 패킷 플로우를 매핑하여 매핑정보를 생성하고, 매핑정보를 종류에 따라 분류하여 플로우 테이블로 생성하여, 생성한 각 플로우 테이블을 저장 또는 갱신할 수 있다.
매핑정보 관리부(430)는 도 7을 참조하여 더 자세히 설명하도록 한다.
도 7은 도 2에 도시된 매핑정보 관리부(430)의 세부 구성도이다.
도 7을 참조하면 매핑정보 관리부(430)는 O2P 정보 관리부(431), P2O 정보 관리부(432)를 더 포함할 수 있다.
O2P 정보 관리부(431)는 오리지널 패킷 플로우와 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 오버레이 패킷 플로우의 매핑 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 O2P 플로우 테이블을 저장 또는 갱신할 수 있다.
O2P 플로우 테이블에 대해서는 도 13a를 참조하여 더 자세히 설명하도록 한다.
P2O 정보 관리부(432)는 물리 네트워크를 지나는 오버레이 패킷 플로우에 대해 대응되는 오리지날 플로우의 매핑 정보 정보를 생성하고, 매핑 정보를 오리지널 플로우에 반영한 P20 플로우 테이블을 저장 또는 갱신할 수 있다.
P20 플로우 테이블에 대해서는 도 13b를 참조하여 더 자세히 설명하도록 한다.
도 8은 오버레이 터널 제어부(300)에 포함된 TEP의 테이블을 나타낸 도면이다.
도 8을 참조하면 TEP에서 TEP의 ID와 IP 주소 및 MAC 주소가 오리지널 패킷 플로우 매핑 장치(1000)로 전달되고, 전달된 정보는 도 5와 같이 오버레이 터널 제어부(300)에 TEP 테이블로 저장될 수 있다.
본 발명의 일 실시 예에 따르면 물리 네트워크에 속한 TEP를 포함한 SDN 스위치들은 부팅과 동시에 오리지널 패킷 플로우 매핑 장치(1000)와 핸드 쉐이킹 프로세스를 수행할 수 있다.
이를 통해 오리지널 패킷 플로우 매핑 장치(1000)는 물리 네트워크에 존재하는 스위치들을 인식할 수 있으며, TEP로 동작하는 스위치는 별도의 프로세스를 통해 사전에 오버레이 터널 제어부(300)에 등록되거나 핸드 쉐이킹 프로세스를 통해 오버레이 터널 제어부(300)에 등록될 수 있다.
도 9a는 본 발명의 실시 예에 따른 오버레이 터널 제어부(300))에서 신규 TEP가 추가되는 경우의 프로세스를 나타낸 흐름도이다.
도 9a를 참조하면 오버레이 터널 제어부(300))에서 신규 TEP가 추가되는 경우의 프로세스가 나타나 있다.
본 발명의 일 실시 예에 따르면 오리지널 패킷 플로우 매핑 장치(1000)가 네트워크 상에 새로운 TEP를 인식하면 TEP 테이블에 신규 TEP 장치를 추가할 수 있으며 이 때 터널링에 사용될 TEP 장치의 IP 주소가 함께 등록될 수 있다.
이후 기존의 TEP들과 신규 TEP 간의 오버레이 통신을 위하여 오버레이 터널 포트를 모든 TEP에 생성할 수 있으며, 이때 사전에 등록된 TEP의 IP 주소가 사용될 수 있다.
도 9b는 본 발명의 실시 예에 따른 오버레이 터널 제어부(300)에서 기존 TEP가 제거되는 경우의 프로세스를 나타낸 흐름도이다.
도 9b를 참조하면 오버레이 터널 제어부(300))에서 신규 TEP가 추가되는 경우의 프로세스가 나타나 있다.
본 발명의 일 실시 예에 따르면 오리지널 패킷 플로우 매핑 장치(1000)가 네트워크에서 TEP 장치가 제거됨을 인식하면 TEP 테이블에서 사라진 TEP를 제거할 수 있으며, 기존 TEP들과 사라진 TEP 간 오버레이 터널 포트를 각 TEP 장치에서 제거할 수 있다.
도 10은 도 2에 게시된 오버레이 터널 제어부(300)에 저장된 가상 머신 테이블을 나타낸 도면이다.
도 10을 참조하면 오버레이 터널 제어부(300)에 저장된 가상 머신 테이블의 구조가 나타나 있다.
본 발명의 일 실시 예에 따르면 가상 머신 테이블은 가상 머신의 가상인터페이스에 부여된 MAC 주소 값을 키 값으로 하여 그에 매핑된 VNID 및 TEP의 IP 및 MAC 주소 필드가 포함될 수 있다.
가상 머신과 VNID의 매핑 관계는 클라우드 컨트롤러에서 가상 머신을 생성 할 때 전달될 수 있으며, 이 때 가상 머신과 TEP 간의 매핑 정보 또한 전달될 수 있다.
본 발명의 일 실시 예에 따르면 가상 머신과 TEP 간 매핑 관계가 포함되어 전달 될 수도 있으나, 오리지널 패킷 플로우 매핑 장치(1000)에서 패킷인 메시지 정보를 기반으로 자체적으로 도출해 낼 수도 있다.
즉, 가상 머신을 통해 패킷을 수신한 TEP가 패킷인 메시지를 오리지널 패킷 플로우 매핑 장치(1000)로 보내면, 이를 수신한 오리지널 패킷 플로우 매핑 장치(1000)는 패킷인 메시지에서 TEP ID 및 가상 머신의 MAC 주소를 알아낼 수 있으며, 이는 가상 머신이 해당 TEP에 연결되어 있음을 의미할 수 있다.
본 발명의 일 실시 예에 따르면 오픈스택(Open Stack)과 같은 클라우드 컨트롤러에서 가상 L2 세그먼트가 생성되고 그에 포함되는 가상 머신들이 생성되어 가상 머신의 가상 네트워크 인터페이스가 특정 가상 L2 세그먼트와 연결되면, 가상 머신에 부여된 MAC 주소 정보 및 VNID 정보 등이 인터페이스부(500)(예를들어 REST API등)를 통해 오리지널 패킷 플로우 매핑 장치(1000)로 전달되고 오버레이 터널 제어부(300)는 이를 가상 머신 테이블에 저장한다.
도 11a는 본 발명의 도 1의 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 ARP Request 패킷 전달 과정을 나타낸 도면이다.
도 11a를 참조하면 TEP 간 ARP 과정은 생략되어 있으며, 각 SDN 기반의 TEP(TEP-1, TEP-2) 및 스위치 (SW-1,SW-2, SW-3)의 플로우 테이블은 비어 있다고 가정한 경우의 오리지널 패킷 플로우 매핑 방법에서의 ARP Request 패킷 전달 과정이 아래와 같이 나타나 있다.
① 가상 머신 A-1이 가상 머신 A2의 IP 주소인 ip-a2에 대한 ARP Request 패킷을 송신한다.
② ARP Request 패킷을 수신한 TEP-1은 플로우 테이블에 해당 패킷에 대한 플로우 엔트리를 검색하고 실패하면 오리지널 패킷 플로우 매핑 장치(1000)에게 해당 패킷을 처리하기 위한 플로우 엔트리를 요청하기 위해 패킷인 메시지를 송신한다.
③ 패킷인 메시지를 수신한 오리지널 패킷 플로우 매핑 장치(1000)는 가상 머신 A-1이 TEP-1에 대응되어 있음을 인지하고 목적지 가상 머신 테이블에서 가상 머신 A-2에 대응되는 TEP를 검색하여 해당 TEP와 연결된 VXLAN 가상 포트로 패킷을 내보내도록 플로우 엔트리를 생성하여 TEP로 송신한다.
만일 가상 머신 테이블에 가상 머신 A-2가 존재하지 않으면, ARP 패킷의 목적지 MAC 주소가 브로드캐스트 MAC주소인 ff:ff:ff:ff:ff:ff 가 되므로, TEP-1에 생성된 모든 VXLAN 포트로 패킷을 내보내도록 플로우 엔트리를 생성한다.
상기 실시 예에서는 TEP도 터널링을 위한 가상 포트를 지원하는 SDN 스위치의 역할을 수행하고 있다고 가정되어 있다.
④ TEP-1은 오리지널 패킷 플로우 매핑 장치(1000)로부터 플로우 엔트리를 수신하여 오리지널 패킷 플로우 매핑 장치(1000)에 포함된 플로우 테이블에 반영하며, 수신된 패킷을 플로우 엔트리에서 지정한 VXLAN 가상 포트로 송신하고 이를 수신한 VXLAN 포트에서는 이를 VXLAN 패킷으로 인캡슐레이션(캡슐화)하여 패킷을 SW-1으로 전송한다.
이 때 VXLAN 패킷의 UDP 목적지 포트 넘버는 4789로 고정되며, UDP 소스 포트 넘버는 오리지날 패킷의 플로우에 따라 결정된다.
본 발명의 일 실시 예에서는 소스 및 목적지 MAC 주소 및 소스 및 목적지 IP 주소 등 4개의 필드에 의해 결정될 수 있으나, 이에 한정되지 아니하며 장비에 따라 다를 필드들이 추가될 수 있다.
⑤ VXLAN 패킷을 전달 받은 SW-1에서는 VXLAN 패킷의 바깥쪽 헤더를 기반으로 플로우 테이블 매칭을 수행하고, 대응되는 플로우 엔트리가 검색되지 않으면 오리지널 패킷 플로우 매핑 장치(1000)에 패킷인 메시지를 송신한다.
본 발명의 일 실시 예에 따르면 SW-1으로부터 수신하는 패킷인 메시지 수신부(100)를 통해 패킷인 메시지를 전달받은 오리지널 패킷 플로우 매핑 장치(1000)는 오버레이 패킷 플로우 매핑부(400)에서 해당 패킷이 VXLAN 패킷 임을 인식하고 이를 파싱하여 대응되는 VNID와 UDP 소스 포트 넘버를 포함하는 오리지날 패킷의 플로우 정보를 추출하여 오리지널 패킷 플로우와 물리 네트워크의 매핑 정보가 포함된 O2P 테이블과 P2O 테이블에 반영한다.
⑥ ~ ⑧ 오리지널 패킷 플로우 매핑 장치(1000)의 플로우 제어부(200)에서는 VXLAN 패킷의 바깥쪽 헤더를 바탕으로 패킷 포워딩 경로를 계산하여 해당 경로에 포함됨 적어도 하나의 스위치 (SW-1, SW-2, SW-3)로 플로우 엔트리를 송신한다.
⑨ ~ ⑪ 전달된 플로우 엔트리에 따라 VXLAN 패킷을 다음 노드로 송신한다.
⑫ VXLAN 패킷을 수신한 TEP-2는 해당 패킷을 디캡슐레이션하여 오리지날 패킷을 추출하여 플로우 테이블에 매칭되는 플로우 엔트리가 있는지 검색하고, 검색에 실패하는 경우 이를 다시 오리지널 패킷 플로우 매핑 장치(1000)로 해당 패킷에 대한 플로우 엔트리를 요청하기 위한 패킷인 메시지를 전송한다.
⑬ 오리지널 패킷 플로우 매핑 장치(1000)는 수신된 패킷인 메시지가 ARP Request 패킷 임을 인식하고 이를 TEP-2에 연결된 적어도 하나의 가상 머신 중 가상 머신 A-1과 같은 VNID 1000에 속한 가상 머신들에게만 패킷을 송신하도록 하는 플로우 엔트리를 TEP-2에 송신한다.
⑭ TEP-2는 수신한 플로우 엔트리에 따라 패킷을 가상 머신 A-2로 전송한다.
도 11b는 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 ARP Response 패킷 전달 과정을 나타낸 도면이다.
도 11b는 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 ARP Response 패킷 전달 과정을 나타낸 도면이다.
도 11b를 참조하면 EP 간 ARP 과정은 생략되어 있으며, 각 SDN 기반의 TEP(TEP-1, TEP-2) 및 스위치 (SW-1,SW-2, SW-3)의 플로우 테이블은 비어 있다고 가정한 경우의 오리지널 패킷 플로우 매핑 방법에서의 ARP Response 패킷 전달 과정이 나타나 있다.
도 11b를 참조하면 ARP Response 패킷의 전달 과정은 도 11a의 ARP Request 패킷의 전달과정과 거의 동일한 과정을 거칠 수 있다.
본 발명의 일 실시 예에 따르면 가상 머신 A-2가 ARP Response패킷을 전송하면 가상 머신 A-2와 TEP-2와의 관계는 오리지널 패킷 플로우 매핑 장치(1000)에 의하여 인식되고, 이는 오버레이 터널 제어부(300)의 가상 머신 테이블에 반영된다.
또한 ARP Response 패킷의 목적지 MAC 주소는 브로드 캐스트 주소가 아닌 가상 머신 A-1의 MAC 주소인 mac-a1으로 설정되기 때문에 TEP-2에서는 TEP-1과 연결된 VXLAN 포트로만 패킷을 송신할 수 있다.
도 12a은 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 가상 머신 A-1과 가상 머신 A-2 사이에 ARP 과정이 완료된 후의 패킷 교환 과정을 나타낸 도면이고, 도 12b은 본 발명의 일 실시 예에 따른 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법에서의 가상 머신 A-2과 가상 머신 A-1 사이에 ARP 과정이 완료된 후의 패킷 교환 과정을 나타낸 도면이다.
도 12a와 12b는 가상 머신 A-1과 가상 머신 A-2 사이에 ARP 과정이 완료된 후의 패킷 교환 과정을 나타내고 있다(도 12a는 A-1->A2, 도 12b는 A2->A1).
본 발명의 일 실시 예에 따르면 가상 머신 간의 ARP 과정이 완료된 후의 패킷 교환 과정은 도 11a, 11b의 ARP 패킷의 전달 과정과 동일한 과정을 거칠 수 있다.
다만 오리지날 패킷의 플로우 정보가 달라지면 VXLAN 패킷으로 인캡슐레이션 될 때 UDP 소스 포트 넘버가 달라지는 차이점이 존재할 수 있다.
즉, 가상 머신-1에서 가상 머신-2로 전송되는 ARP Request패킷(도 11a 참조)과 일반 IP 패킷(도 12a) 모두 TEP-1에서 TEP-2를 거쳐 패킷이 전달되지만 UDP 소스 포트 넘버는 다르게 지정될 수 있다.
도 13a는 본 발명의 일 실시 예에 따른 O2P 플로우 테이블을 나타낸 도면이고, 도 13b는 본 발명의 일 실시 예에 따른 P2O 플로우 테이블을 나타낸 도면이다.
본 발명의 일 실시 예에 따르면 오리지날 패킷이 TEP에서 VXLAN 패킷으로 인캡슐레이션 될 때 바깥쪽 UDP 소스 포트 넘버는 오리지날 패킷의 플로우에 따라 다르게 지정될 수 있다.
본 발명의 일 실시 예에 다르면 VXLAN 패킷의 UDP 소스 포트 넘버가 오리지널 패킷의 소스 MAC (S-MAC), 목적지 MAC (D-MAC), 소스 IP (S-IP), 목적지 IP(D_IP) 등 네 개의 필드 값에 따라 결정될 수 있으나 이에 한정되지 아니하며, TEP의 종류에 따라 달라 질 수 있다.
TEP의 종류에 따라 도 13a과 도 13b과 같이 O2P 및 P2O 테이블에 반영되는 패킷 헤더의 필드 종류도 달라질 수 있다.
본 발명의 일 실시 예에 따르면 TEP와 연결된 SDN 스위치는 VXLAN 패킷을 수신하면 해당 패킷을 포워딩 하기 위해 오리지널 패킷 플로우 매핑 장치(1000)로 패킷인 메시지를 송신할 수 있다.
수신한 패킷인 메시지의 해당 패킷이 VXLAN 패킷이면 오버레이 패킷 플로우 매핑부(400)는 패킷 파서(parser)를 이용하여 VXLAN 헤더 내의 VNID와 오리지널 패킷의 플로우 정보를 추출하고 이를 O2P 테이블과 P2O 테이블에 저장할 수 있다.
본 발명의 일 실시 예에 따르면 O2P 테이블은 오리지날 패킷 플로우와 그에 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 패킷 플로우 간의 매핑 정보를 포함하며, P2O 테이블은 반대로 물리 네트워크를 지나는 오버레이 패킷에 대해 대응되는 오리지널 플로우를 포함할 수 있다.
본 발명의 일 실시 예에 따르면 VXLAN 패킷에 대한 디캡슐레이션은 새로운 플로우가 발생했을 때, 제일 처음 오리지널 패킷 플로우 매핑 장치(1000)로 전달되는 패킷인 메시지에 대해서만 수행되며, 이후의 패킷인 메시지에 대해서는 이미 해당 패킷 플로우에 대한 엔트리가 P2O 및 O2P 테이블에 존재하기 때문에 더 이상 수행되지 아니할 수 있다.
본 발명의 일 실시 예에 따르면 가상 머신이 네트워크에서 사라지거나 다른 물리 서버로 마이그레이션(migration)되어 다른 TEP와 연결되는 경우, 이를 인식한 오리지널 패킷 플로우 매핑 장치(1000)는 해당 가상 머신과 매핑되는 모든 플로우 엔트리를 각 테이블에서 제거할 수 있다.
상기 실시 예에 따르면 가상 머신이 마이그레이션 된 경우, 해당 가상 머신에서 새로운 플로우가 발생할 수 있으며, 상기와 동일한 과정을 거쳐 오리지날 플로우와 물리 네트워크 상의 인캡슐레이션된 패킷 플로우의 매핑 정보가 생성될 수 있다.
본 발명의 일 실시 예에 따르면 오리지널 패킷 플로우 매핑 장치(1000)는 가상 머신이 다른 물리 서버로 마이그레이션 했다는 정보를 클라우드 컨트롤러로 송신하거나 수신 받을 수 있으며, 마이그레이션 된 가상 머신에서 수신한 패킷인 메시지가 오리지널 패킷 플로우 매핑 장치(1000)에 도착했을 때 인식할 수도 있다.
본 발명의 일 실시 예에 따르면 O2P 테이블과 P2O 테이블은 인터페이스부(500)을 통해 오리지널 패킷 플로우 매핑 장치(1000) 외부에 존재하는 SDN에 응용될 수 있게 제공될 수 있다.
상기 실시 예에 따르면 SDN 응용 모듈은 O2P 테이블과 P2O 테이블에 포함된 정보를 바탕으로 물리 네트워크 상의 오버레이 링크 구간에 대해서도 가상 세그먼트별로 플로우를 구분할 수 있다.
이를 통해 오버레이 구간에서도 가상 네트워크 별 네트워크 모니터링 서비스, 가상 네트워크 별 정책 기반의 패킷 포워딩 혹은 라우팅, 가상 네트워크 별 Firewall 등의 보안 서비스 등의 다양한 네트워킹 서비스가 가능해 지며, 이는 곧 다양한 네트워킹 서비스가 오버레이 링크를 구성하는 물리 네트워크 구간을 포함하여 End-to-End 기반으로 구현할 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 패킷인 메시지 수신부 200 : 플로우 제어부
300 : 오버레이 터널 제어부 400 : 오버레이 패킷 플로우 매핑부
500 : 인터페이스부 1000 : 오리지널 패킷 플로우 매핑 장치

Claims (16)

  1. 통신 프로토콜을 이용하여 패킷인 메시지를 수신하는 패킷인 메시지 수신부;
    사용자로부터의 토폴로지 및 트래픽에 관한 네트워크 상황 정보 수집 요청, 특정 플로우에 대한 패스 제어 요청, 가상 네트워크의 생성요청, 또는 가상 머신 정보 요청에 대응하여, 링크 테이블을 이용하여 스위치와 연결된 스위치 또는 가상 머신의 연결정보를 관리하고, 상기 패킷인 메시지 기반으로 포워딩 경로를 계산하여 상기 패킷 포워딩 경로에 포함된 적어도 하나의 스위치에 상기 연결 정보에 따라 플로우 엔트리를 송신하는 플로우 제어부;
    적어도 하나의 TEP간의 매핑 정보 및 적어도 하나의 가상 머신과 TEP간의 매핑 정보를 관리하고, 상기 매핑 정보에 따라 TEP 사이의 오버레이 터널을 생성하거나 삭제하는 오버레이 터널 제어부; 및
    캡슐화된 패킷인 메시지를 수신하여 상기 캡슐화된 패킷인 메시지로부터 오리지널 플로우 및 오리지널 패킷 플로우에 대한 정보를 추출하고, 상기 오리지널 패킷 플로우와 상기 오리지널 패킷 플로우에 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 패킷 플로우를 매핑하여 매핑정보를 생성하는 오버레이 패킷 플로우 매핑부를 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치.
  2. 삭제
  3. 제 1 항에 있어서 상기 플로우 제어부는,
    토폴로지, 스위치와 연결된 디바이스 관리, 포워딩 규칙 설정기능을 수행하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치.
  4. 제 1 항에 있어서 상기 플로우 제어부는,
    스위치와 스위치 간의 연결 정보를 관리하는 링크 테이블 및 스위치와 가상 머신 간의 연결정보를 관리하는 디바이스 테이블을 포함하는 연결정보 관리부;
    상기 수신한 패킷인 메시지의 헤더를 이용하여 적어도 하나의 스위치가 포함된 패킷 포워딩 패스를 계산하는 패스 계산부; 및
    상기 플로우에 대응하는 플로우 엔트리를 상기 패킷 포워딩 패스에 해당하는 적어도 하나 이상의 스위치로 송신하는 플로우 핸들러를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치.
  5. 제 4 항에 있어서 상기 연결정보 관리부는,
    스위치와 스위치 간의 연결 정보를 링크 테이블 형식으로 관리하는 스위치 연결정보 관리부; 및
    스위치와 가상 머신 간의 연결 정보를 장치우 테이블 형식으로 관리하는 장치 연결정보 관리부를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치.
  6. 제 1 항에 있어서 상기 오버레이 터널 제어부는,
    TEP에 대한 정보 관리와 가상 머신과 상기 가상 머신에 대응되는 TEP간의 매핑 정보를 생성 또는 갱신하는 오버레이 관리부; 및
    상기 매핑 정보에 따라 TEP 간에 오버레이 터널을 생성 또는 제거하는 오버레이 핸들러를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치.
  7. 제 1 항에 있어서 상기 오버레이 패킷 플로우 매핑부는,
    수신한 상기 패킷인 메시지로부터 오리지널 플로우를 추출하는 오리지널 패킷 플로우 추출부;
    수신한 상기 패킷인 메세지를 파싱하여 오리지널 패킷 플로우 정보를 생성하는 패킷인 메세지 파싱부; 및
    오리지널 패킷 플로우에 대응하는 물리 네트워크의 패킷 플로우를 매핑하여 매핑정보를 생성하고, 상기 생성한 매핑정보를 종류에 따라 분류하여 플로우 테이블로 생성하여, 생성한 각 플로우 테이블을 저장 또는 갱신하는 매핑정보 관리부를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치.
  8. 제 7 항에 있어서 상기 매핑정보 관리부는,
    상기 오리지널 패킷 플로우와 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 오버레이 패킷 플로우의 매핑 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 O2P플로우 테이블을 저장 또는 갱신하는 O2P 정보 관리부; 및
    물리 네트워크를 지나는 오버레이 패킷 플로우에 대해 대응되는 오리지날 플로우의 매핑 정보 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 P2O플로우 테이블을 저장 또는 갱신하는 P2O 정보 관리부를 더 포함 하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치.
  9. 통신 프로토콜을 이용하여 패킷인 메시지를 수신하는 단계;
    사용자로부터의 토폴로지 및 트래픽에 관한 네트워크 상황 정보 수집 요청, 특정 플로우에 대한 패스 제어 요청, 가상 네트워크의 생성요청, 또는 가상 머신 정보 요청에 대응하여, 링크 테이블을 이용하여 스위치와 연결된 스위치 또는 가상 머신의 연결정보를 관리하고, 상기 패킷인 메시지 기반으로 포워딩 경로를 계산하여 상기 패킷 포워딩 경로에 포함된 적어도 하나의 스위치에 상기 연결 정보에 따라 플로우 엔트리를 송신하는 단계;
    적어도 하나의 TEP간의 매핑 정보 및 적어도 하나의 가상 머신과 TEP간의 매핑 정보를 관리하고, 상기 매핑 정보에 따라 TEP 사이의 오버레이 터널을 생성하거나 삭제하는 단계; 및
    캡슐화된 패킷인 메시지를 수신하여 상기 캡슐화된 패킷인 메시지로부터 오리지널 플로우 및 오리지널 패킷 플로우에 대한 정보를 추출하고, 상기 오리지널 패킷 플로우와 상기 오리지널 패킷 플로우에 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 패킷 플로우를 매핑하여 매핑정보를 생성하는 단계를 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법.
  10. 삭제
  11. 제 9 항에 있어서 상기 플로우 엔트리를 송신하는 단계는,
    토폴로지, 스위치와 연결된 디바이스 관리, 포워딩 규칙 설정기능을 수행하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법.
  12. 제 9 항에 있어서 상기 플로우 엔트리를 송신하는 단계는,
    스위치와 스위치 간의 연결 정보를 관리하는 링크 테이블 및 스위치와 가상 머신 간의 연결정보를 관리하는 디바이스 테이블을 포함하는 단계;
    상기 수신한 패킷인 메시지의 헤더를 이용하여 적어도 하나의 스위치가 포함된 패킷 포워딩 패스를 계산하는 단계; 및
    상기 플로우에 대응하는 플로우 엔트리를 상기 패킷 포워딩 패스에 해당하는 적어도 하나 이상의 스위치로 송신하는 단계를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법.
  13. 제 12 항에 있어서 상기 디바이스 테이블을 포함하는 단계는,
    스위치와 스위치 간의 연결 정보를 링크 테이블 형식으로 관리하는 단계; 및
    스위치와 가상 머신 간의 연결 정보를 장치우 테이블 형식으로 관리하는 단계를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법.
  14. 제 9 항에 있어서 상기 오버레이 터널을 생성하거나 삭제하는 단계는,
    TEP에 대한 정보 관리와 가상 머신과 상기 가상 머신에 대응되는 TEP간의 매핑 정보를 생성 또는 갱신하는 단계; 및
    상기 매핑 정보에 따라 TEP 간에 오버레이 터널을 생성 또는 제거하는 단계를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법.
  15. 제 9 항에 있어서 상기 매핑정보를 생성하는 단계는,
    수신한 상기 패킷인 메시지로부터 오리지널 플로우를 추출하는 단계;
    수신한 상기 패킷인 메세지를 파싱하여 오리지널 패킷 플로우 정보를 생성하는 단계; 및
    오리지널 패킷 플로우에 대응하는 물리 네트워크의 패킷 플로우를 매핑하여 매핑정보를 생성하고, 상기 생성한 매핑정보를 종류에 따라 분류하여 플로우 테이블로 생성하여, 생성한 각 플로우 테이블을 저장 또는 갱신하는 단계를 더 포함하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법.
  16. 제 15 항에 있어서 상기 플로우 테이블을 저장 또는 갱신하는 단계는,
    상기 오리지널 패킷 플로우와 대응되는 오버레이 링크를 구성하는 물리 네트워크 상의 오버레이 패킷 플로우의 매핑 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 O2P플로우 테이블을 저장 또는 갱신하는 단계; 및
    물리 네트워크를 지나는 오버레이 패킷 플로우에 대해 대응되는 오리지날 플로우의 매핑 정보 정보를 생성하고, 상기 매핑 정보를 상기 오리지널 플로우에 반영한 P2O플로우 테이블을 저장 또는 갱신하는 단계를 더 포함 하는 것을 특징으로 하는 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 방법.
KR1020150159181A 2014-11-25 2015-11-12 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법 KR102024545B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/952,832 US9900238B2 (en) 2014-11-25 2015-11-25 Overlay network-based original packet flow mapping apparatus and method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140165576 2014-11-25
KR1020140165576 2014-11-25

Publications (2)

Publication Number Publication Date
KR20160062688A KR20160062688A (ko) 2016-06-02
KR102024545B1 true KR102024545B1 (ko) 2019-09-24

Family

ID=56135788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150159181A KR102024545B1 (ko) 2014-11-25 2015-11-12 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102024545B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102322454B1 (ko) * 2020-04-28 2021-11-05 고려대학교 산학협력단 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템
CN115001900A (zh) * 2022-06-06 2022-09-02 中移(杭州)信息技术有限公司 报文转发方法、装置、设备及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140016501A1 (en) * 2012-07-16 2014-01-16 International Business Machines Corporation Flow based overlay network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140106235A (ko) * 2013-02-26 2014-09-03 한국전자통신연구원 오픈플로우 스위치 및 그 패킷 처리 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140016501A1 (en) * 2012-07-16 2014-01-16 International Business Machines Corporation Flow based overlay network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Cisco White Paper, VXLAN Overview: Cisco Nexus 9000 Series Switches*

Also Published As

Publication number Publication date
KR20160062688A (ko) 2016-06-02

Similar Documents

Publication Publication Date Title
JP5991424B2 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
US9900238B2 (en) Overlay network-based original packet flow mapping apparatus and method therefor
CN104506408B (zh) 基于sdn的数据传输的方法及装置
US9225641B2 (en) Communication between hetrogenous networks
US10645006B2 (en) Information system, control apparatus, communication method, and program
US20160301603A1 (en) Integrated routing method based on software-defined network and system thereof
EP2843906B1 (en) Method, apparatus, and system for data transmission
JP5994851B2 (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
CN104796344B (zh) 基于SDN实现报文转发的方法、系统、Openflow交换机及服务器
JP2019500822A (ja) 仮想マシンパケット制御
CN106936777A (zh) 基于OpenFlow的云计算分布式网络实现方法、系统
EP3069471B1 (en) Optimized multicast routing in a clos-like network
US9667527B2 (en) Control apparatus, communication system, tunnel endpoint control method, and program
CN107566237B (zh) 一种数据报文处理方法及装置
EP3720075B1 (en) Data transmission method and virtual switch
CN105897465A (zh) 设备配置方法及装置
US10154073B2 (en) Packet forwarding apparatus for handling multicast packet
EP3113425B1 (en) Encapsulation method for service routing packet, service forwarding entity and control plane
CN106559302A (zh) 单播隧道建立方法、装置和系统
US20220210036A1 (en) Network Measurement System And Method, Device, And Storage Medium
CN108696370B (zh) 一种服务器与业务绑定和解绑定方法、装置及系统
WO2016019676A1 (zh) 一种软件定义网络sdn中处理数据包的方法、装置及系统
KR102024545B1 (ko) 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법
CN108833284B (zh) 一种云平台和idc网络的通信方法及装置
JP6206493B2 (ja) 制御装置、通信システム、中継装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant