(57)【特許請求の範囲】
【請求項１】
マルチキャストパケットを中継するゲートウェイ装置において、
前記マルチキャストパケットが配信される期間が示された配信予定情報と前記マルチキャストパケットとを、第１のネットワークから受信する受信手段と、
前記マルチキャストパケットを中継するための条件が登録されたパケットフィルタルール情報を保持しており、前記パケット受信手段が受信した前記マルチキャストパケットの中継が前記パケットフィルタルール情報において許されているか否かを判断するフィルタリング手段と、
前記フィルタリング手段により中継が許可されていると判断された前記マルチキャストパケットを、第２のネットワーク上へ送信するパケット送信手段と、
前記パケット受信手段が受信した前記配信予定情報に基づいて、前記マルチキャストパケットの宛先アドレスと、宛先となるアプリケーションプログラムの識別子との組からなる宛先情報、及び配信期間を示す配信期間情報を含む受信パケット情報を生成する情報解析手段と、
前記情報解析手段が生成した前記受信パケット情報の宛先情報に合致する前記マルチキャストパケットが中継されるように、前記パケットフィルタルール情報の内容を更新する中継許可情報登録手段と、
前記情報解析手段が生成した前記受信パケット情報に示された配信期間が過ぎた前記マルチキャストパケットが中継されないように、前記パケットフィルタルール情報の内容を更新する中継許可情報取消手段と、
を有することを特徴とするゲートウェイ装置。
【請求項２】
前記情報解析手段は、一定時間前記配信予定情報が流れてこなかった場合の待ち時間を示すライフタイムを定め、
前記中継許可情報取消手段は、前記配信予定情報を受け取ったときから前記ライフタイムに設定された時間経過するまで次の配信予定情報が流れてこない場合には、前記受信パケット情報に登録された前記マルチキャストパケットが中継されないように、前記パケットフィルタルール情報の内容を更新する、
ことを特徴とする請求項１記載のゲートウェイ装置。
【請求項３】
マルチキャストパケットを中継するためのマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記マルチキャストパケットが配信される期間が示された配信予定情報と前記マルチキャストパケットとを、第１のネットワークから受信する受信手段、
前記マルチキャストパケットを中継するための条件が登録されたパケットフィルタルール情報を保持しており、前記パケット受信手段が受信した前記マルチキャストパケットの中継が前記パケットフィルタルール情報において許されているか否かを判断するフィルタリング手段、
前記フィルタリング手段により中継が許可されていると判断された前記マルチキャストパケットを、第２のネットワーク上へ送信するパケット送信手段、
前記パケット受信手段が受信した前記配信予定情報に基づいて、前記マルチキャストパケットの宛先アドレスと、宛先となるアプリケーションプログラムの識別子との組からなる宛先情報、及び配信期間を示す配信期間情報を含む受信パケット情報を生成する情報解析手段、
前記情報解析手段が生成した前記受信パケット情報の宛先情報に合致する前記マルチキャストパケットが中継されるように、前記パケットフィルタルール情報の内容を更新する中継許可情報登録手段、
前記情報解析手段が生成した前記受信パケット情報に示された配信期間が過ぎた前記マルチキャストパケットが中継されないように、前記パケットフィルタルール情報の内容を更新する中継許可情報取消手段、
としてコンピュータを機能させることを特徴とするマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータネットワーク上のパケットを中継するゲートウェイ装置及びマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体に関し、特にインターネットにおいて比較的安全にマルチキャストパケットを中継するためのゲートウェイ装置及びマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
従来、組織内ＬＡＮ(Local Area Network)／ＷＡＮ(Wide Area Network) をクラッカーなどのインターネット侵入者／妨害者から防御する手段としてファイアウォール（Firewall）といわれるゲートウェイ装置（ここでいう「ゲートウェイ装置」は、あるネットワークのゲートとなる装置という意味である）が用いられている。ファイアウォールは、社内のＬＡＮとインターネットとの間に設置され、ＩＰ(Internet Protocol) アドレスの識別によって特定のパケットのみを通過させるようにしている。このファイアウォール上で通信の制限を設けることにより、組織内のＬＡＮ／ＷＡＮを安全に保つことができる。例えば、ゲートウェイホストのプラットフォームのオペレーティングシステム( 以後、ＯＳという) としてＵＮＩＸ系のＯＳを用いた場合、ipfilter（「http://coombs.anu.edu.au/ipfilter/」にて公開されたフィルタリングのためのＵＮＩＸ用ソフトウェア）のようなパケットフィルタの機構を追加することで、ファイアウォールとして機能させることができる。
【０００３】
ところで、従来のインターネット上での通信は、ユニキャストと呼ばれる１対１の通信が主であったが、近年では、マルチキャストと呼ばれる１対多通信が行われるようになっている。なお、マルチキャストはパケットの複写が生じるので、パケットの複写を必要最小限に抑制する必要がある。そのため、マルチキャストのパケットを中継する場合、中継の必要性の有無が、中継先の受け取りホストの有無によって動的に設定される。この機構はＵＮＩＸ系ＯＳではmrouted というプログラムがバックグラウンドプロセスとして常駐することによって実現される。
【０００４】
【発明が解決しようとする課題】
しかし、従来のファイアウォールの機能はユニキャストを前提にしており、近年インターネット上で新しく使えるようになったマルチキャストには適用できなかった（「ファイアウォール構築インターネットセキュリティ」 D. Brent Chapman, Elizabeth D. Zwicky共著、歌代和正監訳鈴木克彦訳、オライリージャパン ISBN4-900900-03-6）。
【０００５】
すなわち、実際のアプリケーションではポート番号と呼ばれる情報によって、データ受渡しのアプリケーションが特定されているが、マルチキャストの中継処理ではアドレスのみの情報によって中継が行われる。そのため、従来のゲートウェイ装置にマルチキャストのパケットを中継させた場合、アドレスが一致していてポート番号が異なるパケットも中継されることになる。これは、本来使用すべきアプリケーションが使用しないポート番号のパケットが到着した場合には、無関係なアプリケーションに渡される可能性があることを意味する。このようなパケットの中継を許すと、別アプリケーションに対する外部からの攻撃が可能となり安全とは言えない。
【０００６】
本発明はこのような点に鑑みなされたものであり、マルチキャストパケットを安全に中継できるゲートウェイ装置を提供することを目的とする。
また、本発明の他の目的は、マルチキャストパケットの安全な中継をコンピュータに行わせるためのマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【０００７】
【課題を解決するための手段】
本発明では上記課題を解決するために、マルチキャストパケットを中継するゲートウェイ装置において、前記マルチキャストパケットが配信される期間が示された配信予定情報と前記マルチキャストパケットとを、第１のネットワークから受信する受信手段と、前記マルチキャストパケットを中継するための条件が登録されたパケットフィルタルール情報を保持しており、前記パケット受信手段が受信した前記マルチキャストパケットの中継が前記パケットフィルタルール情報において許されているか否かを判断するフィルタリング手段と、前記フィルタリング手段により中継が許可されていると判断された前記マルチキャストパケットを、第２のネットワーク上へ送信するパケット送信手段と、前記パケット受信手段が受信した前記配信予定情報に基づいて、前記マルチキャストパケットの宛先アドレスと、宛先となるアプリケーションプログラムの識別子との組からなる宛先情報、及び配信期間を示す配信期間情報を含む受信パケット情報を生成する情報解析手段と、前記情報解析手段が生成した前記受信パケット情報の宛先情報に合致する前記マルチキャストパケットが中継されるように、前記パケットフィルタルール情報の内容を更新する中継許可情報登録手段と、前記情報解析手段が生成した前記受信パケット情報に示された配信期間が過ぎた前記マルチキャストパケットが中継されないように、前記パケットフィルタルール情報の内容を更新する中継許可情報取消手段と、を有することを特徴とするゲートウェイ装置が提供される。
【０００８】
このようなゲートウェイ装置によれば、第１のネットワークから配信予定情報が送られてくると、その内容が情報解析手段で解析され、受信メディア情報が生成される。すると中継許可情報登録手段により、受信メディア情報の宛先情報に合致するパケットが中継されるように、パケットフィルタルール情報の内容が更新される。また、中継許可情報取消手段により、配信期間の過ぎたマルチキャストパケットが中継されないように、パケットフィルタルール情報の内容が更新される。そして、第１のネットワークからマルチキャストパケットが配信されると、受信手段によって受け取られ、フィルタリング手段により、中継の許否が判断される。ここで、パケットフィルタルール情報で許可されたマルチキャストパケットであれば、送信手段により第２のネットワーク上へ送信される。一方、パケットフィルタルール情報で許可されていないマルチキャストパケットであれば、そのパケットは中継されない。
【０００９】
また、上記課題を解決するために、マルチキャストパケットを中継するためのマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体において、前記マルチキャストパケットが配信される期間が示された配信予定情報と前記マルチキャストパケットとを、第１のネットワークから受信する受信手段、前記マルチキャストパケットを中継するための条件が登録されたパケットフィルタルール情報を保持しており、前記パケット受信手段が受信した前記マルチキャストパケットの中継が前記パケットフィルタルール情報において許されているか否かを判断するフィルタリング手段、前記フィルタリング手段により中継が許可されていると判断された前記マルチキャストパケットを、第２のネットワーク上へ送信するパケット送信手段、前記パケット受信手段が受信した前記配信予定情報に基づいて、前記マルチキャストパケットの宛先アドレスと、宛先となるアプリケーションプログラムの識別子との組からなる宛先情報、及び配信期間を示す配信期間情報を含む受信パケット情報を生成する情報解析手段、前記情報解析手段が生成した前記受信パケット情報の宛先情報に合致する前記マルチキャストパケットが中継されるように、前記パケットフィルタルール情報の内容を更新する中継許可情報登録手段、前記情報解析手段が生成した前記受信パケット情報に示された配信期間が過ぎた前記マルチキャストパケットが中継されないように、前記パケットフィルタルール情報の内容を更新する中継許可情報取消手段、としてコンピュータを機能させることを特徴とするマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【００１０】
このような記録媒体に記録されたマルチキャストパケット中継プログラムをコンピュータに実行させれば、上記本発明に係るゲートウェイ装置の機能がコンピュータで実現される。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の原理構成図である。本発明のゲートウェイ装置１は、第１のネットワーク２と第２のネットワーク３との間に設けられている。第１のネットワーク２では、マルチキャストパケット２ｂが配信されているとともに、各マルチキャストパケットを配信する期間が示された配信予定情報２ａが配信されている。ゲートウェイ装置１は、第１のネットワーク２から第２のネットワーク３へのマルチキャストパケットを中継するものであり、以下の要素で構成される。
【００１２】
受信手段１ａは、第１のネットワーク２から送られてくる配信予定情報２ａとマルチキャストパケット２ｂとを受信する。送信手段１ｂは、フィルタリング手段１ｃにより中継が許可されたマルチキャストパケット２ｂを、第２のネットワーク３上へ送信する。フィルタリング手段１ｃは、パケットフィルタルール情報１ｃａを保持している。このパケットフィルタルール情報１ｃａには、中継してもよいパケットの配信先アドレスとアプリケーションの識別子（ポート番号）との組が設定されている。そして、フィルタリング手段１ｃは、パケットフィルタルール情報に基づいて、受信手段１ａが受け取ったマルチキャストパケット２ｂを中継すべきか否かを判断する。すなわち、受信手段１ａが受け取ったマルチキャストパケット２ｂの配信先アドレスと、配信パケットを受け取るべきアプリケーションの識別子との組がパケットフィルタルール情報に登録されていた場合に、そのマルチキャストパケット２ｂの中継を許可する。
【００１３】
情報解析手段１ｄは、受信手段１ａが受け取った配信予定情報２ａの内容を解析し、配信される予定のメディア毎の受信メディア情報１ｇを生成する。受信メディア情報１ｇには、宛先アドレス、宛先アプリケーションの識別子（ポート番号）の組（宛先情報）と、配信期間を示す配信期間情報とが含まれる。中継許可情報登録手段１ｅは、受信メディア情報に基づいて中継可能なメディアの宛先情報を特定し、そのメディアのパケットが中継されるようにパケットフィルタルール情報１ｃａの内容を更新する。中継許可情報取消手段１ｆは、受信メディア情報１ｇに基づいて、配信予定期間が経過したメディアを特定し、配信期間が過ぎたメディアのパケットの中継が拒絶されるように、パケットフィルタルール情報１ｃａの内容を更新する。
【００１４】
このようなゲートウェイ装置１によれば、第１のネットワーク２から配信予定情報２ａが送られてくると、それを受信手段１ａが受け取る。受信手段１ａが受け取った配信予定情報２ａは、情報解析手段１ｄに渡される。次に、配信予定情報２ａの内容が情報解析手段１ｄで解析され、受信メディア情報１ｇが生成される。生成された受信メディア情報１ｇは、中継許可情報登録手段１ｅと中継許可情報取消手段１ｆに送られる。すると、中継許可情報登録手段１ｅにより、受信メディア情報１ｇに示された宛先のマルチキャストパケット２ｂが中継されるように、パケットフィルタルール情報１ｃａの内容が更新される。また、中継許可情報取消手段１ｆにより、配信期間が過ぎたマルチキャストパケット２ｂが中継されないように、パケットフィルタルール情報１ｃａの内容が更新される。
【００１５】
そして、第１のネットワーク２からマルチキャストパケット２ｂが配信されると、そのマルチキャストパケット２ｂが受信手段１ａで受け取られる。このときパケットフィルタルール情報１ｃａで許されたマルチキャストパケット２ｂであれば、フィルタリング手段１ｃにより中継が許可される。中継が許可された場合には、送信手段１ｂにより第２のネットワーク３上にマルチキャストパケット２ｂが送信される。これにより、第２のネットワーク３に接続され、マルチキャストパケット２ｂの宛先情報に合致する情報を受け取り可能なクライアント装置が、マルチキャストパケット２ｂを受け取ることができる。
【００１６】
このように、配信予定情報２ａで示された宛先のマルチキャストパケット２ｂのみを中継することにより、必要最低限のマルチキャストパケットのみを第２のネットワーク３上へ送信することができ、マルチキャストパケットを他のアプリケーションやサーバに影響を与えない様に通過させることができる。その結果、マルチキャストパケット２ｂの中継を行いながらも、第２のネットワーク３への第１のネットワーク２からの不正アクセスを排除することができる。
【００１７】
ここで、インターネット等のネットワーク上でマルチキャストのアドレス／ポート情報を交換するプロトコルとしてＳＤＰ(Session Description Protocol)がある。このプロトコルでは、使用するセッションの発信者、送信アドレス、ポート、開始時間、終了時間などの情報が定期的にマルチキャストパケットで流されている。そこで、このＳＤＰを本発明の配信予定情報の受け渡しとして用いることができる。すなわち、このプロトコルおよび、そのプロトコルでアナウンスされている使用アドレス／ポートの組のパケットをその使用時間の期間のみ通すようにして、それ以外を通さないようにすれば、攻撃／侵入の可能性を大幅に減らすことができる。そこで、ＳＤＰを用いて本発明のゲートウェイ装置を実現した場合の実施の形態を、以下に説明する。
【００１８】
図２は、本発明を適用するネットワークの概念図である。本発明のゲートウェイ装置１００は、インターネット１１を介して各種情報を提供するサーバ装置１０に接続されているとともに、ＬＡＮの内部セグメント２１を介して、複数のクライアント装置２２〜２４に接続されている。クライアント装置２２〜２４は、インターネット１１上の他のコンピュータから保護すべきコンピュータである。
【００１９】
図３は、ゲートウェイ装置の内部構成を示す図である。図に示すように、ゲートウェイ装置１００は、２つのネットワークインタフェース１１１，１１２を有している。一方のネットワークインタフェース１１１はインターネット１１に接続されており、他方のネットワークインタフェース１１２はＬＡＮの内部セグメント２１に接続されている。
【００２０】
ゲートウェイ装置１００内部には、装置全体を制御するためのオペレーティングシステム（ＯＳ）１２０が導入されている。この例では、ＵＮＩＸ系のＯＳを用いるものとする。ネットワークインタフェース１１１，１１２との入出力データ（パケット）はこのＯＳ１２０が適切に振り分ける。振り分けるためには、パケット送受信部１３１，１３２とフィルタリング処理部１４０との機能が利用される。
【００２１】
パケット送受信部１３１，１３２は、ネットワークインタフェース１１１，１１２を介して受け取ったパケットをＯＳ１２０に渡す。また、ＯＳ１２０から受け取ったパケットを、ネットワークインタフェース１１１，１１２を介して他のコンピュータへ送信する。このパケット送受信部１３１，１３２があることで、マルチキャストパケットを中継することができる。この機能は、ＵＮＩＸ系のＯＳの基本構成として含まれている。マルチキャストは、パケットの複写が生じるが、そのパケットの複写を必要最小限に抑制するために、mrouted というプログラムをバックグラウンドプロセスとして常駐させることによって、受け取りを希望しているクライアントが存在しているか否かにより、中継の必要性の有無を動的に設定することができる。すなわち、内部セグメント２１に接続されたコンピュータの中で、マルチキャストパケットの受け取りを希望しているクライアント装置が存在しなければ、たとえ中継が許可されているパケットであっても、内部セグメント２１上へ出力されることはない。
【００２２】
フィルタリング処理部１４０は、パケット送受信部１３１，１３２が受け取ったパケットを中継してもよいか否かの判定を行う。具体的には、中継できるパケットのアドレス／ポートの組のリストをパケットフィルタルール情報として保持しておき、パケットフィルタルール情報に登録されているパケットのみ中継を認める。このパケットフィルタリング機能は、例えばＵＮＩＸ系のＯＳにipfilterを組み込むことで実現できる。
【００２３】
パケットフィルタルール情報の内容は、マルチキャストパケット中継制御部１５０によって書き換えられる。マルチキャストパケット中継制御部１５０は、マルチキャストパケットに関するパケットフィルタルール情報の内容更新処理を行っており、情報収集部１５１、中継許可情報登録部１５２、及び中継許可情報取消部１５３を有している。情報収集部１５１は、ＳＤＰの内容を解析し、使用アドレス及びポートの組の情報を収集する。そして、受信メディア情報を生成する。中継許可情報登録部１５２は、受信メディア情報に基づいて、パケットフィルタルール情報に対してアドレス及びポートの組の単位で中継の可否を設定する。中継許可情報取消部１５３は、受信メディア情報に基づいて、使用されなくなったアドレス及びポートの組の情報を検出し、該当するマルチキャストパケットに関する情報を、パケットフィルタルール情報内から削除する。なお、マルチキャストパケット中継制御部１５０は、実際には１つのプログラムとして設けられ、単一のバックグラウンドプロセスとしてゲートウェイ装置内に常駐する。
【００２４】
このようなシステムにおけるマルチキャストパケットの中継処理を以下に説明する。
図４は、マルチキャストパケットの中継処理手順を示すフローチャートである。以下のフローチャートをステップ番号に沿って説明する。
［Ｓ１］マルチキャストパケット中継制御部１５０が、まず引数を解析する。引数としては、制御するインターフェース指定やログ情報の出力方法指定などがある。
［Ｓ２］マルチキャストパケット中継制御部１５０は、シグナル処理を初期化する。具体的には、プログラム終了時に初期状態に戻すような処理を行うよう、シグナル処理ルーチンの設定を行う。
［Ｓ３］マルチキャストパケット中継制御部１５０は、自己のプロセスをバックグラウンド化する。すなわち、自分自信をfork（自分自身の複製を子プロセスとして生成する処理）し、子プロセスはそのまま実行続行し、親プロセスは終了して制御を戻す。バックグラウンド化することにより、プロセスを安定して動作させることができる。
［Ｓ４］マルチキャストパケット中継制御部１５０は、ＳＤＰアドレス／ポートの受信準備を行う。具体的には、ＳＤＰ情報の流れるアドレス／ポートに対してsocket/bind （マルチキャストパケットを取得するためのグループに参加する処理）を行う。
［Ｓ５］マルチキャストパケット中継制御部１５０は、入力を待つ。具体的には、タイムアウト（この場合３０秒）を指定してselect（タイムアウト時の動作を指定する処理）をかけ、ＳＤＰアドレス／ポートに入力があるまでプログラムをsleep （指定した時まで指令を遅らせる処理）状態にする。
［Ｓ６］マルチキャストパケット中継制御部１５０は、入力があったか否かを判断する。入力があったら、ステップＳ７に進み、入力がなければステップＳ８に進む。
［Ｓ７］入力があったら、情報収集部１５１がＳＤＰの情報を読み込み、その情報を解析する。ＳＤＰのヘッダを取り除くと、各使用メディア情報は以下の図に示すようなＳＡＰ(Session Announcement Protocol) で記述されているので、そのメディア情報を解析する。
【００２５】
図５は、ＳＡＰ情報の例を示す図である。ＳＡＰ情報３０内の「ｖ」はバージョンを示している。「ｏ」はoriginの意味であり、発信者に関する情報が設定されている。「mmaeda」は発信者の識別子である。「3102815875」は開始時刻であり、「3102815901」は終了時刻である。なお、時刻表記は、ＮＴＰ(Network Time Protocol) を用いている。「IN IP4」はインターネットのバージョン４であることを示している。「202.221.74.12 」はＩＰアドレスである。「ｓ」はタイトルである。「ｉ」は付記的事項である。「ｐ」は作成者を示している。「ｅ」は作成者のメールアドレスである。「ｔ」は情報の配信開始時間と配信終了時間を示している。「ａ」は情報を受け取るためのツールに関する各種情報である。「ｍ」は配信されるメディアに関する情報であり、メディアのタイプ（audio ）、ポート番号(20594) 、プロトコル(RTP/AVP 0) が設定されている。「ｃ」は情報を受信するためのグループアドレス(239.133.82.90) に関する情報が登録されている。
【００２６】
このようなＳＡＰを解析した結果、必要な情報のみ取り出され、受信メディア情報の内部表現構造体の配列に収容される。
図６は、受信メディア情報の内部表現構造体の例を示す図である。内部表現構造体４０には、次のような情報が定義されている。「struct in ＿addr srcaddr; 」では、発信元のアドレスが定義される。「struct in ＿addr addr;」では、宛先のグループのアドレスが定義される。「u ＿short port; 」では、使用されるアプリケーションプログラムのポート番号が定義される。「time＿t stime, etime, ltime;」では、情報配信の開始時刻、終了時刻、及びライフタイムが設定される。開始時間は番組の開始時刻であり、終了時間は番組の終了時刻である。ライフタイムは、一定時間セッション情報が流れてこなかった場合の最大の待ち時間である。ＳＤＰを受け取った時からライフタイムで設定された時間経過するまでに次のＳＤＰが流れてこなかったら、その番組の配信が終了したものと認識する。「int filtered; 」は、登録済みか否かの情報である。
【００２７】
このような内部表現の構造体を配信される情報ごとに収容する。このとき、もう既に受信済の情報であれば、情報のライフタイムを延長する。これは使われなくなったと思われる受信メディア情報、及びその受信メディア情報に基づいて定義されたルールを消去するために使用する。
【００２８】
以下、図４の説明に戻る。
［Ｓ８］中継許可情報登録部１５２が、通過ルールを追加する。具体的には、セッション開始から終了までの時間内に入るとその使用メディア情報に相当するアドレスとポートの通過ルールを、フィルタリング処理部１４０のパケットフィルタルーツ情報に設定する。ルールの設定が完了したら、そのメディアに関する受信メディア情報に設定済のフラグをセットする。
［Ｓ９］中継許可情報取消部１５３は、不要ルールの削除、及び情報の整理を行う。具体的には、配信終了時刻が過ぎた受信メディア情報、およびＳＡＰが来なくなって一定期間( ライフタイム) 経っており、不要と思われる受信メディア情報のルールを、パケットフィルタルール情報から削除する。このステップＳ９の処理が終了したら、ステップＳ５へ戻る。
【００２９】
以下に、ステップＳ７、ステップＳ８、ステップＳ９の詳細な手順を説明する。
図７は、ＳＤＰ情報読み込み／解析処理のフローチャートである。これは、全て情報収集部１５１が行う処理である。
［Ｓ１１］読み取りバッファにパケットの内容をコピーする。
［Ｓ１２］ＳＤＰヘッダを解析する。
［Ｓ１３］プロトコルとバージョンを確認する。ＳＤＰプロトコルのバージョンが一致していない場合は処理を終了する。また新規情報か削除情報かのフラグを取り出す。
［Ｓ１４］ＳＤＰヘッダをスキップし、ＳＡＰの部分を取り出す。そして、最初にＳＡＰの１行目を選択し、以下の処理を行う。
［Ｓ１５］選択した行が「ｏ(Origin)」行であれば、次の処理を行う。すなわち、ネットワークタイプが「IN」でプロトコルタイプが「IP4 」なら、発信元アドレスをセッションソースアドレスとして受信メディア情報に登録する。以後、受信メディア情報の改変情報に対してはこのアドレスが一致した場合のみ改変する。
［Ｓ１６］選択した行が「c(Connection) 」行であれば、次の処理を行う。すなわち、ネットワークタイプが「IN」でプロトコルタイプが「IP4 」なら、この行の宛先アドレスを受信メディア情報にセットする。なお、このときＳＤＰのタイプが新規情報なら新たに登録するが、削除情報なら削除する。
［Ｓ１７］選択した行が「m(Media)」行であれば、次の処理を行う。すなわち、そのメディアを利用するのに必要なアプリケーションのポート番号を読み取り、受信メディア情報に登録する。
［Ｓ１８］選択した行が「t(Time) 」行であれば、開始時刻と終了時刻情報を読み取る。このとき、後々の処理の高速化のため、内部フォーマットに変換しておく。
［Ｓ１９］最初の受信メディア情報の生成が完了したか否かを判断する。完了したのであればステップＳ２０に進み、完了していなければステップＳ１５に進む。
［Ｓ２０］未処理行が残っているか否かを判断し、残っていれば次の行を選択してステップＳ２１へ進み、残っていなければ処理を終了する。
［Ｓ２１］選択した行が「c(Connection) 」行であれば、新たな受信メディア情報として、次の処理を行う。すなわち、ネットワークタイプが「IN」でプロトコルタイプが「IP4 」なら、宛先アドレスを受信メディア情報にセットする。このときＳＤＰのタイプが新規情報なら登録し、削除情報なら削除する。なお、新たに定義する受信メディア情報のセッションソースアドレス、及び開始時刻と終了時刻情報は、ステップＳ１５とステップＳ１８で取得した値と同じ値を設定する。
［Ｓ２２］選択した行が「m(Media)」行であれば、次の処理を行う。すなわち、そのメディアを利用するのに必要なアプリケーションのポート番号を読み取り、ステップＳ２１で定義した受信メディア情報に登録する。この処理が終了したら、ステップＳ２０に進む。
【００３０】
図８は、通過ルール追加処理ルーチンのフローチャートである。この処理は、全て中継許可情報登録部１５２が行う処理である。
［Ｓ３１］未処理の受信メディア情報を１つ選択する。
［Ｓ３２］選択した受信メディア情報を中継するためのルールを作成する。具体的には、内部表現からioctl （Ｉ／Ｏをコントロールするためのシステムコール）のための構造体に設定しなおす。
［Ｓ３３］選択した受信メディア情報が登録済でなく、開始時刻より現在時刻の方があとの場合、ioctl システムコールにより、フィルタリング処理部１４０が有しているパケットフィルタルール情報内に、ステップＳ３２で作成したルールを登録する。
［Ｓ３４］未処理の受信メディア情報があるか否かを判断し、未処理の受信メディア情報がある場合にはステップＳ３１に進み、全ての受信メディア情報の処理が終了した場合には、処理を終了する。
【００３１】
図９は、不要ルール削除／情報整理ルーチンのフローチャートである。これは、中継許可情報取消部１５３が行う処理である。
［Ｓ４１］未処理の受信メディア情報を１つ選択する。
［Ｓ４２］選択した受信メディアが登録済みが否かを判断する。登録済みであればステップＳ４３に進み、登録済みでなければステップＳ４６に進む。
［Ｓ４３］情報の配信時間外か否か、すなわちライフタイムまたは終了時刻より現在時刻が後であるか判定する。配信時間外であればステップＳ４４に進み、時間内であればステップＳ４６に進む。
［Ｓ４４］ルールを作成する。具体的には、内部表現からioctl のための構造体に設定しなおす。
［Ｓ４５］フィルタリング処理部１４０が有しているパケットフィルタルール情報内の、ステップＳ４４で作成したルールに該当するルールを削除する。具体的には、ioctl システムコールにより該当するルールをカーネル内より削除する。
［Ｓ４６］未処理の受信メディアがあるか否かを判断し、未処理の受信メディアがあればステップＳ４１に進み、なければ処理を終了する。
【００３２】
以上のようにして、パケットフィルタルールを設定することで、情報の配信が予定されているパケットのみが、ゲートウェイ装置で中継される。
ここで、実際の動作のためには、以下のような初期パケットフィルタルール情報を設定しておく。
【００３３】
図１０は、初期パケットフィルタルール情報の例を示す図である。この初期パケットフィルタルール情報５０では、１行目のルールにより、マルチキャストアドレス領域（「224.0.0.0 」〜「239.255.255.255 」）を基本的にブロックしている。その上で、３行目のルールによりＳＤＰの情報が流れるポート（ＵＤＰ(User Datagram Protocol)の9875番のポート）のパケットを通するようにしている。
【００３４】
この状態の時に、図５に示したようなＳＡＰ情報が来た場合には、図１０に加えて、以下のようなルールが追加される。
図１１は、追加登録されるパケットフィルタルールを示す図である。この例で追加されるルール５１の１行目は、トランスポート層のプロトコルがＵＤＰであり、宛先アドレスが「239.133.82.90 」であり、ポート番号が「20593 」より大きく「20596 」より小さいパケットを通すように指定している。また、２行目では、トランスポート層のプロトコルがＵＤＰであり、宛先アドレスが「239.133.109.125 」であり、ポート番号が「49231 」より大きく「49234 」より小さいパケットを通すように指定している。ここで、ポートの指定が単一でなく範囲の指定になっているのは、実際には復路の情報としてＲＴＣＰ(Realtime Transport Control Protocol) のためのポートが必要となるからである。このルールは開始時刻を過ぎると登録され、終了時刻が過ぎると削除される。また、ＳＡＰ情報が来なくなって一定時間( ライフタイム) 経っても削除される。
【００３５】
以上説明したように、パケットフィルタルール情報の内容が逐次更新されることにより、マルチキャストパケットが配信される間だけ、その配信に使われるアドレス／ポートの組のパケットのみ中継されるようになる。その結果、従来のファイアウォールでは越えさせられなかった、あるいは、不安全を承知で越えさせるしかなかったマルチキャストパケットの中の必要なパケットのみを、他のアプリケーションやサーバに影響を与えずに通過させることができるようになる。
【００３６】
このことにより、ファイアウォールの内側のマルチキャストクライアントの安全を保ちながらインターネットと同様の情報流通ができるようになる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ゲートウェイ装置が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述しておく。そして、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場に流通させる場合には、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory) やフロッピーディスク等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
【００３７】
【発明の効果】
以上説明したように本発明のゲートウェイ装置では、マルチキャストパケットが配信される間だけそのマルチキャストパケットの中継を可能としたため、必要なマルチキャストパケットのみを他のアプリケーションやサーバに影響を与えないように通過させることができるようになった。その結果、第２のネットワークに接続された装置の安全性を確保しながら、第１のネットワークで配信されるマルチキャストパケットを第２のネットワーク上の装置が取得できる。
【００３８】
また、本発明のマルチキャストパケット中継プログラムを記録したコンピュータ読み取り可能な記録媒体では、記録されたマルチキャストパケット中継プログラムをコンピュータに実行させることにより、マルチキャストパケットが配信される間だけそのマルチキャストパケットの中継を可能とするような処理をコンピュータに行わせることができる。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】本発明を適用するネットワークの概念図である。
【図３】ゲートウェイ装置の内部構成を示す図である。
【図４】マルチキャストパケットの中継処理手順を示すフローチャートである。
【図５】ＳＡＰ情報の例を示す図である。
【図６】受信メディア情報の内部表現構造体の例を示す図である。
【図７】ＳＤＰ情報読み込み／解析処理のフローチャートである。
【図８】通過ルール追加処理ルーチンのフローチャートである。
【図９】不要ルール削除／情報整理ルーチンのフローチャートである。
【図１０】初期パケットフィルタルール情報の例を示す図である。
【図１１】追加登録されるパケットフィルタルールを示す図である。
【符号の説明】
１  ゲートウェイ装置
１ａ  受信手段
１ｂ  送信手段
１ｃ  フィルタリング手段
１ｃａ  パケットフィルタルール情報
１ｄ  情報解析手段
１ｅ  中継許可情報登録手段
１ｆ  中継許可情報取消手段
１ｇ  受信メディア情報
２  第１のネットワーク
２ａ  配信予定情報
２ｂ  マルチキャストパケット
３  第２のネットワーク
【図１】
0003656418.tif 000002
【図２】
0003656418.tif 000003
【図３】
0003656418.tif 000004
【図４】
0003656418.tif 000005
【図５】
0003656418.tif 000006
【図６】
0003656418.tif 000007
【図７】
0003656418.tif 000008
【図８】
0003656418.tif 000009
【図９】
0003656418.tif 000010
【図１０】
0003656418.tif 000011
【図１１】
0003656418.tif 000012