(57)【要約】【課題】  パケットのデータを記憶しておく記憶先の回路やメモリを消費してしまう。【解決手段】  本発明によるスイッチング回路は、廃棄するパケットのヘッダ情報を格納する廃棄データ格納部と、受信したパケットのヘッダを検査して、前記受信パケットを廃棄するかどうかを判断し、前記受信パケットを廃棄する場合には、廃棄するパケットのヘッダ情報を前記廃棄データ格納部に格納し、前記受信パケットを廃棄しない場合には、前記受信パケットを転送するヘッダ検査部と、を備えることを特徴とする。【選択図】      図１
2013172264.tif 000002
【特許請求の範囲】
【請求項１】
廃棄するパケットのヘッダ情報を格納する廃棄データ格納部と、
受信したパケットのヘッダを検査して、前記受信パケットを廃棄するかどうかを判断し、前記受信パケットを廃棄する場合には、廃棄するパケットのヘッダ情報を前記廃棄データ格納部に格納し、前記受信パケットを廃棄しない場合には、前記受信パケットを転送するヘッダ検査部と、
を備えることを特徴とするスイッチング回路。
【請求項２】
前記スイッチング回路は、さらに、
前記廃棄データ格納部に格納したパケットのヘッダ情報を読み出す読み出し部
を備えることを特徴とする請求項１に記載のスイッチング回路。
【請求項３】
前記廃棄データ格納部は、
前記廃棄データ格納部の容量が閾値に達した場合に、前記ヘッダ情報の格納を停止する
ことを特徴とする請求項１または２に記載のスイッチング回路。
【請求項４】
前記廃棄データ格納部は、
前記廃棄データ格納部の容量が閾値に達した場合、かつ、新たなヘッダ情報を格納する場合に、前記廃棄データ格納部が格納する前記ヘッダ情報のうち、格納した時間が古いデータを上書きして前記新たなヘッダ情報を格納する
ことを特徴とする請求項１から３のいずれか１つに記載のスイッチング回路。
【請求項５】
受信したパケットのヘッダを検査して、前記受信パケットを廃棄するかどうかを判断し、
前記受信パケットを廃棄する場合には、廃棄するパケットのヘッダ情報を廃棄データ格納部に格納し、
前記受信パケットを廃棄しない場合には、前記受信パケットを転送する
ことを特徴とするスイッチング方法。
【請求項６】
前記スイッチング方法は、さらに、
前記廃棄データ格納部に格納したパケットのヘッダ情報を読み出す
ことを特徴とする請求項５に記載のスイッチング方法。
【請求項７】
前記廃棄データ格納部の容量が閾値に達した場合に、前記ヘッダ情報の格納を停止する
ことを特徴とする請求項５または６に記載のスイッチング方法。
【請求項８】
前記廃棄データ格納部の容量が閾値に達した場合、かつ、新たなヘッダ情報を格納する場合に、前記廃棄データ格納部が格納する前記ヘッダ情報のうち、格納した時間が古いデータを上書きして前記新たなヘッダ情報を格納する
ことを特徴とする請求項５から７のいずれか１つに記載のスイッチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを転送するスイッチング回路およびスイッチング方法に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によるパケットスイッチング回路を開発設計した後に動作確認を行う場合、一般的には、まずは机上でシミュレーションを実施し、後に回路を基板に実装して実動作を確認する。しかしながら、昨今では、短納期での回路開発に対応するため、机上での動作シミュレーションと、実機の動作確認を並行して実施する場合が多くなっている。
【０００３】
実機の動作確認では、パケットジェネレータからＦＰＧＡへ様々な形式、長さのパケットを送信することで、ＦＰＧＡにおいて問題なく処理できるかどうか確認を行う。しかし、ＦＰＧＡ内部に送信されたパケットが、ＦＰＧＡ内部で廃棄されて、正常にパケット伝送がされない場合がある。
【０００４】
ＦＰＧＡによるパケットスイッチング回路のように、ハードウェアで実現しているパケットスイッチング装置では、性能低下をはじめ他の様々な理由により、一般的に、パケット通信状態を知る手段としてはパケットカウンタしか具備していない場合が多い。
【０００５】
パケット廃棄要因を調査する場合には、このパケットカウンタのみでは情報不足であり、実際のパケットデータ内容を確認する必要がある。一般的には、ＦＰＧＡ内部データ線を外部端子へ接続し、そこへロジックアナライザ等の波形観測用測定器を接続して被疑動作を調査する手法が行われている。
【０００６】
この手法の場合、内部データ線を外部端子へ接続するための回路変更や論理合成・配置配線の再実施、またパラレル信号バスへの測定器プローブ接続などに多大な時間を要してしまい、評価期間増大の要因となっていた。
【０００７】
このような問題を解決するための技術としては、例えば、特許文献１、特許文献２、特許文献３が挙げられる。また、その他に本発明に関連する技術としては、特許文献４が挙げられる。
【０００８】
特許文献１には、受信パケットの識別結果に基づいて、パケットのヘッダ読み出し量を認識し、ヘッダデータを適応的に読み出す、という技術が開示されている。
【０００９】
特許文献２には、廃棄と判定されたパケットを格納して、パケットデータの解析や収集を行う、という技術が開示されている。
【００１０】
特許文献３には、パケットデータに、パケットの処理結果を付加して、追跡するという技術が開示されている。
【００１１】
特許文献４には、ＣＰＵが実行するプログラムをデバッグする際に、コンソールを用いて共通メモリからデバッグ指令を与え、デバッグした結果を共通メモリに書き込む、という技術が開示されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−１３５５７４号公報
【特許文献２】特開２００６−１５７７６０号公報
【特許文献３】特開２００８−１３６０８１号公報
【特許文献４】特開平０４−２１３１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１、特許文献２、特許文献３では、廃棄と判断されたパケットのペイロード（ユーザデータ）またはパケットの全データを記憶していた。このため、パケットのデータをすべて記憶しておくことにより、記憶先の回路やメモリを消費してしまうという課題があった。
【００１４】
本発明の目的は、上述した課題を解決することが可能な、通信装置、通信システム、通信方法、および通信プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明によるスイッチング回路は、廃棄するパケットのヘッダ情報を格納する廃棄データ格納部と、受信したパケットのヘッダを検査して、前記受信パケットを廃棄するかどうかを判断し、前記受信パケットを廃棄する場合には、廃棄するパケットのヘッダ情報を前記廃棄データ格納部に格納し、前記受信パケットを廃棄しない場合には、前記受信パケットを転送するヘッダ検査部と、を備えることを特徴とする。
【００１６】
本発明によるスイッチング方法は、受信したパケットのヘッダを検査して、前記受信パケットを廃棄するかどうかを判断し、前記受信パケットを廃棄する場合には、廃棄するパケットのヘッダ情報を廃棄データ格納部に格納し、前記受信パケットを廃棄しない場合には、前記受信パケットを転送することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、パケットを記憶しておく回路やメモリの消費を抑制することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態の構成例を示す図である。
【図２】第１の実施形態の動作を示すフローチャートである。
【図３】第２の実施形態によるＦＰＧＡの構成例を示す図である。
【図４】第２の実施形態によるパケット入力処理部の構成例を示す図である。
【図５】第２の実施形態によるパケット出力処理部の構成例を示す図である。
【図６】第２の実施形態の動作を示すフローチャートである。
【図７】第２の実施形態の動作を示すフローチャートである。
【図８】第３の実施形態によるパケット入力処理部の構成例を示す図である。
【図９】第３の実施形態によるパケット出力処理部の構成例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態について説明する。
【００２０】
［第１の実施形態］
［構成］
図１は、本発明による第１の実施形態のスイッチング回路１０００を示す図である。スイッチング回路１０００は、図示しない他の通信装置や回路等から受信したパケット等のデータを、他の通信装置や回路に転送する。図１によれば、スイッチング回路１０００は、ヘッダ検査手段１００１、廃棄データ格納手段１００２を含む。
【００２１】
［動作］
次に、図２のフローチャートを参照して、第１の実施形態の動作について説明する。
【００２２】
まず、ヘッダ検査手段１００１は、パケットを受信すると、受信パケットのヘッダを検査する（Ｓ１００１）。ヘッダ検査手段１００１は、Ｓ１００１の検査の結果、受信パケットを廃棄するかどうかを判断する（Ｓ１００２）。次に、ヘッダ検査手段１００１は、受信パケットを廃棄すると判断した場合には、廃棄するパケットのヘッダ情報を廃棄データ格納手段１００２に格納する（Ｓ１００３）。また、ヘッダ検査手段１００１は、ヘッダを付与したパケットを廃棄しない場合には、パケットを転送する（Ｓ１００４）。
【００２３】
［効果］
以上説明した通り、第１の実施形態によれば、廃棄と判断されたパケットのヘッダ情報を格納している。よって、第１の実施形態によれば、廃棄と判断されたパケットの全データを記憶しておく場合と比較して、格納先の回路やメモリの消費を抑制することが可能となる。
【００２４】
加えて、第１の実施形態によれば、廃棄と判断されたパケットの全データを記憶しておく場合と比較して、データを記憶する際に発生する通信の通信量を削減することができる。その結果、データを記憶する際に発生する通信によって、パケットの伝送効率やスイッチング効率の低下を抑制することが可能となる。
【００２５】
［第２の実施形態］
次に、本発明による第２の実施形態について説明する。
【００２６】
［構成］
図３は、第２の実施形態によるＦＰＧＡ１００の構成例を示す図である。図３のＦＰＧＡ１００は、仕様の異なるデータバス１８１、データバス１８２、データバス１８３を収容し、これらのデータバス間のパケット通信を行う。
【００２７】
図３によれば、ＦＰＧＡ１００は、パケット入力処理部１１０、パケット出力処理部１２０、パケット入力処理部１３０、パケット出力処理部１４０、パケット入力処理部１５０、パケット出力処理部１６０、転送部１７０を含む。
【００２８】
パケット入力処理部１１０は、データバス１８１から入力されたパケットを処理する。パケット入力処理部１３０は、データバス１８２から入力されたパケットを処理する。パケット入力処理部１５０は、データバス１８３から入力されたパケットを処理する。
【００２９】
パケット出力処理部１２０は、データバス１８１に出力するパケットを処理する。パケット出力処理部１４０は、データバス１８２に出力するパケットを処理する。パケット出力処理部１６０は、データバス１８３に出力するパケットを処理する。
【００３０】
転送部１７０は、各パケット入力処理部から受信したパケットを、転送先のパケット出力処理部に転送する。
【００３１】
図４は、パケット入力処理部１１０の構成例を示す図である。なお、パケット入力処理部１３０、パケット入力処理部１５０も同様の構成であるため、説明は省略する。
【００３２】
図４によれば、パケット入力処理部１１０は、入力バッファ１１１、ヘッダ検査部１１２、ヘッダ変換部１１３、廃棄データ格納部１１４を含む。
【００３３】
入力バッファ１１１は、データバス１８１を介して受信したパケットを格納する一般的なバッファである。
【００３４】
ヘッダ検査部１１２は、受信パケットのヘッダを検査する。より具体的には、ヘッダの正常性の確認や、パラメータの解析を行う。また、ヘッダ検査部１１２は、ヘッダのパラメータの解析を行い、ＦＰＧＡ１００で行う処理や、パケットの送信先を判別する。ヘッダ検査部１１２は、この判別結果を、ヘッダ変換部１１３に送信する。
【００３５】
ここで、ヘッダ検査部１１２が、検査したパケットのヘッダに異常を検出したような場合には、該当するパケットのヘッダとペイロード（ユーザデータ）を廃棄する。ヘッダ検査部１１２が検出する異常とは、例えば、ヘッダのデータ損壊等の異常や、送信先が異常、送信先が期待値と異なるような場合、あるいは、ＦＰＧＡ１００で許容していないパラメータが検出された場合等が挙げられる。
【００３６】
ヘッダ検査部１１２が、パケットを廃棄する場合には、廃棄するパケットのヘッダを廃棄データ格納部１１４に格納する。廃棄データ格納部１１４は、フリップフロップ等のロジック回路またはＦＰＧＡ内蔵メモリの一方もしくは両方にて構成される。
【００３７】
さらに、廃棄データ格納部１１４に格納するデータを、パケットのヘッダのみとすることで、廃棄データ格納部１１４で使用するＦＰＧＡの回路資源の消費を抑制することができる。また、廃棄データ格納部１１４にデータを格納する処理も短時間で実施できるため、伝送遅延やパケット帯域の低下などの悪影響を正常なデータストリームに対して与えることはない。
【００３８】
また、廃棄データにより廃棄データ格納部１１４の容量が一杯になった場合には、それ以上の廃棄データの格納を停止するか、古いデータから上書き保存し続けるかを選択可能にしても良い。
【００３９】
ヘッダ変換部１１３は、受信パケットのヘッダを、ＦＰＧＡ１００内で転送するために用いるヘッダ（以下、共通ヘッダ）に変換する。この共通ヘッダは、ＦＰＧＡ１００内での転送を高速化するために用いる専用のヘッダである。よって、この共通ヘッダとしては、受信パケットのヘッダよりもデータ量が少ないものを用いれば良い。続いて、ヘッダ変換部１１３は、受信パケットのヘッダを変換した後、転送部１７０に対して受信パケットを送信する。
【００４０】
図５は、パケット出力処理部１６０の構成例を示す図である。なお、パケット出力処理部１２０、パケット出力処理部１４０も同様の構成であるため、説明は省略する。
【００４１】
図５によれば、パケット出力処理部１６０は、ヘッダ検査部１６１、ヘッダ変換部１６２、出力バッファ１６３、廃棄データ格納部１６４を含む。
【００４２】
ヘッダ検査部１６１は、受信パケットのヘッダを検査する。検査する対象となるヘッダが共通ヘッダであること以外については、その動作はヘッダ検査部１１２と同様であるため、説明を省略する。
【００４３】
ヘッダ検査部１６１は、パケットを廃棄する場合には、廃棄するパケットのヘッダを廃棄データ格納部１６４に格納する。また、ヘッダ検査部１６１が異常を検出しなかったパケットについては、ヘッダ変換部１６２に送信される。
【００４４】
ヘッダ変換部１６２は、ヘッダ変換部１１３とは逆に、受信パケットのヘッダを、共通ヘッダから、出力先であるデータバス１８３で転送可能なヘッダに変換する。
【００４５】
出力バッファ１６３は、一般的なバッファであり、ヘッダ変換部１６２から受信したパケットを格納し、データバス１８３に送信する。
【００４６】
［動作］
次に、図６と図７のフローチャートを用いて、第２の実施形態の動作について説明する。以降、図３のＦＰＧＡ１００において、パケット入力処理部１１０がデータバス１８１からパケットを受信し、転送部１７０を経由して、パケット出力処理部１６０からデータバス１８３に出力される、というデータの流れを例に挙げて説明する。
【００４７】
まず、図６のフローチャートを用いて、パケット入力処理部１１０の動作について説明する。始めに、パケット入力処理部１１０は、パケットを受信すると、受信パケットを入力バッファ１１１に格納する（Ｓ１１１）。次に、ヘッダ検査部１１２が、受信パケットのヘッダを検査し（Ｓ１１２）、ヘッダに異常があるかどうかを判断する（Ｓ１１３）。ヘッダ検査部１１２は、受信パケットのヘッダに異常を検知した場合には、廃棄データ格納部１１４に、廃棄するパケットのヘッダを格納する（Ｓ１１４）。また、ヘッダ検査部１１２は、受信パケットのヘッダに異常がないと判断した場合には、受信パケットのヘッダを共通ヘッダに変換して、転送部１７０に対して転送する（Ｓ１１５）。
【００４８】
次に、図７のフローチャートを用いて、パケット出力処理部１６０の動作について説明する。始めに、ヘッダ検査部１６１は、転送部１７０から受信したパケットの共通ヘッダを検査し（Ｓ１２１）、共通ヘッダに異常があるかどうかを判断する（Ｓ１２２）。ヘッダ検査部１６１は、受信パケットの共通ヘッダに異常を検知した場合には、廃棄データ格納部１６４に、廃棄するパケットの共通ヘッダを格納する（Ｓ１２３）。また、受信パケットの共通ヘッダに異常がない場合には、ヘッダ変換部１６２が、受信パケットの共通ヘッダを、転送先のデータバス１８３で転送できるようにヘッダを変換する（Ｓ１２４）。次に、ヘッダ変換部１６２は、出力バッファ１６３に対してパケットを送信し、格納する（Ｓ１２５）。
【００４９】
上記の動作により、例えば、ヘッダ検査部１６１でパケットが廃棄された場合、ヘッダ変換部１１３または転送部１７０のいずれかに問題があるということを推測することができる。また、廃棄データ格納部１６４に格納された廃棄パケットのヘッダを確認することで、問題のある箇所を詳細に推測することができる。
【００５０】
また、ヘッダ検査部１１２で受信パケットが廃棄された場合には、廃棄データ格納部１１４に格納された廃棄パケットのヘッダを確認することで、データバス１８１から入力されるパケットに対する処理の正常性を容易に確認することができる。
【００５１】
［効果］
以上説明した通り、第２の実施形態によれば、ヘッダ検査部で廃棄と判断されたパケットのヘッダ情報を廃棄データ格納部に格納している。よって、第２の実施形態によれば、廃棄と判断されたパケットの全データを記憶しておく場合と比較して、格納先の回路やメモリの消費を抑制することが可能となる。
【００５２】
加えて、第２の実施形態によれば、廃棄と判断されたパケットの全データを記憶しておく場合と比較して、データを記憶する際に発生する通信の通信量を削減することができる。その結果、データを記憶する際に発生する通信によって、パケットの伝送効率やスイッチング効率の低下を抑制することが可能となる。
【００５３】
さらに、第２の実施形態によれば、ＦＰＧＡ１００の評価時間を短縮することが可能となる。第２の実施形態では、ヘッダ検査部で廃棄したパケットのヘッダを廃棄データ格納部に格納しておくことで、ヘッダの内容を確認できるようになる。このため、ＦＰＧＡの評価に用いるロジックアナライザ等の測定器の接続や、内部バスの状態を確認するための回路変更といった、時間を浪費する作業を省く事が可能である。
【００５４】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。第３の実施形態では、第２の実施形態と比較して、廃棄データ格納部に格納された廃棄パケットのヘッダを、外部から読み出すための読み出し部が追加されている点で異なっている。その他の構成および動作については、第２の実施形態と同様であるため、説明は省略する。
【００５５】
図８は、第３の実施形態によるパケット入力処理部１１０の構成例を示す図である。第２の実施形態によるパケット入力処理部１１０と比較して、読み出し部１１５が追加されている。読み出し部１１５は、廃棄データ格納部１１４が格納する廃棄パケットのヘッダの内容を読み出して、ＦＰＧＡ１００の外部に設置されたコンソール等で内容を確認できるようにする。
【００５６】
図９は、第３の実施形態によるパケット出力処理部１６０の構成例を示す図である。第２の実施形態によるパケット出力処理部１６０と比較して、読み出し部１６５が追加されている。読み出し部１６５は、廃棄データ格納部１６４が格納する廃棄パケットのヘッダの内容を読み出して、ＦＰＧＡ１００の外部に設置されたコンソール等で内容を確認できるようにする。
【００５７】
第３の実施形態によれば、第２の実施形態による効果に加えて、さらに、サービス中の予期せぬデータ廃棄等が発生した場合に、リモート操作で廃棄データの内容を確認することができる。ＦＰＧＡ１００を用いたサービス中に廃棄カウンタがカウントアップした場合には、原因調査を行う場合がある。第３の実施形態によれば、廃棄データ格納部に対するリモート操作を読み出し部１６５を経由して行うことで、廃棄データのヘッダ情報が確認できる。よって、装置設置先での測定器の接続や、それに伴うサービス停止、または製品を戻入しての再現試験等の実施を回避できる可能性が高くなる。
【００５８】
［変形例］
第２の実施形態および第３の実施形態の変形例について説明する。第２の実施形態および第３の実施形態における廃棄データ格納部にヘッダ情報を格納する条件を変えることで、任意のパケットまたはヘッダを格納することができる。
【００５９】
検査するヘッダ以降のデータ（ペイロード）まで格納する必要がある場合や、多数のパケットを格納したい場合がある。前者に対しては、データバス幅を拡張することで対応することができる。また、格納するパケットが正常パケットである場合は、後段の機能ブロックに送出する際に、同時に廃棄データ格納部１１４、１６４にデータを格納することで、正常パケットのストリームに対する影響を抑制することができる。また、多数のパケットを格納した場合には、廃棄データ格納部１１４、１６４を設置する箇所を減らし、必要な箇所にのみ集中して設置することで、容量を確保することが可能となる。
【００６０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００６１】
１００    ＦＰＧＡ
１１０、１３０、１５０    パケット入力処理部
１１１    入力バッファ
１１２、１６１    ヘッダ検査部
１１３、１６２    ヘッダ変換部
１１４、１６４    廃棄データ格納部
１１５、１６５    読み出し部
１２０、１４０、１６０    パケット出力処理部
１６３    出力バッファ
１７０    転送部
１８１、１８２、１８３    データバス
１０００    スイッチング回路
１００１    ヘッダ検査手段
１００２    廃棄データ格納手段
【図１】
2013172264.tif 000003
【図２】
2013172264.tif 000004
【図３】
2013172264.tif 000005
【図４】
2013172264.tif 000006
【図５】
2013172264.tif 000007
【図６】
2013172264.tif 000008
【図７】
2013172264.tif 000009
【図８】
2013172264.tif 000010
【図９】
2013172264.tif 000011