KR20120032267A - Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor - Google Patents
Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor Download PDFInfo
- Publication number
- KR20120032267A KR20120032267A KR1020100093827A KR20100093827A KR20120032267A KR 20120032267 A KR20120032267 A KR 20120032267A KR 1020100093827 A KR1020100093827 A KR 1020100093827A KR 20100093827 A KR20100093827 A KR 20100093827A KR 20120032267 A KR20120032267 A KR 20120032267A
- Authority
- KR
- South Korea
- Prior art keywords
- flow
- packet
- network
- action information
- flow set
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 네트워크 구조에 관한 것으로 보다 상세하게는 중앙 집중식 네트워크 구조 및 제어 방법과 이를 위한 네트워크 스위칭 장치에 관한 것이다.The present invention relates to a network structure, and more particularly, to a centralized network structure and control method and a network switching device therefor.
기존의 네트워크에서 이용되는 패킷의 경로 결정 방법으로, 스위칭 장비 각각에서 동작하는 "합의된 규약 및 알고리즘"에 의한 라우팅 방식이 주로 이용되고 있다. 여기서 각 스위칭 장비는 서로 간에 합의된 규약에 의해 정보를 주고받고, 이를 통해 수집된 상호 간의 연결 정보를 바탕으로 송신 호스트와 수신 호스트 사이의 경로를 결정한다. As a path determining method of a packet used in an existing network, a routing method based on "agreeed protocol and algorithm" operating in each switching device is mainly used. Here, each switching device exchanges information according to the agreement agreed upon with each other, and determines the path between the transmitting host and the receiving host based on the mutual connection information collected therefrom.
이러한 분산형 네트워크 경로 결정 방법은 각각의 스위칭 장비가 합의된 규약에 의해 수집한 네트워크 토폴로지에 대한 정보를 바탕으로 자율적으로 경로를 결정하고 수정하기 때문에 합의된 규약에 따라 각 규약이 제공할 수 있는 수준의 안정성과 확장성을 제공한다. 그러나 인터넷을 통해 사용자들이 주고받는 컨텐츠와 어플리케이션이 다양해지면서 사용자의 QoS(Quality of Service) 요구사항이 다양해졌고, 기존에 미리 약속된 규약을 바탕으로 하는 자율적인 형태의 네트워크 경로 결정 방법에서는 사용자의 요구사항을 제한적으로 만족시킬 수밖에 없다. 이에, 사용자 요구사항을 만족시키기 위한 다양한 변형 알고리즘이 제안되었지만, 다양한 사용자 요구사항을 만족시키기에는 한계가 있으며, 이를 전체 인터넷 환경에서 이용 가능하도록 구현하는 것에는 현실적인 한계가 존재한다. 예를 들어 IP 멀티캐스트의 경우, 기술적인 상세 뿐만 아니라 많은 라우팅 장치들이 이 기능을 탑재하여 판매되고 있으나, 과금이나 트래픽 제어 등이 어렵고 구성이나 관리가 쉽지 않다는 한계로 인해 일반적으로 인터넷 서비스 제공자들은 IP 멀티캐스트 기능을 활용하지 않고 있다.This distributed network path determination method automatically determines and modifies the path based on the information on the network topology collected by the agreed protocol, so that each protocol can provide the protocol according to the agreed protocol. Provides stability and scalability. However, with the diversified contents and applications that users exchange through the Internet, the quality of service (QoS) requirements of users have been diversified, and in the autonomous network path determination method based on the previously promised protocols, user needs There is no limit to satisfying the matter. Accordingly, various modification algorithms have been proposed to satisfy user requirements, but there are limitations to satisfy various user requirements, and there are practical limitations in implementing them to be used in the entire Internet environment. For example, in the case of IP multicast, not only technical details but many routing devices are sold with this function. However, due to the limitations of billing, traffic control, and difficulty in configuration and management, Internet service providers generally use IP. It does not utilize the multicast function.
다양한 측면에서 인터넷이 활용되면서 더욱 복잡해진 사용자 요구사항을 동시에 만족시킬 수 있는 기술의 개발과 실제적인 활용의 한계를 극복할 수 있는 방법에 대한 요구가 지속적으로 발생하고 있다. 이러한 요구를 해결할 방법으로 주목받고 있는 기술 중 하나는, 네트워크에 대한 제어권을 집중된 네트워크 경로 제어 주체가 관리하고 네트워크 경로 제어 주체가 각 스위칭 장비에 동적으로 경로 연결을 지시하는 방식이다. 각 스위칭 장비는 모두 네트워크를 통해 네트워크 제어부와 연결되고, 네트워크 제어부의 제어를 받게 된다. 네트워크 제어부와 다수의 스위칭 장비가 하나의 네트워크 제어 도메인을 형성하며, 복잡한 라우팅 프로토콜 없이 네트워크 제어부에서 단독으로 경로 연결을 결정하여 각 스위칭 장비에 지시하는 형태이다.In various aspects, there is a continuous demand for the development of a technology that can satisfy the more complex user requirements at the same time as the use of the Internet, and how to overcome the limitations of practical use. One of the technologies attracting attention as a way to solve this demand is a method in which a centralized network path control entity manages control of a network and a network path control entity instructs each switching device to dynamically connect a path. Each switching device is connected to a network controller through a network and is controlled by the network controller. A network control unit and a plurality of switching devices form a network control domain, and the network control unit independently determines a path connection and instructs each switching device without a complicated routing protocol.
이와 같은 중앙 집중식 네트워크 제어 구조에 의하면, 네트워크 연결에 대한 모든 정보를 가지고 있는 네트워크 제어부가 각 플로우에 대한 네트워크 경로를 직접 결정하고 이를 스위칭 장비에 지시하게 된다. 네트워크 제어부는 모든 스위칭 장비와 연결을 가지기 때문에 네트워크 토폴로지 뿐 아니라 제어 결과에 따라 플로우가 스위칭 장비에서 처리된 결과를 확인할 수 있다. 따라서 네트워크 제어가 간략하게 되어 각 플로우에 대해서 사용자가 요구하는 QoS를 쉽게 만족시킬 수 있는 장점이 있다. 이러한 장점으로 인해 여러 미래 인터넷 관련 연구에서 중앙 집중식 네트워크 제어 구조가 연구되고 있으며, 많은 양의 데이터를 관리하고 효율성이 중요시되는 데이터센터 네트워크와 같은 환경에 적용하기 위한 연구가 이루어지고 있다. According to such a centralized network control structure, a network controller having all information on network connection directly determines a network path for each flow and instructs the switching equipment. Since the network controller has a connection with all the switching equipment, it is possible to check the result of processing the flow in the switching equipment according to the control result as well as the network topology. Therefore, the network control is simplified, so that the QoS required by the user for each flow can be easily satisfied. Due to these advantages, centralized network control structures are being studied in many future Internet-related studies, and researches are being conducted to manage large amounts of data and apply them to environments such as data center networks where efficiency is important.
그러나 이러한 중앙 집중식 네트워크 제어 구조에 의하면, 인터넷 상에 매우 많은 트래픽이 존재하고, 모든 플로우에 대해서 중앙 집중형 제어 주체가 직접 제어를 해야 하기 때문에 처리 가능한 플로우의 수가 제어 주체의 능력에 따라 제한되는 문제가 있다. 즉, 제어 주체의 성능과 처리량에 따라서 확장성에 문제가 생긴다. However, according to the centralized network control structure, there is a lot of traffic on the Internet, and the number of flows that can be processed is limited according to the capability of the control agent because the centralized control agent must control the flow directly for all flows. There is. In other words, scalability is a problem depending on the performance and throughput of the control principal.
본 발명이 이루고자 하는 기술적 과제는 중앙 집중식 네트워크 제어 구조에서 제어 주체인 네트워크 제어부의 역할의 일부분을 개개의 스위칭 장치로 분산시킴으로써 네트워크 제어의 확장성을 제공할 수 있는 중앙 집중식 네트워크 구조 및 방법, 그리고 중앙 집중식 네트워크 구조를 위한 네트워크 스위칭 장치를 제공하는 데 있다.The technical problem to be achieved by the present invention is a centralized network structure and method that can provide scalability of the network control by distributing a part of the role of the network controller, which is the controlling agent in the centralized network control structure, to individual switching devices, and the central The present invention provides a network switching device for a centralized network structure.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 중앙 집중식 네트워크 제어 방법은, 네트워크로부터 입력되는 패킷을 상기 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하는 단계; 플로우 별로 취할 액션 정보가 저장된 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하는 단계; 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우, 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는지 판단하는 단계; 및 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는 경우, 상기 패킷에 상기 플로우 집합에 대응하는 액션을 적용하는 단계를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the centralized network control method according to the present invention includes: classifying a packet input from a network for each flow based on header information of the packet; Determining whether a flow corresponding to the packet exists in a flow table in which action information to be taken for each flow is stored; If a flow corresponding to the packet does not exist in the flow table, it is determined whether a flow set to which the flow corresponding to the packet belongs exists in a flow set table in which action information about flow sets representing a plurality of flows related to each other is stored. Making; And when a flow set to which the flow corresponding to the packet belongs exists in the flow set table, applying the action corresponding to the flow set to the packet.
상기 제어 방법은, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용하는 단계를 더 포함할 수 있다.The control method may further include applying an action corresponding to the flow to the packet when a flow corresponding to the packet exists in the flow table.
상기 제어 방법은, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부로 전송하는 단계를 더 포함할 수 있다.The control method may further include transmitting the packet to a network controller when there is no flow set to which the flow corresponding to the packet belongs in the flow set table.
상기 제어 방법은, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트하는 단계를 더 포함할 수 있다.The control method may include updating the flow table by adding the flow corresponding to the packet and the received action information to the flow table when the action information on the flow corresponding to the packet is received from the network controller. It may further include.
상기 제어 방법은, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트하는 단계를 더 포함할 수 있다.When the control method receives the action information on the flow set corresponding to the packet from the network controller, the flow set table is updated by adding the flow set corresponding to the packet and the received action information to the flow set table. It may further comprise the step.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 중앙 집중식 네트워크 구조를 위한 네트워크 스위칭 장치는, 네트워크로부터 입력되는 패킷을 상기 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하는 플로우 분류부; 플로우 별로 취할 액션 정보가 저장된 플로우 테이블 및 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장하는 테이블 저장부; 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하는지 판단하는 테이블 관리부; 및 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는 경우, 상기 패킷에 상기 플로우 집합에 대응하는 액션을 적용하는 패킷 처리부를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, a network switching device for a centralized network structure according to the present invention includes: a flow classification unit for classifying a packet input from a network for each flow based on header information of the packet; A table storage unit configured to store a flow table in which action information to be taken for each flow is stored and a flow set table in which action information on flow sets representing a plurality of flows related to each other is stored; It is determined whether a flow corresponding to the packet exists in the flow table. When the flow corresponding to the packet does not exist in the flow table, it is determined whether a flow set to which the flow corresponding to the packet belongs exists in the flow set table. A table manager; And a packet processing unit for applying an action corresponding to the flow set to the packet when the flow set to which the flow corresponding to the packet belongs exists in the flow set table.
상기 패킷 처리부는, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용할 수 있다.The packet processor may apply an action corresponding to the flow to the packet when a flow corresponding to the packet exists in the flow table.
상기 패킷 처리부는, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부로 전송할 수 있다.The packet processor may transmit the packet to the network controller when the flow set to which the flow corresponding to the packet belongs does not exist in the flow set table.
상기 테이블 관리부는 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트할 수 있다.When the table manager receives the action information on the flow corresponding to the packet from the network controller, the table manager may update the flow table by adding the flow corresponding to the packet and the received action information to the flow table.
상기 테이블 관리부는 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트할 수 있다.When the table manager receives the action information on the flow set corresponding to the packet from the network controller, the table manager may update the flow set table by adding the flow set corresponding to the packet and the received action information to the flow set table. Can be.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 중앙 집중식 네트워크 구조는, 플로우 별로 취할 액션 정보가 저장된 플로우 테이블 및 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장하며, 네트워크로부터 입력되는 패킷을 상기 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하는지 판단하고, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는 경우, 상기 패킷에 상기 플로우 집합에 대응하는 액션을 적용하고, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 하기 네트워크 제어부로 전송하는 네트워크 스위칭 장치; 및 상기 패킷이 수신되면, 상기 패킷에 해당하는 플로우에 대한 액션 정보 또는 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보를 결정하여 상기 네트워크 스위칭 장치로 전송하는 네트워크 제어부를 포함하는 것을 특징으로 한다.In order to solve the above technical problem, the centralized network structure according to the present invention stores a flow table storing action information to be taken for each flow and a flow set table storing action information for a flow set representing a plurality of flows related to each other, When a packet input from a network is classified for each flow based on the header information of the packet, it is determined whether a flow corresponding to the packet exists in the flow table, and if a flow corresponding to the packet does not exist in the flow table. It is determined whether a flow set to which a flow corresponding to the packet belongs exists in the flow set table, and if a flow set to which a flow corresponding to the packet belongs exists in the flow set table, the packet corresponds to the flow set. liquid If the application, and the flow table, the flow set belonging to the set flow for the packet does not exist a network switching device to the packet sent to the network controller; And a network controller configured to determine action information on a flow corresponding to the packet or action information on a flow set corresponding to the packet when the packet is received, and transmit the determined action information to the network switching device.
상기 네트워크 스위칭 장치는, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용할 수 있다.When there is a flow corresponding to the packet in the flow table, the network switching device may apply an action corresponding to the flow to the packet.
상기 네트워크 스위칭 장치는, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트할 수 있다.When the network switching device receives the action information on the flow corresponding to the packet from the network controller, the network switching device may update the flow table by adding the flow corresponding to the packet and the received action information to the flow table. have.
상기 네트워크 스위칭 장치는, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트할 수 있다.When the network switching device receives the action information on the flow set corresponding to the packet from the network controller, the network switching device adds the flow set corresponding to the packet and the received action information to the flow set table. You can update it.
상기 네트워크 제어부는, 특정 플로우 또는 플로우 집합에 대한 액션을 결정하고, 상기 결정에 따라 상기 네트워크 스위칭 장치에 저장된 상기 플로우 테이블 또는 상기 플로우 집합 테이블을 갱신할 수 있다.The network controller may determine an action for a specific flow or flow set, and update the flow table or the flow set table stored in the network switching device according to the determination.
상기된 본 발명에 의하면, 중앙 집중식 네트워크 제어 구조에서 네트워크 제어부의 역할을 스위칭 장치로 분산시켜 스위칭 장치의 역할을 확장하며, 동시에 제어 주체인 네트워크 제어부의 부담을 감소시킴으로써 네트워크 제어의 확장성을 제공할 수 있다. According to the present invention described above, in the centralized network control structure, the role of the network controller can be distributed to the switching device to expand the role of the switching device, and at the same time, to provide the scalability of the network control by reducing the burden of the network controller, which is the control agent. Can be.
도 1은 본 발명의 일 실시예에 따른 중앙 집중식 네트워크 구조를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 네트워크 스위칭 장치(20)의 블록도를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 중앙 집중식 네트워크 제어 방법의 흐름도를 나타낸다.
도 4는 플로우 테이블의 일 예이다.
도 5는 일반적인 IP 네트워크에서 이용되는 라우팅 테이블의 일 예이다.
도 6은 도 5의 라우팅 테이블을 가지고 플로우 집합 테이블을 정의한 예이다.
도 7은 도 4를 바탕으로 정의된 플로우 집합 테이블의 예이다.1 illustrates a centralized network structure according to an embodiment of the present invention.
2 shows a block diagram of a
3 is a flowchart illustrating a centralized network control method according to an embodiment of the present invention.
4 is an example of a flow table.
5 is an example of a routing table used in a general IP network.
6 is an example of defining a flow aggregation table with the routing table of FIG. 5.
FIG. 7 is an example of a flow aggregation table defined based on FIG. 4.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, substantially the same components are denoted by the same reference numerals, and redundant description will be omitted. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
도 1은 본 발명의 일 실시예에 따른 중앙 집중식 네트워크 구조를 나타낸다. 1 illustrates a centralized network structure according to an embodiment of the present invention.
각 네트워크 스위칭 장치(20)는 모두 네트워크를 통해 네트워크 제어부(10)와 연결되고, 네트워크 제어부(10)의 제어를 받는다. 네트워크 제어부(10)와 다수의 네트워크 스위칭 장치(20)가 하나의 네트워크 제어 도메인을 형성하며, 복잡한 라우팅 프로토콜 없이 네트워크 제어부(10)에서 단독으로 경로 연결을 결정하여 각 스위칭 장비에 지시한다. 즉, 각 네트워크 스위칭 장치(20)는 네트워크로부터 패킷이 입력되면 네트워크 제어부(10)의 지시에 따라 패킷을 처리한다. Each
다만, 패킷에 해당하는 플로우가 플로우 테이블에 등록되어 있거나 플로우 집합 테이블에 등록되어 있는 경우 네트워크 제어부(10)의 지시를 받지 않고, 플로우 테이블 또는 플로우 집합 테이블의 해당 플로우 또는 해당 플로우 집합에 대응되는 액션 정보에 따라서 패킷을 처리한다. However, when the flow corresponding to the packet is registered in the flow table or registered in the flow set table, the action corresponding to the flow or the flow set in the flow table or the flow set table is not received by the
즉, 네트워크 스위칭 장치(20)는 네트워크로부터 입력되는 패킷을 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하고, 플로우 별로 취할 액션 정보가 저장된 플로우 테이블을 관리하며, 플로우 테이블에 등록되어 있는 플로우에 해당하는 패킷들에 대해서는 네트워크 제어부(10)이 지시를 받지 않고 스위칭 장치(20)가 직접 처리함으로써 전송의 효율성을 제공한다. 또한, 네트워크 스위칭 장치(20)는 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 관리하며, 플로우 테이블에 등록되어 있지 않지만 플로우 집합 테이블에 등록되어 있는 플로우 집합에 속하는 플로우에 해당하는 패킷들에 대해서는 네트워크 제어부(10)이 지시를 받지 않고 스위칭 장치(20)가 직접 처리한다. That is, the
도 2는 본 발명의 일 실시예에 따른 네트워크 스위칭 장치(20)의 블록도를 나타낸다. 도 2를 참조하면, 일 실시예에 따른 네트워크 스위칭 장치(20)는 플로우 분류부(21), 테이블 저장부(22), 테이블 관리부(23), 패킷 처리부(24)를 포함하여 이루어진다. 도시되지는 않았으나, 네트워크 스위칭 장치(20)는 복수 개의 포트를 구비하며, 각 포트마다 MAC(Media Access Control)을 가질 수 있다.2 shows a block diagram of a
플로우 분류부(21)는 네트워크로부터 입력되는 패킷을 패킷의 헤더 정보를 바탕으로 플로우 별로 분류한다. 플로우 분류부(21)는 통상적인 컴퓨팅 환경에서의 데이터 비교 및 연산을 위한 프로세서(processor)와 작업에 필요한 데이터를 적재하고 가공할 수 있는 메모리(memory)로 구현될 수 있다.The
테이블 저장부(22)는 플로우 별로 취할 액션 정보가 저장된 플로우 테이블 및 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장한다.The
테이블 저장부(22)는 데이터를 읽고 쓰는 것이 가능한 데이터 저장소로서, 데이터 저장소는 RAM(random access memory), 플래시 메모리(flash memory), 하드 디스크, 플로피 디스크, 컴팩트 디스크, 비디오 디스크 또는 광 기록 매체 등을 포함한다. The
테이블 관리부(23)는 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하는지 판단한다.The
테이블 관리부(23) 역시 통상적인 컴퓨팅 환경에서의 데이터 비교 및 연산을 위한 프로세서(processor)와 작업에 필요한 데이터를 적재하고 가공할 수 있는 메모리(memory)로 구현될 수 있다.The
패킷 처리부(24)는 테이블 관리부(23)의 판단 결과에 따라서, 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하면 해당 액션을 적용하고, 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하면 해당 액션을 적용한다. 만일 플로우 테이블 및 플로우 집합 테이블에 상기 패킷에 해당하는 플로우 및 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부(10)로 전송함으로써 액션 정보를 요청한다. If the flow corresponding to the packet exists in the flow table according to the determination result of the
패킷 처리부(24) 역시 통상적인 컴퓨팅 환경에서의 데이터 비교 및 연산을 위한 프로세서(processor)와 작업에 필요한 데이터를 적재하고 가공할 수 있는 메모리(memory)로 구현될 수 있다.The
도 3은 본 발명의 일 실시예에 따른 중앙 집중식 네트워크 제어 방법의 흐름도를 나타낸다. 도 2에 도시된 네트워크 스위칭 장치(20)는 이하 도 3을 참조하여 보다 구체적으로 설명된다.3 is a flowchart illustrating a centralized network control method according to an embodiment of the present invention. The
310단계에서 네트워크로부터 네트워크 스위칭 장치(20)로 패킷이 입력된다. In
그러면, 플로우 분류부(21)는 상기 패킷의 헤더 정보를 바탕으로 패킷을 플로우 별로 분류한다(315단계).Then, the
여기서, 플로우란 트래픽을 구성하는 패킷들에 대하여 패킷의 헤더 정보에 담겨 있는 속성을 식별자로 하여 특정되는 엔드-투-엔드(end-to-end) 트래픽의 단위를 의미한다. 여기서, 상기 속성은 예컨대 입력 포트, 송신 호스트 이더넷 주소, 수신 호스트 이더넷 주소, 이더넷 타입, VLAN ID, VLAN 우선순위, 송신 호스트 IP 주소, 수신 호스트 IP 주소, 송신 호스트 포트 번호, 수신 호스트 포트 번호 등일 수 있다. 물론 플로우 구분 방식은 추가적인 패킷 헤더 정보를 이용하여 다양하게 확장 가능하다. Here, the flow refers to a unit of end-to-end traffic specified by using an attribute contained in the header information of the packet for the packets constituting the traffic. Here, the attribute may be, for example, an input port, a sending host Ethernet address, a receiving host Ethernet address, an Ethernet type, a VLAN ID, a VLAN priority, a sending host IP address, a receiving host IP address, a sending host port number, a receiving host port number, and the like. have. Of course, the flow classification method can be variously extended using additional packet header information.
테이블 저장부(22)는 플로우 별로 취할 액션 정보가 저장된 플로우 테이블을 저장한다. 도 4는 플로우 테이블의 일 예로서, 플로우 테이블은 플로우 별로 취할 액션 정보로서 해당 패킷을 출력할 포트 번호를 관리한다. 예컨대, 패킷의 헤더 정보가 in_port=0, dl_src=00:00:00:00:00:11, dl_dst=00:00:00:00:00:22, nw_src=1.1.1.1, nw_dst=2.2.2.2, nw_proto=7, tp_src=20, tp_dst=80인 플로우에 대한 액션 정보는 "output:1"로서, 이는 해당 패킷을 포트 1로 출력하라는 의미이다. The
여기서, 액션 정보로는 패킷의 "폐기(DROP)" 혹은 "전달(FORWARD)"이 될 수 있으며, "전달"의 경우 네트워크 스위칭 장치(20)가 가지는 포트 중 "특정 포트로 출력"이 되거나 또는 "패킷이 들어온 포트를 제외한 모든 포트로 출력" 등이 될 수 있다. 또는, 네트워크 스위칭 장치(20)가 다른 네트워크 스위칭 장치와 합의된 규약에 따른 다수의 포워딩 테이블을 유지/관리하도록 하고, 주어진 플로우 또는 플로우 집합에 해당하는 패킷에 대해 액션 정보로서 특정 포워딩 테이블을 참조하여 경로를 결정하도록 하는 것이다. 이 경우 네트워크 스위칭 장치들은 합의된 규약에 따라 정보를 주고받음으로써 기존의 분산형 네트워크 경로 결정 방법과 동일하게 동작한다.Here, the action information may be "DROP" or "FORWARD" of the packet, and "forwarding" may be "output to a specific port" among the ports of the
패킷이 플로우 별로 분류되면, 테이블 관리부(23)는 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 여부를 판단하기 위하여 플로우 테이블을 검색한다(320단계).When the packet is classified by flow, the
325단계에서 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재한다면, 355단계로 진행하여 패킷 처리부(24)는 플로우 테이블의 해당 플로우에 대응된 액션을 상기 패킷에 적용한다. 예컨대, 패킷이 in_port=0, dl_src=00:00:00:00:00:11, dl_dst=00:00:00:00:00:22, nw_src=1.1.1.1, nw_dst=2.2.2.2, nw_proto=7, tp_src=20, tp_dst=80인 플로우로 분류되면 그 패킷을 포트 1로 출력한다. If there is a flow corresponding to the packet in the flow table in
325단계에서 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않으면, 330단계로 진행하여 테이블 관리부(23)는 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는지 판단하기 위하여 플로우 집합 테이블을 검색한다. If the flow corresponding to the packet does not exist in the flow table in
335단계에서 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하면, 355단계로 진행하여 패킷 처리부(24)는 플로우 집합 테이블의 해당 플로우 집합에 대응된 액션을 상기 패킷에 적용한다. If there is a flow set to which the flow corresponding to the packet exists in the flow set table in
도 2를 참조하면, 테이블 저장부(22)는 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장한다. 플로우 테이블에 등록되어 있지 않은 플로우가 들어오는 경우에 매번 네트워크 제어부(10)에 요청하여 지시를 받아 처리하는 경우 확장성에 제한이 될 수 있다. 따라서 본 발명의 일 실시예서는, 서로 관련성이 있는 플로우들에 대해서는 동일한 액션을 적용하는 것이 가능하다는 점에 착안하여, 서로 관련성이 있는 복수의 플로우를 묶어 플로우 집합으로 나타내고 이 플로우 집합에 속하는 플로우들에 대해서는 동일한 액션을 적용하도록 함으로써 확장성을 제공한다. Referring to FIG. 2, the
여기서, '관련성이 있는 경우'의 일 예로, 패킷의 헤더 정보 중 특정 일부 항목이 일치하는 경우를 들 수 있다. 예를 들어 목적지 주소가 특정 IP 주소인 플로우들을 하나의 플로우 집합으로 구성할 수 있고, 특정 서브넷을 향하는 플로우들을 하나의 플로우 집합으로 구성할 수도 있다. Here, as an example of 'relevance', there is a case in which a certain part of the header information of the packet matches. For example, flows in which the destination address is a specific IP address may be configured in a single flow set, and flows destined for a specific subnet may be configured in a single flow set.
또는 '관련성이 있는 경우'의 다른 예로, 플로우의 문맥(context)을 파악하여 문맥상 관련된 플로우들을 하나의 플로우 집합으로 구성할 수도 이다. 예컨대, P2P 서비스를 이용하는 사용자의 요구를 파악하고 해당 요구와 유사한 요구를 가지는 플로우들을 하나의 플로우 집합으로 구성할 수 있다.Alternatively, as another example of a 'relevant case', the context of a flow may be grasped to configure flows related to the context as a single flow set. For example, a user's request using a P2P service may be identified and flows having a request similar to the request may be configured as a single flow set.
플로우 집합의 일 예로서, 일반적인 IP 네트워크에서 이용되는 서브넷 개념을 활용할 수 있다. 도 5는 일반적인 IP 네트워크에서 이용되는 라우팅 테이블의 일 예이다. 도 5에서, 각 항목(행)은 특정 서브넷을 나타내고 있으며, 해당 서브넷으로 향하는 트래픽에 대해 어느 포트를 통하여 전달할 것인지에 대한 정보를 가지고 있다. 도 5의 라우팅 테이블을 가지고 플로우 집합 테이블을 정의하면 예컨대 도 6에 도시된 바와 같다. 도시된 플로우 집합 테이블은, 목적지 IP 주소와 넷마스크가 플로우 집합 테이블에 등록된 바와 같은 플로우 집합에 대해서는 동일한 액션을 적용함을 의미한다. 예컨대, 목적지 IP 주소가 5.0.0.0 이고 넷마스크가 8(255.0.0.0)인 플로우들에 대해서는 포트 1로 출력할 것을 의미한다. As an example of a flow aggregation, a subnet concept used in a general IP network may be utilized. 5 is an example of a routing table used in a general IP network. In FIG. 5, each item (row) represents a specific subnet and has information on which port to forward traffic for the traffic to that subnet. A flow aggregation table is defined with the routing table of FIG. 5, for example, as shown in FIG. 6. The illustrated flow set table means that the destination IP address and the netmask apply the same action to the flow set as registered in the flow set table. For example, it means outputting to
플로우 집합의 다른 일 예로서, 송신자와 수신자가 동일한 플로우들을 하나의 플로우 집합으로 묶어 동일한 액션을 적용할 수 있다. 도 4에 도시된 플로우 테이블의 각 항목은 송신자 주소 1.1.1.1로부터 수신자 주소 2.2.2.2로 향하는 플로우들에 대한 액션 정보를 담고 있다. 도 7은 도 4를 바탕으로 정의된 플로우 집합 테이블의 예를 나타낸다. 도시된 플로우 집합 테이블은, 송신자 주소가 1.1.1.1이고 수신자 주소가 2.2.2.2인 플로우들에 대해서는 포트 1로 출력할 것을 의미한다. 송신자 주소가 1.1.1.1이고 수신자 주소가 2.2.2.2인 어떤 플로우가 들어오면, 우선 플로우 테이블을 검색하여 해당 플로우 및 액션 정보가 존재하면 그에 따라 처리하고, 플로우 테이블에 존재하지 않는 경우 플로우 집합 테이블을 검색하고, 그 결과 해당 패킷을 포트 1로 출력하게 된다. As another example of the flow set, the sender and the receiver may apply the same action by combining the same flows into one flow set. Each entry in the flow table shown in FIG. 4 contains action information for flows from sender address 1.1.1.1 to receiver address 2.2.2.2. FIG. 7 illustrates an example of a flow aggregation table defined based on FIG. 4. The depicted flow set table means output to
만일, 송신자 주소와 수신자 주소가 동일하지만 플로우 테이블에 등록되어 있지 않은 플로우가 들어오는 경우 플로우 테이블에만 의존하면 네트워크 제어부(10)에 요청하고 지시를 받아 처리하여야 한다. 예컨대 80번 포트를 통해서 데이터를 주고받던 두 종단 A와 B가 81번 포트를 통해서 데이터를 주고받게 되면, 이에 대응하는 새로운 플로우 테이블 엔트리가 필요하고, 네트워크 스위칭 장치(20)는 이를 네트워크 제어부(10)에 문의하여야 한다. 그러나 플로우 집합 테이블에 두 종단 A와 B에 대응하는 플로우 집합 및 액션 정보가 등록되어 있으면 네트워크 제어부(10)에 문의하지 않고 네트워크 스위칭 장치(20)가 직접 처리할 수 있다.If a sender address and a receiver address are the same but flows that are not registered in the flow table are received, if the flow table is dependent only on the flow table, the
다시 도 3을 참조한다. 335단계에서 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않으면, 340단계로 진행하여 패킷 처리부(24)는 상기 패킷을 네트워크 제어부(10)로 전송함으로써 네트워크 제어부(10)의 지시를 요청한다. Reference is again made to FIG. 3. If there is no flow corresponding to the packet in the flow aggregation table in
패킷을 수신한 네트워크 제어부(10)는 수신된 패킷에 해당하는 플로우에 대한 액션 정보 또는 수신된 패킷에 해당하는 특정 플로우 집합에 대한 액션 정보를 네트워크 스위칭 장치(20)로 전송한다. The
네트워크 스위칭 장치(20)는 네트워크 제어부(10)로부터 플로우 또는 플로우 집합에 대한 액션 정보를 수신한다(345단계). 그러면 네트워크 스위칭 장치(20)의 테이블 관리부(23)는 수신된 플로우 정보와 해당 액션 정보 또는 수신된 플로우 집합 정보와 해당 액션 정보를 플로우 테이블 또는 플로우 집합 테이블에 추가함으로써 플로우 테이블 또는 플로우 집합 테이블을 업데이트한다(350단계). 물론, 네트워크 제어부(10)는 플로우에 대한 액션 정보만 네트워크 스위칭 장치(20)에 제공할 수도 있고, 플로우 집합에 대한 액션 정보만 네트워크 스위칭 장치(20)에 제공할 수도 있으며, 플로우와 플로우 집합 모두에 대한 액션 정보를 네트워크 스위칭 장치(20)에 제공할 수도 있다. 네트워크 스위칭 장치(20)는 수신된 정보에 따라서 플로우 테이블 또는 플로우 집합 테이블을 업데이트하게 된다.The
플로우 테이블 또는 플로우 집합 테이블이 업데이트되면, 패킷 처리부(24)는 패킷에 액션을 적용한다(355단계).When the flow table or the flow set table is updated, the
한편, 네트워크 제어부(10)는 필요에 따라서 네트워크 스위칭 장치(20)가 유지/관리하는 플로우 테이블 또는 플로우 집합 테이블을 수정하거나 업데이트하도록 할 수 있다. 네트워크 제어부(10)는 네트워크의 주기적인 모니터링을 통하여 플로우 테이블 또는 플로우 집합 테이블에 따른 패킷 처리가 좋지 않은 결과를 가져올 경우 또는 필요하다고 판단되는 경우 특정 플로우 또는 특정 플로우 집합에 대한 액션을 결정하고 그 결정에 따라서 네트워크 스위칭 장치(20)의 플로우 테이블 또는 플로우 집합 테이블을 갱신할 수 있다. 특정 플로우 또는 플로우 집합에 대한 액션 수정이 필요하다고 판단되면, 해당 네트워크 스위칭 장치(20)에 플로우 테이블 또는 플로우 집합 테이블을 수정할 것을 요청하는 메시지를 전송한다. 플로우 테이블 또는 플로우 집합 테이블의 수정 사항은 네트워크 관리자가 직접 결정하거나, 미리 정의되어 있는 알고리즘에 따라서 결정되도록 할 수 있다.Meanwhile, the
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
Claims (15)
네트워크로부터 입력되는 패킷을 상기 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하는 단계;
플로우 별로 취할 액션 정보가 저장된 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하는 단계;
상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우, 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는지 판단하는 단계; 및
상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는 경우, 상기 패킷에 상기 플로우 집합에 대응하는 액션을 적용하는 단계를 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.As a centralized network control method,
Classifying a packet input from a network for each flow based on header information of the packet;
Determining whether a flow corresponding to the packet exists in a flow table in which action information to be taken for each flow is stored;
If a flow corresponding to the packet does not exist in the flow table, it is determined whether a flow set to which the flow corresponding to the packet belongs exists in a flow set table in which action information about flow sets representing a plurality of flows related to each other is stored. Making; And
And if the flow set to which the flow corresponding to the packet belongs exists in the flow set table, applying the action corresponding to the flow set to the packet.
상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.The method of claim 1,
And if a flow corresponding to the packet exists in the flow table, applying the action corresponding to the flow to the packet.
상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부로 전송하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.The method of claim 1
And if there is no flow set to which the flow corresponding to the packet belongs in the flow set table, transmitting the packet to a network controller.
상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.The method of claim 3,
And when the action information on the flow corresponding to the packet is received from the network controller, updating the flow table by adding the flow corresponding to the packet and the received action information to the flow table. Centralized network control method.
상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.The method of claim 3,
If the action information on the flow set corresponding to the packet is received from the network controller, updating the flow set table by adding the flow set corresponding to the packet and the received action information to the flow set table. Centralized network control method, characterized in that.
네트워크로부터 입력되는 패킷을 상기 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하는 플로우 분류부;
플로우 별로 취할 액션 정보가 저장된 플로우 테이블 및 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장하는 테이블 저장부;
상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하는지 판단하는 테이블 관리부; 및
상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는 경우, 상기 패킷에 상기 플로우 집합에 대응하는 액션을 적용하는 패킷 처리부를 포함하는 것을 특징으로 하는 네트워크 스위칭 장치.A network switching device for a centralized network structure,
A flow classification unit for classifying a packet input from a network for each flow based on the header information of the packet;
A table storage unit configured to store a flow table in which action information to be taken for each flow is stored and a flow set table in which action information on flow sets representing a plurality of flows related to each other is stored;
It is determined whether a flow corresponding to the packet exists in the flow table. When the flow corresponding to the packet does not exist in the flow table, it is determined whether a flow set to which the flow corresponding to the packet belongs exists in the flow set table. A table manager; And
And a packet processing unit for applying an action corresponding to the flow set to the packet when a flow set to which the flow corresponding to the packet exists exists in the flow set table.
상기 패킷 처리부는, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용하는 것을 특징으로 하는 네트워크 스위칭 장치.The method of claim 6,
And the packet processing unit applies an action corresponding to the flow to the packet when a flow corresponding to the packet exists in the flow table.
상기 패킷 처리부는, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부로 전송하는 것을 특징으로 하는 네트워크 스위칭 장치.The method of claim 6
And the packet processing unit transmits the packet to a network controller when there is no flow set to which the flow corresponding to the packet exists in the flow set table.
상기 테이블 관리부는 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트하는 것을 특징으로 하는 네트워크 스위칭 장치.The method of claim 8,
When the table manager receives the action information on the flow corresponding to the packet from the network controller, the table manager updates the flow table by adding the flow corresponding to the packet and the received action information to the flow table. Network switching device.
상기 테이블 관리부는 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트하는 것을 특징으로 하는 네트워크 스위칭 장치.The method of claim 8,
When the table manager receives the action information on the flow set corresponding to the packet from the network controller, the table manager updates the flow set table by adding the flow set corresponding to the packet and the received action information to the flow set table. Network switching device, characterized in that.
플로우 별로 취할 액션 정보가 저장된 플로우 테이블 및 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장하며, 네트워크로부터 입력되는 패킷을 상기 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하는지 판단하고, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는 경우, 상기 패킷에 상기 플로우 집합에 대응하는 액션을 적용하고, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 하기 네트워크 제어부로 전송하는 네트워크 스위칭 장치; 및
상기 패킷이 수신되면, 상기 패킷에 해당하는 플로우에 대한 액션 정보 또는 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보를 결정하여 상기 네트워크 스위칭 장치로 전송하는 네트워크 제어부를 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 구조.As a centralized network structure,
Stores a flow table that stores the action information to be taken for each flow and a flow set table that stores the action information for a flow set representing a plurality of related flows, and classifies packets inputted from the network by flow based on the header information of the packet. Determine whether a flow corresponding to the packet exists in the flow table; and if a flow corresponding to the packet does not exist in the flow table, a flow set to which the flow corresponding to the packet belongs exists in the flow set table If there is a flow set to which the flow corresponding to the packet belongs in the flow set table, the action corresponding to the flow set is applied to the packet, and the flow corresponding to the packet is included in the flow set table. Belonging If the low-set does not exist, the network switching device to the packet sent to the network controller; And
When the packet is received, the centralized network comprising a network control unit for determining the action information for the flow corresponding to the packet or the action information for the flow set corresponding to the packet and transmits it to the network switching device. rescue.
상기 네트워크 스위칭 장치는, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용하는 것을 특징으로 하는 중앙 집중식 네트워크 구조.The method of claim 11,
And the network switching device applies an action corresponding to the flow to the packet when a flow corresponding to the packet exists in the flow table.
상기 네트워크 스위칭 장치는, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트하는 것을 특징으로 하는 중앙 집중식 네트워크 구조.The method of claim 11,
The network switching device updates the flow table by adding the flow corresponding to the packet and the received action information to the flow table when the action information on the flow corresponding to the packet is received from the network controller. Features a centralized network structure.
상기 네트워크 스위칭 장치는, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트하는 단계를 것을 특징으로 하는 중앙 집중식 네트워크 구조.The method of claim 11,
When the network switching device receives the action information on the flow set corresponding to the packet from the network controller, the network switching device adds the flow set corresponding to the packet and the received action information to the flow set table. Centralized network structure, characterized in that the step of updating.
상기 네트워크 제어부는, 특정 플로우 또는 플로우 집합에 대한 액션을 결정하고, 상기 결정에 따라 상기 네트워크 스위칭 장치에 저장된 상기 플로우 테이블 또는 상기 플로우 집합 테이블을 갱신하는 것을 특징으로 하는 중앙 집중식 네트워크 구조.The method of claim 11,
The network controller determines an action for a specific flow or a flow set, and updates the flow table or the flow set table stored in the network switching device according to the determination.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100093827A KR101145389B1 (en) | 2010-09-28 | 2010-09-28 | Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100093827A KR101145389B1 (en) | 2010-09-28 | 2010-09-28 | Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120032267A true KR20120032267A (en) | 2012-04-05 |
KR101145389B1 KR101145389B1 (en) | 2012-05-15 |
Family
ID=46135417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100093827A KR101145389B1 (en) | 2010-09-28 | 2010-09-28 | Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101145389B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9240948B2 (en) | 2012-10-22 | 2016-01-19 | Electronics And Telecommunications Research Institute | Method for managing and sharing symmetric flow and asymmetric flow in duplexed network |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341344B (en) * | 2016-09-21 | 2019-10-11 | 杭州迪普科技股份有限公司 | A kind of flow point class method and apparatus of multichannel process |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7075926B2 (en) | 2000-05-24 | 2006-07-11 | Alcatel Internetworking, Inc. (Pe) | Programmable packet processor with flow resolution logic |
KR100429904B1 (en) * | 2002-05-18 | 2004-05-03 | 한국전자통신연구원 | Router providing differentiated quality-of-service and fast internet protocol packet classification method for the same |
KR100840463B1 (en) * | 2006-12-13 | 2008-06-23 | 주식회사 케이티 | Multiple network interface apparatus and method, and traffic control option information transmission method and network interface selection method in its |
-
2010
- 2010-09-28 KR KR1020100093827A patent/KR101145389B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9240948B2 (en) | 2012-10-22 | 2016-01-19 | Electronics And Telecommunications Research Institute | Method for managing and sharing symmetric flow and asymmetric flow in duplexed network |
US9258239B2 (en) | 2012-10-22 | 2016-02-09 | Electronics And Telecommunications Research Institute | Method for managing and sharing symmetric flow and asymmetric flow in duplexed network |
Also Published As
Publication number | Publication date |
---|---|
KR101145389B1 (en) | 2012-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9450874B2 (en) | Method for internet traffic management using a central traffic controller | |
US9729424B2 (en) | Defining data flow paths in software-defined networks with application-layer traffic optimization | |
US20160134527A1 (en) | System and method for virtual network-based distributed multi-domain routing control | |
US9325609B2 (en) | Segmented source routing in a network | |
JP5944537B2 (en) | Communication path management method | |
JP5850068B2 (en) | Control device, communication system, communication method, and program | |
WO2015039617A1 (en) | Method, system, and device for packet processing | |
US20160094439A1 (en) | Method and apparatus for interface capability and elastic content response encoding in information centric networking | |
JPWO2011162215A1 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, NODE CONTROL METHOD, AND PROGRAM | |
WO2015180040A1 (en) | Flow table management method and relevant device and system | |
JP5754506B2 (en) | Communication system, controller, switch, storage management device, and communication method | |
US10904130B2 (en) | Method for scalable computer network partitioning | |
US20160205023A1 (en) | System and method of flow shaping to reduce impact of incast communications | |
US20190280968A1 (en) | Multicasting system | |
WO2022253087A1 (en) | Data transmission method, node, network manager, and system | |
JP2007074074A (en) | Traffic distribution control apparatus, packet communication network, and program | |
Chen et al. | Scalable and flexible traffic steering for service function chains | |
KR101145389B1 (en) | Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor | |
WO2023071324A1 (en) | Packet forwarding method and apparatus | |
JPWO2014126094A1 (en) | COMMUNICATION SYSTEM, COMMUNICATION METHOD, CONTROL DEVICE, CONTROL DEVICE CONTROL METHOD, AND PROGRAM | |
WO2015039616A1 (en) | Method and device for packet processing | |
CN108075955B (en) | Data processing method and device of backbone network | |
CN109756412A (en) | A kind of data message forwarding method and equipment | |
US20080298366A1 (en) | Agnostic Network Architecture | |
JP6628792B2 (en) | Endpoint Identification Method in Computer Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160610 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 8 |