KR102397956B1 - 내부 게이트웨이 프로토콜 플러딩 최소화 - Google Patents

내부 게이트웨이 프로토콜 플러딩 최소화 Download PDF

Info

Publication number
KR102397956B1
KR102397956B1 KR1020207022906A KR20207022906A KR102397956B1 KR 102397956 B1 KR102397956 B1 KR 102397956B1 KR 1020207022906 A KR1020207022906 A KR 1020207022906A KR 20207022906 A KR20207022906 A KR 20207022906A KR 102397956 B1 KR102397956 B1 KR 102397956B1
Authority
KR
South Korea
Prior art keywords
node
flooding
link
nodes
network
Prior art date
Application number
KR1020207022906A
Other languages
English (en)
Other versions
KR20200106184A (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 후아웨이 테크놀러지 컴퍼니 리미티드
Priority to KR1020227015713A priority Critical patent/KR102496586B1/ko
Publication of KR20200106184A publication Critical patent/KR20200106184A/ko
Application granted granted Critical
Publication of KR102397956B1 publication Critical patent/KR102397956B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/12Shortest path evaluation
    • 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/123Evaluation of link metrics
    • 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/44Distributed 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/46Cluster building
    • 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/48Routing tree calculation
    • H04L45/488Routing tree calculation using root node determination

Abstract

IGP(Interior Gateway Protocol) 네트워크에서 LSFR(link state flooding reduction)를 구현하기 위한 메커니즘이 개시된다. 이러한 메커니즘은 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하는 것을 포함한다. 이러한 접속성에 기초하여 플러딩 토폴로지가 구축된다. 이러한 것은 노드들 중 하나를 루트 노드로서 선택하는 것, 및 이러한 루트 노드를 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것을 포함한다. 이러한 플러딩 토폴로지는 메모리에 저장된다. 이러한 플러딩 토폴로지는 네트워크에서의 나머지 노드들에 대해서는 아닐 수 있다. 이러한 플러딩 토폴로지를 통해 링크 상태 메시지들이 다음으로 플러딩될 수 있다.

Description

내부 게이트웨이 프로토콜 플러딩 최소화
<관련 출원들에 대한 상호 참조>
본 특허 출원은 Huaimo Chen에 의해 "Open Shortest Path First (OSPF) Flood Minimization"라는 명칭으로 2018년 1월 12일에 출원된 미국 임시 특허 출원 제62/616,499호, Huaimo Chen에 의해 "Intermediate System-Intermediate System (IS-IS) Flood Minimization"라는 명칭으로 2018년 2월 1일에 출원된 미국 임시 특허 출원 제62/624,986호, Huaimo Chen에 의해 "Interior Gateway Protocol Flood Minimization"라는 명칭으로 2018년 10월 25일에 출원된 미국 임시 특허 출원 제62/750,677호의 혜택을 청구하며, 이들 전부는 본 명세서에 의해 참조로 원용된다.
<기술 분야>
본 개시내용은 일반적으로 IGP(Interior Gateway Protocol) 기반 네트워크들에 관련되고, 구체적으로 개별 플러딩 토폴로지를 생성하여 IGP 기반 네트워크에서 패킷 플러딩을 최소화하는 것을 지원하는 메커니즘에 관련된다.
특정 네트워크들은 링크 상태 정보를 이용하여 패킷들을 라우팅한다. 이러한 네트워크들에서, 각각의 노드는 동기화 프로세스의 부분으로서 링크 상태 메시지들에서 네트워크에 걸쳐 노드의 링크 상태 정보를 브로드캐스팅한다. 노드의 링크 상태 정보는 노드를 식별하는, 노드의 이웃들을 표시하는, 이러한 이웃들과 접촉하기 위한 거리 및/또는 라우팅 비용들을 표시하는 데이터를 포함한다. 각각의 노드는 다른 노드들로부터 링크 상태 메시지들을 수신하고, 링크 상태 정보를 사용하여 링크 상태 데이터베이스를 채운다. 각각의 노드는 다음으로 대응하는 링크 상태 데이터베이스를 사용하여 다른 노드들과 데이터 패킷들을 통신하기 위한 최단 경로들을 결정할 수 있다. 이러한 네트워크들은 특정 확장성 문제점들을 겪는다. 구체적으로, 각각의 노드는 네트워크에서의 모든 다른 노드들에 링크 상태 메시지를 주기적으로 브로드캐스팅한다. 더 많은 노드들이 네트워크에 추가됨에 따라, 더 많은 링크 상태 메시지들이 브로드캐스팅되고, 이는 대역폭에 대한 데이터 트래픽과 경합하는 시그널링 오버헤드를 항상 증가시키는 것을 초래한다.
실시예에서, 본 개시내용은 네트워크에서의 제1 노드에서 구현되는 방법을 포함한다. 이러한 방법은, 제1 노드의 수신기에서, 제1 노드를 포함하는 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하는 단계를 포함한다. 이러한 방법은, 제1 노드의 프로세서에 의해, 접속성에 기초하여 플러딩 토폴로지를 구축하는 단계를 추가로 포함한다. 이러한 플러딩 토폴로지는 노드들 중 하나를 루트 노드로서 선택하는 것, 및 이러한 루트 노드를 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의해 구축된다. 이러한 플러딩 토폴로지는 네트워크에서의 복수의 노드들에 플러딩 토폴로지를 송신하지 않고 메모리에 저장된다. 이러한 방법은 제1 노드의 송신기에 의해, 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하는 단계를 추가로 포함한다. 플러딩 토폴로지를 이용하는 것은 링크 상태 메시지들이 모든 링크들을 통해 플러딩될 것을 요구하지 않고 리스트 상태 메시지들이 네트워크에서의 모든 노드들에 도달하는 것을 허용한다. 이러한 것은 중복 링크 상태 메시지 트래픽을 감소시키고, 그러므로 네트워크 트래픽 혼잡을 감소시킨다. 이러한 감소는 플러딩 토폴로지가 다수의 네트워크 노드들에 비례하는 방식으로 네트워크 트래픽 혼잡을 감소시키는 바와 같이 증가된 네트워크 확장성을 또한 제공한다. 또한, 각각의 노드가 네트워크를 통해 플러딩 토폴로지를 송신하지 않고 플러딩 토폴로지를 개별적으로 계산하는 것을 허용하는 것은 네트워크 트래픽 혼잡을 추가로 감소시킨다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기에서, 트리에 추가하기 위한 다수의 리프 링크들을 명시하는 요청을 수신하는 단계, 및, 프로세서에 의해, 네트워크에서의 노드들 사이의 다수의 리프 링크들을 플러딩 토폴로지에 추가하는 단계를 추가로 포함하는 것을 포함한다. 리프 링크들을 플러딩 토폴로지에 추가하는 것은 중복성, 뿐만 아니라 안정성을 추가한다. 추가적인 리프 링크들은 플러딩 토폴로지를 단절할 수 있는 장비 실패의 다수의 잠재적 소스들을 감소시킨다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 리프 링크들을 추가하기 전에, 플러딩 토폴로지에서의 링크들의 트리는 네트워크에서의 노드들 전부를 루트 노드에 접속하기 위한 최소 수의 링크들을 포함하는 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 프로세서에 의해, 신규로 접속된 노드와의 인접성을 수립하는 단계를 추가로 포함하는 것을 포함한다. 신규로 접속된 노드는 링크를 통해 제1 노드에 직접 접속된다. 이러한 방법은, 프로세서에 의해, 신규로 접속된 노드를 플러딩 토폴로지가 재계산될 때까지 플러딩 토폴로지에서의 링크들의 트리에 추가하는 단계를 추가로 포함한다. 이러한 것은 플러딩 토폴로지가 전체 네트워크에 의해 즉시 재계산될 것을 요구하지 않고 신규 노드들이 플러딩 토폴로지에 추가되는 것을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기에서, 플러딩 토폴로지로부터 배제되는 링크에 걸쳐 제1 링크 상태 메시지를 수신하는 단계; 및 송신기에 의해, 플러딩 토폴로지 상의 링크들에 걸쳐 제1 링크 상태 메시지를 플러딩하는 단계를 추가로 포함하는 것을 포함한다. 이러한 것은 모든 인터페이스들에 걸쳐 플러딩 없이 플러딩 토폴로지 외부로부터 수신되는 링크 상태 메시지들이 네트워크에 걸쳐 전달되는 것을 허용한다. 이러한 것은 플러딩 토폴로지를 이용할 수 없는 디바이스들과의 역방향 호환성을 허용하기 위해 사용될 수 있다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기에서, 네트워크에서의 제2 노드가 다운됨을 표시하는 제2 링크 상태 메시지를 수신하는 단계; 송신기에 의해, 제2 링크 상태 메시지를 제1 노드와 제2 노드의 이웃들 사이에 접속하는 링크들에 플러딩하는 단계를 추가로 포함하는 것을 포함한다. 이러한 것은 오동작에 직접 접속되지 않은 네트워크의 부분들에 대한 플러딩 토폴로지를 유지하면서 오동작 노드 주위의 통신을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기에서, 네트워크에서의 제1 링크가 다운됨을 표시하는 제3 링크 상태 메시지를 수신하는 단계를 추가로 포함하는 것을 포함한다. 이러한 방법은 제1 링크가 중요 엘리먼트인 것으로 결정하는 단계를 추가로 포함한다. 이러한 방법은, 결정에 기초하여, 제3 링크 상태 메시지를 제1 링크에 부착되는 노드에 인접하는 노드들을 또한 접속하는 이웃들에 접속하는 링크들에 전송하는 단계를 추가로 포함한다. 이러한 것은 오동작에 직접 접속되지 않은 네트워크의 부분들에 대한 플러딩 토폴로지를 유지하면서 오동작 링크 주위의 통신을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 프로세서에 의해, 중요 엘리먼트들을 결정하는 단계- 중요 엘리먼트는 실패가 플러딩 토폴로지를 분열시키는 링크 또는 노드임 -; 및 중요 인터페이스가 실패할 때 플러딩 토폴로지의 사용을 중단하는 단계를 추가로 포함하는 것을 포함한다. 중요 엘리먼트의 실패는 플러딩 토폴로지를 다수의 토폴로지들로 분해한다. 그러므로, 중요 엘리먼트의 실패는 플러딩 토폴로지를 통해 링크 상태 메시지들이 네트워크에서의 모든 노드들에 도달하는 것을 방지할 수 있다. 이러한 잠재적 문제점의 인식을 유지하는 것은 중요 인터페이스를 생략하는 다른 플러딩 토폴로지가 생성될 수 있을 때까지 네트워크가 일반 플러딩으로 복귀하는 것을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 OSPF(Open Shortest Path First) LSA들(Link State Advertisements)인 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 IS-IS(Intermediate System to Intermediate System) LSP들(Link State Protocol data units)인 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 플러딩 토폴로지를 통해 링크 상태 플러딩 감소를 지원하는 네트워크에서의 노드들을 표시하도록 설정되는 F(Flooding reduction) 플래그들을 포함하는 것을 포함한다. F 플래그들은 역방향 호환성을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 중앙집중형 링크 상태 플러딩 감소, 분산형 링크 상태 플러딩 감소, 또는 정적 구성형 링크 상태 플러딩 감소를 표시하도록 설정되는 모드 필드를 포함하는 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 플러딩 토폴로지에서 링크들의 트리를 구축하기 위한 알고리즘을 표시하도록 설정되는 알고리즘 필드를 포함하는 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 전체 네트워크 플러딩으로부터 링크 상태 플러딩 감소로 스위칭하도록 설정되는 OP(operation) 필드를 포함하는 것을 포함한다.
실시예에서, 본 개시내용은 네트워크에서의 제1 노드를 포함한다. 이러한 제1 노드는, 제1 노드를 포함하는 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하도록 구성되는 수신기를 포함한다. 이러한 제1 노드는 수신기에 연결되는 프로세서를 또한 포함한다. 이러한 프로세서는 접속성에 기초하여 플러딩 토폴로지를 구축하도록 구성된다. 이러한 것은 노드들 중 하나를 루트 노드로서 선택하는 것, 및 이러한 루트 노드를 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의해 발생된다. 이러한 제1 노드는 프로세서에 연결되는 메모리- 메모리는 플러딩 토폴로지를 저장하도록 구성됨 -를 또한 포함한다. 이러한 제1 노드는 프로세서에 연결되는 송신기- 송신기는 네트워크에서의 나머지 노드들에 플러딩 토폴로지를 송신하지 않고 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하도록 구성됨 -를 또한 포함한다. 플러딩 토폴로지를 이용하는 것은 링크 상태 메시지들이 모든 링크들을 통해 플러딩될 것을 요구하지 않고 리스트 상태 메시지들이 네트워크에서의 모든 노드들에 도달하는 것을 허용한다. 이러한 것은 중복 링크 상태 메시지 트래픽을 감소시키고, 그러므로 네트워크 트래픽 혼잡을 감소시킨다. 이러한 감소는 플러딩 토폴로지가 다수의 네트워크 노드들에 비례하는 방식으로 네트워크 트래픽 혼잡을 감소시키는 바와 같이 증가된 네트워크 확장성을 또한 제공한다. 또한, 각각의 노드가 네트워크를 통해 플러딩 토폴로지를 송신하지 않고 플러딩 토폴로지를 개별적으로 계산하는 것을 허용하는 것은 네트워크 트래픽 혼잡을 추가로 감소시킨다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기는 트리에 추가하기 위한 다수의 리프 링크들을 명시하는 요청을 수신하도록 추가로 구성되고, 프로세서는 네트워크에서의 노드들 사이의 다수의 리프 링크들을 플러딩 토폴로지에 추가하도록 추가로 구성되는 것을 포함한다. 리프 링크들을 플러딩 토폴로지에 추가하는 것은 중복성, 뿐만 아니라 안정성을 추가한다. 추가적인 리프 링크들은 플러딩 토폴로지를 단절할 수 있는 장비 실패의 다수의 잠재적 소스들을 감소시킨다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 리프 링크들을 추가하기 전에, 플러딩 토폴로지에서의 링크들의 트리는 네트워크에서의 노드들 전부를 루트 노드에 접속하기 위한 최소 수의 링크들을 포함하는 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 프로세서는 신규로 접속된 노드와의 인접성을 수립하도록 추가로 구성되고, 신규로 접속된 노드는 링크를 통해 제1 노드에 직접 접속되고, 프로세서는 신규로 접속된 노드를 플러딩 토폴로지가 재계산될 때까지 플러딩 토폴로지에서의 링크들의 트리에 추가하도록 추가로 구성되는 것을 포함한다. 이러한 것은 플러딩 토폴로지가 전체 네트워크에 의해 즉시 재계산될 것을 요구하지 않고 신규 노드들이 플러딩 토폴로지에 추가되는 것을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기는 플러딩 토폴로지로부터 배제되는 링크에 걸쳐 제1 링크 상태 메시지를 수신하도록 추가로 구성되고, 송신기는 플러딩 토폴로지 상의 링크들에 걸쳐 제1 링크 상태 메시지를 플러딩하도록 추가로 구성되는 것을 포함한다. 이러한 것은 모든 인터페이스들에 걸쳐 플러딩 없이 플러딩 토폴로지 외부로부터 수신되는 링크 상태 메시지들이 네트워크에 걸쳐 전달되는 것을 허용한다. 이러한 것은 플러딩 토폴로지를 이용할 수 없는 디바이스들과의 역방향 호환성을 허용하기 위해 사용될 수 있다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기는 네트워크에서의 제2 노드가 다운됨을 표시하는 제2 링크 상태 메시지를 수신하도록 추가로 구성되고, 송신기는 제2 링크 상태 메시지를 제1 노드와 제2 노드의 이웃들 사이에 접속하는 링크들에 플러딩하도록 추가로 구성되는 것을 포함한다. 이러한 것은 오동작에 직접 접속되지 않은 네트워크의 부분들에 대한 플러딩 토폴로지를 유지하면서 오동작 노드 주위의 통신을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신기는 네트워크에서의 제1 링크가 다운됨을 표시하는 제3 링크 상태 메시지를 수신하도록 추가로 구성되고, 프로세서는 제1 링크가 중요 엘리먼트인 것으로 결정하도록 추가로 구성되고, 송신기는, 결정에 기초하여, 제3 링크 상태 메시지를 제1 링크에 부착되는 노드에 인접하는 노드들을 또한 접속하는 이웃들에 접속하는 링크들에 전송하도록 추가로 구성되는 것을 포함한다. 이러한 것은 오동작에 직접 접속되지 않은 네트워크의 부분들에 대한 플러딩 토폴로지를 유지하면서 오동작 링크 주위의 통신을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 프로세서는 중요 엘리먼트들을 결정하도록- 중요 엘리먼트는 실패가 플러딩 토폴로지를 분열시키는 링크 또는 노드임 -; 그리고 중요 엘리먼트가 실패할 때 플러딩 토폴로지의 사용을 중단하도록 추가로 구성되는 것을 포함한다. 중요 엘리먼트의 실패는 플러딩 토폴로지를 다수의 토폴로지들로 분해한다. 그러므로, 중요 엘리먼트의 실패는 플러딩 토폴로지를 통해 링크 상태 메시지들이 네트워크에서의 모든 노드들에 도달하는 것을 방지할 수 있다. 이러한 잠재적 문제점의 인식을 유지하는 것은 중요 인터페이스를 생략하는 다른 플러딩 토폴로지가 생성될 수 있을 때까지 네트워크가 일반 플러딩으로 복귀하는 것을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 OSPF(Open Shortest Path First) LSA들(Link State Advertisements)인 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 IS-IS(Intermediate System to Intermediate System) LSP들(Link State Protocol data units)인 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 플러딩 토폴로지를 통해 링크 상태 플러딩 감소를 지원하는 네트워크에서의 노드들을 표시하도록 설정되는 F(Flooding reduction) 플래그들을 포함하는 것을 포함한다. F 플래그들은 역방향 호환성을 허용한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 중앙집중형 링크 상태 플러딩 감소, 분산형 링크 상태 플러딩 감소, 또는 정적 구성형 링크 상태 플러딩 감소를 표시하도록 설정되는 모드 필드를 포함하는 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 플러딩 토폴로지에서 링크들의 트리를 구축하기 위한 알고리즘을 표시하도록 설정되는 알고리즘 필드를 포함하는 것을 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 링크 상태 메시지들은 전체 네트워크 플러딩으로부터 링크 상태 플러딩 감소로 스위칭하도록 설정되는 OP(operation) 필드를 포함하는 것을 포함한다.
실시예에서, 본 개시내용은 네트워크에서의 제1 노드에 의해 사용하기 위한 컴퓨터 프로그램 제품을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 컴퓨터 프로그램 제품은 프로세서에 의해 실행될 때 제1 노드로 하여금 선행하는 양태들 중 임의의 것을 수행하게 하도록 비-일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 실행가능 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체를 포함한다.
실시예에서, 본 개시내용은 네트워크에서의 제1 노드를 포함한다. 이러한 제1 노드는 제1 노드를 포함하는 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하기 위한 수신 수단을 포함한다. 이러한 제1 노드는 접속성에 기초하여 플러딩 토폴로지를 구축하기 위한 처리 수단을 또한 포함한다. 이러한 것은 노드들 중 하나를 루트 노드로서 선택하는 것, 및 이러한 루트 노드를 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의해 발생된다. 이러한 제1 노드는 플러딩 토폴로지를 저장하기 위한 메모리 저장 수단을 또한 포함한다. 이러한 제1 노드는 네트워크에서의 나머지 노드들에 플러딩 토폴로지를 송신하지 않고 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하기 위한 송신 수단을 또한 포함한다.
선택적으로, 선행하는 양태들 중 임의의 것에서, 이러한 양태의 다른 구현은, 수신 수단, 처리 수단, 메모리 저장 수단, 및 송신 수단은 선행하는 양태들 중 임의의 것을 수행하도록 구성되는 것을 포함한다.
명확성의 목적을 위해, 전술한 실시예들 중 임의의 하나는 본 개시내용의 범위 내에서 신규 실시예를 생성하기 위해 다른 전술한 실시예들 중 임의의 하나 이상과 조합될 수 있다.
이들 및 다른 특징들은 첨부된 도면 및 청구항과 함께 설명되는 다음의 상세한 설명으로부터 더욱 명확하게 이해될 것이다.
본 개시내용의 보다 완전한 이해를 위해, 첨부 도면들 및 상세한 설명과 관련하여 취해지는, 다음의 간단한 설명이 이제 참조되고, 유사한 참조 번호들은 유사한 부분들을 표현한다.
도 1은 예시적인 IGP 네트워크의 개략도이다.
도 2는 분산형 LSFR(link state flooding reduction)를 지원하기 위한 플러딩 토폴로지가 있는 예시적인 IGP 네트워크의 개략도이다.
도 3은 리프를 이용하는 플러딩 토폴로지가 있는 예시적인 IGP 네트워크의 개략도이다.
도 4는 IGP 네트워크에서 동작하기 위한 예시적인 네트워크 노드의 개략도이다.
도 5는 플러딩 토폴로지를 구축하는 예시적인 방법의 흐름도이다.
도 6은 플러딩 토폴로지를 구축하는 다른 예시적인 방법의 흐름도이다.
도 7은 플러딩 토폴로지를 구축하는 다른 예시적인 방법의 흐름도이다.
도 8은 예시적인 플러딩 메커니즘의 개략도이다.
도 9는 신규 노드 발견시에 이용되는 예시적인 플러딩 메커니즘의 개략도이다.
도 10은 노드가 다운으로 갔음을 발견시에 이용되는 예시적인 플러딩 메커니즘의 개략도이다.
도 11은 노드가 다운으로 갔음을 발견시에 이용되는 다른 예시적인 플러딩 메커니즘의 개략도이다.
도 12는 링크가 다운으로 갔음을 발견시에 이용되는 예시적인 플러딩 메커니즘의 개략도이다.
도 13은 플러딩 토폴로지에서 중요 인터페이스가 있는 예시적인 IGP 네트워크의 개략도이다.
도 14는 LSFR에 대한 노드 지원을 표시하기 위한 예시적인 OSPF(Open Shortest Path First) v2(version two) 인코딩의 개략도이다.
도 15는 LSFR에 대한 노드 지원을 표시하기 위한 예시적인 OSPF v3(version three) 인코딩의 개략도이다.
도 16은 LSFR에 대한 노드 지원을 표시하기 위한 예시적인 IS-IS(Intermediate System-Intermediate System) 인코딩의 개략도이다.
도 17은 IGP 네트워크에서 LSFR을 관리하기 위한 예시적인 LSFR 제어 TLV(type length value) 인코딩의 개략도이다.
도 18은 중앙집중형 LSFR을 분산형 LSFR과 통합하기 위한 예시적인 TLV 인코딩의 개략도이다.
도 19는 IGP 네트워크에서 LSFR 메커니즘들을 동작시키는 예시적인 방법의 흐름도이다.
도 20은 IGP 네트워크에서 LSFR 메커니즘들을 동작시키기 위한 디바이스의 실시예이다.
하나 이상의 실시예의 예시적인 구현이 아래에 제공되더라도, 개시되는 시스템들 및/또는 방법들은, 현재 알려져 있든지 또는 존재하고 있든지 간에, 임의의 수의 기법들을 사용하여 구현될 수 있다는 점이 처음부터 이해되어야 한다. 본 개시내용은, 본 명세서에 도시되고 설명되는 예시적인 설계들 및 구현들을 포함하는, 아래에 예시되는 예시적인 구현들, 도면들, 및 기법들에 결코 제한되는 것은 아니지만, 첨부된 청구항들의 범위와 이들의 등가물들의 전체 범위 내에서 수정될 수 있다.
OSPF 및/또는 IS-IS 네트워크들과 같은, IGP 네트워크들에서 링크 상태 메시지들에 관련된 시그널링 오버헤드를 감소시키는 다양한 메커니즘들이 본 명세서에 개시된다. 네트워크 도메인에서 노드로부터 모든 다른 노드들에 링크 상태 메시지들을 통신하는 것은 플러딩이라고 지칭된다. 집합적으로 LSFR이라고 지칭되는, 개시된 메커니즘들은 실제 네트워크 토폴로지의 서브세트인 플러딩 토폴로지를 생성하는 것에 의해 링크 상태 메시지 플러딩의 영향을 감소시킨다. 일반적으로, 각각의 노드는 플러딩 토폴로지로부터 배제되는 네트워크 링크들에 걸쳐 이러한 메시지들을 송신하지 않고 플러딩 토폴로지를 통해 링크 상태 메시지들을 송신하는 것에 의해 네트워크를 플러딩한다. 이러한 것은, 각각의 노드에서 수신되는 메시지의 다수의 중복 사본들을 최소화하면서, 메시지가 네트워크에서의 모든 다른 노드들에 도달하는 것을 허용한다. 예를 들어, 플러딩 토폴로지는 노드들을 접속하는 링크들의 트리(예를 들어, 스패닝 트리)로서 생성될 수 있다. 이러한 링크들의 트리는 각각의 노드가 플러딩된 메시지의 단일 사본을 수신하는 것을 보장하면서 링크 상태 메시지가 모든 노드들에 플러딩되는 것을 허용한다. 증가된 신뢰성을 위해, 네트워크 관리자에 의해 지시되는 바와 같이 링크들의 트리에 리프들이 추가될 수 있다. 이러한 것은 일부 메시지 중복성을 다시 추가하지만, 링크 또는 노드가 오동작하는 경우에 플러딩 토폴로지에 걸쳐 대안적 메시지 경로(들)를 제공하는 것에 의해 네트워크 신뢰성을 증가시킨다. 분산형 모드에서, 각각의 노드는, 관리자에 의해 선택될 수 있는, 공통 알고리즘을 이용하여 플러딩 트리를 결정한다. 이러한 것은 각각의 노드가 네트워크를 통해 플러딩 토폴로지의 사본을 플러딩하지 않고 플러딩 토폴로지의 사본을 유지하는 것을 허용하며, 이는 네트워크 혼잡을 증가시킬 것이다. F(Flooding reduction) 플래그가 또한 개시된다. F 플래그는 각각의 노드가 LSFR 지원을 통신하는 것을 허용하고, 그러므로 LSFR을 지원하지 않는 노드들과의 역방향 호환성을 유지하면서 노드들이 플러딩 토폴로지를 이용하는 것을 허용한다. F 플래그는 비-LSFR 노드들이 플러딩 토폴로지 트리의 루트로부터 더 멀리 떨어져 접속되는 것을 또한 허용한다. 네트워크 변경들의 경우에 링크 상태 메시지 플러딩을 관리하는 메커니즘들이 또한 개시된다. 예를 들어, 신규 노드가 네트워크에 진입하고 이미 플러딩 토폴로지 상의 이웃 노드와 통신할 때, 이웃 노드는 플러딩 토폴로지의 재계산이 발생할 때까지 신규 노드를 플러딩 토폴로지에 추가할 수 있고, 신규 플러딩 토폴로지가 구축된다. 추가로, 링크 또는 노드 오동작이 있을 때, 이러한 오동작에 인접하는 노드는 링크 상태 메시지들을 플러딩 토폴로지로부터 배제되는 링크들을 통해 오동작에 인접하는 다른 노드들에 통신할 수 있어 이러한 노드들이 오동작이 해결될 때까지 링크 상태 메시지들을 계속 수신하는 것을 보장할 수 있다. 또한, 노드들은 각각이 중요 엘리먼트들의 지식을 보유할 수 있다. 중요 엘리먼트는, 실패시에, 플러딩 토폴로지를 2개 이상의 해체 부분들로 분열시키는 플러딩 토폴로지 링크/인터페이스 또는 노드이다. 중요 엘리먼트의 실패의 통지시에, 이러한 노드들은 링크/노드가 수리될 때까지 또는 실패된 엘리먼트를 포함하지 않는 신규 플러딩 토폴로지가 계산될 때까지 네트워크 기능성을 유지하기 위해 모든 링크들을 통해 링크 상태 메시지들을 플러딩하는 것으로 복귀할 수 있다. 중요 엘리먼트가 플러딩 토폴로지 링크(또는 인터페이스)일 때, 중요 엘리먼트는 중요 인터페이스 또는 중요 링크라고 불리운다. 중요 엘리먼트가 플러딩 토폴로지 노드일 때, 중요 엘리먼트는 중요 노드라고 불리운다.
도 1은 예시적인 IGP 네트워크(100)의 개략도이다. IGP 네트워크(100)는, OSPF 및/또는 IS-IS와 같은, IGP 프로토콜에 기초하여 라우팅 및/또는 스위칭 정보를 교환하도록 구성되는 네트워크이다. IGP 네트워크(100)는 링크들(115)에 의해 상호접속되는 복수의 노드들(111)을 포함한다. 노드(111)는 제1 인터페이스 상의 소스로부터 데이터 패킷을 수신하고, 제2 인터페이스를 통해 데이터 패킷의 목적지가 도달될 수 있다고 결정하고, 제2 인터페이스를 통해 목적지를 향해 데이터 패킷을 전달할 수 있는 네트워크 디바이스이다. 논의의 명확성을 위해, 본 명세서에 사용되는 바와 같은 데이터 패킷이라는 용어는 데이터 패킷들 및 데이터 프레임들 양자 모두를 포함한다. 링크(115)는 제1 노드(111)의 인터페이스로부터 제2 노드(111)의 인터페이스로 신호를 전파할 수 있는 매체이다.
노드들(111)은 상호접속되어 네트워크 도메인(110)을 형성한다. 본 명세서에 사용되는 바와 같이, 네트워크 도메인(110)은 네트워크 어드레싱 스킴들, 정책들, 및/또는 프로토콜들을 공유하는 상호접속된 노드들(111)의 그룹이다. 구체적으로, 네트워크 도메인(110)의 노드들(111)은 링크 상태 라우팅 프로토콜을 이용한다. 링크 상태 라우팅 프로토콜을 이용할 때, 네트워크 도메인(110)에서의 각각의 노드(111)는 완전한 네트워크 토폴로지(예를 들어, 라우팅 테이블)를 유지하고, 네트워크 토폴로지에 관련된 로컬적으로 저장된 정보를 이용하여 데이터 패킷들에 대한 다음 홉들을 독립적으로 결정한다. 네트워크 토폴로지는, 노드(111) 및 링크(115) 접속들, 노드(111) 인접성들, 노드(111) 인터페이스 정보, 및/또는 다른 링크(115)/노드(111) 관계 정보와 같은, IGP 네트워크(100)의 구조를 표시하는 데이터를 포함한다.
노드들(111)은 네트워크 도메인(110)에 걸쳐 링크 상태 정보를 공유한다. 노드(111)에 대한 링크 상태 정보는 노드(111)를 식별하는 데이터(예를 들어, 노드(111)의 어드레스), 노드(111)의 이웃들의 리스트, 및 노드(111)와 노드(111)의 이웃들 사이의 비용들/지연들을 포함한다. 노드들(111)은 단일 링크(115)에 의해 분리될 때 이웃들이다. 링크 상태 정보를 공유하기 위해, 노드들(111)은 네트워크 도메인(110)에 걸쳐 링크 상태 메시지들을 플러딩한다. OSPF에서, 링크 상태 메시지들은 LSA들(link state advertisements)로서 알려진다. IS-IS에서, 링크 상태 메시지들은 LSP들(link state protocol data units)로서 알려진다. 일부 예들에서, 각각의 노드(111)는 모든 인터페이스들 상에서 링크 상태 메시지들을 플러딩한다. 본 명세서에 사용되는 바와 같이, 플러딩은 미리 정의된 네트워크 인터페이스들의 세트 상의 패킷/프레임의 동시 송신을 표시한다. 이러한 접근법은 IGP 네트워크(100)의 크기가 증가함에 따라 문제점들을 생성할 수 있다. 예를 들어, 각각의 노드(111)가 모든 인터페이스들을 통해 모든 다른 노드들(111)에 링크 상태 메시지를 주기적으로 전송할 때, 더 많은 노드들(111)이 IGP 네트워크(100)에 추가됨에 따라 링크 상태 데이터에 관련된 네트워크 트래픽이 급격히 증가할 수 있다. 추가로, 각각의 노드(111)는 모든 인터페이스들 상에서 각각의 다른 노드(111)에 대한 링크 상태 메시지를 수신할 수 있다. 이러한 것은 각각의 노드(111)가 다수의 중복 링크 상태 메시지들을 수신하는 것을 초래할 수 있다.
본 개시내용은 중복 링크 상태 메시지들을 감소시키기 위해 네트워크 도메인(110)에서의 노드들(111)에 의해 이용되는 프로토콜들을 수정한다. 중복 링크 상태 메시지 통신을 감소시키는 프로세스는 본 명세서에 LSFR(list state flood reduction)이라고 지칭된다. 구체적으로, 노드들(111)은 IGP 네트워크(100) 토폴로지의 서브세트인 플러딩 토폴로지를 생성하고 유지하도록 수정된다. 링크 상태 메시지들은 전체 IGP 네트워크(100) 토폴로지를 통해서 대신에 플러딩 토폴로지를 통해서 플러딩된다. 이러한 접근법은 중복 링크 상태 메시지들의 통신을 감소시키고, 이는 IGP 네트워크(100)의 확장성을 증가시킨다. 추가로, 링크 상태 메시지 트래픽을 감소시키는 것은 전체 네트워크 유지보수 시그널링을 감소시키고, 그러므로 데이터 트래픽을 위한 노드들(111)의 통신 용량을 증가시킨다.
도 2는 분산형 LSFR을 지원하기 위한 플러딩 토폴로지(219)가 있는 예시적인 IGP 네트워크(200)의 개략도이다. 예를 들어, IGP 네트워크(200)는 IGP 네트워크(100) 상에서 LSFR을 구현하기 위해 이용될 수 있다. IGP 네트워크(200)는 노드들(211), 루트 노드(212), 및 제1 노드(213)를 포함하고, 이는 IGP 네트워크(100)에서의 노드들(111)과 실질적으로 유사할 수 있다. 루트 노드(212)는 플러딩 토폴로지(219)로서 이용되는 스패닝 트리에 대한 루트로서 선택되는 노드(211)이다. 제1 노드(213)는 노드(211)이고, 본 명세서에 논의되는 LSFR 스킴을 설명할 때 논의의 명확성을 지원하기 위해 차별화된다. IGP 네트워크(200)는 플러딩 토폴로지 링크들(216) 및 링크들(217)을 포함하고, 이들은 실질적으로 링크들(115)과 유사한다. 굵게 묘사되는, 플러딩 토폴로지 링크들(216)은 플러딩 토폴로지(219)에 포함되는 링크들이고, 그러므로 링크 상태 메시지들을 송신하기 위해 이용된다. 굵지 않게 묘사되는, 링크들(217)은 플러딩 토폴로지(219)에 포함되지 않고, 아래에 도면들에 관하여 논의되는 바와 같이 특정한 특정 경우들에서 링크 상태 메시지들을 오직 수행한다.
IGP 네트워크(200)는 분산형 모드에서 동작할 수 있다. 분산형 모드에서, 각각의 노드(211, 212 및 213)는 네트워크에서의 변경이 검출된 후에 플러딩 토폴로지(219)를 생성한다. 플러딩 토폴로지(219)는 링크 상태 메시지들을 송신하기 위해 이용되는 플러딩 토폴로지 링크들(216)의 트리이다. 노드들(211, 212 및 213)은 플러딩 토폴로지(219)를 생성하기 위한 동일한 알고리즘을 이용한다. 따라서, 각각의 노드(211, 212 및 213)는 IGP 네트워크(200)에서의 나머지 노드들에 플러딩 토폴로지(219)를 표시하는 플러딩 데이터를 송신하지 않고 로컬 메모리에 플러딩 토폴로지(219)를 저장한다. 이러한 방식으로, 플러딩 토폴로지(219)를 표시하는 데이터가 모든 노드들(211)에 전송되는 것은 아니다. 플러딩 토폴로지(219)는 아래에 도면들에 관하여 논의되는 바와 같이 몇몇 알고리즘들에 따라 생성될 수 있다.
각각의 노드(211, 212, 및 213)는 각각의 노드(211, 212, 213)에서 IGP 네트워크(200)에서의 노드들(212, 211, 및/또는 213)의 접속성을 표시하는 데이터를 수신한 후 플러딩 토폴로지(219)를 생성할 수 있다. 데이터를 수신/전송하는 것은 기존 플러딩 토폴로지(219)를 통해 및/또는 기존 플러딩 토폴로지(219)가 존재하지 않으면 일반 플러딩을 통해 발생할 수 있다. 각각의 노드(211, 212 및 213)는 선택된 알고리즘을 이용하여 플러딩 토폴로지(219)의 사본을 구축할 수 있다. 예를 들어, IGP 네트워크(200)의 노드들 중 하나가 루트 노드(212)로서 선택된다. 루트 노드(212)는 많은 메커니즘에 의해 노드들(211/213)로부터 선택될 수 있다. 예를 들어, 루트 노드(212)는 가장 큰 또는 가장 작은 ID(identifier), IP(internet protocol) 어드레스, MAC(media access control) 어드레스 등이 있는 노드로서 노드들(211/213)로부터 선택될 수 있다. 일단 루트 노드(212)가 선택되면, 플러딩 토폴로지 링크들(216)의 트리가 구축되어 플러딩 토폴로지 링크들(216)의 트리가 루트 노드(212)를 네트워크에서의 노드들에 접속시킨다. 예를 들어, 플러딩 토폴로지(219)는 스패닝 트리 및/또는 최소 가중 스패닝 트리로서 구축될 수 있다. 스패닝 트리는 그래프의 서브세트이며, 여기서 모든 정점들(노드들(211, 212 및 213))은 최소 수의 에지들(링크들(216))을 통해 접속된다. 최소 가중치 스패닝 트리는 그래프의 서브세트이며, 여기서 모든 정점들(노드들(211, 212, 및 213))은 최소 에지 가중치(예를 들어, 레이턴시의 관점에서의 링크 비용)를 통해 접속된다. 루트 노드(212)가 있는 플러딩 토폴로지(219) 트리는 O(N)에서 계산될 수 있고, 여기서 O(N)는 입력(예를 들어, 노드들의 수)에 기초하여 선형 계산 시간을 표시하는 대문자 O 표기이다.
플러딩 토폴로지(219)는 몇몇 기준들을 충족시키는 IGP 네트워크(200) 토폴로지의 서브-네트워크 토폴로지이다. 첫째, 플러딩 토폴로지(219)는 실제 네트워크(예를 들어, IGP 네트워크(200))에서와 같이 서브-네트워크에서의 모든 노드들에 대한 등가의 도달가능성을 제공한다. 둘째, n개의(n>0) 링크들(216)이 실패할 때, 서브-네트워크에서의 모든 노드들(예를 들어, 노드들(211, 212, 213))에 대한 도달가능성은 실제 네트워크에서와 동일해야 한다. 셋째, m개의(m>0) 노드들이 실패할 때, 서브-네트워크에서의 모든 라이브 노드들에 대한 도달가능성은 실제 네트워크에서와 동일해야 한다. 넷째, 리스트 상태 플러딩을 감소시키기 위해 플러딩 토폴로지(219)에서의 다수의 플러딩 토폴로지 링크들(216)이 최소화되어야 한다.
일단 플러딩 토폴로지(219)가 생성되면, 노드들(211, 212 및 213)은 플러딩 토폴로지(219)를 통해, OSPF LSA들 및/또는 IS-IS LSP들과 같은, 링크 상태 메시지들을 플러딩할 수 있다. 플러딩 토폴로지(219)는 링크 상태 메시지들을 플러딩할 때 몇몇 기준들을 이용하여 IGP 네트워크(200)와 상호작용하도록 설계된다. 예를 들어, 링크 상태 메시지들은 플러딩 토폴로지(219) 및 실제 IGP 네트워크(200) 토폴로지 양자 모두를 사용한다. 추가로, 플러딩 토폴로지(219) 및 연관된 플러딩 메커니즘들은 많은 경우들에서 IGP 네트워크(200)에서의 모든 노드(211, 212, 및/또는 213)에 링크 상태 메시지들(예를 들어, 링크 상태 메시지(221))을 플러딩하는 것을 지원해야 하며, 이들은 아래에 도면들에 관하여 더 상세히 논의된다. 예를 들어, 플러딩 메커니즘들은 n개의(n>1) 노드들이 다운(예를 들어, 노드 실패)될 때 링크 상태 메시지들이 모든 노드들 노드(211, 212 및/또는 213)에 도달하는 것을 허용해야 한다. 다른 예로서, 플러딩 메커니즘들은 m개의(m>1) 링크들이 다운될 때(예를 들어, 링크/인터페이스 실패) 링크 상태 메시지들이 모든 노드들(211, 212 및/또는 213)에 도달하는 것을 허용해야 한다. 플러딩 메커니즘들은 링크 상태 메시지 플러딩을 감소시키면서(예를 들어, 거의 최소화하면서) 이러한 기준들을 충족시켜야 한다. 또한, 플러딩 메커니즘들은 LSFR을 지원하는 노드들(211, 212 및/또는 213) 및 LSFR이 가능하지 않은 노드들을 포함하는 플러딩 토폴로지(219)로 동작하도록 역방향 호환가능해야 한다. 호환성은 아래에 도면들에 관하여 더 상세히 논의된다. 일반적으로, 불가능한 노드들은 플러딩 토폴로지(219) 상에 위치되지만, 루트 노드(212)로부터 멀리 떨어져 있다. 불가능한 노드들은 다음으로 플러딩 토폴로지(219)로부터 링크 상태 메시지들을 수신하고, 이들을 모든 인터페이스들을 통해 플러딩할 수 있다.
예시의 목적들을 위해, 플러딩 토폴로지(219)를 통한 링크 상태 메시지 플러딩 메커니즘은 제1 노드(213)의 관점에서 논의된다. 본 명세서에 사용되는 바와 같이, 제1 노드(213) 라는 용어는 논의의 명확성을 위해 IGP 네트워크(200)로부터 임의로 선택되는 노드(211)를 표시한다. 제1 노드(213)는, 예를 들어 하나 이상의 링크(216)를 통해 루트 노드(212)로부터 링크 상태 메시지(221)를 수신할 수 있다. 이러한 링크 상태 메시지(221)는 LSA, LSP, 또는 링크 상태 정보를 운반하는 다른 패킷/프레임일 수 있다. 링크 상태 메시지(221)는, 소스 노드(211/212) ID, 노드(211/212) 인접성, 링크(216/217) ID들, 인터페이스 정보(예를 들어, 포트 데이터), 및/또는, 링크(216/217) 비용(예를 들어, 레이턴시)과 같은, 링크/노드 상태 정보와 같은, 접속성 데이터를 포함할 수 있다.
제1 노드(213)는 플러딩 토폴로지 링크(216)를 통해 링크 상태 메시지(221)를 수신한다. 제1 노드(213)는 이러한 정보가 로컬적으로 저장된 데이터보다 더 신규일 때 링크 상태 메시지(221)로부터 데이터를 파싱하고 저장한다. 제1 노드(213)는 다음으로 플러딩 토폴로지(219)의 플러딩 토폴로지 링크들(216)을 통해 링크 상태 메시지(221)를 이웃 노드들(211)을 향해 전달한다. 링크 상태 메시지(221)는 링크 상태 메시지(221)가 수신된 인터페이스에 걸쳐 다시(예를 들어, 루트 노드(212)를 향해 다시) 플러딩되지 않는다. 도시되는 바와 같이, 링크 상태 메시지(221)는 일반적으로 아래에 도면들에 관하여 더 상세히 논의되는 바와 같이 특정 경우들이 없는 플러딩 토폴로지(219)의 외부에 있는 링크들(217)에 걸쳐 플러딩되지 않는다. 그러므로, 플러딩 토폴로지(219)에 따라 링크 상태 플러딩이 달성된다. 플러딩 토폴로지(219)가 모든 노드들(211, 212 및 213)을 접속함에 따라, IGP 네트워크(200)에서의 각각의 노드는 링크 상태 메시지(221)의 사본을 수신하고 (예를 들어, 라우팅 테이블에서) 로컬 링크 상태 정보를 업데이트한다. 그러나, 링크 상태 메시지(221)는 일반적으로 링크들(217)에 걸쳐 플러딩되지 않기 때문에, 노드들(211, 212 및 213)은 일반적으로 링크 상태 메시지(221)의 중복 사본들을 수신하지 않는다. 이와 같이, 각각의 노드(211, 212, 및 213)가 각각의 인터페이스 상의 사본 대신에 링크 상태 메시지(221)의 단일 사본을 수신하도록, 링크 상태 메시지(221) 플러딩이 감소된다.
일반적으로, 플러딩 토폴로지(219)에 대한 링크 상태 메시지(221) 플러딩을 제한하는 것은 몇몇 이점들을 초래한다. 예를 들어, 본 명세서에 논의되는 플러딩 메커니즘들은 전체 네트워크 트래픽을 감소시키고, 그러므로 네트워크 성능을 강화한다. 추가로, 플러딩 토폴로지(219)가 분산형 모드에서 각각의 노드에서 계산되기 때문에, 본 명세서에 논의되는 플러딩 메커니즘들은 네트워크 수렴을 개선한다. 또한, 본 명세서에 논의되는 플러딩 메커니즘들은 다른 링크 상태 플러딩 메커니즘들에 비교할 때 구성 요건들을 감소시킬 수 있다.
장비 실패에 대해 보호하기 위해 IGP 네트워크(200) 내로 일부 중복성이 설계될 수 있다는 점이 주목되어야 한다. 구체적으로, 잠재적인 IGP 네트워크(200) 통신 문제점들을 완화시키기 위해 여분의 링크들(216)이 플러딩 토폴로지(219)에 추가될 수 있다. 이러한 경우에, 일부 노드들(211, 212, 213)은 하나보다 많은 링크 상태 메시지(221)를 수신할 수 있다. 따라서, LSFR은 중복 링크 상태 메시지들에 기초하여 더 많은 신뢰성과 균형화될 수 있다. 플러딩 토폴로지(219) 신뢰성을 증가시키기 위한 메커니즘이 아래에 논의된다.
도 3은, 네트워크 신뢰성을 증가시키기 위해 이용될 수 있는, 리프 링크(318)를 이용하는 플러딩 토폴로지(319)가 있는 예시적인 IGP 네트워크(300)의 개략도이다. IGP 네트워크(300)는 IGP 네트워크(200)와 실질적으로 유사하지만, 플러딩 토폴로지(319)에 여분의 리프 링크(318)를 포함한다. 이와 같이, IGP 네트워크(300)는 루트 노드(312), 노드들(311), 링크들(317), 및 플러딩 토폴로지 링크들(316)을 포함하는 플러딩 토폴로지(319)를 포함하며, 이들은 각각 루트 노드(212), 노드들(211/213), 링크들(217), 플러딩 토폴로지(219), 및 플러딩 토폴로지 링크들(216)과 실질적으로 유사하다.
리프 링크(318)는 IGP 네트워크(300) 신뢰성을 지원하기 위해 플러딩 토폴로지(319)에 추가되는 링크이다. 리프 링크(318)는 점선 굵은 선으로서 도시된다. 리프 링크(318)가 플러딩 토폴로지(319)에 추가될 때(예를 들어, 원을 생성함), 노드들(311/312)에 대한 링크들(316/317) 중 일부는 다른 노드들(311/312)로 하여금 플러딩 토폴로지 링크들(316)의 트리로부터 분리되게 하지 않고 오동작할 수 있다. 그러나, 리프 링크(318)를 추가하는 것은 리프 링크(318)의 엔드 포인트 노드들(311/312) 중 하나로 하여금 중복 링크 상태 메시지를 수신하게 할 수 있다. 이와 같이, IGP 네트워크(300)의 신뢰성은 약간 증가된 신호 오버헤드의 비용으로 증가된다.
리프 링크(318)를 추가하는 것은 플러딩 토폴로지(319)를 구축하는 프로세스 동안 발생할 수 있다. 예를 들어, 시스템 관리자는 플러딩 토폴로지(319)에 추가할 다수의 리프 링크들(318)을 선택할 수 있다. 이러한 선택은 IGP 네트워크(300)에서의 모든 노드들(311/312)에 송신될 수 있다. 따라서, 각각의 노드(311/312)는 요청을 수신하고, 이는 플러딩 토폴로지(319)에서 플러딩 토폴로지 링크들(316)의 트리에 추가할 다수의 리프 링크들(318)을 명시한다. 각각의 노드(311/312)는 위에 논의된 바와 같이 접속성 정보에 기초하여 플러딩 토폴로지(319)를 구축할 수 있다. 리프 링크들(318)을 추가하기 전에, 플러딩 토폴로지(319)에서의 링크들(316)의 트리는 IGP 네트워크(300)에서의 노드들(311) 전부를 루트 노드(312)에 접속할 최소 수의 링크들을 포함할 수 있다. 플러딩 토폴로지(319)를 생성한 후에, 노드들(311/312)은 시스템 관리자로부터의 요청에 명시되는 바와 같은 다수의 리프 링크들(318 k)(k>=0)을 플러딩 토폴로지(319)에 추가한다. 이러한 리프 링크(들)(318)는 IGP 네트워크(300)에서의 노드들(311/312) 사이에 추가되어 신뢰성을 증가시킨다. 리프 링크들(318)은 몇몇 메커니즘들에 기초하여 배치될 수 있다. 예를 들어, 실패시에 플러딩 토폴로지(319)를 다수의 트리들/부분들로 분열시킬 임의의 플러딩 토폴로지 링크(316) 또는 노드(311/312)가 중요 엘리먼트로서 지정될 수 있다. 리프 링크들(318)은 IGP 네트워크(300)에서 다수의 중요 엘리먼트들을 최소화하기 위해 선택되는 위치들에 배치될 수 있다. 추가적인 리프 링크(318) 배치 메커니즘들이 아래에 논의된다.
예를 들어, Ft로 지정되는, 플러딩 토폴로지(319)는 도 5 내지 도 7에 관하여 설명되는 메커니즘들 중 하나에 의해 구축될 수 있다. 이러한 경우에, 플러딩 토폴로지(319)는 트리의 형상을 취할 수 있다. 다음으로, 증가된 접속성이 있는 강화된 플러딩 토폴로지(319)를 생성하기 위해 정수 개의 리프 링크들(318 k (k>=0))이 트리에 추가될 수 있다. 예를 들어, 플러딩 토폴로지(319) 상의 노드 X에 직접 접속되는 m(m>0)개의 링크들(317)이 존재할 수 있다. 예를 들어, 결정론적 알고리즘 또는 규칙을 사용하여, 리프 링크들(318)의 수 k가 선택될 수 있고, 여기서 k <= m이다. 하나의 알고리즘 또는 규칙은 플러딩 토폴로지(319)에 현재 접속되지 않은 링크들(317) 중 가장 작은 또는 가장 큰 ID들을 갖는 k개의 리프 링크들(318)을 선택하는 것을 포함할 수 있다. (예를 들어, 이러한 k개의 링크의 비-리프 엔드들의 ID들은 노드 X에 직접 접속되는 다른 링크들의 ID들보다 더 작음/더 큼). 모든 노드는 고유 ID를 가질 수 있다. 그러므로, 이러한 링크들의 비-리프 엔드들의 더 작은 또는 더 큰 ID들이 있는 k개의 리프 링크들을 선택하는 것은 결정론적이다. 구체적인 예로서, 이러한 알고리즘 하에서 k = 1이면, 선택된 리프 링크(318)는 노드 X에 직접 접속되는 모든 링크들의 비-리프 엔드들의 ID들 중에서 가장 작은/가장 큰 ID를 갖는다.
다른 예시적인 메커니즘에서, 제1 노드 L은 플러딩 토폴로지(319)(Ft)에서의 제2 노드 N에 직접 접속될 수 있다. 제3 노드로의 접속/인접성은 결정론적 알고리즘 또는 규칙을 사용하여 Ft에서의 리프 링크(318)로서 제1 노드 L로부터 선택될 수 있다. 예를 들어, 제1 노드 L은 인접성들을 통해 플러딩 토폴로지(319)(Ft)에서의 제3 노드 Ni(i = 1, 2, ..., s)에 직접 접속될 수 있다. 추가로, 제3 노드들 Ni는 제2 노드 N이 아니고, IDi는 제3 노드들 Ni의 ID이고, Hi(i = 1, 2, ..., s)는 플러딩 토폴로지(319)(Ft)에서의 제1 노드 L로부터 제3 노드들 Ni로의 다수의 홉들이다. 하나의 알고리즘 또는 규칙은, Hj가 H1, H2, ..., Hs 중에서 가장 크도록 리프 링크(318)로서 제3 노드 Nj(1 <= j <=s)에 대한 접속을 선택하는 것이다. 다른 제3 노드 Na(1 <= a <=s)가 존재하고 Hj=Ha이면, 더 작은(또는 더 큰) 노드 ID가 있는 제3 노드를 선택한다. 구체적으로, Hj가 Ha와 동일하고 IDj < IDa이면, 더 작은 ID가 있는 링크를 선택하는 것에 의해 제3 노드 Nj에 대한 접속을 선택한다(또는, Hj == Ha이고, IDj < IDa이면, 더 큰 노드 ID가 있는 것을 선택하기 위해 Na에 대한 접속을 선택함).
예시의 목적들을 위해, 리프 링크들(318)로서 추가될 플러딩 토폴로지(319)(Ft)에서의 노드들과 선택된 노드들 L 사이의 총 접속들의 수는 NLc로서 표시될 수 있다. 리프 링크들(318 NLc)의 수는 프로그램적으로 제한될 수 있다. 하나의 예에서, NLc는 10과 같은 명시된 수로 구성되며, 이는 리프 노드 L과 플러딩 토폴로지(319)(Ft)에서의 노드들 사이의 최대 10개의 접속들이 선택되어 플러딩 토폴로지(319)(Ft)에 추가되어 강화된 플러딩 토폴로지(319)(Ft)를 생성할 수 있다는 점을 표시한다. 다른 예에서, NLc는 네트워크에서의 노드들(311/312)의 수의 명시된 퍼센트(예를 들어, 5 퍼센트)로 구성되고, 이는 선택되어 Ft 내로 추가될 Ft에서의 노드들과 리프 노드들 사이의 접속들의 수가 IGP 네트워크(300)에서의 노드들(311/312)의 수의 최대 5 퍼센트라는 점을 표시한다. 예를 들어, 1000개의 노드들(311/31)이 있는 네트워크에 대해, 1000개의 5 퍼센트는 50개이다. 따라서 리프 노드들 L과 플러딩 토폴로지(319)(Ft)에서의 노드들 사이의 최대 50개의 리프 링크들(318)이 선택되어 플러딩 토폴로지(319)(Ft) 내로 추가된다.
도 4는, IGP 네트워크(100, 200, 및/또는 300)에서의 노드와 같은, IGP 네트워크에서의 동작을 위한 예시적인 네트워크 노드(400)의 개략도이다. 예를 들어, 네트워크 노드(400)는 노드들(111, 211, 212, 213, 311 및/또는 312)을 구현하기 위해 이용될 수 있다. 추가로, 네트워크 노드(400)는 네트워크 토폴로지(219 및/또는 319)를 계산하기 위해 이용될 수 있다. 네트워크 노드(400)는 또한, LSA들 또는 LSP들(예를 들어, 링크 상태 메시지들(221))과 같은, 링크 상태 메시지들을, 이러한 플러딩 토폴로지들을 통해, 수신하고, 처리하고, 전달하여 LSFR을 구현할 수 있다. 그러므로, 네트워크 노드(400)는 본 명세서에 설명되는 바와 같이 개시되는 예들/실시예들을 구현하기에 적합하다. 네트워크 노드(400)는 다운스트림 포트들(420), 업스트림 포트들(450), 및/또는, 네트워크를 통해 데이터 업스트림 및/또는 다운스트림 스트림을 통신하기 위한 송신기들 및/또는 수신기들을 포함하는, 송수신기 유닛들(Tx/Rx)(410)을 포함한다. 네트워크 노드(400)는 데이터를 처리하기 위한 로직 유닛 및/또는 CPU(central processing unit)를 포함하는 프로세서(430) 및 데이터를 저장하기 위한 메모리(432)를 또한 포함한다. 네트워크 노드(400)는 광 또는 무선 통신 네트워크들을 통한 데이터의 통신을 위해 업스트림 포트들(450) 및/또는 다운스트림 포트들(420)에 연결되는 OE(optical-to-electrical) 컴포넌트들, EO(electrical-to-optical) 컴포넌트들, 및/또는 무선 통신 컴포넌트들을 또한 포함할 수 있다. 네트워크 노드(400)는 일부 경우들에서 사용자와 데이터를 통신하기 위한 I/O(input and/or output) 디바이스들을 또한 포함할 수 있다.
프로세서(430)는 하드웨어 및 소프트웨어에 의해 구현된다. 프로세서(430)는 하나 이상의 CPU 칩, 코어(예를 들어, 멀티-코어 프로세서), FPGA(field-programmable gate arrays), ASIC(application specific integrated circuits), 및 DSP(digital signal processors)로서 구현될 수 있다. 프로세서(430)는 다운스트림 포트들(420), Tx/Rx(410), 업스트림 포트들(450), 및 메모리(432)와 통신한다. 프로세서(430)는 LSFR 모듈(414)을 포함한다. LSFR 모듈(414)은 본 명세서에 설명되는 개시된 실시예들을 구현한다. 구체적으로, LSFR 모듈(414)은 접속성 정보에 기초하여 플러딩 토폴로지를 구축할 수 있다. LSFR 모듈(414)은 아래에 논의되는 바와 같은 방법들(500, 600 및/또는 700)에 의해서와 같이 몇몇 메커니즘들을 이용하여 플러딩 토폴로지를 구축할 수 있다. LSFR 모듈(414)은 사용자/시스템 관리자에 의해 지시되는 바와 같이 플러딩 토폴로지에 다수의 리프 링크들을 또한 추가할 수 있다. LSFR 모듈(414)은 플러딩 토폴로지를 메모리(432)에 저장할 수 있다. LSFR 모듈(414)은 다음으로 다운스트림 포트들(420), Tx/Rx(410), 및/또는 업스트림 포트들(450)을 이용하여 플러딩 토폴로지를 통해 IGP 네트워크를 통해, OSPF LSA들 및/또는 IS-IS LSP들과 같은, 링크 상태 메시지들을 수신 및/또는 플러딩할 수 있다. LSFR 모듈(414)은 아래에 도면들에 관하여 논의되는 바와 같이 링크 상태 메시지들의 취급에 구체적인 경우를 또한 이용할 수 있다. 예를 들어, LSFR 모듈(414)은 시동시에 플러딩 토폴로지에 신규 노드들을 추가할 뿐만 아니라 링크/노드 실패들의 경우에 플러딩 토폴로지 외부에서 순방향 링크 상태 메시지들을 전달할 수 있다. LSFR 모듈(414)은 중요 엘리먼트들의 인식을 또한 유지하고, 중요 엘리먼트 실패의 경우에 링크 상태 메시지들의 일반 플러딩으로 복귀할 수 있다. LSFR 모듈(414)에 의해 구현되는 이러한 그리고 다른 메커니즘들이 아래에 도면들에 관하여 더 상세히 논의된다. 추가로, LSFR 모듈(414)은 네트워크 노드(400)의 상이한 상태로의 변환을 발효한다. 대안적으로, LSFR 모듈(414)은 메모리(432)에 저장되는 그리고 프로세서(430)에 의해 실행되는 명령어들로서(예를 들어, 비-일시적 매체 상에 저장되는 컴퓨터 프로그램 제품으로서) 구현될 수 있다.
메모리(432)는 디스크들, 테이프 드라이브들, 솔리드-스테이트 드라이브들, ROM(read only memory), RAM(random access memory), 플래시 메모리, TCAM(ternary content-addressable memory), SRAM(static random-access memory) 등과 같은 하나 이상의 메모리 타입을 포함한다. 메모리(432)는, 이러한 프로그램들이 실행을 위해 선택될 때 프로그램들을 저장하는, 그리고 프로그램 실행 동안 판독되는 명령어들 및 데이터를 저장하는, 오버-플로우 데이터 저장 디바이스로서 사용될 수 있다.
도 5, 도 6, 및 도 7은 플러딩 토폴로지를 구축하는 예시적인 방법들을 묘사한다. 일반적으로, 플러딩 토폴로지를 구축하는 것은 1) 가장 큰/가장 작은 노드 ID가 있는 노드와 같은, 규칙에 따라 노드 R을 선택하는 것; 2) R을 트리의 루트로서 사용하여 트리를 구축하는 것; 및 3) k(k>=0)개의 리프들을 원하는 대로 트리에 접속하여 플러딩 토폴로지에 장비 실패 완화를 추가하는 것을 포함한다. 분산형 모드에서, 네트워크에서의 노드들 각각은 알고리즘을 사용하여 플러딩 토폴로지를 생성하고, 따라서 플러딩 토폴로지는 IGP 네트워크에서 분산/플러딩되지 않는다. 2개의 예시적인 타입들의 메커니즘들이 아래에 논의된다. 하나의 타입의 메커니즘은 노드들이 LSFR을 지원하는지를 체크하지 않고 플러딩 토폴로지에 대한 트리를 구축한다. 이러한 메커니즘은 도메인에서의 모든 라우터들이 LSFR을 지원한다고 가정한다. 제2 타입의 메커니즘은 플러딩 토폴로지에 대한 트리를 구축하면서 각각의 노드가 LSFR을 지원하는지를 고려한다. 이러한 메커니즘들은 LSFR을 지원하는 노드들이 플러딩 토폴로지에 연속적으로 접속되는 것을 허용하기 위해 LSFR을 지원하는 노드들을 루트 노드에 더 가까이 배치한다. LSFR에 대한 지원은 F 플래그에서 시그널링될 수 있으며, 이는 IS-IS 라우터 능력 TLV(type length value) 및/또는 OSPF LSA에 포함될 수 있다. 예를 들어, F 플래그는 노드/라우터가 LSFR을 지원하는 것을 표시하기 위해 1로 설정될 수 있고 노드/라우터가 LSFR을 지원하지 않는다는 점을 표시하기 위해 0으로 설정될 수 있다. 루트 노드는 다음으로 대응하는 규칙에 따라, 예를 들어, (예를 들어, 1로 설정되는 F 플래그가 있는 노드들 중에서) LSFR을 또한 지원하는 가장 큰/가장 작은 노드 ID가 있는 노드로서 선택될 수 있다.
도 5는, 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 구축하는 예시적인 방법(500)의 흐름도이다. 따라서, 방법(500)은 노드(111, 211, 212, 213, 311, 312, 및/또는 400)에 의해 이용될 수 있다. 방법(500)은 초기에 노드 R을 포함하는 Cq(candidate queue) 및 초기에 비어 있는 Ft(flooding topology)가 있는 루트 노드 R로부터 트리를 구축하기 위한 메커니즘이다.
블록 501에서, 플러딩 토폴로지 생성이 착수된다. 예를 들어, 네트워크에서의 변경들이 존재할 때 플러딩 토폴로지가 재계산될 수 있다. 다른 예로서, 플러딩 토폴로지는 이벤트의 발생시에 재계산될 수 있다. 구체적으로, 중요 엘리먼트의 실패시에 플러딩 토폴로지가 재계산될 수 있다. 다른 예로서, 재계산을 요청하는 사용자/시스템 관리자로부터 메시지를 수신시에 플러딩 토폴로지가 재계산될 수 있다. 위에 주목된 바와 같이, 분산형 모드에서, 방법(500)은 LSFR 가능 네트워크에서의 각각의 노드 상에서 실질적으로 동시에 착수된다.
블록 503에서, 예를 들어, ID 번호에 기초하여, 플러딩 토폴로지에 대한 루트 노드가 선택된다. 선택된 루트 노드는 비어 있는 후보 큐에 추가된다. 추가로, 블록 503에서 플러딩 토폴로지는 비어 있는 것으로서 초기화될 수 있다. 방법(500)은 다음으로 블록 505로 진행하고, 이는 블록들(507, 511 및 513)과 함께 반복 루프를 형성한다.
블록 505는 어느 노드들이 LSFR을 지원하는지를 방법(500)이 고려하는지에 의존하여 달라진다. 어느 노드들이 LSFR을 지원하는지를 방법(500)이 고려하지 않으면, 블록 505는 후보 큐로부터 제1 노드를 제거하고 제거된 노드를 플러딩 토폴로지에 추가한다. 제거된 노드가 루트 노드가 아니면(예를 들어, 제거된 노드의 추가 전에 플러딩 토폴로지가 비어 있지 않음), 제거된 노드와 플러딩 토폴로지에 추가되는 마지막 노드 사이의 링크가 플러딩 토폴로지에 또한 포함된다. 이와 같이, 블록 505는 루트 노드로부터 순서대로 후보 큐를 통해 반복하고 플러딩 토폴로지 상에 노드들을 위치시킨다.
어느 노드들이 LSFR을 지원하는지를 방법(500)이 고려하면, 블록 505는 LSFR을 또한 지원하는 후보 큐로부터 제1 노드를 제거한다. 후보 큐에서의 노드들이 LSFR을 지원하지 않을 때, (LSFR을 지원하지 않는) 후보 큐에서의 제1 노드가 후보 큐로부터 제거된다. 제거된 노드, 및 적용가능한 경우 플러딩 토폴로지에서의 이전 노드로의 대응하는 링크가, 다음으로 플러딩 토폴로지에 추가된다. 이러한 방식으로, 블록 505는 루트 노드에 더 가까운 플러딩 토폴로지 상의 위치들에서 LSFR을 지원하는 노드들을 위치시킬 수 있다. 이러한 것은 루트 노드로부터 더 멀리 떨어져 있는 LSFR을 지원하지 않는 노드들을 위치시키는 것을 초래하고, 그러므로 플러딩 토폴로지에 걸쳐 링크 상태 데이터를 통신하기 위한 이러한 노드들에 대한 의존성을 감소시킨다.
블록 507에서, 네트워크에서의 노드들의 리스트는 플러딩 토폴로지 상의 노드들의 리스트에 비교된다. 모든 노드들이 플러딩 토폴로지에 추가되었을 때, 방법(500)은 블록 509로 진행하여 완료된 FT(flooding topology)를 리턴한다. 적어도 하나의 노드가 FT(flooding topology)에 포함되지 않을 때, 방법(500)은 블록 511로 진행한다.
블록 511은 어느 노드들이 LSFR을 지원하는지를 방법(500)이 고려하는지에 의존하여 달라진다. 어느 노드들이 LSFR을 지원하는지를 방법(500)이 고려하지 않으면, 블록 511은 플러딩 토폴로지에 추가되는 마지막 노드에 접속되는 노드들 Xi(i = 1, 2, 3, ... n)의 리스트를 결정하고, 여기서 이러한 노드들은 플러딩 토폴로지에 아직 없다. 이러한 노드들 Xi는 다음으로 링크 비용 및/또는 링크/노드/인터페이스 ID에 의해 정렬될 수 있다. 링크 비용은 레이턴시, 링크 길이, 또는 링크 최대 대역폭, 및/또는 다른 링크 능력들을 표시할 수 있다. 추가로, 링크 비용은 플러딩 토폴로지에 추가되는 마지막 노드와 대응하는 노드 Xi 사이의 비용을 표시할 수 있다. 이러한 접근법은 후보 큐에서 더 낮은 비용 링크들이 있는 노드들 Xi를 더 높이 위치시키기 위해 이용될 수 있다. 그러므로, 이러한 더 낮은 비용의 링크들은 루트 노드에 더 가깝게 추가될 가능성이 더 높고 플러딩 토폴로지에서 더 심하게 이용될 수 있다. 비용이 동일할 때, 순서를 결정하기 위해 링크/노드/인터페이스 ID가 이용될 수 있다. 어느 노드들이 LSFR을 지원하는지를 방법(500)이 고려하면, 블록 511은 비용을 결정할 때 LSFR 지원을 고려할 수 있다. 예를 들어, LSFR을 지원하는 노드들에 대한 비용들을 결정하기 위해 실제 메트릭들이 이용될 수 있다. 추가로, LSFR을 지원하지 않는 노드(들)에 대한 실제 메트릭들은 최저 비용 비-LSFR 메트릭들이 최고 비용 LSFR 메트릭들보다 더 높도록 인자에 의해 스케일링될 수 있다. 이러한 방식으로 비용을 이용하여, LSFR을 지원하지 않는 노드들은 후보 큐의 끝에 위치된다. 이러한 것은 LSFR을 지원하지 않는 노드들을 가능한 한 루트 노드로부터 멀리 떨어져 배치하는 것을 추가로 지원한다.
블록 513에서, 블록 511로부터의 노드들 Xi는 블록 511에서 정렬되는 바와 같이 순서대로 후보 큐의 끝에 추가된다. 방법(500)은 다음으로 블록 505로 리턴하여 후보 큐로부터 플러딩 토폴로지 상으로 다음 노드를 추가할 수 있다.
위에 언급된 접근법을 이용하여, 플러딩 토폴로지는 루트 노드에서 시작하는 균형화된 트리로서 성장한다. 루트 노드는 먼저 플러딩 토폴로지에 추가된다. 다음으로 루트 노드에 접속되는 노드들(예를 들어, 1급 노드들) 각각이 플러딩 트리에 추가된다. 다음으로 루트 노드에 접속되는 노드들(예를 들어, 1급 노드에 접속되는 2급 노드들)에 접속되는 각각의 노드가 플러딩 트리에 추가된다. 이러한 프로세스는 모든 노드들이 대응하는 링크들과 함께 플러딩 토폴로지에 추가될 때까지 계속된다.
도 6은, 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 구축하는 다른 예시적인 방법(600)의 흐름도이다. 따라서, 방법(600)은 노드(111, 211, 212, 213, 311, 312, 및/또는 400)에 의해 이용될 수 있다. 방법(600)은 초기에 노드 R을 포함하는 후보 큐 및 초기에 비어 있는 Ft(flooding topology)가 있는 루트 노드 R로부터 트리를 구축하기 위한 메커니즘이다. 방법(600)은 블록들(601, 603, 605, 607, 609, 및 611)을 이용하며, 이들은 각각 블록들(501, 503, 505, 507, 509, 및 511)과 실질적으로 유사하다. 방법(600)은 블록 613을 또한 이용하며, 이는 블록 513과 유사하다. 그러나, 블록 613은 블록 611로부터 후보 큐의 시작 대신에 후보 큐의 끝에 노드들 Xi를 추가한다. 방법(600)은 노드들 Xi를 정렬할 때 이러한 노드들이 LSFR을 할 수 있는지를 고려할 수 있거나, 또는 방법(600)은 (예를 들어, 방법(500)과 실질적으로 유사한 방식으로) LSFR 능력의 고려 없이 동작할 수 있다.
따라서, 방법(600)은 방법(500)과 실질적으로 유사하지만, 플러딩 트리는 상이하게 성장한다. 구체적으로, 트리는 제1 브랜치에 접속되는 모든 노드들이 플러딩 토폴로지에 추가될 때까지 루트 노드로부터 제1 브랜치를 따라 성장한다. 다음으로 (아직 추가되지 않은) 루트 노드로부터 제2 브랜치에 부착되는 노드들이 플러딩 토폴로지에 추가되는 등이다. LSFR 능력이 고려되면, LSFR 가능이 아닌 노드들은 블록 611에서 정렬로 인해 시퀀스에서 나중에 여전히 배치될 수 있다.
도 7은, 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 구축하는 다른 예시적인 방법(700)의 흐름도이다. 따라서, 방법(700)은 노드(111, 211, 212, 213, 311, 312, 및/또는 400)에 의해 이용될 수 있다. 방법(700)은 초기에 노드 R을 포함하는 후보 큐 및 초기에 비어 있는 Ft(flooding topology)가 있는 루트 노드 R로부터 트리를 구축하기 위한 메커니즘이다. 방법(700)은 블록들(701, 703, 705, 707, 및 709)을 이용하며, 이들은 각각 블록들(501, 503, 505, 507, 및 509)과 실질적으로 유사하다. 방법(700)은 블록들(711 및 713)을 또한 포함하며, 이들은 각각 블록들(511 및 513)과 유사하다. 그러나, 블록들(711 및 713)은 플러딩 토폴로지에서 다시 이전 노드로의 비용 또는 ID에 기초하는 대신에 다시 루트 노드로의 비용에 기초하여 후보 큐에서 노드들 Xi를 순서화한다.
구체적으로, 블록 711은 블록 705에서 플러딩 토폴로지에 추가되는 마지막 노드에 연결되는 각각의 노드 Xi에 대한 루트 노드로의 최저 비용을 결정한다. LSFR 능력을 고려하는 예들에서, LSFR을 지원하지 않는 노드들을 횡단하는 루트들은 완전한 LSFR 지원 경로가 이용가능하지 않을 때 이러한 루트들이 배제되는 것 및/또는 플러딩 토폴로지 상에서만 이용되는 것을 보장하기 위해 증가된 비용들을 배정받을 수 있다. 플러딩 토폴로지에 추가되는 마지막 노드에 연결되는 노드들 Xi는 다시 루트 노드로의 연관된 최단 비용들과 함께 후보 큐에 추가된다. 노드 Xi가 이미 플러딩 토폴로지에 있는 다른 노드로의 접속으로 인해 이전의 반복 동안 후보 큐에 이전에 포함된 경우에, 루트 노드로의 신규 비용은 루트 노드로의 이전의 비용에 비교된다. 신규 비용이 이전 비용 미만이면 비용이 업데이트된다. 이러한 접근법은 각각의 노드로 하여금 각각의 반복 동안 다시 루트 노드로의 최저 비용에 기초하여 후보 큐에서 고려되게 한다. 후보 큐는 루트 다음으로 다시 루트 노드로의 비용들에 의해 및/또는 인터페이스/노드/링크 ID에 기초하여 정렬된다.
따라서, 방법(700)은 방법(500)과 실질적으로 유사하지만, 플러딩 트리는 상이하게 성장한다. 예를 들어, 방법(700)의 플러딩 토폴로지는 다시 루트 노드로의 최저 비용의 순서로 노드를 추가하는 것에 의해 성장한다. 이러한 접근법은 플러딩 토폴로지로 하여금 주로 최저 비용 경로들로 채워지게 한다. 추가로, 최저 비용 경로들은 플러딩 토폴로지에 위치되어 이러한 경로들이 가장 많은 양의 링크 상태 트래픽과 함께 이용된다. 따라서, 전체 접속성을 보장하기 위해 더 높은 비용 경로들이 배제되거나 또는 마지막 재정렬로서 플러딩 토폴로지에 오직 포함된다. 그러므로, 이러한 더 높은 비용 경로들의 사용 및/또는 비-LSFR 가능 디바이스를 횡단하는 경로들의 사용이 가장 적은 양의 링크 상태 트래픽에 이용된다.
예를 들어 방법들(500, 600, 및 700)에 따라 생성되는 바와 같은, 플러딩 토폴로지를 이용하는 것은 특정 쟁점들을 초래할 수 있다. 예를 들어, 네트워크에서의 각각의 노드가 네트워크에서 변경들이 발생하는, 특히 다수의 링크 또는 노드 실패들이 발생하는 짧은 시간에 완전한 플러딩 토폴로지를 획득하는 것을 보장하기 위해 특정 메커니즘들이 이용될 수 있다. 이러한 쟁점들을 완화하기 위한 하나의 접근법은 노드들로 하여금 중복 플러딩 토폴로지를 유지/계산하게 하는 것이다. 이러한 중복 플러딩 토폴로지는 다운 링크들 또는 노드들을 배제하고 플러딩 변경들에 대한 기본 플러딩 토폴로지를 포함할 수 있다. 또한, 중복 플러딩 토폴로지는 링크 또는 노드 실패에 대한 것 뿐만 아니라 다수의 링크 또는 노드 실패들에 대한 (플러딩 경로들과 같은) 정보를 포함할 수 있다. 이용될 수 있는 다른 메커니즘은 루트 노드에서의 변경들을 설명하는 메커니즘이다. 예를 들어, 노드 X가 플러딩 트리를 계산하기 위해 사용되는 루트 노드 R이 다운되거나 또는 도달가능하지 않은 것을 발견할 때, 노드 X는 가장 작은/가장 큰 노드 ID가 있는 노드와 같은 일부 규칙에 따라 신규 루트 노드 R을 선택한다. 노드 X는 다음으로 위에 논의된 바와 같이 플러딩 트리를 계산하고 (예를 들어, 즉시) 플러딩 트리에 기초하여 플러딩 토폴로지를 구축한다. 추가로, 신규 노드가 기존 토폴로지에 추가되고 도달가능할 때, 노드 X는, 신규 노드들 ID가 신규 가장 작은/가장 큰 노드 ID인 것과 같은, 루트 노드 선택 규칙에 따라 신규 노드가 플러딩 트리에 대한 신규 루트인지를 결정하기 위해 체크할 수 있다. 신규 노드가 신규 루트 노드이면, 노드 X는 신규 노드 R을 루트로서 사용하여 플러딩 트리를 계산하고, 5초와 같은, 미리 정의된 간격의 시간 후에 플러딩 트리에 기초하여 플러딩 토폴로지를 구축한다.
도 8은, IGP 네트워크(100, 200, 및/또는 300)와 같은, IGP 네트워크에서 이용될 수 있는, 예시적인 플러딩 메커니즘(800)의 개략도이다. 플러딩 메커니즘(800)은 제1 노드(813)에 관하여 이용되며, 이는 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 이용하는 IGP 네트워크에서의 임의의 노드(예를 들어, 노드(111, 211, 212, 213, 311, 312 및/또는 400))일 수 있다. 이러한 플러딩 토폴로지는, 예를 들어, 방법(500, 600, 및/또는 700)에 따라 생성될 수 있다.
예시의 목적들을 위해 도시되는 바와 같이, 노드(813)는 플러딩 토폴로지로부터 배제되는 링크들(817) 및 플러딩 토폴로지에 포함되는 링크들(816)에 연결된다. 위에 주목된 바와 같이, 노드(813)는 일반적으로 플러딩 토폴로지로부터 링크 상태 정보를 수신하고 플러딩 토폴로지에 연결되는 다른 인터페이스들을 통해 이러한 링크 상태 정보를 플러딩한다. 그러나, 노드(813)가 플러딩 토폴로지에 포함되지 않는 링크(817)로부터 링크 상태 정보를 수신하는 특정 경우들이 발생할 수 있다. 예를 들어, 노드(813)는 LSFR 가능이 아닌 노드로부터 링크 상태 메시지(821)를 수신할 수 있고, 그러므로 모든 인터페이스들 상에서 링크 상태 메시지(821)를 플러딩하였다. 다른 예로서, 노드(813)는 노드/링크가 오동작했을 때 플러딩 토폴로지 외부로부터 링크 상태 메시지(821)를 수신할 수 있다. 따라서, 노드(813)는, 예에 의존하여, 다양한 액션들을 취할 수 있다. 하나의 예에서, 링크 상태 메시지(821)가 플러딩 토폴로지 상에 있지 않은 링크(817)로부터 수신되면, 노드(813)는 링크 상태 메시지(821)가 수신되는 링크(817)를 배제하고 노드(813)에 부착되는 모든 다른 링크들(816 및 817)을 통해 링크 상태 메시지(823 및 822)를 노드(813)의 이웃들에 전송한다(예를 들어, 링크 상태 플러딩은 실제 네트워크 토폴로지를 뒤따름). 메시지들(822 및 823)은 메시지(821)의 사본들이라는 점에 주목한다. 다른 예에서, 링크 상태 메시지(821)가 플러딩 토폴로지 상에 있지 않은 링크(817)로부터 수신되면, 노드(813)는 노드(813)에 부착되고 플러딩 토폴로지 상에 포함되는 모든 링크들(816)을 통해 링크 상태 메시지(823)를 노드(813)의 이웃들에 전송한다. 그러므로, 노드(813)는 플러딩 토폴로지로부터 배제되는 링크(817)에 걸쳐 링크 상태 메시지(821)를 수신하고, 플러딩 토폴로지 외부에서 링크 상태 메시지(822)를 플러딩하도록 구성될 수 있다.
도 9는 제2 신규 노드(914) 발견시에 제1 노드(913)에 의해 이용되는 예시적인 플러딩 메커니즘(900)의 개략도이다. 플러딩 메커니즘(900)은, IGP 네트워크(100, 200, 및/또는 300)와 같은, IGP 네트워크에서 이용될 수 있다. 플러딩 메커니즘(900)은 노드(913)에 관하여 이용되며, 이는 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 이용하는 IGP 네트워크에서의 임의의 노드(예를 들어, 노드(111, 211, 212, 213, 311, 312 및/또는 400))일 수 있다. 이러한 플러딩 토폴로지는, 예를 들어, 방법(500, 600, 및/또는 700)에 따라 생성될 수 있다. 플러딩 메커니즘(900)은 신규 노드(914)가 발견될 때 플러딩 메커니즘(800)과 함께 이용될 수 있다.
메커니즘(900)은 신규 노드(914)가 네트워크 상에서 이미 동작하고 있는, 제1 노드(913)로서 표시되는, 노드(913)에 접속될 때 링크 상태 플러딩을 조정하기 위한 접근법을 예시한다. 메커니즘(900)은 제1 노드(913)가 신규로 접속된 신규 노드(914)와의 인접성을 수립할 때 트리거될 수 있다. 도시되는 바와 같이, 신규로 접속된 신규 노드(914)는 링크(919)를 통해 제1 노드(913)에 직접 접속된다. 제1 노드(913)는, (예를 들어, 네트워크에서의 변경들이 존재한 후) 플러딩 토폴로지가 재구축될 수 있을 때까지, 신규 노드(914)가 대응하는 링크(919)를 통해 플러딩 토폴로지에 연결된다고 가정한다. 이와 같이, 링크(919)는 제1 노드(913)의 메모리에서 플러딩 토폴로지 링크로서 일시적으로 라벨링된다. 따라서, 플러딩 토폴로지가 재계산될 때까지, 플러딩 토폴로지에서 링크들의 트리에 신규로 접속된 신규 노드(914)를 추가하기 위해 링크(919)가 이용된다. 신규 노드(914)가 플러딩 토폴로지에 추가된 후, 제1 노드(913)는 플러딩 토폴로지에서 링크(916)를 통해 링크 상태 메시지(921)를 수신할 수 있다. 제1 노드(913)는 다음으로 플러딩 토폴로지 링크들(916) 및 신규 노드(914)로의 링크(919) 양자 모두에 걸쳐 링크 상태 메시지(922)(메시지(921)의 사본)를 전달할 수 있다. 링크 상태 메시지(921)는 다른 방식으로 플러딩 토폴로지로부터 배제되는 링크들(917)에 전달되지 않을 수 있다.
도 10은 노드가 오동작했다는 것(예를 들어, 다운됨)을 발견시에 이용되는 예시적인 플러딩 메커니즘(1000)의 개략도이다. 플러딩 메커니즘(1000)은, IGP 네트워크(100, 200, 및/또는 300)와 같은, IGP 네트워크 상에서 동작한다. 플러딩 메커니즘(1000)은 제1 노드(1013)에 관하여 예시되며, 이는 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 이용하는 IGP 네트워크에서의 임의의 노드(예를 들어, 노드(111, 211, 212, 213, 311, 312 및/또는 400))일 수 있다. 이러한 플러딩 토폴로지는, 예를 들어, 방법(500, 600, 및/또는 700)에 따라 생성될 수 있다. 플러딩 메커니즘(1000)은 다운 노드(1031)가 오동작할 때 플러딩 메커니즘들(800 및/또는 900)과 함께 이용될 수 있다.
도시되는 바와 같이, 메커니즘(1000)은 링크들(1017) 및 플러딩 토폴로지 링크들(1016)에 의해 접속되는 노드들(1011), 루트 노드(1012), 및 제1 노드(1013)가 있는 IGP 네트워크 상에서 동작하며, 이들은 각각 노드들(211), 루트 노드(212), 제1 노드(213), 링크들(217) 및 플러딩 토폴로지 링크들(216)과 실질적으로 유사하다. 메커니즘(1000)은 임의의 노드 상에서 동작할 수 있고, 논의의 명확성을 위해 제1 노드(1013)의 관점에서 예시된다. 메커니즘(1000)은 제1 노드(1013)가 플러딩 토폴로지 링크(1016)를 통해 이웃 노드(1033)로부터 신규 링크 상태 메시지(1021)를 수신할 때 착수될 수 있다. 링크 상태 메시지(1021)는 다운 노드(1031)가 기능하지 않는다는 것을 표시한다. 다운 노드(1031)는, 또한 제1 노드(1013)의 이웃들인, 노드들(1033)과의 이웃이다. 다운 노드(1031)는, 제1 노드(1013)의 이웃이 아닌, 노드(1034)와의 이웃이다.
링크 상태 메시지(1021)가 플러딩 토폴로지 링크(1016)로부터 수신될 때, 제1 노드(1013)는 링크 상태 메시지(1021)가 수신된 플러딩 토폴로지 링크(1016)를 배제하고, 플러딩 토폴로지 링크들(1016)을 통해 제1 노드(1013)의 이웃에 링크 상태 메시지(1022)(메시지(1021)의 사본)를 전송한다. 이러한 것은 신규 링크 상태 메시지(1021)가 플러딩 토폴로지를 통해 적절히 전달되는 것을 보장한다. 제1 노드(1013)는 링크 상태 메시지(1023)(메시지(1021)의 다른 사본)를 제1 노드(1013) 및 다운 노드(1031) 양자 모두에 대한 이웃들인 노드들(1033)에 또한 전송한다. 이러한 링크 상태 메시지들(1023)은, 이러한 링크들(1017)이 플러딩 토폴로지에 포함되지 않더라도, 제1 노드(1013)를 노드들(1033)에 부착하는 링크들(1017)을 통해 전송된다. 이러한 메커니즘(1000)은 노드들 이웃들(1033)이 링크 상태 메시지들(1021)에 대한 다운 노드(1031)에 의존할 수 있다고 고려한다. 그러므로, 제1 노드(1013)는 링크 상태 메시지(1021)가 이러한 노드들(1033)에 전파되는 것을 보장하기 위해 다운 노드(1031)를 이웃 노드들(1033)에 통지한다. 노드(1034)는 제1 노드(1013)의 이웃이 아니기 때문에, 제1 노드(1013)는 링크 상태 메시지(1021)를 다운 노드(1031)의 나머지 이웃 노드(1034)에 전달하지 않을 수 있다. 이러한 메커니즘은 노드(1034)의 이웃에 의존하여 다운 노드(1031)가 동작하지 않음을 노드(1034)에 통보한다. 이러한 접근법은 다운 노드(1031)가 오동작할 때 네트워크에서의 모든 노드가 모든 다른 노드들에 접촉하는 것을 방지한다.
이와 같이, 제1 노드(1013)는 네트워크에서의 제2 다운 노드(1031)가 다운됨을 표시하는 링크 상태 메시지(1021)(예를 들어, 본 명세서에 논의되는 다른 링크 상태 메시지들과의 구별을 위한 제3 링크 상태 메시지)를 수신할 수 있다. 제1 노드(1013)는 다음으로 플러딩 토폴로지로부터 배제되는 그리고 제1 노드(1013)와 다운 노드(1031)의 이웃 노드들(1033) 사이에 접속하는 링크들(1017)에 링크 상태 메시지(1021)를 플러딩할 수 있다.
도 11은 노드가 오동작했다는 것(예를 들어, 다운됨)을 발견시에 이용되는 다른 예시적인 플러딩 메커니즘(1100)의 개략도이다. 플러딩 메커니즘(1100)은, IGP 네트워크(100, 200, 및/또는 300)와 같은, IGP 네트워크 상에서 동작한다. 플러딩 메커니즘(1100)은 제1 노드(1113)에 관하여 예시되며, 이는 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 이용하는 IGP 네트워크에서의 임의의 노드(예를 들어, 노드(111, 211, 212, 213, 311, 312 및/또는 400))일 수 있다. 이러한 플러딩 토폴로지는, 예를 들어, 방법(500, 600, 및/또는 700)에 따라 생성될 수 있다. 플러딩 메커니즘(1100)은 다운 노드(1131)가 오동작할 때 플러딩 메커니즘들(800 및/또는 900)과 함께 이용될 수 있다.
도시되는 바와 같이, 메커니즘(1100)은 링크들(1117) 및 플러딩 토폴로지 링크들(1116)에 의해 접속되는 노드들(1111), 루트 노드(1112), 및 제1 노드(1113)가 있는 IGP 네트워크 상에서 동작하며, 이들은 각각 노드들(1011), 루트 노드(1012), 제1 노드(1013), 링크들(1017) 및 플러딩 토폴로지 링크들(1016)과 실질적으로 유사하다. 추가로, 다운 노드(1131)가 오동작하며, 이는 다운 노드(1031)와 유사하다. 또한, 네트워크는 제1 노드(1113) 및 다운 노드(1131)에 대한 이웃들인 노드들(1133), 및 다운 노드(1031)의 이웃이지만 제1 노드(1113)의 이웃이 아닌 노드(1134)를 포함한다.
메커니즘(1100)은 메커니즘(1000)과 유사하지만, 제1 노드(1113)가 플러딩 토폴로지 상에 있지 않은 링크(1117)를 통해 이웃 노드로부터 신규 링크 상태 메시지(1121)를 수신할 때 이용된다. 링크 상태 메시지(1121)는 다운 노드(1131)가 다운됨/오동작하고 있는 것을 표시하는 정보를 포함한다. 하나의 예에서, 제1 노드(1113)는 링크 상태 메시지(1121)가 수신된 링크(1117)를 배제하고 제1 노드(1113)에 접속되는 모든 링크들(1116 및 1117)을 통해 모든 이웃 노드들에 링크 상태 메시지(1121)를 전송한다. 이러한 응답은 메커니즘(800)과 실질적으로 유사하고, 실제 네트워크 토폴로지를 뒤따르는 것에 의해 링크 상태 메시지(1121)가 플러딩하는 것을 허용한다. 이러한 예는 제1 노드(1113)가 플러딩 토폴로지를 통해 링크 상태 메시지를 적절히 수신하고 있지 않는다고 가정하고, 링크 상태 메시지(1121)가 가능한 한 넓게 송신되는 것을 보장하기 위한 액션들을 취한다.
다른 예에서, 제1 노드(1113)는 링크 상태 메시지(1122)(메시지(1121)의 사본)를 플러딩 토폴로지 링크(1116)를 통해 플러딩한다. 제1 노드(1113)는 플러딩 토폴로지 상에 있지 않은 링크들(1117)을 통해 제1 (1113) 노드 및 다운 노드(1131) 양자 모두에 대한 이웃들인 노드들(1133)에 링크 상태 메시지(1122)를 또한 플러딩한다. 링크 상태 메시지(1122)는 링크 상태 메시지(1121)가 수신된 링크(1117) 상에서 다시 전달될 필요가 없다. 추가로, 노드(1134)는 제1 노드(1113)의 이웃이 아니기 때문에, 제1 노드(1113)는 링크 상태 메시지(1121)를 다운 노드(1131)의 나머지 이웃 노드(1134)에 전달하지 않을 수 있다. 이러한 예는 플러딩 토폴로지를 따라 링크 상태 정보를 전달하는 것 및 다운 노드(1131)의 이웃에게 오동작을 통보하는 것에 초점을 맞춘다.
어느 예에서든, 제1 노드(1113)는 네트워크에서의 제2 다운 노드(1131)가 다운됨을 표시하는 링크 상태 메시지(1121)(예를 들어, 본 명세서에 논의되는 다른 링크 상태 메시지들로부터의 구별을 위한 제3 링크 상태 메시지)를 수신한다. 제1 노드(1113)는 다음으로 플러딩 토폴로지로부터 배제되는 그리고 제1 노드(1113)와 다운 노드(1131)의 이웃 노드들(1133) 사이에 접속하는 링크들(1117)에 링크 상태 메시지(1122)를 플러딩할 수 있다.
도 12는 링크(1231)가 오동작했다는 것(예를 들어, 다운됨)을 발견시에 이용되는 예시적인 플러딩 메커니즘(1200)의 개략도이다. 플러딩 메커니즘(1200)은, IGP 네트워크(100, 200, 및/또는 300)와 같은, IGP 네트워크 상에서 동작한다. 플러딩 메커니즘(1200)은 제1 노드(1213)에 관하여 예시되며, 이는 플러딩 토폴로지(219 및/또는 319)와 같은, 플러딩 토폴로지를 이용하는 IGP 네트워크에서의 임의의 노드(예를 들어, 노드(111, 211, 212, 213, 311, 312 및/또는 400))일 수 있다. 이러한 플러딩 토폴로지는, 예를 들어, 방법(500, 600, 및/또는 700)에 따라 생성될 수 있다. 플러딩 메커니즘(1200)은 링크(1231)가 다운될 때/오동작할 때 플러딩 메커니즘들(800, 900, 1000, 및/또는 1100)과 함께 이용될 수 있다.
도시되는 바와 같이, 메커니즘(1200)은 링크들(1217) 및 플러딩 토폴로지 링크들(1216)에 의해 접속되는 노드들(1211), 루트 노드(1212), 및 제1 노드(1213)가 있는 IGP 네트워크 상에서 동작하며, 이들은 각각 노드들(1011), 루트 노드(1012), 제1 노드(1013), 링크들(1017) 및 플러딩 토폴로지 링크들(1016)과 실질적으로 유사하다. 추가로, 다운 링크(1231)가 오동작한다. 다운 링크(1231)를 통해 제1 노드(1213)에 노드(1232)가 연결된다. 노드들(1233)은 다운 링크(1231)에 인접하는 제1 노드(1213) 및 노드(1232) 양자 모두에 대한 이웃들이다. 노드(1234)는 (다운 링크에 인접하는) 노드(1232)에 대한 이웃이지만, 제1 노드(1213)의 이웃은 아니다.
제1 노드(1213)는 링크, 이러한 경우에 플러딩 토폴로지 링크(1216)를 통해, 이웃 노드, 이러한 경우에 루트 노드(1212)로부터 더 신규인 링크 상태 메시지(1221)를 수신시에 링크(1231)가 다운됨을 발견한다. 제1 노드(1213)는 먼저 다운 링크(1231)가 플러딩 토폴로지 상에 있는지를 결정하기 위해 체크한다. 다운 링크(1231)가 플러딩 토폴로지 상에 있지 않으면, 다운 링크(1231)는 링크 상태 플러딩에 영향을 미치지 않고, 플러딩 토폴로지에 걸쳐 링크 상태 메시지(1222)(메시지(1221)의 사본)를 전달하는 것을 너머 어떠한 액션도 취해질 필요가 없다. 도시되는 예에서, 다운 링크(1231)는 플러딩 토폴로지 상에 있어, 제1 노드(1213)는 다운 링크(1231)가 제1 노드(1213)에 대한 이웃 인터페이스 상에 있는지를 체크하는 것을 진행한다. 다운 링크(1231)가 이웃 인터페이스 상에 있지 않으면, 제1 노드(1213)는 다운 링크(1231)에 인접하는 노드들이 임의의 시그널링을 취급하는 것을 허용할 수 있고, 그러므로 플러딩 토폴로지에 걸쳐 링크 상태 메시지(1222)를 전달하는 것을 너머 어떠한 액션도 취하지 않을 수 있다. 이러한 접근법은 다운 링크(1231) 발견시에 네트워크에서의 모든 노드가 시그널링하는 것을 방지한다. 도시되는 예에서, 다운 링크(1231)는 제1 노드(1213)에 인접하여, 제1 노드(1213)는 다운 링크(1231)에 의존할 수 있는 노드들이 플러딩 토폴로지가 재계산될 수 있을 때까지 링크 상태 정보를 계속 수신하는 것을 보장하는 시그널링 합리성을 취한다. 이러한 경우, 제1 노드(1213)는 링크 상태 메시지(1221)가 수신된 플러딩 토폴로지 링크(1216)를 제외하고 각각의 플러딩 토폴로지 링크(1216)에 플러딩 토폴로지에 걸쳐 링크 상태 메시지(1222)를 전송한다. 추가로, 제1 노드(1213)는 다운 링크(1231)에 인접하는 제1 노드(1213) 및 노드(1232) 양자 모두에 대한 이웃들인 접촉 노드들(1233)에 필요한 바와 같이 플러딩 토폴로지로부터 배제되는 링크들(1217)을 통해 링크 상태 메시지(1223)(메시지(1221)의 다른 사본)를 전송한다. 추가로, 노드(1234)는 제1 노드(1213)의 이웃이 아니기 때문에, 제1 노드(1213)는 링크 상태 메시지(1221)를 노드(1232)의 나머지 이웃 노드(1234)에 전달하지 않을 수 있다. 이러한 접근법은 다운 링크(1231)에 잠재적으로 의존하는 노드들(1233)이 끊어진 플러딩 토폴로지에도 불구하고 이러한 링크 상태 정보를 계속 수신하기 위해 링크 상태 정보를 수신하는 것을 허용한다.
그러므로, 제1 노드(1213)는, 메커니즘(1200)을 이용하여, 네트워크에서의 링크(1231)(예를 들어, 제1 링크)가 다운됨을 표시하는 링크 상태 메시지(1221)(예를 들어, 본 명세서에 논의되는 다른 링크 상태 메시지들과의 구별을 위한 제4 링크 상태 메시지)를 수신할 수 있다. 제1 노드(1213)는 제1 링크(1213)가 플러딩 토폴로지 내에 있다고 그리고 제1 링크(1231)가 제1 노드(1213)에 접속된다고 결정할 수 있다. 이러한 결정에 기초하여, 제1 노드(1213)는 다음으로 링크 상태 메시지(1221)를 제1 링크에 인접하는 노드(1232)에 또한 접속하는 이웃들에 접속하는 링크들(1216 및/또는 1217)에 전송할 수 있다.
(예를 들어, 메커니즘들(1000 및 1100)에서 논의되는 바와 같이) 기존/예전 플러딩 토폴로지 상의 링크(1231)가 다운되거나 노드가 또는 다운될 때, 신규 플러딩 토폴로지가 그 직후에 생성된다는 점이 주목되어야 한다. 메커니즘들(1000, 1100 및/또는 1200)은 신규 플러딩 토폴로지가 노드들에 의해 계산되고 이용될 수 있을 때까지 기존 플러딩 토폴로지가 계속 동작하는 것을 허용한다. 위에 언급된 메커니즘들(1000, 1100, 및 1200)은 네트워크 토폴로지가 오동작에 의해 다수의 격리된 플러딩 토폴로지들로 분열되지 않는 한 링크 또는 노드가 다운될 때 네트워크가 계속 기능하는 것을 허용한다. 아래에 논의되는 바와 같이 이러한 시나리오들을 다루기 위해 중요 인터페이스들이 메모리에 저장될 수 있다.
도 13은 플러딩 토폴로지(1319)에서 중요 인터페이스(1335)가 있는 예시적인 IGP 네트워크(1300)의 개략도이다. IGP 네트워크(1300)는 IGP 네트워크(100, 200 및/또는 300)와 실질적으로 유사하다. IGP 네트워크(1300)는 노드들(1311) 및 루트 노드(1312)를 포함하며, 이들은 노드들(111, 211, 212, 213, 311, 312, 및/또는 400)과 유사할 수 있다. IGP 네트워크(1300) 플러딩 토폴로지(1319)는 플러딩 토폴로지(219 및/또는 319)와 유사할 수 있다. 이러한 플러딩 토폴로지(1319)는, 예를 들어, 방법(500, 600 및/또는 700)에 따라 생성될 수 있다. 노드들(1311) 및 루트 노드(1312)는 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)을 이용할 수 있다.
플러딩 토폴로지(1319) 계산시에, 노드(1311) 및 루트 노드(1312)는 플러딩 토폴로지(1319)에서 임의의 중요 인터페이스(1335)의 인식을 유지한다. 중요 인터페이스(1335)는, 제거된다면, 플러딩 토폴로지(1319)를 링크들의 2개 이상의 접속되지 않은 토폴로지들로 분열시키는 플러딩 토폴로지(1319) 상의 임의의 인터페이스(예를 들어, 링크 또는 노드)이다. 도시되는 예에서, 플러딩 토폴로지(1319)는 플러딩 토폴로지 링크들의 다수의 루프들을 포함한다. 루프에서의 플러딩 토폴로지 링크가 제거될 때, 플러딩 토폴로지(1319)는 루프의 손상되지 않은 부분을 통해 루프 상의 모든 노드들에 링크 상태 정보를 여전히 전달할 수 있다. 그러므로, 이러한 링크들은 중요 인터페이스들이 아니다. 그러나, 중요 인터페이스(1335)가 플러딩 토폴로지(1319)로부터 제거되면, 플러딩 토폴로지(1319)는 제1 트리(1341) 및 제2 트리(1342)로 분열된다. 중요 인터페이스(1335)가 없으면, 제1 트리(1341) 및 제2 트리(1342)는 어떠한 플러딩 토폴로지(1319) 링크도 이러한 2개의 트리들을 접속할 수 없으므로 링크 상태 정보를 통신할 수 없다.
중요 인터페이스(들)(1335)는 플러딩 토폴로지(1319)를 계산하는 그리고 메모리에 저장되는 동안/그 후에 각각의 노드(1311/1312)에서 결정될 수 있다. 중요 인터페이스들(1335)의 수는 위에 논의된 바와 같이 더 많은 리프 링크들을 추가하는 것에 의해 감소될 수 있다. 중요 인터페이스(1335)와 연관된 링크 또는 노드가 오동작할 때, (링크 상태 메시지들을 통해 오동작의 통지시에) 노드들(1311/1312)은 중요 인터페이스의 실패를 해결하고 모든 노드들(1311/1312)을 재접속하기 위해 신규 플러딩 토폴로지(1319)가 생성될 수 있을 때까지 모든 인터페이스들 상에서 링크 상태 메시지들을 플러딩하는 것으로 복귀할 수 있다.
그러므로, 노드들(1312/1311)은 중요 인터페이스들(1335)을 결정할 수 있고, 여기서 중요 인터페이스(1335)는 실패가 플러딩 토폴로지(1319)를 분열시키는 링크 또는 노드이다. 노드들(1312/1311)은 중요 인터페이스(1335)가 실패할 때 플러딩 토폴로지(1319)의 사용을 중단할 수 있다.
도 14는 LSFR에 대한 노드 지원을 표시하기 위한 예시적인 OSPF v2 인코딩(1400)의 개략도이다. 예를 들어, IGP 네트워크(100, 200, 300, 및/또는 1300)와 같은, IGP 네트워크에서의, 노드들(111, 211, 212, 213, 311, 312, 400, 1311, 1312, 및/또는 1333)과 같은, 노드는 노드가 LSFR을 지원하는지를 표시하기 위해 인코딩(1400)을 이용할 수 있다. 이러한 정보는, 예를 들어, 방법들(500, 600, 및/또는 700)에 기초하여 플러딩 토폴로지를 구축할 때 다른 노드들에 의해 이용될 수 있다. LSFR을 이용하는, 그리고 그러므로 인코딩(1400)을 이용하는 OSPF v2 노드들은 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)을 또한 이용할 수 있다.
인코딩(1400)은 OSPF v2와 호환가능한 IGP 네트워크 내로 LSFR을 통합하기 위해 이용될 수 있다. 구체적으로, 인코딩(1400)은 OSPF v2 LSA에 포함될 수 있다. 인코딩(1400)은 LSA가 발신된 이후 (예를 들어, 초 단위로) 시간을 표시하도록 설정되는 LS 에이지 필드(1401)를 포함한다. LSA 에이지 필드(1401)는 16 비트 길이일 수 있고, 비트 0으로부터 비트 15까지 확장될 수 있다. 인코딩(1400)은 LSA에 의해 설명되는 바와 같이 IGP 네트워크에서 라우팅 도메인의 일부분에서 지원되는 선택적 능력들을 표시하는 데이터를 포함할 수 있는 선택사항들 필드(1402)를 또한 포함한다. 선택사항들 필드(1402)는 8 비트 길이일 수 있고, 비트 16으로부터 비트 23까지 확장될 수 있다. 인코딩(1400)은 LSA의 타입을 표시하도록 설정될 수 있는 LS 타입 필드(1403)를 또한 포함한다. 예를 들어, LS 타입 필드(1403)는 LSA가 라우터(예를 들어, 노드) LSA임을 표시하도록 1로 설정될 수 있다. LS 타입 필드(1403)는 8 비트 길이일 수 있고, 비트 24로부터 비트 31까지 확장될 수 있다. 인코딩(1400)은 LSA에 의해 설명되고 있는 인터넷 환경의 부분을 식별하는 데이터를 포함하는 링크 상태 ID 필드(1404)를 또한 포함한다. 예를 들어, 링크 상태 ID 필드(1404)는 LSA가 라우터의 인터페이스들의 수집된 상태들을 설명하는 것을 표시하도록 설정될 수 있다. 링크 상태 ID 필드(1404)는 32 비트 길이일 수 있고, 비트 0으로부터 비트 31까지 확장될 수 있다. 인코딩(1400)은 LSA를 발신하는 라우터의 라우터 ID를 포함하는 광고 라우터 필드(1405)를 또한 포함한다. 광고 라우터 필드(1405)는 32 비트 길이일 수 있고, 비트 0으로부터 비트 31까지 확장될 수 있다. 인코딩(1400)은 LSA를 식별하기 위한 데이터를 포함하는 LS 시퀀스 번호 필드(1406)를 또한 포함한다. LS 시퀀스 번호 필드(1406) 데이터는 예전 또는 복제 LSA들을 검출하기 위해 이용될 수 있다. LS 시퀀스 번호 필드(1406)는 32 비트 길이일 수 있고, 비트 0으로부터 비트 31까지 확장될 수 있다. 인코딩(1400)은 에러 체크를 지원하기 위해 체크섬 데이터를 포함하는 LS 체크섬 필드(1407)를 또한 포함한다. LS 체크섬 필드(1407)는 16 비트 길이일 수 있고, 비트 0으로부터 비트 15까지 확장될 수 있다. 인코딩(1400)은 바이트 단위로 LSA의 길이를 표시하는 데이터를 포함하는 LS 길이 필드(1408)를 또한 포함한다. LS 길이 필드(1408)는 16 비트 길이일 수 있고, 비트 16으로부터 비트 31까지 확장될 수 있다.
인코딩(1400)은 LSA를 착수하는 라우터에 대한 다양한 특성들을 표시하기 위해 이용되는 다양한 플래그들을 또한 포함한다. 인코딩은 비트 위치 5에서 V(virtual) 플래그(1421)를 포함할 수 있고, 이는 라우터가 하나 이상의 인접한 가상 링크들에 대한 엔드포인트인 때를 표시하도록 설정될 수 있다. 인코딩은 비트 위치 6에서 E(external) 플래그(1422)를 또한 포함할 수 있고, 이는 라우터가 자율 시스템 경계 라우터인 때를 표시하도록 설정될 수 있다. 인코딩은 비트 위치 7에서 B(border) 플래그(1423)를 또한 포함할 수 있고, 이는 라우터가 경계 영역 라우터인 때를 표시하도록 설정될 수 있다.
인코딩(1400)은 F 플래그(1431)를 또한 포함한다. F 플래그(1431)는 1 비트일 수 있고, 비트 위치 8에 위치될 수 있다. F 플래그(1431)는 LSA를 착수하는 라우터가 (예를 들어, 본 명세서에 논의되는 LSFR 메커니즘들에 따라) 플러딩 감소를 지원하는 것을 표시하도록 설정될 수 있다(예를 들어, 1로 설정됨). F 플래그(1431)의 비트 위치는 또한 디폴트로 설정되지 않을 수 있어서(예를 들어, 0으로 설정됨) LSFR을 지원하지 않는 라우터들은 LSA를 수신하는 라우터들에 의해 식별될 수 있다. 이와 같이, 인코딩(1400)은 링크 상태 메시지들이 플러딩 토폴로지를 통해 링크 상태 플러딩 감소를 지원하는 네트워크에서의 노드들을 표시하도록 설정되는 F 플래그들을 포함하는 것을 허용한다.
인코딩(1400)은 LSA에 의해 설명되는 링크들을 수를 표시하는 링크들의 수 필드(1409)를 또한 포함한다. 링크들의 수 필드(1409)는 16 비트 길이일 수 있고, 비트 위치 16으로부터 비트 위치 31까지 확장될 수 있다. 인코딩(1400)은 LSA에 의해 설명되는 각각의 링크에 대한 링크 ID 필드(1410)를 또한 포함한다. 링크 ID 필드(1410)는 대응하는 링크가 접속되는 객체(예를 들어, 노드)를 식별하는 ID를 포함한다. 링크 ID 필드(1410)는 32 비트 길이일 수 있고, 비트 0으로부터 비트 31까지 확장될 수 있다. 인코딩(1400)은 LSA에 의해 설명되는 각각의 링크에 대한 링크 데이터 필드(1411)를 또한 포함한다. 링크 데이터 필드(1411)는 대응하는 링크/인터페이스에 관련된 어드레스 정보(예를 들어, IP 어드레스 정보)를 포함한다. 링크 데이터 필드(1411)는 32 비트 길이일 수 있고, 비트 0으로부터 비트 31까지 확장될 수 있다.
인코딩(1400)은 LSA에 의해 설명되는 각각의 링크에 대한 타입 필드(1412)를 또한 포함한다. 타입 필드(1412)는 라우터 링크를 설명하는 데이터를 포함한다. 타입 필드(1412)는 8 비트 길이일 수 있고, 비트 0으로부터 비트 7까지 확장될 수 있다. 인코딩(1400)은 LSA에 의해 설명되는 각각의 링크에 대한 ToS(type of service)의 수 필드들(1413)을 또한 포함한다. ToS의 수 필드(1413)는 LSA에 포함되는 대응하는 링크들에 대한 ToS 메트릭들의 수를 표시한다. ToS의 수 필드(1413)는 8 비트 길이일 수 있고, 비트 8로부터 비트 15까지 확장될 수 있다. 인코딩(1400)은 대응하는 링크를 사용하는 비용(예를 들어, 라우팅 비용/레이턴시 등)을 포함하는 메트릭 필드(1414)를 또한 포함한다. 메트릭 필드(1414)는 16 비트 길이일 수 있고, 비트 16으로부터 비트 31까지 확장될 수 있다. 인코딩(1400)은 대응하는 링크와 연관된 ToS 정보를 표시하는 ToS 메트릭 필드들(1416) 및 ToS 필드들(1415)을 또한 포함할 수 있다. Tos 필드(1415)는 ToS 메트릭 필드(1416)에 의해 참조되는 서비스의 타입을 표시하고, 8 비트 길이일 수 있고, 비트 위치 0으로부터 비트 위치 7까지 확장될 수 있다. Tos 메트릭 필드(1416)는 링크에 대한 ToS 구체적 정보를 표시할 수 있고, 16 비트 길이일 수 있고, 비트 16으로부터 비트 31까지 확장될 수 있다.
도 15는 LSFR에 대한 노드 지원을 표시하기 위한 예시적인 OSPF v3 인코딩(1500)의 개략도이다. 예를 들어, IGP 네트워크(100, 200, 300, 및/또는 1300)와 같은, IGP 네트워크에서의, 노드들(111, 211, 212, 213, 311, 312, 400, 1311, 1312, 및/또는 1333)과 같은, 노드는 노드가 LSFR을 지원하는지를 표시하기 위해 인코딩(1500)을 이용할 수 있다. 이러한 정보는, 예를 들어, 방법들(500, 600, 및/또는 700)에 기초하여 플러딩 토폴로지를 구축할 때 다른 노드들에 의해 이용될 수 있다. LSFR을 이용하는, 그리고 그러므로 인코딩(1500)을 이용하는 OSPF v3 노드들은 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)을 또한 이용할 수 있다.
인코딩(1500)은 OSPF v3와 호환가능한 IGP 네트워크 내로 LSFR을 통합하기 위해 이용될 수 있다. 구체적으로, 인코딩(1500)은 OSPF v3 LSA에 포함될 수 있다. 인코딩(1500)은 LS 에이지 필드(1501), LS 타입 필드(1503), 링크 상태 ID 필드(1504), 광고 라우터 필드(1505), LS 시퀀스 번호 필드(1506), LS 체크섬 필드(1507), 및 LS 길이 필드(1508)를 포함할 수 있고, 이들은 각각 LS 에이지 필드(1401), LS 타입 필드(1403), 링크 상태 ID 필드(1404), 광고 라우터 필드(1405), LS 시퀀스 번호 필드(1406), LS 체크섬 필드(1407), 및 LS 길이 필드(1408)와 실질적으로 유사할 수 있다. LS 타입 필드(1403)와 달리, LS 타입 필드(1503)는 16 비트 길이이고, 비트 위치 16으로부터 비트 위치 31까지 확장된다.
인코딩(1500)은 LSA를 착수한 라우터에 의해 지원되는 선택적 능력들을 표시하도록 설정될 수 있는 선택사항들 필드(1509)를 또한 포함한다. 선택사항들 필드(1509)는 32 비트 길이일 수 있고, 비트 0으로부터 비트 31까지 확장될 수 있다. 선택사항들 필드(1509)는 LSA를 착수하는 라우터에 대한 다양한 특성들을 표시하기 위해 이용되는 다양한 플래그들을 포함한다. 선택사항들 필드(1509)는 V 플래그(1521), E 플래그(1522), 및 B 플래그(1523)를 포함할 수 있고, 이들은 각각 V 플래그(1421), E 플래그(1422), 및 B 플래그(1423)와 실질적으로 유사할 수 있다. 선택사항들 필드(1509)는 LSA를 착수하는 라우터가 와일드카드 멀티캐스트 수신기라는 것을 표시하도록 설정될 수 있는 W(wildcard) 플래그(1524)를 또한 포함할 수 있다. W 플래그(1524)는 1 비트 길이일 수 있고, 비트 위치 4에 위치될 수 있다.
선택사항들 필드(1509)는 F 플래그(1531)를 또한 포함한다. F 플래그(1531)는 1 비트일 수 있고, 비트 위치 8에 위치될 수 있다. F 플래그(1531)는 LSA를 착수하는 라우터가 (예를 들어, 본 명세서에 논의되는 LSFR 메커니즘들에 따라) 플러딩 감소를 지원하는 것을 표시하도록 설정될 수 있다(예를 들어, 1로 설정됨). F 플래그(1531)의 비트 위치는 또한 디폴트로 설정되지 않을 수 있어서(예를 들어, 0으로 설정됨) LSFR을 지원하지 않는 라우터들은 LSA를 수신하는 라우터들에 의해 식별될 수 있다. 이와 같이, 인코딩(1500)은 링크 상태 메시지들이 플러딩 토폴로지를 통해 링크 상태 플러딩 감소를 지원하는 네트워크에서의 노드들을 표시하도록 설정되는 F 플래그들을 포함하는 것을 허용한다.
인코딩(1500)은 LSA에 의해 설명되는 각각의 링크에 대한 타입 필드(1512) 및 메트릭 필드(1514)를 또한 포함할 수 있다. 타입 필드(1512) 및 메트릭 필드(1514)는 각각 타입 필드(1412) 및 메트릭 필드(1414)와 실질적으로 유사할 수 있다. 인코딩(1500)은 LSA에서 설명되는 각각의 링크에 대한 인터페이스 ID 필드(1510), 이웃 인터페이스 ID 필드(1515), 및 이웃 라우터 ID 필드(1516)를 또한 포함할 수 있다. 인터페이스 ID 필드(1510), 이웃 인터페이스 ID 필드(1515), 및 이웃 라우터 ID 필드(1516)는 각각 32 비트 길이이고, 비트 위치 0으로부터 비트 위치 31까지 확장될 수 있다. 인터페이스 ID 필드(1510)는 설명되고 있는 인터페이스(예를 들어, 링크)에 배정되는 ID를 표시한다. 이웃 인터페이스 ID 필드(1515)는 설명되고 있는 링크에 연결되는 이웃 라우터의 인터페이스 ID를 표시한다. 이웃 라우터 ID 필드(1516)는 설명되고 있는 링크에 연결되는 이웃 라우터의 라우터 ID를 표시한다.
도 16은 LSFR에 대한 노드 지원을 표시하기 위한 예시적인 IS-IS 인코딩(1600)의 개략도이다. 예를 들어, IGP 네트워크(100, 200, 300, 및/또는 1300)와 같은, IGP 네트워크에서의, 노드들(111, 211, 212, 213, 311, 312, 400, 1311, 1312, 및/또는 1333)과 같은, 노드는 노드가 LSFR을 지원하는지를 표시하기 위해 IS-IS 인코딩(1600)을 이용할 수 있다. 이러한 정보는, 예를 들어, 방법들(500, 600, 및/또는 700)에 기초하여 플러딩 토폴로지를 구축할 때 다른 노드들에 의해 이용될 수 있다. LSFR을 이용하는, 그리고 그러므로 인코딩(1600)을 이용하는 IS-IS 노드들은 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)을 또한 이용할 수 있다.
인코딩(1600)은 IS-IS와 호환가능한 IGP 네트워크 내로 LSFR을 통합하기 위해 이용될 수 있다. 구체적으로, 인코딩(1600)은 IS-IS LSP에 TLV로서 포함될 수 있다. 인코딩(1600)은 인코딩이 IS-IS 라우터 가능 TLV라는 것을 표시하도록 설정되는 타입 필드(1601)를 포함한다. 예를 들어, 타입 필드(1601)는 8 비트 길이일 수 있고, 비트 위치 0으로부터 비트 위치 7까지 확장될 수 있고, 242로 설정될 수 있다. 인코딩(1600)은 길이 필드(1602)를 포함하고, 이는 8 비트 길이일 수 있고, 비트 위치 8로부터 비트 위치 15까지 확장될 수 있고, TLV의 길이를 표시하도록 설정될 수 있다. 길이 필드(1602)는 포함되는 5와 255 사이의 값으로 설정될 수 있다. 인코딩(1600)은 라우터 ID 필드(1603)를 또한 포함하고, 이는 32 또는 48 비트 길이이고, 비트 위치 16으로부터 비트 위치 15 또는 31까지 확장될 수 있고, 링크 상태 메시지를 착수하는 라우터의 ID를 포함한다. 인코딩(1600)은 링크 상태 메시지를 착수하는 라우터의 능력들을 표시하는 플래그들(1605)의 세트를 또한 포함한다. 플래그들(1605)은 8 비트 길이일 수 있고, 비트 16으로부터 비트 23까지 확장될 수 있다. 플래그들(1605)은 비트 위치 22에 위치될 수 있는, 그리고 TLV가 IS-IS 시스템에서의 레벨들 사이에 누설될 수 있는지를 표시하도록 설정될 수 있는 D(de-looping) 플래그(1621)를 포함한다. 플래그들(1605)은 비트 위치 23에 위치될 수 있는, 그리고 TLV가 전체 IS-IS 네트워크 도메인에 걸쳐 플러딩되는지 또는 특정 IS-IS 네트워크 레벨에 포함되는지를 표시하도록 설정될 수 있는 S(set) 플래그(1622)를 또한 포함한다.
플래그들(1605)은 F 플래그(1631)를 또한 포함하고, 이는 비트 위치 21에 위치될 수 있다. F 플래그(1631)는 LSP를 착수하는 라우터가 (예를 들어, 본 명세서에 논의되는 LSFR 메커니즘들에 따라) 플러딩 감소를 지원하는 것을 표시하도록 설정될 수 있다(예를 들어, 1로 설정됨). F 플래그(1631)의 비트 위치는 또한 디폴트로 설정되지 않을 수 있어서(예를 들어, 0으로 설정됨) LSFR을 지원하지 않는 라우터들은 LSP를 수신하는 라우터들에 의해 식별될 수 있다. 이와 같이, 인코딩(1600)은 링크 상태 메시지들이 플러딩 토폴로지를 통해 링크 상태 플러딩 감소를 지원하는 네트워크에서의 노드들을 표시하도록 설정되는 F 플래그들을 포함하는 것을 허용한다.
인코딩(1600)은 LSP에 관련된 추가적 정보를 포함하는 하나 이상의 선택적인 서브-TLV(1606)를 또한 포함할 수 있다.
도 17은 IGP 네트워크에서 LSFR을 관리하기 위한 예시적인 LSFR 제어 TLV 인코딩(1700)의 개략도이다. 예를 들어, IGP 네트워크(100, 200, 300, 및/또는 1300)와 같은, IGP 네트워크에서의, 노드들(111, 211, 212, 213, 311, 312, 400, 1311, 1312, 및/또는 1333)과 같은 노드는 네트워크에서의 LSFR의 구현을 제어하기 위해 LSFR 제어 TLV 인코딩(1700)을 수신할 수 있다. 구체적으로, LSFR 제어 TLV 인코딩(1700)은 사용자/시스템 관리자가 LSFR 및 연관된 플러딩 토폴로지들에 대한 동작 모드들을 선택 및/또는 스위칭하는 것을 허용할 수 있다. LSFR 제어 TLV 인코딩(1700)은, 인코딩(1400, 1500, 및/또는 1600)과 같은, 링크 상태 메시지의 부분으로서 이용될 수 있다. 이러한 정보는, 예를 들어, 방법들(500, 600 및/또는 700)에 기초하여, 플러딩 토폴로지를 구축할 때 노드들에 의해 이용될 수 있다. LSFR 제어 TLV 인코딩(1700)은 LSFR 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)을 언제 이용할지를 노드들에게 또한 표시할 수 있다.
LSFR 제어 TLV 인코딩(1700)은 TLV를 LSFR 제어 TLV로서 식별하는 데이터를 포함할 수 있는 정보 TLV 타입 필드(1701)를 이용한다. TLV 타입 필드(1701)는 16 비트 길이일 수 있고, 비트 위치 0으로부터 비트 위치 15까지 확장될 수 있다. LSFR 제어 TLV 인코딩(1700)은 LSFR 제어 TLV의 길이를 표시하는 데이터를 포함하는 TLV 길이 필드(1702)를 또한 이용한다. TLV 길이 필드(1702)는 16 비트 길이일 수 있고, 비트 위치 16으로부터 비트 위치 31까지 확장될 수 있다.
LSFR 제어 TLV 인코딩(1700)은 OP(operation) 필드(1731)를 또한 이용하고, 이는 3 비트 길이일 수 있고, 비트 위치 0으로부터 비트 위치 2까지 확장될 수 있다. OP 필드(1731)는 LSFR 가능한 노드들에 대한 LSFR 동작 모드를 선택 및/또는 변경하기 위해 이용될 수 있다. OP 필드(1731)는 노드들이 플러딩 감소를 수행해야 한다는 점을 표시하기 위한 데이터를 포함할 수 있거나, 또는 노드들이 플러딩 토폴로지를 사용하지 않고 정상 플러딩으로 롤 백해야 한다는 점을 표시하기 위한 데이터를 포함할 수 있다. 그러므로, LSFR 제어 TLV 인코딩(1700)은 링크 상태 메시지들이 전체 네트워크 플러딩으로부터 링크 상태 플러딩 감소로 스위칭하도록 설정되는 OP 필드를 포함하는 것을 허용한다. 예를 들어, 사용자/시스템 관리자는 원하는 대로 LSFR을 턴 온 및/또는 오프하기 위해 OP 필드(1731)를 이용할 수 있다.
LSFR 제어 TLV 인코딩(1700)은 MOD(mode) 필드(1732)를 또한 이용하고, 이는 3 비트 길이일 수 있고, 비트 위치 3으로부터 비트 위치 5까지 확장될 수 있다. LSFR은, 중앙 모드, 분산형 모드, 및 정적 구성 모드를 포함하는, 3개의 모드들을 포함할 수 있고, MOD 필드(1732)는 모드들 사이의 스위칭을 시그널링하기 위해 이용될 수 있다. 예를 들어, MOD 필드(1732)는 중앙 모드로 설정될 수 있고, 이는 IGP 네트워크에게 리더 및/또는 백업 리더를 선택하라고 지시한다. 리더는 다음으로 플러딩 토폴로지를 계산하고, 플러딩 토폴로지를 다른 노드들에 플러딩한다. 모든 노드는 리더로부터의 플러딩 토폴로지를 수신하고 사용한다. MOD 필드(1732)는 분산형 모드로 또한 설정될 수 있고, 이는 IGP 네트워크에서의 모든 노드들에게 위에 논의된 바와 같이 공통 알고리즘을 이용하여 플러딩 토폴로지를 계산하라고 지시한다. MOD 필드(1732)는 정적 구성 모드로 또한 설정될 수 있고, 이는 구성된 플러딩 토폴로지를 이용하라고 IGP 네트워크에서의 노드들에게 지시한다. 그러므로, LSFR 제어 TLV 인코딩(1700)은 링크 상태 메시지들이 중앙집중형 링크 상태 플러딩 감소, 분산형 링크 상태 플러딩 감소, 또는 정적 구성형 링크 상태 플러딩 감소를 표시하도록 설정되는 MOD 필드(1732)를 포함하는 것을 허용한다.
LSFR 제어 TLV 인코딩(1700)은 알고리즘 필드(1733)를 또한 이용하고, 이는 8 비트 길이일 수 있고, 비트 위치 6으로부터 비트 위치 13까지 확장할 수 있다. 알고리즘 필드(1733)는 중앙 및/또는 분산형 모드에서 노드들에 의해 사용되어야 하는 플러딩 토폴로지를 계산하기 위한 알고리즘(예를 들어, 방법(500, 600, 및/또는 700))을 표시하는 데이터를 포함할 수 있다. 그러므로, LSFR 제어 TLV 인코딩(1700)은 링크 상태 메시지들이 플러딩 토폴로지에서 링크들의 트리를 구축하는 알고리즘을 표시하도록 설정되는 알고리즘 필드(1733)를 포함하는 것을 허용한다.
인코딩(1700)은 LSFR 구현에 관련된 추가적 정보를 포함하는 하나 이상의 선택적인 서브-TLV(1706)를 또한 포함할 수 있다.
도 18은 중앙집중형 LSFR을 분산형 LSFR과 통합하기 위한 예시적인 TLV 인코딩(1800)의 개략도이다. 구체적으로, TLV 인코딩(1800)은, 예를 들어, MOD 필드(1732)가 중앙 모드로 설정될 때, LSFR 제어 TLV 인코딩(1700)과 함께 사용될 수 있다. TLV 인코딩(1800)은 각각 정보 TLV 타입 필드(1701) 및 TLV 길이 필드(1702)와 실질적으로 유사한 정보 TLV 타입 필드(1801) 및 TLV 길이 필드(1802)를 포함한다. TLV 인코딩(1800)은 우선순위 필드(1803)를 또한 포함하고, 이는 8 비트 길이일 수 있고, 비트 위치 0으로부터 비트 위치 7까지 확장될 수 있다. 우선순위 필드(1803)는 중앙 모드에서 리더가 되는 TLV를 발신하는 노드의 우선순위를 표시하기 위해 이용될 수 있다. 인코딩(1800)은 LSFR 구현에 관련된 추가적 정보를 포함하는 하나 이상의 선택적인 서브-TLV(1806)를 또한 포함할 수 있다. 이러한 서브-TLV들(1806)은 리더 서브-TLV 및/또는 백업 리더 서브-TLV를 포함할 수 있고, 이들은 각각 리더 및/또는 백업 리더를 선택하기 위한 방법/알고리즘을 포함한다.
도 19는 IGP 네트워크에서 LSFR 메커니즘을 동작시키는 예시적인 방법(1900)의 흐름도이다. 예를 들어, 방법(1900)은, IGP 네트워크(100, 200, 300, 및/또는 1300)와 같은, IGP 네트워크에서의, 노드들(111, 211, 212, 213, 311, 312, 400, 1311, 1312 및/또는 1333)과 같은, 노드에 의해 이용될 수 있다. 방법(1900)은 OSPF 및/또는 IGP 네트워크들에서 이용될 수 있고, 그러므로 인코딩(1400, 1500, 및/또는 1600)과 함께 이용될 수 있다. 방법(1900)은, 예를 들어 방법들(500, 600 및/또는 700)을 이용하여, 플러딩 토폴로지를 구축하기 위해 이용될 수 있다. 방법(1900)은, 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)과 같은, 플러딩 메커니즘들을 또한 이용할 수 있다. 방법(1800)은 LSFR 제어 TLV 인코딩(1700)의 수신에 의해 또한 착수될 수 있다.
방법(1900)은 IGP 네트워크에서의 임의의 노드 상에 구현될 수 있고, 이는 논의의 명확성의 목적들을 위해 제1 노드로 표시된다. 블록 1901에서, 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터가 제1 노드에서 수신된다. 이러한 데이터는 링크 상태 데이터를 포함하고, 예를 들어, OSPF LSA들 또는 IS-IS LSP들 같은, 링크 상태 메시지들의 일반 플러딩에 따라 수신될 수 있다.
블록 1903에서, 제1 노드(및 네트워크에서의 모든 노드들)는 이러한 접속성에 기초하여 플러딩 토폴로지를 구축한다. 플러딩 토폴로지는 네트워크 노드들 중 하나를 루트 노드로서 선택하는 것, 및 이러한 루트 노드를 네트워크에서의 다른 노드들에 접속하는 플러딩 토폴로지 링크들의 트리를 구축하는 것에 의해 구축될 수 있다. 예를 들어, 블록 1903은 방법들(500, 600, 및/또는 700)을 이용하여 플러딩 토폴로지를 구축할 수 있다. 플러딩 토폴로지를 구축하는 것은 주기적으로 및/또는, 링크/노드 오동작, 중요 인터페이스의 오동작 등과 같은, 조건의 발생시에 발생할 수 있다. 위에 논의된 바와 같이, 플러딩 토폴로지는, 예를 들어 F 플래그를 이용하는 링크 상태 메시지들에서 광고되는 바와 같이, 노드들의 LSFR 능력에 기초하여 구축될 수 있다. 추가로, 제1 노드(및 모든 노드들)는 LSFR 제어 TLV 인코딩(1700)에서(예를 들어, 링크 상태 메시지에서) 표시되는 알고리즘에 따라 플러딩 토폴로지를 구축할 수 있다.
선택적 블록 1905에서, 제1 노드는 트리에 추가하기 위한 다수의 리프 링크들을 명시하는 요청을 수신할 수 있다. 이러한 요청은, 예를 들어 사용자/네트워크 관리자에 의해 착수되는 바와 같이, 링크 상태 메시지에 포함되는 TLV일 수 있다. 요청이 수신되면, 제1 노드(및 네트워크에서의 모든 노드들)는 요청에 명시되는 바와 같이 플러딩 토폴로지에 다수의 리프 링크들을 추가한다. 이러한 리프 링크들은, 예를 들어 위의 도 3에 관하여 논의되는 바와 같이, 네트워크에서의 노드들 사이에 추가된다. 예를 들어, 리프 링크들은 중요 인터페이스들의 수를 감소시키기 위해 추가될 수 있고, 링크 ID/인터페이스 ID/노드 ID 등에 기초하여 추가될 수 있는 등이다. 이러한 리프 링크들을 추가하기 전에, 플러딩 토폴로지에서의 링크들의 트리는 네트워크에서의 노드들 전부를 루트 노드에 접속하는 최소 수의 링크들을 포함할 수 있다. 리프 링크들은 중복 링크 상태 메시지 통신을 약간 증가시키는 대가로 플러딩 토폴로지의 신뢰성을 증가시킬 수 있다.
블록 1907에서, 제1 노드는 네트워크에서의 다른 노드들에 플러딩 토폴로지를 송신하지 않고 플러딩 토폴로지를 메모리에 저장한다. 이러한 접근법은 플러딩 토폴로지가 미리 선택된 알고리즘에 따라 각각의 노드에서 생성되는 것을 보장하고, 이는 플러딩 토폴로지에 관련된 링크 상태 메시지 플러딩을 결국 감소시킨다.
블록 1909에서, 제1 노드는 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩한다. 추가로, 제1 노드는 플러딩 토폴로지 외부의 링크 상태 메시지들을 플러딩하지 않는다.
선택적 블록 1911에서, 제1 노드는 링크/노드 상태에서의 변경들에 기초하여 플러딩 프로시저를 바꿀 수 있다. 예를 들어, 제1 노드는 네트워크에서 발생하는 변경들의 타입에 의존하여 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)을 이용할 수 있다. 구체적인 예들로서, 제1 노드는 신규로 접속된 노드로부터 제1 링크 상태 메시지를 수신할 수 있고, 여기서 신규로 접속된 노드는 링크를 통해 제1 노드에 직접 접속된다. 제1 노드는 다음으로 신규로 접속된 노드를 플러딩 토폴로지가 재계산될 때까지 플러딩 토폴로지에서의 링크들의 트리에 추가할 수 있다. 다른 예로서, 제1 노드는 플러딩 토폴로지로부터 배제되는 링크에 걸쳐 제2 링크 상태 메시지를 수신할 수 있다. 제1 노드는 다음으로 플러딩 토폴로지 외부에서 제2 링크 상태 메시지를 플러딩할 수 있다. 다른 예로서, 제1 노드는 네트워크에서의 제2 노드가 다운됨을 표시하는 제3 링크 상태 메시지를 수신할 수 있다. 제1 노드는 다음으로 제3 링크 상태 메시지를 플러딩 토폴로지로부터 배제되는 링크들에 플러딩하고, 제1 노드와 제2 노드의 이웃들 사이에 접속할 수 있다. 다른 예로서, 제1 노드는 네트워크에서의 제1 링크가 다운됨을 표시하는 제4 링크 상태 메시지를 수신할 수 있다. 제1 노드는 제1 링크가 플러딩 토폴로지에 있다고 그리고 제1 링크가 제1 노드에 접속된다고 결정할 수 있다. 이러한 결정에 기초하여, 제1 노드는 제4 링크 상태 메시지를 제1 링크에 인접하는 노드들을 또한 접속하는 이웃들에 접속하는 링크들에 전송할 수 있다. 다른 예로서, 제1 노드는 네트워크에서의 중요 인터페이스들을 결정할 수 있고, 여기서 중요 인터페이스는 실패가 플러딩 토폴로지를 분열시키는 링크 또는 노드이다. 제1 노드는 중요 인터페이스가 실패할 때 플러딩 토폴로지의 사용을 중단할 수 있다.
도 20은 IGP 네트워크에서 LSFR 메커니즘들을 동작시키기 위한 디바이스(2000)의 실시예이다. 예를 들어, 디바이스(2000)는 방법(1900)을 구현하기 위해 이용될 수 있다. 추가로, 디바이스(2000)는, IGP 네트워크(100, 200, 300, 및/또는 1300)와 같은, IGP 네트워크에서의, 노드들(111, 211, 212, 213, 311, 312, 400, 1311, 1312 및/또는 1333)과 같은, 노드로서 이용될 수 있다. 디바이스(2000)는 OSPF 및/또는 IGP 네트워크들에서 이용될 수 있고, 그러므로 인코딩(1400, 1500, 및/또는 1600)과 함께 이용될 수 있다. 디바이스(2000)는, 예를 들어 방법들(500, 600 및/또는 700)을 이용하여, 플러딩 토폴로지를 구축하기 위해 이용될 수 있다. 디바이스(2000)는, 플러딩 메커니즘들(800, 900, 1000, 1100, 및/또는 1200)과 같은, 플러딩 메커니즘들을 또한 이용할 수 있다. 디바이스(2000)는 LSFR 제어 TLV 인코딩(1700)의 수신에 의해 또한 제어될 수 있다.
디바이스(2000)는 수신 모듈(2001)을 포함하고, 이는 제1 노드를 포함하는 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하기 위한 수단이다. 디바이스(2000)는 플러딩 토폴로지 구축 모듈(2003)을 포함하고, 이는 노드들 중 하나를 루트 노드로서 선택하는 것, 및 이러한 루트 노드를 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의해 접속성에 기초하여 플러딩 토폴로지를 구축하는 수단이다. 디바이스(2000)는 저장 모듈(2005)을 포함하고, 이는 네트워크에서의 복수의 노드들에 플러딩 토폴로지를 송신하지 않고 플러딩 토폴로지를 저장하기 위한 수단이다. 디바이스(2000)는 플러딩 모듈(2007)을 또한 포함하고, 이는 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하기 위한 수단이다.
하나의 실시예에서, 네트워크에서의 제1 노드는 제1 노드를 포함하는 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하기 위한 수신 수단을 포함한다. 제1 노드는, 제1 노드의 프로세서 수단에 의해, 노드들 중 하나를 루트 노드로서 선택하는 것에 의해, 이러한 루트 노드를 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의해, 네트워크에서의 복수의 노드들에 플러딩 토폴로지를 송신하지 않고 플러딩 토폴로지를 메모리에 저장하는 것에 의해 그리고 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하는 것에 의해 접속성에 기초하여 플러딩 토폴로지를 구축하기 위한 구축 수단을 추가로 포함한다.
제1 컴포넌트는, 제1 컴포넌트와 제2 컴포넌트 사이의 라인, 트레이스, 또는 다른 매체를 제외하고, 중간 컴포넌트들이 존재하지 않을 때 제2 컴포넌트에 직접 연결된다. 제1 컴포넌트는 제1 컴포넌트와 제2 컴포넌트 사이의 라인, 트레이스 또는 다른 매체 이외의 중간 컴포넌트들이 존재할 때 제2 컴포넌트에 간접적으로 연결된다. "연결되는(coupled)"이라는 용어 및 그 변형어들은 직접 연결되는 것 및 간접적으로 연결되는 것 양자 모두를 포함한다. "약(about)"이라는 용어의 사용은 다른 방식으로 표명되지 않는 한 후속 수의 ±10%를 포함하는 범위를 의미한다.
몇몇 실시예들이 본 개시내용에서 제공되었지만, 개시되는 시스템들 및 방법들은 본 개시내용의 사상 또는 범위를 벗어나지 않고 많은 다른 구체적인 형태들로 구현될 수 있다는 점이 이해되어야 한다. 본 예들은 제한적인 것이 아라 예시적인 것으로서 고려되어야 하며, 본 명세서에 주어지는 상세사항들로 제한되도록 의도되는 것은 아니다. 예를 들어, 다양한 엘리먼트들 또는 컴포넌트들이 다른 시스템에서 조합 또는 집적될 수 있거나 또는 특정 특징들이 생략되거나, 또는 구현되지 않을 수 있다.
또한, 다양한 실시예들에서 별개로서 또는 개별로서 설명되고 예시되는 기법들, 시스템들, 서브시스템들, 및 방법들은 본 개시내용의 범위로부터 벗어나지 않고 다른 시스템들, 컴포넌트들, 기법들, 또는 방법들과 조합 또는 집적될 수 있다. 변경들, 대체들, 및 개조들의 다른 예들이 해당 분야에서의 기술자에 의해 확인될 수 있으며, 본 명세서에 개시되는 사상 및 범위로부터 벗어나지 않고 이루어질 수 있다.

Claims (31)

  1. 네트워크에서의 제1 노드에서 구현되는 방법으로서, 상기 방법은,
    상기 제1 노드의 수신기에서, 상기 제1 노드를 포함하는 상기 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하는 단계;
    상기 제1 노드의 프로세서에 의해, 상기 접속성에 기초하여 플러딩 토폴로지를 구축하는 단계 - 상기 제1 노드의 프로세서에 의해, 상기 접속성에 기초하여 플러딩 토폴로지를 구축하는 단계는
    상기 노드들 중 하나를 루트 노드로서 선택하는 것, 및
    수신된 링크 상태 메시지의 알고리즘 필드에 포함된 알고리즘에 따라 상기 루트 노드를 상기 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의함 -;
    상기 플러딩 토폴로지를 메모리에 저장하는 단계; 및
    상기 제1 노드의 송신기에 의해, 상기 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 수신기에서, 상기 트리에 추가하기 위한 다수의 리프 링크들을 명시하는 요청을 수신하는 단계; 및
    상기 프로세서에 의해, 상기 네트워크에서의 노드들 사이의 다수의 리프 링크들을 플러딩 토폴로지에 추가하는 단계를 추가로 포함하는 방법.
  3. 제1항에 있어서, 리프 링크들을 추가하기 전에, 상기 플러딩 토폴로지에서의 링크들의 트리는 상기 네트워크에서의 노드들 전부를 상기 루트 노드에 접속하기 위한 최소 수의 링크들을 포함하는 방법.
  4. 제1항에 있어서,
    상기 프로세서에 의해, 신규로 접속된 노드와의 인접성을 수립하는 단계- 상기 신규로 접속된 노드는 링크를 통해 상기 제1 노드에 직접 접속됨 -; 및
    상기 프로세서에 의해, 상기 신규로 접속된 노드를 상기 플러딩 토폴로지가 재계산될 때까지 상기 플러딩 토폴로지에서의 링크들의 트리에 추가하는 단계를 추가로 포함하는 방법.
  5. 제1항에 있어서,
    상기 수신기에서, 상기 플러딩 토폴로지로부터 배제되는 링크에 걸쳐 제1 링크 상태 메시지를 수신하는 단계; 및
    상기 송신기에 의해, 상기 플러딩 토폴로지 상의 링크들에 걸쳐 상기 제1 링크 상태 메시지를 플러딩하는 단계를 추가로 포함하는 방법.
  6. 제1항에 있어서,
    상기 수신기에서, 상기 네트워크에서의 제2 노드가 다운됨을 표시하는 제2 링크 상태 메시지를 수신하는 단계; 및
    상기 송신기에 의해, 상기 제2 링크 상태 메시지를 상기 제1 노드와 상기 제2 노드의 이웃들 사이에 접속하는 링크들에 플러딩하는 단계를 추가로 포함하는 방법.
  7. 제1항에 있어서,
    상기 수신기에서, 상기 네트워크에서의 제1 링크가 다운됨을 표시하는 제3 링크 상태 메시지를 수신하는 단계;
    상기 제1 링크가 중요 엘리먼트인 것으로 결정하는 단계; 및
    상기 결정에 기초하여, 상기 제3 링크 상태 메시지를 상기 제1 링크에 부착되는 노드에 인접하는 노드들을 또한 접속하는 이웃들에 접속하는 링크들에 전송하는 단계를 추가로 포함하는 방법.
  8. 제1항에 있어서,
    상기 프로세서에 의해, 중요 엘리먼트들을 결정하는 단계- 중요 엘리먼트는 실패가 상기 플러딩 토폴로지를 분열시키는 링크 또는 노드임 -; 및
    중요 인터페이스가 실패할 때 상기 플러딩 토폴로지의 사용을 중단하는 단계를 추가로 포함하는 방법.
  9. 제1항에 있어서, 상기 링크 상태 메시지들은 OSPF(Open Shortest Path First) LSA들(Link State Advertisements)인 방법.
  10. 제1항에 있어서, 상기 링크 상태 메시지들은 IS-IS(Intermediate System to Intermediate System) LSP들(Link State Protocol data units)인 방법.
  11. 제1항에 있어서, 상기 링크 상태 메시지들은 상기 플러딩 토폴로지를 통해 링크 상태 플러딩 감소를 지원하는 상기 네트워크에서의 노드들을 표시하도록 설정되는 F(Flooding reduction) 플래그들을 포함하는 방법.
  12. 제1항에 있어서, 상기 링크 상태 메시지들은 중앙집중형 링크 상태 플러딩 감소, 분산형 링크 상태 플러딩 감소, 또는 정적 구성형 링크 상태 플러딩 감소를 표시하도록 설정되는 모드 필드를 포함하는 방법.
  13. 제1항에 있어서, 상기 링크 상태 메시지들은 상기 플러딩 토폴로지에서 링크들의 트리를 구축하기 위한 알고리즘을 표시하도록 설정되는 알고리즘 필드를 포함하는 방법.
  14. 제1항에 있어서, 상기 링크 상태 메시지들은 전체 네트워크 플러딩으로부터 링크 상태 플러딩 감소로 스위칭하도록 설정되는 OP(operation) 필드를 포함하는 방법.
  15. 네트워크에서의 제1 노드로서, 상기 제1 노드는,
    상기 제1 노드를 포함하는 상기 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하도록 구성되는 수신기;
    상기 수신기에 연결되는 프로세서- 상기 프로세서는 상기 노드들 중 하나를 루트 노드로서 선택하는 것 및 수신된 링크 상태 메시지의 알고리즘 필드에 포함된 알고리즘에 따라 상기 루트 노드를 상기 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의해, 상기 접속성에 기초하여 플러딩 토폴로지를 구축하도록 구성됨 -;
    상기 프로세서에 연결되는 메모리- 상기 메모리는 상기 플러딩 토폴로지를 저장하도록 구성됨 -; 및
    상기 프로세서에 연결되는 송신기- 상기 송신기는 상기 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하도록 구성됨 -를 포함하는 제1 노드.
  16. 제15항에 있어서, 상기 수신기는 상기 트리에 추가하기 위한 다수의 리프 링크들을 명시하는 요청을 수신하도록 추가로 구성되고, 상기 프로세서는 상기 네트워크에서의 노드들 사이의 다수의 리프 링크들을 상기 플러딩 토폴로지에 추가하도록 추가로 구성되는 제1 노드.
  17. 제15항 또는 제16항에 있어서, 리프 링크들을 추가하기 전에, 상기 플러딩 토폴로지에서의 링크들의 트리는 상기 네트워크에서의 노드들 전부를 상기 루트 노드에 접속하기 위한 최소 수의 링크들을 포함하는 제1 노드.
  18. 제15항 또는 제16항에 있어서, 상기 프로세서는 신규로 접속된 노드와의 인접성을 수립하도록 추가로 구성되고, 상기 신규로 접속된 노드는 링크를 통해 상기 제1 노드에 직접 접속되고, 상기 프로세서는 상기 신규로 접속된 노드를 상기 플러딩 토폴로지가 재계산될 때까지 상기 플러딩 토폴로지에서의 링크들의 트리에 추가하도록 추가로 구성되는 제1 노드.
  19. 제15항 또는 제16항에 있어서, 상기 수신기는 상기 플러딩 토폴로지로부터 배제되는 링크에 걸쳐 제1 링크 상태 메시지를 수신하도록 추가로 구성되고, 상기 송신기는 상기 플러딩 토폴로지 상의 링크들에 걸쳐 상기 제1 링크 상태 메시지를 플러딩하도록 추가로 구성되는 제1 노드.
  20. 제15항 또는 제16항에 있어서, 상기 수신기는 상기 네트워크에서의 제2 노드가 다운됨을 표시하는 제2 링크 상태 메시지를 수신하도록 추가로 구성되고, 상기 송신기는 상기 제2 링크 상태 메시지를 상기 제1 노드와 상기 제2 노드의 이웃들 사이에 접속하는 링크들에 플러딩하도록 추가로 구성되는 제1 노드.
  21. 제15항 또는 제16항에 있어서, 상기 수신기는 상기 네트워크에서의 제1 링크가 다운됨을 표시하는 제3 링크 상태 메시지를 수신하도록 추가로 구성되고, 상기 프로세서는 상기 제1 링크가 중요 엘리먼트인 것으로 결정하도록 추가로 구성되고, 상기 송신기는, 상기 결정에 기초하여, 상기 제3 링크 상태 메시지를 상기 제1 링크에 부착되는 노드에 인접하는 노드들을 또한 접속하는 이웃들에 접속하는 링크들에 전송하도록 추가로 구성되는 제1 노드.
  22. 제15항 또는 제16항에 있어서, 상기 프로세서는,
    중요 엘리먼트들을 결정하도록- 중요 엘리먼트는 실패가 상기 플러딩 토폴로지를 분열시키는 링크 또는 노드임 -; 그리고
    중요 엘리먼트가 실패할 때 상기 플러딩 토폴로지의 사용을 중단하도록 추가로 구성되는 제1 노드.
  23. 제15항 또는 제16항에 있어서, 상기 링크 상태 메시지들은 OSPF(Open Shortest Path First) LSA들(Link State Advertisements)인 제1 노드.
  24. 제15항 또는 제16항에 있어서, 상기 링크 상태 메시지들은 IS-IS(Intermediate System to Intermediate System) LSP들(Link State Protocol data units)인 제1 노드.
  25. 제15항 또는 제16항에 있어서, 상기 링크 상태 메시지들은 상기 플러딩 토폴로지를 통해 링크 상태 플러딩 감소를 지원하는 상기 네트워크에서의 노드들을 표시하도록 설정되는 F(Flooding reduction) 플래그들을 포함하는 제1 노드.
  26. 제15항 또는 제16항에 있어서, 상기 링크 상태 메시지들은 중앙집중형 링크 상태 플러딩 감소, 분산형 링크 상태 플러딩 감소, 또는 정적 구성형 링크 상태 플러딩 감소를 표시하도록 설정되는 모드 필드를 포함하는 제1 노드.
  27. 제15항 또는 제16항에 있어서, 상기 링크 상태 메시지들은 상기 플러딩 토폴로지에서 링크들의 트리를 구축하기 위한 알고리즘을 표시하도록 설정되는 알고리즘 필드를 포함하는 제1 노드.
  28. 제15항 또는 제16항에 있어서, 상기 링크 상태 메시지들은 전체 네트워크 플러딩으로부터 링크 상태 플러딩 감소로 스위칭하도록 설정되는 OP(operation) 필드를 포함하는 제1 노드.
  29. 네트워크에서의 제1 노드에 의해 사용하기 위한 컴퓨터 프로그램 제품을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 상기 컴퓨터 프로그램 제품은 프로세서에 의해 실행될 때 상기 제1 노드로 하여금 제1항 내지 제14항 중 어느 한 항의 방법을 수행하게 하도록 상기 비-일시적 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 실행가능 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체.
  30. 네트워크에서의 제1 노드로서, 상기 제1 노드는,
    상기 제1 노드를 포함하는 상기 네트워크에서의 복수의 노드들의 접속성을 표시하는 데이터를 수신하기 위한 수신 수단;
    상기 노드들 중 하나를 루트 노드로서 선택하는 것 및 수신된 링크 상태 메시지의 알고리즘 필드에 포함된 알고리즘에 따라 상기 루트 노드를 상기 네트워크에서의 노드들에 접속하는 링크들의 트리를 구축하는 것에 의해, 상기 접속성에 기초하여 플러딩 토폴로지를 구축하기 위한 처리 수단;
    상기 플러딩 토폴로지를 저장하기 위한 메모리 저장 수단; 및
    상기 플러딩 토폴로지를 통해 링크 상태 메시지들을 플러딩하기 위한 송신 수단을 포함하는 제1 노드.
  31. 제30항에 있어서, 상기 수신 수단, 처리 수단, 메모리 저장 수단, 및 송신 수단은 제2항 내지 제14항 중 어느 한 항의 방법을 수행하도록 구성되는 제1 노드.
KR1020207022906A 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화 KR102397956B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227015713A KR102496586B1 (ko) 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862616499P 2018-01-12 2018-01-12
US62/616,499 2018-01-12
US201862624986P 2018-02-01 2018-02-01
US62/624,986 2018-02-01
US201862750677P 2018-10-25 2018-10-25
US62/750,677 2018-10-25
PCT/CN2018/119251 WO2019137118A1 (en) 2018-01-12 2018-12-05 Interior gateway protocol flood minimization

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227015713A Division KR102496586B1 (ko) 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화

Publications (2)

Publication Number Publication Date
KR20200106184A KR20200106184A (ko) 2020-09-11
KR102397956B1 true KR102397956B1 (ko) 2022-05-13

Family

ID=67219352

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207022906A KR102397956B1 (ko) 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화
KR1020227015713A KR102496586B1 (ko) 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화
KR1020237003820A KR102606598B1 (ko) 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020227015713A KR102496586B1 (ko) 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화
KR1020237003820A KR102606598B1 (ko) 2018-01-12 2018-12-05 내부 게이트웨이 프로토콜 플러딩 최소화

Country Status (8)

Country Link
US (3) US11489766B2 (ko)
EP (3) EP4181528A1 (ko)
JP (2) JP7052049B2 (ko)
KR (3) KR102397956B1 (ko)
CN (3) CN114615198B (ko)
ES (1) ES2933264T3 (ko)
MX (1) MX2020007474A (ko)
WO (1) WO2019137118A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11671329B2 (en) 2018-04-04 2023-06-06 Arista Networks, Inc. Computation of network flooding topologies
US11218399B2 (en) 2018-06-20 2022-01-04 Arista Networks, Inc. Embedded area abstraction
KR20210126128A (ko) * 2019-02-27 2021-10-19 후아웨이 테크놀러지 컴퍼니 리미티드 플러딩 토폴로지 불일치를 처리하기 위한 시스템 및 방법
CN116366526A (zh) * 2019-07-05 2023-06-30 华为技术有限公司 用于计算泛洪拓扑的系统和方法
CN112350936B (zh) * 2019-08-08 2023-04-18 中兴通讯股份有限公司 一种内部网关协议泛洪优化方法及装置、存储介质
CN114553779A (zh) * 2019-09-16 2022-05-27 华为技术有限公司 网络拥塞控制方法、节点、系统及存储介质
US11451475B2 (en) 2019-12-19 2022-09-20 Huawei Technologies Co., Ltd. Packet forwarding based on geometric location
US11296948B2 (en) 2020-01-09 2022-04-05 Arista Networks, Inc. Topology partition detection
US20210243125A1 (en) * 2020-01-31 2021-08-05 Hewlett Packard Enterprise Development Lp System and method for avoiding congestion in a computer network
US11374852B2 (en) 2020-05-29 2022-06-28 Huawei Technologies Co., Ltd. Piecewise shortest path first routing
US11438823B2 (en) 2020-05-29 2022-09-06 Huawei Technologies Co., Ltd. Orthodromic routing
US11310098B2 (en) 2020-06-09 2022-04-19 Cisco Technology, Inc. Diagnosing intermediary network nodes
US11777844B2 (en) 2020-07-03 2023-10-03 Huawei Technologies Co., Ltd. Distributing information in communication networks
CN116057905A (zh) * 2020-07-13 2023-05-02 华为技术有限公司 网络子图根节点选择的参数化方法
CN114430387B (zh) * 2020-10-15 2023-05-09 华为技术有限公司 一种节点的配置方法、控制器和节点
CN114531623B (zh) * 2020-10-31 2023-04-28 华为技术有限公司 一种信息传输方法、装置及网络节点
US11374652B1 (en) 2020-12-10 2022-06-28 Huawei Technologies Co., Ltd. Method and apparatus for limited flooding and network routing region membership management
US11909627B2 (en) 2021-01-04 2024-02-20 Huawei Technologies Co., Ltd. Method and apparatus for managing network status information using multiple degree of precision graph
US11601780B2 (en) 2021-01-05 2023-03-07 Huawei Technologies Co., Ltd. Method and apparatus for propagating network status updates using directional tracking
US11476925B2 (en) 2021-02-04 2022-10-18 Huawei Technologies Co., Ltd. Method and apparatus for limited flooding in networks using transit nodes
US11757753B2 (en) * 2021-02-25 2023-09-12 Huawei Technologies Co., Ltd. Link state steering
US11924096B2 (en) 2022-07-15 2024-03-05 Cisco Technology, Inc. Layer-2 mesh replication
US11929909B1 (en) * 2023-04-12 2024-03-12 Eci Telecom Ltd. Spectral defragmentation in communication networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107249147A (zh) 2017-05-15 2017-10-13 北京邮电大学 一种自动交换光网络中的信息同步方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831975A (en) 1996-04-04 1998-11-03 Lucent Technologies Inc. System and method for hierarchical multicast routing in ATM networks
US6567403B1 (en) * 1998-04-30 2003-05-20 Hewlett-Packard Development Company, L.P. Virtual-chassis switch network topology
US6757258B1 (en) * 2000-05-04 2004-06-29 Cisco Technology, Inc. Method and apparatus for reducing OSPF flooding
US7983239B1 (en) 2003-01-07 2011-07-19 Raytheon Bbn Technologies Corp. Systems and methods for constructing a virtual model of a multi-hop, multi-access network
US7792987B1 (en) * 2003-04-21 2010-09-07 Juniper Networks, Inc. Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
ATE532369T1 (de) 2004-08-06 2011-11-15 Panasonic Corp Konstruktion eines multi-hop funksystems mit baumstruktur durch wahl eines funk-knotens, der eine verbindung als host annimmt, basierend auf der anzahl von hops und entweder des funkknotens an der basis oder der anzahl angeschlossener funkknoten
US7742431B2 (en) 2004-12-22 2010-06-22 Cisco Technology, Inc. Selectively sending link state messages in a network link state protocol based on interest of network nodes
JP4682887B2 (ja) 2006-03-22 2011-05-11 日本電気株式会社 故障復旧方法およびノードならびにネットワーク
US8223668B2 (en) * 2006-12-14 2012-07-17 Rockstar Bidco Lp Method and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas
US8270319B2 (en) * 2006-12-14 2012-09-18 Rockstart Bidco, LP Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas
JP5180972B2 (ja) * 2007-01-19 2013-04-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワークツリー管理のための方法と装置
US8837329B2 (en) * 2007-01-19 2014-09-16 Telefonaktiebolaget L M Ericsson (Publ) Method and system for controlled tree management
US7778204B2 (en) 2008-07-25 2010-08-17 Alcatel-Lucent Usa Inc. Automatic maintenance of a distributed source tree (DST) network
US8385231B2 (en) * 2009-07-30 2013-02-26 Roberto Rojas-Cessa Disseminating link state information to nodes of a network
US8553586B2 (en) * 2009-10-16 2013-10-08 Ciena Corporation Systems and methods for automatically building and repairing a spanning tree flooding backbone in link state routed networks
US8089866B2 (en) * 2009-10-16 2012-01-03 Ciena Corporation Spanning tree flooding backbone systems and methods for link state routed networks
US8351438B2 (en) * 2010-08-19 2013-01-08 Juniper Networks, Inc. Flooding-based routing protocol having database pruning and rate-controlled state refresh
US8614952B2 (en) * 2011-11-15 2013-12-24 Alcatel Lucent Efficient propagation of link state advertisements in densely interconnected OSPF networks
CN103001879B (zh) 2012-06-29 2015-09-23 杭州华三通信技术有限公司 减少链路状态通告洪泛次数的方法及设备
US9608900B2 (en) * 2012-08-08 2017-03-28 Cisco Technology, Inc. Techniques for flooding optimization for link state protocols in a network topology
US20140269410A1 (en) 2013-03-14 2014-09-18 Cisco Technology, Inc. Efficient Flooding of Link State Packets for Layer 2 Link State Protocols
CN105282041A (zh) 2014-07-18 2016-01-27 中兴通讯股份有限公司 基于isis的洪泛方法及装置
US10063463B2 (en) * 2014-12-16 2018-08-28 Cisco Technology, Inc. Node protection for segment routing adjacency segments
US9755962B2 (en) * 2015-03-11 2017-09-05 Juniper Networks, Inc. Reducing link state protocol traffic during graceful restart
US10469372B2 (en) * 2018-01-09 2019-11-05 Cisco Technology, Inc. Segment-routing multiprotocol label switching end-to-end dataplane continuity
WO2020047549A1 (en) * 2018-08-31 2020-03-05 Futurewei Technologies, Inc. System and method to reduce flooding topology size

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107249147A (zh) 2017-05-15 2017-10-13 北京邮电大学 一种自动交换光网络中的信息同步方法及系统

Also Published As

Publication number Publication date
KR20220065901A (ko) 2022-05-20
EP3732894B1 (en) 2022-11-16
US20210119910A1 (en) 2021-04-22
JP2021510280A (ja) 2021-04-15
CN114615198B (zh) 2023-06-06
US20230017665A1 (en) 2023-01-19
JP2022087146A (ja) 2022-06-09
CN114629846A (zh) 2022-06-14
EP4075755A1 (en) 2022-10-19
ES2933264T3 (es) 2023-02-03
EP4181528A1 (en) 2023-05-17
BR112020014010A2 (pt) 2020-12-01
US20220094632A1 (en) 2022-03-24
KR102496586B1 (ko) 2023-02-07
CN111587580B (zh) 2022-02-15
MX2020007474A (es) 2020-09-14
JP7389838B2 (ja) 2023-11-30
CN114615198A (zh) 2022-06-10
KR20200106184A (ko) 2020-09-11
WO2019137118A1 (en) 2019-07-18
EP3732894A1 (en) 2020-11-04
EP3732894A4 (en) 2021-01-27
KR20230022265A (ko) 2023-02-14
CN111587580A (zh) 2020-08-25
JP7052049B2 (ja) 2022-04-11
US11489766B2 (en) 2022-11-01
KR102606598B1 (ko) 2023-11-29

Similar Documents

Publication Publication Date Title
KR102397956B1 (ko) 내부 게이트웨이 프로토콜 플러딩 최소화
US11848823B2 (en) System and method to recover from link or node failure in a network
CA2843355C (en) Method and apparatus for resilient routing of control traffic in a split-architecture system
US8908676B2 (en) Automatically detecting best paths from shadow route reflectors
US9692687B2 (en) Method and apparatus for rapid rerouting of LDP packets
US11811611B2 (en) System and method for backup flooding topology split
BR112020014010B1 (pt) Método implementado em um primeiro nó em uma rede e primeiro nó
BR122022009823B1 (pt) Método implementado por um primeiro nó em uma rede, método implementado por um segundo nó em uma rede, primeiro nó em uma rede, segundo nó em uma rede, e sistema em uma rede
Dikshit et al. Enhanced Protection for Routing in IP Networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant