KR20170031539A - Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance - Google Patents

Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance Download PDF

Info

Publication number
KR20170031539A
KR20170031539A KR1020150129233A KR20150129233A KR20170031539A KR 20170031539 A KR20170031539 A KR 20170031539A KR 1020150129233 A KR1020150129233 A KR 1020150129233A KR 20150129233 A KR20150129233 A KR 20150129233A KR 20170031539 A KR20170031539 A KR 20170031539A
Authority
KR
South Korea
Prior art keywords
switch
packet
information table
host
controller
Prior art date
Application number
KR1020150129233A
Other languages
Korean (ko)
Inventor
김태홍
박세형
박수명
신지수
임창규
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020150129233A priority Critical patent/KR20170031539A/en
Publication of KR20170031539A publication Critical patent/KR20170031539A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Abstract

The present invention relates to a distributed routing apparatus and a method in an open flow network partitioned environment. The distributed routing method in a controller in an open flow network partitioned environment comprises: a step of managing port information of a switch managed by another controller in the same network with an external port information table; and a step of updating an accumulated cost information table for each host with accumulated cost as receiving a packet with an separately defined packet including the accumulated cost from the switch, flooding the packet to other switches, and transmitting the separately defined packet together when ports of the other switches are included in the external port information table.

Description

오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치 및 방법{Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance}[0001] The present invention relates to a distributed routing apparatus and method in an open-

본 발명은 소프트웨어 정의 네트워크(Software Defined Network : SDN) 기술에 관한 것으로, 특히 고확장성과 고가용성을 위한 분산 컨트롤러 환경에서 분산 방식으로 라우팅을 처리할 수 있는 장치 및 방법에 대한 것이다.The present invention relates to software defined network (SDN) technology, and more particularly, to an apparatus and method capable of handling routing in a distributed manner in a distributed controller environment for high scalability and high availability.

최근 SDN 컨트롤러 기술은 캐리어급 네트워크에서 요구하는 고확장성과 고가용성을 지원하기 위하여, 논리적으로는 하나의 중앙 컨트롤러의 형식을 취하면서도 물리적으로는 하나 이상의 컨트롤러로 구성되는 분산 컨트롤러의 형태를 취하고 있다. Recently, SDN controller technology takes the form of a distributed controller that is physically composed of one or more controllers while taking the form of one central controller logically in order to support high scalability and high availability required in carrier-grade networks.

그러나, 논리적으로 하나의 중앙집중적인 컨트롤러를 구축하기 위하여 분산 컨트롤러간 스위치, 링크, 포트 등의 상태 정보를 공유하고 있으며, 분산 컨트롤러 간 상태 정보의 공유 문제로 인한 트래픽 및 처리 지연 문제가 분산 컨트롤러의 성능을 좌우할 정도로 중요한 문제로 부각되고 있다.However, in order to construct a single centralized controller logically, state information of switches, links, and ports between the distributed controllers is shared. In addition, traffic and processing delay problems due to the sharing of status information between distributed controllers It is becoming an important issue that affects performance.

즉, 분산 컨트롤러 구조를 활용할 경우 컨트롤러 간 협업을 통하여 네트워크 플로우 처리 성능을 높일 수 있으나, 컨트롤러 수가 증가함에 따라 상태 정보 공유로 발생하는 성능 저하 역시 증가하여 최대 활용할 수 있는 분산 컨트롤러의 수에 제한을 받을 수 있다. In other words, when the distributed controller structure is used, the performance of the network flow processing can be improved through the cooperation between the controllers. However, as the number of controllers increases, the performance degradation due to the sharing of the state information also increases, .

본 발명은 SDN 분산 컨트롤러 환경에서 데이터 플레인이 각각의 개별 컨트롤러가 관리하는 영역으로 파티셔닝되어 있을 때, 고 확장성과 고 가용성을 위해 컨트롤러 간 상태 정보의 공유없이 종단간(End-to-End) 라우팅 경로를 제공하기 위한 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치 및 방법을 제공한다. In the SDN distributed controller environment, when the data plane is partitioned into areas managed by respective individual controllers, the present invention provides an end-to-end routing path without sharing state information between controllers for high scalability and high availability. The present invention provides a distributed routing apparatus and method in an open flow network partitioned environment.

본 발명은 오픈 플로우 네트워크 분할 환경에서의 컨트롤러에서 분산 라우팅 방법으로, 동일 네트워크의 다른 컨트롤러에 의해 관리되는 스위치의 포트 정보를 외부 포트 정보 테이블로 관리하는 단계와, 스위치로부터 패킷과 함께 누적 비용이 포함된 별도로 정의된 패킷을 수신함에 따라, 상기 누적 비용으로 호스트별 누적 비용 정보 테이블을 갱신함과 아울러, 상기 패킷을 다른 스위치들에 플러딩하되, 다른 스위치들의 포트가 상기 외부 포트 정보 테이블에 포함되어 있을 경우, 별도로 정의된 패킷을 함께 전송하는 단계를 포함한다.The present invention relates to a distributed routing method in a controller in an open flow network division environment, comprising: managing port information of a switch managed by another controller of the same network in an external port information table; The accumulated cost information table is updated with the cumulative cost, and the packet is flooded to other switches, and the ports of other switches are included in the external port information table , ≪ / RTI > sending separately defined packets together.

본 발명은 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치로, 외부 포트 정보 테이블과, 동일 네트워크의 다른 컨트롤러에 의해 관리되는 스위치의 포트 정보를 상기 외부 포트 정보 테이블에 저장하는 외부 포트 정보 관리부와, 스위치로부터 패킷과 함께 누적 비용이 포함된 별도로 정의된 패킷을 수신하는 패킷 수신부와, 누적 비용 정보 테이블과, 상기 누적 비용으로 호스트별 누적 비용 정보 테이블을 갱신하는 누적 비용 정보 갱신부와, 상기 패킷을 다른 스위치들에 플러딩하는 패킷 송신부와, 다른 스위치들의 포트가 상기 외부 포트 정보 테이블에 포함되어 있을 경우, 별도로 정의된 패킷을 생성하여 상기 패킷 송신부에서 전송되도록 하는 누적 비용 정보 산출부를 포함한다. The present invention relates to a distributed routing apparatus in an open flow network partitioned environment, which includes an external port information table, an external port information management unit for storing port information of a switch managed by another controller of the same network in the external port information table, A cumulative cost information table, an accumulated cost information updating unit for updating a cumulative cost information table for each host with the cumulative cost, And an accumulated cost information calculation unit for generating separately defined packets when the ports of the other switches are included in the external port information table and transmitting the generated packets to the packet transmission unit.

본 발명에 따라, 분산 형태의 SDN 컨트롤러 구조에서 고확장성과 고가용성을 위하여 데이터 플레인을 분할하여 개별 컨트롤러가 관리하도록 할 때에, 분산 컨트롤러 간 상태 공유 메시지를 없애거나 최소화하도록 함으로써 상태 공유에 따른 오버헤드 및 성능저하 문제를 해결할 수 있다. According to the present invention, in the distributed SDN controller structure, when data planes are divided and managed by individual controllers for high scalability and high availability, state sharing messages between the distributed controllers are eliminated or minimized, And performance degradation problems can be solved.

또한, 개별 컨트롤러가 파티셔닝된 일부의 토폴로지 정보만 가지고도 종단간 최소 비용의 라우팅 경로를 설정할 수 있다.In addition, an individual controller can set an end-to-end least cost routing path with only some partitioned topology information.

도 1은 오픈 플로우 네트워크 분할 환경을 도시한 도면이다.
도 2는 오픈 플로우 네트워크 분할 환경에서 경로 탐색하는 과정의 일 예를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 오픈 플로우 네트워크 분할 환경에서 경로 탐색하는 과정을 설명하기 일 예를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 컨트롤러의 블록 구성도이다.
도 5는 본 발명의 일 실시 예에 따른 외부 포트 정보 관리 단계를 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 패킷 송수신 단계를 설명하기 위한 순서도이다.
1 is a diagram showing an open-flow network division environment.
2 is a diagram illustrating an example of a process of searching for a path in an open flow network division environment.
3 is a diagram illustrating an example of a path search process in an open flow network partitioning environment according to an embodiment of the present invention.
4 is a block diagram of a controller according to an embodiment of the present invention.
5 is a flowchart illustrating an external port information management step according to an embodiment of the present invention.
6 is a flowchart for explaining a packet transmission / reception step according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시 예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout.

본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시 예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

명세서 전반에 걸쳐 사용되는 용어들은 본 발명 실시 예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 본 발명의 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The terms used throughout the specification are defined in consideration of the functions in the embodiments of the present invention and can be sufficiently modified according to the intentions and customs of the user or the operator. It should be based on the contents of.

도 1은 오픈 플로우 네트워크 분할 환경을 도시한 도면이다.1 is a diagram showing an open-flow network division environment.

도 1을 참조하면, 오픈플로우 스위치들(200-1~200-11)로 구성된 하나의 네트워크가 스위치의 근접성 정보를 기준으로 파티셔닝된 상태가 도시되어 있다. 컨트롤러들(100A, 100B, 100C)은 각각 파티셔닝되어 자신의 영역에 포함되어 있는 스위치들을 관리하는데, 스위치 간 링크계층탐색프로토콜(Link Layer Discovery Protocol : LLDP) 패킷 교환을 통하여 링크를 탐색하며, 스위치로부터 특징 응답(FEATURES_REPLY) 패킷을 수신함으로써 자신이 관리하는 스위치 정보를 습득하게 된다. 따라서, 각 컨트롤러들(100A, 100B, 100C)은 자신이 관리하는 스위치 및 링크 정보를 탐색할 수 있게 된다. 또한, 컨트롤러들(100A, 100B, 100C)은 호스트(310)를 송신지(Source)로 하는 패킷을 처음으로 수신할 때에 해당 호스트(310)의 정보를 인지할 수 있게 된다. Referring to FIG. 1, one network composed of open flow switches 200-1 to 200-11 is partitioned based on proximity information of a switch. Each of the controllers 100A, 100B, and 100C manages the switches included in its own area by partitioning, searches for a link through an inter-switch link layer discovery protocol (LLDP) packet exchange, By receiving the FEATURES_REPLY packet, switch information managed by itself is learned. Therefore, each of the controllers 100A, 100B, and 100C can search for the switch and the link information managed by the controllers. In addition, the controllers 100A, 100B, and 100C can recognize the information of the host 310 when receiving the packet with the host 310 as a source for the first time.

이러한 SDN 컨트롤러 오픈 플로우 네트워크 분할 환경에서 소스 호스트 S(310)로부터 목적지 호스트 D(320)까지의 경로를 탐색하는 과정을 살펴보기로 한다. A process of searching for a path from the source host S 310 to the destination host D 320 in the SDN controller open flow network partitioning environment will be described.

도 2는 오픈 플로우 네트워크 분할 환경에서 경로 탐색하는 과정의 일 예를 도시한 도면이다. 2 is a diagram illustrating an example of a process of searching for a path in an open flow network division environment.

도 2를 참조하면, 호스트 S(310)가 호스트 D(320)로 패킷을 전송할 때에, 호스트 D(320)의 IP에 대한 MAC 주소에 대한 ARP 요청 메시지를 전송하면, 스위치 1(200-1)에 호스트 S(310)에 대한 매칭률이 존재하지 않으므로 컨트롤러 A(100A)에게 PACKET_IN 형태로 질의하게 된다. 이때, 컨트롤러 A(100A)는 호스트 S(310)를 인지할 수 있으며, 스위치 1(200-1)에 접속되어 있다는 사실을 저장하게 된다. Referring to FIG. 2, when the host S 310 transmits an ARP request message for the MAC address of the IP of the host D 320 to the host D 320, the switch 1 200 - There is no matching rate with respect to the host S 310, so the controller A 100A is inquired in the form of PACKET_IN. At this time, the controller A 100A can recognize the host S 310 and store the fact that it is connected to the switch 1 (200-1).

또한, 컨트롤러 A(100A)가 호스트 D(320)에 대한 정보를 가지고 있지 않으므로 호스트 D(320)에 대한 ARP 요청 메시지를 플러딩(Flooding)하도록 설정한다. 마찬가지 방식으로, 컨트롤러 A(100A)가 스위치 2, 3, 4(200-2, 200-3, 200-4)로부터 PACKET_IN 메시지를 수신할 수 있으나, 호스트 S(310)에 대한 정보를 이미 가지고 있으므로 호스트 정보를 업데이트하지 않는다. In addition, since the controller A 100A does not have information on the host D 320, it sets up an ARP request message for the host D 320 to float. Similarly, the controller A 100A may receive the PACKET_IN message from the switches 2, 3, 4 (200-2, 200-3, 200-4), but it already has the information about the host S 310 Do not update host information.

만약, ARP 요청 메시지가 스위치 6(200-6)에 도달할 경우, 컨트롤러 A(100A)와 마찬가지로, 컨트롤러 B(100B)는 호스트 S(310)가 스위치 6(200-6)에 연결되었다고 인지할 수 있으며, 컨트롤러 C(100C)의 영역에서 ARP 메시지를 스위치 8(200-8)에서 처음 수신할 경우 컨트롤러 C(100C)는 호스트 S(310)가 스위치 8(200-8)에 연결된 것으로 간주한다. When the ARP request message reaches the switch 6 (200-6), the controller B 100B, like the controller A 100A, recognizes that the host S 310 is connected to the switch 6 200-6 Controller C 100C considers that host S 310 is connected to switch 8 (200-8) when first receiving an ARP message in switch 8 (200-8) in the area of controller C (100C) .

반대로 호스트 D(320)가 자신에 대한 ARP 요청 메시지를 수신한 후 그 응답으로 ARP 응답 메시지를 전송할 때, 컨트롤러 C(100C)가 호스트 D(320)가 스위치 1(200-1)에 연결되었다는 사실을 인지할 수 있다. 또한, 컨트롤러 C(100C)는 ARP 응답 메시지를 전송하기 위하여 호스트 S(310)가 연결되어 있는 스위치 8(200-8)까지 패킷을 전달하게 되며, 컨트롤러 B(100B)는 ARP 응답 메시지를 스위치 6(200-6)에게, 컨트롤러 A(100A)는 스위치 1(200-1)에게 전달할 수 있다. On the contrary, when the host D 320 receives the ARP request message for itself and then transmits an ARP response message in response thereto, the controller C 100C determines that the host D 320 is connected to the switch 1 200-1 . ≪ / RTI > The controller C 100C transmits a packet to the switch 8 (200-8) to which the host S 310 is connected in order to transmit the ARP response message. The controller B 100B transmits an ARP response message to the switch 8 The controller A 100A can transmit the request to the switch 1 200-1.

마지막으로 호스트 S(310)가 호스트 D(320)에 대한 MAC 주소를 인지한 후에는 데이터 패킷을 전송할 수 있으며, 컨트롤러들 각각이 저장하고 있는 호스트 D(320)의 위치에 따라 라우팅 경로가 결정될 수 있다. Finally, after the host S 310 recognizes the MAC address of the host D 320, it can transmit the data packet, and the routing path can be determined according to the location of the host D 320 stored in each of the controllers have.

따라서, 호스트 S(310)에서 전송한 패킷은 스위치 1-3-4-6-7-8-9-10의 경로를 따라 전달될 수 있다. Therefore, the packet transmitted from the host S 310 can be transmitted along the path of the switch 1-3-4-6-7-8-9-10.

전술한 바와 같이, 컨트롤러들(100A, 100B, 100C) 각각은 스위치, 링크, 포트 등의 토폴로지 상태 정보를 교환하지 않을 경우, 전체 토폴로지 대신 지역적인 정보 만을 활용하므로 종단간 최적 라우팅 경로를 찾을 수 없다. 이로 인해, 분산 컨트롤러 환경에서는 컨트롤러 사이에 토폴로지 정보를 교환하고 있으나, 전술한 바와 같이 상태 정보 공유로 인한 비용으로 인한 성능 저하 문제를 수반할 수 있다. As described above, when each of the controllers 100A, 100B, and 100C does not exchange topology state information of switches, links, ports, and the like, only the local information is used instead of the entire topology, . Therefore, although the topology information is exchanged between the controllers in the distributed controller environment, the performance degradation due to the cost due to the sharing of state information may be involved as described above.

본 발명에서는 분산 컨트롤러 간 상태 정보의 교환 없이 컨트롤러의 지역적인 토폴로지 정보만으로 종단 간 최적 경로를 탐색하고자 하며, 오픈 플로우 네트워크가 동일 브로드캐스트 도메인에 위치하여 호스트 탐색에 이용되는 ARP, DHCP 메시지 등이 네트워크 전체에 전파된다는 특징을 이용한다. In the present invention, an end-to-end optimal path is searched only by the local topology information of the controller without exchanging state information between the distributed controllers. ARP and DHCP messages used for host search are located in the same broadcast domain, And propagates to the whole.

도 3은 본 발명의 일 실시 예에 따른 SDN 컨트롤러 오픈 플로우 네트워크 분할 환경에서 경로 탐색하는 과정을 설명하기 일 예를 도시한 도면이다. FIG. 3 is a diagram illustrating a process of searching for a path in an SDN controller open flow network partitioning environment according to an embodiment of the present invention.

도 3을 참조하면, 종단간 최소 비용의 경로를 연결할 수 있는 경로 내의 스위치에 호스트가 연결된 것으로 인지할 수 있다. 즉, 호스트 S(310)와 호스트 D(320) 사이의 최소 경로(홉 기준)는 스위치 1-2-5-7-10-11이며, 이에 따라 컨트롤러 B(100B)에서는 스위치 5(200-5)에 호스트 S(310)가 연결되어 있고, 스위치 7(200-7)에 호스트 D(320)가 연결되었다고 인지할 수 있다. 마찬가지로, 컨트롤러 C(100C) 기준으로 호스트 S(310)는 스위치 1(200-1)에, 호스트 D(320)는 호스트 11에 연결된 것으로 인지할 수 있다. Referring to FIG. 3, it can be recognized that a host is connected to a switch in a path that can connect a path with the least cost between ends. That is, the minimum path (hop reference) between the host S 310 and the host D 320 is the switch 1-2-5-7-10-11, and accordingly, the controller B 100B transmits the switch 5 (200-5 The host S 310 is connected to the host D 320 and the host D 320 is connected to the switch 7 200-7. Similarly, on the basis of the controller C (100C), the host S (310) can be recognized as the switch 1 (200-1) and the host D (320)

그러면, 도 3에 도시된 바와 같이 종단간 최소 비용의 경로에 따라 패킷을 전송하기 위한 컨트롤러들(100A, 100B, 100C)의 구성 및 컨트롤러들(100A, 100B, 100C)에서의 라우팅 방법을 살펴보기로 한다. Then, as shown in FIG. 3, a configuration of the controllers 100A, 100B, and 100C and a routing method in the controllers 100A, 100B, and 100C for transmitting a packet according to the path of the least cost among the end- .

도 4는 본 발명의 일 실시 예에 따른 컨트롤러의 블록 구성도이다. 4 is a block diagram of a controller according to an embodiment of the present invention.

도 4를 참조하면, 컨트롤러(100)는 외부 포트 정보 관리부(110), 외부 포트 정보 테이블(120), 패킷 수신부(130), 누적 비용 정보 갱신부(140), 누적 비용 정보 테이블(150), 패킷 송신부(160) 및 누적 비용 정보 산출부(170)를 포함한다.4, the controller 100 includes an external port information management unit 110, an external port information table 120, a packet receiving unit 130, an accumulated cost information updating unit 140, an accumulated cost information table 150, A packet transmission unit 160 and an accumulated cost information calculation unit 170. [

외부 포트 정보 관리부(110)는 동일 네트워크의 다른 컨트롤러에 의해 관리되는 스위치의 포트 정보를 외부 포트 정보 테이블(120)에 저장한다. 즉, 외부 포트 정보 관리부(110)는 LLDP 패킷을 수신함에 따라, LLDP 패킷을 송신한 스위치가 자신이 관리하는 파티션 내에 위치한 스위치가 아닌 경우, LLDP 패킷을 송신한 스위치가 동일 네트워크 내 다른 컨트롤러가 관리하는 스위치인지를 판단하고, 동일 네트워크 내 분산 컨트롤러가 관리하는 스위치인 경우, 해당 스위치의 포트 정보를 외부 포트 정보 테이블에 저장한다. 여기서, 외부 포트 정보 관리부(110)는 동일 네트워크 내 다른 컨트롤러가 관리하는 스위치인지를 판단하기 위해, LDP 패킷에 정의된 OptionalTLV 필드를 통해 컨트롤러의 ID, 오픈 플로우 지원 여부, 동일한 네트워크를 관리하는 분산 컨트롤러인지 여부를 판단한다.The external port information management unit 110 stores port information of a switch managed by another controller of the same network in the external port information table 120. [ That is, when the switch that transmitted the LLDP packet is not a switch located in the partition managed by the external port information management unit 110 as the LLDP packet is received, the switch that transmitted the LLDP packet is managed by another controller in the same network If the switch is a switch managed by the distributed controller in the same network, the port information of the switch is stored in the external port information table. Here, in order to determine whether the switch is managed by another controller in the same network, the external port information management unit 110 determines whether the ID of the controller, open flow support, or the like, through the Optional TLV field defined in the LDP packet, .

여기서, 외부 포트 정보 테이블(120)은 하기의 <표 1>과 같이 구성될 수 있다.Here, the external port information table 120 may be configured as shown in Table 1 below.

NoNo DPID of SwitchDPID of Switch Port#Port #

패킷 수신부(130)는 스위치로부터 패킷과 함께 누적 비용이 포함된 별도로 정의된 패킷을 수신한다. 이때, 패킷 수신부(130)는 스위치로부터 수신된 패킷이 송신자로부터 스위치까지의 누적 비용 정보를 포함하는 별도로 정의된 패킷을 포함할 경우, 별도로 정의된 패킷을 분리하여 상기 누적 비용 정보 갱신부(140)에 전달한다. The packet receiving unit 130 receives a separately defined packet including an accumulated cost together with the packet from the switch. In this case, when the packet received from the switch includes a separately defined packet including the accumulated cost information from the sender to the switch, the packet receiving unit 130 separates the separately defined packet and updates the accumulated cost information updating unit 140, .

누적 비용 정보 갱신부(140)는 누적 비용으로 호스트별 누적 비용 정보 테이블(150)을 갱신한다. 이때, 누적 비용 정보 갱신부(140)는 미리 저장된 호스트별 누적 비용 정보들과 비교하여, 동일 호스트에 대해 비용 정보가 최소일 경우에 호스트별 누적 비용 정보 테이블을 갱신한다. The accumulated cost information updating unit 140 updates the accumulated cost information table 150 for each host with the accumulated cost. At this time, the accumulated cost information updating unit 140 compares the cumulative cost information for each host stored in advance, and updates the cumulative cost information table for each host when the cost information is minimum for the same host.

누적 비용 정보 테이블(150)은 하기의 <표 2>와 같이 L2 패킷의 송신자로부터 현재 스위치까지의 비용을 저장하는 것으로, 누적 비용은 Host IP address에 해당하는 송신자 엔트리의 누적 비용(Cumulative cost to corresponding switch) 값과 해당 스위치(corresponding switch's DPID)로부터 현재 스위치까지 경로 비용의 합으로 계산될 수 있다. The cumulative cost information table 150 stores the cost from the sender of the L2 packet to the current switch as shown in Table 2 below. The cumulative cost is the cumulative cost corresponding to the sender's entry corresponding to the Host IP address. switch value and the path cost from the corresponding switch (DPID) to the current switch.

NoNo Host IP addressHost IP address corresponding switch's DPIDcorresponding switch's DPID Cumulative cost to corresponding switchCumulative cost to corresponding switch

패킷 송신부(160)는 패킷을 다른 스위치들에 플러딩한다. 즉, 패킷 송신부(150)는 다른 스위치들의 포트가 외부 포트 정보 테이블(120)에 포함되어 있는지를 검색하여, 포트가 외부 포트 정보 테이블(120)에 포함되어 있을 경우, 누적 비용 정보 산출부(170)에 요청하여 누적 비용 정보를 획득하고, 획득된 누적 비용 정보가 포함된 별도로 정의된 패킷을 패킷과 함께 전송한다. 또한, 패킷 송신부(160)는 검색 결과 해당 스위치의 포트가 외부 포트 정보 테이블(120)에 포함되어 있지 않을 경우, 해당 포트에는 패킷만을 전송한다.The packet transmission unit 160 floods the packet to other switches. That is, the packet transmission unit 150 searches whether the ports of other switches are included in the external port information table 120, and when the port is included in the external port information table 120, To acquire the accumulated cost information, and transmits the separately defined packet including the acquired accumulated cost information together with the packet. If the port of the switch corresponding to the search result is not included in the external port information table 120, the packet transmission unit 160 transmits only the packet to the corresponding port.

누적 비용 정보 산출부(170)는 패킷 송신부(160)의 요청에 따라 누적 비용을 산출하여 패킷 송신부(160)에 제공한다. 여기서, 누적 비용은 상기 <표 2>에서와 같이 Host IP address에 해당하는 송신자 엔트리의 누적 비용(Cumulative cost to corresponding switch) 값과 해당 스위치(corresponding switch's DPID)로부터 현재 스위치까지 경로 비용의 합으로 산출된다. The cumulative cost information calculation unit 170 calculates the cumulative cost at the request of the packet transmission unit 160 and provides the cumulative cost to the packet transmission unit 160. The cumulative cost is calculated as the sum of the cumulative cost to corresponding switch value of the sender entry corresponding to the Host IP address and the path cost from the corresponding switch's DPID to the current switch as shown in Table 2 do.

다음으로, 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법은 크게 외부 포트 정보 관리 단계 및 패킷 송수신 처리 단계로 구성될 수 있다. Next, a distributed routing method in an open flow network partitioned environment can be largely comprised of an external port information management step and a packet transmission / reception processing step.

도 5는 본 발명의 일 실시 예에 따른 외부 포트 정보 관리 단계를 설명하기 위한 순서도이다.5 is a flowchart illustrating an external port information management step according to an embodiment of the present invention.

도 5를 참조하면, 컨트롤러가 LLDP 패킷을 수신(S510)하면, LLDP 패킷의 송신 스위치가 자신이 관리하는 파티션 내에 위치한 스위치가 전송한 것인지 여부를 판단한다(S520).Referring to FIG. 5, when the controller receives the LLDP packet (S510), it determines whether the transmission switch of the LLDP packet is transmitted by a switch located in the partition managed by the controller (S520).

S520의 판단 결과 자신이 관리하는 파티션 내의 스위치가 전송한 LLDP 패킷이 아닌 경우, 컨트롤러는 LLDP 패킷이 동일 네트워크 내 다른 컨트롤러가 관리하는 스위치가 전송한 것인지 여부를 판단한다(S530). LLDP 패킷에는 OptionalTLV 필드가 정의되어 있으므로, 컨트롤러의 ID, OpenFlow 지원 여부, 동일한 네트워크를 관리하는 분산 컨트롤러인지 여부를 판단될 수 있다.If it is determined in step S520 that the LLDP packet is not the LLDP packet transmitted by the switch in the partition managed by itself, the controller determines whether the LLDP packet is transmitted by a switch managed by another controller in the same network (S530). Since the Optional TLV field is defined in the LLDP packet, it can be determined whether the controller ID, OpenFlow support, and whether it is a distributed controller that manages the same network.

S530의 판단 결과 동일 네트워크 내 분산 컨트롤러가 관리하는 스위치가 전송한 LLDP인 경우, 컨트롤러는 해당 스위치의 포트 정보를 외부 포트 정보 테이블(External port information table)에 저장한다(S540). 여기서, 외부 포트 정보 테이블은 스위치의 DPID 및 포트 넘버를 포함한다. If it is determined in step S530 that the switch is the LLDP transmitted by the switch managed by the distributed controller in the same network, the controller stores the port information of the switch in the external port information table (S540). Here, the external port information table includes the DPID of the switch and the port number.

도 6은 본 발명의 일 실시 예에 따른 패킷 송수신 단계를 설명하기 위한 순서도이다. 6 is a flowchart for explaining a packet transmission / reception step according to an embodiment of the present invention.

도 6을 참조하면, 컨트롤러는 스위치로부터 L2 패킷을 수신(S610)함에 따라, 누적 비용 패킷이 별도로 정의된 패킷인지를 판단한다(S620). 여기서, 스위치는 이웃하는 파티션의 스위치로부터 별도로 정의된 패킷을 수신할 경우에는 해당하는 매칭 룰이 없으므로 컨트롤러에게 PACKET_IN의 형태로 질의할 수 있으므로, 컨트롤러는 별도로 정의된 패킷인지의 여부를 판단할 수 있다. Referring to FIG. 6, the controller receives the L2 packet from the switch (S610), and determines whether the accumulated cost packet is a separately defined packet (S620). Here, when the switch receives a packet defined separately from a switch of a neighboring partition, since there is no corresponding matching rule, the controller can query the controller in the form of PACKET_IN, so that the controller can determine whether or not it is a packet defined separately .

S620의 판단 결과 L2 패킷이 누적 비용 패킷인 별도로 정의된 패킷일 경우, 컨트롤러는 L2 패킷과 비용 정보를 분리하여 호스트별 누적 비용 정보 테이블을 갱신한다(S640). 또한, 일반적인 컨트롤러의 절차와 마찬가지로 탐색된 호스트 정보가 해당 스위치에 연결되어 있다는 정보를 저장한다. If it is determined in operation S620 that the L2 packet is a separately defined packet that is an accumulated cost packet, the controller updates the accumulated cost information table for each host by separating the L2 packet and the cost information (S640). Also, it stores information that the discovered host information is connected to the corresponding switch, like the general controller procedure.

이때, 컨트롤러는 자신의 파티션 내의 다른 스위치로부터 별도로 정의된 패킷을 중복하여 수신할 수 있으므로, 이때 동일 호스트에 대해 비용 정보가 작을 경우(S630)에 한하여 호스트별 누적 비용 정보 테이블과 호스트 정보를 갱신한다. At this time, since the controller can receive packets defined separately from other switches in its own partition, if the cost information is small for the same host (S630), the cumulative cost information table and the host information for each host are updated .

컨트롤러는 ARP 요청 등 L2 패킷을 플러딩(Flooding, 스위치의 모든 포트로 전송)하기 전에, 외부 포트 정보 테이블을 검색(S650)하여, 포트가 외부 포트 정보 테이블에 포함되어 있는지를 판단한다(S660).In step S660, the controller searches the external port information table (S650) before the L2 packet, such as an ARP request, is flooded (transmitted to all ports of the switch), and determines whether the port is included in the external port information table.

S660의 판단 결과 해당 스위치 포트가 외부 포트 정보 테이블에 포함되어 있을 경우, 컨트롤러는 해당 포트에는 컨트롤러가 해석할 수 있도록 별도로 정의된 패킷을 전송한다(S680). 즉, L2 패킷과 함께 L2 패킷의 송신자로부터 현재 스위치까지의 비용정보를 포함하여 전달한다. If it is determined in step S660 that the corresponding switch port is included in the external port information table, the controller transmits a separately defined packet to the corresponding port so that the controller can interpret the switch port (S680). In other words, together with the L2 packet, cost information from the sender of the L2 packet to the current switch is transmitted.

반면, S660의 판단 결과 해당 스위치의 포트가 외부 포트 정보 테이블에 포함되어 있지 않은 경우, 컨트롤러는 해당 포트에는 L2 패킷을 그대로 전송한다(S670). On the other hand, if it is determined in step S660 that the port of the corresponding switch is not included in the external port information table, the controller directly transmits the L2 packet to the port (S670).

이때, L2 패킷의 송신자로부터 현재 스위치까지의 비용은 Host IP address에 해당하는 송신자 엔트리의 누적 비용(Cumulative cost to corresponding switch) 값과 해당 스위치(corresponding switch's DPID)로부터 현재 스위치까지 경로 비용의 합으로 계산될 수 있다. 만약, L2 패킷의 송신자가 호스트별 누적 비용 정보 테이블에 존재하지 않을 경우, 해당 호스트가 개별 컨트롤러가 관리하는 파티션 내의 스위치에 연결되어 있다는 것을 의미하므로 호스트가 연결된 스위치로부터 현재 스위치까지의 비용으로 계산할 수 있다.At this time, the cost from the sender of the L2 packet to the current switch is calculated as the sum of the path cost from the corresponding switch's corresponding DPID to the cumulative cost to corresponding switch value of the sender entry corresponding to the host IP address . If the sender of the L2 packet does not exist in the cumulative cost information table for each host, it means that the host is connected to the switch in the partition managed by the individual controller. have.

전술한 바와 같은 라우팅 방법을 통해 별도로 정의된 패킷을 데이터 플레인에 전송하는 대신, 별도로 정의된 패킷을 컨트롤러간 상태 정보 공유를 통하여 전송하고, 해당 패킷을 수신한 컨트롤러가 수신한 L2 패킷의 플러딩함과 동시에 다음의 절차를 수행하도록 할 수 있다. 이 경우에는 컨트롤러간 상태 정보 공유 매커니즘이 적용될 수 있다. Instead of transmitting a packet defined separately through the above-described routing method to the data plane, a separately defined packet is transmitted through sharing of state information between the controllers, and the L2 packet received by the controller receiving the packet is flooded At the same time, the following procedure can be performed. In this case, the inter-controller state information sharing mechanism can be applied.

전술한 방법은 오픈플로우 스위치로 구성된 하나의 네트워크가 스위치의 근접성 정보를 기준으로 파티셔닝된 상태를 가정한 것이다. 이를 위해서는 개별 컨트롤러 중의 하나가 데이터 플레인 상의 스위치의 접속을 허용하고, 실시간 또는 일정 시간 후 데이터 플레인 상의 스위치들을 분산 컨트롤러 내의 개별 컨트롤러로 이전 (Migration)할 수 있다. 또한, 사용자가 노스바운드 API (Northbound API)를 통하여 전체 토폴로지의 모니터링 및 제어를 허락하기 위하여, 개별 컨트롤러의 정보들을 수집하고 제어하는 장치를 추가할 수 있다. The above-described method assumes that one network composed of open flow switches is partitioned based on the proximity information of the switches. To do so, one of the individual controllers may allow the connection of the switches on the data plane and migrate the switches on the data plane to the individual controllers in the distributed controller in real time or after a certain time. In addition, a device may be added to collect and control information of individual controllers to allow the user to monitor and control the entire topology through the Northbound API (API).

Claims (17)

오픈 플로우 네트워크 분할 환경에서의 컨트롤러에서 분산 라우팅 방법에 있어서,
동일 네트워크의 다른 컨트롤러에 의해 관리되는 스위치의 포트 정보를 외부 포트 정보 테이블로 관리하는 단계와,
스위치로부터 패킷과 함께 누적 비용이 포함된 별도로 정의된 패킷을 수신함에 따라, 상기 누적 비용으로 호스트별 누적 비용 정보 테이블을 갱신함과 아울러, 상기 패킷을 다른 스위치들에 플러딩하되, 다른 스위치들의 포트가 상기 외부 포트 정보 테이블에 포함되어 있을 경우, 별도로 정의된 패킷을 함께 전송하는 단계를 포함함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
A distributed routing method in a controller in an open flow network partitioned environment,
Managing port information of a switch managed by another controller of the same network in an external port information table;
And a controller for updating the cumulative cost information table for each host with the cumulative cost and for flooding the packet to other switches, And if the packet is included in the external port information table, transmitting separately defined packets together.
제 1항에 있어서, 상기 관리하는 단계는
LLDP 패킷을 수신함에 따라, LLDP 패킷을 송신한 스위치가 자신이 관리하는 파티션 내에 위치한 스위치인지를 판단하는 단계와,
상기 판단 결과, 자신이 관리하는 파티션 내의 스위치가 아닌 경우, 상기 LLDP 패킷을 송신한 스위치가 동일 네트워크 내 다른 컨트롤러가 관리하는 스위치인지를 판단하는 단계와,
상기 판단 결과, 동일 네트워크 내 분산 컨트롤러가 관리하는 스위치인 경우, 해당 스위치의 포트 정보를 외부 포트 정보 테이블에 저장하는 단계를 포함함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
The method of claim 1, wherein the administering comprises:
Determining whether the switch transmitting the LLDP packet is a switch located in a partition managed by the LLDP packet upon receiving the LLDP packet,
Determining whether a switch that has transmitted the LLDP packet is a switch managed by another controller in the same network, if it is determined that the switch is not a switch in a partition managed by itself;
And storing the port information of the switch in an external port information table when the switch is a switch managed by a distributed controller in the same network as the determination result.
제 2항에 있어서, 상기 동일 네트워크 내 다른 컨트롤러가 관리하는 스위치인지를 판단하는 단계는 LLDP 패킷에 정의된 OptionalTLV 필드를 통해 컨트롤러의 ID, 오픈 플로우 지원 여부, 동일한 네트워크를 관리하는 분산 컨트롤러인지 여부를 판단함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
The method as claimed in claim 2, wherein the step of determining whether the switch is managed by another controller in the same network includes: determining whether the ID of the controller, open flow support, and whether the distributed controller manages the same network through the Optional TLV field defined in the LLDP packet Wherein said method comprises the steps of:
제 2항에 있어서, 상기 외부 포트 정보 테이블은
스위치의 DPID 및 포트 넘버를 포함함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
The method of claim 2, wherein the external port information table
And a DPID and a port number of the switch. The distributed routing method in an open-flow network division environment.
제 1항에 있어서, 상기 전송하는 단계는
스위치로부터 수신된 패킷이 송신자로부터 스위치까지의 누적 비용 정보를 포함하는 별도로 정의된 패킷을 포함하는지를 판단하는 단계와,
상기 별도로 정의된 패킷을 포함할 경우, 패킷과 별도로 정의된 패킷을 분리하여 호스트별 누적 비용 정보 테이블을 갱신하는 단계와,
상기 패킷을 다른 스위치들에 플러딩하되, 다른 스위치들의 포트가 상기 외부 포트 정보 테이블에 포함되어 있는지를 검색하는 단계와,
상기 검색 결과 포트가 외부 포트 정보 테이블에 포함되어 있을 경우, 해당 포트에는 패킷과 함께 별도로 정의된 패킷을 전송하는 단계를 포함함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
2. The method of claim 1, wherein the transmitting
Determining whether a packet received from the switch includes a separately defined packet including cumulative cost information from the sender to the switch;
Updating a cumulative cost information table for each host by separating a packet defined separately from the packet when the separately defined packet is included;
The method comprising the steps of: flooding the packet to other switches, and detecting whether a port of another switch is included in the external port information table;
And if the search result port is included in the external port information table, transmitting a packet separately defined together with the packet to the corresponding port.
제 5항에 있어서, 상기 갱신하는 단계는
미리 저장된 호스트별 누적 비용 정보들과 비교하여, 동일 호스트에 대해 비용 정보가 최소일 경우에 호스트별 누적 비용 정보 테이블을 갱신함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
6. The method of claim 5, wherein the updating comprises:
Wherein the accumulated cost information for each host is compared with the accumulated cost information for each host, and the accumulated cost information table for each host is updated when the cost information is minimum for the same host.
제 5항에 있어서,
상기 검색 결과 해당 스위치의 포트가 외부 포트 정보 테이블에 포함되어 있지 않을 경우, 해당 포트에는 패킷만을 전송하는 단계를 더 포함함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
6. The method of claim 5,
Further comprising the step of transmitting only a packet to the corresponding port when the port of the corresponding switch is not included in the external port information table as a result of the search.
제 5항에 있어서, 상기 누적 비용은
Host IP address에 해당하는 송신자 엔트리의 누적 비용(Cumulative cost to corresponding switch) 값과 해당 스위치(corresponding switch's DPID)로부터 현재 스위치까지 경로 비용의 합으로 산출됨을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 방법.
6. The method of claim 5,
And the path cost from the corresponding switch (corresponding switch's DPID) to the current switch is calculated as the cumulative cost to corresponding switch value of the sender entry corresponding to the host IP address. Way.
외부 포트 정보 테이블과,
동일 네트워크의 다른 컨트롤러에 의해 관리되는 스위치의 포트 정보를 상기 외부 포트 정보 테이블에 저장하는 외부 포트 정보 관리부와,
스위치로부터 패킷과 함께 누적 비용이 포함된 별도로 정의된 패킷을 수신하는 패킷 수신부와,
누적 비용 정보 테이블과,
상기 누적 비용으로 호스트별 누적 비용 정보 테이블을 갱신하는 누적 비용 정보 갱신부와,
상기 패킷을 다른 스위치들에 플러딩하는 패킷 송신부와,
다른 스위치들의 포트가 상기 외부 포트 정보 테이블에 포함되어 있을 경우, 별도로 정의된 패킷을 생성하여 상기 패킷 송신부에서 전송되도록 하는 누적 비용 정보 산출부를 포함함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
An external port information table,
An external port information management unit for storing port information of a switch managed by another controller of the same network in the external port information table;
A packet receiver for receiving a separately defined packet including an accumulated cost together with a packet from the switch;
An accumulated cost information table,
An accumulated cost information updating unit for updating the accumulated cost information table for each host by the accumulated cost;
A packet transmitter for flooding the packet to other switches;
And an accumulated cost information calculation unit for generating a separately defined packet and transmitting the separately defined packet to the packet transmission unit when a port of another switch is included in the external port information table. Device.
제 9항에 있어서, 상기 외부 포트 정보 관리부는
LLDP 패킷을 수신함에 따라, LLDP 패킷을 송신한 스위치가 자신이 관리하는 파티션 내에 위치한 스위치가 아닌 경우, 상기 LLDP 패킷을 송신한 스위치가 동일 네트워크 내 다른 컨트롤러가 관리하는 스위치인지를 판단하고, 동일 네트워크 내 분산 컨트롤러가 관리하는 스위치인 경우, 해당 스위치의 포트 정보를 외부 포트 정보 테이블에 저장함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
The method of claim 9, wherein the external port information management unit
When the LLDP packet is received, if the switch transmitting the LLDP packet is not a switch located in the partition managed by the LLDP packet, it is determined whether the switch that transmitted the LLDP packet is a switch managed by another controller in the same network. And the port information of the switch is stored in the external port information table when the switch is managed by the internal distributed controller.
제 10항에 있어서, 상기 외부 포트 정보 관리부는
동일 네트워크 내 다른 컨트롤러가 관리하는 스위치인지를 판단하기 위해, LDP 패킷에 정의된 OptionalTLV 필드를 통해 컨트롤러의 ID, 오픈 플로우 지원 여부, 동일한 네트워크를 관리하는 분산 컨트롤러인지 여부를 판단함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
The method of claim 10, wherein the external port information management unit
In order to determine whether the switch is managed by another controller in the same network, it is determined whether the ID of the controller, the open flow support, and whether it is a distributed controller managing the same network through the Optional TLV field defined in the LDP packet Distributed routing apparatus in a flow network partitioned environment.
제 10항에 있어서, 상기 외부 포트 정보 테이블은
스위치의 DPID 및 포트 넘버를 포함함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
11. The method of claim 10, wherein the external port information table
And a DPID and a port number of the switch.
제 9항에 있어서, 상기 패킷 수신부는
스위치로부터 수신된 패킷이 송신자로부터 스위치까지의 누적 비용 정보를 포함하는 별도로 정의된 패킷을 포함할 경우, 별도로 정의된 패킷을 분리하여 상기 누적 비용 정보 갱신부에 전달함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
The apparatus of claim 9, wherein the packet receiver
When the packet received from the switch includes a separately defined packet including cumulative cost information from the sender to the switch, separates the separately defined packet and delivers it to the cumulative cost information updating unit. Distributed routing device in an environment.
제 13항에 있어서, 상기 누적 비용 정보 갱신부는
미리 저장된 호스트별 누적 비용 정보들과 비교하여, 동일 호스트에 대해 비용 정보가 최소일 경우에 호스트별 누적 비용 정보 테이블을 갱신함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
14. The method of claim 13, wherein the cumulative cost information updating unit
Wherein the accumulated cost information for each host is compared with the accumulated cost information for each host, and the accumulated cost information for each host is updated when the cost information is the minimum for the same host.
제 9항에 있어서, 상기 패킷 송신부는
상기 패킷을 다른 스위치들에 플러딩하되, 다른 스위치들의 포트가 상기 외부 포트 정보 테이블에 포함되어 있는지를 검색하여, 포트가 외부 포트 정보 테이블에 포함되어 있을 경우, 상기 누적 비용 정보 산출부에 요청하여 누적 비용 정보를 획득하고, 상기 획득된 누적 비용 정보가 포함된 별도로 정의된 패킷을 상기 패킷과 함께 전송함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
The method of claim 9, wherein the packet transmission unit
The packet is flooded to other switches, and a check is made as to whether ports of other switches are included in the external port information table. When the port is included in the external port information table, Cost information, and transmits a separately defined packet including the acquired accumulated cost information together with the packet.
제 15항에 있어서, 상기 패킷 송신부는
상기 검색 결과 해당 스위치의 포트가 외부 포트 정보 테이블에 포함되어 있지 않을 경우, 해당 포트에는 패킷만을 전송함을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
16. The apparatus of claim 15, wherein the packet transmitter
Wherein when the port of the corresponding switch is not included in the external port information table, only the packet is transmitted to the corresponding port.
제 8항에 있어서, 상기 누적 비용은
Host IP address에 해당하는 송신자 엔트리의 누적 비용(Cumulative cost to corresponding switch) 값과 해당 스위치(corresponding switch's DPID)로부터 현재 스위치까지 경로 비용의 합으로 산출됨을 특징으로 하는 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치.
9. The method of claim 8,
And the path cost from the corresponding switch (corresponding switch's DPID) to the current switch is calculated as the cumulative cost to corresponding switch value of the sender entry corresponding to the host IP address. Device.
KR1020150129233A 2015-09-11 2015-09-11 Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance KR20170031539A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150129233A KR20170031539A (en) 2015-09-11 2015-09-11 Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150129233A KR20170031539A (en) 2015-09-11 2015-09-11 Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance

Publications (1)

Publication Number Publication Date
KR20170031539A true KR20170031539A (en) 2017-03-21

Family

ID=58502497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150129233A KR20170031539A (en) 2015-09-11 2015-09-11 Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance

Country Status (1)

Country Link
KR (1) KR20170031539A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180136605A (en) * 2017-06-14 2018-12-26 고려대학교 산학협력단 Method for measuring path latency based on sdn

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180136605A (en) * 2017-06-14 2018-12-26 고려대학교 산학협력단 Method for measuring path latency based on sdn

Similar Documents

Publication Publication Date Title
US10057158B2 (en) Control device discovery in networks having separate control and forwarding devices
US9385949B2 (en) Routing controlled by subnet managers
KR100671526B1 (en) A method and apparatus for addressing and routing in wireless mesh networks
EP3384640B1 (en) Communication among network controllers
KR20150056159A (en) A method operating of a controller and a switch to resolve network error, and the controller and the switch therefor
WO2013082983A1 (en) Method and apparatus for data transmission between openflow network domains
US9729948B1 (en) Systems and methods for discovery of a controller in openflow networks
US10250717B2 (en) Scaling cloud rendezvous points in a hierarchical and distributed manner
US8416701B1 (en) System and method for updating forwarding tables
KR20170031539A (en) Apparatus and Method for Distributed Routing in Open Flow Network Partitioning Circumstance
Cisco Configuring Banyan VINES
Cisco Configuring Banyan VINES
Cisco Configuring Banyan VINES
Cisco Banyan VINES Commands
Cisco Banyan VINES Commands
Cisco Banyan VINES Commands
Cisco vines access-group to vines update interval
Cisco Banyan VINES Commands
Cisco Banyan VINES Commands
Cisco Banyan VINES Commands
Cisco Configuring Banyan VINES
Cisco Configuring Banyan VINES
Cisco Configuring Banyan VINES
Cisco Banyan VINES Commands
Cisco Banyan VINES Commands