KR102544995B1 - 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템 - Google Patents

하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템 Download PDF

Info

Publication number
KR102544995B1
KR102544995B1 KR1020210019277A KR20210019277A KR102544995B1 KR 102544995 B1 KR102544995 B1 KR 102544995B1 KR 1020210019277 A KR1020210019277 A KR 1020210019277A KR 20210019277 A KR20210019277 A KR 20210019277A KR 102544995 B1 KR102544995 B1 KR 102544995B1
Authority
KR
South Korea
Prior art keywords
identifier
network
packet
type
segment
Prior art date
Application number
KR1020210019277A
Other languages
English (en)
Other versions
KR20210102107A (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 KR20210102107A publication Critical patent/KR20210102107A/ko
Priority to KR1020230075979A priority Critical patent/KR102640600B1/ko
Application granted granted Critical
Publication of KR102544995B1 publication Critical patent/KR102544995B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for 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/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/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/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers

Landscapes

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

Abstract

패킷 포워딩 방법, 장치, 및 네트워크 시스템이 제공된다. 세그먼트 라우팅 디바이스는 제1 네트워크로부터 제1 패킷을 수신한다. 제1 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자 및 제2 타입 식별자에 의해 식별되는 네트워크 디바이스들 또는 링크들은 제각기 제1 네트워크 및 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 세그먼트 라우팅 디바이스는 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 형성한다. 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함한다. 세그먼트 라우팅 디바이스는 제2 패킷을 제2 네트워크에 전송한다. 이 방법에서, 복수 타입의 네트워크 디바이스들을 포함하는 패킷 포워딩 경로가 세그먼트 리스트에 프로그래밍되어, 전역적 최적 경로를 획득하고, 스플라이싱 노드에서의 복잡한 네트워크 구성을 회피한다.

Description

하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템{METHOD FOR FORWARDING PACKET IN HYBRID NETWORK, DEVICE, AND SYSTEM}
본 출원은 통신 분야에 관한 것으로, 특히, 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 네트워크 디바이스, 및 시스템에 관한 것이다.
SR은 네트워크상에서 데이터 패킷을 포워딩하기 위해 소스 라우팅 개념에 기초하여 설계된 프로토콜이다. SR은 소스 노드상에서 데이터 패킷의 포워딩 경로를 명시적으로 지정하는 것을 지원한다. 인터넷 프로토콜 버전 6(Internet Protocol Version 6, IPv6) 데이터 평면상에 배치될 때, SR은 IPv6 세그먼트 라우팅(SRv6)이라고 지칭된다. 멀티프로토콜 레이블 스위치(Multi Protocol Label Switch, MPLS) 데이터 평면상에 배치될 때, SR은 SR-MPLS라고 지칭된다.
SRv6은 IPv6에 기초하여 세그먼트 라우팅 헤더(segment routing header, SRH)를 확장한다. SRH는 세그먼트 리스트(segmentlist)를 포함하고, 포워딩 경로상에서 인그레스(ingress) 디바이스상의 전체 포워딩 경로의 프로그래밍을 지원하기 위해 사용된다. 구체적으로, 세그먼트 리스트는 복수의 순차적으로 배열된 세그먼트 식별자(segment identifiers, SID)를 포함하고, 각각의 SID는 패킷 포워딩 경로상의 하나의 노드 또는 링크에 대응한다. 세그먼트 리스트를 포함하는 SRH는 데이터 패킷 내에 캡슐화된다. 따라서, 패킷 포워딩 프로세스에서, 세그먼트 리스트 내의 각각의 SID에 의해 표시되는 포워딩 처리가 순차적으로 수행되어, 패킷 포워딩을 구현한다.
그러나, 실제 네트워크 시나리오에서, 패킷 포워딩 경로는 보통은 SRv6을 지원하지 않는 네트워크 디바이스, 예를 들어, MPLS를 지원하는 네트워크 디바이스 또는 IPv4를 지원하는 네트워크 디바이스를 통과할 필요가 있다. 따라서, 전체 포워딩 경로는 세그먼트 리스트에서 프로그래밍될 수 없다. 종래 기술에서, 복수 타입의 네트워크 디바이스들을 포함하는 전술한 경로에 대해, 전체 경로상의 패킷 포워딩은 일반적으로 세그먼트-기반 경로 계산 및 세그먼트-바이-세그먼트 스플라이싱(segment-by-segment splicing)의 방식으로 완료된다. 결과적으로, 전역적 최적 경로가 획득될 수 없고 스플라이싱 노드에서의 구성이 복잡해지는 기술적 문제들이 야기된다.
본 출원은 전역적 최적 경로가 획득될 수 없고 스플라이싱 노드에서의 구성이 복잡해지는 기술적 문제들을 해결하기 위한 패킷 포워딩 방법, 디바이스, 및 시스템을 제공한다.
제1 양태에 따르면, 본 출원은 패킷 포워딩 방법을 제공한다. 이 방법은 세그먼트 라우팅 디바이스가 제1 네트워크로부터 제1 패킷을 수신하는 단계를 포함한다. 제1 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 세그먼트 라우팅 디바이스는 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 형성한다. 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함한다. 세그먼트 라우팅 디바이스는 제2 패킷을 제2 네트워크에 전송한다.
이 방법은 패킷 포워딩 경로상의 중간 노드에 의해 수행될 수 있다. 이 방법에서, 복수 타입의 네트워크들상에서 네트워크 디바이스들을 식별하기 위해 패킷의 세그먼트 리스트에서 복수 타입의 식별자들이 사용된다. 복수 타입의 식별자들은 세그먼트 리스트에서 하이브리드 방식으로 배열된다. 세그먼트 리스트를 직접 사용하여 패킷 포워딩을 안내하는 것을 지원하지 않는 네트워크의 인그레스 디바이스상에서, 네트워크상의 세그먼트 포워딩 경로에 대응하는 몇 개의 식별자가 세그먼트 리스트로부터 획득될 수 있고, 이러한 식별자들은 패킷의 특정 로케이션에 복사된다. 이러한 방식으로, 네트워크상의 또 다른 네트워크 디바이스는 네트워크상의 패킷 포워딩을 안내하는 특정 방식에 따라 패킷을 포워딩할 수 있다. 이 방법에 따르면, 복수 타입의 네트워크들을 통과하는 패킷 포워딩 경로가 세그먼트 리스트에 프로그래밍될 수 있고, 세그먼트 리스트는 패킷에 캡슐화되어, 세그먼트-기반 경로 계산 및 세그먼트-바이-세그먼트 스플라이싱을 회피한다. 이것은 전역적 최적 경로 계획을 용이하게 하고 네트워크 구성을 단순화한다.
가능한 구현에서, 적어도 하나의 제1 타입 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자를 포함한다. 제1 타입 식별자는 세그먼트 리스트에서의 SID 또는 압축된 세그먼트 식별자일 수 있고, SRv6 네트워크상의 네트워크 디바이스 또는 링크를 식별하기 위해 사용된다.
가능한 구현에서, 복수의 제2 타입 식별자는 서로 인접하고, 제1 타입 식별자는 복수의 제2 타입 식별자 이전에 로케이팅되거나, 또는 제1 타입 식별자는 복수의 제2 타입 식별자 이후에 로케이팅된다.
가능한 구현에서, 세그먼트 리스트는 표시 식별자를 포함하고, 표시 식별자는 제2 타입 식별자의 시작 로케이션을 표시하기 위해 사용된다. 표시 식별자를 판독할 때, 패킷 포워딩 경로상의 중간 노드는 제2 타입 식별자의 시작 로케이션을 알게 된다.
가능한 구현에서, 표시 식별자는 제1 타입 식별자 이후 및 복수의 제2 타입 식별자 이전에 로케이팅된다. 이 경우, 표시 식별자는 제1 타입 식별자와 제2 타입 식별자들 사이의 독립 식별자이다.
가능한 구현에서, 표시 식별자의 길이는 압축된 세그먼트 식별자의 길이와 동일하다. 예를 들어, 압축된 세그먼트 식별자의 길이가 32 비트일 때, 표시 식별자의 길이는 또한 32 비트일 수 있다.
가능한 구현에서, 표시 식별자는 종료 세그먼트 식별자에 포함된다. 종료 세그먼트 식별자는 적어도 하나의 제1 타입 식별자 중 하나이다. 종료 세그먼트 식별자는 복수의 제2 타입 식별자 중 제1 식별자에 인접하고, 종료 세그먼트 식별자는 제1 식별자 이전에 로케이팅된다. 이 경우, 네트워크 디바이스 또는 종료 세그먼트 식별자에 의해 표시된 링크는 SRv6 네트워크의 에지에 로케이팅된다.
가능한 구현에서, 종료 세그먼트 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자이다.
가능한 구현에서, 표시 식별자는 세그먼트 라우팅 인터넷 프로토콜 버전 6 SRv6 네트워크상의 함수를 식별하기 위해 사용되고, 표시 식별자는 종료 세그먼트 식별자의 함수 필드에 로케이팅된다. 이러한 경우, 표시 식별자는 세그먼트 식별자의 함수 필드에 로케이팅되고, SRv6 네트워크상의 함수를 표시하기 위해 사용된다.
가능한 구현에서, 복수의 제2 타입 식별자는 서로 인접한다. 복수의 제2 타입 식별자는 멀티프로토콜 레이블 스위치 MPLS 레이블을 포함한다. 제2 패킷 헤더는 MPLS 패킷 헤더이다. 제2 네트워크는 MPLS 네트워크이다.
가능한 구현에서, 제1 패킷은 종료 식별자를 추가로 포함한다. 세그먼트 라우팅 디바이스가 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 것은 세그먼트 라우팅 디바이스가 종료 식별자에 기초하여 복수의 제2 타입 식별자 중 마지막 식별자를 결정하는 것을 추가로 포함한다. 예를 들어, 패킷 포워딩 경로상의 중간 노드가 세그먼트 리스트에서의 복수의 제2 타입 식별자를 순차적으로 판독할 때, 종료 식별자가 판독되면, 중간 노드는 복수의 제2 타입 식별자가 종료되었다는 것을 알게 된다.
가능한 구현에서, 종료 식별자는 세그먼트 리스트에 포함되고, 종료 식별자는 복수의 제2 타입 식별자 이후에 로케이팅된다. 이 경우, 종료 식별자는 복수의 제2 타입 식별자 이후의 독립적인 식별자이다.
가능한 구현에서, 종료 식별자는 세그먼트 리스트에 포함되고, 종료 식별자는 복수의 제2 타입 식별자 중 마지막 식별자에 로케이팅된다.
가능한 구현에서, 제1 패킷은 양 식별자(quantity identifier)를 추가로 포함한다. 세그먼트 라우팅 디바이스가 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 것은 세그먼트 라우팅 디바이스가 양 식별자에 기초하여 복수의 제2 타입 식별자의 양을 결정하는 것을 추가로 포함한다. 예를 들어, 패킷 포워딩 경로상의 중간 노드는 양에 기초하여 세그먼트 리스트에서의 복수의 제2 타입 식별자를 순차적으로 판독하고, 양 식별자가 판독된 후에 중단한다.
가능한 구현에서, 양 식별자는 종료 세그먼트 식별자에 포함된다. 종료 세그먼트 식별자는 적어도 하나의 제1 타입 식별자 중 하나이다. 종료 세그먼트 식별자는 복수의 제2 타입 식별자 중 제1 식별자에 인접하고, 종료 세그먼트 식별자는 제1 식별자 이전에 로케이팅된다.
가능한 구현에서, 양 식별자는 복수의 제2 타입 식별자 중 제1 식별자에 포함된다.
가능한 구현에서, 복수의 제2 타입 식별자는 인터넷 프로토콜 버전 4 IPv4 어드레스를 포함한다. 제2 패킷 헤더는 IPv4 패킷 헤더이다. 제2 네트워크는 IPv4 네트워크이다.
가능한 구현에서, 복수의 제2 타입 식별자는 소스 식별자 및 목적지 식별자를 포함한다. 소스 식별자는 IPv4 터널의 소스 어드레스에 대응한다. 목적지 식별자는 IPv4 터널의 목적지 어드레스에 대응한다. 제2 타입 식별자가 IPv4 어드레스일 때, 세그먼트 리스트는 적어도 IPv4 터널의 소스 어드레스 및 목적지 어드레스를 포함한다.
가능한 구현에서, 세그먼트 리스트는 타입 식별자를 포함하고, 타입 식별자는 IPv4 터널 타입을 표시하기 위해 사용된다. IPv4 터널은 제2 패킷을 포워딩하기 위해 사용된다.
가능한 구현에서, 제1 패킷 헤더는 세그먼트 라우팅 헤더 SRH이다.
가능한 구현에서, 제1 패킷은 포인터를 추가로 포함한다. 세그먼트 라우팅 디바이스가 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 것은 세그먼트 라우팅 디바이스가 포인터에 기초하여 세그먼트 리스트에서의 복수의 제2 타입 식별자 중 제1 식별자의 로케이션을 결정하는 것을 포함한다.
가능한 구현에서, 세그먼트 리스트는 그 길이가 128 비트인 요소를 포함하고, 복수의 제2 타입 식별자 중 제1 식별자는 요소에서의 제1 식별자이다. 예를 들어, 세그먼트 리스트에서, 적어도 하나의 제1 타입 식별자 후에, 복수의 제2 타입 식별자는 세그먼트 리스트에서의 새로운 요소로 배열되기 시작하고, 이전의 제1 타입 식별자와 동일한 요소에 배열되지 않는다.
가능한 구현에서, 제2 패킷은 IPv6 패킷 헤더를 포함한다. 방법은 IPv6 패킷 헤더의 목적지 어드레스 필드에 크로스-도메인 식별자를 추가하는 단계 - 크로스-도메인 식별자는 적어도 하나의 제1 타입 식별자 중 하나이고, 크로스-도메인 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자임 - 를 추가로 포함한다. 패킷이 제2 네트워크를 통과한 후에 포워딩하기 위해 제1 네트워크에 추가로 진입할 때, 패킷 포워딩 경로상의 중간 노드는 제2 패킷 헤더를 추가하여 제2 네트워크상의 패킷의 포워딩을 안내할 뿐만 아니라, 제2 네트워크 이후의 제1 네트워크상의 노드의 SID를 패킷에서의 DA 필드에 추가하여 패킷이 제2 네트워크를 통과한 후에 제1 네트워크에의 패킷의 연속 포워딩을 안내한다.
제2 양태에 따르면, 본 출원은 패킷 포워딩 방법을 제공한다. 이 방법은 세그먼트 라우팅 디바이스가 제1 패킷을 수신하는 단계를 포함한다. 세그먼트 라우팅 디바이스는 세그먼트 리스트를 제1 패킷에 추가하여 제2 패킷을 형성한다. 세그먼트 리스트는 제2 패킷의 포워딩 경로를 표시한다. 포워딩 경로는 복수의 네트워크 디바이스를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 세그먼트 라우팅 디바이스는 제2 패킷을 전송한다.
이 방법은 패킷 포워딩 경로상의 인그레스 디바이스에 의해 수행될 수 있다. 이 방법에서, 복수 타입의 네트워크들상에서 네트워크 디바이스들을 식별하기 위해 패킷의 세그먼트 리스트에서 복수 타입의 식별자들이 사용된다. 복수 타입의 식별자들은 세그먼트 리스트에서 하이브리드 방식으로 배열된다. 세그먼트 리스트를 직접 사용하여 패킷 포워딩을 안내하는 것을 지원하지 않는 네트워크의 인그레스 디바이스상에서, 네트워크상의 세그먼트 포워딩 경로에 대응하는 몇 개의 식별자가 세그먼트 리스트로부터 획득될 수 있고, 이러한 식별자들은 패킷의 특정 로케이션에 복사된다. 이러한 방식으로, 네트워크상의 또 다른 네트워크 디바이스는 네트워크상의 패킷 포워딩을 안내하는 특정 방식에 따라 패킷을 포워딩할 수 있다. 이러한 방법에 따르면, 복수의 타입의 네트워크들을 통과하는 패킷 포워딩 경로가 세그먼트 리스트에 프로그래밍될 수 있고, 세그먼트 리스트는 패킷 포워딩 경로의 인그레스 디바이스상의 패킷에 캡슐화되어, 세그먼트-기반 경로 계산 및 세그먼트-바이-세그먼트 스플라이싱을 회피한다. 이것은 전역적 최적 경로 계획을 용이하게 하고 네트워크 구성을 단순화한다.
가능한 구현에서, 이 방법은, 세그먼트 라우팅 디바이스가 제어기로부터 제어 패킷을 수신하는 단계 - 제어 패킷은 세그먼트 리스트를 포함함 - 를 추가로 포함한다.
가능한 구현에서, 제어 패킷은 하이브리드 플래그를 포함한다. 하이브리드 플래그는 복수의 식별자가 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 제1 타입 식별자의 타입이 제2 타입 식별자의 타입과 상이하다는 것을 표시하기 위해 사용된다.
가능한 구현에서, 세그먼트 라우팅 디바이스가 제1 패킷에 세그먼트 리스트를 추가하여 제2 패킷을 형성하기 전에, 이 방법은 세그먼트 라우팅 디바이스가 포워딩 경로를 결정하는 단계, 및 세그먼트 라우팅 디바이스가 포워딩 경로에 대응하는 세그먼트 리스트를 생성하는 단계를 추가로 포함한다.
제3 양태에 따르면, 본 출원은 세그먼트 리스트 생성 방법을 제공한다. 이 방법은 제어기가 패킷의 포워딩 경로를 결정하는 단계를 포함한다. 포워딩 경로는 적어도 2개의 네트워크상에 로케이팅되는 복수의 네트워크 디바이스를 포함한다. 적어도 2개의 네트워크는 제1 네트워크 및 제2 네트워크를 포함한다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 제어기는 포워딩 경로에 대응하는 세그먼트 리스트를 생성한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크에 대응한다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제어기는 세그먼트 리스트를 포워딩 경로상의 인그레스 디바이스에 전송한다.
이 방법은 네트워크상의 제어기에 의해 수행될 수 있다. 실제 네트워크상에서, 패킷의 포워딩 경로는 제어기에 의해 생성될 수 있거나, 또는 포워딩 경로상의 인그레스 노드에 의해 생성될 수 있다. 제어기가 패킷의 포워딩 경로를 생성할 때, 제어기는 또한 포워딩 경로를 표시하는 세그먼트 리스트를 생성한다. 세그먼트 리스트는 제1 타입 식별자 및 제2 타입 식별자를 포함하는 세그먼트 리스트, 즉, 하이브리드 세그먼트 리스트 또는 일반 세그먼트 리스트일 수 있다. 제어기는 세그먼트 리스트를 포워딩 경로상의 인그레스 노드에 전송한다. 패킷을 수신한 후에, 포워딩 경로상의 인그레스 노드는 디바이스에 저장되는 몇몇 포워딩 경로들로부터 패킷의 포워딩 경로를 결정하고, 포워딩 경로에 대응하는 세그먼트 리스트를 결정한다. 세그먼트 리스트가 패킷에 추가되어 패킷의 포워딩을 안내한다.
제4 양태에 따르면, 본 출원은 제1 양태 또는 제1 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하기 위한 네트워크 디바이스를 제공한다. 구체적으로, 네트워크 디바이스는 제1 양태 또는 제1 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하도록 구성되는 유닛들을 포함한다.
제5 양태에 따르면, 본 출원은 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하기 위한 네트워크 디바이스를 제공한다. 구체적으로, 네트워크 디바이스는 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하도록 구성되는 유닛들을 포함한다.
제6 양태에 따르면, 본 출원은 제3 양태에서의 방법을 수행하기 위한 제어기를 제공한다. 구체적으로, 네트워크 디바이스는 제3 양태에서의 방법을 수행하도록 구성되는 유닛들을 포함한다.
제7 양태에 따르면, 본 출원은 네트워크 디바이스를 제공한다. 네트워크 디바이스는 프로세서, 통신 인터페이스, 및 메모리를 포함한다. 통신 인터페이스는 송수신기일 수 있다. 메모리는 프로그램 코드를 저장하도록 구성될 수 있다. 프로세서는 메모리에서의 프로그램 코드를 호출하여 제1 양태 또는 제1 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하도록 구성된다. 상세 사항은 여기서 다시 설명하지 않는다.
제8 양태에 따르면, 본 출원은 네트워크 디바이스를 제공한다. 네트워크 디바이스는 프로세서, 통신 인터페이스, 및 메모리를 포함한다. 통신 인터페이스는 송수신기일 수 있다. 메모리는 프로그램 코드를 저장하도록 구성될 수 있다. 프로세서는 메모리에서의 프로그램 코드를 호출하여 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하도록 구성된다. 상세 사항은 여기서 다시 설명하지 않는다.
제9 양태에 따르면, 본 출원은 제어기를 제공한다. 제어기는 프로세서, 통신 인터페이스, 및 메모리를 포함한다. 통신 인터페이스는 송수신기일 수 있다. 메모리는 프로그램 코드를 저장하도록 구성될 수 있다. 프로세서는 메모리에서의 프로그램 코드를 호출하여 제3 양태에서의 방법을 수행하도록 구성된다. 상세 사항은 여기서 다시 설명하지 않는다.
제10 양태에 따르면, 본 출원은 네트워크 시스템을 제공한다. 네트워크 시스템은 제4 양태 또는 제5 양태에서 제공되는 네트워크 디바이스를 포함한다. 대안적으로, 네트워크 시스템은 제7 양태 또는 제8 양태에서 제공되는 네트워크 디바이스를 포함한다.
제11 양태에 따르면, 본 출원은 네트워크 시스템을 제공한다. 네트워크 시스템은 제4 양태 또는 제5 양태에서 제공되는 네트워크 디바이스 및 제6 양태에서 제공되는 제어기를 포함한다. 대안적으로, 네트워크 시스템은 제7 양태 또는 제8 양태에서 제공되는 네트워크 디바이스 및 제9 양태에서 제공되는 제어기를 포함한다.
제12 양태에 따르면, 본 출원은 컴퓨터 판독가능 저장 매체를 제공한다. 컴퓨터 판독가능 저장 매체는 명령어를 저장한다. 이러한 명령어가 컴퓨터상에서 실행될 때, 컴퓨터는 전술한 양태들에서의 방법들을 수행하는 것이 가능하게 된다.
제13 양태에 따르면, 본 출원은 컴퓨터 프로그램 명령어를 포함하는 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품이 네트워크 디바이스상에서 실행될 때, 네트워크 디바이스는 제1 양태, 제2 양태, 제3 양태, 제1 양태의 가능한 구현들 중 어느 하나, 또는 제2 양태의 가능한 구현들 중 어느 하나에서 제공되는 방법을 수행할 수 있게 된다.
제14 양태에 따르면, 본 출원은 메모리 및 프로세서를 포함하는 칩을 제공한다. 메모리는 컴퓨터 프로그램을 저장하도록 구성된다. 프로세서는 메모리로부터 컴퓨터 프로그램을 호출하고 컴퓨터 프로그램을 실행하여, 제1 양태 및 제1 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하거나, 또는 프로세서는 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하거나, 또는 프로세서는 제3 양태에서의 방법을 수행하도록 구성된다.
선택적으로, 칩은 프로세서만을 포함하고, 프로세서는 메모리에 저장된 컴퓨터 프로그램을 판독 및 실행하도록 구성된다. 컴퓨터 프로그램이 실행될 때, 프로세서는 제1 양태 또는 제1 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하거나, 또는 프로세서는 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하거나, 또는 프로세서는 제3 양태에서의 방법을 수행한다.
제15 양태에 따르면, 본 출원은 네트워크 노드를 제공한다. 네트워크 노드는 메인 제어 보드 및 인터페이스 보드를 포함한다. 메인 제어 보드는 제1 프로세서 및 제1 메모리를 포함한다. 인터페이스 보드는 제2 프로세서, 제2 메모리, 및 인터페이스 카드를 포함한다. 메인 제어 보드 및 인터페이스 보드는 결합된다.
제1 메모리는 프로그램 코드를 저장하도록 구성될 수 있다. 제1 프로세서는 제1 메모리에서의 프로그램 코드를 호출하여 다음의 동작: 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 형성하는 동작을 수행하도록 구성되며, 여기서 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함한다.
제2 메모리는 프로그램 코드를 저장하도록 구성될 수 있다. 제2 프로세서는 제2 메모리에서의 프로그램 코드를 호출하여, 인터페이스 카드를 트리거하여 다음의 동작들: 제1 네트워크로부터 제1 패킷을 수신하는 동작 - 제1 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함하고, 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용되고, 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하고, 제1 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제1 네트워크상에 있고, 제2 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제2 네트워크상에 있고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이함 -; 및 제2 패킷을 제2 네트워크에 전송하는 동작을 수행하도록 구성된다.
가능한 구현에서, 메인 제어 보드와 인터페이스 보드 사이에 프로세스간 통신(inter-process communication, IPC) 채널이 확립되고, 메인 제어 보드 및 인터페이스 보드는 IPC 채널을 통해 서로 통신한다.
제16 양태에 따르면, 네트워크 노드가 제공된다. 네트워크 노드는 메인 제어 보드 및 인터페이스 보드를 포함한다. 메인 제어 보드는 제1 프로세서 및 제1 메모리를 포함한다. 인터페이스 보드는 제2 프로세서, 제2 메모리, 및 인터페이스 카드를 포함한다. 메인 제어 보드 및 인터페이스 보드는 결합된다. 제1 메모리는 프로그램 코드를 저장하도록 구성될 수 있다. 제1 프로세서는 제1 메모리에서의 프로그램 코드를 호출하여 다음의 동작: 세그먼트 리스트를 제1 패킷에 추가하여 제2 패킷을 형성하는 동작을 수행하도록 구성된다. 세그먼트 리스트는 제2 패킷의 포워딩 경로를 표시한다. 포워딩 경로는 복수의 네트워크 디바이스를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다.
제2 메모리는 프로그램 코드를 저장하도록 구성될 수 있다. 제2 프로세서는 제2 메모리에서의 프로그램 코드를 호출하여, 인터페이스 카드를 트리거하여 다음의 동작들: 제1 패킷을 수신하는 동작 및 제2 패킷을 전송하는 동작을 수행하도록 구성된다.
가능한 구현에서, 메인 제어 보드와 인터페이스 보드 사이에 프로세스간 통신(inter-process communication, IPC) 채널이 확립되고, 메인 제어 보드 및 인터페이스 보드는 IPC 채널을 통해 서로 통신한다.
본 출원의 기술적인 해결책을 더 명확하게 설명하기 위해서, 이하에서는 실시예를 설명하기 위한 첨부 도면을 간략하게 설명한다. 명백하게도, 다음의 설명에서의 첨부 도면들은 단지 본 출원의 일부 실시예들만을 도시하고, 본 기술분야의 통상의 기술자들은 창의적인 노력 없이 이러한 첨부 도면들로부터 다른 기술적 해결책들 및 첨부 도면들을 도출할 수 있다.
도 1은 본 출원의 실시예에 따른 응용 시나리오의 개략도이다.
도 2는 본 출원의 실시예에 따른 SID의 포맷의 개략도이다.
도 3은 본 출원의 실시예에 따른 패킷의 구조의 개략도이다.
도 4는 본 출원의 실시예에 따른 응용 시나리오의 개략도이다.
도 5는 본 출원의 실시예에 따른 패킷의 구조의 개략도이다.
도 6은 본 출원의 실시예에 따른 패킷의 구조의 개략도이다.
도 7은 본 출원의 실시예에 따른 패킷의 구조의 개략도이다.
도 8은 본 출원의 실시예에 따른 패킷의 구조의 개략도이다.
도 9는 본 출원의 실시예에 따른 패킷의 구조의 개략도이다.
도 10은 본 출원의 실시예에 따른 패킷의 구조의 개략도이다.
도 11은 본 출원의 실시예에 따른 패킷 처리 방법의 흐름도이다.
도 12는 본 출원의 실시예에 따른 패킷 처리 방법의 흐름도이다.
도 13은 본 출원의 실시예에 따른 네트워크 디바이스의 구조의 개략도이다.
도 14는 본 출원의 실시예에 따른 네트워크 디바이스의 구조의 개략도이다.
도 15는 본 출원의 실시예에 따른 네트워크 디바이스의 구조의 개략도이다.
도 16은 본 출원의 실시예에 따른 네트워크 디바이스의 구조의 개략도이다.
도 17은 본 출원의 실시예에 따른 제어기의 구조의 개략도이다.
도 18은 본 출원의 실시예에 따른 네트워크 시스템의 구조의 개략도이다.
이하에서는 첨부 도면들을 참조하여 본 출원의 실시예들을 설명한다.
도 1은 본 출원의 실시예에 따른 가능한 응용 시나리오이다. 응용 시나리오는 구체적으로 네트워크 1, 네트워크 2, 및 네트워크 3을 포함하는 상이한 타입들의 네트워크들을 포함한다. 각각의 네트워크는 복수의 네트워크 디바이스를 포함하고, 이러한 네트워크 디바이스들 각각은 스위치, 라우터, 또는 포워더(forwarder)일 수 있다. 본 출원의 이 실시예에서의 네트워크 디바이스는 또한 네트워크 노드 또는 노드라고 지칭될 수 있다. 구체적으로, 네트워크 1은 노드 A, 노드 B, 노드 C, 및 노드 D를 포함한다. 네트워크 2는 노드 G 및 노드 H를 포함한다. 노드 E 및 노드 F는 네트워크 1과 네트워크 2 사이의 디바이스들이다. 노드 E 및 노드 F는 네트워크 1 및 네트워크 2 둘 모두를 지원한다. 네트워크 3은 노드 K 및 노드 L을 포함한다. 노드 I 및 노드 J는 네트워크 2와 네트워크 3 사이의 디바이스들이다. 노드 I 및 노드 J는 네트워크 2 및 네트워크 3 둘 모두를 지원한다.
네트워크는 도 1에 도시되지 않은 제어기를 추가로 포함할 수 있다. 제어기는 노드들 A 내지 L에 접속될 수 있다. 제어기는 네트워크 구성 정보를 포함하는 제어 패킷을 노드들 A 내지 L에 전송할 수 있다. 제어기는 각각의 네트워크상의 패킷의 포워딩 경로를 추가로 계산하고, 포워딩 경로에 대응하는 세그먼트 리스트를 생성하고, 세그먼트 리스트를 각각의 네트워크의 인그레스 디바이스에 전송할 수 있다. 구체적으로, 네트워크 1의 인그레스 디바이스는 노드 A이고; 네트워크 2의 인그레스 디바이스는 노드 E 또는 노드 F이고; 및 네트워크 3의 인그레스 디바이스는 노드 I 또는 노드 J이다. 각각의 네트워크의 인그레스 디바이스는 또한 네트워크상의 패킷의 포워딩 경로를 계산하고, 포워딩 경로에 대응하는 세그먼트 리스트를 생성할 수 있다. 각각의 네트워크의 인그레스 디바이스는 획득된 세그먼트 리스트를 패킷에 추가로 캡슐화하여 패킷 포워딩을 안내할 수 있다.
선택적으로, 네트워크 1의 타입은 네트워크 3의 타입과 동일하고, 네트워크 2의 타입은 네트워크 1 및 네트워크 3의 타입과 상이하다. 예를 들어, 네트워크 1 및 네트워크 3 각각은 SRv6 네트워크이고, 네트워크 2는 MPLS 네트워크 또는 IPv4 네트워크이다. 구체적으로, 노드 A, 노드 B, 노드 C, 및 노드 D 각각은 SRv6을 지원하는 네트워크 디바이스일 수 있다. 노드 G 및 노드 H 각각은 MPLS 또는 IPv4를 지원하는 네트워크 디바이스이다. 노드 K 및 노드 L 각각은 SRv6을 지원하는 네트워크 디바이스일 수 있다. 노드 E, 노드 F, 노드 I, 및 노드 J 각각은 SRv6 및 MPLS 또는 IPv4 둘 모두를 지원하는 네트워크 디바이스이다. SRv6을 지원하는 네트워크 디바이스는 또한 세그먼트 라우팅 디바이스라고 지칭될 수 있다. 다시 말해서, 노드 A, 노드 B, 노드 C, 노드 D, 노드 E, 노드 F, 노드 I, 및 노드 J 각각은 또한 세그먼트 라우팅 디바이스라고 지칭될 수 있다.
SR 네트워크상에서, 패킷 처리 프로세스는 복수의 세그먼트를 포함하고, 각각의 세그먼트는 패킷을 처리하기 위한 명령어 또는 명령어 세트이다. SRv6 네트워크상에서, 각각의 세그먼트는 대응하는 세그먼트 식별자, 즉 SID를 갖는다. 세그먼트 식별자는 2개의 타입: 노드 세그먼트 식별자(node SID) 및 인접 세그먼트 식별자(adjacent SID)를 포함한다. 도 2는 SRv6 네트워크상의 SID의 포맷을 도시한다. 도 2에 도시된 바와 같이, 각각의 SID는 로케이터(Locator) 필드 및 함수(Function) 필드를 포함할 수 있다.
SID의 로케이터 필드는 세그먼트에 포함된 명령어 또는 명령어 세트를 실행하는 특정 네트워크 디바이스를 로케이팅하기 위해 사용된다. 로케이터 필드는 블록(BLOCK) 부분 및 노드 ID(Node ID) 부분을 포함한다. SRv6 네트워크 도메인에서, 네트워크 디바이스들의 SID들의 블록 부분들은 동일할 수 있다. SRv6 네트워크 도메인에서, 각각의 네트워크 디바이스의 SID의 노드 ID 부분은 상이하고, 각각의 노드 ID 부분은 도메인에서 네트워크 디바이스를 고유하게 결정하기 위해 사용된다. 특정 SID에 대해, SID의 노드 ID 부분에 의해 고유하게 결정되는 네트워크 디바이스는 SID에 의해 식별되는 세그먼트를 실행하는 네트워크 디바이스이다.
SID의 함수 필드는 세그먼트에 포함된 명령어 또는 명령어 세트의 특정 콘텐츠를 표시하기 위해 사용된다. 다시 말해서, 함수 필드는 SRv6 네트워크상의 함수(Function)를 표시하기 위해 사용된다. SRv6 네트워크상의 함수는 인수를 더 수반할 수 있고, 인수는 SID에서 인수(Argument) 필드(도 2에 도시되지 않음)에 의해 표시된다. 함수가 인수를 수반하지 않는 경우, SID는 인수 필드를 포함하지 않을 수 있다.
일반적으로, SRv6 네트워크상의 SID의 총 길이는 128 비트이다. 로케이터 필드 및 함수 필드는 개별적으로 특정 길이들을 갖고, 이러한 특정 길이들은 네트워크 설정을 통해 변경될 수 있다. 예를 들어, 로케이터 필드는 48 비트이고, 함수 필드는 80 비트이다. 대안적으로, 로케이터 필드는 64 비트이고, 함수 필드는 64 비트이다. 대안적으로, 로케이터 필드는 48 비트이고, 함수 필드는 64 비트이고, 인수 필드는 16 비트이다.
세그먼트 리스트는 복수의 SID를 포함한다. 도 3은 SRv6 네트워크상의 패킷의 포맷을 도시한다. 도 3에 도시된 바와 같이, 패킷의 패킷 헤더는 IPv6 패킷 헤더 및 SRH를 포함한다. IPv6 패킷 헤더는 목적지 어드레스(destination address, DA) 필드를 포함한다. SRH는 세그먼트 리스트를 포함하고, 세그먼트 리스트는 복수의 순차적으로 배열된 SID를 포함한다. 이런 SID들은 노드 세그먼트 식별자들, 인접 세그먼트 식별자들, 또는 노드 세그먼트 식별자와 인접 세그먼트 식별자의 조합일 수 있다.
세그먼트 리스트는 SRv6 네트워크상의 패킷의 포워딩 경로상의 인그레스 노드에 의해 패킷에 캡슐화될 수 있다. 패킷의 포워딩 경로상의 후속 노드는 패킷에서의 세그먼트 리스트에 기초하여 패킷을 처리할 수 있다. 도 1에 도시된 응용 시나리오를 참조하면, 패킷이 네트워크 1상에서 포워딩될 필요가 있을 때, 패킷의 포워딩 경로는 노드 A, 노드 B, 노드 C, 및 노드 D를 순차적으로 통과하여 노드 E에 도달할 수 있다. 포워딩 경로에 대응하는 세그먼트 리스트는 노드 A에 의해 패킷에 캡슐화되고, 노드 B, 노드 C, 노드 D, 및 노드 E는 패킷에서의 세그먼트 리스트에 기초하여 패킷을 처리한다. 구체적으로, 패킷은 포워딩 경로상의 인그레스 노드에 의해 전송되고, 포워딩 경로상의 특정 노드에 의해 수신된다. 노드가 패킷의 IPv6 패킷 헤더에서의 DA 필드가 노드의 SID를 포함하는 것을 결정하면, 노드는 SID에 의해 식별되는 세그먼트에 대응하는 명령어 세트에 따라 패킷을 처리한다. 패킷을 처리하는 구체적인 방식은, 예를 들어, 패킷을 포워딩하는 것일 수 있다. 네트워크 디바이스는 또한 DA 필드를 업데이트할 필요가 있다. DA 필드를 업데이트하는 프로세스에서, SRH에서의 좌측 세그먼트(segment left, SL) 포인터가 사용될 필요가 있다. 도 3에 도시된 바와 같이, 세그먼트 리스트는 복수의 순차적으로 배열된 SID: 세그먼트 리스트 [0] 내지 세그먼트 리스트 [n]을 포함한다. 복수의 SID는 패킷의 포워딩 경로상의 복수의 네트워크 디바이스에 개별적으로 대응하고, 복수의 네트워크 디바이스는 복수의 세그먼트에 대응하는 명령어 세트들을 개별적으로 실행한다. SL 포인터는 세그먼트 리스트에서의 복수의 SID를 순차적으로 포인팅할 수 있다. 구체적으로, 패킷 처리 프로세스에서, 일단 세그먼트가 실행되면 SL 포인터의 값이 업데이트된다. 각각의 업데이트 후에, 세그먼트 리스트에서의 SL 포인터에 의해 포인팅된 로케이션은 하나의 SID의 길이, 즉 128 비트만큼 오프셋된다. 세그먼트 리스트에서의 복수의 SID에 의해 표시된 복수의 세그먼트가 순차적으로 실행됨에 따라, SL 포인터의 값은 연속적으로 업데이트된다. 따라서, SL 포인터는 세그먼트 리스트에서의 나머지 처리될 세그먼트들의 양을 표시하기 위해 사용된다. 다시 말해서, SL 포인터의 각각의 값은 세그먼트 리스트에서의 나머지 처리될 세그먼트들의 특정 양에 대응하고, SL 포인터는 항상 현재 처리될 SID를 포인팅한다. 또한, 복수의 SID에 의해 표시된 세그먼트들의 시퀀스에 따라, 패킷 처리 프로세스에서, 복수의 SID는 세그먼트 리스트에서 내림차순으로 배열된다. 구체적으로, 먼저 실행되는 세그먼트의 SID가 세그먼트 리스트의 하단에 배열되고, 후속하여 실행되는 세그먼트의 SID가 순차적으로 위쪽으로 배열되고, 마지막으로 실행되는 세그먼트의 SID가 세그먼트 리스트의 상단에 배열된다. 도 3에서, 세그먼트 리스트 [n]은 처음 실행되는 세그먼트를 나타내고, 세그먼트 리스트 [0]은 마지막 실행되는 세그먼트를 나타낸다. 예를 들어, SL 포인터의 값이 3인 것은 세그먼트 리스트에서의 나머지 처리될 세그먼트들의 양이 4라는 것을 표시한다. 대안적으로, SL 포인터에 의해 포인팅된 현재 처리될 SID는 하단에서 상단으로 카운팅된 제4 SID라는 것이 또한 이해될 수 있다. SL 포인터의 값이 0인 것은 나머지 처리될 세그먼트들의 양이 1인 것을 표시한다. 대안적으로, SL 포인터에 의해 포인팅된 현재 처리될 SID는 하단에서 상단으로 카운팅된 마지막 SID, 즉 도 3의 세그먼트 리스트 [0]인 것이 또한 이해될 수 있다. SL 포인터에 기초하여 현재 처리될 SID를 결정한 후에, 네트워크 디바이스는 SID를 IPv6 패킷 헤더에서의 DA 필드에 복사하여, DA 필드에서의 콘텐츠에 기초하여 패킷을 후속하여 처리한다. 패킷을 처리하는 구체적인 방식은, 예를 들어, 패킷을 포워딩하는 것일 수 있다.
MPLS 네트워크상에서, 데이터는 포워딩 프로세스에서의 처리 방식에 따라 포워딩 등가 클래스(forwarding equivalence class, FEC)로 분류된다. FEC의 데이터 흐름에 대해, 포워딩 경로상의 노드들은 상이한 MPLS 레이블들을 할당받고, 각각의 MPLS 레이블은 노드상의 포워딩 처리 방식을 나타내기 위해 사용된다. MPLS 네트워크상의 인그레스 디바이스는 대응하는 포워딩 경로상의 후속 네트워크 디바이스들의 MPLS 레이블들을 포워딩 경로상의 네트워크 디바이스들의 시퀀스에서의 데이터 패킷에 순차적으로 캡슐화한다. 포워딩 경로상의 노드들은 MPLS 레이블들의 시퀀스로 데이터 패킷을 순차적으로 포워딩한다. 도 1에 도시된 응용 시나리오를 참조하면, 네트워크 2는 MPLS 네트워크일 수 있다. 패킷이 네트워크 2상에서 포워딩될 필요가 있을 때, 패킷의 포워딩 경로는 노드 E, 노드 G, 및 노드 H를 순차적으로 통과하여 노드 I에 도달할 수 있다. 구체적으로, MPLS 네트워크상의 패킷의 포워딩 경로상의 노드들은 노드 E, 노드 G, 노드 H, 및 노드 I를 포함한다. 노드 E는 포워딩 경로상의 노드들의 시퀀스에서의 데이터 패킷에 노드 G, 노드 H, 및 노드 I에 대응하는 MPLS 레이블들을 순차적으로 캡슐화하여 패킷 포워딩을 안내한다.
IPv4 네트워크상에서, 패킷은 터널을 통해 포워딩될 수 있다. 터널의 소스 노드는 패킷에 포함된 정보에 기초하여 패킷을 터널 내로 매핑하여, 패킷을 포워딩한다. 도 1에 도시된 응용 시나리오를 참조하면, 네트워크 2는 IPv4 네트워크일 수 있다. 노드 F와 노드 J 사이에 터널이 존재하고, 터널은 노드 G와 노드 H를 순차적으로 통과한다. 터널의 타입은 IPv4를 통한 IPv6(IPv6 over IPv4, 6 오버 4) 터널, 가상 확장가능 로컬 영역 네트워크(Virtual eXtensible Local Area Network, VXLAN) 터널, 일반 라우팅 캡슐화(Generic Routing Encapsulation, GRE) 터널 등일 수 있다. 패킷이 네트워크 2상에서 포워딩될 필요가 있을 때, 패킷은 패킷에 포함되는 정보에 기초하여 노드 F에서 터널 내로 매핑되고, 노드 G 및 노드 H를 통과한 후에 노드 J에 포워딩된다.
패킷 포워딩을 안내하는 방식은 상이한 타입들의 네트워크들에 대해 상이하다는 것을 알 수 있다. 그러나, 일부 시나리오들에서, SRv6 패킷은 포워딩을 위해 또 다른 타입의 네트워크를 거칠 필요가 있다. 예를 들어, 광역 네트워크에서의 소프트웨어 정의 네트워킹(software-defined networking in a wide area network, SD-WAN) 시나리오에서, SRv6 패킷은 포워딩을 위해 IPv4 네트워크를 거칠 필요가 있다. MPLS 네트워크 또는 IPv4 네트워크와 같은 비-SRv6 네트워크상에서, SRH에서의 세그먼트 리스트는 네트워크상의 패킷 포워딩을 안내하기 위해 사용될 수 없다. 따라서, 전체 경로상에서 패킷을 포워딩하기 위해 세그먼트-기반 경로 계산 및 세그먼트-바이-세그먼트 스플라이싱이 요구된다. 예를 들어, 도 1에 도시된 응용 시나리오에서, 네트워크 1 및 네트워크 3 각각은 SRv6 네트워크이고, 네트워크 2는 MPLS 네트워크이고, 패킷은 노드 A로부터 노드 L로 포워딩될 필요가 있다. 노드 A는 네트워크 1상의 패킷의 포워딩 경로에 대응하는 세그먼트 리스트 1을 획득한다. 세그먼트 리스트 1은 노드 B, 노드 C, 노드 D, 및 노드 E의 SID들을 포함할 수 있다. 전술한 설명을 참조하면, 노드 A는 세그먼트 리스트 1을 패킷에 캡슐화하고, 포워딩 경로상의 각각의 노드는 세그먼트 리스트 1에 기초하여 패킷을 포워딩한다. 이러한 방식으로, 패킷은 노드 E에 도달한다. 노드 E에서, 패킷은 SRv6 네트워크를 떠나 MPLS 네트워크에 진입한다. 노드 E는 네트워크 2상의 패킷의 포워딩 경로에 대응하는 복수의 MPLS 레이블을 획득한다. MPLS 레이블들은 노드 G, 노드 H, 및 노드 I에 대응하는 MPLS 레이블들을 구체적으로 포함한다. 노드 E는 포워딩 경로상의 노드들의 시퀀스에서의 데이터 패킷에 이러한 MPLS 레이블들을 순차적으로 캡슐화한다. 포워딩 경로상의 각각의 노드는 MPLS 레이블들에 기초하여 패킷을 포워딩한다. 이러한 방식으로, 패킷은 노드 I에 도달한다. 네트워크 1상의 것과 유사하게, 노드 I는 네트워크 3상의 패킷의 포워딩 경로에 대응하는 세그먼트 리스트 2를 획득한다. 세그먼트 리스트 2는 노드 K 및 노드 L의 SID들을 포함할 수 있다. 노드 I는 세그먼트 리스트 2를 패킷에 캡슐화하고, 포워딩 경로상의 각각의 노드는 세그먼트 리스트 2에 기초하여 패킷을 포워딩한다. 이러한 방식으로, 패킷은 노드 L에 도달한다. 전술한 세그먼트-기반 경로 계산 및 세그먼트-바이-세그먼트 스플라이싱 방식에서, 각각의 네트워크의 인그레스 디바이스는 네트워크상의 패킷의 포워딩 경로를 획득할 필요가 있고, 네트워크와 인접 네트워크 사이의 노드를 통해 2개의 인접 포워딩 경로를 스플라이싱하여, 완전한 패킷 포워딩 경로를 점진적으로 형성한다. 그러나, 포워딩 경로들은 개별적으로 계산되고 전역적으로 계획되지 않기 때문에, 최종적으로 획득된 완전한 포워딩 경로는 전역적 최적 포워딩 경로가 아닐 수 있고, 포워딩 경로들의 서비스 레벨 협약(service level agreement, SLA)들은 통합되기 어렵다. 그에 부가하여, 인접한 네트워크들 사이의 노드들에서 경로 스플라이싱을 구현하기 위해, 이 노드들에 대해 부가의 구성이 수행될 필요가 있다. 이는 작업 부하를 증가시킨다.
본 출원의 실시예는 패킷 포워딩 방법, 및 이 방법에 기초하는 디바이스 및 시스템을 제공한다. 이러한 방법, 디바이스, 및 시스템은 동일한 발명 개념에 기초한다. 이러한 방법은 패킷 포워딩 경로상의 각각의 노드에 적용된다. 이 방법에서, 패킷 포워딩 경로상의 인그레스 디바이스는 복수 타입의 식별자를 이용하여 복수 타입의 네트워크상의 네트워크 디바이스들을 식별하고, 복수 타입의 식별자들을 세그먼트 리스트에 하이브리드 방식으로 배열한다. 세그먼트 리스트를 직접 사용하여 패킷 포워딩을 안내하는 것을 지원하지 않는 네트워크의 인그레스 디바이스상에서, 네트워크상의 세그먼트 포워딩 경로에 대응하는 몇 개의 식별자가 세그먼트 리스트로부터 획득될 수 있고, 이러한 식별자들은 패킷의 특정 로케이션에 복사된다. 이러한 방식으로, 네트워크상의 또 다른 네트워크 디바이스는 네트워크상의 패킷 포워딩을 안내하는 특정 방식에 따라 패킷을 포워딩할 수 있다. 이 방법에 따르면, 복수 타입의 네트워크들을 통과하는 패킷 포워딩 경로가 세그먼트 리스트에 프로그래밍될 수 있고, 세그먼트 리스트는 패킷 포워딩 경로상의 제1 노드상의 패킷에 캡슐화되어, 세그먼트-기반 경로 계산 및 세그먼트-바이-세그먼트 스플라이싱을 회피한다. 이것은 전역적 최적 경로 계획을 용이하게 하고 네트워크 구성을 단순화한다.
도 4에 도시된 응용 시나리오를 참조하면, 네트워크 1 및 네트워크 3 각각은 SRv6 네트워크이고, 네트워크 2는 MPLS 네트워크이거나, 또는 네트워크 2는 IPv4 네트워크이다. 노드 A, 노드 B, 노드 C, 및 노드 D 각각은 SRv6을 지원하는 네트워크 디바이스이다. 노드 G 및 노드 H 각각은 MPLS 또는 IPv4를 지원하는 네트워크 디바이스이다. 노드 K 및 노드 L 각각은 SRv6을 지원하는 네트워크 디바이스이다. 노드 E, 노드 F, 노드 I, 및 노드 J 각각은 SRv6 및 MPLS 둘 모두를 지원하는 네트워크 디바이스이거나, 또는 노드 E, 노드 F, 노드 I, 및 노드 J 각각은 SRv6 및 IPv4 둘 모두를 지원하는 네트워크 디바이스이다. 네트워크는 도 4에 도시되지 않은 제어기를 추가로 포함할 수 있다. 노드 A는 패킷을 노드 L에 전송한다. 도 11은 방법의 흐름도이다. 이 방법은 네트워크 디바이스(101) 및 네트워크 디바이스(102)에 적용된다. 네트워크 디바이스(101)는 패킷 포워딩 경로상의 인그레스 디바이스일 수 있고, 패킷 포워딩 경로를 표시하는 세그먼트 리스트를 패킷에 추가하도록 구성된다. 예를 들어, 네트워크 디바이스(101)는 도 4에 도시된 노드 A이다. 네트워크 디바이스(102)는 포워딩 경로상의 노드, 예를 들어, 도 4에 도시된 노드 F일 수 있다. 이 방법은 다음 단계들을 포함한다.
S110: 네트워크 디바이스(101)는 제1 패킷을 수신한다.
네트워크 디바이스(101)는 도 4의 노드 A일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 노드 A는 패킷을 수신하고, 패킷은 제1 패킷이라고 지칭될 수 있다. 노드 A는 패킷 포워딩 경로상의 인그레스 디바이스이고, 노드 A는 또한 SRv6 네트워크상의 인그레스 디바이스이다. 패킷은 노드 J에 전송될 필요가 있다. 노드 A는 패킷의 포워딩 경로를 획득한다. 포워딩 경로는 복수의 네트워크 디바이스를 포함한다. 도 4에 도시된 바와 같이, 포워딩 경로는 노드 B, 노드 C, 노드 D, 노드 F, 노드 G, 노드 H, 노드 J, 및 노드 K를 통과하여 노드 L에 도달한다. 포워딩 경로는 네트워크 1, 네트워크 2, 및 네트워크 3상에 로케이팅되는 복수의 네트워크 디바이스를 포함하고, 네트워크 1 및 네트워크 3의 타입은 네트워크 2의 타입과 상이하다는 점을 알 수 있다.
선택적으로, 패킷 포워딩 경로가 제어기에 의해 생성되고, 세그먼트 리스트가 제어기에 의해 생성된다. 제어기는 생성된 세그먼트 리스트를 노드 A에 전송한다. 구체적으로, 제어기는 제어 패킷을 노드 A에 전송하고, 제어 패킷은 세그먼트 리스트를 포함한다.
선택적으로, 패킷 포워딩 경로는 노드 A에 의해 생성되고, 세그먼트 리스트는 노드 A에 의해 생성된다. 노드 A는 패킷 포워딩 경로를 결정하고, 포워딩 경로에 대응하는 세그먼트 리스트를 생성한다.
S120: 네트워크 디바이스(101)는 제1 패킷에 세그먼트 리스트를 추가하여 제2 패킷을 형성하는데, 여기서 세그먼트 리스트는 제2 패킷의 포워딩 경로를 표시하고, 포워딩 경로는 복수의 네트워크 디바이스를 포함하고, 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크를 식별하기 위해 사용되고, 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하고, 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있고, 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이한다.
네트워크 디바이스(101)는 도 4의 노드 A일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 노드 A는 패킷 포워딩 경로를 나타내는 세그먼트 리스트를 패킷에 추가한다. 세그먼트 리스트가 추가되는 패킷은 제2 패킷이라고 지칭될 수 있다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나를 식별하기 위해 사용될 수 있거나, 또는 포워딩 경로상의 하나의 링크를 식별하기 위해 사용될 수 있다. 구체적으로, 노드 A는 SRH를 패킷에 추가하고, SRH는 세그먼트 리스트를 포함한다.
본 출원의 이 실시예에서, 세그먼트 리스트에서의 복수의 식별자는 적어도 2가지 타입의 식별자: 제1 타입 식별자 및 제2 타입 식별자를 포함할 수 있다. 제1 타입 식별자는 SRv6 네트워크상의 패킷의 포워딩 경로의 세그먼트 식별자 또는 압축된 세그먼트 식별자를 식별하기 위해 사용되고, 제2 타입 식별자는 비-SRv6 네트워크상의 패킷의 포워딩 경로를 식별하기 위해 사용된다. 이 경우, 세그먼트 리스트는 또한 하이브리드 세그먼트 리스트 또는 일반 세그먼트 리스트라고 지칭될 수 있다. 일반 세그먼트 리스트를 포함하는 SRH는 일반 세그먼트 라우팅 헤더(generic segment routing header, generic SRH, G-SRH)라고 지칭될 수 있다. 구체적으로, 세그먼트 리스트에서의 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 복수의 제2 타입 식별자에 의해 식별되는 네트워크 디바이스들 또는 링크들은 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 선택적으로, 복수의 제2 타입 식별자는 서로 인접한다. 선택적으로, 복수의 제1 타입 식별자가 존재할 수 있다.
도 4에 도시된 응용 시나리오를 참조하면, 제1 네트워크는 SRv6 네트워크일 수 있다. 제1 네트워크는 네트워크 1 및 네트워크 3을 포함할 수 있다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 네트워크 1 및 네트워크 3상에 있다. 제1 타입 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자이다. 제2 네트워크는 MPLS 네트워크 또는 IPv4 네트워크일 수 있다. 제2 네트워크는 네트워크 2일 수 있다. 복수의 제2 타입 식별자에 의해 식별되는 네트워크 디바이스들 또는 링크들은 네트워크 2상에 있다. 제2 타입의 식별자는 MPLS 레이블 또는 IPv4 어드레스를 포함한다.
그 길이가 128 비트보다 작은 압축된 세그먼트 식별자에 대한 도입은 2019년 7월의 "Compressed SRv6 Network Programming"이라는 제목의 draft-li-spring-compressed-srv6-np-00에서 및 2019년 9월 27일자로 출원된 특허 문서 제201910925974.3호에서 찾아볼 수 있으며, 이 문서들은 그 전체가 마치 진술되기나 한 것처럼 참조에 의해 본 명세서에 포함된다.
예를 들어, 압축된 세그먼트 식별자의 길이는 32 비트이며, 이는 MPLS 레이블의 길이 또는 IPv4 어드레스의 길이와 동일하다.
네트워크 2가 MPLS 네트워크인 경우, 세그먼트 리스트를 포함하는 패킷이 도 5에 도시될 수 있다. 세그먼트 리스트는 SRH에 포함된다. 세그먼트 리스트는 2가지 타입의 식별자를 포함한다. 제1 타입 식별자는 복수의 SID이고, 구체적으로 노드 B, 노드 C, 노드 D, 노드 F, 노드 K, 및 노드 L의 SID들을 포함한다. 이들 SID들은 제각기 SID B, SID C, SID D, SID F, SID K, 및 SID L로 표현된다. 제2 타입 식별자는 복수의 인접 MPLS 레이블이고, 구체적으로 노드 G, 노드 H, 및 노드 J의 MPLS 레이블들을 포함한다. 이러한 MPLS 레이블들은 제각기 MPLS G, MPLS H, 및 MPLS J로서 표현된다.
SRv6 네트워크상의 포워딩 경로는 SID B, SID C, SID D, SID K, 및 SID L과 같은 SID들에 의해 표시된다. MPLS 네트워크상의 포워딩 경로는 MPLS G 및 MPLS H와 같은 MPLS 레이블들에 의해 표시된다. SRv6 네트워크와 MPLS 네트워크 사이의 포워딩 경로는 SID 또는 MPLS 레이블, 예를 들어, SID F 및 MPLS J에 의해 표시될 수 있다.
모든 노드들에 대응하는 식별자들은 포워딩 경로상의 이러한 노드들의 배열 시퀀스로 순차적으로 배열된다. 전술한 설명을 참조하면, SID들은 세그먼트 리스트에서 내림차순으로 배열된다. 따라서, 모든 노드들에 대응하는 식별자들이 또한 세그먼트 리스트에서 내림차순으로 배열된다. 구체적으로, SID B가 세그먼트 리스트의 하단에 배열된다는 것은 SID B가 세그먼트 리스트의 맨앞에 배열된다는 것으로도 지칭될 수 있다. SID C, SID D, 및 SID F가 순차적으로 상향으로 배열된다는 것은 SID C, SID D, 및 SID F가 순차적으로 하향으로 배열된다는 것이라고 지칭될 수 있다. 복수의 MPLS 레이블은 전체적으로 SID F 뒤에 배열되고, 그 후 SID K 및 SID L은 순차적으로 복수의 MPLS 레이블 뒤에 배열된다. 복수의 MPLS 레이블은 도 5에 도시된 바와 같이 포워딩 경로상의 노드들의 배열 시퀀스로 오름차순으로 배열될 수 있다. 그러나, 복수의 MPLS 레이블은 대안적으로 포워딩 경로상의 노드들의 배열 시퀀스로 내림차순으로 배열될 수 있다.
선택적으로, 복수의 MPLS 레이블의 양이 비교적 클 때, 복수의 MPLS 레이블은 세그먼트 리스트에서의 복수의 요소에 배열될 수 있다. 각각의 요소의 길이는 128 비트이다. 이 경우, MPLS 레이블들을 포함하는 복수의 요소는 포워딩 경로상에서, 요소들에 포함된 식별자들에 대응하는 노드들의, 배열 시퀀스로 내림차순으로 배열된다. 각각의 요소 내부의 복수의 MPLS 레이블은 포워딩 경로상의 노드들의 배열 시퀀스로 오름차순 또는 내림차순으로 배열될 수 있다.
각각의 요소가 최대 4개의 MPLS 레이블을 저장한다는 것이 쉽게 이해된다.
복수의 MPLS 레이블이 세그먼트 리스트에서의 적어도 하나의 요소에 저장될 때, 마지막 요소에서의 마지막 MPLS 후에 유휴 공간, 예를 들어, 도 5에 도시된 패딩 부분이 존재할 수 있다는 것이 쉽게 이해된다.
도 5에 도시된 세그먼트 리스트에서의 SID들이 SRv6 네트워크상의 네트워크 디바이스들을 식별하기 위해 사용되지만, 물론, 세그먼트 리스트에서의 SID들은 대안적으로 SRv6 네트워크상의 링크들을 식별하기 위해 사용될 수 있다는 점에 유의해야 한다.
세그먼트 리스트에서의 제1 타입 식별자는 또한 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자를 포함할 수 있다. 대안적으로, 세그먼트 리스트에서의 제1 타입 식별자는 그 길이가 128 비트인 세그먼트 식별자 및 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자 둘 다를 포함할 수 있다. 이는 포워딩 경로상의 네트워크 디바이스가 압축된 세그먼트 식별자를 지원하는지에 관련될 수 있다. 네트워크 디바이스가 압축된 세그먼트 식별자를 지원할 때, 네트워크 디바이스는 세그먼트 리스트에서의 압축된 세그먼트 식별자에 의해 표시될 수 있다. 네트워크 디바이스가 압축된 세그먼트 식별자를 지원하지 않지만 세그먼트 식별자만을 지원할 때, 네트워크 디바이스는 세그먼트 리스트에서의 세그먼트 식별자에 의해 표시될 수 있다. MPLS 레이블 및 압축된 세그먼트 식별자는 세그먼트 리스트에서 동일한 요소에 배열될 수 있고, 요소의 길이는 128 비트이다. 대안적으로, MPLS 레이블 및 압축된 세그먼트 식별자는 세그먼트 리스트에서의 동일한 요소에 배열되지 않을 수 있다. 구체적으로, 복수의 MPLS 레이블에서의 제1 MPLS 레이블은 압축된 세그먼트 식별자 후의 제1 요소의 시작 로케이션에 배열된다.
도 1에 도시된 응용 시나리오를 참조하면, 세그먼트 리스트를 포함하는 패킷이 대안적으로 도 6에 도시될 수 있다. 세그먼트 리스트는 SRH에 포함된다. 세그먼트 리스트는 2가지 타입의 식별자를 포함한다. 제1 타입 식별자는 복수의 SID 및 복수의 압축된 세그먼트 식별자를 포함하고, 구체적으로 노드 B, 노드 K, 및 노드 L의 SID들, 및 노드 C, 노드 D, 및 노드 F의 C-SID들을 포함한다. 이러한 SID들 및 C-SID들은 제각기 SID B, C-SID C, C-SID D, C-SID F, SID K, 및 SID L로 표현된다. 제2 타입 식별자는 복수의 인접 MPLS 레이블이고, 노드 G, 노드 H, 및 노드 J의 MPLS 레이블들을 구체적으로 포함한다. 이러한 MPLS 레이블들은 제각기 MPLS G, MPLS H, 및 MPLS J로 표현된다.
SRv6 네트워크상의 포워딩 경로는 SID B, C-SID C, C-SID D, SID K, 및 SID L과 같은 SID들 및 압축된 세그먼트 식별자들에 의해 표시된다. MPLS 네트워크상의 포워딩 경로는 MPLS G 및 MPLS H와 같은 MPLS 레이블들에 의해 표시된다. SRv6 네트워크와 MPLS 네트워크 사이의 포워딩 경로는 SID, C-SID, 또는 MPLS 레이블, 예를 들어, C-SID F 및 MPLS J에 의해 표시될 수 있다.
도 5에 도시된 세그먼트 리스트와 유사하게, 도 6에 도시된 세그먼트 리스트에서는, 모든 노드들에 대응하는 식별자가 포워딩 경로상의 이들 노드들의 배열 시퀀스로 순차적으로 배열된다. 도 5에 도시된 세그먼트 리스트와는 달리, 복수의 압축된 세그먼트 식별자 또는 복수의 MPLS 레이블이 세그먼트 리스트에서의 각각의 128 비트 요소에 배열되거나, 또는 압축된 세그먼트 식별자와 MPLS 레이블의 조합이 세그먼트 리스트에서의 각각의 128 비트 요소에 배열된다. 복수의 요소는 포워딩 경로상에서 요소들에 포함된 식별자들에 대응하는 노드들의, 배열 시퀀스로 내림차순으로 배열된다. 도 5에 도시된 바와 같이, SID B는 세그먼트 리스트의 맨앞에 배열되고, C-SID C, C-SID D, C-SID F, 및 MPLS G에 의해 형성된 전체가 SID B 뒤에 배열된다. 다시 말해서, MPLS 레이블들 및 압축된 세그먼트 식별자들은 세그먼트 리스트에서의 동일한 요소에 배열된다. 그 후, MPLS H 및 MPLS J에 의해 형성된 전체가 배열된다. 각각의 요소에서, 압축된 세그먼트 식별자들 또는 MPLS 레이블들은 도 5에 도시된 바와 같이 포워딩 경로상의 대응하는 노드들의 배열 시퀀스로 오름차순으로 배열될 수 있다. 그러나, 각각의 요소에서, 압축된 세그먼트 식별자들 또는 MPLS 레이블들은 대안적으로 포워딩 경로상의 대응하는 노드들의 배열 시퀀스로 내림차순으로 배열될 수 있다.
네트워크 2가 IPv4 네트워크일 때, 세그먼트 리스트를 포함하는 패킷이 도 7에 도시될 수 있다. 세그먼트 리스트는 SRH에 포함된다. 세그먼트 리스트는 2가지 타입의 식별자를 포함한다. 도 5의 세그먼트 리스트와 유사하게, 제1 타입 식별자는 복수의 SID이고, 구체적으로는 SID B, SID C, SID D, SID F, SID K, 및 SID L을 포함한다. 제2 타입 식별자는 2개의 인접한 IPv4 어드레스를 포함하고, 구체적으로는 노드 G 및 노드 J의 IPv4 어드레스들을 포함한다. 이러한 어드레스들은 제각기 IPv4 G 및 IPv4 J로서 표현된다.
도 5의 세그먼트 리스트와 유사하게, SRv6 네트워크상의 포워딩 경로는 SID B, SID C, SID D, SID K, 및 SID L과 같은 SID들에 의해 표시된다. IPv4 네트워크상의 포워딩 경로는 터널의 소스 어드레스 및 목적지 어드레스에 의해 표시된다. 터널의 소스 어드레스 및 목적지 어드레스 각각은 IPv4 어드레스, 예를 들어, IPv4 G 및 IPv4 J이다.
터널의 소스 어드레스 및 목적지 어드레스에 더하여, 세그먼트 리스트는 터널 타입(Tunnel Type) 필드 및 유연한 길이 타입 특정적 인수(Flexible Length Type Specific Argument) 필드를 추가로 포함한다. 터널 타입 필드의 길이는 8 바이트, 즉 64 비트이고, 터널 타입 필드는 터널 타입을 표시하기 위해 사용된다. 구체적으로, 터널 타입 필드는 특정 값을 사용하여 터널 타입에 대응한다. 예를 들어, 터널 타입 필드의 값이 1인 것은 6 오버 4 터널을 표시하고, 터널 타입 필드의 값이 2인 것은 VXLAN 터널을 표시하고, 터널 타입 필드의 값이 3인 것은 GRE 터널을 표시하는 등이다. 유연한 길이 타입 특정 인수 필드는 터널 타입에 관련된 일부 인수들을 운반할 수 있다. 예를 들어, 터널 타입이 6 오버 4일 때, 유연한 길이 타입 특정 인수 필드는 패킷이 폐기되기 전에 통과되도록 허용되는 네트워크 세그먼트들의 최대 양을 지정하기 위해, 수명시간(time to lift, TTL) 값을 운반할 수 있다. 유연한 길이 타입 특정 인수 필드의 길이는 예를 들어, 128 비트, 256 비트, 384 비트 등과 같이 유연하다. 길이는 터널 타입에 관련된다. 터널의 이러한 필드들 및 소스 어드레스 및 목적지 어드레스는 세그먼트 리스트에서 IPv4 터널 인수들로서 집합적으로 지칭될 수 있다. 다시 말해서, IPv4 터널 인수들은 세그먼트 리스트에서 운반되어, IPv4 네트워크상의 포워딩 경로가 세그먼트 리스트에서 프로그래밍될 수 있도록 한다.
선택적으로, 터널 타입 필드의 값과 터널 타입 사이의 대응관계, 터널 타입과 유연한 길이 타입 특정 인수 필드의 길이 사이의 대응관계, 및 터널 타입과 타입 특정적 인수 사이의 대응관계는 제어기에 의해 네트워크상의 각각의 노드에 릴리즈되고 각각의 노드에 의해 국소적으로 저장될 수 있다.
도 5에 도시한 세그먼트 리스트와 유사하게, 도 7에 도시한 세그먼트 리스트에서는, 모든 노드들에 대응하는 식별자가 포워딩 경로상의 이들 노드들의 배열 순서로 순차적으로 배열된다. 구체적으로, SID B는 세그먼트 리스트의 하단에 배열되고, SID C, SID D, 및 SID F는 순차적으로 위쪽으로 배열된다. IPv4 터널 인수들은 전체적으로 SID F보다 위에 배열된다. 그 후, SID K 및 SID L은 순차적으로 IPv4 터널 인수들 위에 배열된다. IPv4 터널 인수들에서, IPv4 어드레스들인 터널의 소스 어드레스 및 목적지 어드레스의 길이들은 각각 32 비트이고, 총계는 64 비트이며, 터널 타입 필드의 길이는 64 비트이다. 따라서, 터널의 소스 어드레스 및 목적지 어드레스 및 터널 타입 필드는 총 128 비트이고 전체적으로 SID F 위에 배열된다. 유연한 길이 타입 특정적 인수 필드, 터널의 소스 어드레스 및 목적지 어드레스, 및 터널 타입 필드의 배열 시퀀스가 네트워크상에 지정될 수 있다. 예를 들어, 유연한 길이 타입 특정적 인수 필드는 터널의 소스 어드레스 및 목적지 어드레스 및 터널 타입 필드에 의해 형성되는 전체 위에 배열될 수 있다.
본 출원의 이 실시예에서, SRv6 네트워크상의 패킷의 포워딩 경로를 식별하기 위해 사용되는 세그먼트 식별자 또는 압축된 세그먼트 식별자 이외에, 세그먼트 리스트는 비-SRv6 네트워크상의 패킷의 포워딩 경로를 식별하기 위해 사용되는 제2 타입 식별자를 추가로 포함할 수 있다는 것을 알 수 있다. 구체적으로, 제2 타입 식별자는 MPLS 레이블 또는 IPv4 어드레스일 수 있다. 세그먼트 리스트에 제2 타입 식별자가 존재할 때, 포워딩 경로상의 노드에 제2 타입 식별자의 존재를 표시하고, 세그먼트 리스트에서의 제2 타입 식별자의 시작 로케이션을 표시하기 위해, 표시 식별자가 세그먼트 리스트에 추가로 설정될 수 있다.
선택적으로, 표시 식별자는 독립 식별자일 수 있다. 다시 말해서, 표시 식별자는 세그먼트 리스트에서의 복수의 식별자에 포함되지 않는다. 독립 표시 식별자는 적어도 하나의 제1 타입 식별자 이후 및 복수의 제2 타입 식별자 이전에 로케이팅된다. 다시 말해서, 독립 표시 식별자는 적어도 하나의 제1 타입 식별자와 복수의 제2 타입 식별자 중 제1의 제2 타입 식별자 사이에 배열된다. 표시 식별자를 판독할 때, 포워딩 경로상의 노드는 표시 식별자에 이어서 복수의 제2 타입 식별자가 있다는 것을 알게 된다. 예를 들어, 표시 식별자의 길이는 32 비트이며, 이는 MPLS 레이블의 길이 및 IPv4 어드레스의 길이와 동일하다.
선택적으로, 표시 식별자는 세그먼트 리스트에서의 복수의 식별자에 포함될 수 있다. 구체적으로, 표시 식별자는 종료 세그먼트 식별자에 포함된다. 종료 세그먼트 식별자는 제1 타입 식별자이다. 종료 세그먼트 식별자는 복수의 제2 타입 식별자 중 제1 식별자에 인접하고, 종료 세그먼트 식별자는 복수의 제2 타입 식별자 중 제1 식별자 이전에 로케이팅된다. 다시 말해서, 종료 세그먼트 식별자는 복수의 제2 타입 식별자 이전의 마지막 제1 타입 식별자이다. 종료 세그먼트 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자이다. 예를 들어, 종료 세그먼트 식별자는 도 5 또는 도 7의 SID F일 수 있다. 대안적으로, 종료 세그먼트 식별자는 도 6의 C-SID F일 수 있다.
표시 식별자가 종료 세그먼트 식별자에 로케이팅될 때, 표시 식별자는 SRv6 네트워크상의 함수를 식별하기 위해 사용될 수 있고, 표시 식별자는 종료 세그먼트 식별자의 함수 필드에 로케이팅된다. 예를 들어, 제2 네트워크가 MPLS 네트워크이고 제2 타입 식별자가 MPLS 레이블일 때, 표시 식별자는 SRv6 네트워크상의 새롭게 정의된 함수를 표시할 수 있고, END.M으로 표현된다. 함수의 구체적인 내용이 이하에서 설명된다. 예를 들어, 제2 네트워크가 IPv4 네트워크이고 제2 타입 식별자가 IPv4 어드레스일 때, 표시 식별자는 SRv6 네트워크상의 새롭게 정의된 함수를 표시할 수 있고, END.4로서 표현된다. 함수의 구체적인 내용이 이하에서 설명된다.
세그먼트 리스트에 제2 타입 식별자가 존재하고, 제2 타입 식별자가 MPLS 레이블일 때, 세그먼트 리스트에서의 복수의 MPLS 레이블의 종료 로케이션을 포워딩 경로상의 노드에 표시하기 위해 종료 식별자가 세그먼트 리스트에 추가로 설정될 수 있다.
선택적으로, 종료 식별자는 독립 식별자일 수 있다. 다시 말해서, 종료 식별자는 세그먼트 리스트에서의 복수의 식별자에 포함되지 않는다. 독립 종료 식별자는 복수의 MPLS 레이블 이후에 로케이팅되고, 복수의 MPLS 레이블에서의 마지막 MPLS 레이블에 인접한다. 종료 식별자를 판독할 때, 포워딩 경로상의 노드는 세그먼트 리스트에서의 복수의 MPLS 레이블의 종료 로케이션에 도달했다는 것을 알게 된다. 예를 들어, 종료 식별자의 길이는 32 비트이며, 이는 MPLS 레이블의 길이와 동일하다.
선택적으로, 종료 식별자는 복수의 MPLS 레이블에서의 마지막 MPLS 레이블에 포함될 수 있다. 종료 식별자는 MPLS 레이블에서의 필드일 수 있다. 필드가 특정 값을 가질 때, 필드는 종료 식별자로서 사용된다.
세그먼트 리스트에 제2 타입 식별자가 존재하고, 제2 타입 식별자가 MPLS 레이블들인 경우, 세그먼트 리스트에서의 복수의 MPLS 레이블의 양을 포워딩 경로상의 노드에 표시하기 위해 양 식별자가 세그먼트 리스트에 추가로 설정될 수 있다. 표시 식별자를 판독할 때, 포워딩 경로상의 노드는 표시 식별자에 이어서 복수의 MPLS 레이블이 있다는 것을 알게 된다. 다시 말해서, 노드는 세그먼트 리스트에서 복수의 MPLS 레이블의 시작 로케이션을 알게 된다. 양 식별자를 판독할 때, 노드는 세그먼트 리스트에서 복수의 MPLS 레이블의 양을 알 수 있다. 이러한 방식으로, 복수의 MPLS 레이블 모두가 세그먼트 리스트로부터 알 수 있게 된다. 구체적인 프로세스가 이하에서 설명된다.
선택적으로, 양 식별자는 종료 세그먼트 식별자에 포함될 수 있다. 선택적으로, 표시 식별자가 종료 세그먼트 식별자에 로케이팅되고, 표시 식별자가 SRv6 네트워크상의 함수를 식별하기 위해 사용될 때, 양 식별자는 함수의 인수일 수 있다. 다시 말해서, 양 식별자는 종료 세그먼트 식별자의 인수 필드에 로케이팅된다. 예를 들어, 제2 네트워크가 MPLS 네트워크이고 제2 타입 식별자가 MPLS 레이블일 때, 표시 식별자는 SRv6 네트워크상의 새롭게 정의된 함수를 표시할 수 있고, END.M으로 표현된다. 양 식별자는 END.M의 인수이다. 예를 들어, 제2 네트워크가 IPv4 네트워크이고 제2 타입 식별자가 IPv4 어드레스일 때, 표시 식별자는 SRv6 네트워크상의 새롭게 정의된 함수를 표시할 수 있고, END.4로서 표현된다. 양 식별자는 END.4의 인수이다.
선택적으로, 양 식별자는 복수의 MPLS 레이블 중 제1 MPLS 레이블에 포함될 수 있다.
선택적으로, 세그먼트 리스트가 제어기에 의해 생성될 때, 세그먼트 리스트의 것이고 제어기에 의해 노드 A에 전송되는 제어 패킷은, 세그먼트 리스트에서의 복수의 식별자가 SRv6 네트워크상의 패킷의 포워딩 경로를 식별하는 세그먼트 식별자 또는 압축된 세그먼트 식별자, 및 비-SRv6 네트워크상의 패킷의 포워딩 경로를 식별하기 위해 사용되는 제2 타입 식별자를 포함한다는 것을 표시하기 위해, 하이브리드 플래그를 포함할 수 있다. 따라서, 제어기로부터 제어 패킷을 수신할 때, 노드 A는 하이브리드 플래그를 판독하여, 제어 패킷에 포함된 세그먼트 리스트가 하이브리드 세그먼트 리스트 또는 일반 세그먼트 리스트인 것을 알게 된다.
S130: 네트워크 디바이스(101)가 제2 패킷을 전송한다.
네트워크 디바이스(101)는 도 4에 도시된 노드 A일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 노드 A는 세그먼트 리스트가 추가된 패킷을 전송한다. 패킷은 노드 B, 노드 C, 및 노드 D를 통과하고, 노드 F에 도달한다. 노드 B, 노드 C, 및 노드 D에서의 패킷의 포워딩 처리 프로세스들에 대해서는, SRv6 네트워크상의 패킷 포워딩 프로세스의 전술한 설명을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
S140: 네트워크 디바이스(102)는 제1 네트워크로부터 제2 패킷을 수신하는데, 여기서 제2 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함하고, 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용되고, 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하고, 제1 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제1 네트워크상에 있고, 제2 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제2 네트워크상에 있고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다.
네트워크 디바이스(102)는 도 4에 도시된 노드 F일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 노드 F는 SRv6 네트워크로부터 패킷을 수신하고, 패킷의 SRH는 세그먼트 리스트를 포함한다. 이 패킷은 노드 A에 의해 전송된 패킷, 즉 제2 패킷이다. SRH는 제2 패킷의 제1 패킷 헤더라고 지칭될 수 있다.
S150: 네트워크 디바이스(102)는 제2 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제3 패킷을 형성하고, 여기서 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함한다.
네트워크 디바이스(102)는 도 4에 도시된 노드 F일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 패킷이 제2 네트워크상에서 포워딩될 수 있게 하기 위해, 노드 F는 패킷에서의 세그먼트 리스트로부터 복수의 제2 타입 식별자를 획득하고, 패킷에 대해 제2 패킷 헤더를 캡슐화한다. 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함한다.
노드 F는 패킷으로부터 표시 식별자를 획득할 수 있다. 표시 식별자는 제2 타입 식별자의 시작 로케이션을 표시하기 위해 사용된다. 따라서, 표시 식별자를 판독할 때, 노드 F는 세그먼트 리스트에서의 표시 식별자에 이어지는 복수의 제2 타입 식별자가 존재한다는 것을 알게 된다.
전술한 설명을 참조하면, 표시 식별자는 제1 타입 식별자 이후 및 복수의 제2 타입 식별자 이전에 있는 독립 식별자일 수 있다. 대안적으로, 표시 식별자는 복수의 제2 타입 식별자 이전의 마지막 제1 타입 식별자에 포함될 수 있다.
표시 식별자가 독립 식별자일 때, 노드 F는 SRH에서의 포인터를 통해 표시 식별자를 판독한다. SRH에서의 포인터는 SL 포인터 및/또는 CL 포인터를 포함한다. SL 포인터는 세그먼트 리스트에서의 SID의 로케이션 또는 세그먼트 리스트에서의 압축된 세그먼트 식별자 및/또는 MPLS 레이블을 포함하는 요소의 로케이션을 표시하기 위해 사용된다. CL 포인터는 요소에서의 압축된 세그먼트 식별자의 로케이션을 표시하기 위해 사용된다. 패킷을 수신할 때, 노드 F는 SL 포인터에 기초하여 세그먼트 리스트에서의 현재 처리될 식별자를 결정하거나, 또는 SL 포인터 및 CL 포인터에 기초하여 세그먼트 리스트에서의 현재 처리될 식별자를 결정한다. 현재 처리될 식별자는 표시 식별자이다. 노드 F가 SL 포인터 및/또는 CL 포인터에 기초하여 현재 처리될 식별자를 획득하는 프로세스에 대해서는, 2019년 7월 날짜의 "Compressed SRv6 Network Programming"이라는 제목의 draft-li-spring-compressed-srv6-np-00, 및 2019년 9월 27일자로 출원된 특허 문서 번호 제201910925974.3의 설명들을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
표시 식별자가 복수의 제2 타입 식별자 이전의 마지막 제1 타입 식별자에 포함될 때, 도 4에 도시된 응용 시나리오를 참조하면, 마지막 제1 타입 식별자는 노드 F에 대응하는 세그먼트 식별자 또는 압축된 세그먼트 식별자이다. SRv6 네트워크상의 패킷 포워딩 메커니즘에 따르면, 노드 F가 패킷을 수신할 때, 노드 F에 대응하는 세그먼트 식별자 또는 압축된 세그먼트 식별자는 패킷의 IPv6 패킷 헤더에서의 DA 필드에 로케이팅된다. 노드 F는 DA 필드로부터 표시 식별자를 판독한다. 또한, 노드 F는 SL 포인터에 기초하여 세그먼트 리스트에서의 현재 처리될 식별자를 결정하거나, 또는 SL 포인터 및 CL 포인터에 기초하여 세그먼트 리스트에서의 현재 처리될 식별자를 결정한다. 현재 처리될 식별자는 복수의 제2 타입 식별자 중 제1 식별자이다. 노드 F가 SL 포인터 및/또는 CL 포인터에 기초하여 현재 처리될 식별자를 획득하는 프로세스에 대해서는, 2019년 7월 날짜의 "Compressed SRv6 Network Programming"이라는 제목의 draft-li-spring-compressed-srv6-np-00, 및 2019년 9월 27일자로 출원된 특허 문서 번호 제201910925974.3의 설명들을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
제2 패킷 헤더는 MPLS 헤더일 수 있다. 다시 말해서, 제2 패킷 헤더는 복수의 MPLS 레이블을 포함하고, 제2 타입 식별자는 MPLS 레이블이다.
복수의 제2 타입 식별자가 복수의 MPLS 레이블일 때, 노드 F는, 표시 식별자에 기초하여, 표시 식별자에 이어지는 복수의 MPLS 레이블이 있다는 것을 알게 되고, 세그먼트 리스트에서의 복수의 MPLS 레이블의 시작 로케이션을 알게 되거나, 또는 순차적으로 배열된 복수의 MPLS 레이블 중 제1 MPLS 레이블을 알게 된다.
또한, 노드 F는 종료 식별자에 기초하여 세그먼트 리스트에서의 복수의 MPLS 레이블의 종료 로케이션을 결정할 수 있다. 다시 말해서, 노드 F는, 종료 식별자에 기초하여, 복수의 순차적으로 배열된 MPLS 레이블 중 마지막 MPLS 레이블을 결정하여, 복수의 MPLS 레이블 모두를 결정할 수 있다.
대안적으로, 또한, 노드 F는, 양 식별자에 기초하여, 복수의 순차적으로 배열된 MPLS 레이블의 양을 결정하여, 복수의 MPLS 레이블 모두를 결정할 수 있다. 또한, 양 식별자 또는 종료 식별자 중 어느 하나가 선택적으로 설정될 수 있다.
도 5에 도시된 패킷 구조를 참조하여 설명을 위해 예가 사용된다. 예를 들어, 도 5에 도시된 패킷의 세그먼트 리스트에서, 표시 식별자는 SID F의 함수 필드에 포함되고, 구체적으로 END.M의 함수를 식별하고; 및 양 식별자는 SID F의 인수 필드에 포함되고, 구체적으로 MPLS 레이블의 양이 3인 것을 식별한다. 패킷을 수신할 때, 노드 F는 패킷의 IPv6 패킷 헤더에서의 DA 필드로부터 SID F를 판독한다. 노드 F는, SID F의 함수 필드에 포함된 END.M의 식별자에 기초하여 세그먼트 리스트에서 SID F에 이어지는 복수의 MPLS 레이블이 있는 것을 알게 되고, 인수 필드에 기초하여 MPLS 레이블들의 양이 3인 것을 알게 된다. SL 포인터의 표시에 기초하여, 노드 F는 세그먼트 리스트에서 SID F에 이어지는, 그 길이가 128 비트인 요소를 발견한다. 다시 말해서, 이 요소는 MPLS G, MPLS H, MPLS J, 및 패딩을 포함하는 전체이다. 노드 F는 MPLS 레이블들의 양이 3인 것에 기초하여 요소로부터 3개의 32 비트 MPLS 레이블, 즉 MPLS G, MPLS G, 및 MPLS J를 획득한다. 노드 F는 패킷에 대해 제2 패킷 헤더를 캡슐화하고, 여기서 제2 패킷 헤더는 MPLS G, MPLS G, 및 MPLS J를 포함한다. MPLS 레이블들의 포워딩 메커니즘에 따르면, 제2 패킷 헤더에서, 전술한 3개의 MPLS 레이블은 포워딩 경로상의 노드들의 시퀀스로 순차적으로 배열된다. 먼저 도착하는 노드에 대응하는 MPLS 레이블이 스택 상단에 배열되고, 후속하여 도착하는 노드에 대응하는 MPLS 레이블이 아래쪽으로 순차적으로 배열된다. 제2 패킷 헤더가 캡슐화된 후의 패킷의 구조가 도 8에 도시되어 있다. 3개의 패킷 헤더가 내부로부터 바깥으로 패킷에 캡슐화된다: 제1 패킷 헤더(SRH), IPv6 패킷 헤더, 및 제2 패킷 헤더.
예를 들어, 도 5에 도시된 패킷의 세그먼트 리스트에서, 표시 식별자는 대안적으로 독립 식별자일 수 있다; 양 식별자는 대안적으로 MPLS G에 포함될 수 있거나, 또는 양 식별자는 대안적으로 종료 식별자에 의해 대체될 수 있다; 및 종료 식별자는 독립 식별자일 수 있거나, 또는 종료 식별자는 대안적으로 MPLS J에 포함될 수 있다. 대응하는 처리 프로세스는 여기서 다시 설명되지 않는다.
도 6에 도시된 패킷 구조를 참조하여 설명을 위해 예가 사용된다. 예를 들어, 도 6에 도시된 패킷의 세그먼트 리스트에서, 표시 식별자는 C-SID F의 함수 필드에 포함되고, 구체적으로는 END.M의 함수를 식별한다; 및 양 식별자는 C-SID F의 인수 필드에 포함되고, 구체적으로 MPLS 레이블들의 양이 3인 것을 식별한다. 패킷을 수신할 때, 노드 F는 패킷의 IPv6 패킷 헤더에서의 DA 필드로부터 블록(BLOCK) 부분 및 C-SID F에 의해 형성된 SID-F를 판독한다. 노드 F는 함수 필드에 포함된 END.M의 식별자에 기초하여 세그먼트 리스트에서 C-SID F에 이어지는 복수의 MPLS 레이블이 존재함을 알게 되고, 인수 필드에 기초하여 MPLS 레이블들의 양이 3임을 알게 된다. SL 포인터의 표시에 기초하여, 노드 F는 세그먼트 리스트에서 C-SID F를 포함하는, 그 길이가 128 비트인 요소를 발견한다. 다시 말해서, 이 요소는 C-SID C, C-SID D, C-SID F, 및 MPLS G를 포함하는 전체가 된다. 노드 F는 또한, CL 포인터의 표시에 기초하여, 요소에서 C-SID F에 이어지는 식별자, 즉 MPLS G를 발견한다. 노드 F는 MPLS 레이블들의 양이 3인 것에 기초하여 요소로부터 MPLS G를 획득하고, 그 요소에 이어지는 요소로부터 MPLS H 및 MPLS J를 획득한다. 이러한 방식으로, 노드 F는 총 3개의 32 비트 MPLS 레이블을 획득한다. 노드 F는 패킷에 대해 제2 패킷 헤더를 캡슐화하고, 여기서 제2 패킷 헤더는 MPLS G, MPLS G, 및 MPLS J를 포함한다. 제2 패킷 헤더가 캡슐화된 후의 패킷의 구조가 도 9에 도시되어 있다. 3개의 패킷 헤더가 내부로부터 바깥으로 패킷에 캡슐화된다: 제1 패킷 헤더(SRH), IPv6 패킷 헤더, 및 제2 패킷 헤더.
예를 들어, 도 5 및 도 6에 도시된 패킷들의 세그먼트 리스트들에서, 표시 식별자는 대안적으로 독립 식별자일 수 있다; 양 식별자는 대안적으로 MPLS G에 포함될 수 있거나, 또는 양 식별자는 대안적으로 종료 식별자에 의해 대체될 수 있다; 및 종료 식별자는 독립 식별자일 수 있거나, 또는 종료 식별자는 대안적으로 MPLS J에 포함될 수 있다. 대응하는 처리 프로세스는 여기서 다시 설명되지 않는다.
제2 패킷 헤더는 IPv4 헤더일 수 있다. 다시 말해서, 제2 패킷 헤더는 복수의 IPv4 어드레스를 포함할 수 있고, 제2 타입 식별자는 IPv4 어드레스이다.
복수의 제2 타입 식별자가 복수의 IPv4 어드레스일 때, 노드 F는, 표시 식별자에 기초하여, 복수의 IPv4 어드레스를 포함하는 IPv4 터널 인수가 표시 식별자에 이어지는 것을 알게 되고, 세그먼트 리스트에서의 IPv4 터널 인수의 시작 로케이션을 알게 된다.
도 7에 도시된 패킷 구조를 참조하여 설명을 위해 예가 사용된다. 예를 들어, 도 7에 도시된 패킷의 세그먼트 리스트에서, 표시 식별자는 SID F의 함수 필드에 포함되고, 구체적으로는 END.4의 함수를 식별한다. 패킷을 수신할 때, 노드 F는 패킷의 IPv6 패킷 헤더에서의 DA 필드로부터 SID F를 판독한다. 노드 F는, SID F의 함수 필드에 포함된 END.4의 식별자에 기초하여, 복수의 IPv4 어드레스를 포함하는 IPv4 터널 인수가 세그먼트 리스트에서 SID F에 이어진다는 것을 알게 된다. SL 포인터의 표시에 기초하여, 노드 F는 세그먼트 리스트에서 SID F에 이어지는, 그 길이가 128 비트인 요소를 발견한다. 다시 말해서, 요소는 터널의 소스 어드레스와 목적지 어드레스 및 터널 타입 필드를 포함하는 전체이다. 노드 F는, 터널 타입 필드의 값에 기초하여, 터널 타입이 6 오버 4 터널인 것을 알게 되고, 터널 타입이 6 오버 4 터널인 것에 기초하여, 유연한 길이 타입 특정적 인수 필드의 길이가 128 비트인 것을 결정한다. 노드 F는, 터널 타입이 6 오버 4 터널인 것에 기초하여, 유연한 길이 타입 특정적 인수 필드가 TTL을 포함하는 것으로 추가로 결정하고, 요소에 이어지는 요소로부터 TTL 값을 판독한다. 따라서, 노드 F는 패킷에 대해 제2 패킷 헤더를 캡슐화한다. 제2 패킷 헤더는 IPv4 패킷 헤더이고, 제2 패킷 헤더에서의 소스 어드레스 및 목적지 어드레스는 제각기 노드 F 및 노드 J의 IPv4 어드레스들이다. 제2 패킷 헤더가 캡슐화된 후의 패킷의 구조가 도 10에 도시된다. 3개의 패킷 헤더가 내부로부터 바깥으로 패킷에 캡슐화된다: 제1 패킷 헤더(SRH), IPv6 패킷 헤더, 및 제2 패킷 헤더.
예를 들면, 도 7에 도시된 패킷의 세그먼트 리스트에서, 표시 식별자는 대안적으로 독립 식별자일 수 있다. 대응하는 처리 프로세스는 여기서 다시 설명되지 않는다.
선택적으로, 패킷에 대한 제2 패킷 헤더를 캡슐화한 후에, 노드 F는 패킷의 IPv6 패킷 헤더에서의 DA 필드에 크로스-도메인 식별자를 계속 추가할 수 있다. 크로스-도메인 식별자는 세그먼트 리스트에서의 복수의 식별자 중 하나이고, 크로스-도메인 식별자는 세그먼트 리스트에서의 제1 타입 식별자이다. 구체적으로, 크로스-도메인 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 패킷이 제2 네트워크를 통과한 후에 도달하는 제1 네트워크상의 제1 노드에 대응하는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자이다. 도 4에 도시된 응용 시나리오를 참조하면, 크로스-도메인 식별자는 노드 J에 대응하는 SID 또는 압축된 세그먼트 식별자일 수 있다.
선택적으로, 패킷에 대해 제2 패킷 헤더를 캡슐화한 후에, 노드 F는 SL 포인터의 값을 업데이트하여, SL 포인터가 MPLS 레이블들을 운반하는 복수의 세그먼트에 이어지는 제1 세그먼트를 포인팅하게 할 수 있도록 한다. 다시 말해서, SL 포인터는 그 길이가 128 비트이고 세그먼트 리스트에서 복수의 MPLS 레이블에 이어지는 제1 식별자가 로케이팅되는 요소를 포인팅하는 것이 가능하게 된다.
선택적으로, 패킷에 대해 제2 패킷 헤더를 캡슐화한 후에, 노드 F는 CL 포인터의 값을 업데이트할 수 있는데, 예를 들어, CL 포인터의 값을 0으로 복귀시킬 수 있으며, 따라서 CL 포인터는 요소의 시작 로케이션을 포인팅하는 것이 가능하게 된다.
S160: 네트워크 디바이스(102)는 제3 패킷을 제2 네트워크에 전송한다.
네트워크 디바이스(102)는 도 4에 도시된 노드 F일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 노드 F는 제2 패킷 헤더가 캡슐화된 패킷을 제2 네트워크에 전송한다. 패킷은 노드 F에 의해 전송되는 패킷, 즉, 제3 패킷이다.
제2 타입 식별자가 MPLS 레이블일 때, 노드 F는 제2 패킷 헤더에서의 스택 상단상의 MPLS 레이블에 의해 식별된 노드에 제2 패킷 헤더가 캡슐화된 패킷을 전송한다. 다시 말해서, 노드 F는 패킷을 노드 G에 전송한다. MPLS 레이블 스택의 포워딩 메커니즘에 따르면, 패킷은 노드 G 및 노드 H를 통과하고, 노드 J에 도달한다. 노드 G, 노드 H, 및 노드 J에서의 패킷의 포워딩 처리 프로세스들은 여기서 다시 설명되지 않는다.
제2 타입 식별자가 IPv4 어드레스일 때, 노드 F는 IPv4 패킷 헤더에서의 목적지 어드레스에 기초하여 IPv4 포워딩 정보 베이스(Forwarding Information base, FIB)를 쿼리하고, 노드 F와 노드 J 사이의 터널을 통해 쿼리 결과에 기초하여, 제2 패킷 헤더가 캡슐화된 패킷을 전송한다. 패킷은 노드 G 및 노드 H를 통과하고, 노드 J에 도달한다.
노드 J는 제2 네트워크로부터 패킷을 수신하고, 패킷에서의 제2 패킷 헤더를 삭제하고, IPv6 패킷 헤더 및 SRH를 유지하고, SRv6 네트워크상의 패킷 포워딩 메커니즘에 따라 SRv6 네트워크에 패킷을 계속 전송한다. 다시 말해서, 노드 J는 패킷을 노드 K에 전송한다. 예를 들어, 이러한 경우, 패킷의 IPv6 패킷 헤더에서의 DA 필드는 노드 J에 대응하는 SID를 포함하고, 노드 J는 SID에 의해 식별된 세그먼트의 처리 내용에 기초하여 패킷에 대해 포워딩 처리를 수행한다.
패킷은 계속해서 노드 K를 통과하여 노드 L에 도달한다. 노드 K 및 노드 L에서의 패킷의 포워딩 처리 프로세스들에 대해서는, SRv6 네트워크상의 패킷 포워딩 프로세스의 전술한 설명을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
실제 네트워크상에서, 패킷의 포워딩 경로는 제어기에 의해 생성될 수 있거나, 또는 포워딩 경로상의 인그레스 노드에 의해 생성될 수 있다. 제어기가 패킷의 포워딩 경로를 생성할 때, 제어기는 또한 포워딩 경로를 표시하는 세그먼트 리스트를 생성한다. 세그먼트 리스트는 제1 타입 식별자 및 제2 타입 식별자를 포함하는 세그먼트 리스트, 즉, 하이브리드 세그먼트 리스트 또는 일반 세그먼트 리스트일 수 있다. 제어기는 세그먼트 리스트를 포워딩 경로상의 인그레스 노드에 전송한다. 패킷을 수신한 후에, 포워딩 경로상의 인그레스 노드는 디바이스에 저장되는 몇몇 포워딩 경로들로부터 패킷의 포워딩 경로를 결정하고, 포워딩 경로에 대응하는 세그먼트 리스트를 결정한다. 세그먼트 리스트가 패킷에 추가되어 패킷의 포워딩을 안내한다.
본 발명의 실시예는 패킷 포워딩 방법을 제공한다. 도 12는 방법의 흐름도이다. 이 방법은 제어기(201), 네트워크 디바이스(202), 및 네트워크 디바이스(203)에 적용된다. 제어기(201)는 네트워크상의 제어기일 수 있고, 패킷의 포워딩 경로를 계산하고 포워딩 경로를 표시하는 세그먼트 리스트를 생성하도록 구성된다. 예를 들어, 제어기(201)는 도 4에 도시된 응용 시나리오에서의 제어기일 수 있지만, 제어기는 도 4에 도시되지 않는다. 네트워크 디바이스(202)는 패킷의 포워딩 경로상의 인그레스 디바이스일 수 있고, 패킷의 포워딩 경로를 표시하는 세그먼트 리스트를 패킷에 추가하도록 구성된다. 예를 들어, 네트워크 디바이스(202)는 도 4에 도시된 노드 A이다. 네트워크 디바이스(203)는 포워딩 경로상의 노드, 예를 들어, 도 4에 도시된 노드 F일 수 있다. 이 방법은 다음 단계들을 포함한다.
S210: 제어기(201)는 제1 패킷의 포워딩 경로를 결정하고, 여기서 포워딩 경로는 적어도 2개의 네트워크상에 로케이팅되는 복수의 네트워크 디바이스를 포함하고, 적어도 2개의 네트워크는 제1 네트워크 및 제2 네트워크를 포함하고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다.
제어기(201)는 도 4에 도시된 응용 시나리오에서의 제어기일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 제1 네트워크는 SRv6 네트워크일 수 있고, 제1 네트워크는 네트워크 1 및 네트워크 3을 포함할 수 있다. 제2 네트워크는 네트워크 2일 수 있다. 제1 패킷은 노드 A로부터 네트워크 1에 진입하고, 제1 패킷의 포워딩 경로는 노드 B, 노드 C, 노드 D, 노드 F, 노드 G, 노드 H, 노드 J, 및 노드 K를 통과하여 노드 L에 도달한다. 포워딩 경로는 네트워크 1, 네트워크 2, 및 네트워크 3상에 로케이팅되는 복수의 네트워크 디바이스를 포함하고, 네트워크 1 및 네트워크 3의 타입은 네트워크 2의 타입과 상이하다는 점을 알 수 있다.
S220: 제어기(201)는 포워딩 경로에 대응하는 세그먼트 리스트를 생성하는데, 여기서 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 복수의 식별자 각각은 복수의 네트워크 디바이스 중 하나 또는 포워딩 경로상의 하나의 링크에 대응하고, 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하고, 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있고, 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다.
도 4에 도시된 응용 시나리오를 참조하면, 세그먼트 리스트에서의 제1 타입 식별자는 SRv6 네트워크상의 패킷의 포워딩 경로의 세그먼트 또는 압축된 세그먼트를 식별하기 위해 사용되고, 제2 타입 식별자는 비-SRv6 네트워크상의 패킷의 포워딩 경로를 식별하기 위해 사용된다. 이 경우, 세그먼트 리스트는 또한 하이브리드 세그먼트 리스트 또는 일반 세그먼트 리스트라고 지칭될 수 있다. 일반 세그먼트 리스트를 포함하는 SRH는 일반 세그먼트 라우팅 헤더라고 지칭될 수 있다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 네트워크 1 및 네트워크 3상에 있다. 제1 타입 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자이다. 제2 네트워크는 MPLS 네트워크 또는 IPv4 네트워크일 수 있다. 복수의 제2 타입 식별자에 의해 식별되는 네트워크 디바이스들 또는 링크들은 네트워크 2상에 있다. 제2 타입의 식별자는 MPLS 레이블 또는 IPv4 어드레스를 포함한다. 복수의 제2 타입 식별자는 서로 인접한다.
S230: 제어기(201)는 세그먼트 리스트를 네트워크 디바이스(202)에 전송한다.
도 4에 도시된 응용 시나리오를 참조하면, 제어기는 제어 패킷을 노드 A에 전송하고, 제어 패킷은 세그먼트 리스트를 포함한다. 선택적으로, 세그먼트 리스트의 것이고 제어기에 의해 노드 A에 전송되는 제어 패킷은 하이브리드 플래그를 포함하여, 세그먼트 리스트에서의 복수의 식별자가 SRv6 네트워크상의 패킷의 포워딩 경로를 식별하는 세그먼트 식별자 또는 압축된 세그먼트 식별자, 및 비-SRv6 네트워크상의 패킷의 포워딩 경로를 식별하기 위해 사용되는 제2 타입 식별자를 포함한다는 것을 표시할 수 있다. 따라서, 제어기로부터 제어 패킷을 수신할 때, 노드 A는 하이브리드 플래그를 판독하여, 제어 패킷에 포함된 세그먼트 리스트가 하이브리드 세그먼트 리스트 또는 일반 세그먼트 리스트인 것을 알게 된다.
S240: 네트워크 디바이스(202)는 제1 패킷을 수신한다.
네트워크 디바이스(202)는 도 4에 도시된 노드 A일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 단계(S240)의 구체적인 프로세스에 대해서는, 단계(S110)의 설명을 참조한다. 유사한 것들은 다시 설명되지 않는다.
S250: 네트워크 디바이스(202)는 세그먼트 리스트를 제1 패킷에 추가하여 제2 패킷을 형성하는데, 여기서 세그먼트 리스트는 제2 패킷의 포워딩 경로를 표시하고, 포워딩 경로는 복수의 네트워크 디바이스를 포함하고, 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크를 식별하기 위해 사용되고, 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하고, 제1 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제1 네트워크상에 있고, 제2 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제2 네트워크상에 있고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다.
도 4에 도시된 응용 시나리오를 참조하면, 단계(S250)의 구체적인 프로세스에 대해서는, 단계(S120)의 설명을 참조한다. 유사한 것들은 다시 설명되지 않는다.
S260: 네트워크 디바이스(202)는 제2 패킷을 전송한다.
도 4에 도시된 응용 시나리오를 참조하면, 단계(S260)의 구체적인 프로세스에 대해서는, 단계(S130)의 설명을 참조한다. 유사한 것들은 다시 설명되지 않는다.
S270: 네트워크 디바이스(203)는 제1 네트워크로부터 제2 패킷을 수신하고, 제2 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함하고, 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용되고, 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하고, 제1 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제1 네트워크상에 있고, 제2 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제2 네트워크상에 있고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다.
네트워크 디바이스(203)는 도 4에 도시된 노드 F일 수 있다. 도 4에 도시된 응용 시나리오를 참조하면, 단계(S270)의 구체적인 프로세스에 대해서는, 단계(S140)의 설명을 참조한다. 유사한 것들은 다시 설명되지 않는다.
S280: 네트워크 디바이스(203)는 제2 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제3 패킷을 형성하고, 여기서 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함한다.
도 4에 도시된 응용 시나리오를 참조하면, 단계(S280)의 구체적인 프로세스에 대해서는, 단계(S150)의 설명을 참조한다. 유사한 것들은 다시 설명되지 않는다.
S290: 네트워크 디바이스(203)는 제3 패킷을 제2 네트워크에 전송한다.
도 4에 도시된 응용 시나리오를 참조하면, 단계(S290)의 구체적인 프로세스에 대해서는, 단계(S160)의 설명을 참조한다. 유사한 것들은 다시 설명되지 않는다.
도 13은 본 출원의 실시예에 따른 디바이스(1300)의 구조의 개략도이다. 도 4에 도시된 응용 시나리오에서의 임의의 네트워크 디바이스는 도 13에 도시된 디바이스를 사용하여 구현될 수 있다. 예를 들어, 노드 A 및 노드 F는 도 13에 도시된 디바이스를 이용하여 구현될 수 있다. 도 11에 도시된 실시예에서의 네트워크 디바이스(101) 및 네트워크 디바이스(102), 및 도 12에 도시된 실시예에서의 제어기(201), 네트워크 디바이스(202), 및 네트워크 디바이스(203)는 도 13에 도시된 디바이스를 사용하여 구현될 수 있다. 도 13에서, 디바이스(1300)는 적어도 하나의 프로세서(1301) 및 적어도 하나의 통신 인터페이스(1304)를 포함한다. 선택적으로, 디바이스(1300)는 메모리(1303)를 추가로 포함할 수 있다.
프로세서(1301)는 중앙 처리 유닛(central processing unit, CPU), 범용 프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 주문형 집적 회로(application-specific integrated circuit, ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA), 또는 또 다른 프로그래머블 로직 디바이스, 트랜지스터 로직 디바이스, 하드웨어 컴포넌트, 또는 이들의 임의의 조합일 수 있다. 프로세서(1301)는 본 발명의 실시예들에 개시된 내용을 참조하여 설명된 다양한 논리 블록들, 모듈들, 및 회로들을 구현 또는 실행할 수 있다. 대안적으로, 프로세서는 컴퓨팅 기능을 구현하기 위한 조합, 예를 들어, 하나 이상의 마이크로프로세서의 조합, 또는 DSP와 마이크로프로세서의 조합일 수 있다. 프로세서는 세그먼트 리스트를 생성하거나, 수신된 패킷을 처리하고, 처리된 패킷을 통신 인터페이스를 통해 추가로 포워딩하여, 본 출원의 실시예들에서 제공되는 방법을 구현하도록 구성될 수 있다.
예를 들어, 네트워크상의 제어기가 도 13에 도시된 디바이스를 이용하여 구현될 때, 프로세서는 세그먼트 리스트를 생성하도록 구성될 수 있어서, 네트워크 디바이스가 세그먼트 리스트에 기초하여 대응하는 패킷을 포워딩할 수 있도록 한다. 구체적인 기능 구현에 대해서는, 방법 실시예에서의 제어기의 처리 부분을 참조한다. 예를 들어, 도 4의 네트워크 인그레스 디바이스가 도 13에 도시된 디바이스를 이용하여 구현될 때, 프로세서는 수신된 패킷에 세그먼트 리스트를 추가하도록 구성될 수 있어서, 네트워크 디바이스가 패킷에서의 세그먼트 리스트에 기초하여 후속해서 패킷을 포워딩할 수 있도록 한다. 구체적인 기능 구현에 대해서는, 방법 실시예에서의 네트워크 인그레스 디바이스의 처리 부분을 참조한다. 또 다른 예를 들어, 도 4의 네트워크상의 포워딩 디바이스가 도 13에 도시된 디바이스를 이용하여 구현될 때, 프로세서는 패킷에서의 세그먼트 리스트에 기초하여 패킷을 포워딩하도록 구성될 수 있다. 구체적인 기능 구현에 대해서는, 방법 실시예에서의 포워딩 디바이스의 처리 부분을 참조한다.
통신 버스(1302)는 프로세서(1301), 통신 인터페이스(1304), 및 메모리(1303) 사이에서 정보를 송신하도록 구성된다. 버스는 주변 컴포넌트 인터커넥트(Peripheral Component Interconnect, 줄여서 PCI) 버스, 또는 확장된 산업 표준 아키텍처(Extended Industry Standard Architecture, 줄여서 EISA) 버스 등일 수 있다. 버스는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이함을 위해, 단지 하나의 굵은 라인이 도 13에서 버스를 나타내기 위해 사용되지만, 이것은 단지 하나의 버스 또는 단지 하나의 타입의 버스만이 있다는 것을 의미하지는 않는다.
메모리(1303)는 판독 전용 메모리(read-only memory, ROM) 또는 정적 정보 및 명령어를 저장할 수 있는 또 다른 타입의 정적 저장 디바이스, 또는 랜덤 액세스 메모리(random access memory, RAM) 또는 정보 및 명령어를 저장할 수 있는 또 다른 타입의 동적 저장 디바이스이거나, 또는 전기적 소거가능하고 프로그램가능한 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 컴팩트 디스크 판독 전용 메모리(compact disc read-only memory, CD-ROM) 또는 다른 컴팩트 디스크 스토리지, (압축된 광 디스크, 레이저 디스크, 광 디스크, 디지털 다용도 광 디스크, 블루레이 광 디스크 등을 포함하는) 광 디스크 스토리지, 자기 디스크 저장 매체 또는 또 다른 자기 저장 디바이스, 또는 명령어 또는 데이터 구조의 형태로 된 예상 프로그램 코드를 운반 또는 저장할 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체일 수 있다. 이는 그것에만 제한되지는 않는다. 메모리(1303)는 독립적으로 존재할 수 있고, 통신 버스(1302)를 통해 프로세서(1301)에 접속될 수 있다. 메모리(1303)는 대안적으로 프로세서(1301) 내에 통합될 수 있다.
선택적으로, 메모리(1303)는 본 출원의 해결책들을 실행하기 위한 프로그램 코드 또는 명령어를 저장하도록 구성되고, 프로세서(1301)는 실행을 제어한다. 프로세서(1301)는 메모리(1303)에 저장되는 프로그램 코드를 실행하도록 구성된다. 프로그램 코드는 하나 이상의 소프트웨어 모듈을 포함할 수 있다. 선택적으로, 프로세서(1301)는 대안적으로 본 출원의 해결책들을 실행하기 위한 프로그램 코드 또는 명령어를 저장할 수 있다.
통신 인터페이스(1304)는 송수신기와 같은 임의의 장치를 사용하여 또 다른 디바이스 또는 통신 네트워크와 통신하도록 구성된다. 통신 네트워크는 이더넷, 무선 액세스 네트워크(RAN), 무선 로컬 영역 네트워크(wireless local area networks, WLAN) 등일 수 있다. 본 출원의 이러한 실시예에서, 통신 인터페이스(1304)는 세그먼트 라우팅 네트워크상에서 또 다른 노드에 의해 전송되는 패킷을 수신하도록, 또는 세그먼트 라우팅 네트워크상에서 또 다른 노드에 패킷을 전송하도록 구성될 수 있다. 통신 인터페이스(1304)는 이더넷(Ethernet) 인터페이스, 고속 이더넷(Fast Ethernet, FE) 인터페이스, 기가비트 이더넷(Gigabit Ethernet, GE) 인터페이스, 비동기 전송 모드(Asynchronous Transfer Mode, ATM) 인터페이스 등일 수 있다.
특정 구현에서, 실시예에서, 디바이스(1300)는 복수의 프로세서, 예를 들어, 도 13에 도시된 프로세서(1301) 및 프로세서(1305)를 포함할 수 있다. 프로세서들 각각은 단일-코어 프로세서(single-CPU), 또는 멀티-코어 프로세서(multi-CPU)일 수 있다. 여기에서의 프로세서는 데이터(예를 들어, 컴퓨터 프로그램 명령어)를 처리하도록 구성된 하나 이상의 디바이스, 회로, 및/또는 처리 코어를 지칭할 수 있다.
도 14는 본 출원의 실시예에 따른 디바이스(1400)의 구조의 개략도이다. 도 4의 제어기 이외의 임의의 네트워크 디바이스는 도 14에 도시된 디바이스를 이용하여 구현될 수 있다. 도 11에 도시된 실시예에서의 네트워크 디바이스(101) 및 네트워크 디바이스(102), 및 도 12에 도시된 실시예에서의 네트워크 디바이스(202) 및 네트워크 디바이스(203)는 도 14에 도시된 디바이스를 사용하여 구현될 수 있다. 도 14에 도시된 디바이스의 구조의 개략도를 참조한다. 디바이스(1400)는 메인 제어 보드 및 하나 이상의 인터페이스 보드를 포함한다. 메인 제어 보드와 인터페이스 보드들은 통신가능하게 접속된다. 메인 제어 보드는 메인 처리 유닛(main processing unit, MPU) 또는 루트 프로세서 카드(route processor card)라고도 지칭한다. 메인 제어 보드는 루트 계산, 디바이스 관리, 및 기능 유지를 포함하여, 디바이스(1400)에서의 각각의 컴포넌트를 제어 및 관리하는 것을 담당한다. 인터페이스 보드는 라인 처리 유닛(line processing unit, LPU) 또는 라인 카드(line card)로서 또한 지칭되고, 데이터를 포워딩하도록 구성된다. 일부 실시예들에서, 디바이스(1400)는 또한 스위칭 보드를 포함할 수 있다. 스위칭 보드는 메인 제어 보드 및 인터페이스 보드들에 통신가능하게 접속된다. 스위칭 보드는 인터페이스 보드들 사이에 데이터를 포워딩하도록 구성된다. 스위칭 보드는 또한 스위치 패브릭 유닛(switch fabric unit, SFU)이라고 지칭될 수 있다. 인터페이스 보드는 중앙 처리 유닛, 메모리, 포워딩 칩, 및 물리적 인터페이스 카드(physical interface card, PIC)를 포함한다. 중앙 처리 유닛은 메모리, 네트워크 프로세서, 및 물리적 인터페이스 카드에 개별적으로 통신가능하게 접속된다. 메모리는 포워딩 테이블을 저장하도록 구성된다. 포워딩 칩은 메모리에 저장된 포워딩 테이블에 기초하여 수신된 데이터 프레임을 포워딩하도록 구성된다. 데이터 프레임의 목적지 어드레스가 디바이스(1400)의 어드레스인 경우, 데이터 프레임은 처리를 위해 CPU에 전송된다. 데이터 프레임의 목적지 어드레스가 디바이스(1400)의 어드레스가 아닌 경우, 목적지 어드레스에 대응하는 다음 홉 및 아웃바운드 인터페이스가 목적지 어드레스에 기초하여 포워딩 테이블에서 발견되고, 데이터 프레임은 목적지 어드레스에 대응하는 아웃바운드 인터페이스에 포워딩된다. 포워딩 칩은 네트워크 프로세서(network processor, NP)일 수 있다. 서브카드라고도 지칭되는 PIC는 인터페이스 보드상에 설치될 수 있다. PIC는 광학 또는 전기 신호를 데이터 프레임으로 변환하는 것, 데이터 프레임의 유효성을 체크하는 것, 및 데이터 프레임을 처리를 위해 포워딩 칩에 포워딩하는 것을 책임지고 있다. 일부 실시예들에서, 중앙 처리 유닛은 또한 포워딩 칩의 기능을 수행할 수 있고, 예를 들어, 범용 CPU에 기초하여 소프트웨어 포워딩을 구현하여, 인터페이스 보드가 포워딩 칩을 필요로 하지 않도록 할 수 있다. 메인 제어 보드, 인터페이스 보드들, 및 스위칭 보드 사이의 통신 접속은 버스를 통해 구현될 수 있다. 일부 실시예들에서, 포워딩 칩은 주문형 집적 회로(application-specific integrated circuit, ASIC) 또는 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA)로서 구현될 수 있다.
논리적으로, 디바이스(1400)는 제어 평면 및 포워딩 평면을 포함한다. 제어 평면은 메인 제어 보드 및 중앙 처리 유닛을 포함한다. 포워딩 평면은 메모리, PIC, 및 NP와 같은 포워딩을 수행하기 위한 컴포넌트들을 포함한다. 제어 평면은 라우터의 기능, 포워딩 테이블을 생성하는 기능, 시그널링 및 프로토콜 패킷들을 처리하는 기능, 및 PE(1)의 상태를 구성하고 유지하는 기능과 같은 기능들을 수행한다. 제어 평면은 생성된 포워딩 테이블을 포워딩 평면에 전달한다. 포워딩 평면상에서, NP는 포워딩 테이블에서의 내용에 기초하여, 디바이스(1400)의 PIC에 의해 수신된 패킷을 포워딩하기 위해 제어 평면에 의해 전달되는 포워딩 테이블을 탐색한다. 제어 평면에 의해 전달되는 포워딩 테이블은 메모리에 저장될 수 있다. 일부 실시예들에서, 제어 평면 및 포워딩 평면은 분리될 수 있고, 동일한 디바이스상에 있지 않다.
도 15는 전술한 실시예들에서의 네트워크 디바이스의 가능한 구조의 개략도이다. 네트워크 디바이스(1500)는 전술한 실시예들에서 네트워크 디바이스(102) 또는 네트워크 디바이스(203)의 기능을 구현할 수 있다. 도 15에서, 네트워크 디바이스(1500)는 수신 유닛(1501), 처리 유닛(1502), 및 전송 유닛(1503)을 포함한다. 이러한 유닛들은 전술한 방법에서 네트워크 디바이스(102) 또는 네트워크 디바이스(203)의 대응하는 기능을 수행할 수 있다. 예는 다음과 같다:
수신 유닛(1501)은 제1 네트워크로부터 제1 패킷을 수신하도록 구성된다. 제1 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다.
처리 유닛(1502)은 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 형성하도록 구성된다. 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함한다.
전송 유닛(1503)은 제2 패킷을 제2 네트워크에 전송하도록 구성된다.
네트워크 디바이스(1500)는 대안적으로 도 13에 도시된 디바이스를 사용하여 구현될 수 있다. 이 경우, 네트워크 디바이스(1500)는 적어도 하나의 프로세서, 통신 버스, 및 적어도 하나의 통신 인터페이스를 포함한다. 선택적으로, 네트워크 디바이스(1500)는 메모리를 추가로 포함할 수 있다.
특정 실시예에서, 네트워크 디바이스(1500)에서의 프로세서는 통신 인터페이스를 통해 제1 네트워크로부터 제1 패킷을 수신하도록 구성된다. 제1 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 프로세서는 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 형성하도록 추가로 구성되고, 여기서 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함하고; 및 제2 패킷을 통신 인터페이스를 통해 제2 네트워크에 전송한다. 프로세서의 상세한 처리 프로세스에 대해서는, 전술한 실시예에서의 S140, S150, 및 S160의 프로세스 및 S270, S280, 및 S290의 프로세스의 상세한 설명들을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
네트워크 디바이스(1500)에서의 통신 인터페이스는 네트워크 시스템을 통해 패킷들을 수신하고 전송하기 위해 네트워크 디바이스(1500)에 의해 사용된다. 구체적인 프로세스에 대해서는, 전술한 실시예들에서의 S140, S160, S270, 및 S290의 상세한 설명들을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
네트워크 디바이스(1500)는 대안적으로 도 14에 도시된 디바이스를 사용하여 구현될 수 있다. 이 경우, 네트워크 디바이스(1500)는 메인 제어 보드 및 하나 이상의 인터페이스 보드를 포함한다. 메인 제어 보드와 인터페이스 보드들은 통신가능하게 접속된다. 상세 사항들에 대해서는, 전술한 실시예에서의 네트워크 디바이스(1400)의 설명을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
도 16은 전술한 실시예들에서의 네트워크 디바이스의 가능한 구조의 개략도이다. 네트워크 디바이스(1600)는 전술한 실시예들에서의 네트워크 디바이스(101) 또는 네트워크 디바이스(202)의 기능을 구현할 수 있다. 도 16에서, 네트워크 디바이스(1600)는 수신 유닛(1601), 처리 유닛(1602), 및 전송 유닛(1603)을 포함한다. 이러한 유닛들은 전술한 방법에서 네트워크 디바이스(101) 또는 네트워크 디바이스(202)의 대응하는 기능을 수행할 수 있다. 예는 다음과 같다:
수신 유닛(1601)은 제1 패킷을 수신하도록 구성된다.
처리 유닛(1602)은 세그먼트 리스트를 제1 패킷에 추가하여 제2 패킷을 형성하도록 구성된다. 세그먼트 리스트는 제2 패킷의 포워딩 경로를 표시한다. 포워딩 경로는 복수의 네트워크 디바이스를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다.
전송 유닛(1603)은 제2 패킷을 전송하도록 구성된다.
네트워크 디바이스(1600)는 대안적으로 도 13에 도시된 디바이스를 사용하여 구현될 수 있다. 이 경우, 네트워크 디바이스(1600)는 적어도 하나의 프로세서, 통신 버스, 및 적어도 하나의 통신 인터페이스를 포함한다. 선택적으로, 네트워크 디바이스(1600)는 메모리를 추가로 포함할 수 있다.
특정 실시예에서, 네트워크 디바이스(1600)에서의 프로세서는 통신 인터페이스를 통해 제1 패킷을 수신하고, 세그먼트 리스트를 제1 패킷에 추가하여 제2 패킷을 형성하도록 구성된다. 세그먼트 리스트는 제2 패킷의 포워딩 경로를 표시한다. 포워딩 경로는 복수의 네트워크 디바이스를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 프로세서는 통신 인터페이스를 통해 제2 패킷을 전송하도록 추가로 구성된다. 프로세서의 상세한 처리 프로세스에 대해서는, 전술한 실시예에서의 S110, S120, 및 S130의 프로세스 및 S240, S250, 및 S260의 프로세스의 상세한 설명들을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
네트워크 디바이스(1600)에서의 통신 인터페이스는 네트워크 시스템을 통해 패킷들을 수신하고 전송하기 위해 네트워크 디바이스(1600)에 의해 사용된다. 구체적인 프로세스에 대해서는, 전술한 실시예들에서의 S110, S130, S240, 및 S260의 상세한 설명들을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
네트워크 디바이스(1600)는 대안적으로 도 14에 도시된 디바이스를 사용하여 구현될 수 있다. 이 경우, 네트워크 디바이스(1600)는 메인 제어 보드 및 하나 이상의 인터페이스 보드를 포함한다. 메인 제어 보드와 인터페이스 보드들은 통신가능하게 접속된다. 상세 사항들에 대해서는, 전술한 실시예에서의 네트워크 디바이스(1400)의 설명을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
도 17은 전술한 실시예에서의 제어기(201)의 가능한 구조의 개략도이다. 제어기(1700)는 전술한 실시예에서 제어기(201)의 기능을 구현할 수 있다. 도 17에서, 제어기(1700)는 처리 유닛(1701) 및 전송 유닛(1702)을 포함한다. 이러한 유닛들은 전술한 방법에서 제어기(201)의 대응하는 기능을 수행할 수 있다. 예는 다음과 같다:
처리 유닛(1701)은: 패킷의 포워딩 경로를 결정하고 - 포워딩 경로는 적어도 2개의 네트워크상에 로케이팅되는 복수의 네트워크 디바이스를 포함하고, 적어도 2개의 네트워크는 제1 네트워크 및 제2 네트워크를 포함하고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이함 -; 및 포워딩 경로에 대응하는 세그먼트 리스트를 생성하도록 구성된다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크에 대응한다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다.
전송 유닛(1702)은 세그먼트 리스트를 포워딩 경로상의 인그레스 디바이스에 전송하도록 구성된다.
제어기(1700)는 대안적으로 도 13에 도시된 디바이스를 이용하여 구현될 수 있다. 이 경우, 제어기(1700)는 적어도 하나의 프로세서, 통신 버스, 및 적어도 하나의 통신 인터페이스를 포함한다. 선택적으로, 제어기(1700)는 메모리를 추가로 포함할 수 있다.
특정 실시예에서, 제어기(1700)에서의 프로세서는: 패킷의 포워딩 경로를 결정하고 - 포워딩 경로는 적어도 2개의 네트워크상에 로케이팅되는 복수의 네트워크 디바이스를 포함하고, 적어도 2개의 네트워크는 제1 네트워크 및 제2 네트워크를 포함하고, 제1 네트워크의 타입은 제2 네트워크의 타입과 상이함 -; 및 포워딩 경로에 대응하는 세그먼트 리스트를 생성하도록 구성된다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크에 대응한다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 프로세서는 세그먼트 리스트를 통신 인터페이스를 통해 포워딩 경로상의 인그레스 디바이스에 전송하도록 추가로 구성된다.
프로세서의 상세한 처리 프로세스에 대해서는, 전술한 실시예에서의 S210, S220, 및 S230의 프로세스의 상세한 설명들을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
제어기(1700)에서의 통신 인터페이스는 네트워크 시스템을 통해 정보를 수신 및 전송하기 위해 제어기(1700)에 의해 사용된다. 구체적인 프로세스에 대해서는, 전술한 실시예에서의 S230의 상세한 설명을 참조한다. 상세 사항은 여기서 다시 설명하지 않는다.
도 18을 참조한다. 도 18은 본 출원의 실시예에 따른 네트워크 시스템의 가능한 구조의 개략도이다. 네트워크 시스템(1800)은 제1 네트워크 디바이스(1801) 및 제2 네트워크 디바이스(1802)를 포함한다. 네트워크 시스템에서의 제1 네트워크 디바이스(1801)는 도 11에 도시된 실시예에서의 네트워크 디바이스(102)의 처리 단계들(S140, S150, 및 S160), 또는 도 12에 도시된 실시예에서의 네트워크 디바이스(203)의 처리 단계들(S270, S280, 및 S290)을 수행할 수 있다. 네트워크 시스템에서의 제2 네트워크 디바이스(1802)는 도 11에 도시된 실시예에서의 네트워크 디바이스(101)의 처리 단계들(S110, S120, 및 S130), 또는 네트워크 디바이스(202)의 처리 단계들(S240, S250, 및 S260)을 수행할 수 있다.
선택적으로, 네트워크 시스템(1800)은 제어기(1803)를 추가로 포함한다. 네트워크 시스템에서의 제어기(1803)는 도 12에 도시된 실시예에서의 제어기(201)의 처리 단계들(S210, S220, 및 S230)을 수행할 수 있다.
이에 대응하여, 네트워크 시스템에서의 제1 네트워크 디바이스(1801)는 도 16에 도시된 실시예에서의 네트워크 디바이스(1600)일 수 있다. 네트워크 시스템에서의 제2 네트워크 디바이스(1802)는 도 15에 도시된 실시예에서의 네트워크 디바이스(1500)일 수 있다. 네트워크 시스템에서의 제어기(1803)는 도 17에 도시된 실시예에서의 제어기(1700)일 수 있다.
구체적으로, 제어기는 패킷의 포워딩 경로를 결정하도록 구성된다. 포워딩 경로는 적어도 2개의 네트워크상에 로케이팅되는 복수의 네트워크 디바이스를 포함한다. 적어도 2개의 네트워크는 제1 네트워크 및 제2 네트워크를 포함한다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 제어기는 포워딩 경로에 대응하는 세그먼트 리스트를 생성하도록 추가로 구성된다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크에 대응한다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제어기는 세그먼트 리스트를 포워딩 경로상의 인그레스 디바이스에 전송하도록 추가로 구성된다.
제2 네트워크 디바이스는 제1 패킷을 수신하고, 세그먼트 리스트를 제1 패킷에 추가하여 제2 패킷을 형성하도록 구성된다. 세그먼트 리스트는 제2 패킷의 포워딩 경로를 표시한다. 포워딩 경로는 복수의 네트워크 디바이스를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 포워딩 경로상의 복수의 네트워크 디바이스 중 하나 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 제2 네트워크 디바이스는 제2 패킷을 전송하도록 추가로 구성된다.
선택적으로, 네트워크 시스템이 제어기를 포함할 때, 세그먼트 리스트는 제어기에 의해 전송되고 제2 네트워크 디바이스에 의해 수신되는 세그먼트 리스트이다. 선택적으로, 네트워크 시스템이 제어기를 포함하지 않을 때, 제2 네트워크 디바이스가 세그먼트 리스트를 획득하는 것은 제2 네트워크 디바이스가 세그먼트 리스트를 생성하는 것을 의미한다.
제1 네트워크 디바이스는 제1 네트워크로부터 제2 패킷을 수신하도록 구성된다. 제2 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함한다. 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함한다. 복수의 식별자 각각은 하나의 네트워크 디바이스 또는 하나의 링크를 식별하기 위해 사용된다. 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함한다. 제1 타입 식별자의 타입은 제2 타입 식별자의 타입과 상이하다. 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제1 네트워크상에 있다. 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있다. 제1 네트워크의 타입은 제2 네트워크의 타입과 상이하다. 제1 네트워크 디바이스는: 제2 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제3 패킷을 형성하고 - 제2 패킷 헤더는 복수의 제2 타입 식별자를 포함함 -; 및 제3 패킷을 제2 네트워크에 전송하도록 추가로 구성된다.
본 발명의 실시예는 전술한 실시예들에서 사용되는 소프트웨어 명령어를 저장하도록 구성된 비일시적 저장 매체를 추가로 제공한다. 비일시적 저장 매체는 전술한 실시예들에 도시된 방법들을 수행하기 위해 사용되는 프로그램을 포함한다. 프로그램이 컴퓨터 또는 네트워크 디바이스상에서 실행될 때, 컴퓨터 또는 네트워크 디바이스는 전술한 방법 실시예들에서의 방법들을 수행할 수 있게 된다.
본 발명의 실시예는 컴퓨터 프로그램 명령어를 포함하는 컴퓨터 프로그램 제품을 추가로 제공한다. 컴퓨터 프로그램 제품이 컴퓨터상에서 실행될 때, 컴퓨터는 전술한 방법 실시예들에서의 방법을 수행할 수 있게 된다.
본 발명의 실시예들에서 언급되는 제1 패킷 및 제1 네트워크 디바이스에서의 "제1"은 단지 명칭 식별자로서 사용되고, 시퀀스에서의 첫번째를 표현하지 않는다. 규칙은 또한 "제2", "제3", "제4" 등에 적용된다. 그러나, 본 발명의 실시예들에서 언급된 제1 식별자에서의 "제1"은 시퀀스에서의 첫번째를 표현한다. 이러한 규칙은 또한 "Nth"에 적용된다.
본 발명의 실시예들에서, "A 및/또는 B"는 3가지 경우: A만, B만, 및 A와 B 둘 모두를 포함하는 것으로 간주된다.
위에 설명된 임의의 장치 실시예는 단지 예라는 점을 유의해야 한다. 개별 부분들로서 설명된 유닛들은 물리적으로 분리되거나 분리되지 않을 수 있으며, 유닛들로서 표시된 부분들은 물리적 유닛들이거나 아닐 수 있고, 하나의 로케이션에 로케이팅될 수 있거나, 또는 복수의 네트워크 유닛상에 분산될 수 있다. 모듈들의 일부 또는 전부는 실시예들의 해결책들의 목적들을 달성하기 위한 실제 필요에 기초하여 선택될 수 있다. 또한, 본 발명에 의해 제공되는 네트워크 디바이스 또는 호스트의 실시예들의 첨부 도면들에서, 모듈들 사이의 접속 관계들은 모듈들이 서로 통신 접속들을 갖는다는 것을 표시하고, 이것은 하나 이상의 통신 버스 또는 신호 케이블로서 구체적으로 구현될 수 있다. 본 기술분야의 통상의 기술자는 창의적 노력 없이도 본 발명의 실시예들을 이해하고 구현할 수 있다.
본 발명의 실시예들에서 개시된 내용과 조합하여 설명된 방법들 또는 알고리즘 단계들은 하드웨어에 의해 구현될 수 있거나, 또는 소프트웨어 명령어를 실행하는 것에 의해 프로세서에 의해 구현될 수 있다. 소프트웨어 명령어는 대응하는 소프트웨어 모듈을 포함할 수 있다. 이러한 소프트웨어 모듈은 랜덤 액세스 메모리(random access memory, RAM), 플래시 메모리, 판독 전용 메모리(read-only memory, ROM), 소거가능 프로그램가능 판독 전용 메모리(erasable programmable ROM, EPROM), 전기적 소거가능 프로그램가능 판독 전용 메모리(Electrically EPROM, EEPROM), 하드 디스크, 이동식 하드 디스크, 컴팩트 디스크, 또는 본 기술분야에 잘 알려진 임의의 다른 형태의 저장 매체에 저장될 수 있다. 저장 매체는 프로세서에 결합되어, 프로세서가 저장 매체로부터 정보를 판독할 수 있도록 한다. 분명히, 저장 매체는 프로세서의 컴포넌트일 수 있다.
전술한 구체적인 실시예들에서, 본 발명의 목적들, 기술적 해결책들, 및 이점들이 상세히 더 설명되었다. 전술한 설명은 본 발명의 특정 실시예들일 뿐이며, 본 발명의 보호 범위를 제한하려는 의도는 아니라는 것을 이해해야 한다. 본 발명의 기술적 해결책에 기초한 임의의 수정, 대체, 또는 개선은 본 발명의 보호 범위 내에 든다.

Claims (41)

  1. 패킷 포워딩 방법으로서:
    세그먼트 라우팅 디바이스에 의해, 제1 네트워크로부터 제1 패킷을 수신하는 단계 - 상기 제1 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함하고, 상기 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 상기 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 상기 제1 타입 식별자의 타입은 상기 제2 타입 식별자의 타입과 상이하고, 상기 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 상기 제1 네트워크상에 있고, 상기 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 제2 네트워크상에 있고, 상기 제1 네트워크는 상기 제2 네트워크와 상이하고, 상기 세그먼트 라우팅 디바이스는 상기 제1 네트워크 및/또는 상기 제2 네트워크의 에지 디바이스임 -;
    상기 세그먼트 라우팅 디바이스에 의해, 상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 생성하는 단계 - 상기 제2 패킷 헤더는 상기 복수의 제2 타입 식별자를 포함함 -; 및
    상기 세그먼트 라우팅 디바이스에 의해, 상기 제2 패킷을 상기 제2 네트워크에 전송하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 제1 타입 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자를 포함하는 방법.
  3. 제2항에 있어서,
    상기 복수의 제2 타입 식별자는 서로 인접하고, 상기 제1 타입 식별자는 상기 복수의 제2 타입 식별자 이전에 로케이팅되거나, 또는 상기 제1 타입 식별자는 상기 복수의 제2 타입 식별자 이후에 로케이팅되는 방법.
  4. 제3항에 있어서,
    상기 세그먼트 리스트는 표시 식별자를 포함하고, 상기 표시 식별자는 상기 복수의 제2 타입 식별자의 시작 로케이션을 표시하기 위해 사용되는 방법.
  5. 제4항에 있어서,
    상기 표시 식별자는 상기 제1 타입 식별자의 적어도 하나 이후 및 상기 복수의 제2 타입 식별자 이전에 로케이팅되고, 상기 표시 식별자의 길이는 상기 압축된 세그먼트 식별자의 길이와 동일한 방법.
  6. 제4항에 있어서,
    상기 표시 식별자는 종료 세그먼트 식별자에 포함되고, 상기 종료 세그먼트 식별자는 상기 적어도 하나의 제1 타입 식별자 중 하나이고, 상기 종료 세그먼트 식별자는 상기 복수의 제2 타입 식별자 중 제1 식별자에 인접하고, 상기 종료 세그먼트 식별자는 상기 제1 식별자 이전에 로케이팅되는 방법.
  7. 제6항에 있어서,
    상기 표시 식별자는 세그먼트 라우팅 인터넷 프로토콜 버전 6(SRv6) 네트워크상의 함수를 식별하기 위해 사용되고, 상기 표시 식별자는 상기 종료 세그먼트 식별자의 함수 필드에 로케이팅되는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 복수의 제2 타입 식별자는 서로 인접하고, 상기 복수의 제2 타입 식별자는 멀티프로토콜 레이블 스위치(MPLS) 레이블을 포함하고, 상기 제2 패킷 헤더는 MPLS 패킷 헤더이고, 상기 제2 네트워크는 MPLS 네트워크인 방법.
  9. 제8항에 있어서,
    상기 제1 패킷은 종료 식별자를 추가로 포함하고;
    상기 세그먼트 라우팅 디바이스에 의해, 상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 단계는:
    상기 세그먼트 라우팅 디바이스에 의해, 상기 종료 식별자에 기초하여 상기 복수의 제2 타입 식별자 중 마지막 식별자를 결정하는 단계를 추가로 포함하는 방법.
  10. 제8항에 있어서,
    상기 제1 패킷은 양 식별자를 추가로 포함하고;
    상기 세그먼트 라우팅 디바이스에 의해, 상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 단계는:
    상기 세그먼트 라우팅 디바이스에 의해, 상기 양 식별자에 기초하여 상기 복수의 제2 타입 식별자 중 식별자들의 양을 결정하는 단계를 추가로 포함하는 방법.
  11. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 복수의 제2 타입 식별자는 인터넷 프로토콜 버전 4(IPv4) 어드레스를 포함하고, 상기 제2 패킷 헤더는 IPv4 패킷 헤더이고, 상기 제2 네트워크는 IPv4 네트워크이고, 상기 복수의 제2 타입 식별자는 소스 식별자 및 목적지 식별자를 포함하고, 상기 소스 식별자는 IPv4 터널의 소스 어드레스에 대응하고, 상기 목적지 식별자는 상기 IPv4 터널의 목적지 어드레스에 대응하고, 상기 IPv4 터널은 상기 제2 패킷을 포워딩하기 위해 사용되는 방법.
  12. 제7항에 있어서,
    상기 세그먼트 리스트는 타입 식별자를 포함하고, 상기 타입 식별자는 IPv4 터널 타입의 타입을 표시하기 위해 사용되는 방법.
  13. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 제1 패킷은 포인터를 추가로 포함하고,
    상기 세그먼트 라우팅 디바이스에 의해, 상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 단계는:
    상기 세그먼트 라우팅 디바이스에 의해, 상기 포인터에 기초하여 상기 세그먼트 리스트에서의 상기 복수의 제2 타입 식별자 중 제1 식별자의 로케이션을 결정하는 단계를 포함하는 방법.
  14. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 세그먼트 리스트는 그 길이가 128 비트인 요소를 포함하고, 상기 복수의 제2 타입 식별자 중 제1 식별자는 요소에서의 제1 식별자인 방법.
  15. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 제2 패킷은 IPv6 패킷 헤더를 포함하고, 상기 방법은:
    상기 IPv6 패킷 헤더의 목적지 어드레스 필드에 크로스-도메인 식별자를 추가하는 단계 - 상기 크로스-도메인 식별자는 상기 적어도 하나의 제1 타입 식별자 중 하나이고, 상기 크로스-도메인 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자임 - 를 추가로 포함하는 방법.
  16. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 세그먼트 리스트는 표시 식별자를 포함하고,
    상기 세그먼트 라우팅 디바이스에 의해, 상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 단계는:
    상기 표시 식별자에 따라 상기 제1 패킷에 대해 상기 제2 패킷 헤더를 캡슐화하는 단계를 추가로 포함하는, 방법.
  17. 제4항에 있어서,
    상기 세그먼트 라우팅 디바이스에 의해, 상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 단계는:
    상기 표시 식별자에 따라 상기 제1 패킷에 대해 상기 제2 패킷 헤더를 캡슐화하는 단계를 추가로 포함하는, 방법.
  18. 제16항에 있어서,
    상기 표시 식별자는 END.M 세그먼트 식별자 또는 END.4 세그먼트 식별자인, 방법.
  19. 제16항에 있어서,
    상기 제1 패킷 헤더는 상기 제2 패킷에 유지되는, 방법.
  20. 세그먼트 리스트 생성 방법으로서:
    제어기에 의해, 패킷의 포워딩 경로를 결정하는 단계 - 상기 포워딩 경로는 적어도 2개의 네트워크상에 로케이팅되는 복수의 네트워크 디바이스를 포함하고, 상기 적어도 2개의 네트워크는 제1 네트워크 및 제2 네트워크를 포함하고, 상기 제1 네트워크는 상기 제2 네트워크와 상이함 -;
    상기 제어기에 의해, 상기 포워딩 경로에 대응하는 상기 세그먼트 리스트를 생성하는 단계 - 상기 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 상기 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 상기 제1 타입 식별자의 타입은 상기 제2 타입 식별자의 타입과 상이하고, 상기 제1 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 상기 제1 네트워크상에 있고, 상기 제2 타입 식별자에 의해 식별되는 네트워크 디바이스 또는 링크는 상기 제2 네트워크상에 있음 -; 및
    상기 제어기에 의해, 상기 세그먼트 리스트를 상기 포워딩 경로상의 인그레스 디바이스에 전송하는 단계 - 상기 인그레스 디바이스는 상기 제1 네트워크 및/또는 상기 제2 네트워크의 에지 디바이스임 -
    를 포함하는 방법.
  21. 제20항에 있어서,
    상기 세그먼트 리스트는 표시 식별자를 포함하고, 상기 표시 식별자는 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 생성하는 것을 표시하기 위해 사용되고, 상기 제1 패킷의 제1 패킷 헤더는 상기 세그먼트 리스트를 포함하고, 상기 제2 패킷 헤더는 상기 복수의 제2 타입 식별자를 포함하는, 방법.
  22. 제21항에 있어서,
    상기 표시 식별자는 END.M 세그먼트 식별자 또는 END.4 세그먼트 식별자인, 방법.
  23. 네트워크 디바이스로서:
    명령어들을 포함하는 메모리;
    상기 메모리에 결합된 하나 이상의 프로세서를 포함하고, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 네트워크 디바이스로 하여금:
    제1 네트워크로부터 제1 패킷을 수신하고 - 상기 제1 패킷의 제1 패킷 헤더는 세그먼트 리스트를 포함하고, 상기 세그먼트 리스트는 복수의 순차적으로 배열된 식별자를 포함하고, 상기 복수의 식별자는 적어도 하나의 제1 타입 식별자 및 복수의 제2 타입 식별자를 포함하고, 상기 제1 타입 식별자의 타입은 상기 제2 타입 식별자의 타입과 상이하고, 상기 제1 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 상기 제1 네트워크상에 있고, 상기 제2 타입 식별자에 의해 식별된 네트워크 디바이스 또는 링크는 제2 네트워크상에 있고, 상기 제1 네트워크는 상기 제2 네트워크와 상이하고, 상기 네트워크 디바이스는 상기 제1 네트워크 및/또는 상기 제2 네트워크의 에지 디바이스임 -;
    상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하여 제2 패킷을 형성하고 - 상기 제2 패킷 헤더는 상기 복수의 제2 타입 식별자를 포함함 -; 및
    상기 제2 패킷을 상기 제2 네트워크에 전송하도록 야기하는 디바이스.
  24. 제23항에 있어서,
    상기 적어도 하나의 제1 타입 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자를 포함하는 디바이스.
  25. 제24항에 있어서,
    상기 복수의 제2 타입 식별자는 서로 인접하고, 상기 제1 타입 식별자는 상기 복수의 제2 타입 식별자 이전에 로케이팅되거나, 또는 상기 제1 타입 식별자는 상기 복수의 제2 타입 식별자 이후에 로케이팅되는 디바이스.
  26. 제25항에 있어서,
    상기 세그먼트 리스트는 표시 식별자를 포함하고, 상기 표시 식별자는 상기 복수의 제2 타입 식별자의 시작 로케이션을 표시하기 위해 사용되는 디바이스.
  27. 제26항에 있어서,
    상기 표시 식별자는 상기 제1 타입 식별자의 적어도 하나 이후 및 상기 복수의 제2 타입 식별자 이전에 로케이팅되고, 상기 표시 식별자의 길이는 상기 압축된 세그먼트 식별자의 길이와 동일한 디바이스.
  28. 제26항에 있어서,
    상기 표시 식별자는 종료 세그먼트 식별자에 포함되고, 상기 종료 세그먼트 식별자는 상기 적어도 하나의 제1 타입 식별자 중 하나이고, 상기 종료 세그먼트 식별자는 상기 복수의 제2 타입 식별자 중 제1 식별자에 인접하고, 상기 종료 세그먼트 식별자는 상기 제1 식별자 이전에 로케이팅되는 디바이스.
  29. 제28항에 있어서,
    상기 표시 식별자는 세그먼트 라우팅 인터넷 프로토콜 버전 6(SRv6) 네트워크상의 함수를 식별하기 위해 사용되고, 상기 표시 식별자는 상기 종료 세그먼트 식별자의 함수 필드에 로케이팅되는 디바이스.
  30. 제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 복수의 제2 타입 식별자는 서로 인접하고, 상기 복수의 제2 타입 식별자는 멀티프로토콜 레이블 스위치(MPLS) 레이블을 포함하고, 상기 제2 패킷 헤더는 MPLS 패킷 헤더이고, 상기 제2 네트워크는 MPLS 네트워크인 디바이스.
  31. 제30항에 있어서,
    상기 제1 패킷은 식별자를 추가로 포함하고;
    상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 것은:
    상기 식별자에 기초하여 상기 복수의 제2 타입 식별자 중 마지막 식별자를 결정하는 것을 추가로 포함하는 디바이스.
  32. 제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 복수의 제2 타입 식별자는 인터넷 프로토콜 버전 4(IPv4) 어드레스를 포함하고, 상기 제2 패킷 헤더는 IPv4 패킷 헤더이고, 상기 제2 네트워크는 IPv4 네트워크이고, 상기 복수의 제2 타입 식별자는 소스 식별자 및 목적지 식별자를 포함하고, 상기 소스 식별자는 IPv4 터널의 소스 어드레스에 대응하고, 상기 목적지 식별자는 상기 IPv4 터널의 목적지 어드레스에 대응하고, 상기 IPv4 터널은 상기 제2 패킷을 포워딩하기 위해 사용되는 디바이스.
  33. 제32항에 있어서,
    상기 세그먼트 리스트는 타입 식별자를 포함하고, 상기 타입 식별자는 상기 IPv4 터널의 타입을 표시하기 위해 사용되는 디바이스.
  34. 제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 제1 패킷은 포인터를 추가로 포함하고,
    상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 것은:
    상기 포인터에 기초하여 상기 세그먼트 리스트에서의 상기 복수의 제2 타입 식별자 중 제1 식별자의 로케이션을 결정하는 것을 포함하는 디바이스.
  35. 제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 세그먼트 리스트는 그 길이가 128 비트인 요소를 포함하고, 상기 복수의 제2 타입 식별자 중 제1 식별자는 요소에서의 제1 식별자인 디바이스.
  36. 제23항 내지 제29항 중 어느 한 항에 있어서,
    상기 제2 패킷은 IPv6 패킷 헤더를 포함하고, 상기 네트워크 디바이스는 또한:
    상기 IPv6 패킷 헤더의 목적지 어드레스 필드에 크로스-도메인 식별자를 추가하도록 - 상기 크로스-도메인 식별자는 상기 적어도 하나의 제1 타입 식별자 중 하나이고, 상기 크로스-도메인 식별자는 그 길이가 128 비트인 세그먼트 식별자 또는 그 길이가 128 비트보다 작은 압축된 세그먼트 식별자임 - 야기되는 디바이스.
  37. 제23항 내지 제25항 중 어느 한 항에 있어서,
    상기 세그먼트 리스트는 표시 식별자를 포함하고,
    상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 것은:
    상기 표시 식별자에 따라 상기 제1 패킷에 대해 상기 제2 패킷 헤더를 캡슐화하는 것을 추가로 포함하는, 디바이스.
  38. 제26항에 있어서,
    상기 제1 패킷에 대해 제2 패킷 헤더를 캡슐화하는 것은:
    상기 표시 식별자에 따라 상기 제1 패킷에 대해 상기 제2 패킷 헤더를 캡슐화하는 것을 추가로 포함하는, 디바이스.
  39. 제37항에 있어서,
    상기 표시 식별자는 END.M 세그먼트 식별자 또는 END.4 세그먼트 식별자인, 디바이스.
  40. 제37항에 있어서,
    상기 제1 패킷 헤더는 상기 제2 패킷에 유지되는, 디바이스.
  41. 컴퓨터 판독가능 비 일시적 저장 매체로서, 상기 컴퓨터 판독가능 비 일시적 저장 매체는 컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램이 프로세서상에서 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제7항, 및 제20항 중 어느 한 항에 따른 방법을 구현하게 야기하는 컴퓨터 판독가능 비 일시적 저장 매체.
KR1020210019277A 2020-02-10 2021-02-10 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템 KR102544995B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230075979A KR102640600B1 (ko) 2020-02-10 2023-06-14 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010085223.8A CN113259239A (zh) 2020-02-10 2020-02-10 一种在混合网络中转发报文的方法、设备和系统
CN202010085223.8 2020-02-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230075979A Division KR102640600B1 (ko) 2020-02-10 2023-06-14 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템

Publications (2)

Publication Number Publication Date
KR20210102107A KR20210102107A (ko) 2021-08-19
KR102544995B1 true KR102544995B1 (ko) 2023-06-21

Family

ID=74586938

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210019277A KR102544995B1 (ko) 2020-02-10 2021-02-10 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템
KR1020230075979A KR102640600B1 (ko) 2020-02-10 2023-06-14 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230075979A KR102640600B1 (ko) 2020-02-10 2023-06-14 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템

Country Status (5)

Country Link
US (1) US11924099B2 (ko)
EP (1) EP3863240A1 (ko)
JP (1) JP7274516B2 (ko)
KR (2) KR102544995B1 (ko)
CN (1) CN113259239A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477041B2 (en) * 2020-03-31 2022-10-18 Nokia Solutions And Networks Oy Stateless multicast based on local label spaces
CN114124839B (zh) * 2021-09-07 2023-06-06 中国联合网络通信集团有限公司 接口板和数据处理方法
CN113872866B (zh) * 2021-09-28 2023-04-07 中国电信股份有限公司 报文转发方法、系统以及存储介质
CN113973074B (zh) * 2021-10-26 2022-12-20 新华三信息安全技术有限公司 一种报文处理方法、装置、电子设备及介质
CN114050996B (zh) * 2021-11-29 2023-03-24 中国人民解放军国防科技大学 一种段路由扩展报文转发方法
CN114448881B (zh) * 2022-02-25 2023-06-09 烽火通信科技股份有限公司 一种跨sr mpls与srv6域互操作通信的方法和系统
CN116938787A (zh) * 2022-04-06 2023-10-24 中兴通讯股份有限公司 一种报文转发方法、装置、存储介质及电子装置
CN114615197A (zh) * 2022-04-07 2022-06-10 中国电信股份有限公司 报文转发方法、装置、电子设备及存储介质
CN115150308B (zh) * 2022-07-19 2023-10-10 天翼云科技有限公司 一种流量统计方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11134002B2 (en) * 2018-10-22 2021-09-28 Cisco Technology, Inc. Packet network interworking including segment routing
CN112583745A (zh) 2019-09-27 2021-03-30 华为技术有限公司 一种在sr网络中转发报文的方法、设备和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘SRv6 and MPLS interworking’, IETF, 2018.10.23.

Also Published As

Publication number Publication date
CN113259239A (zh) 2021-08-13
JP7274516B2 (ja) 2023-05-16
US11924099B2 (en) 2024-03-05
KR20210102107A (ko) 2021-08-19
US20210250288A1 (en) 2021-08-12
JP2021129300A (ja) 2021-09-02
KR102640600B1 (ko) 2024-02-27
KR20230093199A (ko) 2023-06-27
EP3863240A1 (en) 2021-08-11

Similar Documents

Publication Publication Date Title
KR102544995B1 (ko) 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템
US11792100B2 (en) Network performance parameter sending method, network performance calculation method, and network node
CN110870261B (zh) Pecp分段路由路径分段标签绑定扩展
CN113824638A (zh) 一种转发报文的方法、设备和系统
EP4009596A1 (en) Message forwarding method, device, and system in sr network
CN112448888A (zh) 一种在sr网络中转发报文的方法、设备和系统
CN114374634A (zh) 报文转发方法以及网络设备
CN113852550A (zh) 发送报文的方法、装置、网络设备、系统及存储介质
KR20230035674A (ko) 경로 광고 방법 및 관련 디바이스
CN112787922A (zh) 一种报文处理的方法、网络节点和系统
CN114650255B (zh) 报文处理方法及网络设备
US20230412508A1 (en) Packet processing method and related apparatus
CN113630316B (zh) 一种数据传输方法及通信装置
US20230216792A1 (en) Method for Generating Routing Information, Method for Sending Location Information, Method for Forwarding Packet, and Device
CN114553699A (zh) 报文传输方法、装置、设备及计算机可读存储介质
CN116828024A (zh) 业务连接的标识方法、装置、系统及存储介质
CN116668375B (zh) 一种报文分流方法、装置、网络设备及存储介质
WO2024067084A1 (zh) 一种路径故障检测的方法以及相关装置
CN117527693A (zh) 报文转发方法、设备、系统及存储介质
CN114915519A (zh) 通信方法和通信装置
JP2024520119A (ja) パケット処理方法、装置、及びシステム
CN118075185A (zh) 路由更新方法、装置、设备及存储介质
CN117221201A (zh) 报文发送的方法、网络设备及系统
CN115118651A (zh) 用于获取路径的方法和装置
CN115834491A (zh) 报文处理方法、流规范传输方法、设备、系统及存储介质

Legal Events

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