KR101527373B1 - Divided hierarchical network system based on software defined networks - Google Patents
Divided hierarchical network system based on software defined networks Download PDFInfo
- Publication number
- KR101527373B1 KR101527373B1 KR1020140038302A KR20140038302A KR101527373B1 KR 101527373 B1 KR101527373 B1 KR 101527373B1 KR 1020140038302 A KR1020140038302 A KR 1020140038302A KR 20140038302 A KR20140038302 A KR 20140038302A KR 101527373 B1 KR101527373 B1 KR 101527373B1
- Authority
- KR
- South Korea
- Prior art keywords
- edge
- controller
- information
- topology
- lower layer
- Prior art date
Links
Images
Classifications
-
- 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/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 SDN(Software Defined Network) 기반의 네트워크에서 확장성 및 유연성을 향상시키기 위해, 네트워크를 분할하여 계층적으로 운용할 수 있는 SDN 기반의 분할 계층 구조의 네트워크 시스템에 관한 것이다.The present invention relates to an SDN-based partitioned hierarchical network system capable of hierarchically operating a network in order to improve scalability and flexibility in a SDN (Software Defined Network) based network.
네트워크 환경은 하드웨어 위주로 발전하여, 네트워크 변화에 능동적이고 유연하게 대처하지 못하며 확장성도 쉽지 않다. 벤더 또는 동일 벤더의 다른 모델의 디바이스 끼리 호환이 잘 안되는 경우도 있다. 이에 데이터 플레인과 제어 플레이을 분리하는 소프트웨처 정의 네트워크(software defined network; SDN) 기술 및 오픈플로우(openflow) 프로토콜이 대안 기술 중 하나로 각광 받고 있으며, 현재 유스케이스(usecase)로 적용된 케이스가 많이 있다.The network environment evolves around hardware, and it can not actively and flexibly cope with network changes and is not easy to expand. Vendors or other models of the same vendor may not be compatible with each other. Software defined network (SDN) technology and openflow protocol, which separates data plane and control play, are emerging as one of the alternative technologies, and there are a lot of cases applied as usecase now.
네트워크 환경이 복잡해 짐에 따라, 더 향상된 보안, 자동화, 및 확장성이 요구되고 있으며, SDN 기반 네트워크는 이러한 요건을 만족시킬 수 있는 아키텍쳐이다. 그러나 제어 플레인의 제어기가 담당할 수 있는 스위치의 개수는 한계가 있을 수 밖에 없다. 이러한 한계는 네트워크 환경의 확장성 및 유연성을 떨어뜨릴 수 있다.As the network environment becomes more complex, more security, automation, and scalability are required, and SDN-based networks are architectures that can meet these requirements. However, there is a limit to the number of switches that the controller of the control plane can handle. These limitations can reduce the scalability and flexibility of the network environment.
따라서 본 발명의 목적은 전체 네트워크를 분할하여 계층적으로 분할 망을 관리할 수 있는 SDN 기반의 분할 구조의 네트워크 시스템을 제공하는 데 있다.Accordingly, it is an object of the present invention to provide an SDN-based partitioned network system capable of dividing an entire network and hierarchically managing divided networks.
또한 분할 요건을 지정하여 네트워크 분할에 따른 에러를 줄이며, 거의 모든 제어기는 직접 연결되어 있는 하부 네트워크의 토폴로지만 관리하게 하여, 제어기의 로드를 줄일 수 있도록 하는 데 있다.In addition, by specifying partitioning requirements, it reduces errors due to network partitioning. Almost all controllers manage only the topology of the directly connected subnetwork, thereby reducing the load on the controller.
본 발명에 따른 SDN 기반의 분할 계층 구조의 네트워크 시스템은, 하위 계층의 플로우 포워딩 문의에 대한 포워딩 정보를 생성하여 응답하고, 상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하고, 하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 에지 제어기를 구비할 수 있다.The SDN-based partitioned hierarchical network system according to the present invention generates and responds to forwarding information for a lower layer flow forwarding query, and transmits each of a plurality of edge ports of a plurality of switches constituting the lower layer as one virtual The mapping information is generated so as to correspond to a plurality of virtual ports of the switch, and when forwarding information for a flow forwarding query having an edge port received from a lower layer can not be generated, And an edge controller for inquiring the upper layer about the forwarding information about the flow converted into the virtual port corresponding to the port.
본 발명의 다른 실시예에 따른 SDN 기반의 네트워크 시스템은, 오케스트레이터, 루트 제어기, 및 복수의 스위치를 포함하고, 상기 오케스트레이터는, 하나의 스위치 또는 기설정된 개수 이하의 서로 연결되어 있는 스위치들을 하나의 에지 분할망으로 설정하는 토폴로지 추상화부, 및 상기 에지 분할망을 제어하는 에지 제어기를 생성하는 에지 제어기 생성부를 구비하고, 상기 에지 제어기 생성부에 의해 생성된 제1 에지 제어기는, 상기 제1 에지 제어기의 하위 계층인 제1 에지 분할망의 토폴로지를 관리하는 토폴로지 관리부, 하위 계층의 플로우 포워딩 문의에 대한 포워딩 정보를 생성하여 응답하는 엔트리 관리부, 상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하는 맵핑부; 하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 변환부를 포함할 수 있다.An SDN-based network system according to another embodiment of the present invention includes an orchestrator, a root controller, and a plurality of switches, wherein the orchestrator includes one switch or a predetermined number of switches connected to each other And an edge controller generator for generating an edge controller for controlling the edge network, wherein the first edge controller generated by the edge controller generator comprises: A topology management unit for managing a topology of a first edge network, which is a lower layer of the controller, an entry manager for generating and responding to forwarding information for a lower layer flow forwarding inquiry, and a plurality of edge ports Mapping each virtual port to a plurality of virtual ports of one virtual switch A mapping unit for generating information; When the forwarding information for the flow forwarding query having the edge port received from the lower layer is not generated, forwarding information for the flow converted into the virtual port corresponding to the edge port based on the mapping information, And a conversion unit inquiring into the layer.
본 발명에 따르면, 분할 개시 요건 및 분할 요건을 만족하는 경우, 전체 네트워크를 분할하여 계층적으로 분할 망을 관리할 수 있으며, 각 계층의 제어기는 바로 아래 단계의 네트워크만 관리하면 되므로, 각 제어기의 로드를 줄일 수 있으며 이에 따라 보안성이 향상될 수 있다.According to the present invention, when satisfying the segmentation start requirement and the segmenting requirements, the entire network can be divided and hierarchically managed. Since the controller of each layer can manage only the network of the immediately lower level, The load can be reduced and thus the security can be improved.
또한 가상화된 토폴로지에 대응하는 등가 토폴로지를 생성 및 관리하여, 경로 계산시 최적의 경로가 나오도록 할 수 있다.In addition, an equivalent topology corresponding to the virtualized topology can be created and managed to provide an optimal path for path computation.
도 1은 본 발명의 일실시예에 따른 SDN(Software Defined Network) 기반의 네트워크 시스템의 블록 구성도(block diagram),
도 2는 도 1의 네트워크 시스템의 추상화된 네트워크 시스템의 블록 구성도,
도 3은 도 1의 네트워크 시스템의 오케스트레이터의 블록 구성도,
도 4는 도 1의 네트워크 시스템의 루트 제어기의 블록 구성도,
도 5는 도 1의 에지 제어기의 블록 구성도,
도 6는 본 발명의 일실시예에 따른 오케스트레이터의 SDN 네트워크 가상화 방법에 대한 순서도,
도 7은 본 발명의 일실시예에 따른 에지 제어기의 SDN 네트워크 가상화 방법에 대한 순서도,
도 8은 본 발명의 일실시예에 따른 에지 제어기의 경로 요청 응답 방법에 대한 순서도,
도 9는 본 발명의 일실시예에 따른 루트 제어기의 SDN 네트워크 가상화 방법에 대한 순서도,
도 10은 네트워크 토폴로지의 일례를 도시한 블록도, 및
도 11은 네트워크 토폴로지의 다른 례를 도시한 블록도이다.1 is a block diagram of a network system based on SDN (Software Defined Network) according to an embodiment of the present invention;
FIG. 2 is a block diagram of an abstracted network system of the network system of FIG. 1;
FIG. 3 is a block diagram of an orchestrator of the network system of FIG. 1;
FIG. 4 is a block diagram of a root controller of the network system of FIG. 1;
FIG. 5 is a block diagram of the edge controller of FIG. 1;
FIG. 6 is a flowchart of an SDN network virtualization method of an orchestrator according to an embodiment of the present invention;
Figure 7 is a flow diagram of an SDN network virtualization method of an edge controller in accordance with an embodiment of the present invention;
FIG. 8 is a flowchart of a path request response method of an edge controller according to an embodiment of the present invention;
Figure 9 is a flow diagram of a method for virtualizing an SDN network of a root controller according to an embodiment of the present invention;
10 is a block diagram illustrating an example of a network topology, and
11 is a block diagram showing another example of the network topology.
이하, 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.
제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 또한 네트워크 상의 제1 구성요소와 제2 구성요소가 연결되어 있거나 접속되어 있다는 것은, 유선 또는 무선으로 제1 구성요소와 제2 구성요소 사이에 데이터를 주고 받을 수 있음을 의미한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Also, the fact that the first component and the second component on the network are connected or connected means that data can be exchanged between the first component and the second component by wire or wirelessly.
또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.In addition, suffixes "module" and " part "for the components used in the following description are given merely for convenience of description, and do not give special significance or role in themselves. Accordingly, the terms "module" and "part" may be used interchangeably.
이와 같은 구성요소들은 실제 응용에서 구현될 때 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다.When such components are implemented in practical applications, two or more components may be combined into one component, or one component may be divided into two or more components as necessary.
도 1은 본 발명의 일실시예에 따른 SDN(Software Defined Network) 기반의 네트워크 시스템의 블록 구성도(block diagram), 도 2는 도 1의 네트워크 시스템의 추상화된 네트워크 시스템의 블록 구성도, 도 3은 도 1의 네트워크 시스템의 오케스트레이터의 블록 구성도, 도 4는 도 1의 네트워크 시스템의 루트 제어기의 블록 구성도, 도 5는 도 1의 에지 제어기의 블록 구성도이다.FIG. 1 is a block diagram of a network system based on SDN (Software Defined Network) according to an embodiment of the present invention. FIG. 2 is a block diagram of an abstracted network system of the network system of FIG. Fig. 4 is a block diagram of the root controller of the network system of Fig. 1, and Fig. 5 is a block diagram of the edge controller of Fig.
도 1을 참조하면, 본 실시예에 따른 네트워크 시스템은 오케스트레이터(orchestrator)(100), 루트 제어기(root contoller)(200), 에지 제어기(edge controller)(300), 및 스위치(400)를 포함할 수 있다.1, the network system according to the present embodiment includes an
도 1 및 도 2를 참조하면, 본 실시예에 따른 네트워크 시스템의 에지 제어기(300)는 하위 계층의 스위치에 대해 일반적인 제어기 처럼 행동하며, 상위 계층의 제어기(루트 제어기(200))에 대해 스위치처럼 행동할 수 있다.Referring to FIGS. 1 and 2, the
스위치(400)는 물리적인 스위치 또는 가상 스위치일 수 있다. 스위치(400)는 수신한 패킷을 처리하여, 스위치에 연결된 네트워크 디바이스(미도시) 사이의 플로우를 중계할 수 있다. 스위치(400)는 플로우 테이블을 구비할 수 있다. 스위치(400)는 오픈플로우 스펙의 파이프라인 처리를 위해 다중 플로우 테이블을 구비할 수 있다.The
플로우 테이블은 네트워크 디바이스(미도시)의 플로우를 어떻게 처리할 지의 규칙을 정의한 플로우 엔트리를 포함한다. 네트워크 디바이스는 데이터나 정보를 주고 받고자 하는 단말 장치, 또는 특정 기능을 수행하는 물리 장치 또는 가상 장치를 포함할 수 있다.The flow table includes a flow entry that defines rules for how to handle the flow of a network device (not shown). A network device may include a terminal device to which data or information is exchanged, or a physical device or a virtual device that performs a specific function.
플로우(flow)는 하나의 스위치 관점에서 적어도 하나의 헤더 필드의 값을 공유하는 일련의 패킷들 또는 다중 스위치의 여러 플로우 엔트리(flow entry)들의 조합에 따른 특정 경로의 패킷 흐름을 의미할 수 있다. 오픈플로우 네트워크는 플로우 단위로 경로 제어, 장애 회복, 부하 분산 및 최적화를 행할 수 있다.A flow may refer to a packet flow of a particular path according to a series of packets sharing a value of at least one header field from a single switch or a combination of multiple flow entries of multiple switches. The open-flow network can perform path control, fault recovery, load balancing and optimization on a flow-by-flow basis.
스위치(400)는 다중 스위치의 조합에 따른 플로우의 입구 및 출구 측 에지 스위치(edge switch)(ingress switch and egress switch)와 에지 스위치 사이의 코어 스위치(core switch)로 구분될 수 있다.The
플로우 테이블의 플로우 엔트리는 패킷과 매치하는 조건(대조 규칙)을 기술한 매치 필드, 매치되는 패킷이 있는 경우 업데이트되는 카운터, 스위치에서 파기될 시간을 기술하는 타임아웃, 제어기에 의해 선택되어지는 오파큐(opaque) 타입의 쿠키(cookie), 플로우 엔트리에 기술된 패킷의 변경, 액션 세트(action set)의 업데이트, 및 메타데이타 업데이트 등의 인스트럭션(instruction), 패킷을 지정된 포트 또는 여러 포트로 전달하거나 폐기시키는 액션(action), 우선 순위(priority) 등의 튜플(tuple)을 포함할 수 있다.The flow entry of the flow table includes a match field describing a condition (matching rule) to match a packet, a counter to be updated if there is a matching packet, a timeout describing the time to be discarded in the switch, instructions such as an opaque type of cookie, a change of a packet described in a flow entry, an update of an action set, and a metadata update, And may include a tuple such as an action, a priority, or the like.
스위치(400)는 유저 트래픽으로서 수신한 패킷으로부터 플로우 정보를 추출할 수 있다. 플로우 정보는 패킷의 에지 스위치의 패킷 유입 포트인 입구 포트(ingress port), 패킷 헤더 정보(송신원 및 수신처의 IP 주소, MAC 주소, 포트, 및 VLAN 정보 등), 및 메타데이터 등을 포함할 수 있다. 메타데이터는 이전 테이블에서 선택적으로 추가되거나, 다른 스위치에서 추가된 데이터일 수 있다. 스위치(400)는 추출한 플로우 정보를 참조하여 테이블에 수신 패킷에 대한 플로우 엔트리가 있는지 검색할 수 있다. 스위치(400)는 플로우 엔트리가 검색되면, 검색된 플로우 엔트리의 처리 규칙(액션 또는 인스트럭션)에 따라 수신 패킷을 처리 및 조작 등을 할 수 있다. 플로우 엔트리 검색이 실패되면, 스위치(400)는 수신 패킷 또는 수신 패킷의 최소한의 데이터를 상위 계층의 제어기로 송신하여 플로우 처리를 문의하여, 상위 계층의 제어기로부터 플로우 엔트리를 응답 받을 수 있다.The
네트워크 환경이 복잡해 짐에 따라, 더 향상된 보안, 자동화, 및 확장성이 요구되고 있으며, SDN 기반 네트워크는 이러한 요건을 만족시킬 수 있는 아키텍쳐이다. 그러나 제어 플레인의 제어기가 담당할 수 있는 스위치의 개수는 한계가 있을 수 밖에 없다. 이러한 한계는 네트워크 환경의 확장성 및 유연성을 떨어뜨릴 수 있다. 이에 본 발명은 전체 네트워크를 분할하여 계층적으로 분할 망을 관리할 수 있으며, 분할 요건을 지정하여 네트워크 분할에 따른 에러를 줄이며, 거의 모든 제어기는 직접 연결되어 있는 하부 네트워크의 토폴로지만 관리하게 하여, 제어기의 로드를 줄일 수 있다.As the network environment becomes more complex, more security, automation, and scalability are required, and SDN-based networks are architectures that can meet these requirements. However, there is a limit to the number of switches that the controller of the control plane can handle. These limitations can reduce the scalability and flexibility of the network environment. Accordingly, the present invention can manage a divided network hierarchically by dividing an entire network, reduce errors due to network division by specifying division requirements, allow almost all controllers to manage only the topology of a directly connected sub-network, The load on the controller can be reduced.
도 3을 참조하면, 오케스트레이터(100)는 전체 토폴로지 관리부(110), 토폴로지 추상화부(120), 및 에지 제어기 생성부(130)를 포함할 수 있다. 본 실시예에서 오케스트레이터(100)는 루트 제어기(200)와 별도로 표시하였지만, 루트 제어기(200)가 오케스트레이터(100)의 기능을 대신 할 수도 있다.Referring to FIG. 3, the
전체 토폴로지 관리부(110)는 전체 실제 스위치(400)의 접속 관계를 기초로 네트워크 토폴로지 정보를 구축하여 전체 토폴로지 정보를 관리할 수 있다. 전체 토폴로지 관리부(110)는 전체 실제 스위치의 연결 상태를 모니터 할 수 있다. 여기에서 의미하는 실제 스위치는 물리적인 스위치 뿐만 아니라 가상 스위치도 포함할 수 있다. 다만 실제 스위치는 데이터 플레인(data plane)에 위치한 스위칭 기능만을 하는 스위치를 의미하며, 후술할 제어기와 스위치의 기능이 혼재된 에지 제어기로서의 가상 스위치는 제외한다. 다만 본 명세서에서 가상 스위치의 용어가 지칭하는 것에 대한 혼동을 방지하기 위해, 실제 스위치는 물리적인 스위치인 것으로 가정한다.The overall
전체 토폴로지 관리부(110)는 물리적인 스위치의 접속 관계나 연결상태를 루트 제어기(200) 또는 에지 제어기(300)로부터 수집할 수 있다. 전체 토폴로지 관리부(110)는 에지 제어기(300)와 통신하여 후술할 실제 포트와 대응하는 가상 포트에 대한 포트 맵 정보를 수신할 수 있다. The overall
토폴로지 추상화부(120)는 전체 토폴로지 관리부(110)에 의한 전체 토폴로지 정보를 기초로, 전체 토폴로지의 전부 또는 일부를 에지 분할 망으로 나눌 수 있다. 에지 분할 망은 계층 구조일 수 있다.The
토폴로지 추상화부(120)에 의한 분할 개시 요건은 특별히 한정되지 않는다. 예를 들어, 처음 네트워크를 구축할 때 부터 에지 분할 망으로 분할하며 구축할 수 있고, 어느 규모 이상이 되면 다수의 에지 분할 망으로 분할할 수도 있다.The requirement for starting the segmentation by the
에지 제어기 생성부(130)는 토폴로지 추상화부(120)에 의해 분할된 에지 분할 망을 제어하는 에지 제어기(300)를 생성할 수 있다. 에지 제어기(300)에 대한 자세한 설명은 후술한다. 유연성 및 관리의 편리성을 위해, 에지 제어기(300)은 물리적인 장치인 것 보다 가상으로 생성되는 VM(virtual machine)인 것이 바람직하다.The edge
토폴로지 추상화부(120) 및 에지 제어기 생성부(130)는 에지 분할 망의 구축 및 에지 제어기 생성에 제한을 가할 수 있다. 제한 요건으로 에지 분할 망 내의 스위칭 기능의 디바이스들은 서로 직접 연결되어 있는 링크드 네트워크(linked network)인 예가 있을 수 있다. 또 다른 예로, 양 에지 분할 망 사이에 멀티 링크는 제외되도록 할 수 있다. 본 실시예에서, 토폴로지 추상화부(120)에 의해 물리적인 스위치 SW11 ~ SW15은 하나의 에지 분할 망으로 구축하며, 물리적인 스위치 SW21 ~ SW25은 또 다른 에지 분할 망으로 구축하고 있다. 에지 제어기 생성부(130)는 에지 제어기 vSW1 및 vSW2를 생성하여, 각각의 에지 분할 망을 관리하도록 하고 있다.The
오케스트레이터(100)는 등가 토폴로지 생성부(140)를 더 포함할 수 있다. 양 노드 간 최적 경로, 특히 최단 홉을 탐색할 때 사용될 수 있다. 본 실시예에서 루트 제어기(200)는 에지 제어기(300)의 내부 토폴로지를 알 수 없다. 도 10은 네트워크 토폴로지의 일례를 도시한다. 예를 들어, 도 10을 참조하면, 도 10(a)는 물리적인 스위치 들(sw6~sw8)의 전체 네트워크 토폴로지를 도시하며, 도 10(b)는 도 10(a)의 전체 토폴로지를 추상화한 에지 제어기(vSW6~vSW8)로 구성된 토폴로지를 도시한다. 루트 제어기에서 보았을 때, 하위 계층의 스위치 vSW7에서 스위치 vSW8로의 최단 홉 경로는 vSW7 -> vSW8이다. 그러나 전체 토폴로지로 보았을 때에는 vSW7 -> vSW6 -> vSW8 경로가 최단 홉 경로이다. 따라서 이를 보정하기 위해, 도 10(c)와 같은 등가 토폴로지를 등가 토폴로지 생성부(140)은 생성할 필요가 있다. The
등가 토폴로지 생성부(140)는 전체 토폴로지 정보로부터 에지 분할 망들이 루프를 이루는 구조가 있는지 모니터링 할 수 있다. 에지 분할 망들이 루프를 구성하는 경우, 등가 토폴로지 생성부(140)는 루프를 구성하는 에지 분할 망의 물리적인 스위치들끼리의 등가 토폴로지를 구축하는 것이 바람직하다.The equivalent
등가 토폴로지 생성부(140)는 후술할 에지 제어기(300)의 가상 포트 및 이와 대응하는 실제 포트에 대한 포트 맵 정보를 에지 제어기(300)으로부터 수신할 수 있다. 포트 맵 정보를 기초로, 등가 토폴로지의 에지 포트의 식별 정보는 가상 포트의 식별 정보로 변환하는 것이 바람직하다. 포트 맵 정보는, 등가 토폴로지 생성부(140)와 에지 제어기(300)의 통신이 아닌, 스위치의 접속 정보를 모니터링하는 전체 토폴로지 관리부(110)와 에지 제어기(300)의 통신을 통해 수신될 수 있다.The equivalent
에지 포트의 식별 정보가 변환된 등가 토폴로지 정보는 루트 제어기(200)로 전송될 수 있다. The equivalent topology information in which the identification information of the edge port is converted can be transmitted to the
본 실시예에서 제어기는 루트 제어기(200)와 에지 제어기(300)에 대해 제시하고 있다. 이 들은 SDN 네트워크 시스템에서 일반적인 제어기 역할을 할 수 있다. 루트 제어기(200)는 하위 계층의 적어도 하나의 에지 제어기(300)를 관리하며, 에지 제어기(300)는 하위 계층의 적어도 하나의 물리적인 스위치 또는 적어도 하나의 하위 에지 제어기를 관리할 수 있다. 계층 위치에 따라 에지 제어기와 루트 제어기의 명칭이 상대적일 수 있으나, 본 명세서에서 특별한 말이 없으면, 루트 제어기는 최상위 계층에서 바로 밑의 적어도 하나의 에지 제어기를 관리하는 것으로 가정한다.In this embodiment, the controller is presented for the
SDN 네트워크 시스템에서 제어기(controller)는 SDN 시스템을 제어하는 일종의 지휘 프로그램으로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. 제어기는 하위 계층의 복수의 스위치에서 발생하는 패킷의 플로우를 정의할 수 있다. 제어기는 네트워크 정책 상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 플로우가 경유할 경로를 계산한 후, 경로 상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다. 제어기는 특정 프로토콜, 예를 들어, 오픈플로우 프로토콜을 이용하여 스위치와 통신할 수 있다. 제어기와 스위치의 통신 채널은 SSL에 의해 암호화 될 수 있다.In a SDN network system, a controller is a kind of command program that controls the SDN system, and can perform various complex functions such as routing, policy declaration, and security check. The controller can define the flow of packets occurring in the plurality of switches in the lower layer. The controller can calculate a route to be flowed by referring to a network topology or the like for a flow allowed in the network policy and then set an entry of the flow on a switch on the path. The controller can communicate with the switch using a specific protocol, for example, an open flow protocol. The communication channel of the controller and the switch can be encrypted by SSL.
도 4를 참조하면, 루트 제어기(200)는 하위 계층의 스위치와 통신하는 스위치 통신부(210), 하위 토폴로지 관리부(220), 경로 결정부(230), 엔트리 관리부(240), 및 플로우 엔트리를 저장하는 엔트리 데이터베이스(DB)(250)를 포함할 수 있다.4, the
하위 토폴로지 관리부(220)는 스위치 통신부(210)를 통하여 수집된 하위 계층의 스위치의 접속 관계를 기초로 직속 네트워크 토폴로지 정보를 구축 및 관리 할 수 있다. 본 실시예에서, 스위치 통신부(210)와 통신하는 하위 계층의 스위치는 에지 제어부(300)인 것이 바람직하다. 하위 토폴로지 관리부(220)는 오케스트레이터(100)의 등가 토폴로지 생성부(140)으로부터 등가 토폴로지 정보를 수신하여, 등가 토폴로지 정보를 관리할 수 있다. 도 1 및 도 2의 경우, 전체 토폴로지 정보는 스위치 SW11 ~ SW15 및 SW21 ~ SW25에 의한 토폴로지이다. 전체 토폴로지에서 에지 분할 망이 루프를 이루는 구조가 없으므로, 등가 토폴로지는 구축되지 않는다. 루트 제어기(200)가 바라보는, 즉 하위 토폴로지 관리부(220)에서 관리하는 하위 토폴로지는 도 2의 디바이스 vSW1 및 vSW2에 의한 토폴로지이다. 도 10(a) 내지 도 10(c)는 각각 전체 네트워크, 하위 네트워크, 및 등가 네트워크의 토폴로지를 각각 도시한다.The lower
경로 계산부(230)는 토폴로지 관리부(220)에서 구축된 네트워크 토폴로지 정보를 기초로 스위치 통신부(210)을 통해 수신한 패킷의 전송 경로 및 상기 전송 경로 상의 스위치에 실행시키는 액션 열을 구할 수 있다.The
엔트리 관리부(240)는 경로 계산부(230)에서 계산된 결과를 플로우 엔트리로서 엔트리 DB(250)에 등록하고, 하위 계층 스위치로부터의 플로우 엔트리 또는 엔트리들의 추가 또는 갱신 요구에 응답할 수 있다.The
도 5를 참조하면, 루트 제어기(200)는 하위 계층의 스위치와 통신하는 스위치 통신부(310), 하위 토폴로지 관리부(320), 경로 결정부(330), 엔트리 관리부(340), 플로우 엔트리를 저장하는 엔트리 데이터베이스(DB)(350), 맵핑부(360), 변환부(370), 및 상위 계층의 제어기와 통신하는 상위 제어기 통신부(380)를 포함할 수 있다.5, the
하위 토폴로지 관리부(320)는 스위치 통신부(310)를 통하여 수집된 하위 계층의 스위치의 접속 관계를 기초로 직속 네트워크 토폴로지 정보를 구축 및 관리 할 수 있다. 도 1의 경우, 에지 제어기(300)(SW1)의 하위 토폴로지 관리부(320)에서 관리하는 하위 토폴로지 정보는 스위치 SW11 ~ SW15에 의한 토폴로지이다.The lower
경로 계산부(330)는 토폴로지 관리부(320)에서 구축된 네트워크 토폴로지 정보를 기초로 스위치 통신부(310)을 통해 수신한 패킷의 전송 경로 및 상기 전송 경로 상의 스위치에 실행시키는 액션 열을 구할 수 있다. 수신 패킷에 대한 플로우 엔트리가 없는 경우, 경로 계산부(330)는 변환부(370)로 패킷의 전부 또는 일부를 전송할 수 있다.The
엔트리 관리부(340)는 경로 계산부(330)에서 계산된 결과를 플로우 엔트리로서 엔트리 DB(350)에 등록하고, 하위 계층 스위치로부터의 플로우 엔트리 또는 엔트리들의 추가 또는 갱신 요구에 응답할 수 있다.The
맵핑부(360)는 오케스트레이터(100)에 의해 에지 제어기가 생성되면 에지 분할 망을 하나의 가상 스위치로 변환하며, 에지 분할 망의 에지 포트를 상기 변환한 가상 스위치의 가상 포트로 변환할 수 있다. 도 1 및 도 2를 참조하면, 에지 제어기 SW1은 맵핑부(360)를 통해 하위 네트워크인 SW11 ~ SW15을 하나의 가상 스위치처럼 보이기 위해, 가상의 스위치 식별 정보 vSW1을 생성한 후, 가상 스위치 vSW1에 실제 에지 포트 p11.1을 vp1.1로 변환할 수 있다. 맵핑부(360)는 실제 포트 식별정보와 가상 포트 식별 정보가 연관된 맵핑 정보을 생성 관리할 수 있다. 맵핑부(360)는 오케스트레이터(100)의 요구에 맵핑 정보를 전달할 수 있다.The
변환부(370)는 경로 계산부(330)으로부터 수신한 패킷의 실제 포트 정보를 맵핑부(360)의 맵핑 정보를 이용하여 가상 포트 정보로 변환할 수 있다. 변환부(370)는 변환된 패킷을 상위 제어기 통신부(380)를 통해, 상위 계층의 제어기(본 실시예에서는 루트 제어기(200))로 패킷에 대한 포워딩 정보를 문의할 수 있다.The converting
변환부(370)는 상위 제어기 통신부(380)을 통해 수신한 루트 제어기(200)의 포워딩 메시지 또는 플로우 엔트리의 가상 포트 정보를 맵핑 정보를 이용하여 실제 포트 정보로 변환할 수 있다. 변환부(370)에 의해 변환된 엔트리는 엔트리 관리부(340)를 통해 엔트리 DB(350)에 저장될 수 있다.The converting
도 6는 본 발명의 일실시예에 따른 오케스트레이터의 SDN 네트워크 가상화 방법에 대한 순서도이다.6 is a flowchart of an SDN network virtualization method of an orchestrator according to an embodiment of the present invention.
도 6을 참조하면, 오케스트레이터(100)는 기설정 조건에 따라 전체 네트워크를 가상화할 수 있다(S410). 기설정 조건이 네트워크 구축시인 경우, 오케스트레이터(100)의 전체 토폴로지 관리부(110)에서 스위치(400)가 구축되는 것을 감지하면, 토폴로지 추상화부(120)는 이를 가상화하며, 에지 제어기 생성부(130)는 에지 제어기(300)를 생성할 수 있다(S430). 기설정 조건이 기존의 네트워크에 대해 가상화 작업인 경우, 오케스트레이터(100)의 토폴로지 추상화부(120)는 전체 토폴로지 관리부(110)의 전체 토폴로지 정보를 이용하여, 스위치(400)의 개수에 따라 추상화 개시 여부를 결정할 수 있다. 스위치(400)의 개수가 최소 개수를 초과하는 경우, 토폴로지 추상화부(120)는 에지 분할 망 성립 조건에 따라, 예를 들어 기설정된 범위 개수의 서로 직접 연결된 스위치(400)들을 하나의 에지 분할 망으로 설정할 수 있다. 에지 분할 망 개수에 대응하여, 에지 제어기 생성부(130)는 에지 제어기(300)를 생성하거나 삭제할 수 있다.Referring to FIG. 6, the
오케스트레이터(100)의 토폴로지 추상화부(120)는 가상화를 개시하면서, 대기 플래그를 생성하여 전체 네트워크에 브로드캐스팅할 수 있다(S420). 에지 분할 망 구축이 완료되어야 경로 설정 계산시 에러가 발생하지 않기 때문이다.The
토폴로지 추상화부(120)는 가상화 개시 요건 및 에지 분할 망 요건 등의 기설정 조건을 만족하면, 에지 분할 망을 가상화할 수 있다(S430).The
에지 제어기 생성부(130)는 생성된 에지 분할 망에 에지 제어기(300)를 생성하여 연결시키거나, 삭제된 에지 분할 망의 에지 제어기(300)를 삭제할 수 있다(S440).The edge
등가 토폴로지 생성부(140)는 전체 토폴로지 정보로부터 에지 분할 망들이 루프를 이루는 구조가 있는지 모니터링하여(S460), 루프 구조가 있으면, 등가 토폴로지 정보를 생성하여 루트 제어기(200)로 전송할 수 있다(S470).The equivalent
오케스트레이터(100)는 등가 토폴로지 정보의 구축이 끝나거나 구축할 필요가 없다고 판단하면, 토폴로지 추상화부(120)를 통해 대기 플래그 해제 메시지를 전체 네트워크에 브로드캐스팅할 수 있다(S480).If the
도 7은 본 발명의 일실시예에 따른 에지 제어기의 SDN 네트워크 가상화 방법에 대한 순서도이다.7 is a flowchart of an SDN network virtualization method of an edge controller according to an embodiment of the present invention.
도 7을 참조하면, 에지 제어기 생성부(130)에 의해, 에지 제어기(300)가 생성되면, 필요한 어플리케이션(application)을 구동할 수 있다(S520). 제어기 및 스위치 기능을 수행하기 위한 어플리케이션부터 사용자 요청이나 기설정된 어플리케이션이 구동될 수 있다. 본 명세서에서 스위치 통신부, 토폴로지 관리부, 경로 계산부 등으로 칭해지는 구성요소들은 어플리케이션의 일종으로 구동될 수 있다.Referring to FIG. 7, when the
에지 제어기(300)는 구동 준비가 완료되면, 가상 스위치 식별자를 생성한 후, 가상 스위치에 실제 포트를 가상 포트로 변환하여 맵핑할 수 있다(S520). 맵핑이 완료되면, 에지 제어기(300)는 작동할 준비가 완료되면, 오케스트레이터(100)로 완료 메시지를 보내어 대기 플래그 해제 판단에 도움을 줄 수 있다. After the preparation for driving is completed, the
도 8은 본 발명의 일실시예에 따른 에지 제어기의 경로 요청 응답 방법에 대한 순서도이다.8 is a flowchart of a path request response method of an edge controller according to an embodiment of the present invention.
도 8을 참조하면, 에지 제어기(300)는 스위치 수신부(310)를 통해 하위 계층의 스위치로부터 패킷 경로를 문의 메시지인 패킷-인(packet-in) 메시지를 수신할 수 있다(S610).Referring to FIG. 8, the
에지 제어기(300)는 패킷-인 메시지의 패킷에 부합하는 엔트리가 있는지 판단할 수 있다(S620). The
해당 엔트리가 존재하는 경우, 오케스트레이터(100)에 대기 플래그가 있는지 판단할 수 있다(S630).If the entry exists, it can be determined whether or not there is a wait flag in the orchestrator 100 (S630).
오케스트레이터(100)에 대기 플래그가 존재하면, 에지 제어기(300)는 대기 플래그가 해제되길 기다린 후, 다시 수신 패킷에 대한 엔트리 존재 여부를 판단할 수 있다(S620).If there is a wait flag in the
오케스트레이터(100)에 대기 플래그가 존재하지 않으면, 에지 제어기(300)는 상위 계층의 제어기 즉 루트 제어기(200)의 데이터베이스에 업데이트해야 하는지 판단할 수 있다(S645).If there is no waiting flag in the
예를 들어, 에지 제어기(300)의 하위 네트워크에 스위치의 연결이 다운되거나 다운 후 재연결, 또는 새로운 스위치가 추가되는 경우, 에지 제어기(300)의 하위 토폴로지가 변화면서, 루트 제어기(200)에서 보는 가상 스위치의 포트가 변경되기 때문이다. 도 11은 네트워크 토폴로지의 일 예시인 블록도이다. 도 11(a)의 스위치 sw9 그룹과 스위치 sw10 그룹을 각각의 에지 분할 망으로 가상화할 수 있다. 이 경우, 상위 계층의 제어기(루트 제어기(200))는 도 11(b)와 같이 하위 네트워크 토폴로지로 판단한다. 링크에 도 11(c)와 같이 문제가 생긴 경우, 기존의 에지 분할 망(vSW9)의 스위치들간 직접 연결되는 부분이 끊기기 때문에, 에지 분할 망을 재구축해야 한다. 재구축하기 전에, 에지 제어기(300)에서 루트 제어기(200)로 패킷 경로 설정을 문의하면, 루트 제어기(200)는 도 11(d)가 아닌 도 11(b)의 토폴로지를 참조하여 플로우 엔트리를 응답할 것이다. 에지 제어기(300)는 루트 제어기(200)에 의한 플로우 엔트리로 패킷 전송이 안 이루어 지므로, 다시 루트 제어기(200)로 문의할 것이다. 이러한 루프 반복을 피하기 위해, 에지 제어기(300)는 하위 네트워크의 토폴로지에 변화가 생겨 루트 제어기(200)의 데이터베이스에 업데이트할 필요가 있는지 판단할 필요가 있다.For example, when the connection of the switch to the lower network of the
업데이트 판단(S645) 결과 업데이트할 필요가 없다면, 에지 제어기(300)는 엔트리 DB(350)를 통해, 적정한 포트로 패킷을 전송하라는 패킷-아웃(packet-out) 메시지를 패킷 경로 요청한 스위치에 보낼 수 있다(S690). 에지 제어기(300)는 경로 상의 스위치에 플로우 변경 메시지(flow Mod message)를 미리 전송할 수 있다. 이러한 플로우 변경 메시지는 패킷-아웃 메시지와 항상 같이 보내도록 설정될 수 있다.If it is not necessary to update the result of the update determination (S645), the
업데이트 판단(S645) 결과 업데이트할 필요가 있다면, 예를 들어, 도 11(d)와 같은 스위치 구조임을 루트 제어기(200)에 알릴 필요가 있으면, 에지 제어기(300)는 자신의 하위 토폴로지를 업데이트한 후, 이를 루트 제어기(200)에 통보할 수 있다. 도 11(d)와 같은 경우, 에지 제어기(300)는 루트 제어기(200)가 두 개의 스위치로 보이도록 하거나, 오케스트레이터(100)에 의해 새로운 에지 제어기가 생성될 수 있다. 업데이트가 종료되면, 에지 제어기(300)의 수신 패킷에 대한 플로우 엔트리가 존재하지 않게된다. 즉 수신 패킷에 대한 엔트리 존재 판단(S620) 결과 엔트리가 존재하지 않는 경우와 같게 된다.If it is necessary to update the result of the update determination (S645), for example, if it is necessary to notify the
수신 패킷에 대한 엔트리 판단(S620) 결과 엔트리가 존재하지 않는 경우, 에지 제어기(300)는 수신 패킷의 에지 포트를 가상 포트로 변환(S650)한 후, 루트 제어기(200)로 패킷-인 메시지를 전송할 수 있다(S660). 루트 제어기(200)로부터 패킷-아웃 메시지를 수신하면(S670), 에지 제어기(300)는 패킷-아웃 메시지의 가상 포트를 실제 포트로 변환(S680)한 후, 내부 네트워크 토폴로지 정보를 기초로 적정 경로를 계산한 후, 패킷-아웃 메지지를 문의한 스위치에 전송할 수 있다(S690). 관련 엔트리는 엔트리 DB(350)에 엡데이트될 수 있다.(S620) If there is no result entry, the
도 9는 본 발명의 일실시예에 따른 루트 제어기의 SDN 네트워크 가상화 방법에 대한 순서도이다.9 is a flowchart of a SDN network virtualization method of a root controller according to an embodiment of the present invention.
도 9를 참조하면, 루트 제어기(200)는 하위 계층의 스위치 즉, 에지 제어기(300)로부터 패킷-인 메시지를 수신할 수 있다(S710). 루트 제어기(200)는 패킷-인 메시지의 정보를 기초로 적정 경로를 계산할 수 있다. 계산된 적정 경로에 등가 토폴로지 정보가 있는 경우(S720), 루트 제어기(200)는 등가 토폴로지를 우선 반영할 수 있다(S730). 루트 제어기(200)는 패킷-인 메시지의 패킷과 일치하는 엔트리가 있는지 판단하여(S740), 엔트리가 존재하지 않으면 패킷 폐기 메시지를 하위 계층으로 전송하며(S760), 엔트리가 존재하면 계산된 경로를 기초로, 루트 제어기(200)는 패킷-아웃 메시지를 문의한 하위 계층의 스위치로 전송할 수 있다(S750).Referring to FIG. 9, the
상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes and modifications may be made by those skilled in the art without departing from the spirit and scope of the present invention.
100: 오케스트레이터 200: 루트 제어기
300: 에지 제어기 400: 스위치100: Orchestrator 200: Root controller
300: Edge controller 400: Switch
Claims (8)
상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하고,
하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 에지 제어기를 구비하고,
상기 에지 제어기는 상위 계층에서 플로우 포워딩 문의를 하는 스위치로 보이는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.Generates forwarding information for the flow forwarding query of the lower layer and responds to the generated forwarding information,
Generating mapping information so that each of the plurality of edge ports of the plurality of switches constituting the lower layer corresponds to a plurality of virtual ports of one virtual switch,
When the forwarding information for the flow forwarding query having the edge port received from the lower layer is not generated, forwarding information for the flow converted into the virtual port corresponding to the edge port based on the mapping information, And an edge controller for inquiring into the layer,
And the edge controller is regarded as a switch for making a flow forwarding inquiry in an upper layer.
상기 에지 제어기는 상기 상위 계층으로부터 응신 받은 상기 변환된 플로우에 대한 포워딩 정보, 상기 맵핑 정보, 및 하위 계층의 네트워크 토폴로지에 기초하여 상기 에지 포트를 구비하는 플로우에 대한 포워딩 정보를 생성하여 응답하는, SDN 기반의 분할 계층 구조의 네트워크 시스템.The method according to claim 1,
Wherein the edge controller generates forwarding information for the flow having the edge port based on the forwarding information for the transformed flow received from the upper layer, the mapping information, and the network topology of the lower layer, Based hierarchical network system.
상기 하위 계층을 구성하는 복수의 스위치는 서로 연결되어 있는 에지 분할 망을 구성하는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.The method according to claim 1,
Wherein the plurality of switches constituting the lower layer constitute an edge division network connected to each other.
상기 에지 제어기는 상기 에지 분할 망에 에지 포트를 구비한 스위치가 추가 또는 삭제 되는 경우, 상기 맵핑 정보를 갱신하는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.5. The method of claim 4,
Wherein the edge controller updates the mapping information when a switch having an edge port is added or deleted to the edge segment network.
상기 에지 제어기는 상기 맵핑 정보를 갱신하기 전에 하위 계층의 토폴로지가 업데이트된다는 플래그를 상기 상위 및 하위 계층에 전송하고,
상기 토폴로지 업데이트 플래그에 연관된 플로우의 포워딩은 중단되는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.6. The method of claim 5,
The edge controller transmits to the upper and lower layers a flag indicating that the topology of the lower layer is updated before updating the mapping information,
Wherein the forwarding of the flow associated with the topology update flag is suspended.
상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하고,
하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 에지 제어기를 구비하고,
상기 하위 계층을 구성하는 복수의 스위치는 서로 연결되어 있는 에지 분할 망을 구성하고,
상기 상위 계층의 플로우에 대한 포워딩 정보를 응답하는 루트 제어기의 하위 계층은 복수의 에지 제어기로 구성되며,
상기 복수의 에지 제어기 중 적어도 제1 내지 제3 에지 제어기는 루프형 토폴로지를 형성하고,
상기 루트 제어기는 상기 제1 내지 제3 에지 제어기의 하위 계층을 구성하는 모든 노드들의 토폴로지에 기초하여 상기 모든 노드들 사이의 홉 수와 대응하는 복수의 등가 토폴로지 정보를 구비하고,
상기 복수의 등가 토폴로지 정보의 에지 포트들은 상기 제1 내지 제3 에지 제어기에 의해 맵핑된 가상 에지 포트들로 변환되어 있으며,
상기 루트 제어기는 상기 가상 에지 포트들 사이의 플로우 포워딩 정보의 문의에 대한 포워딩 정보 생성시 상기 제1 내지 제3 제어기에 의한 루프형 토폴로지 보다 상기 복수의 등가 토폴로지 정보를 더 고려하여 생성하는 것을 특징으로 하는 SDN 기반의 분할 계층 구조의 네트워크 시스템.Generates forwarding information for the flow forwarding query of the lower layer and responds to the generated forwarding information,
Generating mapping information so that each of the plurality of edge ports of the plurality of switches constituting the lower layer corresponds to a plurality of virtual ports of one virtual switch,
When the forwarding information for the flow forwarding query having the edge port received from the lower layer is not generated, forwarding information for the flow converted into the virtual port corresponding to the edge port based on the mapping information, And an edge controller for inquiring into the layer,
Wherein the plurality of switches constituting the lower layer constitute an edge division network connected to each other,
The lower layer of the root controller that responds to the forwarding information of the upper layer flow is composed of a plurality of edge controllers,
At least first to third edge controllers of the plurality of edge controllers form a loop topology,
Wherein the root controller has a plurality of equivalent topology information corresponding to the number of hops between all the nodes based on a topology of all the nodes constituting the lower layer of the first to third edge controllers,
Edge ports of the plurality of equivalent topology information are converted into virtual edge ports mapped by the first to third edge controllers,
And the root controller generates the plurality of equivalent topology information by considering the loop topology by the first to third controllers when generating forwarding information for the inquiry of the flow forwarding information between the virtual edge ports. SDN - based partitioned hierarchical network system.
상기 오케스트레이터는,
하나의 스위치 또는 기설정된 개수 이하의 서로 연결되어 있는 스위치들을 하나의 에지 분할망으로 설정하는 토폴로지 추상화부; 및
상기 에지 분할망을 제어하는 에지 제어기를 생성하는 에지 제어기 생성부를 구비하고,
상기 에지 제어기 생성부에 의해 생성된 제1 에지 제어기는,
상기 제1 에지 제어기의 하위 계층인 제1 에지 분할망의 토폴로지를 관리하는 토폴로지 관리부;
하위 계층의 플로우 포워딩 문의에 대한 포워딩 정보를 생성하여 응답하는 엔트리 관리부;
상기 하위 계층을 구성하는 복수의 스위치의 복수의 에지 포트 각각을 하나의 가상 스위치의 복수의 가상 포트로 각각 대응하도록 맵핑 정보를 생성하는 맵핑부;
하위 계층으로부터 수신한 에지 포트를 구비하는 플로우 포워딩 문의에 대한 포워딩 정보가 생성 불가능한 경우, 상기 에지 포트를 상기 맵핑 정보에 기초하여 상기 에지 포트에 대응하는 가상 포트로 변환된 플로우에 대한 포워딩 정보를 상위 계층으로 문의하는 변환부를 포함하는, SDN 기반의 네트워크 시스템.An SDN (Software Defined Network) based network system including an orchestrator, a root controller, and a plurality of switches,
The orchestrator includes:
A topology abstraction unit for setting one switch or a predetermined number or less of the connected switches to one edge division network; And
And an edge controller generator for generating an edge controller for controlling the edge division network,
Wherein the first edge controller generated by the edge controller generator comprises:
A topology management unit managing a topology of a first edge division network that is a lower layer of the first edge controller;
An entry manager for generating and responding to forwarding information for a lower layer forwarding query;
A mapping unit configured to generate mapping information such that each of a plurality of edge ports of a plurality of switches constituting the lower layer corresponds to a plurality of virtual ports of one virtual switch;
When the forwarding information for the flow forwarding query having the edge port received from the lower layer is not generated, forwarding information for the flow converted into the virtual port corresponding to the edge port based on the mapping information, The SDN-based network system comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140038302A KR101527373B1 (en) | 2014-03-31 | 2014-03-31 | Divided hierarchical network system based on software defined networks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140038302A KR101527373B1 (en) | 2014-03-31 | 2014-03-31 | Divided hierarchical network system based on software defined networks |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101527373B1 true KR101527373B1 (en) | 2015-06-09 |
Family
ID=53504107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140038302A KR101527373B1 (en) | 2014-03-31 | 2014-03-31 | Divided hierarchical network system based on software defined networks |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101527373B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411787A (en) * | 2016-08-30 | 2017-02-15 | 广州西麦科技股份有限公司 | Virtual port establishment method and network system |
KR102466183B1 (en) * | 2022-06-28 | 2022-11-15 | 주식회사 아이티로 | Security system through network separation in apartment house based on software defined network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322443A1 (en) * | 2012-05-29 | 2013-12-05 | Futurewei Technologies, Inc. | SDN Facilitated Multicast in Data Center |
US20130329601A1 (en) * | 2012-06-11 | 2013-12-12 | Futurewei Technologies, Inc. | Defining Data Flow Paths in Software-Defined Networks with Application-Layer Traffic Optimization |
-
2014
- 2014-03-31 KR KR1020140038302A patent/KR101527373B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322443A1 (en) * | 2012-05-29 | 2013-12-05 | Futurewei Technologies, Inc. | SDN Facilitated Multicast in Data Center |
US20130329601A1 (en) * | 2012-06-11 | 2013-12-12 | Futurewei Technologies, Inc. | Defining Data Flow Paths in Software-Defined Networks with Application-Layer Traffic Optimization |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411787A (en) * | 2016-08-30 | 2017-02-15 | 广州西麦科技股份有限公司 | Virtual port establishment method and network system |
KR102466183B1 (en) * | 2022-06-28 | 2022-11-15 | 주식회사 아이티로 | Security system through network separation in apartment house based on software defined network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101703088B1 (en) | Aggregated routing method based on sdn and system thereof | |
KR101650832B1 (en) | Network resource monitoring | |
RU2595540C9 (en) | Chassis controllers for converting universal flows | |
US9450823B2 (en) | Hybrid network management | |
US9413554B2 (en) | Virtual network overlays | |
US7941539B2 (en) | Method and system for creating a virtual router in a blade chassis to maintain connectivity | |
US9088503B2 (en) | Multi-tenant information processing system, management server, and configuration management method | |
CN107947961A (en) | Kubernetes Network Management System and method based on SDN | |
US10210008B2 (en) | Control server, service providing system, and method of providing a virtual infrastructure | |
JP5958164B2 (en) | Control apparatus, method and program, system, and information processing method | |
US10122654B2 (en) | Divided hierarchical network system based on software-defined networks | |
KR101527373B1 (en) | Divided hierarchical network system based on software defined networks | |
US9686149B2 (en) | Information processing system, relay device, and information processing method | |
KR101934908B1 (en) | Method for controlling of pc power by aggregated routing based on sdn | |
CN114726774A (en) | Method and device for realizing service chain of cloud platform and system based on cloud platform | |
KR102385707B1 (en) | SDN network system by a host abstraction and implemented method therefor | |
US11502949B2 (en) | Virtualized wireless mesh in airplane cabin for deterministic topology control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180529 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190610 Year of fee payment: 5 |