JP3612512B2 - Network relay device, network relay method, and program - Google Patents
Network relay device, network relay method, and program Download PDFInfo
- Publication number
- JP3612512B2 JP3612512B2 JP2001345574A JP2001345574A JP3612512B2 JP 3612512 B2 JP3612512 B2 JP 3612512B2 JP 2001345574 A JP2001345574 A JP 2001345574A JP 2001345574 A JP2001345574 A JP 2001345574A JP 3612512 B2 JP3612512 B2 JP 3612512B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- output port
- processing
- input
- loopback
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、ブリッジ,ルータ,マルチレイヤスイッチ等に適用するネットワーク中継技術に関し、特に、経済的な構成でパケットロスをなくすことができるネットワーク中継技術に関する。
【0002】
【従来の技術】
ブリッジ,ルータ,マルチレイヤスイッチ等のネットワーク中継装置に於いては、一般に、入力ポートを介して受信したパケットを入力バッファに一時的に蓄積し、蓄積したパケットを蓄積順に順次処理するようにしている。従って、パケットの到来間隔に比較して、パケットに対する処理時間が長くなってしまうと、受信したパケットが徐々に入力バッファに滞留し、最終的には、オーバフロー(パケットロス)が発生してしまう。また、入力ポート毎に入力バッファを備えていない形式のネットワーク中継装置においても、パケット到来間隔に比較して処理時間が長くなると、パケットロスが発生してしまう。
【0003】
パケットロスが発生した場合、ネットワークの上位レイヤに於いて、パケットの再送処理が行われる。パケットの再送処理が行われると、トラフィックの増大→ネットワーク中継装置の負荷増加→パケットロス→再送処理という悪循環に陥る場合もある。また、上位レイヤの再送処理が完了するまで、クライアントの処理が停止してしまう場合も多い。
【0004】
このような事態の発生を防ぐため、従来は、ネットワーク中継装置の動作クロックを高くし、パケットに対する処理時間がパケットの到来間隔よりも短くなるようにしている。
【0005】
【発明が解決しようとする課題】
しかし、ネットワーク中継装置の動作クロックを高くすることによりパケットロスを防ぐ手法は、高速動作が可能な高価なハードウェアを使用しなければならないため、価格が高くなるという問題があると共に、消費電力が増大するという問題もある。
【0006】
また、近年、ネットワークの拡大や、LAN,WAN等の回線スピードの向上に伴い、ブリッジ,ルータ,マルチレイヤスイッチ等のネットワーク中継装置を流れるデータ量が爆発的に増大している。更に、ネットワーク中継装置に於いては、ブリッジング処理,ルーティング処理等の基本的な処理に加え、エンカプセル処理,アドレス変換処理,フィルタリング処理等も行われるようになってきており、その処理内容は益々複雑化する傾向にある。従って、今後、ネットワーク中継装置の動作クロックのアップだけでは、パケットロスに対応できなくなることも十分に予測される。
【0007】
そこで、本発明の目的は、経済的な構成でパケットロスを防止できるようにすることにある。
【0008】
【課題を解決するための手段】
本発明のネットワーク中継装置は、上記目的を達成するため、
複数の入力ポートと複数の出力ポートとを備え、入力ポートを介して受信したパケットに対して変換処理を含む中継処理を実行し、中継処理の完了したパケットをその送信先に対応する出力ポートに出力するネットワーク中継装置であって、
前記中継処理を複数の部分処理に分割し、前記受信したパケットに対して前記複数の部分処理を順次行う際、1つの部分処理の終了後にその処理結果を、前記複数の入力ポートの内の、次の部分処理用に割り当てられている入力ポートにループバックし、前記次の部分処理に前記ループバックされた処理結果を用いた処理を行わせる手段を備えている。
【0009】
この構成によれば、入力ポートを介して受信したパケットに対して、部分処理を順次行うようにしているので、中継処理全体の処理時間がパケットの到来間隔よりも長くても、各部分処理の処理時間をパケットの到来時間よりも短くすることができ、その結果、パケットロスの発生を防ぐことができる。例えば、中継処理全体の処理時間が2T、パケットの到来間隔が1Tである場合、中継処理を2つの部分処理に分割し、分割処理それぞれの処理時間を1Tとすれば、パケットロスの発生を防ぐことができる。また、ネットワーク中継装置の動作クロックを、中継処理を複数の部分処理に分けない場合に比較して低く抑えることができるので、ネットワーク中継装置を低速で安価な部品を使用して構成することができ、また、消費電力も低く抑えることができる。
【0010】
より具体的には、本発明のネットワーク中継装置は、
複数の入力ポートと、該複数の入力ポート毎の入力バッファと、複数の出力ポートとを備え、入力ポートを介して入力バッファに蓄積されたパケットの送信先に対応する出力ポートが前記複数の出力ポートの内の特定出力ポートである場合、前記蓄積されたパケットに対して変換処理を含む中継処理を実行し、中継処理の完了したパケットを前記特定出力ポートに出力するネットワーク中継装置であって、
前記入力バッファに蓄積されたパケットの送信先に対応する出力ポートが前記特定出力ポートである場合、前記蓄積されたパケットに対して前記中継処理の内の一部の処理を実行し、該一部の処理が完了したパケットを前記複数の入力ポート及び出力ポートの内の、ループバック用出力ポート及びループバック用入力ポートを用いてループバックすることにより前記ループバック用入力ポートに対応するループバック用入力バッファに蓄積し、該ループバック用入力バッファに蓄積されたパケットに対して前記中継処理の内の残りの処理を実行し、該残りの処理が完了したパケットを前記特定出力ポートに出力する手段を備えている。
【0011】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0012】
図1を参照すると、本発明の一実施例としてのマルチレイヤスイッチの構成例が示されている。本実施例のマルチレイヤスイッチは、LAN回線処理部1と、ループバック回路2と、パケット変換処理部3と、パケット用バッファ管理部4と、バッファメモリ5とから構成されている。
【0013】
LAN回線処理部1は、入力ポートと出力ポートとの対からなる複数の入出力ポート11−1〜11−nと、各入出力ポート11−1〜11−n毎の入力バッファ12−1〜12−nとを備えている。入出力ポート11−1〜11−nの内、第j番目の入出力ポート11−j(ループバック用入出力ポート11−j)は、ループバック回路2に接続されており、第n番目の入出力ポート11−n(特定入出力ポート11−n)は、インターネット6に接続されている。ループバック用入出力ポート11−j,特定入出力ポート11−n以外の入出力ポートは、それぞれ異なるLAN(図示せず)に接続されている。尚、LAN回線処理部1は、例えば、MACチップと呼ばれるLSIを用いて構成される。
【0014】
ループバック回路2は、ループバック用入出力ポート11−jを構成する出力ポート(ループバック用出力ポートと称す)と入力ポート(ループバック用入力ポート)とを接続し、ループバック用出力ポートから出力されたパケットをループバック用入力ポートにループバックする。
【0015】
パケット変換処理部3は、例えば、ネットワーク処理プロセッサにより構成されるものであり、第1の処理手段31と、第2の処理手段33と、フォワードテーブル33と、記録媒体K1とを備えている。
【0016】
パケット変換処理部3は、エンカプセル処理を含む中継処理を実行するものであり、第1,第2の処理手段31,32が中継処理を分割して行う。
【0017】
第1の処理手段31は、入力バッファ12−1〜12−nの内の、ループバック用入力バッファ12−j以外の入力バッファを順次処理対象にして、下記A〜Cの処理を行う。
【0018】
A.処理対象にしている入力バッファにパケットが蓄積されている場合、パケットの送信先アドレスとフォワードテーブル33の内容とに基づいて、パケットの出力先の出力ポートを決定する。
B.Aで決定した出力ポートが、インターネット接続用の特定出力ポートの場合は、パケット用バッファ管理部4にパケットを渡すと共に、そのパケットの出力先を示す情報としてループバック用出力ポートのポート番号を渡す。
C.Aで決定した出力ポートが、インターネット接続用の特定出力ポートでない場合は、パケット用バッファ管理部4にパケットを渡すと共に、そのパケットの出力先を示す情報としてAで決定した出力ポートのポート番号を渡す。
【0019】
第2の処理手段32は、ループバック用入力バッファ12−jを処理対象にし、下記D,Eの処理を行う。
【0020】
D.ループバック用入力バッファ12−jに蓄積されているパケットを取り出し、エンカプセル処理を行う。
E.パケット用バッファ管理部4にエンカプセル処理の済んだパケットを渡すと共に、そのパケットの出力ポートを示す情報として、インターネット接続用の特定出力ポートのポート番号を渡す。
【0021】
パケット変換処理部3が備えている記録媒体K1は、ディスク,半導体メモリ,その他の記録媒体であり、ネットワーク処理プロセッサをパケット変換処理部3として機能させるためのプログラムが記録されている。このプログラムは、ネットワーク処理プロセッサによって読み取られ、その動作を制御することで、ネットワーク処理プロセッサ上に第1,第2の処理手段31,32を実現する。
【0022】
バッファメモリ5は、複数の部分領域に分割されており、各部分領域には、パケットとその出力先の出力ポートのポート番号とが格納される。パケット用バッファ管理部4は、パケット変換処理部3から渡されたパケットとポート番号との対を、前回対を格納した部分領域の次の部分領域に格納すると共に、格納順が古いものから順番にパケットとポート番号との対を読み出し、上記パケットをパケット変換処理部3→LAN回線処理部1を介して上記ポート番号の出力ポートに出力する。つまり、パケット用バッファ管理部4とバッファメモリ5とは、待ち行列として動作する。
【0023】
【実施例の動作の説明】
次に本実施例の動作について詳細に説明する。
【0024】
今、例えば、図2に示すように、入出力ポート11−2に受信パケット7が入力され、入力バッファ12−2に蓄積されたとする。尚、図2に於いて、図1と同一符号は同一部分を表している。また、受信パケット7は、図3に示すように、送信先アドレス(DA),送信元アドレス(SA),種類(TYPE),IPヘッダ(IP Header),情報(Infomation)を含んでいる。また、IPヘッダには、存在時間(TTL)、チェックサム(CS)が含まれている。
【0025】
パケット変換処理部3内の第1の処理手段31は、ループバック用入力バッファ12−j以外の入力バッファを順次処理対象にしている。今、例えば、入力バッファ12−2を処理対象にしたとすると、入力バッファ12−2には、受信パケット7が蓄積されているので、図4の流れ図に示す処理を行う。
【0026】
先ず、第1の処理手段31は、受信パケット7から送信先アドレス(DA)を取り出す(ステップA1)。次いで、上記送信先アドレス(DA)と、フォワードテーブル33の内容とに基づいて、受信パケット7の出力先の出力ポートを決定する(ステップA2)。
【0027】
その後、存在時間(TTL)を−1し、更に、チェックサム(CS)を再計算する(ステップA3,A4)。次いで、ステップA2で求めた出力ポートが、インターネット接続用の特定出力ポート(第n番目の出力ポート)であるか否かを判定する(ステップA5)。
【0028】
そして、特定出力ポートであると判定した場合、即ち受信パケット7がインターネット6へ送出するものである場合(ステップA5がYES)は、パケット用バッファ管理部4に、受信パケット7とループバック用出力ポートのポート番号(#jとする)との対を渡す(ステップA6)。これにより、パケット用バッファ管理部4は、バッファメモリ5の格納対象領域に、受信パケット7とポート番号#jとの対を格納する。その後、パケット用バッファ管理部4は、バッファメモリ5から上記受信パケット7とポート番号#jとの対を読み出し、上記受信パケット7を、パケット変換処理部3→LAN回線処理部1を介してポート番号#jのループバック用出力ポートに出力する。ループバック用出力ポートから出力された受信パケット7は、ループバック回路2→ループバック用入力ポートを介してループバック用入力バッファ12−jに格納される。
【0029】
これに対して、特定出力ポートでないと判定した場合、即ち受信パケット7が他のLANに送出するものである場合(ステップA5がNO)は、パケット用バッファ管理部4に、受信パケット7とステップA2で決定した出力ポートのポート番号(#xとする)との対を渡す(ステップA7)。これにより、パケット用バッファ管理部4は、バッファメモリ5の格納対象領域に、受信パケット7とポート番号#xとの対を格納する。その後、パケット用バッファ管理部4は、バッファメモリ5から受信パケット7とポート番号#xとの対を読み出し、上記受信パケット7を、パケット変換処理部3→LAN回線処理部1を介して、ポート番号#xの出力ポートに出力する。
【0030】
一方、第2の処理手段32は、ループバック用入力バッファ12−jのみを処理対象にしており、ループバック用入力バッファ12−jに受信パケット7が格納されると、図5の流れ図に示す処理を行う。
【0031】
先ず、追加IPヘッダを作成する(ステップB1)。次いで、図3に示すように、受信パケット7に追加IPヘッダを追加することにより、送信パケット8を作成する(ステップB2)。その後、パケット用バッファ管理部4に送信パケット8と特定出力ポートのポート番号(#nとする)との対を渡す(ステップB3)。これにより、パケット用バッファ管理部4は、バッファメモリ5の格納対象領域に、送信パケット8とポート番号#nとの対を格納する。その後、パケット用バッファ管理部4は、バッファメモリ5から送信パケット8とポート番号#nとの対を読み出し、上記送信パケット8を、パケット変換処理部3→LAN回線処理部1を介して、ポート番号#nの特定出力ポートに出力する。
【0032】
尚、上述した実施例では、ネットワーク中継装置が行う中継処理を2つの部分処理に分割するようにしたが、3個以上の部分処理に分割するようにしても良い。その場合には、分割数に応じた処理手段とループバック回路とを設ける必要がある。例えば、中継処理を第1〜第mのm個の部分処理に分割した場合には、第1〜第mの部分処理を実行するm個の処理手段、第1〜第(m−1)の処理手段の処理結果をループバックする(m−1)個のループバック回路、及び第1〜第(m−1)のループバック回路に対応する(m−1)個の入力バッファを設ける必要がある。
【0033】
【発明の他の実施例】
図6は本発明の他の実施例のブロック図であり、図1に示した実施例と相違している点は、パケット変換処理部3の代わりにパケット変換処理部3aを備えている点と、入出力ポート11−k(ループバック用入出力ポート11−k)にループバック回路2kが接続されている点である。
【0034】
パケット変換処理部3aは、エンカプセル処理,フィルタ処理を含む中継処理を実行するものであり、例えば、ネットワーク処理プロセッサにより実現される。
【0035】
パケット変換処理部3aと図1に示したパケット変換処理部3との相違点は、第2の処理手段32の代わりに第2の処理手段32aを備えている点、記録媒体K1の代わりに記録媒体K1aを備えている点、および第3の処理手段34が追加されている点である。
【0036】
第2の処理手段32aは、図1に示した第2の処理手段32とほぼ同様の機能を有するが、エンカプセル処理の済んだパケットを、インターネット接続用の特定出力ポートに出力する代わりに、ループバック回路2kが接続されているループバック用出力ポートに出力する点が相違している。
【0037】
第3の処理手段34は、ループバック用入力バッファ12−kに蓄積されているパケットを処理対象にしてフィルタ処理を行う。
【0038】
記録媒体k1aは、ディスク,半導体メモリ,その他の記録媒体であり、ネットワーク処理プロセッサをパケット変換処理部3aとして機能させるためのプログラムが記録されている。このプログラムは、ネットワーク処理プロセッサによって読み取られ、その動作を制御することで、ネットワーク処理プロセッサ上に、第1,第2,第3の処理手段31,32a,34を実現する。
【0039】
次に、本実施例の動作について説明する。
【0040】
入出力ポート11−1から入力されたパケットPが入力バッファ12−1に蓄積されると、第1の処理手段31は、前述した図4の流れ図に示す処理を行う。今、例えば、上記パケットPの送信先に対応する出力ポートが、インターネット接続用の特定出力ポートであったとすると(ステップA5がYES)、パケットPは、ループバック回路2を介してループバック用入力バッファ12−jに格納される。
【0041】
その後、第2の処理手段32aが、ループバック用入力バッファ12−jに格納された上記パケットPを処理対象にして、図5の流れ図のステップB1,B2に示す処理を行う。その後、第2の処理手段32aは、ステップB3の処理を行う代わりに、エンカプセル処理の済んだパケットPを、ループバック回路2kが接続されているループバック用出力ポートに出力させるための処理を行う。これにより、パケットPは、ループバック用入力バッファ12−kに格納される。
【0042】
その後、第3の処理手段34が、ループバック用入力バッファ12−kに格納されたパケットPを処理対象にして、図7の流れ図に示す処理を行う。
【0043】
最初のステップC1では、パケットPから送信元アドレス(SA)を取り出す。次のステップC2では、送信元アドレス(SA)と、管理者によって指定されているアドレスとに基づいて、上記パケットPの送信元がインターネット6の利用を許可されているか否かを判断する。
【0044】
そして、インターネット6の利用を禁止されていると判断した場合は、パケットPを破棄する(ステップC2がYES,ステップC3)。これに対して、インターネットの利用が許可されていると判断した場合は、パケット用バッファ管理部4にパケットPとインターネット接続用の特定出力ポートのポート番号#nとの対を渡す(ステップC2がNO,ステップC4)。これにより、パケット用バッファ管理部4は、バッファメモリ5の格納対象領域に、パケットPとポート番号#nとの対を格納する。その後、パケット用バッファ管理部4は、バッファメモリ5からパケットPとポート番号#nとの対を読み出し、上記パケットPを、パケット変換処理部3a→LAN回線処理部1を介して、ポート番号#nの特定出力ポートに出力する。
【0045】
【発明の効果】
以上説明したように、本発明は、入力ポートを介して受信したパケットに対して、部分処理を順次行うようにしているので、中継処理全体の処理時間がパケットの到来間隔よりも長くても、各部分処理の処理時間をパケットの到来間隔よりも短くすることができ、その結果、パケットロスの発生を防ぐことができる。また、ネットワーク中継装置の動作クロックは、中継処理を複数の部分処理に分けない場合に比較して低く抑えることができるので、ネットワーク中継装置を低速で安価な部品を使用して構成できると共に、消費電力を低く抑えることができる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】本発明の一実施例の動作を説明するための図である。
【図3】受信パケット7,送信パケット8の構成例を示す図である。
【図4】第1の処理手段31の処理例を示す流れ図である。
【図5】第2の処理手段32の処理例を示す流れ図である。
【図6】本発明の他の実施例のブロック図である。
【図7】第3の処理手段34の処理例を示す流れ図である。
【符号の説明】
1…LAN回線処理部
11−1〜11−n…入出力ポート
12−1〜12−n…入力バッファ
2,2k…ループバック回路
3,3a…パケット変換処理部
31…第1の処理手段
32…第2の処理手段
33…フォワードテーブル
34…第3の処理手段
K1,K1a…記録媒体
4…パケット用バッファ管理部
5…バッファメモリ
6…インターネット
7…受信パケット
8…送信パケット
DA…送信先アドレス
SA…送信元アドレス
TYPE…種類
IP Header…IPヘッダ
Information…情報
TTL…存在時間
CS…チェックサム[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a network relay technology applied to bridges, routers, multilayer switches, and the like, and more particularly to a network relay technology capable of eliminating packet loss with an economical configuration.
[0002]
[Prior art]
In network relay devices such as bridges, routers, and multilayer switches, generally, packets received via input ports are temporarily stored in an input buffer, and the stored packets are sequentially processed in the order of storage. . Therefore, if the processing time for the packet becomes longer than the packet arrival interval, the received packet gradually stays in the input buffer, and eventually overflow (packet loss) occurs. Even in a network relay device of a type that does not include an input buffer for each input port, a packet loss occurs when the processing time is longer than the packet arrival interval.
[0003]
When packet loss occurs, packet retransmission processing is performed in an upper layer of the network. When packet retransmission processing is performed, there may be a vicious circle of traffic increase → load increase of network relay device → packet loss → retransmission processing. Also, the client process often stops until the upper layer retransmission process is completed.
[0004]
In order to prevent the occurrence of such a situation, conventionally, the operation clock of the network relay device is made high so that the processing time for the packet becomes shorter than the arrival interval of the packet.
[0005]
[Problems to be solved by the invention]
However, the method of preventing packet loss by increasing the operation clock of the network relay device has to use expensive hardware capable of high-speed operation, which increases the price and power consumption. There is also the problem of increasing.
[0006]
In recent years, the amount of data flowing through network relay devices such as bridges, routers, and multilayer switches has increased explosively with the expansion of networks and the improvement of line speeds such as LAN and WAN. Furthermore, in a network relay device, in addition to basic processing such as bridging processing and routing processing, encapsulation processing, address conversion processing, filtering processing, and the like have been performed. It tends to become more complex. Therefore, it is fully predicted that it will not be possible to cope with packet loss only by increasing the operation clock of the network relay device in the future.
[0007]
Therefore, an object of the present invention is to enable packet loss to be prevented with an economical configuration.
[0008]
[Means for Solving the Problems]
The network relay device of the present invention achieves the above-described object,
A plurality of input ports and a plurality of output ports are provided, relay processing including conversion processing is executed for packets received via the input ports, and the packets for which relay processing has been completed are output to the output port corresponding to the destination. An output network relay device,
The relay process is divided into a plurality of partial processes, and when the plurality of partial processes are sequentially performed on the received packet, the processing result is obtained from the plurality of input ports after the completion of one partial process. Means is provided for looping back to an input port assigned for the next partial processing and causing the next partial processing to perform processing using the looped-back processing result.
[0009]
According to this configuration, partial processing is sequentially performed on packets received via the input port. Therefore, even if the processing time of the entire relay processing is longer than the packet arrival interval, The processing time can be made shorter than the packet arrival time, and as a result, the occurrence of packet loss can be prevented. For example, if the processing time of the entire relay processing is 2T and the packet arrival interval is 1T, the relay processing is divided into two partial processes, and the processing time of each of the divided processing is 1T, thereby preventing packet loss. be able to. In addition, since the operation clock of the network relay device can be kept low compared to when the relay processing is not divided into a plurality of partial processes, the network relay device can be configured using low-speed and inexpensive parts. In addition, power consumption can be kept low.
[0010]
More specifically, the network relay device of the present invention is:
A plurality of input ports, an input buffer for each of the plurality of input ports, and a plurality of output ports, and an output port corresponding to a transmission destination of a packet stored in the input buffer via the input port A network relay device that executes relay processing including conversion processing on the accumulated packets and outputs the packets that have undergone relay processing to the specific output port when the specific output port is a port,
When the output port corresponding to the transmission destination of the packet stored in the input buffer is the specific output port, a part of the relay processing is executed on the stored packet, and the part Looping back a packet for which the processing of
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0012]
Referring to FIG. 1, there is shown a configuration example of a multilayer switch as an embodiment of the present invention. The multi-layer switch of the present embodiment includes a LAN
[0013]
The LAN
[0014]
The
[0015]
The packet
[0016]
The packet
[0017]
The first processing means 31 performs the following processes A to C on the input buffers 12-1 to 12-n other than the loopback input buffer 12-j as processing targets.
[0018]
A. When the packet is accumulated in the input buffer to be processed, the output port of the packet output destination is determined based on the packet destination address and the contents of the forward table 33.
B. If the output port determined in A is a specific output port for Internet connection, the packet is passed to the packet
C. If the output port determined in A is not a specific output port for Internet connection, the packet is transferred to the packet
[0019]
The
[0020]
D. The packet stored in the loopback input buffer 12-j is taken out and encapsulated.
E. The encapsulated packet is passed to the packet
[0021]
The recording medium K1 provided in the packet
[0022]
The
[0023]
[Description of operation of embodiment]
Next, the operation of this embodiment will be described in detail.
[0024]
Now, for example, as shown in FIG. 2, it is assumed that the received
[0025]
The first processing means 31 in the packet
[0026]
First, the first processing means 31 extracts the transmission destination address (DA) from the received packet 7 (step A1). Next, based on the transmission destination address (DA) and the contents of the forward table 33, the output port of the output destination of the received
[0027]
Thereafter, the existence time (TTL) is decremented by 1, and the checksum (CS) is recalculated (steps A3 and A4). Next, it is determined whether or not the output port obtained in step A2 is a specific output port (nth output port) for Internet connection (step A5).
[0028]
If it is determined that the port is a specific output port, that is, if the received
[0029]
On the other hand, when it is determined that the port is not a specific output port, that is, when the received
[0030]
On the other hand, the second processing means 32 targets only the loopback input buffer 12-j, and when the received
[0031]
First, an additional IP header is created (step B1). Next, as shown in FIG. 3, a transmission packet 8 is created by adding an additional IP header to the reception packet 7 (step B2). Thereafter, a pair of the transmission packet 8 and the port number (referred to as #n) of the specific output port is passed to the packet buffer management unit 4 (step B3). Thus, the packet
[0032]
In the above-described embodiment, the relay process performed by the network relay device is divided into two partial processes, but may be divided into three or more partial processes. In that case, it is necessary to provide processing means and a loopback circuit according to the number of divisions. For example, when the relay process is divided into the first to m-th m partial processes, m processing means for executing the first to m-th partial processes, the first to (m-1) th (m-1) th processes. It is necessary to provide (m−1) loopback circuits for looping back the processing results of the processing means, and (m−1) input buffers corresponding to the first to (m−1) th loopback circuits. is there.
[0033]
Other Embodiments of the Invention
FIG. 6 is a block diagram of another embodiment of the present invention. The difference from the embodiment shown in FIG. 1 is that a packet conversion processing unit 3a is provided instead of the packet
[0034]
The packet conversion processing unit 3a executes relay processing including encapsulation processing and filter processing, and is realized by, for example, a network processing processor.
[0035]
The difference between the packet conversion processing unit 3a and the packet
[0036]
The second processing means 32a has substantially the same function as the second processing means 32 shown in FIG. 1, but instead of outputting the encapsulated packet to a specific output port for Internet connection, The difference is that the data is output to a loopback output port to which the loopback circuit 2k is connected.
[0037]
The third processing means 34 performs a filtering process on the packets accumulated in the loopback input buffer 12-k as a processing target.
[0038]
The recording medium k1a is a disk, semiconductor memory, or other recording medium, and stores a program for causing the network processing processor to function as the packet conversion processing unit 3a. This program is read by the network processing processor, and controls the operation thereof, thereby realizing the first, second, and third processing means 31, 32a, and 34 on the network processing processor.
[0039]
Next, the operation of this embodiment will be described.
[0040]
When the packet P input from the input / output port 11-1 is accumulated in the input buffer 12-1, the first processing means 31 performs the processing shown in the flowchart of FIG. Now, for example, if the output port corresponding to the transmission destination of the packet P is a specific output port for Internet connection (YES in step A5), the packet P is input to the loopback via the
[0041]
Thereafter, the second processing means 32a performs the processing shown in steps B1 and B2 in the flowchart of FIG. 5 on the packet P stored in the loopback input buffer 12-j as a processing target. Thereafter, the second processing means 32a performs processing for outputting the packet P that has undergone the encapsulation processing to the loopback output port to which the loopback circuit 2k is connected, instead of performing the processing of step B3. Do. As a result, the packet P is stored in the loopback input buffer 12-k.
[0042]
Thereafter, the third processing means 34 performs the processing shown in the flowchart of FIG. 7 with the packet P stored in the loopback input buffer 12-k as a processing target.
[0043]
In the first step C1, the source address (SA) is extracted from the packet P. In the next step C2, it is determined whether or not the transmission source of the packet P is permitted to use the
[0044]
If it is determined that the use of the
[0045]
【The invention's effect】
As described above, according to the present invention, partial processing is sequentially performed on a packet received via an input port. Therefore, even if the processing time of the entire relay processing is longer than the packet arrival interval, The processing time of each partial process can be made shorter than the packet arrival interval, and as a result, occurrence of packet loss can be prevented. In addition, since the operation clock of the network relay device can be kept low compared with the case where the relay processing is not divided into a plurality of partial processes, the network relay device can be configured using low-speed and inexpensive parts and consumed. Electric power can be kept low.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of the present invention.
FIG. 2 is a diagram for explaining the operation of an embodiment of the present invention.
3 is a diagram illustrating a configuration example of a
FIG. 4 is a flowchart showing a processing example of the first processing means 31;
FIG. 5 is a flowchart showing a processing example of the second processing means 32;
FIG. 6 is a block diagram of another embodiment of the present invention.
FIG. 7 is a flowchart showing a processing example of the third processing means 34;
[Explanation of symbols]
DESCRIPTION OF
Claims (13)
前記中継処理を複数の部分処理に分割し、前記受信したパケットに対して前記複数の部分処理を順次行う際、1つの部分処理の終了後にその処理結果を、前記複数の入力ポートの内の、次の部分処理用に割り当てられている入力ポートにループバックし、前記次の部分処理に前記ループバックされた処理結果を用いた処理を行わせる手段を備えたことを特徴とするネットワーク中継装置。A plurality of input ports and a plurality of output ports are provided, relay processing including conversion processing is executed for packets received via the input ports, and the packets for which relay processing has been completed are output to the output port corresponding to the destination. An output network relay device,
The relay process is divided into a plurality of partial processes, and when the plurality of partial processes are sequentially performed on the received packet, the processing result is obtained from the plurality of input ports after the completion of one partial process. A network relay device comprising means for looping back to an input port assigned for the next partial process and causing the next partial process to perform processing using the looped back processing result.
前記入力バッファに蓄積されたパケットの送信先に対応する出力ポートが前記特定出力ポートである場合、前記蓄積されたパケットに対して前記中継処理の内の一部の処理を実行し、該一部の処理が完了したパケットを前記複数の入力ポート及び出力ポートの内の、ループバック用出力ポート及びループバック用入力ポートを用いてループバックすることにより前記ループバック用入力ポートに対応するループバック用入力バッファに蓄積し、該ループバック用入力バッファに蓄積されたパケットに対して前記中継処理の内の残りの処理を実行し、該残りの処理が完了したパケットを前記特定出力ポートに出力する手段を備えたことを特徴とするネットワーク中継装置。A plurality of input ports, an input buffer for each of the plurality of input ports, and a plurality of output ports, and an output port corresponding to a transmission destination of packets accumulated in the input buffer via the input ports A network relay device that executes relay processing including conversion processing on the accumulated packets and outputs a packet for which relay processing has been completed to the specific output port when the port is a specific output port;
When the output port corresponding to the transmission destination of the packet accumulated in the input buffer is the specific output port, a part of the relay processing is executed on the accumulated packet, and the part Looping back the packet that has been processed in the loopback using the loopback output port and the loopback input port among the plurality of input ports and output ports. Means for accumulating in the input buffer, executing the remaining processing of the relay processing on the packet accumulated in the loopback input buffer, and outputting the completed packet to the specific output port A network relay device comprising:
前記ループバック用入力ポートと、前記複数の出力ポートの内のループバック用出力ポートとを接続するループバック回路と、
前記入力バッファから取り出したパケットの送信先に対応する出力ポートが前記特定出力ポートである場合、前記取り出したパケットに対して前記中継処理の内の一部の処理を行い、該一部の処理が完了したパケットを前記ループバック用出力ポートに出力することにより前記ループバック用入力バッファに蓄積し、該ループバック用入力バッファに蓄積されたパケットに対して前記中継処理の内の残りの処理を実行し、該残りの処理が完了したパケットを前記特定出力ポートに出力するパケット変換処理部とを備えたことを特徴とするネットワーク中継装置。In the network relay device according to claim 2,
A loopback circuit that connects the loopback input port and a loopback output port of the plurality of output ports;
When the output port corresponding to the transmission destination of the packet extracted from the input buffer is the specific output port, a part of the relay processing is performed on the extracted packet, and the partial processing is By outputting the completed packet to the loopback output port, it is accumulated in the loopback input buffer, and the remaining processing of the relay processing is executed on the packet accumulated in the loopback input buffer. And a packet conversion processing unit for outputting the packet for which the remaining processing is completed to the specific output port.
前記特定出力ポートがインターネットに接続される出力ポートであり、前記ループバック用出力ポートが前記ループバック回路に接続される出力ポートであり、残りの出力ポートがそれぞれ異なるLANに接続される出力ポートであることを特徴とするネットワーク中継装置。In the network relay device according to claim 3,
The specific output port is an output port connected to the Internet, the loopback output port is an output port connected to the loopback circuit, and the remaining output ports are output ports connected to different LANs. A network relay device characterized by being.
前記変換処理がエンカプセル処理であることを特徴とするネットワーク中継装置。The network relay device according to claim 4, wherein
A network relay device, wherein the conversion process is an encapsulation process.
前記中継処理を複数の部分処理に分割し、
前記受信したパケットに対して前記複数の部分処理を順次行う際、1つの部分処理の終了後にその処理結果を、前記複数の入力ポートの内の、次の部分処理用に割り当てられている入力ポートにループバックし、前記次の部分処理に前記ループバックされた処理結果を用いた処理を行わせることを特徴とするネットワーク中継方法。A plurality of input ports and a plurality of output ports are provided, relay processing including conversion processing is executed for packets received via the input ports, and the packets for which relay processing has been completed are output to the output port corresponding to the destination. A network relay method in an output network relay device,
Dividing the relay process into a plurality of partial processes;
When the plurality of partial processes are sequentially performed on the received packet, the result of processing after the completion of one partial process is assigned to an input port assigned to the next partial process among the plurality of input ports. A network relay method, wherein the next partial process is caused to perform a process using the looped back process result.
前記入力ポートを介して前記入力バッファに蓄積されたパケットの送信先に対応する出力ポートが前記複数の出力ポートの内の特定出力ポートである場合、前記蓄積されたパケットに対して変換処理を含む中継処理の内の一部の処理を実行し、
該一部の処理が完了したパケットを前記複数の入力ポート及び出力ポートの内のループバック用出力ポート及びループバック用入力ポートを用いてループバックすることにより前記ループバック用入力ポートに対応するループバック用入力バッファに蓄積し、
該ループバック用入力バッファに蓄積されたパケットに対して前記中継処理の内の残りの処理を実行し、
該残りの処理が完了したパケットを前記特定出力ポートに出力することを特徴とするネットワーク中継方法。A network relay method in a network relay device comprising a plurality of input ports, an input buffer for each of the plurality of input ports, and a plurality of output ports,
When the output port corresponding to the transmission destination of the packet stored in the input buffer via the input port is a specific output port of the plurality of output ports, the stored packet is converted. Execute some of the relay processing,
A loop corresponding to the loopback input port by looping back the packet that has been partially processed using the loopback output port and loopback input port of the plurality of input ports and output ports. Accumulate in the input buffer for back,
The remaining processing of the relay processing is executed on the packets stored in the loopback input buffer,
A network relay method, comprising: outputting the packet for which the remaining processing is completed to the specific output port.
前記特定出力ポートがインターネットに接続される出力ポートであり、該特定出力ポートと前記ループバック用出力ポート以外の出力ポートがそれぞれ異なるLANに接続される出力ポートであることを特徴とするネットワーク中継方法。The network relay method according to claim 7, wherein
The network relay method, wherein the specific output port is an output port connected to the Internet, and output ports other than the specific output port and the loopback output port are output ports connected to different LANs, respectively. .
前記変換処理がエンカプセル処理であることを特徴とするネットワーク中継方法。The network relay method according to claim 8, wherein
A network relay method, wherein the conversion process is an encapsulation process.
前記コンピュータを、
前記中継処理を複数の部分処理に分割し、前記受信したパケットに対して前記複数の部分処理を順次行う際、1つの部分処理の終了後にその処理結果を、前記複数の入力ポートの内の、次の部分処理用に割り当てられている入力ポートにループバックし、前記次の部分処理に前記ループバックされた処理結果を用いた処理を行わせる手段として機能させるためのプログラム。A program for causing a computer having a plurality of input ports and a plurality of output ports to function as a network relay device,
The computer,
The relay process is divided into a plurality of partial processes, and when the plurality of partial processes are sequentially performed on the received packet, the processing result is obtained from the plurality of input ports after the completion of one partial process. A program for causing a loopback to an input port assigned for the next partial process and for causing the next partial process to perform a process using the looped-back processing result.
前記コンピュータを、
前記入力ポートを介して前記入力バッファに蓄積されたパケットの送信先に対応する出力ポートが前記複数の出力ポートの内の特定出力ポートである場合、前記蓄積されたパケットに対して変換処理を含む中継処理の内の一部の処理を実行し、該一部の処理が完了したパケットを前記複数の入力ポート及び出力ポートの内のループバック用出力ポート及びループバック用入力ポートを用いてループバックすることにより前記ループバック用入力ポートに対応するループバック用入力バッファに蓄積し、該ループバック用入力バッファに蓄積されたパケットに対して前記中継処理の内の残りの処理を実行し、該残りの処理が完了したパケットを前記特定出力ポートに出力する手段として機能させるためのプログラム。A program for causing a computer having a plurality of input ports, an input buffer for each of the plurality of input ports, and a plurality of output ports to function as a network relay device,
The computer,
When the output port corresponding to the transmission destination of the packet stored in the input buffer via the input port is a specific output port of the plurality of output ports, the stored packet is converted. A part of the relay process is executed, and the packet after the part of the process is completed is looped back using the loopback output port and the loopback input port among the plurality of input ports and output ports. Is stored in the loopback input buffer corresponding to the loopback input port, and the remaining processing of the relay processing is executed on the packets stored in the loopback input buffer. A program for functioning as a means for outputting a packet for which the above processing has been completed to the specific output port.
前記特定出力ポートがインターネットに接続される出力ポートであり、該特定出力ポートと前記ループバック用出力ポート以外の出力ポートがそれぞれ異なるLANに接続される出力ポートであることを特徴とするプログラム。The program according to claim 11, wherein
The specific output port is an output port connected to the Internet, and the output port other than the specific output port and the loopback output port is an output port connected to a different LAN.
前記変換処理がエンカプセル処理であることを特徴とするプログラム。In the program according to claim 12,
A program characterized in that the conversion process is an encapsulation process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001345574A JP3612512B2 (en) | 2001-11-12 | 2001-11-12 | Network relay device, network relay method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001345574A JP3612512B2 (en) | 2001-11-12 | 2001-11-12 | Network relay device, network relay method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003152773A JP2003152773A (en) | 2003-05-23 |
JP3612512B2 true JP3612512B2 (en) | 2005-01-19 |
Family
ID=19158889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001345574A Expired - Fee Related JP3612512B2 (en) | 2001-11-12 | 2001-11-12 | Network relay device, network relay method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3612512B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8116314B2 (en) * | 2007-03-29 | 2012-02-14 | Nec Corporation | Apparatus for processing packets and method of doing the same |
JP4571203B2 (en) * | 2008-05-09 | 2010-10-27 | 株式会社日立製作所 | Management server and cluster management method in information processing system |
JP5462920B2 (en) * | 2012-10-19 | 2014-04-02 | アラクサラネットワークス株式会社 | Packet transfer device |
-
2001
- 2001-11-12 JP JP2001345574A patent/JP3612512B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003152773A (en) | 2003-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7756013B2 (en) | Packet switching system and method | |
US20030128712A1 (en) | Packet communication apparatus and controlling method thereof | |
JPH10233802A (en) | Method for improving performance of tcp connection | |
JP2004015561A (en) | Packet processing device | |
US7079538B2 (en) | High-speed router | |
US6633576B1 (en) | Apparatus and method for interleaved packet storage | |
JP2008510337A (en) | Method for assigning data to at least one packet in an integrated circuit | |
US8483216B2 (en) | Simple fairness protocols for daisy chain interconnects | |
JP3075163B2 (en) | Multiport frame exchange method | |
JPS611146A (en) | Information communication equipment | |
US8621100B1 (en) | Merge systems and methods for transmit system interfaces | |
Shin et al. | Analysis and implementation of hybrid switching | |
JP4652314B2 (en) | Ether OAM switch device | |
JP3612512B2 (en) | Network relay device, network relay method, and program | |
Vonnahme et al. | Measurements in switched Ethernet networks used for automation systems | |
JP3773804B2 (en) | Data width conversion device and data processing device | |
CA2427633C (en) | Latency management for a network | |
JPH03135248A (en) | Selection-type packet disusing system in packet exchange network | |
US8073999B2 (en) | Data input-output control apparatus | |
JP4669442B2 (en) | Packet processing system, packet processing method, and program | |
JP2682434B2 (en) | Output buffer type ATM switch | |
JP2581002B2 (en) | LAN connection device | |
JP2001007862A (en) | Communication load distributing method | |
US20060117114A1 (en) | Staggering memory requests | |
JP4361524B2 (en) | Communication processing circuit and communication processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040915 |
|
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: 20041005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041025 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091029 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091029 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101029 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111029 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121029 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |