JP2003143208A - データ中継方法およびデータ中継装置 - Google Patents

データ中継方法およびデータ中継装置

Info

Publication number
JP2003143208A
JP2003143208A JP2001340856A JP2001340856A JP2003143208A JP 2003143208 A JP2003143208 A JP 2003143208A JP 2001340856 A JP2001340856 A JP 2001340856A JP 2001340856 A JP2001340856 A JP 2001340856A JP 2003143208 A JP2003143208 A JP 2003143208A
Authority
JP
Japan
Prior art keywords
header
packet
data
layer
data packet
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.)
Pending
Application number
JP2001340856A
Other languages
English (en)
Inventor
Kenichiro Murata
健一郎 村田
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.)
Furukawa Electric Co Ltd
Original Assignee
Furukawa Electric Co Ltd
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 Furukawa Electric Co Ltd filed Critical Furukawa Electric Co Ltd
Priority to JP2001340856A priority Critical patent/JP2003143208A/ja
Publication of JP2003143208A publication Critical patent/JP2003143208A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 大容量のメモリを必要とすることなく、中継
処理の高速化を図る。 【解決手段】 L3/L4ヘッダ解析部12は、レイヤ
4ヘッダの内容に基づいて、L3/L4経路テーブル1
3を検索して自装置の出力ポートを決定し、そのレイヤ
3ヘッダの内容と出力先をキャッシュメモリ14に記憶
し、受信データパケットとともに、バッファメモリ15
内にそのレイヤ3ヘッダが付加されたデータパケットが
存在する場合には、このデータパケットを転送し、また
レイヤ4ヘッダがない場合には、受信データパケットを
バッファメモリ15に記憶し、レイヤ3ヘッダの内容が
キャッシュメモリ14の内容と一致する時に、記憶され
た出力ポートに受信データパケットを転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、入力されるデー
タパケットの送信先を決定して中継するデータ中継方法
およびデータ中継装置に関するものである。
【0002】
【従来の技術】従来のデータ中継方法において、入力し
たデータの中継方向を決定するには、例えばレイヤ2の
宛先に基づいて決定する場合、ブリッジの機能を用い、
IEEE802.3で規定されたローカルエリアネット
ワーク(以下、「LAN」という)であればMACアド
レスを学習、解析することで決定していた。また、レイ
ヤ3の宛先に基づいて決定する場合には、ルータの機能
を用い、IPであればIPアドレスを解析することによ
り中継方向を決定し、レイヤ4の宛先に基づいて決定す
る場合にも、ルータの機能を用い、TCPやUDPであ
ればサービスのポート番号を解析することにより中継方
向を決定していた。
【0003】このようなデータ中継では、中継方向を決
定するためのデータの宛先や種類をソフトウェアで解析
処理するものがあったが、この処理では、例えばDRA
Mに格納されているプログラムデータを一旦CPUが読
み出し、ハードウェアから入力した情報に基づいてデー
タ処理を行うので、このDRAMからのプログラムデー
タの読み出しやデータ処理に時間がかかり、データの中
継処理が迅速に行われなかった。
【0004】そこで、この中継処理の高速化を図るため
に、ソフトウェアでの解析処理を、専用のハードウェ
ア、いわゆるスイッチング機構を用いた解析処理に置き
換えて行うものがあった。なお、このようなスイッチン
グを行うデバイスには、例えばインターネットの技術で
は、レイヤ3スイッチやレイヤ4スイッチと呼ばれるも
のがある。
【0005】しかしながら、ハードウェアによる解析処
理を行う上記従来例においては、例えばレイヤ3でのフ
ラグメントが発生した場合、レイヤ4スイッチングで
は、レイヤ4のヘッダを解析する必要があるにもかかわ
らず、フラグメントされた2つ目以降のパケットには、
レイヤ4のヘッダが存在しないので、出力先が特定され
ずスイッチングができないという問題点があった。
【0006】すなわち、図5の各階層のパケット構成に
示すように、ネットワーク通信では、各階層ごとに通信
形態が分かれており、それぞれのレイヤは、1回に伝達
できるデータ長の最大値が決まっている。このデータ長
の最大値(MTU)は、例えばレイヤ2のプロトコルで
あるLANでは、ヘッダが14バイト、データ1500
バイトおよびFCS4バイトの合計1518バイトであ
り、レイヤ3のプロトコルであるIP(インターネット
・プロトコル)では、IPヘッダ20バイト以上を含む
65535バイトであり、レイヤ4のプロトコルである
TCP(トランスミッション・コントロール・プロトコ
ル)では、TCPヘッダ20バイト以上を含む数ギガバ
イト程度である。
【0007】この各階層のMTUが決まっている状態
で、上位層のデータ長は、必然的に下位層のデータ長の
制約を受けることとなる。つまり、IPのデータは、L
ANのパケット内にカプセル化されるので、IPのMT
UはLANのMTUの制約を受けることとなる。また、
TCPのMTUも同様の理由で、LANのMTUの制約
を受けることとなる。
【0008】例えば伝達したいIPのデータ長が400
0バイトであっても、下位層であるレイヤ2のLANの
MTUが1500バイトであるので、1回でIPのデー
タを伝送することはできない。このため、IPのデータ
は、レイヤ3においてフラグメントの処理がなされ、予
めマックスが1500バイトずつの3つのデータに分割
される。この分割では、データ部の先頭にヘッダがそれ
ぞれ付加されることとなる。
【0009】この際に、例えば3980バイトのTCP
のデータも3分割されるが、ここではレイヤ3レベルで
のフラグメントなので、TCPのデータは先頭から単純
に分割されることとなる。このため、フラグメントされ
た最初のパケットにはレイヤ4のヘッダが存在すること
となるが、2つ目以降のパケットには、レイヤ4のヘッ
ダが存在しなくなってしまう。
【0010】従って、レイヤ4スイッチングでは、レイ
ヤ4のヘッダを解析する必要があるにもかかわらず、フ
ラグメントされた2つ目以降のパケットには、レイヤ4
のヘッダが存在しないので、解析が困難となって出力先
が特定されずスイッチングができなくなっていた。
【0011】この第1の解決方法としては、フラグメン
トされた先頭のパケットから終端のパケットまでのデー
タを、中継装置内に設けたバッファメモリに一旦格納
し、パケットを再構築した後に、特定された出力先に出
力していた。
【0012】また、この他の第2の解決方法としては、
フラグメントされた2つ目以降のパケットには、先頭の
パケットの続きを示す識別子ID、例えばレイヤ3がI
Pであれば、フラグメントビットおよびIP識別子が、
レイヤ3のヘッダ内に格納されているので、入力される
パケットに対して、この識別子IDを認識することで、
このフラグメントされた2つ目以降のパケットを先頭の
パケットと同一の方向に中継していた。
【0013】
【発明が解決しようとする課題】しかしながら、この第
1の解決方法では、フラグメントされたデータの先頭か
ら終端まで、データが全て完結するまで上記データを中
継装置内にバッファリングしておかなければならず、中
継処理の高速化の妨げになっていた。さらに、この解決
方法では、大量のデータを保持しておくために大容量、
高価格のDRAMなどのバッファメモリが必要となると
いう問題点もあった。
【0014】また、この第2の解決方法では、例えばフ
ラグメントされたデータのうち、先頭のパケットよりも
先に2つ目以降のパケットが到着した場合には、対応が
とれないという問題点があった。これを解決するために
は、第1の解決方法と同様に、このパケットのデータを
バッファメモリにバッファリングするなどの対策が必要
となり、第1の解決方法と同様の問題点が生じる。
【0015】この発明は、上記問題点に鑑みなされたも
ので、メモリの小容量化を図るとともに、中継処理の高
速化を図ることができるデータ中継方法およびデータ中
継装置を提供することを目的とする。
【0016】
【課題を解決するための手段】上記目的を達成するた
め、この発明では、各階層のヘッダを有して伝送される
データパケットを、前記ヘッダの内容と経路情報に基づ
いて送信先を決定して中継するデータ中継方法におい
て、受信した前記データパケットの上位層ヘッダを抽出
して該ヘッダの内容を解析して出力ポートを決定し、か
つその下位層ヘッダの内容および出力ポートを第1の記
憶手段に記憶させ、また前記受信したデータパケットに
上位層ヘッダが付加されていない場合には、その下位層
ヘッダの内容を前記第1の記憶手段に記憶させ、かつ前
記データパケットを第2の記憶手段に一時記憶させる解
析工程と、前記受信したデータパケットに上位層ヘッダ
が付加されている場合には、前記第1の記憶手段に記憶
されているその下位層ヘッダの内容を検索する検索工程
と、前記検索工程にて下位層ヘッダの内容が検索された
場合には、該下位層ヘッダが付加されたデータパケット
を前記第2の記憶手段から抽出し、前記上位層ヘッダが
付加されたデータパケットとともに、前記決定された出
力ポートに転送し、また前記下位層ヘッダの内容が検索
されない場合には、前記上位層ヘッダが付加されたデー
タパケットを前記決定された出力ポートに転送する転送
工程を含むデータ中継方法が提供される。
【0017】この発明によれば、上位層ヘッダの内容を
解析して出力ポートを決定する解析機能を含み、受信し
たデータパケットに上位層ヘッダが付加されている場合
には、この解析機能によって出力ポートを決定するとと
もに、第2の記憶手段にこの上位層ヘッダの下位層ヘッ
ダが付加されたデータパケットが記憶されている場合に
は、上位層パケットが付加されたデータパケットととも
にこの記憶されているデータパケットも、決定した出力
ポートに転送し、またこの上位層ヘッダが付加されてい
ない場合には、下位層ヘッダの内容が第1の記憶手段の
内容と一致し、かつ出力ポートの情報が記憶されている
ときに、その記憶された出力ポートにデータパケットを
転送することで、パケットの再構築を不要としてメモリ
の小容量化を図り、かつ中継処理の高速化を図ることを
可能とする。
【0018】この発明の請求項2においては、上記発明
において、データパケットは、オリジナルデータのデー
タパケットから分割されたフラグメントパケットからな
り、前記データ中継方法は、該分割されたフラグメント
パケットのうちのあるフラグメントパケットが最初に受
信された時から一定時間計時し、該計時の満了前に全て
の前記フラグメントパケットが転送された場合、または
計時が満了した場合、前記第1および第2の記憶手段に
記憶されている当該データパケットの記憶内容を消去す
る消去工程をさらに含むことを特徴とする。
【0019】この発明によれば、一定時間内にオリジナ
ルデータのパケットから分割された全てのフラグメント
パケットが転送された場合、または一定時間内に全ての
フラグメントパケットが転送できなかった場合には、第
1および第2の記憶手段に記憶されている当該データパ
ケットの記憶内容を消去することで、メモリの小容量化
を図り、かつデータ転送の遅延を防ぎ、中継処理の高速
化を図る。
【0020】この発明の請求項3では、上記発明におい
て、前記転送工程では、前記受信したデータパケットに
上位層ヘッダがなく、前記検索工程にて前記第1の記憶
手段に該当する下位層ヘッダの内容および出力ポートの
情報が検索された場合には、前記受信したデータパケッ
トを当該出力ポートに転送することを特徴とする。
【0021】この発明によれば、上位層ヘッダがない分
割されたフラグメントパケットであっても、第1の記憶
手段に下位層ヘッダの内容と出力ポートの情報が記憶さ
れている場合には、そのパケットを当該出力ポートに転
送することで、データ転送の遅延を防ぐ。
【0022】この発明の請求項4では、上記発明におい
て、前記上位層ヘッダは、前記階層がレイヤ4のヘッダ
であり、前記下位層ヘッダは、前記階層がレイヤ3のヘ
ッダであり、前記解析工程では、前記レイヤ3のヘッダ
の内容として、前記パケットの識別情報を少なくとも前
記第1の記憶手段に記憶させるとともに、前記レイヤ3
のヘッダが付加されたデータパケットが記憶された前記
第2の記憶手段の記憶領域の情報を、前記第1の記憶手
段に記憶させることを特徴とする。
【0023】この発明によれば、分割されたフラグメン
トパケットであることを示すパケットの識別情報と、こ
の分割された他のフラグメントパケットが記憶されてい
る第2の記憶手段の記憶領域情報を第1の記憶手段に記
憶させることで、フラグメントパケットを関連付け、レ
イヤ4のヘッダが付加されたフラグメントパケットが受
信された時に、これらフラグメントパケットをともに転
送することができるようにし、データ中継の高速化を図
る。
【0024】この発明の請求項5では、上記発明におい
て、前記解析工程では、前記レイヤ3のヘッダ内の内容
として、前記受信したパケットのデータが、オリジナル
データのどこに位置していたかを示す位置情報を前記第
1の記憶手段に記憶させることを特徴とする。
【0025】この発明によれば、フラグメントパケット
の位置情報を第1の記憶手段に記憶させることで、受信
済のフラグメントパケットを順番に記憶させて、全ての
フラグメントパケットの受信認識を可能にする。
【0026】この発明の請求項6では、上記発明におい
て、前記解析工程では、前記レイヤ3のヘッダ内の内容
として、最後のフラグメントパケットを示すパケット情
報を前記第1の記憶手段に記憶させることを特徴とす
る。
【0027】この発明によれば、受信済のフラグメント
パケットの順番とともに、最後のフラグメントパケット
である旨を示すパケット情報を第1の記憶手段に記憶さ
せることで、さらに全てのフラグメントパケットの受信
認識を容易にする。
【0028】この発明の請求項7では、上記発明におい
て、前記レイヤ3のヘッダは、IPヘッダからなり、前
記位置情報は、該IPヘッダ内のフラグメントオフセッ
トからなり、前記パケット情報は、該IPヘッダ内のフ
ラグからなることを特徴とする。
【0029】この発明によれば、レイヤ3にIPを用い
る場合には、位置情報とパケット情報を、このIPで規
定されているフラグメントオフセットとフラグとするこ
とで、全てのフラグメントパケットの受信認識を容易に
する。
【0030】この発明の請求項8では、経路情報を記憶
する経路情報記憶手段を有し、各階層のヘッダを有して
伝送されるデータパケットに対し、前記ヘッダの内容と
前記経路情報から送信先を決定して前記データを中継す
るデータ中継装置において、受信した前記データパケッ
トの上位層ヘッダを抽出して該ヘッダの内容を解析する
解析手段と、前記データパケットの下位層ヘッダの内容
と前記解析結果の情報を記憶する第1の記憶手段と、前
記上位層ヘッダが付加されてない場合の受信データパケ
ットを記憶する第2の記憶手段と、前記受信したデータ
パケットの下位層ヘッダの内容から前記第1の記憶手段
に記憶された内容を検索する検索手段と、前記第1の検
索手段で検索された内容に基づいて、前記第2の記憶手
段から前記下位層ヘッダが付加されたデータパケットを
抽出する抽出手段と、前記受信したデータパケットに上
位層ヘッダが付加されている場合には、前記解析内容に
従い該上位層ヘッダが付加されたデータパケットととも
に、前記抽出された下位層ヘッダが付加されたデータパ
ケットが存在する場合には、当該データパケットを転送
する転送手段とを備えたデータ中継装置が提供される。
【0031】この発明によれば、受信したデータパケッ
トの上位層ヘッダの内容を解析し、その下位層ヘッダの
内容とこの解析結果を第1の記憶手段に記憶するととも
に、この解析内容に従い上位層ヘッダが付加されたデー
タパケットと、前記第2の記憶手段に記憶されたその下
位層ヘッダが付加されたデータパケットが存在する場合
には、このデータパケットも転送手段によって転送し、
また上位層ヘッダが付加されていない場合には、受信デ
ータパケットを第2の記憶手段に記憶するとともに、下
位層ヘッダの内容が第1の記憶手段の内容と一致すると
きに、その記憶された出力ポートにデータパケットを転
送することで、パケットの再構築を不要としてメモリの
小容量化を図り、かつ中継処理の高速化を図ることを可
能とする。
【0032】この発明の請求項9では、上記発明におい
て、前記データパケットは、オリジナルデータのパケッ
トから分割されたフラグメントパケットからなり、前記
データ中継装置は、該分割されたフラグメントパケット
のうちのあるフラグメントパケットが最初に受信された
時から一定時間を計時する計時手段と、該計時手段の計
時が満了する前に全ての前記フラグメントパケットが転
送された場合、または該計時手段の計時が満了した場
合、前記第1および第2の記憶手段に記憶されている当
該データパケットの記憶内容を消去する消去手段とをさ
らに備えたことを特徴とする。
【0033】この発明によれば、計時手段で計時される
一定時間内にオリジナルデータのパケットから分割され
た全てのフラグメントパケットが転送された場合、また
はこの計時による一定時間内に全てのフラグメントパケ
ットが転送できなかった場合には、第1および第2の記
憶手段に記憶されている当該データパケットの記憶内容
を消去手段によって消去することで、メモリの小容量化
を図り、かつデータ転送の遅延を防ぎ、中継処理の高速
化を図る。
【0034】この発明の請求項10では、上記発明にお
いて、前記転送手段は、前記受信されたデータパケット
に前記上位層ヘッダがなく、かつ前記検索手段によって
前記下位層ヘッダの内容と前記解析結果の情報が前記第
1の記憶手段から検索された場合には、前記解析内容に
従い前記データパケットを転送することを特徴とする。
【0035】この発明によれば、受信されたフラグメン
トパケットに上位層ヘッダがなくても、その下位層ヘッ
ダの内容と解析結果の情報が第1の記憶手段に記憶され
ていれば、そのパケットを解析内容に従い転送すること
で、データ転送の遅延を防ぎ、中継処理の高速化を図
る。
【0036】この発明の請求項11では、上記発明にお
いて、前記上位層のヘッダは、前記階層がレイヤ4のヘ
ッダであり、前記下位層ヘッダは、前記階層がレイヤ3
のヘッダであり、前記解析結果の情報には、自装置の出
力ポートの情報を含み、前記第1の記憶手段は、少なく
とも前記パケットの識別情報を前記レイヤ3のヘッダの
内容として記憶するとともに、前記レイヤ3のヘッダが
付加されたデータパケットが記憶された前記第2の記憶
手段の記憶領域の情報を記憶することを特徴とする。
【0037】この発明によれば、第1の記憶手段に記憶
されたパケットの識別情報と、第2の記憶手段に記憶さ
れたフラグメントパケットとを有し、レイヤ4のヘッダ
が付加されたフラグメントパケットが受信されると、同
じ識別情報のフラグメントパケットを第2の記憶手段か
ら読み出して、受信したパケットとともに転送できるよ
うにすることで、データ中継の高速化を図る。
【0038】この発明の請求項12では、上記発明にお
いて、前記第1の記憶手段は、前記受信したパケットの
データが、オリジナルデータのどこに位置していたかを
示す位置情報を、前記レイヤ3のヘッダの内容として記
憶することを特徴とする。
【0039】この発明によれば、受信済みのフラグメン
トパケットの位置情報を順次第1の記憶手段に記憶させ
ることで、全てのフラグメントパケットが受信されたか
どうか認識可能にする。
【0040】この発明の請求項13では、上記発明にお
いて、前記第1の記憶手段は、前記フラグメントパケッ
トのうちの最後のフラグメントパケットを示すパケット
情報を、前記レイヤ3のヘッダの内容として記憶するこ
とを特徴とする。
【0041】この発明によれば、位置情報とともに、パ
ケット情報を第1の記憶手段に記憶させることで、フラ
グメントパケットの順番と最後のパケットを認識できる
ようにすることで、さらに全てのフラグメントパケット
の受信認識を容易にする。
【0042】この発明の請求項14では、上記発明にお
いて、前記記憶手段は、キャッシュメモリからなり、前
記第2の記憶手段は、バッファメモリからなることを特
徴とする。
【0043】この発明によれば、レイヤ3のヘッダ内の
内容の記憶用にキャッシュメモリを用い、フラグメント
パケットの記憶用にバッファメモリを用いることで、メ
モリの小容量化および低コスト化が可能となる。
【0044】
【発明の実施の形態】以下に添付図面を参照して、この
発明にかかるデータ中継方法およびその装置の好適な実
施の形態を説明する。
【0045】(実施例1)この発明にかかるデータ中継
装置は、隣接するネットワーク間に接続され、データパ
ケットの転送を行っており、フラグメントされてレイヤ
4のヘッダが付加されていないパケットは一時記憶して
おき、同じ識別情報のレイヤ4のヘッダが付加されてい
るフラグメントパケットとともに、レイヤ4のヘッダが
付加されていないフラグメントパケットを出力ポートに
転送することを可能にしている。
【0046】すなわち、データ中継装置は、図1に示す
ように、WANやLANなどのネットワークから入力さ
れるパケットを取り込むパケット入力部11と、取り込
まれたパケットのヘッダの内容を解析するL3/L4ヘ
ッダ解析部12と、レイヤ3およびレイヤ4の経路情報
を格納するL3/L4経路テーブル13と、L3/L4
ヘッダ解析部12で解析された中継結果を記憶するキャ
ッシュメモリからなるフラグメントデータベース14
と、L4ヘッダのないフラグメントパケットを各記憶領
域に記憶させるパケットメモリ15と、複数のネットワ
ークとそれぞれ接続されてパケットを出力する各パケッ
ト出力部16〜18とから構成されている。
【0047】L3/L4ヘッダ解析部12は、この発明
の解析手段、検索手段、抽出手段および転送手段を構成
している。L3/L4ヘッダ解析部12は、入力するデ
ータパケットに付加されたレイヤ3のヘッダとレイヤ4
のヘッダの内容を解析するとともに、解析結果に基づい
て受信したパケットを転送する機構を有している。すな
わち、L3/L4ヘッダ解析部12は、レイヤ4のヘッ
ダに対しては、宛先アドレスのデータなどに基づいてL
3/L4経路テーブル13を検索して経路情報を得て最
短経路を求め、次の中継装置が接続される自装置の出力
ポートを認識して、その出力ポートにデータパケットが
出力されるように転送機構を動作させている。なお、こ
の転送機構は、従来技術で示した既存のものと同様の構
成であるので、ここでは説明を省略する。
【0048】このL3/L4ヘッダ解析部12は、入力
するデータパケットに付加されたレイヤ3のヘッダに対
しては、パケットの識別子の情報を抽出して、このレイ
ヤ3の識別子と、上記の解析によって得られた出力先の
ポートの情報などをフラグメントデータベース14に書
き込んでいる。
【0049】すなわち、図5に示したレイヤ3のプロト
コルが例えばIPの場合には、IPヘッダは、図2に示
すように、IPヘッダのバージョン番号を示すバージョ
ン(VER)、IPヘッダの長さを示すヘッダ長(IH
I)、IPのサービス品質を示すサービスタイプ(TO
S)、パケット全体の長さを示すパケット長(TL)、
分割されたパケットを識別するための識別子(ID)、
パケットの分割に関する制御を示すフラグ(FL)、分
割されたフラグメントがオリジナルデータのどこに位置
していたかを示すフラグメントオフセット(FO)、生
存時間(TTL)、上位層のプロトコルを示すプロトコ
ル(PROT)、IPヘッダのチェックサムを示すヘッ
ダチェックサム(HC)、送信元のIPアドレスを示す
送信元IPアドレス(SA)、あて先のIPアドレスを
示すあて先IPアドレス(DA)、オプションフィール
ドを示すオプション(OPTION)、パディング(P
AD)とから構成されている。
【0050】この発明では、このIPヘッダの中の識別
子(IP識別子)とフラグとフラグオフセットをIPヘ
ッドの内容として用いている。図3は、図1に示したフ
ラグメントデータベース14のテーブル構成を示すテー
ブル構成図である。図において、フラグメントデータベ
ース14は、この発明の第1の記憶手段を構成し、例え
ばキャッシュメモリからなっている。このフラグメント
データベース14は、オリジナルデータを分割したフラ
グメントパケットを同一グループのパケットとして示す
IP識別子と、フラグメントオフセットからなる受信済
データと、最後のフラグメントパケットが受信されたこ
とを示すフラグと、このIP識別子で示されるフラグメ
ントパケットのグループがパケットメモリのどの記憶領
域に記憶されているかを示すパケットメモリと、解析さ
れた出力ポートの情報を示す出力先のエントリから構成
されている。
【0051】例えば、図3において、IP識別子“20
00”の受信されたデータパケットの場合を説明する
と、このIP識別子“2000”で識別されるデータパ
ケットは、現在受信済データとしては、“500〜10
00”と“1500〜2000”のデータパケットがあ
り、フラグには最後のフラグメントパケットが受信され
ていることを示す“20”が登録されているので、“1
500〜2000”のデータパケットが最後のフラグメ
ントパケットであることが認識できる。そして、このグ
ループのデータパケットは、パケットメモリ15の記憶
領域に格納されていることが認識できる。なお、ここ
では、出力先として、出力ポート3が記載されている
が、現時点の状態では、先頭のレイヤ4のヘッダが受信
されていないので、実際にはこの出力先の情報は格納さ
れていない。
【0052】これらのことから、このIP識別子“20
00”のデータは、データ長が2000バイトで、現在
先頭のパケットである“0〜500”と中間のパケット
である“1000〜1500”が受信されてないことが
認識できるので、出力ポート3へは転送できない状態で
あることがわかる。
【0053】なお、このL3/L4ヘッダ解析部12に
よる書き込みにおいて、既にフラグメントデータベース
14内に書き込まれている識別子に対応した受信済デー
タに対しては、パケット入力のたび毎にデータの更新が
行われる。
【0054】そして、このL3/L4ヘッダ解析部12
は、入力するデータパケットにレイヤ4のヘッダが付加
されている場合、宛先アドレスのデータなどに基づいて
L3/L4経路テーブル13を参照して最短経路の経路
情報を得て、次の中継装置が接続される自装置の出力ポ
ートを認識して、その出力ポートをフラグメントデータ
ベース14に格納するとともに、この先頭のデータパケ
ットとともに、パケットメモリ15に格納されている受
信済のデータパケットを解析した出力ポートへ出力す
る。
【0055】このように、L3/L4ヘッダ解析部12
から所定の出力ポートに出力されたデータパケットは、
その出力ポートに接続されたパケット出力部16〜18
によって特定のネットワークに送出されることとなる。
【0056】パケットメモリ15は、この発明の第2の
記憶手段を構成しており、図1に示すように、L3/L
4ヘッダ解析部12で抽出されたレイヤ3のヘッダが付
加されたデータパケットを識別子で識別されるグループ
ごとに、分割された各記憶領域,,,…に記憶さ
れている。
【0057】次に、図4のフローチャートを用いてデー
タ中継装置の中継動作を説明する。図において、パケッ
ト入力部11からデータパケットが入力されると、L3
/L4ヘッダ解析部12は、このデータパケットのレイ
ヤ3ヘッダの内容を解析する(ステップ101)。そし
て、このレイヤ3ヘッダ内の識別子ID、すなわちフラ
グメントされたデータパケットを示す識別子を検索し
て、入力されたデータパケットがフラグメントされたパ
ケットかどうか判断する(ステップ102)。
【0058】ここで、このデータパケットがフラグメン
トされたパケットの場合には、このデータパケットがフ
ラグメントの先頭のパケットかどうか判断しており(ス
テップ103)、例えばこのデータパケットがフラグメ
ントの先頭のパケットの場合、またステップ102にお
いて、フラグメントされたパケットでない場合には、デ
ータパケットにはレイヤ4ヘッダが付加されているの
で、このレイヤ4ヘッダの解析を行う(ステップ10
4)。
【0059】次に、パケット内のレイヤ3、レイヤ4ヘ
ッダの内容に基づいてL3/L4経路テーブル13を検
索して(ステップ105)、出力先(自装置の出力ポー
ト)を決定し(ステップ106)、レイヤ3ヘッダの内
容とこの決定した出力先の情報をキャッシュメモリ14
に書き込んで、データの更新を行い(ステップ10
7)、同一の識別子のグループに属するデータパケット
がバッファメモリ15内に記憶されているかどうか判断
する(ステップ108)。
【0060】ここで、バッファメモリ15内に同一識別
子のグループに属するデータパケットがある場合には、
このデータパケットをバッファメモリ15から読み出し
て(ステップ109)、フラグメントの先頭のパケット
とともに、読み出したデータパケットを、決定した出力
ポートに転送する(ステップ110)。
【0061】また、ステップ103において、L3/L
4ヘッダ解析部12は、入力されたパケットがフラグメ
ントの先頭のパケットでない場合には、このパケットの
レイヤ3ヘッダを抽出し、このレイヤ3ヘッダの内容
(IP識別子)に基づいてキャッシュメモリ14を検索
し(ステップ111)、キャッシュヒットしたかどうか
判断する(ステップ112)。
【0062】ここで、検索対象のIP識別子がキャッシ
ュメモリ14内に記憶されていないことにより、キャッ
シュヒットしなかった場合には、この受信したデータパ
ケットのL3ヘッダの内容をキャッシュメモリ14に新
規登録し(ステップ113)、かつこの受信データパケ
ットをバッファメモリ15に記憶させる(ステップ11
5)。また、検索対象のIP識別子がキャッシュメモリ
14内に記憶されていることで、キャッシュヒットした
場合には、キャッシュメモリ14内の該当エントリを更
新し(ステップ114)、かつステップ115に進んで
この受信データパケットをバッファメモリ15に記憶さ
せ、次のパケットと入力を待つ。
【0063】このように、この実施例では、データパケ
ットの中継処理の工程において、レイヤ4ヘッダの内容
を解析して出力ポートを決定する解析機能を有し、受信
したデータパケットにレイヤ4ヘッダが付加されている
場合には、この解析機能によって出力ポートを決定し、
このデータパケットと同一のIP識別子を有するデータ
パケットが記憶されている場合には、レイヤ4ヘッダが
付加されたデータパケットとともに、記憶されていたこ
のデータパケットを決定された出力ポートに転送し、ま
た受信したデータパケットにレイヤ4ヘッダが付加され
ていない場合には、このパケットのレイヤ3の内容がキ
ャッシュヒットし、かつ出力ポートの情報が記憶されて
いるときに、この出力ポートに受信したデータパケット
を転送するので、データパケットの再構築をすることな
しに、データパケットの転送を行うことができ、メモリ
の小容量化を図り、中継処理の高速化を行うことができ
る。
【0064】また、この実施例では、レイヤ4のヘッダ
が付加されたデータパケットが受信された時点で、同一
識別子のデータパケットを出力ポートに転送するので、
全てのデータパケットを記憶しておく必要がなくなり、
バッファメモリの小容量化をさらに図り、中継処理の高
速化を可能にできる。
【0065】(実施例2)また、この発明では、図1に
示すように、一定時間計時を行うタイマ19をL3/L
4ヘッダ解析部12に接続させ、同一識別子を有するデ
ータパケットの生存時間を設定することも可能である。
【0066】この場合には、例えばオリジナルデータか
ら分割されたフラグメントパケットのうちのあるフラグ
メントパケットが最初に受信された時からタイマ19を
起動させて一定時間を計時させ、この時間内に全てのデ
ータパケットが受信された場合、またはこの一定時間内
に全てのデータパケットが受信できなかった場合には、
キャッシュメモリ14およびバッファメモリ15に記憶
されている当該識別子に対応した記憶内容を、L3/L
4ヘッダ解析部12によって消去するように構成するこ
ともできる。
【0067】これにより、この実施例では、全てのデー
タパケットが一定時間内に転送された場合、一定時間内
に全てのデータパケットが転送できなかった場合には、
L3/L4ヘッダ解析部でメモリ内の該当データを消去
するので、さらにメモリの小容量化を図ることができる
とともに、メモリの有効利用を可能にする。
【0068】この発明は、これら実施形態に限定される
ものではなく、この発明の要旨を逸脱しない範囲で種々
の変形実施が可能である。
【0069】
【発明の効果】以上説明したように、この発明では、上
位層ヘッダの内容を解析して出力ポートを決定するハー
ドウェアによる解析機能を含み、受信したデータパケッ
トに上位層ヘッダが付加されている場合には、この解析
機能によって決定された出力ポートに、第2の記憶手段
に記憶されているこの下位層ヘッダが付加されたデータ
パケットを、上位層ヘッダが付加されたデータパケット
とともに転送し、また上位層ヘッダが付加されていない
場合には、この下位層ヘッダの内容が第1の記憶手段の
内容と一致し、かつ出力ポートの情報が記憶されている
ときに、この出力ポートに受信データパケットを転送す
るので、メモリの小容量化を図ることができ、かつ中継
処理の高速化が図られる。
【0070】また、この発明では、一定時間内にオリジ
ナルデータのパケットから分割された全てのフラグメン
トパケットが転送された場合、または全てのフラグメン
トパケットが転送できなかった場合には、第1および第
2の記憶手段に記憶されている該当識別子に対応する記
憶内容を消去するので、さらにメモリの小容量化を図
り、かつデータ転送の遅延を防ぎ、中継処理の高速化を
図ることができる。
【図面の簡単な説明】
【図1】この発明にかかるデータ中継装置の機能構成を
示す構成図である。
【図2】図1のデータ中継装置で中継されるデータパケ
ットのIPヘッダのデータ構成を示すデータ構成図であ
る。
【図3】図1に示したフラグメントデータベースのテー
ブル構成を示すテーブル構成図である。
【図4】図1に示したデータ中継装置の中継動作を示す
フローチャートである。
【図5】レイヤ3でのフラグメントを説明するための各
階層のパケット構成を示す構成図である。
【符号の説明】
11 パケット入力部 12 L3/L4ヘッダ解析部 13 L3/L4経路テーブル 14 フラグメントデータベース(キャッシュメモリ) 15 パケットメモリ(バッファメモリ) 16〜18 パケット出力部 19 タイマ

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 各階層のヘッダを有して伝送されるデー
    タパケットを、前記ヘッダの内容と経路情報に基づいて
    送信先を決定して中継するデータ中継方法において、 受信した前記データパケットの上位層ヘッダを抽出して
    該ヘッダの内容を解析して出力ポートを決定し、かつそ
    の下位層ヘッダの内容および出力ポートを第1の記憶手
    段に記憶させ、また前記受信したデータパケットに上位
    層ヘッダが付加されていない場合には、その下位層ヘッ
    ダの内容を前記第1の記憶手段に記憶させ、かつ前記デ
    ータパケットを第2の記憶手段に一時記憶させる解析工
    程と、 前記受信したデータパケットに上位層ヘッダが付加され
    ている場合には、前記第1の記憶手段に記憶されている
    その下位層ヘッダの内容を検索する検索工程と、 前記検索工程にて下位層ヘッダの内容が検索された場合
    には、該下位層ヘッダが付加されたデータパケットを前
    記第2の記憶手段から抽出し、前記上位層ヘッダが付加
    されたデータパケットとともに、前記決定された出力ポ
    ートに転送し、また前記下位層ヘッダの内容が検索され
    ない場合には、前記上位層ヘッダが付加されたデータパ
    ケットを前記決定された出力ポートに転送する転送工程
    を含むことを特徴とするデータ中継方法。
  2. 【請求項2】 前記データパケットは、オリジナルデー
    タのデータパケットから分割されたフラグメントパケッ
    トからなり、 前記データ中継方法は、該分割されたフラグメントパケ
    ットのうちのあるフラグメントパケットが最初に受信さ
    れた時から一定時間計時し、該計時の満了前に全ての前
    記フラグメントパケットが転送された場合、または計時
    が満了した場合、前記第1および第2の記憶手段に記憶
    されている当該データパケットの記憶内容を消去する消
    去工程をさらに含むことを特徴とする請求項1に記載の
    データ中継方法。
  3. 【請求項3】 前記転送工程では、前記受信したデータ
    パケットに上位層ヘッダがなく、前記検索工程にて前記
    第1の記憶手段に該当する下位層ヘッダの内容および出
    力ポートの情報が検索された場合には、前記受信したデ
    ータパケットを当該出力ポートに転送することを特徴と
    する請求項1または2に記載のデータ中継方法。
  4. 【請求項4】 前記上位層ヘッダは、前記階層がレイヤ
    4のヘッダであり、前記下位層ヘッダは、前記階層がレ
    イヤ3のヘッダであり、 前記解析工程では、前記レイヤ3のヘッダの内容とし
    て、前記パケットの識別情報を少なくとも前記第1の記
    憶手段に記憶させるとともに、前記レイヤ3のヘッダが
    付加されたデータパケットが記憶された前記第2の記憶
    手段の記憶領域の情報を、前記第1の記憶手段に記憶さ
    せることを特徴とする請求項1〜3のいずれか一つに記
    載のデータ中継方法。
  5. 【請求項5】 前記解析工程では、前記レイヤ3のヘッ
    ダ内の内容として、前記受信したパケットのデータが、
    オリジナルデータのどこに位置していたかを示す位置情
    報を前記第1の記憶手段に記憶させることを特徴とする
    請求項4に記載のデータ中継方法。
  6. 【請求項6】 前記解析工程では、前記レイヤ3のヘッ
    ダ内の内容として、最後のフラグメントパケットを示す
    パケット情報を前記第1の記憶手段に記憶させることを
    特徴とする請求項4または5に記載のデータ中継方法。
  7. 【請求項7】 前記レイヤ3のヘッダは、IPヘッダか
    らなり、前記位置情報は、該IPヘッダ内のフラグメン
    トオフセットからなり、前記パケット情報は、該IPヘ
    ッダ内のフラグからなることを特徴とする請求項5また
    は6に記載のデータ中継方法。
  8. 【請求項8】 経路情報を記憶する経路情報記憶手段を
    有し、各階層のヘッダを有して伝送されるデータパケッ
    トに対し、前記ヘッダの内容と前記経路情報から送信先
    を決定して前記データを中継するデータ中継装置におい
    て、 受信した前記データパケットの上位層ヘッダを抽出して
    該ヘッダの内容を解析する解析手段と、 前記データパケットの下位層ヘッダの内容と前記解析結
    果の情報を記憶する第1の記憶手段と、 前記上位層ヘッダが付加されてない場合の受信データパ
    ケットを記憶する第2の記憶手段と、 前記受信したデータパケットの下位層ヘッダの内容から
    前記第1の記憶手段に記憶された内容を検索する検索手
    段と、 前記第1の検索手段で検索された内容に基づいて、前記
    第2の記憶手段から前記下位層ヘッダが付加されたデー
    タパケットを抽出する抽出手段と、 前記受信したデータパケットに上位層ヘッダが付加され
    ている場合には、前記解析内容に従い該上位層ヘッダが
    付加されたデータパケットとともに、前記抽出された下
    位層ヘッダが付加されたデータパケットが存在する場合
    には、当該データパケットを転送する転送手段とを備え
    たことを特徴とするデータ中継装置。
  9. 【請求項9】 前記データパケットは、オリジナルデー
    タのパケットから分割されたフラグメントパケットから
    なり、 前記データ中継装置は、該分割されたフラグメントパケ
    ットのうちのあるフラグメントパケットが最初に受信さ
    れた時から一定時間を計時する計時手段と、 該計時手段の計時が満了する前に全ての前記フラグメン
    トパケットが転送された場合、または該計時手段の計時
    が満了した場合、前記第1および第2の記憶手段に記憶
    されている当該データパケットの記憶内容を消去する消
    去手段とをさらに備えたことを特徴とする請求項8に記
    載のデータ中継装置。
  10. 【請求項10】 前記転送手段は、前記受信されたデー
    タパケットに前記上位層ヘッダがなく、かつ前記検索手
    段によって前記下位層ヘッダの内容と前記解析結果の情
    報が前記第1の記憶手段から検索された場合には、前記
    解析内容に従い前記データパケットを転送することを特
    徴とする請求項8または9に記載のデータ中継装置。
  11. 【請求項11】 前記上位層のヘッダは、前記階層がレ
    イヤ4のヘッダであり、前記下位層ヘッダは、前記階層
    がレイヤ3のヘッダであり、前記解析結果の情報には、
    自装置の出力ポートの情報を含み、 前記第1の記憶手段は、少なくとも前記パケットの識別
    情報を前記レイヤ3のヘッダの内容として記憶するとと
    もに、前記レイヤ3のヘッダが付加されたデータパケッ
    トが記憶された前記第2の記憶手段の記憶領域の情報を
    記憶することを特徴とする請求項8または9に記載のデ
    ータ中継装置。
  12. 【請求項12】 前記第1の記憶手段は、前記受信した
    パケットのデータが、オリジナルデータのどこに位置し
    ていたかを示す位置情報を、前記レイヤ3のヘッダの内
    容として記憶することを特徴とする請求項11に記載の
    データ中継装置。
  13. 【請求項13】 前記第1の記憶手段は、前記フラグメ
    ントパケットのうちの最後のフラグメントパケットを示
    すパケット情報を、前記レイヤ3のヘッダの内容として
    記憶することを特徴とする請求項11または12に記載
    のデータ中継装置。
  14. 【請求項14】 前記第1の記憶手段は、キャッシュメ
    モリからなり、前記第2の記憶手段は、バッファメモリ
    からなることを特徴とする請求項8〜13のいずれか一
    つに記載のデータ中継装置。
JP2001340856A 2001-11-06 2001-11-06 データ中継方法およびデータ中継装置 Pending JP2003143208A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001340856A JP2003143208A (ja) 2001-11-06 2001-11-06 データ中継方法およびデータ中継装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001340856A JP2003143208A (ja) 2001-11-06 2001-11-06 データ中継方法およびデータ中継装置

Publications (1)

Publication Number Publication Date
JP2003143208A true JP2003143208A (ja) 2003-05-16

Family

ID=19154997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001340856A Pending JP2003143208A (ja) 2001-11-06 2001-11-06 データ中継方法およびデータ中継装置

Country Status (1)

Country Link
JP (1) JP2003143208A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505561A (ja) * 2004-06-29 2008-02-21 クゥアルコム・インコーポレイテッド データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング
JP2008205868A (ja) * 2007-02-21 2008-09-04 Nec Corp Ipフラグメントパケット処理装置及びそれに用いるipフラグメントパケット処理方法並びにプログラム
JP2009239685A (ja) * 2008-03-27 2009-10-15 Oki Electric Ind Co Ltd パケット処理装置およびパケット処理方法
JP2012532540A (ja) * 2009-07-07 2012-12-13 ゼットティーイー コーポレイション モバイルマルチメディア放送システムにおける階層送信方法、階層受信方法、階層送信装置、及び階層受信装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505561A (ja) * 2004-06-29 2008-02-21 クゥアルコム・インコーポレイテッド データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング
JP2011066903A (ja) * 2004-06-29 2011-03-31 Qualcomm Inc データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング
JP4685868B2 (ja) * 2004-06-29 2011-05-18 クゥアルコム・インコーポレイテッド データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング
US8155117B2 (en) 2004-06-29 2012-04-10 Qualcomm Incorporated Filtering and routing of fragmented datagrams in a data network
JP2008205868A (ja) * 2007-02-21 2008-09-04 Nec Corp Ipフラグメントパケット処理装置及びそれに用いるipフラグメントパケット処理方法並びにプログラム
JP2009239685A (ja) * 2008-03-27 2009-10-15 Oki Electric Ind Co Ltd パケット処理装置およびパケット処理方法
JP2012532540A (ja) * 2009-07-07 2012-12-13 ゼットティーイー コーポレイション モバイルマルチメディア放送システムにおける階層送信方法、階層受信方法、階層送信装置、及び階層受信装置

Similar Documents

Publication Publication Date Title
US9432283B2 (en) Communication control system and communication control method
US7313138B2 (en) Router device and routing method
CN1713617B (zh) 通信统计收集装置
KR101010554B1 (ko) 네트워크 시스템, 런닝 브리지 노드, 런닝 방법 및 그프로그램
JP4038223B2 (ja) パケット転送方法及び装置
US8239341B2 (en) Method and apparatus for pattern matching
EP2061190A1 (en) Method, apparatus and system for complex flow classification of fragmented datagrams
JP3602485B2 (ja) マルチレイヤパケット処理装置
EP1371187A1 (en) Cache entry selection method and apparatus
WO2010075795A1 (zh) 分片信息处理的方法和装置
KR20000022897A (ko) 프로그래머블 네트워크
US20100020800A1 (en) Communication Device
WO2014098114A1 (ja) パケット処理装置、フローエントリの配置方法及びプログラム
US20110149776A1 (en) Network interface card device and method of processing traffic using the network interface card device
JP4263718B2 (ja) 通信処理装置及び通信処理方法
JP2003143208A (ja) データ中継方法およびデータ中継装置
JP3824903B2 (ja) データ中継方法およびその装置
JP3228249B2 (ja) ルータ装置
JP3837670B2 (ja) データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法
JP4622490B2 (ja) データ転送装置
JP2008085886A (ja) パケット処理装置、パケット処理方法及びパケット処理プログラム
JP2016006942A (ja) テーブル管理装置,及びテーブル管理方法
JP2005101690A (ja) 中継装置及び中継方法
WO2014007247A1 (ja) ネットワーク装置、パケット処理方法及びプログラム、並びにネットワークシステム
JP2008205868A (ja) Ipフラグメントパケット処理装置及びそれに用いるipフラグメントパケット処理方法並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061010