(57)【要約】【課題】ＤＨＣＰスヌーピング機能を備える中継装置に関して、動作速度を向上できる技術を提供する。【解決手段】中継装置は、データの中継を制御する処理及びＤＨＣＰスヌーピングの処理を行う制御部と、複数のポートの間でのデータの転送をハードウェア回路で処理する転送部と、ポート毎にＤＨＣＰスヌーピングの有効または無効が設定されるＤＨＣＰスヌーピング設定情報と、を備える。中継装置は、無効に設定されたポートでサーバ装置に向けてのＤＨＣＰに係わるパケットを受信した場合、転送部によりハードウェア中継を行い、サーバ装置から無効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、転送部によりハードウェア中継を行う。【選択図】図１
2016054332.tif 000002
【特許請求の範囲】
【請求項１】
ＤＨＣＰクライアントである端末装置と、ＤＨＣＰサーバであるサーバ装置との間のデータを中継する中継装置であって、
内部ＤＢを用いて前記データの中継を制御する処理及びＤＨＣＰスヌーピングの処理を行う制御部と、
転送ＤＢを用いて複数のポートの間でのデータの転送をハードウェア回路で処理する転送部と、
前記複数のポートにおけるポート毎にＤＨＣＰスヌーピングの有効または無効が設定されるＤＨＣＰスヌーピング設定情報と、
を備え、
無効に設定されたポートで前記サーバ装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部により当該パケットを受信ポートから中継先ポートへ転送して送信させるハードウェア中継を行い、
前記サーバ装置から無効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部により当該パケットを受信ポートから中継先ポートへ転送して送信させるハードウェア中継を行う、
中継装置。
【請求項２】
請求項１記載の中継装置において、
有効に設定されたポートで前記サーバ装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部から当該パケットの情報を前記制御部へ上げて前記制御部により前記内部ＤＢの情報を作成する処理を行い、当該パケットを中継先ポートへ転送して送信させる、ソフトウェア中継を行い、
前記サーバ装置から有効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部から当該パケットの情報を前記制御部へ上げて、前記制御部により前記内部ＤＢの情報を検索する処理を行い、当該パケットを中継先ポートへ転送して送信させる、ソフトウェア中継を行う、
中継装置。
【請求項３】
請求項１記載の中継装置において、
前記転送部は、前記ＤＨＣＰスヌーピング設定情報を記憶し、前記ポートでパケットを受信した場合、当該ＤＨＣＰスヌーピング設定情報を参照し、当該ポートの有効または無効を確認する、
中継装置。
【請求項４】
請求項２記載の中継装置において、
前記サーバ装置から前記端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記ハードウェア中継と前記ソフトウェア中継との両方を一時的に稼動させ、
前記ＤＨＣＰに係わるパケットの宛先に応じた中継先ポートが、前記有効に設定されたポートである場合は、前記ソフトウェア中継に確定し、当該ソフトウェア中継のみを行い、前記無効に設定されたポートである場合は、前記ハードウェア中継に確定し、当該ハードウェア中継のみを行う、
中継装置。
【請求項５】
請求項４記載の中継装置において、
前記複数のポートにおけるポート毎のデータの通過の許可に関するフィルタリングの情報が設定されるパケットフィルタを備え、
前記パケットフィルタは、前記ハードウェア中継による前記有効のポートの通過を不許可とするフィルタリングの情報が設定される、
中継装置。
【請求項６】
ＤＨＣＰクライアントである端末装置と、ＤＨＣＰサーバであるサーバ装置との間のデータを中継する中継装置であって、
内部ＤＢを用いて前記データの中継を制御する処理及びＤＨＣＰスヌーピングの処理を行う制御部と、
転送ＤＢを用いて複数のポートの間でのデータの転送をハードウェア回路で処理する転送部と、
前記複数のポートにおけるポート毎にＤＨＣＰスヌーピングの有効または無効が設定されるＤＨＣＰスヌーピング設定情報と、
を備え、
無効に設定されたポートで前記サーバ装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部により当該パケットを受信ポートから中継先ポートへ転送して送信させるハードウェア中継を行い、かつ、前記転送部から当該パケットの情報を前記制御部へ上げて前記制御部により前記内部ＤＢに情報を作成する処理を行い、
前記サーバ装置から無効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部から当該パケットの情報を前記制御部へ上げて、前記制御部により前記内部ＤＢの情報を検索する処理を行い、当該パケットを中継先ポートへ転送して送信させる、ソフトウェア中継を行う、
中継装置。
【請求項７】
請求項６記載の中継装置において、
有効に設定されたポートで前記サーバ装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部から当該パケットの情報を前記制御部へ上げて前記制御部により前記内部ＤＢの情報を作成する処理を行い、当該パケットを中継先ポートへ転送して送信させるソフトウェア中継を行い、
前記サーバ装置から有効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、前記転送部から当該パケットの情報を前記制御部へ上げて、前記制御部により前記内部ＤＢの情報を検索する処理を行い、当該パケットを中継先ポートへ転送して送信させる、ソフトウェア中継を行う、
中継装置。
【請求項８】
請求項６記載の中継装置において、
前記転送部は、前記ＤＨＣＰスヌーピング設定情報を記憶し、前記ポートでパケットを受信した場合、当該ＤＨＣＰスヌーピング設定情報を参照し、当該ポートの有効または無効を確認する、
中継装置。
【請求項９】
請求項６記載の中継装置において、
前記サーバ装置から無効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合において、前記制御部により前記内部ＤＢの情報を検索する処理の結果、該当の情報が無い場合、前記制御部により前記転送ＤＢの情報を検索する処理を行い、当該転送ＤＢの検索の結果に基づいて中継先ポートを決定する、
中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網における中継装置の技術に関し、特に、中継装置におけるＤＨＣＰスヌーピングの技術に関する。
【背景技術】
【０００２】
通信網においてレイヤ２やレイヤ３のデータの中継を行う中継装置において、ＤＨＣＰ（Dynamic Host Configuration Protocol）スヌーピング機能を持つ中継装置がある。
【０００３】
ＤＨＣＰは、ＴＣＰ／ＩＰネットワークにおいて、ＤＨＣＰサーバからＤＨＣＰクライアントに対し、ＩＰアドレスや他の設定情報を動的に割り当てるプロトコルである。ＤＨＣＰにより、設定作業の軽減や、アドレス資源の活用ができる。
【０００４】
ＤＨＣＰスヌーピング機能は、ＤＨＣＰサーバとＤＨＣＰクライアントとの間の通信をスヌーピング、すなわち監視して、信頼できる装置の通信を許可し、信頼できない装置の通信を許可しないようにフィルタリングする機能である。信頼できない装置とは、例えば、外部から持ち込まれた、固定のＩＰアドレスが設定されている端末装置である。
【０００５】
ＤＨＣＰスヌーピング機能に係わる先行技術例として、特開２０１２−８０４１８号公報（特許文献１）が挙げられる。特許文献１には、ネットワークのセキュリティの向上のため、ネットワーク中継装置において、端末装置とＤＨＣＰサーバとの間のＤＨＣＰ通信データをスヌーピングする旨が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−８０４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のＤＨＣＰスヌーピング機能を備える中継装置において、ＤＨＣＰ要求やＤＨＣＰ承認等のＤＨＣＰに係わるパケットの中継は、通常、ソフトウェア中継により行われる。ここでいうソフトウェア中継とは、ＣＰＵによるソフトウェアの処理を経由する中継を指す。中継装置は、ポートで受信したパケットの情報をＣＰＵへ上げ、ＣＰＵにより管理用の情報を作成し、当該パケットを宛先に対応した中継先のポートへ転送して送信させる。
【０００８】
従来の中継装置は、ＤＨＣＰに係わるパケットのソフトウェア中継で、ソフトウェアの処理を要する分、動作速度を向上させにくい、という課題がある。
【０００９】
本発明の目的は、ＤＨＣＰスヌーピング機能を備える中継装置に関して、動作速度を向上できる技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明のうち代表的な実施の形態は、中継装置であって、以下に示す構成を有することを特徴とする。
【００１１】
（１）  一実施の形態の中継装置は、ＤＨＣＰクライアントである端末装置と、ＤＨＣＰサーバであるサーバ装置との間のデータを中継する中継装置であって、内部ＤＢを用いてデータの中継を制御する処理及びＤＨＣＰスヌーピングの処理を行う制御部と、転送ＤＢを用いて複数のポートの間でのデータの転送をハードウェア回路で処理する転送部と、複数のポートにおけるポート毎にＤＨＣＰスヌーピングの有効または無効が設定されるＤＨＣＰスヌーピング設定情報と、を備え、無効に設定されたポートでサーバ装置に向けてのＤＨＣＰに係わるパケットを受信した場合、転送部により当該パケットを受信ポートから中継先ポートへ転送して送信させるハードウェア中継を行い、サーバ装置から無効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、転送部により当該パケットを受信ポートから中継先ポートへ転送して送信させるハードウェア中継を行う。
【００１２】
（２）  一実施の形態の中継装置は、ＤＨＣＰクライアントである端末装置と、ＤＨＣＰサーバであるサーバ装置との間のデータを中継する中継装置であって、内部ＤＢを用いてデータの中継を制御する処理及びＤＨＣＰスヌーピングの処理を行う制御部と、転送ＤＢを用いて複数のポートの間でのデータの転送をハードウェア回路で処理する転送部と、複数のポートにおけるポート毎にＤＨＣＰスヌーピングの有効または無効が設定されるＤＨＣＰスヌーピング設定情報と、を備え、無効に設定されたポートでサーバ装置に向けてのＤＨＣＰに係わるパケットを受信した場合、転送部により当該パケットを受信ポートから中継先ポートへ転送して送信させるハードウェア中継を行い、かつ、転送部から当該パケットの情報を制御部へ上げて制御部により内部ＤＢに情報を作成する処理を行い、サーバ装置から無効に設定されたポートに接続される端末装置に向けてのＤＨＣＰに係わるパケットを受信した場合、転送部から当該パケットの情報を制御部へ上げて、制御部により内部ＤＢの情報を検索する処理を経由して、当該パケットを受信ポートから中継先ポートへ転送して送信させる、ソフトウェア中継を行う。
【発明の効果】
【００１３】
本発明のうち代表的な実施の形態によれば、ＤＨＣＰスヌーピング機能を備える中継装置に関して、動作速度を向上できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１の中継装置を含む通信システムの構成例を示す図である。
【図２】実施の形態１の中継装置の機能ブロックの構成を示す図である。
【図３】実施の形態１の中継装置で管理するデータ及び情報の構成例を示す図である。
【図４】実施の形態１の中継装置の中継動作の概要を表にまとめて示す図である。
【図５】実施の形態１の中継装置のＤＨＣＰ要求のパケットの中継動作を示す図である。
【図６】実施の形態１の中継装置のＤＨＣＰ承認のパケットの中継動作を示す図である。
【図７】実施の形態２の中継装置の中継動作の概要を表にまとめて示す図である。
【図８】実施の形態２の中継装置のＤＨＣＰ要求のパケットの中継動作を示す図である。
【図９】実施の形態２の中継装置のＤＨＣＰ承認のパケットの中継動作を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において同一部には原則として同一符号を付しその繰り返しの説明は省略する。
【００１６】
［概要等］
従来技術及び課題等について補足説明しつつ、本実施の形態の概要等を説明する。従来の中継装置におけるＤＨＣＰに係わるパケットの中継動作の概要は以下である。ＤＨＣＰに係わるパケットの例として、ＤＨＣＰ要求やＤＨＣＰ承認がある。ＤＨＣＰ要求は、宛先がＤＨＣＰサーバであり、そのＵＤＰポート番号は６７である。ＤＨＣＰ承認は、宛先がＤＨＣＰクライアントであり、そのＵＤＰポート番号は６８である。中継装置に接続される外部の装置は、ＤＨＣＰクライアントである端末装置や、ＤＨＣＰサーバであるサーバ装置等がある。
【００１７】
中継装置が備えるＤＨＣＰスヌーピング機能は、ポート毎にＤＨＣＰスヌーピングの「有効」または「無効」を設定する設定機能を含む。「有効」とは、ＤＨＣＰスヌーピングのフィルタリングの適用が有効であることを指し、「無効」とは、当該適用が無効であることを指す。
【００１８】
従来の中継装置は、通常、ポートで受信した一般的なデータのフレームについては、インタフェースＬＳＩによるハードウェア中継を行う。また、従来の中継装置は、ポートで受信したデータについて、宛先がＤＨＣＰサーバである場合、例えばＤＨＣＰ要求のパケットである場合、通常のハードウェア中継ではなく、ソフトウェア中継を行う。従来の中継装置は、当該ＤＨＣＰ要求のパケットについて、受信ポートが「有効」「無効」のいずれでも、ソフトウェア中継を行う。このソフトウェア中継では、インタフェースＬＳＩからＣＰＵへパケットの情報を上げ、ＣＰＵにより内部ＤＢに当該パケットの情報を作成する処理等を経て、当該パケットを中継先ポートへ転送して外部の装置へ送信させる。
【００１９】
また、従来の中継装置は、ポートで受信したデータについて、送信元がＤＨＣＰサーバである場合、例えばＤＨＣＰ承認のパケットである場合、中継先のポートが「有効」「無効」のいずれでも、ソフトウェア中継を行う。このソフトウェア中継では、インタフェースＬＳＩからＣＰＵへパケットの情報を上げ、ＣＰＵにより内部ＤＢの情報を検索する処理等を経て、当該パケットを中継先ポートへ転送して外部の装置へ送信させる。また、ＣＰＵは、「有効」のポートの場合、ＤＨＣＰスヌーピングのフィルタリングを適用し、「無効」のポートの場合、適用しない。
【００２０】
上記のように、従来の中継装置は、ＤＨＣＰに係わるパケットに関して、ソフトウェアの処理が必要であるため、ポートの「有効」「無効」にかかわらず、ソフトウェア中継を行う。従来の中継装置は、ソフトウェア中継の際、ＣＰＵによるソフトウェアの処理に時間を要する分、動作速度を向上させにくい。
【００２１】
一方、本実施の形態の中継装置は、ＤＨＣＰスヌーピング機能に係わる中継の方式として、従来のソフトウェア中継の少なくとも一部をハードウェア中継に変更した。特に、本実施の形態の中継装置は、ＤＨＣＰスヌーピング機能に含まれる設定機能による「無効」のポートに関する中継の方式を工夫した。
【００２２】
（実施の形態１）
図１〜図６を用いて、本発明の実施の形態１の中継装置１について説明する。従来の中継装置は、ＤＨＣＰスヌーピングの「無効」のポートに関して、ＤＨＣＰ要求とＤＨＣＰ承認とのいずれのパケットもソフトウェア中継を行う。それに対して、実施の形態１の中継装置は、後述の図４等に示すように、「無効」のポートに関して、ＤＨＣＰ要求とＤＨＣＰ承認とのいずれのパケットもハードウェア中継を行う。
【００２３】
［通信システム］
図１は、本発明の実施の形態１の中継装置１を含む通信システムの構成例を示す。本通信システムは、複数の端末２とサーバ３とが中継装置１を介してＬＡＮ４により接続されるシステムである。ＬＡＮ４の規格は例えばイーサネット（登録商標）である。端末２及びサーバ３は、ＣＰＵ、ＲＯＭ、ＲＡＭ、二次記憶装置、通信インタフェース装置、入力装置、出力装置、及びバス等の公知の要素により構成される。
【００２４】
端末２は、ユーザのＰＣ等の端末装置である。図１の通信システムは、複数の端末２として、ＰＣ１，ＰＣ２で示す２台の端末がある。なお「ＰＣ１」等は個々の装置の識別情報を示す。端末２は、それぞれ、ＤＨＣＰクライアントであり、ソフトウェア処理により、ＤＨＣＰクライアントプロセス２１が稼動する。
【００２５】
サーバ３は、１台以上のサーバ装置で構成される、ＤＨＣＰサーバであり、ソフトウェア処理により、ＤＨＣＰサーバプロセス３１が稼動する。
【００２６】
なお、各装置のＭＡＣアドレスとして、端末ＰＣ１はＭ１、端末ＰＣ２はＭ２、サーバ３はＭ４、とする。また、後述の各装置のＩＰアドレスとして、端末ＰＣ１と端末ＰＣ２は、ＤＨＣＰによって、それぞれＩＰ１、ＩＰ２が割り当てられる、とする。サーバ３のＩＰアドレスはＩＰ４、とする。
【００２７】
中継装置１は、ＬＡＮ４におけるレイヤ２のフレーム及びレイヤ３のパケットを含むデータの中継を行うスイッチである。中継装置１は、スイッチとしての基本的な機能に加え、ＤＨＣＰスヌーピング機能を備える。中継装置１は、ＣＰＵ１１及びインタフェースＬＳＩ１２を有する。
【００２８】
ＣＰＵ１１は、中継装置１の制御部であり、中継制御処理等を行う。ＣＰＵ１１は、ソフトウェア処理により、ＤＨＣＰスヌーピングプロセス１０等を稼動する。ＤＨＣＰスヌーピングプロセス１０は、ＤＨＣＰスヌーピング機能に対応した処理を行う。ＣＰＵ１１の処理は、内部ＤＢに管理用の情報を読み書きする処理等を含む。
【００２９】
インタフェースＬＳＩ１２は、ＬＡＮ４のフレームの転送処理を行うハードウェア回路による転送部である。インタフェースＬＳＩ１２は、複数のポート５を有し、転送ＤＢ４０、図２に示すＤＨＣＰスヌーピング設定情報６０、及びフィルタ設定情報７０等のデータ及び情報を保持する。インタフェースＬＳＩ１２は、ポート５で送受信するＬＡＮ４のフレームについて、転送ＤＢ４０等を読み書きしながら、ポート５間で転送する。
【００３０】
図１の例では、Ｐ１，Ｐ２，Ｐ４で示す３個のポート５がある。ポートＰ１には端末ＰＣ１が接続され、ポートＰ２には端末ＰＣ２が接続され、ポートＰ４にはサーバ３が接続されている。各ポート５には、ＤＨＣＰスヌーピング機能に含まれる設定機能により、ＤＨＣＰスヌーピングの「有効」または「無効」が設定される。「有効」のポート５は、ＤＨＣＰスヌーピングによるフィルタリングの実行の対象であり、「無効」のポート５は、非対象である。
【００３１】
ＤＨＣＰスヌーピング機能の設定機能は、ユーザの所望及び操作に応じて、ポート５毎の「有効」または「無効」を、ＤＨＣＰスヌーピング設定情報６０として設定する。ポート５毎の設定の例として、ＤＨＣＰクライアントの端末ＰＣ１に対応するポートＰ１は「有効」、ＤＨＣＰクライアントの端末ＰＣ２に対応するポートＰ２は「無効」が設定されている。ＤＨＣＰサーバに対応するポートＰ４には「無効」が設定される。
【００３２】
図１で、１０１は、送信元のＤＨＣＰクライアントである端末ＰＣ１から宛先のＤＨＣＰサーバであるサーバ３に対して送信されるＤＨＣＰ要求を示す。同様に、１０２は、ＤＨＣＰクライアントの端末ＰＣ２からＤＨＣＰサーバのサーバ３に送信されるＤＨＣＰ要求を示す。１０４は、送信元のＤＨＣＰサーバであるサーバ３から宛先のＤＨＣＰクライアントの端末２に対して送信されるＤＨＣＰ承認を示す。
【００３３】
［中継装置］
図２は、実施の形態１の中継装置１の機能ブロックの構成を示す。図２の中継装置１は、いわゆるボックス型の中継装置である。中継装置１は、ＣＰＵ１１、インタフェースＬＳＩ１２、及びメモリ１３等がバスで接続される構成を有する。
【００３４】
制御部であるＣＰＵ１１は、図示しない制御プログラムの実行によるソフトウェアによる処理により、中継制御機能、及びＤＨＣＰスヌーピング機能を含む機能を実現する。メモリ１３は、ＣＰＵ１１が直接アクセス可能なメモリであり、内部ＤＢ５０等のデータ及び情報を記憶する記憶部である。ＣＰＵ１１は、メモリ１３の内部ＤＢ５０に、制御及び管理用の情報を読み書きする。内部ＤＢ５０は、ＣＰＵ１１により、ポート５とデータのＭＡＣアドレスとの対応関係の情報が格納される。内部ＤＢ５０は、例えばメモリ１３のテーブルにより構成される。
【００３５】
転送部であるインタフェースＬＳＩ１２は、複数のポート５、インタフェース部１２１、転送ＤＢ４０、ＤＨＣＰスヌーピング設定情報６０、フィルタ設定情報７０、及びパケットフィルタ８０を備える。
【００３６】
インタフェース部１２１は、ＬＡＮ４のインタフェースに対応し、複数のポート５間を接続し、受信ポート５から中継先ポート５へデータを転送する。インタフェースＬＳＩ１２は、転送ＤＢ４０やパケットフィルタ８０の情報を読み書きしながら、インタフェース部１２１を通じてポート５間でデータを転送する。
【００３７】
転送ＤＢ４０は、インタフェースＬＳＩ１２により、ポート５とデータのＭＡＣアドレスとの対応関係の情報が格納される。転送ＤＢ４０は、例えばインタフェースＬＳＩ１２内のメモリのテーブルにより構成される。
【００３８】
中継装置１は、通常のフレームのデータの転送を、以下のようにハードウェア中継により行う。インタフェースＬＳＩ１２は、外部の装置からのデータをポート５で受信した場合、受信したポート５のポートＩＤと、データの送信元ＭＡＣアドレスとの対応関係の情報を転送ＤＢ４０に格納して学習する。
【００３９】
また、インタフェースＬＳＩ１２は、外部の装置からのデータをポート５で受信した場合、データの宛先ＭＡＣアドレスをキーに転送ＤＢ４０の情報を検索する。インタフェースＬＳＩ１２は、当該検索で、当該宛先ＭＡＣアドレスに関係付けられるポート５のポートＩＤの情報が得られた場合、当該ポート５を中継先として決め、データを受信ポート５から中継先ポート５へ転送する。
【００４０】
インタフェースＬＳＩ１２は、当該検索で、該当するポート５の情報が得られない場合、受信ポート５を除く全ポート５を中継先としてデータを転送する、いわゆるフラッディングを行う。中継先ポート５は、受信ポート５から転送されたデータを外部の装置へ送信する。
【００４１】
インタフェースＬＳＩ１２は、転送ＤＢ４０を読み書きしてポート５間でデータを転送する際、パケットフィルタ８０を参照して所定のフィルタリングを適用する。パケットフィルタ８０は、中継装置１で実現する所定のプロトコル動作等に応じた所定のフィルタリングの内容が設定されている。パケットフィルタ８０は、ポート５毎に、通過させるデータやアドレス、あるいは通過させないデータやアドレス、等が規定され、この設定内容は各種可能である。
【００４２】
ＤＨＣＰスヌーピング設定情報６０は、ポート５毎のＤＨＣＰスヌーピングの「有効」または「無効」の設定情報である。実施の形態１では、インタフェースＬＳＩ１２内のレジスタ等に、ＤＨＣＰスヌーピング設定情報６０等を保持し、インタフェースＬＳＩ１２により直接的にＤＨＣＰスヌーピング設定情報６０等を参照可能である。
【００４３】
フィルタ設定情報７０は、ＤＨＣＰスヌーピング機能によるフィルタリングに関する情報が設定される。このフィルタ設定情報７０は、ポート５毎に、通信を許可するＩＰアドレスやＭＡＣアドレスの情報が格納される。なお、フィルタ設定情報７０は、パケットフィルタ８０とは別の役割の情報として分けて設けているが、統合も可能である。
【００４４】
ＣＰＵ１１は、インタフェースＬＳＩ１２内にある転送ＤＢ４０、ＤＨＣＰスヌーピング設定情報６０、フィルタ設定情報７０、及びパケットフィルタ８０等のデータ及び情報についても、バスを介してアクセスし読み書きが可能である。
【００４５】
転送ＤＢ４０、ＤＨＣＰスヌーピング設定情報６０、フィルタ設定情報７０、及びパケットフィルタ８０等のデータ及び情報は、インタフェースＬＳＩ１２に接続される外部のメモリ、例えばメモリ１３内に格納されてもよい。
【００４６】
中継装置１は、その他、図示しないが、ＤＨＣＰスヌーピング機能の設定機能等に対応したユーザインタフェースを有する。例えば、管理者は、中継装置１に接続される運用管理保守用の端末から中継装置１にアクセスし、提供される画面において、ＤＨＣＰスヌーピング機能等の設定操作が可能である。
【００４７】
［データ及び情報］
図３は、実施の形態１の中継装置１における管理するデータ及び情報の構成例を示す。
【００４８】
図３の（ａ）は、転送ＤＢ４０の例である表を示す。本表は、第１列のＭＡＣアドレス、第２列のポートＩＤを有する。インタフェースＬＳＩ１２は、ポート５で受信したデータの送信元ＭＡＣアドレスと、当該受信したポート５のポートＩＤとの対応関係の情報を転送ＤＢ４０に格納する。例えば第１行は、端末ＰＣ１のＭＡＣアドレスであるＭ１と、ポート５のポートＩＤとしてＰ１とが格納されている。
【００４９】
図３の（ｂ）は、内部ＤＢ５０の例である表を示す。本表は、第１列の「ＶＩＤ」、第２列の「ポートＩＤ」、第３列の「ＩＰアドレス」、第４列の「ＭＡＣアドレス」を有する。ＣＰＵ１１は、ポート５で受信したデータの送信元ＭＡＣアドレスと、当該受信したポート５のポートＩＤとの対応関係を含む情報を内部ＤＢ５０に格納する。第１列の「ＶＩＤ」は、ポートが属するＶＬＡＮの識別情報であるＶＩＤが格納される。なお、端末ＰＣ１及び端末ＰＣ２が属するＶＬＡＮのＶＩＤをＶ１とする。第２列の「ポートＩＤ」は、データを受信したポート５のポートＩＤが格納される。第３列の「ＩＰアドレス」は、ＤＨＣＰ要求のデータの中の「Requested IP Address」または「Your IP Address」の値が格納される。第４列の「ＭＡＣアドレス」は、データの送信元ＭＡＣアドレスが格納される。なお、図３の（ａ）と（ｂ）とにおいて、（ａ）の転送ＤＢ４０はハードウェアでの管理、（ｂ）の内部ＤＢ５０はソフトウェアでの管理である点が異なる。
【００５０】
図３の（ｃ）は、ＤＨＣＰスヌーピング設定情報６０の例である表を示す。本表は、第１列のポートＩＤ、第２列の有効無効フラグを有する。有効無効フラグは、１ビットのフラグを用いて、「有効」を値１、「無効」を値０とする。ＤＨＣＰスヌーピング機能の設定機能は、ユーザ設定に応じて、「有効」とするポートに値１、「無効」とするポートに値０をセットする。
【００５１】
図３の（ｄ）は、フィルタ設定情報７０の例である表を示す。本表は、第１列のポートＩＤ、第２列の通信許可ＭＡＣアドレス、第３列の通信許可ＩＰアドレスを有する。前述のＤＨＣＰスヌーピング機能によるフィルタリングの処理として、ＣＰＵ１１は、フィルタ設定情報７０に、対象のポート５のポートＩＤと、当該ポート５を用いた通信が許可されるＭＡＣアドレス及びＩＰアドレスとの対応関係の情報を格納する。例えば第１行は、（ｃ）の「有効」のポートＰ１に関して、端末ＰＣ１のＭＡＣアドレスであるＭ１、及びＩＰアドレスであるＩＰ１が、通信許可されるアドレスとして登録されている。他の「無効」のポートＰ２等に関しては、フィルタリングを適用しないので情報が登録されていない。
【００５２】
［ＤＨＣＰ］
前提技術として、ＤＨＣＰを用いた動的なＩＰアドレスの割り当ての処理は、例えば以下の通信の手順で行われる。図１のように、ＬＡＮ４上、ＤＨＣＰクライアントである端末２と、ＤＨＣＰサーバであるサーバ３との間で、ＤＨＣＰの通信の手順の処理を行う。
【００５３】
（１）  ＤＨＣＰクライアントは、ＤＨＣＰディスカバーのパケット、すなわちＩＰアドレスの割り当てを求めるパケットを、ＤＨＣＰサーバへ送信する。
【００５４】
（２）  ＤＨＣＰサーバは、（１）のＤＨＣＰディスカバーを受信すると、ＤＨＣＰオファーのパケット、すなわちＩＰアドレスの仮の割り当てを伝えるパケットを、送信元のＤＨＣＰクライアントへ返信する。
【００５５】
（３）  ＤＨＣＰクライアントは、（２）のＤＨＣＰオファーを受信すると、ＤＨＣＰ要求のパケット、すなわちＤＨＣＰオファーで伝えられたＩＰアドレスによる割り当てを要求するパケットを、ＤＨＣＰサーバへ送信する。
【００５６】
（４）  ＤＨＣＰサーバは、（３）のＤＨＣＰ要求を受信すると、ＤＨＣＰ承認のパケット、すなわち割り当てを実行する承認のパケットを、送信元のＤＨＣＰクライアントへ返信する。ＤＨＣＰオファー、ＤＨＣＰ要求、ＤＨＣＰ承認のパケットは、割り当てのＩＰアドレスの情報を含む。
【００５７】
［ＤＨＣＰスヌーピング機能］
ＤＨＣＰスヌーピング機能は、例えば以下のような機能である。図１のように、ＬＡＮ４上、ＤＨＣＰクライアントである端末２と、ＤＨＣＰサーバであるサーバ３との間に、ＤＨＣＰスヌーピング機能を持つ中継装置１が介在する。中継装置１は、上記ＤＨＣＰの通信の手順に係わるパケットを中継する。ＤＨＣＰクライアントの端末２は、上記ＤＨＣＰの通信の手順により、ＤＨＣＰサーバから動的な割り当てのＩＰアドレスを得る。中継装置１は、ＤＨＣＰスヌーピング機能により、当該ＤＨＣＰの通信のパケットをスヌーピングし、信頼できる端末２による通信を許可するように、フィルタ設定情報７０を設定する。
【００５８】
中継装置１は、「有効」のポート５である例えばポートＰ１に関して、ＤＨＣＰ承認等のパケットを監視し、ＤＨＣＰ承認によりＩＰアドレスが割り当てられる端末２、例えば端末ＰＣ１を、信頼できる端末２とみなす。中継装置１は、当該端末２のＩＰアドレスを送信元や宛先とする、当該「有効」のポート５を通じた通信を許可するように、フィルタ設定情報７０を設定する。なお、フィルタ設定情報７０は、デフォルトの設定状態では、「有効」のポート５の全通信が不許可、「無効」のポート５の全通信が許可である。
【００５９】
上記フィルタ設定情報７０の設定により、「有効」のポート５であるポートＰ１については、信頼できる端末２である端末ＰＣ１による通信が許可される。当該ポート５は、他の信頼できない端末２による通信については許可されず、当該端末２を送信元や宛先とするデータは当該ポート５を通過できずに破棄される。
【００６０】
「無効」のポート５については、ＤＨＣＰスヌーピングによるフィルタリングが適用されないので、フィルタ設定情報７０にフィルタリングの情報は設定されない。例えば、ポートＰ２に接続される端末ＰＣ２からのデータや、端末ＰＣ２を宛先とするデータは、ポートＰ２をそのまま通過する。
【００６１】
［中継動作概要］
図４は、実施の形態１の中継装置１におけるＤＨＣＰ等に係わるパケットの中継動作の概要を表にまとめて示す。図４の表は、「パケット」、「宛先」、「受信ポート」、「中継先ポート」、及び「中継方法及び動作」の情報がある。第１列の「パケット」は、ＤＨＣＰ要求、ＤＨＣＰ承認を示す。第２列の「宛先」は、ＤＨＣＰサーバ、ＤＨＣＰクライアントがある。宛先がＤＨＣＰサーバである場合、ＵＤＰのポート番号は６７である。宛先がＤＨＣＰクライアントである場合、ＵＤＰのポート番号は６８である。
【００６２】
第３列の「受信ポート」は、パケットを受信したポート５を示す。第４列の「中継先ポート」は、受信したパケットの中継先のポート５を示す。「受信ポート」及び「中継先ポート」は、ＤＨＣＰスヌーピングが「有効」のポート５と「無効」のポート５とがある。「ＡＮＹ」は、パケットの送信元や宛先に応じて決まるポート５を示す。第５列の「中継方法及び動作」は、各宛先のパケット及び各ポート５の「有効」「無効」に応じた中継方法及び動作を示し、大別して、ソフトウェア中継とハードウェア中継とがある。
【００６３】
ソフトウェア中継とは、データについて、インタフェースＬＳＩ１２のハードウェア回路での直接的な転送ではなく、ＣＰＵ１１によるソフトウェアの処理を経由して転送する中継を指す。すなわち、インタフェースＬＳＩ１２は、ポート５で受信したデータの情報をＣＰＵ１１へ上げ、ＣＰＵ１１は、内部ＤＢ５０の情報の読み書き等の処理を行った後、当該データを中継先ポート５へ転送して外部へ送信させる。
【００６４】
ハードウェア中継とは、データについて、ＣＰＵ１１のソフトウェアの処理を経由せずに、インタフェースＬＳＩ１２のハードウェア回路での直接的な転送を行う中継を指す。すなわち、インタフェースＬＳＩ１２は、ポート５で受信したデータについて、転送ＤＢ５０の情報の読み書き等を行った後、当該データを中継先ポート５へ転送して外部へ送信させる。
【００６５】
図４の表で、第１行は、ＤＨＣＰ要求のパケットについて示す。当該パケットは送信元がＤＨＣＰクライアント、宛先がＤＨＣＰサーバである。当該パケットの受信ポートが「有効」の場合、中継方法及び動作は、従来と同様に、ソフトウェア中継である。ＤＨＣＰ要求のソフトウェア中継において、ＣＰＵ１１の処理は、内部ＤＢ５０に当該パケットの情報を作成する処理を含む。また、当該パケットの受信ポートが「無効」の場合、中継方法及び動作は、従来のソフトウェア中継とは異なり、ハードウェア中継である。
【００６６】
第２行は、ＤＨＣＰ承認のパケットについて示す。当該パケットは送信元がＤＨＣＰサーバ、宛先がＤＨＣＰクライアントである。当該パケットの中継先ポートが「有効」の場合、中継方法及び動作は、ソフトウェア中継である。ＤＨＣＰ承認のソフトウェア中継において、ＣＰＵ１１の処理は、内部ＤＢ５０から当該パケットの情報を検索する処理を含む。また、当該中継先ポートが「有効」の場合、前述のように、ＤＨＣＰスヌーピングのフィルタリングを適用するようにフィルタ設定情報７０が設定される。また、当該パケットの中継先ポートが「無効」の場合、中継方法及び動作は、ハードウェア中継である。当該ハードウェア中継は、後述のＣＰＵ１１による付属的な処理を伴い、パケットフィルタ８０を用いて実現される。
【００６７】
実施の形態１の中継装置１は、ＤＨＣＰ要求の場合に示すように、受信したパケットの宛先がＤＨＣＰサーバである場合、受信ポートが「有効」の場合はソフトウェア中継、「無効」の場合はハードウェア中継を行う。また、実施の形態１の中継装置１は、ＤＨＣＰ承認の場合に示すように、受信したパケットの送信元がＤＨＣＰサーバである場合、中継先ポートが「有効」の場合はソフトウェア中継、「無効」の場合はハードウェア中継を行う。受信ポートや中継先ポートの「有効」「無効」の判別は、インタフェースＬＳＩ１２によるＤＨＣＰスヌーピング設定情報６０の確認により行われる。
【００６８】
実施の形態１の中継装置１は、中継動作としてソフトウェア中継またはハードウェア中継を選択するための条件として、ＤＨＣＰスヌーピング設定情報６０の確認によるポート５の「有効」「無効」を判別する点と、受信したパケットの宛先のＵＤＰポート番号等の情報をみて宛先や送信元のＤＨＣＰサーバを判別する点とを含む。
【００６９】
［ＤＨＣＰ要求のパケットの中継動作］
図５は、実施の形態１の中継装置１におけるＤＨＣＰ要求のパケットの中継動作を示す。図５以下で示す通信システムは、図１の構成と同様である。端末ＰＣ１、端末ＰＣ２は、ＤＨＣＰによるＩＰアドレスの割り当ての前の状態とする。
【００７０】
５０１は、送信元の端末ＰＣ１のＤＨＣＰクライアントプロセス２１からの、宛先のサーバ３のＤＨＣＰサーバプロセス３１に対する、ＤＨＣＰ要求１０１についての、ソフトウェア中継を示す。５０２は、送信元の端末ＰＣ２のＤＨＣＰクライアントプロセス２１からの、宛先のサーバ３のＤＨＣＰサーバプロセス３１に対する、ＤＨＣＰ要求１０２についての、ハードウェア中継を示す。
【００７１】
まず、端末ＰＣ１からのＤＨＣＰ要求１０１に関するソフトウェア中継５０１については以下である。なお、以下では、ＤＨＣＰ要求１０１の宛先のＩＰアドレスがＩＰ４、ＭＡＣアドレスがＭ４でありユニキャストで処理する場合を説明するが、宛先が不明の場合はブロードキャストで処理される。中継装置１は、ＤＨＣＰ要求１０１のパケットをポートＰ１で受信する。インタフェースＬＳＩ１２は、ＤＨＣＰスヌーピング設定情報６０の確認により、当該パケットを受信したポートＰ１が「有効」であることを認識する。またインタフェースＬＳＩ１２は、当該パケットの宛先がＵＤＰポート番号＝６７であるＤＨＣＰサーバであること、すなわちＤＨＣＰ要求１０１であること等を認識する。この場合、インタフェースＬＳＩ１２は、当該パケットについて、ソフトウェア中継５０１を行う。
【００７２】
インタフェースＬＳＩ１２は、受信したパケットの情報をＣＰＵ１１へ上げ、ＣＰＵ１１は、上げられたパケットの情報を受け取る。ＣＰＵ１１は、ＤＨＣＰスヌーピングプロセス１０により、当該パケットの情報を用いて、当該パケットの送信元ＭＡＣアドレスであるＭ１と、当該パケットを受信したポート５のポートＩＤであるＰ１との対応関係を含む情報を、内部ＤＢ５０に作成し保持する。本例では、ＣＰＵ１１は、内部ＤＢ５０に、図３の（ｂ）の例のように、ＶＩＤと受信ポートＩＤとＩＰアドレスと送信元ＭＡＣアドレスとの対応関係の情報、例えば｛Ｖ１，Ｐ１，ＩＰ１，Ｍ１｝を作成する。
【００７３】
ＣＰＵ１１は、当該パケットの宛先ＭＡＣアドレスをキーに転送ＤＢ４０を検索し、宛先ＭＡＣアドレスに関係付けられるポートＩＤが得られた場合、当該ポートＩＤのポートを中継先ポート５に決める。ＣＰＵ１１は、宛先ＭＡＣアドレスに関係付けられるポートＩＤが得られない場合、複数のポートを中継先ポート５としたブロードキャストを行う。ここでは、転送ＤＢ４０に該当の情報が登録済みとし、宛先ＭＡＣアドレスであるＭ４から、中継先ポート５がポートＰ４に決まったとする。
【００７４】
ＣＰＵ１１は、上記処理後、当該パケットの情報を中継先ポートＰ４へ転送し、中継先ポートＰ４に当該パケットを外部へ送信させる。宛先のサーバ３のＤＨＣＰサーバプロセス３１は、当該ＤＨＣＰ要求１０１のパケットを受信し、前述の所定の処理を行う。
【００７５】
次に、端末ＰＣ２からのＤＨＣＰ要求１０２に関するハードウェア中継５０２については以下である。中継装置１は、ＤＨＣＰ要求１０２のパケットをポートＰ２で受信する。インタフェースＬＳＩ１２は、ＤＨＣＰスヌーピング設定情報６０の確認により、当該ポートＰ２の「無効」を認識する。この場合、インタフェースＬＳＩ１２は、当該パケットについて、ハードウェア中継５０２を行う。
【００７６】
インタフェースＬＳＩ１２は、ポートＰ２で受信したパケットについて、当該パケットの送信元ＭＡＣアドレスであるＭ２と、当該パケットを受信したポート５のポートＩＤであるＰ２との対応関係の情報を、転送ＤＢ５０に格納して学習する。
【００７７】
インタフェースＬＳＩ１２は、当該パケットの宛先ＭＡＣアドレスをキーに、転送ＤＢ４０を検索し、中継先ポート５を決める。転送ＤＢ５０に該当の情報が登録済みの場合は、中継先ポート５が１つに決まり、登録済みでない場合は、フラッディングにより処理される。ここでは、転送ＤＢ５０に該当の情報が登録済みであり、宛先ＭＡＣアドレスであるＭ４から、中継先ポート５がポートＰ４に決まったとする。
【００７８】
当該ハードウェア中継５０２では、ＣＰＵ１１による処理を経由しないので、インタフェースＬＳＩ１２は、当該パケットの情報をＣＰＵ１１へは上げず、当然、ＣＰＵ１１は、内部ＤＢ５０に当該パケットの情報を作成しない。インタフェースＬＳＩ１２は、当該パケットを受信ポートＰ２から中継先ポートＰ４へ転送し、中継先ポートＰ４に当該パケットを外部へ送信させる。宛先のサーバ３のＤＨＣＰサーバプロセス３１は、当該ＤＨＣＰ要求１０２のパケットを受信し、所定の処理を行う。
【００７９】
［ＤＨＣＰ承認のパケットの中継動作］
図６は、実施の形態１の中継装置１のＤＨＣＰ承認のパケットの中継動作を示す。端末ＰＣ１、端末ＰＣ２は、それぞれ、ＤＨＣＰによるＩＰアドレスの割り当ての後の状態では、ＩＰアドレスがＩＰ１、ＩＰ２となる。
【００８０】
６０１は、送信元のサーバ３のＤＨＣＰサーバプロセス３１からの、宛先の端末ＰＣ１のＤＨＣＰクライアントプロセス２１に対する、ＤＨＣＰ承認１０４のパケットについての、ソフトウェア中継を示す。６０２は、送信元のサーバ３のＤＨＣＰサーバプロセス３１からの、宛先の端末ＰＣ２のＤＨＣＰクライアントプロセス２１に対する、ＤＨＣＰ承認１０４のパケットについての、ハードウェア中継を示す。
【００８１】
まず、端末ＰＣ１へのＤＨＣＰ承認１０４に関するソフトウェア中継６０１については以下である。中継装置１は、ＤＨＣＰ承認１０４のパケットをポートＰ４で受信する。中継装置１は、この時点では、中継先ポート５が「有効」か「無効」かがわからないので、ソフトウェア中継を行うかハードウェア中継を行うかは決まらない。そこで、実施の形態１の中継装置１は、中継先ポート５が「有効」の場合に対応したソフトウェア中継の処理と、中継先ポート５が「無効」の場合に対応したハードウェア中継の処理とを一時的に並列で稼動させる。すなわち、インタフェースＬＳＩ１２は、当該パケットの情報をＣＰＵ１１へ上げてＣＰＵ１１による処理を稼動させると共に、ハードウェア回路での転送処理を稼動させる。そして、中継装置１は、中継先ポート５の「有効」「無効」の確定に応じてソフトウェア中継とハードウェア中継との一方に確定した場合、他方の中継の処理を止める。
【００８２】
ＣＰＵ１１は、ソフトウェア中継に対応した処理において、インタフェースＬＳＩ１２から上げられた当該パケットの情報を用いて、内部ＤＢ５０の情報を検索する。ＣＰＵ１１は、ＤＨＣＰ承認１０４の中のＤＨＣＰクライアントへ割り当てられるＩＰアドレスであるＩＰ１をキーに、内部ＤＢ５０の情報を検索する。この時、前述のＤＨＣＰ要求１０１のソフトウェア中継５０１の際に内部ＤＢ５０の情報として｛Ｖ１，Ｐ１，ＩＰ１，Ｍ１｝が作成済みである。よって、ＣＰＵ１１は、当該検索により該当の情報が得られ、中継先ポート５をポートＰ１に決める。
【００８３】
また、ＣＰＵ１１は、ＤＨＣＰスヌーピングプロセス１０により、ＤＨＣＰ承認１０４に関する処理を行う。ＣＰＵ１１は、中継先ポートＰ１について、インタフェースＬＳＩ１２のＤＨＣＰスヌーピング設定情報６０の参照により、「有効」であることを認識する。なお、この処理は、ＣＰＵ１１のＤＨＣＰスヌーピングプロセス１０として、メモリ１３等にＤＨＣＰスヌーピング設定情報６０の内容を予め保持している場合は、その内容を参照すればよく、インタフェースＬＳＩ１２内のＤＨＣＰスヌーピング設定情報６０を参照する必要は無い。
【００８４】
ＣＰＵ１１は、中継先ポート５が「有効」の場合、ソフトウェア中継に確定するので、自身の処理を継続する。ＣＰＵ１１は、中継先ポートＰ１が「有効」であるため、ＤＨＣＰスヌーピングのフィルタリングを適用する。すなわち、ＣＰＵ１１は、ＤＨＣＰ承認１０４によりＩＰアドレス＝ＩＰ１が割り当てられる端末ＰＣ１について、当該ポートＰ１を通じた通信を許可するように、前述の図３の（ｄ）のようにフィルタ設定情報７０の内容を設定する。
【００８５】
ＣＰＵ１１は、当該パケットを中継先ポートＰ１へ転送し、中継先ポートＰ１に当該パケットを外部へ送信させる。宛先の端末ＰＣ１のＤＨＣＰクライアントプロセス２１は、当該ＤＨＣＰ承認１０４のパケットを受信し、所定の処理を行う。
【００８６】
一方、インタフェースＬＳＩ１２は、ハードウェア中継に対応した処理において、ポート５で受信したパケットの送信元を確認し、送信元がＵＤＰポート番号＝６７であるＤＨＣＰサーバであること、すなわちＤＨＣＰ承認１０４であること等を認識する。また、インタフェースＬＳＩ１２は、当該パケットの宛先に基づいて、中継先ポート５の「有効」「無効」を判別する。具体的には、インタフェースＬＳＩ１２は、宛先ＭＡＣアドレスであるＭ１をキーに、転送ＤＢ５０を検索し、ポートＩＤとしてＰ１が得られた場合、中継先ポート５がポートＰ１であるとわかる。そして、インタフェースＬＳＩ１２は、ＤＨＣＰスヌーピング設定情報６０を参照し、中継先ポートＰ１が「有効」であることを認識する。インタフェースＬＳＩ１２は、中継先ポート５が「有効」の場合、ソフトウェア中継に確定するので、自身のハードウェア中継の方の処理を止める。
【００８７】
次に、端末ＰＣ２へのＤＨＣＰ承認１０４に関するソフトウェア中継６０２については以下である。中継装置１は、ＤＨＣＰ承認１０４のパケットをポートＰ４で受信する。以下、上記ソフトウェア中継６０１の場合と同様に、中継装置１は、中継先ポート５が「有効」の場合に対応したソフトウェア中継の処理と、中継先ポート５が「無効」の場合に対応したハードウェア中継の処理とを並列で稼動させる。
【００８８】
インタフェースＬＳＩ１２は、ハードウェア中継に対応した処理において、当該パケットの送信元等を確認し、ＤＨＣＰ承認１０４であること等を認識する。また、インタフェースＬＳＩ１２は、当該パケットの宛先のＭＡＣアドレスであるＭ２に基づいて、転送ＤＢ５０の検索から、中継先ポート５であるポートＰ２を決める。そして、インタフェースＬＳＩ１２は、ＤＨＣＰスヌーピング設定情報６０の確認により、中継先ポートＰ２が「無効」であることを認識する。中継先ポート５が「無効」の場合、当該パケットについて、ハードウェア中継に確定する。よって、インタフェースＬＳＩ１２は、自身のハードウェア中継の処理を継続する。
【００８９】
インタフェースＬＳＩ１２は、当該パケットを受信ポートＰ４から中継先ポートＰ２へ転送し、中継先ポートＰ２に当該パケットを外部へ送信させる。宛先の端末ＰＣ２のＤＨＣＰクライアントプロセス２１は、当該ＤＨＣＰ承認１０４のパケットを受信し、所定の処理を行う。
【００９０】
一方、ＣＰＵ１１は、ソフトウェア中継に対応した処理において、インタフェースＬＳＩ１２から上げられた当該パケットの情報を用いて、内部ＤＢ５０の情報を検索する。ＣＰＵ１１は、ＤＨＣＰ承認１０４の中のＤＨＣＰクライアントに割り当てられるＩＰアドレスであるＩＰ２をキーに、内部ＤＢ５０の情報を検索する。しかし、この時、前述のＤＨＣＰ要求１０２のハードウェア中継５０２の際には内部ＤＢ５０に対応する情報が作成されていないので、当該検索により情報は得られない。よって、ＣＰＵ１１は、自身のソフトウェア中継の処理を止める。また、上記検索で中継先ポート５がポートＰ２に決まる場合であっても、ＤＨＣＰスヌーピング設定情報６０の確認により、当該ポートＰ２は「無効」とわかる。その場合も、当該パケットについてはハードウェア中継に確定するので、ＣＰＵ１１は、自身のソフトウェア中継の処理を止める。
【００９１】
上記のように、実施の形態１の中継装置１は、上記ＤＨＣＰ承認に関する中継の方式として、一時的にソフトウェア中継の処理とハードウェア中継の処理を並列で稼動させて、中継先ポート５の「有効」「無効」に応じてソフトウェア中継またはハードウェア中継の一方に確定し、他方の中継の処理を止める。実施の形態１の中継装置１は、上記ＤＨＣＰ承認のパケットに関して、「有効」の中継先ポート５のソフトウェア中継を行う場合にはハードウェア中継の方を止め、「無効」の中継先ポート５のハードウェア中継を行う場合にはソフトウェア中継の方を止めるという制御を実現するため、パケットフィルタ８０を使用する。すなわち、パケットフィルタ８０には、予め、対象データであるＤＨＣＰ承認、対象ポートである「有効」の中継先ポートＰ１に関して通過を不許可とする内容のフィルタリングの情報が設定される。これにより、当該パケットに関して、ＣＰＵ１１によるソフトウェア中継の方では当該「有効」の中継先ポートＰ１を通過し、インタフェースＬＳＩ１２によるハードウェア中継の方では当該「有効」の中継先ポートＰ１の通過が不許可、すなわち当該パケットが破棄される。
【００９２】
他の実施の形態として、上記ＤＨＣＰ承認の中継に関して、以下のような方式としてもよい。インタフェースＬＳＩ１２は、ＤＨＣＰ承認のパケットをポートＰ４で受信した場合、転送ＤＢ４０を検索し、当該パケットの宛先に応じた中継先ポート５を決める。インタフェースＬＳＩ１２は、ＤＨＣＰスヌーピング設定情報６０から中継先ポート５の「有効」「無効」を確認する。中継先ポート５が「有効」の場合、ソフトウェア中継に確定し、「無効」の場合、ハードウェア中継に確定する。
【００９３】
中継先ポート５が「有効」の場合のソフトウェア中継の処理として、インタフェースＬＳＩ１２は、当該パケットの情報及び中継先ポート５の「有効」の情報等をＣＰＵ１１へ上げる。ＣＰＵ１１は、当該情報に基づいて、「有効」の中継先ポート５に応じて、フィルタ設定情報７０の内容を設定する。ＣＰＵ１１は、当該パケットを当該中継先ポート５へ転送し、中継先ポート５に当該パケットを外部へ送信させる。また、中継先ポート５が「無効」の場合のハードウェア中継の処理として、インタフェースＬＳＩ１２は、当該パケットを、そのまま、「無効」の中継先ポート５へ転送し、中継先ポート５に当該パケットを外部へ送信させる。
【００９４】
［効果等］
以上説明したように、実施の形態１の中継装置１によれば、ＤＨＣＰスヌーピング機能を備える構成で動作速度を向上できる。実施の形態１は、ＤＨＣＰ要求及びＤＨＣＰ承認の中継の両方を、従来のソフトウェア中継から、ハードウェア中継に変更した構成である。実施の形態１は、「有効」のポート５に関してはソフトウェア中継を行い、「無効」のポート５に関しては、ＤＨＣＰ要求及びＤＨＣＰ承認等のいずれもハードウェア中継を行う。ＤＨＣＰ要求及びＤＨＣＰ承認等の中継をハードウェア中継としてソフトウェアの処理を減らした分、動作速度が速い利点が得られる。実施の形態１によれば、ネットワークのセキュリティを高めるＤＨＣＰスヌーピング機能を提供すると共に、その動作速度を向上できる。
【００９５】
また、実施の形態１の中継装置１は、上記ＤＨＣＰ等に係わる中継動作に関して、インタフェースＬＳＩ１２の内部にＤＨＣＰスヌーピング設定情報６０を設け、インタフェースＬＳＩ１２がＤＨＣＰスヌーピング設定情報６０を参照してポート５毎の「有効」「無効」を確認する形態とした。これにより、実施の形態１は、ポート５毎の「有効」「無効」に応じた中継動作を高速に実現できる。他の実施の形態として、ＣＰＵ１１がメモリ１３内のＤＨＣＰスヌーピング設定情報６０を参照してポート５毎の「有効」「無効」を確認する形態でもよい。
【００９６】
なお、実施の形態１では、ＤＨＣＰ承認１０４の中継に関して、中継先ポートが「有効」の場合のソフトウェア中継と、「無効」の場合のハードウェア中継とを実現するために、パケットフィルタ８０を用いている。実施の形態１で用いるパケットフィルタ８０の制御内容が、パケットフィルタ８０を用いる他のプロトコル動作のパケットフィルタ８０の制御内容と競合する可能性があり、実施の形態１のＤＨＣＰスヌーピング機能と他のプロトコル動作を併用することが難しい場合が考えられる。そこで、パケットフィルタ８０を用いない方式として、以下の実施の形態２を採用することができる。
【００９７】
（実施の形態２）
図７〜図９を用いて、本発明の実施の形態２の中継装置１について説明する。実施の形態２の中継装置１の基本的な構成は、前述の実施の形態１の構成と同様である。以下、実施の形態２における実施の形態１とは異なる構成部分について説明する。
【００９８】
前述の従来の中継装置は、ＤＨＣＰスヌーピングの「無効」のポートに関して、ＤＨＣＰ要求とＤＨＣＰ承認とのいずれのパケットもソフトウェア中継で行う。それに対して、実施の形態２の中継装置１は、図７等に示すように、「無効」のポートに関して、ＤＨＣＰ要求をハードウェア中継、ＤＨＣＰ承認をソフトウェア中継で行う。
【００９９】
これにより、実施の形態２は、ＤＨＣＰ要求等の中継をソフトウェア中継からハードウェア中継に変更する分、動作速度が速い。なおかつ、実施の形態２は、「有効」及び「無効」のポートに関するＤＨＣＰ承認等の中継をソフトウェア中継とする方式であり、この方式の実現のためには既存のパケットフィルタ８０等の使用は必要ではない。
【０１００】
［中継動作概要］
図７は、実施の形態２の中継装置１のＤＨＣＰ等に係わるパケットの中継動作の概要を同様に表にまとめて示す。図７の表で、「パケット」、「宛先」、「受信ポート」、「中継先ポート」は、図４の表の内容と同様であり、「中継方法及び動作」が異なる。
【０１０１】
図７の表で、第１行のＤＨＣＰ要求のパケットについて、送信元がＤＨＣＰクライアント、宛先がＤＨＣＰサーバである。当該パケットの受信ポートが「有効」の場合、中継方法及び動作は、従来及び実施の形態１と同様に、ソフトウェア中継であり、ＣＰＵ１１による内部ＤＢ５０の情報の作成の処理を含む。また、当該パケットの受信ポートが「無効」の場合、中継方法及び動作は、従来のソフトウェア中継とは異なり、ハードウェア中継である。このハードウェア中継は、実施の形態１でのハードウェア中継とは別に、インタフェースＬＳＩ１２による転送処理と共に、付属的な処理として、ＣＰＵ１１による内部ＤＢ５０の情報の作成の処理を伴う。
【０１０２】
第２行のＤＨＣＰ承認のパケットについて、送信元がＤＨＣＰサーバ、宛先がＤＨＣＰクライアントである。当該パケットの中継先ポートが「有効」の場合、中継方法及び動作は、従来及び実施の形態１と同様に、ソフトウェア中継であり、ＣＰＵ１１による内部ＤＢ５０の情報の検索やフィルタ設定情報７０の設定の処理を含む。また、当該パケットの中継先ポートが「無効」の場合、中継方法及び動作は、実施の形態１のハードウェア中継とは異なり、ソフトウェア中継である。当該ソフトウェア中継は、ＣＰＵ１１による内部ＤＢ５０の情報の検索の処理を含む。
【０１０３】
実施の形態２の中継装置１は、第１行のＤＨＣＰ要求に示すように、受信したパケットの宛先がＤＨＣＰサーバ、すなわちＵＤＰポート番号が６７である場合、受信ポートが「有効」の場合はソフトウェア中継、受信ポートが「無効」の場合はハードウェア中継を行う。受信ポートの「有効」「無効」の判別は、インタフェースＬＳＩ１２によりＤＨＣＰスヌーピング設定情報６０を確認すればよい。また、実施の形態２の中継装置１は、第２行のＤＨＣＰ承認に示すように、受信したパケットの送信元がＤＨＣＰサーバ、すなわちＵＤＰポート番号が６７である場合、中継先ポートが「有効」「無効」のいずれでもソフトウェア中継を行う。
【０１０４】
実施の形態２の中継装置１は、中継動作としてソフトウェア中継またはハードウェア中継を選択するための条件としては、ＤＨＣＰスヌーピング設定情報６０の確認によるポート５の「有効」「無効」を判別する点と、受信したパケットの宛先のＵＤＰポート番号をみて宛先がＤＨＣＰサーバであるかを判別する点とを含む。
【０１０５】
［ＤＨＣＰ要求のパケットの中継動作］
図８は、実施の形態２の中継装置１のＤＨＣＰ要求のパケットの中継動作を示す。端末ＰＣ１、端末ＰＣ２は、ＤＨＣＰによるＩＰアドレスの割り当ての前の状態とする。
【０１０６】
８０１は、送信元の端末ＰＣ１のＤＨＣＰクライアントプロセス２１からの、宛先のサーバ３のＤＨＣＰサーバプロセス３１に対する、ＤＨＣＰ要求１０１についての、ソフトウェア中継を示す。８０２は、送信元の端末ＰＣ２のＤＨＣＰクライアントプロセス２１からの、宛先のサーバ３のＤＨＣＰサーバプロセス３１に対する、ＤＨＣＰ要求１０２についての、ハードウェア中継を示す。
【０１０７】
まず、端末ＰＣ１からのＤＨＣＰ要求１０１に関するソフトウェア中継８０１に関しては以下である。なお、以下では、ＤＨＣＰ要求１０１の宛先のＩＰアドレスがＩＰ４、ＭＡＣアドレスがＭ４でありユニキャストで処理する場合を説明するが、宛先が不明の場合はブロードキャストで処理される。中継装置１は、ＤＨＣＰ要求１０１のパケットをポートＰ１で受信する。インタフェースＬＳＩ１２は、ＤＨＣＰスヌーピング設定情報６０の確認により、当該パケットの受信ポートＰ１が「有効」であること等を認識する。また、インタフェースＬＳＩ１２は、当該パケットの宛先がＵＤＰポート番号＝６７であるＤＨＣＰサーバであること、すなわちＤＨＣＰ要求１０１のパケットであること等を認識する。この場合、インタフェースＬＳＩ１２は、当該パケットについて、ソフトウェア中継８０１を行う。
【０１０８】
インタフェースＬＳＩ１２は、ポートＰ１で受信したパケットの情報をＣＰＵ１１へ上げ、ＣＰＵ１１は、上げられたパケットの情報を受け取る。ＣＰＵ１１は、ＤＨＣＰスヌーピングプロセス１０により、当該パケットの情報を用いて、当該パケットの送信元ＭＡＣアドレスであるＭ１と、当該パケットの受信ポート５のＩＤであるＰ１との対応関係を含む情報を、内部ＤＢ５０に作成し保持する。本例では、ＣＰＵ１１は、内部ＤＢ５０に、図３の（ｂ）の例のように、ＶＩＤと受信ポートＩＤとＩＰアドレスと送信元ＭＡＣアドレスとの対応関係の情報、例えば｛Ｖ１，Ｐ１，ＩＰ１，Ｍ１｝を作成する。
【０１０９】
ＣＰＵ１１は、実施の形態１と同様に、当該パケットの宛先ＭＡＣアドレスをキーに転送ＤＢ４０を検索し、宛先ＭＡＣアドレスに関係付けられるポートＩＤとしてＰ４が得られた場合、中継先ポートをポートＰ４に決める。ＣＰＵ１１は、宛先ＭＡＣアドレスに関係付けられるポートＩＤが得られない場合、ブロードキャストを行う。
【０１１０】
ＣＰＵ１１は、当該パケットを、中継先ポートＰ４へ転送し、中継先ポートＰ４に当該パケットを外部へ送信させる。宛先のサーバ３のＤＨＣＰサーバプロセス３１は、当該ＤＨＣＰ要求１０１のパケットを受信し、所定の処理を行う。
【０１１１】
次に、端末ＰＣ２からのＤＨＣＰ要求１０２に関するハードウェア中継８０２については以下である。中継装置１は、ＤＨＣＰ要求１０２のパケットをポートＰ２で受信する。インタフェースＬＳＩ１２は、ＤＨＣＰスヌーピング設定情報６０の確認により、ポートＰ２の「無効」を認識する。この場合、インタフェースＬＳＩ１２は、当該パケットについて、ハードウェア中継８０２を行う。
【０１１２】
インタフェースＬＳＩ１２は、当該パケットについて、送信元のＭＡＣアドレスであるＭ２と、当該パケットの受信ポート５のＩＤであるＰ２との対応関係の情報を、転送ＤＢ４０に格納して学習する。インタフェースＬＳＩ１２は、当該パケットについて、例えば、宛先ＭＡＣアドレスであるＭ４をキーに、転送ＤＢ４０を検索し、これにより、ポートＩＤとしてＰ４が得られた場合、中継先ポート５をポートＰ４に決める。インタフェースＬＳＩ１２は、当該パケットを、受信ポートＰ２から中継先ポートＰ４へ転送し、中継先ポートＰ４に当該パケットを外部へ送信させる。宛先のサーバ３のＤＨＣＰサーバプロセス３１は、当該ＤＨＣＰ要求１０２のパケットを受信し、所定の処理を行う。
【０１１３】
更に、当該「無効」のポート５に関するハードウェア中継８０２では、インタフェースＬＳＩ１２は、パケットの宛先がＵＤＰポート番号＝６７であるＤＨＣＰサーバであること、すなわちＤＨＣＰ要求１０２であること等を認識する。ＤＨＣＰ要求１０２である場合、インタフェースＬＳＩ１２は、当該パケットの情報をＣＰＵ１１へ上げる。ＣＰＵ１１は、当該パケットの情報を用いて、内部ＤＢ５０に、当該パケットの情報を作成し保持する。作成される情報は、送信元ＭＡＣアドレスと受信ポートＩＤとの対応関係を含む情報として｛Ｖ１，Ｐ２，ＩＰ２，Ｍ２｝である。
【０１１４】
上記のように、実施の形態２の中継装置１は、受信ポートの「有効」「無効」、及び宛先のＵＤＰポート番号に応じて、ソフトウェア中継またはハードウェア中継を選択して行う。また、ＤＨＣＰ要求の場合のハードウェア中継では、ＣＰＵ１１の付随的な処理を伴う。
【０１１５】
［ＤＨＣＰ承認のパケットの中継動作］
図９は、実施の形態２の中継装置１のＤＨＣＰ承認のパケットの中継動作を示す。端末ＰＣ１、端末ＰＣ２は、それぞれ、ＤＨＣＰによるＩＰアドレスの割り当ての後の状態では、ＩＰアドレスがＩＰ１、ＩＰ２となる。
【０１１６】
９０１は、送信元のサーバ３のＤＨＣＰサーバプロセス３１からの、宛先の端末ＰＣ１のＤＨＣＰクライアントプロセス２１に対する、ＤＨＣＰ承認１０４のパケットについての、ソフトウェア中継を示す。９０２は、送信元のサーバ３のＤＨＣＰサーバプロセス３１からの、宛先の端末ＰＣ２のＤＨＣＰクライアントプロセス２１に対する、ＤＨＣＰ承認１０４のパケットについての、ソフトウェア中継を示す。
【０１１７】
まず、端末ＰＣ１へのＤＨＣＰ承認１０４に関するソフトウェア中継９０１については以下である。中継装置１は、ＤＨＣＰ承認１０４のパケットをポートＰ４で受信する。実施の形態２の中継装置１は、中継先ポート５によらずに、いずれの場合もソフトウェア中継を行う。インタフェースＬＳＩ１２は、当該パケットの情報をＣＰＵ１１へ上げる。ＣＰＵ１１は、ソフトウェア中継９０１に対応した処理として、ＤＨＣＰ承認１０４の中のＤＨＣＰクライアントへ割り当てられるＩＰアドレスであるＩＰ１をキーに、内部ＤＢ５０の情報を検索する。内部ＤＢ５０には、前述のＤＨＣＰ要求１０１のソフトウェア中継８０１の際に情報として｛Ｖ１，Ｐ１，ＩＰ１，Ｍ１｝が作成済みである。よって、ＣＰＵ１１は、当該検索から、ポートＩＤとしてＰ１が得られるので、中継先ポート５がポートＰ１に決まる。
【０１１８】
また、ＣＰＵ１１は、ＤＨＣＰスヌーピングプロセス１０により、当該パケットの中継先ポート５の「有効」「無効」を確認する。ＣＰＵ１１は、例えばインタフェースＬＳＩ１２内のＤＨＣＰスヌーピング設定情報６０を参照し、中継先ポート５の「有効」「無効」を確認する。あるいは、ＣＰＵ１１は、予めメモリ１３にＤＨＣＰスヌーピング設定情報６０の内容を保持している場合は、その情報を参照して確認してもよい。当該確認により、例えば中継先ポートＰ１が「有効」とわかる。
【０１１９】
ＣＰＵ１１は、中継先ポートＰ１が「有効」の場合、ＤＨＣＰスヌーピングプロセス１０により、前述と同様に、フィルタリングを適用する。すなわち、ＣＰＵ１１は、ＤＨＣＰ承認１０１によりＩＰアドレス＝ＩＰ１が割り当てられる端末ＰＣ１に関して、フィルタ設定情報７０の内容を設定する。例えば、ＣＰＵ１１は、フィルタ設定情報７０に、当該ポートＰ１を通じた端末ＰＣ１の通信を許可する情報として｛Ｐ１，ＩＰ１｝を設定する。
【０１２０】
ＣＰＵ１１は、上記処理後、当該パケットを中継先ポートＰ１へ転送し、中継先ポートＰ１に当該パケットを外部へ送信させる。宛先の端末ＰＣ１のＤＨＣＰクライアントプロセス２１は、当該ＤＨＣＰ承認１０４のパケットを受信し、所定の処理を行う。
【０１２１】
次に、端末ＰＣ２へのＤＨＣＰ承認１０４に関するソフトウェア中継９０２については以下である。中継装置１は、ＤＨＣＰ承認１０４のパケットをポートＰ４で受信する。インタフェースＬＳＩ１２は、同様に、当該パケットの情報をＣＰＵ１１へ上げる。ＣＰＵ１１は、ソフトウェア中継９０２に対応した処理として、ＤＨＣＰ承認１０４の中のＤＨＣＰクライアントへ割り当てられるＩＰアドレスであるＩＰ２をキーに、内部ＤＢ５０の情報を検索する。前述のＤＨＣＰ要求１０２のハードウェア中継８０２に伴うＣＰＵ１１の処理で内部ＤＢ５０には情報として｛Ｖ１，Ｐ２，ＩＰ２，Ｍ２｝が作成済みである。よって、ＣＰＵ１１は、当該検索から、中継先ポート５をポートＰ２に決めることができる。
【０１２２】
また、ＣＰＵ１１は、上記内部ＤＢ５０の検索の結果、該当のポートＩＤ等の情報が登録されていない場合、宛先ＭＡＣアドレスであるＭ２をキーに、転送ＤＢ４０を検索する。例えば、ＤＨＣＰ要求１０２のハードウェア中継８０２の際に転送ＤＢ４０に情報として｛Ｍ２，Ｐ２｝が登録済みである場合、当該検索の結果、宛先のＭ２に関係付けられたポートＩＤとしてＰ２が得られる。ＣＰＵ１１は、当該検索の結果、該当のポートＩＤ等の情報が得られた場合、中継先ポート５を１つに決めることができる。
【０１２３】
なお、上記ＣＰＵ１１による転送ＤＢ４０の検索において、該当のエントリである｛Ｍ２，Ｐ２｝が無い場合、中継装置１は、受信ポートを除く全ポートを中継先とした転送であるフラッディングを行う。
【０１２４】
また、ＣＰＵ１１は、ＤＨＣＰスヌーピングプロセス１０により、同様にＤＨＣＰスヌーピング設定情報６０を参照し、当該パケットの中継先ポート５であるポートＰ２が「無効」とわかる。ＣＰＵ１１は、中継先ポート５が「無効」の場合、ＤＨＣＰスヌーピングプロセス１０によるフィルタリングを適用しない。
【０１２５】
ＣＰＵ１１は、上記処理後、当該パケットを中継先ポートＰ２へ転送し、中継先ポートＰ２に当該パケットを外部へ送信させる。宛先の端末ＰＣ２のＤＨＣＰクライアントプロセス２１は、当該ＤＨＣＰ承認１０４のパケットを受信し、所定の処理を行う。
【０１２６】
上記のように、実施の形態２におけるＤＨＣＰに係わるパケットの中継の方式は、受信ポート５が「無効」であるＤＨＣＰサーバへのＤＨＣＰ要求１０２についてはハードウェア中継８０２を行い、逆に中継先ポート５が「無効」であるＤＨＣＰ承認１０４についてはソフトウェア中継９０２を行う。
【０１２７】
［効果等］
以上説明したように、実施の形態２の中継装置１によれば、ＤＨＣＰスヌーピング機能を備える構成で動作速度を向上できる。実施の形態２は、ＤＨＣＰ要求等の中継をソフトウェア中継からハードウェア中継に変更してソフトウェアの処理を減らした分、動作速度が速い。
【０１２８】
また、実施の形態２によれば、「有効」及び「無効」のポートに関するＤＨＣＰ承認等の中継をソフトウェア中継とする方式であり、この方式の実現のためには既存のパケットフィルタ８０等の使用は必要ではなく、既存のパケットフィルタ８０の設定内容をそのまま利用することも可能である。すなわち、実施の形態２は、既存のパケットフィルタ８０等のリソースの消費を抑える点や、既存のパケットフィルタ８０によるプロトコル動作や機能との競合等を抑える点、等の利点がある。
【０１２９】
また、実施の形態２の中継装置１は、実施の形態１と同様に、ＤＨＣＰスヌーピング設定情報６０を参照してポート５毎の「有効」「無効」を確認する形態としたので、ポート５毎の「有効」「無効」に応じた中継動作を高速に実現できる。
【０１３０】
以上、本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。他の実施の形態の中継装置として、実施の形態１や実施の形態２の中継装置１の構成は、ラインカード等を搭載するシャーシ型の中継装置にも適用可能である。
【符号の説明】
【０１３１】
１…中継装置、２…端末、３…サーバ、４…ＬＡＮ、５…ポート、１０…ＤＨＣＰスヌーピングプロセス、１１…ＣＰＵ、１２…インタフェースＬＳＩ、１３…メモリ、２１…ＤＨＣＰクライアントプロセス、３１…ＤＨＣＰサーバプロセス、４０…転送ＤＢ、５０…内部ＤＢ、６０…ＤＨＣＰスヌーピング設定情報、７０…フィルタ設定情報、８０…パケットフィルタ、１０１，１０２…ＤＨＣＰ要求、１０４…ＤＨＣＰ承認。
【図１】
2016054332.tif 000003
【図２】
2016054332.tif 000004
【図３】
2016054332.tif 000005
【図４】
2016054332.tif 000006
【図５】
2016054332.tif 000007
【図６】
2016054332.tif 000008
【図７】
2016054332.tif 000009
【図８】
2016054332.tif 000010
【図９】
2016054332.tif 000011