KR20170009927A - 흐름 엔트리 구성 방법, 장치, 및 시스템 - Google Patents

흐름 엔트리 구성 방법, 장치, 및 시스템 Download PDF

Info

Publication number
KR20170009927A
KR20170009927A KR1020167035418A KR20167035418A KR20170009927A KR 20170009927 A KR20170009927 A KR 20170009927A KR 1020167035418 A KR1020167035418 A KR 1020167035418A KR 20167035418 A KR20167035418 A KR 20167035418A KR 20170009927 A KR20170009927 A KR 20170009927A
Authority
KR
South Korea
Prior art keywords
service
flow
target
match field
flow entry
Prior art date
Application number
KR1020167035418A
Other languages
English (en)
Other versions
KR101886291B1 (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20170009927A publication Critical patent/KR20170009927A/ko
Application granted granted Critical
Publication of KR101886291B1 publication Critical patent/KR101886291B1/ko

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application

Abstract

본 발명의 실시예는 흐름 엔트리 구성 방법, 장치, 및 시스템에 대해 개시한다. 방법은: 스위치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계; 상기 스위치가 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 단계 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 - ; 상기 스위치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ; 상기 스위치가, 상기 서비스 경로와 상기 스위치의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 추가로 결정하는 단계 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및 상기 스위치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계를 포함한다. 이 방법을 사용함으로써, 스위치가 어느 제어기에 접속되든 간에, 그 스위치는 하드웨어 흐름표에서, 제1 서비스를 성공적으로 처리하기 위해, 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 성공적으로 구성할 수 있으며, 이에 의해 서비스 프로세싱에서 실패의 확률이 감소한다.

Description

흐름 엔트리를 구성하기 위한 방법, 장치, 및 시스템{METHOD, DEVICE, AND SYSTEM FOR CONFIGURING FLOW ENTRIES}
본 발명은 통신 네트워크 기술 분야에 관한 것이며, 특히 흐름 엔트리 구성 방법, 장치, 및 시스템에 관한 것이다.
개방흐름(OpenFlow) 네트워크는 데이터 포워딩 계층과 제어 계층 간의 분리를 실현하며, 제어 계층에서의 제어기(Controller) 및 포워딩 계층에서의 스위치(Switch)를 포함하며, 제어기는 OpenFlow 프로토콜을 사용함으로써 스위치를 제어하여 전체 네트워크의 집중적인 제어를 실행한다. 구체적으로, 제어기는 OpenFlow 프로토콜을 사용함으로써 스위치에 흐름 엔트리(flow entry)를 송신하며, 그 송신된 흐름 엔트리는 매치 필드(match field) 및 액션(action)을 포함하며, 매치 필드 값은 목적지 MAC 어드레스, 이더넷 유형 등일 수 있으며, 액션 값은 데이터 패킷이 지정된 포트를 통해 포워딩되는 것을 지시하는 데 사용되는 정보일 수 있으며, 스위치는 수신된 흐름 엔트리를 하드웨어 흐름표에 부가하여, 나중에 데이터 패킷을 수신할 때 데이터 패킷과 매칭하는 흐름 엔트리를 하드웨어 흐름표에서 검색하고 찾아낸 흐름 엔트리 내의 액션 값에 따라 데이터 패킷을 처리한다.
종래기술에서 하드웨어 흐름표는 이하의 방법을 사용함으로써 구성된다:
스위치는 OpenFlow 프로토콜(예를 들어, 표 T0, 표 T1, 및 표 T2)와 스위치의 하드웨어 흐름표(예를 들어, 액세스 제어 목록(Access Control List, ACL) 1 및 ACL 2) 간의 일대일 대응관계를 저장하여, 흐름표 구조를 생성하며, 생성된 흐름표 구조는 각각의 OpenFlow 프로토콜(흐름표)의 흐름표 유형 및 각각의 OpenFlow 프로토콜에 의해 지원되는 매치 필드 및 액션을 포함하며, 스위치는 생성된 흐름표 구조를 제어기에 보고하고, 각각의 OpenFlow 흐름표에 의해 지원되는 매치 및 액션은 대응하는 하드웨어 흐름표의 매치 필드 및 액션을 포함한다.
제어기에 의해 송신된 흐름표는 제어기의 프로세싱 논리 및 스위치에 의해 보고된 흐름표 구조에 따라 생성되며, 제어기의 프로세싱 논리는: 특정한 서비스에 대한 특정한 표의 흐름 엔트리를 생성하는 단계이다. 예를 들어, 표 T0 및 표 T1의 흐름 엔트리는 서비스 A에 대해 생성되고, T2의 흐름 엔트리는 서비스 B에 대해 생성된다.
제어기에 의해 송신된, 흐름표 또는 일부의 흐름표의 흐름 엔트리를 수신할 때, 스위치는 대응관계에 따라 OpenFlow 흐름표에 대응하는 하드웨어 흐름표에 흐름 엔트리를 저장한다. 예를 들어, 표 T0의 흐름 엔트리가 수신되면, 흐름 엔트리는 목록 ACL 1에 저장되어, 하드웨어 흐름표에 의해 지원되는 서비스를 실행한다.
예를 들어, 매치 필드 in_port (입장 포트), eth_type (이더넷 유형), src_mac (원시 MAC 어드레스), 및 dst mac (목적지 MAC 어드레스), 및 (포트를 통해 포워딩되는) 액션 output은 서비스 A를 실행하는 데 필요하다. 목록 ACL 1은 최초 3개의 매치 필드를 포함하고, 목록 ACL 2는 최후 2개의 매치 필드 및 output 액션을 포함하고, 이것은 목록 ACL 1 및 목록 ACL 2가 서비스 A를 지원한다는 것을 지시한다. 스위치는 표 T0과 목록 ACL 1 간의 대응관계 및 표 T1과 목록 ACL 2 간의 대응관계를 저장하며, 이에 상응해서, T0의 생성된 매치 필드 역시 최초 3개의 매치 필드를 포함하고, 생성된 표 T1은 최후 2개의 매치 필드 및 output 액션을 포함하며, 그런 다음 표 T0 및 표 T1은 서비스 A를 지원한다. 제어기의 프로세싱 논리는 서비스 A를 위해 표 T0 및 표 T1의 흐름 엔트리를 생성하는 단계이며, 그러므로 서비스 A의 패킷을 처리하는 데 사용되는 흐름 엔트리는 스위치에 전달된다.
일반적으로, 다른 유형의 스위치는 서로 다른 하드웨어 포워딩 칩을 가지며, 서로 다른 하드웨어 포워딩 칩에 의해 동일한 서비스를 지원하기 데 사용되는 하드웨어 흐름표 역시 서로 다르다. 예를 들어, ASIC 칩 1에서, 서비스 A는 ACL 1 및 ACL 2에 의해 지원되고, ASIC 칩 2에서, 서비스 A는 ACL 3에 의해 지원된다. 그렇지만, 제어기가 흐름 엔트리를 생성할 때, ASIC 칩 1에 기초하여 스위치에 의해 보고되는 표 T0 및 표 T1이 서비스 A에 의해 필요로 하는 매치 필드 및 액션을 포함하면, 제어기는 표 T0 및 표 T1의 흐름 엔트리를 스위치에 송신하며, ACL 3에 대응하면서 ASIC 칩 2에 기초하여 스위치에 의해 보고되는 표 T2가 전술한 조건을 충족하되, 보고된 표 T0 및 표 T1은 전술한 조건을 충족할 수 없으면, 제어기는 서비스 A의 패킷을 처리하는 데 사용되는 흐름 엔트리를 스위치에 송신할 수 없다.
당연히, ASIC 칩 1에 기초하는 스위치는 표 T0 및 표 T1을 사용하여 서비스 A를 실행하고, ASIC 칩 2에 기초하는 스위치는 표 T2를 사용하여 서비스 A를 실행하고, 제어기의 프로세싱 논리가 서비스 A에 대한 표 T0 및 표 T1의 흐름 엔트리를 생성하면, 제어기는 ASIC 칩 2에 기초하는 스위치에 접속될 대 서비스 A에 대응하는 흐름 엔트리를 생성할 수 없거나 송신할 수 없으며, 당연하게, ASIC 칩 2에 기초하는 스위치는 서비스 A를 처리하는 흐름 엔트리를 구성할 수 없으며, 이로 인해 서비스 A가 처리될 수 없다.
제조업자에 의해 제조되는 제어기의 프로세싱 논리는 통상적으로 상이하며, 제조업자에 의해 제조되는 스위치가 기초로 하는 하드웨어 포워딩 칩 역시 통상적으로 상이하므로, 스위치와 제어기가 접속될 때 일부의 서비스가 처리될 수 없으며, 이에 의해 서비스 프로세싱에서 실패의 확률이 상대적으로 높게 된다.
본 발명의 실시예는 흐름 엔트리 구성 방법, 장치, 및 시스템을 제공하며, 이것들은 스위치가 일부의 서비스를 처리하는 데 사용되는 흐름 엔트리를 하드웨어 흐름표에 구성될 수 없는 서비스 프로세싱에서 실패의 확률이 상대적으로 높게 되는 종래기술에서의 문제를 해결하는 데 사용된다.
제1 관점은 흐름 엔트리 구성 방법을 제공하며, 상기 방법은:
스위치가 개방흐름(OpenFlow) 프로토콜을 사용함으로써 흐름 테이블 구조를 를 제어기에 보고하는 단계 - 상기 흐름표 구조는 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션, 및 복수의 OpenFlow 흐름표의 유형을 포함하고, 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 사이에는 교차점이 있으며, 교차점은 스위치의 하드웨어 흐름표에 지원되는 제1 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 포함하며, 복수의 OpenFlow 흐름표의 유형은 모두 와일드카드 유형임 - ;
상기 스위치가 OpenFlow 프로토콜을 사용함으로써 제어기에 의해 송신된 흐름 엔트리를 수신하고, 흐름 엔트리를 소프트웨어 흐름표에 구성하는 단계 - 흐름 엔트리는 흐름표 구조 및 스위치에 의해 보고된 데이터 패킷에 관한 정보에 따라 제어기에 의해 생성되며, 보고된 데이터 패킷에 관한 정보는 제1 서비스의 제1 데이터 패킷에 관한 정보를 포함하며, 제1 흐름 엔트리는 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 포함함 - ;
상기 스위치가 소프트웨어 흐름표로부터 제1 데이터 패킷과 매칭하는 제1 흐름 엔트리를 획득하고, 제1 흐름 엔트리 내의 액션 값에 따라 제1 데이터 패킷을 처리하고, 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 스위치가 제1 목표 서비스 경로와 하드웨어 포워딩 칩 내의 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라, 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하는 단계 - 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표는 제1목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
상기 스위치가 제1 흐름 엔트리에 따라 제1 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
를 포함한다.
제1 관점의 제1 가능한 실시 방식에서, 상기 스위치에 의해 보고되는 복수의 OpenFlow 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 스위치에 의해 보고되는 복수의 OpenFlow 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션이다.
제1 관점 또는 제1 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로,
2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계; 및
하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계
를 포함한다.
제1 관점 또는 제1 관점의 제1 또는 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 교차점은 제2 서비스를 실행하는 데 사용되고 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되지 않는 매치 필드 및 액션을 더 포함할 수 있으며, 데이터 패킷에 관한 정보는 제2 서비스의 제2 데이터 패킷에 관한 정보를 더 포함하며, 스위치에 의해 제어기로부터 수신된 흐름 엔트리는 제2 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 더 포함하며, 상기 방법은:
스위치가 소프트웨어 흐름표로부터 제2 데이터 패킷과 매칭하는 제2 흐름 엔트리를 획득하는 단계, 및 제2 흐름 엔트리의 액션에 따라 제2 데이터 패킷을 처리하는 단계를 더 포함한다.
제1 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서, 상기 방법은:
상기 스위치가 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 스위치가 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 단계 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
상기 스위치가 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 단계
를 더 포함한다.
제1 관점 또는 제1 관점의 제1 내지 제4 가능한 실시 방식 중 어느 하나를 참조해서, 제5 가능한 실시 방식에서, 상기 제1 목표 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하는 단계 이전에, 상기 흐름 엔트리 구성 방법은: 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계를 더 포함하며, 상기 서비스 경로는 제1 목표 서비스 경로를 포함하며, 상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계는 구체적으로,
복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 단계 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 단계
를 포함하며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 스위치가, 상기 제1 목표 서비스 경로와 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하는 단계는 구체적으로,
상기 스위치가, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계
를 포함한다.
제2 관점은 흐름 엔트리 구성 방법을 제공하며, 상기 방법은:
통신 장치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계 - 상기 흐름표 구조는 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 및 복수의 OpenFlow 흐름표의 유형을 포함하고, 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 사이에 교차점이 존재하며, 상기 교차점은 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되는 제1 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 포함하며, 복수의 OpenFlow 흐름표의 유형은 모두 와일드카드 유형이고, 통신 장치는 하드웨어 포워딩 칩에 접속됨 - ;
상기 통신 장치가, OpenFlow 프로토콜을 사용함으로써 제어기에 의해 송신된 흐름 엔트리를 수신하고, 흐름 엔트리를 소프트웨어 흐름표에 구성하는 단계 - 흐름 엔트리는 흐름표 구조 및 스위치에 의해 보고된 데이터 패킷에 관한 정보에 따라 제어기에 의해 생성되며, 보고된 데이터 패킷에 관한 정보는 제1 서비스의 제1 데이터 패킷에 관한 정보를 포함하며, 제1 흐름 엔트리는 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 포함함 - ;
상기 통신 장치가 소프트웨어 흐름표로부터 제1 데이터 패킷과 매칭하는 제1 흐름 엔트리를 획득하고, 제1 흐름 엔트리 내의 액션 값에 따라 제1 데이터 패킷을 처리하고, 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 통신 장치가 제1 목표 서비스 경로와 하드웨어 포워딩 칩 내의 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라, 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하는 단계 - 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표는 제1목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
상기 통신 장치가 제1 흐름 엔트리에 따라 제1 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
를 포함한다.
제2 관점의 제1 가능한 실시 방식에서, 상기 통신 장치에 의해 보고되는 복수의 OpenFlow 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 통신 장치에 의해 보고되는 복수의 OpenFlow 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션이다.
제2 관점 또는 제2 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로:
2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계; 및
하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 매치 필드가 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 액션이 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계
를 포함한다.
제2 관점 또는 제2 관점의 제1 또는 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 교차점은 제2 서비스를 실행하는 데 사용되고 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되지 않는 매치 필드 및 액션을 더 포함할 수 있으며, 데이터 패킷에 관한 정보는 제2 서비스의 제2 데이터 패킷에 관한 정보를 더 포함하며, 통신 장치에 의해 제어기로부터 수신된 흐름 엔트리는 제2 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 더 포함하며, 상기 방법은:
통신 장치가 소프트웨어 흐름표로부터 제2 데이터 패킷과 매칭하는 제2 흐름 엔트리를 획득하는 단계, 및 제2 흐름 엔트리의 액션에 따라 제2 데이터 패킷을 처리하는 단계를 더 포함한다.
제2 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서,
상기 통신 장치가 상기 미리 구성된 서비스 경로에서, 제2 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 통신 장치가 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 단계 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
상기 통신 장치가 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 단계
를 더 포함한다.
제2 관점 또는 제2 관점의 제1 내지 제4 가능한 실시 방식 중 어느 하나를 참조해서, 제5 가능한 실시 방식에서,
상기 제1 목표 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하는 단계 이전에, 상기 흐름 엔트리 구성 방법은: 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계를 더 포함하며, 상기 서비스 경로는 제1 목표 서비스 경로를 포함하며, 상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계는 구체적으로:
복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 단계 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 단계
를 포함하며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 통신 장치가, 상기 제1 목표 서비스 경로와 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하는 단계는 구체적으로,
상기 통신 장치가, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계
를 포함한다.
제3 관점은 흐름 엔트리 구성을 실행하는 통신 장치를 제공하며, 상기 통신 장치는 하드웨어 포워딩 칩에 접속되어 있으며, 개방흐름(OpenFlow) 프로토콜을 사용함으로써 제어기와 통신하며, 인터페이스 유닛, 소프트웨어 흐름표 구성 유닛, 데이터 패킷 프로세싱 유닛, 및 하드웨어 흐름표 구성 유닛을 포함하며,
상기 인터페이스 유닛은 흐름표 구조를 제어기에 보고하도록 구성되어 있으며, 상기 흐름표 구조는 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 및 복수의 OpenFlow 흐름표의 유형을 포함하고, 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 사이에 교차점이 존재하며, 상기 교차점은 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되는 제1 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 포함하며, 복수의 OpenFlow 흐름표의 유형은 모두 와일드카드 유형이고, 또한 데이터 패킷에 관한 정보를 제어기에 보고하고 제어기에 의해 송신된 흐름 엔트리를 수신하도록 추가로 구성되어 있으며, 흐름 엔트리는 흐름표 구조 및 스위치에 의해 보고된 데이터 패킷에 관한 정보에 따라 제어기에 의해 생성되며, 보고된 데이터 패킷에 관한 정보는 제1 서비스의 제1 데이터 패킷에 관한 정보를 포함하며, 제1 흐름 엔트리는 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 포함하며,
상기 소프트웨어 흐름표 구성 유닛은 인터페이스 유닛에 의해 수신된 흐름 엔트리를 소프트웨어 흐름표 내에 구성하도록 구성되어 있으며,
상기 데이터 패킷 프로세싱 유닛은 소프트웨어 흐름표로부터 제1 데이터 패킷과 매칭하는 제1 흐름 엔트리를 획득하고, 제1 흐름 엔트리 내의 액션 값에 따라 제1 데이터 패킷을 처리하고, 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있으며, 상기 결정된 제1 목표 서비스 경로의 매치 필드는 제1 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 제1 목표 서비스 경로의 액션은, 제1 흐름 엔트리 내의 액션 값에 있으면서 제1 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며, 그리고 상기 데이터 패킷 프로세싱 유닛은 제1 목표 서비스 경로와 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 목표 하드웨어 흐름표를 결정하도록 구성되어 있으며, 제1 목표 서비스 경로에 대응하는 제1 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원하며,
상기 하드웨어 흐름표 구성 유닛은 제1 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하도록 구성되어 있다.
제3 관점의 제1 가능한 실시 방식에서, 상기 인터페이스 유닛에 의해 보고되는 복수의 OpenFlow 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 인터페이스 유닛에 의해 보고되는 복수의 OpenFlow 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션이다.
제3 관점 또는 제3 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 데이터 패킷 프로세싱 유닛이 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 목표 서비스 경로를 결정하도록 구성되어 있다는 것은 구체적으로:
데이터 패킷 프로세싱 유닛이 2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리에 포함된 매치 필드 값은, 제1 흐름 엔트리의 매치 필드 값 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 흐름 엔트리의 액션 값 내에 있으면서 제1 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 매치 필드가 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 액션이 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것과, 데이터 패킷 프로세싱 유닛이 하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 매치 필드가 제1 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 액션이 제1 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것을 포함한다.
제3 관점 또는 제3 관점의 제1 또는 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 교차점은 제2 서비스를 실행하는 데 사용되고 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되지 않는 매치 필드 및 액션을 더 포함할 수 있으며, 데이터 패킷에 관한 정보는 제2 서비스의 제2 데이터 패킷에 관한 정보를 더 포함하며, 인터페이스 유닛에 의해 제어기로부터 수신된 흐름 엔트리는 제2 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 더 포함하며,
상기 데이터 패킷 프로세싱 유닛은: 스위치가 소프트웨어 흐름표로부터 제2 데이터 패킷과 매칭하는 제2 흐름 엔트리를 획득하고, 제2 흐름 엔트리의 액션에 따라 제2 데이터 패킷을 처리하도록 추가로 구성되어 있다.
제3 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서, 상기 통신 장치는 서비스 흐름표 구성 유닛을 더 포함하며,
상기 데이터 패킷 프로세싱 유닛은 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하도록 추가로 구성되어 있으며, 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 제2 목표 서비스 경로의 액션은, 제2 흐름 엔트리 내의 액션 값에 있으면서 제2 데이터 패킷을 처리하는 데 사용되는 액션 값에 대응하는 액션을 포함하며,
상기 서비스 흐름표 구성 유닛은 제2 흐름 엔트리에 따라, 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 상기 제1 흐름 엔트리 내의 대응하는 매치 필드 값으로서 구성하고, 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 상기 제2 데이터 패킷의 패킷 헤더 내의 대응하는 헤더 필드 값으로서 구성하며, 상기 서비스 흐름 엔트리 내의 액션 값을 상기 제2 흐름 엔트리 내의 액션 값으로서 구성하도록 구성되어 있으며, 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제1 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않으며,
상기 데이터 패킷 프로세싱 유닛은 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하도록 추가로 구성되어 있다.
제3 관점 또는 제3 관점의 제1 내지 제4 가능한 실시 방식 중 어느 하나를 참조해서, 제5 가능한 실시 방식에서, 상기 통신 장치는 대응관계 구성 유닛을 더 포함하며,
상기 대응관계 구성 유닛은 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있으며, 서비스 경로는 제1 목표 서비스 경로를 포함하며, 이것은 구체적으로: 상기 대응관계 구성 유닛이 복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있다는 것을 포함하고, 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함되며, 상기 대응관계 구성 유닛은 상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하도록 구성되어 있으며, 각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 데이터 패킷 프로세싱 유닛이 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있다는 것은 구체적으로: 상기 데이터 패킷 프로세싱 유닛이 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있다는 것을 포함한다.
제4 관점은 흐름 엔트리 구성을 실행하는 통신 장치를 제공하며, 상기 통신 장치는 프로세서 및 메모리를 포함하며,
상기 메모리는 컴퓨터 연산 명령을 저장하도록 구성되어 있으며,
상기 프로세서는 상기 통신 장치가 다음의 동작:
스위치가 개방흐름(OpenFlow) 프로토콜을 사용함으로써 흐름 테이블 구조를 를 제어기에 보고하는 것 - 상기 흐름표 구조는 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션, 및 복수의 OpenFlow 흐름표의 유형을 포함하고, 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 사이에는 교차점이 있으며, 교차점은 스위치의 하드웨어 흐름표에 지원되는 제1 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 포함하며, 복수의 OpenFlow 흐름표의 유형은 모두 와일드카드 유형임 - ;
상기 스위치가 OpenFlow 프로토콜을 사용함으로써 제어기에 의해 송신된 흐름 엔트리를 수신하고, 흐름 엔트리를 소프트웨어 흐름표에 구성하는 단계 - 흐름 엔트리는 흐름표 구조 및 스위치에 의해 보고된 데이터 패킷에 관한 정보에 따라 제어기에 의해 생성되며, 보고된 데이터 패킷에 관한 정보는 제1 서비스의 제1 데이터 패킷에 관한 정보를 포함하며, 제1 흐름 엔트리는 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 포함함 - ;
상기 스위치가 소프트웨어 흐름표로부터 제1 데이터 패킷과 매칭하는 제1 흐름 엔트리를 획득하고, 제1 흐름 엔트리 내의 액션 값에 따라 제1 데이터 패킷을 처리하고, 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 것 - 상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 스위치가 제1 목표 서비스 경로와 하드웨어 포워딩 칩 내의 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라, 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하는 것 - 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표는 제1목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
상기 스위치가 제1 흐름 엔트리에 따라 제1 하드웨어 흐름표의 흐름 엔트리를 구성하는 것
을 실행할 수 있도록 상기 메모리에 저장되어 있는 컴퓨터 연산 명령을 실행하도록 구성되어 있다.
제4 관점의 제1 가능한 실시 방식에서, 프로세서는 컴퓨터 연산 명령을 실행할 수 있는데, 이에 따라, 구체적으로, 통신 장치에 의해 보고되는 복수의 OpenFlow 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드일 수 있으며, 그 보고된 복수의 OpenFlow 흐름표는 OpenFlow 프로토콜에 의해 지원되는 모든 액션일 수 있다.
제4 관점 또는 제4 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 프로세서는 상기 통신 장치가 구체적으로 이하의 동작:
2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것; 및
하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것
을 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행한다.
제4 관점 또는 제4 관점의 제1 또는 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 교차점은 제2 서비스를 실행하는 데 사용되고 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되지 않는 매치 필드 및 액션을 더 포함할 수 있으며, 데이터 패킷에 관한 정보는 제2 서비스의 제2 데이터 패킷에 관한 정보를 더 포함하며, 스위치에 의해 제어기로부터 수신된 흐름 엔트리는 제2 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 더 포함하며,
상기 프로세서는, 상기 통신 장치가 이하의 동작: 소프트웨어 흐름표로부터 제2 데이터 패킷과 매칭하는 제2 흐름 엔트리를 획득하는 것, 및 제2 흐름 엔트리의 액션에 따라 제2 데이터 패킷을 처리하는 것을 추가로 실행할 수 있도록 컴퓨터 연산 명령을 실행한다.
제4 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서, 상기 프로세서는 상기 통신 장치가 이하의 동작:
상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 것 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 스위치가 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 것 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
상기 스위치가 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 것
를 추가로 실행할 수 있도록 컴퓨터 연산 명령을 실행한다.
제4 관점 또는 제3 관점의 제1 내지 제4 가능한 실시 방식 중 어느 하나를 참조해서, 제5 가능한 실시 방식에서, 상기 프로세서는 상기 통신 장치가 이하의 동작: 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것을 더 포함하며, 상기 서비스 경로는 제1 목표 서비스 경로를 포함하며, 상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것은 구체적으로:
복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 것 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 것
을 포함하며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 프로세서가, 상기 통신 장치가 상기 제1 목표 서비스 경로와 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정할 수 있도록 컴퓨터 연산 명령을 실행하는 것은 구체적으로:
상기 프로세서가, 상기 통신 장친가 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정할 수 있도록 컴퓨터 연산 명령을 실행하는 것을 포함한다.
제5 관점은 흐름 엔트리 구성 방법을 제공하며, 상기 방법은:
스위치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계;
상기 스위치가 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 단계 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 - ;
상기 스위치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ;
상기 스위치가, 상기 서비스 경로와 상기 스위치의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
상기 스위치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
를 포함한다.
제5 관점의 제1 가능한 실시 방식에서, 상기 스위치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 복수의 흐름표는 OpenFlow 흐름표이다.
제5 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션이다.
제5 관점 또는 제5 관점의 제1 또는 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 스위치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로:
상기 스위치가 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하는 단계; 및
상기 스위치가 상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계
를 포함하며,
상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
상기 스위치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계는 구체적으로:
상기 스위치가 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
를 포함한다.
제5 관점의 제3 가능한 실시 방식을 참조해서, 제4 가능한 실시 방식에서, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로:
2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계; 및
하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계
를 포함한다.
제5 관점 또는 제5 관점의 제1 내지 제4 가능한 실시 방식 중 어느 하나를 참조해서, 제5 가능한 실시 방식에서, 상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
상기 흐름 엔트리 구성 방법은,
상기 스위치가 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하는 단계; 및
상기 스위치가 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하고, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계
를 더 포함한다.
제5 관점의 제5 가능한 실시 방식 중 어느 하나를 참조해서, 제6 가능한 실시 방식에서, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계 이후에, 상기 방법은:
상기 스위치가 상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하는 단계;
상기 스위치가 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 스위치가 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 단계 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
상기 스위치가 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 단계
를 더 포함한다.
제5 관점 또는 제5 관점의 제1 내지 제6 가능한 실시 방식 중 어느 하나를 참조해서, 제7 가능한 실시 방식에서, 상기 스위치가, 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 이전에, 상기 흐름 엔트리 구성 방법은: 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계
를 더 포함하며,
상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계는 구체적으로:
복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 단계 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 단계
를 포함하며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 스위치가, 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계는 구체적으로:
상기 스위치가, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계
를 포함한다.
제5 관점 또는 제5 관점의 제1 내지 제7 가능한 실시 방식 중 어느 하나를 참조해서, 제8 가능한 실시 방식에서, 상기 스위치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계 이전에, 상기 방법은: 상기 스위치가 흐름표 구조를 제어기에 보고하는 단계를 더 포함한다.
제5 관점 또는 제5 관점의 제1 내지 제8 가능한 실시 방식 중 어느 하나를 참조해서, 제9 가능한 실시 방식에서, 상기 흐름표 구조는 상기 복수의 흐름표의 유형을 더 포함하고, 상기 복수의 흐름표의 유형은 와일드카드 유형이다.
제6 관점은 흐름 엔트리 구성 방법을 제공하며, 상기 방법은:
통신 장치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계;
상기 통신 장치가, 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 단계 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 -
상기 통신 장치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ;
상기 통신 장치가, 상기 서비스 경로와 상기 통신 장치에 접속된 하드웨어 포워딩 칩의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
상기 통신 장치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
를 포함한다.
제6 관점의 제1 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 통신 장치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 흐름표는 OpenFlow 흐름표이며, 상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션이다.
제6 관점 또는 제6 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 통신 장치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로:
상기 통신 장치가 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하는 단계; 및
상기 통신 장치가 상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계
를 포함하며,
상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
상기 통신 장치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계는 구체적으로:
상기 통신 장치가 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
를 포함한다.
제6 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로:
2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계; 및
하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계
를 포함한다.
제6 관점 또는 제6 관점의 제1 내지 제3 가능한 실시 방식 중 어느 하나를 참조해서, 제4 가능한 실시 방식에서, 상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
상기 흐름 엔트리 구성 방법은:
상기 통신 장치가 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하는 단계; 및
상기 통신 장치가 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하고, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계
를 더 포함한다.
제6 관점의 제4 가능한 실시 방식을 참조해서, 제5 가능한 실시 방식에서, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계 이후에, 상기 방법은:
상기 통신 장치가 상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하는 단계;
상기 통신 장치가 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 통신 장치가 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 단계 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
상기 통신 장치가 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 단계
를 더 포함한다.
제6 관점 또는 제6 관점의 제1 내지 제5 가능한 실시 방식 중 어느 하나를 참조해서, 제6 가능한 실시 방식에서, 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 이전에, 상기 흐름 엔트리 구성 방법은: 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계를 더 포함하며,
상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계는 구체적으로:
복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 단계 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 단계
를 포함하며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 통신 장치가, 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계는 구체적으로,
상기 통신 장치가, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계
를 포함한다.
제6 관점 또는 제6 관점의 제1 내지 제6 가능한 실시 방식 중 어느 하나를 참조해서, 제7 가능한 실시 방식에서, 상기 흐름표 구조는 상기 복수의 흐름표의 유형을 더 포함하고, 상기 복수의 흐름표의 유형은 와일드카드 유형이다.
제7 관점은 흐름 엔트리 구성을 실행하는 통신 장치를 제공하며, 상기 통신 장치는 하드웨어 포워딩 칩에 연결되고, 인터페이스 유닛, 데이터 패킷 프로세싱 유닛, 및 하드웨어 흐름표 구성 유닛을 포함하며,
상기 인터페이스 유닛은 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하도록 구성되어 있으며, 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하도록 추가로 구성되어 있으며,
상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함하며,
상기 데이터 패킷 프로세싱 유닛은 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있으며, 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함하며, 상기 데이터 패킷 프로세싱 유닛은 상기 서비스 경로와 상기 하드웨어 포워딩 칩의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있으며,
상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원하며,
상기 하드웨어 흐름표 구성 유닛은 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하도록 구성되어 있다.
제1 관점의 제1 가능한 실시 방식에서, 상기 통신 장치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 복수의 흐름표는 OpenFlow 흐름표이며, 상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션이다.
제7 관점 또는 제7 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 데이터 패킷 프로세싱 유닛이 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있다는 것은 구체적으로:
상기 데이터 패킷 프로세싱 유닛이 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하고, 상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있다는 것
을 포함하며,
상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
상기 하드웨어 흐름표 구성 유닛은 구체적으로 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하도록 구성되어 있다.
제7 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 데이터 패킷 프로세싱 유닛이 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 목표 서비스 경로를 결정하도록 구성되어 있다는 것은 구체적으로:
상기 데이터 패킷 프로세싱 유닛이, 2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것; 및 상기 데이터 패킷 프로세싱 유닛이, 하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것
을 포함한다.
제7 관점 또는 제7 관점의 제1 내지 제3 가능한 실시 방식 중 어느 하나를 참조해서, 제4 가능한 실시 방식에서, 상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
상기 인터페이스 유닛은 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하고, 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하도록 추가로 구성되어 있으며,
상기 데이터 패킷 프로세싱 유닛은 상기 인터페이스 유닛에 의해 전달되는 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하도록 추가로 구성되어 있다.
제7 관점 또는 제7 관점의 제1 내지 제4 가능한 실시 방식 중 어느 하나를 참조해서, 제5 가능한 실시 방식에서, 상기 통신 장치는 서비스 흐름표 구성 유닛을 더 포함하며,
상기 데이터 패킷 프로세싱 유닛은 상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하도록 추가로 구성되어 있으며,
상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
상기 서비스 흐름표 구성 유닛은 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하도록 구성되어 있으며,
상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않으며,
상기 데이터 패킷 프로세싱 유닛은 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하도록 추가로 구성되어 있다.
제7 관점 또는 제7 관점의 제1 내지 제5 가능한 실시 방식 중 어느 하나를 참조해서, 제6 가능한 실시 방식에서, 상기 통신 장치는 대응관계 구성 유닛을 더 포함하며,
상기 대응관계 구성 유닛은 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있으며, 이것은 구체적으로,
상기 대응관계 구성 유닛이 복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있다는 것
을 포함하고,
상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함되며,
상기 대응관계 구성 유닛은 상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하도록 구성되어 있으며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 데이터 패킷 프로세싱 유닛은 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있으며, 이것은 구체적으로:
상기 데이터 패킷 프로세싱 유닛이 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있다는 것
을 포함한다.
제8 관점은 흐름 엔트리 구성을 실행하는 통신 장치를 제공하며, 상기 통신 장치는 프로세서 및 메모리를 포함하며,
상기 메모리는 컴퓨터 연산 명령을 저장하도록 구성되어 있으며,
상기 프로세서는 상기 통신 장치가 다음의 동작:
제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 것;
상기 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 것 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 - ;
미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 것 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ;
상기 서비스 경로와 상기 통신 장치에 접속된 하드웨어 포워딩 칩의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 것 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
상기 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 것
을 실행할 수 있도록 상기 메모리에 저장되어 있는 컴퓨터 연산 명령을 실행하도록 구성되어 있다.
제8 관점의 제1 가능한 실시 방식에서, 상기 통신 장치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 흐름표는 OpenFlow 흐름표이며, 상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션이다.
제8 관점 또는 제8 관점의 제1 가능한 실시 방식을 참조해서, 제2 가능한 실시 방식에서, 상기 프로세서는 상기 통신 장치가 구체적으로 이하의 동작:
상기 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하는 것; 및
상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 것
을 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하며,
상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
상기 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 것은,
상기 통신 장치가 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 것
을 포함한다.
제8 관점의 제2 가능한 실시 방식을 참조해서, 제3 가능한 실시 방식에서, 상기 프로세서는 상기 통신 장치가 구체적으로 이하의 동작:
2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것; 및
하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것
을 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행한다.
제8 관점 또는 제8 관점의 제1 내지 제3 가능한 실시 방식 중 어느 하나를 참조해서, 제4 가능한 실시 방식에서, 상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
상기 프로세서는 상기 통신 장치가 이하의 동작:
상기 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하는 것; 및
상기 통신 장치가 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하고, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 것
을 추가로 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행한다.
제8 관점의 제4 가능한 실시 방식을 참조해서, 제5 가능한 실시 방식에서, 상기 프로세서는 상기 통신 장치가 이하의 동작:
상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하는 것;
상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 것 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 것 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ;
나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 것;
상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 것 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 것 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 것;
을 추가로 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행한다.
제8 관점 또는 제8 관점의 제1 내지 제5 가능한 실시 방식 중 어느 하나를 참조해서, 제6 가능한 실시 방식에서, 상기 프로세서는 상기 통신 장치가 이하의 동작: 상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것
을 추가로 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하며,
상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것은 구체적으로:
복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 것 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 것
을 포함하며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
상기 프로세서는 상기 통신 장치가 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정할 수 있도록 상기 컴퓨터 연산 명령을 실행하며,
상기 프로세서는 상기 통신 장치가 구체적으로, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정할 수 있도록 상기 컴퓨터 연산 명령을 실행한다.
제9 관점은 스위치를 제공하며, 상기 스위치는:
하드웨어 포워딩 칩; 및
제3 관점 또는 제3 관점의 제1 내지 제5 가능한 실시 방식 중 어느 하나에 따른 통신 장치, 또는 제4 관점 또는 제4 관점의 제1 내지 제5 가능한 실시 방식 중 어느 하나에 따른 통신 장치, 또는 제7 관점 또는 제7 관점의 제1 내지 제6 가능한 실시 방식 중 어느 하나에 따른 통신 장치, 또는 제8 관점 또는 제3 관점의 제1 내지 제6 가능한 실시 방식 중 어느 하나에 따른 통신 장치를 포함한다.
제10 관점은 통신 시스템을 제공하며, 상기 통신 시스템은 제어기 및 제9 관점에 따른 스위치를 포함한다.
본 발명의 실시예에 따르면, 모든 복수의 OpenFlow 흐름표는 제1 서비스를 실행하는 데 사용될 수 있으며, 그러므로 제어기의 프로세싱 논리에 따르면, 어느 흐름표 또는 어느 흐름표들의 흐름 테이블이 제1 서비스에 대해 생성되든 간에, 그 흐름 엔트리는 성공적으로 생성되어 송신될 수 있다. 또한, 스위치에 의해 결정된 제1 목표 서비스 경로는 제1 서비스의 데이터 패킷의 매치 필드 값 및 액션 값에 대응하는 매치 필드 및 액션을 포함하며, 그러므로 제1 목표 서비스 경로는 제1 서비스를 지원한다. 또한, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원하기 때문에, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표는 제1 서비스를 지원하는 하드웨어 흐름표이다. 또한, 스위치는 하드웨어 흐름표에, 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 구성할 수 있다. 그러므로 스위치가 어느 제어기에 접속되는 간에, 스위치는 하드웨어 흐름표에, 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 성공적으로 구성하여, 제1 서비스를 성공적으로 처리할 수 있으며, 이에 의해 서비스 프로세싱에서 실패의 확률이 감소한다.
본 발명의 실시예의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 실시예 또는 종래기술을 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1a 내지 도 1b는 본 발명의 실시예에 따른 통신 시스템의 네트워킹 구조에 대한 개략도이다.
도 2는 본 발명의 실시예 1에 따른 방법에 대한 개략적인 흐름도이다.
도 3a 내지 도 3b는 본 발명의 실시예 2에 따른 통신 장치(200)에 대한 개략적인 구조도이다.
도 4는 본 발명의 실시예 3에 따른 통신 장치(300)에 대한 개략적인 구조도이다.
도 5는 본 발명의 실시예 4에 따른 스위치(400)에 대한 개략적인 구조도이다.
도 6은 본 발명의 실시예 5에 따른 통신 시스템(500)에 대한 개략적인 구조도이다.
이하에서는 본 발명의 실시예에 첨부된 도면을 참조하여 본 발명의 실시예의 기술적 솔루션에 대해 명확하고 완전하게 설명한다. 당연히, 설명된 실시예는 본 발명의 모든 실시예가 아닌 일부에 지나지 않는다. 당업자가 창조적 노력 없이 본 발명의 실시예에 기초하여 획득하는 모든 다른 실시예는 본 발명의 보호 범위 내에 있게 된다.
이하에서는 본 발명의 실시예에 첨부된 도면을 참조하여 본 발명의 실시예의 기술적 솔루션에 대해 명확하고 완전하게 설명한다. 당연히, 설명된 실시예는 본 발명의 모든 실시예가 아닌 일부에 지나지 않는다. 당업자가 창조적 노력 없이 본 발명의 실시예에 기초하여 획득하는 모든 다른 실시예는 본 발명의 보호 범위 내에 있게 된다.
도 1a은 본 발명의 실시예에 따른 통신 시스템의 네트워킹 구조에 대한 개략도이다. 통신 시스템은 스위치(Switch)(110) 및 제어기(Controller)(120)를 포함하며, 스위치(110)는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 제어기(120)와 통신한다.
도 1b에 도시된 바와 같이, 스위치(110)는 상위 계층 통신 장치(110-1) 및 하위 계층 통신 장치(110-2)를 포함할 수 있으며, 하드웨어 포워딩 칩(110-2)은 구체적으로 주문형 집적회로(Application Specific Integrated Circuits, ASIC) 칩일 수 있고, 하드웨어 포워딩 칩은 액세스 제어 목록(Access Control List, ACL) 1 및 ACL 2와 같은 하드웨어 흐름표를 포함한다.
본 발명의 실시예에서 제공하는 방법, 장치, 및 시스템은 소프트웨어 규정 네트워크(software defined network, SDN으로 약칭) 시스템에 적용되며, 여기서 SDN 시스템은 제어기 및 스위치를 포함한다. 제어기와 스위치 간의 통신에 사용되는 프로토콜은 OpenFlow 프로토콜일 수도 있고, 독점 프로토콜 또는 다른 표준 프로토콜일 수도 있다. 제어기에 의해 흐름표를 전달하는 데 사용되는 흐름표 구조는 스위치에 의해 제어기에 보고될 수 있거나 제어기 상에서 미리 구성될 수 있다. 또한, 제어기가 OpenFlow 프로토콜을 사용함으로써 스위치와 통신할 때, 흐름표 구조는 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션을 포함한다.
이하의 실시예에서는 OpenFlow 프로토콜이 사용되는 예를 사용하여 상세히 설명한다. 다른 프로토콜이 사용되는 실시 방식은 OpenFlow 프로토콜이 사용되는 실시 방식과 유사하므로, 이하의 실시예에서의 실시 방식을 참조하며, 그에 대해서는 다시 설명하지 않는다.
도 2는 본 발명의 실시예 1에 따른 방법에 대한 개략적인 흐름도이다. 본 발명의 실시예 1에 따른 방법은 도 1a 또는 도 1b에 도시된 통신 시스템에 적용될 수 있다.
도 2에 도시된 바와 같이, 본 발명의 실시예 1에 따른 방법은 이하를 포함한다:
S110: 스위치(도 1a에 도시된 스위치(110))는 OpenFlow 프로토콜을 사용함으로써 제1 서비스의 데이터 패킷에 관한 정보를 제어기(도 1a에 도시된 제어기(120))에 보고하며, 상기 흐름표 구조는 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션, 및 복수의 OpenFlow 흐름표의 유형을 포함하고, 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 사이에는 교차점이 있으며, 교차점은 스위치의 하드웨어 흐름표에 지원되는 제1 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 포함하며, 복수의 OpenFlow 흐름표의 유형은 모두 와일드카드 유형이다.
흐름표의 유형이 와일드카드 유형이면, 흐름표의 구조에 따라 흐름 엔트리를 생성할 때, 제어기는 흐름표에 의해 지원되는 임의의 하나 이상의 매치 필드를 사용함으로써 흐름 엔트리를 생성할 수 있다.
예를 들어, 표 T0은 와일드카드 유형이고, 지원된 매치 필드가 6개의 매치 필드, 즉 in_port, eth_type, src_mac, dst_mac, ip_src, 및 ip_dst이며, 이때, 표 T0에 따라 제어기에 의해 생성된 흐름 엔트리는 매치 필드 중 일부에 대응하는 매치 필드 값만을 포함할 수 있으며, 예를 들어, 생성된 흐름표는 4개의 매치 필드, 즉 in_port, eth_type, src_mac, 및 dst_mac의 값을 포함하거나, 표 T0의 매치 필드 모두에 대응하는 매치 필드 값을 포함할 수 있다.
구체적으로, 스위치와의 접속을 구축한 후, 제어기는 흐름표 성능 요구 메시지(표 상태 요구)를 스위치에 송신하며, 스위치는 흐름표 성능 요구 메시지를 수신한 후 흐름표 성능 응답 메시지(표 상태 응신)를 제어기에 회신하며, 흐름표 성능 응답 메시지는 흐름표 구조를 싣고 있다.
복수의 OpenFlow 흐름표는 구체적으로 표 T0(표 0), 표 T1(표 1) 등을 포함할 수 있다. 매치 필드는 구체적으로 입장 포트(in_port), 이더넷 유형(eth_type), 및 원시 MAC 어드레스(src_mac)를 포함할 수 있고, 액션은 구체적으로 포트를 통한 포워딩(output), 원시 MAC 어드레스 수정, 목적지 MAC 어드레스 수정 등을 포함할 수 있다.
예를 들어, 제1 서비스는 구체적으로 IP에 기초한 계층 2 포워딩 서비스일 수 있으며, 매치 필드 in_port, eth_type, src_mac, 및 dst mac(목적지 MAC 어드레스) 및 액션 output은 IP에 기초한 계층 2 포워딩 서비스를 실행하는 것을 필요로 한다.
스위치의 하드웨어 흐름표가 제1 서비스를 지원하는 것을 결정하는 표준은: 스위치의 하나 이상의 하드웨어 흐름표가 제1 서비스를 실행하는 데 필요한 매치 필드 및 액션을 포함한다는 것일 수 있다. 예를 들어, 매치 필드 in_port, eth_type, src_mac, 및 dst mac 및 액션 output은 제1 서비스를 실행하는 것을 필요로 하고, 스위치의 하나의 하드웨어 흐름표는 매치 필드 in_port 및 eth_type을 포함하고, 다른 하드웨어 흐름표는 매치 필드 src_mac 및 dst mac 및 액션 output을 포함하며, 그런 다음, 스위치의 하드웨어 흐름표는 제1 서비스를 지원하는 것으로 간주될 수 있다. 또한, 일부의 액션, 예를 들어, 제1 서비스를 실행하는 데 필요한 매치 필드 pop_vlan(매치 필드 pop_vlan은 제1 서비스를 실행하는 데 필요한 것으로 가정한다)은 하드웨어 흐름표로 구성될 필요가 없지만, 스위치의, 논-하드웨어 흐름표 유형의 다른 하드웨어 자원에 의해 지원된다. 이 경우, 제1 서비스를 실행하는 데 필요한 각각의 매치 필드가 스위치의 하드웨어 흐름표에 포함되어 있고, 제1 서비스를 실행하는 데 필요한 액션 내에 있으면서 하드웨어 흐름표에 기록되어야 하는 각각의 액션이 스위치의 하드웨어 흐름표에 포함되어 있으면, 스위치의 하드웨어 흐름표가 제1 서비스를 지원하는 것으로 간주될 수 있다. 결론적으로, 스위치의 하나 이상의 하드웨어 흐름표가 제1 서비스를 실행하는 데 필요한 매치 필드를 포함하고, 제1 서비스를 실행하는 데 필요한 액션 내에 있으면서 하나 이상의 하드웨어 흐름표에 기록되어야 하는 액션을 포함하면, 하나 이상의 하드웨어 흐름표는 제1 서비스를 지원할 수 있다.
특정한 실행 동안, 스위치에 의해 보고되는 복수의 OpenFlow 흐름표의 매치 필드는 모두 OpenFlow 프로토콜에 의해 지원되는 매치 필드일 수 있고, 스위치에 의해 보고되는 복수의 OpenFlow 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션일 수 있다. 교차점은 스위치의 하드웨어 흐름표에 의해 지원되는 하나 이상의 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 포함할 수 있다. 모든 보고된 복수의 OpenFlow 흐름표가 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드 및 모든 액션을 포함하면, 교차점은 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드 및 모든 액션을 포함하면, OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드 및 모든 액션은 스위치의 하드웨어 흐름표에 의해 지원되는 서비스에서 가능한 많은 서비스를 실행하는 데 사용될 수 있다.
흐름표 구조는 표 1에 나타난 것일 수 있다.
(표 1)
Figure pct00001
S120: 스위치는 OpenFlow 프로토콜을 사용함으로써 제어기에 의해 송신된 흐름 엔트리를 수신하고, 그 흐름 엔트리를 소프트웨어 흐름표 내에 구성하며, 여기서 흐름 엔트리는 흐름표 구조 및 스위치에 의해 보고된 데이터 패킷에 관한 정보에 따라 제어기에 의해 생성되며, 보고된 데이터 패킷에 관한 정보는 제1 서비스의 제1 데이터 패킷에 관한 정보를 포함하며, 제1 흐름 엔트리는 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 포함한다.
S110이 실행될 때, 소프트웨어 흐름표 및 스위치의 하드웨어 흐름표는 흐름 엔트리를 포함하지 않거나, 수신된 데이터 패킷과 매칭할 수 없는 디폴트 흐름 엔트리만을 포함한다는 것에 유의해야 한다.
S120에서, 스위치가 하드웨어 흐름표 또는 소프트웨어 흐름표에서 매칭된 흐름 엔트리를 찾을 수 없는 데이터 패킷을 수신할 때마다, 스위치는 데이터 패킷과 매칭하는 흐름 엔트리를 제어기에 요구하고, 흐름 엔트리를 소프트웨어 흐름표 내에 구성하며, 후속의 단계 S130 내지 S150에 따라 흐름 엔트리를 하드웨어 흐름표로 구성한다.
특정한 실행 동안, 단계 S120은 이하의 실행 프로세스 중 하나 이상을 포함한다:
S120-1: 스위치는 하나의 데이터 패킷(예를 들어, 제1 데이터 패킷)을 수신한다.
S120-2: 스위치는 데이터 패킷과 매칭하는 흐름 엔트리를 스위치의 하드웨어 흐름표에서 검색한다.
흐름 엔트리가 발견되지 않으면, 단계 S120-3이 실행되고, 흐름 엔트리가 발견되면, 그 데이터 패킷은 찾아낸 흐름 엔트리 내의 액션 값에 따라 처리된다.
S120-3: 스위치는 그런 다음 데이터 패킷과 매칭하는 흐름 엔트리를 스위치의 소프트웨어 흐름표에서 검색한다.
흐름 엔트리가 발견되지 않으면, 단계 S120-4가 실행되고, 흐름 엔트리가 발견되면, 데이터 패킷은 찾아낸 흐름 엔트리 내의 액션 값에 따라 처리된다.
S120-4: 스위치는 데이터 패킷과 매칭하는 흐름 엔트리를 제어기에 요구한다.
구체적으로, 스위치는 Packet In 메시지를 제어기에 송신하며, 여기서 Packet In 메시지는 데이터 패킷에 관한 정보를 포함하며, 예를 들어, 데이터 패킷을 수신하는 데 사용되는 포트의 번호를 포함하며, 다른 예에서는 데이터 패킷 자체 또는 데이터 패킷의 패킷 헤더 정보를 포함한다. Packet In 메시지를 수신하면, 제어기는 흐름표 구조 및 데이터 패킷에 관한 정보(예를 들어, 데이터 패킷의 패킷 헤더 정보 내의 이더넷 유형, 원시 MAC 어드레스, 및 목적지 MAC 어드레스, 또는 데이터 패킷을 수신하는 데 사용되는 포트의 번호)에 따라 데이터 패킷과 매칭하는 흐름표를 생성하고, 그 생성된 흐름표를 Flow mod 메시지를 사용함으로써 스위치에 송신한다.
S120-5: 스위치는 수신된 흐름 엔트리를 소프트웨어 흐름표 내에 구성한다.
S120-1에서 수신된 데이터 패킷이 제1 데이터 패킷이면, 제1 데이터 패킷과 매칭하는 흐름 엔트리는 S120-4에서 요구되고, 이에 상응해서, S120-5에서, 제1 데이터 패킷과 매칭하는 흐름 엔트리는 소프트웨어 흐름표로 구성된다. 제1 데이터 패킷과 매칭하는 하나의 제1 흐름 엔트리 및 2 이상의 제1 흐름 엔트리가 있을 수 있다. 예를 들어, 전술한 IP에 기초한 계층 2 포워딩 서비스에 있어서, 표 2-1에 나타난 바와 같이, TO의 흐름 엔트리만이 생성될 수 있거나, 표 2-2A 및 표 2-2B에 나타난 바와 같이, TO의 흐름 엔트리 및 T1의 흐름 엔트리가 생성될 수 있다.
(표 2-1)
Figure pct00002
(표 2-2A)
Figure pct00003
(표 2-2B)
Figure pct00004
데이터 패킷에 있어서, 데이터 패킷과 매칭하는 2 이상의 흐름 엔트리가 있으면, 표 2-2A 및 표 2-2B에 나타난 바와 같이, 흐름표의 일부(예를 들어, 표 2-2A에 나타난 흐름표)가 소프트웨어 흐름표로 구성되었다는 것이 가능하다. 이것은 다른 이전에 보고된 데이터 패킷에 대해 제어기에 의해 전달된 흐름 엔트리가 흐름 엔트리의 일부를 포함하고, 이때 제어기는 구성된 흐름 엔트리의 일부를 스위치에 반복적으로 전달하지 않아도 된다는 것을 나타낸다. 그러므로 S120에서 흐름 엔트리가 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 포함한다는 것은 다음의 상황을 포함한다: 제1 데이터 패킷과 매칭하는 하나의 흐름 엔트리가 존재할 때, 그 하나의 흐름 엔트리는 제어기에 의해 스위치에 송신된 흐름 엔트리에 포함되고, 제1 데이터 패킷과 매칭하는 2 이상의 흐름 엔트리가 존재할 때, 그 2 이상의 흐름 엔트리 중 일부가 제어기에 의해 이전에 스위치에 송신되었다면, 제어기는 그 2 이상의 흐름 엔트리 중 다른 흐름 엔트리만을 송신할 수 있다.
표 T0 및 표 T1의 흐름 엔트리가 IP에 기초한 계층 2 포워딩 서비스에 대해 생성되는 예에서, IP에 기초한 계층 2 포워딩 서비스의 복수의 데이터 패킷이 S120에서 제어기에 보고된 후 구성되는 소프트웨어 흐름표의 예가 표 3-1 및 표 3-2에 나타나 있다.
(표 3-1)
Figure pct00005
(표 3-2)
Figure pct00006
S110에서 보고된 복수의 OpenFlow 흐름표 모두는 제1 서비스를 실행하는데 사용될 수 있으며, 그러므로 S120에서, 제어기의 프로세싱 논리에 따라, 어느 흐름표 또는 어느 흐름표들의 흐름 테이블이 제1 서비스에 대해 생성되든 간에, 그 흐름 엔트리는 성공적으로 생성될 수 있다.
본 발명의 이 실시예에서의 하드웨어 흐름표를 하드웨어 형태의 흐름표라 하고, 구체적으로 스위치의 하드웨어 포워딩 칩 내의 흐름표, 예를 들어, ACL 목록일 수 있다. 본 발명의 이 실시예에서의 소프트웨어 흐름표를 소프트웨어 형태의 OpenFlow 흐름표라 하고, 구체적으로 스위치의 메모리에 저장되어 있는 OpenFlow 흐름표일 수 있다. 마찬가지로, 독점 프로토콜 또는 다른 표준 프로토콜이 실행에 사용되면, 그 소프트웨어 흐름표가 대응하는 프로토콜과 일치하는 흐름표이다.
S130: 스위치는 소프트웨어 흐름표로부터 제1 데이터 패킷과 매칭하는 제1 흐름 엔트리를 획득하고, 제1 흐름 엔트리 내의 액션 값을 처리하고, 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정한다.
이하에서는 특정한 예를 참조하여 특정한 실시 방식에 대해 설명한다.
예를 들어, 스위치는 포트 2를 통해 제1 데이터 패킷을 수신하고, 제1 데이터 패킷의 헤더 필드에서, 이하가 지정된다: 이더넷 유형은 0x800이고, 원시 mac 어드레스는 0:0:0:0:0:3이고, 목적지 mac 어드레스는 0:0:0:0:0:4이고, 원시 ip 어드레스는 192.168.0.1이고, 목적지 ip 어드레스는 192.168.0.2이고, 원시 포트 번호는 6633이며,, 목적지 포트 번호는 6589이다.
스위치는 먼저 표 T0 내의 제1 데이터 패킷과 매칭하는 흐름 엔트리를 찾는다. 데이터 패킷은 포트 2로부터 수신되기 때문에, 표 TO 내의 제2 흐름 엔트리가 매칭되며, 또한, 제1 데이터 패킷과 매칭하는 흐름 엔트리는 표 T0 내의 제2 흐름 엔트리의 액션 값 "goto:1"에 따라 표 T1에서 발견된다.
제1 데이터 패킷의 eth type(이더넷 유형)은 0x800이기 때문에, 원시 MAC 어드레스는 0:0:0:0:0:3이고, 목적지 MAC 어드레스 0:0:0:0:0:4이고, 표 T1 내의 제2 흐름 엔트리가 매칭되고, 데이터 패킷은 표 T1 내의 제2 흐름 엔트리의 액션 값 "output:3"에 따라 포트 3을 통해 포워딩된다.
전술한 실행 동안, 제1 서비스의 제1 데이터 패킷과 매칭하는 발견된 제1 흐름 엔트리는 표 T0 내의 제2 흐름 엔트리 및 표 T1 내의 제2 흐름 엔트리를 포함한다.
제1 데이터 패킷과 매칭하는 제1 엔트리를 획득한 후, 스위치는 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정한다.
각각의 미리 구성된 서비스 경로는 각각의 서비스 경로에 대응하는 서비스를 실행하는 데 필요한 매치 필드 및 액션을 포함한다.
서비스 경로의 예가 표 4에 나타나 있다.
(표 4)
Figure pct00007
스위치는 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하고, 여기서 그 결정된 제1 목표 서비스 경로의 매치 필드는 제1 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 중 입장 포트(ingress port) 매치 필드 및 패킷 헤더(packet header) 매치 필드를 포함하며, 제1 목표 서비스 경로의 액션은, 제1 흐름 엔트리 내의 액션 값에 있으면서 제1 데이터 패킷을 처리하는 데 사용되는 액션 값에 대응하는 액션을 포함한다. 입장 포트 매치 필드는 스위치에 들어가기 위해 그 수신된 데이터 패킷에 대해 포트 번호를 매칭하는 데 사용되고, 패킷 헤더 매치 필드는 수신된 데이터 패킷의 패킷 헤더 내의 필드를 매칭하는 데 사용된다.
전술한 예에서와 같이, 2개의 제1 흐름 엔트리가 있고, 포함된 매치 필드 값에 대응하는 매치 필드가 in_port, eth_type, src_mac, 및 dst mac이고, 여기서 in_port는 입장 포트 매치 필드이고, eth_type, src_mac, 및 dst mac에 대응하는 매치 필드 값은 제1 데이터 패킷의 패킷 헤더 내의 필드를 매칭하는 데 사용되며, 패킷 헤더 매치 필드이다. 포함된 액션 값은 goto:1 및 output:3이며, 여기서 goto:1은 다음 표가 추가로 검색된다는 것을 지시하는 데 사용되고, output:3은 제1 데이터 패킷이 포트 3을 통해 포워딩된다는 것을 지시하는 데 사용된다. 알 수 있는 바와 같이, output:3만이 제1 데이터 패킷을 처리하는 데 사용되는 액션 값이다.
제1 흐름 엔트리는 입장 포트 매치 필드 값을 포함하지 않으며, 이에 상응해서, 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드를 자연스럽게 포함하지 않는다는 것에 유의해야 한다.
서비스가 복수의 흐름표의 흐름 엔트리를 사용함으로써 실행될 때, 매칭된 흐름 엔트리는 메타데이터(metadata) 매치 필드 값 및 메타데이터 매치 필드 값과 매칭하는 데이터를 생성하는 데 사용되는 메타데이터 액션을 더 포함할 수 있다. 표 5-1 및 표 5-2에 나타난 바와 같이, 메타데이터 매치 필드는 meta이고, 메타데이터 매치 필드 값은 0x2이고, 메타데이터 매치 필드 값과 매칭하는 데이터를 생성하는 데 사용되는 액션은 w_meta:0x2이다.
메타데이터 매치 필드 값은 데이터 패킷의 패킷 헤더 정보를 매칭하는 데 사용되지 않으며, 입장 포트 매치 필드 및 패킷 헤더 매치 필드와 등가이다. 즉, 메타데이터 매치 필드는 입장 포트 매치 필드 또는 패킷 헤더 매치 필드에 속하지 않는다. 메타데이터 액션은 데이터 패킷을 처리하는 데 사용되지 않으며, 즉 데이터 패킷을 처리하는 데 사용되는 액션 값에 대응하는 액션이 아니다.
(표 5-1)
Figure pct00008
(표 5-2)
Figure pct00009
스위치는 매치 필드가 in_port, eth_type, src_mac, 및 dst mac를 포함하고 액션이 제1 목표 서비스 경로로서 output를 포함하는 서비스 경로에 대한 각각의 서비스 흐름표를 검색한다. 표 4에 나타난 바와 같이, L2_L1T4S_IPv4IPv6 Path의 매치 필드는 in_port, eth_type, src_mac, 및 dst mac를 포함하고, L2_L1T4S_IPv4IPv6 Path의 액션은 output을 포함하고, 그러므로 L2_L1T4S_IPv4IPv6 Path는 제1 목표 서비스 경로로서 결정된다.
하나의 제1 흐름 엔트리가 있을 수 있고, 2 이상의 제1 흐름 엔트리가 있을 수 있다는 것에 유의해야 한다.
하나의 제1 흐름 엔트리가 있을 때, 제1 흐름 엔트리에 포함되어 있는 매치 필드 값에 대응하는 각각의 매치 필드는 입장 포트 매치 필드 또는 패킷 헤더 매치 필드에 속하며, 각각 포함된 액션은 제1 데이터 패킷을 처리하는 데 사용되는 액션에 속한다. 이에 상응해서, 매치 필드가 제1 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 액션이 제1 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 서비스 경로는 미리 구성된 서비스 경로에서, 제1 목표 서비스 경로로서 직접적으로 결정될 수 있다.
2 이상의 제1 흐름 엔트리가 있을 때, 결정의 효율성을 향상시키기 위해, 스위치는 제1 흐름 엔트리가 발견된 후 이하의 방법에 따라 제1 목표 서비스 경로를 결정할 수 있다.
A1: 스위치는 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하며, 여기서 상기 결합된 흐름 엔트리에 의해 포함된 매치 필드 값은, 제1 흐름 엔트리의 매치 필드 값 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리에 포함된 액션 값은, 제1 흐름 엔트리의 액션 값 내에 있으면서 제1 데이터 패킷을 처리하는 데 사용되는 액션 값이다.
A2: 스위치는 미리 구성된 서비스 경로에서, 매치 필드가 상기 결합된 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 액션이 상기 결합된 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 서비스 경로를 제1 목표 서비스 경로로서 결정한다.
S140: 스위치는 제1 목표 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표를 결정하며, 여기서 상기 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원한다.
구체적으로, 스위치는 서비스 경로와 하드웨어 흐름표 간의 대응관계를 미리 구성하고, 각각의 서비스 경로에 대응하는 하드웨어 흐름표는 각각의 서비스 경로에 의해 지원되는 서비스를 지원한다. 예를 들어, 각각의 서비스 경로는 대응하는 서비스 경로에 의해 지원되는 서비스를 실현하는 데 필요로 하는 매치 필드 및 액션을 포함한다. 표 6에 나타난 바와 같이, 서비스 경로 L2_L1T4S_IPv4IPv6은 하드웨어 흐름표 ACL 3 및 ACL 5에 대응하고, 여기서 ACL 3 및 ACL 5는 ip에 기초하면서 L2_L1T4S_IPv4IPv6에 의해 지원되는 계층 2 포워딩 서비스를 실행하는 데 필요한 매치 필드 및 액션을 포함한다.
(표 6)
Figure pct00010
L2_L1T4S_IPv4IPv6 경로는 단계 S130에서 결정된 목표 서비스 경로이며, 표 6에 따르면, 목표 서비스 경로에 대응하는 하드웨어 흐름표는 ACL 3 및 ACL 5인 것으로 결정될 수 있다.
스위치는 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 직접적으로 구성할 수 있거나; 또는 서비스 경로와 다른 정보 간의 대응관계 및 다른 정보와 하드웨어 흐름표 간의 대응관계를 구성할 수 있으며, 이에 의해 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 간접적으로 구성할 수 있다는 것에 주목해야 한다.
서비스 경로를 더 편리하게 구성하기 위해, 서비스 경로와 하드웨어 흐름표 간의 대응관계를 이하의 방식으로 구성될 수 있다:
B1: 복수의 물리적 흐름표 및 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하며, 여기서 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드에 포함되고, 각각의 물리적 흐름표의 액션 내에 있으면서 하드웨어 흐름표에 기록되어야 하는 액션은 대응하는 하드웨어 흐름표의 액션에 포함된다.
하드웨어 흐름표에 기록되지 않으면서 각각의 물리적 흐름표의 액션 내에 있는 액션이란 하드웨어 흐름표가 위치하는 스위치 내의 논-하드웨어 흐름표 유형의 하드웨어 자원에 의해 지원될 수 있는 액션을 말한다는 것에 주목해야 한다.
B2: 서비스 경로와 물리적 흐름표 간의 대응관계를 구성하며, 여기서 각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션에 포함된다.
특정한 실시 방식에서, 각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드의 전체 집합(universal set)일 수 있으며, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션의 전체 집합일 수 있다.
이 방법을 사용함으로써, 각각의 물리적 흐름표는 서로 다른 서비스 경로에 의해 사용될 수 있으며, 그러므로 복수의 물리적 흐름표 및 물리적 흐름표와 하드웨어 흐름표 간의 대응관계가 B1에 의해 구성된 후, 다양한 서비스를 실행하기 위한 서비스 경로는 B2에 의해 편리하게 구성될 수 있다.
예를 들어, 미리 구성된 물리적 흐름표 L1은 매치 필드 eth_src 및 eth_dst를 포함하며, 미리 구성된 물리적 흐름표 T4S는 매치 필드 ip_src 및 ip_dst를 포함하며 액션 output를 포함한다. 서비스 X를 실행하기 위해서는, 매치 필드 eth_src, eth_dst, ip_src, 및 ip_dst 및 액션 output가 필요하다. 서비스 X를 실행하기 위한 서비스 경로 Y는 물리적 흐름표 L1 및 T4S에 따라 생성될 수 있으며, 서비스 경로 Y와 물리적 흐름표 L1 간의 대응관계 및 서비스 경로 Y와 물리적 흐름표 T4S 간의 대응관계는 구성될 수 있다.
이에 상응해서, 단계 S160에서, 스위치는 제1 목표 서비스 경로와 물리적 흐름표 간의 미리 구성된 대응관계에 따라, 제1 목표 서비스 경로에 대응하는 제1 물리적 흐름표를 결정하고, 제1 물리적 흐름표와 하드웨어 흐름표 간의 대응관계에 따라, 제1 물리적 흐름표에 대응하는 하드웨어 흐름표를 결정한다.
S150: 스위치는 제1 흐름 엔트리에 따라 하드웨어 흐름표의 흐름 엔트리를 구성한다.
S150의 특정한 실행은 다음을 포함할 수 있다:
C1: 새로운 흐름 엔트리를 하드웨어 흐름표에 부가한다.
C2: 제1 흐름 엔트리의 매치 필드 값 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값을 그 부가된 흐름 엔트리의 매치 필드 값으로서 구성한다.
C3: 제1 액션 값이 아닌 액션 값을 그 부가된 흐름 엔트리 내의 액션 값으로서 구성하고, 여기서 액션 값 및 제1 액션 값 각각은 제1 흐름 엔트리의 액션 값 내에 있으면서 제1 데이터 패킷을 처리하는 데 사용되는 액션 값 내에 있으며, 제1 액션 값은, 하드웨어 흐름표 내에 있지 않으면서 하드웨어 흐름표가 위치하는 스위치 내의 논-하드웨어 흐름표 유형의 하드웨어 자원에 의해 지원되는 액션에 대응하는 액션 값이다.
제1 흐름 엔트리는 제1 액션 값을 포함하지 않는다는 것에 주목하여야 한다.
A1 및 A2에서의 방법은 단계 S130에서 목표 서비스 경로를 결정하는 데 사용되면, 이 단계에서, 그 결합된 흐름 엔트리 내의 매치 필드 값은 부가된 흐름 엔트리 내의 매치 필드 값으로서 직접적으로 구성될 수 있으며, 그 결합된 흐름 엔트리의 액션 값 내의, 제1 액션 값이 아닌 다른 액션 값은 그 부가된 흐름 엔트리 내의 액션 값으로서 구성된다.
표 7-1에 나타난 바와 같이, 스위치는 제1 흐름 엔트리의 매치 필드 in_port, eth_type, src_mac, 및 dst mac의 매치 필드 값을 목록 ACL 5로 구성하고, 표 7-2에 나타난 바와 같이, 제1 흐름 엔트리의 액션 값 output 3은 목록 ACL 3에 구성된다.
(표 7-1)
Figure pct00011
(표 7-2)
Figure pct00012
하드웨어 흐름표가 제1 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드보다 더 많은 매치 필드를 가지고 있고, 제1 흐름 엔트리 내의 다른 매치 필드 값이 특정한 실시에 따라 데이터 패킷의 헤더 필드 내의 대응하는 정보로서 구성될 수 있으며, 예를 들어 제1 흐름 엔트리가 원시 IP 어드레스를 포함하지 않으면, 상기 원시 IP 어드레스는 데이터 패킷으로부터 추출되면, 그 추출된 원시 IP 어드레스는 흐름 엔트리 내의 매치 필드 src_ip (원시 IP 어드레스)에 대응하는 값으로서 사용되거나, 또는 흐름 엔트리 내의 다른 매치 필드 값은 와일드카드로서 구성될 수 있다.
본 발명의 실시예 1에 따르면, 모든 복수의 OpenFlow 흐름표는 제1 서비스를 실행하는 데 사용될 수 있으며, 그러므로 제어기의 프로세싱 논리에 따르면, 어느 흐름표 또는 어느 흐름표들의 흐름 테이블이 제1 서비스에 대해 생성되든 간에, 그 흐름 엔트리는 성공적으로 생성되어 송신될 수 있다. 또한, 스위치에 의해 결정된 제1 목표 서비스 경로는 제1 서비스의 데이터 패킷의 매치 필드 값 및 액션 값에 대응하는 매치 필드 및 액션을 포함하며, 그러므로 제1 목표 서비스 경로는 제1 서비스를 지원한다. 또한, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원하기 때문에, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표는 제1 서비스를 지원하는 하드웨어 흐름표이다. 또한, 스위치는 하드웨어 흐름표에, 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 구성할 수 있다. 그러므로 스위치가 어느 제어기에 접속되는 간에, 스위치는 하드웨어 흐름표에, 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 성공적으로 구성하여, 제1 서비스를 성공적으로 처리할 수 있으며, 이에 의해 서비스 프로세싱에서 실패의 확률이 감소한다.
일부의 경우에, 제1 흐름 엔트리의 액션 값은, 하드웨어 흐름표에 포함되어 있지 않으면서 하드웨어 흐름표가 위치하는 스위치 내의 논-하드웨어 흐름표의 하드웨어 자원에 의해 지원되는 액션에 대응하는 액션 값, 예를 들어, 스위치의 포트 상에서 속성 구성을 수행하는 데 사용되는 액션 값(예를 들어, pop_vlan 및 push_vlan)을 더 포함한다. 이에 상응해서, 스위치는, 제1 흐름 엔트리 내에 있으면서 스위치의 포트 상에서 속성 구성을 수행하는 데 사용되는 액션 값에 따라, 제1 흐름 엔트리 내의 output의 액션 값에 의해 지정된 포트의 속성을 추가로 구성할 수 있다(예를 들어, pop_vlan 서비스에 있어서, 포트의 VLAN 1024의 속성은 언태그(untag) 하도록 설정되어 있다).
본 발명의 실시예 1에서, 도 1b에 도시된 바와 같이, 스위치(도 1b에 나타난 스위치(110))는 상위 계층 통신 장치(도 1b에 나타난 통신 장치(110-1)) 및 하위 계층 하드웨어 포워딩 칩(도 1b에 나타난 하드웨어 포워딩 칩(110-2))을 포함할 수 있다.
단계 S110, S130, 및 140은 통신 장치에 의해 실행된다.
S120에서, 스위치에 의해 수신된 데이터 패킷은 하드웨어 포워딩 칩의 포트를 통해 수신되며, 하드웨어 흐름표를 검색하는 액션은 하드웨어 포워딩 칩에 의해 실행된다. 그 수신된 데이터 패킷과 매칭하는 흐름 엔트리가 하드웨어 흐름표에 발견되지 않으면, 하드웨어 포워딩 칩은 그 수신된 데이터 패킷을 통신 장치에 보고한다. 구체적으로, 하드웨어 포워딩 칩은 하드웨어 포워딩 칩과 통신 장치 간의 네트워크 어댑터 채널을 통해 그 수신된 데이터 패킷을 보고할 수 있다. S120에서, 하드웨어 흐름표를 검색하는 액션이 아닌 다른 액션은 통신 장치에 의해 실행된다.
S150의 특정한 실행은 다음과 같을 수 있다: 통신 장치는 제1 흐름 엔트리에 따라 하드웨어 포워딩 칩 내의 하드웨어 흐름표의 흐름 엔트리를 구성하는 것이며, 이것은 구체적으로: 하드웨어 흐름표 상에서 구성을 수행하는 데 사용되는 하드웨어 포워딩 칩의 인터페이스를 불러냄으로써 흐름 엔트리를 구성하는 것일 수 있으며, 여기서 하드웨어 흐름표에 구성되어 있는 정보는 인터페이스의 파라미터로서 사용되고 하드웨어 포워딩 칩에 전달되어, 하드웨어 흐름표로 구성되어 있다.
특정한 실시 방식에서, 통신 장치에 의해 미리 구성된 서비스 경로는 통신 장치에 접속된 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되는 서비스를 실행하는 데만 사용되며, 그런 다음, 대응하는 하드웨어 흐름표는 통신 장치에 의해 S130에서 매칭된 목표 서비스 경로에 대해 단계 S140에서 명확하게 결정될 수 있다. 이 실행 방식을 사용함으로써, 통신 장치가 서로 다른 하드웨어 포워딩 칩에 접속하는 데 사용될 때, 대응하는 서비스 경로 및 서비스 경로와 하드웨어 흐름표 간의 대응관계는 서로 다른 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되는 서비스에 따라 구성되어야 한다.
다른 특정한 실행 방식에서, 통신 장치에 의해 미리 구성된 서비스 경로는 복수의 서로 다른 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원된 서비스를 실행하는 데 사용될 수 있다. 이 실행 방식을 사용함으로써, 통신 장치가 서로 다른 하드웨어 포워딩 칩에 접속하는 데 사용될 때, 통신 장치와 그 서로 다른 하드웨어 포워딩 칩 간의 접속은 서비스 경로와 하드웨어 흐름표 간의 대응관계가 서로 다른 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되는 서비스에 따라 구성되면 더 편리하게 실행될 수 있다.
본 발명의 실시예 1에서, S110에서의 교차점은 스위치의 하드웨어 흐름표에 의해 지원되지 않는 제2 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 더 포함할 수 있으며, S120에서 보고된 데이터 패킷에 관한 정보는 제2 서비스의 제2 데이터 패킷에 관한 정보를 더 포함할 수 있으며, S120에서 제어기에 의해 송신된 흐름 엔트리는 제2 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 더 포함할 수 있다.
이에 상응해서, 방법은 스위치가 소프트웨어 흐름표로부터 제2 데이터 패킷과 매칭하는 제2 흐름 엔트리를 획득하는 단계, 및 제2 흐름 엔트리의 액션에 따라 제2 데이터 패킷을 처리하는 단계를 더 포함할 수 있다. 이 방법을 사용함으로써, 스위치의 하드웨어 흐름표가 제2 서비스를 지원하지 않더라도, 스위치는 소프트웨어 흐름표를 검색하는 방식으로 제2 서비스의 데이터 패킷을 처리할 수 있다.
제2 흐름 엔트리를 획득한 후, 방법은 스위치가 미리 구성된 서비스 경로에서, 제2 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 단계를 더 포함할 수 있으며, 여기서 그 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값에 대응하는 액션을 포함한다.
전술한 제2 특정한 실행 방법에 있어서, 제2 데이터 패킷은 제2 서비스에 대응하고, 스위치의 하드웨어 흐름표는 제2 서비스를 지원하지 않기 때문에, 제2 목표 서비스 경로는 대응하는 하드웨어 흐름표를 가지지 않는다. 그러므로 제2 목표 서비스 경로와 하드웨어 흐름표 간의 대응관계는 구성될 수 없다. 이에 상응해서, 이 경우, 제2 목표 서비스 경로에 대응하는 하드웨어 흐름표는 발견될 수 없다.
이 경우에, 제2 서비스에 대응하는 데이터 패킷을 처리하는 효율성을 향상시키기 위해, 본 발명의 실시예 1에서, 방법은 이하를 더 포함할 수 있다:
D1: 스위치는 제2 목표 흐름표에 따라, 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 상기 제1 흐름 엔트리 내의 대응하는 매치 필드 값으로서 구성하고, 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 상기 제2 데이터 패킷의 패킷 헤더 내의 대응하는 헤더 필드 값으로서 구성하며, 상기 서비스 흐름 엔트리 내의 액션 값을 상기 제2 흐름 엔트리 내의 액션 값으로서 구성하며, 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제1 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않는다.
D2: 스위치는 나중에 제2 서비스의 후속의 데이터 패킷을 수신할 때, 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리한다.
서비스 흐름표가 정확한 매치 표라는 것은: 서비스 흐름표의 서비스 흐름 엔트리 내의 각각의 매치 필드는 와일드카드가 아닌 대응하는 매치 필드 값을 가지며, 이에 따라 서비스 흐름표의 흐름 엔트리에 포함되어 있는 매치 필드 값의 수량은 동일하다는 의미이다. 그러므로 표는 해시 알고리즘을 사용함으로써 검색되어, 표를 검색하는 효율성을 향상시킬 수 있다.
특정한 실행 방법은: 스위치가 후속의 데이터 패킷을 수신한 후 S120-2를 실행하는 것일 수 있으며(S120-2에서의 데이터 패킷은 구체적으로 후속의 데이터 패킷이다), 흐름 엔트리가 발견되지 않으면, 서비스 흐름표는 후속의 데이터 패킷과 매칭하는 흐름 엔트리에 대해 검색되고, 흐름 엔트리가 발견되지 않으면, 단계 S120-3이 실행되며, 흐름 엔트리가 발견되면, 후속의 데이터 패킷은 그 찾아낸 흐름 엔트리 내의 액션 값에 따라 처리된다. 또한, 다른 서비스의 데이터 패킷이 스위치에 의해 수신될 때, 데이터 패킷 역시 이 특정한 실행 방식으로 처리될 수도 있다.
또한, 각각의 데이터 패킷에 따라 제어기에 의해 전달된 각각의 흐름 엔트리는 데이터 패킷과 매칭하는 모든 흐름 엔트리를 포함하면, 스위치는 또한 데이터 패킷과 매칭하는 모든 수신된 흐름 엔트리를 직접 사용함으로써 미리 구성된 서비스 경로에서, 데이터 패킷과 매칭하는 서비스 경로를 결정할 수 있다. 2개의 특정한 실행 방식은 다음과 같다:
특정한 실행 방식 1: 흐름 엔트리를 반송하면서 제어기에 의해 스위치에 송신되는 메시지(예를 들어, Flow mod 메시지)는 식별 정보를 포함하며, 상기 식별 정보는 동일한 데이터 패킷에 대응하는 모든 흐름 엔트리를 식별하는 데 사용되고, 구체적으로 그 반송된 흐름 엔트리에 대응하는 데이터 패킷의 식별자일 수 있다. 이에 상응해서, 스위치는 제어기로부터 수신된 흐름 엔트리 중에서 상기 식별 정보에 따라, 동일한 데이터 패킷에 대응하는 모든 흐름 엔트리를 식별하며, 예를 들어, 데이터 패킷 A에 대응하는 모든 흐름 엔트리를 식별하며, 데이터 패킷 B에 대응하는 모든 흐름 엔트리를 식별하며, 미리 구성된 서비스 경로에서, 데이터 패킷과 매칭하는 서비스 경로를 결정한다.
특정한 실행 방식 2: 제어기는 서로 다른 데이터 패킷과 매칭하는 모든 흐름 엔트리를 서로 다른 메시지에 부가하고, 예를 들어, 데이터 패킷 A와 매칭하는 모든 흐름 엔트리를 Flow mod 메시지 1에 부가하고, 데이터 패킷 B와 매칭하는 모든 흐름 엔트리를 Flow mod 메시지 2에 부가한다. 이에 상응해서, 스위치는 데이터 패킷에 대응하는 모든 흐름 엔트리를 메시지에 요구하며, 미리 구성된 서비스 경로에서, 데이터 패킷과 매칭하는 서비스 경로를 결정한다.
수신된 흐름 엔트리를 직접적으로 사용함으로써 매칭된 서비스 경로를 결정하는 방식에 대해서는 전술한 단계 S130에서 제1 흐름 엔트리를 사용함으로써 그 매칭된 제1 목표 서비스 경로를 결정하는 방식을 참조하며, 대응하는 하드웨어 흐름표를 결정하고 매칭된 서비스 경로가 결정된 후 하드웨어 흐름표 엔트리를 구성하는 방식에 대해서는 전술한 단계 140 내지 150을 참조하며, 이에 대해서는 다시 설명하지 않는다.
도 3a을 참조하면, 본 발명의 실시예 2는 통신 장치(200)를 제공한다. 통신 장치는 하드웨어 포워딩 칩에 접속되어 있고, 개방흐름(OpenFlow) 프로토콜을 사용함으로써 제어기와 통신하며, 인터페이스 유닛(201), 소프트웨어 흐름표 구성 유닛(202), 데이터 패킷 프로세싱 유닛(203), 및 하드웨어 흐름표 구성 유닛(204)을 포함한다.
인터페이스 유닛(201)은 흐름표 구조를 제어기에 보고하도록 구성되어 있으며, 여기서 흐름표 구조는 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 및 복수의 OpenFlow 흐름표의 유형을 포함하고, 복수의 OpenFlow 흐름표에 의해 지원되는 매치 필드 및 액션 사이에는 교차점이 있으며, 교차점은 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되는 제1 서비스를 실행하는 데 사용되는 매치 필드 및 액션을 포함하며, 복수의 OpenFlow 흐름표의 유형은 모두 와일드카드 유형이며, 또한 데이터 패킷에 관한 정보를 제어기에 보고하고 제어기에 의해 송신된 흐름 엔트리를 수신하도록 추가로 구성되어 있으며, 여기서 흐름 엔트리는 흐름표 구조체 및 데이터 패킷에 관한 정보에 따라 제어기에 의해 생성되며, 데이터 패킷에 관한 정보는 제1 서비스의 제1 데이터 패킷에 관한 정보를 포함하며, 흐름 엔트리는 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 포함한다.
복수의 OpenFlow 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드일 수 있고, 상기 복수의 OpenFlow 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션일 수 있다.
소프트웨어 흐름표 구성 유닛(202)은 흐름 엔트리를 소프트웨어 흐름표 내에 구성하도록 구성되어 있다.
데이터 패킷 프로세싱 유닛은 소프트웨어 흐름표로부터 제1 데이터 패킷과 매칭하는 제1 흐름 엔트리를 획득하고, 제1 흐름 엔트리 내의 액션 값에 따라 제1 데이터 패킷을 처리하고, 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있으며, 상기 결정된 제1 목표 서비스 경로의 매치 필드는 제1 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 제1 목표 서비스 경로의 액션은, 제1 흐름 엔트리 내의 액션 값에 있으면서 제1 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며, 상기 데이터 패킷 프로세싱 유닛은 제1 목표 서비스 경로와 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 목표 하드웨어 흐름표를 결정하도록 구성되어 있으며, 제1 목표 서비스 경로에 대응하는 제1 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원한다. 데이터 패킷 프로세싱 유닛(203)에 의해 처리되는 제1 데이터 패킷은 일반적으로 하드웨어 포워딩 칩에 의해 제1 데이터 패킷 프로세싱 유닛에 보고된다. 구체적으로, 제1 데이터 패킷을 수신한 후, 하드웨어 포워딩 칩은 제1 데이터 패킷과 매칭하는 흐름 엔트리를 하드웨어 흐름표에서 검색하고, 흐름 엔트리가 발견되지 않을 때 통신 장치의 데이터 패킷 프로세싱 유닛(203)에 제1 데이터 패킷을 보고한다.
하나의 제1 흐름 엔트리가 있을 수 있거나, 2 이상의 제1 흐름 엔트리가 있을 수 있다. 이에 상응해서, 데이터 패킷 프로세싱 유닛(203)이 미리 구성된 서비스 경로에서, 제1 흐름 엔트리와 매칭하는 목표 서비스 경로를 결정하도록 구성되어 있다는 것은 구체적으로, 데이터 패킷 프로세싱 유닛(203)이 2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리에 포함된 매치 필드 값은, 제1 흐름 엔트리의 매치 필드 값 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 흐름 엔트리의 액션 값 내에 있으면서 제1 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 매치 필드가 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 액션이 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것과, 데이터 패킷 프로세싱 유닛(203)이 하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 매치 필드가 제1 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 액션이 제1 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것을 포함한다.
하드웨어 흐름표 구성 유닛은 제1 흐름 엔트리에 따라 제1 하드웨어 흐름표의 흐름 엔트리를 구성하도록 구성되어 있다.
또한, 교차점은 제2 서비스를 실행하는 데 사용되고 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되지 않는 매치 필드 및 액션을 더 포함할 수 있으며, 데이터 패킷에 관한 정보는 제2 서비스의 제2 데이터 패킷에 관한 정보를 더 포함한다. 제어기로부터 인터페이스 유닛(201)에 의해 수신된 흐름 엔트리는 제1 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 더 포함하며, 이에 상응해서, 데이터 패킷 프로세싱 유닛(203)은 소프트웨어 흐름표로부터 제2 데이터 패킷과 매칭하는 제2 흐름 엔트리를 획득할 때, 제2 흐름 엔트리의 액션에 따라 제2 데이터 패킷을 처리하도록 추가로 구성될 수 있다.
특정한 실행 방식에서, 도 3b에 도시된 바와 같이, 통신 장치는 서비스 흐름표 구성 유닛(205)을 더 포함할 수 있다.
이 특정한 실행 방식에서, 데이터 패킷 프로세싱 유닛(203)은 미리 구성된 서비스 경로에서, 제2 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하도록 구성되어 있으며, 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하고, 제2 목표 서비스 경로의 액션은 제2 흐름 엔트리 내의 액션 값 내에 있으면서 제2 데이터 패킷을 처리하는 데 사용되는 액션 값에 대응하는 액션을 포함한다.
서비스 흐름표 구성 유닛(205)은 제2 흐름 엔트리에 따라, 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 상기 제1 흐름 엔트리 내의 대응하는 매치 필드 값으로서 구성하고, 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 상기 제2 데이터 패킷의 패킷 헤더 내의 대응하는 헤더 필드 값으로서 구성하며, 상기 서비스 흐름 엔트리 내의 액션 값을 상기 제2 흐름 엔트리 내의 액션 값으로서 구성하도록 구성되어 있으며, 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제1 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않는다.
이에 상응해서, 데이터 패킷 프로세싱 유닛(203)은 나중에 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하도록 추가로 구성되어 있다.
바람직하게, 도 3b에 도시된 바와 같이, 통신 장치는 대응관계 구성 유닛(206)을 더 포함하며, 상기 대응관계 구성 유닛(206)은 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있으며, 상기 서비스 경로는 제1 목표 서비스 경로를 포함하며, 이것은 구체적으로: 상기 대응관계 구성 유닛(206)이 복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있다는 것을 포함하고, 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함되며, 상기 대응관계 구성 유닛(206)은 상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하도록 구성되어 있으며, 각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함된다.
이에 상응해서, 데이터 패킷 프로세싱 유닛(203)이 제1 목표 서비스 경로와 제1 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정하도록 구성되어 있는 것은 구체적으로: 데이터 패킷 프로세싱 유닛(203)이 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 제1 하드웨어 흐름표 간의 대응관계에 따라 제1 하드웨어 흐름표를 결정하도록 구성되어 있다는 것을 포함한다.
본 발명의 실시예 2에 설명된 기능 유닛들은 실시예 1에서의 통신 장치에 의해 실행되는 방법을 실행하도록 구성될 수 있다.
본 발명의 실시예 2에 따르면, 모든 복수의 OpenFlow 흐름표는 제1 서비스를 실행하는 데 사용될 수 있고, 그러므로 제어기의 프로세싱 논리에 따라, 어느 흐름표 또는 어느 흐름표들의 흐름 테이블이 제1 서비스에 대해 생성되든 간에, 그 흐름 엔트리는 성공적으로 생성될 수 있다. 또한, 통신 장치에 의해 결정되는 제1 목표 서비스 경로는 제1 서비스의 데이터 패킷의 매치 필드 값 및 액션 값에 대응하는 매치 필드 및 액션을 포함하며, 그러므로 제1 목표 서비스 경로는 제1 서비스를 지원한다. 게다가, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표가 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원하므로, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표는 제1 서비스를 지원하는 하드웨어 흐름표이다. 또한, 통신 장치는 하드웨어 흐름표에 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 구성할 수 있다. 그러므로 어느 제어기가 통신 장치에 접속되든 간에, 통신 장치는 하드웨어 흐름표에 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 성공적으로 구성하여 제1 서비스를 성공적으로 처리할 수 있으며, 이에 의해 서비스 프로세싱에서 실패의 확률이 감소한다.
도 4를 참조하면, 본 발명의 실시예 3은 프로세서(301) 및 메모리(302)를 포함하는, 흐름 엔트리 구성을 실현하기 위한 통신 장치(300)를 제공한다.
메모리(302)는 컴퓨터 연산 명령을 저장하도록 구성되어 있다.
프로세서(301)는 상기 통신 장치가 다음의 동작:
제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 것;
상기 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 것 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 - ;
미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 것 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ;
상기 서비스 경로와 상기 통신 장치에 접속된 하드웨어 포워딩 칩의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 것 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
상기 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 것
을 실행할 수 있도록 상기 메모리(302)에 저장되어 있는 컴퓨터 연산 명령을 실행하도록 구성되어 있다.
특정한 실시 방식에서, 프로세서(301)는 컴퓨터 연산 명령을 실행할 수 있는데, 이에 따라, 구체적으로, 통신 장치에 의해 보고되는 복수의 OpenFlow 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드일 수 있으며, 그 보고된 복수의 OpenFlow 흐름표는 OpenFlow 프로토콜에 의해 지원되는 모든 액션일 수 있다. 하나의 제1 흐름 엔트리가 있을 수 있거나, 2 이상의 제1 흐름 엔트리가 있을 수 있다. 이에 상응해서, 프로세서(301)는 상기 통신 장치가 구체적으로 이하의 동작:
2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것; 및
하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것
을 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행할 수 있다.
특정한 실행 동안, 교차점은 제2 서비스를 실행하는 데 사용되고 하드웨어 포워딩 칩의 하드웨어 흐름표에 의해 지원되지 않는 매치 필드 및 액션을 더 포함할 수 있으며, 데이터 패킷에 관한 정보는 제2 서비스의 제2 데이터 패킷에 관한 정보를 더 포함하며, 제어기로부터 수신된 흐름 엔트리는 제2 데이터 패킷과 매칭하는 적어도 하나의 흐름 엔트리를 더 포함하며, 이에 상응해서, 프로세서(301)는 통신 장치가 이하의 동작: 소프트웨어 흐름표로부터 제2 데이터 패킷과 매칭하는 제2 흐름 엔트리를 획득하는 것, 및 제2 흐름 엔트리의 액션에 따라 제2 데이터 패킷을 처리하는 것을 실행할 수 있도록 컴퓨터 연산 명령을 실행한다.
또한, 프로세서(301)는 통신 장치가 이하의 동작:
미리 구성된 서비스 경로에서, 제2 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 것 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 흐름 엔트리 내의 액션 값에 있으면서 제2 데이터 패킷을 처리하는 데 사용되는 액션 값에 대응하는 액션을 포함함 - ;
상기 제2 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 상기 제1 흐름 엔트리 내의 대응하는 매치 필드 값으로서 구성하고, 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 상기 제2 데이터 패킷의 패킷 헤더 내의 대응하는 헤더 필드 값으로서 구성하며, 상기 서비스 흐름 엔트리 내의 액션 값을 상기 제2 흐름 엔트리 내의 액션 값으로서 구성하는 것 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제1 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ;
나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 것
추가로 실행할 수 있도록 컴퓨터 연산 명령을 추가로 실행할 수 있다.
바람직하게, 프로세서(301)는 상기 통신 장치가 이하의 동작:
서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것
을 추가로 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하며, 서비스 경로는 제1 목표 서비스 경로를 포함하며, 상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것은 구체적으로:
복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 것 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 것
을 포함하며,
각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함된다.
이에 상응해서, 프로세서(301)는 상기 통신 장치가 상기 제1 목표 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 제1 목표 서비스 경로에 대응하는 제1 하드웨어 흐름표를 결정할 수 있도록 상기 컴퓨터 연산 명령을 실행하는 것은: 상기 프로세서(301)는 상기 통신 장치가 구체적으로, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 제1 하드웨어 흐름표 간의 대응관계에 따라 제1 하드웨어 흐름표를 결정할 수 있도록 상기 컴퓨터 연산 명령을 실행하는 것을 포함한다.
본 발명의 실시예 3에 설명된 프로세서(301)는 실시예 1에서의 통신 장치에 의해 실행되는 방법을 실행할 수 있도록 컴퓨터 연산 명령을 실행한다.
본 발명의 실시예 3에 따르면, 모든 복수의 OpenFlow 흐름표는 제1 서비스를 실행하는 데 사용될 수 있고, 그러므로 제어기의 프로세싱 논리에 따라, 어느 흐름표 또는 어느 흐름표들의 흐름 테이블이 제1 서비스에 대해 생성되든 간에, 그 흐름 엔트리는 성공적으로 생성될 수 있다. 또한, 통신 장치에 의해 결정되는 제1 목표 서비스 경로는 제1 서비스의 데이터 패킷의 매치 필드 값 및 액션 값에 대응하는 매치 필드 및 액션을 포함하며, 그러므로 제1 목표 서비스 경로는 제1 서비스를 지원한다. 게다가, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표가 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원하므로, 제1 목표 서비스 경로에 대응하는 하드웨어 흐름표는 제1 서비스를 지원하는 하드웨어 흐름표이다. 또한, 통신 장치는 하드웨어 흐름표에 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 구성할 수 있다. 그러므로 어느 제어기가 통신 장치에 접속되든 간에, 통신 장치는 하드웨어 흐름표에 제1 서비스를 실행하는 데 사용되는 흐름 엔트리를 성공적으로 구성하여 제1 서비스를 성공적으로 처리할 수 있으며, 이에 의해 서비스 프로세싱에서 실패의 확률이 감소한다.
도 5를 참조하면, 본 발명의 실시예 4는 통신 장치(401) 및 하드웨어 포워딩 칩(402)을 포함하는 스위치(400)를 제공하며, 통신 장치(401)는 하드웨어 포워딩 칩(402)에 접속되며, 통신 장치(401)는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 제어기와 통신하며, 통신 장치(401)는 구체적으로 실시예 2에서 제공하는 통신 장치(200) 또는 실시예 3에서 제공하는 통신 장치(300)이다.
도 6을 참조하면, 본 발명의 실시예 5는 스위치(501) 및 제어기(502)를 포함하는 통신 장치(500)를 제공하며, 스위치(501)는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 제어기(502)와 통신하고, 스위치(501)는 구체적으로 실시예 4에서 제공하는 스위치(400)이다.
당업자라면 본 명세서에서 개시된 실시예에 설명된 예들의 조합으로, 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이것들의 조합에 의해 유닛 및 알고리즘 단계가 실현될 수 있다는 것을 이해할 수 있을 것이다. 하드웨어와 소프트웨어 간의 상호교환 가능성을 분명하게 설명하기 위해, 전술한 설명에서는 일반적으로 기능에 따라 모든 실시예의 조성 및 단계를 설명하였다. 기능이 하드웨어에 의해 수행되는지 소프트웨어에 의해 수행되는지는 특별한 애플리케이션 및 기술적 솔루션의 설계 제약 조건에 따라 다르다. 당업자라면 상이한 방법을 사용하여 각각의 특별한 애플리케이션에 대한 설명된 기능을 실행할 수 있을 것이지만, 그러한 실행은 본 발명의 범위를 넘어서는 것으로 파악되어서는 안 된다.
당업자라면, 설명의 편리 및 간략화를 위해, 전술한 시스템, 장치 및 유닛의 상세한 작업 프로세스에 대해서는, 방법 실시예에서 대응하는 프로세스를 참조하면 된다는 것을 이해할 수 있을 것이며, 이에 대해서는 여기서 다시 설명하지 않는다.
본 출원에서 제공하는 수 개의 실시예에서, 전술한 시스템, 장치, 및 방법은 다른 방식으로도 실현될 수 있다는 것은 물론이다. 예를 들어, 설명된 장치 실시예는 단지 예시에 불과하다. 예를 들어, 유닛의 분할은 단지 일종의 논리적 기능 분할일 뿐이며, 실제의 실행 동안 다른 분할 방식으로 있을 수 있다. 예를 들어, 복수의 유닛 또는 구성요소를 다른 시스템에 결합 또는 통합할 수 있거나, 또는 일부의 특징은 무시하거나 수행하지 않을 수도 있다. 또한, 도시되거나 논의된 상호 커플링 또는 간접 결합 또는 통신 접속은 일부의 인터페이스를 통해 실현될 수 있다. 장치 또는 유닛 간의 직접 결합 또는 통신 접속은 전자식, 기계식 또는 다른 형태로 실현될 수 있다.
별도의 부분으로 설명된 유닛들은 물리적으로 별개일 수 있고 아닐 수도 있으며, 유닛으로 도시된 부분은 물리적 유닛일 수도 있고 아닐 수도 있으며, 한 위치에 위치할 수도 있고, 복수의 네트워크 유닛에 분산될 수도 있다. 유닛 중 일부 또는 전부는 실제의 필요에 따라 선택되어 실시예의 솔루션의 목적을 달성할 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛은 하나의 프로세싱 유닛으로 통합될 수 있거나, 각각의 유닛이 물리적으로 단독으로 존재할 수도 있거나, 2개 이상의 유닛이 하나의 유닛으로 통합될 수도 있다.
통합 유닛이 소프트웨어 기능 유닛의 형태로 실현되어 독립 제품으로 시판되거나 사용되면, 이 통합 유닛은 컴퓨터 판독 가능형 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본 발명의 필수적 기술적 솔루션 또는, 또는 종래기술에 기여하는 부분, 또는 기술적 솔루션의 일부는 소프트웨어 제품의 형태로 실현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고, 본 발명의 실시예에 설명된 방법의 단계 중 일부 또는 전부를 수행하도록 컴퓨터 장치(이것은 퍼스널 컴퓨터, 서버, 또는 네트워크 장치 등이 될 수 있다)에 명령하는 수개의 명령어를 포함한다. 전술한 저장 매체는: 프로그램 코드를 저장할 수 있는 임의의 저장 매체, 예를 들어, USB 플래시 디스크, 휴대형 하드디스크, 리드-온리 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 자기디스크 또는 광디스크를 포함한다.
전술한 설명은 단지 본 발명의 특정한 실행 방식에 불과하며, 본 발명의 보호 범위를 제한하려는 것이 아니다. 본 발명에 설명된 기술적 범위 내에서 당업자가 용이하게 실현하는 모든 변형 또는 대체는 본 발명의 보호 범위 내에 있게 된다. 그러므로 본 발명의 보호 범위는 특허청구범위의 보호 범위에 있게 된다.

Claims (34)

  1. 흐름 엔트리 구성 방법으로서,
    스위치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계;
    상기 스위치가 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 단계 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 - ;
    상기 스위치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ;
    상기 스위치가, 상기 서비스 경로와 상기 스위치의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
    상기 스위치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
    를 포함하는 흐름 엔트리 구성 방법.
  2. 제1항에 있어서,
    상기 스위치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 복수의 흐름표는 OpenFlow 흐름표인, 흐름 엔트리 구성 방법.
  3. 제2항에 있어서,
    상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션인, 흐름 엔트리 구성 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 스위치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로,
    상기 스위치가 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하는 단계; 및
    상기 스위치가 상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계
    를 포함하며,
    상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
    상기 스위치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계는 구체적으로,
    상기 스위치가 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
    를 포함하는, 흐름 엔트리 구성 방법.
  5. 제4항에 있어서,
    상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로,
    2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계; 및
    하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계
    를 포함하는, 흐름 엔트리 구성 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
    상기 흐름 엔트리 구성 방법은,
    상기 스위치가 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하는 단계; 및
    상기 스위치가 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하고, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계
    를 더 포함하는 흐름 엔트리 구성 방법.
  7. 제6항에 있어서,
    상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계 이후에,
    상기 스위치가 상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하는 단계;
    상기 스위치가 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
    상기 스위치가 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 단계 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
    상기 스위치가 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 단계
    를 더 포함하는 흐름 엔트리 구성 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 스위치가, 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 이전에,
    상기 흐름 엔트리 구성 방법은,
    서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계
    를 더 포함하며,
    상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계는 구체적으로,
    복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 단계 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
    상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 단계
    를 포함하며,
    각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
    상기 스위치가, 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계는 구체적으로,
    상기 스위치가, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계
    를 포함하는, 흐름 엔트리 구성 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 스위치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계 이전에,
    상기 스위치가 흐름표 구조를 제어기에 보고하는 단계
    를 더 포함하는 흐름 엔트리 구성 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 흐름표 구조는 상기 복수의 흐름표의 유형을 더 포함하고, 상기 복수의 흐름표의 유형은 와일드카드 유형인, 흐름 엔트리 구성 방법.
  11. 흐름 엔트리 구성 방법으로서,
    통신 장치가 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 단계;
    상기 통신 장치가, 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 단계 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 -
    상기 통신 장치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ;
    상기 통신 장치가, 상기 서비스 경로와 상기 통신 장치에 접속된 하드웨어 포워딩 칩의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
    상기 통신 장치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
    를 포함하는 흐름 엔트리 구성 방법.
  12. 제11항에 있어서,
    상기 통신 장치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 흐름표는 OpenFlow 흐름표이며, 상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션인, 흐름 엔트리 구성 방법.
  13. 제11항 또는 제12항에 있어서,
    상기 통신 장치가 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로,
    상기 통신 장치가 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하는 단계; 및
    상기 통신 장치가 상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계
    를 포함하며,
    상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
    상기 통신 장치가 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계는 구체적으로,
    상기 통신 장치가 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 단계
    를 포함하는, 흐름 엔트리 구성 방법.
  14. 제13항에 있어서,
    상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 단계는 구체적으로,
    2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계; 및
    하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 단계
    를 포함하는, 흐름 엔트리 구성 방법.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
    상기 흐름 엔트리 구성 방법은,
    상기 통신 장치가 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하는 단계; 및
    상기 통신 장치가 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하고, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계
    를 더 포함하는 흐름 엔트리 구성 방법.
  16. 제15항에 있어서,
    상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 단계 이후에,
    상기 통신 장치가 상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하는 단계;
    상기 통신 장치가 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 단계 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
    상기 통신 장치가 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 단계 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
    상기 통신 장치가 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 단계
    를 더 포함하는 흐름 엔트리 구성 방법.
  17. 제11항 내지 제16항 중 어느 한 항에 있어서,
    상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계 이전에,
    상기 흐름 엔트리 구성 방법은,
    서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계
    를 더 포함하며,
    상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 단계는 구체적으로,
    복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 단계 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
    상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 단계
    를 포함하며,
    각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
    상기 통신 장치가, 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계는 구체적으로,
    상기 통신 장치가, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 단계
    를 포함하는, 흐름 엔트리 구성 방법.
  18. 제11항 내지 제17항 중 어느 한 항에 있어서,
    상기 흐름표 구조는 상기 복수의 흐름표의 유형을 더 포함하고, 상기 복수의 흐름표의 유형은 와일드카드 유형인, 흐름 엔트리 구성 방법.
  19. 흐름 엔트리 구성을 실행하는 통신 장치로서,
    상기 통신 장치는 하드웨어 포워딩 칩에 연결되고, 인터페이스 유닛, 데이터 패킷 프로세싱 유닛, 및 하드웨어 흐름표 구성 유닛을 포함하며,
    상기 인터페이스 유닛은 제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하도록 구성되어 있으며, 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하도록 추가로 구성되어 있으며,
    상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함하며,
    상기 데이터 패킷 프로세싱 유닛은 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있으며, 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함하며, 상기 데이터 패킷 프로세싱 유닛은 상기 서비스 경로와 상기 하드웨어 포워딩 칩의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있으며,
    상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원하며,
    상기 하드웨어 흐름표 구성 유닛은 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하도록 구성되어 있는, 통신 장치.
  20. 제19항에 있어서,
    상기 통신 장치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 복수의 흐름표는 OpenFlow 흐름표이며,
    상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션인, 통신 장치.
  21. 제19항 또는 제20항에 있어서,
    상기 데이터 패킷 프로세싱 유닛이 미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있다는 것은 구체적으로,
    상기 데이터 패킷 프로세싱 유닛이 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하고, 상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하도록 구성되어 있다는 것
    을 포함하며,
    상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
    상기 하드웨어 흐름표 구성 유닛은 구체적으로 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하도록 구성되어 있는, 통신 장치.
  22. 제21항에 있어서,
    상기 데이터 패킷 프로세싱 유닛이 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 목표 서비스 경로를 결정하도록 구성되어 있다는 것은 구체적으로,
    상기 데이터 패킷 프로세싱 유닛이, 2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것; 및 상기 데이터 패킷 프로세싱 유닛이, 하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하도록 구성되어 있다는 것
    을 포함하는, 통신 장치.
  23. 제19항 내지 제11항 중 어느 한 항에 있어서,
    상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
    상기 인터페이스 유닛은 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하고, 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하도록 추가로 구성되어 있으며,
    상기 데이터 패킷 프로세싱 유닛은 상기 인터페이스 유닛에 의해 전달되는 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하도록 추가로 구성되어 있는, 통신 장치.
  24. 제19항 내지 제23항 중 어느 한 항에 있어서,
    상기 통신 장치는 서비스 흐름표 구성 유닛을 더 포함하며,
    상기 데이터 패킷 프로세싱 유닛은 상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하도록 추가로 구성되어 있으며,
    상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
    상기 서비스 흐름표 구성 유닛은 상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하도록 구성되어 있으며,
    상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않으며,
    상기 데이터 패킷 프로세싱 유닛은 나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하도록 추가로 구성되어 있는, 통신 장치.
  25. 제19항 내지 제24항 중 어느 한 항에 있어서,
    상기 통신 장치는 대응관계 구성 유닛을 더 포함하며,
    상기 대응관계 구성 유닛은 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있으며, 이것은 구체적으로,
    상기 대응관계 구성 유닛이 복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하도록 구성되어 있다는 것
    을 포함하고,
    상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함되며,
    상기 대응관계 구성 유닛은 상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하도록 구성되어 있으며,
    각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
    상기 데이터 패킷 프로세싱 유닛은 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있으며, 이것은 구체적으로,
    상기 데이터 패킷 프로세싱 유닛이 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 대응하는 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정하도록 구성되어 있다는 것
    을 포함하는, 통신 장치.
  26. 흐름 엔트리 구성을 실행하는 통신 장치로서,
    프로세서 및 메모리를 포함하며,
    상기 메모리는 컴퓨터 연산 명령을 저장하도록 구성되어 있으며,
    상기 프로세서는 상기 통신 장치가 다음의 동작:
    제1 서비스의 데이터 패킷에 관한 정보를 제어기에 보고하는 것;
    상기 제1 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제1 서비스의 흐름 엔트리를 수신하는 것 - 상기 흐름표 구조는 복수의 흐름표에 의해 지원되는 매치 필드 및 액션을 포함하고, 복수의 흐름표 각각에 의해 지원되는 매치 필드는 제1 서비스의 매치 필드를 포함하며, 복수의 흐름표 각각에 의해 지원되는 액션은 제1 서비스의 액션을 포함함 - ;
    미리 구성된 서비스 경로에서, 제1 서비스의 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 것 - 상기 제1 목표 서비스 경로의 매치 필드는 제1 서비스의 매치 필드를 포함하고, 상기 목표 서비스 경로의 액션은 제1 서비스의 액션을 포함함 - ;
    상기 서비스 경로와 상기 통신 장치에 접속된 하드웨어 포워딩 칩의 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정하는 것 - 상기 목표 하드웨어 흐름표는 제1 목표 서비스 경로에 의해 지원되는 서비스를 지원함 - ; 및
    상기 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 것
    을 실행할 수 있도록 상기 메모리에 저장되어 있는 컴퓨터 연산 명령을 실행하도록 구성되어 있는, 통신 장치.
  27. 제26항에 있어서,
    상기 통신 장치는 개방흐름(OpenFlow) 프로토콜을 사용함으로써 상기 제어기와 통신하며, 상기 흐름표는 OpenFlow 흐름표이며, 상기 복수의 흐름표의 매치 필드는 OpenFlow 프로토콜에 의해 지원되는 모든 매치 필드이고, 상기 복수의 흐름표의 액션은 OpenFlow 프로토콜에 의해 지원되는 모든 액션인, 통신 장치.
  28. 제26항 또는 제27항에 있어서,
    상기 프로세서는 상기 통신 장치가 구체적으로 이하의 동작:
    상기 제1 서비스의 흐름 엔트리를 소프트웨어 흐름표 내에 구성하는 것; 및
    상기 소프트웨어 흐름표로부터 제1 서비스의 데이터 패킷과 매칭하는 제1 목표 흐름 엔트리를 획득하고, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리와 매칭하는 제1 목표 서비스 경로를 결정하는 것
    을 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하며,
    상기 결정된 제1 목표 서비스 경로의 매치 필드는 입장 포트 매치 필드 및 제1 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제1 목표 서비스 경로의 액션은, 제1 목표 흐름 엔트리 내의 액션 값에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함하며,
    상기 제1 서비스의 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 것은,
    상기 통신 장치가 제1 목표 흐름 엔트리에 따라 상기 목표 하드웨어 흐름표의 흐름 엔트리를 구성하는 것
    을 포함하는, 통신 장치.
  29. 제28항에 있어서,
    상기 프로세서는 상기 통신 장치가 구체적으로 이하의 동작:
    2 이상의 제1 목표 흐름 엔트리가 존재할 때, 제1 목표 흐름 엔트리를 종합하여 결합된 흐름 엔트리를 생성하고 - 상기 결합된 흐름 엔트리의 매치 필드 값은, 제1 목표 흐름 엔트리 내에 있으면서 입장 포트 매치 필드 및 패킷 헤더 매치 필드에 대응하는 매치 필드 값이고, 상기 결합된 흐름 엔트리의 액션 값은, 제1 목표 흐름 엔트리 내에 있으면서 제1 서비스의 데이터 패킷을 처리하는 데 사용되는 액션 값임 - , 상기 미리 구성된 서비스 경로에서, 상기 결합된 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드를 포함하고 상기 결합된 흐름 엔트리의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것; 및
    하나의 제1 목표 흐름 엔트리가 존재할 때, 상기 미리 구성된 서비스 경로에서, 제1 목표 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드를 포함하고 제1 목표 흐름 엔트리 내의 액션 값에 대응하는 액션을 포함하는 하나의 서비스 경로를 제1 목표 서비스 경로로서 결정하는 것
    을 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하는, 통신 장치.
  30. 제26항 내지 제29항 중 어느 한 항에 있어서,
    상기 복수의 흐름표 각각에 의해 지원되는 매치 필드 및 액션은 제2 서비스의 매치 필드 및 액션을 더 포함하고, 상기 제2 서비스는 상기 스위치의 하드웨어 흐름표에 의해 지원되지 않는 서비스이며,
    상기 프로세서는 상기 통신 장치가 이하의 동작:
    상기 제2 서비스의 데이터 패킷에 관한 정보를 상기 제어기에 보고하는 것; 및
    상기 통신 장치가 제2 서비스의 데이터 패킷에 관한 정보 및 흐름표 구조에 따라 제어기에 의해 전달되는 제2 서비스의 흐름 엔트리를 수신하고, 상기 제2 서비스의 흐름 엔트리를 상기 소프트웨어 흐름표 내에 구성하는 것
    을 추가로 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하는, 통신 장치.
  31. 제30항에 있어서,
    상기 프로세서는 상기 통신 장치가 이하의 동작:
    상기 소프트웨어 흐름표로부터 상기 제2 서비스의 데이터 패킷과 매칭하는 제2 목표 흐름 엔트리를 획득하는 것;
    상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 것 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
    상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 것 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ;
    나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 것;
    상기 미리 구성된 서비스 경로에서, 제2 목표 흐름 엔트리와 매칭하는 제2 목표 서비스 경로를 결정하는 것 - 상기 결정된 제2 목표 서비스 경로의 매치 필드는 제2 목표 흐름 엔트리의 매치 필드 값에 대응하는 매치 필드 내의 입장 포트 매치 필드 및 패킷 헤더 매치 필드를 포함하며, 상기 결정된 제2 목표 서비스 경로의 액션은, 제2 목표 흐름 엔트리 내의 액션 값에 있으면서 제2 서비스의 데이터 패킷을 처리하는 데 사용되는 액션을 포함함 - ;
    상기 제2 목표 흐름 엔트리에 따라, 상기 제2 목표 서비스 경로에 대응하는 서비스 흐름표의 서비스 흐름 엔트리를 구성하고 - 상기 서비스 흐름표는 정확한 매치 표이고, 상기 서비스 흐름표의 매치 필드는 제2 목표 서비스 경로의 모든 매치 필드임 - , 상기 제2 목표 흐름 엔트리 내의 매치 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제1 매치 필드 값을 구성하고, 상기 제2 서비스의 데이터 패킷의 패킷 헤더 내의 헤더 필드 값에 대해 상기 서비스 흐름 엔트리 내의 제2 매치 필드 값을 구성하며, 상기 제2 목표 흐름 엔트리 내의 액션 값에 대해 상기 서비스 흐름 엔트리 내의 액션 값을 구성하는 것 - 상기 제1 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하고, 상기 제2 매치 필드 값에 대응하는 매치 필드는 상기 제2 흐름 엔트리 내의 매치 필드 값에 대응하는 매치 필드에 속하지 않음 - ; 및
    나중에 상기 제2 서비스의 후속의 데이터 패킷을 수신할 때, 상기 후속의 데이터 패킷과 매칭하는 서비스 흐름 엔트리를 서비스 흐름표에서 검색하고, 상기 찾아낸 서비스 흐름 엔트리의 액션에 따라 후속의 데이터 패킷을 처리하는 것;
    을 추가로 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하는, 통신 장치.
  32. 제26항 내지 제31항 중 어느 한 항에 있어서,
    상기 프로세서는 상기 통신 장치가 이하의 동작:
    상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것
    을 추가로 실행할 수 있도록 상기 컴퓨터 연산 명령을 실행하며,
    상기 서비스 경로와 대응하는 하드웨어 흐름표 간의 대응관계를 구성하는 것은 구체적으로,
    복수의 물리적 흐름표 및 상기 물리적 흐름표와 하드웨어 흐름표 간의 대응관계를 구성하는 것 - 상기 복수의 물리적 흐름표는 지원된 매치 필드 및 액션을 개별적으로 포함하고, 각각의 물리적 흐름표의 매치 필드는 대응하는 하드웨어 흐름표의 매치 필드 내에 포함되며, 각각의 물리적 흐름표의 액션 내에 있으면서 상기 하드웨어 흐름표에 기록되어야 하는 액션은 상기 대응하는 하드웨어 흐름표의 액션 내에 포함됨 - ; 및
    상기 서비스 경로와 상기 물리적 흐름표 간의 대응관계를 구성하는 것
    을 포함하며,
    각각의 서비스 경로의 매치 필드는 모든 대응하는 물리적 흐름표의 매치 필드 내에 포함되고, 각각의 서비스 경로의 액션은 모든 대응하는 물리적 흐름표의 액션 내에 포함되며,
    상기 프로세서는 상기 통신 장치가 상기 서비스 경로와 하드웨어 흐름표 간의 미리 구성된 대응관계에 따라 목표 하드웨어 흐름표를 결정할 수 있도록 상기 컴퓨터 연산 명령을 실행하며,
    상기 프로세서는 상기 통신 장치가 구체적으로, 상기 제1 목표 서비스 경로와 상기 대응하는 제1 물리적 흐름표 간의 대응관계에 따라 제1 물리적 흐름표를 결정하고, 상기 제1 물리적 흐름표와 상기 목표 하드웨어 흐름표 간의 대응관계에 따라 목표 하드웨어 흐름표를 결정할 수 있도록 상기 컴퓨터 연산 명령을 실행하는, 통신 장치.
  33. 스위치로서,
    하드웨어 포워딩 칩; 및
    제19항 내지 제25항 중 어느 한 항에 따른 통신 장치, 또는 제26항 내지 제32항 중 어느 한 항에 따른 통신 장치
    를 포함하는 스위치.
  34. 통신 시스템으로서,
    제어기 및 제33항에 따른 스위치를 포함하는 통신 시스템.
KR1020167035418A 2014-06-30 2014-10-27 흐름 엔트리 구성 방법, 장치, 및 시스템 KR101886291B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2014/081183 2014-06-30
CN2014081183 2014-06-30
PCT/CN2014/089530 WO2016000362A1 (zh) 2014-06-30 2014-10-27 一种配置流表项的方法、装置和系统

Publications (2)

Publication Number Publication Date
KR20170009927A true KR20170009927A (ko) 2017-01-25
KR101886291B1 KR101886291B1 (ko) 2018-09-06

Family

ID=55018375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035418A KR101886291B1 (ko) 2014-06-30 2014-10-27 흐름 엔트리 구성 방법, 장치, 및 시스템

Country Status (9)

Country Link
US (2) US10305777B2 (ko)
EP (1) EP3142310B1 (ko)
JP (1) JP6490205B2 (ko)
KR (1) KR101886291B1 (ko)
CN (1) CN106664261B (ko)
AU (1) AU2014399458B2 (ko)
CA (1) CA2950206C (ko)
RU (1) RU2651143C1 (ko)
WO (1) WO2016000362A1 (ko)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781004B2 (en) 2014-10-16 2017-10-03 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US20160315866A1 (en) * 2015-04-27 2016-10-27 Telefonaktiebolaget L M Ericsson (Publ) Service based intelligent packet-in mechanism for openflow switches
US10348619B2 (en) * 2015-07-31 2019-07-09 Nicira, Inc. Generating conjunctive match flow entries
CN107547293B (zh) * 2016-06-29 2020-09-08 新华三技术有限公司 一种流路径探测方法和装置
US10560328B2 (en) 2017-04-20 2020-02-11 Cisco Technology, Inc. Static network policy analysis for networks
US10826788B2 (en) 2017-04-20 2020-11-03 Cisco Technology, Inc. Assurance of quality-of-service configurations in a network
US10623264B2 (en) 2017-04-20 2020-04-14 Cisco Technology, Inc. Policy assurance for service chaining
US10623271B2 (en) 2017-05-31 2020-04-14 Cisco Technology, Inc. Intra-priority class ordering of rules corresponding to a model of network intents
US10693738B2 (en) 2017-05-31 2020-06-23 Cisco Technology, Inc. Generating device-level logical models for a network
US20180351788A1 (en) 2017-05-31 2018-12-06 Cisco Technology, Inc. Fault localization in large-scale network policy deployment
US10812318B2 (en) 2017-05-31 2020-10-20 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment
US10581694B2 (en) 2017-05-31 2020-03-03 Cisco Technology, Inc. Generation of counter examples for network intent formal equivalence failures
US10554483B2 (en) 2017-05-31 2020-02-04 Cisco Technology, Inc. Network policy analysis for networks
US10505816B2 (en) 2017-05-31 2019-12-10 Cisco Technology, Inc. Semantic analysis to detect shadowing of rules in a model of network intents
US10439875B2 (en) 2017-05-31 2019-10-08 Cisco Technology, Inc. Identification of conflict rules in a network intent formal equivalence failure
US11469986B2 (en) 2017-06-16 2022-10-11 Cisco Technology, Inc. Controlled micro fault injection on a distributed appliance
US10498608B2 (en) 2017-06-16 2019-12-03 Cisco Technology, Inc. Topology explorer
US10587621B2 (en) 2017-06-16 2020-03-10 Cisco Technology, Inc. System and method for migrating to and maintaining a white-list network security model
US10686669B2 (en) 2017-06-16 2020-06-16 Cisco Technology, Inc. Collecting network models and node information from a network
US10547715B2 (en) 2017-06-16 2020-01-28 Cisco Technology, Inc. Event generation in response to network intent formal equivalence failures
US11645131B2 (en) 2017-06-16 2023-05-09 Cisco Technology, Inc. Distributed fault code aggregation across application centric dimensions
US10574513B2 (en) 2017-06-16 2020-02-25 Cisco Technology, Inc. Handling controller and node failure scenarios during data collection
US11150973B2 (en) 2017-06-16 2021-10-19 Cisco Technology, Inc. Self diagnosing distributed appliance
US10904101B2 (en) 2017-06-16 2021-01-26 Cisco Technology, Inc. Shim layer for extracting and prioritizing underlying rules for modeling network intents
US10333787B2 (en) 2017-06-19 2019-06-25 Cisco Technology, Inc. Validation of L3OUT configuration for communications outside a network
US10341184B2 (en) 2017-06-19 2019-07-02 Cisco Technology, Inc. Validation of layer 3 bridge domain subnets in in a network
US10567229B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validating endpoint configurations between nodes
US10536337B2 (en) 2017-06-19 2020-01-14 Cisco Technology, Inc. Validation of layer 2 interface and VLAN in a networked environment
US10700933B2 (en) 2017-06-19 2020-06-30 Cisco Technology, Inc. Validating tunnel endpoint addresses in a network fabric
US10554493B2 (en) 2017-06-19 2020-02-04 Cisco Technology, Inc. Identifying mismatches between a logical model and node implementation
US10644946B2 (en) 2017-06-19 2020-05-05 Cisco Technology, Inc. Detection of overlapping subnets in a network
US10567228B2 (en) 2017-06-19 2020-02-18 Cisco Technology, Inc. Validation of cross logical groups in a network
US10805160B2 (en) 2017-06-19 2020-10-13 Cisco Technology, Inc. Endpoint bridge domain subnet validation
US10432467B2 (en) 2017-06-19 2019-10-01 Cisco Technology, Inc. Network validation between the logical level and the hardware level of a network
US10560355B2 (en) 2017-06-19 2020-02-11 Cisco Technology, Inc. Static endpoint validation
US11283680B2 (en) 2017-06-19 2022-03-22 Cisco Technology, Inc. Identifying components for removal in a network configuration
US10348564B2 (en) 2017-06-19 2019-07-09 Cisco Technology, Inc. Validation of routing information base-forwarding information base equivalence in a network
US10673702B2 (en) 2017-06-19 2020-06-02 Cisco Technology, Inc. Validation of layer 3 using virtual routing forwarding containers in a network
US11343150B2 (en) 2017-06-19 2022-05-24 Cisco Technology, Inc. Validation of learned routes in a network
US10528444B2 (en) 2017-06-19 2020-01-07 Cisco Technology, Inc. Event generation in response to validation between logical level and hardware level
US10652102B2 (en) 2017-06-19 2020-05-12 Cisco Technology, Inc. Network node memory utilization analysis
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10623259B2 (en) 2017-06-19 2020-04-14 Cisco Technology, Inc. Validation of layer 1 interface in a network
US10437641B2 (en) 2017-06-19 2019-10-08 Cisco Technology, Inc. On-demand processing pipeline interleaved with temporal processing pipeline
US10411996B2 (en) 2017-06-19 2019-09-10 Cisco Technology, Inc. Validation of routing information in a network fabric
US10218572B2 (en) 2017-06-19 2019-02-26 Cisco Technology, Inc. Multiprotocol border gateway protocol routing validation
US10812336B2 (en) 2017-06-19 2020-10-20 Cisco Technology, Inc. Validation of bridge domain-L3out association for communication outside a network
US10505817B2 (en) 2017-06-19 2019-12-10 Cisco Technology, Inc. Automatically determining an optimal amount of time for analyzing a distributed network environment
US10587484B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Anomaly detection and reporting in a network assurance appliance
US10587456B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Event clustering for a network assurance platform
US10554477B2 (en) 2017-09-13 2020-02-04 Cisco Technology, Inc. Network assurance event aggregator
US10333833B2 (en) 2017-09-25 2019-06-25 Cisco Technology, Inc. Endpoint path assurance
CN107623635B (zh) * 2017-10-30 2020-07-21 深圳市德赛微电子技术有限公司 一种网络交换芯片可识别流表的智能匹配方法
US11102053B2 (en) 2017-12-05 2021-08-24 Cisco Technology, Inc. Cross-domain assurance
CN108256045A (zh) * 2018-01-12 2018-07-06 福建星瑞格软件有限公司 实时流数据的结构化解析、流计算的方法及计算机设备
US10873509B2 (en) 2018-01-17 2020-12-22 Cisco Technology, Inc. Check-pointing ACI network state and re-execution from a check-pointed state
US10572495B2 (en) 2018-02-06 2020-02-25 Cisco Technology Inc. Network assurance database version compatibility
US10812315B2 (en) 2018-06-07 2020-10-20 Cisco Technology, Inc. Cross-domain network assurance
US10911495B2 (en) 2018-06-27 2021-02-02 Cisco Technology, Inc. Assurance of security rules in a network
US11044273B2 (en) 2018-06-27 2021-06-22 Cisco Technology, Inc. Assurance of security rules in a network
US10659298B1 (en) 2018-06-27 2020-05-19 Cisco Technology, Inc. Epoch comparison for network events
US11019027B2 (en) 2018-06-27 2021-05-25 Cisco Technology, Inc. Address translation for external network appliance
US11218508B2 (en) 2018-06-27 2022-01-04 Cisco Technology, Inc. Assurance of security rules in a network
US10904070B2 (en) 2018-07-11 2021-01-26 Cisco Technology, Inc. Techniques and interfaces for troubleshooting datacenter networks
US10826770B2 (en) 2018-07-26 2020-11-03 Cisco Technology, Inc. Synthesis of models for networks using automated boolean learning
US10616072B1 (en) 2018-07-27 2020-04-07 Cisco Technology, Inc. Epoch data interface
CN109450798B (zh) * 2018-12-13 2022-07-12 郑州云海信息技术有限公司 路由表信息的管理方法和计算机可读存储介质
US11470009B2 (en) * 2019-10-18 2022-10-11 Arista Networks, Inc. Implementing multi-table OpenFlow using a parallel hardware table lookup architecture
CN111131050A (zh) * 2019-12-31 2020-05-08 盛科网络(苏州)有限公司 流表的匹配方法及装置
CN114726788B (zh) * 2022-05-06 2024-02-02 深圳星云智联科技有限公司 应用于dpu的报文传输方法及相关装置
CN114978809B (zh) * 2022-06-23 2024-01-12 惠州华阳通用电子有限公司 一种车载以太网vlan节点配置方法
CN117834461A (zh) * 2022-09-28 2024-04-05 中兴通讯股份有限公司 业务数据处理方法、设备及计算机可读存储介质
CN117041147B (zh) * 2023-10-08 2024-02-23 井芯微电子技术(天津)有限公司 智能网卡设备、主机设备和方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325271A1 (en) * 2006-02-09 2010-12-23 Roman Maria Krzanowski Dynamic service-aware flow control in packet networks
US8036226B1 (en) * 2006-11-03 2011-10-11 Juniper Networks, Inc. Dynamic flow-based multi-path load balancing with quality of service assurances
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
WO2013093857A1 (en) * 2011-12-22 2013-06-27 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
CN103685033A (zh) * 2013-12-19 2014-03-26 武汉邮电科学研究院 Sdn架构中支持分组交换和电路交换的通用流表及方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1001631A1 (en) * 1998-11-09 2000-05-17 CANAL+ Société Anonyme Signalling of bouquet information in a digital transmission system
US8804710B2 (en) 2008-12-29 2014-08-12 Juniper Networks, Inc. System architecture for a scalable and distributed multi-stage switch fabric
US8154996B2 (en) 2008-09-11 2012-04-10 Juniper Networks, Inc. Methods and apparatus for flow control associated with multi-staged queues
WO2011043379A1 (ja) * 2009-10-06 2011-04-14 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
WO2012032864A1 (ja) * 2010-09-08 2012-03-15 日本電気株式会社 スイッチシステム、スイッチ制御方法、及び記憶媒体
JP2012128282A (ja) * 2010-12-16 2012-07-05 Sanyo Electric Co Ltd 投写型映像表示装置
KR101574167B1 (ko) 2011-01-13 2015-12-03 닛본 덴끼 가부시끼가이샤 네트워크 시스템 및 경로 제어 방법
EP2690831A4 (en) * 2011-03-23 2014-12-10 Nec Corp COMMUNICATION CONTROL SYSTEM, COMMUNICATION NODES AND COMMUNICATION CONTROL METHOD
US20130223226A1 (en) 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Providing a Split Data Plane in a Flow-Based Switching Device
JP5814830B2 (ja) * 2012-03-05 2015-11-17 Kddi株式会社 フロー単位パケット転送のための宛先検索装置および検索方法
JP6176245B2 (ja) 2012-05-31 2017-08-09 日本電気株式会社 制御装置、通信システム、スイッチ制御方法及びプログラム
WO2014000290A1 (zh) 2012-06-29 2014-01-03 华为技术有限公司 数据报文的控制方法、设备及系统
CN102843299A (zh) * 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 基于TCAM实现Openflow多级流表的方法及系统
US20140146664A1 (en) 2012-11-26 2014-05-29 Level 3 Communications, Llc Apparatus, system and method for packet switching
CN103905311B (zh) 2012-12-28 2017-02-22 华为技术有限公司 流表匹配方法和装置以及交换机
US8964752B2 (en) * 2013-02-25 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system for flow table lookup parallelization in a software defined networking (SDN) system
CN103152264B (zh) 2013-02-25 2015-11-25 北京百度网讯科技有限公司 Openflow网络和IP网络互连通信方法及Openflow子网边缘交换机
EP2962429B1 (en) * 2013-02-26 2019-12-11 Telefonaktiebolaget LM Ericsson (publ) Traffic recovery in openflow networks
CA2903422A1 (en) * 2013-03-06 2014-09-12 Seiji Oikawa Communication system, switch, control apparatus, packet processing method, and program
JPWO2014157460A1 (ja) * 2013-03-28 2017-02-16 日本電気株式会社 通信システム、制御装置、情報収集方法およびプログラム
CN103259718B (zh) * 2013-04-18 2016-12-28 华为技术有限公司 一种流表转换方法和装置
WO2014192259A1 (ja) * 2013-05-27 2014-12-04 日本電気株式会社 ネットワーク制御装置、ネットワーク制御方法、プログラムおよび通信システム
CN103428094B (zh) 2013-08-12 2016-08-17 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置
US9602398B2 (en) * 2013-09-15 2017-03-21 Nicira, Inc. Dynamically generating flows with wildcard fields
US9363180B2 (en) * 2013-11-04 2016-06-07 Telefonkatiebolaget L M Ericsson (Publ) Service chaining in a cloud environment using Software Defined Networking
CN103888369B (zh) 2014-04-10 2019-02-05 广州市高科通信技术股份有限公司 以太网通信方法、系统和sdn交换机

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100325271A1 (en) * 2006-02-09 2010-12-23 Roman Maria Krzanowski Dynamic service-aware flow control in packet networks
US8036226B1 (en) * 2006-11-03 2011-10-11 Juniper Networks, Inc. Dynamic flow-based multi-path load balancing with quality of service assurances
WO2013093857A1 (en) * 2011-12-22 2013-06-27 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
CN103685033A (zh) * 2013-12-19 2014-03-26 武汉邮电科学研究院 Sdn架构中支持分组交换和电路交换的通用流表及方法

Also Published As

Publication number Publication date
JP2017520214A (ja) 2017-07-20
AU2014399458A1 (en) 2016-12-15
CN106664261B (zh) 2019-10-25
RU2651143C1 (ru) 2018-04-18
US10305777B2 (en) 2019-05-28
US20170111259A1 (en) 2017-04-20
AU2014399458B2 (en) 2018-01-18
US20190245772A1 (en) 2019-08-08
US10659342B2 (en) 2020-05-19
EP3142310A1 (en) 2017-03-15
CN106664261A (zh) 2017-05-10
CA2950206A1 (en) 2016-01-07
WO2016000362A1 (zh) 2016-01-07
JP6490205B2 (ja) 2019-03-27
EP3142310B1 (en) 2022-06-15
EP3142310A4 (en) 2017-04-26
KR101886291B1 (ko) 2018-09-06
CA2950206C (en) 2019-03-05

Similar Documents

Publication Publication Date Title
KR101886291B1 (ko) 흐름 엔트리 구성 방법, 장치, 및 시스템
US10581700B2 (en) Service flow processing method, apparatus, and device
EP3633929B1 (en) Method for sending virtual extensible local area network packet, computer device, and computer readable medium
EP3313025B1 (en) Data packet forwarding
US10298519B2 (en) Virtual network
US10237377B2 (en) Packet rewriting apparatus, control apparatus, communication system, packet transmission method and program
US20170078184A1 (en) Flow table management method, and related device and system
US10742697B2 (en) Packet forwarding apparatus for handling multicast packet
CN106878194B (zh) 一种报文处理方法和装置
CN105745883B (zh) 转发表同步的方法、网络设备和系统
WO2015014187A1 (zh) 一种支持多租户的数据转发方法和装置
US20170026274A1 (en) Method for processing packet in network, forwarding device, and packet processing system
CN105939267B (zh) 带外管理方法及装置
US10230647B2 (en) Data packet processing method and device
US10104018B2 (en) Method, apparatus, and system for controlling forwarding of service data in virtual network
EP3503484B1 (en) Message transmission methods and devices
US9749240B2 (en) Communication system, virtual machine server, virtual network management apparatus, network control method, and program
US20150263990A1 (en) Network device, control method, and program
US20210112607A1 (en) Communication system and communication method
EP2860920B1 (en) Method and device for generating forwarding table
JP6044218B2 (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