KR101491699B1 - 소프트웨어 정의 네트워킹에서 제어 장치 및 그 동작 방법 - Google Patents
소프트웨어 정의 네트워킹에서 제어 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- KR101491699B1 KR101491699B1 KR20130137087A KR20130137087A KR101491699B1 KR 101491699 B1 KR101491699 B1 KR 101491699B1 KR 20130137087 A KR20130137087 A KR 20130137087A KR 20130137087 A KR20130137087 A KR 20130137087A KR 101491699 B1 KR101491699 B1 KR 101491699B1
- Authority
- KR
- South Korea
- Prior art keywords
- flow rule
- hardware
- module
- packet
- processing software
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
소프트웨어 정의 네트워크 상의 네트워크 스위치를 제어하는 제어 장치는 상기 네트워크 스위치로부터 플로우 룰 요구 메시지를 포함하는 이더넷 패킷을 수신하는 네트워크 인터페이스 하드웨어 모듈; 수신 큐 하드웨어 모듈; 상기 이더넷 패킷로부터 플로우 룰 요구 데이터를 하드웨어적으로 추출하여 상기 수신 큐 하드웨어 모듈에 저장하는 하드웨어 가속 모듈; 중앙 처리 유닛; 상기 중앙 처리 유닛에 의해 구동되며, 상기 플로우 룰 요구 데이터에 대한 응답 데이터를 소프트웨어적으로 생성하는 하나 이상의 소프트웨어 모듈을 포함하는 저장 하드웨어 모듈을 포함한다.
Description
본 발명은 소프트웨어 정의 네트워킹(Software Defined Networking)에서 컨트롤러 장치 및 그 동작 방법에 관한 것이다.
2008년 발표된 소프트웨어 정의 네트워킹 기술의 등장은 최근 네트워크 구조를 바꾸고 있다. 소프트웨어 정의 네트워크 기술은, 기본적으로, 복잡한 제어 플레인(control plane)의 기능을 데이터 플레인(data plane)과 분리하여, 제어 플레인 의 복잡한 기능을 소프트웨어적으로 처리하고, 데이터 플레인은 단순한 네트워크 패킷의 전달, 무시, 변경 등의 기능만을 수행하도록 하는데 있다. 이 경우, 복잡한 하드웨어의 제약없이 제어 플레인의 도움을 통해 소프트웨어적으로 새로운 네트워크의 기능이 개발될 수 있으며, 동시에 이전 네트워크 구조에서 하기 어려웠던 다양한 시도가 가능하게 되었다.
예를 들어, 클라우드 네트워크와 같은 환경에서, 각 네트워크 스위치 혹은 라우터의 기능을 다이나믹하게 설정하여, 에너지 소비를 줄일 수 있으며, 엔터프라이즈 급의 환경에서는 각 스위치나 라우터에 원하는 접근 제어 방식을 구현할 수 있다. 따라서, 이 방식을 이용하여 기존의 네트워크에서 사용되는 장비의 수를 줄일 수 있으며, 동시에 장비 관리 비용 역시 줄일 수 있다. 또한, 새로운 기능을 자유자재로 실험적으로 개발하여 테스트할 수 있다.
그러나, 이러한 기능을 사용하기 위해서는 기본적으로 컨트롤러의 기능과 성능이 매우 중요하다. 컨트롤러에 많은 기능을 의존하게 되는 소프트웨어 정의 네트워크 구조 상, 컨트롤러가 지원하지 않는 기능은 아예 수행할 수 없다. 또한, 컨트롤러의 성능이 좋지 않으면, 컨트롤러는 네트워크 스위치 및 라우터에서 전달되는 플로우 룰 요구 메시지를 모두 제 시간안에 처리 할 수 없다. 예를 들어, 컨트롤러 하나가 100대의 네트워크 스위치를 관리하는 소프트웨어 정의 네트워크에서 때, 각 스위치가 초당 1000개의 플로우 룰 요구를 컨트롤러에 보내면, 컨트롤러는 초당 100,000 개의 플로우 룰 요구를 처리해야 한다. 이러한 많은 플로우 룰 요구가 제 시간안에 처리 되지 못한다면, 각 스위치는 원활하게 네트워크 기능을 수행할 수 없다. 또한, 컨트롤러의 처리 속도가 따라 주지 못한다면, 스위치는 패킷을 제 시간에 처리 하지 못하여, 패킷을 버릴 수 밖에 없는 극단적인 상황이 나올 수 있다.
이러한 문제로 인하여, 컨트롤러의 처리 속도는 매우 중요한 문제로 인식되고 있으며, 소프트웨어 정의 네트워크의 실용화에서도 가장 중요한 문제로 인식되고 있다.
본 발명이 해결하고자 하는 기술적 과제는 소프트웨어 정의 네트워크의 컨트롤러의 처리 속도를 향상시키는 것이다.
일 실시예에서, 소프트웨어 정의 네트워크 상의 네트워크 스위치를 제어하는 제어 장치는 상기 네트워크 스위치로부터 플로우 룰 요구 메시지를 포함하는 이더넷 패킷을 수신하는 네트워크 인터페이스 하드웨어 모듈; 수신 큐 하드웨어 모듈; 상기 이더넷 패킷로부터 플로우 룰 요구 데이터를 하드웨어적으로 추출하여 상기 수신 큐 하드웨어 모듈에 저장하는 하드웨어 가속 모듈; 중앙 처리 유닛; 및 상기 중앙 처리 유닛에 의해 구동되며, 상기 플로우 룰 요구 데이터에 대한 응답 데이터를 소프트웨어적으로 생성하는 하나 이상의 소프트웨어 모듈을 포함하는 저장 하드웨어 모듈을 포함한다.
상기 하드웨어 가속 모듈은 상기 이더넷 패킷으로부터 헤더를 하드웨어적으로 제거하여 상기 플로우 룰 요구 메시지를 얻는 프로토콜 헤더 제거 처리 하드웨어 모듈과, 상기 플로우 룰 요구 메시지를 하드웨어적으로 해독하여 해독된 플로우 룰 요구 메시지를 생성하는 암호 해독 하드웨어 모듈과, 상기 해독된 플로우 룰 요구 메시지를 하드웨어적으로 파싱하여 하나 이상의 메시지 필드를 포함하는 메시지 필드 그룹을 생성하는 한 후, 생성한 메시지 필드 그룹을 상기 수신 큐 하드웨어 모듈에 저장하는 메시지 파싱 하드웨어 모듈을 포함할 수 있다.
상기 프로토콜 헤더 제거 처리 하드웨어 모듈은 상기 이더넷 패킷으로부터 상기 이더넷 패킷의 헤더를 하드웨어적으로 제거하여 상기 이더넷 패킷의 페이로드로부터 IP 패킷을 얻고, 사익 IP 패킷의 처리를 통해 상기 IP 패킷의 헤더를 하드웨어적으로 제거하여 상기 IP 패킷의 페이로드로부터 TCP 패킷을 얻고, 상기 TCP 패킷으로부터 상기 TCP 패킷의 헤더를 하드웨어적으로 제거하여 상기 TCP 패킷의 페이로드로부터 상기 플로우 룰 요구 메시지를 얻을 수 있다.
상기 메시지 파싱 하드웨어 모듈은 상기 해독된 플로우 룰 요구 메시지를 상기 소프트웨어 정의 네트워크가 사용하는 프로토콜에 따라 하드웨어적으로 파싱할 수 있다.
상기 하나 이상의 소프트웨어 모듈은 상기 중앙 처리 유닛에 의해 구동되는 이벤트 처리 소프트웨어 모듈과, 상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈과, 상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 모듈을 포함할 수 있다.
상기 이벤트 처리 소프트웨어 모듈은 상기 수신 큐 하드웨어 모듈 내의 플로우 룰 요구 데이터를 이벤트로서 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈에 전달할 수 있다.
상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 플로우 룰 요구 데이터를 상기 플로우 룰 처리 소프트웨어 모듈에 할당할 수 있다.
상기 플로우 룰 처리 소프트웨어 모듈은 상기 플로우 룰 요구 데이터에 기초하여 패킷을 어떻게 스위칭할 지에 대한 정보를 포함하는 플로우 룰 응답 데이터를 생성할 수 있다.
복수의 플로우 룰 처리 소프트웨어 모듈가 실행될 때, 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 상기 복수의 플로우 룰 처리 소프트웨어 모듈의 부하에 기초하여 상기 복수의 플로우 룰 처리 소프트웨어 모듈 중 하나를 선택하고, 선택된 플로우 룰 처리 소프트웨어 모듈에 상기 플로우 룰 요구 데이터를 할당할 수 있다.
또 다른 실시예에서, 소프트웨어 정의 네트워크 상의 네트워크 스위치를 제어하는 제어 장치는 중앙 처리 유닛; 송신 큐 하드웨어 모듈; 상기 중앙 처리 유닛에 의해 구동되며, 상기 플로우 룰 요구 데이터에 대한 플로우 룰 응답 메시지를 소프트웨어적으로 생성하여 상기 송신 큐 하드웨어 모듈에 저장하는 하나 이상의 소프트웨어 모듈을 포함하는 저장 하드웨어 모듈; 상기 플로우 룰 응답 메시지를 포함하는 이더넷 패킷을 하드웨어적으로 생성하는 하드웨어 가속 모듈; 및 상기 네트워크 스위치에 상기 플로우 룰 응답 메시지를 포함하는 상기 이더넷 패킷을 전송하는 네트워크 인터페이스 하드웨어 모듈을 포함한다.
상기 하나 이상의 소프트웨어 모듈은 상기 중앙 처리 유닛에 의해 구동되는 이벤트 처리 소프트웨어 모듈과, 상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈과, 상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 모듈을 포함할 수 있다.
상기 플로우 룰 처리 소프트웨어 모듈은 상기 플로우 룰 응답 메시지를 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈에 전달할 수 있다.
상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 상기 플로우 룰 응답 메시지를 이벤트로서 상기 이벤트 처리 소프트웨어 모듈에 전달할 수 있다.
상기 이벤트 처리 소프트웨어 모듈은 상기 플로우 룰 응답 메시지를 상기 송신 큐 하드웨어 모듈에 저장할 수 있다.
복수의 플로우 룰 처리 소프트웨어 모듈이 실행될 때, 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 상기 복수의 플로우 룰 처리 소프트웨어 모듈로부터 플로우 룰 응답 메시지를 획득할 수 있다.
상기 하드웨어 가속 모듈은 상기 송신 큐 하드웨어 모듈에 저장된 복수의 플로우 룰 응답 메시지의 순서를 하드웨어적으로 변경하여, 변경된 순서로 복수의 플로우 룰 응답 메시지를 하나씩 출력하는 패킷 오더링 하드웨어 모듈과, 상기 플로우 룰 응답 메시지를 하드웨어적으로 암호화하여 암호화된 플로우 룰 응답 메시지를 생성하는 암호화 하드웨어 모듈과, 상기 암호화된 플로우 룰 응답 메시지에 프로토콜 헤더를 하드웨어적으로 부가하여 이더넷 패킷을 생성하는 프로토콜 헤더 부가 처리 하드웨어 모듈을 포함할 수 있다.
상기 패킷 오더링 하드웨어 모듈은 상기 복수의 플로우 룰 응답 메시지의 요구 순서에 기초하여 상기 복수의 플로우 룰 응답 메시지의 순서를 하드웨어적으로 변경할 수 있다.
상기 프로토콜 헤더 부가 처리 하드웨어 모듈은 상기 암호화된 플로우 룰 응답 메시지를 포함하는 페이로드에 TCP 헤더를 하드웨어적으로 부가하여 TCP 패킷을 생성하고, 상기 TCP 패킷에 IP 헤더를 하드웨어적으로 부가하여 IP 패킷을 생성하고, 상기 IP 패킷에 이더넷 헤더를 하드웨어적으로 부가하여 상기 이더넷 패킷을 생성할 수 있다.
실시예에서, SDN의 컨트롤러는 플로우 룰 요구 메시지의 처리 시간을 단축시켜 빠른 시간 안에 플로우 룰 응답을 네트워크 스위치에 제공할 수 있으므로, SDN의 컨트롤러의 성능을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 기본적인 구조를 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 제어 장치(100)의 개략적 구조를 보여주는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 제어 장치의 상세 구조를 보여주는 블록도이다.
도 4은 본 발명의 일 실시예에 따른 네트워크 스위치의 동작을 보여주는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 플로우 룰 요구 메시지를 포함하는 이더넷 패킷의 구조를 보여준다.
도 6와 도 7은 본 발명의 일 실시예에 따른 제어 장치의 동작을 보여주는 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 제어 장치(100)의 개략적 구조를 보여주는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 제어 장치의 상세 구조를 보여주는 블록도이다.
도 4은 본 발명의 일 실시예에 따른 네트워크 스위치의 동작을 보여주는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 플로우 룰 요구 메시지를 포함하는 이더넷 패킷의 구조를 보여준다.
도 6와 도 7은 본 발명의 일 실시예에 따른 제어 장치의 동작을 보여주는 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, "하드웨어적으로" 처리한다는 것은 그 처리를 위하여 전용으로 미리 설계된 하드웨어에 의해 그 처리를 위한 연산이 수행됨을 나타내고, "소프트웨어적으로" 처리한다는 것은 그 처리를 위한 복수의 명령어가 중앙 처리 유닛(Central processing unit, CPU)와 같은 공통 하드웨어(common hardware)에 의해 수행됨을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크의 기본적인 구조를 보여주는 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(1)는 제어 장치(100)와 복수의 네트워크 스위치(200)를 포함한다. 하나의 제어 장치(100)는 복수의 네트워크 스위치(200)를 관리한다.
네트워크 스위치(200)가 스위칭이 요구되는 타겟 패킷을 수신하면, 네트워크 스위치(200)는 타겟 패킷을 어떻게 스위칭할 지를 묻는 플로우 룰 요구 메시지를 포함하는 이더넷 패킷을 제어 장치(100)에 전송한다.
제어 장치(100)는 플로우 룰 요구 메시지에 응답하여 플로우 룰 응답 메시지를 포함하는 이더넷 패킷을 네트워크 스위치(200)에 전송한다.
네트워크 스위치(200)는 플로우 룰 응답 메시지에 기초하여 패킷의 스위칭을 수행한다.
도 2는 본 발명의 일 실시예에 따른 제어 장치(100)의 개략적 구조를 보여주는 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제어 장치(100)는 하드웨어 가속 모듈(107), 하나 이상의 소프트웨어 모듈을 포함한다. 하나 이상의 소프트웨어 모듈은 이벤트 처리 소프트웨어 모듈(161), 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162), 플로우 룰 처리 소프트웨어 모듈(163)을 포함한다.
도 2의 구성 요소를 개략적으로 설명하면 다음과 같다.
하드웨어 가속 모듈(107)은 플로우 룰 처리 정보와 이더넷 패킷 사이의 변환을 하드웨어적으로 가속한다. 플로우 룰 처리 정보는 플로우 룰 요구 데이터와 플로우 룰 응답 데이터을 포함할 수 있다. 플로우 룰 요구 데이터는 하나 이상의 데이터 필드를 포함할 수 있다. 플로우 룰 응답 데이터는 하나 이상의 데이터 필드를 포함할 수 있다.
하나 이상의 소프트웨어 모듈은 상기 플로우 룰 요구 데이터에 대한 응답 데이터를 소프트웨어적으로 생성한다.
이벤트 처리 소프트웨어 모듈(161)은 플로우 룰 처리 정보를 이벤트로 처리한다.
플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 플로우 룰 처리 소프트웨어 모듈(163)을 관리한다. 특히, 멀티 CPU, 멀티 코어, 멀티 쓰레드 환경에서 복수의 플로우 룰 처리 소프트웨어 모듈(163)이 실행되는 경우, 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 복수의 플로우 룰 처리 소프트웨어 모듈(163)을 관리한다.
플로우 룰 처리 소프트웨어 모듈(163)은 플로우 룰 요구를 처리하여 플로우 룰 응답을 생성한다.
도 2의 구성 요소를 좀더 상세히 설명하면 다음과 같다.
하드웨어 가속 모듈(107)은 플로우 룰 요구 메시지를 포함하는 이더넷 패킷으로부터 플로우 룰 요구 메시지 내의 메시지 정보를 하드웨어적으로 추출한다.
이벤트 처리 소프트웨어 모듈(161)은 추출된 메시지 정보를 이벤트로 처리한다.
플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 이벤트로 처리된 메시지 정보를 플로우 룰 처리 소프트웨어 모듈(163)에 할당한다.
플로우 룰 처리 소프트웨어 모듈(163)은 이벤트로 처리된 플로우 룰 요구 메시지 정보에 기초하여 플로우 룰 응답 메시지를 생성한다.
플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 플로우 룰 응답 메시지를 이벤트 처리 소프트웨어 모듈(161)에 전달한다.
이벤트 처리 소프트웨어 모듈(161)은 플로우 룰 응답 메시지를 이벤트로 처리한다.
하드웨어 가속 모듈(107)은 플로우 룰 응답 메시지를 이더넷 패킷을 하드웨어적으로 생성한다.
도 3은 본 발명의 일 실시예에 따른 제어 장치의 상세 구조를 보여주는 블록도이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제어 장치(100)는 네트워크 인터페이스 하드웨어 모듈(105), 하드웨어 가속 모듈(107), 중앙 처리 유닛(central processing unit, CPU)(150), 저장 하드웨어 모듈(160)을 포함한다.
프로토콜 헤더 제거 처리 하드웨어 모듈(105)는 이더넷 패킷으로부터 헤더를 하드웨어적으로 제거하여 플로우 룰 요구 메시지를 얻는다.
하드웨어 가속 모듈(107)은 프로토콜 처리 하드웨어 모듈(110), 암호화 처리 하드웨어 모듈(120), 메시지 파싱 하드웨어 모듈(130), 하드웨어 큐 모듈(140) 및 패킷 오더링 하드웨어 모듈(170)을 포함한다.
하드웨어 큐 모듈(140)은 선입선출(first in first out, FIFO)에 따라 동작할 수 있다.
프로토콜 처리 하드웨어 모듈(110)은 프로토콜 헤더 제거 처리 하드웨어 모듈(111)과 프로토콜 헤더 부가 처리 하드웨어 모듈(112)을 포함한다. 프로토콜 처리 하드웨어 모듈(110)은 이더넷 프로토콜(Ethernet protocol), 전송 제어 프로토콜(transmission control protocol, TCP), 인터넷 프로토콜(internet protocol, IP)의 일부 또는 전체를 처리한다.
암호화 처리 하드웨어 모듈(120)은 암호 해독 하드웨어 모듈(decryption hardware module)(121)과 암호화 하드웨어 모듈(encryption hardware module)(122)을 포함한다.
하드웨어 큐 모듈(140)은 수신 큐 하드웨어 모듈(141)과 송신 큐 하드웨어 모듈(142)을 포함한다. 수신 큐 하드웨어 모듈(141)은 선입선출(first in first out, FIFO)에 따라 동작할 수 있다. 송신 큐 하드웨어 모듈(142)은 선입선출(first in first out, FIFO)에 따라 동작할 수 있다.
저장 하드웨어 모듈(160)은 이벤트 처리 소프트웨어 모듈(161), 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162), 플로우 룰 처리 소프트웨어 모듈(163)을 포함한다. 저장 하드웨어 모듈(160)은 하드 디스크, 플레쉬 메모리 등과 같은 비휘발성 저장 장치(non-transitory storage)이다.
다양한 실시예에서, 하드웨어 가속 모듈(107) 내의 모든 엘리먼트가 원 칩으로 구성될 수도 있다. 또한, 하드웨어 가속 모듈(107) 내의 일부의 엘리먼트들이 원 칩으로 구성될 수도 있고, 또 다른 일부의 엘리먼트들이 원칩으로 구성될 수 있다.
다양한 실시예에서, 하드웨어 가속 모듈(107) 내의 모든 엘리먼트가 하드웨어 모듈일 수도 있으나, 일부의 엘리먼트들은 소프트웨어 모듈로 대체될 수도 있다.
도 4은 본 발명의 일 실시예에 따른 네트워크 스위치의 동작을 보여주는 흐름도이다.
네트워크 스위치(200)는 스위칭이 요구되는 타겟 패킷을 수신한다(S11).
네트워크 스위치(200)는 타겟 패킷을 어떻게 스위칭할 지를 묻는 플로우 룰 요구 메시지를 생성한다(S12).
이후, 네트워크 스위치(200)는 프로우 룰 요구 메시지를 포함하는 이더넷 패킷을 생성하고(S13), 생성된 이더넷 패킷을 제어 장치(100)에 전송한다(S14).
플로우 룰 요구 메시지를 포함하는 이더넷 패킷의 구조를 도 5를 참고하여 설명한다.
도 5는 본 발명의 일 실시예에 따른 플로우 룰 요구 메시지를 포함하는 이더넷 패킷의 구조를 보여준다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 플로우 룰 요구 메시지를 포함하는 이더넷 패킷(500)는 이더넷 헤더(501), 이더넷 페이로드(502)를 포함한다.
이더넷 페이로드(502)는 IP 헤더(503)과 IP 페이로드(504)를 포함한다.
IP 페이로드(504)는 TCP 헤더(505)와 TCP 페이로드(506)를 포함한다.
TCP 페이로드(506)는 플로우 룰 요구 메시지(510)를 포함한다.
플로우 룰 요구 메시지(510)는 플로우 룰 요구 메시지 헤더(520)와 플로우 룰 요구 메시지 페이로드(530)를 포함한다.
플로우 룰 요구 메시지 페이로드(530)는 타겟 패킷의 출발지 주소를 담는 데이터 필드(531), 타겟 패킷의 도착지 주소를 담는 데이터 필드(533), 타겟 패킷의 서비스 품질(Quality of Service) 요구 사항을 담는 데이터 필드(535)를 포함하는 데이터 필드 그룹을 포함한다.
다시 도 4를 설명한다.
네트워크 스위치(200)는 플로우 룰 응답 메시지를 포함하는 이더넷 패킷을 제어 장치(100)로부터 수신한다(S15).
네트워크 스위치(200)는 플로우 룰 응답 메시지에 기초하여 타겟 패킷의 스위칭을 수행한다(S16).
도 6와 도 7은 본 발명의 일 실시예에 따른 제어 장치의 동작을 보여주는 흐름도이다.
네트워크 인터페이스 하드웨어 모듈(105)은 네트워크 스위치(200)로부터 플로우 룰 요구 메시지를 포함하는 이더넷 패킷을 수신한다(S101).
프로토콜 헤더 제거 처리 하드웨어 모듈(111)은 수신된 이더넷 패킷으로부터 이더넷 패킷의 헤더를 하드웨어적으로 제거하여 이더넷 패킷의 페이로드로부터 IP 패킷을 얻는다(S103).
프로토콜 헤더 제거 처리 하드웨어 모듈(111)은 IP 패킷으로부터 IP 패킷의 헤더를 하드웨어적으로 제거하여 IP 패킷의 페이로드로부터 TCP 패킷을 얻는다(S105).
프로토콜 헤더 제거 처리 하드웨어 모듈(111)은 TCP 패킷으로부터 TCP 패킷의 헤더를 하드웨어적으로 제거하여 TCP 패킷의 페이로드로부터 플로우 룰 요구 메시지를 얻는다(S107).
암호 해독 하드웨어 모듈(121)은 암호화된 플로우 룰 요구 메시지를 하드웨어적으로 해독하여 해독된 플로우 룰 요구 메시지를 생성한다(S109).
메시지 파싱 하드웨어 모듈(130)은 해독된 플로우 룰 요구 메시지를 하드웨어적으로 파싱하여 하나 이상의 데이터 필드를 포함하는 데이터 필드 그룹을 생성한 후(S111), 생성한 데이터 필드 그룹을 수신 큐 하드웨어 모듈(141)에 저장한다(S113). 메시지 파싱 하드웨어 모듈(130)은 해독된 플로우 룰 요구 메시지를 소프트웨어 정의 네트워크(1)가 사용하는 프로토콜에 따라 하드웨어적으로 파싱할 수 있다. 예컨데, 소프트웨어 정의 네트워크(1)가 사용하는 프로토콜은 오픈플로우(openflow) 프로토콜일 수 있다.
CPU(150)에 의해 구동되는 이벤트 처리 소프트웨어 모듈(161)은 수신 큐 하드웨어 모듈(141) 내의 데이터 필드 그룹을 이벤트로서 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)에 전달한다(S115).
CPU(150)에 의해 구동되는 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 데이터 필드 그룹을 플로우 룰 처리 소프트웨어 모듈(163)에 할당한다(S117). CPU(150)가 멀티 코더 또는 멀리 쓰레드를 가지거나 복수의 CPU(150)가 존재할 때, CPU(150)는 복수의 플로우 룰 처리 소프트웨어 모듈(163)을 실행할 수 있다. 이때, 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 복수의 플로우 룰 처리 소프트웨어 모듈(163)의 부하에 기초하여 복수의 플로우 룰 처리 소프트웨어 모듈(163) 중 하나를 선택하고, 선택된 플로우 룰 처리 소프트웨어 모듈(163)에 데이터 필드 그룹을 할당할 수도 있다. 예컨데, 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 복수의 플로우 룰 처리 소프트웨어 모듈(163) 중에서 최소의 부하를 가지는 플로우 룰 처리 소프트웨어 모듈(163)을 선택하고, 선택된 플로우 룰 처리 소프트웨어 모듈(163)에 데이터 필드 그룹을 할당할 수도 있다.
CPU(150)에 의해 구동되는 플로우 룰 처리 소프트웨어 모듈(163)은 데이터 필드 그룹 내의 하나 이상의 데이터 필드의 정보에 기초하여 플로우 룰 요구 메시지에 해당하는 타겟 패킷을 어떻게 스위칭할 지를 결정한다(S119).
CPU(150)에 의해 구동되는 플로우 룰 처리 소프트웨어 모듈(163)은 플로우 룰 요구 메시지에 해당하는 타겟 패킷을 어떻게 스위칭할 지에 대한 정보를 포함하는 플로우 룰 응답 메시지를 생성한다(S121).
CPU(150)에 의해 구동되는 플로우 룰 처리 소프트웨어 모듈(163)은 플로우 룰 응답 메시지를 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)에 전달한다(123). 이로써, CPU(150)에 의해 구동되는 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 플로우 룰 응답 메시지를 획득한다. CPU(150)가 멀티 코더 또는 멀리 쓰레드를 가지거나 복수의 CPU(150)가 존재할 때, CPU(150)는 복수의 플로우 룰 처리 소프트웨어 모듈(163)을 실행할 수 있다. 이때, 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 복수의 플로우 룰 처리 소프트웨어 모듈(163)로부터 플로우 룰 응답 메시지를 획득할 수 있다.
CPU(150)에 의해 구동되는 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈(162)은 플로우 룰 응답 메시지를 이벤트로서 이벤트 처리 소프트웨어 모듈(161)에 전달한다(S125).
CPU(150)에 의해 구동되는 이벤트 처리 소프트웨어 모듈(161)은 플로우 룰 응답 메시지를 송신 큐 하드웨어 모듈(142)에 저장한다(S127).
패킷 오더링 하드웨어 모듈(170)은 송신 큐 하드웨어 모듈(142)에 저장된 복수의 플로우 룰 응답 메시지의 순서를 하드웨어적으로 변경하여, 변경된 순서로 복수의 플로우 룰 응답 메시지를 하나씩 암호화 하드웨어 모듈(122)에 전달한다(S129).
CPU(150)가 복수의 플로우 룰 처리 소프트웨어 모듈(163)을 실행할 때, 복수의 플로우 룰 응답 메시지의 저장 순서는 요구 순서와 달라질 수 있다. 이에, 패킷 오더링 하드웨어 모듈(170)은 복수의 플로우 룰 응답 메시지의 요구 순서에 기초하여 복수의 플로우 룰 응답 메시지의 순서를 하드웨어적으로 변경할 수 있다.
특히, CPU(150)가 복수의 플로우 룰 처리 소프트웨어 모듈(163)을 실행할 때, 하나의 네트워크 스위치(200)를 위한 복수의 플로우 룰 응답 메시지의 저장 순서 또한 요구 순서와 달라질 수 있다. 이에, 패킷 오더링 하드웨어 모듈(170)은 하나의 네트워크 스위치(200)를 위한 복수의 플로우 룰 응답 메시지의 요구 순서에 기초하여 복수의 플로우 룰 응답 메시지의 순서를 하드웨어적으로 변경할 수 있다.
암호화 하드웨어 모듈(122)은 입력된 플로우 룰 응답 메시지를 하드웨어적으로 암호화하여 암호화된 플로우 룰 응답 메시지를 생성한다(131).
프로토콜 헤더 부가 처리 하드웨어 모듈(112)은 암호화된 플로우 룰 응답 메시지를 포함하는 페이로드에 TCP 헤더를 하드웨어적으로 부가하여 TCP 패킷을 생성한다(S133).
프로토콜 헤더 부가 처리 하드웨어 모듈(112)은 TCP 패킷에 IP 헤더를 하드웨어적으로 부가하여 IP 패킷을 생성한다(S135).
프로토콜 헤더 부가 처리 하드웨어 모듈(112)은 IP 패킷에 이더넷 헤더를 하드웨어적으로 부가하여 이더넷 패킷을 생성한다(S137).
네트워크 인터페이스 하드웨어 모듈(105)은 플로우 룰 응답 메시지를 포함하는 이더넷 패킷을 네트워크 스위치(200)에 전송한다(S139).
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (12)
- 소프트웨어 정의 네트워크 상의 네트워크 스위치를 제어하는 제어 장치에 있어서,
상기 네트워크 스위치로부터 플로우 룰 요구 메시지를 포함하는 이더넷 패킷을 수신하는 네트워크 인터페이스 하드웨어 모듈;
수신 큐 하드웨어 모듈;
상기 수신된 이더넷 패킷으로부터 상기 이더넷 패킷의 헤더를 하드웨어적으로 제거하여 상기 플로우 룰 요구 메시지를 획득하고, 상기 획득된 플로우 룰 요구 메시지를 하드웨어적으로 파싱하여 플로우 룰 요구 데이터를 하드웨어적으로 추출하고, 상기 추출된 플로우 룰 요구 데이터를 상기 수신 큐 하드웨어 모듈에 저장하는 하드웨어 가속 모듈;
중앙 처리 유닛; 및
상기 중앙 처리 유닛에 의해 구동되며, 상기 수신 큐 하드웨어 모듈에 저장된, 상기 플로우 룰 요구 데이터에 대한 응답 데이터를 소프트웨어적으로 생성하는 하나 이상의 소프트웨어 모듈을 포함하는 저장 하드웨어 모듈을 포함하는
제어 장치. - 제1항에 있어서,
상기 하드웨어 가속 모듈은
상기 이더넷 패킷으로부터 헤더를 하드웨어적으로 제거하여 상기 플로우 룰 요구 메시지를 얻는 프로토콜 헤더 제거 처리 하드웨어 모듈과,
상기 플로우 룰 요구 메시지를 하드웨어적으로 해독하여 해독된 플로우 룰 요구 메시지를 생성하는 암호 해독 하드웨어 모듈과,
상기 해독된 플로우 룰 요구 메시지를 하드웨어적으로 파싱하여 하나 이상의 메시지 필드를 포함하는 메시지 필드 그룹을 생성한 후, 생성한 메시지 필드 그룹을 상기 수신 큐 하드웨어 모듈에 저장하는 메시지 파싱 하드웨어 모듈을 포함하는
제어 장치. - 제2항에 있어서,
상기 프로토콜 헤더 제거 처리 하드웨어 모듈은
상기 이더넷 패킷으로부터 상기 이더넷 패킷의 헤더를 하드웨어적으로 제거하여 상기 이더넷 패킷의 페이로드로부터 IP 패킷을 얻고,
상기 IP 패킷의 처리를 통해 상기 IP 패킷의 헤더를 하드웨어적으로 제거하여 상기 IP 패킷의 페이로드로부터 TCP 패킷을 얻고,
상기 TCP 패킷으로부터 상기 TCP 패킷의 헤더를 하드웨어적으로 제거하여 상기 TCP 패킷의 페이로드로부터 상기 플로우 룰 요구 메시지를 얻는
제어 장치. - 제2항에 있어서,
상기 메시지 파싱 하드웨어 모듈은 상기 해독된 플로우 룰 요구 메시지를 상기 소프트웨어 정의 네트워크가 사용하는 프로토콜에 따라 하드웨어적으로 파싱하는
제어 장치. - 제1항에 있어서,
상기 하나 이상의 소프트웨어 모듈은
상기 중앙 처리 유닛에 의해 구동되는 이벤트 처리 소프트웨어 모듈과,
상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈과,
상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 모듈을 포함하고,
상기 이벤트 처리 소프트웨어 모듈은 상기 수신 큐 하드웨어 모듈 내의 플로우 룰 요구 데이터를 이벤트로서 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈에 전달하고,
상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 플로우 룰 요구 데이터를 상기 플로우 룰 처리 소프트웨어 모듈에 할당하고,
상기 플로우 룰 처리 소프트웨어 모듈은 상기 플로우 룰 요구 데이터에 기초하여 패킷을 어떻게 스위칭할 지에 대한 정보를 포함하는 플로우 룰 응답 데이터를 생성하는
제어 장치. - 제5항에 있어서,
복수의 플로우 룰 처리 소프트웨어 모듈이 실행될 때, 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 상기 복수의 플로우 룰 처리 소프트웨어 모듈의 부하에 기초하여 상기 복수의 플로우 룰 처리 소프트웨어 모듈 중 하나를 선택하고, 선택된 플로우 룰 처리 소프트웨어 모듈에 상기 플로우 룰 요구 데이터를 할당하는
제어 장치. - 소프트웨어 정의 네트워크 상의 네트워크 스위치를 제어하는 제어 장치에 있어서,
중앙 처리 유닛;
송신 큐 하드웨어 모듈;
상기 중앙 처리 유닛에 의해 구동되며, 상기 네트워크 스위치로부터 수신된 플로우 룰 요구 데이터에 대한 플로우 룰 응답 메시지를 소프트웨어적으로 생성하여 상기 송신 큐 하드웨어 모듈에 저장하는 하나 이상의 소프트웨어 모듈을 포함하는 저장 하드웨어 모듈;
상기 플로우 룰 응답 메시지를 하드웨어적으로 암호화하고, 상기 암호화된 플로우 룰 응답 메시지에 프로토콜 헤더를 하드웨어적으로 부가하여, 상기 플로우 룰 응답 메시지를 포함하는 이더넷 패킷을 하드웨어적으로 생성하는 하드웨어 가속 모듈; 및
상기 네트워크 스위치에 상기 플로우 룰 응답 메시지를 포함하는 상기 이더넷 패킷을 전송하는 네트워크 인터페이스 하드웨어 모듈을 포함하는
제어 장치. - 제7항에 있어서,
상기 하나 이상의 소프트웨어 모듈은
상기 중앙 처리 유닛에 의해 구동되는 이벤트 처리 소프트웨어 모듈과,
상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈과,
상기 중앙 처리 유닛에 의해 구동되는 플로우 룰 처리 소프트웨어 모듈을 포함하고,
상기 플로우 룰 처리 소프트웨어 모듈은 상기 플로우 룰 응답 메시지를 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈에 전달하고,
상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 상기 플로우 룰 응답 메시지를 이벤트로서 상기 이벤트 처리 소프트웨어 모듈에 전달하고,
상기 이벤트 처리 소프트웨어 모듈은 상기 플로우 룰 응답 메시지를 상기 송신 큐 하드웨어 모듈에 저장하는
제어 장치. - 제8항에 있어서,
복수의 플로우 룰 처리 소프트웨어 모듈이 실행될 때, 상기 플로우 룰 처리 소프트웨어 관리 소프트웨어 모듈은 상기 복수의 플로우 룰 처리 소프트웨어 모듈로부터 플로우 룰 응답 메시지를 획득하는
제어 장치. - 제7항에 있어서,
상기 하드웨어 가속 모듈은
상기 송신 큐 하드웨어 모듈에 저장된 복수의 플로우 룰 응답 메시지의 순서를 하드웨어적으로 변경하여, 변경된 순서로 복수의 플로우 룰 응답 메시지를 하나씩 출력하는 패킷 오더링 하드웨어 모듈과,
상기 플로우 룰 응답 메시지를 하드웨어적으로 암호화하여 상기 암호화된 플로우 룰 응답 메시지를 생성하는 암호화 하드웨어 모듈과,
상기 암호화된 플로우 룰 응답 메시지에 상기 프로토콜 헤더를 하드웨어적으로 부가하여 상기 플로우 룰 응답 메시지를 포함하는 이더넷 패킷을 생성하는 프로토콜 헤더 부가 처리 하드웨어 모듈을 포함하는
제어 장치. - 제10항에 있어서,
상기 패킷 오더링 하드웨어 모듈은 상기 복수의 플로우 룰 응답 메시지의 요구 순서에 기초하여 상기 복수의 플로우 룰 응답 메시지의 순서를 하드웨어적으로 변경하는
제어 장치. - 제10항에 있어서,
상기 프로토콜 헤더 부가 처리 하드웨어 모듈은
상기 암호화된 플로우 룰 응답 메시지를 포함하는 페이로드에 TCP 헤더를 하드웨어적으로 부가하여 TCP 패킷을 생성하고,
상기 TCP 패킷에 IP 헤더를 하드웨어적으로 부가하여 IP 패킷을 생성하고,
상기 IP 패킷에 이더넷 헤더를 하드웨어적으로 부가하여 상기 이더넷 패킷을 생성하는
제어 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130137087A KR101491699B1 (ko) | 2013-11-12 | 2013-11-12 | 소프트웨어 정의 네트워킹에서 제어 장치 및 그 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130137087A KR101491699B1 (ko) | 2013-11-12 | 2013-11-12 | 소프트웨어 정의 네트워킹에서 제어 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101491699B1 true KR101491699B1 (ko) | 2015-02-11 |
Family
ID=52591837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130137087A KR101491699B1 (ko) | 2013-11-12 | 2013-11-12 | 소프트웨어 정의 네트워킹에서 제어 장치 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101491699B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180107932A (ko) | 2017-03-23 | 2018-10-04 | 한국과학기술원 | 소프트웨어 정의 네트워크에서의 악성 프로그램 탐지 장치, 방법 및 컴퓨터 프로그램 |
CN115097994A (zh) * | 2021-10-30 | 2022-09-23 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
KR20230103043A (ko) * | 2021-12-31 | 2023-07-07 | 주식회사 에프아이시스 | 네트워킹을 가속화하는 패킷 전송 시스템 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050063799A (ko) * | 2002-10-30 | 2005-06-28 | 패킷프론트 스웨덴 에이비 | 소프트웨어 및 하드웨어 패킷 플로우 포워딩을 위한 방법,라우터 또는 스위치 |
US20130124707A1 (en) * | 2011-11-10 | 2013-05-16 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
-
2013
- 2013-11-12 KR KR20130137087A patent/KR101491699B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050063799A (ko) * | 2002-10-30 | 2005-06-28 | 패킷프론트 스웨덴 에이비 | 소프트웨어 및 하드웨어 패킷 플로우 포워딩을 위한 방법,라우터 또는 스위치 |
US20130124707A1 (en) * | 2011-11-10 | 2013-05-16 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180107932A (ko) | 2017-03-23 | 2018-10-04 | 한국과학기술원 | 소프트웨어 정의 네트워크에서의 악성 프로그램 탐지 장치, 방법 및 컴퓨터 프로그램 |
CN115097994A (zh) * | 2021-10-30 | 2022-09-23 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
KR20230103043A (ko) * | 2021-12-31 | 2023-07-07 | 주식회사 에프아이시스 | 네트워킹을 가속화하는 패킷 전송 시스템 및 방법 |
KR102716914B1 (ko) * | 2021-12-31 | 2024-10-15 | 주식회사 베스티안 | 네트워킹을 가속화하는 패킷 전송 시스템 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11792046B2 (en) | Method for generating forwarding information, controller, and service forwarding entity | |
JP6670109B2 (ja) | ネットワーク内のスケーラブルなフロー及び輻輳制御 | |
CN105723657B (zh) | 交换机、控制器、系统及链路质量检测方法 | |
JP2020508004A (ja) | パケット処理方法および装置 | |
Li et al. | Improving SDN scalability with protocol-oblivious source routing: A system-level study | |
US10389623B2 (en) | Packet data network, a method for operating a packet data network and a flow-based programmable network device | |
US9125089B2 (en) | Method and apparatus for packet aggregation in a network controller | |
US20120287782A1 (en) | Programmable and high performance switch for data center networks | |
Luo et al. | Enhancing responsiveness and scalability for OpenFlow networks via control-message quenching | |
US20150256459A1 (en) | Packet processing method and apparatus | |
US20150341235A1 (en) | Packet Processing Method, Forwarder, Packet Processing Device, and Packet Processing System | |
WO2017045501A1 (zh) | 一种报文调度方法和装置、存储介质 | |
US20150229574A1 (en) | Communication system, communication method, information processing apparatus, communication control method, and program | |
KR101491699B1 (ko) | 소프트웨어 정의 네트워킹에서 제어 장치 및 그 동작 방법 | |
JP2009027400A (ja) | 過大フロー検出装置、過大フロー検出回路、端末装置及びネットワークノード | |
CN106209401B (zh) | 一种传输方法及装置 | |
US10951520B2 (en) | SDN, method for forwarding packet by SDN, and apparatus | |
US20160226777A1 (en) | Generating And/Or Receiving At Least One Packet To Facilitate, At Least In Part, Network Path Establishment | |
US20160134522A1 (en) | Data flow processing method, device, and system | |
US9847929B2 (en) | Cluster and forwarding method | |
US20170244638A1 (en) | Control apparatus, control method and control system | |
KR20140122171A (ko) | 네트워크 모니터링 및 패킷 검사 장치 및 방법 | |
US20080159320A1 (en) | Layer 3 switch device and its control method | |
CN113615249B (zh) | 基于时延的对漫游事件的动态优先级排序 | |
JP2016039467A (ja) | パケット優先制御システムおよびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |