JP2003163702A - Network repeater - Google Patents

Network repeater

Info

Publication number
JP2003163702A
JP2003163702A JP2001363559A JP2001363559A JP2003163702A JP 2003163702 A JP2003163702 A JP 2003163702A JP 2001363559 A JP2001363559 A JP 2001363559A JP 2001363559 A JP2001363559 A JP 2001363559A JP 2003163702 A JP2003163702 A JP 2003163702A
Authority
JP
Japan
Prior art keywords
packet
segment
network
descriptor
processing unit
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.)
Granted
Application number
JP2001363559A
Other languages
Japanese (ja)
Other versions
JP3896829B2 (en
Inventor
Yoshinori Yamamura
良憲 山村
Kazuo Sukai
和雄 須貝
Yohei Kondo
洋平 近藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001363559A priority Critical patent/JP3896829B2/en
Publication of JP2003163702A publication Critical patent/JP2003163702A/en
Application granted granted Critical
Publication of JP3896829B2 publication Critical patent/JP3896829B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To process a tunnel communication in a network repeater at high speed. <P>SOLUTION: In a routing processing part 320 of a network repeater 3, when a tunnel processing part 3203 receives a request of capsule processing or decapsule processing from a packet transfer processing part 3201, an offset value and a segment length contained in a descriptor generated by the packet transfer processing part 3201 are changed. In the case of capsule processing, created header data are stored in a new segment and a descriptor corresponding thereto is generated and linked to an existent descriptor. When the tunnel processing part 3203 finishes processing, a processing end is reported to the packet transfer processing part 3201. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ネットワーク中継
装置に関し、特に、データ通信において通信プロトコル
等が互いに異なる各種ネットワーク間の通信において使
用される、カプセル化によるトンネル通信を効率的に実
行する機能を備えたネットワーク中継装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network relay device, and more particularly to a function for efficiently executing tunnel communication by encapsulation, which is used in communication between various networks having different communication protocols in data communication. The present invention relates to a provided network relay device.

【0002】[0002]

【従来の技術】ネットワーク上のデータ通信において
は、一般に、本来の伝送データに、各種の通信プロトコ
ルで定められた宛先の情報等を含むデータがヘッダデー
タとして先頭に付加されたパケットと呼ばれる単位が使
用される。
2. Description of the Related Art In data communication on a network, generally, there is a unit called a packet in which original transmission data is prefixed with data including information of a destination defined by various communication protocols as header data. used.

【0003】また、データ通信において、ネットワーク
の構成や運用上の都合から通信プロトコルや宛先アドレ
スといった情報等の体系が異なる複数のネットワークを
渡って通信を行わせる場合がある。例えば、離れた位置
に配置されたプライベートネットワーク間で通信を実現
する場合や、中継経路中の通信プロトコルと送受信を行
なうホストの通信プロトコルが異なる場合、そして送信
パケットを暗号化する場合などである。このような場合
に利用される通信手法を一般にトンネル通信と呼ぶ。
Further, in data communication, there are cases where communication is performed across a plurality of networks having different systems such as information such as communication protocols and destination addresses due to network configuration and operational convenience. For example, there are cases in which communication is realized between private networks arranged at distant positions, cases in which the communication protocol in the relay path is different from the communication protocol of the host for transmission / reception, and cases in which transmission packets are encrypted. The communication method used in such a case is generally called tunnel communication.

【0004】トンネル通信を実現するには、カプセル化
と呼ばれる技術が用いられる。カプセル化とは通信プロ
トコル等の異なるネットワーク間を渡る際にヘッダデー
タを含むパケット全体をひとつの新たな伝送データとし
て扱い、このパケットに更にヘッダデータを付加するこ
とで異なるパケットを新たに構成することである。つま
り、通信プロトコル等が異なるネットワークをトンネル
させたい場合、そのトンネル対象ネットワークの通信プ
ロトコル等に合わせたヘッダデータで元々のパケットを
カプセル化すれば良い。そしてトンネル対象のネットワ
ークの出口となる点においては、カプセル化されたとき
に付加されたヘッダデータを取り除きカプセル化される
前のパケットを復元し受信先へ転送する。前者のような
トンネル対象ネットワーク入り口でヘッダデータを新た
に付加する処理をカプセル処理、後者のようなトンネル
出口にてヘッダデータを取り除いてトンネルに入る前の
パケットを復元する処理をデカプセル処理と呼ぶ。
To realize tunnel communication, a technique called encapsulation is used. Encapsulation is to treat a whole packet including header data as one new transmission data when passing between different networks such as communication protocols, and construct a different packet by adding header data to this packet. Is. That is, when it is desired to tunnel a network having a different communication protocol or the like, the original packet may be encapsulated with the header data matched with the communication protocol or the like of the tunnel target network. At the point of exit from the tunnel target network, the header data added at the time of encapsulation is removed and the packet before encapsulation is restored and transferred to the destination. The former process of newly adding header data at the entrance of the tunnel target network is called encapsulation process, and the latter process of removing header data at the tunnel exit and restoring the packet before entering the tunnel is called decapsulation process.

【0005】一般に、ネットワークシステムにおいて複
数のネットワーク間を接続するためにはルータやブリッ
ジ等のネットワーク中継装置が用いられる。これらネッ
トワーク中継装置は接続されているネットワークから受
け取ったパケット内に含まれるヘッダデータを基に宛先
アドレスを調べてパケットの転送先を決定し、転送先の
ネットワーク中継装置又はホストが接続されたネットワ
ークにパケットを転送する。さらに上記のようなトンネ
ル通信を行なう必要がある場合には、カプセル処理およ
びデカプセル処理も行なう機能を備える。なお、ネット
ワーク中継装置を実現する方式として、特開平5−19
9230号公報や特開2001−211203号公報等
に記載された方式がある。
Generally, a network relay device such as a router or a bridge is used to connect a plurality of networks in a network system. These network relay devices check the destination address based on the header data included in the packet received from the connected network to determine the transfer destination of the packet, and determine the transfer destination network relay device or the network to which the host is connected. Forward the packet. Further, when it is necessary to perform the tunnel communication as described above, it has a function of performing encapsulation processing and decapsulation processing. As a method for realizing a network relay device, Japanese Patent Laid-Open No. 5-19
There are methods described in Japanese Patent No. 9230 and Japanese Patent Laid-Open No. 2001-211203.

【0006】[0006]

【発明が解決しようとする課題】近年、これまでの企
業、研究機関等で固定的に運用されるコンピュータシス
テムから、企業や家庭でのパーソナルコンピュータ、ま
た、個人の持つ携帯端末まで多様性を増す多くのシステ
ムを収容するべく、それぞれのシステムの機能や特徴に
特化した技術を適用することによりネットワークもまた
多様性を増している。こういった背景からトンネル通信
機能はネットワーク中継装置にとって欠かせない機能と
なりつつある。
In recent years, the diversity has increased from the computer systems that have been fixedly operated by companies and research institutes up to now to personal computers in companies and homes, as well as personal portable terminals. In order to accommodate many systems, networks are also becoming more diverse by applying technologies that are specialized to the functions and features of each system. From this background, the tunnel communication function is becoming an essential function for network relay devices.

【0007】一方、ネットワークに接続されるシステム
の性能向上および絶対数の増加に伴い、各種ネットワー
クを流れるトラフィックも増大し続けており、トンネル
通信の処理においても処理性能の向上が求められてい
る。
On the other hand, as the performance of the system connected to the network is improved and the absolute number is increased, the traffic flowing through various networks continues to increase, and the processing performance is required to be improved also in the tunnel communication processing.

【0008】ところが、上述した従来のネットワーク中
継処理装置によれば、中継処理のために受信したパケッ
トからヘッダデータと伝送すべきデータの区別し、また
ヘッダデータから宛先アドレス等必要な情報を抽出する
処理を行なうことはできるが、ヘッダデータを付加した
り削除したりするいわゆるカプセル処理およびデカプセ
ル処理を行なうことができないためにトンネル通信機能
の実現は困難という問題がある。また、ソフトウエアに
て構成されるネットワーク中継処理装置ならばソフトウ
エアの変更によりカプセル処理およびデカプセル処理の
機能を追加することでトンネル通信を実現する方法もあ
るが、ハードウエアにて中継処理をおこなうネットワー
ク中継処理装置に比較するとその処理性能に差があるこ
とは否めず、性能向上も難しい。
However, according to the above-described conventional network relay processing device, the header data and the data to be transmitted are distinguished from the packet received for the relay processing, and necessary information such as the destination address is extracted from the header data. Although it is possible to perform processing, there is a problem that it is difficult to realize a tunnel communication function because so-called encapsulation processing and decapsulation processing that add or delete header data cannot be performed. In the case of a network relay processing device composed of software, there is also a method of realizing tunnel communication by adding the functions of capsule processing and decapsulation processing by changing the software, but the relay processing is performed by hardware. It is undeniable that there is a difference in processing performance compared to network relay processing devices, and it is difficult to improve performance.

【0009】本発明は、以上の点に鑑み、トンネル通信
機能を備え、且つ、カプセル処理およびデカプセル処理
を効率的に実効可能なデータ構造および機器構成を採用
することで、多様性を増し且つトラフィックも増大し続
けるネットワークの接続を柔軟かつ高速に処理すること
ができるネットワーク中継装置を提供することを目的と
する。
In view of the above points, the present invention adopts a data structure and a device configuration which have a tunnel communication function and can effectively perform the encapsulation process and the decapsulation process, thereby increasing diversity and traffic. Another object of the present invention is to provide a network relay device capable of flexibly and rapidly processing an ever-increasing number of network connections.

【0010】[0010]

【課題を解決するための手段】本発明では、ネットワー
ク中継装置の入力されたパケットを保持する機構に、新
規データを追加したり、逆に既存のパケットから特定の
範囲のデータを削除する操作を効率良く実行可能な機能
を備える。また、このような操作を可能とするために、
入力されたパケットを保持する機構としてディスクリプ
タとパケットバッファを持つ。ディスクリプタは固定長
であって、パケットバッファが保持している内容を管理
するための情報を保持する。一方、パケットバッファは
受信したパケットを保持するが、その方法として受信し
たパケットの内容を1つもしくは複数のセグメントと呼
ばれる固定長の領域に分割して格納する。これはパケッ
トバッファをハードウエアによって制御しやすくすると
いう特徴を持たせるためである。その固定長のサイズ
は、例えばバースト転送をサポートするメモリのバース
トサイズに合わせるなど、ハードウエアの構成に合わせ
て設計時に任意に決定することができる。
According to the present invention, an operation of adding new data to a mechanism for holding an input packet of a network relay device or conversely deleting data of a specific range from an existing packet is performed. It has functions that can be executed efficiently. Moreover, in order to enable such operation,
It has a descriptor and a packet buffer as a mechanism for holding the input packet. The descriptor has a fixed length and holds information for managing the contents held by the packet buffer. On the other hand, the packet buffer holds the received packet, and as a method thereof, divides the content of the received packet into fixed-length areas called one or a plurality of segments and stores them. This is because the packet buffer has a feature of being easily controlled by hardware. The size of the fixed length can be arbitrarily determined at the time of designing in accordance with the hardware configuration, for example, matching the burst size of the memory that supports burst transfer.

【0011】ここで、ディスクリプタはセグメントに対
し1対1に対応する。ディスクリプタが保持する内容
は、図1に示されるように、パケットに対するセグメン
トの位置を識別する識別子、パケットバッファ全体にお
けるセグメントの位置を示すセグメントポインタ、セグ
メント内での実効データ開始を示すオフセット、セグメ
ント内における実効データのサイズを示すセグメント
長、パケットが複数セグメント、ディスクリプタで構成
される場合の次ディスクリプタの位置を示すリンクポイ
ンタから構成される。なおリンクポインタについては、
ディスクリプタを記憶機構に保持する方式の場合にあれ
ば良い情報であり、単にキュー等でディスクリプタを管
理する方式の場合は、必ずしもリンクポインタは必須で
はない。ディスクリプタおよびセグメントは、その対応
関係が明確である限り、入力されたパケットに応じて自
動的に生成される他に、外部からの制御により生成され
ても良く、またパケット出力の際に削除される他に外部
からの制御により削除されても良い。
Here, the descriptor has a one-to-one correspondence with the segment. As shown in FIG. 1, the contents held by the descriptor are an identifier for identifying the position of the segment with respect to the packet, a segment pointer indicating the position of the segment in the entire packet buffer, an offset indicating the start of effective data within the segment, and an inside of the segment. A segment length indicating the size of the effective data in, a packet is composed of a plurality of segments, and a link pointer indicating the position of the next descriptor when the descriptor is composed of descriptors. Regarding the link pointer,
This is good information in the case of the method of holding the descriptor in the storage mechanism, and the link pointer is not always necessary in the case of the method of simply managing the descriptor by a queue or the like. As long as the correspondence between descriptors and segments is clear, in addition to being automatically generated according to the input packet, it may also be generated by external control and is deleted when the packet is output. Alternatively, it may be deleted by external control.

【0012】また、本発明では、回線対応部、パケット
交換部、パケット転送および経路検索部といったネット
ワーク中継装置の基本的な構成に加えて、パケットのカ
プセル処理およびデカプセル処理をおこなうトンネル通
信処理機能部をネットワーク中継装置が備える。
Further, according to the present invention, in addition to the basic configuration of the network relay device such as the line corresponding unit, the packet switching unit, the packet transfer and route searching unit, the tunnel communication processing function unit for performing the packet encapsulation process and the decapsulation process. Is provided in the network relay device.

【0013】具体的には、トンネル通信処理機能部は、
カプセル処理の場合、トンネル対象ネットワークのヘッ
ダ情報を新たなセグメントに登録し、それに対応したデ
ィスクリプタを生成する。次に、その生成した新たなセ
グメントとディスクリプタを、入力パケットを保持して
いるセグメントとそれに対応するディスクリプタ群の先
頭に位置するようにリンクさせる。以上の操作によりカ
プセル化パケットの生成を実現する。
Specifically, the tunnel communication processing function unit is
In the case of encapsulation, the header information of the tunnel target network is registered in a new segment, and a descriptor corresponding to it is generated. Next, the generated new segment and descriptor are linked so as to be positioned at the beginning of the segment holding the input packet and the descriptor group corresponding to the segment. Generation of an encapsulated packet is realized by the above operation.

【0014】また、デカプセル処理の場合は、入力した
パケットから除外すべきヘッダデータ分だけ、そのヘッ
ダデータの存在するセグメントに対応するディスクリプ
タ内のオフセット値およびセグメント値を変更し、見か
け上そのヘッダデータが削除されたように見せかける。
削除すべきヘッダデータがセグメントをまたぐ場合に
は、ヘッダデータの削除によって不要となるセグメント
を解放し、また、対応するディスクリプタを削除し、そ
れに続くセグメントが先頭のセグメントとなるようにそ
のセグメントに対応するディスクリプタの識別子ならび
にオフセットとセグメント長を変更する。以上の操作に
よってカプセル化されていたパケットを取り出す。
In the case of decapsulation processing, the offset value and segment value in the descriptor corresponding to the segment in which the header data exists is changed by the amount of the header data to be excluded from the input packet, and the header data is apparently obtained. Pretend to have been deleted.
If the header data to be deleted spans a segment, the unnecessary segment is deleted by deleting the header data, and the corresponding descriptor is deleted, and the segment following it is made to correspond to the first segment. Change the descriptor identifier, offset and segment length. The packet encapsulated by the above operation is taken out.

【0015】経路検索の結果、自装置がネットワークに
おけるトンネルの入り口またはトンネルの出口にあると
いう判定がなされた場合、トンネル通信処理機能部は、
判定処理開始通知を経路処理部から受け、該当するカプ
セル処理またはデカプセル処理を終了するとその旨を経
路処理部に通知する。経路検索部はこの通知を持って、
今度はトンネル対象のネットワークに対し再び経路検索
を行なう。この時、再度、別のネットワークトンネルの
入り口またはトンネル出口にあるという判定がなされた
場合は上記の手順を繰り返す。つまりトンネルが多重化
されている場合でも、上記のような単純な操作の繰り返
しによりカプセル処理またはデカプセル処理を行ない得
る。この特徴もまたハードウエアなどによる装置構成の
容易さを可能とし処理の高速化に貢献する点である。
When it is determined that the device itself is at the entrance or exit of the tunnel in the network as a result of the route search, the tunnel communication processing function unit
Upon receiving the determination processing start notification from the path processing unit, when the corresponding capsule processing or decapsulation processing is completed, the fact is notified to the path processing unit. The route search section has this notification,
Next, the route is searched again for the tunnel target network. At this time, if it is determined again that it is at the entrance or exit of another network tunnel, the above procedure is repeated. That is, even if the tunnels are multiplexed, the encapsulation process or the decapsulation process can be performed by repeating the above-described simple operation. This feature also makes it possible to simplify the device configuration by hardware and contributes to the speeding up of processing.

【0016】[0016]

【発明の実施の形態】以下、本発明の一実施形態を図面
を用いて説明する。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described below with reference to the drawings.

【0017】図2は本発明のネットワーク中継装置が適
用されるネットワークシステム全体の概念図を示す。図
2において、同一のプロトコルに従うネットワーク5お
よびネットワーク9に、パケットのヘッダ内に記述され
る情報に従ってパケットを転送するネットワーク中継装
置3およびネットワーク中継装置7がそれぞれ接続され
ている。さらに、ネットワーク中継装置3およびネット
ワーク中継装置7はネットワーク1に接続されている。
ここでネットワーク1は、ネットワーク5およびネット
ワーク9とは異なるプロトコルに従うものである。ま
た、ネットワーク5にはサーバ装置6が接続され、ネッ
トワーク9にはクライアント装置10が接続されてい
る。
FIG. 2 is a conceptual diagram of the entire network system to which the network relay device of the present invention is applied. In FIG. 2, a network relay device 3 and a network relay device 7 that transfer a packet according to information described in a header of the packet are connected to a network 5 and a network 9 that comply with the same protocol, respectively. Further, the network relay device 3 and the network relay device 7 are connected to the network 1.
Here, the network 1 follows a protocol different from those of the networks 5 and 9. A server device 6 is connected to the network 5, and a client device 10 is connected to the network 9.

【0018】ネットワーク5とネットワーク中継装置3
との間で伝送されるパケット4と、ネットワーク8とネ
ットワーク中継装置7との間で伝送されるパケット8と
は、同一のプロトコルに従っている為、宛先アドレス等
の情報が異なることはあってもそのフォーマットは同じ
ものとなる。しかしながら、ネットワーク1がネットワ
ーク5およびネットワーク9とは異なるプロトコルに従
っている為、ネットワーク中継装置3およびネットワー
ク中継装置7はパケット4やパケット8と同じフォーマ
ットのパケットをネットワーク1に送出することはでき
ない。そこで図2においてパケット2として示されてい
るように、ネットワーク1が従うプロトコルに沿ったヘ
ッダデータを、例えばネットワーク5からネットワーク
中継装置3に伝送されてきたパケット4に付加したパケ
ットを用いて、ネットワーク中継装置3およびネットワ
ーク中継装置7はネットワーク1を介して通信を行な
う。これをトンネル通信と呼ぶ。
Network 5 and network relay device 3
Since the packet 4 transmitted between the network 8 and the network 8 and the network relay device 7 follow the same protocol, the information such as the destination address may be different. The format will be the same. However, since the network 1 follows a protocol different from that of the networks 5 and 9, the network relay device 3 and the network relay device 7 cannot send the packet having the same format as the packet 4 or the packet 8 to the network 1. Therefore, as shown as packet 2 in FIG. 2, the header data according to the protocol followed by the network 1 is added to the packet 4 transmitted from the network 5 to the network relay device 3, for example, to use the packet. The relay device 3 and the network relay device 7 communicate with each other via the network 1. This is called tunnel communication.

【0019】ここで、サーバ装置6がクライアント装置
10に対してパケットを送信する場合について説明す
る。
Here, the case where the server device 6 transmits a packet to the client device 10 will be described.

【0020】サーバ装置6は、宛先アドレスとしてクラ
イアント装置10のアドレスを含むヘッダ202を持つ
パケット4をネットワーク5に送信する。パケット中継
装置3はパケット4をネットワーク5から受け取る。ネ
ットワーク中継装置3は、ネットワーク1を介してパケ
ット4をネットワーク中継装置7に中継するため、パケ
ット4からパケット2を生成する。即ち、ネットワーク
1が従っているプロトコルに応じたフォーマットを持つ
ヘッダデータ203を、パケット4に付加する。ネット
ワーク中継装置3で行われるこの処理がカプセル処理で
ある。一方、ネットワーク中継装置7は、パケット2か
らパケット8を取り出すことになる。即ち、ネットワー
ク9を介して通信を行なう際には不要であるヘッダデー
タ203をパケット2から削除する。ネットワーク中継
装置7で行われるこの処理がデカプセル処理である。そ
して取り出されたパケット8はネットワーク9を介して
クライアント装置10へ送られる。
The server device 6 transmits the packet 4 having the header 202 containing the address of the client device 10 as the destination address to the network 5. The packet relay device 3 receives the packet 4 from the network 5. Since the network relay device 3 relays the packet 4 to the network relay device 7 via the network 1, the packet 2 is generated from the packet 4. That is, the header data 203 having a format according to the protocol followed by the network 1 is added to the packet 4. This process performed by the network relay device 3 is a capsule process. On the other hand, the network relay device 7 extracts the packet 8 from the packet 2. That is, the header data 203, which is unnecessary when communicating via the network 9, is deleted from the packet 2. This process performed by the network relay device 7 is a decapsulation process. Then, the extracted packet 8 is sent to the client device 10 via the network 9.

【0021】図3にトンネル処理をおこなうネットワー
ク中継装置3の全体構成のブロック図を示す。図3にお
いてネットワーク中継装置3は、経路交換部31と経路
検索処理部320、321を備える。
FIG. 3 shows a block diagram of the overall configuration of the network relay device 3 that performs tunnel processing. In FIG. 3, the network relay device 3 includes a route exchange unit 31 and route search processing units 320 and 321.

【0022】経路検索処理部320、321は、回線イ
ンタフェース300、301に対してパケットの入出力
を行い、また、パケットのヘッダ情報からパケットの転
送先を検索してパケットを転送する。経路交換部31
は、経路検索処理部320、321に接続され、それぞ
れの経路検索処理部の間のパケット転送を行なう。経路
検索処理部320、321に繋がる回線インタフェース
300、301の種類にはイーサネット(登録商標)等
のLAN(Local Area Network)、
WAN(Wide Area Network)、AT
M(AsynchronousTransfer Mo
de)等がある。
The route search processing units 320 and 321 input / output packets to / from the line interfaces 300 and 301, and search the packet transfer destination from the header information of the packets to transfer the packets. Route exchange unit 31
Is connected to the route search processing units 320 and 321 and transfers packets between the route search processing units. As the types of the line interfaces 300 and 301 connected to the route search processing units 320 and 321, a LAN (Local Area Network) such as Ethernet (registered trademark),
WAN (Wide Area Network), AT
M (Asynchronous Transfer Mo
de) etc.

【0023】図4に経路検索処理部320の詳細ブロッ
ク図を示す。
FIG. 4 shows a detailed block diagram of the route search processing unit 320.

【0024】図4において、パケット転送処理部320
1は、回線対応部インタフェース3205または経路交
換部インタフェース3204に到着したパケットからデ
ィスクリプタの生成を行い、経路検索部3202へ転送
先の検索要求を出し、その結果を元に転送先の決定を行
なう。経路検索処理部3202は、パケット転送処理部
3201からの情報および要求に基づきパケット転送先
を検索処理する。トンネル処理部3203は、カプセル
処理、デカプセル処理といったトンネル処理が必要な場
合にヘッダデータの付け外しを行なう。経路交換部イン
タフェース3204は、経路交換部とのインタフェース
を制御する。回線対応部インタフェース3205は、回
線対応部とのインタフェースを制御する。パケットバッ
ファ3207はパケットを保持する。パケットバッファ
制御部3206はパケットバッファ3207を制御す
る。ディスクリプタバッファ3209はディスクリプタ
を保持する。ディスクリプタバッファ制御部3208は
ディスクリプタバッファ3209を制御する。
In FIG. 4, the packet transfer processing unit 320
1 generates a descriptor from a packet arriving at the line interface interface 3205 or the route switching interface 3204, issues a transfer destination search request to the route search unit 3202, and determines the transfer destination based on the result. The route search processing unit 3202 searches for a packet transfer destination based on the information and request from the packet transfer processing unit 3201. The tunnel processing unit 3203 adds or removes header data when tunnel processing such as encapsulation processing or decapsulation processing is required. The route exchange unit interface 3204 controls an interface with the route exchange unit. The line interface unit 3205 controls an interface with the line interface. The packet buffer 3207 holds the packet. The packet buffer control unit 3206 controls the packet buffer 3207. The descriptor buffer 3209 holds the descriptor. The descriptor buffer control unit 3208 controls the descriptor buffer 3209.

【0025】回線対応部インタフェース3205または
経路交換部インタフェース3204にパケットが到着す
ると、パケットをパケット転送処理部3201に転送す
る。パケット転送処理部3201ではパケットからディ
スクリプタを生成し、ディスクリプタバッファ制御部3
208へ書き込み要求を、またパケット本体については
パケットバッファ制御部3206に書き込み要求を出
し、それぞれを保持する。続いて経路検索部3202に
転送先の検索要求を発行する。経路検索部3202では
検索要求を受けるとパケットのヘッダデータよりパケッ
トの転送先を検索し、その結果をパケット転送処理部3
201に返すことで応答する。経路検索部3202での
検索の結果が通常のパケット中継の場合は、その内容に
応じてパケットを回線対応部インタフェース3205ま
たは経路交換部インタフェース3204へ転送すべきこ
とをパケット転送処理部3201に応答する。一方、検
索の結果、自装置がトンネルの入り口または出口である
ことが判明した場合には、カプセル処理またはデカプセ
ル処理が必要であるという情報とともにトンネル処理部
3203にパケットを転送すべきことをパケット転送処
理部3201に応答する。パケット転送処理部3201
は経路検索部3202からの応答に基づきパケットを転
送処理するが、トンネル処理部3203へパケットを転
送する場合には、ディスクリプタとパケットは保持した
ままトンネル処理部3203にトンネル通信の処理要求
を発行する。
When the packet arrives at the line interface interface 3205 or the route exchange interface 3204, the packet is transferred to the packet transfer processor 3201. The packet transfer processing unit 3201 generates a descriptor from the packet, and the descriptor buffer control unit 3
A write request is issued to the packet 208, and a write request is issued to the packet buffer control unit 3206 for the packet body, and each is held. Then, a transfer destination search request is issued to the route search unit 3202. Upon receiving the search request, the route search unit 3202 searches the packet transfer destination from the packet header data, and the result is searched by the packet transfer processing unit 3202.
Respond by returning to 201. When the result of the search by the route search unit 3202 is a normal packet relay, the packet transfer processing unit 3201 is replied that the packet should be transferred to the line interface unit 3205 or the route switching unit interface 3204 according to the content thereof. . On the other hand, as a result of the search, when it is determined that the device is the entrance or the exit of the tunnel, the packet transfer information indicating that the encapsulation process or the decapsulation process is necessary is transmitted to the tunnel processing unit 3203. It responds to the processing unit 3201. Packet transfer processing unit 3201
Transfers the packet based on the response from the route search unit 3202. When transferring the packet to the tunnel processing unit 3203, the tunnel processing unit 3203 issues a tunnel communication processing request while holding the descriptor and the packet. .

【0026】トンネル処理部3203では、カプセル処
理またはデカプセル処理の指示によってパケット転送処
理部3201にて生成されたディスクリプタを変更し、
場合によってはさらに別途新規なディスクリプタとヘッ
ダデータを生成し、本来のディスクリプタやパケットに
結合させる。トンネル処理部3203での処理が終了す
ると、パケット転送処理部3201に処理終了の応答を
返す。
The tunnel processing unit 3203 changes the descriptor generated by the packet transfer processing unit 3201 according to an instruction of the encapsulation process or the decapsulation process,
In some cases, a new descriptor and header data are additionally generated and combined with the original descriptor or packet. When the processing by the tunnel processing unit 3203 is completed, a response of processing completion is returned to the packet transfer processing unit 3201.

【0027】カプセル処理やデカプセル処理を行なうと
いうことはすなわちヘッダデータが置き換わるというこ
とであり、経路処理の観点からみれば、それは処理前の
パケットとは異なるパケットに変わることを意味する。
このためパケット転送処理部3201では、このトンネ
ル処理部3203からの処理終了応答の受信は、回線対
応部インタフェース3205や経路交換部インタフェー
ス3204からのパケット到着通知と同等な意味を持っ
て扱われる。ただし、そのパケットのディスクリプタと
パケットは既に存在するため、ディスクリプタ生成およ
び保持、パケットの保持要求はおこなわずそのまま再び
経路検索部3202に転送先の検索要求を発行する。そ
して、その結果に基づき再度パケットの転送処理を行な
う。
Performing the encapsulation process or the decapsulation process means that the header data is replaced, and from the viewpoint of the route process, it means that the packet is different from the packet before the process.
Therefore, in the packet transfer processing unit 3201, the reception of the processing end response from the tunnel processing unit 3203 is treated with the same meaning as the packet arrival notification from the line interface 3205 or the route switching unit interface 3204. However, since the descriptor and the packet of the packet already exist, the descriptor generation and holding and the packet holding request are not performed, and the transfer destination search request is issued again to the route search unit 3202. Then, the packet transfer process is performed again based on the result.

【0028】以上の動作により、トンネル通信が可能と
なる。尚、仮にトンネルが多重化されているようなトン
ネル通信を行なう場合でも、本実施形態におけるネット
ワーク中継装置によれば、上述のようにパケット転送処
理部3201から経路検索部3202に対する検索処理
要求、そしてパケット転送処理部3201からトンネル
処理部3203に対するトンネル処理要求を繰り返すだ
けで、他に複雑な手順を要することなくトンネル通信に
必要な処理を実現できる。
With the above operation, tunnel communication becomes possible. Even when performing tunnel communication in which tunnels are multiplexed, according to the network relay device of the present embodiment, as described above, the packet transfer processing unit 3201 issues a search processing request to the route search unit 3202, and By simply repeating the tunnel processing request from the packet transfer processing unit 3201 to the tunnel processing unit 3203, the processing required for tunnel communication can be realized without requiring any other complicated procedure.

【0029】図5に、ディスクリプタのデータ構造およ
びセグメントとの関係を具体的に示す。セグメント51
1に対応するディスクリプタ501は、対応するセグメ
ント511の属性を示す識別子5011、パケットバッ
ファメモリ内のセグメントの位置を示すセグメントポイ
ンタ5012、セグメントに格納されている実効データ
(パケット)の先頭位置を示すオフセット5013、セ
グメントに格納されている実効データ(パケット)の長
さを示すセグメント長5014、複数のディスクリプタ
およびセグメントによって1パケットが構成される場合
にディスクリプタ501に続くディスクリプタ502の
ディスクリプタバッファ内の位置を示すリンクポインタ
5015を含む。
FIG. 5 specifically shows the data structure of the descriptor and the relationship with the segment. Segment 51
The descriptor 501 corresponding to 1 is an identifier 5011 indicating the attribute of the corresponding segment 511, a segment pointer 5012 indicating the position of the segment in the packet buffer memory, and an offset indicating the start position of the effective data (packet) stored in the segment. 5013, a segment length 5014 indicating the length of effective data (packet) stored in the segment, and a position in the descriptor buffer of the descriptor 502 following the descriptor 501 when one packet is composed of a plurality of descriptors and segments It includes a link pointer 5015.

【0030】識別子5011が表すセグメント種別の一
覧を図6に示す。識別子「1」で示される先頭かつ最終
セグメントとは、例えば、図7に示されたセグメント7
02のように単一のセグメント内にヘッダデータを含め
たパケット全体が収まる場合のセグメントを示す。識別
子「0」で示される先頭かつ継続セグメント有りとは、
例えば、図8に示されたセグメント811のように、単
一セグメント内にパケットが収まらない場合の、そのパ
ケットが格納されているセグメント群のうちの先頭のセ
グメントを示す。識別子「3」で示される非先頭かつ最
終セグメントとは、例えば図8に示されたセグメント8
13のように、単一のセグメント内にパケットが収まら
ない場合の、そのパケットが格納されているセグメント
群のうちの最後尾のセグメントを示す。識別子「2」で
示される非先頭かつ継続セグメント有りとは、例えば図
8に示されたセグメント812のように、単一のセグメ
ント内にパケットが収まらない場合の、そのパケットが
格納されているセグメント群のうちの中間にあるセグメ
ントを示す。
FIG. 6 shows a list of segment types represented by the identifier 5011. The first and last segments indicated by the identifier “1” are, for example, the segment 7 shown in FIG.
A segment in the case where the entire packet including the header data is contained in a single segment like 02 is shown. The beginning and continuous segment indicated by the identifier "0" means
For example, like the segment 811 shown in FIG. 8, when a packet does not fit in a single segment, the first segment of the segment group in which the packet is stored is shown. The non-leading and final segment indicated by the identifier “3” is, for example, the segment 8 shown in FIG.
13 shows the last segment of the segment group in which the packet is stored when the packet does not fit in a single segment. The non-leading and continuous segment indicated by the identifier “2” is a segment in which the packet is stored when the packet does not fit in a single segment, for example, the segment 812 shown in FIG. The middle segment of the group is shown.

【0031】以下、ディスクリプタを用いたパケットの
管理の仕方について説明する。
A method of managing packets using the descriptor will be described below.

【0032】図7に、トンネル通信されない通常のパケ
ットであって1セグメントのトータルサイズよりもパケ
ット全体のサイズが小さいパケットが、セグメントに格
納されている状態と、そのセグメントに対応するディス
クリプタの構成を示す。
FIG. 7 shows a state in which a normal packet that is not tunnel-communicated and whose total size is smaller than the total size of one segment is stored in the segment and the structure of the descriptor corresponding to the segment. Show.

【0033】セグメント702には、ヘッダデータとデ
ータ本体からなるパケット全体が格納されている。この
場合、パケット転送処理部3201は、ディスクリプタ
701として、識別子7011が先頭かつ最終セグメン
トを示す「1」、セグメントポインタ7012がセグメ
ント702の所在する先頭アドレスの値、オフセット7
013が値「0」、セグメント長7014がパケットの
オクテット長であるディスクリプタを生成する。尚、こ
の場合、リンクポインタ7015の値は無視される。
The segment 702 stores the entire packet composed of header data and data body. In this case, the packet transfer processing unit 3201 uses, as the descriptor 701, an identifier 7011 of “1” indicating the first and last segment, a segment pointer 7012 of the value of the first address where the segment 702 is located, and an offset of 7.
A descriptor in which 013 is the value “0” and the segment length 7014 is the octet length of the packet is generated. In this case, the value of the link pointer 7015 is ignored.

【0034】また、図8に、トンネル通信されない通常
のパケットであってパケットサイズが2セグメント分の
サイズよりも大きいパケットが、セグメント群に格納さ
れている状態と、各セグメントに対応するディスクリプ
タの構成を示す。
Further, FIG. 8 shows a state in which a normal packet that is not tunnel-communicated and whose packet size is larger than the size of two segments is stored in the segment group, and the structure of the descriptor corresponding to each segment. Indicates.

【0035】図8において、セグメント811、81
2、813にパケットが分割されて格納されている。セ
グメント811には、パケットの先頭部分、即ち、ヘッ
ダデータとデータ本体の先頭部分が格納されている。ま
た、セグメント812には、パケットの中間部分、即ち
データ本体の中間部分が格納されている。さらに、セグ
メント813には、パケットの残り、即ち、データ本体
の残りの部分が格納されている。この場合、パケット転
送処理部3201は、セグメント811に対応するディ
スクリプタ801と、セグメント812に対応するディ
スクリプタ802と、セグメント813に対応するディ
スクリプタ803をそれぞれ生成する。ディスクリプタ
801は、識別子8011として先頭かつ継続セグメン
ト有を示す「0」、セグメントポインタ8012として
セグメント811の所在する先頭アドレス値、オフセッ
ト8013として値「0」、セグメント長8014とし
てセグメント811全体のサイズ、リンクポインタ80
15としてディスクリプタ801に続くディスクリプタ
802の所在する先頭アドレス値を含む。ディスクリプ
タ802は、識別子8021として非先頭かつ継続セグ
メント有を示す「2」、セグメントポインタ8022と
してセグメント812の所在する先頭アドレス値、オフ
セット8023として値「0」、セグメント長8024
としてセグメント812全体のサイズ、リンクポインタ
8025としてディスクリプタ802に続くディスクリ
プタ803の所在する先頭アドレス値を含む。ディスク
リプタ803は、識別子8031として非先頭かつ最終
セグメントを示す「3」、セグメントポインタ8032
としてセグメント813の所在する先頭アドレス値、オ
フセット8033として値「0」、セグメント長803
4としてパケットのうちセグメント813内に格納され
ている部分のサイズを含む。ディスクリプタ803の場
合、リンクポインタ8035については特になにもされ
ず、転送処理においてこの情報は無視される。
In FIG. 8, segments 811, 81
Packets are divided and stored in 2, 813. In the segment 811, the head portion of the packet, that is, the header data and the head portion of the data body are stored. The segment 812 stores the intermediate portion of the packet, that is, the intermediate portion of the data body. Further, the segment 813 stores the rest of the packet, that is, the rest of the data body. In this case, the packet transfer processing unit 3201 generates the descriptor 801 corresponding to the segment 811, the descriptor 802 corresponding to the segment 812, and the descriptor 803 corresponding to the segment 813, respectively. The descriptor 801 includes “0” as the identifier 8011 indicating the beginning and continuation segment existence, the start address value of the segment 811 as the segment pointer 8012, the value “0” as the offset 8013, the size of the entire segment 811 as the segment length 8014, and the link. Pointer 80
15 includes the start address value of the descriptor 802 following the descriptor 801. The descriptor 802 has “2” indicating a non-leading and continuing segment as an identifier 8021, a leading address value where the segment 812 is present as a segment pointer 8022, a value “0” as an offset 8023, and a segment length 8024.
As the total size of the segment 812, and as the link pointer 8025, the start address value of the descriptor 803 following the descriptor 802 is included. The descriptor 803 has a segment pointer 8032, which is “3” indicating a non-leading and final segment as an identifier 8031.
Is the start address value of the segment 813, the offset 8033 is the value "0", and the segment length 803
4 includes the size of the portion of the packet stored in the segment 813. In the case of the descriptor 803, nothing is done about the link pointer 8035, and this information is ignored in the transfer process.

【0036】以上のようにパケット転送処理部3201
により生成されたディスクリプタ801〜803によっ
て1つのパケットが管理される。
As described above, the packet transfer processing unit 3201
One packet is managed by the descriptors 801 to 803 generated by.

【0037】通常のパケット中継の場合は、上述のよう
に生成したディスクリプタとセグメントデータを用いて
パケット転送処理部3201がパケットを管理し、経路
交換部インタフェース3204や回線対応部インタフェ
ース3205へのパケット転送処理を行なう。しかし、
トンネル通信のためにカプセル処理、デカプセル処理が
必要となった場合は、トンネル処理部3203におい
て、これらのディスクリプタとセグメントの組み合わせ
を以下の様に追加または変更することが必要となる。
In the case of normal packet relay, the packet transfer processing unit 3201 manages the packet using the descriptor and segment data generated as described above, and transfers the packet to the route switching unit interface 3204 and the line interface unit 3205. Perform processing. But,
When encapsulation processing and decapsulation processing are required for tunnel communication, the tunnel processing unit 3203 needs to add or change the combination of these descriptors and segments as follows.

【0038】図9は、トンネル処理部3203によって
カプセル処理が実行される場合に、トンネル処理部32
03によって追加される新たなヘッダデータとそれに対
応するディスクリプタの構成を示したものである。
FIG. 9 shows the tunnel processing unit 32 when the tunnel processing unit 3203 executes capsule processing.
03 shows a structure of new header data added by 03 and a descriptor corresponding thereto.

【0039】図7に示したのと同様に、パケット転送処
理部3201に到着したパケットに対しディスクリプタ
901がパケット転送処理部3201により生成され、
また、パケットはセグメント911に保持されている。
ここで、トンネル処理部3203がカプセル処理要求を
受け付けると、パケットバッファ3207に新規にセグ
メント912を確保し、トンネル通信用の新規ヘッダデ
ータを作成する。また、セグメント912に対応するデ
ィスクリプタ902を生成する。ディスクリプタ902
は、識別子9021として先頭かつ継続セグメント有を
示す「0」、セグメントポインタ9022としてセグメ
ント912の所在を示す先頭アドレス値、オフセット9
023として値「0」、セグメント長9024として新
規ヘッダデータのデータ長、リンクポインタ9025と
してディスクリプタ901の所在するアドレス値を含
む。続いて、トンネル処理部3203は、ディスクリプ
タバッファ3209に保持されているディスクリプタ9
01の識別子9011を先頭かつ最終セグメントを示す
「1」から、非先頭かつ最終セグメントを示す「3」に
書き換える。カプセル処理部3203が以上の処理を行
なうことによってカプセル処理をしたパケットが作成さ
れ、トンネル処理部3203は処理終了をパケット転送
処理部3201に通知する。
As shown in FIG. 7, a descriptor 901 is generated by the packet transfer processing unit 3201 for a packet arriving at the packet transfer processing unit 3201.
The packet is held in the segment 911.
Here, when the tunnel processing unit 3203 receives the encapsulation processing request, a new segment 912 is secured in the packet buffer 3207 and new header data for tunnel communication is created. Also, the descriptor 902 corresponding to the segment 912 is generated. Descriptor 902
Is “0” indicating the beginning and continuation segment existence as the identifier 9021, the start address value indicating the location of the segment 912 as the segment pointer 9022, and the offset 9
023 includes the value “0”, the segment length 9024 includes the data length of the new header data, and the link pointer 9025 includes the address value of the descriptor 901. Then, the tunnel processing unit 3203 checks the descriptor 9 stored in the descriptor buffer 3209.
The identifier 9011 of 01 is rewritten from “1” indicating the first and last segment to “3” indicating the non-first and last segment. The capsule processing unit 3203 performs the above processing to create a packet subjected to the capsule processing, and the tunnel processing unit 3203 notifies the packet transfer processing unit 3201 of the processing end.

【0040】図9に示した例は、カプセル処理前のパケ
ットサイズが1セグメントのサイズ以下の場合を想定し
たものであるが、図8のようにパケットサイズが1セグ
メントのサイズより大きい場合についても、パケットを
格納するセグメント群のうちの先頭セグメントとそれに
対応するディスクリプタに対して、図9を用いて説明し
たのと同様の動作をトンネル処理部3203は行なうの
みである。トンネル処理部3203は、識別子が「0」
か「1」であるディスクリプタを変更すべきディスクリ
プタとして認識し、識別子が「2」または「3」である
中間セグメントおよび最終セグメントに対しては追加、
変更等を行なわない。
The example shown in FIG. 9 assumes the case where the packet size before encapsulation is less than or equal to the size of one segment, but also when the packet size is larger than the size of one segment as shown in FIG. The tunnel processing unit 3203 only performs the same operation as described with reference to FIG. 9 for the first segment of the segment group storing the packet and the descriptor corresponding thereto. The identifier of the tunnel processing unit 3203 is “0”.
Recognize a descriptor that is "1" or "1" as a descriptor to be changed, and add it to the intermediate segment and the last segment whose identifier is "2" or "3",
Do not make any changes.

【0041】図10は、トンネル処理部3203によっ
てデカプセル処理が実行される場合に、トンネル処理部
3203によってディスクリプタが変更される様子を示
したものである。
FIG. 10 shows how the descriptor is changed by the tunnel processing unit 3203 when the decapsulation process is executed by the tunnel processing unit 3203.

【0042】まず、パケット転送処理部3201に到着
したカプセル処理をされたパケットに対しディスクリプ
タ1001が生成され、また、パケットがセグメント1
011に保持されている。
First, the descriptor 1001 is generated for the capsule-processed packet arriving at the packet transfer processing unit 3201, and the packet is segment 1
It is held at 011.

【0043】この状態において、トンネル処理部320
3がデカプセル処理要求を受け付けると、トンネル処理
部3203は、ディスクリプタバッファ3209に保持
されているディスクリプタ1001のオフセット100
13を、それまで保持していた値に取り除くべきヘッダ
データのサイズを加えた値に変更する。また、セグメン
ト長10014の値を、それまで保持していた値から取
り除くべきヘッダデータサイズの値を引いた値へと変更
する。このような変更処理をトンネル処理部3203が
行なうことにより、ディスクリプタ1001はディスク
リプタ1002に変更される。ディスクリプタ1002
において、オフセット10023はセグメント1011
に格納されているカプセル化されたパケットのうちの元
のヘッダデータの先頭位置を示し、セグメント長100
24はセグメント1011に格納されているカプセル化
されたパケットのうちのカプセル化によって付加された
ヘッダデータが取り除かれた(カプセル化される以前
の)パケットの長さを示す。従って、図10に示すよう
に、変更されたディスクリプタ1002によって管理さ
れるパケットは、セグメント1011に格納されている
カプセル化されたパケット全体ではなく、見かけ上はセ
グメント1012として示されているように、カプセル
化によって付加されたヘッダデータを除いた(カプセル
化される以前の)パケットとなる。
In this state, the tunnel processing section 320
3 receives the decapsulation processing request, the tunnel processing unit 3203 causes the offset 100 of the descriptor 1001 stored in the descriptor buffer 3209 to be 100.
13 is changed to a value obtained by adding the size of the header data to be removed to the value held so far. Further, the value of the segment length 10014 is changed to a value obtained by subtracting the value of the header data size to be removed from the value held so far. The descriptor 1001 is changed to the descriptor 1002 by the tunnel processing unit 3203 performing such a changing process. Descriptor 1002
At offset 10023 is segment 1011
Indicates the start position of the original header data of the encapsulated packet stored in
Reference numeral 24 indicates the length of the packet (before being encapsulated) in which the header data added by the encapsulation is removed from the encapsulated packets stored in the segment 1011. Therefore, as shown in FIG. 10, the packet managed by the modified descriptor 1002 is not the entire encapsulated packet stored in the segment 1011 but is apparently shown as the segment 1012, It becomes a packet (before being encapsulated) excluding the header data added by encapsulation.

【0044】これによって、トンネル処理部3203に
よるデカプセル処理が完了する。
As a result, the decapsulation processing by the tunnel processing unit 3203 is completed.

【0045】なお、多重トンネル通信の為の処理により
デカプセル処理が連続する場合、デカプセル処理前のヘ
ッダデータがセグメントをまたぎ、デカプセル処理後に
得たい元のヘッダデータが先頭のセグメントではなく、
それに続く中間のセグメントに存在するという場合が考
えられる。
When the decapsulation process continues due to the process for the multiple tunnel communication, the header data before the decapsulation process straddles the segment, and the original header data desired to be obtained after the decapsulation process is not the first segment,
It may be present in the intermediate segment that follows.

【0046】このような場合のセグメントおよびディス
クリプタの構成を図11に示す。
FIG. 11 shows the structure of the segment and descriptor in such a case.

【0047】先頭のセグメント1111にはカプセル処
理により付加されたヘッダデータの一部が格納されてお
り、また、セグメント1112にはカプセル処理により
付加されたヘッダデータの残りの部分および元々のパケ
ット(元のヘッダデータおよびデータ本体からなる)が
格納されている。
A segment 1111 at the beginning stores a part of the header data added by the encapsulation process, and a segment 1112 stores the remaining portion of the header data added by the encapsulation process and the original packet (original packet). Header data and data body) are stored.

【0048】この状態において、トンネル処理部320
3がデカプセル処理要求を受け付けると、上述したのと
同様に、先頭セグメント1111に対応するディスクリ
プタ1101のオフセット11013およびセグメント
長11014の値を変更する。
In this state, the tunnel processing section 320
When 3 receives the decapsulation processing request, the values of the offset 11013 and the segment length 11014 of the descriptor 1101 corresponding to the first segment 1111 are changed, as described above.

【0049】このとき、先頭のセグメント1111に対
応するディスクリプタ1101のセグメント長1101
4の値を変更する際の算出値が負の値になる、またはオ
フセット11013を変更する際の算出値がセグメント
1111全体のサイズ以上になることにより、トンネル
処理部3203は上述のような場合が発生したことを検
出する。そこで、トンネル処理部3203は、デカプセ
ル処理前に先頭であったセグメント1111およびそれ
に対応するディスクリプタ1101を削除する。そし
て、トンネル処理部3203は、ディスクリプタ110
1に続くディスクリプタ1102の識別子11021が
非先頭かつ継続セグメント有りを示す「2」である場合
には、その識別子を先頭かつ継続セグメント有りを示す
「0」に、非先頭かつ最終セグメントを示す「3」であ
る場合には、先頭かつ最終セグメントを示す「1」に変
更する。また、オフセット11023の値を、オフセッ
ト11013を変更する際に算出した値からセグメント
1112全体のサイズを引いた値に変更し、セグメント
長11024の値を、元の値から上記オフセット110
23の値を引いた値に変更する。トンネル処理部320
3が以上の処理を行なうことによりデカプセル処理済の
パケットが作成され、トンネル処理部3203は処理終
了をパケット転送処理部3201に通知する。
At this time, the segment length 1101 of the descriptor 1101 corresponding to the first segment 1111
When the calculated value when changing the value of 4 becomes a negative value, or when the calculated value when changing the offset 11013 becomes equal to or larger than the size of the entire segment 1111, the tunnel processing unit 3203 may have the above-described case. Detect that it has occurred. Therefore, the tunnel processing unit 3203 deletes the segment 1111 and the descriptor 1101 corresponding to it, which are the head before the decapsulation process. Then, the tunnel processing unit 3203 uses the descriptor 110.
If the identifier 11021 of the descriptor 1102 subsequent to 1 is “2” indicating a non-leading and continuous segment, that identifier is set to “0” indicating the leading and continuing segment, and “3” indicating a non-leading and final segment. If it is "," it is changed to "1" indicating the first and last segment. Further, the value of the offset 11023 is changed to a value obtained by subtracting the size of the entire segment 1112 from the value calculated when the offset 11013 is changed, and the value of the segment length 11024 is changed from the original value to the offset 110.
Change to the value obtained by subtracting the value of 23. Tunnel processing unit 320
By performing the above processing by the packet No. 3, the decapsulated packet is created, and the tunnel processing unit 3203 notifies the packet transfer processing unit 3201 of the processing end.

【0050】図10に示した例は、デカプセル処理を行
なうパケットのサイズが1セグメントのサイズ以下の場
合を想定したものであるが、図8のようにデカプセル処
理前のパケットサイズが1セグメントのサイズより大き
い場合についても、パケットを格納するセグメント群の
うちの先頭セグメントとそれに対応するディスクリプタ
に対して、図10を用いて説明したのと同様の動作をト
ンネル処理部3203は行なうのみである。
The example shown in FIG. 10 assumes a case where the size of the packet to be decapsulated is less than or equal to the size of one segment. However, as shown in FIG. 8, the packet size before decapsulation is the size of one segment. Even in the case of a larger value, the tunnel processing unit 3203 only performs the same operation as described with reference to FIG. 10 on the first segment of the segment group storing the packet and the descriptor corresponding thereto.

【0051】[0051]

【発明の効果】本発明によれば、ネットワーク中継装置
におけるトンネル通信の為の処理をハードウエアによっ
て高速かつ効率的に実現可能である。
According to the present invention, the processing for tunnel communication in the network relay device can be realized at high speed and efficiently by hardware.

【図面の簡単な説明】[Brief description of drawings]

【図1】ディスクリプタとセグメントの構成を示す図FIG. 1 is a diagram showing the structure of descriptors and segments.

【図2】ネットワーク中継装置が適用されるネットワー
クシステム全体の概念図
FIG. 2 is a conceptual diagram of an entire network system to which a network relay device is applied.

【図3】ネットワーク中継装置の構成を示すブロック図FIG. 3 is a block diagram showing the configuration of a network relay device.

【図4】ネットワーク中継装置の経路検索処理部の詳細
ブロック図
FIG. 4 is a detailed block diagram of a route search processing unit of the network relay device.

【図5】ディスクリプタとセグメントの構成を示す図FIG. 5 is a diagram showing the structure of descriptors and segments.

【図6】識別子が表すセグメント種別を示す図FIG. 6 is a diagram showing a segment type represented by an identifier.

【図7】パケットサイズが1セグメントサイズ以下の場
合のディスクリプタとセグメントの構成を示す図
FIG. 7 is a diagram showing the configuration of descriptors and segments when the packet size is one segment size or less.

【図8】パケットサイズが1セグメントサイズ以上の場
合のディスクリプタとセグメントの構成を示す図
FIG. 8 is a diagram showing a configuration of descriptors and segments when the packet size is one segment size or more.

【図9】カプセル処理が実行された場合のディスクリプ
タとセグメントの構成を示す図
FIG. 9 is a diagram showing the configuration of descriptors and segments when capsule processing is executed.

【図10】デカプセル処理が実行された場合のディスク
リプタとセグメントの構成を示す図
FIG. 10 is a diagram showing the configuration of descriptors and segments when decapsulation processing is executed.

【図11】デカプセル処理によって取り除かれるべきヘ
ッダデータがセグメントをまたぐ場合のディスクリプタ
とセグメントの構成を示す図
FIG. 11 is a diagram showing a configuration of a descriptor and a segment when header data to be removed by the decapsulation process straddles the segment.

【符号の説明】[Explanation of symbols]

1,5,9…ネットワーク 2,4,8…パケット 3,7…ネットワーク中継装置 6…サーバ装置 10…クライアント装置 31…経路交換部 320,321…経路検索処理部 3201…パケット転送処理部3201 3202…経路検索部 3203…トンネル処理部 3204…経路交換部インタフェース 3205…回線対応部インタフェース 3206…パケットバッファ制御部 3207…パケットバッファ 3208…ディスクリプタバッファ制御部 3209…ディスクリプタバッファ 1, 5, 9 ... Network 2, 4, 8 ... Packet 3, 7 ... Network relay device 6 ... Server device 10 ... Client device 31 ... Route exchange unit 320, 321 ... Route search processing unit 3201 ... Packet transfer processing unit 3201 3202 ... Route search unit 3203 ... Tunnel processing unit 3204 ... Route exchange interface 3205 ... Line interface interface 3206 ... Packet buffer control unit 3207 ... Packet buffer 3208 ... Descriptor buffer control unit 3209 ... Descriptor buffer

───────────────────────────────────────────────────── フロントページの続き (72)発明者 近藤 洋平 神奈川県足柄上郡中井町境456番地内 株 式会社日立インフォメーションテクノロジ ー内 Fターム(参考) 5K030 GA02 GA03 HA08 HD03 KA05 LB15 LE09    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Yohei Kondo             Stock at 456 Sakai, Nakai-cho, Ashigarakami-gun, Kanagawa Prefecture             Ceremony Hitachi Information Technology             -In F-term (reference) 5K030 GA02 GA03 HA08 HD03 KA05                       LB15 LE09

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】何れかのネットワークから受信したパケッ
トのヘッダ情報に従って、受信したパケットの中継先を
決定し、受信したパケットを何れかのネットワークへ中
継するネットワーク中継装置において、 ネットワークと接続されたインタフェースと、前記イン
タフェースが受信したパケットを予め決められたサイズ
の領域に保持するパケットバッファと、前記パケットバ
ッファにおける受信したパケットの保持領域の管理情報
を生成するパケット転送処理部と、受信したパケットの
転送先をヘッダ情報に従って決定し、該転送先を前記パ
ケット転送処理部へ指示する経路検索部と、受信したパ
ケットに対するカプセル処理またはデカプセル処理を実
行するトンネル処理部とを有することを特徴とするネッ
トワーク中継装置。
1. A network relay device for determining a relay destination of a received packet according to header information of a packet received from any network and relaying the received packet to any network, the interface being connected to the network. And a packet buffer for holding the packet received by the interface in an area of a predetermined size, a packet transfer processing unit for generating management information of an area for holding the received packet in the packet buffer, and transfer of the received packet A network relay characterized by having a route search unit for determining a destination according to header information and instructing the transfer destination to the packet transfer processing unit, and a tunnel processing unit for executing encapsulation processing or decapsulation processing for a received packet. apparatus.
【請求項2】請求項1記載のネットワーク中継装置にお
いて、 さらに前記管理情報を保持する管理情報バッファを備え
ることを特徴とするネットワーク中継装置。
2. The network relay device according to claim 1, further comprising a management information buffer holding the management information.
【請求項3】請求項1記載のネットワーク装置におい
て、 前記トンネル処理部により実行されるカプセル処理また
はデカプセル処理は、前記管理情報の内容を変更する処
理を含むことを特徴とするネットワーク中継装置。
3. The network device according to claim 1, wherein the encapsulation process or the decapsulation process executed by the tunnel processing unit includes a process of changing the content of the management information.
【請求項4】請求項3記載のネットワーク装置におい
て、 前記トンネル処理部により実行されるカプセル処理が、
さらに、新たなヘッダデータを作成して前記パケットバ
ッファの他の領域に保持させる処理と、該新たなヘッダ
データの保持領域の管理情報を生成する処理を含むこと
を特徴とするネットワーク中継装置。
4. The network device according to claim 3, wherein the capsule processing executed by the tunnel processing unit is:
The network relay device further includes a process of creating new header data and holding it in another region of the packet buffer, and a process of generating management information of the holding region of the new header data.
【請求項5】請求項3記載のネットワーク装置におい
て、 前記トンネル処理部により実行されるデカプセル処理
が、さらに、前記パケット転送処理部により生成された
2以上の管理情報のうちの1つの管理情報を削除する処
理を含むことを特徴とするネットワーク中継装置。
5. The network device according to claim 3, wherein the decapsulation process executed by the tunnel processing unit further includes one management information out of two or more management information generated by the packet transfer processing unit. A network relay device including a process of deleting.
JP2001363559A 2001-11-29 2001-11-29 Network relay device Expired - Fee Related JP3896829B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001363559A JP3896829B2 (en) 2001-11-29 2001-11-29 Network relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001363559A JP3896829B2 (en) 2001-11-29 2001-11-29 Network relay device

Publications (2)

Publication Number Publication Date
JP2003163702A true JP2003163702A (en) 2003-06-06
JP3896829B2 JP3896829B2 (en) 2007-03-22

Family

ID=19173882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001363559A Expired - Fee Related JP3896829B2 (en) 2001-11-29 2001-11-29 Network relay device

Country Status (1)

Country Link
JP (1) JP3896829B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013509052A (en) * 2009-10-26 2013-03-07 ゼットティーイー コーポレーション Dynamic tunnel message transfer method and switch
US20230171207A1 (en) * 2021-11-29 2023-06-01 Realtek Semiconductor Corp. Method for accessing system memory and associated processing circuit within a network card

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013509052A (en) * 2009-10-26 2013-03-07 ゼットティーイー コーポレーション Dynamic tunnel message transfer method and switch
US20230171207A1 (en) * 2021-11-29 2023-06-01 Realtek Semiconductor Corp. Method for accessing system memory and associated processing circuit within a network card
US11895043B2 (en) * 2021-11-29 2024-02-06 Realtek Semiconductor Corp. Method for accessing system memory and associated processing circuit within a network card

Also Published As

Publication number Publication date
JP3896829B2 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
US6799220B1 (en) Tunneling management messages over a channel architecture network
US7075889B2 (en) Packet protection technique
JP4057067B2 (en) Mechanism for replacing packet fields in multi-layer switching network elements
US6683885B1 (en) Network relaying apparatus and network relaying method
US7643511B2 (en) Frame alteration logic for network processors
WO2019057199A1 (en) Method for forwarding messages and network device
CN101150527B (en) A PCIE data transmission method, system and device
JP4764737B2 (en) Network system, terminal and gateway device
US7328270B1 (en) Communication protocol processor having multiple microprocessor cores connected in series and dynamically reprogrammed during operation via instructions transmitted along the same data paths used to convey communication data
JP3149926B2 (en) Address translation method and apparatus
CN105379228A (en) Method, switch, and controller for implementing ARP
EP4181432A1 (en) Redundant path resource reservation method, network device, and storage medium
CN113746749A (en) Network connection device
JP4257151B2 (en) Packet control system, packet control device, packet relay device, and packet control program
JP2000078205A (en) Inter-network data transmitting method
JP4040045B2 (en) Data transfer device
JP2003163702A (en) Network repeater
KR100431206B1 (en) Table management methode for distributed forwarding in high speed router
CN108156066A (en) Message forwarding method and device
JP2000232480A (en) Packet header converting device and communication node device
JP2001202345A (en) Parallel processor
JPH09116535A (en) Data transfer method and device
KR100550013B1 (en) Packet communication method between router and virtual local area network
JP2953362B2 (en) LAN switching device
JPH0621925A (en) Communication control system for multiplex transmission line

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060104

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060904

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: 20061128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061211

R151 Written notification of patent or utility model registration

Ref document number: 3896829

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20110105

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130105

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees