(57)【要約】【課題】  イーサネット・スイッチ機能を有しＩＰ電話へのＤｏＳ攻撃に対する防御性を向上させることができる通信用半導体集積回路を提供する。【解決手段】  イーサネットポートを２つ有し受信フレームに応じて転送ポートを切替え可能なスイッチ部とＣＰＵを備えた通信処理部とを有する通信用半導体集積回路のスイッチ部と通信処理部との間に、不要な受信フレームをカットするフィルタ部を設ける。そして、このフィルタ部には記憶手段を設け、該記憶手段にはフレームの種類に応じてフレーム内の所定の部位に格納されるコードのうち幾つかを記憶させておいて、フレームを受信した際にフレーム内の所定のコードと記憶手段に記憶されているコードとを比較して一致したもののみ通信処理部への転送を許可するようにした。【選択図】図１
2007251592.tif 000002
【特許請求の範囲】
【請求項１】
物理層と接続可能な第１のポートおよび第２のポートと、内部回路に接続される第３のポートとを有し、受信したフレームの転送先の切替えを行なうスイッチ部と、
受信したフレームの処理を行なう通信処理部と、
前記スイッチ部と前記通信処理部との間に設けられ所定の種類の受信フレームを前記スイッチ部から前記通信処理部へ転送させるフィルタ部と、
を備えたことを特徴とする通信用半導体集積回路。
【請求項２】
前記第３のポートより前記フィルタ部へ入力された受信フレームのうち受信バッファを介して前記通信処理部へ転送されるフレームは、
ＲＴＰフレームとＳＩＰフレームとＡＲＰフレームとＶＬＡＮ対応のフレームであることを特徴とする請求項１に記載の通信用半導体集積回路。
【請求項３】
前記フィルタ部は、
前記受信フレーム内の所定のコードと比較されるべきデータを記憶する記憶部と、記憶されているデータと前記第３のポートより入力された前記受信フレームのコードとを比較する機能と、を有する論理回路と、
前記第３のポートより入力された前記受信フレームを蓄積する前記受信バッファと、を備え、
前記論理回路により一致が検出された場合に前記受信バッファ内の前記受信フレームを前記通信処理部へ転送させるように構成されていることを特徴とする請求項１または２に記載の通信用半導体集積回路。
【請求項４】
前記論理回路の記憶部は、"０"，"１"，"don't care"の３状態のデータ格納機能を有することを特徴とする請求項３に記載の通信用半導体集積回路。
【請求項５】
前記フィルタ部は、
前記論理回路の比較機能を有効または無効にするためのレジスタを備え、
前記レジスタが無効を示す状態に設定されている場合に、前記論理回路から前記受信バッファへの前記受信フレームの転送を許可する信号が出力されるように構成されていることを特徴とする請求項３または４に記載の通信用半導体集積回路。
【請求項６】
前記通信処理部は、中央処理ユニットとデジタルシグナルプロセッサと符号復号器とを備えることを特徴とする請求項１〜５のいずれかに記載の通信用半導体集積回路。
【請求項７】
第１の通信ポートおよび第２の通信ポートと、
物理層と接続可能な第１のポートおよび第２のポートと内部回路に接続される第３のポートとを有し受信したフレームの転送先の切替えを行なうスイッチ部と、前記受信したフレームの処理を行なう通信処理部と、前記スイッチ部と前記通信処理部との間に設けられ所定の種類の受信フレームを前記スイッチ部から前記通信処理部へ転送させるフィルタ部とを備え、前記フィルタ部は、前記受信フレーム内の所定のコードと比較されるべきデータを記憶する記憶部と記憶されているデータと前記第３のポートより入力された前記受信フレームのコードとを比較する機能とを有する論理回路と、前記第３のポートより入力された前記受信フレームを蓄積する受信バッファとを備え、前記論理回路により一致が検出された場合に前記受信バッファ内の前記受信フレームを前記通信処理部へ転送させるように構成されている通信用半導体集積回路と、
前記第１の通信ポートと前記第１のポートとの間に接続された第１イーサネット物理層および前記第２の通信ポートと前記第２のポートとの間に接続された第２イーサネット物理層と、
不揮発性のメモリと、
随時読出し書込み可能なメモリと、
を備え、初期化処理によって前記不揮発性のメモリに格納されている所定のデータが前記論理回路の前記記憶部に記憶されるように構成されていることを特徴とする通信処理装置。
【請求項８】
第１のポートおよび第２のポートと、
前記第１のポートと前記第２のポートとの間に設けられＲＴＰフレームとＳＩＰフレームとＡＲＰフレームとＶＬＡＮ対応のフレームのみ前記第１のポートから前記第２のポートへ転送させるフィルタ回路と、
を備えたことを特徴とする通信用半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介したＩＰ(Internet Protocol)端末に対する不正な攻撃を防御する技術に関し、例えばＩＰ電話に対して不正なフレームを送りつけてシステムを混乱に陥れる攻撃を防御する場合に利用して有効な技術に関する。
【背景技術】
【０００２】
近年、通信業者が提供する電話回線を使用した電話通信に代わって、インターネット通信により通話を可能にするＩＰ電話が急速に普及しつつある。ＩＰ電話は、インターネットを利用した通信であるため、パーソナルコンピュータ（以下、パソコンと称する）との関連が密であり、インターネットに接続されるポートとパソコンに接続されるポートを有する２ポートのものが多い。また、一般家庭向きに、通話のみサポートする１ポートのＩＰ電話も提供されている。
【０００３】
ＩＰ電話は、インターネットとの接続およびパーソナルコンピュータとの接続に、イーサネット（「イーサネット」は登録商標）と呼ばれるＬＡＮ（ローカルエリアネットワーク）が用いられているため、インターネットとパソコンとに接続可能なＩＰ電話は、イーサネットと接続可能な２つのポートを有する。
【０００４】
このようなＩＰ電話を構築するためのＩＣ（半導体集積回路）として、送られてきた通信フレームを見てＩＰ電話内の通信処理部または２つのポートのいずれに受信フレームを転送するかポートの切り替えを行なうイーサネット・スイッチと呼ばれるものが提供されている。また、１ポートのＩＰ電話用には、１つのイーサネットポートを有するイーサネット・コントローラと呼ばれるＩＣが提供されている。
【特許文献１】特開２００３−１７３３００号公報
【特許文献２】特開２００４−１０４４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、インターネットの分野ではハッカーと呼ばれる不正者によるメインコンピュータやサーバに対する攻撃が問題視されている。ＩＰ電話も内部にコンピュータと同様なハードウェアを有するため、ＩＰ電話のＣＰＵに対して不正なデータや、ＣＰＵの処理能力を超えるようなデータを送りつけてシステムを麻痺状態に陥れるＤｏＳ(Denial of Service)と呼ばれる攻撃にさらされることがある。従来のＩＰ電話は、かかるＤｏＳ攻撃に充分に対応できず、途中で会話が不能になる事態も生じている。
【０００６】
前述のイーサネット・スイッチは、IEEE802.1Q規格のＶＬＡＮ（VirtualＬＡＮ）に対応させることで、ＩＰ電話のＣＰＵには自己宛のＶＬＡＮタグフレームのみ転送され、ブロードキャストフレーム等の余計なトラフィックを排除できるため、ブロードキャストフレームを使用したＤｏＳ攻撃は防御できる。
【０００７】
しかし、ＶＬＡＮ方式は、送信側がＶＬＡＮ対応の端末であればかかるＤｏＳ攻撃に対しては有効に機能するが、現状では送信側がＶＬＡＮに対応していないことが多く、その場合には有効に機能しないという課題がある。また、ＤｏＳ攻撃に対しては、ＩＰ電話内のＣＰＵの性能を向上させることである程度防御可能であるが、そのようにするとＩＣのチップコストが高くなるという問題がある。
【０００８】
一方、コンピュータに対するＤｏＳ攻撃に対する防御方法に関する発明としては、例えば特許文献１や特許文献２に開示されているものがある。しかしながら、これらの先願発明に開示されている防御技術はいずれも、監視対象がＴＣＰ（Transmission Control Protocol）パケットに限定されており、ＴＣＰパケット以外例えばＵＤＰ（User Datagram Protocol）を使用した攻撃を回避することができないという課題がある。
【０００９】
また、特許文献２には、ホームゲートウェイにおいて、データ検索機能を有する連想メモリの一種であるＣＡＭ（Content Addressable Memory）を使用し、パケットヘッダの一部のコードをＣＡＭに記憶させておく。そして、ＣＡＭの出力を用いて受信パケットを中継するか否かを決定する機能を有する情報処理部を搭載するようにした発明が開示されている。
【００１０】
しかしながら、この特許文献２に記載されている発明では、インターネット側からの不適切なＴＣＰパケットがＰＣ（パーソナルコンピュータ）に転送されるのを回避することはできるが、中継器内部のＣＰＵに対する攻撃は回避できないという不具合がある。
【００１１】
この発明の目的は、イーサネット・スイッチ機能を有しＩＰ電話へのＤｏＳ攻撃に対する防御性を向上させることができる通信用半導体集積回路を提供することにある。
【００１２】
この発明の他の目的は、イーサネット・スイッチ機能を有しＩＰ電話へのＤｏＳ攻撃に対する高い防御性を有する通信用半導体集積回路を低コストで実現できるようにすることにある。
【００１３】
この発明のさらに他の目的は、ＩＰ網側からのＩＰ電話へのＤｏＳ攻撃はもちろん他方のポートに接続されたコンピュータを踏み台にしたＤｏＳ攻撃に対する防御性を向上させることができる通信用半導体集積回路を提供することにある。
【００１４】
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１５】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
【００１６】
すなわち、イーサネットポートを２つ有し受信フレームに応じて転送ポートを切替え可能なスイッチ部と、ＣＰＵを備えた通信処理部と、を有する通信用半導体集積回路において、上記スイッチ部と通信処理部との間に、不要な受信フレームをカットするフィルタ部を設ける。そして、このフィルタ部には記憶手段を設け、この記憶手段にはフレームの種類に応じてフレーム内の所定の部位に格納されるコードのうち幾つかを記憶させておいて、フレームを受信した際にフレーム内の所定のコードと記憶手段に記憶されているコードとを比較して一致したもののみ通信処理部への転送を許可するようにしたものである。
【００１７】
ここで、フィルタ部には、"０"，"１"，"don't care"の３状態を記憶可能であって入力と記憶との一致／不一致を示す信号を出力する連想メモリの一種であるＴＣＡＭ（Ternary Content Addressable Memory）と呼ばれるメモリを使用する。また、フィルタ部を通して通信処理部へ転送するフレームは、ＲＴＰ（Real-time Transport Protocol）フレームと、ＳＩＰ（Session Initiation Protocol）フレームと、ＡＲＰ（Address Resolution Protocol）フレームと、ＶＬＡＮ（バーチャルＬＡＮ）対応フレームの４種類に制限し、それ以外のフレームはフィルタ部で遮断するようにする。
【００１８】
上記した手段によれば、不要なフレームはフィルタ部で遮断され通信処理部へ転送されないため、通信処理部をターゲットとしたＤｏＳ攻撃に対する防御機能を高めることができる。また、スイッチ部と通信処理部との間に、不要な受信フレームをカットするフィルタ部を設けているため、ＩＰ網側からのＤｏＳ攻撃はもちろんコンピュータを踏み台にしたＤｏＳ攻撃に対する防御機能を向上させることができる。
【００１９】
また、不要な受信フレームはカットされるため、通信処理部に高性能のＣＰＵを設ける必要がないとともに、フィルタ部に連想メモリの一種であるＴＣＡＭを用いているため小規模な回路で効率良く不要なフレームか否かを判定することできる。そのため、ＤｏＳ攻撃に対する高い防御機能を備えた通信用半導体集積回路（イーサネット・スイッチ）を低コストで実現することができる。
【発明の効果】
【００２０】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００２１】
すなわち、本発明に従うと、イーサネット・スイッチ機能を有しＩＰ電話へのＤｏＳ攻撃に対する防御性を向上させることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の好適な実施例を図面に基づいて説明する。
【００２３】
図１は、本発明を適用したＩＰ電話用のイーサネット・スイッチ・モジュールの一実施例を示す。図１において、一点鎖線で囲まれている部分は、単結晶シリコンのような１個の半導体チップ上に半導体集積回路（以下、ＩＰ電話用通信処理ＩＣと称する）１００として形成される。
【００２４】
また、このＩＰ電話用通信処理ＩＣ１００と、ＳＤＲＡＭ（同期式ダイナミック型ランダム・アクセス・メモリ）や不揮発性のフラッシュメモリのようなメモリチップ２１０，２２０と、イーサネットのケーブル等が接続される通信ポートＰ１，Ｐ２を有し該ポートとＩＰ電話用通信処理ＩＣ１００との間を接続するイーサネット物理層２３１，２３２を構成するＩＣチップや電子部品等が、プリント配線基板やセラミックパッケージなどに実装されてモジュールとして構成される。
【００２５】
ＩＰ電話用通信処理ＩＣ１００は、チップ全体を制御するＣＰＵ（中央処理ユニット）１１０、ＣＰＵに代わって高度な演算処理を行なうＤＳＰ（デジタルシグナルプロセッサ）１２０、マイクロフォンＭＩＣからの音声信号をディジタルデータに変換し符号化したり受信音声データを復号しアナログ信号に変換してスピーカＳＰＫへ出力するＣＯＤＥＣ（符号復号器）１３０を備える。
【００２６】
上記ＣＰＵ１１０とＤＳＰ１２０とＣＯＤＥＣ１３０とによって、受信フレームをそのヘッダ部に格納されている情報に基づいて解析してデータ部の音声データを抽出したり、マイクロフォンＭＩＣからの音声信号が変換されたデータを格納した送信フレームを生成したりする通信処理部が構成される。ＣＰＵ１１０は、フラッシュメモリ２２０に格納されているプログラムを実行することによって、上記フレームの処理のための制御やチップ全体の制御を行なう。
【００２７】
また、ＩＰ電話用通信処理ＩＣ１００は、従来のイーサネット・スイッチと同様な機能を有するイーサネット・スイッチ部１４０を備える。イーサネット・スイッチ部１４０は、イーサネット物理層２３１，２３２に接続される２つのポートPort1，Port2と、ＣＰＵとの接続ポートPort0とを有し、フレーム先頭のＭＡＣアドレスを参照して、ＩＰ網もしくはパソコンから受信したフレームをいずれかのポートに転送したり、遮断したりする。
【００２８】
さらに、この実施例のＩＰ電話用通信処理ＩＣ１００には、ＣＰＵ１１０とイーサネット・スイッチ部１４０との間に、ポートPort1，Port2より入力された受信フレームのうち所定の種類のフレームのみ通過させるフィルタ部１５０が設けられている。フィルタ部１５０は、特に制限されるものでないが、受信フレームをＦＩＦＯ（ファーストイン・ファーストアウト）方式で記憶する受信バッファ１５１と、受信バッファ１５１へ格納されるデータを監視し、一部のコードが一致した場合に受信バッファ１５１に格納されたデータのＣＰＵ１１０への転送を許可したり拒否したりする信号を生成するＴＣＡＭ１５２などから構成されている。
【００２９】
ＴＣＡＭに類似するメモリとして、ＣＡＭと呼ばれるものが知られている。ＣＡＭは格納されているデータと入力データの比較を並列に行なうことで高速検索を行うメモリであり、"０"，"１"，"don't care"の３状態のデータ格納機能を持ったものがＴＣＡＭである。かかる機能のメモリは公知であり、本実施例では公知のＴＣＡＭと同様な構成と機能を有する回路を用いて構成することができるので、詳しい説明は省略する。ＴＣＡＭを使用することにより、ＣＡＭを使用する場合よりも小規模な回路で同一の機能を実現することができ、ネットワークで転送されるフレームのようにビットの長いデータの検索を行なう場合に特に有効であり、チップサイズの低減を図ることができる。
【００３０】
ＴＣＡＭ１５２は、受信バッファ１５１へ格納されるデータが入力されるポートの他に、ＣＰＵ１１０やメモリチップ２１０，２２０間を接続するバス１６０に接続されるポートを備えており、電源投入時等に行なわれる初期化処理でフラッシュメモリ２１０に格納されている比較対象のデータがＴＣＡＭ１５２へ転送されて格納されるように構成されている。
【００３１】
次に、フィルタ部１５０で行なわれるフィルタ処理の手順を、図２のフローチャートを用いて説明する。なお、フィルタ処理は図２のフローチャートに従った受信処理の一部として実行され、受信処理は電源投入時等に行なわれる上記ＴＣＡＭデータ格納処理を含む一連の初期化処理が終了した後に開始される。
【００３２】
受信処理では、先ずイーサネット・スイッチ部１４０がポートPort1，Port2より入力されたフレームを受信する（ステップＳ１）。続いてイーサネット・スイッチ部１４０は、受信したフレームが不特定多数の端末に送信するブロードキャストフレームか否かを判定する（ステップＳ２）。
【００３３】
ここで、ブロードキャストフレームでないと判定されたときは、ステップＳ３へ進んで受信フレームのヘッダ部に格納されている宛先ＭＡＣアドレスを調べて、受信フレームが当該ＩＰ電話宛てであるか否かを判定する。ステップＳ２で受信フレームがブロードキャストフレームであると判定されたときおよびステップＳ３で宛先ＭＡＣアドレスが当該ＩＰ電話のアドレスであると判定されたときは、当該受信フレームをＣＰＵ側のポートPort0へ転送する（ステップＳ４）。
【００３４】
イーサネット・スイッチ部１４０でポートPort0へ転送された受信フレームはフィルタ部１５０へ入力され、フィルタ処理が開始される。フィルタ部１５０では、ポートPort0より出力された受信フレームが受信バッファ（ＦＩＦＯ）１５１とＴＣＡＭ１５２へ並行して入力される（ステップＳ５，Ｓ６）。
【００３５】
そして、受信フレームが受信バッファ（ＦＩＦＯ）１５１に格納されている間に、ＴＣＡＭ１５２では入力された受信フレームがＴＣＡＭ内部に記憶されている４種類のフレームのいずれかに該当するか検索が行なわれ、一致すると一致／不一致を示すフラグが"１"にセットされる（ステップＳ７，Ｓ８）。また、検索によって不一致と判定されると、一致／不一致を示すフラグが"０"にリセットされ、フラグの状態を示す信号がＴＣＡＭ１５２から出力されて受信バッファ（ＦＩＦＯ）１５１に供給される（ステップＳ９）。
【００３６】
受信バッファ（ＦＩＦＯ）１５１は、その信号を見て一致フラグの状態を確認し、信号がハイレベル"Ｈ"ならば取り込んだ受信フレームをＣＰＵ１１０へ転送し、信号がロウレベル"Ｌ"ならば取り込んだ受信フレームを破棄する（ステップＳ１０，Ｓ１１，Ｓ１２）。また、一致フラグの状態信号が"Ｈ"で受信フレームをＣＰＵ１１０へ転送した後、ステップＳ１３で当該フラグを"０"にクリアしてステップＳ１へ戻り、上記動作を繰り返す。
【００３７】
次に、上記フィルタ部１５０でふるいがかけられてＣＰＵへ転送される４種類のフレームと、これらのフレームを識別するためにＴＣＡＭ１５２の内部に格納するコードについて説明する。ここで、４種類のフレームとは、（１）ＲＴＰ（Real-time Transport Protocol）フレームと、（２）ＳＩＰ（Session Initiation Protocol）フレームと、（３）ＡＲＰ（Address Resolution Protocol）フレームと、（４）ＶＬＡＮ（バーチャルＬＡＮ）対応フレームである。
【００３８】
ＲＴＰフレームは、音声や映像を再生するための伝送プロトコルＲＴＰで送信されるフレームで、ＲＴＰはパケットロス対策や伝送時間保証などは行われていないＵＤＰ（User Datagram Protocol）タイプのプロトコルである。ＲＴＰフレームには、ＶＬＡＮ対応のフレームとＶＬＡＮ対応していないフレームとがあり、フレームのフィールド構成が若干異なっている。
【００３９】
図３には、ＲＴＰフレームの通常フレームの構成が示されている。ここで、通常フレームとは、ＶＬＡＮ対応のフレームと区別するための呼び名であり、ＶＬＡＮ対応していないフレームを意味する。以下の説明においても同様である。
【００４０】
ＲＴＰフレームは、図３に示されているように、ヘッダ部とデータ部とからなり、ヘッダ部は、さらに１４バイトのＭＡＣヘッダと、２０バイトのＩＰヘッダと、８バイトのＵＤＰヘッダと、１６バイトのＲＴＰヘッダとからなる。そして、このうちＩＰヘッダ内のプロトコルの種類を示す８ビットのフィールド"protocol"に、トランスポート層のプロトコルがＵＤＰであることを示すコード"Ｈ’１７"が格納されている。
【００４１】
ここで、「Ｈ’」は１６進数表記であることを意味している。ちなみに、このフィールドには、フレームを生成したプロトコルがＩＣＭＰであればコード"Ｈ’０１"が格納され、生成プロトコルがＩＧＭＰであればコード"Ｈ’０２"が格納され、生成プロトコルがＴＣＰであればコード"Ｈ’０６"が格納される。
【００４２】
さらに、ＲＴＰフレームには、図３に示されているように、ＲＴＰヘッダ内の"Payload Type"フィールドがあり、ＲＴＰフレームであればこのフィールドに、圧縮符号化方式の種類を示す７ビットのバイナリコード"０００００００"，"００００１００"，"０００１０００"または"００１００１０"のいずれかが格納されている。
【表１】
2007251592.tif 000003
【００４３】
表１に示すように、このフィールドが、"０００００００"であれば音声データがＧ．７１１ＰＣＭＵ規格で圧縮符号化されていることを、"００００１００" であれば音声データがＧ．７２３規格で圧縮符号化されていることを意味する。また、"０００１０００" であれば音声データがＧ．７１１ＰＣＭＡ規格で圧縮符号化されていることを、"００１００１０" であれば音声データがＧ．７２９規格で圧縮符号化されていることを意味する。
【００４４】
以上のことから、フレーム先頭から上記各フィールド"protocol"と"Payload Type"の位置に対応するビットを、それぞれ"Ｈ’１７"と"０００００００"または"００００１００"，"０００１０００"，"００１００１０"に設定し、それ以外のビットは"don't care"状態にしたデータをＴＣＡＭ内に格納しておけば、ＲＴＰフレームであることを検出することができる。なお、"Payload Type"フィールドに入るとした４つのコードは現状で考えられるものを列記したもので、今後規格で音声データの他の圧縮符号化方式が規定されれば、それを追加すればよく、４つに限定されるものではない。
【００４５】
次に、ＳＩＰフレームの判別方法について説明する。ＳＩＰは、ＶｏＩＰ(Voice over Internet Protocol)を応用したなどで用いられる通話制御プロトコルの１つである。図４（Ａ）にはＳＩＰによる通話フローが、また図４（Ｂ）にはＳＩＰフレームの通常フレームの構成が示されている。
【００４６】
ＳＩＰによる通話フローでは、図４（Ａ）に示されているように、先ず発信側のＩＰ電話から呼の確立を要求するメッセージ（INVITE）が受け側へ送信される。すると、受け側のＩＰ電話は、呼び出し中であることを示すメッセージ（180 Ringing）を送信し、その後受話器が持ち上げられるなどの応答があると成功を示すメッセージ（200 OK）を送信する。このメッセージを受信した発信側のＩＰ電話は、呼の確立を知らせるメッセージ（ＡＣＫ）を受け側へ送信し、回線接続状態となり通話が開始される。
【００４７】
その後、通話が終了して発信側のＩＰ電話で受話器が置かれるなどの切断が発生すると、呼の終了を知らせるメッセージ（ＢＹＥ）を受け側へ送信し、受け側のＩＰ電話で応答があると成功を示すメッセージ（200 OK）が送信され、終了する。
【００４８】
ＳＩＰフレームは、図４（Ｂ）に示されているように、ヘッダ部ＨＥＡＤとデータ部ＤＡＴＡとからなり、ヘッダ部ＨＥＡＤは、さらに１４バイトのＭＡＣヘッダと、２０バイトのＩＰヘッダと、８バイトのＵＤＰ／ＴＣＰヘッダとからなる。上記メッセージは、データ部ＤＡＴＡの先頭部分に格納されて送信される。
【００４９】
また、ＳＩＰフレームは、トランスポート層がＵＤＰまたはＴＣＰのいずれのプロトコルでもよいため、ＵＤＰ／ＴＣＰヘッダのフィールドには、ＵＤＰを示すコード"Ｈ’１７"またはＴＣＰを示すコード"Ｈ’０６"のいずれかが格納される。ＳＩＰフレームで送信されるメッセージには、リクエストメッセージとレスポンスメッセージとがあり、これらのメッセージには、さらに次の表２のようなメッセージがある。
【表２】
2007251592.tif 000004
【００５０】
ところで、リクエストメッセージとレスポンスメッセージのうちリクエストメッセージは、スタート部分にそれぞれ"INVITE……"のようにメッセージの種類によって異なる文字が入り長さも異なるが、レスポンスメッセージは"SIP/2.0 100 Trying" のようにメッセージの種類にかかわらずスタート部分に同一の文字"SIP/2.0"が入る。従って、ＳＩＰフレームは、ＵＤＰ／ＴＣＰヘッダにＵＤＰを示すコード"Ｈ’１７"またはＴＣＰを示すコード"Ｈ’０６"のいずれかが格納され、データ部ＤＡＴＡの先頭に次の表３の６種類のコードのいずれかのコードが入っているか調べることで検出することができる。なお、表３の右欄の数字は１６進数表記したものである。
【表３】
2007251592.tif 000005
【００５１】
以上のことから、フレームのＵＤＰ／ＴＣＰヘッダ位置に対応する８ビットを、それぞれ"Ｈ’１７"または"Ｈ’０６"に設定し、データ部ＤＡＴＡの先頭部分に表３の右欄の６種類のコードのいずれかを入れ、それ以外のビットは"don't care"状態にした１２個のデータをＴＣＡＭ内に格納しておけば、ＳＩＰフレームであることを検出することができる。
【００５２】
次に、ＡＲＰフレームの判別方法について説明する。ＡＲＰは、ＴＣＰにおいて、ＩＰアドレスからの物理アドレス（ＭＡＣアドレス)を求めるのに使われるプロトコルである。図５にはＡＲＰフレームの通常フレームの構成が示されている。
【００５３】
ヘッダ部ＨＥＡＤのＭＡＣヘッダは、図５に示されているように、６バイトの宛先ＭＡＣアドレスが入るフィールドと、６バイトの送信元ＭＡＣアドレスが入るフィールドと、フレームのタイプを示すコードが入る２バイトのフィールドとからなる。ＡＲＰフレームは、ブロードキャストフレームの一種である。そのため、ヘッダ部ＨＥＡＤのＭＡＣヘッダの先頭にある６バイトの宛先ＭＡＣアドレスフィールドに、ブロードキャストフレームであることを表わすコードＨ’ＦＦＦＦＦＦＦＦＦＦＦＦが格納されている。
【００５４】
また、タイプ・フィールドには、ＴＣＰ／ＩＰであることを示す２バイトのコードＨ’０８００またはＡＲＰであることを示すコードＨ’０８０６のいずれかが格納される。従って、フレームのＭＡＣヘッダのタイプ・フィールド位置に対応する２バイトのコードを、Ｈ’０８０６に設定し、他のビットは"don't care"状態にしたデータをＴＣＡＭ内に格納しておけば、ＡＲＰフレームであることを検出することができる。
【００５５】
最後に、ＶＬＡＮフレームの判別方法について説明する。ＶＬＡＮは、企業内などのローカルにおいて、物理的な接続形態とは独立に、端末の仮想的なグループを設定するためのものである。ＬＡＮと呼ばれる機器の機能を利用して、端末の持つＭＡＣアドレスを、利用するプロトコルなどに応じてグループ化することで、端末の物理的な位置を気にすることなくネットワーク構成を変更することができる。図６にはＶＬＡＮ対応フレームの構成が示されている。
【００５６】
ＶＬＡＮ対応フレームは、通常フレームとは異なり、ＭＡＣヘッダの送信元ＭＡＣアドレスが入るフィールドの後ろに、ＴＰＩＤが入る２バイトのフィールドとＴＣＩが入る２バイトのフィールドとが追加されている。そして、ＶＬＡＮ対応フレームでは、ＴＰＩＤが入る２バイトのフィールドにＨ’８１００が格納されている。従って、このＴＰＩＤが入る２バイトのフィールド位置に対応する２バイトのコードを、Ｈ’８１００に設定し、他のビットは"don't care"状態にしたデータをＴＣＡＭ内に格納しておけば、ＶＬＡＮ対応フレームであることを検出することができる。
【００５７】
ＶＬＡＮ対応フレームでは、ＴＣＩのフィールドの中にＶＬＡＮタグ番号を示す１２ビットのＶＩＤエリアがあり、イーサネット・スイッチ部１４０の機能によって、このＶＩＤが「１」であればフレームはＣＰＵ側のポートPort0へ転送され、ＶＩＤが「２」であればフレームはパソコン側のポートPort2へ転送される。従って、ＶＬＡＮ方式であれば、イーサネット・スイッチ部１４０の機能によって、パソコン宛のフレーム等ＣＰＵにとって不要なフレームはＣＰＵへは送られない。
【００５８】
よって、ポートPort0へ転送されフィルタ部１５０へ入力されたＶＬＡＮ対応フレームはそのままＣＰＵへ転送してもかまわない。本実施例では、ＴＰＩＤが入る２バイトのフィールド位置に対応する２バイトのコードを、Ｈ’８１００に設定し、他のビットは"don't care"状態にしたデータをＴＣＡＭ内に格納しておくことで、ＶＬＡＮ対応フレームはＣＰＵ１１０へ転送される。
【００５９】
次に、上記実施例のイーサネット・スイッチ・モジュールの変形例を説明する。
【００６０】
第１の変形例は、上記実施例のイーサネット・スイッチ・モジュールをＩＰテレビ電話に適用できるようにしたものである。具体的には、図３を用いて説明したＲＴＰフレームの判別条件としてＴＣＡＭ１５２に格納するデータとして、"Payload Type"フィールド位置に対応するコードを表１のように４個にしていたものを、次の表４に示すように、３個増やして７個にしたものである。
【００６１】
新たに追加されたコード"００１１０１０"，"００１１１１１"，"０１０００１０"はそれぞれ画像データの圧縮符号化方式であるＪＰＥＧ、Ｈ２６１、Ｈ２６３を示す識別コードである。なお、ＴＣＡＭ１５２に格納するデータの"protocol" フィールドに位置に対応するコードは、前述の音声フレームの場合と同様に、トランスポート層のプロトコルがＵＤＰであることを示すコード"Ｈ’１７"に設定される。
【表４】
2007251592.tif 000006
【００６２】
第２の変形例は、上記実施例のイーサネット・スイッチ・モジュールを、イーサネットポートを１つ有するＩＰ電話専用モジュールとしたものである。具体的には、図７に示すように、イーサネット・スイッチ部１４０として、３つのポートを有するイーサネット・スイッチに代えて２つのポートを有するイーサネット・コントローラが設けられている。そして、上記実施例（図１）と同様に、ＣＰＵ１１０とイーサネット・スイッチ部１４０との間に、受信バッファ（ＦＩＦＯ）１５１とＴＣＡＭ１５２などから構成され、ポートPort1より入力された受信フレームのうち所定の種類のフレームのみ通過させるフィルタ部１５０が設けられている。
【００６３】
さらに、この実施例では、フィルタ部１５０に、該フィルタ部の機能を有効にしたり無効にしたりするためのモード設定レジスタ１５３が設けられている。このレジスタ１５３は、ＣＰＵ１１０によってバス１６０を介して設定可能にされており、レジスタがフィルタ未使用を示す状態に設定されると、ＴＣＡＭ１５２の動作が停止され、ＴＣＡＭ１５２から受信バッファ１５１に対して常に一致フラグの"１"に対応するハイレベルの信号が出力されるように構成されている。このモード設定レジスタ１５３とその機能は、図１の実施例のモジュールにも適用することができる。また、このモード設定レジスタ１５３はフィルタ部１５０でなく、ＣＰＵ１１０およびＤＳＰ１２０、ＣＯＤＥＣ１３０からなる通信処理部側にあっても良い。
上述された実施例によれば、イーサネット・スイッチ機能を有しＩＰ電話へのＤｏＳ攻撃に対する高い防御性を有する通信用半導体集積回路を低コストで実現できる。さらに、ＩＰ網側からのＩＰ電話へのＤｏＳ攻撃はもちろん他方のポートに接続されたコンピュータを踏み台にしたＤｏＳ攻撃に対する防御性を向上させた通信用半導体集積回路を実現することができる。
【００６４】
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６５】
例えば、前記第２の変形例のＩＰ電話は、外部イーサネットポートが１つであるため、フィルタ部１５０を、ＣＰＵ１００とイーサネット・スイッチ部１４０との間ではなく、イーサネット物理層２３１とイーサネット・スイッチ部１４０との間に設けるようにしても良い。
【００６６】
また、前記実施例では、受信フレーム内のコードと比較される対象のデータを記憶するメモリとして３状態を記憶することができるＴＣＡＭを使用したが、"０"，"１"の２値を記憶するＣＡＭを使用してフィルタ部を構成することも可能である。ただし、そのようにすると非常大きな記憶容量が必要であり、チップサイズおよびコストの増大を招くので、実施例のようにＴＣＡＭを使用するのが望ましい。
【産業上の利用可能性】
【００６７】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるＩＰ電話用のイーサネット・スイッチ・モジュールおよびＩＣに適用した場合について説明した。本発明はそれに限定されるものでなく、イーサネット・スイッチ以外のスイッチングハブさらにはＶｏＩＰ−ＡＴＡ（Analog Telephone Adapter）やゲートウェイを構成するモジュールやＩＣなどにも利用することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明を適用したＩＰ電話用のイーサネット・スイッチ・モジュールの一実施例を示すブロック図である。
【図２】実施例のイーサネット・スイッチ・モジュールのフィルタ部で行なわれるフィルタ処理の手順を示すフローチャートである。
【図３】ＲＴＰフレームの通常フレームのデータフォーマットを示す説明図である。
【図４】図４（Ａ）はＳＩＰによる通話の流れを示すフローチャート、図４（Ｂ）はＳＩＰフレームの通常フレームのデータフォーマットを示す説明図である。
【図５】ＡＲＰフレームの通常フレームのデータフォーマットを示す説明図である。
【図６】ＶＬＡＮ対応フレームのデータフォーマットを示す説明図である。
【図７】実施例のイーサネット・スイッチ・モジュールの変形例を示すブロック図である。
【符号の説明】
【００６９】
１００  ＩＰ電話用通信処理ＩＣ
１１０  ＣＰＵ（中央処理ユニット）
１２０  ＤＳＰ（デジタルシグナルプロセッサ）
１３０  ＣＯＤＥＣ（符号復号器）
１４０  イーサネット・スイッチ部
１５０  フィルタ部
１５１  受信バッファ（ＦＩＦＯ）
１５２  ＴＣＡＭ
２３１，２３２  イーサネット物理層
【図１】
2007251592.tif 000007
【図２】
2007251592.tif 000008
【図３】
2007251592.tif 000009
【図４】
2007251592.tif 000010
【図５】
2007251592.tif 000011
【図６】
2007251592.tif 000012
【図７】
2007251592.tif 000013