KR101808890B1 - 네트워크 장애로부터 복구되기 위한 고속 플러딩 기반 고속 수렴 - Google Patents

네트워크 장애로부터 복구되기 위한 고속 플러딩 기반 고속 수렴 Download PDF

Info

Publication number
KR101808890B1
KR101808890B1 KR1020137011018A KR20137011018A KR101808890B1 KR 101808890 B1 KR101808890 B1 KR 101808890B1 KR 1020137011018 A KR1020137011018 A KR 1020137011018A KR 20137011018 A KR20137011018 A KR 20137011018A KR 101808890 B1 KR101808890 B1 KR 101808890B1
Authority
KR
South Korea
Prior art keywords
notification message
router
fast
failure notification
delete delete
Prior art date
Application number
KR1020137011018A
Other languages
English (en)
Other versions
KR20140001882A (ko
Inventor
웬후 루
알버트 지닝 티안
Original Assignee
텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Publication of KR20140001882A publication Critical patent/KR20140001882A/ko
Application granted granted Critical
Publication of KR101808890B1 publication Critical patent/KR101808890B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

라우터는 네트워크 장애를 검출하고, 그 장애에 응답하여, 고속 장애 통보 메시지를 라우터의 인터페이스 세트 외부로 플러딩(flood)한다. 고속 장애 통보 메시지는, 네트워크 장애를 식별하는 정보를 포함하고, 검출된 네트워크 장애에 결합된 인터페이스로서 라우터의 인터페이스 세트의 일부가 아닌 인터페이스에 할당된 MAC 주소를 그 소스 MAC(Media Access Control) 주소로서 포함한다. 라우터는 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 고속 장애 통보 메시지의 플러딩은, 네트워크 장애를 반영하는 라우팅 테이블 업데이트의 완료 이전에 수행된다.

Description

네트워크 장애로부터 복구되기 위한 고속 플러딩 기반 고속 수렴{FAST FLOODING BASED FAST CONVERGENCE TO RECOVER FROM NETWORK FAILURES}
관련 출원에 대한 상호참조
본 출원은, 각각이 참조에 의해 포함되는, 2011년 2월 28일 출원된 미국 가출원 번호 제61/447,669호, 2010년 10월 25일 출원된 미국 가출원 번호 제61/406,420호, 및 2010년 9월 29일 출원된 미국 가출원 번호 61/387,511호의 우선권 혜택을 주장한다.
분야
본 발명의 실시예들은 네트워킹 분야에 관한 것이다; 더 구체적으로는, 네트워크 장애로부터의 고속 수렴에 관한 것이다.
네트워크 장애로부터의 신속한 복구 능력은 가장 추구되는 네트워크 특성들 중 하나이다. 이 문제를 만족스럽게 해결하는 몇 가지 해결책이 있다. 이러한 한 해결책은, RFC(Request For Comments) 5714에 기술된 IPFRR(IP Fast Re-Route)이다. IPFRR은, MPLS-FRR(Multi-Protocol Label Switching-Fast Re-Route)이 경로 기반, 즉, 소스 라우팅 기반이라는 점을 제외하고는, MPLS-FRR의 해결책을 모방하고 있다. 이것은 리라우트 결정이 네트워크 내의 다른 LSR(Label Switched Router)들의 협력없이 PLR(point-of-local-repair) 라우터 단독에 의해 실행될 수 있다는 것을 암시한다. 그러나, IP 기반의 FRR은 본질적으로 소스 라우팅 기반이 아니다. 그 결과, 그 리라우트 결정은 네트워크 내의 다른 라우터들에 의해 존중되지 않을 수 있어서 트래픽 두절이나 라우팅 루프와 같은 심각한 결과를 초래할 수 있다.
IPFRR 개념에 관해 몇 가지 방법들이 제안되었다. 한 방법은 RFC 5286에 기술된 LFA(Loop Free Alternative)이다. LFA 접근법은 많은 양의 계산을 요구하고 커버리지 문제가 있다. 또 다른 방법은, 2010년 10월 21일, IETF 드래프트 "draft-ietf-rtgwg-ipfrr-notvia-address-06"에 기술된 Not-Via이다. Not-Via 접근법은 복잡하여 이용하기에 엄두를 못 낼 정도이다. IPFRR 개념에 관해 제안된 접근법에서의 어려움에 대한 주 원인은 RFC 5714, 제1 패러그래프, 섹션 1의 다음과 같은 구절로부터 명백하다: "그러나, 다른 라우터들에게 장애를 즉시 통보할 필요없이 장애를 검출한 라우터(들)에 의해 국지적으로 장애가 수리되는 것을 허용하는 백업 루트를 계산하는, 대안적 방법이 있다(However, there is an alternative approach, which is to compute backup routes that allow the failure to be repaired locally by the router(s) detecting the failure without the immediate need to inform other routers of the failure)". 문구 "다른 라우터들에게 장애를 즉시 통보할 필요없이(without the immediate need to inform other routers of the failure)"는 도메인-전역 동기화가 핵심인 IP 네트워크의 성격에 반하는 것이다.
일반적으로, 보통의 링크 상태 라우팅 동작에서, 라우터가 링크 장애나 기타의 네트워크 두절을 검출하면, 라우터는 그 주변의 모든 이웃 라우터들에게 통보를 플러딩(flood)하고, 이웃 라우터들은 소정의 처리(예를 들어, 라우팅 및/또는 포워딩 테이블의 업데이트) 후에, 그 정보를 모든 라우터가 업데이트되고 동기화될 때까지 다른 라우터들에게 전파시킨다. 이러한 플러딩 메커니즘은 느리고 완료하기에는 비교적 긴 시간이 걸리며 네트워크 구조와 크기에 의존한다.
고속 플러딩 기반 고속 수렴 아키텍쳐(fast convergence architecture)가 설명된다. 한 실시예에서, 고속 장애 통보 메시지를 위한 전달 메커니즘은 브리지 기반(bridged based)이다. 브리지 기반 고속 플러딩 기반 고속 수렴을 개시하기 위한 라우터가 네트워크 장애를 검출하고, 그 장애에 응답하여, 라우터의 하나 이상의 인터페이스 세트 외부로 고속 장애 통보 메시지를 플러딩한다. 고속 장애 통보 메시지는, 검출된 네트워크 장애에 결합된 인터페이스로서 라우터의 상기 인터페이스 세트의 일부가 아닌 인터페이스에 할당된 MAC 주소를 그 소스 MAC(Media Access Control) 주소로서 포함하며, 네트워크 장애를 식별하는 정보를 포함한다. 라우터는 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 고속 장애 통보 메시지의 전송은, 네트워크 장애를 반영하는 라우팅 테이블 업데이트의 완료 이전에 수행된다. 한 실시예에서, 고속 장애 통보 메시지는, 수신 라우터에게, 그 데이터 트랜스포트 계층에서, 그 라우팅 테이블을 업데이트할지를 결정하기 이전에 고속 장애 통보 메시지를 그 하나 이상의 인터페이스 세트 외부로 플러딩할지를 결정할 것을 나타낸다. 한 실시예에서, 브리지 기반의 고속 플러딩을 위한 개시측 라우터는 데이터 트랜스포트 계층과 애플리케이션 계층을 포함한다. 데이터 트랜스포트 계층은, 검출된 네트워크 장애에 응답하여, 고속 장애 통보 메시지를 그 하나 이상의 인터페이스들 외부로 플러딩하도록 구성된 고속 장애 통보(FFN; Fast Failure Notification) 모듈을 포함한다. 애플리케이션 계층은, 검출된 네트워크 장애에 응답하여 라우팅 테이블을 업데이트하도록 구성된 라우팅 프로토콜 모듈을 포함한다.
브리지 기반의 고속 장애 통보 메시지를 수신하기 위한 라우터가 설명된다. 인터페이스 상에서 고속 장애 통보 메시지를 수신하는 것에 응답하여, 그리고 고속 장애 통보 메시지의 소스 MAC 주소가 인터페이스와 연관되어 있지 않다는 판정에 응답하여, 라우터는 소스 MAC 주소 및 인터페이스 쌍을 라우터의 브리지 MAC 테이블에 추가하고, 하나 이상의 다른 라우터들로의 트랜스포트를 위해 고속 장애 통보 메시지를 하나 이상의 다른 인터페이스들에 플러딩하며, 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 고속 장애 통보 메시지의 플러딩은, 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하는 단계의 완료 이전에 수행된다. 한 실시예에서, 브리지 기반의 고속 플러딩을 위한 수신측 라우터는 데이터 트랜스포트 계층과 애플리케이션 계층을 포함한다. 애플리케이션 계층은 라우팅 테이블을 관리하도록 구성된 라우팅 프로토콜 모듈을 포함한다. 데이터 트랜스포트 계층은 MAC 주소와 인터페이스들의 연관을 저장하는 브리지 MAC 테이블과, 수신된 고속 장애 통보 메시지에 응답하여, 그리고 그 소스 MAC 주소가 메시지가 수신된 인터페이스와 연관되어 있지 않다는 판정에 응답하여, 소스 MAC 주소를 그 인터페이스와 연관시키고, 고속 장애 통보 메시지를 하나 이상의 다른 인터페이스에 플러딩하며, 고속 장애 통보 메시지를 라우팅 프로토콜 모듈에 전송하여 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하도록 구성된 FFN 모듈을 포함한다. FFN 모듈은, 라우팅 프로토콜 모듈이 라우팅 테이블의 업데이트를 완료하기 이전에 고속 장애 통보 메시지를 플러딩한다.
한 실시예에서, 고속 장애 통보 메시지를 위한 전달 메커니즘은 스패닝 트리 프로토콜(STP; spanning tree protocol)을 이용하는 계층 2 브리지드 네트워크(layer 2 bridged network)를 경유한다. 고속 플러딩 기반 고속 수렴을 개시하는 라우터는 네트워크 장애를 검출하고, 그 장애에 응답하여, 계층 2 고속 장애 통보 메시지를 하나 이상의 인터페이스 외부로 플러딩하며, 네트워크 장애를 반영하도록 그 라우팅 테이블을 업데이트한다. 고속 장애 통보 메시지는 네트워크 장애를 식별하는 정보를 포함하고, 고속 장애 통보 메시지를 수신하는 라우터에게 네트워크 장애를 반영하기 위해 그 라우팅 테이블을 업데이트하는 것과는 독립적으로 STP에 의해 차단되지 않는 그 인터페이스들 외부로 고속 장애 통보 메시지를 플러딩할 것을 표시한다. 한 실시예에서, 라우터는 데이터 트랜스포트 계층과 애플리케이션 계층을 포함한다. 데이터 트랜스포트 계층은, 검출된 네트워크 장애에 응답하여, 계층 2 고속 장애 통보 메시지를 그 하나 이상의 인터페이스들 외부로 플러딩하도록 구성된 고속 장애 통보(FFN; Fast Failure Notification) 모듈을 포함한다. 애플리케이션 계층은, 검출된 네트워크 장애에 응답하여 라우팅 테이블을 업데이트하도록 구성된 라우팅 프로토콜 모듈을 포함한다.
계층 2 브리지된 네트워크에서 수신된 고속 장애 통보 메시지를 수신하여 응답하기 위한 라우터가 또한 설명된다. 라우터는 네트워크 장애를 식별하는 정보를 포함하는 고속 장애 통보 메시지를 수신한다. 라우터는 고속 장애 통보 메시지를 STP에 의해 차단되지 않는 그 하나 이상의 인터페이스들 외부로 플러딩하고 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 라우터는, 네트워크 장애를 반영하는 라우팅 테이블에 대한 업데이트의 완료 이전에 고속 장애 통보 메시지를 플러딩한다. 한 실시예에서, 라우터는 데이터 트랜스포트 계층과 애플리케이션 계층을 포함한다. 애플리케이션 계층은 라우팅 테이블을 관리하도록 구성된 라우팅 프로토콜 모듈을 포함한다. 데이터 트랜스포트 계층은, 고속 장애 통보 메시지를 수신하는 것에 응답하여, 그 메시지를 STP에 의해 차단되지 않는 하나 이상의 인터페이스 외부로 플러딩하고 그 메시지를 애플리케이션 계층 상의 라우팅 프로토콜 모듈에 전송하여 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하도록 구성된 FFN 모듈을 포함한다.
한 실시예에서, 고속 장애 통보 메시지를 위한 전달 메커니즘은 유니캐스트 기반(unicast based)이다. 라우터는, 네트워크 장애를 검출하고, 그 장애에 응답하여, 네트워크 장애를 식별하는 정보를 포함하는 고속 장애 통보 메시지를 그 라우터와 동일한 도메인에 있는 각각의 다른 라우터에게 전송하며, 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 고속 장애 통보 메시지는, 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하는 것과는 독립적으로 이들 라우터들에 전송된다. 한 실시예에서, 라우터는 데이터 트랜스포트 계층과 애플리케이션 계층을 포함한다. 애플리케이션 계층은 라우팅 테이블을 업데이트하도록 구성된 라우팅 프로토콜 모듈을 포함한다. 데이터 트랜스포트 계층은, 검출된 네트워크 장애에 응답하여, 고속 장애 통보 메시지를 그 라우터와 동일한 도메인에 있는 각각의 다른 라우터에 전송하도록 구성된 FFN 모듈을 포함한다.
유니캐스트 기반의 고속 장애 통보 메시지를 수신하고 응답하기 위한 라우터가 또한 설명된다. 한 실시예에서, 라우터는, 네트워크 장애를 식별하는 정보를 포함하는 유니캐스트 고속 장애 통보 메시지를 수신하고, 그 고속 장애 통보 메시지에 대한 인접성 검사를 바이패스하며, 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 한 실시예에서, 라우터는, 유니캐스트 고속 장애 통보 메시지를 수신하여, 이 유니캐스트 고속 장애 통보 메시지를, 이들 고속 장애 통보 메시지에 대한 인접성 검사를 바이패스하고 고속 장애 통보 메시지에서의 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하는 라우팅 프로토콜 모듈에 전송하도록 구성된 인터페이스를 포함한다.
한 실시예에서, 고속 장애 통보 메시지를 위한 전달 메커니즘은 멀티캐스트 기반(multicast based)이다. 라우터는 네트워크 장애를 검출하고, 그 장애에 응답하여, 고속 장애 통보 메시지를 멀티캐스트 그룹 주소에 전송한다. 고속 장애 통보 메시지는 네트워크 장애를 식별하는 정보를 포함하고, 또한, 멀티캐스트 그룹에 가입한 고속 장애 통보 메시지를 수신할 복수의 라우터들 각각에게, 라우터가 그 라우팅 테이블을 업데이트하는 것과는 독립적으로, 고속 장애 통보 메시지를 그 인터페이스들에 멀티캐스트할지를 결정할 것을 나타낸다. 라우터는 또한 네트워크 장애를 반영하도록 그 라우팅 테이블을 업데이트한다. 라우터는, 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하는 것과는 독립적으로, 고속 장애 통보 메시지를 전송한다. 한 실시예에서, 라우터는 데이터 트랜스포트 계층과 애플리케이션 계층을 포함한다. 애플리케이션 계층은, 검출된 네트워크 장애에 응답하여 라우팅 테이블을 업데이트하도록 구성된 라우팅 프로토콜 모듈을 포함한다. 데이터 트랜스포트 계층은, 검출된 네트워크 장애에 응답하여, 고속 장애 통보 메시지를 멀티캐스트 그룹 주소에 전송하도록 구성된 FFN 모듈을 포함한다.
멀티캐스트 기반의 고속 장애 통보 메시지를 수신하고 응답하기 위한 라우터가 또한 설명된다. 한 실시예에서, 라우터는 고속 장애 통보 메시지의 수신시에 RPF(Reverse Path Forwarding) 검사를 수행한다. 라우터는 멀티캐스트 그룹에 가입하여 멀티캐스트 그룹과 연관된 주소에 어드레싱된 고속 장애 통보 메시지를 수신한다. 고속 장애 통보 메시지가 수신된 인터페이스가 고속 장애 통보 메시지의 소스 라우터에 도달하기 위해 라우터에 의해 이용된 인터페이스와 동일한 인터페이스라는 판정에 응답하여, 라우터는 그 메시지를 적어도 하나의 다른 인터페이스에 멀티캐스트한다. 라우터는 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 라우터는 라우팅 테이블 업데이트의 완료 이전에 고속 장애 통보 메시지를 멀티캐스트한다. 한 실시예에서, 라우터는 데이터 트랜스포트 계층과 애플리케이션 계층을 포함한다. 데이터 트랜스포트 계층은, 고속 장애 통보 메시지의 수신에 응답하여 그리고 메시지가 수신된 인터페이스가 그 메시지의 소스 라우터에 도달하는데 이용되는 인터페이스와 동일한 인터페이스라는 판정에 응답하여, 그 메시지를 그 인터페이스들 중 다른 것들에 멀티캐스트하고 그 메시지를 애플리케이션 계층 상의 라우팅 프로토콜 모듈에 전송하여 라우팅 테이블을 업데이트하도록 구성된 FFN 모듈을 포함한다.
한 실시예에서, 멀티캐스트 기반의 고속 장애 통보 메시지를 수신하는 라우터는, 고속 장애 통보 메시지를 멀티캐스트할 때 최단 경로 우선(SPF; shortest path first) 트리(SPT; shortest path first tree)를 이용한다. 라우터는 동일한 네트워크 내의 복수의 라우터들 중 하나를 SPT의 루트 노드로 선정하고 현재의 네트워크 토폴로지를 이용하여 SPT를 구축한다. 라우터는 멀티캐스트 그룹에 가입하여 멀티캐스트 그룹과 연관된 주소에 어드레싱된 고속 장애 통보 메시지를 수신한다. 라우터는 SPT에 따라 고속 장애 통보 메시지를 멀티캐스트하고, 고속 장애 통보 메시지에 표시된 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 라우터는 라우팅 테이블의 업데이트의 완료 이전에 SPT에 따라 고속 장애 통보 메시지를 멀티캐스트한다. 한 실시예에서, 라우터는 애플리케이션 계층과 데이터 트랜스포트 계층을 포함한다. 데이터 트랜스포트 계층은, SPT와, 고속 장애 통보 메시지의 수신에 응답하여, SPT에 따라 그 메시지를 멀티캐스트하고 그 메시지를 애플리케이션 계층 상의 라우팅 프로토콜 모듈에 전송하여 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하도록 구성된 FFN 모듈을 포함한다.
한 실시예에서, 멀티캐스트 기반의 고속 장애 통보 메시지를 수신하는 라우터는 PIM(Protocol Independent Multicast) 프로토콜 구현을 이용하여 구축되는 양방향 멀티캐스트 트리를 이용한다. 라우터는 PIM을 이용하여 양방향 트리를 구축하고 멀티캐스트 그룹에 가입한다. 라우터는, 멀티캐스트 그룹과 연관된 주소에 어드레싱되고 네트워크 장애를 식별하는 정보를 포함하는 고속 장애 통보 메시지를 수신하고, 그 메시지를 양방향 멀티캐스트 트리에 따라 멀티캐스트하며, 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트한다. 라우터는 라우팅 테이블의 업데이트의 완료 이전에 양방향 멀티캐스트 트리에 따라 고속 장애 통보 메시지를 멀티캐스트한다. 한 실시예에서, 라우터는 애플리케이션 계층과 데이터 트랜스포트 계층을 포함한다. 데이터 트랜스포트 계층은, PIM을 이용하여 구축된 양방향 멀티캐스트 트리와, 고속 장애 통보 메시지의 수신에 응답하여, 그 메시지를 양방향 멀티캐스트 트리에 따라 멀티캐스트하고, 애플리케이션 계층 상의 라우팅 프로토콜 모듈에 고속 장애 통보 메시지를 전송하여 라우팅 테이블을 업데이트하도록 구성된 FFN 모듈을 포함한다.
본 발명은 본 발명의 실시예들을 설명하기 위해 이용되는 첨부된 도면과 이하의 상세한 설명을 참조함으로써 최상으로 이해될 수 있다. 이하의 도면에서:
도 1은 한 실시예에 따른 네트워크 내의 라우터들 상에 구현된 고속 플러딩 기반 고속 수렴(FFFC; fast flooding based fast convergence) 아키텍쳐를 나타낸다;
도 2는 한 실시예에 따른 FFFC 아키텍쳐를 이용하는 고속 장애 통보 애플리케이션을 이용한 예시적 네트워크를 나타낸다;
도 3은 한 실시예에 따른 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 4는 한 실시예에 따른 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 5는 한 실시예에 따른 고속 장애 통보를 유포(disseminating)하기 위한 브리지 기반의 플러딩을 이용하는 예시적 네트워크를 나타낸다;
도 6은 한 실시예에 따른 브리지 기반의 고속 장애 통보 메시지 플러딩을 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 7은 한 실시예에 따른 브리지 기반의 고속 장애 통보 메시지 플러딩을 이용하는 FFFC 아키텍쳐에서 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 8은 한 실시예에 따른 STP(spanning tree protocol) 기반의 플러딩을 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출한 계층 2 브리지된 네트워크 내의 라우터 상에서 수행되는 예시적 동작을 나타내는 흐름도이다;
도 9는 한 실시예에 따른 계층 2 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 10은 한 실시예에 따른 유니캐스트 기반의 고속 장애 통보 메시지 플러딩을 이용하는 예시적 네트워크를 나타낸다;
도 11은 한 실시예에 따른 네트워크 장애를 검출하고 유니캐스트 기반의 고속 장애 통보 메시지 플러딩을 이용하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 12는 한 실시예에 따른 유니캐스트 기반의 트랜스포트 기술을 이용하여 트랜스포트된 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 13은 한 실시예에 따른 게이팅된 멀티캐스트 고속 장애 통보 메시지 플러딩을 이용하는 예시적 네트워크를 나타낸다;
도 14는 한 실시예에 따른 게이팅된 멀티캐스트 기반의 고속 장애 통보 메시지 플러딩을 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 15는 한 실시예에 따른 게이팅된 멀티캐스트 고속 장애 통보 메시지 플러딩 애플리케이션에서 멀티캐스트 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 16은 한 실시예에 따른 라우터에서 수행되는 SPF(Shortest Path First) 계산에 기초하여 SPT(Shortest Path Tree)를 구축하기 위한 예시적 동작을 나타낸다;
도 17은 한 실시예에 따른 SPF 선정 루트 노드 계산에 기초한 SPT를 이용한 멀티캐스트 기반의 고속 장애 통보 메시지를 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타낸다;
도 18은 한 실시예에 따른 SPT 선정 루트 노드에 기초한 FFFC 애플리케이션에서 멀티캐스트 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 19는 한 실시예에 따른 PIM(Protocol Independent Multicast) 프로토콜을 이용하여 구축된 양방향 멀티캐스트 트리를 이용한 멀티캐스트 고속 장애 통보 메시지를 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타낸다;
도 20은 한 실시예에 따른 PIM 프로토콜을 이용하여 구축된 양방향 멀티캐스트 트리를 이용하는 FFFC 애플리케이션에서 멀티캐스트 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다;
도 21은 한 실시예에 따른 고속 장애 통보 메시지를 위한 예시적 포맷을 나타낸다.
이하의 설명에서, 다양한 구체적인 세부사항이 개시된다. 그러나, 본 발명의 실시예들은 이들 구체적인 세부사항 없이도 실시될 수 있다는 것을 이해할 것이다. 다른 예들에서, 공지된 회로, 구조, 및 기술은 본 발명의 이해를 흐리게 하지 않기 위하여 상세히 도시되지 않았다. 당업자라면, 포함된 설명을 통해, 과도한 실험없이 적절한 기능을 구현할 수 있을 것이다.
명세서에서 "하나의 실시예", "실시예", "예시적 실시예" 등의 언급은, 기술되는 실시예가 특정한 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 그 특정한, 특징, 구조, 또는 특성을 포함하는 것은 아님을 나타낸다. 게다가, 이와 같은 문구는 반드시 동일한 실시예를 참조하는 것은 아니다. 또한, 특정한 특징, 구조, 또는 특성이 실시예와 연계하여 기술될 때, 명시적으로 설명되든 아니든 다른 실시예와 연계하여 이와 같은 특징, 구조, 또는 특성을 효력화하는 것은 당업자의 지식의 범위 내에 있는 것이라고 간주할 수 있다.
이하의 설명 및 청구항에서, 용어 "결합된" 및 "접속된"은, 이들의 파생어와 함께 사용될 수 있다. 이들 용어들은 서로 동의어로서 의도한 것은 아님을 이해해야 한다. "결합된"은, 물리적 또는 전기적으로 서로 직접 접촉할 수도 있고 아닐 수도 있는 2개 이상의 요소가 서로 협력하거나 상호작용함을 나타내기 위해 사용된다. "접속된"은 서로 결합된 2개 이상의 요소들 간의 통신의 확립을 나타내기 위해 사용된다.
고속 플러딩 기반 고속 수렴(FFFC; fast flooding based fast convergence) 아키텍쳐가 설명된다. FFFC 아키텍쳐는 네트워크 장애시(예를 들어, 링크 또는 장비 장애)에 네트워크 다운 시간을 최소화한다. 본 발명의 한 실시예에서, FFFC 아키텍쳐는, 네트워크 내의 모든 관심대상 수신기들로의 이벤트의 신속한 유포의 목적을 위해 이벤트 프레임워크를 이용한다. 이벤트 프레임워크는 기저 전달 메커니즘과는 독립적이다. 따라서, 상이한 요건들에 적합한 상이한 속성들을 갖는 상이한 전달 메커니즘들이 이용될 수 있다. 예를 들어, 간소화에 최적화된 일부 전달 메커니즘(들)이 이용될 수도 있는 반면, 신뢰성을 향상시키는 다른 전달 메커니즘이 이용될 수도 있다.
이벤트 프레임워크는, 복수의 상이한 애플리케이션들이 이벤트를 생성하고 및/또는 이벤트 수신하도록 등록할 수 있다는 점에서 애플리케이션 독립적이다. 한 실시예에서, TLV(type-length-value) 기반의 이벤트 프레임워크는 애플리케이션과 전달 메커니즘 간의 보장을 위해 이용된다. 이벤트 프레임워크를 이용한 애플리케이션의 한 예는 고속 장애 통보가다. 고속 장애 통보는 네트워크 수렴 시간을 향상시키는데 이용된다. 예를 들어, 네트워크에서 장애가 발생할 때, 그 장애에 인접한 라우터들은 이를 검출하여 장애 통보를 그 영역 전체를 통해 다른 라우터들에게 신속하게 유포할 수 있다. 상이한 라우터들 상의 라우팅 프로토콜(예를 들어 OSPF(Open Shortest Path First) 및 IS-IS(Intermediate System to Intermediate System)와 같은 링크 상태 IGP(Interior Gateway Protocol) 라우팅 프로토콜)는 이러한 장애 통보를 등록 및 수신한 다음, 그 장애에 신속하게 반응하여 고속 수렴을 달성할 수 있다. 고속 장애 통보에서의 이벤트는 링크-다운(link-down) 이벤트 또는 노드-다운(node-down) 이벤트이다. 업 이벤트(예를 들어, 링크-업 또는 노드-업)는 네트워크 안정성을 위해 플러딩되지 않는다.
도 1은 한 실시예에 따른 네트워크 내의 라우터들 상에 구현된 고속 플러딩 기반 고속 수렴(FFFC; fast flooding based fast convergence) 아키텍쳐를 나타낸다. 예시적 FFFC 아키텍쳐는, 라우터들 각각에 다양한 라우팅 기능들이 준비되어 있는 계층화된 구조이다. 도 1에 나타낸 바와 같이, FFFC 아키텍쳐는 애플리케이션 계층(105)과 데이터 트랜스포트 계층(107)을 포함한다. 애플리케이션 계층(105)은 라우팅 프로토콜 특유의 기능을 포함하고, 통상적으로는 각 라우터의 제어 평면(control plane)의 일부이다. 데이터 트랜스포트 계층(107)은 여기서 설명된 고속 플러딩 메커니즘에 대한 기능을 포함하고(예를 들어, 이것은 네트워크 내의 모든 관심대상 수신기들로의 네트워크 이벤트의 신속한 유포를 책임진다), 통상적으로는 각 라우터의 데이터 평면(data plane)의 일부이다. 구체적으로는, 애플리케이션 계층(105)은 라우터들(120A-N) 상에 라우팅 프로토콜 모듈들(110A-N)을 각각 포함하고, 데이터 트랜스포트 계층(107)은 라우터들(120A-N) 상에 고속 플러딩 모듈들(115A-N)을 각각 포함한다.
라우팅 프로토콜 모듈들(110A-N)은 각각 고속 플러딩 모듈들(115A-N)로부터 이벤트들을 수신하도록 등록된다. 한 실시예에서, 고속 플러딩 모듈은 라우터(120)가 네트워크 내의 다른 라우터(들)(120)에게 네트워크 장애 통보를 유포하는 것을 허용하며, 그 다음 이것은, 추가 처리(예를 들어, 라우팅 테이블 및/또는 포워딩 테이블을 업데이트하는 것)를 위해 대응하는 라우팅 프로토콜 모듈(110)에 포워딩할 수 있다. 따라서, 고속 플러딩 메커니즘은 애플리케이션 계층(105)으로부터 분리되어 데이터 트랜스포트 계층(107)으로 이동된다.
저장-및-포워드 방식으로 플러딩을 수행하는, 네트워크 장애로부터 복구되기 위한 정규의 라우팅 프로토콜 처리는 신뢰성 있고(예를 들어, 재전송을 포함하고) 안전하지만(예를 들어, 인접성 검사를 포함하지만), 이것은 제어 평면 동작과 제어 평면 대 데이터 평면 통신을 포함하므로, 네트워크-전역 수렴을 느리게 하다. 그러나, 여기서 설명되는 FFFC 아키텍쳐는 네트워크 장애 통보의 플러딩을 애플리케이션 계층(105)으로부터 분리하여 데이터 트랜스포트 계층(107)으로 이동시킨다. 따라서, 데이터 트랜스포트 계층(107)은 데이터 트래픽 속도로 라우팅 제어 메시지를 전달할 수 있는 도메인-전역 고속 플러딩 플랫폼을 제공한다. 한 실시예에서, 고속 플러딩 통보가 의도한 라우터들에 도달하지 않는 경우 최종 동기화를 보장하기 위해 보통의 플러딩 기능은 여전히 애플리케이션 계층에 포함된다. 보통의 플러딩 기능은, 라우팅 테이블 및 포워딩 테이블이 장애 통보 메시지가 전송되기 이전에 업데이트될 것을 요구한다.
도 2는 한 실시예에 따른 FFFC 아키텍쳐를 이용하는 고속 장애 통보 애플리케이션을 이용한 예시적 네트워크를 나타낸다. 예시적인 네트워크는 라우터들(220A-N)을 포함하고 링 토폴로지(ring topology)를 형성한다. 라우터(220A) 및 라우터(220B)는 링크(252)에 의해 결합된다. 라우터(220B) 및 라우터(220C)는 링크(254)에 의해 결합된다. 라우터(220C) 및 라우터(220N)는 링크(들)(256)에 의해 결합된다(라우터(220C)와 라우터(220N) 사이에는 0개 이상의 라우터가 있을 수 있다). 라우터(220N) 및 라우터(220A)는 링크(250)에 의해 결합된다. 라우터들(220A-N)은 IGP 모듈(210A-N)과 고속 장애 통보(FNN) 모듈(215A-N)을 각각 포함한다. IGP 모듈들(210A-N)은 각각 라우터들(220A-N)의 애플리케이션 계층의 일부이고, FFN 모듈들(215A-N)은 각각 라우터들(220A-N)의 데이터 트랜스포트 계층의 일부이다.
도 2에 나타낸 예에서, 라우터(220C)는 라우터(220A)로 향하는 패킷들의 소스이다. 통상의 동작 동안에, 패킷들은 라우터(220C)로부터 라우터(220B)를 거쳐 목적지 라우터(220A)에 도달하는 경로를 취한다. 도 2에 나타낸 바와 같이, 네트워크가 네트워크 장애를 겪었다; 구체적으로는, 링크(252)에 장애가 발생했다. 그 결과, 라우터(220B)는 링크(252)를 통해 라우터(220A)에 패킷을 포워딩할 수 없다. 따라서, 라우터(220C)로부터의 패킷은 라우터(220B)를 통해 라우터(220A)에 도달하지 못할 것이다. 그러나, 라우터(220C)로부터의 패킷은 라우터(220N)를 통해 라우터(220A)에 도달할 수 있다.
설명의 목적을 위해, 라우터(220B)가 링크(252)의 장애를 검출한다. 그러나, 라우터(220A)도 역시 장애를 검출할 수 있다는 점을 이해하여야 한다. 장애의 검출은 상이한 실시예들에서 상이한 방식으로 수행될 수 있다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 링크(252)의 장애의 검출은 이벤트 프레임워크 내의 이벤트이다. 따라서, 링크(252)의 장애를 IGP 모듈(210B)에 통보하는 메시지가 IGP 모듈(210B)에 전송되고, IGP 모듈(210B)은 링크(252)의 장애를 반영하도록 라우터(220B)의 라우팅 테이블과 포워딩 테이블을 업데이트할 수 있다.
라우터(220B)는 장애를 검출하기 때문에, 한 실시예에서 이것은 FFFC 프로세스를 시작하고, 고속 장애 통보 메시지 플러딩에 대한 시작점이 된다. 따라서, 장애를 검출한 이후의 어느 시점에서, 라우터(220B)는 링크(252) 상의 장애를 나타내는 고속 장애 통보 메시지를 발생시킨다. 고속 장애 통보 메시지는, 그 타입의 장애의 메시지를 수신하도록 등록된 다른 라우터들에게 통보하는데 이용된다. 예를 들어, 고속 장애 통보 메시지는 링크(252) 상에 장애가 있다는 것을 나타낸다. 추가하여, 고속 장애 통보 메시지는 또한, 수신측 라우터들에게, 수렴을 기다리지 않고 고속 장애 통보 메시지를 그들의 다음 홉(들)에 포워딩하는 것을 포함한 고속 플러딩 프로세스가 수행되어야 한다는 것을 나타낸다. 예를 들어, 고속 장애 통보 메시지는, 이들 라우터(들)에 의해 그들의 애플리케이션층으로부터의 상호작용 없이 포워딩될 것이다. 도 2의 목적을 위해, 라우터들(220A-N)의 각각은 고속 장애 통보 메시지를 수신하도록 등록되었다.
한 실시예에서, 고속 장애 통보 메시지는 기존의 IGP PDU(Protocol Data Unit) 패킷 포맷을 이용한다. 예를 들어, IGP가 OSPF이면, 단절된 인접성(하나 적은 라우터 링크)을 반영하는 OSPF Router-LSA(link state advertisement)가 고속 장애 통보 메시지로서 이용될 수 있고 특별한 수정없이 라우터들에게 고속-플러딩될 수 있다. 이것은 수신기들이, 예를 들어, 라우터들(220A 및 220C-N)이 그들의 통상의 방식으로 패킷을 처리하는 것을 허용한다. 또한, 패킷은 통상의 플러딩에서 사용되는 것과 상이하지 않으므로, 통상의 플러딩이 여기서 설명된 고속 플러딩을 따라잡을 때 천이가 매끄러울(seamless) 것이 보장된다. 또한, 통상의 패킷을 이용한다는 것은, 고속 수렴과 저속 수렴 사이에는 동일한 노력이 있지 않을 것이라는 것을 의미한다. 즉, 플러딩은 라우터가 업데이트될 때마다 정지한다(예를 들어, 이미 고속 플러딩된 고속 장애 통보 메시지). 그러나, 고속 장애 통보 메시지에 대해 기존의 IGP PDU 패킷 포맷을 이용한다는 것은, 복수의 프로토콜에 대해 그 메시지는 획일화될 수 없다는 것을 의미한다. 예를 들어, OSPF에 대한 기존의 IGP PDU 패킷 포맷은 IS-IS의 포맷과는 상이하다. 따라서, IS-IS의 경우, OSPF에 대한 것과는 상이한 포맷이 이용되어야 한다. 또한, ISIS PDU는 IP 기반이 아니므로, 일부 경우에는 캡슐화(encapsulation)를 요구할 수 있다. 또한, 단점들 중 하나는, 통상의 IGP 플러딩 메커니즘은, 신뢰받지 못한 당사자로부터의 DoS(Denial of Service) 공격이나 PDU 리플레이를 방지하기 위해 인접성 검사를 이용한다는 것이다. 고속 장애 통보 메시지가 수락되기 위해서는, 이 인접성 검사는 바이패스될 필요가 없고, 이것은 DoS 공격이나 PDU 리플레이 공격에 대한 문을 열어 준다. 그러나, 이들 타입의 공격을 방어하기 위해 도메인-전역 인증이 이용될 수 있다.
또 다른 실시예에서, 고속 장애 통보 메시지는 프로토콜에 관계없이 공통의 메시지 포맷을 이용한다. 이 포맷은 장애가 발생한 링크에 대한 충분한 정보를 허용하고, 여기서 설명된 이벤트 프레임워크 내의 국지적 이벤트로서 수신기 라우터 상에서 처리된다. 한 실시예에서, 균일한 포맷이 TLV-기반이다. 한 실시예에서, 버그나 기타의 에러 상태로 인해 고속 장애 통보 메시지가 잘못 플러딩된 경우에 대비하기 위해 타임아웃 기구가 이용된다. 여기서 더 상세히 설명되는 도 21은, IGP 프로토콜 독립적이고 데이터 트랜스포트 계층에 의해 발행된 계층 2 프로토콜 패킷인 예시적 메시지 포맷을 나타낸다.
한 실시예에서, 고속 장애 통보 메시지는, 메시지가 여기서 설명되는 FFFC 아키텍쳐에 대한 것임을 수신측 라우터에게 나타내는 특정 목적지 IP 주소 또는 MAC 주소를 포함한다.
고속 장애 통보 메시지를 발생한 후에, 검출측 라우터(220B)는 고속 장애 통보 메시지를 플러딩한다. 도 2에 나타낸 바와 같이, 라우터(220B)는 링크(254)를 통해 고속 장애 통보 메시지(260)를 라우터(220C)에 플러딩한다. 이것이 FFN 모듈(215B)로부터 FFN 모듈(215C)로 전송되는 것으로 개념적으로 나타나 있다. 고속 플러딩을 수행하기 위해 임의 개수의 메커니즘이 이용될 수 있다. 한 실시예에서, 이용되는 플러딩 메커니즘은 신뢰성 있고(장애가 발생한 후에도 모든 참여자에 도달할 수 있다), 루프가 없으며, 간단하고, 인증될 수 있다.
한 실시예에서, 라우터(220B)는, 라우터(220B)가 링크(252)의 장애를 반영하도록 그 라우팅 및 포워딩 테이블을 업데이트하는 것을 완료하기 이전에(수렴되기 이전에) 고속 장애 통보 메시지(260)를 생성하여 전송한다. 따라서, 라우터(220B)는 그 라우팅 및 포워딩 테이블을 업데이트하는 것과는 독립적으로 고속 장애 통보 메시지를 생성하여 전송한다.
수신측 라우터(220C)는 고속 장애 통보 메시지(260)를 수신한다. 통보 메시지(260)는 여기서 설명된 이벤트 프레임워크 내의 이벤트이며, IGP 모듈(210C)은 그 이벤트에 대한 메시지를 수신하도록 등록된다. 한 실시예에서, 고속 장애 통보 메시지(260)는 특정의 목적지 IP 주소 또는 MAC 주소를 갖는 것에 기초하여 FFFC 아키텍쳐에 대한 메시지로서 식별된다. 따라서, 메시지를 수신한 후에, 수신측 라우터(220C)는, 링크(252)의 장애를 나타내는 고속 장애 통보 메시지(272)를 그 IGP 모듈(210C)에 포워딩하여 IGP 모듈(210C)이 장애에 반응하여 수렴 프로세싱을 개시할 수 있게 한다. 한 실시예에서, IGP 모듈(210C)은 앞서 말한 인접성 검사에 의해 메시지의 수락 기준을 완화한다. 고속 장애 통보 메시지(272)를 수신한 후에, IGP 모듈은, 링크(252)의 장애를 반영하도록 적절하게 라우팅 테이블 및 포워딩 테이블을 업데이트하는 것을 포함한 메시지의 처리를 행한다. 한 실시예에서, 수렴 시간을 개선하기 위하여 변경이 데이터 평면에(예를 들어, 포워딩 테이블에서) 미리-다운로드된다.
고속 장애 통보 메시지(272)를 IGP 모듈(210C)에 포워딩하는 것 외에도, FFN 모듈(215C)은 고속 장애 통보 메시지의 사본을 플러딩한다. 예시의 목적을 위해, FFN 모듈(215C)은 링크(256)를 통해 고속 장애 통보 메시지(262)를 라우터(220N)에 플러딩한다. 고속 장애 통보 메시지(262)는 고속 장애 통보 메시지(272) 이전에 또는 이와 동시에 전송될 수 있다. 따라서, 고속 장애 통보 메시지(262)는 한 실시예에 따라 IGP 모듈(210C)과의 상호작용 없이 다음 라우터에 플러딩되어, 수렴 시간을 줄인다.
고속 장애 통보 메시지(262)를 수신하는 것에 응답하여 라우터(220N)에 의해 수행되는 처리는, 고속 장애 통보 메시지(260)를 수신하는 것에 응답하여 라우터(220C)에 의해 수행되는 처리와 유사하다. 고속 장애 통보 메시지(262)는 IGP 모듈(210N)이 등록되어 있는 프레임워크 내의 이벤트이다. 따라서, FFN 모듈(215N)은, 링크(252)의 장애를 IGP 모듈(210N)에게 나타내는 고속 장애 통보 메시지(274)를 전송한다. 그러면, IGP 모듈(210N)은 링크(252)의 장애를 반영하도록 적절하게 라우팅 테이블과 포워딩 테이블을 업데이트한다. FFN 모듈(215N)은 또한, 링크(250)를 통해 고속 장애 통보 메시지(264)를 라우터(220A)에 플러딩한다. 고속 장애 통보 메시지(264)는 고속 장애 통보 메시지(274)의 포워딩 이전에 또는 이와 동시에 포워딩될 수 있다. 고속 장애 통보 메시지(220A)의 수신에 응답하여, 고속 플러딩 메커니즘(215A)는 고속 장애 통보 메시지(276)를 IGP 모듈(210A)에 포워딩하여, IGP 모듈(210A)이 그 통보와 링크(252)의 장애에 응답할 수 있게 한다.
한 실시예에서, 고속 장애 통보 메시지(260, 262, 및 264)는 데이터 트랜스포트 계층에서 처리되기 때문에 데이터 트래픽과 동일한 속도로 전송된다. 구체적인 예로서, 링크(256)를 통해 라우터(220C)로부터 라우터(220N)으로 전송된 고속 장애 통보 메시지(262)는 링크(256)를 통해 라우터(220C)로부터 라우터(220N)으로 전송된 데이터 트래픽과 동일한 속도로 이동한다. 고속 장애 통보 메시지(260, 262, 및 264)는 데이터 트래픽과 동일한 속도로 이동하기 때문에, 다음 홉의 라우터는, 동일한 계산 능력을 가정하면, 통보 메시지 처리에 대해 이전 라우터와 동일한 시간량을 가진다. 예를 들어, 라우터들(220C와 220N)이 동일한 계산 능력을 갖는다고 가정하면, 라우터(220N)는 통보 메시지(262) 처리에 대해, 라우터(220C)가 통보 메시지(260)를 처리하기 위해 갖는 것과 동일한 시간량을 가진다.
라우터들(220A-N)은 동시에 수렴하지 않는다는 점을 이해하여야 한다. 이것은, 고속 장애 통보 메시지의 전파 지연 때문이다. 예를 들어, 라우터(220C)는 링크(252)의 장애를 나타내는 고속 장애 통보 메시지를, 라우터(220N)가 유사한 메시지를 수신하기 이전에 수신할 것이다. 그러나, 여기서 설명된 FFFC 아키텍쳐를 이용하여, 제1 라우터가 보수(repair)된 직후에 트래픽 손실은 중단된다. 이것은 데이터 트래픽이 고속 장애 통보 메시지와 동일한 전파 지연을 겪기 때문으로, 이것은 원격 라우터들에서의 수렴의 늦은 시작을 보상한다.
예로서, 라우터(220A-N) 각각이 50 밀리초의 수렴 시간을 가지며, 각 홉마다 20 밀리초의 전송 지연을 갖는다고 가정한다. 수렴 시간은, 분실된 패킷수를, 도메인 내의 임의의 2개 라우터들 사이의 트래픽 흐름 속도(traffic flow rate)로 나눔으로써 측정된다. 이것은, 만일 모든 개개의 라우터들이 동일한 계산 능력과 동일한 수렴 시간을 갖는다면, 도메인 전역 네트워크 수렴 시간과 동일해야 한다. 예를 들어, 링크(252) 장애시에, 라우터(220B)는 고속 포워딩 통보 메시지(260)(예를 들어, 링크 상태 업데이트)를 라우터(220C)에 전송하고 그 수렴을 개시한다. 표 1은 수렴 시각표(timeline)를 개시한다.
Figure 112013037668020-pct00001
시간 0에서, 라우터(220B)는 링크(252)의 장애 이후에 그 수렴을 개시한다. 또한, 라우터(220B)는 동시에 고속 포워딩 통보 메시지(260)를 라우터(220C)에 전송한다. 처음 50밀리초 동안에, 링크(252)를 통한 라우터(220B)로부터 라우터(220A)로의 패킷들은 (링크(252)의 장애 때문에) 누락된다. 고속 포워딩 통보 메시지(260)는 20 밀리초 이후에 라우터(220C)에 도달하며, 이 때 라우터(220C)는 그 수렴을 개시한다. 따라서, 라우터(220C)는 라우터(220B)가 그 수렴을 완료하기 이전에 그 수렴을 시작한다.
라우터(220C)는 또한 다음 홉의 라우터(예를 들어, 라우터(220N))에 고속 장애 통보 메시지(262)를 전송한다. 실질적으로 50밀리초 직후에 라우터(220B)가 수렴하고, 라우터(220B)는 라우터(220A)로 향하는 패킷들을 라우터(220C)를 향해 리라우팅한다. 이들 패킷들은 라우터(220C)에 도달하는데 20밀리초가 걸리므로, 링크(252)의 장애 이후에 70초만에 도달할 것이다. 라우터(220C)는 고속 포워딩 통보 메시지(260)의 수신 이후 50밀리초만에 수렴하고, 이것은 링크(252)의 장애 이후 70 밀리초만이다. 따라서, 데이터 트래픽 패킷들은 라우터(220C)가 수렴하는 것과 거의 동일한 시간에 도달할 것이다. 이 프로세스는 도메인-전역에 걸쳐 계속된다. 라우터(220C)와 모든 다른 다운스트림 라우터들은 데이터 패킷들이 도달하기 직전에 하나씩 수렴하기 때문에, 데이터 패킷들은 교정된 경로를 통해 목적지(라우터(220A))에 성공적으로 도달한다.
만일 라우터들(220A-N)이 상이한 수렴 시간을 가진다면, 패킷들은 여전히 하나 이상의 루프 이후에 전달되겠지만, 마이크로 루핑(micro-looping)이 형성될 수 있다. 예를 들어, 동일한 링크 장애 시나리오(링크(252)에 장애가 발생했다는 것)를 가정하지만, 라우터(220C)가 수렴하는데 90밀리초를 필요로 하는 반면, 다른 라우터들은 50밀리초만에 수렴한다고 가정하자. 라우터(220B)는 링크(252)의 장애 이후 70 밀리초에서 라우터(220C)에 패킷을 리라우팅할 때, 라우터(220C)는 그 업데이트를 아직 완료하지 않았다. 따라서, 이것은 여전히 그 구 포워딩 테이블을 계속 이용하여 라우터(220A)로 향하는 패킷들을 라우터(220B)로 전송할 것이고, 라우터(220B)는 차례로 이들 패킷들을 다시 라우터(220C)로 리라우팅할 것이다. 이들 패킷들이 라우터(220C)에 도달하는 시간은 장애 이후 110 밀리초만이고, 라우터(220C)는 업데이트를 완료하고 패킷들을 올바르게 포워딩할 것이다. 이 예에서, 패킷들은 한 번 루핑되지만, 어떤 상황에서는 복수 루프가 존재할 수 있다는 것을 이해하여야 한다. 상이한 수렴 시각표로 인해 패킷들이 재정렬되어 패킷들이 일시적으로 잘못된 방향으로 포워딩되게끔 할 수도 있다. 패킷 재정렬은, 새로운 시퀀스 번호부여된 패킷들이 더 오래된 것들보다 앞서 도달할 수도 있다는 점에서, TCP 통신에 악영향을 미친다.
여기서 설명된 FFFC 아키텍쳐는, 모든 라우터들의 수렴과는 대조적으로, 영향받은 라우터가 수렴하자마자 데이터 트래픽이 리라우팅되는 것을 허용한다. 또한, 영향받은 라우터의 수렴시에, 여기서 설명된 FFFC 아키텍쳐는 모든 영향받은 트래픽에 대한 올바른 경로를 보장한다. 여기서 설명된 FFFC 아키텍쳐는, 적어도 통상의 IGP 플러딩보다 열등하지 않은, 임의 크기 및 임의 토폴로지의 네트워크와 함께 스케일링된다.
도 3은 한 실시예에 따른 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(310)에서, 라우터는 네트워크 장애를 검출한다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 그 다음 플로우는 동작(315)으로 이동한다.
동작(315)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 수신측 라우터(들) 상에서 고속 플러딩 이벤트로서 처리된다. 추가하여, 고속 장애 통보 메시지는 또한, 수신측 라우터(들)에게, 수렴을 기다리지 않고 (라우팅 및 포워딩 테이블이 업데이트되기를 기다리지 않고) 고속 장애 통보 메시지를 그들의 다음 홉(들)에 포워딩하는 것을 포함한 고속 플러딩 프로세스가 수행되어야 한다는 것을 나타낸다. 예를 들어, 고속 장애 통보 메시지는, 이들 라우터(들)에 의해 그들의 애플리케이션층으로부터의 상호작용 없이 포워딩될 것이다. 한 실시예에서, 고속 장애 통보 메시지는 FFFC에 전용인 특정 목적지 IP 주소 또는 MAC 주소를 포함한다. 따라서, 고속 장애 통보 메시지는, 수신측 라우터(들)이 네트워크 장애를 반영하도록 그들의 라우팅 및 포워딩 테이블을 업데이트하는 것을 허용하며 고속 장애 통보가 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 그들의 다음 홉의 라우터(들)에 포워딩되어야 한다는 정보를 포함한다.
전술된 바와 같이, 고속 장애 통보 메시지는 기존의 IGP PDU 패킷 포맷을 이용하거나 프로토콜에 관계없는 공통 메시지 포맷을 이용할 수도 있다. 그 다음 플로우는 동작(320)으로 이동하고, 라우터는 고속 장애 통보 메시지를 하나 이상의 라우터에 플러딩한다. 그 다음 플로우는 동작(325)으로 이동하고, 라우터는 네트워크 장애를 반영하도록 그 라우팅 테이블 및 포워딩 테이블을 업데이트한다. 라우터가 그 라우팅 테이블 및 포워딩 테이블을 업데이트한 후에, 데이터 패킷들은 네트워크 장애를 회피하도록 리라우팅될 것이다.
동작(325)은, 일부 실시예에서는, 동작(315) 및/또는 동작(320)과 동시에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 생성되어 전송되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 생성하여 전송하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다. 따라서, 고속 장애 통보 메시지를 생성하여 전송하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
도 4는 한 실시예에 따른 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(410)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 수신한다. 고속 장애 통보 메시지는 또한, 메시지가 FFFC 아키텍쳐에서 처리되어야 한다는 것을 나타낸다. 예를 들어, 고속 장애 통보 메시지는 여기서 설명된 FFFC에 전용인 특정 목적지 IP 주소 또는 MAC 주소를 포함할 수 있다. 그 다음 플로우는 동작(415)으로 이동한다.
동작(415)에서, 고속 플러딩 메시지가 추가 처리를 위해 라우터 상의 적절한 라우팅 프로토콜 모듈(예를 들어, 라우터 상의 IGP 모듈)에 전송된다. 만일 라우터가 다음 홉의 라우터(들)을 포함한다면, 플로우는 동작(420)으로 이동하고, 고속 장애 통보 메시지가 다음 홉의 라우터(들)에게 플러딩된다. 이것은 고속 장애 통보 메시지가기 때문에, 라우터는 고속 장애 통보 메시지를 그 다음 홉의 라우터(들)에게 플러딩하기에 앞서 그 라우팅 및 포워딩 테이블을 업데이트 완료하기를 기다리지 않는다는 점을 이해하여야 한다. 그 다음 플로우는 동작(425)으로 이동하고, 라우터는 네트워크 장애를 반영하도록 그 라우팅 테이블 및 포워딩 테이블을 업데이트한다. 라우터가 그 라우팅 테이블 및 포워딩 테이블을 업데이트한 후에, 데이터 패킷들은 네트워크 장애를 회피하도록 리라우팅될 것이다.
동작(425)은, 일부 실시예에서는, 동작(420)과 동시에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 플러딩되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 플러딩하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다. 따라서, 수신된 고속 장애 통보 메시지를 그 다음 홉의 라우터(들)에게 플러딩하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
브리지 기반의 고속 장애 통보 메시지 플러딩
한 실시예에서, 고속 장애 통보 메시지 플러딩을 위한 전달 메커니즘은 브리지 기반(bridged based)이다. 고속 장애 통보 메시지에 대한 브리지 기반의 전달 메커니즘은, 트리 기반의 전달 메커니즘처럼 링크 단절로 인한 트리 분할에 예속되지 않는다. 모든 트리 기반의 고속 플러딩 방식은, 라우터에 장해가 발생하거나 복수의 링크에 동시에 장애가 발생할 때(예를 들어, 라인 카드 장애), 플러딩은 분할되게 되고, 따라서, 토폴로지의 상이한 부분 내의 라우터들은 토폴로지 변경을 상이하게 인지할 것이라는 한계를 가진다. 그 결과, 라우팅 루프 및/또는 블랙 홀이 형성될 수 있다. 여기서 설명된 브리지 기반의 전달 메커니즘은 흐름이 분할되어지는 것에 예속되지 않는다.
도 5는 한 실시예에 따른 고속 장애 통보를 유포하기 위한 브리지 기반의 플러딩을 이용하는 예시적 네트워크(500)를 나타낸다. 네트워크(500)는 라우터들(520A-D)을 포함하고, 이들은 모두 영역 내의 모든 노드와 링크들을 포함하는 브리지된 네트워크의 일부이다. 라우터들(520A-D)은, 각각 BVI(Bridge Virtual Interface)(515A-D)와 각각 IGP 모듈(510A-D)을 포함한다. BVI(515A-D)는 여기서 설명된 고속 장애 통보를 생성하고 수신하도록 구성되며, 각각 라우터들(520A-D)의 데이터 트랜스포트 계층의 일부가 된다. BVI들(515A-D)은 고속 장애 통보(FFN) 모듈의 한 타입이다.
IGP 모듈들(510A-D)은 각각 라우터들(520A-D)의 애플리케이션 계층의 일부이다. 라우터(520A)는 인터페이스 Ab(570)를 포함한다. 라우터(520B)는 인터페이스들(Ba(572), Bc(574), 및 Bd(576))을 포함한다. 라우터(520C)는 인터페이스들(Cb(578), 및 Cd(580))을 포함한다. 라우터(520D)는 인터페이스들(Db(582), 및 Dc(584))을 포함한다. 인터페이스들(Ab(570) 및 Ba(572))은 링크(552)에 의해 결합된다. 인터페이스들(Bc(574) 및 Cb(578))은 링크(554)에 의해 결합된다. 인터페이스들(Cd(580) 및 Dc(584))은 링크(556)에 의해 결합된다. 인터페이스들(Bd(576) 및 Db(582))은 링크(550)에 의해 결합된다.
도 5에 나타낸 바와 같이, 라우터들은 링 토폴로지를 형성한다. 따라서, 네트워크에는 루핑이 발생할 가능성이 있다. MAC 이동 검출은 브리지된 네트워크에서 루프로부터 보호하기 위한 공지된 방법이지만, 제어 평면이 라우터들의 상이한 라인 카드들 상의 모든 인터페이스들에 그 결정을 채우는데(populate) 걸리는 시간량(예를 들어, 수 밀리초)은 네트워크를 마비시킬 수 있다. 본 발명의 한 실시예에서, 네트워크에서 루프를 방지하기 위해 1회-학습 플러딩 방식(learning-once flooding scheme)이 도입되어 이용된다. 고속 포워딩 통보 메시지가 브리지 인터페이스에 도달할 때, 브리지는 그 통상의 MAC 학습 프로세스를 개시한다. 전형적으로 이것은, 브리지가 메시지의 소스 MAC 주소가 메시지가 수신된 인터페이스와 연관되어 있는지를 판정하는 것을 포함한다. MAC 주소와 인터페이스의 연관은 전형적으로 브리지 MAC 테이블에 저장된다. 만일 엔트리가 존재하지 않는다면(MAC 주소와 인터페이스 연관이 신규한 것), 통상의 MAC 학습 및 플러딩 프로세스가 수행된다(고속 장애 통보가 그 브리지 그룹의 다른 모든 인터페이스들에 플러딩될 것이다). 그러나, 만일 엔트리가 존재한다면(MAC 주소와 인터페이스 연관이 이미 알려진 것), 고속 장애 통보 메시지는 누락되고 어떠한 추가 처리도 수행되지 않는다.
1회-학습 플러딩 방식의 루프 방지 메커니즘은, 각 인터페이스가 고속 장애 통보 메시지를 수신하고 이것을 다른 인터페이스들에 최대 한 번에 플러딩하는 것을 보장한다. 따라서, n개의 인터페이스를 갖는 브리지는 최대 n번만에 고속 장애 통보 메시지를 플러딩할 것이다.
도 5에 나타낸 예에서, 인터페이스들(Ab(570)와 Ba(572)) 사이의 링크(552)에 장애가 발생했다. 설명의 목적을 위해, 라우터(520B)가 링크(552)의 장애를 검출한다. 그러나, 라우터(520A)도 역시 장애를 검출할 수 있다는 점을 이해하여야 한다. 장애의 검출은 상이한 실시예들에서 상이한 방식으로 수행될 수 있다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 링크(552)의 장애의 검출은 이벤트 프레임워크 내의 이벤트이다.
장애의 검출시에, 링크(552) 상의 장애를 나타내는 고속 장애 통보 메시지가 BVI 인터페이스(515B)를 통해 전송되어 고속 플러딩 프로세스를 개시한다. 구체적으로는, 고속 장애 통보 메시지(560)는 인터페이스 Bc(574)와 (576)을 통해 플러딩된다. 고속 장애 통보 메시지(560)는 인터페이스 Ba(572)에 할당된 소스 MAC 주소를 가진다. 이 예의 목적을 위해, 플러딩의 방향은 고속 장애 통보 메시지(560)가 인터페이스 Bc(574)를 통해 플러딩되는 것에 관해 설명되지만, 고속 장애 통보 메시지(560)가 인터페이스 Bc(576)를 통해 플러딩되는 것에 관해 유사한 동작이 수행된다는 점을 이해하여야 한다.
고속 장애 통보 메시지(560)는 링크(554)를 가로질러 전송되어, 라우터(520C)의 인터페이스 Cb(578)에서 수신된다. 이것이 고속 장애 통보 메시지(560)의 소스 MAC 주소를 갖는 패킷이 인터페이스 Cb(578) 상에서 수신되는 첫 번째 경우라고 가정하면, 그 인터페이스와 MAC 주소 연관(예를 들어, 인터페이스 Cb(578)와 인터페이스의 MAC 주소의 연관)이 학습된다(예를 들어, 브리지 MAC 테이블에 추가됨). 고속 장애 통보 메시지(560)는 또한 BVI(515C)로 플러딩되고 인터페이스 Cd(580)를 통해 밖으로 나간다. BVI(515C)는 그 통보를 IGP 모듈(510C)에 포워딩하여 처리한다(예를 들어, 링크(552)의 장애를 반영하도록 라우터(520C)의 라우팅 테이블 및/또는 포워딩 테이블을 업데이트).
고속 장애 통보 메시지(560)는 링크(556)를 가로질러 전송되어, 라우터(520D)의 인터페이스 Dc(584)에서 수신된다. 라우터(520C)에 관하여 설명된 것과 유사한 프로세스에서, 이것이 고속 장애 통보 메시지(560)의 소스 MAC 주소를 갖는 패킷이 인터페이스 Dc(584) 상에서 수신되는 첫 번째 경우라고 가정하면, 그 인터페이스와 MAC 주소 연관(예를 들어, 인터페이스 Dc(584)와 인터페이스의 MAC 주소의 연관)이 학습된다(예를 들어, 브리지 MAC 테이블에 추가됨). 고속 장애 통보 메시지(560)는 또한 BVI(515D)로 플러딩되고 인터페이스 Db(582)를 통해 밖으로 나간다. BVI(515D)는 그 통보를 IGP 모듈(510D)에 포워딩하여 처리한다(예를 들어, 링크(552)의 장애를 반영하도록 라우터(520D)의 라우팅 테이블 및/또는 포워딩 테이블을 업데이트).
고속 장애 통보 메시지(560)는 링크(550)를 가로질러 전송되어, 라우터(520B)의 인터페이스 Bd(576)에서 수신된다. 라우터들(520C 및 520D)에 관하여 설명된 것과 유사한 프로세스에서, 이것이 고속 장애 통보 메시지(560)의 소스 MAC 주소를 갖는 패킷이 (외부 소스로부터) 인터페이스 Bd(576) 상에서 수신되는 첫 번째 경우라고 가정하면, 그 인터페이스와 MAC 주소 연관(예를 들어, 인터페이스 Bd(576)와 인터페이스의 MAC 주소의 연관)이 학습된다(예를 들어, 브리지 MAC 테이블에 추가됨). 고속 장애 통보 메시지(560)는 또한 BVI(515B)로 플러딩되고 인터페이스 Bc(574)를 통해 밖으로 나간다.
고속 장애 통보 메시지(560)는 또 다시 링크(554)를 가로질러 전송되어, 인터페이스 Cb(578) 상에서 수신된다. 그러나, 고속 장애 통보 메시지(560)는 인터페이스 Cb(578)에서 이미 수신되었기 때문에, 고속 장애 통보 메시지는 누락될 것이고 루프는 정지한다.
도 6은 한 실시예에 따른 브리지 기반의 고속 장애 통보 메시지 플러딩을 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(610)에서, 라우터는 네트워크 장애를 검출한다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 그 다음 플로우는 동작(615)으로 이동한다.
동작(615)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 링크 장애에 접속된 라우터 상의 인터페이스의 소스 MAC 주소를 포함한다. 예를 들어, 도 5를 참조하여, 링크(552)에 장애가 발생했다고 가정하면, 라우터(520B)는 인터페이스 Ba(572)의 소스 MAC 주소를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 수신측 라우터(들) 상에서 고속 플러딩 이벤트로서 처리된다. 예를 들어, 고속 장애 통보 메시지는 각각의 수신측 라우터(들)에게, 수렴을 기다리지 않고(라우팅 및/또는 포워딩 테이블이 업데이트되기를 기다리지 않고) 고속 장애 통보 메시지를 그 데이터 트랜스포트 계층에서 그 하나 이상의 인터페이스들 외부로 플러딩하고, 고속 장애 통보 메시지에서 표시된 네트워크 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트할지를 결정해야 한다는 것을 나타낸다. 따라서, 고속 장애 통보 메시지는 수신측 라우터에게, 애플리케이션 계층(또는 제어 평면)과의 상호작용 없이 데이터 트랜스포트 계층(예를 들어, 유입 포트)에 의해 MAC 학습 및 룩업이 수행되어야 하고, 그에 따라 라인 속도로 수행되어야 하며, 애플리케이션 계층은 플러딩 프로세스와는 독립적으로 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트해야 한다는 것을 나타낸다. 한 실시예에서, 고속 장애 통보 메시지는 FFFC 전용의 특정 목적지 MAC 주소를 포함하여 수신측 라우터들에게 그 메시지를 고속 장애 통보 메시지로서 처리해야 한다는 것을 나타낸다. 따라서, 고속 장애 통보 메시지는, 수신측 라우터(들)이 고속 장애 통보 메시지를 라인 속도로 플러딩할 뿐만 아니라 네트워크 장애를 반영하도록 그들의 라우팅 및/또는 포워딩 테이블을 업데이트하는 것을 허용하는 정보를 포함한다.
그 다음 플로우는 동작(620)으로 이동하고, 라우터는 고속 장애 통보 메시지를 브리지 그룹에 플러딩한다. 브리지 그룹은 동일한 브로드캐스트 도메인의 일부가 되는 하나 이상의 네트워크 인터페이스를 포함한다. 예를 들어, 도 5를 참조하면, 라우터(520B)는 고속 장애 통보 메시지(560)를 인터페이스 Bc(574) 및 Bd(576)를 통해 외부로 플러딩한다. 그 다음 플로우는 동작(625)으로 이동하고, 라우터는 네트워크 장애를 반영하도록 그 라우팅 테이블 및 포워딩 테이블을 업데이트한다. 라우터가 그 라우팅 테이블 및 포워딩 테이블을 업데이트한 후에, 데이터 패킷들은 네트워크 장애를 회피하도록 리라우팅될 것이다.
동작(qb25)은, 일부 실시예에서는, 동작(615) 및/또는 동작(620)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 생성되어 전송되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 생성하여 전송하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다. 따라서, 고속 장애 통보 메시지를 생성하여 전송하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
도 7은 한 실시예에 따른 브리지 기반의 고속 장애 통보 메시지 플러딩을 이용하여 FFFC 아키텍쳐에서 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(710)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 인터페이스 상에서 수신한다. 고속 장애 통보 메시지는 또한, 메시지가 FFFC 아키텍쳐에서 처리되어야 한다는 것을 나타낸다. 예를 들어, 고속 장애 통보 메시지는 여기서 설명된 FFFC에 전용인 특정 목적지 IP 주소 또는 MAC 주소를 포함할 수 있다. 그 다음 플로우는 동작(715)으로 이동한다.
동작(715)에서, 라우터는, 고속 장애 통보 메시지의 소스 MAC 주소가 그것이 수신된 인터페이스와 연관되어 있는지를 판정한다. 예를 들어, 라우터는 소스 MAC 주소가 인터페이스와 연관되어 있는지를 판정하기 위해 브리지 MAC 테이블을 액세스한다. 만일 소스 MAC 주소가 인터페이스와 연관되어 있지 않다면, 플로우는 동작(720)으로 이동한다. 만일 소스 MAC 주소가 이미 인터페이스와 연관되어 있지 않다면(이것은 통상 고속 장애 통보 메시지가 그 인터페이스 상에서 이미 수신되었음을 의미한다), 플로우는 동작(740)으로 이동하고 패킷은 누락된다. 앞서 설명된 바와 같이, 패킷이 이미 알려져 있는 경우 패킷을 누락하는 것은 네트워크에서 루프를 방지하는데 이용된다. 또한, 한 실시예에서, MAC 학습 및 룩업은 유입 인터페이스 내에서 라인 속도로 수행되고, 라우터의 제어 평면과의 상호작용 없이 수행된다. 따라서, 본 발명의 실시예의 1회-학습 플러딩 기술은 루프를 방지하는데 이용되고 MAC 이동 검출과 같은 다른 흔히 이용된 루프 방지 기술보다 빠르다(즉, 라인 속도에서 동작한다).
동작(720)에서, 라우터는, 고속 장애 통보 메시지에 포함된 소스 MAC 주소를 그것이 수신된 라우터의 인터페이스와 연관시킨다. 예를 들어, 라우터는 소스 MAC 주소 및 인터페이스 쌍을 브리지 MAC 테이블에 추가한다. 그 다음 플로우는 동작(725)으로 이동하고, 라우터는 고속 장애 통보 메시지를 브리지 그룹의 모든 다른 인터페이스들에 플러딩하여, 있다면, 고속 장애 통보 메시지가 이웃 라우터들에 전송되게끔 한다. 그 다음 플로우는 동작(730)으로 이동하고 고속 장애 통보 메시지는 추가 처리를 위한 라우팅 프로토콜(예를 들어, 라우터 상의 IGP 모듈)을 위한 BVI에 전송된다. 그 다음 플로우는 동작(735)으로 이동하고, 라우터(예를 들어, IGP 모듈)는 장애를 반영하도록 라우팅 테이블 및/또는 포워딩 테이블을 업데이트한다.
한 실시예에서, 비-FFFC 목적에 대한 브리지 사용을 금하기 위해, 전용 MAC 주소가 보존되어 고속 장애 통보 메시지에 대한 목적지 MAC 주소로서 사용될 수 있다. 한 실시예에서, ACL(access control list)은, 브리지들이 FFFC 목적을 위한 전용 MAC 주소만을 수락하도록 구성될 수 있다.
계층 2 브리지된 네트워크 상의 STP 기반의 고속 장애 통보 메시지 플러딩
한 실시예에서, 고속 장애 통보 메시지 플러딩을 위한 전달 메커니즘은 스패닝 트리 프로토콜(STP; spanning tree protocol)을 이용하는 계층 2 브리지된 네트워크 상에 있다. 계층 2 브리지된 네트워크 상의 플러딩은 명확하고(well defined) 고속 장애 통보 메시지를 전달하는데 이용될 수 있다. 브리지 그룹은 각각의 참여 라우터 상에서 구성되고 STP는 모든 브리지들 상에서 인에이블된다. STP는 라우터들의 스패닝 트리를 생성하고 트리의 일부가 아닌 인터페이스들을 차단함으로써 브리지 루프를 방지하는데 이용된다. STP는 IEEE 802.1D에 정의되어 있다. 이러한 타입의 머신을 브라우터(brouter)라 부른다. IP 패킷의 수신시에, 브라우터는 IP 패킷을 라우팅한다. 다른 타입의 패킷의 수신시에, 브라우터는 패킷을 브리지한다. 브라우터는 IP 패킷들을 라우팅하기 때문에, 계층 2 브리지된 네트워크 상의 STP 기반의 고속 장애 통보 메시지 플러딩에서 사용되는 고속 장애 통보 메시지는, IP 포워딩 테이블에 따라 포워딩되는 것을 회피하기 위해 계층 2 패킷이다.
도 8은 한 실시예에 따른 STP 기반의 플러딩을 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출한 계층 2 브리지된 네트워크 내의 라우터(예를 들어, 브라우터) 상에서 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(810)에서, 라우터는 네트워크 장애를 검출한다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 그 다음 플로우는 동작(815)으로 이동한다.
동작(815)에서, 라우터(예를 들어, 그 라우터 상의 FFN 모듈)는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 계층 2 패킷이다. 계층 2 고속 장애 통보 메시지에 대한 예시적 포맷이 도 21을 참조하여 더 상세히 설명될 것이다. 고속 장애 통보 메시지는 수신측 라우터(들) 상에서 고속 플러딩 이벤트로서 처리된다. 예를 들어, 고속 장애 통보 메시지를 수신하는 라우터는 수렴을 기다리지 않고 STP에 의해 차단되지 않는 모든 다른 인터페이스들에 패킷을 플러딩할 것이다. 따라서, 고속 장애 통보 메시지는 수신측 라우터에게, 그 데이터 트랜스포트 계층이 애플리케이션 계층과의 상호작용 없이 STP에 의해 차단되지 않는 모든 다른 포트들에 패킷을 플러딩해야 하고, 그에 따라 라인 속도로 수행되어야 하며, 그 애플리케이션 계층은 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트해야 한다는 것을 나타낸다. 따라서, 고속 장애 통보 메시지는, 수신측 라우터(들)이 고속 장애 통보 메시지를 라인 속도로 플러딩할 뿐만 아니라 네트워크 장애를 반영하도록 그들의 라우팅 및/또는 포워딩 테이블을 업데이트하는 것을 허용하는 정보를 포함한다.
그 다음 플로우는 동작(820)으로 이동하고, 라우터는 계층 2 고속 장애 통보 메시지를 브리지 그룹의 멤버들에게 플러딩한다. 그 다음 플로우는 동작(825)으로 이동하고 라우터는 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다(예를 들어, IGP 모듈은 그 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다). 동작(825)은, 일부 실시예에서는, 동작(815) 및/또는 동작(820)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 생성되어 전송되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 생성하여 전송하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다. 따라서, 고속 장애 통보 메시지를 생성하여 전송하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
도 9는 한 실시예에 따른 계층 2 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(910)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 계층 2 고속 장애 통보 메시지를 수신한다. 예를 들어, 라우터의 (데이터 트랜스포트 계층 상의) FFN 모듈은 계층 2 고속 장애 통보 메시지를 수신한다. 그 다음 플로우는 동작(915)으로 이동하고, 라우터(예를 들어, 그 라우터의 FFN 모듈)는 고속 장애 통보 메시지를 STP에 의해 차단되지 않는 모든 다른 인터페이스들에 플러딩한다. 그 다음 플로우는 동작(920)으로 이동하고 고속 장애 통보 메시지는 추가 처리를 위해 라우터 상의 라우팅 프로토콜 모듈(예를 들어, IGP 모듈)에 전송된다. 그 다음 플로우는 동작(925)으로 이동하고, 라우팅 프로토콜 모듈은 네트워크 장애를 반영하도록 그 라우팅 및 포워딩 테이블을 업데이트한다. 동작(920 및 925)은, 일부 실시예에서는, 동작(915)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 플러딩되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 플러딩하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다.
계층 2 브리지된 네트워크 상의 STP 플러딩은 간단하고 고속이다. 그러나, STP 플러딩은 (다음 히트(hit)에 준비된) 전환(turnaround)에 대해 비교적 긴 지속 기간이 걸리며, 또한 트리 분할 문제에 예속되어 있고, 이것은 동시 복수의 링크 장애를 처리할 수 없다는 것을 암시한다.
유니캐스트 기반의 고속 장애 통보 메시지 플러딩
한 실시예에서, 고속 장애 통보 메시지 플러딩을 위한 전달 메커니즘은 유니캐스트 기반(unicast based)이다. 네트워크 장애를 검출하는 라우터는 고속 장애 통보 메시지를 생성하고 사본을 도메인 내의 각 라우터에 전송한다. 도메인 내의 라우터들의 식별은 라우터 상의 라우팅 및/또는 포워딩 테이블에 저장된다. 이들 유니캐스트 고속 장애 통보 메시지는 보통의 IP 데이터 트래픽이 포워딩되는 것과 유사한 방식으로 데이터 평면 속도로 목적지 라우터들에 포워딩된다.
도 10은 한 실시예에 따른 유니캐스트 기반의 고속 장애 통보 메시지 플러딩을 이용하는 예시적 네트워크를 나타낸다. 네트워크(1000)는 라우터들(1020A-D)를 포함한다. 라우터들(1020A 및 1020B)은 링크(1052)에 의해 결합된다. 라우터들(1020B 및 1020C)는 링크(1054)에 의해 결합된다. 라우터들(1020C 및 1020D)는 링크(1056)에 의해 결합된다. 라우터들(1020A 및 1020D)는 링크(1050)에 의해 결합된다. 라우터들(1020A-D)은 각각 IGP 모듈들(1010A-D)과 각각 FFN 모듈들(1015A-D)을 포함한다. IGP 모듈들(1010A-D)은 각각 라우터들(1020A-D)의 애플리케이션 계층의 일부이고, FFN 모듈들(1015A-D)은 각각 라우터들(1020A-D)의 데이터 트랜스포트 계층의 일부이다.
도 10에 나타낸 예에서, 네트워크(1000)는 네트워크 장애를 겪었다. 구체적으로는, 링크(1052)에 장애가 발생했다. 설명의 목적을 위해, 라우터(1020B)가 링크(1052)의 장애를 검출한다. 그러나, 라우터(1020A)가 장애를 검출하고 라우터(1020B)와 유사한 동작을 수행할 수도 있다는 점을 이해하여야 한다. 장애의 검출은 상이한 실시예들에서 상이한 방식으로 수행될 수 있다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 링크(1052)의 장애의 검출은 이벤트 프레임워크 내의 이벤트이다. 따라서, 링크(1052)의 장애를 IGP 모듈(1010B)에 통보하는 메시지가 IGP 모듈(1010B)에 전송되고, IGP 모듈(1010B)은 링크(1052)의 장애를 반영하도록 라우터(1020B)의 라우팅 테이블과 포워딩 테이블을 업데이트할 수 있다.
장애를 검출한 이후의 어느 시점에서, 라우터(1020B)는 링크(252) 상의 장애를 나타내는 고속 장애 통보 메시지를 발생시킨다. 고속 장애 통보 메시지는, 그 타입의 장애의 메시지를 수신하도록 등록된 다른 라우터들에게 통보하는데 이용된다. 예를 들어, 고속 장애 통보 메시지는 링크(1052) 상에 장애가 있다는 것을 나타낸다. 라우터(1020B)는 고속 장애 통보 메시지를 IP 도메인의 각 라우터에게 전송한다. 도 10을 참조하면, 링크(1052)의 장애를 나타내는 유니캐스트 고속 장애 통보 메시지(1060)가 라우터(1020C)의 목적지 IP 주소에 전송되고 라우터(1020D)의 목적지 IP 주소에 전송된다. 또한, 유니캐스트 고속 장애 통보 메시지(1060)도 역시 라우터(1020A)의 목적지 주소에 전송될 수 있다.
라우터가 고속 장애 통보 메시지를 수신할 때, 그 라우터는, 그 라우팅 테이블 및/또는 포워딩 테이블을 적절하게 업데이트하는 것을 포함한 고속 장애 통보 메시지의 처리를 행한다. 예를 들어, 라우터(1020C)가 고속 플러딩 통보 메시지(1060)를 수신하면, 이 메시지는 라우팅 및/또는 포워딩 테이블을 업데이트하는 것을 포함한 추가 처리를 위해 IGP 모듈(1010C)에 포워딩될 것이다. 일부 실시예에서, 수신측 라우터들의 IGP 모듈들은 패킷 검증(validation) 동안에 전술된 인접성 검사에 의해 고속 장애 통보 메시지의 수락 기준을 완화한다. 만일 인접성 검사가 바이패스된다면 DoS 공격 또는 PDU 리플레이 공격으로부터 보호하기 위하여 도메인-전역 인증이 이용될 수 있다.
여기서 설명된 다른 고속 장애 통보 메시지 트랜스포트 기술과는 달리, 장애를 검출하는 라우터는 고속 장애 통보 메시지를 플러딩할 책임이 있다. 따라서, 고속 장애 통보 메시지를 수신하는 라우터들은 그들의 다음 홉의 라우터들 상으로 메시지를 포워딩 또는 중계할 필요가 없다.
도 11은 한 실시예에 따른 네트워크 장애를 검출하고 유니캐스트 기반의 고속 장애 통보 메시지 플러딩을 이용하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(1110)에서, 라우터는 네트워크 장애를 검출한다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 그 다음 플로우는 동작(1115)으로 이동한다.
동작(1115)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 수신측 라우터(들) 상에서 고속 플러딩 이벤트로서 처리된다. 따라서, 고속 장애 통보 메시지는, 수신측 라우터(들)이 네트워크 장애를 반영하도록 그들의 라우팅 및 포워딩 테이블을 업데이트하는 것을 허용하는 정보를 포함한다. 그 다음 플로우는 동작(1120)으로 이동한다. 전술된 바와 같이, 고속 장애 통보 메시지는 기존의 IGP PDU 패킷 포맷을 이용하거나 프로토콜에 관계없는 공통 메시지 포맷을 이용할 수도 있다.
동작(1120)에서, 고속 장애 통보의 사본이 IP 도메인의 (예를 들어, 라우터의 라우팅 및/또는 포워딩 테이블에서 식별된) 각 라우터에 전송된다. 예를 들어, IP 도메인의 각 라우터에 대해, 패킷의 목적지 IP 주소가 그 라우터에 설정된다. 그 다음 플로우는 동작(1125)으로 이동하고, 라우터는 네트워크 장애를 반영하도록 그 라우팅 테이블 및 포워딩 테이블을 업데이트한다.
동작(1125)은, 일부 실시예에서, 동작들(1115 및/또는 1120)과 동시에 또는 그 이전에 시작될 수 있다. 일부 실시예에서, 라우터는 고속 장애 통보 메시지를 전송하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다. 따라서, 고속 장애 통보 메시지를 생성하여 전송하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
도 12는 한 실시예에 따른 유니캐스트 기반의 트랜스포트 기술을 이용하여 트랜스포트된 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(1210)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 수신한다. 그 다음 플로우는 동작(1215)으로 이동한다. 동작(1215)에서, 고속 플러딩 메시지가 추가 처리를 위해 라우터 상의 적절한 라우팅 프로토콜 모듈(예를 들어, 라우터 상의 IGP 모듈)에 전송된다. 그 다음 플로우는 동작(1220)으로 이동하고, 전형적으로는 라우팅 프로토콜 모듈에 의해 수행되는 인접성 검사는 (라우팅 프로토콜 모듈이 인접성 검사를 수행하도록 구성된 경우) 바이패스된다. 그 다음 플로우는 동작(1225)으로 이동하고, 라우팅 프로토콜 모듈은 네트워크 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 업데이트한다.
유니캐스트 기반의 고속 장애 통보 메시지 플러딩 기술은, 고속 플러딩 통보를 생성하여 IP 도메인 내의 다른 라우터들에 전송하기 위해 네트워크 장애를 검출하는 라우터에 의존하기 때문에, 패킷 전송 노력을 복수회 반복해야 하는 발원지 라우터에게는 너무 부담스럽게 보일 수 있다. 그러나, 실험 결과, 발원지 라우터의 부담은 무시할만한 것으로 드러났다. 적절한 크기인 100-라우터 네트워크의 경우, 발원지 라우터가 100개의 고속 플러딩 통보 패킷을 생성하여 전송하기 위한 전체 시간은 7 밀리초이다. 발원지 라우터 상의 이러한 작은 지연은, 고속 장애 통보 메시지 패킷을 데이터 평면에 미리 다운로딩함으로써 최소화될 수 있다. 데이터 평면은 IGP 라우팅 테이블의 일부인 모든 라우터들의 목록을 이미 갖고 있기 때문에, 데이터 평면은 패킷을 직접 발송할 수 있다.
본질적으로, 유니캐스트 기반의 고속 장애 통보 메시지 플러딩 기술은, 멀티캐스트 트리와 유사한 트리 기반이다. 그러나, 고속 장애 통보 메시지 플러딩의 목적을 위해 생성되는 특별한 트리는 없다. 대신에, SPF(shortest path first) 트리(SPT)인 통상의 라우팅 테이블이 이용된다. 이것은 플러딩이 (라우팅 테이블에 의해 결정된) 최단 경로를 따르고 어떠한 플러딩 루프도 생성되지 않는 것을 보장한다. SPT 상에 단절된 링크가 있는 상황에서, 트리는 분할되고 발원지 라우터로부터의 플러딩은 트리의 일부에만 도달할 것이다. 그러나, 전체 트리에 장애가 통보될 것인데, 이것은 링크의 다른 단에 있는 라우터가 트리의 다른 부분 상의 라우터들을 커버하기 위해 유사한 유니캐스트 기반의 고속 장애 통보 프로세스를 수행할 수 있기 때문이다. 예를 들어, 도 10을 참조하면, 링크 장애(1052)의 검출에 응답하여 도메인 내의 다른 라우터들에게 유니캐스트 고속 장애 통보 메시지를 생성하여 전송하는 라우터(1020B) 외에도, 라우터(1020A)도 역시 링크 장애(1052)의 검출에 응답하여 도메인 내의 다른 라우터들에게 고속 장애 통보 메시지를 생성하여 전송할 수 있다.
RPF 검사를 통한 게이팅된 멀티캐스트 고속 장애 통보 메시지 플러딩
한 실시예에서, 고속 장애 통보 메시지 플러딩을 위한 전달 메커니즘은 멀티캐스트 기반이고, 플러딩 루프는 RPF(Reverse Path Forwarding) 검사를 통해 방지된다. 게이팅된 멀티캐스트 기반의 플러딩은 멀티캐스트 트리가 확립될 것을 요구하지 않는다; 오히려, 이것은, 고속 장애 통보 메시지를 다른 라우터들에 플러딩하기 이전에, IGP 모듈에 의해 계산된 것과 동일한 SPT와 그 SPT를 이용한 RPF를 이용한다. RPF 검사는 고속 장애 통보 메시지가 수신되는 인터페이스가 또한 고속 장애 통보 메시지의 소스에 도달하는 송출 인터페이스인지(outgoing interface)를 판정한다.
한 실시예에서, 게이팅된 멀티캐스트 기반의 고속 장애 통보 메시지 플러딩을 위해 전용 멀티캐스트 주소가 정의되고 이용된다. 이 전용 멀티캐스트 주소는 고속 플러딩을 위한 고속 장애 통보 메시지를 식별하는데 이용된다. 라우터가 그 멀티캐스트 주소에서 고속 장애 통보 메시지를 수신하면, 라우터는 RPF 검사를 수행한다. 예를 들어, 라우터는, 발원지 라우터(장애를 검출하여 고속 장애 통보 메시지를 발생한 라우터)에 도달하기 위한 송출 인터페이스를 찾기 위해 그 발원지 라우터에 대한 IP 유니캐스트 라우팅 테이블(예를 들어, IGP 모듈에 의해 계산된 SPT)을 액세스한다. 고속 장애 통보 메시지의 도달 인터페이스가 발원지 라우터에 도달하기 위한 송출 인터페이스와 동일할 때, RPF 검사가 통과되고 라우터는 통보를 다른 인터페이스들에게 플러딩한다. 고속 장애 통보 메시지의 도달 인터페이스가 발원지 라우터에 도달하는데 이용되는 송출 인터페이스와 동일하지 않다면, 라우터는 그 패킷을 누락시킴으로써 루프를 방지한다.
도 13은 한 실시예에 따른 게이팅된 멀티캐스트 고속 장애 통보 메시지 플러딩을 이용하는 예시적 네트워크(1300)를 나타낸다. 예시적 네트워크(1300)는 각각 IGP 모듈들(1310A-D)과 각각 FFN 모듈들(1315A-D)을 포함하는 라우터들(1320A-D)을 포함한다. 라우터(1320A)는 링크(1350)를 통해 라우터(1320B)에 결합되고, 링크(1352)를 통해 라우터(1320C)에 결합되며, 링크(1356)를 통해 라우터(1320D)에 결합된다. 라우터(1320B)는 또한 링크(1354)를 통해 라우터(1320C)에 결합되고 링크(1360)를 통해 라우터(1320D)에 결합된다. 라우터(1320C)는 또한 링크(1358)를 통해 라우터(1320D)에 결합된다.
라우터들(1320A-D)의 IGP 모듈들(1310A-D) 각각은 양방향 멀티캐스트 트리로서 이용될 (그 IGP 모듈에 의해 계산된) 그들의 SPT(shortest path tree)를 복제하고, 그 양방향 멀티캐스트 트리가 라우터의 데이터 평면에 다운로드되게끔 하며(예를 들어, 데이터 평면의 하나 이상의 라인 카드들에 설치), 그 멀티캐스트 그룹에 가입하기 위해 게이팅된 멀티캐스트 기반의 고속 장애 통보 메시지 플러딩에 대한 전용의 멀티캐스트 그룹 주소를 추가한다.
도 2를 참조하면, 라우터(1320A)에서 기원하는(rooted) SPT는 라우터(1320B)에 도달하기 위한 링크(1350), 라우터(1320C)에 도달하기 위한 링크(1352), 및 라우터(1320D)에 도달하기 위한 링크(1350 및 1360)를 포함한다. 예를 들어, 라우터(1320A)가 라우터(1320D)에 패킷을 전송할 때, 그 패킷은 링크(1350) 및 링크(1360)를 따라 이동할 것이다. 링크(1354, 1356, 및 1358)은 라우터(1320A)에서 기원하는 SPT의 일부가 아니다.
설명의 목적을 위해, 라우터(1320A)는 링크나 노드의 장애를 검출하고, 이 장애는 본 발명의 이해를 흐리지 않도록 하기 위해 예시되어 있지 않다. 전술된 바와 같이, 장애의 검출은 상이한 실시예들에서 상이한 방식으로 수행될 수 있다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 네트워크 장애의 검출은 이벤트 프레임워크 내의 이벤트이다.
네트워크 장애를 검출한 이후의 어느 시점에서, 라우터(1320A)는 장애를 식별하는 정보를 포함하는 장애 통보 메시지를 생성한다. 예를 들어, FFN 모듈(1315A)은 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 수신측 라우터들에게 게이팅된 고속 플러딩 프로세스가 수행되어야 한다는 것을 나타낸다. 예를 들어, 고속 장애 통보 메시지는 수신측 라우터에게, 그 애플리케이션 계층이 고속 장애 통보 메시지에 표시된 네트워크 장애를 반영하도록 라우팅 테이블 및/또는 포워딩 테이블을 업데이트하는 것과는 독립적으로, 그 데이터 트랜스포트 계층이 고속 장애 통보 메시지를 그 인터페이스들에 멀티캐스트(적절하다면 그 메시지를 멀티캐스트)할지를 결정해야 한다는 것을 나타낸다.
데이터 트랜스포트 계층은 메시지의 목적지 주소에 기초하여 고속 장애 통보 메시지를 식별한다(고속 장애 통보 메시지는 게이팅된 고속 장애 통보 메시지에 대해 전용의 멀티캐스트 목적지 주소를 가진다). 라우터들(1320B-D) 각각은 전용의 멀티캐스트 주소를 갖는 멀티캐스트 패킷들을 리스닝하고, 그 결과, 라우터들(1320B-D) 각각은 멀티캐스트 고속 플러딩 통보 메시지(1360)를 수신한다. 라우터들(1320A-D)은 메쉬 형태로 배치되어 있기 때문에, 라우터가 고속 장애 통보 메시지(1360)의 복수 사본을 수신할 가능성이 있다. 예를 들어, 라우터(1320C)는 링크(1352)를 통해 라우터(1320A)로부터 고속 장애 통보 메시지(1360)를 수신하고, 또한 링크(1354)를 통해 라우터(1320B)로부터 고속 장애 통보 메시지(1360)를 수신할 수 있다. 그러나, 루프를 방지하기 위해 RPF 검사가 수행된다. 예를 들어, 라우터(1320C)는, 라우터(1320B)를 통해 수신되는 라우터(1320A)로부터의 고속 장애 통보 메시지(1360)를 누락하는데, 이것은 라우터(1320B)가 라우터(1320A)에 대한 그 RPF 다음 홉이 아니기 때문이다.
도 14는 한 실시예에 따른 게이팅된 멀티캐스트 기반의 고속 장애 통보 메시지 플러딩을 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(1410)에서, 라우터는 네트워크 장애를 검출한다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 그 다음 플로우는 동작(1415)으로 이동한다.
동작(1415)에서, 라우터(예를 들어, 그 라우터 상의 FFN 모듈)는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 수신측 라우터(들) 상에서 고속 플러딩 이벤트로서 처리된다. 또한, 고속 장애 통보 메시지는 또한 수신측 라우터(들)에게, RPF 검사를 수행하는 것을 포함하고 고속 장애 통보를 다른 인터페이스들에게 멀티캐스트하는 것을 포함할 수 있는, 게이팅된 멀티캐스트 고속 플러딩 프로세스가 수행되어야 한다는 것을 나타낸다. 고속 장애 통보 메시지는 멀티캐스트 게이팅된 고속 장애 통보에 대해 전용의 멀티캐스트 주소의 목적지 주소를 가진다. 고속 장애 통보 메시지는, 애플리케이션 계층이 네트워크 장애 이후 토폴로지 변화를 반영하도록 라우팅 및/또는 포워딩 테이블을 업데이트하는 것과는 독립적으로, (포워딩이 발생한다면) 이들 라우터(들)에 의해 포워딩될 것이다. 따라서, 고속 장애 통보 메시지는, 수신측 라우터(들)에게 네트워크 장애를 반영하도록 그들의 라우팅 및/또는 포워딩 테이블을 업데이트하고 업데이트와는 독립적으로 게이팅된 멀티캐스트 고속 플러딩 프로세스를 수행할 것을 나타내는 정보를 포함한다. 그 다음 플로우는 동작(1420)으로 이동하고, 라우터는 멀티캐스트 게이팅된 고속 장애 통보에 대해 전용의 멀티캐스트 그룹 주소에 패킷을 전송한다. 그 다음 플로우는 동작(1425)으로 이동하고 라우터는 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다(예를 들어, IGP 모듈은 그 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다).
동작(1425)은, 일부 실시예에서는, 동작(1415) 및/또는 동작(1420)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 생성되어 전송되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 생성하여 전송하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다. 따라서, 고속 장애 통보 메시지를 생성하여 전송하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
도 15는 한 실시예에 따른 게이팅된 멀티캐스트 기반의 고속 장애 통보 메시지 플러딩 애플리케이션에서 멀티캐스트 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(1510)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 멀티캐스트 고속 장애 통보 메시지를 수신한다. 예를 들어, 그 라우터의 FFN 모듈은 멀티캐스트 고속 장애 통보 메시지를 수신한다. 또한, 고속 장애 통보 메시지는 또한 그 라우터에게, RPF 검사를 수행하는 것을 포함하고 고속 장애 통보를 다른 인터페이스들에게 멀티캐스트하는 것을 포함할 수 있는, 게이팅된 멀티캐스트 고속 플러딩 프로세스가 수행되어야 한다는 것을 나타낸다. 그 다음 플로우는 동작(1515)으로 이동하고, 라우터(예를 들어, FFN 모듈)는, 고속 장애 통보 메시지의 도달 인터페이스가 발원지 라우터에 도달하기 위한 송출 인터페이스와 동일한지를 판정하는 것을 포함한 RPF 검사를 수행한다. 예를 들어, 라우터는 멀티캐스트 고속 장애 통보 패킷의 소스가 되는 라우터에 대한 IP 유니캐스트 라우팅 테이블에 액세스하여 그 라우터에 도달하기 위한 송출 인터페이스를 결정한다. 구체적인 예로서, 수신측 라우터들의 FFN 모듈은, 멀티캐스트 고속 장애 통보 패킷의 소스에 도달하기 위한 송출 인터페이스를 결정하기 위해 SPT에 기초하여(based off) 생성된 데이터 평면 상의 양방향 멀티캐스트 트리를 이용한다. 만일 고속 장애 통보 메시지의 인입 인터페이스가 그 고속 장애 통보 메시지를 생성한 라우터에 도달하기 위한 송출 인터페이스와 같다면, 플로우는 동작(1520)으로 이동하고; 그렇지 않다면, 플로우는 동작(1540)으로 이동하여 패킷은 누락된다.
동작(1520)에서, 라우터(예를 들어, 그 라우터의 FFN 모듈)는 고속 장애 통보를 그 라우터의 다른 인터페이스들에 멀티캐스트한다. 예를 들어, 도 13을 참조하면, 라우터(1320B)가 링크(1350) 상의 멀티캐스트 고속 장애 통보 메시지(1360)을 수신하고, 링크(1350)에 대응하는 인터페이스가 라우터(1320A)에 도달하는데 이용되는 인터페이스와 동일한 인터페이스라는 판정에 응답하여, FFN 모듈(1315B)은 고속 장애 통보 메시지(1360)를 링크(1354 및 1360)에 대응하는 인터페이스들 외부로 멀티캐스트한다. 플로우는 동작(1520)으로부터 동작(1525)으로 이동하고, FFN 모듈은 고속 장애 통보를 라우터 상의 라우팅 프로토콜 모듈(예를 들어, IGP 모듈)에 포워딩한다. 그 다음 플로우는 동작(1530)으로 이동하고, 라우팅 프로토콜 모듈은 네트워크 장애를 반영하도록 그 라우팅 및 포워딩 테이블을 업데이트한다.
동작(1530)은, 일부 실시예에서는, 동작(1520)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 플러딩되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 플러딩하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다.
최단 경로 트리(SPT) 선정 루트 고속 장애 통보 메시지 플러딩
한 실시예에서, 고속 장애 통보 메시지에 대한 전달 메커니즘은, 라우터들 중 하나를 루트 노드로서 선정하는 SPF(shortest path first) 계산에 기초한 SPT를 이용하는 멀티캐스트 기반이다. 트리는 양방향 멀티캐스트 트리와 유사하지만, IGP 프로세스에 의해 직접 구축된다. 네트워크 내의 라우터들은 라우터들 중 하나를 루트 노드로 선정하고 IGP 모듈들은 선정된 라우터에서 기원하는 SPT를 현재의 네트워크 토폴로지에 기초하여 구성한다. 한 실시예에서, 라우터들은 가장 높은 라우터-id를 갖는 라우터를 루트 노드로 선정한다. 양방향 멀티캐스트 포워딩 엔트리들은, 구성된 SPT에 기초하여(based off) IGP 모듈(예를 들어, IS-IS 또는 OSPF) 에 의해 생성된 다음, 고속 장애 통보 메시지를 유포하는데 사용하기 위해 데이터 평면에(예를 들어, 라우터들의 하나 이상의 라인 카드들에) 다운로드될 수 있다. 고속 장애 통보 메시지는 다운로드된 양방향 멀티캐스트 포워딩 엔트리들을 이용하여 통상의 멀티캐스트 프로토콜을 이용하여 포워딩된다.
도 16은 한 실시예에 따른 라우터에서 수행되는 SPF 계산에 기초하여 SPT를 구축하기 위한 예시적 동작을 나타낸다. 동작(1610)에서, 라우터는 네트워크의 한 라우터를 루트 노드로서 선정한다. 선정된 라우터는 반드시 동작(1610)을 수행하고 있는 라우터인 것은 아니다. 한 실시예에서, 선정된 라우터는 가장 높은 라우터-id를 가진다. 물론, 루트 노드의 선정은 상이한 실시예들에서 상이하게(예를 들어, 가장 낮은 라우터-id를 갖는 라우터) 수행될 수도 있지만, 어쨌든, 네트워크 내의 라우터들은 어느 라우터가 루트 노드인지에 관해 협의할 필요가 있다. 그 다음 플로우는 동작(1615)으로 이동하고, 라우터는 선정된 루트 노드에서 기원하는 SPT를 현재의 네트워크 토폴로지에 기초하여 구축한다. 예를 들어, 라우터는, (OSPF 또는 IS-IS를 이용하고 있다면) 라우터의 LSDB(link state database) 상에서 SPF 구현을 실행한다. 그 다음 플로우는 동작(1620)으로 이동하고, 구축된 SPT는, 고속 장애 통보 메시지를 유포하는데 이용하기 위한 양방향 멀티캐스트 트리로서 라우터의 데이터 평면에(예를 들어, 라우터의 데이터 트랜스포트 계층에) 다운로드된다.
도 17은 한 실시예에 따른 SPF 선정 루트 노드 계산에 기초한 SPT를 이용한 멀티캐스트 기반의 고속 장애 통보 메시지를 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타낸다. 동작(1710)에서, 라우터는 네트워크 장애를 검출한다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 그 다음 플로우는 동작(1715)으로 이동한다.
동작(1715)에서, 라우터(예를 들어, 그 라우터 상의 FFN 모듈)는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 수신측 라우터(들) 상에서 고속 플러딩 이벤트로서 처리된다. 고속 장애 통보 메시지는 수신측 라우터(들)에게, 멀티캐스트 고속 플러딩 프로세스가, 고속 장애 통보를 멀티캐스트하는 것을 포함할 수 있는 SPT 선정 루트 노드 계산에 기초한 SPT를 이용하여 수행되어야 한다는 것을 나타낸다. 한 실시예에서, 고속 장애 통보 메시지는 멀티캐스트 고속 장애 통보에 대해 전용의 멀티캐스트 주소의 목적지 주소를 가진다. 이들 라우터(들)에 의한 고속 장애 통보 메시지의 멀티캐스트 결정과 임의의 결과적인 멀티캐스팅은, 애플리케이션 계층이 라우팅 및/또는 포워딩 테이블을 업데이트하는 것과는 독립적으로 발생한다. 따라서, 고속 장애 통보 메시지는, 수신측 라우터(들)에게, 고속 장애 통보 메시지를 라인 속도로 멀티캐스트하고 네트워크 장애를 반영하도록 그들의 라우팅 및/또는 포워딩 테이블을 업데이트할 것을 나타낸다.
플로우는 동작(1715)으로부터 동작(1720)으로 이동하고, 라우터는 멀티캐스트 고속 장애 통보에 대해 전용의 멀티캐스트 그룹 주소에 패킷을 전송한다. 그 다음 플로우는 동작(1725)으로 이동하고 라우터는 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다(예를 들어, IGP 모듈은 그 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다).
동작(1725)은, 일부 실시예에서는, 동작(1715) 및/또는 동작(1720)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 생성되어 전송되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 생성하여 전송하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다. 따라서, 고속 장애 통보 메시지를 생성하여 전송하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
도 18은 한 실시예에 따른 SPT 선정 루트 노드에 기초한 FFFC 애플리케이션에서 멀티캐스트 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(1810)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 멀티캐스트 고속 장애 통보 메시지를 수신한다. 예를 들어, 그 라우터의 FFN 모듈은 멀티캐스트 고속 장애 통보 메시지를 수신한다 고속 장애 통보 메시지는 라우터에게, 고속 장애 통보를 (여기서 설명된 SPT 선정 루트 프로세스에 기초한 양방향 멀티캐스트 트리에 의해 표시된) 다른 인터페이스들에 멀티캐스트하는 것을 포함한 SPT 선정 루트 노드 기반의 멀티캐스트 고속 플러딩 프로세스가 수행되어야 한다는 것을 나타낸다. 플로우는 동작(1810)으로부터 동작(1815)으로 이동한다.
동작(1815)에서, 라우터(예를 들어, 라우터의 FFN 모듈)는 고속 장애 통보 메시지를, (전술된 SPT 선정 루트 프로세스에 기초하여 생성된) 그 데이터 평면 내의 양방향 멀티캐스트 트리에 의해 표시된 다른 라우터들에게 멀티캐스트한다. 양방향 멀티캐스트 트리에 표시된 라우터로부터 다운스트림으로 멀티캐스트 수신기(예를 들어, 또 다른 라우터)가 없다면, 그 라우터는 패킷을 멀티캐스트하지 않다는 점을 이해하여야 한다. 한 실시예에서, 루프 방지 프로세스(예를 들어, RPF 검사)도 역시 수행될 수 있다. 플로우는 동작(1815)으로부터 동작(1820)으로 이동하고, 고속 장애 통보 메시지가 라우팅 프로토콜 모듈에 전송된다. 예를 들어, 라우터의 FFN 모듈은 고속 장애 통보를 추가 처리를 위해 라우터 상의 IGP 모듈에 포워딩한다. 그 다음 플로우는 동작(1825)으로 이동하고, 라우팅 프로토콜 모듈은 네트워크 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다. 동작(1820 및/또는 1825)은, 일부 실시예에서는, 동작(1815)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 (메시지가 멀티캐스트 된다면) 고속 장애 통보 메시지가 멀티캐스트되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 멀티캐스티하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다.
PIM 양방향 멀티캐스트 분포 트리 고속 장애 통보 메시지 플러딩
한 실시예에서, 고속 장애 통보 메시지를 위한 전달 메커니즘은 PIM(Protocol Independent Multicast) 프로토콜 구현을 이용하여 구축되는 양방향 멀티캐스트 분포 트리를 이용한다. 구축되는 양방향 멀티캐스트 분포 트리는 고속 장애 통보 메시지에 대한 전용이다. 특정 실시예에서, 고속 장애 통보 메시지의 고속 플러딩을 위한 양방향 멀티캐스트 트리를 확립하기 위해 양방향 PIM(BIDIR-PIM) 프로토콜이 이용된다. 그러나, 다른 실시예들에서는, 고속 장애 통보 메시지의 고속 플러딩을 위한 멀티캐스트 트리(들)을 구축하기 위해 PIM 프로토콜의 다른 변형들(예를 들어, PIM-ASM(Any-Source Multicast), PIM-SSM(Source-Specific Multicast))이 이용된다.
한 실시예에서, 고속 장애 통보 메시지 플러딩을 위해 전용 멀티캐스트 주소가 정의되고 이용된다. 이 전용 멀티캐스트 주소는 고속 플러딩을 위한 고속 장애 통보 메시지를 식별하는데 이용된다. 네트워크 내의 각 참여 라우터는 BIDIR-PIM 프로토콜 구현을 포함하고, 양방향 멀티캐스트 트리를 생성하여 그 멀티캐스트 트리가 (예를 들어, 하나 이상의 라인 카드 상에 설치된) 라우터의 데이터 평면에 다운로드되게끔 BIDIR-PIM 프로토콜을 구성하고 실행한다. BIDIR-PIM 프로토콜은 양방향 멀티캐스트 트리를 구축할 때 라우팅 프로토콜(예를 들어, IGP 모듈)로부터 유도된 정보를 이용한다. 양방향 멀티캐스트 트리는 고속 장애 통보 메시지를 유포하는데 이용된다. 또한, 각 라우터는 멀티캐스트 그룹에 가입하기 위한 전용 멀티캐스트 주소를 추가한다. 고속 장애 통보 메시지는, 다운로드된 양방향 멀티캐스트 트리를 이용하여 통상의 멀티캐스트 프로토콜을 이용하여 포워딩된다.
도 19는 한 실시예에 따른 PIM 프로토콜을 이용하여 구축된 양방향 멀티캐스트 트리를 이용한 멀티캐스트 고속 장애 통보 메시지를 이용하여 도메인-전역 FFFC를 개시하기 위해 네트워크 장애를 검출하는 라우터에 의해 수행되는 예시적 동작을 나타낸다. 동작(1910)에서, 라우터는 네트워크 장애를 검출한다. 한 실시예에서, 장애를 검출하기 위해 계층-2 링크-이벤트 모니터링 및 시그널링이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 양방향 포워딩 검출(BFD; Bidirectional Forwarding Detection)이 이용된다. 또 다른 실시예에서, 장애를 검출하기 위해 계층-2 링크 이벤트 모니터링 및 시그널링과 BFD의 조합이 이용된다. 그 다음 플로우는 동작(1715)으로 이동한다.
동작(1915)에서, 라우터(예를 들어, 그 라우터 상의 FFN 모듈)는 네트워크 장애에 관한 정보를 포함하는 고속 장애 통보 메시지를 생성한다. 고속 장애 통보 메시지는 수신측 라우터(들) 상에서 고속 플러딩 이벤트로서 처리된다. 고속 장애 통보 메시지는 수신측 라우터(들)에게, 멀티캐스트 고속 플러딩 프로세스가, 고속 장애 통보를 멀티캐스트하는 것을 포함할 수 있는 PIM 프로토콜을 이용하여 구축된 양방향 멀티캐스트 트리를 이용하여 수행되어야 한다는 것을 나타낸다. 한 실시예에서, 고속 장애 통보 메시지는 멀티캐스트 고속 장애 통보에 대해 전용의 멀티캐스트 주소의 목적지 주소를 가진다. 고속 장애 통보 메시지는, 애플리케이션 계층이 네트워크 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 업데이트하는 것과는 독립적으로, (포워딩이 발생한다면) 이들 라우터(들)에 의해 포워딩될 것이다. 따라서, 고속 장애 통보 메시지는, 수신측 라우터(들)에게, 고속 장애 통보 메시지를 라인 속도로 멀티캐스트하고 네트워크 장애를 반영하도록 그들의 라우팅 및/또는 포워딩 테이블을 업데이트할 것을 나타낸다.
플로우는 동작(1915)으로부터 동작(1920)으로 이동하고, 라우터는 멀티캐스트 고속 장애 통보에 대해 전용의 멀티캐스트 그룹 주소에 패킷을 전송한다. 그 다음 플로우는 동작(1925)으로 이동하고 라우터는 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다(예를 들어, IGP 모듈은 그 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다).
동작(1925)은, 일부 실시예에서는, 동작(1915) 및/또는 동작(1920)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 고속 장애 통보 메시지가 생성되어 전송되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 생성하여 전송하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다. 따라서, 고속 장애 통보 메시지를 생성하여 전송하는 것은, 라우팅 및 포워딩 테이블의 업데이트와는 독립적으로 수행된다.
도 20은 한 실시예에 따른 PIM 프로토콜을 이용하여 구축되는 양방향 멀티캐스트 트리를 이용하는 FFFC 애플리케이션에서 멀티캐스트 고속 장애 통보 메시지를 수신하는 라우터에 의해 수행되는 예시적 동작을 나타내는 흐름도이다. 동작(2010)에서, 라우터는 네트워크 장애에 관한 정보를 포함하는 멀티캐스트 고속 장애 통보 메시지를 수신한다. 예를 들어, 그 라우터의 FFN 모듈은 멀티캐스트 고속 장애 통보 메시지를 수신한다. 또한, 고속 장애 통보 메시지는 라우터에게, 고속 장애 통보를 (PIM 프로토콜을 이용하여 구축된 양방향 멀티캐스트 트리에 의해 표시된) 다른 인터페이스들에 멀티캐스트하는 것을 포함할 수 있는 멀티캐스트 고속 플러딩 프로세스가 수행되어야 한다는 것을 나타낸다. 플로우는 동작(2010)으로부터 동작(2015)으로 이동한다.
동작(2015)에서, 라우터(예를 들어, 라우터의 FFN 모듈)는 고속 장애 통보 메시지를, (PIM 프로토콜에 의해 생성된) 그 데이터 평면 내의 양방향 멀티캐스트 트리에 의해 표시된 다른 라우터들에게 멀티캐스트한다. 양방향 멀티캐스트 트리에 표시된 라우터로부터 다운스트림에 멀티캐스트 수신기(예를 들어, 또 다른 라우터)가 없다면, 그 라우터는 패킷을 멀티캐스트하지 않다는 점을 이해하여야 한다. 한 실시예에서, 루프 방지 프로세스(예를 들어, RPF 검사)도 역시 수행될 수 있다. 플로우는 동작(2015)으로부터 동작(2020)으로 이동하고, 고속 장애 통보 메시지가 라우팅 프로토콜 모듈에 전송된다. 예를 들어, 라우터의 FFN 모듈은 고속 장애 통보를 추가 처리를 위해 라우터 상의 IGP 모듈에 포워딩한다. 그 다음 플로우는 동작(2025)으로 이동하고, 라우팅 프로토콜 모듈은 네트워크 장애를 반영하도록 라우팅 및/또는 포워딩 테이블을 적절하게 업데이트한다. 동작(2020 및/또는 2025)은, 일부 실시예에서는, 동작(2015)과 동시에 또는 그 이전에 개시될 수 있지만, 업데이트는 통상 (메시지가 멀티캐스트 된다면) 고속 장애 통보 메시지가 멀티캐스트되기 이후까지 완료되지 않는다는 점을 이해하여야 한다. 라우터는 고속 장애 통보 메시지를 멀티캐스티하기에 앞서 라우팅 테이블 및 포워딩 테이블의 업데이트를 마치기를 기다리지 않는다는 점도 역시 이해하여야 한다.
고속 장애 통보 메시지를 플러딩하기 위한 PIM 기반의 해결책은, 많은 라우터들이 현재 PIM을 실행할 수 있는 능력을 가지고 있어서 기재될 필요가 있는 추가 코드의 양이 상당히 최소한이라는 이점을 가진다. 또한, 고속 장애 통보 메시지를 유포하기 위한 (계층 2 메커니즘인) 브리지 기반의 기술에 비해, PIM 기반의 해결책은 계층 3 메커니즘을 이용하고 계층 3 라우팅/포워딩 애플리케이션들에 대해 더 용이한 것으로 간주될 수 있다. 그러나, PIM 기반의 해결책은 네트워크 내의 트리 상태를 유지하기 위하여 라우터 구성 및 시그널링에서의 오버헤드를 증가시키지 않는다. 또한, PIM 기반의 해결책은 브릿징보다 더욱 복잡하고, 네트워크 장애 취급의 관점에서 덜 탄탄할 수 있다.
고속 장애 통보 메시지 포맷
한 실시예에서, 여기서 설명된 고속 장애 통보 메시지는 IGP와는 독립되고 계층 2 프로토콜 패킷이며 데이터 트랜스포트 계층에 의해 발행되는 메시지 포맷을 이용한다. 전술된 바와 같이, 고속 장애 통보 메시지에 대한 메시지 포맷은 기존의 IGP PDU 패킷 포맷을 이용할 수 있다. 예를 들어, IGP가 OSPF이면, 단절된 인접성(하나 적은 라우터 링크)을 반영하는 OSPF Router-LSA(link state advertisement)가 고속 장애 통보 메시지로서 이용될 수 있고 특별한 수정없이 라우터들에게 고속-플러딩될 수 있다. 기존의 IGP PDU 패킷 포맷을 이용하는 것은, 이 포맷은 이미 존재하고(추가의 데이터 포맷이 필요없음) 자연히 동일한 LSA가 도달할 때 느린 플러딩 내로 통합된다는 이점을 가진다. 그러나, 기존의 IGP PDU 패킷 포맷은, 이 포맷이 IGP 프로토콜마다 상이하고(예를 들어, OSPF에 대한 기존의 IGP PDU 패킷 포맷은 IS-IS의 경우와 상이하다), 메시지 포맷이, 통상 제어 평면에 있는 IGP 모듈에 의해 발생되거나 예비-계산을 요구하며, 여전히 데이터 평면(트랜스포트 계층)의 발송 메커니즘을 요구한다는 단점을 가진다.
여기서 설명된 독립적인 메시지 포맷은, 이 포맷이 IGP와는 독립적이고(따라서, 상이한 IGP 구현에 대해 동일한 메시지 포맷이 이용될 수 있다), 데이터 평면(데이터 트랜스포트 계층)에 의해 발행되며, 트리거링 포인트에 더 가까워서 이벤트별 최단 경로로 이어진다는 이점을 가진다.
독립적인 메시지 포맷은 TLV 기반이다. TLV는, 기저 고속 플러딩 트랜스포트의 요건에 따라, IP 패킷으로 팩킹되거나 팩킹되지 않을 수도 있다. 도 21은 한 실시예에 따른 고속 장애 통보 메시지를 위한 예시적 독립적인 메시지 포맷을 나타낸다. 예시적인 고속 장애 통보 메시지 포맷(2110)은, 메시지가 고속 장애 통보 메시지임을 나타내는 타입 필드(2115), 길이 필드(2120), 및 값이 가변적인 필드들, 즉, 광고 라우팅 ID 필드(2125), 광고 링크 ID 필드(2130), 피어 라우터 ID 필드(2135), 및 피어 링크 ID 필드(2140)를 포함한다. 이들 필드들은, 고속 장애 통보 메시지를 발생하는 라우터와 링크를 식별하고, 장애를 겪고 있는 라우터와 링크를 식별한다. TLV 기반의 독립 메시지 포맷은 향후의 개발과 확장을 허용한다.
독립 메시지 포맷은 고속 장애 통보 메시지의 취급이 IGP 처리와는 독립적으로 되는 것을 허용한다. IGP 독립 포맷을 이용하는 고속 장애 통보 메시지의 수신시에, 라우터는 그 메시지를 여기서 설명된 이벤트 프레임워크 내의 국지적 이벤트로서 취급한다. 한 실시예에서, 버그나 기타의 에러 상태로 인해 또는 서비스 거부 공격에 의해 독립 메시지 포맷을 이용한 고속 장애 통보 메시지가 잘못 플러딩된 경우에 대비하기 위해 타임아웃 기구가 이용된다. 타이머의 만료시에, 라우터는 에러가 단기-존재하고 자체 복구됨을 보장하기 위해 시스템을 롤백할 것이다.
한 실시예에서, 고속 장애 통보 메시지를 위한 독립 메시지는 통상의 통보 메시지를 대체하지 않는다. 따라서, 프로토콜 독립 고속 장애 통보 메시지는 먼저 여기서 설명된 FFFC 아키텍쳐를 통해 포워딩되고, 네트워크 장애를 반영하는 통상의 IGP 플러딩이 후속한다.
프로토콜 독립 메시지 포맷을 이용하는 고속 장애 통보를 수신한 후에, 그 메시지는 처리를 위해 IGP 모듈에 전송될 것이다. 예를 들어, IGP 모듈은 그 라우팅 토폴로지 데이터베이스(예를 들어, 그 LSDB)를 그에 따라 업데이트하고, (구현되어 있다면) 안전 타이머를 취소하며, 업데이트된 데이터베이스에 SPF(shortest path first) 처리를 실행하여 그에 따라 라우팅 및/또는 포워딩 테이블을 업데이트할지를 결정한다. 라우터는 또한, 이용되는 트랜스포트에 따라 고속 장애 통보를 유포할 수 있다.
여기서 설명된 바와 같이, FFFC 아키텍쳐는 네트워크 장애 통보 메시지의 포워딩을 애플리케이션 계층으로부터 분리하여 데이터 트랜스포트 계층으로 이동시킨다. 그 결과, 네트워크 장애 통보 메시지를 포워딩하기 위해 제어 평면과 데이터 평면 상호작용은 요구되지 않아, 네트워크-전역 수렴에 필요한 시간을 줄이고, 네트워크 장애의 이벤트시에 네트워크 다운 시간을 최소화한다.
여기서 설명된 바와 같이, 동작들은, 소정 동작들을 수행하도록 구성되거나 비일시적 컴퓨터 판독가능한 매체로 구현된 메모리에 저장된 소프트웨어 명령어 또는 미리결정된 기능을 갖는 주문형 집적 회로(ASIC)와 같은 하드웨어의 특정 구성을 나타낼 수 있다. 따라서, 도면에 도시된 기술들은, 하나 이상의 전자 장치들(예를 들어, 라우터(들)) 상에 저장되어 실행되는 코드 및 데이터를 이용하여 구현될 수 있다. 이와 같은 전자 장치들은, 비일시적 컴퓨터-판독가능한 스토리지 매체(예를 들어, 자기 디스크; 광 디스크; 랜덤 액세스 메모리; 판독 전용 메모리; 플래시 메모리 장치; 상-변화 메모리)와 비일시적 컴퓨터-판독가능한 통신 매체(예를 들어, 전기적, 광학적, 음향적 또는 반송파, 적외선 신호, 디지털 신호와 같은 기타의 전파되는 신호 형태 등)와 같은 컴퓨터-판독가능한 매체를 이용하여 (내부적으로 및/또는 네트워크를 통해 다른 전자 장치들과) 코드 및 데이터를 저장 및 통신할 수 있다. 또한, 이와 같은 전자 장치들은 전형적으로, 하나 이상의 스토리지 장치(비일시적 컴퓨터-판독가능한 스토리지 매체), 사용자 입력/출력 장치(예를 들어, 키보드, 터치스크린, 및/또는 디스플레이), 및 네트워크 접속과 같은 하나 이상의 다른 컴포넌트들에 결합된 하나 이상의 프로세서 세트를 포함한다. 프로세서 세트와 기타 컴포넌트들의 결합은 전형적으로 하나 이상의 버스 및 브리지(버스 제어기라고도 칭함)를 통해 이루어진다. 따라서, 주어진 전자 장치의 스토리지 장치는 전형적으로 그 전자 장치의 하나 이상의 프로세서 세트 상에서의 실행을 위한 코드 및/또는 데이터를 저장한다. 물론, 본 발명의 실시예의 하나 이상의 부분은 소프트웨어, 펌웨어, 및/또는 하드웨어의 상이한 조합들을 이용하여 구현될 수 있다.
도면들 내의 흐름도는 본 발명의 소정 실시예들에 의해 수행되는 동작들의 특정한 순서를 보여주지만, 이와 같은 순서는 예시적인 것임을 이해하여야 한다(예를 들어, 대안적 실시예들은 상이한 순서로 그 동작들을 수행하거나, 소정 동작들을 결합하거나, 소정 동작들을 중복하는 등을 할 수 있다).
본 발명이 수개의 실시예들의 관점에서 기술되었지만, 당업자라면 본 발명이 기술된 실시예들만으로 제한되지 않으며, 첨부된 청구항의 사상과 범위 내에서 수정 및 변경되어 실시될 수 있다는 것을 인식할 것이다. 따라서, 상기 설명은 제한이 아니라 설명적인 것으로 간주되어야 한다.

Claims (110)

  1. 라우터에서, 네트워크 장애로부터 복구되기 위해 고속 플러딩 기반 고속 수렴(fast flooding based fast convergence)에 참여하기 위한 방법으로서,
    상기 라우터의 인터페이스를 통해, 네트워크 장애를 식별하는 정보를 포함하는 제1 고속 장애 통보 메시지를 수신하는 단계;
    상기 제1 고속 장애 통보 메시지의 소스 MAC(Media Access Control) 주소가 상기 인터페이스와 연관되어 있지 않다는 판정에 응답하여,
    상기 소스 MAC 주소와 인터페이스 쌍을 상기 라우터의 브리지 MAC 테이블에 추가하는 단계와,
    하나 이상의 다른 라우터들로의 트랜스포트를 위해 상기 라우터의 하나 이상의 다른 인터페이스들에 상기 제1 고속 장애 통보 메시지를 플러딩하는 단계와,
    상기 네트워크 장애를 반영하도록 라우팅 테이블을 업데이트하는 단계
    를 수행하는 단계
    를 포함하고,
    상기 제1 고속 장애 통보 메시지를 플러딩하는 단계는, 상기 네트워크 장애를 반영하도록 상기 라우팅 테이블을 업데이트하는 단계의 완료 이전에 수행되는 방법.
  2. 제1항에 있어서,
    상기 라우터의 인터페이스를 통해, 네트워크 장애를 식별하는 정보를 포함하는 제2 고속 장애 통보 메시지를 수신하는 단계; 및
    상기 제2 고속 장애 통보 메시지의 소스 MAC 주소가 상기 인터페이스와 연관되어 있다는 판정에 응답하여, 패킷을 누락(dropping)하는 단계
    를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 제1 고속 장애 통보 메시지는 프로토콜 독립적인 포맷을 갖는 방법.
  4. 제1항에 있어서, 상기 제1 고속 장애 통보 메시지는, 특정 IGP(Interior Gateway Protocol) 라우팅 프로토콜에 특정인 IGP PDU(Protocol Data Unit) 패킷 포맷을 갖는 방법.
  5. 제2항에 있어서, 상기 제1 고속 장애 통보 메시지 및 상기 제2 고속 장애 통보 메시지는, 고속 플러딩 기반 고속 수렴에 대해 예약된 특정 목적지 MAC 주소의 식별을 통해 식별되는 방법.
  6. 네트워크 장애로부터 복구되기 위해 고속 플러딩 기반 고속 수렴에 참여하기 위한 라우터로서,
    라우팅 테이블을 관리하도록 구성된 라우팅 프로토콜 모듈을 포함하는 애플리케이션 계층 엔티티(entity); 및
    데이터 트랜스포트 계층 엔티티
    를 포함하고,
    상기 데이터 트랜스포트 계층 엔티티는,
    상기 라우터를 복수의 다른 라우터와 결합하는 복수의 인터페이스,
    MAC(Media Access Control) 주소들과 인터페이스들의 연관들을 저장하는 브리지 MAC 테이블, 및
    네트워크 장애를 식별하는 정보를 포함하는 제1 고속 장애 통보 메시지를 상기 복수의 인터페이스 중 하나의 인터페이스에서 수신하는 것에 응답하여,
    상기 제1 고속 장애 통보 메시지의 소스 MAC(Media Access Control) 주소가 상기 제1 고속 장애 통보 메시지가 수신된 인터페이스와 연관되어 있다는 판정에 응답하여, 상기 소스 MAC 주소와 인터페이스를 상기 브리지 MAC 테이블에 연관시키는 것, 상기 제1 고속 장애 통보 메시지를 상기 라우터의 상기 복수의 인터페이스 중 하나 이상의 다른 인터페이스들에 플러딩하는 것, 및 상기 제1 고속 장애 통보 메시지를 상기 라우팅 프로토콜 모듈에 전송하여 상기 네트워크 장애를 반영하도록 상기 라우팅 테이블을 업데이트하는 것
    을 수행하도록 구성된 고속 장애 통보(FFN) 모듈
    을 포함하고,
    상기 FFN 모듈은, 상기 라우팅 프로토콜 모듈이 상기 네트워크 장애를 반영하기 위한 상기 라우팅 테이블의 업데이트를 완료하기 이전에, 상기 제1 고속 장애 통보 메시지를 상기 복수의 인터페이스 중 상기 하나 이상의 다른 인터페이스에 플러딩하는 라우터.
  7. 제6항에 있어서, 상기 FFN 모듈은, 네트워크 장애를 식별하는 정보를 포함하는 제2 고속 장애 통보 메시지를 상기 복수의 인터페이스 중 하나의 인터페이스에서 수신하는 것에 응답하여,
    상기 제2 고속 장애 통보 메시지의 소스 MAC 주소가 상기 제2 고속 장애 통보 메시지가 수신된 인터페이스와 연관되어 있다는 판정에 응답하여, 패킷을 누락하는 것을 수행하도록 또한 구성되는 라우터.
  8. 제6항에 있어서, 상기 제1 고속 장애 통보 메시지는 프로토콜 독립적인 포맷을 갖는 라우터.
  9. 제6항에 있어서, 상기 라우팅 프로토콜 모듈은 IGP(Interior Gateway Protocol) 모듈이고, 상기 제1 고속 장애 통보 메시지는 상기 IGP 모듈에 특정인 IGP PDU(Protocol Data Unit) 패킷 포맷을 갖는 라우터.
  10. 제7항에 있어서, 상기 제1 고속 장애 통보 메시지 및 상기 제2 고속 장애 통보 메시지는, 고속 플러딩 기반 고속 수렴에 대해 예약된 특정 목적지 MAC 주소의 식별을 통해 식별되는 라우터.
  11. 라우터에서, 네트워크 장애로부터 복구되기 위해 고속 플러딩 기반 고속 수렴에 참여하기 위한 방법으로서 - 상기 라우터는 네트워크 내의 복수의 라우터 중 하나임 -,
    상기 네트워크 내의 상기 복수의 라우터 중 하나의 라우터를 루트 노드(root node)로 선정하는 단계;
    현재의 네트워크 토폴로지에 기초하여 상기 루트 노드에서 기원하는 최단 경로 우선 트리(shortest path first tree)를 구축하는 단계;
    멀티캐스트 그룹에 가입하는 단계;
    네트워크 장애를 식별하는 정보를 포함하는 제1 고속 장애 통보 메시지를 상기 라우터의 인터페이스를 통해 수신하는 단계 - 상기 제1 고속 장애 통보 메시지는 상기 멀티캐스트 그룹과 연관된 주소에 어드레싱됨 -;
    상기 최단 경로 우선 트리에 따라 상기 제1 고속 장애 통보 메시지를 멀티캐스트하는 단계 - 상기 제1 고속 장애 통보 메시지는 상기 수신하는 인터페이스를 제외한 하나 이상의 인터페이스로 상기 최단 경로 우선 트리를 통해 멀티캐스트됨 -; 및
    상기 네트워크 장애를 반영하도록 상기 라우터의 라우팅 테이블을 업데이트하는 단계
    를 포함하고,
    상기 최단 경로 우선 트리에 따라 상기 제1 고속 장애 통보 메시지를 멀티캐스트하는 단계는, 상기 네트워크 장애를 반영하도록 상기 라우팅 테이블을 업데이트하는 단계의 완료 전에 수행되는 방법.
  12. 제11항에 있어서, 상기 최단 경로 우선 트리를 상기 라우터의 데이터 트랜스포트 계층에 다운로드하는 단계를 더 포함하고,
    상기 최단 경로 우선 트리에 따라 상기 제1 장애 통보 메시지를 멀티캐스트하는 단계는, 상기 라우터의 애플리케이션 계층으로부터의 상호작용 없이 상기 데이터 트랜스포트 계층에서 수행되는 방법.
  13. 제11항에 있어서, 고속 장애 통보 메시지들에 대해 상기 멀티캐스트 그룹과 연관된 주소가 예약되는 방법.
  14. 제11항에 있어서, 상기 제1 고속 장애 통보 메시지는 프로토콜 독립적인 포맷을 갖는 방법.
  15. 제11항에 있어서, 상기 제1 고속 장애 통보 메시지는, 특정 IGP(Interior Gateway Protocol) 라우팅 프로토콜에 특정인 IGP PDU(Protocol Data Unit) 패킷 포맷을 갖는 방법.
  16. 제12항에 있어서, 상기 라우팅 테이블을 업데이트하는 단계는 상기 라우터의 상기 애플리케이션 계층에 의해 수행되는 방법.
  17. 네트워크 장애로부터 복구되기 위해 고속 플러딩 기반 고속 수렴에 참여하기 위한 라우터로서,
    라우팅 테이블을 관리하도록 구성된 라우팅 프로토콜 모듈을 포함하는 애플리케이션 계층 엔티티; 및
    데이터 트랜스포트 계층 엔티티
    를 포함하고,
    상기 데이터 트랜스포트 계층 엔티티는,
    상기 라우터를 복수의 다른 라우터와 결합시키는 복수의 인터페이스,
    상기 복수의 라우터 중 하나의 라우터에서 기원하는 최단 경로 우선 트리,
    네트워크 장애를 식별하는 정보를 포함하는 고속 장애 통보 메시지를 상기 복수의 인터페이스 중 하나의 인터페이스에서 수신하는 것에 응답하여,
    상기 최단 경로 우선 트리에 따라 상기 고속 장애 통보 메시지를 멀티캐스트하는 것 - 상기 고속 장애 통보 메시지는 상기 수신하는 인터페이스를 제외한 하나 이상의 인터페이스로 상기 최단 경로 우선 트리를 통해 멀티캐스트됨 -; 그리고,
    상기 고속 장애 통보 메시지를 상기 라우팅 프로토콜 모듈에 전송하여, 상기 네트워크 장애를 반영하도록 상기 라우팅 테이블을 업데이트하는 것
    을 수행하도록 구성된 고속 장애 통보(FFN) 모듈
    을 포함하고,
    상기 FFN 모듈은, 상기 라우팅 프로토콜 모듈이 상기 네트워크 장애를 반영하기 위한 상기 라우팅 테이블의 업데이트를 완료하기 이전에, 상기 고속 장애 통보 메시지를 멀티캐스트하는 라우터.
  18. 제17항에 있어서, 고속 장애 통보 메시지들에 대해 멀티캐스트 그룹과 연관된 주소가 예약되는 라우터.
  19. 제17항에 있어서, 상기 고속 장애 통보 메시지는 프로토콜 독립적인 포맷을 갖는 라우터.
  20. 제17항에 있어서, 상기 고속 장애 통보 메시지는, 특정 IGP(Interior Gateway Protocol) 라우팅 프로토콜에 특정인 IGP PDU(Protocol Data Unit) 패킷 포맷을 갖는 라우터.
  21. 라우터에서, 네트워크 장애로부터 복구되기 위해 고속 플러딩 기반 고속 수렴에 참여하기 위한 방법으로서,
    PIM(Protocol Independent Multicast) 프로토콜 구현을 이용하여 양방향 멀티캐스트 트리를 구축하는 단계;
    멀티캐스트 그룹에 가입하는 단계;
    네트워크 장애를 식별하는 정보를 포함하는 제1 고속 장애 통보 메시지를 상기 라우터의 인터페이스를 통해 수신하는 단계 - 상기 제1 고속 장애 통보 메시지는 상기 멀티캐스트 그룹과 연관된 주소에 어드레싱됨 -;
    상기 양방향 멀티캐스트 트리에 따라 상기 제1 고속 장애 통보 메시지를 멀티캐스트하는 단계 - 상기 제1 고속 장애 통보 메시지는 상기 수신하는 인터페이스를 제외한 하나 이상의 인터페이스로 상기 양방향 멀티캐스트 트리를 통해 멀티캐스트됨 -; 및
    상기 네트워크 장애를 반영하도록 상기 라우터의 라우팅 테이블을 업데이트하는 단계
    를 포함하고,
    상기 양방향 멀티캐스트 트리에 따라 상기 제1 고속 장애 통보 메시지를 멀티캐스트하는 단계는, 상기 네트워크 장애를 반영하도록 상기 라우팅 테이블을 업데이트하는 단계의 완료 이전에 수행되는 방법.
  22. 제21항에 있어서, 상기 양방향 멀티캐스트 트리를 상기 라우터의 데이터 트랜스포트 계층에 다운로드하는 단계를 더 포함하고,
    상기 양방향 멀티캐스트 트리에 따라 상기 제1 고속 장애 통보 메시지를 멀티캐스트하는 단계는, 상기 라우터의 애플리케이션 계층으로부터의 상호작용 없이 상기 데이터 트랜스포트 계층에서 수행되는 방법.
  23. 제21항에 있어서, 고속 장애 통보 메시지들에 대해 상기 멀티캐스트 그룹과 연관된 주소가 예약되는 방법.
  24. 제21항에 있어서, 상기 제1 고속 장애 통보 메시지는 프로토콜 독립적인 포맷을 갖는 방법.
  25. 제21항에 있어서, 상기 제1 고속 장애 통보 메시지는, 특정 IGP(Interior Gateway Protocol) 라우팅 프로토콜에 특정인 IGP PDU(Protocol Data Unit) 패킷 포맷을 갖는 방법.
  26. 제22항에 있어서, 상기 라우팅 테이블을 업데이트하는 단계는 상기 라우터의 상기 애플리케이션 계층에 의해 수행되는 방법.
  27. 네트워크 장애로부터 복구되기 위해 고속 플러딩 기반 고속 수렴에 참여하기 위한 라우터로서,
    라우팅 테이블을 관리하도록 구성된 라우팅 프로토콜 모듈을 포함하는 애플리케이션 계층 엔티티; 및
    데이터 트랜스포트 계층 엔티티
    를 포함하고,
    상기 데이터 트랜스포트 계층 엔티티는,
    상기 라우터를 복수의 다른 라우터와 결합시키는 복수의 인터페이스,
    PIM(Protocol Independent Multicast) 프로토콜 구현을 이용하여 구축된 양방향 멀티캐스트 트리, 및
    네트워크 장애를 식별하는 정보를 포함하는 고속 장애 통보 메시지를 상기 복수의 인터페이스 중 하나의 인터페이스에서 수신하는 것에 응답하여,
    상기 양방향 멀티캐스트 트리에 따라 상기 고속 장애 통보 메시지를 멀티캐스트하는 것 - 상기 고속 장애 통보 메시지는 상기 수신하는 인터페이스를 제외한 하나 이상의 인터페이스로 상기 양방향 멀티캐스트 트리를 통해 멀티캐스트됨 -, 그리고
    상기 고속 장애 통보 메시지를 상기 라우팅 프로토콜 모듈에 전송하여, 상기 네트워크 장애를 반영하도록 상기 라우팅 테이블을 업데이트하는 것
    을 수행하도록 구성된 고속 장애 통보(FFN) 모듈
    을 포함하고,
    상기 FFN 모듈은, 상기 라우팅 프로토콜 모듈이 상기 네트워크 장애를 반영하기 위한 상기 라우팅 테이블의 업데이트를 완료하기 이전에, 상기 고속 장애 통보 메시지를 멀티캐스트하는 라우터.
  28. 제27항에 있어서, 고속 장애 통보 메시지들에 대해 멀티캐스트 그룹과 연관된 주소가 예약되는 라우터.
  29. 제27항에 있어서, 상기 고속 장애 통보 메시지는 프로토콜 독립적인 포맷을 갖는 라우터.
  30. 제27항에 있어서, 상기 고속 장애 통보 메시지는, 특정 IGP(Interior Gateway Protocol) 라우팅 프로토콜에 특정인 IGP PDU(Protocol Data Unit) 패킷 포맷을 갖는 라우터.
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
  101. 삭제
  102. 삭제
  103. 삭제
  104. 삭제
  105. 삭제
  106. 삭제
  107. 삭제
  108. 삭제
  109. 삭제
  110. 삭제
KR1020137011018A 2010-09-29 2011-09-22 네트워크 장애로부터 복구되기 위한 고속 플러딩 기반 고속 수렴 KR101808890B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US38751110P 2010-09-29 2010-09-29
US61/387,511 2010-09-29
US40642010P 2010-10-25 2010-10-25
US61/406,420 2010-10-25
US201161447669P 2011-02-28 2011-02-28
US61/447,669 2011-02-28
US13/091,081 US8804489B2 (en) 2010-09-29 2011-04-20 Fast flooding based fast convergence to recover from network failures
US13/091,081 2011-04-20
PCT/IB2011/054156 WO2012042440A2 (en) 2010-09-29 2011-09-22 Fast flooding based fast convergence to recover from network failures

Publications (2)

Publication Number Publication Date
KR20140001882A KR20140001882A (ko) 2014-01-07
KR101808890B1 true KR101808890B1 (ko) 2017-12-13

Family

ID=45870559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137011018A KR101808890B1 (ko) 2010-09-29 2011-09-22 네트워크 장애로부터 복구되기 위한 고속 플러딩 기반 고속 수렴

Country Status (6)

Country Link
US (2) US8804489B2 (ko)
EP (1) EP2622803B1 (ko)
JP (1) JP5876493B2 (ko)
KR (1) KR101808890B1 (ko)
CN (1) CN103155485B (ko)
WO (1) WO2012042440A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102047848B1 (ko) * 2019-09-09 2019-11-22 주식회사 씨엔와이더스 IoT 제어 네트워크의 장애 복구 방법 및 그 시스템

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8804489B2 (en) * 2010-09-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Fast flooding based fast convergence to recover from network failures
WO2012114157A1 (en) * 2011-02-25 2012-08-30 Nokia Corporation A method and an apparatus for a gateway
JP2013034139A (ja) * 2011-08-03 2013-02-14 Fujitsu Ltd 通信装置および通信プログラム
US9094329B2 (en) * 2011-10-09 2015-07-28 Cisco Technology, Inc. Avoiding micro-loops in a ring topology of a network
WO2013057158A1 (en) * 2011-10-17 2013-04-25 Telefonaktiebolaget L M Ericsson (Publ) Reconnection in a transmission tree
JP5776617B2 (ja) * 2012-04-16 2015-09-09 日立金属株式会社 シャーシ型スイッチ
US9137141B2 (en) * 2012-06-12 2015-09-15 International Business Machines Corporation Synchronization of load-balancing switches
CN103546381B (zh) 2012-07-12 2017-06-09 华为技术有限公司 基于内部网关协议创建双向组播分发树的方法、装置及系统
US9059901B1 (en) * 2012-09-26 2015-06-16 Juniper Networks, Inc. Methods and apparatus for multicast traffic failover in a network
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US9634940B2 (en) * 2013-01-31 2017-04-25 Mellanox Technologies, Ltd. Adaptive routing using inter-switch notifications
US9537718B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US8898784B1 (en) * 2013-05-29 2014-11-25 The United States of America, as represented by the Director, National Security Agency Device for and method of computer intrusion anticipation, detection, and remediation
JP2014241586A (ja) * 2013-06-21 2014-12-25 利仁 曽根 クラスタ通信方法
US9313121B2 (en) * 2013-06-28 2016-04-12 Ciena Corporation Method and system for traffic engineered MPLS ethernet switch
US9438472B2 (en) * 2013-07-19 2016-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Extended remote LFA fast reroute
US10218524B2 (en) 2013-09-17 2019-02-26 Cisco Technology, Inc. Bit indexed explicit replication for layer 2 networking
US10461946B2 (en) 2013-09-17 2019-10-29 Cisco Technology, Inc. Overlay signaling for bit indexed explicit replication
US9806897B2 (en) 2013-09-17 2017-10-31 Cisco Technology, Inc. Bit indexed explicit replication forwarding optimization
US9544230B2 (en) 2013-09-17 2017-01-10 Cisco Technology, Inc. Migration support for bit indexed explicit replication
US10003494B2 (en) 2013-09-17 2018-06-19 Cisco Technology, Inc. Per-prefix LFA FRR with bit indexed explicit replication
US11451474B2 (en) 2013-09-17 2022-09-20 Cisco Technology, Inc. Equal cost multi-path with bit indexed explicit replication
WO2015042156A1 (en) 2013-09-17 2015-03-26 Cisco Technology, Inc. Bit indexed explicit replication
US9548960B2 (en) 2013-10-06 2017-01-17 Mellanox Technologies Ltd. Simplified packet routing
US9166887B2 (en) * 2013-12-26 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Multicast convergence
CN104796339B (zh) * 2014-01-17 2018-03-20 新华三技术有限公司 快速泛洪处理方法及装置
US9363158B2 (en) * 2014-02-05 2016-06-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reduce size of IPV6 routing tables by using a bypass tunnel
JP2015154287A (ja) * 2014-02-14 2015-08-24 日本電信電話株式会社 通信ネットワークおよびノード
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9300568B2 (en) * 2014-03-21 2016-03-29 Telefonaktiebolaget L M Ericsson (Publ) Procedure to add alternate paths for IS-IS default route
US9407534B2 (en) * 2014-05-27 2016-08-02 Telefonaktiebolaget L M Ericsson (Publ) Enhanced procedure to compute LFAs with IGP max metric
US9729473B2 (en) 2014-06-23 2017-08-08 Mellanox Technologies, Ltd. Network high availability using temporary re-routing
US9806994B2 (en) 2014-06-24 2017-10-31 Mellanox Technologies, Ltd. Routing via multiple paths with efficient traffic distribution
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US9699067B2 (en) 2014-07-22 2017-07-04 Mellanox Technologies, Ltd. Dragonfly plus: communication over bipartite node groups connected by a mesh network
US9729439B2 (en) 2014-09-26 2017-08-08 128 Technology, Inc. Network packet flow controller
US10277506B2 (en) 2014-12-08 2019-04-30 128 Technology, Inc. Stateful load balancing in a stateless network
US10116496B2 (en) * 2015-01-26 2018-10-30 International Business Machines Corporation Method of improving cloud resiliency
US9906378B2 (en) 2015-01-27 2018-02-27 Cisco Technology, Inc. Capability aware routing
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US9736184B2 (en) 2015-03-17 2017-08-15 128 Technology, Inc. Apparatus and method for using certificate data to route data
US9894005B2 (en) 2015-03-31 2018-02-13 Mellanox Technologies, Ltd. Adaptive routing controlled by source node
FR3036239B1 (fr) * 2015-05-13 2018-07-06 Bull Sas Reseau d'equipements interconnectes par des commutateurs integrant des tables de routage
US9729682B2 (en) 2015-05-18 2017-08-08 128 Technology, Inc. Network device and method for processing a session using a packet signature
CN106302351B (zh) 2015-06-03 2019-10-15 华为技术有限公司 收集访问控制列表的方法、装置及系统
US9762485B2 (en) 2015-08-24 2017-09-12 128 Technology, Inc. Network packet flow controller with extended session management
US10673742B2 (en) * 2015-09-10 2020-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Multicast state reduction via tunneling in a routed system
US10164907B2 (en) 2015-11-25 2018-12-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for completing loosely specified MDTs
US9871748B2 (en) 2015-12-09 2018-01-16 128 Technology, Inc. Router with optimized statistical functionality
US9973435B2 (en) 2015-12-16 2018-05-15 Mellanox Technologies Tlv Ltd. Loopback-free adaptive routing
US9954765B2 (en) 2016-01-08 2018-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Graph construction for computed spring multicast
US10819621B2 (en) 2016-02-23 2020-10-27 Mellanox Technologies Tlv Ltd. Unicast forwarding of adaptive-routing notifications
WO2017144947A1 (en) * 2016-02-23 2017-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for spanning trees for computed spring multicast
US9985883B2 (en) 2016-02-26 2018-05-29 128 Technology, Inc. Name-based routing system and method
CN107222450A (zh) * 2016-03-21 2017-09-29 中兴通讯股份有限公司 一种网络节点及实现网络节点间通信的方法和装置
EP3437251B1 (en) 2016-03-28 2021-05-05 Telefonaktiebolaget LM Ericsson (PUBL) Multipoint to multipoint trees for computed spring multicast
US10178029B2 (en) 2016-05-11 2019-01-08 Mellanox Technologies Tlv Ltd. Forwarding of adaptive routing notifications
GB2550220B (en) * 2016-05-12 2022-02-16 Tridonic Gmbh & Co Kg Building technology network device and method for forwarding multi-cast messages in a network comprising lighting devices
US10205651B2 (en) 2016-05-13 2019-02-12 128 Technology, Inc. Apparatus and method of selecting next hops for a session
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US10298616B2 (en) 2016-05-26 2019-05-21 128 Technology, Inc. Apparatus and method of securing network communications
US10091099B2 (en) 2016-05-31 2018-10-02 128 Technology, Inc. Session continuity in the presence of network address translation
US10841206B2 (en) 2016-05-31 2020-11-17 128 Technology, Inc. Flow modification including shared context
US9832072B1 (en) 2016-05-31 2017-11-28 128 Technology, Inc. Self-configuring computer network router
US10200264B2 (en) 2016-05-31 2019-02-05 128 Technology, Inc. Link status monitoring based on packet loss detection
US10257061B2 (en) 2016-05-31 2019-04-09 128 Technology, Inc. Detecting source network address translation in a communication system
US11075836B2 (en) 2016-05-31 2021-07-27 128 Technology, Inc. Reverse forwarding information base enforcement
US10009282B2 (en) 2016-06-06 2018-06-26 128 Technology, Inc. Self-protecting computer network router with queue resource manager
US10771380B2 (en) * 2016-07-25 2020-09-08 Telefonaktiebolaget Lm Ericsson (Publ) Fast control path and data path convergence in layer 2 overlay networks
US11032197B2 (en) 2016-09-15 2021-06-08 Cisco Technology, Inc. Reroute detection in segment routing data plane
US10630743B2 (en) 2016-09-23 2020-04-21 Cisco Technology, Inc. Unicast media replication fabric using bit indexed explicit replication
US9985872B2 (en) 2016-10-03 2018-05-29 128 Technology, Inc. Router with bilateral TCP session monitoring
US10637675B2 (en) 2016-11-09 2020-04-28 Cisco Technology, Inc. Area-specific broadcasting using bit indexed explicit replication
CN108616367B (zh) * 2016-12-12 2021-01-05 华为技术有限公司 故障定位方法和网络设备
US10200294B2 (en) 2016-12-22 2019-02-05 Mellanox Technologies Tlv Ltd. Adaptive routing based on flow-control credits
US10425511B2 (en) 2017-01-30 2019-09-24 128 Technology, Inc. Method and apparatus for managing routing disruptions in a computer network
EP3593498B1 (en) 2017-03-07 2023-05-03 128 Technology, Inc. Router device using flow duplication
US10447496B2 (en) 2017-03-30 2019-10-15 Cisco Technology, Inc. Multicast traffic steering using tree identity in bit indexed explicit replication (BIER)
US10164794B2 (en) 2017-04-28 2018-12-25 Cisco Technology, Inc. Bridging of non-capable subnetworks in bit indexed explicit replication
US10432519B2 (en) 2017-05-26 2019-10-01 128 Technology, Inc. Packet redirecting router
US11165863B1 (en) 2017-08-04 2021-11-02 128 Technology, Inc. Network neighborhoods for establishing communication relationships between communication interfaces in an administrative domain
US10644995B2 (en) 2018-02-14 2020-05-05 Mellanox Technologies Tlv Ltd. Adaptive routing in a box
US20190253341A1 (en) 2018-02-15 2019-08-15 128 Technology, Inc. Service Related Routing Method and Apparatus
CN108449276B (zh) * 2018-03-23 2021-01-26 新华三技术有限公司 路由收敛方法及装置
US10904136B2 (en) 2018-08-06 2021-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Multicast distribution tree versioning for minimizing multicast group traffic disruption
CN110838948B (zh) * 2018-08-15 2022-02-22 迈普通信技术股份有限公司 测试mac地址学习速率的方法、测试系统
US11477289B2 (en) * 2018-10-09 2022-10-18 Nokia Solutions And Networks Oy Supporting a routing protocol with a transport layer protocol
US11005724B1 (en) 2019-01-06 2021-05-11 Mellanox Technologies, Ltd. Network topology having minimal number of long connections among groups of network elements
JP7402613B2 (ja) * 2019-03-27 2023-12-21 キヤノン株式会社 情報処理装置、通信制御方法とプログラム
US11050679B1 (en) * 2019-06-28 2021-06-29 Juniper Networks, Inc. Defining non-forwarding adjacencies in bipartite networks, such as Clos newtorks, having a level 2 backbone and level 1 nodes
US11140074B2 (en) 2019-09-24 2021-10-05 Cisco Technology, Inc. Communicating packets across multi-domain networks using compact forwarding instructions
CN110650141B (zh) * 2019-09-25 2021-08-17 中国民航大学 一种链路洪泛攻击的sdn分段路由防御方法
US11405304B2 (en) * 2019-09-30 2022-08-02 Hewlett Packard Enterprise Development Lp Route updating using a BFD protocol
US11356356B2 (en) * 2019-10-22 2022-06-07 Ciena Corporation Permitted network risks in diverse route determinations
EP4140106A1 (en) 2020-04-23 2023-03-01 Juniper Networks, Inc. Session monitoring using metrics of session establishment
US11777844B2 (en) * 2020-07-03 2023-10-03 Huawei Technologies Co., Ltd. Distributing information in communication networks
US11575594B2 (en) 2020-09-10 2023-02-07 Mellanox Technologies, Ltd. Deadlock-free rerouting for resolving local link failures using detour paths
CN114430387B (zh) * 2020-10-15 2023-05-09 华为技术有限公司 一种节点的配置方法、控制器和节点
US11411911B2 (en) 2020-10-26 2022-08-09 Mellanox Technologies, Ltd. Routing across multiple subnetworks using address mapping
US11757753B2 (en) * 2021-02-25 2023-09-12 Huawei Technologies Co., Ltd. Link state steering
US11552882B2 (en) * 2021-03-25 2023-01-10 Mellanox Technologies, Ltd. Efficient propagation of fault routing notifications
CN113422735B (zh) * 2021-06-22 2022-08-05 恒安嘉新(北京)科技股份公司 负载均衡配置方法、汇聚分流器及介质
US11870682B2 (en) 2021-06-22 2024-01-09 Mellanox Technologies, Ltd. Deadlock-free local rerouting for handling multiple local link failures in hierarchical network topologies
CN113794633B (zh) * 2021-11-17 2022-02-01 鹏城实验室 一种零丢包的重路由方法及路由系统
US11765103B2 (en) 2021-12-01 2023-09-19 Mellanox Technologies, Ltd. Large-scale network with high port utilization
US11736385B1 (en) * 2022-08-17 2023-08-22 Juniper Networks, Inc. Distributed flooding technique

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020167900A1 (en) 2001-05-14 2002-11-14 Mark Barry Ding Ken Packet network providing fast distribution of node related information and a method therefor
US6928483B1 (en) 1999-12-10 2005-08-09 Nortel Networks Limited Fast path forwarding of link state advertisements
US20060291391A1 (en) 2005-06-27 2006-12-28 Jean-Philippe Vasseur System and method for dynamically responding to event-based traffic redirection
US20080062862A1 (en) 2006-09-08 2008-03-13 The Uwm Research Foundation, Inc. System and method for scheduling routing table calculation in link state routing protocols
US7702810B1 (en) 2003-02-03 2010-04-20 Juniper Networks, Inc. Detecting a label-switched path outage using adjacency information

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415312B1 (en) * 1999-01-29 2002-07-02 International Business Machines Corporation Reliable multicast for small groups
US6606325B1 (en) * 1999-12-10 2003-08-12 Nortel Networks Limited Fast path forwarding of link state advertisements using multicast addressing
US6871235B1 (en) 1999-12-10 2005-03-22 Nortel Networks Limited Fast path forwarding of link state advertisements using reverse path forwarding
US6650626B1 (en) 1999-12-10 2003-11-18 Nortel Networks Limited Fast path forwarding of link state advertisements using a minimum spanning tree
US6563830B1 (en) * 2000-03-28 2003-05-13 3Com Corporation Multicast registration of all multicast flows in an asynchronous transfer mode based emulated LAN
US7310335B1 (en) * 2000-09-06 2007-12-18 Nokia Networks Multicast routing in ad-hoc networks
US6898187B2 (en) * 2000-11-30 2005-05-24 Sun Microsystems, Inc. Automatic selection of unique node identifiers in a distributed routing environment
US7860024B1 (en) 2001-05-21 2010-12-28 At&T Intellectual Property Ii, L.P. Network monitoring method and system
US6917977B2 (en) * 2001-11-07 2005-07-12 Motorola, Inc. Method and system of automatic allocation of unique subnet identifier to a subnet in the network having multiple subnets and a plurality of associated routers and router interfaces
US7339897B2 (en) 2002-02-22 2008-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Cross-layer integrated collision free path routing
US7688833B2 (en) * 2002-08-30 2010-03-30 Nortel Networks Limited Synchronous transmission network node
US7281058B1 (en) * 2002-10-09 2007-10-09 Juniper Networks, Inc. Delivering and receiving multicast content across a unicast network
US20040122976A1 (en) * 2002-10-24 2004-06-24 Ashutosh Dutta Integrated mobility management
EP1422968B1 (en) * 2002-11-19 2010-01-13 Alcatel Lucent Failure localization in a transmission network
US7388869B2 (en) * 2002-11-19 2008-06-17 Hughes Network Systems, Llc System and method for routing among private addressing domains
US7769885B1 (en) * 2003-05-23 2010-08-03 Juniper Networks, Inc. Determining liveness of protocols and interfaces
JP4415773B2 (ja) * 2004-06-30 2010-02-17 株式会社日立製作所 仮想ルータ対応マルチキャストパケット中継装置
US7719958B1 (en) * 2004-09-29 2010-05-18 Avaya, Inc. Method and apparatus for enabling multicast over split multilink trunking
US7839765B2 (en) * 2004-10-05 2010-11-23 Hewlett-Packard Development Company, L.P. Advertising port state changes in a network
US7940765B2 (en) * 2004-11-14 2011-05-10 Cisco Technology, Inc. Limiting unauthorized sources in a multicast distribution tree
JP4881564B2 (ja) * 2005-02-04 2012-02-22 株式会社日立製作所 データ転送装置、マルチキャストシステム、およびプログラム
US8467297B2 (en) * 2005-03-10 2013-06-18 Thomson Licensing Hybrid mesh routing protocol
CN100389571C (zh) 2005-03-25 2008-05-21 华为技术有限公司 检测混合网络中端到端节点间链路故障的方法
US7586841B2 (en) * 2005-05-31 2009-09-08 Cisco Technology, Inc. System and method for protecting against failure of a TE-LSP tail-end node
US7848224B2 (en) * 2005-07-05 2010-12-07 Cisco Technology, Inc. Method and apparatus for constructing a repair path for multicast data
US7843845B2 (en) * 2005-11-28 2010-11-30 Alcatel Lucent Diagnostic tool and method for troubleshooting multicast connectivity flow problem(s) in a layer 2 aggregation network
US20070127395A1 (en) * 2005-12-07 2007-06-07 Cisco Technology, Inc. Preventing transient loops in broadcast/multicast trees during distribution of link state information
US7633882B2 (en) * 2006-02-02 2009-12-15 Eaton Corporation Ad-hoc network and method employing globally optimized routes for packets
JP5103892B2 (ja) * 2006-05-26 2012-12-19 富士通株式会社 先着学習方法、中継装置および中継装置用プログラム
JP4948039B2 (ja) * 2006-05-30 2012-06-06 アラクサラネットワークス株式会社 スイッチおよびネットワークの障害回復方法
US8208372B2 (en) * 2006-06-02 2012-06-26 Cisco Technology, Inc. Technique for fast activation of a secondary head-end node TE-LSP upon failure of a primary head-end node TE-LSP
US7609672B2 (en) * 2006-08-29 2009-10-27 Cisco Technology, Inc. Method and apparatus for automatic sub-division of areas that flood routing information
US9071666B2 (en) * 2007-04-26 2015-06-30 Alcatel Lucent Edge router and method for dynamic learning of an end device MAC address
US8472325B2 (en) * 2007-05-10 2013-06-25 Futurewei Technologies, Inc. Network availability enhancement technique for packet transport networks
US8488444B2 (en) * 2007-07-03 2013-07-16 Cisco Technology, Inc. Fast remote failure notification
CN101459549B (zh) * 2007-12-14 2011-09-21 华为技术有限公司 链路故障处理方法及数据转发装置
US7668971B2 (en) * 2008-01-11 2010-02-23 Cisco Technology, Inc. Dynamic path computation element load balancing with backup path computation elements
US7903554B1 (en) * 2008-04-04 2011-03-08 Force 10 Networks, Inc. Leaking component link traffic engineering information
US20090252033A1 (en) * 2008-04-08 2009-10-08 At&T Knowledge Ventures, L.P. System and method of distributing media content
US8538981B2 (en) * 2008-11-20 2013-09-17 Sap Ag Stream sharing for event data within an enterprise network
GB2466225B (en) * 2008-12-15 2013-10-02 King S College London Inter-access network handover
JP5398436B2 (ja) * 2009-09-09 2014-01-29 三菱電機株式会社 ブリッジ、ネットワークシステムおよび経路切り替え方法
US8089866B2 (en) * 2009-10-16 2012-01-03 Ciena Corporation Spanning tree flooding backbone systems and methods for link state routed networks
US8411701B2 (en) * 2010-04-09 2013-04-02 Telefonaktiebolaget L M Ericsson (Publ) Inter-working of EFM-OAM and CFM-OAM for mobile backhaul networks
US8422364B2 (en) * 2010-05-17 2013-04-16 Cisco Technology, Inc. Multicast label distribution protocol node protection
US20130089094A1 (en) * 2010-07-01 2013-04-11 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for Dissemination of Information Between Routers
US8804489B2 (en) * 2010-09-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Fast flooding based fast convergence to recover from network failures
US8630162B2 (en) * 2010-09-29 2014-01-14 Telefonaktiebolaget L M Ericsson (Publ) Fast flooding based fast convergence architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928483B1 (en) 1999-12-10 2005-08-09 Nortel Networks Limited Fast path forwarding of link state advertisements
US20020167900A1 (en) 2001-05-14 2002-11-14 Mark Barry Ding Ken Packet network providing fast distribution of node related information and a method therefor
US7702810B1 (en) 2003-02-03 2010-04-20 Juniper Networks, Inc. Detecting a label-switched path outage using adjacency information
US20060291391A1 (en) 2005-06-27 2006-12-28 Jean-Philippe Vasseur System and method for dynamically responding to event-based traffic redirection
US20080062862A1 (en) 2006-09-08 2008-03-13 The Uwm Research Foundation, Inc. System and method for scheduling routing table calculation in link state routing protocols

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102047848B1 (ko) * 2019-09-09 2019-11-22 주식회사 씨엔와이더스 IoT 제어 네트워크의 장애 복구 방법 및 그 시스템

Also Published As

Publication number Publication date
EP2622803A2 (en) 2013-08-07
KR20140001882A (ko) 2014-01-07
WO2012042440A2 (en) 2012-04-05
JP2013542662A (ja) 2013-11-21
CN103155485A (zh) 2013-06-12
US8804489B2 (en) 2014-08-12
US9614721B2 (en) 2017-04-04
US20120075988A1 (en) 2012-03-29
CN103155485B (zh) 2016-08-03
EP2622803B1 (en) 2017-01-11
JP5876493B2 (ja) 2016-03-02
WO2012042440A3 (en) 2012-05-31
US20140313880A1 (en) 2014-10-23

Similar Documents

Publication Publication Date Title
KR101808890B1 (ko) 네트워크 장애로부터 복구되기 위한 고속 플러딩 기반 고속 수렴
US10594512B2 (en) Access network dual path connectivity
JP5899305B2 (ja) ネットワークノードを動作させる技術
US7656792B2 (en) Method and apparatus for computing alternate multicast/broadcast paths in a routed network
US7848224B2 (en) Method and apparatus for constructing a repair path for multicast data
KR102153019B1 (ko) 업스트림 활성화 패킷들에 의한 pim 고속 리라우팅에 대한 향상
US9722916B2 (en) Data-plane driven fast protection mechanism for MPLS pseudowire services
JP6165850B2 (ja) ダウンストリーム通知パケットを用いたプロトコル独立マルチキャスト(pim)高速再ルーティング方法論の強化
US9197547B2 (en) Increasing failure coverage of MoFRR with dataplane notifications
US8630162B2 (en) Fast flooding based fast convergence architecture
JP5168230B2 (ja) 通信システム、エッジルータ及び信号転送方法
JP2013542662A5 (ko)
WO2008119290A1 (fr) Procédé de protection par redondance du flux de diffusion multiple, et dispositif correspondant
JP2008236212A (ja) Vpn装置
US20170005921A1 (en) Technique for network service availability
WO2008132203A2 (en) Recovering from a failure in a communications network
CN107995111B (zh) 业务转发、链路变化通告方法、汇聚设备及接入设备
WO2014101124A1 (zh) 传输组播业务的系统、装置和方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant