(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6862371
(24)【登録日】2021年4月2日
(45)【発行日】2021年4月21日
(54)【発明の名称】OpenFlowプロトコルとUDPポート番号アドレス変換を用いてマルチキャストパケットに非マルチキャストネットワークをトラバースさせるシステム及び方法
(51)【国際特許分類】
H04L 12/717 20130101AFI20210412BHJP
【FI】
H04L12/717
【請求項の数】10
【全頁数】15
(21)【出願番号】特願2018-3555(P2018-3555)
(22)【出願日】2018年1月12日
(65)【公開番号】特開2019-17004(P2019-17004A)
(43)【公開日】2019年1月31日
【審査請求日】2018年1月12日
【審判番号】不服2019-7712(P2019-7712/J1)
【審判請求日】2019年6月11日
(31)【優先権主張番号】106122845
(32)【優先日】2017年7月7日
(33)【優先権主張国】TW
(73)【特許権者】
【識別番号】501027245
【氏名又は名称】中華電信股▲分▼有限公司
(74)【代理人】
【識別番号】100169904
【弁理士】
【氏名又は名称】村井 康司
(74)【代理人】
【識別番号】100159916
【弁理士】
【氏名又は名称】石川 貴之
(72)【発明者】
【氏名】朱▲ユイ▼煌
(72)【発明者】
【氏名】陳俊▲ウェイ▼
(72)【発明者】
【氏名】劉景豊
【合議体】
【審判長】
稲葉 和生
【審判官】
太田 龍一
【審判官】
林 毅
(56)【参考文献】
【文献】
特開2001−244976(JP,A)
【文献】
柳瀬 駿 他,OpenFlowを利用した対多通信トポロジの動的構築,電気情報通信学会技術研究報告,2015年12月10日,pp.43−48,Vol.115,No.371, IA2015−76
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-955
(57)【特許請求の範囲】
【請求項1】
OpenFlowプロトコルとUDPポート番号アドレス変換を用いて、クラスDのマルチキャスト専用のIPアドレスでパケット送信が行われるマルチキャストパケットに、非マルチキャストネットワークをトラバースさせるシステムであって、
非マルチキャストネットワークを介して互いに接続される複数のOpenFlowスイッチと、
アドレス変換に用いられるユニキャストアドレスポート番号を格納するアドレスポート番号データベースと、
前記アドレスポート番号データベースに接続され、前記複数のOpenFlowスイッチのうちの第一のOpenFlowスイッチおよび複数の第二のOpenFlowスイッチにルーチングをさせるように、予め設定された第一のOpenFlowルーチングルールおよび予め設定された第二のOpenFlowルーチングルールをそれぞれ前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチのそれぞれのルーチングテーブルに書き込むOpenFlowコントローラと、
を備え、
マルチキャストパケット送信端からマルチキャストパケットを送信する場合、前記マルチキャストパケットは、前記第一のOpenFlowスイッチを介し、前記第一のOpenFlowスイッチは、前記予め設定された第一のOpenFlowルーチングルールに基づいて、前記マルチキャストパケットにおけるマルチキャストアドレスポート番号を前記複数の第二のOpenFlowスイッチのユニキャストアドレスポート番号に変換することにより、前記ユニキャストアドレスポート番号を有するユニキャストパケットを生成し、前記非マルチキャストネットワークは、アドレス変換された前記ユニキャストパケットを前記複数の第二のOpenFlowスイッチに転送し、前記複数の第二のOpenFlowスイッチは、前記予め設定された第二のOpenFlowルーチングルールに基づいて、前記ユニキャストパケットにおける前記ユニキャストアドレスポート番号を元の前記マルチキャストアドレスポート番号に変換した後、それぞれをマルチキャストネットワークにおけるマルチキャストパケット受信端に転送する、システム。
【請求項2】
前記予め設定された第一のOpenFlowルーチングルールおよび前記予め設定された第二のOpenFlowルーチングルールは、前記マルチキャストアドレスポート番号と前記ユニキャストアドレスポート番号の変換を含む、請求項1に記載のシステム。
【請求項3】
前記第一のOpenFlowスイッチは、前記マルチキャストパケットの送信先IPアドレスとUDPポート番号が前記予め設定された第一のOpenFlowルーチングルールに符合しないと判断すると、前記マルチキャストパケットを前記OpenFlowコントローラに転送し、前記OpenFlowコントローラは、前記マルチキャストパケットのソースが属するマルチキャストネットワークに基づいて、前記アドレスポート番号データベースの中から前記マルチキャストネットワークおよび前記マルチキャストネットワークの境界スイッチにルーチングできる使用可能ユニキャストのポート番号を取得することにより、前記予め設定された第一のOpenFlowルーチングルールおよび前記予め設定された第二のOpenFlowルーチングルールを更新する、請求項1に記載のシステム。
【請求項4】
前記予め設定された第一のOpenFlowルーチングルールおよび前記予め設定された第二のOpenFlowルーチングルールの更新は、前記OpenFlowコントローラが、OpenFlowプロトコルにより、前記マルチキャストパケットのマルチキャストアドレスポート番号と取得したユニチキャストアドレスポート番号との変換関係を前記第一のOpenFlowスイッチに書き込むことと、前記OpenFlowコントローラが、前記OpenFlowプロトコルにより、前記ユニキャストアドレスポート番号と前記マルチチキャストパケットのマルチチキャストアドレスポート番号との変換関係を前記複数の第二のOpenFlowスイッチに書き込むことを含む、請求項3に記載のシステム。
【請求項5】
前記使用可能ユニキャストアドレスは、前記非マルチキャストネットワークにおいてユニキャストIPアドレスを提供し、前記マルチキャストネットワークへルーチングする境界スイッチである、請求項3に記載のシステム。
【請求項6】
OpenFlowプロトコルとUDPポート番号アドレス変換を用いて、クラスDのマルチキャスト専用のIPアドレスでパケット送信が行われるマルチキャストパケットに、非マルチキャストネットワークをトラバースさせる方法において、
マルチキャストパケット送信端がマルチキャストパケットを生成し、マルチキャストネットワークにおいてマルチキャストルーチングを行なうステップと、
マルチキャストパケットを前記マルチキャストネットワークの境界にある第一のOpenFlowスイッチに送信するステップと、
前記第一のOpenFlowスイッチは、予め格納された第一のOpenFlowルーチングルールに基づいて、前記マルチキャストパケットのマルチキャストアドレスポート番号を非マルチキャストネットワークにルーチング可能なユニキャストアドレスポート番号に変換することにより、前記ユニキャストアドレスポート番号のユニキャストパケットを生成するステップと、
前記ユニキャストパケットは前記ユニキャストアドレスポート番号を用いて前記非マルチキャストネットワークにおいてルーチング送信を行なうステップと、
前記ユニキャストパケットを複数の第二のOpenFlowスイッチにルーチングするステップと、
前記複数の第二のOpenFlowスイッチは、予め格納された第二のOpenFlowルーチングルールに基づいて、前記ユニキャストパケットの前記ユニキャストアドレスポート番号を元の前記マルチキャストパケットに対応するマルチキャストアドレスポート番号に戻すステップと、
戻された前記マルチキャストパケットを、そのマルチキャストアドレスポート番号により、それぞれマルチキャストネットワークにおけるマルチキャストパケット受信端に転送するステップとを含む、方法。
【請求項7】
前記第一のOpenFlowスイッチは、前記マルチキャストパケットのマルチキャストアドレスポート番号を非マルチキャストネットワークにルーチング可能なユニキャストアドレスポート番号に変換する場合、前記マルチキャストパケットの送信先IPアドレスとUDPポート番号が予め格納された前記第一のOpenFlowルーチングルールに符合しないと判断した場合、
前記第一のOpenFlowスイッチは、前記マルチキャストパケットを前記OpenFlowコントローラに転送するステップと、
前記OpenFlowコントローラは、前記マルチキャストパケットのソースが属するマルチキャストネットワークに基づいて、前記アドレスポート番号データベースの中から前記マルチキャストネットワークおよび前記マルチキャストネットワークの境界スイッチにルーチングできる使用可能ユニキャストのポート番号を取得するステップと、
前記OpenFlowコントローラは、OpenFlowプロトコルにより、前記ユニキャストパケットのマルチキャストアドレスポート番号と取得したユニキャストアドレスポート番号との変換関係を前記第一のOpenFlowスイッチにおける前記第一のOpenFlowルーチングルールに書き込むステップと、
前記OpenFlowコントローラは、前記OpenFlowプロトコルにより、前記ユニキャストパケットアドレスポート番号とマルチキャストパケットのマルチキャストアドレスポート番号との変換関係を前記複数の第二のOpenFlowスイッチにおける前記第二のOpenFlowルーチングルールに書き込むステップと、をさらに含む、請求項6に記載の方法。
【請求項8】
前記マルチキャストパケットがマルチキャストルーチングを行なう前に、
前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチにおいて前記OpenFlowスイッチの情報を設定することにより、前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチとの接続を構築するステップと、
前記OpenFlowコントローラが、前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチとの接続が正常であるか否かを確認するステップと、
前記OpenFlowコントローラが、予め設定されたOpenFlowのルーチングルールを前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチのルーチングテーブルに書き込むステップと、
前記OpenFlowコントローラが前記マルチキャストアドレスポート番号と前記ユニキャストアドレスポート番号との変換を行なう時、使用可能ユニキャストアドレスのポート番号を検索できるように、未配置かつルーチングに使用可能なアドレスポート番号をアドレスポート番号データベースに格納するステップと、をさらに含む、請求項6に記載の方法。
【請求項9】
前記OpenFlowスイッチが前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチのルーチングテーブルに書き込む前記第一と第二のルーチングルールは、Matchエントリにおける送信先IPアドレスはマルチキャストアドレスであり、Actionエントリは前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチと前記OpenFlowコントローラとが接続している出口ポートにパケットをリダレクトすることであり、前記第一と第二のルーチングルールの優先権値は最小値に設定されることを指す、請求項8に記載の方法。
【請求項10】
前記使用可能ユニキャストアドレスは、前記非マルチキャストネットワークにおいて、ユニキャストアドレスルーチングを前記マルチキャストネットワークに提供する境界スイッチであることを指す、請求項7に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット伝送に関するものであり、とくに、OpenFlowプロトコルとUDPポート番号アドレス変換を用いてマルチキャストパケットに非マルチキャストネットワークをトラバース(traverse)させるシステム及び方法に関するものである。
【背景技術】
【0002】
インターネットの発達およびネットワークマルチメディアビデオサービスの発展に伴って、IPTV(Internet Protocol Television)やビデオカンファレンス(Video Conferencing)などはいずれもインターネットにおける重要な応用になっており、これら応用は、マルチキャストプロトコル(Multicast Protocol)を通じてパケットを送信し、サーバー(Server)の負荷を低減させるのみならず、ネットワークの帯域幅の利用の効率化をより向上させることができる。しかし、インターネットは長年発展してきたが、すべてのネットワークがマルチキャストパケットの送信をサポートできるわけではない。
【0003】
マルチキャストプロトコルは、一般的なIPユニキャスト(Unicast)とは異なり、クラスDのIPアドレスを用いてパケット送信を行ない、マルチキャストパケットが非マルチキャストネットワークをトラバースすると、正確な送信ができず、さらに帯域幅の消耗が生ずる。現有の技術では、マルチキャストパケットが非マルチキャストネットワークをトラバースできるようにするために、以下の手法を取ることが一般的である。
【0004】
第1の手法は、静的ルーチングテーブルとMBGP(Multiprotocol Border Gateway Protocol)ルーチングテーブを採用する。この手法では、パケットが通過する各ルータに対し関連する設定をしなければならず、そのうちに、静的ルーチングまたはMBGPルーチングプロトコルをサポートしていない機器が存在すると、当該手法を使用することができない。
【0005】
第2の手法は、トンネリング・プロトコル(tunneling protocol)を採用し、、非マルチキャストネットワークの入り口でマルチキャストパケットをユニキャストのパケットに再パッケージして、パケットが非マルチキャストネットワークをトラバースした後、再度パケットを分解してマルチキャストパケットに戻す。この手法では、パケットの長さが大きくなり、その長さがネットワーク装置の最大伝送単位(MTU)を超えると、パケットは分割伝送されるので、分割できないパケットだと送信失敗となる。
【0006】
一方、2008年12月31日付で公開された中国特許第CN100448228C号「マルチキャストパケットに非マルチキャストネットワークをトラバースさせる方法、およびそれを応用するネットワークシステム」において、マルチキャストとユニキャストとのIPアドレス変換(Translation)によりパケット伝送の問題を克服するものが提案されている。この手法は、トンネリング・プロトコルに類似しているが、パケットが非マルチキャストネットワークをトラバースする時に、パケットの送信先マルチキャストアドレスをユニキャストIPアドレスに変換し、パケットが非マルチキャストネットワークをトラバースした後、パケットIPアドレスを再度マルチキャストアドレスに戻している。この手法は2つの欠点がある。第一、マルチキャストの境界でマルチキャストとユニキャストIPアドレスの変換装置を接続することが必要であるが、いままでこのような装置は標準的なプロトコルがないので、別途の研究開発が必要である。第二、このような対応手法は各マルチキャストIPアドレスのそれぞれが1つのユニキャストのアドレスに対応しなければならないので、非マルチキャストネットワークを通過して多数のマルチキャストネットワークに送信する場合に、1つのマルチキャストIPアドレスが多数のユニキャストIPアドレスを必要となり、ユニキャストIPアドレスが限られている場合には、このような手法によれば、拡張性がかなり制限されている。
【0007】
上記の従来の手法による各欠点を鑑みて、OpenFlowプロトコルとUDPポート番号アドレス変換を用いてマルチキャストパケットに非マルチキャストネットワークをトラバースさせるようにする技術は、当業者が苦心する目標である。発明者らは、精一杯にイノベーションし、長年にわたって鋭意に研究することにより、本発明のOpenFlowプロトコルとUDPポート番号アドレス変換を用いてマルチキャストパケットに非マルチキャストネットワークをトラバースさせるシステム及び方法を完成した。
【発明の概要】
【課題を解決するための手段】
【0008】
本発明は、OpenFlowプロトコルによりマルチキャストパケットのマルチキャスト送信先IP(Destination IP)アドレスをユニキャストIPアドレスに変換して、非マルチキャストネットワークをトラバースできるようにするシステムおよび方法を提供することを目的とする。また、本発明は、マルチキャストアドレスとユニキャストアドレスとの変換方法においてパケットのUDPポート番号は用いられ、非マルチキャストネットワークに使用必要のユニキャストアドレスの数を減少できる。
【0009】
本発明は、非マルチキャストネットワークを介して互いに接続される複数のOpenFlowスイッチと、アドレス変換に用いられるユニキャストアドレスポート番号を格納するアドレスポート番号データベースと、前記アドレスポート番号データベースに接続され、各前記複数のOpenFlowスイッチにルーチングをさせるように、予め設定されたOpenFlowルーチングルールを前記複数のOpenFlowスイッチのそれぞれのルーチングテーブルに書き込むOpenFlowコントローラとを備え、マルチキャストパケット送信端からマルチキャストパケットを送信する場合、前記マルチキャストパケットは前記複数のOpenFlowスイッチのうちの第一のOpenFlowスイッチを介し、前記ユニキャストアドレスポート番号を有するユニキャストパケットを生成するように、前記第一のOpenFlowスイッチは、前記マルチキャストパケットにおけるマルチキャストアドレスポート番号を前記複数のOpenFlowスイッチのうちの第二のOpenFlowスイッチのユニキャストアドレスポート番号に変換し、前記非マルチキャストネットワークは、アドレス変換された前記ユニキャストパケットを前記第二のOpenFlowスイッチに転送し、前記複数の第二のOpenFlowスイッチは、前記ユニキャストパケットにおける前記ユニキャストアドレスポート番号を元の前記マルチキャストアドレスポート番号に変換した後、それぞれをマルチキャストネットワークにおけるマルチキャストパケット受信端に転送する、OpenFlowプロトコルとUDPポート番号アドレス変換を用いてマルチキャストパケットに非マルチキャストネットワークをトラバースさせるシステムを提供する。
【0010】
1つの実施例において、前記OpenFlowルーチングルールは、前記マルチキャストアドレスポート番号と前記ユニキャストアドレスポート番号の変換を含む。
【0011】
もう1つの実施例において、前記第一のOpenFlowスイッチは、前記マルチキャストパケット送信先IPアドレスとUDPポート番号が前記OpenFlowルーチングルールに符合しないと判断すると、前記マルチキャストパケットを前記OpenFlowコントローラに転送し、前記OpenFlowコントローラは、前記マルチキャストパケットのソースが属するマルチキャストネットワークに基づいて、前記アドレスポート番号データベースの中から前記マルチキャストネットワークおよび前記マルチキャストネットワークの境界スイッチにルーチングできる使用可能ユニキャストのポート番号を取得することにより、前記OpenFlowルーチングルールを更新する。
【0012】
さらにもう1つの実施例において、前記OpenFlowルーチングルールの更新は、前記OpenFlowコントローラが、OpenFlowプロトコルにより、前記マルチキャストパケットのマルチキャストアドレスポート番号と取得したユニキャストアドレスポート番号との変換関係を前記第一のOpenFlowスイッチに書き込むことと、前記OpenFlowコントローラが、前記OpenFlowプロトコルにより、前記ユニキャストアドレスポート番号と前記マルチチキャストパケットのマルチチキャストアドレスポート番号との変換関係を前記複数の第二のOpenFlowスイッチに書き込むことを含む。
【0013】
さらにもう1つの実施例において、前記使用可能ユニキャストアドレスは、前記非マルチキャストネットワークにおいてユニキャストIPアドレスを提供し前記マルチキャストネットワークへルーチングする境界スイッチである。
【0014】
本発明は、マルチキャストパケット送信端がマルチキャストパケットを生成し、マルチキャストネットワークにおいてマルチキャストルーチングを行なうステップと、前記マルチキャストパケットを前記マルチキャストネットワークの境界にある第一のOpenFlowスイッチに送信するステップと、前記第一のOpenFlowスイッチは、予め格納された第一のOpenFlowルーチングルールに基づいて、前記マルチキャストパケットのマルチキャストアドレスポート番号を非マルチキャストネットワークにルーチング可能なユニキャストアドレスポート番号に変換することにより、ユニキャストアドレスポート番号のユニキャストパケットを生成するステップと、前記ユニキャストパケットは前記ユニキャストアドレスポート番号を用いて前記非マルチキャストネットワークにおいてルーチング送信を行なうステップと、前記ユニキャストパケットを複数の第二のOpenFlowスイッチにルーチングするステップと、前記複数の第二のOpenFlowスイッチは、予め格納された第二のOpenFlowルーチングルールに基づいて、前記ユニキャストパケットの前記ユニキャストアドレスポート番号を元の前記マルチキャストパケットに対応するマルチキャストアドレスポート番号に戻すステップと、戻された前記マルチキャストパケットは、そのマルチキャストアドレスポート番号によりそれぞれマルチキャストネットワークにおけるマルチキャストパケット受信端に転送するステップとを含む、OpenFlowプロトコルとUDPポート番号アドレス変換を用いてマルチキャストパケットに非マルチキャストネットワークをトラバースさせる方法をさらに提供する。
【0015】
上記の方法において、前記第一のOpenFlowスイッチは、前記マルチキャストパケットのマルチキャストアドレスポート番号を非マルチキャストネットワークにルーチング可能なユニキャストアドレスポート番号に変換する場合、前記マルチキャストパケット送信先IPアドレスとUDPポート番号が予め格納されたOpenFlowルーチングルールに符合しないと判断した場合、さらに、前記第一のOpenFlowスイッチは、前記マルチキャストパケットを前記OpenFlowコントローラに転送するステップと、前記OpenFlowコントローラは、前記マルチキャストパケットのソースが属するマルチキャストネットワークに基づいて、前記アドレスポート番号データベースの中から前記マルチキャストネットワークおよび前記マルチキャストネットワークの境界スイッチにルーチングできる使用可能ユニキャストのポート番号を取得するステップと、前記OpenFlowコントローラは、OpenFlowプロトコルにより、前記ユニキャストパケットのマルチキャストアドレスポート番号と取得したユニキャストアドレスポート番号との変換関係を第一のOpenFlowスイッチにおける前記第一のOpenFlowルーチングルールに書き込むステップと、前記OpenFlowコントローラは、前記OpenFlowプロトコルにより、前記ユニキャストパケットアドレスポート番号とマルチキャストパケットのマルチキャストアドレスポート番号との変換関係を前記複数の第二のOpenFlowスイッチにおける前記第二のOpenFlowルーチングルールに書き込むステップと、を含む。
【0016】
上記の方法において、前記マルチキャストパケットがマルチキャストルーチングを行なう前、さらに、前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチにおいて前記OpenFlowスイッチの情報を設定することにより、前記OpenFlowコントローラと前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチとの接続を構築するステップと、前記OpenFlowコントローラが、前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチとの接続が正常であるか否かを確認するステップと、前記OpenFlowコントローラが、予め設定されたOpenFlowのルーチングルールを前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチのルーチングテーブルに書き込むステップと、前記OpenFlowコントローラが前記マルチキャストアドレスポート番号と前記ユニキャストアドレスポート番号との変換を行なう時に使用可能ユニキャストアドレスのポート番号を検索できるように、未配置かつルーチングに使用可能なアドレスポート番号をアドレスポート番号データベースに格納するステップとを含む。
【0017】
上記の方法において、前記OpenFlowコントローラが前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチのルーチングテーブルに書き込む前記第一と第二のルーチングルールは、Matchエントリにおける送信先IPアドレスはマルチキャストアドレスであり、Actionエントリは前記第一のOpenFlowスイッチおよび前記複数の第二のOpenFlowスイッチと前記OpenFlowコントローラとが接続している出口ポートにパケットをリダイレクトすることであり、前記第一と第二のルーチングルールの優先権値は最小値に設定される。
【0018】
また、前記使用可能ユニキャストアドレスは、前記非マルチキャストネットワークにおいてユニキャストアドレスルーチングを前記マルチキャストネットワークに提供する境界スイッチであることを指す。
【0019】
従来の技術と比べると、本発明が提出したOpenFlowプロトコルとUDPポート番号アドレス変換を用いてマルチキャストパケットに非マルチキャストネットワークをトラバースさせるシステム及び方法は、コスト有効度が高く、SDN技術によるスイッチのルーチングテーブルの設定を着目し、かつ、マルチキャストパケットIPアドレスとUDPポート番号を変更することにより、マルチキャストパケットとユニキャストパケットとの間のアドレス変換を達成し、これによりユニキャストパケットでマルチキャストパケットを送信できるようにしたので、マルチキャストパケットに非マルチキャストネットワークをトラバースさせる伝送技術を達成する。
【図面の簡単な説明】
【0020】
【
図1】本発明に係るマルチキャストパケットに非マルチキャストネットワークをトラバースさせるネットワークシステム構成図である。
【
図2】本発明に係るマルチキャストパケットに非マルチキャストネットワークをトラバースさせる作動方法フローチャートである。
【
図3】本発明に係るマルチキャストパケットに非マルチキャストネットワークをトラバースさせる設定段階フローチャートである。
【
図4】本発明に係るマルチキャストパケットに非マルチキャストネットワークをトラバースさせる運行段階フローチャートである。
【
図5】本発明に係るマルチキャストパケットに非マルチキャストネットワークをトラバースさせる実施作動フロー模式図である。
【発明を実施するための形態】
【0021】
以下は、特定の具体的な実施形態により本発明の技術内容を詳しく説明し、当業者はこの明細書が開示している内容から本発明のメリットと効果を容易に理解することができる。また、他の異なる具体的な実施形態により本発明を実施または応用することができる。
【0022】
まず、ソフトウェア・デファインド・ネットワーキング(Software Defined Networking、SDN)は、現有のメカニズムより革新した新興のネットワーク構成であり、そのコンセプトはネットワークの制御プレーン(control-plane)機能とデータプレーン(data-plane)機能を分離させ、制御プレーンをコントローラに集合して、スイッチにおいてパケットを伝送する機能のみを残し、スイッチはコントローラを介して経路を演算することが必要であり、コントローラによりパケット伝送の方向をスイッチへ設定する。
【0023】
本発明は、SDN OpenFlowコントローラを介してスイッチのルーチングテーブルを設定し、マルチキャストパケットアドレスとUDPポート番号を変更することにより、マルチキャストパケットとユニキャストパケットとの間のアドレス変換を行い、マルチキャストパケットに非マルチキャストネットワークをトラバースさせる方法である。これにより、マルチキャストパケットの送信はマルチキャストパケットをサポートするネットワークにのみ制限されることなく、マルチキャストパケットを伝送する環境の柔軟性をより向上させる実施方式を果たす。
【0024】
インターネットプロトコル(Internet Protocol)において、クラスD(class D)のIPアドレスの範囲は、224.0.0.0.〜239.255.255.255であり、この範囲は、マルチキャスト(multicast)専用のものですので、一般的なユニキャストネットワーク(unicast network)IPアドレスの範囲においてルーチングすることができない。
【0025】
図1は、本発明に係るマルチキャストパケットに非マルチキャストネットワークをトラバースさせるネットワークシステム構成図である。
図1に示すマルチキャストネットワーク110、マルチキャストネットワーク120およびマルチキャストネットワーク130はマルチキャストプロトコルを有効にしたネットワークであり、非マルチキャストネットワーク140は、マルチキャストIPアドレスパケットをサポートしていないネットワークであり、OpenFlowスイッチ111をマルチキャストネットワーク110の境界ネットワーク装置として非マルチキャストネットワーク140に接続しており、OpenFlowスイッチ121をマルチキャストネットワーク120の境界ネットワーク装置として非マルチキャストネットワーク140に接続しており、OpenFlowスイッチ131をマルチキャストネットワーク130の境界ネットワーク装置として非マルチキャストネットワーク140に接続している。
【0026】
マルチキャストネットワーク110は、マルチキャストパケット送信端112を有し、マルチキャストネットワーク120は、マルチキャストパケット送信端112と同一のマルチキャストグループ(multicast group)に属するマルチキャストパケット受信端122を有し、マルチキャストネットワーク130は、マルチキャストパケット送信端112と同一のマルチキャストグループに属するマルチキャストパケット受信端132を有する。マルチキャストパケット送信端112から送信されたマルチキャストパケットが、OpenFlowスイッチ111を介してマルチキャストネットワーク110から非マルチキャストネットワーク140を経由してOpenFlowスイッチ121とOpenFlowスイッチ131に伝送されてから、それぞれマルチキャストネットワーク120におけるマルチキャストパケット受信端122およびマルチキャストネットワーク130におけるマルチキャストパケット受信端132に転送される。
【0027】
また、OpenFlowコントローラ150は、OpenFlowスイッチのコントローラとしてOpenFlowスイッチ111、121、131と接続しており、コントローラとスイッチとの間でOpenFlowプロトコルを使用して相互交信を行なう。アドレスポート番号データベース160もOpenFlowコントローラ150と接続しており、OpenFlowコントローラ150は、アドレスポート番号データベース160を介してシステムにおけるアドレス変換に使用可能なユニキャストアドレスポート番号を検索できる。
【0028】
マルチキャストパケットは非マルチキャストネットワーク140を直接トラバースできないのは、非マルチキャストネットワーク140におけるネットワーク装置がマルチキャストIPアドレスのルーチングをサポートしていないからである。これを鑑みて、本発明は、OpenFlowプロトコルによりマルチキャストパケットのマルチキャスト送信先IPアドレス(Destination IP)をユニキャストIPアドレスに変換することにより、非マルチキャストネットワーク140をトラバースできるようにした。また、本発明のマルチキャストアドレスとユニキャストアドレスとの変換方法は、パケットのUDPポート番号を使用する。このようにすれば、非マルチキャストネットワークに必要のユニキャストアドレスの数をコンパクトにできる。
【0029】
任意の多数の非マルチキャストネットワークにより接続されているマルチキャストネットワークのいずれも
図1に示す構成に簡略化できるので、つぎの説明において、
図1に示すネットワークシステム構成により、本発明においてマルチキャストパケットが非マルチキャストネットワークをトラバースできるようにしたシステムの作動方法を説明する。
【0030】
本発明の作動フローは、主にシステム設定段階210とシステム作動段階310という2つの階段に分けられ、そのフローチャートが
図2に示す。システム設定段階210は、システムが作動するに先たって、関連設備の設定の動作を行う必要があり、システム作動段階310は、システムがマルチキャストパケットの送信動作を実際に行なっており、マルチキャストパケットとユニキャストパケットとの間でのアドレスポート変換により、マルチキャストパケットに非マルチキャストネットワークをトラバースさせる。
【0031】
図3は、本発明に係るマルチキャストパケットに非マルチキャストネットワークをトラバースさせるシステム設定段階フローチャートである。まず、ステップ211において、すべてのOpenFlowスイッチ111、121、131にOpenFlowコントローラ150の情報を設定し、OpenFlowコントローラ150との接続を構築する。
【0032】
ステップ212において、OpenFlowコントローラ150は、すべてのOpenFlowスイッチとの接続状況が正常か否かを確認する。
【0033】
ステップ213において、OpenFlowコントローラ150は、予め設定されたOpenFlowのルーチングルールをOpenFlowスイッチ111、121、131のルーチングテーブルに書き込み、このルールのMatchエントリは送信先IPアドレスが224.0.0.0/4であることを記しており、ActionエントリはパケットをOpenFlowスイッチとOpenFlowコントローラとが接続している出口ポートにリダイレクトすることを記している。このルールの優先権値を最小値に設定する。この予め設定されたルーチングルールは、マルチキャストアドレスポート番号をユニキャストアドレスポート番号に変換するルールが設定されていないマルチキャストパケットをOpenFlowスイッチに送信する時、パケットをOpenFlowスイッチ150にリダイレクトしてシステムの作動段階310に進むためである。
【0034】
ステップ214において、OpenFlowコントローラ150が再度マルチキャストアドレスポート番号をユニキャストアドレスポート番号に変換する時、使用可能ユニキャストアドレスのポート番号を検索できるために、システムがまだ設置していないルーチングに使用可能なアドレスポート番号をアドレスポート番号データベース160に格納する。この使用可能ユニキャストアドレスポート番号は、そのユニキャストIPアドレスが非マルチキャストネットワークにおいてマルチキャストネットワークの境界スイッチにルーチングできることを意味する。
【0035】
本発明は、システム設定段階210を経った後、
図4のフローチャートに示すように、システム作動段階310に進むことができる。まず、ステップ311において、マルチキャストパケット送信端112がマルチキャストパケットを生成し、マルチキャストネットワーク110においてマルチキャストルーチングを行なう。
【0036】
ステップ312において、マルチキャストパケットはマルチキャストネットワーク110の境界にあるOpenFlowスイッチ111に送信され、つぎに、ステップ313において、OpenFlowスイッチ111は、自体のOpenFlowルーチングテーブルを使用してマルチキャストパケットの送信先IPアドレスとUDPポート番号がルーチングルール合致するか否かを分析し、いずれも合わない場合には、最後にステップ213で書き込まれた予め設定されたルーチングルールに対応して、ステップ314に進み、当該マルチキャストパケットをOpenFlowコントローラ150に転送する。
【0037】
ステップ315において、OpenFlowコントローラ150は、パケットのソースが属するマルチキャストネットワーク110に基づいて、アドレスポート番号データベース160からマルチキャストネットワーク120およびマルチキャストネットワーク130の境界スイッチにルーチングできる使用可能ユニキャストのポート番号を選択する。
【0038】
ステップ316において、OpenFlowコントローラは、元のマルチキャストパケットのアドレスポート番号と選択されたユニキャストアドレスポート番号との変換関係をOpenFlowルーチングルールとして書き込み、OpenFlowプロトコルによりOpenFlowスイッチ111に書き込む。また、ユニキャストアドレスポート番号と元のマルチキャストパケットアドレスポート番号との変換関係をOpenFlowルーチングルールとして書き込み、OpenFlowプロトコルによりOpenFlowスイッチ121およびOpenFlowスイッチ131に書き込む。
【0039】
ステップ311からステップ316を経った後、マルチキャストパケットに非マルチキャストネットワークをトラバースさせるルーチングが開通されており、マルチキャストパケット送信端112再度マルチキャストパケットを生成すると、ステップ321に進む。書き込まれたOpenFlowルーチングルールに基づき、マルチキャストパケットのアドレスポート番号を非マルチキャストネットワーク140にルーチング可能なユニキャストアドレスポート番号に変換する。
【0040】
ステップ322において、パケットがユニキャストアドレスポート番号により非マルチキャストネットワーク140においてルーチングして送信され、つぎに、ステップ323に進み、パケットがOpenFlowスイッチ121とOpenFlowスイッチ131にルーチングされる。
【0041】
ステップ324において、書き込まれたOpenFlowルーチングルールに基づき、ユニキャストアドレスポート番号を元の対応するマルチキャストアドレスポート番号に戻し、つぎに、ステップ325に進み、マルチキャストパケットは、そのアドレスポート番号によりマルチキャストパケット受信端122およびマルチキャストパケット受信端132にルーチングされる。
【0042】
以下は本発明の1つの実施例であり、そのネットワークシステム構成および作動フローは
図5に示される。マルチキャストネットワーク110におけるマルチキャストパケット送信端112がマルチキャストプロトコルを使用してパケットを送信し、そのパケットのマルチキャストアドレスは227.100.1.1であり、UDPポートは2222である。フロー4111に示すように、マルチキャストパケットはマルチキャストルーチングを介してマルチキャストネットワーク110の境界OpenFlowスイッチ111に送信される。
【0043】
このときのOpenFlowスイッチ111内には、
図3のステップ213で設定された予め設定されたOpenFlowルーチングしかいないので、マルチキャストアドレスが含まれているパケットはフロー4112に進み、OpenFlowコントローラ150にリダイレクトされる。次に、OpenFlowコントローラ150はアドレスポート番号データベース160からマルチキャストネットワーク120にルーチングできる使用可能ユニキャストアドレスポート番号200.2.1.1:10001およびマルチキャストネットワーク130にルーチングできる使用可能ユニキャストアドレスポート番号200.3.1.1:10001を検索して、次にフロー4113に示すように、OpenFlowコントローラ150は、OpenFlowスイッチ111に対し、マルチキャストアドレスポート番号をユニキャストアドレスポート番号に変換するOpenFlowルーチングルールを書き込み、OpenFlowルーチングテーブル113に示すように、そのルールのMatchエントリの送信先IPアドレスは227.100.1.1に設定され、送信先UDPポート番号は2222に設定され、そのルールのActionsエントリには2つの動作が含まれ、第一の動作は、送信先IPアドレスを200.2.1.1に設定し、送信先UDPポート番号を10001に設定し、出力ポート番号をOpenFlowスイッチ111と非マルチキャストネットワーク140とをインタフェーシングするポート番号に設定し、第二の動作は、送信先IPアドレスを200.3.1.1に設定し、送信先UDPポート番号を10001に設定し、出力ポート番号をOpenFlowスイッチ111と非マルチキャストネットワーク140とをインタフェーシングするポート番号に設定する。
【0044】
フロー4113を経った後、マルチキャストパケットは、変換されたユニキャストパケットアドレスを用い、非マルチキャストネットワーク140をトラバースしてマルチキャストネットワーク120の境界OpenFlowスイッチ121およびマルチキャストネットワーク130の境界OpenFlowスイッチ131にルーチングされる。同様に、フロー4114において、OpenFlowコントローラ150は、OpenFlowスイッチ121およびOpenFlowスイッチ131に対し、ユニキャストアドレスポート番号をマルチキャストアドレスポート番号に戻すOpenFlowルーチングルールを書き込む。OpenFlowルーチングテーブル123に示すように、OpenFlowスイッチ121に書き込んだルールは、Matchエントリの送信先IPアドレスが200.2.1.1に設定され、送信先UDPポート番号が10001に設定され、Actionsエントリの動作は、送信先IPアドレスを227.100.1.1に設定し、送信先UDPポート番号を2222に設定し、出力ポート番号をOpenFlowスイッチ121とマルチキャストネットワーク120とをインタフェーシングするポート番号に設定する。OpenFlowルーチングテーブル133に示すように、OpenFlowスイッチ131に書き込んだルールは、Matchエントリの送信先IPアドレスは200.3.1.1に設定され、送信先UDPポート番号は10001に設定され、Actionsエントリの動作は、送信先IPアドレスを227.100.1.1に設定し、送信先UDPポート番号を2222に設定し、出力ポート番号をOpenFlowスイッチ131とマルチキャストネットワーク130とをインタフェーシングするポート番号に設定される。
【0045】
マルチキャストパケット送信端112は、IPアドレスは227.100.1.1、UDPポート番号は2222であるマルチキャストパケットを再度送信する場合、アドレスポート番号の変換はフロー4113とフロー4114により完了したので、フロー4115において、OpenFlowスイッチ111がマルチキャストパケットのアドレスポート番号を対照するとOpenFlowルーチングテーブル113のルーチングルールに符合するので、1つの動作では、マルチキャストパケットの送信先IPアドレスを200.2.1.1に変更し、送信先UDPポート番号を10001に変更し、パケットをOpenFlowスイッチ121にルーチングすることができる。同様に、もう1つの動作では、マルチキャストパケットの送信先IPアドレスを200.3.1.1に変更し、送信先UDPポート番号を10001に変更し、パケットをOpenFlowスイッチ131にルーチングすることができる。パケットがOpenFlowスイッチ121に到達してから、OpenFlowルーチングテーブル123のルーチングルールに基づき、パケットの送信先IPアドレスを227.100.1.1に戻し、送信先UDPポート番号を2222に戻す。同様に、パケットがOpenFlowスイッチ131に到達してから、OpenFlowルーチングテーブル133のルーチングルールに基づき、パケットの送信先IPアドレスを227.100.1.1に戻し、送信先UDPポート番号を2222に戻す。
【0046】
最後、フロー4116において、マルチキャストパケットは、マルチキャストネットワークにおいて227.100.1.1というマルチキャストアドレスを使用すれば、マルチキャストパケット受信端122およびマルチキャストパケット受信端132にマルチキャストパケットから送信したマルチキャストパケットを受信させることができる。
【0047】
上記をまとめると、本発明は、OpenFlowプロトコルによりマルチキャストパケットIPアドレスとUDPポート番号を変換することで、マルチキャストパケットに非マルチキャストネットワークをトラバースさせる方法およびその応用であるネットワークシステムを提供する。従来の技術と比べると、つぎのメリットを有する。第一は、本発明は非マルチキャストネットワークにおけるルーチング装置の設定を変更することなく、マルチキャストパケットに非マルチキャストネットワークをトラバースさせることができる。第二は、本発明はマルチキャストパケットの長さを変更することなく、マルチキャストパケットに非マルチキャストネットワークをトラバースさせることができる。第三は、本発明は標準的なOpenFlowプロトコルを用いてパケットアドレスの変換を行い、特定のネットワークデバイスに制限されることなく、高速なプロビジョニングを達成でき、OpenFlowプロトコルをサポートするいかなるスイッチが本発明の効果を達成できる。第四は、本発明はアドレス変換識別の方法としてIPアドレスに加えUDPポート番号を用いており、識別の方法としてIPアドレスのみを使用する従来の方法と比べると、IPアドレスリソースの使用を大幅に節約することができる。
【0048】
上記の実施形態は、ただ本発明の原理およびその効果を例示的に説明しただけであって、本発明を限定するものではない。この技術を熟知している当業者が、本発明の精神及び本質特徴から逸脱しない範囲で、上記の実施形態を修飾または変更することができる。そのため、本発明の特許請求の範囲は、その請求の範囲に記載されるようなものと考えるべきである。
【符号の説明】
【0049】
110 マルチキャストネットワーク
111 OpenFlowスイッチ
112 マルチキャストパケット送信端
113 OpenFlowルーチングテーブル
120 マルチキャストネットワーク
121 OpenFlowスイッチ
122 マルチキャストパケット受信端
123 OpenFlowルーチングテーブル
130 マルチキャストネットワーク
131 OpenFlowスイッチ
132 マルチキャストパケット受信端
133 OpenFlowルーチングテーブル
140 非マルチキャストネットワーク
150 OpenFlowコントローラ
160 アドレスポート番号データベース
210 システム設定段階
211〜214 システム設定段階のフロー
310 システム作動段階
311〜325 システム作動段階のフロー
4111〜4116 システム実施動作のフロー