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 PDF

Info

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
Application number
KR1020100093827A
Other languages
Korean (ko)
Other versions
KR101145389B1 (en
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 KR1020100093827A priority Critical patent/KR101145389B1/en
Publication of KR20120032267A publication Critical patent/KR20120032267A/en
Application granted granted Critical
Publication of KR101145389B1 publication Critical patent/KR101145389B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A central studio network structure, control method, and network switching apparatus are provided to expand roles of a switching apparatus by distributing roles of a network control unit in a central studio network structure. CONSTITUTION: A flow classification unit classifies input packets according to each flow(315). A table management unit searches a flow group table in case the flow corresponding to the packet is not existed in the flow table(325, 330). In case the flow included in the flow group is existed in the flow group table, a packet processing unit applies the packet at an action corresponding to the flow group(335, 355).

Description

분산화를 통한 확장성 있는 중앙 집중식 네트워크 구조 및 제어 방법과 이를 위한 네트워크 스위칭 장치{Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor}Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor}

본 발명은 네트워크 구조에 관한 것으로 보다 상세하게는 중앙 집중식 네트워크 구조 및 제어 방법과 이를 위한 네트워크 스위칭 장치에 관한 것이다.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 network switching device 20 according to an embodiment of the present invention.
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 network switching device 20 is connected to the network control unit 10 via a network and is controlled by the network control unit 10. The network control unit 10 and the plurality of network switching devices 20 form a network control domain, and the network control unit 10 independently determines a path connection and instructs each switching device without a complicated routing protocol. That is, each network switching device 20 processes the packet according to the instruction of the network controller 10 when a packet is input from the network.

다만, 패킷에 해당하는 플로우가 플로우 테이블에 등록되어 있거나 플로우 집합 테이블에 등록되어 있는 경우 네트워크 제어부(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 network controller 10. Process packets according to the information.

즉, 네트워크 스위칭 장치(20)는 네트워크로부터 입력되는 패킷을 패킷의 헤더 정보를 바탕으로 플로우 별로 분류하고, 플로우 별로 취할 액션 정보가 저장된 플로우 테이블을 관리하며, 플로우 테이블에 등록되어 있는 플로우에 해당하는 패킷들에 대해서는 네트워크 제어부(10)이 지시를 받지 않고 스위칭 장치(20)가 직접 처리함으로써 전송의 효율성을 제공한다. 또한, 네트워크 스위칭 장치(20)는 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 관리하며, 플로우 테이블에 등록되어 있지 않지만 플로우 집합 테이블에 등록되어 있는 플로우 집합에 속하는 플로우에 해당하는 패킷들에 대해서는 네트워크 제어부(10)이 지시를 받지 않고 스위칭 장치(20)가 직접 처리한다. That is, the network switching device 20 classifies a packet input from the network for each flow based on the header information of the packet, manages a flow table storing action information to be taken for each flow, and corresponds to a flow registered in the flow table. For packets, the network controller 10 directly processes the switching device 20 without receiving an instruction, thereby providing efficiency of transmission. In addition, the network switching device 20 manages a flow set table in which action information on flow sets representing a plurality of flows related to each other is stored, and belongs to a flow set not registered in the flow table but registered in the flow set table. The network controller 10 directly processes the packets corresponding to the flow without being instructed by the network controller 10.

도 2는 본 발명의 일 실시예에 따른 네트워크 스위칭 장치(20)의 블록도를 나타낸다. 도 2를 참조하면, 일 실시예에 따른 네트워크 스위칭 장치(20)는 플로우 분류부(21), 테이블 저장부(22), 테이블 관리부(23), 패킷 처리부(24)를 포함하여 이루어진다. 도시되지는 않았으나, 네트워크 스위칭 장치(20)는 복수 개의 포트를 구비하며, 각 포트마다 MAC(Media Access Control)을 가질 수 있다.2 shows a block diagram of a network switching device 20 according to an embodiment of the present invention. Referring to FIG. 2, the network switching device 20 according to an embodiment includes a flow classification unit 21, a table storage unit 22, a table management unit 23, and a packet processing unit 24. Although not shown, the network switching device 20 may include a plurality of ports, and each port may have a media access control (MAC).

플로우 분류부(21)는 네트워크로부터 입력되는 패킷을 패킷의 헤더 정보를 바탕으로 플로우 별로 분류한다. 플로우 분류부(21)는 통상적인 컴퓨팅 환경에서의 데이터 비교 및 연산을 위한 프로세서(processor)와 작업에 필요한 데이터를 적재하고 가공할 수 있는 메모리(memory)로 구현될 수 있다.The flow classifying unit 21 classifies a packet input from the network for each flow based on the header information of the packet. The flow classifying unit 21 may be implemented as a processor for data comparison and calculation in a typical computing environment and a memory capable of loading and processing data necessary for a task.

테이블 저장부(22)는 플로우 별로 취할 액션 정보가 저장된 플로우 테이블 및 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장한다.The table storage unit 22 stores a flow table in which action information to be taken for each flow is stored and a flow set table in which action information for a flow set representing a plurality of flows related to each other is stored.

테이블 저장부(22)는 데이터를 읽고 쓰는 것이 가능한 데이터 저장소로서, 데이터 저장소는 RAM(random access memory), 플래시 메모리(flash memory), 하드 디스크, 플로피 디스크, 컴팩트 디스크, 비디오 디스크 또는 광 기록 매체 등을 포함한다. The table storage unit 22 is a data storage capable of reading and writing data, and the data storage may include random access memory (RAM), flash memory, hard disk, floppy disk, compact disk, video disk, or optical recording medium. It includes.

테이블 관리부(23)는 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 판단하고, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않는 경우 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하는지 판단한다.The table manager 23 determines whether a flow corresponding to the packet exists in the flow table, and when the flow corresponding to the packet does not exist in the flow table, the flow set to which the flow corresponding to the packet belongs in the flow set table. Determine if it exists.

테이블 관리부(23) 역시 통상적인 컴퓨팅 환경에서의 데이터 비교 및 연산을 위한 프로세서(processor)와 작업에 필요한 데이터를 적재하고 가공할 수 있는 메모리(memory)로 구현될 수 있다.The table manager 23 may also be implemented as a processor for comparing and computing data in a typical computing environment, and a memory capable of loading and processing data necessary for a task.

패킷 처리부(24)는 테이블 관리부(23)의 판단 결과에 따라서, 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하면 해당 액션을 적용하고, 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하면 해당 액션을 적용한다. 만일 플로우 테이블 및 플로우 집합 테이블에 상기 패킷에 해당하는 플로우 및 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부(10)로 전송함으로써 액션 정보를 요청한다. If the flow corresponding to the packet exists in the flow table according to the determination result of the table manager 23, the packet processing unit 24 applies the corresponding action, and the flow set to which the flow corresponding to the packet belongs is included in the flow set table. If present, the action is applied. If a flow and a flow set corresponding to the packet do not exist in the flow table and the flow set table, action information is requested by transmitting the packet to the network controller 10.

패킷 처리부(24) 역시 통상적인 컴퓨팅 환경에서의 데이터 비교 및 연산을 위한 프로세서(processor)와 작업에 필요한 데이터를 적재하고 가공할 수 있는 메모리(memory)로 구현될 수 있다.The packet processor 24 may also be implemented as a processor for data comparison and operation in a typical computing environment and a memory capable of loading and processing data necessary for a task.

도 3은 본 발명의 일 실시예에 따른 중앙 집중식 네트워크 제어 방법의 흐름도를 나타낸다. 도 2에 도시된 네트워크 스위칭 장치(20)는 이하 도 3을 참조하여 보다 구체적으로 설명된다.3 is a flowchart illustrating a centralized network control method according to an embodiment of the present invention. The network switching device 20 shown in FIG. 2 is described in more detail with reference to FIG. 3 below.

310단계에서 네트워크로부터 네트워크 스위칭 장치(20)로 패킷이 입력된다. In step 310, a packet is input from the network to the network switching device 20.

그러면, 플로우 분류부(21)는 상기 패킷의 헤더 정보를 바탕으로 패킷을 플로우 별로 분류한다(315단계).Then, the flow classifying unit 21 classifies the packet for each flow based on the header information of the packet (step 315).

여기서, 플로우란 트래픽을 구성하는 패킷들에 대하여 패킷의 헤더 정보에 담겨 있는 속성을 식별자로 하여 특정되는 엔드-투-엔드(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 table storage unit 22 stores a flow table in which action information to be taken for each flow is stored. 4 is an example of a flow table. The flow table manages a port number for outputting a packet as action information to be taken for each flow. For example, the header information of the packet is 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 The action information for the flow with nw_proto = 7, tp_src = 20, and tp_dst = 80 is “output: 1”, which means to output the packet to port 1.

여기서, 액션 정보로는 패킷의 "폐기(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 network switching device 20, or "Output to all ports except the port where the packet came in", and so on. Alternatively, the network switching device 20 maintains / manages a plurality of forwarding tables according to a protocol agreed with other network switching devices, and refers to a specific forwarding table as action information for packets corresponding to a given flow or set of flows. To determine the path. In this case, the network switching devices operate in the same way as the existing distributed network path determining method by exchanging information according to an agreed protocol.

패킷이 플로우 별로 분류되면, 테이블 관리부(23)는 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는지 여부를 판단하기 위하여 플로우 테이블을 검색한다(320단계).When the packet is classified by flow, the table manager 23 searches the flow table to determine whether a flow corresponding to the packet exists in the flow table (step 320).

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 step 325, the flow proceeds to step 355, and the packet processor 24 applies an action corresponding to the flow in the flow table to the packet. For example, if a packet is 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, if tp_src = 20 and tp_dst = 80, the packet is output to port 1.

325단계에서 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하지 않으면, 330단계로 진행하여 테이블 관리부(23)는 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하는지 판단하기 위하여 플로우 집합 테이블을 검색한다. If the flow corresponding to the packet does not exist in the flow table in step 325, the flow proceeds to step 330 and the table manager 23 determines the flow set to determine whether a flow set to which the flow corresponding to the packet belongs exists in the flow set table. Search for a table.

335단계에서 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속한 플로우 집합이 존재하면, 355단계로 진행하여 패킷 처리부(24)는 플로우 집합 테이블의 해당 플로우 집합에 대응된 액션을 상기 패킷에 적용한다. If there is a flow set to which the flow corresponding to the packet exists in the flow set table in step 335, the flow proceeds to step 355, and the packet processor 24 applies an action corresponding to the flow set in the flow set table to the packet.

도 2를 참조하면, 테이블 저장부(22)는 서로 관련성 있는 복수의 플로우를 나타내는 플로우 집합에 대한 액션 정보가 저장된 플로우 집합 테이블을 저장한다. 플로우 테이블에 등록되어 있지 않은 플로우가 들어오는 경우에 매번 네트워크 제어부(10)에 요청하여 지시를 받아 처리하는 경우 확장성에 제한이 될 수 있다. 따라서 본 발명의 일 실시예서는, 서로 관련성이 있는 플로우들에 대해서는 동일한 액션을 적용하는 것이 가능하다는 점에 착안하여, 서로 관련성이 있는 복수의 플로우를 묶어 플로우 집합으로 나타내고 이 플로우 집합에 속하는 플로우들에 대해서는 동일한 액션을 적용하도록 함으로써 확장성을 제공한다. Referring to FIG. 2, the table storage unit 22 stores a flow set table in which action information on flow sets representing a plurality of flows related to each other is stored. When a flow that is not registered in the flow table is received, the network controller 10 may request a network controller 10 to receive an instruction and process it, thereby limiting scalability. Therefore, in an embodiment of the present invention, in view of the fact that it is possible to apply the same action to flows that are related to each other, a plurality of flows that are related to each other are collectively represented as a flow set and flows belonging to the flow set. For x, extensibility is provided by applying the same action.

여기서, '관련성이 있는 경우'의 일 예로, 패킷의 헤더 정보 중 특정 일부 항목이 일치하는 경우를 들 수 있다. 예를 들어 목적지 주소가 특정 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 port 1 for flows having a destination IP address of 5.0.0.0 and a netmask of 8 (255.0.0.0).

플로우 집합의 다른 일 예로서, 송신자와 수신자가 동일한 플로우들을 하나의 플로우 집합으로 묶어 동일한 액션을 적용할 수 있다. 도 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 port 1 for flows with a sender address of 1.1.1.1 and a receiver address of 2.2.2.2. When a flow comes in with a sender address of 1.1.1.1 and a receiver address of 2.2.2.2, it first searches the flow table and processes the flow and action information accordingly if it exists, and if it does not exist in the flow table, It retrieves the result and outputs the packet to port 1.

만일, 송신자 주소와 수신자 주소가 동일하지만 플로우 테이블에 등록되어 있지 않은 플로우가 들어오는 경우 플로우 테이블에만 의존하면 네트워크 제어부(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 network controller 10 needs to process and receive an instruction. For example, when two end A and B exchange data through port 80, the data is exchanged through port 81, a new flow table entry corresponding thereto is required, and the network switching device 20 transmits the data to the network controller 10. ). However, if the flow set and action information corresponding to the two end points A and B are registered in the flow set table, the network switching device 20 can directly process the network control unit 10 without inquiring.

다시 도 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 step 335, the process proceeds to step 340 and the packet processing unit 24 requests the network control unit 10 to instruct it by transmitting the packet to the network control unit 10. .

패킷을 수신한 네트워크 제어부(10)는 수신된 패킷에 해당하는 플로우에 대한 액션 정보 또는 수신된 패킷에 해당하는 특정 플로우 집합에 대한 액션 정보를 네트워크 스위칭 장치(20)로 전송한다. The network controller 10 receiving the packet transmits the action information on the flow corresponding to the received packet or the action information on the specific flow set corresponding to the received packet to the network switching device 20.

네트워크 스위칭 장치(20)는 네트워크 제어부(10)로부터 플로우 또는 플로우 집합에 대한 액션 정보를 수신한다(345단계). 그러면 네트워크 스위칭 장치(20)의 테이블 관리부(23)는 수신된 플로우 정보와 해당 액션 정보 또는 수신된 플로우 집합 정보와 해당 액션 정보를 플로우 테이블 또는 플로우 집합 테이블에 추가함으로써 플로우 테이블 또는 플로우 집합 테이블을 업데이트한다(350단계). 물론, 네트워크 제어부(10)는 플로우에 대한 액션 정보만 네트워크 스위칭 장치(20)에 제공할 수도 있고, 플로우 집합에 대한 액션 정보만 네트워크 스위칭 장치(20)에 제공할 수도 있으며, 플로우와 플로우 집합 모두에 대한 액션 정보를 네트워크 스위칭 장치(20)에 제공할 수도 있다. 네트워크 스위칭 장치(20)는 수신된 정보에 따라서 플로우 테이블 또는 플로우 집합 테이블을 업데이트하게 된다.The network switching device 20 receives the action information on the flow or the flow set from the network controller 10 (step 345). Then, the table manager 23 of the network switching device 20 updates the flow table or the flow set table by adding the received flow information and the corresponding action information or the received flow set information and the corresponding action information to the flow table or the flow set table. (Step 350). Of course, the network control unit 10 may provide only the action information on the flow to the network switching device 20, may provide only the action information on the flow set to the network switching device 20, both the flow and the flow set Action information on the network switching device 20 may be provided. The network switching device 20 updates the flow table or the flow aggregation table according to the received information.

플로우 테이블 또는 플로우 집합 테이블이 업데이트되면, 패킷 처리부(24)는 패킷에 액션을 적용한다(355단계).When the flow table or the flow set table is updated, the packet processing unit 24 applies the action to the packet (step 355).

한편, 네트워크 제어부(10)는 필요에 따라서 네트워크 스위칭 장치(20)가 유지/관리하는 플로우 테이블 또는 플로우 집합 테이블을 수정하거나 업데이트하도록 할 수 있다. 네트워크 제어부(10)는 네트워크의 주기적인 모니터링을 통하여 플로우 테이블 또는 플로우 집합 테이블에 따른 패킷 처리가 좋지 않은 결과를 가져올 경우 또는 필요하다고 판단되는 경우 특정 플로우 또는 특정 플로우 집합에 대한 액션을 결정하고 그 결정에 따라서 네트워크 스위칭 장치(20)의 플로우 테이블 또는 플로우 집합 테이블을 갱신할 수 있다. 특정 플로우 또는 플로우 집합에 대한 액션 수정이 필요하다고 판단되면, 해당 네트워크 스위칭 장치(20)에 플로우 테이블 또는 플로우 집합 테이블을 수정할 것을 요청하는 메시지를 전송한다. 플로우 테이블 또는 플로우 집합 테이블의 수정 사항은 네트워크 관리자가 직접 결정하거나, 미리 정의되어 있는 알고리즘에 따라서 결정되도록 할 수 있다.Meanwhile, the network controller 10 may modify or update the flow table or the flow set table maintained by the network switching device 20 as necessary. The network controller 10 determines and determines an action for a specific flow or a specific flow set when it is determined that packet processing according to the flow table or the flow set table results in poor results or is deemed necessary through periodic monitoring of the network. The flow table or the flow set table of the network switching device 20 can be updated accordingly. If it is determined that an action modification for a specific flow or flow set is necessary, the network switching device 20 transmits a message requesting to modify the flow table or flow set table. Modifications to the flow table or flow set table may be determined by the network administrator or may be determined according to a predefined algorithm.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.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.
제1항에 있어서,
상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.
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.
제1항에 있어서
상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부로 전송하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.
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.
제3항에 있어서,
상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.
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.
제3항에 있어서,
상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 중앙 집중식 네트워크 제어 방법.
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.
제6항에 있어서,
상기 패킷 처리부는, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용하는 것을 특징으로 하는 네트워크 스위칭 장치.
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.
제6항에 있어서
상기 패킷 처리부는, 상기 플로우 집합 테이블에 상기 패킷에 해당하는 플로우가 속하는 플로우 집합이 존재하지 않는 경우 상기 패킷을 네트워크 제어부로 전송하는 것을 특징으로 하는 네트워크 스위칭 장치.
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.
제8항에 있어서,
상기 테이블 관리부는 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트하는 것을 특징으로 하는 네트워크 스위칭 장치.
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.
제8항에 있어서,
상기 테이블 관리부는 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트하는 것을 특징으로 하는 네트워크 스위칭 장치.
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.
제11항에 있어서,
상기 네트워크 스위칭 장치는, 상기 플로우 테이블에 상기 패킷에 해당하는 플로우가 존재하는 경우, 상기 패킷에 상기 플로우에 대응하는 액션을 적용하는 것을 특징으로 하는 중앙 집중식 네트워크 구조.
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.
제11항에 있어서,
상기 네트워크 스위칭 장치는, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우와 상기 수신된 액션 정보를 상기 플로우 테이블에 추가함으로써 상기 플로우 테이블을 업데이트하는 것을 특징으로 하는 중앙 집중식 네트워크 구조.
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.
제11항에 있어서,
상기 네트워크 스위칭 장치는, 상기 네트워크 제어부로부터 상기 패킷에 해당하는 플로우 집합에 대한 액션 정보가 수신되면, 상기 패킷에 해당하는 플로우 집합과 상기 수신된 액션 정보를 상기 플로우 집합 테이블에 추가함으로써 상기 플로우 집합 테이블을 업데이트하는 단계를 것을 특징으로 하는 중앙 집중식 네트워크 구조.
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.
제11항에 있어서,
상기 네트워크 제어부는, 특정 플로우 또는 플로우 집합에 대한 액션을 결정하고, 상기 결정에 따라 상기 네트워크 스위칭 장치에 저장된 상기 플로우 테이블 또는 상기 플로우 집합 테이블을 갱신하는 것을 특징으로 하는 중앙 집중식 네트워크 구조.
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.
KR1020100093827A 2010-09-28 2010-09-28 Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor KR101145389B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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