JP2003046566A - パケット処理装置及び方法 - Google Patents

パケット処理装置及び方法

Info

Publication number
JP2003046566A
JP2003046566A JP2001228144A JP2001228144A JP2003046566A JP 2003046566 A JP2003046566 A JP 2003046566A JP 2001228144 A JP2001228144 A JP 2001228144A JP 2001228144 A JP2001228144 A JP 2001228144A JP 2003046566 A JP2003046566 A JP 2003046566A
Authority
JP
Japan
Prior art keywords
packet
information
header
storage means
header 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.)
Withdrawn
Application number
JP2001228144A
Other languages
English (en)
Inventor
Takeshi Kanazawa
岳史 金澤
Yuji Hashimoto
裕司 橋本
Naoto Oka
直人 岡
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001228144A priority Critical patent/JP2003046566A/ja
Publication of JP2003046566A publication Critical patent/JP2003046566A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 パケットの受信からパケットの生成までを短
時間に完了する高速のパケット処理装置及び方法を提供
する 【解決手段】 パケット分解手段103が受信パケット
をヘッダを含む第1の情報と第1の情報に続き受信する
第2の情報とに分解して各々を第1の記憶手段104と
第2の記憶手段105とに記憶し、第2の記憶手段が第
2の情報を記憶するときにヘッダ生成手段106が第1
の記憶手段に記憶された情報に基づいて送信ヘッダの生
成を開始し、パケット生成手段107が送信ヘッダと第
2の記憶手段が記憶した情報に基づいて送信パケットを
生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、受信パケットのヘ
ッダ情報を変換して新しい送信パケットを生成するパケ
ット処理装置及び方法に関し、特に高速光加入者システ
ムに好適なパケット処理装置及び方法に関する。
【0002】
【従来の技術】デジタル通信の分野においては、情報受
け渡しの際にパケット通信が広く用いられている。パケ
ットはその先頭に送信先に関する情報や情報の種類など
を示すヘッダを有し、ヘッダはパケットの種類毎に異な
る。
【0003】広く用いられているパケットを図10に示
す。パケットは種類別に ・RFC194記載のDIXパケット414と、 ・IEEE802.3記載のRAWパケット415a
と、 ・IEEE802.2記載のLLC情報405を搭載し
たLLCパケット415bと、 ・LLC+SNAPパケット416と、 ・上述の4種のパケット414、415a、415b、
416にそれぞれIEEE802.1Q記載のVLAN
情報407を搭載したDIX+VLANパケット41
1、 ・RAW+VLANパケット412a、 ・LLC+VLANパケット412b、及び ・LLC+SNAP+VLANパケット413の合計8
種類があり、これらのパケットを受け渡して通信網を構
成するパケット処理装置には、これら8種類のパケット
の正確かつ速やかな処理が求められている。
【0004】各々のパケットの先頭には、下位レイヤヘ
ッダとしてパケットの種類に応じて、 ・MAC−DA情報401(6バイト)、 ・MAC−SA情報402(6バイト)、 ・Type情報403(2バイト)、 ・Length情報404(2バイト)、 ・LLC情報405(3バイト)、 ・SNAP情報406(5バイト)、 ・OUI情報(不図示)、 ・VLAN情報407(4バイト)、が搭載されてい
る。下位レイヤヘッダは図10に示すように各々の情報
401〜407の組み合わせにより構成されているた
め、パケットの種類毎に下位レイヤヘッダであるL2ヘ
ッダの長さが異なる。
【0005】また、パケット処理装置は図10に示すよ
うに、下位レイヤヘッダに続いてペイロード408を受
信する。図11に示すように、ペイロード408の種類
がIPの場合には、上位レイヤヘッダであるL3ヘッダ
として、先頭から順にVersion情報701、ヘッダ長情
報702、TOS情報703、トータル長情報704、
識別番号情報705、フラグメント情報706、TTL
情報707、プロトコル番号情報708、ヘッダチェッ
クサム情報709、送信元IPアドレス情報710、送
信先IPアドレス情報711、オプション情報712が
搭載されされている。パケット処理装置は受信したパケ
ットから上述の各々の情報に応じて新たにヘッダを生成
する。
【0006】従来例として、図12に示される特開平1
1−317783号公報に記載のパケット処理装置が知
られている。図12において、複数のレジスタ150の
各々は、MAC層から受信した、下位レイヤヘッダと上
位レイヤヘッダとを含む受信パケットの先頭部分の情報
を記憶するメモリであり、CPU154にてレジスタ1
50に記憶されたヘッダを解析し、ヘッダに含まれる新
しいヘッダ生成に必要な情報を抽出して複数のレジスタ
151の各々に格納する。次いでレジスタ151に対応
する値をCPU155にてテーブル157を参照して複
数のレジスタ152の各々に格納し、次いでレジスタ1
52の値に応じてCPU156にて新たにヘッダを生成
して複数のレジスタ153の各々に格納する構成となっ
ている。
【0007】
【発明が解決しようとする課題】しかしながら、上述し
たように、従来のパケット処理装置では、受信したパケ
ットのヘッダを含むパケットの先頭部分をいったんレジ
スタ150に記憶する構成となっているため、レジスタ
150に記憶が完了するまでCPU154はヘッダの解
析が開始できず、パケットを受信してからCPU155
がヘッダの解析を開始するまでの期間で遅延が発生す
る。
【0008】また、ヘッダの生成に必要な情報をレジス
タ151に記憶する構成となっているため、同様にCP
U154がヘッダを解析してヘッダの生成に必要な情報
をレジスタ151に記憶させるまで、CPU155はテ
ーブル157の参照を開始できず、その間にも遅延が発
生し、さらにCPU155がテーブル157を参照して
いる間はレジスタ152には値が格納されておらずCP
U156はヘッダを生成することができない。
【0009】また、ヘッダの生成に必要な情報はレジス
タ150とレジスタ151との両方に記憶されており、
また新たなヘッダが生成されてレジスタ153に格納さ
れても、受信されたヘッダはレジスタ150に記憶され
ているため、余分なメモリを必要とし、製品のコスト高
を招いてしまう。
【0010】よって本発明は、上述した従来の問題点に
鑑み、処理の遅延が少く高速なパケット処理装置及び方
法を提供することを目的とする。本発明はまた、余分な
メモリを必要としない安価なパケット処理装置及び方法
を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明は上記目的を達成
するために、図1の基本構成図に示すように、受信パケ
ットをヘッダ情報を含む第1の情報と前記第1の情報に
続いて受信する第2の情報に受信順に分解するパケット
分解手段103と、前記パケット分解手段103により
分解された前記第1の情報を分解順に記憶する第1の記
憶手段104と、前記パケット分解手段103により分
解された前記第2の情報を分解順に記憶する第2の記憶
手段105と、前記第1の記憶手段104に記憶された
前記第1の情報に基づいて新しいヘッダ情報を生成する
ヘッダ生成手段106と、前記ヘッダ生成手段106に
より生成されたヘッダ情報と前記第2の記憶手段105
に記憶された第2の情報に基づいて新しいパケットを生
成するパケット生成手段107とを備え、前記第2の記
憶手段105が前記第2の情報の記憶を完了する前に、
前記ヘッダ生成手段106が新しいヘッダ情報の生成を
開始する構成とした(請求項1)。上記構成により、ヘ
ッダ情報を含む第1の情報が第1の記憶手段104に既
に記憶されているときに、ヘッダ生成手段106が新し
いヘッダ情報の生成を開始するので、新しいヘッダの生
成が完了すればパケット生成手段107がパケットの生
成を開始でき。このため、パケット受信から新しいパケ
ット生成までを短時間に完了することができる。
【0012】本発明はまた、前記ヘッダ生成手段106
が新しいヘッダ情報を前記第1の記憶手段104に書き
込み、前記パケット生成手段107が前記第1の記憶手
段104に記憶されたヘッダ情報と前記第2の記憶手段
105に記憶された第2の情報に基づいて新しいパケッ
トを生成する構成とした(請求項2)。上記構成によ
り、ヘッダ生成手段106は新しく生成したヘッダを記
憶する必要がないので、余分なメモリを必要としない安
価なパケット処理装置を実現することができる。
【0013】本発明はまた、前記ヘッダ情報が受信パケ
ットの下位レイヤヘッダ情報と前記下位レイヤヘッダに
続いて受信する上位レイヤヘッダ情報により構成され
て、前記第1の記憶手段104が記憶する前記第1の情
報が前記下位レイヤヘッダ情報と前記上位レイヤヘッダ
情報とを含み、前記第1の記憶手段104が前記上位レ
イヤヘッダ情報を記憶しているときに、前記ヘッダ生成
手段106が新しい下位レイヤヘッダの生成を開始する
構成とした(請求項3)。上記構成により、第1の記憶
手段104に上位レイヤヘッダ情報を記憶しているとき
には、既に下位レイヤヘッダ情報は第1の記憶手段10
4に記憶されており、ヘッダ生成手段106が下位レイ
ヤヘッダの生成を開始できるので、高速にヘッダを処理
することができる。
【0014】本発明はまた、前記第2の記憶手段105
が前記第2の情報を記憶しているときに、前記ヘッダ生
成手段106が新しい上位レイヤヘッダ情報の生成を開
始する構成とした(請求項4)。上記構成により、第2
の記憶手段105に第2の情報を記憶しているときに
は、既に第1の記憶手段104には上位レイヤヘッダ情
報が記憶されており、ヘッダ生成手段106が上位レイ
ヤヘッダの生成を開始できるので、高速にヘッダを処理
することができる。
【0015】本発明はまた、前記ヘッダ情報がパケット
の種類によらず共通の情報である共通ヘッダ情報とパケ
ットの種類毎に異なる種類別ヘッダ情報を有し、前記第
1の記憶手段104が、前記共通ヘッダ情報を記憶する
共通ヘッダ情報領域104aと、前記種類別ヘッダ情報
を記憶する種類別ヘッダ情報領域104bとを具備する
構成とした(請求項5)。上記構成により、第1の記憶
手段104がパケットの種類によらない共通ヘッダ情報
とパケットの種類毎に異なる種類別ヘッダ情報とを各々
の領域104a、104bに記憶する構成となっている
ために、ヘッダ生成手段106がパケットの種類にかか
わらず、受信パケットの共通ヘッダ情報に基づいて新し
いヘッダの生成が可能となり、このため、高速にヘッダ
を処理することができる。
【0016】本発明はまた、前記パケット分解手段10
3が受信パケットヘッダ内の前記共通ヘッダ情報を記憶
することなく判別して前記第1の記憶手段104の共通
ヘッダ情報領域104aに書き込む構成とした(請求項
6)。上記構成により、パケット分解手段103が共通
ヘッダ情報を記憶する必要がないので、遅延が少なく余
分なメモリを必要としない安価なパケット処理装置を実
現することができる。
【0017】本発明はまた、前記パケット分解手段10
3が受信パケットヘッダ内の前記種類別ヘッダ情報を記
憶することなく判別して前記第1の記憶手段104の種
類別ヘッダ情報領域104bに書き込む構成とした(請
求項7)。上記構成により、パケット分解手段103が
種類別ヘッダ情報を記憶する必要がないので、遅延が少
なく余分なメモリを必要としない安価なパケット処理装
置を実現することができる。
【0018】本発明はまた、前記ヘッダ情報が目的別に
異なる複数の目的別ヘッダ情報を有し、前記第1の記憶
手段104が前記複数の目的別ヘッダ情報の各々毎に記
憶エリア104cを有する構成とした(請求項8)。上
記構成により、ヘッダ生成手段106が所望の目的別情
報を記憶エリア104cから得ることが可能であるの
で、高速でヘッダを処理することができる。
【0019】本発明はまた、前記パケット分解手段10
3が受信パケットヘッダ内の前記複数の目的別ヘッダ情
報を記憶することなく判別して前記第1の記憶手段10
4の記憶エリア104cに書き込む構成とした(請求項
9)。上記構成により、パケット分解手段103が受信
した目的別情報の各々を個別に記憶する必要がないの
で、遅延が少なく余分なメモリを必要としない安価なパ
ケット処理装置を実現することができる。
【0020】本発明はまた、前記ヘッダ生成手段106
が前記第1の記憶手段104に書き込まれた前記目的別
ヘッダ情報に基づいて新しい目的別ヘッダ情報を生成し
て前記第1の記憶手段104に書き込む構成とした(請
求項10)。上記構成により、ヘッダ生成手段106が
生成したヘッダをパケット生成手段107が第1の記憶
手段104から読み出して新しいパケットを生成するこ
とができるので、遅延が少なく余分なメモリを必要とし
ない安価なパケット処理装置を実現することができる。
【0021】本発明はまた、前記パケット分解手段10
3が前記複数の目的別情報を受信順に一時蓄積して判別
して前記第1の記憶手段104に書き込む構成とした
(請求項11)。上記構成により、パケット分解手段1
06を目的別情報を受信して判別が完了する期間だけ記
憶する構成としたので、遅延が少なく余分なメモリを必
要としない安価なパケット処理装置を実現することがで
きる。
【0022】本発明はまた、前記第1の記憶手段104
が下位レイヤヘッダ情報を記憶しているときに、前記ヘ
ッダ生成手段106が受信パケットの種類の判別を開始
する構成とした(請求項12)。上記構成により、下位
レイヤヘッダ情報を記憶しているときに受信パケットの
種類の判別を開始するので、高速でヘッダを処理するこ
とができる。
【0023】本発明はまた、前記パケット分解手段10
3が前記第1の記憶手段104に前記目的別情報を書き
込むときに、前記ヘッダ生成手段106がその書き込み
エリアに基づいて受信パケットの種類を判断する構成と
した(請求項13)。上記構成により、目的別情報の書
き込みエリアに基づいて受信パケットの種類を判断する
ので、高速でヘッダを処理することができる。
【0024】本発明はまた、前記ヘッダ生成手段106
が、前記パケット分解手段103が前記第1の記憶手段
104に前記目的別情報を書き込むときにその記憶エリ
ア104cを検知することにより、前記第1の記憶手段
104に既に記憶されている下位レイヤヘッダ情報の生
成を開始する構成とした(請求項14)。上記構成によ
り、パケット分解手段103が目的別情報を書き込んだ
記憶エリア104cをヘッダ生成手段106が検知して
下位レイヤヘッダの生成を開始するので、高速でヘッダ
を処理することができる。
【0025】本発明はまた、前記パケット分解手段10
3が受信パケット内の複数の目的別情報を全て前記第1
の記憶手段104の個々の記憶エリア104cに書き込
み、前記ヘッダ生成手段106が前記第1の記憶手段1
04に記憶された目的別情報に基づいて新しい目的別情
報を生成して前記個々の記憶エリア104cに書き込
み、前記パケット生成手段107が新しく生成するパケ
ットの種類に応じて前記個々の記憶エリア104cから
前記目的別情報を読み出して新しいパケットを生成する
構成とした(請求項15)。上記構成により、パケット
生成手段107は個別の記憶エリア104cから、生成
するパケットの種類に応じた前記目的別情報を読み出し
て所望の種類のパケットを生成するので、例えば大規模
網方向へも小規模網方向へも、さらにブリッジモード、
IP終端モード時、VLAN変換モード時のいずれの場
合においても所望の種類のパケットを高速で柔軟に生成
することができる。
【0026】本発明はまた、前記第2の記憶手段105
が、複数の受信パケット内の個々の前記第2の情報を前
記パケット生成手段107が判別して読み出し可能に記
憶する判別記憶手段105aを有する構成とした(請求
項16)。上記構成により、パケット生成手段107が
第2の情報を各々判別してパケットを生成することがで
きるので、高速でパケットを生成することができる。
【0027】本発明はまた、受信パケットをヘッダ情報
を含む第1の情報と前記第1の情報に続いて受信する第
2の情報に受信順に分解するパケット分解ステップと、
前記パケット分解ステップにより分解された第1の情報
及び第2の情報を分解順にそれぞれ第1、第2の記憶手
段に記憶するステップと、前記第1の記憶手段に記憶さ
れた前記第1の情報に基づいて新しいヘッダ情報を生成
するヘッダ生成ステップと、前記ヘッダ生成ステップに
より生成されたヘッダ情報と前記第2の記憶手段に記憶
された第2の情報に基づいて新しいパケットを生成する
パケット生成ステップとを備え、前記第2の記憶手段が
前記第2の情報の記憶を完了する前に、前記ヘッダ生成
ステップが新しいヘッダ情報の生成を開始する構成とし
た(請求項17)。上記構成により、ヘッダ情報を含む
第1の情報が第1の記憶手段104に既に記憶されてい
るときに、ヘッダ生成手段106が新しいヘッダ情報の
生成を開始するので、新しいヘッダの生成が完了すれば
パケット生成手段107がパケットの生成を開始でき。
このため、パケット受信から新しいパケット生成までを
短時間に完了することができる。
【0028】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図2は本発明に係るパケッ
ト処理装置の一実施形態を示すブロック図、図3は図2
のRAMの記憶エリアの構成を示す説明図、図4は図2
のパケット処理装置のパケット処理タイミングを示す説
明図、図5は図2のパケット分解手段の下位レイヤヘッ
ダ分解処理手順を示すフローチャート、図6は図5のV
LAN無しパケットの下位レイヤヘッダ分解処理手順を
詳しく示すフローチャート、図7は図2のヘッダ生成手
段のパケット種類判定手順を示すフローチャート、図8
は図7のパケット種類判定処理を示す説明図、図9は図
2のヘッダ生成手段のVLAN処理手順を示すフローチ
ャートである。
【0029】図2において、このパケット処理装置が受
信したパケットはパケット分解手段103により解析さ
れて分解され、受信パケット内のヘッダ情報が受信した
順に受信ヘッダ書き込みポート201から第1の記憶手
段であるRAM104に書き込まれる。ヘッダ生成手段
106はRAM104が記憶した受信ヘッダ情報を受信
ヘッダ読み込みポート202より読み込み、受信ヘッダ
情報の内容に応じて新たに送信ヘッダ情報を生成するよ
う構成されている。ヘッダ生成手段106で生成された
送信ヘッダ情報は、送信ヘッダ書き込みポート203か
ら再度RAM104に書き込まれた後、パケット生成手
段107により送信ヘッダ読み込みポート204で読み
込まれる。なお、図2の信号線中、DATA、ADDR
ESS、Write、Readは、それぞれデータ、ア
ドレス、書き込み命令、読み出し命令を示す。
【0030】RAM104の記憶エリアは図3に示すよ
うに、概略的に30バイト($01〜$30)の下位レ
イヤヘッダエリアと、30バイト($31〜$60)の
上位レイヤヘッダエリアにより構成されている。6バイ
ト毎に詳しく説明すると、下位レイヤヘッダエリアは ・MAC−DAエリア(6バイト=$01−$06)
と、 ・MAC−SAエリア(6バイト=$07−$12)
と、 ・VLANエリア(4バイト=$13−$16)及び空
きエリア(2バイト=$17、$18)と、 ・空きエリア(1バイト=$19)、Lengthエリア(2
バイト=$20、$21)及びLLCエリア(3バイト
=$22−$24)と、 ・空きエリア(1バイト=$25)、OUIエリア(3
バイト=$26−$28)及びTypeエリア(2バイト=
$29、$30)とに、より構成されている。MAC−
DAエリアとMAC−SAエリアは共通ヘッダ情報エリ
ア(以下、共通情報領域)104aを構成し、残りが種
類別ヘッダ情報エリア(以下、種類別情報領域)104
bを構成している。
【0031】上位レイヤヘッダエリアは、図10に示す
ようにIPの場合に上位レイヤヘッダであるL3ヘッダ
を格納するために、同じく6バイト毎に説明すると、 ・空きエリア(2バイト=$31、$32)、及びVers
ionエリア、ヘッダ長エリア、TOSエリア、トータル
長エリア(4バイト=$33−$36)と、 ・空きエリア(2バイト=$37、$38)、及び識別
番号エリア、フラグメントエリア(4バイト=$39−
$42)と、 ・空きエリア(2バイト=$43、$44)、及びTT
Lエリア、プロトコル番号エリア、ヘッダチェックサム
エリア(4バイト=$45−$48)と、 ・空きエリア(2バイト=$49、$50)、及び送信
元IPアドレスエリア(4バイト=$51−$54)
と、 ・空きエリア(2バイト=$55、$56)、及び送信
先IPアドレスエリア(4バイト=$57−$60)と
に、より構成されている。
【0032】上述のように受信されたヘッダの情報と、
生成された送信ヘッダの情報はいずれも第1の記憶手段
であるRAM104に格納され、またヘッダ生成手段1
06はRAM104に格納された情報に基づき送信ヘッ
ダを生成する。よって、RAM104は従来のヘッダ生
成装置が有するレジスタ全ての機能を兼ねている。
【0033】一方、RAM104に受信ヘッダを含む情
報の書き込みが完了したパケット分解手段103は、受
信したパケットヘッダ内に含まれない第2の情報を受信
データ書き込みポート205から第2の記憶手段である
FIFO105に書き込む。パケット生成手段107は
FIFO105の情報を送信データ読み込みポート20
6で読み込み、送信ヘッダ読み込みポート204から読
み込んだヘッダと送信データ読み込みポート206から
読み込んだデータから送信パケットを新しく生成する。
【0034】また、パケット生成手段107には内部レ
ジスタ106aとテーブル106bが設けられ、内部レ
ジスタ106aには ・VLANレジスタ106a1、 ・VLAN完了フラグ106a2、 ・VLANフラグ106а3、 ・SNAPフラグ106a4、 ・アドレス値記憶レジスタ106a5、 ・VLAN変換処理フラグ106a6、 ・パケット方向設定フラグ106a7、 ・MAC−SAレジスタ106a8が設けられている。
【0035】パケット分解手段103は下位/上位レイ
ヤヘッダの分解がそれぞれ完了すると、ヘッダ生成手段
制御ポート207を介して、図4に示すようにヘッダ生
成手段106へ順次、下位レイヤヘッダ分解完了通知8
10と上位レイヤヘッダ分解完了通知807を送る。ヘ
ッダ生成手段106は下位レイヤヘッダ分解完了通知8
10を受け取ると、パケット分解手段103がRAM1
04に上位レイヤヘッダを書き込んでいるときに、下位
レイヤヘッダ情報に基づいて受信パケットの種類を判別
する。ヘッダ生成手段106はまた、パケット分解手段
103がRAM104に上位レイヤヘッダの書き込みを
完了し、FIFO105に書き込みを開始したときに、
図3に示すRAM104の上位レイヤヘッダを記憶して
いる領域($33−$60)を読み込む。
【0036】また、図4に示すようにヘッダ生成手段1
06は、受信パケットのVLAN情報407に応じて決
定されるVLAN通知805と、生成する送信パケット
の種類を指示するパケット種類通知806と、パケット
分解手段103から受けた上位レイヤヘッダ分解完了通
知807と、下位レイヤヘッダの生成完了を通知する下
位レイヤヘッダ生成通知808と、上位レイヤヘッダの
生成完了を通知する上位生成通知809と、を順次、パ
ケット生成手段制御ポート208からパケット生成手段
107へ送る。
【0037】以上のように、下位レイヤヘッダの各々の
情報に対応する個別の記憶エリア($01−$30)に
は、RAM104内には共通情報と種類別情報の各々を
記憶する領域104a、104bが設けられており、さ
らに上述の目的別情報別に各々個別の記憶エリア($3
3−$60)を設けている。以下、パケット分解手段1
03、ヘッダ生成手段106及びパケット生成手段10
7の処理について詳しく説明する。
【0038】<パケット分解手段103>パケットを受
信すると、パケット分解手段103は図5及び図6に示
される下位レイヤヘッダの分解手順に従い、RAM10
4に第1の情報の書き込みを開始する。まず、処理ステ
ップ510にてRAM104の全てのエリア($1−$
60)を0にクリアした後、判断ステップ505にて受
信パケットの最初の12バイト(#1−#12)である
MAC−DA情報401とMAC−SA情報402が正
常か否かを判断し、異常の場合にはパケットの分解処理
を終了する。このときパケット分解手段103は後述の
処理ステップ518にてなされるヘッダ生成手段106
への下位レイヤヘッダ分解完了通知810を送らないの
で、パケットは破棄される。
【0039】他方、正常な場合には処理ステップ511
に進み、12バイト(#1−#12)のMAC−DA情
報401とMAC−SA情報402をRAM104のア
ドレス$1−$12に書き込む。ここで、前述の8種類
のパケットの先頭12バイトは媒体アクセス制御アドレ
ス(Media Access Control Address)と呼ばれ ネット
ワークでコンピュータ同士を識別するために設定される
ハードウェアアドレスであり、先頭6バイト#1−#6
のMAC−DA情報401はパケットの送信先コンピュ
ータ、後に続く6バイト#7−#12のMAC−SA情
報402は送信元コンピュータのアドレスを意味する。
【0040】また、MAC−DA情報401とMAC−
SA情報402各々の先頭の3バイト#1−#3、#7
−#9は、ベンダコードとしてIEEEが管理/割り当
てを行なっており、後に続く3バイトは各ベンダで重複
しないように管理しているコードなので、結果として、
世界中で同じ物理アドレスを持つコンピュータは存在せ
ず、すべて異なるアドレスが割り当てられていることに
なる。Ethernet(登録商標)(イーサネット(登録商
標))では、このアドレスを元にしてフレームの送受信
を行なっている。
【0041】処理ステップ511の処理が完了すると判
断ステップ501に進み、続き受信した13,14バイ
ト目のデータ(#13、#14)に基づき下位レイヤヘ
ッダにVLAN情報407が挿入されているか否かを判
定する。ここで、4バイト#13−#16のVLAN情
報407は、複数のルータを持つ大規模網上で仮想的な
LAN(VLAN)を構築するために、ノード間で受け
渡されるパケットに付加した4バイトのバーチャルLA
N情報であって、IEEE802委員会で標準化作業が
進められており、バーチャルLANの標準規格「IEE
E 820.1Q」での採用が決定されている。また、
図10に示すように、VLAN情報407の先頭2バイ
ト#13、#14には16進数表示で8100hの固定
データが挿入され、また、1ビットのCFIフラグ40
7a、12ビット(bits)のVID情報407bなどが
挿入されている。
【0042】VLAN情報407の先頭2バイト#1
3、#14は、16進数表示で8100hの固定データ
が挿入されているため、パケット分解手段103は81
00hであれば「VLAN有り」、8100hでなけれ
ば「VLAN無し」と判定する。判断ステップ501に
てパケット分解手段103が「VLAN無し」と判定す
ると、図6に示すVLAN無しパケットの下位レイヤヘ
ッダの分解手順である処理ステップ601に進む。
【0043】他方、判断ステップ501にて「VLA
N」有りと判定すると、判断ステップ502では、図1
0に示されるVLAN情報407のうちの第3バイト目
の先頭から4ビット目のCFIフラグ407aを判断す
る。CFIフラグ407aはVLAN情報407が可変
長であるか固定長であるかを表示するフラグであり、固
定長であれば0、可変長であれば1が表示される。結果
が1だった場合には受信パケットの分解処理を終了す
る。このときパケット分解手段103は後述の処理ステ
ップ518にてなされるヘッダ生成手段106への下位
レイヤヘッダ分解完了通知810を送らないのでパケッ
トは破棄される。
【0044】判断ステップ502での判断結果が0(N
O)だった場合にはステップ512に進み、VLAN情
報407をRAM104のアドレス$13−$16に書
き込む。次いでパケット分解手段103は判断ステップ
503にて、固定長のVLAN情報407に続き受信し
た第17,18バイト目#17、#18の値がLength情
報404なのかType情報403なのかを判断する。Leng
th情報404は情報404に続き受信されるペイロード
408の長さを示し、国際標準規格であるRFC894
には1500バイト以下と規定されている。またType情
報403はペイロード408に搭載された情報の形式を
示すものである。
【0045】判断ステップ503において第17、18
バイト目#17、#18が1500を超えた値を示す場
合にはType情報403と判断して受信パケットをDIX
+VLANパケット411であるとみなし、処理ステッ
プ516にて第17,18バイト目#17、#18をR
AM104のアドレス$29、$30に書き込んだ後、
処理ステップ518に進む。
【0046】他方、1500以下の場合にはLength情報
404であると判定し、処理ステップ513にて第1
7,、8バイト目#17、#18(Length情報404)
をRAM104のアドレス$20、$21に書き込んだ
後、処理ステップ514に進む。処理ステップ514で
はLength情報404に続き受信された3バイトの情報で
ある第19−21バイト目#19−#21の情報をLL
C情報405とし、RAM104のアドレス$22−$
24に書き込んだ後、判断ステップ504に進む。
【0047】ここで、LLC情報405は論理リンク制
御(Logical Link Control)情報と呼ばれ、IEEE
802.2で定義されており、上位レイヤとIEEE
802.2規定のSNAP(Subnetwork Access Protoc
ol)情報406との仲介をなす情報であり、SNAP情
報406がLLC情報405の後に続く場合にはLLC
情報405の先頭の2バイトは16進数表示でAA、A
Ahの値をとる。
【0048】判断ステップ504では受信パケットの第
19、20バイト目#19、#20の情報がAA、AA
hの値を取っていた場合、SNAP情報406がLLC
情報405の後に続いているものと判断し、受信したパ
ケットはLLC+SNAP+VLANパケット413で
あるとみなし、処理ステップ515にて第22−26バ
イト目#22−#26の情報をRAM104のアドレス
$26−$30に書き込んだ後、処理ステップ518に
進む。
【0049】他方、判断ステップ504にてLLC情報
405の先頭の2バイト#19、#20がAA、AAh
をとっていなかったときは、受信パケットはRAW+V
LANパケット412aか又はLLC+VLANパケッ
ト412bであり、下位レイヤヘッダを全てRAM10
4に書き込んだものと判断し、処理ステップ518に進
む。処理ステップ518では下位レイヤヘッダ分解完了
通知810をヘッダ生成手段106に送り、続く処理ス
テップ519では上位レイヤヘッダを分解し、分解が完
了すると上位レイヤヘッダ分解完了通知807をパケッ
ト生成手段107に送る。
【0050】判断ステップ501にてVLAN無しと判
定すると、図6に示す判断ステップ601にて、固定長
のMAC−SA情報402に続き受信した第13,14
バイト目#13、#14の値を検出し、それら2バイト
#13、#14がLength情報404であるかType情報4
03であるかを判断する。上述の2バイト#13、#1
4の示す値が1500を超えている場合にはType情報4
03と判断して受信パケットはDIXパケットであると
みなし、処理ステップ611にて2バイト#13、#1
4をRAM104のアドレス$29、$30に書き込ん
だ後、処理ステップ518に進む。
【0051】他方、1500以下の場合にはLength情報
404であると判定し、処理ステップ612にて2バイ
ト#13、#14(Length情報404)をRAM104
のアドレス$20、$21に書き込んだ後、処理ステッ
プ613に進む。処理ステップ613ではLength情報4
04に続き受信された3バイトの情報である第15−1
7バイト目#15−#17の情報をLLC情報405と
してRAM104のアドレス$22−$24に書き込ん
だ後、判断ステップ602に進む。
【0052】判断ステップ602ではLLC情報405
の先頭の2バイトである受信パケットの第15、16バ
イト目#15、#16の情報がAA、AAhの値をとる
場合、SNAP情報406がLLC情報405の後に続
いているものと判断して受信パケットはLLC+SNA
Pパケット416であるとみなし、処理ステップ614
にて第18−22バイト目#18−#22の情報をRA
M104のアドレス$26−$30に書き込んだ後、処
理ステップ518に進む。
【0053】他方、判断ステップ602にてパケットの
15、16バイト目#15、#16の情報がAA、AA
hの値をとっていなかったときは、受信したパケットが
RAWパケットか又はLLCパケットであり、下位レイ
ヤヘッダを全てRAM104に書き込んだものと判断
し、処理ステップ518に進む。処理ステップ518で
は図4に示すようにヘッダ生成手段106へ下位レイヤ
ヘッダ分解完了通知810を行った後に処理ステップ5
19に進む。処理ステップ519では上位レイヤヘッダ
を分解し、分解が完了すると上位レイヤヘッダ分解完了
通知807をパケット生成手段107に送る。
【0054】<ヘッダ生成手段106>ここで、図2に
示されるように、パケット分解手段103とRAM10
4を接続するアドレスバス201aはヘッダ生成手段1
06にも接続されているため、上述のようにパケット分
解手段103がRAM104にヘッダを書き込んでいる
とき、ヘッダ生成手段106はパケット分解手段103
がRAM104に書き込むアドレスを検知できる。
【0055】そこで、ヘッダ生成手段106はパケット
分解手段103がRAM104に上位レイヤヘッダを書
き込んでいるときに図7に示されるパケット種類判別の
手順に従い、受信中のパケットの種類を判定する。ま
ず、パケット分解手段103がRAM104の全ての情
報を0にクリアすると、ヘッダ生成手段106は判断ス
テップ921にてRAM104への下位レイヤヘッダの
書き込みが開始されたと判断し、ヘッダ生成手段106
の内部に設けられたアドレス値記憶レジスタ106a5
とVLANフラグ106a3とSNAPフラグ106a
4とVLAN完了フラグ106a2とを全てを”0”に
クリアし、処理ステップ922へ進む。
【0056】処理ステップ922ではアドレスバス20
1aを監視し、パケット分解手段103がRAM104
に1バイトの情報を書き込む毎に、アドレスバス201
a上のその書き込みアドレスをヘッダ生成手段106の
アドレス値記憶レジスタ106a5に記憶し、判断ステ
ップ923に進む。判断ステップ923では処理ステッ
プ922で記憶したアドレス値記憶レジスタ106a5
の値が$13か否かを判断する。RAM104のアドレ
ス$13はVLAN情報407の先頭1バイトに対応す
る記憶エリアであり、パケット処理装置がVLAN情報
407を受信した場合、パケット分解手段103は図5
に示される処理ステップ512にてアドレス$13に書
き込みをおこなう。
【0057】よって、前記アドレス値記憶レジスタ10
6a5の値が$13となっている場合、ヘッダ生成手段
106はVLAN情報407を受信したと判断して処理
ステップ924に進み、ヘッダ生成手段106の内部に
アドレス値記憶レジスタ106a5とは別に設けられた
VLANフラグ106a3の値を”1”に設定し、次い
で判断ステップ929に進む。
【0058】他方、処理ステップ922で記憶したアド
レス値記憶レジスタ106a5の値が$13ではない場
合には判断ステップ925に進む。判断ステップ925
では、処理ステップ922で記憶したアドレス値記憶レ
ジスタ106a5の値が$26か否かを判断する。RA
M104のアドレス$26はSNAP情報406の先頭
1バイトに対応する記憶エリアであり、SNAP情報4
06を受信した場合、パケット分解手段103は図5、
図6に示される処理ステップ515又は処理ステップ6
14にてアドレス$26に書き込みをおこなう。
【0059】よって、アドレス値記憶レジスタ106a
5の値が$26となっている場合、ヘッダ生成手段10
6はSNAP情報406を受信したと判断して処理ステ
ップ926に進み、ヘッダ生成手段106の内部にアド
レス値記憶レジスタ106a5やVLANフラグ106
a3とは別に設けられたSNAPフラグ106a4の値
を”1”に設定し、次いで判断ステップ929に進む。
【0060】他方、処理ステップ922で記憶したアド
レス値記憶レジスタ106a5の値が$26ではない場
合には判断ステップ927に進む。判断ステップ927
では、処理ステップ922で記憶したアドレス値記憶レ
ジスタ106a5の値が$20又は$29か否かを判断
する。RAM104のアドレス$20はLength情報40
4の先頭の1バイトに対応し、アドレス$29はType情
報403の先頭1バイトに対応する記憶エリアであり、
いずれのアドレスもパケット分解手段103がVLAN
情報407の処理が完了した後に書き込まれる。
【0061】よって、アドレス値記憶レジスタ106a
5の値が$20もしくは$29となっている場合、ヘッ
ダ生成手段106はパケット分解手段103がVLAN
情報407の処理が完了したと判断して処理ステップ9
28に進み、ヘッダ生成手段106の内部に設けられた
VLAN完了フラグ106a2の値を”1”に設定し、
次いで判断ステップ929に進む。他方、処理ステップ
922で記憶したアドレス値記憶レジスタ106a5の
値が$20もしくは$29ではない場合には処理ステッ
プ928を省略して判断ステップ929に進む。
【0062】判断ステップ929では、図5及び6の処
理ステップ518、図4に示す下位レイヤヘッダ分解完
了通知810がなされていない場合には、通知されるま
で処理ステップ922から処理ステップ928までのフ
ローを繰り返す。下位レイヤヘッダ分解完了通知810
をパケット分解手段103が行った場合には、処理ステ
ップ930に進む。
【0063】ヘッダ生成手段106のアドレス値記憶レ
ジスタ106a5が示す値は、処理ステップ922から
処理ステップ928までのフローが繰り返される度に更
新され、判断ステップ929で下位レイヤヘッダ分解完
了通知810が検出されたときには、パケット分解手段
103が下位レイヤヘッダ分解完了通知810を行う直
前にRAM104に書き込んだアドレス値となってい
る。
【0064】すなわちアドレス値記憶レジスタ106a
5は、DIXパケット414、又はDIX+VLANパ
ケット411、又はLLC+SNAP+VLANパケッ
ト413、又はLLC+SNAPパケット416を受信
した場合には、Type情報403の最終バイトに対応する
RAM104の記憶エリアのアドレスである$30を示
す。また、RAWパケット415a、又はRAW+VL
ANパケット412a、又はLLCパケット415b又
はLLC+VLANパケット412bを受信した場合に
は、LLC情報405の最終バイトに対応するRAM1
04の記憶エリアのアドレスである$24を示す。
【0065】処理ステップ930では、図8に示すよう
に上述のアドレス値記憶レジスタ106a5値とVLA
Nフラグ106a3の値とSNAPフラグ106a4の
値との組み合わせから受信パケットの種類を判別し、判
別結果に応じてパケット生成手段107へパケット種類
通知806を行う。
【0066】<VLAN処理>ここで、本発明の装置
は、小規模網と大規模網との接続に使用され、小規模網
がVLAN情報407の送受信を行わないコンピュータ
で構成され、かつ、小規模網全体が一つのバーチャルL
ANの構成要素となっている場合は、小規模網から大規
模網へ流れるパケットにVLAN情報407を付加する
必要がある。また逆に大規模網から小規模網へ流れるパ
ケットに付加されたVLAN情報407を取り除く必要
があり、また、小規模網を構成するコンピュータが誤っ
たVLAN情報407を付加して大規模網へ送信する場
合、VLAN情報407を正しく修正する必要がある。
【0067】さらに、大規模網から小規模網へ流れるパ
ケットに付加されたVLAN情報407が誤っている場
合やVLAN情報407が搭載されていない場合には、
VLAN情報407を搭載したパケットを破棄する必要
がある。以降、本明細書では上述のようにパケットにV
LAN情報407を付加する処理と取り除く処理と修正
する処理と、誤ったVLAN情報407を搭載したパケ
ットを破棄する処理をVLAN変換処理と称する。ま
た、小規模網がVLAN情報407の送受信を行うコン
ピュータで構成されている場合は、パケットが流れる方
向にかかわらずVLAN変換処理は必要ない。
【0068】RAM104が下位レイヤヘッダをパケッ
ト分解手段103から受けて記憶しているときに、図7
に示す処理ステップ928にてVLAN完了フラグ10
6a2に”1”が記憶されると、ヘッダ生成手段107
は図9のVLAN処理手順に示すとおり判断ステップ9
01にて検出し、VLAN情報407の処理を開始す
る。まず判断ステップ902に進み、VLANフラグ1
06a3にも”1”が記憶されているか否かを確認し
て、受信したパケットにVLAN情報407が付加され
ているか否かを判断する。VLANフラグ106a3
に”1”が記憶されている場合にはVLAN情報407
が付加されていると判断して判断ステップ903に進
み、他方、”0”が記憶されている場合にはVLAN情
報407が付加されていないと判断して判断ステップ9
06に進む。
【0069】判断ステップ903と判断ステップ906
ではいずれもVLAN変換処理が必要か否を判断する。
ここで、本発明における装置は運用前にVLAN変換処
理を行うか否を設定した後に運用を開始するものであ
り、設定はヘッダ生成手段106内部の設定レジスタ1
06aに設けられたVLAN変換処理フラグ106a6
に設定され、判断ステップ903と判断ステップ906
は前記設定に応じた判断をする。判断ステップ903に
おいてVLAN変換処理を行う場合には判断ステップ9
04へ進み、他方、VLAN変換処理を行わない場合に
は処理ステップ914にてパケット生成手段107へV
LAN情報407を搭載したパケットを生成するように
VLAN通知805を行い、このVLAN処理を終了す
る。
【0070】また判断ステップ906においてVLAN
変換処理を行う場合には判断ステップ907へ進み、他
方、VLAN変換処理を行わない場合に処理ステップ9
12へ進み、パケット生成手段107へVLAN情報4
07を搭載しないパケットを生成するようにVLAN通
知805を行い、このVLAN処理を終了する。
【0071】また、本発明におけるパケット処理装置
は、運用前にパケットの進行方向が大規模網側か小規模
網側を設定した後に運用を開始するものであり、設定は
ヘッダ生成手段106内部の設定レジスタ106aに設
けられたパケット方向設定フラグ106a7に設定さ
れ、判断ステップ904と判断ステップ907のいずれ
の判断ステップも前記設定に応じ判断を行う。判断ステ
ップ904ではパケットの進行方向が大規模網側の場合
には処理ステップ911へ進み、他方、パケットの進行
方向が小規模網側の場合は判断ステップ905に進む。
また判断ステップ907においても同様に、パケットの
進行方向が大規模網側の場合には処理ステップ911へ
進む。
【0072】処理ステップ911ではヘッダ生成手段1
06内に設けられたVLANレジスタ106a1の値
を、VLAN情報407の記憶エリアであるRAM10
4のアドレス$13−16に書き込み、次いで処理ステ
ップ914に進み、パケット生成手段107へVLAN
情報407を搭載したパケットを生成するようにVLA
N通知805を行い、このVLAN処理を終了する。
【0073】また判断ステップ907にて小規模網側と
判断した場合は、誤って受信されたパケットであると判
断して処理ステップ913に進み、パケット生成手段1
07へパケットを破棄するようにVLAN通知805を
行う。判断ステップ905ではVLAN情報407の最
後の12ビットであるVID情報がVLANレジスタ1
06a1の最後の12ビットに一致するか否かの判断を
行い、一致する場合には正常なパケットであると判断
し、処理ステップ912に進んでVLAN情報407が
無いパケットを生成するようにVLAN通知805を行
い、このVLAN処理手順を終了する。他方、不一致の
場合は処理ステップ913に進みパケット生成手段10
7へパケットを破棄するようにVLAN通知805を行
う。
【0074】RAM104には図3に示すように、上位
レイヤヘッダの各々の情報に対応する個別の記憶エリア
$33−$60を設けている。パケット分解手段103
は図5及び6に示される処理ステップ518が完了する
と処理ステップ519へ進み、上位レイヤヘッダの各々
の情報をRAM104内の各々の記憶エリア$33−$
60に受信した順序で書き込み、図4に示すように上位
レイヤヘッダ分解完了通知807をヘッダ生成手段10
6に送った後、オプション情報とこれに続き受信するデ
ータ部とを受信した順序でFIFO105に書き込む。
【0075】<パケット生成手段107>FIFO10
5の領域は9ビット単位に分割されており、パケット分
解手段103が書き込んだ順に9ビットずつパケット生
成手段107に読み出されるようになっている。パケッ
ト分解手段103は受信したデータを8ビット毎に1ビ
ットのフラグを加えた9ビットをFIFO105に書き
込む。このフラグは受信したパケットの最後の8ビット
をFIFO105に書き込むとき”1”が書き込まれ、
その他のときは”0”が書き込まれる。パケット生成手
段107は、このフラグに”1”を検出してパケットの
最後の8ビットを判別する。またパケットの長さが60
バイトに満たない場合、パケットの最後にPADを挿入
して60バイトのパケットを生成する。
【0076】また、本発明におけるパケット処理装置
は、上位レイヤヘッダには処理を行わず受信したパケッ
トの種類と同じ種類のパケットを生成する(以降、ブリ
ッジモードと称する。)ことも、下位レイヤヘッダと上
位レイヤヘッダ両方に処理を行いDIXパケット414
を生成する(以終、IP終端モードと称する。)ことも
できる。図4に示すように、ブリッジモード時には、ヘ
ッダ生成手段106はVLAN通知805とパケット種
類通知806を行った後、パケット分解手段103から
受け取った上位レイヤヘッダ分解完了通知807をパケ
ット生成手段107に転送して全ての処理を終了する。
【0077】また、パケット生成手段107はヘッダ生
成手段106が処理ステップ911〜914でなされる
VLAN通知805と、処理ステップ930にてなされ
るパケット種類通知806の両方を受け取ると、それら
の通知805、906に応じて図8に示すようにパケッ
トを生成する。まず、「VLAN有り」のVLAN通知
805がなされた場合は、RAM104のアドレス$0
1−$16からMAC−DA情報401、MAC−SA
情報402、VLAN情報407を読み込み、次にパケ
ット種類通知806に応じてヘッダを構成する順番にR
AM104から必要な情報を読み込み、上位レイヤヘッ
ダも全て読み込み終わったら、FIFO105をパケッ
トの最後の8ビットを表示するフラグを検出するまで読
み込み、パケットを生成する。
【0078】また「VLAN無し」のVLAN通知80
5がなされていた場合は、RAM104のアドレス$0
1−$12からMAC−DA情報401、MAC−SA
情報402を読み込み、次にVLAN有りの場合と同様
にパケット種類通知806に応じてヘッダを構成する順
番にRAM104から必要な情報を読み込み、さらに上
位レイヤヘッダの読み込みが全て完了した後、FIFO
105をパケットの最後の8ビットを表示するフラグを
検出するまで読み込み、パケットを生成する。破棄のV
LAN通知805の場合は、ヘッダ生成手段106から
上位レイヤヘッダ生成通知809を受けてからFIFO
105をパケットの最後の8ビットを表示するフラグを
検出するまで読み込み、パケットを生成せずに処理を完
了する。
【0079】IP終端モード時には、ヘッダ生成手段1
06はVLAN通知805とパケット種類通知806を
行った後、パケット分解手段103によるMAC−SA
情報402のRAM104への書き込みを検知するため
にアドレスバス201aを監視する。ヘッダ生成手段1
06はパケット分解手段103によりMAC−SA情報
402がRAM104へ書き込まれ、アドレス$12へ
の書き込みを検知するとMAC−SAレジスタ106a
8の値をRAM104のアドレス$07−12へ書き込
んだ後、パケット分解手段103から上位レイヤヘッダ
分解完了通知807がなされるまで処理を停止する。
【0080】上位レイヤヘッダ分解完了通知807を受
け取るとパケット生成手段107に転送し、RAM10
4のアドレス$51−54及び$57−60に記憶され
た送信元IPアドレスと送信先IPアドレスに応じてパ
ケットの生成か破棄かを決定し、決定が破棄の場合パケ
ット分解手段107へ下位レイヤヘッダ生成通知808
にて破棄を通知し、全ての処理を終了する。
【0081】また、決定がパケット生成の場合、送信先
IPアドレスを基にテーブル106を検索し、検索結果
をRAM104のアドレス$01−$06へ書き込み、
MAC−DA情報401を修正した後、アドレス$45
の値を1減じた値に書き直してTTL情報707を変更
し、アドレス$34の所定の値を書き込み、TOS情報
703の値を設定し、チェックサム計算の結果をアドレ
ス$47、$48に書き込んだ後、パケット分解手段1
07へ上位レイヤヘッダ生成通知809を送り、全ての
処理を終了する。
【0082】またパケット生成手段107はVLAN通
知805と上位レイヤヘッダ分解完了通知807と下位
レイヤヘッダ生成通知808と上位レイヤヘッダ生成通
知809とに応じてパケットを生成する。まず、「VL
AN有り」のVLAN通知805がなされた場合は、下
位レイヤヘッダ生成通知808を待ち、下位レイヤヘッ
ダ生成通知808が破棄ではなかった場合はRAM10
4のアドレス$01−$16からMAC−DA情報40
1,MAC−SA情報402,VLAN情報407を読
み込み、次にアドレス$29−$30からType情報40
3を読み込み、下位レイヤヘッダ生成通知808を待
ち、下位レイヤヘッダ生成通知808がなされたら上位
レイヤヘッダを読み込んだ後、FIFO105をパケッ
トの最後の8ビットを表示するフラグを検出するまで読
み込み、パケットを生成する。また下位レイヤヘッダ生
成通知808が破棄を指示した場合は、FIFO105
をパケットの最後の8ビットを表示するフラグを検出す
るまで読み込み、パケットを生成せずに処理を完了す
る。
【0083】また、「VLAN無し」のVLAN通知8
05がなされた場合は、下位レイヤヘッダ生成通知80
8を待ち、下位レイヤヘッダ生成通知808が破棄では
なかった場合はRAM104のアドレス$01−$12
からMAC−DA情報401,MAC−SA情報402
を読み込み、次にアドレス$29−30からType情報4
03を読み込み、下位レイヤヘッダ生成通知808を待
ち、下位レイヤヘッダ生成通知808がなされたら上位
レイヤヘッダを読み込んだ後、FIFO105をパケッ
トの最後の8ビットを表示するフラグを検出するまで読
み込み、パケットを生成する。また下位レイヤヘッダ生
成通知808が破棄を指示した場合は、FIFO105
をパケットの最後の8ビットを表示するフラグを検出す
るまで読み込み、パケットを生成せずに処理を完了す
る。
【0084】破棄のVLAN通知805を受けた場合
は、ヘッダ生成手段106から上位レイヤヘッダ分解完
了通知807を受けてからFIFO105をパケットの
最後の8ビットを表示するフラグを検出するまで読み込
み、パケットを生成せずに処理を完了する。
【0085】上述のとおり本発明のパケット処理装置
は、パケット分解手段103がパケットを分解する際に
ヘッダ生成手段106がVLAN情報407の有無とパ
ケットの種別を判断し、判断結果をパケット生成手段1
07に通知する構成となっているが、VLAN情報40
7の有無とパケットの種別を判断する機能を持たない簡
易なヘッダ生成手段106を構成してもよい。
【0086】この場合、パケット分解手段103が図5
に示す判断ステップ502でCFIフラグが1ではない
と判断したとき、VLAN情報407の挿入をヘッダ生
成手段106とパケット生成手段107とに通知する。
また、パケット分解手段103からパケット生成手段1
07へ、判断ステップ503及び図6に示す判断ステッ
プ601でType情報403と判断したときDIXパケッ
ト414であることを通知し、判断ステップ504及び
判断ステップ602でAAAAhと判断したときLLC
+SNAPパケットであることを通知し、AAAAhで
はないと判断したときLLCパケットもしくはRAWパ
ケットであることを通知する。
【0087】パケット分解手段103からパケット生成
手段107への通知は図2に示されるヘッダ生成手段制
御ポート207からヘッダ生成手段106を経由してパ
ケット生成手段制御ポート208からパケット生成手段
107へ至るようにしてもよく、また、代わりにパケッ
ト分解手段103から直接パケット生成手段通知ポート
209を用いてパケット生成手段107へ至るようにし
てもよい。
【0088】また、ラベルスイッチング技術を用いパケ
ットの高速転送を可能にするために上位レイヤヘッダと
下位レイヤヘッダの間に挿入されるRFC3031記載
のMPLS情報(Multi Protocol Label Switching)を
記憶する記憶エリアをRAM104内に設け、MPLS
情報を検出して記憶エリアに記憶させる機能と、MPL
S情報の有無をパケット生成手段107へ通知する機能
とをパケット分解手段103に追加し、パケット生成手
段107がこの通知に応じて前記記憶エリアを読み込
み、パケットを生成する機能を追加してもよい。上述の
機能を追加することで、本発明のパケット処理装置はM
PLS情報を用いてスイッチングを行うネットワークに
も適用可能となる。
【0089】
【発明の効果】以上説明したように請求項1記載の発明
によれば、ヘッダ情報を含む第1の情報が第1の記憶手
段104に既に記憶されているときに、ヘッダ生成手段
106が新しいヘッダ情報の生成を開始するので、新し
いヘッダの生成が完了すればパケット生成手段107が
パケットの生成を開始でき。このため、パケット受信か
ら新しいパケット生成までを短時間に完了することがで
きる。請求項2記載の発明によれば、ヘッダ生成手段1
06は新しく生成したヘッダを記憶する必要がないの
で、余分なメモリを必要としない安価なパケット処理装
置を実現することができる。請求項3記載の発明によれ
ば、第1の記憶手段104に上位レイヤヘッダ情報を記
憶しているときには、既に下位レイヤヘッダ情報は第1
の記憶手段104に記憶されており、ヘッダ生成手段1
06が下位レイヤヘッダの生成を開始できるので、高速
にヘッダを処理することができる。請求項4記載の発明
によれば、第2の記憶手段105に第2の情報を記憶し
ているときには、既に第1の記憶手段104には上位レ
イヤヘッダ情報が記憶されており、ヘッダ生成手段10
6が上位レイヤヘッダの生成を開始できるので、高速に
ヘッダを処理することができる。請求項5記載の発明に
よれば、第1の記憶手段104がパケットの種類によら
ない共通ヘッダ情報とパケットの種類毎に異なる種類別
ヘッダ情報とを各々の領域104a、104bに記憶す
る構成となっているために、ヘッダ生成手段106がパ
ケットの種類にかかわらず受信パケットの共通ヘッダ情
報に基づいて新しいヘッダの生成が可能となり、このた
め、高速にヘッダを処理することができる。請求項6記
載の発明によれば、パケット分解手段103が共通ヘッ
ダ情報を記憶する必要がないので、遅延が少なく余分な
メモリを必要としない安価なパケット処理装置を実現す
ることができる。請求項7記載の発明によれば、パケッ
ト分解手段103が種類別ヘッダ情報を記憶する必要が
ないので、遅延が少なく余分なメモリを必要としない安
価なパケット処理装置を実現することができる。請求項
8記載の発明によれば、ヘッダ生成手段106が所望の
目的別情報を記憶エリア104cから得ることが可能で
あるので、高速でヘッダを処理することができる。請求
項9記載の発明によれば、パケット分解手段103が受
信した目的別情報の各々を個別に記憶する必要がないの
で、遅延が少なく余分なメモリを必要としない安価なパ
ケット処理装置を実現することができる。請求項10記
載の発明によれば、ヘッダ生成手段106が生成したヘ
ッダをパケット生成手段107が第1の記憶手段104
から読み出して新しいパケットを生成することができる
ので、遅延が少なく余分なメモリを必要としない安価な
パケット処理装置を実現することができる。請求項11
記載の発明によれば、パケット分解手段106を目的別
情報を受信して判別が完了する期間だけ記憶する構成と
したので、遅延が少なく余分なメモリを必要としない安
価なパケット処理装置を実現することができる。請求項
12記載の発明によれば、下位レイヤヘッダ情報を記憶
しているときに受信パケットの種類の判別を開始するの
で、高速でヘッダを処理することができる。請求項13
記載の発明によれば、目的別情報の書き込みエリアに基
づいて受信パケットの種類を判断するので、高速でヘッ
ダを処理することができる。請求項14記載の発明によ
れば、パケット分解手段103が目的別情報を書き込ん
だ記憶エリア104cをヘッダ生成手段106が検知し
て下位レイヤヘッダの生成を開始するので、高速でヘッ
ダを処理することができる。請求項15記載の発明によ
れば、パケット生成手段107が個別の記憶エリア10
4cから、生成するパケットの種類に応じた前記目的別
情報を読み出して所望の種類のパケットを生成するの
で、例えば大規模網方向へも小規模網方向へも、ブリッ
ジモード、IP終端モード時、VLAN変換モード時い
ずれの場合においても所望の種類のパケットを高速で柔
軟に生成することができる。請求項16記載の発明によ
れば、パケット生成手段107が第2の情報を各々判別
してパケットを生成することができるので、高速でパケ
ットを生成することができる。請求項17記載の発明に
よれば、ヘッダ情報を含む第1の情報が第1の記憶手段
104に既に記憶されているときに、ヘッダ生成手段1
06が新しいヘッダ情報の生成を開始するので、新しい
ヘッダの生成が完了すればパケット生成手段107がパ
ケットの生成を開始でき。このため、パケット受信から
新しいパケット生成までを短時間に完了することができ
る。
【図面の簡単な説明】
【図1】本発明によるパケット処理装置の基本構成を示
すブロック図
【図2】本発明によるパケット処理装置の一実施の形態
を示すブロック図
【図3】図2のRAMの記憶エリアの構成を示す説明図
【図4】図2のパケット処理装置のパケット処理タイミ
ングを示す説明図
【図5】図2のパケット分解手段の下位レイヤヘッダ分
解処理手順を示すフローチャート
【図6】図5のVLAN無しパケットの下位レイヤヘッ
ダ分解処理手順を詳しく示すフローチャート
【図7】図2のヘッダ生成手段のパケット種類判定手順
を示すフローチャート
【図8】図7のパケット種類判定処理を示す説明図
【図9】図2のヘッダ生成手段のVLAN処理手順を示
すフローチャート
【図10】図1のパケット処理装置が受信する種々のパ
ケットとその下位レイヤヘッダを示す構成図
【図11】図1のパケット処理装置が受信する上位レイ
ヤヘッダを示す構成図
【図12】従来のパケット処理装置の一例を示すブロッ
ク図
【符号の説明】
103 パケット分解手段 104 第1の記憶手段(RAM) 104a 共通ヘッダ情報領域 104b 種類別ヘッダ情報領域 104c 記憶エリア 105 第2の記憶手段(FIFO) 105a 判定記憶手段 106 ヘッダ生成手段 106a レジスタ 106a1 VLANレジスタ 106a2 VLAN完了フラグ 106a3 VLANフラグ 106a4 SNMPフラグ 106a5 アドレス値記憶レジスタ 106a6 VLAN変換処理フラグ 106a7 パケット方向設定フラグ 106b テーブル 107 パケット生成手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡 直人 神奈川県横浜市港北区綱島東四丁目3番1 号 松下通信工業株式会社内 Fターム(参考) 5K030 GA01 HA08 HD03 KA02 5K033 AA02 CB02 CC02 DA05 DB13 DB18

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 受信パケットをヘッダ情報を含む第1の
    情報と前記第1の情報に続いて受信する第2の情報に受
    信順に分解するパケット分解手段と、 前記パケット分解手段により分解された前記第1の情報
    を分解順に記憶する第1の記憶手段と、 前記パケット分解手段により分解された前記第2の情報
    を分解順に記憶する第2の記憶手段と、 前記第1の記憶手段に記憶された前記第1の情報に基づ
    いて新しいヘッダ情報を生成するヘッダ生成手段と、 前記ヘッダ生成手段により生成されたヘッダ情報と前記
    第2の記憶手段に記憶された第2の情報に基づいて新し
    いパケットを生成するパケット生成手段とを備え、 前記第2の記憶手段が前記第2の情報の記憶を完了する
    前に、前記ヘッダ生成手段が新しいヘッダ情報の生成を
    開始するよう構成されたパケット処理装置。
  2. 【請求項2】 前記ヘッダ生成手段が新しいヘッダ情報
    を前記第1の記憶手段に書き込み、前記パケット生成手
    段が前記第1の記憶手段に記憶されたヘッダ情報と前記
    第2の記憶手段に記憶された第2の情報に基づいて新し
    いパケットを生成するよう構成された請求項1に記載の
    パケット処理装置。
  3. 【請求項3】 前記ヘッダ情報が受信パケットの下位レ
    イヤヘッダ情報と前記下位レイヤヘッダに続いて受信す
    る上位レイヤヘッダ情報により構成されて、前記第1の
    記憶手段が記憶する前記第1の情報が前記下位レイヤヘ
    ッダ情報と前記上位レイヤヘッダ情報とを含み、 前記第1の記憶手段が前記上位レイヤヘッダ情報を記憶
    しているときに、前記ヘッダ生成手段が新しい下位レイ
    ヤヘッダの生成を開始するよう構成された請求項1又は
    2に記載のパケット処理装置。
  4. 【請求項4】 前記第2の記憶手段が前記第2の情報を
    記憶しているときに、前記ヘッダ生成手段が新しい上位
    レイヤヘッダ情報の生成を開始するよう構成された請求
    項3に記載のパケット処理装置。
  5. 【請求項5】 前記ヘッダ情報がパケットの種類によら
    ず共通の情報である共通ヘッダ情報とパケットの種類毎
    に異なる種類別ヘッダ情報を有し、 前記第1の記憶手段が、前記共通ヘッダ情報を記憶する
    共通ヘッダ情報領域と、前記種類別ヘッダ情報を記憶す
    る種類別ヘッダ情報領域とを具備するよう構成された請
    求項1から4のいずれか1つに記載のパケット処理装
    置。
  6. 【請求項6】 前記パケット分解手段が受信パケットヘ
    ッダ内の前記共通ヘッダ情報を記憶することなく判別し
    て前記第1の記憶手段の共通ヘッダ情報領域に書き込む
    よう構成された請求項5に記載のパケット処理装置。
  7. 【請求項7】 前記パケット分解手段が受信パケットヘ
    ッダ内の前記種類別ヘッダ情報を記憶することなく判別
    して前記第1の記憶手段の種類別ヘッダ情報領域に書き
    込むよう構成された請求項5又は6に記載のパケット処
    理装置。
  8. 【請求項8】 前記ヘッダ情報が目的別に異なる複数の
    目的別ヘッダ情報を有し、前記第1の記憶手段が前記複
    数の目的別ヘッダ情報の各々毎に記憶エリアを有するよ
    う構成された請求項1から7のいずれか1つに記載のパ
    ケット処理装置。
  9. 【請求項9】 前記パケット分解手段が受信パケットヘ
    ッダ内の前記複数の目的別ヘッダ情報を記憶することな
    く判別して前記第1の記憶手段の記憶エリアに書き込む
    よう構成された請求項8に記載のパケット処理装置。
  10. 【請求項10】 前記ヘッダ生成手段が前記第1の記憶
    手段に書き込まれた前記目的別ヘッダ情報に基づいて新
    しい目的別ヘッダ情報を生成して前記第1の記憶手段に
    書き込むよう構成された請求項8又は9に記載のパケッ
    ト処理装置。
  11. 【請求項11】 前記パケット分解手段が前記複数の目
    的別情報を受信順に一時蓄積して判別して前記第1の記
    憶手段に書き込むよう構成された請求項8又は10に記
    載のパケット処理装置。
  12. 【請求項12】 前記第1の記憶手段が下位レイヤヘッ
    ダ情報を記憶しているときに、前記ヘッダ生成手段が受
    信パケットの種類の判別を開始するよう構成された請求
    項3から11のいずれか1つに記載パケット処理装置。
  13. 【請求項13】 前記パケット分解手段が前記第1の記
    憶手段に前記目的別情報を書き込むときに、前記ヘッダ
    生成手段がその書き込みエリアに基づいて受信パケット
    の種類を判断するよう構成された請求項8から12のい
    ずれか1つに記載のパケット処理装置。
  14. 【請求項14】 前記ヘッダ生成手段は、前記パケット
    分解手段が前記第1の記憶手段に前記目的別情報を書き
    込むときにその記憶エリアを検知することにより、前記
    第1の記憶手段に既に記憶されている下位レイヤヘッダ
    情報の生成を開始するよう構成された請求項8から13
    のいずれか1つに記載のパケット処理装置。
  15. 【請求項15】 前記パケット分解手段が受信パケット
    内の複数の目的別情報を全て前記第1の記憶手段の個々
    の記憶エリアに書き込み、前記ヘッダ生成手段が前記第
    1の記憶手段に記憶された目的別情報に基づいて新しい
    目的別情報を生成して前記個々の記憶エリアに書き込
    み、前記パケット生成手段が新しく生成するパケットの
    種類に応じて前記個々の記憶エリアから前記目的別情報
    を読み出して新しいパケットを生成するよう構成された
    請求項8から14のいずれか1つに記載のパケット処理
    装置。
  16. 【請求項16】 前記第2の記憶手段は、複数の受信パ
    ケット内の個々の前記第2の情報を前記パケット生成手
    段が判別して読み出し可能に記憶する判別記憶手段を有
    するよう構成された請求項1から15のいずれか1つに
    記載のパケット処理装置。
  17. 【請求項17】 受信パケットをヘッダ情報を含む第1
    の情報と前記第1の情報に続いて受信する第2の情報に
    受信順に分解するパケット分解ステップと、 前記パケット分解ステップにより分解された第1の情報
    及び第2の情報を分解順にそれぞれ第1、第2の記憶手
    段に記憶するステップと、 前記第1の記憶手段に記憶された前記第1の情報に基づ
    いて新しいヘッダ情報を生成するヘッダ生成ステップ
    と、 前記ヘッダ生成ステップにより生成されたヘッダ情報と
    前記第2の記憶手段に記憶された第2の情報に基づいて
    新しいパケットを生成するパケット生成ステップとを備
    え、 前記第2の記憶手段が前記第2の情報の記憶を完了する
    前に、前記ヘッダ生成ステップが新しいヘッダ情報の生
    成を開始するよう構成されたパケット処理方法。
JP2001228144A 2001-07-27 2001-07-27 パケット処理装置及び方法 Withdrawn JP2003046566A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001228144A JP2003046566A (ja) 2001-07-27 2001-07-27 パケット処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001228144A JP2003046566A (ja) 2001-07-27 2001-07-27 パケット処理装置及び方法

Publications (1)

Publication Number Publication Date
JP2003046566A true JP2003046566A (ja) 2003-02-14

Family

ID=19060695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001228144A Withdrawn JP2003046566A (ja) 2001-07-27 2001-07-27 パケット処理装置及び方法

Country Status (1)

Country Link
JP (1) JP2003046566A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006081033A (ja) * 2004-09-10 2006-03-23 Canon Inc 通信制御装置及び方法
JP2006081032A (ja) * 2004-09-10 2006-03-23 Canon Inc 通信制御装置及び方法
JP2014509138A (ja) * 2011-05-27 2014-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶域削減のためのデータ・パケットの作成および変更に関する方法、コンピュータ・システム、およびコンピュータ・プログラム(製品)(メモリ節約パケット変更)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006081033A (ja) * 2004-09-10 2006-03-23 Canon Inc 通信制御装置及び方法
JP2006081032A (ja) * 2004-09-10 2006-03-23 Canon Inc 通信制御装置及び方法
JP4612821B2 (ja) * 2004-09-10 2011-01-12 キヤノン株式会社 通信制御装置及び方法
JP4612820B2 (ja) * 2004-09-10 2011-01-12 キヤノン株式会社 通信制御装置及び方法
JP2014509138A (ja) * 2011-05-27 2014-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶域削減のためのデータ・パケットの作成および変更に関する方法、コンピュータ・システム、およびコンピュータ・プログラム(製品)(メモリ節約パケット変更)
US8902890B2 (en) 2011-05-27 2014-12-02 International Business Machines Corporation Memory saving packet modification
US8982886B2 (en) 2011-05-27 2015-03-17 International Business Machines Corporation Memory saving packet modification

Similar Documents

Publication Publication Date Title
US20210051045A1 (en) Communication switching apparatus for switching data in multiple protocol data frame formats
US6574240B1 (en) Apparatus and method for implementing distributed layer 3 learning in a network switch
US6571291B1 (en) Apparatus and method for validating and updating an IP checksum in a network switching system
US6754211B1 (en) Method and apparatus for wire speed IP multicast forwarding
US9807134B2 (en) Method and device for filtering media packets
US8325716B2 (en) Data path optimization algorithm
US6728213B1 (en) Selective admission control in a network device
US6898752B2 (en) Apparatus and methods for combinational error detection in an InfiniBand switch
KR20020059657A (ko) 네트워크 스위치 포트 상에서 데이터 패킷들의 타입을실시간으로 확인하는 장치 및 방법
JP2002314571A (ja) スイッチングノードのための分類およびタグ付け規則
JP4182180B2 (ja) ネットワーク中継装置及びネットワーク中継方法
TW576048B (en) Apparatus and method for identifying data packet at wire rate on a network switch port
US6807183B1 (en) Arrangement for reading a prescribed location of a FIFO buffer in a network switch port
WO2008003218A1 (fr) Procédé, dispositif et système de transmission d'informations entre des appareils dans éthernet
EP1303949B1 (en) Apparatus and method for buffer-free evaluation of packet data bytes with multiple min terms
US20060002393A1 (en) Primary control marker data structure
JP2003046566A (ja) パケット処理装置及び方法
US8208482B2 (en) Transmitting packets between packet controller and network processor
JP3645735B2 (ja) ネットワーク中継装置及びネットワーク中継方法
US7706409B2 (en) System and method for parsing, filtering, and computing the checksum in a host Ethernet adapter (HEA)
US6938198B1 (en) Method and system for accelerating ethernet checksums
JPH10200558A (ja) 通信システム、通信装置、および、通信方法
US6885666B1 (en) Apparatus and method in a network switch for synchronizing transfer of a control tag to a switch fabric with transfer of frame data to a buffer memory
US7400647B1 (en) Look up table (LUT) for point-to-point protocol identification (PPP ID)
KR100415585B1 (ko) 고속 라우터 시스템의 비동기 전달모드 접속장치

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007