KR101578622B1 - Method of failover for routing system - Google Patents
Method of failover for routing system Download PDFInfo
- Publication number
- KR101578622B1 KR101578622B1 KR1020140147082A KR20140147082A KR101578622B1 KR 101578622 B1 KR101578622 B1 KR 101578622B1 KR 1020140147082 A KR1020140147082 A KR 1020140147082A KR 20140147082 A KR20140147082 A KR 20140147082A KR 101578622 B1 KR101578622 B1 KR 101578622B1
- Authority
- KR
- South Korea
- Prior art keywords
- failure
- routing system
- controller
- information
- client
- Prior art date
Links
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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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/026—Details of "hello" or keep-alive messages
-
- 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/22—Alternate routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
라우팅 시스템에 발생한 장애를 처리하기 위한 방법이 개시된다. 라우팅 시스템의 장애를 처리하는 방법은, 라우터가 적어도 하나의 컨트롤러에 대한 정보를 수집하는 단계와; 라우터가 적어도 하나의 컨트롤러에 대한 정보에 기반하여 적어도 하나의 컨트롤러 상에 위치한 복수의 클라이언트 모듈 중에서 활성(active) 클라이언트 모듈을 확인하는 단계와; 라우터가 확인된 활성 클라이언트 모듈에 대한 정보에 기반하여 라우팅 시스템에 발생한 장애를 판단하고, 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계를 포함한다. 따라서, 컨트롤러의 이중화된 구조 및 이러한 구조에 기반한 장애 복구 절차를 제공하여 장애 시에도 라우팅 시스템을 안정적으로 제어할 수 있다.A method for handling faults occurring in a routing system is disclosed. A method for handling a failure of a routing system includes the steps of: a router collecting information about at least one controller; Identifying an active client module among a plurality of client modules located on at least one controller based on information on the at least one controller; Determining a failure occurring in the routing system based on the information about the active client module identified by the router and processing the failure according to the object of the failure occurring in the routing system. Therefore, the redundant structure of the controller and the failure recovery procedure based on this structure are provided, so that the routing system can be stably controlled even in case of failure.
Description
본 발명은 소프트웨어 정의 네트워킹에 관한 것으로, 더욱 상세하게는 라우팅 시스템에 발생한 장애를 처리하기 위한 방법에 관한 것이다.The present invention relates to software defined networking, and more particularly, to a method for handling faults occurring in a routing system.
통신 네트워크의 유연한 운영과 비용절감을 위해 통신 시스템을 포워딩 평면(forwarding plane)과 제어 평면(control plane)으로 독립적으로 구분하여, 소프트웨어 프로그래밍을 하듯 네트워크를 중앙에서 소프트웨어적으로 정의하고 제어할 수 있는 소프트웨어 정의 네트워킹(SDN, software defined networking) 기술에 대한 연구가 진행되고 있다. Software that can define and control the network centrally as if it is software programming by dividing communication system independently into forwarding plane and control plane for flexible operation and cost reduction of communication network. Research is underway on software defined networking (SDN) technology.
상세하게는, ONF(Open Networking Foundation)에서는 중앙 집중형 컨트롤러와 L2/L3 패킷 포워딩 장비들간 통신을 위한 OpenFlow 프로토콜을 정의하고 있다. Specifically, the Open Networking Foundation (ONF) defines the OpenFlow protocol for communication between centralized controllers and L2 / L3 packet forwarding equipment.
또한, 최근 ONF의 예하 조직인 OTWG(Optical Transport Working Group)은 OAM 및 보호절체 기능이 정의된 패킷 전달망(packet transport network) 및 광 전달망(optical transport network)에 대해서도 외부 컨트롤러로 분리된 제어 평면을 통해 전달망 장비들의 포워딩 평면을 제어하기 위한 표준 인터페이스를 정의하고 있다.In addition, OTWG (Optical Transport Working Group), which is a subordinate organization of ONF, has recently developed an OAM and a packet transmission network and an optical transport network in which a protection switching function is defined, It defines a standard interface for controlling the forwarding plane of equipment.
한편, 포워딩 평면과 제어 평면이 분리되지 않은 기존의 레거시 라우팅 장비를 포함한 라우팅 시스템에 대해서도 외부 컨트롤러를 이용한 제어를 지원하는 라우팅 시스템 인터페이스(Interface to Routing System) 기술이 라우팅 시스템을 위한 SDN 기술로 큰 관심을 받고 있다. On the other hand, a routing system interface (Interface to Routing System) technology that supports control using an external controller for a routing system including legacy routing apparatuses in which the forwarding plane and the control plane are not separated is of great interest as the SDN technology for the routing system .
라우팅 시스템 인터페이스(Interface to Routing System) 기술은 현재 IETF에서 표준화가 진행 중에 있으며, 외부 컨트롤러와 기존 또는 신규 라우터 장비 간 커뮤니케이션을 수행할 수 있는 프레임워크 및 인터페이스 등이 정의되고 있다.The interface to routing system technology is currently being standardized by the IETF, and frameworks and interfaces are being defined for communication between external controllers and existing or new router equipment.
라우팅 시스템을 제어하는 외부 컨트롤러는 라우터 동작에 관련된 다양한 제어 정보 및 라우터들의 상태 정보 등을 실시간으로 전달하는 중요한 역할을 수행하는 네트워크 장치이다. The external controller that controls the routing system is a network device that plays an important role in delivering various control information related to router operation and status information of routers in real time.
그러나, 컨트롤러 및 컨트롤러와 연결되는 제어 선로 등 논리적/물리적 장애에 따른 구체적인 대처 방안이나, 컨트롤러 상의 클라이언트(client)와 라우터 상의 에이젼트(agent) 간에 수행되는 모든 오퍼레이션에 대한 트랜잭션 정보를 저장하는 구조에 대한 정의가 되고 있지 않다. However, there is a need for a specific countermeasure based on a logical / physical failure such as a controller and a control line connected to the controller, or a structure for storing transaction information on all operations performed between a client on a controller and an agent on a router It is not defined.
따라서, 라우팅 시스템을 제어하는 컨트롤러를 도입할 경우 네트워크 운영에 대한 안정성 측면에서 심각한 문제가 발생될 수 있다.Therefore, introducing a controller that controls the routing system may cause serious problems in terms of stability in network operation.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 라우팅 시스템의 장애를 처리하는 방법을 제공하는데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for handling a fault in a routing system.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 라우팅 시스템의 장애를 처리하는 방법은, 라우터가 적어도 하나의 컨트롤러에 대한 정보를 수집하는 단계와; 라우터가 적어도 하나의 컨트롤러에 대한 정보에 기반하여 적어도 하나의 컨트롤러 상에 위치한 복수의 클라이언트 모듈 중에서 활성(active) 클라이언트 모듈을 확인하는 단계와; 라우터가 확인된 활성 클라이언트 모듈에 대한 정보에 기반하여 라우팅 시스템에 발생한 장애를 판단하고, 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계를 포함한다. According to an aspect of the present invention, there is provided a method of handling a fault in a routing system, the method comprising: collecting information on at least one controller; Identifying an active client module among a plurality of client modules located on at least one controller based on information on the at least one controller; Determining a failure occurring in the routing system based on the information about the active client module identified by the router and processing the failure according to the object of the failure occurring in the routing system.
여기에서, 상기 라우팅 시스템은, 라우터의 제어 평면 상에 위치한 에이젼트 모듈이 적어도 하나의 컨트롤러 상의 복수의 클라이언트 모듈과 통신함으로써, 라우팅 시스템 인터페이스를 구성할 수 있다. Here, the routing system can configure a routing system interface by communicating with a plurality of client modules on at least one controller, the agent module located on the control plane of the router.
여기에서, 상기 적어도 하나의 컨트롤러에 대한 정보를 수집하는 단계는, 라우터가 클라이언트 탐색 요청 메시지를 브로드캐스트하는 단계와; 클라이언트 탐색 요청 메시지에 대한 응답으로 적어도 하나의 컨트롤러로부터 클라이언트 탐색 응답 메시지를 수신할 수 있다. Wherein collecting information about the at least one controller includes broadcasting the client search request message by the router; And may receive a client search response message from at least one controller in response to the client search request message.
여기에서, 상기 클라이언트 탐색 요청 메시지는, 라우터를 위한 라우팅 시스템 인터페이스의 버전 정보, 라우터 상의 RIB(Routing Information Base)의 정보를 제어하기 위한 RIB data model 정보, 라우터 상에서 발생하는 로그 정보를 제어하기 위한 system log data model 정보 및 라우터에 정책 설정을 위한 policy data model 정보 중 적어도 하나를 포함할 수 있다. Here, the client search request message includes version information of a routing system interface for a router, RIB data model information for controlling information of a routing information base (RIB) on the router, system for controlling log information generated on a router log data model information, and policy data model information for setting a policy in the router.
여기에서, 상기 클라이언트 탐색 응답 메시지는, 복수의 클라이언트 모듈 각각을 위한 라우팅 시스템 인터페이스의 버전 정보, Client ID 정보, 복수의 클라이언트 모듈 각각에 수용되는 네트워크 어플리케이션을 식별하는 Secondary ID 정보, 라우터의 에이전트 모듈과 연결을 위한 허용 세션의 개수 및 세션 연결을 위한 포트 정보 중 적어도 하나를 포함할 수 있다. Here, the client search response message includes version information of a routing system interface for each of a plurality of client modules, client ID information, secondary ID information for identifying a network application accommodated in each of a plurality of client modules, The number of allowed sessions for connection and the port information for session connection.
여기에서, 상기 활성 클라이언트 모듈을 확인하는 단계는, 복수의 클라이언트 모듈 중에서 랜덤하게 또는 미리 설정된 정책에 기반하여 선택된 활성 클라이언트 모듈을 확인할 수 있다. Wherein identifying the active client module may identify an active client module selected from a plurality of client modules at random or based on a predetermined policy.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, Hello 메시지 교환을 통하여 상기 라우팅 시스템에 발생한 장애를 판단할 수 있다. Here, the step of processing the failure according to the object of the failure occurring in the routing system may determine the failure occurring in the routing system through the Hello message exchange.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, 라우터를 제어하는 컨트롤러에 포함된 활성 클라이언트 모듈과 대기(standby) 클라이언트 모듈 중에서 활성 클라이언트 모듈에 장애가 발생한 것으로 판단되면, 라우터를 제어하는 컨트롤러에 포함된 대기 클라이언트 모듈에 세션 요청 메시지를 전송하여 장애를 처리할 수 있다. Here, the step of processing the failure according to the object of the failure occurring in the routing system may include a step of, when it is determined that the active client module and the standby client module included in the controller for controlling the router have failed, A session request message may be transmitted to the standby client module included in the controller for controlling the failure.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, 라우터를 제어하는 컨트롤러에 장애가 발생한 것으로 판단되면, 적어도 하나의 컨트롤러에 대한 정보에 기반한 클라이언트 리스트를 이용하여 다른 컨트롤러로 세션 요청 메시지를 전송하여 장애를 처리할 수 있다. Here, the step of processing the failure according to the object of the failure occurring in the routing system may include the step of, when it is determined that a failure occurs in the controller for controlling the router, A failure can be handled by sending a request message.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, 라우터의 물리적 링크에 장애가 발생한 것으로 판단되면, 장애가 발생한 인터페이스 정보 및 장애 원인에 대한 정보를 활성 클라이언트로 전송하여 장애를 처리할 수 있다. Here, the step of processing the failure according to the object of the failure occurring in the routing system may include the step of transmitting the information on the failed interface and the cause of the failure to the active client to process the failure can do.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 라우팅 시스템의 장애를 처리하는 방법은, 라우팅 시스템을 위한 장애 처리에 있어서, 라우터가 라우팅 시스템에 발생한 장애를 판단하는 단계와; 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계를 포함하되, 라우팅 시스템은, 적어도 하나의 컨트롤러 상에 활성(active) 및 대기(standby)로 이중화된 복수의 클라이언트 모듈 중에서 활성(active) 클라이언트 모듈이 라우터를 제어한다. According to another aspect of the present invention, there is provided a method of handling a fault in a routing system, the method comprising: determining a fault occurring in the routing system; And processing the fault according to the object of the fault occurring in the routing system, wherein the routing system comprises an active client, a plurality of client modules, active and standby on the at least one controller, The module controls the router.
여기에서, 상기 라우팅 시스템은, 라우터의 제어 평면 상에 위치한 에이젼트 모듈이 적어도 하나의 컨트롤러 상의 복수의 클라이언트 모듈과 통신함으로써, 라우팅 시스템 인터페이스를 구성할 수 있다. Here, the routing system can configure a routing system interface by communicating with a plurality of client modules on at least one controller, the agent module located on the control plane of the router.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, 기존에 연결되었던 활성 클라이언트 모듈을 식별하는 Client ID 정보, 기존에 연결되었던 활성 클라이언트 모듈에 수용되는 네트워크 어플리케이션을 식별하는 Secondary ID 정보 및 장애에 따른 재접속을 나타내는 정보를 포함하는 세션 요청 메시지를 이용하여 장애를 처리할 수 있다. Here, the step of processing the failure according to the object of the failure occurring in the routing system may include the steps of: detecting Client ID information for identifying an active client module that has been connected to the network; The failure can be handled using the session request message including the ID information and the information indicating the reconnection according to the failure.
여기에서, 상기 방법은, 세션 요청 메시지를 수신하여 장애를 처리하는 클라이언트 모듈이 세션 요청 메시지에 기반하여 클라이언트 일관성 테이블(Client Consistency table)을 생성하여 관리할 수 있다. Here, the method may include generating a client consistency table based on the session request message by the client module that receives the session request message and processes the failure, and manages the client consistency table.
여기에서, 상기 라우팅 시스템에 발생한 장애를 판단하는 단계는, Hello 메시지 교환을 통하여 수행될 수 있다. Here, the step of determining a failure occurring in the routing system may be performed through a Hello message exchange.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, 라우터를 제어하는 컨트롤러에 포함된 활성 클라이언트 모듈과 대기(standby) 클라이언트 모듈 중에서 활성 클라이언트 모듈에 장애가 발생한 것으로 판단되면, 라우터를 제어하는 컨트롤러에 포함된 대기 클라이언트 모듈에 세션 요청 메시지를 전송하여 장애를 처리할 수 있다. Here, the step of processing the failure according to the object of the failure occurring in the routing system may include a step of, when it is determined that the active client module and the standby client module included in the controller for controlling the router have failed, A session request message may be transmitted to the standby client module included in the controller for controlling the failure.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, 라우터를 제어하는 컨트롤러에 장애가 발생한 것으로 판단되면, 적어도 하나의 컨트롤러에 대한 정보에 기반한 클라이언트 리스트를 이용하여 다른 컨트롤러로 세션 요청 메시지를 전송하여 장애를 처리할 수 있다. Here, the step of processing the failure according to the object of the failure occurring in the routing system may include the step of, when it is determined that a failure occurs in the controller for controlling the router, A failure can be handled by sending a request message.
여기에서, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는, 라우터의 물리적 링크에 장애가 발생한 것으로 판단되면, 장애가 발생한 인터페이스 정보 및 장애 원인에 대한 정보를 활성 클라이언트로 전송하여 장애를 처리할 수 있다.Here, the step of processing the failure according to the object of the failure occurring in the routing system may include the step of transmitting the information on the failed interface and the cause of the failure to the active client to process the failure can do.
상기와 같은 본 발명에 따른 라우팅 시스템의 장애를 처리하는 방법은, 컨트롤러의 이중화된 구조 및 이러한 구조에 기반한 장애 복구 절차를 제공하여 장애 시에도 라우팅 시스템을 안정적으로 제어할 수 있다. The method for handling a failure of the routing system according to the present invention can provide a redundant structure of the controller and a failure recovery procedure based on the structure to stably control the routing system even in the event of a failure.
또한, 본 발명에 따른 라우팅 시스템의 장애를 처리하는 방법은, 장애가 발생된 컨트롤러와 복구를 수행한 컨트롤러 간 일관성 있는 오퍼레이션을 수행할 수 있다. In addition, the method for handling a fault in the routing system according to the present invention can perform a consistent operation between the failed controller and the controller performing the recovery.
도 1은 본 발명의 실시예에 따라 컨트롤러에 의해 제어되는 라우팅 시스템을 설명하기 위한 예시도이다.
도 2는 본 발명의 실시예에 따라 이중화된 네트워크 어플리케이션을 포함하는 라우팅 시스템을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따라 이중화된 컨트롤러를 포함하는 라우팅 시스템을 설명하기 위한 예시도이다.
도 4는 본 발명의 다른 실시예에 따라 이중화된 컨트롤러를 포함하는 라우팅 시스템을 설명하기 위한 예시도이다.
도 5는 본 발명의 실시예에 따라 적어도 하나의 컨트롤러에 대한 정보 수집을 설명하기 위한 예시도이다.
도 6은 본 발명의 실시예에 따른 클라이언트 리스트의 생성 및 활성 클라이언트 모듈의 선택을 설명하기 위한 예시도이다.
도 7은 본 발명의 실시예에 따라 라우터의 물리적 링크 장애가 발생한 경우에 대한 장애 처리를 설명하기 위한 예시도이다.
도 8은 본 발명의 실시예에 따라 활성 클라이언트 모듈에 장애가 발생한 경우에 대한 장애 처리를 설명하기 위한 예시도이다.
도 9는 본 발명의 실시예에 따라 컨트롤러에 장애가 발생한 경우에 대한 장애 처리를 설명하기 위한 예시도이다.
도 10은 본 발명의 실시예에 따른 클라이언트 일관성 테이블의 생성 및 관리를 설명하기 위한 예시도이다. 1 is an exemplary diagram illustrating a routing system controlled by a controller according to an embodiment of the present invention.
2 is an exemplary diagram illustrating a routing system including a duplicated network application according to an embodiment of the present invention.
3 is an exemplary diagram illustrating a routing system including a redundant controller according to an embodiment of the present invention.
4 is an exemplary diagram illustrating a routing system including a redundant controller according to another embodiment of the present invention.
5 is an exemplary diagram illustrating information collection for at least one controller in accordance with an embodiment of the present invention.
FIG. 6 is an exemplary diagram for explaining generation of a client list and selection of an active client module according to an embodiment of the present invention. FIG.
FIG. 7 is an exemplary diagram for explaining an error process when a physical link failure of a router occurs according to an embodiment of the present invention. FIG.
FIG. 8 is an exemplary diagram for explaining an error process when a failure occurs in an active client module according to an embodiment of the present invention. FIG.
9 is an exemplary diagram for explaining an error process when a controller fails in accordance with an embodiment of the present invention.
10 is an exemplary diagram for explaining generation and management of a client consistency table according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements 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.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 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.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하, 본 발명에서 언급되는 '컨트롤러(controller)'는 트래픽의 흐름을 제어하기 위해 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미하는 것으로, 물리적인 구현 형태나 구현 위치 등에 한정되지 않는다. 예를 들어, 컨트롤러는 ONF, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다. Hereinafter, a 'controller' referred to in the present invention refers to a functional entity that controls related components (eg, switches, routers, etc.) to control the flow of traffic. Shape, implementation position, and the like. For example, a controller may refer to a controller functional entity defined in ONF, IETF, ETSI, and / or ITU-T.
또한, 본 발명에서 언급되는 '라우터' 또는 '네트워크 장비'는 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미하는 것으로, ONF, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소, 라우터 요소, 포워딩 요소 등을 의미할 수 있다. The term 'router' or 'network equipment' referred to in the present invention means a functional element for substantially forwarding, switching or routing traffic (or packet). It is defined in ONF, IETF, ETSI and / or ITU-T A router, a switch element, a router element, a forwarding element, and so on.
또한, 이하에서 기술되는 본 발명의 실시예들은 SDN 기술의 표준화를 수행하고 있는 ONF, IETF, ETSI, ITU-T들에서 작성된 표준 문서들 및/또는 전달 네트워크에 관한 표준화를 수행하는 IEEE, ITU-T, IETF들에서 작성된 표준 문서들에 의해 뒷받침될 수 있다. 즉, 본 발명의 실시예들 중 본 발명의 기술적 사상을 명확히 드러내기 위해 구체적으로 설명하지 않은 내용들은 상기의 표준화 단체들에서 작성한 표준 문서들에 의해 뒷받침될 수 있다. 또한, 본 발명에서 사용되는 모든 용어들은 상기 표준 문서에 의해 설명될 수 있다.
It should be noted that the embodiments of the present invention described below can be applied to IEEE, ITU-T, and the like that perform standardization on standard documents and / or transmission networks created in ONF, IETF, ETSI, ITU- T, and IETFs. That is, those of the embodiments of the present invention that are not specifically described in order to clearly illustrate the technical idea of the present invention can be supported by the standard documents prepared by the above standardization bodies. In addition, all terms used in the present invention can be described by the standard document.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따라 컨트롤러에 의해 제어되는 라우팅 시스템을 설명하기 위한 예시도이다. 1 is an exemplary diagram illustrating a routing system controlled by a controller according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 라우팅 시스템은 컨트롤러(100)가 다수의 라우터(210, 220)를 제어하도록 구성될 수 있다. Referring to FIG. 1, a routing system according to an embodiment of the present invention may be configured such that a
상세하게는, 라우터 A(210)와 라우터 B(220)는 물리적으로 분리되어 있는 컨트롤러(100)에 의해 제어될 수 있다. Specifically, the
먼저, 라우터(210, 220)는 기능에 따라 제어 평면(control plane)과 데이터 평면(data plane)으로 구분될 수 있다. First, the
Agent 모듈(211, 221), Signaling protocol 모듈(212, 222), Routing protocol 모듈(213, 223), Routing information base 모듈(214, 224), Topology DB(216, 226) 및 Policy DB(215, 225)는 라우터(210, 220)의 제어 평면 상에 존재할 수 있다. The
또한, Forwarding information base 모듈(217, 227)은 라우터(210, 210)의 데이터 평면 상에 존재할 수 있다. 따라서, 라우팅 프로토콜에 의해 업데이트된 정보는 Routing information base 모듈(214, 224)을 거쳐 데이터 평면의 Forwarding information base 모듈(217, 227)로 전달될 수 있다. In addition, the forwarding
한편, 컨트롤러(100)는 컨트롤러(100)가 제공하는 노스바운드(Northbound) API를 통해 다양한 Network Application(300)을 수용할 수 있다. Meanwhile, the
라우터(210, 220)의 제어 평면 상에 존재하는 Agent 모듈(211, 221)과 컨트롤러(100)의 Client 모듈(101)은 표준화된 라우팅 시스템 인터페이스(I2RS: Interface to Routing System)을 통해 상호 간에 통신을 수행할 수 있다. The
Client 모듈(101)은 Network Application(300)으로부터 수신된 라우팅 제어 정보를 Agent 모듈(211, 221)이 파싱(parsing) 가능한 형태로 변환하여 Agent 모듈(211, 221)로 전달하는 기능을 수행한다. The
Agent 모듈(211, 221)은 수신된 라우팅 제어 정보를 파싱하여 라우터(210, 220) 내에 연결되어 있는 Topology DB(216, 226), Policy DB(215, 225), Routing Information Base (RIB) 모듈(214, 224), Signaling protocol 모듈(212, 222) 및Routing protocol 모듈(213, 223) 등의 다양한 모듈들과 상호 동작을 수행할 수 있다.
또한, 라우터(210, 220)는 운영자로부터 미리 설정된 라우터들의 다양한 이벤트 정보를 Agent 모듈(211, 221)를 통해 Client 모듈(101)로 전달하는 모니터링 기능을 수행할 수 있다.The
한편, 컨트롤러(100)는 자신을 대표할 수 있는 Client ID 정보를 가질 수 있다. Client ID는 컨트롤러(100) 또는 Client 모듈(101)의 유일성을 대표하는 문자열 또는 정수값으로 이루어지며, 라우터(210, 220)와 컨트롤러(100) 간에 수행되는 오퍼레이션을 위한 인증 및 제어 프로세스에 이용될 수 있다. On the other hand, the
예를 들면, Client ID 1000을 갖고 있는 컨트롤러(100)가 라우터 A(210)에게 prefix 220.210.100.x/24의 라우팅 정보를 추가하기 위한 오퍼레이션을 수행할 때, 컨트롤러(100)는 자신의 Client ID 1000과 해당 prefix 추가에 관련된 정보 등을 하나로 구성하는 트랜잭션 정보를 생성하게 되며, 이 정보를 라우터 A(210)의 Agent 모듈(211)에게 전달할 수 있다. For example, when the
라우터 A(210)의 Agent 모듈(211)은 현재 전달받은 트랜잭션 정보가 자신과 연결 중인 Client ID 정보가 맞는지를 확인한 후 맞으면 해당하는 오퍼레이션을 수행하고, 그렇지 않은 경우 해당 Client 모듈(101)로 오류 정보 등을 전달할 수 있다.
The
도 2는 본 발명의 실시예에 따라 이중화된 네트워크 어플리케이션을 포함하는 라우팅 시스템을 설명하기 위한 예시도이다. 2 is an exemplary diagram illustrating a routing system including a duplicated network application according to an embodiment of the present invention.
도 2를 참조하면, 컨트롤러(100)의 Client 모듈(101)에 접근하는 Network Application(300, 300-1)에 대해서 Secondary ID를 정의하며, Network Application(300, 300-1)를 활성 또는 대기(active 또는standby) Network Application(300, 300-1)으로 구분하는 예시를 도시한다. 2, a secondary ID is defined for the
활성(active) Network Application (300) 또는 대기(standby) Network Application(300-1)에 장애가 발생할 경우, 어떠한 절차에 따라 장애 극복(failover)를 수행할 것인지 정의하는 것이 필요하다. When a failure occurs in an
도 3은 본 발명의 일 실시예에 따라 이중화된 컨트롤러를 포함하는 라우팅 시스템을 설명하기 위한 예시도이고, 도 4는 본 발명의 다른 실시예에 따라 이중화된 컨트롤러를 포함하는 라우팅 시스템을 설명하기 위한 예시도이다.FIG. 3 is an exemplary diagram illustrating a routing system including a redundant controller according to an embodiment of the present invention. FIG. 4 is a block diagram illustrating a routing system including a redundant controller according to another embodiment of the present invention. Fig.
도 3 및 도 4를 참조하면, 컨트롤러(110, 120)가 이중화된 Client 모듈(111, 111-1, 121, 121-1)을 포함하고 있는 경우를 설명한다. 3 and 4, the case where the
예를 들어, 컨트롤러 A(110)는 활성(active) 및 대기(standby)로 이중화된 Client 모듈(111, 111-1)을 포함할 수 있고, 컨트롤러 B(120)는 활성(active) 및 대기(standby)로 이중화된 Client 모듈(121, 121-1)을 포함할 수 있다.For example,
또한, 컨트롤러 자체에 장애가 발생할 수 있는 것을 고려하여, 컨트롤로 자체를 컨트롤러 A(110) 및 컨트롤러 B(120)와 같이 물리적으로 이중화할 수 있다. Also, considering that the controller itself may fail, the control itself can be physically duplicated like the
도 3은 라우터(210, 220)를 제어하는 Network Application(300)이 컨트롤러(110, 120)와 물리적으로 분리된 구조를 보여주고, 도 4는 Network Application(310, 320)이 컨트롤러(110, 120) 내에 포함된 구조를 보여준다. 여기서, Client 모듈(111, 111-1, 121, 121-1)은 자체적으로 Client ID를 가지며, Network Application(300, 310, 320) 역시 Client 모듈(111, 111-1, 121, 121-1)과 상호 연동을 위한 Secondary ID 정보를 가질 수 있다. FIG. 3 illustrates a structure in which a
한편, 도 3에서 컨트롤러(110, 120)를 통해 제어되는 모든 정보들을 저장하기 위한 데이터베이스(400)가 별도로 구성될 수 있다. In FIG. 3, a
데이터베이스(400)는 실제 Network Application(300, 310, 320)으로부터 제어되는 모든 오퍼레이션의 트랙잭션 정보들이 저장하는 Transaction DB(410)와, 라우터(210, 220)로부터 전달되는 모든 이벤트 및 로그 정보를 취합하는 I/F status DB(420)를 포함할 수 있다. 예를 들어, 도 3은 Transaction DB(410)와 관련하여 실제 라우터를 제어하기 위해 사용되는 트랜잭션을 나타낸다. The
도 3 및 도 4와 같이, 활성 Client 모듈(111, 121)과 대기 Client 모듈(111-1, 121-1)을 가지고 이중화된 컨트롤러(110, 120)에 기반하는 라우팅 시스템 환경에서 장애 발생 시에 자동적인 장애 처리를 수행하기 위해서는, 라우터(210, 220)의 Agent 모듈(211, 221)이 초기화 될 때, 이중화된 컨트롤러에 대한 정보를 수집하기 위한 절차, 활성 Client 모듈(111, 121)과 Agent 모듈(211, 221)간에 세션 설정 및 유지하는 절차가 필요하다.
As shown in FIGS. 3 and 4, when a failure occurs in the routing system environment based on the
도 5는 본 발명의 실시예에 따라 적어도 하나의 컨트롤러에 대한 정보 수집을 설명하기 위한 예시도이다. 5 is an exemplary diagram illustrating information collection for at least one controller in accordance with an embodiment of the present invention.
도 5를 참조하여, Agent 모듈(211, 221)에 대한 초기화 시에 이중화된 컨트롤러 정보를 수집하기 위한 절차를 설명한다. Referring to FIG. 5, a procedure for collecting duplicated controller information at the time of initialization of the
도 5에 도시된 바와 같이, Agent 모듈(211, 221)은 활성 Client 모듈(111, 121)과 Agent 모듈(211, 221)이 연결되는 management network 상에 존재하는 Client 모듈(111, 111-1, 121, 121-1)을 탐색(discovery)하기 위해 클라이언트 탐색 요청 메시지(client discovery request message)를 브로드캐스트할 수 있다. 5, the
여기서, 클라이언트 탐색 요청 메시지는 IP 헤더에 Agent 모듈(211, 221)의 IPv4 또는 IPv6 주소를 포함하고, Agent 모듈(211, 221)이 수행할 수 있는 다양한 제어 정보들을 전달할 수 있다. Here, the client search request message may include IPv4 or IPv6 addresses of the
예를 들어, 실제로 컨트롤러(110, 120)의 측면에서 라우터(110, 120)에 대한 제어는 라우터(110, 120)가 갖는 다양한 기능들을 형상화하는 데이터 모델(data model)에 기반하여 수행될 수 있으므로, Agent 모듈(211, 221)이 수행 가능한 데이터 모델에 대한 정보를 클라이언트 탐색 요청 메시지에 포함하여 전송할 수 있다. For example, in practice, control over the
또한, 라우터 A(210)의 Agent 모듈(211)은 라우팅 시스템 인터페이스(Interface to Routing System)의 버전 정보 등의 일반적인 정보와 함께 라우터 상의 RIB의 정보를 제어하기 위한 RIB data model 정보, 라우터 내에서 발생되는 로그 정보를 제어하기 위한 system log data model 정보, 라우터에 설정하는 각종 policy 설정을 위한 policy data model 정보 등을 클라이언트 탐색 요청 메시지에 포함시켜 전송할 수 있다. The
또한, Agent 모듈(211)로부터 클라이언트 탐색 요청 메시지를 수신한 Client 모듈(111, 112)는 수신된 Agent 모듈에 대한 정보를 바탕으로 각각 Agent List를 생성할 수 있다. In addition, the
또한, 활성 Client 모듈(111, 112)는 Client 모듈의 I2RS 버전 정보, Client ID 정보, Client와 연결되어 있는 Network Application의 Secondary ID 정보, Agent모듈과 연결을 위한 허용 세션의 개수 및 세션 연결을 위한 포트 정보 등을 포함하는 클라이언트 탐색 응답 메시지(Client Discovery Response Message)를 Agent 모듈(211)로 유니캐스트할 수 있다.
The
도 6은 본 발명의 실시예에 따른 클라이언트 리스트의 생성 및 활성 클라이언트 모듈의 선택을 설명하기 위한 예시도이다. FIG. 6 is an exemplary diagram for explaining generation of a client list and selection of an active client module according to an embodiment of the present invention. FIG.
도 6을 참조하면, 복수의 컨트롤러(110, 120)로부터 클라이언트 탐색 응답 메시지(Client Discovery Response Message)를 수신한 Agent 모듈(211)은 수신된 Client 모듈에 대한 정보를 저장하여 클라이언트 리스트(Client list)를 생성할 수 있다. 따라서, Agent 모듈(211)은 클라이언트 리스트를 이용하여 활성 Client 모듈(111, 121)과 대기 Client 모듈(111-1, 121-1)을 결정할 수 있다. 6, the
예를 들어, 활성 Client 모듈에 대한 선택은 랜덤하게 수행되거나 미리 설정된 운영자의 정책에 따라 결정될 수 있다. For example, the selection for an active Client module may be performed randomly or may be determined according to a preset operator's policy.
도 6은 라우터 A(210)의 Agent 모듈(211)이 Client ID 100을 갖는 Client 모듈(111)을 활성 Client 모듈로 선택하고, Client ID 101을 갖는 Client 모듈(121-1)을 대기 Client 모듈로 선택한 결과를 보여준다.6 shows an example in which the
Agent 모듈(211)은 활성 Client 모듈을 선택한 후, Client 모듈(111)로부터 전달받은 포트 정보를 바탕으로 Client 모듈(111)과의 세션 연결 요청을 수행할 수 있다. The
세션 연결 이후에, Agent 모듈(211)와 Client 모듈(111) 간에 세션의 상태를 확인하기 위해 세션이 종료될 때까지 설정된 주기에 따라 Hello 메시지를 상호 교환할 수 있다. After the session connection, the Hello message can be interchanged according to the set period until the session ends to check the state of the session between the
예를 들어, Hello 메시지는 단방향으로 전달되며 Agent 모듈(211)와 Client 모듈(111) 각각이 Hello 메시지를 상대에 전송할 수 있으며, 운영자가 미리 설정한 일정 주기 동안 Hello 메시지가 전달되지 않는 경우를 장애로 판단할 수 있다.
For example, the Hello message is transmitted in a unidirectional manner, and each of the
도 7은 본 발명의 실시예에 따라 라우터의 물리적 링크 장애가 발생한 경우에 대한 장애 처리를 설명하기 위한 예시도이다. FIG. 7 is an exemplary diagram for explaining an error process when a physical link failure of a router occurs according to an embodiment of the present invention. FIG.
라우팅 시스템에서 발생하는 장애는 컨트롤러(110, 120) 측 장애와 라우터(210, 220) 측 장애로 분류될 수 있다. The failure occurring in the routing system can be classified into the failures of the
먼저, 라우터(210, 220)에 연결된 물리적인 링크에 장애가 발생한 경우를 설명한다. First, a case where a failure occurs in a physical link connected to the
이러한 경우, 장애를 감지한 라우터(210, 220)는 장애가 발생된 인터페이스 정보 및 장애 원인에 대한 정보 등을 포함한 네트워크 장애 이벤트(Network Failure Event) 정보를 연결 중인 활성 Client 모듈(111)로 전달할 수 있다.In this case, the
또한, 라우터(210, 220)는 라우터를 위한 복구 정책에 따라 라우팅 테이블을 업데이트하는 절차를 수행하고, 변경된 토폴로지 정보를 연결 중인 활성 Client 모듈(111)로 전달할 수 있다.In addition, the
더 나아가, 라우터(210, 220) 자체에서 물리적인 장애가 발생될 경우, 해당 라우터(210, 220)의 Agent 모듈(211, 221)과 연결된 활성 Client 모듈(111)은 Hello 메시지 전송을 통하여 라우터(210, 220)의 장애를 감지하거나, 장애가 발생된 라우터(210, 220)의 인접한 라우터(210, 220)로부터의 라우팅 테이블에 대한 업데이트를 통해 장애를 감지할 수 있다.
When a physical failure occurs in the
도 8은 본 발명의 실시예에 따라 활성 클라이언트 모듈에 장애가 발생한 경우에 대한 장애 처리를 설명하기 위한 예시도이다. FIG. 8 is an exemplary diagram for explaining an error process when a failure occurs in an active client module according to an embodiment of the present invention. FIG.
도 8을 참조하면, Agent 모듈(211)은 Hello 메시지 미수신을 통해 활성 Client 모듈(111)의 장애를 감지할 수 있고, 이러한 경우, 동일한 컨트롤러 A(110)에 포함된 대기 Client 모듈(111-1)에 대해 세션 요청 메시지(Session Request Message)를 전송하여 재접속을 시도할 수 있다. Referring to FIG. 8, the
동일한 컨트롤러 A(110)로 재접속을 수행하는 컨트롤러 A(110) 내에 활성 Client 모듈(111)이 대기 Client 모듈(111-1)로 절체가 수행될 수 있기 때문이다. This is because the
여기서, 세션 요청 메시지는 기존의 활성 Client 모듈(111)로부터 끊어진 세션을 복구하기 위하여, 세션 요청을 하는 라우터의 ID와 기존에 연결되었던 Cilent 모듈(111)에 대한 Client ID 및 Secondary ID 정보, 장애에 따른 재접속을 나타내는 정보를 포함할 수 있다. Here, in order to recover a session that has been disconnected from the existing
만일, 해당 컨트롤러(110)의 대기 Client 모듈(111-1)이 정상적으로 장애를 복구할 경우, 대기 Client 모듈(111-1)은 세션 응답 메시지(session response message)를 Agent 모듈(211)로 전송하여 세션 연결이 성공적으로 수행되었음을 알릴 수 있다.If the standby client module 111-1 of the
대기 Client 모듈(111-1)은 자신의 상태를 활성(active) 상태로 변경하고 재접속 메시지에 포함되어 있는 Client ID를 활용하여 Transaction DB(410)를 검색하여 기존에 수행되고 있던 작업(transaction state가 running인 경우)이 연속적으로 수행될 수 있도록 한다.
The standby client module 111-1 changes its state to an active state and searches the
도 9는 본 발명의 실시예에 따라 컨트롤러에 장애가 발생한 경우에 대한 장애 처리를 설명하기 위한 예시도이고, 도 10은 본 발명의 실시예에 따른 클라이언트 일관성 테이블의 생성 및 관리를 설명하기 위한 예시도이다.FIG. 9 is an exemplary diagram for explaining an error process when a controller fails in accordance with an embodiment of the present invention. FIG. 10 is an exemplary diagram for explaining generation and management of a client consistency table according to an embodiment of the present invention. to be.
도 9를 참조하여, 현재 라우터 A(210)를 제어하고 있는 컨트롤러 A(110) 내의 활성 Client 모듈(111)과 대기 Client 모듈(111-1) 전체에 장애가 발생한 경우를 설명한다.A case where a failure occurs in the entire
컨트롤러 A(110) 내 활성 Client 모듈(111)과 대기 Client 모듈(111-1) 전체에 장애가 발생되는 경우, 세션 요청 메시지(Session Request Message)를 통해 재접속을 시도하는 Agent 모듈(211)은 재접속 실패를 통해 컨트롤러 A(110) 내 Client 모듈(111, 111-1) 전체에 장애가 발생하였음을 감지할 수 있다. When a failure occurs in the entire
Agent 모듈(211)은 기존에 구성되어 있는 클라이언트 리스트(client list)로부터 대기(standby) 상태에 있는 다른 컨트롤러 B(120)로 접속을 시도할 수 있다. The
Agent 모듈(211)이 컨트롤러 B(120)에 대해서 접속을 시도하는 경우 기존 컨트롤러 A(110)의 활성 Client 모듈(111)에서 사용된 Client ID 정보와 Secondary ID 정보를 포함하는 세션 요청 메시지를 이용하여 접속을 시도할 수 있다. When the
컨트롤러 B(120)의 활성 Client 모듈(121)이 정상적으로 동작될 경우, 재접속을 성공적으로 수행할 수 있다. When the
따라서, 본 발명의 실시예에 따르면, 라우터(110, 120)는 활성 Client 모듈에 의해 라우터가 제어되고 있는 상태의 라우팅 시스템에 발생한 장애를 판단하여 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리할 수 있다. Therefore, according to the embodiment of the present invention, the
도 10을 참조하면, 세션 요청 메시지(Session request message)를 수신한 컨트롤러 B(120)의 활성 Client 모듈(121)은 Agent 모듈(211)에게 세션 요청 메시지를 통해 세션 연결이 성공적으로 수행되었음을 알릴 수 있다. Referring to FIG. 10, the
또한, 활성 Client 모듈(121)은 세션 요청 메시지에 포함된 Client ID 및 Secondary ID 정보를 바탕으로 장애가 발생된 Client ID와 자신의 Client ID 정보가 서로 연관성이 있음을 나타내는 클라이언트 일관성 테이블(Client Consistency Table)을 생성할 수 있다. In addition, the
장애가 복구될 때까지 클라이언트 일관성 테이블은 유지될 수 있으며, 이후 세션 연결 요청을 시도했던 라우터 A(210)로부터 전달되는 모든 메시지에 대해서 컨트롤러 B(120)는 자신이 마치 장애가 발생되었던 컨트롤러 A(110)처럼 동작을 수행할 수 있고, 이를 통하여, 장애 이전에 저장된 정보와 장애 이후에 저장된 정보들이 일관된 컨트롤러에 의해 관리될 수 있도록 한다. . The client B consistency table can be maintained until the failure is recovered and the
보다 상세하게는, 도 10은 컨트롤러 A(110)에 장애가 발생함에 따라 컨트롤러 B(120)가 클라이언트 일관성 테이블을 생성하여 관리하는 예를 나타낸다. More specifically, FIG. 10 shows an example in which the
예를 들어, 컨트롤러 B(120)의 활성 Client 모듈(121)은 컨트롤러 B(120)의 Client 모듈(121, 121-1)에 수용되는 Network Application(320)으로부터 전달된 Route 추가 요청에 대해서 Transaction Table에 기존 컨트롤러 A(110)에 대한 정보인 Client ID 100과 Secondary 3000를 이용하여 트랜잭션 정보를 추가할 수 있다. For example, the
따라서, 컨트롤러 B(120)의 활성 Client 모듈(121)은 Agent 모듈(111)로부터 전달되는 이벤트 및 오퍼레이션 결과에 대해서 장애 이전과 이후에 대해 일관성 있는 테이블 정보를 유지하여 관리할 수 있다.
Therefore, the
상술한 본 발명의 실시예에 따른 라우팅 시스템의 장애를 처리하는 방법은, 컨트롤러의 이중화된 구조 및 이러한 구조에 기반한 장애 복구 절차를 제공하여 장애 시에도 라우팅 시스템을 안정적으로 제어할 수 있다. The method for handling a failure of a routing system according to an embodiment of the present invention can provide a redundant structure of a controller and a failure recovery procedure based on such a structure to stably control a routing system even in the event of a failure.
또한, 본 발명에 따른 라우팅 시스템의 장애를 처리하는 방법은, 장애가 발생된 컨트롤러와 복구를 수행한 컨트롤러 간 일관성 있는 오퍼레이션을 수행할 수 있다. In addition, the method for handling a fault in the routing system according to the present invention can perform a consistent operation between the failed controller and the controller performing the recovery.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that
100: 컨트롤러 110: 컨트롤러 A
120: 컨트롤러 B
101, 111, 111-1, 121, 121-1: Client 모듈
210: 라우터 A 220: 라우터 B
211, 221: Agent 모듈
212, 222: Signaling protocol 모듈
213, 223: Routing protocol 모듈
214, 224: Routing information base 모듈
215, 225: Policy DB
216, 226: Topology DB
217, 227: Forwarding information base 모듈
300, 301, 310, 320: 네트워크 어플리케이션
400: 데이터베이스 410: Transaction DB
420: I/F status DB100: controller 110: controller A
120: Controller B
101, 111, 111-1, 121, 121-1: Client module
210: Router A 220: Router B
211, 221: Agent module
212, 222: Signaling protocol module
213, 223: Routing protocol module
214, 224: Routing information base module
215, 225: Policy DB
216, 226: Topology DB
217, 227: Forwarding information base module
300, 301, 310, 320: Network application
400: Database 410: Transaction DB
420: I / F status DB
Claims (18)
라우터가 적어도 하나의 컨트롤러에 대한 정보를 수집하는 단계;
상기 라우터가 상기 적어도 하나의 컨트롤러에 대한 정보에 기반하여 상기 적어도 하나의 컨트롤러 상에 위치한 복수의 클라이언트 모듈 중에서 활성(active) 클라이언트 모듈을 확인하는 단계; 및
상기 라우터가 상기 확인된 활성 클라이언트 모듈에 대한 정보에 기반하여 상기 라우팅 시스템에 발생한 장애를 판단하고, 상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계를 포함하되,
상기 라우팅 시스템은,
상기 적어도 하나의 컨트롤러 상에 활성(active) 및 대기(standby)로 이중화된 복수의 클라이언트 모듈 중에서 활성(active) 클라이언트 모듈이 상기 라우터를 제어하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.In fault handling for a routing system,
The router collecting information about at least one controller;
The router identifying an active client module among a plurality of client modules located on the at least one controller based on information about the at least one controller; And
The router determining a failure occurring in the routing system based on the information on the identified active client module and processing the failure according to the object of the failure occurring in the routing system,
The routing system comprises:
Wherein an active client module controls the router among a plurality of client modules that are duplicated active and standby on the at least one controller.
A method of handling a failure of a routing system.
상기 라우팅 시스템은,
상기 라우터의 제어 평면 상에 위치한 에이젼트 모듈이 상기 적어도 하나의 컨트롤러 상의 상기 복수의 클라이언트 모듈과 통신함으로써, 라우팅 시스템 인터페이스를 구성하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method according to claim 1,
The routing system comprises:
Wherein the agent module located on the control plane of the router communicates with the plurality of client modules on the at least one controller to configure the routing system interface.
A method of handling a failure of a routing system.
상기 적어도 하나의 컨트롤러에 대한 정보를 수집하는 단계는,
상기 라우터가 클라이언트 탐색 요청 메시지를 브로드캐스트하는 단계; 및
상기 클라이언트 탐색 요청 메시지에 대한 응답으로 상기 적어도 하나의 컨트롤러로부터 클라이언트 탐색 응답 메시지를 수신하는 단계를 포함하는,
라우팅 시스템의 장애를 처리하는 방법.The method according to claim 1,
Wherein collecting information about the at least one controller comprises:
Broadcasting the client search request message by the router; And
And receiving a client search response message from the at least one controller in response to the client search request message.
A method of handling a failure of a routing system.
상기 클라이언트 탐색 요청 메시지는,
상기 라우터를 위한 라우팅 시스템 인터페이스의 버전 정보, 상기 라우터 상의 RIB(Routing Information Base)의 정보를 제어하기 위한 RIB data model 정보, 상기 라우터 상에서 발생하는 로그 정보를 제어하기 위한 system log data model 정보 및 상기 라우터에 정책 설정을 위한 policy data model 정보 중 적어도 하나를 포함하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 3,
The client search request message includes:
(RIB) data model information for controlling information of a routing information base (RIB) on the router, system log data model information for controlling log information generated on the router, And policy data model information for policy setting.
A method of handling a failure of a routing system.
상기 클라이언트 탐색 응답 메시지는,
상기 복수의 클라이언트 모듈 각각을 위한 라우팅 시스템 인터페이스의 버전 정보, Client ID 정보, 상기 복수의 클라이언트 모듈 각각에 수용되는 네트워크 어플리케이션을 식별하는 Secondary ID 정보, 상기 라우터의 에이전트 모듈과 연결을 위한 허용 세션의 개수 및 세션 연결을 위한 포트 정보 중 적어도 하나를 포함하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 3,
The client search response message includes:
A version number of the routing system interface for each of the plurality of client modules, Client ID information, Secondary ID information for identifying a network application accommodated in each of the plurality of client modules, a number of allowed sessions for connection with the agent module of the router And port information for connection to a session.
A method of handling a failure of a routing system.
상기 활성 클라이언트 모듈을 확인하는 단계는,
상기 복수의 클라이언트 모듈 중에서 랜덤하게 또는 미리 설정된 정책에 기반하여 선택된 상기 활성 클라이언트 모듈을 확인하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method according to claim 1,
Wherein identifying the active client module comprises:
Characterized in that it identifies the active client module selected randomly or based on a predetermined policy among the plurality of client modules.
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
Hello 메시지 교환을 통하여 상기 라우팅 시스템에 발생한 장애를 판단하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method according to claim 1,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
Wherein the routing system is configured to determine a failure occurring in the routing system through a Hello message exchange.
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
상기 라우터를 제어하는 컨트롤러에 포함된 상기 활성 클라이언트 모듈과 대기(standby) 클라이언트 모듈 중에서 상기 활성 클라이언트 모듈에 장애가 발생한 것으로 판단되면,
상기 라우터를 제어하는 컨트롤러에 포함된 상기 대기 클라이언트 모듈에 세션 요청 메시지를 전송하여 장애를 처리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method according to claim 1,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
If it is determined that the active client module and the standby client module included in the controller for controlling the router have failed,
And a session request message is transmitted to the standby client module included in the controller for controlling the router to process the failure.
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
상기 라우터를 제어하는 컨트롤러에 장애가 발생한 것으로 판단되면,
상기 적어도 하나의 컨트롤러에 대한 정보에 기반한 클라이언트 리스트를 이용하여 다른 컨트롤러로 세션 요청 메시지를 전송하여 장애를 처리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method according to claim 1,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
If it is determined that a failure has occurred in the controller that controls the router,
Wherein the controller is configured to process a fault by transmitting a session request message to another controller using a client list based on information on the at least one controller.
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
상기 라우터의 물리적 링크에 장애가 발생한 것으로 판단되면,
장애가 발생한 인터페이스 정보 및 장애 원인에 대한 정보를 상기 활성 클라이언트로 전송하여 장애를 처리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method according to claim 1,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
If it is determined that the physical link of the router has failed,
And transmits the information on the failed interface and information on the cause of the failure to the active client to process the failure.
A method of handling a failure of a routing system.
라우터가 상기 라우팅 시스템에 발생한 장애를 판단하는 단계; 및
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계를 포함하되,
상기 라우팅 시스템은,
적어도 하나의 컨트롤러 상에 활성(active) 및 대기(standby)로 이중화된 복수의 클라이언트 모듈 중에서 활성(active) 클라이언트 모듈이 상기 라우터를 제어하며,
상기 라우터는,
상기 활성 클라이언트 모듈에 대한 정보에 기반하여 상기 라우팅 시스템에 발생한 장애를 판단하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.In fault handling for a routing system,
Determining a failure occurring in the routing system by the router; And
Processing the fault according to the object of the fault occurring in the routing system,
The routing system comprises:
An active client module controls the router among a plurality of client modules that are duplicated active and standby on at least one controller,
The router includes:
And determining a failure occurring in the routing system based on the information on the active client module.
A method of handling a failure of a routing system.
상기 라우팅 시스템은,
상기 라우터의 제어 평면 상에 위치한 에이젼트 모듈이 상기 적어도 하나의 컨트롤러 상의 상기 복수의 클라이언트 모듈과 통신함으로써, 라우팅 시스템 인터페이스를 구성하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 11,
The routing system comprises:
Wherein the agent module located on the control plane of the router communicates with the plurality of client modules on the at least one controller to configure the routing system interface.
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
기존에 연결되었던 상기 활성 클라이언트 모듈을 식별하는 Client ID 정보, 기존에 연결되었던 상기 활성 클라이언트 모듈에 수용되는 네트워크 어플리케이션을 식별하는 Secondary ID 정보 및 장애에 따른 재접속을 나타내는 정보를 포함하는 세션 요청 메시지를 이용하여 장애를 처리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 11,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
A session request message including Client ID information for identifying the active client module that has been previously connected, Secondary ID information for identifying a network application accommodated in the active client module that has been previously connected, and information indicating reconnection according to the failure Lt; RTI ID = 0.0 > a < / RTI > fault,
A method of handling a failure of a routing system.
상기 세션 요청 메시지를 수신하여 장애를 처리하는 클라이언트 모듈이 상기 세션 요청 메시지에 기반하여 클라이언트 일관성 테이블(Client Consistency table)을 생성하여 관리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.14. The method of claim 13,
Wherein the client module that receives the session request message and processes the failure generates and manages a client consistency table based on the session request message.
A method of handling a failure of a routing system.
상기 라우팅 시스템에 발생한 장애를 판단하는 단계는,
Hello 메시지 교환을 통하여 수행되는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 11,
Wherein the step of determining a failure occurring in the routing system comprises:
Lt; RTI ID = 0.0 > Hello message exchange. ≪ / RTI >
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
상기 라우터를 제어하는 컨트롤러에 포함된 상기 활성 클라이언트 모듈과 대기(standby) 클라이언트 모듈 중에서 상기 활성 클라이언트 모듈에 장애가 발생한 것으로 판단되면,
상기 라우터를 제어하는 컨트롤러에 포함된 상기 대기 클라이언트 모듈에 세션 요청 메시지를 전송하여 장애를 처리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 11,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
If it is determined that the active client module and the standby client module included in the controller for controlling the router have failed,
And a session request message is transmitted to the standby client module included in the controller for controlling the router to process the failure.
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
상기 라우터를 제어하는 컨트롤러에 장애가 발생한 것으로 판단되면,
상기 적어도 하나의 컨트롤러에 대한 정보에 기반한 클라이언트 리스트를 이용하여 다른 컨트롤러로 세션 요청 메시지를 전송하여 장애를 처리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 11,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
If it is determined that a failure has occurred in the controller that controls the router,
Wherein the controller is configured to process a fault by transmitting a session request message to another controller using a client list based on information on the at least one controller.
A method of handling a failure of a routing system.
상기 라우팅 시스템에서 발생한 장애의 대상에 따라 장애를 처리하는 단계는,
상기 라우터의 물리적 링크에 장애가 발생한 것으로 판단되면,
장애가 발생한 인터페이스 정보 및 장애 원인에 대한 정보를 상기 활성 클라이언트로 전송하여 장애를 처리하는 것을 특징으로 하는,
라우팅 시스템의 장애를 처리하는 방법.The method of claim 12,
Wherein the step of processing the failure according to the object of the failure occurring in the routing system comprises:
If it is determined that the physical link of the router has failed,
And transmits the information on the failed interface and information on the cause of the failure to the active client to process the failure.
A method of handling a failure of a routing system.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130128669 | 2013-10-28 | ||
KR20130128669 | 2013-10-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150048653A KR20150048653A (en) | 2015-05-07 |
KR101578622B1 true KR101578622B1 (en) | 2015-12-17 |
Family
ID=53387088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140147082A KR101578622B1 (en) | 2013-10-28 | 2014-10-28 | Method of failover for routing system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101578622B1 (en) |
-
2014
- 2014-10-28 KR KR1020140147082A patent/KR101578622B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20150048653A (en) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1919138B1 (en) | A method for implementing backup of the uplink | |
CN100589408C (en) | A communication network connection method and its device | |
US9385944B2 (en) | Communication system, path switching method and communication device | |
JP5764820B2 (en) | Transmission system and transmission system control method | |
US20170214609A1 (en) | Forwarding method and forwarding device | |
US20150295752A1 (en) | Openflow switch and failure recovery method in openflow network | |
CN111447101B (en) | Link detection method, device, computer equipment and storage medium | |
CN103441897A (en) | Method and device for locating failure node in virtual network | |
CN104869057A (en) | OpeFlow switch graceful restart processing method, device and OpeFlow controller | |
US20170195186A1 (en) | Network Topology Determining Method and Apparatus, and Centralized Network Status Information Storage Device | |
CN104980355A (en) | Source controllable multicast data transmission method and system thereof under SDN Environment | |
CN101989953A (en) | Method and equipment for sending bidirectional forwarding detection message | |
EP1675356B1 (en) | Notification of failures in a trunk network | |
US8218433B2 (en) | Monitoring connectivity in ring networks | |
CN104125079A (en) | Method and device for determining double-device hot-backup configuration information | |
TW201720105A (en) | Method for virtual local area network fail-over management, system therefor and apparatus therewith | |
KR102092015B1 (en) | Method, apparatus and computer program for recognizing network equipment in a software defined network | |
US20140078893A1 (en) | Router, system and method for network recovery | |
KR101578622B1 (en) | Method of failover for routing system | |
JP5518771B2 (en) | Redundant network system, termination device and relay point adjacent device | |
KR20150050447A (en) | Method of failover for bgp routing | |
CN109120520A (en) | A kind of fault handling method and equipment | |
CN111510331B (en) | Network fault analysis method, device, server and storage medium | |
CN113037622B (en) | System and method for preventing BFD from vibrating | |
KR101625399B1 (en) | Method and apparatus for controlling tcp connection in software defined network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |