(57)【要約】  発明はプログラマブルネットワークデバイスに基づくマルチホストネットワークのルーティング転送方法を開示する。該方法において、データパケットのルーティング転送を行う際、転送フローテーブルのアドレスマッチング方法によってポートへのアドレスのマッチングを行い、マッチングされたポートに基づいてアドレスを分類して、各ポートにそれぞれ１つの宛先アドレスグループを対応させることと、リンク情報テーブルにおける情報及びポート選択関数に基づいて、適切なポート及び対応する宛先アドレスグループを選択し、残りのポートに対応する宛先アドレスグループを削除することと、アドレスフィルタ関数及びデータにおいて保持された前ホップ情報により、残りの宛先アドレスグループを更に削除することと、宛先アドレスグループにおける残りのアドレスに対して、単一アドレス選択方法により単一宛先アドレスを決定できる場合は、それを宛先アドレスとし、一般的なルーティング転送方法によりメッセージを宛先アドレスに転送し、決定できない場合は、宛先アドレスグループをカプセル化し、宛先アドレスになるまで、単一アドレス選択方法により単一宛先アドレスを１ホップずつ決定することを含む。【選択図】図１
2021501527.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法において、前記マルチホストネットワークは、コントローラとプログラマブルネットワークデバイスとを有し、前記コントローラは、ネットワークの状態に応じて、プログラマブルネットワークデバイスにおける情報をメンテナンスし、前記プログラマブルネットワークデバイスは、転送フローテーブルとリンク情報テーブルとをメンテナンスし、データパケットを修正して転送し、
前記方法は、
データパケットのルーティング転送を行う際、転送フローテーブルのアドレスマッチング方法によってポートへのアドレスのマッチングを行い、マッチングされたポートに基づいてアドレスを分類して、各ポートにそれぞれ１つの宛先アドレスグループを対応させることと、
リンク情報テーブルにおける情報及びポート選択関数に基づいて、適切なポート及び対応する宛先アドレスグループを選択し、残りのポートに対応する宛先アドレスグループを削除することと、
アドレスフィルタ関数及びデータにおいて保持された前ホップ情報により、残りの宛先アドレスグループを更に削除することと、
宛先アドレスグループにおける残りのアドレスに対して、単一アドレス選択方法により単一宛先アドレスを決定できる場合は、それを宛先アドレスとし、一般的なルーティング転送方法によりメッセージを宛先アドレスに転送し、決定できない場合は、宛先アドレスグループをカプセル化し、対応するポートに基づいてデータパケットを転送し、宛先アドレスになるまで、単一アドレス選択方法により単一宛先アドレスを１ホップずつ決定することと、を含むプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項２】
前記プログラマブルネットワークデバイスは、ＳＤＮ構造においてカスタマイズメッセージ及びプロトコルの非依存転送を処理する機能を有するネットワークデバイスであり、Ｏｐｅｎｆｌｏｗプロトコルを拡張することにより、転送層において転送フローテーブルのカスタマイズメッセージに対する処理及び制御を実行し、Ｐ４、ＰＯＦまたはＰＩＦ技術をサポートするルータまたはスイッチである、ことを特徴とする請求項１に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項３】
前記転送フローテーブルは、メッセージ転送に使用されるフローテーブルであり、宛先へのデータメッセージの転送情報を記録し、前記コントローラは、ルーティングプロトコルを介して転送フローテーブルを取得してプログラマブルネットワークデバイスに送信し、前記リンク情報テーブルは、プログラマブルネットワークデバイスにおける各転送ポートｐｏｒｔｋと、対応する関連リンクの状態情報値ｓｔａｔｕｓｋ，１，ｓｔａｔｕｓｋ，２…とを記録し、前記状態情報値は、ネクストホップまたはマルチホップのリンク状態及び可能なパスのリンク状態を含み、前記リンク状態は、ネクストホップ又はマルチホップポートの負荷、リンク帯域幅及び遅延を含む、ことを特徴とする請求項１〜２のいずれか１項に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項４】
前記コントローラは、ネットワークポリシーコントロールセンターであり、ネットワークのルーティング及び転送ポリシーを管理し、ＳＤＮコントローラによって拡張されて得られ、転送フローテーブル制御モジュールと、リンク情報テーブル制御モジュールとを含み、
前記転送フローテーブル制御モジュールは、ルーティングルールに応じて、転送フローテーブルのエントリーに対する作成、修正及び削除を行うコマンドをプログラマブルネットワークデバイスに送信し、
前記リンク情報テーブル制御モジュールは、ネットワーク状態情報に対して取得、計算及び学習を行った後、リンク情報テーブルのエントリーに対する作成、修正及び削除を行うコマンドをプログラマブルネットワークデバイスに送信することを特徴とする請求項１〜２のいずれか１項に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項５】
前記単一アドレス選択方法は、アドレスが１つのみであるか又は宛先アドレスのマッチング条件を満たすアドレスが１つのみである場合、該アドレスを宛先アドレスとして選択し、一方、現在では宛先アドレスのマッチング条件を満たすアドレスが複数である場合、選択ポリシーに応じて、宛先アドレスのマッチング条件を満たす１つのアドレスを宛先アドレスとして選択する、ことであることを特徴とする請求項４に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項６】
各データパケットはユーザの複数のアドレス及び現在のアドレスにルーティングされた前ｋホップの情報を保持し、ユーザがｎ個のホストを有する場合、対応する複数のアドレスの集合は｛ａｄｄｒ１，ａｄｄｒ２，…，ａｄｄｒｎ｝であるステップ１）と、
データパケットに対してルーティング転送を行う際、転送フローテーブルのアドレスマッチング方法によってポートへのアドレスのマッチングを行い、マッチングされたポートに基づいてアドレスを分類して、各ポートにそれぞれ１つの宛先アドレスグループを対応させる、ステップ２）と、
すべてのポートのリンク情報テーブルにおける情報をクエリし、ポート選択関数によって良好な状態のポートをネクストホップの転送ポートとして選択し、選択されていないポートに対応する宛先アドレスグループを削除する、ステップ３）と、
アドレスフィルタ関数及びデータにおいて保持された前ホップ情報によって残りの宛先アドレスグループを更に削除し、単一宛先アドレスを得ると、ステップ６）へ進み、そうではないと、ステップ５）へ進み、前記単一宛先アドレスは、アドレスが１つのみである又は複数のアドレスのうち、宛先アドレスのマッチング条件を満たすアドレスが１つのみであることである、ステップ４）と、
宛先アドレスのマッチング条件を満たすアドレスが複数である場合は、選択ポリシーに応じて宛先アドレスのマッチング条件を満たす１つのアドレスを単一宛先アドレスとして選択し、ステップ６）へ進み、そうではない場合は、アドレスグループをカプセル化し、対応するポートに基づいてデータパケットを転送し、ステップ３）へ進む、ステップ５）と、
取得された単一宛先アドレスを宛先アドレスとして、宛先に到着するまで、一般的なルーティング転送方法によりメッセージを転送するステップ６）と、を含むことを特徴とする請求項５に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項７】
前記ステップ２）は、具体的に、
複数のアドレスを含むデータパケットに対して転送フローテーブルのマッチングを行い、各アドレスが転送フローテーブルのアドレスマッチング方法に基づいて対応する転送ポートとマッチングし、ｎ個のアドレス｛ａｄｄｒ１，ａｄｄｒ２，…，ａｄｄｒｎ｝を有するデータパケット及びｍ個のポートを有するプログラマブルネットワークデバイス｛ｐｏｒｔ１，ｐｏｒｔ２，…，ｐｏｒｔｍ｝をマッチングし、各アドレスに対してそれぞれマッピング関係Ｍａｐｐｉｎｇ（ａｄｄｒｉ）＝ｐｏｒｔｊ（１≦ｉ≦ｎ、１≦ｊ≦ｍ、ｐｏｒｔｍは、デフォルトポートである）を有し、各アドレスは、いずれも転送フローテーブルに基づいて１つのポートにマッチングする、ステップ２０１）と、
マッチングされた転送ポートに基づいてアドレスを分類し、各ポートに対応するアドレスを１つのアドレスグループに分類し、そのマッピング関係は｛ｐｏｒｔ１：［ａｄｄｒ１１，ａｄｄｒ１２，…］，ｐｏｒｔ２：［ａｄｄｒ２１，ａｄｄｒ２２，…］，…，ｐｏｒｔｍ：［ａｄｄｒｍ１，ａｄｄｒｍ２，…］｝である、ステップ２０２）と、を含むことを特徴とする請求項６に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項８】
前記転送フローテーブルのアドレスマッチング方法は、データパケットのアドレスまたは識別子に基づいて対応する転送ポートをマッチングし、異なるルーティングメカニズムが異なるマッチング方法を有し、ＩＰアドレスのマッチング及びＩＣＮにおける名前マッチングを含む、ことであることを特徴とする請求項１または７に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項９】
前記ステップ３）のリンク情報テーブルのポート選択関数は、ｐｏｒｔｘ＝Ｆ（Ｚ，ｐａｃｋ）＝Ｆ２（Ｆ１（Ｚ，Ｐａｃｋ））であり、Ｚはリンク情報テーブルにおけるポートとリンク情報テーブルとの間のマッピング関係であり、Ｚ＝｛ｐｏｒｔ１：［ｓｔａｔｕｓ１，１，ｓｔａｔｕｓ１，２…］，ｐｏｒｔ２：［ｓｔａｔｕｓ２，１，ｓｔａｔｕｓ２，２…］，…，ｐｏｒｔｍ：［ｓｔａｔｕｓｍ，１，ｓｔａｔｕｓｍ，２…］｝、Ｐａｃｋはメッセージコンテンツであり、Ｆ（ｘ）は状態情報に基づくポート選択関数であり、
前記ポート選択関数Ｆ（ｘ）は、リンク情報テーブルにおけるある項目の値、又は複数の項目の値に基づいて計算し、それにより各候補ポートの状態値を計算する状態計算関数Ｆ１（ｘ）と、計算された状態値に基づいてネクストホップのポートを選択し、状態値が最も高いポートをネクストホップの転送ポートとして選択する選択関数Ｆ２（ｘ）と、を含むことを特徴とする請求項６または７に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項１０】
前記ステップ４）のアドレスフィルタ関数は、ポート選択関数により選択されたポートｐｏｒｔｉに対応するアドレスグループＡＤＤＲｉをフィルタリングし、具体的には、前ｋホップのアドレスフィルタ情報に基づいて、ｋホップ内においてアドレスを削除していなかった場合は、確率ｐでｕ個のＡＤＤＲｉにおけるアドレス情報を削除することであり、該過程においては、ＡＤＤＲｉの中に少なくとも１つのアドレスを有することを確保することを特徴とする請求項９に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項１１】
前記宛先アドレスのマッチング条件は、現在のルーティングメカニズムにおいてアドレスマッチングのスコアリング関数をＧ（ｘ）（ｘはアドレスである）として演算し、Ｇ（ｘ）は異なるルーティングメカニズムに定義された異なるマッチング方法により得られたスコアであって宛先アドレスとのマッチング度合を示し、Ｇ（ｘ）＞ｗ（ｗは予め設定された又は動的に設定された閾値である）である場合に、該アドレスｘが宛先アドレスのマッチング条件を満たすことを示す、ことを特徴とする請求項５または６に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。
【請求項１２】
前記ステップ５）の選択ポリシーは、ランダム選択、リンク予測情報に基づく選択、またはサブネット負荷選択であることを特徴とする請求項５または６に記載されたプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法。 
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、名称が「プログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法」であり、2017年11月28日に出願された中国特許出願第No.201711213654.2号に基づく優先権を主張し、この出願のすべての内容が参照により本明細書に組み込まれる。
【技術分野】
【０００２】
本発明はコンピュータネットワーク技術に関し、特にプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法に関する。
【背景技術】
【０００３】
現在のユーザの端末は、複数のホストネットワークにある場合が多く、例えば、Ｗｉ−Ｆｉ及び４Ｇネットワークである。ユーザは複数のホストネットワークを通じて並行転送することによって転送効率を向上させてもよく、ホストネットワークの変化に基づき良好な状態のネットワークを選択して、転送の確実性を向上させてもよい。しかし、従来の４Ｇ手段は、そのうちの一方のホストのみを選択して通信するので、マルチホストによる確実性、倍増転送及びネットワーク状態に基づき好ましいホストを選択する等の利点がない。従って、次世代５Ｇネットワークに対しては、マルチホスト機能を達成する必要がある。
【０００４】
従来のマルチホストの達成方式は主に、ＬＩＳＰ、ＨＩＰ、ＬＩＮ６、ＳＨＩＭ６等のようなアドレスと識別子とを分離する方法を含み、それらの手段は移動性及びマルチホストを解決する可能性があるが、端末装置の修正又は新しいネットワークエンティティ（マッピングシステム又は専用のエッジデバイス）を必要とする。さらに、ＳＣＴＰ、ＭＰＴＣＰのようなトランスポート層という手段を含み、それらの方法は同時的にマルチパス転送をサポートするが、移動性を良好にサポートすることができない。既存の手段は主にエンドツーエンドのマルチホスト転送手段であり、ユーザが複数のホストネットワークを同時に使用することができ、サービス品質を向上させるが、エンドツーエンドのマルチホスト手段においては、エンドシステムに認識されたネットワーク情報が限られているため、ネットワークの状態に応じてマルチホストパスの切り替えを良好にタイムリーに達成することができない。
【発明の概要】
【０００５】
本発明の目的は、従来のマルチホスト技術がネットワーク状態に応じてマルチホストネットワークをタイムリーに調整できない課題を解決することであり、プログラマブルネットワークデバイスがプロトコルの独立転送を達成でき、データパケット操作への柔軟性を向上させる長所を考慮し、プログラマブルネットワークデバイスに基づくマルチ宛先アドレスのマルチホストネットワークの技術案を提案し、複数の宛先アドレスによってネットワークが宛先アドレスへの複数のパスの状態に基づいて良好なリンク状態のリンクを選択して転送し、ネットワーク内のトラフィックのバランスをとし、ネットワーク輻輳等の課題を解決する。ネットワーク状態に基づいて動的に調整するマルチホストネットワークのルーティング転送方法は、ユーザの通信品質を効果的に向上させる。
【０００６】
上記問題を解決するために、本発明はプログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法を提案し、前記方法において、前記マルチホストネットワークは、コントローラとプログラマブルネットワークデバイスとを有し、前記コントローラは、ネットワークの状態に応じて、プログラマブルネットワークデバイスにおける情報をメンテナンスし、前記プログラマブルネットワークデバイスは、転送フローテーブルとリンク情報テーブルとをメンテナンスし、データパケットを修正して転送し、
前記方法は、
データパケットのルーティング転送を行う際、転送フローテーブルのアドレスマッチング方法によってポートへのアドレスのマッチングを行い、マッチングされたポートに基づいてアドレスを分類して、各ポートにそれぞれ１つの宛先アドレスグループを対応させることと、
リンク情報テーブルにおける情報及びポート選択関数に基づいて、適切なポート及び対応する宛先アドレスグループを選択し、残りのポートに対応する宛先アドレスグループを削除することと、
アドレスフィルタ関数及びデータにおいて保持された前ホップ情報により、残りの宛先アドレスグループを更に削除することと、
宛先アドレスグループにおける残りのアドレスに対して、単一アドレス選択方法により単一宛先アドレスを決定できる場合は、それを宛先アドレスとし、一般的なルーティング転送方法によりメッセージを宛先アドレスに転送し、決定できない場合は、宛先アドレスグループをカプセル化し、対応するポートに基づいてデータパケットを転送し、宛先アドレスになるまで、単一アドレス選択方法により単一宛先アドレスを１ホップずつ決定することと、を含む。
【０００７】
上記方法の改良手段として、前記プログラマブルネットワークデバイスは、ＳＤＮ構造においてカスタマイズメッセージ及びプロトコルの非依存転送を処理する機能を有するネットワークデバイスであり、Ｏｐｅｎｆｌｏｗプロトコルを拡張することにより、転送層において転送フローテーブルのカスタマイズメッセージに対する処理及び制御を実行し、Ｐ４、ＰＯＦまたはＰＩＦ技術をサポートするルータまたはスイッチである。
【０００８】
上記方法の改良手段として、前記転送フローテーブルは、メッセージ転送に使用されるフローテーブルであり、宛先へのデータメッセージの転送情報を記録し、前記コントローラは、ルーティングプロトコルを介して転送フローテーブルを取得してプログラマブルネットワークデバイスに送信し、前記リンク情報テーブルは、プログラマブルネットワークデバイスにおける各転送ポートｐｏｒｔｋと、対応する関連リンクの状態情報値ｓｔａｔｕｓｋ，１，ｓｔａｔｕｓｋ，２…とを記録し、前記状態情報値は、ネクストホップまたはマルチホップのリンク状態及び可能なパスのリンク状態を含み、前記リンク状態は、ネクストホップ又はマルチホップのポート負荷、リンク帯域幅及び遅延を含む。
【０００９】
上記方法の改良手段として、前記コントローラは、ネットワークポリシーコントロールセンターであり、ネットワークのルーティング及び転送ポリシーを管理し、ＳＤＮコントローラによって拡張されて得られ、転送フローテーブル制御モジュールと、リンク情報テーブル制御モジュールとを含み、
前記転送フローテーブル制御モジュールは、ルーティングルールに応じて、転送フローテーブルのエントリーに対する作成、修正及び削除を行うコマンドをプログラマブルネットワークデバイスに送信し、
前記リンク情報テーブル制御モジュールは、ネットワーク状態情報に対して取得、計算及び学習を行った後、リンク情報テーブルのエントリーに対する作成、修正及び削除を行うコマンドをプログラマブルネットワークデバイスに送信する。
【００１０】
上記方法の改良手段として、前記単一アドレス選択方法は、アドレスが１つのみである又は宛先アドレスのマッチング条件を満たすアドレスが１つのみである場合、該アドレスを宛先アドレスとして選択し、一方、現在では宛先アドレスのマッチング条件を満たすアドレスが複数である場合、選択ポリシーに応じて、宛先アドレスのマッチング条件を満たす１つのアドレスを宛先アドレスとして選択することである。
【００１１】
上記方法の改良手段として、前記方法は、具体的に、
各データパケットは、ユーザの複数のアドレス及び現在のアドレスにルーティングされた前ｋホップの情報を保持し、ユーザがｎ個のホストを有する場合、対応する複数のアドレスの集合は｛ａｄｄｒ１，ａｄｄｒ２，…，ａｄｄｒｎ｝である、ステップ１）と、
データパケットに対してルーティング転送を行う際、転送フローテーブルのアドレスマッチング方法によってポートへのアドレスのマッチングを行い、マッチングされたポートに基づいてアドレスを分類して、各ポートにそれぞれ１つの宛先アドレスグループを対応させる、ステップ２）と、
すべてのポートのリンク情報テーブルにおける情報をクエリし、ポート選択関数によって良好な状態のポートをネクストホップの転送ポートとして選択し、選択されていないポートに対応する宛先アドレスグループを削除する、ステップ３）と、
アドレスフィルタ関数及びデータにおいて保持された前ホップ情報によって残りの宛先アドレスグループを更に削除し、単一宛先アドレスを得ると、ステップ６）へ進み、そうではないと、ステップ５）へ進み、前記単一宛先アドレスは、アドレスが１つのみである又は複数のアドレスのうち、宛先アドレスのマッチング条件を満たすアドレスが１つのみであることである、ステップ４）と、
宛先アドレスのマッチング条件を満たすアドレスが複数である場合は、選択ポリシーに応じて宛先アドレスのマッチング条件を満たす１つのアドレスを単一宛先アドレスとして選択し、ステップ６）へ進み、そうではない場合は、アドレスグループをカプセル化し、対応するポートに基づいてデータパケットを転送し、ステップ３）へ進む、ステップ５）と、
取得された単一宛先アドレスを宛先アドレスとして、宛先に到着するまで、一般的なルーティング転送方法によりメッセージを転送する、ステップ６）と、を含む。
【００１２】
上記方法の改良手段として、前記ステップ２）は、具体的に、
複数のアドレスを含むデータパケットに対して転送フローテーブルのマッチングを行い、各アドレスが転送フローテーブルのアドレスマッチング方法に基づいて対応する転送ポートとマッチングし、ｎ個のアドレス｛ａｄｄｒ１，ａｄｄｒ２，…，ａｄｄｒｎ｝を有するデータパケット及びｍ個のポートを有するプログラマブルネットワークデバイス｛ｐｏｒｔ１，ｐｏｒｔ２，…，ｐｏｒｔｍ｝をマッチングし、各アドレスに対してそれぞれマッピング関係Ｍａｐｐｉｎｇ（ａｄｄｒｉ）＝ｐｏｒｔｊ（１≦ｉ≦ｎ、１≦ｊ≦ｍ、ｐｏｒｔｍは、デフォルトポートである）を有し、各アドレスは、いずれも転送フローテーブルに基づいて１つのポートにマッチングする、ステップ２０１）と、
マッチングされた転送ポートに基づいてアドレスを分類し、各ポートに対応するアドレスを１つのアドレスグループに分類し、そのマッピング関係は｛ｐｏｒｔ１：［ａｄｄｒ１１，ａｄｄｒ１２，…］，ｐｏｒｔ２：［ａｄｄｒ２１，ａｄｄｒ２２，…］，…，ｐｏｒｔｍ：［ａｄｄｒｍ１，ａｄｄｒｍ２，…］｝である、ステップ２０２）と、を含む。
【００１３】
上記方法の改良手段として、前記転送フローテーブルのアドレスマッチング方法は、データパケットのアドレスまたは識別子に基づいて対応する転送ポートをマッチングし、異なるルーティングメカニズムが異なるマッチング方法を有し、ＩＰアドレスのマッチング及びＩＣＮにおける名前マッチングを含むことである。
【００１４】
上記方法の改良手段として、前記ステップ３）のリンク情報テーブルのポート選択関数は、ｐｏｒｔｘ＝Ｆ（Ｚ，ｐａｃｋ）＝Ｆ２（Ｆ１（Ｚ，Ｐａｃｋ））であり、Ｚはリンク情報テーブルにおけるポートとリンク情報テーブルとの間のマッピング関係であり、Ｚ＝｛ｐｏｒｔ１：［ｓｔａｔｕｓ１，１，ｓｔａｔｕｓ１，２…］，ｐｏｒｔ２：［ｓｔａｔｕｓ２，１，ｓｔａｔｕｓ２，２…］，…，ｐｏｒｔｍ：［ｓｔａｔｕｓｍ，１，ｓｔａｔｕｓｍ，２…］｝、Ｐａｃｋはメッセージコンテンツであり、Ｆ（ｘ）は状態情報に基づくポート選択関数であり、
前記ポート選択関数Ｆ（ｘ）は、リンク情報テーブルにおけるある項目の値、又は複数の項目の値に基づいて計算し、それにより各候補ポートの状態値を計算する状態計算関数Ｆ１（ｘ）と、計算された状態値に基づいてネクストホップのポートを選択し、状態値が最も高いポートをネクストホップの転送ポートとして選択する選択関数Ｆ２（ｘ）と、を含む。
【００１５】
上記方法の改良手段として、前記ステップ４）のアドレスフィルタ関数は、ポート選択関数により選択されたポートｐｏｒｔｉに対応するアドレスグループＡＤＤＲｉをフィルタリングし、具体的には、前ｋホップのアドレスフィルタ情報に基づいて、ｋホップ内においてアドレスを削除してなかった場合は、確率ｐでｕ個のＡＤＤＲｉにおけるアドレス情報を削除することであり、該過程において、ＡＤＤＲｉの中に少なくとも１つのアドレスを有することを確保する。
【００１６】
上記方法の改良手段として、前記宛先アドレスのマッチング条件は、現在のルーティングメカニズムにおいてアドレスマッチングのスコアリング関数をＧ（ｘ）（ｘはアドレスである）として演算し、Ｇ（ｘ）は異なるルーティングメカニズムに定義された異なるマッチング方法により得られたスコアであって宛先アドレスとのマッチング度合を示し、Ｇ（ｘ）＞ｗ（ｗは予め設定された又は動的に設定された閾値である）である場合に、該アドレスｘが宛先アドレスのマッチング条件を満たすことを示す。
【００１７】
上記方法の改良手段として、前記ステップ５）の選択ポリシーは、ランダム選択、リンク予測情報に基づく選択、またはサブネット負荷選択である。
【００１８】
本発明の効果
本発明のシステム及び方法は、ネットワークの動的変化に基づいてデータパケットの転送パスをタイムリーに調整することにより、ユーザがマルチホストによる確実性、倍増転送及びネットワーク状態に基づいて好ましいホストを選択する等の利点を十分に利用できることである。
【図面の簡単な説明】
【００１９】
【図１】図１は本発明のプログラマブルネットワーク技術に基づくマルチ宛先アドレスのマルチホストネットワークの構造図である。
【図２】図２は本発明のプログラマブルネットワーク技術に基づくマルチホストネットワークにおけるスイッチの構造図及びマルチ宛先アドレスデータパケットを処理するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面によってＰＯＦ（Ｐｒｏｔｏｃｏｌ−Ｏｂｌｉｖｉｏｕｓ  Ｆｏｒｗａｒｄｉｎｇ）に基づくマルチ宛先ＩＰアドレスを例として本発明を更に説明する。
【００２１】
本発明は、プログラマブルネットワークデバイスに基づくマルチホストネットワークのルーティング転送方法を提案し、該方法において、送信側の各データパケットには複数のＩＰアドレス、及び現在のアドレスにルーティングする前ｋホップの情報が保持され、一方、プログラマブルネットワークデバイスのメンテナンス情報には、ＩＰルーティング転送メカニズムに基づいて得られた転送フローテーブルと、プログラマブルネットワークデバイスにおける各転送ポート及び対応する関連リンクの状態情報を提供するリンク情報テーブルとの２つの情報テーブルが保持される。データパケットのルーティング転送を行う際、まず、転送フローテーブルＩＰアドレスマッチング方法によってポートへのアドレスのマッチングを行い、マッチングされたポートに基づいてアドレスを分類して、各ポートにそれぞれ１つの宛先アドレスグループを対応させ、状態テーブルの情報及びポート選択関数に基づいて、適切なポート及び対応する宛先アドレスグループを選択し、残りのポートに対応するアドレスグループを削除し、ＩＰアドレスフィルタ関数及びデータにおいて保持された前ホップ情報を利用して残りのアドレスグループを更に削除し、アドレスグループにおけるアドレスに基づいて、ＩＰアクセスネットワークアドレスマッチング条件を満たすか否かを判断し、満たされていないと判断した場合は、アドレスグループをカプセル化し、対応するポートに基づいてデータパケットを転送し、満たしたと判断した場合は、単一アドレス選択方法に基づいて、１つのアドレスを宛先アドレスとして選択し、他のアドレスを削除し、データパケットをカプセル化し、対応するポートに基づいて転送する。上記過程は、宛先に到着するまで、各ホップの転送ごとに判断して実行する必要がある。
【００２２】
前記プログラマブルネットワークデバイスとは、ＳＤＮ（ソフトウェア定義ネットワーク Software Defined Network）構造において、カスタマイズメッセージ及びプロトコルの非依存転送を処理する機能を有するネットワークデバイスである。Ｏｐｅｎｆｌｏｗプロトコルを拡張することにより、転送層においてフローテーブルのカスタマイズメッセージに対する処理及び制御を実行する。プログラマブルネットワークデバイスは、Ｐ４、ＰＯＦ、ＰＩＦ等技術をサポートするルータ、スイッチを含むが、それらに制限されない。各プログラマブルネットワークデバイスは、マルチアドレスをサポートすることができる。前記プログラマブルネットワークは、プログラマブルネットワークデバイスが相互に接続することにより構成されるネットワークである。
【００２３】
図１に示すように、前記マルチホストネットワークとは、端末が複数のアクセスネットワークを介してネットワークにアクセスし、各端末はそれぞれ複数のネットワークを介してデータを送信し、複数のネットワークからデータを同時に受信でき、端末が受信側とする場合は、異なるアクセスネットワークから同一の端末によって送信されたデータを受信できる。ネットワークは、自体の状態に基づいて端末に好ましいアクセスネットワークを動的に選択してサービスを提供できる。マルチホストネットワークは、ＳＤＮ構造に基づいて、主に、コントローラとプログラマブルネットワークデバイスとによって構成される。コントローラは、ネットワーク状態に基づいてプログラマブルネットワークデバイスにおける情報をメンテナンスする。プログラマブルネットワークデバイスは、データパケットに対する修正及び転送を行う。
【００２４】
前記転送フローテーブルＩＰアドレスマッチング方法とは、データパケットにおけるＩＰアドレスに基づいて対応する転送ポートをマッチングし、ＩＰアドレスマッチング方法によってマッチングすることができる。
【００２５】
前記転送フローテーブルとは、メッセージ転送に使用されたフローテーブルであり、フローテーブルは、ＳＤＮにおいてデータメッセージを転送するためのテーブルであり、宛先へのデータメッセージの転送情報が保持され、コントローラによってルーティングプロトコルを介して取得してプログラマブルネットワークデバイスに送信される。前記リンク情報テーブルには、リンクの状態情報が保持され、その情報は、ポート負荷と、帯域幅、遅延のような現在のリンク状態、及びネットワーク状態に関連する量を含む。
【００２６】
前記コントローラは、ネットワークポリシーコントロールセンターであり、ネットワークのルーティング及び転送ポリシーを管理し、ＳＤＮコントローラによって拡張することにより得られ、コントローラは、サウスバウンドインタフェースを介してプログラマブルネットワークデバイスへ制御コマンドを送信し、プログラマブルネットワークデバイスは、それらのコマンドを実行する。その構造は、転送フローテーブル制御モジュールと、リンク情報テーブル制御モジュールと、を含む。転送フローテーブル制御モジュールは、主に取得されたネットワーク状態に基づいていくつかのルーティングアルゴリズムを実行してルーティングルールを生成し、サウスバウンドインタフェースを介して転送フローテーブルの項目に対する作成、修正及び削除を行うコマンドをプログラマブルネットワークデバイスに送信する。リンク情報テーブル制御モジュールは、ネットワーク状態情報に対して取得、計算及び学習を行った後に、サウスバウンドインタフェースを介してリンク情報テーブルの項目に対する作成、修正及び削除を行うコマンドをプログラマブルネットワークに送信し、例えば、ネットワークの動的変化及び従来のネットワーク状態への学習に基づいてネットワークのリンクの状態を取得して予測することにより、プログラマブルネットワークデバイスにおけるリンク情報テーブルをメンテナンスする。
【００２７】
リンク情報テーブルの情報は、コントローラにより情報メンテナンスポリシーをプログラマブルネットワークデバイスに送信し、プログラマブルネットワークデバイスにより情報の統計、ネットワークの測定及びネットワークの動的変化への学習等の方式で関連情報を取得してメンテナンスし、リンク情報テーブルはネットワークのリンクの動的変化を反映する。ポートｐｏｒｔｋに対応する状態情報は、ｓｔａｔｕｓｋ，１，ｓｔａｔｕｓｋ，２…であり、その値はネクストホップまたはマルチホップのリンク状態、可能なパスのリンク状態等を含むが、それらに制限されず、例えば：ネクストホップ又はマルチホップのポートの負荷、リンク帯域幅、遅延またはその他ネットワークの関連情報が、測定、予測等の方法によって取得される。
【００２８】
図２に示すように、前記ルーティング転送方法は、具体的に、下記ステップ１）〜ステップ５）を含む。
【００２９】
ステップ１）、各データパケットはユーザが位置するホストネットワークによって割り当てられる複数のアドレスを保持し、例えば、ユーザがｎ個のホストを有すると仮定すると、対応する複数のアドレスの集合は｛ＩＰ１，ＩＰ２，…，ＩＰｎ｝である。
【００３０】
ステップ２）、複数のアドレスを含むデータパケットに対して転送フローテーブルのマッチングを行い、各アドレスは、それぞれ転送フローテーブルのアドレスマッチング方法に基づいて対応する転送ポートとマッチングし、ｎ個のアドレス｛ＩＰ１，ＩＰ２，…，ＩＰｎ｝を有するデータパケット及びｍ個のポートを有するプログラマブルネットワークデバイス｛ｐｏｒｔ１，ｐｏｒｔ２，…，ｐｏｒｔｍ｝をマッチングし、各アドレスのそれぞれに対してマッピング関係Ｍａｐｐｉｎｇ（ＩＰｉ）＝ｐｏｒｔｊ（１≦ｉ≦ｎ、１≦ｊ≦ｍ、ｐｏｒｔｍはデフォルトポートである）を有する。そうすると、各アドレスはいずれも転送フローテーブルに基づいて１つのポートにマッチングする。
【００３１】
ステップ３）、マッチングされた転送ポートに基づいてアドレスを分類し、各ポートに対応するアドレスを１つのアドレスグループに分類し、そのマッピング関係は｛ｐｏｒｔ１：［ＩＰ１１，ＩＰ１２，…］，ｐｏｒｔ２：［ＩＰ２１，ＩＰ２２，…］，…，ｐｏｒｔｍ：［ＩＰｍ１，ＩＰｍ２，…］｝である。
【００３２】
ステップ４）、すべてのポートのリンク情報テーブルにおける情報をクエリし、ポート選択関数によって良好な状態のポートをネクストホップの転送ポートとして選択し、選択されていないポートに対応するアドレスグループを削除し、同時に、ルーティング過程における前ｋホップのアドレスフィルタ情報を考慮し、アドレスフィルタ関数によって、選択された転送ポートに対応する宛先アドレスグループに対して更なる宛先アドレスのフィルタリングを行い、選択されていないポートに対応する宛先アドレスグループを削除し、
【００３３】
リンク情報テーブルに基づくポート選択関数は、ｐｏｒｔｘ＝Ｆ（Ｚ，ｐａｃｋ）＝Ｆ２（Ｆ１（Ｚ，Ｐａｃｋ））であり、Ｚはリンク情報テーブルのポートとリンク情報テーブルとの間のマッピング関係であり、Ｚ＝｛ｐｏｒｔ１：［ｓｔａｔｕｓ１，１，ｓｔａｔｕｓ１，２…］，ｐｏｒｔ２：［ｓｔａｔｕｓ２，１，ｓｔａｔｕｓ２，２…］，…，ｐｏｒｔｍ：［ｓｔａｔｕｓｍ，１，ｓｔａｔｕｓｍ，２…］｝、Ｐａｃｋはメッセージコンテンツであり、Ｆ（ｘ）は状態情報に基づくポート選択関数である。状態値の計算関数はＦ１（ｘ）であり、ここで対応するポートの過去の負荷であり、出力は、定義された関数に基づいて計算して得られた状態値である。Ｆ２（ｘ）によって適切な転送ポートｐｏｒｔｘを選択して、ネクストホップの転送に用いられる。
【００３４】
前記ポート選択関数Ｆ（ｘ）は、状態の計算Ｆ１（ｘ）と、選択Ｆ２（ｘ）を含む。状態値の計算関数はｙ＝Ｆ１（ｘ）＝ｌｏａｄ（ｘ）であり、対応するポートｘの過去の負荷を示す。選択ステップＦ２（ｙ）はＦ１の計算により得られた状態値ｙに基づいてネクストホップポートを選択し、ここでＦ２の演算方法はＦ１（ｘ）状態値に基づいて高値から低値への順にポートをソートし、状態値が最も高いポートをネクストホップの転送ポートとして選択する。
【００３５】
前記アドレスフィルタ関数は、ポート選択関数によって選択されたポートｐｏｒｔｉに対応するアドレスグループＡＤＤＲｉを判断するステップを含み、その方法は、前ｋホップのＩＰアドレスフィルタ情報に基づいて、ｋホップ内においてＩＰアドレスを削除していなかった場合は、確率ｐでｕ個のＡＤＤＲｉにおけるＩＰアドレス情報を削除することであり、該過程においては、ＡＤＤＲｉの中に少なくとも１つのＩＰアドレスを有することを確保する。
【００３６】
ステップ５）、宛先アドレスグループにおける残りのアドレスに対して、単一アドレス選択方法によって単一宛先アドレスを決定できる場合は、それを宛先アドレスとし、一般的なルーティング転送方法によってメッセージを宛先アドレスに転送し、そうでない場合は、宛先アドレスグループをカプセル化し、対応するポートに基づいてデータパケットを転送し、宛先アドレスになるまで、単一アドレス選択方法により単一宛先アドレスを１ホップずつ決定する。
【００３７】
前記単一アドレス選択方法は、ＩＰアドレスが１つのみである又は宛先アドレスのマッチング条件を満たすアドレスが１つのみである場合、該アドレスを宛先アドレスとして選択し、一方、現在では宛先アドレスのマッチング条件を満たすアドレスが複数である場合、選択ポリシーに応じて、宛先アドレスのマッチング条件を満たす１つのアドレスを宛先アドレスとして選択する。前記選択ポリシーは、ランダム選択、リンク予測情報に基づく選択またはサブネット負荷選択である。
【００３８】
前記宛先アドレスのマッチング条件とは、現在のルーティングメカニズムにおけるアドレスマッチングのスコアリング関数をＧ（ｘ）と定義し、その中、ｘはＩＰアドレスであり、Ｇ（ｘ）はＩＰアドレスマッチング長さであり、Ｇ（ｘ）＞Ｌの場合、Ｌは予め設定されたマッチング長さの閾値であり、該アドレスｘがアクセス宛先アドレスのマッチング条件を満たすことを示し、すなわち、データメッセージがエッジアクセスネットワークに到着するということである。
【００３９】
単一アドレス選択方法により単一宛先アドレスを決定できず、つまり、現在で複数のアドレスがあるが、複数のアドレスがいずれもアドレスマッチング条件を満たさない場合、宛先アドレスグループをカプセル化し、対応するポートに基づいてデータパケットを転送し、次のポートにおいて単一アドレス選択方法により宛先アドレスを見つけ続ける。
【００４０】
なお、上記実施例は本発明の技術案を説明するものに過ぎず、制限するものではない。実施例によって本発明を詳しく説明したが、当業者は、本発明の技術案への補正又は同等置換が、いずれも本発明の技術案の精神及び範囲から逸脱せず、いずれも本発明の請求項の範囲に属すべきである。
【図１】
2021501527.tif 000003
【図２】
2021501527.tif 000004
【国際調査報告】
2021501527.tif 000005
2021501527.tif 000006
2021501527.tif 000007
2021501527.tif 000008