KR101593349B1 - 완전한 보호를 제공하는 ip 고속 리라우트 방식 - Google Patents

완전한 보호를 제공하는 ip 고속 리라우트 방식 Download PDF

Info

Publication number
KR101593349B1
KR101593349B1 KR1020147011710A KR20147011710A KR101593349B1 KR 101593349 B1 KR101593349 B1 KR 101593349B1 KR 1020147011710 A KR1020147011710 A KR 1020147011710A KR 20147011710 A KR20147011710 A KR 20147011710A KR 101593349 B1 KR101593349 B1 KR 101593349B1
Authority
KR
South Korea
Prior art keywords
node
network
pointer
next hop
destination
Prior art date
Application number
KR1020147011710A
Other languages
English (en)
Other versions
KR20140072900A (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 KR20140072900A publication Critical patent/KR20140072900A/ko
Application granted granted Critical
Publication of KR101593349B1 publication Critical patent/KR101593349B1/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/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate 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/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/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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/48Routing tree calculation

Abstract

메시지 패킷과 연관되는 어드레스 검색들의 수를 줄이기 위하여 완전한 보호를 제공하는 IP 고속 리라우트 방식이 제공된다. 완전한 보호를 제공하는 IP 고속 리라우트 방식은 전송 정보 메모리 저장소에 저장되는 전송 정보 테이블 내의 목적지 노드와 연관되는 제 1 포인터 및 제 2 포인터 중 하나에 따라 도착하는 패킷을 다음 홉 이웃 노드로 전송하도록 구성되는 라우터를 포함하고; 제 1 포인터는 네트워크 노드로부터 목적지 노드의 최단 거리 상에 있는 제 1 다음 홉 이웃 노드로 지향되고; 제 2 포인터는 제 1 다음 홉 이웃 노드와 상이한 제 2 다음 홉 이웃 노드로 지향되고, 제 2 다음 홉 이웃 노드는 네트워크 노드 및 목적지 노드를 포함하고 목적지 노드에 착근되는 싱크 트리와 최대로 중첩하는 후보 사이클 상에 있다. 완전한 보호를 제공하는 IP 고속 리라우트 방식은 어떠한 패킷 수정도 요구하지 않는 단일 방법으로 단일 링크 및 노드 고장들에 대한 완전한 보호를 제공하는 데 특히 유용하다.

Description

완전한 보호를 제공하는 IP 고속 리라우트 방식{AN IP FAST REROUTE SCHEME OFFERING FULL PROTECTION}
관련 출원들
본 출원은 2011년 11월 1일에 제출된 미국 가출원 제61/554,341호를 참조로서 통합하고 이 특허 출원에 대한 우선권을 주장한다.
기술분야
본 발명은 전반적으로 네트워크 내에서의 고장(failure)의 경우의 패킷 리라우팅(packet rerouting)에 관한 것으로 특히 네트워크의 완전한 보호 커버리지(coverage)를 제공하면서 컨버전스 시간(convergence time)을 감소시키는 패킷 리라우팅의 방법에 관한 것이다.
현대의 IP(Internet Protocol) 네트워크들은 비디오 화상회의 및 양방향성 멀티플레이어 게임들과 같은 수많은 시간-민감성 애플리케이션(application)들의 트래픽 데이터를 반송한다. 결과적으로, 네트워크는 매우 높은 레벨의 서비스 품질(service quality; QoS) 및 가용성을 제공할 필요가 있다. 이 경우에, 서비스 공급자의 네트워크들이 상술한 점들에서 만족스럽게 수행하는 것을 보장하도록 서비스 공급자가 상당한 노력을 하는 것은 놀라운 일이 아니다. 그럼에도 불구하고, 스케줄링된 유지보수 절차뿐만 아니라 예기치 않은 구성요소 고장들로 인해 결과적으로 네트워크 성능이 저하되는 기간들이 발생한다.
이러한 네트워크 성능이 저하되는 기간들 중 하나는 컨버전스 기간(convergence period)들로 칭해지는데, 왜냐하면 이 컨버전스 기간은 토폴로지(topology) 변화가 발생한 후에 네트워크의 내부 게이트웨이 프로토콜(Interior Gateway Protocol; IGP), 예를 들어, 개방형 최단 경로 우선 프로토콜(Open Shortest Path Firs OSPF)이 수렴하는데 필요로 하는 시간에 대응하기 때문이다. 더 구체적으로, 각각의 그러한 기간 내에서 모든 라우터는 토폴로지 변화에 대한 정보가 네트워크를 통해 전파될 때 자체의 전송 정보 베이스(forwarding information base; FIB) 테이블들을 독자적으로 갱신한다. 결과적으로, 상이한 라우터들의 전송 테이블들은 일시적으로 서로 일치되지 않을 수 있고, 이는 트래픽이 전송 루프들 내에서 붙잡히고/붙잡히거나 폐기되는 결과를 초래하게 된다.
컨버전스 기간들은 전형적으로 수백 밀리초 또는 심지어는 수초 동안 지속된다. 불행히도, 그와 같은 긴 복구 시간(recovery time)은 대부분의 실시간 애플리케이션들에서는 허용될 수 없다. 대조적으로, SONET/SDH 및 MPLS 네트워크들의 복구 시간과 같은, 50 밀리초 이하의 복구 시간은 고객들이 어떠한 역효과들도 거의 알아 차리지 못하는 것을 보장하는 데 바람직할 것이다.
관련된 주제로서, 서비스 제공자들에게 에너지 효율이 최근에 중요한 관심사가 되어 왔다. 에너지 소비를 줄이는 하나의 인기있는 기술은 전류 트래픽 수요를 만족시키기 위해 예를 들어 불필요한 링크들 및 라우터들을 일시적으로 꺼줌으로써 네트워크를 동적으로 크기 조정(dimensioning)하는 것을 포함한다. 그러나, 임의의 다른 토폴로지 변화와 같이, 이 동작들은 네트워크 성능에 부정적인 영향을 미칠 가능성이 있고 상당히 자주 발생할 수 있다. 그러므로, 그와 같은 사건들로부터 낮은 복구 시간을 달성하는 것이 훨씬 더 큰 중요성을 얻는데, 왜냐하면 이 낮은 복구 시간이 없으면 상술한 에너지 절약 조치들이 널리 채택될 가능성이 없기 때문이다.
관련 작업
심지어 토폴로지 변화가 있을 때조차도 IP 네트워크에 대한 고 레벨의 QoS 및 가용성을 유지해야 할 필요가 있으므로 컨버전스 기간들 동안 네트워크 서비스 중단을 최소화하는 방법이 요구된다. MPLS 네트워크들에서, 이는 고속 리라우트(Fast Reroute; FRR)에 의해 달성된다. 즉, 각각의 잠재적인 구성요소 고장 별로, 이를 우회하는 전용 우회 경로들이 제공된다. 그러한 고장이 실제로 발생하면, 트래픽은 자동적으로 적절한 우회 경로로 방향 전환된다. 그러므로, MPLS-FRR은 무시할 수 있을 정도의 패킷 손실들로 50ms 고장 복구 시간을 효과적으로 보장한다.
IP 네트워크들에 대한 유사한 해법은 IP 고속 리라우트(IP FRR)로 칭해진다. IP FRR에서, 고장이 난 구성요소를 통해 송신될 수 없는 패킷은 대체 라우터로 편향되고, 이 대체 라우터가 결과적으로 패킷을 패킷의 목적지로 전송한다. 그러나, 우회 경로가 전용 MPLS 터널로서 제공되는 MPLS-FRR과는 달리, IP 네트워크에서는 각각의 라우터가 독자적인 로컬 라우팅(local routing) 결정들을 행한다. 이 목적지 기반 전송 패러다임은 후술되는 바와 같이, FRR의 구현에 심각한 문제들을 야기한다.
고장이 발생하여 검출된 직후에는, 단지 인접한 라우터들만이 이를 인지한다; 이 라우터들은 로컬 수리 라우터(local repair router; LRR)들로 칭해진다. 그러므로, LRR에 의해 비-LRR 대체 다음 홉(next hop)들로 편향되었던 패킷은 직접적으로 또는 간접적으로, 동일한 LRR로 역으로 라우팅되고, 따라서 전송 루프에 진입할 수 있다. 동일 비용 다중 경로(Equal Cost Multiple Path; ECMP) 및 루프-프리 대체(loop-free alternate; LFA) 방식들과 같은 여러 IP FRR 제안들은 패킷들이 단지 루프-프리 전달을 보장하는 특정한 단순한 속성들을 만족시키는 대체 이웃들에게만 전송되어야만 한다고 정의함으로써 이 문제를 방지한다. 예를 들어, 노드(107)의 고장 이후에 도 1a에 도시된 네트워크를 고려하자. LFA 방식으로 노드(105)는 110으로 향하는 트래픽을 루프-프리 대체를 이루는 노드(109)로 편향시킴으로써 이 고장으로부터 복구될 수 있다.
소위 U-턴(U-turn) 방식인 다른 방식은 LRR이 패킷들을 업스트림의 이웃들로 되돌아가게 하여 후속해서 이 업스트림의 이웃이 패킷들을 루프-프리 대체인 자신의 이웃들 중 하나로 전송하는 것을 가능하게 함으로써 LFA를 확장한다. 결과적으로, 도 1a에서의 네트워크의 링크(107 내지 108)가 고장이 난 경우에, 노드(107)는 110로 향하는 패킷들을 노드(105)로 송신할 수 있고, 후자는 패킷들을 노드(109)로 전송함으로써 고장을 우회한다.
상기 방식들은 구현하기 쉬우나 반면에 이 방식들은 모든 잠재적인 고장에 대한 루프-프리 복구를 보장하지 않는다. 이는 LLR이 상기 방식에 의해 정의되는 속성들을 만족시키는 이웃들을 가지지 않을 때 발생하고, 이 문제는 낮은 평균 노드 도(node degree)를 가지는 네트워크들에서 특히 흔한 경향이 있다. 평가 연구들은 LFA가 ECMP보다 더 많은 고장들에 대해 보호하고, U-턴이 LFA보다 더 많은 고장들에 대해 보호하는 것을 밝혔으나, 이들 연구들은 또한 심지어 U-턴이라도 전형적으로 모든 가능한 링크 고장들의 약 90%만을 그리고 노드 고장들의 75% 미만을 보호한다는 것을 밝혔다. 예를 들어, 도 1a에서의 네트워크의 노드(108)가 고장이 난 경우, 상기 방식들 중 어느 것도 패킷을 LRR(107)로부터 목적지(110)로 성공적으로 라우팅할 수 없으나, 도 1b는 이중 화살표들로 표시되는 바와 같이 여전히 이용 가능한 107로부터 110으로의 경로가 존재하는 것을 도시한다.
다른 IP FRR 방식들은 터널들을 이용하거나, 고장이 난 구성요소들의 목록을 IP 헤더에 추가하거나 또는 비-경유(not-via) 어드레스들로 칭해지는 금지 어드레스들을 명시하는 것과 같이, 우회로 상에서 패킷들을 표기하기 위해 다양한 기술들을 사용한다. SafeGuard와 같은 일부 방식들은 고장이 난 구성요소를 암시적으로 식별하기 위해 IP 헤더의 수정들을 지지한다. 더욱이, 2009년 IEEE INFOCOM의 회보; "IP fast reroute: Lightweight not-via without additional addresses" 페이지 2771 내지 2775에 G. Enyedi, P. Szilagyi, G Retvari, and A Csaszar에 의해 기술된 방식은 각 목적지 별로 대체 라우팅 트리(tree)들을 미리 계산하고 IP 헤더의 일부 비트들을 사용하여 원하는 전송 경로들을 식별한다. 이 해법들이 대부분의 가능한 고장들에 대해 빠른 복구를 지원할지라도, 이 해법들은 중대한 단점들로 인해 손상된다; 방향 전환되는 패킷들은 단지 라우터 저속 경로에서만 일어날 수 있는 추가 프로세싱을 거쳐야만 하고, 일부 경우들에서 추가 임베딩된 정보로 인해 패킷들이 MTU 크기를 초과하게 되는 경우, 이 패킷들은 분절되어야만 할 것이다.
게다가, 2007년 IEEE/ACM Transactions on Networking, 15(2):359 내지 372에서의 S. Nelakuditi, S. Lee, Y. Yu, Z.-L. Zhang 및 C.-N. Chuah의 "Fast local rerouting for handling transient link failures"는 패킷의 인입 인터페이스에 기초하여 라우터들이 네트워크 내에 고장이 있는지를 추론할 수 있는 인터페이스 특정 전송 방식을 도입하였다. 그리고 나서, 패킷의 인입 인터페이스뿐만 아니라 패킷의 목적지 이 둘 모두를 고려함으로써 패킷들의 다음 홉이 결정된다. 이 저자들은 상기 방식이 임의의 구성요소 고장에 대한 루프-프리 우회로들을 제공함을 밝히고 있지만 이의 달성에는 라우터 인터페이스 별로 전용 전송 테이블을 유지하는 복잡함이 있고 비용이 상당히 든다.
단순한 IP FRR 해법의 명백한 부재가 동기가 되어 대안의 라우팅 패러다임들에 대한 다수의 제안들이 있었고, 이 제안들은 전형적으로 네트워크들의 경로 다양성(path diversity)을 활용한다. 하나의 그와 같은 방법은 각각의 링크 및 노드가 적어도 하나의 백업 토폴로지에서 격리되도록 백업 라우팅 토폴로지들(구성들로 칭해짐)을 구축하는 다중 라우팅 구성(Mutiple Routing Configuration; MRC) 메커니즘이다. 고장 이후에, 패킷들은 고장이 난 구성요소가 격리되는 어떤 구성을 따라 라우팅된다. MCR이 고속 복구 문제를 해결할 수 있을지라도, 이는 각각의 구성요소를 격리하는 구성들을 설계하고 라우팅을 위해 적절한 구성을 선택하는 것과 같은 구현 문제들에 직면한다. 다른 연구들은 각각의 소정의 목적지에 대한 미리 계산된 방향성 비사이클 그래프(directed acyclic graph; DAG)를 따라 패킷들을 라우팅함으로써 경로 다양성을 활용한다. 이 라우팅 패러다임에서, 패킷들이 반드시 가장 짧은 경로를 따라 라우팅되는 것은 아님에도, DAG가 모든 가능한 고장에 대한 보호를 제공하는 것을 보장하지 않는다. 마지막으로 그러나 역시 주요한 것으로서, 2011년 IEEE INFOCOM의 회보의 "IP fast reroute; Loopfree alternates revisited"에서의 G. Retvari, J. Tapolcai, G. Enyedi, 및 A. Csaszar는 LFA 방식이 모든 가능한 고장들에 대한 복구를 제공할 수 있는 것을 보장하기 위해 추가 링크들로 네트워크들을 증가시키는 것을 제안한다.
그러므로, 네트워크 컨버전스 시간 동안 패킷들이 본 기술의 결점들 및 복잡성을 최소화하는 최단 경로를 따라, 또는 자신들의 최단 경로들을 따르는 링크들/라우터들 중 하나가 고장이 난 경우 대체 경로를 통해 자신들의 목적지들에 도달하는 것을 보장할 수 있는 방법 및 장치를 가지는 것이 바람직할 것이다.
본 발명의 목적은 상술한 문제를 해결하는 것이다.
본 발명의 목적은 네트워크 컨버전스 시간 동안 패킷들이 가장 짧은 경로를 따르거나 또는 네트워크에 대한 대체 경로를 통해 자신들의 목적지들에 도달하는 것을 보장하는 패킷 분류의 방법 및 장치를 제공하는 것이다.
상기 섹션에서 언급된 모든 해법들은 모든 잠재적인 고장들에 대해 보호할 수 없거나 구현하기 어렵거나, 아니면 이 둘 모두이다. 본원에서, 디스조인트 경로 복구(disjoint paths recovery; DisPath)로 칭해지며, 다음의 유용한 속성들을 가지는 신규하고, 간단하며 효율적인 IP FRR 방식이 개시된다:
1) DisPath는 종래의 목적지-기반 IP 라우팅 패러다임을 보전하고, 안정된 네트워크에서 패킷들이 최단 경로들을 따라 자신들의 목적지들로 전송된다.
2) 패킷들은 임의의 방식으로(TTL 감소 및 새로운 헤더 체크섬 계산과 같은 적절한 표준 연산들을 제외한) 수정되지 않는다.
3) DisPath는 각각의 라우터의 전송 테이블(forwarding table)에서 목적지 노드 당 단 2개의 포인터들만을 유지한다: 하나는 1차에 대한 것이고 하나는 대체 다음 홉(next-hop) 이웃에 대한 것이다. 명백하게, 이것은 복구 방식을 구현하는 데 필요한 최소 수의 포인터들이다.
4) 복구 경로가 존재하면, DisPath는 완전한 커버리지, 즉 네트워크 토폴로지와는 관계 없이 단일 구성요소의 모든 잠재적인 고장에 대한 보호를 제공한다.
5) DisPath 방식은 다중 고장들이 있을 때조차도 일시적인 라우팅 루프들을 훌륭하게 방지한다.
속성 2 및 속성 3으로 인해 상기 해법은 현재의 라우터 기술로 구현하는 것이 상대적으로 쉬어진다. 속성 4는 여분의 라우터들 및 링크들의 동적인 비활성화(deactivation)로 인해 매우 낮은 평균 노드 도(node degree)를 가질 수 있는 에너지 효율적인 네트워크들에 매우 바람직하다는 것 또한 주목된다.
더욱이, 대표적인 네트워크 인스턴스(instance)들에 대한 시뮬레이션들은 DisPath가 일반적으로 사용되는 성능 측정인 스트레치(stretch), 즉 리라우팅된 패킷의 궤적의 길이 대 고장이 난 네트워크 구성요소를 방지하는 최단 경로의 길이의 비에 관하여 매우 양호하게 수행되는 것을 나타낸다. 상기 속성들과 함께, 이것은 DisPatch가 완전한 커퍼리지를 보장하는 간단하고 실제적인 IP FRR 방식을 설계하는 목적을 완수하는 것을 암시한다.
그러므로, 본 발명의 하나의 양태에 따르면 목적지 노드를 가지고 도착하는 패킷을 라우팅하기 위하여 네트워크 노드에 네트워크 요소가 제공되고, 네트워크 요소는 전송 정보 메모리 저장소에 저장된 전송 정보 테이블 내의 목적지 노드와 연관되는 제 1 포인터 및 제 2 포인터 중 하나에 따라 도착하는 패킷을 다음 홉(next hop) 이웃 노드로 전송하도록 구성되는 라우터(router)를 가지고; 제 1 포인터는 네트워크 노드로부터 목적지 노드까지의 최단 경로 상에 있는 제 1 다음-홉 이웃 노드로 지향되고; 제 2 포인터는 제 1 다음 홉 이웃 노드와 상이한 제 2 다음 홉 이웃 노드로 지향되고, 제 2 다음 홉 이웃 노드는 목적지 노드 및 네트워크 노드 모두를 포함하고 목적지 노드에 착근(rooting)되는 싱크 트리(sink tree)와 최대로 중첩하는 후보 사이클(candidate cycle) 상에 있다.
본 발명의 일부 실시예들에서 라우터는 도착하는 패킷이 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드 이외의 다른 이웃하는 노드로부터 도착하는 경우에 제 1 포인터에 따라 도착하는 패킷을 전송하도록 구성된다. 이 실시예들 중 일부에서 라우터는 도착하는 패킷이 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로부터 도착하는 경우에 제 2 포인터에 따라 도착 패킷을 전송하도록 구성된다. 이 실시예들 중 일부에서 라우터는 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드가 패킷들을 전송할 수 없는 경우에 제 2 포인터에 따라 도착하는 패킷을 전송하도록 구성된다. 이 실시예들 중 일부에서 라우터는 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로의 링크가 패킷들을 전송할 수 없는 경우에 제 2 포인터에 따라 도착하는 패킷을 전송하도록 구성된다.
본 발명의 이 양태의 다른 실시예들에서, 네트워크 요소는 전송 정보 메모리 저장소에 저장되는 전송 정보 테이블 내의 목적지 노드와 연관되는 제 1 플래그(flag) 및 제 2 플래그를 더 가지고; 제 1 플래그는 네트워크 노드로부터 목적지 노드로의 최단 경로의 동작 상태를 표시하고; 제 2 플래그는 네트워크 노드로부터 제 2 다음 홉 노드로의 링크가 목적지 노드에 착근되는 싱크 트리의 요소인지를 표시하고; 라우터는 제 1 플래그가 비 동작 상태를 표시하고 제 2 플래그가 네트워크 노드 대 제 2 다음 홉 노드가 목적지 노드에 착근되는 싱크 트리의 요소임을 표시하고 도착하는 패킷이 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로부터 도착하는 경우에 도착하는 패킷을 드롭(drop)하도록 구성된다.
이 실시예들 중 일부에서 라우터는 도착하는 패킷이 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드 이외의 다른 이웃하는 노드로부터 도착하는 경우에 제 1 포인터에 따라 도착하는 패킷을 전송하도록 구성된다. 이 실시예들 중 다른 일부에서 라우터는 도착하는 패킷이 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로부터 도착하는 경우에 제 2 포인터에 따라 도착하는 패킷을 전송하도록 구성된다. 이 실시예들 중 다른 일부에서 네트워크 요소는 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드가 패킷들을 전송할 수 없는 경우에 제 2 포인터에 따라 도착하는 패킷을 전송하도록 구성되는 라우터를 가진다. 이 실시예들 중 또 다른 일부에서 라우터는 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로의 링크가 패킷들을 전송할 수 없는 경우에 제 2 포인터에 따라 도착하는 패킷을 전송한다.
본 발명의 이 양태의 다른 실시예들에서, 네트워크 요소가 네트워크 내의 노드라는 네트워크에 대한 새로운 네트워크 구성을 표시하는 네트워크 구성 정보가 도착하는 경우에 전송 정보 테이블은 새로운 네트워크 구성에 대응하여 싱크 트리 상의 네트워크 노드에 대한 조상 노드(ancestral node)들이 재구성되었던 시간 기간에 연속하는 시간에 갱신된다.
본 발명의 다른 양태에 따르면 메모리 디바이스에 저장된 네트워크 구성을 가지는 네트워크의 제 1 네트워크 노드에서의 전송 정보 메모리 저장소에 저장된 전송 정보 테이블 내의 목적지 노드와 연관되는 1차 포인터 및 백업 포인터를 자동으로 계산하는 방법이 제공되고, 상기 방법은 네트워크의 네트워크 구성을 사용하여 목적지 노드에 착근되는 싱크 트리를 계산하는 단계; 네트워크의 네트워크 구성을 사용하여 제 1 네트워크 노드로부터 목적지 노드로의 최단 경로를 계산하는 단계; 제 1 네트워크 노드로부터 목적지 노드로의 최단 경로 상에 있는 제 1 다음 홉 이웃 노드로 1차 포인터를 지향시키는 단계; 제 1 다음 홉 이웃 노드와 상이한 제 2 다음 홉 이웃 노드로 백업 포인터를 지향시키는 단계를 가지며, 제 2 다음 홉 이웃 노드는 제 1 네트워크 노드 및 목적지 노드를 포함하고 목적지 노드에 착근되는 싱크 트리와 최대로 중첩하는 후보 사이클 상에 있다.
이 실시예들의 일부에서 네트워크 노드 및 목적지 노드 외의 네트워크의 모든 노드들에 대해 두번째의 계산하는 단계 및 지향시키는 단계를 반복하는 단계가 더 존재한다. 이 실시예들의 일부에서 네트워크 구성에 대한 갱신을 수신하는 단계; 갱신을 메모리 디바이스에 저장하는 단계; 네트워크의 갱신된 네트워크 구성을 사용하여 목적지 노드에 착근되는 새로운 싱크 트리를 계산하는 단계; 네트워크 노드 이외의 네트워크의 모든 노드들에 대하여 두번째의 계산하는 단계 및 지향시키는 단계를 반복함으로써 새로운 네트워크 구성에 대응하여 싱크 트리 상의 네트워크 노드에 대한 조상 노드들이 재구성되었던 시간 기간에 연속하는 시간에 전송 정보 테이블을 갱신하는 단계가 더 존재한다. 이 실시예들의 일부에서 새로운 싱크 트리 내에서의 최근접 조상 노드로부터 목적지 노드까지의 경로가 네트워크 노드에 대해 변경되지 않은 경우, 새로운 싱크 트리 내의 최근접 조상 노드의 네트워크 노드까지의 홉 수(hop-count) 거리에 따라 시간 기간이 계산된다.
본 발명의 또 다른 양태에 따르면, 메모리 디바이스에 저장되는 네트워크 구성을 가지는 네트워크의 제 1 네트워크 노드에서의 전송 정보 메모리 저장소에 저장되는 전송 정보 테이블 내의 목적지 노드와 연관되는 백업 포인터를 자동으로 계산하는 방법이 개시되고, 상기 방법은: 네트워크의 네트워크 구성을 사용하여 목적지 노드에 착근되는 싱크 트리를 계산하는 단계; 제 1 네트워크 노드 및 목적지 노드 이 둘 모두를 포함하는 최단 후보 사이클을 계산하는 단계로서, 후보 사이클들에 대한 타이-브레이킹(tie-breaking) 기준은 네트워크의 네트워크 구성을 사용하여 목적지 노드에 착근된 싱크 트리와 최대로 중첩하는 것을 포함하는, 계산하는 단계; 네트워크의 네트워크 구성을 사용하여 제 1 네트워크 노드로부터 목적지 노드까지의 최단 경로를 계산하는 단계; 제 1 네트워크 노드로부터 목적지 노드까지의 최단 경로 상에 있는 제 1 다음 홉 이웃 노드를 결정하는 단계; 및 제 1 다음 홉 이웃 노드와 상이한 제 2 다음 홉 이웃 노드로 백업 포인터를 지향시키는 단계를 가진다.
본 발명의 이 양태의 일부 실시예들에서 네트워크 노드 및 목적지 노드 외의 네트워크의 모든 노드들에 대해 계산하는 단계, 결정하는 단계 및 지향시키는 단계를 반복하는 추가 단계들이 존재한다.
주의: 이후에 설명 및 도면들은 단지 본 발명의 원리들을 예시한다. 그러므로 당업자는 본원에서 명확하게 기술되거나 도시되지 않더라도, 본 발명의 원리들을 구현하고 본 발명의 사상 및 범위 내에 포함되는 다양한 배열들을 고안할 수 있음이 인정될 것이다. 더욱이, 본원에 언급되는 모든 예들은 주로 독자가 발명자(들)에 의해 본 기술을 심화하도록 제공되는 본 발명의 원리들과 개념들을 이해하는 것을 보조하는 교수 목적들만을 위한 것으로 확실히 의도되며, 그와 같은 구체적으로 언급되는 예들 및 상태들로 제한되지 않는 것으로 해석되어야만 한다. 더욱이, 본 발명의 원리들, 양태들 및 실시예들을 언급하는 본원에서의 모든 진술들뿐만 아니라 이의 특정한 예들은 본 발명의 등가들을 포함하도록 의도된다.
본 발명은 동일한 요소들을 표현하기 위해 동일한 참조 번호들이 사용되는 도면들을 참조하는, 본 발명의 실시예들에 대한 다음의 상세한 설명으로부터 더 이해될 것이다.
도 1(a) 및 도 1(b)는 종래의 기술에 따른 접속 링크들을 가지는 노드들의 네트워크를 도시하는 도면들이다.
도 2(a) 및 도 2(b)는 동작 중인 본 발명의 하나의 실시예에 따른 접속 링크들을 가지는 노드들의 네트워크를 도시하는 도면들이다.
도 3은 본 발명의 하나의 실시예에 따른 1차 및 백업 전송 노드들을 계산하는 방법에 대한 스트럭터그램(structogram)이다.
도 4는 본 발명의 하나의 실시예에 따라 패킷을 1차 및 백업 전송 노드들로 라우팅하는 방법에 대한 스트럭터그램이다.
도 5는 본 발명의 다른 실시예에 따라 패킷을 1차 및 백업 전송 노드들로 라우팅하는 방법에 대한 스트럭터그램이다.
도 6(a) 및 도 6(b)는 동작 중인 본 발명의 하나의 실시예에 따른 접속 링크들을 가지는 노드들의 네트워크를 도시하는 도면들이다.
다음의 설명에서, 많은 특정한 세부사항들이 설명된다. 그러나, 본 발명의 실시예들은 이 특정한 세부사항들 없이도 실행될 수 있음이 이해된다. 다른 경우들에서, 이 설명의 이해를 모호하게 하지 않기 위해, 널리 공지되어 있는 회로들, 구조들 및 기술들은 상세하게 도시되지 않았다. 그러나, 본 발명이 그러한 특정한 세부사항들 없이도 실행될 수 있음이 당업자에 의해 인정될 것이다. 다른 경우들에서, 제어 구조들, 게이트 레벨 회로들 및 전체 소프트웨어 명령 시퀀스들은 본 발명을 모호하게 하지 않기 위해 상세하게 도시되지 않았다. 당업자는, 적절하지 않은 실험법 없이도 포함되는 설명들로서 적절한 기능을 구현할 수 있을 것이다.
명세서에서, "one embodiment", "an embodiment", "an example embodiment" 등을 언급하는 것은 기술되는 실시예가 특정한 특징, 구조, 또는 특성을 포함할 수 있다는 것을 나타내지만, 모든 실시예가 특정한 특징, 구조, 또는 특성을 반드시 포함할 수 있는 것은 아니다. 더욱이, 그와 같은 어구들은 반드시 동일한 실시예를 언급하고 있는 것은 아니다. 더욱이, 특정한 특징, 구조, 또는 특성이 하나의 실시예와 관련하여 기술될 때, 명확하게 기술되든 또는 그렇지 않던 간에 다른 실시예들과 관련하여 그와 같은 특징, 구조, 또는 특성을 달성하는 것이 당업자의 지식에 속하는 것임이 언급된다.
다음의 설명 및 청구항들에서, 용어 "결합되는" 및 "접속되는"과 함께 이들의 파생어들이 이용될 수 있다. 이들 용어들은 서로에 대한 동의어들로서 의도되지 않음이 이해되어야 한다. "결합되는"은 서로 직접적으로 물리적 또는 전기적으로 접촉될 수 있거나 그러하지 않을 수 있는 둘 이상의 요소들이 서로 공동 동작하거나 상호 작용하는 것을 나타내는 데 사용된다. "접속되는"은 서로 결합되는 둘 이상의 요소들 사이의 통신이 설정되는 것을 나타내는 데 사용된다.
도면들에 도시되는 기술들은 하나 이상의 전자 디바이스들(예를 들어, 네트워크 요소)에 저장되고 이들 디바이스들에서 수행되는 코드 및 데이터를 사용하여 구현될 수 있다. 그와 같은 전자 디바이스들은 기계 저장 매체(예를 들어, 자기 디스크들; 광 디스크들; 랜덤 액세스 메모리; 판독 전용 메모리; 플래시 메모리 디바이스들) 및 기계 통신 매체(예를 들어, 전기, 광학, 음향 또는 다른 형태의 전파 신호들 - 반송파들, 적외선 신호들, 디지털 신호들 등과 같은)와 같은 기계-판독 가능 매체를 사용하여 코드 및 데이터를 저장 및 통신한다(내부적으로 또는 네트워크를 통해 다른 전자 디바이스들과). 게다가, 그와 같은 전자 디바이스들은 전형적으로 저장 디바이스와 같은 하나 이상의 다른 구성요소들과 결합되는 하나 이상의 프로세서들, 하나 이상의 사용자 입력/출력 디바이스들(예를 들어, 키보드 및/또는 디스플레이) 및 네트워크 접속의 세트를 포함한다. 프로세서들 및 다른 구성요소들의 세트의 결합은 전형적으로 하나 이상의 버스들 및 브릿지(bridge)들(또한 버스 제어기들로 칭해진다)을 통한다. 저장 디바이스 및 네트워크 트래픽을 운반하는 신호들은 각각 하나 이상의 기계 저장 매체 및 기계 통신 매체를 표현한다. 그러므로, 제공된 전자 디바이스의 저장 디바이스는 전형적으로 상기 전자 디바이스의 하나 이상의 프로세서들의 세트 상에서 실행되는 코드 및/또는 데이터를 저장한다. 물론, 본 발명의 하나의 실시예의 하나 이상의 부분들은 소프트웨어, 펌웨어 및/또는 하드웨어의 상이한 결합들을 사용하여 구현될 수 있다.
본원에서 사용되는 바와 같이, 네트워크 요소(예를 들어, 라우터, 스위치, 브릿지 등)는 네트워크 상의 다른 장비(예를 들어 다른 네트워크 요소들, 컴퓨터 종단국(end station)들 등)를 통신 가능하게 상호 접속시키는 하드웨어 및 소프트웨어를 포함하는, 하나의 네트워킹 장비이다. 고객 컴퓨터 종단국들(예를 들어, 워크스테이션, 랩탑들, 팜탑(palm top)들, 모바일 전화기들 등)은 인터넷을 통해 제공되는 컨텐츠/서비스들 및/또는 인터넷과 같이 연관되는 네트워크 상에 제공되는 컨텐츠/서비스들에 액세스한다. 컨텐츠 및/또는 서비스들은 전형적으로 서비스 또는 컨텐츠 공급자에 속하는 하나 이상의 서버 컴퓨팅 종단국들에 의해 제공되고 공개 웹페이지들(무료 컨텐츠, 스토어프론트(store front)들, 탐색 서비스들 등), 개인 웹페이지들(예를 들어, 이메일 서비스들을 제공하는 사용자/패스워드 액세스 웹페이지들 등) VPN들을 통한 기업 네트워크들 등을 포함할 수 있다. 전형적으로, 고객 컴퓨팅 종단국들은 인터넷의 코어 네트워크 요소들을 통해 서버 컴퓨팅 종단국들에 결합되는 에지(edge) 네트워크 요소들에 결합된다(예를 들어 액세스 네트워크에, 무선으로 액세스 네트워크에 결합되는 고객 구내 장비를 통해).
다음의 도면들에서, 동일한 요소들을 나타내기 위해 동일한 참조 번호들이 사용된다.
네트워크 모델
본 발명의 다음의 실시예들은 IP 네트워크에 관하여 기술될 것이다. 단일 라우팅 에어리어(area)를 구성하는 IP 네트워크가 고려된다. 모든 라우터들은 자신들이 네트워크 토폴로지를 계산할 수 있고 결과적으로 네트워크 내의 모든 다른 라우터로의 최단 경로를 계산할 수 있는 링크 상태 정보를 보유한다. 라우터들은 이 정보를 이용하여 자신들의 전송 정보 베이스(forwarding information base; FIB) 테이블들을 채워 넣는다. IP 패킷이 라우터에 도착하면, 라우터는 다음 홉 이웃, 즉 상기 목적지로의 최단 경로에 따른 다음 라우터를 결정하기 위하여 자체의 FIB에 반하는 상기 패킷 목적지 어드레스를 검사하고 이 검사에 따라 상기 패킷을 전송한다. 간소화를 위해, 소정의 목적지에 대해 다수의 최단 경로들이 존재하는 경우, 라우터는 공지되어 있고 일관되는 타이-브레이킹(tie-breaking) 기준에 따라 고유의 다음-홉 이웃을 선택하는 것으로 가정된다.
네트워크는 모든 라우터들이 네트워크 토폴로지에 대한 동일한 뷰(view)를 가질 때 안정한 상태에 있는 것으로 고려된다. 토폴로지 변화의 경우, 라우터이든 링크든지 간에 추가 또는 제거되는 구성요소에 인접한 라우터들은 이 변화를 검출하고 이 변화를 다른 라우터들에 고지하기 위한 링크 상태 광고(link state advertisement; LSA) 메시지들을 생성한다. 이 정보는 네트워크 내에서 플러딩(flooding)을 통해 전파되고 이는 이 모든 라우터들에 의해 모든 라우터들의 FIB들을 갱신하기 위해 사용된다. 컨버전스 시간은 토폴로지 변화의 초기 검출 및 모든 라우터들이 자체의 FIB들을 갱신했던 지점 사이의 시간 간격을 칭하고, 이 시간 이후에 네트워크는 다시 안정된 상태가 된다.
다음의 섹션들에서, 네트워크는 무방향 그래프(undirected graph)(G(V;E))로서 모델링되고, 여기서 V는 또한 노드들로서 칭해지는 라우터들의 세트를 나타내고, E는 또한 에지(edge)들로서 칭해지는 링크들의 세트를 표현한다. 각각의 링크(e∈E)는 양방향성이고 라우팅을 위해 연관되는 정수 가중치(integer weight)(w(e))를 가진다. 더욱이, G는 이중 접속(biconnection)되는 것으로 가정되는데, 이는 G가 단일 링크 또는 노드 고장의 경우에 계속해서 접속되어 있음을 의미한다. 상기 가정들 중 일부는 단지 설명을 더 명확하게 하는 역할을 하는 점에 유의한다. 개시되는 바와 같이 비-이중 접속 그래프들 및 링크들이 각각의 방향에서 상이한 가중치들을 가지는 그래프에 대한 본 발명의 방법들의 아래의 적응들은 즉시 가능하다.
방식 개요
DisPath는 Menger의 정리(theorem)에 의해 모든 노드(v)가 이중 접속된(biconnected) 네트워크 내에서 임의의 소정의 목적지(t)로의 2개의 노드-디스조인트 경로들을 가진다는 사실에 기초한다. 그러므로, v에서 t까지의 최단 경로에 따른 고장의 경우, 여전히 이용 가능한 대안의 경로가 존재한다.
pv(t)가 목적지(t)에 대한 v의 1차 이웃, 즉 t까지의 자체의 최단 경로의 다음 홉 이웃을 표시하는 것으로 하자. 고장의 경우에, 노드(v)는 패킷들을 대안의 경로로 우회시키고 bv(t)가 백업 이웃, 즉 대안의 경로에 따른 v의 다음 홈 이웃을 표시하는 것으로 하자.
본 발명의 실시예에 따르면, 노드(v)는 t까지의 1차 경로를 따라 고장이 발생했는지를 인지하는 2개의 방식들을 가진다. 표준 방식은 v가 고장에 인접하고 이를 직접적으로 검출하는 경우이다. 다른 방식은 v가 pv(f)로부터 t로 향하는 패킷을 수신하는 경우인데, 이는 안정된 상태에서 발생하지 않을 것이다. 어느 경우이든, v는 패킷을 백업 이웃(bv(t))에 전송한다. 이 방법은 패킷들 자체들에 대한 어떠한 변형 없이도 구현될 수 있음에 유의한다.
예로서, 패킷이 목적지 노드(130) 가지고 노드(127)에 도착하지만 노드(128)가 고장이 난 도 1b의 네트워크가 고려된다. 노드(128)의 고장 이후에, 노드(127)는 노드들(125, 123 및 121)을 통하는 130까지의 대안의 경로를 가진다. 노드(125)가 노드(127)로부터 노드(130)로 향하는 패킷을 수용하면, 노드(125)는 고장을 검출하고 패킷을 자신의 백업 이웃인 노드(123)로 송신한다. 후자는 또한 고장을 검출하고 자기 자신의 백업 이웃인 노드(121)에 패킷을 전송하고, 이 노드(121)는 그 후에 패킷을 목적지 노드(130)로 라우팅한다.
루프-프리 복구를 제공하는 데 있어서의 DisPath의 성공은 각각의 노드가 모든 목적지에 대한 1차 및 백업 이웃들을 적절하게 선택하는 것에 좌우된다. 상기 목적을 위해, 각각의 노드(v)는 v 및 목적지(t) 모두를 포함하는 가장 짧은 단순 사이클(cycle)(Cv ;t)을 계산한다. Cv ;t 내의 v의 2개의 이웃하는 노드들은 1차 및 백업 이웃들이 된다. 네트워크가 이중 접속되므로 그와 같은 사이클은 언제나 존재하지만, 반드시 유일무이하지는 않는다. 이것은 심각한 장애를 일으키는데, 왜냐하면 다음 예에 의해 예시되는 바와 같이 어떠한 최단 사이클도 작동하지 않을 것이기 때문이다.
도 2에서의 네트워크를 고려하면 노드(206) 및 목적지 노드(212)를 포함하는 여러 최단 사이클들이 존재하는 것이 관찰된다; 노드(201) 및 노드(212) 등에 대해서도 마찬가지이다. 노드들(206 및 203)이 좌측의 점선에 의해 표시되는 사이클을 선택하는 데 반해 노드들(201 및 204)이 우측의 파선에 의해 표시되는 사이클을 선택한다고 가정된다. 링크의 고장 시에(206; 208), 노드(206)는 212 내지 203으로 지향되는 패킷을 전송하는 것 외에 선택사양이 없고, 이 노드들이 결과적으로 패킷을 201로 송신해야만 한다. 그러나, 203은 노드(201)의 1차 이웃이 아닐뿐더러(노드(201)를 노드(204)에 연결하는 짙은 화살표들에 의해 표시되는 바와 같이) 노드(201)의 백업 이웃(이는 노드(201)가 우측에서 파선에 의해 표시되는 사이클을 이용하고 있으므로 노드(202)이다)도 아니므로, 노드(201)는 패킷을 노드(204)(노드(212)에 더 가깝다)로 전송하고 노드(204)는 패킷을 계속해서 노드(206)로 송신하고, 여기서 노드(206)는 링크의 고장(206; 208)에 의해 패킷이 사이클을 시작했던 곳이다. 그러므로, 패킷은 원하지 않는 전송 루프에 진입한다.
그러나, 본 발명의 실시예에 따르면, 적절한 사이클을 선택하는 문제에 대한 간단하고 훌륭한 해법이 존재하고, 이는 다음과 같이 개시된다. T(t)가 t의 싱크 트리(sink tree), 즉 t에 착근되고(rooted) 모든 다른 노드들로부터 t까지의 최단 경로들의 통합에 의해 형성되는 트리를 표시한다고 하자; 문헌에서, 이것은 때때로 역 최단 경로 트리(reverse shortest path tree) 즉 rSPT로 칭해진다. 네트워크가 안정된 상태에 있는 경우, 모든 노드들이 동일한 타이-브레이킹(tie-breaking) 기준을 적용하는 한, 각각의 노드는 독자적으로 T(t)를 결정할 수 있다.
그 후에, 본 발명을 구현하는 방법들에 따르면, 싱크 트리 자체는 최단 사이클들의 계산 시에 타이-브레이킹 기준으로 사용된다. 특히, 노드(v)가 v 및 t를 포함하는 최단 사이클을 계산할 때, 노드(v)는 T(t)와 최대로 중첩하는 사이클들을 위해 타이-브레이킹한다. 이는 링크 가중치들의 적절한 조작에 의해 달성된다.
이제, 이와 같이 노드(v)에 의해 계산되는 사이클(Cv;t)이 다음의 속성을 가지는 것이 확인될 수 있다: Cv ;t의 두 이웃들 중 하나는 t까지의 최단 경로에서의 다음 노드이므로, 이는 1차 이웃(pv(t))이 되어야만 한다. 이 속성이 매우 유용한 결과들을 지니는 것 또한 확인될 수 있다:
Figure 112014041303011-pct00001
이는 네트워크가 안정된 상태에 있는 동안 패킷들이 자신들의 목적지들까지의 최단 경로들을 따라 라우팅되는 것을 보장한다.
Figure 112014041303011-pct00002
이는 단일 링크 또는 노드 고장의 경우에, 전송 루프들 없이 빠른 복구를 보장한다.
본 발명의 실시예들은 2개의 조정 양태들을 가진다. 첫번째는 아래에서 의사-코드(pseudo-code) 형태로 도시되고, 도 3과 함께 더 기술되는 일련의 단계들, 즉 상기 단계들의 스트럭터그램 실례이다; 이는 네트워크가 안정된 상태에 있을 때 자체의 FIB 테이블들을 채워 넣기 위해, 즉 각각의 목적지 노드(t)에 대한 1차 및 백업 이웃들을 결정하기 위해 각각의 노드(v)에 의해 실행된다.
상기 방법은 3개의 일반적인 단계들을 포함한다:
단계 1: 싱크 트리의 계산. 노드(v)는 모든 노드들에 공통인 미리 결정된 기준에 의해 결정되는 타이(tie)들로, t의 싱크 트리(T(t))를 계산한다. T(t)에서의 v의 모(parent)는 1차 이웃(Pv(t))으로 즉시 지정된다.
단계 2: 가중 조작. T(t)에 속하는 링크들의 가중치는 미세하게 감소되어서, 후속 최단 사이클 계산 시에 T(t)와 최대 중첩하는 사이클들을 위해 타이들이 브레이킹된다. 모든 링크 e ∈ E에 대해, 임시 실수 값의 가중치(wt(e))가 다음과 같이 정의된다:
Figure 112014041303011-pct00003
e ∈ T(t)인 경우,
Figure 112014041303011-pct00004
이고, 그 외의 경우 w(e)이고,
여기서 ε는 양의 상수이므로
Figure 112014041303011-pct00005
가 된다.
단계 3: 최단 사이클의 계산. 노드(v)는 임의의 적절한 방법을 사용하여, v 및 t를 포함하는 최단 사이클(Cv ;t)을 가중치들(wt(·))에 대해 계산한다. 후술되는 바와 같이, Cv ;t에서의 두 이웃들 중 하나는 Pv(t)이므로, 다른 하나는 백업 이웃(bv(t))으로 선택된다.
소정의 노드(v)에서 렌더링하는 FIB 테이블의 방법에 대한 의사 코드 표현
1: for 모든 노드 t ≠ v do
2: 가중치들(w(·))에 대해, t의 싱크 트리(T(t))를 계산 {T(t)는 t에 착근}
3: pv(t) = T(t)에서 v의 모
4: for 모든 링크 e do
5: if e ∈ T(t) then
6: wt(e) = (1 - ε)·w(e)
7: else
8: wt(e) = w(e)
9: 가중치들(w(·))에 대해, v 및 t 모두를 포함하는 최단 단순 사이클(Cv ;t)을 계산{v는 Cv ;t에서 2개의 이웃하는 노드들을 가진다; 이들 중 하나는 pv(t)이다}
10. bv(t) = Cv ;t에서의 v의 다른 이웃
이제 도 3을 참조하면, 상기 방법의 하나의 실시예에 따른 스트럭터그램 표현이 확인될 수 있다. 상기 방법은 단계 301에서 안정된 상태에 있는 네트워크로 노드(v)에 대해 개시된다. 단계 302에서 자체가 노드(v)가 아닌 네트워크(V) 내의 모든 목적지 노드들(t)에 대해 후속 계산들을 수행하는 조건부 단계에 진입된다. 단계 303에서 싱크 트리(T(t))가 계산되고, 링크 가중치들에 대한 네트워크 구성 정보(w(·))를 사용하여 목적지 노드(t)에 착근된다. 단계 304에서, 싱크 트리(T(t))는 T(t)에서의 v의 모를 노드(Pv(t))로서 할당하는 데 사용된다. 다음, 단계 306에서 각각의 에지가 싱크 트리(T(t)) 내의 에지인지를 결정하기 위하여 단계 305에서는 네트워크 내의 모든 링크를 검사하는 조건부 루프에 진입된다. 각각의 에지가 싱크 트리 내의 에지가 아니라면, 단계 307에서 상기 에지에 대한 수정된 가중치가 자체의 초기 가중치인 것으로 세팅된다. 각각의 에지가 싱크 트리(T(t)) 내의 에지라면, 단계 308에서 상기 에지에 대한 수정된 가중치는 자체의 초기 가중치보다 점진적으로 더 작은 값으로 세팅된다. 이전에 기술된 바와 같이, 조건부 루프(305) 내의 단계들의 순효과는 상기 에지들에 단순 사이클들 사이의 바람직한 타이-브레이커를 만들어 주도록 싱크 트리(T(t))의 상기 에지들의 가중치를 감소시키는 것이다.
다음에, 단계 309에서 v 및 t를 포함하는 최간단 사이클(Cv ;t)이 수정된 가중치들(wt(·))을 사용하여 계산된다. 단계 310에서 Cv ;t에서의 노드(v)의 두 이웃들은 노드(v)의 바람직한 1차 이웃(pv(t)) 및 백업 이웃(bv(t))이다. 1차 이웃(pv(t))이 단계 304로부터 이미 공지되므로, Cv ;t에서의 두 이웃들 중 다른 이웃은 백업 이웃(bv(t))이도록 할당된다. 단계 311에서 특정한 노드(v)에 대한 루프가 종료되고 제어는 단계 302로 역으로 되돌아간다. 단계 302의 완전한 종료 시에 상기 방법은 단계 312에서 종료된다.
본 발명의 제 2 양태는 패킷이 어떻게 라우팅되어야만 하는지를 결정하기 위해, 각각의 노드(v)가 패킷을 수신할 때마다 각각의 노드(v)에 의해 수행되는 일련의 단계들이다. 이 일련의 단계들은 아래의 의사-코드 형태로 도시되고 단계들의 스트럭터그램 실례인 도 4와 함께 더 설명된다. 노드의 고장으로 상기 노드에 따른 모든 링크들이 또한 이용 불가능하게 되므로, 이 제 2 일련의 단계들은 링크 및 노드 고장들 사이를 구분할 필요가 없고 양 경우들에서 동일하게 작용한다.
노드(v)에서 패킷을 라우팅하는 방법에 대한 의사 코드 표현
1: t = 패킷의 목적지 {t ≠ v인 것으로 가정}
2: if 링크(v, pv(t))가 이용 불가능하거나 패킷이 pv(t)로부터 직접 도착, then
3: if 링크(v, bt(t))가 이용 불가능 then
4: 패킷을 드롭(drop)
5: else
6: 패킷을 bv(t)로 전송 {백업 이웃}
7: else
8: 패킷을 pv(t)로 전송 {1차 이웃}
이제 도 4를 참조하면, 상기 방법의 하나의 실시예에 따른 스트럭터그램 표현이 확인될 수 있다. 상기 방법은 단계 401에서 개시한다. 단계 402에서 패킷은 노드(t)로 향하는 노드(v)에서 수신된다. 단계 403에서 패킷이 1차 이웃(pv(t))으로부터 도착했는지에 대한 검사가 행해진다. 답이 부정이면, 단계 404에서 이웃 Pv(t)이 이용 가능한지에 대한 검사가 행해진다. 답이 부정이면 단계 405에서 링크 bv(t)가 이용 가능한지에 대한 검사가 행해진다. 이 검사에 대한 답이 부정이면, 1차와 백업 이웃들 어느 것도 이용 가능하지 않고 단계 406에서 패킷이 드롭된다. 상기 방법은 후속해서 단계 407에서 종료된다. 단계 405에서의 검사가 긍정인, 즉 백업 이웃이 이용 가능한 경우, 단계 408에서 패킷은 백업 이웃(bv(t))으로 전송되고 상기 방법은 후속해서 단계 409에서 종료된다. 단계 404에서의 검사가 긍정이었던, 즉 1차 이웃이 이용 가능한 경우, 단계 410에서 패킷은 1차 이웃(pv(t))으로 전송되고 상기 방법은 후속해서 단계 411에서 종료된다.
단계 403에서의 검사가 긍정이었던, 즉 패킷이 이웃 pv(t)로부터 도착했던 경우에, 단계 412에서 이웃 bv(t)가 이용 가능한지에 대해 검사가 행해진다. 답이 부정이면, 단계 413에서 패킷이 드롭되고 상기 방법은 단계 414에서 종료된다. 단계 412에서의 검사가 긍정인, 즉 이웃 bv(t)가 이용 가능한 경우, 단계 415에서 패킷은 이웃 bv(t)로 전송되고 상기 방법은 단계 416에서 종료된다.
다른 예에 대해서, 도 2b에서 도시되는 네트워크가 고려되고 노드(228)가 고장이라고 가정된다. 본 발명의 실시예들 하에서, 노드(232)로 향하는 노드(226)에서의 패킷은 노드(224)로, 그 후에 노드(221)로, 그 후에 노드(222)로 전송될 것이다.
그러나, 노드(221)는 노드(222)의 1차 노드가 아니므로, 패킷은 후속해서 노드(225)로 그리고 나서 노드(227)로 라우팅된다. 사이클(C227 ;232)이 C226 ;232보다 더 짧은 것이 관찰되므로 패킷은 "진행 중"이다. 노드(227)에서, 패킷은 다시 리라우팅되어, 최종적으로 노드(212)에 도착하기 전에 노드들(205, 202 및 210)을 통과해야만 한다.
상기 예에서, 리라우팅된 패킷이 각각의 노드에 최대로 2회 방문하는 것이 주목될 수 있다. 이 속성은 일반적으로 본 발명의 실시예들에 대해 유효하다.
추가 확장들
A. 목적지 노드의 고장 및 다중 고장들
상술한 바와 같은 본 발명의 실시예들이 손실된 링크들 및 노드들을 보상할 수 있을지라도, 패킷 전달은 고장이 난 노드로 향하는 패킷들을 포함하지 않는데 왜냐하면 이 패킷들의 전달은 명백하게 불가능하기 때문이다. 그러나, 그와 같은 패킷들은 네트워크 내에 남아 있고 전송 루프들에 진입할 수 있으므로, 상기 루프들을 따르는 링크들 및 노드들에서의 트래픽 부하가 과도하게 증가될 수 있다. 예를 들어, 도 1a의 네트워크의 노드(110)가 고장이 난 경우에, 노드(110)로의 패킷들은 결국 노드들(101; 103; 105; 107; 108)의 경로를 따라 전후로 바운싱(bouncing)하게 된다. 이상적으로, 이 패킷들은 가능한 빨리 드롭되어야만 한다.
다중 고장들이 네트워크에서 동시에 발생하는 경우에 특히 고장에 의해 리라우팅되었던 패킷들이 자신들의 대체 경로를 따라 다른 고장을 만나는 경우에 유사한 문제가 발생할 수 있다. 목적지(t)로의 임의의 다른 경로는 싱크 트리(T(t))에 없는 적어도 하나의 링크를 포함해야 하고,
Figure 112014041303011-pct00006
를 그러한 제 1 링크라고 하자. 대체 경로 내의 고장이
Figure 112014041303011-pct00007
전에 발생한다면, 상기 패킷들은 드롭될 것이고(이전에 제공된 패킷을 라우팅하기 위한 의사-코드에서 4 라인을 참조할 것), 그렇지 않으면 패킷들은 전송 루프에 진입할 수 있다.
루프들은 본 발명의 실시예들에 대한 다음의 수정들에 따라, 상기 시나리오들에서 예방될 수 있다. 모든 노드(v) 및 각각의 목적지(t)에 대해, 불 플래그(boolean flag)들(fv(t) 및 qv(t))이 이미 포인터들(pv(t) 및 bv(t))을 포함하는 t에 대한 v의 FIB 엔트리에 추가된다. 플래그(fv(t))는 v가 v로부터 t까지의 최단 경로를 따라 고장을 검출하였음을 나타내고, qv(t)는 링크(v; bv(t))가 싱크 트리(T(t))에 속하는지의 여부를 나타낸다. 더욱이, 제 1 양태에 대한 단계들은 제 1 양태가 T(t) 및 bv(t)를 계산한 후에 qv(t)를 적절한 값으로 세팅하고 또한 fv(t)를 거짓(false)으로 세팅하도록 수정된다. 마지막으로 그러한 중요한 것으로, 제 1 라우팅 방법은 다음의 라우팅 방법, 즉 노드(v)가 고장으로 인해 노드(t)를 향하는 패킷들을 라우팅해야만 할 때 fv(t)를 참(true)으로 세팅하는 라우팅 방법으로 대체된다.
고장이 검출되었고(즉, fv(t)가 참) (v; bv(t))
Figure 112014041303011-pct00008
T(t)(즉, qv(t)가 거짓)인 동안 t로의 패킷이 bv(t)로부터 수신되면, 상기 방법은 t로의 대체 경로를 따라 다른 고장이 발생하였음을 인식하고 루프를 생성하는 것을 방지하기 위해 패킷을 드롭한다. 그러므로, 이 실시예는 다중 고장들이 있을 때조차도 일시적인 라우팅 루프들을 훌륭하게 방지한다.
B. 비대칭 링크 가중치들
때로는, 양방향성 링크들은 각각의 방향에서 상이한 라우팅 가중치들을 가질 수 있다. 그러한 경우에, 네트워크는 무방향성 그래프 대신 방향성 그래프에 의해 더 적절하게 모델링됨으로써, 각각의 양방향성 링크는 상이한 가중치들을 가지는 2개의 역평행(antiparallel) 방향성 에지들에 의해 표현된다.
더욱이,
Figure 112014041303011-pct00009
가 소정의 에지 e ∈ E의 역평행 에지를 나타낸다고 하자. 본 발명의 실시예들은 FIB 테이블 렌더링에 대한 의사-코드 표현 방법의 단계 2에서의 임시 가중치들의 정의를 다음과 같이 수정함으로써, 그러한 네트워크들에서 작업하도록 적응될 수 있다:
Figure 112014041303011-pct00010
위는 e ∈ T(t) 또는
Figure 112014041303011-pct00011
∈ T(t)인 경우이고, 아래는 그 외의 경우.
Figure 112014041303011-pct00012
임에 유의한다. 전과 같이, 이 할당은 T(t) 자체에 영향을 미치지 않고, T(t)와 최대로 중첩하는 사이클들을 위해 타이들을 브레이킹한다. 그러므로, 안정된 상태에서, 패킷들은 자신들의 목적지들로의 가장 짧은 경로들을 따라 계속해서 전송된다.
C. 비-이중접속 네트워크들
지금까지는, 네트워크가 이중 접속되어 있다고 가정하였다. 그렇지 않으면, 네트워크는 커팅된 노드들 및/또는 커팅된 링크들을 포함해야만 하고, 그러므로 이들 중 어느 것이 고장이 나면, 다른 경로가 없으므로 복구가 불가능하다. 그럼에도 불구하고, 그와 같은 경우에서조차도, 아래에 도시되는 바와 같이, 다른 구성요소 고장들에 대해 어느 정도의 보호가 보장될 수 있다.
네트워크가 커팅된 노드들을 가지나 커팅된 링크들을 가지지 않으면, 네트워크는 우선 예를 들어 깊이-우선 탐색 방법(Depth-First Search method)을 사용하여 이중 접속된 구성요소들로 분할된다. 그 후에, FIB 테이블을 구축하는 방법이 각각의 구성요소에 대해 독자적으로 수행된다.
최종적으로, 나머지 FIB 엔트리들이 다음과 같이 채워진다. 노드(v) 및 목적지 노드(t)가 상이한 구성요소들에 있으면, v에서 t까지의 최단 경로를 따라, 제 1 커팅된 노드, 즉 y를 식별한다. 노드(y)는 노드(v)와 동일한 구성요소에 속해야만 하는 것이 관찰된다. 그러므로, 목적지(y)에 대한 노드(v)의 FIB 엔트리의 모든 값들은 목적지 노드(t)에 대한 노드(v)의 FIB 엔트리로 카피된다.
D. 루프- 프리 FIP 갱신들
컨버전스 시간 동안 일시적인 전송 루프들의 주요 원인은 상이한 네트워크 노드들에 존재하는 네트워크 토폴로지에 대한 일치하지 않는 뷰(view)들이다. 예를 들어, 노드(611)의 고장 이후의 도 6의 네트워크가 고려된다. 노드들(606 및 603)은 도 6a에서 실선의 화살표들로 도시되는 노드(612)의 새로운 싱크 트리를 반영하기 위해서 이미 자신들의 FIB 테이블들을 갱신했으나, 노드들(601 및 604)은 그러하지 않은 것으로 가정된다. 그와 같은 시나리오에서, 601로부터 612로 송신되는 패킷은 노드들(601; 604; 606 및 603)을 구성하는 일시적 전송 루프에 진입할 것이다.
본 발명의 대안의 실시예에 따르면, FIB 갱신 방법은 t의 새로운 싱크 트리에서의 v의 조상(ancestor)들인 모든 라이터들 이후에 매 라우터(v)마다 목적지(t)에 대한 자체의 FIB 테이블 엔트리를 갱신하는 것을 보장한다. 이것은 새로운 싱크 트리 내의 v의 깊이(즉, t로부터의 홉-수(hop-count) 거리)에 따라 이 갱신을 스케줄링함으로써 달성된다.
예로서, 노드(v)가 시간 τ에서 LSA 메시지를 수신하고, 이 노드가 이 메시지를 자신의 이웃들로 전송하고 이를 이용하여 각각의 목적지(t)에 대한 새로운 싱크 트리(T'(t))를 계산하는 것으로 가정된다. u는 T'(t) 내의 v의 최근접 조상이고 v의 t까지의 경로는 토폴로지 변경에 의해 영향을 받지 않고 d(v;u)로 T'(t) 내의 v로부터 u까지의 홉-수 거리를 나타내자. 그러면, v는 시간 τ+△d(v;u)에서 t에 대한 자체의 FIB 테이블 엔트리를 갱신해야만 하고, 여기서 △는 새로운 싱크 트리들을 계산하는 데 필요한 시간을 포함하는, 링크에 걸친 LSA 메시지의 최대 전파 시간이다.
더 구체적인 예로, 노드(611)의 고장 이후의 도 6a에 도시된 네트워크가 고려되고 △ = 1로 가정된다. 각각의 노드 옆의 수는 T'(t) 내의 최근접 무영향 노드, 여기서는 노드(610)까지의 자체의 홉-수 거리이다. 일단 노드(609)가 시간 0에서 고장을 검출하면, 노드(609)는 LSA 메시지들을 노드들(606 및 607)로 즉시 송신하고, 노드들(606 및 607)은 이 메시지들 자신의 이웃들로 전송하고, 기타 마찬가지이다. 그러므로, 노드(602)에는 시간 △ = 3에서 고장이 고지되고 이 노드(602)는 시간 τ+△d(602;601) = 3 + 1 = 4에서 t에 대한 자체의 FIB 엔트리를 갱신한다.
유사하게, 노드들(601; 604; 606 및 603) 모두는 시간 5 등에서 t에 대한 자신들의 FIB 엔트리들을 갱신한다.
시뮬레이션 결과들
네트워크 인스턴스들.
서비스 공급자 네트워크들 상의 배치에 대한 본 발명의 실시예들의 적절성을 평가하기 위해, 다음의 참조문헌들에서 공개적으로 이용 가능한 다수의 실제적인 토폴로지들에 대한 시뮬레이션들이 수행되었다:
K. Tse의 2008년 3월의 OFC/NFOEC 2008에서의 AT&Ts photonic network. [APN 네트워크 인스턴스];
K. Wang, M. Ali 및 J. Deogun의 2005년 5월의 IEEE ICC, volume 3, 페이지 1620 - 1624 에서의 Multicast routing in 40 Gb/s heterogeneous optical networks. [이탈리아 네트워크 인스턴스];
Y. Xiong 및 L. Mason의 1999년의 IEEE/ACM Trans. Netw., 7(1): 98-110에서의 Restoration strategies and spare capacity requirements in self-healing ATM networks. [토론토, USLD 및 NJLATA 네트워크 인스턴스들];
E. B. Basch, R. Egorov, S. Gringeri 및 S. Elby의 2006년 IEEE Selected Topics in Quantum Electronics, 12(4):615-626에서의 Architectural tradeoffs for reconfigurable dense wavelength-division multiplexing systems [MAN 네트워크 인스턴스] 및 Rocketfuel: An ISP topology mapping engine [AS3697 네트워크 인스턴스].
[http://www.cs.washington.edu/research/networking/rocketfuel/에서 입수 가능].
이들의 크기의 범위는 11 노드들 및 23 에지들(NJLATA)에서 148 노드들 및 270 에지들(AS 3967)에 이르고 이들의 평균 노드 도들은 표 1에 명시된다.
Figure 112014041303011-pct00013
평가 방식들:
DisPath의 성능은 유사한 특성들을 가지는 방식들, 특히: (a) IP 패킷들로의 변화들이 없고; (b) 안정된 상태에서, 패킷들이 최단 경로를 따라 자신들의 목적지로 라우팅되고; (c) 모든 라우터가 목적지당 단 2개의 포인터들만을 1차 및 백업 이웃들로 유지하는 방식들에 대하여 비교되었다. 문헌에서 제안되는 다양한 해법들 중에서, LFA 및 U-턴만이 상기 기준을 모두 만족한다. 이 방식들은 DisPath와 같이 복잡도가 낮고, 그리고 이것들은 또한 업계에 의해 광범위하게 고려되어 왔다. 실제로, 이 방식들은 2007년 IEEE COMSWARE의 회보에서의 M. Gjoka, V. Ram, 및 X. Yang의 Evaluation of IP fast reroute proposals, 2011년 IEEE Communications Surveys and Tutorials에서의 M. Goyal, M. Soperi, E Baccelli, G. Choudhury, A. Shaikh, H. Hosseini 및 K. Trivedi의 Improving convergence speed and scalability in OSPF와 같은 논문들에서 기술되는 바와 같이, 다른 IP FRR 방식들의 성능을 평가하는 벤치마크들로서 흔히 사용된다.
성능 메트릭들:
평가 방식의 성능은 2개의 성능 측정들과 관련하여 비교되었다:
커버리지: 링크 고장들에 대한 커버리지는 임의의 단일 링크 고장에 대해 보호되는 소스-목적지 쌍의 퍼센티지이고, 노드 고장들에 대한 커버리지는 자체의 목적지의 고장을 배제한, 임의의 단일 노드 고장에 대해 보호되는 쌍들의 퍼센티지이다. 다른 평가 방식들과는 달리, DisPath는 링크 및 노드 고장들에 대해 100% 커버리지를 제공하는 점이 상기된다.
스트레치 ( stretch ): 소스-목적지 쌍 및 자체의 최단 경로에 따라 고장이 난 구성요소가 제공되면, 스트레치는 대체 라우트의 길이 및 고장이 난 네트워크 구성요소를 포함하지 않는 최단의 소스-목적지 경로의 길이 사이의 비이다.
각각의 네트워크 예의 경우, 모든 링크 고장들에 대한, 그리고 별개로 모든 노드 고장들에 대한 모든 소스-목적지 경로들에 걸쳐 평균 및 최대 스트레치가 기록되었다.
평가 결과들:
시뮬레이션 결과들이 표 1 및 표 2에 표시된다. 표 1은 DisPath의 평균 스트레치가 테스트 경우들에서 허용 가능하게 낮게 유지되는 것을 시사한다.
표 2는 비교 테스트들의 결과들을 제시한다. LFA의(및 U-턴의, 각각의) 평균 및 최대 스트레치는 상기 방식이 루프-프리 대체 경로를 제공하는 소스-목적지 쌍들만을 고려하는 동안 계산되는 점이 주의된다. 이 값들은 상기 동일한 쌍들에 대한 DisPath의 "등가의" 평균 및 최대 스트레치에 병치된다.
분명히, 거의 모든 테스트 경우들에서 LFA와 U-턴 어느 것도 모든 고장에 대한 보호를 제공하지 못하지만, 후자의 방식은 네트워크가 낮은 평균 노드 도를 가지지 않는 한 흔히 거의 근접한다. 더욱이, 항상 100% 커버리지를 보장하는 것 외에도, DisPath는 전형적으로 스트레치에 관하여 다른 두 방식들을 능가하고, 심지어 그러하지 않을 때조차도, disPath는 기껏해야 조금 더 나빠질 뿐이다. 결과적으로, 이 실험 결과들은 DisPath가 LFA 및 U-turn에 비해 전반적으로 바람직하다는 것에 대한 강력한 증거를 제시한다.
그러므로 개시된 방식은 이중 접속 그래프로서 모델링되는 네트워크에서 임의의 단일링크 또는 노드 고장에 대해 완전하게 보호하는 신규한 IP 고속 리라우트 방식이다.
상기 문헌에서 제시되는 여러 방식들과는 달리, 본 발명의 실시예들은 IP 패킷 포맷에 대한 어떠한 변화들도 요구하지 않는다. LFA에 의해 정의되는 것과 동일한 전송 테이블에 대한 기본 요건들 및 본 발명의 U-턴 실시예들에서 사용되는 것과 동일한 직접 고장 검출 방법에 의해, 본 발명의 실시예는 단일 링크 또는 노드 고장들에 대해 100% 범위를 제공한다. 실시예들의 여러 중요한 속성들이 제시되었고 또한 여러 실질적인 네트워크 경우들을 사용한 시뮬레이션 결과들을 통해 본 발명의 실시예들이 또한 스트레치 면에서 매우 경쟁력이 있음을 밝혔다.
간소화, 단일 링크와 노드 고장들에 대한 완전한 보호 및 어필링 스트레치 요인은 본 발명의 실시예들이 IP FRR에 대한 신뢰할 수 있고 실제적인 해법에 대한 강력한 후보를 포함할 것이라는 생각을 뒷받침한다.
전술한 논의에서, 다양한 상술한 방법들의 단계들이 적절히 구성되는 네트워크 프로세서들에 의해 수행될 수 있음을 당업자가 용이하게 인정할 것임에 유의한다. 본원에서, 일부 실시예들은 또한 기계 또는 컴퓨터 판독 가능하며 명령들의 기계 실행 가능 또는 컴퓨터 실행 가능한 명령들의 프로그램들을 인코딩하는 프로그램 저장 디바이스들, 예를 들어 디지털 데이터 저장 매체를 포괄하도록 의도되고, 여기서 상기 명령들은 상술한 방법들의 단계들의 일부 또는 모두를 수행한다. 프로그램 저장 디바이스들은 모두 유형 및 비-일시적 저장 매체이고 예를 들어 디지털 메모리들, 자기 디스크들 및 자기 테이프들과 같은 자기 저장 매체, 하드 드라이브들 또는 광학적으로 판독 가능한 디지털 데이터 저장 매체일 수 있다.
실시예들은 또한 상술한 방법들의 상기 단계들을 수행하도록 프로그램된 네트워크 요소 프로세서들을 포괄하도록 의도된다.
청구항들에서 정의되는 본 발명의 범위를 벗어나지 않고 상술한 본 발명의 실시예들에 대해 수많은 수정들, 변형들 및 적응들이 행해질 수 있다.
Figure 112014041303011-pct00014

Claims (15)

  1. 목적지 노드를 가지고 도착하는 패킷(an arriving packet)을 라우팅(routing)하기 위한 네트워크 노드에서의 네트워크 요소로서,
    전송 정보 메모리 저장소(a forwarding information memory storage)에 저장된 전송 정보 테이블 내의 상기 목적지 노드와 연관되는 제 1 포인터 및 제 2 포인터 중 하나에 따라 상기 도착하는 패킷을 다음 홉(next hop) 이웃 노드로 전송(409, 410, 415, 505, 509)하도록 구성되는 라우터(router)를 포함하고,
    상기 제 1 포인터는 상기 네트워크 노드로부터 상기 목적지 노드까지의 최단 경로 상에 있는 제 1 다음 홉 이웃 노드로 지향되고,
    상기 제 2 포인터는 상기 제 1 다음 홉 이웃 노드와 상이한 제 2 다음 홉 이웃 노드로 지향되고, 상기 제 2 다음 홉 이웃 노드는 상기 목적지 노드 및 상기 네트워크 노드 모두를 포함하고 상기 목적지 노드에 착근(rooting)되는 싱크 트리(a sink tree)와 최대로 중첩하는 후보 사이클(a candidate cycle) 상에 있고
    상기 도착하는 패킷이 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로부터 도착하는 경우(403, 504)에 상기 라우터는 상기 제 2 포인터에 따라 상기 도착하는 패킷을 전송(415, 509)하도록 구성되는
    네트워크 요소.
  2. 제 1 항에 있어서,
    상기 라우터는 상기 도착하는 패킷이 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드 이외의 다른 이웃하는 노드로부터 도착하는 경우(403, 504)에 상기 제 1 포인터에 따라 상기 도착하는 패킷을 전송(410, 505)하도록 구성되는
    네트워크 요소.
  3. 삭제
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 라우터는 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드가 패킷들을 전송할 수 없는 경우(404, 504)에 상기 제 2 포인터에 따라 상기 도착하는 패킷을 전송(408, 509)하도록 구성되는
    네트워크 요소.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 라우터는 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로의 링크가 패킷들을 전송할 수 없는 경우에(404, 504) 상기 제 2 포인터에 따라 상기 도착하는 패킷을 전송(408, 509)하도록 구성되는
    네트워크 요소.
  6. 제 1 항 또는 제 2 항에 있어서,
    전송 정보 메모리 저장소에 저장되는 상기 전송 정보 테이블 내의 상기 목적지 노드와 연관되는 제 1 플래그(flag) 및 제 2 플래그를 더 포함하고,
    상기 제 1 플래그는 상기 네트워크 노드로부터 상기 목적지 노드로의 최단 경로의 동작 상태를 표시하고,
    상기 제 2 플래그는 상기 네트워크 노드로부터 상기 제 2 다음 홉 노드로의 링크가 상기 목적지 노드에 착근되는 상기 싱크 트리의 요소인지 여부를 표시하고,
    상기 라우터는, 상기 제 1 플래그가 비 동작 상태를 표시하고 상기 제 2 플래그가 상기 네트워크 노드로부터 상기 제 2 다음 홉 노드로의 링크가 상기 목적지 노드에 착근되는 상기 싱크 트리의 요소임을 표시하며 상기 도착하는 패킷이 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로부터 도착하는 경우(503)에, 상기 도착하는 패킷을 드롭(drop)(513)하도록 구성되는
    네트워크 요소.
  7. 제 6 항에 있어서,
    상기 라우터는 상기 도착하는 패킷이 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드 이외의 다른 이웃하는 노드로부터 도착하는 경우(504)에 상기 제 1 포인터에 따라 상기 도착하는 패킷을 전송(505)하도록 구성되는
    네트워크 요소.
  8. 제 6 항에 있어서,
    상기 라우터는 상기 도착하는 패킷이 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로부터 도착하는 경우(504)에 상기 제 2 포인터에 따라 상기 도착하는 패킷을 전송(509)하도록 구성되는
    네트워크 요소.
  9. 제 6 항에 있어서,
    상기 라우터는 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드가 패킷들을 전송할 수 없는 경우(504)에 상기 제 2 포인터에 따라 상기 도착하는 패킷을 전송(509)하도록 구성되는
    네트워크 요소.
  10. 제 6 항에 있어서,
    상기 라우터는 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로의 링크가 패킷들을 전송할 수 없는 경우(504)에 상기 제 2 포인터에 따라 상기 도착하는 패킷을 전송(509)하도록 구성되는
    네트워크 요소.
  11. 제 1 항 또는 제 2 항에 있어서,
    상기 네트워크 요소가 상기 네트워크 내의 노드라는 상기 네트워크에 대한 새로운 네트워크 구성을 표시하는 네트워크 구성 정보가 도착하는 경우에,
    상기 전송 정보 테이블은 상기 새로운 네트워크 구성에 대응하여 상기 싱크 트리 상의 상기 네트워크 노드에 대한 조상 노드들(ancestral nodes)이 재구성되었던 시간 기간에 후속하는 시간에 갱신되는
    네트워크 요소.
  12. 메모리 디바이스에 저장된 네트워크 구성을 가지는 네트워크의 제 1 네트워크 노드에서의 전송 정보 메모리 저장소에 저장된 전송 정보 테이블 내의 목적지 노드와 연관되는 1차 포인터 및 백업 포인터를 자동으로 계산하는 방법으로서,
    상기 네트워크의 상기 네트워크 구성을 사용하여 상기 목적지 노드에 착근되는 싱크 트리를 계산하는 단계(303)와,
    상기 네트워크의 상기 네트워크 구성을 사용하여 상기 제 1 네트워크 노드로부터 상기 목적지 노드로의 최단 경로를 계산하는 단계(309)와,
    상기 제 1 네트워크 노드로부터 상기 목적지 노드로의 최단 경로 상에 있는 제 1 다음 홉 이웃 노드로 상기 1차 포인터를 지향시키는 단계(310)와,
    상기 제 1 다음 홉 이웃 노드와 상이한 제 2 다음 홉 이웃 노드로 상기 백업 포인터를 지향시키는 단계(310) - 상기 제 2 다음 홉 이웃 노드는 상기 제 1 네트워크 노드 및 상기 목적지 노드를 포함하고 상기 목적지 노드에 착근되는 싱크 트리와 최대로 중첩하는 후보 사이클 상에 있음 - 와,
    도착하는 패킷이 상기 제 1 포인터에 의해 표시되는 다음 홉 이웃 노드로부터 도착하는 경우(403, 504)에 상기 제 2 포인터에 따라 상기 도착하는 패킷을 전송하는 단계(415, 509)를 포함하는
    방법.
  13. 제 12 항에 있어서,
    상기 네트워크 노드 및 상기 목적지 노드 외의 상기 네트워크의 모든 노드들에 대해 상기 두번째의 계산하는 단계 및 상기 지향시키는 단계들을 반복하는 단계(302)를 더 포함하는
    방법.
  14. 제 12 항 또는 제 13 항에 있어서,
    상기 네트워크 구성에 대한 갱신을 수신하는 단계와,
    상기 갱신을 상기 메모리 디바이스에 저장하는 단계와,
    상기 네트워크의 상기 갱신된 네트워크 구성을 사용하여 상기 목적지 노드에 착근되는 새로운 싱크 트리를 계산하는 단계(303)와,
    상기 네트워크 노드 이외의 상기 네트워크의 모든 노드들에 대하여 상기 두번째의 계산하는 단계 및 상기 지향시키는 단계들을 반복함으로써 상기 갱신된 네트워크 구성에 대응하여 싱크 트리 상의 상기 네트워크 노드에 대한 조상 노드들(ancestral nodes)이 재구성되었던 시간 기간에 후속하는 시간에 상기 전송 정보 테이블을 갱신하는 단계를 더 포함하는
    방법.
  15. 제 14 항에 있어서,
    상기 새로운 싱크 트리 내의 최근접 조상 노드로부터 상기 목적지 노드까지의 경로가 변경되지 않은 경우, 상기 새로운 싱크 트리 내의 최근접 조상 노드의 상기 네트워크 노드까지의 홉 수(hop-count) 거리에 따라 상기 시간 기간이 계산되는
    방법.
KR1020147011710A 2011-11-01 2012-11-01 완전한 보호를 제공하는 ip 고속 리라우트 방식 KR101593349B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161554341P 2011-11-01 2011-11-01
US61/554,341 2011-11-01
US13/436,098 2012-03-30
US13/436,098 US9350641B2 (en) 2011-11-01 2012-03-30 IP fast reroute scheme offering full protection
PCT/US2012/062955 WO2013067111A1 (en) 2011-11-01 2012-11-01 An ip fast reroute scheme offering full protection

Publications (2)

Publication Number Publication Date
KR20140072900A KR20140072900A (ko) 2014-06-13
KR101593349B1 true KR101593349B1 (ko) 2016-02-18

Family

ID=48172333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147011710A KR101593349B1 (ko) 2011-11-01 2012-11-01 완전한 보호를 제공하는 ip 고속 리라우트 방식

Country Status (6)

Country Link
US (1) US9350641B2 (ko)
EP (1) EP2774333B1 (ko)
JP (1) JP2014534776A (ko)
KR (1) KR101593349B1 (ko)
CN (1) CN104012051B (ko)
WO (1) WO2013067111A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2922250B1 (en) * 2012-11-15 2019-05-15 Nec Corporation Control apparatus, communication system, control information creating method and program
US20150016242A1 (en) * 2013-07-12 2015-01-15 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for Optimized LFA Computations by Pruning Neighbor Shortest Path Trees
US9438472B2 (en) * 2013-07-19 2016-09-06 Telefonaktiebolaget Lm Ericsson (Publ) Extended remote LFA fast reroute
US20150091909A1 (en) * 2013-09-30 2015-04-02 Alcatel Lucent Systems And Methods For Distance Approximation In Graphs
CN104579952B (zh) * 2013-10-25 2017-12-15 新华三技术有限公司 一种抵御主隧道多点故障的保护隧道创建方法及设备
CN103795625A (zh) * 2014-01-23 2014-05-14 杭州华三通信技术有限公司 多协议标签交换网络的快速重路由实现方法及装置
CN103795626B (zh) * 2014-02-19 2017-07-07 华为技术有限公司 组播快速保护倒换的方法与装置
US9300568B2 (en) * 2014-03-21 2016-03-29 Telefonaktiebolaget L M Ericsson (Publ) Procedure to add alternate paths for IS-IS default route
CN105337864B (zh) * 2014-07-22 2019-03-29 新华三技术有限公司 报文转发方法及装置
US9444676B2 (en) * 2014-09-08 2016-09-13 Telefonaktiebolaget L M Ericsson (Publ) Efficient identification of Q-space in remote LFA
US10069716B2 (en) 2015-07-29 2018-09-04 At&T Intellectual Property I, L.P. Methods and apparatus to reflect routes from a remotely located virtual route reflector
CN105577535B (zh) * 2015-12-17 2018-11-20 清华大学 基于多下一跳和备份路径的混合链路保护方法
CN108199955B (zh) * 2016-12-08 2021-11-12 中兴通讯股份有限公司 一种路由建立方法和装置
CN107302500B (zh) * 2017-06-12 2020-06-12 山西大学 一种基于逐跳方式的单节点故障保护方法
WO2020100151A1 (en) * 2018-11-13 2020-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Efficient method of computing backup routes
US20220070084A1 (en) * 2019-01-24 2022-03-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and system to prevent micro-loops during a network topology change
CN110837583B (zh) * 2019-09-27 2022-10-28 西安空间无线电技术研究所 一种基于数据链消息活跃度的快速查找方法、系统及介质
CN112910781B (zh) * 2019-12-04 2022-12-06 中国电信股份有限公司 网络故障切换方法、装置、系统和存储介质
CN112073226A (zh) * 2020-08-26 2020-12-11 内蒙古智诚物联股份有限公司 一种基于5g技术下的ip网络恢复方法及装置
CN113938416B (zh) * 2021-10-26 2023-03-31 新华三信息安全技术有限公司 一种路径选择方法及装置
CN115202661B (zh) * 2022-09-15 2022-11-29 深圳大学 一种具有层次结构布局的混合生成方法及相关设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872773A (en) 1996-05-17 1999-02-16 Lucent Technologies Inc. Virtual trees routing protocol for an ATM-based mobile network
US7580360B2 (en) 2003-10-14 2009-08-25 Cisco Technology, Inc. Method and apparatus for generating routing information in a data communications network
US7561534B2 (en) 2004-06-30 2009-07-14 Alcatel-Lucent Usa Inc. Methods of network routing having improved resistance to faults affecting groups of links subject to common risks
US7990846B2 (en) * 2004-12-30 2011-08-02 Alcatel-Lucent Usa Inc. Method and apparatus for provisioning a hop limited protection pathway in a network
US7864669B2 (en) * 2005-10-20 2011-01-04 Cisco Technology, Inc. Method of constructing a backup path in an autonomous system
CN100456700C (zh) * 2006-08-31 2009-01-28 华为技术有限公司 提供具有多种保护和恢复类型的组播业务方法和装置
US8804501B2 (en) * 2007-07-16 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Link failure recovery method and apparatus
EP2169876A1 (en) * 2008-09-30 2010-03-31 Alcatel Lucent Method for restoring connections in a network
JP2011066536A (ja) 2009-09-15 2011-03-31 Wakayama Univ 経路制御装置

Also Published As

Publication number Publication date
EP2774333B1 (en) 2018-01-03
US20130107698A1 (en) 2013-05-02
EP2774333A1 (en) 2014-09-10
WO2013067111A1 (en) 2013-05-10
CN104012051A (zh) 2014-08-27
JP2014534776A (ja) 2014-12-18
KR20140072900A (ko) 2014-06-13
US9350641B2 (en) 2016-05-24
CN104012051B (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
KR101593349B1 (ko) 완전한 보호를 제공하는 ip 고속 리라우트 방식
US9059928B2 (en) Controller placement for fast failover in the split architecture
Yang et al. Keep forwarding: Towards k-link failure resilient routing
US8780696B2 (en) System and method of implementing lightweight not-via IP fast reroutes in a telecommunications network
US8456982B2 (en) System and method for fast network restoration
EP2750327A1 (en) Method and apparatus for computing alternate multicast/broadcast paths in a routed network
KR20140053265A (ko) 분할 아키텍처 시스템에서의 제어 트래픽의 탄력적 라우팅을 위한 방법 및 장치
Muthumanikandan et al. Link failure recovery using shortest path fast rerouting technique in SDN
Antonakopoulos et al. Full protection made easy: The DisPath IP fast reroute scheme
Narváez et al. Local restoration algorithm for link-state routing protocols
Antonakopoulos et al. A simple IP fast reroute scheme for full coverage
García et al. LSOM: A link state protocol over mac addresses for metropolitan backbones using optical ethernet switches
Xu et al. Failure inference for shortening traffic detours
EP2337272B1 (en) System and method for routing data units
Narváez et al. Fault-tolerant routing in the internet without flooding
Yang et al. Tunneling on demand: A lightweight approach for ip fast rerouting against multi-link failures
KR20220006095A (ko) 링크 비트 에러 기반 처리 방법 및 디바이스
Vo et al. Routing with joker links for maximized robustness
Zhang et al. Traffic engineering for proactive failure recovery of IP networks
Xi et al. ESCAP: Efficient scan for alternate paths to achieve IP fast rerouting
Abujassar Feasibility of IP by adaptive virtual routing in IGP networks to enhance services in cloud computing
Hansen et al. Could Proactive Link-State Routed Wireless Networks Benefit from Local Fast Reroute?
CN116319537A (zh) 一种基于节点序列的路由可用性计算方法
Ma et al. Reducing packet loss with protection tunnel based rerouting
Qiaoqin et al. Fast Local Rerouting using Source-Based Tree Failure Recovery

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 4