KR20150078626A - 네트워크 시스템 및 네트워크 제어 방법 - Google Patents

네트워크 시스템 및 네트워크 제어 방법 Download PDF

Info

Publication number
KR20150078626A
KR20150078626A KR1020130168164A KR20130168164A KR20150078626A KR 20150078626 A KR20150078626 A KR 20150078626A KR 1020130168164 A KR1020130168164 A KR 1020130168164A KR 20130168164 A KR20130168164 A KR 20130168164A KR 20150078626 A KR20150078626 A KR 20150078626A
Authority
KR
South Korea
Prior art keywords
firewall
packet
flow switch
open flow
received
Prior art date
Application number
KR1020130168164A
Other languages
English (en)
Other versions
KR101538667B1 (ko
Inventor
남효창
Original Assignee
주식회사 시큐아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시큐아이 filed Critical 주식회사 시큐아이
Priority to KR1020130168164A priority Critical patent/KR101538667B1/ko
Publication of KR20150078626A publication Critical patent/KR20150078626A/ko
Application granted granted Critical
Publication of KR101538667B1 publication Critical patent/KR101538667B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • H04L63/0218Distributed architectures, e.g. distributed firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes

Landscapes

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

Abstract

네트워크 시스템은 오픈 플로우 스위치, 방화벽 및 컨트롤러를 포함한다. 상기 오픈 플로우 스위치는 패킷을 수신하여 스위칭한다. 상기 방화벽은 상기 오픈 플로우 스위치로부터 패킷을 수신하고, 수신한 패킷을 직접 처리할지 여부에 기초하여 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하기 위한 갱신 요청 메시지를 생성한다. 상기 컨트롤러는 상기 갱신 요청 메시지를 수신하고, 수신한 상기 갱신 요청 메시지에 기초하여 상기 오픈 플로우 스위치의 플로우 테이블을 갱신한다. 따라서, 방화벽들 사이의 부하가 효율적으로 분산된다.

Description

네트워크 시스템 및 네트워크 제어 방법 {NETWORK SYSTEM AND METHOD FOR CONTROLLING NETWORK}
본 발명은 네트워크에 관한 것으로, 보다 구체적으로는 네트워크 시스템 및 네트워크 제어 방법에 관한 것이다." 의 형식으로 작성
방화벽(firewall)은 허가 받지 않은 네트워크 자원 접근을 차단해주는 기능으로 인터넷 보안을 위해서는 필수적인 기능이다. 일반적으로 방화벽은 내부 네트워크(LAN)의 게이트웨이로서 동작하기 때문에 방화벽에 장애가 생기면 접속상의 실패 단일점(single point of failure) 문제가 발생하게 된다. 이 경우 네트워크의 모든 호스트들이 외부 네트워크로 접속할 수 없게 된다.
방화벽은 어떤 종류의 트래픽을 허용하고 어떤 종류의 트래픽은 차단할 것인지 정의되어 있는 규칙에 따라 트래픽의 통과 여부를 결정한다. 내부 네트워크로 유입되는 트래픽들은 각 패킷을 방화벽의 규칙에 적용하기 위해 방화벽을 거치게 된다.
그러므로 네트워크에 트래픽의 양이 많아지면 방화벽은 심각한 병목 현상 구간이 될 수 밖에 없다. 그리고, 내부 네트워크는 방화벽을 통해서만 외부 네트워크와 연결될 수 있기 때문에 만약 방화벽이 서비스를 수행할 수 없는 상태가 되면 내부 네트워크의 클라이언트들이 더 이상 인터넷을 사용할 수 없게 된다.
방화벽 부하 분산 기능은 이와 같이 방화벽으로 인해 발생하는 병목 현상과 접속 실패 등의 문제를 해결하고 방화벽의 성능을 더 높여 둔다. 일반적으로 성능상의 문제 혹은 가용화 관련 문제로 인하여 복수개의 네트워크 방화벽을 설치하게 되는데, 복수 개로 설치된 방화벽들은 네트워크로 유입되는 또는 네트워크에서 유출되는 패킷을 수신하게 된다. 복수 개로 설치된 방화벽들에게 네트워크 패킷을 분산시키 위하여, 부하 분산기를 네트워크 방화벽의 앞단 및 뒤단에 설치한다.
부하 분산기로서 전용 L7 스위치를 사용할 수 있다. 그러나 다음과 같은 경우 부하 분산을 효과적으로 수행하지 못하는 경우가 있다.
■단일 IP로 TCP/UDP 포트만을 변환하여 네트워크 주소변환 (Network NAT)
■단일 IP로 Encapsulation을 수행하는 IPSec
■파생 세션을 발생시키는 어플리케이션 트래픽
네트워크 방화벽들 사이에서 재분배 프로토콜을 사용하여 부하분산을 수행하게 되므로 네트워크 방화벽 자체의 부하를 가중시키며 패킷 지연이 발생한다.
한편, 오픈 플로우(Openflow)는 네트워크 스위치(혹은 라우터)의 패킷 포워딩 기능과 제어 기능을 분리하여 이들 기능 간의 통신을 위한 프로토콜을 제공하는 기술이다. 외부 제어 장치(서버)에 의해 구동되는 소프트웨어가 네트워크 스위치 또는 라우터 내의 패킷 경로 결정을 가능하게 한다.
오픈 플로우 프로토콜은 오픈 네트워킹 재단(Open Networking Foundation; ONF)에서 표준화 시키고 있는 프로토콜로서, 네트워크 스위치나 라우터의 포워딩 엔진을 외부에서 제어할 수 있게 해준다.
본 발명의 실시예는 복수개의 방화벽들 사이에 능동적으로 부하를 분산시킬 수 있는 네트워크 시스템을 제공한다.
본 발명의 다른 실시예는 복수개의 방화벽들 사이에 능동적으로 부하를 분산시킬 수 있는 네트워크 제어 방법을 제공한다.
본 발명의 일 실시예에 따른 네트워크 시스템은 오픈 플로우 스위치, 방화벽 및 컨트롤러를 포함한다. 상기 오픈 플로우 스위치는 패킷을 수신하여 스위칭한다. 상기 방화벽은 상기 오픈 플로우 스위치로부터 패킷을 수신하고, 수신한 패킷을 직접 처리할지 여부에 기초하여 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하기 위한 갱신 요청 메시지를 생성한다. 상기 컨트롤러는 상기 갱신 요청 메시지를 수신하고, 수신한 상기 갱신 요청 메시지에 기초하여 상기 오픈 플로우 스위치의 플로우 테이블을 갱신한다.
실시예에 따라, 상기 방화벽은, 수신한 패킷이 신규 세션의 패킷이고 상기 세션을 직접 처리할 것으로 결정된 경우, 수신한 패킷을 처리하고 상기 갱신 요청 메시지를 생성하여 상기 컨트롤러로 전송할 수 있다.
실시예에 따라, 상기 컨트롤러는 상기 갱신 요청 메시지에 기초하여, 상기 신규 세션의 패킷들이 상기 방화벽으로 전송되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신할 수 있다.
실시예에 따라, 상기 방화벽은, 수신한 패킷이 신규 세션의 패킷이고 상기 세션을 직접 처리하지 않을 것으로 결정된 경우, 수신한 패킷을 인접한 제2 방화벽으로 전달하고 상기 갱신 요청 메시지를 생성하여 상기 컨트롤러로 전송할 수 있다.
실시예에 따라, 상기 컨트롤러는 상기 갱신 요청 메시지에 기초하여, 상기 신규 세션의 패킷들이 상기 제 2 방화벽으로 전달되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신할 수 있다.
실시예에 따라, 상기 방화벽에는 부하 상황에 대한 임계치가 설정되고, 상기 방화벽의 부하 상황이 상기 설정된 임계치를 초과하는 경우 처리 중인 복수의 세션 중 적어도 하나의 세션에 대한 후속 패킷들이 인접한 제 2 방화벽으로 전달되도록 상기 갱신 요청 메시지를 생성하여 상기 컨트롤러로 전송할 수 있다.
본 발명의 다른 실시예에 따른 네트워크 시스템은 제 1 오픈 플로우 스위치, 제 1 방화벽, 제 2 방화벽 및 제 2 오픈 플로우 스위치를 포함한다. 상기 제 1 방화벽은 상기 제 1 오픈 플로우 스위치에 연결된다. 상기 제 2 방화벽은 상기 제 1 오픈 플로우 스위치 및 상기 제 1 방화벽과 연결된다. 상기 제 2 오픈 플로우 스위치는 상기 제 1 방화벽 및 제 2 방화벽과 연결된다. 상기 제 1 방화벽은, (a) 상기 제 1 오픈 플로우 스위치로부터 수신된 신규 세션에 대한 패킷을 직접 처리하는 경우, 상기 수신 패킷을 처리하여 제 2 오픈 플로우 스위치로 전송하고, 수신 패킷과 관련된 세션에 속하는 후속 패킷들이 상기 제 1 방화벽으로 수신되도록 상기 제 1 오픈 플로우 스위치의 플로우 테이블을 갱신하며, (b) 상기 제 1 오픈 플로우 스위치로부터 수신된 신규 세션에 대한 패킷을 직접 처리하지 않는 경우, 상기 수신 패킷을 제 2 방화벽으로 전달하고, 수신 패킷과 관련된 세션에 속하는 후속 패킷들이 상기 제 2 방화벽으로 수신되도록 상기 제 1 오픈 플로우 스위치의 플로우 테이블을 갱신한다.
실시예에 따라, 상기 제 1 방화벽의 부하 상황이 미리 결정된 임계값을 초과하는 경우, 처리 중인 복수의 세션들 중 적어도 하나의 세션에 속하는 패킷들이 제 2 방화벽으로 전달되도록, 상기 제 1 오픈 플로우 스위치의 플로우 테이블을 갱신할 수 있다.
본 발명의 또다른 실시예에 따른 네트워크 제어 방법은, 오픈 플로우 스위치로부터 방화벽으로 패킷을 수신하는 단계, 수신한 패킷이 신규 세션에 속하는 패킷인지 판단하는 단계, 신규 세션에 속하는 패킷에 대하여, 상기 방화벽이 상기 패킷을 직접 처리할 것인지 여부를 판별하는 단계 및 상기 패킷의 직접 처리 여부의 판별 결과에 기초하여 후속 패킷 동작을 수행하는 단계를 포함한다.
실시예에 따라, 상기 패킷의 직접 처리 여부의 판별 결과에 기초하여 후속 패킷 동작을 수행하는 단계는, (a) 상기 방화벽이 상기 패킷을 직접 처리하는 경우, 상기 패킷을 처리하고, 상기 신규 세션에 속하는 후속 패킷들이 상기 방화벽으로 전송되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하고, (b) 상기 방화벽이 상기 패킷을 직접 처리하지 않는 경우, 상기 패킷을 인접 방화벽으로 전달하고, 상기 신규 세션에 속하는 후속 패킷들이 상기 인접 방화벽으로 전송되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하는 단계를 포함할 수 있다.
본 기술에 의하면 복수개의 방화벽들 사이에 능동적으로 부하를 분산시킬 수 있는 네트워크 시스템 및 네트워크 제어 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 시스템이 네트워크 및 호스트 시스템에 연결되는 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도 4는 본 발명의 또다른 실시예에 따른 네트워크 제어 방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
도 1은 본 발명의 일 실시예에 따른 네트워크 시스템이 네트워크 및 호스트 시스템에 연결되는 구성을 설명하기 위한 도면이다.
도 1을 참조하면, 호스트 시스템들(111, 113, 115, 121, 122, 125)이 네트워크 시스템들(131, 133)에 각각 연결되고, 네트워크 시스템들(131, 133)은 네트워크(141)에 연결된다. 더욱 자세히, 호스트 시스템들(111, 113, 115)은 네트워크 시스템(131)에 연결되고, 호스트 시스템들(121, 122, 125)이 네트워크 시스템(133)에 연결될 수 있다. 도 1에서, 네트워크(141)는 인터넷(Internet)일 수 있다. 또한 호스트 시스템들(111, 113, 115)은 가정용, 관공서, 공공기관, 학교 및 사무실 내의 개인용 컴퓨터와 같은 종단 시스템(End System)들일 수 있다. 또한, 호스트 시스템들(121, 122, 125)은 서비스 또는 컨텐츠를 제공하는 서버(Server)일 수 있다.
본 발명의 실시예에 따른 네트워크 시스템들(131, 133)은 적어도 하나 이상의 방화벽을 포함할 수 있다. 따라서, 네트워크(141)로부터 호스트 시스템들(111, 113, 115)로 유입되는 트래픽들은 네트워크 시스템(131) 내의 방화벽을 통과하게 되고, 네트워크(141)로부터 호스트 시스템들(121, 122, 125)로 유입되는 트래픽들은 네트워크 시스템(133) 내의 방화벽을 통과하게 된다.
네트워크 시스템들(131, 133)은 각각 복수 개의 방화벽들을 포함할 수 있다. 이 경우, 하나의 방화벽에만 트래픽이 몰리는 경우 접속 장애가 발생할 수 있다. 따라서 네트워크 시스템들(131, 133)에 포함되는 복수 개의 방화벽들 간에 효과적으로 부하를 밸런싱(balancing) 또는 분배하기 위한 장치 또는 방법이 필요하다.
도 2는 본 발명의 일 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(200)은 제 1 오픈 플로우 스위치(210), 제 1 방화벽(230), 제 2 방화벽(250) 및 제 2 오픈 플로우 스위치(270)를 포함한다. 제 1 및 제 2 오픈 플로우 스위치(210, 270)는 네트워크 시스템(200)의 외부로부터 패킷을 수신하여 제 1 및 제 2 방화벽(230, 250) 중 어느 하나로 스위칭한다. 또한, 제 1 및 제 2 오픈 플로우 스위치(210, 270)는 제 1 방화벽(230) 또는 제 2 방화벽(250)으로부터 수신한 패킷을 네트워크 시스템(200) 외부로 스위칭한다.
제 1 및 제 2 방화벽들(230, 250)은 제 1 및 제 2 오픈 플로우 스위치(210, 270) 중 어느 하나로부터 패킷을 수신하고, 수신한 패킷을 직접 처리할지 여부를 판단한다. 수신할 패킷을 직접 처리하기로 결정한 경우, 수신 패킷을 방화벽을 통과 시켜 처리하며, 패킷을 수신한 오픈 플로우 스위치의 플로우 테이블을 갱신한다.
본 발명의 일 실시예에 따른 네트워크 시스템의 동작을 더욱 자세히 살펴 보기 위하여, 네트워크 시스템(200)의 상단 쪽에서부터, 즉 제 1 오픈 플로우 스위치(210) 측의 외부로부터 패킷이 수신되는 경우를 상정한다. 네트워크 시스템(200)의 외부로부터 패킷을 수신한 제 1 오픈 플로우 스위치(210)는 먼저 수신한 패킷이 신규 세션에 속하는 패킷인지 기존 세션에 속하는 패킷인지 여부를 판단한다. 수신한 패킷이 기존 세션에 속하는 패킷인 경우 기존 세션의 패킷 경로대로 수신한 패킷을 전송한다. 예를 들어, 기존 세션의 패킷들이 제 1 방화벽(230)으로 스위칭되어 있던 경우, 수신 패킷을 제 1 방화벽(230)으로 전송한다.
수신한 패킷이 신규 세션에 속하는 패킷인 경우, 기존의 세션과 관련된 스위칭 정보가 없으므로 임의로, 또는 사용자가 지정한 방식에 따라 수신 패킷을 전송할 수 있다. 예를 들어, 사용자가 신규 세션에 해당하는 패킷을 제 2 방화벽(250)으로 전송하도록 설정한 경우, 수신 패킷을 제 2 방화벽(250)으로 전송할 수 있다.
수신 패킷이 신규 세션에 관한 패킷이고, 제 1 오픈 플로우 스위치(210)가 상기 수신 패킷을 제 1 방화벽(230)으로 전송한 경우를 상정한다. 이 경우, 제 1 오픈 플로우 스위치(210)는 해당 신규 세션에 관한 패킷을 제 1 방화벽(230)으로 전달하였다는 내용을 반영하도록 자신의 플로우 테이블을 갱신할 수 있다. 다른 예에서, 제 1 오픈 플로우 스위치(210)는 신규 세션에 관한 패킷을 제 1 방화벽(230)으로 전달하였다는 내용과 관련하여 플로우 테이블을 갱신하지 않을 수도 있다. 즉, 제 1 오픈 플로우 스위치(210)가 해당 신규 세션에 관한 패킷을 제 1 방화벽(230)으로 전달한 내용은 제 1 오픈 플로우 스위치(210)의 플로우 테이블에 반영될 수도 있고, 반영되지 않은 채 남아 있을 수도 있다. 이러한 점은 제 1 오픈 플로우 스위치(210)의 설정에 따라 달라질 수 있다. 제 1 오픈 플로우 스위치(210)로부터 패킷을 수신한 제 1 방화벽(230)은 현재 자신의 부하량에 기초하여 수신 패킷을 처리할 것인지 여부를 결정할 수 있다.
예를 들어, 제 1 방화벽(230)의 부하량이 미리 정해진 임계치 이하인 경우, 제 1 방화벽(230)은 수신 패킷을 직접 처리하도록 한다. 이 경우, 제 1 방화벽(230)은 수신 패킷을 처리하여 제 2 오픈 플로우 스위치(210)로 전송하고, 이후 동일 세션의 패킷들이 자신에게 수신되도록 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 갱신할 수 있다.
제 1 방화벽(230)의 부하량이 미리 정해진 임계치 이상인 경우, 제 1 방화벽(230)은 수신 패킷을 직접 처리하지 않도록 결정할 수 있다. 이 경우, 제 1 방화벽(230)은 수신 패킷을 제 2 방화벽(250)으로 전송한다. 일 실시예에서, 제 1 방화벽(230)은 수신 패킷을 제 2 방화벽(250)으로 전송하는 것과 병행하여, 해당 세션의 후속 패킷들이 제 2 방화벽(250)으로 전송되도록 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 갱신할 수 있다. 또는, 다른 실시예에서, 제 1 방화벽(230)은 수신 패킷을 제 2 방화벽(250)으로 전송하고, 제 2 방화벽(250)이 패킷을 수신함에 따라 해당 세션의 후속 패킷들이 제 2 방화벽(250)에게 전송되도록 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 갱신할 수 있다. 즉, 제 1 방화벽(230)이 수신 패킷을 제 2 방화벽(250)으로 전달하는 경우, 후속 패킷들이 제 2 방화멱(250)으로 전송되도록 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 갱신하는 것은 제 1 방화벽(230)에 의해 수행될 수도 있고, 제 2 방화벽(250)에 의해 수행될 수도 있다.
상술한 예시에서는, 수신 패킷이 신규 세션에 관한 패킷인 경우의 부하 분산을 설명하였다. 다른 실시예에서, 수신 패킷이 신규 세션에 관한 패킷이 아니더라도 네트워크 시스템(200)은 부하 분산을 수행할 수 있다. 예를 들어, 제 1 오픈 플로우 스위치(210)로 수신되는 특정 패킷이 기존 세션에 관한 것이고, 상기 세션에 해당되는 트래픽이 제 1 방화벽(230)을 통과하고 있었던 경우, 제 1 오픈 플로우 스위치(210)는 플로우 테이블을 참조하여 수신 패킷을 제 1 방화벽(230)으로 전송한다. 일반적인 상황에서 제 1 방화벽(230)은 수신 패킷을 처리하여 제 2 오픈 플로우 스위치(270)로 전송한다. 그러나, 해당 세션의 트래픽이 제 1 방화벽을 통하여 전달되는 동안에, 제 1 방화벽(230)의 처리 부하가 임계치를 초과할 수 있다. 이 과정에서 세션 테이블의 현재 상태, 활성 세션의 수 등이 고려될 수 있다. 제 1 방화벽(230)은 처리 부하가 임계치를 초과하는 경우, 처리하고 있는 복수의 세션들 중 하나를 선택하여 제 2 방화벽(270)으로 이동시킬 수 있다(session migration). 구체적으로, 제 1 방화벽(230)은 처리 부하가 임계치를 초과하는 경우, 복수의 세션들 중 제 2 방화벽(270)으로 이동시킬 세션을 결정한다. 제 1 방화벽(230)은 결정 이후에 수신한 패킷이 이동시킬 세션에 속하는 경우 수신 패킷을 처리하지 않고 제 2 방화벽(250)으로 전송한다. 이와 병행하여, 일 실시예에서, 제 1 방화벽(230)은 이동시킬 세션의 후속 패킷들이 제 2 방화벽(250)으로 전달되도록 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 갱신할 수 있다. 다른 실시예에서, 제 1 방화벽(230)은 이동시킬 세션의 후속 패킷을 제 2 방화벽(250)으로 전송하기만 하고, 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 직접 갱신하지 않을 수 있다. 이 경우, 제 1 방화벽(230)으로부터 패킷을 전달받은 제 2 방화벽(250)은 이동되는 세션의 후속 패킷들이 제 2 방화벽(250)으로 전달되도록 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 갱신할 수 있다.
이와 같이, 본 발명의 실시예에 따른 네트워크 시스템(200)에 의하면, 방화벽(230, 250)이 수신 패킷에 대한 처리 여부를 부하 상황에 따라 결정하고, 수신 패킷을 직접 처리할지의 여부에 따라 오픈 플로우 스위치(210, 270)가 해당 세션의 이후 패킷을 어디로 스위칭 할지에 대한 플로우 테이블을 갱신하므로, 능동적인 부하 분산을 수행할 수 있다. 또한, 방화벽(230, 250)은 현재 자신이 처리하고 있는 세션일지라도 부하 상황에 따라 해당 세션 정보를 부하가 낮은 쪽 방화벽으로 넘기고 오픈 플로우 스위치(210, 270)의 플로우 테이블을 갱신시켜 부하를 줄일 수 있다. 따라서, 저가의 오픈 플로우 스위치를 활용하여 고가의 L7 스위치가 제공하는 기능 이상의 부하 분산(load balancing) 기능을 제공할 수 있다. 또한, 기존의 L7 스위치로 수행할 수 없었던 동적 세션 이주(dynamic session migration)를 수행함으로써, 보다 효율적인 부하 공유(load sharing)를 수행할 수 있다.
도 3은 본 발명의 다른 실시예에 따른 네트워크 시스템을 나타내는 블록도이다.
도 3을 참조하면, 네트워크 시스템(300)은 제 1 오픈 플로우 스위치(310), 제 1 방화벽(330), 제 2 방화벽(350), 제 2 오픈 플로우 스위치(370) 및 컨트롤러(390)를 포함한다. 제 1 및 제 2 오픈 플로우 스위치(310, 370)는 네트워크 시스템(300)의 외부로부터 패킷을 수신하여 제 1 및 제 2 방화벽(330, 350) 중 어느 하나로 스위칭한다. 또한, 제 1 및 제 2 오픈 플로우 스위치(310, 370)는 제 1 방화벽(330) 또는 제 2 방화벽(350)으로부터 수신한 패킷을 네트워크 시스템(300) 외부로 스위칭한다.
도 3의 네트워크 시스템(300)이 도 2의 네트워크 시스템(200)과 다른 점은 컨트롤러(390)를 포함한다는 것이다. 오픈 플로우 프로토콜에서 컨트롤러는 오픈 플로우 스위치와 통신을 한다. 스위치와 컨트롤러가 연결되면, 컨트롤러는 연결된 스위치들에 대한 정보를 불러오면서 네트워크의 토폴로지(topology)를 생성한다. 또한, 오픈 플로우 스위치가 패킷을 수신하는 경우, 스위치는 컨트롤러를 통해 패킷을 어느 곳으로 스위칭할지 결정할 수 있다. 즉, 컨트롤러가 네트워크의 토폴로지를 인식하고 있으므로 패킷을 전송할 경로를 스위치로 전달하고, 스위치는 이를 통해 플로우 테이블을 갱신한다. 이후 패킷은 플로우 테이블을 참조하여 스위칭된다. 오픈 플로우 프로토콜에서, 컨트롤러는 네트워크 토폴로지를 기초로 최적의 플로우 테이블을 작성할 수도 있으며, 필요에 따라, 관리자가 원하는 플로우 테이블을 정의하여 스위치에 수동으로 전달할 수도 있다.
도 3의 실시예를 참조하면, 제 1 및 제 2 오픈 플로우 스위치(310, 370)는 패킷을 수신하여 스위칭한다. 제 1 및 제 2 방화벽(330, 350)은 제 1 오픈 플로우 스위치(310) 또는 제 2 오픈 플로우 스위치(370)로부터 패킷을 수신하고, 수신한 패킷을 직접 처리할지 여부에 기초하여 제 1 오픈 플로우 스위치(310) 또는 제 2 오픈 플로우 스위치(370)의 플로우 테이블을 갱신하기 위한 갱신 요청 메시지를 생성한다. 컨트롤러(390)는 상기 갱신 요청 메시지를 수신하고, 수신한 상기 갱신 요청 메시지에 기초하여 제 1 오픈 플로우 스위치(310) 또는 제 2 오픈 플로우 스위치(370)의 플로우 테이블을 갱신한다.
도 3을 참조하여 들었던 예시와 유사하게, 네트워크 시스템(300)의 상단 쪽에서부터, 즉 제 1 오픈 플로우 스위치(310) 측의 외부로부터 패킷이 수신되는 경우를 상정한다. 네트워크 시스템(300)의 외부로부터 패킷을 수신한 제 1 오픈 플로우 스위치(310)는 먼저 수신한 패킷이 신규 세션에 속하는 패킷인지 기존 세션에 속하는 패킷인지 여부를 판단한다. 수신한 패킷이 기존 세션에 속하는 패킷인 경우 기존 세션의 패킷 스위칭대로 수신한 패킷을 전송한다. 예를 들어, 기존 세션의 패킷들이 제 1 방화벽(330)으로 스위칭되어 있던 경우, 수신 패킷을 제 1 방화벽(330)으로 전송한다.
수신한 패킷이 신규 세션에 속하는 패킷인 경우, 기존의 세션과 관련된 스위칭 정보가 없으므로 임의로, 또는 사용자가 지정한 방식에 따라 수신 패킷을 전송할 수 있다. 예를 들어, 사용자 또는 컨트롤러(390)가 신규 세션에 해당하는 패킷을 제 2 방화벽(350)으로 전송하도록 설정한 경우, 수신 패킷을 제 2 방화벽(350)으로 전송할 수 있다.
수신 패킷이 신규 세션에 관한 패킷이고, 제 1 오픈 플로우 스위치(310)가 상기 수신 패킷을 제 1 방화벽(330)으로 전송한 경우를 상정한다. 이 경우, 제 1 오픈 플로우 스위치(310)는 해당 신규 세션에 관한 패킷을 제 1 방화벽(330)으로 전달하였다는 내용을 반영하도록 자신의 플로우 테이블을 갱신할 수 있다. 다른 예에서, 제 1 오픈 플로우 스위치(310)는 신규 세션에 관한 패킷을 제 1 방화벽(330)으로 전달하였다는 내용과 관련하여 플로우 테이블을 갱신하지 않을 수도 있다. 즉, 제 1 오픈 플로우 스위치(310)가 해당 신규 세션에 관한 패킷을 제 1 방화벽(330)으로 전달한 내용은 제 1 오픈 플로우 스위치(310)의 플로우 테이블에 반영될 수도 있고, 반영되지 않은 채 남아 있을 수도 있다. 일 예에서, 제 1 오픈 플로우 스위치(310)가 해당 신규 세션에 관한 패킷을 제 1 방화벽(330)으로 전달한 내용을 제 1 오픈 플로우 스위치(310)의 플로우 테이블에 반영할지 여부는 제 1 오픈 플로우 스위치(310)의 설정에 따라 달라질 수 있다. 다른 예에서, 제 1 오픈 플로우 스위치(310)가 해당 신규 세션에 관한 패킷을 제 1 방화벽(330)으로 전달한 내용을 제 1 오픈 플로우 스위치(310)의 플로우 테이블에 반영할지 여부는 컨트롤러(390)의 설정에 따라 달라질 수 있다. 제 1 오픈 플로우 스위치(310)로부터 패킷을 수신한 제 1 방화벽(330)은 현재 자신의 부하량에 기초하여 수신 패킷을 처리할 것인지 여부를 결정할 수 있다.
예를 들어, 제 1 방화벽(330)의 부하량이 미리 정해진 임계치 이하인 경우, 제 1 방화벽(330)은 수신 패킷을 직접 처리하도록 한다. 이 경우, 제 1 방화벽(330)은 수신 패킷을 처리하여 제 2 오픈 플로우 스위치(210)로 전송하고, 이후 동일 세션의 패킷들이 자신에게 수신되도록 하기 위해, 제 1 오픈 플로우 스위치(210)의 플로우 테이블을 갱신하기 위한 갱신 요청 메시지를 생성할 수 있다. 생성된 갱신 요청 메시지는 컨트롤러(390)로 전달된다. 컨트롤러(390)는 수신한 갱신 요청 메시지에 기초하여 제 1 오픈 플로우 스위치(310)의 플로우 테이블을 갱신할 수 있다.
제 1 방화벽(330)의 부하량이 미리 정해진 임계치 이상인 경우, 제 1 방화벽(330)은 수신 패킷을 직접 처리하지 않도록 결정할 수 있다. 이 경우, 제 1 방화벽(330)은 수신 패킷을 제 2 방화벽(350)으로 전송한다. 일 실시예에서, 제 1 방화벽(330)은 수신 패킷을 제 2 방화벽(350)으로 전송하는 것과 병행하여, 해당 세션의 후속 패킷들이 제 2 방화벽(250)으로 전송되도록 하기 위한 갱신 요청 메시지를 생성할 수 있다. 생성된 갱신 요청 메시지는 컨트롤러(390)로 전달되고, 컨트롤러(390)는 상기 갱신 요청 메시지에 기초하여 이후 동일 세션의 패킷들이 제 2 방화벽(350)으로 수신되도록 제 1 오픈 플로우 스위치(310)의 플로우 테이블을 갱신할 수 있다. 또는, 다른 실시예에서, 상기 갱신 요청 메시지는 제 2 방화벽(350)에 의해 생성될 수도 있다. 이 경우, 패킷을 전달하는 제 1 방화벽(330)은 갱신 요청 메시지를 생성하지 않고, 제 2 방화벽(350)이 제 1 방화벽(330)으로부터 전달받은 패킷에 기초하여 갱신 요청 메시지를 생성할 수 있다.
도 4는 본 발명의 또다른 실시예에 따른 네트워크 제어 방법을 나타내는 순서도이다.
도 4를 참조하면, 본 발명의 또다른 실시예에 따른 네트워크 제어 방법은, 오픈 플로우 스위치로부터 방화벽으로 패킷을 수신하는 단계(S110), 수신한 패킷이 신규 세션에 속하는 패킷인지 판단하는 단계(S210)를 포함한다.
수신한 패킷이 신규 세션이 속하는 패킷인 경우, 상기 방화벽이 상기 패킷을 직접 처리할 것인지 여부를 판별하는 단계(S230)로 진행된다. 또한, 상기 패킷의 직접 처리 여부의 판별 결과에 기초하여 후속 패킷 동작을 수행하는 단계가 포함된다. 일 실시예에서, 패킷의 직접 처리 여부의 판별 결과에 기초하여 상기 후속 패킷 동작을 수행하는 단계는, (a) 상기 방화벽이 상기 패킷을 직접 처리하는 경우, 상기 패킷을 처리하고(S250), 상기 신규 세션에 속하는 후속 패킷들이 상기 방화벽으로 전송되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하고(S270), (b) 상기 방화벽이 상기 패킷을 직접 처리하지 않는 경우, 상기 패킷을 인접 방화벽으로 전달하고(S330), 상기 신규 세션에 속하는 후속 패킷들이 상기 인접 방화벽으로 전송되어 상기 인접 방화벽에서 처리되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하는(S350) 단계를 포함한다.
또한, 본 발명의 일 실시예에 따른 네트워크 제어 방법에 의하면, 신규 세션에 해당하는 패킷이 아니더라도, 수신한 방화벽의 부하가 높은 경우 해당 세션을 인접 방화벽으로 이주(migration)할 수 있다. 수신한 패킷이 신규 세션에 속하는 패킷인지 판단하는 단계(S210)의 결과 신규 세션이 아닌 경우, 해당 방화벽의 부하 상황이 임계치 이상인지 판별한다(S310). 판별 결과 방화벽의 부하 상황이 임계치 이상이 아닌 경우 수신 패킷을 직접 처리한다(S370). 판별 결과 방화벽의 부하 상황이 임계치 이상인 경우 세션을 이주하기 위해 수신 패킷을 인접한 방화벽으로 전달한다(S330). 또한 인접한 방화벽이 해당 세션을 처리하도록 오픈 플로우 스위치의 플로우 테이블을 갱신한다(S350).
이와 같이, 본 발명의 실시예에 따른 네트워크 제어 방법에 의하면, 방화벽이 수신 패킷에 대한 처리 여부를 부하 상황에 따라 결정하고, 수신 패킷을 직접 처리할지의 여부에 따라 오픈 플로우 스위치가 해당 세션의 이후 패킷을 어디로 스위칭 할지에 대한 플로우 테이블을 갱신하므로, 능동적인 부하 분산을 수행할 수 있다. 또한, 방화벽은 현재 자신이 처리하고 있는 세션일지라도 부하 상황에 따라 해당 세션 정보를 부하가 낮은 쪽 방화벽으로 넘기고 오픈 플로우 스위치의 플로우 테이블을 갱신시켜 부하를 줄일 수 있다. 따라서, 저가의 오픈 플로우 스위치를 활용하여 고가의 L7 스위치가 제공하는 기능 이상의 부하 분산(load balancing) 기능을 제공할 수 있다. 또한, 기존의 L7 스위치로 수행할 수 없었던 동적 세션 이주(dynamic session migration)를 수행함으로써, 보다 효율적인 부하 공유(load sharing)를 수행할 수 있다.
본 명세서에서, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터를 이용하거나 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터를 이용하거나 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
111: 호스트 시스템 200: 네트워크 시스템
210: 제 1 오픈 플로우 스위치 230: 제 1 방화벽
250: 제 2 방화벽 270: 제 2 오픈 플로우 스위치

Claims (10)

  1. 패킷을 수신하여 스위칭하는 오픈 플로우 스위치;
    상기 오픈 플로우 스위치로부터 패킷을 수신하고, 수신한 패킷을 직접 처리할지 여부에 기초하여 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하기 위한 갱신 요청 메시지를 생성하는 방화벽; 및
    상기 갱신 요청 메시지를 수신하고, 수신한 상기 갱신 요청 메시지에 기초하여 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하는 컨트롤러를 포함하는, 네트워크 시스템.
  2. 제 1 항에 있어서,
    상기 방화벽은, 수신한 패킷이 신규 세션의 패킷이고 상기 세션을 직접 처리할 것으로 결정된 경우, 수신한 패킷을 처리하고 상기 갱신 요청 메시지를 생성하여 상기 컨트롤러로 전송하는 것을 특징으로 하는, 네트워크 시스템.
  3. 제 2 항에 있어서,
    상기 컨트롤러는 상기 갱신 요청 메시지에 기초하여, 상기 신규 세션의 패킷들이 상기 방화벽으로 전송되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하는 것을 특징으로 하는, 네트워크 시스템.
  4. 제 1 항에 있어서,
    상기 방화벽은, 수신한 패킷이 신규 세션의 패킷이고 상기 세션을 직접 처리하지 않을 것으로 결정된 경우, 수신한 패킷을 인접한 제2 방화벽으로 전달하고 상기 갱신 요청 메시지를 생성하여 상기 컨트롤러로 전송하는 것을 특징으로 하는, 네트워크 시스템.
  5. 제 4 항에 있어서,
    상기 컨트롤러는 상기 갱신 요청 메시지에 기초하여, 상기 신규 세션의 패킷들이 상기 제 2 방화벽으로 전달되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하는 것을 특징으로 하는, 네트워크 시스템.
  6. 제 1 항에 있어서, 상기 방화벽에는 부하 상황에 대한 임계치가 설정되고, 상기 방화벽의 부하 상황이 상기 설정된 임계치를 초과하는 경우 처리 중인 복수의 세션 중 적어도 하나의 세션에 대한 후속 패킷들이 인접한 제 2 방화벽으로 전달되도록 상기 갱신 요청 메시지를 생성하여 상기 컨트롤러로 전송하는 것을 특징으로 하는, 네트워크 시스템.
  7. 제 1 오픈 플로우 스위치;
    상기 제 1 오픈 플로우 스위치에 연결된 제 1 방화벽;
    상기 제 1 오픈 플로우 스위치 및 상기 제 1 방화벽과 연결된 제 2 방화벽; 및
    상기 제 1 방화벽 및 제 2 방화벽과 연결된 제 2 오픈 플로우 스위치를 포함하고,
    상기 제 1 방화벽은,
    (a) 상기 제 1 오픈 플로우 스위치로부터 수신된 신규 세션에 대한 패킷을 직접 처리하는 경우, 상기 수신 패킷을 처리하여 제 2 오픈 플로우 스위치로 전송하고, 수신 패킷과 관련된 세션에 속하는 후속 패킷들이 상기 제 1 방화벽으로 수신되도록 상기 제 1 오픈 플로우 스위치의 플로우 테이블을 갱신하며,
    (b) 상기 제 1 오픈 플로우 스위치로부터 수신된 신규 세션에 대한 패킷을 직접 처리하지 않는 경우, 상기 수신 패킷을 제 2 방화벽으로 전달하고, 수신 패킷과 관련된 세션에 속하는 후속 패킷들이 상기 제 2 방화벽으로 수신되도록 상기 제 1 오픈 플로우 스위치의 플로우 테이블을 갱신하는 것을 특징으로 하는, 네트워크 시스템.
  8. 제 7 항에 있어서,
    상기 제 1 방화벽의 부하 상황이 미리 결정된 임계값을 초과하는 경우, 처리 중인 복수의 세션들 중 적어도 하나의 세션에 속하는 패킷들이 제 2 방화벽으로 전달되도록, 상기 제 1 오픈 플로우 스위치의 플로우 테이블을 갱신하는 것을 특징으로 하는, 네트워크 시스템.
  9. 오픈 플로우 스위치로부터 방화벽으로 패킷을 수신하는 단계;
    수신한 패킷이 신규 세션에 속하는 패킷인지 판단하는 단계;
    신규 세션에 속하는 패킷에 대하여, 상기 방화벽이 상기 패킷을 직접 처리할 것인지 여부를 판별하는 단계; 및
    상기 패킷의 직접 처리 여부의 판별 결과에 기초하여 후속 패킷 동작을 수행하는 단계를 포함하는, 네트워크 제어 방법.
  10. 제 9 항에 있어서,
    상기 패킷의 직접 처리 여부의 판별 결과에 기초하여 후속 패킷 동작을 수행하는 단계는,
    (a) 상기 방화벽이 상기 패킷을 직접 처리하는 경우, 상기 패킷을 처리하고, 상기 신규 세션에 속하는 후속 패킷들이 상기 방화벽으로 전송되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하고,
    (b) 상기 방화벽이 상기 패킷을 직접 처리하지 않는 경우, 상기 패킷을 인접 방화벽으로 전달하고, 상기 신규 세션에 속하는 후속 패킷들이 상기 인접 방화벽으로 전송되도록 상기 오픈 플로우 스위치의 플로우 테이블을 갱신하는 단계를 포함하는 것을 특징으로 하는, 네트워크 제어 방법.
KR1020130168164A 2013-12-31 2013-12-31 네트워크 시스템 및 네트워크 제어 방법 KR101538667B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130168164A KR101538667B1 (ko) 2013-12-31 2013-12-31 네트워크 시스템 및 네트워크 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130168164A KR101538667B1 (ko) 2013-12-31 2013-12-31 네트워크 시스템 및 네트워크 제어 방법

Publications (2)

Publication Number Publication Date
KR20150078626A true KR20150078626A (ko) 2015-07-08
KR101538667B1 KR101538667B1 (ko) 2015-07-22

Family

ID=53791124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130168164A KR101538667B1 (ko) 2013-12-31 2013-12-31 네트워크 시스템 및 네트워크 제어 방법

Country Status (1)

Country Link
KR (1) KR101538667B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579963A (zh) * 2017-08-24 2018-01-12 南京南瑞集团公司 一种高性能的防火墙集群

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060253900A1 (en) * 2004-12-21 2006-11-09 Qualcomm Incorporated Client assisted firewall configuration
JP5557066B2 (ja) * 2010-10-15 2014-07-23 日本電気株式会社 スイッチシステム、モニタリング集中管理方法
JP5814849B2 (ja) * 2012-03-30 2015-11-17 株式会社エヌ・ティ・ティ・データ オープンフローネットワークシステム、及び、データ通信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579963A (zh) * 2017-08-24 2018-01-12 南京南瑞集团公司 一种高性能的防火墙集群

Also Published As

Publication number Publication date
KR101538667B1 (ko) 2015-07-22

Similar Documents

Publication Publication Date Title
US10694005B2 (en) Hardware-based packet forwarding for the transport layer
CA3106407C (en) Multi-cloud connectivity using srv6 and bgp
JP5648926B2 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
EP3379806B1 (en) Packet processing method, related apparatus and nvo3 network system
US10200264B2 (en) Link status monitoring based on packet loss detection
US20210036953A1 (en) Flow modification including shared context
JP5382451B2 (ja) フロントエンドシステム、フロントエンド処理方法
US10257061B2 (en) Detecting source network address translation in a communication system
US11277341B2 (en) Resilient segment routing service hunting with TCP session stickiness
EP3125476B1 (en) Service function chaining processing method and device
US10091099B2 (en) Session continuity in the presence of network address translation
US8817815B2 (en) Traffic optimization over network link
US9456030B2 (en) Methods of operating load balancing switches and controllers using modified flow entries
KR101938623B1 (ko) 오픈 플로우 통신 방법, 시스템, 제어기 및 서비스 게이트웨이
WO2017209943A1 (en) Reverse forwarding information base enforcement
WO2016067076A1 (en) Methods and systems for transmitting broadcast data
CN112929264B (zh) 业务流量传输方法、系统及网络设备
US9509600B1 (en) Methods for providing per-connection routing in a virtual environment and devices thereof
EP2996291B1 (en) Packet processing method, device, and system
KR101538667B1 (ko) 네트워크 시스템 및 네트워크 제어 방법
JP6718739B2 (ja) 通信装置および通信方法
JP2017182138A (ja) 負荷分散システム
CN105765903A (zh) 一种拓扑发现方法及设备
CN113824808B (zh) 用于使用中间相遇代理的网络地址转换穿透的方法和系统
EP3065352B1 (en) Data transmission method, device and system

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant