JP4019884B2 - Packet distribution device - Google Patents

Packet distribution device Download PDF

Info

Publication number
JP4019884B2
JP4019884B2 JP2002284187A JP2002284187A JP4019884B2 JP 4019884 B2 JP4019884 B2 JP 4019884B2 JP 2002284187 A JP2002284187 A JP 2002284187A JP 2002284187 A JP2002284187 A JP 2002284187A JP 4019884 B2 JP4019884 B2 JP 4019884B2
Authority
JP
Japan
Prior art keywords
packet
header
processing unit
processing
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002284187A
Other languages
Japanese (ja)
Other versions
JP2004120636A (en
Inventor
大介 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002284187A priority Critical patent/JP4019884B2/en
Publication of JP2004120636A publication Critical patent/JP2004120636A/en
Application granted granted Critical
Publication of JP4019884B2 publication Critical patent/JP4019884B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はパケット振り分け装置に関し、特に、上位プロトコルの処理を簡略化し、ハード的に単純な方法で振り分けることを可能とするパケット振り分け装置に関する。
【0002】
【従来の技術】
従来のパケット振り分け装置は、一般的に、スイッチとパケット処理部から構成されている。(例えば、特許文献1参照)
ここで、スイッチ(特許文献1のSW1)は、入力されたパケットを複数のパケット処理部(特許文献1のバッファ1〜3)にスイッチする。そして、パケット処理部では、スイッチから入力されたパケットに対して上位レイヤの処理を行う。
【0003】
このような従来のパケット処理装置においては、入力されたパケットをスイッチ経由でパケット処理部に送信する際、送信すべきパケットをある特定のパケット処理部に固定するのではなく、複数のパケット処理部へ振り分けることにより負荷を分散させている。
【特許文献1】
特開平5−227210号公報(第5頁、第1図)
【0004】
【発明が解決しようとする課題】
しかしながら、このパケット処理部への振り分け処理をスイッチに実装する場合、以下のような問題が発生する。
【0005】
まず、複数のプロトコルにより処理されたパケットが外部装置から到着する可能性がある場合、スイッチに複数のプロトコルを判別する手段を用意しなければならないという問題がある。この理由は、パケット振り分け時に利用されるパラメータをパケット内のヘッダ部分から探し出すために、振り分けるべきパケットに対して処理されているプロトコルを判別する必要があるためである。
【0006】
また、上記のパラメータの探索をパケット内部のチェックにより行うため、上位(レイヤ3以上)のプロトコルを実装しなければならないという問題がある。
【0007】
また、スイッチにおいて振り分け処理を行った時点で、振り分け方向、すなわち送信すべきパケット処理部に片寄りがある場合、片寄りを解消するために負荷分散処理を行うが、その処理によりパケット送信順序が逆転する恐れがある。この理由は、振り分け方向が変更になった際に、同じパケットフローで異なる処理部へ送信されてしまうことが発生し、これにより処理部内の負荷状況により処理部から送出される時間に差が発生するために、結果として順序逆転が発生する可能性があるためである。
【0008】
さらに、複数のパケット振り分け装置間において、ネットワーク経由でパケットの振り分けを行う場合には、各パケット振り分け装置内にネットワーク接続用に機能を拡張した回線処理部も用意しなければならないという問題がある。
【0009】
そこで、本発明の目的は上記の問題を解消した、パケット振り分け装置を提供することにある。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明のパケット振り分け装置では、それぞれ異なった回線と接続され、前記回線から前記パケットを入出力する複数の回線処理部と、前記複数の回線処理部から入力されるパケットに記されたヘッダ情報を元にしてパラメータを作成し、前記パラメータを利用して前記パケットの振り分け処理を行うスイッチと、前記パケット振り分け装置の管理処理と、レイヤ3以上の上位レイヤでのパケット処理を行うプロセッサと、から構成されることを特徴とする。
【0011】
このような構成を採用することにより、本発明のパケット振り分け装置では、レイヤ3以上の上位レイヤの処理をスイッチに実装することなくパケット振り分けが可能となり、スイッチの処理を簡略化できる。また、振り分け時に使用するパラメータを任意に変更できる。また、振り分け方向の切り替え後、パケットフローの順序を保証できる。さらに、装置間ルーティング時に、装置間接続用の回線や装置の相互接続が不要となる。
【0012】
【発明の実施の形態】
以下では、図1から図6を参照しつつ、本発明の実施例について説明する。まずは、本願発明のパケット振り分け装置の内部構成を示す。
【0013】
図1は、パケット振り分け装置1の全体構成を示すブロック図であり、回線処理部4,5,6、スイッチ2、パケット処理部7,8,9、プロセッサ3から構成されている。このパケット振り分け装置1は、回線処理部4〜6に入力されるパケットに付加されている装置内ヘッダの情報を用いて、パケットのルーティング処理を行うものである。
【0014】
回線処理部4〜6は、低レイヤ(レイヤ2相当)でのパケット処理を行う。スイッチ2は、回線処理部4〜6、パケット処理部7〜9、プロセッサ3へのパケットのルーティング処理を行う。パケット処理部7〜9は、上位レイヤ(レイヤ3以上)でのパケット処理を実行する。プロセッサ3は、パケット振り分け装置1の管理やパケット処理部7〜9と連携した上位レイヤのパケット処理等を行う。なお、図1においては、スイッチ2と接続される回線処理部およびパケット処理部を3個ずつとしているが、これらの個数は3に限定されるものではない。
【0015】
図2は、スイッチ2の詳細な構成例を示したものである。スイッチ2は、回線処理部インタフェース(I/F)10〜12、ヘッダ処理部13〜15、ルーティング処理部17、パケット処理部側インタフェース(I/F)18〜20、監視制御部90、レジスタ16で構成される。
【0016】
ここで、回線処理部I/F10〜12は、回線処理部4〜6、ヘッダ処理部13〜15、監視制御部90と接続されている。回線処理部I/F10〜12は、回線処理部4〜6から受信したパケットをヘッダ処理部13〜15へ送信する役割と、ヘッダ処理部13〜15から受信したパケットを回線処理部4〜6へ送信するインタフェースの役割を持つ。さらに、回線処理部I/F10〜12は、監視制御部90からの制御情報を受信する仕組みも持つ。
【0017】
図3は、回線処理部I/F10〜12の構成例を示したものである。回線処理部側からヘッダ処理部側へは、回線受信部302を経由してパケットが送信される。
【0018】
一方、ヘッダ処理部側から回線処理部側へは、回線送信部301を経由してパケットが送信される。そして、この回線送信部301は、切り替え番号判定部307、バッファA305、バッファB306、バッファ制御部304、送信部303から構成されている。
【0019】
切り替え番号判定部307では、監視制御部90からの情報を元に、入力パケットのヘッダ部分に記載されている切り替え番号をチェックし、バッファA305あるいはバッファB306の一方へパケットを振り分ける。ここで、パケットの構成は、例えば図7のようなものであり、切り替え番号36の情報は、装置内ヘッダ31に記載されている。
【0020】
バッファ制御部304では、監視制御部90からの切り替え信号の内容とバッファA305、バッファB306の状態を監視する。さらに、バッファ制御部304は、上記監視状態の情報を用いて、出力すべきパケットが保存されているバッファを判断し、そのバッファから送信部303へパケットを送信させる。
【0021】
送信部303では、バッファから送信されたパケットを回線処理部側へ出力する。
【0022】
また、ヘッダ処理部13〜15は、図2に示すように、回線処理部I/F10〜12、ルーティング処理部17、監視制御部90、レジスタ16に接続されている。このヘッダ処理部13〜15は、レジスタ16から必要な情報の読み出しを行う。ここで、レジスタ16に設定されている情報としては、一例として図8のタイプ検索テーブル41に示すように、タイプ情報42、ポイント情報43、振り分け/固定情報44等がある。なお、各設定値は、回線毎に用意されている。
【0023】
次に、ヘッダ処理部13〜15は、回線処理部I/F10〜12からの入力されたパケットのヘッダ処理をした後、ルーティング処理部17へ送信する。一方、ルーティング処理部17からのパケットは、ヘッダ処理部でヘッダ処理を行った後、回線処理部I/Fへ送信される。また、監視制御部90からは、切り替え番号等の制御信号を受信する。
【0024】
図4は、ヘッダ処理部13〜15の構成例を示したものである。この図4を用いて、ヘッダ処理部におけるヘッダ処理の内容を説明する。回線処理部I/F10〜12からルーティング処理部17方向へは、行き先判定部21、タイプ判定部22、内外判定部A23、ポイント確認/計算部24、装置間ヘッダ削除部27、装置内ヘッダ生成/付与部25、送信処理部A26から構成される。これらの各部では以下のような処理を行う。
【0025】
行き先判定部21では、パケットのルーティング先のチェックを行う。タイプ判定部22では、パケットの装置内ヘッダ31に記載されたパケットタイプ情報35(図7参照)の情報と、レジスタ16内に記憶されているタイプ検索テーブル41(図8参照)のタイプ情報42を比較し、検索を行う。検索結果より、パケットタイプ情報35と同じ値を持つタイプ情報42の存在する行(例えば、タイプ情報の値がX1の行)を得る。
【0026】
内外判定部A23では、パケットが装置内ルーティングであるか、装置外(装置間)ルーティングであるかを、装置内ヘッダ31の内外判別情報33により判定する。パケットは、装置間ルーティングの場合には装置間ヘッダ削除部27へ送信され、装置内ルーティングの場合にはポイント確認/計算部24へ送信される。
【0027】
装置間ヘッダ削除部27では、自装置内で使用された装置内ヘッダ71(図13参照)を削除し、さらに、タイプ判定部22で得られたパケットタイプ情報42からタイプヘッダ72(図13参照)を削除し、送信処理部A26へ送信する。
【0028】
ポイント確認/計算部24では、タイプ判定部22で得られた結果を利用し、タイプ情報42に対応するポイント情報43の検索を行う。検索結果より得られたポイント情報43とポイント値のマスク情報45を用いて計算を行う(計算内容の詳細は後述)。この計算結果から送信先が決定される。
【0029】
装置内ヘッダ生成/付与部25では、ポイント確認/計算部24で得られた送信先情報34と監視制御部90からの切り替え番号36の情報を追加して、装置内ヘッダ31(図7参照)を生成し、パケットデータに付与する。
【0030】
送信処理部A26は、装置内ヘッダ生成/付与部25からのパケットと装置間ヘッダ削除部27からのパケットを、到着順にルーティング処理部17へと送信する。
【0031】
一方、ルーティング処理部17から回線処理部I/F10〜12方向へは、内外判定部B30、装置間ヘッダ付与部29、送信処理部B28から構成される。
【0032】
内外判定部B30では、パケットが装置内ルーティングであるか、装置外(装置間)ルーティングであるかを、装置内ヘッダ31の内外判別情報33により判定する。パケットは、装置間ルーティングの場合には装置間ヘッダ付与部29へ送信され、装置内ルーティングの場合には送信処理部B28へ送信される。
【0033】
装置間ヘッダ付与部29では、装置間のタイプ値より付与するヘッダを検索し付与した後、さらに必要な装置内ヘッダを付与して送信処理部B28へ送信する。具体的には、「他装置間用の装置内ヘッダの更新(内外判別情報を内部に変更。送信先情報を、図12の自回線番号63に相当する送信先情報64に変更。)」、「タイプヘッダの付与(他装置間用の装置内ヘッダのパケットタイプ情報から、図11のテーブルを検索し、準備されているタイプヘッダを付与。)」、および「自装置内用の装置内ヘッダの付与(内外判別情報を外部に変更。送信先情報は、接続されている回線番号で固定設定。パケットタイプ情報は、他装置間用の装置内ヘッダのパケットタイプ情報をコピーして作成。すなわち、図7の装置内ヘッダ31の付与。)」という順序で処理を行う。
【0034】
送信処理部B28では、内外判定部B30からのパケットと装置間ヘッダ付与部29からのパケットを、到着順に回線処理部I/F10〜12へ送信する。
【0035】
また、パケット処理部I/F18〜20は、ルーティング処理部17とパケット処理部7〜9に接続されている。そして、パケット処理部I/F18〜20は、ルーティング処理部17から受信したパケットをパケット処理部7〜9へ送信する動作と、パケット処理部7〜9から受信したパケットをルーティング処理部17へ送信する動作を実行する。
【0036】
図5は、パケット処理部I/F18〜20の構成例を示したものである。パケット処理部7〜9からルーティング処理部17方向への処理の場合、パケット処理受信部402で処理が行われる。パケット処理受信部402の内部構成としては、パケット判定部405を持つ。このパケット判定部405では、パケット処理部7〜9から送信されてくるパケットにおいて、その装置内ヘッダ31内に記録された切り替え番号36の内容をチェックし、切り替え通知パケットかどうかを判定する。切り替え通知パケットの場合は、監視制御部90へ切り替え通知パケットが到着したことを、装置内ヘッダ31内の切り替え番号と共に通知する。
【0037】
一方、ルーティング処理部17からパケット処理部7〜9方向へは、バッファ404と状態通知部403から構成される。状態通知部403は、バッファ404の状態を監視し、バッファ404の記憶領域がパケットのデータにより一杯になったとき、監視制御部90に通知を行う。
【0038】
図6は、監視制御部90の構成例を示したものである。この監視制御部90は、バッファ状態管理部503、切り替え番号制御部502、バッファ切り替え部501から構成される。
【0039】
バッファ状態管理部503は、パケット処理部I/F18〜20および切り替え番号制御部502と接続されている。そして、バッファ管理部503は、パケット処理部I/F18〜20内にある状態通知部403からの通知により、バッファ404の記憶領域が一杯になったという状態を検出すると、切り替え番号制御部502に更新通知を送信する。
【0040】
切り替え番号制御部502は、バッファ状態管理部503、バッファ切り替え部501、ヘッダ処理部13〜15、レジスタ16、回線処理部I/F10〜12と接続されている。そして、切り替え番号制御部502は、バッファ状態管理部503からの更新通知を受信すると、レジスタ16内のポイント値のマスク情報45(図8参照)のマスクビット(“1”)を変更し、チェック箇所の変更を行う。また、切り替え番号36を、その番号値をカウントアップすることにより更新する。これらの処理後、切り替え番号制御部502は、バッファ切り替え部501に切り替え通知を送信すると共に、ヘッダ処理部13〜16および回線処理部I/F10〜12に対して更新した切り替え番号36を通知する。
【0041】
以下では、実施例の詳細動作について説明する。
【0042】
<基本振り分け動作>
まず、図1のパケット処理装置1における、回線処理部4〜6からパケット処理部7〜9方向への動作について説明する。
【0043】
回線処理部4〜6へ入力されたパケットは、レイヤ2(データリンク層)のヘッダの処理が行われ、設定されたパケット処理部宛てにスイッチ2経由で送信される。すなわち、回線処理部4〜6では、入力パケットからレイヤ2(データリンク層)ヘッダを削除し、図7に示す装置内ヘッダ31をパケットデータ32に付与し、スイッチ2へ送信する。
【0044】
ここで、装置内ヘッダ31の情報としては、装置内で必要な情報を定義すれば良いが、本実施例では最低限必要な情報として、切り替え番号36、内外判別情報33、送信先情報34、パケットタイプ情報35を規定している。そして、回線処理部4〜6では、入力パケットに初期設定されている宛先情報が送信先情報34に付与され、レイヤ2ヘッダ内のパケットタイプ情報がパケットタイプ情報35にコピーされる。例えば、入力パケットがEthernet(登録商標)パケットの場合には、Ethernet(登録商標)パケットヘッダのタイプフィールド情報がパケットタイプ情報35にコピーされる。以下では、一例として、レイヤ2ヘッダをEthernet(登録商標)パケットヘッダ、パケットタイプをIPパケットとして説明をする。
【0045】
スイッチ2へ入力されたパケットは、回線処理部I/F10〜12を経由してヘッダ処理部13〜15へと送信される。ヘッダ処理部13〜15へ入力されたパケットは、まず行き先判定部21で装置内ヘッダ31内の送信先情報34をチェックされる。
【0046】
チェックの結果、プロセッサ3宛のパケット(例えば制御情報パケット)であれば、送信処理部A26に直接送信され、ヘッダ処理部13〜15からルーティング処理部17へ入力される。そして、ルーティング処理部17において装置間ヘッダ内の送信先情報34に従い、プロセッサ3へルーティングされる。
【0047】
また、チェック結果、パケット処理部7〜9宛のパケットである場合、タイプ判定部22へ送信される。タイプ判定部22は、装置内ヘッダ31内のパケットタイプ情報35と、レジスタ16内に記憶されているタイプ検索テーブル41(図8参照)のタイプ情報42を比較し、検索を行う。検索結果より、パケットタイプ情報35と同じ値を持つタイプ情報42が、タイプ検索テーブル41内で存在する行(例えば、タイプ情報の値がX1の行)を得ることができる。
【0048】
なお、パケットタイプ情報35とタイプ情報42の値が一致しない場合には、そのパケットタイプ情報35を装置内ヘッダ31に持つパケットを廃棄処理する。または、廃棄処理を行わずに送信処理部A26へ直接送信し、ルーティング処理部17において装置内ヘッダ31の送信先情報34に記載された送信先へルーティングを行う。
【0049】
タイプ判定部22での検索結果より、タイプ情報42を得られたパケットは、内外判定部A23へ送信される。内外判定部23では、あらかじめ内部外部判定用に設定しておいた値と、装置内ヘッダ31の内外判別情報33を比較し、その比較結果により装置内部で扱われるパケットであるか、装置間(装置外)で扱われるパケットであるかを判定する。本実施例では、まず装置内部で扱われるパケットと判定された場合の処理内容を<装置内ルーティング>において説明し、続いて、装置間で扱われるパケットと判定された場合の処理内容を<装置間ルーティング>において説明する。
【0050】
<装置内ルーティング>
まず、内外判定部A23において、装置内部で扱われるパケットと判定された場合の処理内容について詳細説明をする。装置内と判定されたパケットは、ポイント確認/計算部24へ送信される。ポイント確認/計算部24では、振り分け処理と固定処理のどちらを行うかを決定する。また、ポイント確認/計算部24は、タイプ判定部22での判定処理で得られたタイプ情報42(例えばX1)に対応するポイント情報43(例えばY1)とポイント値のマスク情報45から、ポイント確認を行う個所を見つけ、計算を行うことにより、パケットの送信先を決定する処理を行う。
【0051】
具体的には、ポイント確認/計算部24は、以下のような処理を行っている。図10に示されるポイント値53は、任意のビット数としてパケット内に設定されており、そのビットをポイント値のマスク情報45を用いてマスクすることにより、ポイント値53からチェックしたい有効なビット部分を取り出すことを可能としている。例えば、ポイント値のマスク情報45において、“0”の箇所は有効とし、“1”の箇所はマスクとして無効とする。そして有効の箇所だけ取り出して計算に使用する。
【0052】
ここで、ポイント値53の設定箇所の例としては、IPパケットヘッダのソースIPアドレスの部分が考えられる。図10に示すように、ポイント値53が設定されるソースIPアドレスの位置は、パケット51の先頭から図10のポイント情報52だけ後方にずれた位置となる。なお、ポイント情報52の値はポイント情報43と同一であり、タイプ検索テーブル41より得られる。
【0053】
また、ソースIPアドレスのどこの部分をチェックすべきかは、ポイント値のマスク情報45のマスクビット(“1”)により設定される。例えば、パケット51内のポイント値53の部分にポイント値のマスク情報45を重ね合わせ、このポイント値のマスク情報45が“1”となっているビット部分を無視し、“0”となっているビット部分がポイント値53でどのように設定されているかをチェックする。すなわち、このポイント値のマスク情報45のマスクビット“1”の位置を変更することにより、振り分けられるパケットのソースIPアドレスが変更されることになる。
【0054】
また、ポイント確認/計算部24における計算方法は各種考えられるが、一例として、単純な計算例を用いて説明する。パケットの振り分け処理の場合、ポイント値のマスク情報45を用いてポイント値53から取り出した有効な値を、別途設定しておいた振り分け値46(図8参照)を用いて割り算する。ここで、振り分け値46に振り分けたい数を設定しておくと、その割り算結果の剰余で得られる数は振り分けの数と一致する。例えば、振り分け数が3の場合には、図8に示すように振り分け値を46を2進数表記の“11”とする。すなわち、図9に示すように、振り分けるべき送信先数と等しい剰余47が得られるように振り分け値46を設定し、剰余47に関連付けて送信先48を設定しておく。
【0055】
これにより、計算結果から得られた剰余47を用いて送信先48が決定される。ここで、送信先48に回線処理部4〜6を指定することにより、パケット処理装置1から回線処理部4〜6に接続された他の装置への装置間ルーティングが可能となる。装置間ルーティングの詳細動作に関しては後述する。
【0056】
なお、パケットを振り分けずに、ある決まった他装置に送信する固定処理の場合は、ポイント確認/計算部24におけるポイント値45のチェック等が不要であるので、剰余47の値として“0”等の固定値を指定する仕組みにすれば良い。
【0057】
次に、ポイント確認/計算部24で送信先が決定されたパケットは、装置内ヘッダ生成/付与部25において、装置内ヘッダ31の付け替えが行われる。付け替え時に更新される情報は、切り替え番号36、決定された送信先情報34、内外判別情報33である。ここで、内外判別情報33の値は、送信先が回線処理部4〜6方向ならば外部、パケット処理部7〜9方向ならば内部となるように設定される。
【0058】
そして、新たな装置内ヘッダが付与されたパケットは、送信処理部A26へ送信される。送信処理部26では、到着したパケットを順番にルーティング処理部17へ送信する。
【0059】
ルーティング部17では、装置内ヘッダ31内の送信先情報34に従い、装置内であるパケット処理部7〜9方向へパケットのルーティングが行われる。すなわち、ルーティングによりパケット処理部I/F18〜20に到着したパケットは、パケット処理部7〜9へ送信される。
【0060】
パケット処理部7〜9では、上位レイヤのパケット処理が行われ、処理終了後に再びスイッチ2へ返信される。なお、パケット処理部7〜9における動作に関しては、一般的な事項であるので省略する。
【0061】
次に、パケット処理部7〜9から回線部4〜6方向への動作について説明を行う。
【0062】
パケット処理部7〜9で処理された後、スイッチ2に返信されたパケットは、パケット処理部I/F18〜20を経由してルーティング処理部17へ送信される。ここで、ルーティング部17の動作は上述の逆方向の場合と同様である。
【0063】
そして、ルーティング処理部17からヘッダ処理部13〜15に到着したパケットは、内外判定部B30へ送信される。内外判定部B30では、装置内ヘッダ31内の内外判別情報33をチェックし判定を行う。そして、装置内パケットであると判定された場合には、そのまま送信処理部B28へ送信する。
【0064】
また、装置間パケットであると判定された場合には、装置間ヘッダ付与部29へ送信される。なお、装置間ヘッダ付与部29の動作については、<装置間ルーティング>において後述する。
【0065】
送信処理部B28では、内外判定部B30と装置間ヘッダ付与部29から入力されるパケットを順番に制御し、回線処理部I/F10〜12へ送信する。
【0066】
回線処理部I/F10〜12内では、ヘッダ処理部13〜15から入力されたパケットを切り替え番号判定部307でチェックする。切り替え番号判定部307では、監視制御部90からのバッファ切り替え番号情報と、装置内ヘッダ31内の切り替え番号36と比較し、該当するバッファA305またはバッファB306のどちらかへ送信する。一例として、(バッファA305−切り替え番号1)、(バッファB306−切り替え番号2)というバッファ切り替え番号情報が監視制御部90から入力されている場合、該当する切り替え番号を持つパケットを対応するバッファへ送信する。
【0067】
なお、監視制御部からの番号の更新は、一例として、古い方から順番に行うことが考えられる。すなわち、上記のバッファ切り替え番号情報が設定されている場合、次の更新時には(バッファA305−切り替え番号3)、(バッファB506−切り替え番号2)となる。また、切り替え番号が該当しないパケット(プロセッサ3からのパケット等)は、一例として、更新された番号が新しい(大きい)バッファへ送信するものとする。
【0068】
バッファ制御部304では、送信部303へ送信するパケットの読み出しバッファを、バッファA305、バッファB306から選択し切り替える。この切り替えは、監視制御部90からのバッファ切り替え番号情報を受信した際に、その新しい切り替え番号に対応するバッファを選択することにより実行される。ただし、このバッファ切り替え処理は、バッファ切り替え番号情報を受信した直後に行なわれるのではなく、該当するバッファ以外のバッファから送信部303へのパケット送信完了を検出した後に、該当するバッファへ切り替えるようにする。そして、バッファ切り替え後、送信部303では、バッファA305あるいはバッファB306から送信されるパケットを回線処理部4〜6へ出力する。
【0069】
回線処理部4〜6では、パケットから装置内ヘッダ31を削除し、低レイヤのヘッダを付与した後、パケット処理装置1の外部(他装置)へパケットを出力する。
【0070】
<装置間ルーティング>
以下では、パケット処理装置1と他パケット処理装置との装置間にパケットが送信される場合の動作に関して説明を行う。
【0071】
まず、スイッチ2のヘッダ処理部13〜15内において、回線処理部I/F10〜12からルーティング処理部17方向へ装置間ルーティングが行なわれる場合の動作について説明する。回線処理部I/F10〜12から送信されたパケットは、行き先判定部21とタイプ判定部22を経由した後、内外判定部A23で装置間ルーティングパケットと判定され、装置間ヘッダ削除部27へ送信される。ここで、装置間ルーティング用のパケット構成は、一例として図13に示すように、2種類の装置内ヘッダ71,73とタイプヘッダ72が、パケットデータ74に付加されたものとなっている。
【0072】
装置間ヘッダ削除部27では、図13の装置間ルーティングパケットから自装置内ルーティング用の装置内ヘッダ71とタイプヘッダ72を削除する。タイプヘッダ72として削除されるヘッダ長は、タイプ判定部22で得られたタイプ情報42を用いて計算される。ここで、タイプ情報42は、パケットの種類(IPv4等)を表しているため、タイプ情報42から何バイトがヘッダであるかを判別できる。よって、タイプ情報42を検索した後、あらかじめタイプ情報42と関連付けられているヘッダバイト長分を削除することにより、タイプヘッダ分だけを削除することが可能となる。これら2つのヘッダの削除により、他装置間ルーティング用の装置内ヘッダ73が表れるので、そのヘッダのみを持つパケットを送信処理部A26へ送信し、ルーティング処理部17へ出力する。
【0073】
次に、ルーティング処理部17から回線処理部I/F方向へ装置間ルーティングが行なわれる場合の動作について説明をする。内外判定部B30において装置間ルーティングパケットと判定されたパケットは、装置間ヘッダ付与部29へ送信される。
【0074】
装置間ヘッダ付与部29では、図13に示すように、他装置間用装置内ヘッダ73内の送信先情報(図示せず)の変更と、タイプヘッダ72と自装置内用装置内ヘッダ71の付与を行う。ここで、図12に示すように、自回線番号63と送信先情報64からなるテーブルをレジスタ16に用意しておき、自回線番号63に対応する送信先情報64を用いて、他装置間用装置内ヘッダ73に記載される送信先情報の変更を行う。このテーブル設定は、他装置にパケットを送信する場合に、回線処理部4〜6内のどの処理部にパケットを振り分けるかを示している。
【0075】
また、新たに付与するタイプヘッダ72は以下のように得られる。まず、他装置間用装置内ヘッダ73内のパケットタイプ情報(図示せず)を確認し、図11に示される、タイプ検索テーブル41を検索する。検索結果より、関連づけられてレジスタ16にて用意されているX1タイプヘッダ61とX2タイプヘッダ62を選択する。
【0076】
さらに、自装置内用装置間ヘッダ71は、送信先情報(図示せず)を接続されている回線処理部の値とし、パケットタイプ情報(図示せず)は他装置間用装置内ヘッダ73のパケットタイプ情報値をコピーして作成する。
【0077】
これらの各種ヘッダ71〜73が変更および付与された装置間ルーティングパケットは、送信処理部B28へ送信される。
【0078】
<振り分け情報の自動更新>
以下では、振り分け情報の自動更新機構について説明をする。自動更新のトリガとなるのは、スイッチ2におけるパケット処理部I/F18〜20内のバッファ404の状態である。
【0079】
バッファ404が一杯となり溢れが生じた場合、状態通知部403がそのバッファ溢れ状態を検出し、その検出結果を監視制御部90内のバッファ状態管理部503へと送信する。
【0080】
バッファ溢れの検出結果を受信したバッファ状態管理部503は、パケットの振り分け処理のために使用している情報(ポイント値のマスク情報45)を更新するために、切り替え番号制御部502へ更新指示信号を送信する。
【0081】
更新指示信号を受信した切り替え番号制御部502は、レジスタ16にアクセスする。そして、振り分け情報(ポイント値のマスク情報45)と切り替え番号の更新を行い、ヘッダ処理部13〜15と回線処理部I/F10〜12に更新された切り替え番号を通知する。
【0082】
更新された切り替え番号を受信した回線処理部I/F10〜12は、内部の切り替え番号判定部307の古い番号情報を更新する。
【0083】
また、同様に更新された切り替え番号を受信したヘッダ処理部13〜15は、レジスタ16からのレジスタ値の再読み込み、装置内ヘッダ31に付与する切り替え番号36の更新、切り替え通知パケットの作成および送出を行う。この切り替え通知パケットの装置内ヘッダ31においては、切り替え番号36の一部に切り替え通知パケット用のチェックビットを設けておき、そこのビットをチェックすることにより切り替え通知パケットか否かを判断する。
【0084】
切り替え通知パケットにおいては、装置内ヘッダ31内の送信先情報34を、パケット処理部7〜9のどれか1つに設定する。例えば、図1のパケット処理装置1の構成では、回線処理部4〜6とパケット処理部7〜8を、事前に1対1の関係となるように設定しておけば良い。また、更新された切り替え番号と切り替え通知パケット用のチェックビットを切り替え番号36に設定する以外には、他の装置内ヘッダ部分やパケットデータ32の設定変更を行う必要はない。
【0085】
この切り替え通知パケットが、パケット処理部7〜9側で受信された場合には、特別な処理を行うことをせずに、スイッチ2に返信するようにする。すなわち、切り替え通知パケットにより確認したい点は、各パケット処理部7〜9に更新前の古い切り替え番号情報が残っているかどうかである。この切り替え通知パケットが処理部から返信された場合には、スイッチ2内のパケット処理部I/F18〜20において、切り替え通知パケットであることを判定する。ここで、切り替え通知パケットが返送されてきたということは、切り替え通知パケットを返信したパケット処理部には、更新前の古い切り替え番号情報は残っておらず、更新されたの切り替え番号のパケットになっていることを示す。そして、切り替え通知パケットを受信したパケット処理部I/F18〜20内のパケット判定部405は、監視制御部90内のバッファ切り替え部501へパケットの受信通知を行う。
【0086】
すべてのパケット処理部I/F18〜20内のパケット判定部405から、切り替え通知パケットの受信通知を受けたバッファ切り替え部501は、同時に切り替え番号制御部502からの切り替え指示も受けた場合、回線処理部I/F10〜12内のバッファ制御部304へバッファ切り替えの指示を通知する。
【0087】
バッファ切り替え通知を受信したバッファ制御部304は、現在、パケットを送信しているバッファの状態を確認し、そのバッファが空になるまで送信を継続させる。そして、パケットを送信していたバッファが空になったのを確認した後、バッファ切り替えを行い、新たに切り替えられたバッファからパケット送信を開始する。これにより、同じバッファに格納されているパケットに対して、フロー内での処理順序が逆転しないことが保証可能となる。
【0088】
次に、本願発明の他の実施例について説明する。
【0089】
第2の実施例として、図14に示すように、ポイント値のマスク値45と関連付けた比較値81と送信先82をレジスタ16に複数用意することにより、同じポイントにおいて複数の比較値81により振り分けが可能となる。
【0090】
この場合の振り分け動作としては、ポイントのチェック時にポイント値のマスク値45で有効とされている箇所(“0”)と比較値81を検索する。そして、検索結果より、一致した比較値を持つ送信先を指定する。これにより、同じポイント値のマスク情報45を用いて、固定値による振り分けが実現できる。使用例として、IPヘッダのTOS(Type Of Service)フィールドの値を複数の比較値として使用することにより、TOSフィールドに設定された優先度で振り分けるを行うことが可能となる。この第2の実施例により、計算によるランダムな振り分け方だけではなく、同じポイント値のマスク情報45を用いて、任意の値について振り分けることが可能となる。
【0091】
さらに、第3の実施例を、図15および図16を用いて説明をする。スイッチ2の構成を図15に示すようなものとし、装置内ヘッダ31内の内外判別情報33を用いて、パケット処理部I/F18〜20側からパケットをスイッチ2へ送信することにより、パケット処理部7〜9同士の装置間ルーティング処理が可能となる。
【0092】
図15は、図2に示した第1の実施例におけるスイッチ2の構成に、新たにヘッダ処理部B131〜151を、ルーティング処理部17とパケット処理部I/F18〜20の間にも置いた構成である。
【0093】
また、図16は、図15におけるヘッダ処理部A130〜150とヘッダ処理部B131〜151の構成を示したものである。図4に示した第1の実施例におけるヘッダ処理部13〜15と比較すると、回線処理部I/F10〜12からルーティング処理部17方向の処理をヘッダ処理部A130〜150に、ルーティング処理部17から回線処理部I/F方向の処理をヘッダ処理部B131〜151に実装している。
【0094】
ここで、ヘッダ処理部A130〜150の動作は、第1の実施例におけるヘッダ処理部13〜15と同様である。ただし、第3の実施例の構成の場合、回線処理部I/F10〜12方向へはパケット振り分け時の設定を行わないこととする。
【0095】
また、ヘッダ処理部B131〜151では、パケット処理部I/F18〜20側から入力されたパケットを内外判定部B30において判定処理する。判定結果が装置内部のパケットである場合には、送信処理部B28へ送信された後、ルーティング処理部17で装置内の送信先にルーティングされる。装置外の装置間パケットである場合には、装置間ヘッダ付与部290に送信される。
【0096】
装置間ヘッダ付与部290では、図13に示す装置間ルーティングパケットを生成する。タイプヘッダ72の生成方法は、第1の実施例の場合と同様であるが、他装置間用装置内ヘッダ73と自装置内用装置内ヘッダ71の生成方法は異なる。
【0097】
まず、他装置間用装置内ヘッダ73は、特に何も処理する必要がなくヘッダ処理部により、生成されたものをそのまま使用する。また、自装置内用装置内ヘッダ71においては、パケットタイプ情報35を他装置間用装置内ヘッダ73からコピーするという点は同様であるが、送信先情報34の指定方法が異なる。すなわち、送信先情報34に指定される回線は、レジスタ16において事前に設定された設定値を用いて指定する。この第3の実施例により、回線処理部4〜6側でのみ装置間ルーティングを行うのではなく、パケット処理部7〜9の間での装置間ルーティングも可能としている。
【0098】
【発明の効果】
本発明は、以下に記載するような効果を奏する。
【0099】
第1の効果は、レイヤ3以上の上位レイヤの処理をスイッチ2に実装することなくパケット振り分けが可能となり、スイッチ2の処理を簡略化できることである。その理由は、パケットタイプ情報35を用いて、あらかじめタイプ検索テーブル41に設定しておいたポイント情報43をチェックしているからである。
【0100】
第2の効果は、振り分けに使用するパラメータを任意に変更できることである。その理由は、チェックするパラメータの位置を設定により与えているためである。
【0101】
第3の効果は、振り分け方向の切り替え後、パケットフローの順序を保証できることである。その理由は、切り替え番号の制御とバッファの管理を、切り替え通知パケットによる切り替え情報を用いて行っているためである。
【0102】
第4の効果は、装置間ルーティング時に、装置間接続用の回線や装置の相互接続が不要であることである。その理由は、タイプ検索テーブル41のタイプ情報42に関連づけられたパケットヘッダを設定しているためである。
【図面の簡単な説明】
【図1】本発明のパケット振り分け装置の全体構成例を示すブロック図である。
【図2】本発明のパケット振り分け装置内におけるスイッチの構成例を示すブロック図である。
【図3】本発明のパケット振り分け装置内における回線処理部I/Fの構成例を示すブロック図である。
【図4】本発明のパケット振り分け装置内におけるヘッダ処理部の構成例を示すブロック図である。
【図5】本発明のパケット振り分け装置内におけるパケット処理部I/Fの構成例を示すブロック図である。
【図6】本発明のパケット振り分け装置内における監視制御部の構成例を示すブロック図である。
【図7】パケットの装置内ヘッダの構成例を示す図である。
【図8】レジスタ内のタイプ検索テーブルの構成例を示す図である。
【図9】ポイント確認/計算部における剰余値とパケット送信先の関係を示す図である。
【図10】パケットにおけるポイント情報とポイント値の関係を示す図である。
【図11】タイプ検索テーブルとX1およびX2タイプヘッダとの関係を示す図である。
【図12】自回線番号とパケット送信の関係を示す図である。
【図13】装置間をルーティングするパケットの構成例を示す図である。
【図14】本発明の第2の実施例における、ポイント値と比較値およびパケット送信先の関係を示す図である。
【図15】本発明の第3の実施例における、スイッチの構成例を示すブロック図である。
【図16】本発明の第3の実施例における、ヘッダ処理部の構成例を示すブロック図である。
【符号の説明】
1 パケット振り分け装置
2 スイッチ
3 プロセッサ
4〜6 回線処理部
7〜9 パケット処理部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet distribution device, and more particularly to a packet distribution device that simplifies the processing of a higher-level protocol and enables distribution by a simple hardware method.
[0002]
[Prior art]
A conventional packet distribution device generally includes a switch and a packet processing unit. (For example, see Patent Document 1)
Here, the switch (SW1 in Patent Document 1) switches the input packet to a plurality of packet processing units (buffers 1 to 3 in Patent Document 1). The packet processing unit performs upper layer processing on the packet input from the switch.
[0003]
In such a conventional packet processing device, when an input packet is transmitted to a packet processing unit via a switch, a packet to be transmitted is not fixed to a specific packet processing unit, but a plurality of packet processing units The load is distributed by distributing to each other.
[Patent Document 1]
JP-A-5-227210 (5th page, FIG. 1)
[0004]
[Problems to be solved by the invention]
However, when the distribution process to the packet processing unit is implemented in the switch, the following problem occurs.
[0005]
First, when there is a possibility that a packet processed by a plurality of protocols may arrive from an external device, there is a problem that a means for discriminating the plurality of protocols must be prepared in the switch. This is because it is necessary to determine the protocol being processed for the packet to be distributed in order to search for the parameter used at the time of packet distribution from the header portion in the packet.
[0006]
Further, since the above parameter search is performed by checking the inside of the packet, there is a problem that an upper protocol (layer 3 or higher) must be implemented.
[0007]
Further, when the distribution process is performed in the switch, if there is a deviation in the distribution direction, that is, the packet processing unit to be transmitted, the load distribution process is performed in order to eliminate the deviation. There is a risk of reversal. The reason for this is that when the distribution direction is changed, the same packet flow causes transmission to a different processing unit, which causes a difference in the time sent from the processing unit depending on the load status in the processing unit. This is because order reversal may occur as a result.
[0008]
Furthermore, when distributing packets between a plurality of packet distribution devices via a network, there is a problem that a line processing unit having an extended function for network connection must be prepared in each packet distribution device.
[0009]
Accordingly, an object of the present invention is to provide a packet distribution device that solves the above-described problems.
[0010]
[Means for Solving the Problems]
In order to solve the above-described problems, in the packet distribution device of the present invention, a plurality of line processing units that are connected to different lines and that input / output the packet from the line, and input from the plurality of line processing units A parameter is created based on the header information written in the packet, the switch performs the packet distribution process using the parameter, the packet distribution device management process, and the packet in the upper layer above layer 3 And a processor that performs processing.
[0011]
By adopting such a configuration, in the packet distribution device of the present invention, it is possible to distribute packets without implementing upper layer processing of layer 3 or higher in the switch, and the processing of the switch can be simplified. In addition, parameters used at the time of distribution can be arbitrarily changed. Further, the packet flow order can be guaranteed after switching the distribution direction. Furthermore, the inter-device connection line and the mutual connection of the devices are not required during the routing between the devices.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to FIGS. First, the internal configuration of the packet distribution device of the present invention will be shown.
[0013]
FIG. 1 is a block diagram showing the overall configuration of the packet distribution device 1, which includes line processing units 4, 5, 6, a switch 2, packet processing units 7, 8, 9, and a processor 3. The packet distribution device 1 performs packet routing processing using information in the device header added to packets input to the line processing units 4 to 6.
[0014]
The line processing units 4 to 6 perform packet processing at a low layer (corresponding to layer 2). The switch 2 performs routing processing of packets to the line processing units 4 to 6, the packet processing units 7 to 9, and the processor 3. The packet processing units 7 to 9 execute packet processing in an upper layer (layer 3 or higher). The processor 3 performs management of the packet distribution device 1, upper layer packet processing in cooperation with the packet processing units 7 to 9, and the like. In FIG. 1, three line processing units and three packet processing units are connected to the switch 2, but the number is not limited to three.
[0015]
FIG. 2 shows a detailed configuration example of the switch 2. The switch 2 includes line processing unit interfaces (I / F) 10 to 12, header processing units 13 to 15, routing processing unit 17, packet processing unit side interfaces (I / F) 18 to 20, monitoring control unit 90, register 16 Consists of.
[0016]
Here, the line processing units I / F 10 to 12 are connected to the line processing units 4 to 6, the header processing units 13 to 15, and the monitoring control unit 90. The line processing units I / F 10 to 12 transmit the packets received from the line processing units 4 to 6 to the header processing units 13 to 15, and the packets received from the header processing units 13 to 15 are the line processing units 4 to 6. Has the role of interface to send to. Further, the line processing units I / F 10 to 12 have a mechanism for receiving control information from the monitoring control unit 90.
[0017]
FIG. 3 shows a configuration example of the line processing units I / F 10 to 12. Packets are transmitted from the line processing unit side to the header processing unit side via the line receiving unit 302.
[0018]
On the other hand, a packet is transmitted from the header processing unit side to the line processing unit side via the line transmission unit 301. The line transmission unit 301 includes a switching number determination unit 307, a buffer A305, a buffer B306, a buffer control unit 304, and a transmission unit 303.
[0019]
The switching number determination unit 307 checks the switching number described in the header portion of the input packet based on the information from the monitoring control unit 90, and distributes the packet to one of the buffer A305 and the buffer B306. Here, the packet configuration is, for example, as shown in FIG. 7, and information of the switching number 36 is described in the in-device header 31.
[0020]
The buffer control unit 304 monitors the contents of the switching signal from the monitoring control unit 90 and the states of the buffer A 305 and the buffer B 306. Further, the buffer control unit 304 determines the buffer in which the packet to be output is stored using the monitoring state information, and causes the transmission unit 303 to transmit the packet from the buffer.
[0021]
The transmission unit 303 outputs the packet transmitted from the buffer to the line processing unit side.
[0022]
As shown in FIG. 2, the header processing units 13 to 15 are connected to the line processing units I / F 10 to 12, the routing processing unit 17, the monitoring control unit 90, and the register 16. The header processing units 13 to 15 read out necessary information from the register 16. Here, examples of information set in the register 16 include type information 42, point information 43, distribution / fixed information 44, and the like, as shown in the type search table 41 of FIG. Each set value is prepared for each line.
[0023]
Next, the header processing units 13 to 15 perform header processing on the packets input from the line processing units I / F 10 to 12 and then transmit the packets to the routing processing unit 17. On the other hand, the packet from the routing processing unit 17 is subjected to header processing by the header processing unit, and then transmitted to the line processing unit I / F. Further, the monitoring control unit 90 receives a control signal such as a switching number.
[0024]
FIG. 4 shows a configuration example of the header processing units 13 to 15. The contents of the header processing in the header processing unit will be described with reference to FIG. In the direction from the line processing unit I / F 10-12 to the routing processing unit 17, the destination determination unit 21, the type determination unit 22, the inside / outside determination unit A23, the point confirmation / calculation unit 24, the inter-device header deletion unit 27, and the intra-device header generation / Providing unit 25 and transmission processing unit A26. Each of these units performs the following processing.
[0025]
The destination determination unit 21 checks the packet routing destination. In the type determination unit 22, information of the packet type information 35 (see FIG. 7) described in the in-device header 31 of the packet, and type information 42 of the type search table 41 (see FIG. 8) stored in the register 16. Compare and perform a search. From the search result, a row where the type information 42 having the same value as the packet type information 35 exists (for example, a row where the value of the type information is X1) is obtained.
[0026]
The inside / outside determination unit A23 determines whether the packet is in-device routing or outside-device (inter-device) routing by using the inside / outside determination information 33 in the device header 31. The packet is transmitted to the inter-device header deletion unit 27 in the case of inter-device routing, and is transmitted to the point confirmation / calculation unit 24 in the case of intra-device routing.
[0027]
The inter-device header deletion unit 27 deletes the intra-device header 71 (see FIG. 13) used in the own device, and further, from the packet type information 42 obtained by the type determination unit 22, the type header 72 (see FIG. 13). ) Is deleted and transmitted to the transmission processing unit A26.
[0028]
The point confirmation / calculation unit 24 searches for point information 43 corresponding to the type information 42 using the result obtained by the type determination unit 22. Calculation is performed using the point information 43 obtained from the search result and the mask information 45 of the point value (details of the calculation contents will be described later). The transmission destination is determined from the calculation result.
[0029]
The in-device header generation / assignment unit 25 adds the transmission destination information 34 obtained by the point confirmation / calculation unit 24 and the information of the switching number 36 from the monitoring control unit 90, and the in-device header 31 (see FIG. 7). Is added to the packet data.
[0030]
The transmission processing unit A26 transmits the packet from the intra-device header generation / assignment unit 25 and the packet from the inter-device header deletion unit 27 to the routing processing unit 17 in the order of arrival.
[0031]
On the other hand, in the direction from the routing processing unit 17 to the line processing unit I / F 10 to 12, an internal / external determination unit B 30, an inter-device header adding unit 29, and a transmission processing unit B 28 are configured.
[0032]
The inside / outside determination unit B30 determines whether the packet is in-device routing or out-of-device (inter-device) routing by using the inside / outside discrimination information 33 in the in-device header 31. The packet is transmitted to the inter-device header adding unit 29 in the case of inter-device routing, and is transmitted to the transmission processing unit B 28 in the case of intra-device routing.
[0033]
The inter-device header assigning unit 29 searches for and assigns a header to be assigned from the inter-device type value, and further assigns a necessary in-device header and transmits it to the transmission processing unit B28. Specifically, “update of in-device header for other devices (change inside / outside discrimination information to internal. Change destination information to destination information 64 corresponding to own line number 63 in FIG. 12)”. “Attaching type header (searching the table of FIG. 11 from the packet type information of the header in the device for other devices and assigning the prepared type header)” and “in-device header for own device” (The inside / outside discrimination information is changed to the outside. The destination information is fixedly set by the connected line number. The packet type information is created by copying the packet type information in the in-device header for other devices. , The addition of the in-device header 31 of FIG. 7) ”.
[0034]
The transmission processing unit B28 transmits the packet from the inside / outside determination unit B30 and the packet from the inter-device header adding unit 29 to the line processing units I / F 10 to 12 in the order of arrival.
[0035]
Further, the packet processing units I / F 18 to 20 are connected to the routing processing unit 17 and the packet processing units 7 to 9. The packet processing unit I / Fs 18 to 20 transmit the packets received from the routing processing unit 17 to the packet processing units 7 to 9 and transmit the packets received from the packet processing units 7 to 9 to the routing processing unit 17. Perform the action to be performed.
[0036]
FIG. 5 shows a configuration example of the packet processing unit I / Fs 18 to 20. In the case of processing from the packet processing units 7 to 9 toward the routing processing unit 17, the packet processing reception unit 402 performs processing. The packet processing reception unit 402 has a packet determination unit 405 as an internal configuration. The packet determination unit 405 checks the contents of the switching number 36 recorded in the in-device header 31 in the packets transmitted from the packet processing units 7 to 9, and determines whether the packet is a switching notification packet. In the case of a switching notification packet, the monitoring control unit 90 is notified of the arrival of the switching notification packet together with the switching number in the in-device header 31.
[0037]
On the other hand, a buffer 404 and a status notification unit 403 are configured in the direction from the routing processing unit 17 to the packet processing units 7 to 9. The status notification unit 403 monitors the status of the buffer 404, and notifies the monitoring control unit 90 when the storage area of the buffer 404 is filled with packet data.
[0038]
FIG. 6 shows a configuration example of the monitoring control unit 90. The monitoring control unit 90 includes a buffer state management unit 503, a switching number control unit 502, and a buffer switching unit 501.
[0039]
The buffer status management unit 503 is connected to the packet processing units I / F 18 to 20 and the switching number control unit 502. When the buffer management unit 503 detects a state in which the storage area of the buffer 404 is full based on a notification from the state notification unit 403 in the packet processing unit I / F 18 to 20, the buffer management unit 503 notifies the switching number control unit 502. Send update notifications.
[0040]
The switching number control unit 502 is connected to the buffer state management unit 503, the buffer switching unit 501, the header processing units 13 to 15, the register 16, and the line processing units I / F 10 to 12. Upon receiving the update notification from the buffer state management unit 503, the switching number control unit 502 changes the mask bit (“1”) of the mask information 45 (see FIG. 8) of the point value in the register 16 and checks Change the location. Further, the switching number 36 is updated by counting up the number value. After these processes, the switching number control unit 502 transmits a switching notification to the buffer switching unit 501, and notifies the header processing units 13 to 16 and the line processing units I / F 10 to 12 of the updated switching number 36. .
[0041]
Hereinafter, the detailed operation of the embodiment will be described.
[0042]
<Basic sorting operation>
First, the operation from the line processing units 4 to 6 toward the packet processing units 7 to 9 in the packet processing apparatus 1 of FIG. 1 will be described.
[0043]
Packets input to the line processing units 4 to 6 are subjected to layer 2 (data link layer) header processing and transmitted to the set packet processing unit via the switch 2. That is, the line processing units 4 to 6 delete the layer 2 (data link layer) header from the input packet, add the in-device header 31 shown in FIG. 7 to the packet data 32, and transmit it to the switch 2.
[0044]
Here, as information of the in-device header 31, information necessary in the device may be defined, but in the present embodiment, as minimum necessary information, the switching number 36, the inside / outside discrimination information 33, the transmission destination information 34, Packet type information 35 is defined. In the line processing units 4 to 6, the destination information initially set in the input packet is added to the transmission destination information 34, and the packet type information in the layer 2 header is copied to the packet type information 35. For example, when the input packet is an Ethernet (registered trademark) packet, the type field information of the Ethernet (registered trademark) packet header is copied to the packet type information 35. Hereinafter, as an example, the layer 2 header is described as an Ethernet (registered trademark) packet header, and the packet type is described as an IP packet.
[0045]
The packet input to the switch 2 is transmitted to the header processing units 13 to 15 via the line processing units I / F 10 to 12. For the packets input to the header processing units 13 to 15, the destination determination unit 21 first checks the transmission destination information 34 in the in-device header 31.
[0046]
As a result of the check, if it is a packet (for example, a control information packet) addressed to the processor 3, it is directly transmitted to the transmission processing unit A26 and input to the routing processing unit 17 from the header processing units 13-15. Then, the routing processing unit 17 routes to the processor 3 according to the transmission destination information 34 in the inter-device header.
[0047]
If the packet is addressed to the packet processing units 7 to 9 as a result of the check, the packet is transmitted to the type determining unit 22. The type determination unit 22 performs a search by comparing the packet type information 35 in the in-device header 31 with the type information 42 of the type search table 41 (see FIG. 8) stored in the register 16. From the search result, it is possible to obtain a row in which the type information 42 having the same value as the packet type information 35 exists in the type search table 41 (for example, a row whose value of the type information is X1).
[0048]
If the values of the packet type information 35 and the type information 42 do not match, the packet having the packet type information 35 in the in-device header 31 is discarded. Alternatively, the data is transmitted directly to the transmission processing unit A 26 without performing the discarding process, and the routing processing unit 17 performs routing to the transmission destination described in the transmission destination information 34 of the in-device header 31.
[0049]
The packet from which the type information 42 is obtained from the search result in the type determination unit 22 is transmitted to the inside / outside determination unit A23. The internal / external determination unit 23 compares the value set in advance for internal / external determination with the internal / external determination information 33 of the internal header 31 and determines whether the packet is handled internally within the apparatus based on the comparison result. It is determined whether the packet is handled outside the device. In the present embodiment, the processing content when it is determined that the packet is handled inside the device will be described in <Intra-Device Routing>, and then the processing content when it is determined that the packet is handled between devices is described as <Device Inter-routing>.
[0050]
<Intra-device routing>
First, the processing contents when the inside / outside determination unit A23 determines that the packet is handled inside the apparatus will be described in detail. The packet determined to be in the apparatus is transmitted to the point confirmation / calculation unit 24. The point confirmation / calculation unit 24 determines whether to perform the sorting process or the fixing process. Further, the point confirmation / calculation unit 24 performs point confirmation from the point information 43 (for example, Y1) corresponding to the type information 42 (for example, X1) obtained by the determination processing in the type determination unit 22 and the mask information 45 of the point value. The process of determining the transmission destination of the packet is performed by finding the part to perform and performing the calculation.
[0051]
Specifically, the point confirmation / calculation unit 24 performs the following processing. The point value 53 shown in FIG. 10 is set in the packet as an arbitrary number of bits. By masking the bit with the mask information 45 of the point value, the effective bit portion to be checked from the point value 53 It is possible to take out. For example, in the point value mask information 45, a location of “0” is valid and a location of “1” is invalid as a mask. Then, only valid points are taken out and used for calculation.
[0052]
Here, as an example of the setting point of the point value 53, the source IP address portion of the IP packet header can be considered. As shown in FIG. 10, the position of the source IP address to which the point value 53 is set is a position shifted backward from the head of the packet 51 by the point information 52 of FIG. The value of the point information 52 is the same as the point information 43 and is obtained from the type search table 41.
[0053]
Further, which part of the source IP address is to be checked is set by a mask bit (“1”) of the point value mask information 45. For example, the mask information 45 of the point value is superimposed on the portion of the point value 53 in the packet 51, the bit portion in which the mask information 45 of the point value is “1” is ignored, and is “0”. It is checked how the bit part is set with the point value 53. That is, by changing the position of the mask bit “1” of the mask information 45 of this point value, the source IP address of the packet to be distributed is changed.
[0054]
Various calculation methods in the point confirmation / calculation unit 24 are conceivable, but a simple calculation example will be described as an example. In the case of packet distribution processing, an effective value extracted from the point value 53 using the point value mask information 45 is divided using a separately set distribution value 46 (see FIG. 8). Here, if the number to be distributed is set to the distribution value 46, the number obtained by the remainder of the division result matches the number of distribution. For example, when the distribution number is 3, as shown in FIG. 8, the distribution value 46 is set to “11” in binary notation. That is, as shown in FIG. 9, a distribution value 46 is set so that a remainder 47 equal to the number of transmission destinations to be distributed is obtained, and a transmission destination 48 is set in association with the remainder 47.
[0055]
Thereby, the transmission destination 48 is determined using the remainder 47 obtained from the calculation result. Here, by specifying the line processing units 4 to 6 as the transmission destination 48, it becomes possible to perform inter-device routing from the packet processing apparatus 1 to other devices connected to the line processing units 4 to 6. Detailed operation of inter-device routing will be described later.
[0056]
In the case of fixed processing for transmitting packets to a certain other device without distributing packets, it is not necessary to check the point value 45 in the point confirmation / calculation unit 24. Therefore, the value of the remainder 47 is “0” or the like. A mechanism to specify a fixed value of can be used.
[0057]
Next, the in-device header 31 is replaced in the in-device header generation / assignment unit 25 for the packet whose transmission destination is determined by the point confirmation / calculation unit 24. The information updated at the time of replacement is the switching number 36, the determined transmission destination information 34, and the inside / outside discrimination information 33. Here, the value of the inside / outside discrimination information 33 is set to be external when the transmission destination is the direction of the line processing units 4 to 6 and inside when the destination is the direction of the packet processing units 7 to 9.
[0058]
Then, the packet with the new in-device header is transmitted to the transmission processing unit A26. The transmission processing unit 26 transmits the arrived packets to the routing processing unit 17 in order.
[0059]
In the routing unit 17, the packet is routed in the direction of the packet processing units 7 to 9 in the device according to the transmission destination information 34 in the in-device header 31. That is, packets that arrive at the packet processing units I / F 18 to 20 by routing are transmitted to the packet processing units 7 to 9.
[0060]
The packet processing units 7 to 9 perform upper layer packet processing, and return the packet to the switch 2 again after the processing is completed. The operation in the packet processing units 7 to 9 is a general matter and will not be described.
[0061]
Next, the operation from the packet processing units 7-9 to the line units 4-6 will be described.
[0062]
After being processed by the packet processing units 7 to 9, the packet returned to the switch 2 is transmitted to the routing processing unit 17 via the packet processing units I / F 18 to 20. Here, the operation of the routing unit 17 is the same as that in the reverse direction described above.
[0063]
Then, packets that arrive at the header processing units 13 to 15 from the routing processing unit 17 are transmitted to the inside / outside determination unit B30. In the inside / outside determination unit B30, the inside / outside discrimination information 33 in the in-device header 31 is checked to make a judgment. When it is determined that the packet is an in-device packet, the packet is transmitted as it is to the transmission processing unit B28.
[0064]
When it is determined that the packet is an inter-device packet, the packet is transmitted to the inter-device header adding unit 29. The operation of the inter-device header adding unit 29 will be described later in <Inter-device routing>.
[0065]
In the transmission processing unit B28, packets input from the inside / outside determination unit B30 and the inter-device header adding unit 29 are sequentially controlled and transmitted to the line processing units I / F 10 to 12.
[0066]
In the line processing units I / F 10 to 12, the switching number determination unit 307 checks the packets input from the header processing units 13 to 15. The switching number determination unit 307 compares the buffer switching number information from the monitoring control unit 90 with the switching number 36 in the in-device header 31 and transmits it to either the corresponding buffer A 305 or buffer B 306. As an example, when buffer switching number information (buffer A305-switching number 1) and (buffer B306-switching number 2) is input from the monitoring control unit 90, a packet having the corresponding switching number is transmitted to the corresponding buffer. To do.
[0067]
In addition, it is possible to update the number from the monitoring control unit in order from the oldest as an example. That is, when the above-described buffer switching number information is set, (buffer A305-switching number 3) and (buffer B506-switching number 2) at the next update time. Further, as an example, a packet (such as a packet from the processor 3) that does not correspond to the switching number is transmitted to a buffer having a new (large) updated number.
[0068]
The buffer control unit 304 selects and switches the buffer for reading packets to be transmitted to the transmission unit 303 from the buffer A 305 and the buffer B 306. This switching is executed by selecting the buffer corresponding to the new switching number when the buffer switching number information from the monitoring control unit 90 is received. However, this buffer switching processing is not performed immediately after receiving the buffer switching number information, but is switched to the corresponding buffer after detecting the completion of packet transmission from a buffer other than the corresponding buffer to the transmitting unit 303. To do. After switching the buffer, the transmission unit 303 outputs the packet transmitted from the buffer A 305 or the buffer B 306 to the line processing units 4 to 6.
[0069]
The line processing units 4 to 6 delete the in-device header 31 from the packet, add a low layer header, and then output the packet to the outside (other device) of the packet processing device 1.
[0070]
<Routing between devices>
Hereinafter, an operation when a packet is transmitted between the packet processing apparatus 1 and another packet processing apparatus will be described.
[0071]
First, an operation when inter-device routing is performed from the line processing units I / F 10 to 12 toward the routing processing unit 17 in the header processing units 13 to 15 of the switch 2 will be described. The packet transmitted from the line processing units I / F 10 to 12 passes through the destination determination unit 21 and the type determination unit 22, and is then determined as an inter-device routing packet by the inside / outside determination unit A 23, and transmitted to the inter-device header deletion unit 27. Is done. Here, as shown in FIG. 13 as an example, the packet configuration for inter-device routing is such that two types of intra-device headers 71 and 73 and a type header 72 are added to the packet data 74.
[0072]
The inter-device header deletion unit 27 deletes the intra-device header 71 and the type header 72 for intra-device routing from the inter-device routing packet of FIG. The header length deleted as the type header 72 is calculated using the type information 42 obtained by the type determination unit 22. Here, since the type information 42 represents the type of packet (IPv4 or the like), it can be determined from the type information 42 how many bytes are the header. Therefore, after searching for the type information 42, it is possible to delete only the type header by deleting the header byte length associated with the type information 42 in advance. By deleting these two headers, an intra-device header 73 for routing between other devices appears, so a packet having only that header is transmitted to the transmission processing unit A26 and output to the routing processing unit 17.
[0073]
Next, an operation when inter-device routing is performed from the routing processing unit 17 to the line processing unit I / F direction will be described. The packet determined as the inter-device routing packet in the internal / external determination unit B30 is transmitted to the inter-device header adding unit 29.
[0074]
In the inter-device header assigning unit 29, as shown in FIG. 13, the transmission destination information (not shown) in the inter-device inter-device header 73 is changed, and the type header 72 and the internal device internal header 71 are changed. Grant. Here, as shown in FIG. 12, a table including the own line number 63 and the destination information 64 is prepared in the register 16, and the destination information 64 corresponding to the own line number 63 is used for the communication between other devices. The destination information described in the in-device header 73 is changed. This table setting indicates to which processing unit in the line processing units 4 to 6 the packet is distributed when the packet is transmitted to another device.
[0075]
Further, the newly added type header 72 is obtained as follows. First, the packet type information (not shown) in the inter-device header 73 is checked, and the type search table 41 shown in FIG. 11 is searched. From the search result, the X1 type header 61 and the X2 type header 62 which are associated and prepared in the register 16 are selected.
[0076]
Further, the inter-device internal device header 71 uses transmission destination information (not shown) as the value of the connected line processing unit, and the packet type information (not shown) contains the inter-device internal device header 73. Create a copy of the packet type information value.
[0077]
The inter-device routing packet to which these various headers 71 to 73 are changed and added is transmitted to the transmission processing unit B28.
[0078]
<Automatic update of distribution information>
The automatic distribution information update mechanism will be described below. The trigger for the automatic update is the state of the buffer 404 in the packet processing unit I / F 18 to 20 in the switch 2.
[0079]
When the buffer 404 is full and overflow occurs, the status notification unit 403 detects the buffer overflow status and transmits the detection result to the buffer status management unit 503 in the monitoring control unit 90.
[0080]
Upon receiving the buffer overflow detection result, the buffer state management unit 503 updates the information (point value mask information 45) used for packet distribution processing to the switching number control unit 502 to update it. Send.
[0081]
The switching number control unit 502 that has received the update instruction signal accesses the register 16. Then, the distribution information (point value mask information 45) and the switching number are updated, and the updated switching numbers are notified to the header processing units 13 to 15 and the line processing units I / F 10 to 12.
[0082]
The line processing units I / F 10 to 12 that have received the updated switching number update the old number information in the internal switching number determination unit 307.
[0083]
Similarly, the header processing units 13 to 15 that have received the updated switching number re-read the register value from the register 16, update the switching number 36 given to the in-device header 31, and create and send a switching notification packet. I do. In the in-device header 31 of the switch notification packet, a check bit for the switch notification packet is provided in a part of the switch number 36, and it is determined whether or not it is a switch notification packet by checking the bit.
[0084]
In the switching notification packet, the transmission destination information 34 in the in-device header 31 is set to any one of the packet processing units 7-9. For example, in the configuration of the packet processing apparatus 1 in FIG. 1, the line processing units 4 to 6 and the packet processing units 7 to 8 may be set in advance so as to have a one-to-one relationship. Further, other than setting the updated switching number and the check bit for the switching notification packet to the switching number 36, it is not necessary to change the setting of the other in-device header part or the packet data 32.
[0085]
When this switching notification packet is received on the packet processing unit 7 to 9 side, it is returned to the switch 2 without performing any special processing. That is, the point to be confirmed by the switching notification packet is whether or not the old switching number information before update remains in each of the packet processing units 7 to 9. When this switching notification packet is returned from the processing unit, the packet processing units I / F 18 to 20 in the switch 2 determine that the packet is a switching notification packet. Here, the fact that the switching notification packet has been returned means that the packet processing unit that has returned the switching notification packet does not have the old switching number information before the update, and the packet is the updated switching number. Indicates that The packet determination unit 405 in the packet processing unit I / F 18 to 20 that has received the switching notification packet notifies the buffer switching unit 501 in the monitoring control unit 90 of packet reception.
[0086]
The buffer switching unit 501 that has received the notification of the switching notification packet from the packet determination unit 405 in all the packet processing units I / F 18 to 20 receives the switching instruction from the switching number control unit 502 at the same time. The buffer control unit 304 in the unit I / Fs 10 to 12 is notified of a buffer switching instruction.
[0087]
The buffer control unit 304 that has received the buffer switching notification confirms the state of the buffer that is currently transmitting the packet, and continues transmission until the buffer becomes empty. Then, after confirming that the buffer that has transmitted the packet is empty, the buffer is switched, and packet transmission is started from the newly switched buffer. As a result, it is possible to guarantee that the processing order in the flow is not reversed for packets stored in the same buffer.
[0088]
Next, another embodiment of the present invention will be described.
[0089]
As a second embodiment, as shown in FIG. 14, by providing a plurality of comparison values 81 and transmission destinations 82 associated with the mask value 45 of the point value in the register 16, the distribution is made by the plurality of comparison values 81 at the same point. Is possible.
[0090]
As a sorting operation in this case, a point (“0”) that is valid in the mask value 45 of the point value and the comparison value 81 are searched when the point is checked. Then, a destination having a matching comparison value is designated from the search result. As a result, it is possible to realize the distribution by the fixed value using the mask information 45 of the same point value. As a usage example, by using the value of the TOS (Type Of Service) field of the IP header as a plurality of comparison values, it is possible to perform sorting according to the priority set in the TOS field. According to the second embodiment, it is possible to distribute not only a random distribution method by calculation but also an arbitrary value using the mask information 45 of the same point value.
[0091]
Further, a third embodiment will be described with reference to FIGS. 15 and 16. The configuration of the switch 2 is as shown in FIG. 15, and packet processing is performed by transmitting packets from the packet processing unit I / Fs 18 to 20 to the switch 2 using the inside / outside discrimination information 33 in the in-device header 31. Inter-device routing processing between the units 7 to 9 becomes possible.
[0092]
FIG. 15 shows that the configuration of the switch 2 in the first embodiment shown in FIG. 2 includes a new header processing unit B131-151 between the routing processing unit 17 and the packet processing unit I / F18-20. It is a configuration.
[0093]
FIG. 16 shows the configuration of the header processing units A130 to A150 and the header processing units B131 to 151 in FIG. Compared with the header processing units 13 to 15 in the first embodiment shown in FIG. 4, the processing in the direction from the line processing units I / F 10 to 12 to the routing processing unit 17 is changed to the header processing units A 130 to 150, and the routing processing unit 17. To the line processing unit I / F direction are mounted in the header processing units B131 to 151.
[0094]
Here, the operations of the header processing units A130 to A150 are the same as those of the header processing units 13 to 15 in the first embodiment. However, in the case of the configuration of the third embodiment, setting at the time of packet distribution is not performed in the direction of the line processing unit I / F 10 to 12.
[0095]
Further, in the header processing units B131 to 151, the inside / outside determination unit B30 performs a determination process on a packet input from the packet processing unit I / F 18 to 20 side. When the determination result is a packet inside the apparatus, the packet is transmitted to the transmission processing unit B28 and then routed to the transmission destination in the apparatus by the routing processing unit 17. In the case of an inter-device packet outside the device, the packet is transmitted to the inter-device header adding unit 290.
[0096]
The inter-device header assignment unit 290 generates an inter-device routing packet shown in FIG. The generation method of the type header 72 is the same as that in the first embodiment, but the generation method of the inter-device inter-device header 73 and the self-device internal device header 71 are different.
[0097]
First, the inter-device inter-device header 73 does not need to be processed in particular, and the header generated by the header processing unit is used as it is. Further, in the in-device internal header 71, the point that the packet type information 35 is copied from the inter-device internal header 73 is the same, but the designation method of the transmission destination information 34 is different. That is, the line designated in the transmission destination information 34 is designated using a setting value set in advance in the register 16. According to the third embodiment, the inter-device routing is possible not only between the line processing units 4 to 6 but also between the packet processing units 7 to 9.
[0098]
【The invention's effect】
The present invention has the following effects.
[0099]
The first effect is that packet distribution can be performed without implementing processes of higher layers of layer 3 and higher in the switch 2, and the process of the switch 2 can be simplified. This is because the point information 43 set in advance in the type search table 41 is checked using the packet type information 35.
[0100]
The second effect is that the parameters used for distribution can be arbitrarily changed. This is because the position of the parameter to be checked is given by setting.
[0101]
The third effect is that the packet flow order can be guaranteed after switching the distribution direction. The reason is that switching number control and buffer management are performed using switching information by a switching notification packet.
[0102]
The fourth effect is that no inter-device connection line or device interconnection is required during device-to-device routing. This is because the packet header associated with the type information 42 of the type search table 41 is set.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of the overall configuration of a packet distribution apparatus according to the present invention.
FIG. 2 is a block diagram showing a configuration example of a switch in the packet distribution device of the present invention.
FIG. 3 is a block diagram showing a configuration example of a line processing unit I / F in the packet distribution device of the present invention.
FIG. 4 is a block diagram showing a configuration example of a header processing unit in the packet distribution device of the present invention.
FIG. 5 is a block diagram showing a configuration example of a packet processing unit I / F in the packet distribution device of the present invention.
FIG. 6 is a block diagram illustrating a configuration example of a monitoring control unit in the packet distribution device of the present invention.
FIG. 7 is a diagram illustrating a configuration example of an in-device header of a packet.
FIG. 8 is a diagram illustrating a configuration example of a type search table in a register.
FIG. 9 is a diagram illustrating a relationship between a remainder value and a packet transmission destination in a point confirmation / calculation unit.
FIG. 10 is a diagram illustrating a relationship between point information and a point value in a packet.
FIG. 11 is a diagram illustrating a relationship between a type search table and X1 and X2 type headers.
FIG. 12 is a diagram showing the relationship between the own line number and packet transmission.
FIG. 13 is a diagram illustrating a configuration example of a packet for routing between devices.
FIG. 14 is a diagram illustrating a relationship between a point value, a comparison value, and a packet transmission destination in the second exemplary embodiment of the present invention.
FIG. 15 is a block diagram showing a configuration example of a switch in the third example of the present invention.
FIG. 16 is a block diagram showing a configuration example of a header processing unit in a third example of the present invention.
[Explanation of symbols]
1 Packet distribution device
2 switch
3 processor
4-6 Line processing section
7-9 Packet processor

Claims (7)

データ転送において入出力されるパケットを振り分けるパケット振り分け装置であって、前記パケット振り分け装置は、
それぞれ異なった回線と接続され、前記回線から前記パケットを入出力する複数の回線処理部と、
前記複数の回線処理部から入力されるパケットに記されたヘッダ情報を元にしてパラメータを作成し、前記パラメータを利用して前記パケットの振り分け処理を行うスイッチと、
前記パケット振り分け装置の管理処理と、レイヤ3以上の上位レイヤでのパケット処理を行うプロセッサと、を有し、
前記スイッチは、
前記回線処理部から入力されたパケットを前記スイッチ内部へ取り込む処理と、当該スイッチ内部から入力されたパケットを当該回線処理部へ出力する処理と、当該スイッチの監視制御信号の送受信処理を行う複数の回線処理部I/Fと、
複数の前記回線ごとに、当該回線を通過するパケットのヘッダ部情報に対応する情報テーブルを保持しているレジスタと、
複数の前記回線処理部I/Fと各々接続され、前記ヘッダ部情報と前記情報テーブルに記載された情報を用いてヘッダ部情報の更新を行うヘッダ処理部と、
前記ヘッダ処理部から出力された更新ヘッダ部情報を持つパケットを受信し、前記パケット処理部側へ前記ヘッダ部情報内の送信先情報に基づいてルーティングを行う処理と、当該パケット処理部側から入力されたパケットを受信し、当該ヘッダ処理部へ当該ヘッダ部情報内の送信先情報に基づいてルーティングを行う処理とを行うルーティング処理部と、
前記ルーティング処理部から入力されたパケットを前記パケット処理部へ出力する処理と、当該パケット処理部から入力されたパケットを当該ルーティング処理部へ出力する処理と、当該スイッチの監視制御信号の送受信処理を行う複数のパケット処理部I/Fと、
前記複数の回線処理部I/F、前記複数のヘッダ処理部、前記複数のパケット処理部I/F、前記レジスタとの間で、当該スイッチの監視制御信号の送受信処理を行う監視制御部と、を有し、
前記ヘッダ処理部において、前記ヘッダ部情報内のパケットタイプ情報と、前記レジスタ内に保存されているタイプ管理テーブルのタイプ情報を比較し、その比較結果の一致/不一致により、前記パケット処理装置内部で扱われる装置内パケットであるか、あるいは前記パケット処理装置と他のパケット処理装置との間で扱われる装置間パケットであるかを判定することを特徴とするパケット振り分け装置。
A packet distribution device that distributes packets that are input and output in data transfer, wherein the packet distribution device includes:
A plurality of line processing units, each connected to a different line, for inputting and outputting the packet from the line;
A switch that creates a parameter based on header information written in a packet input from the plurality of line processing units, and performs a packet distribution process using the parameter;
A management process of the packet distribution device, and a processor that performs packet processing in an upper layer of layer 3 or higher ,
The switch is
A plurality of processes for capturing a packet input from the line processing unit into the switch, a process for outputting a packet input from the switch to the line processing unit, and a transmission / reception process of the monitoring control signal of the switch Line processing unit I / F,
For each of the plurality of lines, a register holding an information table corresponding to header part information of a packet passing through the line;
A header processing unit that is connected to each of the plurality of line processing unit I / Fs and updates the header unit information using the header unit information and the information described in the information table;
A process of receiving a packet having updated header part information output from the header processing unit and performing routing based on transmission destination information in the header part information to the packet processing unit side, and input from the packet processing unit side A routing processing unit that receives the received packet and performs processing for routing to the header processing unit based on transmission destination information in the header part information;
Processing to output a packet input from the routing processing unit to the packet processing unit, processing to output a packet input from the packet processing unit to the routing processing unit, and transmission / reception processing of the monitoring control signal of the switch A plurality of packet processing I / Fs to perform;
A monitoring control unit that performs transmission / reception processing of a monitoring control signal of the switch between the plurality of line processing units I / F, the plurality of header processing units, the plurality of packet processing units I / F, and the register; Have
In the header processing unit, the packet type information in the header part information is compared with the type information in the type management table stored in the register. A packet distribution device for determining whether the packet is an intra-device packet to be handled or an inter-device packet handled between the packet processing device and another packet processing device.
前記回線処理部I/Fは、内部に複数のバッファと、そのバッファの切り替えを前記監視制御部からの監視制御信号により制御するバッファ制御部とを備え、当該バッファ制御部は、当該複数のバッファの内で、現在パケットを送信している送信中バッファの状態を確認し、前記送信中バッファが空になるまで送信を継続させ、当該送信中バッファが空になったのを確認した後、当該送信中バッファ以外の次送信バッファへ切り替えを行い、新たに切り替えられた前記次送信バッファからパケット送信を開始させることを特徴とする請求項記載のパケット振り分け装置。The line processing unit I / F includes a plurality of buffers therein and a buffer control unit that controls switching of the buffers by a monitoring control signal from the monitoring control unit, and the buffer control unit includes the plurality of buffers. Of the transmission buffer that is currently transmitting the packet, continues transmission until the transmission buffer becomes empty, confirms that the transmission buffer is empty, and switches to the next transmission buffer other than in the transmission buffer, the packet sorting device according to claim 1, characterized in that to start the packet transmission from the newly switched the next transmission buffer. 前記レジスタ内の前記情報テーブルに、パケットの前記ヘッダ情報に関連付けた複数の比較値と、前記複数の比較値に対応した複数のパケット送信先情報を用意し、前記ヘッダ処理部において、当該ヘッダ情報を用いて当該複数の比較値の内の一つの比較値を検索し、値が一致した比較値に対応した送信先に、当該パケットを送信することを特徴とする請求項記載のパケット振り分け装置。A plurality of comparison values associated with the header information of a packet and a plurality of packet destination information corresponding to the plurality of comparison values are prepared in the information table in the register, and the header processing unit Search for a comparison value of the plurality of comparison values using, the destination corresponding to the comparison value the values match, the packet sorting apparatus according to claim 1, wherein the transmitting the packet . 前記比較値として、IPパケットのヘッダにおける情報であるTOS(Type Of Service)フィールドの値を使用することを特徴とする請求項記載のパケット振り分け装置。4. The packet distribution device according to claim 3 , wherein a value of a TOS (Type Of Service) field, which is information in an IP packet header, is used as the comparison value. 前記スイッチにおいて、前記複数のヘッダ処理部を複数の前段パケット処理部に置き換え、前記ルーティング処理部と前記複数のパケット処理部I/Fとの間に、新たに複数の後段ヘッダ処理部を備えることを特徴とする請求項記載のパケット振り分け装置。In the switch, the plurality of header processing units are replaced with a plurality of preceding packet processing units, and a plurality of subsequent header processing units are newly provided between the routing processing unit and the plurality of packet processing units I / F. The packet distribution device according to claim 1 . 前記前段パケット処理部は、前記パケット処理部における処理の内、前記回線処理部I/Fから前記ルーティング処理部方向へ送信されるパケットに対する処理のみを行うことを特徴とする請求項記載のパケット振り分け装置。6. The packet according to claim 5, wherein the pre-stage packet processing unit only performs processing on a packet transmitted from the line processing unit I / F toward the routing processing unit in the processing in the packet processing unit. Sorting device. 前記後段パケット処理部は、前記パケット処理部における処理の内、前記パケット処理部I/Fから前記ルーティング処理部方向へ送信されるパケットに対する処理のみを行うことを特徴とする請求項記載のパケット振り分け装置。6. The packet according to claim 5 , wherein the subsequent packet processing unit performs only processing on a packet transmitted from the packet processing unit I / F toward the routing processing unit among processing in the packet processing unit. Sorting device.
JP2002284187A 2002-09-27 2002-09-27 Packet distribution device Expired - Fee Related JP4019884B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002284187A JP4019884B2 (en) 2002-09-27 2002-09-27 Packet distribution device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002284187A JP4019884B2 (en) 2002-09-27 2002-09-27 Packet distribution device

Publications (2)

Publication Number Publication Date
JP2004120636A JP2004120636A (en) 2004-04-15
JP4019884B2 true JP4019884B2 (en) 2007-12-12

Family

ID=32277828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002284187A Expired - Fee Related JP4019884B2 (en) 2002-09-27 2002-09-27 Packet distribution device

Country Status (1)

Country Link
JP (1) JP4019884B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4815284B2 (en) * 2006-07-06 2011-11-16 アラクサラネットワークス株式会社 Packet transfer device
JP4884402B2 (en) * 2008-01-10 2012-02-29 アラクサラネットワークス株式会社 Relay device and control method thereof
JP5028431B2 (en) * 2009-01-07 2012-09-19 株式会社日立製作所 Network relay device and packet distribution method
JP5325731B2 (en) * 2009-09-30 2013-10-23 株式会社日立製作所 Network relay device
JP6916529B2 (en) * 2018-06-29 2021-08-11 サイレックス・テクノロジー株式会社 Device server and device server control method

Also Published As

Publication number Publication date
JP2004120636A (en) 2004-04-15

Similar Documents

Publication Publication Date Title
US7075889B2 (en) Packet protection technique
CN102714629B (en) Communication system, forward node, route managing server and communication means
US7640364B2 (en) Port aggregation for network connections that are offloaded to network interface devices
US6256306B1 (en) Atomic network switch with integrated circuit switch nodes
US7961728B2 (en) Virtual switching using a provisional identifier to conceal a user identifier
US8767747B2 (en) Method for transferring data packets in a communication network and switching device
KR100279812B1 (en) Apparatus and method for smoothly transitioning from first packet router to second packet router
EP1411678A1 (en) Method and system for content-oriented routing of packets in a storage-embedded network
JPH0630004A (en) Method for destruction of inessential data packet from communication network
KR100863863B1 (en) Packet transfering nodes
US6721335B1 (en) Segment-controlled process in a link switch connected between nodes in a multiple node network for maintaining burst characteristics of segments of messages
JP3449541B2 (en) Data packet transfer network and data packet transfer method
US6611874B1 (en) Method for improving routing distribution within an internet and system for implementing said method
US20220052950A1 (en) Service Function Chaining Congestion Tracking
JP3214454B2 (en) Packet processing device with built-in program
US11929913B2 (en) Method for creating data transmission entry and related device
JP4019884B2 (en) Packet distribution device
US6064654A (en) Internet facsimile timing technique
JP4040045B2 (en) Data transfer device
JP3591492B2 (en) Packet distribution device and packet distribution program
JP3517114B2 (en) Node device, loop detection method, and packet transmission method
JP2004088658A (en) Packet transfer apparatus and packet processing method
JP2011035516A (en) Ip packet transfer device, ip packet transfer method, and ip packet transfer program
WO2023078031A1 (en) Message sending method and apparatus
JP2002344463A (en) Two-way ring network, node device and control method of the two-way ring network

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050308

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050822

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070917

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees