(57)【要約】【課題】上流と下流のマルチキャスト中継装置間の加入要求メッセージの処理に起因する高負荷状態を軽減する。【解決手段】複数のポートを有し、ポート間でマルチキャストデータパケットを中継する中継装置であって、当該中継装置は、上流の中継装置に接続されており、かつ、いずれかのマルチキャストグループの加入要求メッセージを当該上流の中継装置に中継済みである場合、その後、当該マルチキャストグループの加入要求メッセージの上流の中継装置への中継を抑止し、当該中継装置は、下流の中継装置に接続されており、かつ、当該下流の中継装置からいずれかのマルチキャストグループの加入要求メッセージを受信した場合、当該マルチキャストグループのパケットを当該下流の中継装置に中継する制御情報を保持して、その後、当該マルチキャストグループの加入要求メッセージを受信しなくても当該制御情報の保持を継続する。【選択図】図２
2019125862.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートを有し、前記ポート間でマルチキャストデータパケットを中継するマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続されている場合、いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであるかを示す情報を保持し、
前記上流のマルチキャスト中継装置からマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを受信すると、前記問い合わせメッセージを前記複数のポートの少なくともいずれかに中継し、
前記複数のポートのいずれかが、いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持しているかを判定し、
当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持していない場合、前記受信した加入要求メッセージを前記上流のマルチキャスト中継装置が接続されたポートに中継し、
当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持している場合、前記受信した加入要求メッセージの前記上流のマルチキャスト中継装置が接続されたポートへの中継を抑止し、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、かつ、前記下流のマルチキャスト中継装置からいずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける中継制御情報を保持し、
前記複数のポートのいずれかが前記マルチキャストグループのマルチキャストデータパケットを受信した場合、前記中継制御情報に基づいて、前記マルチキャストデータパケットを前記下流のマルチキャスト中継装置が接続されたポートに中継し、
所定の間隔で、マルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを少なくとも前記下流のマルチキャスト中継装置に送信し、
前記下流のマルチキャスト中継装置から前記マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信したかにかかわらず、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報の保持を継続することを特徴とするマルチキャスト中継装置。
【請求項２】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続されている場合、前記下流のマルチキャスト中継装置が接続されているポートを識別する情報を保持し、
前記下流のマルチキャスト中継装置が接続されているポートが受信した前記加入要求メッセージを、前記下流のマルチキャスト中継装置から受信した加入要求メッセージと判別することを特徴とするマルチキャスト中継装置。
【請求項３】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続され、いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継した後に、前記加入要求メッセージに対応する情報が前記上流のマルチキャスト中継装置に設定されたことを確認するための確認用メッセージを生成し、前記確認用メッセージが自マルチキャスト中継装置から送信されたことを示す情報を前記確認用メッセージに含めて、前記上流のマルチキャスト中継装置に送信し、
前記上流のマルチキャスト中継装置から前記確認用メッセージに応答するメッセージを受信した場合、前記加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持し、
所定の時間内に前記上流のマルチキャスト中継装置から前記確認用メッセージに応答するメッセージを受信しなかった場合、前記マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージ、および、前記加入要求メッセージに対応する情報が前記上流のマルチキャスト中継装置に設定されたことを確認するための確認用メッセージを生成し、前記上流のマルチキャスト中継装置から前記生成した確認用メッセージに応答するメッセージを受信するまで、前記生成した加入要求メッセージおよび前記確認用メッセージを前記上流のマルチキャスト中継装置に繰り返し送信することを特徴とするマルチキャスト中継装置。
【請求項４】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、かつ、前記下流のマルチキャスト中継装置から、前記加入要求メッセージに対応する情報が前記上流のマルチキャスト中継装置に設定されたことを確認するための確認用メッセージを受信した場合、前記受信した確認用メッセージによって指定されたマルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報を保持しているかを判定し、前記指定されたマルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報を保持している場合に、前記受信した確認用メッセージに応答するメッセージを生成して、自マルチキャスト中継装置の識別情報を前記応答するメッセージの送信元として設定して、前記下流のマルチキャスト中継装置に送信することを特徴とするマルチキャスト中継装置。
【請求項５】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続され、かつ、その他のポートのいずれかに前記マルチキャストデータパケットの受信者が接続されている場合において、前記マルチキャストデータパケットの受信者から前記マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記マルチキャストグループと前記マルチキャストデータパケットの受信者が接続されたポートとを対応付ける前記中継制御情報を保持し、前記中継制御情報の保持を継続する時間として所定の長さの時間を設定し、
前記設定された時間が経過する前に、前記マルチキャストデータパケットの受信者から前記加入要求メッセージを再度受信した場合、前記中継制御情報の保持を継続する時間として前記所定の長さの時間を再度設定し、
前記設定された時間の残りが所定の値となる前に、前記マルチキャストデータパケットの受信者から前記加入要求メッセージを受信しなかった場合、前記マルチキャストグループのマルチキャストデータパケットの配信の停止を要求する離脱要求メッセージを生成して、前記上流のマルチキャスト中継装置に送信することを特徴とするマルチキャスト中継装置。
【請求項６】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、かつ、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報を保持している場合において、前記下流のマルチキャスト中継装置が接続されたポートが、前記マルチキャストグループのマルチキャストデータパケットの配信の停止を要求する離脱要求メッセージを受信した場合、前記中継制御情報の保持を継続する時間として所定の長さの時間を設定し、前記マルチキャストグループのマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを、少なくとも前記下流のマルチキャスト中継装置に送信し、
前記設定された時間が経過する前に、前記マルチキャストグループのマルチキャストデータパケットの配信を要求する前記加入要求メッセージを受信した場合、その後に前記加入要求メッセージを受信したかにかかわらず、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報の保持を継続し、
前記設定された時間が経過する前に、前記マルチキャストグループのマルチキャストデータパケットの配信を要求する前記加入要求メッセージを受信しなかった場合、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報を削除することを特徴とするマルチキャスト中継装置。
【請求項７】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、かつ、前記複数のポートの別のいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続されている場合において、下流のマルチキャスト中継装置が接続されたポートの回線に障害が検出された場合、前記マルチキャストグループのマルチキャストデータパケットの配信の停止を要求する離脱要求メッセージを生成して、前記上流のマルチキャスト中継装置に送信することを特徴とするマルチキャスト中継装置。
【請求項８】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続されている場合、マルチキャストグループを指定せずに、マルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを生成し、前記生成した問い合わせメッセージに、加入要求メッセージの中継の抑止の解除を示す情報を含めて、前記生成した問い合せメッセージを全ての前記ポートから送信することを特徴とするマルチキャスト中継装置。
【請求項９】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続され、かつ、前記上流のマルチキャスト中継装置から、マルチキャストグループを指定せずに、マルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを受信した場合、前記受信した問い合わせメッセージを、前記問い合わせメッセージを受信したポート以外のポートに中継し、
前記上流のマルチキャスト中継装置から受信した問い合わせメッセージに前記加入要求メッセージの中継の抑止の解除を示す情報が含まれ、かつ、いずれかの前記ポートからいずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記加入要求メッセージの中継の抑止を解除して、受信した前記加入要求メッセージを前記上流のマルチキャスト中継装置が接続されたポートに中継することを特徴とするマルチキャスト中継装置。
【請求項１０】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、かつ、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける中継制御情報を保持している場合、所定の間隔で、前記マルチキャストグループのマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを生成し、前記生成した問い合わせメッセージに、加入要求メッセージの中継の抑止の解除を示す情報を含めて、所定の間隔で、前記生成した問い合せメッセージを前記下流のマルチキャスト中継装置に送信することを特徴とするマルチキャスト中継装置。
【請求項１１】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、かつ、前記下流のマルチキャスト中継装置からいずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報を保持して、前記中継制御情報の保持を継続する時間を設定し、
前記設定した時間の残りが所定の値になった場合、前記マルチキャストグループのマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを生成し、前記生成した問い合わせメッセージに、加入要求メッセージの中継の抑止の解除を示す情報を含めて、少なくとも前記下流のマルチキャスト中継装置に送信し、
前記設定した時間が経過した場合、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報を削除することを特徴とするマルチキャスト中継装置。
【請求項１２】
請求項１に記載のマルチキャスト中継装置であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続され、かつ、前記上流のマルチキャスト中継装置から、前記マルチキャストグループのマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを受信した場合、前記中継制御情報に基づいて、前記受信した問い合わせメッセージを、前記マルチキャストグループに対応するポートに中継し、
前記上流のマルチキャスト中継装置から受信した問い合わせメッセージに前記加入要求メッセージの中継の抑止の解除を示す情報が含まれ、かつ、いずれかの前記ポートから前記マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記加入要求メッセージの中継の抑止を解除して、受信した前記加入要求メッセージを前記上流のマルチキャスト中継装置が接続されたポートに中継することを特徴とするマルチキャスト中継装置。
【請求項１３】
第１の中継装置と、マルチキャストデータパケットの受信者および前記第１の中継装置に接続され、前記第１の中継装置から受信したマルチキャストデータパケットを前記受信者に中継する第２の中継装置と、を有するマルチキャスト中継システムであって、
前記第１の中継装置は、所定の間隔で、マルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを前記第２の中継装置に送信し、
前記第２の中継装置は、
前記第１の中継装置から前記問い合わせメッセージを受信すると、前記問い合わせメッセージを前記受信者に中継し、
前記受信者からいずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信すると、前記マルチキャストグループのマルチキャストデータパケットの配信を要求する前記加入要求メッセージを前記第１の中継装置に中継済みであることを示す情報を保持しているかを判定し、
前記マルチキャストグループのマルチキャストデータパケットの配信を要求する前記加入要求メッセージを前記第１の中継装置に中継済みであることを示す情報を保持していない場合、前記加入要求メッセージを前記第１の中継装置に中継し、
前記マルチキャストグループのマルチキャストデータパケットの配信を要求する前記加入要求メッセージを前記第１の中継装置に中継済みであることを示す情報を保持している場合、前記加入要求メッセージの前記第１の中継装置への中継を抑止し、
前記第１の中継装置は、
前記いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記マルチキャストグループと、前記第２の中継装置が接続された前記第１の中継装置のポートとを対応付ける中継制御情報を保持し、
前記マルチキャストグループのマルチキャストデータパケットを受信した場合、前記中継制御情報に基づいて、前記受信したマルチキャストデータパケットを前記マルチキャストグループに対応する前記ポートに中継し、
前記マルチキャストグループと、前記第２の中継装置が接続された前記第１の中継装置のポートとを対応付ける中継制御情報が保持された場合、その後に、前記マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信したかにかかわらず、前記中継制御情報の保持を継続することを特徴とするマルチキャスト中継システム。
【請求項１４】
複数のポートを有し、前記ポート間でマルチキャストデータパケットを中継するマルチキャスト中継装置が実行するマルチキャスト中継方法であって、
前記複数のポートのいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続されている場合、前記マルチキャスト中継装置は、いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであるかを示す情報を保持し、
前記マルチキャスト中継方法は、
前記上流のマルチキャスト中継装置からマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを受信すると、前記問い合わせメッセージを前記複数のポートの少なくともいずれかに中継する手順と、
前記複数のポートのいずれかが、いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持しているかを判定する手順と、
当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持していない場合、前記受信した加入要求メッセージを前記上流のマルチキャスト中継装置が接続されたポートに中継する手順と、を含み
当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持している場合、前記受信した加入要求メッセージの前記上流のマルチキャスト中継装置が接続されたポートに中継する手順を実行せず、
前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、前記下流のマルチキャスト中継装置からいずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける中継制御情報を保持する手順と、
前記複数のポートのいずれかが前記マルチキャストグループのマルチキャストデータパケットを受信した場合、前記中継制御情報に基づいて、前記マルチキャストデータパケットを前記下流のマルチキャスト中継装置が接続されたポートに中継する手順と、
所定の間隔で、マルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを少なくとも前記下流のマルチキャスト中継装置に送信する手順と、を含み、
前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける中継制御情報が保持された場合、その後に、前記下流のマルチキャスト中継装置から前記マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信したかにかかわらず、前記中継制御情報の保持を継続することを特徴とするマルチキャスト中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットにおけるマルチキャスト中継技術に関する。
【背景技術】
【０００２】
マルチキャストは、インターネットにおいてマルチキャスト送信者が送信した１つのマルチキャストデータパケットを、マルチキャスト受信者を収容するルータが、マルチキャスト受信者を接続する複数の回線にマルチキャストデータパケットを複製して出力することにより、マルチキャスト受信者を収容するルータまでのデータ通信量を抑えることで、マルチキャストデータパケットを効率良く複数のマルチキャスト受信者に中継する技術である。
【０００３】
マルチキャスト受信者のマルチキャストグループへの加入状況を管理する代表的なマルチキャストグループ管理プロトコルとしてＩＧＭＰ（非特許文献２）およびＭＬＤ（非特許文献３）が知られている。マルチキャストグループ管理プロトコルは、問い合わせメッセージ（ＩＧＭＰ／ＭＬＤ問い合わせメッセージ）を定期的に送信し、問い合わせメッセージを受信したマルチキャスト受信者が加入要求メッセージ（ＩＧＭＰ／ＭＬＤ加入要求メッセージ）を応答することで、マルチキャストグループの加入状況を管理するプロトコルである。
【０００４】
マルチキャストは一般的にＩＰアドレスを付与したインタフェース単位で中継処理を行う。ＩＰアドレスを付与したインタフェースが複数の回線を収容したＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）であった場合、前述した通り、マルチキャストデータパケットはＶＬＡＮに属する全ての回線に複製して中継されるため、加入要求メッセージを受信していない回線に対してもマルチキャストデータパケットが中継されてしまう。すなわち、ＶＬＡＮに属する複数の回線のうち、１回線でもマルチキャストグループへの加入要求メッセージを受信すると、ＶＬＡＮに属する他の全ての回線にマルチキャストデータパケットを複製し中継する。このとき、加入要求メッセージを受信していない回線に中継されるマルチキャストデータパケットは不要なトラフィックであり、そのようなパケットを中継することによって通信帯域を無駄に使用してしまう。
【０００５】
マルチキャストデータパケットを更に効率よく中継する技術として、ＩＧＭＰ／ＭＬＤスヌーピング技術（ＩＧＭＰ／ＭＬＤ  ｓｎｏｏｐｉｎｇ：  非特許文献１）が知られている。ＩＧＭＰ／ＭＬＤスヌーピングでは、ＶＬＡＮに属する回線で受信した加入要求メッセージの内容を解析し、加入要求メッセージを受信した回線情報を取得する。取得した回線情報とマルチキャストグループアドレスを元にマルチキャストデータパケットの中継を制御することで、加入要求メッセージを受信した回線にのみマルチキャストデータパケットを中継する。これにより、加入要求メッセージを受信した回線以外へのマルチキャスト中継は抑止され、通信帯域を無駄に使用することなくマルチキャスト中継を行うことが出来る。
【０００６】
ＩＧＭＰ／ＭＬＤスヌーピングは、前述した通り、マルチキャスト受信者からの、加入要求メッセージによって中継制御情報を作成する。加入要求メッセージは、ネットワーク内に設定したＩＧＭＰ／ＭＬＤ問い合わせメッセージ送信装置（ＩＧＭＰ／ＭＬＤクエリア）から定期的に送信される問い合わせメッセージに対して、各ＶＬＡＮに接続しているマルチキャスト受信者が応答する。
【０００７】
ＩＧＭＰ／ＭＬＤスヌーピングを使用する場合、一般的にマルチキャストルータポートを設定する。マルチキャストルータポートは、自装置と上流のマルチキャスト中継装置（マルチキャストルータも含む）とを接続するポートである。
【０００８】
マルチキャストルータポートの役割は、マルチキャスト受信者から送信された加入要求メッセージおよび離脱要求メッセージ（ＩＧＭＰ／ＭＬＤ離脱要求メッセージ）をマルチキャストルータポートに中継することである。これらのメッセージに基づいて上流のマルチキャスト中継装置は下流のマルチキャスト中継装置に接続されたマルチキャスト受信者のマルチキャストグループ加入状態を把握し、当該マルチキャストデータパケットの下流への中継要否を制御する。
【０００９】
なお、上記のように、マルチキャストデータパケットは上流のマルチキャスト中継装置から下流のマルチキャスト中継装置に転送される。すなわち、マルチキャストデータパケットの送信元の側のマルチキャスト中継装置を上流のマルチキャスト中継装置、送信先の側のマルチキャスト中継装置を下流のマルチキャスト中継装置と記載する。
【００１０】
前述した通り、ＩＧＭＰおよびＭＬＤでは定期的にＩＧＭＰ／ＭＬＤクエリアから問い合わせメッセージを送信し、問い合わせメッセージを受信したマルチキャスト受信者が加入要求メッセージを応答する。このとき、マルチキャストグループに加入するマルチキャスト受信者が大量に存在した場合、定期的な問い合わせメッセージの送受信のたびに、大量の加入要求メッセージが応答され、下流のマルチキャスト中継装置においては、上流のマルチキャスト中継装置への大量の中継処理が必要となり、上流のマルチキャスト中継装置においては、大量の加入要求メッセージの受信処理が必要となる。これによって、定期的な問い合わせメッセージの送受信のたびに、下流および上流のマルチキャスト中継装置が高負荷状態となる。そして、この高負荷状態を起因として、下流および上流のマルチキャスト中継装置でマルチキャストグループへの加入および離脱処理の遅延および加入要求メッセージの取りこぼし等の悪影響が発生することが考えられる。加入要求メッセージの取りこぼしが発生した場合、当該加入要求メッセージのマルチキャスト中継が停止する可能性がある。
【００１１】
ＶＬＡＮでマルチキャストを使用する場合、前述した通りマルチキャストではＶＬＡＮ内の全回線にマルチキャストデータパケットを中継する。このため、ＶＬＡＮ内で同一のマルチキャストグループに加入しているマルチキャスト受信者が複数存在していたとしても、同一のマルチキャストグループに対して、１つの加入要求メッセージだけ送信すれば、ＶＬＡＮに対してマルチキャスト中継が可能である。
【００１２】
ＩＧＭＰおよびＭＬＤでは、マルチキャスト受信者がＶＬＡＮ内で１つの加入要求メッセージだけ送信するための処理として、マルチキャスト受信者が送信した加入要求メッセージをＶＬＡＮ内でフラッディングする。他の同一マルチキャストグループに加入するマルチキャスト受信者は、当該加入要求メッセージを受信すると、同一のマルチキャストグループに対する加入要求メッセージがすでに送信されたと判断して、当該マルチキャスト受信者からの当該加入要求メッセージの送信を抑止する。これによって、ＶＬＡＮ内で同一のマルチキャストグループに加入しているマルチキャスト受信者からの加入要求メッセージ送信は抑止され、無駄な加入要求メッセージ送信を低減することができる。
【００１３】
また、マルチキャスト受信者は、ＩＧＭＰ／ＭＬＤ問い合わせメッセージを受信すると、ＩＧＭＰ／ＭＬＤ加入要求メッセージの集中受信の負荷が軽減されるように、所定の最大応答時間内に、ＩＧＭＰ／ＭＬＤ加入要求メッセージを応答する。最大応答時間は、ＩＧＭＰ，ＭＬＤのプロトコル規格として通常は１０秒とされている。最大応答時間は問い合わせメッセージ内に格納されており、マルチキャスト受信者は応答時間を最大応答時間に基づいて無作為に決定する。これにより、マルチキャスト受信者からの加入要求メッセージ送信を分散することで、さらに加入要求メッセージ受信時の負荷を低減している。
【００１４】
一方、ＩＧＭＰ／ＭＬＤスヌーピングでは、前述した通り回線毎にマルチキャストグループへの加入状況を管理する必要があるため、加入要求メッセージをＶＬＡＮ内にフラッディングしない。そのため、ＶＬＡＮ内の同一のマルチキャストグループに加入しているマルチキャスト受信者も加入要求メッセージを送信する。その結果、ネットワーク内に同一のマルチキャストグループに加入するマルチキャスト受信者が大量に存在する場合、ＶＬＡＮでマルチキャストを使用している場合と比較して膨大な加入要求メッセージが応答されてしまう。その結果、前述した通り、定期的な問い合わせメッセージを受信するたびに、下流および上流のマルチキャスト中継装置は大量の加入要求メッセージの送受信処理が必要となり高負荷状態となる。
【００１５】
問い合わせメッセージ受信時の、大量の加入要求メッセージの中継処理を抑制する技術として、ＩＧＭＰ／ＭＬＤプロキシー機能（非特許文献４）が知られている。ＩＧＭＰ／ＭＬＤプロキシー機能は、問い合わせメッセージ受信時にＶＬＡＮ内の全マルチキャスト受信者からの加入要求メッセージをマルチキャストルータポートに中継するのではなく、下流のマルチキャスト中継装置が学習しているマルチキャストグループの加入要求メッセージを代理で１メッセージだけ応答する機能である。これにより、マルチキャストルータポートに中継する加入要求メッセージは、１つのマルチキャストグループに対して１つの加入要求メッセージのみであるため、中継する加入要求メッセージの数を削減し、上流のマルチキャスト中継装置の負荷を低減することができる。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】IETF, ” Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches”, RFC4541
【非特許文献２】IETF, ”Internet Group Management Protocol, Version 2”, RFC2236
【非特許文献３】IETF, ”Multicast Listener Discovery (MLD) for IPv6”, RFC2710
【非特許文献４】「CentreCOM x900シリーズ・SwitchBlade x908 コマンドリファレンス 5.3.2 IPマルチキャスト / IGMP IGMPプロキシー」、［online］、２００９年７月１日、アライドテレシスホールディングス株式会社、２０１７年１１月検索、インターネット（URL: https://www.allied-telesis.co.jp/support/list/switch/x900_sb900/doc/v532_docs/overview-52.html#sec3）
【発明の概要】
【発明が解決しようとする課題】
【００１７】
上記のように、マルチキャスト中継装置を複数接続しているネットワークでＩＧＭＰ／ＭＬＤスヌーピングを使用してマルチキャスト中継を行っているマルチキャスト中継装置において、定期的な問い合わせメッセージの送受信のたびに、膨大な加入要求メッセージがマルチキャスト受信者より応答されるため、下流および上流のマルチキャスト中継装置で加入要求メッセージの膨大な送受信処理が必要となり高負荷状態となる。
【００１８】
これに対して、ＩＧＭＰ／ＭＬＤプロキシー機能は、１つのマルチキャストグループに対して１つの加入要求メッセージのみ送信するため、１つのマルチキャストグループに多数のマルチキャスト受信者が加入している場合は負荷を低減する効果が高い。しかし、将来的にネットワーク内で扱うマルチキャストグループ数が膨大になることが予想されており、その場合、ＩＧＭＰ／ＭＬＤプロキシー機能を使用しても、問い合わせメッセージ受信のたびに、膨大なマルチキャストグループ数の加入要求メッセージの送受信が必要となるため、その都度下流および上流のマルチキャスト中継装置は高負荷となり、十分な効果が得られない。
【００１９】
ＩＧＭＰおよびＭＬＤのプロトコル規格である、最大応答時間内に加入要求メッセージを分散して送信する手法も、マルチキャストグループ数自体が膨大になった場合、効果は十分でなく根本的な解決にはならない。
【００２０】
本発明の目的は、下流のマルチキャスト中継装置において、マルチキャスト受信者が送信する加入要求メッセージのマルチキャストルータポートへの中継状態を管理することと、上流のマルチキャスト中継装置において、下流のマルチキャスト中継装置から受信した加入要求メッセージで作成したマルチキャスト中継制御情報の生存時間を制御することで、定期的な問い合わせメッセージの送受信のたびに発生する上流および下流のマルチキャスト中継装置の高負荷状態を低減できる装置および手法を提供するものである。
【課題を解決するための手段】
【００２１】
上記課題を解決するために、本発明の代表的な形態は、複数のポートを有し、前記ポート間でマルチキャストデータパケットを中継するマルチキャスト中継装置であって、前記複数のポートのいずれかにマルチキャストデータパケットの送信元である上流のマルチキャスト中継装置が接続されている場合、いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであるかを示す情報を保持し、前記上流のマルチキャスト中継装置からマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを受信すると、前記問い合わせメッセージを前記複数のポートの少なくともいずれかに中継し、前記複数のポートのいずれかが、いずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持しているかを判定し、当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持していない場合、前記受信した加入要求メッセージを前記上流のマルチキャスト中継装置が接続されたポートに中継し、当該マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを前記上流のマルチキャスト中継装置に中継済みであることを示す情報を保持している場合、前記受信した加入要求メッセージの前記上流のマルチキャスト中継装置が接続されたポートへの中継を抑止し、前記複数のポートのいずれかにマルチキャストデータパケットの送信先である下流のマルチキャスト中継装置が接続され、かつ、前記下流のマルチキャスト中継装置からいずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信した場合、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける中継制御情報を保持し、前記複数のポートのいずれかが前記マルチキャストグループのマルチキャストデータパケットを受信した場合、前記中継制御情報に基づいて、前記マルチキャストデータパケットを前記下流のマルチキャスト中継装置が接続されたポートに中継し、所定の間隔で、マルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを少なくとも前記下流のマルチキャスト中継装置に送信し、前記下流のマルチキャスト中継装置から前記マルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージを受信したかにかかわらず、前記マルチキャストグループと前記下流のマルチキャスト中継装置が接続されたポートとを対応付ける前記中継制御情報の保持を継続することを特徴とする。
【発明の効果】
【００２２】
本発明の一態様によれば、定期的な問い合わせメッセージの送受信のたびに発生する、上流のマルチキャスト中継装置の膨大な加入要求メッセージの集中受信による高負荷状態および下流のマルチキャスト中継装置の膨大な加入要求メッセージの中継処理による高負荷状態を低減できる。
【００２３】
上記した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施例１のネットワーク構成の説明図である。
【図２】本発明の実施例１の下流のマルチキャスト中継装置の内部構造の説明図である。
【図３】本発明の実施例１の上流のマルチキャスト中継装置の内部構造の説明図である。
【図４】本発明の実施例１のマルチキャスト中継装置が保持する構成定義情報の説明図である。
【図５】本発明の実施例１のマルチキャスト中継装置が保持するエントリ管理表の説明図である。
【図６】本発明の実施例１のマルチキャスト中継装置が保持するマルチキャストパケット中継制御表の説明図である。
【図７】本発明の実施例１のマルチキャスト中継装置が離脱要求を受信したときのエントリ管理表の説明図である。
【図８】本発明の実施例１の下流のマルチキャスト中継装置で障害が発生した場合に実行される処理の説明図である。
【図９】本発明の実施例１の上流のマルチキャスト中継装置が下流装置接続ポートから加入要求メッセージを受信したときに実行する処理を示すフローチャートである。
【図１０】本発明の実施例１の下流のマルチキャスト中継装置が加入要求メッセージを受信したときに実行する処理を示すフローチャートである。
【図１１】本発明の実施例１の下流のマルチキャスト中継装置が実行する確認用メッセージ作成処理を示すフローチャートである。
【図１２】本発明の実施例１の上流のマルチキャスト中継装置が確認処理によって下流装置接続ポートから問い合わせメッセージを受信したときに実行する処理を示すフローチャートである。
【図１３】本発明の実施例１の下流のマルチキャスト中継装置が上流のマルチキャスト中継装置から問い合わせメッセージを受信した場合に実行する処理を示すフローチャートである。
【図１４】本発明の実施例１の下流のマルチキャスト中継装置がマルチキャスト受信者から離脱要求メッセージを受信したときに実行する処理を示すフローチャートである。
【図１５】本発明の実施例１の下流のマルチキャスト中継装置においてエントリの生存時間が満了したときに実行される処理を示すフローチャートである。
【図１６】本発明の実施例１の下流のマルチキャスト中継装置が障害となったときに実行される処理を示すフローチャートである。
【図１７】本発明の実施例１の上流のマルチキャスト中継装置が即座にネットワーク内の全ての加入要求メッセージを収集するために実行する処理を示すフローチャートである。
【図１８】本発明の実施例２の上流のマルチキャスト中継装置の内部構造の説明図である。
【図１９】本発明の実施例２の上流のマルチキャスト中継装置が、生存時間が無期限の不要なエントリを削除するために実行する不要エントリ判定処理を示すフローチャートである。
【図２０】本発明の実施例３の上流のマルチキャスト中継装置の内部構造の説明図である。
【図２１】本発明の実施例３の上流のマルチキャスト中継装置が、下流のマルチキャスト中継装置から受信した加入要求メッセージに基づいて作成するエントリ管理表の生存時間に、任意の時間を設定するために実行する処理を示すフローチャートである。
【図２２】本発明の実施例３の上流のマルチキャスト中継装置において、残時間が３秒のエントリを検知した場合に実行される処理を示すフローチャートである。
【図２３】本発明の実施例４のネットワーク構成の説明図である。
【図２４】本発明の実施例４の各マルチキャスト中継装置に設定されるＩＧＭＰスヌーピング情報の説明図である。
【図２５】本発明の実施例５のネットワーク構成の説明図である。
【図２６】本発明の実施例５の各マルチキャスト中継装置に設定されるＩＧＭＰスヌーピング情報の説明図である。
【図２７】本発明の実施例６のネットワーク構成の説明図である。
【図２８】本発明の実施例６の各マルチキャスト中継装置に設定されるＩＧＭＰスヌーピング情報の説明図である。
【発明を実施するための形態】
【実施例１】
【００２５】
本実施例ではＩＧＭＰスヌーピングでの実施例について記述する。
【００２６】
前述した通り、下流のマルチキャスト中継装置は、マルチキャスト受信者からいずれかのマルチキャストグループのマルチキャストデータパケットの配信を要求する加入要求メッセージが送信される場合に、当該マルチキャスト受信者から最初に送信された加入要求メッセージのみを上流のマルチキャスト中継装置に中継する。上流のマルチキャスト中継装置は、下流のマルチキャスト中継装置から中継された加入要求メッセージで作成したエントリ管理表の生存時間を無期限とする。これによって、受信者がマルチキャストデータパケットの配信を要求するかを問い合わせるための定期的な問い合わせメッセージの送受信時に、大量の加入要求メッセージの中継を不要とし、上流および下流のマルチキャスト中継装置の高負荷状態を軽減する。
【００２７】
図１は、本発明の実施例１のネットワーク構成の説明図である。ここでは、例として、ネットワーク内に２台のマルチキャスト中継装置を接続したネットワーク構成を示している。
【００２８】
一般的にＩＧＭＰスヌーピングは、マルチキャスト受信者を接続するポートを認識して、加入要求を行ったマルチキャスト受信者のみにマルチキャスト中継を行う機能であるため、マルチキャスト受信者１０，１１，１２を接続している下流のマルチキャスト中継装置２０００、および、マルチキャスト受信者１３を接続している上流のマルチキャスト中継装置１０００に設定する。マルチキャスト中継装置１０００にはマルチキャスト送信者２０を接続しており、マルチキャスト送信者２０からはマルチキャストデータパケットＧｒｏｕｐ１＿ａｄｄｒ（１００）とＧｒｏｕｐ２＿ａｄｄｒ（１５０）を配信し続けている。
【００２９】
本ネットワークではマルチキャスト送信者２０を収容しているマルチキャスト中継装置１０００をＩＧＭＰクエリアとして運用する。ＩＧＭＰクエリアは全所属ポート（１００１，１００２，１００３）に問い合わせメッセージを送信し（３００，３０１，３０５）、下流のマルチキャスト中継装置２０００は受信した問い合わせメッセージ（３０１）を受信ポート以外の所属ポート（２００２，２００３，２００４）に中継（フラッディング）する（３０２，３０３，３０４）。
【００３０】
本実施例では、マルチキャスト中継装置２０００のマルチキャストルータポートに上流のマルチキャスト中継装置１０００を接続しているポート（２００１）を設定している。マルチキャスト中継装置１０００には上流のマルチキャスト中継装置を接続していないので、マルチキャストルータポートは設定しない。
【００３１】
次にＩＧＭＰスヌーピングの学習処理について説明する。
【００３２】
マルチキャスト中継装置２０００に接続するマルチキャスト受信者１０がマルチキャスト送信者２０から配信されるマルチキャストデータパケット（Ｇｒｏｕｐ１＿ａｄｄｒ宛）を受信する場合、加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）を送信する（２００）。加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）を受信したマルチキャスト中継装置２０００で動作するＩＧＭＰスヌーピング機能は、加入要求メッセージを解析して、当該マルチキャストグループと受信ポート情報を取得し、それを元にマルチキャストデータパケットの中継制御情報をマルチキャスト中継装置２０００に設定する。これにより、マルチキャスト中継装置２０００は、マルチキャストデータパケット（Ｇｒｏｕｐ１＿ａｄｄｒ宛）を受信した場合、そのパケットを加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）受信ポートである２００２のみに中継する。
【００３３】
マルチキャスト中継装置２０００で動作するＩＧＭＰスヌーピング機能は、受信した加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）をマルチキャストルータポート２００１に中継する（２０１）。マルチキャスト中継装置１０００のＩＧＭＰスヌーピング機能は中継された加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）を解析して、当該マルチキャストグループと受信ポート情報を取得し、それを元にマルチキャストデータパケットの中継制御情報をマルチキャスト中継装置１０００に設定する。マルチキャスト中継装置１０００にはマルチキャストポートの設定がないので、マルチキャスト中継装置１０００は、受信した加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）をどこにも中継しない。
【００３４】
これにより、マルチキャスト送信者２０から配信されたマルチキャストデータパケット（Ｇｒｏｕｐ１＿ａｄｄｒ宛）（１００）は、加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）を受信したポート１００２のみに中継される。その結果、マルチキャストデータパケット（Ｇｒｏｕｐ１＿ａｄｄｒ宛）は、マルチキャスト中継装置２０００に中継され、マルチキャスト中継装置２０００の中継制御情報に従ってポート２００２のみに中継され、マルチキャスト受信者１０に配信される。
【００３５】
図２は、本発明の実施例１の下流のマルチキャスト中継装置２０００の内部構造の説明図である。
【００３６】
マルチキャスト中継装置２０００は、ＩＧＭＰスヌーピング処理部２１００、装置構成定義部２２００、マルチキャストパケット中継処理部２３００およびポート状態検出部２４００を備えている。
【００３７】
装置構成定義部２２００にはＶＬＡＮ情報２２１０およびＩＧＭＰスヌーピング情報２２２０が外部から設定される。ＶＬＡＮ情報２２１０にはマルチキャスト中継装置２０００に設定しているＶＬＡＮ名称、自装置のＩＰアドレスおよび当該ＶＬＡＮに属するポート情報が設定される（図４（ｃ）参照）。ＶＬＡＮ名称とはＶＬＡＮを識別するものであり、ＶＬＡＮ番号、ＶＬＡＮに設定した名称等が設定される。ＩＧＭＰスヌーピング情報２２２０には、ＩＧＭＰスヌーピングを使用するＶＬＡＮ名称、マルチキャストルータポートおよび本発明で使用する上流装置アドレスが設定される（図４（ｄ）参照）。マルチキャストルータポートと上流装置アドレスは１対１で設定される。
【００３８】
ＩＧＭＰスヌーピング処理部２１００は、ＩＧＭＰスヌーピング機能を実現するための処理部であり、ＶＬＡＮ管理部２１１０、タイマ処理実行部２１２０、制御パケット送受信処理部２１３０およびＩＧＭＰスヌーピングの中継制御情報を管理するエントリ管理部２１４０を備えている。
【００３９】
ＶＬＡＮ管理部２１１０はＶＬＡＮ管理表２１１１を管理しており、ＶＬＡＮ管理表２１１１には、装置構成定義部２２００から取得した、ＩＧＭＰスヌーピングを使用するＶＬＡＮ名称、当該ＶＬＡＮの所属ポート情報、マルチキャストルータポートおよび上流装置アドレスが格納されている。
【００４０】
タイマ処理実行部２１２０は、実行時間、実行処理および実行処理に必要な情報を登録することで、指定した実行時間後に、指定した情報を元に、指定した処理を実行する機構である。
【００４１】
制御パケット送受信処理部２１３０は、当該ＶＬＡＮで受信したＩＧＭＰ制御パケットの解析、ＩＧＭＰメッセージの作成およびＩＧＭＰ制御パケットの送受信処理を行う機構であり、本実施例で使用する確認用メッセージ作成部２１３１、離脱メッセージ作成部２１３２、応答用メッセージ受信処理部２１３３および抑止解除メッセージ受信処理部２１３４を備えている。
【００４２】
確認用メッセージ作成部２１３１は、マルチキャスト受信者からの加入要求メッセージを上流のマルチキャスト中継装置に中継したあと、上流のマルチキャスト中継装置において正しく当該マルチキャストグループのエントリ管理表が作成されたか（言い換えると、上流のマルチキャスト中継装置のエントリ管理表及びマルチキャストパケット中継制御表に、当該加入要求メッセージに対応する情報、具体的には、当該加入要求メッセージを受信したポートと当該マルチキャストグループとを対応付ける情報が設定されたか）を確認するメッセージを作成する処理部である。離脱メッセージ作成部２１３２は、下流のマルチキャスト中継装置がマルチキャストデータパケットの配信の停止を要求するために発信する離脱要求メッセージを作成する処理部である。
【００４３】
応答用メッセージ受信処理部２１３３は、上流のマルチキャスト中継装置から正しく当該マルチキャストグループのエントリ管理表が作成されたことを示すメッセージを受信した場合に、当該マルチキャストグループの加入要求メッセージの中継を抑止状態に設定する処理部である。抑止解除メッセージ受信処理部２１３４は、上流のマルチキャスト中継装置から、加入要求メッセージの中継抑止を解除するメッセージを受信した場合に、当該マルチキャストグループの加入要求メッセージの抑止状態を解除する処理部である。
【００４４】
エントリ管理部２１４０ではエントリ管理表２１４１を管理しており、本実施例で使用する削除エントリ検索部２１４２を備えている。エントリ管理表２１４１は、ＶＬＡＮ名称、当該ＶＬＡＮで学習した（すなわち加入要求メッセージを受信した）マルチキャストグループおよび加入ポート情報から作成され、生存時間、本発明で使用する上流装置アドレスおよび中継抑止フラグを設定している（図５（ｂ）、（ｃ）、図７（ｂ）、（ｃ）参照）。生存時間は当該エントリの満了（タイムアウト）を管理するために用いられる。上流装置アドレスおよび中継抑止フラグは１対１で管理されている。ある上流装置アドレスに対応する中継抑止フラグは、当該上流装置アドレスが示す上流のマルチキャスト中継装置に、当該マルチキャストグループの加入要求メッセージを中継済みか判別するために使用するフラグである。削除エントリ検索部２１４２は、削除対象となるエントリ管理表を検索する処理部である。
【００４５】
マルチキャストパケット中継処理部２３００は、マルチキャスト中継装置２０００が受信したマルチキャストデータパケットの中継を制御する処理部であり、ＶＬＡＮ登録表２３１０とマルチキャストパケット中継制御表２３２０を管理している。ＶＬＡＮ登録表２３１０には、ＩＧＭＰスヌーピングを使用しているＶＬＡＮ名称が格納されており、マルチキャストパケット中継制御表２３２０には、当該ＶＬＡＮで学習したマルチキャスト中継エントリ情報（ＶＬＡＮ名称、マルチキャストグループ、マルチキャストルータポートおよび出力ポート情報）が格納されている（図６（ｂ）参照）。
【００４６】
ポート状態検出部２４００は、ポートの状態（例えば運用状態または非運用状態）を検出する機構である。
【００４７】
図３は、本発明の実施例１の上流のマルチキャスト中継装置１０００の内部構造の説明図である。
【００４８】
上流のマルチキャスト中継装置１０００と下流のマルチキャスト中継装置２０００の差分を説明する。具体的には、図３に示す上流のマルチキャスト中継装置１０００のＩＧＭＰスヌーピング処理部１１００、装置構成定義部１２００、マルチキャストパケット中継処理部１３００およびポート状態検出部１４００は、それぞれ、図２に示した下流のマルチキャスト中継装置２０００のＩＧＭＰスヌーピング処理部２１００、装置構成定義部２２００、マルチキャストパケット中継処理部２３００およびポート状態検出部２４００に対応する。以下に説明する相違点を除いて、マルチキャスト中継装置１０００の各部は対応するマルチキャスト中継装置２０００の各部と同様の機能を有するため、それらの説明は省略する。
【００４９】
装置構成定義部１２００のＩＧＭＰスヌーピング情報１２２０に本実施例で使用する下流装置接続ポートと下流装置アドレスとを１対１で設定する。図１の例では、上流のマルチキャスト中継装置２０００のさらに上流のマルチキャスト中継装置が存在しないため、上流装置アドレスは設定しない。
【００５０】
制御パケット送受信処理部１１３０は、本実施例で使用する応答用メッセージ作成部１１３１、中継抑止解除メッセージ作成部１１３２および確認用メッセージ受信処理部１１３３を備えている。応答用メッセージ作成部１１３１は、下流のマルチキャスト中継装置２０００が、加入要求メッセージ中継後に、当該マルチキャストグループのエントリ管理表が上流のマルチキャスト中継装置１０００に正しく作成されているかを確認するためのメッセージを送信し、上流のマルチキャスト中継装置１０００がそのメッセージを受信したとき、下流のマルチキャスト中継装置２０００に対してエントリ管理表が正しく作成されていることを示すために応答するメッセージを作成する。
【００５１】
中継抑止解除メッセージ作成部１１３２は、下流のマルチキャスト中継装置２０００に対して、加入要求メッセージの中継抑止状態を解除するためのメッセージを作成する。確認用メッセージ受信処理部１１３３は、下流のマルチキャスト中継装置２０００から確認用の加入要求メッセージを受信したときに、当該加入要求メッセージのマルチキャストグループが当該上流のマルチキャスト中継装置１０００において学習済みかを確認するための検索処理を行う。
【００５２】
エントリ管理部１１４０のエントリ管理表１１４１は、下流のマルチキャスト中継装置２０００のエントリ管理表２１４１と同様の項目の情報を含んでいるが、上流装置アドレスおよび中継抑止フラグは含まない（図５（ａ）、図７（ａ）参照）。また、エントリ管理部１１４０は、下流のマルチキャスト中継装置２０００のエントリ管理部２１４０と異なり、削除エントリ検索部を含まない。
【００５３】
次に、図１に示すネットワーク構成の通常運用時にＩＧＭＰスヌーピング機能を使用した場合の具体的な手法を説明する。
【００５４】
マルチキャスト中継装置２０００でＩＧＭＰスヌーピング機能を有効にする処理を、図２を用いて説明する。ＩＧＭＰスヌーピングを有効にするということは、当該ＶＬＡＮで受信したＩＧＭＰ制御パケットをＩＧＭＰスヌーピング処理部に通知することと、当該ＶＬＡＮで受信した未学習のマルチキャストデータパケットの中継を抑止することである。なお、ＩＧＭＰスヌーピング機能を有効にした直後の状態では、何も学習していない（すなわち加入要求メッセージを受信していない）ため、全てのマルチキャストデータパケットの中継が抑止される。
【００５５】
マルチキャスト中継装置２０００のＶＬＡＮ１００にＩＧＭＰスヌーピングを使用する場合、装置構成定義部２２００にＶＬＡＮ情報２２１０およびＩＧＭＰスヌーピング情報２２２０を外部から設定する。このとき、ＩＧＭＰスヌーピング処理部２１００は、ＶＬＡＮ情報２２１０およびＩＧＭＰスヌーピング情報２２２０を取得し、ＶＬＡＮ管理部２１１０内のＶＬＡＮ管理表２１１１に、ＩＧＭＰスヌーピングを使用しているＶＬＡＮ名称、当該ＶＬＡＮの所属ポート情報、マルチキャストルータポートおよび上流装置アドレスを登録する。
【００５６】
次に、ＩＧＭＰスヌーピング処理部２１００は、登録したＶＬＡＮ情報をマルチキャストパケット中継処理部２３００に通知し、マルチキャストパケット中継処理部２３００はＶＬＡＮ登録表２３１０に当該ＶＬＡＮ名称を登録する。マルチキャストパケット中継処理部２３００は、受信したＩＧＭＰ制御パケット（ＩＧＭＰ加入要求／離脱要求／問い合わせメッセージ）を解析して、当該メッセージを受信したＶＬＡＮ名称を取得する。そして、取得したＶＬＡＮ名称が、ＶＬＡＮ登録表２３１０に登録されている場合は、マルチキャストパケット中継処理部２３００は当該メッセージをＩＧＭＰスヌーピング処理部２１００に通知する。これにより、ＩＧＭＰスヌーピングを使用しているＶＬＡＮにおいて、受信したＩＧＭＰ制御パケットのＩＧＭＰスヌーピング処理部２１００への通知が実現する。
【００５７】
ＶＬＡＮ管理部２１１０は、ＶＬＡＮ登録表２３１０に当該ＶＬＡＮ情報を登録したあと、マルチキャストパケット中継制御表２３２０に未学習エントリを登録する。本実施例では、未学習エントリにはマルチキャストグループおよび出力ポートの設定は行わない。マルチキャストルータポートが設定されている場合は、マルチキャストパケット中継制御表２３２０にマルチキャストルータポートを登録する。
【００５８】
ＩＧＭＰスヌーピングを有効にした直後の未学習の状態では未学習エントリしか存在しないため、受信したマルチキャストデータパケット（すなわちマルチキャスト受信者の存在しないマルチキャストデータパケット）は、すべて未学習エントリに合致し、当該マルチキャストデータパケットはマルチキャストルータポートのみに中継される。これにより、ＩＧＭＰスヌーピングを有効にした直後の、マルチキャスト受信者の存在しないマルチキャストデータパケットの中継抑止が実現する。なお、マルチキャストルータポートにはマルチキャストルータが接続されている場合がある。このため、マルチキャストルータポートが設定されている場合は、マルチキャスト送信者が配信したマルチキャストデータパケットをマルチキャスト中継できるように、無条件にマルチキャストルータポートに中継する。
【００５９】
次に、問い合わせメッセージのフラッディング処理について図２を用いて説明する。マルチキャストパケット中継処理部２３００は、問い合わせメッセージを受信したあと、前述した方法でＩＧＭＰスヌーピング処理部２１００に通知する。次に、当該ＶＬＡＮの所属ポート情報をＶＬＡＮ管理表２１１１から取得する。次に、制御パケット送受信処理部２１３０で取得した所属ポートのうち受信ポート以外の全ポートに問い合わせメッセージを中継する。これにより、図１に示すネットワーク構成において、マルチキャスト中継装置２０００が受信した問い合わせメッセージがマルチキャスト受信者１０、１１および１２に中継される。
【００６０】
マルチキャスト中継装置１０００はＩＧＭＰクエリアであるため、定期的に、受信者がマルチキャストデータパケットの配信を要求するかを問い合わせるための問い合わせメッセージを送信する。問い合わせメッセージの送信処理を、図３を用いて説明する。問い合わせメッセージ送信処理はタイマ処理実行部１１２０に登録されており、具体的には問い合わせメッセージ送信処理に必要なＶＬＡＮ情報および実行時間が登録されている。この実行時間は一般的には１２５秒であるため本実施例では１２５秒として説明するが、実際にはそれ以外の時間であってもよい。タイマ処理実行部１１２０において、１２５秒経過が検出されると、問い合わせメッセージ送信処理が実行される。
【００６１】
問い合わせメッセージ送信処理では制御パケット送受信処理部１１３０が起動される。制御パケット送受信処理部１１３０は、問い合わせメッセージを作成したあと、タイマ処理実行部１１２０に登録されているＶＬＡＮ情報およびＶＬＡＮ管理表２１１１から当該ＶＬＡＮの所属ポートを取得し、作成した問い合わせメッセージを全所属ポートに対して送信する。その後、問い合わせメッセージ送信処理を再度タイマ処理実行部に１２５秒後に実行されるように登録する。これにより、定期的な（上記の例では１２５秒ごとの）問い合わせメッセージの送信が実現する。
【００６２】
以上の処理で、マルチキャスト中継装置１０００および２０００において、ＩＧＭＰスヌーピング機能の初期状態（すなわち何も学習していない状態）における問い合わせメッセージ受信時のフラッディング処理および問い合わせメッセージの定期的な送信処理が実現する。
【００６３】
次に、マルチキャストグループへの加入処理について説明する。
【００６４】
本実施例では、下流のマルチキャスト中継装置２０００が、マルチキャスト受信者からの最初の加入要求メッセージのみをマルチキャストルータポート２００１に中継し、上流のマルチキャスト中継装置１０００が、下流のマルチキャスト中継装置２０００から受信した加入要求メッセージで生成するエントリ管理表１１４１の生存時間を無期限（本実施例では生存時間を無期限とする手法について説明する）と設定する。これによって、定期的な問い合わせメッセージ送受信時の下流のマルチキャスト中継装置２０００での加入要求メッセージの中継処理を不要とし、定期的な問い合わせメッセージ送受信のたびに発生する上流および下流のマルチキャスト中継装置の装置負荷を低減することができる。その事例を、図１を用いて説明する。
【００６５】
図１の例ではマルチキャスト中継装置２０００に、３台のマルチキャスト受信者１０、１１および１２が接続されている。マルチキャスト受信者１０および１２はＧｒｏｕｐ１＿ａｄｄｒに加入しており、マルチキャスト受信者１１はＧｒｏｕｐ２＿ａｄｄｒに加入している。
【００６６】
本実施例では、マルチキャスト受信者から送信された最初の加入要求メッセージだけがマルチキャストルータポートに中継される。その手法について図２を用いて説明する。本実施例では、加入要求メッセージの上流のマルチキャスト中継装置１０００への中継状態を管理するために、エントリ管理表２１４１に上流装置アドレスおよび中継抑止フラグが追加される（図５（ｂ）等参照）。
【００６７】
下流のマルチキャスト中継装置２０００では、マルチキャスト受信者から最初の加入要求メッセージを受信した場合、前述した方法でマルチキャストパケット中継処理部２３００が、受信したＶＬＡＮがＩＧＭＰスヌーピングを使用しているＶＬＡＮかを確認する。当該加入要求メッセージがＩＧＭＰスヌーピングを使用しているＶＬＡＮで受信した加入要求メッセージであれば、マルチキャストパケット中継処理部２３００は、当該加入要求メッセージを制御パケット送受信処理部２１３０に通知し、制御パケット送受信処理部２１３０が加入要求メッセージの解析を行う。
【００６８】
解析した結果、ＶＬＡＮ名称、マルチキャストグループ、加入ポート情報を取得してエントリ管理表２１４１が作成される。このとき、当該エントリの生存時間には、当該エントリがマルチキャスト受信者からの加入要求メッセージに基づいて作成されたエントリであるため、２６０秒が設定される。ここで、２６０秒とは、定期的な問い合わせメッセージの送信間隔が１２５秒の場合の一般的な生存時間であるが、例えば問い合わせメッセージの送信時間が１２５秒でない場合などには、それに合わせて２６０秒以外の適切な時間が設定されてもよい。また、この時点で、上流装置アドレスが示す上流のマルチキャスト中継装置１０００に対して、正しく当該マルチキャストグループのエントリ管理表が作成されているかの確認がまだ行われていないため、中継抑止フラグには、Ｏｆｆが設定される。
【００６９】
次に、ＩＧＭＰスヌーピング処理部２１００が、当該マルチキャストデータパケットを中継するための情報（ＶＬＡＮ情報、マルチキャストグループ、マルチキャストルータポートおよび加入ポート）をマルチキャストパケット中継処理部２３００に通知し、マルチキャストパケット中継処理部２３００が、マルチキャストパケット中継制御表２３２０を作成する。次に、制御パケット送受信処理部２１３０が、ＶＬＡＮ管理表２１１１から当該ＶＬＡＮのマルチキャストルータポートを取得し、当該加入要求メッセージをマルチキャストルータポートに中継する。
【００７０】
このとき、本実施例の特徴である最初の加入要求メッセージの送信のみでマルチキャスト中継を開始することが必要であるため、下流のマルチキャスト中継装置２０００は、上流のマルチキャスト中継装置１０００に対して、中継した当該加入要求メッセージが正しく受信され、当該マルチキャストグループのエントリ管理表が作成されているかの確認処理を行う。
【００７１】
下流のマルチキャスト中継装置２０００が上流のマルチキャスト中継装置１０００に対して実施する確認処理を、図２を用いて説明する。
【００７２】
本実施例での確認処理は、次のように実行される。まず、下流のマルチキャスト中継装置２０００において、制御パケット送受信処理部２１３０の確認用メッセージ作成部２１３１が、問い合わせメッセージを作成する。この問い合わせメッセージには、当該マルチキャストグループアドレスが設定され、さらに、ソースアドレスとして下流のマルチキャスト中継装置２０００のアドレスが設定される。そして、確認用メッセージ作成部２１３１は、ＶＬＡＮ管理表２１１１からマルチキャスト中継装置１０００を接続しているマルチキャストルータポートを取得して当該マルチキャストルータポートに当該問い合わせメッセージを送信する。そして、エントリ管理部２１４０は、当該マルチキャストグループで作成したエントリ管理表２１４１の上流のマルチキャスト中継装置１０００に対しての中継抑止フラグをＯｆｆからＷａｉｔに設定する。
【００７３】
次に、上流のマルチキャスト中継装置１０００が、下流のマルチキャスト中継装置２０００から確認用の問い合わせメッセージを受信して、応答メッセージを送信する処理を、図３を用いて説明する。
【００７４】
上流のマルチキャスト中継装置１０００は、当該問い合わせメッセージを受信した場合、前述した方法でＩＧＭＰスヌーピング処理部１１００に通知する。ＩＧＭＰスヌーピング処理部１１００の制御パケット送受信処理部１１３０は、当該問い合わせメッセージの解析を行い、当該問い合わせメッセージを受信したポートとＶＬＡＮ管理表１１１１に登録されている下流装置接続ポートとを比較し、さらに、当該問い合わせメッセージのソースアドレスとＶＬＡＮ管理表１１１１に登録されている下流装置アドレスとを比較する。それらが一致すると、制御パケット送受信処理部１１３０は、当該問い合わせメッセージが、下流のマルチキャスト中継装置２０００からの確認用に送信された問い合わせメッセージであると判断する。
【００７５】
当該問い合わせメッセージが下流のマルチキャスト中継装置２０００からの問い合わせメッセージであると判断された場合、制御パケット送受信処理部１１３０の確認用メッセージ受信処理部１１３３は、エントリ管理表１１４１に当該マルチキャストグループのエントリが作成済みか確認する。当該エントリが作成済みであり、かつ、当該問い合わせメッセージを受信したポートが当該エントリの加入ポート情報に設定済みであれば、確認用メッセージ受信処理部１１３３は、当該マルチキャストグループのエントリ管理表が作成済みであると判断する。
【００７６】
次に、応答用メッセージ作成部１１３１が、当該マルチキャストグループの加入要求メッセージを作成し、そのソースアドレスとして上流のマルチキャスト中継装置１０００のアドレスを設定して、ＶＬＡＮ管理表１１１１に登録されている当該下流装置アドレスの下流装置接続ポートに対して送信する。この加入要求メッセージは、下流のマルチキャスト中継装置２０００からの確認用の問い合わせメッセージに対する応答メッセージであり、正しくエントリ管理表が作成されていることを示すメッセージである。
【００７７】
次に、下流のマルチキャスト中継装置２０００が、上流のマルチキャスト中継装置１０００から、正しくエントリ管理表が作成されていることを示す加入要求メッセージを受信する処理を、図２を用いて説明する。
【００７８】
下流のマルチキャスト中継装置２０００は、前述した方法で、当該加入要求メッセージをＩＧＭＰスヌーピング処理部２１００に通知する。ＩＧＭＰスヌーピング処理部２１００の制御パケット送受信処理部２１３０は、当該加入要求メッセージを解析し、当該加入要求メッセージのソースアドレスが上流装置アドレスと一致した場合、当該加入要求メッセージが、上流のマルチキャスト中継装置１０００で正常に当該マルチキャストグループのエントリ管理表が作成されている場合の応答メッセージであると判断する。そして、制御パケット送受信処理部２１３０の応答用メッセージ受信処理部２１３３が、エントリ管理表２１４１の当該エントリの上流のマルチキャスト中継装置１０００への中継抑止フラグをＷａｉｔからＯｎに設定する。これは、当該マルチキャストグループ宛ての加入要求メッセージが上流のマルチキャスト中継装置１０００へ中継済みであることを示す値である。これ以降、当該マルチキャストグループ宛ての加入要求メッセージを受信した場合、上流のマルチキャスト中継装置１０００への中継抑止フラグがＯｎであるため、当該加入要求メッセージは上流のマルチキャスト中継装置１０００に中継されない。
【００７９】
マルチキャスト受信者は、加入要求メッセージを送信したあと、マルチキャスト中継が開始されない場合、下流のマルチキャスト中継装置のエントリ管理表２１４１の中継抑止フラグを確認することができる。その結果、Ｗａｉｔ状態が継続しているのであれば、上流のマルチキャスト中継装置１０００に何らかの障害が発生して、上流のマルチキャスト中継装置１０００に正しくエントリ管理表が作成されていないことが確認できる。
【００８０】
本実施例では確認処理に下流のマルチキャスト中継装置からの問い合わせメッセージ送信と上流のマルチキャスト中継装置からの加入要求メッセージの応答を用いている。しかし、この方法は一例であり、これ以外の方法で確認処理を行ってもよい。
【００８１】
下流のマルチキャスト中継装置２０００は、上流のマルチキャスト中継装置１０００からの応答である、正常処理を示す加入要求メッセージを受信しなかった場合、当該マルチキャストグループの加入要求メッセージおよび確認用の問合せメッセージの送信を再試行する必要がある。このため、下流のマルチキャスト中継装置２０００では、確認用メッセージ作成部２１３１が確認用の問い合わせメッセージをマルチキャストルータポートに送信したあと、確認処理をタイマ処理実行部２１２０に登録する。
【００８２】
タイマ処理実行部２１２０には、実行時間（例えば１秒）、実行する処理（確認用メッセージ作成部２１３１）、ＶＬＡＮ名称、マルチキャストグループおよび上流装置アドレスが登録される。これにより、指定した実行時間後（例えば１秒後）に確認処理が実行される。確認処理では当該マルチキャストグループの加入要求メッセージおよび問い合わせメッセージが再送される。加入要求メッセージは前回の中継時に廃棄されている可能性があるため、下流のマルチキャスト中継装置２０００が再作成し、上流のマルチキャスト中継装置１０００に送信する。
【００８３】
次に、加入要求メッセージおよび問い合わせメッセージの作成方法について説明する。確認処理では確認用メッセージ作成部２１３１が起動し、登録されているＶＬＡＮ名称、マルチキャストグループおよび上流装置アドレスに基づいて、ＶＬＡＮ管理表２１１１から当該ＶＬＡＮの上流のマルチキャスト中継装置１０００を接続しているマルチキャストルータポートおよび自装置アドレスを取得し、当該マルチキャストグループの加入要求メッセージを作成して、当該マルチキャストルータポートに送信する。次に、確認用メッセージ作成部２１３１は、マルチキャストグループアドレスを設定した問い合わせメッセージ（確認用メッセージとも記載する）を作成し、ソースアドレスに自装置アドレスを設定して、当該マルチキャストルータポートに送信する。その後、再度確認処理をタイマ処理実行部２１２０に所定の時間（本実施例では１秒）経過後に実行されるように登録する。これにより、上流のマルチキャスト中継装置１０００に対して１秒間隔で繰り返し確認処理を実行することができる。
【００８４】
下流のマルチキャスト中継装置２０００が上流のマルチキャスト中継装置１０００からの応答である加入要求メッセージを受信した場合、応答用メッセージ受信処理部２１３３がタイマ処理実行部２１２０に登録している確認処理を削除すれば確認処理は終了する。
【００８５】
本実施例では、最初に受信した加入要求メッセージのみに基づいてマルチキャスト中継を継続するために、上流のマルチキャスト中継装置１０００において、下流のマルチキャスト中継装置２０００から受信した加入要求メッセージで作成するエントリ管理表の生存時間を無期限とする。これにより、下流のマルチキャスト中継装置２０００においてマルチキャスト受信者からの二回目以降の加入要求メッセージの中継が抑止されたとしても、マルチキャスト中継を継続できる。このとき、一回目の加入要求メッセージに基づくエントリが何らかの原因によって作成されなかった場合には、上記の確認処理によって、エントリが作成されるまで加入要求メッセージが送信される。これにより、マルチキャスト中継が確実に開始される。
【００８６】
本実施例では、下流のマルチキャスト中継装置２０００から中継される加入要求メッセージを判別するために、上流のマルチキャスト中継装置１０００に下流装置接続ポートの設定を追加する。上流のマルチキャスト中継装置１０００は、下流装置接続ポートから受信した加入要求メッセージを下流のマルチキャスト中継装置２０００から中継された加入要求メッセージと判別する。
【００８７】
本実施例では、下流のマルチキャスト中継装置から中継された加入要求メッセージを判別する方法として、上流のマルチキャスト中継装置に下流装置接続ポートを設定して、当該ポートから受信した加入要求メッセージを、下流のマルチキャスト中継装置から中継された加入要求メッセージであると判定している。しかし、この方法は一例であり、これ以外の方法で下流のマルチキャスト中継装置から中継された加入要求メッセージを判定してもよい。
【００８８】
図４は、本発明の実施例１のマルチキャスト中継装置が保持する構成定義情報の説明図である。
【００８９】
具体的には、図１のネットワーク構成における、上流のマルチキャスト中継装置１０００に設定される構成定義情報を図４（ａ）および図４（ｂ）に、下流のマルチキャスト中継装置２０００に設定される構成定義情報を図４（ｃ）および図４（ｄ）に示す。
【００９０】
図４（ａ）に示すように、上流のマルチキャスト中継装置１０００のＶＬＡＮ情報１２１０のＶＬＡＮ名称１２１１には図１に示したＶＬＡＮ１００の名称である「ＶＬＡＮ１００」、自装置アドレス１２１２には自装置アドレスであるＩＰ１＿ａｄｄｒ、所属ポートには図１等に示したポート１００１、１００２および１００３を識別する「１００１，１００２，１００３」が設定される。なお、この例では、図１等に示したＶＬＡＮおよび各ポートの参照符号をＶＬＡＮおよび各ポートの識別情報として使用している（以下同様）。
【００９１】
図４（ｂ）に示すように、上流のマルチキャスト中継装置１０００のＩＧＭＰスヌーピング情報１２２０のＶＬＡＮ名称１２２１にはＶＬＡＮ１００が設定される。図１の例では上流のマルチキャスト中継装置１０００のさらに上流にマルチキャスト中継装置が接続されていないため、マルチキャストルータポート１２２２は設定無しとなる。下流装置接続ポート１２２３には下流のマルチキャスト中継装置２０００が接続されているポートを識別する１００２が、下流装置アドレスには下流のマルチキャスト中継装置２０００のアドレスであるＩＰ２＿ａｄｄｒが設定される。下流装置接続ポート１２２３を設定することによって、後述するように、上流のマルチキャスト中継装置１０００は、受信した加入要求メッセージが下流のマルチキャスト中継装置２０００から送信されたものであるかを判定することができる。
【００９２】
図４（ｃ）に示すように、下流のマルチキャスト中継装置２０００のＶＬＡＮ情報２２１０のＶＬＡＮ名称２２１１にはＶＬＡＮ１００、自装置アドレス２２１２には自装置アドレスであるＩＰ２＿ａｄｄｒ、所属ポートには２００１，２００２，２００３，２００４が設定される。
【００９３】
図４（ｄ）に示すように、下流のマルチキャスト中継装置２０００のＩＧＭＰスヌーピング情報２２２０のＶＬＡＮ名称２２２１にはＶＬＡＮ１００、マルチキャストルータポート２２２２には上流のマルチキャスト中継装置１０００の接続ポートである２００１、上流装置アドレス２２２３には上流のマルチキャスト中継装置１０００のアドレスであるＩＰ１＿ａｄｄｒが設定される。
【００９４】
図５は、本発明の実施例１のマルチキャスト中継装置が保持するエントリ管理表の説明図である。
【００９５】
具体的には、図１のネットワークにおいて、マルチキャスト受信者１０，１２がＧｒｏｕｐ１＿ａｄｄｒ、マルチキャスト受信者１１，１３がＧｒｏｕｐ２＿ａｄｄｒに加入しているときの、上流のマルチキャスト中継装置１０００のエントリ管理表を図５（ａ）に、下流のマルチキャスト中継装置２０００のエントリ管理表を示す。
【００９６】
図５（ａ）に、上流のマルチキャスト中継装置１０００のエントリ管理表１１４１を示す。エントリ管理表１１４１には学習した３つのエントリ（１１４１−１，１１４１−２，１１４１−３）が登録されている。
【００９７】
エントリ１１４１−１は、ＶＬＡＮ名称１１４２にＶＬＡＮ１００、学習したマルチキャストグループ１１４３にＧｒｏｕｐ１＿ａｄｄｒ、加入ポート情報１１４４に下流のマルチキャスト中継装置２０００の接続ポートである１００２、生存時間１１４５には当該エントリが下流装置接続ポートから受信した加入要求メッセージに基づいて作成したエントリであるため無期限を設定している。
【００９８】
エントリ１１４１−２は、ＶＬＡＮ名称１１４２にＶＬＡＮ１００、学習したマルチキャストグループ１１４３にＧｒｏｕｐ２＿ａｄｄｒ、加入ポート情報１１４４に下流のマルチキャスト中継装置２０００の接続ポートである１００２、生存時間１１４５には当該エントリが下流装置接続ポートから受信した加入要求メッセージに基づいて作成したエントリであるため無期限を設定している。
【００９９】
エントリ１１４１−３は、ＶＬＡＮ名称１１４２にＶＬＡＮ１００、学習したマルチキャストグループ１１４３にＧｒｏｕｐ２＿ａｄｄｒ、加入ポート情報１１４４にマルチキャスト受信者１３の接続ポートである１００３、生存時間１１４５には当該エントリがマルチキャスト受信者１３からの加入要求メッセージに基づいて作成したエントリであるため２６０秒を設定している。
【０１００】
図５（ｂ）および図５（ｃ）に、下流のマルチキャスト中継装置２０００のエントリ管理表２１４１の二つの例であるエントリ管理表２１４１−Ａおよび２１４１−Ｂを示す。図５（ｂ）に示すエントリ管理表２１４１−Ａは、下流のマルチキャスト中継装置２０００が受信した加入要求メッセージを上流のマルチキャスト中継装置１０００に中継したあと、上流のマルチキャスト中継装置１０００への確認処理のうち、マルチキャスト受信者１０からの加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）については完了し、マルチキャスト受信者１１からの加入要求メッセージ（Ｇｒｏｕｐ２＿ａｄｄｒ宛）およびマルチキャスト受信者１２からの加入要求メッセージ（Ｇｒｏｕｐ１＿ａｄｄｒ宛）は確認中の（すなわち確認処理がまだ完了していない）時点のエントリ管理表２１４１を示す。
【０１０１】
エントリ管理表２１４１−Ａには学習した３つのエントリ（２１４１−Ａ１，２１４１−Ａ２，２１４１−Ａ３）が登録されている。
【０１０２】
エントリ２１４１−Ａ１は、ＶＬＡＮ名称２１４２−ＡにＶＬＡＮ１００、学習したマルチキャストグループ１１４３−ＡにＧｒｏｕｐ１＿ａｄｄｒ、加入ポート情報２１４４−Ａにマルチキャスト受信者１０の接続ポートである２００２、生存時間２１４５−Ａには当該エントリがマルチキャスト受信者１０からの加入要求メッセージに基づいて作成しているエントリであるため２６０秒、上流装置アドレス２１４６−Ａには上流のマルチキャスト中継装置１０００のアドレスであるＩＰ１＿ａｄｄｒ、中継抑止フラグ２１４７−Ａには当該エントリが上流のマルチキャスト中継装置１０００に対して確認済みであるためＯｎを設定している。
【０１０３】
エントリ２１４１−Ａ２は、ＶＬＡＮ名称２１４２−ＡにＶＬＡＮ１００、学習したマルチキャストグループ１１４３−ＡにＧｒｏｕｐ１＿ａｄｄｒ、加入ポート情報２１４４−Ａにマルチキャスト受信者１２の接続ポートである２００４、生存時間２１４５−Ａには当該エントリがマルチキャスト受信者１２からの加入要求メッセージに基づいて作成しているエントリであるため２６０秒、上流装置アドレス２１４６−Ａには上流のマルチキャスト中継装置１０００のアドレスであるＩＰ１＿ａｄｄｒ、中継抑止フラグ２１４７−Ａには当該エントリが上流のマルチキャスト中継装置１０００に対して確認中であるためＷａｉｔを設定している。
【０１０４】
エントリ２１４１−Ａ３は、ＶＬＡＮ名称２１４２−ＡにＶＬＡＮ１００、学習したマルチキャストグループ１１４３−ＡにＧｒｏｕｐ２＿ａｄｄｒ、加入ポート情報２１４４−Ａにマルチキャスト受信者１１の接続ポートである２００３、生存時間２１４５−Ａには当該エントリがマルチキャスト受信者１１からの加入要求メッセージに基づいて作成しているエントリであるため２６０秒、上流装置アドレス２１４６−Ａには上流のマルチキャスト中継装置１０００のアドレスであるＩＰ１＿ａｄｄｒ、中継抑止フラグ２１４７−Ａには当該エントリが上流のマルチキャスト中継装置１０００に対して確認中であるためＷａｉｔを設定している。
【０１０５】
下流のマルチキャスト中継装置２０００がマルチキャスト受信者１１からの加入要求メッセージ（Ｇｒｏｕｐ２＿ａｄｄｒ宛）を上流のマルチキャスト中継装置１０００に中継して、確認処理が完了したときのエントリ管理表２１４１−Ｂを図５（ｃ）に示す。これは、下流のマルチキャスト中継装置２０００のエントリ管理表２１４１が図５（ｂ）に示す状態となった後に、当該マルチキャスト中継装置２０００がマルチキャスト受信者１１からの加入要求メッセージに関する確認処理が完了した場合の、エントリ管理表２１４１の変化を示している。この例では説明を簡単にするために、エントリ管理表２１４１が図５（ｂ）に示す状態となった直後に確認処理が完了したと仮定している。
【０１０６】
エントリ管理表２１４１−Ｂのエントリ２１４１−Ｂ１〜２１４１−Ｂ３は、それぞれ図５（ｂ）に示すエントリ管理表２１４１−Ａのエントリ２１４１−Ａ１〜２１４１−Ａ３に対応する。各エントリの項目であるＶＬＡＮ名称２１４２−Ｂ、マルチキャストグループ２１４３−Ｂ、加入ポート情報２１４４−Ｂ、生存時間２１４５−Ｂ、上流装置アドレス２１４６−Ｂおよび中継抑止フラグ２１４７−Ｂは、それぞれ、エントリ管理表２１４１−ＡのＶＬＡＮ名称２１４２−Ａ、マルチキャストグループ２１４３−Ａ、加入ポート情報２１４４−Ａ、生存時間２１４５−Ａ、上流装置アドレス２１４６−Ａおよび中継抑止フラグ２１４７−Ａに対応する。
【０１０７】
図５（ｃ）には、エントリ２１４１−Ｂ３に関する確認処理が完了した状態を示しているため、エントリ２１４１−Ｂ３の中継抑止フラグ２１４７−ＢにＯｎを設定している。エントリ２１４１−Ｂ３のその他の項目、および、その他のエントリの各項目の値は、図５（ｂ）に示した対応するエントリの対応する項目の値と同じである。
【０１０８】
図６は、本発明の実施例１のマルチキャスト中継装置が保持するマルチキャストパケット中継制御表の説明図である。
【０１０９】
図１のネットワークにおいて、マルチキャスト受信者１０がＧｒｏｕｐ１＿ａｄｄｒ、マルチキャスト受信者１１がＧｒｏｕｐ２＿ａｄｄｒ、マルチキャスト受信者１２がＧｒｏｕｐ１＿ａｄｄｒ、マルチキャスト受信者１３がＧｒｏｕｐ２＿ａｄｄｒに加入しているときの、上流のマルチキャスト中継装置１０００が保持するマルチキャストパケット中継制御表１３２０、および、下流のマルチキャスト中継装置２０００が保持するマルチキャストパケット中継制御表２３２０を、それぞれ図６（ａ）および図６（ｂ）に示す。
【０１１０】
図６（ａ）に示すように、上流のマルチキャスト中継装置１０００のマルチキャストパケット中継制御表１３２０にはＩＧＭＰスヌーピング処理部１１００によって設定された３つのエントリが登録されている。
【０１１１】
マルチキャストパケット中継制御情報１３２０−１では、ＶＬＡＮ名称１３２１にＶＬＡＮ１００、マルチキャストグループ１３２２にＧｒｏｕｐ１＿ａｄｄｒが設定されている。マルチキャストルータポート１３２３は設定無しとなっている。出力ポート１３２４には下流のマルチキャスト中継装置１０００の接続ポートである１００２が設定されている。これにより、Ｇｒｏｕｐ１＿ａｄｄｒのマルチキャストデータパケットは出力ポート１００２のみに中継される。
【０１１２】
マルチキャストパケット中継制御情報１３２０−２では、ＶＬＡＮ名称１３２１にＶＬＡＮ１００、マルチキャストグループ１３２２にＧｒｏｕｐ２＿ａｄｄｒが設定されている。マルチキャストルータポート１３２３は設定無しとなっている。出力ポート１３２４には下流のマルチキャスト中継装置１０００の接続ポートである１００２およびマルチキャスト受信者１３の接続ポートである１００３が設定されている。これにより、Ｇｒｏｕｐ２＿ａｄｄｒのマルチキャストデータパケットは出力ポート１００２および１００３に中継される。
【０１１３】
マルチキャストパケット中継制御情報１３２０−３は、未学習のマルチキャストグループのマルチキャストデータパケットを廃棄するための廃棄エントリである。上流のマルチキャスト中継装置１０００は、未学習のマルチキャストデータパケットを受信した場合、廃棄エントリに従って、当該未学習のマルチキャストデータパケットをどこにも中継しない（すなわち廃棄する）。
【０１１４】
図６（ｂ）に示すように、下流のマルチキャスト中継装置２０００のマルチキャストパケット中継制御表２３２０にはＩＧＭＰスヌーピング処理部２１００によって設定された３つのエントリが登録されている。
【０１１５】
マルチキャストパケット中継制御情報２３２０−１では、ＶＬＡＮ名称２３２１にＶＬＡＮ１００、マルチキャストグループ２３２２にＧｒｏｕｐ１＿ａｄｄｒ、マルチキャストルータポート２３２３に２００１、出力ポート２３２４にはマルチキャスト受信者１０の接続ポートである２００２およびマルチキャスト受信者１３の接続ポートである２００４が設定されている。これにより、マルチキャストデータパケット（Ｇｒｏｕｐ１＿ａｄｄｒ）は出力ポート２００２および２００４に中継される。なお、マルチキャストルータポート２００１はマルチキャストデータパケット（Ｇｒｏｕｐ１＿ａｄｄｒ）の受信ポートであるため、マルチキャストルータポート２００１にはマルチキャストデータパケット（Ｇｒｏｕｐ１＿ａｄｄｒ）は中継されない。
【０１１６】
マルチキャストパケット中継制御情報２３２０−２では、ＶＬＡＮ名称２３２１にＶＬＡＮ１００、マルチキャストグループ２３２２にＧｒｏｕｐ２＿ａｄｄｒ、マルチキャストルータポート２３２３に２００１、出力ポート２３２４にはマルチキャスト受信者１１の接続ポートである２００３が設定されている。これにより、マルチキャストデータパケット（Ｇｒｏｕｐ２＿ａｄｄｒ）は出力ポート２００３に中継される。なお、マルチキャストルータポート２００１はマルチキャストデータパケット（Ｇｒｏｕｐ２＿ａｄｄｒ）の受信ポートであるため、マルチキャストルータポート２００１にはマルチキャストデータパケット（Ｇｒｏｕｐ２＿ａｄｄｒ）は中継されない。
【０１１７】
マルチキャストパケット中継制御情報２３２０−３は廃棄エントリである。下流のマルチキャスト中継装置２０００にはマルチキャストルータポートが設定されているため、未学習のマルチキャストデータパケットは、当該廃棄エントリに従ってマルチキャストルータポートに中継される。
【０１１８】
次に、マルチキャスト受信者がマルチキャストグループから離脱した場合の下流のマルチキャスト中継装置２０００の処理を、図２を用いて説明する。
【０１１９】
例として、マルチキャスト受信者１１がマルチキャストグループＧｒｏｕｐ２＿ａｄｄｒから離脱する場合の処理を説明する。
【０１２０】
マルチキャスト受信者１１がマルチキャストグループＧｒｏｕｐ２＿ａｄｄｒから離脱する場合、マルチキャスト受信者１１は離脱要求メッセージを送信する。下流のマルチキャスト中継装置２０００は離脱要求メッセージを受信すると、前述したＩＧＭＰメッセージの受信処理と同様の方法でＩＧＭＰスヌーピング処理部２１００に通知し、制御パケット送受信処理部２１３０が離脱要求メッセージの内容を解析する。具体的には、制御パケット送受信処理部２１３０は、当該離脱要求メッセージのＶＬＡＮ名称、受信ポートおよびマルチキャストグループを取得し、当該エントリがエントリ管理表２１４１に存在するか確認する。
【０１２１】
当該エントリが存在していれば、制御パケット送受信処理部２１３０は、当該エントリ管理表２１４１の生存時間を元の値（例えば２００秒、図７参照）から３秒に短縮し、当該ＶＬＡＮのマルチキャストルータポートをＶＬＡＮ管理表２１１１から取得して、当該離脱要求メッセージをマルチキャストルータポートに中継する。なお、上記の３秒は、ＩＧＭＰでの離脱要求メッセージ受信時の一般的な短縮時間であり、それ以外の任意の時間を設定することも可能である。後述する上流のマルチキャスト中継装置１０００の処理においても同様である。
【０１２２】
次に、下流のマルチキャスト中継装置２０００から中継された離脱要求メッセージを上流のマルチキャスト中継装置１０００が受信した場合の処理を、図３を用いて説明する。
【０１２３】
上流のマルチキャスト中継装置１０００は、前述したＩＧＭＰメッセージの受信処理と同様の方法で離脱要求メッセージをＩＧＭＰスヌーピング処理部１１００に通知し、制御パケット送受信処理部１１３０が離脱要求メッセージの内容を解析する。具体的には、制御パケット送受信処理部１１３０は、当該離脱要求メッセージのＶＬＡＮ名称、受信ポートおよびマルチキャストグループを取得し、当該エントリがエントリ管理表１１４１に存在するか確認する。
【０１２４】
当該エントリが存在していれば、制御パケット送受信処理部１１３０は、当該エントリ管理表１１４１の生存時間を無期限から３秒に短縮する。上流のマルチキャスト中継装置１０００にはマルチキャストルータポートが設定されていないため、当該離脱要求メッセージはどこにも中継されない。
【０１２５】
次に、上流のマルチキャスト中継装置１０００はＩＧＭＰクエリアであるため、制御パケット送受信処理部１１３０は、当該マルチキャストグループを設定した問い合わせメッセージを作成し、ＶＬＡＮ管理表１１１１から当該ＶＬＡＮの所属ポートを取得して、全所属ポートに対して当該問い合わせメッセージを送信する。このとき、マルチキャストグループを設定した問い合わせメッセージの最大応答時間には通常２秒が設定される。当該問い合わせメッセージは下流のマルチキャスト中継装置２０００にも送信される。
【０１２６】
次に、上流のマルチキャスト中継装置１０００から送信された問い合わせメッセージを下流のマルチキャスト中継装置２０００が受信した場合の処理を、図２を用いて説明する。
【０１２７】
下流のマルチキャスト中継装置２０００は、前述したＩＧＭＰメッセージの受信処理と同様の方法で問い合わせメッセージをＩＧＭＰスヌーピング処理部２１００に通知する。制御パケット送受信処理部２１３０は、当該問い合わせメッセージを解析し、ＶＬＡＮ名称およびマルチキャストグループを取得して、取得したＶＬＡＮ名称およびマルチキャストグループを削除エントリ検索部２１４２に通知する。
【０１２８】
削除エントリ検索部２１４２は、当該エントリがエントリ管理表２１４１に存在するか確認する。当該エントリが存在していれば、当該エントリ管理表２１４１の生存時間を２秒に短縮し、中継抑止フラグをＯｆｆに設定する。ここで、２秒とは、ＩＧＭＰでの問い合わせメッセージ受信時の一般的な短縮時間であり、それ以外の任意の時間を設定することも可能である。次に制御パケット送受信処理部２１３０は、ＶＬＡＮ管理表２１１１から当該ＶＬＡＮの所属ポート情報を取得し、当該問い合わせメッセージの受信ポート以外の全所属ポートに対して当該問い合わせメッセージを中継（フラッディング）する。
【０１２９】
マルチキャスト受信者１１は、Ｇｒｏｕｐ２＿ａｄｄｒの問い合わせメッセージに対して加入意志が無いため、応答しない。その場合、２秒後に下流のマルチキャスト中継装置２０００の当該エントリ管理表は削除され、３秒後に上流のマルチキャスト中継装置１０００の当該エントリ管理表は削除される。その結果、マルチキャスト受信者１１へのＧｒｏｕｐ２＿ａｄｄｒ宛てのマルチキャスト中継が停止する。
【０１３０】
図１では説明を簡単にするために省略されているが、仮に下流のマルチキャスト中継装置２０００のいずれかのポートにＧｒｏｕｐ２＿ａｄｄｒのマルチキャストグループへの加入意思のあるマルチキャスト受信者が接続されている場合、当該問い合わせメッセージの最大応答時間である２秒以内に当該マルチキャスト受信者から加入要求メッセージが応答される。この場合、当該エントリの中継抑止フラグはＯｆｆであるため、上流のマルチキャスト中継装置１０００に当該加入要求メッセージが中継され、上流のマルチキャスト中継装置１０００の当該エントリ管理表の生存時間が無期限に更新される。その結果、マルチキャスト中継は継続する。
【０１３１】
図７は、本発明の実施例１のマルチキャスト中継装置が離脱要求を受信したときのエントリ管理表の説明図である。
【０１３２】
図７（ｂ）は、下流のマルチキャスト中継装置２０００がマルチキャスト受信者１１からの離脱要求メッセージを受信したときのエントリ管理表２１４１−Ａを示す。図７（ｂ）に示すエントリ管理表２１４１−Ａは、図５（ｂ）に示したエントリ管理表２１４１−Ａの６０秒後の状態を示している。このため、各エントリの生存時間２１４５−Ａは２００秒となり、エントリ２１４１−Ａ２及び２１４１−Ａ３の中継抑止フラグ２１４７−ＡはＯｎとなっている。その時点でマルチキャスト中継装置２０００がマルチキャスト受信者１１からの離脱要求メッセージを受信すると、マルチキャスト受信者１１からの加入要求メッセージに応じて作成されたエントリ２１４１−Ａ３の生存時間２１４５−Ａが２００秒から３秒に短縮される。
【０１３３】
図７（ａ）は、上流のマルチキャスト中継装置１０００が下流のマルチキャスト中継装置２０００から中継されたマルチキャスト受信者１１からの離脱要求メッセージを受信したときのエントリ管理表１１４１を示す。図７（ａ）に示すエントリ管理表１１４１は、図５（ａ）に示したエントリ管理表１１４１の６０秒後の状態を示している。このため、エントリ１１４１−３の生存時間１１４５は２００秒となっている。その時点でマルチキャスト中継装置１０００がマルチキャスト受信者１１からの離脱要求メッセージを受信すると、マルチキャスト受信者１１からの加入要求メッセージに応じて作成されたエントリ１１４１−２の生存時間１１４５が無期限から３秒に短縮される。
【０１３４】
図７（ｃ）は、下流のマルチキャスト中継装置２０００が上流のマルチキャスト中継装置１０００からの問い合わせメッセージを受信したときのエントリ管理表２１４１−Ｂを示す。これは、これは、下流のマルチキャスト中継装置２０００のエントリ管理表２１４１が図７（ｂ）に示す状態となった後に、当該マルチキャスト中継装置２０００がマルチキャスト受信者１１からの離脱要求メッセージに対応する上流のマルチキャスト中継装置１０００からの問い合わせメッセージを受信した場合の、エントリ管理表２１４１の変化を示している。この例では説明を簡単にするために、エントリ管理表２１４１が図７（ｂ）に示す状態となった直後に問い合わせメッセージを受信したと仮定している。
【０１３５】
エントリ管理表２１４１−Ａと２１４１−Ｂとの間の各エントリおよび各項目の対応は図５（ｂ）及び図５（ｃ）を参照して説明した通りである。図７（ｃ）に示すように、マルチキャスト受信者１１からの加入要求メッセージに応じて作成されたエントリ２１４１−Ｂ３の生存時間２１４５−Ｂが３秒から２秒に短縮され、中継抑止フラグ２１４７−ＢがＯｎからＯｆｆに設定される。
【０１３６】
なお、一連の生存時間の短縮処理、離脱要求のマルチキャストルータポートへの中継処理、問い合わせメッセージの送受信処理は、ＩＧＭＰおよびＩＧＭＰスヌーピングの一般的な処理である。
【０１３７】
次に、図１に示すマルチキャスト中継の状態からマルチキャスト受信者１１が問い合わせメッセージに対して無応答となり下流のマルチキャスト中継装置２０００で当該エントリ管理表２１４１の生存時間が満了（タイムアウト）する場合の処理を、図２を用いて説明する。
【０１３８】
下流のマルチキャスト中継装置２０００において、エントリ管理表２１４１に登録されているエントリの生存時間の残時間が３秒のエントリを検知した場合、制御パケット送受信処理部２１３０の離脱メッセージ作成部２１３２が、当該マルチキャストグループの離脱要求メッセージを作成し、ＶＬＡＮ管理表２１１１から当該ＶＬＡＮのマルチキャストルータポートを取得して、作成した当該離脱要求メッセージを、取得したマルチキャストルータポートに送信する。
【０１３９】
上流のマルチキャスト中継装置１０００は、前述した離脱要求メッセージ受信処理と同様に、当該マルチキャストグループのエントリ管理表の生存時間を無期限から３秒に短縮し、当該マルチキャストグループを設定した問い合わせメッセージを作成して、当該ＶＬＡＮの全所属ポートに対して当該問い合わせメッセージを送信する。
【０１４０】
下流のマルチキャスト中継装置２０００は前述した問い合わせメッセージ受信処理と同様の方法で、当該エントリ管理表の生存時間を２秒に短縮し、中継抑止フラグをＯｆｆに設定して、当該問い合わせメッセージをＶＬＡＮ内にフラッディングする。
【０１４１】
マルチキャスト受信者１１は、問い合わせメッセージに対して加入意志が無いため、応答しない。この場合、２秒後に下流のマルチキャスト中継装置２０００の当該エントリ管理表は削除され、３秒後に上流のマルチキャスト中継装置１０００の当該エントリ管理表は削除される。その結果、マルチキャスト受信者１１へのマルチキャスト中継が停止する。
【０１４２】
本実施例ではエントリの生存時間満了時の処理として、生存時間が３秒のエントリを検知した場合に、離脱要求メッセージを作成して上流のマルチキャスト中継装置に送信することで通知している。しかし、この方法は一例であり、これ以外の方法でエントリの生存時間満了時の処理が実行されてもよい。
【０１４３】
次に下流のマルチキャスト中継装置で障害が発生した場合の処理を説明する。
【０１４４】
図８は、本発明の実施例１の下流のマルチキャスト中継装置で障害が発生した場合に実行される処理の説明図である。
【０１４５】
図８の例では３台のマルチキャスト中継装置（１０００，２０００，３０００）が接続されている。この例では、図１の例と同様に、マルチキャスト中継装置１０００の下流にマルチキャスト中継装置２０００が接続されているが、図１の例とは異なり、マルチキャスト中継装置２０００のポート２００２にはさらに下流のマルチキャスト中継装置３０００が接続されている。マルチキャスト中継装置３０００のポート３００１は、上流のマルチキャスト中継装置２０００に接続されるマルチキャストルータポートである。マルチキャスト中継装置３０００のポート３００２、３００３および３００４には、それぞれ受信者１０、１１および１２が接続されている。各受信者が加入しているマルチキャストグループは図１の例と同様である。また、マルチキャスト中継装置２０００の構成は図２の例と同様である。
【０１４６】
図８に示すマルチキャスト中継装置３０００が障害となった場合の処理を、図２も参照しながら説明する。マルチキャスト中継装置３０００が障害となった場合、マルチキャスト中継装置２０００においてマルチキャスト中継装置３０００を接続するポート２００２が非運用状態となる。マルチキャスト中継装置２０００では、ポート状態検出部２４００がポートの非運用状態を検出すると、ＩＧＭＰスヌーピング処理部２１００に通知する。ＩＧＭＰスヌーピング処理部２１００は、非運用状態となったポートをエントリ管理部２１４０の削除エントリ検索部２１４２に通知する。
【０１４７】
削除エントリ検索部２１４２は、エントリ管理表２１４１を検索し、当該非運用状態のポートを加入ポート情報とするエントリが存在するか確認する。当該非運用状態ポートを加入ポートとするエントリが存在した場合、削除エントリ検索部２１４２は、当該エントリの生存時間を３秒に短縮する。制御パケット送受信処理部２１３０の離脱メッセージ作成部２１３２は、当該マルチキャストグループの離脱要求メッセージを作成して、ＶＬＡＮ管理表２１１１から当該ＶＬＡＮのマルチキャストルータポートを取得し、取得したマルチキャストルータポートに当該離脱要求メッセージを送信する。
【０１４８】
上流のマルチキャスト中継装置１０００は、前述した離脱要求メッセージ受信処理と同様に、当該エントリのエントリ管理表の生存時間を無期限から３秒に短縮し、当該マルチキャストグループを設定した問い合わせメッセージを当該ＶＬＡＮの全所属ポートに送信する。送信された問い合わせメッセージは、前述した方法で、マルチキャスト中継装置２０００、３０００に中継される。しかし、装置３０００のマルチキャスト中継装置が障害となっているため、マルチキャスト受信者１０，１１，１２は問い合わせメッセージに対して加入要求メッセージを応答しない。そのため、マルチキャスト中継装置３０００の障害によって不要となる各装置のＧｒｏｕｐ１＿ａｄｄｒ、Ｇｒｏｕｐ２＿ａｄｄｒのエントリは、３秒後に上流のマルチキャスト中継装置１０００において削除され、２秒後に中間のマルチキャスト中継装置２０００において削除される。
【０１４９】
本実施例では非運用状態のポートを検出した場合に不要となるエントリを通知するために、離脱要求メッセージを作成して上流のマルチキャスト中継装置に送信している。しかし、この方法は一例であり、これ以外の方法で非運用状態のポートを検出した場合に不要となるエントリを通知してもよい。
【０１５０】
前述した通り、本発明の特徴である上流のマルチキャスト中継装置のエントリ管理表の生存時間を無期限としたとしても、想定されるエントリの削除が必要となる事象が発生した場合に、問題なく削除処理が実行され、不要なエントリ管理表を削除してマルチキャスト中継を停止することができる。
【０１５１】
次に、上流のマルチキャスト中継装置が障害復旧時等で早急にネットワーク内の全てのマルチキャストグループ加入状況を取得する場合の処理を説明する。
【０１５２】
上流のマルチキャスト中継装置１０００が障害から復旧した直後の処理を、図３を用いて説明する。障害復旧時、エントリ管理表１１４１は初期化されており、マルチキャスト中継は停止している。この場合、早急にネットワーク内のマルチキャスト加入状況を収集するために、制御パケット送受信処理部１１３０の中継抑止解除メッセージ作成部１１３２が、ソースアドレスに０．０．０．０を設定した問い合わせメッセージを作成し、ＶＬＡＮ管理表１１１１から全ＶＬＡＮの所属ポートを取得して、全ＶＬＡＮの全所属ポートに対して作成した問い合わせメッセージを送信する。
【０１５３】
下流のマルチキャスト中継装置２０００の問い合わせメッセージの受信処理を、図２を用いて説明する。下流のマルチキャスト中継装置２０００は、前述した問い合わせメッセージの受信処理と同様の方法でＩＧＭＰスヌーピング処理部２１００に通知し、制御パケット送受信処理部２１３０が解析を行う。ソースアドレスが０．０．０．０の問い合わせメッセージの場合、抑止解除メッセージ受信処理部２１３４がエントリ管理表２１４１の全エントリの中継抑止フラグをＯｆｆにして、当該問い合わせメッセージを前述した問い合わせメッセージと同じ方法でＶＬＡＮ内にフラッディングする。これにより、全てのマルチキャスト受信者が加入要求メッセージを応答する。この場合、エントリ管理表２１４１の全エントリの中継抑止フラグがＯｆｆであるため、最初に受信した加入要求メッセージのみが上流のマルチキャスト中継装置に中継される。下流のマルチキャスト中継装置２０００がマルチキャスト受信者からの加入要求メッセージを受信してからの処理は、前述した加入要求メッセージ受信処理と同様である。
【０１５４】
本実施例ではネットワーク内の全マルチキャストグループの加入要求メッセージを収集するために、上流のマルチキャスト中継装置はソースアドレスに０．０．０．０を設定した中継抑止解除のメッセージを送信している。しかし、この方法は一例であり、これ以外の方法で下流のマルチキャスト中継装置に通知してもよい。すなわち、ソースアドレスの０．０．０．０は、下流のマルチキャスト中継装置における加入要求メッセージの中継の抑止の解除を示す情報の一例であり、上流のマルチキャスト中継装置は、上記以外の情報を中継の抑止の解除を示すための情報として含めた問い合わせメッセージを作成してもよい。以下の説明（実施例２、実施例３を含む）においてソースアドレスに０．０．０．０が設定されたメッセージも同様である。
【０１５５】
前述した通り、本発明の特徴である下流のマルチキャスト中継装置での加入要求メッセージの中継抑止を行っていたとしても、上流のマルチキャスト中継装置からの全マルチキャストグループに対する加入要求メッセージの中継抑止解除の情報を追加した問い合わせメッセージの送信および下流のマルチキャスト中継装置においての当該問い合わせメッセージ受信による中継抑止状態の解除を行うことで、即座に全マルチキャストグループの加入要求を収集し、障害発生前のマルチキャスト中継を再開することができる。
【０１５６】
以上の処理を適用することで、定期的な問い合わせメッセージの送受信時に発生する、下流のマルチキャスト中継装置での大量の加入要求メッセージの中継処理および上流のマルチキャスト中継装置での大量の加入要求メッセージの受信処理が不要となるため、上流および下流のマルチキャスト中継装置の高負荷状態を軽減することができる。
【０１５７】
図１０は、本発明の実施例１の下流のマルチキャスト中継装置２０００が加入要求メッセージを受信したときに実行する処理を示すフローチャートである。
【０１５８】
下流のマルチキャスト中継装置２０００は、加入要求メッセージを受信した場合、当該加入要求メッセージを解析し（４２００）、ソースアドレスが上流装置アドレスか確認する（４２０１）。ソースアドレスが上流装置アドレスでない場合（４２０１：Ｎｏ）、マルチキャスト中継装置２０００は、マルチキャスト受信者からの加入要求メッセージを受信したと判断し、当該加入要求メッセージに対応するマルチキャストグループのエントリが作成済みか確認する（４２０２）。
【０１５９】
ステップ４２０２においてエントリが存在しない場合（４２０２：Ｎｏ）、マルチキャスト中継装置２０００は、当該マルチキャストグループのエントリを作成する（４２０３）。次に、マルチキャスト中継装置２０００は、作成したエントリの生存時間に２６０秒を設定する（４２０４）。次に、マルチキャスト中継装置２０００は、マルチキャストルータポートの設定が存在するか確認し（４２０５）、マルチキャストルータポートの設定が存在する場合は（４２０５：Ｙｅｓ）、当該加入要求メッセージをマルチキャストルータポートに中継する（４２０６）。
【０１６０】
次に、マルチキャスト中継装置２０００は、上流のマルチキャスト中継装置１０００に対して正しく加入要求メッセージが受信されたか確認するために、ＩＰアドレスに自装置のＩＰアドレスを設定した当該マルチキャストグループの問い合わせメッセージを作成し（４２０７）、マルチキャストルータポートに送信する（４２０８）。次に、マルチキャスト中継装置２０００は、作成した当該エントリの中継抑止フラグをＷａｉｔに設定し（４２０９）、上流のマルチキャスト中継装置１０００からの加入要求メッセージが応答されない場合のリトライ処理として、タイマ処理実行部に確認用メッセージ作成処理を例えば１秒後に実行されるように登録する（４２１０）。
【０１６１】
マルチキャスト中継装置２０００は、ステップ４２０２において当該エントリが存在する場合（４２０２：Ｙｅｓ）、当該エントリの生存時間を２６０秒に更新する（４２１２）。次に、マルチキャスト中継装置２０００は、当該エントリの中継抑止フラグがＯｆｆであるか確認して（４２１３）、Ｏｆｆであれば（４２１３：Ｙｅｓ）マルチキャストルータポートの設定を確認する（４２０５）。マルチキャストルータポートが設定されていれば（４２０５：Ｙｅｓ）、マルチキャスト中継装置２０００は、加入要求メッセージをマルチキャストルータポートに中継し（４２０６）、上流のマルチキャスト中継装置への確認処理を実行する。具体的には、マルチキャスト中継装置２０００は、既に詳細に説明した通り、問い合せを作成し（４２０７）、作成した問合せをマルチキャストルータポートに送信し（４２０８）、中継抑止フラグをＷａｉｔに変更し（４２０９）、タイマ処理実行部２１２０に確認用メッセージ作成処理を登録する（４２１０）。
【０１６２】
次に、マルチキャスト中継装置２０００が上流のマルチキャスト中継装置１０００への確認処理のための問い合わせメッセージをマルチキャストルータポートに送信したあと、上流のマルチキャスト中継装置１０００からの加入要求メッセージを受信する処理を図１０で説明する。マルチキャスト中継装置２０００は、受信した加入要求メッセージを解析し（４２００）、ソースアドレスが上流装置アドレスか確認する（４２０１）。受信した加入要求メッセージのソースアドレスが上流装置アドレスである場合（４２０１：Ｙｅｓ）、マルチキャスト中継装置２０００は、当該加入要求メッセージが上流のマルチキャスト中継装置１０００からの応答であると判断し、当該エントリの中継抑止フラグをＯｎにして（４２１４）、タイマ処理実行部２１２０に登録していた確認用メッセージ作成処理を削除する（４２１５）。
【０１６３】
図１１は、本発明の実施例１の下流のマルチキャスト中継装置２０００が実行する確認用メッセージ作成処理を示すフローチャートである。
【０１６４】
マルチキャスト中継装置２０００は、登録されているマルチキャストグループアドレスに基づいて加入要求メッセージを作成し（４３００）、登録されている上流装置アドレスから上流のマルチキャスト中継装置１０００を接続しているマルチキャストルータポートを取得し（４３０１）、作成した加入要求メッセージを当該マルチキャストルータポートに送信する（４３０２）。
【０１６５】
次に、マルチキャスト中継装置２０００は、登録されている自装置のＩＰアドレスをソースアドレスに設定して、マルチキャストグループアドレスを設定した問い合わせメッセージを作成し（４３０３）、当該マルチキャストルータポートに送信する（４３０４）。次に、マルチキャスト中継装置２０００は、確認用メッセージ作成処理をタイマ処理実行部に１秒後に実行されるように再登録する（４３０５）。
【０１６６】
図９は、本発明の実施例１の上流のマルチキャスト中継装置１０００が下流装置接続ポートから加入要求メッセージを受信したときに実行する処理を示すフローチャートである。
【０１６７】
上流のマルチキャスト中継装置１０００は、加入要求メッセージを受信した場合、加入要求メッセージを解析する（４１００）。次に、マルチキャスト中継装置１０００は、当該加入要求メッセージのマルチキャストグループが学習済みか、すなわち、エントリ管理表１１４１に当該加入要求メッセージのマルチキャストグループアドレスを含むエントリが存在するか確認する（４１０１）。
【０１６８】
当該エントリが存在しない場合、上流のマルチキャスト中継装置１０００は、当該エントリを作成する（４１０２）。例えば、図５（ａ）に示すエントリ１１４１−２がまだ生成されていない時点で、受信者１１がマルチキャストグループＧｒｏｕｐ２＿ａｄｄｒを指定する加入要求メッセージを送信し、それが下流のマルチキャスト中継装置２０００によって中継されて上流のマルチキャスト中継装置１０００のポート１００２に到達した場合、上流のマルチキャスト中継装置１０００は、マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒとポート１００２とを対応付けるエントリ１１４１−２を生成する。
【０１６９】
このとき、上流のマルチキャスト中継装置１０００は、生成したエントリと同様のマルチキャストグループとポートとを対応付ける情報をマルチキャストパケット中継制御表１３２０にも追加する。上記の例では、図６（ａ）に示すように、マルチキャストパケット中継制御情報１３２０−２のマルチキャストグループＧｒｏｕｐ２＿ａｄｄｒに対応する出力ポート１３２４としてポート１００２が追加される。その結果、図６（ａ）の例では、マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒにポート１００２および１００３が対応付けられる。この場合に上流のマルチキャスト中継装置１０００のいずれかのポートがマルチキャストグループＧｒｏｕｐ２＿ａｄｄｒのマルチキャストデータパケットを受信すると、そのパケットはマルチキャストパケット中継制御表１３２０に基づいてポート１００２及び１００３に中継される。
【０１７０】
次に、マルチキャスト中継装置１０００は、下流装置接続ポートが指定されているか確認する（４１０３）。上流のマルチキャスト中継装置１０００に下流装置接続ポートが指定されている場合（４１０３：Ｙｅｓ）、マルチキャスト中継装置１０００は、加入要求メッセージを受信したポートと下流装置接続ポートとが一致するか確認し（４１０８）、一致する場合は（４１０８：Ｙｅｓ）、当該エントリの生存時間を無期限に設定する（４１０９）。
【０１７１】
例えば上記のように図５（ａ）のエントリ１１４１−２が生成された場合、ポート１００２が下流装置接続ポート１２２３に設定されているものと一致するため（図４（ｂ）参照）、受信した加入要求メッセージが下流のマルチキャスト中継装置２０００から送信されたものであると判断され、当該エントリ１１４１−２の生存時間１１４５は無期限に設定される。これによって、その後、ポート１００２がマルチキャストグループＧｒｏｕｐ２＿ａｄｄｒを設定した加入要求メッセージを受信したかにかかわらず、当該エントリ１１４１−２の保持が継続される。
【０１７２】
下流装置接続ポートが指定されていない場合（４１０３：Ｎｏ）、および、加入要求メッセージを受信したポートと下流装置接続ポートとが一致しない場合は（４１０８：Ｎｏ）、マルチキャスト中継装置１０００は、当該エントリの生存時間に２６０秒を設定する（４１０４）。
【０１７３】
次に、マルチキャスト中継装置１０００は、マルチキャストルータポートの設定を確認する（４１０５）。図１に示すように、本実施例の上流のマルチキャスト中継装置１０００にはマルチキャストルータポートの設定が無いため（４１０５：Ｎｏ）、マルチキャスト中継装置１０００は加入要求メッセージをどこにも中継しない。上流のマルチキャスト中継装置１０００にマルチキャストルータポートの設定がある場合は（４１０５：Ｙｅｓ）、マルチキャスト中継装置１０００は加入要求メッセージをマルチキャストルータポートに中継する（４１０６）。
【０１７４】
ステップ４１０１において当該エントリが存在する場合、マルチキャスト中継装置１０００は、下流装置接続ポートが指定されているか確認し（４１１０）、指定されていれば（４１１０：Ｙｅｓ）、加入要求メッセージを受信したポートと下流装置接続ポートとが一致するか確認する（４１１２）。加入要求メッセージを受信したポートと下流装置接続ポートとが一致する場合は（４１１２：Ｙｅｓ）、既に生存時間には無期限が設定されているため生存時間の更新は行わない。加入要求メッセージを受信したポートと下流装置接続ポートとが一致しない場合（４１１２：Ｎｏ）、および、当該エントリに下流装置接続ポートが指定されていない場合は（４１１０：Ｎｏ）、マルチキャスト中継装置１０００は、当該エントリの生存時間を２６０秒に更新する（４１１１）。次に、マルチキャスト中継装置１０００は、マルチキャストルータポートの確認を行う（４１０５）。図１に示すように、本実施例の上流のマルチキャスト中継装置１０００にはマルチキャストルータポートの設定が無いため（４１０５：Ｎｏ）、マルチキャスト中継装置１０００は加入要求メッセージをどこにも中継しない。
【０１７５】
図１２は、本発明の実施例１の上流のマルチキャスト中継装置１０００が確認処理によって下流装置接続ポートから問い合わせメッセージを受信したときに実行する処理を示すフローチャートである。
【０１７６】
上流のマルチキャスト中継装置１０００は、問い合わせメッセージを受信した場合、問い合わせを解析し（４４００）、ソースアドレスを確認する（４４０１）。ソースアドレスが下流のマルチキャスト中継装置２０００のアドレスであった場合（４４０１：Ｙｅｓ）、マルチキャスト中継装置１０００は、確認処理で送信された問い合わせメッセージを受信したと判断し、当該問い合わせメッセージに設定されているグループアドレスのエントリが学習済みか（すなわち当該マルチキャストグループと当該下流のマルチキャスト中継装置２０００が接続されたポートとを対応付ける情報が設定されているか）を確認する（４４０５）。
【０１７７】
エントリが学習済みの場合（４４０５：Ｙｅｓ）、マルチキャスト中継装置１０００は、問い合わせメッセージを受信したポートが、当該エントリの加入ポートに一致するか確認する（４４０６）。両者が一致すれば（４４０６：Ｙｅｓ）、マルチキャスト中継装置１０００は、正しくエントリが作成されていると判断する。そして、マルチキャスト中継装置１０００は、当該マルチキャストグループに関する加入要求メッセージを上記の確認用メッセージに応答するメッセージとして作成し、そのソースアドレスに自装置アドレスを設定して（４４０７）、問い合わせメッセージを受信したポートに対して作成した加入要求メッセージを送信する（４４０８）。
【０１７８】
学習済みのエントリが存在しない場合（４４０５：Ｎｏ）、および加入ポートと問い合わせメッセージを受信したポートとが一致しない場合（４４０６：Ｎｏ）、マルチキャスト中継装置１０００は何もしない。
【０１７９】
ソースアドレスが下流のマルチキャスト中継装置２０００のアドレスでない場合は（４４０１：Ｎｏ）、マルチキャスト中継装置１０００は当該問い合わせメッセージをＶＬＡＮ内にフラッディングする。具体的には、マルチキャスト中継装置１０００は、ＶＬＡＮ情報１２１０から当該ＶＬＡＮの所属ポートを取得し（４４０２）、当該問合せメッセージを受信したポート以外の所属ポートに中継する（４４０３）。
【０１８０】
図１４は、本発明の実施例１の下流のマルチキャスト中継装置２０００がマルチキャスト受信者から離脱要求メッセージを受信したときに実行する処理を示すフローチャートである。
【０１８１】
下流のマルチキャスト中継装置２０００は、マルチキャスト受信者から離脱要求メッセージを受信した場合、離脱要求メッセージを解析し（４６００）、当該離脱要求メッセージに対応するマルチキャストグループのエントリが学習済みか確認する（４６０１）。当該エントリが学習済みの場合（４６０１：Ｙｅｓ）、マルチキャスト中継装置２０００は、当該エントリの生存時間を３秒に短縮する（４６０２）。
【０１８２】
次に、マルチキャスト中継装置２０００は、自装置がＩＧＭＰクエリアであるか確認する（４６０３）。図１の例では、下流のマルチキャスト中継装置２０００はＩＧＭＰクエリアではないため（４６０３：Ｎｏ）、マルチキャストルータポートの設定を確認する（４６０４）。マルチキャストルータポートの設定がある場合（４６０４：Ｙｅｓ）、マルチキャスト中継装置２０００は、当該離脱要求メッセージをマルチキャストルータポートに中継する（４６０５）。マルチキャストルータポートの設定が無い場合（４６０４：Ｎｏ）は何もしない。
【０１８３】
下流のマルチキャスト中継装置２０００がＩＧＭＰクエリアである場合（４６０３：Ｙｅｓ）、マルチキャスト中継装置２０００は、当該マルチキャストグループを設定した問い合わせメッセージを作成し（４６０７）、当該問い合わせメッセージをＶＬＡＮ内にフラッディングする（４６０８，４６０９）。このとき、下流のマルチキャスト中継装置２０００は、当該エントリに中継抑止フラグがＯｎに設定されているか否かを判定し（４６１０）、設定されている場合（４６１０：Ｙｅｓ）、当該エントリの中継抑止フラグをＯｆｆに設定する（４６１１）。当該離脱要求メッセージに対するエントリが存在しない場合（４６０１：Ｎｏ）、マルチキャスト中継装置２０００は何もしない。
【０１８４】
マルチキャスト中継装置２０００がマルチキャストルータポートに離脱要求メッセージを中継したあと、上流のマルチキャスト中継装置１０００から当該マルチキャストグループが設定された問い合わせメッセージが送信される。
【０１８５】
例えば、図１の上流のマルチキャスト中継装置１０００が図５（ａ）に示すエントリ管理表１１４１および図６（ａ）に示すマルチキャストパケット中継制御表１３２０を保持しているときに、受信者１１がマルチキャストグループＧｒｏｕｐ２＿ａｄｄｒを設定した離脱要求メッセージを送信した場合、当該離脱要求メッセージは下流のマルチキャスト中継装置２０００によって中継されてポート１００２によって受信される。この場合、上流のマルチキャスト中継装置１０００は、当該マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒとポート１００２とを対応付けるエントリ１１４１−２の生存時間１１４５を３秒に設定し（４６０２）、当該マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒを設定した問い合わせメッセージを作成して、ポート１００２を含む全所属ポートに送信する（４６０７〜４６０９）。
【０１８６】
図１の例では受信者１１が離脱することによってポート１００２の先に当該マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒに加入する受信者がいなくなる。このため、ポート１００２は、送信した問い合わせメッセージに応答する（すなわち当該マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒのパケットの配信を要求する）加入要求メッセージを受信しない。その結果、エントリ１１４１−２の生存時間が尽きて、当該マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒとポート１００２とを対応付けるエントリ１１４１−２が削除される。
【０１８７】
さらに、これに合わせて、マルチキャストパケット中継制御表１３２０から当該マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒとポート１００２とを対応付ける情報が削除される。具体的には、図６（ａ）のマルチキャストパケット中継制御情報１３２０−２の出力ポート１３２４からポート１００２が削除される。その結果、上流のマルチキャスト中継装置１０００は、マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒのマルチキャストデータパケットをポート１００２に中継しなくなる。
【０１８８】
なお、図１には示されていないが、仮に、下流のマルチキャスト中継装置２０００に、受信者１１以外に、マルチキャストグループＧｒｏｕｐ２＿ａｄｄｒに加入している受信者が接続されている場合、ポート１００２はその受信者から送信された加入要求メッセージを受信する。その場合、上流のマルチキャスト中継装置１０００は、図９に示す処理を実行して、エントリ１１４１−２の生存時間を再び無期限に設定する。
【０１８９】
上記のように、エントリ管理表において、マルチキャストグループとポートとを対応付けるエントリに設定されている生存時間は、当該エントリの保持を継続する時間であるだけでなく、それと同じマルチキャストグループとポートとを対応付けるマルチキャストパケット中継制御表の情報の保持を継続する時間でもある。
【０１９０】
図１３は、本発明の実施例１の下流のマルチキャスト中継装置２０００が上流のマルチキャスト中継装置１０００から問い合わせメッセージを受信した場合に実行する処理を示すフローチャートである。
【０１９１】
下流のマルチキャスト中継装置２０００は、受信した問い合わせメッセージを解析する（４５００）。当該問い合わせメッセージが離脱要求メッセージに対して上流のマルチキャスト中継装置１０００から送信された問い合せメッセージである場合、そのソースアドレスは０．０．０．０では無い（４５０１）。この場合、マルチキャスト中継装置２０００は、当該問い合わせメッセージをＶＬＡＮ内にフラッディングする（４５０２，４５０３）。
【０１９２】
問い合わせメッセージをフラッディングして以降の、下流のマルチキャスト中継装置２０００が実行するマルチキャスト受信者からの加入要求メッセージの受信処理は、前述した図１０の加入要求メッセージ受信処理と同様である。
【０１９３】
図１５は、本発明の実施例１の下流のマルチキャスト中継装置２０００においてエントリの生存時間が満了したときに実行される処理を示すフローチャートである。
【０１９４】
下流のマルチキャスト中継装置２０００は、生存時間の残りが３秒以下となったエントリを検知すると（４７００）、マルチキャストルータポートの設定が存在するか確認する（４７０１）。ここで、生存時間の残りが３秒以下となったエントリが検知されたことは、当該エントリの生存時間の残りが３秒になる前に、当該エントリに対応するポートに接続された受信者から、当該エントリに対応するマルチキャストグループに関する加入要求メッセージを受信しなかったことを意味する。この場合、下流のマルチキャスト中継装置２０００は、マルチキャストルータポートの設定が存在するか否かを判定する（４７０１）。
【０１９５】
マルチキャストルータポートの設定が存在する場合（４７０１：Ｙｅｓ）、下流のマルチキャスト中継装置２０００は、当該エントリのグループアドレスを設定した離脱要求メッセージを作成して（４７０２）、マルチキャストルータポートに送信する（４７０３）。これ以降、上流のマルチキャスト中継装置１０００で離脱要求メッセージの受信処理が実行され、下流のマルチキャスト中継装置２０００で当該マルチキャストグループを指定した問い合わせメッセージの受信処理が実行される。
【０１９６】
上流のマルチキャスト中継装置１０００が実行する離脱要求メッセージ受信処理は、前述した図１４の離脱要求メッセージ受信処理と同様である。下流のマルチキャスト中継装置２０００が実行する問い合わせメッセージの受信処理は前述した図１３の問い合わせメッセージ受信処理と同様である。
【０１９７】
図１６は、本発明の実施例１の下流のマルチキャスト中継装置が障害となったときに実行される処理を示すフローチャートである。
【０１９８】
ここでは、図８のネットワーク構成において、下流のマルチキャスト中継装置３０００が障害となったときの処理を説明する。
【０１９９】
マルチキャスト中継装置２０００は、接続したマルチキャスト中継装置３０００の障害に起因する接続ポートの非運用状態を検知した場合（４８００）、エントリ管理表２１４１に当該ポートを加入先とする（すなわち当該ポートが加入ポート情報として登録されている）エントリが存在するか確認し（４８０１）、エントリが存在する場合は（４８０１：Ｙｅｓ）、当該エントリの生存時間を３秒に短縮する（４８０２）。
【０２００】
次に、マルチキャスト中継装置２０００は、マルチキャストルータポートの設定を確認し（４８０３）、マルチキャストルータポートの設定が存在する場合は（４８０３：Ｙｅｓ）、当該マルチキャストグループを設定した離脱要求メッセージを作成し（４８０４）、当該離脱要求をマルチキャストルータポートに送信する（４８０５）。マルチキャストルータポートの設定が無い場合は（４８０３：Ｎｏ）、マルチキャスト中継装置２０００は離脱要求メッセージを送信しない。非運用状態となったポートを出力先とするエントリが存在しない場合は（４８０１：Ｎｏ）、マルチキャスト中継装置２０００は何もしない。
【０２０１】
上流のマルチキャスト中継装置１０００が実行する離脱要求メッセージ受信の処理は、図１４と同様である。
【０２０２】
図１７は、本発明の実施例１の上流のマルチキャスト中継装置１０００が即座にネットワーク内の全ての加入要求メッセージを収集するために実行する処理を示すフローチャートである。
【０２０３】
上流のマルチキャスト中継装置１０００は、即座にネットワーク内の全ての加入要求メッセージを収集する場合、ソースアドレスに０．０．０．０を設定し、マルチキャストグループを指定しない問い合わせメッセージを作成し（４９００）、全ＶＬＡＮの所属ポートを取得する（４９０１）。次に作成した問い合わせメッセージを全ＶＬＡＮの全所属ポートに対して送信する（４９０２）。
【０２０４】
次に、下流のマルチキャスト中継装置２０００が、ソースアドレスが０．０．０．０の問い合わせメッセージを受信した場合の処理を、図１３を参照して説明する。マルチキャスト中継装置２０００は、受信した問い合わせメッセージを解析する（４５００）。受信した問い合わせメッセージのソースアドレスが０．０．０．０であり（４５０１：Ｙｅｓ）、当該メッセージにマルチキャストグループが指定されていない場合（４５０５：Ｎｏ）、マルチキャスト中継装置２０００は、エントリ管理表２１４１の全エントリの中継抑止フラグをＯｆｆに設定し（４５０６）、当該問い合わせメッセージをＶＬＡＮ内にフラッディングする（４５０２，４５０３）。
【０２０５】
受信した問い合わせメッセージのソースアドレスが０．０．０．０であり（４５０１：Ｙｅｓ）、当該メッセージにマルチキャストグループが指定されている場合（４５０５：Ｙｅｓ）の処理については後述する（実施例３参照）。
【０２０６】
これ以降のマルチキャスト受信者からの加入要求メッセージを受信したあとの下流のマルチキャスト中継装置２０００の処理は図１０と同様であり、上流のマルチキャスト中継装置１０００の処理は図９と同様である。
【０２０７】
上記のとおり、下流のマルチキャスト中継装置２０００の構成を図２に、上流のマルチキャスト中継装置１０００の構成を図３にそれぞれ示し、それらが保持する情報及びそれらが実行する処理を図４〜図１７に示した。しかし、下流のマルチキャスト中継装置２０００および上流のマルチキャスト中継装置１０００は同一のハードウェアによって実現することができる。このため、例えば一つのマルチキャスト中継装置が、複数の他のマルチキャスト中継装置と接続されている場合において、それらの複数の他のマルチキャスト中継装置の一つとの関係においては上流のマルチキャスト中継装置として稼働し、別の一つとの関係においては下流のマルチキャスト中継装置として稼働することができる（例えば図８参照）。
【０２０８】
具体的には、本実施例のマルチキャスト中継装置のＩＧＭＰスヌーピング処理部の制御パケット送受信処理部は、応答用メッセージ作成部１１３１、中継抑止解除メッセージ作成部１１３２、確認用メッセージ受信処理部１１３３、確認用メッセージ作成部２１３１、離脱メッセージ作成部２１３２、応答用メッセージ受信処理部２１３３および抑止解除メッセージ受信処理部２１３４の全てを含んでもよい。その場合、当該マルチキャスト中継装置が上流のマルチキャスト中継装置１０００として稼働するときには応答用メッセージ作成部１１３１、中継抑止解除メッセージ作成部１１３２および確認用メッセージ受信処理部１１３３が使用され、下流のマルチキャスト中継装置２０００として稼働するときには確認用メッセージ作成部２１３１、離脱メッセージ作成部２１３２、応答用メッセージ受信処理部２１３３および抑止解除メッセージ受信処理部２１３４が使用される。
【０２０９】
また、本実施例のマルチキャスト中継装置のエントリ管理部は、削除エントリ検索部２１４２を含んでもよい。その場合、当該マルチキャスト中継装置が下流のマルチキャスト中継装置２０００として稼働するときのみ、削除エントリ検索部２１４２が使用される。
【０２１０】
また、本実施例のマルチキャスト中継装置のＩＧＭＰスヌーピング処理部１１００、２１００、装置構成定義部１２００、２２００、ポート状態検出部１４００および２４００の処理は、マルチキャスト中継装置内のプロセッサ（図示省略）が、マルチキャスト中継装置内のメモリ（図示省略）に格納されたプログラムに従って実行してもよい。その場合、本実施例で説明した上記の各部の処理は実際には当該プロセッサによって実行される。また、ＶＬＡＮ管理表１１１１、２１１１、エントリ管理表１１４１、２１４１、ＩＧＭＰスヌーピング情報１２２０および２２２０は、上記のメモリ内に格納される。
【０２１１】
マルチキャストパケット中継処理部１３００および２３００は、上記のようにプロセッサによって実現されてもよい（その場合、ＶＬＡＮ登録表１３１０、２３１０、マルチキャストパケット中継制御表１３２０および２３２０はメモリに格納される）が、一般には、高いレートでマルチキャストデータパケットを中継するため、専用のハードウェアによって実現される。その場合、ＶＬＡＮ登録表１３１０、２３１０、マルチキャストパケット中継制御表１３２０および２３２０は当該専用のハードウェア内の記憶領域に保持される。
【０２１２】
以上のように、本発明の実施例１によれば、下流のマルチキャスト中継装置において、マルチキャスト受信者から送信された加入要求メッセージの上流のマルチキャスト中継装置への中継状態を管理し、マルチキャスト受信者から最初に送信された加入要求メッセージのみを上流のマルチキャスト中継装置に中継する。これにより、定期的な問い合わせメッセージ受信でマルチキャスト受信者から応答される加入要求メッセージの上流のマルチキャスト中継装置への中継は抑止される。
【０２１３】
上流のマルチキャスト中継装置は、下流のマルチキャスト中継装置から中継された加入要求メッセージを認識し、下流のマルチキャスト中継装置から中継された加入要求メッセージで作成するマルチキャスト中継制御情報の生存時間に無期限を設定する。これにより、定期的な問い合わせメッセージ受信のたびにマルチキャスト受信者から送信される加入要求メッセージを、上流のマルチキャスト中継装置に中継する必要が無くなるため、定期的な問い合わせメッセージ送受信時の加入要求メッセージの中継処理に起因する上流および下流のマルチキャスト中継装置の高負荷状態を軽減することができる。
【０２１４】
さらに、上記のように下流のマルチキャスト中継装置において加入要求メッセージの中継を抑止するとともに、上流のマルチキャスト中継装置においてマルチキャスト中継制御情報の生存時間を無期限または任意の時間に設定することによって懸念される問題についても、解消できる手段が提案された。
【０２１５】
具体的には、下流のマルチキャスト中継装置が最初の加入要求メッセージだけしか上流のマルチキャスト中継装置に中継しなかったとしても、加入要求メッセージの中継後に上流のマルチキャスト中継装置に対して確認処理を行う。これにより、上流のマルチキャスト中継装置でのマルチキャスト中継制御情報の作成を保証しマルチキャスト中継を実現することができる。
【０２１６】
上流のマルチキャスト中継装置のマルチキャスト中継制御情報の生存時間を無期限または任意の時間としたとしても、マルチキャスト受信者からの離脱要求メッセージ受信時、下流のマルチキャスト中継装置においてのマルチキャスト中継制御情報の生存時間満了（タイムアウト）時および下流のマルチキャスト中継装置の障害時に、上流のマルチキャスト中継装置に離脱情報を通知する。これにより、上流のマルチキャスト中継装置のマルチキャスト中継制御情報の生存時間が無期限または任意の生存時間内だとしても、不要となったマルチキャスト中継制御情報を削除することができる。
【０２１７】
また、上流のマルチキャスト中継装置が、障害復旧時等で全てのマルチキャスト中継制御情報が消去されてマルチキャスト中継が停止している状態で、早急にネットワーク内の全マルチキャストグループの加入状態を把握したい場合、下流のマルチキャスト中継装置が加入要求メッセージの中継を抑止している状態だったとしても、下流のマルチキャスト中継の中継抑止状態を解除し、マルチキャスト受信者に加入要求メッセージを要求する。これにより、即座に全マルチキャストグループの加入状態を収集し、マルチキャスト中継を再開することができる。
【実施例２】
【０２１８】
次に、本発明の実施例２を説明する。以下に説明する相違点を除き、実施例２のシステムの各部は、図１〜図１７に示された実施例１の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【０２１９】
実施例１では、上流のマルチキャスト中継装置のエントリ管理表の生存時間を無期限とする手法について説明した。生存時間を無期限とした場合、実施例１では３つの離脱事象（マルチキャスト受信者からの離脱要求メッセージ受信、エントリの生存時間満了および装置障害による不要なエントリ削除）について説明した。しかし、上記の３つの事象以外の未知の事象によって生存時間が無期限のエントリが不要であるにもかかわらず残存してしまうことが考えられる。本問題を解消するために、実施例２では生存時間に無期限を設定しているエントリ管理表を任意の時間で定期的に要否判定を行い、不要なエントリを削除する手法について説明する。
【０２２０】
図１８は、本発明の実施例２の上流のマルチキャスト中継装置１０００の内部構造の説明図である。
【０２２１】
本実施例では、上流のマルチキャスト中継装置１０００のＩＧＭＰスヌーピング情報１２２０に要否判定時間１２２５が追加され、エントリ管理部１１４０に不要エントリ判定処理部１１４６を追加している。要否判定時間１２２５は、下流のマルチキャスト中継装置２０００から受信した加入要求メッセージで作成した生存時間が無期限のエントリの要否判定を定期的に行う時間（間隔）である。例えば１日に１回、不要なエントリが残存していないか確認する場合、１日の長さに相当する８６４００秒が設定される。不要エントリ判定処理部１１４６はエントリの要否判定を行う処理部である。
【０２２２】
上流のマルチキャスト中継装置１０００は、タイマ処理実行部１１２０に、不要エントリ判定処理を８６４００秒後に実行するように登録する。エントリ要否確認処理を実行するために必要な情報は、特に登録しない。
【０２２３】
タイマ処理実行部１１２０によって、８６４００秒後に不要エントリ判定処理部１１４６による処理が実行される。不要エントリ判定処理部１１４６は、エントリ管理表１１４１を参照して生存時間が無期限の全てのエントリの生存時間を例えば１０秒に設定する。この例では、問い合わせメッセージの最大応答時間が１０秒であり、１０秒間は当該エントリを保持する必要があるため１０秒と設定しているが、問い合わせメッセージの最大応答時間が上記以外となる場合等には、それに応じて適切な任意の時間を設定することができる。
【０２２４】
さらに、制御パケット送受信処理部１１３０の中継抑止解除メッセージ作成部１１３２が、ソースアドレスに０．０．０．０を設定し、マルチキャストグループアドレスを設定しない問い合わせメッセージを作成する。次に制御パケット送受信処理部１１３０はＶＬＡＮ管理表２１１１から当該ＶＬＡＮの下流装置接続ポートを取得し、下流装置接続ポートに対して作成した問い合わせメッセージを送信する。上流のマルチキャスト中継装置１０００は、この問い合わせメッセージ送信処理を全ＶＬＡＮに対して行う。
【０２２５】
下流のマルチキャスト中継装置２０００は、ソースアドレスに０．０．０．０が設定され、マルチキャストグループアドレスが設定されていない問い合わせメッセージを受信すると、実施例１に記述した方法と同じ方法で、全エントリの加入要求メッセージの中継抑止状態を解除し（図１３のステップ４５０６）、当該問い合わせメッセージをＶＬＡＮ内にフラッディングする（４５０３）。その結果、ネットワーク内の全マルチキャスト受信者は加入要求メッセージを応答する。このとき、上流のマルチキャスト中継装置１０００に生存時間が無期限の不要なエントリが残っていた場合、当該エントリに対して、加入要求メッセージは応答されないため、１０秒後に上流のマルチキャスト中継装置１０００の不要なエントリは削除される。
【０２２６】
上流のマルチキャスト中継装置１０００は、不要エントリ判定処理を実行後、再度８６４００秒後に実行するように不要エントリ判定処理を登録する。これにより、８６４００秒間隔で不要エントリ判定処理を実行することができる。
【０２２７】
本実施例では不要なエントリを確認するために、上流のマルチキャスト中継装置はソースアドレスに０．０．０．０を設定した問い合わせメッセージを送信しているが、下流のマルチキャスト中継装置に通知する方法は、この手法に限らない。
【０２２８】
以上の処理を適用することによって、未知の事象によって不要なエントリが残存している場合でも、設定した時間毎にエントリ要否判定を行うことで不要なエントリを削除することができる。
【０２２９】
図１９は、本発明の実施例２の上流のマルチキャスト中継装置１０００が、生存時間が無期限の不要なエントリを削除するために実行する不要エントリ判定処理を示すフローチャートである。
【０２３０】
タイマ処理実行部によって指定した時間が経過すると不要エントリ判定処理が実行される。不要エントリ判定処理では、マルチキャスト中継装置１０００は、生存時間が無期限の全てのエントリの生存時間を１０秒に設定する（５０００）。次にソースアドレスが０．０．０．０の問い合わせメッセージを作成し（５００１）、下流装置接続ポートを取得して（５００２）、作成した問い合わせメッセージを下流装置接続ポートに対して送信する（５００３）。次に、不要エントリ判定処理を指定された時間（例えば８６４００秒）後に実行されるように、タイマ処理実行部に再登録する（５００４）。
【０２３１】
下流のマルチキャスト中継装置２０００が、ソースアドレスが０．０．０．０の問い合わせメッセージを受信したときの処理は図１３と同様である。
【０２３２】
上流のマルチキャスト中継装置１０００が、ソースアドレスが０．０．０．０の問い合わせメッセージを送信後、加入要求メッセージを受信する処理は図９と同様である。
【０２３３】
上流のマルチキャスト中継装置１０００が、ソースアドレスが０．０．０．０の問い合わせメッセージ送信後、加入要求を受信しなかった場合に実行する処理を図１５で説明する。
【０２３４】
不要エントリ判定処理によって、生存時間が１０秒となったエントリは、その後、生存時間が３秒に減算され、検知される（４７００）。上流のマルチキャスト中継装置１０００にはマルチキャストルータポートの設定が無いため（４７０１：Ｎｏ）、ステップ４７０２および４７０３は実行されない。その結果、３秒後に不要なエントリは削除される。
【０２３５】
以上のように、本発明の実施例２によれば、上流のマルチキャスト中継装置１０００は、生存時間が無期限と設定されたエントリについて、所定の間隔で、中継抑止フラグの設定を解除することを示す情報を含む特殊な問い合わせメッセージ下流のマルチキャスト中継装置２０００に送信する。そして、その問い合わせメッセージに応答する加入要求メッセージを受信しなかった場合、当該エントリは削除される。これによって、実施例１において想定されている受信者の離脱および回線障害のいずれとも異なる未知の事象によってマルチキャストデータパケットの配信が不要となった場合に、そのことを検出して、配信を停止することができる。
【０２３６】
このとき、上記の特殊な問い合わせメッセージの送信間隔を、従来の問い合わせメッセージの送信間隔（例えば１２５秒）より十分に長い時間（例えば２４時間）とすることによって、当該特殊な問い合わせメッセージに応答する加入要求メッセージの中継処理に起因するマルチキャスト中継装置の高負荷状態を軽減することができる。
【実施例３】
【０２３７】
次に、本発明の実施例３を説明する。以下に説明する相違点を除き、実施例３のシステムの各部は、図１〜図１９に示された実施例１〜２の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【０２３８】
実施例１、２では上流のマルチキャスト中継装置１０００で下流のマルチキャスト中継装置２０００から中継された加入要求メッセージで作成したエントリ管理表の生存時間を無期限とする手法について説明した。一方、実施例３では生存時間に任意の時間を設定する手法について説明する。
【０２３９】
図２０は、本発明の実施例３の上流のマルチキャスト中継装置１０００の内部構造の説明図である。
【０２４０】
本実施例では装置構成定義部１２００のＩＧＭＰスヌーピング情報１２２０に生存時間１２２６が追加されている。設定した生存時間１２２６はＶＬＡＮ管理部１１１０で管理される。実施例１と同様に、上流のマルチキャスト中継装置１０００は、下流装置接続ポートから受信した加入要求メッセージが下流のマルチキャスト中継装置２０００から中継された加入要求メッセージであると判断し、当該加入要求メッセージに基づいて作成するエントリ管理表１１４１の生存時間に、ＶＬＡＮ管理表１１１１に登録されている生存時間を設定する。
【０２４１】
マルチキャスト中継装置１０００は、エントリ管理表１１４１作成後、生存時間を減算し、残り時間が３秒のエントリを検知したら、当該エントリの加入ポートがＶＬＡＮ管理表１１１１に登録されている下流装置接続ポートと同じであるかを判定する。ここで、３秒とは、離脱要求メッセージ受信時の短縮時間と同じであり、３秒以外の任意の時間を設定することもできる。当該エントリの加入ポートがＶＬＡＮ管理表１１１１に登録されている下流装置接続ポートと同じである場合、制御パケット送受信処理部１１３０の中継抑止解除メッセージ作成部１１３２が、ソースアドレス０．０．０．０および当該グループアドレスを設定した問い合わせメッセージを作成し、当該エントリ管理表に登録されている加入ポートに送信する。
【０２４２】
次に、下流のマルチキャスト中継装置２０００が問い合わせメッセージを受信する処理を、図２を用いて説明する。下流のマルチキャスト中継装置２０００は、当該問い合わせメッセージを受信すると、実施例１と同様の方法で制御パケット送受信処理部２１３０に通知する。制御パケット送受信処理部２１３０が問い合わせメッセージを解析し、削除エントリ検索部２１４２が当該問い合わせメッセージに設定されたマルチキャストグループのエントリがエントリ管理表２１４１に存在するか確認する。
【０２４３】
エントリが存在すれば、マルチキャスト中継装置２０００は、当該エントリ管理表の生存時間を２秒（ＩＧＭＰでのマルチキャストグループ指定の問い合わせメッセージ受信時の一般的な短縮時間）に短縮して、中継抑止フラグをＯｆｆにする。次にマルチキャスト中継装置２０００は、当該ＶＬＡＮの全所属ポートをＶＬＡＮ管理表２１１１より取得し、当該問い合わせメッセージをＶＬＡＮ内にフラッディングする。マルチキャスト受信者からの加入要求メッセージ受信後の下流のマルチキャスト中継装置１０００の処理は実施例１と同様である。
【０２４４】
本実施例では、生存時間に任意の時間を設定したエントリが満了するときに、上流のマルチキャスト中継装置はソースアドレスに０．０．０．０を設定したグループ指定の問い合わせメッセージを送信して、下流のマルチキャスト中継装置の当該マルチキャストグループの中継抑止状態を解除している。しかし、この方法は一例であり、下流のマルチキャスト中継装置に通知する方法として上記以外の方法を使用してもよい。
【０２４５】
以上の処理によって、設定した任意の生存時間内において定期的な問い合わせメッセージの送受信による加入要求メッセージの中継を抑止することができる。
【０２４６】
図２１は、本発明の実施例３の上流のマルチキャスト中継装置１０００が、下流のマルチキャスト中継装置２０００から受信した加入要求メッセージに基づいて作成するエントリ管理表の生存時間に、任意の時間を設定するために実行する処理を示すフローチャートである。
【０２４７】
上流のマルチキャスト中継装置１０００は、実施例１で説明した方法と同じ方法で加入要求メッセージを解析する（４１００）。その後のステップ４１０１〜４１０４および４１０８は実施例１と同様であるため説明を省略する（図９参照）。ステップ４１０８において、加入要求メッセージを受信したポートと下流装置接続ポートとが一致する場合は（４１０８：Ｙｅｓ）、マルチキャスト中継装置１０００は、エントリ管理表の生存時間設定時に、生存時間の設定があるか確認する（４１１３）。
【０２４８】
生存時間の設定がある場合（４１１３：Ｙｅｓ）、当該エントリ管理表の生存時間に任意の生存時間を設定する（４１１４）。その後、処理はステップ４１０５に進む。一方、生存時間の設定がない場合（４１１３：Ｎｏ）、処理はすステップ４１０９へ進む。これ以降の加入要求メッセージのマルチキャストルータポートへの中継処理（４１０５〜４１０７）は実施例１と同様である。また、エントリ管理表１１４１に当該加入要求メッセージのマルチキャストグループアドレスを含むエントリが存在すると判定された場合の処理（４１０１：Ｙｅｓ、４１１０〜４１１２）も実施例１と同様である。
【０２４９】
図２２は、本発明の実施例３の上流のマルチキャスト中継装置１０００において、残時間が３秒のエントリを検知した場合に実行される処理を示すフローチャートである。
【０２５０】
マルチキャスト中継装置１０００は、生存時間が３秒のエントリを検出した場合（５１００）、当該エントリの加入ポートが下流装置接続ポートと同じか確認する（５１０１）。当該エントリの加入ポートが加入装置接続ポートと同じである場合（５１０１：Ｙｅｓ）、マルチキャスト中継装置１０００は、ソースアドレスが０．０．０．０の問い合わせメッセージを作成し（５１０２）、当該問い合わせメッセージに当該エントリのマルチキャストグループを設定する（５１０３）。
【０２５１】
次に、マルチキャスト中継装置１０００は、当該エントリの加入ポートを取得し（５１０４）、加入ポートに対して作成した問い合わせメッセージを送信する（５１０５）。加入ポートが下流装置接続ポートでない場合（５１０１：Ｎｏ）、マルチキャスト中継装置１０００は何もしない。
【０２５２】
次に、下流のマルチキャスト中継装置２０００において、マルチキャストグループが設定され、ソースアドレスに０．０．０．０が設定された問い合わせメッセージを受信する処理を図１３で説明する。
【０２５３】
マルチキャスト中継装置２０００は、実施例１と同じ方法で問い合わせメッセージを解析する（４５００）。当該問い合わせメッセージのソースアドレスが０．０．０．０（４５０１：Ｙｅｓ）、マルチキャストグループ設定あり（４５０５：Ｙｅｓ）であるため、マルチキャスト中継装置２０００は、当該エントリの生存時間を２秒に設定し（４５０７）、当該エントリの中継抑止フラグをＯｆｆに設定する（４５０８）。それ以降の問い合わせメッセージのＶＬＡＮ内フラッディング処理（４５０２〜４５０４）は実施例１と同様である。
【０２５４】
以上のように、本発明の実施例３によれば、実施例１と異なり、上流のマルチキャスト中継装置１０００では、下流のマルチキャスト中継装置２０００が接続されたポートに関するエントリの生存時間として無期限ではなく所定の有限の時間が設定される。下流のマルチキャスト中継装置２０００では、上記の生存時間の残りが所定の値になるまで、上流のマルチキャスト中継装置１０００への加入要求メッセージの中継が抑止され、生存時間の残りが所定の値になると、加入要求メッセージの中継が再開される。上流のマルチキャスト中継装置１０００では、当該生存時間が経過するまで、下流のマルチキャスト中継装置２０００からの加入要求メッセージを受信したかにかかわらずエントリの保持が継続され、生存時間が経過する前に加入要求メッセージを受信した場合には当該生存時間として再び上記の所定の有限の時間が設定され、生存時間が経過したときにエントリが削除される。これによって、実施例１において想定されていない未知の事象によってマルチキャストデータパケットの配信が不要となった場合に、そのことを検出して、配信を停止することができる。このとき、エントリの生存時間を従来の生存時間（例えば２６０秒）より十分に長い時間（例えば数時間）とすることによって、実施例１の場合と同様に、加入要求メッセージの中継処理に起因するマルチキャスト中継装置の高負荷状態を軽減することができる。
【実施例４】
【０２５５】
次に、本発明の実施例４を説明する。以下に説明する相違点を除き、実施例４のシステムの各部は、図１〜図２２に示された実施例１〜３の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【０２５６】
本発明は、図１または図８に示したものだけでなく、様々な構成のネットワークに適用することができる。実施例４では、その一例として、マルチキャスト中継装置を直列に接続した構成のネットワークについて説明する。
【０２５７】
図２３は、本発明の実施例４のネットワーク構成の説明図である。
【０２５８】
図２３の例では３台のマルチキャスト中継装置１０００、３０００および２０００がその順に直列に接続されている。この場合、中段のマルチキャスト中継装置３０００にも下流装置接続ポートおよび下流装置アドレスを設定することで本発明を適用する。
【０２５９】
図２４は、本発明の実施例４の各マルチキャスト中継装置に設定されるＩＧＭＰスヌーピング情報の説明図である。
【０２６０】
図２４（ａ）に示すように、マルチキャスト中継装置１０００のＩＧＭＰスヌーピング情報１２２０では、ＶＬＡＮ名称１２２１にＶＬＡＮ１００が設定される。マルチキャスト中継装置１０００には上流のマルチキャスト中継装置を接続していないためマルチキャストルータポート１２２２は設定無しとなる。下流装置接続ポート１２２３にマルチキャスト中継装置３０００の接続ポートである１００２、下流装置アドレス１２２４にマルチキャスト中継装置３０００のＩＰアドレスであるＩＰ３＿ａｄｄｒが設定される。
【０２６１】
図２４（ｂ）に示すように、マルチキャスト中継装置３０００のＩＧＭＰスヌーピング情報３２２０では、ＶＬＡＮ名称３２２１にＶＬＡＮ１００、マルチキャストルータポート３２２２にマルチキャスト中継装置１０００の接続ポートである３００１、上流装置アドレス３２２３にマルチキャスト中継装置１０００のＩＰアドレスであるＩＰ１＿ａｄｄｒ、下流装置接続ポート３２２４にマルチキャスト中継装置２０００の接続ポートである３００２、下流装置アドレス３２２５にマルチキャスト中継装置２０００のＩＰアドレスであるＩＰ２＿ａｄｄｒが設定される。
【０２６２】
図２４（ｃ）に示すように、マルチキャスト中継装置２０００のＩＧＭＰスヌーピング情報２２２０では、ＶＬＡＮ名称２２２１にＶＬＡＮ１００、マルチキャストルータポート２２２２にマルチキャスト中継装置３０００の接続ポートである２００１、上流装置アドレス２２２３にマルチキャスト中継装置３０００のＩＰアドレスであるＩＰ３＿ａｄｄｒが設定される。
【０２６３】
以上の設定によって、最下流のマルチキャスト中継装置２０００が加入要求メッセージの中継抑止処理を行い、中段のマルチキャスト中継装置３０００が加入要求メッセージの中継抑止処理およびエントリの生存時間を無期限に設定する処理を行い、最上流のマルチキャスト中継装置１０００がエントリの生存時間を無期限に設定する処理を行う。これによって、直列に複数台、マルチキャスト中継装置を接続した場合でも、本発明を適用することができる。
【実施例５】
【０２６４】
次に、本発明の実施例５を説明する。以下に説明する相違点を除き、実施例５のシステムの各部は、図１〜図２４に示された実施例１〜４の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【０２６５】
実施例５では、本発明を適用できるネットワークの別の例として、下流のマルチキャスト中継装置を並列に接続した構成のネットワークについて説明する。
【０２６６】
図２５は、本発明の実施例５のネットワーク構成の説明図である。
【０２６７】
図２５では２台の下流のマルチキャスト中継装置２０００および３０００が並列に接続されている。この場合、上流のマルチキャスト中継装置１０００で下流装置接続ポートおよび下流装置アドレスがそれぞれ２台分設定される。
【０２６８】
図２６は、本発明の実施例５の各マルチキャスト中継装置に設定されるＩＧＭＰスヌーピング情報の説明図である。
【０２６９】
図２６（ａ）に示すように、マルチキャスト中継装置１０００のＩＧＭＰスヌーピング情報１２２０では、ＶＬＡＮ名称１２２１にＶＬＡＮ１００が設定される。マルチキャスト中継装置１０００には上流のマルチキャスト中継装置を接続していないためマルチキャストルータポート１２２２は設定無しとなる。
【０２７０】
１つ目の下流装置接続ポート１２２３にはマルチキャスト中継装置２０００の接続ポートである１００２、１つ目の下流装置アドレス１２２４にはマルチキャスト中継装置２０００のＩＰアドレスであるＩＰ２＿ａｄｄｒが設定される。２つ目の下流装置接続ポート１２２３にはマルチキャスト中継装置３０００の接続ポートである１００３、２つ目の下流装置アドレス１２２４にはマルチキャスト中継装置３０００のＩＰアドレスであるＩＰ３＿ａｄｄｒが設定される。
【０２７１】
図２６（ｂ）に示すように、マルチキャスト中継装置２０００のＩＧＭＰスヌーピング情報２２２０では、ＶＬＡＮ名称２２２１にＶＬＡＮ１００、マルチキャストルータポート２２２２にマルチキャスト中継装置１０００の接続ポートである２００１、上流装置アドレス２２２３に上流のマルチキャスト中継装置１０００のＩＰアドレスであるＩＰ１＿ａｄｄｒが設定される。
【０２７２】
図２６（ｃ）に示すように、マルチキャスト中継装置３０００のＩＧＭＰスヌーピング情報３２２０では、ＶＬＡＮ名称３２２１にＶＬＡＮ１００、マルチキャストルータポート３２２２にマルチキャスト中継装置１０００の接続ポートである３００１、上流装置アドレス３２２３に上流のマルチキャスト中継装置１０００のＩＰアドレスであるＩＰ１＿ａｄｄｒが設定される。
【０２７３】
以上の設定によって、下流のマルチキャスト中継装置２０００および３０００が加入要求メッセージの中継抑止処理を行い、上流のマルチキャスト中継装置１０００が下流のマルチキャスト中継装置２０００および３０００から中継された加入要求メッセージに基づいて作成されたエントリの生存時間を無期限に設定する処理を行う。これによって、下流のマルチキャスト中継装置が並列に複数台接続された場合でも、本発明を適用することができる。
【実施例６】
【０２７４】
次に、本発明の実施例６を説明する。以下に説明する相違点を除き、実施例６のシステムの各部は、図１〜図２６に示された実施例１〜５の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
【０２７５】
実施例６では、本発明を適用できるネットワークの別の例として、上流のマルチキャスト中継装置を並列に接続した構成のネットワークについて説明する。
【０２７６】
図２７は、本発明の実施例６のネットワーク構成の説明図である。
【０２７７】
図２７では２台の上流のマルチキャスト中継装置１０００および２０００が並列に接続されている。この場合、上流のマルチキャスト中継装置１０００および２０００に下流装置接続ポートおよび下流装置アドレスを設定し、下流のマルチキャスト中継装置３０００にマルチキャストルータポートおよび上流装置アドレスをそれぞれ２台分設定する。
【０２７８】
図２８は、本発明の実施例６の各マルチキャスト中継装置に設定されるＩＧＭＰスヌーピング情報の説明図である。
【０２７９】
図２８（ａ）に示すように、マルチキャスト中継装置１０００のＩＧＭＰスヌーピング情報１２２０では、ＶＬＡＮ名称１２２１にＶＬＡＮ１００が設定される。マルチキャスト中継装置１０００には上流のマルチキャスト中継装置を接続していないためマルチキャストルータポート１２２２は設定無しとなる。下流装置接続ポート１２２３にマルチキャスト中継装置３０００の接続ポートである１００２、下流装置アドレス１２２４にマルチキャスト中継装置３０００のＩＰアドレスであるＩＰ３＿ａｄｄｒが設定される。
【０２８０】
図２８（ｂ）に示すように、マルチキャスト中継装置２０００のＩＧＭＰスヌーピング情報２２２０では、ＶＬＡＮ名称２２２１にＶＬＡＮ１００が設定される。マルチキャスト中継装置２０００には上流のマルチキャスト中継装置を接続していないためマルチキャストルータポート２２２２は設定無しとなる。下流装置接続ポート２２２４にマルチキャスト中継装置３０００の接続ポートである２００２、下流装置アドレス２２２５にマルチキャスト中継装置３０００のＩＰアドレスであるＩＰ３＿ａｄｄｒが設定される。
【０２８１】
図２８（ｃ）に示すように、マルチキャスト中継装置３０００のＩＧＭＰスヌーピング情報３２２０では、ＶＬＡＮ名称３２２１にＶＬＡＮ１００が設定される。さらに、マルチキャストルータポート３２２２および上流装置アドレス３２２３はそれぞれ２台分が設定される。１つ目の設定では、マルチキャストルータポート３２２２にマルチキャスト中継装置１０００の接続ポートである３００１、上流装置アドレス３２２３に上流のマルチキャスト中継装置１０００のＩＰアドレスであるＩＰ１＿ａｄｄｒが設定される。２つ目の設定では、マルチキャストルータポート３２２２にマルチキャスト中継装置２０００の接続ポートである３００２、上流装置アドレス３２２３に上流のマルチキャスト中継装置２０００のＩＰアドレスであるＩＰ２＿ａｄｄｒが設定される。
【０２８２】
以上の設定によって、下流のマルチキャスト中継装置３０００がマルチキャスト中継装置１０００および２０００に対して加入要求メッセージの中継抑止処理を行い、上流のマルチキャスト中継装置１０００および２０００が下流のマルチキャスト中継装置１０００から中継された加入要求メッセージに基づいて作成されたエントリの生存時間を無期限に設定する処理を行う。これによって、上流のマルチキャスト中継装置が並列に複数台接続された場合でも、本発明を適用することができる。
【０２８３】
また、上記の実施例４から実施例６に記載した直列接続及び並列接続を組み合わせたネットワークでも、それぞれの装置に上記の各実施例の手法を適用することで対応可能である。
【０２８４】
各実施例はＩＧＭＰスヌーピングで説明したが、ＭＬＤスヌーピングも同様の手法で実現可能である。
【０２８５】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０２８６】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【０２８７】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０２８８】
１０、１１、１２、１３  マルチキャスト受信者
２０  マルチキャスト送信者
１００  ＶＬＡＮ名称
１０００、２０００、３０００  マルチキャスト中継装置
１１００、２１００  ＩＧＭＰスヌーピング処理部
１１１０、２１１０  ＶＬＡＮ管理部
１１２０、２１２０  タイマ処理実行部
１１３０、２１３０  制御パケット送受信処理部
１１４０、２１４０  エントリ管理部
１２００、２２００  装置構成定義部
１２１０、２２１０  ＶＬＡＮ情報
１２２０、２２２０  ＩＧＭＰスヌーピング情報
１３００、２３００  マルチキャストパケット中継処理部
１３１０、２３１０  ＶＬＡＮ登録表
１３２０、２３２０  マルチキャストパケット中継制御表
１４００、２４００  ポート状態検出部
【図１】
2019125862.tif 000003
【図２】
2019125862.tif 000004
【図３】
2019125862.tif 000005
【図４】
2019125862.tif 000006
【図５】
2019125862.tif 000007
【図６】
2019125862.tif 000008
【図７】
2019125862.tif 000009
【図８】
2019125862.tif 000010
【図９】
2019125862.tif 000011
【図１０】
2019125862.tif 000012
【図１１】
2019125862.tif 000013
【図１２】
2019125862.tif 000014
【図１３】
2019125862.tif 000015
【図１４】
2019125862.tif 000016
【図１５】
2019125862.tif 000017
【図１６】
2019125862.tif 000018
【図１７】
2019125862.tif 000019
【図１８】
2019125862.tif 000020
【図１９】
2019125862.tif 000021
【図２０】
2019125862.tif 000022
【図２１】
2019125862.tif 000023
【図２２】
2019125862.tif 000024
【図２３】
2019125862.tif 000025
【図２４】
2019125862.tif 000026
【図２５】
2019125862.tif 000027
【図２６】
2019125862.tif 000028
【図２７】
2019125862.tif 000029
【図２８】
2019125862.tif 000030