[関連出願への相互参照]
この出願は、2019年9月11日付で中国国家知的財産管理局に出願された"転送経路決定方法及び装置"と題された中国特許出願第201910860014.3号に基づく優先権を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
[技術分野]
この出願は、通信分野に関するとともに、転送経路決定方法及び装置に関する。
セグメントルーティング(Segment Routing, SR)は、ソースルーティングに基づいてネットワークにおいてデータパケットを転送するように設計されているプロトコルである。SRネットワークにおいては、SRをサポートするネットワークの中の入口ノードは、データパケットに順次的なセグメント識別子のグループを挿入して、そのデータパケットの転送経路を明示的に指定する。マルチプロトコルラベルスイッチング(Multi-Protocol Label Switching, MPLS)データプレーンに適用されるSRは、MPLSベースのセグメントルーティング(MPLS-SR又はSR-MPLS)と称される。インターネットプロトコルバージョン6(Internet Protocol Version 6, IPv6)データプレーンに適用されるSRは、IPv6ベースのセグメントルーティング(SRv6)と称される。
セグメント識別子(Segment ID, SID)は、セグメントを記述するIDであり、例えば、ノード又はリンクを表す。MPLS-SRの場合には、SIDは、MPLSラベルによって表され、一方で、SRv6の場合には、SIDは、128ビットの値で表される。
セグメント識別子リスト(Segment ID List)は、セグメント識別子のグループを含むリストである。データパケットを受信した後に、入口ノードは、そのデータパケットに1つのSIDリストを挿入して、転送経路を明示的に示す。
セグメント識別子は、エンドポイント層3クロスコネクトセグメント識別子(End.X SID, Endは、エンドポイントを示し、Xは、交差を示し、SIDは、セグメント識別子を示す)によって表されてもよい。SRネットワークの中のいずれかのノードについて、そのノードは、少なくとも1つのEnd.X SIDを広告してもよく、各々のEnd.X SIDは、そのノードに直接的に接続されているIP層リンクを識別するのに使用される。
バインディングセグメント識別子(Binding SID, BSID)は、SIDリストにバインディングされて、転送経路を示す。有効なBSIDを受信するときに、SRネットワークの中の入口ノードは、BSIDに関連する操作を実行する。IPv6セグメントルーティング(IPv6 Segment Routing, SRv6)ネットワークにおいて、定義されたBSIDに関連する操作は、複数の異なるBSID機能に基づいて、SRHを含む新たなSRHヘッダー(End.B6.Insert)又は新たな外部IPv6ヘッダー(End.B6.Encaps)を挿入することであってもよい。
実際の適用の場合には、セグメントルーティングネットワークは、ソースルーティングの技術に基づいているので、コントローラは、通常、入口ノードにBSID又はSIDリストを配信して、データパケット転送を制御する。
すなわち、従来技術においては、SRネットワークの中のデバイスは、関連するコントローラと対話して、要件を満たす転送経路を取得する必要がある。その転送経路が複数のドメインを横断する転送経路であるときに、指定された転送経路は、複数のコントローラの間での対話によってさらに決定される。ところが、いかなるコントローラも利用可能ではないとき、又は、担当するドメインが異なっている2つのコントローラが互いに通信することが不可能であるときに、その要件に合致する転送経路を取得することは不可能である。
この出願は、転送経路決定方法及び装置を提供して、ドメイン間のパケット転送のための入口ノードがコントローラとの対話に依存するか、又は、コントローラなしではドメイン間のパケット転送を実装することが不可能であるために、パケット転送制御プロセス全体が複雑になるという問題を解決する。
第1の態様によれば、転送経路決定方法が提供される。その方法は、第1のネットワークデバイスに適用される。第1のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスであってもよい。このことは、この出願においては特に限定されない。その方法は、以下のステップを含む。
第1のネットワークデバイスは、第2のネットワークデバイスが送信する第1のルーティング更新メッセージを受信し、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路であり、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属さず、そして、第1のネットワークデバイスは、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定し、第2の転送経路は、第1のネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第2の転送経路は、第1の転送経路を含む。
第1の態様によって提供される転送経路決定方法によれば、第2のネットワークデバイスから第3のネットワークデバイスへの転送経路を示す識別子リストは、第1のネットワークデバイスに伝送され、識別子リストは、セグメント識別子又はバインディングセグメント識別子を含み、それによって、コントローラが存在しないか、又は、複数のコントローラが存在するが、それらの複数のコントローラが互いに通信することが不可能であるシナリオにおいて、ドメイン間の転送経路を決定する。このことは、パケット転送制御プロセスを単純化するのに役立つ。
ある1つの可能な方式において、第1のネットワークデバイスは、ネットワーク性能識別子を取得する。第1のネットワークデバイスが、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定することは、第1のネットワークデバイスが、ネットワーク性能識別子及び第1の識別子リストに基づいて、第2の転送経路を決定することであって、第2の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たす、ことを含む。
ある1つの可能な方式において、第1のネットワークデバイスが、ネットワーク性能識別子を取得することは、ネットワーク性能識別子が、第1のルーティング更新メッセージの中で搬送され、第1のネットワークデバイスが、第1のルーティング更新メッセージからネットワーク性能識別子を取得すること、又は、第1のネットワークデバイスが、コントローラが送信する制御メッセージを受信し、そして、第1のネットワークデバイスが、制御メッセージからネットワーク性能識別子を取得すること、を含む。
上記の選択的な方式において、ネットワーク性能識別子は、第1のルーティング更新メッセージの中で搬送され、それによって、ネットワーク性能要件を有するサービスについては、さらに、そのネットワーク性能要件を満たす転送経路を決定してもよい。例えば、音声サービスが、可能であれば、より低い待ち時間を有する転送経路を必要とするときに、この方法によって、そのサービスのために、その性能要件を満たす第2の転送経路を決定してもよい。
ある1つの可能な方式において、第1のネットワークデバイスが、第1のルーティング更新メッセージに基づいて、第2の転送経路を決定した後に、当該方法は、第1のネットワークデバイスが、第1のマッピング関係を生成することをさらに含み、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるか、又は、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であり、識別子セットは、第1のネットワークデバイスのセグメント識別子及び第1の識別子リストを含む。
上記の選択的な方式において、その転送経路にある各々のネットワークデバイスにおいて、対応するバインディングセグメント識別子及びそのバインディングセグメント識別子が示す経路についてのマッピング関係を生成する。そのマッピング関係は、ネットワークデバイスのルーティングテーブル又は転送テーブルの中に格納されてもよい。したがって、データパケットを受信した後に、その転送経路にあるネットワークデバイスは、性能要件を満たす好ましい転送経路に沿ってそのデータパケットを転送することが可能である。
ある1つの可能な方式において、第1のルーティング更新メッセージは、宛先ネットワークデバイスの識別子をさらに含む。第1のネットワークデバイスが入口ノードであるときに、当該方法は、第1のネットワークデバイスが、第2のマッピング関係を生成することであって、第2のマッピング関係は、第1のネットワークデバイスに対応する第2のバインディングセグメント識別子と宛先ネットワークデバイスの識別子との間のマッピング関係である、ことと、第1のネットワークデバイスが、第3のマッピング関係を生成することであって、第3のマッピング関係は、第2のバインディングセグメント識別子とバインディングセグメント識別子セットとの間のマッピング関係であり、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子のみを含む、ことと、第1のネットワークデバイスが、データパケットを受信することであって、データパケットは、宛先ネットワークデバイスの識別子を搬送する、ことと、第1のネットワークデバイスが、第2のマッピング関係及び第3のマッピング関係に基づいて、第2の転送経路に沿ってデータパケットを転送することと、をさらに含む。
上記の選択的な方式において、データパケットを受信した後に、セグメントルーティングネットワークの中の入口ノードは、そのデータパケットを処理し、それによって、決定された転送経路にあるネットワークデバイスは、その決定された転送経路に沿ってデータパケットを転送することが可能である。さらに、その転送プロセスの中で既存の技術を使用して、その解決方法の複雑さを減少させる。
ある1つの可能な方式においては、ネットワーク性能要件は、待ち時間、帯域幅、パケット損失、及びジッタのうちの少なくとも1つを含む。
上記の選択的な方式において、ネットワーク管理者は、ネットワークの中の可能な限り多くのネットワーク性能要件を定義し、そして、さらに、それらのネットワーク性能要件を満たす転送経路を決定して、複数の異なるサービスの要件を満たすことが可能である。
ある1つの可能な方式において、第1の識別子リストは、第1のルーティング更新メッセージの第1のタイプ長さ値TLVの中で搬送される。
第1の転送経路を示す第1の識別子リストは、TLVの形態の第1のルーティング更新メッセージの中で搬送され、そのTLVは、再利用される。このことは、この解決方法の迅速な実装及びそのネットワークの中での迅速な展開に役立つ。
ある1つの可能な方式においては、第1のネットワークデバイスが、セグメントルーティングネットワークの中の通過ノードであるときに、第1のネットワークデバイスが、第1のルーティング更新メッセージに基づいて第2の転送経路を決定した後に、当該方法は、第1のネットワークデバイスが、第4のネットワークデバイスに、第2のルーティング更新メッセージを送信することであって、第2のルーティング更新メッセージは、第2の識別子リストを搬送する、ことをさらに含む。
ある1つの可能な方式において、第2のルーティング更新メッセージは、さらに、ネットワーク性能識別子を搬送する。
上記の選択的な方式において、セグメントルーティングネットワークの中の転送経路は、ルーティング更新メッセージを使用することによって伝送されてもよく、コントローラが入口ノードであるか又は入口ノードが自動的な計算を実行する方法を必然的には使用せず、それによって、ネットワークにおけるセグメントルーティング技術の適用は、より単純となる。
ある1つの可能な方式において、第1のマッピング関係が、第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、第1のマッピング関係が、第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子のみを含む。
ある1つの可能な方式において、第1のネットワークデバイス及び第2のネットワークデバイスは、異なる自律システムASドメインに属する。
上記の選択的な方式において、セグメントルーティングネットワークの中のネットワークデバイスは、BGPルーティング更新メッセージを使用することによって、セグメントルーティングネットワークの中の転送経路を伝送し、その転送経路は、複数のASドメインを横断する転送経路でさえある。ネットワークデバイスとコントローラとの間の通信によって又は複数のコントローラの間の通信によって、転送経路を決定する方法を必然的には使用しない。このことは、パケット転送制御プロセスを単純化するのに役立つ。
第2の態様によれば、転送経路決定方法が提供される。その方法は、第2のネットワークデバイスに適用される。第2のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスであってもよい。このことは、この出願においては特に限定されない。その方法は、以下のステップを含む。
第2のネットワークデバイスは、第1の識別子リストを決定し、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路であり、第2のネットワークデバイスは、第1のネットワークデバイスに第1のルーティング更新メッセージを送信し、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属していない。
第2の態様にしたがった転送経路決定方法においては、ルーティング更新メッセージは、SIDリスト、BSIDリスト、又は、SID及びBSIDを含むリストを伝送し、それらのSIDリスト、BSIDリスト、又は、SID及びBSIDを含むリストは、転送経路を示し、それによって、コントローラが存在しないか、又は、複数のコントローラが存在するが、それらの複数のコントローラが互いに通信することが不可能であるシナリオにおいて、また、この方法を使用することによって、ドメイン間の転送経路を決定することが可能である。このことは、パケット転送制御プロセスを単純化するのに役立つ。
ある1つの可能な方式において、第2のネットワークデバイスが、第1の識別子リストを決定する前に、当該方法は、第2のネットワークデバイスが、ネットワーク性能識別子を取得することと、第2のネットワークデバイスが、ネットワーク性能識別子に基づいて、第1の転送経路を決定することであって、第1の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たす、ことと、をさらに含む。
ある1つの可能な方式において、第2のネットワークデバイスが、ネットワーク性能識別子を取得することは、第2のネットワークデバイスが、第2のルーティング更新メッセージを受信し、そして、第2のネットワークデバイスが、第2のルーティング更新メッセージからネットワーク性能識別子を取得すること、又は、第2のネットワークデバイスが、コントローラが送信する制御メッセージを受信し、そして、第2のネットワークデバイスが、その制御メッセージからネットワーク性能識別子を取得すること、を含む。
ある1つの可能な方式において、ネットワーク性能要件は、待ち時間、帯域幅、パケット損失、及びジッタのうちの少なくとも1つを含む。
上記の選択的な方式において、ネットワーク性能要件を有するサービスについては、ネットワーク性能識別子を使用することによって、さらに、そのネットワーク性能要件を満たす転送経路を決定してもよい。例えば、音声サービスが、より低い待ち時間を有する転送経路を必要とするときに、この方法によって、そのサービスのために、その性能要件を満たす転送経路を決定してもよい。
ある1つの可能な方式において、第2のネットワークデバイスは、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間の第1のマッピング関係を生成し、セット識別子は、第2のネットワークデバイスのセグメント識別子を含み、第2のネットワークデバイスは、データパケットを受信し、データパケットは、第1のバインディングセグメント識別子を搬送し、第2のネットワークデバイスは、マッピング関係に基づいて、第1の転送経路に沿ってデータパケットを転送する。
ある1つの可能な方式において、第1の識別子リストは、第1のバインディングセグメント識別子を含む。
ある1つの可能な方式において、第1の識別子リストは、第1のルーティング更新メッセージの第1のタイプ長さ値TLVの中で搬送される。
上記の選択的な方式において、その転送経路にある各々のネットワークデバイスにおいて、対応するバインディングセグメント識別子及びそのバインディングセグメント識別子が示す経路についてのマッピング関係を生成する。そのマッピング関係は、ネットワークデバイスのルーティングテーブル又は転送テーブルの中に格納されてもよい。したがって、データパケットを受信した後に、その転送経路にあるネットワークデバイスは、性能要件を満たす好ましい転送経路に沿ってそのデータパケットを転送することが可能である。
第3の態様によれば、第1のネットワークデバイスが提供される。その第1のネットワークデバイスは、第1の態様又は第1の態様の選択的な方式のうちのいずれか1つにしたがって転送経路を決定する機能を有する。その機能は、ハードウェアに基づいて実装されてもよく、又は、対応するソフトウェアを実行するハードウェアに基づいて実装されてもよい。ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。第1のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスであってもよい。このことは、この出願においては特に限定されない。
第1のネットワークデバイスは、第2のネットワークデバイスが送信する第1のルーティング更新メッセージを受信するように構成される受信ユニットであって、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路であり、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属していない、受信ユニットと、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定するように構成される処理ユニットであって、第2の転送経路は、当該ネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第2の転送経路は、第1の転送経路を含む、処理ユニットと、を含む。
ある1つの可能な方式において、第1のネットワークデバイスは、取得ユニットをさらに含み、前記取得ユニットは、ネットワーク性能識別子を取得するように構成され、対応して、処理ユニットが、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定するように構成されることは、特に、処理ユニットが、ネットワーク性能識別子及び第1の識別子リストに基づいて、第2の転送経路を決定し、第2の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たすことである。
ある1つの可能な方式において、取得ユニットが、ネットワーク性能識別子を取得するように構成されることは、特に、ネットワーク性能識別子が、第1のルーティング更新メッセージの中で搬送され、取得ユニットが、第1のルーティング更新メッセージからネットワーク性能識別子を取得するように構成されることであるか、又は、受信ユニットが、さらに、コントローラが送信する制御メッセージを受信するように構成され、そして、取得ユニットが、制御メッセージからネットワーク性能識別子を取得するように構成されることである。
ある1つの可能な方式において、処理ユニットが、第1のルーティング更新メッセージに基づいて、第2の転送経路を決定するように構成された後に、処理ユニットは、さらに、第1のマッピング関係を生成するように構成され、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるか、又は、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であり、識別子セットは、第1のネットワークデバイスのセグメント識別子及び第1の識別子リストを含む。
ある1つの可能な方式において、第1のネットワークデバイスは、送信ユニットをさらに含み、第1のルーティング更新メッセージは、宛先ネットワークデバイスの識別子をさらに含む。第1のネットワークデバイスが入口ノードであるときに、処理ユニットは、さらに、第2のマッピング関係を生成するように構成され、第2のマッピング関係は、第1のネットワークデバイスに対応する第2のバインディングセグメント識別子と宛先ネットワークデバイスの識別子との間のマッピング関係であり、処理ユニットは、さらに、第3のマッピング関係を生成するように構成され、第3のマッピング関係は、第2のバインディングセグメント識別子とバインディングセグメント識別子セットとの間のマッピング関係であり、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子のみを含み、受信ユニットは、さらに、データパケットを受信するように構成され、データパケットは、宛先ネットワークデバイスの識別子を搬送し、送信ユニットは、さらに、第2のマッピング関係及び第3のマッピング関係に基づいて、第2の転送経路に沿ってデータパケットを転送するように構成される。
ある1つの可能な方式においては、ネットワーク性能要件は、待ち時間、帯域幅、パケット損失、及びジッタのうちの少なくとも1つを含む。
ある1つの可能な方式において、第1の識別子リストは、第1のルーティング更新メッセージの第1のタイプ長さ値TLVの中で搬送される。
ある1つの可能な方式において、第1のネットワークデバイスが、セグメントルーティングネットワークの中の通過ノードであるときに、処理ユニットが、第1のルーティング更新メッセージに基づいて、第2の転送経路を決定した後に、送信ユニットは、さらに、第4のネットワークデバイスに、第2のルーティング更新メッセージを送信するように構成され、第2のルーティング更新メッセージは、第2の識別子リストを搬送する。
ある1つの可能な方式において、第1のマッピング関係が、第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、第1のマッピング関係が、第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子のみを含む。
ある1つの可能な方式において、第1のネットワークデバイス及び第2のネットワークデバイスは、異なる自律システムASドメインに属する。
第4の態様によれば、第2のネットワークデバイスが提供される。その第2のネットワークデバイスは、第2の態様又は第2の態様の選択的な方式のうちのいずれか1つにしたがって転送経路を決定する機能を有する。第2のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスである。このことは、この出願においては特に限定されない。
第2のネットワークデバイスは、第1の識別子リストを決定するように構成される処理ユニットであって、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路である、処理ユニットと、第1のネットワークデバイスに第1のルーティング更新メッセージを送信するように構成される送信ユニットであって、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属していない、送信ユニットと、を含む。
ある1つの可能な方式において、第2のネットワークデバイスは、取得ユニットをさらに含む。処理ユニットが、第1の識別子リストを決定するように構成される前に、取得ユニットは、ネットワーク性能識別子を取得するように構成される。処理ユニットは、さらに、ネットワーク性能識別子に基づいて、第1の転送経路を決定するように構成され、第1の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たす。
ある1つの可能な方式において、第2のネットワークデバイスは、受信ユニットをさらに含み、取得ユニットが、ネットワーク性能識別子を取得するように構成されることは、特に、受信ユニットが、第2のルーティング更新メッセージを受信するように構成され、そして、取得ユニットが、第2のルーティング更新メッセージからネットワーク性能識別子を取得するように構成されることであるか、又は、受信ユニットが、コントローラが送信する制御メッセージを受信するように構成され、そして、取得ユニットが、制御メッセージからネットワーク性能識別子を取得するように構成されることである。
ある1つの可能な方式において、処理ユニットは、さらに、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間の第1のマッピング関係を生成するように構成され、セット識別子は、第2のネットワークデバイスのセグメント識別子を含み、受信ユニットは、さらに、データパケットを受信するように構成され、データパケットは、第1のバインディングセグメント識別子を搬送し、送信ユニットは、さらに、マッピング関係に基づいて、第1の転送経路に沿ってデータパケットを転送するように構成される。
ある1つの可能な方式において、第1の識別子リストは、第1のバインディングセグメント識別子を含む。
第5の態様によれば、第1のネットワークデバイスが提供され、その第1のネットワークデバイスは、プロセッサ、メモリ、及びトランシーバーを含む。メモリは、少なくとも1つの命令を格納し、プロセッサは、メモリの中のコンピュータ読み取り可能な命令を実行するように構成され、それによって、第1のネットワークデバイスは、第1の態様及び第1の態様の選択的な方式のうちのいずれか1つにしたがった転送経路決定方法を実行する。
第6の態様によれば、第2のネットワークデバイスが提供され、その第2のネットワークデバイスは、プロセッサ、メモリ、及びトランシーバーを含む。メモリは、少なくとも1つの命令を格納し、プロセッサは、メモリの中のコンピュータ読み取り可能な命令を実行するように構成され、それによって、第2のネットワークデバイスは、第2の態様及び第2の態様の選択的な方式のうちのいずれか1つにしたがった転送経路決定方法を実行する。
第7の態様によれば、コンピュータ読み取り可能な記憶媒体が提供される。その記憶媒体は、少なくとも1つの命令を格納し、その命令は、プロセッサによってロードされて、第1の態様及び第1の態様の選択的な方式のうちのいずれか1つにしたがった転送経路決定方法又は第2の態様にしたがった転送経路決定方法を実行する。
第8の態様によれば、コンピュータプログラムが提供される。そのコンピュータプログラムは、第1の態様及び第1の態様の選択的な方式のうちのいずれか1つにしたがった方法を実行するのに使用されるコンピュータプログラムを含む。
第9の態様によれば、コンピュータプログラムが提供される。そのコンピュータプログラムは、第2の態様及び第2の態様の選択的な方式のうちのいずれか1つにしたがった方法を実行するのに使用されるコンピュータプログラムを含む。
本発明の複数の技術的解決方法をより明確に説明するために、以下の記載は、それらの複数の実施形態の中で使用される複数の添付の図面を簡単に説明する。以下の説明の中の複数の添付の図面は、本発明の複数の実施形態のうちのいくつかを示しているにすぎず、当業者は、創造的な努力を行うことなく、それらの複数の添付の図面から他の技術的解決方法及び添付の図面を導き出すことが可能であるというということは明らかである。これらの複数の技術的解決方法及び複数の添付の図面は、また、本発明の範囲に属していると考えられるものとする。
この出願のある1つの実施形態にしたがった適用シナリオの概略的な図である。
この出願のある1つの実施形態にしたがった転送経路決定方法のフローチャートである。
この出願のある1つの実施形態にしたがった転送経路決定方法のフローチャートである。
この出願のある1つの実施形態にしたがった第1の転送経路の概略的な図である。
この出願のある1つの実施形態にしたがった第1のタイプ長さ値TLVの概略的な図である。
この出願のある1つの実施形態にしたがった第2のタイプ長さ値TLVの概略的な図である。
この出願のある1つの実施形態にしたがった第2の転送経路の概略的な図である。
この出願のある1つの実施形態にしたがった第1のネットワークデバイスの構成の概略的な図である。
この出願のある1つの実施形態にしたがった第2のネットワークデバイスの構成の概略的な図である。
この出願のある1つの実施形態にしたがった第1のネットワークデバイスの構成の概略的な図である。
この出願のある1つの実施形態にしたがった第2のネットワークデバイスの構成の概略的な図である。
当業者が本発明の複数の解決方法をより良好に理解することを可能とするために、以下の記載は、複数の添付の図面及び複数の実装を参照して、本発明の複数の実施形態をより詳細に説明する。
この出願のそれらの複数の実施形態において、"第1の"及び"第2の"等の語は、基本的に同じ機能を有する複数の同じ品目又は複数の同様の品目を判別するのに使用される。"第1の"、"第2の"、及び"n番目の"の間に論理的な順序依存性又は時間的な順序依存性は存在せず、数及び実行順序は限定されないということを理解すべきである。
この出願におけるリストは、1つの要素を含んでもよく、又は、複数の要素を含んでもよいということを理解すべきである。リストに含まれる要素の数は、この出願においては限定されない。
この出願におけるセットは、1つの要素を含んでもよく、又は、複数の要素を含んでもよいということを理解すべきである。セットに含まれる要素の数は、この出願においては限定されない。この出願は、MPLS-SRに適用されてもよく、又は、SRv6に適用されてもよいということを理解すべきである。このことは、この出願においては特に限定されない。
この出願における語は、以下のように説明される。
SRトラフィックエンジニアリング(SR Policy)に基づいて、入口ノードは、データパケットのパケットヘッダの中に、ネットワークにおけるそのデータパケットの転送経路に関する情報を埋め込む。このようにして、そのデータパケットは、指定されている経路に沿ってネットワークを横断することが可能である。1つのSR Policyは、入口ノードと宛先ノードとの間の最適化目標として定義され、(入口ノード(Head-end)、カラー(Color)、宛先ノード(End-point)等の)タプルを使用して、それらの入口ノード及び宛先ノードを識別することが可能である。1つのSR Policyは、1つ又は複数のBSIDに対応し、各々のBSIDは、1つ又は複数の候補経路(Candidate Paths, CP)に対応し、1つのCPは、1つ又は複数のセグメント識別子リスト(SID List)を含む。各々のセグメント識別子リストは、送信元から宛先への経路を示し、そして、内部ゲートウェイプロトコル(Interior Gateway Protocol, IGP)に基づいて計算される宛先ノードへのディフォルトの且つ最短の経路ではなく、指定されている経路に沿って転送を実行するためのネットワークの中の経路にある転送デバイスを示す。一般的に、1つのSR Policy及び対応するCPは、事前の構成により又は入口ノードによる自動的な計算により決定される。一般的に、1つのSR Policyは、優先的に、転送経路としてCPを選択する。ある特定の事前の構成方式は、コマンドラインを使用することによってデバイスに対してCPを構成すること、ネットワーク管理システムによって構成すること、又は、SDNコントローラによって構成することを含む。そのSR Policyに準拠するデータパケットを受信した後であって、そのパケットを転送する前に、その入口ノードは、そのSR Policyに対応するバインディングセグメント識別子(Binding Segment ID, BSID)及びそのBSIDに対応するセグメント識別子リストを解析する。対応するSRHは、そのデータパケットの中で搬送され、それによって、指定されている経路に沿って、そのパケットを転送することが可能である。
図1は、この出願のある1つの実施形態にしたがった適用シナリオの概略的な図である。図1に示されているシナリオにおいては、ネットワークデバイス101、ネットワークデバイス102、ネットワークデバイス103、及びネットワークデバイス104は、1つのASドメインに属している、すなわち、図1に示されているASドメイン1に属している。ネットワークデバイス105、ネットワークデバイス106、ネットワークデバイス107、ネットワークデバイス108、ネットワークデバイス109、及びネットワークデバイス110は、他のASドメインに属している、すなわち、図1に示されているASドメイン2に属している。ネットワークデバイス101は、ネットワークデバイス102、ネットワークデバイス103、及びネットワークデバイス104に個別に接続されている。ネットワークデバイス102は、ネットワークデバイス101、ネットワークデバイス103、ネットワークデバイス104、ネットワークデバイス105、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス103は、ネットワークデバイス101、ネットワークデバイス102、及びネットワークデバイス104に個別に接続されている。ネットワークデバイス104は、ネットワークデバイス101、ネットワークデバイス102、ネットワークデバイス103、ネットワークデバイス105、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス105は、ネットワークデバイス102、ネットワークデバイス104、ネットワークデバイス106、ネットワークデバイス108、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス107は、ネットワークデバイス102、ネットワークデバイス104、ネットワークデバイス105、ネットワークデバイス106、及びネットワークデバイス108に個別に接続されている。ネットワークデバイス106は、ネットワークデバイス105、ネットワークデバイス107、ネットワークデバイス109、及びネットワークデバイス108に個別に接続されている。ネットワークデバイス108は、ネットワークデバイス105、ネットワークデバイス106、ネットワークデバイス109、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス109は、ネットワークデバイス106、ネットワークデバイス108、及びネットワークデバイス110に個別に接続されている。ネットワークデバイス110は、ネットワークデバイス108及びネットワークデバイス109に個別に接続され、ネットワークデバイス110は、CEネットワークデバイス1に接続されている。ネットワークデバイス110、ネットワークデバイス105、及びネットワークデバイス107は、BGPピア(BGP Peer)である。ネットワークデバイス105、ネットワークデバイス102、及びネットワークデバイス104は、BGP Peerである。ネットワークデバイス102、ネットワークデバイス101、及びネットワークデバイス103は、BGP Peerである。コントローラ1は、ASドメイン1を管理するように構成される。コントローラ2は、ASドメイン2を管理するように構成される。例えば、ネットワークデバイス101等のASドメイン1の中のネットワークデバイスが、ある特定の要件を満たす経路に沿って、CEネットワークデバイス1にパケットを転送する必要がある場合に、ネットワークデバイス110は、そのパケットを転送する必要がある。ところが、ネットワークデバイス101及びネットワークデバイス110は、複数の異なるドメインの中に位置しているため、ネットワークデバイス101は、ネットワークデバイス109が位置しているASドメイン2のネットワークトポロジ構造を知らない。したがって、ネットワークデバイス101又はコントローラ1は、計算によって、その要件を満たす経路を取得することは不可能である。コントローラ1及びコントローラ2が通信することが可能である場合には、コントローラ1とコントローラ2との間の交渉を実行して、そのような経路を取得する必要がある。代替的に、ドメイン間コントローラが存在すると、一様な計算をによって、そのような転送経路を取得することが可能である。
上記の記載から、従来技術では、パケットのドメイン間の転送を実装するために、複数のコントローラは、互いに対話して、そのパケットの完全な転送経路を取得する必要があり、その次に、パケットの転送が完了するということを理解することが可能である。結果として、パケット転送制御プロセスの全体は複雑であり、それらの複数のコントローラが互いに通信することが不可能である場合には、そのパケットのドメイン間の転送を実装することはできない。
このことを考慮して、この出願のある1つの実施形態は、転送経路決定方法を提供して、上記の問題を解決する。
上記のシナリオは、理解を容易にするために示されているにすぎないということに留意すべきである。この出願のこの実施形態は、さらに、他のシナリオに適用されてもよい。本明細書においては、詳細は繰り返しては説明されない。
図2A及び図2Bは、この出願のある1つの実施形態にしたがった転送経路決定方法のフローチャートである。図2A及び図2Bに示されているように、この方法における対話は、主として、第1のネットワークデバイス、第2のネットワークデバイス、第3のネットワークデバイス、及び第4のネットワークデバイスを含む。第4のネットワークデバイスは、セグメントルーティングネットワークの中の入口ノードであってもよい。第1のネットワークデバイス及び第2のネットワークデバイスは、セグメントルーティングネットワークの中の通過ノードであってもよい。第3のネットワークデバイスは、セグメントルーティングネットワークの中の出口ノードであってもよい。第2のネットワークデバイス及び第1のネットワークデバイスは、異なるASドメインの中に位置していてもよい。第4のネットワークデバイス及び第1のネットワークデバイスは、同じドメインの中に位置していてもよい。
以下で、図2A及び図2Bに示されている方法を詳細に説明する。この実施形態においては、その方法は、図1に示されている適用シナリオに適用される。ネットワークデバイス110は、第3のネットワークデバイスとして機能し、ネットワークデバイス105は、第2のネットワークデバイスとして機能し、ネットワークデバイス102は、第1のネットワークデバイスとして機能し、ネットワークデバイス101は、第4のネットワークデバイスとして機能する。
このことは、ある1つの例であるにすぎないということを理解すべきである。当業者は、また、この実施形態を参照して、同様の置換及び適用を実行することが可能である。この出願においては、1つずつ例を示してはいない。
その方法は、以下のステップを含む。
ステップS200. 第3のネットワークデバイスは、第2のネットワークデバイスに第1のルーティング更新メッセージを送信し、そのルーティング更新メッセージは、宛先ネットワークデバイスの識別子を搬送する。
図1に示されている適用シナリオにおいては、ネットワークデバイス110は、ネットワークデバイス105に第1のルーティング更新メッセージを送信し、そのルーティング更新メッセージは、例えば、CE1が接続するネットワークのIPプレフィクス等の宛先ネットワークデバイスの識別子を搬送する。
ステップS201. 第2のネットワークデバイスは、第3のネットワークデバイスが送信する第1のルーティング更新メッセージを受信する。
随意的に、第2のネットワークデバイスは、ネットワーク性能識別子を取得する。
この出願のこの実施形態においては、ネットワーク性能識別子は、ネットワーク性能要件の識別子であり、ネットワーク性能要件は、複数のASドメインが理解することが可能であるあらかじめ定義されているネットワーク性能要件であってもよく、ネットワーク性能要件は、管理システムが構成するネットワーク性能要件であってもよい。
第2のネットワークデバイスがネットワーク性能識別子を取得する方式は、これらには限定されないが、以下の方式1、方式2、又は方式3のうちのいずれか1つを含んでもよい。
方式1: 第2のネットワークデバイスは、コントローラが送信する制御メッセージを受信し、そのメッセージは、ネットワーク性能識別子及びそのネットワーク性能識別子が示すネットワーク性能要件を搬送する。
方式2: 運用及び保守要員は、ネットワーク性能識別子及びそのネットワーク性能識別子が示すネットワーク性能要件を第2のネットワークデバイスにおいて手動で構成する。
方式3: 第2のネットワークデバイスは、(第3のネットワークデバイスは、第2のネットワークデバイスのBGP Peerである)第3のネットワークデバイスが送信するルーティング更新メッセージを受信し、ルーティング更新メッセージは、ネットワーク性能識別子を搬送する。
随意的に、ネットワーク性能識別子は、ルーティング更新メッセージのカラー拡張コミュニティ属性の中で搬送され、カラー(color)拡張コミュニティ属性の値は、ネットワーク性能識別子となっている。カラー拡張コミュニティ属性の詳細な内容については、文献コメントの要求(Request for Comments, RFC)draft-ietf-idr-tunnel-encaps-07を参照すべきである。この出願においては、詳細は説明されていない。
随意的に、ネットワーク性能要件は、待ち時間、パケット損失、帯域幅、及びジッタのネットワーク要件のうちの1つ又は複数である。
ある1つの例において、ネットワーク性能要件が待ち時間要件であるときに、その要件は、特に、例えば、待ち時間の小さい転送経路であってもよい。ネットワーク性能要件が帯域幅要件であるときに、その要件は、特に、例えば、可能であれば、帯域幅がより高いリンクを使用することである。そのネットワーク要件は、ネットワーク性能識別子として表現され、例えば、color=80は、使用される経路が、遅延メトリック(metric)の最小の総和を有するということを表してもよく、color=90は、使用される経路の利用可能な帯域幅の最小値が、例えば、1G等のあらかじめ設定されている値よりもより大きいということを表してもよい。
ステップS202. 第2のネットワークデバイスは、第1の転送経路を決定し、第1の転送経路は、第2のネットワークデバイスから第3のネットワークデバイスへの転送経路である。
ある1つの可能な実装において、第2のネットワークデバイスによって第1の転送経路を決定する方法は、第2のネットワークデバイスが、ネットワーク性能識別子及び内部ゲートウェイプロトコル(IGP)又はBGPゲートウェイプロトコルに基づいて、計算によって、第3のネットワークデバイスへの転送経路を取得することである。
ある1つの可能な実装において、第2のネットワークデバイスによって第1の転送経路を決定する方法は、第2のネットワークデバイスが、受信した第1のルーティング更新メッセージに基づいて、第2のネットワークデバイスが位置しているASドメインを管理するコントローラに第1の転送経路を要求することである。
随意的に、第1の転送経路は、ネットワーク性能識別子が要求するネットワーク性能を満たす。
随意的に、第1の転送経路は、セグメントルーティングネットワークの中の転送経路である。図3に示されているある1つの例において、ネットワークデバイス105が決定する第1の転送経路は、図3の中で、ネットワークデバイス105→ネットワークデバイス106→ネットワークデバイス109→ネットワークデバイス110の第1の転送経路301として示されている。言い換えると、ネットワークデバイス105は、第1転送経路301に沿ってネットワークデバイス110へとデータパケットを転送する。可能な場合には、第1の転送経路は、ネットワーク性能識別子color=80が示すネットワーク性能要件を満たす。
(随意的な)ステップS203. 第2のネットワークデバイスは、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間の第1のマッピング関係を生成し、バインディング識別子は、第2のネットワークデバイスのセグメント識別子を含む。
随意的に、セット識別子は、第2のネットワークデバイスのセグメント識別子のみを含み、セグメント識別子は、End.X SIDであってもよい。このことは、この出願においては特に限定されない。
随意的に、セット識別子は、第2のネットワークデバイスのセグメント識別子及び第1の転送経路にある複数のネットワークデバイスノードのうちの一部又はすべてのセグメント識別子を含む。
ある1つの例において、第2のネットワークデバイス105が生成する第1のマッピング関係が表1に示されている。A5::B510は、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子であり、識別子セット(A5::C506,A6::106,A10::D110)に対応する。第1のバインディングセグメント識別子は、ネットワークデバイス105からネットワークデバイス110への第1の転送経路を示す。その識別子セットにおいて、A5::C506は、第2のネットワークデバイスのEnd.Xタイプセグメント識別子であり、A6::106は、ネットワークデバイス106のセグメント識別子であり、A10::D110は、ネットワークデバイス110のセグメント識別子である。
この出願のこの実施形態においては、ある1つの例として、SRv6に対応するバインディングセグメント識別子及びセグメント識別子の命名規則を使用しているということを理解すべきである。実際の適用においては、例えば、A5::B510は、10500であってもよく、A6::106は、10506であってもよいといったように、また、バインディングセグメント識別子又はセグメント識別子として、MPLSラベルを使用してもよい。この出願のこの実施形態の以下の説明において、ある1つの例として、SRv6に対応する方式を使用する。複数の例は、1つ1つは列挙されない。
第1のバインディングセグメント識別子のある特定の値は、第2のネットワークデバイスが生成するバインディングセグメント識別子であってもよく、コントローラが送信する制御メッセージから第2のネットワークデバイスが取得するバインディングセグメント識別子であってもよく、又は、規則にしたがって既存のローカルSIDリストから第2のネットワークデバイスが選択するバインディングセグメント識別子であってもよいということを理解すべきである。このことは、この出願においては特に限定されない。この出願のそれらの複数の実施態様において、他のデバイスに対応するバインディングセグメント識別子のある特定の値を取得するための方法は、この方法と同様である。詳細は、この出願の実施態様の他の部分においては説明されない。
ステップS205. 第2のネットワークデバイスは、第1のネットワークデバイスに第2のルーティング更新メッセージを送信し、第2のルーティング更新メッセージは、第1の識別子リストを搬送し、第1の識別子リストは、第1のバインディングセグメント識別子を搬送し、第1のネットワークデバイス及び第3のネットワークデバイスは、同じASドメインの中には存在しない。
ある1つの例において、第2のルーティング更新メッセージの中で搬送される第1の識別子リストは、A5::B510である。
随意的に、第2のルーティング更新メッセージは、さらに、ネットワーク性能識別子を搬送する。
第2のルーティング更新メッセージは、さらに、宛先ネットワークデバイスの識別子を搬送するということを理解すべきである。
この出願のこの実施形態において、第1のルーティング更新メッセージの中で第1の識別子リストを搬送するために、例えば、トラフィックエンジニアリングバインディングセグメント識別子属性(SR BSID Attribute)等の新たな経路属性を適用してもよく、したがって、その属性に対応する新たなタイプ(Type)が適用される必要がある。BGPルーティング更新メッセージ及び関連属性の定義については、インターネットエンジニアリングタスクフォース(英文: Internet Engineering Task Force, 略称: IETF)が定義する標準的なコメント要求RFC(英文: Request for Comments, 略称: RFC)4271を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
随意的に、第1のルーティング更新メッセージは、第1のタイプ長さ値(Type Length Value, TLV)を含み、第1のTLVは、第1の識別子リストを含む。
TLVは、符号化フォーマットであり、主として、タイプ(type)、長さ(length)、及び値(value)の3つのタイプの情報によって定義される。第1のTLVは、第1の識別子リストを搬送するTLVである。
ある1つの可能な実装において、第1のTLVは、他のTLVの中にネストされているTLVであってもよい、すなわち、他のTLVのサブTLV(sub-TLV)であってもよい。他の可能な実装において、第1のTLVは、代替的に、新たなトップTLV(top TLV)のサブTLVであってもよく、トップTLVは、他のTLVの内側にネストされていないTLVである。
随意的に、各々のTLVは、第1の識別子リストの中の1つの要素を搬送する。
図4は、第1のTLVのフォーマットの概略的な図である。第1のTLVのタイプは、上記で説明されているトラフィックエンジニアリングバインディングセグメント識別子属性の新たに適用されるタイプであってもよく、例えば、50であってもよい。第1のTLVの値は、第1の識別子リストの中の要素値を含んでもよい。例えば、第1のTLVは、識別子フィールドを含んでもよく、そのフィールドは、128ビットを占有してもよく、その識別子フィールドの値は、セグメント識別子であってもよく又はバインディングセグメント識別子であってもよい。
ある1つの可能な実装において、ネットワーク性能識別子及び上記の第1のTLVは、第2のTLVの中で搬送される。図5は、第2のTLVのフォーマットの概略的な図である。第2のTLVは、2つのサブTLVを含み、一方のTLVは、カラーTLVであり、カラーTLVは、カラーフィールドを含み、カラーフィールドの値は、ネットワーク性能識別子であり、ネットワーク性能識別子は、32ビットを占有してもよい。第2のTLVは、第1のTLVをさらに含み、第2のTLVのタイプは、トラフィックエンジニアリングバインディングセグメント識別子属性の新たに適用されるタイプであってもよく、例えば、50であってもよい。このことは、第2のTLVが、トラフィックエンジニアリングバインディングセグメント識別子属性のタイプであるということを示す。
当然のことながら、第2のTLVは、代替的に、他のトップTLVの中に含まれてもよい。トップTLVの概略的なフォーマットについては、同様に、図5に示されている第2のTLVのフォーマットを参照すべきである。この出願の本明細書においては、詳細は繰り返しては説明されない。
ある1つの可能な実装において、ネットワーク性能識別子は、第1のルーティング更新メッセージのカラー拡張コミュニティ属性で搬送される。この出願のこの実施形態において、第2のネットワークデバイスによって第1のネットワークデバイスにBGPルーティング更新メッセージを送信する方法は、セグメントリスト、バインディングセグメント識別子リスト、又は、セグメント識別子及びバインディングセグメント識別子を含むリストを伝送するのに使用され、セグメントリスト、バインディングセグメント識別子リスト、又は、セグメント識別子及びバインディングセグメント識別子を含むリストは、第2のネットワークデバイスから第3のネットワークデバイスへの転送経路を示す。このように、コントローラが存在しないか、又は、複数のコントローラが存在するが、複数のコントローラが互いに通信できないシナリオにおいては、ドメイン間の転送経路を決定する。このことは、パケット転送制御プロセスを単純化するのに役立つ。
ステップS211. 第1のネットワークデバイスは、第2のネットワークデバイスが送信する第2のルーティング更新メッセージを受信する。
上記の例を参照すると、第2のルーティング更新メッセージの中で搬送される第1の識別子リストは、A5::B510であり、バインディングセグメント識別子は、ネットワークデバイス105からネットワークデバイス110への転送経路を示す。
ステップS212. 第1のネットワークデバイスは、第2のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定し、第2の転送経路は、第1のネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第2の転送経路は、第1の転送経路を含む。
随意的に、第1のネットワークデバイスが、第2のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定することは、1. 第1のネットワークデバイスが、第1のネットワークデバイスから第2のネットワークデバイスへの転送経路を決定し、そして、2. 第1のネットワークが、第1のネットワークデバイスから第2のネットワークデバイスへの決定された転送経路に、第1の識別子リストが示す第1の転送経路を加えた転送経路を、第2の転送経路として決定する、ことを含む。
随意的に、第1のネットワークデバイスは、さらに、ネットワーク性能識別子を取得する。
第1のネットワークデバイスによってネットワーク性能識別子を取得する方法は、第2のネットワークデバイスによってネットワーク性能識別子を取得する方法と同様である。この出願のこの実施態様において、本明細書の中では、詳細は繰り返しては説明されない。
第1のネットワークデバイスによって第1のネットワークデバイスから第2のネットワークデバイスへの転送経路を決定する方法については、第2のネットワークデバイスによって第1の転送経路を決定する上記の方法を参照すべきである。この出願のこの実施態様において、本明細書の中では、詳細は繰り返しては説明されない。
図6に示されている例において、第2の転送経路は、図6に示されているように、ネットワークデバイス102→ネットワークデバイス105→ネットワークデバイス106→ネットワークデバイス109→ネットワークデバイス110の第2の転送経路601であってもよい。
(随意的な)ステップS213. 第1のネットワークデバイスは、第1のマッピング関係を生成する。
この出願のこの実施形態において、第1のネットワークデバイスは、以下の方式1又は方式2によって第1のマッピング関係を生成してもよい。
方式1: 第1のネットワークデバイスは、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間の第1のマッピング関係を生成する。
方式2: 第1のネットワークデバイスは、第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係を生成し、識別子セットは、第1のネットワークデバイスのセグメント識別子及び第1の識別子リストを含む。上記の例を参照して、表2に、第1のネットワークデバイスが方式1にしたがって生成する第1のマッピング関係を示し、表3に、第1のネットワークデバイスが方式2にしたがって生成する第1のマッピング関係を示す。第1のネットワークデバイスに対応する第1のバインディングセグメント識別子は、A2::B205であり、第1のネットワークデバイスのセグメント識別子は、End.X SIDである、すなわち、A2::C205であり、A5::B510は、第2のネットワークデバイスが第1のネットワークデバイスに送信する第1の識別子リストである。
ステップS215. 第1のネットワークデバイスは、第4のネットワークデバイスに第3のルーティング更新メッセージを送信し、第3のルーティング更新メッセージは、第2の識別子リストを搬送する。
第1のネットワークデバイスが第1のマッピング関係を生成する2つの方式と同様に、第1のネットワークデバイスが保持する第2の識別子リストは、また、2つの異なる特定の要素を含んでもよい。
第1のネットワークデバイスが、方式1にしたがって第1のマッピング関係を生成する場合に、第2の識別子リストは、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子及び第1の識別子リストを含む。
ある1つの例において、第1のマッピング関係が表2に対応しているときに、第2の識別子リストは、(A2::B205,A5::B510)である。
第1のネットワークデバイスが、方式2にしたがって第1のマッピング関係を生成する場合に、第2の識別子リストは、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子のみを含む。
ある1つの例において、第1のマッピング関係が表3に対応しているときに、第2の識別子リストは、(A2::B205)である。
同じASドメインの中では、一般的に、ルーティング更新メッセージの中で搬送される識別子リストを決定する1つのマッピング方式及び対応する方式のみを使用するということを理解すべきである。一方で、複数の異なるASドメインの中では、複数の異なる方法を構成してもよい。例えば、ASドメイン1及びASドメイン2の中では、複数の異なる方式を使用する。詳細はこの出願においては説明されていない。
随意的に、第3のルーティング更新メッセージは、さらに、ネットワーク性能識別子を搬送する。
第3のルーティング更新メッセージの中で第2の識別子リストを搬送する方式は、第2のルーティング更新メッセージの中で第1の識別子リストを搬送する方式と同じであるということを理解すべきである。この出願においては、本明細書の中では、詳細は繰り返しては説明されない。
ステップS221. 第4のネットワークデバイスは、第1のネットワークデバイスが送信する第3のルーティング更新メッセージを受信する。
上記の例を参照すると、第3のルーティング更新メッセージの中で搬送される第2の識別子リストは、
表現方式1: (A2::B205,A5::B510); 及び、
表現方式2: (A2::B205)
となってもよい。
ステップS212. 第4のネットワークデバイスは、第3のルーティング更新メッセージの中で搬送される第2の識別子リストに基づいて、第3の転送経路を決定し、第3の転送経路は、第4のネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第3の転送経路は、第2の識別子リストが示す第2の転送経路を含む。第4のネットワークデバイスは、この出願のこの実施形態におけるセグメントルーティングネットワークの中の入口ノードであるということを理解すべきである。
第4のネットワークデバイスが第3の転送経路を決定する方式は、第1のネットワークデバイスが第2の転送経路を決定する方式と同様である。詳細については、ステップS212及び関連する随意的な方式を参照すべきである。この出願のこの実施態様において、本明細書の中では、詳細は繰り返しては説明されない。
ある1つの例において、第2の識別子リストの上記の2つの表現方式に対応して、表4及び表5に、第4のネットワークデバイスが生成する第1のマッピング関係を個別に示す。すなわち、第2の識別子リストが、(A2::B205,A5::B510)であるときに、表4に、第4のネットワークデバイスが生成する第1のマッピング関係を示す。第2の識別子リストが(A2::B205)であるときに、表5に、第4のネットワークデバイスが生成する第1のマッピング関係を示す。
(随意的な)ステップS224. 第4のネットワークデバイス101は、セグメントルーティングネットワークの中の入口ノードであるため、第4のネットワークデバイスは、さらに、第2のマッピング関係及び第3のマッピング関係を生成する。
随意的に、第2のマッピング関係は、第1のネットワークデバイスに対応する第2のバインディングセグメント識別子と宛先ネットワークデバイスの識別子との間のマッピング関係である。
ある1つの例において、表6に、第2のマッピング関係を示す。宛先ネットワークデバイスの識別子は、第3のルーティング更新メッセージにおける終端プレフィックス識別子20/8であり、第2のバインディングセグメント識別子A1::B110は、第4のネットワークデバイス101から第1のネットワークデバイス110への転送経路を示す。
随意的に、第2のマッピング関係は、ネットワーク性能識別子をさらに含む。表7に、第2のマッピング関係を示す。ネットワーク性能識別子は80であり、例えば、可能であれば、より小さなネットワーク待ち時間等のある属性のネットワーク性能要件を表す。
随意的に、第4のネットワークデバイスが生成する第3のマッピング関係は、第2のバインディングセグメント識別子とバインディングセグメント識別子セットとの間のマッピング関係であり、バインディングセグメント識別子セットは、第4のネットワークデバイスに対応する第1のバインディングセグメント識別子及び第2の識別子リストを含む。代替的に、バインディングセグメント識別子セットは、第4のネットワークデバイスに対応する第1のバインディングセグメント識別子のみを含む。
ある1つの例において、第2の識別子リストが、(A2::B205,A5::B510)であるときに、表8に、第4のネットワークデバイスが生成する第3のマッピング関係を示す。第2の識別子リストが(A2::B205)であるときに、表9に、第4のネットワークデバイスが生成する第3のマッピング関係を示す。
(随意的な)ステップS225. 第4のネットワークデバイスは、第1のデータパケットを受信し、そのデータパケットは、宛先ネットワークデバイスの識別子を搬送する。
随意的に、第1のデータパケットは、さらに、ネットワーク性能識別子を搬送する。
(随意的な)ステップS229. 第4のネットワークデバイスは、第2のマッピング関係及び第3のマッピング関係に基づいて、第1のネットワークデバイスに第1のデータパケットを転送する。
第4のネットワークデバイスは、表6又は表7の第2のマッピング関係に基づいて、第1のデータパケットに対応する第2のバインディングセグメント識別子を決定し、そして、その決定された第2のバインディングセグメント識別子に基づいて、第3のマッピング関係及び第2のバインディングセグメント識別子に対応するバインディングセグメント識別子セットを探索し、第2のバインディングセグメント識別子は、第4のネットワークデバイスから第3のネットワークデバイスへの転送経路を示す。
第4のネットワークデバイスは、第1のデータパケットの中でバインディングセグメント識別子セットを搬送し、さらに、そのバインディングセグメント識別子セットうちの第4のネットワークデバイスに対応する(例えば、A1::B102等の)第1のバインディングセグメント識別子を使用することによって、(例えば、表4又は表5の)第1のマッピング関係を照会し、そして、関連する操作を実行する。ここで採用されているセグメントルーティングネットワーク処理方法は、従来の処理方法であり、この出願において、本明細書の中では、詳細は繰り返しては説明されない。
随意的に、第1のネットワークデバイスは、第4のネットワークデバイスが送信する第1のデータパケットを受信し、そのデータパケットは、第1のネットワークデバイスに対応する(例えば、A2::B205等の)バインディングセグメント識別子を搬送する。
(随意的な)ステップS239. 第1のネットワークデバイスに含まれるマッピング関係に基づいて、関連する操作を実行した後に、第1のネットワークデバイスは、第2のネットワークデバイスに第1のデータパケットを転送する。
随意的に、第2のネットワークデバイスは、第1のネットワークデバイスが送信する第1のデータパケットを受信し、そのデータパケットは、第2のネットワークデバイスに対応する(例えば、A5::B510等の)バインディングセグメント識別子を搬送する。
(随意的な)ステップS249. 第2のネットワークデバイスに含まれる第1のマッピング関係に基づいて、関連する操作を実行した後に、第2のネットワークデバイスは、第3のネットワークデバイスに第1のデータパケットを転送する。
この出願の複数の実施形態にしたがった転送経路決定方法は、上記で説明されている。以下の記載は、この出願のそれらの複数の実施形態にしたがった第1のネットワークデバイス及び第2のネットワークデバイスを説明する。
図7は、この出願のある1つの実施形態にしたがった第1のネットワークデバイス700である。その第1のネットワークデバイス700は、図2A及び図2Bに示されている第1のネットワークデバイス(通過ノード)及び第4のネットワークデバイス(入口ノード)によって実行される方法を実行することが可能である。第1のネットワークデバイス700は、受信ユニット701、処理ユニット702、送信ユニット703、及び取得ユニット704を含む。第1のネットワークデバイス700が、ネットワークの中の通過ノードであるときに、受信ユニット701は、例えば、図2A及び図2Bの実施形態におけるステップS211を実行するように構成されてもよく、処理ユニット702は、例えば、図2A及び図2Bの実施形態におけるステップS212及びステップS213を実行するように構成されてもよく、送信ユニット703は、例えば、図2A及び図2Bの実施形態におけるステップS215を実行するように構成されてもよく、取得ユニット704は、第1のネットワークデバイスが、図2A及び図2Bに示されている方法において、ネットワーク性能識別子を取得するステップ及び随意的な方法を実行するように構成されてもよい。第1のネットワークデバイス700が、ネットワークの中の入口ノードであるときに、受信ユニット701は、例えば、図2A及び図2Bの実施形態におけるステップS215及びステップS225を実行するように構成されてもよく、処理ユニット702は、例えば、図2A及び図2Bの実施形態におけるステップS222、ステップS223、及びステップS224を実行するように構成されてもよく、送信ユニット703は、例えば、図2A及び図2Bの実施形態におけるステップS229を実行するように構成されてもよく、取得ユニット704は、第4のネットワークデバイスが、図2A及び図2Bに示されている方法において、ネットワーク性能識別子を取得するステップ及び随意的な方法を実行するように構成されてもよい。
図7の実施形態によって提供される第1のネットワークデバイスが、転送経路の上記の決定を実行するときに、上記の複数の機能ユニットへの分割は、説明のためのある1つの例として使用されるにすぎないということに留意すべきである。実際の適用においては、必要に応じて、実装のために、複数の異なる機能ユニットに上記の複数の機能を割り当ててもよい。言い換えると、第1のネットワークデバイスの内部構造は、複数の異なる機能ユニットに分割されて、上記で説明されている複数の機能のすべて又は一部を実装する。代替的に、一体化された機能ユニットは、上記の複数のユニットの機能を実現するのに使用される。上記の実施形態によって提供される第1のネットワークデバイス及び上記の転送経路決定方法の実施形態は、同じ概念に属するということを理解すべきである。第1のネットワークデバイスのユニットが実行する複数のステップは、説明のための例として使用されているにすぎず、このことは、第1のネットワークデバイスの複数のユニットが、上記の複数の実施形態において、他のステップ又は随意的な方法を実行しないということを意味するものではない。ある特定の実装プロセスについては、方法の実施形態を参照すべきであり、本明細書においては、詳細は繰り返しては説明されない。
図8は、この出願のある1つの実施形態にしたがった第2のネットワークデバイス800である。その第2のネットワークデバイス800は、図2A及び図2Bに示されている方法を実行してもよい。第2のネットワークデバイス800は、処理ユニット802、送信ユニット803、受信ユニット801、及び取得ユニット804を含む。処理ユニット802は、例えば、図2A及び図2Bの実施形態におけるステップS202及びステップS203を実行するように構成されてもよい。送信ユニット803は、例えば、図2A及び図2Bの実施形態におけるステップS215及びステップS239を実行するように構成されてもよい。受信ユニット801は、ステップS211を実行するように構成されてもよい。取得ユニット804は、図2A及び図2Bに示されている方法においてネットワーク性能識別子を取得するためのステップ及び随意的な方法を実行するように構成されてもよい。
図8の実施形態によって提供される第2のネットワークデバイスが、転送経路の上記の決定を実行するときに、上記の複数の機能ユニットへの分割は、説明のためのある1つの例として使用されるにすぎないということに留意すべきである。実際の適用においては、必要に応じて、実装のために、複数の異なる機能ユニットに上記の複数の機能を割り当ててもよい。すなわち、第2のネットワークデバイスの内部構造は、複数の異なる機能ユニットに分割されて、上記で説明されている複数の機能のすべて又は一部を実装する。代替的に、一体化された機能ユニットは、上記の複数のユニットの機能を実現するのに使用される。上記の実施形態によって提供される第2のネットワークデバイス及び上記の転送経路決定方法の実施形態は、同じ概念に属するということを理解すべきである。第2のネットワークデバイスのユニットが実行する複数のステップは、説明のための例として使用されているにすぎず、このことは、第2のネットワークデバイスの複数のユニットが、上記の複数の実施形態において、他のステップ又は随意的な方法を実行しないということを意味するものではない。ある特定の実装プロセスについては、方法の実施形態を参照すべきであり、本明細書においては、詳細は繰り返しては説明されない。
この出願の複数の実施形態にしたがった第1のネットワークデバイス及び第2のネットワークデバイスは、上記で説明されている。以下の記載は、第1のネットワークデバイス及び第2のネットワークデバイスの可能な製品形態を説明する。図7における第1のネットワークデバイスの特徴を有するいずれかの形態のいずれかの製品及び図8における第2のネットワークデバイスの特徴を有するいずれかの形態のいずれかの製品は、この出願の保護の範囲に属するということを理解すべきである。さらに、以下の説明は、ある1つの例であるにすぎず、この出願の複数の実施形態にしたがった第1のネットワークデバイス及び第2のネットワークデバイスの製品形態を限定するものではないということを理解すべきである。
ある1つの可能な製品形態において、一般的なバスアーキテクチャを使用することによって、この出願のそれらの複数の実施形態にしたがった第1のネットワークデバイス又は第2のネットワークデバイスを実装することが可能である。
図9に示されているように、この出願のある1つの実施形態は、第1のネットワークデバイスを提供する。第1のネットワークデバイス900は、プロセッサ901、メモリ902、及びトランシーバ903を含む。メモリ902は、少なくとも1つの命令を格納し、プロセッサ901は、命令をロードするように構成され、それによって、第1のネットワークデバイス900は、上記の転送経路決定方法を実行する。プロセッサ901、メモリ902、及びトランシーバ903は、バスを介して接続されてもよい。
プロセッサ901は、中央処理ユニット(central processing unit, CPU)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、又はこの出願の複数の解決方法のプログラムの実行を制御するように構成される1つ又は複数の集積回路であってもよい。
メモリ902は、これらには限定されないが、静的な情報及び命令を格納することが可能である読み取り専用メモリ(read-only memory, ROM)又は他のタイプの静的な記憶デバイス、或いは、情報及び命令を格納することが可能であるランダムアクセスメモリ(random access memory, RAM)又は他のタイプの動的な記憶デバイスであってもよく、或いは、電気的に消去可能な且つプログラム可能な読み取り専用メモリ(electrically erasable programmable read-only memory, EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory, CD-ROM)又は他のコンパクトディスク記憶装置、(コンパクトディスク、レーザディスク、光ディスク、ディジタル多用途ディスク、又はブルーレイディスク等を含む)光ディスク記憶装置、磁気ディスク記憶媒体又は他の磁気記憶デバイス、或いは、命令又はデータ構造の形態で予期されるプログラムコードを搬送し又は格納するのに使用されてもよく、且つ、コンピュータによってアクセスすることが可能である他の媒体であってもよい。
図10に示されているように、この出願のある1つの実施形態は、第2のネットワークデバイス1000を提供する。第2のネットワークデバイス1000は、プロセッサ1001、メモリ1002、及びトランシーバー1003を含む。メモリ1002は、少なくとも1つの命令を格納し、プロセッサ1001は、命令をロードするように構成され、それによって、第2のネットワークデバイス1000は、上記の転送経路決定方法を実行する。プロセッサ1001、メモリ1002、及びトランシーバー1003は、バスによって接続されてもよい。プロセッサ1001の製品形態は、プロセッサ901の製品形態と同様であり、メモリ1002の製品形態は、メモリ902の製品形態と同様である。本明細書においては、詳細は説明されない。
ある1つの可能な製品形態において、この出願のこの実施形態にしたがった第1のネットワークデバイス又は第2のネットワークデバイスは、汎用プロセッサによって実装されてもよい。
第1のネットワークデバイスを実装するための汎用プロセッサは、処理回路と、出力インターフェイス及び入力インターフェイスと、を含み、それらの出力インターフェイス及び入力インターフェイスは、処理回路に内部的に接続されるとともに処理回路との間で通信を行う。処理回路は、ステップS212、ステップS213、ステップS222、ステップS223、及びステップS224を実行するように構成される。処理回路は、入力インターフェイスを制御して、ステップS211又はステップS221を実行するように構成される。処理回路は、さらに、出力インターフェイスを制御して、ステップS215及びステップS239又はステップS229を実行するように構成される。汎用プロセッサは、記憶媒体をさらに含み、その記憶媒体は、処理回路が実行する命令を格納するように構成される。
第2のネットワークデバイスを実装するための汎用プロセッサは、処理回路と、入力インターフェイス及び出力インターフェイスと、を含み、それらの入力インターフェイス及び出力インターフェイスは、処理回路に内部的に接続されるとともに処理回路との間で通信を行う。処理回路は、出力インターフェイスを制御して、ステップS205を実行するか又はステップS249を実行するように構成される。随意的に、処理回路は、さらに、入力インターフェイスを制御して、ステップS201及びステップS249を実行するように構成され、処理回路は、さらに、ステップS202及びステップS203を実行する。随意的に、汎用プロセッサは、記憶媒体をさらに含んでもよく、その記憶媒体は、処理回路が実行する命令を格納するように構成される。
ある1つの可能な製品形態において、この出願のこの実施形態にしたがって置き換えられる第1のネットワークデバイス又は第2のネットワークデバイスは、代替的に、1つ又は複数のフィールドプログラマブルゲートアレイ(英文正式名称: field-programmable gate array, 英文略称: FPGA)、プログラム可能な論理デバイス(英文正式名称: programmable logic device, 英文略称: PLD)、コントローラ、状態マシン、ゲート論理、個別のハードウェア構成要素、いずれかの他の適切な回路、又は、この出願によって説明されているさまざまな機能を実行することが可能である回路のいずれかの組み合わせを使用することによって実装されてもよい。
上記の製品形態での第1のネットワークデバイス又は第2のネットワークデバイスは、それぞれ、上記の転送経路決定方法の実施形態における第1のネットワークデバイス又は第2のネットワークデバイスの機能を有するということを理解すべきである。本明細書においては、詳細は繰り返しては説明されない。
当業者は、本明細書において開示されている複数の実施形態において説明されている複数の例と組み合わせて、電子的なハードウェア、コンピュータソフトウェア、又はそれらの組み合わせによって、複数の方法のステップ及びユニットを実装することが可能であるということを認識することが可能である。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、上記の説明は、機能にしたがって、各々の実施形態のステップ及び構成を一般的に説明してきた。それらの複数の機能がハードウェアによって実行されるか又はソフトウェアによって実行されるかは、それらの複数の技術的解決方法の特定の用途及び設計上の制約条件によって決まる。当業者は、各々の特定の用途について、複数の異なる方法を使用して、複数の説明されている機能を実装することが可能であるが、その実装は、この出願の範囲を超えるものであると解釈されるべきではない。
簡便かつ簡単な説明の目的で、上記で説明されているシステム、装置、及びユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照すべきであるということを当業者は明確に理解することが可能であり、本明細書においては、詳細は繰り返しては説明されない。
この出願によって提供される複数の実施形態のうちのいくつかにおいて、開示されている装置及び方法は、他の方法によって実装されてもよいということを理解すべきである。例えば、説明されている装置の実施形態は、ある1つの例であるにすぎない。例えば、ユニットの分割は、論理的な機能の分割であるにすぎず、実際の実装の際には他の分割であってもよい。例えば、複数のユニット又は構成要素を組み合わせ又は一体化して、他のシステムとしてもよく、或いは、複数の特徴のうちのいくつかは、無視されてもよく又は実行されなくてもよい。加えて、示され又は説明されている相互の結合、直接的な結合、又は、通信接続は、いくつかのインターフェイスによって実装されてもよい。電気的な形態、機械的な形態、又は他の形態によって、複数の装置又はユニットの間の間接的な結合又は通信接続を実装してもよい。
個別の部分として説明されている複数のユニットは、物理的に分離されていてもよく、また、複数のユニットとして示されている複数の部分は、複数の物理的なユニットであってもよく又は複数の物理的なユニットでなくてもよく、1つの場所に位置していてもよく、又は、複数のネットワークユニットにわたって分散されていてもよい。実際の要件に基づいて、それらの複数のユニットのうちの一部又はすべてを選択して、この出願のそれらの複数の実施形態における複数の解決方法の目的を達成してもよい。
加えて、この出願のそれらの複数の実施形態における処理ユニットは、複数の機能ユニットに分散されていてもよく、又は、1つの処理ユニットの中に一体化されていてもよい。それらの複数のユニットの各々は、物理的に単独で存在していてもよく、又は、2つ又はそれ以上のユニットを一定化して、1つのユニットとしてもよい。その一体化されたユニットは、ハードウェアの形態で実装されてもよく、又は、ソフトウェア機能ユニットの形態で実装されてもよい。
一体化されたユニットがソフトウェア機能ユニットの形態で実装され、独立した製品として販売され又は使用されるときに、その一体化されたユニットは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよい。このような理解に基づいて、この出願の複数の技術的解決方法は、本質的に、或いは、従来技術に寄与する部分、或いは、それらの複数の技術的解決方法のうちのすべて又は一部は、ソフトウェア製品の形態で実装されてもよい。コンピュータソフトウェア製品は、記憶媒体の中に格納されるとともに、いくつかの命令を含み、それらのいくつかの命令は、この出願のそれらの複数の実施形態において説明されている方法の複数のステップのうちのすべて又は一部を実行するように(パーソナルコンピュータ、サーバ、又はネットワークデバイスであってもよい)コンピュータデバイスに指示する。上記の記憶媒体は、例えば、USBフラッシュドライブ、取り外し可能なハードディスク、読み取り専用メモリ(read-only memory, ROM)、ランダムアクセスメモリ(random access memory, RAM)、磁気ディスク、又は光ディスク等のプログラムコードを格納することが可能であるいずれかの媒体を含む。
上記の説明は、この出願の特定の実施形態であるにすぎないが、この出願の保護の範囲を限定することを意図してはいない。この出願の中で開示されている技術的範囲の中で当業者が容易に考え出すことが可能である等価な修正又は置換は、この出願の保護の範囲に属する。したがって、この出願の保護の範囲は、特許請求の範囲の保護の範囲にしたがうものとする。
ソフトウェア、ハードウェア、ファームウェア、又はそれらのいずれかの組み合わせを使用することによって、上記の複数の実施形態のすべて又は一部を実装してもよい。ソフトウェアがそれらの複数の実施形態を実装するのに使用されるときに、コンピュータプログラム製品の形態で、それらの複数の実施形態を全体的に又は部分的に実装してもよい。コンピュータプログラム製品は、1つ又は複数のコンピュータプログラム命令を含む。コンピュータプログラム命令をコンピュータにロードしそしてコンピュータによって実行するときに、この出願のそれらの複数の実施形態にしたがった手順又は機能を完全に又は部分的に生成する。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ読み取り可能な記憶媒体の中に格納されてもよく、或いは、あるコンピュータ読み取り可能な記憶媒体から他のコンピュータ読み取り可能な記憶媒体に伝送されてもよい。例えば、有線方式によって又は無線方式によって、一方のウェブサイト、コンピュータ、サーバ、又はデータセンターから他方のウェブサイト、コンピュータ、サーバ、又はデータセンターへと、それらの複数のコンピュータプログラム命令を伝送してもよい。コンピュータ読み取り可能な記憶媒体は、コンピュータによってアクセス可能ないずれかの使用可能な媒体、或いは、1つ又は複数の使用可能な媒体を一体化したサーバ又はデータセンター等のデータ記憶デバイスであってもよい。使用可能な媒体は、(例えば、フロッピーディスク、ハードディスク、又は磁気テープ等の)磁気媒体、(例えば、ディジタルビデオディスク(digital video disc, DVD)等の)光媒体、或いは、(例えば、ソリッドステートドライブ等の)半導体媒体等であってもよい。
当業者は、ハードウェア又は関連するハードウェアに命令するプログラムを使用することによって、それらの複数の実施形態の複数のステップのうちのすべて又は一部を実装することが可能であるということを理解することが可能である。プログラムは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよく、記憶媒体は、読み取り専用メモリ、磁気ディスク、又は光ディスクを含んでもよい。
上記の説明は、この出願の随意的な実施態様であるにすぎないが、この出願を限定することを意図してはいない。この出願の趣旨及び原理から離れることなく行われる修正、等価な置換、又は改良等は、この出願の保護の範囲に属するものとする。
[関連出願への相互参照]
この出願は、2019年9月11日付で中国国家知的財産管理局に出願された"転送経路決定方法及び装置"と題された中国特許出願第201910860014.3号に基づく優先権を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
[技術分野]
この出願は、通信分野に関するとともに、転送経路決定方法及び装置に関する。
セグメントルーティング(Segment Routing, SR)は、ソースルーティングに基づいてネットワークにおいてデータパケットを転送するように設計されているプロトコルである。SRネットワークにおいては、SRをサポートするネットワークの中の入口ノードは、データパケットに順次的なセグメント識別子のグループを挿入して、そのデータパケットの転送経路を明示的に指定する。マルチプロトコルラベルスイッチング(Multi-Protocol Label Switching, MPLS)データプレーンに適用されるSRは、MPLSベースのセグメントルーティング(MPLS-SR又はSR-MPLS)と称される。インターネットプロトコルバージョン6(Internet Protocol Version 6, IPv6)データプレーンに適用されるSRは、IPv6ベースのセグメントルーティング(SRv6)と称される。
セグメント識別子(Segment ID, SID)は、セグメントを記述するIDであり、例えば、ノード又はリンクを表す。MPLS-SRの場合には、SIDは、MPLSラベルによって表され、一方で、SRv6の場合には、SIDは、128ビットの値で表される。
セグメント識別子リスト(Segment ID List)は、セグメント識別子のグループを含むリストである。データパケットを受信した後に、入口ノードは、そのデータパケットに1つのSIDリストを挿入して、転送経路を明示的に示す。
セグメント識別子は、エンドポイント層3クロスコネクトセグメント識別子(End.X SID, Endは、エンドポイントを示し、Xは、交差を示し、SIDは、セグメント識別子を示す)によって表されてもよい。SRネットワークの中のいずれかのノードについて、そのノードは、少なくとも1つのEnd.X SIDを広告してもよく、各々のEnd.X SIDは、そのノードに直接的に接続されているIP層リンクを識別するのに使用される。
バインディングセグメント識別子(Binding SID, BSID)は、SIDリストにバインディングされて、転送経路を示す。有効なBSIDを受信するときに、SRネットワークの中の入口ノードは、BSIDに関連する操作を実行する。IPv6セグメントルーティング(IPv6 Segment Routing, SRv6)ネットワークにおいて、定義されたBSIDに関連する操作は、複数の異なるBSID機能に基づいて、SRHを含む新たなSRHヘッダー(End.B6.Insert)又は新たな外部IPv6ヘッダー(End.B6.Encaps)を挿入することであってもよい。
実際の適用の場合には、セグメントルーティングネットワークは、ソースルーティングの技術に基づいているので、コントローラは、通常、入口ノードにBSID又はSIDリストを配信して、データパケット転送を制御する。
すなわち、従来技術においては、SRネットワークの中のデバイスは、関連するコントローラと対話して、要件を満たす転送経路を取得する必要がある。その転送経路が複数のドメインを横断する転送経路であるときに、指定された転送経路は、複数のコントローラの間での対話によってさらに決定される。ところが、いかなるコントローラも利用可能ではないとき、又は、担当するドメインが異なっている2つのコントローラが互いに通信することが不可能であるときに、その要件に合致する転送経路を取得することは不可能である。
この出願は、転送経路決定方法及び装置を提供して、ドメイン間のパケット転送のための入口ノードがコントローラとの対話に依存するか、又は、コントローラなしではドメイン間のパケット転送を実装することが不可能であるために、パケット転送制御プロセス全体が複雑になるという問題を解決する。
第1の態様によれば、転送経路決定方法が提供される。その方法は、第1のネットワークデバイスに適用される。第1のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスであってもよい。このことは、この出願においては特に限定されない。その方法は、以下のステップを含む。
第1のネットワークデバイスは、第2のネットワークデバイスが送信する第1のルーティング更新メッセージを受信し、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路であり、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属さず、そして、第1のネットワークデバイスは、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定し、第2の転送経路は、第1のネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第2の転送経路は、第1の転送経路を含む。
第1の態様によって提供される転送経路決定方法によれば、第2のネットワークデバイスから第3のネットワークデバイスへの転送経路を示す識別子リストは、第1のネットワークデバイスに伝送され、識別子リストは、セグメント識別子又はバインディングセグメント識別子を含み、それによって、コントローラが存在しないか、又は、複数のコントローラが存在するが、それらの複数のコントローラが互いに通信することが不可能であるシナリオにおいて、ドメイン間の転送経路を決定する。このことは、パケット転送制御プロセスを単純化するのに役立つ。
ある1つの可能な方式において、第1のネットワークデバイスは、ネットワーク性能識別子を取得する。第1のネットワークデバイスが、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定することは、第1のネットワークデバイスが、ネットワーク性能識別子及び第1の識別子リストに基づいて、第2の転送経路を決定することであって、第2の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たす、ことを含む。
ある1つの可能な方式において、第1のネットワークデバイスが、ネットワーク性能識別子を取得することは、ネットワーク性能識別子が、第1のルーティング更新メッセージの中で搬送され、第1のネットワークデバイスが、第1のルーティング更新メッセージからネットワーク性能識別子を取得すること、又は、第1のネットワークデバイスが、コントローラが送信する制御メッセージを受信し、そして、第1のネットワークデバイスが、制御メッセージからネットワーク性能識別子を取得すること、を含む。
上記の選択的な方式において、ネットワーク性能識別子は、第1のルーティング更新メッセージの中で搬送され、それによって、ネットワーク性能要件を有するサービスについては、さらに、そのネットワーク性能要件を満たす転送経路を決定してもよい。例えば、音声サービスが、可能であれば、より低い待ち時間を有する転送経路を必要とするときに、この方法によって、そのサービスのために、その性能要件を満たす第2の転送経路を決定してもよい。
ある1つの可能な方式において、第1のネットワークデバイスが、第1のルーティング更新メッセージに基づいて、第2の転送経路を決定した後に、当該方法は、第1のネットワークデバイスが、第1のマッピング関係を生成することをさらに含み、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるか、又は、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であり、識別子セットは、第1のネットワークデバイスのセグメント識別子及び第1の識別子リストを含む。
上記の選択的な方式において、その転送経路にある各々のネットワークデバイスにおいて、対応するバインディングセグメント識別子及びそのバインディングセグメント識別子が示す経路についてのマッピング関係を生成する。そのマッピング関係は、ネットワークデバイスのルーティングテーブル又は転送テーブルの中に格納されてもよい。したがって、データパケットを受信した後に、その転送経路にあるネットワークデバイスは、性能要件を満たす好ましい転送経路に沿ってそのデータパケットを転送することが可能である。
ある1つの可能な方式において、第1のルーティング更新メッセージは、宛先ネットワークデバイスの識別子をさらに含む。第1のネットワークデバイスが入口ノードであるときに、当該方法は、第1のネットワークデバイスが、第2のマッピング関係を生成することであって、第2のマッピング関係は、第1のネットワークデバイスに対応する第2のバインディングセグメント識別子と宛先ネットワークデバイスの識別子との間のマッピング関係である、ことと、第1のネットワークデバイスが、第3のマッピング関係を生成することであって、第3のマッピング関係は、第2のバインディングセグメント識別子とバインディングセグメント識別子セットとの間のマッピング関係であり、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子のみを含む、ことと、第1のネットワークデバイスが、データパケットを受信することであって、データパケットは、宛先ネットワークデバイスの識別子を搬送する、ことと、第1のネットワークデバイスが、第2のマッピング関係及び第3のマッピング関係に基づいて、第2の転送経路に沿ってデータパケットを転送することと、をさらに含む。
上記の選択的な方式において、データパケットを受信した後に、セグメントルーティングネットワークの中の入口ノードは、そのデータパケットを処理し、それによって、決定された転送経路にあるネットワークデバイスは、その決定された転送経路に沿ってデータパケットを転送することが可能である。さらに、その転送プロセスの中で既存の技術を使用して、その解決方法の複雑さを減少させる。
ある1つの可能な方式においては、ネットワーク性能要件は、待ち時間、帯域幅、パケット損失、及びジッタのうちの少なくとも1つを含む。
上記の選択的な方式において、ネットワーク管理者は、ネットワークの中の可能な限り多くのネットワーク性能要件を定義し、そして、さらに、それらのネットワーク性能要件を満たす転送経路を決定して、複数の異なるサービスの要件を満たすことが可能である。
ある1つの可能な方式において、第1の識別子リストは、第1のルーティング更新メッセージの第1のタイプ長さ値TLVの中で搬送される。
第1の転送経路を示す第1の識別子リストは、TLVの形態の第1のルーティング更新メッセージの中で搬送され、そのTLVは、再利用される。このことは、この解決方法の迅速な実装及びそのネットワークの中での迅速な展開に役立つ。
ある1つの可能な方式においては、第1のネットワークデバイスが、セグメントルーティングネットワークの中の通過ノードであるときに、第1のネットワークデバイスが、第1のルーティング更新メッセージに基づいて第2の転送経路を決定した後に、当該方法は、第1のネットワークデバイスが、第4のネットワークデバイスに、第2のルーティング更新メッセージを送信することであって、第2のルーティング更新メッセージは、第2の識別子リストを搬送する、ことをさらに含む。
ある1つの可能な方式において、第2のルーティング更新メッセージは、さらに、ネットワーク性能識別子を搬送する。
上記の選択的な方式において、セグメントルーティングネットワークの中の転送経路は、ルーティング更新メッセージを使用することによって伝送されてもよく、コントローラが入口ノードであるか又は入口ノードが自動的な計算を実行する方法を必然的には使用せず、それによって、ネットワークにおけるセグメントルーティング技術の適用は、より単純となる。
ある1つの可能な方式において、第1のマッピング関係が、第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、第1のマッピング関係が、第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子のみを含む。
ある1つの可能な方式において、第1のネットワークデバイス及び第2のネットワークデバイスは、異なる自律システムASドメインに属する。
上記の選択的な方式において、セグメントルーティングネットワークの中のネットワークデバイスは、BGPルーティング更新メッセージを使用することによって、セグメントルーティングネットワークの中の転送経路を伝送し、その転送経路は、複数のASドメインを横断する転送経路でさえある。ネットワークデバイスとコントローラとの間の通信によって又は複数のコントローラの間の通信によって、転送経路を決定する方法を必然的には使用しない。このことは、パケット転送制御プロセスを単純化するのに役立つ。
第2の態様によれば、転送経路決定方法が提供される。その方法は、第2のネットワークデバイスに適用される。第2のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスであってもよい。このことは、この出願においては特に限定されない。その方法は、以下のステップを含む。
第2のネットワークデバイスは、第1の識別子リストを決定し、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路であり、第2のネットワークデバイスは、第1のネットワークデバイスに第1のルーティング更新メッセージを送信し、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属していない。
第2の態様にしたがった転送経路決定方法においては、ルーティング更新メッセージは、SIDリスト、BSIDリスト、又は、SID及びBSIDを含むリストを伝送し、それらのSIDリスト、BSIDリスト、又は、SID及びBSIDを含むリストは、転送経路を示し、それによって、コントローラが存在しないか、又は、複数のコントローラが存在するが、それらの複数のコントローラが互いに通信することが不可能であるシナリオにおいて、また、この方法を使用することによって、ドメイン間の転送経路を決定することが可能である。このことは、パケット転送制御プロセスを単純化するのに役立つ。
ある1つの可能な方式において、第2のネットワークデバイスが、第1の識別子リストを決定する前に、当該方法は、第2のネットワークデバイスが、ネットワーク性能識別子を取得することと、第2のネットワークデバイスが、ネットワーク性能識別子に基づいて、第1の転送経路を決定することであって、第1の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たす、ことと、をさらに含む。
ある1つの可能な方式において、第2のネットワークデバイスが、ネットワーク性能識別子を取得することは、第2のネットワークデバイスが、第2のルーティング更新メッセージを受信し、そして、第2のネットワークデバイスが、第2のルーティング更新メッセージからネットワーク性能識別子を取得すること、又は、第2のネットワークデバイスが、コントローラが送信する制御メッセージを受信し、そして、第2のネットワークデバイスが、その制御メッセージからネットワーク性能識別子を取得すること、を含む。
ある1つの可能な方式において、ネットワーク性能要件は、待ち時間、帯域幅、パケット損失、及びジッタのうちの少なくとも1つを含む。
上記の選択的な方式において、ネットワーク性能要件を有するサービスについては、ネットワーク性能識別子を使用することによって、さらに、そのネットワーク性能要件を満たす転送経路を決定してもよい。例えば、音声サービスが、より低い待ち時間を有する転送経路を必要とするときに、この方法によって、そのサービスのために、その性能要件を満たす転送経路を決定してもよい。
ある1つの可能な方式において、第2のネットワークデバイスは、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間の第1のマッピング関係を生成し、セット識別子は、第2のネットワークデバイスのセグメント識別子を含み、第2のネットワークデバイスは、データパケットを受信し、データパケットは、第1のバインディングセグメント識別子を搬送し、第2のネットワークデバイスは、マッピング関係に基づいて、第1の転送経路に沿ってデータパケットを転送する。
ある1つの可能な方式において、第1の識別子リストは、第1のバインディングセグメント識別子を含む。
ある1つの可能な方式において、第1の識別子リストは、第1のルーティング更新メッセージの第1のタイプ長さ値TLVの中で搬送される。
上記の選択的な方式において、その転送経路にある各々のネットワークデバイスにおいて、対応するバインディングセグメント識別子及びそのバインディングセグメント識別子が示す経路についてのマッピング関係を生成する。そのマッピング関係は、ネットワークデバイスのルーティングテーブル又は転送テーブルの中に格納されてもよい。したがって、データパケットを受信した後に、その転送経路にあるネットワークデバイスは、性能要件を満たす好ましい転送経路に沿ってそのデータパケットを転送することが可能である。
第3の態様によれば、第1のネットワークデバイスが提供される。その第1のネットワークデバイスは、第1の態様又は第1の態様の選択的な方式のうちのいずれか1つにしたがって転送経路を決定する機能を有する。その機能は、ハードウェアに基づいて実装されてもよく、又は、対応するソフトウェアを実行するハードウェアに基づいて実装されてもよい。ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。第1のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスであってもよい。このことは、この出願においては特に限定されない。
第1のネットワークデバイスは、第2のネットワークデバイスが送信する第1のルーティング更新メッセージを受信するように構成される受信ユニットであって、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路であり、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属していない、受信ユニットと、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定するように構成される処理ユニットであって、第2の転送経路は、当該ネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第2の転送経路は、第1の転送経路を含む、処理ユニットと、を含む。
ある1つの可能な方式において、第1のネットワークデバイスは、取得ユニットをさらに含み、前記取得ユニットは、ネットワーク性能識別子を取得するように構成され、対応して、処理ユニットが、第1のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定するように構成されることは、特に、処理ユニットが、ネットワーク性能識別子及び第1の識別子リストに基づいて、第2の転送経路を決定し、第2の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たすことである。
ある1つの可能な方式において、取得ユニットが、ネットワーク性能識別子を取得するように構成されることは、特に、ネットワーク性能識別子が、第1のルーティング更新メッセージの中で搬送され、取得ユニットが、第1のルーティング更新メッセージからネットワーク性能識別子を取得するように構成されることであるか、又は、受信ユニットが、さらに、コントローラが送信する制御メッセージを受信するように構成され、そして、取得ユニットが、制御メッセージからネットワーク性能識別子を取得するように構成されることである。
ある1つの可能な方式において、処理ユニットが、第1のルーティング更新メッセージに基づいて、第2の転送経路を決定するように構成された後に、処理ユニットは、さらに、第1のマッピング関係を生成するように構成され、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるか、又は、第1のマッピング関係は、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であり、識別子セットは、第1のネットワークデバイスのセグメント識別子及び第1の識別子リストを含む。
ある1つの可能な方式において、第1のネットワークデバイスは、送信ユニットをさらに含み、第1のルーティング更新メッセージは、宛先ネットワークデバイスの識別子をさらに含む。第1のネットワークデバイスが入口ノードであるときに、処理ユニットは、さらに、第2のマッピング関係を生成するように構成され、第2のマッピング関係は、第1のネットワークデバイスに対応する第2のバインディングセグメント識別子と宛先ネットワークデバイスの識別子との間のマッピング関係であり、処理ユニットは、さらに、第3のマッピング関係を生成するように構成され、第3のマッピング関係は、第2のバインディングセグメント識別子とバインディングセグメント識別子セットとの間のマッピング関係であり、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、バインディングセグメント識別子セットは、第1のバインディングセグメント識別子のみを含み、受信ユニットは、さらに、データパケットを受信するように構成され、データパケットは、宛先ネットワークデバイスの識別子を搬送し、送信ユニットは、さらに、第2のマッピング関係及び第3のマッピング関係に基づいて、第2の転送経路に沿ってデータパケットを転送するように構成される。
ある1つの可能な方式においては、ネットワーク性能要件は、待ち時間、帯域幅、パケット損失、及びジッタのうちの少なくとも1つを含む。
ある1つの可能な方式において、第1の識別子リストは、第1のルーティング更新メッセージの第1のタイプ長さ値TLVの中で搬送される。
ある1つの可能な方式において、第1のネットワークデバイスが、セグメントルーティングネットワークの中の通過ノードであるときに、処理ユニットが、第1のルーティング更新メッセージに基づいて、第2の転送経路を決定した後に、送信ユニットは、さらに、第4のネットワークデバイスに、第2のルーティング更新メッセージを送信するように構成され、第2のルーティング更新メッセージは、第2の識別子リストを搬送する。
ある1つの可能な方式において、第1のマッピング関係が、第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子及び第1の識別子リストを含むか、又は、第1のマッピング関係が、第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係であるときに、第2の識別子リストは、第1のバインディングセグメント識別子のみを含む。
ある1つの可能な方式において、第1のネットワークデバイス及び第2のネットワークデバイスは、異なる自律システムASドメインに属する。
第4の態様によれば、第2のネットワークデバイスが提供される。その第2のネットワークデバイスは、第2の態様又は第2の態様の選択的な方式のうちのいずれか1つにしたがって転送経路を決定する機能を有する。第2のネットワークデバイスは、汎用サーバにおいて動作し、IP転送機能を有するルータ、スイッチ、又は仮想ネットワークデバイスである。このことは、この出願においては特に限定されない。
第2のネットワークデバイスは、第1の識別子リストを決定するように構成される処理ユニットであって、第1の識別子リストは、第2のネットワークデバイスから第3のネットワークデバイスへの第1の転送経路を示し、第1の識別子リストは、バインディングセグメント識別子を含み、第1の転送経路は、セグメントルーティングネットワークの中の転送経路である、処理ユニットと、第1のネットワークデバイスに第1のルーティング更新メッセージを送信するように構成される送信ユニットであって、第1のルーティング更新メッセージは、境界ゲートウェイプロトコルルーティング更新メッセージであり、第1のルーティング更新メッセージは、第1の識別子リストを搬送し、第1のネットワークデバイス及び第3のネットワークデバイスは、同じ自律システムASドメインには属していない、送信ユニットと、を含む。
ある1つの可能な方式において、第2のネットワークデバイスは、取得ユニットをさらに含む。処理ユニットが、第1の識別子リストを決定するように構成される前に、取得ユニットは、ネットワーク性能識別子を取得するように構成される。処理ユニットは、さらに、ネットワーク性能識別子に基づいて、第1の転送経路を決定するように構成され、第1の転送経路は、ネットワーク性能識別子が示すネットワーク性能要件を満たす。
ある1つの可能な方式において、第2のネットワークデバイスは、受信ユニットをさらに含み、取得ユニットが、ネットワーク性能識別子を取得するように構成されることは、特に、受信ユニットが、第2のルーティング更新メッセージを受信するように構成され、そして、取得ユニットが、第2のルーティング更新メッセージからネットワーク性能識別子を取得するように構成されることであるか、又は、受信ユニットが、コントローラが送信する制御メッセージを受信するように構成され、そして、取得ユニットが、制御メッセージからネットワーク性能識別子を取得するように構成されることである。
ある1つの可能な方式において、処理ユニットは、さらに、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間の第1のマッピング関係を生成するように構成され、セット識別子は、第2のネットワークデバイスのセグメント識別子を含み、受信ユニットは、さらに、データパケットを受信するように構成され、データパケットは、第1のバインディングセグメント識別子を搬送し、送信ユニットは、さらに、マッピング関係に基づいて、第1の転送経路に沿ってデータパケットを転送するように構成される。
ある1つの可能な方式において、第1の識別子リストは、第1のバインディングセグメント識別子を含む。
第5の態様によれば、第1のネットワークデバイスが提供され、その第1のネットワークデバイスは、プロセッサ、メモリ、及びトランシーバーを含む。メモリは、少なくとも1つの命令を格納し、プロセッサは、メモリの中のコンピュータ読み取り可能な命令を実行するように構成され、それによって、第1のネットワークデバイスは、第1の態様及び第1の態様の選択的な方式のうちのいずれか1つにしたがった転送経路決定方法を実行する。
第6の態様によれば、第2のネットワークデバイスが提供され、その第2のネットワークデバイスは、プロセッサ、メモリ、及びトランシーバーを含む。メモリは、少なくとも1つの命令を格納し、プロセッサは、メモリの中のコンピュータ読み取り可能な命令を実行するように構成され、それによって、第2のネットワークデバイスは、第2の態様及び第2の態様の選択的な方式のうちのいずれか1つにしたがった転送経路決定方法を実行する。
第7の態様によれば、コンピュータ読み取り可能な記憶媒体が提供される。その記憶媒体は、少なくとも1つの命令を格納し、その命令は、プロセッサによってロードされて、第1の態様及び第1の態様の選択的な方式のうちのいずれか1つにしたがった転送経路決定方法又は第2の態様にしたがった転送経路決定方法を実行する。
第8の態様によれば、コンピュータプログラムが提供される。そのコンピュータプログラムは、第1の態様及び第1の態様の選択的な方式のうちのいずれか1つにしたがった方法を実行するのに使用されるコンピュータプログラムを含む。
第9の態様によれば、コンピュータプログラムが提供される。そのコンピュータプログラムは、第2の態様及び第2の態様の選択的な方式のうちのいずれか1つにしたがった方法を実行するのに使用されるコンピュータプログラムを含む。
本発明の複数の技術的解決方法をより明確に説明するために、以下の記載は、それらの複数の実施形態の中で使用される複数の添付の図面を簡単に説明する。以下の説明の中の複数の添付の図面は、本発明の複数の実施形態のうちのいくつかを示しているにすぎず、当業者は、創造的な努力を行うことなく、それらの複数の添付の図面から他の技術的解決方法及び添付の図面を導き出すことが可能であるというということは明らかである。これらの複数の技術的解決方法及び複数の添付の図面は、また、本発明の範囲に属していると考えられるものとする。
この出願のある1つの実施形態にしたがった適用シナリオの概略的な図である。
この出願のある1つの実施形態にしたがった転送経路決定方法のフローチャートである。
この出願のある1つの実施形態にしたがった転送経路決定方法のフローチャートである。
この出願のある1つの実施形態にしたがった第1の転送経路の概略的な図である。
この出願のある1つの実施形態にしたがった第1のタイプ長さ値TLVの概略的な図である。
この出願のある1つの実施形態にしたがった第2のタイプ長さ値TLVの概略的な図である。
この出願のある1つの実施形態にしたがった第2の転送経路の概略的な図である。
この出願のある1つの実施形態にしたがった第1のネットワークデバイスの構成の概略的な図である。
この出願のある1つの実施形態にしたがった第2のネットワークデバイスの構成の概略的な図である。
この出願のある1つの実施形態にしたがった第1のネットワークデバイスの構成の概略的な図である。
この出願のある1つの実施形態にしたがった第2のネットワークデバイスの構成の概略的な図である。
当業者が本発明の複数の解決方法をより良好に理解することを可能とするために、以下の記載は、複数の添付の図面及び複数の実装を参照して、本発明の複数の実施形態をより詳細に説明する。
この出願のそれらの複数の実施形態において、"第1の"及び"第2の"等の語は、基本的に同じ機能を有する複数の同じ品目又は複数の同様の品目を判別するのに使用される。"第1の"、"第2の"、及び"n番目の"の間に論理的な順序依存性又は時間的な順序依存性は存在せず、数及び実行順序は限定されないということを理解すべきである。
この出願におけるリストは、1つの要素を含んでもよく、又は、複数の要素を含んでもよいということを理解すべきである。リストに含まれる要素の数は、この出願においては限定されない。
この出願におけるセットは、1つの要素を含んでもよく、又は、複数の要素を含んでもよいということを理解すべきである。セットに含まれる要素の数は、この出願においては限定されない。この出願は、MPLS-SRに適用されてもよく、又は、SRv6に適用されてもよいということを理解すべきである。このことは、この出願においては特に限定されない。
この出願における語は、以下のように説明される。
SRトラフィックエンジニアリング(SR Policy)に基づいて、入口ノードは、データパケットのパケットヘッダの中に、ネットワークにおけるそのデータパケットの転送経路に関する情報を埋め込む。このようにして、そのデータパケットは、指定されている経路に沿ってネットワークを横断することが可能である。1つのSR Policyは、入口ノードと宛先ノードとの間の最適化目標として定義され、(入口ノード(Head-end)、カラー(Color)、宛先ノード(End-point)等の)タプルを使用して、それらの入口ノード及び宛先ノードを識別することが可能である。1つのSR Policyは、1つ又は複数のBSIDに対応し、各々のBSIDは、1つ又は複数の候補経路(Candidate Paths, CP)に対応し、1つのCPは、1つ又は複数のセグメント識別子リスト(SID List)を含む。各々のセグメント識別子リストは、送信元から宛先への経路を示し、そして、内部ゲートウェイプロトコル(Interior Gateway Protocol, IGP)に基づいて計算される宛先ノードへのディフォルトの且つ最短の経路ではなく、指定されている経路に沿って転送を実行するためのネットワークの中の経路にある転送デバイスを示す。一般的に、1つのSR Policy及び対応するCPは、事前の構成により又は入口ノードによる自動的な計算により決定される。一般的に、1つのSR Policyは、優先的に、転送経路としてCPを選択する。ある特定の事前の構成方式は、コマンドラインを使用することによってデバイスに対してCPを構成すること、ネットワーク管理システムによって構成すること、又は、SDNコントローラによって構成することを含む。そのSR Policyに準拠するデータパケットを受信した後であって、そのパケットを転送する前に、その入口ノードは、そのSR Policyに対応するバインディングセグメント識別子(Binding Segment ID, BSID)及びそのBSIDに対応するセグメント識別子リストを解析する。対応するSRHは、そのデータパケットの中で搬送され、それによって、指定されている経路に沿って、そのパケットを転送することが可能である。
図1は、この出願のある1つの実施形態にしたがった適用シナリオの概略的な図である。図1に示されているシナリオにおいては、ネットワークデバイス101、ネットワークデバイス102、ネットワークデバイス103、及びネットワークデバイス104は、1つのASドメインに属している、すなわち、図1に示されているASドメイン1に属している。ネットワークデバイス105、ネットワークデバイス106、ネットワークデバイス107、ネットワークデバイス108、ネットワークデバイス109、及びネットワークデバイス110は、他のASドメインに属している、すなわち、図1に示されているASドメイン2に属している。ネットワークデバイス101は、ネットワークデバイス102、ネットワークデバイス103、及びネットワークデバイス104に個別に接続されている。ネットワークデバイス102は、ネットワークデバイス101、ネットワークデバイス103、ネットワークデバイス104、ネットワークデバイス105、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス103は、ネットワークデバイス101、ネットワークデバイス102、及びネットワークデバイス104に個別に接続されている。ネットワークデバイス104は、ネットワークデバイス101、ネットワークデバイス102、ネットワークデバイス103、ネットワークデバイス105、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス105は、ネットワークデバイス102、ネットワークデバイス104、ネットワークデバイス106、ネットワークデバイス108、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス107は、ネットワークデバイス102、ネットワークデバイス104、ネットワークデバイス105、ネットワークデバイス106、及びネットワークデバイス108に個別に接続されている。ネットワークデバイス106は、ネットワークデバイス105、ネットワークデバイス107、ネットワークデバイス109、及びネットワークデバイス108に個別に接続されている。ネットワークデバイス108は、ネットワークデバイス105、ネットワークデバイス106、ネットワークデバイス109、及びネットワークデバイス107に個別に接続されている。ネットワークデバイス109は、ネットワークデバイス106、ネットワークデバイス108、及びネットワークデバイス110に個別に接続されている。ネットワークデバイス110は、ネットワークデバイス109に個別に接続され、ネットワークデバイス110は、CEネットワークデバイス1に接続されている。ネットワークデバイス110、ネットワークデバイス105、及びネットワークデバイス107は、BGPピア(BGP Peer)である。ネットワークデバイス105、ネットワークデバイス102、及びネットワークデバイス104は、BGP Peerである。ネットワークデバイス102、ネットワークデバイス101、及びネットワークデバイス103は、BGP Peerである。コントローラ1は、ASドメイン1を管理するように構成される。コントローラ2は、ASドメイン2を管理するように構成される。例えば、ネットワークデバイス101等のASドメイン1の中のネットワークデバイスが、ある特定の要件を満たす経路に沿って、CEネットワークデバイス1にパケットを転送する必要がある場合に、ネットワークデバイス110は、そのパケットを転送する必要がある。ところが、ネットワークデバイス101及びネットワークデバイス110は、複数の異なるドメインの中に位置しているため、ネットワークデバイス101は、ネットワークデバイス110が位置しているASドメイン2のネットワークトポロジ構造を知らない。したがって、ネットワークデバイス101又はコントローラ1は、計算によって、その要件を満たす経路を取得することは不可能である。コントローラ1及びコントローラ2が通信することが可能である場合には、コントローラ1とコントローラ2との間の交渉を実行して、そのような経路を取得する必要がある。代替的に、ドメイン間コントローラが存在すると、一様な計算をによって、そのような転送経路を取得することが可能である。
上記の記載から、従来技術では、パケットのドメイン間の転送を実装するために、複数のコントローラは、互いに対話して、そのパケットの完全な転送経路を取得する必要があり、その次に、パケットの転送が完了するということを理解することが可能である。結果として、パケット転送制御プロセスの全体は複雑であり、それらの複数のコントローラが互いに通信することが不可能である場合には、そのパケットのドメイン間の転送を実装することはできない。
このことを考慮して、この出願のある1つの実施形態は、転送経路決定方法を提供して、上記の問題を解決する。
上記のシナリオは、理解を容易にするために示されているにすぎないということに留意すべきである。この出願のこの実施形態は、さらに、他のシナリオに適用されてもよい。本明細書においては、詳細は繰り返しては説明されない。
図2A及び図2Bは、この出願のある1つの実施形態にしたがった転送経路決定方法のフローチャートである。図2A及び図2Bに示されているように、この方法における対話は、主として、第1のネットワークデバイス、第2のネットワークデバイス、第3のネットワークデバイス、及び第4のネットワークデバイスを含む。第4のネットワークデバイスは、セグメントルーティングネットワークの中の入口ノードであってもよい。第1のネットワークデバイス及び第2のネットワークデバイスは、セグメントルーティングネットワークの中の通過ノードであってもよい。第3のネットワークデバイスは、セグメントルーティングネットワークの中の出口ノードであってもよい。第2のネットワークデバイス及び第1のネットワークデバイスは、異なるASドメインの中に位置していてもよい。第4のネットワークデバイス及び第1のネットワークデバイスは、同じドメインの中に位置していてもよい。
以下で、図2A及び図2Bに示されている方法を詳細に説明する。この実施形態においては、その方法は、図1に示されている適用シナリオに適用される。ネットワークデバイス110は、第3のネットワークデバイスとして機能し、ネットワークデバイス105は、第2のネットワークデバイスとして機能し、ネットワークデバイス102は、第1のネットワークデバイスとして機能し、ネットワークデバイス101は、第4のネットワークデバイスとして機能する。
このことは、ある1つの例であるにすぎないということを理解すべきである。当業者は、また、この実施形態を参照して、同様の置換及び適用を実行することが可能である。この出願においては、1つずつ例を示してはいない。
その方法は、以下のステップを含む。
ステップS200. 第3のネットワークデバイスは、第2のネットワークデバイスに第1のルーティング更新メッセージを送信し、そのルーティング更新メッセージは、宛先ネットワークデバイスの識別子を搬送する。
図1に示されている適用シナリオにおいては、ネットワークデバイス110は、ネットワークデバイス105に第1のルーティング更新メッセージを送信し、そのルーティング更新メッセージは、例えば、CE1が接続するネットワークのIPプレフィクス等の宛先ネットワークデバイスの識別子を搬送する。
ステップS201. 第2のネットワークデバイスは、第3のネットワークデバイスが送信する第1のルーティング更新メッセージを受信する。
随意的に、第2のネットワークデバイスは、ネットワーク性能識別子を取得する。
この出願のこの実施形態においては、ネットワーク性能識別子は、ネットワーク性能要件の識別子であり、ネットワーク性能要件は、複数のASドメインが理解することが可能であるあらかじめ定義されているネットワーク性能要件であってもよく、ネットワーク性能要件は、管理システムが構成するネットワーク性能要件であってもよい。
第2のネットワークデバイスがネットワーク性能識別子を取得する方式は、これらには限定されないが、以下の方式1、方式2、又は方式3のうちのいずれか1つを含んでもよい。
方式1: 第2のネットワークデバイスは、コントローラが送信する制御メッセージを受信し、そのメッセージは、ネットワーク性能識別子及びそのネットワーク性能識別子が示すネットワーク性能要件を搬送する。
方式2: 運用及び保守要員は、ネットワーク性能識別子及びそのネットワーク性能識別子が示すネットワーク性能要件を第2のネットワークデバイスにおいて手動で構成する。
方式3: 第2のネットワークデバイスは、(第3のネットワークデバイスは、第2のネットワークデバイスのBGP Peerである)第3のネットワークデバイスが送信するルーティング更新メッセージを受信し、ルーティング更新メッセージは、ネットワーク性能識別子を搬送する。
随意的に、ネットワーク性能識別子は、ルーティング更新メッセージのカラー拡張コミュニティ属性の中で搬送され、カラー(color)拡張コミュニティ属性の値は、ネットワーク性能識別子となっている。カラー拡張コミュニティ属性の詳細な内容については、文献コメントの要求(Request for Comments, RFC)draft-ietf-idr-tunnel-encaps-07を参照すべきである。この出願においては、詳細は説明されていない。
随意的に、ネットワーク性能要件は、待ち時間、パケット損失、帯域幅、及びジッタのネットワーク要件のうちの1つ又は複数である。
ある1つの例において、ネットワーク性能要件が待ち時間要件であるときに、その要件は、特に、例えば、待ち時間の小さい転送経路であってもよい。ネットワーク性能要件が帯域幅要件であるときに、その要件は、特に、例えば、可能であれば、帯域幅がより高いリンクを使用することである。そのネットワーク要件は、ネットワーク性能識別子として表現され、例えば、color=80は、使用される経路が、遅延メトリック(metric)の最小の総和を有するということを表してもよく、color=90は、使用される経路の利用可能な帯域幅の最小値が、例えば、1G等のあらかじめ設定されている値よりもより大きいということを表してもよい。
ステップS202. 第2のネットワークデバイスは、第1の転送経路を決定し、第1の転送経路は、第2のネットワークデバイスから第3のネットワークデバイスへの転送経路である。
ある1つの可能な実装において、第2のネットワークデバイスによって第1の転送経路を決定する方法は、第2のネットワークデバイスが、ネットワーク性能識別子及び内部ゲートウェイプロトコル(IGP)又はBGPゲートウェイプロトコルに基づいて、計算によって、第3のネットワークデバイスへの転送経路を取得することである。
ある1つの可能な実装において、第2のネットワークデバイスによって第1の転送経路を決定する方法は、第2のネットワークデバイスが、受信した第1のルーティング更新メッセージに基づいて、第2のネットワークデバイスが位置しているASドメインを管理するコントローラに第1の転送経路を要求することである。
随意的に、第1の転送経路は、ネットワーク性能識別子が要求するネットワーク性能を満たす。
随意的に、第1の転送経路は、セグメントルーティングネットワークの中の転送経路である。図3に示されているある1つの例において、ネットワークデバイス105が決定する第1の転送経路は、図3の中で、ネットワークデバイス105→ネットワークデバイス106→ネットワークデバイス109→ネットワークデバイス110の第1の転送経路301として示されている。言い換えると、ネットワークデバイス105は、第1転送経路301に沿ってネットワークデバイス110へとデータパケットを転送する。可能な場合には、第1の転送経路は、ネットワーク性能識別子color=80が示すネットワーク性能要件を満たす。
(随意的な)ステップS203. 第2のネットワークデバイスは、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子と識別子セットとの間の第1のマッピング関係を生成し、識別子セットは、第2のネットワークデバイスのセグメント識別子を含む。
随意的に、セット識別子は、第2のネットワークデバイスのセグメント識別子のみを含み、セグメント識別子は、End.X SIDであってもよい。このことは、この出願においては特に限定されない。
随意的に、セット識別子は、第2のネットワークデバイスのセグメント識別子及び第1の転送経路にある複数のネットワークデバイスノードのうちの一部又はすべてのセグメント識別子を含む。
ある1つの例において、第2のネットワークデバイス105が生成する第1のマッピング関係が表1に示されている。A5::B510は、第2のネットワークデバイスに対応する第1のバインディングセグメント識別子であり、識別子セット(A5::C506,A6::106,A10::D110)に対応する。第1のバインディングセグメント識別子は、ネットワークデバイス105からネットワークデバイス110への第1の転送経路を示す。その識別子セットにおいて、A5::C506は、第2のネットワークデバイスのEnd.Xタイプセグメント識別子であり、A6::106は、ネットワークデバイス106のセグメント識別子であり、A10::D110は、ネットワークデバイス110のセグメント識別子である。
この出願のこの実施形態においては、ある1つの例として、SRv6に対応するバインディングセグメント識別子及びセグメント識別子の命名規則を使用しているということを理解すべきである。実際の適用においては、例えば、A5::B510は、10500であってもよく、A6::106は、10506であってもよいといったように、また、バインディングセグメント識別子又はセグメント識別子として、MPLSラベルを使用してもよい。この出願のこの実施形態の以下の説明において、ある1つの例として、SRv6に対応する方式を使用する。複数の例は、1つ1つは列挙されない。
第1のバインディングセグメント識別子のある特定の値は、第2のネットワークデバイスが生成するバインディングセグメント識別子であってもよく、コントローラが送信する制御メッセージから第2のネットワークデバイスが取得するバインディングセグメント識別子であってもよく、又は、規則にしたがって既存のローカルSIDリストから第2のネットワークデバイスが選択するバインディングセグメント識別子であってもよいということを理解すべきである。このことは、この出願においては特に限定されない。この出願のそれらの複数の実施態様において、他のデバイスに対応するバインディングセグメント識別子のある特定の値を取得するための方法は、この方法と同様である。詳細は、この出願の実施態様の他の部分においては説明されない。
ステップS205. 第2のネットワークデバイスは、第1のネットワークデバイスに第2のルーティング更新メッセージを送信し、第2のルーティング更新メッセージは、第1の識別子リストを搬送し、第1の識別子リストは、第1のバインディングセグメント識別子を搬送し、第1のネットワークデバイス及び第3のネットワークデバイスは、同じASドメインの中には存在しない。
ある1つの例において、第2のルーティング更新メッセージの中で搬送される第1の識別子リストは、A5::B510である。
随意的に、第2のルーティング更新メッセージは、さらに、ネットワーク性能識別子を搬送する。
第2のルーティング更新メッセージは、さらに、宛先ネットワークデバイスの識別子を搬送するということを理解すべきである。
この出願のこの実施形態において、第1のルーティング更新メッセージの中で第1の識別子リストを搬送するために、例えば、トラフィックエンジニアリングバインディングセグメント識別子属性(SR BSID Attribute)等の新たな経路属性を適用してもよく、したがって、その属性に対応する新たなタイプ(Type)が適用される必要がある。BGPルーティング更新メッセージ及び関連属性の定義については、インターネットエンジニアリングタスクフォース(英文: Internet Engineering Task Force, 略称: IETF)が定義する標準的なコメント要求RFC(英文: Request for Comments, 略称: RFC)4271を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
随意的に、第1のルーティング更新メッセージは、第1のタイプ長さ値(Type Length Value, TLV)を含み、第1のTLVは、第1の識別子リストを含む。
TLVは、符号化フォーマットであり、主として、タイプ(type)、長さ(length)、及び値(value)の3つのタイプの情報によって定義される。第1のTLVは、第1の識別子リストを搬送するTLVである。
ある1つの可能な実装において、第1のTLVは、他のTLVの中にネストされているTLVであってもよい、すなわち、他のTLVのサブTLV(sub-TLV)であってもよい。他の可能な実装において、第1のTLVは、代替的に、新たなトップTLV(top TLV)のサブTLVであってもよく、トップTLVは、他のTLVの内側にネストされていないTLVである。
随意的に、各々のTLVは、第1の識別子リストの中の1つの要素を搬送する。
図4は、第1のTLVのフォーマットの概略的な図である。第1のTLVのタイプは、上記で説明されているトラフィックエンジニアリングバインディングセグメント識別子属性の新たに適用されるタイプであってもよく、例えば、50であってもよい。第1のTLVの値は、第1の識別子リストの中の要素値を含んでもよい。例えば、第1のTLVは、識別子フィールドを含んでもよく、そのフィールドは、128ビットを占有してもよく、その識別子フィールドの値は、セグメント識別子であってもよく又はバインディングセグメント識別子であってもよい。
ある1つの可能な実装において、ネットワーク性能識別子及び上記の第1のTLVは、第2のTLVの中で搬送される。図5は、第2のTLVのフォーマットの概略的な図である。第2のTLVは、2つのサブTLVを含み、一方のTLVは、カラーTLVであり、カラーTLVは、カラーフィールドを含み、カラーフィールドの値は、ネットワーク性能識別子であり、ネットワーク性能識別子は、32ビットを占有してもよい。第2のTLVは、第1のTLVをさらに含み、第2のTLVのタイプは、トラフィックエンジニアリングバインディングセグメント識別子属性の新たに適用されるタイプであってもよく、例えば、50であってもよい。このことは、第2のTLVが、トラフィックエンジニアリングバインディングセグメント識別子属性のタイプであるということを示す。
当然のことながら、第2のTLVは、代替的に、他のトップTLVの中に含まれてもよい。トップTLVの概略的なフォーマットについては、同様に、図5に示されている第2のTLVのフォーマットを参照すべきである。この出願の本明細書においては、詳細は繰り返しては説明されない。
ある1つの可能な実装において、ネットワーク性能識別子は、第1のルーティング更新メッセージのカラー拡張コミュニティ属性で搬送される。この出願のこの実施形態において、第2のネットワークデバイスによって第1のネットワークデバイスにBGPルーティング更新メッセージを送信する方法は、セグメントリスト、バインディングセグメント識別子リスト、又は、セグメント識別子及びバインディングセグメント識別子を含むリストを伝送するのに使用され、セグメントリスト、バインディングセグメント識別子リスト、又は、セグメント識別子及びバインディングセグメント識別子を含むリストは、第2のネットワークデバイスから第3のネットワークデバイスへの転送経路を示す。このように、コントローラが存在しないか、又は、複数のコントローラが存在するが、複数のコントローラが互いに通信できないシナリオにおいては、ドメイン間の転送経路を決定する。このことは、パケット転送制御プロセスを単純化するのに役立つ。
ステップS211. 第1のネットワークデバイスは、第2のネットワークデバイスが送信する第2のルーティング更新メッセージを受信する。
上記の例を参照すると、第2のルーティング更新メッセージの中で搬送される第1の識別子リストは、A5::B510であり、バインディングセグメント識別子は、ネットワークデバイス105からネットワークデバイス110への転送経路を示す。
ステップS212. 第1のネットワークデバイスは、第2のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定し、第2の転送経路は、第1のネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第2の転送経路は、第1の転送経路を含む。
随意的に、第1のネットワークデバイスが、第2のルーティング更新メッセージの中で搬送される第1の識別子リストに基づいて、第2の転送経路を決定することは、1. 第1のネットワークデバイスが、第1のネットワークデバイスから第2のネットワークデバイスへの転送経路を決定し、そして、2. 第1のネットワークが、第1のネットワークデバイスから第2のネットワークデバイスへの決定された転送経路に、第1の識別子リストが示す第1の転送経路を加えた転送経路を、第2の転送経路として決定する、ことを含む。
随意的に、第1のネットワークデバイスは、さらに、ネットワーク性能識別子を取得する。
第1のネットワークデバイスによってネットワーク性能識別子を取得する方法は、第2のネットワークデバイスによってネットワーク性能識別子を取得する方法と同様である。この出願のこの実施態様において、本明細書の中では、詳細は繰り返しては説明されない。
第1のネットワークデバイスによって第1のネットワークデバイスから第2のネットワークデバイスへの転送経路を決定する方法については、第2のネットワークデバイスによって第1の転送経路を決定する上記の方法を参照すべきである。この出願のこの実施態様において、本明細書の中では、詳細は繰り返しては説明されない。
図6に示されている例において、第2の転送経路は、図6に示されているように、ネットワークデバイス102→ネットワークデバイス105→ネットワークデバイス106→ネットワークデバイス109→ネットワークデバイス110の第2の転送経路601であってもよい。
(随意的な)ステップS213. 第1のネットワークデバイスは、第1のマッピング関係を生成する。
この出願のこの実施形態において、第1のネットワークデバイスは、以下の方式1又は方式2によって第1のマッピング関係を生成してもよい。
方式1: 第1のネットワークデバイスは、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子と第1のネットワークデバイスのセグメント識別子との間の第1のマッピング関係を生成する。
方式2: 第1のネットワークデバイスは、第1のバインディングセグメント識別子と識別子セットとの間のマッピング関係を生成し、識別子セットは、第1のネットワークデバイスのセグメント識別子及び第1の識別子リストを含む。上記の例を参照して、表2に、第1のネットワークデバイスが方式1にしたがって生成する第1のマッピング関係を示し、表3に、第1のネットワークデバイスが方式2にしたがって生成する第1のマッピング関係を示す。第1のネットワークデバイスに対応する第1のバインディングセグメント識別子は、A2::B205であり、第1のネットワークデバイスのセグメント識別子は、End.X SIDである、すなわち、A2::C205であり、A5::B510は、第2のネットワークデバイスが第1のネットワークデバイスに送信する第1の識別子リストである。
ステップS215. 第1のネットワークデバイスは、第4のネットワークデバイスに第3のルーティング更新メッセージを送信し、第3のルーティング更新メッセージは、第2の識別子リストを搬送する。
第1のネットワークデバイスが第1のマッピング関係を生成する2つの方式と同様に、第1のネットワークデバイスが保持する第2の識別子リストは、また、2つの異なる特定の要素を含んでもよい。
第1のネットワークデバイスが、方式1にしたがって第1のマッピング関係を生成する場合に、第2の識別子リストは、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子及び第1の識別子リストを含む。
ある1つの例において、第1のマッピング関係が表2に対応しているときに、第2の識別子リストは、(A2::B205,A5::B510)である。
第1のネットワークデバイスが、方式2にしたがって第1のマッピング関係を生成する場合に、第2の識別子リストは、第1のネットワークデバイスに対応する第1のバインディングセグメント識別子のみを含む。
ある1つの例において、第1のマッピング関係が表3に対応しているときに、第2の識別子リストは、(A2::B205)である。
同じASドメインの中では、一般的に、ルーティング更新メッセージの中で搬送される識別子リストを決定する1つのマッピング方式及び対応する方式のみを使用するということを理解すべきである。一方で、複数の異なるASドメインの中では、複数の異なる方法を構成してもよい。例えば、ASドメイン1及びASドメイン2の中では、複数の異なる方式を使用する。詳細はこの出願においては説明されていない。
随意的に、第3のルーティング更新メッセージは、さらに、ネットワーク性能識別子を搬送する。
第3のルーティング更新メッセージの中で第2の識別子リストを搬送する方式は、第2のルーティング更新メッセージの中で第1の識別子リストを搬送する方式と同じであるということを理解すべきである。この出願においては、本明細書の中では、詳細は繰り返しては説明されない。
ステップS221. 第4のネットワークデバイスは、第1のネットワークデバイスが送信する第3のルーティング更新メッセージを受信する。
上記の例を参照すると、第3のルーティング更新メッセージの中で搬送される第2の識別子リストは、
表現方式1: (A2::B205,A5::B510); 及び、
表現方式2: (A2::B205)
となってもよい。
ステップS222. 第4のネットワークデバイスは、第3のルーティング更新メッセージの中で搬送される第2の識別子リストに基づいて、第3の転送経路を決定し、第3の転送経路は、第4のネットワークデバイスから第3のネットワークデバイスへの転送経路であり、第3の転送経路は、第2の識別子リストが示す第2の転送経路を含む。第4のネットワークデバイスは、この出願のこの実施形態におけるセグメントルーティングネットワークの中の入口ノードであるということを理解すべきである。
第4のネットワークデバイスが第3の転送経路を決定する方式は、第1のネットワークデバイスが第2の転送経路を決定する方式と同様である。詳細については、ステップS212及び関連する随意的な方式を参照すべきである。この出願のこの実施態様において、本明細書の中では、詳細は繰り返しては説明されない。
ある1つの例において、第2の識別子リストの上記の2つの表現方式に対応して、表4及び表5に、第4のネットワークデバイスが生成する第1のマッピング関係を個別に示す。すなわち、第2の識別子リストが、(A2::B205,A5::B510)であるときに、表4に、第4のネットワークデバイスが生成する第1のマッピング関係を示す。第2の識別子リストが(A2::B205)であるときに、表5に、第4のネットワークデバイスが生成する第1のマッピング関係を示す。
(随意的な)ステップS224. 第4のネットワークデバイス101は、セグメントルーティングネットワークの中の入口ノードであるため、第4のネットワークデバイスは、さらに、第2のマッピング関係及び第3のマッピング関係を生成する。
随意的に、第2のマッピング関係は、第1のネットワークデバイスに対応する第2のバインディングセグメント識別子と宛先ネットワークデバイスの識別子との間のマッピング関係である。
ある1つの例において、表6に、第2のマッピング関係を示す。宛先ネットワークデバイスの識別子は、第3のルーティング更新メッセージにおける終端プレフィックス識別子20/8であり、第2のバインディングセグメント識別子A1::B110は、第4のネットワークデバイス101から第1のネットワークデバイス110への転送経路を示す。
随意的に、第2のマッピング関係は、ネットワーク性能識別子をさらに含む。表7に、第2のマッピング関係を示す。ネットワーク性能識別子は80であり、例えば、可能であれば、より小さなネットワーク待ち時間等のある属性のネットワーク性能要件を表す。
随意的に、第4のネットワークデバイスが生成する第3のマッピング関係は、第2のバインディングセグメント識別子とバインディングセグメント識別子セットとの間のマッピング関係であり、バインディングセグメント識別子セットは、第4のネットワークデバイスに対応する第1のバインディングセグメント識別子及び第2の識別子リストを含む。代替的に、バインディングセグメント識別子セットは、第4のネットワークデバイスに対応する第1のバインディングセグメント識別子のみを含む。
ある1つの例において、第2の識別子リストが、(A2::B205,A5::B510)であるときに、表8に、第4のネットワークデバイスが生成する第3のマッピング関係を示す。第2の識別子リストが(A2::B205)であるときに、表9に、第4のネットワークデバイスが生成する第3のマッピング関係を示す。
(随意的な)ステップS225. 第4のネットワークデバイスは、第1のデータパケットを受信し、そのデータパケットは、宛先ネットワークデバイスの識別子を搬送する。
随意的に、第1のデータパケットは、さらに、ネットワーク性能識別子を搬送する。
(随意的な)ステップS229. 第4のネットワークデバイスは、第2のマッピング関係及び第3のマッピング関係に基づいて、第1のネットワークデバイスに第1のデータパケットを転送する。
第4のネットワークデバイスは、表6又は表7の第2のマッピング関係に基づいて、第1のデータパケットに対応する第2のバインディングセグメント識別子を決定し、そして、その決定された第2のバインディングセグメント識別子に基づいて、第3のマッピング関係及び第2のバインディングセグメント識別子に対応するバインディングセグメント識別子セットを探索し、第2のバインディングセグメント識別子は、第4のネットワークデバイスから第3のネットワークデバイスへの転送経路を示す。
第4のネットワークデバイスは、第1のデータパケットの中でバインディングセグメント識別子セットを搬送し、さらに、そのバインディングセグメント識別子セットうちの第4のネットワークデバイスに対応する(例えば、A1::B102等の)第1のバインディングセグメント識別子を使用することによって、(例えば、表4又は表5の)第1のマッピング関係を照会し、そして、関連する操作を実行する。ここで採用されているセグメントルーティングネットワーク処理方法は、従来の処理方法であり、この出願において、本明細書の中では、詳細は繰り返しては説明されない。
随意的に、第1のネットワークデバイスは、第4のネットワークデバイスが送信する第1のデータパケットを受信し、そのデータパケットは、第1のネットワークデバイスに対応する(例えば、A2::B205等の)バインディングセグメント識別子を搬送する。
(随意的な)ステップS239. 第1のネットワークデバイスに含まれるマッピング関係に基づいて、関連する操作を実行した後に、第1のネットワークデバイスは、第2のネットワークデバイスに第1のデータパケットを転送する。
随意的に、第2のネットワークデバイスは、第1のネットワークデバイスが送信する第1のデータパケットを受信し、そのデータパケットは、第2のネットワークデバイスに対応する(例えば、A5::B510等の)バインディングセグメント識別子を搬送する。
(随意的な)ステップS249. 第2のネットワークデバイスに含まれる第1のマッピング関係に基づいて、関連する操作を実行した後に、第2のネットワークデバイスは、第3のネットワークデバイスに第1のデータパケットを転送する。
この出願の複数の実施形態にしたがった転送経路決定方法は、上記で説明されている。以下の記載は、この出願のそれらの複数の実施形態にしたがった第1のネットワークデバイス及び第2のネットワークデバイスを説明する。
図7は、この出願のある1つの実施形態にしたがった第1のネットワークデバイス700である。その第1のネットワークデバイス700は、図2A及び図2Bに示されている第1のネットワークデバイス(通過ノード)及び第4のネットワークデバイス(入口ノード)によって実行される方法を実行することが可能である。第1のネットワークデバイス700は、受信ユニット701、処理ユニット702、送信ユニット703、及び取得ユニット704を含む。第1のネットワークデバイス700が、ネットワークの中の通過ノードであるときに、受信ユニット701は、例えば、図2A及び図2Bの実施形態におけるステップS211を実行するように構成されてもよく、処理ユニット702は、例えば、図2A及び図2Bの実施形態におけるステップS212及びステップS213を実行するように構成されてもよく、送信ユニット703は、例えば、図2A及び図2Bの実施形態におけるステップS215を実行するように構成されてもよく、取得ユニット704は、第1のネットワークデバイスが、図2A及び図2Bに示されている方法において、ネットワーク性能識別子を取得するステップ及び随意的な方法を実行するように構成されてもよい。第1のネットワークデバイス700が、ネットワークの中の入口ノードであるときに、受信ユニット701は、例えば、図2A及び図2Bの実施形態におけるステップS215及びステップS225を実行するように構成されてもよく、処理ユニット702は、例えば、図2A及び図2Bの実施形態におけるステップS222、ステップS223、及びステップS224を実行するように構成されてもよく、送信ユニット703は、例えば、図2A及び図2Bの実施形態におけるステップS229を実行するように構成されてもよく、取得ユニット704は、第4のネットワークデバイスが、図2A及び図2Bに示されている方法において、ネットワーク性能識別子を取得するステップ及び随意的な方法を実行するように構成されてもよい。
図7の実施形態によって提供される第1のネットワークデバイス700が、転送経路の上記の決定を実行するときに、上記の複数の機能ユニットへの分割は、説明のためのある1つの例として使用されるにすぎないということに留意すべきである。実際の適用においては、必要に応じて、実装のために、複数の異なる機能ユニットに上記の複数の機能を割り当ててもよい。言い換えると、第1のネットワークデバイスの内部構造は、複数の異なる機能ユニットに分割されて、上記で説明されている複数の機能のすべて又は一部を実装する。代替的に、一体化された機能ユニットは、上記の複数のユニットの機能を実現するのに使用される。上記の実施形態によって提供される第1のネットワークデバイス及び上記の転送経路決定方法の実施形態は、同じ概念に属するということを理解すべきである。第1のネットワークデバイスのユニットが実行する複数のステップは、説明のための例として使用されているにすぎず、このことは、第1のネットワークデバイスの複数のユニットが、上記の複数の実施形態において、他のステップ又は随意的な方法を実行しないということを意味するものではない。ある特定の実装プロセスについては、方法の実施形態を参照すべきであり、本明細書においては、詳細は繰り返しては説明されない。
図8は、この出願のある1つの実施形態にしたがった第2のネットワークデバイス800である。その第2のネットワークデバイス800は、図2A及び図2Bに示されている方法を実行してもよい。第2のネットワークデバイス800は、処理ユニット802、送信ユニット803、受信ユニット801、及び取得ユニット804を含む。処理ユニット802は、例えば、図2A及び図2Bの実施形態におけるステップS202及びステップS203を実行するように構成されてもよい。送信ユニット803は、例えば、図2A及び図2Bの実施形態におけるステップS215及びステップS239を実行するように構成されてもよい。受信ユニット801は、ステップS211を実行するように構成されてもよい。取得ユニット804は、図2A及び図2Bに示されている方法においてネットワーク性能識別子を取得するためのステップ及び随意的な方法を実行するように構成されてもよい。
図8の実施形態によって提供される第2のネットワークデバイスが、転送経路の上記の決定を実行するときに、上記の複数の機能ユニットへの分割は、説明のためのある1つの例として使用されるにすぎないということに留意すべきである。実際の適用においては、必要に応じて、実装のために、複数の異なる機能ユニットに上記の複数の機能を割り当ててもよい。すなわち、第2のネットワークデバイスの内部構造は、複数の異なる機能ユニットに分割されて、上記で説明されている複数の機能のすべて又は一部を実装する。代替的に、一体化された機能ユニットは、上記の複数のユニットの機能を実現するのに使用される。上記の実施形態によって提供される第2のネットワークデバイス及び上記の転送経路決定方法の実施形態は、同じ概念に属するということを理解すべきである。第2のネットワークデバイスのユニットが実行する複数のステップは、説明のための例として使用されているにすぎず、このことは、第2のネットワークデバイスの複数のユニットが、上記の複数の実施形態において、他のステップ又は随意的な方法を実行しないということを意味するものではない。ある特定の実装プロセスについては、方法の実施形態を参照すべきであり、本明細書においては、詳細は繰り返しては説明されない。
この出願の複数の実施形態にしたがった第1のネットワークデバイス及び第2のネットワークデバイスは、上記で説明されている。以下の記載は、第1のネットワークデバイス及び第2のネットワークデバイスの可能な製品形態を説明する。図7における第1のネットワークデバイスの特徴を有するいずれかの形態のいずれかの製品及び図8における第2のネットワークデバイスの特徴を有するいずれかの形態のいずれかの製品は、この出願の保護の範囲に属するということを理解すべきである。さらに、以下の説明は、ある1つの例であるにすぎず、この出願の複数の実施形態にしたがった第1のネットワークデバイス及び第2のネットワークデバイスの製品形態を限定するものではないということを理解すべきである。
ある1つの可能な製品形態において、一般的なバスアーキテクチャを使用することによって、この出願のそれらの複数の実施形態にしたがった第1のネットワークデバイス又は第2のネットワークデバイスを実装することが可能である。
図9に示されているように、この出願のある1つの実施形態は、第1のネットワークデバイス900を提供する。第1のネットワークデバイス900は、プロセッサ901、メモリ902、及びトランシーバ903を含む。メモリ902は、少なくとも1つの命令を格納し、プロセッサ901は、命令をロードするように構成され、それによって、第1のネットワークデバイス900は、上記の転送経路決定方法を実行する。プロセッサ901、メモリ902、及びトランシーバ903は、バスを介して接続されてもよい。
プロセッサ901は、中央処理ユニット(central processing unit, CPU)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、又はこの出願の複数の解決方法のプログラムの実行を制御するように構成される1つ又は複数の集積回路であってもよい。
メモリ902は、これらには限定されないが、静的な情報及び命令を格納することが可能である読み取り専用メモリ(read-only memory, ROM)又は他のタイプの静的な記憶デバイス、或いは、情報及び命令を格納することが可能であるランダムアクセスメモリ(random access memory, RAM)又は他のタイプの動的な記憶デバイスであってもよく、或いは、電気的に消去可能な且つプログラム可能な読み取り専用メモリ(electrically erasable programmable read-only memory, EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory, CD-ROM)又は他のコンパクトディスク記憶装置、(コンパクトディスク、レーザディスク、光ディスク、ディジタル多用途ディスク、又はブルーレイディスク等を含む)光ディスク記憶装置、磁気ディスク記憶媒体又は他の磁気記憶デバイス、或いは、命令又はデータ構造の形態で予期されるプログラムコードを搬送し又は格納するのに使用されてもよく、且つ、コンピュータによってアクセスすることが可能である他の媒体であってもよい。
図10に示されているように、この出願のある1つの実施形態は、第2のネットワークデバイス1000を提供する。第2のネットワークデバイス1000は、プロセッサ1001、メモリ1002、及びトランシーバー1003を含む。メモリ1002は、少なくとも1つの命令を格納し、プロセッサ1001は、命令をロードするように構成され、それによって、第2のネットワークデバイス1000は、上記の転送経路決定方法を実行する。プロセッサ1001、メモリ1002、及びトランシーバー1003は、バスによって接続されてもよい。プロセッサ1001の製品形態は、プロセッサ901の製品形態と同様であり、メモリ1002の製品形態は、メモリ902の製品形態と同様である。本明細書においては、詳細は説明されない。
ある1つの可能な製品形態において、この出願のこの実施形態にしたがった第1のネットワークデバイス又は第2のネットワークデバイスは、汎用プロセッサによって実装されてもよい。
第1のネットワークデバイスを実装するための汎用プロセッサは、処理回路と、出力インターフェイス及び入力インターフェイスと、を含み、それらの出力インターフェイス及び入力インターフェイスは、処理回路に内部的に接続されるとともに処理回路との間で通信を行う。処理回路は、ステップS212、ステップS213、ステップS222、ステップS223、及びステップS224を実行するように構成される。処理回路は、入力インターフェイスを制御して、ステップS211又はステップS221を実行するように構成される。処理回路は、さらに、出力インターフェイスを制御して、ステップS215及びステップS239又はステップS229を実行するように構成される。汎用プロセッサは、記憶媒体をさらに含み、その記憶媒体は、処理回路が実行する命令を格納するように構成される。
第2のネットワークデバイスを実装するための汎用プロセッサは、処理回路と、入力インターフェイス及び出力インターフェイスと、を含み、それらの入力インターフェイス及び出力インターフェイスは、処理回路に内部的に接続されるとともに処理回路との間で通信を行う。処理回路は、出力インターフェイスを制御して、ステップS205を実行するか又はステップS249を実行するように構成される。随意的に、処理回路は、さらに、入力インターフェイスを制御して、ステップS201及びステップS249を実行するように構成され、処理回路は、さらに、ステップS202及びステップS203を実行する。随意的に、汎用プロセッサは、記憶媒体をさらに含んでもよく、その記憶媒体は、処理回路が実行する命令を格納するように構成される。
ある1つの可能な製品形態において、この出願のこの実施形態にしたがって提供される第1のネットワークデバイス又は第2のネットワークデバイスは、代替的に、1つ又は複数のフィールドプログラマブルゲートアレイ(英文正式名称: field-programmable gate array, 英文略称: FPGA)、プログラム可能な論理デバイス(英文正式名称: programmable logic device, 英文略称: PLD)、コントローラ、状態マシン、ゲート論理、個別のハードウェア構成要素、いずれかの他の適切な回路、又は、この出願によって説明されているさまざまな機能を実行することが可能である回路のいずれかの組み合わせを使用することによって実装されてもよい。
上記の製品形態での第1のネットワークデバイス又は第2のネットワークデバイスは、それぞれ、上記の転送経路決定方法の実施形態における第1のネットワークデバイス又は第2のネットワークデバイスの機能を有するということを理解すべきである。本明細書においては、詳細は繰り返しては説明されない。
当業者は、本明細書において開示されている複数の実施形態において説明されている複数の例と組み合わせて、電子的なハードウェア、コンピュータソフトウェア、又はそれらの組み合わせによって、複数の方法のステップ及びユニットを実装することが可能であるということを認識することが可能である。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、上記の説明は、機能にしたがって、各々の実施形態のステップ及び構成を一般的に説明してきた。それらの複数の機能がハードウェアによって実行されるか又はソフトウェアによって実行されるかは、それらの複数の技術的解決方法の特定の用途及び設計上の制約条件によって決まる。当業者は、各々の特定の用途について、複数の異なる方法を使用して、複数の説明されている機能を実装することが可能であるが、その実装は、この出願の範囲を超えるものであると解釈されるべきではない。
簡便かつ簡単な説明の目的で、上記で説明されているシステム、装置、及びユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照すべきであるということを当業者は明確に理解することが可能であり、本明細書においては、詳細は繰り返しては説明されない。
この出願によって提供される複数の実施形態のうちのいくつかにおいて、開示されている装置及び方法は、他の方法によって実装されてもよいということを理解すべきである。例えば、説明されている装置の実施形態は、ある1つの例であるにすぎない。例えば、ユニットの分割は、論理的な機能の分割であるにすぎず、実際の実装の際には他の分割であってもよい。例えば、複数のユニット又は構成要素を組み合わせ又は一体化して、他のシステムとしてもよく、或いは、複数の特徴のうちのいくつかは、無視されてもよく又は実行されなくてもよい。加えて、示され又は説明されている相互の結合、直接的な結合、又は、通信接続は、いくつかのインターフェイスによって実装されてもよい。電気的な形態、機械的な形態、又は他の形態によって、複数の装置又はユニットの間の間接的な結合又は通信接続を実装してもよい。
個別の部分として説明されている複数のユニットは、物理的に分離されていてもよく、また、複数のユニットとして示されている複数の部分は、複数の物理的なユニットであってもよく又は複数の物理的なユニットでなくてもよく、1つの場所に位置していてもよく、又は、複数のネットワークユニットにわたって分散されていてもよい。実際の要件に基づいて、それらの複数のユニットのうちの一部又はすべてを選択して、この出願のそれらの複数の実施形態における複数の解決方法の目的を達成してもよい。
加えて、この出願のそれらの複数の実施形態における処理ユニットは、複数の機能ユニットに分散されていてもよく、又は、1つの処理ユニットの中に一体化されていてもよい。それらの複数のユニットの各々は、物理的に単独で存在していてもよく、又は、2つ又はそれ以上のユニットを一定化して、1つのユニットとしてもよい。その一体化されたユニットは、ハードウェアの形態で実装されてもよく、又は、ソフトウェア機能ユニットの形態で実装されてもよい。
一体化されたユニットがソフトウェア機能ユニットの形態で実装され、独立した製品として販売され又は使用されるときに、その一体化されたユニットは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよい。このような理解に基づいて、この出願の複数の技術的解決方法は、本質的に、或いは、従来技術に寄与する部分、或いは、それらの複数の技術的解決方法のうちのすべて又は一部は、ソフトウェア製品の形態で実装されてもよい。コンピュータソフトウェア製品は、記憶媒体の中に格納されるとともに、いくつかの命令を含み、それらのいくつかの命令は、この出願のそれらの複数の実施形態において説明されている方法の複数のステップのうちのすべて又は一部を実行するように(パーソナルコンピュータ、サーバ、又はネットワークデバイスであってもよい)コンピュータデバイスに指示する。上記の記憶媒体は、例えば、USBフラッシュドライブ、取り外し可能なハードディスク、読み取り専用メモリ(read-only memory, ROM)、ランダムアクセスメモリ(random access memory, RAM)、磁気ディスク、又は光ディスク等のプログラムコードを格納することが可能であるいずれかの媒体を含む。
上記の説明は、この出願の特定の実施形態であるにすぎないが、この出願の保護の範囲を限定することを意図してはいない。この出願の中で開示されている技術的範囲の中で当業者が容易に考え出すことが可能である等価な修正又は置換は、この出願の保護の範囲に属する。したがって、この出願の保護の範囲は、特許請求の範囲の保護の範囲にしたがうものとする。
ソフトウェア、ハードウェア、ファームウェア、又はそれらのいずれかの組み合わせを使用することによって、上記の複数の実施形態のすべて又は一部を実装してもよい。ソフトウェアがそれらの複数の実施形態を実装するのに使用されるときに、コンピュータプログラム製品の形態で、それらの複数の実施形態を全体的に又は部分的に実装してもよい。コンピュータプログラム製品は、1つ又は複数のコンピュータプログラム命令を含む。コンピュータプログラム命令をコンピュータにロードしそしてコンピュータによって実行するときに、この出願のそれらの複数の実施形態にしたがった手順又は機能を完全に又は部分的に生成する。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ読み取り可能な記憶媒体の中に格納されてもよく、或いは、あるコンピュータ読み取り可能な記憶媒体から他のコンピュータ読み取り可能な記憶媒体に伝送されてもよい。例えば、有線方式によって又は無線方式によって、一方のウェブサイト、コンピュータ、サーバ、又はデータセンターから他方のウェブサイト、コンピュータ、サーバ、又はデータセンターへと、それらの複数のコンピュータプログラム命令を伝送してもよい。コンピュータ読み取り可能な記憶媒体は、コンピュータによってアクセス可能ないずれかの使用可能な媒体、或いは、1つ又は複数の使用可能な媒体を一体化したサーバ又はデータセンター等のデータ記憶デバイスであってもよい。使用可能な媒体は、(例えば、フロッピーディスク、ハードディスク、又は磁気テープ等の)磁気媒体、(例えば、ディジタルビデオディスク(digital video disc, DVD)等の)光媒体、或いは、(例えば、ソリッドステートドライブ等の)半導体媒体等であってもよい。
当業者は、ハードウェア又は関連するハードウェアに命令するプログラムを使用することによって、それらの複数の実施形態の複数のステップのうちのすべて又は一部を実装することが可能であるということを理解することが可能である。プログラムは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよく、記憶媒体は、読み取り専用メモリ、磁気ディスク、又は光ディスクを含んでもよい。
上記の説明は、この出願の随意的な実施態様であるにすぎないが、この出願を限定することを意図してはいない。この出願の趣旨及び原理から離れることなく行われる修正、等価な置換、又は改良等は、この出願の保護の範囲に属するものとする。