KR100715678B1 - 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩제어방법 - Google Patents
분산 포워딩 구조의 라우터 시스템 및 그의 포워딩제어방법 Download PDFInfo
- Publication number
- KR100715678B1 KR100715678B1 KR1020050117741A KR20050117741A KR100715678B1 KR 100715678 B1 KR100715678 B1 KR 100715678B1 KR 1020050117741 A KR1020050117741 A KR 1020050117741A KR 20050117741 A KR20050117741 A KR 20050117741A KR 100715678 B1 KR100715678 B1 KR 100715678B1
- Authority
- KR
- South Korea
- Prior art keywords
- forwarding table
- forwarding
- router
- entry
- line card
- 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/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩 제어방법에 관한 것으로서, 상기 라우터 시스템은 다수의 라인카드들과 라우터 프로세서를 포함하고 상기 라우터 프로세서의 장애 발생으로 인해 라우터 프로세서와 라인카드간 연결 해제시 라인카드가 기 저장된 제1 포워딩 테이블을 유지하면서 상기 라우터 프로세서로부터의 접속을 대기하고 장애 복구된 라우터 프로세서의 접속 요청에 응답하여 라인카드가 상기 제1 포워딩 테이블의 엔트리 정보를 라우터 프로세서에게 전달하고 라인카드로부터 전달된 제1 포워딩 테이블의 엔트리 정보와 상기 라우터 프로세서에서 새롭게 생성된 제2 포워딩 테이블의 엔트리 정보를 비교하여 상기 제1 포워딩 테이블을 상기 제2 포워딩 테이블과 일치시키는 과정을 수행한다.
본 발명은 라우터 프로세서의 장애 발생시에도 중단없이 포워딩을 제어할 수 있으며 장애 복구 후에도 최신의 포워딩 정보를 이용하여 정확한 포워딩이 가능한 장점이 있다.
분산 포워딩 구조의 라우터, 포워딩, 라우터, 장애, 복구
Description
도 1은 일반적인 분산 포워딩 구조 라우터 시스템에서 포워딩을 제어하는 처리 절차를 예시한 도면이다.
도 2는 본 발명에 따른 분산 포워딩 구조의 라우터 시스템에 대한 개략적인 구성 블록도이다.
도 3은 도 2에 예시된 라우터 시스템에서 포워딩 테이블 정보의 전송을 위한 IPC 통신 블록의 예를 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법을 예시한 도면이다.
도 5a 및 도 5b는 본 발명의 일실시 예에 따른 분산 포워딩 구조 라우터 시스템에서 포워딩을 제어하는 처리절차를 예시한 도면이다.
도 6a 내지 도 6c는 본 발명의 일실시 예에 따른 포워딩 처리 중 순차적으로 생성되는 포워딩 테이블의 예를 도시한 도면들이다.
* 도면의 주요 부분에 대한 부호의 설명 *
200: 라우터 시스템 210: 라우터 프로세서
215: RIB 217: FIB 처리기
219: IPC 처리기 220, 230, 240, 250: 라인카드
225, 235, 245, 255: FIB 227, 237: FIB 처리기
229, 239: IPC 처리기 270: 이더넷 버스
본 발명은 분산 포워딩 구조의 라우터 시스템에 관한 것으로서, 특히 라우터 프로세서의 장애 복구 후에도 중단 없이 포워딩을 제어하는 라우터 시스템 및 그의 포워딩 제어방법에 관한 것이다.
초기의 라우터 구조는 운영체제 내의 커널(kernel)에 포워딩(forwarding) 정보를 저장하고, 패킷이 입력되면 상기 포워딩 정보를 검색하여 목적지를 검출한 후 그 목적지로 상기 입력된 패킷을 전달하였다. 즉 초기의 라우터는 중앙 집중형으로 구성되었다.
하지만, 점차 패킷의 양이 증가함에 따라 상기 라우터는 다수의 라인카드들을 포함하고, 각 라인카드에 저장된 포워딩 정보에 의거하여 패킷을 전달하는 분산 포워딩 구조로 변화해 가고 있다. 즉, 상기 분산 포워딩 구조의 라우터는 상기 각 라인카드로 입력된 패킷을 해당 라인 카드에 저장된 포워딩 정보에 의거하여 해당 목적지로 전달한다.
이러한 분산 포워딩 구조의 라우터는 라우팅 테이블을 저장하고 라우팅 프로토콜에 의해 이웃하는 라우터들과 상기 라우팅 테이블에 포함된 라우팅 정보들을 교환하거나 운영자의 조작에 의해 상기 라우팅 테이블에 포함된 라우팅 정보를 변경하는 라우터 프로세서의 동작에 의해 라우팅 테이블의 각 엔트리가 생성, 변경 및 삭제된다. 그리고 분산 포워딩 구조의 라우터는 상기 라우팅 테이블의 변경과 연동하여 함께 변경되는 포워딩 정보(예컨대, 포워딩 테이블)를 각 라인카드의 포워딩 정보에 반영하여 일치성을 보장한다. 이로 인해 패킷의 정확한 포워딩을 보장할 수 있다.
또한, 최근의 분산 포워딩 구조의 라우터는 시스템 운영 중에도 각 라인카드의 실/탈장을 지원한다. 즉, 최근의 분산 포워딩 구조 라우터는 라우터 프로세서가 포워딩 정보를 저장하고 새로이 실장된 라인카드에 상기 포워딩 정보를 전달함으로써 새로이 실장된 라인카드를 통해서도 정상적인 패킷 포워딩이 가능하도록 한다. 또한 이로 인해 특정 라인 카드에 장애가 발생하더라도 전체 시스템 운영에는 아무런 지장이 없도록 한다.
그러나, 상기 라우터 프로세서에 장애가 발생하여 이 라우터 프로세서를 다른 라우터 프로세서로 교체하거나 장애복구를 위하여 상기 라우터 프로세서를 재시동할 경우, 기존의 라우터 프로세서가 보유하고 있던 라우팅 테이블 및 포워딩 정보가 손실되고, 이로 인해 각 라인카드에 존재하는 포워딩 정보가 모두 삭제된다.
이와 같은 분산 포워딩 구조 라우터 시스템에서 라우터 프로세서에 장애가 발생하기 전/후에 포워딩을 제어하기 위한 처리 절차가 도 1에 예시되어 있다.
도 1은 일반적인 분산 포워딩 구조 라우터 시스템에서 포워딩을 제어하는 처리 절차를 예시한 도면으로서, 도 1을 참조하면 라우터 프로세서(10)와 라인카드(20)를 포함하는 종래의 분산 포워딩 구조 라우터 시스템에서 포워딩을 제어하기 위한 처리 절차는 다음과 같다.
먼저, 라우터 프로세서(10)는 인접 라우터와의 라우팅 정보 교환 또는 운영자의 조작에 의해 라우팅 정보 베이스(Routing Information Base;이하, 'RIB'라 칭함)를 생성한다(S101). 그리고 그 RIB를 기반으로 포워딩 테이블을 생성한 후(S103) 그 포워딩 테이블 정보를 라인카드(20)에게 전달한다(S105). 그러면 라인카드(20)는 상기 포워딩 테이블 정보에 의거하여 포워딩 테이블을 생성한다(S107). 또한, 라우터 프로세서(10)는 인접 라우터와의 라우팅 정보 교환 또는 운영자의 입력 정보에 의거하여 상기 생성된 RIB, 포워딩 테이블 및 라인카드(20)에서 생성된 포워딩 테이블을 지속적으로 유지 관리한다. 예를 들어, 상기 라우팅 정보 교환 또는 운영자의 입력 정보에 의거하여 상기 RIB가 갱신된 경우(S109) 라우터 프로세서(10)는 대응된 포워딩 테이블을 갱신한 후(S111) 그 갱신된 포워딩 테이블 정보를 라인카드(20)에게 전달한다(S113). 그러면 라인카드(20)는 상기 갱신된 포워딩 테이블 정보에 의거하여 포워딩 테이블을 갱신한다(S115).
한편, 라우터 프로세서(10)에 장애가 발생하여(S117), 해당 라우터 프로세서(10)가 교체 또는 재시동된 경우(S119) 라우터 프로세서(10)와 라인카드(20)의 연결은 해제되고(S121) 라우터 프로세서(10)에 기 저장되어 있던 포워딩 테이블 정보 가 삭제된다(S123). 이와 같이 라우터 프로세서(10)와 라인카드(20)의 연결이 해제되고 라우터 프로세서(10)에 저장된 포워딩 테이블 정보가 삭제된 경우, 라인카드(20)에 저장된 포워딩 테이블도 함께 삭제되고(S125) 이로 인해 해당 라인카드(20)를 통한 포워딩은 중단된다(S127). 이 때 상기 포워딩 테이블 정보의 삭제(S125)는 라우터 프로세서(10)에 저장된 라우팅 테이블의 손상 또는 삭제로부터 기인한 것이다.
또한, 상기 과정(S119)에서 교체 또는 재시동된 라우터 프로세서(10)는 인접 라우터와의 라우팅 정보 교환을 수행하고(S129) 그 결과에 의거하여 새로운 RIB를 생성한다(S131). 그리고 그 RIB에 의거하여 새로운 포워딩 테이블을 생성한 후(S133) 상기 새로운 포워딩 테이블 정보를 라인카드(20)에게 전달한다. 그러면 라인카드(20)는 그 정보에 의거하여 새로운 포워딩 테이블을 생성한다(S137). 그리고 그 포워딩 테이블에 의거하여 포워딩을 재개한다. 즉 상기 과정(S127) 이후에 중단 중이던 포워딩을 재개한다.
이와 같이 종래의 분산 포워딩 구조 라우터 시스템에서 포워딩을 제어하기 위한 처리 절차는 라우터 프로세서(10)에 장애 발생 후 상기 과정들(S129 내지 S133)을 통해 새로운 포워딩 테이블을 복구할 때까지 포워딩이 중단된다. 예를 들어 라우터 프로세서(10) 및 라인카드(20)에 새로운 포워딩 테이블을 만들기 전까지 라인카드(20)에 포워딩 테이블이 존재하지 않아 라인카드(20)로 입력되는 패킷은 정상적인 패킷 포워딩을 수행하지 못하는 단점이 있다.
상기와 같은 문제점을 해소하기 위해 본 발명은 분산 포워딩 구조 라우터 시스템에서 라우터 프로세서의 장애 복구 후에도 중단 없이 안정적으로 포워딩을 제어하는 라우터 시스템과 그 라우터 시스템의 포워딩 제어방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 분산 포워딩 구조 라우터 시스템에서 라우터 프로세서의 장애 복구시 라인 카드가 이전에 생성된 포워딩 테이블 정보를 일정 시간 동안 유지함으로써 중단없이 포워딩을 제어하는 라우터 시스템과 그 라우터 시스템의 포워딩 제어방법을 제공하는데 다른 목적이 있다.
상기 목적을 달성하기 위해 본 발명의 분산 포워딩 구조 라우터 시스템은,
분산 포워딩 구조 라우터 시스템의 포워딩 정보를 관리하는 라우터 프로세서의 장애 발생으로 인해 상기 라우터 프로세서와의 연결 해제시 기 저장된 제1 포워딩 테이블을 유지하고, 상기 라우터 프로세서의 접속 요청에 응답하여 상기 제1 포워딩 테이블의 엔트리 정보를 상기 라우터 프로세서에게 전달하는 다수의 라인카드들; 및 장애 복구 후 현재 네트워크 상황에 맞는 제2 포워딩 테이블을 새롭게 생성하고, 상기 라인카드로부터 전달된 제1 포워딩 테이블의 엔트리 정보와 상기 제2 포워딩 테이블의 엔트리 정보를 비교하여 상기 제1 포워딩 테이블을 상기 제2 포워딩 테이블과 일치시키는 라우터 프로세서를 포함한다.
이 때, 상기 라인카드는 상기 제1 포워딩 테이블의 엔트리 수와, 상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 정보를 포함하는 엔트리 정보를 상기 라우터 프로세서에게 전달하고, 상기 라우터 프로세서는 상기 제1 포워딩 테이블의 엔트리 수가 '0'이상인 경우 상기 제1 포워딩 테이블을 상기 제2 포워딩 테이블과 일치시키는 것이 바람직하다.
이를 위하여, 상기 라우터 프로세서는 상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 값을 토글시킨 값을 상기 제2 포워딩 테이블의 엔트리에 적용한 후 상기 제2 포워딩 테이블 정보를 상기 라인카드에게 전달하고, 상기 제2 포워딩 테이블의 엔트리에 포함된 플래그 값과 다른 플래그 값을 갖는 제1 포워딩 테이블의 엔트리를 삭제하는 것이 바람직하다.
또한, 상기 목적을 달성하기 위한 본 발명의 라우팅 장치에서의 포워딩 제어방법은, 라우터 프로세서와 다수의 라인카드들을 포함하는 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법에 있어서,
라우터 프로세서의 장애 발생으로 인해 라우터 프로세서와 라인카드간 연결 해제시 라인카드가 기 저장된 제1 포워딩 테이블을 유지하면서 상기 라우터 프로세서로부터의 접속을 대기하는 제1단계; 장애 복구된 라우터 프로세서의 접속 요청에 응답하여 라인카드가 상기 제1 포워딩 테이블의 엔트리 정보를 라우터 프로세서에게 전달하는 제2단계; 및 라인카드로부터 전달된 제1 포워딩 테이블의 엔트리 정보와 상기 라우터 프로세서에서 새롭게 생성된 제2 포워딩 테이블의 엔트리 정보를 비교하여 상기 제1 포워딩 테이블을 상기 제2 포워딩 테이블과 일치시키는 제3단계를 포함한다.
이 때, 상기 제2단계는 상기 제1 포워딩 테이블의 엔트리 수와, 상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 정보를 포함하는 엔트리 정보를 전달하는 것이 바람직하다.
또한, 상기 제3단계는 상기 제1 포워딩 테이블의 엔트리 수가 '0'이상인 경우 상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 값을 토글시킨 값을 상기 제2 포워딩 테이블의 엔트리에 적용하는 제4단계; 라우터 프로세서가 상기 제2 포워딩 테이블 정보를 라인카드에게 전달하는 제5단계; 라인카드가 상기 제2 포워딩 테이블 정보에 의거하여 상기 제1 포워딩 테이블을 갱신하는 제6단계; 및 상기 제2 포워딩 테이블의 엔트리에 포함된 플래그와 다른 플래그 값을 갖는 제1 포워딩 테이블의 엔트리를 삭제하는 제7단계를 포함한다.
이 때, 상기 제3단계는 상기 복구된 라우터 프로세서의 안정화 대기 시간을 카운트하기 위한 타이머의 시간을 설정하는 과정을 더 포함하고, 상기 타이머의 시간이 경과하면 상기 제7단계를 수행할 수 있다.
또한, 상기 제3단계는 상기 제1 포워딩 테이블의 엔트리 수가 '0'인 경우 라우터 프로세서가 상기 제2 포워딩 테이블 정보를 라인카드에게 전달하는 제8단계; 및 라인카드가 상기 제2 포워딩 테이블 정보에 의거하여 새로운 포워딩 테이블을 생성하는 제9단계를 포함하는 것이 바람직하다.
이하, 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 참조번호 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
도 2는 본 발명에 따른 분산 포워딩 구조의 라우터 시스템에 대한 개략적인 구성 블록도이다. 도 2를 참조하면 본 발명에 따른 분산 포워딩 구조의 라우터 시스템(200)은 라우터 프로세서(210), 다수의 라인카드들(220,230,240,250) 및 상기 라우터 프로세서(210)와 다수의 라인카드들(220,230,240,250)을 서로 연결하는 스위치 패브릭(270)을 포함한다.
라우터 프로세서(210)는 이웃하는 라우터와 라우팅 정보를 교환하는 라우팅 프로토콜이 실행되고 있으며, 상기 교환한 정보를 기반으로 라우팅 정보 베이스(RIB) 정보(215)를 관리한다. 또한 전체적인 시스템 제어 기능을 수행한다. 예를 들어 라우터 프로세서(210)는 RIB 정보(215)를 이용하여 포워딩 테이블을 생성 및 갱신하고 그 포워딩 테이블 정보를 다수의 라인카드들(220,230,240,250)에게 전달함으로써 라우터 프로세서(210)에서 관리하는 라우팅 정보를 다수의 라인카드들(220,230,240,250)이 관리하는 포워딩 정보 베이스(Forwarding Information Base;이하, 'FIB'라 칭함)에 반영한다. 이로 인해 패킷의 정확한 포워딩을 보장할 수 있 는 것이다.
특히, 라우터 프로세서(210)는 다수의 라인카드들(220,230,240,250) 중 어느 하나(예컨대, 라인카드(220), 이하, 라인카드(220)라 함)로 접속을 요청하고, 그 응답으로 라인카드(220)로부터 전달된 포워딩 테이블 정보에 의거하여 새로운 포워딩 테이블을 생성할 것인지 이전 포워딩 테이블을 갱신할 것인지를 결정함이 바람직하다.
예를 들어, 라우터 프로세서(210)는 라인카드(220)로부터 라인카드에 저장된 포워딩 테이블의 엔트리수(LP.Entry.No.)와 상기 포워딩 테이블의 엔트리 내에 포함된 플래그(LP.Flag) 정보를 전달받고, 상기 엔트리수(LP.Entry.No.)가 '0'인 경우 라인카드(220)와의 초기 연결인 것으로 판단한다. 또한 그렇지 않은 경우 라우터 프로세서(210)의 장애 발생으로 인해 라우터 프로세서(210)가 재시동됨으로써 라인카드(220)로부터 이전 포워딩 테이블을 전달받은 것으로 판단한다.
상기 판단 결과 라우터 프로세서(210)와 라인카드(220)가 초기 연결인 것으로 판단되면 라우터 프로세서(210)는 라인카드(220)에 새로운 포워딩 테이블을 생성하도록 한다.
한편, 상기 판단결과 라우터 프로세서(210)와 라인카드(220)가 초기 연결이 아닌 것으로 판단되면 라우터 프로세서(210)는 상기 플래그(LP.Flag) 정보에 의거하여 라인카드(220)에 저장된 포워딩 테이블을 갱신한다. 즉 라우터 프로세서(210)가 복구된 후 일정 시간이 경과하면, 라우터 프로세서(210)는 라우터 프로세서(210)에서 생성한 포워딩 테이블의 엔트리 내에 포함된 플래그(Entry.Flag)와 라인 카드(220)에 저장된 포워딩 테이블의 엔트리 내에 포함된 플래그(LP.Flag)를 비교하여 그 두 값이 다른 엔트리 발견시 라인카드(220)에 저장된 포워딩 테이블의 해당 엔트리를 삭제한다. 이로 인해 라인카드(220)에 저장된 포워딩 테이블을 최신 정보로 유지 할 수 있는 것이다. 이 때 라우터 프로세서(210)가 일정 시간이 경과한 후에 라인카드(220)에 저장된 포워딩 테이블을 갱신하는 것은 라우터 프로세서(210)가 복구된 후 안정화되는 시간을 기다리기 위함이다.
상기 다수의 라인카드들(220,230,240,250)은 입력되는 패킷의 포워딩을 수행한다. 예를 들어, 상기 다수의 라인카드들(220,230,240,250)은 입력되는 패킷의 목적지 주소를 추출한 후, 상기 목적지 주소를 이용하여 기 저장된 포워딩 테이블(FIB) 정보(225,235,245,255)를 룩업(look up)함으로써 해당 패킷을 출력할 출력포트의 라인카드 정보를 검출한다. 그리고 스위치 패브릭(270)을 통하여 상기 패킷을 출력포트의 라인카드로 전달한다. 그러면 상기 출력포트의 라인카드는 상기 패킷을 출력 포트를 통해서 전달한다. 이 때 다수의 라인카드들(220,230,240,250)에 저장된 포워딩 테이블은 엔트리의 버전 정보를 관리하기 위한 플래그 필드(LP.Flag)를 포함함이 바람직하다.
그리고, 다수의 라인카드들(220,230,240,250) 중 어느 하나(예컨대, 라인카드(220), 이하, 라인카드(220)라 함)는 라우터 프로세서(210)와의 연결이 해제된 경우 포워딩을 지속하기 위해 기 저장된 포워딩 테이블을 삭제하지 않고 유지한다.
한편, 라우터 프로세서(210)가 복구 되면 상기 저장된 포워딩 테이블 정보(예컨대, 엔트리 수 및 엔트리 내에 포함된 플래그 값)를 라우터 프로세서(210)로 전달한다. 그리고 라우터 프로세서(210)로부터 이전 포워딩 정보의 삭제를 요청받으면 그 플래그 정보에 의해 라인카드(220)에 저장된 포워딩 테이블에 저장된 포워딩 정보 중 이전 포워딩 정보를 삭제함이 바람직하다. 이는 라인카드(220)에 저장된 포워딩 테이블을 라우터 프로세서(210)에 저장된 포워딩 테이블과 일치시키도록 하기 위함이다.
이 때, 라우터 프로세서(210)와 다수의 라인카드들(220,230,240,250)간의 통신(예컨대, IPC(Inter Processor Communication) 통신)을 위해서는 이더넷 버스(270)가 사용된다. 즉, 이더넷 버스(270)는 라우터 프로세서(210)에서 생성된 RIB 정보(215)를 다수의 라인카드들(220,230,240,250)의 FIB 정보(225,235,245,255)로 전달하는 기능을 수행하거나, 라우터 프로세서(210)가 인접 라우터와 라우팅 정보를 교환할 때 라인카드들(220,230,240,250)로부터 라우터 프로세서(210)로 또는 라우터 프로세서(210)에서 라인카드들(220,230,240,250)로 패킷을 송수신하는 기능을 수행한다.
도 3은 도 2에 예시된 라우터 시스템에서 포워딩 테이블 정보의 전송을 위한 IPC 통신 블록의 예를 도시한 도면이다.
도 3을 참조하면 라우터 프로세서(210)와 다수의 라인카드들(220,230)에는 IPC 통신을 처리하는 IPC 처리기(219,229,239)가 각각 존재하며 이러한 IPC 처리기(219,229,239)는 이더넷 버스(270)를 이용하여 TCP/IP 소켓 통신으로 포워딩 테이블 정보를 송수신한다.
상기 라우터 프로세서의 IPC 처리기(219)는 클라이언트로 동작하며, 라인카드의 IPC 처리기(229 또는 239)는 서버로 동작한다. 그리고 서버로 동작하는 IPC 처리기(229 또는 239)는 클라이언트(즉, 라우터 프로세서의 IPC 처리기(219))와 연결이 설정되면 해당 라인카드(220 또는 230)가 이전에 받은 라우팅 테이블 엔트리 수와 플래그를 라우터 프로세서(210)에게 전달한다. 이는 라우터 프로세서(210)가 상기 전달된 엔트리 수와 플래그 정보를 기반으로 장애 후 재시동되었음을 인식할 수 있도록 하기 위함이다.
상기 라우터 프로세서(210)의 라우터 프로세서의 FIB 처리기(217)는 RIB(215) 정보로부터 라우팅 정보를 가지고 와서 IPC 메시지 형태로 변경한 후 IPC 처리기(217)를 통해서 라인카드들(220 또는 230)로 전달한다. 상기 라인카드(220 또는 230)의 FIB 처리기(227 또는 237)는 전달받은 라우팅 정보를 포워딩 엔진이 사용하는 메모리에 추가/삭제한다. 또한 FIB 처리기(227 또는 237)는 대응된 FIB(즉, 225 또는 235)에 존재하는 엔트리 수를 카운트하는 역할을 수행한다.
도 4는 본 발명의 실시 예에 따른 분산 포워딩 구조 라우터 시스템의 포워딩 제어 방법을 예시한 도면이다.
도 4를 참조하면 본 발명의 실시 예에 따른 분산 포워딩 구조 라우터 시스템의 포워딩 제어 방법은 다음과 같다. 먼저, 운영중인 라우터 시스템의 라우터 프로세서에 장애가 발생하면, 라우터 시스템은 그 라우터 프로세서를 재시동하거나 새로운 라우터 프로세서로 교체한 후 재시동한다(S201).
상기 라인카드의 IPC 처리기는, 라우터 프로세서의 장애로 인해 라우터 프로세서와의 연결이 해제된 경우, 라우터 프로세서가 정상적으로 부팅을 하여 접속할 때까지 기다린다(S203). 이 때, 라인카드의 FIB 처리기는 현재 라인카드에 존재하는 포워딩 테이블 정보를 삭제하지 않고 일정 시간 유지한다. 이는 라우터 프로세서의 장애시에도 라인 카드에 저장된 포워딩 정보를 이용하여 정상적인 포워딩을 유지할 수 있도록 하기 위함이다.
상기 포워딩 테이블의 엔트리에는 해당 엔트리의 버전 정보를 관리하기 위한 플래그 필드(LP.Flag)를 포함하는 것이 바람직하다. 이는 라우터 프로세서에 장애가 발생하고 복구될 때까지 네트워크 상황의 변화로 인해 포워딩 테이블에 변화가 생긴 경우 이를 감지하여 라우터 프로세서와 라인카드 간에 최신의 포워딩 테이블 정보를 공유할 수 있도록 하기 위함이다. 즉, 라우터 프로세서에서 관리하는 포워딩 테이블과 동일한 정보를 라인카드가 공유할 수 있도록 하기 위함이다.
정상부팅이 된 라우터 프로세서로부터 접속 요청이 들어와 접속이 완료되면(S205), 라인카드의 IPC 처리기는 라인카드에 저장 중인 포워딩 테이블의 엔트리 수(LP.Entry_No.)와 그 포워딩 테이블의 엔트리 내에 포함된 플래그 필드(LP.Flag)를 라우터 프로세서로 전송한다(S207).
상기 라우터 프로세서는 라인카드로부터 전송받은 라인카드 포워딩 테이블의 엔트리 수(LP.Entry_No.)에 의해 라인카드에 새로운 포워딩 테이블을 생성할 것인지 라인카드에 저장중인 포워딩 테이블을 갱신할 것인지를 결정한다.
이를 위해, 라우터 프로세서는 라인카드로부터 전송받은 라인카드 포워딩 테 이블의 엔트리 수(LP.Entry_No.)가 '0'인지 아닌지를 확인한다(S209).
상기 S209 단계에서의 확인결과, 상기 라인카드로부터 전송받은 포워딩 테이블의 엔트리 수(LP.Entry_No.)가 '0'이면, 이전에 라인카드로 전송된 포워딩 테이블이 없다는 것을 의미한다. 따라서 라우터 프로세서는 라우터 프로세서에서 생성된 포워딩 테이블의 엔트리 내에 포함된 플래그 필드(Entry.Flag)를 '0'으로 설정한(Entry.Flag = 0) 후 상기 포워딩 테이블을 라인카드로 전송한다(S211).
상기 S209 단계에서의 확인결과, 상기 라인카드로부터 전송받은 포워딩 테이블의 엔트리 수(LP.Entry_No.)가 '0'이 아니면, 이전에 라인카드로 전송된 포워딩 테이블이 있는 상태에서 라우터 프로세서의 장애로 인해 라우터 프로세서가 재시동되었다는 것을 의미한다. 따라서 라우터 프로세서는 타이머(Timer)를 적당한 시간 't'로 설정하고(Timer ← t), 라우터 프로세서에서 생성된 포워딩 테이블의 엔트리 내에 포함된 플래그 필드(Entry.Flag)를 라인카드로부터 전달된 플래그(LP.Flag)의 토글값으로 설정한(Entry.Flag ← LP.Flag의 토글값) 후 상기 포워딩 테이블을 라인카드로 전송한다(S213). 이 때 라인카드로부터 전달된 플래그(LP.Flag)는 상기 과정(S207)에서 라인카드가 라우터 프로세서에게 전달한 포워딩 테이블의 엔트리 내에 포함된 플래그 값을 의미한다. 만약 상기 LP.Flag가 '0'이라면 상기 과정(S213)에서는 Entry.Flag를 '1'로 설정할 것이다. 또한 상기 타이머의 적용은 향후 불필요한 정보의 삭제를 위함이다.
이후, 일정시간이 경과하여 상기 타이머(Timer)가 종료되면(S215) 라우터 프로세서는 엔트리내의 플래그 필드가 다른 것을 삭제하라는 명령어를 라인카드로 전 달하고 이를 수신한 라인카드는 포워딩 테이블에서 플래그가 예전 값인 엔트리를 삭제한다(S217). 이는 라우터 프로세서의 장애 복구 후에 라인카드가 최신의 포워딩 정보를 이용하여 정확한 포워딩을 수행할 수 있도록 하기 위함이다. 즉 상기 과정(S217)은 라우터 프로세서의 장애시에 변경된 포워딩 테이블 정보를 라인카드의 포워딩 테이블에 반영하도록 함으로써 라우터 프로세서와 라인카드간 포워딩 테이블의 일치성을 보장할 수 있게 되는 것이다. 이 때 라우터 프로세서가 타이머(Timer)가 종료된 것을 확인한 후에 상기 삭제 명령을 전달하는 이유는 복구된 라우터 프로세서가 안정적으로 동작되기를 기다리기 위함이다.
도 5a 및 도 5b는 본 발명의 일실시 예에 따른 분산 포워딩 구조 라우터 시스템에서 포워딩을 제어하는 처리 절차를 예시한 도면이다. 도 5a 및 도 5b를 참조하면 라우터 프로세서(210)와 라인카드(220)를 포함하는 본 발명의 분산 포워딩 구조 라우터 시스템에서 포워딩을 제어하기 위한 처리 절차는 다음과 같다.
먼저, 라우터 프로세서(210)는 인접 라우터와의 라우팅 정보 교환 또는 운영자의 조작에 의해 라우팅 정보 베이스(RIB)를 생성한다(S301). 그리고 그 RIB를 기반으로 포워딩 테이블을 생성한 후(S303) 그 포워딩 테이블 정보를 라인카드(220)에게 전달한다(S305).
상기 라인카드(220)는 상기 포워딩 테이블 정보에 의거하여 포워딩 테이블을 생성한다(S307). 이 때 생성된 포워딩 테이블의 엔트리에는 해당 엔트리의 버전 정보를 관리하기 위한 플래그 필드(LP.Flag)를 포함함이 바람직하다. 이는 라우터 프 로세서에 장애가 발생하고 복구될 때까지 네트워크 상황의 변화로 인해 포워딩 테이블에 변화가 생긴 경우 이를 감지하여 라우터 프로세서와 라인카드 간에 최신의 포워딩 테이블 정보를 공유할 수 있도록 하기 위함이다. 즉 라우터 프로세서에서 관리하는 포워딩 테이블과 동일한 정보를 라인카드가 공유할 수 있도록 하기 위함이다.
상기 라우터 프로세서(210)는 인접 라우터와의 라우팅 정보 교환 또는 운영자의 입력 정보에 의거하여 상기 생성된 RIB, 포워딩 테이블 및 라인카드(220)에서 생성된 포워딩 테이블을 지속적으로 유지 관리한다. 예를 들어 상기 라우팅 정보의 교환 또는 운영자의 입력 정보에 의거하여 상기 RIB가 갱신된 경우(S309) 라우터 프로세서(210)는 대응된 포워딩 테이블을 갱신한 후(S311) 그 갱신된 포워딩 테이블 정보를 라인카드(220)에게 전달한다(S313). 그러면, 라인카드(220)는 상기 갱신된 포워딩 테이블 정보에 의거하여 포워딩 테이블을 갱신한다(S315).
한편, 라우터 프로세서(210)에 장애가 발생하여(S317) 해당 라우터 프로세서(210)가 교체 또는 재시동된 경우(S319) 라우터 프로세서(210)와 라인카드(220)의 연결은 해제되고(S321) 라우터 프로세서(210)에 기 저장되어 있던 포워딩 테이블 정보가 삭제된다(S325). 라인카드(220)는 라우터 프로세서(210)가 정상적으로 부팅을 하여 접속할 때까지 기다린다(S323). 이 때 라인카드(220)는 현재 라인카드(220)에 존재하는 포워딩 테이블을 삭제하지 않고 일정 시간 유지한다. 이는 라우터 프로세서(210)의 장애시에도 라인카드(220)에 저장된 포워딩 정보를 이용하여 정상적인 포워딩을 유지할 수 있도록 하기 위함이다. 즉 라인카드(220)는 라우터 프로세서(210)의 장애 발생 중에도 상기 포워딩 테이블을 이용하여 포워딩을 계속 유지한다.
상기 과정(S319)에서 교체 또는 재시동된 라우터 프로세서(210)는 인접 라우터와의 라우팅 정보 교환을 수행하고(S327) 그 결과에 의거하여 새로운 RIB를 생성한다(S329). 또한 그 RIB에 의거하여 새로운 포워딩 테이블을 생성한다(S331). 그리고 그 포워딩 테이블을 라인카드(220)에 전달하기 위해 라인카드(220)에게 접속을 요청한다(S323).
상기 접속 요청에 의해 라우터 프로세서(210)와 라인카드(220)간 접속이 완료되면 라인카드(220)는 이전 포워딩 테이블 정보를 라우터 프로세서(210)에게 전달한다(S335). 즉 상기 라인카드(220)는 저장중인 포워딩 테이블의 엔트리 수(LP.Entry_No.)와 그 포워딩 테이블의 엔트리 내에 포함된 플래그 필드(LP.Flag)를 라우터 프로세서로 전달한다.
상기 이전 포워딩 정보를 전달받은 라우터 프로세서(210)는 그 정보에 의거하여 포워딩 테이블 전달 이력을 확인한다(S337). 그리고 그 확인 결과에 의해 라인카드(220)에 새로운 포워딩 테이블을 생성할 것인지 라인카드(220)에 저장중인 포워딩 테이블을 갱신할 것인지를 결정한다. 즉 상기 확인(S337) 결과 포워딩 테이블 전달 이력이 없으면 라인카드(220)에 새로운 포워딩 테이블을 생성하고 그렇지 않으면 라인카드(220)에 저장중인 포워딩 테이블을 갱신한다. 이를 위해 라우터 프로세서(210)는 라인카드(220)로부터 전송받은 포워딩 테이블의 엔트리 수(LP.Entry_No.)가 '0'인지 아닌지를 확인하는 것이 바람직하다.
상기 확인(S337) 결과 포워딩 테이블 전달 이력이 없으면, 즉 라인카드(220)로부터 전송받은 포워딩 테이블의 엔트리 수(LP.Entry_No.)가 '0'이면, 다시 말해 라우터 프로세서(210)와 라인카드(220)간에 최초의 접속이 이루어진 것이면, 라우터 프로세서(210)는 새로운 포워딩 테이블 정보를 라인카드(220)에게 전달한다(S341). 이 때 라우터 프로세서(210)는 라우터 프로세서(210)에서 생성된 포워딩 테이블의 엔트리 내에 포함된 플래그 필드(Entry.Flag)를 '0'으로 설정한(Entry.Flag = 0) 후 상기 포워딩 테이블을 라인카드로 전송함이 바람직하다. 그러면, 라인 카드(220)는 상기 새로운 포워딩 테이블을 저장하고(S343) 그 포워딩 테이블을 이용하여 포워딩을 수행한다.
상기 확인(S337) 결과 포워딩 테이블 전달 이력이 있으면, 즉 라인카드(220)로부터 전송받은 포워딩 테이블의 엔트리 수(LP.Entry_No.)가 '0'이 아니면, 이전에 라인카드(220)로 전송된 포워딩 테이블이 있는 상태에서 라우터 프로세서(210)의 장애로 인해 라우터 프로세서(210)가 재시동되었다는 것을 의미한다. 따라서 라우터 프로세서(210)는 타이머(Timer)를 적당한 시간 't'로 설정하고(Timer ← t)(S345), 라인카드(220)로부터 전송받은 포워딩 테이블의 플래그(LP.Flag)를 토글시킨 후(S347) 그 플래그를 새로운 포워딩 테이블에 적용한다(S349). 즉 라우터 프로세서(210)에서 생성된 포워딩 테이블의 엔트리 내에 포함된 플래그 필드(Entry.Flag)를 라인카드(220)로부터 전달된 플래그(LP.Flag)의 토글값으로 설정한다(Entry.Flag ← LP.Flag의 토글값). 그리고 새로운 포워딩 테이블 정보를 라인카드(220)에게 전달한다(S351). 이 때 라인카드(220)로부터 전달된 플래그(LP.Flag) 는 상기 S335 단계에서 라인카드(220)가 라우터 프로세서(210)에게 전달한 포워딩 테이블의 엔트리 내에 포함된 플래그 값을 의미한다. 만약 상기 LP.Flag가 '0'이라면 상기 과정(S349)에서는 Entry.Flag를 '1'로 설정할 것이다.
상기 라인카드(220)는 그 새로운 포워딩 테이블 정보에 의거하여 기 저자된 포워딩 테이블을 갱신한다(S355). 또한 일정시간이 경과하여 상기 타이머(Timer)가 종료되면(S353) 라우터 프로세서(210)는 라인카드(220)에게 이전 포워딩 정보의 삭제를 요청한다(S357). 즉 라우터 프로세서(210)는 라인카드(220)에서 관리하는 포워딩 정보들 중 라우터 프로세서(210)에서 관리하는 포워딩 정보와 다른 포워딩 정보를 삭제하라고 요청한다. 이를 위해 라우터 프로세서(210)는 라인카드(220)에 저장된 포워딩 테이블의 엔트리 내에 포함된 플래그 필드가 다른 엔트리를 삭제하라는 명령을 라인카드(220)로 전달함이 바람직하다. 이 때 라우터 프로세서가 타이머(Timer)가 종료된 것을 확인한 후에 상기 삭제 명령을 전달하는 이유는 복구된 라우터 프로세서가 안정적으로 동작되기를 기다리기 위함이다.
상기 라인카드(220)는 플래그 값 비교에 의해 이전 포워딩 정보를 삭제한다(S359). 즉 포워딩 테이블의 엔트리 내에 포함된 플래그 필드의 값이 예전 값인 엔트리를 삭제한다. 이로 인해 라우터 프로세서(210)의 장애시에 포워딩 정보가 변경된 경우 이를 라인카드(220)의 포워딩 테이블에 반영할 수 있게 된다. 따라서 라우터 프로세서(210)와 라인카드(220)간 포워딩 테이블의 일치성을 보장할 수 있게 되는 것이다.
도 6a 내지 도 6c는 본 발명의 일 실시 예에 따른 포워딩 처리 중 순차적으로 생성되는 포워딩 테이블의 예를 도시한 도면들이다. 도 6a는 라우터 프로세서의 자애 발생 전에 라우터 프로세서와 라인 카드에 저장된 포워딩 테이블(300a)의 예를 도시하고, 도 6b는 라우터 프로세서의 장애 복구 후의 포워딩 테이블(300b)의 예를 도시하고, 도 6c는 타이머에 설정된 시간 경과 후의 포워딩 테이블(300c)의 예를 도시한다. 이 때 상기 포워딩 테이블들(300a,300b,300c)은 모두 IP 주소필드(310a,310b,310c), 포트정보 필드(320a,320b,320c) 및 플래그 필드(330a,330b,330c)를 포함한다.
도 6a를 참조하면 포워딩 테이블(300a)에 포함된 모든 엔트리들의 플래그 필드(330a)가 모두 '0'으로 설정되어 있다. 이는 상기 포워딩 테이블(330a)이 라우터 프로세서에 장애가 발생하기 전에 최초로 전달된 포워딩 테이블이기 때문이다.
도 6b를 참조하면 포워딩 테이블(300b)에 포함된 3개의 엔트리들은 플래그 필드(330b)가 '1'이지만 세 번째 엔트리의 플래그 필드(330b)는 '0'이다. 이는 라우터 프로세서에 장애가 발생한 후 복구되면서 새로이 라인카드로 전달된 포워딩 엔트리들의 플래그가 '1'로 토글되었기 때문이다. 즉 도 6b의 예에서 세 번째 엔트리를 제외한 3개의 엔트리들은 장애 복구된 라우터 프로세서로부터 새로이 전달된 포워딩 정보 이므로 유효하지만, 세 번째 엔트리는 라우터 프로세서의 재시동 이전에 전달된 포워딩 정보이므로 유효하지 않은 것이다. 따라서 라우터 프로세서의 장애 복구 후 일정한 시간이 경과되어 오래된 엔트리에 대한 삭제 명령이 전달되면 라인카드의 포워딩 테이블 정보에서 플래그가 다른 것, 즉 세 번째 엔트리는 삭제 하게 될 것이다.
도 6c를 참조하면 도 6b에 예시된 포워딩 테이블의 엔트리들 중 세 번째 엔트리가 삭제되었음을 알 수 있다. 즉 상기 세 번째 엔트리는 타이머에 설정된 시간 경과 후 발생한 라우터 프로세서의 삭제 요청에 응답하여 삭제된 것이다. 이와 같이 함으로써 라인카드에 저장된 포워딩 테이블이 최신 정보를 유지할 수 있게 된다.
상기와 같은 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같은 본 발명의 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩 제어방법은 라우터 프로세서에 장애 발생시 라인카드에 기 저장된 포워딩 정보를 유지함으로써 라우터 프로세서의 장애시에도 정상적인 포워딩이 가능한 장점이 있다.
또한, 포워딩 테이블의 엔트리 내에 버전 관리를 위한 플래그를 포함시키고 그 플래그 정보를 이용하여 장애 복구된 라우터 프로세서에 의해 생성된 포워딩 테 이블과 장애 발생 이전에 라인카드에 저장된 포워딩 테이블을 일치시킴으로써 최신의 포워딩 정보를 이용하여 포워딩을 수행하는 효과가 있다.
이로 인해 본 발명은 라우터 프로세서의 장애 발생시에도 중단없이 포워딩을 제어할 수 있으며 장애 복구 후에도 최신의 포워딩 정보를 이용하여 정확한 포워딩이 가능한 장점이 있다.
Claims (16)
- 분산 포워딩 구조 라우터 시스템의 포워딩 정보를 관리하는 라우터 프로세서의 장애 발생으로 인해 상기 라우터 프로세서와의 연결 해제시 기 저장된 제1 포워딩 테이블을 유지하고 상기 라우터 프로세서의 접속 요청에 응답하여 상기 제1 포워딩 테이블의 엔트리 정보를 상리 라우터 프로세서에게 전달하는 다수의 라인카드들; 및장애 복구 후 현재 네트워크 상황에 맞는 제2 포워딩 테이블을 새롭게 생성하고, 상기 라인카드로부터 전달된 제1 포워딩 테이블의 엔트리 정보와 상기 제2 포워딩 테이블의 엔트리 정보를 비교하여 상기 제1 포워딩 테이블을 상기 제2 포워딩 테이블과 일치시키는 라우터 프로세서; 를 포함함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제1항에 있어서, 상기 제1 및 제2 포워딩 테이블은 각각,대응된 포워딩 테이블의 엔트리 별로 그 엔트리 각각의 버전 정보를 관리하기 위한 플래그 필드를 포함함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제2항에 있어서, 상기 플래그 필드는,상기 라우터 프로세서의 장애 발생 전 엔트리 상태를 나타내는 제1 상태 표시 플래그 값과, 상기 라우터 프로세서의 장애 복구 후 엔트리 상태를 나타내는 제 2 상태 표시 플래그 값이 반복됨을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제3항에 있어서, 상기 라인카드는,상기 제1 포워딩 테이블의 엔트리 수와, 상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 정보를 포함하는 엔트리 정보를 상기 라우터 프로세서에게 전달함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제4항에 있어서, 상기 플래그 정보는,제1 상태 표시 플래그 값을 가지는 것을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제4항에 있어서, 상기 라우터 프로세서는,상기 제1 포워딩 테이블의 엔트리 수가 '0'이상인 경우, 상기 제1 포워딩 테이블을 상기 제2 포워딩 테이블과 일치시키는 것을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제6항에 있어서, 상기 라우터 프로세서는,상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 값을 토글시킨 값을 상기 제2 포워딩 테이블의 엔트리에 적용한 후 상기 제2 포워딩 테이블 정보를 상 기 라인카드에게 전달하고, 상기 제2 포워딩 테이블의 엔트리에 포함된 플래그 값과 다른 플래그 값을 갖는 제1 포워딩 테이블의 엔트리를 삭제함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제7항에 있어서, 상기 라우터 프로세서는,상기 제2 포워딩 테이블의 엔트리에 포함된 플래그 필드에 상기 제2 상태 표시 플래그 값을 적용함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제7항에 있어서, 상기 라우터 프로세서는,상기 제2 포워딩 테이블의 엔트리에 포함된 플래그 값과 다른 플래그 값을 갖는 제1 포워딩 테이블의 엔트리의 삭제 명령을 상기 라인카드에게 전달하고,상기 라인카드는 상기 삭제 명령에 응답하여 대응된 엔트리를 삭제함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제7항에 있어서, 상기 라우터 프로세서는,상기 복구된 라우터 프로세서의 안정화 대기 시간을 카운트하고, 상기 안정화 대기 시간이 경과한 것으로 판단되면 상기 제2 포워딩 테이블의 엔트리에 포함된 플래그 값과 다른 플래그 값을 갖는 제1 포워딩 테이블의 엔트리를 삭제함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 제4항에 있어서, 상기 라우터 프로세서는,상기 제1 포워딩 테이블의 엔트리 수가 '0'인 경우 상기 라인카드에 새로운 포워딩 테이블을 생성하기 위해 제2 포워딩 테이블을 상기 라인카드에게 전달함을 특징으로 하는 분산 포워딩 구조 라우터 시스템.
- 라우터 프로세서와 다수의 라인카드들을 포함하는 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법에 있어서,라우터 프로세서의 장애 발생으로 인해 라우터 프로세서와 라인카드간 연결 해제시 라인카드가 기 저장된 제1 포워딩 테이블을 유지하면서 상기 라우터 프로세서로부터의 접속을 대기하는 제1단계;장애 복구된 라우터 프로세서의 접속 요청에 응답하여 라인카드가 상기 제1 포워딩 테이블의 엔트리 정보를 라우터 프로세서에게 전달하는 제2단계; 및라인카드로부터 전달된 제1 포워딩 테이블의 엔트리 정보와 상기 라우터 프로세서에서 새롭게 생성된 제2 포워딩 테이블의 엔트리 정보를 비교하여 상기 제1 포워딩 테이블을 상기 제2 포워딩 테이블과 일치시키는 제3단계; 를 포함함을 특징으로 하는 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법.
- 제12항에 있어서, 상기 제2단계는,상기 제1 포워딩 테이블의 엔트리 수와, 상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 정보를 포함하는 엔트리 정보를 전달함을 특징으로 하는 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법.
- 제13항에 있어서, 상기 제3단계는,상기 제1 포워딩 테이블의 엔트리 수가 '0'이상인 경우,상기 제1 포워딩 테이블의 엔트리 내에 포함된 플래그 값을 토글시킨 값을 상기 제2 포워딩 테이블의 엔트리에 적용하는 제4단계;라우터 프로세서가 상기 제2 포워딩 테이블 정보를 라인카드에게 전달하는 제5단계;라인카드가 상기 제2 포워딩 테이블 정보에 의거하여 상기 제1 포워딩 테이블을 갱신하는 제6단계; 및상기 제2 포워딩 테이블의 엔트리에 포함된 플래그와 다른 플래그 값을 갖는 제1 포워딩 테이블의 엔트리를 삭제하는 제7단계; 를 포함함을 특징으로 하는 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법.
- 제14항에 있어서, 상기 제3단계는,상기 복구된 라우터 프로세서의 안정화 대기 시간을 카운트하기 위한 타이머의 시간을 설정하는 단계를 더 포함하고,상기 타이머의 시간이 경과한 후에 상기 제7단계를 수행함을 특징으로 하는 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법.
- 제13항에 있어서, 상기 제3단계는,상기 제1 포워딩 테이블의 엔트리 수가 '0'인 경우,라우터 프로세서가 상기 제2 포워딩 테이블 정보를 라인카드에게 전달하는 제8단계; 및라인카드가 상기 제2 포워딩 테이블 정보에 의거하여 새로운 포워딩 테이블을 생성하는 제9단계; 를 포함함을 특징으로 하는 분산 포워딩 구조 라우터 시스템의 포워딩 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050117741A KR100715678B1 (ko) | 2005-12-05 | 2005-12-05 | 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050117741A KR100715678B1 (ko) | 2005-12-05 | 2005-12-05 | 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100715678B1 true KR100715678B1 (ko) | 2007-05-09 |
Family
ID=38270017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050117741A KR100715678B1 (ko) | 2005-12-05 | 2005-12-05 | 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100715678B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056291A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 고속 라우터에서 인접한 라인 정합 보드를 이용한 통신장애 관리방법 |
KR20030083864A (ko) * | 2002-04-22 | 2003-11-01 | 한국전자통신연구원 | 고속 라우터 시스템에서 분산 포워딩 테이블 처리방법 |
-
2005
- 2005-12-05 KR KR1020050117741A patent/KR100715678B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056291A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 고속 라우터에서 인접한 라인 정합 보드를 이용한 통신장애 관리방법 |
KR20030083864A (ko) * | 2002-04-22 | 2003-11-01 | 한국전자통신연구원 | 고속 라우터 시스템에서 분산 포워딩 테이블 처리방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9804884B2 (en) | Computer system and maintenance method of computer system | |
US7490161B2 (en) | Method and system for implementing OSPF redundancy | |
AU2004306913B2 (en) | Redundant routing capabilities for a network node cluster | |
US8375001B2 (en) | Master monitoring mechanism for a geographical distributed database | |
US6977908B2 (en) | Method and apparatus for discovering computer systems in a distributed multi-system cluster | |
US11290417B2 (en) | System and method of persistent address resolution synchronization | |
US7362700B2 (en) | Methods and systems for hitless restart of layer 3 packet forwarding | |
US20080144532A1 (en) | Address resolution request mirroring | |
US20040042395A1 (en) | IS-IS high availability design | |
US20050257002A1 (en) | Apparatus and method for neighbor cache table synchronization | |
CN108075971A (zh) | 一种主备切换方法及装置 | |
KR101017540B1 (ko) | 로컬 노드 운전 정지 동안의 무중단 네트워크 제어 메시지 발생 | |
JP4421458B2 (ja) | ネットワークノード装置およびその経路情報更新方法 | |
KR100715678B1 (ko) | 분산 포워딩 구조의 라우터 시스템 및 그의 포워딩제어방법 | |
TW200836525A (en) | Selective passive address resolution learning | |
JP4133738B2 (ja) | 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム | |
US9350621B2 (en) | Synchronization after restart of a FC switch | |
JP2003186722A (ja) | クラスタシステムにおけるデータベースサーバフェイルオーバー方法 | |
JP2018136814A (ja) | アプリケーション冗長化管理システムおよびアプリケーション冗長化管理方法 | |
TWI666896B (zh) | 網路設備實虛位址對應失效之自動修復方法 | |
JPH09162887A (ja) | ネットワーク上の端末接続方法およびネットワークシステム | |
KR100917603B1 (ko) | 분산 구조의 라우터 시스템 및 그의 논스톱 패킷 포워딩제어 방법 | |
CN117955545A (zh) | 一种高通量卫星系统小站路由动态发布方法和装置 | |
JP2008166886A (ja) | 情報中継装置 | |
KR20140030662A (ko) | 고가용성 시스템에서 소프트웨어 업데이트를 수행하기 위한 방법 및 장치 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20110429 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |