KR20210016802A - Method for optimizing flow table for network service based on server-client in software defined networking environment and sdn switch thereofor - Google Patents
Method for optimizing flow table for network service based on server-client in software defined networking environment and sdn switch thereofor Download PDFInfo
- Publication number
- KR20210016802A KR20210016802A KR1020190095031A KR20190095031A KR20210016802A KR 20210016802 A KR20210016802 A KR 20210016802A KR 1020190095031 A KR1020190095031 A KR 1020190095031A KR 20190095031 A KR20190095031 A KR 20190095031A KR 20210016802 A KR20210016802 A KR 20210016802A
- Authority
- KR
- South Korea
- Prior art keywords
- flow
- policy
- flow policy
- sdn
- sdn switch
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000006855 networking Effects 0.000 title claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims 2
- 230000006854 communication Effects 0.000 abstract description 115
- 238000004891 communication Methods 0.000 abstract description 111
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 230000009471 action Effects 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- 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/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0826—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
-
- 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/38—Flow based routing
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 소프트웨어 정의 네트워킹(SDN : Software Defined Networking) 기술에 관한 것으로서, 보다 구체적으로 SDN 환경에서 SDN 스위치의 플로우 테이블을 최적화하는 방법 및 이를 위한 SDN 스위치에 관한 것이다.The present invention relates to a software defined networking (SDN) technology, and more specifically, to a method for optimizing a flow table of an SDN switch in an SDN environment and an SDN switch for the same.
소프트웨어 정의 네트워킹(SDN : Software Defined Networking)은 종래의 네트워크 장비를 구성하는 제어 평면(Control Plane)과 데이터 평면(Data Plane)을 서로 분리하여 제어 평면(Control Plane)이 네트워크에 대한 관리, 모니터링, 제어에 관련 전반적인 처리를 담당하는 중앙 집중식 구조의 네트워킹을 말한다. 이때 제어 평면을 'SDN 제어기'라고 칭하며, SND 제어기는 OpenFlow, NetConf와 같이 표준화된 제어 평면 인터페이스를 통해 데이터 평면에 해당하는 네트워크 장비들을 제어할 수 있다. 또한 SDN 제어기는 연결된 네트워크 장비로부터 일괄 취합된 추상화된 네트워크 자원 정보를 사용자에게 제공하며, 이런 추상화된 네트워크 자원 정보를 기반으로 기존의 네트워크보다 성능 최적화된 유연한 네트워크 운용을 가능케 한다. 예를 들어, 대량의 패킷이 SDN 스위치로 유입될 때 SDN 제어기는 이를 감지하고 로드 밸런싱(Load balancing)을 수행하거나, 악성코드가 포함된 패킷이 SDN 스위치를 통해 내부에 유입되는 경우에도 이를 분석하고 사전 차단이 가능하다. 또한, 네트워크 장비들의 연결 정보 자원을 활용해 토폴로지 맵(Topology Map)을 작성하여 네트워크 관리자에게 빠른 장애 탐지, 효율적인 자원 관리 및 정책 적용 등, 네트워크 전체에 대한 높은 가시성을 제공한다. SDN 제어기의 경우 다양한 벤더 솔루션, 오픈소스가 존재하며, 대부분의 SDN 제어기는 ONF(Open Networking Foundation)에서 정의한 OpenFlow 프로토콜 기반으로 네트워크 장비와 통신을 수행한다. Software Defined Networking (SDN) separates the control plane and data plane constituting the conventional network equipment, and the control plane manages, monitors, and controls the network. Networking in a centralized structure that is responsible for the overall processing related to At this time, the control plane is called'SDN controller', and the SND controller can control network equipment corresponding to the data plane through standardized control plane interfaces such as OpenFlow and NetConf. In addition, the SDN controller provides the user with the abstracted network resource information collectively collected from the connected network equipment, and based on this abstracted network resource information, it enables flexible network operation that is more optimized for performance than the existing network. For example, when a large number of packets flow into the SDN switch, the SDN controller detects it and performs load balancing, or analyzes it even if a packet containing malicious code flows into the SDN switch. Pre-blocking is possible. In addition, by creating a topology map using the connection information resources of network equipment, it provides network administrators with high visibility of the entire network, such as fast fault detection, efficient resource management and policy application. In the case of SDN controllers, various vendor solutions and open sources exist, and most SDN controllers communicate with network equipment based on the OpenFlow protocol defined by ONF (Open Networking Foundation).
OpenFlow 표준에서 SDN 제어기는 SDN 스위치와 별도의 제어 채널을 성립하고, SDN 스위치로 유입되는 데이터 패킷 처리를 위한 플로우(Flow) 정책들을 SDN 스위치의 플로우 테이블(Flow Table)에 등록시켜 SDN 스위치의 트래픽을 제어한다. 이때 SDN 제어기의 동작 모드에 따라 두 가지 방식으로 플로우 테이블(Flow Table)에 플로우 정책들을 정의한다. 하나는 Re-Active 방식이고, 다른 하나는 Pro-Active 방식이다. 두 방식은 패킷의 이동 경로를 결정하는 주체가 다르다. Re-Active 방식은 SDN 스위치로부터 특정 패킷 경로에 대한 문의가 오면 SDN 제어기가 토폴로지 맵을 바탕으로 직접 최적 경로를 계산한 뒤, 해당 경로 상에 존재하는 SDN 스위치의 플로우 테이블에 플로우 정책을 등록한다. Pro-Active 방식은 네트워크 관리자 혹은 외부 어플리케이션을 통해 SDN 스위치로 유입되는 패킷에 대한 플로우 정책을 미리 SDN 제어기를 통해 SDN 스위치의 플로우 테이블에 등록한다.In the OpenFlow standard, the SDN controller establishes a separate control channel with the SDN switch and registers the flow policies for processing data packets flowing into the SDN switch in the flow table of the SDN switch to register the traffic of the SDN switch. Control. At this time, flow policies are defined in the flow table in two ways according to the operation mode of the SDN controller. One is Re-Active method and the other is Pro-Active method. The two methods differ in the subject that determines the path of the packet. In the Re-Active method, when an inquiry about a specific packet path comes from the SDN switch, the SDN controller directly calculates the optimal path based on the topology map, and then registers the flow policy in the flow table of the SDN switch existing on the path. In the Pro-Active method, the flow policy for packets flowing into the SDN switch through the network manager or an external application is registered in the flow table of the SDN switch through the SDN controller in advance.
위 두 가지 방식 중 Re-Active 방식으로 SDN 스위치에 플로우 정책을 등록할 때, 어느 한 SDN 스위치에 연결된 N개(N≥2)의 출발지 통신 단말이 다른 SDN 스위치에 연결된 하나의 목적지 통신 단말과 통신을 하는 경우, 목적지 통신 단말과 연결된 SDN 스위치에는 중복된 동작을 수행하는 플로우 정책이 등록된다. 여기서 플로우 정책의 중복이란 동일한 플로우 정책이 중복으로 등록되는 것이 아닌 동일한 동작을 수행하는 플로우 정책이 중복으로 등록되는 것을 의미한다. 도 1 및 도 2를 참조하여 설명하면 다음과 같다.When registering a flow policy on an SDN switch through the Re-Active method among the above two methods, N (N≥2) source communication terminals connected to one SDN switch communicate with one destination communication terminal connected to another SDN switch. In the case of, a flow policy for performing a redundant operation is registered in the SDN switch connected to the destination communication terminal. Here, the overlapping of the flow policy means that the same flow policy is not registered as a duplicate, but that a flow policy that performs the same operation is registered as a duplicate. It will be described with reference to FIGS. 1 and 2 as follows.
도 1은 SDN 기반 네트워크 환경을 나타낸 도면이고, 도 2는 도 1의 제 2 SDN 스위치에 등록되는 플로우 정책을 나타낸 도면이다. 도 1을 참조하면, SDN 제어기(110)에 두 개의 SDN 스위치(120, 130)가 제어 채널을 성립하여 연결되어 있고, 제 1 SDN 스위치(120)에는 두 개의 통신 단말(121, 122)이 연결되어 있으며, 제 2 SDN 스위치(130)에는 하나의 통신 단말(131)이 연결되어 있다. 상기 두 개의 통신 단말(121, 122)이 상기 하나의 통신 단말(131), 즉 목적지 통신 단말(131)과 통신을 하는 경우, 제 2 SDN 스위치(130)의 플로우 테이블에는 도 2에 도시된 바와 같은 플로우 정책이 등록된다.FIG. 1 is a diagram illustrating an SDN-based network environment, and FIG. 2 is a diagram illustrating a flow policy registered in a second SDN switch of FIG. 1. Referring to FIG. 1, two
도 2를 참조하면, 플로우 ID bb01과 플로우 ID bb03은 제 2 SDN 스위치(130)의 1번 포트로 들어온 패킷을 2번 포트로 보내는 동작을 수행하는 플로우 정책으로, 그 두 개의 플로우 정책은 출발지 MAC 주소와 출발지 IP 주소만 다를 뿐, 제 2 SDN 스위치(130)가 수행하는 동작은 동일하다. 플로우 ID bb02와 플로우 ID bbo4는 제 2 SDN 스위치(130)의 2번 포트로 들어온 패킷을 1번 포트로 보내는 동작을 수행하는 플로우 정책으로, 그 두 개의 플로우 정책은 목적지 MAC 주소와 목적지 IP 주소만 다를 뿐, 제 2 SDN 스위치(130)가 수행하는 동작은 동일하다. SDN 제어기(110) 입장에서는 동작은 동일하게 수행하더라도 일부 매칭 조건(Match)이 다르기 때문에 다른 플로우 정책으로 인식하고 고유 플로우 ID를 할당하여 플로우 정책을 관리한다. 그런데, 동일 SDN 스위치에 연결되어 공통의 목적지 통신 단말과 통신을 하고자 하는 통신 단말의 수가 많으면 많을수록, 그리고 목적지 통신 단말에 연결되는 SDN 스위치의 수가 많으면 많을수록, 이에 비례하여 목적지 통신 단말에 연결된 SDN 스위치의 플로우 테이블에는 중복되는 동작을 수행하는 플로우 정책들이 많이 증가할 수밖에 없다. 이와 같이 플로우 정책들이 증가할수록 SDN 스위치의 패킷 처리에도 시간이 많이 소요될 뿐만 아니라 스위치 자체 성능 저하의 원인이 된다. 특히 온라인 게임, 채팅, 클라우드, 음악/영상 스트리밍 서비스와 같은 많은 수의 클라이언트가 외부망을 통해 동일 서버에 접속하게 되는 서버-클라이언트 형태의 네트워크 서비스에서 이 문제점이 주로 발생할 수 있다. Referring to FIG. 2, flow ID bb01 and flow ID bb03 are flow policies that perform an operation of sending a packet from
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 동일한 SDN 스위치에 연결된 복수의 통신 단말이 다른 SDN 스위치에 연결된 공통의 목적지 단말로 통신할 때, 목적지 통신 단말과 연결된 SDN 스위치의 플로우 테이블에 생성되는 중복된 동작을 수행하는 플로우 정책을 하나의 정책으로 최적화하는 방법 및 이를 위한 SDN 스위치를 제공하는데 그 목적이 있다. The present invention has been proposed to solve the above problems, and when a plurality of communication terminals connected to the same SDN switch communicate to a common destination terminal connected to another SDN switch, the flow table of the SDN switch connected to the destination communication terminal An object of the present invention is to provide a method for optimizing a generated flow policy that performs a duplicated operation into one policy and an SDN switch for the same.
일 실시예에 따른 SDN(Software Defined Networking) 스위치에서 플로우 테이블을 최적화하는 방법은, SDN 제어기로 플로우 정책을 요청하고 이에 대한 응답으로 상기 SDN 제어기로부터 플로우 정책을 수신하는 단계; 상기 플로우 테이블에서 상기 수신된 플로우 정책과 동일한 동작을 수행하는 플로우 정책을 식별하는 단계; 및 상기 식별된 플로우 정책과 상기 수신된 플로우 정책의 매칭 필드 항목들 중 상호 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않은 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책으로 재정의하여 상기 플로우 테이블에 등록하는 단계;를 포함한다.A method for optimizing a flow table in a Software Defined Networking (SDN) switch according to an embodiment includes: requesting a flow policy from an SDN controller and receiving a flow policy from the SDN controller in response thereto; Identifying a flow policy that performs the same operation as the received flow policy in the flow table; And a value of a matching field item that matches each other among the matching field items of the identified flow policy and the received flow policy is maintained, and the value of the matching field item that does not match is replaced with a null value to redefine one flow policy. And registering in the flow table.
상기 식별하는 단계는, 상기 플로우 테이블에서 상기 수신된 플로우 정책에 정의된 입/출력 포트 번호와 동일한 입/출력 포트 번호를 갖는 플로우 정책을 상기 동일한 동작을 수행하는 플로우 정책으로 식별할 수 있다.In the identifying step, a flow policy having the same input/output port number as the input/output port number defined in the received flow policy in the flow table may be identified as a flow policy that performs the same operation.
상기 등록하는 단계는, 상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 포함하는 가상 플로우 테이블을 생성하는 단계; 상기 가상 플로우 테이블에서 상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 하나의 플로우 정책으로 재정의하는 단계; 상기 플로우 테이블에서 상기 식별된 플로우 정책을 삭제하고 상기 재정의한 하나의 플로우 정책을 등록하는 단계; 및 상기 가상 플로우 테이블을 삭제하는 단계를 포함할 수 있다.The registering may include creating a virtual flow table including the received flow policy and the identified flow policy; Redefining the received flow policy and the identified flow policy as one flow policy in the virtual flow table; Deleting the identified flow policy from the flow table and registering the redefined one flow policy; And deleting the virtual flow table.
상기 재정의하는 단계는, 상기 수신된 플로우 정책 및 상기 식별된 플로우 정책의 매칭 필드 항목들 중 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않는 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책을 생성할 수 있다. The redefining may include maintaining a value of a matching field item among matching field items of the received flow policy and the identified flow policy, and replacing a value of a matching field item that does not match with a null value, You can create policies.
일 실시예에 따른 플로우 테이블을 최적화하는 SDN(Software Defined Networking) 스위치는, 프로세서; 및 상기 프로세서에 의해 실행 가능한 명령어 및 상기 플로우 테이블을 저장하는 메모리;를 포함하고, 상기 프로세서는, SDN 제어기로 플로우 정책을 요청하고 이에 대한 응답으로 상기 SDN 제어기로부터 플로우 정책을 수신하고; 상기 플로우 테이블에서 상기 수신된 플로우 정책과 동일한 동작을 수행하는 플로우 정책을 식별하며; 상기 식별된 플로우 정책과 상기 수신된 플로우 정책의 매칭 필드 항목들 중 상호 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않은 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책으로 재정의하여 상기 플로우 테이블에 등록할 수 있다.A Software Defined Networking (SDN) switch for optimizing a flow table according to an embodiment includes: a processor; And a memory for storing instructions executable by the processor and the flow table, wherein the processor requests a flow policy from the SDN controller and receives a flow policy from the SDN controller in response thereto; Identifying a flow policy that performs the same operation as the received flow policy in the flow table; Among the matching field items of the identified flow policy and the received flow policy, the value of the matching field item that matches each other is maintained, and the value of the matching field item that does not match is replaced with a null value to redefine it to one flow policy. It can be registered in the flow table.
상기 프로세서는, 상기 플로우 테이블에서 상기 수신된 플로우 정책에 정의된 입/출력 포트 번호와 동일한 입/출력 포트 번호를 갖는 플로우 정책을 상기 동일한 동작을 수행하는 플로우 정책으로 식별할 수 있다.The processor may identify a flow policy having the same input/output port number as the input/output port number defined in the received flow policy in the flow table as a flow policy that performs the same operation.
상기 프로세서는, 상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 포함하는 가상 플로우 테이블을 생성하고, 상기 가상 플로우 테이블에서 상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 하나의 플로우 정책으로 재정의하며, 상기 플로우 테이블에서 상기 식별된 플로우 정책을 삭제하고 상기 재정의한 하나의 플로우 정책을 등록하고, 상기 가상 플로우 테이블을 삭제할 수 있다.The processor generates a virtual flow table including the received flow policy and the identified flow policy, redefines the received flow policy and the identified flow policy as one flow policy in the virtual flow table, The identified flow policy may be deleted from the flow table, the redefined one flow policy may be registered, and the virtual flow table may be deleted.
상기 프로세서는, 상기 가상 플로우 테이블에서 상기 수신된 플로우 정책 및 상기 식별된 플로우 정책의 매칭 필드 항목들 중 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않는 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책을 생성할 수 있다.The processor maintains a value of a matching field item among matching field items of the received flow policy and the identified flow policy in the virtual flow table, and replaces a value of a non-matching field item with a null value. One flow policy can be created.
일 측면에 따르면, SDN 기반 기술이 적용된, 예를 들어, 온라인게임, 채팅, 클라우드, 음악 및 동영상 스트리밍 서비스를 제공하는 서버-클라이언트 환경에서 효율적인 플로우 테이블 최적화 방법을 통해 네트워크 서비스에 대한 높은 QoS 품질 확보가 가능하다.According to one aspect, secure high QoS quality for network services through an efficient flow table optimization method in a server-client environment where SDN-based technology is applied, for example, providing online games, chat, cloud, music and video streaming services. Is possible.
일 실시예에 따르면 플로우 테이블의 최적화를 위한 별도의 장치는 필요하지 않고 가상 플로우 테이블을 활용하기 위한 일부 메모리 영역만 동적으로 할당하여 이용하기 때문에 초기 구축 및 관련 유지 비용의 소모가 적다.According to an embodiment, since a separate device for optimizing a flow table is not required, and only some memory areas for utilizing a virtual flow table are dynamically allocated and used, initial construction and related maintenance costs are less consumed.
하드웨어 칩셋 및 메모리 장치에 종속성을 가지는 SDN 스위치 특성상 플로우 테이블의 최대 사이즈를 초과하는 대규모 네트워크 환경에서 더 많은 SDN 스위치 장비가 필요하지만, 본 발명에 따르면, 플로우 테이블을 최적화함으로써 네트워크당 수용 가능한 장비 수가 작아지게 된다. 따라서 초기 네트워크 구축 비용의 감소로도 이어진다. Due to the nature of SDN switches that have dependencies on hardware chipsets and memory devices, more SDN switch equipment is required in a large-scale network environment that exceeds the maximum size of the flow table. You lose. Therefore, it leads to a reduction in the initial network construction cost.
도 1은 SDN 기반 네트워크 환경을 나타낸 도면이다.
도 2는 도 1의 제 2 SDN 스위치에 등록되는 플로우 정책을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 SDN 기반 네트워크 환경을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 두 개의 SDN 스위치와 세 개의 통신 단말의 연결 상태를 나타낸 도면이다.
도 5는 도 4의 제 1 SDN 스위치의 플로우 테이블에 등록되는 플로우 정책을 나타낸 예이다.
도 6은 도 4의 제 2 SDN 스위치의 플로우 테이블에 등록되는 플로우 정책을 나타낸 예이다.
도 7은 도 4의 제 1 SDN 스위치의 플로우 테이블을 나타낸 도면이다.
도 8은 도 4의 제 2 SDN 스위치의 플로우 테이블을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 가상 플로우 테이블을 나타낸 도면이다.
도 10은 도 9의 각 가상 플로우 테이블의 플로우 정책을 최적화하는 과정을 설명하는 도면이다.
도 11은 도 10에서 최적화된 가상 플로우 테이블의 플로우 정책을 제 2 SDN 스위치에 등록하는 과정을 설명하는 도면이다.
도 12는 본 발명의 일 실시예에 따른 제 2 SDN 스위치의 최종 갱신된 플로우 테이블을 나타낸 도면이다.
도 13 내지 도 16은 본 발명의 일 실시예에 따른 최적화된 플로우 테이블을 기초로 한 제 1 통신 단말과 제 3 통신 단말 간의 통신 과정을 설명하는 도면이다.
도 17 내지 도 20은 본 발명의 일 실시예에 따른 최적화된 플로우 테이블을 기초로 한 제 2 통신 단말과 제 3 통신 단말 간의 통신 과정을 설명하는 도면이다.
도 21은 본 발명의 일 실시예에 따른 SDN 스위치에서 플로우 테이블을 최적화하는 방법을 설명하는 흐름도1 is a diagram showing an SDN-based network environment.
FIG. 2 is a diagram illustrating a flow policy registered in the second SDN switch of FIG. 1.
3 is a diagram illustrating an SDN-based network environment according to an embodiment of the present invention.
4 is a diagram showing a connection state between two SDN switches and three communication terminals according to an embodiment of the present invention.
5 is an example of a flow policy registered in the flow table of the first SDN switch of FIG. 4.
6 is an example of a flow policy registered in the flow table of the second SDN switch of FIG. 4.
7 is a diagram illustrating a flow table of the first SDN switch of FIG. 4.
8 is a diagram showing a flow table of the second SDN switch of FIG. 4.
9 is a diagram showing a virtual flow table according to an embodiment of the present invention.
10 is a diagram illustrating a process of optimizing a flow policy of each virtual flow table of FIG. 9.
11 is a diagram illustrating a process of registering a flow policy of a virtual flow table optimized in FIG. 10 to a second SDN switch.
12 is a diagram illustrating a finally updated flow table of a second SDN switch according to an embodiment of the present invention.
13 to 16 are diagrams illustrating a communication process between a first communication terminal and a third communication terminal based on an optimized flow table according to an embodiment of the present invention.
17 to 20 are diagrams illustrating a communication process between a second communication terminal and a third communication terminal based on an optimized flow table according to an embodiment of the present invention.
21 is a flowchart illustrating a method of optimizing a flow table in an SDN switch according to an embodiment of the present invention
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above-described objects, features, and advantages will become more apparent through the following detailed description in connection with the accompanying drawings, whereby those of ordinary skill in the technical field to which the present invention pertains can easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3은 본 발명의 일 실시예에 따른 SDN 기반 네트워크 환경을 나타낸 도면이다. 도 3을 참조하면, SDN 기반의 네트워크는, SDN 제어기(310), 복수의 SDN 스위치(320) 및 복수의 통신 단말(330)을 포함한다. 본 실시예에서 SDN 스위치(320)는 네트워크를 구성하는 개체(Entity)로서, 이동통신기지국, 기지국 제어기, 게이트웨이, 라우터 등을 포함하지만 특별히 종류를 제한하지 않고, 패킷을 수신하여 라우팅 처리를 수행하는 네트워크 장비를 포괄한다.3 is a diagram illustrating an SDN-based network environment according to an embodiment of the present invention. Referring to FIG. 3, the SDN-based network includes an
SDN 제어기(310)는 네트워크 내의 SND 스위치들(320)을 관리하는 기능을 수행하는 것으로 복수의 SDN 스위치(32)를 중앙 집중형으로 관리 및 제어한다. SDN 제어기(310)는 토폴로지 관리, 패킷 처리와 관련된 경로 관리, 링크 디스커버리, 패킷 흐름인 플로우 관리 등의 기능을 수행하는 소프트웨어가 탑재된 형태로 구현될 수 있다. SDN 제어기(310)는 SDN 스위치(320)와 오픈플로우(OpenFlow) 프로토콜에 따라 정보를 송수신할 수 있다. SDN 제어기(310)는 SDN 스위치(320)로부터 패킷-인(Packet-In) 메시지를 수신하면 패킷의 경로를 추출한 후 이를 패킷-아웃(Packet-Out) 메시지를 통해 SDN 스위치(320)로 전송하여 SDN 스위치(320)의 플로우 테이블의 플로우 정책을 등록한다.The
SDN 스위치(320)는, 상기 SDN 제어기(310)의 제어에 따라 패킷을 처리하는 기능을 수행한다. 앞서 설명한 바와 같이, SDN 스위치(320)는, 이동통신기지국, 기지국 제어기, 게이트웨이, 라우터 등을 포함하는 것으로서 특별히 종류를 제한하지 않고, SDN 기반의 네트워크 환경에서 패킷을 처리하는 장비는 모두 포함한다. 본 실시예에서는 설명의 편의를 위해 SDN 스위치(320)는 오픈플로우 스위치인 경우를 중심으로 설명한다. SDN 스위치(320)는 연결된 통신 단말(330)로부터 패킷을 수신하면 그 수신된 패킷의 처리를 위한 플로우 정책이 있는지 확인하고 플로우 정책이 없으면 해당 패킷을 어디로 보내야 하는지를 문의하기 위해 해당 패킷을 우선 버퍼에 저장하고 해당 패킷의 헤더를 포함한 일부 데이터를 패킷-인 메시지를 통해 SDN 제어기(310)에 전송하고 SDN 제어기(310)로부터 패킷-아웃 메시지를 통해 플로우 정책을 수신하여 플로우 테이블에 등록하고 버퍼에 저장된 패킷을 처리한다.The
SDN 스위치(320)는, 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템, 입력 장치 및 통신 회로를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 메모리는 프로세서에 의해 실행 가능한 명령어들을 저장하고, 또한 상기 플로우 테이블을 저장할 수 있다. 프로세서 및 주변 인터페이스와 같은 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다. 메모리는 각종 정보와 프로그램 명령어를 저장할 수 있고, 프로그램은 프로세서에 의해 실행된다. 주변 인터페이스는 입출력 주변 장치를 프로세서 및 메모리와 연결한다. 하나 이상의 프로세서는 다양한 소프트웨어 프로그램 및/또는 메모리에 저장되어 있는 명령어 세트를 실행하여 시스템을 위한 여러 기능을 수행하고 데이터를 처리한다. I/O 서브시스템은 디스플레이 장치, 입력 장치와 같은 입출력 주변장치와 주변 인터페이스 사이에 인터페이스를 제공한다. 통신 회로는 외부 포트를 통한 통신 또는 RF 신호에 의한 통신을 수행한다. 통신 회로는 전기 신호를 RF 신호로 또는 그 반대로 변환하며 이 RF 신호를 통하여 통신 네트워크, 다른 이동형 게이트웨이 장치 및 통신 장치와 통신할 수 있다. SDN 스위치(320)의 프로세서는 메모리에 저장된 명령어들에 따라 이하에서 설명하는 방법 및 동작을 수행할 수 있다.The
통신 단말(330)은 SDN 기반의 네트워크 환경에서 통신 서비스를 이용하는 기기로서, 예를 들어, 퍼스널 컴퓨터, 스마트폰, 태블릿 PC 등의 사용자 단말 그리고 게임 서비스, 채팅, 클라우드, 음악/영상 스트리밍 서비스 등을 제공하는 서버를 포함한다. 본 실시예에서 하나의 SDN 스위치에 적어도 두 개 이상의 통신 단말이 연결되어 다른 SDN 스위치에 연결된 목적지 통신 단말로 통신을 수행한다. 이하에서는 동일한 SDN 스위치에 연결된 복수의 통신 단말이 다른 SDN 스위치에 연결된 공통의 목적지 단말로 통신할 때, 목적지 통신 단말과 연결된 SDN 스위치의 플로우 테이블에 생성되는 중복된 동작을 수행하는 플로우 정책을 하나의 정책으로 최적화하는 방법을 도면을 참조하여 구체적으로 설명한다.The
도 4는 본 발명의 일 실시예에 따른 두 개의 SDN 스위치와 세 개의 통신 단말의 연결 상태를 나타낸 도면이다. 도 4를 참조하면, SDN 제어기(410)에 두 개의 SDN 스위치(421, 422)가 제어 채널을 성립하여 연결되고, 제 1 SDN 스위치(421)에는 두 개의 통신 단말(431, 432)가 연결되며, 제 2 SDN 스위치(422)에 하나의 통신 단말(433)이 연결되어 있다. 4 is a diagram showing a connection state between two SDN switches and three communication terminals according to an embodiment of the present invention. 4, two
제 1 통신 단말(431)이 제 3 통신 단말(433)에 IP 패킷을 보내려 한다. 이를 위해 제 1 통신 단말(431)은 제 3 통신 단말(433)의 MAC 주소를 알아내기 위하여 ARP 요청메시지를 제 1 SDN 스위치(421)로 전송한다. 제 1 SDN 스위치(421)은 1번 포트를 통해 들어온 ARP 요청 메시지를 어디로 보내야 할지 모르기 때문에 SDN 제어기(410)에 ARP 요청 메시지의 일부 헤더 파일을 포함한 패킷-인(Packet-in) 메시지로 SDN 제어기(410)에 전송하여 처리를 문의한다.The
패킷-인 메시지를 수신한 SDN 제어기(410)는 이미 각 SDN 스위치(421, 422)와 제어 채널을 성립할 때 스위치 포트별로 연결된 통신 단말(431, 432, 433)의 정보를 가져오기 때문에 제 3 통신 단말(433)의 위치 정보를 알고 있다. SDN 제어기(410)는 해당 ARP 요청 메시지가 제 3 통신 단말(433)로 전달되도록 제 1 SDN 스위치(421)로 플로우 정책을 포함하는 플로우 수정(Flow Modiy) 메시지를 전송하고, 제 1 SDN 스위치(421)는 해당 메시지 내용을 기초로 플로우 정책을 등록한다. 이때 등록된 플로우 정책은 다른 플로우 정책과 중복되지 않는 플로우 ID를 갖는다. When receiving the packet-in message, the
도 5는 제 1 SDN 스위치(421)의 플로우 테이블에 등록되는 플로우 정책을 나타낸 예로서, 플로우 테이블은 플로우 ID(Flow ID) 필드, 매칭(Match) 필드, 액션(Action) 필드, 타임아웃(Timeout) 필드를 포함하고, 도 5에 도시된 바와 같이, 등록된 플로우 정책은 플로우 ID로서 "a001"을 갖는다. 매칭 필드의 항목들에 따르면, 해당 플로우 정책은 "1번 포트(In Port)로 들어온 패킷의 헤더에 출발지 MAC 주소(Src MAC)가 'a'이고 출발지 IP 주소(Src IP)는 '10.0.0.1', 목적지 IP 주소(Dst IP)는 '10.0.0.3', 이더넷 타입(Ether Type)은 '0x0806(=ARP 패킷 타입)'인 경우 3번 포트(Out Port)를 통해 패킷을 내보내라”는 것을 의미한다. 참고로 플로우 테이블의 타임아웃(Timeout) 필드에서 정의된 아이들 타임(Idle Time)은 ONF에서 정의한 OpenFlow 공식 표준 스펙에 따르면 해당 플로우 정책이 유지되는 시간이다. 아이들 타임 동안 해당 플로우 정책과 일치하는 패킷이 없는 경우 아이들 타임이 갱신되지 못해 자동으로 플로우 정책이 삭제된다. 도 5를 참조한 예에서, 30초 이내에 해당 플로우 정책과 일치되는 패킷이 없는 경우 해당 플로우 정책은 모두 삭제된다.5 is an example showing a flow policy registered in the flow table of the
제 1 SDN 스위치(421)은 최초 등록된 플로우 ID '001'의 플로우 정책대로 1번 포트(In Port)로 들어온 패킷의 헤더에 출발지 MAC 주소(Src MAC)가 제 1 통신 단말(431)의 MAC 주소 'a'이고 이더넷 타입(Ether Type)이 0x0806(=ARP 패킷 타입)인 ARP 요청 메시지를 3번 포트(Out Port)를 통해 제 2 SDN 스위치(422)로 전달한다. 제 2 SDN 스위치(422)는 1번 포트를 통해 들어온 ARP 요청 메시지를 어디로 보내야 할지 모르기 때문에 SDN 제어기(410)에 ARP 요청 메시지의 일부 헤더 파일을 포함한 패킷-인 메시지를 SDN 제어기(410)에 전달하여 처리를 문의한다.According to the flow policy of the first registered flow ID '001', the
제 2 SDN 스위치(422)로부터 패킷-인 메시지를 수신한 SDN 제어기(410)는 해당 ARP 요청 메시지가 제 3 통신 단말(433)로 전달되도록 제 2 SDN 스위치(422)로 플로우 수정(Flow Modify) 메시지를 전송하고, 제 2 SDN 스위치(422)는 해당 메시지 내용을 기초로 가지고 플로우 정책을 등록한다 .등록한다. 이때 등록된 플로우 정책은 다른 플로우 정책과 중복되지 않는 플로우 ID를 갖는다.Upon receiving the packet-in message from the
도 6은 제 2 SDN 스위치(422)의 플로우 테이블에 등록되는 플로우 정책을 나타낸 예로서, 도 6에 도시된 바와 같이, 등록된 플로우 정책은 플로우 ID로서 'b001'을 갖는다. 매칭 필드의 항목들에 따르면, 해당 플로우 정책은 "1번 포트(In Port)로 들어온 패킷의 헤더에 출발지 MAC 주소(Src MAC)가 'a'이고 출발지 IP 주소(Src IP)는 '10.0.0.1', 목적지 IP 주소(Dst IP)는 '10.0.0.3', 이더넷 타입(Ether Type)은 0x0806(=ARP 패킷 타입)인 경우 2번 포트(Out Port)를 통해 패킷을 내보내라”는 것을 의미한다. 최종적으로 제 1 SDN 제어기(421)로부터 수신된 ARP 요청 메시지는 도 6에 도시된 플로우 정책에 일치하여 제 2 SDN 스위치(422)의 2번 포트를 통해 제 3 통신 단말(433)로 전달된다. 6 is an example of a flow policy registered in the flow table of the
제 1 통신 단말(431)로부터 ARP 요청 메시지를 수신한 제 3 통신 단말(433)는 앞서 설명한 과정과 동일한 과정을 통해 ARP 응답 메시지를 제 1 통신 단말(431)로 전송한다. 따라서, 제 1 SDN 스위치(421)에는 플로우 ID 'a002'의 플로우 정책이 새로 등록되고, 제 2 SDN 스위치(422)에는 플로우 ID 'b002'의 플로우 정책이 새로 등록된다. 제 1 통신 단말(431)은 ARP 응답 메시지를 통해 제 3 통신 단말(433)의 MAC 주소를 알게 된다. 이제 제 1 통신 단말(431)은 해당 MAC 주소를 가지고 제 3 통신 단말(433)과 ICMP 패킷을 주고받을 수 있다. 이를 위해 우선 제 1 통신 단말(431)은 ICMP 요청 메시지를 제 3 통신 단말(433)로 전송하고, 제 3 통신 단말(433)로부터 ICMP 응답 메시지를 받는다. 이 과정도 앞서 설명한 과정과 동일한 과정을 통해 ICMP 패킷 처리를 위한 플로우 정책이 제 1, 2 SDN 스위치(421, 422)에 등록된다. 즉, 제 1 SDN 스위치(421)에는 플로우 ID 'a003', 'a004'의 플로우 정책이 새로 등록되고, 제 2 SDN 스위치(422)에는 플로우 ID 'b003', 'b004'의 플로우 정책이 새로 등록된다. 제 1 통신 단말(431)과 제 3 통신 단말(433)이 ARP 테이블을 갱신하지 않는 동안은 IP 타입의 패킷만 송수신하기 때문에 이더넷 타입(Ether Type)이 0x0806(=ARP 패킷 타입)인 플로우 정책은 아이들 타임(Idle Time)이 만료되어 모두 삭제된다. 최종적으로는 제 1 SDN 스위치(421)의 플로우 테이블에는 플로우 ID가 'a003', 'a004'만 남게 되고, 제 2 SDN 스위치(422)의 플로우 테이블에는 플로우 ID가 'b003', 'b004'만 남게 되고 나머지는 제거된다. The
제 2 통신 단말(432)도 제 3 통신 단말(433)과 통신을 하고자 하면, 앞서 설명한 과정과 동일한 과정을 통해 ARP 패킷을 처리하고 그 다음 ICMP 패킷을 처리한다. 제 2 통신 단말(432)과 제 3 통신 단말(433)이 ARP 테이블을 갱신하지 않는 동안은 IP 타입의 패킷만 송수신하기 때문에 이더넷 타입(Ether Type)이 0x0806(=ARP 패킷 타입)인 플로우 정책은 아이들 타임(Idle Time)이 만료되어 모두 삭제된다. 최종적으로는 제 1 SDN 스위치(421)의 플로우 테이블에는 제 2 통신 단말(432)과 제 3 통신 단말(433) 간의 통신을 위한 플로우 정책으로서 플로우 ID가 'a007', 'a008'만 남게 되고, 제 2 SDN 스위치(422)의 플로우 테이블에는 플로우 ID가 'b007', 'b008'만 남게 되고 나머지는 제거된다. If the
도 7은 도 4의 제 1 SDN 스위치의 플로우 테이블을 나타낸 도면이고, 도 8은 도 4의 제 2 SDN 스위치의 플로우 테이블을 나타낸 도면이다. 제 1, 2 통신 단말(431, 432)과 제 3 통신 단말(433) 간의 통신을 위한 플로우 정책으로서, 도 7에 도시된 바와 같이, 제 1 SDN 스위치(421)의 플로우 테이블에는 플로우 ID 'a003', 'a004', 'a007', 'a008'의 플로우 정책이 등록되어 있고, 도 8에 도시된 바와 같이, 제 2 SDN 스위치(422)의 플로우 테이블에는 플로우 ID 'b003', 'b004', 'b007', 'b008'의 플로우 정책이 등록되어 있다. 7 is a diagram illustrating a flow table of the first SDN switch of FIG. 4, and FIG. 8 is a diagram illustrating a flow table of the second SDN switch of FIG. 4. As a flow policy for communication between the first and
그런데, 도 8을 참조하면, 플로우 ID b003과 플로우 ID b007은 제 2 SDN 스위치(422)의 1번 포트로 들어온 패킷을 2번 포트로 보내는 동작을 수행하는 플로우 정책으로, 그 두 개의 플로우 정책은 출발지 MAC 주소와 출발지 IP 주소만 다를 뿐, 제 2 SDN 스위치(422)가 수행하는 동작은 동일하다. 플로우 ID b004와 플로우 ID b008은 제 2 SDN 스위치(422)의 2번 포트로 들어온 패킷을 1번 포트로 보내는 동작을 수행하는 플로우 정책으로, 그 두 개의 플로우 정책은 목적지 MAC 주소와 목적지 IP 주소만 다를 뿐, 제 2 SDN 스위치(422)가 수행하는 동작은 동일하다. SDN 제어기(410) 입장에서는 동작은 동일하게 수행하더라도 일부 매칭 조건(Match)이 다르기 때문에 다른 플로우 정책으로 인식하고 고유 플로우 ID를 할당하여 플로우 정책을 관리한다. 그런데, 동일 SDN 스위치에 연결되어 공통의 목적지 통신 단말과 통신을 하고자 하는 통신 단말의 수가 많으면 많을수록, 그리고 목적지 통신 단말에 연결되는 SDN 스위치의 수가 많으면 많을수록, 이에 비례하여 목적지 통신 단말에 연결된 SDN 스위치의 플로우 테이블에는 중복되는 동작을 수행하는 플로우 정책들이 많이 증가할 수밖에 없다. 이와 같이 플로우 정책들이 증가할수록 SDN 스위치의 패킷 처리에도 시간이 많이 소요될 뿐만 아니라 스위치 자체 성능 저하의 원인이 된다. 이하에서 제 2 SDN 스위치(422)에서 플로우 정책을 최적화하는 방법을 구체적으로 설명한다.However, referring to FIG. 8, flow ID b003 and flow ID b007 are flow policies that perform an operation of sending a packet from
도 8의 제 2 SDN 스위치(422)에 등록된 플로우 정책 중에서 1번 포트로 들어온 패킷을 2번 포트로 보내는 동일한 동작을 수행하는 플로우 ID가 'b003', 'b007'인 두 플로우 정책은 서로 중복되고, 또한 2번 포트로 들어온 패킷을 1번 포트로 보내는 동일한 동작을 수행하는 플로우 ID가 'b004', 'b008'인 두 플로우 정책도 중복된다. 제 2 SDN 스위치(422)는 입력 포트와 출력 포트가 동일한 플로우 정책을 가지고 가상 플로우 테이블을 생성한다. Among the flow policies registered in the
도 9는 본 발명의 일 실시예에 따른 가상 플로우 테이블을 나타낸 도면으로, 도 9의 (a)는 입력 포트 번호가 1번이고 출력 포트 번호가 2번인 플로우 정책들이 있는 제 1 가상 플로우 테이블이고, 도 9의 (b)는 입력 포트 번호가 2번이고 출력 포트 번호가 1번인 플로우 정책들이 있는 제 2 가상 플로우 테이블이다. 제 2 SDN 스위치(422)는 생성된 가상 플로우 테이블에서 중복되는 매칭 필드 항목은 유지하고 일치하지 않는 항목은 널(NULL) 값('-')으로 대체하여 하나의 플로우 정책으로 재정의한다. FIG. 9 is a diagram showing a virtual flow table according to an embodiment of the present invention, and FIG. 9A is a first virtual flow table with flow policies having an input port number of 1 and an output port number of 2, 9B is a second virtual flow table with flow policies having an input port number of 2 and an output port number of 1; The
도 10은 도 9의 각 가상 플로우 테이블의 플로우 정책을 최적화하는 과정을 설명하는 도면이다. 도 10의 (a)는 제 1 가상 플로우 테이블에서 출발지 MAC 주소(Src MAC)와 출발지 IP 주소(Scr IP)는 두 플로우 정책에서 일치하지 않는 항목이므로 널 값으로 대체하고 나머지 항목은 유지하여 하나의 플로우 정책으로 재정의한 것을 나타낸다. 도 10의 (b)는 제 2 가상 플로우 테이블에서 목적지 MAC 주소(Dst MAC)와 목적지 IP 주소(Dst IP)는 두 플로우 정책에서 일치하지 않는 항목이므로 널 값으로 대체하고 나머지 항목은 유지하여 하나의 플로우 정책으로 재정의한 것을 나타낸다. 10 is a diagram illustrating a process of optimizing a flow policy of each virtual flow table of FIG. 9. 10A shows that in the first virtual flow table, the source MAC address (Src MAC) and the source IP address (Scr IP) do not match in the two flow policies, so they are replaced with a null value and the remaining items are maintained. It represents the redefined flow policy. 10(b) shows that the destination MAC address (Dst MAC) and the destination IP address (Dst IP) in the second virtual flow table are not matched items in the two flow policies, so they are replaced with a null value and the remaining items are kept. It represents the redefined flow policy.
도 11은 도 10에서 최적화된 가상 플로우 테이블의 플로우 정책을 제 2 SDN 스위치에 등록하는 과정을 설명하는 도면이고, 도 12는 제 2 SDN 스위치의 최종 갱신된 플로우 테이블을 나타낸 도면이다. 도 11에 도시된 바와 같이, 도 10의 (a)에서 최적화된 제 1 가상 플로우 테이블의 플로우 정책과 도 10의 (b)에서 최적화된 제 2 가상 플로우 테이블의 플로우 정책이 제 2 SDN 스위치(422)에 등록된다. 따라서, 도 12에 도시된 바와 같이, 4개의 플로우 정책이 2개의 플로우 정책으로 감소한다. 도 12에 도시된 바와 같이, 기존에 존재하던 플로우 ID가 'b007', b008'인 플로우 정책은 삭제되고 기존에 존재하던 플로우 ID가 'b003', b004'인 플로우 정책은 일부 매칭 필드 항목이 널 값으로 대체된다.FIG. 11 is a diagram illustrating a process of registering a flow policy of a virtual flow table optimized in FIG. 10 to a second SDN switch, and FIG. 12 is a diagram illustrating a last updated flow table of a second SDN switch. As shown in FIG. 11, the flow policy of the first virtual flow table optimized in FIG. 10(a) and the flow policy of the second virtual flow table optimized in FIG. 10(b) are the 2nd SDN switch 422 ) To be registered. Accordingly, as shown in FIG. 12, four flow policies are reduced to two flow policies. As shown in FIG. 12, flow policies with existing flow IDs'b007' and b008' are deleted, and flow policies with existing flow IDs'b003' and b004' have some matching field items Replaced by value.
이하에서는 도 12와 같이 최적화된 플로우 테이블을 이용하여 제 1, 2 통신 단말(431, 432)이 제 3 통신 단말(433)과 통신이 가능한지 검증한다. In the following, it is verified whether the first and
먼저, 제 1 통신 단말(431)이 제 3 통신 단말(433)과 통신이 가능한지 검증하면 다음과 같다. 도 13 내지 도 16은 본 발명의 일 실시예에 따른 제 1 통신 단말과 제 3 통신 단말 간의 통신 과정을 설명하는 도면이다. 도 13을 참조하면, 제 1 SDN 스위치(421)와 연결된 제 1 통신 단말(431)이 제 3 통신 단말(433)과 IP 통신을 목적으로 제 3 통신 단말(433)의 MAC 주소를 알아내기 위해 ARP 요청 메시지를 제 1 SDN 스위치(421)로 전송한다. 전송된 메시지는 제 1 SDN 스위치(421)의 1번 포트로 유입되고, 제 1 SDN 스위치(421)는 해당 메시지의 처리를 위해 플로우 테이블을 룩업(Look-up)한다. 해당 메시지의 헤더 파일 정보가 플로우 ID 'a003'인 플로우 정책에 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 3번 포트를 통해 제 2 SDN 스위치(422)로 메시지를 포워딩한다. 도 14를 참조하면, 제 2 SDN 스위치(422)는 1번 포트를 통해 유입된 ARP 요청 메시지의 처리를 위해 플로우 테이블을 룩업한다. 해당 메시지의 헤더 파일 정보가 플로우 ID 'b003'인 플로우 정책과 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 2번 포트로 요청 메시지를 포워딩하여 최종적으로 제 3 통신 단말(433)로 전송한다. 도 15를 참조하면, ARP 요청 메시지를 수신한 제 3 통신 단말(433)은 자신의 MAC 주소를 제 1 통신 단말(431)로 전송하기 위하여 ARP 응답 메시지를 생성해 제 2 SDN 스위치(422)로 전달한다. 제 2 SDN 스위치(422)는 2번 포트를 통해 유입된 ARP 응답 메시지의 처리를 위해 플로우 테이블을 룩업한다. 해당 응답 메시지의 헤더 파일 정보가 플로우 ID 'b004'인 플로우 정책에 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 1번 포트를 통해 응답 메시지를 포워딩한다. 도 16을 참조하면, 제 1 SDN 스위치(421)는 3번 포트를 통해 유입된 ARP 응답 메시지의 처리를 위해 플로우 테이블을 룩업한다. 해당 응답 메시지의 헤더 파일 정보가 플로우 ID 'a004'인 플로우 정책과 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 1번 포트로 응답 메시지를 포워딩하여 최종적으로 제 1 통신 단말(431)로 전송한다. 제 1 통신 단말(431)은 수신한 ARP 응답 메시지에 포함된 제 3 통신 단말(433)의 MAC 주소를 가지고 제 3 통신 단말(433)과 ICMP 요청/응답메시지를 송수신할 수 있는데, 해당 과정은 앞의 ARP 메시지의 송수신 과정과 동일하다.First, verifying whether the
다음으로, 제 2 통신 단말(432)이 제 3 통신 단말(433)과 통신이 가능한지 검증하면 다음과 같다. 도 17 내지 도 20은 본 발명의 일 실시예에 따른 제 2 통신 단말과 제 3 통신 단말 간의 통신 과정을 설명하는 도면이다. 도 17을 참조하면, 제 1 SDN 스위치(421)와 연결된 제 2 통신 단말(432)이 제 3 통신 단말(433)과 IP 통신을 목적으로 제 3 통신 단말(433)의 MAC 주소를 알아내기 위해 ARP 요청 메시지를 제 1 SDN 스위치(421)로 전송한다. 전송된 메시지는 제 1 SDN 스위치(421)의 2번 포트로 유입되고, 제 1 SDN 스위치(421)는 해당 메시지의 처리를 위해 플로우 테이블을 룩업(Look-up)한다. 해당 메시지의 헤더 파일 정보가 플로우 ID 'a003'인 플로우 정책에 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 3번 포트를 통해 제 2 SDN 스위치(422)로 메시지를 포워딩한다. 도 18을 참조하면, 제 2 SDN 스위치(422)는 1번 포트를 통해 유입된 ARP 요청 메시지의 처리를 위해 플로우 테이블을 룩업한다. 해당 메시지의 헤더 파일 정보가 플로우 ID 'b003'인 플로우 정책과 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 2번 포트로 요청 메시지를 포워딩하여 최종적으로 제 3 통신 단말(433)로 전송한다. 도 19를 참조하면, ARP 요청 메시지를 수신한 제 3 통신 단말(433)은 자신의 MAC 주소를 제 2 통신 단말(431)로 전송하기 위하여 ARP 응답 메시지를 생성해 제 2 SDN 스위치(422)로 전달한다. 제 2 SDN 스위치(422)는 2번 포트를 통해 유입된 ARP 응답 메시지의 처리를 위해 플로우 테이블을 룩업한다. 해당 응답 메시지의 헤더 파일 정보가 플로우 ID 'b004'인 플로우 정책에 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 1번 포트를 통해 응답 메시지를 포워딩한다. 도 20을 참조하면, 제 1 SDN 스위치(421)는 3번 포트를 통해 유입된 ARP 응답 메시지의 처리를 위해 플로우 테이블을 룩업한다. 해당 응답 메시지의 헤더 파일 정보가 플로우 ID 'a004'인 플로우 정책과 일치하므로 해당 플로우 정책의 액션 필드에서 정의한 2번 포트로 응답 메시지를 포워딩하여 최종적으로 제 2 통신 단말(432)로 전송한다. 제 2 통신 단말(431)은 수신한 ARP 응답 메시지에 포함된 제 3 통신 단말(433)의 MAC 주소를 가지고 제 3 통신 단말(433)과 ICMP 요청/응답메시지를 송수신할 수 있는데, 해당 과정은 앞의 ARP 메시지의 송수신 과정과 동일하다.Next, verifying whether the
이상에서 설명한 바와 같이, 제 2 SDN 스위치(422)의 플로우 테이블이 최적화되더라도 제 1 SDN 스위치(421)에 연결된 두 통신 단말(431, 432)이 제 2 SDN 스위치(422)에 연결된 제 3 통신 단말(433)을 목적지로 하여 통신이 가능하다. As described above, even if the flow table of the
도 21은 본 발명의 일 실시예에 따른 SDN 스위치에서 플로우 테이블을 최적화하는 방법을 설명하는 흐름도로서, SDN 제어기(410)의 개입 없이 SDN 스위치(422) 레벨에서 동작한다. 우선 SDN 제어기(410)가 Re-active 모드로 동작할 때, 미지의 패킷이 SDN 스위치(422)로 수신되면 SDN 스위치(422)는 해당 패킷의 일부 정보가 포함된 헤더 파일을 이용하여 SDN 제어기(410)로 패킷-인 메시지를 전송한다. 해당 패킷-인 메시지를 통해 SDN 제어기(410)는 SDN 스위치(422)가 해당 패킷을 목적지로 전달하도록 플로우 수정(Flow Modify) 메시지를 생성하여 SDN 스위치(422)로 전송한다. SDN 스위치(422)는 수신한 플로우 수정메시지에 포함된 정보를 이용하여 플로우 정책을 자신의 플로우 테이블에 등록한다. 이와 같이 플로우 수정 메시지가 SDN 제어기(410)에서 SDN 스위치(422)로 전달되는 이벤트가 발생할 때, 해당 이벤트가 트리거가 되어 도 21을 참조한 방법이 동작하게 된다.21 is a flowchart illustrating a method of optimizing a flow table in an SDN switch according to an embodiment of the present invention, and operates at the
도 21을 참조하면, 단계 S2101에서, SDN 스위치(422)는 SDN 제어기(410)로부터 플로우 수정(Flow Modify) 메시지가 수신되는지 확인한다. 플로우 수정 메시지가 수신되면, 단계 S2102에서, SDN 스위치(422)는 수신된 상기 플로우 수정 메시지에서 패킷의 플로우를 정의해주기 위한 요소인 입/출력 포트 번호를 추출한다. 해당 입/출력 포트 번호는 SDN 스위치(422)의 어떤 입력 포트로 들어온 패킷을 어떤 출력 포트로 내보낼지에 대한 플로우 정책 정의에 활용된다.Referring to FIG. 21, in step S2101, the
SDN 스위치(422)는 기존 자신의 플로우 테이블에 기 등록되어 있는 N개의 플로우 정책 중에서 상기 추출한 입/출력 포트 번호와 일치하는 입/출력 포트 번호를 가지고 있는 플로우 정책을 추출하는 과정을 수행한다. 구체적으로, 단계 S2103에서, SDN 스위치(422)는 자신의 플로우 테이블의 i(1<i≤N)번째 플로우 정책의 입/출력 포트 번호를 추출하고, 단계 S2104에서 그 i번째 플로우 정책의 입력 포트 번호와 상기 단계 S2102에서 플로우 수정 메시지로부터 추출한 입력 포트 번호가 일치하는지 확인한다. 일치할 경우, 단계 S2105에서, SDN 스위치(422)는 상기 i번째 플로우 정책의 출력 포트 번호와 상기 단계 S2102에서 플로우 수정 메시지로부터 추출한 출력 포트 번호가 일치하는지 확인한다. 출력 포트 번호도 일치할 경우, SDN 스위치(422)는 상기 i번째 플로우 정책과 상기 플로우 수정 메시지에 포함된 플로우 정책을 이용하여 가상 플로우 테이블을 생성한다. SDN 스위치(422)는 자신의 플로우 테이블에 기 등록되어 있는 N개의 모든 플로우 정책들에 대해 상기 단계 S2103 내지 단계 S2106을 반복 수행한다. 따라서, 최종적으로 상기 플로우 수정 메시지에 포함된 플로우 정책, 그리고 SDN 스위치(422)의 플로우 테이블에 등록되어 있는 N개의 플로우 정책들 중에서 상기 플로우 수정 메시지에 포함된 플로우 정책과 입/출력 포트 번호가 동일한 모든 플로우 정책이 하나의 가상 플로우 테이블에 등록된다. 가상 플로우 테이블은 SDN 스위치(422)로 유입되는 패킷들의 처리를 위한 플로우 정책이 등록 및 관리되는 실제 플로우 테이블의 형태와 유사하나 실제 패킷 처리를 위한 플로우 정책들이 등록되는 것은 아니다. 가상 플로우 테이블은 중복되는 동작을 수행하는 플로우 정책들을 처리하기 위한 가상의 임시 테이블이기 때문에 해당 가상 테이블에 등록된 플로우 정책에는 플로우 ID가 할당되지는 않으며 중복된 플로우 정책들의 최적화가 완료되면 제거되는 생성 주기를 가진다. 참고로 생성된 가상 테이블은 일정 생성 주기를 가지기 때문에 SDN 스위치(422) 내부에 따로 고정된 메모리 영역을 할당할 필요없이 버퍼 메모리영역의 사이즈만큼 필요시 동적 할당을 통해 메모리 영역을 확보하기 때문에 SDN 스위치(422)에 큰 부하를 주지는 않으면서 활용이 가능하다.The
이와 같이 가상 플로우 테이블의 생성이 완료되면, 단계 S2107에서, SDN 스위치(422)는, 상기 가상 플로우 테이블에 등록된 플로우 정책들의 매칭 필드 항목 중에서 상호 일치하는 항목을 제외하고 일치하지 않은 항목은 널 값으로 대체하여 하나의 플로우 정책으로 재정의한다. 널 값으로 대체한다는 의미는 매칭되는 조건 항목을 제거함을 의미한다. 단계 S2108에서, SDN 스위치(422)는, 이렇게 하나의 정책으로 최적화되어 정의된 플로우 정책을 고유 플로우 정책으로서 실제 플로우 테이블에 등록한다. 이 과정에서 SDN 스위치(422)는 기존에 등록되어 있던 중복되는 플로우 정책들을 삭제하고 상기 최적화되어 정의된 플로우 정책에 새로운 플로우 ID를 부여하여 등록할 수 있고, 또는 기존 중복되는 플로우 정책들 중 하나만 남겨두고 나머지는 삭제하면서 남긴 플로우 정책을 상기 최적화되어 정의된 플로우 정책에 맞게 수정할 수 있다. When the generation of the virtual flow table is completed in this way, in step S2107, the
한편, 실제 플로우 테이블에 상기 수신된 플로우 수정 메시지에 포함된 플로우 정책의 입/출력 포트 번호와 일치하는 플로우 정책이 없는 경우, 단계 S2110에서, SDN 스위치(422)는 상기 수신된 플로우 수정 메시지에 포함된 플로우 정책에 따라 실제 플로우 테이블에 새로운 플로우 정책을 등록한다. Meanwhile, when there is no flow policy in the actual flow table that matches the input/output port number of the flow policy included in the received flow modification message, in step S2110, the
실제 플로우 테이블에 새로운 플로우 정책이 등록되거나, 상기 최적화된 플로우 정책이 갱신되어 등록될 경우, 단계 S2109에서, SDN 스위치(422)는, 최종 등록된 플로우 정책 정보를 SDN 제어기(410)에 전송한다 .When a new flow policy is registered in the actual flow table or the optimized flow policy is updated and registered, in step S2109, the
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification includes many features, such features should not be construed as limiting the scope or claims of the invention. In addition, features described in separate embodiments herein may be combined and implemented in a single embodiment. Conversely, various features described in a single embodiment herein may be individually implemented in various embodiments, or may be properly combined and implemented.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although the operations have been described in a specific order in the drawings, it should not be understood that such operations are performed in a specific order as shown, or as a series of consecutive sequences, or that all described operations are performed to obtain a desired result. . Multitasking and parallel processing can be advantageous in certain environments. In addition, it should be understood that classification of various system components in the above-described embodiments does not require such classification in all embodiments. The above-described program components and systems may generally be implemented as a package in a single software product or multiple software products.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. This process can be easily carried out by a person of ordinary skill in the art to which the present invention pertains, and thus will not be described in detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those of ordinary skill in the technical field to which the present invention belongs. It is not limited by the drawings.
110, 310, 410 : SDN 제어기
120, 130, 320, 421, 422 : SDN 스위치
121, 122, 131, 330, 431, 432, 433 : 통신 단말110, 310, 410: SDN controller
120, 130, 320, 421, 422: SDN switch
121, 122, 131, 330, 431, 432, 433: communication terminal
Claims (9)
SDN 제어기로 플로우 정책을 요청하고 이에 대한 응답으로 상기 SDN 제어기로부터 플로우 정책을 수신하는 단계;
상기 플로우 테이블에서 상기 수신된 플로우 정책과 동일한 동작을 수행하는 플로우 정책을 식별하는 단계; 및
상기 식별된 플로우 정책과 상기 수신된 플로우 정책의 매칭 필드 항목들 중 상호 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않은 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책으로 재정의하여 상기 플로우 테이블에 등록하는 단계;를 포함하는 방법.In a method for optimizing a flow table in a Software Defined Networking (SDN) switch,
Requesting a flow policy from an SDN controller and receiving a flow policy from the SDN controller in response thereto;
Identifying a flow policy that performs the same operation as the received flow policy in the flow table; And
Among the matching field items of the identified flow policy and the received flow policy, the value of the matching field item that matches each other is maintained, and the value of the matching field item that does not match is replaced with a null value to redefine it to one flow policy. The method comprising; registering in the flow table.
상기 식별하는 단계는,
상기 플로우 테이블에서 상기 수신된 플로우 정책에 정의된 입/출력 포트 번호와 동일한 입/출력 포트 번호를 갖는 플로우 정책을 상기 동일한 동작을 수행하는 플로우 정책으로 식별하는 것을 특징으로 하는 방법.The method of claim 1,
The identifying step,
And identifying a flow policy having the same input/output port number as the input/output port number defined in the received flow policy in the flow table as a flow policy performing the same operation.
상기 등록하는 단계는,
상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 포함하는 가상 플로우 테이블을 생성하는 단계;
상기 가상 플로우 테이블에서 상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 하나의 플로우 정책으로 재정의하는 단계;
상기 플로우 테이블에서 상기 식별된 플로우 정책을 삭제하고 상기 재정의한 하나의 플로우 정책을 등록하는 단계; 및
상기 가상 플로우 테이블을 삭제하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 1,
The registering step,
Generating a virtual flow table including the received flow policy and the identified flow policy;
Redefining the received flow policy and the identified flow policy as one flow policy in the virtual flow table;
Deleting the identified flow policy from the flow table and registering the redefined one flow policy; And
And deleting the virtual flow table.
상기 재정의하는 단계는,
상기 수신된 플로우 정책 및 상기 식별된 플로우 정책의 매칭 필드 항목들 중 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않는 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책을 생성하는 것을 특징으로 하는 방법.The method of claim 3,
The redefining step,
A flow policy is generated by maintaining a value of a matching field item among matching field items of the received flow policy and the identified flow policy and replacing a value of a matching field item that does not match with a null value. How to do it.
프로세서; 및
상기 프로세서에 의해 실행 가능한 명령어 및 상기 플로우 테이블을 저장하는 메모리;를 포함하고,
상기 프로세서는,
SDN 제어기로 플로우 정책을 요청하고 이에 대한 응답으로 상기 SDN 제어기로부터 플로우 정책을 수신하고;
상기 플로우 테이블에서 상기 수신된 플로우 정책과 동일한 동작을 수행하는 플로우 정책을 식별하며;
상기 식별된 플로우 정책과 상기 수신된 플로우 정책의 매칭 필드 항목들 중 상호 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않은 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책으로 재정의하여 상기 플로우 테이블에 등록하는 것을 특징으로 하는 SDN 스위치.In the SDN (Software Defined Networking) switch that optimizes the flow table,
Processor; And
Including; a memory for storing the flow table and instructions executable by the processor,
The processor,
Requesting a flow policy from the SDN controller and receiving a flow policy from the SDN controller in response thereto;
Identifying a flow policy that performs the same operation as the received flow policy in the flow table;
Among the matching field items of the identified flow policy and the received flow policy, the value of the matching field item that matches each other is maintained, and the value of the matching field item that does not match is replaced with a null value to redefine it to one flow policy. SDN switch, characterized in that to register in the flow table.
상기 프로세서는,
상기 플로우 테이블에서 상기 수신된 플로우 정책에 정의된 입/출력 포트 번호와 동일한 입/출력 포트 번호를 갖는 플로우 정책을 상기 동일한 동작을 수행하는 플로우 정책으로 식별하는 것을 특징으로 하는 SDN 스위치.The method of claim 5,
The processor,
And a flow policy having the same input/output port number as the input/output port number defined in the received flow policy in the flow table as a flow policy performing the same operation.
상기 프로세서는,
상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 포함하는 가상 플로우 테이블을 생성하고, 상기 가상 플로우 테이블에서 상기 수신된 플로우 정책과 상기 식별된 플로우 정책을 하나의 플로우 정책으로 재정의하며, 상기 플로우 테이블에서 상기 식별된 플로우 정책을 삭제하고 상기 재정의한 하나의 플로우 정책을 등록하고, 상기 가상 플로우 테이블을 삭제하는 것을 특징으로 하는 SDN 스위치.The method of claim 5,
The processor,
Generate a virtual flow table including the received flow policy and the identified flow policy, redefine the received flow policy and the identified flow policy as one flow policy in the virtual flow table, and And deleting the identified flow policy, registering the redefined one flow policy, and deleting the virtual flow table.
상기 프로세서는,
상기 가상 플로우 테이블에서 상기 수신된 플로우 정책 및 상기 식별된 플로우 정책의 매칭 필드 항목들 중 일치하는 매칭 필드 항목의 값은 유지하고 일치하지 않는 매칭 필드 항목의 값은 널 값으로 대체하여 하나의 플로우 정책을 생성하는 것을 특징으로 하는 SDN 스위치.The method of claim 7,
The processor,
In the virtual flow table, one flow policy by maintaining the value of the matched field item among the matching field items of the received flow policy and the identified flow policy, and replacing the value of the matching field item that does not match with a null value. SDN switch, characterized in that to generate a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190095031A KR20210016802A (en) | 2019-08-05 | 2019-08-05 | Method for optimizing flow table for network service based on server-client in software defined networking environment and sdn switch thereofor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190095031A KR20210016802A (en) | 2019-08-05 | 2019-08-05 | Method for optimizing flow table for network service based on server-client in software defined networking environment and sdn switch thereofor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210016802A true KR20210016802A (en) | 2021-02-17 |
Family
ID=74732013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190095031A KR20210016802A (en) | 2019-08-05 | 2019-08-05 | Method for optimizing flow table for network service based on server-client in software defined networking environment and sdn switch thereofor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210016802A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230104129A1 (en) * | 2021-10-04 | 2023-04-06 | Juniper Networks, Inc. | Network policy generation for continuous deployment |
US11700237B2 (en) | 2018-09-28 | 2023-07-11 | Juniper Networks, Inc. | Intent-based policy generation for virtual networks |
US12101227B2 (en) | 2022-12-30 | 2024-09-24 | Juniper Networks, Inc. | Network policy validation |
-
2019
- 2019-08-05 KR KR1020190095031A patent/KR20210016802A/en unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11700237B2 (en) | 2018-09-28 | 2023-07-11 | Juniper Networks, Inc. | Intent-based policy generation for virtual networks |
US20230104129A1 (en) * | 2021-10-04 | 2023-04-06 | Juniper Networks, Inc. | Network policy generation for continuous deployment |
US11870642B2 (en) * | 2021-10-04 | 2024-01-09 | Juniper Networks, Inc. | Network policy generation for continuous deployment |
US12101227B2 (en) | 2022-12-30 | 2024-09-24 | Juniper Networks, Inc. | Network policy validation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9948553B2 (en) | System and method for virtual network-based distributed multi-domain routing control | |
JP5621778B2 (en) | Content-based switch system and content-based switch method | |
KR101703088B1 (en) | Aggregated routing method based on sdn and system thereof | |
RU2562438C2 (en) | Network system and network management method | |
CN103026660B (en) | Network policy configuration method, management equipment and network management centre device | |
JP2019500822A (en) | Virtual machine packet control | |
KR102155262B1 (en) | Elastic honeynet system and method for managing the same | |
JP2015503274A (en) | System and method for mitigating congestion in a fat tree topology using dynamic allocation of virtual lanes | |
WO2021098425A1 (en) | Qos policy method, device, and computing device for service configuration | |
CN103997414A (en) | Configuration information generation method and network control unit | |
CN104394080A (en) | Method and device for achieving function of security group | |
KR20210016802A (en) | Method for optimizing flow table for network service based on server-client in software defined networking environment and sdn switch thereofor | |
WO2021120633A1 (en) | Load balancing method and related device | |
US20130275620A1 (en) | Communication system, control apparatus, communication method, and program | |
KR101746105B1 (en) | Openflow switch capable of service chaining | |
KR20220029142A (en) | Sdn controller server and method for analysing sdn based network traffic usage thereof | |
KR101729944B1 (en) | Method for supplying ip address by multi tunant network system based on sdn | |
KR101934908B1 (en) | Method for controlling of pc power by aggregated routing based on sdn | |
KR101729945B1 (en) | Method for supporting multi tunant by network system based on sdn | |
KR101729939B1 (en) | Multi tunant network system based on sdn | |
CN115460213A (en) | Service processing method and device, electronic equipment and computer readable medium | |
KR101363338B1 (en) | Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow | |
JP2017184195A (en) | Communication management device, communication management method and program | |
KR101806376B1 (en) | Multi tunant network system based on sdn capable of supplying ip address | |
KR101739097B1 (en) | Service chaining method in openflow switch |