(57)【特許請求の範囲】
【請求項１】
ダイナミックトンネルのメッセージ転送の実現方法であって、
IPv6ネットワークエッジに位置するレイヤ3スイッチにおける特定用途向け集積回路ASICハードウェア転送テーブルにおけるダイナミックトンネルのアグリゲーションルーティングテーブルエントリを、中央処理装置CPUを指すように予め設定することと、
前記スイッチがIPv6メッセージを受信し、もし、IPv6ルーティング検索によって受信したIPv6メッセージがダイナミックトンネルを指していると判断したと、前記アグリゲーションルーティングテーブルエントリによって前記IPv6メッセージを前記CPUに送信することと、
前記CPUが前記IPv6メッセージを受信し、ソフトウェアルーティングの方式を採用し、取得されたレイヤ2情報と前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を記憶し、且つ該レイヤ2情報と前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を前記ASICハードウェア転送テーブルに同期し、且つ前記IPv6メッセージを、前記レイヤ2情報に対応する出力ポートから転送することとを備えるダイナミックトンネルのメッセージ転送の実現方法。
【請求項２】
前記スイッチがIPv6メッセージを受信したステップの後に、
もし、前記スイッチがIPv6ルーティングによって前記ASICハードウェア転送テーブルに前記IPv6メッセージの出力ポート情報を検索したなら、前記IPv6メッセージをハードウェア転送し、プロセスを終了することをさらに備える請求項１に記載の方法。
【請求項３】
前記方法は、前記CPUが前記IPv6メッセージを受信したステップの後に、
前記CPUは受信されたIPv6メッセージのIPv6宛先アドレスによってIPv6ルーティング検索を行い、もしルーティングの次ホップがダイナミックトンネルインタフェースであると判断したなら、ダイナミックトンネル転送テーブルに、前記IPv6宛先アドレスにおけるネットワークプレフィックスに対応するテーブルエントリを記憶しているかどうかをさらに判断し、記憶しているなら、該テーブルエントリにおけるレイヤ2情報によって前記IPv6メッセージを、該レイヤ2情報に対応する出力ポートから転送し、プロセスを終了することを、さらに含み、
取得されたレイヤ2情報と前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を記憶するステップは、もし、前記CPUが前記ダイナミックトンネル転送テーブルに、前記IPv6宛先アドレスにおけるネットワークプレフィックスに対応するテーブルエントリを記憶していなければ、前記IPv6宛先アドレスにおけるネットワークプレフィックスを前記ダイナミックトンネル転送テーブルに記入し、且つ前記IPv6宛先アドレスから取得されたIPv4宛先アドレスによって前記IPv6メッセージをIPv4プロトコルカプセル化し、カプセル化されたメッセージをIPV4ルーティング検索し、アドレス解析プロトコルARPプロトコルによって次ホップのレイヤ2情報を学習した後、前記ダイナミックトンネル転送テーブルにおける前記ネットワークプレフィックスに対応するテーブルエントリにおけるレイヤ2情報を前記次ホップのレイヤ2情報に更新することを含む請求項１に記載の方法。
【請求項４】
ダイナミックトンネルメッセージ転送の実現スイッチであって、IPv6ネットワークエッジに位置し、前記スイッチは中央処理装置CPU及び特定用途向け集積回路ASIC交換チップを含み、
前記ASIC交換チップのハードウェア転送テーブルにおけるダイナミックトンネルのアグリゲーションルーティングテーブルエントリは前記CPUを指すように予め設定され、前記ASIC交換チップは、IPv6メッセージを受信した後、もし、IPv6ルーティング検索によって、受信されたIPv6メッセージがダイナミックトンネルを指していると判断したと、前記アグリゲーションルーティングテーブルエントリによって前記IPv6メッセージを前記CPUに送信するように設置され、
前記CPUは、IPv6メッセージを受信した後、ソフトウェアルーティングの方式を採用し、取得されたレイヤ2情報と前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を記憶し、且つ該レイヤ2情報と前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を前記ASICハードウェア転送テーブルに同期し、且つ前記IPv6メッセージを、前記レイヤ2情報に対応する出力ポートから転送するように設置されるダイナミックトンネルメッセージ転送の実現スイッチ。
【請求項５】
前記ASIC交換チップは、さらに、IPv6メッセージを受信した後、前記ASICハードウェア転送テーブルに前記IPv6メッセージの出力ポート情報を検索し、見つかったら、前記IPv6メッセージをハードウェア転送するように設置される請求項４に記載のスイッチ。
【請求項６】
前記CPUは、さらに、
IPv6メッセージを受信した後、前記IPv6メッセージのIPv6宛先アドレスによってIPv6ルーティング検索を行い、もし、ルーティングの次ホップがダイナミックトンネルインタフェースであると判断したなら、ダイナミックトンネル転送テーブルに、前記IPv6宛先アドレスにおけるネットワークプレフィックスに対応するテーブルエントリを記憶しているかどうかをさらに判断し、記憶しているなら、該テーブルエントリにおけるレイヤ2情報によって前記IPv6メッセージを、前記レイヤ2情報に対応する出力ポートから転送するように設置され、及び、
前記CPUは、以下のような方式によって、取得されたレイヤ2情報と前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を記憶するように設置される、つまり、前記ダイナミックトンネル転送テーブルに、前記IPv6宛先アドレスにおけるネットワークプレフィックスに対応するテーブルエントリを記憶していないと判断したと、前記IPv6宛先アドレスにおけるネットワークプレフィックスを前記ダイナミックトンネル転送テーブルに記入し、且つ前記IPv6宛先アドレスから取得されたIPv4宛先アドレスによって前記IPv6メッセージをIPv4プロトコルカプセル化し、カプセル化されたメッセージをIPV4ルーティング検索し、アドレス解析プロトコルARPによって次ホップのレイヤ2情報を学習した後、前記ダイナミックトンネル転送テーブルにおける前記ネットワークプレフィックスに対応するテーブルエントリにおけるレイヤ2情報を、前記次ホップのレイヤ2情報に更新するように設置される請求項４に記載のスイッチ。
【請求項７】
前記CPUはIPv6メッセージ転送モジュール、トンネル転送モジュール、トンネル転送テーブル更新モジュール、IPv4メッセージ転送モジュール、カプセル化情報更新モジュール、及びメモリモジュールを含み、前記メモリモジュールには前記ダイナミックトンネル転送テーブルが記憶され、
前記IPv6メッセージ転送モジュールは、前記CPUに送信したIPv6メッセージに対して宛先アドレスによってIPv6ルーティング検索を行い、ルーティングの次ホップがダイナミックトンネルインタフェースであると判断したなら、前記IPv6メッセージを前記トンネル転送モジュールへ送信するように設置され、
前記トンネル転送モジュールは、前記IPv6メッセージ転送モジュールが送信したIPv6メッセージを受信した後、前記ダイナミックトンネル転送テーブルに前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスに対応するテーブルエントリを記憶しているかどうかを判断し、記憶しているなら、該テーブルエントリにおけるレイヤ2情報によって前記IPv6メッセージを、前記レイヤ2情報に対応する出力ポートから転送し、記憶していなければ、前記IPv6宛先アドレスにおけるネットワークプレフィックスを前記トンネル転送テーブル更新モジュールに送信し、且つ前記IPv6宛先アドレスから取得されたIPv4宛先アドレスによって前記IPv6メッセージをIPv4プロトコルカプセル化し、その後、カプセル化されたメッセージを前記IPv4メッセージ転送モジュールに送信するように設置され、
前記トンネル転送テーブル更新モジュールは、前記トンネル転送モジュールが送信したネットワークプレフィックスを受信した後、ダイナミックトンネル転送テーブルに該ネットワークプレフィックスを記憶しているかどうかを判断し、記憶していなければ前記ダイナミックトンネル転送テーブルに、該ネットワークプレフィックスのために新たなテーブルエントリを作成するように設置され、
前記IPv4メッセージ転送モジュールは、受信され且つカプセル化されたメッセージをIPV4ルーティング検索し、ARPプロトコルによって次ホップのレイヤ2情報を学習した後、前記次ホップのレイヤ2情報を前記カプセル化情報更新モジュールに送信し、且つ前記カプセル化されたメッセージをレイヤ2カプセル化した後、前記次ホップのレイヤ2情報に対応する出力ポートから転送するように設置され、
前記カプセル化情報更新モジュールは、前記次ホップのレイヤ2情報を受信した後、ダイナミックトンネル転送テーブルにおける前記ネットワークプレフィックスに対応するテーブルエントリにおけるレイヤ2情報を前記次ホップのレイヤ2情報に更新するように設置される請求項６に記載のスイッチ。
【請求項８】
前記トンネル転送テーブル更新モジュールは、さらに、前記ダイナミックトンネル転送テーブルに前記ネットワークプレフィックスを記憶していると判断した後、前記ネットワークプレフィックスが所在するテーブルエントリのエージングタイマを、初期値に回復するように設置される請求項７に記載のスイッチ。
【請求項９】
前記トンネル転送テーブル更新モジュールは、さらに、タイミングエージングメカニズムをメンテナンスし、エージング時間が達した時、テーブルエントリのために削除マーカーを設置するように設置される請求項８に記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信技術に関し、特にダイナミックトンネルのメッセージ転送の実現方法及びスイッチに関する。
【背景技術】
【０００２】
インターネットワーク規模の急速な発展につれ、IPプロトコルの設計当時の多くの制限がますます顕著になっている。特に元の32ビットのIPアドレスのスペースは、もう現在のインターネットの発展需要を満足させられない。IPv6プロトコルは、このような時代の需要から生まれたものである。IPプロトコルからIPv6プロトコルへの移行は歴史的必然性があるものの、この過程は一夜にして起こるものではない。IPv6ネットワークを配備する過程では、IPv4ネットワークは未だ大規模に存在する。IPv4からIPv6ネットワークへ移行するという問題を解決する過程は、多くの移行技術の発生を促進し、そのうち、人に最も注目されるのは、トンネル技術及びデュアルスタック技術である。トンネル技術は、IPv4/IPv6ネットワークのエッジのみに配備する必要があるため、デバイスの更新コストを大いに低下させ、主要な移行技術となった。
【０００３】
トンネル技術は、IPv6ネットワークのエッジデバイスがメッセージを受信した後、その上にIPv6ルーティング検索を行い、IPv6ルーティングがトンネルを指せば、トンネル情報によって、受信されたメッセージをIPv4プロトコルカプセル化し、その後に再びIPv4ルーティングによってIPv4ネットワークに該カプセル化されたメッセージを転送し、該メッセージがIPv4ネットワークのエッジに達した後にIPv4ヘッド部を取り除き、再びIPv6ルーティングに応じて該メッセージを新たに転送することを主な内容とする。この過程で、より顕著な特徴は、IPv6メッセージが経たネットワークエッジデバイスは、必ずIPv4/IPv6デュアルスタックのものであり、且つ2回のルーティング検索を行う必要があることである。これはネットワークエッジにあるデュアルスタックネットワークデバイスへ高い性能を要求し、特にASIC(Application Specific Integrated Circuit、特定用途向け集積回路)の転送を主とするレイヤ3スイッチングデバイスのハードウェア転送機能にチャレンジする。
【０００４】
レイヤ3スイッチング機能は、スイッチにレイヤ3ルーティング機能を増加することによって実現する。簡単に言えば、レイヤ3スイッチングは、まず受信された第1の未知のデータフローをソフトウェアルーティング転送する必要があり、その後、第1回のルーティング転送で取得されたレイヤ2情報によってレイヤ3ルーティングテーブルにバインディングされ、続いて同じ宛先アドレスを有するメッセージを転送する時に、該レイヤ3ルーティングテーブルにバインディングされたレイヤ2情報を直接的に利用してカプセル化転送を行うことができ、即ち、「1回のルーティング、複数回のスイッチング」であり、データパッケージの転送効率を有効的に向上させる。ハードウェアキャッシュがASIC交換チップによって実現されることができるため、上記方法を採用してデータ転送効率を大いに向上させ、且つデバイスのコストを有効に低下させることができる。
【０００５】
レイヤ3スイッチング技術がスタティックトンネルのメッセージ転送を処理する時に、難しいわけではなく、1本のスタティックトンネルが1つのIPv4宛先アドレスのみに対応し、アウトバウンドインタフェースが相対的に固定であるため、IPv4ネットワークのルーティングは動的な変化が発生しても、変化後の新たなアウトバウンドインタフェース情報ダイナミックスによってレイヤ3ルーティングテーブルを更新することができ、これによって、高速転送を実現する。
【０００６】
しかし、ダイナミックトンネル技術について、実現するのはかなり困難である。一般的なダイナミックトンネル技術は、固定フォーマットのIPv6アドレスを使用し、該アドレスに1つのIPv4アドレスを含む。メッセージをトンネルカプセル化する時に、IPv6メッセージにおけるIPv6宛先アドレスに応じてIPv4宛先アドレスを取得してカプセル化を行う。宛先IPv4アドレスが動的に変化するため、必ず次ホップのアドレスの相違をもたらし、さらにアウトバウンドインタフェースレイヤ2情報の多様性をもたらし、このように、1つのIPv6ルーティングセット、IPv4ルーティングセット、レイヤ2情報セットの間の1種の多対多のマッピング関係に直面する。もちろん、2回のルーティング検索によって転送を実現するNP(Network Processor、ネットワークプロセッサ)実現技術を利用して該問題を解決することは難しいものではないが、直接的にIPv6ルーティングインデックスからレイヤ2情報までスイッチング転送を行うASIC交換チップにとっては難しくなる。
【０００７】
図1に示すように、6to4トンネルを利用してIPv6アイランドを相互接続する1つの簡単な位相図であり、そのうち、サイトA、B、C、DがIPv4ネットワークのみに接続できるため、サイトエッジにIPV6/IPV4デュアルスタックネットワークデバイスを配備する必要がある。仮にサイトAのエッジに1台のレイヤ3スイッチを配備すると、IPv6/IPv4デュアルスタックプロトコルをサポートする。該デバイスに6to4トンネルを配置し、そのIPv6サイトネットワークのプレフィックスは2002::101:101::/48である。且つ2002::/16プレフィックスの出口をトンネルに配置することによって他の3つのサイトのインタワーキングを実現する。データメッセージをサイトAからサイトBに送信する場合、スイッチが該メッセージの宛先アドレス2002:201:101::/48によってルーティングを検索し、出力口がトンネルであることを発見すると、そのうちのIPv4アドレス2.1.1.1によってIPV4カプセル化を行い、さらにIPV4ルーティングテーブルを検索し、次ホップのネットワークセグメントが1.0.1.0/24であることを見つける。その後、IPV4ルーティングの次ホップの情報によって、レイヤ2情報を取得し、カプセル化転送を行う。レイヤ3スイッチング原理に応じて、この時に取得されたレイヤ2情報をIPV6のルーティングプレフィックス2002::/16に直接的にバインディングすべきであり、これによって、後続のメッセージ転送にASICの高速転送を実現する。しかし、このように他のサイトへのメッセージを転送することができない問題をもたらす。
【０００８】
図2に示すように、すべてのメッセージがいずれもサイトBへ送信されるわけではなく、サイトC(宛先アドレスが2002::301:101::/48である)又はD(宛先アドレスが2002::401:101::/48である)へ送信するメッセージが通過すると、該レイヤ3スイッチは間違ったレイヤ2情報に応じてカプセル化を行い、正確な宛先サイトに達することができなくなる。このようにレイヤ3スイッチングの転送過程で解決しにくい問題が発生し、もちろん該問題を解決することはネットワークプロセッサを増加して2回のルーティング検索を行うことによって実現することができるが、これはレイヤ3スイッチのコストを大いに増加させる、且つスイッチの高速転送の優位の実現もできない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、従来のレイヤ3スイッチにASIC高速転送を実現できない技術ボトルネックを解決するために、ダイナミックトンネルのメッセージ転送の実現方法及びスイッチを提供する。
【課題を解決するための手段】
【００１０】
既存の問題を解決するために、本発明は、ダイナミックトンネルのメッセージ転送の実現方法を提供し、
IPv6ネットワークエッジに位置するレイヤ3スイッチにおける特定用途向け集積回路ASICハードウェア転送テーブルにおけるダイナミックトンネルのアグリゲーションルーティングテーブルエントリを、中央処理装置CPUを指すように予め設定することと、前記スイッチがIPv6メッセージを受信した後、IPv6ルーティング検索によって前記メッセージがダイナミックトンネルを指し示していると判断すると、前記アグリゲーションルーティングテーブルエントリによって前記メッセージを前記CPUに送信することと、前記CPUが該メッセージを受信した後、ソフトウェアルーティングの方式を採用し、取得されたレイヤ2情報と該メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を記憶し、且つ該対応関係を前記ASICハードウェア転送テーブルに同期し、且つ該メッセージを、前記レイヤ2情報が対応する出力ポートから転送することとを備える。
【００１１】
上記方法は、
前記スイッチが前記IPv6メッセージを受信した後、IPv6ルーティングによって前記ASICハードウェア転送テーブルに前記IPv6メッセージの出力ポート情報を検索すると、前記IPv6メッセージをハードウェア転送し、プロセスを終了することをさらに備える。
【００１２】
上記方法は、さらに、
前記CPUが前記メッセージを受信した後、そのIPv6宛先アドレスによってIPv6ルーティング検索を行い、ルーティングの次ホップがダイナミックトンネルインタフェースであると判断すると、ダイナミックトンネル転送テーブルに、前記IPv6宛先アドレスにおけるネットワークプレフィックスが対応するテーブルエントリを記憶しているかどうかをさらに判断し、記憶しているなら、該テーブルエントリにおけるレイヤ2情報によって、前記メッセージを、該レイヤ2情報が対応する出力ポートから転送してプロセスを終了し、記憶していなければ前記IPv6宛先アドレスにおけるネットワークプレフィックスを前記ダイナミックトンネル転送テーブルに記入し、且つ該メッセージのIPv6宛先アドレスから取得されたIPv4宛先アドレスによって前記メッセージをIPv4プロトコルカプセル化し、カプセル化されたメッセージをIPV4ルーティング検索し、アドレス解析プロトコルARPプロトコルによって次ホップのレイヤ2情報を学習した後、前記ダイナミックトンネル転送テーブルにおける前記ネットワークプレフィックスが対応するテーブルエントリにおけるレイヤ2情報を前記次ホップのレイヤ2情報に更新するという特徴を有してもよい。
【００１３】
本発明は、ダイナミックトンネルのメッセージ転送の実現スイッチをさらに提供し、IPv6ネットワークエッジに位置し、中央処理装置CPUと特定用途向け集積回路ASIC交換チップとを含み、
前記ASIC交換チップのハードウェア転送テーブルにおけるダイナミックトンネルのアグリゲーションルーティングテーブルエントリは、前記CPUを指すように予め設定され、前記ASIC交換チップは、IPv6メッセージを受信した後、IPv6ルーティング検索によって前記メッセージがダイナミックトンネルを指し示していると判断すると、前記アグリゲーションルーティングテーブルエントリによって前記メッセージを前記CPUに送信するように設置され、
前記CPUは、前記メッセージを受信した後、ソフトウェアルーティングの方式を採用し、取得されたレイヤ2情報と該メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を記憶し、且つ該対応関係を前記ASICハードウェア転送テーブルに同期し、且つ該メッセージを、該レイヤ2情報が対応する出力ポートから転送するように設置される。
【００１４】
上記スイッチは、さらに、
前記ASIC交換チップは、さらに、IPv6メッセージを受信した後、前記ASICハードウェア転送テーブルにおいて前記IPv6メッセージの出力ポート情報を検索し、検索されると、前記IPv6メッセージをハードウェア転送するように設置される、という特徴を有してもよい。
【００１５】
上記スイッチは、さらに、
前記CPUは、さらに、 
前記メッセージを受信した後、そのIPv6宛先アドレスによってIPv6ルーティング検索を行い、ルーティングの次ホップがダイナミックトンネルインタフェースであると判断すると、ダイナミックトンネル転送テーブルに、前記IPv6宛先アドレスにおけるネットワークプレフィックスが対応するテーブルエントリを記憶しているかどうかをさらに判断し、記憶しているなら、該テーブルエントリにおけるレイヤ2情報によって、前記メッセージを、該レイヤ2情報が対応する出力ポートから転送し、及び、
前記CPUは、以下のような方式によって、取得されたレイヤ2情報と前記IPv6メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスとの対応関係を記憶し、前記ダイナミックトンネル転送テーブルに、前記IPv6宛先アドレスにおけるネットワークプレフィックスが対応するテーブルエントリを記憶していないと判断すると、前記IPv6宛先アドレスにおけるネットワークプレフィックスを前記ダイナミックトンネル転送テーブルに記入し、且つ該メッセージのIPv6宛先アドレスから取得されたIPv4宛先アドレスによって前記メッセージをIPv4プロトコルカプセル化し、カプセル化されたメッセージをIPV4ルーティング検索し、アドレス解析プロトコルARPプロトコルによって次ホップのレイヤ2情報を学習した後、前記ダイナミックトンネル転送テーブルにおける前記ネットワークプレフィックスが対応するテーブルエントリにおけるレイヤ2情報を、学習されたレイヤ2情報に更新するように設置されるという特徴を有してもよい。
【００１６】
上記スイッチは、さらに、
前記CPUは、IPv6メッセージ転送モジュール、トンネル転送モジュール、トンネル転送テーブル更新モジュール、IPv4メッセージ転送モジュール、カプセル化情報更新モジュール、及びメモリモジュールを含んでもよく、前記メモリモジュールには前記ダイナミックトンネル転送テーブルが記憶され、
前記IPv6メッセージ転送モジュールは、前記CPUへ送信したメッセージに対して宛先アドレスによってIPv6ルーティング検索を行い、ルーティングの次ホップがダイナミックトンネルインタフェースであると判断すると、該メッセージを前記トンネル転送モジュールへ送信するように設置されてもよく、
前記トンネル転送モジュールは、前記IPv6メッセージ転送モジュールが送信したメッセージを受信した後、前記ダイナミックトンネル転送テーブルに該メッセージのIPv6宛先アドレスにおけるネットワークプレフィックスが対応するテーブルエントリを記憶しているかどうかを判断し、記憶しているなら、該テーブルエントリにおけるレイヤ2情報によって受信されたメッセージを、該レイヤ2情報が対応する出力ポートから転送し、記憶していなければ該IPv6宛先アドレスにおけるネットワークプレフィックスを前記トンネル転送テーブル更新モジュールに送信し、且つ該メッセージのIPv6宛先アドレスから取得されたIPv4宛先アドレスによって上記メッセージをIPv4プロトコルカプセル化し、その後、カプセル化されたメッセージを前記IPv4メッセージ転送モジュールに送信するように設置されてもよく、
前記トンネル転送テーブル更新モジュールは、前記トンネル転送モジュールが送信したネットワークプレフィックスを受信した後、ダイナミックトンネル転送テーブルに該ネットワークプレフィックスを記憶しているかどうかを判断し、記憶していなければ前記ダイナミックトンネル転送テーブルに、該ネットワークプレフィックスのために新たなテーブルエントリを作成するように設置され、
前記IPv4メッセージ転送モジュールは、受信され且つカプセル化されたメッセージをIPV4ルーティング検索し、ARPプロトコルによって次ホップのレイヤ2情報を学習した後、前記次ホップのレイヤ2情報を前記カプセル化情報更新モジュールに送信し、且つカプセル化されたメッセージをレイヤ2カプセル化した後、前記次ホップのレイヤ2情報が対応する出力ポートから転送するように設置され、
前記カプセル化情報更新モジュールは、前記次ホップのレイヤ2情報を受信した後、ダイナミックトンネル転送テーブルにおける上記ネットワークプレフィックスが対応するテーブルエントリにおけるレイヤ2情報を該学習された次ホップのレイヤ2情報に更新するように設置されるという特徴を有してもよい。
【００１７】
上記スイッチは、さらに、
前記トンネル転送テーブル更新モジュールは、さらに、前記ダイナミックトンネル転送テーブルに該ネットワークプレフィックスを記憶していると判断した後、該ネットワークプレフィックスが所在するテーブルエントリのエージングタイマを、初期値に回復するように設置されるという特徴を有してもよい。
【００１８】
上記スイッチは、さらに、
前記トンネル転送テーブル更新モジュールは、さらに、タイミングエージングメカニズムをメンテナンスし、時効時間に達した時、テーブルエントリのために削除マーカーを設置するように設置されるという特徴を有してもよい。
【発明の効果】
【００１９】
本発明を採用すると、ASIC交換チップの転送プロセスを変更することなく、ASIC交換チップ高速メッセージ転送の優位を十分に利用し、ダイナミックトンネル配置が簡単で、メンテナンスコストが低い優位を保護し、転送テーブル情報を動的に作成・更新し、ASIC転送リソースを十分に利用することができ、ルーティング検索効率を向上させるという利点を有する。
【図面の簡単な説明】
【００２０】
【図１】従来技術におけるダイナミックトンネル技術6to4トンネルのネットワーク位相図。
【図２】従来技術におけるダイナミックトンネル転送テーブルにおける一対マルチボトルネックの模式図。
【図３】本発明の実施例によるCPUにおける各モジュールの接続関係の模式図。
【図４】本発明を採用して処理する前後のハードウェア転送テーブル構造図。
【図５】本発明応用実例においてダイナミックトンネルメッセージ転送を行う稼動フローチャート。
【発明を実施するための形態】
【００２１】
以下、本発明の技術案について、図面及び実施例を結合してさらに詳細に説明する。
【００２２】
本発明の基本的な構想は、IPv6ネットワークエッジに位置するレイヤ3スイッチにおけるASICハードウェア転送テーブルにおけるダイナミックトンネルのアグリゲーションルーティングテーブルエントリを、CPUを指すように予め設定し、スイッチは、IPv6メッセージを受信した後、IPv6ルーティング検索によって該メッセージがダイナミックトンネルを指し示していると判断すると、上記アグリゲーションルーティングテーブルエントリによって該メッセージをCPUに送信し、CPUは該メッセージを受信した後、ソフトウェアルーティングの方式を採用し、取得されたレイヤ2情報と該メッセージのIPv6宛先アドレスのネットワークプレフィックスとの対応関係を記憶し、且つ該対応関係を上記ASICハードウェア転送テーブルに同期し、且つ該メッセージを、該レイヤ2情報が対応する出力ポートから転送することである。
【００２３】
また、スイッチは、IPv6ルーティングによって、ASICハードウェア転送テーブルにおいて上記IPv6メッセージの出力ポート情報を検索すると、該メッセージをハードウェア転送する。1回のルーティング、複数回のスイッチングのレイヤ3スイッチング技術の優位を真に実現する。
【００２４】
さらに、CPUが該メッセージを受信した後、ソフトウェアルーティングの方式を採用し、取得されたレイヤ2情報と該メッセージのIPv6宛先アドレスのネットワークプレフィックスとの対応関係を記憶することは、具体的に、
CPUが該メッセージを受信した後、そのIPv6宛先アドレスによってIPv6ルーティング検索を行い、ルーティングの次ホップがダイナミックトンネルインタフェースであると判断すると、ダイナミックトンネル転送テーブルに、上記IPv6宛先アドレスにおけるネットワークプレフィックスが対応するテーブルエントリを記憶しているかどうかをさらに判断し、記憶しているなら、直接的に該テーブルエントリにおけるレイヤ2情報によって、上記メッセージを、対応する出力ポートから転送して終了し、記憶していなければ該IPv6宛先アドレスのネットワークプレフィックスをダイナミックトンネル転送テーブルに記入し、且つ該メッセージのIPv6宛先アドレスから取得されたIPv4宛先アドレスによって上記メッセージをIPv4プロトコルカプセル化し、カプセル化されたメッセージをIPV4ルーティング検索し、ARP(Address Resolution Protocol、アドレス解析プロトコル)プロトコルを介して次ホップのレイヤ2情報(宛先MACアドレス及び出力ポート情報を含む)を学習した後、ダイナミックトンネル転送テーブルにおける上記ネットワークプレフィックステーブルエントリにおけるレイヤ2情報を、学習されたレイヤ2情報に更新するという方式によって実現することができる。
【００２５】
本発明の前記スイッチは、IPv6ネットワークエッジに位置し、ASIC交換チップ及びCPUを含み、図3に示すように、本発明の上記レイヤ3スイッチにおけるCPUには、IPv6メッセージ転送モジュール、トンネル転送モジュール、トンネル転送テーブル更新モジュール、IPv4メッセージ転送モジュール、カプセル化情報更新モジュール及びメモリモジュールを含み、該メモリモジュールにダイナミックトンネル転送テーブルを記憶し、且つ定期的に分散システムの各ラインカードへ該転送テーブルを同期する。各組成ユニットがソフトウェアスイッチングを実現するプロセスは、以下のステップを備える。
【００２６】
ａ．  IPv6メッセージ転送モジュールは、CPUへ送信するメッセージに対して宛先アドレスによってIPv6ルーティング検索を行い、ルーティングの次ホップがダイナミックトンネルインタフェースであると判断したら、該メッセージをトンネル転送モジュールへ送信してさらに処理することと、
ｂ．  トンネル転送モジュールが受信した後、ダイナミックトンネル転送テーブルに、該メッセージのIPv6宛先アドレスのネットワークプレフィックスが対応するテーブルエントリを記憶しているかどうかを判断し、記憶しているなら、直接的に該テーブルエントリにおけるレイヤ2情報によって対応する出力ポートから転送して終了し、記憶していなければ該IPv6宛先アドレスにおけるネットワークプレフィックスをトンネル転送テーブル更新モジュールに送信し、且つ該メッセージのIPv6宛先アドレスから取得されたIPv4宛先アドレスによって上記メッセージをIPv4プロトコルカプセル化し、その後、カプセル化されたメッセージをIPV4メッセージ転送モジュールに送信してさらに処理することと、
メッセージをIPv4カプセル化する具体的なプロセスは、前記トンネル転送モジュールが、トンネルのタイプによって、メッセージをIPv4ヘッド部カプセル化し、トンネルのタイプがダイナミックトンネルであると、IPV6ヘッド部における宛先IPv6アドレスによって、IPv4カプセル化された宛先IPアドレスを取得し、例えば、6to4トンネルであると、IPv6宛先アドレスの前の16ビットが2002であるかどうかを判断し、マッチングに成功すると、該アドレスの17〜48ビットを取り出してカプセル化の宛先IPアドレスとし、インタフェースに配置されたソースIPアドレスとともに、メッセージをIPv4カプセル化する。
【００２７】
ｃ．  トンネル転送テーブル更新モジュールは、トンネル転送モジュールが送信したネットワークプレフィックスを受信した後、ダイナミックトンネル転送テーブルに該ネットワークプレフィックスを記憶しているかどうかを判断し、記憶しているなら、該ネットワークプレフィックスが所在するテーブルエントリのエージングタイマ(即ち、該テーブルエントリのエージングタイマを初期値に回復する)を更新し、記憶していなければ該ダイナミックトンネル転送テーブルに、該ネットワークプレフィックスのために新たなテーブルエントリを作成し、それはタイミングエージングメカニズムをさらにメンテナンスし、時効時間に達した時、テーブルエントリのために削除マーカーを設置することと、
ｄ．  IPv4メッセージ転送モジュールが、受信された該カプセル化されたメッセージをIPV4ルーティング検索し、ARP(Address Resolution Protocol、アドレス解析プロトコル)プロトコルによって次ホップのレイヤ2情報(宛先MACアドレス及び出力ポート情報を含む)を学習した後、該レイヤ2情報をカプセル化情報更新モジュールに送信し、且つ該メッセージをレイヤ2カプセル化した後、次ホップのレイヤ2情報が対応する出力ポートから転送することと、
ｅ．  カプセル化情報更新モジュールは、レイヤ2情報を受信した後、ダイナミックトンネル転送テーブルにおける上記ネットワークプレフィックステーブルエントリにおけるレイヤ2情報を、該学習された次ホップのレイヤ2情報に更新する。また、IPV4ルーティングの次ホップ情報が変化したなどのため、レイヤ2情報が使用できなくなってしまう場合、該レイヤ2情報が対応するテーブルエントリを直ちにエージングする必要があり、且つ更新結果を各ラインカードに同期し、ダイナミックトンネル転送テーブルの再学習をトリガする。
【００２８】
なお、上記ステップcとステップdの実行順序は任意であり、ステップbの後、ステップeの前に実行することを保証すればよい。
【００２９】
図4は、本発明を採用して処理した後のトンネル転送テーブルのマッピング関係図であり、図から分かるように、本発明を採用してダイナミックトンネルのメッセージ転送を実現することができる。
【００３０】
以下、本発明の1つの応用実例により本発明をさらに説明する。
【００３１】
図5に示すように、6to4トンネルメッセージ転送を実現するプロセスは以下のステップを備える。
【００３２】
ステップ501：ソフトウェア・ハードウェア転送の判断
6to4ネットワークのIPV6メッセージは、ネットワークエッジの6to4トンネルデバイス(即ち、レイヤ3スイッチ)に達した後、まずASICハードウェア転送テーブルの検索を行い、48ビットプレフィックスの具体的な転送テーブルエントリを見つけた後に、直接的にハードウェア転送プロセスを実行して終了し、48ビットの6to4転送テーブルエントリを検索できなかった場合、2002の16ビットプレフィックス情報によってCPUに送信し、ソフトウェア転送プロセス502を行い、
ステップ502：IPV6メッセージ転送の処理過程
CPUに送信するメッセージの駆動について、イーサネット(登録商標)のタイプによってIPV6転送プロセスを行うことを決定し、IPV6メッセージ転送モジュールが、IPV6宛先アドレスによってIPV6ルーティング検索を行い、次のステップの転送を決定し、2002;;/16のスタティックルーティングによってトンネル転送プロセス503を行うことを決定し、
ステップ503：トンネル転送モジュールは、挿入されたIPV4アドレスによってメッセージカプセル化を行い、
トンネル転送モジュールは、トンネルのタイプによってメッセージ転送プロセスを決定し、6to4トンネルであるため、ここでIPV6宛先アドレスにおける17〜48ビットを取り出して宛先IPv4アドレスを生成し、該アドレス及びインタフェースに配置されたIPv4送信元アドレスによってメッセージカプセル化を行い、且つカプセル化された後のIPv6inIPv4メッセージをIPv4メッセージ転送モジュールに送信し、そのうち、ダイナミックトンネル転送テーブルの更新プロセスは上記ステップcと同じであり、ここでは繰り返さない。
【００３３】
ステップ504：IPv4メッセージ転送モジュールは、IPv4ルーティング及びARP情報によってレイヤ2メッセージカプセル化を行う。
【００３４】
ここで、受信されたIPv4メッセージについて、該モジュールは、まずIPv4ルーティング検索を行い、且つ次ホップのアドレスによってARPテーブルを検索してARPの学習を開始させ、レイヤ2情報を取得した後、メッセージカプセル化を行い、且つ該レイヤ2情報が対応するポートに送信し、そのうち、レイヤ2カプセル化情報処理プロセスは、上記ステップeと同じである。
【００３５】
メモリモジュールは、ダイナミックトンネル転送テーブルをASICハードウェア転送テーブル中に更新するため、この後、同じ6to4サイトネットワークに達した後続のIPv6データパッケージ(即ち、前の48ビットネットワークプレフィックスが同じである)について、直接的にASICハードウェア転送テーブルに命中され、且つハードウェアに同期された前のカプセル化情報によってメッセージを直接的にカプセル化転送する。
【００３６】
以上のように、現在の多数のASIC交換チップがすでにエージングダイナミックトンネルカプセル化をサポートするが、レイヤ3スイッチングの制限のため、ハードウェア二次ルーティング検索を実現できないため、ダイナミックトンネル転送のスイッチングの実現をボトルネックに陥れさせる。
【００３７】
本発明の方案によって、ソフトウェア二次ルーティング検索でレイヤ2カプセル化情報を取得し、且つ異なるネットワークセグメントのダイナミックトンネルサイトのために異なるハードウェアテーブルエントリを作成し、それらは同じダイナミックトンネルインタフェースに対応して、IPV4カプセル化を実現することができるが、異なるレイヤ2情報に対応し、メッセージを異なるポートへ転送することを実現するようにし、これによって、ASICスイッチングの「1回のルーティング、複数回のスイッチング」の高速転送を真に実現する。
【００３８】
もちろん、本発明は、他の多種多様の実施例を構成することが可能であり、当業者は、本発明に照らし合わせて、本発明の精神および実質から逸脱せずに、多くの相応する変更及び変形がなされることができるが、これらの相応する変更及び変形はいずれも本発明が添付する特許請求の保護範囲に属する。
【産業上の利用可能性】
【００３９】
従来技術に比べて、本発明は、ASIC交換チップの転送プロセスを変更しなく、ASIC交換チップ高速メッセージ転送の優位を十分に利用し、ダイナミックトンネル配置が簡単で、メンテナンスコストが低い優位を保護し、テーブル情報転送を動的に作成・更新し、ASIC転送リソースを十分に利用することができ、ルーティング検索効率を向上させる。
【図１】
0005438835.tif 000002
【図２】
0005438835.tif 000003
【図３】
0005438835.tif 000004
【図４】
0005438835.tif 000005
【図５】
0005438835.tif 000006