(57)【要約】【課題】不要なＩＰマルチキャストパケットでネットワークインターフェース装置の受信バッファメモリを溢れさせることなく、必要なＩＰパケットを喪失せずに受信する。【解決手段】ＬＡＮインターフェースカード装置１０は、受信するＩＰマルチキャストパケットを特定するための受信条件を格納した受信条件メモリ２と、到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットであるか否かを受信条件に基づいて判断する一致判定回路３と、到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットであると一致判定回路３により判断されたとき、そのＩＰマルチキャストパケットを通過させる一方、到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットではないと一致判定回路３により判断されたとき、そのＩＰマルチキャストパケットを廃棄する選択通過回路４とを備える。【選択図】図２
2008067149.tif 000002
【特許請求の範囲】
【請求項１】
受信するＩＰマルチキャストパケットを特定するための受信条件を格納した受信条件記憶手段と、
ＩＰマルチキャストパケットが到来したとき、上記受信条件に基づいて、上記到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットであるか否かを判断する一致判定手段と、
上記到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットであると上記一致判定手段により判断されたとき、上記到来したＩＰマルチキャストパケットを通過させる一方、上記到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットではないと上記一致判定手段により判断されたとき、上記到来したＩＰマルチキャストパケットを廃棄する選択通過手段とを備えたことを特徴とするネットワークインターフェース装置。
【請求項２】
上記受信条件は、ＩＰマルチキャストパケットの宛先ＩＰアドレス及び宛先ＵＤＰポート番号の少なくとも一方を含むことを特徴とする請求項１記載のネットワークインターフェース装置。
【請求項３】
上記受信条件記憶手段は、ＵＰｎＰパケットを含む、複数の種類のＩＰマルチキャストパケットを特定するための受信条件を格納したことを特徴とする請求項１又は２記載のネットワークインターフェース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の通信プロトコルに従ってデータを送受信するＬＡＮインターフェースカード装置（又はＬＡＮコントローラ）等のネットワークインターフェース装置に関し、特に、ネットワークインターフェース装置のＩＰマルチキャストパケット受信機能に関する。
【背景技術】
【０００２】
現在、テレビジョン放送等のオーディオ／ビジュアル（ＡＶ）データをＩＰマルチキャストパケットにのせてインターネット等のネットワークを用いて家庭に配信するＩＰ放送などの通信方法が検討されている。
【０００３】
図１０は、ＩＰマルチキャスト配信を行うＩＰネットワークの構成を示す図である。図１０に例示したＩＰネットワークは、マルチキャスト送信装置２０と、複数のルータ２１乃至２８と、複数の受信側端末装置３０乃至３４とを含み、マルチキャスト送信装置２０とルータ２５乃至２８とは、ルータ２１乃至２４を含むインターネット１００を介して接続され、また、ルータ２７と受信側端末装置３０乃至３２との間の経路はＬＡＮ１０１を構成し、ルータ２５と受信側端末装置３４との間の経路はＬＡＮ１０２を構成し、ルータ２８と受信側端末装置３３との間の経路はＬＡＮ１０３を構成する。ＩＰマルチキャスト通信は、図１０に示すＩＰネットワークを参照すると、データをマルチキャスト送信装置２０から特定の端末群（グループ）を構成する受信側端末装置３０乃至３４に同報するための技術であり、これはＲＦＣ１１１２において定義されている。マルチキャスト送信装置２０は、例えば、ＩＰ放送を行う通信事業者の設備として設けられてもよい。データをマルチキャストで同報するためには、「２２４．０．０．０」〜「２３９．２５５．２５５．２５５」の範囲のＩＰマルチキャストアドレスが割り当てられている。図１０において、マルチキャスト送信装置２０は、上記範囲内に属する特定のＩＰマルチキャストアドレスを宛先ＩＰアドレスとして有するパケットを用いて、複数のルータ２１乃至２８を含むネットワークに向けてデータを同報している。受信側端末装置３０乃至３４では、その特定のＩＰマルチキャストアドレスに基づいて、同報されるデータを待機する。詳しくは、最初にマルチキャスト送信装置２０はルータ２１に向けてＩＰマルチキャストパケットを送信し、次いで、ルータ２１は、マルチキャスト送信装置２０に接続された経路からＩＰマルチキャストパケットを受信すると、同報を受ける受信側端末装置３０乃至３４への経路に向けて、受信されたＩＰマルチキャストパケットと同じパケットを送り出す。ルータ２２乃至２８においても、ＩＰマルチキャストパケットを受信すると、ルータ２１と同様に、受信されたＩＰマルチキャストパケットと同じパケットを受信側端末装置３０乃至３４への経路に向けて送り出す。そして、ＩＰマルチキャストパケットは最終的に特定の受信側端末装置３０乃至３４へと伝送される。
【０００４】
図１１は、ＩＰマルチキャスト配信を行う例示的なホームネットワークの構成を示す図である。図１１では、図１０のルータ２７に接続されたＬＡＮ１０１の構成を、より具体的にホームネットワークとして例示したものである。ＬＡＮ１０１は、ルータ２７に接続されたレイヤ２（Ｌ２）スイッチ２７ａと、Ｌ２スイッチ２７ａにそれぞれ接続された複数の受信側端末装置として、ディジタルテレビジョン装置（ＤＴＶ装置）４０，４１、ディジタルビデオレコーダ（ＤＶＲ装置）４２等の録画装置、オーディオ装置４３，４４及びパーソナルコンピュータ（ＰＣ）４５，４６とを備えて構成される。ルータ２７は、インターネット１００を介して、宅外の１つ又は複数のマルチキャスト送信装置２０に接続される。また、宅内等に設けられるホームネットワークでは、イーサネット（登録商標）と呼ばれるＩＥＥＥ８０２．３で規定されるＬＡＮが広く利用されており、ＩＰパケットの伝送手段としてよく利用される。Ｌ２スイッチ２７ａは、ＩＥＥＥ８０２．３のＭＡＣアドレスを用いてパケットを中継する。
【０００５】
図１１において、例えば、ＤＴＶ装置４０がＩＰマルチキャストパケットＡの受信をルータ２７に要求し、ＤＴＶ装置４１がＩＰマルチキャストパケットＢの受信をルータ２７に要求し、ＰＣ４５がＩＰマルチキャストパケットＣの受信をルータ２７に要求している場合、ルータ２７は、ＩＰマルチキャストパケットＡ，Ｂ，ＣをＬ２スイッチ２７ａに転送する。Ｌ２スイッチ２７ａは、ＩＥＥＥ８０２．３のＭＡＣアドレスがマルチキャスト又はブロードキャストであるパケットをルータ２７から受信した場合、当該Ｌ２スイッチ２７ａに接続されたすべての端末装置に向けて同じパケットを転送する。また、Ｌ２スイッチ２７ａはＩＰレイヤの下位レイヤにおいて動作し、ＩＰレイヤの処理については関知しないので、ＩＰマルチキャストパケットＡ，Ｂ，Ｃを、すべての受信側端末装置４０乃至４６に転送する。このため、各受信側端末装置４０乃至４６は、ＩＰマルチキャストパケットの受信を要求しているか否かにかかわらず、ＩＰマルチキャストパケットＡ，Ｂ，Ｃのすべてを受信することなる。
【０００６】
また、ホームネットワーク内でユニバーサルプラグアンドプレイ（ＵＰｎＰ）を用いて機器のサービス検出等の機能を実現しようとする場合、図１０の各受信側端末装置３０乃至３４又は図１１の受信側端末装置４０乃至４６は、ＩＰマルチキャストパケットであるＵＰｎＰパケットを受信する必要がある。
【０００７】
図１２は、従来技術に係る第１のＬＡＮインターフェースカード装置３１０の構成を示すブロック図である。このＬＡＮインターフェースカード装置３１０は、図１０の各受信側端末装置３０乃至３４又は図１１の受信側端末装置４０乃至４６にそれぞれ設けられる。ＬＡＮインターフェースカード装置３１０は、ＬＡＮ１０１に接続されＬＡＮ１０１からのパケットを受信するＩＥＥＥ８０３．３のＭＡＣ及びＰＨＹのインターフェース回路３０１と、インターフェース回路３０１で受信されたパケットを格納する受信バッファメモリ３０２とを備えて構成される。受信バッファメモリ３０２に格納されたパケットは、受信側端末装置のＣＰＵバス３１１を介して受信側端末装置の他の構成要素（図１２ではＣＰＵ３１２及びメモリ３１３のみを図示する。）に送られて、さらに処理される。従来技術に係るＬＡＮインターフェースカード装置３１０は、ＩＥＥＥ８０２．３のＭＡＣマルチキャストパケットをすべて受信するか、又はすべて受信しないかのいずれかに設定されて使用される。また、ネットワークに接続された機器の中には、ＰＣのようにＣＰＵ性能が高くかつネットワーク伝送性能も高いものから、オーディオ装置のようにＣＰＵ性能が中程度でありまた高いネットワーク伝送性能を要求しないものまで、さまざまな処理能力を有するものが存在する。図８を参照すると、受信側端末装置のＣＰＵ３１２及びメモリ３１３上で動作中のアプリケーションによりＩＰマルチキャストパケットの受信が要求されている場合において、ＬＡＮ１０１から受信側端末装置のＬＡＮインターフェースカード装置３１０に到来したＩＰマルチキャストパケットは、インターフェース回路３０１を介して受信バッファメモリ３０２に格納され、次いで、ＬＡＮインターフェースカード装置３１０は、このパケット受信についてＣＰＵ３１２に通知する。その後、ＣＰＵ３１２は、受信されたパケットを受信バッファメモリ３０２から読み出してメモリ３１３に転送し、メモリ３１３においてパケットのＩＰヘッダ及びＵＤＰヘッダを走査し、チェックサム等のチェックを行ったのち、宛先ＩＰアドレス及び宛先ＵＤＰポート番号が上記アプリケーションより予め指示されたものか否かを判定する。ＣＰＵ３１２は、受信されたパケットの宛先ＩＰアドレス及び宛先ＵＤＰポート番号が指示されたものと同じであれば、パケットからペイロードデータを抽出し、抽出されたデータに対してアプリケーションに係る処理を実行するが、同じでなければ、受信されたパケットは廃棄されることとなる。
【０００８】
このように、受信を所望するＩＰマルチキャストパケットとは異なるＩＰマルチキャストパケットが受信側端末装置に到来した場合、受信側端末装置は、そのＣＰＵ３１２の処理によって、到来した不要なＩＰマルチキャストパケットを廃棄する。また、一般に受信処理は優先的に実行されるので、高画質のＡＶデータを含むＩＰ放送等の高スループットを要求するＩＰマルチキャストパケットを受信しようとする場合、受信すべきパケット数が多くなり、受信処理のためのＣＰＵ負荷ばかりが大きくなる。このため、例えば、ＵＰｎＰパケットは受信するがＩＰ放送等のＩＰマルチキャストパケットを受信することは本来不要であるオーディオ装置は、そのＣＰＵの処理能力が低いので、不要なＩＰマルチキャストパケットがオーディオ装置に到来する場合、その不要なＩＰマルチキャストパケットの廃棄処理のために処理リソースが占有されてしまい、オーディオ装置のＣＰＵによるＬＡＮインターフェースカード装置の受信バッファメモリからの受信パケットの読み出しは遅延する。その結果、受信バッファメモリは不要なＩＰマルチキャストパケットによって埋め尽くされ、必要なＩＰユニキャストパケットが受信バッファメモリに格納されずに廃棄されて受信できなくなる。このように、受信バッファメモリが不要なＩＰマルチキャストパケットで溢れ、ＩＰマルチキャストパケット以外の必要なＩＰユニキャストパケットが受信バッファメモリに格納されずに廃棄されてしまうことで、再送要求の処理が発生し、ネットワーク処理のＣＰＵ負荷をさらに高くしてしまう。また、必要なデータが廃棄されることによりアプリケーション処理を実行することが不可能になることなどに起因して、ＤＴＶ装置、ＤＶＲ装置及びオーディオ装置などのネットワーク家電機器やＰＣでは、ネットワーク経由での機器操作に対する反応やリモートコントローラ等による操作に対する反応が極端に遅くなったり、操作自体が効かなくなったり、最悪の場合、機器が停止したりする可能性がある。このような状況下では、利用者の利便性は大きく損なわれる。
【０００９】
特許文献１によれば、マルチキャストパケットによってバッファが埋め尽くされることなく、ユニキャストパケットの転送処理を確実に行うことができるパケット転送装置が提供されている。特許文献１のパケット転送装置は、パケットの種別がユニキャストパケット及びマルチキャストパケットのいずれであるかを識別する識別手段と、パケットを一時的に保持する出力バッファがマルチキャストパケットについての輻輳状態にあるか否かの検出を行って検出結果を生成する輻輳検出手段と、検出結果がマルチキャストパケットについての輻輳状態を示すときには識別手段により識別された出力バッファに入力されるマルチキャストパケットを廃棄する廃棄手段とを備えたことを特徴とする。輻輳検出手段は、出力バッファ内のマルチキャストパケットの数と予め定められた閾値とを比較して、出力バッファがマルチキャストパケットについての輻輳状態にあることを検出し、これにより、特許文献１のパケット転送装置は、ＩＰマルチキャストパケットのみを廃棄し、ＩＰユニキャストパケットは、そのままバッファメモリに格納することで、ＩＰユニキャストパケットの廃棄を防ぐことができる。
【００１０】
図１３は、従来技術に係る第２のＬＡＮインターフェースカード装置３１０ａの構成を示すブロック図である。図１３では、図１２に示したＬＡＮインターフェースカード装置３１０と対比するために特許文献１のパケット転送装置を概略的に示し、ここで、図１２のＬＡＮインターフェースカード装置３１０の構成要素と同様の機能を有する構成要素には同一の符号を付与している。このＬＡＮインターフェースカード装置３１０ａもまた、図１０の各受信側端末装置３０乃至３４又は図１１の受信側端末装置４０乃至４６にそれぞれ設けられることが可能である。図１３において、ＬＡＮ１０１から到来したＩＰマルチキャストパケットは、インターフェース回路３０１を介してマルチキャスト識別回路３０３（識別手段）に送られる。マルチキャスト識別回路３０３は、受信したパケットがＩＰユニキャストパケットであれば、そのまま受信バッファメモリ３０２に格納する。一方、受信したパケットがＩＰマルチキャストパケットであるならば、マルチキャスト識別回路３０３は輻輳検出回路３０４（輻輳検出手段）に指示して、受信バッファメモリ３０２に格納されたＩＰマルチキャストパケットのパケット数が所定のしきい値を超えているか否かを判定させる。もし、ＩＰマルチキャストパケットのパケット数がしきい値を超えているならば、輻輳検出回路３０４は輻輳状態にあると判断して、判断結果をパケット廃棄回路３０５（廃棄手段）に通知し、パケット廃棄回路３０５は、受信されて受信バッファメモリ３０２に格納されているＩＰマルチキャストパケットを廃棄する。一方、ＩＰマルチキャストパケットのパケット数がしきい値を超えていないならば、そのままバッファメモリに格納される。
【００１１】
【特許文献１】特開２００５−７２８１４号公報。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、受信側端末装置のＬＡＮインターフェースカード装置３１０ａにおいて、受信バッファメモリ３０２内におけるＩＰマルチキャストパケットの輻輳状態を検出して、その検出結果に従ってパケットを廃棄すると、ＵＰｎＰパケットのような必要なＩＰマルチキャストパケットを廃棄してしまう可能性があるという問題点があった。
【００１３】
本発明の目的は、以上の問題点を解決するために、不要なＩＰマルチキャストパケットで受信バッファメモリを溢れさせることなく、かつ必要なＩＰパケットを喪失することなく、受信すべきＩＰマルチキャストパケットを受信することが可能な、ＬＡＮインターフェースカード装置等のネットワークインターフェース装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明のネットワークインターフェース装置は、上記課題を解決するために、
受信するＩＰマルチキャストパケットを特定するための受信条件を格納した受信条件記憶手段と、
ＩＰマルチキャストパケットが到来したとき、上記受信条件に基づいて、上記到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットであるか否かを判断する一致判定手段と、
上記到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットであると上記一致判定手段により判断されたとき、上記到来したＩＰマルチキャストパケットを通過させる一方、上記到来したＩＰマルチキャストパケットが受信すべきＩＰマルチキャストパケットではないと上記一致判定手段により判断されたとき、上記到来したＩＰマルチキャストパケットを廃棄する選択通過手段とを備えたことを特徴とする。
【００１５】
上記ネットワークインターフェース装置において、上記受信条件は、ＩＰマルチキャストパケットの宛先ＩＰアドレス及び宛先ＵＤＰポート番号の少なくとも一方を含むことを特徴とする。
【００１６】
上記ネットワークインターフェース装置において、上記受信条件記憶手段は、ＵＰｎＰパケットを含む、複数の種類のＩＰマルチキャストパケットを特定するための受信条件を格納したことを特徴とする。
【発明の効果】
【００１７】
本発明のネットワークインターフェース装置によれば、受信側端末装置のＣＰＵにより設定された受信すべきＩＰマルチキャストパケットのみを選択的に受信することにより、不要なＩＰマルチキャストパケットの受信処理を実行することがないのでＣＰＵの負荷を低減でき、また、不要なＩＰマルチキャストパケットで受信バッファメモリが溢れることがなく、受信バッファメモリには必要なパケットのみが喪失されることなく受信される。
【発明を実施するための最良の形態】
【００１８】
以下に、本発明の実施形態について、図面を参照しながら説明する。なお、図面の全体にわたり、同様の機能を有する構成要素には同一の符号を付与し、その繰り返しの説明は省略する。
【００１９】
図１は、本発明の実施形態に係るＩＰマルチキャスト通信を実行するネットワークの概略構成を示すブロック図であり、図２は、図１の受信側端末装置３０に設けられるＬＡＮインターフェースカード装置１０の構成を示すブロック図である。図１に示す本実施形態のネットワークは、図１０のネットワークと同様に複数のルータ及び複数の受信側端末装置を含んで構成されるが、図１では、その一部のみを示すものである。また、図１では１つのマルチキャスト送信装置２０が１つのＩＰマルチキャストのみに関してマルチキャストパケットを送信するが、１つ又は複数のマルチキャスト送信装置が、複数のＩＰマルチキャストに関してそれぞれＩＰマルチキャストパケットを送信してもよい。
【００２０】
以下、図２を参照して、ＬＡＮインターフェースカード装置１０の受信動作について説明する。図２において、受信側端末装置３０に設けられるＬＡＮインターフェースカード装置１０は、受信側端末装置３０のＣＰＵバス１１を介して、受信側端末装置３０のＣＰＵ１２及びメモリ１３に接続されている。ＣＰＵ１２は、ユーザ（又はアプリケーション）が受信を所望するＡＶデータを含むＩＰ放送等のＩＰマルチキャストパケットの宛先ＩＰアドレス及び宛先ＵＤＰポート番号についての情報を、ＬＡＮインターフェースカード装置１０の受信条件メモリ２に格納される受信条件テーブルに設定する。
【００２１】
図３は、図２の受信条件メモリ２に格納される受信条件テーブルの設定内容を示す図である。受信条件テーブルは、受信側端末装置３０が受信すべきＩＰマルチキャストパケットを特定するための受信条件を格納する。ユーザが受信を所望し、ＣＰＵ１２によって受信条件テーブルに設定されるＩＰマルチキャストパケットについての情報は、ＩＰマルチキャストパケット２０３，２０３ａ，２０３ｂ，…のための受信条件としてそれぞれ設定される。これらの受信条件は、受信を所望するＩＰマルチキャストパケットの宛先ＩＰアドレスＡ１，Ａ２，Ａ３，…と、宛先ＵＤＰポート番号Ｐ１，Ｐ２，Ｐ３，…とをそれぞれ含む。図３では、受信を所望するものとして３種類のＩＰマルチキャストパケットを例示したが、必要に応じて任意数の種類のＩＰマルチキャストパケットに係る宛先ＩＰアドレス及び宛先ＵＤＰポート番号を設定することができる。受信条件メモリ２には、ユーザが受信を所望するＩＰマルチキャストパケットの情報が設定されることに加えて、さらに、ＵＰｎＰパケット２０４の宛先ＩＰアドレス及び宛先ＵＤＰポート番号についての情報と、ＩＧＭＰ（Internet Group Management Protocol）のプロトコルにより定義されたＩＧＭＰクエリパケット２０１の宛先ＩＰアドレスについての情報とがＣＰＵ１２により予め設定されている。ＵＰｎＰパケット２０４の宛先ＩＰアドレスは、マルチキャストアドレスとして割り当てられている「２３９．２５５．２５５．２５０」であり、その宛先ＵＤＰポート番号は「１９００」である。ＩＧＭＰクエリパケット２０１の宛先ＩＰアドレスは、マルチキャストアドレスとして割り当てられている「２２４．０．０．１」であり、その宛先ＵＤＰポート番号は未設定である。
【００２２】
再び図２を参照すると、ＬＡＮ１０１から受信側端末装置３０に到来するパケットは、最初に、ＬＡＮインターフェースカード装置１０において、ＩＥＥＥ８０３．３のＭＡＣ及びＰＨＹのインターフェース回路１に入力される。インターフェース回路１はレイヤ２のＭＡＣ層で動作する。インターフェース回路１は、入力されたパケットを一致判定回路３及び選択通過回路４に送る。一致判定回路３は、受信条件メモリ２に設定された受信条件に基づいて、図９を参照して後述する一致判定処理を実行し、到来したパケットが受信すべきパケットであるか否かを判断する。選択通過回路４は、一致判定回路３による判断結果に従って、到来したパケットを受信バッファメモリ５に選択的に通過させる。すなわち、選択通過回路４は、判断結果に従って、到来したパケットを受信バッファメモリ５に格納するか、又は受信バッファメモリ５に送らずに廃棄する。その後、ＣＰＵ１２は、受信バッファメモリ５に格納されたパケットを処理する。
【００２３】
次に、図１を参照して、ＩＧＭＰプロトコルにより受信側端末装置３０がＩＰマルチキャストパケットを受信する動作について説明する。受信側端末装置にて、特定のＩＰマルチキャストパケットを受信するには、ＲＦＣ１１１２及びＲＦＣ２２３６で定義されているＩＧＭＰ（Internet Group Management Protocol）のプロトコルが利用される。図１において、最初は、ルータ２７の下流にＩＰマルチキャストパケットがまだ流れていない状態にあり、ルータ２７は、当該ルータ２７に接続された各受信側端末装置（図１では受信側端末装置３０）がＩＰマルチキャストパケットの受信を所望しているか否かを問い合わせるために、当該ルータ２７に接続されているすべての受信側端末装置に対して、図４に示すＩＧＭＰクエリパケット２０１を定期的（例えば、１２５秒毎）に送信する。ＩＧＭＰクエリパケット２０１は、同一のＩＰマルチキャストパケットを受信する所定のマルチキャストグループへの参加呼びかけとして、ルータ２７から各受信側端末装置に送信されることが可能である。ＩＧＭＰクエリパケット２０１は、また、受信可能なＩＰマルチキャストパケットのグループアドレスを各受信側端末装置に通知してもよい。なお、図１において、受信側端末装置３０以外に他の受信側端末装置が存在してもよいが、説明を簡略化するために図示を省略する。ＩＧＭＰクエリパケット２０１を受信した各受信側端末装置のＣＰＵ１２は、受信を所望するＩＰマルチキャストパケットの宛先ＩＰアドレスをＩＧＭＰレポートパケット２０２に付加し、このＩＧＭＰレポートパケット２０２をインターフェース回路１を介してルータ２７に各々返信する。ルータ２７は、各受信側端末装置から受信したＩＧＭＰレポートパケット２０２に基づいて、当該ルータ２７に接続された上流のルータ及びマルチキャスト送信装置２０等にそのＩＰマルチキャストパケットの転送を要求し、要求したＩＰマルチキャストパケットがマルチキャスト送信装置２０から転送されてくると、ルータ２７は、転送された当該ＩＰマルチキャストパケットを、ＬＡＮ１０１を介して下流の受信側端末装置に転送する。このように、ルータ等にて中継されるＩＰマルチキャストパケットを受信するために、ＩＧＭＰクエリパケット２０１及びＩＧＭＰレポートパケット２０２が使用される。
【００２４】
図４は、図１のＩＧＭＰクエリパケット２０１のフォーマットを示す図であり、図５は、図１のＩＧＭＰレポートパケット２０２のフォーマットを示す図である。ＩＧＭＰクエリパケット２０１及びＩＧＭＰレポートパケット２０２はそれぞれ、ＩＰヘッダとＩＧＭＰフィールドとを備えて構成される。これらの各パケットのＩＰヘッダにおいて、プロトコルタイプはＩＧＭＰを示す「２」となる。ＩＧＭＰクエリパケット２０１のＩＰヘッダにおいて、送信元ＩＰアドレスはルータ２７のＩＰアドレス（例えば「１９２．１６８．０．１」）であり、宛先ＩＰアドレスは前述のように「２２４．０．０．１」である。ＩＧＭＰクエリパケット２０１のＩＧＭＰフィールドにおいて、タイプは「０ｘ１１」であり、グループアドレスは「０．０．０．０」となる。また、ＩＧＭＰレポートパケット２０２のＩＰヘッダにおいて、送信元ＩＰアドレスは受信側端末装置３０のＩＰアドレス（例えば「１９２．１６８．０．２」）であり、宛先ＩＰアドレスはルータ２７のＩＰアドレス（例えば「１９２．１６８．０．１」）である。ＩＧＭＰレポートパケット２０２のＩＧＭＰフィールドにおいて、タイプは「０ｘ１６」であり、グループアドレスは、受信を所望するＩＰマルチキャストパケットのＩＰアドレス（例えば「２３２．０．０．１」となる。
【００２５】
図６は、図１のＩＰマルチキャストパケット２０３のフォーマットを示す図である。図６において、ＩＰマルチキャストパケットは、ＩＰヘッダとＵＤＰヘッダとＵＤＰペイロードとを備えて構成され、ＩＰヘッダはＲＦＣ７９１において定義され、ＵＤＰヘッダはＲＦＣ７６９において定義されている。ＩＰマルチキャストパケットでは、宛先ＩＰアドレスは前述のように「２２４．０．０．０」〜「２３９．２５５．２５５．２５５」の範囲で使用され、例えば、ＩＧＭＰレポートパケット２０２のグループアドレスにおいて特定された「２３２．０．０．１」等に設定される。ＩＰヘッダにおいて、送信元ＩＰアドレスはマルチキャスト送信装置２０のＩＰアドレスであり、プロトコルタイプはＵＤＰを示す「６」である。また、ＵＤＰヘッダにおいて、送信元ポート番号及び宛先ポート番号として、それぞれ特定のポート番号が使用される。
【００２６】
図７は、ＩＰマルチキャスト通信を実行するときに使用されるＭＡＣアドレスのフォーマットを示す図である。図７において、「ｘ」及び「ｚ」はパケット毎に任意に設定されるビットを示す。図１に示すＩＧＭＰクエリパケット２０１、ＩＧＭＰレポートパケット２０２及びＩＰマルチキャストパケット２０３や、ＵＰｎＰパケット２０４等のＩＰマルチキャストパケットをイーサネット（登録商標）等のＬＡＮ１０１で使用する場合、ＩＰマルチキャストアドレスは、ＩＥＥＥ８０２．３のＭＡＣアドレスにマッピングされる。図７に示す通り、ＭＡＣアドレスは６オクテット（バイト）あり、その先頭のバイトの値が「０ｘ０１」（すなわち、先頭のバイトの最下位ビットが「１」）である場合、マルチキャスト又はブロードキャストされるパケットのアドレスとして扱われる。さらに、２番目と３番目のバイトの値を「０ｘ００」及び「０ｘ５Ｅ」とした場合、ＩＰマルチキャストのためのＭＡＣアドレス（ＭＡＣマルチキャストアドレス）となる。ＩＰマルチキャストパケットのためのＭＡＣアドレスは、当該ＭＡＣアドレスを構成する６バイトのうちで、先頭の３バイトを「０ｘ０１」、「０ｘ００」及び「０ｘ５Ｅ」に設定し、４番目のバイトの先頭ビットを「０」に設定し、これらの部分を除く下位２３ビットにＩＰマルチキャストアドレスの下位２３ビットをマッピングすることによって構成される。
【００２７】
図８は、ＵＰｎＰパケット２０４のフォーマットを示す図である。図１のネットワークでは、受信側端末装置３０において受信を所望するＩＰマルチキャストパケットや、ＩＧＭＰクエリパケット２０１及びＩＧＭＰレポートパケット２０２に加えて、ＵＰｎＰパケットが送受信される可能性がある。ユニバーサルプラグアンドプレイ（ＵＰｎＰ）規格では、図７に示す宛先ＩＰアドレスが「２３９．２５５．２５５．２５０」に設定され、宛先ＵＤＰポート番号が「１９００」に設定されたＩＰマルチキャストパケットが、ネットワークに接続された機器のサービスの検出及び制御等に利用されている。
【００２８】
図９は、図２の一致判定回路３によって実行される一致判定処理を示すフローチャートである。ステップＳ１において、一致判定回路３は、到来したパケットがＩＰマルチキャスト以外のパケット（例えばＩＰユニキャストパケット又は非ＩＰパケット）であるか否かを判断し、ＹＥＳのときはステップＳ４に進み、ＮＯのときはさらなる判断のためにステップＳ２に進む。ステップＳ２において、一致判定回路３は、到来したＩＰマルチキャストパケットの宛先ＩＰアドレスが受信条件メモリ２の受信条件テーブルに設定されているか否かを判断し、ＹＥＳのときはステップＳ３に進み、ＮＯのときはステップＳ５に進む。ステップＳ３において、一致判定回路３は、到来したＩＰマルチキャストパケットの宛先ＵＤＰポート番号が、受信条件メモリ２の受信条件テーブルに設定された宛先ＵＤＰポート番号であって、ステップＳ２で発見された宛先ＩＰアドレスに対応する宛先ＵＤＰポート番号に一致するか否かを判断し、ＹＥＳのときはステップＳ４に進み、ＮＯのときはステップＳ５に進む。ステップＳ４において、一致判定回路３は、到来したパケットを受信バッファメモリ５に通過させるように、選択通過回路４に指示する。ステップＳ５において、一致判定回路３は、到来したパケットを廃棄するように選択通過回路４に指示する。
【００２９】
以下、いくつかの特定の場合について、一致判定処理を詳細に説明する。
【００３０】
まず、第１の場合として、受信側端末装置３０に到来したパケットがＩＰマルチキャスト以外のパケット（例えば非ＩＰパケット又はＩＰユニキャストパケット等）である場合について説明する。ステップＳ１では、前述のように、一致判定回路３は、到来したパケットがＩＰマルチキャスト以外のパケットであるか否かを判断するが、以下の通りに判断処理を実行する。
【００３１】
（１）到来したパケットのＩＰヘッダのバージョンフィールドに基づいて、そのパケットがＩＰパケットであるか否かを判断する。ＩＰパケットであるならばバージョンフィールドの値は「４」であり、そうでなければ「４」以外の値となる。
（２）ＩＰマルチキャストパケットであるか否かについては、宛先ＩＰアドレスの先頭の４ビット（すなわち、ビット３１〜２８）が二進表示で「１１１０」であるか否かに基づいて判断することができる。
【００３２】
つまり、ＩＰヘッダのバージョンフィールドの値が「４」であり、かつ、宛先ＩＰアドレスの先頭の４ビット（ビット３１〜２８）が二進表示で「１１１０」であるなら、到来したパケットはＩＰマルチキャストパケットであり、これら２つの条件のうちの少なくとも一方が満たされない場合には、到来したパケットはＩＰマルチキャスト以外のパケットとなる。従って、第１の場合では、到来したパケットは非ＩＰパケットであるか、ＩＰユニキャストパケット等のＩＰマルチキャスト以外のパケットであるので、ステップＳ１はＹＥＳであってステップＳ４に進み、一致判定回路３は、選択通過回路４にその判断結果（すなわち通過許可）を通知する。通知を受けた選択通過回路４は、到来したパケットを受信バッファメモリ５に通過させ、受信バッファメモリ５には受信パケットが格納される。
【００３３】
次に、第２の場合として、到来したパケットがＩＧＭＰクエリパケット２０１である場合について説明する。このとき、ＩＧＭＰクエリパケット２０１はＩＰマルチキャストパケットの条件を満たすのでステップＳ１はＮＯになり、処理はステップＳ２に進む。ステップＳ２では、到来したパケットの宛先ＩＰアドレスと、受信条件メモリ２の受信条件テーブルに設定されているすべての宛先ＩＰアドレスとを比較し、到来したパケットの宛先ＩＰアドレスに一致する宛先ＩＰアドレスが受信条件テーブル内に設定されているか否かを判断する。もし、受信条件メモリ２の受信条件テーブルが空である場合、あるいは到来したパケットの宛先ＩＰアドレスが受信条件テーブルに設定されたどの宛先ＩＰアドレスとも一致しない場合には、ステップＳ２はＮＯであってステップＳ５に進み、一致判定回路３は、到来したパケットが当該受信側端末装置３０では不要であるとみなし、そのパケットを廃棄するように選択通過回路４に指示する。もし、到来したパケットの宛先ＩＰアドレスが受信条件テーブルに設定されたいずれかの宛先ＩＰアドレスと一致したならば、一致した宛先ＩＰアドレスの条件番号（図３を参照）を記憶しておき、ステップＳ３に進む。ステップＳ３では、一致判定回路３は、到来したパケットの宛先ＵＤＰポート番号が、受信条件メモリ２の受信条件テーブルに設定され、ステップＳ２で記憶した条件番号に係る宛先ＵＤＰポート番号に一致するか否かを判断する。ＩＧＭＰクエリパケット２０１の場合、受信条件メモリ２の受信条件テーブルにおいてＵＤＰポート番号は未設定であるので、ステップＳ３はＹＥＳであってステップＳ４に進み、一致判定回路３は、選択通過回路４にその判断結果（すなわち通過許可）を通知する。通知を受けた選択通過回路４は、到来したパケットを受信バッファメモリ５に通過させ、受信バッファメモリ５には受信パケットが格納される。
【００３４】
このように、到来したパケットがＩＧＭＰクエリパケット２０１である場合には、一致判定回路３は、受信条件テーブルに設定された宛先ＩＰアドレスのみを受信条件として用いることによって、到来したＩＧＭＰクエリパケット２０１を受信バッファメモリ５に通過させるように決定することができる。
【００３５】
さらに、第３の場合として、到来したパケットがＵＰｎＰパケットであるか、あるいは受信を所望するＩＰ放送等のＩＰマルチキャストパケットである場合について説明する。このとき、一致判定回路３は、受信条件メモリ２の受信条件テーブルに基づいて、到来したパケットの宛先ＩＰアドレス及び宛先ＵＤＰポート番号の両方が、受信条件テーブルに設定された条件に一致するか否かを判断する。この場合、ステップＳ１はＮＯであり、ステップＳ２に進む。ステップＳ２では、到来したパケットの宛先ＩＰアドレスと、受信条件メモリ２の受信条件テーブルに設定されているすべての宛先ＩＰアドレスとを比較し、到来したパケットの宛先ＩＰアドレスに一致する宛先ＩＰアドレスが受信条件テーブル内に設定されているか否かを判断する。もし、受信条件メモリ２の受信条件テーブルが空である場合、あるいは到来したパケットの宛先ＩＰアドレスが受信条件テーブルに設定されたどの宛先ＩＰアドレスとも一致しない場合には、ステップＳ２はＮＯであってステップＳ５に進み、一致判定回路３は、到来したパケットが当該受信側端末装置３０では不要であるとみなし、そのパケットを廃棄するように選択通過回路４に指示する。もし、到来したパケットの宛先ＩＰアドレスが受信条件テーブルに設定されたいずれかの宛先ＩＰアドレスと一致したならば、一致した宛先ＩＰアドレスの条件番号を記憶しておき、ステップＳ３に進む。ステップＳ３では、一致判定回路３は、到来したパケットの宛先ＵＤＰポート番号が、受信条件メモリ２の受信条件テーブルに設定され、ステップＳ２で記憶した条件番号に係る宛先ＵＤＰポート番号に一致するか否かを判断する。もし、到来したパケットの宛先ＵＤＰポート番号が、受信条件テーブル上の記憶した条件番号に係る宛先ＵＤＰポート番号に一致しなければ、ステップＳ３ではＮｏであってステップＳ５に進み、一致判定回路３は、到来したパケットが当該受信側端末装置３０では不要であるとみなし、そのパケットを廃棄するように選択通過回路４に指示する。もし、到来したパケットの宛先ＵＤＰポート番号が、受信条件テーブル上の記憶した条件番号に係る宛先ＵＤＰポート番号に一致したならば、ステップＳ３ではＹＥＳであってステップＳ４に進み、一致判定回路３は、選択通過回路４にその判断結果（すなわち通過許可）を通知する。通知を受けた選択通過回路４は、到来したパケットを受信バッファメモリ５に通過させ、受信バッファメモリ５には受信パケットが格納される。通過許可されないＩＰマルチキャストパケットは、当該端末では不要とみなし廃棄する。一致判定回路３は、到来したパケットが当該受信側端末装置３０では不要であるとみなし、そのパケットを廃棄するように選択通過回路４に指示する。
【００３６】
到来したパケットを受信バッファメモリ５に格納させるか、又は廃棄させるように一致判定回路３が選択通過回路４に指示した後、一致判定処理は終了する。
【００３７】
以上説明したように、本実施形態のＬＡＮインターフェースカード装置１０によれば、受信バッファメモリ５には不要なＩＰマルチキャストパケットが格納されないので、受信バッファメモリ５に受信バッファメモリが溢れて受信すべきパケットが喪失されることもない。また、本実施形態のＬＡＮインターフェースカード装置１０によれば、受信側端末装置３０のＣＰＵ１２に不必要な負荷をかけることもない。
【００３８】
上述の実施形態では、ＩＰｖ４を用いた構成について説明したが、これは例示であって本発明の範囲を限定するものではなく、本発明はＩＰｖ６を用いた構成にも適用可能である。
【産業上の利用可能性】
【００３９】
本発明に係るＬＡＮインターフェースカード装置又はＬＡＮコントローラは、到来したＩＰマルチキャストパケットを受信バッファメモリに格納するか、それとも廃棄するかを選択するための手段を有し、ＩＰマルチキャストパケットの流れているネットワークに柔軟に対応できる汎用性をもっている。そのため、ネットワークに接続される家電製品の用途に有用である。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態に係るＩＰマルチキャスト通信を実行するネットワークの概略構成を示すブロック図である。
【図２】図１の受信側端末装置３０に設けられるＬＡＮインターフェースカード装置１０の構成を示すブロック図である。
【図３】図２の受信条件メモリ２に格納される受信条件テーブルの設定内容を示す図である。
【図４】図１のＩＧＭＰクエリパケット２０１のフォーマットを示す図である。
【図５】図１のＩＧＭＰレポートパケット２０２のフォーマットを示す図である。
【図６】図１のＩＰマルチキャストパケットのフォーマットを示す図である。
【図７】ＩＰマルチキャスト通信を実行するときに使用されるＭＡＣアドレスのフォーマットを示す図である。
【図８】ＵＰｎＰパケットのフォーマットを示す図である。
【図９】図２の一致判定回路３によって実行される一致判定処理を示すフローチャートである。
【図１０】ＩＰマルチキャスト配信を行うＩＰネットワークの構成を示す図である。
【図１１】ＩＰマルチキャスト配信を行う例示的なホームネットワークの構成を示す図である。
【図１２】従来技術に係る第１のＬＡＮインターフェースカード装置３１０の構成を示すブロック図である。
【図１３】従来技術に係る第２のＬＡＮインターフェースカード装置３１０ａの構成を示すブロック図である。
【符号の説明】
【００４１】
１…インターフェース回路、
２…受信条件メモリ、
３…一致判定回路、
４…選択通過回路、
５…受信バッファメモリ、
１０…ＬＡＮインターフェースカード装置、
１１…ＣＰＵバス、
１２…ＣＰＵ、
１３…メモリ、
２０，２１，２２，２３，２４，２５，２６，２７，２８…マルチキャスト送信装置、
２７ａ…Ｌ２スイッチ、
３０，３１，３２，３３，３４…受信側端末装置、
４０，４１…ＤＴＶ装置、
４２…ＤＶＲ装置、
４３，４４…オーディオ装置、
４５，４６…ＰＣ、
１００…インターネット、
１０１，１０２，１０３…ＬＡＮ、
２０１…ＩＧＭＰクエリパケット、
２０２…ＩＧＭＰレポートパケット、
２０３…ＩＰマルチキャストパケット、
２０４…ＵＰｎＰパケット。
【図１】
2008067149.tif 000003
【図２】
2008067149.tif 000004
【図３】
2008067149.tif 000005
【図４】
2008067149.tif 000006
【図５】
2008067149.tif 000007
【図６】
2008067149.tif 000008
【図７】
2008067149.tif 000009
【図８】
2008067149.tif 000010
【図９】
2008067149.tif 000011
【図１０】
2008067149.tif 000012
【図１１】
2008067149.tif 000013
【図１２】
2008067149.tif 000014
【図１３】
2008067149.tif 000015