(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-17
(54)【発明の名称】ルート更新方法及び装置
(51)【国際特許分類】
H04L 45/74 20220101AFI20230410BHJP
【FI】
H04L45/74
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022550979
(86)(22)【出願日】2020-02-28
(85)【翻訳文提出日】2022-08-24
(86)【国際出願番号】 CN2020077241
(87)【国際公開番号】W WO2021168818
(87)【国際公開日】2021-09-02
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】叶 金▲エイ▼
(72)【発明者】
【氏名】鐘 海娜
(72)【発明者】
【氏名】▲コン▼ 青
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA11
5K030HA08
5K030HD03
5K030JT09
5K030KA05
5K030LB05
(57)【要約】
本発明は、ルート更新方法及び装置を提供する。本発明において、アクセス機器は本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信した場合、第1のシーケンス番号の値如何に関わらず、第1のホストルートを本機器がターゲットホストにデータを転送するときに使用するルートとして優先的に選択し、記録されたターゲットホストに対応する第1のARPエントリを削除して、既存のルートキャンセルメカニズムに従って本機器のBGP peer、即ち集約機器が第1のARPエントリに関連するホストルートをキャンセルすることをトリガする。このように、上記ターゲットホストがマイグレーションされた後に、集約機器が当該ターゲットホストに送信するパケットを、当該ターゲットホストがマイグレーションされる前にアクセスしたアクセス機器に誤って転送することを防止し、データ転送の正確性を保証する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ルート更新方法であって、アクセス機器に適用され、
本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信するステップであって、前記第1のシーケンス番号は、前記第1のホストルートのシーケンス番号であり、前記BGP peerが前記第1のホストルートの送信を決定する根拠であるステップと、
前記第1のホストルートを本機器がホストにデータを転送するときに使用するルートとして優先的に選択するステップと、
記録された前記ホストに対応するARPエントリを削除するステップであって、前記ARPエントリにおけるIPアドレス、前記ホストのIPアドレスは、いずれも前記第1のホストルートにおけるプレフィックスと同じであるステップと、を含む、
ことを特徴とするルート更新方法。
【請求項2】
前記ルート更新方法は、さらに、
前記ホストにARP要求を送信するステップであって、前記ARP要求の宛先IPアドレスは、前記第1のホストルートにおけるプレフィックスと同じであるステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記ルート更新方法は、さらに、
前記ARP要求を送信してから所定の時間内にARP応答を受信していない場合、前記ARP要求の送信回数が設定回数に達したか否かを検出するステップと、
前記設定回数に達していない場合、前記ARP要求を再度送信するステップと、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記ルート更新方法は、さらに、
ARP応答を受信した場合、前記ARP応答に基づいてARP情報を学習するステップと、
前記ARP情報を利用して第2のホストルートを生成するステップであって、前記第2のホストルートのタイプは、指定タイプであり、前記指定タイプは、前記第2のホストルートが前記ARP情報に基づいて生成されることを指示するために用いられるステップと、
前記第2のホストルートの第2のシーケンス番号を決定するステップと、
本機器のBGP peerに前記第2のホストルート及び前記第2のシーケンス番号を送信するステップと、
本機器が前記ホストにデータを転送するときに使用するルートを、前記第1のホストルートから前記第2のホストルートに更新するステップと、を含む、
ことを特徴とする請求項2又は3に記載の方法。
【請求項5】
前記第2のホストルートの第2のシーケンス番号を決定するステップは、
条件を満たすホストルートが記録されたか否かを確認するステップであって、前記条件を満たすホストルートは、前記第2のホストルートにおけるプレフィックス/プレフィックス長と同じであり、前記BGP peerから送信され、且つシーケンス番号を有するホストルートであるステップと、
条件を満たすホストルートが記録されていない場合、予め指定されたシーケンス番号の初期値を前記第2のホストルートの第2のシーケンス番号とするステップと、
条件を満たすホストルートが記録されている場合、記録された条件を満たす全てのホストルートのシーケンス番号に基づいて、前記第2のホストルートの第2のシーケンス番号を決定するステップと、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記記録された条件を満たす全てのホストルートのシーケンス番号に基づいて、前記第2のホストルートの第2のシーケンス番号を決定するステップは、
条件を満たす全てのホストルートのシーケンス番号から最大シーケンス番号を選択するステップと、
前記最大シーケンス番号と指定値との和を第2のホストルートの第2のシーケンス番号とするステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記第1のホストルートを本機器が前記ホストにデータを転送するときに使用するルートとして優先的に選択するステップは、
IP転送テーブルに本機器が前記ホストにデータを転送するときに使用する既存のルートが存在するか否かを確認するステップと、
存在しない場合、前記第1のホストルートをIP転送テーブルに配信するステップと、
存在する場合、前記IP転送テーブルにおける前記既存のルートを前記第1のホストルートに更新するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項8】
記録された前記ARPエントリを削除するとき、又は記録された前記ARPエントリを削除した後、前記ルート更新方法は、さらに、
記録された第3のホストルートをキャンセルするステップであって、前記第3のホストルートのルートタイプは、指定タイプであり、前記指定タイプは、前記第3のホストルートが前記ARPエントリにおけるARP情報に基づいて生成されることを指示するために用いられるステップと、
本機器のBGP Peerにルートキャンセルメッセージを送信するステップであって、前記ルートキャンセルメッセージは、前記第3のホストルートがキャンセルされることを指示するために用いられるステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
ルート更新装置であって、アクセス機器に適用され、
本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信するための受信ユニットであって、前記第1のシーケンス番号は、前記第1のホストルートのシーケンス番号であり、前記BGP peerが前記第1のホストルートの送信を決定する根拠である受信ユニットと、
前記第1のホストルートを本機器がホストにデータを転送するときに使用するルートとして優先的に選択し、記録された前記ホストに対応するARPエントリを削除するためのルーティングユニットであって、前記ARPエントリにおけるIPアドレス、前記ホストのIPアドレスは、いずれも前記第1のホストルートにおけるプレフィックスと同じであるルーティングユニットと、を含む、
ことを特徴とするルート更新装置。
【請求項10】
電子機器であって、プロセッサ及び機械可読記憶媒体を含み、
前記機械可読記憶媒体は、前記プロセッサによって実行可能な機械実行可能命令を記憶しており、
前記プロセッサは、機械実行可能命令を実行するために用いられ、請求項1~8のいずれか1項のルート更新方法のステップを実施する、
ことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク通信技術に関し、特にルート更新方法及び装置に関する。
【背景技術】
【0002】
ネットワークにホストのマイグレーションがよくあることである。ここでのホストは、例えばWLAN無線端末、有線端末又は仮想マシンなどであってもよい。ホストがWLAN無線端末であることを例とすると、上記したホストのマイグレーションは、WLAN無線端末ローミングを含んでもよい。さらにホストが仮想マシンであることを例とすると、上記したホストのマイグレーションは、仮想マシンマイグレーションを含んでもよい。
【0003】
ホストのマイグレーションが発生した後、集約機器がホストのマイグレーションをタイムリーに感知できず、当該ホストに送信するパケットを、当該ホストがマイグレーションされる前にアクセスしたアクセス機器に転送するという問題が常にある。スパイン(Spine)-リーフ(Leaf)構造のネットワークに適用する場合、ここでのアクセス機器は、Leafノード、集約機器は、Spineノードであってもよい。
【発明の概要】
【0004】
本発明は、ホストがマイグレーションされた後に、集約機器が当該ホストに送信するパケットを当該ホストがマイグレーションされる前にアクセスしたアクセス機器に転送することを防止するために、ルート更新方法及び装置を提供する。
【0005】
本発明は、ルート更新方法を提供し、当該方法は、アクセス機器に適用され、本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信するステップであって、前記第1のシーケンス番号は、前記第1のホストルートのシーケンス番号であり、前記BGP peerが前記第1のホストルートの送信を決定する根拠であるステップと、前記第1のホストルートを本機器がホストにデータを転送するときに使用するルートとして優先的に選択するステップと、記録された前記ホストに対応するARPエントリを削除するステップであって、前記ARPエントリにおけるIPアドレス、前記ホストのIPアドレスは、いずれも前記第1のホストルートにおけるプレフィックスと同じであるステップと、を含む。
【0006】
1つの実施例として、当該方法は、さらに、前記ホストにARP要求を送信するステップであって、前記ARP要求の宛先IPアドレスは、削除された前記ARPエントリにおけるIPアドレスであるステップを含む。
【0007】
1つの実施例として、当該方法は、さらに、前記ARP要求を送信してから所定の時間内にARP応答を受信していない場合、前記ARP要求の送信回数が設定回数に達したか否かを検出するステップと、前記設定回数に達していない場合、前記ARP要求を再度送信するステップと、を含む。
【0008】
1つの実施例として、当該方法は、さらに、ARP応答を受信している場合、前記ARP応答に基づいてARP情報を学習するステップと、前記ARP情報を利用して第2のホストルートを生成するステップであって、前記第2のホストルートのタイプは、指定タイプであり、前記指定タイプは、前記第2のホストルートが前記ARP情報に基づいて生成されることを指示するために用いられるステップと、前記第2のホストルートの第2のシーケンス番号を決定するステップと、本機器のBGP peerに前記第2のホストルート及び前記第2のシーケンス番号を送信するステップと、本機器が前記ホストにデータを転送するときに使用すされるルートを、前記第1のホストルートから前記第2のホストルートに更新するステップと、を含む。
【0009】
1つの実施例として、前記第2のホストルートの第2のシーケンス番号を決定するステップは、条件を満たすホストルートが記録されたか否かを確認するステップであって、前記条件を満たすホストルートは、前記第2のホストルートにおけるプレフィックス/プレフィックス長と同じであり、前記BGP peerから送信され、且つシーケンス番号を有するホストルートであるステップと、条件を満たすホストルートが記録されていない場合、予め指定されたシーケンス番号の初期値を前記第2のホストルートの第2のシーケンス番号とするステップと、条件を満たすホストルートが記録されている場合、記録された条件を満たす全てのホストルートのシーケンス番号に基づいて、前記第2のホストルートの第2のシーケンス番号を決定するステップと、を含む。
【0010】
1つの実施例として、前記記録された条件を満たす全てのホストルートのシーケンス番号に基づいて、前記第2のホストルートの第2のシーケンス番号を決定するステップは、条件を満たす全てのホストルートのシーケンス番号から値が最も大きい最大シーケンス番号を選択するステップと、前記最大シーケンス番号と指定値との和を第2のホストルートの第2のシーケンス番号とするステップと、を含む。
【0011】
1つの実施例として、前記第1のホストルートを本機器が前記ホストにデータを転送するときに使用するルートとして優先的に選択するステップは、IP転送テーブルに本機器が前記ホストにデータを転送するときに使用するルートが存在するか否かを確認するステップと、そうでなければ、前記第1のホストルートをIP転送テーブルに配信するステップと、そうであれば、前記IP転送テーブルに存在する本機器が前記ホストにデータを転送するときに使用するルートを前記第1のホストルートに更新するステップと、を含む。
【0012】
1つの実施例として、記録された前記ARPエントリを削除するとき、又は記録された前記ARPエントリを削除した後、当該方法は、さらに、記録された第3のホストルートをキャンセルするステップであって、前記第3のホストルートのルートタイプは、指定タイプであり、前記指定タイプは、前記第3のホストルートが前記ARPエントリにおけるARP情報に基づいて生成されることを指示するために用いられるステップと、本機器のBGP Peerにルートキャンセルメッセージを送信するステップであって、前記ルートキャンセルメッセージは、前記第3のホストルートがキャンセルされることを指示するために用いられるステップと、を含む。
【0013】
本発明は、さらに、ルート更新装置を提供し、当該装置は、アクセス機器に適用され、本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信するための受信ユニットであって、前記第1のシーケンス番号は、前記第1のホストルートのシーケンス番号であり、前記BGP peerが前記第1のホストルートの送信を決定する根拠である受信ユニットと、前記第1のホストルートを本機器がホストにデータを転送するときに使用するルートとして優先的に選択し、記録された前記ホストに対応するARPエントリを削除するためのルーティングユニットであって、前記ARPエントリにおけるIPアドレス、前記ホストのIPアドレスは、いずれも前記第1のホストルートにおけるプレフィックスと同じであるルーティングユニットと、を含む。
【0014】
本発明は、さらに、電子機器を提供し、当該電子機器は、プロセッサ及び機械可読記憶媒体を含み、前記機械可読記憶媒体は、前記プロセッサによって実行可能な機械実行可能命令を記憶しており、前記プロセッサは、機械実行可能命令を実行するために用いられ、上記いずれか1つの方法のステップを実施する。
【0015】
以上の技術的解決手段から分かるように、本発明において、アクセス機器は、本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信した場合、第1のシーケンス番号の値如何に関わらず、第1のホストルートを本機器がターゲットホストにデータを転送するときに使用するルートとして優先的に選択し、記録された、ターゲットホストに対応する第1のARPエントリを削除して、既存のルートキャンセルメカニズムに従って本機器のBGP peer(即ち集約機器)が第1のARPエントリに関連するホストルートをキャンセルすることをトリガする。このように、上記ターゲットホストがマイグレーションされた後に、集約機器が当該ターゲットホストに送信するパケットを、当該ターゲットホストがマイグレーションされる前にアクセスしたアクセス機器に誤って転送することを防止し、データ転送の正確性を保証する。
【図面の簡単な説明】
【0016】
ここでの図面は、明細書に組み込まれて明細書の一部を構成し、本開示に適合する実施例を示し、明細書とともに本発明の実施例の原理を解釈するために用いられる。
【
図1】本発明の実施例で提供されるルート更新方法の第1の方法のフローチャートである。
【
図2】本発明の実施例で提供されるARP応答が受信された場合のフローチャートである。
【
図3】本発明の実施例で提供されるルート更新方法の第2の方法のフローチャートである。
【
図4】本発明の実施例で提供されるルート更新方法のネットワーキング概略図である。
【
図5】本発明の実施例で提供される拡張コミュニティ属性フィールドの構造概略図である。
【
図6】本発明の実施例で提供されるルート更新方法の別のネットワーキング概略図である。
【
図7】本発明の実施例で提供されるルート更新装置の構造図である。
【
図8】本発明の実施例で提供される別のルート更新装置の構造図である。
【
図9】本発明の実施例で提供される電子機器の構造図である。
【発明を実施するための形態】
【0017】
本明細書において、例示的な実施例を詳細に説明し、その例を図面に示す。以下の説明が図面に言及する場合、特に明記しない限り、異なる図面の同じ数字は、同じ又は類似の要素を指す。以下の例示的な実施例で説明される実施形態は、本発明と一致する全ての実施形態を表すものではない。逆に、それらは、添付の特許請求の範囲に詳述されたように、本発明のいくつかの態様と一致する装置及び方法の例に過ぎない。
【0018】
本発明において使用される用語は、特定の実施例を説明する目的だけであり、本発明を限定するものではない。本発明及び添付の特許請求の範囲において使用される単数形の「1種」、「前記」及び「当該」は、文脈により明らかに他の意味を示さない限り、複数形を含むことを意図する。
【0019】
当業者が本発明の実施例で提供される技術的解決手段をよりよく理解し、本発明の実施例の上記目的、特徴及び利点をより明らかで分かりやすくするために、以下、図面を結合して本発明の実施例における技術的解決手段をさらに詳細に説明する。
【0020】
図1を参照し、
図1は、本発明の実施例で提供されるルート更新方法の第1の方法のフローチャートである。当該フローは、アクセス機器に適用される。Spine-Leafネットワーキング構造に適用されると、ここでのアクセス機器は、Leafノードであってもよい。
【0021】
図1に示すように、当該フローは、以下のステップを含んでもよい。
【0022】
ステップ101、本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信する。
【0023】
応用において、アクセス機器は、ボーダーゲートウェイプロトコル(BGP:Border Gateway Protocol)に基づいて、それに接続された集約機器とBGPネイバーを確立し、互いにBGPピア(peer)である。即ちアクセス機器のBGP peerは、集約機器であり、集約機器のBGP peerは、アクセス機器である。
【0024】
本実施例において、第1のシーケンス番号は、第1のホストルートのシーケンス番号であり、アクセス機器のBGP peer、例えば集約機器が第1のホストルートの送信を決定する根拠である。アクセス機器のBGP peer、例えば集約機器がどのように第1のシーケンス番号に基づいて第1のホストルートを送信することを決定するかについて、具体的には以下の
図3に示すフローのステップ302を参照することができ、ここで説明を省略する。なお、上記第1のホストルート、第1のシーケンス番号は、説明を容易にするために名付けられるだけであり、限定するものではない。
【0025】
ステップ102、第1のホストルートを本機器がホストにデータを転送するときに使用するルートとして優先的に選択し、記録されたホストに対応するARPエントリを削除する。
【0026】
ステップ102において、ホストとは、IPアドレスが第1のホストルートにおけるプレフィックスと同じであるホストであり、説明を容易にするために、ここで、当該ホストをターゲットホストと記す。
【0027】
ステップ102において、ARPエントリにおけるIPアドレスは、第1のホストルートにおけるプレフィックスと同じである。説明を容易にするために、ここで、当該ARPエントリを第1のARPエントリと記す。
【0028】
1つの例において、IP転送テーブルは、データ転送を指導するために用いられ、それは本機器が各ホストにデータを転送するルートを記録する。これに基づき、1つの実施例として、本ステップ102において、第1のホストルートを本機器がターゲットホストにデータを転送するときに使用するルートとして優先的に選択することは、IP転送テーブルには本機器がターゲットホストにデータを転送するときに使用するルート(既存のルートと記す)が存在するか否かを確認し、そうでなければ、第1のホストルートをIP転送テーブルに配信するステップと、そうであれば、IP転送テーブルにおける上記既存のルートを第1のホストルートに更新するステップと、を含んでもよい。なお、上記既存のルートは、カスタムルートではなく、説明を容易にするために名付けられるものである。最終的に、第1のホストルートは、本機器がターゲットホストにデータを転送するときに使用するルートとして優先的に選択され、IP転送テーブルに配信され、本機器がターゲットホストにデータを転送することを指導するために用いられる。
【0029】
ステップ101において説明されるように、第1のホストルートは、本機器のBGP peerから受信したものであり、リモートルートに相当する。そのため、ステップ102において、リモートルート、即ち上記第1のホストルートを本機器がホストにデータを転送するときに使用するルートとして優先的に選択した後、前に確立された上記ターゲットホストに対応する第1のARPエントリ(上記ターゲットホストがローカルホストであるときに確立されたARPエントリ)は存在する必要がなく、この時、第1のARPエントリを削除することができる。第1のARPエントリを削除すれば第1のARPエントリに関連するホストルートをキャンセルすることをトリガすることができ、具体的には以下の実施例の説明を参照する。このように、上記ターゲットホストがマイグレーションされた後に、集約機器が当該ターゲットホストに送信するパケットを、当該ターゲットホストがマイグレーションされる前にアクセスしたアクセス機器に誤って転送せず、ターゲットホストがマイグレーションされた後にアクセスしたアクセス機器に直接送信することを保証し、データ転送の正確性を保証する。
【0030】
図1に示すフローから分かるように、本発明において、アクセス機器は本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信した場合、第1のシーケンス番号の値如何に関わらず、第1のホストルート(即ちリモートルート)を本機器がターゲットホストにデータを転送するときに使用するルートとして優先的に選択し、記録された、ターゲットホストに対応する第1のARPエントリを削除して、既存のルートキャンセルメカニズムに従って本機器のBGP peer(即ち集約機器)が第1のARPエントリに関連するホストルートをキャンセルすることをトリガする。このように、上記ターゲットホストがマイグレーションされた後に、集約機器が当該ターゲットホストに送信するパケットを当該ターゲットホストがマイグレーションされる前にアクセスしたアクセス機器に誤って転送することを防止し、データ転送の正確性を保証する。
【0031】
1つの実施例として、上記ステップ102において、上記第1のARPエントリを削除する前/後、又は上記第1のARPエントリを削除するとき、さらに上記ターゲットホストがまだローカルにアクセスしているか否かを検知することができる。ここで、ターゲットホストがまだローカルにアクセスしているか否かを検知するのは、上記第1のホストルートは攻撃者が上記ターゲットホストに偽装したときに学習される可能性を防止するためである。上記第1のホストルートは攻撃者が上記ターゲットホストに偽装したときに学習されたものと仮定すると、ステップ102に説明したように、第1のホストルートを本機器がターゲットホストにデータを転送するときに使用するルートとして優先的に選択すると、多くのデータが攻撃者に転送されることを引き起こす。これに基づき、データが長期的に攻撃者に転送されることをタイムリーに修正するために、さらにターゲットホストがまだローカルにアクセスしているか否かを検知する必要がある。
【0032】
1つの実施例として、ターゲットホストがまだローカルにアクセスしているか否かを検知することは、以下のステップaを含んでもよい。
【0033】
ステップa:ターゲットホストにARP要求を送信する。1つの例において、ARP要求の宛先IPアドレスは、上記第1のARPエントリにおけるIPアドレスである。
【0034】
応用において、ネットワークが不安定であるなどの影響により上記ARP要求がターゲットホストに達することができない可能性がある。このような状況を回避するために、1つの例において、ARP要求を送信してから所定の時間内にARP応答を受信していない場合、ARP要求の送信回数が設定回数に達したか否かを検出し、設定回数に達していない場合、上記ARP要求を再度送信する。当然ながら、設定回数に達した場合、現在ARP要求を送信するフローを終了する。具体的に実現する場合、上記所定の時間、設定回数は、実際の状況に応じて設定することができ、例えば所定の時間を200ミリ秒に設定し、設定回数を3に設定する。
【0035】
1つの実施例として、上記ARP要求を送信した後、ARP要求に対応するARP応答を受信した場合(ARP応答のソースIPアドレスは上記ターゲットホストのIPアドレスである)、この時、上記ターゲットホストはまだローカルにアクセスしていることを説明し、これに基づいて、
図2に示すフローを実行することができる。
【0036】
図2に示すように、当該フローは、以下のステップを含んでもよい。
【0037】
ステップ201、受信したARP応答に基づいてARP情報を学習する。
【0038】
ここで、ARP情報を学習するのは、ARPエントリ(上記第1のARPエントリを区別するため、ここで第2のARPエントリと記すことができる)を確立するためである。以下、具体的な実施例によりARP情報、ARPエントリの構造を説明し、ここで説明を省略する。
【0039】
ステップ202、上記ARP情報を利用して第2のホストルートを生成し、第2のホストルートのタイプは指定タイプであり、指定タイプは前記第2のホストルートが当該ARP情報に基づいて生成されることを指示するために用いられる。
【0040】
1つの実施例として、本ステップ202において、上記ARP情報を利用して第2のホストルートを生成することは、ARP情報とホストルートのルール要求とに基づいてルール要求を満たす第2のホストルートを生成するステップを含んでもよい。ARP情報、どのようにARP情報に基づいてホストルートを生成するかについて、以下の実施例により説明し、ここで説明を省略する。
【0041】
ステップ203、第2のホストルートの第2のシーケンス番号を決定し、本機器のBGP peerに第2のホストルート及び第2のシーケンス番号を送信し、本機器がターゲットホストにデータを転送するときに使用するルートを第1のホストルートから第2のホストルートに更新する。
【0042】
上記IP転送テーブルの説明に基づき、1つの例において、本ステップ203では、本機器がターゲットホストにデータを転送するときに使用するルートを第1のホストルートから第2のホストルートに更新することは、IP転送テーブルに記録された本機器が前記ホストにデータを転送するときに使用するルートを、第1のホストルートから第2のホストルートに更新するステップを含んでもよい。最終的に、第2のホストルートは、本機器がターゲットホストにデータを転送するときに使用するルートとして優先的に選択され、IP転送テーブルに記録される。
【0043】
本ステップ203において、第2のホストルートの第2のシーケンス番号を決定することは、多くの実現形態を有し、そのうち1つの実現形態は、条件を満たすホストルートが記録されたか否かを確認するステップであって、条件を満たすホストルートは、第2のホストルートにおけるプレフィックス/プレフィックス長と同じであり、上記BGP peerから広告され、且つシーケンス番号を有するホストルートであるステップと、条件を満たすホストルートが記録されていない場合、予め指定されたシーケンス番号の初期値(例えば0)を第2のホストルートの第2のシーケンス番号とするステップと、条件を満たすホストルートが記録されている場合、記録された条件を満たす全てのホストルートのシーケンス番号に基づいて第2のホストルートの第2のシーケンス番号を決定するステップと、を含んでもよい。
【0044】
1つの実施例として、記録された条件を満たす全てのホストルートのシーケンス番号に基づいて前記第2のホストルートの第2のシーケンス番号を決定する上記ステップは、条件を満たす全てのホストルートのシーケンス番号から最大シーケンス番号を選択するステップと、最大シーケンス番号と指定値(例えば1)との和を第2のホストルートの第2のシーケンス番号とするステップと、を含んでもよい。
【0045】
【0046】
図2に示すフローにより、本機器がターゲットホストにデータを転送するときに使用するルートを前に受信した第1のホストルート(即ちリモートルート)から第2のホストルート(即ちローカルルート)にタイムリーに更新することができ、上記した多くのデータが攻撃者に転送されることを防止する。
【0047】
以上、アクセス機器の観点から本発明の実施例で提供されるルート更新方法を説明する。以下、集約機器の観点から本発明の実施例で提供されるルート更新方法を説明する。
【0048】
図3を参照し、
図3は、本発明の実施例で提供されるルート更新方法の第2の方法のフローチャートである。当該フローは、集約機器に適用される。Spine-Leafネットワーキング構造に適用される場合、ここでの集約機器は、Spineノードであってもよい。
【0049】
図3に示すように、当該フローは、以下のステップを含んでもよい。
【0050】
ステップ301、集約機器は、本機器のいずれか1つのBGP peerから送信されたホストルート及びホストルートのシーケンス番号を受信する。
【0051】
1つの例において、集約機器は、それに接続されたアクセス機器と互いにBGP peerであってもよい。したがって、集約機器のBGP peerは、アクセス機器、例えば
図1、
図2に示すフローに係るアクセス機器であってもよい。
【0052】
ステップ302、集約機器は、上記ホストルート及び受信した上記ホストルートと同じプレフィックス/プレフィックス長を有する他の各ホストルートから、シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)を選択する。
【0053】
図1に示すフローに対応するために、ここで、選択されたシーケンス番号が指定条件を満たす1つのホストルートを第1のホストルートと記すことができる。1つの実施例として、本ステップ302において、上記ホストルート及び受信した上記ホストルートと同じプレフィックス/プレフィックス長を有する他の各ホストルートから、シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)を選択することは、多くの実現形態を有し、例えば、上記ホストルート及び受信した上記ホストルートと同じプレフィックス/プレフィックス長を有する他の各ホストルートから、シーケンス番号が最も大きいホストルートを選択し、選択されたホストルートの個数が1であれば、当該選択されたホストルートを、上記シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)とし、一方、選択されたホストルートの個数が1よりも大きければ、設定されたルート決定方式に従って、選択された各ホストルートから、1つのホストルートを、上記シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)として決定する。ここで設定されたルート決定方式は、例えばルート優先度、ルートネクストホップの到達可能など、多くの実現形態を有し、本発明の実施例は、具体的に限定しない。最終的には、以上の説明により、シーケンス番号を根拠としてシーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)を選択することを実現する。なお、最終的に選択された第1のホストルートは、集約機器が上記ステップ301で受信したホストルートである可能性があり、集約機器が上記ステップ301で受信したホストルートでない可能性もある。
【0054】
ステップ303、集約機器は、上記第1のホストルートを送信する第1のBGP peer以外の他のBGP peerに、第1のホストルート及び第1のホストルートのシーケンス番号(第1のシーケンス番号と記す)を送信する。
【0055】
以上、
図3に示すフローが完了する。
図3に示すフローから分かるように、集約機器は本機器のいずれか1つのBGP peerから送信されたホストルート及びシーケンス番号を受信するたびに、上記ステップ302からステップ303までのステップを実行することをトリガし、本機器のBGP peerがルートをタイムリーに更新することをトリガする(具体的には上記
図1に示すフローを参照する)。
【0056】
以下、Spine-Leafネットワーキング構造を例とすると、1つの具体的な実施例により上記
図1から
図3に示すフローを例示的に説明する。
【0057】
図4を参照し、
図4は、本発明の実施例で提供されるルート更新方法のネットワーキング概略図である。
図4に示すネットワーキングは、3つのアクセス機器(Leaf11、Leaf12、Leaf13)、1つの集約機器(Spine21)を例とする。
図4において、Leaf11、Leaf12、Leaf13は、いずれもSpine21と互いにBGP peerである。
【0058】
最初、ホスト30は、Leaf11にアクセスする。本発明の実施例において、ホスト30は、直接Leaf11にアクセスすることができ、またレイヤ2機器APを介してLeaf11にアクセスすることができる。
図4は、ホスト30がAPを介してLeaf11にアクセスすることを例とする。
【0059】
Leaf11は、ホスト30に対応するARP情報を学習する。本発明の実施例において、Leaf11は、既存のARP情報方式に従ってホスト30に対応するARP情報を学習することができ、例えば、ホスト30から送信されたARP応答又はARP要求を受信することでホスト30に対応するARP情報を学習する。1つの例において、ARP情報は、主に、ホスト30のIPアドレス(10.1.1.2を例とする)、MACアドレス(02e0-f102-00231を例とする)、ホスト30が属するVLAN(VLAN100を例とする)、Leaf11がホスト30にアクセスするインタフェース(つまりARP情報を学習したインタフェースであり、ここでXGE1/0/1を例とする)を含む。
【0060】
Leaf11は、学習した上記ARP情報に基づいて、ホスト30に対応するARPエントリ(ARPエントリ4_1と記す)を確立する。表1は、ARPエントリ4_1の構造を示す。
【表1】
【0061】
表1において、10.1.1.2は、ホスト30のIPアドレス、02e0-f102-00231は、ホスト30のMACアドレス、VLAN100は、ホスト30が属するVLAN、XGE1/0/1は、Leaf11がホスト30にアクセスするインタフェース(つまりARP情報を学習したインタフェース)である。
【0062】
Leaf11は、ARPエントリ4_1に基づいて対応するホストルート(ルートRt1と記す)を生成する。1つの例において、Leaf11は、ルーティングルール要求に応じてARPエントリ4_1を対応するルートRt1に変換することができ、最終的に変換されたルートRt1は、ルーティングルール要求を満たす。なお、他のホストルートと区別するために、ここで、ルートRt1のタイプは、指定タイプに設定されてもよく、ルートRt1がARPエントリに基づいて生成されることを示す。また、ルートRt1は、ARPエントリに基づいて生成されるため、この時、ルートRt1は、「ARPホストルート」と呼ばれてもよい。
【0063】
Leaf11は、ルートRt1をRIB(ルーティング情報ベース)に追加し、RIBに新たに追加されたルートRt1のエントリ(ルートエントリ4_2と略称する)のタイプを上記指定タイプに設定する。表2は、ルートエントリ4_2の構造を示す。
【表2】
【0064】
表2において、Destination/Maskは、ルートRt1のプレフィックス/プレフィックス長を示す。Proto/SubProto(プロトコル/サブプロトコル)は、指定タイプ、例えばDirect/ARPである場合、ルートRt1を生成するプロトコルタイプがARPであることを示し、ルートRt1がARP情報に基づいて生成されることを指示するためにも用いられる。Pre(優先度)は、ルート優先度を示す。Cost(メトリック値)は、ルーティングメトリック値を示す。NextHopは、ネクストホップを示す。Interfaceは、ルート出力インタフェースを示す。
【0065】
1つの例において、Leaf11は、ルートRt1をRIB(ルーティング情報ベース)に追加した後、ホスト30にデータを転送するときにIP転送テーブルにおけるルートRt1に基づいて転送するために、さらに優先的に選択されたルートRt1をIP転送テーブルに配信する。
【0066】
Leaf11は、ルートRt1のシーケンス番号を決定する。1つの例において、Leaf11は、条件を満たすホストルートがRIBに記録されたか否かを確認し、条件を満たすホストルートは、ルートRt1のプレフィックス/プレフィックス長と同じであり、Leaf11のBGP peerから送信され、且つシーケンス番号を有するホストルートである。Leaf11は、条件を満たすホストルートが記録されていないことを検出する場合、予め指定されたシーケンス番号の初期値(0を例とする)をRt1のシーケンス番号とする。
【0067】
Leaf11は、BGP peer(即ちSpine21)にルートRt1(本実施例において、ルートRt1のプレフィックス/プレフィックス長を送信することを例とする)、及びルートRt1のシーケンス番号を送信する。1つの例において、Leaf11は、BGP UPDATEパケットにより、BGP peer(即ちSpine21)にルートRt1及びルートRt1のシーケンス番号(0を例とする)を送信することができる。なお、BGP UPDATEパケットにシーケンス番号を付加させるために、本実施例において、BGP UPDATEパケットに拡張コミュニティ属性フィールドを追加することができる。1つの例において、拡張コミュニティ属性フィールドは、BGP UPDATEパケットのパス属性(Path attribute)に設定することができる。Path attributeに設定される具体的な位置について、本発明の実施例は具体的に限定しない。また、1つの実施例として、拡張コミュニティ属性フィールドの長さは、8バイトである。
【0068】
図5は、拡張コミュニティ属性フィールドの構造概略図を列挙的に示す。
図5に示すように、拡張コミュニティ属性フィールドは、以下を含む。
Typeは、タイプを指示するために用いられ、BGPに定義されたタイプ値と異なる。
図5は、Typeが0x07であることを例とする。
Sub-Typeは、サブタイプを指示するために用いられ、BGPに定義されたタイプ値と異なる。
図5は、Sub-Typeが0x00であることを例とする。
Reservedは、予約フィールドを指示するために用いられる。
Sequence Numberは、シーケンス番号、例えばルートRt1のシーケンス番号を付加するために用いられる。
【0069】
Spine21は、Leaf11から送信されたルートRt1及びルートRt1のシーケンス番号を受信した場合、その前に、他のBGP Peerから送信され、ルートRt1と同じプレフィックス/プレフィックス長を有し、且つシーケンス番号を有するホストルートを受信していないことを発見したとき、ルートRt1及びルートRt1のシーケンス番号をRIBに追加する(RIBによりIP転送テーブルに追加する)。
【0070】
Spine21は、ルートRt1及びルートRt1のシーケンス番号を他のBGP peer(Leaf12及びLeaf13)に送信する。Leaf12及びLeaf13は、Spine21から送信されたルートRt1及びルートRt1のシーケンス番号を受信すると、それぞれルートRt1及びルートRt1のシーケンス番号をRIBに記録し、ホスト30にデータを転送するときにローカルIP転送テーブルにおけるルートRt1に基づいてデータを転送するために、ルートRt1をローカルIP転送テーブルに配信する。
【0071】
以下、ホスト30のマイグレーションを例とする。
【0072】
ホスト30がLeaf11からLeaf12にマイグレーションされると仮定すると、
図6は、ホスト30がLeaf11からLeaf12にマイグレーションされる概略図を示し、ホスト30がLeaf11からLeaf12にマイグレーションされた後、Leaf12は、ホスト30に対応するARP情報を学習し、ホスト30に対応するARPエントリ(ARPエントリ4_3と記す)を確立する。表3は、ARPエントリ4_3の構造を示す。
【表3】
【0073】
Leaf12は、ARPエントリ4_3に基づいて対応するホストルート(ルートRt2と記す)を生成し、ルートRt2をRIB(ルーティング情報ベース)に追加し、RIBに新たに追加されたルートRt2のエントリ(ルートエントリ4_4と略称する)のタイプを上記指定タイプに設定する。表4は、ルートエントリ4_4の構造を示す。
【表4】
【0074】
Leaf12は、ルートRt2をRIBに追加した後、ホスト30にデータを転送するときにIP転送テーブルにおけるルートRt2に基づいて転送するために、さらにIP転送テーブルにおけるホスト30にデータを転送するルートをルートRt2に更新することができる。
【0075】
Leaf12は、ルートRt2のシーケンス番号を決定する。1つの例において、Leaf12は、条件を満たすホストルートがRIBに記録されたか否かを確認し、条件を満たすホストルートは、ルートRt2のプレフィックス/プレフィックス長と同じであり、Leaf12のBGP peerから送信され、且つシーケンス番号を有するホストルートである。Leaf12は、条件を満たすホストルートを検出した場合、この時、存在する当該条件を満たすホストルートのシーケンス番号が上記ルートRt1のシーケンス番号(ここで、0を例とする)であると、ルートRt1のシーケンス番号と指定値(例えば1)との和をルートRt2のシーケンス番号とする(この時、ルートRt2のシーケンス番号が1を例とすると仮定する)。
【0076】
Leaf12は、BGP peer(即ちSpine21)にルートRt2(本発明の実施例は、ルートRt2のプレフィックス/プレフィックス長を送信することを例とする)及びルートRt2のシーケンス番号を送信する。ここで、Leaf12がBGP peer(即ちSpine21)にルートRt2及びルートRt2のシーケンス番号を送信する方法は、上記Leaf11がBGP peer(即ちSpine21)にルートRt1及びルートRt1のシーケンス番号を送信する方法と同様であり、ここで説明を省略する。
【0077】
Spine21は、Leaf12から送信されたルートRt2及びルートRt2のシーケンス番号を受信すると、ルートRt2及び前に受信したルートRt2と同じプレフィックス/プレフィックス長を有し且つシーケンス番号を有する他のホストルートから、シーケンス番号が最も大きいホストルートを選択する。前に受信したルートRt2と同じプレフィックス/プレフィックス長を有し且つシーケンス番号を有する他のホストルートは、上記ルートRt1であると仮定し、ルートRt1のシーケンス番号が0であり、ルートRt2のシーケンス番号が1であるため、1つの実施例において、Spine21は、シーケンス番号の大きいルート、即ちルートRt2を選択してRIBに追加し(RIBによる転送テーブルへの追加)、ルートRt2及びルートRt2のシーケンス番号を他のBGP peer(Leaf11及びLeaf13)に送信する。
【0078】
Leaf13は、Spine21から送信されたルートRt2及びルートRt2のシーケンス番号を受信すると、ルートRt2及びルートRt2のシーケンス番号をRIBに記録し、ホスト30にデータを転送するときにIP転送テーブルにおけるルートRt2に基づいて転送するために、ローカルIP転送テーブルにおけるホスト30にデータを転送するルートRt1をルートRt2に更新する。
【0079】
Leaf11は、Spine21から送信されたルートRt2及びルートRt2のシーケンス番号を受信すると、ルートRt2及びルートRt2のシーケンス番号をRIBに記録し、ホスト30にデータを転送するときにIP転送テーブルにおけるルートRt2に基づいて転送するために、ローカルIP転送テーブルにおけるホスト30にデータを転送するルートRt1をルートRt2に更新する。
【0080】
Leaf11は、さらに、ルートRt2のプレフィックス/プレフィックス長をキーワードとして、IPアドレスが当該キーワードと同じであるARPエントリ(つまり上記ARPエントリ4_1)を見つけた。Leaf11は、ARPエントリ4_1を削除し、ARP要求(ARP要求の宛先IPアドレスは、ARPエントリ4_1内のIPアドレス、つまりホスト30のIPアドレスである)を送信する。Leaf11は、ARP要求を送信してから所定の時間(例えば200ミリ秒)内に対応するARP応答を受信していない場合、ARP要求の送信回数が設定回数(例えば3回)に達したか否かを確認し、そうでなければ、上記ARP要求を再度送信し、そうであれば、ARP要求を送信するフローを終了する。Leaf11がARP応答を受信した場合、IPアドレスがARP要求の宛先IPアドレスであるホスト(即ちホスト30)は、現在もLeaf11にアクセスしていることを説明し、Leaf11は、ARP応答に基づいてARP情報を学習し、その後に上記したLeaf11がARP情報を学習した後に実行する操作に戻る。Leaf11がARP応答を受信していない場合、上記ホスト30がLeaf11にアクセスしなくなっていることを決定する。
【0081】
なお、Leaf11は、ARPエントリ4_1を削除するとき、Leaf11は、さらにRIB(ルーティング情報ベース)におけるARPエントリ4_1に対応するルートエントリ4_2を削除する(ルートRt1をキャンセルすることも意味する)。Leaf11は、ルートRt1がキャンセルされたことを指示するためのルートキャンセルメッセージをBGP peer(即ちSpine21)に送信する。Spine21は、ルートキャンセルメッセージを受信した場合、現在優先的なホストルートがルートRt2であり、ルートキャンセルメッセージに指示されたキャンセルされたルートRt1ではないことを発見したとき、記録されたルートRt1を削除する。当然ながら、Spine21は、ルートキャンセルメッセージを受信した場合、現在優先的なホストルートがルートRt1であり、ちょうどルートキャンセルメッセージに指示されたキャンセルされたルートであることを発見したとき、記録された上記ルートキャンセルメッセージによって指示されたキャンセルされたルートを削除し、上記したホストルートを選択する操作に再び戻る。
【0082】
なお、さらに、上記したホスト30がLeaf11からLeaf12にマイグレーションされる過程において、ホスト30はLeaf11がオンラインになった直後にLeaf12にマイグレーションされ、Leaf12は上記Spine21から送信されたルートRt1及びルートRt1のシーケンス番号をまだ受信していないか、又はLeaf12は上記Spine21から送信されたルートRt1及びルートRt1のシーケンス番号を受信したがまだRIBに記録するとき間がないという特殊なケースがよく発生する。この特殊なケースにおいて、この時、Leaf12がルートRt2のシーケンス番号をちょうど決定すれば、Leaf12はルートRt2のシーケンス番号をシーケンス番号の初期値(0を例とする)と決定する。その後、上述したように、Leaf12は、ルートRt2及びルートRt2のシーケンス番号をBGP peer(即ちSpine21)に送信する。Spine21は、ルートRt2を受信したとき、ルートRt2と同じプレフィックス/プレフィックス長を有するルートRt1のシーケンス番号が、ルートRt2のシーケンス番号と同じであり、いずれも0であることを発見する可能性があり、この時、Spine21は、1つのルートをランダムに選択してもよく、既存のルート優先ルールに従って1つのルートを選択してもよい。Spine21がルートRt1を選択すると、この時ホスト30がLeaf11からLeaf12にマイグレーションされるため、ホスト30に送信したデータをLeaf11に転送してしまうなどの一時的なデータ転送エラーが発生する可能性がある。しかし、このデータ転送エラーの時間が比較的短く、それは、Spine21がルートRt1を選択すると、Spine21がルートRt1及びルートRt1のシーケンス番号を他のBGP peer(Leaf12及びLeaf13)にも送信するからである。Leaf12は、ルートRt1及びルートRt1のシーケンス番号を受信すると、上記したLeaf11がSpine21から送信されたルートRt2及びルートRt2のシーケンス番号を受信した場合の処理方法で処理する。これにより、最終的に、Spine21は、ルートRt2を選択し、ホスト30に送信するデータをLeaf12に転送し、Leaf12を介してホスト30に転送し、データ転送の正確性を保証する。
【0083】
以上、本発明の実施例で提供される方法を説明する。
【0084】
上記の実施例から分かるように、いずれか1つのLeafがSpineから送信されたホストルートを受信した場合、ホストルートのシーケンス番号に関わらず、Spineから送信されたホストルートを優先的に選択してIP転送テーブルに配信してデータ転送を指導し、対応するARPエントリ(ARPエントリにおけるIPアドレスは当該ホストルートのプレフィックスと同じである)を削除し、削除されたARPエントリに対応するホストルートをタイムリーにキャンセルして、Spineにルートキャンセルメッセージを送信することでSpineがルートをタイムリーにキャンセルすることをトリガする。このように、ホストがマイグレーションされた後に、当該ホストに送信するパケットを当該ホストがマイグレーションされた後にアクセスしたLeafにタイムリーに転送することを保証する。
【0085】
さらに、Leafは、対応するARPエントリを削除するとき、さらに、対応するIPアドレス(当該ホストルートのプレフィックスと同じであり、削除されたARPエントリにおけるIPアドレスでもある)のARP要求を送信することにより、対応するホストがローカルにアクセスしているか否かを検知し、パケットを誤って転送することを防止する。
【0086】
以上、本発明で提供されるルート更新方法を説明し、以下、本発明で提供されるルート更新装置を説明する。
【0087】
図7を参照し、
図7は、本発明で提供されるルート更新装置の構造図である。当該装置は、アクセス機器に適用され、受信ユニット701及びルーティングユニット702を含む。
【0088】
受信ユニット701は、本機器のBGP peerから送信された第1のホストルート及び第1のシーケンス番号を受信するために用いられ、前記第1のシーケンス番号は、前記第1のホストルートのシーケンス番号であり、前記BGP peerが前記第1のホストルートの送信を決定する根拠である。
【0089】
ルーティングユニット702は、前記第1のホストルートを本機器がホストにデータを転送するときに使用するルートとして優先的に選択し、記録された前記ホストに対応するARPエントリを削除するために用いられ、前記ARPエントリにおけるIPアドレス、前記ホストのIPアドレスは、いずれも前記第1のホストルートにおけるプレフィックスと同じである。
【0090】
1つの実施例として、当該装置は、さらに、前記ホストにARP要求を送信するためのARPユニット703を含み、前記ARP要求の宛先IPアドレスは前記第1のホストルートにおけるプレフィックスと同じである。
【0091】
1つの例において、ARPユニット703は、前記ARP要求を送信してから所定の時間内にARP応答を受信していない場合、前記ARP要求の送信回数が設定回数に達したか否かを検出し、前記設定回数に達していない場合、前記ARP要求を再度送信する。
【0092】
1つの実施例として、ARPユニット703は、ARP応答を受信した場合、ARP応答に基づいてARP情報を学習する。
【0093】
これに基づき、ルーティングユニット702は、ARP情報を利用して第2のホストルートを生成し、前記第2のホストルートの第2のシーケンス番号を決定し、本機器のBGP peerに前記第2のホストルート及び前記第2のシーケンス番号を送信し、本機器が前記ホストにデータを転送するときに使用するルートを、前記第1のホストルートから前記第2のホストルートに更新する。ここで、第2のホストルートのタイプは、指定タイプであり、指定タイプは、前記第2のホストルートが前記ARP情報に基づいて生成されることを指示するために用いられる。
【0094】
1つの例において、前記第2のホストルートの第2のシーケンス番号を決定するとき、ルーティングユニット702は、条件を満たすホストルートが記録されたか否かを確認し、ここで、前記条件を満たすホストルートは、前記第2のホストルートにおけるプレフィックス/プレフィックス長と同じであり且つ前記BGP peerから送信されたシーケンス番号を有するホストルートであり、条件を満たすホストルートが記録されていない場合、予め指定されたシーケンス番号の初期値を前記第2のホストルートの第2のシーケンス番号とし、条件を満たすホストルートが記録されている場合、記録された条件を満たす全てのホストルートのシーケンス番号に基づいて、前記第2のホストルートの第2のシーケンス番号を決定する。
【0095】
1つの実施例として、記録された条件を満たす全てのホストルートのシーケンス番号に基づいて、前記第2のホストルートの第2のシーケンス番号を決定するとき、ルーティングユニット702は、条件を満たす全てのホストルートのシーケンス番号から最大シーケンス番号を選択し、前記最大シーケンス番号と指定値との和を第2のホストルートの第2のシーケンス番号とする。
【0096】
1つの実施例として、第1のホストルートを本機器が前記ホストにデータを転送するときに使用するルートとして優先的に選択するとき、ルーティングユニット702は、IP転送テーブルに本機器が前記ホストにデータを転送するときに使用するルート(既存のルートと記す)が存在するか否かを確認し、存在しない場合、前記第1のホストルートをIP転送テーブルに配信するステップと、存在する場合、前記IP転送テーブルにおける上記既存のルートを前記第1のホストルートに更新するステップと、を含んでもよい。
【0097】
1つの例において、記録された前記ARPエントリを削除するとき、又は記録された前記ARPエントリを削除した後、ルーティングユニット702は、さらに、記録された第3のホストルートをキャンセルし、ここで、前記第3のホストルートのルートタイプは、指定タイプであり、前記指定タイプは、前記第3のホストルートが前記ARPエントリにおけるARP情報に基づいて生成されることを指示するために用いられ、本機器のBGP Peerにルートキャンセルメッセージを送信し、ここで、前記ルートキャンセルメッセージは、前記第3のホストルートがキャンセルされることを指示するために用いられる。
【0098】
以上、
図7に示すルート更新装置の構造の説明が完了する。
【0099】
図8を参照し、
図8は、本発明で提供される別のルート更新装置の構造図である。当該装置は、集約機器に適用され、受信ユニット801及びルーティングユニット802を含んでもよい。
【0100】
受信ユニット801は、本機器のBGP peerから送信されたホストルート及び前記ホストルートのシーケンス番号を受信するために用いられる。
【0101】
ルーティングユニット802は、上記ホストルート及び受信した上記ホストルートと同じプレフィックス/プレフィックス長を有する他の各ホストルートから、シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)を選択し、上記第1のホストルートを送信する第1のBGP peer以外の他のBGP peerに、第1のホストルート及び第1のホストルートのシーケンス番号(第1のシーケンス番号と記す)を送信するために用いられる。
【0102】
1つの実施例として、ルーティングユニット802が、上記ホストルート及び受信した上記ホストルートと同じプレフィックス/プレフィックス長を有する他の各ホストルートから、シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)を選択することは、上記ホストルート及び受信した上記ホストルートと同じプレフィックス/プレフィックス長を有する他の各ホストルートから、シーケンス番号が最も大きいホストルートを選択するステップと、選択されたシーケンス番号が最も大きいホストルートの個数が1である場合、当該選択されたシーケンス番号が最も大きいホストルートを、上記シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)とするステップと、選択されたシーケンス番号が最も大きいホストルートの個数が1よりも大きい場合、設定されたルート決定方式に従って、選択されたシーケンス番号が最も大きい各ホストルートから、1つのホストルートを、上記シーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)として決定するステップと、を含んでもよい。ここで設定されたルート決定方式は、例えばルート優先度、ルートネクストホップの到達可能など、多くの実現形態を有し、本発明の実施例は、具体的に限定しない。最終的には、以上の説明により、シーケンス番号を根拠としてシーケンス番号が指定条件を満たす1つのホストルート(第1のホストルートと記す)を選択する。
【0103】
1つの実施例として、受信ユニット801は、さらに、ルートキャンセルメッセージを受信するために用いられる。ルートキャンセルメッセージは、キャンセルされたホストルートを指示するために用いられる。受信ユニット801がルートキャンセルメッセージを受信したとき、ルーティングユニット802は、さらに、当該ルートキャンセルメッセージに指示されたホストルートをキャンセルすることができる。
【0104】
【0105】
上記方法と同様の出願思想に基づき、本発明の実施例は、さらに電子機器を提供する。当該電子機器の構造は
図9に示すように、プロセッサ及び機械可読記憶媒体を含んでもよい。
【0106】
ここで、機械可読記憶媒体は、前記プロセッサによって実行可能な機械実行可能命令を記憶している。
【0107】
プロセッサは、機械実行可能命令を実行するために用いられ、本発明の上記例に開示された方法を実施する。
【0108】
例示的に、上記機械可読記憶媒体は、いかなる電子、磁性、光学又は他の物理的記憶装置であってもよく、例えば実行可能な命令、データなどの情報を含むか又は記憶してもよい。例えば、機械可読記憶媒体は、RAM(Radom Access Memory、ランダムアクセスメモリ)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ(例えばハードディスクドライブ)、ソリッドステートドライブ、いかなるタイプの記憶ディスク(例えば光ディスク、dvdなど)、又は類似の記憶媒体、又はこれらの組み合わせであってもよい。
【0109】
【0110】
上記の実施例が説明したシステム、装置、モジュール又はユニットは、具体的にはコンピュータチップ又はエンティティにより実現され、又はある機能を有する製品により実現されてもよい。典型的な実現機器は、コンピュータであり、コンピュータの具体的な形態は、パーソナルコンピュータ、ラップトップ型コンピュータ、セルラー電話、カメラ電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーション機器、電子メール送受信機器、ゲームコンソール、タブレットコンピュータ、ウェアラブル機器又はこれらの機器うちの任意のいくつかの機器の組み合わせであってもよい。
【0111】
説明を容易にするため、以上の装置を説明するときに機能を各種のユニットに分けてそれぞれ説明する。当然ながら、本発明を実施するときに各ユニットの機能を同一又は複数のソフトウェア及び/又はハードウェアで実現することができる。
【0112】
当業者であれば分かるように、本発明の実施例は、方法、システム、又はコンピュータプログラム製品として提供することができる。したがって、本発明は、完全なハードウェア実施例、完全なソフトウェア実施例、又はソフトウェアとハードウェアを結合する実施例の形態を採用することができる。しかも、本発明の実施例は、コンピュータの利用可能なプログラムコードを含む1つ又は複数のコンピュータの利用可能な記憶媒体(ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)上で実施されるコンピュータプログラム製品の形態を採用することができる。
【0113】
本発明は、本発明の実施例に基づく方法、機器(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明する。コンピュータプログラム命令によりフローチャート及び/又はブロック図における各フロー及び/又はブロック、及びフローチャート及び/又はブロック図におけるフロー及び/又はブロックの組み合わせを実現できることを理解すべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込みプロセッサ又は他のプログラマブルデータ処理機器のプロセッサに提供して機械を生成することができ、コンピュータ又は他のプログラマブルデータ処理機器のプロセッサにより実行される命令は、フローチャートの1つのフロー又は複数のフロー及び/又はブロック図の1つのブロック又は複数のブロックに指定された機能を実現するための装置を生成する。
【0114】
しかも、これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理機器が特定の形態で動作することをブート可能なコンピュータ読み取り可能なメモリに記憶することができ、当該コンピュータ読み取り可能なメモリに記憶された命令は、命令装置を含む製造品を生成し、当該命令装置は、フローチャートの1つのフロー又は複数のフロー及び/又はブロック図の1つのブロック又は複数のブロックに指定された機能を実現する。
【0115】
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理機器にアップロードすることもでき、コンピュータ又は他のプログラマブル機器に一連の操作ステップを実行してコンピュータにより実現される処理を生成し、それによりコンピュータ又は他のプログラマブル機器に実行される命令は、フローチャートの1つのフロー又は複数のフロー及び/又はブロック図の1つのブロック又は複数のブロックに指定された機能を実現するためのステップを提供する。
【0116】
以上は、本発明の実施例に過ぎず、本発明を限定するものではない。当業者であれば、本発明は、様々な変更及び変化が可能である。本発明の精神と原理内で行われたいかなる修正、均等置換、改良などは、いずれも本発明の請求項の範囲内に含まれるべきである。
【国際調査報告】