(57)【要約】【解決手段】  物理層デバイスは、メモリ、メモリ制御モジュールおよび物理層モジュールを備える。メモリ制御モジュールは、メモリへのアクセスを制御する。物理層モジュールは、メモリ制御モジュールを用いて、メモリにパケットを格納する。物理層モジュールは、ネットワークおよびインターフェースバスを用いて、ネットワークデバイスからパケットを受信するインターフェースを有する。インターフェースバスは、制御モジュールおよび正規表現モジュールのうち少なくとも一方を含む。制御モジュールおよび正規表現モジュールのうち少なくとも一方は、パケットのセキュリティレベルを決定するべく、パケットを検査する。ネットワークインターフェースは、セキュリティレベルに基づき、物理層デバイスとは別個のデバイスにパケットを提供する。【選択図】  図４
2014525703.tif 000002
【特許請求の範囲】
【請求項１】
物理層デバイスであって、
メモリと、
前記メモリへのアクセスを制御するメモリ制御モジュールと、
前記メモリ制御モジュールを用いて前記メモリに複数のパケットを格納する物理層モジュールと、
ネットワークインターフェースと
を備え、
前記物理層モジュールは、
ネットワークを介してネットワークデバイスから前記複数のパケットを受信する少なくとも一のインターフェースと、
制御モジュールおよび正規表現モジュールのうち少なくとも一方を含むインターフェースバスと
を有し、
前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記複数のパケットのセキュリティレベルを決定するべく前記複数のパケットを検査し、
前記ネットワークインターフェースは、前記セキュリティレベルに基づいて、前記物理層デバイスとは別個のデバイスに前記複数のパケットを提供する物理層デバイス。
【請求項２】
前記メモリは、ダブルデータレートメモリを有し、前記物理層モジュールと前記メモリとの間に接続されているメモリインターフェースを介してアクセス可能である請求項１に記載の物理層デバイス。
【請求項３】
前記物理層デバイスは、第１のシステムインパッケージで実現され、
前記メモリは、第２のシステムインパッケージで実現され、
前記第１のシステムインパッケージおよび前記第２のシステムインパッケージは積層されている請求項１または２に記載の物理層デバイス。
【請求項４】
前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記複数のパケットのそれぞれの前記セキュリティレベルを、
有効、
前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方を用いてさらに検査されるべきパケット、
前記物理層デバイスとは別個の中央制御モジュールに、さらに検査されるべくトンネリングされるべきパケット、および、
無効
のうちいずれか１つであると判断する請求項１から３の何れか１項に記載の物理層デバイス。
【請求項５】
有効というセキュリティレベルを持つ前記複数のパケットのそれぞれは、前記物理層デバイスから前記物理層デバイスとは別個の前記デバイスへと転送され、
無効というセキュリティレベルを持つ前記複数のパケットのそれぞれは、ドロップされる請求項４に記載の物理層デバイス。
【請求項６】
前記物理層デバイスとは別個の前記デバイスは、ファブリックカードの統合スイッチであり、
前記物理層モジュールは、ラインカードにおいて実現され、前記ファブリックカードと通信する
請求項１から５の何れか１項に記載の物理層デバイス。
【請求項７】
前記ネットワークインターフェースは、前記複数のパケットのうち選択されたパケットを中央制御モジュールに提供し、
前記中央制御モジュールは、前記物理層デバイスとは別個であり、
前記ネットワークインターフェースは、前記中央制御モジュールによって実行される前記複数のパケットのうち前記選択されたパケットの検査に基づいて、前記複数のパケットのうち前記選択されたパケット以外のパケットを転送する請求項１から６の何れか１項に記載の物理層デバイス。
【請求項８】
三値連想メモリをさらに備え、
前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記三値連想メモリを用いて、前記複数のパケットを検査して前記複数のパケットの前記セキュリティレベルを決定する請求項１から７の何れか１項に記載の物理層デバイス。
【請求項９】
前記メモリは、第１のメモリであり、
前記インターフェースバスは、第２のメモリを含み、
前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記複数のパケットおよび対応するパケット情報を、前記第１のメモリおよび前記第２のメモリのうち少なくとも一方に格納するか否かを判断し、
前記パケット情報は、前記複数のパケットの前記セキュリティレベルを含む請求項１から８の何れか１項に記載の物理層デバイス。
【請求項１０】
前記物理層モジュールは、第１の物理層モジュールであり、
前記物理層デバイスはさらに、第２の物理層モジュールを備え、
前記第２の物理層モジュールは、前記第１の物理層モジュールと前記メモリを共有する請求項１から９の何れか１項に記載の物理層デバイス。
【請求項１１】
ルールおよびテーブルのうち少なくとも一方を格納するセキュリティキャッシュモジュールと、
前記ルールおよび前記テーブルに基づき、前記複数のパケットを検査する入力パーシングモジュールと
をさらに備える請求項１から１０の何れか１項に記載の物理層デバイス。
【請求項１２】
前記制御モジュールは、検査結果を生成するべく前記複数のパケットを検査し、前記検査結果に基づいて前記セキュリティキャッシュモジュールを更新する請求項１１に記載の物理層デバイス。
【請求項１３】
前記物理層モジュールはさらに、
第１のコマンド信号を生成するべく前記複数のパケットを検査する第１のモジュールと、
第２のコマンド信号を生成するべく前記複数のパケットを検査する第２のモジュールと
を有し、
前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記複数のパケットを検査し、第３のコマンド信号を生成し、
前記物理層モジュールはさらに、
前記第１のコマンド信号、前記第２のコマンド信号および前記第３のコマンド信号に基づいてセキュリティレベル信号を生成するセキュリティレベルモジュール
を有し、
前記ネットワークインターフェースは、前記セキュリティレベル信号に基づき、前記物理層デバイスとは別個の前記デバイスに前記複数のパケットを提供する請求項１から１２の何れか１項に記載の物理層デバイス。
【請求項１４】
前記物理層モジュールは、複数のモジュールを有し、
前記複数のモジュールはそれぞれ、前記複数のパケットを検査して、複数のセキュリティレベル推定結果を生成し、
前記物理層モジュールはさらに、前記複数のセキュリティレベル推定結果に基づきセキュリティレベル信号を生成するセキュリティレベルモジュールを有し、
前記セキュリティレベル信号に基づき、前記ネットワークインターフェースは、前記物理層デバイスとは別個の前記デバイスに前記複数のパケットを提供する請求項１から１３の何れか１項に記載の物理層デバイス。
【請求項１５】
前記ネットワークインターフェースは、前記複数のパケットのうち選択されたパケットを検査のために中央制御モジュールに提供し、
前記中央制御モジュールは、前記物理層デバイスとは別個であり、
前記物理層モジュールは、前記中央制御モジュールで実行される前記検査に基づいて前記中央制御モジュールから指示信号を受信し、前記指示信号に基づいて、前記複数のパケットのうち前記選択されたパケット以外のパケットを転送する
請求項１から１４の何れか１項に記載の物理層デバイス。
【請求項１６】
複数のラインカードを備えるアクセスシャーシであって、
前記複数のラインカードのうち第１のラインカードは、請求項１に記載の前記物理層デバイスを含み、
前記複数のラインカードは、前記ネットワークデバイスから前記複数のパケットを受信し、前記物理層デバイスとは別個の前記デバイスに前記複数のパケットを送信し、
前記アクセスシャーシはさらに、
前記第１のラインカードと前記複数のラインカードのうち第２のラインカードとの間で接続のスイッチングを行い、前記第１のラインカードから前記第２のラインカードへと前記複数のパケットを転送する少なくとも一のファブリックカードを備えるアクセスシャーシ。
【請求項１７】
前記少なくとも一のファブリックカードは、中央制御モジュールを有し、
前記物理層モジュールの入力モジュールおよび出力モジュールのうち一方は、前記複数のパケットのうち選択されたパケットを前記中央制御モジュールで検査すべきか否かを判断し、
前記中央制御モジュールは、前記複数のパケットのうち前記選択されたパケットを前記中央制御モジュールで検査すべきか否かを判断することに基づいて、前記複数のパケットのうち前記選択されたパケットを検査する請求項１６に記載のアクセスシャーシ。
【請求項１８】
前記中央制御モジュールは、前記複数のパケットのうち前記選択されたパケットと同様の形式を持つパケットをドロップするか、または、転送するかを示す指示信号を生成し、
前記指示信号に基づき、前記物理層デバイスは、前記複数のパケットのうち前記選択されたパケットと同様の形式を持つ前記パケットをドロップまたは転送する請求項１７に記載のアクセスシャーシ。
【請求項１９】
物理層モジュールのインターフェースにおいてネットワークを介してネットワークデバイスから複数のパケットを受信する段階と、
前記複数のパケットをメモリに格納するべく物理層デバイスからメモリ制御モジュールへと前記複数のパケットを転送する段階と、
制御モジュールおよび正規表現モジュールのうち少なくとも一方を用いて前記複数のパケットのセキュリティレベルを決定するべく前記複数のパケットを検査する段階と、
前記セキュリティレベルに基づいて、物理層インターフェースを用いて、前記物理層デバイスとは別個のデバイスに前記複数のパケットを提供する段階と
を備え、
前記物理層デバイスは、前記物理層モジュールを含み、
前記物理層モジュールは、インターフェースバスを含み、
前記インターフェースバスは、前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方を含む方法。
【請求項２０】
第１のモジュールを用いて第１のコマンド信号を生成するべく前記複数のパケットを検査する段階と、
第２のモジュールを用いて第２のコマンド信号を生成するべく前記複数のパケットを検査する段階と、
第３のコマンド信号を生成するべく、前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方を用いて、前記複数のパケットを検査する段階と、
前記第１のコマンド信号、前記第２のコマンド信号および前記第３のコマンド信号に基づいて、セキュリティレベル信号を生成する段階と、
前記セキュリティレベル信号に基づき、前記複数のパケットを前記物理層デバイスとは別個の前記デバイスに提供する段階と
をさらに備える請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願＞
本願は、米国特許出願第１３／５７１，８７０号（出願日：２０１２年８月１０日）に基づき優先権を主張すると共に、米国仮特許出願第６１／５２２，１５８号（出願日：２０１１年８月１０日）、米国仮特許出願第６１／５３３，４３６号（出願日：２０１１年９月１２日）、および、米国仮特許出願第６１／５５０，３１５号（出願日：２０１１年１０月２１日）の恩恵を主張する。上記の出願の開示内容は全て、参照により本願に組み込まれる。
【０００２】
本開示は、ネットワークデバイス内のセキュリティ検出システムに関する。
【背景技術】
【０００３】
本明細書に記載する背景技術の説明は、本開示がどのような文脈で為されたかの概要を説明する目的で記載するものである。本願の発明者として名前を挙げているものの研究内容は、この背景技術のセクションに記載されている限りにおいて、出願時に先行技術と認められない部分と同様に、本開示に対する先行技術として明示的にも暗示的にも認めるものではない。
【０００４】
アクセスネットワークは、２以上のネットワークデバイス間において、および／または、ネットワークデバイスとインターネットとの間において接続を実現する。ネットワークデバイスは、例えば、ユーザデバイス、周辺デバイスおよびデータストレージデバイスを含むとしてよい。このようなデバイスは、１以上のネットワーク内に設けられているとしてよい。デバイス間、および／または、デバイスとインターネットとの間において、アップリンク信号および／またはダウンリンク信号のために接続が構築される。
【０００５】
一例として、イーサネット（登録商標）ベースのアクセスネットワークはアクセスシャーシを含むとしてよい。アクセスシャーシは、ネットワークデバイス間において、および／または、ネットワークデバイスとインターネットとの間において、接続を実現する。アクセスシャーシは、例えば、ファブリックカード（例えば、２個のファブリックカード）およびラインカード（例えば、１６個のラインカード）を含むとしてよい。各ファブリックカードは、各ラインカードに接続することができる。ラインカードは、イーサネット（登録商標）ネットワークを介して、ネットワークデバイスに接続される。ラインカードのうち１以上のラインカードの所定のポートまたはアップリンクポートは、インターネットに接続されるとしてよい。ファブリックカードは、ラインカード間の接続を実現する。ラインカードは、ネットワークデバイスとファブリックカードとの間において、および／または、ファブリックカードとインターネットとの間において接続を実現する。
【０００６】
各ファブリックカードは通常、統合スイッチおよび中央制御モジュールを含む。統合スイッチは、例えば、ａ）第１のラインカードに接続されている第１のユーザデバイスから、ｂ）第２のラインカードに接続されている第２のユーザデバイスまたはインターネットへと信号をルーティングするべく、ラインカード同士の接続を実現する。中央制御モジュールは、接続の状態を制御し、ラインカード間のパケットの転送を制御する。各ラインカードは通常、アクセススイッチおよび複数のＰＨＹデバイス（例えば、６個のＰＨＹデバイス）を含む。各ＰＨＹデバイスは、１以上のＰＨＹモジュールを含む。アクセススイッチは、ファブリックカード上に配置されている統合スイッチと、ＰＨＹモジュールとの間に接続を実現する。
【発明の概要】
【課題を解決するための手段】
【０００７】
物理層デバイスが提供され、当該物理層デバイスは、メモリ、メモリ制御モジュールおよび物理層モジュールを備える。メモリ制御モジュールは、メモリへのアクセスを制御する。物理層モジュールは、メモリ制御モジュールを介してメモリ内にパケットを格納する。物理層モジュールは、ネットワークおよびインターフェースバスを介してネットワークデバイスからパケットを受信するインターフェースを備える。インターフェースバスは、制御モジュールおよび正規表現モジュールのうち少なくとも一方を含む。制御モジュールおよび正規表現モジュールのうち少なくとも一方は、パケットのセキュリティレベルを判断するべくパケットを検査する。ネットワークインターフェースは、セキュリティレベルに基づいて、物理層デバイスとは別個のデバイスにパケットを提供する。
【０００８】
他の特徴を挙げると、方法が提供され、当該方法は、物理層モジュールのインターフェースにおいて、ネットワークを介して、ネットワークデバイスからパケットを受信する段階を備える。パケットは、パケットをメモリに格納するべく、物理層デバイスからメモリ制御モジュールへと転送される。物理層デバイスは、物理層モジュールを含む。物理層モジュールは、インターフェースバスを含む。パケットを検査して、制御モジュールおよび正規表現モジュールのうち少なくとも一方を用いて当該パケットのセキュリティレベルを判断する。インターフェースバスは、制御モジュールおよび正規表現モジュールの少なくとも一方を含む。セキュリティレベルに基づき、物理層デバイスとは別個のデバイスへ、物理層インターフェースを介してパケットを提供する。
【０００９】
他の特徴を挙げると、物理層デバイスがさらに提供され、当該物理層デバイスは、メモリインターフェース、メモリ制御モジュール、物理層モジュール、および、第２のネットワークインターフェースを有する。メモリインターフェースはメモリに接続されている。メモリ制御モジュールは、メモリへのアクセスを制御する。物理層モジュールは、第１のネットワークインターフェースにおいてネットワークを介してネットワークデバイスからパケットを受信し、メモリ制御モジュールを介してメモリにパケットを格納する。物理層モジュールは、メモリとは別個である。第２のネットワークインターフェースは、物理層デバイスおよびメモリとは別個のデバイスにパケットを提供する。
【００１０】
本開示内容を適用するその他の分野については、詳細な説明、請求項および図面から明らかになるであろう。詳細な説明および具体的な例は、説明を目的として紹介されているに過ぎず、本開示の範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
詳細な説明および添付図面に基づき本開示の理解を深められたい。添付図面は以下の通りである。
【００１２】
【図１】本開示にしたがった、アクセスシャーシを組み込んだアクセスネットワークを示す機能ブロック図である。
【００１３】
【図２】図１にアクセスシャーシの一部を示す機能ブロック図である。
【００１４】
【図３】本開示にしたがった、ＰＨＹデバイスを組み込んだ別のアクセスネットワークを示す機能ブロック図である。
【００１５】
【図４】本開示にしたがった、ＰＨＹデバイスを示す機能ブロック図である。
【００１６】
【図５】本開示にしたがった、マルチレベルセキュリティ検出を実現するＰＨＹモジュールの入力部分を示す機能ブロック図である。
【００１７】
【図６】本開示にしたがった、ネットワークインターフェースを示す機能ブロック図である。
【００１８】
【図７】本開示にしたがった、セキュリティ検出方法を含むネットワークアクセス方法を示す図である。
【発明を実施するための形態】
【００１９】
アクセスネットワークは、ファブリックカードおよびラインカードを有するアクセスシャーシを備えるとしてよい。ファブリックカードはそれぞれ、統合スイッチおよび中央制御モジュールを含むとしてよい。ラインカードはそれぞれ、アクセススイッチおよび複数のＰＨＹデバイスを含むとしてよい。各ファブリックカードは中央制御モジュールおよび統合スイッチを含み、各ラインカードはアクセススイッチを含むので、アクセスシャーシに対応付けられる制御プレーンは複雑である。ラインカードは、アクセススイッチを含んでおりアクセススイッチを動作させるので、高コストおよび／または高出力のカードであると考えられているとしてよい。アクセスシャーシはアップグレードが制限されるとしてよい。これは、制御固有アップグレード（例えば、スイッチ接続の実現方法を変更するアップグレード）を実行するためには各ラインカードを交換する必要があるためである。
【００２０】
以下の例では、複数のアクセスネットワークが提供される。第１のアクセスネットワークを図１および図２に示す。第１のアクセスネットワークは、アクセススイッチを含まないラインカードを備える。ラインカード間、ネットワークデバイス間、および、ネットワークデバイスとインターネットとの間のスイッチングは、ファブリックカードを用いて実現される。この結果、これらのラインカードは、低コストおよび／または低出力のラインカードと呼ばれることがある。ラインカードは、ディープパケットインスペクション（ＤＰＩ）を実行するＰＨＹモジュールを含む。ＤＰＩは、パケットが有効なパケットであるか、または、無効なパケットであるかを判断するべくパケットを検査することを含む。パケットは、当該パケットの形式が誤りである場合、攻撃および／またはウイルスに対応付けられているパターンを持つ場合、不適切な値を持つ場合、スパムを含む場合、セキュリティ上の脅威を発生させる場合、および／または、所定の基準を満たさない場合、無効なパケットであるとしてよい。ＤＰＩは、１以上のパケットのヘッダおよび／またはペイロードの検査を含むとしてよい。ヘッダは、例えば、インターネットプロトコル（ＩＰ）ヘッダ、トランスミッションコントロールプロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）および／または他のヘッダを含むとしてよい。
【００２１】
ラインカードがアクセススイッチを含まず、ファブリックカードが、ラインカード、ネットワークデバイスおよびインターネットについてアクセス機能、統合機能およびスイッチング機能を制御するので、アクセスネットワークシャーシは容易に更新可能である。アップグレード時、制御ロジック、ソフトウェアおよび／またはハードウェアは、変更および／または交換されるとしてよい。アクセスネットワークは単に、ファブリックカードのうち１以上を交換することによって更新されるとしてよく、ラインカードは交換しない。また、数多くのラインカードおよびファブリックカードで実行されることとは対照的に、１以上の中央に集中した位置において接続のスイッチングが実行されるので、アクセスネットワークに対応付けられている制御プレーンの複雑さは軽減される。図１および図２のアクセスネットワーク、ならびに、他の例であるアクセスネットワークおよび対応する特徴を以下に説明する。
【００２２】
図１において、アクセスネットワーク１０を図示している。一例として、アクセスネットワーク１０はアプリケーション認識ネットワークであるとしてよい。アプリケーション認識ネットワークは、アプリケーションおよびサービスと直接協働して、アプリケーション固有の要件に対するネットワークの応答性を最大化するネットワークであるアプリケーション認識ネットワーク内のモジュールは、当該ネットワーク内の複数の異なるポイントで呼び出される方法を含むオブジェクトを搬送するとしてよい。当該方法にしたがって、スイッチおよび処理デバイスに対してアプリケーション固有のプログラミングを実行する。モジュールは、アプリケーション固有の要件を満たすべく、カスタマイズされた計算およびリソース管理を実行する。アプリケーション認識ネットワークは、専用のネットワークおよび／またはローカルエリアネットワーク（ＬＡＮ）のセキュリティを管理するために用いられるとしてよい。
【００２３】
アクセスネットワーク１０は、アクセスシャーシ１２、ネットワーク１４、インターネット１６、および、ネットワークデバイス１８（ｐ個のネットワークデバイスを図示）を備えるとしてよい。アクセスシャーシ１２は、ネットワーク１４を介してネットワークデバイス１８に接続されている。ネットワーク１４は、例えば、イーサネット（登録商標）ネットワークであってよい。アクセスシャーシ１２は、ネットワークデバイス１８間において、および／または、ネットワークデバイス１８とインターネット１６との間において、信号をルーティングする。ネットワークデバイス１８は、ユーザデバイス、周辺機器、および／または、データストレージデバイスを含むとしてよい。ユーザデバイスは、コンピュータ、携帯電話、セットトップボックス、テレビ等を含むとしてよい。
【００２４】
アクセスシャーシ１２は、１以上のファブリックカード２０（図示しているのは２個）と、１以上のラインカード２２（図示しているのはｎ個）とを有する。ラインカード２２は、ＰＨＹデバイス２４を含む。ＰＨＹデバイスの一例は図４に示す。図示している例では、各ラインカード２２は、ｍ個のＰＨＹデバイスを含む。一例として、アクセスシャーシ１２は、４８個のラインカードを含むとしてよい。各ラインカードは、１以上のＰＨＹデバイス（例えば、６個のＰＨＹデバイス）を含む。各ファブリックカード２０は、ラインカード２２同士の間、同一ラインカード上の複数のＰＨＹデバイス２４同士の間、および／または、複数のラインカード２２のうち異なるラインカード２２上の複数のＰＨＹデバイス同士の間に接続を実現する統合スイッチ２６を含む。
【００２５】
さらに図２を参照すると、アクセスシャーシ１２の一部３０を図示している。一部３０は、ファブリックカード２０のうち１つ（３２と表示）およびラインカード２２のうち１つ（３４と表示）を含む。各ファブリックカード２０は、中央制御モジュール３６、統合スイッチ（図２では３８と表示）およびメモリデバイス４０を含むとしてよい。一実施例によると、中央制御モジュール３６は、統合スイッチ３８には含まれていない。統合スイッチ３８は、複数のラインカード２２上の複数のＰＨＹデバイス２４の間で切り替えを行い、スイッチングを中央に集中化する。中央制御モジュール３６は、統合スイッチ３８内のスイッチ４２の状態を制御するとしてよい。
【００２６】
メモリデバイス４０はそれぞれ、例えば、ダブルデータレートタイプ３（ＤＤＲ３）シンクロナスランダムアクセスメモリ（ＳＲＡＭ）および／または他の適切なメモリ、例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含むとしてよい。各ラインカード２２は、ＰＨＹデバイス２４のうち対応するＰＨＹデバイス２４を含み（例えば、第１のラインカード３４のＰＨＹデバイスは図２において４４と表示）、アクセススイッチは含まない。アクセススイッチは、ラインカード上に配置されているスイッチを意味し、アクセスシャーシのファブリックカードとラインカードとの間に接続を実現する。
【００２７】
ＰＨＹデバイス４４は、スイッチングの中央への集中化を可能とする。スイッチングは、ＰＨＹデバイス４４では行われず、ファブリックカード２０で行われる。ＰＨＹデバイス４４は、受信したパケットをファブリックカード４４に転送し、その後、予測されたデスティネーションまたは元々選択されていたデスティネーションまで転送させる。各ＰＨＹデバイス４４はＤＰＩを実行するとしてよい。これによって、アクセスネットワーク３０のエッジでＤＰＩが実行される。アクセスネットワークのエッジは、アクセスシャーシ３２とネットワーク１４との間の境界、および／または、アクセスシャーシ３２とネットワークデバイス１８との間の境界を意味するとしてよい。ＤＰＩは、ＰＨＹデバイス４４のうち１つのＰＨＹデバイス４４のＰＨＹモジュールがパケットは有効なパケットであるか無効なパケットであるかを判断できない場合に、パケットを中央制御モジュール３６に送信することを含むとしてよい。一例を挙げると、パケットは、検査のために、統合スイッチ３８を介してＰＨＹモジュールから中央制御モジュール３６に転送されるとしてよい。中央制御モジュール３６は、パケットを検査してパケットが有効か否かを判断した後、検査結果に基づいて、ＰＨＹモジュールにパケットをドロップ（つまり、削除し、および／または、当該パケットと類似したパケットを今後送信しないようにする）するか、または、第１のパケットと同様のパケットを転送するかをＰＨＹモジュールに指示する。無効なパケットはドロップされるとしてよく、有効なパケットは転送されるとしてよい。同様のパケットとは、形式、ソースアドレス、デスティネーションアドレス、および／または、他のパケットパラメータおよび／またはフィールドが同一であるパケットを意味するとしてよい。
【００２８】
ＰＨＹモジュールは、入力パケットを検査して、入力パケットを統合スイッチ３８へと転送し、さらに検査するべく中央制御モジュール３６へと入力パケットをトンネリングさせ、および／または、入力パケットのうち無効または脅威となるパケットをドロップするとしてよい。パケット検査において、ＰＨＹデバイス４４のＰＨＹハードウェアは、入力パケットを、有効なパケット、さらにローカライズされた検査が実行されるべきパケット、中央に集中化された検査を実行すべきパケット、または無効なパケットと特定する。ローカライズされた検査とは、ＰＨＹデバイス４４内で実行される検査および／またはＰＨＹデバイス４４内のモジュールが実行する検査を意味する。中央に集中化された検査とは、ＰＨＹデバイス４４の外部で、そして、例えば、中央制御モジュール３６内で実行する検査を意味する。有効なパケットとは、即座に（所定の期間内に）および／または明確に安全で正しく（１以上のエラーを含まない）、および／または、適切な形式、署名および／またはパターンを持つと判断されパケットを意味するとしてよい。一例を挙げると、特定のローカルソースから受信したパケットは、当該ソースの受信アドレスに基づき、有効であると判断されるとしてよい。
【００２９】
さらに中央に集中化された検査が実行されるべきパケットは、ＰＨＹハードウェアおよび／または対応するＰＨＹデバイスのモジュールによって既に検査されたが、即座におよび／または明確には有効なパケットとは判断されなかったパケットを意味するとしてよい。このようなパケットは、１以上のエラーを含むか、形式が未知であるか、怪しいコンテンツを含むか、または、ローカルネットワークの外部のリモートソースから得られたものであるとしてよい。このため、当該パケットはさらに中央制御モジュール３６で検査するとしてよい。
【００３０】
トンネリングパケットは、ＰＨＹデバイスおよび／またはＰＨＹデバイスのモジュールには認識可能でないパケットであって、ＰＨＹデバイスおよび／またはＰＨＹデバイスのモジュールによって既に検査されているとしてよく、および／または、ＰＨＹデバイスおよび／またはＰＨＹデバイスのモジュールが当該パケットが有効なパケットであるかまたは無効なパケットであるかを判断できないパケットを意味する。トンネリングパケットは、ＰＨＹデバイスおよび／またはＰＨＹデバイスのモジュールによって検査されないとしてよく、単に中央制御モジュール３６に転送されるとしてよい。無効なパケットは、検査により無効であると判断されたパケットである。無効なパケットは、形式、署名、パターンおよび／または値が不適切であるとしてよい。ＰＨＹデバイスおよび／またはＰＨＹデバイスのモジュールによってパケットが無効であると判断される場合、当該パケットは、ドロップされ、削除され、アクセスシャーシ内のデバイスまたはモジュールに転送されないように抑制され、および／または、ファブリックカード２０のうち１つに転送されないとしてよい。トンネリングパケットおよびさらにローカライズされた検査が実行されるべきであるパケットは、疑惑パケットと呼ばれるとしてよい。
【００３１】
ＰＨＹデバイス２４、４４はそれぞれ、各ファブリックカード２０への通信リンクを含むとしてよい。図２において、ＦＣ１はファブリックカード１を意味する。ＦＣ２はファブリックカード２を意味する。通信リンクＦＣ１、ＦＣ２のそれぞれの下付き文字は、ＰＨＹデバイス４４のうち１つを意味する。例えば、ＦＣ１１はファブリックカード１とＰＨＹデバイス１との間の通信リンクを意味する。ロードバランシングおよび／またはインターフェース冗長性のために、２つの通信リンクが設けられている。ロードバランシングは、同一期間において２つ以上のリンクを介して等量のデータを輸送することを含むとしてよい。インターフェース冗長性は、２つ以上のインターフェース（または通信リンク）を含むことを意味するとしてよく、これらのインターフェースのうち１以上は、インターフェースがディセーブルされた場合、または、利用不可能になった場合に利用できるようバックアップとして設けられる。
【００３２】
メモリデバイス４０は、命令、コード、ルール、テーブル、および／または、パケットデータを格納するために用いられるとしてよい。命令、コード、ルール、および／または、テーブルは、ＤＰＩを実行する際、および／または、スイッチ４２の状態を制御する際、中央制御モジュール３６、統合スイッチ３８、および／または、ＰＨＹデバイス４４によって利用されるとしてよい。メモリデバイス４０は、検査中のパケット、検査するべく選択されたパケットの複製、および／または、転送、アップリンクおよび／またはダウンリンクされるべきパケットを格納するために用いられるとしてよい。パケットは、当該パケットがアクセスシャース１２を介してネットワークデバイス１８の１つからインターネット１６に転送される際に、アップリンクされる。パケットは、当該パケットがアクセスシャーシ１２を介してインターネット１６からネットワークデバイス１８の１つへと転送される際に、ダウンリンクされる。
【００３３】
図３において、別のアクセスネットワーク５０を図示している。一例を挙げると、アクセスネットワーク５０は、アプリケーション認識ネットワークであってよく、１以上のアクセスシャーシ５２（図示しているのはｍ個）、ネットワーク１４、インターネット１６、および、ネットワークデバイス１８を含むとしてよい。アクセスシャーシ５２は、ルータ、スイッチ、コンピュータ、サーバ、または、他の適切なアクセスデバイスを含むとしてよい。各アクセスシャーシ５２は、ラインカード５４を含む。各ラインカード５４は、１以上のＰＨＹデバイス５６を含む。ＰＨＹデバイスの一例を図４に示す。各ＰＨＹデバイス５６は、１以上のＰＨＹモジュールを含む。一例となるＰＨＹモジュールを図４に示す。ＰＨＹデバイス５６は、ネットワーク１４を介してネットワークデバイス１８と通信する。
【００３４】
アクセスシャーシ５２は、アクセスシャーシ同士の間、同一アクセスシャーシの複数のＰＨＹデバイス同士の間、複数の異なるアクセスシャーシの複数のＰＨＹデバイス同士の間、および／または、ＰＨＹデバイスとインターネット１６との間において接続を実現するとしてよい。このため、アクセスシャーシ５２は、ネットワークデバイス１８同士の間、および／または、ネットワークデバイス１８とインターネット１６との間において接続を実現するとしてよい。
【００３５】
アクセスネットワーク５０はさらに、中央ネットワークデバイス６０を含むとしてよい。中央ネットワークデバイス６０は、アクセスシャーシ５２を制御するべく、ＤＰＩを実行するべく、および／または、アクセスシャーシ５２が認識しないパケット（トンネリングパケットと呼ぶ）を検査するべく、利用されるとしてよい。トンネリングパケットは、アクセスシャーシ、ＰＨＹデバイスおよび／またはＰＨＹデバイスのモジュールでは有効か無効化を判断できないパケットであるとしてよい。
【００３６】
中央ネットワークデバイス６０は、アクセスシャーシ５２からリモートのネットワーク内に配置されるとしてよく、および／または、アクセスシャーシ５２のローカルネットワーク内に配置されるとしてよい。中央ネットワークデバイス６０は、アクセスシャーシ５２のうち１以上の内部に配置されるとしてよい。中央ネットワークデバイス６０および／またはアクセスシャーシ５２のうち１以上のアクセスシャーシ５２を組み合わせることで、ネットワークデバイス１８に対して１以上のサービスを提供するサービスプロバイダを構成しているとしてよい。
【００３７】
図１から図３に図示したＰＨＹデバイス２４、４４、５６およびＰＨＹデバイス２４、４４、５６のモジュールは、例えば、ａ）ネットワーク１４またはインターネット１６と、ｂ）ラインカード２２、３４およびアクセスシャーシ５２内のＭＡＣデバイスおよび／または他のより高位のレイヤのデバイスとの間に配置および／または接続されているとしてよい。ＰＨＹデバイス２４、４４、５６は、ラインカード２２、３４およびアクセスシャーシ５２の物理層にあるデバイスを意味するとしてよい。
【００３８】
さらに図４を参照すると、ＰＨＹデバイス１００を図示している。ＰＨＹデバイス１００は、ネットワーク間のセキュリティファイアウォールを提供するべく、ゼロデイ攻撃防止を実行するべく、アクセスエンタープライズネットワークにおいて等で利用されるとしてよい。ＰＨＹデバイス１００は、ＰＨＹパッケージにおけるファイアウォールと呼ばれるとしてよい。ＰＨＹデバイス１００は、一のＰＨＹ層だけでなく、複数の国際標準化機構（ＩＳＯ）レイヤおよび／または開放型システム間相互接続（ＯＳＩ）レイヤにわたって動作するファイアウォール機能を提供するとしてよい。ファイアウォール機能は、複数のＰＨＹ層およびＰＨＹ層よりも高位の層（例えば、ＭＡＣ層）にわたって提供される。ゼロデイ攻撃は、コンピュータアプリケーションにおいてこれまでに未知の脆弱性を利用する攻撃である。ゼロデイ攻撃は、脆弱性を認識した「０日目」に発生する。これは、脆弱性に対処しパッチを適用するための日にちがゼロであったことを意味する。ゼロデイ攻撃は、攻撃を実行するセキュリティホールを利用するソフトウェアを利用する。ゼロデイ攻撃防止は、ゼロデイ攻撃の防止と呼ばれる。これは、ウイルスまたはワームに対応付けらえているパケット等、無効なパケットが拡散しないように（つまり、ネットワーク内でその先に進まないように）抑制することを含むとしてよい。これは、攻撃を検出すると、無効なパケットをドロップ（または削除）することを含む。このようなパケットの検出およびドロップは、ＰＨＹデバイス１００、ならびに／または、ＰＨＹデバイス１００のデバイスおよび／もしくはモジュールのうち１つによって実行されるとしてよい。
【００３９】
アクセスエンタープライズネットワークにおいて、ＰＨＹデバイス１００および／または１以上のデバイスおよび／またはＰＨＹデバイス１００のモジュールは、ネットワークデバイスがインターネット１６にアクセスしないように防止するべく、および／または、インターネット１６へのアクセスを限定するべく利用されるとしてよい。ＰＨＹデバイス１００のデバイスおよびモジュールの例を以下で説明する。
【００４０】
ＰＨＹデバイス１００は、ＰＨＹモジュール１０２（ＰＨＹチャネルとも呼ばれる）、メモリ制御モジュール１０４、ＰＨＹメモリ１０６、および、ネットワークインターフェース１０８（ファブリックインターフェースと呼ばれる）を含む。ＰＨＹデバイス１００は、ＰＨＹモジュール１０２を介してネットワーク１４と通信し、ネットワークインターフェース１０８を介して、例えば、統合スイッチ（例えば、統合スイッチ３８）または中央ネットワークデバイス（例えば、中央ネットワークデバイス６０）と通信する。統合スイッチおよび中央ネットワークデバイスは、図４においてアクセスデバイス１１２として図示されている。統合スイッチは、ＰＨＹモジュール１０２同士の間、および／または、複数の異なるＰＨＹデバイスの複数のＰＨＹモジュール同士の間においてパケットをルーティングするためのスイッチングを提供するとしてよい。
【００４１】
各ＰＨＹモジュール１０２は、メディア依存インターフェース（ＭＤＩ）１１４（または、第１のネットワークインターフェース）、入力モジュール１１６、インターフェースバス１１８、および、出力モジュール１２０を含むとしてよい。ＭＤＩ１１４は、例えば、ネットワーク１４を介して１以上のネットワークデバイスからパケットを受信し、パケットを入力モジュール１１６に転送する。ＭＤＩ１１４はさらに、出力モジュール１２０からパケットを受信して、例えば、ネットワーク１４を介してネットワークデバイスにパケットを送信する。一実施例によると、各ＭＤＩ１１４は、ツイストワイヤペアに接続されている。図示した実施例では、ＰＨＹデバイス１００は８個のＭＤＩまたは他の適切なインターフェースを含む。
【００４２】
入力モジュール１１６、出力モジュール１２０および／または他のモジュールおよび／またはインターフェースバス１１８以外の各ＰＨＹモジュール１０２のデバイスはまとめて、ＰＨＹハードウェアと呼ぶとしてよい。入力モジュール１１６は、入力正規表現（ＲｅｇＥｘ）モジュール１１６−１、入力パーシングモジュール１１６−２、第１の受信モジュール１１６−３、受信ファーストインファーストアウト（ＦＩＦＯ）モジュール１１６−４、および、第１の送信モジュール１１６−５を含むとしてよい。ＰＨＹモジュール１０２は、入力モジュール１１６のうち１以上の入力モジュール１１６を含まないとしてもよい。入力ＲｅｇＥｘモジュール１１６−１は、含まれる場合、パケットを検査するべくＲｅｇＥｘプロセスを実行する。ＲｅｇＥｘプロセスは、データの文字、ワード、署名またはパターンを、データの所定の文字、ワード、署名およびパターンと比較することを含む。ＲｅｇＥｘプロセスは、ＤＰＩプロセスの一部として実行されるとしてよい。入力ＲｅｇＥｘプロセスは、有効または無効であるパケットを即座に特定するべく実行されるとしてよい。
【００４３】
入力パーシングモジュール１１６−２は、無効なパケットを破棄するとしてよく、有効なパケットおよび／または有効なパケットのヘッダをインターフェースバス１１８および第１の受信モジュール１１６−３に転送するとしてよい。第１の受信モジュール１１６−３は、ダイレクトメモリアクセス（ＤＭＡ）デバイスであってよく、および、入力パーシングモジュール１１６−２および／またはインターフェースバス１１８から受信するパケット、パケットの一部、パケット記述子および／またはパケット情報を、ＰＨＹメモリ１０６および／またはインターフェースバス１１８のバスメモリ１３０内に、複製および／または格納するとしてよい。インターフェースバス１１８のバス制御モジュール１３２は、バスメモリ１３０内のデータの格納を制御するとしてよい。ＰＨＹメモリ１０６内の格納は、メモリ制御モジュール１０４を介して実行されるとしてよい。パケットの一部は、１以上のヘッダおよび／またはパケットのペイロードを含むとしてよい。パケット情報は、ヘッダおよび／または他の情報に含まれている情報、例えば、パケットの検査レベル、ソースアドレス、デスティネーションアドレス、ソースＩＤ、デスティネーションＩＤ、プロトコルＩＤ、パケットの長さ等を含むとしてよい。検査レベルは、パケットが、有効なパケットであるか否か、バス制御モジュール１３２および／またはバス正規表現モジュール１３４によって追加で検査を実行すべきであるパケットであるか否か、中央制御モジュール（例えば、中央制御モジュール６２）へトンネリングさせるべきパケットであるか否か、または、ドロップすべき無効なパケットであるか否かを示すとしてよい。
【００４４】
入力パーシングモジュール１１６−２はさらに、インターフェースバス１１８および／またはバス制御モジュール１３２に対して、パケットはインターフェースバス１１８および／またはバス制御モジュール１３２によって検査すべきか否かを示すとしてよい。第１の受信モジュール１１６−３は、インターフェースバス１１８からの命令に基づいて、ａ）ＰＨＹメモリ１０６にパケットを格納し、および／または、ＰＨＹメモリ１０６にパケットを複製し、および／または、ｂ）パケットを受信ＦＩＦＯモジュール１１６−４に転送するとしてよい。
【００４５】
受信ＦＩＦＯモジュール１１６−４は、含まれている場合、ネットワークインターフェース１０８（または第２のネットワークインターフェース）に転送すべきパケットを格納する。バスメモリ１３０および／またはＰＨＹメモリ１０６に格納されているパケット、パケット記述子および／またはパケット情報は、バス制御モジュール１３２および／またはインターフェースバス１１８のバスＲｅｇＥｘモジュール１３４による検査のために受信ＦＩＦＯモジュール１１６−４に格納されているとしてよい。バス制御モジュール１３２および／またはバスＲｅｇＥｘモジュール１３４は、それぞれ別個に、または、集合的に、ローカル制御モジュールと呼ばれるとしてよく、パケットについてローカライズされた検査を実行するとしてよい。
【００４６】
第１の送信モジュール１１６−５はさらに、ＤＭＡデバイスであってよく、受信ＦＩＦＯモジュール１１６−４、ＰＨＹメモリ１０６、および／または、インターフェースバス１１８から受信したパケットをネットワークインターフェース１０８に送信するとしてよい。第１の送信モジュール１１６−５は、インターフェースバス１１８および／またはインターフェースバス１１８のモジュールから受信した命令に基づき、ａ）ＰＨＹメモリ１０６に格納されているパケットにアクセスし、および／または、ｂ）ネットワークインターフェース１０８にパケットを転送するとしてよい。第１の送信モジュール１１６−５は、ネットワークインターフェース１０８、アクセスデバイス１１２に対して、パケットを統合スイッチおよび／または中央制御モジュールによって検査すべきか否かを示すとしてよい。
【００４７】
インターフェースバス１１８は、アドバンスドエクステンシブルインターフェース（ＡＸＩ）であってよく、および／または、アドバンスドマイクロコントローラバスアーキテクチャ（ＡＭＢＡ）を持ち、ＡＭＢＡプロトコルを利用するとしてよい。インターフェースバス１１８は、バスメモリ１３０、バス制御モジュール１３２、および、バスＲｅｇＥｘモジュール１３４を含むとしてよい。バスメモリ１３０は、例えば、ＳＲＡＭまたは他の適切なメモリを含むとしてよい。バスメモリ１３０は、ＤＰＩを実行する際、および／または、統合スイッチ、中央ネットワークデバイス（例えば、中央ネットワークデバイス６０）および／またはアクセスデバイス（例えば、アクセスデバイス１１２）内のスイッチの状態を制御する際、アクセスデバイス１１２および／またはＰＨＹデバイス１００によって利用されるとしてよい。
【００４８】
バス制御モジュール１３２および／またはバスＲｅｇＥｘモジュール１３４は、ＤＰＩを実行して、受信したパケットのセキュリティレベルを決定し、無効なパケットをドロップし、有効なパケットを転送し、および／または、さらなる検査のために中央制御モジュールにパケットをトンネリングするとしてよい。バス制御モジュール１３２は、バスＲｅｇＥｘモジュール１３４が実行するＲｅｇＥｘパーシングを制御するとしてよい。バス制御モジュール１３２は、ゼロデイ攻撃防止を実行する際に、バスメモリ１３０、メモリ制御モジュール１０４、および／または、ＰＨＹメモリ１０６を利用するとしてよい。各ＰＨＹモジュール１０２はバス制御モジュールおよび／または１以上のＲｅｇＥｘモジュールを含むが、バス制御モジュールおよびＲｅｇＥｘモジュールはＭＤＩ１１４毎に設けられるとしてよい。これによって、インターフェースまたはポートに特有のパケット検査およびＲｅｇＥｘパーシングを実現する。
【００４９】
バス制御モジュール１３２は、アプリケーションベースのネットワーキングおよびネットワークセキュリティアプリケーションのためにコンテンツ署名認識タスクを実行するとしてよい。バス制御モジュール１３２は、ワイヤスピード（例えば、１Ｇｂｐｓ）でパケットを検査するとしてよい。バス制御モジュール１３２は、ワイヤスピードで、パケットを分析して、当該パケットをドロップするか、転送するか、および／または、認識不可能と分類するかを判断するとしてよい。バス制御モジュール１３２は、３２ビットプロセッサであってよい。それぞれのＰＨＹモジュール１０２の各バス制御モジュールは、アクセスデバイス１１２と通信するとしてよい。この通信は、中央制御モジュールから、パケット検査に関するルールおよび／またはテーブルの更新を受信すること、および、ＰＨＹモジュール１０２から中央制御モジュールへと異常パケットおよび／または疑惑パケットを再ルーティングおよび／または報告することを含むとしてよい。
【００５０】
出力モジュール１２０は、出力ＲｅｇＥｘモジュール１２０−１、出力パーシングモジュール１２０−２、第２の受信モジュール１２０−３、送信ＦＩＦＯモジュール１２０−４および第２の送信モジュール１２０−５を含むとしてよい。ＰＨＹモジュール１０２は、出力モジュール１２０のうち１以上の出力モジュール１２０を含まないとしてもよい。出力ＲｅｇＥｘモジュール１２０−１は、含まれている場合、ＲｅｇＥｘプロセスを実行して、ネットワークインターフェース１０８を介してＰＨＹモジュール１０２のうち１つのＰＨＹモジュール１０２から受信したパケットを検査する。ＲｅｇＥｘプロセスは、データの文字、ワード、署名またはパターンを、データの所定の文字、ワード、署名およびパターンと比較することを含む。ＲｅｇＥｘプロセスは、ＤＰＩプロセスの一環として実行されるとしてよい。出力ＲｅｇＥｘプロセスは、有効または無効のいずれかであるパケットを即座に特定するべく実行されるとしてよい。
【００５１】
ＲｅｇＥｘモジュール１１６−１、１２０−１、１３４は、ＲｅｇＥｘマッチングに基づいて、パケットフィルタリングを実行するとしてよい。ＲｅｇＥｘモジュール１１６−１、１３０−１、１３４は、１以上のパケットを分析して、各パケットおよび／または複数のパケットにわたってヘッダおよび／またはペイロードのパターンを検出するとしてよい。ＲｅｇＥｘ検索は、全周囲にまたがるファイアウォールを実現するべく、複数の連続したパケットおよび／または複数の非連続のパケットにわたってパターンを検出するべく実行されるとしてよい。これは、所定のデスティネーションおよび／またはコンピュータを宛先とするパケットをブロックするための完全なパケットインターネットプロトコル（ＩＰ）ブロッキングを含むとしてよい。ＲｅｇＥｘモジュール１１６−１、１２０−１、１３４は、組織化された修正動作が配置可能になるまで、攻撃を一時的に抑制するか、または、攻撃を停止させるとしてよい。これによって、攻撃の誤検出の可能性が発生し、未検出（または、攻撃を示唆するエラー）を見逃さないようになる。ＲｅｇＥｘモジュール１１６−１、１２０−１、１３４はそれぞれ、１以上の三値連想メモリ（ＴＣＡＭ）を含むとしてもよいし、１以上のＴＣＡＭで置き換えられるとしてもよいし、または、１以上のＴＣＡＭと共に用いられるとしてもよい。図４において、一のＴＣＡＭ１３５を図示している。
【００５２】
連想メモリ（ＣＡＭ）は、一回のクロックサイクルで全コンテンツを捜索可能とする特定用途向けメモリである。二値ＣＡＭは完全一致検索を実行するが、ＴＣＡＭは、「ドントケア」を利用したパターンマッチングを可能とする。「ドントケア」は、検索時にワイルドカードとして利用され、ルーティングテーブルにおいて最長プレフィクスマッチング検索を実行する際に利用される。上記のＴＣＡＭは、パケット分類のために、そして、ハードウェアマッチングを加速化するために利用されるとしてよい。ＴＣＡＭは、ＲｅｇＥｘパケット検査において利用される正規表現の決定性有限オートマトン（ＤＦＡ）表現を格納するために用いられるとしてよい。ＤＦＡは、５個の要素（例えば、Ｑ、Σ、δ、ｑ０、Ａ）から成る。ここで、Ｑは状態の集合、Σはアルファベット、δはＱおよびΣに基づく遷移関数、ｑ０は開始状態、Ａは受容状態の集合である。
【００５３】
出力パーシングモジュール１２０−２は、無効パケットを破棄するとしてよく、および、有効パケットおよび／または有効パケットのヘッダをインターフェースバス１１８および第２の受信モジュール１２０−３に転送するとしてよい。第２の受信モジュール１２０−３は、ＤＭＡデバイスであってよく、出力パーシングモジュール１２０−２および／またはインターフェースバス１１８から受信したパケット、パケットの一部、パケット記述子および／またはパケット情報を、バスメモリ１３０および／またはＰＨＹメモリ１０６に、複製および／または格納するとしてよい。バスメモリ１３０への格納は、バス制御モジュール１３２を介して実行されるとしてよい。ＰＨＹメモリ１０６への格納は、メモリ制御モジュール１０４を介して実行されるとしてよい。パケットの一部は、１以上のヘッダおよび／またはパケットのペイロードを含むとしてよい。パケット情報は、ヘッダに含まれている情報および／または他の情報、例えば、パケットの検査レベル、ソースアドレス、デスティネーションアドレス、ソースＩＤ、デスティネーションＩＤ、プロトコルＩＤ、パケットの長さ等を含むとしてよい。
【００５４】
出力パーシングモジュール１２０−２はさらに、インターフェースバス１１８および／またはバス制御モジュール１３２に対して、インターフェースバス１１８および／またはバス制御モジュール１３２によってパケットを検査すべきか否かを示すとしてよい。第２の受信モジュール１２０−３は、パケットをＰＨＹメモリ１０６に格納し、および／または、パケットをＰＨＹメモリ１０６に複製するとしてよく、および／または、インターフェースバス１１８からの命令に基づいて送信ＦＩＦＯモジュール１２０−４にパケットを転送するとしてよい。
【００５５】
送信ＦＩＦＯモジュール１２０−４は、第２の送信モジュール１２０−５に転送すべきパケットを格納する。バスメモリ１３０および／またはＰＨＹメモリ１０６に格納されているパケット、パケット記述子および／またはパケット情報は、バス制御モジュール１３２および／またはバスＲｅｇＥｘモジュール１３４による検査のために、送信ＦＩＦＯモジュール１２０−４に格納されるとしてよい。第２の送信モジュール１２０−５もまた、ＤＭＡデバイスであってよく、送信ＦＩＦＯモジュール１２０−４、ＰＨＹメモリ１０６、および／または、インターフェースバス１１８から受信したパケットを、ＭＤＩ１１４のうち一の対応するＭＤＩ１１４に、送信するとしてよい。第２の送信モジュール１２０−５は、ＰＨＹメモリ１０６に格納されているパケットにアクセスし、および／または、インターフェースバス１１８、バス制御モジュール１３２および／またはバスＲｅｇＥｘモジュール１３４から受信した命令に基づき、ＭＤＩ１１４のうち対応する一のＭＤＩ１１４にパケットを転送するとしてよい。
【００５６】
メモリ制御モジュール１０４は、アービタとして、ＰＨＹモジュール１０２とＰＨＹメモリ１０６との間のアクセスを制御するべく実行されるとしてよい。メモリ制御モジュール１０４は、ＰＨＹモジュール１０２のうち１以上のＰＨＹモジュール１０２によるＰＨＹメモリ１０６へのアクセスを許可し、ＰＨＹモジュール１０２のうち１以上のＰＨＹモジュール１０２によるＰＨＹメモリ１０６へのアクセスを禁止するとしてよい。メモリ制御モジュール１０４は、各ＰＨＹモジュール１０２のアクセス時間を決定し、これに応じてＰＨＹメモリ１０６へのアクセスを許可する。メモリ制御モジュール１０４は、ＰＨＹモジュール１０２のうち第２のＰＨＹモジュール１０２がＰＨＹメモリ１０６へアクセスしている間、ＰＨＹモジュール１０２のうち第１のＰＨＹモジュール１０２によるＰＨＹメモリ１０６へのアクセスを許可するとしてよい。これに代えて、メモリ制御モジュール１０４は、ＰＨＹモジュール１０２のうち第２のＰＨＹモジュール１０２がＰＨＹメモリ１０６へアクセスしている間、ＰＨＹモジュール１０２のうち第１のＰＨＹモジュール１０２によるＰＨＹメモリ１０６へのアクセスを禁止するとしてもよい。
【００５７】
ＰＨＹメモリ１０６は、例えば、ＤＤＲ３  ＳＲＡＭおよび／または他の適切なメモリ、例えば、ＤＲＡＭ等を含むとしてよい。ＰＨＹメモリ１０６は、例えば、３２ビットデータを並列に転送するべく、３２ビットメモリインターフェースを持つとしてよい。ＰＨＹメモリ１０６は、ＰＨＹデバイス１００の外部であってもよく、および／または、ＰＨＹデバイス１００上に一体的に形成されているか、または、ＰＨＹデバイス１００の一部として一体的に形成されているとしてよい。一実施例によると、ＰＨＹデバイス１００は、集積回路（ＩＣ）またはシステムインパッケージ（ＳＩＰ）であり、ＰＨＹメモリ１０６はＰＨＹデバイス１００とは別個のＩＣである。ＰＨＹデバイス１００は、メモリ制御モジュール１０４および／または対応するメモリインターフェース１４８を介してＰＨＹメモリ１０６と通信する。メモリインターフェース１４８は、メモリ制御モジュール１０４とＰＨＹメモリ１０６との間に接続されているとしてよい。
【００５８】
別の実施例によると、ＰＨＹデバイス１００は第１のＩＣであり、ＰＨＹメモリ１０６は第２のＩＣであり、第１のＩＣおよび第２のＩＣはＳＩＰの一部として形成されている。さらに別の実施例によると、ＰＨＹデバイス１００は第１のＳＩＰであり、ＰＨＹメモリ１０６は第２のＳＩＰであり、第１のＳＩＰおよび第２のＳＩＰは、パッケージオンパッケージ（ＰＯＰ）プロセスを用いて一体的にパッケージングされる。第２のＳＩＰは、第１のＳＩＰ上に積層されるとしてよく、メモリインターフェース（例えば、メモリインターフェース１４８）がＳＰＩ同士の間に配置され、第１のＳＩＰと第２のＳＩＰとの間で信号をルーティングする。第１のＳＩＰおよび第２のＳＩＰは、例えば、メモリボールグリッドアレイ（ＢＧＡ）パッケージであってよい。
【００５９】
ＰＨＹメモリ１０６は、入力モジュール１１６または出力モジュール１２０のうち１以上において混雑状態が発生すると、パケットをバッファリングするために用いられるとしてよい。ＰＨＹメモリ１０６は、命令、コード、ルール、テーブル、および／または、パケットデータを格納するために用いられるとしてよい。命令、コード、ルールおよび／またはテーブルは、ＤＰＩを実行する際、および／または、スイッチの状態を制御する際（例えば、ファブリック制御モジュールおよび／またはネットワークインターフェース１０８内のスイッチ）、中央制御モジュール、統合スイッチおよび／またはモジュール１１６−１、１２０−１、１３２、１３４によって利用されるとしてよい。一実施例によると、命令、コード、ルールおよび／またはテーブルは、例えば、バスメモリ１３０に利用可能なスペースが無い場合には、ＰＨＹメモリ１０６に格納される。別の実施例によると、命令、コード、ルール、および／または、テーブルは、例えば、ＰＨＹメモリ１０６に利用可能なスペースが無い場合には、バスメモリ１３０に格納される。
【００６０】
バスメモリ１３０およびＰＨＹメモリ１０６は、検査中のパケット、検査すべき選択されたパケットの複製、および／または、転送、アップリンクおよび／またはダウンリンクすべきパケットを格納するために用いられるとしてよい。バスメモリ１３０およびＰＨＹメモリ１０６は、アクセスネットワーク（例えば、アクセスネットワーク１０、５０のうち一方）内の複数のポイントにおいて一時的に混雑状態が発生する場合、パケットのバッファリングに利用されるとしてよい。バスメモリ１３０は、一の特定のＰＨＹモジュール（例えば、ＰＨＹモジュールＰＨＹ１）に専用であってよく、ＰＨＹメモリ１０６は、ＰＨＹモジュール１０２のそれぞれと共有されるとしてよい。これによって、一のＰＨＹデバイス１００に利用されるＰＨＹメモリの数を最小限に抑える。
【００６１】
図示している例では、ネットワークインターフェース１０８は、第１の媒体アクセス制御（ＭＡＣ）インターフェース１４０、第２のＭＡＣインターフェース１４２、第１のｑｕａｄ−ｓｅｒｉａｌ  ｇｉｇａｂｉｔ  ｍｅｄｉａ  ｉｎｄｅｐｅｎｄｅｎｔ  ｉｎｔｅｒｆａｃｅ（ＱＳＧＭＩＩ）１４４、および、第２のＱＳＧＭＩＩ１４６を含む。ＭＡＣインターフェース１４０、１４２は、１０ギガビットイーサネット（登録商標）インターフェースであってよい。第１および第２のＭＡＣインターフェース１４０、１４２はそれぞれ、ＭＡＣの機能を実行するとしてよく、例えば、アクセスデバイス１１２を介したファブリックカードへの通信リンクを構成するとしてよい。第１および第２のＭＡＣインターフェース１４０は、例えば、モジュラーアクセスシャーシ（例えば、図１のアクセスシャーシ１２）を介して低コストでＤＰＩを実現可能とすることを目的として、バックプレーンを介してアクセスデバイス１１２を接続するべく１０ＧＥ−ＫＲインターフェースを持つとしてよい。第１および第２のＱＳＧＭＩＩ１４４、１４６は、アクセスデバイス１１２への２つの並列な通信リンクを実現するとしてよい。
【００６２】
動作時、一例として、各ＭＤＩ１１４が毎秒１ギガビット（１Ｇｂｐｓ）のデータを受信または送信する一方、各インターフェース１４０、１４２、１４４、１４６は１０Ｇｂｐｓで受信または送信するとしてよい。ＭＤＩ１１４は、１Ｇｂｐｓイーサネット（登録商標）（ＧＥ）のポートであってよく、インターフェース１４０、１４２、１４４、１４６は１０ＧＥポートを持つとしてよい。この結果、ＭＤＩ１１４およびネットワークインターフェース１０８を介したＰＨＹデバイス１００は、１ＧＥポートの１０ＧＥインターフェース１４０、１４２、１４４、１４６への動的バインディングを実現するとしてよい。これは、ロードバランシング、インターフェース冗長性、アップリンク用のインターリーブされたパケットの時分割多重化スケジューリング、ＰＨＹメモリへのデータのバッファリング、および、データバーストの克服またはデータバーストへの対処を目的としたＰＨＹメモリへのデータのバッファリングを含むとしてよい。ロードバランシングは、同一期間において２個以上のインターフェースを介して等量のデータを輸送することを含むとしてよい。インターフェース冗長性は、２個以上のインターフェースを用意し、インターフェースのうち１以上をバックアップとして設けることを意味するとしてよい。
【００６３】
ＰＨＹデバイス１００、ＰＨＹモジュール１０２、ならびに／または、第１および第２のＭＡＣインターフェース１４０、１４２は、米国電気電子学会（ＩＥＥＥ）１５８８−２００８規格のアドレスネットワークベースのタイミングおよび同期を実行するとしてよい。これは、ＰＨＹデバイス１００の外部の制御モジュール（例えば、中央制御モジュール６２）と、バス制御モジュール（例えば、バス制御モジュール１３２）のクロックとを同期させるべく高精度時間プロトコル（ＰＴＰ）を利用することを含むとしてよい。ＰＨＹデバイス１００、ＰＨＹモジュール１０２、ならびに／または、第１および第２のＭＡＣインターフェース１４０、１４２はさらに、媒体アクセス非依存型プロトコルについてコネクションレス型のデータの信頼性および整合性を定義しているＩＥＥＥ８０２．１ＡＥ−２００６セキュリティ規格を満たすＭＡＣセキュリティ（ＭＡＣＳｅｃ）をサポートしているとしてよい。
【００６４】
ＰＨＹデバイス１００はさらに、セキュリティキャッシュモジュール（ＳＣＭ）１５０を含むとしてよい。パケットおよび／またはパケット情報は、パーシングモジュール１１６−２、１２０−２および／またはインターフェースバス１１８と、セキュリティキャッシュモジュール１５０との間で送信されるとしてよい。セキュリティキャッシュモジュール１５０は、文字、データパターン、ソースアドレス、デスティネーションアドレス、および／または、パケットの種類を示す他のパケット情報を格納するとしてよい。ＰＨＹモジュール１０２のそれぞれのパーシングモジュール１１６−２、１２０−２は、このパケット情報に基づいて、パケットが有効または無効であると判断するとしてよい。
【００６５】
図１から図４を参照すると、ＰＨＹデバイス２４、４４、５６、１００および／またはＰＨＹモジュール１０２は、アクセスネットワークの外周における複数の実施点に沿って攻撃を検出するための複数の分散したセンサとして実行されるとしてよい。中央制御モジュール３６、６２は、含まれる場合、複数の分散したセンサから、パケット情報および攻撃情報等の情報を収集するとしてよい。攻撃情報は、攻撃パターン、署名および／または本明細書で開示されている他の攻撃情報を含むとしてよい。中央制御モジュール３６、６２はこの後、ルールを適用し、および／または、収集した情報を分析して、攻撃があるか否か、および／または、パケットが有効および／または無効であるかを判断するとしてよい。パケットの種類を決定するとしてよく、パケットはこの分析の結果に基づいて転送されるとしてよい。この分析の結果は、パケット転送を判断することを目的として、中央制御モジュール３６、６２から複数の分散したセンサへと提供されるとしてよい。中央制御モジュール３６、６２は、複数の分散したセンサに対して、パケットの種類およびこれらの種類のパケットをどのように取り扱うかを指示するとしてよい。この情報は、例えば、今後利用するべく、ＰＨＹメモリ１０６、バスメモリ１３０、および／または、セキュリティキャッシュモジュール１５０に収集されるとしてよい。
【００６６】
ここでさらに図５を参照すると、マルチレベルセキュリティ検出を実現するＰＨＹモジュール（例えば、ＰＨＹモジュール１０２のうちの１つ）の入力部分１７０が図示されている。入力部分１７０は、例えば、入力ＲｅｇＥｘモジュール（例えば、入力ＲｅｇＥｘモジュール１１６−１）に含まれているか、または、別箇であるフレーム間有限ステートマシン（ＦＳＭ）モジュール１７２を含む。入力部分１７０は、入力（第１の）ＲｅｇＥｘモジュール１１６−１、入力パーシングモジュール１１６−２、バス制御モジュール１３２、セキュリティキャッシュモジュール１５０、および、バス（第２の）ＲｅｇＥｘモジュール１３４を含むとしてよい。
【００６７】
フレーム間ＦＳＭモジュール１７２および入力ＲｅｇＥｘモジュール１１６−１は、第１のセキュリティレベルを実現する。フレーム間ＦＳＭモジュール１７２は、パターンおよび署名の検索のために入力ＲｅｇＥｘモジュール１１６−１を利用する。第１のセキュリティレベルは、ゼロデイＲｅｇＥｘ攻撃のパターンおよび署名を、ラインレート（例えば、１Ｇｂｐｓ）、フレーム間ＦＳＭモジュール１７２が受信するパケットにおいて検出することを含む。パケットは、ＭＤＩ（例えば、ＭＤＩ０）から受信するとしてよい。入力ＲｅｇＥｘモジュール１１６−１は、中央制御モジュール３６、６２のうち１つにパッチがインストールされる前にパケットを検出するべく所定のパターンおよび署名を発見するべくモニタリングする。入力ＲｅｇＥｘモジュール１１６−１は、モニタリングしている署名およびパターンをユーザが追加または変更できるようにプログラミング可能であるとしてよい。
【００６８】
入力ＲｅｇＥｘモジュール１１６−１は、アンカーおよびワイルドカードでＲｅｇＥｘパーシングを実行するとしてよい。アンカーは、パケットの文字列における現在位置に応じてマッチングを成功または失敗させるアトミックゼロ幅アサーションを意味する。アンカーによって、入力ＲｅｇＥｘモジュール１１６−１が、文字列内を進んだり、または、文字を消費したりするわけではない。ワイルドカードは、ゼロ以上の文字とマッチングする文字を意味し、パターンまたは署名を効率的に検出するために用いられる。
【００６９】
入力ＲｅｇＥｘモジュール１１６−１は、パケットのヘッダおよび／またはペイロード、ならびに、複数の連続および／または不連続のパケット内を検索するとしてよい。フレーム間ＦＳＭモジュール１７２は、入力ＲｅｇＥｘモジュール１１６−１が決定したマッチングおよび／または比較に基づいて、第１のコマンド信号１７３を生成する。
【００７０】
入力パーシングモジュール１１６−２およびセキュリティキャッシュモジュール１５０は、第２のセキュリティレベルを実現する。入力パーシングモジュール１１６−２および／またはバス制御モジュール１３２は、オフロードされ有効性が確認されたデータパケットおよび／または識別できないパケットをＳＣＭ１５０にプッシュするとしてよい。入力パーシングモジュール１１６−２および／またはセキュリティキャッシュモジュール１５０はこの後、今後入力されるパケットと、これらのパケットのパターンとを比較するとしてよい。一例として、入力パーシングモジュール１１６−２は、ＳＣＭ１５０に格納されている識別不可能というパケット種類のパターンを持つパケットを受信しても、当該パケットは分析しないとしてよい。これに代えて、入力パーシングモジュール１１６−２は、評価のために当該パケットを中央制御モジュールに直接転送するとしてよい。これによって、入力パーシングモジュール１１６−２のＲｅｇＥｘ処理時間が短縮される。
【００７１】
入力パーシングモジュール１１６−２は、ワイヤスピード（例えば、１Ｇｂｐｓ）で、オフロードされたデータフローに対してパケットパーシングを実行するとしてよい。入力パーシングモジュール１１６−２（ハードウェアパーサーと呼ばれる）は、５個の要素から成る値をパケットから抽出して、マッチングするか否かＳＣＭ１５０を走査するとしてよい。ＳＣＭ１５０に格納されている値を、この５個の要素から成る値と比較するとしてよい。５個の要素から成る値は、トランスミッションコントロールプロトコル（ＴＣＰ）またはインターネットプロトコル（ＩＰ）を構成するために用いられるとしてよく、例えば、ソースＩＰアドレス、デスティネーションＩＰアドレス、ソースポート番号、デスティネーションポート番号、および、プロトコルＩＤを含むとしてよい。ＳＣＭ１５０は、各インターフェース１１４について、インターフェース固有エントリを持つとしてよい。例えば、信頼のおけるインターフェースは、信頼のおけないインターフェースとは異なる許可をＳＣＭ１５０について持つとしてよい。入力パーシングモジュール１１６−２が実行する比較は、ＳＣＭ１５０に格納されている特定の値および／または５個の要素から成る値が、受信したパケットに対応付けられているインターフェースに対応付けられてアクセスできるか否かを判断する際の、当該インターフェースの識別情報の比較を含むとしてよい。入力パーシングモジュール１１６−２は、実行された比較およびＳＣＭ１５０に格納されている命令に基づき、第２のコマンド信号１７５を生成する。
【００７２】
バス制御モジュール１３２および／またはバスＲｅｇＥｘモジュール１３４は、第３のセキュリティレベルを実現する。バス制御モジュール１３２は、受信したデータフローを検査して、（ｉ）データフローを転送するとしてよく、および／または、（ｉｉ）有効性が証明されたおよび／または未知のデータフロー（識別不可能なパケットのフロー）を中央制御モジュールにトンネリングおよび／または複製するとしてよい。パケット検査の結果、バス制御モジュール１３２は、同じパターンを持つパケットを追加で受信する際に実行すべき動作に関して入力パーシングモジュール１１６−２に指示するべく、これまで未知であったフローの追加パターンをＳＣＭ１５０に格納するとしてよい。中央制御モジュールは、これに加えて、または、これに代えて、ＳＣＭ１５０に格納すべき命令を提供するとしてよい。
【００７３】
バスメモリ１３０および／またはＰＨＹメモリ１０６は、ハッシュテーブルを格納するとしてよい。当該ハッシュテーブルは、提供される命令および最近学習したデータフローに基づき更新されるとしてよい。命令は、バス制御モジュール１３２が特定のパターンを持つパケットを検出すると実行されるべき動作（例えば、ドロップまたは転送）を指定するとしてよい。ＲｅｇＥｘモジュール１１６−１、１２０−１、１３４およびＳＣＭ１５０は、格納されているパターン、署名および／または命令をユーザが追加または変更できるようにプログラミング可能であってよい。命令は、評価したパケットのセキュリティレベルを決定するように指示するとしてよい。バス制御モジュール１３２は、バスＲｅｇＥｘモジュール１３４を用いて、受信したパケットにおけるパターンを検出した後、これに応じて第３のコマンド信号１７７を生成するとしてよい。バス制御モジュール１３２は、攻撃を検出するべく、有効性が証明されていないパケットのフロー（識別不可能なパケットのフロー）を追跡し続けるとしてよい。
【００７４】
図５のマルチレベルセキュリティ検出はＰＨＹモジュールの入力部分について図示しているが、当該マルチレベルセキュリティ検出はＰＨＹモジュールの出力部分にも実現されるとしてよい。一例として、出力ＲｅｇＥｘモジュール１２０−１および出力パーシングモジュール１２０−２は、フレーム間ＦＳＭモジュール１７２、入力ＲｅｇＥｘモジュール１１６−１および入力パーシングモジュール１１６−２によって実行されるように、第１および第２のセキュリティレベルを実行するとしてよい。バス制御モジュール１３２およびバスＲｅｇＥｘモジュール１３４は、上述したのと同様に、出力について第３のセキュリティレベルを実現するとしてよい。
【００７５】
入力部分の各セキュリティレベルについてのコマンド信号１７３、１７５、１７７は、ドロップ−トンネリング−ローカル制御モジュール検査−転送（ＤＴＬＦ）信号として図示されている。コマンド信号は、セキュリティレベルモジュール１８０に提供される。セキュリティレベルモジュール１８０は、３つのコマンド信号１７３、１７５、１７７に基づいて、セキュリティレベルを決定し、セキュリティレベル信号１８２を生成する。
【００７６】
図示した例によると、セキュリティレベルモジュール１８０は、ＯＲゲートを含む。各コマンド信号は、セキュリティレベルのうち対応するいずれか１つのセキュリティレベルが決定した、受信したパケットのセキュリティレベルを指定する。コマンド信号はそれぞれ、第１のレベルおよび第２のレベルのうち一方を指定するとしてよい。第１のレベルは、無効なパケットを意味する。第２のレベルは、有効なパケットを意味する。セキュリティレベルはそれぞれ、各パケットについて、または、一連または選択された一群のパケットについて、コマンド信号を提供するとしてよい。
【００７７】
第１の例として、パケットが無効であるか、または、パケットをドロップすべきである旨を示す際、コマンド信号は１に設定されるとしてよい。コマンド信号は、パケットが有効であるか、または、転送すべきである旨を示す際、０に設定されるとしてよい。この結果、コマンド信号のいずれかがパケットをドロップすべきという旨を示す場合、当該パケットをドロップする。これは、セキュリティレベルモジュール１８０またはＯＲゲートの出力によって実現される。
【００７８】
別の例を挙げると、４つのセキュリティレベルが用いられるとしてよい。第１のレベルは、無効パケットまたはドロップパケットを示す。第２のレベルは、トンネリングパケットを示す。第３のレベルは、例えば、バスＲｅｇＥｘモジュール１３４のバス制御モジュール１３２がローカル検査すべきパケットを示す。第４のレベルは、有効パケットまたは転送パケットを示す。この実施例によると、セキュリティレベルモジュール１８０は、３つのコマンド信号が示す最低レベルを決定する。このように示される最低レベルはこの後、セキュリティレベルモジュール１８０から報告され、例えば、図４の第１の送信モジュール１１６−５によってパケットをさらに検査するよう中央制御モジュールに指示するか否か判断するために用いられるとしてもよい。一実施例によると、最低レベルは、当該最低レベルが第２のレベルまたは第３のレベルである場合に報告されるとしてよく、当該最低レベルが第１のレベルまたは第４のレベルである場合には報告されないとしてもよい。別の実施例によると、最低レベルは、セキュリティレベルモジュール１８０が決定する最低レベルに関係なく報告される。
【００７９】
図１から図３を再度参照すると、ＰＨＹデバイス２４、４４，５６、１００および／またはＰＨＹモジュール１０２の１以上のデバイスおよび／またはモジュールがプログラミング可能であるとしてよいので、アクセスネットワーク１０、５０のエッジにおいてＤＰＩを含むカスタマイズされたセキュリティプラットフォームが提供されるとしてよい。
【００８０】
図６において、ネットワークインターフェース２００を図示する。ネットワークインターフェース２００は、ネットワークインターフェース１０８において、および／または、図１から図３のＰＨＹデバイス２４、４４、５６，１００のうち１つにおいて利用されるとしてよい。ネットワークインターフェース２００は、第１の多重化モジュール２０２、第１のＱＳＧＭＩＩ２０４、第２の多重化モジュール２０６および第２のＱＳＧＭＩＩ２０８を含む。第１および第２の多重化モジュール２０２、２０６は、多重化および逆多重化を実行する。
【００８１】
第１の多重化モジュール２０２は、第１のＰＨＹモジュール群からの信号（例えば、８個のＰＨＹモジュール出力信号）を、第１のＱＳＧＭＩＩ２０４が受信する多重化信号（例えば、４個の多重化信号）に多重化するとしてよい。第２の多重化モジュール２０６は、第２のＰＨＹモジュール群からの信号（例えば、８個のＰＨＹモジュール出力信号）を、第２のＱＳＧＭＩＩ２０８が受信する多重化信号（例えば、４個の多重化信号）に多重化するとしてよい。第１のＰＨＹモジュール群は、第２のＰＨＹモジュール群と同じであってもよいし、別であってもよい。第１の多重化モジュール２０２は、第１のＱＳＧＭＩＩ２０４からの出力信号を逆多重化して、第１のＰＨＹモジュール群が受信する入力信号を生成するとしてよい。第２の多重化モジュール２０６は、第２のＱＳＧＭＩＩ２０８からの出力信号を逆多重化して、第２のＰＨＹモジュール群が受信する入力信号を生成するとしてよい。第１および第２のＱＳＧＭＩＩ２０４、２０８の出力は、統合スイッチおよび／または中央制御モジュールと通信するとしてよい。
【００８２】
ネットワークインターフェース２００は、第１の速度で動作しているＰＨＹモジュールのポートを、第１のＱＳＧＭＩＩ２０４または第２のＱＳＧＭＩＩ２０８の一方に接続させ、第１のＱＳＧＭＩＩ２０４および第２のＱＳＧＭＩＩ２０８のそれぞれは、ＭＤＩとは異なる速度で動作する。一例として、第１の速度は、１Ｇｂｐｓであってよく、第２の速度は、１０Ｇｂｐｓであってよい。多重化モジュール２０２、２０６が多重化および逆多重化を実行するので、ネットワークインターフェースでデータ信号をバッファリングする必要が無くなるとしてよい。
【００８３】
上述したアクセスネットワーク１０、５０およびＰＨＹデバイス２４、４４、５６、１００は、数多くの方法を用いて動作させるとしてよく、方法の一例は図７の方法である。図７において、セキュリティ検出方法を含むネットワークアクセス方法を図示している。以下のタスクは、主に図１から図５の実施例に基づいて説明するが、本開示の他の実施例に応用するべく容易に変形され得る。以下のタスクは、繰り返し実行されるとしてもよいし、および／または、順序を変えて実行するとしてもよい。方法は、３００で開始されるとしてよい。以下のタスク３０２−３２２は入力タスクであるが、出力モジュール１２０が実行する出力タスク等の出力タスクを実行する際に逆順で同様に実行するとしてもよい。また、以下のタスクは、一のパケットに基づいて説明しているが、複数のパケットおよび／または選択されたパケット群について実行されるとしてもよい。パケットは、連続したパケット列であってもよいし、または、非連続のパケット列であってもよい。
【００８４】
３０２において、入力ＲｅｇＥｘモジュール１１６−１は、ＭＤＩ０からパケットを受信する。パケットは、ネットワーク１４を介してＰＨＹモジュールＰＨＹ１と通信するネットワークデバイス（例えば、ネットワークデバイス１８のうち１つ）から受信されるとしてよい。入力ＲｅｇＥｘモジュール１１６−１は、パケットをドロップするか、または、転送するかを短時間で判断するべく、パケットの初期検査を実行するとしてよい。入力ＲｅｇＥｘモジュール１１６−１は、初期検査の結果に基づいて、第１のコマンド信号および／または第１のパケット情報信号を生成するとしてよい。第１のコマンド信号は、パケットのセキュリティレベルの第１の推定結果を示すとしてよい。第１の推定結果は、上述した４つのセキュリティレベルのうち１つであるとしてよい。第１のパケット情報信号は、上述したパケット情報を含むとしてよく、および／または、インターフェースバス１１８および／またはバス制御モジュール１３２がパケットを検査すべきか否かを示すとしてよい。パケット情報は、ソースアドレスおよびデスティネーションアドレス、プロトコルＩＤ、パケット長、パケット記述子等を含むとしてよい。初期検査は、パケットのドロップまたは転送を含むとしてよい。パケットは、転送される場合、入力パーシングモジュール１１６−２に提供される。
【００８５】
３０４において、入力パーシングモジュール１１６−２は、セキュリティキャッシュモジュール１５０に格納されている情報、第１のコマンド信号、および／または、第１のパケット情報信号に基づいて第２のパケット検査を実行し、第２のコマンド信号を生成するとしてよい。第２のパケット検査は、パケットをドロップするかまたは転送することを含むとしてよい。パケットは、転送される場合、第１の受信モジュール１１６−３および／またはインターフェースバス１１８に提供されるとしてよい。入力パーシングモジュール１１６−２は、第２のパケット検査の結果に基づいて、第２のコマンド信号および／または第２のパケット情報信号を生成するとしてよい。第２のコマンド信号は、パケットのセキュリティレベルの第２の推定結果を示すとしてよい。第２の推定結果は、上述した４つのセキュリティレベルのうち１つであってよく、第１の推定結果に基づいて決まるとしてよい。第２のパケット情報信号は、上述したようにパケット情報を含むとしてよく、および／または、インターフェースバス１１８および／またはバス制御モジュール１３２はパケットを検査すべきであるか否かを示すとしてよい。
【００８６】
３０５において、ＲｅｇＥｘモジュール１１６−１は、パケットが、セキュアでないパターンを持つか否か、および／または、セキュアデータフローに属するか否か（例えば、ＳＣＭ１５０のテーブルに対応する「許可」エントリを持つか否か）を判断する。パケットがセキュアでないパターンを持たない場合、および／または、パケットがセキュアデータフローに属する場合、パケットのローカライズされた検査を省略して、パケットを安全に転送するべくタスク３１４を実行するとしてよい。ローカライズされた検査は、パケットが未知のデータフローに属する場合、および／または、ＲｅｇＥｘモジュール１１６−１および／またはＳＣＭ１５０によってさらに検査する旨が設定されている場合、実行されるとしてよい。パケットが、セキュアでない（または危険な）パターンを持ち、パケットの対応するＳＣＭエントリが当該パケットは安全でない旨を示し、および／または、セキュアデータフローに属していない場合、パケットを中央制御モジュールにトンネリングさせるか、または、ドロップさせるべく、タスク３０６を実行するとしてよい。
【００８７】
３０６において、第１の受信モジュール１１６−３は、パケットおよび他の情報をバスメモリ１３０および／またはＰＨＹメモリ１０６に格納するとしてよい。他の情報は、パケット記述子、第１および第２のコマンド信号、ならびに／または、第１および第２のパケット情報信号を含むとしてよい。
【００８８】
３０８において、インターフェースバス１１８は、第１のコマンド信号、第２のコマンド信号、第１のパケット情報信号および／または第２のパケット情報信号に基づき、パケットの第３の検査を実行する。バス制御モジュール１３２および／またはバスＲｅｇＥｘモジュール１３４は、第３のパケット検査を実行するとしてよい。第３のパケット検査は、１以上のＴＣＡＭを用いて実行されるとしてよい。バス制御モジュール１３２は、パケットの第３の検査の結果に基づいて第３のコマンド信号および第３のパケット情報信号を生成するとしてよい。
【００８９】
第３のコマンド信号は、パケットのセキュリティレベルの第３の推定結果を示すとしてよい。第３の推定結果は、上述した４つのセキュリティレベルのうち１つであってよく、第１の推定結果および／または第２の推定結果に基づいて決まるとしてよい。第３の推定結果を生成することに代えて、または、加えて、セキュリティレベルモジュール１８０はセキュリティレベル信号を生成するとしてよい。セキュリティレベル信号は、第１のコマンド信号、第２のコマンド信号、および、第３のコマンド信号に基づいて生成されるとしてよい。第３のパケット情報信号は、上述したパケット情報を含むとしてよく、および／または、中央制御モジュール３６または６２がパケットを検査すべきか否かを示すとしてよい。中央制御モジュール３６、６２は、インターフェースバス１１８および／またはバス制御モジュール１３２が、パケットをドロップすべきか否か、または、ＰＨＹモジュールＰＨＹ１（第１のＰＨＹモジュール）から別の（第２の）ＰＨＹモジュール（例えば、ＰＨＹモジュールｍ）に、または、ＰＨＹデバイス１００とは別個のネットワークデバイスにパケットを転送すべきか否か、判断できない場合に、パケットを検査するように指示されるとしてよい。
【００９０】
３０２、３０４および３０８で実行される検査は、周期的に、ランダムに、所定数のパケットを受信した後に、所定のバイト数を受信した後に、所定数の有効パケットおよび／あるいは無効パケットを受信した後に、ならびに／または、所定の時間間隔で、実行されるとしてよい。３０２、３０４および３０８で説明した検査のうち１以上を実行して、残りは実行しないとしてもよい。タスク３０２、３０４および３０８のそれぞれにおいて、受信したパケットの一部または全てを検査するとしてよい。また、３０２、３０４および３０８のうち１つで検査されたパケットは、タスク３０２、３０４、３０８のうち他のタスクのうち１以上において検査されないとしてもよい。
【００９１】
３１０において、パケットは、中央制御モジュール３６、６２、第２のＰＨＹデバイスおよび／またはＰＨＹデバイス１００とは別個のネットワークデバイスに転送される場合、受信ＦＩＦＯモジュール１１６−４に格納されるとしてよい。３１２において、パケットおよび他の情報はこの後、第１の送信モジュール１１６−５に提供されるとしてよい。他の情報は、例えば、第１、第２および／あるいは第３のコマンド信号、セキュリティレベル信号、ならびに／または、上述した他のパケット情報を含むとしてよい。３１４において、第１の送信モジュール１１６−５は、パケットが第２のＰＨＹモジュールに転送されるべきか否か、および／または、ＰＨＹデバイス１００とは別個のネットワークデバイスに転送されるべきか否かを判断する。この判断は、第３のコマンド信号、セキュリティレベル信号および／または３１２で供給される他の情報に基づいて行われるとしてよい。タスク３１６は、パケットが転送される場合に実行されるとしてよい。それ以外の場合には、タスク３１５が実行されるとしてよい。
【００９２】
３１６において、後述するようにパケットは転送されるとしてよく、タスク３２２に基づいて説明するように、さらに検査するべく中央制御モジュールに送信されるとしてよい。パケットに対して３１６の転送および３２２の検査の両方を行う場合、当該パケットは、複数のデスティネーション（例えば、本来のデスティネーションおよび中央制御モジュール）にパケットを提供できるように、複製するとしてよい。
【００９３】
３１５において、第１の送信モジュール１１６−５は、当該パケットをさらに中央制御モジュール３６、６２で検査すべきか否かを判断する。この判断は、第３のコマンド信号、セキュリティレベル信号および／または３１２で提供される他の情報に基づいて行われるとしてよい。パケットをさらに検査する場合にタスク３２２が実行され、そうでない場合にはタスク３３０が実行されるとしてよい。
【００９４】
３１６において、パケットは、第１のＰＨＹモジュールＰＨＹ１から、予測されるデスティネーションおよび／または元々選択されたデスティネーションへと転送されるとしてよい。入力パケットは、例えば、ネットワーク１４から、アクセスデバイス１１２、統合スイッチ２６、３８のうち一方、ファブリックカード２０、３２の一方、および／または、中央ネットワークデバイス６０に転送されるとしてよい。出力パケットは、例えば、アクセスデバイス１１２から、統合スイッチ２６、３８の一方から、ファブリックカード２０、３２の一方から、および／または、中央ネットワークデバイス６０からネットワーク１４に転送されるとしてよい。当該方法は、３２０で終了するとしてよい。
【００９５】
３２２において、パケットはネットワークインターフェース１０８を介して中央制御モジュール３６、６２にトンネリングされるとしてよい。ＰＨＹデバイス１００のＭＡＣアドレスを持つＭＡＣヘッダをパケット（第１のパケット）に追加して、第２のパケットを形成するとしてよい。第２のパケットは、ネットワークインターフェース１０８を介して中央制御モジュール３６、６２に転送される。３２４において、中央制御モジュール３６、６２は、パケットの第４のパケット検査を実行するとしてよい。中央制御モジュール３６、６２は、周期的に、ランダムに、所定数のパケットを受信した後に、所定のバイト数を受信した後に、所定数の有効パケットおよび／あるいは無効パケットを受信した後に、ならびに／または、所定の時間間隔で、検査を実行するとしてよい。パケットは、ＰＨＹデバイス１００が決定したセキュリティレベルに関係なく、中央制御モジュール３６、６２に転送されるとしてよい。
【００９６】
３２６において、中央制御モジュール３６、６２は、第１のパケットと同様のパケットをドロップし、および／または、転送しない旨を第１のＰＨＹモジュールＰＨＹ１に指示する。この方法は、タスク３２６を実行した後に３２０で終了するとしてよい。タスク３３０はパケットがドロップされると実行され、それ以外の場合にはタスク３１６が実行される。
【００９７】
３３０において、パケットを、バスメモリ１３０、ＰＨＹメモリ１０６および／あるいは他のメモリ、モジュール、ならびに／または、ＰＨＹデバイス１００のデバイスから削除する。これは、パケットを１以上のＰＨＹモジュールおよび対応するメモリ、モジュールおよびデバイスから削除することを含むとしてよい。この方法は、タスク３３０の後３２０で終了するとしてよい。
【００９８】
上述したタスクは、説明のための例である。上述したタスクは、用途に応じて、連続して、同期して、同時に、継続的に、互いに重複する期間において、または、別の順序で実行されるとしてよい。また、どのタスクも、実施例および／またはイベントシーケンスに応じて、実行しなかったり、または、省略したりするとしてよい。
【００９９】
上述した特徴に加えて、本明細書で開示した実施例は、複数のＰＨＹモジュールによってアクセスネットワークのエッジにおいて実行されるパケット検査を実現する。これによって、パケットの検査を複数のＰＨＹモジュールに分散させることが可能となり、パケットが受信されると、パケットを受信するレートでパケットの検査を実行することが可能となる。これによって、検査処理は、中央制御モジュールから、複数のＰＨＹデバイス内の複数のデバイスおよび／またはモジュールへと任される。
【０１００】
上記の説明は、本質的に説明に過ぎず、本開示、その用途または利用を限定することを目的とするものではない。本開示の広義の教示内容は、さまざまな形態で実現可能である。このため、本開示は特定の例を挙げているが、本開示の真の範囲は、図面、明細書および特許請求の範囲を参照することで他の変形例が明らかになるので、これに限定されるべきものではない。分かり易いように、同様の構成要素を特定するべく同一の参照番号を複数の図面にわたって利用している。本明細書で用いる場合、「Ａ、ＢおよびＣのうち少なくとも１つ」という表現は、非排他的論理和を利用した論理演算（Ａ  ｏｒ  Ｂ  ｏｒ  Ｃ）を意味するものと解釈すべきである。方法を構成する１以上のステップは、本開示の原理を変更することなく、順序を変更して（または同時に）実行され得ることを理解されたい。
【０１０１】
本明細書では、さまざまなデバイス、モジュール、信号、要素および／またはコンポーネントを説明する際に第１、第２、第３等の用語を利用しているが、これらの用語によって限定されるべきではない。これらの用語は、一の構成要素を別の構成要素から区別するためにのみ用いられているとしてよい。「第１」、「第２」および他の数値を含む用語は、本明細書で用いられる場合、文脈で明確に特定されていない限りは、順番を意味しない。このように、以下で説明する第１の構成要素は、実施例の教示内容から逸脱することなく、第２の構成要素と呼ぶことも可能である。
【０１０２】
また、以下の説明では、さまざまな変更可能な文字および値を開示している。変更可能な文字および値は、一例に過ぎない。変更可能な文字は、任意に決定し、それぞれが異なるアイテムを特定または意味するために用いられるとしてよい。例えば、変更可能な文字ｎは、モジュールの数またはデバイスの数を意味するために用いるとしてよい。値もまた任意に決定し、用途毎に変化するとしてよい。
【０１０３】
本明細書で用いる場合、「モジュール」という用語は、特定用途向け集積回路（ＡＳＩＣ）、電子回路、組み合わせ論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コードを実行するプロセッサ（共有型、専用型またはグループ型）、説明した機能を実現するその他の適切なハードウェア素子、または、上記の一部または全てをシステムオンチップ構成等で組み合わせたものを意味するか、これらの一部であるか、または、これらを含むことを意味するとしてよい。「モジュール」という用語は、プロセッサが実行するコードを格納するメモリ（共有型、専用型またはグループ型）を含むとしてよい。
【０１０４】
「コード」という用語は、上述したように、ソフトウェア、ファームウェアおよび／またはマイクロコードを含むとしてよく、プログラム、ルーチン、関数、クラスおよび／またはオブジェクトを意味するとしてよい。「共有」という用語は、上述したように、複数のモジュールのコードの一部または全てが一の（共有型）プロセッサを用いて実行されることを意味する。また、複数のモジュールからのコードの一部または全ては、一の（共有型）メモリに格納されるとしてよい。「グループ」という用語は、上述したように、一のモジュールからのコードの一部または全てが一のグループのプロセッサを用いて実行され得ることを意味する。また、一のモジュールからのコードの一部または全ては、一のグループのメモリを用いて格納されるとしてよい。
【０１０５】
本明細書で説明した装置および方法は、１以上のプロセッサが実行する１以上のコンピュータプログラムで実現されるとしてよい。コンピュータプログラムは、非一時的有形コンピュータ可読媒体で格納されているプロセッサ実行可能命令を含む。コンピュータプログラムはさらに、格納されているデータを含むとしてよい。非一時的有形コンピュータ可読媒体の例は、これらに限定されないが、不揮発性メモリ、磁気ストレージおよび光ストレージである。
【図１】
2014525703.tif 000003
【図２】
2014525703.tif 000004
【図３】
2014525703.tif 000005
【図４】
2014525703.tif 000006
【図５】
2014525703.tif 000007
【図６】
2014525703.tif 000008
【図７】
2014525703.tif 000009
【国際調査報告】
2014525703.tif 000010
2014525703.tif 000011