KR20170052002A - 가상 네트워크 기능 체이닝 시스템 및 방법 - Google Patents

가상 네트워크 기능 체이닝 시스템 및 방법 Download PDF

Info

Publication number
KR20170052002A
KR20170052002A KR1020150153853A KR20150153853A KR20170052002A KR 20170052002 A KR20170052002 A KR 20170052002A KR 1020150153853 A KR1020150153853 A KR 1020150153853A KR 20150153853 A KR20150153853 A KR 20150153853A KR 20170052002 A KR20170052002 A KR 20170052002A
Authority
KR
South Korea
Prior art keywords
nfp
packet
header
interface
forwarder
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020150153853A
Other languages
English (en)
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 KR1020150153853A priority Critical patent/KR20170052002A/ko
Priority to US15/269,240 priority patent/US20170126815A1/en
Publication of KR20170052002A publication Critical patent/KR20170052002A/ko
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • 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/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 입력 패킷을 수신하는 포워더 및 오케스트레이터가 제공한 NFP(Network Forwarding Path) 매핑 테이블을 참조하여 입력 패킷의 NFP_id를 검출하고, NFP_id 및 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 브로커를 포함하되, 브로커는 VNF로부터 NFP_id, branch_id 및 데이터를 포함하는 하향 패킷을 수신하고, NFP_id 또는 NFP 매핑 테이블 상에서 branch_id에 대응하는 다음 NFP_id에 따라 헤더를 구성하고, 하향 패킷에 포함된 데이터 및 헤더를 포함하는 출력 패킷을 포워더로 전송하고, 포워더는 출력 패킷의 헤더에 따라 출력 패킷을 전송하는 것을 특징으로 한다.

Description

가상 네트워크 기능 체이닝 시스템 및 방법{SYSTEM AND METHOD FOR CHAINING VIRTUALIZED NETWORK FUNTION}
본 발명은 가상 네트워크 기능(VNF: Virtualized Network Funtion)의 체이닝에 관한 것으로, 보다 상세하게는 시스템과 독립적인 가상 네트워크 기능 간의 체이닝 기술에 관한 것이다.
NFV(Network Functions Virtualization) 기술은 컴퓨팅 자원과 네트워크 자원의 효율적인 통합 관리를 통해서 새로운 서비스를 창출하기 위한 미래 기술의 하나로 주목을 받고 있다.
VNF 체이닝 기술을 적용하기 위해서는 각 VNF 내에 체이닝을 처리하기 위한 로직을 포함시키는 것이 요구된다. 하지만, VNF는 자체의 독립적인 기능으로 VNF 벤더들로부터 제공되는 것이 바람직하다. 따라서, VNF 체이닝에 관한 로직이 VNF에 포함되어야 하는 경우, VNF 벤더들은 VNF 체이닝을 위한 로직을 구성하기 위해 많은 비용을 지불하여야 한다.
더욱이, 각 VNF가 상이한 체이닝 기술에 따른 로직을 구비하는 경우, 각 VNF 간 상이한 체이닝 기술을 연동하기 위한 부가적인 로직이 VNF에 요구된다. 또한, 계속적으로 추가되거나 변경되는 체이닝 기술에 따라서 모든 VNF가 해당 체이닝 기술에 따라서 변경이나 업데이트되어야 하나 이는 상당히 큰 비용을 요구하는 작업이다.
또한, 각 VNF가 상이한 체이닝 기술에 따른 로직을 구비하는 구조의 체이닝 기술은 시스템 종속적이기 때문에, VNF에서 시스템에 관련된 체이닝 로직을 처리하는 것은 VNF의 독립성에 심각한 문제를 야기할 수 있다.
본 발명이 해결하고자 하는 과제는 복수의 VNF에 대한 독립성을 보장하는 가상 네트워크 기능 체이닝 시스템을 제공하는 것이다.
본 발명의 일 측면에 따르면, 입력 패킷을 수신하는 포워더; 및 오케스트레이터가 제공한 NFP(Network Forwarding Path) 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하고, 상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 브로커; 를 포함하되, 상기 브로커는 상기 VNF로부터 상기 NFP_id, branch_id 및 데이터를 포함하는 하향 패킷을 수신하고, 상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 따라 헤더를 구성하고, 상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 상기 포워더로 전송하고, 상기 포워더는 상기 출력 패킷의 헤더에 따라 상기 출력 패킷을 전송하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템이 제공된다.
상기 브로커는 상기 하향 패킷의 branch_id가 분기가 없음을 나타내는 경우, 상기 NFP_id에 따라 상기 헤더를 구성하고, 상기 하향 패킷의 branch_id가 분기가 있음을 나타내는 경우, 상기 NFP 매핑 테이블 상에서 상기 branch_id 및 상기 NFP_id에 대응하는 상기 다음 NFP_id에 따라 상기 헤더를 구성할 수 있다.
상기 브로커는, 상기 VNF로부터 상기 하향 패킷을 수신하는 VNF 인터페이스; 상기 포워더로부터 상기 입력 패킷을 수신하는 포워더 인터페이스; 상기 입력 패킷 또는 상기 하향 패킷의 NFP_id를 검출하는 분류기; 및 상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 입력 패킷의 NFP_id에 대응하는 인터페이스 정보를 상기 VNF 인터페이스로 전송하고, 상기 NFP 인터페이스 테이블을 참조하여 상기 하향 패킷의 NFP_id에 대응하는 인터페이스 정보를 획득하고, 상기 인터페이스 정보에 따라 상기 헤더를 생성하는 맵퍼; 를 포함하되, 상기 VNF 인터페이스는 상기 인터페이스 정보에 따라 네트워크 인터페이스 또는 시스템 인터페이스를 구성하고, 상기 포워더 인터페이스는 상기 헤더를 포함하는 상기 출력 패킷을 상기 포워더로 전송할 수 있다.
상기 브로커는, NFP_id가 상기 입력 패킷의 헤더에 포함되어 있는 경우, 상기 입력 패킷의 헤더에 포함된 NFP_id를 상기 입력 패킷의 NFP_id로 검출하고, 상기 NFP_id가 상기 입력 패킷의 헤더에 포함되어 있지 않은 경우, 상기 NFP 매핑 테이블 상에서 상기 입력 패킷의 입력 포트 정보 및 상기 입력 패킷의 헤더와 대응하는 NFP_id를 상기 입력 패킷의 NFP_id로 검출할 수 있다.
본 발명의 다른 측면에 따르면, NFP(Network Forwarding Path) 매핑 테이블을 제공하는 오케스트레이터; 및 입력 패킷을 수신하고, 상기 NFP 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하고, 상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 브로커링 포워더;를 포함하되, 상기 브로커링 포워더는 상기 VNF로부터 상기 NFP_id, branch_id 및 데이터를 포함하는 하향 패킷을 수신하고, 상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 대응하는 헤더를 생성하고, 상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 상기 헤더에 따른 경로를 통해 전송하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템이 제공된다.
상기 브로커링 포워더는 상기 하향 패킷의 branch_id가 분기가 없음을 나타내는 경우, 상기 NFP_id에 따라 상기 헤더를 구성하고, 상기 하향 패킷의 branch_id가 분기가 있음을 나타내는 경우, 상기 NFP 매핑 테이블 상에서 상기 branch_id 및 상기 NFP_id에 대응하는 상기 다음 NFP_id에 따라 상기 헤더를 구성할 수 있다.
상기 브로커링 포워더는, 상기 VNF로부터 상기 하향 패킷을 수신하는 VNF 인터페이스; 상기 포워더로부터 상기 입력 패킷을 수신하는 포워딩 엔진; 상기 입력 패킷 또는 상기 하향 패킷의 NFP_id를 검출하는 분류기; 상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 입력 패킷의 NFP_id에 대응하는 인터페이스 정보를 상기 VNF 인터페이스로 전송하고, 상기 NFP 인터페이스 테이블을 참조하여 상기 하향 패킷의 NFP_id에 대응하는 인터페이스 정보를 획득하고, 상기 인터페이스 정보에 따라 상기 헤더를 생성하는 맵퍼; 를 포함하되, 상기 VNF 인터페이스는 상기 인터페이스 정보에 따라 네트워크 인터페이스 또는 시스템 인터페이스를 구성하고, 상기 포워더 인터페이스는 상기 헤더를 포함하는 상기 출력 패킷을 상기 헤더에 따른 경로를 통해 전송할 수 있다.
상기 브로커링 포워더는, NFP_id가 상기 입력 패킷의 헤더에 포함되어 있는 경우, 상기 입력 패킷의 헤더에 포함된 NFP_id를 상기 입력 패킷의 NFP_id로 검출하고, 상기 NFP_id가 상기 입력 패킷의 헤더에 포함되어 있지 않은 경우, 상기 NFP 매핑 테이블 상에서 상기 입력 패킷의 입력 포트 정보 및 상기 입력 패킷의 헤더와 대응하는 NFP_id를 상기 입력 패킷의 NFP_id로 검출할 수 있다.
본 발명의 또 다른 측면에 따르면, 가상 네트워크 기능 체이닝 시스템의 브로커 또는 브로커링 포워더가 가상 네트워크 기능 체이닝을 하는 방법에 있어서, 입력 패킷을 수신하는 단계; 오케스트레이터가 제공하는 NFP(Network Forwarding Path) 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하는 단계; 상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 단계; 상기 VNF로부터 상기 NFP_id, branch_id 및 데이터를 포함하는 하향 패킷을 수신하는 단계; 상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 따라 헤더를 구성하는 단계; 및 상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 전송하는 단계;를 포함하는 가상 네트워크 기능 체이닝 방법이 제공된다.
상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 따라 헤더를 구성하는 단계는, 상기 하향 패킷의 branch_id가 분기가 없음을 나타내는 경우, 상기 NFP_id에 따라 상기 헤더를 구성하는 단계; 및 상기 하향 패킷의 branch_id가 분기가 있음을 나타내는 경우, 상기 NFP 매핑 테이블 상에서 상기 branch_id 및 상기 NFP_id에 대응하는 상기 다음 NFP_id에 따라 상기 헤더를 구성하는 단계를 포함할 수 있다.
상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 단계는, 상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 입력 패킷에 대응하는 인터페이스 정보에 따라 네트워크 인터페이스 또는 시스템 인터페이스를 구성하는 단계; 및 상기 네트워크 인터페이스 또는 상기 시스템 인터페이스를 통해 상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion)로 전송하는 단계를 포함하고, 상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 전송하는 단계는, 상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 하향 패킷에 대응하는 인터페이스 정보에 따른 상기 헤더를 구성하는 단계; 및 상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 상기 헤더에 따른 경로를 통해 전송하는 단계를 포함할 수 있다.
오케스트레이터가 제공하는 NFP(Network Forwarding Path) 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하는 단계는, NFP_id가 상기 입력 패킷의 헤더에 포함되어 있는 경우, 상기 입력 패킷의 헤더에 포함된 NFP_id를 상기 입력 패킷의 NFP_id로 검출하는 단계; 및 상기 NFP_id가 상기 입력 패킷의 헤더에 포함되어 있지 않은 경우, 상기 NFP 매핑 테이블 상에서 상기 입력 패킷의 입력 포트 정보 및 상기 입력 패킷의 헤더와 대응하는 NFP_id를 상기 입력 패킷의 NFP_id로 검출하는 단계를 포함할 수 있다.
상술한 바와 같이 본 발명의 일 실시예에 따르면, VNF의 순수 기능과 체이닝 인터페이스를 분리하여 각 VNF의 시스템에 대한 독립성을 제공하는 가상 네트워크 기능 체이닝 시스템을 제공할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 기존 VNF에 대한 변경없이 신규 체이닝 기술을 적용하여, 신규 체이닝 기술의 적용을 위한 비용을 절감할 수 있다.
도 1은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템을 예시한 블록도.
도 2는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 제공하는 NFP를 예시한 도면.
도 3은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 수신 및 전송하는 패킷을 예시한 도면.
도 4는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템의 브로커를 예시한 블록도.
도 5는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템의 브로커와 VNF가 송수신하는 정보를 예시한 도면.
도 6은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템 내의 브로커의 구현 형태를 예시한 도면.
도 7은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템의 브로커링 포워더를 예시한 블록도.
도 8은 종래의 가상 네트워크 기능 체이닝 방식에서 이종의 체이닝 방식을 따르는 포워더 간 연동이 불가능한 경우를 예시한 도면.
도 9는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 이종의 체이닝 방식을 따르는 브로커링 포워더를 통해 VNF 간의 체이닝을 수행하는 과정을 예시한 도면.
도 10은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 다중 NFP를 처리하는 과정을 예시하는 도면.
도 11은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 VNF 분기 처리를 수행하는 것을 예시한 도면.
도 12는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 상향 패킷에 대한 가상 네트워크 기능 체이닝을 제공하는 과정을 예시한 순서도.
도 13은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 하향 패킷에 대한 가상 네트워크 기능 체이닝을 제공하는 과정을 예시한 순서도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소로 신호를 "전송한다"로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되어 신호를 전송할 수 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 신호를 전송할 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템을 예시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 제공하는 NFP를 예시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 수신 및 전송하는 패킷을 예시한 도면이고, 도 4는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템의 브로커를 예시한 블록도이고, 도 5는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템의 브로커와 VNF가 송수신하는 정보를 예시한 도면이다.
본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템은 오케스트레이터(110), 컨트롤러(120), 브로커(130), 포워더(140) 및 VNF(150)를 포함한다. 이 때, 도 1에서는 단일의 포워더(140), 브로커(130) 및 VNF(150)를 포함하는 것으로 예시되었지만, 포워더(140), 브로커(130) 및 VNF(150)는 복수로 구성될 수 있다. 즉, 도 2와 같이 가상 네트워크 기능 체이닝 시스템은 서로 연결된 하나 이상의 포워더(140)를 포함할 수 있고, 각 포워더(140)는 하나 이상의 VNF(150)와 브로커(130)를 통해 연결될 수 있다. 이 때, 각 포워더(140)가 송수신하는 패킷은 도 3과 같은 구조를 가질 수 있다. 예를 들어, 포워더(140)가 송수신하는 패킷이 체이닝 헤더 방식에 따른 패킷인 경우, 310과 같이 해당 패킷은 전송 헤더, 체이닝 헤더 및 데이터를 포함할 수 있다. 포워더(140)가 송수신하는 패킷이 MAC 체이닝 방식에 따른 패킷인 경우, 320과 같이 해당 패킷은 전송 헤더, MAC 주소 및 데이터를 포함할 수 있다. 포워더(140)가 송수신하는 패킷이 VLAN 체이닝 방식에 따른 패킷인 경우, 330과 같이 해당 패킷은 전송 헤더, VLAN_id 및 데이터를 포함할 수 있다. 이하, 체이닝 헤더, MAC, VLAN_id와 같이 NFP 처리를 위한 헤더를 NFP 헤더라 통칭하도록 한다. 또한, 포워더(140)로부터 VNF(150)로 전송되는 패킷을 상향 패킷이라 지칭하고, VNF(150)로부터 포워더(140)로 전송되는 패킷을 하향 패킷이라 지칭하도록 한다. 또한, 네트워크 인터페이스를 통해 목적지까지 패킷을 전송하기 위한 오버레이 헤더를 전송(Transport) 헤더라 지칭한다.
오케스트레이터(110)는 패킷의 입력 포트를 나타내는 입력 포트 정보와, NFP 헤더 및 NFP_id를 매핑한 테이블인 NFP 맵핑 테이블을 후술할 분류기로 제공한다. 또한, NFP 맵핑 테이블은 분기형 VNF에 대한 branch_id 및 해당 branch_id에 대응하는 NFP_id를 더 포함할 수 있다. 이 때, 오케스트레이터(110)는 입력된 패킷의 NFP와는 별도로 해당 NFP 상에서 발생할 수 있는 각 분기에 대해 새로운 NFP를 구성(즉, 각 branch_id에 대해 새로운 NFP를 구성)하고, 각 새로운 NFP에 대한 고유의 NFP_id를 매핑하여, 각 분기에 대한 NFP를 식별할 수 있도록 할 수 있다. 이 때, VNF 제공자는 VNF descriptor에 분기형 VNF 여부, 분기 개수 및 분기 정보를 포함시켜 오케스트레이터(110)로 미리 제공할 수 있다. 분기 정보는 branch_id와 branch에 대한 설명을 포함한다. 이 때, branch에 대한 설명은 IDS(Intrusion Detection System)으로 동작하는 VNF에서 생성하는 branch_id 중 branch_id 0은 정상(normal) 패킷을 나타내고, branch_id 1은 비정상(abnormal) 패킷을 나타내는 설명일 수 있다.
오케스트레이터(110)는 컨트롤러(120)를 통해 NFP 맵핑 테이블을 브로커(130)로 제공하거나, 상향 패킷에 대한 NFP_id를 요청하는 질의를 컨트롤러(120)를 통해 브로커(130)로부터 수신하는 경우, 해당 NFP_id를 컨트롤러(120)를 통해 브로커(130)로 제공할 수 있다. 또한, 오케스트레이터(110)는 각 NFP_id에 맵핑된 상향 패킷 또는 하향 패킷을 전달할 수 있는 인터페이스의 타입, 인터페이스(네트워크 인터페이스 및 시스템 인터페이스)에 관한 정보인 네트워크 인터페이스 정보 및 시스템 인터페이스 정보를 포함하는 NFP 인터페이스 테이블을 브로커(130)로 제공할 수 있다. 즉, 오케스트레이터(110)는 VNF(150)와 브로커(130) 간 전송 헤더를 포함하는 패킷을 전송하는 상황인 경우, 전송 헤더를 생성하기 위해 요구되는 네트워크 인터페이스 정보를 브로커(130)로 제공하고, VNF(150)와 브로커(130)가 하나의 시스템 내에 구현된 경우, 해당 시스템 내의 프로토콜에 따른 패킷 전송을 위해 요구되는 시스템 인터페이스 정보를 브로커(130)로 제공할 수 있다.
즉, VNF(150)로 출력되는 상향 패킷에 대해서 브로커(130)로 제공되는NFP 인터페이스 테이블은 하기의 표 1 같은 형태로 나타낼 수 있다.
NFP_id 인터페이스 타입(interface_type) 시스템 인터페이스 정보(network_interface) 시스템 인터페이스 정보(system_interface)
또한, 하향 패킷에 대해 브로커(130)로 제공되는 NFP 인터페이스 테이블은 표 2와 같이 나타낼 수 있다. 이 때, NFP 인터페이스 테이블은 브로커(130)와 포워더(140)가 연결되어 있는 경우, 브로커(130)에서 포워더(140)로 패킷을 전송하기 위한 체이닝 타입(chaining_type)과 터널링 정보(Tunneling_type, Tunnel_id)를 제공하며, 브로커(130)와 포워더(140)가 일체형으로 구현된 경우, 포워더에서 다음 VNF와 대응하는 포워더(140)로 패킷을 전송하기 위한 체이닝 타입과 터널링 정보를 제공할 수 있다.
NFP_id chaining_type service_id MAC address VLAN_id 포워더 address Tunneling_type Tunnel_id output_port
컨트롤러(120)는 오케스트레이터(110)로부터 NFP 맵핑 테이블 및 NFP 인터페이스 테이블을 수신하고, NFP 맵핑 테이블 및 NFP 인터페이스 테이블를 브로커(130)로 전송할 수 있다. 또는 컨트롤러(120)는 브로커(130)로부터 질의를 수신하는 경우, 오케스트레이터(110)로 해당 질의를 전송하고, 오케스트레이터(110)로부터 질의에 대한 답변을 수신하고, 해당 답변을 브로커(130)로 전송할 수 있다.
브로커(130)는 VNF(150)로부터 패킷을 수신하고, 해당 패킷을 포워더(140)에 맞게 조정하여 포워더(140)로 전송한다. 또한, 브로커(130)는 포워더(140)로부터 패킷을 수신하고, 해당 패킷을 VNF(150)에 정의된 형태로 조정하여 VNF(150)로 전송한다. 이하, 도 4를 참조하여, 브로커(130)의 기능을 상세히 설명하도록 한다.
도 4를 참조하면, 브로커(130)는 VNF 인터페이스(410), 분류기(420), 맵퍼(430), 포워더 인터페이스(440)를 포함한다.
VNF 인터페이스(410)는 VNF(150)와 연결되어 패킷을 송수신한다. 예를 들어, VNF 인터페이스(410)는 상향 패킷에 대한 NFP_id, 인터페이스 정보(네트워크 인터페이스 정보 또는 시스템 인터페이스 정보) 및 데이터를 맵퍼(430)로부터 수신하는 경우, 인터페이스 정보에 따라 VNF(150)와 연결하고, 도 5와 같이 NFP_id 및 데이터를 VNF(150)로 전송할 수 있다. 또한, VNF 인터페이스(410)는 VNF(150)로부터 하향 패킷에 대한 flow_id 및 데이터를 수신하는 경우, flow_id 및 데이터를 분류기(420)로 전송할 수 있다.
분류기(420)는 포워더 인터페이스(440)로부터 수신한 상향 패킷을 분석하여, 해당 패킷에 대응하는 NFP_id를 확인하고, NFP_id 및 데이터를 맵퍼(430)로 전송한다. 예를 들어, 분류기(420)는 포워더 인터페이스(440)로부터 상향 패킷을 수신할 수 있다. 분류기(420)는 상향 패킷의 헤더 정보를 분석하여 상향 패킷이 유효한 패킷(미리 지정된 형식에 따르는 정상적인 패킷)인지 확인한다. 분류기(420)는 상향 패킷이 유효한 패킷인 경우, 헤더 정보 중 NFP 헤더를 참조하여 상향 패킷의 체이닝 방법을 확인한다. NFP 헤더가 NFP_id를 포함하는 경우(즉, 상향 패킷의 체이닝 방식이 체이닝 헤더 방식인 경우), 분류기(420)는 상향 패킷의 헤더 정보로부터 NFP_id를 추출한다. NFP 헤더가 NFP_id를 포함하지 않는 경우, 분류기(420)는 상향 패킷이 수신된 입력 포트와 NFP 헤더에 포함된 MAC 주소나 VLAN_id와 대응하는 NFP_id를 NFP 맵핑 테이블을 참조하여 확인한다. 이 때, NFP 맵핑 테이블을 오케스트레이터(110)로부터 수신하여 미리 저장하고 있는 경우, 분류기(420)는 저장된 NFP 맵핑 테이블을 직접 참조할 수 있고, NFP 맵핑 테이블을 오케스트레이터(110)로부터 미리 수신하지 않은 경우, 분류기(420)는 오케스트레이터(110)로 상향 패킷에 대한 NFP_id를 질의하여 확인할 수 있다. 분류기(420)는 NFP_id 및 상향 패킷의 데이터를 맵퍼(430)로 전송한다.
또한, 분류기(420)는 데이터 및 flow_id를 포함하는 하향 패킷을 VNF 인터페이스(410)로부터 수신한다. 분류기(420)는 flow_id에 포함된 하향 패킷의 NFP_id 및 branch_id를 추출한다. branch_id가 분기가 있음을 나타내는 경우(예를 들어, branch_id가 0이 아닌 경우), 분류기(420)는 NFP 맵핑 테이블을 참조하여 branch_id에 상응하는 NFP_id를 획득하거나, 오케스트레이터(110)로 branch_id에 상응하는 NFP_id를 질의하여 획득한다. 분류기(420)는 획득한 NFP_id 및 데이터를 맵퍼(430)로 전송한다. 또한, branch_id가 분기가 없음을 나타내는 경우(branch_id가 0인 경우), 분류기(420)는 하향 패킷에 대한 분기가 없는 것으로 판단하고, flow_id에 포함된 NFP_id 및 데이터를 맵퍼(430)로 전송한다.
분류기(420)로부터 상향 패킷의 NFP_id 및 데이터를 수신하는 경우, 맵퍼(430)는 NFP 인터페이스 테이블을 참조하여 NFP_id와 NFP_id에 매핑된 인터페이스 타입에 상응하는 네트워크 인터페이스 정보 또는 시스템 인터페이스 정보를 VNF 인터페이스(440)로 전송한다. 예를 들어, 맵퍼(430)는 각 브로커(130)에 연결된 VNF(150)에 대응하는 NFP_id를 미리 저장할 수 있고, 상향 패킷의 NFP_id가 당해 브로커(130)와 연결된 VNF(150)의 NFP와 대응하는지 판단할 수 있다. 상향 패킷의 NFP_id가 브로커(130)와 연결된 VNF(150)의 NFP와 대응하는 경우, 맵퍼(430)는 NFP 인터페이스 테이블을 참조하여, NFP_id와 대응하는 인터페이스 타입을 확인할 수 있다. NFP_id와 대응하는 인터페이스 타입이 네트워크 인터페이스인 경우, 맵퍼(430)는 네트워크 인터페이스 정보를 NFP 인터페이스 테이블로부터 추출하고, NFP_id와 대응하는 인터페이스 타입이 시스템 인터페이스인 경우, 맵퍼(430)는 시스템 인터페이스 정보를 NFP 인터페이스 테이블로부터 추출한다. 맵퍼(430)는 NFP_id, 네트워크 인터페이스 정보 또는 시스템 인터페이스 정보와 상향 패킷의 데이터를 VNF 인터페이스(410)로 전송한다.
맵퍼(430)는 분류기(420)로부터 하향 패킷의 NFP_id 및 데이터를 수신하는 경우, NFP 인터페이스 테이블을 참조하여 NFP_id를 통해 체이닝하고자 하는 다음 VNF의 VNF 인터페이스 정보를 추출한다. 이 때, 다음 VNF의 VNF 인터페이스 정보는 체이닝 방식, 헤더의 service_id, 다음 VNF의 주소, 다음 VNF로 가기 위한 VLAN_id 및 다음 VNF로 가기 위한 포워더 연결 정보를 포함한다. 포워더 연결 정보는 포워더 주소와 터널링 정보 및 포워더로 출력될 포트 정보 등을 포함할 수 있다. service_id는 NFP_id에 상응하는 경로에 분기가 발생하는 경우, 다음 VNF로 패킷이 전송되는 경로를 타 경로와 구분하여 나타내는 식별 정보이다. 맵퍼(430)는 VNF 인터페이스 정보를 참조하여 NFP 헤더를 생성한다. 이 때, 하향 패킷이 체이닝 헤더 방식을 따르는 경우, 맵퍼(430)는 NFP_id와 service_id를 조합하여 NFP 헤더를 생성할 수 있다. 또한, 맵퍼(430)는 service_id를 변경하여 하향 패킷이 다음 홉(VNF)으로 향하는 패킷임을 명시할 수 있다. 하향 패킷이 MAC 방식을 따르는 경우, 맵퍼(430)는 NFP 매핑 테이블을 참조하여 NFP_id에 대응하는 MAC 주소인 다음 VNF의 MAC 주소를 목적 주소로 하여 NFP 헤더를 구성할 수 있다. 또한, 하향 패킷이 VLAN방식을 따르는 경우, 맵퍼(430)는 NFP 매핑 테이블을 참조하여 NFP_id에 대응하는 VLAN_id(다음 VNF로 하향 패킷을 포워딩하기 위해 미리 정의된 VLAN_id)를 포함하는 NFP 헤더를 생성한다. NFP 헤더를 생성한 이후, 맵퍼(430)는 전송 헤더 및 출력 포트 정보를 생성한다. 이 때, 전송 헤더는 다음 포워더로 하향 패킷을 전송하기 위한 정보이기 때문에 다음 VNF와는 독립된 정보이고, 터널링과 같은 방식으로 다음 포워더의 주소 정보를 목적지 주소로 포함하도록 생성될 수 있다. 또한, 맵퍼(430)는 전송 헤더의 생성에 필요한 주소 정보와 터널링 정보는 포워더 연결 정보로부터 획득할 수 있다. 또한, 출력 포트 정보는 포워더 인터페이스(440)에서 하향 패킷이 출력될 포트를 나타낼 수 있다. 맵퍼(430)는 NFP 헤더, 전송 헤더, 출력 포트 정보 및 데이터와 함께 포워더 인터페이스(440)로 전송한다.
포워더 인터페이스(440)는 포워더(140)와 브로커(130) 간의 인터페이스 기능을 수행한다. 예를 들어, 맵퍼(430)로부터 NFP 헤더, 전송 헤더, 출력 포트 정보 및 데이터를 수신하는 경우, 포워더 인터페이스(440)는 NFP 헤더, 전송 헤더 및 데이터를 포함하는 하향 패킷을 구성하고, 출력 포트 정보에 따른 포트를 통해 하향 패킷을 포워더(140)로 전송할 수 있다. 또한, 포워더(140)로부터 상향 패킷을 수신하는 경우, 포워더 인터페이스(440)는 상향 패킷에서 전송 헤더를 제거하고, 전송 헤더가 제거된 상향 패킷 및 입력 포트 정보를 분류기(420)로 전송할 수 있다.
다시 도 1을 참조하면, 포워더(140)는 브로커(130)와 타 포워더와 연결되어 패킷 전송을 수행한다. 포워더(140)는 일반적인 레거시 네트워크 제어 기능을 통해 패킷 별로 경로를 처리하는 방법과 Openflow와 같은 SDN 기술을 활용하여 패킷의 플로우를 구분하고, 각 패킷의 플로우에 따라 NFP를 제어하는 기능을 수행할 수 있다. 예를 들어, 포워더(140)는 포워더 인터페이스(440)로부터 하향 패킷을 수신하는 경우, 해당 하향 패킷을 타 포워더(140)로 포워딩할 수 있다. 또한, 포워더(140)는 타 포워더로부터 상향 패킷을 수신하는 경우, 상향 패킷을 포워더 인터페이스(440)로 전송할 수 있다.
이 때, 상술한 브로커(130)는 도 1과 같이 VNF(150)와 포워더(140) 사이에 위치하는 것으로 설명하였으나, 구현 방식에 따라 브로커(130)는 포워더(140) 내부에 구현될 수 있다. 이하, 브로커(130)가 구현될 수 있는 3가지의 형태를 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템 내의 브로커의 구현 형태를 예시한 도면이고, 도 7은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템의 브로커링 포워더를 예시한 블록도이다.
도 6의 610은 브로커(130)가 독립적인 네트워크 엔티티로 동작하는 것을 예시한 것으로, 도 1 내지 도 5를 참조하여 상술한 브로커(130)를 나타낸다.
620은 VNF(150)가 동작하는 시스템 내에 브로커(130)가 내장되는 경우를 예시한다. 이 때, 브로커(130)와 VNF(150) 사이에서 시스템 인터페이스를 이용한 통신이 수행되거나, 드라이버 또는 라이브러리 호출의 형태로 서로 통신이 가능하도록 브로커(130)가 구현될 수 있다.
630은 브로커(130)가 포워더(140)와 결합하여 구현된 경우를 예시한다. 이하, 브로커(130)와 포워더(140)가 결합된 형태의 포워더(140)를 브로커링 포워더(700)를 지칭하도록 한다. 앞의 두 가지 형태의 가상 네트워크 기능 체이닝 시스템에서는 브로커(130)가 포워더(140)까지 패킷을 전달하는 것에만 초점이 맞추어져 있었으나, 브로커링 포워더(700)는 다음 포워더(140)까지 패킷을 전달하는 과정을 수행함으로써 패킷 전달의 효율성을 높일 수 있다. 특히, 브로커링 포워더(140)는 체이닝 헤더를 포함하는 패킷 및 체이닝 헤더를 포함하지 않는 패킷을 동시에 처리할 수 있기 때문에 호환성 문제가 적은 장점이 있다.
이하, 도 7을 참조하여, 브로커링 포워더(700)의 구조를 상세히 설명하도록 한다.
브로커링 포워더(700)는 VNF 인터페이스(710), 분류기(720), 맵퍼(730), 및 포워딩 엔진(740)을 포함한다. VNF 인터페이스(710), 분류기(720) 및 맵퍼(730)의 기능은 도 1 내지 도 3을 참조하여 상술한 VNF 인터페이스(410), 맵퍼(420) 및 분류기(430)와 유사한 기능을 가지기 때문에, 상술한 VNF 인터페이스(410), 맵퍼(420) 및 분류기(430)와 동일한 기능에 대해서는 그 설명을 생략하기로 한다.
상향 패킷을 수신하는 경우, 포워딩 엔진(740)은 상향 패킷을 NPF 헤더와 데이터로 분류하고, 상향 패킷을 수신한 포트를 나타내는 입력 포트 정보 및 데이터 정보를 분류기(720)로 전송한다. 또한, 맵퍼(730)로부터 NFP 헤더, 출력 포트 정보 및 데이터를 수신하는 경우, 포워딩 엔진(740)은 NFP 헤더, 데이터를 출력 포트 정보에 따른 포트를 통해 타 포워더로 전송할 수 있다. 이 때, 포워딩 엔진(740)은 타 포워더와 시스템 인터페이스를 통해 연동될 수 있다. 따라서, 포워딩 엔진(740)은 NFP_id를 통해 다음 VNF와 연결된 타 포워더를 찾을 수 있으며, NFP 인터페이스 테이블을 참조하여 타 포워더의 체이닝 타입이나 터널링 정보 등을 획득하고, 획득한 정보를 통해 NFP 헤더, 데이터를 타 포워더로 전송할 수 있다.
도 8은 종래의 가상 네트워크 기능 체이닝 방식에서 이종의 체이닝 방식을 따르는 포워더 간 연동이 불가능한 경우를 예시한 도면이고, 도 9는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 이종의 체이닝 방식을 따르는 브로커링 포워더를 통해 VNF 간의 체이닝을 수행하는 과정을 예시한 도면이다.
도 8에 예시된 바와 같이, 제1 브로커링 포워더(810)에서 제2 브로커링 포워더(820)를 거쳐 제3 브로커링 포워더(830)로 패킷이 전달되는 NFP를 구성한다고 가정하자. 제1 브로커링 포워더(810)를 통해 제1 VNF(815)로 패킷이 전달된 후, 제1 VNF(815)는 패킷을 다시 제1 브로커링 포워더(810)로 전송한다. 이어서, 제1 브로커링 포워더(810)는 체이닝 헤더 방식을 따르는 패킷을 제2 브로커링 포워더(820)로 전송한다. 하지만, 제2 브로커링 포워더(820)는 MAC 방식에 따라 패킷을 처리하기 때문에 해당 패킷에 대한 체이닝을 수행할 수 없다. 또한, 제2 브로커링 포워더(820)가 패킷을 제2 VNF(825)로 전송하더라도 제2 VNF(825)는 체이닝 헤더 방식에 따른 패킷을 처리할 수 없다. 따라서, 종래의 가상 네트워크 기능 체이닝 방식은 도 8과 같이 체이닝 방식을 다양하게 혼용하는 NFP를 제공할 수 없다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템은 이종의 체이닝 방식을 혼합하여 사용하더라도 NFP를 구성할 수 있다. 예를 들어, 제1 브로커링 포워더(910)를 통해 제1 VNF(915)로 패킷이 전달된 후, 제1 VNF(915)는 패킷을 다시 제1 브로커링 포워더(910)로 전송할 수 있다. 이어서, 제1 브로커링 포워더(910)는 체이닝 헤더 방식을 따르는 패킷을 제2 브로커링 포워더(920)로 전송할 수 있다. 제2 브로커링 포워더(920)는 패킷의 헤더를 분류기를 통해 분석하여 패킷에 대응하는 NFP_id를 취득할 수 있다. 제2 브로커링 포워더(920)는 NFP_id와 함께 데이터를 제2 VNF(925)로 전송하게 되며, 제2 VNF(925)는 데이터를 통해 미리 지정된 기능을 수행을 통해 생성한 데이터를 flow_id와 함께 제2 브로커링 포워더(920)로 전송할 수 있다. 즉, 제2 브로커링 포워더(920)는 NFP_id만을 이용하여 제2 VNF(925)와 통신하게 되며, 제2 VNF(925)는 패킷의 체이닝 방식과 무관하게 기능을 수행할 수 있다. 제2 브로커링 포워더(920)는 분류기를 통해 flow_id에 포함된 NFP_id를 맵퍼로 입력할 수 있다. 포워더(920)는 맵퍼를 통해 NFP 인터페이스 테이블을 참조하여 NFP_id에 대응하는 체이닝 타입이 VLAN 방식임을 확인하고, VLAN_id로 새로운 NFP 헤더를 구성하고, 제3 브로커링 포워더(930)로 새로운 NFP 헤더를 포함하는 패킷을 전송할 수 있다. 제3 브로커링 포워더(930)는 VLAN_id를 포함하는 패킷을 수신하였기 때문에 VLAN 브릿징을 수행하여 해당 패킷을 제3 VNF(935)로 전송할 수 있다.
상술한 바와 같이 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템은 어떠한 방식의 패킷이 포워더로 유입된다고 하더라도, 각 VNF는 NFP_id를 통해 패킷을 수신할 수 있다. 따라서, 각 VNF는 체이닝 방식에 무관하게 구현될 수 있다.
도 10은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 다중 NFP를 처리하는 과정을 예시하는 도면이다.
도 10을 참조하면, 제1 플로우는 제 1 VNF(1030) 및 제2 VNF(1040)를 통해 외부로 연결되는 제1 NFP를 통해 전송된다. 또한, 제2 플로우는 제 1 VNF(1030) 및 제3 VNF(1050) 를 통해 외부로 연결되는 제2 NFP를 통해 전송된다. 이 때, 제1 브로커링 포워더(1010) 및 제2 브로커링 포워더(1020)는 MAC 방식에 따른 체이닝을 수행하는 것으로 가정한다. 따라서, 제1 브로커링 포워더(1010)는 다음 홉의 VNF 및 포워더에 패킷을 전송하기 위한 정보를 획득하여야 정상적인 체이닝이 수행될 수 있다.
제1 VNF(1030)은 제1 플로우 및 제2 플로우가 서로 다른 입력 포트로 수신되도록 하지 않는 이상, 두 플로우를 구분할 수 없다. 하지만, NFP는 복수로 설정할 수 있고, 모든 NFP에 대해서 서로 다른 입력 포트를 맵핑하는 것은 사실상 불가능하다. 또한, 정책의 변경에 따라 새로운 NFP를 추가할 경우, 실시간으로 입력 포트를 생성하고, 생성된 입력 포트에 플로우를 매핑하여 NFP를 구성하는 것도 비현실적이다.
즉, 상이한 NFP에 대응하는 플로우가 동일 입력 포트를 사용하는 경우가 발생할 수 밖에 없으며, 이 때, 플로우가 체이닝 헤더 방식을 따르지 않는 경우, 각 패킷의 헤더를 분석하여 NFP를 식별할 수 있어야 정상적인 체이닝의 적용이 가능하다.
제1 브로커링 포워더(1010)는 제1 VNF(1030)로 상향 패킷인 제1 플로우 및 제2 플로우에 대한 NFP_id를 포함하는 패킷을 전송한다. 제1 VNF(1030)는 각 플로우에 대한 기능을 수행한 후, 각 플로우에 대한 NFP_id를 포함한 패킷을 제1 브로커링 포워더(1010)로 전송하기 때문에, 제1 브로커링 포워더(1010)는 제1 VNF(1030)로부터 수신한 패킷의 NFP_id를 참조하여 각 패킷이 제1 플로우 및 제2 플로우 중 어느 하나인 것으로 식별할 수 있다. 즉, 각 포워더 및 VNF는 상이한 NFP에 해당하는 패킷을 동일 포트를 통해 수신하더라도, NFP_id를 통해 각 패킷의 NFP를 구분할 수 있다.
도 11은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 VNF 분기 처리를 수행하는 것을 예시한 도면이다.
도 11을 참조하면, 가상 네트워크 기능 체이닝 시스템은 각 VNF가 패킷을 처리한 결과에 따라서 패킷의 전송 경로가 달라지는 분기를 처리할 수 있다.
예를 들어, 제1 VNF(1130)가 IDS라고 가정하자. IDS는 유입되는 패킷의 종류에 따라서 정상적인 패킷과 비정상적인 패킷으로 분류할 수 있다. 이 때, IDS는 정상적인 패킷과 비정상적인 패킷의 전송 경로를 달리 설정하는 분기 처리를 수행하여야 한다. 즉, 제1 VNF(1130)는 정상적인 패킷을 제2 VNF(1140)로 전송하고, 비정상적인 패킷을 제3 VNF(1150)로 전송하도록 NFP가 설정되어야 할 수 있다.
제1 NFP에 따라 제1 브로커링 포워더(1110)는 제1 VNF(1130)로부터 flow_id를 데이터와 함께 수신할 수 있다. 제1 브로커링 포워더(1110)는 NFP 매핑 테이블을 참조하여 flow_id에 포함된 NFP_id 및 branch_id에 대응하는 새로운 NFP_id를 확인할 수 있다. 즉, 데이터가 정상적인 패킷인 경우, 제1 VNF(1130)는 1로 설정된 branch_id를 포함하는 flow_id를 제1 브로커링 포워더(1110)로 전송할 수 있다. 제1 브로커링 포워더(1110)는 branch_id 1과 flow_id에 포함된 NFP_id에 맵핑된 새로운 NFP_id에 대응하는 NFP를 데이터를 전송할 경로로 설정할 수 있다. 즉, 제1 브로커링 포워더(1110)는 branch_id 1에 따라 정상적인 패킷을 전송하기 위한 제2 NFP를 설정할 수 있다. 반대로, 데이터가 비정상적인 패킷인 경우, 제1 VNF(1130)는 2로 설정된 branch_id를 포함하는 flow_id를 제1 브로커링 포워더(1110)로 전송할 수 있다. 제1 브로커링 포워더(1110)는 branch_id 2와 flow_id에 포함된 NFP_id에 맵핑된 새로운 NFP_id에 대응하는 제3 NFP를 데이터를 전송할 경로로 설정할 수 있다. 즉, 제1 브로커링 포워더(1110)는 branch_id 2에 따라 비정상적인 패킷을 전송하기 위한 NFP를 설정할 수 있다.
따라서, 각 VNF는 패킷의 체이닝 방식에 상관없이 분기 처리를 수행할 수 있고, 포워더(140) 또는 브로커링 포워더(740)는 각 분기에 대한 새로운 NFP_id에 따라 패킷을 다음 포워더로 전송하여 분기별 NFP가 구성되도록 할 수 있다.
도 9 내지 도 11을 참조하여 브로커링 포워더를 사용함에 따른 가상 네트워크 기능 체이닝 시스템의 장점을 설명하였으나, 도 1과 같이 브로커 및 포워더를 포함하는 가상 네트워크 기능 체이닝 시스템도 상술한 장점을 동일하게 발휘할 수 있다.
도 12는 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 상향 패킷에 대한 가상 네트워크 기능 체이닝을 제공하는 과정을 예시한 순서도이다.
도 12를 참조하면, 단계 1205에서 브로커(130) 또는 브로커링 포워더(700)는 상향 패킷을 수신하고, 상향 패킷에서 전송 헤더를 제거한다.
단계 1210에서 브로커(130) 또는 브로커링 포워더(700)는 상향 패킷이 수신된 포트를 나타내는 입력 포트 정보를 생성한다.
단계 1215에서 브로커(130) 또는 브로커링 포워더(700)는 분류기를 통해 상향 패킷이 유효 패킷인지 검증한다.
단계 1220에서 브로커(130) 또는 브로커링 포워더(700)는 분류기를 통해 상향 패킷의 NFP 헤더를 확인하여, 상향 패킷의 체이닝 방식이 체이닝 헤더 방식인지 판단한다.
단계 1220에서 상향 패킷의 체이닝 방식이 체이닝 헤더 방식인 경우, 단계 1225에서 브로커(130) 또는 브로커링 포워더(700)는 분류기를 통해 NFP 헤더에 포함된 NFP_id를 추출한다.
단계 1220에서 상향 패킷의 체이닝 방식이 체이닝 헤더 방식이 아닌 경우, 단계 1230에서 브로커(130) 또는 브로커링 포워더(700)는 분류기를 통해 입력 포트 정보와 NFP 헤더에 매핑된 NFP_id를 NFP 매핑 테이블을 참조하여 확인한다.
단계 1235에서 브로커(130) 또는 브로커링 포워더(700)는 맵퍼를 통해 NFP_id의 유효성을 확인한다.
단계 1240에서 브로커(130) 또는 브로커링 포워더(700)는 맵퍼를 통해 NFP 인터페이스 테이블을 참조하여 NFP_id에 대응하는 네트워크 인터페이스 정보 또는 시스템 인터페이스 정보를 확인한다.
단계 1245에서 브로커(130) 또는 브로커링 포워더(700)는 VNF 인터페이스를 통해 네트워크 인터페이스 정보 또는 시스템 인터페이스 정보에 따라 네트워크 인터페이스 또는 시스템 인터페이스를 구성한다.
단계 1250에서 브로커(130) 또는 브로커링 포워더(700)는 VNF 인터페이스를 통해 NFP_id 및 데이터를 VNF(150)로 전송한다. 즉, 브로커(130) 또는 브로커링 포워더(700)는 VNF 인터페이스를 통해 구성된 네트워크 인터페이스 또는 시스템 인터페이스를 통해 NFP_id 및 데이터를 VNF(150)로 전송한다.
도 13은 본 발명의 일 실시예에 따른 가상 네트워크 기능 체이닝 시스템이 하향 패킷에 대한 가상 네트워크 기능 체이닝을 제공하는 과정을 예시한 순서도이다.
단계 1305에서 브로커(130) 또는 브로커링 포워더(700)는 VNF로부터 하향 패킷을 수신한다. 이 때, 브로커(130) 또는 브로커링 포워더(700)는 하향 패킷이 전송 헤더를 포함하고 있는 경우(하향 패킷이 네트워크 인터페이스를 통해 전송된 경우), 하향 패킷에서 전송 헤더를 제거할 수 있다.
단계 1310에서 브로커(130) 또는 브로커링 포워더(700)는 분류기를 통해 하향 패킷으로부터 flow_id 및 데이터를 추출한다.
단계 1315에서 브로커(130) 또는 브로커링 포워더(700)는 분류기를 통해 flow_id에 포함된 branch_id가 분기가 없음을 나타내는지 판단한다. 예를 들어, 브로커(130) 또는 브로커링 포워더(700)는 flow_id에 포함된 branch_id가 0인지 여부에 따라 분기 여부를 판단할 수 있다.
단계 1315에서 flow_id에 포함된 branch_id가 분기가 없음을 나타내는 경우, 단계 1320에서 브로커(130) 또는 브로커링 포워더(700)는 flow_id에 포함된 NFP_id를 이후 패킷이 전송되는 NPF를 설정하기 위한 NFP_id인 다음 NFP_id로 설정한다.
단계 1315에서 flow_id에 포함된 branch_id가 분기가 있음을 나타내는 경우, 단계 1325에서 브로커(130) 또는 브로커링 포워더(700)는 NFP 맵핑 테이블 상 branch_id에 대응하는 NFP_id를 다음 NFP_id로 설정한다.
단계 1330에서 브로커(130) 또는 브로커링 포워더(700)는 맵퍼를 통해 NFP 인터페이스 테이블을 참조하여 NFP_id에 대응하는 다음 VNF에 상응하는 체이닝 타입을 확인한다.
단계 1330에서 다음 VNF에 상응하는 체이닝 타입이 체이닝 헤더 방식인 경우, 단계 1335브로커(130) 또는 브로커링 포워더(700)는 NFP_id 및 service_id를 조합하여 NFP 헤더를 구성한다.
단계 1330에서 다음 VNF에 상응하는 체이닝 타입이 MAC 방식인 경우, 단계 1340에서 브로커(130) 또는 브로커링 포워더(700)는 NFP 인터페이스 테이블을 참조하여 NFP_id에 대응하는 MAC 주소를 목적지 주소로 하는 NFP 헤더를 구성한다.
단계 1330에서 다음 VNF에 상응하는 체이닝 타입이 VLAN 방식인 경우, 단계 1345에서 브로커(130) 또는 브로커링 포워더(700)는 NFP 인터페이스 테이블을 참조하여 NFP_id에 대응하는 VLAN_id를 포함하는 NFP 헤더를 구성한다.
단계 1350에서 브로커(130) 또는 브로커링 포워더(700)는 NFP_id에 대응하는 포워더 연결 정보에 따른 전송 헤더를 구성한다.
단계 1360에서 브로커(130) 또는 브로커링 포워더(700)는 NFP 헤더, 데이터 및 전송 헤더를 포함하는 출력 패킷을 구성한다. 이 때, 브로커(130)는 출력 패킷을 당해 브로커(130)와 연결된 포워더를 통해 NFP_id에 대응하는 출력 포트를 통해 전송 헤더에 따라 타 포워더로 전송할 수 있다. 또한, 브로커링 포워더(700)는 패킷을 NFP_id에 대응하는 출력 포트를 통해 해당 패킷을 전송 헤더에 따라 타 포워더로 직접 전송할 수 있다.
이제까지 본 발명에 대하여 그 실시 예를 중심으로 살펴보았다. 전술한 실시 예 외의 많은 실시 예들이 본 발명의 특허청구범위 내에 존재한다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (12)

  1. 입력 패킷을 수신하는 포워더; 및
    오케스트레이터가 제공한 NFP(Network Forwarding Path) 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하고, 상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 브로커;
    를 포함하되,
    상기 브로커는 상기 VNF로부터 상기 NFP_id, branch_id 및 데이터를 포함하는 하향 패킷을 수신하고, 상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 따라 헤더를 구성하고, 상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 상기 포워더로 전송하고,
    상기 포워더는 상기 출력 패킷의 헤더에 따라 상기 출력 패킷을 전송하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  2. 제1 항에 있어서,
    상기 브로커는 상기 하향 패킷의 branch_id가 분기가 없음을 나타내는 경우, 상기 NFP_id에 따라 상기 헤더를 구성하고,
    상기 하향 패킷의 branch_id가 분기가 있음을 나타내는 경우, 상기 NFP 매핑 테이블 상에서 상기 branch_id 및 상기 NFP_id에 대응하는 상기 다음 NFP_id에 따라 상기 헤더를 구성하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  3. 제1 항에 있어서,
    상기 브로커는,
    상기 VNF로부터 상기 하향 패킷을 수신하는 VNF 인터페이스;
    상기 포워더로부터 상기 입력 패킷을 수신하는 포워더 인터페이스;
    상기 입력 패킷 또는 상기 하향 패킷의 NFP_id를 검출하는 분류기; 및
    상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 입력 패킷의 NFP_id에 대응하는 인터페이스 정보를 상기 VNF 인터페이스로 전송하고, 상기 NFP 인터페이스 테이블을 참조하여 상기 하향 패킷의 NFP_id에 대응하는 인터페이스 정보를 획득하고, 상기 인터페이스 정보에 따라 상기 헤더를 생성하는 맵퍼;
    를 포함하되,
    상기 VNF 인터페이스는 상기 인터페이스 정보에 따라 네트워크 인터페이스 또는 시스템 인터페이스를 구성하고,
    상기 포워더 인터페이스는 상기 헤더를 포함하는 상기 출력 패킷을 상기 포워더로 전송하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  4. 제1 항에 있어서,
    상기 브로커는,
    NFP_id가 상기 입력 패킷의 헤더에 포함되어 있는 경우, 상기 입력 패킷의 헤더에 포함된 NFP_id를 상기 입력 패킷의 NFP_id로 검출하고,
    상기 NFP_id가 상기 입력 패킷의 헤더에 포함되어 있지 않은 경우, 상기 NFP 매핑 테이블 상에서 상기 입력 패킷의 입력 포트 정보 및 상기 입력 패킷의 헤더와 대응하는 NFP_id를 상기 입력 패킷의 NFP_id로 검출하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  5. NFP(Network Forwarding Path) 매핑 테이블을 제공하는 오케스트레이터; 및
    입력 패킷을 수신하고, 상기 NFP 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하고, 상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 브로커링 포워더;
    를 포함하되,
    상기 브로커링 포워더는 상기 VNF로부터 상기 NFP_id, branch_id 및 데이터를 포함하는 하향 패킷을 수신하고, 상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 대응하는 헤더를 생성하고, 상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 상기 헤더에 따른 경로를 통해 전송하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  6. 제5 항에 있어서,
    상기 브로커링 포워더는 상기 하향 패킷의 branch_id가 분기가 없음을 나타내는 경우, 상기 NFP_id에 따라 상기 헤더를 구성하고,
    상기 하향 패킷의 branch_id가 분기가 있음을 나타내는 경우, 상기 NFP 매핑 테이블 상에서 상기 branch_id 및 상기 NFP_id에 대응하는 상기 다음 NFP_id에 따라 상기 헤더를 구성하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  7. 제5 항에 있어서,
    상기 브로커링 포워더는,
    상기 VNF로부터 상기 하향 패킷을 수신하는 VNF 인터페이스;
    상기 포워더로부터 상기 입력 패킷을 수신하는 포워딩 엔진;
    상기 입력 패킷 또는 상기 하향 패킷의 NFP_id를 검출하는 분류기; 및
    상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 입력 패킷의 NFP_id에 대응하는 인터페이스 정보를 상기 VNF 인터페이스로 전송하고, 상기 NFP 인터페이스 테이블을 참조하여 상기 하향 패킷의 NFP_id에 대응하는 인터페이스 정보를 획득하고, 상기 인터페이스 정보에 따라 상기 헤더를 생성하는 맵퍼;
    를 포함하되,
    상기 VNF 인터페이스는 상기 인터페이스 정보에 따라 네트워크 인터페이스 또는 시스템 인터페이스를 구성하고,
    상기 포워더 인터페이스는 상기 헤더를 포함하는 상기 출력 패킷을 상기 헤더에 따른 경로를 통해 전송하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  8. 제5 항에 있어서,
    상기 브로커링 포워더는,
    NFP_id가 상기 입력 패킷의 헤더에 포함되어 있는 경우, 상기 입력 패킷의 헤더에 포함된 NFP_id를 상기 입력 패킷의 NFP_id로 검출하고,
    상기 NFP_id가 상기 입력 패킷의 헤더에 포함되어 있지 않은 경우, 상기 NFP 매핑 테이블 상에서 상기 입력 패킷의 입력 포트 정보 및 상기 입력 패킷의 헤더와 대응하는 NFP_id를 상기 입력 패킷의 NFP_id로 검출하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 시스템.
  9. 가상 네트워크 기능 체이닝 시스템의 브로커 또는 브로커링 포워더가 가상 네트워크 기능 체이닝을 하는 방법에 있어서,
    입력 패킷을 수신하는 단계;
    오케스트레이터가 제공하는 NFP(Network Forwarding Path) 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하는 단계;
    상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 단계;
    상기 VNF로부터 상기 NFP_id, branch_id 및 데이터를 포함하는 하향 패킷을 수신하는 단계;
    상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 따라 헤더를 구성하는 단계; 및
    상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 전송하는 단계;
    를 포함하는 가상 네트워크 기능 체이닝 방법.
  10. 제9 항에 있어서,
    상기 NFP_id 또는 상기 NFP 매핑 테이블 상에서 상기 branch_id에 대응하는 다음 NFP_id에 따라 헤더를 구성하는 단계는,
    상기 하향 패킷의 branch_id가 분기가 없음을 나타내는 경우, 상기 NFP_id에 따라 상기 헤더를 구성하는 단계; 및
    상기 하향 패킷의 branch_id가 분기가 있음을 나타내는 경우, 상기 NFP 매핑 테이블 상에서 상기 branch_id 및 상기 NFP_id에 대응하는 상기 다음 NFP_id에 따라 상기 헤더를 구성하는 단계
    를 포함하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 방법.
  11. 제9 항에 있어서,
    상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion )로 전송하는 단계는,
    상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 입력 패킷에 대응하는 인터페이스 정보에 따라 네트워크 인터페이스 또는 시스템 인터페이스를 구성하는 단계; 및
    상기 네트워크 인터페이스 또는 상기 시스템 인터페이스를 통해 상기 NFP_id 및 상기 입력 패킷의 데이터를 VNF(Virtualized Network Funtion)로 전송하는 단계를 포함하고,
    상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 전송하는 단계는,
    상기 오케스트레이터가 제공하는 NFP 인터페이스 테이블을 참조하여, 상기 하향 패킷에 대응하는 인터페이스 정보에 따른 상기 헤더를 구성하는 단계; 및
    상기 하향 패킷에 포함된 데이터 및 상기 헤더를 포함하는 출력 패킷을 상기 헤더에 따른 경로를 통해 전송하는 단계
    를 포함하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 방법.
  12. 제9 항에 있어서,
    오케스트레이터가 제공하는 NFP(Network Forwarding Path) 매핑 테이블을 참조하여 상기 입력 패킷의 NFP_id를 검출하는 단계는,
    NFP_id가 상기 입력 패킷의 헤더에 포함되어 있는 경우, 상기 입력 패킷의 헤더에 포함된 NFP_id를 상기 입력 패킷의 NFP_id로 검출하는 단계; 및
    상기 NFP_id가 상기 입력 패킷의 헤더에 포함되어 있지 않은 경우, 상기 NFP 매핑 테이블 상에서 상기 입력 패킷의 입력 포트 정보 및 상기 입력 패킷의 헤더와 대응하는 NFP_id를 상기 입력 패킷의 NFP_id로 검출하는 단계를 포함하는 것을 특징으로 하는 가상 네트워크 기능 체이닝 방법.


KR1020150153853A 2015-11-03 2015-11-03 가상 네트워크 기능 체이닝 시스템 및 방법 Withdrawn KR20170052002A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150153853A KR20170052002A (ko) 2015-11-03 2015-11-03 가상 네트워크 기능 체이닝 시스템 및 방법
US15/269,240 US20170126815A1 (en) 2015-11-03 2016-09-19 System and method for chaining virtualized network functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150153853A KR20170052002A (ko) 2015-11-03 2015-11-03 가상 네트워크 기능 체이닝 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20170052002A true KR20170052002A (ko) 2017-05-12

Family

ID=58637552

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150153853A Withdrawn KR20170052002A (ko) 2015-11-03 2015-11-03 가상 네트워크 기능 체이닝 시스템 및 방법

Country Status (2)

Country Link
US (1) US20170126815A1 (ko)
KR (1) KR20170052002A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097402B2 (en) * 2016-05-11 2018-10-09 Hewlett Packard Enterprise Development Lp Filter tables for management functions
US10178026B2 (en) 2016-09-27 2019-01-08 Gigamon Inc. Flexible inline arrangements for guiding traffic through network tools
CN108063735B (zh) * 2017-12-22 2021-10-19 新华三技术有限公司 Vnf集群的分配方法及装置
CN108600019A (zh) * 2018-04-28 2018-09-28 电子科技大学 一种网络服务功能链映射方法
CN111147372B (zh) * 2018-11-05 2021-05-18 华为技术有限公司 下行报文发送、转发方法和装置
CN111628921B (zh) * 2019-02-27 2021-07-20 华为技术有限公司 一种报文的处理方法、报文转发装置以及报文处理装置

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
CA3081255C (en) * 2009-04-01 2023-08-22 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
US20130124708A1 (en) * 2011-11-10 2013-05-16 Electronics And Telecommunications Research Institute Method and system for adaptive composite service path management
US9450870B2 (en) * 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US9612981B2 (en) * 2012-02-17 2017-04-04 Netronome Systems, Inc. Configurable mesh data bus in an island-based network flow processor
US10097452B2 (en) * 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
US9898317B2 (en) * 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US9608901B2 (en) * 2012-07-24 2017-03-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for enabling services chaining in a provider network
US9252972B1 (en) * 2012-12-20 2016-02-02 Juniper Networks, Inc. Policy control using software defined network (SDN) protocol
US9407540B2 (en) * 2013-09-06 2016-08-02 Cisco Technology, Inc. Distributed service chaining in a network environment
US20140376555A1 (en) * 2013-06-24 2014-12-25 Electronics And Telecommunications Research Institute Network function virtualization method and apparatus using the same
US9124644B2 (en) * 2013-07-14 2015-09-01 Netronome Systems, Inc. Script-controlled egress packet modifier
US9674087B2 (en) * 2013-09-15 2017-06-06 Nicira, Inc. Performing a multi-stage lookup to classify packets
US9680738B2 (en) * 2013-09-15 2017-06-13 Nicira, Inc. Tracking prefixes of values associated with different rules to generate flows
US9602398B2 (en) * 2013-09-15 2017-03-21 Nicira, Inc. Dynamically generating flows with wildcard fields
US9491094B2 (en) * 2013-09-25 2016-11-08 Cisco Techonology, Inc. Path optimization in distributed service chains in a network environment
US9363180B2 (en) * 2013-11-04 2016-06-07 Telefonkatiebolaget L M Ericsson (Publ) Service chaining in a cloud environment using Software Defined Networking
US9444747B2 (en) * 2014-01-30 2016-09-13 Telefonaktiebolaget Lm Ericsson (Publ) Service specific traffic handling
CN104869057B (zh) * 2014-02-21 2019-03-01 中兴通讯股份有限公司 开放流交换机优雅重启处理方法、装置及开放流控制器
WO2015169386A1 (en) * 2014-05-09 2015-11-12 Telefonaktiebolaget L M Ericsson (Publ) Service application with learning capability
US10374972B2 (en) * 2014-05-13 2019-08-06 Telefonaktiebolaget Lm Ericsson (Publ) Virtual flow network in a cloud environment
CN105337881B (zh) * 2014-06-27 2019-10-01 华为技术有限公司 一种数据报文的处理方法、业务节点以及引流点
US9270488B2 (en) * 2014-07-01 2016-02-23 Netronome Systems, Inc. Reordering PCP flows as they are assigned to virtual channels
US9258256B2 (en) * 2014-07-01 2016-02-09 Netronome Systems, Inc. Inverse PCP flow remapping for PFC pause frame generation
CN105337852B (zh) * 2014-07-03 2019-11-05 华为技术有限公司 更新业务流报文的处理方式的方法及装置
EP3172877B1 (en) * 2014-07-25 2019-07-10 Telefonaktiebolaget LM Ericsson (publ) Packet processing in an openflow switch
US10164872B2 (en) * 2014-09-05 2018-12-25 Telefonaktiebolaget Lm Ericsson (Publ) Explicit control of aggregation links via IS-IS
TW201728124A (zh) * 2014-09-16 2017-08-01 科勞簡尼克斯股份有限公司 以彈性地定義之通信網路控制器為基礎之網路控制、操作及管理
CN105591784A (zh) * 2014-10-24 2016-05-18 中兴通讯股份有限公司 告警处理方法及装置
US9614757B2 (en) * 2014-12-17 2017-04-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for relocating packet processing functions
US9497123B2 (en) * 2014-12-18 2016-11-15 Telefonaktiebolaget L M Ericsson (Publ) Method and system for load balancing in a software-defined networking (SDN) system upon server reconfiguration
US9979645B2 (en) * 2015-01-14 2018-05-22 Futurewei Technologies, Inc. Hardware and software methodologies for creating and managing portable service function chains
US20160212048A1 (en) * 2015-01-15 2016-07-21 Hewlett Packard Enterprise Development Lp Openflow service chain data packet routing using tables
JP6426849B2 (ja) * 2015-01-20 2018-11-21 華為技術有限公司Huawei Technologies Co.,Ltd. Sdtがnfv及びsdnと連携するためのシステム及び方法
US9467378B1 (en) * 2015-03-01 2016-10-11 Netronome Systems, Inc. Method of generating subflow entries in an SDN switch
US9503372B1 (en) * 2015-03-01 2016-11-22 Netronome Systems, Inc. SDN protocol message handling within a modular and partitioned SDN switch
US9628380B2 (en) * 2015-03-06 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Method and system for routing a network function chain
US9762483B2 (en) * 2015-03-06 2017-09-12 Telefonaktiebolaget Lm Ericsson (Publ) BNG / subscriber management integrated, FIB based, per subscriber, opt-in opt-out, multi application service chaining solution via subscriber service chaining nexthop and meta IP lookup
US9912613B2 (en) * 2015-03-30 2018-03-06 International Business Machines Corporation Dynamic service orchestration within PaaS platforms
US9853898B1 (en) * 2015-04-29 2017-12-26 Juniper Networks, Inc. Dynamic service chain provisioning
US9769065B2 (en) * 2015-05-06 2017-09-19 Telefonaktiebolaget Lm Ericsson (Publ) Packet marking for L4-7 advanced counting and monitoring
US9749229B2 (en) * 2015-07-01 2017-08-29 Cisco Technology, Inc. Forwarding packets with encapsulated service chain headers
US9929945B2 (en) * 2015-07-14 2018-03-27 Microsoft Technology Licensing, Llc Highly available service chains for network services
US20170019303A1 (en) * 2015-07-14 2017-01-19 Microsoft Technology Licensing, Llc Service Chains for Network Services
US9699064B2 (en) * 2015-07-20 2017-07-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and an apparatus for network state re-construction in software defined networking
US10637889B2 (en) * 2015-07-23 2020-04-28 Cisco Technology, Inc. Systems, methods, and devices for smart mapping and VPN policy enforcement
US9692690B2 (en) * 2015-08-03 2017-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for path monitoring in a software-defined networking (SDN) system
US10003529B2 (en) * 2015-08-04 2018-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for memory allocation in a software-defined networking (SDN) system
US10038650B2 (en) * 2015-08-25 2018-07-31 Futurewei Technologies, Inc. System and method for tunnel stitching transport
US20170070416A1 (en) * 2015-09-04 2017-03-09 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for modifying forwarding states in a network device of a software defined network
US20170093677A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Method and apparatus to securely measure quality of service end to end in a network
US20170093698A1 (en) * 2015-09-30 2017-03-30 Huawei Technologies Co., Ltd. Method and apparatus for supporting service function chaining in a communication network

Also Published As

Publication number Publication date
US20170126815A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
US12301479B2 (en) Managing network traffic in virtual switches based on logical port identifiers
KR20170052002A (ko) 가상 네트워크 기능 체이닝 시스템 및 방법
US9083645B2 (en) Systems and methods providing reverse path forwarding compliance for a multihoming virtual routing bridge
US10615997B2 (en) In-vehicle gateway device
CN102684979B (zh) 一种支持虚拟终端的组播数据转发方法及装置
US9973422B2 (en) Traffic interconnection between virtual devices
US10601702B1 (en) Flexible packet replication and filtering for multicast/broadcast
CN102413059B (zh) 一种基于spb网络的组播转发方法和spbm桥
CN104506408A (zh) 基于sdn的数据传输的方法及装置
US9559984B2 (en) Communication system and network relay device
US20200007472A1 (en) Service insertion in basic virtual network environment
WO2018149338A1 (zh) 基于sdn的远端流镜像控制方法、实现方法及相关设备
EP3032782B1 (en) Packet transmission method and apparatus
CN108337192B (zh) 一种云数据中心中报文通信方法和装置
US20210288909A1 (en) Switch, devices and methods for receiving and forwarding ethernet packets
US8953607B2 (en) Internet group membership protocol group membership synchronization in virtual link aggregation
CN111010329A (zh) 一种报文传输方法及装置
CN106790411A (zh) 虚拟交换机与物理交换机的非聚合端口级联系统及方法
US9036634B2 (en) Multicast route entry synchronization
US7710959B2 (en) Private VLAN edge across multiple switch modules
CN105262686B (zh) 一种网络连通性验证方法和装置
CN105812221A (zh) 虚拟可扩展本地区域网络中数据传输的设备和方法
US7978728B2 (en) Network clustering for improving connection management and re-routing capabilities
CN102918807A (zh) Bfd会话建立的方法及路由设备
US10291750B1 (en) Aggregating data sessions between autonomous systems

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20151103

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination