KR20170013332A - 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이 - Google Patents

오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이 Download PDF

Info

Publication number
KR20170013332A
KR20170013332A KR1020167036645A KR20167036645A KR20170013332A KR 20170013332 A KR20170013332 A KR 20170013332A KR 1020167036645 A KR1020167036645 A KR 1020167036645A KR 20167036645 A KR20167036645 A KR 20167036645A KR 20170013332 A KR20170013332 A KR 20170013332A
Authority
KR
South Korea
Prior art keywords
packet
virtual switch
flow table
action
service gateway
Prior art date
Application number
KR1020167036645A
Other languages
English (en)
Other versions
KR101938623B1 (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 KR20170013332A publication Critical patent/KR20170013332A/ko
Application granted granted Critical
Publication of KR101938623B1 publication Critical patent/KR101938623B1/ko

Links

Images

Classifications

    • 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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Abstract

오픈 플로우 통신 방법, 제어기, 가상 스위치, 및 서비스 게이트웨이가 개시된다. 상기 방법은, 서비스 게이트웨이에 의해 전송된 이동될 필요가 있는 액션을 수신하는 단계; 이동될 필요가 있는 액션 및 네트워크 토폴로지에 따라 적절한 가상 스위치를 선택하는 단계; 플로우 테이블을 서비스 게이트웨이 및 가상 스위치에 개별적으로 전달하고, 데이터 패킷을 전달하기 위해 서비스 게이트웨이와 가상 스위치 사이에 제1 데이터 채널을 확립하는 단계; 상기 데이터 패킷에 대한 관련된 확장 액션을 실행하기 위해서, 확장 액션을 갖는 플로우 테이블을 상기 가상 스위치에 전달하는 단계; 및 상기 가상 스위치가 상기 관련된 확장 액션을 실행한 상기 데이터 패킷을 목적지 서버에 전송하는 단계를 포함한다. 상술한 내용에 의해, 본 발명에서는, 서비스 게이트웨이에 대한 처리 능력이 불충분한 때에는, 일부 데이터 처리 서비스들이 실행을 위해 서비스 게이트웨이로부터 가상 서버로 이동될 수 있어, 시스템 내의 네트워크 요소 간의 로드 밸런스를 달성하고, 시스템의 활용도 및 처리량을 향상시키고, 시스템 전체의 성능을 더욱 향상시킬 수 있다.

Description

오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이{OPENFLOW COMMUNICATION METHOD, SYSTEM, CONTROLLER, AND SERVICE GATEWAY}
본 발명은 통신 분야에 관한 것으로, 특히, 오픈 플로우 통신 방법과 시스템, 제어기, 및 서비스 게이트웨이에 관한 것이다.
경제적 및 사회적 세계화에 따라, 기업들과 조직들의 양적 증가는 전국적으로 그리고 심지어 세계적으로 지점들을 설립하게 하고, 출장 직원들의 양적 증가는 고정된 위치들로부터 본사의 서비스 시스템들에 액세스하게 한다. 또한 서비스들이 지속적으로 확장되고 애플리케이션들은 점점 복잡해짐에 따라, 조직의 IT(Information Technology, 정보 기술) 인프라 구조가 중앙 집중식 관리로 발전하고 있으며, 데이터 센터들 및 클라우드 서비스들을 설정하는 것은 IT 구축의 추세이다. 엔터프라이즈 서비스 게이트웨이는 데이터 센터 및 클라우드 서비스 센터로의 출입구이다. 엔터프라이즈 서비스 게이트웨이의 처리 능력은 전체 데이터 센터 및 클라우드 서비스 센터의 성능에 직접적인 영향을 미친다.
미국의 스탠포드 대학은 네트워크 혁신 연구를 지원하는 새로운 네트워크 스위칭 모델인 오픈 플로우(OpenFlow)를 제안했다. 오픈 플로우 프로토콜은 점진적으로 개선되어 오픈 플로우 프로토콜을 데이터 센터 네트워크에 적용하는 것이 특히 두드러지는 실제 네트워크에 성공적으로 적용된다. 도 1에 도시된 바와 같이, 오픈 플로우 네트워크의 토폴로지 구조는, 오픈 플로우 제어기(11), 오픈 플로우 스위치(12), 터미널(13), 및 오픈 플로우 제어기(11), 오픈 플로우 스위치(12), 및 터미널(13)을 연결하는 링크들을 포함한다. 오픈 플로우 제어기(11)는 전체 네트워크의 토폴로지 구조를 저장하고, 전달될 필요가 있는 데이터 플로우에 대한 플로우 테이블을 생성하고, 대응하는 스위치에 플로우 테이블을 전달한다. 오픈 플로우 스위치(12)는 오픈 플로우 제어기(11)에 의해 전달된 플로우 테이블 정보를 저장하고, 오픈 플로우 스위치(12)들 사이 및 오픈 플로우 스위치(12)와 터미널(13) 사이의 데이터 전달을 수행한다.
데이터 센터 네트워크의 토폴로지 구조는 일반적으로 트리 구조이다. 데이터 센터로의 출입구(루트)인 엔터프라이즈 서비스 게이트웨이는, 네트워크 포워딩을 담당하며, 추가로 데이터에 대한 특정 처리를 수행하고, 예를 들어 네트워크 보안 측면에서, 데이터에 대한 "암호화/해독화, DPI(Deep Packet Inspection, 딥 패킷 검사 기술) 등”을 수행하고; 데이터 압축 및 압축 해제, 등을 수행할 필요가 있다. 구체적으로, 상기 처리는, 다음을 포함한다:
1. 엔터프라이즈 서비스 게이트웨이는 클라이언트 요청을 수신하고 데이터에 대한 보안 검색(IPSEC, InternetProtocolSecurity, 인터넷 프로토콜 보안, 및 DPI)과 같은 데이터 처리를 수행한다.
2. 데이터 처리가 완료된 후, 처리될 패킷은 요청의 서비스 타입에 따라 백엔드 서버에 전달된다.
3. 서버는 처리를 수행하고, 처리 결과를 엔터프라이즈 서비스 게이트웨이에 전달한다.
4. 엔터프라이즈 서비스 게이트웨이는 서비스 데이터를 수신하고, 서비스 데이터에 대한 특정 처리를 수행하고, 캡슐화된 패킷을 클라이언트에 전달한다.
종래 기술의 엔터프라이즈 서비스 게이트웨이는 전체 데이터 센터로의 출입구 역할을 한다. 처리될 데이터 볼륨이 엔터프라이즈 서비스 게이트웨이의 능력을 초과하면, 엔터프라이즈 서비스 게이트웨이는 전체 시스템의 병목 지점이 되지만 백엔드 서버에 대한 대량의 컴퓨팅 리소스들은 유휴 상태이다. 따라서, 병목 지점의 문제점을 해결하기 위한 방법을 찾을 필요가 있다.
이러한 관점에서, 본 발명의 실시예들은, 시스템의 네트워크 요소 간에 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 향상시킬 수 있으며, 또한 시스템 전체의 성능을 향상시킬 수 있는 오픈 플로우 통신 방법과 시스템, 제어기 및 서비스 게이트웨이를 제공한다.
제1 양태에 따르면, 오픈 플로우 통신 방법이 제공되는데, 상기 방법은, 서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하는 단계 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함함 -; 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하는 단계; 제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하는 단계 - 상기 제1 플로우 테이블은 상기 서비스 게이트웨이가 상기 가상 스위치에 패킷을 전달하는데 사용됨 -; 및 제2 플로우 테이블을 상기 가상 스위치에 전달하는 단계 - 상기 제2 플로우 테이블은 상기 패킷에 대한 상기 액션을 실행하게 상기 가상 스위치에 지시하여, 상기 가상 스위치가 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함함 -를 포함한다.
제1 양태의 구현 방식을 참조하면, 제1 가능한 구현 방식에서, 상기 방법은, 상기 가상 스위치가 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하기 위한 플로우 테이블을 갖지 않은 경우, 상기 패킷의 처리 룰을 요청하고 상기 패킷에 대하여 상기 가상 스위치에 의해 전송되는 메시지를 수신하는 단계; 및 상기 가상 스위치에 제3 플로우 테이블을 전달하는 단계 - 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용됨 -를 추가로 포함한다.
제1 양태의 구현 방식을 참조하면, 제2 가능한 구현 방식에서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
제2 양태에 따르면, 제어기가 제공되는데, 이는, 서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하도록 구성된 수신 모듈 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함함 -; 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하도록 구성된 선택 모듈; 제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하도록 구성된 제1 플로우 테이블 전달 모듈 - 상기 제1 플로우 테이블은 상기 서비스 게이트웨이가 상기 가상 스위치에 패킷을 전달하는데 사용됨 -; 및 제2 플로우 테이블을 상기 가상 스위치에 전달하도록 구성된 제2 플로우 테이블 전달 모듈 - 상기 제2 플로우 테이블은 상기 패킷에 대한 상기 액션을 실행하게 상기 가상 스위치에 지시하여, 상기 가상 스위치가 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함함 -를 포함한다.
제2 양태의 구현 방식을 참조하면, 제1 가능한 구현 방식에서, 상기 가상 스위치가 관련된 플로우 테이블을 갖지 않은 경우, 상기 제어기는 제3 플로우 테이블 전달 모듈을 추가로 포함하고, 여기서 상기 수신 모듈은 상기 패킷의 처리 룰을 요청하고 상기 패킷에 대하여 상기 가상 스위치에 의해 전송되는 메시지를 수신하고; 상기 제3 전달 모듈은 상기 가상 스위치에 제3 플로우 테이블을 전달하고, 여기서 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용된다.
제2 양태의 구현 방식을 참조하면, 제2 가능한 구현 방식에서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
제3 양태에 따르면, 오픈 플로우 통신 방법이 제공되는데, 상기 방법은, 로드가 사전 설정된 임계치를 초과할 때, 이송 처리 요청을 제어기에 전송하는 단계 - 상기 이송 처리 요청은 상기 제어기가 가상 스위치로서 하나의 서버를 선택하도록, 이송될 필요가 있는 액션을 포함함 -; 상기 제어기에 의해 전달된 플로우 테이블을 수신하는 단계; 및 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을, 상기 가상 스위치가 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하도록, 전달하는 단계를 포함한다.
제3 양태의 구현 방식을 참조하면, 제1 가능한 구현 방식에서, 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하는 상기 단계는 상기 플로우 테이블에 따라 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 상기 가상 스위치에 구체적으로 전달하는 단계이다.
제3 양태의 구현 방식을 참조하면, 제2 가능한 구현 방식에서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
제4 양태에 따르면, 서비스 게이트웨이가 제공되는데, 이는, 로드가 사전 설정된 임계치를 초과할 때, 이송 처리 요청을 제어기에 전송하도록 구성된 전송 모듈 - 상기 이송 처리 요청은 상기 제어기가 가상 스위치로서 하나의 서버를 선택하도록, 이송될 필요가 있는 액션을 포함함; 상기 제어기에 의해 전달된 플로우 테이블을 수신하도록 구성된 수신 모듈; 및 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하여, 상기 가상 스위치가 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하게 하도록 구성된 전달 모듈을 포함한다.
제4 양태의 구현 방식을 참조하면, 제1 가능한 구현 방식에서, 상기 전달 모듈은 상기 플로우 테이블에 따라 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 상기 가상 스위치에 전달하도록 구체적으로 구성된다.
제4 양태의 구현 방식을 참조하면, 제2 가능한 구현 방식에서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
제5 양태에 따르면, 제어기가 제공되는데, 이는, 수신기, 프로세서, 전송기, 및 메모리를 포함하며, 여기서 상기 수신기는 서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하도록 구성되고, 여기서 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함하고; 상기 메모리는 프로그램 코드를 저장하도록 구성되고; 상기 프로세서는 상기 수신기에 접속되고, 상기 메모리에 저장된 상기 프로그램 코드를 호출하여, 이송될 필요가 있는 상기 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하는 방법을 실행하도록 구성되고; 상기 전송기는 제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하도록 추가로 구성되고, 여기서 상기 제1 플로우 테이블은 상기 서비스 게이트웨이가 상기 가상 스위치에 패킷을 전달하는데 사용되고 -; 상기 전송기는 제2 플로우 테이블을 상기 가상 스위치에 전달하도록 추가로 구성되고, 여기서 상기 제2 플로우 테이블은 상기 패킷에 대한 상기 액션을 실행하게 상기 가상 스위치에 지시하여, 상기 가상 스위치가 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함한다.
제5 양태의 구현 방식을 참조하면, 제1 가능한 구현 방식에서, 상기 가상 스위치가 관련된 플로우 테이블을 갖지 않은 경우, 상기 수신기는 상기 패킷의 처리 룰을 요청하고 상기 패킷에 대하여 상기 가상 스위치에 의해 전송되는 메시지를 수신하도록 추가로 구성되고; 상기 전송기는 상기 가상 스위치에 제3 플로우 테이블을 전달하고, 여기서 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용된다.
제5 양태의 구현 방식을 참조하면, 제2 가능한 구현 방식에서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
제6 양태에 따르면, 서비스 게이트웨이가 제공되는데, 이는, 전송기, 수신기, 프로세서, 및 메모리를 포함하며, 여기서 로드가 사전 설정된 임계치를 초과할 때, 상기 전송기는 이송 처리 요청을 제어기에 전송하도록 구성되고, 여기서 상기 이송 처리 요청은 상기 제어기가 가상 스위치로서 하나의 서버를 선택하도록, 이송될 필요가 있는 액션을 포함하고; 상기 수신기는 상기 제어기에 의해 전달된 플로우 테이블을 수신하도록 구성되고; 상기 메모리는 프로그램 코드를 저장하도록 구성되고; 상기 프로세서는 상기 메모리에 저장된 상기 프로그램 코드를 호출하여, 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하여, 상기 가상 스위치가 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하게 하는 방법을 실행하도록 구성된다.
제6 양태의 구현 방식을 참조하면, 제1 가능한 구현 방식에서, 상기 프로세서에 의해 실행된 상기 방법에서 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하는 상기 단계는 구체적으로, 상기 플로우 테이블에 따라 제1 데이터 채널을 통해 상기 가상 스위치에 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 전달하는 단계이다.
제6 양태의 구현 방식을 참조하면, 제2 가능한 구현 방식에서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
제7 양태에 따르면, 오픈 플로우 통신 시스템이 제공되는데, 상기 시스템은, 제어기, 서비스 게이트웨이, 및 적어도 하나의 서버를 포함하며, 여기서 상기 서비스 게이트웨이는 이송 처리 요청을 상기 제어기에 전송하고, 여기서 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함하고; 상기 제어기는 이송될 필요가 있는 상기 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 상기 적어도 하나의 서버 중 하나의 서버를 선택하고; 상기 제어기는 제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하고; 상기 서비스 게이트웨이는 상기 제1 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하고; 상기 제어기는 제2 플로우 테이블을 상기 가상 스위치에 전달하고, 여기서 상기 제2 플로우 테이블은 상기 패킷에 대한 상기 액션을 실행하게 상기 가상 스위치에 지시하는데 사용된 명령어를 포함하고; 상기 가상 스위치는 상기 제2 플로우 테이블에 따라 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송한다.
제7 양태의 구현 방식을 참조하면, 제1 가능한 구현 방식에서, 상기 가상 스위치가 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하기 위한 플로우 테이블을 갖지 않은 경우, 상기 가상 스위치는 상기 패킷의 처리 룰을 요청하는 메시지를 상기 제어기에 전송하도록 추가로 구성되고; 상기 제어기는 제3 플로우 테이블을 상기 가상 스위치에 전달하도록 추가로 구성되고, 여기서 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용된다.
제7 양태의 구현 방식을 참조하면, 제2 가능한 구현 방식에서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
제7 양태의 구현 방식을 참조하면, 제3 가능한 구현 방식에서, 상기 서비스 게이트웨이가 상기 제1 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하도록 구성되는 것은 구체적으로, 상기 제1 플로우 테이블에 따라 상기 가상 스위치에 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 전달하는 것이다.
본 발명에 따르면, 이송이 필요하고 서비스 게이트웨이에 의해 전송되는 것을 나타내는 이송 처리 요청이 수신되고, 여기서 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함하고; 하나의 서버는 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 선택되고; 제1 플로우 테이블은 상기 서비스 게이트웨이가 상기 가상 스위치에 패킷을 전달하기 위해 상기 서비스 게이트웨이에 전달되고; 제2 플로우 테이블은 상기 가상 스위치에 전달되고, 여기서 상기 제2 플로우 테이블은 상기 패킷에 대한 상기 액션을 실행하게 상기 가상 스위치에 지시하여, 상기 가상 스위치가 상기 패킷에 대한 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하게 함으로써, 시스템의 네트워크 요소 간의 로드 밸런스를 구현하고, 상기 시스템의 활용도 및 처리량을 개선하고, 추가로 상기 전체 시스템의 성능을 향상시키는데 사용된 명령어를 포함한다.
본 발명의 실시예들 또는 종래 기술에서의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시예들 또는 종래 기술을 설명하기 위해 요구되는 첨부 도면을 간단히 소개한다. 명백하게, 다음의 설명에서의 첨부된 도면들은 본 발명의 일부 실시예들을 도시하고, 본 기술 분야의 통상의 기술자는 창조적인 노력 없이 이들 첨부 도면으로부터 여전히 다른 도면을 도출할 수 있다.
도 1은 종래 기술의 오픈 플로우 네트워크 토폴로지 구조의 다이어그램이다;
도 2는 본 발명에 따른 오픈 플로우 네트워크 토폴로지 구조의 다이어그램이다;
도 3은 도 2에서 서비스 게이트웨이에 의해 제어기에 보고된 메시지의 포맷의 개략도이다;
도 4는 도 2에서 제어기에 의해 전달된 메시지들의 포맷들의 개략도이다;
도 5는 도 2에서 제어기에 의해 전달된 제2 플로우 테이블의 메시지의 포맷의 개략도이다;
도 6은 본 발명의 제1 실시예에 따른 오픈 플로우 통신 방법의 개략적인 흐름도이다;
도 7은 본 발명의 제1 실시예에 따른 제어기의 개략적인 구조도이다;
도 8은 본 발명의 제2 실시예에 따른 오픈 플로우 통신 방법의 개략적인 흐름도이다;
도 9는 본 발명의 제1 실시예에 따른 서비스 게이트웨이의 개략적인 구조도이다;
도 10은 본 발명의 제2 실시예에 따른 제어기의 개략적인 구조도이다;
도 11은 본 발명의 제2 실시예에 따른 서비스 게이트웨이의 개략적인 구조도이다;
도 12는 본 발명의 제1 실시예에 따른 오픈 플로우 통신 시스템의 개략적인 구조도이다.
본 발명의 실시예들의 목적, 기술적 해결책, 및 장점을 보다 명확하게 설명하기 위해, 다음은 본 발명의 실시예들의 기술적 해결책을 본 발명의 실시예들의 첨부 도면을 참조하여 명확하고 완전하게 설명한다. 명백하게, 설명된 실시예들은 본 발명의 일부 실시예들에 불과하지만 전부는 아니다. 창의적인 노력 없이 본 발명의 실시예들에 기초하여 본 기술 분야의 통상의 기술자에 의해 획득된 다른 모든 실시예들은 본 발명의 보호 범위 내에 있다.
도 2를 참조하면, 도 2는 본 발명에 따른 오픈 플로우 네트워크 토폴로지 구조의 다이어그램이다. 도 2에 도시된 바와 같이, 오픈 플로우 네트워크 토폴로지는 서비스 게이트웨이(22), 제어기(21), 가상 스위치(23), 목적지 서버(24), 및 라우터(25)를 포함한다. 예로서 해독화를 취하면, 패킷 해독화 요청이 수신될 때, 서비스 게이트웨이(22)는 시스템의 로드를 체크하고; 로드가 주어진 임계치를 초과하는 경우, 즉 서비스 게이트웨이(22)의 처리 능력이 불충분한 경우에는, 도 2를 참조하여 이하의 프로세스를 실행한다.
1. 서비스 게이트웨이(22)는 이송될 필요가 있는 요청된 리소스를 제어기(21)에 보고한다. 이송될 필요가 있는 요청된 리소스는 액션(Action)에 해당하고, 여기서 액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 본 명세서에서의 액션이 해독화 액션이라고 가정하면, 이송될 필요가 있는 요청된 리소스는 해독화와 관련된다. 서비스 게이트웨이(22)는 이송될 필요가 있는 요청된 리소스를 리소스 요청 메시지의 형태로 제어기(21)에 보고한다. 리소스 요청 메시지의 특정 포맷은 도 3에 도시된다. IP(Internet Protocol, 인터넷 프로토콜)는 출발지 IP와 목적지 IP를 포함한다. 출발지 IP는 서비스 게이트웨이(22)의 IP 주소이고, 목적지 IP는 제어기(21)의 IP 주소이다. TCP(Transmission Control Protocol, 전송 제어 프로토콜)는 리소스 요청 메시지가 바람직하게는 이 실시예에서 6633 포트인 TCP 프로토콜 포트를 통해 전송되는 것을 나타낸다. OF는 리소스 요청 메시지의 전송 프로세스가 오픈 플로우(OpenFlow) 프로토콜을 엄격하게 준수함을 나타낸다. S_req의 값은 1이고, 이는 메시지가 리소스 요청임을 나타낸다. Req_type은 메시지 요청의 타입을 나타내며, 여기서 Req_type의 데이터 길이는 4 바이트이고; 바람직하게는, 1은 암호화 리소스이고, 2는 해독화 리소스이며, 3은 압축 리소스이다. 본 발명의 다른 실시예들에서, 액션은 다른 액션, 예를 들어 압축 해제 액션 및 DPI(Deep Packet Inspection, 딥 패킷 검사 기술) 스캐닝일 수 있다. 상이한 액션들은 이송될 필요가 있는 상이한 요청된 리소스들에 해당한다. 본 실시예에서, 서비스 게이트웨이(22)가 리소스 요청 메시지를 제어기(21)에 전송하는 것은, 리소스, 즉 해독화 리소스가 오픈 플로우 프로토콜에 따라 요청되는 것을 나타낸다.
2. 제어기(21)는 서비스 게이트웨이(22)에 의해 보고된 필요한 리소스 및 네트워크 토폴로지 구조에 따라, 가상 스위치(23)로서 백엔드 스위치 클러스터로부터 하나의 적절한 서버를 선택하는데, 이는 목적지 서버로부터의 거리는 가능한 한 최단 경로인 것이 바람직하다.
3. 제어기(21)는 제1 플로우 테이블을 전달하여, 서비스 게이트웨이(22)와 가상 스위치(23) 사이에 제1 데이터 채널을 확립하고, 여기서 제1 데이터 채널은 서비스 게이트웨이(22)가 상기 가상 스위치(23)에 패킷을 전달하는데 사용된다. 구체적으로, 제어기(21)는 제1 플로우 테이블을 서비스 게이트웨이(22)에 전달한다. 제1 플로우 테이블의 포맷은 도 4의 (a)에 도시되고, 여기서 F_add는 플로우 테이블의 추가를 나타낸다. Action에 기입된 PUSH_IPHEAD는 IP 헤더를 추가하는 동작을 의미한다. IP, TCP, 및 OF의 의미들은 도 3의 리소스 요청 메시지에서의 것들과 동일하고, 상세한 설명은 여기에서 다시 기술되지 않는다. 제어기(21)는 제1 플로우 테이블을 가상 스위치(23)에 추가로 전달한다. 제1 플로우 테이블의 포맷은 도 4의 (b)에 도시된다. Action에 기입된 POP_IPHEAD는 IP 헤더를 삭제하는 동작을 의미한다. 본 발명의 이러한 실시예에서, 데이터는 IP_IN_IP(다른 IP에서의 IP 캡슐화) 방식으로 서비스 게이트웨이(22)와 가상 스위치(23) 사이에서 전송된다. 전송될 데이터는 도 4의 (c)에 도시된 바와 같이, 서비스 게이트웨이(22)가 플로우 테이블 동작, 즉 원래의 패킷을 수행하기 전에 존재하는 패킷이다. 이것에 기초하여, 서비스 게이트웨이(22)는 플로우 테이블에 따라 "VGW_IP"를 캡슐화하는 동작을 실행하여, 플로우 테이블 동작 이후에 생성된 패킷 포맷을 획득하게 하고, 여기서, 도 4의 (d)에 도시된 바와 같이, "VGW_IP"는 가상 스위치(23)의 IP이다. 서비스 게이트웨이(22)는 플로우 테이블 동작 후에 획득된 패킷을 가상 스위치(23)에 전송하여, 도 4의 (e)에 도시된 바와 같이, 가상 스위치(23)가 플로우 테이블 동작을 실행하기 전에 존재하는 패킷 포맷을 획득하게 한다. 가상 스위치(23)는 도 4의 (f)에 도시된 바와 같이, 플로우 테이블 동작 후에 생성된 패킷 포맷을 얻기 위해, IP 헤더를 삭제하는 플로우 테이블 동작을 실행한다. 물론, 본 발명의 다른 실시예들에서, 데이터는 MAC(Media Access Control, 매체 액세스 제어) 어드레스로의 직접 수정과 같은 다른 방식으로 전송될 수 있다. 서비스 게이트웨이(22)가 가상 스위치(23)와의 제1 데이터 채널을 확립하여 데이터를 전송하는 동시에, 제어기(21)는 제2 플로우 테이블을 선택된 가상 스위치(23)에 추가로 전달한다. 제2 플로우 테이블은 패킷에 대한 액션을 실행하게 가상 스위치(23)에 지시하는데 사용된 명령어를 포함한다. 제어기(21)에 의해 가상 스위치(23)에 전달된 제2 플로우 테이블의 포맷은 도 5에 도시되고, 여기서 실행될 액션은 해독화이고, KEY 및 KEY_LEN은 각각 키 및 키의 길이를 의미한다.
4. 가상 스위치(23)는 원래의 패킷 정보를 획득하기 위해 해독화 액션을 실행한다.
5. 가상 스위치(23)는 원래의 패킷 정보에 따라 패킷을 목적지 서버(24)에 전달한다. 가상 스위치(23)가 관련된 플로우 테이블을 가지고 있지 않은 경우, 패킷의 처리 룰을 요청하고 패킷에 대한 것인 PACKET_IN 메시지가 제어기(21)에 전송되고; 제어기(21)는 가상 스위치(23)와 목적지 서버(24) 사이에 제2 데이터 채널을 확립하기 위해 제3 플로우 테이블을 전달하며, 여기서 제2 데이터 채널은 가상 스위치(23)가 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버(24)에 전송하는데 사용된다. 본 발명의 실시예에서, 목적지 서버(24) 및 가상 스위치(23)는 동일한 서버일 수 있거나 아닐 수도 있다. 제어기(21)가 가상 스위치(23)와 목적지 서버(24) 사이에 제2 데이터 채널을 확립하면, 가상 스위치(23)는 라우터(25)를 이용하여 목적지 서버와의 제2 데이터 채널을 확립할 수 있다.
이와 같이, 서비스 게이트웨이(22)가 시스템의 로드가 주어진 임계치를 초과한 것을 검출하면, 제어기(21)는 서비스 게이트웨이(22)의 액션을 가상 스위치(23)에 이송하여 실행한다. 계속해서, 서비스 게이트웨이(22)가 액션 요청을 수신하고, 시스템의 로드가 주어진 임계치를 초과한 것을 검출하는 경우, 서비스 게이트웨이(22)는, 서비스 게이트웨이(22)가 더 이상 액션 요청을 수신하지 못하거나 시스템의 로드가 주어진 임계치를 초과하는 것을 검출하지 못할 때까지 실행을 위해 서비스 게이트웨이(22)의 액션을 가상 스위치(23)에 이송하기 위해 상기 프로세스의 실행을 반복한다. 이 경우, 시스템은 안정적이다. 이와 같이, 서비스 게이트웨이(22)의 처리 능력이 불충분한 경우, 서비스 게이트웨이(22)로부터 가상 스위치(23)에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
도 6을 참조하면, 도 6은 본 발명의 제1 실시예에 따른 오픈 플로우 통신 방법의 개략적인 흐름도이다. 도 6에 도시된 바와 같이, 오픈 플로우 통신 방법은 다음을 포함한다:
S10. 서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함한다.
액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다. S10에서, 서비스 게이트웨이가 시스템의 로드가 주어진 임계치를 초과한 것을 검출하면, 액션은 이송될 필요가 있다. 이송될 필요가 있고 서비스 게이트웨이에 의해 전송되는 액션을 수신하는 것은, 액션에 관련되고 액션이 다른 네트워크 요소에 이송되어 실행되도록 서비스 게이트웨이에 의해 전송되는 요청된 리소스를 수신하는 것이다.
S11. 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택한다.
S12. 제1 플로우 테이블을 서비스 게이트웨이에 전달하고, 여기서 제1 플로우 테이블은 서비스 게이트웨이가 가상 스위치에 패킷을 전달하는데 사용된다.
S12에서, 제1 플로우 테이블이 서비스 게이트웨이에 전달되는 것과 동시에, 제1 플로우 테이블은 가상 스위치에 추가로 전달된다. 서비스 게이트웨이에 전달된 제1 플로우 테이블은 IP 헤더를 추가하는 동작을 나타내며, 이는 원래의 패킷에 기초하여 가상 스위치의 IP가 서비스 게이트웨이에 의해 가상 스위치에 전달된 패킷 내에 캡슐화된다는 것을 의미한다. 가상 스위치에 전달된 제1 플로우 테이블은 IP 헤더를 삭제하는 동작, 즉 서비스 게이트웨이에 의해 전달된 수신된 패킷으로부터 캡슐화된 IP를 제거하여, 가상 스위치가 원래의 패킷을 취득할 수 있는 동작을 나타낸다.
S13. 제2 플로우 테이블을 가상 스위치에 전달하고, 여기서 제2 플로우 테이블은 패킷에 대한 액션을 실행하게 가상 스위치에 지시하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함한다. 바람직하게는, 상기 전달된 제2 플로우 테이블은 액션에 대응하는 리소스 정보를 추가로 포함하여, 가상 스위치가 리소스 정보에 따라 패킷에 대한 액션을 실행하게 한다. 예를 들어, 해독화와 관련된 키 정보에 따라 해독화 동작이 실행된다.
S13에서, 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다. 액션에 대응하는 리소스 정보는 키, DPI 룰, 등을 포함한다. 이와 같이, 서비스 게이트웨이의 처리 능력이 불충분할 때, 서비스 게이트웨이로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
가상 스위치가 패킷의 목적지 서버에 패킷을 전송하기 위한 플로우 테이블을 갖지 않으면, 가상 스위치에 의해 전송된 PACKET_IN 메시지가 수신되고, 제3 플로우 테이블이 생성된다. 가상 스위치와 목적지 서버 사이에 제2 데이터 채널을 확립하기 위해 제3 플로우 테이블이 전달되며, 여기서 제3 플로우 테이블은 가상 스위치가 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하는데 사용된다. 본 발명의 이 실시예에서, 목적지 서버 및 가상 스위치는 동일한 서버일 수 있거나 아닐 수도 있다. 가상 스위치와 목적지 서버 사이에 제2 데이터 채널이 확립될 때, 라우터를 이용하여 가상 스위치와 목적지 서버간에 제2 데이터 채널이 확립될 수 있다.
도 7을 참조하면, 도 7은 본 발명의 제1 실시예에 따른 제어기의 개략적인 구조도이다. 도 7에 도시된 바와 같이, 제어기(10)는 수신 모듈(101), 선택 모듈(102), 제1 플로우 테이블 전달 모듈(103), 제2 플로우 테이블 전달 모듈(104), 및 제3 플로우 테이블 전달 모듈(105)을 포함한다.
수신 모듈(101)은 서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하도록 구성되고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함한다. 선택 모듈(102)은 수신 모듈(101)에 연결되고, 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하도록 구성된다. 액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다. 제1 플로우 테이블 전달 모듈(103)은 선택 모듈(102)에 접속되고, 서비스 게이트웨이와 가상 스위치 사이에 제1 데이터 채널을 확립하기 위해 제1 플로우 테이블을 서비스 게이트웨이에 전달하도록 구성되며, 여기서 제1 플로우 테이블은 서비스 게이트웨이가 패킷을 가상 스위치에 전달하는데 사용된다. 본 발명의 이 실시예에서, 제1 플로우 테이블 전달 모듈(103)이 제1 플로우 테이블을 서비스 게이트웨이에 전달하는 동시에, 제1 플로우 테이블 전달 모듈(103)은 제1 플로우 테이블을 가상 스위치에 추가로 전달한다. 서비스 게이트웨이에 전달된 제1 플로우 테이블은 IP 헤더를 추가하는 동작을 나타내며, 이는 원래의 패킷에 기초하여 가상 스위치의 IP가 서비스 게이트웨이에 의해 가상 스위치에 전달된 패킷 내에 캡슐화된다는 것을 의미한다. 가상 스위치에 전달된 제1 플로우 테이블은 IP 헤더를 삭제하는 동작, 즉 서비스 게이트웨이에 의해 전달된 수신된 패킷으로부터 캡슐화된 IP를 제거하여, 가상 스위치가 원래의 패킷을 획득할 수 있는 동작을 나타낸다. 제2 플로우 테이블 전달 모듈(104)은 선택 모듈(102) 및 제1 전달 모듈(103)에 연결되고, 제2 플로우 테이블을 가상 스위치에 전달하도록 구성되고, 여기서 제2 플로우 테이블은 패킷에 대한 액션을 실행하게 가상 스위치에 지시하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함한다. 또한, 상기 제2 플로우 테이블은 액션에 대응하는 리소스 정보를 추가로 포함하며, 여기서 리소스 정보는 키 또는 DPI 룰과 같은 액션을 실행하는 동작과 관련된 정보를 포함한다. 본 발명의 이 실시예에서, 가상 스위치는 패킷의 목적지 서버에 패킷을 전송하기 위한 플로우 테이블을 갖지 않고, 수신 모듈(101)은 패킷에 대한 가상 스위치에 의해 전송되는 PACKET_IN 메시지를 수신하도록 추가로 구성된다. 제3 플로우 테이블 전달 모듈(105)은 가상 스위치와 목적지 서버 사이에 제2 데이터 채널을 확립하기 위해 제3 플로우 테이블을 가상 스위치에 전달하며, 여기서 제3 플로우 테이블은 가상 스위치가 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하는데 사용된다. 이와 같이, 서비스 게이트웨이의 처리 능력이 불충분할 때, 서비스 게이트웨이로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
도 8을 참조하면, 도 8은 본 발명의 제2 실시예에 따른 오픈 플로우 통신 방법의 개략적인 흐름도이다. 도 8에 도시된 바와 같이, 오픈 플로우 통신 방법은 다음을 포함한다:
S20. 로드가 사전 설정된 임계치를 초과할 때, 이송 처리 요청을 제어기에 전송하고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함하여, 제어기가 가상 스위치로서 하나의 서버를 선택하게 한다. 액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다.
S21. 제어기에 의해 전달된 플로우 테이블을 수신한다.
S22. 플로우 테이블에 따라 가상 스위치에 패킷을 전달하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 한다. S32에서, IP_IN_IP 방식으로 캡슐화된 패킷은 플로우 테이블에 따라 가상 스위치에 전달된다. 구체적으로, 가상 스위치의 IP는 원래의 패킷에 기초하여, 서비스 게이트웨이에 의해 가상 스위치에 전달된 패킷 내에 캡슐화된다. 가상 스위치가 서비스 게이트웨이에 의해 전달된 패킷을 수신한 후, 캡슐화된 IP는 제거되고, 원래의 패킷이 획득될 수 있다.
본 발명의 이 실시예에서, 로드가 사전 설정된 임계치를 초과할 때, 서비스 게이트웨이로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
도 9를 참조하면, 도 9는 본 발명의 제1 실시예에 따른 서비스 게이트웨이의 개략적인 구조도이다. 도 9에 도시된 바와 같이, 서비스 게이트웨이(20)는 전송 모듈(201), 수신 모듈(202), 및 전달 모듈(203)을 포함한다.
전송 모듈(201)은, 로드가 사전 설정된 임계치를 초과할 때, 이송 처리 요청을 제어기에 전송하도록 구성되고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함하여, 제어기가 가상 스위치로서 하나의 서버를 선택하게 한다. 액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다. 수신 모듈(202)은 전송 모듈(201)에 접속되고, 제어기에 의해 전달된 플로우 테이블을 수신하도록 구성된다. 전달 모듈(203)은 수신 모듈(202)에 연결되고, 플로우 테이블에 따라 가상 스위치에 패킷을 전달하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 하도록 구성된다. 전달 모듈(203)은 패킷에 따라 IP_IN_IP 방식으로 캡슐화된 패킷을 가상 스위치에 전달한다. 구체적으로, 가상 스위치의 IP는 원래의 패킷에 기초하여, 서비스 게이트웨이에 의해 가상 스위치에 전달된 패킷 내에 캡슐화된다. 가상 스위치가 서비스 게이트웨이에 의해 전달된 패킷을 수신한 후, 캡슐화된 IP가 제거되고, 원래의 패킷이 획득될 수 있다.
본 발명의 이 실시예에서, 로드가 사전 설정된 임계치를 초과할 때, 전송 모듈(201)은 이송 처리 요청을 제어기에 전송하고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함하여, 제어기가 가상 스위치로서 하나의 서버를 선택하게 하고; 수신 모듈(202)은 제어기에 의해 전달된 플로우 테이블을 수신하고; 전달 모듈(203)은 데이터 플로우 테이블에 따라 가상 스위치에 패킷을 전달하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 한다. 이와 같이, 서비스 게이트웨이의 처리 능력이 불충분할 때, 서비스 게이트웨이로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
도 10을 참조하면, 도 10은 본 발명의 제2 실시예에 따른 제어기의 개략적인 구조도이다. 도 10에 도시된 바와 같이, 제어기(30)는 수신기(301), 프로세서(302), 전송기(303), 메모리(304), 및 데이터 버스(305)를 포함한다. 수신기(301), 프로세서(302), 전송기(303), 및 메모리(304)는 상호 통신을 위해 데이터 버스(305)를 이용하여 연결된다.
본 발명의 이 실시예에서, 수신기(301)는 서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하도록 구성되고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함한다. 메모리는 프로그램 코드를 저장하도록 구성된다. 프로세서(302)는 메모리에 저장된 프로그램 코드를 호출하여, 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하는 방법을 실행하도록 구성된다. 액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다. 전송기(303)는 제1 플로우 테이블을 서비스 게이트웨이에 전달하여, 서비스 게이트웨이와 가상 스위치 사이에 제1 데이터 채널을 확립하게 하고, 여기서 제1 데이터 채널은 서비스 게이트웨이가 패킷을 가상 스위치에 전달하는데 사용된다. 본 발명의 이 실시예에서, 전송기(303)가 제1 플로우 테이블을 서비스 게이트웨이에 전달할 때와 동시에, 제1 플로우 테이블은 가상 스위치에 추가로 전달된다. 서비스 게이트웨이에 전달된 제1 플로우 테이블은 IP 헤더를 추가하는 동작을 나타내는데, 이는, 원래의 패킷에 기초하여, 가상 스위치의 IP가 서비스 게이트웨이에 의해 가상 스위치에 전달된 패킷 내에 캡슐화되는 것을 의미한다. 가상 스위치에 전달된 제1 플로우 테이블은 IP 헤더를 삭제하는 동작, 즉 서비스 게이트웨이에 의해 전달된 수신된 패킷으로부터 캡슐화된 IP를 제거하여, 가상 스위치가 원래의 패킷을 획득할 수 있게 하는 동작을 나타낸다.
전송기(303)는 제2 플로우 테이블을 가상 스위치에 추가로 전달하고, 여기서 제2 플로우 테이블은 패킷에 대한 액션을 실행하게 가상 스위치에 지시하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함한다. 제2 플로우 테이블은 액션에 대응하는 리소스 정보를 추가로 포함할 수 있으며, 여기서 액션에 대응하는 리소스 정보는 키, DPI 룰, 등을 포함한다. 메모리(304)는 네트워크 토폴로지 구조, 전송기(403)에 의해 서비스 게이트웨이에 전달된 제1 플로우 테이블, 및 전송기(403)에 의해 가상 스위치에 전달된 제2 플로우 테이블을 저장하도록 추가로 구성된다. 가상 스위치가 관련된 플로우 테이블을 갖지 않는 경우, 수신기는 가상 스위치에 의해 전송된 PACKET_IN 메시지를 수신한다. 전송기는 제3 플로우 테이블을 가상 스위치에 전달하고, 여기서 제3 플로우 테이블은 가상 스위치가 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하는데 사용된다. 본 발명의 이 실시예에서, 서비스 게이트웨이로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
도 11을 참조하면, 도 11은 본 발명의 제2 실시예에 따른 서비스 게이트웨이의 개략적인 구조도이다. 도 11에 도시된 바와 같이, 서비스 게이트웨이(40)는 수신기(401), 프로세서(402), 전송기(403), 메모리(404), 및 통신 버스(405)를 포함한다. 수신기(401), 프로세서(402), 전송기(403), 및 메모리(404)는 상호 통신을 위해 데이터 버스(405)를 이용하여 연결된다.
본 발명의 이 실시예에서, 로드가 사전 설정된 임계치를 초과할 때, 전송기(403)는 이송 처리 요청을 제어기에 전송하도록 구성되고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함하여, 제어기가 가상 스위치로서 하나의 서버를 선택하게 한다. 액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다. 수신기(401)는 제어기에 의해 전달된 플로우 테이블을 수신하도록 구성된다. 메모리는 프로그램 코드를 저장하도록 구성된다. 메모리는 플로우 테이블을 저장하도록 추가로 구성된다. 프로세서(402)는 메모리에 저장된 프로그램 코드를 호출하여, 플로우 테이블에 따라 가상 스위치에 패킷을 전달하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 하는 방법을 실행하게 한다. 프로세서(402)에 의해 실행되는 방법에서, IP_IN_IP 방식으로 캡슐화된 패킷은 플로우 테이블에 따라 가상 스위치에 전달된다. 구체적으로, 가상 스위치의 IP는 원래의 패킷에 기초하여, 서비스 게이트웨이에 의해 가상 스위치에 전달된 패킷 내에 캡슐화된다. 가상 스위치가 서비스 게이트웨이에 의해 전달된 패킷을 수신한 후, 캡슐화된 IP가 제거되고, 원래의 패킷이 획득될 수 있다. 메모리(404)는 이송될 필요가 있는 액션 및 제어기에 의해 전달된 플로우 테이블을 저장한다. 본 발명의 이 실시예에서, 로드가 사전 설정된 임계치를 초과할 때, 서비스 게이트웨이로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
도 12를 참조하면, 도 12는 본 발명의 제1 실시예에 따른 오픈 플로우 통신 시스템의 개략적인 구조도이다. 도 12에 도시된 바와 같이, 오픈 플로우 통신 시스템(50)은 제어기(501), 서비스 게이트웨이(502), 및 서버(503)를 포함한다. 다수의 서버(503)들이 있고, 다수의 서버들 중 하나가 가상 스위치(504) 또는 목적지 서버(505)로서 선택될 수 있다. 서비스 게이트웨이(502)는 제어기(501)에 이송 처리 요청을 전송하고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함한다. 액션은 처리를 대기하는 프로세스, 또는 실행될 필요가 있는 동작, 등이다. 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함한다. 제어기(501)는 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치(504)로서 하나의 서버(503)를 선택한다. 제어기(501)는 제1 플로우 테이블을 서비스 게이트웨이(502)에 전달한다. 서비스 게이트웨이(502)는 제1 플로우 테이블에 따라 패킷을 가상 스위치(504)에 전달한다. 구체적으로, 서비스 게이트웨이(502)는 IP_IN_IP 방식으로 캡슐화된 패킷을 제1 플로우 테이블에 따라 가상 스위치(504)에 전달한다. 구체적으로, 가상 스위치의 IP는 원래의 패킷에 기초하여, 서비스 게이트웨이에 의해 가상 스위치에 전달된 패킷 내에 캡슐화된다. 가상 스위치가 서비스 게이트웨이에 의해 전달된 패킷을 수신한 후, 캡슐화된 IP가 제거되고, 원래의 패킷이 획득될 수 있다. 제어기(501)는 제2 플로우 테이블을 가상 스위치(504)에 전달하고, 여기서 제2 플로우 테이블은 패킷에 대한 액션을 실행하게 가상 스위치(504)에 지시하는데 사용된 명령어를 포함한다. 가상 스위치(504)는 제2 플로우 테이블에 따라 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버(505)에 전송한다. 또한, 제2 플로우 테이블은 해독화와 관련된 키 정보와 같은, 액션에 대응하는 리소스 정보를 추가로 포함하여, 가상 스위치(504)가 리소스 정보에 따라 액션을 실행하게 한다. 가상 스위치(504)가 패킷의 목적지 서버(505)에 패킷을 전송하는 플로우 테이블이 없는 경우, 가상 스위치(504)는 패킷의 처리 룰을 요청하는 PACKET_IN 메시지를 제어기(501)에 전송한다. 제어기(501)는 제3 플로우 테이블을 가상 스위치(504)에 전달하고, 여기서 제3 플로우 테이블은 가상 스위치(504)가 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버(505)에 전송하는데 사용된다. 따라서, 서비스 게이트웨이(502)의 처리 능력이 불충분할 때, 서비스 게이트웨이(502)로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
결론적으로, 본 발명에 따르면, 서비스 게이트웨이에 의해 전송된 이송 처리 요청이 수신되고, 여기서 이송 처리 요청은 이송될 필요가 있는 액션을 포함한다. 하나의 서버는 이송될 필요가 있는 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 선택되고; 그 다음 제1 플로우 테이블은 서비스 게이트웨이에 전달되고, 여기서 제1 플로우 테이블은 서비스 게이트웨이가 패킷을 가상 스위치에 전달하는데 사용되고; 제2 플로우 테이블은 가상 스위치에 전달되고, 여기서 제2 플로우 테이블은 패킷에 대한 액션을 실행하게 가상 스위치에 지시하여, 가상 스위치가 패킷에 대한 액션을 실행하고 액션이 실행된 후에 획득된 패킷을 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함한다. 서비스 게이트웨이의 처리 능력이 불충분할 때, 서비스 게이트웨이로부터 가상 서버에 데이터 처리용 서비스들의 일부가 실행을 위해 이송되는데, 이는 시스템 내의 네트워크 요소 간의 로드 밸런스를 구현하고, 시스템의 활용도 및 처리량을 개선하고, 시스템 전체의 성능을 추가로 향상시킬 수 있다.
상기 설명은 본 발명의 실시예들에 불과하며, 본 발명의 보호 범위는 이에 한정되지 않는다. 본 발명의 명세서 및 첨부 도면의 내용에 따라 또는 다른 관련 기술 분야에서 본 발명을 직접 또는 간접적으로 적용하여 이루어진 모든 등가의 구조 또는 프로세스 변경들은 본 발명의 보호 범위에 속한다.

Claims (22)

  1. 오픈 플로우(OpenFlow) 통신 방법으로서,
    서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하는 단계 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함함 -;
    이송될 필요가 있는 상기 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하는 단계;
    제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하는 단계 - 상기 제1 플로우 테이블은 상기 서비스 게이트웨이가 상기 가상 스위치에 패킷을 전달하는데 사용됨 -; 및
    제2 플로우 테이블을 상기 가상 스위치에 전달하는 단계 - 상기 제2 플로우 테이블은 상기 패킷에 대해 상기 액션을 실행하게 상기 가상 스위치에 지시하여, 상기 가상 스위치가 상기 패킷에 대해 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함함 -를 포함하는, 오픈 플로우 통신 방법.
  2. 제1항에 있어서, 상기 방법은,
    상기 가상 스위치가 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하기 위한 플로우 테이블을 갖지 않은 경우,
    상기 패킷의 처리 룰을 요청하고 상기 패킷에 대하여 상기 가상 스위치에 의해 전송되는 메시지를 수신하는 단계; 및
    상기 가상 스위치에 제3 플로우 테이블을 전달하는 단계 - 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용됨 -를 추가로 포함하는, 오픈 플로우 통신 방법.
  3. 제1항에 있어서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함하는, 오픈 플로우 통신 방법.
  4. 제어기로서,
    서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하도록 구성된 수신 모듈 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함함 -;
    이송될 필요가 있는 상기 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하도록 구성된 선택 모듈;
    제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하도록 구성된 제1 플로우 테이블 전달 모듈 - 상기 제1 플로우 테이블은 상기 서비스 게이트웨이가 상기 가상 스위치에 패킷을 전달하는데 사용됨 -; 및
    제2 플로우 테이블을 상기 가상 스위치에 전달하도록 구성된 제2 플로우 테이블 전달 모듈 - 상기 제2 플로우 테이블은 상기 패킷에 대해 상기 액션을 실행하게 상기 가상 스위치에 지시하여, 상기 가상 스위치가 상기 패킷에 대해 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함함 -을 포함하는, 제어기.
  5. 제4항에 있어서, 상기 가상 스위치가 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하기 위한 플로우 테이블을 갖지 않은 경우, 상기 제어기는 제3 플로우 테이블 전달 모듈을 추가로 포함하고,
    상기 수신 모듈은 상기 패킷의 처리 룰을 요청하고 상기 패킷에 대하여 상기 가상 스위치에 의해 전송되는 메시지를 수신하고;
    상기 제3 플로우 테이블 전달 모듈은 상기 가상 스위치에 제3 플로우 테이블을 전달하고, 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용되는, 제어기.
  6. 제4항에 있어서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함하는, 제어기.
  7. 오픈 플로우 통신 방법으로서,
    로드가 사전 설정된 임계치를 초과할 때, 이송 처리 요청을 제어기에 전송하는 단계 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함하여, 상기 제어기가 가상 스위치로서 하나의 서버를 선택하게 함 -;
    상기 제어기에 의해 전달된 플로우 테이블을 수신하는 단계; 및
    상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하여 상기 가상 스위치가 상기 패킷에 대해 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하는 단계를 포함하는, 오픈 플로우 통신 방법.
  8. 제7항에 있어서, 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하는 것은 구체적으로 상기 플로우 테이블에 따라 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 상기 가상 스위치에 전달하는 것인, 오픈 플로우 통신 방법.
  9. 제7항에 있어서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함하는, 오픈 플로우 통신 방법.
  10. 서비스 게이트웨이로서,
    로드가 사전 설정된 임계치를 초과할 때, 이송 처리 요청을 제어기에 전송하도록 구성된 전송 모듈 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함하여, 상기 제어기가 가상 스위치로서 하나의 서버를 선택하게 함-;
    상기 제어기에 의해 전달된 플로우 테이블을 수신하도록 구성된 수신 모듈; 및
    상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하여, 상기 가상 스위치가 상기 패킷에 대해 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하도록 구성된 전달 모듈을 포함하는, 서비스 게이트웨이.
  11. 제10항에 있어서, 상기 전달 모듈은 구체적으로 상기 플로우 테이블에 따라 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 상기 가상 스위치에 전달하도록 구성되는, 서비스 게이트웨이.
  12. 제10항에 있어서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함하는, 서비스 게이트웨이.
  13. 제어기로서, 상기 제어기는 수신기, 프로세서, 전송기, 및 메모리를 포함하며,
    상기 수신기는 서비스 게이트웨이에 의해 전송된 이송 처리 요청을 수신하도록 구성되고 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함함 -;
    상기 메모리는 프로그램 코드를 저장하도록 구성되고;
    상기 프로세서는 상기 메모리에 저장된 상기 프로그램 코드를 호출하여, 이송될 필요가 있는 상기 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 하나의 서버를 선택하는 방법을 실행하도록 구성되고;
    상기 전송기는 제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하도록 추가로 구성되고 - 상기 제1 플로우 테이블은 상기 서비스 게이트웨이가 상기 가상 스위치에 패킷을 전달하는데 사용됨 -;
    상기 전송기는 제2 플로우 테이블을 상기 가상 스위치에 전달하도록 추가로 구성되고, 상기 제2 플로우 테이블은 상기 패킷에 대해 상기 액션을 실행하게 상기 가상 스위치에 지시하여, 상기 가상 스위치가 상기 패킷에 대해 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 목적지 서버에 전송하게 하는데 사용된 명령어를 포함하는, 제어기.
  14. 제13항에 있어서, 상기 가상 스위치가 관련된 플로우 테이블을 갖지 않은 경우,
    상기 수신기는 상기 패킷의 처리 룰을 요청하고 상기 패킷에 대하여 상기 가상 스위치에 의해 전송되는 메시지를 수신하도록 추가로 구성되고;
    상기 전송기는 상기 가상 스위치에 제3 플로우 테이블을 전달하고, 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용되는, 제어기.
  15. 제13항에 있어서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함하는, 제어기.
  16. 서비스 게이트웨이로서,
    상기 서비스 게이트웨이는 전송기, 수신기, 프로세서, 및 메모리를 포함하며,
    로드가 사전 설정된 임계치를 초과할 때, 상기 전송기는 이송 처리 요청을 제어기에 전송하도록 구성되고 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함하여, 상기 제어기가 가상 스위치로서 하나의 서버를 선택하게 함 -;
    상기 수신기는 상기 제어기에 의해 전달된 플로우 테이블을 수신하도록 구성되고;
    상기 메모리는 프로그램 코드를 저장하도록 구성되고;
    상기 프로세서는 상기 메모리에 저장된 상기 프로그램 코드를 호출하여, 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하여 상기 가상 스위치가 상기 패킷에 대해 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하는 방법을 실행하도록 구성되는, 서비스 게이트웨이.
  17. 제16항에 있어서, 상기 프로세서에 의해 실행된 상기 방법에서 상기 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하는 것은 구체적으로,
    상기 플로우 테이블에 따라 제1 데이터 채널을 통해 상기 가상 스위치에 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 전달하는 것인, 서비스 게이트웨이.
  18. 제16항에 있어서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함하는, 서비스 게이트웨이.
  19. 오픈 플로우 통신 시스템으로서, 상기 시스템은, 제어기, 서비스 게이트웨이, 및 적어도 하나의 서버를 포함하며,
    상기 서비스 게이트웨이는 이송 처리 요청을 상기 제어기에 전송하고 - 상기 이송 처리 요청은 이송될 필요가 있는 액션을 포함함 -;
    상기 제어기는 이송될 필요가 있는 상기 액션 및 네트워크 토폴로지 구조에 따라 가상 스위치로서 상기 적어도 하나의 서버 중 하나의 서버를 선택하고;
    상기 제어기는 제1 플로우 테이블을 상기 서비스 게이트웨이에 전달하고;
    상기 서비스 게이트웨이는 상기 제1 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하고;
    상기 제어기는 제2 플로우 테이블을 상기 가상 스위치에 전달하고 - 상기 제2 플로우 테이블은 상기 패킷에 대해 상기 액션을 실행하게 상기 가상 스위치에 지시하는데 사용된 명령어를 포함함 -;
    상기 가상 스위치는 상기 제2 플로우 테이블에 따라 상기 패킷에 대해 상기 액션을 실행하고 상기 액션이 실행된 후에 획득된 패킷을 상기 패킷의 목적지 서버에 전송하는, 오픈 플로우 통신 시스템.
  20. 제19항에 있어서, 상기 가상 스위치가 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하기 위한 플로우 테이블을 갖지 않은 경우,
    상기 가상 스위치는 상기 패킷의 처리 룰을 요청하는 메시지를 상기 제어기에 전송하도록 추가로 구성되고;
    상기 제어기는 제3 플로우 테이블을 상기 가상 스위치에 전달하도록 추가로 구성되고, 상기 제3 플로우 테이블은 상기 가상 스위치가 상기 액션이 실행된 후에 획득된 상기 패킷을 상기 패킷의 상기 목적지 서버에 전송하는데 사용되는, 오픈 플로우 통신 시스템.
  21. 제19항에 있어서, 상기 액션은 패킷 암호화, 패킷 해독화, 딥 패킷 검사, 데이터 압축, 또는 데이터 압축 해제 중 적어도 하나를 포함하는, 오픈 플로우 통신 시스템.
  22. 제19항에 있어서, 상기 서비스 게이트웨이가 상기 제1 플로우 테이블에 따라 상기 가상 스위치에 패킷을 전달하도록 구성되는 것은 구체적으로, 상기 제1 플로우 테이블에 따라 상기 가상 스위치에 IP_IN_IP 방식으로 캡슐화된 상기 패킷을 전달하는 것인, 오픈 플로우 통신 시스템.
KR1020167036645A 2014-06-03 2014-06-03 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이 KR101938623B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/079084 WO2015184586A1 (zh) 2014-06-03 2014-06-03 开放流通信方法、系统、控制器和业务网关

Publications (2)

Publication Number Publication Date
KR20170013332A true KR20170013332A (ko) 2017-02-06
KR101938623B1 KR101938623B1 (ko) 2019-01-15

Family

ID=54765928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167036645A KR101938623B1 (ko) 2014-06-03 2014-06-03 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이

Country Status (6)

Country Link
US (1) US10148565B2 (ko)
EP (1) EP3142306B1 (ko)
JP (1) JP6395867B2 (ko)
KR (1) KR101938623B1 (ko)
CN (1) CN106464596B (ko)
WO (1) WO2015184586A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9820316B2 (en) * 2013-03-15 2017-11-14 Aerohive Networks, Inc. Preventing asymmetric routing using network tunneling
CN106713182B (zh) * 2015-08-10 2020-10-09 华为技术有限公司 一种处理流表的方法及装置
US10489275B2 (en) * 2016-10-20 2019-11-26 Cisco Technology, Inc. Agentless distributed monitoring of microservices through a virtual switch
CN107800696B (zh) * 2017-10-23 2020-07-03 国云科技股份有限公司 一种云平台虚拟交换机上通信伪造源识别方法
US11190458B2 (en) * 2017-11-15 2021-11-30 Vmware, Inc. Network functions support for serverless and granular computing environments
CN109450811B (zh) * 2018-11-30 2022-08-12 新华三云计算技术有限公司 流量控制方法、装置及服务器
CN111327437B (zh) * 2018-12-14 2023-04-07 中国电信股份有限公司 流表处理方法、流表处理装置以及sdn网络系统
US11360798B2 (en) * 2019-11-25 2022-06-14 Nutanix, Inc. System and method for internal scalable load service in distributed object storage system
CN110933118B (zh) * 2020-02-20 2020-09-11 深圳市城市交通规划设计研究中心股份有限公司 边缘计算网关安全通信方法、系统、终端设备及服务器

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4466188B2 (ja) * 2003-07-16 2010-05-26 株式会社デンソー 車両用制御装置
KR100818977B1 (ko) 2004-05-20 2008-04-07 프리비트 가부시키가이샤 클라이언트 기기에 대한 접속을 라우팅 하기 위한서버
US20060187838A1 (en) * 2005-02-24 2006-08-24 Utstarcom, Inc. Method and system for load balancing in a network platform
US20060277303A1 (en) * 2005-06-06 2006-12-07 Nikhil Hegde Method to improve response time when clients use network services
US7693073B2 (en) * 2006-10-13 2010-04-06 At&T Intellectual Property I, L.P. System and method for routing packet traffic
KR100914430B1 (ko) * 2007-05-02 2009-08-28 인하대학교 산학협력단 Xml 전자서명을 이용한 서비스 이동 관리 시스템 및관리 방법
CN101635702B (zh) * 2008-07-21 2013-04-03 山石网科通信技术(北京)有限公司 应用安全策略的数据包转发方法
WO2011049135A1 (ja) * 2009-10-23 2011-04-28 日本電気株式会社 ネットワークシステムとその制御方法、及びコントローラ
US8640127B2 (en) * 2010-09-21 2014-01-28 International Business Machines Corporation Relocating guest machine using proxy tool having multiple virtual machines where one virtual machines provides host route for relocation
EP2629462A4 (en) 2010-10-15 2014-06-11 Nec Corp SWITCHING SYSTEM AND DATA DISTRIBUTION METHOD
CN103155489B (zh) 2010-10-15 2016-02-17 日本电气株式会社 交换机系统以及监视集中控制方法
CN101980490B (zh) * 2010-12-01 2012-09-26 杭州华三通信技术有限公司 虚拟交换机和物理交换机的链路建立方法及其装置
KR101574167B1 (ko) * 2011-01-13 2015-12-03 닛본 덴끼 가부시끼가이샤 네트워크 시스템 및 경로 제어 방법
EP2717520B1 (en) 2011-05-30 2016-03-02 NEC Corporation Communication path control system, and communication path control method
JP5790312B2 (ja) * 2011-08-25 2015-10-07 富士通株式会社 通信方法、通信装置、および、通信プログラム
EP2788871B1 (en) * 2011-12-07 2021-08-04 Citrix Systems, Inc. Controlling a network interface using virtual switch proxying
US8923296B2 (en) * 2012-02-23 2014-12-30 Big Switch Networks, Inc. System and methods for managing network packet forwarding with a controller
US8862883B2 (en) * 2012-05-16 2014-10-14 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment
EP2853066B1 (en) * 2012-05-23 2017-02-22 Brocade Communications Systems, Inc. Layer-3 overlay gateways
US9710762B2 (en) * 2012-06-06 2017-07-18 Juniper Networks, Inc. Dynamic logging
CN102884763B (zh) * 2012-06-30 2015-05-13 华为技术有限公司 跨数据中心的虚拟机迁移方法、服务控制网关及系统
US9661522B2 (en) * 2012-07-09 2017-05-23 Cisco Technology, Inc. System and method associated with a service flow router
CN103227843B (zh) * 2012-08-31 2016-05-04 杭州华三通信技术有限公司 一种物理链路地址管理方法及装置
CN102843300A (zh) 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 实现Openflow交换机系统中控制器负载平衡的方法及系统
US9787570B2 (en) * 2012-10-17 2017-10-10 Verizon Patent And Licensing Inc. Dynamic feature peer network for application flows
WO2014086023A1 (zh) * 2012-12-06 2014-06-12 华为技术有限公司 跨服务区通信的方法、装置和数据中心网络
CN103179046B (zh) 2013-04-15 2016-03-30 昆山天元昌电子有限公司 基于openflow的数据中心流量控制方法及系统
CN104168184B (zh) * 2013-05-17 2017-07-14 新华三技术有限公司 报文转发方法及设备
CN103338117B (zh) * 2013-05-30 2016-12-28 华为技术有限公司 一种虚拟交换机的管理方法、设备及系统
WO2014198020A1 (en) * 2013-06-14 2014-12-18 Telefonaktiebolaget L M Ericsson(Publ) Migrating embms into a cloud computing system
US9467366B2 (en) * 2013-07-03 2016-10-11 Avaya Inc. Method and apparatus providing single-tier routing in a shortest path bridging (SPB) network
US20150100560A1 (en) * 2013-10-04 2015-04-09 Nicira, Inc. Network Controller for Managing Software and Hardware Forwarding Elements
US9124536B2 (en) * 2013-12-12 2015-09-01 International Business Machines Corporation Managing data flows in overlay networks
JP2015159500A (ja) * 2014-02-25 2015-09-03 日本電気株式会社 オープンフロー制御装置、経路管理方法およびプログラム
US10140112B2 (en) * 2014-03-28 2018-11-27 Ntt Docomo, Inc. Update management system and update management method
CN105262685B (zh) * 2014-07-14 2018-10-09 新华三技术有限公司 一种报文处理方法和装置
CN105812260B (zh) * 2014-12-31 2019-03-19 华为技术有限公司 一种控制mac地址转发表发送的方法、装置及系统
US9853898B1 (en) * 2015-04-29 2017-12-26 Juniper Networks, Inc. Dynamic service chain provisioning
US11005682B2 (en) * 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment

Also Published As

Publication number Publication date
US10148565B2 (en) 2018-12-04
US20170085473A1 (en) 2017-03-23
JP6395867B2 (ja) 2018-09-26
WO2015184586A1 (zh) 2015-12-10
KR101938623B1 (ko) 2019-01-15
EP3142306A4 (en) 2017-06-14
EP3142306A1 (en) 2017-03-15
CN106464596B (zh) 2019-08-20
JP2017517220A (ja) 2017-06-22
EP3142306B1 (en) 2019-01-09
CN106464596A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
KR101938623B1 (ko) 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이
US10694005B2 (en) Hardware-based packet forwarding for the transport layer
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
US10375193B2 (en) Source IP address transparency systems and methods
WO2011093288A1 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
EP2543162B1 (en) Selectively disabling reliability mechanisms on a network connection
WO2021073565A1 (zh) 业务服务提供方法及系统
US8817815B2 (en) Traffic optimization over network link
KR102025680B1 (ko) Sdn 기반의 arp 구현 방법 및 장치
WO2023000940A1 (zh) 数据处理方法、装置、网元设备、存储介质及程序产品
US10432755B2 (en) SDN, SDN configuration method, SDN-based data transmission method, and network controller
WO2012041604A1 (en) Aggregation of mobile broadband network interfaces
WO2023151264A1 (zh) 负载均衡方法、装置、节点及存储介质
CN111193756B (zh) 一种vxlan隧道负载均衡方法及相关设备
CN101778425A (zh) 无线局域网中的宽带接入服务器负载动态均衡方法
CN106789993B (zh) Tcp代理方法及装置
CN112968965B (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
US20160099891A1 (en) Packet processing method, apparatus and system
CN113364660A (zh) Lvs负载均衡中的数据包处理方法及装置
WO2019041332A1 (zh) 一种加速网络传输优化方法以及系统
US11968237B2 (en) IPsec load balancing in a session-aware load balanced cluster (SLBC) network device
KR20230158620A (ko) 프록시리스 프로토콜
CN114666846A (zh) 一种通信方法及网关设备
CN103368841A (zh) 报文转发方法和装置
KR101538667B1 (ko) 네트워크 시스템 및 네트워크 제어 방법

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