JP2008312095A - 中継装置、中継方法および中継プログラム - Google Patents

中継装置、中継方法および中継プログラム Download PDF

Info

Publication number
JP2008312095A
JP2008312095A JP2007159980A JP2007159980A JP2008312095A JP 2008312095 A JP2008312095 A JP 2008312095A JP 2007159980 A JP2007159980 A JP 2007159980A JP 2007159980 A JP2007159980 A JP 2007159980A JP 2008312095 A JP2008312095 A JP 2008312095A
Authority
JP
Japan
Prior art keywords
packet
multicast group
received
multicast
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007159980A
Other languages
English (en)
Other versions
JP4775716B2 (ja
Inventor
Hiroyuki Kinoshita
博之 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2007159980A priority Critical patent/JP4775716B2/ja
Publication of JP2008312095A publication Critical patent/JP2008312095A/ja
Application granted granted Critical
Publication of JP4775716B2 publication Critical patent/JP4775716B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】Fast-Leave可能なダウンストリームポートを自動的に学習することができるようにする。
【解決手段】IGMP/MLDパケット解析/送受信部111は、MRパケット(IGMP/MLD Membership Reportパケット)の受信時にそのMRパケットを受信したダウンストリームポートとその送信元のクライアントとを対応づけて、IGMP/MLDクライアント管理DBに登録する。また、グループ離脱パケットを受信した場合、GSQパケット(Group Specific Queryパケット)を送信する。そして、グループ離脱パケットを受信したダウンストリームポートに対応するクライアントが一台である場合には、離脱要求されたマルチキャストグループに関するエントリを、マルチキャストグループ管理DB等から削除する。
【選択図】図2

Description

本発明は、中継装置、中継方法および中継プログラムに関し、特にマルチキャスト通信で用いられる中継装置、中継方法および中継プログラムに関する。
マルチキャスト通信に適用されるプロトコルとして、IGMP(internet group management protocol)やMLD(multicast listener discovery)がある。IGMPは、IPv4でのマルチキャスト通信に適用されるプロトコルであり、MLDは、IPv6でのマルチキャスト通信に適用されるプロトコルである。IGMPとMLDは、いずれも同様の動作を規定している。マルチキャスト通信にIGMPとMLDとが両方とも適用されていてもIGMPとMLDとが互いの動作に影響を与えることはない。以下、IGMPまたはMLD、あるいはIGMPとMLDの両方が適用されていることをIGMP/MLDと記す。
マルチキャスト送信されるパケット(以下、マルチキャストパケットと記す。)は、グループという単位で区別される。このグループをマルチキャストグループと呼ぶ。各マルチキャストグループ毎にマルチキャストアドレスが定められる。クライアントが、あるマルチキャストグループのマルチキャストパケットの受信を開始することを、マルチキャストグループに加入すると表現する。また、クライアントが、あるマルチキャストグループのマルチキャストパケットの受信を停止することを、マルチキャストグループから離脱すると表現する。
また、クライアントが、あるマルチキャストグループのマルチキャストパケットを受信することを、マルチキャストグループの視聴と表現する場合もある。例えば、マルチキャストグループを視聴しているクライアントとは、そのマルチキャストグループのマルチキャストパケットを受信しているクライアントを意味する。
また、以下の説明では、あるマルチキャストグループのマルチキャストパケットを、単にマルチキャストグループのパケットと記す。
IGMP/MLDによってマルチキャスト送信を行うシステムでは、マルチキャストパケットの送信元となる装置(以下、送信元サーバと記す。)が、マルチキャストグループのパケットを送信する。中継装置(例えば、マルチキャストルータ)は、マルチキャストグループのパケットを、そのマルチキャストグループに加入した各クライアントに送信する。IGMP/MLDによって通信を行うクライアントを、以下、IGMP/MLDクライアントと記す。ここでは、中継装置がマルチキャストルータである場合を例にして説明する。
マルチキャストルータは、General Queryパケット(以下、GQパケットと記す。)や、Group Specific Queryパケット(以下、GSQパケットと記す)をIGMP/MLDクライアントに送信し、応答の有無によって、IGMP/MLDクライアントの視聴状態を確認する。すなわち、各クライアントがどのマルチキャストグループのパケットを受信しているかや、特定のマルチキャストグループのパケットを受信しているクライアントがどのクライアントであるのかを確認する。GQパケットは、各クライアントが視聴しているマルチキャストグループを確認するために用いられる。GSQパケットは、特定のマルチキャストグループを視聴中のクライアントが存在するかを確認するために用いられる。
IGMP/MLDクライアントは、新たにマルチキャストグループに加入する場合、そのIGMP/MLDクライアント自身にそのマルチキャストグループのパケットを送信することを要求するIGMP/MLD Membership Reportパケット(以下、MRパケットと記す。)をマルチキャストルータに送信する。また、マルチキャストグループを視聴中のIGMP/MLDクライアントは、GQパケットまたはGSQパケットを受信した場合に、そのGQパケットまたはGSQパケットによって指定された時間以内にMRパケットを送信して、視聴しているマルチキャストグループを通知する。ただし、IGMP/MLDクライアントは、GQパケットまたはGSQパケットに応答して視聴中のマルチキャストグループを通知するMRパケットを送信する前に、他のIGMP/MLDクライアントによってそのマルチキャストグループを通知するMRパケットが送信され、そのMRパケットを受信した場合には、MRパケットを送信しない。
また、IGMP/MLDクライアントは、マルチキャストグループの視聴を停止する場合、そのマルチキャストグループのパケットの送信停止を要求するマルチキャストグループ離脱パケット(以下、グループ離脱パケットと記す。)を、マルチキャストルータに送信する。グループ離脱パケットを受信したマルチキャストルータは、送信停止を要求されたマルチキャストグループを視聴中の他のIGMP/MLDクライアントが存在するかどうかを確認するため、そのマルチキャストグループを視聴しているか否かを問い合わせるGSQパケットを送信する。マルチキャストルータは、そのGSQパケットに対する応答が所定時間(Max Response Time )以内にない場合(MRパケットを受信しない場合)、グループ離脱パケットを送信したIGMP/MLDクライアント以外に、送信停止を要求されたマルチキャストグループを視聴しているIGMP/MLDクライアントは存在しないと判定し、そのマルチキャストグループの配信を停止する。一方、GSQパケットを送信してから所定時間(Max Response Time )以内にMRパケットを受信した場合には、マルチキャストグループの配信を継続する。
このようにIGMP/MLDでは、マルチキャストルータは、マルチキャストグループの視聴状態しか管理しないというポリシで設計されているため、それぞれのIGMP/MLDクライアントがマルチキャストグループから離脱するときに、マルチキャストルータは、そのマルチキャストグループを視聴している他のIGMP/MLDクライアントが存在するか否かをGSQパケットを送信することによって確認する必要がある。GSQパケットに対する応答を待つ所定時間(Max Response Time)の間は、マルチキャストパケットの配信を停止できないという問題があった。特に、ザッピングと呼ばれる高速にチャンネルを切り替える操作を行う場合に、マルチキャストグループへの加入と離脱を繰り返すため、一時的にたくさんのマルチキャストグループに加入しているという状態が発生する。その結果、データが大量に流れ、伝送媒体や中継機器の性能を越えてしまい、マルチキャスト送信されるデータが転送されなくなるという課題があった。
RFC4545等で説明されている一般的なIGMP/MLDスヌーピング(snooping)装置では、この課題を解決するため、“Fast-Leave”と呼ばれる機能を搭載している。図7は、一般的なIGMP/MLDスヌーピング装置の例を示す説明図である。IGMP/MLDスヌーピング装置20のダウンストリームポート(downstream port )側でIGMP/MLDクライアント21〜24はマルチキャストパケットを受信する。また、図7に示す例では、IGMP/MLDクライアント23,24は、L2スイッチ25を介してIGMP/MLDスヌーピング装置20とパケットを送受信する。
IGMP/MLDスヌーピング装置20は、ダウンストリームポート側で視聴されているマルチキャストグループを管理する。そして、IGMP/MLDクライアント21〜24から送信されるIGMP/MLDパケットをダウンストリームポート側には転送せず、ダウンストリームポートに視聴しているIGMP/MLDクライアントが存在しない場合のみグループ離脱パケットをアップストリームポート(upstream port )に転送する。IGMP/MLDパケットとは、IGMPまたはMLDで規定された制御パケットである。上記のような処理により、一般的なIGMP/MLDスヌーピング装置20では、マルチキャストグループに加入したIGMP/MLDクライアントが、図7に例示するIGMP/MLDクライアント21,22のようにダウンストリームポートに直接接続されたIGMP/MLDクライアントのみであることが保証される場合、IGMP/MLDクライアントからのグループ離脱パケットを受信後、直ちにマルチキャストグループの配信を停止することができる。この機能がFast-Leave機能である。
また、データ配信システムの例が、特許文献1に記載されている。特許文献1に記載されたデータ配信システムは、クライアントから、あるネットワークを介して、受信開始要求を意味するReportパケットを受信した場合、そのネットワークに対応する加入状態テーブルに、そのクライアントのMACアドレスを登録し、マルチキャストデータの配信を開始する。その後、そのクライアントからLeave Groupパケットを受信した場合には、加入状態テーブルから、そのクライアントのMACアドレスを削除する。
また、ルーティング装置の例が、特許文献2に記載されている。特許文献2には、ルーティング装置が、マルチキャストグループに参加しているクライアントの数を、マルチキャストグループ毎にカウントすることが記載されている。
特開2003−244230号公報(段落0048−0057、図2) 特開2004−56584号公報(段落0015)
図7に例示した一般的なIGMP/MLDスヌーピング装置には、次のような問題がある。
L2スイッチ25を介してIGMP/MLDスヌーピング装置20のダウンストリームポートに接続されているIGMP/MLDクライアント23,24(図7参照。)は、互いのMRパケットを検出してしまう。このIGMP/MLDクライアント23,24のように、1つのダウンストリームポートに複数のIMGP/MLDクライアントが存在する場合、そのIGMP/MLDクライアントは互いのMRパケットを検出するので、Fast-Leave機能を有効にしてしまうと、同じマルチキャストグループを2つのIGMP/MLDクライアントで同時に視聴できなくなってしまう。
また、各ポートでFast-Leave機能をオン、オフのどちらかにしかできないため、1つのダウンストリームポートに複数台のIGMP/MLDクライアントが接続されることがあり得る環境では、Fast-Leave機能を使用することができない。
このように、Fast-Leave機能では、ダウンストリームポートに接続されるIMGP/MLDクライアントの接続構成が明確なときは、Fast-Leave機能をオンまたはオフにすることで最適な設定にすることができる。しかし、実際にマルチキャストパケットを配信するサービスにおいては、ダウンストリームポートに接続されるIMGP/MLDクライアントの接続構成を保証することは困難である。そのため、Fast-Leave機能をオンとすることができる場合であっても、Fast-Leave機能を使用することができないことが多いという問題があった。
また、特許文献1に記載された発明を中継装置に適用したとしても、加入状態テーブルにクライアントの情報が登録されていないポートに関して、Fast-Leave機能を適用することができるか否かを判断することができない。
そこで、本発明は、Fast-Leave可能なダウンストリームポートを学習することができる中継装置、中継方法および中継プログラムを提供することを目的とする。
本発明の中継装置は、マルチキャストパケットを中継する中継装置であって、マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、制御部が、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段と、マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録手段と、マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ手段と、グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定手段と、グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理手段と、問い合わせ手段がマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習手段とを有することを特徴とする。
また、本発明の中継方法は、マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、制御部が、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを有するマルチキャストパケットの中継装置に適用される中継方法であって、マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録し、マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信し、グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定し、グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除し、マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習することを特徴とする。
また、本発明の中継プログラムは、マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部のMACアドレスラーニングテーブルにアクセス可能であり、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを備えたコンピュータに搭載される中継プログラムであって、コンピュータに、マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録処理、マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ処理、グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定処理、グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理、およびマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習処理を実行させることを特徴とする。
本発明によれば、クライアントが高速離脱することができないポートを自動的に学習することができるので、その結果、クライアントが高速離脱することができないポートでないポートをFast-Leave可能なダウンストリームポートとして学習することができる。
以下、本発明の実施例を図面を参照して説明する。
なお、以下に示す各実施例の説明においても、グループとして区別されたマルチキャストパケットのグループをマルチキャストグループと呼ぶ。また、IGMP/MLDクライアントが、あるマルチキャストグループのマルチキャストパケットの受信を開始することを、マルチキャストグループに加入すると記す。また、IGMP/MLDクライアントが、あるマルチキャストグループのマルチキャストパケットの受信を停止することを、マルチキャストグループから離脱すると記す。また、マルチキャストグループを視聴するとは、そのマルチキャストグループのパケットを受信していることを意味する。また、IGMP/MLDパケットとは、IGMPまたはMLDで規定された制御パケットであり、IGMP/MLDパケットの例として、MRパケット、グループ離脱パケット、GQパケット、GSQパケットがある。
実施例1.
図1は、本発明の中継装置の例を示すブロック図である。第1の実施例では、中継装置が、IGMP/MLDスヌーピング(snooping)機能を有するIGMP/MLDスヌーピング装置であるものとして説明する。IGMP/MLDスヌーピングとは、あるマルチキャストグループのパケットを、そのマルチキャストグループを視聴しているIGMP/MLDクライアントが接続しているポートからのみ送信することをいう。IGMP/MLDスヌーピング装置1には、IGMP/MLDが適用される。
図1に示すように、IGMP/MLDスヌーピング装置(中継装置)1は、IGMP/MLD処理部11と、IGMP/MLDスヌーピング機能つきL2スイッチ部(以下、L2スイッチ部と記す。)12とを備える。IGMP/MLD処理部11には、アップストリームポート(upstream port )が設けられ、L2スイッチ部12には、複数のダウンストリームポート(downstream port )が設けられている。IGMP/MLD処理部11は、アップストリームポートを介して送信元サーバ(図示せず。)からマルチキャストパケットを受信する。また、ダウンストリームポートには、IGMP/MLDクライアントが接続されている。なお、図1、図2および図6では、IGMP/MLDクライアントの図示を省略している。ダウンストリームポートとIGMP/MLDクライアントとの接続態様は、以下の何れであってもよい。すなわち、IGMP/MLDクライアントが直接ダウンストリームポートに接続されていてもよい。また、図7に示すIGMP/MLDクライアント23,24のように、IGMP/MLDスヌーピング装置1とは別に設けられたL2スイッチ等を介してIGMP/MLDクライアントがダウンストリームポートに接続されていてもよい。
L2スイッチ部12の構成は、当業者に知られているIGMP/MLDスヌーピング機能つきL2スイッチと同様であり、以下の説明では、本発明に関わる動作を除き、L2スイッチ部12の説明を省略する。
IGMP/MLD処理部11は、L2スイッチ部12がIGMP/MLDクライアントから受信したIGMP/MLDパケットをL2スイッチ部12から受信する。そして、IGMP/MLD処理部11は、各ダウンストリームポートで視聴されているマルチキャストグループと、マルチキャストグループを視聴しているIGMP/MLDクライアントを学習する。換言すると、IGMP/MLD処理部11は、L2スイッチ部12から受信したIGMP/MLDパケットに基づいて、IGMP/MLDクライアントで視聴されているマルチキャストグループと、マルチキャストグループを視聴しているIGMP/MLDクライアントとを管理する。IGMP/MLD処理部11は、受信したIGMP/MLDパケットを解析して、マルチキャストグループへの加入やマルチキャストグループからの離脱の要求に応じた処理を行い、受信したIGMP/MLDパケットをアップストリームポートから転送する。
また、IGMP/MLD処理部11は、各ダウンストリームポートに接続されたIGMP/MLDクライアントで視聴されているマルチキャストグループの情報をL2スイッチ部12に登録する。マルチキャストグループの情報として、具体的にはマルチキャストMACアドレスを登録する。
また、IGMP/MLD処理部11は、アップストリームポートから受信したパケットをL2スイッチ部12に転送する。
IGMP/MLD処理部11の処理の具体的な内容については、後述する。
L2スイッチ部12は、IGMP/MLDクライアントが送信したIGMP/MLDパケットをダウンストリームポートから受信すると、そのIGMP/MLDパケットをIGMP/MLD処理部11のみへ転送する。L2スイッチ部12は、ダウンストリームポートから受信したIGMP/MLDパケットを他のダウンストリームポートから転送することは行わない。
また、L2スイッチ部12は、IGMP/MLD処理部11から転送されるマルチかキャストパケットを、IGMP/MLD処理部11によってMACアドレスラーニングテーブルに登録されたマルチキャストMACアドレスとダウンストリームポートの情報に基づいてIGMP/MLDクライアントに送信する。
図2は、図1に示したIGMP/MLDスヌーピング装置(中継装置)をより詳細に示すブロック図である。図1で示した構成要素と同一の構成要素には、図1と同一の符号を付している。
L2スイッチ部(IGMP/MLDスヌーピング機能つきL2スイッチ部)12は、MACアドレスラーニングテーブルを登録する記憶装置(図示せず。)を備える。L2スイッチ部は、IGMP/MLDクライアントが送信したIGMP/MLDパケットをダウンストリームポートから受信し、ブリッジ処理を行う。MACアドレスラーニングテーブルは、個々のダウンストリームポートとMACアドレスとを対応付けたテーブルである。L2スイッチ部12は、ダウンストリームポートからパケットを送信する場合、そのパケットの宛先となるMACアドレスに対応するダウンストリームポートからパケットを送信する。また、ブリッジ処理は、クライアントからパケットを受信したときに、そのクライアントのMACアドレス(受信したパケットの送信元MACアドレス)と、そのパケットを受信したダウンストリームポートとの対応関係をMACアドレスラーニングテーブルに登録する処理である。本発明では、MACアドレスラーニングテーブルには、クライアントのMACアドレスとダウンストリームポートとの対応関係だけでなく、マルチキャストMACアドレスとダウンストリームポートとの対応関係も登録される。マルチキャストMACアドレスとダウンストリームポートとの対応関係は、IGMP/MLD処理部11によって登録される。
また、既に説明したように、L2スイッチ部12は、ダウンストリームポートからIGMP/MLDパケットを受信した場合、そのIGMP/MLDパケットをIGMP/MLD処理部11にのみ転送する。
また、IGMP/MLD処理部11は、マルチキャストグループと、マルチキャストグループを視聴しているIGMP/MLDクライアントとを管理して、マルチキャストグループへの加入やマルチキャストグループからの離脱の要求に応じた処理を行う等の処理を行う。
IGMP/MLD処理部11の構成および具体的な処理の内容について説明する。図2に示すように、IGMP/MLD処理部11は、IGMP/MLDパケット解析/送受信部111と、IGMP/MLDクライアント管理データベース部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理データベース部114とを備える。以下、IGMP/MLDクライアント管理データベース部112をIGMP/MLDクライアント管理DB部112と記し、マルチキャストグループ管理データベース部114をマルチキャストグループ管理DB部114と記す。
マルチキャストグループ管理DB部114は、マルチキャスト管理DB(データベース)を記憶する記憶装置である。図3は、マルチキャストグループ管理DBの例を示す説明図である。図3に示すように、マルチキャスト管理DBは、ポート番号と、IGMP/MLDクライアントに視聴されるマルチキャストグループのマルチキャストアドレスと、そのマルチキャストグループの送信元サーバのIPアドレス(“Source Specific Address ”と呼ばれる。)と、ライフタイムとを対応づけたデータの集合である。
ポート番号は、個々のダウンストリームポートを識別するポート識別情報である。ここでは、ポート識別情報が番号である場合を例示しているが、ポート識別情報は番号に限定されない。
マルチキャスト管理DBに含まれるマルチキャストアドレスは、送信元サーバがマルチキャストグループのパケットを送信する際に、そのマルチキャストパケットに送信先として付加するマルチキャストIPアドレスである。
送信元サーバのIPアドレス(Source Specific Address )は、マルチキャストグループのパケットを送信する送信元サーバのIPアドレスである。マルチキャストグループは、マルチキャストIPアドレスと送信元サーバのIPアドレスとによって管理することができる。なお、送信元サーバのIPアドレス(Source Specific Address )は、IGMPv3/MLDv2を適用する際にオプションで用いられる。IGMPv3/MLDv2以外のバージョンのIGMP/MLDが適用され、Source Specific Address を用いない場合には、マルチキャストIPアドレスによってマルチキャストグループを識別すればよい。
ライフタイムは、GQパケットまたはQSQパケットの送信後にIGMP/MLDクライアントからの応答を待つ時間である。GQパケットまたはGSQパケットの送信後、一定時間以内に、マルチキャストグループを視聴中である旨の応答がなければ、そのマルチキャストグループを視聴しているIGMP/MLDクライアントがないと判定される。ライフタイムは、この一定時間である。従って、GQパケットまたはGSQパケットの送信後に、マルチキャストグループに応じたライムタイムが経過するまでにそのマルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストパケットを視聴中のIGMP/MLDクライアントは存在しないと判定される。ライムタイムは、マルチキャストグループ毎に予め定められている。なお、GQパケットに対する応答を待つ時間(Max Response Time )と、GSQパケットに対する応答を待つ時間とが、異なる値として定められていてもよい。
IGMP/MLDクライアント管理DB部112は、IGMP/MLDクライアント管理DB(データベース)を記憶するデータベースである。図4は、IGMP/MLDクライアント管理DBの例を示す説明図である。図4に示すように、IGMP/MLDクライアント管理DBは、ポート番号と、IGMP/MLDパケットの送信元のMACアドレス(すなわちIGMP/MLDパケットを送信したIGMP/MLDクライアントのMACアドレス)とを対応付けたデータの集合である。IGMP/MLDクライアント管理DBを参照することによって、各ダウンストリームポート毎に何台のIGMP/MLDクライアントが接続されているかを判定することができる。例えば、図4に示す例では、ポート番号1とMACアドレスとの組み合わせが2つ登録されているので、ポート番号1のダウンストリームポートに接続されたIGMP/MLDクライアントが2台存在すると判定される。
IGMP/MLDパケット解析/送受信部111は、アップストリームポートから受信したパケットをL2スイッチ部12に転送する。従って、IGMP/MLDパケット解析/送受信部111は、送信元サーバが送信したマルチキャストパケットをアップストリームポートから受信すると、そのマルチキャストパケットをL2スイッチ部12に転送する。
また、IGMP/MLDパケット解析/送受信部111は、L2スイッチ部12がIGMP/MLDクライアントから受信したパケットをL2スイッチ部12から受信する。IGMP/MLDパケット解析/送受信部111は、L2スイッチ部12から受信したパケットがIGMP/MDLパケットでなければ、そのパケットをアップストリームポートから送信する。一方、L2スイッチ部12から受信したパケットがIGMP/MDLパケットであれば、そのパケットを解析して、パケットの種類に応じて、マルチキャストグループ管理DBへのマルチキャストグループに関するデータの追加や削除、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)へのマルチキャストMACアドレスの追加登録等を行う。また、パケットの種類に応じて、IGMP/MLDクライアント管理DBへのMACアドレスとポート番号の追加登録も行う。
また、IGMP/MLDパケット解析/送受信部111は、定期的にGQパケットをL2スイッチ部12を介して送信する。このとき、IGMP/MLDパケット解析/送受信部111は、GQパケットをL2スイッチ部12に送信し、L2スイッチ部12は、各ダウンストリームポートからGQパケットを送信する。
マルチキャストアドレス管理部113は、マルチキャストグループ管理DB部114に記憶されたマルチキャストグループ管理DBを監視する。そして、GQパケットまたはGSQパケットの送信後に、IGMP/MLDクライアントからの応答を待ち、定められた時間(ライフタイム)が経過するまでに、マルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除する。マルチキャストアドレス管理部113は、さらにマルチキャストアドレス管理部113は、そのマルチキャストグループに該当するエントリをL2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)から削除する。具体的には、そのマルチキャストグループのマルチキャストMACアドレスに対応するエントリを削除する。
なお、GQパケットは、各IGMP/MLDクライアントが視聴しているマルチキャストグループを全て申告させるための問い合わせパケットであるので、GQパケットにはマルチキャストグループの識別情報(例えば、マルチキャストアドレス)は含まれない。一方、GSQパケットは、特定のマルチキャストグループを視聴中のクライアントが存在するかを問い合わせるためのパケットであるので、マルチキャストグループの識別情報(例えば、マルチキャストアドレス)が含まれる。
既に説明したように、IGMP/MLDクライアントは、GQパケットまたはGSQパケットを受信した場合、そのパケットで指定された時間以内に、視聴しているマルチキャストグループを通知する。すなわち、視聴しているマルチキャストグループの識別情報(例えば、マルチキャストアドレス)を含むMRパケットを送信する。ただし、指定された時間以内に他のIGMP/MLDクライアントによって、そのマルチキャストグループの識別情報(例えば、マルチキャストアドレス)を含むMRパケットが送信され、そのMRパケットを受信した場合には、MRパケットを送信しない。また、IGMP/MLDクライアントは、マルチキャストグループへの加入を要求するときにもMRパケットを送信する。
IGMP/MLDクライアントは、指定するマルチキャストグループの識別情報となるマルチキャストIPアドレスをMRパケットに含めて、MRパケットを送信する。また、IGMPv3/MLDv2が適用され、マルチキャストIPアドレスおよび送信元サーバのIPアドレス(Source Specific Address )の組み合わせでマルチキャストグループを識別する場合、Source Specific Address もMRパケットに含める。また、マルチキャストグループに対応するライフタイムの情報をMRパケットに含めてもよい。以下、IGMP/MLDクライアントが、指定するマルチキャストグループのマルチキャストIPアドレスとSource Specific Address とライフタイムとをMRパケットに含める場合を例にして説明する。IGMP/MLDクライアントが、マルチキャストIPアドレスとSource Specific Address とライフタイムの情報を取得する態様は、特に限定されない。例えば、それらの情報を放送するサーバや、Webサーバから、取得してもよい。
次に、本発明の動作について説明する。
L2スイッチ部12は、ダウンストリームポートから受信したパケットをIGMP/MLDパケット解析/送受信部111に送信する。特に、ダウンストリームポートから受信したパケットがIGMP/MLDパケットである場合、そのパケットをIGMP/MLDパケット解析/送受信部111のみに送信する。
図5は、IGMP/MLDパケット解析/送受信部111がL2スイッチ部12からパケットを受信したときのIGMP/MLDパケット解析/送受信部111の動作の例を示す流れ図である。IGMP/MLDパケット解析/送受信部111は、L2スイッチ部12からパケットを受信すると、そのパケットがIGMP/MLDパケットであるか否かを判定する(ステップS1)。
L2スイッチ部12から受信したパケットがIGMP/MLDパケットでない場合(ステップS1のNo)、IGMP/MLDパケット解析/送受信部111は、そのパケットをアップストリームポートから送信する(ステップS10)。L2スイッチ部12から受信したパケットがIGMP/MLDパケットである場合(ステップS1のYes)、IGMP/MLDパケット解析/送受信部111は、そのパケットがMRパケットであるか否かを判定する(ステップS2)。
L2スイッチ部12から受信したパケットがMRパケットである場合(ステップS2のYes)、IGMP/MLDパケット解析/送受信部111は、そのMRパケットを受信したダウンストリームポートのポート番号と、そのMRパケットの送信元MACアドレスとを対応付けて、IGMP/MLDクライアント管理DB(図4参照。)に登録する(ステップS3)。
ステップS3の後、IGMP/MLDパケット解析/送受信部111は、IGMP/MLDからMRパケットによって加入を要求されたマルチキャストグループをマルチキャストグループ管理DBに登録する。すなわち、IGMP/MLDパケット解析/送受信部111は、MRパケットに含まれているマルチキャストIPアドレス、送信元サーバのIPアドレス(Source Specific Address )およびライフタイムと、MRパケットを受信したダウンストリームポートのポート番号とを対応付けて、マルチキャストグループ管理DB(図3参照。)に登録する(ステップS4)。
さらに、ステップS4において、IGMP/MLDパケット解析/送受信部111は、指定されたマルチキャストグループのマルチキャストIPアドレスに対応するマルチキャストMACアドレスと、MRパケットを受信したダウンストリームポートのポート番号とを対応付けて、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)に登録する。マルチキャストMACアドレスは、マルチキャストIPアドレスの下位23ビットと、“01:00:5e:00:00:00 ”の下位23ビットに割り当てたものである。IGMP/MLDパケット解析/送受信部111は、MRパケットに含まれていたマルチキャストIPアドレスの下位23ビットを“01:00:5e:00:00:00 ”に割り当てることでマルチキャストMACアドレスを生成し、そのマルチキャストMACアドレスとMRパケットを受信したダウンストリームポートのポート番号とを対応付けて、L2スイッチ部12のMACアドレスラーニングテーブルに登録すればよい。
また、L2スイッチ部12から受信したパケットがMRパケットない場合(ステップS2のNo)、IGMP/MLDパケット解析/送受信部111は、そのパケットがグループ離脱パケットであるか否かを判定する(ステップS5)。受信したパケットがグループ離脱パケットでない場合(ステップS5のNo)、IGMP/MLDパケット解析/送受信部111は、そのパケットをアップストリームポートから送信する(ステップS10)。
L2スイッチ部12から受信したパケットがグループ離脱パケットである場合(ステップS5のYes)、IGMP/MLDパケット解析/送受信部111は、GSQパケットをL2スイッチ部12を介して送信する(ステップS6)。ステップS6において、IGMP/MLDパケット解析/送受信部111は、GQパケットをL2スイッチ部12に送信し、L2スイッチ部12は、各ダウンストリームポートからGSQパケットを送信する。また、IGMP/MLDパケット解析/送受信部111は、ステップS6で送信するGSQパケットのMax Response Time を予め定めた時間よりも短く設定する。例えば、GQパケットのMax Response Time よりも短く設定する。
次に、IGMP/MLDパケット解析/送受信部111は、IGMP/MLDクライアント管理DBを参照して、グループ離脱パケットを受信したダウンストリームポートについて1つのIGMP/MLDクライアントが登録されているか、複数のIGMP/MLDクライアントが登録されているかを判定する(ステップS7)。すなわち、グループ離脱パケットを受信したダウンストリームポートのポート番号に対応して、1つのMACアドレスが登録されているか、複数のMACアドレスが登録されているかを判定する。
グループ離脱パケットを受信したダウンストリームポートのポート番号に対応して、複数のMACアドレスが登録されている場合、IGMP/MLDパケット解析/送受信部111は、マルチキャストグループ管理DB(図3参照。)のエントリのうち、グループ離脱パケットを用いて離脱を要求されたマルチキャストグループに対応するエントリのライフタイムを、ステップS6で短く設定したGSQパケットのMax Response Time の値まで短縮する(ステップS9)。ステップS9の後、IGMP/MLDパケット解析/送受信部111は、受信したグループ離脱パケットをアップストリームポートから送信する(ステップS10)。
また、グループ離脱パケットを受信したダウンストリームポートのポート番号に対応して、1つのMACアドレスが登録されている場合、IGMP/MLDパケット解析/送受信部111は、マルチキャストグループ管理DBから、グループ離脱パケットを受信したダウンストリームポートのポート番号と、グループ離脱パケットを用いて離脱を要求されたマルチキャストグループとを対応付けたエントリを削除する(ステップS8)。具体的には、ポート番号と、そのマルチキャストグループのマルチキャストアドレス、Source Specific Address 、およびライフタイムとを対応付けたエントリを削除する。さらに、ステップS8において、IGMP/MLDパケット解析/送受信部111は、グループ離脱パケットを受信したダウンストリームポートのポート番号と、そのマルチキャストグループのマルチキャストMACアドレスとを対応付けたエントリを、L2スイッチ部12のMACアドレスラーニングテーブルから削除する(ステップS8)。
ステップS8の後、IGMP/MLDパケット解析/送受信部111は、受信したグループ離脱パケットをアップストリームポートから送信する(ステップS10)。
また、既に説明したように、マルチキャストアドレス管理部113は、ライフタイムが経過するまでに、マルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除し、さらに、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)からも削除する。従って、マルチキャストアドレス管理部113は、マルチキャストグループ管理DB部114に記憶されたマルチキャストグループ管理DBを監視し、ステップS6でGSQパケットが送信された後、ライフタイムが経過するまでに、GSQパケットで定めたマルチキャストグループを指定するMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除する。このとき、ステップS9に移行している場合には、ライフタイムが短縮されているので、MRパケットの受信を待つ時間が短くなる。また、マルチキャストアドレス管理部113は、マルチキャストグループ管理DBからエントリを削除した場合、削除したエントリにおけるマルチキャストグループのマルチキャストMACアドレスを含むエントリを、L2スイッチ部12のMACアドレスラーニングテーブルから削除する。
また、IGMP/MLDパケット解析/送受信部111は、ステップS6で送信したGSQパケットに対する応答としてIGMP/MLDクライアントが送信したMRパケットを受信した場合、そのMRパケットを受信したダウンストリームポートを、IGMP/MLDクライアントが高速離脱することができないダウンストリームポートとして学習する。このダウンストリームポートの学習態様は、特に限定されない。例えば、ステップS6のGSQパケット送信後にMRパケットを受信したダウンストリームポートのポート番号を、高速離脱することができないダウンストリームポートのポート番号として、IGMP/MLD制御部114が備える記憶装置(高速離脱不能ポート記憶手段、図示せず。)に記憶させておいてもよい。このように、IGMP/MLDクライアントが高速離脱することができないダウンストリームポートを学習するので、高速離脱することができないダウンストリームポートを判定することができる。例えば、上記の例のように高速離脱不能ポート記憶手段に、ステップS6のGSQパケット送信後にMRパケットを受信したダウンストリームポートのポート番号を記憶させた場合、高速離脱不能ポート記憶手段に記憶されたポート番号のダウンストリームポートは、IGMP/MLDクライアントが高速離脱できないポートであり、他のダウンストリームポートはIGMP/MLDクライアントが高速離脱できるポートであると判定することができる。
以上のように、本発明によれば、グループ離脱パケットを受信した後、GSQパケットを送信し、そのGSQパケットへの応答としてMRパケットを受信した場合、そのMRパケットを受信したダウンストリームポートを、IGMP/MLDクライアントが高速離脱することができないダウンストリームポートとして学習する。よって、IGMP/MLDクライアントが高速離脱できないダウンストリームポートを判定することができる。従って、Fast-Leave機能をオンとすることができるダウンストリームポート(IGMP/MLDクライアントが高速離脱できるポート)と、Fast-Leave機能をオンとすることができないダウンストリームポート(IGMP/MLDクライアントが高速離脱できないポート)がわかるので、高速離脱することができないダウンストリームポートを学習した後に、Fast-Leave機能を適切に設定して、適切にIGMP/MLDクライアントの高速離脱を実現することができる。
また、本発明では、グループ離脱パケットを受信したダウンストリームポート対応するIGMP/MLDクライアントが1つである場合、すぐにマルチキャストグループ管理DBおよびL2スイッチ部12のMACアドレスラーニングテーブルから該当するエントリを削除するので(ステップS8)、IGMP/MLDクライアントの高速離脱を実現することができる。
また、IMGP/MLDクライアントを高速離脱させるダウンストリームポートが、高速離脱することができないダウンストリームポートとして学習されていない場合であっても、ステップS10においてグループ離脱パケットをアップストリームポートから送信する。すると、高速離脱することができないダウンストリームポートとして学習されていないポートでは、マルチキャストグループを視聴しているクライアントがいるにも関わらず、視聴が途切れることがある。しかし、本発明では、ステップS9で、グループ離脱パケットを用いて離脱を要求されたマルチキャストグループに対応するエントリのライフタイムを短縮する。従って、GSQパケットの応答(MRパケット)を早く受信することができるため、そのような視聴途切れの時間を短縮することができる。
なお、GSQパケットを送信した後、ライフタイム期間が経過するまでにMRパケットを受信しなかった場合には、再度GSQパケットを送信することを繰り返してもよい。そして、GSQパケット送信後、ライフタイム期間が経過するまでにMRパケットを受信しない状態が所定回数続いたときに、IGMP/MLDクライアントからの応答がないと判定してもよい。GQパケットについても同様である。
実施例2.
図6は、本発明の第2の実施例の構成を示すブロック図である。第2の実施例では、本発明の中継装置を、IGMP/MLDプロキシに実装した場合を示す。第1の実施例で示した構成要素と同様の構成要素については、図1と同一の符号を付して示す。本実施例において、中継装置(以下、IGMP/MLDプロキシ装置と記す。)10は、IGMP/MLD処理部11aと、L2スイッチ部(IGMP/MLDスヌーピング機能つきL2スイッチ部)12と、ルータ部13とを備える。IGMP/MLD処理部11aは、IGMP/MLDプロキシ処理部115と、IGMP/MLDクライアント管理DB部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理DB部114とを備える。IGMP/MLDプロキシ処理部115は、IGMP/MLDパケット解析/送受信部111を含む。
L2スイッチ部12は、ダウンストリームポートから受信したIGMP/MLDパケットをルータ部13に送信する。また、IGMP/MLD処理部11aからパケットを受信する場合、ルータ部13を介して受信する。その他の点については、第1の実施例で説明したL2スイッチ部12と同様である。
ルータ部13は、マルチキャストグループ管理DB部114に記憶されているマルチキャストグループ管理DBに基づいて、マルチキャストパケットのルーティングを行う。また、ルータ部13は、IGMP/MLD Querierあてのパケットを、IGMP/MLDプロキシ処理部115に送信する。IGMP/MLD Querierあてのパケットとは、IGMP/MLDプロキシ装置10あてのIMGP/MLDパケットである。また、ルータ13にはアップストリームポートが設けられ、ルータ部13は、IGMP/MLD処理部11aがアップストリームポート側に転送するIGMP/MLDパケットをアップストリームポートから送信する。そして、IGMP/MLD処理部11aがIGMP/MLDクライアントに送信するパケットを、L2スイッチ部12に送信する。
IGMP/MLDクライアント管理DB部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理DB部114は、それぞれ、第1の実施例で示したIGMP/MLDクライアント管理DB部112と、マルチキャストアドレス管理部113と、マルチキャストグループ管理DB部114と同様である。
すなわち、IGMP/MLDクライアント管理DB部112は、ポート番号と、IGMP/MLDパケットを送信したIGMP/MLDクライアントのMACアドレスとを対応付けたIGMP/MLDクライアント管理DBを記憶する。
また、マルチキャストグループ管理DB部114は、ポート番号と、マルチキャストアドレスと、“Source Specific Address ”と、ライフタイムとを対応付けたマルチキャストグループ管理DBを記憶する。ただし、IGMPv3/MLDv2以外のバージョンのIGMP/MLDが適用される場合には、マルチキャストグループ管理DBに“Source Specific Address ”は含まれない。
また、マルチキャストアドレス管理部113は、マルチキャストグループ管理DB部114に記憶されたマルチキャストグループ管理DBを監視して、GQパケットまたはGSQパケットの送信後に、IGMP/MLDクライアントからの応答を待ち、定められた時間(ライフタイム)が経過するまでに、マルチキャストグループを指定したMRパケットを受信しなければ、そのマルチキャストグループに該当するエントリをマルチキャストグループ管理DBから削除する。さらに、そのマルチキャストグループに該当するエントリをL2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)から削除する。
IGMP/MLDプロキシ処理部115は、IGMP/MLDプロキシ処理を行う。IGMP/MLDプロキシ処理部115によるIGMP/MLDプロキシ処理は、当業者に知られているIGMP/MLDプロキシ処理と同様である。
IGMP/MLDプロキシ処理部115が備えるIGMP/MLDパケット解析/送受信部111は、L2スイッチ部12がIGMP/MLDクライアントから受信したIGMP/MLDパケットを、ルータ部13を介して受信する。そして、そのIGMP/MLDパケットをパケットの種類に応じて、マルチキャストグループ管理DBへのマルチキャストグループに関するデータの追加や削除、L2スイッチ部12のMACアドレスラーニングテーブル(図示せず。)へのマルチキャストMACアドレスの追加登録等を行う。この動作は、図5に示す動作と同様である。ただし、ルータ部13が、IGMP/MLDプロキシ装置10あてのIMGP/MLDパケットをIGMP/MLDプロキシ処理部115に送信するので、IGMP/MLDパケット解析/送受信部111は、受信したパケットがIMGP/MLDパケットであるか否かの判定(ステップS1)を行わずに、ステップS2以降の処理を行えばよい。
ただし、IGMP/MLDパケット解析/送受信部111は、受信したIGMP/MLDパケットを終端する。そして、IGMP/MLDパケット解析/送受信部111が代理でIGMP/MLDパケットを、ルータ部13を介して送信する。例えば、IGMP/MLDパケット解析/送受信部111は、受信したMRパケットやグループ離脱パケットを終端する。そして、IGMP/MLDパケット解析/送受信部111がMRパケットやグループ離脱パケットを、ルータ部13を介して送信する。
本実施例によれば、元々の機能としてIGMP/MLD処理を行いマルチキャストグループ管理を行うIGMP/MLDプロキシ処理部とIGMP/MLDパケット解析/送受信部111とを一体化することができるので、IGMP/MLD処理部11aの実装を容易に行うことができる。
なお、IGMP/MLDプロキシ処理部115は、マルチキャストルータ部であってもよい。
上記の第1の実施例および第2の実施例において、IGMP/MLD処理部11,11aは、L2スイッチ部12のMACアドレスラーニングテーブルにアクセス可能なコンピュータであって、IGMP/MLDクライアント管理DB部112とマルチキャストグループ管理DB部114を有するコンピュータによって実現されていてもよい。その場合、コンピュータが、予め記憶装置に記憶された中継プログラムを読み込み、その中継プログラムに従って、IGMP/MLDパケット解析/送受信部111およびマルチキャストアドレス管理部113としての動作を行ってもよい。
なお、上記の実施例において、スイッチ部は、L2スイッチ部12によって実現され、制御部は、IGMP/MLD処理部11,11aによって実現される。クライアント管理データベース記憶手段は、IGMP/MLDクライアント管理DB部112によって実現され、マルチキャストグループ管理データベース記憶手段は、マルチキャストグループ管理DB部114によって実現される。登録手段は、ステップS4を実行するIGMP/MLDパケット解析/送受信部111によって実現される。問い合わせ手段は、ステップS6を実行するIGMP/MLDパケット解析/送受信部111によって実現される。離脱処理手段は、ステップS8を実行するIGMP/MLDパケット解析/送受信部111によって実現される。学習手段は、IGMP/MLDパケット解析/送受信部111によって実現される。
また、上記の説明により、制御部は、グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮手段を有し、学習手段が、問い合わせパケットを送信した後に、短縮されたライフタイムが経過する前に送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する構成が開示されている。
また、制御部が、送信要求パケットを受信したときに、送信要求パケットを受信したポートと、送信要求パケットの送信元のクライアントとを対応付けてクライアント管理データベースに登録するクライアント登録手段を有する構成が開示されている。クライアント登録手段は、ステップS3を実行するIGMP/MLDパケット解析/送受信部111によって実現される。
また、問い合わせ手段が、問い合わせパケットをスイッチ部を介してクライアントに送信する構成が開示されている。
また、IGMP/MLDプロキシ装置として用いられ、スイッチ部がクライアントから受信した送信要求パケットおよびグループ離脱パケットを制御部に送信するルータ部を備え、問い合わせ手段が、問い合わせパケットをルータ部およびスイッチ部を介してクライアントに送信する構成が開示されている。
本発明は、マルチキャストルータ、IGMP/MLDプロキシ機能つきルータ、IGMP/MLDスヌーピング機能つきL2スイッチ等の、IGMP/MLD Querier機能を有する装置に好適に適用される。
本発明の中継装置の例を示すブロック図である。 図1に示した中継装置をより詳細に示すブロック図である。 マルチキャストグループ管理DBの例を示す説明図である。 IGMP/MLDクライアント管理DBの例を示す説明図である。 IGMP/MLDパケット解析/送受信部111の動作の例を示す流れ図である。 本発明の第2の実施例の構成を示すブロック図である。 一般的なIGMP/MLDスヌーピング装置の例を示す説明図である。
符号の説明
1 IGMP/MLDスヌーピング装置(中継装置)
11 IGMP/MLD処理部
12 IGMP/MLDスヌーピング機能つきL2スイッチ部
111 IGMP/MLDパケット解析/送受信部
112 IGMP/MLDクライアント管理DB部
113 マルチキャストアドレス管理部
114 マルチキャストグループ管理DB部

Claims (9)

  1. マルチキャストパケットを中継する中継装置であって、
    マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、
    マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、
    制御部は、
    マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、
    マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段と、
    マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録手段と、
    マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ手段と、
    グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定手段と、
    グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理手段と、
    問い合わせ手段がマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習手段とを有する
    ことを特徴とする中継装置。
  2. 制御部は、
    グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮手段を有し、
    学習手段は、問い合わせパケットを送信した後に、短縮されたライフタイムが経過する前に送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する
    請求項1に記載の中継装置。
  3. 制御部は、
    送信要求パケットを受信したときに、送信要求パケットを受信したポートと、送信要求パケットの送信元のクライアントとを対応付けてクライアント管理データベースに登録するクライアント登録手段を有する
    請求項1または請求項2に記載の中継装置。
  4. 問い合わせ手段は、問い合わせパケットをスイッチ部を介してクライアントに送信する請求項1から請求項3のうちのいずれか1項に記載の中継装置。
  5. IGMP/MLDプロキシ装置として用いられ、
    スイッチ部がクライアントから受信した送信要求パケットおよびグループ離脱パケットを制御部に送信するルータ部を備え、
    問い合わせ手段は、問い合わせパケットをルータ部およびスイッチ部を介してクライアントに送信する
    請求項1から請求項3のうちのいずれか1項に記載の中継装置。
  6. マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部と、マルチキャストパケットのグループであるマルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する制御部とを備え、制御部が、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを有するマルチキャストパケットの中継装置に適用される中継方法であって、
    マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録し、
    マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信し、
    グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定し、
    グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除し、
    マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する
    ことを特徴とする中継方法。
  7. グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮し、
    問い合わせパケットを送信した後に、短縮されたライフタイムが経過する前に送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する
    請求項6に記載の中継方法。
  8. マルチキャストパケットを受信するクライアントが接続されるポートが複数設けられ、MACアドレスとポートとを対応付けるMACアドレスラーニングテーブルを保持するスイッチ部のMACアドレスラーニングテーブルにアクセス可能であり、マルチキャストグループの送信を要求したクライアントと、当該クライアントが接続されるポートとを対応付けたクライアント管理データベースを記憶するクライアント管理データベース記憶手段と、マルチキャストグループの送信を要求したクライアントが接続されるポートと、当該マルチキャストグループの識別情報と、問い合わせパケットに対する応答を待つ時間であるライフタイムとを対応付けたマルチキャストグループ管理データベースを記憶するマルチキャストグループ管理データベース記憶手段とを備えたコンピュータに搭載される中継プログラムであって、
    コンピュータに、
    マルチキャストグループの送信を要求する送信要求パケットを受信したときに、送信要求パケットを受信したポートと、前記マルチキャストグループの識別情報と、前記マルチキャストグループに対して定められたライフタイムとを対応付けてマルチキャストグループ管理データベースに登録するとともに、マルチキャストグループのマルチキャストMACアドレスと、送信要求パケットを受信したポートとを対応付けて前記スイッチ部のMACアドレスラーニングテーブルに登録する登録処理、
    マルチキャストグループの送信停止を要求するグループ離脱パケットを受信したときに、前記マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信する問い合わせ処理、
    グループ離脱パケットを受信したときに、クライアント管理データベースを参照して、グループ離脱パケットを受信したポートに対応するクライアント数が1つか複数かを判定するクライアント数判定処理、
    グループ離脱パケットを受信したポートに対応するクライアント数が1つである場合に、グループ離脱パケットによって送信停止を要求されたマルチキャストグループに対応するエントリを、マルチキャストグループ管理データベースと前記スイッチ部のMACアドレスラーニングテーブルとから削除する離脱処理、および
    マルチキャストグループを受信しているか否かを問い合わせる問い合わせパケットを送信した後に、問い合わせパケットに対する応答として、前記マルチキャストグループの送信を要求する送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習する学習処理
    を実行させるための中継プログラム。
  9. コンピュータに
    グループ離脱パケットを受信したポートに対応するクライアント数が複数である場合に、問い合わせパケットによる問い合わせ対象となったマルチキャストグループに対応するライフタイムを、予め定められた時間よりも短縮するライフタイム短縮処理を実行させ、
    学習処理で、問い合わせパケットを送信した後に、短縮されたライフタイムが経過する前に送信要求パケットを受信したときに、当該送信要求パケットを受信したポートを、クライアントが高速離脱できないポートとして学習させる
    請求項8に記載の中継プログラム。
JP2007159980A 2007-06-18 2007-06-18 中継装置、中継方法および中継プログラム Expired - Fee Related JP4775716B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007159980A JP4775716B2 (ja) 2007-06-18 2007-06-18 中継装置、中継方法および中継プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007159980A JP4775716B2 (ja) 2007-06-18 2007-06-18 中継装置、中継方法および中継プログラム

Publications (2)

Publication Number Publication Date
JP2008312095A true JP2008312095A (ja) 2008-12-25
JP4775716B2 JP4775716B2 (ja) 2011-09-21

Family

ID=40239256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007159980A Expired - Fee Related JP4775716B2 (ja) 2007-06-18 2007-06-18 中継装置、中継方法および中継プログラム

Country Status (1)

Country Link
JP (1) JP4775716B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010233083A (ja) * 2009-03-27 2010-10-14 Toshiba Corp ネットワークアドレス管理装置およびネットワークアドレス管理方法並びにネットワーク中継装置
CN102143033A (zh) * 2010-02-02 2011-08-03 杭州华三通信技术有限公司 一种组播流控制方法和设备
JP2019125862A (ja) * 2018-01-12 2019-07-25 アラクサラネットワークス株式会社 マルチキャスト中継装置、マルチキャスト中継システムおよびマルチキャスト中継方法
JP7359586B2 (ja) 2019-07-25 2023-10-11 アズビル株式会社 アドレス管理装置およびアドレス管理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006097989A1 (ja) * 2005-03-14 2006-09-21 Mitsubishi Denki Kabushiki Kaisha レイヤ2モビリティネットワーク

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006097989A1 (ja) * 2005-03-14 2006-09-21 Mitsubishi Denki Kabushiki Kaisha レイヤ2モビリティネットワーク

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010233083A (ja) * 2009-03-27 2010-10-14 Toshiba Corp ネットワークアドレス管理装置およびネットワークアドレス管理方法並びにネットワーク中継装置
CN102143033A (zh) * 2010-02-02 2011-08-03 杭州华三通信技术有限公司 一种组播流控制方法和设备
JP2019125862A (ja) * 2018-01-12 2019-07-25 アラクサラネットワークス株式会社 マルチキャスト中継装置、マルチキャスト中継システムおよびマルチキャスト中継方法
JP6993883B2 (ja) 2018-01-12 2022-01-14 アラクサラネットワークス株式会社 マルチキャスト中継装置、マルチキャスト中継システムおよびマルチキャスト中継方法
JP7359586B2 (ja) 2019-07-25 2023-10-11 アズビル株式会社 アドレス管理装置およびアドレス管理方法

Also Published As

Publication number Publication date
JP4775716B2 (ja) 2011-09-21

Similar Documents

Publication Publication Date Title
US10084895B2 (en) Hitless pruning protocol upgrade on single supervisor network devices
JP5619290B2 (ja) マルチキャストブランチ、プロトコルインデペンデントマルチキャストルータおよびレイヤ2交換機のプルーニング方法
US8539088B2 (en) Session monitoring method, apparatus, and system based on multicast technologies
JP3644009B2 (ja) マルチキャストセッション管理装置
US20060176804A1 (en) Data transfer apparatus and multicast system
JP3888209B2 (ja) マルチキャスト通信装置およびシステム
US20060002391A1 (en) Multicast packet relay device adapted for virtual router
JP5653912B2 (ja) マルチキャスト・グループ管理のための方法及び装置
JP2006101471A (ja) マルチキャスト冗長経路ルータ、マルチキャスト冗長化方式
CA2287195A1 (en) System, device, and method for managing multicast group memberships in a multicast network
JP4775716B2 (ja) 中継装置、中継方法および中継プログラム
JP4463277B2 (ja) サービス中継サブネット間マルチキャスト−ネットワーク基盤に依らないサブネット横断マルチキャスト解決策
JP4141304B2 (ja) マルチキャスト通信ネットワークにおける通信方法、受信端末、l2スイッチおよびl3スイッチ
US20030039215A1 (en) Method and apparatus for dynamically discovering alias domains
JP2006324981A (ja) マルチキャストパケット転送方式
JP6467373B2 (ja) 通信チャネル制御装置、通信チャネル制御方法及び通信チャネル制御プログラム
EP2164203A1 (en) Message transmission method, device and system for implementing multicast services
JP2005286681A (ja) 中継機器
US20080198771A1 (en) Method, Apparatus or Software for a Multicast Network for Providing Indications of Active Multicast Groups to one or more Multicast Receivers
JP4361446B2 (ja) マルチキャスト制御方法、マルチキャストエリア管理装置、及びマルチキャスト制御装置、並びにプログラム
US20230318969A1 (en) Optimizing network load in multicast communications
JP5659139B2 (ja) 集約装置、パケット転送装置、マルチキャストネットワークシステム及びマルチキャスト中継制御方法
CN111556102B (zh) 一种数据通道建立方法、以太网交换机及存储介质
JP4793727B2 (ja) マルチキャストパケット配信装置及び方法
JP2024003368A (ja) ルータ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110616

R150 Certificate of patent or registration of utility model

Ref document number: 4775716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees