JP2000112849A - Method for attaching header to communication packet - Google Patents

Method for attaching header to communication packet

Info

Publication number
JP2000112849A
JP2000112849A JP10286296A JP28629698A JP2000112849A JP 2000112849 A JP2000112849 A JP 2000112849A JP 10286296 A JP10286296 A JP 10286296A JP 28629698 A JP28629698 A JP 28629698A JP 2000112849 A JP2000112849 A JP 2000112849A
Authority
JP
Japan
Prior art keywords
address
buffer
header
packet
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10286296A
Other languages
Japanese (ja)
Inventor
Yasuko Fukuoka
八寿子 福岡
Masahiro Kikuchi
正浩 菊池
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 JP10286296A priority Critical patent/JP2000112849A/en
Publication of JP2000112849A publication Critical patent/JP2000112849A/en
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the transfer time and to reduce the load on a CPU by reducing the copying of a memory at the time of transmitting/receiving data. SOLUTION: Continuous false virtual addresses are set up in an address conversion table 140 and a control block 150 included in a communication controller 170 provided with a DMA function as the substitutes of virtual memory addresses and the buffers of a header part 131 and a data part 123 are regarded as continued areas. Since the copying of transmitted/received data in the memory can be reduced without increasing overhead for the integration/division of the header part and the data part, the transfer time can be shortened and the load on the CPU can be reduced.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、DMA機能を備え
た通信制御装置に関わり、特にプロトコル情報のような
ソフトウェアヘッダを付与する通信パケットの送受信に
関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a communication control device having a DMA function, and more particularly to transmission and reception of a communication packet to which a software header such as protocol information is added.

【0002】[0002]

【従来の技術】TCP/IPなどの通信プロトコルを使
用してデータの転送を行う場合、プロトコル情報をパケ
ットヘッダとしてデータに付与し送信することが多い。
2. Description of the Related Art When data is transferred using a communication protocol such as TCP / IP, protocol information is often attached to data as a packet header and transmitted.

【0003】従来の方法では、ヘッダを付与するため
に、送信用のバッファにパケットのヘッダ部とデータ部
をメモリコピーし、そのバッファを通信制御装置に指定
することによって、ひとつのパケットとして送信させて
いた。また、受信側では受信パケットのヘッダ部とデー
タ部を分割するために、通信制御装置が書き込んだバッ
ファから、データ部のみをユーザアプリケーションのユ
ーザバッファにコピーする必要があった。
According to the conventional method, in order to add a header, a header part and a data part of a packet are copied into a transmission buffer in a memory, and the packet is transmitted as one packet by designating the buffer to a communication control device. I was Also, on the receiving side, in order to divide the header part and the data part of the received packet, it is necessary to copy only the data part from the buffer written by the communication control device to the user buffer of the user application.

【0004】パケットのヘッダ部とデータ部をコピーせ
ずに送信する方式としては、特開平10-107855号公報に
記載のように、ヘッダ部用のFIFOメモリとヘッダサイズ
及びデータ部用のバッファアドレスとデータサイズを記
憶させ、通信制御装置がそれを読み出し、ネットワーク
に送信する方式がある。また、受信パケットを、コピー
せずに分割する方法としては、特開平06-078001号公報
と特開平07-078112号公報のように、送信側で分割情報
を作ってパケットの制御情報に含め、受信側でその制御
情報からヘッダ部とデータ部を分割する方式がある。
As a method of transmitting a packet without copying a header part and a data part, as described in JP-A-10-107855, a FIFO memory for a header part, a header size, and a buffer address for a data part are used. There is a method of storing the data size and the data size, and the communication control device reads out the data size and transmits it to the network. Further, as a method of dividing the received packet without copying, as disclosed in JP-A-06-078001 and JP-A-07-078112, the transmission side creates division information and includes it in the control information of the packet. There is a method of dividing a header part and a data part from the control information on the receiving side.

【0005】[0005]

【発明が解決しようとする課題】従来技術のようなメモ
リコピーの削減の方式には、通信制御装置がヘッダ部と
データ部を送受信処理を行うため、通信制御装置の処理
が複雑になりオーバヘッドが増加するという問題があ
る。
In the method of reducing memory copying as in the prior art, the communication control device performs transmission / reception processing of a header portion and a data portion, so that the processing of the communication control device becomes complicated and overhead occurs. There is a problem of increasing.

【0006】本発明の目的は、アドレス変換テーブルを
使用するDMA通信制御装置の機能を利用して、通信制
御装置におけるヘッダ部とデータ部の統合・分割のオー
バヘッドを増加させることなく送受信のメモリコピーを
削減し、転送時間を短縮してCPU負荷を低減すること
にある。
SUMMARY OF THE INVENTION It is an object of the present invention to utilize a function of a DMA communication control device using an address conversion table to transmit and receive a memory copy without increasing the integration and division overhead of a header portion and a data portion in the communication control device. To reduce the CPU load by reducing the transfer time.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
に、DMA機能を備えた通信制御装置が有するアドレス
変換テーブル及び制御ブロックに、仮想メモリのアドレ
スに代わって、連続した擬似仮想アドレスを登録し、ヘ
ッダ部とデータ部のバッファを連続領域にみせかける。
In order to achieve the above object, a continuous pseudo virtual address is registered in the address conversion table and control block of the communication control device having the DMA function instead of the virtual memory address. Then, the buffer of the header part and the data part appears as a continuous area.

【0008】[0008]

【発明の実施の形態】本発明の一実施例を第1図で説明
する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described with reference to FIG.

【0009】この実施の形態は、プロセッサ160とメモ
リ110及びDMA機能を備えた通信制御装置170からな
り、これらの要素はシステムバス180を介して接続され
ている。また、通信制御装置170には、ネットワーク190
が接続され、通信制御装置170はこのネットワーク190に
対して送信パケットの出力を行っている。
This embodiment comprises a processor 160, a memory 110 and a communication controller 170 having a DMA function, and these components are connected via a system bus 180. The communication control device 170 includes a network 190
Is connected, and the communication control device 170 outputs a transmission packet to the network 190.

【0010】通信制御装置用領域132には、アドレス変
換テーブル140及び制御ブロック150を置く。これらのテ
ーブルは通信制御装置170からシステムバス180を介して
参照される。通常、アドレス変換テーブル140には、仮
想アドレスのページ番号141に対応した実アドレスのペ
ージ番号142を設定し、送信制御ブロック150には、送信
バッファのバッファアドレス152と送信長153及び送信先
アドレス151を格納する。アドレス変換テーブル140に
は、仮想アドレスのページ番号141と実アドレスのペー
ジ番号142の組をページ単位に登録するため、仮想メモ
リが連続していれば、実メモリが連続である必要はな
い。
In the communication control device area 132, an address conversion table 140 and a control block 150 are provided. These tables are referred to from the communication control device 170 via the system bus 180. Usually, the page number 142 of the real address corresponding to the page number 141 of the virtual address is set in the address conversion table 140, and the buffer address 152, the transmission length 153, and the destination address 151 of the transmission buffer are set in the transmission control block 150. Is stored. In the address conversion table 140, a set of the page number 141 of the virtual address and the page number 142 of the real address is registered for each page. Therefore, if the virtual memories are continuous, the real memories need not be continuous.

【0011】本実施例はこの特徴を利用し、ヘッダ部13
1とデータ部122に疑似仮想アドレス122を割り当て、仮
想メモリが連続しているようにみせかける。ただし、ヘ
ッダ部とデータ部を連続したバッファとして送信パケッ
トを作成するため、データ部123のバッファの先頭アド
レスはページ境界なければならない。具体的には、疑似
仮想アドレスのページ番号141とそれに対応した実アド
レスのページ番号142を、ページ単位にアドレス変換テ
ーブル140に登録する。送信制御ブロック150にも、バッ
ファアドレス152として疑似仮想アドレスの先頭アドレ
スであるヘッダ部の疑似仮想アドレスを設定する。通信
制御装置170は、送信制御ブロック150に設定されている
バッファアドレス152のページ番号でアドレス変換テー
ブル140を検索し、疑似仮想アドレスのページ番号141に
対応した実アドレスのページ番号132を取得する。
This embodiment takes advantage of this feature and uses the header 13
The pseudo-virtual address 122 is assigned to 1 and the data section 122, so that the virtual memory appears to be continuous. However, in order to create a transmission packet using the header part and the data part as a continuous buffer, the head address of the buffer of the data part 123 must be a page boundary. Specifically, the page number 141 of the pseudo virtual address and the page number 142 of the real address corresponding to the pseudo virtual address are registered in the address conversion table 140 in page units. In the transmission control block 150 as well, a pseudo-virtual address in the header portion, which is the head address of the pseudo-virtual address, is set as the buffer address 152. The communication control device 170 searches the address conversion table 140 using the page number of the buffer address 152 set in the transmission control block 150, and acquires the page number 132 of the real address corresponding to the page number 141 of the pseudo virtual address.

【0012】そして、実アドレスのページ番号132から
実アドレスを計算して、そのアドレスに示される実メモ
リから送信制御ブロック140に設定されている送信長143
分のデータを読みだし、通信制御装置170にある送信用
バッファ171に送信パケットを作成して、ネットワーク1
80に送信パケットを出力する。
Then, a real address is calculated from the page number 132 of the real address, and the transmission length 143 set in the transmission control block 140 is calculated from the real memory indicated by the address.
The data is read out, and a transmission packet is created in the transmission buffer 171 in the communication control device 170, and the network 1
Output the transmission packet to 80.

【0013】具体的な例を図1の値を用いて説明する。
OS空間130にあるヘッダ部131が仮想アドレス121の0x0
2010F00から256バイトで、ユーザ空間120にあるデータ
部123が仮想アドレス121の0x02141000から8192バイトの
場合、ヘッダ部131に0x00000F00、データ部123に0x0001
000という0x00000F00から0x00003000までの連続した疑
似仮想アドレス122を割り当てる。アドレス変換テーブ
ル140にはその疑似仮想アドレス122のページ番号141で
ある0x00000,0x00001,0x00002を登録し、送信制御ブロ
ック150のバッファアドレスには疑似仮想アドレスの先
頭アドレスである0x00000F00を、送信長153にはヘッダ
部とデータ部を加算した8448バイトを設定する。通信制
御装置170は、送信制御ブロック150のバッファアドレス
152のページ番号140である0x00000,0x00001,0x00002そ
れぞれでアドレス変換テーブル140を検索し、取得した
実アドレスに示される実メモリから送信長153分のデー
タを取り出して、送信パケットを作成し、送信する。
A specific example will be described with reference to FIG.
The header 131 in the OS space 130 is 0x0 of the virtual address 121
If 256 bytes from 2010F00 and the data part 123 in the user space 120 is 8192 bytes from 0x02141000 of the virtual address 121, 0x00000F00 in the header part 131 and 0x0001 in the data part 123
A continuous pseudo virtual address 122 from 0x00000F00 to 0x00003000 of 000 is allocated. In the address conversion table 140, 0x00000, 0x00001, 0x00002, which is the page number 141 of the virtual address 122, is registered. Sets 8448 bytes that are the sum of the header and data. The communication control device 170 determines the buffer address of the transmission control block 150.
The address conversion table 140 is searched for each of 0x00000, 0x00001, 0x00002, which is the page number 140 of 152, and data for a transmission length of 153 is extracted from the real memory indicated by the obtained real address, and a transmission packet is created and transmitted. .

【0014】次に本発明のもう一つの実施例を第2図で
説明する。
Next, another embodiment of the present invention will be described with reference to FIG.

【0015】本実施例の場合、データ部をユーザ空間22
0のユーザバッファ223に直接格納するために、疑似仮想
アドレス222を使用してヘッダ部のバッファ231とユーザ
バッファ223を連続しているようにみせかける。通信制
御装置270は、ヘッダ部とデータ部を区別せずに書き込
むので、ヘッダ部とデータ部の大きさは送信側と受信側
であわせておく必要がある。また、ユーザバッファ223
はページヘッダ境界になければならない。ヘッダ部用の
バッファ231とデータ部用のバッファ223それぞれに、疑
似仮想アドレス222を割り当て、その疑似仮想アドレス
のページ番号241と実アドレスのページ番号242をページ
単位にアドレス変換テーブル240に設定し、受信制御ブ
ロック250のバッファアドレスには疑似仮想アドレスの
先頭アドレスであるヘッダ部のバッファ231の疑似仮想
アドレスを設定する。
In the case of this embodiment, the data section is stored in the user space 22.
In order to directly store the data in the user buffer 223 of 0, the buffer 231 of the header part and the user buffer 223 are made to be continuous using the pseudo virtual address 222. Since the communication control device 270 writes the header part and the data part without distinguishing each other, the sizes of the header part and the data part need to be matched between the transmitting side and the receiving side. In addition, the user buffer 223
Must be on a page header boundary. A pseudo virtual address 222 is assigned to each of the buffer 231 for the header part and the buffer 223 for the data part, and the page number 241 of the pseudo virtual address and the page number 242 of the real address are set in the address conversion table 240 in page units. As the buffer address of the reception control block 250, a pseudo virtual address of the buffer 231 in the header, which is the head address of the pseudo virtual address, is set.

【0016】パケットが着信すると、通信制御装置270
は受信用バッファ271に受信バケットを格納し、受信制
御ブロック250に設定されているバッファアドレス251の
ページ番号251を用いてアドレス変換テーブル240を検索
して、疑似仮想アドレスのページ番号241に対応した実
アドレスのページ番号232から実アドレスを取得して、
その実アドレスに示される実メモリに対し、受信したパ
ケットの内容を書き込む。
When a packet arrives, the communication control device 270
Stored the reception bucket in the reception buffer 271 and searched the address translation table 240 using the page number 251 of the buffer address 251 set in the reception control block 250, and corresponded to the page number 241 of the pseudo virtual address. Get the real address from the real address page number 232,
The contents of the received packet are written to the real memory indicated by the real address.

【0017】具体的な例を図2の値を用いて説明する。
ヘッダ用バッファ231が仮想アドレス221の0x02210F00か
ら256バイトで、ユーザバッファ223が仮想アドレス221
の0x02162000から8192バイトの場合、ヘッダ用バッファ
231に0x00000F00、ユーザバッファ223に0x0001000とい
う連続した疑似仮想アドレス222を割り当てる。アドレ
ス変換テーブル240には、その疑似仮想アドレスページ
番号241である0x00000,0x00001,0x00002を登録し、受信
制御ブロック250のバッファアドレス251には疑似仮想ア
ドレス222の先頭アドレスである0x00000F00を、バッフ
ァ長252にはヘッダ部とデータ部を加算した8448バイト
を設定する。通信制御装置270は、受信制御ブロック250
のバッファアドレス251のページ番号241でアドレス変換
テーブル240をページ単位に検索し、実アドレスのペー
ジ番号242から取得した実アドレスに示される実メモリ
に対して、受信バケットの内容を書き込む。
A specific example will be described with reference to FIG.
The header buffer 231 is 256 bytes from 0x02210F00 of the virtual address 221 and the user buffer 223 is the virtual address 221.
0x02162000 to 8192 bytes, buffer for header
A continuous pseudo virtual address 222 of 0x00000F00 is assigned to 231 and 0x0001000 is assigned to the user buffer 223. In the address conversion table 240, 0x00000, 0x00001, 0x00002 which are the pseudo virtual address page numbers 241 are registered. Is set to 8448 bytes obtained by adding the header part and the data part. The communication control device 270 includes a reception control block 250
Then, the address conversion table 240 is searched by the page number 241 of the buffer address 251 in page units, and the contents of the reception bucket are written to the real memory indicated by the real address obtained from the page number 242 of the real address.

【0018】送信時のデータの流れを、図3を用いて説
明する。ユーザ空間350にあるユーザプログラム310が作
成したユーザデータ311と、OS空間360にある通信プロ
トコルレイヤ320によって作成されたプロトコル制御情
報を含むパケットヘッダ321は、ネットワークアダプタ3
30を経由して通信制御装置340で送信パケット341として
統合され、通信制御装置340からネットワーク370に出力
される。
The data flow during transmission will be described with reference to FIG. The user data 311 created by the user program 310 in the user space 350 and the packet header 321 including the protocol control information created by the communication protocol layer 320 in the OS space 360 include the network adapter 3
The packet is integrated as a transmission packet 341 by the communication control device 340 via the communication control device 30, and is output from the communication control device 340 to the network 370.

【0019】受信時のデータの流れを、図4を用いて説
明する。ネットワーク470から受信したパケットは、受
信バッファ441に格納され、あらかじめ設定しておいた
ユーザプログラム410のユーザバッファ411と通信プロト
コルレイヤのパケットヘッダ用のバッファ421に書き込
まれる。
The data flow at the time of reception will be described with reference to FIG. The packet received from the network 470 is stored in the reception buffer 441, and is written in the preset user buffer 411 of the user program 410 and the buffer 421 for the packet header of the communication protocol layer.

【0020】送信時のネットワークアダプタ330の送信
処理を図5に、通信制御装置340の送信処理を図6に示
す。通信プロトコルレイヤ320から送信要求を指示され
たネットワークアダプタ330は、ヘッダ部のバッファ131
とデータ部のバッファ123を実メモリ上にページ固定す
る(510)。そして、アドレス変換テーブル140に、ヘッダ
部とデータ部のバッファが連続するように割り当てた疑
似仮想アドレスのページ番号141と、それに対応した実
アドレスのページ番号142を、ページ単位に登録する(52
0)。送信制御ブロック150に、送信先アドレス151とバッ
ファアドレス152および送信長153を指定し(530)、通信
制御装置170に送信を指示する(540)。
FIG. 5 shows the transmission process of the network adapter 330 at the time of transmission, and FIG. 6 shows the transmission process of the communication control device 340. The network adapter 330 instructed by the communication protocol layer 320 to send a transmission request includes a buffer 131 in the header section.
Then, the page of the buffer 123 of the data section is fixed on the real memory (510). Then, in the address conversion table 140, the page number 141 of the pseudo virtual address assigned so that the buffer of the header section and the buffer of the data section are consecutive, and the page number 142 of the corresponding real address are registered in page units (52).
0). The transmission destination address 151, the buffer address 152, and the transmission length 153 are specified in the transmission control block 150 (530), and transmission is instructed to the communication control device 170 (540).

【0021】送信を指示された通信制御装置170は、送
信制御プロック150からバッファアドレス152と送信長15
3を取得して(610)、バッファアドレス152のページ番号
でアドレス変換テーブル140を検索し、実アドレスのペ
ージ番号142を取得する(620)。バッファアドレス152が
ページ境界にない場合は、ページ境界からバッファアド
レスまでのオフセットを、取得した実アドレスのページ
番号142から計算した実アドレスに加算し(630)、その実
アドレスに示される実メモリからデータを読み込んで、
通信制御装置170の送信用バッファ171に送信パケットを
作成する(640)。これを、データをすべて送信バッファ1
71に格納するまで繰り返し(650)、送信用バッファ171に
作成された送信パケットをネットワーク180に出力する
(660)。
The communication control device 170 instructed to transmit transmits the buffer address 152 and the transmission length 15 from the transmission control block 150.
3 is obtained (610), the address conversion table 140 is searched with the page number of the buffer address 152, and the page number 142 of the real address is obtained (620). If the buffer address 152 is not on the page boundary, the offset from the page boundary to the buffer address is added to the real address calculated from the page number 142 of the obtained real address (630), and the data from the real memory indicated by the real address is added. And load
A transmission packet is created in the transmission buffer 171 of the communication control device 170 (640). This is used to send all data to transmit buffer 1.
It repeats until it is stored in 71 (650), and outputs the transmission packet created in the transmission buffer 171 to the network 180.
(660).

【0022】受信時のネットワークアダプタ430の受信
処理を図7に、通信制御装置440の受信処理を図8に示
す。通信プロトコルレイヤ420から受信要求を指示され
たネットワークアダプタ430は、ヘッダ用バッファ231と
ユーザバッファ223を実メモリ上にページ固定する(71
0)。そして、アドレス変換テーブル240に、ヘッダ用バ
ッファ231とユーザバッファ223が連続するように割り当
てた疑似仮想アドレス222のページ番号241と、それに対
応した実アドレスのページ番号242を、ページ単位に登
録する(720)。受信制御ブロック250に、バッファアドレ
ス251およびバッファ長252を指定する(730)。
FIG. 7 shows a reception process of the network adapter 430 during reception, and FIG. 8 shows a reception process of the communication control device 440. The network adapter 430 instructed by the communication protocol layer 420 to receive a request fixes the header buffer 231 and the user buffer 223 in a page on the real memory (71
0). Then, in the address conversion table 240, the page number 241 of the pseudo-virtual address 222 allocated so that the header buffer 231 and the user buffer 223 are continuous, and the page number 242 of the corresponding real address are registered in page units ( 720). The buffer address 251 and the buffer length 252 are specified in the reception control block 250 (730).

【0023】パケットを受信した通信制御装置440はパ
ケットを受信バッファ271に格納し(810)、受信制御プロ
ック250からバッファアドレス252と送信長253を取得し
て(820)、バッファアドレス252のページ番号241でアド
レス変換テーブル240を検索し、実アドレスのページ番
号242を取得する(830)。バッファアドレス252がページ
境界にない場合は、ページ境界からバッファアドレスま
でのオフセットを、取得した実アドレスのページ番号14
2から計算した実アドレスに加算し(840)、その実アドレ
スに示される実メモリに受信パケットの内容を書き込む
(850)。これを、受信パケットの内容をすべて書き込む
まで繰り返す(860)。
The communication control device 440 that has received the packet stores the packet in the reception buffer 271 (810), obtains the buffer address 252 and the transmission length 253 from the reception control block 250 (820), and obtains the page number of the buffer address 252. The address conversion table 240 is searched by 241 to obtain the page number 242 of the real address (830). If the buffer address 252 is not on a page boundary, the offset from the page boundary to the buffer address is calculated using the page number 14 of the acquired real address.
Add to the real address calculated from 2 (840), and write the contents of the received packet to the real memory indicated by that real address
(850). This is repeated until all the contents of the received packet are written (860).

【0024】通信パケットの例を、図9に示す。上記処
理で通信制御装置170から送信されるパケットは、経路
情報910、宛先アドレス920、送信元アドレス930、パケ
ット長940、ヘッダ部950、データ部960という形式をと
る。
FIG. 9 shows an example of a communication packet. The packet transmitted from the communication control device 170 in the above processing takes the form of the route information 910, the destination address 920, the source address 930, the packet length 940, the header section 950, and the data section 960.

【0025】[0025]

【発明の効果】本発明は、以上に説明したように構成さ
れているので、通信パケットにヘッダを付与する際のメ
モリコピーとヘッダを取り除く際のメモリコピーを削減
し、転送時間を短縮することができる。
Since the present invention is configured as described above, it is possible to reduce a memory copy when adding a header to a communication packet and a memory copy when removing the header, and to shorten a transfer time. Can be.

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

【図1】本発明の送信処理の実施例を示す構成図。FIG. 1 is a configuration diagram showing an embodiment of a transmission process according to the present invention.

【図2】本発明の受信処理の実施例を示す構成図。FIG. 2 is a configuration diagram illustrating an embodiment of a reception process according to the present invention.

【図3】送信処理のデータの流れの説明図。FIG. 3 is an explanatory diagram of a data flow of a transmission process.

【図4】受信処理のデータの流れの説明図。FIG. 4 is an explanatory diagram of a data flow of a reception process.

【図5】ネットワークアダプタの送信処理フロー図。FIG. 5 is a flowchart of a transmission process of a network adapter.

【図6】通信制御装置の送信処理フロー図。FIG. 6 is a flowchart of a transmission process of the communication control device.

【図7】ネットワークアダプタの受信処理フロー図。FIG. 7 is a reception processing flowchart of a network adapter.

【図8】通信制御装置の受信処理フロー図。FIG. 8 is a flowchart of a reception process of the communication control device.

【図9】通信パケットの例を示す図。FIG. 9 is a diagram showing an example of a communication packet.

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

123…データ部のバッファ、 131…ヘッダ部の
バッファ、140…アドレス変換テーブル、 150…
送信制御ブロック、170…通信制御装置、
223…ユーザバッファ、231…ヘッダ用バッファ、
240…アドレス変換テーブル、250…受信制御
ブロック、 270…通信制御装置、310…ユー
ザプログラム、 320…通信プロトコルレイ
ヤ、321…ユーザデータ、 322…パケッ
トデータ、330…ネットワークアダプタ、 340…
通信制御装置、410…ユーザプログラム、 4
20…通信プロトコルレイヤ、421…ユーザデータ、
422…パケットデータ、430…ネットワーク
アダプタ、 440…通信制御装置。
123: Data part buffer, 131: Header part buffer, 140: Address conversion table, 150 ...
Transmission control block, 170 ... communication control device,
223: User buffer, 231: Header buffer,
240: Address conversion table, 250: Reception control block, 270: Communication control device, 310: User program, 320: Communication protocol layer, 321: User data, 322: Packet data, 330: Network adapter, 340 ...
Communication control device, 410 ... User program, 4
20: Communication protocol layer, 421: User data,
422: packet data, 430: network adapter, 440: communication control device.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】DMA機能を備える通信制御装置におい
て、通信制御装置が有するアドレス変換テーブルに、仮
想アドレスに代わって擬似的な仮想アドレスを指定する
ことにより、送信するパケットのデータ部のバッファと
それに付与するヘッダ部のバッファを疑似的に連続して
いるようにみせかけ、メモリコピーせずにひとつの通信
パケットとして送信することを特徴とする通信パケット
のヘッダ付与方式。
In a communication control device having a DMA function, a buffer of a data portion of a packet to be transmitted and a virtual buffer are designated by designating a pseudo virtual address instead of a virtual address in an address conversion table of the communication control device. A header adding method for a communication packet, characterized in that a buffer of a header portion to be added appears to be pseudo-continuous, and is transmitted as one communication packet without memory copying.
【請求項2】DMA機能を備える通信制御装置におい
て、通信制御装置が有するアドレス変換テーブルに仮想
アドレスに代わって、疑似的な仮想アドレスを指定する
ことにより、ヘッダ部とデータ部の受信バッファが連続
してようにみせかけ、ヘッダ部とともに一つのパケット
として送信されるデータ部のみを、ユーザアプリケーシ
ョンのユーザバッファに直接格納することを特徴とする
通信パケットのヘッダ付与方式。
2. A communication control apparatus having a DMA function, wherein a pseudo-virtual address is specified in place of a virtual address in an address conversion table of the communication control apparatus, so that a reception buffer of a header part and a data part is continuously connected. A communication packet header adding method, wherein only a data portion transmitted as one packet together with a header portion is directly stored in a user buffer of a user application.
JP10286296A 1998-10-08 1998-10-08 Method for attaching header to communication packet Pending JP2000112849A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10286296A JP2000112849A (en) 1998-10-08 1998-10-08 Method for attaching header to communication packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10286296A JP2000112849A (en) 1998-10-08 1998-10-08 Method for attaching header to communication packet

Publications (1)

Publication Number Publication Date
JP2000112849A true JP2000112849A (en) 2000-04-21

Family

ID=17702549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10286296A Pending JP2000112849A (en) 1998-10-08 1998-10-08 Method for attaching header to communication packet

Country Status (1)

Country Link
JP (1) JP2000112849A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366970B1 (en) * 1999-04-01 2002-04-02 Ravisent Technologies, Inc. Optimal handling and manipulation of high-speed streaming media in a computing device
US7168069B1 (en) 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
JP2007259446A (en) * 2006-03-23 2007-10-04 Internatl Business Mach Corp <Ibm> Method and apparatus for improving security while transmitting data packet

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366970B1 (en) * 1999-04-01 2002-04-02 Ravisent Technologies, Inc. Optimal handling and manipulation of high-speed streaming media in a computing device
US7168069B1 (en) 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
US8495597B2 (en) 2000-07-12 2013-07-23 Stmicroelectronics, Inc. On the fly generation of multimedia code for image processing
JP2007259446A (en) * 2006-03-23 2007-10-04 Internatl Business Mach Corp <Ibm> Method and apparatus for improving security while transmitting data packet
JP4743894B2 (en) * 2006-03-23 2011-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for improving security while transmitting data packets

Similar Documents

Publication Publication Date Title
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
JP2625385B2 (en) Multiprocessor system
JP4607405B2 (en) Input / output (I / O) address translation at the bridge close to the local I / O bus
JP2977688B2 (en) Multi-processing device, method, and processor used for the same
US5590328A (en) Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols
JP3473975B2 (en) Network system and communication method in network
US5797041A (en) Communication control system utilizing a shared buffer composed of first and second descriptors which are managed by high and low level protocols
EP2019360A1 (en) Data processing apparatus and data transfer method
EP0602890A2 (en) Parallel processing system
JPH07182260A (en) Frame buffer method of network packet
US7890673B2 (en) System and method for accessing non processor-addressable memory
JP2774862B2 (en) DMA control device and information processing device
JP2006262336A (en) Frame transfer method and apparatus
US6101553A (en) Communication network end station and adaptor card therefor eliminating on-board storage of operating control code in adaptor card
JP2000112849A (en) Method for attaching header to communication packet
JP2002084311A (en) Packet transmission equipment
JP3800037B2 (en) Interprocessor communication system and interprocessor communication method used therefor
JP2000286895A (en) Data transfer method
US7219193B2 (en) FIFO control circuit
JP2000330960A (en) Communication equipment between processors
JP2002259213A (en) Parallel computer system
JP2004094931A (en) Network system and communication method in network
JP2000259523A (en) Data transfer device, lan communication system and data transfer method
JP2953362B2 (en) LAN switching device
JPH03255749A (en) Data transfer system for communication control equipment