(57)【要約】【課題】通信ネットワークのメンテナンス性を維持しつつＡＲＰスプーフィングを防ぐことを目的とする。【解決手段】一実施形態に係る通信システムは、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得部と、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録部と、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信部と、受信部により受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新部とを備える。【選択図】図３
2018182502.tif 000002
【特許請求の範囲】
【請求項１】
第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得部と、
前記ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリを前記ＡＲＰテーブルに永続的に格納する登録部と、
前記エントリが前記ＡＲＰテーブルに格納された後に、前記ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信部と、
前記受信部により受信されたＭＡＣアドレスを前記第２通信装置のＭＡＣアドレスとして前記ＡＲＰテーブル内の前記エントリに追加する更新部と
を備える通信システム。
【請求項２】
前記登録部が前記エントリを、ＳｔａｔｉｃおよびＤｙｎａｍｉｃのいずれとも異なるエントリタイプのエントリとして前記ＡＲＰテーブルに格納する、
請求項１に記載の通信システム。
【請求項３】
前記受信部が、前記エントリが前記ＡＲＰテーブルに格納された後に前記第１通信装置から送信されたＡＲＰ要求パケットに応じて前記第２通信装置から送られてきたＡＲＰ応答パケットを受信することで、前記ＭＡＣアドレスを受信する、
請求項１または２に記載の通信システム。
【請求項４】
前記第１通信装置が他の通信装置から受信した所定時間内のパケットの個数を所定の閾値と比較する監視部と、
前記監視部による比較の結果に基づいて、前記第１通信装置の受信機能を制御する受信制御部と
をさらに備え、
前記パケットの個数が第１閾値以上であると前記監視部が判定した場合には、前記受信制御部が前記受信機能を停止し、
前記受信機能が停止された後に、前記パケットの個数が第２閾値以下であると前記監視部が判定した場合には、前記受信制御部が前記受信機能を再開し、ここで、第２閾値が第１閾値より小さい、
請求項１〜３のいずれか一項に記載の通信システム。
【請求項５】
第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得ステップと、
前記ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリを前記ＡＲＰテーブルに永続的に格納する登録ステップと、
前記エントリが前記ＡＲＰテーブルに格納された後に、前記ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信ステップと、
前記受信ステップにおいて受信されたＭＡＣアドレスを前記第２通信装置のＭＡＣアドレスとして前記ＡＲＰテーブル内の前記エントリに追加する更新ステップと
をコンピュータシステムに実行させる通信プログラム。
【請求項６】
第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得ステップと、
前記ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリを前記ＡＲＰテーブルに永続的に格納する登録ステップと、
前記エントリが前記ＡＲＰテーブルに格納された後に、前記ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信ステップと、
前記受信ステップにおいて受信されたＭＡＣアドレスを前記第２通信装置のＭＡＣアドレスとして前記ＡＲＰテーブル内の前記エントリに追加する更新ステップと
をコンピュータシステムに実行させる通信プログラムを記憶するコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、通信システム、通信プログラム、およびコンピュータ読取可能な記録媒体に関する。
【背景技術】
【０００２】
イーサネット（登録商標）に接続される通信装置は、ＩＰアドレスおよびＭＡＣアドレスを用いて他の装置とデータを送受信する。各装置はＩＰアドレスとＭＡＣアドレスとの対応関係を示すＡＲＰテーブルを備え、このＡＲＰテーブルを参照してデータの宛先を決定する。ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）とは、宛先のＩＰアドレスからＭＡＣアドレスを得るための通信プロトコルである。
【０００３】
このＡＲＰに関して様々な技術が生み出されている。例えば、下記の特許文献１には、アドホックな通信システムにおいてシステムを構成する端末間の経路情報を作成する通信装置が記載されている。特許文献２には、レイヤ２、レイヤ３、およびレイヤ４の情報を基にパケットの送受信を制御するフロー制御ネットワークと、ＩＰネットワークをレイヤ２スイッチで接続する技術とが記載されている。特許文献３には、フラッディングによる不要なフレームの送信を低減するための手法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−３５１００号公報
【特許文献２】特許第５４３８６２４号明細書
【特許文献３】特許第５９７３３１７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＡＲＰに関する情報セキュリティの脅威の一つにＡＲＰスプーフィングがある。ＡＲＰスプーフィングとは、悪意を持つ者のコンピュータがＡＲＰプロトコルの応答を偽装することでＬＡＮ上の装置になりすます攻撃手法である。この攻撃により、正規の装置が意図しない装置（例えば、悪意を持つ者の端末）との間で通信を行って、その結果、情報が盗聴されるおそれがある。
【０００６】
ＡＲＰテーブルのエントリを静的に登録することで（すなわち、エントリタイプはＳｔａｔｉｃ）、ＡＲＰスプーフィングを防ぐことが可能である。しかし、この手法ではネットワーク構成を変える度にユーザがＩＰアドレスおよびＭＡＣアドレスのペアをＡＲＰテーブルに再登録する必要があるので、通信ネットワークのメンテナンス性が下がってしまう。
【０００７】
そこで、通信ネットワークのメンテナンス性を維持しつつＡＲＰスプーフィングを防ぐことが望まれている。
【課題を解決するための手段】
【０００８】
本発明の一側面に係る通信システムは、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得部と、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録部と、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信部と、受信部により受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新部とを備える。
【０００９】
本発明の一側面に係る通信プログラムは、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得ステップと、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録ステップと、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信ステップと、受信ステップにおいて受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新ステップとをコンピュータシステムに実行させる。
【００１０】
本発明の一側面に係るコンピュータ読取可能な記録媒体は、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得ステップと、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録ステップと、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信ステップと、受信ステップにおいて受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新ステップとをコンピュータシステムに実行させる通信プログラムを記憶する。
【００１１】
このような側面においては、最初に装置のＩＰアドレスさえＡＲＰテーブルに登録しておけば、その後のデータ通信によりその装置のＭＡＣアドレスが自動的にそのＩＰアドレスと関連付けられてＡＲＰテーブルに登録される。このようにＭＡＣアドレスが自動的に登録される分だけユーザの入力の手間が省かれるので、通信ネットワークのメンテナンス性が向上する。登録されたエントリは永続的にＡＲＰテーブルに記憶されるので、ＡＲＰスプーフィングを受ける懸念が生じない。したがって、通信ネットワークのメンテナンス性を維持しつつＡＲＰスプーフィングを防ぐことができる。
【００１２】
他の側面に係る通信システムでは、登録部がエントリを、ＳｔａｔｉｃおよびＤｙｎａｍｉｃのいずれとも異なるエントリタイプのエントリとしてＡＲＰテーブルに格納してもよい。従来のものとは異なるエントリタイプを採用することで、既存の仕組みに影響を与えることなく、新たな手法でＡＲＰテーブルを管理することができる。
【００１３】
他の側面に係る通信システムでは、受信部が、エントリがＡＲＰテーブルに格納された後に第１通信装置から送信されたＡＲＰ要求パケットに応じて第２通信装置から送られてきたＡＲＰ応答パケットを受信することで、ＭＡＣアドレスを受信してもよい。この場合には、既存のＡＲＰの仕組みを利用してＩＰアドレスとＭＡＣアドレスとを関連付けることができる。
【００１４】
他の側面に係る通信システムでは、第１通信装置が他の通信装置から受信した所定時間内のパケットの個数を所定の閾値と比較する監視部と、監視部による比較の結果に基づいて、第１通信装置の受信機能を制御する受信制御部とをさらに備え、パケットの個数が第１閾値以上であると監視部が判定した場合には、受信制御部が受信機能を停止し、受信機能が停止された後に、パケットの個数が第２閾値以下であると監視部が判定した場合には、受信制御部が受信機能を再開し、ここで、第２閾値が第１閾値より小さくてもよい。この場合には、パケット数に応じて受信機能の停止または再開を実行するという簡易な仕組みでＡＲＰフラッディングを防ぐことができる。
【発明の効果】
【００１５】
本発明の一側面によれば、通信ネットワークのメンテナンス性を維持しつつＡＲＰスプーフィングを防ぐことができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係る通信システムで用いられるコンピュータのハードウェア構成を示す図である。
【図２】ネットワーク環境の例を示す図である。
【図３】実施形態に係る通信システムの機能構成を示す図である。
【図４】実施形態に係る通信システムの実装の一例を示す図である。
【図５】ＡＲＰ管理機能を示すフローチャートである。
【図６】受信制御機能を示すフローチャートである。
【図７】実施形態に係る通信プログラムの構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【００１８】
［システムの構成］
実施形態に係る通信システム１０は、通信装置の通信機能を制御する仕組みであり、１以上のコンピュータ、またはコンピュータが内蔵された１以上の通信装置、あるいはこれらの組合せにより実現される。本明細書における「通信装置」とは、他の装置との間でデータを送受信する機能を有する装置であり、データの受信に関していうと、他の装置から送られてきたデータを最終的に受信する装置である。したがって、本明細書における通信装置は、ある１台の装置から他の装置に送信されるデータを途中で中継する中継装置ではない。通信装置の種類は限定されず、通信装置が存在する場所も限定されない。例えば通信システム１０は、工場などの施設内に固定的に設置された制御装置ＰＬＣ（プログラマブル・ロジック・コントローラ）、工作機械、ロボット、据置型のパーソナルコンピュータに適用されてもよい。あるいは、通信システム１０は携帯電話機、高機能携帯電話機（スマートフォン）、ラップトップコンピュータなどの携帯端末に適用されてもよい。
【００１９】
図１は通信システム１０を構成するコンピュータまたは通信装置１００の一般的なハードウェア構成を示す。例えば、コンピュータまたは通信装置１００はプロセッサ１０１、主記憶部１０２、補助記憶部１０３、通信制御部１０４、入力装置１０５、および出力装置１０６を備える。プロセッサ１０１はオペレーティングシステム（ＯＳ）およびアプリケーションプログラムを実行する。主記憶部１０２は例えばＲＯＭおよびＲＡＭで構成される。補助記憶部１０３は例えばハードディスクまたはフラッシュメモリで構成され、一般に主記憶部１０２よりも大量のデータを記憶する。通信制御部１０４は例えばネットワーク・インタフェース・カード（ＮＩＣ）または無線通信モジュールで構成される。入力装置１０５は例えばキーボード、マウス、タッチパネル、操作ボタンなどで構成される。出力装置１０６は例えばモニタ、メータ、スピーカなどで構成される。
【００２０】
通信システム１０の各機能要素は、プロセッサ１０１または主記憶部１０２の上に所定のソフトウェア（例えば、後述する通信プログラムＰ１）を読み込ませてそのソフトウェアを実行させることで実現される。プロセッサ１０１はそのソフトウェアに従って、通信制御部１０４、入力装置１０５、または出力装置１０６を動作させ、主記憶部１０２または補助記憶部１０３におけるデータの読み出しおよび書き込みを行う。処理に必要なデータまたはデータベースは主記憶部１０２または補助記憶部１０３内に格納される。
【００２１】
通信システム１０は１台のコンピュータまたは通信装置で構成されてもよいし、複数台のコンピュータまたは通信装置で構成されてもよい。複数台のコンピュータまたは通信装置を用いる場合には、これらのコンピュータまたは通信装置が通信ネットワークを介して接続されることで、論理的に一つの通信システム１０が構築される。
【００２２】
図２は通信システム１０が適用される通信ネットワークとその周辺のネットワーク環境との例を示す。なお、本明細書では通信ネットワークを単に「ネットワーク」ともいう。個々のネットワーク２０１はルータ２０２で区切られる。すなわち、一つのネットワーク２０１は、一つのルータ２０２と、そのルータ２０２の配下に置かれる複数の末端の通信装置２０３とを含む。一つの通信システム１０は、既にネットワーク経路が決まっている一つのネットワーク２０１内の１以上の通信装置２０３に適用される。本実施形態では、一つのネットワーク２０１内に存在する複数の通信装置２０３のうち、通信システム１０が適用されるかまたは組み込まれるものを「第１通信装置」といい、この第１通信装置とは別の通信装置（他の通信装置）を「第２通信装置」という。当然ながら、通信システム１０がネットワーク２０１内のすべての通信装置２０３に適用されまたは組み込まれてもよく、この場合には、そのうちの任意の１台が第１通信装置であり、残りの装置が第２通信装置である。
【００２３】
イーサネット（登録商標）上の通信装置はＩＰアドレスおよびＭＡＣアドレスを用いてデータ通信を行う。通信装置は、同一ネットワーク上に存在する他の通信装置とデータを送受信するために、ＡＲＰを用いてその通信相手のＭＡＣアドレスを取得する。まず、通信装置Ａは通信相手のＩＰアドレスと、自機のＩＰアドレスおよびＭＡＣアドレスとを含むＡＲＰ要求パケットをブロードキャストする。この送信に応じて、そのＩＰアドレスを有する通信装置Ｂが、通信装置ＡのＩＰアドレスおよびＭＡＣアドレスを自機のＡＲＰテーブルに登録すると共に、自機のＭＡＣアドレスを含むＡＲＰ応答パケットを通信装置Ａに送信（ユニキャスト）する。他の通信装置は、ＡＲＰ要求パケット内のＩＰアドレスが自機のものではないので、そのパケットを破棄する。通信装置ＡはそのＡＲＰ応答パケットを受信して、通信装置ＢのＩＰアドレスおよびＭＡＣアドレスを自機のＡＲＰテーブルに登録する。この一連の処理により、通信装置Ａは通信相手の宛先を入手し、次回以降の通信ではＡＲＰテーブルを参照することで通信装置Ｂとの間でデータを送受信する。
【００２４】
一つのネットワーク２０１はルータを介して他のネットワークとつながり、例えば世界中のネットワークとつながり得る。そのため、ネットワーク２０１の情報セキュリティが、悪意がある攻撃者からの攻撃にさらされる可能性がある。近年は、これまでネットワーク接続されていなかった装置または機器（例えば、工場内で稼働する機械）も、稼働状況の監視や遠隔操作などのためにネットワークに接続するようになっている。そのため、意外な装置または機器が情報セキュリティの脅威にさらされる可能性がある。その脅威の中に、上記のＡＲＰの仕組みを悪用したＡＲＰスプーフィング（ポイズニング）およびＡＲＰフラッディングがある。
【００２５】
ＡＲＰスプーフィングとは、攻撃者２０４のコンピュータが、ＭＡＣアドレスを偽装した不正なＡＲＰ応答パケットをネットワーク２０１に何度も連続してブロードキャストすることで、そのネットワーク２０１内の通信装置２０３のＡＲＰテーブルのエントリを詐称する攻撃である。エントリとは、ＡＲＰテーブル１１に記憶される、ある一つの通信装置のＩＰアドレスおよびＭＡＣアドレスのペアである。ＡＲＰテーブルのエントリが詐称されると、ネットワーク２０１内の通信が攻撃者２０４を経由して行われるので、盗聴やデータ改ざんなどの被害が発生し得る。
【００２６】
ＡＲＰフラッディングとは、攻撃者２０４のコンピュータが、偽装したＭＡＣアドレスを含むＡＲＰ要求パケットまたはＡＲＰ応答パケットをネットワーク２０１内の特定の通信装置２０３に向けて大量に送信する攻撃である。ＡＲＰ要求パケットまたはＡＲＰ応答パケットを受信した通信装置２０３は、そのパケットとＡＲＰテーブル内のエントリとを比較し、追加のエントリを登録するか否かを判定する。そのため、通信装置２０３がこれらのパケットを受信すると処理負荷が上がって、通信装置２０３が、本来実行すべき機能を規定時間内に終えることができなかったり、停止してしまったりする可能性がある。また、ＡＲＰフラッディングにより、偽装されたＭＡＣアドレスがＡＲＰテーブルに登録されるので、攻撃を受けている間は通信装置２０３が正常な通信を実行できなくなる。
【００２７】
本実施形態における通信システム１０は、情報セキュリティの脅威から通信装置を守ることを目的とする。特に、通信システム１０はＡＲＰスプーフィングおよびＡＲＰフラッディングを抑制または防止することを主たる目的とする。通信システム１０の特徴の一つは、ＡＲＰスプーフィングを抑制または防止するための、ＡＲＰテーブルへのエントリの登録および更新であり、本明細書ではこの機能を「ＡＲＰ管理機能」ともいう。更なる特徴は、ＡＲＰフラッディングを抑制または防止するための、パケット受信の制御であり、本明細書ではこの機能を「受信制御機能」ともいう。なお、本明細書は、ＡＲＰパケットに関するＡＲＰフラッディングに限定されるものではなく、ＡＲＰパケット以外のパケットのフラッディングも対象とすることができる。ＡＲＰパケット以外のパケットとは、例えば、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）又はＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のパケットや、エラーパケット等である。
【００２８】
図３は、これらの制御を実行する通信システム１０の機能構成の一例を示す。通信システム１０はＡＲＰ管理機能のための機能的構成要素としてＡＲＰテーブル１１、取得部１２、登録部１３、受信部１４、および更新部１５を備える。さらに、通信システム１０は受信制御機能のための機能的構成要素として監視部２１および受信制御部２２を備える。
【００２９】
通信システム１０を第１通信装置に適用する方法は限定されない。例えば、通信システム１０の全体が第１通信装置に組み込まれてもよい。あるいは、通信システム１０の一部が第１通信装置に組み込まれ、残りが別の装置（例えば、一つのネットワークを統括的に管理するコンピュータ）に組み込まれてもよい。
【００３０】
ＡＲＰテーブル１１は、通信システム１０が適用される（組み込まれる）第１通信装置の構成要素であり、第１通信装置と共通のルータに属する他の通信装置（第２通信装置）のＩＰアドレスおよびＭＡＣアドレスの対応を記憶する機能要素である。簡単に言うと、ＡＲＰテーブル１１はＩＰアドレスとＭＡＣアドレスとの対応表である。「第１通信装置と共通のルータに属する他の通信装置」とは、他の通信装置（第２通信装置）が、ルータで区切られた一つのネットワーク内に第１通信装置と共に存在していることをいう。「一つのネットワーク」とは、例えば、図２に示される一つのネットワーク２０１である。一つのネットワーク内に存在する第１通信装置および第２通信装置の間では、ＩＰアドレスのネットワーク番号が同じである。第２通信装置はそのルータを含んでもよい。
【００３１】
ＡＲＰテーブル１１はそれぞれの第２通信装置のエントリを「エントリタイプ」と関連付けて記憶する。通信システム１０はＳｔａｔｉｃ（静的）、Ｄｙｎａｍｉｃ（動的）、およびＳｅｍｉ−ｓｔａｔｉｃ（半静的）という３種類のエントリタイプを扱う。
【００３２】
Ｓｔａｔｉｃは、エントリが永続的に記憶されることを意味する。Ｓｔａｔｉｃなエントリは、ＩＰアドレスおよびＭＡＣアドレスのペアをユーザが明示的に指定して登録することでＡＲＰテーブル１１に記憶される。ＡＲＰテーブル１１内のＳｔａｔｉｃなエントリは自動的に削除されず、ユーザの明示的な操作により削除する必要がある。なお、ユーザ操作によるエントリの削除は、例えば第２通信装置のＮＩＣを交換する際に行われる。
【００３３】
Ｄｙｎａｍｉｃは、エントリが自動的に登録または削除されることを意味する。Ｄｙｎａｍｉｃなエントリは、通信システム１０がＡＲＰ問合せを実行することで自動的にＡＲＰテーブル１１に記憶され、一定時間使用されないとＡＲＰテーブル１１から自動的に削除される。
【００３４】
Ｓｅｍｉ−ｓｔａｔｉｃは、まずＩＰアドレスのみが記憶され、その後、該ＩＰアドレスに対応するＭＡＣアドレスが自動的に記憶されることで、エントリが永続的に記憶されることを意味する。ＩＰアドレスは、ユーザが明示的に指定して登録することでＡＲＰテーブル１１に記憶される。その後、通信システム１０がＡＲＰ問合せによりＭＡＣアドレスを得て、そのＭＡＣアドレスを登録済のＩＰアドレスと関連付けてＡＲＰテーブル１１に記憶する。ＡＲＰテーブル１１内のＳｅｍｉ−ｓｔａｔｉｃなエントリは自動的に削除されず、第２通信装置のＮＩＣの交換などの際には、ユーザは明示的な操作によりエントリを削除する必要がある。ユーザはエントリ内のＭＡＣアドレスのみを削除することも可能であり、この場合には、その後に通信システム１０が再びＭＡＣアドレスを取得して該ＭＡＣアドレスをそのエントリに登録することがあり得る。
【００３５】
このように通信システム１０は、従来から存在するＳｔａｔｉｃおよびＤｙｎａｍｉｃのいずれとも異なる、Ｓｅｍｉ−ｓｔａｔｉｃというエントリタイプを用いる。当然ながら、通信システム１０はＳｔａｔｉｃなエントリおよびＤｙｎａｍｉｃなエントリの少なくとも一方を管理すると共に、Ｓｅｍｉ−ｓｔａｔｉｃなエントリを管理してもよい。すなわち、ＡＲＰテーブル１１が、ＳｔａｔｉｃおよびＤｙｎａｍｉｃのうちの少なくとも一つのエントリタイプと、Ｓｅｍｉ−ｓｔａｔｉｃのエントリタイプとを含んでもよい。
【００３６】
取得部１２は、ＡＲＰテーブル１１に登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する機能要素である。ＩＰアドレスの取得方法は限定されない。例えば、取得部１２はユーザが第１通信装置の入力装置から入力したＩＰアドレスを直接に受け付けてもよいし、前にユーザにより入力されて所定のメモリに記憶されているＩＰアドレスを読み出してもよい。あるいは、取得部１２はユーザにより第１通信装置とは別の装置で入力されて該装置から送られてきたＩＰアドレスを受信してもよい。このようにＩＰアドレスの取得方法は様々であるが、いずれにしても取得部１２はそのＩＰアドレスを登録部１３に出力する。
【００３７】
登録部１３は、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブル１１に永続的に格納する機能要素である。「永続的」とは、ＡＲＰテーブル１１が正常であることを前提として、ユーザの明示の操作がない限りエントリがＡＲＰテーブル１１に記憶され続けることをいう。通信システム１０は登録部１３により登録されるエントリを自動的には削除しない。登録部１３は取得部１２から入力されたＩＰアドレスを含み且つＭＡＣアドレスが空値（ｎｕｌｌ）であるエントリを生成して、このエントリをＳｅｍｉ−ｓｔａｔｉｃなものとしてＡＲＰテーブル１１に格納する。
【００３８】
受信部１４は、第２通信装置から第１通信装置宛に送られてきたＭＡＣアドレスを受信する機能要素である。第１通信装置は、ＡＲＰテーブル１１に登録されているＩＰアドレスに対応するＭＡＣアドレスが空値である場合に、そのＩＰアドレスを含むＡＲＰ要求パケットを同一ネットワーク内の１以上の第２通信装置宛にブロードキャストする（ローカルブロードキャスト）。すると、その要求に含まれるＩＰアドレスを有する第２通信装置がその要求に応じて、自機のＭＡＣアドレスを含むＡＲＰ応答パケットを第１通信装置に送信する。受信部１４はその応答を受信する。この一連の処理は、対応するＭＡＣアドレスが不明のＩＰアドレスがＡＲＰテーブル１１に格納された後に、そのＩＰアドレスと関連付けて送られてきたＭＡＣアドレスの受信に相当する。受信部１４はそのＡＲＰ応答パケットを更新部１５に出力する。
【００３９】
更新部１５は、受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとして、ＡＲＰテーブル１１内のエントリに追加する機能要素である。この第２通信装置は、ＩＰアドレスのみが第１通信装置のＡＲＰテーブル１１に登録されている通信装置である。更新部１５は受信部１４から入力されたＡＲＰ応答パケットを解析してＩＰアドレスおよびＭＡＣアドレスのペアを取得し、そのＩＰアドレスを含むＡＲＰテーブル１１内のエントリにそのＭＡＣアドレスを登録する。このようにエントリを更新することで、ＩＰアドレスとＭＡＣアドレスとのペアがＡＲＰテーブル１１に記憶される。更新部１５は予め登録されたＩＰアドレスに後からＭＡＣアドレスを動的に関連付ける機能要素であるともいえる。上述したようにこのエントリはＳｅｍｉ−ｓｔａｔｉｃなので、ＡＲＰテーブル１１内に永続的に記憶される。
【００４０】
監視部２１は、第１通信装置が他の通信装置（第２通信装置）から受信した所定時間内のパケットの個数（以下では単に「パケット数」ともいう）を所定の閾値と比較する機能要素である。監視部２１はパケット数を監視するために２種類の閾値を用いる。一つは、所定時間内のパケット数が異常に多いか否かを判定するために用いる第１閾値であり、もう一つは、所定時間内のパケット数が正常の範囲内に戻ったか否かを判定するために用いる第２閾値である。第１閾値は第１通信装置が情報セキュリティの脅威にさらされているか否かを判定する基準値であり、この閾値には通常では起こり得ない値が設定される。第２閾値はその脅威が収まったか否かを判定する基準値である。
【００４１】
第２閾値は第１閾値より小さい。一つの閾値のみを用いると、その閾値付近でパケット数が増減してチャタリングのような現象が発生して、第１通信装置に負荷が掛かったり受信が不安定になったりする可能性がある。この現象を防ぐために、第１閾値と、それよりも小さい第２閾値とを設定する。
【００４２】
監視部２１はパケットの監視を連続して実行し続けてもよいので、「所定時間内のパケットの個数」は「単位時間当たりのパケットの個数」と言い換えることもできる。所定時間または単位時間の具体的な長さは限定されないが、例えば１秒間でもよい。所定時間または単位時間が１秒であれば、パケット数の単位はｐｐｓ（ｐａｃｋｅｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）である。
【００４３】
監視部２１は、通信プロトコル毎にパケット数を監視してもよく、この場合には、各通信プロトコル独自の第１閾値および第２閾値が用意されてもよい。なお、本明細書では「通信プロトコル」を単に「プロトコル」ともいう。監視部２１はＩＰｖ４用の閾値とＩＰｖ６用の閾値とを用いてもよい。これに代えてまたは加えて、監視部２１はＡＲＰ用の閾値、ＩＣＭＰ用の閾値、ＩＧＭＰ用の閾値、ＴＣＰ用の閾値、ＵＤＰ用の閾値、およびエラーパケット用の閾値のうち少なくとも一種類を用いてもよい。監視部２１は受信したパケットのヘッダ（プロトコルが必要とする制御情報）を参照することで、プロトコル毎にパケットをカウントすることができる。どのプロトコルを監視するかは、どのプロトコルでの攻撃の蓋然性が高いかを考慮した上で決めることができる。例えば、ＯＳで処理されるＡＲＰパケットを悪意のある者から大量に送りつけられる可能性がある場合には、ＡＲＰについての第１閾値および第２閾値を設定することが有効である。
【００４４】
閾値の設定方法は限定されない。例えば、第１閾値および第２閾値はユーザにより予め設定されてもよい。あるいは、これらの閾値が動的に設定されてもよい。一例として、監視部２１は正常な期間（所定時間内のパケット数が第１閾値以下である期間）における単位時間（例えば１秒間）当たりのパケット数を自動的にカウントして、パケット数の統計値（例えば最大値、最小値、平均値）に基づいて第１閾値および第２閾値を設定してもよい。具体的には、監視部２１は該最大値と所定のオフセット値との和を第１閾値とし、該平均値を第２閾値としてもよい。あるいは、監視部２１は単位時間当たりのパケット数の標準偏差を一定時間毎に求め、その標準偏差の正規分布から第１閾値および第２閾値を設定してもよい。具体的には、監視部２１は２σ、１σをそれぞれ第１閾値、第２閾値としてもよい。
【００４５】
監視部２１は、パケット数が第１閾値を超えると判定した場合には、受信機能を停止させるための信号である停止指示を受信制御部２２に出力する。パケット数が第２閾値未満であると判定した場合には、監視部２１は、受信機能を再開させるための信号である再開指示を受信制御部２２に出力する。停止指示および再開指示は監視部２１での判定結果を示すともいえる。監視部２１がプロトコル毎にパケット数を監視する場合には、停止指示および再開指示はプロトコルの種類を示す情報を含む。この情報により、どのプロトコルについてパケット数が閾値を超えたかまたは下回ったかを知ることができる。
【００４６】
受信制御部２２は、監視部２１による比較の結果に基づいて、第１通信装置の受信機能を制御する機能要素である。受信機能とは、通信装置が他の通信装置から送られてきたデータを自機内で処理するためにそのデータを受け取る機能である。第１通信装置は通常は受信機能を稼働させており（有効にしており）、この間は、第２通信装置からのデータをメモリ内に記憶することでそのデータを自機内に取り込んだ上で、そのデータに対して任意の処理を実行する。なお、第１通信装置は第２通信装置からいったん受信したデータを破棄することもあり得る。
【００４７】
受信制御部２２は、その受信機能の現在の状況と入力された指示とに基づいて受信機能を停止または再開する。受信機能の停止とは、第１通信装置が任意の第２通信装置からデータを受信しないようにすることである。受信機能が停止している間は、第１通信装置は任意の第２通信装置から送られてきたデータを拒否し、したがって、そのデータは第１通信装置内に取り込まれない。一方、受信機能の再開とは、第１通信装置が再び任意の第２通信装置からデータを拒否することなく受け取るようにすることであり、受信機能を通常の状態に戻すことであるともいえる。ただし、監視部２１は、受信機能が稼働しているか停止しているかにかかわらず、上記のようにパケット数のカウントおよび比較を実行し続ける。
【００４８】
第１通信装置の送信機能は、受信機能が稼働しているか否かにかかわらず有効である。すなわち、受信制御部２２は送信機能を停止させることなく受信機能を停止または再開する。
【００４９】
受信制御部２２は、第１通信装置の受信機能の現在の状況と入力された指示とに基づいて受信機能を制御する。受信機能が稼働している状況下で停止指示が入力された場合には、受信制御部２２はその受信機能を停止する。これに対して、受信機能が停止している状況下で再開指示が入力された場合には、受信制御部２２はその受信機能を再開する。受信機能が稼働中に再開指示が入力された場合には、受信制御部２２は何も実行せず、したがって、その時点での受信機能の状態が維持される。受信機能が停止中に停止指示が入力された場合も、受信制御部２２は何も実行しない。
【００５０】
受信機能を停止する場合には、受信制御部２２はプロトコルに関係なくすべてのパケットの受信を停止する。これは、プロトコルに関係なくパケット数を監視する場合はもとより、プロトコル毎にパケット数を監視する場合でも適用される。プロトコル毎にパケット数を監視する場合において受信機能を再開する場合には、監視部２１は、受信機能を停止するきっかけになった停止指示で示されたものと同じプロトコルを含む再開指示を受信した場合にのみ、その再開処理を実行する。
【００５１】
［システムの実装例］
上述した通信システム１０の機能は、例えば、図４に示すように既存のコンピュータ・アーキテクチャに組み込むことが可能である。図４は、通信装置への通信システム１０の組み込みの一例を示し、ハッチング部分が通信システム１０の機能に相当する。この図に示すように、例えば、通信システム１０はＯＳの一部として組み込まれて、所定のアプリケーションプログラムまたはネットワークドライバと連携する。例えば、この通信装置において通信システム１０は以下のように動作する。
【００５２】
リンク３０１はＡＲＰ管理機能におけるＡＲＰテーブルへのエントリの登録を表す。例えば、ユーザは通信装置の初期化の際に、所定のアプリケーションプログラムを介して、この通信装置と同じネットワーク内で接続する他の装置のＩＰアドレスをＳｅｍｉ−ｓｔａｔｉｃのエントリとして登録する。ユーザは、そのアプリケーションプログラムを介して、ＡＲＰテーブル１１内のエントリ（エントリタイプを含む）を視認することもできる。アプリケーションプログラムは通信システム１０と連携して、ＡＲＰテーブル１１内のエントリを読み出して画面上に表示することができる。
【００５３】
リンク３０２は受信制御機能の閾値の設定を示す。ユーザはアプリケーションプログラムを介して第１閾値および第２閾値を設定する。上述したように、ユーザはこれらの閾値をプロトコル毎に設定することもできる。
【００５４】
リンク３０３はパケット数の監視を示す。監視部２１の一つの具体例であるパケットカウンタは、ネットワークドライバにより受信されたパケットをカウントして、そのパケット数を第１閾値または第２閾値と比較する。
【００５５】
リンク３０４は受信機能の停止または再開を示す。パケット数が第１閾値を超えた場合には受信制御部２２は受信機能を停止する。さらに、受信制御部２２は、何らかの攻撃（例えばＡＲＰフラッディング）を受けていることをアプリケーションプログラムに通知する。パケット数が第２閾値未満になった場合は、受信制御部２２は受信機能を再開し、アプリケーションプログラムにその再開を通知する。
【００５６】
リンク３０５はＴＣＰ通信データの処理を示す。アプリケーションプログラムは、受信制御部２２からの通知に応じて、ＴＣＰ通信データを読み書きする。このＴＣＰ通信データは、第１通信装置がパケットを受信可能か否かを示し、第１通信装置の状態を第２通信装置に伝達するために用いられる。
【００５７】
リンク３０６はＵＤＰ通信データの処理を示す。アプリケーションプログラムは、受信制御部２２からの通知に応じて、ＵＤＰ通信データを読み書きする。このＵＤＰ通信データは、第１通信装置がパケットを受信可能か否かを示し、第１通信装置の状態を第２通信装置に伝達するために用いられる。
【００５８】
［システムの動作］
次に、図５および図６を参照しながら、通信システム１０の動作を説明するとともに本実施形態に係る通信制御方法について説明する。
【００５９】
図５はＡＲＰ管理機能を示すフローチャートである。まず、取得部１２が、ユーザにより入力された第２通信装置のＩＰアドレスを取得し（ステップＳ１１、取得ステップ）、登録部１３がそのＩＰアドレスを含むエントリをＡＲＰテーブル１１に永続的に格納する（ステップＳ１２、登録ステップ）。この時点では、そのエントリはＭＡＣアドレスを含まない。その後、受信部１４がそのＩＰアドレスに対応するＭＡＣアドレスを受信し（ステップＳ１３、受信ステップ）、更新部１５がそのＭＡＣアドレスをそのＩＰアドレスと関連付けてＡＲＰテーブル１１に追加する（ステップＳ１４、更新ステップ）。
【００６０】
図６は受信制御機能を示すフローチャートである。電源が入れられると、第１通信装置は受信機能を起動し（ステップＳ２１）、これによりパケットの受信が可能になる。この起動を契機として監視部２１が単位時間当たりのパケット数を監視し始め（ステップＳ２２、監視ステップ）、そのパケット数を第１閾値と比較する（ステップＳ２３、監視ステップ）。そして、パケット数が第１閾値を超えたと判定されると（ステップＳ２３においてＹＥＳ）、受信制御部２２が受信機能を停止する（ステップＳ２４、受信制御ステップ（停止ステップ））。パケット数が第１閾値以下であれば（ステップＳ２３においてＮＯ）、受信機能は引き続き有効であり、監視部２１は引き続きパケット数を監視する（ステップＳ２２）。
【００６１】
受信機能を停止した後も、監視部２１は引き続き単位時間当たりのパケット数を監視する（ステップＳ２５、監視ステップ）。ただし、この段階では、監視部２１はそのパケット数を第２閾値と比較する（ステップＳ２６、監視ステップ）。そして、パケット数が第２閾値未満であると判定されると（ステップＳ２６においてＹＥＳ）、受信制御部２２が受信機能を再開する（ステップＳ２７、受信制御ステップ（再開ステップ））。パケット数が第２閾値以上であれば（ステップＳ２６においてＮＯ）、受信機能は引き続き無効であり、監視部２１は引き続きパケット数を監視する（ステップＳ２５）。受信機能を再開すると、処理はステップＳ２２に戻る。
【００６２】
［プログラム］
次に、図７を参照しながら、通信システム１０を実現するための通信プログラムＰ１を説明する。
【００６３】
通信プログラムＰ１は、ＡＲＰ管理機能用のモジュールとしてメインモジュールＰ１０、取得モジュールＰ１１、登録モジュールＰ１２、受信モジュールＰ１３、および更新モジュールＰ１４を含む。メインモジュールＰ１０はＡＲＰ管理機能を統括的に制御する部分である。取得モジュールＰ１１、登録モジュールＰ１２、受信モジュールＰ１３、および更新モジュールＰ１４を実行することで取得部１２、登録部１３、受信部１４、および更新部１５が実現する。
【００６４】
また、通信プログラムＰ１は、受信制御機能用のモジュールとしてメインモジュールＰ２０、監視モジュールＰ２１、および受信制御モジュールＰ２２を含む。メインモジュールＰ２０は受信制御機能を統括的に制御する部分である。監視モジュールＰ２１および受信制御モジュールＰ２２を実行することで監視部２１および受信制御部２２が実現する。
【００６５】
通信プログラムＰ１は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、通信プログラムＰ１は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。ＡＲＰ管理機能用のモジュールと受信制御機能用のモジュールとが別々に提供されてもよい。
【００６６】
［効果］
以上説明したように、本発明の一側面に係る通信システムは、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得部と、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録部と、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信部と、受信部により受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新部とを備える。
【００６７】
本発明の一側面に係る通信制御方法は、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得ステップと、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録ステップと、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信ステップと、受信ステップにおいて受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新ステップとを含む。
【００６８】
本発明の一側面に係る通信プログラムは、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得ステップと、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録ステップと、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信ステップと、受信ステップにおいて受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新ステップとをコンピュータシステムに実行させる。
【００６９】
本発明の一側面に係るコンピュータ読取可能な記録媒体は、第１通信装置のＡＲＰテーブルに登録するためにユーザにより入力された第２通信装置のＩＰアドレスを取得する取得ステップと、ＩＰアドレスを含み且つＭＡＣアドレスを含まないエントリをＡＲＰテーブルに永続的に格納する登録ステップと、エントリがＡＲＰテーブルに格納された後に、ＩＰアドレスと関連付けて送信されてきたＭＡＣアドレスを受信する受信ステップと、受信ステップにおいて受信されたＭＡＣアドレスを第２通信装置のＭＡＣアドレスとしてＡＲＰテーブル内のエントリに追加する更新ステップとをコンピュータシステムに実行させる通信プログラムを記憶する。
【００７０】
このような側面においては、最初に装置のＩＰアドレスさえＡＲＰテーブルに登録しておけば、その後のデータ通信によりその装置のＭＡＣアドレスが自動的にそのＩＰアドレスと関連付けられてＡＲＰテーブルに登録される。このようにＭＡＣアドレスが自動的に登録される分だけユーザの入力の手間が省かれるので、通信ネットワークのメンテナンス性が向上する。登録されたエントリは永続的にＡＲＰテーブルに記憶されるので、ＡＲＰスプーフィングを受ける懸念が生じない。したがって、通信ネットワークのメンテナンス性を維持しつつＡＲＰスプーフィングを防ぐことができる。
【００７１】
他の側面に係る通信システムでは、登録部がエントリを、ＳｔａｔｉｃおよびＤｙｎａｍｉｃのいずれとも異なるエントリタイプのエントリとしてＡＲＰテーブルに格納してもよい。従来のものとは異なるエントリタイプを採用することで、既存の仕組みに影響を与えることなく、新たな手法でＡＲＰテーブルを管理することができる。
【００７２】
他の側面に係る通信システムでは、受信部が、エントリがＡＲＰテーブルに格納された後に第１通信装置から送信されたＡＲＰ要求パケットに応じて第２通信装置から送られてきたＡＲＰ応答パケットを受信することで、ＭＡＣアドレスを受信してもよい。この場合には、既存のＡＲＰの仕組みを利用してＩＰアドレスとＭＡＣアドレスとを関連付けることができる。ＭＡＣアドレスを得るためのＡＲＰ要求およびＡＲＰ応答は、通信装置と初めて通信しようとする際に（例えば、第１通信装置の電源が入れられた直後に）実行される。この時点で第１通信装置が攻撃を受ける確率は限りなくゼロに近いので、第１通信装置は正当な第２通信装置からＭＡＣアドレスを確実に受け取ることができる。仮にその時点で第１通信装置が正当でない通信装置からＭＡＣアドレスを受信したとしても、この場合には第１通信装置が正常に動作をしないので、ユーザはその第１通信装置を停止させる。したがって、セキュリティの脅威を防ぐことができる。
【００７３】
他の側面に係る通信システムでは、第１通信装置が他の通信装置から受信した所定時間内のパケットの個数を所定の閾値と比較する監視部と、監視部による比較の結果に基づいて、第１通信装置の受信機能を制御する受信制御部とをさらに備え、パケットの個数が第１閾値以上であると監視部が判定した場合には、受信制御部が受信機能を停止し、受信機能が停止された後に、パケットの個数が第２閾値以下であると監視部が判定した場合には、受信制御部が受信機能を再開し、ここで、第２閾値が第１閾値より小さくてもよい。この場合には、パケット数に応じて受信機能の停止または再開を実行するという簡易な仕組みでＡＲＰフラッディングを防ぐことができる。また、仕組みが簡易なので、ハードウェア資源が限られる通信装置（例えばプロセッサの処理速度またはメモリ容量が限られる装置）にも適用できる。
【００７４】
本発明の一側面に係る通信システムは、第１通信装置が他の通信装置から受信した所定時間内のパケットの個数を所定の閾値と比較する監視部と、監視部による比較の結果に基づいて、第１通信装置の受信機能を制御する受信制御部とを備え、パケットの個数が第１閾値以上であると監視部が判定した場合には、受信制御部が受信機能を停止し、受信機能が停止された後に、パケットの個数が第２閾値以下であると監視部が判定した場合には、受信制御部が受信機能を再開し、ここで、第２閾値が第１閾値より小さい。
【００７５】
本発明の一側面に係る通信制御方法は、第１通信装置が他の通信装置から受信した所定時間内のパケットの個数を所定の閾値と比較する監視ステップと、監視部による比較の結果に基づいて、第１通信装置の受信機能を制御する受信制御ステップとを含み、受信制御ステップが、パケットの個数が第１閾値以上であると判定された場合には、受信機能を停止する停止ステップと、受信機能が停止された後に、パケットの個数が第２閾値以下であると判定された場合には、受信機能を再開する再開ステップであって、第２閾値が第１閾値より小さい、該再開ステップとを含んでもよい。
【００７６】
本発明の一側面に係る通信プログラムは、第１通信装置が他の通信装置から受信した所定時間内のパケットの個数を所定の閾値と比較する監視ステップと、監視部による比較の結果に基づいて、第１通信装置の受信機能を制御する受信制御ステップとをコンピュータシステムに実行させ、受信制御ステップが、パケットの個数が第１閾値以上であると判定された場合には、受信機能を停止する停止ステップと、受信機能が停止された後に、パケットの個数が第２閾値以下であると判定された場合には、受信機能を再開する再開ステップであって、第２閾値が第１閾値より小さい、該再開ステップとを含んでもよい。
【００７７】
本発明の一側面に係るコンピュータ読取可能な記録媒体は、第１通信装置が他の通信装置から受信した所定時間内のパケットの個数を所定の閾値と比較する監視ステップと、監視部による比較の結果に基づいて、第１通信装置の受信機能を制御する受信制御ステップとをコンピュータシステムに実行させる通信プログラムを記憶し、受信制御ステップが、パケットの個数が第１閾値以上であると判定された場合には、受信機能を停止する停止ステップと、受信機能が停止された後に、パケットの個数が第２閾値以下であると判定された場合には、受信機能を再開する再開ステップであって、第２閾値が第１閾値より小さい、該再開ステップとを含んでもよい。
【００７８】
従来から存在する情報セキュリティの脅威の一つにＡＲＰフラッディングがあり、この攻撃をより簡易に防ぐことが求められている。この側面においては、パケット数に応じて受信機能の停止または再開を実行するという簡易な仕組みでそのＡＲＰフラッディングを防ぐことができる。また、仕組みが簡易なので、ハードウェア資源が限られる通信装置（例えばプロセッサの処理速度またはメモリ容量が限られる装置）にも適用できる。
【００７９】
［変形例］
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００８０】
上記実施形態では通信システム１０がＡＲＰ管理機能および受信制御機能を備えるが、通信システムはこれら二つの機能のどちらか一方のみを備えてもよい。
【００８１】
少なくとも一つのプロセッサにより実行される通信制御方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ（処理）の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の２以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【００８２】
通信システム内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」という二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
【符号の説明】
【００８３】
１０  通信システム
１１  ＡＲＰテーブル
１２  取得部
１３  登録部
１４  受信部
１５  更新部
２１  監視部
２２  受信制御部
２０３  通信装置
Ｐ１  通信プログラム
Ｐ１０  メインモジュール
Ｐ１１  取得モジュール
Ｐ１２  登録モジュール
Ｐ１３  受信モジュール
Ｐ１４  更新モジュール
Ｐ２０  メインモジュール
Ｐ２１  監視モジュール
Ｐ２２  受信制御モジュール
【図１】
2018182502.tif 000003
【図２】
2018182502.tif 000004
【図３】
2018182502.tif 000005
【図４】
2018182502.tif 000006
【図５】
2018182502.tif 000007
【図６】
2018182502.tif 000008
【図７】
2018182502.tif 000009