説明

ネットワーク装置とヘッダ処理方法

【課題】簡単な構成により高速化を実現したネットワーク装置と、そのヘッダ処理方法を提供する。
【解決手段】ネットワーク装置は、物理層からのパケットを抽出するパケット抽出部、パケット抽出部で抽出されたパケットを受けるMAC処理部、パケット抽出部で抽出されたパケットがMAC処理部と同時並行して伝えられるヘッダ検索部及びMAC処理部で処理されたパケットとヘッダ検索部の検索結果とを受ける上位処理部を備える。MAC処理部は、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上位処理部に伝える。ヘッダ検索部での検索結果に対しては、MAC処理部で廃棄されたパケットに対応したものを除いて上位処理部に伝えるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワーク装置とヘッダ処理方法に関し、例えばルータ等のネットワーク機器とそのヘッダ処理方法に利用して有効な技術に関するものである。
【背景技術】
【0002】
IP(Internet Protocol) ネットワーク装置においてイーサネット(登録商標)パケットのMACヘッダーやIPパケットのIPヘッダー等をキーに連想メモリなどのテーブルを検索する必要がある。例えば、受信したパケットの送信元MACアドレスを検索し、そのMACアドレスが未登録であればアドレス学習テーブルに登録するなど、用途は多岐に分かれている。上記MACアドレス(Media Access Control address) は、ネットワーク上で各ノードを識別するために設定されているネットワーク機器のハードウェアに割当てられる物理アドレスである。
【0003】
通信機能(通信プロトコル)を7つの階層に分けて定義しているOSI参照モデルでは、MACアドレスは第2層(データリンク層)である直接的に接続されている通信機器間の信号の受け渡しに用いられるアドレスである。本発明を成した後の公知例調査において、本願発明のネットワーク装置やヘッダ処理方法に適用されるMAC処理に関連するものとしてMACブリッジング装置(特開平11−122287号公報)の存在が報告された。しかしながら、同公報の技術は、MACアドレス情報の学習に関するものであり、本願発明とは大きく異なる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−122287号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワーク装置において、通信回線技術の進展により受信データの高速化が進められている。これに対応して、ネットワーク装置での高速信号処理が望まれる。ネットワーク装置での信号処理が入力データの入力速度に間に合わないと、未処理のパケットが発生してしまうので、パケットの再送を行う必要があり、通信回線技術の進展に伴う物理層での高速化が生かされない。もちろん、半導体技術等の進展に伴い前記MAC信号処理回路等での高速化も進められいている。本願発明者においては、このような回路技術での高速化とは別の手法によりネットワーク装置での高速化、あるいはヘッダ処理方法の高速化を図ることを検討した。
【0006】
この発明の目的は、簡単な構成により高速化を実現したネットワーク装置と、そのヘッダ処理方法を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0007】
本願において開示される1つの代表的な実施例は、以下の通りである。ネットワーク装置は、物理層からのパケットを抽出するパケット抽出部、上記パケット抽出部で抽出されたパケットを受けるMAC処理部、上記パケット抽出部で抽出されたパケットが上記MAC処理部と同時並行して伝えられるヘッダ検索部及び上記MAC処理部で処理されたパケットと上記ヘッダ検索部の検索結果とを受ける上位処理部を備える。上記MAC処理部は、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上記上位処理部に伝える。上記ヘッダ検索部での検索結果に対しては、上記MAC処理部で廃棄されたパケットに対応したものを廃棄して上記上位処理部に伝えるようにする。
【0008】
本願において開示される他の1つの代表的な実施例は、以下の通りである。ヘッダ処理方法は、物理層を通して入力された入力信号からパケットを抽出する第1処理、上記抽出された上記パケットのMAC処理を行う第2処理、上記抽出された上記パケットのヘッダ検索を行う第3処理、上記第2処理で処理されたパケットと、上記第3処理でのヘッダ検索結果を受けて上位処理を行う第4処理とを有する。上記第2処理では、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上記上位処理部に伝える。上記第4処理において、上記処理3でのヘッダ検索結果の中から上記第2処理において廃棄されたパケットに対応したヘッダ検索結果を除いてここで処理されるパケットとそれに対応した検索結果を対応させる。
【発明の効果】
【0009】
MAC処理とデータ検索処理とを同時並行的に行い、MAC処理で廃棄されたパケットが生じたならそれに対応して生成されたたヘッダ検索結果を除けばよいという簡単な手法により高速化が可能となる。
【図面の簡単な説明】
【0010】
【図1】この発明が適用されたネットワーク装置の一実施例のブロック図である。
【図2】この発明が適用されたネットワーク装置の他の一実施例のブロック図である。
【図3】この発明が適用されるネットワークシステムの概略システム図である。
【図4】OSI参照モデルの説明図である。
【発明を実施するための形態】
【0011】
添付の図面に沿って、この発明の好ましい実施の形態について詳細に説明する。
【実施例】
【0012】
図1には、この発明が適用されたネットワーク装置の一実施例のブロック図が示されている。ネットワーク装置1は、ネットワークに接続された装置1は物理層2を有する。物理層2は、後述するようなOSI参照モデルによって定義されているコンピュータの持つべき7つの階層(レイヤ)に分けられている通信機能(通信プロトコル)のうち、第1層である。この物理層1は、物理的な接続を意味し、コネタクのピンの数、コネタクの形状の規定等、銅線−光ファイバ間の電気信号の変換等のことである。ネットワークを通して伝えられたデータは、この物理層2で受信される。
【0013】
IPネットワークでは、データは「パケット」と呼ばれる小さなデータの固まりに格納される。上記パケット4は、同図例示されているように送信元IP(MAC)アドレス、送信先IP(MAC)アドレス、サイズオプション(タイプ)のようなIPネットワークに必要なヘッダ情報とともに実際に送りたいデータとCRCを内部に含んでいる。上記格納されたデータは、後に説明する上位階層で処理されるデータである。上記物理層2で受信されたデータはパケット抽出部3に転送されて、上記パケット4が抽出される。
【0014】
この実施例では、前記ヘッダ情報の処理の高速化を図るために識別ID生成部5が設けられる。前記抽出されたパケット4には、上記識別ID生成部5によってシーケンシャルな識別ID6が付加される。この識別IDは、例えば3ビットで表現するなら000〜111のような2進数値にされる。このようなシーケンシャルな識別ID6が付加されたパケット4は、A転送7とB転送8と並行的に送られる。
【0015】
上記A転送7は、テーブル検索部12にてパケット4のアドレスをキーに連想メモリ13へ対しテーブルの検索を行う。この検索データは、例えばパケット4のスイッチ情報である。上記連想メモリ13から得たスイッチ情報は、上記識別ID6を書き込みアドレス14として用いてスイッチ情報メモリ16を制御して書き込みデータ15として書き込まれる。これにより、スイッチ情報メモリ16には、抽出されたパケット順に検索された検索結果(スイッチ情報等)が順次に格納される。このように検索結果がスイッチ情報メモリ16に格納されるまでの時間をA転送レイテンシィ19とする。
【0016】
上記B転送8では、同じパケット4がMAC処理部9に送られる。このMAC処理部9では宛先MACアドレスチェック、フレーム長チェック、CRCの計算と削除、受信フレーム間ギャップ規定チェック等のようなMAC処理を実行する。このB転送8ではMAC処理により自宛てパケット以外のパケット、ポーズフレーム(パケット)やショートパッケトなど廃棄されるパッケトが存在する。このため、同じパケット4に対してA転送7とB転送8とではB転送側にパケットに歯抜けが生じてしまうことがあり相互間でパケットの順番が保たれない。したがって、上記のようにパケットに歯抜けが生じると当該パケットとは異なるパケットにより生成された検索データが割り当てられてしまう危惧がある。
【0017】
この実施例においては、前記問題点を回避するためにA転送パケットとB転送パケットに前記のようなシーケンシャルな同じ識別ID6が付加され、かかる識別ID6を手掛かりとして廃棄されたパケットを認識できるようにされる。後述するようにA転送7で予め検索したデータを準備している時にB転送8により異なる識別IDが到着した場合はその検索データを無効としB転送8で使用されている識別IDと同じ識別IDを持つA転送76側の検索データを割り当てることが可能とされる。
【0018】
この実施例では、上位処理部11とMAC処理部9との間の時間調整等のために受信FIFO(ファーストイン−ファーストアウト)部10が設けられる。前記MAC処理部9から出力されるパケットは、その処理に従って順次に受信FIFO部に格納される。この受信FIFO部10では、上位処理部11が受信処理可能になるまで一時的にパケットを貯めておくバッファとして機能する。
【0019】
つまり、上位処理部11で受信処理が可能になった時に上記受信FIFO部10から取り出されたパケットに付加された識別ID6をスイッチ情報メモリ16の読み出しアドレス17として使用し、読み出しデータ18を得る。前記読み出しデータ18は、前記A転送7で得たパケットのスイッチ情報である。つまり、前記MAC処理部9によって廃棄されたパケットは、それに付加された識別ID6も廃棄されるのでスイッチ情報メモリ16からは読み出されることはなく実質的に廃棄される。このように上位処理部11までのB転送に必要とする時間をB転送レイテンシィ20とする。
【0020】
Aレイテンシィ19はBレイテンシィ20に比較すると大凡半分の時間程速いものになる。これまでのヘッダ処理技術であればB転送8を実施してから検索動作に入るため、最低でも前記の例ならBレイテンシィ+Aレイテンシィの時間が掛かっていた。本願発明に従えば、Aレイテンシィを実質的に零にできるから、従前と同じ程度の回路素子や回路構成を用いた場合でも、約30%を超えるヘッダ処理時間の時間短縮化が可能になるものとなる。このようにAレイテンシィ実質的にゼロにするために検索を先行させ、B転送で破棄されたパケットが生じた場合でも識別ID6を用いてスイッチ情報メモリ16を読み出すので誤ったスイッチ情報を取り入れることは無い。
【0021】
図2には、この発明が適用されたネットワーク装置の他の一実施例のブロック図が示されている。この実施例では、前記図1の識別ID生成部5とスイッチ情報メモリ16が省略される。これに代えて、A転送側に検索データFIFO21が設けられる。そして、この実施例のMAC処理部9は、廃棄されたパケットに代えてダミーパケットを受信FIFO部10に送るようにする。そして、上位処理部11では、上記ダミーパケットが到来すると、それに対応して検索データFIFOから取り出される検索データ15を廃棄する。つまり、上位処理部11は、ダミーパケットが到来すると何も処理しないで検索データを廃棄して直ちに次のパケットの処理に移行する。
【0022】
この実施例では、テーブル検索部(連想メモリを含む)12−検索データFIFOのようなA転送ルートと、MAC処理部9−受信FIFO部10のようなB転送ルートとの間では、MAC処理部9での廃棄パケットをダミーパケットに置き換えるようにすることによって、ある特定のパケットは同じ順序で伝えられて同じタイミングでそれに対応した検索データ15を取り出すことができる。この結果、MAC処理により廃棄パケットが生じても前記のような誤った検索データが割り当てられることはない。そして、前記のように検索動作をMAC処理とは別個独立に先行的に実施することによって、前記同様にヘッダ処理時間の大幅な時間短縮化が可能になるものとなる。
【0023】
図3には、この発明が適用されるネットワークシステムの概略システム図が示されている。この実施例では、3つのローカルネットワークNETA、NETB、NETCにそれぞれルータ(又はブリッジ)A、B、Cが設けられる。ルータAとBは、通信回線LIN1により接続され、ルータAとCは、通信回線LIN2により接続される。3つのローカルネットワークNETA、NETB、NETCには、それぞれ代表として例示されている1つのパーソナルコンピュータPC1、PC2、PC3が接続されている。
【0024】
上記各パーソナルコンピュータPC1、PC2、PC3において、前記図1又は図2に示したようしてネットワーク装置が内蔵されている。同様に、ルータAないしCにもネットワーク装置を含んでいる。ルータAないしCは、IPヘッダ情報を解釈してさまざまな処理を行う。これら処理の中でも重要なものは「ルーティング」である。ルーティングは、経路選択の意味であり、あて先のネットワークへどの経路を使えばよいかということを選ぶものである。ルータという機器の名称もルーティングから付けられたものである。
【0025】
ルータAを例にルーティングを簡単に説明すると、ルータAはルーティングテーブルを持っており、その内容は、あて先のネットワークとそれにたどり着くのに次にどのルータにデータ(パケット)を渡せばよいかなどが含まれる。例えば、PC1がPC3を指定した送信先IPアドレスを含むパケットを送信すると、ルータAは、かかるパケットに含まれる送信先IPアドレスからルーティングテーブル(前記ケーブル検索部、連想メモリ)に登録されているルータCと接続させるスイッチ情報を得て、当該パケットを通信回線LIN2を用いてルータCに転送する。ルータCは、送られたパケットをそのままローカルネットワークNETCに転送する。このネットワークNETCに接続されているPC3においては、内蔵されているネットワーク装置のMAC処理部により前記のように自宛てパケット以外のパケットの廃棄処理を行うものであるので、前記自宛てパケットのみを取り込むものとなる。
【0026】
また、ルータ(ブリッジあるいはネットワーク装置)は、ローカルネットワーク間のPC同士でのパケットの転送により、自己が接続されたPCのIP(MAC)アドレスを認識して、MACアドレステーブルに記憶させる動作も行う。このようなテーブル作成動作においても、ヘッダ情報処理が利用される。このようにブリッジ(ネットワーク装置)は、転送されてきたパケットをメモリ上に保存してから、アドレステーブルに登録されたMACアドレスを参照して、送信先が接続されているポートのみにパケットを転送する。また、同一ポート内にあてた送信パケットをほかのポートには転送しない機能やパケットのループを発生させないための機能なども搭載している。
【0027】
図4には、OSI参照モデルの説明図が示されている。このOSI参照モデルは、コンピュータのもつべき通信機能として以下のような7つの階層に分けて定義している。第1層は、物理層であり、コネタクのピンの数、コネタクの形状の規定等、銅線−光ファイバ間の電気信号の変換等のような物理的な接続のことである。第2層は、データリンク層であり、直接的(隣接的)に接続されている通信機器間の信号の受け渡しである。第3層は、ネットワーク層であり、ネットワークにおける通信経路の選択(ルーティング)、データ中継である。
【0028】
第4層は、トランスポート層であり、ネットワークの端から端までの通信管理(エラー訂正、再送制御等)である。第5層は、セッション層であり、通信プログラム間の通信の開始から終了までの手順(接続が途切れた場合、接続の回復を試みる)である。第6層は、プレゼンテーション層であり、例えばEBCDICコードのテキストファイルをASCIIコードのファイルに変換するなどのデータの表現方法である。第7層は、アプリケーション層であり、例えばファイル・メールの転送、遠隔データベースアクセス、HTTPやFTP等のような具体的な通信サービスである。
【0029】
図1や図2のヘッダ処理は、いわば前記第2層までの通信機能に対応し、上位処理部11で抽出されたスイッチ情報は、第3層のルーティング等に用いられる。ルータは、一般的にOSI第3層であるネットワーク層で動作するというように言われている。
【0030】
本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、ヘッダ検索部での検索結果のうち、MAC処理により廃棄されるパケットに対応したものを除く方法は、廃棄されるパケットのヘッダ情報を利用して格納されている検索結果を探し出して除くようにしてもよい。このように検索動作をMAC処理とは別個独立に先行的に実施しつつ、検索結果に対して廃棄されるパケットに対応したものを除くようにする方法は種々変更できる。検索内容は、IPアドレスの他にヘッダ情報に含まれるものであればよい。
【産業上の利用可能性】
【0031】
この発明は、ネットワーク装置とそのヘッダ処理方法としてルータ、ブリッジ等に広く利用することができ、例えばネットワーク機能を持つ半導体集積回路装置を実現するためのハードウェアIPコアにも有益である。
【符号の説明】
【0032】
1…ネットワーク装置、2…物理層、3…パケット抽出部、4…パケット、5…識別ID生成部、6…識別ID、7…A転送、8…B転送、9…MAC処理部、10…受信FIFO部、11…上位処理部、12…テーブル検索部、13…連想メモリ、14…書込アドレス、15…書込データ(検索データ)、16…スイッチ情報メモリ、17…読出アドレス、18…読出データ(検索データ)、19…A転送レイテンシィ、20…B転送レイテンシィ、21…検索データFIFO。

【特許請求の範囲】
【請求項1】
物理層を通して入力された入力信号を受けてパケットを抽出するパケット抽出部と、
上記パケット抽出部で抽出されたパケットを受けるMAC処理部と、
上記パケット抽出部で抽出されたパケットを上記MAC処理部と並行して受けるヘッダ検索部と、
上記MAC処理部で処理されたパケットと上記ヘッダ検索部の検索結果とを受ける上位処理部とを備え、
上記MAC処理部は、入力されたパケットがパケットとして認識されないもの、あるいはパケットとしての妥当性を欠くものを含む不要なパケットを廃棄し、それ以外のパケットを上記上位処理部に伝えるものであり、
上記ヘッダ検索部での検索結果は、上記MAC処理部で廃棄されたパケットに対応したものが除かれて上記上位処理部に伝えられる、
ネットワーク装置。
【請求項2】
請求項1において、
識別ID生成部と検索結果メモリとを更に備え、
上記パケット抽出部で抽出されたパケットは、上記識別ID生成部で形成されたID情報が付加されて上記MAC処理部とヘッダ検索部に伝えられ、
検索結果メモリには、上記ヘッダ検索部の検索結果がそれに付加されたID情報に対応して記憶され、
上記上位処理部には、上記MAC処理部から送られたパケットに含まれるID情報を用いて上記検索結果メモリに記憶された検索結果が取り込まれる、
ネットワーク装置。
【請求項3】
請求項2において、
受信FIFO部を更に有し、
上記受信FIFO部には、上記MAC処理部で処理されたパケットが順次に入力され、 上記上位処理部は、上記受信FIFO部から入力順にパケットを取り込む、
ネットワーク装置。
【請求項4】
物理層を通して入力された入力信号からパケットを抽出する第1処理と、
上記抽出された上記パケットのMAC処理を行う第2処理と、
上記抽出された上記パケットのヘッダ検索を行う第3処理と、
上記第2処理で処理されたパケットと、上記第3処理でのヘッダ検索結果を受けて上位処理を行う第4処理とを有し、
上記第2処理では、入力されたパケットがパケットとして認識されないもの、あるいはパケットの妥当性を欠くものを廃棄し、それ以外のものを上記上位処理部に伝えるものであり、
上記第4処理において、上記処理3での検索結果の中から上記第2処理において廃棄されたパケットに対応したヘッダ検索結果を廃棄し、ここで処理されるパケットとそれに対応したヘッダ検索結果を対応させる、
ヘッダ処理方法。
【請求項5】
請求項4において、
上記第1処理は、個々のパケットにID情報を付加して上記第2処理及び第3処理が行われるパケットを生成し、
上記第4処理においては、上記付加されたID情報を用いてパケットとそれに対応したヘッダ検索結果を対応させる、
ヘッダ処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−109762(P2012−109762A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2010−256534(P2010−256534)
【出願日】平成22年11月17日(2010.11.17)
【出願人】(000233169)株式会社日立超エル・エス・アイ・システムズ (327)
【Fターム(参考)】