JP2024502280A - パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体 - Google Patents

パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体 Download PDF

Info

Publication number
JP2024502280A
JP2024502280A JP2023538837A JP2023538837A JP2024502280A JP 2024502280 A JP2024502280 A JP 2024502280A JP 2023538837 A JP2023538837 A JP 2023538837A JP 2023538837 A JP2023538837 A JP 2023538837A JP 2024502280 A JP2024502280 A JP 2024502280A
Authority
JP
Japan
Prior art keywords
packet
node information
node
list
information list
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2023538837A
Other languages
English (en)
Inventor
雪松 耿
振斌 李
▲經▼▲榮▼ ▲謝▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2024502280A publication Critical patent/JP2024502280A/ja
Pending legal-status Critical Current

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/34Source 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/16Multipoint routing

Landscapes

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

Abstract

パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体が提供される。本方法は、第1のデバイスが、第1のパケットを取得し、第1のパケットの宛先アドレスフィールドで搬送される第1の部分を使用して、第1のパケットのノード情報リストから第2のデバイスのノード情報および第3のデバイスのノード情報を決定することを含む。第1のデバイスは、第1のパケットに基づいて、第2のデバイスのノード情報を含む第2のパケットと、第3のデバイスのノード情報を含む第3のパケットとを生成する。第1のデバイスは、第2のパケットを第2のデバイスに送信し、第3のパケットを第3のデバイスに送信する。前述の方法によれば、第1のパケットの第1の部分が使用され、これにより、パケット伝送時に次のパケット受信および処理デバイスが効率的に位置特定されることができ、パケット伝送プロセスにおけるオーバーヘッドが低減される。

Description

本出願は、2020年12月22日に出願された、「パケット送信方法、デバイス、およびシステム」と題された中国特許出願第202011528118.3号、ならびに2021年2月27日に出願された、「パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体」と題された中国特許出願第202110221894.7号の優先権を主張し、これらの全体は参照によりここに組み込まれる。
本出願は、通信技術の分野に関し、特に、パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体に関する。
通信ネットワークにおいて、通信デバイスは、パケットを伝送することによって情報を伝送する。通信技術の発展に伴い、通信デバイス間でパケットを伝送する増加した数の方法がある。例えば、パケットは、セグメント・ルーティング・オーバ・インターネット・プロトコル・バージョン6(segment routing over internet protocol version 6、SRv6)シナリオで伝送される。SRv6パケットの場合、セグメントルーティング拡張ヘッダ(segment routing header、SRH)がIPv6パケットに挿入され、SRv6は、セグメントリスト(segment list)を使用してパケット伝送経路で伝送される。例えば、マルチキャスト技術では、SRHのセグメント識別子(segment identifier、SID)が拡張され、セグメントリスト内の次のノードのSIDの位置を位置特定するために、マルチキャストツリーのフォークの数およびサブツリーセグメント識別子の数が定義される。加えて、パケットが複製された後、パケット伝送経路でパケットを伝送するために、他のノードのSIDおよび他のノードのサブツリーSIDが削除される。
しかしながら、本方法で提供されるセグメントリストでは、複製ノードに対応するSIDと、複製ノードが複製を実行した後に取得されたサブツリーに対応するSIDとが、入れ子符号化のために一緒に配置される。結果として、符号化構造は複雑であり、各ノードは、パケットを複製した後にSIDを処理する必要がある。その結果、パケット伝送プロセスにおけるオーバーヘッドが過度に高くなり、伝送効率が過度に低くなる。
本出願の実施形態は、パケット伝送プロセスにおけるオーバーヘッドを低減し、伝送効率を改善するために、パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体を提供する。
第1の態様によれば、パケット伝送方法が提供される。第1のデバイスが本方法を実行する例が、本方法を説明するために使用される。第1のデバイスは、宛先アドレスフィールドおよびノード情報リストを搬送する第1のパケットを取得する。ノード情報リストは、第2のデバイスのノード情報および第3のデバイスのノード情報を含む。第2のデバイスおよび第3のデバイスは、第1のパケットの伝送経路上のデバイスであり、第1のデバイスの次ホップデバイスであってもなくてもよい。例えば、第1のパケットはSRv6パケットであり、ノード情報リストはセグメントリストであり、第2のデバイスのノード情報は第2のデバイスのSIDであり、第3のデバイスのノード情報は第3のデバイスのSIDである。宛先アドレスフィールドは、第1の部分を含み、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する。同様に、第1のパケットがSRv6パケットである例が使用される。第1の部分は、SIDの引数(argument、Args)フィールドにポインタ(pointer)を定義することによって実施されてもよい。すなわち、第1の部分はpointerである。第1のデバイスは、第1の部分に基づいてノード情報リストから第2のデバイスのノード情報および第3のデバイスのノード情報を決定し、第1のパケットに基づいて第2のパケットおよび第3のパケットを生成する。第2のパケットは第2のデバイスのノード情報を含み、第3のパケットは第3のデバイスのノード情報を含む。第1のデバイスは、第2のパケットを第2のデバイスに送信し、第3のパケットを第3のデバイスに送信する。
技術的解決策で提供されるパケット伝送方法によれば、第1のデバイスは、第1のパケットで搬送される第1の部分およびノード情報リストを使用して、次のパケット処理デバイスを迅速に位置特定し、第1のパケットに基づいて、次のパケット処理デバイスによって受信される必要があるパケットを生成し、パケットを伝送することができる。これは、パケット伝送プロセスにおけるオーバーヘッドを低減し、パケット伝送効率を改善する。
可能な実施態様では、ノード情報リストは、第1のデバイスのノード情報を含んでも含まなくてもよい。ノード情報リストが、第1のパケットの伝送経路上で第1のデバイスの後に位置するパケット処理デバイスのノード情報のみを含むとき、ノード情報リストによって占有されるスペースが低減され得、これにより、パケット伝送効率も改善され得る。
可能な実施態様では、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報の位置が開始位置であり、ノード情報リスト内の第3のデバイスのノード情報の位置が終了位置であることを示す。あるいは、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報の位置が開始位置であることを示し、ノード情報リスト内の第2のデバイスの位置に対するノード情報リスト内の第3のデバイスの位置のオフセットを示す。第1の部分がノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する方法は柔軟である。第1の部分およびノード情報リストによって示される情報が使用され、これにより、第1のデバイスは、次のパケット処理デバイスの数および次のパケット処理デバイスの位置を取得することができる。
可能な実施態様では、第1のデバイスが第1のパケットに基づいて第2のパケットを生成することは、第1のデバイスが第4のパケットを取得するために第1の部分に基づいて第1のパケットを複製することを含む。第1のデバイスは、第2のパケットを取得するために第2のデバイスのノード情報を第4のパケットに追加する。したがって、第2のパケットは、第2のデバイスのノード情報を搬送し、パケットを受信して処理するように第2のデバイスに示すことができる。
可能な実施態様では、第1のデバイスは、第1のパケットの伝送経路上の入口ノードである。第1のデバイスが第1のパケットを取得することは、第1のデバイスが、第1のパケットを取得するために、第5のパケットを受信し、第1の部分および第2の部分を第5のパケットの宛先アドレスフィールドに追加することを含む。第2の部分は、第1のデバイスのアドレスを識別する。第2の部分は、第1のデバイスのアドレスを識別し、これにより、第1のデバイスは、第1のパケットを処理するように示されることができる。
可能な実施態様では、第1のデバイスは、第1のパケットの伝送経路上の中間ノードである。宛先アドレスフィールドは第2の部分をさらに含み、第1のデバイスが第1のパケットに基づいて第2のパケットおよび第3のパケットを生成する前に、本方法は、第1のデバイスが、第2の部分が第1のデバイスのアドレスと一致すると決定することをさらに含む。第2の部分が第1のデバイスのアドレスと一致すると決定され、これにより、第1のデバイスは第1のパケットを処理する。
可能な実施態様では、第1のパケットはSRv6パケットであり、ノード情報リストは、SRv6パケットのセグメントルーティングヘッダSRHで搬送され、ノード情報リストはSRHのセグメントリストである。あるいは、第1のパケットはIPv6パケットであり、ノード情報リストは、IPv6パケットのルーティングヘッダRHで搬送され、ノード情報リストはRHのセグメントリストである。あるいは、第1のパケットはIPv6パケットであり、ノード情報リストは、IPv6パケットの宛先オプションヘッダDOHで搬送され、ノード情報リストはDOHのアドレスリストである。本方法は複数のタイプのパケットに適用可能であり、これにより、本出願で提供されるパケット伝送方法の適用シナリオ範囲はより広くなる。
可能な実施態様では、第1のパケット、第2のパケット、および第3のパケットは各々、第1の識別子をさらに搬送し、第1の識別子は、ノード情報リスト内の現在のパケット処理デバイスのノード情報の位置を示す。
可能な実施態様では、第1のパケットはリーフ識別子をさらに搬送し、リーフ識別子は、第1のデバイスがリーフノードであることを示す。第1のデバイスが第1のパケットを取得した後、第1のデバイスは、リーフ識別子および第1の部分に基づいて、複製によって取得された第1のパケットに対してデカプセル化などの処理動作を実行する。
可能な実施態様では、ノード情報リストはリーフ識別子を搬送する。任意選択で、リーフ識別子の長さは少なくとも1ビットである。
可能な実施態様では、第2の部分は、共通プレフィックスおよびノード識別子を含み、共通プレフィックスは、パケット処理デバイスのノード情報内のノードアドレスの同じ部分を含み、ノード識別子は、パケット処理デバイスのノード情報内のノードアドレスの異なる部分を示す。このようにして、パケットのサイズが低減され、パケット伝送効率がさらに改善される。
可能な実施態様では、ノード情報リストはセグメントリストを含み、セグメントリスト内の1つ以上のセグメント識別子は共通プレフィックスを含まない。
可能な実施態様では、ノード情報リストがセグメントリストを含むとき、セグメントリスト内の1つ以上のセグメント識別子のいずれか1つの長さは128ビット未満である。
可能な実施態様では、共通プレフィックスは、機能識別子をさらに含み、機能識別子は、デバイスによって実行されるべき機能を示す。
第2の態様によれば、パケット伝送装置が提供される。本装置は第1のデバイスに適用され、本装置は、取得モジュールおよび送信モジュールを含む。取得モジュールは、第1のパケットを取得し、第1のパケットは宛先アドレスフィールドおよびノード情報リストを搬送し、ノード情報リストは第2のデバイスのノード情報および第3のデバイスのノード情報を含み、宛先アドレスフィールドは第1の部分を含み、第1の部分に基づいて、ノード情報リストから第2のデバイスのノード情報および第3のデバイスのノード情報を決定し、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する、ように構成される。取得モジュールは、第1のパケットに基づいて第2のパケットおよび第3のパケットを生成し、第2のパケットは第2のデバイスのノード情報を含み、第3のパケットは第3のデバイスのノード情報を含む、ようにさらに構成される。送信モジュールは、第2のパケットを第2のデバイスに送信し、第3のパケットを第3のデバイスに送信するように構成される。
可能な実施態様では、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報の位置が開始位置であり、ノード情報リスト内の第3のデバイスのノード情報の位置が終了位置であることを示す。あるいは、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報の位置が開始位置であることを示し、ノード情報リスト内の第2のデバイスの位置に対するノード情報リスト内の第3のデバイスの位置のオフセットを示す。
可能な実施態様では、取得モジュールは、第4のパケットを取得するために第1の部分に基づいて第1のパケットを複製し、第2のパケットを取得するために第2のデバイスのノード情報を第4のパケットに追加するように構成される。
可能な実施態様では、第1のデバイスは、第1のパケットの伝送経路上の入口ノードである。取得モジュールは、第1のパケットを取得するために、第5のパケットを受信し、第1の部分および第2の部分を第5のパケットの宛先アドレスフィールドに追加し、第2の部分は第1のデバイスのアドレスを識別する、ように構成される。
可能な実施態様では、第1のデバイスは第1のパケットの伝送経路上の中間ノードであり、宛先アドレスフィールドは第2の部分をさらに含み、本装置は決定モジュールをさらに含む。決定モジュールは、取得モジュールが第1のパケットに基づいて第2のパケットおよび第3のパケットを生成するように構成される前に、第2の部分が第1のデバイスのアドレスと一致すると決定するように構成される。
可能な実施態様では、第1のパケットはSRv6パケットであり、ノード情報リストは、SRv6パケットのセグメントルーティングヘッダSRHで搬送され、ノード情報リストはSRHのセグメントリストである。あるいは、第1のパケットはIPv6パケットであり、ノード情報リストは、IPv6パケットのルーティングヘッダRHで搬送され、ノード情報リストはRHのセグメントリストである。あるいは、第1のパケットはIPv6パケットであり、ノード情報リストは、IPv6パケットの宛先オプションヘッダDOHで搬送され、ノード情報リストはDOHのアドレスリストである。
可能な実施態様では、第1のパケット、第2のパケット、および第3のパケットは各々、第1の識別子をさらに搬送し、第1の識別子は、ノード情報リスト内の現在のパケット処理デバイスのノード情報の位置を示す。
可能な実施態様では、第1のパケットはリーフ識別子をさらに搬送し、リーフ識別子は、第1のデバイスがリーフノードであることを示す。本装置は、デカプセル化モジュールをさらに含む。デカプセル化モジュールは、取得モジュールが第1のパケットを取得した後に、リーフ識別子および第1の部分に基づいて、複製によって取得された第1のパケットをデカプセル化するように構成される。
可能な実施態様では、ノード情報リストはリーフ識別子を搬送する。任意選択で、リーフ識別子の長さは少なくとも1ビットである。
可能な実施態様では、第2の部分は、共通プレフィックスおよびノード識別子を含み、共通プレフィックスは、パケット処理デバイスのノード情報内のノードアドレスの同じ部分を含み、ノード識別子は、パケット処理デバイスのノード情報内のノードアドレスの異なる部分を示す。
可能な実施態様では、ノード情報リストはセグメントリストを含み、セグメントリスト内の1つ以上のセグメント識別子は共通プレフィックスを含まない。
可能な実施態様では、1つ以上のセグメント識別子のいずれか1つの長さは128ビット未満である。
可能な実施態様では、共通プレフィックスは、機能識別子をさらに含み、機能識別子は、デバイスによって実行されるべき機能を示す。
第3の態様によれば、パケット伝送デバイスが提供され、プロセッサを含む。プロセッサはメモリに結合され、メモリは少なくとも1つの命令を格納し、少なくとも1つの命令は、パケット伝送デバイスが第1の態様または第1の態様の可能な実施態様のいずれか1つによるパケット伝送方法を実施することができるようにするために、プロセッサによってロードされて実行される。
第4の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は、少なくとも1つの命令を格納し、命令は、コンピュータが、第1の態様または第1の態様の可能な実施態様のいずれか1つによるパケット伝送方法を実施することができるようにするために、プロセッサによってロードされて実行される。
第5の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラムを含む。コンピュータプログラムがコンピュータによって実行されるとき、第1の態様または第1の態様の可能な実施態様のいずれか1つによるパケット伝送方法が実施される。
第6の態様によれば、通信装置が提供される。本装置は、トランシーバ、メモリ、およびプロセッサを含む。トランシーバ、メモリ、およびプロセッサは、内部接続経路を使用して互いに通信する。メモリは、命令を格納するように構成される。プロセッサは、信号を受信するようにトランシーバを制御し、信号を送信するようにトランシーバを制御するために、メモリに格納された命令を実行するように構成される。加えて、プロセッサが、メモリに格納された命令を実行するとき、プロセッサは、第1の態様または第1の態様の可能な実施態様のいずれか1つによるパケット伝送方法を実行することができるようにされる。
例示的な実施形態では、1つ以上のプロセッサがあり、1つ以上のメモリがある。
例示的な実施形態では、メモリはプロセッサと統合されてもよいし、またはメモリとプロセッサとは別々に配置される。
特定の実施プロセスでは、メモリは、読み取り専用メモリ(read-only memory、ROM)などの非一時的(non-transitory)メモリであってもよい。メモリおよびプロセッサは、1つのチップとして統合されてもよいし、または異なるチップに別々に配置されてもよい。メモリのタイプ、ならびにメモリおよびプロセッサを配置する方法は、本出願のこの実施形態では限定されない。
第7の態様によれば、チップが提供され、プロセッサを含む。プロセッサは、チップが組み込まれた通信デバイスが第1の態様または第1の態様の可能な実施態様のいずれか1つによるパケット伝送方法を実行することができるようにするために、メモリから、メモリに格納された命令を呼び出し、命令を実行するように構成される。
第8の態様によれば、別のチップが提供され、入力インターフェースと、出力インターフェースと、プロセッサと、メモリとを含む。入力インターフェース、出力インターフェース、プロセッサ、およびメモリは、内部接続経路を使用して接続される。プロセッサは、メモリ内のコードを実行するように構成される。コードが実行されるとき、プロセッサは、第1の態様または第1の態様の可能な実施態様のいずれか1つによるパケット伝送方法を実行するように構成される。
第9の態様によれば、パケット伝送システムが提供される。パケット伝送システムは、第1のデバイスと、第2のデバイスと、第3のデバイスとを含む。第1のデバイスは、第1の態様または第1の態様の可能な実施態様のいずれか1つによるパケット伝送方法を実行し、第2のデバイスは、第1のデバイスによって送信された第2のパケットを受信し、第3のデバイスは、第1のデバイスによって送信された第3のパケットを受信する。任意選択で、第2のデバイスは、第1のデバイスが第1のパケットを処理する方法で第2のパケットを処理してもよく、第3のデバイスもまた、第1のデバイスが第1のパケットを処理する方法で第3のパケットを処理してもよい。
本出願の実施形態によるパケット伝送方法のネットワークシナリオの概略図である。 本出願の実施形態によるパケット伝送方法の概略フローチャートである。 本出願の実施形態によるSRH拡張ヘッダの構造の概略図である。 本出願の実施形態による拡張SIDの構造の概略図である。 本出願の実施形態によるRH拡張ヘッダの概略図である。 本出願の実施形態によるDOH拡張ヘッダの概略図である。 本出願の実施形態によるパケット伝送経路の概略図である。 本出願の実施形態によるノード情報リストの階層配置の概略図である。 本出願の実施形態によるネットワークアーキテクチャにおいてノードによって伝送されるパケットの構造の概略図である。 本出願の実施形態によるパケット伝送経路の概略図である。 本出願の実施形態によるノード情報リストの階層配置の概略図である。 本出願の実施形態によるネットワークアーキテクチャにおいてノードによって伝送されるパケットの構造の概略図である。 本出願の実施形態によるネットワークアーキテクチャにおいてノードによって伝送されるパケットの構造の概略図である。 本出願の実施形態によるパケット伝送方法で使用される圧縮符号化スキームの概略図である。 本出願の実施形態によるパケット伝送方法で使用される圧縮符号化スキームの概略図である。 本出願の実施形態によるパケット伝送方法で使用される圧縮符号化スキームの概略図である。 本出願の実施形態によるパケット伝送装置の構造の概略図である。 本出願の実施形態によるパケット伝送装置の構造の概略図である。 本出願の実施形態によるパケット伝送装置の構造の概略図である。 本出願の実施形態によるパケット伝送デバイスの構造の概略図である。 本出願の実施形態によるパケット伝送デバイスの構造の概略図である。
以下は、添付の図面を参照して本出願の実施形態を詳細にさらに説明する。
パケット伝送プロセスの複雑さを低減し、パケット伝送オーバーヘッドを低減し、パケット伝送効率を改善するために、本出願の実施形態はパケット伝送方法を提供する。本方法は、図1に示されているネットワークシナリオに適用可能である。図1に示されているように、ネットワークシナリオは、パケット送信デバイス1と、複数のパケット受信ネットワークデバイスRT1からRT7とを含む。デバイス1によって送信されたパケットは、RT1からRT7の間で複製され転送される。例えば、本出願のこの実施形態におけるデバイス1は、ルータ、スイッチ、およびサーバなどを含むが、これらに限定されず、ネットワークデバイスRT1からRT7は、ルータ、スイッチ、およびサーバなどを含むが、これらに限定されない。複数のパケット受信ネットワークデバイスRT1からRT7は、入口ノード、中間ノード、および出口ノードを含む。入口ノードは、パケット伝送経路上の伝送を開始する最初層ヘッドノードデバイスである。中間ノードは、パケット伝送経路上で、前ホップデバイスによって送信されたパケットを受信し、パケットを複製し、次にパケットを次のパケット処理デバイスに転送する。
この実施形態では、デバイスがパケットを処理することは、デバイスが、パケットを転送することのみに限定されない、パケットを複製、転送、デカプセル化、および上位層デバイに引き続き送信するなどのいくつかの動作を実行することを意味する。任意選択で、複数の受信デバイスは、あるいは、パケットを転送するだけで、パケットをさらに処理しない中間デバイスを含んでもよい。デバイスがパケットを処理しないことは、デバイスが、他のいかなる動作も実行せずにパケットを次のホップに直接転送することを意味する。簡潔にするために、図1では中間デバイスは省略されている。出口ノードは、パケット伝送経路上の最終層ノードデバイスである。前ホップデバイスによって送信されたパケットを受信した後、出口ノードは、経路上のパケットの伝送を終了し、パケットをデカプセル化し、パケットを次ホップデバイスに転送する。任意選択で、次ホップデバイスは、ユーザ機器、例えばユーザホストであってもよい。
図1では、RT1は、デバイス1によって送信されたパケットを受信し、パケットを複製し、パケットを複数の次ホップデバイス、つまり、RT2およびRT3に転送するための入口ノードとして使用される。RT2およびRT3は、RT1によって送信されたパケットを受信し、次にパケットを複製し、パケットを複数の対応する次ホップデバイスに転送するための中間ノードとして使用される。具体的には、RT2はRT4およびRT5に対応し、RT3はRT6およびRT7に対応する。RT4、RT5、RT6、およびRT7は、対応する前ホップデバイスによって送信されたパケットを受信し、経路上のパケットの伝送を完了するための、複数の受信デバイスのうちの最終ホップデバイスとして使用される。
任意選択で、RT1によって送信されるパケットはパケットの伝送経路を搬送し、伝送経路はノード情報リストの形態で表される。任意選択で、RT1によって送信されるパケットは、ノード情報リスト内のデバイスの位置を示し、かつ処理機能を示す情報をさらに搬送する。ネットワークデバイスの各ホップは、パケットで搬送される情報に基づいて、パケットに対して複製、更新、および転送などの処理を実行する。
図1に示されているネットワークシナリオを参照して、第1のデバイスが本方法を実行する例が、本出願のこの実施形態によるパケット伝送方法を説明するために使用される。パケット伝送オーバーヘッドを低減し、パケット伝送効率を改善するために、本出願のこの実施形態では、パケットのノード情報リストがパケットの拡張ヘッダで搬送され、次のパケット処理デバイスを示すポインタが追加される。図2は、本出願の実施形態によるパケット伝送方法のフローチャートである。本方法は、以下のいくつかのプロセスを含むが、これらに限定されない。
ステップ201:第1のデバイスは第1のパケットを取得し、第1のパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは第1の部分を含む。
本出願のこの実施形態では、ノード情報リストは、第2のデバイスのノード情報および第3のデバイスのノード情報を含む。第2のデバイスおよび第3のデバイスは、第1のパケットの伝送経路上の第1のデバイスの後の次のパケット処理デバイスである。デバイスがパケットを処理することは、デバイスが、パケットを転送することのみに限定されない、パケットを複製、デカプセル化、および上位層デバイに引き続き送信するなどのいくつかの動作を実行することを意味する。
一実施態様では、ノード情報リストは、第1のデバイスと、第1のパケットの伝送経路上で第1のデバイスの後に位置するパケット処理デバイスとのノード情報を含んでもよいし、または第1のパケットの伝送経路上で第1のデバイスの後に位置するパケット処理デバイスのノード情報のみを含んでもよい。例えば、ノード情報リストは、第1のデバイス、第2のデバイス、および第3のデバイスのノード情報を含むか、またはノード情報リストは、第2のデバイスおよび第3のデバイスのノード情報を含み、第1のデバイスのノード情報を含まない。ノード情報リストが、第1のパケットの伝送経路上で第1のデバイスの後に位置するパケット処理デバイスのノード情報のみを含むとき、ノード情報リストによって占有されるスペースが低減され得、これにより、パケット伝送効率も改善され得る。
第1の部分は、ノード情報リスト内の第2のデバイスのノード情報の位置が開始位置であり、ノード情報リスト内の第3のデバイスのノード情報の位置が終了位置であることを示す。あるいは、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報の開始位置を示し、ノード情報リスト内の第2のデバイスの位置に対するノード情報リスト内の第3のデバイスの位置のオフセットを示す。第1の部分がノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する方法は柔軟である。第1の部分およびノード情報リストによって示される情報が使用され、これにより、第1のデバイスは、次のパケット処理デバイスの数および次のパケット処理デバイスの位置情報を取得することができる。
本出願のこの実施形態は、第1のパケットおよび第1のパケットがノード情報リストを搬送する方法に制限を課さない。第1のパケットおよび第1のパケットがノード情報リストを搬送する方法は、以下のいくつかの方法を含むが、これらに限定されない。
方法1:第1のパケットは、セグメント・ルーティング・オーバ・IPv6(segment routing over IPv6、SRv6)パケットであり、SRv6パケットは、IPv6パケットヘッダを含み、IPv6パケットヘッダは、IPv6基本ヘッダおよびSRHを含む。SRHは、拡張ヘッダであり、ノード情報リストを搬送する。このケースでは、ノード情報リストは、SRHのセグメントリストである。
図3は、本出願の実施形態によるSRH拡張ヘッダを示す。SRH拡張ヘッダおよびIPv6基本ヘッダは、第1のパケットにおけるIPv6パケットヘッダを形成する。図3に示されているように、次ヘッダ(next header)は、8ビット(bit)の長さを有し、SRH後のパケットヘッダのタイプを識別する。拡張ヘッダ長(ext hdr len)は8bitの長さを有し、SRHヘッダの長さを識別し、長さは、セグメントリストによって占有される長さである。ルーティングタイプ(routing type)は8bitの長さを有し、ルーティングヘッダのタイプを識別する。第1の識別子(segment left)は8bitの長さを有し、セグメントリスト内の現在のパケット処理デバイスのSIDの位置を示す。最後のエントリ(last entry)は、8bitの長さを有し、セグメントリスト内のセグメントリストを含む最後の要素のエントリを識別する。フラグ(flags)は、8bitの長さを有し、データパケットのフラグである。タグ(tag)は、8bitの長さを有し、同じグループ内のデータパケットのタグである。
SRH内のノード情報リストはセグメントリストと呼ばれる。セグメントリスト内のパケット伝送経路上のデバイスに対応するノード情報は、デバイスのセグメント識別子(segment identifier、SID)と呼ばれる。セグメントリストは、パケット伝送経路上の各デバイスのSIDを含む。各SIDは、IPv6アドレスの形態であり、128bitを占有する。SRHのSIDは、3つの部分:ロケータ(locator)、機能(function)、および引数(argument)を含む。アドレス(locator)は、ネットワーク内のデバイスに割り当てられたノードアドレスであり、ルーティングおよびアグリゲーションに使用され得る。機能(function)は、機能識別子であり、ローカル命令を示す。例えば、ローカル命令は、デバイスによって実行される必要がある転送アクションであってもよい。引数(argument)は、デバイスが命令を実行するときに必要とされる変数の引数を格納する。一実施態様では、SIDの引数フィールドに定義されたポインタ(pointer)は、宛先フィールドの第1の部分である。
例えば、pointerは、SIDの引数(argument、Args)フィールドに定義される。第1のデバイスに対応するSID内のpointerは、セグメントリスト内の第2のデバイスおよび第3のデバイスのSIDの位置、具体的には、第1のデバイスの後の次層パケット処理デバイスの開始位置および終了位置を示す。例えば、第1のデバイスのpointerは、セグメントリスト内の第2のデバイスのSIDの位置が開始位置であり、セグメントリスト内の第3のデバイスのSIDの位置が終了位置であることを示すか、またはセグメントリスト内の第2のデバイスのSIDの位置が開始位置であることを示し、セグメントリスト内の第2のデバイスのSIDの位置に対するセグメントリスト内の第3のデバイスのSIDの位置のオフセットを示し得る。第1のデバイスは、pointerに基づいて、次層パケット処理デバイスの位置を決定し、オフセットに基づいて、必要とされるパケット複製の数をさらに決定し得る。
本出願の実施形態では、SIDは拡張される。拡張SIDの構造が図4に示され得る。図4において、拡張SIDは、依然として、3つの部分:ロケータ(locator)、分割によって取得されるセグメントタイプ(hierarchical segment type)、およびノードポインタ(pointer)を含む。ロケータ(locator)は、依然としてノードアドレスであり、ルーティングおよびアグリゲーションに使用され得る。分割によって取得されるセグメントタイプ(hierarchical segment type)は、拡張SIDの再定義されたフィールドタイプを格納する。この実施形態では、分割によって取得されるセグメントタイプは依然として機能識別子を格納し、機能識別子はローカル命令を示し、ローカル命令は、デバイスによって実行される必要がある転送アクションを示す。ノードポインタ(pointer)は、pointer1およびpointer2を含み得る。SIDが第1のデバイスを示し、第1のデバイスの後に位置する次層パケット処理デバイスが第2のデバイスおよび第3のデバイスである例が、依然として使用される。pointer1は、セグメントリスト内の第2のデバイスのSIDの位置が開始位置であることを示し得、pointer2は、セグメントリスト内の第3のデバイスのSIDの位置が終了位置であることを示す。任意選択で、pointer1は、セグメントリスト内の第2のデバイスのSIDの位置を開始位置として格納し得、pointer2は、セグメントリスト内の第2のデバイスの位置に対するセグメントリスト内の第3のデバイスの位置のオフセットを示す。第2のデバイスおよび第3のデバイスを含むターゲットデバイスの数は、pointer2に基づいて決定され得る。ターゲットデバイスの数は、第2のデバイスおよび第3のデバイスを含むデバイスの合計、言い換えれば、ノード情報リスト内の第2のデバイスの位置に対するノード情報リスト内の第3のデバイスの位置のオフセットである。
方法2:第1のパケットはIPv6パケットであり、IPv6パケットヘッダは、IPv6基本ヘッダおよびルーティングヘッダ(routing header、RH)を含み、RH拡張ヘッダはノード情報リストを搬送し、ノード情報リストはRHのセグメントリストである。セグメントリスト内の各ノード情報の構造は、図3に示されているノード情報の構造と同様である。図5は、本出願の実施形態によるIPv6拡張ヘッダ、つまり、RHを示す。
方法3:第1のパケットはIPv6パケットであり、IPv6パケットヘッダは、Pv6基本ヘッダおよび宛先オプションヘッダ(destination option header、DOH)を含み、DOH拡張ヘッダはノード情報リストを搬送し、ノード情報リストはDOHのアドレスリストである。セグメントリスト内の各ノード情報の構造は、図3に示されているノード情報の構造と同様である。図6は、本出願の実施形態によるIPv6拡張ヘッダ、つまり、DOHを示す。
前述の方法に関係なく、第1のデバイスの後に位置するパケット処理デバイスが第2のデバイスおよび第3のデバイスを含む例が使用される。ノード情報リストは、第2のデバイスのノード情報および第3のデバイスのノード情報を含む。第2のデバイスおよび第3のデバイスは、第1のパケットの伝送経路上で第1のデバイスの後に位置する次層パケット処理デバイスである。
図7は、本出願の実施形態によるパケット伝送経路の概略図である。この実施形態による伝送経路は、ポイントツーマルチポイント経路である。この実施形態では、パケット伝送経路は論理的に層に分割され、経路が同じ数の分岐を通るノードは、同じ層のノードと考えられる。図7に示されているように、Aは第1層のパケット処理デバイスであり、BおよびCは第2層のパケット処理デバイスであり、B1、B2、B3、C1、C2、およびC3は第3層のパケット処理デバイスである。さらに、Aはパケット伝送経路上の入口ノードであり、BおよびCはパケット伝送経路上の中間ノードであり、B1、B2、B3、C1、C2、およびC3はパケット伝送経路上の出口ノードである。図7から、BおよびCは、ノードAの後に位置する次層パケット処理デバイスであることが知られることができる。B1、B2、およびB3は、ノードBの後に位置する次層パケット処理デバイスである。ノードC1、C2、およびC3は、ノードCの後に位置する次層パケット処理デバイスである。
図7は、伝送経路の例示的な説明にすぎない。異なる伝送経路は、対応するノード情報リストの形態で表され得る。ノード情報リストは、論理層の降順に配置され、同じデバイスの後に位置する同じ層のパケット処理デバイスのノード情報は連続して一緒に配置される。例えば、図7に示されている伝送経路に対応するノード情報リストの階層配置の概略図が使用される。図8に示されているように、ノードAは層1(layer 1)であり、ノードBおよびCは層2(layer 2)であり、B1、B2、B3、C1、C2、およびC3は層3(layer 3)である。
例えば、ノード情報リスト内の各デバイスのノード情報は、ロケータ(locator)およびノードポインタ(pointer)を含む。任意のデバイスに関して、その任意のデバイスのノード情報内のノードポインタは、伝送経路上でその任意のデバイスの後に位置するパケット処理デバイスのノード情報の、ノード情報リスト内の位置を示す。その任意のデバイスのノード情報内のノードアドレスは、ネットワーク内のその任意のデバイスの位置を示す。
任意選択で、パケット処理デバイスのノード情報は、機能識別子をさらに含んでもよい。機能識別子は、パケット処理デバイスがパケットに対して動作を実行するための動作命令、すなわち実施されるべき機能を示す。この実施形態では、各ノード情報内の機能識別子は、複製機能を含むが、これに限定されない。本出願のこの実施形態によるノード情報リストが使用され、これにより、パケット符号化プロセスが簡素化され、ノード情報リストで指定された動作が使用され、これにより、パケット伝送のための明示的な経路が制御されることができる。これは、ネットワークノードの保守作業を低減し、パケット伝送効率を改善する。
一実施態様では、宛先アドレスフィールドは第1の部分を含み、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する。第1のデバイスが第1のパケットの伝送経路上の中間ノードであるケースでは、宛先アドレスフィールドは第2の部分をさらに含み、第2の部分はネットワーク内の第1のデバイスの位置を示す。例えば、第2の部分は、第1のデバイスのアドレスを識別する。第2のデバイスおよび第3のデバイスのいずれのデバイスのノード情報も、ノードアドレスおよびノードポインタを含み、ノードアドレスは、ネットワーク内のいずれかのデバイスの位置を示し、ノードポインタは、伝送経路上の第2のデバイスおよび第3のデバイスのいずれかのデバイスの後に位置するパケット処理デバイスのノード情報の、ノード情報リスト内の位置を示す。
宛先アドレスフィールド内の第2の部分は、第1のデバイスのノード情報に含まれるノードアドレスと一致し、宛先アドレスフィールド内の第1の部分は、第1のデバイスのノードポインタと一致し、第1のデバイスのノード情報は、ノード情報リストに含まれ得ることに留意されたい。
任意選択で、第1のデバイスが第1のパケットを取得することは、以下の2つのケースを含むが、これらに限定されない。
ケース1:第1のデバイスは、第1のパケットの伝送経路上の入口ノードである。第1のデバイスは、第1のパケットを取得するために、第5のパケットを受信し、第1の部分および第2の部分を第5のパケットの宛先アドレスフィールドに追加する。第2の部分は、第1のデバイスのアドレスを識別する。
例えば、第5のパケットは、入口ノードによって受信されるパケットである。例えば、図1に示されているネットワークシナリオに対応して、第5のパケットは、RT1によってデバイス1から受信されるパケットである。加えて、この実施形態では、ノード情報リストは、第1のパケットの伝送経路上で第1のデバイスの後に位置する各パケット処理デバイスのノード情報を含むだけでなく、第1のデバイスのノード情報も含む。さらに、この実施形態では、第1のデバイスは、第1のパケットの伝送経路上の入口ノードであり、言い換えれば、ノード情報リストは、第1のパケットの伝送経路上に位置するパケット処理デバイスのノード情報を含む。
例えば、第1のデバイスがノード情報リストを第5のパケットにさらに追加することは、IPv6拡張ヘッダを第5のパケットに追加することを含み、IPv6拡張ヘッダはノード情報リストを搬送し、ノード情報リストは、第1のデバイスのノード情報と、第1のデバイスの後に位置するパケット処理デバイスのノード情報とを含む。任意選択で、第1のデバイスが第2の部分および第1の部分を第5のパケットに追加することは、第1のデバイスが、IPv6拡張ヘッダで搬送されるノード情報リスト内の第1のデバイスに対応するノード情報を第5のパケットの宛先アドレスフィールドに配置することを含む。このケースでは、宛先アドレスフィールドに格納されたノードアドレスが第2の部分であり、格納されたノードポインタが第1の部分である。このようにして、第1のパケットは、第5のパケットに基づいて取得される。
ケース2:第1のデバイスは、第1のパケットの伝送経路上の中間ノードである。第1のデバイスが第1のパケットを取得することは、前ホップデバイスによって送信された第1のパケットを受信することを含む。中間ノードとして、第1のデバイスは、第1の部分、第2の部分、およびノード情報リストを受信されたパケットに追加する必要がない。第1のデバイスによって受信された第1のパケットは、宛先アドレスフィールドおよびノード情報リストをすでに搬送しており、宛先アドレスフィールドは、第1の部分および第2の部分を搬送している。例えば、図1に示されているネットワークシナリオに対応して、RT2は、RT1によって送信された第1のパケットを受信するための第1のデバイスとして使用され、第1のパケットは、第2の部分、第1の部分、およびノード情報リストを搬送する。
ステップ202:第1のデバイスは、第1の部分に基づいてノード情報リストから第2のデバイスのノード情報および第3のデバイスのノード情報を決定する。
上記で説明されたように、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する。第1のパケットを取得した後、第1のデバイスは、ノード情報リストから、パケットの伝送経路上で第1のデバイスの後に位置する次のパケット処理デバイス、すなわち、第2のデバイスのノード情報および第3のデバイスのノード情報を決定して、第2のデバイスに送信される必要がある対応する第2のパケットおよび第3のデバイスに送信される必要がある対応する第3のパケットを生成する。
この実施形態における第2のデバイスおよび第3のデバイスは、第1のパケットの伝送経路上で第1のデバイスの後に位置する次のパケット処理デバイスの数が2であることを示し、2つのデバイスは、本出願のこの実施形態によるパケット伝送方法を使用してパケットを引き続き転送し得ることに留意されたい。言い換えれば、実際の実施時、第1のパケットを取得した後、第1のデバイスは、ノード情報リストから、パケットの伝送経路上で第1のデバイスの後に位置する次のパケット処理デバイスが第4のデバイスのノード情報および第5のデバイスのノード情報をさらに含むと決定する。このケースでは、第1のデバイスの後に位置する次のパケット処理デバイスの数は4であり、第1のデバイスは第4のデバイスおよび第5のデバイスにパケットを送信する必要がある。同様に、第4のデバイスおよび第5のデバイスは、本出願のこの実施形態によるパケット伝送方法を使用してパケットを引き続き転送し得る。
ステップ203:第1のデバイスは、第1のパケットに基づいて第2のパケットおよび第3のパケットを生成し、第2のパケットは第2のデバイスのノード情報を含み、第3のパケットは第3のデバイスのノード情報を含む。
この実施形態では、第1のデバイスは、最初に、第1のパケットで搬送される第1の部分およびノード情報リストに基づいて、第2のデバイスに対応する第2のパケットを取得し得、次に、第1のデバイスは、第2のパケットを取得する方法で第3のデバイスに対応する第3のパケットを取得する。当然ながら、あるいは、第3のパケットが最初に取得されてもよく、次に第2のパケットが取得される。第2のパケットおよび第3のパケットを取得する順序は、本出願のこの実施形態では限定されない。
可能な実施態様では、第1のデバイスが第1のパケットに基づいて第2のパケットを生成することは、以下のいくつかのプロセスを含むが、これらに限定されない。
2031:第1のデバイスは、第4のパケットを取得するために第1の部分に基づいて第1のパケットを複製する。
第1のデバイスは、第1のパケットで搬送される第1の部分に基づいて、次層ターゲットパケット処理デバイスの数を決定する。例えば、ターゲットデバイスは第2のデバイスおよび第3のデバイスであり、ターゲットデバイスの数は、第2のデバイスおよび第3のデバイスを含むデバイスの合計である。次に、第1のデバイスは、決定されたターゲットデバイスの数に基づいて、第1のパケット複製の数を決定する。
例えば、第1のデバイスは、第1のパケットの宛先アドレスフィールドを読み取る。宛先アドレスフィールドの第2の部分に基づいて、現在のパケット処理デバイスが第1のデバイスであることが知られる。次に、宛先アドレスフィールドの機能識別子に基づいて、第1のデバイスによって実行される命令が取得される。この実施形態では、機能識別子は、複製命令を含むが、これに限定されない。機能識別子から複製命令を取得した後、第1のデバイスは宛先アドレスフィールドから第1の部分を読み取る。任意選択で、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の開始位置および終了位置を含む。ノード情報リスト内の第2のデバイスのノード情報の位置は開始位置であり、ノード情報リスト内の第3のデバイスのノード情報の位置は終了位置である。ノード情報リストは、開始位置と終了位置との間の1つ以上の第4のデバイスのノード情報をさらに含み得る。第4のデバイスは、第2のデバイスおよび第3のデバイス以外の、第1のデバイスの後に位置するパケット処理デバイスである。第1のデバイスは、第1の部分によって示される情報に基づいて、第2のデバイスおよび第3のデバイスを含むデバイスの数、言い換えれば、第1のパケットを複製する必要があるターゲットデバイスの数を取得する。
任意選択で、第1のデバイスが、第1の部分に基づいて、第2のデバイスおよび第3のデバイスを含むターゲットデバイスの数を決定することは、第1の部分がノード情報リスト内の第2のデバイスおよび第3のデバイスの開始位置および終了位置を示すことに基づいてオフセットを計算し、オフセットをターゲットデバイスの数として使用することを含む。あるいは、第1の部分が、ノード情報リスト内の第2のデバイスのノード情報を使用して示される開始位置と、ノード情報リスト内の第2のデバイスの位置に対するノード情報リスト内の第3のデバイスの位置のオフセットとを含む場合、第1のデバイスは、第1の部分で搬送される第2のデバイスおよび第3のデバイスを含むターゲットデバイスの数を読み取る。例えば、この実施形態では、ターゲットデバイスの数は2である。第1のパケットを複製することによって取得されたパケットは第4のパケットと呼ばれる。
第1のデバイスは、第1の部分に基づいてノード情報リスト内の第2のデバイスのノード情報の位置を決定し、ノード情報リスト内の第2のデバイスのノード情報の位置に基づいて第2のデバイスのノード情報を取得する。言い換えれば、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置をさらに示すため、第1のパケットを複製する必要があるターゲットデバイスの数を取得した後、第1のデバイスは、第1の部分の指示に基づいて、ノード情報リスト内の第2のデバイスおよび第3のデバイスのノード情報を位置特定して取得する。
2032:第1のデバイスは、第2のパケットを取得するために第2のデバイスのノード情報を第4のパケットに追加する。
可能な実施態様では、第1のデバイスが第2のパケットを取得するために第2のデバイスのノード情報を第4のパケットに追加することは、以下のいくつかのステップを含む。
20321:第1のデバイスは、第2のデバイスのノード情報に基づいて第4のパケット内の宛先アドレスフィールドを更新する。
第2のデバイスのノード情報および第3のデバイスのノード情報を取得した後、第1のデバイスは、第2のデバイスのノード情報に基づいて第4のパケット内の宛先アドレスフィールドを更新する。パケットの更新された宛先アドレスフィールドは、更新された第2の部分および更新された第1の部分を搬送し、更新された第2の部分は、第2のデバイスのノードアドレスであり、更新された第1の部分は、第2のデバイスのノードポインタである。更新された第2の部分は、ネットワーク内の第2のデバイスの位置を示し、更新された第1の部分は、パケットの伝送経路上で第2のデバイスの後に位置する次のパケット処理デバイスのノード情報の、ノード情報リスト内の位置を示す。
任意選択で、第1のデバイスが第2のデバイスのノード情報に基づいて1つの第4のパケット内の宛先アドレスフィールドを更新することは、第1のデバイスが、1つの第4のパケットの宛先アドレスフィールドに第2のデバイスのノード情報を記入することを含む。このケースでは、第1の部分は新しいノードポインタによって上書きされ、宛先アドレスフィールドで搬送されるノードポインタは更新された第1の部分として記録され、第2の部分は新しいノードアドレスによって上書きされ、宛先アドレスフィールドで搬送されるノードアドレスは更新された第2の部分である。
20322:第1のデバイスは、更新された第4のパケットに基づいて第2のパケットを取得する。
可能な実施態様では、第1のデバイスが更新された第4のパケットに基づいて第2のパケットを取得することは、以下の3つの処理方法を含むが、これらに限定されない。
処理方法1:第1のデバイスが更新された第4のパケットに基づいて第2のパケットを取得することは、更新された第4のパケットを第2のパケットとして使用することを含む。
パケットを更新した後、第1のデバイスは、更新された第4のパケットを第2のパケットとして直接使用し、次の送信動作を実行し得る。第1のデバイスはまた、パケットオーバーヘッドを低減するために、更新されたパケットをさらに処理し得る。
処理方法2:第1のデバイスが更新された第4のパケットに基づいて第2のパケットを取得することは、更新された第4のパケット内の更新された第1の部分が、伝送経路上で第2のデバイスの後に位置するパケット処理デバイスがないことを示すことに基づいて、更新された第4のパケット内の拡張ヘッダをポップアップすることと、拡張ヘッダをポップアップした後にパケットを第2のパケットとして使用することとを含む。例えば、IPv6パケットヘッダは、IPv6基本ヘッダおよびIPv6拡張ヘッダを含む。処理方法2でIPv6拡張ヘッダをポップアップするプロセスに関して、ポップアップされるIPv6拡張ヘッダの内容は、更新された第4のパケットの構造によって異なる。例えば、更新される第4のパケットがIPv6パケットである場合、ポップアップされるIPv6拡張ヘッダはRHである。あるいは、更新された第4のパケットがIPv6パケットである場合、ポップアップされるIPv6拡張ヘッダはDOHである。あるいは、更新された第4のパケットがSRv6パケットである場合、ポップアップされるIPv6拡張ヘッダはSRHである。
任意選択で、第1のデバイスは、更新された第1の部分の値に基づいて、伝送経路上で第2のデバイスの後に位置するパケット処理デバイスがあるかどうかを決定する。例えば、更新された第1の部分の値が参照値として使用され、第2のデバイスの後にパケット処理デバイスはない。例えば、参照値は0であってもよい。このケースでは、更新された第1の部分は0である。これは、パケットの伝送経路上で第2のデバイスの後にパケット処理デバイスがないことを表す。したがって、第1のデバイスは、パケットオーバーヘッドを低減するために、更新された第4のパケットのIPv6拡張ヘッダをポップアップする。IPv6パケットヘッダの構造については、以下の処理方法3の説明を参照されたい。ここでは詳細は説明されない。
処理方法3:第1のデバイスが更新された第4のパケットに基づいて第2のパケットを取得することは、処理されたパケットを取得するために、更新された第4のパケット内のノード情報リストを処理することと、処理されたパケットに基づいて第2のパケットを取得することとを含み、処理されたパケット内のノード情報リストは、伝送経路上で第1のデバイスの後に位置するパケット処理デバイスのノード情報のみを含む。
パケットオーバーヘッドをさらに低減するために、第1のデバイスは、更新された第4のパケットのノード情報リストをさらに処理し得る。可能な実施態様では、第1のデバイスは、処理されたノード情報リストが第2のデバイスおよび第2のデバイスの下のパケット処理デバイスのノード情報のみを含むように、ノード情報リストから、必要とされない分岐デバイスのノード情報を選択的に削除する。このようにして、第2のパケットで搬送されるノード情報リストによって占有されるスペースが大幅に低減され、パケット伝送効率も改善される。
さらに、処理方法3に関して、処理されたパケットが取得された後、処理されたパケットに基づいて第2のパケットを取得することは、処理されたパケットを第2のパケットとして使用すること、または処理されたパケット内の更新された第1の部分が、伝送経路上で第2のデバイスの後に位置するパケット処理デバイスがないことを示すことに基づいて処理されたパケット内のIPv6拡張ヘッダをポップアップすること、およびIPv6拡張ヘッダをポップアップした後にパケットを第2のパケットとして使用することを含むが、これらに限定されない。IPv6パケットヘッダは、IPv6基本ヘッダおよびIPv6拡張ヘッダを含む。処理方法3でIPv6拡張ヘッダをポップアップするプロセスに関して、ポップアップされるIPv6拡張ヘッダの内容は、処理されたパケットの構造によって異なる。例えば、処理されたパケットがIPv6パケットである場合、ポップアップされるIPv6拡張ヘッダはRHである。あるいは、処理されたパケットがIPv6パケットである場合、ポップアップされるIPv6拡張ヘッダはDOHである。あるいは、処理されたパケットがSRv6パケットである場合、ポップアップされるIPv6拡張ヘッダはSRHである。
前述の処理方法に関係なく、更新された第4のパケットに基づいて第1のデバイスによって取得され、第2のパケットの宛先アドレスフィールドで搬送されるアドレスおよびポインタは、更新された第4のパケットで搬送される更新された第2の部分および更新された第1の部分と同じであることに留意されたい。すなわち、第2のパケットは、更新された第2の部分および更新された第1の部分を搬送する。
さらに、第1のデバイスが第3のデバイスに対応する第3のパケットを取得する方法については、第2のパケットを取得する前述のプロセスを参照されたい。ここでは詳細は再び説明されない。
可能な実施態様では、第1のパケット、第2のパケット、および第3のパケットは各々、第1の識別子をさらに搬送し、第1の識別子は、ノード情報リスト内の現在のパケット処理デバイスのノード情報の位置を示す。任意選択で、第1の識別子は、ノード情報リスト内の現在のパケット処理デバイスのノード情報のシーケンスであってもよい。例えば、現在のパケット処理デバイスのノード情報は、ノード情報リストの3番目に配置され、ソート方法は、0からの昇順で最初のノード情報から開始される。このケースでは、第1の識別子は2である。任意選択で、第1のデバイスが第4のパケットに基づいて第2のパケットまたは第3のパケットを取得するとき、取得された第2のパケットまたは取得された第3のパケットが、第1の識別子を使用して、第2のパケットまたは第3のパケットを処理するデバイスを示すことができるように、第4のパケットの第1の識別子を更新するプロセスが含まれる。例えば、第1のデバイスが第2のデバイスのノード情報に基づいて1つの第4のパケット内の宛先アドレスフィールドを更新した後、本方法は、第2のデバイスのノード情報に基づいて第4のパケットの第1の識別子を更新することをさらに含む。
パケット伝送プロセスでは、指定されたデバイスがさらに設定されてもよい。指定されたデバイスは、別のルータノードに接続するための現在のパケット伝送経路上の中間ノードとして使用されるだけでなく、ユーザホストに接続するためのエッジデバイスとしても使用される。言い換えれば、デバイスは、次ホップパケット処理デバイスにパケットを送信するだけでなく、パケットをデカプセル化するための別の経路上の出口ノードとしても使用される。前述の機能を有するノードは複合ノードと呼ばれる。上記で説明されたように、現在のパケット伝送経路上の出口ノードもパケットをデカプセル化する必要がある。このケースでは、パケット伝送プロセスにおいて、2つのタイプのパケットデカプセル化ノードがあり、一方は複合ノードであり、他方は前述の出口ノードである。2つのタイプのパケットデカプセル化ノードは、リーフノードと呼ばれる。したがって、本出願の実施形態では、デバイスが複合ノードであるか出口ノードであるか、すなわち、デバイスがリーフノードであるかどうかを示すために、識別子がパケットに追加される。デバイスがリーフノードであると決定された後、第1の部分を使用して、ノードが複合ノードであるか出口ノードであるかがさらに決定される。ノードが複合ノードである場合、パケットは1回複製され、複製されたパケットはデカプセル化される。ノードが出口ノードである場合、パケットは直接デカプセル化される。
可能な実施態様では、第1のパケットはリーフ識別子をさらに搬送し、リーフ識別子は、第1のデバイスがリーフノードであることを示す。任意選択で、第1のデバイスが第1のパケットを取得した後、本方法は、第1のデバイスが、第1のパケットを少なくとも1回複製し、第1のパケットで搬送されるリーフ識別子が、第1のデバイスがリーフノードであることを示し、第1の部分が、伝送経路上で第1のデバイスの後に位置するパケット処理デバイスがあることを示すことに基づいて、少なくとも1つの複製された第1のパケットをデカプセル化することをさらに含む。少なくとも1つの複製された第1のパケットは、第1の部分およびノード情報リストに基づいて第1のデバイスによって取得される第2のパケットおよび第3のパケットに加えて、少なくとも1つの複製された第1のパケットであることに留意されたい。例えば、第4のパケットをデカプセル化した後、第1のデバイスは、元の第1のパケットに基づいて、第1の部分およびノード情報リストに基づいて第2のパケットおよび第3のパケットを取得するステップを実行する。あるいは、第1のデバイスは、第1のパケットで搬送されるリーフ識別子が、第1のデバイスがリーフノードであることを示し、第1の部分が、伝送経路上で第1のデバイスの後に位置するパケット処理デバイスがないことを示すことに基づいて、第1のパケットをデカプセル化する。任意選択で、第1のデバイスが第2のデバイスのノード情報に基づいて1つの第4のパケット内の宛先アドレスフィールドを更新した後、本方法は、第2のデバイスのノード情報に基づいて第4のパケットのリーフ識別子を更新することをさらに含む。
任意選択で、第1のデバイスに対して2つのリーフ識別子が構成され、2つのリーフ識別子の一方は、第1のデバイスがリーフノードであることを示し、他方のリーフ識別子は、第1のデバイスがリーフノードではないことを示す。第1のパケットは、2つのリーフ識別子のうちの1つを搬送する。例えば、第1のデバイスがリーフノードである場合、第1のパケットは、第1のデバイスがリーフノードであることを示すリーフ識別子を搬送する。あるいは、第1のデバイスがリーフノードではない場合、第1のパケットは、第1のデバイスがリーフノードではないことを示すリーフ識別子を搬送する。このようにして、1つのデバイスに対して2つのリーフノードが構成される必要があり、異なる状況に基づいて異なるリーフ識別子が搬送される。2つのリーフ識別子が構成されるケースに加えて、本出願のこの実施形態による方法は、1つのデバイスに対する1つのリーフ識別子の構成をさらにサポートし、デバイスがリーフノードであるかどうかは異なる値を使用して示される。例えば、第1のデバイスに対して1つのリーフ識別子が構成され、リーフ識別子は第1の値および第2の値を有し、第1の値は、第1のデバイスがリーフノードであることを示し、第2の値は、第1のデバイスがリーフノードではないことを示し、第1のパケットで搬送されるリーフ識別子の値は第1の値または第2の値である。例えば、第1のデバイスがリーフノードである場合、第1のパケットは、第1の値を有するリーフ識別子を搬送する。あるいは、第1のデバイスがリーフノードではない場合、第1のパケットは、第2の値を有するリーフ識別子を搬送する。
パケット伝送プロセスでは、パケットのサイズをさらに低減し、伝送効率を改善するために、パケットは、共通プレフィックスを使用してさらに符号化され得、これにより、共通プレフィックスを使用して符号化されたパケットは、ヘッダ圧縮技術を使用して圧縮されて伝送され得、パケットオーバーヘッドがさらに低減される。可能な実施態様では、第2の部分は、共通プレフィックスおよびノード識別子を含み、共通プレフィックスは、伝送経路上のパケット処理デバイスのノード情報内のノードアドレスの同じ部分を含み、ノード識別子は、伝送経路上のパケット処理デバイスのノード情報内のノードアドレスの異なる部分を示す。任意選択で、共通プレフィックスは、伝送経路上のパケット処理デバイスの同じ機能識別子をさらに含む。機能識別子は、各デバイスによって実行されるべき機能を示す。
加えて、別の可能な実施態様では、ノード情報リストはセグメントリストを含み、セグメントリスト内の1つ以上のセグメント識別子は共通プレフィックスを含まない。任意選択で、1つ以上のセグメント識別子のいずれか1つの長さは128ビット未満である。
パケット伝送プロセスでは、パケットを転送するだけで、前述の方法に従ってパケットを処理しないいくつかのデバイス、ならびにパケットを転送するだけの中間ルータおよびスイッチなどがあり得る。パケット伝送効率を改善するために、パケットは、パケットを転送するだけのこれらのデバイスをトラバースすることができるようにされ得る。可能な実施態様では、第1のデバイスは第1のパケットの伝送経路上の中間ノードであり、第1のデバイスが第1のパケットに基づいて第2のデバイスに対応する第2のパケットおよび第3のデバイスに対応する第3のパケットを取得する前に、本方法は、第1のデバイスが、第1のパケットで搬送される第2の部分がネットワーク内の第1のデバイスのアドレスであると決定することをさらに含む。すなわち、第2の部分は、第1のデバイスのアドレスと一致する。第2の部分がネットワーク内の第1のデバイスのアドレスと一致する場合、第1のデバイスは、第1の部分およびノード情報リストに基づいて、第2のデバイスに対応する第2のパケットおよび第3のデバイスに対応する第3のパケットを取得するステップを引き続き実行する。
任意選択で、第1のデバイスは第1のパケットの伝送経路上の中間ノードであり、第1のデバイスが、第1の部分およびノード情報リストに基づいて、第2のデバイスに対応する第2のパケットおよび第3のデバイスに対応する第3のパケットを取得する前、本方法は、第1のデバイスが、第1のパケットの第2の部分はネットワーク内の第1のデバイスのアドレスではない、すなわち、第2の部分は第1のデバイスのアドレスと一致しないと決定し、第1のデバイスが、第1のパケットの第2の部分に基づいて第1のパケットを転送することをさらに含む。
可能な実施態様では、第1のデバイスは第1のパケットの伝送経路上の出口ノードであり、第1のデバイスが第1のパケットを取得した後、本方法は、第1のデバイスが、伝送経路上で第1のデバイスの後にパケット処理デバイスがない、すなわち、第1のデバイスが伝送経路上の出口ノードであることを第1の部分が示すことに基づいて第1のパケットをデカプセル化することをさらに含む。
可能な実施態様では、ノード情報リストは、パケットを処理しない、第1のパケットの伝送経路上のデバイスのノード情報をさらに含む。この実施態様では、パケットを処理しないデバイスのノード情報は複製命令を含まず、第1の部分は、ノード情報リスト内の次ホップデバイスの位置のみを指す。
第1のデバイスは、転送情報ベース(forwarding information base、FIB)をローカルに格納することに留意されたい。FIBは、宛先アドレスフィールド内の各識別子およびポインタに対応するルーティング情報、命令情報、および処理情報などを提供する。任意選択で、FIBは、フラッディングによって第1のパケットの伝送経路上の各デバイスに配信されてもよい。
ステップ204:第1のデバイスは、第2のパケットを第2のデバイスに送信し、第3のパケットを第3のデバイスに送信する。
第1のデバイスは、第2のパケットを取得した後に第2のパケットを第2のデバイスに送信し、第3のパケットを取得した後に第3のパケットを第3のデバイスに送信する。任意選択で、第1のデバイスは、第2のパケットの宛先アドレスフィールドで搬送される更新された第2の部分に基づいてネットワーク内の第2のデバイスの位置を見つけ、第2のパケットを第2のデバイスに送信してもよい。第2のパケットを送信し、第3のパケットを送信する順序は、本出願のこの実施形態では限定されない。
本出願のこの実施形態で提供される方法によれば、ノード情報リストおよび第1の部分は、パケットを伝送するためにデバイスを示すために追加される。例えば、パケットは、第1のデバイスから第2のデバイスおよび第3のデバイスに伝送される。ノード情報リストは、第2のデバイスのノード情報および第3のデバイスのノード情報を含む。第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を示す。本出願のこの実施形態で提供される方法によれば、パケット伝送時、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置に基づいて、次のパケット受信および処理デバイスが迅速に位置特定されることができ、これにより、パケット伝送プロセスのステップが簡素化され、オーバーヘッドが低減され、伝送効率が改善される。
加えて、本出願のこの実施形態では、最後から2番目のホップポッピング方法、リーフ識別子、およびノード情報リストのさらなる処理を参照して、パケットのサイズが低減され、パケット伝送オーバーヘッドがさらに低減され、伝送効率が改善される。
図9は、本出願の実施形態によるネットワークアーキテクチャにおいてノードによって伝送されるパケットの構造の概略図である。本出願のこの実施形態では、本出願のこの実施形態による方法を説明するために、図7に示されているパケット伝送経路でパケットが伝送され、使用されるIPv6拡張ヘッダがセグメントルーティングヘッダSRHである例が使用される。図9において、パケットの2番目のコラムのノードはノードアドレスを表し、3番目のコラムのリーフはノードポインタを表す。この実施形態におけるセグメントリストでは、実際のパケットにはシーケンス番号はないが、セグメントリスト内の各SIDの位置が順次上がることを表す。具体的には、tagフィールドの隣の「128bit」は、シーケンス番号が0であるSIDを表し、以下、シーケンス番号がそれぞれ1、2、…、8であるSIDが順次表示されている。この実施形態では、第1の識別子はSIDのシーケンス番号と同じであることに留意されたい。例えば、デバイスAによってデバイスBに送信されるパケットでは、デバイスBは、シーケンス番号が1であるSIDに対応する。したがって、パケットの第1の識別子は1である。同様に、デバイスAによってデバイスCに送信されるパケットでは、第1の識別子は2である。デバイスBによってデバイスB1からB3に送信されるパケットでは、第1の識別子はそれぞれ3から5である。デバイスCによってデバイスC1からC3に送信されるパケットでは、第1の識別子はそれぞれ6から8である。
SRHヘッダにおいて、各SIDは、ノードアドレス、機能識別子、およびノードポインタを含む。この実施形態では、64ビットマスクを有するノードアドレス2001:db8:1:2::が、ルーティングおよびアグリゲーションのためにデバイスAのSIDに対して構成される。機能識別子は、アドレスブロックの直後の32ビットで構成され、この実施形態における複製機能は、1234:1234を使用して表される。ノードポインタは、機能識別子の直後の32ビットで構成される。最初の16ビットは、セグメントリスト内の次のパケット処理デバイスのSIDの開始位置を格納し、最後の16ビットは、セグメントリスト内の次のパケット処理デバイスのSIDの終了位置を格納する。この実施形態では、::1は、セグメントリスト内の次のパケット処理デバイスのSIDの開始位置が、シーケンス番号が1であるSIDを有する位置であることを示し、::2は、セグメントリスト内の次のパケット処理デバイスのSIDの終了位置が、シーケンス番号が2であるSIDを有する位置であることを示す。したがって、この実施形態では、シーケンス番号が0であるSIDは、以下のように、2001:db8:1:2:1234:1234:1:2のように表される。
同様に、デバイスBのノードアドレスは2001:db8:1:3::である。したがって、シーケンス番号が1であるSIDは、以下のように、2001:db8:1:3:1234:1234:3:5のように表される。デバイスCのノードアドレスは2001:db8:1:4::である。したがって、シーケンス番号が2であるSIDは、2001:db8:1:4:1234:1234:6:8のように表される。デバイスB1のノードアドレスは2001:db8:1:5::である。したがって、シーケンス番号が3であるSIDは、以下のように、2001:db8:1:5:1234:1234:0:0のように表される。デバイスB2のノードアドレスは2001:db8:1:6::である。したがって、シーケンス番号が4であるSIDは、以下のように、2001:db8:1:6:1234:1234:0:0のように表される。デバイスB3のノードアドレスは2001:db8:1:7::である。したがって、シーケンス番号が5であるSIDは、以下のように、2001:db8:1:7:1234:1234:0:0のように表される。デバイスC1のノードアドレスは2001:db8:1:8::である。したがって、シーケンス番号が6であるSIDは、以下のように、2001:db8:1:8:1234:1234:0:0のように表される。デバイスC2のノードアドレスは2001:db8:1:9::である。したがって、シーケンス番号が7であるSIDは、以下のように、2001:db8:1:9:1234:1234:0:0のように表される。デバイスC3のノードアドレスは2001:db8:1:a::である。したがって、シーケンス番号が8であるSIDは、以下のように、2001:db8:1:a:1234:1234:0:0のように表される。
図2に示されているパケット伝送方法のフローチャートに対応して、この実施形態におけるパケット伝送経路上の任意のデバイスは、パケットを取得して送信するとき、第1のデバイスと考えられ得、受信パケットは、任意のデバイスが中間ノードとして使用されるとき、第1のパケットと考えられ得、送信パケットは、第2のパケットと考えられ得、デバイスに対応する複数の次ホップパケット処理デバイスは、第2のデバイスおよび第3のデバイスと考えられ得ることに留意されたい。すなわち、図2に示されているパケット伝送方法は、この実施形態では、パケット伝送経路上の各デバイスに適用可能である。
この実施形態では、Aが第1のデバイスとして使用され、デバイスAによって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
9011:デバイスAは、デバイスAに対応するパケットを取得し、デバイスAに対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第2の部分および第1の部分を含む。
任意選択で、デバイスAに対応するパケットを取得するためにデバイスAが入口ノードとして使用されることは、デバイスAが第5のパケットを取得し、第5のパケットが、デバイスAによって受信される伝送されるべきパケットであることを含むが、これに限定されない。デバイスAは、ノード情報リストを第5のパケットに追加する、具体的には、この実施形態では、IPv6拡張ヘッダとしてセグメントリストを搬送するSRHを使用してパケットをカプセル化し、この実施形態におけるセグメントリストはデバイスAのSIDを搬送する。デバイスAは、デバイスAのノード情報に基づいて第1の部分および第2の部分を第5のパケットに追加する。この実施形態では、デバイスAは、デバイスAに対応するパケットを取得するために、セグメントリスト内の第1のSID(SID0)、具体的には2001:db8:1:2:1234:1234:1:2をカプセル化されたパケットの宛先アドレスフィールドに記入する。このケースでは、宛先アドレスフィールド内の「:1:2」は第1の部分であり、「2001:db8:1:2:」は第2の部分である。
9012:デバイスAは、第1の部分に基づいて、ノード情報リストからデバイスBのノード情報およびデバイスCのノード情報を決定する。
第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する。
9013:デバイスAは、デバイスAに対応するパケットに基づいて、デバイスBに対応するパケットおよびデバイスCに対応するパケットを取得する。
デバイスAに対応するパケットを取得した後、デバイスAは、パケット内の第1の部分およびノード情報リストに基づいて、デバイスBに対応するパケットおよびデバイスCに対応するパケットを別々に生成する。
任意選択で、デバイスAがデバイスBに対応するパケットを生成するステップは、デバイスAが、第1の部分に基づいて、次層ターゲットパケット複製および処理デバイスの数およびデバイスを決定することを含む。デバイスAは、ターゲットデバイスの数と同じ回数だけパケットを複製する。デバイスAは、第1の部分に基づいてセグメントリスト内のデバイスBのSIDの位置を決定し、セグメントリスト内のデバイスBのSIDの位置に基づいてデバイスBのSIDを取得する。デバイスAは、デバイスBのSIDに基づいて、1つの複製されたパケット内の宛先アドレスフィールドを更新する。デバイスAは、更新された第4のパケットに基づいて、デバイスBに対応するパケットを取得する。
任意選択で、パケットは第1の識別子をさらに搬送し、第1の識別子はセグメントリスト内の現在のパケット処理デバイスのSIDの位置を示す。デバイスAがデバイスBのSIDに基づいて1つの複製されたパケット内の宛先アドレスフィールドを更新した後、デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する複製されたパケットの第1の識別子をさらに更新する。
例えば、デバイスAは、以下の情報を取得するために、宛先アドレスフィールド(destination address、DA)フィールドを読み取る。1.パケットの宛先アドレスフィールドは、デバイスAのSIDである。宛先アドレスフィールド内の2.1234:1234は、複製命令を示す。3.第1の部分は、セグメントリスト内の次のパケット処理デバイスのSIDの開始位置および終了位置がそれぞれ1および2であることを示す。前述の情報に基づいて、デバイスAは、デバイスBおよびデバイスCを含むターゲットデバイスの数が2であると決定する。具体的には、デバイスAに対応するパケットは2回複製される必要があり、複製されたパケットが送信されるべきデバイスは、セグメントリスト内で位置がそれぞれ1および2であるSIDによって示されるデバイスである。デバイスAは、パケットを2回複製し、第1の部分の指示に基づいてセグメントリスト内のデバイスBおよびデバイスCのノード情報、具体的にはSID1およびSID2を位置特定し、SID1、具体的には2001:db8:1:3:1234:1234:3:5を、デバイスAに対応する1つの複製されたパケットのDAフィールドに記入する。このケースでは、複製されたパケットの第1の部分「:1:2」は、更新された第1の部分「:3:5」に更新され、第2の部分「2001:db8:1:2:」は、更新された第2の部分「2001:db8:1:3」に更新される。任意選択で、デバイスAに対応するパケットは第1の識別子をさらに搬送する。パケットを更新した後、デバイスAは、パケット内の第1の識別子(segment left)フィールドを0から1に設定する。デバイスAは、SID2、具体的には2001:db8:1:4:1234:1234:6:8を別の複製されたパケットのDAフィールドに記入する。このケースでは、複製されたパケットの第1の部分「:1:2」は更新された第1の部分「:6:8」に更新され、第2の部分「2001:db8:1:2:」は第3のアドレス「2001:db8:1:4:」に更新され、パケット内の第1の識別子は0から2に設定される。
9014:デバイスAは、対応するパケットをデバイスBに送信し、対応するパケットをデバイスCに送信する。
デバイスAは、DAフィールド内のノードアドレスによって示される位置情報、具体的には2001:db8:1:3:および2001:db8:1:4:に基づいて、異なるDAフィールドを搬送する2つの複製されたパケットを、それぞれデバイスBに対応するパケットおよびデバイスCに対応するパケットとして、対応するデバイス、具体的にはデバイスBおよびCに別々に送信する。
パケットがデバイスBに送信される場合、デバイスBは、図2に示されている方法で第1のデバイスによって実行される機能を実行し得る。デバイスBは、図9に示されているネットワークアーキテクチャにおける中間ノードであるため、デバイスBによって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
9021:デバイスBは、デバイスBに対応するパケットを取得し、デバイスBに対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第2の部分および第1の部分を含む。
デバイスBは、デバイスAによって送信されたパケットを直接受信し、このパケットをデバイスBに対応するパケットとして使用し、図2に示されているパケット伝送方法に従って、デバイスBに対応するパケットを処理して伝送する。
9022:デバイスBは、第1の部分に基づいて、ノード情報リストからデバイスB1からB3のノード情報を決定する。
第1の部分は、ノード情報リスト内のデバイスB1からB3のノード情報の位置を識別する。
9023:デバイスBは、デバイスBに対応するパケットに基づいて、デバイスB1からB3にそれぞれ対応するパケットを取得する。
デバイスAによって送信された、デバイスBに対応するパケットを受信した後、デバイスBは、第1の部分およびノード情報リストに基づいて、デバイスB1からB3にそれぞれ対応するパケットを取得する。任意選択で、デバイスBは、以下の情報を取得するために、デバイスBに対応するパケットのDAフィールドを読み取る。1.パケットの宛先アドレスフィールドは、デバイスBのSIDである。宛先アドレスフィールド内の2.1234:1234は、複製命令を示す。3.第1の部分は、セグメントリスト内の次のパケット処理デバイスの開始位置および終了位置がそれぞれ3および5であることを示す。デバイスBは、前述の情報に基づいて、次のターゲットパケット処理デバイスの数が3であると決定する。具体的には、デバイスBに対応するパケットは3回複製される必要があり、複製されたパケットが送信されるべきデバイスは、それぞれシーケンス番号が3、4、および5であるSIDによって示されるデバイスである。デバイスBは、パケットを3回複製し、第1の部分の指示に基づいて、セグメントリスト内の次のパケット処理デバイスのノード情報、具体的にはSID3、SID4、およびSID5を位置特定する。SID3は、1つの複製されたパケットのDAフィールドに記入される。このケースでは、1つのパケットを取得するために、複製されたパケットの第1の部分「:3:5」は「:0:0」に更新され、第2の部分「2001:db8:1:3:」は「2001:db8:1:5:」に更新され、パケット内の第1の識別子(segment left)は1から3に設定される。SID4は、別の複製されたパケットのDAフィールドに記入される。このケースでは、1つのパケットを取得するために、複製されたパケットの第1の部分「:3:5」は「:0:0」に更新され、第2の部分「2001:db8:1:3:」は「2001:db8:1:6:」に更新され、パケット内の第1の識別子(segment left)は1から4に設定される。SID4は、残りの複製されたパケットのDAフィールドに記入される。このケースでは、1つのパケットを取得するために、複製されたパケットの第1の部分「:3:5」は「:0:0」に更新され、第2の部分「2001:db8:1:3:」は「2001:db8:1:7:」に更新され、パケット内の第1の識別子(segment left)は1から5に設定される。
9024:デバイスBは、対応するパケットをデバイスB1からB3に送信する。
次に、デバイスBは、取得された複数のパケットを、セグメントリスト内で位置がそれぞれ3、4、および5であるSIDによって示されるデバイス、具体的にはデバイスB1からB3に別々に送信する。デバイスAによって送信されたパケットを受信した後、デバイスCもまた、前述の方法に従ってパケットを3回複製し、これに対応してDAフィールドおよび第1の識別子を修正し、次に、対応するパケットを、セグメントリスト内で位置がそれぞれ6、7、および8であるSIDによって示されるデバイス、具体的にはデバイスC1からC3に別々に送信する。本出願のこの実施形態において、ここでは詳細は説明されない。
デバイスB1が、デバイスBによって送信された、デバイスB1に対応するパケットを受信した後、デバイスB1は、図2に示されている方法で第1のデバイスによって実行される機能を実行する。デバイスBは出口ノードであり、図9に示されているネットワークアーキテクチャにおける第1のデバイスとして使用されるため、デバイスB1によって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
9031:デバイスB1は、デバイスB1に対応するパケットを取得し、デバイスB1に対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第1の部分および第2の部分を含む。
デバイスB1は、デバイスBによって送信されたパケットを受信する。
9032:デバイスB1は、デバイスB1の後にパケット処理デバイスがない、すなわち、デバイスB1が伝送経路上の出口ノードであることを第1の部分が示すことに基づいて、デバイスB1に対応するパケットをデカプセル化する。
例えば、デバイスB1は、以下の情報を取得するために、デバイスB1に対応するパケットのDAフィールドを読み取る。1.パケットの宛先アドレスフィールドは、デバイスB1のSIDである。宛先アドレスフィールド内の2.1234:1234は、複製命令を示す。3.第1の部分は、デバイスが次のパケット処理デバイスを有しないことを示す。デバイスB1は、前述の情報に基づいて、パケットが経路上の最後のデバイスに伝送されたことを知り、パケットをそれ以上複製せず、経路上のパケットの伝送を完了する。任意選択で、B1はパケット伝送経路上の出口ノードであるため、B1はパケットをさらにデカプセル化してもよい。
同様に、デバイスBによって送信されたパケットを受信した後、デバイスB2およびB3も、デバイスB1の前述のパケット処理方法に従って経路上のパケットの伝送を完了する。デバイスCによって送信されたパケットを受信した後、デバイスC1、C2、およびC3も、デバイスB1の前述のパケット処理方法に従って経路上のパケットの伝送を完了する。本出願のこの実施形態において、ここでは詳細は説明されない。
図10は、本出願の実施形態によるパケット伝送経路を示す。この例では、パケット伝送経路は、負荷分散シナリオ、アクティブ/スタンバイ保護シナリオ、および冗長保護シナリオなどで使用されるマルチパス、すなわちポイントツーマルチポイントツーポイントである。この例では、パケット伝送経路は論理的に層に分割され、経路が同じ数の分岐を通るノードは、同じ層のノードとして使用される。図10に示されているように、ノードAは第1層のパケット処理デバイスであり、ポイントBおよびCは第2層のパケット処理デバイスであり、D、E、F、およびGは第3層のパケット処理デバイスであり、Hは第4層のパケット処理デバイスである。図11は、本出願の実施形態によるノード情報リストの階層配置を示し、ノード情報リストは、図10に示されているパケット伝送経路に対応する。任意選択で、図10および図11に対応するパケット伝送方法は、以下のいくつかのステップを含む。
この実施形態では、Aが第1のデバイスとして使用され、デバイスAによって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
10011:デバイスAは、デバイスAに対応するパケットを取得し、デバイスAに対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第2の部分および第1の部分を含む。
デバイスAに対応するパケットを取得するためにデバイスAが入口ノードとして使用されることは、デバイスAが第5のパケットを取得し、第5のパケットが、デバイスAによって受信される伝送されるべきパケットであることを含むが、これに限定されない。デバイスAは、ノード情報リストを第5のパケットに追加する、具体的には、この実施形態では、IPv6拡張ヘッダとしてセグメントリストを搬送するSRHを使用してパケットをカプセル化し、この実施形態におけるセグメントリストはデバイスAのSIDを搬送する。デバイスAは、デバイスAのノード情報に基づいて第1の部分および第2の部分を第5のパケットに追加する。この実施形態では、デバイスAは、デバイスAに対応するパケットを取得するために、セグメントリスト内の第1のSID(SID0)をカプセル化されたパケットの宛先アドレスフィールドに記入する。
10012:デバイスAは、第1の部分に基づいて、ノード情報リストからデバイスBのノード情報およびデバイスCのノード情報を決定する。
第1の部分は、ノード情報リスト内のデバイスBのノード情報およびデバイスCのノード情報の位置を識別する。
10013:デバイスAは、デバイスAに対応するパケットに基づいて、デバイスBに対応するパケットおよびデバイスCに対応するパケットを取得する。
デバイスAに対応するパケットを取得した後、デバイスAは、第1の部分およびノード情報リストに基づいて、デバイスBに対応するパケットおよびデバイスCに対応するパケットを取得する。
任意選択で、デバイスAがデバイスBに対応するパケットを取得するステップは、デバイスAが、第1の部分に基づいて、デバイスBおよびデバイスCを含むターゲットデバイスの数を決定することを含む。デバイスAは、デバイスAに対応するパケットを、ターゲットデバイスの数と同じ回数だけ複製する。デバイスAは、第1の部分に基づいてセグメントリスト内のデバイスBのSIDの位置を決定し、セグメントリスト内のデバイスBのSIDの位置に基づいてデバイスBのSIDを取得する。デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新する。第1のデバイスは、更新された第4のパケットに基づいて、デバイスBに対応するパケットを取得する。
任意選択で、パケットは第1の識別子をさらに搬送し、第1の識別子はセグメントリスト内の現在のパケット処理デバイスのSIDの位置を示す。デバイスAが、デバイスBのSIDに基づいて、デバイスAに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新した後、デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する複製されたパケットの第1の識別子をさらに更新する。
例えば、デバイスAは、以下の情報:複製命令がある、を取得するためにDAフィールドを読み取る。セグメントリスト内の次のパケット処理デバイスのSIDの開始位置および終了位置はそれぞれ1および2である。前述の情報に基づいて、デバイスAは、パケットが2回複製される必要があり、複製されたパケットが送信される必要があるデバイスは、それぞれシーケンス番号が1および2であるSIDによって示されるデバイスであることを知る。デバイスAは、パケットを2回複製し、セグメントリスト内のSID1およびSID2を位置特定し、SID1を1つの複製されたパケットのDAフィールドに記入し、パケット内の第1の識別子(segment left)を0から1に設定する。SID2は、別の複製されたパケットのDAフィールドに記入され、パケット内の第1の識別子は0から2に設定される。
10014:デバイスAは、対応するパケットをデバイスBに送信し、対応するパケットをデバイスCに送信する。
デバイスAは、DAフィールド内のノードアドレスによって示されるネットワーク内の位置に基づいて、異なるDAフィールドを搬送する2つの複製されたパケットを対応するデバイス、具体的にはデバイスBおよびCに別々に送信する。
同様に、デバイスAによって送信されたパケットを受信した後、デバイスBもまた、前述の方法に従ってパケットを2回複製し、これに対応してDAフィールドおよび第1の識別子を修正し、次に、対応するパケットを、シーケンス番号が3および4であるSIDによって示されるデバイス、具体的にはノードDおよびEに別々に送信する。ノードAによって送信されたパケットを受信した後、デバイスCもまた、前述の方法に従ってパケットを2回複製し、これに対応してDAフィールドおよび第1の識別子を修正し、次に、対応するパケットを、シーケンス番号が5および6であるSIDによって示されるデバイス、具体的にはデバイスFおよびGに別々に送信する。
デバイスDが、デバイスBによって送信された、デバイスDに対応するパケットを受信した後、デバイスDは、図2に示されている方法で第1のデバイスによって実行される機能を実行する。デバイスDは中間ノードであり、図10に示されている伝送経路上の第1のデバイスとして使用されるため、デバイスDによって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
10021:デバイスDは、デバイスDに対応するパケットを取得し、デバイスDに対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第2の部分および第1の部分を含む。
デバイスDは、デバイスBによって送信されたパケットを直接受信し、このパケットをデバイスDに対応するパケットとして使用する。
10022:デバイスDは、第1の部分に基づいて、ノード情報リストからデバイスHのノード情報を決定する。
第1の部分は、ノード情報リスト内のデバイスHのノード情報の位置を識別する。
10023.デバイスDは、デバイスDに対応するパケットに基づいて、デバイスHに対応するパケットを取得する。
デバイスBからパケットを受信した後、デバイスDは、以下の情報:複製命令がある、を取得するためにDAフィールドを読み取る。デバイスは、ただ1つの次のパケット処理デバイス、具体的には、シーケンス番号が7であるSIDによって示されるデバイスを有する。デバイスDは、前述の情報に基づいてパケットを1回複製し、これに対応してDAフィールドおよび第1の識別子を修正する。
10024:デバイスDは、対応するパケットをデバイスHに送信する。
デバイスDは、シーケンス番号が7であるSIDによって示されるデバイス、つまり、デバイスHにパケットを送信する。同様に、E、F、およびGも、ノードDのパケット処理方法に従って対応するパケットを複製および更新し、次に、対応するパケットをデバイスHに送信する。
D、E、F、およびGによってそれぞれ送信されたパケットを受信した後、デバイスHは、DAフィールドを読み取り、デバイスがパケット伝送経路上の最後のノードであることを知り、パケットを複製せず、経路上のパケットの伝送を完了する。任意選択で、デバイスHはパケット伝送経路上の出口ノードであるため、デバイスHは、パケットをさらにデカプセル化してもよい。
図12は、本出願の実施形態によるネットワークアーキテクチャにおいてノードによって伝送されるパケットの構造の概略図である。この実施形態におけるパケット伝送経路は、図7に示されている経路である。図12において、パケットの2番目のコラムの「ノード」はノードアドレスを表し、3番目のコラムの「リーフ」はノードポインタを表す。図12に示されているように、この実施形態では、入口ノードデバイスAが第1のデバイスとして使用され、デバイスAによって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
12011:デバイスAは、デバイスAに対応するパケットを取得し、デバイスAに対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第2の部分および第1の部分を含む。
デバイスAは、デバイスAに対応するパケットを取得するために、最初に、SRHをIPv6拡張ヘッダとして使用して、伝送されるべきパケットをカプセル化し、次に、セグメントリスト内の第1のSID(SID0)をカプセル化されたパケットの宛先アドレスフィールドに記入する。
12012:デバイスAは、第1の部分に基づいて、ノード情報リストからデバイスBのノード情報およびデバイスCのノード情報を決定する。
第1の部分は、ノード情報リスト内のデバイスBのノード情報およびデバイスCのノード情報の位置を識別する。
12013:デバイスAは、デバイスAに対応するパケットに基づいて、デバイスBに対応するパケットおよびデバイスCに対応するパケットを取得する。
任意選択で、デバイスAがデバイスBに対応するパケットおよびデバイスCに対応するパケットを取得するステップは、デバイスAが、第1の部分に基づいて、デバイスBおよびデバイスCを含むターゲットデバイスの数を決定することを含む。デバイスAは、ターゲットデバイスの数と同じ回数だけデバイスAに対応するパケットを複製する。デバイスAは、第1の部分に基づいてセグメントリスト内のデバイスBのSIDの位置を決定し、セグメントリスト内のデバイスBのSIDの位置に基づいてデバイスBのSIDを取得する。デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新する。デバイスAは、更新された第4のパケットに基づいて、デバイスBに対応するパケットを取得する。任意選択で、パケットは第1の識別子をさらに搬送し、第1の識別子はセグメントリスト内の現在のパケット処理デバイスのSIDの位置を示す。デバイスAが、デバイスBのSIDに基づいて、デバイスAに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新した後、デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する複製されたパケットの第1の識別子をさらに更新する。次に、デバイスAは、同じ方法に従って、セグメントリスト内のデバイスCのSIDの位置に基づいて別の更新されたパケットを取得する。
デバイスAは、更新された第4のパケット内のSIDを処理して、処理されたパケットを取得する。処理されたパケット内のノード情報リストは、伝送経路上でデバイスAの後に位置するパケット処理デバイスのSIDのみを含む。
例えば、デバイスAは、デバイスAに対応するパケットの宛先アドレスフィールド内の第1の部分に基づいてパケットを2回複製し、次に、第1の部分に基づいてセグメントリスト内のデバイスBおよびデバイスCのSIDを位置特定し、位置特定されたSIDに基づいて2つの複製されたパケットの宛先アドレスフィールドを別々に更新する。更新されたパケットが取得された後、デバイスAは、処理されたパケット内のセグメントリストが伝送経路上でデバイスAの後に位置するパケット処理デバイスのノード情報のみを含むように、処理されたパケットを取得するために、更新された第4のパケット内のセグメントリストを処理する。
例えば、デバイスAは、2つの更新されたパケットのセグメントリストを別々に修正する。デバイスAによってデバイスBに送信されるパケットにおいて、セグメントリスト内のパケット伝送経路は、デバイスBから始まって出口ノードまでの経路を含み、デバイスAによってデバイスCに送信されるパケットにおいて、セグメントリスト内のパケット伝送経路は、デバイスCから始まって出口ノードまでの経路を含む。次に、修正されたパケットにおいてシーケンス番号が0であるSIDが、デバイスBおよびCにそれぞれ送信される2つのパケットを形成するために、パケットの宛先アドレスフィールドにそれぞれ記入される。
12014:デバイスAは、対応するパケットをデバイスBに送信し、対応するパケットをデバイスCに送信する。
デバイスAは、DAフィールド内のノードアドレスによって示される位置情報に基づいて、セグメントリストが処理された2つのパケットを対応するデバイス、具体的にはデバイスBおよびCに別々に送信する。
このケースでは、2つのパケットの第1の識別子は両方とも0であり、これは、現在のパケット処理デバイスのSIDの位置がセグメントリストの1番目であることを示すことに留意されたい。しかしながら、デバイスAによってデバイスBに送信されるパケットにおいて、第1の識別子0、具体的には、修正されたセグメントリストにおいてシーケンス番号が0であるSIDは、デバイスBを示す。AによってCに送信されるパケットにおいて、第1の識別子0、具体的には、修正されたセグメントリストにおいてシーケンス番号が0であるSIDは、デバイスCを示す。
デバイスBが、デバイスAによって送信された、デバイスBに対応するパケットを受信した後、デバイスBは、図2に示されている方法で第1のデバイスによって実行される機能を実行する。デバイスBは中間ノードであり、図12に示されている伝送経路上の第1のデバイスとして使用されるため、デバイスBによって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
12021:デバイスBは、デバイスBに対応するパケットを取得し、デバイスBに対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第2の部分および第1の部分を含む。
デバイスBは、デバイスAによって送信されたパケットを直接受信し、このパケットをデバイスBに対応するパケットとして使用する。
12022:デバイスBは、第1の部分に基づいて、ノード情報リストからデバイスB1からB3のノード情報を決定する。
第1の部分は、ノード情報リスト内のデバイスB1からB3のノード情報の位置を識別する。
12023:デバイスBは、デバイスBに対応するパケットに基づいて、デバイスB1からB3にそれぞれ対応するパケットを取得する。
デバイスAによって送信されたパケットを受信した後、デバイスBは、宛先アドレスフィールドを読み取り、複製命令、次ホップパケット処理デバイスの数、およびセグメントリスト内の次ホップデバイスの位置を取得する。このようにして、デバイスBは、3つのパケットを形成するために、パケットを3回複製し、SID1、SID2、およびSID3を複製されたパケットの宛先アドレスフィールドにそれぞれ記入し、次に、これに対応してパケットの第1の識別子を修正する。
12024:デバイスBは、対応するパケットをデバイスB1からB3に送信する。
デバイスBは、対応するパケットをデバイスB1、B2、およびB3にそれぞれ送信する。同様に、デバイスAによって送信されたパケットを受信した後、デバイスCも、3つのパケットを形成するためにパケットを複製および更新し、次に、3つのパケットをそれぞれデバイスC1、C2、およびC3に送信する。ここでは、このプロセスは再び説明されない。
デバイスBによって送信されたパケットを受信した後、デバイスB1は、宛先アドレスフィールドを読み取り、デバイスB1がパケット伝送経路上の出口ノードであることを知り、複製を停止して経路上のパケットの伝送を完了する。同様に、デバイスB2、B3、C1、C2、およびC3も、デバイスB2、B3、C1、C2、およびC3がパケット伝送経路上の出口ノードであることを知り、経路上のパケットの伝送を完了する。
図13は、本出願の実施形態によるネットワークアーキテクチャにおいてノードによって伝送されるパケットの構造の概略図である。この実施形態による方法は、前述のパケット伝送方法のいずれか1つに基づいて実施され得る。これは、本出願のこの実施形態では限定されない。この例におけるパケット伝送方法は、図12に示されている方法に基づいて実施される。図13において、パケットの2番目のコラムの「ノード」はノードアドレスを表し、3番目のコラムの「リーフ」はノードポインタを表す。
デバイスAによって実行されるパケット伝送方法は、図12に示されているデバイスAによって実行されるパケット伝送方法と同じである。デバイスBが、デバイスAによって送信された、デバイスBに対応するパケットを受信した後、デバイスBは、図2に示されている方法で第1のデバイスによって実行される機能を実行する。デバイスBは中間ノードであり、図12に示されている伝送経路上の第1のデバイスとして使用されるため、デバイスBによって実行されるパケット伝送方法は、以下のいくつかのステップを含むが、これらに限定されない。
13011:デバイスBは、デバイスBに対応するパケットを取得し、デバイスBに対応するパケットは、宛先アドレスフィールドおよびノード情報リストを搬送し、宛先アドレスフィールドは、第2の部分および第1の部分を含む。
デバイスBは、デバイスAによって送信されたパケットを直接受信し、このパケットをデバイスBに対応するパケットとして使用する。
13012:デバイスBは、第1の部分に基づいて、ノード情報リストからデバイスB1からB3のノード情報を決定する。
第1の部分は、ノード情報リスト内のデバイスB1からB3のノード情報の位置を識別する。
13013:デバイスBは、デバイスBに対応するパケットに基づいて、デバイスB1からB3にそれぞれ対応するパケットを取得する。
デバイスBは、第1の部分に基づいて、デバイスAによって送信されたパケットを受信し、デバイスB1からB3を含むターゲットデバイスの数を決定する。デバイスBは、ターゲットデバイスの数と同じ回数だけデバイスBに対応するパケットを複製する。デバイスBは、第1の部分に基づいて、ノード情報リスト内のデバイスB1からB3のノード情報の位置を決定し、ノード情報リスト内のデバイスB1のノード情報の位置に基づいて、デバイスB1のノード情報を取得する。デバイスBは、デバイスB1のノード情報に基づいて、デバイスBに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新する。デバイスBは、更新された第4のパケットに基づいて、デバイスB1に対応するパケットを取得する。
例えば、デバイスBは、宛先アドレスフィールドを読み取り、複製命令、次のパケット処理デバイスの数、およびセグメントリスト内の次のデバイスの位置を取得する。このようにして、デバイスBは、3つのパケットを形成するために、パケットを3回複製し、SID1、SID2、およびSID3を複製されたパケットの宛先アドレスフィールドにそれぞれ記入し、次に、これに対応してパケットの第1の識別子を修正する。
任意選択で、デバイスBが更新された第4のパケットに基づいてデバイスB1に対応するパケットを取得することは、更新された第4のパケット内の更新された第1の部分が、伝送経路上でデバイスB1の後に位置するパケット処理デバイスがないことを示すことに基づいて、更新された第4のパケット内のインターネットプロトコルバージョン6 IPv6拡張ヘッダをポップアップすることと、IPv6拡張ヘッダをポップアップした後にパケットをデバイスB1に対応するパケットとして使用することとを含む。
例えば、更新されたパケットの宛先アドレスフィールドで搬送されるポインタが、デバイスBの後にパケット処理デバイスがないこと、例えば、デバイスBの後の次のパケット処理デバイス、つまり、B1からB3がパケット伝送経路上の出口ノードであることを示すことに基づいて、デバイスBは、更新されたパケットのIPv6拡張ヘッダをポップアップし、IPv6拡張ヘッダを搬送しないパケットを、デバイスB1からB3にそれぞれ対応するパケットとして使用する。
13014:デバイスBは、対応するパケットをデバイスB1からB3に送信する。
デバイスBは、デバイスB1からB3にそれぞれ対応するパケットとして、IPv6拡張ヘッダを搬送しないパケットを使用し、パケットをデバイスB1からB3にそれぞれ送信する。同様に、デバイスAによって送信されたパケットを受信した後、デバイスCは、パケットを3回複製し、次に、パケットを別々に複製および更新した後、デバイスBと同じパケット処理方法を実行する。
次に、図2に示されているパケット伝送方法において共通プレフィックスを使用してパケットヘッダを圧縮することに関して以下の例が提供され、これは、以下の3つの圧縮スキームを含むが、これらに限定されない。
圧縮スキーム1:図14は、本出願の実施形態によるパケット伝送方法で使用される圧縮符号化スキームの概略図である。
本出願のこの実施形態で使用される圧縮符号化は、ヘッダ圧縮に使用される。ヘッダ内の大量の繰り返しフィールド情報に関して、共通プレフィックスが、ヘッダのサイズを低減するために使用されることができる。本出願のこの実施形態では、ヘッダの冗長情報を低減するために、共通プレフィックス(common-prefix)を使用することによるパケット圧縮符号化が導入される。
各パケット処理デバイスのノード情報において、ノードアドレスを表すために「1つの共通プレフィックス+1つのノード識別子」が使用され得る。この圧縮符号化スキームでは、ノード識別子のみが搬送される必要があり、完全なノードアドレスがノード情報で搬送される必要がなく、これにより、ノード情報リストのサイズが低減される。加えて、ノード情報は、機能識別子およびノードポインタをさらに搬送し得る。例えば、この例では、図7に示されているパケット伝送経路が使用され、使用されるIPv6拡張ヘッダはSRHである。この例では、セグメントリスト内のパケット処理デバイスのSIDに対して1つの共通プレフィックスが構成される。共通プレフィックスの長さは96ビットであり、ノード識別子の長さは16ビットであり、機能識別子の長さは8ビットであり、ノードポインタの長さは8ビットであり、ノードポインタは、次ホップパケット処理デバイスの開始位置および終了位置を含み、2つのフィールドはそれぞれ4ビットを占有する。この例におけるこの符号化スキームでは、現在のネットワークにおけるノード識別子の最大数は65535であり、パケット内のSIDの最大数は15であり、各デバイスは最大15個の次ホップパケット処理デバイスを有する。
例えば、この例では、パケット処理デバイスのSIDに対して構成された共通プレフィックスは以下の通りであり、2001:db8:3:4:5:6::/96である。A/B/C/B1/B2/B3/C1/C2/C3のノード識別子は、それぞれA0/B0/C0/B1/B2/B3/C1/C2/C3である。各デバイスのSIDが、機能識別子を表すために0xFEを有するように構成されるとき、デバイスAによってデバイスBに送信されるパケットは、図14に示されているパケットであってもよい。IPv6ヘッダの宛先アドレスフィールド内の「2001:db8:3:4:5:6:B0:FE35」は、宛先デバイスがデバイスBであり、命令が複製であり、第1の部分が3から5を指すことを示す。SRH拡張ヘッダでは、第1の識別子は1に設定される。セグメントリスト内の「A0:FE12」は、シーケンス番号が0であるSIDおよびデバイスAを示し、命令が複製であり、ノードポインタが1から2を指すことを示す。「B0:FE35」は、シーケンス番号が1であるSIDおよびデバイスBを示し、命令が複製であり、ノードポインタが3から5を指すことを示す。「C0:FE68」は、シーケンス番号が2であるSIDおよびデバイスCを示し、命令が複製であり、ノードポインタが6から8を指すことを示す。「B1:FE00」は、シーケンス番号が3であるSIDおよびデバイスB1を示し、命令が複製であり、ノードポインタが0から0を指すことを示す。「B2:FE00」は、シーケンス番号が4であるSIDおよびデバイスB2を示し、命令が複製であり、ノードポインタが0から0を指すことを示す。「B3:FE00」は、シーケンス番号が5であるSIDおよびデバイスB3を示し、命令が複製であり、ノードポインタが0から0を指すことを示す。「C1:FE00」は、シーケンス番号が6であるSIDおよびデバイスC1を示し、命令が複製であり、ノードポインタが0から0を指すことを示す。「C2:FE00」は、シーケンス番号が7であるSIDおよびデバイスC2を示し、命令が複製であり、ノードポインタが0から0を指すことを示す。「C3:FE00」は、シーケンス番号が8であるSIDおよびデバイスC3を示し、命令が複製であり、ノードポインタが0から0を指すことを示す。図14に示されている圧縮符号化スキームから、共通プレフィックスを使用して圧縮されたパケットヘッダでは、ノード情報リストのスペースが半分だけ低減されることが知られることができる。このようにして、パケットのサイズが低減され、応答速度が向上し、パケット伝送経路上のパケットの伝送効率が改善される。
圧縮スキーム2:図15は、本出願の実施形態によるパケット伝送方法で使用される圧縮符号化スキームの概略図である。
パケット伝送経路上では、いくつかのデバイスが中間ノードおよび出口ノードとして指定され得る。このケースでは、デバイスは、他のルータノードに接続するためのネットワークドメイン内の中間ノードとして使用され得、ユーザホストなどのユーザデバイスに接続するためのエッジデバイスとしても使用され得る。中間ノードおよび出口ノードとして使用されるデバイスは、複合ノードと呼ばれる。例えば、図7に示されているパケット伝送経路上では、デバイスBが複合ノードとして指定されている。具体的には、デバイスBは、パケットをB1/B2/B3に送信し、またパケットを1回複製し、複製されたパケットを上位層デバイスに引き続き送信するか、またはデカプセル化処理を実行する。言い換えれば、この実施形態によるパケット伝送方法では、2つのタイプのパケットデカプセル化ノードがあり、一方は複合ノードであり、他方は、上記で説明された出口ノードである。2つのタイプのパケットデカプセル化ノードは、リーフノードと呼ばれる。本出願のこの実施形態による方法では、ノードがリーフノードであるかどうかは、各デバイスのノード情報内のリーフ識別子を搬送することによって示され、言い換えれば、ノードがデカプセル化を実行する必要があるかどうかは、リーフ識別子を使用して示される。デバイスがリーフノードであると決定した後、第1の部分を使用して、ノードが複合ノードであるか出口ノードであるかがさらに決定される。ノードが複合ノードである場合、パケットは1回複製され、複製されたパケットはデカプセル化される。ノードが出口ノードである場合、パケットは直接デカプセル化される。
任意選択で、2つのリーフ識別子が、デバイスのノード情報に割り当てられてもよく、それらは、それぞれ「ノード識別子+リーフノードとして使用されるノード」および「ノード識別子+リーフノードとして使用されないノード」である。任意選択で、2つのリーフ識別子は、デバイスの2つのタイプのノードアドレスを形成するようにデバイスのノードアドレスと組み合わされる。例えば、前述の圧縮符号化スキームでは、::B001および::B002がデバイスBに割り当てられ、それぞれ「ノードB識別子+リーフノードとして使用されるノードB」および「ノードB識別子+リーフノードとして使用されないノードB」を示す。
任意選択で、あるいは、独立したリーフ識別子がデバイスのノード情報に割り当てられてもよく、リーフ識別子は、「現在のノードがリーフノードであるかどうか」を示すために2つの値を使用する。例えば、圧縮符号化スキームでは、ノード情報の符号化スキームは、共通プレフィックスが96ビットを占有し、ノード識別子が16ビットを占有し、機能識別子が7ビットを占有し、リーフ識別子が1ビットを占有し、ノードポインタ内の次のパケット処理デバイスの開始位置および終了位置がそれぞれ4ビットを占有する。リーフ識別子ビットの値が「1」である場合、それはノードがリーフノードであることを示す。リーフ識別子ビットの値が「0」である場合、それはノードがリーフノードではないことを示す。
例えば、図7に示されているパケット伝送経路において、IPv6拡張ヘッダはSRHである。デバイスAによってデバイスBに送信されるパケットは、図15に示されているパケットの構造であってもよい。パケットの共通プレフィックスは2001:db8:3:4:5:6::/96である。A/B/C/B1/B2/B3/C1/C2/C3のノードIDは、それぞれA0/B0/C0/B1/B2/B3/C1/C2/C3である。機能識別子0xFEは、各デバイスのノード情報が複製命令を示すように構成される。IPv6ヘッダの宛先アドレスフィールド内の「2001:db8:3:4:5:6:B0:FF35」は、宛先ノードがデバイスBであり、命令が複製であり、リーフ識別子が「ノードはリーフノードである」ことを示し、第1の部分が3から5を指すことを示す。第1の部分が0ではないため、デバイスBは複合ノードであり、デカプセル化のためにパケットを1回複製する必要がある。SRH拡張ヘッダでは、第1の識別子は1に設定される。セグメントリスト内の「A0:FE12」は、シーケンス番号が0であるSIDおよびデバイスAを示し、命令が複製であり、リーフ識別子が「ノードはリーフノードではない」ことを示し、第1の部分は1から2を指すことを示す。「B0:FF35」は、シーケンス番号1のSIDおよびデバイスBを示し、命令が複製であり、リーフ識別子が「ノードはリーフノードである」ことを示し、第1の部分が3から5を指すことを示す。第1の部分が0ではないため、デバイスBは複合ノードである。「C0:FE68」は、シーケンス番号が2であるSIDおよびデバイスCを示し、命令が複製であり、リーフ識別子が「ノードはリーフノードではない」ことを示し、第1の部分が6から8を指すことを示す。
加えて、セグメントリストにおいて、「B1:FF00」は、シーケンス番号が3であるSIDおよびデバイスB1を示し、命令が複製であり、第1の部分が0から0を指し、リーフ識別子が「ノードはリーフノードである」ことを示すことを示す。第1の部分が0であるため、B1は出口ノードであり、パケットを直接デカプセル化する。「B2:FF00」は、シーケンス番号が4であるSIDおよびデバイスB2を示し、命令が複製であり、第1の部分が0から0を指し、リーフ識別子が「ノードはリーフノードである」ことを示すことを示す。第1の部分が0であるため、B2は出口ノードである。「B3:FF00」は、シーケンス番号が5であるSIDおよびデバイスB3を示し、命令が複製であり、第1の部分が0から0を指し、リーフ識別子が「ノードはリーフノードである」ことを示すことを示す。第1の部分が0であるため、B3は出口ノードである。「C1:FF00」は、シーケンス番号が6であるSIDおよびノードC1を示し、命令が複製であり、第1の部分が0から0を指し、リーフ識別子が「ノードはリーフノードである」ことを示すことを示す。第1の部分が0であるため、C1は出口ノードである。「C2:FF00」は、シーケンス番号が7であるSIDおよびデバイスC2を示し、命令が複製であり、第1の部分が0から0を指し、リーフ識別子が「ノードはリーフノードである」ことを示すことを示す。第1の部分が0であるため、C2は出口ノードである。「C3:FF00」は、シーケンス番号が8であるSIDおよびデバイスC3を示し、命令が複製であり、第1の部分が0から0を指し、リーフ識別子が「ノードはリーフノードである」ことを示すことを示す。第1の部分が0であるため、C3は出口ノードである。
0xFEの2値は「1111,1110」である。最初の7ビットはすべて「1」であり、これは、本出願のこの実施形態では複製機能を示す。8番目のビットは0であり、ノードはリーフノードであり、これは、ノードが複合ノードではないことを示す。0xFFの2値は「1111,1111」である。最初の7ビットはすべて「1」であり、これは、本出願のこの実施形態では複製機能を示す。8番目のビットは1であり、これは、ノードが複合ノードであることを示す。例えば、デバイスBは0xFFを有し、第1の部分は、デバイスBが次のパケット処理デバイスを有することも示す。したがって、デバイスBは複合ノードである。B1/B2/B3/C1/C2/C3は0xFFを有し、第1の部分は、B1/B2/B3/C1/C2/C3が次のパケット処理デバイスを有しないことを示す。したがって、B1/B2/B3/C1/C2/C3は出口ノードである。
圧縮スキーム3:図16は、本出願の実施形態によるパケット伝送方法で使用される圧縮符号化スキームの概略図である。
この実施形態では、図14に示されている、各パケット処理デバイスのノード情報で搬送される共通プレフィックスおよび機能識別子は、この実施形態では共通プレフィックスとして組み合わされる。例えば、図14に示されている96ビットの共通プレフィックスおよび8ビットの機能識別子は、この実施形態では104ビットの共通プレフィックスとして組み合わされ、これにより、元の機能識別子は各ノード情報のスペースを占有する必要がなく、ノード情報リストのサイズはさらに低減される。別の例では、96ビットの長さが共通プレフィックスに対して依然として構成され、共通プレフィックスが機能識別子を搬送し、これにより、元の機能識別子は各ノード情報のスペースを占有する必要がない。この例では、各デバイスのノード情報は、リーフ識別子およびノードポインタをさらに搬送する。リーフ識別子は8ビットを占有し、ノードポインタは8ビットを占有する。
図7に示されているパケット伝送経路において、IPv6拡張ヘッダはSRHである。デバイスAによってデバイスBに送信されるパケットは、図16に示されている符号化スキームであってもよい。この例では、各デバイスのSIDに対して構成される共通プレフィックスは、以下の通りであり、2001:db8:3:4:5:6である。共通プレフィックスはまた、この実施形態の機能、つまり、実行されるべき命令を識別する。A/B/C/B1/B2/B3/C1/C2/C3のノードIDは、それぞれA0/B0/C0/B1/B2/B3/C1/C2/C3である。IPv6ヘッダの宛先アドレスフィールドにおいて、「2001:db8:3:4:5:6:B0:0135」は、宛先ノードがデバイスBであり、命令が複製であり、デバイスがリーフノードであり、第1の部分が3から5を指し、デバイスが複合ノードであることを示す。SRH拡張ヘッダでは、現在のノード識別子は1に設定される。アドレスリスト内の「A0:0012」は、シーケンス番号が0であるSIDおよびデバイスAを示し、命令が複製であり、ノードがリーフノードではなく、ノードポインタが1から2を指すことを示す。「B0:0135」は、シーケンス番号が1であるSIDおよびデバイスBを示し、命令が複製であり、ノードがリーフノードであり、ノードポインタが3から5を指し、デバイスが複合デバイスであることを示す。「C0:0068」は、シーケンス番号が2であるSIDおよびデバイスCを示し、命令が複製であり、ノードがリーフノードではなく、ノードポインタが6から8を指すことを示す。「B1:0100」は、シーケンス番号が3であるSIDおよびデバイスB1を示し、命令が複製であり、ノードがリーフノードであり、ノードポインタが0から0を指し、ノードが出口ノードであることを示す。「B2:0100」は、シーケンス番号が4であるSIDおよびデバイスB2を示し、命令が複製であり、ノードがリーフノードであり、ノードポインタが0から0を指し、ノードが出口ノードであることを示す。「B3:0100」は、シーケンス番号が5であるSIDおよびデバイスB3を示し、命令が複製であり、ノードがリーフノードであり、ノードポインタが0から0を指し、ノードが出口ノードであることを示す。「C1:FF00」は、シーケンス番号が6であるSIDおよびデバイスC1を示し、命令が複製であり、ノードがリーフノードであり、ノードポインタが0から0を指し、ノードが出口ノードであることを示す。「C2:FF00」は、シーケンス番号が7であるSIDおよびデバイスC2を示し、命令が複製であり、ノードがリーフノードであり、ノードポインタが0から0を指し、ノードが出口ノードであることを示す。「C3:FF00」は、シーケンス番号が8であるSIDおよびデバイスC3を示し、命令が複製であり、ノードがリーフノードであり、ノードポインタが0から0を指し、ノードが出口ノードであることを示す。
任意選択で、各パケット処理デバイスは、転送情報ベース(forwarding information base、FIB)をさらに取得し、FIBは、128ビットのIPv6アドレスの構成構造を含み、共通プレフィックス「2001:db8:3:4:5:6」は、パケット伝送経路上のパケット処理デバイスのノードアドレスならびに複製および転送機能の同じ部分を示し、96ビットの長さを有する。ノード識別子は、16ビットの長さを有し、ネットワーク内のデバイスの位置を示す完全なノードアドレスを形成するために共通プレフィックスの同じ部分と組み合わされる。リーフ識別子は、8ビットの長さを有し、ノードがリーフノードであるかどうかを識別する。セグメントリスト内の次のパケット処理デバイスのSIDの開始位置および終了位置の長さはそれぞれ4ビットである。パケットを受信した後、各デバイスは、宛先アドレスフィールドを読み取り、FIBに基づいて前述の情報を照会し、次に、これに対応してパケットを複製し、更新し、伝送する。
図17は、本出願の実施形態によるパケット伝送装置を示す。以下では図17に示されている複数のモジュールに基づいて、図17に示されているパケット伝送装置は、図2から図16に示されているパケット伝送方法で第1のデバイスによって実行される動作の全部または一部を実行することができる。本装置は、図示されているモジュールよりも多くの追加のモジュールを含んでもよいし、または図示されているモジュールの一部を省略してもよいことを理解されたい。これは、本出願のこの実施形態では限定されない。本出願のこの実施形態による装置は、第1のデバイスで使用され、取得モジュール1701および送信モジュール1704を含む。
任意選択で、取得モジュール1701は、第1のパケットを取得するように構成される。第1のパケットは、宛先アドレスフィールドおよびノード情報リストを搬送する。ノード情報リストは、第2のデバイスのノード情報および第3のデバイスのノード情報を含む。第2のデバイスおよび第3のデバイスは、第1のパケットの伝送経路上で第1のデバイスの後に位置する次のパケット処理デバイスである。宛先アドレスフィールドは、第1の部分および第2の部分を含む。第2の部分は、ネットワーク内の第1のデバイスの位置を示す。第1の部分は、ノード情報リスト内の第2のデバイスおよび第3のデバイスのノード情報の位置を示す。第2のデバイスおよび第3のデバイスのいずれのデバイスのノード情報も、ノードアドレスおよびノードポインタを含む。ノードアドレスは、ネットワーク内の任意のデバイスの位置を示す。ノードポインタは、伝送経路上の任意のデバイスの後に位置する次のパケット処理デバイスのノード情報の、ノード情報リスト内の位置を示す。
任意選択で、取得モジュール1701は、第1の部分に基づいてノード情報リストから第2のデバイスのノード情報および第3のデバイスのノード情報を決定し、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の位置を識別する、ように構成される。
任意選択で、取得モジュール1701は、第1のパケットに基づいて第2のパケットおよび第3のパケットを生成し、第2のパケットは第2のデバイスのノード情報を含み、第3のパケットは第3のデバイスのノード情報を含む、ようにさらに構成される。
任意選択で、送信モジュール1704は、第2のパケットを第2のデバイスに送信し、第3のパケットを第3のデバイスに送信するように構成される。
任意選択で、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報および第3のデバイスのノード情報の開始位置および終了位置を含み、ノード情報リスト内の第2のデバイスのノード情報の位置は開始位置であり、ノード情報リスト内の第3のデバイスのノード情報の位置は終了位置である。あるいは、第1の部分は、ノード情報リスト内の第2のデバイスのノード情報の開始位置を示し、ノード情報リスト内の第2のデバイスの位置に対するノード情報リスト内の第3のデバイスの位置のオフセットを示す。
任意選択で、取得モジュール1701は、第4のパケットを取得するために第1の部分に基づいて第1のパケットを複製し、第2のパケットを取得するために第2のデバイスのノード情報を第4のパケットに追加するように構成される。
任意選択で、取得モジュール1701は、第1の部分に基づいて、第2のデバイスおよび第3のデバイスを含むターゲットデバイスの数を決定し、ターゲットデバイスの数に等しい回数だけ第1のパケットを複製し、第2のデバイスのノード情報に基づいて第2のパケットを取得し、第2のパケットは、更新された第2の部分および更新された第1の部分を搬送し、更新された第2の部分は、ネットワーク内の第2のデバイスの位置を示し、更新された第1の部分は、伝送経路上の第2のデバイスの後の次のパケット処理デバイスのノード情報の、ノード情報リスト内の位置を示す、ように構成される。
任意選択で、取得モジュール1701は、第1の部分に基づいてノード情報リスト内の第2のデバイスの位置を決定し、ノード情報リスト内の第2のデバイスの位置に基づいて第2のデバイスのノード情報を取得し、第2のデバイスのノード情報に基づいて1つの第4のパケット内の宛先アドレスフィールドを更新し、更新された第4のパケットに基づいて第2のパケットを取得するように構成される。
任意選択で、取得モジュール1701は、更新された第4のパケットを第2のパケットとして使用するか、または更新された第4のパケット内の更新された第1の部分が、伝送経路上で第2のデバイスの後に位置するパケット処理デバイスがないことを示すことに基づいて、更新された第4のパケット内のインターネットプロトコルバージョン6 IPv6拡張ヘッダをポップアップし、IPv6拡張ヘッダをポップアップした後にパケットを第2のパケットとして使用するように構成される。
任意選択で、取得モジュール1701は、処理されたパケットを取得するために、更新された第4のパケット内のノード情報リストを処理し、処理されたパケット内のノード情報リストは、伝送経路上で第1のデバイスの後に位置するパケット処理ノードに関する情報のみを含み、処理されたパケットを第2のパケットとして使用するか、または処理されたパケット内の更新された第1の部分が、伝送経路上で第2のデバイスの後に位置するパケット処理デバイスがないことを示すことに基づいて、処理されたパケット内のIPv6拡張ヘッダをポップアップし、IPv6拡張ヘッダをポップアップした後にパケットを第2のパケットとして使用するように構成される。
可能な実施態様では、第1のデバイスは、第1のパケットの伝送経路上の入口ノードである。取得モジュール1701は、第1のパケットを取得するために、第5のパケットを取得し、第2の部分、第1の部分、およびノード情報リストを第5のパケットに追加し、ノード情報リストは第1のデバイスのノード情報をさらに含み、第2の部分および第1の部分は、第1のデバイスのノード情報に基づいて取得される、ように構成される。
例えば、第1のパケットはSRv6パケットであり、ノード情報リストは、SRv6パケットのセグメントルーティングヘッダSRHで搬送され、ノード情報リストはSRHのセグメントリストである。あるいは、第1のパケットはIPv6パケットであり、ノード情報リストは、IPv6パケットのルーティングヘッダRHで搬送され、ノード情報リストはRHのセグメントリストである。あるいは、第1のパケットはIPv6パケットであり、ノード情報リストは、IPv6パケットの宛先オプションヘッダDOHで搬送され、ノード情報リストはDOHのアドレスリストである。
可能な実施態様では、第1のパケット、第2のパケット、および第3のパケットは各々、第1の識別子をさらに搬送し、第1の識別子は、ノード情報リスト内の現在のパケット処理デバイスのノード情報の位置を示す。
可能な実施態様では、第1のパケットはリーフ識別子をさらに搬送し、リーフ識別子は、第1のデバイスがリーフノードであるかどうかを示し、リーフノードは、第1のパケットをデカプセル化する必要があるデバイスである。図18は、本出願の実施形態によるパケット伝送装置を示す。図17に示されている装置に基づいて、本出願のこの実施形態による装置は、デカプセル化モジュール1702をさらに含む。デカプセル化モジュール1702は、第4のパケットを取得するために第1のパケットを少なくとも1回複製し、第1のパケットで搬送されるリーフ識別子が第1のデバイスがリーフノードであることを示し、第1の部分が伝送経路上で第1のデバイスの後に位置するパケット処理デバイスがあることを示すことに基づいて第4のパケットをデカプセル化するように構成される。あるいは、デカプセル化モジュール1702は、第1のパケットで搬送されるリーフ識別子が、第1のデバイスがリーフノードであることを示し、第1の部分が、伝送経路上で第1のデバイスの後に位置するパケット処理デバイスがないことを示すことに基づいて、第1のパケットをデカプセル化する。
例えば、第1のデバイスに対して2つの識別子が構成され、2つのリーフ識別子の一方は、第1のデバイスがリーフノードであることを示し、他方のリーフ識別子は、第1のデバイスがリーフノードではないことを示す。第1のパケットは、2つのリーフ識別子のうちの1つを搬送する。あるいは、第1のデバイスに対して1つのリーフ識別子が構成され、リーフ識別子は第1の値および第2の値を有し、第1の値は、第1のデバイスがリーフノードであることを示し、第2の値は、第1のデバイスがリーフノードではないことを示し、第1のパケットで搬送されるリーフ識別子の値は第1の値または第2の値である。
可能な実施態様では、第2の部分は、共通プレフィックスおよびノード識別子を含み、共通プレフィックスは、伝送経路上のパケット処理デバイスのノード情報内のノードアドレスの同じ部分を含み、ノード識別子は、伝送経路上のパケット処理デバイスのノード情報内のノードアドレスの異なる部分を示す。共通プレフィックスは、伝送経路上のパケット処理デバイスの同じ機能識別子をさらに含む。機能識別子は、各デバイスによって実行されるべき機能を示す。
可能な実施態様では、第1のデバイスは、第1のパケットの伝送経路上の中間ノードである。図19は、本出願の実施形態によるパケット伝送装置を示す。図17に示されている装置に基づいて、本出願のこの実施形態による装置は、決定モジュール1703をさらに含む。任意選択で、決定モジュール1703は、取得モジュール1701が第1の部分およびノード情報リストに基づいて第2のデバイスに対応する第2のパケットおよび第3のデバイスに対応する第3のパケットを取得する前に、第1のパケットで搬送される第2の部分がネットワーク内の第1のデバイスのアドレスである、すなわち、第2の部分が第1のデバイスのアドレスと一致すると決定するように構成される。任意選択で、送信モジュール1704は、取得モジュール1701が、第1の部分およびノード情報リストに基づいて、第2のデバイスに対応する第2のパケットおよび第3のデバイスに対応する第3のパケットを取得する前に、決定モジュール1703に基づいて、第1のパケットの第2の部分がネットワーク内の第1のデバイスのアドレスではないと決定し、第1のパケットで搬送される第2の部分に基づいて第1のパケットを転送するようにさらに構成される。
図17から図19で提供される装置が装置の機能を実施するとき、前述の機能モジュールへの分割は、説明のための例として使用されているにすぎないことを理解されたい。実際の適用時、前述の機能は、要件に基づく実施のために異なる機能モジュールに割り当てられ得る。言い換えれば、デバイスは、上記で説明された機能の全部または一部を実施するために、内部構造に関して異なる機能モジュールに分割される。加えて、前述の実施形態で提供される装置および方法の実施形態は、同じ概念に関連する。装置の特定の実施プロセスについては、方法の実施形態を参照されたい。ここでは詳細は再び説明されない。
図20は、本出願の例示的な実施形態によるパケット伝送デバイス2000の構造の概略図である。図20に示されているパケット伝送デバイス2000は、図2から図16に示されているパケット伝送方法において第1のデバイスに関連する動作を実行するように構成され得る。パケット伝送デバイス2000は、例えばスイッチまたはルータであり、パケット伝送デバイス2000は、一般的なバスアーキテクチャを使用して実施され得る。
図20に示されているように、パケット伝送デバイス2000は、少なくとも1つのプロセッサ2001と、メモリ2003と、少なくとも1つの通信インターフェース2004とを含む。
プロセッサ2001は、例えば、汎用中央処理装置(central processing unit、CPU)、デジタル信号プロセッサ(digital signal processor、DSP)、ネットワークプロセッサ(network processor、NP)、グラフィック処理装置(graphics processing unit、GPU)、ニューラルネットワーク処理装置(neural-network processing unit、NPU)、データ処理装置(data processing unit、DPU)、マイクロプロセッサ、または本出願の解決策を実施するように構成された1つ以上の集積回路である。例えば、プロセッサ2001は、特定用途向け集積回路(application-specific integrated circuit、ASIC)、プログラマブル論理デバイス(programmable logic device、PLD)もしくは別のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、またはこれらの任意の組み合わせを含む。PLDは、例えば、複合プログラマブル論理デバイス(complex programmable logic device、CPLD)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、汎用アレイ論理(generic array logic、GAL)、またはこれらの任意の組み合わせである。プロセッサ2001は、本発明の実施形態で開示されている内容を参照して説明されている様々な論理ブロック、モジュール、および回路を実施または実行し得る。あるいは、プロセッサは、コンピューティング機能を実施するプロセッサの組み合わせ、例えば、1つ以上のマイクロプロセッサの組み合わせ、またはDSPとマイクロプロセッサとの組み合わせであってもよい。
任意選択で、パケット伝送デバイス2000はバスをさらに含む。バスは、パケット伝送デバイス2000のコンポーネント間で情報を伝送するように構成される。バスは、周辺コンポーネント相互接続(peripheral component interconnect、略してPCI)バスまたは拡張業界標準アーキテクチャ(extended industry standard architecture、略してEISA)バスなどであってもよい。バスは、アドレスバス、データバス、および制御バスなどに分類され得る。表現を容易にするために、図20での表現のために1本の太線のみが使用されているが、これは、1つのバスしかまたは1つのタイプのバスしかないことを意味しない。
メモリ2003は、例えば、読み取り専用メモリ(read-only memory、ROM)もしくは静的情報および命令を格納することができる別のタイプの静的記憶デバイス、またはランダムアクセスメモリ(random access memory、RAM)もしくは情報および命令を格納することができる別のタイプの動的記憶デバイス、または電気的消去可能プログラマブル読み取り専用メモリ(electrically erasable programmable read-only memory、EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)もしくは別のコンパクトディスクストレージ、光ディスクストレージ(コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、およびブルーレイディスクなどを含む)、磁気ディスク記憶媒体もしくは別の磁気記憶デバイス、または命令もしくはデータ構造の形態のしかるべきプログラムコードを保持もしくは格納するために使用されることができる、コンピュータによってアクセスされることができる任意の他の媒体であるが、これらに限定されない。例えば、メモリ2003は独立して存在し、バスを使用してプロセッサ2001に接続される。あるいは、メモリ2003とプロセッサ2001とは一緒に統合されてもよい。
通信インターフェース2004は、任意のトランシーバタイプの装置を使用して、別のデバイスまたは通信ネットワークと通信するように構成される。通信ネットワークは、イーサネット、無線アクセスネットワーク(RAN)、またはワイヤレスローカルエリアネットワーク(wireless local area network、WLAN)などであってもよい。通信インターフェース2004は、有線通信インターフェースを含んでもよく、ワイヤレス通信インターフェースをさらに含んでもよい。具体的には、通信インターフェース2004は、イーサネット(Ethernet)インターフェース、高速イーサネット(fast ethernet、FE)インターフェース、ギガビットイーサネット(gigabit ethernet、GE)インターフェース、非同期転送モード(asynchronous transfer mode、ATM)インターフェース、ワイヤレスローカルエリアネットワーク(wireless local area network、WLAN)インターフェース、セルラーネットワーク通信インターフェース、またはこれらの組み合わせであってもよい。イーサネットインターフェースは、光インターフェース、電気インターフェース、またはこれらの組み合わせであってもよい。本出願のこの実施形態では、通信インターフェース2004は、別のデバイスと通信するためにパケット伝送デバイス2000によって使用され得る。
特定の実施時、実施形態では、プロセッサ2001は、1つ以上のCPU、例えば、図20に示されているCPU0およびCPU1を含み得る。プロセッサの各々は、シングルコアプロセッサ(single-CPU)であってもよいし、またはマルチコアプロセッサ(multi-CPU)であってもよい。ここでのプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つ以上のデバイス、回路、および/または処理コアであってもよい。
特定の実施時、実施形態では、パケット伝送デバイス2000は、複数のプロセッサ、例えば、図20に示されているプロセッサ2001およびプロセッサ2005を含み得る。プロセッサの各々は、シングルコアプロセッサ(single-CPU)であってもよいし、またはマルチコアプロセッサ(multi-CPU)であってもよい。ここでのプロセッサは、データ(例えば、コンピュータプログラム命令)を処理するように構成された1つ以上のデバイス、回路、および/または処理コアであってもよい。
特定の実施時、実施形態では、パケット伝送デバイス2000は、出力デバイスおよび入力デバイスをさらに含み得る。出力デバイスは、プロセッサ2001と通信し、複数の方法で情報を表示し得る。例えば、出力デバイスは、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオード(light emitting diode、LED)ディスプレイデバイス、陰極線管(cathode ray tube、CRT)ディスプレイデバイス、またはプロジェクタ(projector)などであってもよい。入力デバイスは、プロセッサ2001と通信し、複数の方法でユーザによる入力を受信し得る。例えば、入力デバイスは、マウス、キーボード、タッチスクリーンデバイス、または感知デバイスなどであってもよい。
一部の実施形態では、メモリ2003は、本出願の解決策を実行するためのプログラムコード2010を格納するように構成され、プロセッサ2001は、メモリ2003に格納されたプログラムコード2010を実行し得る。言い換えれば、パケット伝送デバイス2000は、プロセッサ2001とメモリ2003内のプログラムコード2010とを使用して、方法の実施形態で提供されるパケット伝送方法を実施し得る。プログラムコード2010は、1つ以上のソフトウェアモジュールを含み得る。任意選択で、プロセッサ2001はまた、本出願の解決策を実行するためのプログラムコードまたは命令を格納してもよい。
特定の実施形態では、本出願のこの実施形態におけるパケット伝送デバイス2000は、前述のパケット伝送方法の実施形態における第1のデバイスに対応し得る。パケット伝送デバイス2000内のプロセッサ2001がメモリ2003内の命令を読み取り、これにより、図20に示されているパケット伝送デバイス2000は、第1のデバイスによって実行される全部または一部の動作を実行することができる。
具体的には、プロセッサ2001は、通信インターフェースを使用して第2のパケットを第2のデバイスに送信し、第2のパケットは更新された第1の部分とノードアドレスリストとを含み、更新された第1の部分は、ノードアドレスリストにおいて、パケットを処理する、第2のデバイスの次のデバイスの位置を示す、ように構成される。簡潔にするために、他の任意選択の実施態様はここでは再び説明されない。
別の例では、本出願のこの実施形態におけるパケット伝送デバイス2000は、前述の方法の実施形態における第2のデバイスに対応し得る。パケット伝送デバイス2000内のプロセッサ2001がメモリ2003内の命令を読み取り、これにより、図20に示されているパケット伝送デバイス2000は、第2のデバイスによって実行される全部または一部の動作を実行することができる。
具体的には、プロセッサ2001は、通信インターフェースを使用して、第1のデバイスによって第2のデバイスに送信された第2のパケットを受信し、第2のパケットは更新された第1の部分とノードアドレスリストとを含み、更新された第1の部分は、ノードアドレスリストにおいて、パケットを処理する、第2のデバイスの次のデバイスの位置を示す、ように構成される。簡潔にするために、他の任意選択の実施態様はここでは再び説明されない。
パケット伝送デバイス2000は、図17から図19に示されているパケット伝送装置にさらに対応し得、パケット伝送装置における各機能モジュールは、パケット伝送デバイス2000のソフトウェアを使用して実施される。言い換えれば、パケット伝送装置に含まれる機能モジュールは、パケット伝送デバイス2000のプロセッサ2001がメモリ2003に格納されたプログラムコード2010を読み取った後に生成される。
図2から図16に示されているパケット伝送方法のステップは、パケット伝送デバイス2000のプロセッサ内のハードウェアの集積論理回路またはソフトウェアの形態の命令を使用して完了される。本出願の実施形態を参照して開示された方法のステップは、ハードウェアプロセッサによって直接実行されてもよいし、またはプロセッサ内のハードウェアとソフトウェアモジュールとの組み合わせを使用して実行されてもよい。ソフトウェアモジュールは、当技術分野では、ランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラマブル読み取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの成熟した記憶媒体に配置されてもよい。記憶媒体は、メモリ内に配置され、プロセッサは、メモリ内の情報を読み取り、プロセッサ内のハードウェアと共に前述の方法におけるステップを完了する。繰り返しを避けるために、ここでは詳細は再び説明されない。
図21は、本出願の別の例示的な実施形態によるパケット伝送デバイス2100の構造の概略図である。図21に示されているパケット伝送デバイス2100は、図2から図16に示されているパケット伝送方法における全部または一部の動作を実行するように構成される。パケット伝送デバイス2100は、例えばスイッチまたはルータであり、パケット伝送デバイス2100は、一般的なバスアーキテクチャを使用して実施され得る。
図21に示されているように、パケット伝送デバイス2100は、主制御基板2110およびインターフェース基板2130を含む。
主制御基板は、主処理装置(main processing unit、MPU)またはルートプロセッサカード(route processor card)とも呼ばれる。主制御基板2110は、ルート計算、デバイス管理、デバイス保守、およびプロトコル処理機能を含む、ネットワークデバイス2100内のコンポーネントを制御および管理するように構成される。主制御基板2110は、中央処理装置2111およびメモリ2112を含む。
インターフェース基板2130は、ライン処理装置(line processing unit、LPU)、ラインカード(line card)、またはサービス基板とも呼ばれる。インターフェース基板2130は、様々なサービスインターフェースを提供し、データパケットを転送するように構成される。サービスインターフェースは、イーサネットインターフェース、およびPOS(packet over SONET/SDH)インターフェースなどを含むが、これらに限定されない。イーサネットインターフェースは、例えばフレキシブルイーサネットサービスインターフェース(flexible ethernet clients、FlexE Clients)である。インターフェース基板2130は、中央処理装置2131と、ネットワークプロセッサ2132と、転送エントリメモリ2134と、物理インターフェースカード(physical interface card、PIC)2133とを含む。
インターフェース基板2130上の中央処理装置2131は、インターフェース基板2130を制御および管理し、主制御基板2110上の中央処理装置2111と通信するように構成される。
ネットワークプロセッサ2132は、パケット転送処理を実施するように構成される。ネットワークプロセッサ2132の形態は、転送チップであってもよい。転送チップは、ネットワークプロセッサ(network processor、NP)であってもよい。一部の実施形態では、転送チップは、特定用途向け集積回路(application-specific integrated circuit、ASIC)またはフィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)を使用して実施され得る。具体的には、ネットワークプロセッサ2132は、転送エントリメモリ2134に格納された転送テーブルに基づいて、受信されたパケットを転送するように構成される。パケットの宛先アドレスフィールドがネットワークデバイス2100のアドレスである場合、ネットワークプロセッサ2132は、CPU(例えば、中央処理装置2131)による処理のために上位層デバイスにパケットを引き続き送信する。パケットの宛先アドレスフィールドがネットワークデバイス2100のアドレスではない場合、ネットワークプロセッサ2132は、宛先アドレスフィールドに基づいて、転送テーブル内の宛先アドレスフィールドに対応する次ホップおよびアウトバウンドインターフェースを見つけ、宛先アドレスフィールドに対応するアウトバウンドインターフェースにパケットを転送する。アップリンクパケットを処理することは、インバウンドインターフェースを使用し、転送テーブルを検索することによってパケットを処理することを含み得る。ダウンリンクパケットを処理することは、転送テーブルを検索することなどを含み得る。一部の実施形態では、中央処理装置はまた、転送チップの機能を実行し得、例えば、汎用CPUに基づいてソフトウェア転送を実施し得、これにより、インターフェース基板は転送チップを必要としない。
物理インターフェースカード2133は、物理層相互接続機能を実施するように構成される。元のトラフィックは物理インターフェースカード2133からインターフェース基板2130に入り、処理されたパケットは物理インターフェースカード2133から送出される。物理インターフェースカード2133は、サブカードとも呼ばれ、インターフェース基板2130に組み込まれ得、光/電気信号をパケットに変換し、パケットの有効性チェックを実行し、次に、処理のためにパケットをネットワークプロセッサ2132に転送する役割を果たす。一部の実施形態では、中央処理装置2131は、あるいは、ネットワークプロセッサ2132の機能を実行してもよく、例えば、汎用CPUに基づいてソフトウェア転送を実施してもよく、これにより、物理インターフェースカード2133は、ネットワークプロセッサ2132を必要としない。
任意選択で、パケット伝送デバイス2100は複数のインターフェース基板を含む。例えば、パケット伝送デバイス2100はインターフェース基板2140をさらに含み、インターフェース基板2140は、中央処理装置2141と、ネットワークプロセッサ2142と、転送エントリメモリ2144と、物理インターフェースカード2143とを含む。インターフェース基板2140内のコンポーネントの機能および実施態様は、インターフェース基板2130の機能および実施態様と同じまたは同様であり、ここでは詳細は再び説明されない。
任意選択で、パケット伝送デバイス2100は、スイッチング基板2120をさらに含む。スイッチング基板2120は、スイッチファブリックユニット(switch fabric unit、SFU)とも呼ばれ得る。パケット伝送デバイスが複数のインターフェース基板を有するとき、スイッチング基板2120は、インターフェース基板間のデータ交換を完了するように構成される。例えば、インターフェース基板2130およびインターフェース基板2140は、スイッチング基板2120を介して互いに通信し得る。
主制御基板2110は、インターフェース基板に結合される。例えば、主制御基板2110、インターフェース基板2130、インターフェース基板2140、およびスイッチング基板2120は、インターワーキングのためのシステムバスを使用してシステムバックボードに接続される。可能な実施態様では、主制御基板2110とインターフェース基板2130との間および主制御基板2110とインターフェース基板2140との間にプロセス間通信(inter-process communication、IPC)チャネルが確立され、主制御基板2110とインターフェース基板2130との間および主制御基板2110とインターフェース基板2140との間の通信は、IPCチャネルを介して実行される。
論理的に、パケット伝送デバイス2100は制御プレーンおよび転送プレーンを含む。制御プレーンは、主制御基板2110および中央処理装置2111を含む。転送プレーンは、転送に使用されるコンポーネント、例えば、転送エントリメモリ2134、物理インターフェースカード2133、およびネットワークプロセッサ2132を含む。制御プレーンは、以下の機能:ルータの機能、転送テーブルの生成、シグナリングおよびプロトコルパケットの処理、ならびにネットワークデバイス状態の構成および維持などを実行する。制御プレーンは、生成された転送テーブルを転送プレーンに配信する。転送プレーン上で、ネットワークプロセッサ2132は、制御プレーンによって配信された転送テーブルを検索し、次に、テーブルに基づいて、物理インターフェースカード2133によって受信されたパケットを転送する。制御プレーンによって配信される転送テーブルは、転送エントリメモリ2134に格納され得る。一部の実施形態では、制御プレーンと転送プレーンとは完全に分離されてもよく、同じネットワークデバイス上にはない。
1つ以上の主制御基板があってもよいことに留意されたい。複数の主制御基板があるとき、主制御基板は、アクティブ主制御基板およびスタンバイ主制御基板を含み得る。1つ以上のインターフェース基板があってもよい。より強いデータ処理能力を有するパケット伝送デバイスは、より多くのインターフェース基板を提供する。また、インターフェース基板上に1つ以上の物理インターフェースカードがあってもよい。スイッチング基板はなくてもよいし、または1つ以上のスイッチング基板があってもよい。複数のスイッチング基板があるとき、負荷分散および冗長バックアップが一緒に実施されてもよい。集中転送アーキテクチャでは、パケット伝送デバイスはスイッチング基板を必要としなくてもよく、インターフェース基板が、システム全体のサービスデータを処理する機能を提供する。分散転送アーキテクチャでは、パケット伝送デバイスは少なくとも1つのスイッチング基板を有してもよく、大容量データ交換および処理能力を提供するために、複数のインターフェース基板間のデータ交換はスイッチング基板を使用して実施される。したがって、分散アーキテクチャにおけるパケット伝送デバイスのデータアクセスおよび処理能力は、集中アーキテクチャにおけるパケット伝送デバイスのデータアクセスおよび処理能力よりも優れている。任意選択で、パケット伝送デバイスは、あるいは、1つのカードのみがある形態であってもよい。具体的には、スイッチング基板がなく、インターフェース基板および主制御基板の機能がカード上に統合される。このケースでは、インターフェース基板上の中央処理装置および主制御基板上の中央処理装置は、2つの中央処理装置が組み合わされた後に取得される機能を実行するために、カード上で1つの中央処理装置として組み合わされてもよい。この形態のパケット伝送デバイス(例えば、ローエンドスイッチまたはルータなどのネットワークデバイス)は、弱いデータ交換および処理能力を有する。使用されるべき特定のアーキテクチャは、特定のネットワーキング展開シナリオに依存する。これはここでは限定されない。
特定の実施形態では、パケット伝送デバイス2100は、図17に示されている第1のデバイスで使用されるパケット伝送装置に対応する。一部の実施形態では、図17に示されているパケット伝送装置内の取得モジュール1701および送信モジュール1704は、パケット伝送デバイス2100内の物理インターフェースカード2133に相当する。
一部の実施形態では、パケット伝送デバイス2100は、図18に示されている第1のデバイスで使用されるパケット伝送装置にさらに対応する。一部の実施形態では、図18に示されているパケット伝送装置内の取得モジュール1701および送信モジュール1704は、パケット伝送デバイス2100内の物理インターフェースカード2133に相当する。デカプセル化モジュール1702は、パケット伝送デバイス2100内の中央処理装置2111またはネットワークプロセッサ2132に相当する。
一部の実施形態では、パケット伝送デバイス2100は、図19に示されている第1のデバイスで使用されるパケット伝送装置にさらに対応する。一部の実施形態では、図19に示されているパケット伝送装置内の取得モジュール1701および送信モジュール1704は、パケット伝送デバイス2100内の物理インターフェースカード2133に相当する。デカプセル化モジュール1703は、パケット伝送デバイス2100内の中央処理装置2111またはネットワークプロセッサ2132に相当する。
図20および図21に示されているパケット伝送デバイスに基づいて、本出願の実施形態はパケット伝送システムをさらに提供する。本システムは、第1のデバイスおよび第2のデバイスを含む。任意選択で、第1のデバイスは、図20に示されているパケット伝送デバイス2000または図21に示されているパケット伝送デバイス2100であり、第2のデバイスは、図20に示されているパケット伝送デバイス2000または図21に示されているパケット伝送デバイス2100である。
第1のデバイスおよび第2のデバイスによって実行されるパケット伝送方法については、図2から図16に示されている実施形態における第1のデバイスおよび第2のデバイスの関連説明を参照されたい。ここでは詳細は再び説明されない。
本出願の実施形態は通信装置をさらに提供する。本装置は、トランシーバ、メモリ、およびプロセッサを含む。トランシーバ、メモリ、およびプロセッサは、内部接続経路を使用して互いに通信する。メモリは、命令を格納するように構成される。プロセッサは、信号を受信するようにトランシーバを制御し、信号を送信するようにトランシーバを制御するために、メモリに格納された命令を実行するように構成される。加えて、プロセッサがメモリに格納された命令を実行するとき、プロセッサは、第1のデバイスによって実行される必要があるパケット伝送方法を実行することができるようにされる。
本出願の実施形態は通信装置をさらに提供する。本装置は、トランシーバ、メモリ、およびプロセッサを含む。トランシーバ、メモリ、およびプロセッサは、内部接続経路を使用して互いに通信する。メモリは、命令を格納するように構成される。プロセッサは、信号を受信するようにトランシーバを制御し、信号を送信するようにトランシーバを制御するために、メモリに格納された命令を実行するように構成される。加えて、プロセッサがメモリに格納された命令を実行するとき、プロセッサは、第2のデバイスによって実行される必要があるパケット伝送方法を実行することができるようにされる。
プロセッサは、中央処理装置(central processing unit、CPU)であってもよいし、または別の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェアコンポーネントなどであってもよいことを理解されたい。汎用プロセッサは、マイクロプロセッサまたは任意の従来のプロセッサなどであってもよい。プロセッサは、高度縮小命令セットコンピューティング機械(advanced RISC machines、ARM)アーキテクチャをサポートするプロセッサであってもよいことに留意されたい。
さらに、任意選択の実施形態では、メモリは、読み取り専用メモリおよびランダムアクセスメモリを含み、命令およびデータをプロセッサに提供し得る。メモリは、不揮発性ランダムアクセスメモリをさらに含み得る。例えば、メモリは、デバイスタイプの情報をさらに格納し得る。
メモリは、揮発性メモリもしくは不揮発性メモリであってもよいし、または揮発性メモリと不揮発性メモリとの両方を含んでもよい。不揮発性メモリは、読み取り専用メモリ(read-only memory、ROM)、プログラマブル読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラマブル読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、またはフラッシュメモリであってもよい。揮発性メモリは、ランダムアクセスメモリ(random access memory、RAM)であってもよく、外部キャッシュとして使用される。限定ではなく例として、多くの形態のRAM、例えば、スタティックランダムアクセスメモリ(static RAM、SRAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、シンクロナス・ダイナミック・ランダム・アクセス・メモリ(synchronous DRAM、SDRAM)、ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ(double data rate SDRAM、DDR SDRAM)、拡張シンクロナス・ダイナミック・ランダム・アクセス・メモリ(enhanced SDRAM、ESDRAM)、シンクリンク・ダイナミック・ランダム・アクセス・メモリ(synchlink DRAM、SLDRAM)、およびダイレクト・ラムバス・ランダム・アクセス・メモリ(direct rambus RAM、DR RAM)が使用されてもよい。
本出願の実施形態は、コンピュータ可読記憶媒体をさらに提供する。記憶媒体は、少なくとも1つの命令を格納し、命令は、前述のパケット伝送方法のいずれか1つを実施するためにプロセッサによってロードされて実行される。
本出願の実施形態は、コンピュータプログラム(製品)をさらに提供する。コンピュータプログラムがコンピュータによって実行されるとき、プロセッサまたはコンピュータは、前述の方法の実施形態におけるパケット伝送方法の対応するステップおよび/または手順を実行することができるようにされ得る。
本出願の実施形態は、チップであって、チップが組み込まれた通信デバイスが前述の態様のパケット伝送方法を実行することができるようにするために、メモリに格納された命令をメモリから呼び出し、命令を実行するように構成されたプロセッサを含むチップをさらに提供する。
本出願の実施形態は、入力インターフェースと、出力インターフェースと、プロセッサと、メモリとを含む別のチップをさらに提供する。入力インターフェース、出力インターフェース、プロセッサ、およびメモリは、内部接続経路を使用して接続される。プロセッサは、メモリ内のコードを実行するように構成される。コードが実行されるとき、プロセッサは、前述の態様におけるパケット伝送方法を実行するように構成される。
前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせを使用して実施されてもよい。ソフトウェアが実施形態を実施するために使用されるとき、実施形態の一部または全部は、コンピュータプログラム製品の形態で実施されてもよい。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上でロードされて実行されるとき、本出願による手順または機能が全体的または部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよいし、またはあるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。例えば、コンピュータ命令は、有線(例えば、同軸ケーブル、光ファイバ、もしくはデジタル加入者回線)またはワイヤレス(例えば、赤外線、無線、もしくはマイクロ波)の方法で、あるウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに伝送されてもよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であってもよいし、または1つ以上の使用可能な媒体を組み込んだデータ記憶デバイス、例えばサーバもしくはデータセンタであってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、もしくは磁気テープ)、光学媒体(例えば、DVD)、または半導体媒体(例えば、ソリッドステートディスクsolid-state disk)などであってもよい。
当業者は、本明細書に開示されている実施形態で説明された方法ステップおよびモジュールを参照して、実施がソフトウェア、ハードウェア、ファームウェア、またはこれらの組み合わせを使用して実行されることができることを認識し得る。ハードウェアとソフトウェアとの互換性を明確に説明するために、前述は、機能に基づいて各実施形態のステップおよび構成を一般的に説明した。機能がハードウェアによって実行されるかソフトウェアによって実行されるかは、技術的解決策の特定の用途および設計制約に依存する。当業者は、説明された機能を特定の用途ごとに実施するために異なる方法を使用し得るが、実施態様が本出願の範囲を超えると考えられてはならない。
当業者は、実施形態のステップの全部または一部がハードウェア、または関連ハードウェアに命令するプログラムによって実施され得ることを理解し得る。プログラムは、コンピュータ可読記憶媒体に格納され得る。記憶媒体は、読み取り専用メモリ、磁気ディスク、または光ディスクなどであってもよい。
ソフトウェアが実施形態を実施するために使用されるとき、実施形態の一部または全部は、コンピュータプログラム製品の形態で実施されてもよい。コンピュータプログラム製品は、1つ以上のコンピュータプログラム命令を含む。例えば、本出願の実施形態における方法は、機械実行可能命令の文脈で説明され得る。機械実行可能命令は、例えば、ターゲットの実プロセッサまたは仮想プロセッサに含まれるデバイスで実行されるプログラムモジュールである。通常、プログラムモジュールは、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、およびデータ構造などを含み、特定のタスクを実行するか、または特定の抽象データ構造を実施する。様々な実施形態において、プログラムモジュールの機能は、説明されたプログラムモジュール間で組み合わされてもよいし、または分割されてもよい。プログラムモジュールに使用される機械実行可能命令は、ローカルにまたは分散デバイス内で実行されてもよい。分散デバイスでは、プログラムモジュールは、ローカル記憶媒体とリモート記憶媒体との両方に配置されてもよい。
本出願の実施形態における方法を実施するために使用されるコンピュータプログラムコードは、1つ以上のプログラミング言語で書かれてもよい。コンピュータプログラムコードは、汎用コンピュータ、専用コンピュータ、または別のプログラマブルデータ処理装置のプロセッサに提供されてもよく、これにより、プログラムコードがコンピュータまたは別のプログラマブルデータ処理装置によって実行されるとき、フローチャートおよび/またはブロック図で指定された機能/動作が実施される。プログラムコードは、すべてコンピュータ上で、部分的にコンピュータ上で、独立したソフトウェアパッケージとして、部分的にコンピュータ上および部分的にリモートコンピュータ上で、またはすべてリモートコンピュータもしくはサーバ上で実行されてもよい。
本出願の実施形態の文脈では、コンピュータプログラムコードまたは関連データは、任意の適切なキャリアによって搬送されてもよく、これにより、デバイス、装置、またはプロセッサは、上記で説明された様々な処理および動作を実行することができる。キャリアの例は、信号およびコンピュータ可読媒体などを含む。
信号の例は、キャリアおよび赤外線信号などの、電気、光、無線、音、または他の形態の伝搬信号を含み得る。
機械可読媒体は、命令実行システム、装置、またはデバイスに使用される、または関連するプログラムを含む、または格納する任意の有形の媒体であってもよい。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であってもよい。機械可読媒体は、電子、磁気、光学、電磁、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、またはこれらの任意の適切な組み合わせを含み得るが、これらに限定されない。機械可読記憶媒体のより詳細な例は、1つ以上の配線との電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMもしくはフラッシュメモリ)、光記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組み合わせを含む。
簡便な説明のために、前述のシステム、デバイス、およびモジュールの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照することが当業者によって明確に理解され得る。ここでは詳細は説明されない。
本出願で提供されるいくつかの実施形態では、開示されたシステム、デバイス、および方法が他の方法で実施され得ることを理解されたい。例えば、説明されたデバイスの実施形態は例にすぎない。例えば、モジュールへの分割は、論理的な機能の分割にすぎず、実際の実施時には他の分割であってもよい。例えば、複数のモジュールまたはコンポーネントは、別のシステムとして組み合わされてもよいし、もしくは統合されてもよく、または一部の特徴は無視されてもよいし、もしくは実行されなくてもよい。加えて、表示されたまたは述べられた相互結合または直接的な結合もしくは通信接続は、いくつかのインターフェースを介して実施されてもよい。デバイスまたはモジュール間の間接的な結合または通信接続は、電気的接続、機械的接続、または他の形態の接続であってもよい。
別々の部分として説明されたモジュールは、物理的に別々であってもなくてもよく、モジュールとして表示された部分は物理モジュールであってもなくてもよく、1つの位置に配置されてもよいし、または複数のネットワークモジュールに分散されてもよい。モジュールの一部または全部は、本出願の実施形態における解決策の目的を達成するために実際の要件に基づいて選択されてもよい。
加えて、本出願の実施形態における機能モジュールは、1つの処理モジュールとして統合されてもよく、またはモジュールの各々は物理的に単独で存在してもよく、または2つ以上のモジュールが1つのモジュールとして統合されてもよい。統合モジュールは、ハードウェアの形態で実施されてもよいし、またはソフトウェア機能モジュールの形態で実施されてもよい。
統合モジュールが、ソフトウェア機能モジュールの形態で実施され、独立した製品として販売または使用されるとき、統合モジュールは、コンピュータ可読記憶媒体に格納され得る。このような理解に基づいて、本出願の技術的解決策は本質的に、または従来技術に寄与する部分は、または技術的解決策の全部もしくは一部は、ソフトウェア製品の形態で実施されてもよい。コンピュータソフトウェア製品は、記憶媒体に格納され、本出願の実施形態で説明された方法のステップの全部または一部を実行するようにコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであってもよい)に示すためのいくつかの命令を含む。前述の記憶媒体は、プログラムコードを格納することができる、USBフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、または光ディスクなどの任意の媒体を含む。
本出願では、「第1の」および「第2の」などの用語は、効果および機能が基本的に同じである同じまたは同様のものを区別するために使用される。「第1の」、「第2の」、および「第nの」の間には論理的なまたは時間的順序の依存関係はなく、数および実行順序は限定されないことを理解されたい。「第1の」および「第2の」などの用語は、以下の説明では、様々な要素を説明するために使用されており、これらの要素はこれらの用語によって限定されるべきではないことをさらに理解されたい。これらの用語は、ある要素を別の要素から区別するために使用されているにすぎない。例えば、様々な例の範囲から逸脱することなく、第1の画像は第2の画像と呼ばれ得、同様に、第2の画像は第1の画像と呼ばれ得る。第1の画像と第2の画像との両方は画像であってもよく、一部のケースでは、別々の異なる画像であってもよい。
プロセスの連続番号は、本出願の実施形態における実行順序を意味しないことをさらに理解されたい。プロセスの実行順序は、プロセスの機能および内部論理に基づいて決定されるべきであり、本出願の実施形態の実施プロセスに対するいかなる限定としても解釈されるべきではない。
本出願において、「少なくとも1つの」という用語は1つ以上のを意味し、「複数の」という用語は2つ以上のを意味する。例えば、複数の第2のパケットは、2つ以上の第2のパケットを意味する。「システム」および「ネットワーク」という用語は、本明細書では交換可能に使用され得る。
本明細書の様々な例の説明で使用されている用語は、特定の例を説明することを意図されているにすぎず、限定を構成することを意図されていないことを理解されたい。様々な例の説明および添付の特許請求の範囲で使用されている単数形の「one」(「a」および「an」)ならびに「the」という用語は、文脈で別段に明確に指定されない限り、複数形も含むことが意図されている。
本明細書で使用されている「および/または」という用語は、関連付けられ列挙されたもののうちの1つ以上のもののありとあらゆる可能な組み合わせを示し、また含むことをさらに理解されたい。「および/または」という用語は、関連付けられた対象間の関連付け関係を説明し、3つの関係が存在し得ることを表す。例えば、Aおよび/またはBは、以下の3つのケース:Aのみが存在する、AとBとの両方が存在する、およびBのみが存在する、を表し得る。加えて、本出願における記号「/」は、一般に、関連付けられた対象間の「または」関係を示す。
「含む」(または「includes」、「including」、「comprises」、および/または「comprising」と呼ばれる)という用語は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、および/またはこれらのグループの存在または追加を排除するものではないことをさらに理解されたい。
「場合」という用語は、「とき」(「when」もしくは「upon」)、「決定したことに応答して」、または「検出したことに応答して」の意味として解釈され得ることをさらに理解されたい。同様に、文脈に応じて、「と決定された場合」または「(述べられた条件またはイベント)が検出された場合」という句は、「と決定されたとき」または「決定したことに応答して」または「(述べられた条件またはイベント)が検出されたとき」または「(述べられた条件またはイベント)を検出したことに応答して」の意味として解釈され得る。
Aに基づいてBを決定することは、BがAのみに基づいて決定されることを意味せず、Bは、あるいは、Aおよび/または他の情報に基づいて決定されてもよいことを理解されたい。
本明細書を通して言及されている「一実施形態」、「実施形態」、または「可能な実施態様」は、実施形態または実施態様に関連する特定の特徴、構造、または特性が本出願の少なくとも1つの実施形態に含まれることを意味することをさらに理解されたい。したがって、本明細書を通して現れる「一実施形態では」、「実施形態では」、または「可能な実施態様では」は、必ずしも同じ実施形態を意味しない。加えて、これらの特定の特徴、構造、または特性は、任意の適切な方法を使用して1つ以上の実施形態において組み合わされてもよい。
前述の説明は、本出願の任意選択の実施形態にすぎず、本出願を限定することを意図されていない。本出願の精神および原理から逸脱せずに行われるいかなる修正、同等の置換、または改善も本出願の保護範囲内にあるものとする。
1701 取得モジュール
1702 デカプセル化モジュール
1703 決定モジュール
1704 送信モジュール
2000 パケット伝送デバイス
2001 プロセッサ
2003 メモリ
2004 通信インターフェース
2005 プロセッサ
2010 プログラムコード
2100 パケット伝送デバイス
2110 主制御基板
2111 中央処理装置
2112 メモリ
2120 スイッチング基板
2130 インターフェース基板
2131 中央処理装置
2132 ネットワークプロセッサ
2133 物理インターフェースカード
2134 転送エントリメモリ
2140 インターフェース基板
2141 中央処理装置
2142 ネットワークプロセッサ
2143 物理インターフェースカード
2144 転送エントリメモリ
方法3:第1のパケットはIPv6パケットであり、IPv6パケットヘッダは、IPv6基本ヘッダおよび宛先オプションヘッダ(destination option header、DOH)を含み、DOH拡張ヘッダはノード情報リストを搬送し、ノード情報リストはDOHのアドレスリストである。セグメントリスト内の各ノード情報の構造は、図3に示されているノード情報の構造と同様である。図6は、本出願の実施形態によるIPv6拡張ヘッダ、つまり、DOHを示す。
パケットオーバーヘッドをさらに低減するために、第1のデバイスは、更新された第4のパケットのノード情報リストをさらに処理し得る。可能な実施態様では、第1のデバイスは、処理されたノード情報リストが第2のデバイスおよび第2のデバイスののパケット処理デバイスのノード情報のみを含むように、ノード情報リストから、必要とされない分岐デバイスのノード情報を選択的に削除する。このようにして、第2のパケットで搬送されるノード情報リストによって占有されるスペースが大幅に低減され、パケット伝送効率も改善される。
第1の部分は、ノード情報リスト内のデバイスBのノード情報およびデバイスCのノード情報の位置を識別する。
任意選択で、デバイスAがデバイスBに対応するパケットを生成するステップは、デバイスAが、第1の部分に基づいて、次層ターゲットパケット複製および処理デバイスの数およびデバイスを決定することを含む。デバイスAは、ターゲットデバイスの数と同じ回数だけパケットを複製する。デバイスAは、第1の部分に基づいてセグメントリスト内のデバイスBのSIDの位置を決定し、セグメントリスト内のデバイスBのSIDの位置に基づいてデバイスBのSIDを取得する。デバイスAは、デバイスBのSIDに基づいて、1つの複製されたパケット内の宛先アドレスフィールドを更新する。デバイスAは、更新された複製されたパケットに基づいて、デバイスBに対応するパケットを取得する。
デバイスAによって送信された、デバイスBに対応するパケットを受信した後、デバイスBは、第1の部分およびノード情報リストに基づいて、デバイスB1からB3にそれぞれ対応するパケットを取得する。任意選択で、デバイスBは、以下の情報を取得するために、デバイスBに対応するパケットのDAフィールドを読み取る。1.パケットの宛先アドレスフィールドは、デバイスBのSIDである。宛先アドレスフィールド内の2.1234:1234は、複製命令を示す。3.第1の部分は、セグメントリスト内の次のパケット処理デバイスの開始位置および終了位置がそれぞれ3および5であることを示す。デバイスBは、前述の情報に基づいて、次のターゲットパケット処理デバイスの数が3であると決定する。具体的には、デバイスBに対応するパケットは3回複製される必要があり、複製されたパケットが送信されるべきデバイスは、それぞれシーケンス番号が3、4、および5であるSIDによって示されるデバイスである。デバイスBは、パケットを3回複製し、第1の部分の指示に基づいて、セグメントリスト内の次のパケット処理デバイスのノード情報、具体的にはSID3、SID4、およびSID5を位置特定する。SID3は、1つの複製されたパケットのDAフィールドに記入される。このケースでは、1つのパケットを取得するために、複製されたパケットの第1の部分「:3:5」は「:0:0」に更新され、第2の部分「2001:db8:1:3:」は「2001:db8:1:5:」に更新され、パケット内の第1の識別子(segment left)は1から3に設定される。SID4は、別の複製されたパケットのDAフィールドに記入される。このケースでは、1つのパケットを取得するために、複製されたパケットの第1の部分「:3:5」は「:0:0」に更新され、第2の部分「2001:db8:1:3:」は「2001:db8:1:6:」に更新され、パケット内の第1の識別子(segment left)は1から4に設定される。SID5は、残りの複製されたパケットのDAフィールドに記入される。このケースでは、1つのパケットを取得するために、複製されたパケットの第1の部分「:3:5」は「:0:0」に更新され、第2の部分「2001:db8:1:3:」は「2001:db8:1:7:」に更新され、パケット内の第1の識別子(segment left)は1から5に設定される。
任意選択で、デバイスAがデバイスBに対応するパケットを取得するステップは、デバイスAが、第1の部分に基づいて、デバイスBおよびデバイスCを含むターゲットデバイスの数を決定することを含む。デバイスAは、デバイスAに対応するパケットを、ターゲットデバイスの数と同じ回数だけ複製する。デバイスAは、第1の部分に基づいてセグメントリスト内のデバイスBのSIDの位置を決定し、セグメントリスト内のデバイスBのSIDの位置に基づいてデバイスBのSIDを取得する。デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新する。第1のデバイスは、更新された複製されたパケットに基づいて、デバイスBに対応するパケットを取得する。
任意選択で、デバイスAがデバイスBに対応するパケットおよびデバイスCに対応するパケットを取得するステップは、デバイスAが、第1の部分に基づいて、デバイスBおよびデバイスCを含むターゲットデバイスの数を決定することを含む。デバイスAは、ターゲットデバイスの数と同じ回数だけデバイスAに対応するパケットを複製する。デバイスAは、第1の部分に基づいてセグメントリスト内のデバイスBのSIDの位置を決定し、セグメントリスト内のデバイスBのSIDの位置に基づいてデバイスBのSIDを取得する。デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新する。デバイスAは、更新された複製されたパケットに基づいて、デバイスBに対応するパケットを取得する。任意選択で、パケットは第1の識別子をさらに搬送し、第1の識別子はセグメントリスト内の現在のパケット処理デバイスのSIDの位置を示す。デバイスAが、デバイスBのSIDに基づいて、デバイスAに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新した後、デバイスAは、デバイスBのSIDに基づいて、デバイスAに対応する複製されたパケットの第1の識別子をさらに更新する。次に、デバイスAは、同じ方法に従って、セグメントリスト内のデバイスCのSIDの位置に基づいて別の更新されたパケットを取得する。
デバイスAは、別の更新されたパケット内のSIDを処理して、処理されたパケットを取得する。処理されたパケット内のノード情報リストは、伝送経路上でデバイスAの後に位置するパケット処理デバイスのSIDのみを含む。
例えば、デバイスAは、デバイスAに対応するパケットの宛先アドレスフィールド内の第1の部分に基づいてパケットを2回複製し、次に、第1の部分に基づいてセグメントリスト内のデバイスBおよびデバイスCのSIDを位置特定し、位置特定されたSIDに基づいて2つの複製されたパケットの宛先アドレスフィールドを別々に更新する。更新されたパケットが取得された後、デバイスAは、処理されたパケット内のセグメントリストが伝送経路上でデバイスAの後に位置するパケット処理デバイスのノード情報のみを含むように、処理されたパケットを取得するために、更新されたパケット内のセグメントリストを処理する。
デバイスBは、第1の部分に基づいて、デバイスAによって送信されたパケットを受信し、デバイスB1からB3を含むターゲットデバイスの数を決定する。デバイスBは、ターゲットデバイスの数と同じ回数だけデバイスBに対応するパケットを複製する。デバイスBは、第1の部分に基づいて、ノード情報リスト内のデバイスB1からB3のノード情報の位置を決定し、ノード情報リスト内のデバイスB1のノード情報の位置に基づいて、デバイスB1のノード情報を取得する。デバイスBは、デバイスB1のノード情報に基づいて、デバイスBに対応する1つの複製されたパケット内の宛先アドレスフィールドを更新する。デバイスBは、更新された複製されたパケットに基づいて、デバイスB1に対応するパケットを取得する。
任意選択で、デバイスBが更新された複製されたパケットに基づいてデバイスB1に対応するパケットを取得することは、更新された複製されたパケット内の更新された第1の部分が、伝送経路上でデバイスB1の後に位置するパケット処理デバイスがないことを示すことに基づいて、更新された複製されたパケット内のインターネットプロトコルバージョン6 IPv6拡張ヘッダをポップアップすることと、IPv6拡張ヘッダをポップアップした後にパケットをデバイスB1に対応するパケットとして使用することとを含む。
0xFEの2値は「1111,1110」である。最初の7ビットはすべて「1」であり、これは、本出願のこの実施形態では複製機能を示す。8番目のビットは0であり、ノードはリーフノードであり、これは、ノードが複合ノードではないことを示す。0xFFの2値は「1111,1111」である。最初の7ビットはすべて「1」であり、これは、本出願のこの実施形態では複製機能を示す。8番目のビットは1であり、これは、ノードが複合ノードであることを示す。例えば、デバイスBは0xFFを有し、第1の部分は、デバイスBが次のパケット処理デバイスを有することも示す。したがって、デバイスBは複合ノードである。B1/B2/B3/C1/C2/C3は0xFEを有し、第1の部分は、B1/B2/B3/C1/C2/C3が次のパケット処理デバイスを有しないことを示す。したがって、B1/B2/B3/C1/C2/C3は出口ノードである。
主制御基板は、主処理装置(main processing unit、MPU)またはルートプロセッサカード(route processor card)とも呼ばれる。主制御基板2110は、ルート計算、デバイス管理、デバイス保守、およびプロトコル処理機能を含む、パケット伝送デバイス2100内のコンポーネントを制御および管理するように構成される。主制御基板2110は、中央処理装置2111およびメモリ2112を含む。
ネットワークプロセッサ2132は、パケット転送処理を実施するように構成される。ネットワークプロセッサ2132の形態は、転送チップであってもよい。転送チップは、ネットワークプロセッサ(network processor、NP)であってもよい。一部の実施形態では、転送チップは、特定用途向け集積回路(application-specific integrated circuit、ASIC)またはフィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)を使用して実施され得る。具体的には、ネットワークプロセッサ2132は、転送エントリメモリ2134に格納された転送テーブルに基づいて、受信されたパケットを転送するように構成される。パケットの宛先アドレスフィールドがパケット伝送デバイス2100のアドレスである場合、ネットワークプロセッサ2132は、CPU(例えば、中央処理装置2131)による処理のために上位層デバイスにパケットを引き続き送信する。パケットの宛先アドレスフィールドがパケット伝送デバイス2100のアドレスではない場合、ネットワークプロセッサ2132は、宛先アドレスフィールドに基づいて、転送テーブル内の宛先アドレスフィールドに対応する次ホップおよびアウトバウンドインターフェースを見つけ、宛先アドレスフィールドに対応するアウトバウンドインターフェースにパケットを転送する。アップリンクパケットを処理することは、インバウンドインターフェースを使用し、転送テーブルを検索することによってパケットを処理することを含み得る。ダウンリンクパケットを処理することは、転送テーブルを検索することなどを含み得る。一部の実施形態では、中央処理装置はまた、転送チップの機能を実行し得、例えば、汎用CPUに基づいてソフトウェア転送を実施し得、これにより、インターフェース基板は転送チップを必要としない。
一部の実施形態では、パケット伝送デバイス2100は、図19に示されている第1のデバイスで使用されるパケット伝送装置にさらに対応する。一部の実施形態では、図19に示されているパケット伝送装置内の取得モジュール1701および送信モジュール1704は、パケット伝送デバイス2100内の物理インターフェースカード2133に相当する。デカプセル化モジュール1702は、パケット伝送デバイス2100内の中央処理装置2111またはネットワークプロセッサ2132に相当する。
前述の説明は、本出願の任意選択の実施形態にすぎず、本出願を限定することを意図されていない。本出願の原理から逸脱せずに行われるいかなる修正、同等の置換、または改善も本出願の保護範囲内にあるものとする。

Claims (30)

  1. パケット伝送方法であって、前記方法は、
    第1のデバイスによって、第1のパケットを取得するステップであって、前記第1のパケットは宛先アドレスフィールドおよびノード情報リストを搬送し、前記ノード情報リストは第2のデバイスのノード情報および第3のデバイスのノード情報を含み、前記宛先アドレスフィールドは第1の部分を含む、ステップと、
    前記第1のデバイスによって、前記第1の部分に基づいて前記ノード情報リストから前記第2のデバイスの前記ノード情報および前記第3のデバイスの前記ノード情報を決定するステップであって、前記第1の部分は、前記ノード情報リスト内の前記第2のデバイスの前記ノード情報および前記第3のデバイスの前記ノード情報の位置を識別する、ステップと、
    前記第1のデバイスによって、前記第1のパケットに基づいて第2のパケットおよび第3のパケットを生成するステップであって、前記第2のパケットは前記第2のデバイスの前記ノード情報を含み、前記第3のパケットは前記第3のデバイスの前記ノード情報を含む、ステップと、
    前記第1のデバイスによって、前記第2のパケットを前記第2のデバイスに送信し、前記第3のパケットを前記第3のデバイスに送信するステップと
    を含む、パケット伝送方法。
  2. 前記第1の部分は、前記ノード情報リスト内の前記第2のデバイスの前記ノード情報の位置が開始位置であり、前記ノード情報リスト内の前記第3のデバイスの前記ノード情報の位置が終了位置であることを示すか、または
    前記第1の部分は、前記ノード情報リスト内の前記第2のデバイスの前記ノード情報の位置が開始位置であることを示し、前記ノード情報リスト内の前記第2のデバイスの位置に対する前記ノード情報リスト内の前記第3のデバイスの位置のオフセットを示す、請求項1に記載の方法。
  3. 前記第1のデバイスによって、前記第1のパケットに基づいて第2のパケットを生成する前記ステップは、
    第4のパケットを取得するために、前記第1のデバイスによって、前記第1の部分に基づいて前記第1のパケットを複製するステップと、
    前記第2のパケットを取得するために、前記第1のデバイスによって、前記第2のデバイスの前記ノード情報を前記第4のパケットに追加するステップと
    を含む、請求項1または2に記載の方法。
  4. 前記第1のデバイスは、前記第1のパケットの伝送経路上の入口ノードであり、
    第1のデバイスによって、第1のパケットを取得する前記ステップは、
    前記第1のパケットを取得するために、前記第1のデバイスによって、第5のパケットを受信し、前記第1の部分および第2の部分を前記第5のパケットの宛先アドレスフィールドに追加するステップであって、前記第2の部分は前記第1のデバイスのアドレスを識別する、ステップ
    を含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記第1のデバイスは、前記第1のパケットの伝送経路上の中間ノードであり、前記宛先アドレスフィールドは第2の部分をさらに含み、前記第1のデバイスによって、前記第1のパケットに基づいて第2のパケットおよび第3のパケットを生成する前記ステップの前に、前記方法は、
    前記第1のデバイスによって、前記第2の部分が前記第1のデバイスのアドレスと一致すると決定するステップ
    をさらに含む、請求項1から3のいずれか一項に記載の方法。
  6. 前記第1のパケットは、セグメント・ルーティング・オーバ・インターネット・プロトコル・バージョン6 SRv6パケットであり、前記ノード情報リストは、前記SRv6パケットのセグメントルーティングヘッダSRHで搬送され、前記ノード情報リストは前記SRHのセグメントリストであるか、
    前記第1のパケットはIPv6パケットであり、前記ノード情報リストは、前記IPv6パケットのルーティングヘッダRHで搬送され、前記ノード情報リストは前記RHのセグメントリストであるか、または
    前記第1のパケットはIPv6パケットであり、前記ノード情報リストは前記IPv6パケットの宛先オプションヘッダDOHで搬送され、前記ノード情報リストは前記DOHのアドレスリストである、請求項1から5のいずれか一項に記載の方法。
  7. 前記第1のパケット、前記第2のパケット、および前記第3のパケットは各々、第1の識別子をさらに搬送し、前記第1の識別子は、前記ノード情報リスト内の現在のパケット処理デバイスのノード情報の位置を示す、請求項1から6のいずれか一項に記載の方法。
  8. 前記第1のパケットはリーフ識別子をさらに搬送し、前記リーフ識別子は、前記第1のデバイスがリーフノードであることを示し、
    第1のデバイスによって、第1のパケットを取得する前記ステップの後に、前記方法は、
    前記第1のデバイスによって、前記リーフ識別子および前記第1の部分に基づいて、複製によって取得された前記第1のパケットをデカプセル化するステップ
    をさらに含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記ノード情報リストは前記リーフ識別子を搬送する、請求項8に記載の方法。
  10. 前記第2の部分は、共通プレフィックスおよびノード識別子を含み、前記共通プレフィックスは、パケット処理デバイスのノード情報内のノードアドレスの同じ部分を含み、前記ノード識別子は、前記パケット処理デバイスの前記ノード情報内の前記ノードアドレスの異なる部分を示す、請求項4から8のいずれか一項に記載の方法。
  11. 前記ノード情報リストはセグメントリストを含み、前記セグメントリスト内の1つ以上のセグメント識別子は前記共通プレフィックスを含まない、請求項10に記載の方法。
  12. 前記1つ以上のセグメント識別子のいずれか1つの長さは128ビット未満である、請求項11に記載の方法。
  13. 前記共通プレフィックスは機能識別子をさらに含み、前記機能識別子は、前記デバイスによって実行されるべき機能を示す、請求項10から12のいずれか一項に記載の方法。
  14. パケット伝送装置であって、前記装置は、第1のデバイスに適用され、前記装置は、
    第1のパケットを取得し、前記第1のパケットは宛先アドレスフィールドおよびノード情報リストを搬送し、前記ノード情報リストは第2のデバイスのノード情報および第3のデバイスのノード情報を含み、前記宛先アドレスフィールドは第1の部分を含む、ように構成される取得モジュールであって、
    前記取得モジュールは、前記第1の部分に基づいて前記ノード情報リストから前記第2のデバイスの前記ノード情報および前記第3のデバイスの前記ノード情報を決定し、前記第1の部分は、前記ノード情報リスト内の前記第2のデバイスの前記ノード情報および前記第3のデバイスの前記ノード情報の位置を識別する、ようにさらに構成され、
    前記取得モジュールは、前記第1のパケットに基づいて第2のパケットおよび第3のパケットを生成し、前記第2のパケットは前記第2のデバイスの前記ノード情報を含み、前記第3のパケットは前記第3のデバイスの前記ノード情報を含む、ようにさらに構成される、取得モジュールと、
    前記第2のパケットを前記第2のデバイスに送信し、前記第3のパケットを前記第3のデバイスに送信するように構成される送信モジュールと
    を備える、パケット伝送装置。
  15. 前記第1の部分は、前記ノード情報リスト内の前記第2のデバイスの前記ノード情報の位置が開始位置であり、前記ノード情報リスト内の前記第3のデバイスの前記ノード情報の位置が終了位置であることを示すか、または
    前記第1の部分は、前記ノード情報リスト内の前記第2のデバイスの前記ノード情報の位置が開始位置であることを示し、前記ノード情報リスト内の前記第2のデバイスの位置に対する前記ノード情報リスト内の前記第3のデバイスの位置のオフセットを示す、請求項14に記載の装置。
  16. 前記取得モジュールは、第4のパケットを取得するために前記第1の部分に基づいて前記第1のパケットを複製し、前記第2のパケットを取得するために前記第2のデバイスの前記ノード情報を前記第4のパケットに追加するように構成される、請求項14または15に記載の装置。
  17. 前記第1のデバイスは、前記第1のパケットの伝送経路上の入口ノードであり、
    前記取得モジュールは、前記第1のパケットを取得するために、第5のパケットを受信し、前記第1の部分および第2の部分を前記第5のパケットの宛先アドレスフィールドに追加し、前記第2の部分は前記第1のデバイスのアドレスを識別する、ように構成される、請求項14から16のいずれか一項に記載の装置。
  18. 前記第1のデバイスは、前記第1のパケットの伝送経路上の中間ノードであり、前記宛先アドレスフィールドは第2の部分をさらに含み、前記装置は、
    前記取得モジュールが、前記第1のパケットに基づいて前記第2のパケットおよび前記第3のパケットを生成するように構成される前に、前記第2の部分が前記第1のデバイスのアドレスと一致すると決定するように構成される決定モジュール
    をさらに備える、請求項14から16のいずれか一項に記載の装置。
  19. 前記第1のパケットは、セグメント・ルーティング・オーバ・インターネット・プロトコル・バージョン6 SRv6パケットであり、前記ノード情報リストは、前記SRv6パケットのセグメントルーティングヘッダSRHで搬送され、前記ノード情報リストは前記SRHのセグメントリストであるか、
    前記第1のパケットはIPv6パケットであり、前記ノード情報リストは、前記IPv6パケットのルーティングヘッダRHで搬送され、前記ノード情報リストは前記RHのセグメントリストであるか、または
    前記第1のパケットはIPv6パケットであり、前記ノード情報リストは前記IPv6パケットの宛先オプションヘッダDOHで搬送され、前記ノード情報リストは前記DOHのアドレスリストである、請求項14から18のいずれか一項に記載の装置。
  20. 前記第1のパケット、前記第2のパケット、および前記第3のパケットは各々、第1の識別子をさらに搬送し、前記第1の識別子は、前記ノード情報リスト内の現在のパケット処理デバイスのノード情報の位置を示す、請求項14から19のいずれか一項に記載の装置。
  21. 前記第1のパケットはリーフ識別子をさらに搬送し、前記リーフ識別子は、前記第1のデバイスがリーフノードであることを示し、前記装置は、デカプセル化モジュールをさらに備え、
    前記デカプセル化モジュールは、前記取得モジュールが前記第1のパケットを取得した後に、前記リーフ識別子および前記第1の部分に基づいて、複製によって取得された第1のパケットをデカプセル化するように構成される、請求項14から20のいずれか一項に記載の装置。
  22. 前記ノード情報リストは前記リーフ識別子を搬送する、請求項21に記載の装置。
  23. 前記第2の部分は、共通プレフィックスおよびノード識別子を含み、前記共通プレフィックスは、パケット処理デバイスのノード情報内のノードアドレスの同じ部分を含み、前記ノード識別子は、前記パケット処理デバイスの前記ノード情報内の前記ノードアドレスの異なる部分を示す、請求項17から21のいずれか一項に記載の装置。
  24. 前記ノード情報リストはセグメントリストを含み、前記セグメントリスト内の1つ以上のセグメント識別子は前記共通プレフィックスを含まない、請求項23に記載の装置。
  25. 前記1つ以上のセグメント識別子のいずれか1つの長さは128ビット未満である、請求項24に記載の装置。
  26. 前記共通プレフィックスは機能識別子をさらに含み、前記機能識別子は、前記デバイスによって実行されるべき機能を示す、請求項23から25のいずれか一項に記載の装置。
  27. パケット伝送デバイスであって、前記パケット伝送デバイスはプロセッサを備え、前記プロセッサはメモリに結合され、前記メモリは少なくとも1つの命令を格納し、前記少なくとも1つの命令は、前記パケット伝送デバイスが請求項1から13のいずれか一項に記載のパケット伝送方法を実施することができるようにするために、前記プロセッサによってロードされて実行される、パケット伝送デバイス。
  28. コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は命令またはコードを含み、前記命令または前記コードがコンピュータ上で実行されるとき、前記コンピュータは、請求項1から13のいずれか一項に記載のパケット伝送方法を実行することができるようにされる、コンピュータ可読記憶媒体。
  29. コンピュータプログラム製品であって、前記コンピュータプログラム製品はプログラムまたはコードを含み、前記プログラムまたは前記コードがコンピュータ上で実行されるとき、前記コンピュータは、請求項1から13のいずれか一項に記載のパケット伝送方法を実行することができるようにされる、コンピュータプログラム製品。
  30. パケット伝送システムであって、前記パケット伝送システムは、第1のデバイスと、第2のデバイスと、第3のデバイスとを備え、前記第1のデバイスは、請求項1から13のいずれか一項に記載のパケット伝送方法を実行し、前記第2のデバイスは、前記第1のデバイスによって送信された第2のパケットを受信し、前記第3のデバイスは、前記第1のデバイスによって送信された第3のパケットを受信する、パケット伝送システム。
JP2023538837A 2020-12-22 2021-09-16 パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体 Pending JP2024502280A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN202011528118 2020-12-22
CN202011528118.3 2020-12-22
CN202110221894.7 2021-02-27
CN202110221894.7A CN114666259A (zh) 2020-12-22 2021-02-27 报文传输的方法、装置、设备、存储介质及系统
PCT/CN2021/118863 WO2022134674A1 (zh) 2020-12-22 2021-09-16 报文传输的方法、装置、设备、存储介质及系统

Publications (1)

Publication Number Publication Date
JP2024502280A true JP2024502280A (ja) 2024-01-18

Family

ID=82026194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023538837A Pending JP2024502280A (ja) 2020-12-22 2021-09-16 パケット伝送方法、装置、デバイス、およびシステム、ならびに記憶媒体

Country Status (5)

Country Link
US (1) US20230336478A1 (ja)
EP (1) EP4254834A4 (ja)
JP (1) JP2024502280A (ja)
CN (1) CN114666259A (ja)
WO (1) WO2022134674A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024045180A1 (zh) * 2022-09-02 2024-03-07 华为技术有限公司 数据报文的传输方法、通信装置和通信系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099913B (zh) * 2014-04-21 2018-07-20 新华三技术有限公司 一种报文转发方法及设备
CN106411738A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 Ipv6报文封装的处理方法和装置
CN106656781B (zh) * 2015-11-02 2020-12-11 中兴通讯股份有限公司 一种报文传输的方法、装置和系统
CN113904983A (zh) * 2017-12-27 2022-01-07 华为技术有限公司 一种报文处理的方法、网络节点和系统
CN113595913B (zh) * 2018-11-02 2023-02-14 华为技术有限公司 报文转发的方法、发送报文的装置和接收报文的装置

Also Published As

Publication number Publication date
US20230336478A1 (en) 2023-10-19
CN114666259A (zh) 2022-06-24
EP4254834A4 (en) 2024-05-01
EP4254834A1 (en) 2023-10-04
WO2022134674A1 (zh) 2022-06-30

Similar Documents

Publication Publication Date Title
US20230122099A1 (en) Packet Forwarding Method, Device, and System
EP3780517B1 (en) Method and apparatus for processing multicast data packet
JP7481436B2 (ja) Srネットワークでパケットを転送する方法、デバイス、及びシステム
US11652735B2 (en) Multicast data packet processing method, and apparatus
US20200389391A1 (en) Packet processing method and apparatus
US20230188463A1 (en) Data packet processing method and device
US20230121236A1 (en) Segment routing point to multipoint path
US20220182323A1 (en) Method for forwarding packet in sr network, device, and system
US11296979B2 (en) Method and system for symmetric integrated routing and bridging
CN112787927B (zh) 一种分段路由报文转发方法、装置及预设逻辑电路单元
WO2022111606A1 (zh) 一种报文传输、段列表生成、压缩段标识获取方法及装置
CN113132202B (zh) 一种报文传输方法及相关设备
CN113132257B (zh) 报文处理方法及装置
US20230336478A1 (en) Packet transmission method, apparatus, device, and system, and storage medium
EP4236245A1 (en) Route advertisement method, apparatus, and system
JP2023544309A (ja) パケットヘッダ情報取得方法、パケット生成方法、装置及び記憶媒体
WO2023005018A1 (zh) 一种报文转发的方法及网络设备
JP2024506089A (ja) パケット転送方法、装置、およびシステム
WO2022227695A1 (zh) 传输报文的方法、装置及设备
US20230143419A1 (en) Segment Routing MPLS Point To Multipoint Path
CN117118774B (zh) 二层网络下云计算网关的接入方法及装置
EP4102784A1 (en) Data stream processing method and device
CN116527642A (zh) 一种报文处理方法及相关设备
CN115589381A (zh) 用于处理组播报文的方法及装置
CN116800662A (zh) 报文处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230803