KR102589958B1 - 전송 경로 오류 처리 방법 및 장치, 그리고 시스템 - Google Patents

전송 경로 오류 처리 방법 및 장치, 그리고 시스템 Download PDF

Info

Publication number
KR102589958B1
KR102589958B1 KR1020237002861A KR20237002861A KR102589958B1 KR 102589958 B1 KR102589958 B1 KR 102589958B1 KR 1020237002861 A KR1020237002861 A KR 1020237002861A KR 20237002861 A KR20237002861 A KR 20237002861A KR 102589958 B1 KR102589958 B1 KR 102589958B1
Authority
KR
South Korea
Prior art keywords
network device
node
label
path
packet
Prior art date
Application number
KR1020237002861A
Other languages
English (en)
Other versions
KR20230017926A (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 KR20230017926A publication Critical patent/KR20230017926A/ko
Application granted granted Critical
Publication of KR102589958B1 publication Critical patent/KR102589958B1/ko

Links

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/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/20Hop count for routing purposes, e.g. TTL
    • 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/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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/34Source routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

본 출원은 노드가 지원하는 컨텍스트 테이블의 용량이 부족하여 데이터 패킷이 포워딩되지 않는 종래의 문제점을 해결하기 위한 전송 경로 오류 처리 방법 및 장치, 그리고 시스템을 개시한다. 본 출원에서, 제1 네트워크 장치가 패킷을 수신한 후, 제1 네트워크 장치가 제3 네트워크 장치에 오류가 있다고 결정한 경우, 제1 네트워크 장치의 세그먼트 라우팅 글로벌 블록(SRGB)의 초기 값과 제3 네트워크 장치의 SRGB의 초기 값의 차이를 결정하고, 그 차이와 백업 포워딩 테이블에 기초하여 백업 경로를 결정한다. 제1 네트워크 장치는 백업에 기초하여 제1 패킷을 보낸다.

Description

전송 경로 오류 처리 방법 및 장치, 그리고 시스템{TRANSMISSION PATH FAULT PROCESSING METHOD, DEVICE AND SYSTEM}
본 출원은, 2018년 6월 30일 중국 특허청에 출원된 "전송 경로 오류 처리 방법 및 장치, 그리고 시스템"이라는 제목으로 중국 출원 번호 CN201810703248.2의 우선권을 주장하며 2019년 6월 17일자 출원된 국제출원 PCT/CN2019/091497의 국내단계진입출원인 한국특허출원번호 10-2021-7001786의 분할출원이다. 상술한 출원들의 개시는 그 전체가 여기에 참조로 포함된다.
본 출원은 통신 기술 분야에 관한 것으로, 특히 전송 경로 오류를 처리하는 방법 및 장치, 그리고 시스템에 관한 것이다.
세그먼트 라우팅-트래픽 엔지니어링(segment routing-traffic engineering, SR-TE)은 내부 게이트웨이 프로토콜(interior gateway protocol, IGP) 또는 경계 게이트웨이 프로토콜(border gateway protocol, BGP)을 제어 시그널링으로 사용하는 새로운 다중 프로토콜 레이블 스위칭(multiprotocol label switching, MPLS) TE 터널링 기술이다. 컨트롤러는 터널을 위한 포워딩 경로(forwarding path)를 계산하고 트랜스폰더(transponder)까지의 경로에 엄격하게 매핑된 레이블 스택을 전달한다. SR-TE 터널의 인그레스(ingress) 노드에서, 트랜스폰더는 레이블 스택에 기초하여 네트워크상의 패킷 전송 경로를 제어할 수 있다.
주 경로(primary path)의 노드에 오류가 있는 경우, 현재, 빠른 리라우트(fast reroute, FRR) 기술에 기초하여 패킷을 포워딩하기 위해 백업 경로(backup path)가 사용된다.
예를 들어, 주 경로의 노드 A에 오류가 있는 경우, 주 경로에 있는 노드 A의 이전 홉 노드 B가 노드 A에 오류가 있음을 감지하면, 이전 홉 노드 B가 데이터 패킷을, 노드 A에 대해 미리 생성된 레이블 정보 테이블(컨텍스트 테이블이라고도 함)과 노드 A에 대해 미리 생성된 주 및 보조 포워딩 테이블에 기초하여 송신을 위한 백업 경로로 전환한다. 컨텍스트 테이블에는 전체 네트워크의 모든 노드에 해당하는 노드(프리픽스) 레이블 정보와 노드 A에 의해 알려지는 인접 레이블(adjacency label)이 포함된다.
컨텍스트 테이블이 미리 생성되기 때문에, SR-TE FRR 솔루션에서, 노드 B는 노드 A의 각 이웃에 대한 컨텍스트 테이블을 생성한다. 따라서 컨텍스트 테이블의 상세(specification)는 전체 네트워크의 노드 수에 이웃 노드의 이웃 수를 더한 것이며, 각 노드는 다음과 같은 수의 컨텍스트 테이블을 생성해야 한다: 이웃 수*(전체 네트워크에서의 노드 수에 이웃 노드의 이웃 수를 더한 값).
네트워크에 상대적으로 많은 수의 노드가 포함되어 있고 일부 노드가 지원하는 컨텍스트 테이블의 용량이 이웃 수*(전체 네트워크에서의 노드 수에 이웃 노드의 이웃 수를 더한 값)에 도달할 수 없는 경우, 그 노드들에 의해 생성된 컨텍스트 테이블 내의 컨텐츠는 불완전하거나 생성 실패로 된다. 네트워크의 노드에 오류가 있는 경우 컨텍스트 테이블에 기초하여 올바른 백업 경로를 전환할 수 없기 때문에 데이터 패킷이 포워딩되지 않을 수 있다.
본 출원은 노드가 지원하는 컨텍스트 테이블의 용량이 부족하여 데이터 패킷이 포워딩되지 않는 종래의 문제점을 해결하기 위한 전송 경로 오류 처리 방법 및 장치, 그리고 시스템을 제공한다.
제1 측면에 따르면, 본 출원의 실시예는 전송 경로 오류를 처리하는 방법을 제공하고, 이 방법은, 제1 네트워크 장치에 의해, 제2 네트워크 장치에 의해 송신된 제1 패킷을 수신하는 단계 - 상기 제2 네트워크 장치는 주 경로상에서 상기 제1 네트워크 장치의 이전 홉 네트워크 장치임 -; 상기 제1 네트워크 장치에 의해, 제3 네트워크 장치에 오류가 있다고 결정한 때, 상기 제1 네트워크 장치의 세그먼트 라우팅 글로벌 블록(segment routing global block, SRGB)의 초기 값과 상기 제3 네트워크 장치의 SRGB의 초기 값 간의 차이를 결정하는 단계 - 상기 제3 네트워크 장치는 주 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치임 -; 상기 제1 네트워크 장치에 의해, 상기 제1 패킷으로부터 제1 레이블을 획득하는 단계 - 상기 제1 레이블은 상기 제3 네트워크 장치의 SRGB의 초기 값과 제4 네트워크 장치의 노드 세그먼트 식별자에 기초하여 결정되고, 상기 제4 네트워크 장치는 주 경로상에서 상기 제3 네트워크 장치의 다음 홉 네트워크 장치임 -; 상기 제1 네트워크 장치에 의해, 상기 제1 네트워크 장치에서 상기 제4 네트워크 장치로의 백업 경로의 유입 레이블(incoming label)로서 상기 제1 레이블과 상기 차이의 합산 값을 사용하고, 백업 포워딩 테이블에서 상기 제1 네트워크 장치에서 상기 제4 네트워크 장치로의 백업 경로의 유출 레이블(outgoing)을 결정하는 단계; 및 상기 제1 네트워크 장치에 의해, 상기 유출 레이블에 기초하여 백업 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치로 상기 제1 패킷을 송신하는 단계를 포함한다.
전술한 해결 수단을 이용함으로써, SRGB 차이와 백업 포워딩 테이블을 이용하여 백업 경로를 결정하므로 노드가 지원하는 컨텍스트 테이블의 용량이 부족하여 데이터 패킷 포워딩에 실패하는 문제를 극복할 수 있다.
가능한 설계에서, 상기 제1 패킷은 상기 주 경로에서 상기 제1 패킷의 포워딩에 대한 지침(guidance)(guidance)를 제공하는 데 사용되는 레이블 스택 리스트(label stack list)를 포함하고, 상기 제1 네트워크 장치의 SRGB의 초기 값과 상기 제3 네트워크 장치의 SRGB의 초기 값 간의 차이를 결정하는 단계는,
상기 제1 네트워크 장치에 의해, 상기 레이블 스택 리스트의 상단으로부터 제2 레이블을 획득하는 단계 - 상기 제2 레이블은 상기 제3 네트워크 장치의 노드 세그먼트 식별자 및 상기 제1 네트워크 장치의 SRGB의 초기 값에 기초하여 결정됨 -;
상기 제1 네트워크 장치에 의해, 상기 백업 포워딩 테이블에서, 상기 제2 레이블에 대응하는 제1 포워딩 동작을 결정하는 단계 - 상기 제1 포워딩 동작은 레이블 정보 테이블을 검색하도록 지시하는 데 사용되고, 상기 레이블 정보 테이블은 상기 제2 레이블에 대응하는 상기 차이를 포함함 -; 및
상기 제1 네트워크 장치에 의해, 상기 레이블 정보 테이블로부터 상기 차이를 획득하는 단계를 포함한다.
전술한 설계를 이용하여, 이웃하는 두 노드의 SRGB 초기 값이 레이블 정보 테이블에 미리 저장되어 있으므로 제1 네트워크 장치의 SRGB 초기 값과 제3 네트워크 장치의 SRGB 초기 값의 차이가 결정되고, 그 차이는 바로 레이블 정보 테이블로부터 획득되므로, 처리 자원을 절감할 수 있다. 또한, 레이블 정보 테이블에는 제3 네트워크 장치에 인접한 네트워크 장치의 노드 세그먼트 식별자와 관련된 정보 및 상기 차이만 포함되며, 전체 네트워크의 모든 노드의 노드 세그먼트 식별자는 컨텍스트에 저장될 필요가 없으므로, 이를 통해 저장 자원을 절약할 수 있고, 노드에서 지원하는 컨텍스트 테이블의 용량이 부족하여 데이터 패킷이 포워딩되지 않는 문제를 극복할 수 있다.
가능한 설계에서, 상기 제1 네트워크 장치에 의해, 상기 제1 패킷으로부터 제1 레이블을 획득하는 단계는, 상기 제1 네트워크 장치에 의해, 상기 레이블 스택 리스트의 상단에서 상기 제2 레이블을 팝한 후, 상기 제2 레이블이 팝된 레이블 스택 리스트의 상단에서 상기 제1 레이블을 획득하는 단계를 포함하고, 상기 제1 네트워크 장치에 의해, 상기 유출 레이블에 기초하여 백업 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치로 상기 제1 패킷을 송신하는 단계는, 상기 제1 네트워크 장치에 의해, 상기 레이블 스택 리스트에서의 상기 제1 레이블을 상기 유출 레이블로 전환하고, 상기 백업 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치에 업데이트된 제1 패킷을 송신하는 단계를 포함한다.
가능한 설계에서, 상기 제3 네트워크 장치에 의해 네트워크에 플러딩된 상기 제3 네트워크 장치의 노드 세그먼트 식별자를 수신한 후, 상기 제1 네트워크 장치에 의해, 상기 제3 네트워크 장치의 노드 세그먼트 식별자를 상기 네트워크에서의 다른 네트워크 장치에 플러딩(flooding)하는 단계를 더 포함하고, 상기 제1 레이블은 상기 제3 네트워크 장치의 노드 세그먼트 식별자로서 상기 제1 네트워크 장치에 의해 플러딩된 노드 세그먼트 식별자 및 상기 제1 네트워크 장치의 SRBG의 초기 값에 기초하여 상기 제2 네트워크 장치에 의해 결정된다.
포워딩 경로에 느슨한 경로(loose path)가 있고 느슨한 경로 세그먼트상의 목적지 노드에 오류가 있는 경우, 노드의 오류 정보가 전체 네트워크에 플러딩된 후 전체 네트워크의 모든 노드가 오류 노드에의 대응하는 주 및 보조 포워딩 테이블을 삭제한다. 느슨한 경로 세그먼트의 목적지 노드에 오류가 있는 경우, 주 경로와 백업 경로 모두에서, 제1 노드에서 마지막 노드까지, 모든 노드가 느슨한 경로 세그먼트를 통과해야하며 마지막 노드에는 오류 노드의 이전 홉 노드로부터 오류 노드를 우회함으로써 도달할 수 있다. 오류 노드에 대한 주 및 보조 포워딩 테이블이 삭제된 후 경로 세그먼트의 소스 노드는 데이터 패킷을 오류 노드의 이전 홉 노드로 포워딩할 수 없다. 결과적으로 패킷 포워딩 실패가 발생한다. 따라서 전술한 설계를 사용하여 느슨한 경로 세그먼트상의 목적지 노드의 노드 세그먼트 식별자를 수신한 후, 느슨한 경로 세그먼트상의 목적지 노드의 이전 홉 노드는 목적지 노드의 세그먼트 식별자를 전체 네트워크에 플러딩한다. 이러한 방식으로 느슨한 경로 세그먼트의 소스 노드는 목적지 노드의 노드 세그먼트 식별자에 기초하여 포워딩 경로를 결정하고 데이터 패킷을 포워딩할 수 있다.
가능한 설계에서, 제3 네트워크 장치에 오류가 있다고 결정할 때, 제1 네트워크 장치는 제3 네트워크 장치의 노드 세그먼트 식별자를 전체 네트워크에 플러딩할 수 있다.
가능한 설계에서, 이 방법은 오류가 복구된 후에 상기 제3 네트워크 장치에 의해 송신된 지시 정보를 수신하는 단계 - 상기 지시 정보는 상기 제3 네트워크 장치가 패킷을 정확하게 포워딩할 수 없음을 지시하는 데 사용됨 -; 및 상기 제1 네트워크 장치에 의해, 상기 제2 네트워크 장치에 의해 송신된 제2 패킷을 수신할 때, 상기 결정된 유출 레이블에 기초하여 상기 제2 패킷을 송신하는 단계를 더 포함할 수 있다.
주 경로의 포워딩 노드에 오류가 있는 경우 이전 홉 노드는 패킷을 포워딩하기 위해 백업 경로로 전환한다. 오류 노드가 복구되고 다시 시작된 후 오류가 복구된 후 노드는 노드(프리픽스) 레이블 및 노드의 인접 레이블과 같은 정보를 네트워크의 다른 노드에 다시 플러딩한다. 오류가 복구된 후 노드에 의해 플러딩된 정보를 수신한 후, 이전 홉 노드는 데이터 패킷을 다시 주 경로로 전환한다. 즉, 오류가 복구된 후 노드를 재사용하여 패킷이 송신된다. 그러나 오류가 복구된 후 노드가 다시 시작되기 때문에 로컬 데이터베이스가 불완전할 수 있다. 예를 들어, 로컬 데이터베이스는, 주 경로에서 오류가 복구된 후 노드의 다음 홉 노드의 인접 레이블 및 노드 레이블에 대한 정보와 같이, 다른 노드에 대한 정보를 포함하지 않는다. 이 경우 RT 3이 패킷을 수신한 후에는 패킷을 다음 홉 노드로 포워딩할 수 없다. 그 결과 데이터 패킷 손실이 발생한다. 이를 바탕으로 상기 설계를 이용하여 오류 노드는 복구 후 우선적으로 오류 노드의 이전 홉 네트워크 장치를 지시하여 복구 후 오류 노드가 패킷을 정확하게 포워딩할 수 없음을 알려준다. 따라서 이전 홉 네트워크 장치는 여전히 백업 경로를 사용하여 데이터 패킷을 포워딩한다.
제2 측면에 따르면, 본 출원의 실시예는 전송 경로 오류를 처리하는 방법을 제공하는데, 이 방법은, 제2 네트워크 장치에 의해, 주 경로를 이용하여 패킷을 송신하는 프로세스에서 제3 네트워크 장치에 오류가 있음을 결정하는 단계; 상기 제2 네트워크 장치에 의해, 제1 네트워크 장치에 의해 네트워크에 플러딩된 상기 제3 네트워크 장치의 노드 세그먼트 식별자를 수신하는 단계 - 상기 제3 네트워크 장치는 상기 제1 네트워크 장치의 이웃 네트워크 장치이고, 상기 제1 네트워크 장치는 주 경로상에서 상기 제2 네트워크 장치의 다음 홉 네트워크 장치이고, 상기 제3 네트워크 장치는 주 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치임 -; 및 상기 제2 네트워크 장치에 의해, 상기 제1 네트워크 장치에 의해 플러딩된 상기 제3 네트워크 장치의 노드 세그먼트 식별자에 기초하여 백업 경로를 사용하여 패킷을 상기 제1 네트워크 장치로 송신하는 단계 - 상기 제1 네트워크 장치는 백업 경로상에서 상기 제2 네트워크 장치의 다음 홉 네트워크 장치임 -을 포함한다.
포워딩 경로에 느슨한 경로가 있고 느슨한 경로 세그먼트상의 목적지 노드에 오류가 있는 경우, 그 노드의 오류 정보가 전체 네트워크에 플러드된 후 전체 네트워크의 모든 노드가 오류 노드에 대응하는 주 및 보조 포워딩 테이블을 삭제한다. 느슨한 경로 세그먼트상의 목적지 노드에 오류가 있는 경우, 주 경로와 백업 경로 모두에서, 제1 노드에서 마지막 노드까지, 모든 노드가 느슨한 경로 세그먼트를 통과해야하며, 마지막 노드에는 오류 노드의 이전 홉 노드로부터 오류 노드를 우회함으로써 도달할 수 있다. 오류 노드에 대한 주 및 보조 포워딩 테이블이 삭제된 후 경로 세그먼트상의 소스 노드는 데이터 패킷을 오류 노드의 이전 홉 노드로 포워딩할 수 없다. 결과적으로 패킷 포워딩 실패가 발생한다. 따라서 전술한 설계를 사용하여 느슨한 경로 세그먼트상의 목적지 노드의 노드 세그먼트 식별자를 수신한 후, 느슨한 경로 세그먼트상의 목적지 노드의 이전 홉 노드는 목적지 노드의 노드 세그먼트 식별자를 전체 네트워크에 플러딩한다. 이러한 방식으로 느슨한 경로 세그먼트의 소스 노드는 목적지 노드의 노드 세그먼트 식별자에 기초하여 포워딩 경로를 결정하고 데이터 패킷을 포워딩할 수 있다.
제3 측면에 따르면, 제1 측면의 방법 실시예와 동일한 발명 개념에 기초하여, 본 출원의 실시예는 전송 경로 오류 처리 장치를 제공한다. 이 장치는 제1 측면에 따른 제1 네트워크 장치에 적용된다. 즉, 이 장치는 제1 네트워크 장치일 수도 있고, 제1 네트워크 장치에 적용될 수 있는 칩일 수도 있다. 이 장치는 제1 측면의 실시예를 구현하는 기능을 갖는다. 이 기능은 하드웨어를 이용하여 구현하거나 대응하는 소프트웨어를 실행하여 하드웨어로 구현할 수 있다. 하드웨어 또는 소프트웨어는 전술한 기능에 대응하는 하나 이상의 모듈을 포함한다.
제4 측면에 따르면, 제2 측면의 방법 실시예와 동일한 발명 개념에 기초하여, 본 출원의 실시예는 전송 경로 오류 처리 장치를 제공한다. 이 장치는 제2 측면에 따른 네트워크 장치에 적용된다. 즉, 이 장치는 네트워크 장치일 수도 있고 네트워크 장치에 적용될 수있는 칩일 수도 있다. 이 장치는 제2 측면의 실시예를 구현하는 기능을 갖는다. 이 기능은 하드웨어로 구현되거나 대응하는 소프트웨어를 실행하여 하드웨어로 구현될 수 있다. 하드웨어 또는 소프트웨어는 전술한 기능에 대응하는 하나 이상의 모듈을 포함한다.
제5 측면에 따르면,이 출원의 실시예는 전송 경로 오류를 처리하기 위한 장치를 제공하고, 이 장치는 프로세서 및 메모리를 포함하고, 여기서 메모리는 명령을 저장하도록 구성된다. 이 장치가 실행될 때, 프로세서는 메모리에 저장된 명령을 실행하고, 이로써 이 장치는 제1 측면 또는 제1 측면의 구현예 중 어느 하나에 따라 전송 경로 오류를 처리하는 방법을 수행한다. 메모리는 프로세서에 통합되거나 프로세서와 독립적일 수 있다. 이 장치는 버스를 더 포함할 수 있다. 프로세서는 버스를 사용하여 메모리에 연결된다. 메모리는 읽기 전용 메모리와 랜덤 액세스 메모리를 포함할 수 있다. 실행이 필요한 경우에는 읽기 전용 메모리에 고정된 기본 입출력 시스템 또는 임베디드 시스템의 부트 로더 부팅 시스템을 사용하여 장치를 정상 실행 상태로 진입하도록 유도한다. 정상 실행 상태에 진입한 후, 이 장치는 랜덤 액세스 메모리에서 응용 프로그램 및 운영 체제를 실행하고, 프로세서는 제1 측면 또는 제1 측면의 가능한 구현 설계 중 어느 하나에 따른 방법을 수행한다.
제6 측면에 따르면, 본 출원의 실시예는 전송 경로 오류를 처리하기 위한 장치를 제공하고, 이 장치는 프로세서 및 메모리를 포함하고, 여기서 메모리는 명령어를 저장하도록 구성된다. 이 장치가 실행될 때, 프로세서는 메모리에 저장된 명령을 실행하고, 이로써 이 장치는 제2 측면 또는 제2 측면의 구현 중 어느 하나에 따라 전송 경로 오류를 처리하는 방법을 수행한다. 메모리는 프로세서에 통합되거나 프로세서와 독립적일 수 있다. 이 장치는 버스를 더 포함할 수 있다. 프로세서는 버스를 사용하여 메모리에 연결된다. 메모리는 읽기 전용 메모리와 랜덤 액세스 메모리를 포함할 수 있다. 실행이 필요한 경우에는 읽기 전용 메모리에 고정된 기본 입출력 시스템 또는 임베디드 시스템의 부트 로더 부팅 시스템을 사용하여 장치를 정상 실행 상태로 진입하도록 유도한다. 정상 실행 상태에 진입한 후, 이 장치는 랜덤 액세스 메모리에서 응용 프로그램 및 운영 체제를 실행하고, 프로세서는 제2 측면 또는 제2 측면의 가능한 구현 설계 중 어느 하나에 따른 방법을 수행한다.
제7 측면에 따르면, 본 출원의 실시예는 제3 측면 또는 제5 측면의 장치 및 제4 측면 또는 제6 측면의 장치를 포함하는 시스템을 더 제공한다. 가능한 설계에서, 이 시스템은 이 출원의 본 실시예에서 제공되는 해결 수단에 있고 2개의 네트워크 장치와 상호 작용하는 다른 네트워크 장치를 더 포함할 수 있다. 예를 들어, 다른 네트워크 장치는 전송 경로상의 다른 네트워크 장치일 수 있다.
제8 측면에 따르면, 본 출원의 실시예는 판독 가능한 저장 매체를 더 제공한다. 판독 가능한 저장 매체는 프로그램 또는 명령어를 저장한다. 프로그램이 실행되거나 명령어가 컴퓨터에서 실행될 때, 전술한 측면에서의 전송 경로 오류를 처리하는 모든 방법이 수행된다.
제9 측면에 따르면, 본 출원의 실시예는 명령어를 포함하는 컴퓨터 프로그램 제품을 더 제공한다. 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때, 컴퓨터는 전술한 측면에서 전송 경로 오류를 처리하기 위한 모든 방법을 수행할 수 있다.
또한, 제3 내지 제9 측면에서 임의의 설계 방식에 의해 야기되는 기술적 효과에 대해서는 제1 측면 내지 제2 측면에서 상이한 구현에 의해 야기되는 기술적 효과를 참조한다. 자세한 내용은 여기에서 설명하지 않는다.
도 1a는 본 출원의 실시예에 따른 네트워크 시스템의 아키텍처의 개략도이다.
도 1b는 본 출원의 실시예에 따른 다른 네트워크 시스템의 아키텍처의 개략도이다.
도 2는 본 출원의 실시예에 따른 전송 경로 오류를 처리하기 위한 방법의 흐름도이다.
도 3은 본 출원의 실시예에 따른 또 다른 네트워크 시스템의 아키텍처의 개략도이다.
도 4는 본 출원의 실시예에 따른 전송 경로 오류를 처리하기 위한 방법의 개략도이다.
도 5는 본 출원의 실시예에 따른 TLV 포맷의 개략도이다.
도 6은 본 출원의 실시예에 따른 플래그 포맷의 개략도이다.
도 7은 본 출원의 실시예에 따른 장치(700)의 구조의 개략도이다.
도 8은 본 출원의 실시예에 따른 네트워크 장치(800)의 구조의 개략도이다.
이 출원은 SR-TE를 지원하는 노드에 적용된다. 이 출원의 실시예에서, 노드는 또한 네트워크 장치로 지칭될 수 있다. 네트워크 장치는 네트워크에서 라우팅 및 포워딩 기능을 제공하는 장치이고, 예를 들어 라우터, 스위치, 트랜스폰더 또는 레이블 스위칭 라우터(label switching router, LSR)일 수 있다. 이에 제한되지 않는다. 후속하는 설명 프로세스에서 노드는 설명을 위한 예로 사용된다.
SR-TE 기술에서는, 제어 평면은 링크 상태 또는 경계 게이트웨이 프로토콜(Border Gateway Protocol, BGP)에 기초한 IGP 프로토콜을 사용하여 노드의 MPLS 레이블을 배포하고, 데이터 평면은 제어 평면에서 배포한 레이블에 기초하여 MPLS 패킷을 포워딩한다.
SR-TE(Segment Routing-Traffic Engineering)는 내부 게이트웨이 프로토콜(interior gateway protocol, IGP) 또는 경계 게이트웨이 프로토콜(border gateway protocol, BGP)을 제어 시그널링으로서 이용하는 새로운 TE 터널링 기술이다. 컨트롤러는 터널의 포워딩 경로를 계산하고 트랜스폰더에의 경로에 엄격하게 해당하는 레이블 스택 리스트를 전달하는 역할을 한다. SR-TE 터널의 인그레스(ingress) 노드에서, 트랜스폰더는 레이블 스택 리스트에 기초하여 네트워크에서 패킷의 전송 경로를 제어할 수 있다.
본 출원의 실시예에서 용어를 먼저 아래에서 설명한다.
(1) 세그먼트 라우팅 글로벌 블록(Segment Routing Global Block, SRGB): 세그먼트를 위해 리저브(reserved)되도록 사용자에 의해 특정되는 레이블 세트이다.
(2) 세그먼트: 세그먼트 레이블(Segment ID, SID)을 사용하여 세그먼트를 식별한다. 본 출원의 실시예에서 세그먼트 레이블은 세그먼트 식별자로 지칭될 수 있다. 포워딩 평면에서, SID는 MPLS 레이블에 매핑될 수 있다.
세그먼트는 세 가지 유형의 세그먼트, 즉 프리픽스 세그먼트(Prefix Segment), 인접 세그먼트(Adjacency Segment) 및 노드 세그먼트(Node Segment)로 분류된다.
프리픽스 세그먼트는 SR 네트워크에서 목적지 주소의 프리픽스(Prefix)를 식별하는 데 사용된다. 프리픽스 세그먼트는 IGP 프로토콜을 사용하여 다른 네트워크 요소에 플러딩될 수 있으며, 프리픽스 세그먼트는 전역적으로 관찰되고 전역적으로 유효하다. 프리픽스 세그먼트는 프리픽스 세그먼트 식별자(Prefix Segment ID, Prefix SID)에 의해 식별된다. 본 출원의 실시예에서, 프리픽스 세그먼트 레이블은 줄여서 프리픽스 레이블로 지칭된다. 프리픽스 SID는 목적지 노드에 의해 광고되는 SRGB 범위 내의 오프셋이다. 수신 측은 수신 측의 SRGB에 기초하여 실제 레이블을 계산한다.
인접 세그먼트는 네트워크에서 두 이웃 노드 간의 라우팅 링크를 식별하는 데 사용된다. 인접 세그먼트는 IGP 프로토콜을 사용하여 다른 네트워크 요소에 플러딩될 수 있으며, 여기서 인접 세그먼트는 전역적으로 관찰되고 로컬에서 유효하다. 인접 세그먼트는 인접 세그먼트 레이블(Adjacency Segment ID, Adjacency SID)에 의해 식별된다. 본 출원의 실시예에서, 인접 세그먼트 레이블은 줄여서 인접 레이블로 지칭된다.
인접 레이블은 방향성이 있으며 패킷 포워딩에 대한 지침(guidance)을 제공하는 데 사용된다. 예를 들어, 인접 레이블 9003은 링크 PE1->P3에 대응한다. 인접 SID는 SRGB 범위 밖에 있는 로컬 SID이다.
노드 세그먼트는 특정 노드를 식별하는 데 사용되는 특수 프리픽스 세그먼트이다. IP 주소는 노드의 로컬 루프백(Loopback) 인터페이스에 대한 프리픽스로 구성된다. 노드의 프리픽스 SID는 노드 세그먼트 레이블(Node SID)이다. 본 출원의 실시예에서, 노드 세그먼트 레이블은 줄여서 노드 레이블로 지칭된다.
간단히 말해서, 프리픽스 세그먼트는 목적지 주소를 나타내고, 인접 세그먼트는 데이터 패킷의 유출 링크를 나타내며, 목적지 주소와 유출 링크는 각각 기존 IP 포워딩에서 목적지 IP 주소 및 아웃바운드 인터페이스와 유사할 수 있다. IGP 영역에서, 노드는 확장 IGP 프로토콜을 사용하여 노드의 노드 SID 및 인접 SID를 플러딩함으로써, 모든 노드가 다른 노드에 대한 정보를 얻을 수 있다.
네트워크의 모든 경로는 프리픽스(노드) SID와 인접 SID를 결합하여 구성할 수 있다. 네트워크에서의 경로는 복수의 라우팅 세그먼트에 의해 형성될 수 있다. 구성된 경로는 레이블 스택 리스트로 나타내어진다. 레이블 스택 리스트에는 포워딩 경로의 각 라우팅 세그먼트에 해당하는 세그먼트 레이블(세그먼트 ID)이 포함된다.
목적지 노드는 IGP 프로토콜의 노드(프리픽스) SID를 사용하여 노드 분석 노드를 포워딩하고 자체 SRGB에 기초하여 레이블 값을 계산한다. 그런 다음 각 노드는 IGP 프로토콜에서 수집한 토폴로지 정보를 사용하여 최단 경로 알고리즘에 기초하여 레이블 포워딩 경로를 계산하고 계산된 다음 홉 및 유출 레이블(OuterLabel) 정보를 포워딩 테이블에 전달하여 데이터 패킷 포워딩에 대한 지침을 제공한다.
또한, 본 출원의 실시예들에서 "복수"는 둘 이상을 의미함을 유의해야 한다. 용어 "및/또는"은 연관된 객체를 설명하기 위한 연관 관계를 설명하고 세 가지 관계가 존재할 수 있음을 나타낸다. 예를 들어 A 및/또는 B는 A만 존재하는 경우, A와 B가 모두 존재하는 경우, B만 존재하는 경우의 세 가지 경우를 나타낼 수 있다. 또한, 본 출원의 설명에서 "제1"및 "제2"와 같은 용어는 단지 설명을 구별하기 위한 목적으로 사용되며 상대적 중요성의 표시 또는 함축으로 이해될 수 없고, 순서의 표시나 함축으로 이해될 수 없다. 노드 1 또는 노드 2는 또한 설명된 노드를 구별하는 데에만 사용되며 상대적 중요성의 표시 또는 함축으로 이해 될 수 없으며 순서의 표시 또는 함축으로 이해될 수 없다.
또한, 본 출원의 실시예에서의 포워딩 테이블은 일반적으로 주 포워딩 테이블만을 포함하거나, 주 포워딩 테이블 및 백업 포워딩 테이블을 포함할 수 있다. 본 출원의 실시예에서 주/백업 포워딩 테이블은 일반적으로 주 포워딩 테이블 및 백업 포워딩 테이블을 포함한다.
도 1a는 프리픽스 세그먼트의 세그먼트 경로 생성 및 데이터 패킷의 포워딩을 설명하기 위한 예시로 사용된다.
예를 들어 설정할 프리픽스 세그먼트 경로는 RT 1, RT 2, RT 3, RT 4 및 RT 5이다. RT 1은 프리픽스 세그먼트의 제1 노드고이고 RT 5는 프리픽스 세그먼트의 목적지 노드이다.
SRGB = [5000-5999]는 RT 5에 구성되고, RT 5의 루프백 인터페이스에 대해 5인 프리픽스(노드) SID가 구성된다. RT 5는 이 SRGB 및 프리픽스(노드) SID에 기초하여 포워딩 테이블을 생성하고 전달한다. RT 5의 SRGB와 프리픽스 SID는 제어 패킷으로 캡슐화되고 제어 패킷은 IGP를 사용하여 전체 네트워크에 플러딩된다. 제어 패킷을 수신한 후 이 네트워크의 다른 네트워크 장치는 RT 5에 의해 광고된 프리픽스 SID를 파싱하고 다른 네트워크 장치의 SRGB에 기초하여 유입(incoming) 레이블 값을 계산한다. 또한 그 다른 네트워크 장치는 다음 홉 노드가 광고하는 SRGB에 기초하여 유출(outgoing) 레이블(OuterLabel) 값을 계산하고 IGP 토폴로지를 사용하여 레이블 포워딩 경로를 계산하고, 그런 다음 포워딩 테이블을 생성한다.
RT 4는 RT 5가 광고한 프리픽스 SID를 파싱하고 RT 4의 SRGB=[4000-4999]에 기초하여 레이블 값을 계산한다. 계산 공식은 다음과 같다: inLabel = SRGB의 시작 값 + 프리픽스 SID 값. 따라서 inLabel = 4000 + 5 = 4005이다. 유출 레이블(OuterLabel)은 IS-IS 토폴로지를 사용하여 계산된다. 계산 공식은 다음과 같다: OuterLabel = 다음 홉 장치가 광고한 SRGB의 시작 값 + 프리픽스 SID 값(즉, 프리픽스 세그먼트 또는 노드 세그먼트상의 목적지 노드의 노드 레이블). 도 1에 도시된 바와 같이. 도 1a에서 RT 4의 다음 홉 장치는 RT 5이고 RT 5가 광고한 SRGB의 배열은 5000에서 5999까지이다. 따라서 OuterLabel = 5000 + 5 = 5005이다.
RT 3의 계산 프로세스는 RT 4의 계산 프로세스와 유사하다. 즉 inLabel = 3000 + 5 = 3005 및 OuterLabel = 4000 + 5 = 4005이다. RT 2의 계산 프로세스는 RT 4의 계산 프로세스와 유사하다. 즉 inLabel = 2000 + 5 = 2005 및 OuterLabel = 3000 + 5 = 3005이다. RT 1의 계산 프로세스는 RT 4의 계산 프로세스와 유사하다. 즉 inLabel = 1000 + 5 = 1005 및 OuterLabel = 2000 + 5 = 2005이다.
RT 1에서부터 RT 5까지의 세그먼트 경로가 설정된 후 RT 1은 데이터 패킷을 수신하고 데이터 패킷에 레이블 값 2005를 추가하고 데이터 패킷을 포워딩한다. RT 2 노드는 레이블을 운반하는 데이터 패킷을 수신하고, 레이블 전환을 수행하고, 레이블 2005를 팝하고, 그 레이블을 유출 레이블 3005로 교체한다. RT 3 노드는 데이터 패킷을 수신하고, 레이블 전환을 수행하고, 레이블 300를 팝하고, 그 레이블을 유출 레이블 4005로 교체한다. 데이터 패킷을 수신한 후, RT 4는 레이블 4005를 팝하고 레이블 4005를 레이블 5005로 교체한다. 데이터 패킷을 수신한 후, RT 5는 레이블 5005를 팝하고 패킷을 포워딩할 경로를 계속 검색한다.
다음은 도 1b를 엄격한 세그먼트 경로(느슨한 경로가 될 수 없음)의 생성 및 데이터 패킷의 포워딩을 설명하기 위한 예로서 사용한다.
트랜스폰더는 IGP 프로토콜에 기초하여 인접 레이블을 할당하고 할당된 인접 레이블을 컨트롤러에 보고하여 컨트롤러가 인접 레이블에 기초하여 레이블 스택 리스트를 생성하도록 한다.
인접 레이블은 IGP 프로토콜을 사용하여 전체 네트워크에 플러딩된다. 도 1b에 도시된 바와 같이, RT 1 노드를 예로 들어 IGP 프로토콜에 의해 인접 레이블을 할당하는 프로세스를 다음과 같이 설명한다.
RT 1은 IGP 프로토콜을 사용하여 RT 1의 모든 링크에 로컬 동적 레이블(local dynamic label)을 적용한다(예: RT 1은 인접 레이블(1031)을 링크 RT 1->RT 2에 할당한다). RT 1은 IGP 프로토콜을 사용하여 인접 레이블을 광고하고 전체 네트워크에 인접 레이블을 플러딩한다. 이 네트워크의 다른 장치는 IGP 프로토콜을 사용하여 RT 1에서 광고하는 인접 레이블을 습득한다. 특히 다른 노드는 RT 1이 하는 것처럼 인접 레이블을 할당 및 광고하고 네트워크의 다른 장치에 인접 레이블을 플러딩한다.
컨트롤러는 SR-TE 터널의 제약 속성(constraint attribute)에 기초하여 경로를 계산한다. 경로를 계산한 후 컨트롤러는 토폴로지 및 인접 레이블에 기초하여 전체 경로의 인접 레이블을 결합하여 레이블 스택 리스트를 생성한다. 예를 들어, 도 1b를 참조하면, 컨트롤러는 RT 1->RT 2->RT 3->RT 4->RT 5와 같은 SR-TE 터널 경로를 계산하고, 대응하는 레이블 스택 리스트는 {1031, 1032, 1034, 1035}이며, 컨트롤러는 계산을 통해 얻은 레이블 스택 리스트를 트랜스폰더의 인그레스 노드 RT 1에 전달한다. 따라서 트랜스폰더는 컨트롤러가 전달한 레이블 스택 리스트에 기초하여 SR-TE 터널을 얻는다. 본 출원에서, 노드 레이블은 또한 레이블 스택 리스트를 형성하기 위해 여기에서 사용될 수 있다. 즉, 레이블 스택 리스트는 {1002, 2003, 3004, 4005}이다.
트랜스폰더는 SR-TE 터널에 대응하는 레이블 스택 리스트에 기초하여 패킷에 대한 레이블 작업을 수행하고, 스택의 최상위 레이블에 기초하여 홉별로 포워딩 아웃바운드 인터페이스 홉을 검색하고 포워딩할 데이터 패킷이 터널의 목적지 주소로 포워딩되도록 가이드한다.
패킷이 SR-TE 터널로 들어 오면 인그레스 노드는 레이블 스택 리스트를 패킷에 추가한다. 패킷이 SR-TE 터널을 통해 포워딩될 때 포워딩 아웃바운드 인터페이스가 최상위 레이블을 기준으로 검색된 후 인그레스 노드가 최상위 레이블을 팝한다. 예를 들어, 도 1b에 도시된 바와 같이, 인그레스 노드 PE 1은 레이블 스택 리스트 {1031, 1032, 1034, 1035}를 데이터 패킷에 추가한 다음, 스택의 상단에 있는 레이블 1031과 일치하는 링크에 기초하여 대응하는 포워딩 아웃바운드 인터페이스가 RT 1->RT 2 링크임을 찾고, 그런 다음 레이블 1031을 팝한다. 패킷은 레이블 스택 {1032, 1034, 1035}를 운반하고 RT 1->RT 2 링크를 통해 다음 홉 노드 RT 2로 포워딩된다. 중간 노드 RT 2가 패킷을 수신한 후, 스택의 상단의 레이블 1032와 일치하는 링크에 기초하여 대응하는 포워딩 인터페이스가 RT 2->RT 3 링크인 것이 알게 되면 그 다음 레이블 1032가 팝되고, 이런 식이다. 노드 RT 3이 패킷을 수신한 후, 노드 RT 3은 중간 노드 RT 3과 동일한 방식으로 계속 포워딩한다. 노드 RT 4가 마지막 레이블 1035를 팝한 후 데이터 패킷이 노드 RT 5로 포워딩된다. 유출 노드 RT 5에 의해 수신된 패킷에는 레이블이 없으며 라우팅 테이블을 조회하여 계속해서 포워딩된다.
엄격한 세그먼트 경로 모드(strict segment path mode)에서는 동일 비용 경로가 있어도 로드 밸런싱(load balancing)을 수행할 수 없다. 이 경우 느슨한 경로의 노드 레이블은 노드 레이블 또는 노드 레이블과 인접 레이블로 구성된 하이브리드 레이블 스택에 기초하여 지정될 수 있다. 컨트롤러는 레이블 스택을 트랜스폰더의 제1 노드로 송신하고 트랜스폰더는 레이블 스택에 기초하여 홉별로 아웃바운드 인터페이스 홉을 검색하여 레이블을 팝하고 데이터 패킷을 터널의 목적지 주소로 포워딩한다. 예를 들어, 도 1b에 도시된 바와 같이, RT 1에서 RT 5로의 경로에서 통과하도록 지정된 노드는 RT 3 및 RT 4이다. 이 경우 RT 1과 RT 3 사이에 느슨한 경로가 형성되며 RT 2 또는 RT 6에 의해 포워딩될 수 있다. 이 경우 RT 1에서 패킷 포워딩에 사용되는 레이블 스택 리스트는 {2003, 3004, 4005}이다.
SR-TE를 사용하여 패킷을 포워딩할 때 링크 또는 노드 오류가 발생할 수 있다. 현재 FRR 메커니즘을 사용하여 경로를 복원할 수 있다. 예를 들어, 노드 R2는 오류 노드이다.
노드 R2에 오류가 없는 경우, SR-TE의 레이블 스택으로 식별되는 포워딩 경로는 RT 1->RT 2->RT 3->RT 4->RT 5이다. 노드 RT 2에 오류가 있는 경우, 노드 RT 2의 이웃 노드 RT 1이 노드 RT 2를 교체하여 레이블 팝핑(POP) 동작을 수행하고, 다음 레이어 레이블을 목적지 주소로 사용하며, 데이터 패킷을 포워딩하기 위한 백업 경로로서 오류 노드 RT 2를 우회하는 경로를 사용한다. 백업 경로는 RT 1->RT 6->RT 3->RT 4->RT 5이다.
예를 들어 RT 1이 데이터 패킷을 송신하는 데 사용하는 레이블 스택 리스트는 {1002, 2003, 3004, 4005}이다. RT 1은, 레이블 스택의 최상위 레이블(1002)을 확인함으로써 RT 2가 오류 노드라고 결정하고, 그런 다음, 레이블 스택의 최상위 레이블(1002) 및 두 번째 레이블(2003)을 확인함으로써 오류 노드 후의 경로에 도달해야 하는 노드가 RT 3임을 결정할 수 있다. RT 1은 오류 노드 RT 2를 우회하여 두 번째 레이블(2003)로 식별된 노드(즉, RT 3)에 도달하기 위해 경로를 계산하고 이 경로를 다음 홉 노드 RT 2의 SR-TE FRR에 대한 노드 보호 경로로서 사용한다.
오류 노드가 SR-TE FRR 경로로 전환되는 시나리오에는 다음 세 가지 문제가 있다.
문제 1: 레이블 정보 테이블의 용량이 제한된다. 예를 들어, 용량은 저장 용량을 의미할 수 있다.
문제 2: 느슨한 경로로 인해 패킷 포워딩에 실패한다.
문제 3: 포워딩 테이블의 불완전한 생성으로 인해 패킷 포워딩이 실패한다.
다음은 위 3가지 문제와 해당 솔루션에 대해 자세히 설명한다.
문제 1에 대해:
RT 2 노드에 오류가 발생하기 전에 각 노드는 미리 IGP를 사용하여 백업 포워딩 테이블과 레이블 정보 테이블(컨텍스트 테이블)을 계산한다. 각 노드는 노드의 이웃 노드에 대한 컨텍스트 테이블을 생성한다. 여기서 각 노드의 이웃 노드 수는 각 노드에서 생성된 컨텍스트 테이블의 수와 같다. 컨텍스트 테이블에는 전체 네트워크에 있는 모든 노드의 노드(프리픽스) 레이블과 이웃 노드에서 공고한 모든 인접 레이블이 포함된다.
예를 들어, 노드 RT 1은 이웃 노드 RT 2에 대한 컨텍스트 테이블을 생성한다. 여기서 컨텍스트 테이블에는 전체 네트워크의 모든 노드에 대응하는 노드(프리픽스) 레이블 정보와 RT 2가 광고하는 인접 레이블이 포함된다. 전체 네트워크의 모든 노드의 각 노드에 대응하는 노드(프리픽스) 레이블 정보는 해당 노드의 노드 레이블과 RT 2 노드의 SRGB 초기 값의 합이다.
컨텍스트 테이블이 미리 생성되기 때문에 SR-TE FRR 솔루션에서, 노드는 노드의 각 이웃 노드에 대한 컨텍스트 테이블을 생성한다. 따라서 컨텍스트 테이블의 사양은 전체 네트워크의 노드 수에 이웃 노드의 이웃 수를 더한 것이며, 각 노드는 다음과 같은 수의 컨텍스트 테이블을 생성해야 한다: 이웃 수 * (전체 네트워크에서의 노드 수에 이웃 노드의 이웃 수를 더한 값).
네트워크에 상대적으로 많은 양의 노드가 포함되어 있고 일부 노드에서 지원하는 컨텍스트 테이블의 사양이 전체 네트워크의 노드 수에 이웃 노드의 이웃 수를 더한 것과 같은 사양을 지원하기에 충분하지 않은 경우 노드에 의해 생성된 컨텍스트 테이블이 불완전한다. 네트워크의 노드에 오류가 있는 경우 올바른 백업 경로로 전환할 수 없기 때문에 패킷 포워딩에 실패할 수 있다.
주 경로의 노드에 오류가 있거나 한 노드에서 다음 홉으로의 경로에 오류가 있는 경우, 주 경로에 있는 노드의 이전 홉 노드가 오류를 감지한 후 이전 홉 노드가 그 노드의 오류 정보를 가지고 네트워크의 다른 노드에 플러딩한다.
이에 기초하여, 본 출원의 실시예는 전송 경로 오류를 처리하는 방법을 제공한다. 도 2를 참조한다.
S201. 제1 노드는 제2 노드에서 보낸 제1 패킷을 수신한다.
제2 노드는 주 경로에 있는 제1 노드의 이전 홉 노드이다.
S202. 제3 노드에 오류가 있다고 결정되면, 제1 노드는 제1 노드의 세그먼트 라우팅 글로벌 블록(SRGB)의 초기 값과 제3 노드의 SRGB 초기 값의 차이를 결정한다.
제3 노드는 주 경로에 있는 제1 노드의 다음 홉 노드이다.
S203. 제1 노드는 제1 패킷으로부터 제1 레이블을 획득하고, 제1 레이블은 제3 노드의 SRGB의 초기 값 및 제4 노드의 노드 세그먼트 식별자에 기초하여 결정된다.
제4 노드는 주 경로에 있는 제3 노드의 다음 홉 노드이다.
S204. 제1 노드는 제1 레이블과 차이의 합을 제1 노드에서 제4 노드로의 백업 경로의 유입 레이블로서 사용하고, 백업 포워딩 테이블에서 제1 노드에서 제4 노드로의 백업 경로의 유출 레이블을 결정한다.
S205. 제1 노드는 유출 레이블에 기초하여 백업 경로에 있는 제1 노드의 다음 홉 노드로 제1 패킷을 송신한다.
전술한 솔루션을 이용하면, SRGB 차이와 백업 포워딩 테이블을 이용하여 백업 경로를 결정하므로, 노드가 지원하는 컨텍스트 테이블의 용량이 부족하여 데이터 패킷 포워딩에 실패하는 문제를 극복할 수 있다. .
가능한 구현에서, 제1 패킷은 주 경로에서 제1 패킷의 포워딩에 대한 지침(guidance)을 제공하는 데 사용되는 레이블 스택 리스트를 포함하고; 제1 노드의 SRGB의 초기 값과 제3 노드의 SRGB의 초기 값 간의 차이를 결정하는 단계는, 제1 노드가 레이블 스택 리스트의 상단으로부터 제2 레이블을 획득하는 단계 - 여기서, 제2 레이블은 제3 노드의 노드 세그먼트 식별자 및 제1 노드의 SRGB의 초기 값에 기초하여 결정됨 -; 백업 포워딩 테이블의 제1 노드가, 제2 레이블에 대응하는 제1 포워딩 동작을 결정하는 단계 - 여기서 제1 포워딩 동작은 레이블 정보 테이블을 검색하도록 지시하는 데 사용되며 레이블 정보 테이블은 제2 레이블에 대응하는 차이를 포함함 -, 및 제1 노드가 레이블 정보 테이블로부터 상기 차이를 획득하는 단계를 포함한다.
종래 기술에서는 주 경로의 노드에 오류가 있고 오류 노드의 이전 홉 노드가 오류 노드에 대한 컨텍스트 테이블을 생성하여 주 경로에서 백업 경로로 전환하고, 레이블 스택에서 최상위 레이블에 따라 백업 포워딩 테이블을 검색할 때, 백업 포워딩 테이블에서 최상위 레이블에 대응하는 포워딩 엔트리에서의 포워딩 동작이 컨텍스트 테이블을 검색하는 것으로 결정한 후, 백업 경로에서 패킷을 포워딩해야 하는 다음 홉 노드가 컨텍스트 테이블에 따라 결정되는데, 즉 종래 기술에서는 백업 포워딩 테이블이 한번만 조회된다. 그러나 본 출원의 본 실시에에서 제공된 솔루션에서는, SRGB 간의 차이가 포워딩 평면 노드로 전달될 때 컨텍스트 테이블 만 사용하여 오류 노드의 다음 홉 노드의 노드 레이블을 결정하고, 백업 경로상에서 패킷 포워딩하기 위한 다음 홉 노드가 결정되며, 백업 포워딩 테이블은 오류 노드의 다음 홉 노드의 노드 레이블에 따라 다시 조회된다. 따라서 컨텍스트 테이블은 모든 노드에 대응하는 노드 레이블을 포함할 필요가 없고, 이웃 노드에 인접한 노드에 대응하는 레이블 정보만 포함하면 되므로 불충분한 엔트리 용량으로 인한 패킷 포워딩 실패를 방지하고 또 저장 자원을 절감할 수 있다.
가능한 구현에서, 제3 노드에 의해 네트워크에 플러딩된 제3 노드의 노드 세그먼트 식별자를 수신한 후, 제1 노드는 제3 노드의 노드 세그먼트 식별자를 네트워크의 다른 노드에 플러딩하며, 여기서 제1 레이블은 제1 노드에 의해 플러딩된 제3 노드의 노드 세그먼트 식별자 및 제1 노드의 SRGB의 초기 값에 기초하여 제2 노드에 의해 결정된다.
이에 기초하여, 제2 노드는 제1 노드에 의해 네트워크에 플러딩된 제3 노드의 노드 세그먼트 식별자를 수신하고, 제3 노드는 제1 노드의 이웃 노드고이고, 제1 노드에 의해 플러딩된 제3 노드의 노드 세그먼트 식별자의 우선 순위가 제3 노드에 의해 플러딩된 제3 노드의 노드 세그먼트 식별자의 우선 순위보다 낮고, 주 경로를 이용하여 패킷을 송신하는 프로세스에서, 제2 노드는 제3 노드에 오류가 있다고 결정하고, 제1 노드는 주 경로에 있는 제2 노드의 다음 홉 노드이고 제3 노드는 주 경로에 있는 제1 노드의 다음 홉 노드이며, 제2 노드는 제1 노드에 의해 플러딩된 제3 노드의 노드 세그먼트 식별자에 기초하여 백업 경로를 통해 제1 노드에 패킷을 송신하고, 제1 노드는 백업 경로에 있는 제2 노드의 다음 홉 노드이다.
이러한 방식으로 문제 2를 해결할 수 있다. 구체적인 구현에 대해서는 다음의 문제 2에 대한 자세한 설명을 참조할 수 있다.
가능한 구현에서, 제1 네트워크 장치는, 오류가 복구된 후 제3 네트워크 장치에 의해 송신된 지시 정보를 수신하며, 여기서 지시 정보는 제3 네트워크 장치가 패킷을 올바르게 포워딩할 수 없음을 지시하는 데 사용되고, 제2 네트워크 장치에 의해 송신된 제2 패킷을 수신할 때, 제1 네트워크 장치는 결정된 유출 레이블에 기초하여 제2 패킷을 송신한다. 이러한 방식으로 문제 3을 해결할 수 있다. 구체적인 구현에 대해서는 다음의 문제 3에 대한 자세한 설명을 참조할 수 있다.
다음은 특정 시나리오를 참조하여 본 출원의이 실시예에서 제공되는 전송 경로 오류를 처리하는 방법을 더 자세히 설명한다. 다음 방법 절차는 비교적 포괄적이다. 일부 단계 또는 설명도 가능한 구현예이다. 방법 절차의 임의의 2개 이상의 단계는 본 출원의이 실시예에서 보호되어야하는 솔루션을 구성할 수 있으며, 구체적으로 일부 단계가 선택적인 경우 나머지 단계는 여전히 본 출원의 이 실시예에서 보호되어야 하는 솔루션을 구성할 수 있다. 선택적 단계는 다른 가능한 구현을 추가로 가질 수 있다.
이 출원의 본 실시예는 컨텍스트 테이블을 구성하는 방식을 제공한다. 노드는 IGP를 이용하여 이웃 노드가 광고하는 인접 레이블과 이웃 노드에 인접한 노드의 노드 레이블을 획득하고 이웃 노드의 SRGB를 취득한 후 컨텍스트 테이블을 생성한다. 컨텍스트 테이블은 이웃 노드가 광고하는 인접 레이블, 이웃 노드에 인접한 노드의 노드 레이블 정보, 노드의 SRGB 초기 값과 이웃 노드의 SRGB 초기 값의 차이를 포함하며, 여기서 노드 레이블 정보는 이웃 노드의 SRGB 초기 값과 이웃 노드에 인접한 노드의 노드 레이블의 합이다.
도 3을 예로 하면, RT 2에 의해 생성된 컨텍스트 테이블의 일부 내용이 표 1에 개시되어 있는데, 표 1은 컨텍스트 테이블에서 이웃 노드 RT 3에 대해 생성된 엔트리의 일부 내용이다. RT 2의 SRGB 초기 값은 2000이고, RT 2의 이웃 노드 RT 3의 SRGB 초기 값은 3000이다. 따라서 RT 2의 SRGB 초기 값과 RT 3의 SRGB 초기 값의 차이는 -1000이다.
Inlabel SRGB 차이 adj Sid adj node Sid
2003 -1000 1034 2004
1037 2007
1036 2006
Inlabel은, 해당 노드의 SRGB 초기 값에 이웃 노드의 노드 Sid를 더한 유입 레이블을 나타내는데, 즉 RT 2의 SRGB 초기 값 2000 + RT 3의 노드 레이블 3 = 2003. 유입 레이블은 컨텍스트 테이블을 조회하기 위한 키(KEY) 필드로 사용된다.SRGB 차이는 노드의 SRGB 초기 값에서 이웃 노드의 SRGB 초기 값을 뺀 값이다.
Adj Sid는 이웃 노드에 의해 광고된 인접 레이블을 나타낸다. RT3에 의해 광고되는 인접 레이블은 RT3과 RT4 사이의 링크의 인접 레이블(1034), RT3와 RT7 사이의 링크의 인접 레이블(1037), RT3과 RT 6 사이의 링크의 인접 레이블(1036)이다.
Adj node Sid는 이웃 노드가 광고하는 인접 레이블에 대응하는 목적지 노드를 나타내며, 이 노드의 SRGB 초기 값에 목적지 노드가 광고하는 노드 Sid를 더한 것을 사용한다. 예를 들어 RT 3과 RT 4 사이의 링크의 인접 레이블 1034의 목적지 노드가 RT 4인 경우, 1034에 대응하는 Adj node Sid는 RT 2의 SRGB의 초기 값 + RT 4의 노드 레이블 = 2004RT 4이다.
다음은 도 3을 예로 하여, 데이터 패킷 포워딩 프로세스를 상세히 설명한다.
도 3에 도시된 바와 같이, RT 1에서 RT 5로의 경로에 대해 통과하도록 지정된 노드는 RT 3 및 RT 4이다. 이 경우 RT 1과 RT 3 사이에 느슨한 경로가 형성되며 RT 2 또는 RT 6에 의해 포워딩될 수 있다. 이 출원의 본 실시예에서, RT 1은 경로 계산을 수행하고 주 경로가 RT 1->RT 2->RT 3->RT 4->RT 5라고 결정한다. 이 경우 RT 1에서 패킷 포워딩에 사용되는 레이블 스택 리스트는 {2003, 3004, 4005}이다. 예를 들어 RT 3에 오류가 있는 경우 백업 경로는 RT 1->RT 2->RT 7->RT 4->RT 5이다. 또한, RT 2는 전체 네트워크에서 노드 Sid의 주/백업 포워딩 테이블을 생성할 수 있다. 주/백업 포워딩 테이블의 일부 내용은 표 2를 참조하십시오. 도. 2는 유입 레이블이 2003 및 2004인 두 엔트리의 일부 내용만 표시한다.
Inlabel 동작(Action) Outerlabel 유형(Type)
2003 Fwd to RT 3(RT 3으로 포워딩) 3003 주(Primary)
PoP, 컨텍스트 테이블을 검색 백업(Backup)
2004 Fwd to RT 3(RT 3으로 포워딩) 3004
Fwd to RT 7(RT 7로 포워딩) 7004 백업
RT 3에 오류이없는 경우, 도 3에서 RT 1은 RT 2로 데이터 패킷을 송신하는데, 여기서 데이터 패킷의 레이블 스택은 {2003, 3004, 4005}이다. 주 포워딩 테이블은 레이블 스택의 최상위 레이블에 기초하여 검색된다. 예를 들어 표 2가 검색되고 최상위 레이블이 2003이고 2003이 Inlabel로 사용되고 유입 레이블이 검색되어 유입 레이블 2003에 대응하는 포워딩 엔트리이다. 포워딩 엔트리에 표시된 포워딩 동작이 RT 3으로 포워딩이므로, RT 2가 스택의 최상위 레이블을 3003으로 전환한다. 즉, 스택의 최상위 레이블이, 다음 홉 노드의 SRGB의 초기 값(RT 3의 SRGB의 초기 값) 및 목적지 노드의 노드 레이블(RT 3의 노드 레이블)에 의해 결정된 레이블 값에 기초하여 결정된 레이블 값으로 전환되고, 업데이트된 데이터 패킷은 RT 3으로 포워딩된다. RT 3이 RT 2가 보낸 데이터 패킷을 수신한 후, 데이터 패킷의 레이블 스택은 {3003, 3004, 4005}이며 스택의 최상위 레이블이 적어도 수신 노드가 광고한 레이블인 것으로 결정된다. 따라서 스택의 최상위 레이블이 팝된 후 최상위 레이블 3004을 기준으로 다음 홉 노드가 RT 4인 것으로 결정되고, 최상위 레이블 3004은 4004로 전환되고 업데이트된 데이터 패킷이 RT 4에 포워딩된다. 마찬가지로, RT 4가 RT 3에서 보낸 데이터 패킷을 수신한 후 데이터 패킷의 레이블 스택은 {3004, 4005}이다. 최상위 레이블이 수신 노드 자신을 나타내는 것으로 결정된다. 따라서 최상위 레이블이 팝된다. 최상위 레이블 4005에 기초하여, 다음 홉 노드가 RT 5인 것으로 결정되고, 따라서 최상위 레이블이 5005로 전환되고 업데이트된 데이터 패킷을 RT 5로 포워딩한다. RT 5가 RT 4가 보낸 데이터 패킷을 수신한 후 데이터 패킷의 레이블 스택은 {5005}이다. 최상위 레이블이 수신 노드 자신을 나타내는 것으로 결정된다. 따라서 최상위 레이블이 팝되고 포워딩 테이블은 포워딩을 위해 계속해서 검색된다.따라서, RT 1의 데이터 패킷을 수신한 후, RT 2는, 데이터 패킷의 레이블 스택의 최상위 레이블 2003에 기초하여, 최상위 레이블이 가리키는 다음 홉 노드 RT 3에 오류가 있는 것으로 결정하고, RT 3에서 다음 홉 노드 RT 4까지 RT 3을 우회하는 포워딩 경로를 찾아야한다. 이러한 방식으로 백업 포워딩 테이블(표 2)을 검색하고, 발견된 포워딩 동작은 최상위 레이블(2003)을 팝하고, RT 2가 이웃 노드 RT 3에 대해 생성한 컨텍스트 테이블을 검색한다. 표 1에서 컨텍스트 테이블에 기초하여 얻은 SRGB 차이는 -1000이고 최상위 레이블 2003이 표시된다. 이 경우 레이블 스택은 {3004, 4005}이다. RT 2는 RT 3에서 다음 홉 노드 RT 4로의 레이블, 즉 최상위 레이블 3004를 얻는다. 스택의 최상위 레이블과 SRGB 간의 차이는 합계로서 사용된다. 즉, 제2 외부 레이블(outer label)(3004) + SRGB 간의 차이(-1000) = 2004, 즉 인그레스 노드(ingress node) RT 2로부터 이그레스(egress) 노드 RT 4까지의 라우팅 세그먼트에서 RT 2에 대한 유입 레이블이 획득된다. 2004는 주 포워딩 테이블을 검색하기 위한 수신 레이블로 사용된다. 발견된 다음 홉 노드는 RT 3이다. RT 3에 대한 인터페이스에 오류가 있기 때문에 백업 경로로 전환되고 백업 포워딩 테이블을 검색한다. 2004를 유입 레이블로 사용하여 발견된 포워딩 동작은 RT 7로 포워딩되는 것이고, 유출 레이블은 7004이며, 따라서 RT 2 노드는 스택의 최상위 레이블을 발견된 유출 레이블과 교환, 즉, 최상위 레이블 3004를 팝하여 7004로 교환한다. 여기에서 레이블 스택은 {7004, 4005}이다. 업데이트된 데이터 패킷은 RT 7로 포워딩된다.
데이터 패킷을 수신한 후, 최상위 레이블 7004에 기초하여 RT 7은 다음 홉 노드가 RT 4라고 결정하여, 최상위 레이블 7004를 4004로 교환하고 업데이트된 데이터 패킷을 RT 4로 포워딩한다. 유사하게, 데이터 패킷을 수신한 후 RT 4는 스택의 최상위 레이블이 나타내는 목적지 노드가 자신이라고 결정하고 스택의 최상위 레이블을 팝하고 업데이트된 레이블 스택의 최상위 레이블 4005에 의해 지시되는 다음 홉 노드가 RT 5로 결정하여, 최상위 레이블 4005를 5005로 전환하고 업데이트된 데이터 패킷을 RT 5로 보낸다.
종래 기술에서는, 주 경로의 노드에 오류가 있는 경우 오류 노드의 이전 홉 노드는, 오류 노드에 대한 컨텍스트 테이블을 생성하고 주/보조 포워딩 테이블이 주 경로에서 백업 경로로로 전환될 때 레이블 스택의 최상위 레이블에 따라 백업 포워딩 테이블을 검색하고, 백업 포워딩 테이블의 최상위 레이블에 대응하는 포워딩 엔트리의 포워딩 동작이 컨텍스트 테이블을 검색하는 것으로 결정된 후, 그 컨텍스트 테이블에 따라 백업 경로에서 패킷을 포워딩해야 하는 다음 홉 노드가 결정된다. 즉, 종래 기술에서 백업 포워딩 테이블은 오직 한번만 조회된다. 그러나, 백업 경로가 그 컨텍스트 테이블을 이용하여 구현되는 것으로 결정되면, 본 출원의 본 실시예에서 제공되는 솔루션에서는, SRGB간의 차이가 포워딩 평면 노드에 전달되고, 오류 노드의 다음 홉 노드의 노드 레이블을 결정하기 위해 오직 그 컨텍스트 노드만 사용되며, 백업 경로에서 패킷을 포워딩하기 위한 다음 홉 노드가 결정되고, 오류 노드의 다음 홉 노드의 노드 레이블을 이용하여 백업 포워딩 테이블이 다시 조회된다. 따라서 컨텍스트 테이블은 모든 노드에 대응하는 노드 레이블을 포함할 필요가 없고, 이웃 노드에 인접한 노드에 대응하는 레이블 정보만 포함하면 되므로 불충분한 엔트리 용량에 의해 패킷 포워딩 실패가 발생하는 것을 방지하고, 스토리지 자원이 절감될 수 있다.
문제 2에 대해:
포워딩 경로에 느슨한 경로가 있고 느슨한 경로 세그먼트의 목적지 노드에 오류가 있는 경우 노드의 오류 정보가 전체 네트워크에 플러드된 후 전체 네트워크의 모든 노드가 오류 노드에의 대응하는 주 및 보조 포워딩 테이블을 삭제한다. 느슨한 경로 세그먼트의 목적지 노드에 오류가 있는 경우, 주 경로와 백업 경로 모두에서 제1 노드에서 마지막 노드까지 모든 노드가 느슨한 경로 세그먼트를 통과해야하며, 오류 노드의 이전 홉 노드로부터 오류 노드를 우회함으로써 마지막 노드에 도달할 수 있다. 오류 노드에 대한 주 및 보조 포워딩 테이블이 삭제된 후, 경로 세그먼트의 소스 노드는 데이터 패킷을 오류 노드의 이전 홉 노드로 포워딩할 수 없다. 결과적으로 패킷 포워딩 실패가 발생한다.
도 3을 예로 들면, RT 1에서 지정한 SR-TE 경로가 통과하는 노드는 RT 3, RT 4 및 RT 5이다. RT 3에 오류가 있는 경우, RT 2는 RT 3에 오류가 있는 것으로 인식하고 IGP를 사용하여 RT 3의 오류 정보를 플러딩(Flooding)한다. 동시에 SR-TE FRR 전환이 트리거되어 백업 경로 RT 7, RT 4 및 RT 5로 전환되고 오류 지점 RT 3은 우회된다. RT 3의 오류 정보가 전체 네트워크의 모든 노드에 플러딩되면 RT 1은 수렴을 시작하고 RT 3에의 주 및 백업 포워딩 테이블을 삭제한다. 결과적으로 RT 1은 데이터 패킷을 RT 2로 포워딩할 수 없다.
이에 기초하여, 본 출원의 실시예는 전송 경로 오류를 처리하는 방법을 제공한다. 오류 노드의 이전 홉 노드는 IGP 프로토콜을 사용하여 오류 노드의 프리픽스(노드) 레이블을 전체 네트워크의 모든 노드에 플러딩한다. 한 가지 방식으로, 오류 노드의 이전 홉 노드가 오류 노드에 오류가 있음을 인식하면 오류 노드의 프리픽스(노드) 레이블이 IGP 프로토콜을 사용하여 전체 네트워크로 플러딩된다. 예를 들어, 이전 홉 노드에 의해 플러딩된 오류 노드의 프리픽스 레이블의 우선 순위는, 오류 노드가 오류가 발생하기 전에 오류 노드의 프리픽스 레이블을 획득한 경우 오류 노드에 의해 플러드된 오류 노드의 프리픽스 레이블의 우선 순위보다 낮게 설정 될 수 있다. 다른 방법은 오류 노드가 오류가 있기 전에 오류 노드의 프리픽스 레이블을 획득한 때, 오류 노드가 오류 노드의 프리픽스 레이블을 플러딩하고, 오류 노드에 오류가 있기 전에 오류 노드에 의해 플러딩된 프리픽스 레이블을 수신한 때, 오류 노드의 이전 홉 노드는 오류 노드의 프리픽스 레이블을 전체 네트워크에 플러딩한다. 예를 들어, 이전 홉 노드에 의해 플러딩된 오류 노드의 프리픽스 레이블의 우선 순위는, 오류 노드가 오류가 발생하기 전 오류 노드의 프리픽스 레이블을 프리픽스 레이블을 획득한 때 오류 노드에 의해 플러드된 오류 노드의 프리픽스 레이블의 우선 순위보다 낮게 설정 될 수 있다.
오류 노드의 프리픽스 레이블을 플러딩할 때 이전 홉 노드는 매핑 TLV(Mapping Type-Length-Value)에서 오류 노드의 프리픽스 레이블을 운반할 수 있다.
이 출원의 본 실시예에서 매핑 TLV에 대한 자세한 내용은 인터넷 엔지니어링 태스크 포스(Internet Engineering Task Force, IETF)에서 발표한 문서 draft-ietfisis-segment-routing-extensions를 참조할 수 있다. 이 문서 및 관련 부분의 내용은 일반적으로 전체적으로 이 명세서에 통합되며, 간결성을 위해 세부 사항은 여기에서 다시 설명하지 않는다.
TLV 정의에서는, 레이블(Tag) 필드, 길이(Length) 필드 및 콘텐츠(Value) 필드의 세 가지 필드가 있다. 그 값은 레이블을 포함한다. 매핑 TLV는 레이블 바인딩 TLV(SID/Label Binding TLV)라고도한다. 예를 들어,도 5에 도시된 매핑 TLV 형식이 예시로 사용된다. Type은 TLV의 타입, Length는 제어 패킷의 길이, Flags는 플래그 비트, Rreserved는 현재 사용되지 않는 예비 비트를 나타낸다. Range 필드는 주소 세그먼트와 관련된 프리픽스 SID 세그먼트를 지정하는 기능을 제공한다. 여기서 Prefix length는 프리픽스의 길이를 나타내고, 프리픽스는 광고된 경로의 마지막 노드에서 동등 클래스(equivalence class)를 포워딩하는 것을 나타내며 SubTLV는 Prefix-SID를 발행한 서브 TLV를 나타낸다.
예를 들어, 이 출원의 본 실시예에서, 이전 홉 노드는 재광고된 플래그 비트를 지시하기 위해, Flags에 R 필드를 추가할 수 있다. 즉, 오류 노드에 대한 프리픽스 레이블은 이전 홉 노드에 의해 전체 네트워크의 다른 노드에 재광고된다.
Flags의 포맷은 도 6을 참조할 수 있다. F는 주소 패밀리 플래그를 나타낸다. 이 비트가 설정되지 않은 경우 IPv4 프리픽스를 나타낸다. 이 비트가 설정되면 IPv6 프리픽스를 나타낸다. M은 미러링 환경 플래그를 나타낸다. 광고된 SID가 미러링 환경과 관련된 경우, 이 플래그가 설정된다. S는 SID/Label Binding TLV가 전체 라우팅 도메인에 플러딩될 수 있는지 여부를 지시한다. 이 비트가 설정되면 SID/Label Binding TLV가 전체 라우팅 도메인에서 플러딩된다. 이 비트가 설정되지 않은 경우 SID/Label Binding TLV는 레벨간에 누출될 수 없다. D는 SID/Label Binding TLV가 레벨 2에서 레벨 1으로 유출될 때 플래그를 설정해야 함을 나타낸다. 그렇지 않으면 플래그는 소거되어야 한다. A는 임시 플래그를 나타낸다. 레벨은 중간 시스템-중간 시스템(Intermediate System-to-Intermediate System, IS-IS)의 라우팅 프로토콜에서 네트워크 계층화의 개념이다. 공통 영역을 레벨 1 영역이라고 하고 백본 영역을 레벨 2 영역이라고 한다.
도 3에 도시된 네트워크 아키텍처가 예로 사용된다. RT 3에 오류가 있다고 결정되면 RT 2는 RT 3의 노드 레이블을 전체 네트워크에 플러딩한다. RT 2에 의해 플러딩된 RT 3의 노드 레이블의 우선 순위는 RT 3에 의해 플러드된 RT 3의 노드 레이블의 우선 순위보다 낮을 수 있다. RT 2에 의해 플러딩된 RT 3의 노드 레이블을 수신한 후, RT 1은, RT 3의 노드 레이블에 기초하여, 데이터 패킷의 유출 레이블을 RT 2로 보내기로 결정한다. 즉, RT 2의 SRGB의 초기 값 + RT 3의 노드 레이블 = 2000 + 3 = 2003. RT 2가 패킷을 수신한 후 RT 2는 지속적으로 포워딩을 위해 백업 경로로 전환한다. RT 2는 기존 컨텍스트 테이블의 형태로 패킷을 포워딩하기 위해 백업 경로를 전환할 수 있으며, 본 명세서에 제한되지 않는 전술한 컨텍스트 테이블 구성 방식을 사용할 수도 있다. 특정 송신 프로세스에 대해서는 문제 1에 대해 실시예에서 설명한 포워딩 방식을 참조할 수 있다. 자세한 내용은 여기서 다시 설명하지 않는다.
문제 3에 대해:
주 경로상의 포워딩 노드에 오류가 있는 경우 이전 홉 노드는 패킷을 포워딩하기 위해 백업 경로로 전환한다. 오류 노드가 복구되고 다시 시작된 후, 오류가 복구된 후의 노드는 노드(프리픽스) 레이블 및 노드의 인접 레이블과 같은 정보를 네트워크의 다른 노드에 다시 플러딩한다. 오류가 복구된 후의 노드에 의해 플러딩된 정보를 수신한 이전 홉 노드는 데이터 패킷을 다시 주 경로로 전환한다. 즉, 오류가 복구된 후의 노드를 재사용하여 패킷이 송신된다. 그러나 오류가 복구된 후의 노드가 이제 막 다시 시작되기 때문에 로컬 데이터베이스가 불완전할 수 있다. 예를 들어, 로컬 데이터베이스는 주 경로상에서 오류가 복구된 후의 노드의 다음 홉 노드의 인접 레이블 및 노드 레이블에 대한 정보와 같이, 다른 노드에 대한 정보를 포함하지 않는다. 이 경우 RT 3이 패킷을 수신한 후에는 패킷을 다음 홉 노드로 포워딩할 수 없다. 그 결과 데이터 패킷 누락이 발생한다.
도 3에 도시된 바와 같이, RT 1에서 특정한 SR-TE 경로는 RT 3, RT 4 및 RT 5이다. RT 3에 오류가 있는 경우 RT 2는 RT 3에 오류가 있음을 감지 한 후 SR-TE FRR 전환을 트리거하고 백업 경로 RT 7, RT 4 및 RT 5로 전환한다. 따라서 오류 노드 RT 3은 우회된다. RT 3가 복구되고 다시 시작된 후 RT 3은 노드 Sid를 전체 네트워크에 재광고하고 RT 2는 데이터 패킷을 다시 RT 3으로 전환한다. 그러나 RT 3가 방금 다시 시작 되었기 때문에 로컬 데이터베이스가 완전하지 않을 수 있다. 예를 들어, RT 3은 RT 4와 RT 5의 노드 SID를 학습하지 않았다. 결과적으로 데이터 패킷은 RT 3에서 다음 홉 RT 4로 포워딩될 수 없으며 폐기된다.
이에 기초하여, 본 출원의 실시예는 전송 경로 오류를 처리하는 방법을 제공한다. 오류 노드가 복구되고 다시 시작되면, 복구된 오류 노드가 오류 노드의 복구를 인식할 때 복구된 오류 노드의 이전 홉 노드가 다른 노드의 프리픽스 SID를 학습하지 못하도록 하기 위해 복구된 오류 노드가 다른 노드의 프리픽스 SID를 학습하려고 시도하고, 후속하여 데이터 패킷이 유실된다. 오류 노드가 복구된 후, 지시 정보가 먼저 전체 네트워크에서 릴리스되며, 여기서 지시 정보는 복구된 오류 노드가 패킷을 올바르게 포워딩할 수 없음을 나타내는 데 사용된다. 따라서 복구된 오류 노드로 보낼 데이터 패킷을 수신한 때 이전 홉 노드는 여전히 백업 경로를 통해 데이터 패킷을 포워딩한다.
예를 들어, 지시 정보는 오버로드 비트(overload bit)로 포워딩될 수 있다. 오버로드 비트는 IS-IS 라우팅 프로토콜에서 정의된다. 노드가 모든 연결 상태 데이터(LSDB), 즉 전체 네트워크에서의 모든 노드를 복구하기 위해 로컬 스토리지에 의해 사용되는 토폴로지 정보를 완전하게 만들지 못하면, 노드는 완전하지 않은 LSDB를 식별하기 위해 자신이 광고한 링크 상태 데이터 패킷의 헤더 내의 비트를 사용한다. 결과적으로 패킷을 올바르게 포워딩할 수 없으며 이 비트의 플래그 비트를 오버로드(OL) 비트라고 한다. 노드가 광고한 링크 상태 패킷 내의 오버로드 비트를 사용함으로써 다른 노드는 노드의 LSDB가 완전하지 않기 때문에 노드가 올바른 라우팅 결정을 내리지 못할 수 있음, 즉 데이터 패킷을 올바르게 포워딩할 수 없음을 알 수 있다. 다른 노드는 최단 경로를 계산할 때 이 노드를 통해 데이터 패킷을 포워딩하지 않는다.
도 3에 도시된 네트워크 아키텍처가 예로 사용된다. 오류 노드 RT 3이 복구되고 다시 시작된 후, RT 2가 RT 3 오류의 복구를 먼저 인식하는 것을 방지하기 위해, 그리고 이때 RT 3은 RT 4 및 RT 5의 프리픽스 Sid를 학습하지 않았고, 데이터 패킷은 손실된다. RT 3은 오류로 인해 다시 시작한 후 링크 상태 패킷의 헤더에 오버로드(Overload) 비트 플래그를 추가한다.
RT 2는 RT 3이 광고하는 링크 상태 패킷 내의 오버로드 비트를 수신하고 다음 홉 RT 3이 오버로드 상태에 있음을 감지한다. 따라서 노드 RT 2는 오류 복구 이전에 SR-TE FRR 포워딩 경로를 계속 사용하고, RT 2는 기존 컨텍스트 테이블의 형태로 백업 경로를 사용하여 데이터 패킷을 포워딩할 수 있으며, 확실히, 컨텍스트 테이블을 구성하는 전술한 방식을 사용할 수도 있으며, 여기에 제한되지 않는다. 특정 송신 프로세스에 대해서는 도 4에 대응하는 실시예의 포워딩 방식을 참조할 수 있다. 자세한 내용은 여기서 다시 설명하지 않는다.
오류 노드가 LSDB를 완성하는 데 걸리는 시간, 즉 오버로드 시간은 일반적으로 예컨대 60초이다. 따라서, RT 2는 기간 내에 컨텍스트 테이블을 조회하여 SR-TE FRR 경로(백업 경로)에 기초하여 데이터 패킷을 포워딩할 수 있다. 예를 들어 오버로드 기간(Overload duration)을 설정할 수 있으며 RT 2는 해당 기간 내에 백업 경로를 사용하여 데이터 패킷을 포워딩한다. LSDB가 완성되면 RT 3는 전체 네트워크에서 링크 상태 패킷을 다시 광고할 수 있으며 헤더에는 오버로드 비트가 포함되지 않는다. 오버로드 비트 플래그 비트를 포함하지 않는 링크 상태 데이터 패킷을 수신한 후 RT 2는 RT 3으로 다시 전환하여 데이터 패킷을 포워딩한다.
방법 실시예와 동일한 발명 개념에 기초하여, 본 출원의 실시예는 장치를 더 제공하고, 도 7을 참조할 수 있다. 이 장치(700)는 네트워크 장치에 적용된다. 이 장치(700)는 수신 모듈(701), 처리 모듈(702) 및 송신 모듈(703)을 포함할 수 있다. 이 장치(700)는 구체적으로 네트워크 장치의 프로세서, 칩, 칩 시스템, 기능 모듈 등일 수 있다. 처리 모듈(702)은 장치(700)의 동작을 제어 및 관리하는 데 사용되며, 수신 모듈(701)은 정보 또는 패킷을 수신하는 데 사용되며, 송신 모듈(703)은 정보 또는 패킷을 송신하는 데 사용되며, 처리 모듈(702)은 수신 모듈(701)에 의해 수신된 정보 또는 패킷을 처리하는데 사용된다. 처리 모듈(702)은 또한 위에서 설명된 임의의 실시예 및/또는 본 출원에서 설명된 기술 솔루션의 다른 프로세스에서 네트워크 장치(예를 들어, 제1 노드 또는 RT 2)에서의 처리 프로세스를 나타내기 위해 사용될 수 있다. 이 장치는 저장 모듈(도 7에 도시되지 않음)을 더 포함할 수 있으며, 저장 모듈은 컨텍스트 테이블 및 주/백업 포워딩 테이블을 저장하도록 구성된다. 가능한 구현에서, 이 장치(700)는 오류 노드의 이전 홉 노드, 예를 들어 도 5에 대응하는 실시예의 제1 노드 또는 도 3 및 도 4에 대응하는 실시예에서의 RT2에 적용될 수 있다.
예를 들어, 장치(180)는 제1 노드에 적용된다. 수신 모듈(701)은 제2 노드에 의해 송신된 제1 패킷을 수신하고 - 여기서 제2 노드는 주 경로상의 제1 노드의 이전 홉 노드임 -; 처리 모듈(702)은 제3 노드에 오류가 있는 것으로 결정된 때 제1 노드의 세그먼트 라우팅 글로벌 블록(SRGB)의 초기 값과 제3 노드의 SRGB의 초기 값 사이의 차이를 결정하고 - 제3 노드는 주 경로상에서 제1 노드의 다음 홉 노드임 -, 제1 패킷으로부터 제1 레이블을 획득하고 - 제1 레이블은 제3 노드의 SRGB의 초기 값 및 제4 노드의 노드 세그먼트 식별자에 기초하여 결정되고, 제4 노드는 주 경로상에서 제3 노드의 다음 홉 노드임 -; 제1 레이블 및 상기 차이의 합을 제1 노드에서 제4 노드로의 백업 경로의 유입 레이블로서 사용하고, 백업 포워딩 테이블로부터 제1 노드에서 제4 노드로의 백업 경로의 유출 레이블을 결정하도록 구성되고; 송신 모듈(703)은 송신 레이블에 기초하여 백업 경로상의 제1 노드의 다음 홉 노드로 제1 패킷을 송신하도록 구성된다.
가능한 구현에서, 제1 패킷은 주 경로에서 제1 패킷의 포워딩에 대한 지침을 제공하는 데 사용되는 레이블 스택 리스트를 포함한다.
처리 모듈(702)은 구체적으로, 제1 노드의 SRGB의 초기 값과 제3 노드의 SRGB의 초기 값 사이의 차이를 결정할 때 레이블 스택 리스트의 상단으로부터 제2 레이블을 획득하고 - 여기서 제2 레이블은 제3 노드의 노드 세그먼트 식별자 및 제1 노드의 SRGB의 초기 값에 기초하여 결정됨 -; 백업 포워딩 테이블에서, 제2 레이블에 대응하는 제1 포워딩 동작을 결정하고 - 여기서 제1 포워딩 동작은 레이블 정보 테이블을 검색하도록 지시하기 위해 사용되며, 레이블 정보 테이블은 제2 레이블에 대응하는 차이를 포함함 -; 레이블 정보 테이블에서 그 차이를 획득하도록 구성된다.
가능한 구현에서, 제1 패킷으로부터 제1 레이블을 획득할 때, 처리 모듈(702)은 구체적으로, 상단에서 두 번째 레이블을 팝한 후 두 번째 레이블이 팝된 레이블 스택 리스트의 상단으로부터 레이블 스택 리스트의 첫 번째 레이블을 획득하도록 구성되고; 처리 모듈(702)은 또한 레이블 스택 리스트의 첫 번째 레이블을 유출 레이블로 전환하도록 구성되고, 송신 모듈(703)은 구체적으로 업데이트된 제1 패킷을 백업 경로상에서 제1 노드의 다음 홉 노드로 송신하도록 구성된다.
가능한 구현에서, 송신 모듈(703)은 수신 모듈(701)이 제2 노드에 의해 송신된 제1 패킷을 수신하기 전에 그리고 제3 노드에 의해 네트워크에서 플러딩된 제3 노드의 노드 세그먼트 식별자가 수신된 후, 다른 노드에 제3 노드의 노드 세그먼트 식별자를 네트워크에 플러딩하도록 구성되고, 제1 노드에 의해 플러딩된 제3 노드의 노드 세그먼트 식별자의 우선 순위는 제3 노드에 의해 플러딩된 제3 노드의 노드 세그먼트 식별자의 우선 순위보다 낮다.
제1 레이블은 제3 노드의 노드 세그먼트 식별자와 제1 노드에 의해 플러딩된 제1 노드의 SRGB 초기 값에 기초하여 제2 노드에 의해 결정된다.
가능한 구현에서, 수신 모듈은 오류가 복구된 후 제3 네트워크 장치에 의해 송신된 지시 정보를 수신하도록 추가로 구성되며, 여기서 지시 정보는 제3 네트워크 장치가 패킷을 올바르게 포워딩할 수 없음을 지시하는 데 사용되고, 송신 모듈은 수신 모듈이 제2 네트워크 장치에 의해 송신된 제2 패킷을 수신할 때 결정된 송신 레이블에 기초하여 제2 패킷을 송신하도록 추가로 구성된다.
가능한 구현에서, 장치(700)는 느슨한 경로 세그먼트의 소스 노드, 예를 들어 도 2에 도시된 제2 노드, 또는 도 3 및 도 4에 대응하는 실시예에서의 RT 1에 적용될 수 있다.
예를 들어, 제2 노드에 적용하는 것을 예로 하면, 수신 모듈(701)은 제1 네트워크 장치에 의해 네트워크에 플러딩된 제3 네트워크 장치의 노드 세그먼트 식별자를 수신하도록 구성되며, 여기서 제3 네트워크 장치는 제1 네트워크 장치의 이웃 네트워크 장치이고, 제1 네트워크 장치에 의해 플러딩된 제3 네트워크 장치의 노드 세그먼트 식별자의 우선 순위가 제3 네트워크 장치에 의해 플러딩된 제3 네트워크 장치의 노드 세그먼트 식별자의 우선 순위보다 낮고; 처리 모듈(702)은 주 경로를 사용하여 패킷을 송신하는 프로세스에서 제3 네트워크 장치에서 오류가 발생했음을 결정하도록 구성되고, 여기서 제1 네트워크 장치는 주 경로상에서 제2 네트워크 장치의 다음 홉 네트워크 장치이며, 제3 네트워크 장치는 주 경로에서 제1 네트워크 장치의 다음 홉 네트워크 장치이며; 송신 모듈(703)은 제1 네트워크 장치에 의해 플러딩된 제3 네트워크 장치의 노드 세그먼트 식별자에 기초하여 백업 경로를 통해 제1 네트워크 장치에 패킷을 보내도록 구성되며, 여기서 제1 네트워크 장치는 백업 경로상에서 제2 네트워크 장치의 다음 홉 네트워크 장치이다.
본 출원의 실시예는 네트워크 장치의 구조를 더 제공한다. 도 8에 도시된 바와 같이, 네트워크 장치(800)는 통신 인터페이스(810) 및 프로세서(820)를 포함할 수 있다. 선택적으로, 네트워크 장치(800)는 메모리(830)를 더 포함할 수 있다. 메모리(830)는 네트워크 장치 내부에 배치되거나 네트워크 장치 외부에 배치될 수 있다. 도 7에 도시된 바와 같이, 처리 모듈(702)은 프로세서(820)에 의해 구현된다. 수신 모듈(701) 및 송신 모듈(703)은 통신 인터페이스(810)에 의해 구현될 수 있다.
가능한 구현에서, 프로세서(820)는 통신 인터페이스(810)를 사용하여 패킷 또는 메시지를 수신 및 송신하고, 도 2 내지 도 4에서의 노드(제1 노드 또는 RT 2)에 의해 수행되는 임의의 방법을 구현하도록 구성된다. 구현 중에, 프로세스 흐름의 단계는, 프로세서(820)에서의 하드웨어의 논리 회로 또는 소프트웨어의 명령어를 통해, 도 2 내지 도 4에서 설명된 제1 노드 또는 RT 2에 의해 수행되는 방법을 구현할 수 있다. 간단히 하기 위해 세부 사항은 여기서 다시 설명하지 않는다. 전술한 방법을 구현하기 위해 프로세서(820)에 의해 실행되는 프로그램 코드는 메모리(830)에 저장될 수 있다. 메모리(830)는 프로세서(820)에 연결된다.
가능한 구현에서, 프로세서(820)는 통신 인터페이스(810)를 사용하여 패킷 또는 메시지를 수신 및 송신할 수 있고, 도 2 내지 도 4의 노드(제2 노드 또는 RT 1)에 의해 수행되는 임의의 방법을 구현하도록 구성된다. 구현에서, 프로세스 흐름의 단계는 프로세서(820)에서 소프트웨어의 명령 또는 하드웨어의 집적 논리 회로를 통해 도 2 내지 도 4에 설명된 제2 노드 또는 RT1에 의해 수행되는 방법을 구현할 수 있다. 간단히 하기 위해, 세부 사항은 여기서 다시 설명하지 않는다. 전술한 방법을 구현하기 위해 프로세서(820)에 의해 실행되는 프로그램 코드는 메모리(830)에 저장될 수 있다. 메모리(830)는 프로세서(820)에 연결된다.
본 출원의 실시예들에서 임의의 통신 인터페이스는 회로, 버스, 트랜시버 또는 정보를 교환하도록 구성될 수 있는 임의의 다른 장치일 수 있다. 예를 들어, 네트워크 장치(800)의 통신 인터페이스(810)는 네트워크 장치(800)의 이전 홉 노드 또는 다음 홉 노드와 같은 네트워크 장치(800)에 연결된 장치일 수 있다.
본 출원의 실시예에서, 프로세서는 일반 프로세서, 디지털 신호 프로세서, 주문형 집적 회로, 필드 프로그래밍 가능 게이트 어레이 또는 다른 프로그래밍 가능 논리 장치, 개별 게이트 또는 트랜지스터 논리 장치 또는 개별 하드웨어 일 수 있고, 본 출원의 실시예에 개시된 방법, 단계 및 논리 블록도를 구현하거나 수행할 수 있다. 범용 프로세서는 마이크로 프로세서, 임의의 통상적인 프로세서 등일 수 있다. 본 출원의 실시예를 참조하여 개시된 방법의 단계는 하드웨어 프로세서에 의해 직접 수행될 수 있거나, 프로세서의 하드웨어와 소프트웨어 모듈의 조합을 사용하여 수행될 수 있다.
본 출원의 실시예에서의 연결은 장치, 모듈 또는 모듈 사이의 간접 결합 또는 통신 연결이며, 전기적, 기계적 또는 다른 형태 일 수 있으며, 장치, 모듈 및 모듈 간의 정보 상호 작용에 사용된다.
프로세서(820)는 메모리(830)와 함께 동작할 수 있다. 메모리(830)는 하드 디스크(HDD) 또는 솔리드 스테이트 드라이브(SSD)와 같은 비 휘발성 메모리이거나, 예를 들어, 랜덤 액세스 메모리(랜덤 액세스 메모리, RAM)와 같은 휘발성 메모리일 수 있다. 메모리(830)는 예상되는 프로그램 코드를 명령어 또는 데이터 구조의 형태로 운반하거나 저장할 수 있는 다른 매체로 컴퓨터에 의해 액세스될 수 있으나 이에 제한되지 않는다.
본 출원의이 실시예에서, 통신 인터페이스(810), 프로세서(820) 및 메모리(830) 사이의 특정 연결 매체는 제한되지 않는다. 본 출원의이 실시예에 따르면, 도 8에 도시된 바와 같이, 메모리(830), 프로세서(820) 및 통신 인터페이스(810)는 버스를 이용하여 서로 연결된다. 버스는 도 8에서 굵은 선을 사용하여 표시된다. 다른 구성 요소 간의 연결 방식은 개략적으로 설명된 것일뿐 제한적으로 사용되지는 않는다. 버스는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이를 위해, 도 8에서 버스를 표현하기 위해 단지 하나의 두꺼운 선이 사용된다. 그러나 이것은 버스가 하나만 있거나 버스 유형이 하나만 있음을 의미하지는 않는다.
전술한 실시예에 기초하여, 본 출원의 실시예는 컴퓨터 저장 매체를 더 제공한다. 저장 매체는 소프트웨어 프로그램을 저장하고, 하나 이상의 프로세서에 의해 판독 및 실행될 때, 소프트웨어 프로그램은 임의의 하나 이상의 전술한 실시예에서 제공된 방법을 구현할 수 있다. 컴퓨터 저장 매체는 이동식 하드 디스크, 읽기 전용 메모리, 랜덤 액세스 메모리, 자기 디스크 또는 광 디스크와 같은 프로그램 코드를 저장할 수 있는 임의의 매체를 포함할 수 있다.
전술한 실시예들에 기초하여, 본 출원의이 실시예는 또한 칩을 제공하는데, 여기서 칩은 예를 들어 도 2 내지 도 4에서의 제1 노드 또는 RT2에 의해 수행되는 방법을 구현하기 위해 또는 도 2 내지 도 4에서의 제2 노드 또는 RT1에 의해 수행되는 방법을 구현하기 위해, 전술한 실시예들 중 임의의 하나 이상의 기능을 구현하기 위한 프로세서를 포함한다. 선택적으로 칩은 메모리를 더 포함한다. 메모리는 프로세서에 의해 필요하고 실행되는 프로그램 명령 및 데이터를 저장하도록 구성된다. 칩 시스템은 칩을 포함할 수 있거나, 칩 및 다른 개별 장치를 포함할 수 있다.
통상의 기술자는 본 출원의 실시예가 방법, 시스템 또는 컴퓨터 프로그램 제품으로 제공될 수 있음을 이해해야 한다. 따라서, 본 출원은 하드웨어 전용 실시예, 소프트웨어 전용 실시예 또는 소프트웨어와 하드웨어의 조합을 갖는 실시예의 형태를 사용할 수 있다. 또한, 본 출원은 컴퓨터 사용 가능한 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능 저장 매체(디스크 메모리, CD-ROM, 광학 메모리 등을 포함하되 이에 제한되지 않음)에서 구현되는 컴퓨터 프로그램 제품의 형태를 사용할 수 있다.
본 출원은 본 출원의 실시예에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령은 흐름도 및/또는 블록도의 각 프로세스 및/또는 각 블록과 흐름도 및/또는 블록도의 프로세스 및/또는 블록의 조합을 구현하는 데 사용될 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 전용 컴퓨터, 임베디드 프로세서 또는 기타 프로그램 가능한 데이터 처리 장치의 프로세서에 제공되어 머신을 생성하고, 이로써 컴퓨터 또는 다른 임의의 프로그램 가능 데이터 처리 장치에 의해 실행되는 명령이 블록도에서 하나 이상의 블록 및/또는 흐름도에서의 하나 이상의 프로세스에서의 특정 기능을 구현하기 위한 장치를 생성한다.
이들 컴퓨터 프로그램 명령은 컴퓨터 또는 임의의 다른 프로그램 가능한 데이터 처리 장치가 특정 방식으로 작동하도록 지시할 수 있는 컴퓨터 판독 가능 메모리에 저장될 수 있으며, 컴퓨터 판독 가능 메모리에 저장된 명령은 명령 장치를 포함하는 아티팩트를 생성한다. 명령 장치는 흐름도의 하나 이상의 프로세스 및/또는 블록도의 하나 이상의 블록의 특정 기능을 구현한다.
이러한 컴퓨터 프로그램 명령은 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치에 로드되어 일련의 작업 및 단계가 컴퓨터 또는 다른 프로그램 가능한 장치에서 수행되어 컴퓨터 구현 처리를 생성한다. 따라서, 컴퓨터 또는 다른 프로그램 가능 장치에서 실행되는 명령은 흐름도의 하나 이상의 프로세스 및/또는 블록도의 하나 이상의 블록에서의 특정 기능을 구현하기 위한 단계를 제공한다.
통상의 기술자는 본 출원의 범위를 벗어나지 않고 본 출원에 대해 다양한 수정 및 변경을 할 수 있음이 명백하다. 본 출원은 본 출원의 이러한 수정 및 변형이 다음의 청구 범위 및 그와 동등한 기술에 의해 정의된 보호 범위 내에 있는 경우를 포함하도록 의도된다.

Claims (12)

  1. 전송 경로 오류를 처리하는 방법으로서,
    제1 네트워크 장치에 의해, 제2 네트워크 장치에 의해 송신된 제1 패킷을 수신하는 단계 - 상기 제2 네트워크 장치는 주 경로상에서 상기 제1 네트워크 장치의 이전 홉 네트워크 장치임 -;
    상기 제1 네트워크 장치에 의해, 제3 네트워크 장치에 오류가 있다고 결정한 때, 상기 제1 네트워크 장치의 세그먼트 라우팅 글로벌 블록(segment routing global block, SRGB)의 초기 값과 상기 제3 네트워크 장치의 SRGB의 초기 값 간의 차이를 결정하는 단계 - 상기 제3 네트워크 장치는 주 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치임 -;
    상기 제1 네트워크 장치에 의해, 상기 제1 패킷으로부터 제1 레이블을 획득하는 단계 - 상기 제1 레이블은, 주 경로상에서 상기 제3 네트워크 장치의 다음 홉 네트워크 장치인 제4 네트워크 장치에 대응함 - ;
    상기 제1 네트워크 장치에 의해, 상기 제1 레이블과 상기 차이의 합산 값에 기초하여, 상기 제1 네트워크 장치에서 상기 제4 네트워크 장치로의 백업 경로를 결정하는 단계; 및
    상기 제1 네트워크 장치에 의해, 상기 백업 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치로 상기 제1 패킷을 송신하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 레이블은 상기 제3 네트워크 장치의 SRGB의 초기 값과 제4 네트워크 장치의 노드 세그먼트 식별자에 기초하여 결정되는, 방법.
  3. 제1항에 있어서,
    상기 제1 네트워크 장치에 의해, 상기 제1 레이블과 상기 차이의 합산 값에 기초하여, 상기 제1 네트워크 장치에서 상기 제4 네트워크 장치로의 백업 경로를 결정하는 단계는,
    상기 제1 네트워크 장치에 의해, 유입 레이블(incoming label)로서 상기 제1 레이블과 상기 차이의 합산 값을 사용하는 단계, 및
    상기 제1 네트워크 장치에 의해, 프록시 포워딩 테이블 및 라우팅 테이블로부터 상기 제1 네트워크 장치에서 상기 제4 네트워크 장치로의 상기 백업 경로의 유출 레이블(outgoing)을 결정하는 단계
    를 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제3 네트워크 장치에 의해 네트워크에 플러딩된 상기 제3 네트워크 장치의 노드 세그먼트 식별자를 수신한 후, 상기 제1 네트워크 장치에 의해, 상기 제3 네트워크 장치의 노드 세그먼트 식별자를 상기 네트워크에서의 다른 네트워크 장치에 플러딩(flodding)하는 단계를 더 포함하고,
    상기 제1 레이블은 상기 제3 네트워크 장치의 노드 세그먼트 식별자로서 상기 제1 네트워크 장치에 의해 플러딩된 노드 세그먼트 식별자 및 상기 제1 네트워크 장치의 SRBG의 초기 값에 기초하여 상기 제2 네트워크 장치에 의해 결정되는,
    방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 네트워크 장치에 의해, 오류가 복구된 후에 상기 제3 네트워크 장치에 의해 송신된 지시 정보를 수신하는 단계 - 상기 지시 정보는 상기 제3 네트워크 장치가 패킷을 정확하게 포워딩할 수 없음을 지시하는 데 사용됨 -; 및
    상기 제1 네트워크 장치에 의해, 상기 제2 네트워크 장치에 의해 송신된 제2 패킷을 수신할 때, 상기 백업 경로상에서 상기 제2 패킷을 송신하는 단계
    를 더 포함하는 방법.
  6. 전송 경로 오류를 처리하기 위한 장치로서, 상기 장치는 제1 네트워크 장치에 적용되며,
    제2 네트워크 장치에 의해 송신된 제1 패킷을 수신하도록 구성된 수신 모듈 - 상기 제2 네트워크 장치는 주 경로상에서 상기 제1 네트워크 장치의 이전 홉 네트워크 장치임 - ;
    제3 네트워크 장치에 오류가 있다고 결정한 때, 상기 제1 네트워크 장치의 세그먼트 라우팅 글로벌 블록(segment routing global block, SRGB)의 초기 값과 상기 제3 네트워크 장치의 SRGB의 초기 값 간의 차이를 결정하고 - 상기 제3 네트워크 장치는 주 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치임 - , 상기 제1 패킷으로부터 제1 레이블을 획득하고 - 상기 제1 레이블은 주 경로상에서 상기 제3 네트워크 장치의 다음 홉 네트워크 장치인 제4 네트워크 장치에 대응함 - , 상기 제1 레이블과 상기 차이의 합산 값에 기초하여, 상기 제1 네트워크 장치에서 상기 제4 네트워크 장치로의 백업 경로를 결정하도록 구성된 처리 모듈; 및
    상기 백업 경로상에서 상기 제1 네트워크 장치의 다음 홉 네트워크 장치로 상기 제1 패킷을 송신하도록 구성된 송신 모듈
    을 포함하는 장치.
  7. 제6항에 있어서,
    상기 제1 레이블은 상기 제3 네트워크 장치의 SRGB의 초기 값과 제4 네트워크 장치의 노드 세그먼트 식별자에 기초하여 결정되는, 장치.
  8. 제6항에 있어서,
    상기 처리 모듈은
    유입 레이블(incoming label)로서 상기 제1 레이블과 상기 차이의 합산 값을 사용하고, 그리고
    프록시 포워딩 테이블 및 라우팅 테이블로부터 상기 제1 네트워크 장치에서 상기 제4 네트워크 장치로의 백업 경로의 유출 레이블(outgoing)을 결정하도록 추가로 구성되는, 장치.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 송신 모듈은 또한, 상기 제3 네트워크 장치에 의해 네트워크에 플러딩된 상기 제3 네트워크 장치의 노드 세그먼트 식별자를 수신한 후, 상기 제3 네트워크 장치의 노드 세그먼트 식별자를 상기 네트워크에서의 다른 네트워크 장치에 플러딩(flodding)하도록 구성되고,
    상기 제1 레이블은 상기 제3 네트워크 장치의 노드 세그먼트 식별자로서 상기 제1 네트워크 장치에 의해 플러딩된 노드 세그먼트 식별자 및 상기 제1 네트워크 장치의 SRBG의 초기 값에 기초하여 상기 제2 네트워크 장치에 의해 결정되는,
    장치.
  10. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 수신 모듈은 또한, 오류가 복구된 후에 상기 제3 네트워크 장치에 의해 전송된 지시 정보를 수신하도록 구성되고, 상기 지시 정보는 상기 제3 네트워크 장치가 패킷을 올바르게 포워딩할 수 없음을 지시하는 데 사용되며,
    상기 송신 모듈은 또한, 상기 수신 모듈이 상기 제2 네트워크 장치에 의해 전송된 제2 패킷을 수신할 때, 상기 백업 경로상에서 상기 제2 패킷을 송신하도록 구성되는,
    장치.
  11. 네트워크 장치로서,
    통신 인터페이스, 프로세서 및 메모리를 포함하고,
    상기 메모리는 소프트웨어 프로그램을 저장하도록 구성되고, 상기 프로세서는 상기 메모리에 저장된 소프트웨어 프로그램을 읽고, 상기 통신 인터페이스를 통해 메시지를 수신 및 송신하고, 제1항 내지 제3항 중 어느 한 항에 따른 방법을 구현하도록 구성되는,
    네트워크 장치.
  12. 제6항 내지 제8항 중 어느 한 항에 따른 장치를 포함하는 시스템.
KR1020237002861A 2018-06-30 2019-06-17 전송 경로 오류 처리 방법 및 장치, 그리고 시스템 KR102589958B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201810703248.2 2018-06-30
CN201810703248.2A CN110661706B (zh) 2018-06-30 2018-06-30 一种传输路径故障的处理方法、装置及系统
PCT/CN2019/091497 WO2020001307A1 (zh) 2018-06-30 2019-06-17 一种传输路径故障的处理方法、装置及系统
KR1020217001786A KR102493384B1 (ko) 2018-06-30 2019-06-17 전송 경로 오류 처리 방법 및 장치, 그리고 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217001786A Division KR102493384B1 (ko) 2018-06-30 2019-06-17 전송 경로 오류 처리 방법 및 장치, 그리고 시스템

Publications (2)

Publication Number Publication Date
KR20230017926A KR20230017926A (ko) 2023-02-06
KR102589958B1 true KR102589958B1 (ko) 2023-10-13

Family

ID=68985768

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237002861A KR102589958B1 (ko) 2018-06-30 2019-06-17 전송 경로 오류 처리 방법 및 장치, 그리고 시스템
KR1020217001786A KR102493384B1 (ko) 2018-06-30 2019-06-17 전송 경로 오류 처리 방법 및 장치, 그리고 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217001786A KR102493384B1 (ko) 2018-06-30 2019-06-17 전송 경로 오류 처리 방법 및 장치, 그리고 시스템

Country Status (6)

Country Link
US (2) US11722401B2 (ko)
EP (2) EP4274182A3 (ko)
JP (2) JP7152533B2 (ko)
KR (2) KR102589958B1 (ko)
CN (3) CN112995029B (ko)
WO (1) WO2020001307A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995029B (zh) * 2018-06-30 2024-03-19 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN110535772B (zh) * 2019-08-27 2020-06-16 南京中兴软件有限责任公司 分段路由流量工程策略的发送及接收方法、装置和网元
CN115314563A (zh) * 2020-01-20 2022-11-08 华为技术有限公司 一种消息生成方法、处理方法及装置
CN111885630B (zh) * 2020-07-01 2023-06-30 中国联合网络通信集团有限公司 数据传输方法及通信装置
CN112134801B (zh) * 2020-08-11 2022-02-15 中盈优创资讯科技有限公司 分段标识sid的处理方法、装置及各节点
US11855885B2 (en) * 2020-10-20 2023-12-26 Nokia Solutions And Networks Oy Label switched path scalability
CN114513452B (zh) * 2020-10-29 2024-01-02 北京华为数字技术有限公司 转发报文的方法、装置、计算机设备及存储介质
CN116846807A (zh) * 2020-11-27 2023-10-03 华为技术有限公司 通信方法及装置
CN114697254A (zh) * 2020-12-31 2022-07-01 北京华为数字技术有限公司 一种报文处理的方法及相关装置
US11711294B2 (en) * 2021-05-03 2023-07-25 Mellanox Technologies, Ltd. Fast rerouting using egress-port loopback
CN115701054A (zh) * 2021-07-29 2023-02-07 华为技术有限公司 一种数据传输方法、相关设备及计算机存储介质
CN113992567B (zh) * 2021-10-26 2023-03-21 新华三信息安全技术有限公司 一种报文转发方法及装置
CN113965506B (zh) * 2021-11-01 2023-02-28 南京熊猫汉达科技有限公司 一种网关备份方法和系统
CN114374644B (zh) * 2021-12-22 2023-09-19 烟台东方瑞创达电子科技有限公司 基于基础设施逻辑架构的工业互联网标识解析方法及系统
CN116346708A (zh) * 2021-12-23 2023-06-27 中兴通讯股份有限公司 路由更新方法、网络设备和计算机可读存储介质
CN116980345A (zh) * 2022-04-22 2023-10-31 华为技术有限公司 故障处理方法、网络设备、存储介质和芯片系统

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006218B (zh) * 2009-09-03 2014-07-16 中兴通讯股份有限公司 隧道保护方法及装置
US8422364B2 (en) * 2010-05-17 2013-04-16 Cisco Technology, Inc. Multicast label distribution protocol node protection
US8842522B2 (en) * 2011-09-27 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Incremental deployment of MRT based IPFRR
US9124511B2 (en) * 2012-01-10 2015-09-01 Cisco Technology, Inc. Determining backup forwarding paths based on route distinguisher correlation values
US9077561B2 (en) * 2012-03-27 2015-07-07 Juniper Networks, Inc. OAM label switched path for fast reroute of protected label switched paths
US9628285B2 (en) * 2012-06-01 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Increasing failure coverage of MoFRR with dataplane notifications
ITRM20130571A1 (it) * 2013-10-17 2015-04-18 Cisco Tech Inc Protezione di un nodo di bordo scalabile utilizzante instradamento di segmenti
US9253084B2 (en) * 2014-02-24 2016-02-02 Juniper Networks, Inc. Neighbor-label distribution with label distribution protocol
US9912577B2 (en) * 2014-04-17 2018-03-06 Cisco Technology, Inc. Segment routing—egress peer engineering (SP-EPE)
US9516118B2 (en) 2014-05-12 2016-12-06 Telefonaktiebolaget L M Ericsson (Publ) Scalable segment identifier allocation in segment routing
CN105282028A (zh) * 2014-06-05 2016-01-27 中兴通讯股份有限公司 一种报文传输方法、节点及路径管理服务器
CN105337785B (zh) * 2014-07-18 2018-10-02 华为技术有限公司 一种路径连通性检测方法及装置
US9838246B1 (en) * 2014-09-30 2017-12-05 Juniper Networks, Inc. Micro-loop prevention using source packet routing
US10063463B2 (en) * 2014-12-16 2018-08-28 Cisco Technology, Inc. Node protection for segment routing adjacency segments
US9787573B2 (en) * 2014-12-31 2017-10-10 Juniper Networks, Inc. Fast convergence on link failure in multi-homed Ethernet virtual private networks
US9794148B1 (en) * 2014-12-31 2017-10-17 Juniper Networks, Inc. Node protection for stacked labels
CN105871721B (zh) * 2015-01-19 2020-05-05 中兴通讯股份有限公司 一种段路由处理方法、处理装置及发送装置
CN105991437B (zh) * 2015-02-16 2020-05-15 中兴通讯股份有限公司 报文转发处理方法、装置、控制器及路由转发设备
US9774524B2 (en) * 2015-02-17 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for fast reroute, control plane and forwarding plane synchronization
US10341221B2 (en) * 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10069639B2 (en) * 2015-07-28 2018-09-04 Ciena Corporation Multicast systems and methods for segment routing
WO2017118880A1 (en) * 2016-01-08 2017-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Faster convergence on primary provider edge (pe) failure in a single-active redundancy topology
CN105704021B (zh) * 2016-01-22 2019-04-12 中国人民解放军国防科学技术大学 一种基于弹性标签的重路由方法
US20170331727A1 (en) * 2016-05-10 2017-11-16 Electronics And Telecommunications Research Institute Protection switching method and apparatus using operator's commands in dual node interconnection-based protection switching
CN107666438B (zh) * 2016-07-27 2021-10-22 中兴通讯股份有限公司 报文转发方法及装置
US10182000B2 (en) * 2016-08-03 2019-01-15 Cisco Technology, Inc. Loop detection and avoidance for segment routed traffic engineered paths
US11032197B2 (en) * 2016-09-15 2021-06-08 Cisco Technology, Inc. Reroute detection in segment routing data plane
US10554425B2 (en) * 2017-07-28 2020-02-04 Juniper Networks, Inc. Maximally redundant trees to redundant multicast source nodes for multicast protection
US10404600B2 (en) * 2017-09-12 2019-09-03 Google Llc Mechanism and apparatus for path protection when using compressed segment routing label stacks
CN107864091B (zh) * 2017-10-31 2020-04-03 新华三技术有限公司 链路故障的处理方法及装置
US10630509B2 (en) * 2018-03-30 2020-04-21 Juniper Networks, Inc. Aliasing behavior for traffic to multihomed sites in ethernet virtual private network (EVPN) networks
CN112995029B (zh) * 2018-06-30 2024-03-19 华为技术有限公司 一种传输路径故障的处理方法、装置及系统

Also Published As

Publication number Publication date
WO2020001307A1 (zh) 2020-01-02
KR102493384B1 (ko) 2023-01-27
KR20230017926A (ko) 2023-02-06
JP7152533B2 (ja) 2022-10-12
CN112995028A (zh) 2021-06-18
EP4274182A2 (en) 2023-11-08
US20210119907A1 (en) 2021-04-22
EP3800840A1 (en) 2021-04-07
US11722401B2 (en) 2023-08-08
EP3800840A4 (en) 2021-08-18
CN112995029A (zh) 2021-06-18
CN110661706B (zh) 2021-02-12
EP4274182A3 (en) 2023-12-20
US20230353490A1 (en) 2023-11-02
EP3800840B1 (en) 2024-01-03
JP2021529481A (ja) 2021-10-28
JP2022186731A (ja) 2022-12-15
CN112995029B (zh) 2024-03-19
EP3800840C0 (en) 2024-01-03
CN110661706A (zh) 2020-01-07
KR20210019102A (ko) 2021-02-19

Similar Documents

Publication Publication Date Title
KR102589958B1 (ko) 전송 경로 오류 처리 방법 및 장치, 그리고 시스템
KR102589957B1 (ko) 전송 경로 장애 처리 방법 및 장치, 그리고 시스템
EP3493491B1 (en) Packet forwarding method and device
EP1912381B1 (en) A fast convergence method of point to point services and the provider edge device thereof
WO2018019131A1 (zh) 报文转发方法及装置
US11546252B2 (en) Fast flooding topology protection
CN111224870B (zh) 一种SR-MPLS Anycast场景下的故障修复方法、设备和存储介质
US9143399B2 (en) Minimizing the number of not-via addresses

Legal Events

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