JP4612820B2 - Communication control apparatus and method - Google Patents

Communication control apparatus and method Download PDF

Info

Publication number
JP4612820B2
JP4612820B2 JP2004264644A JP2004264644A JP4612820B2 JP 4612820 B2 JP4612820 B2 JP 4612820B2 JP 2004264644 A JP2004264644 A JP 2004264644A JP 2004264644 A JP2004264644 A JP 2004264644A JP 4612820 B2 JP4612820 B2 JP 4612820B2
Authority
JP
Japan
Prior art keywords
header
payload
frame
header generation
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.)
Expired - Fee Related
Application number
JP2004264644A
Other languages
Japanese (ja)
Other versions
JP2006081032A (en
JP2006081032A5 (en
Inventor
健一 森川
淳 川島
和彦 森村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004264644A priority Critical patent/JP4612820B2/en
Priority to US11/222,988 priority patent/US7620050B2/en
Publication of JP2006081032A publication Critical patent/JP2006081032A/en
Publication of JP2006081032A5 publication Critical patent/JP2006081032A5/ja
Application granted granted Critical
Publication of JP4612820B2 publication Critical patent/JP4612820B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信制御装置及び方法に関するものである。   The present invention relates to a communication control apparatus and method.

パーソナルコンピュータ等でなくとも、機器を直接ネットワークに接続する機会や需要が高まっている。例として携帯端末、プリンタ、カメラ、コピー機、ディスプレイ、ビデオ機器、音響装置などが挙げられる。これらの機器は比較的低価格・低処理能力のCPUを搭載、又は全く搭載していない場合もあり、その様な機器資源を利用しネットワークにおいて標準的に使用されているTCP/UDP/IPといったインターネット標準プロトコルを実現しようとすれば、TCP/UDP/IPのプロトコルスタックを低処理能力CPUで低ビットレート(帯域)ではあるが実現するか、又はTOE(TCP/IPオフロードエンジン)といったプロトコル処理に特化した補助的デバイスを利用する事で比較的広帯域なネットワーク通信を実現するか、の方法しかない。とはいったものの機器が扱う情報の量は写真、動画、音楽、いずれにおいても大きくなる一方で、機器のコストを低価格に抑える必要がある、といった背景においてはTOEによるネットワーク通信機能実現のアプローチが今後増加してくることは想像に難くない。   Even if it is not a personal computer or the like, opportunities and demands for directly connecting devices to a network are increasing. Examples include portable terminals, printers, cameras, copiers, displays, video equipment, audio devices, and the like. These devices may be equipped with a relatively low-priced and low-processing CPU, or may not be installed at all, such as TCP / UDP / IP that is used as standard in networks using such device resources. If an Internet standard protocol is to be realized, a TCP / UDP / IP protocol stack can be realized with a low processing capacity CPU even at a low bit rate (bandwidth), or a protocol processing such as TOE (TCP / IP offload engine) There is only a method of realizing a relatively broadband network communication by using an auxiliary device specialized for the above. However, while the amount of information handled by devices is large for all of photos, videos, and music, it is necessary to keep the cost of the devices low. It is not difficult to imagine that it will increase in the future.

TOE実現(TCP/IPプロトコルスタックのハードウェアによる実現)において、最も簡単にこれを実現する為には、ただ単に今迄ソフトウェアで実現していた方法をそのままハードウェア化すればよいと言う考え方がある。ソフトウェアで実現されているTCP/UDP/IPプロトコルスタックは充分に枯れた方法により実現されており、この考え方は1つの妥当な考え方ではある。しかしソフトウェア(CPU向け)に考案された方法をそのままハードウェア化したときに、それがゲートやレジスタ(フリップフロップ)やメモリといったプリミティブなデバイスで実現される事を考えるとソフトウェアの実現方法がそのままハードウェアの適切な実現方法であるかといえば、違うと言わざるを得ない。ハードウェアは複雑なポインタ処理や、変数の動的生成や消滅、再帰処理、多くのプロセス生成、といった処理方法は苦手であり、ソフトウェアで実現されたTCP/IPプロトコルスタックは複雑なポインタ処理と変数やメモリ領域の動的生成や消滅といった手順が到るところに存在している。   In the realization of the TOE (realization with TCP / IP protocol stack hardware), the simplest way to achieve this is to simply implement the method that has been implemented in software until now as hardware. is there. The TCP / UDP / IP protocol stack realized by software is realized by a sufficiently dead method, and this idea is one appropriate idea. However, when the method devised for software (for CPU) is made into hardware as it is, it is realized that it is realized with primitive devices such as gates, registers (flip-flops), and memories. If it is an appropriate way of realizing wear, it must be said that it is different. Hardware is not good at processing methods such as complicated pointer processing, dynamic generation and annihilation of variables, recursion processing, and generation of many processes. TCP / IP protocol stack implemented by software has complicated pointer processing and variables. And procedures such as dynamic creation and disappearance of memory areas exist.

従来手順をそのままハードウェアで実現すると大きく以下の流れになる。(1)アプリケーションデバイスから送信指示された一連の送信データを一時的に連続した共有メモリ領域に保存する。(2)共有メモリに保存された一連の送信データを、最も上位のプロトコル制御ブロックが参照、分割、ヘッダ追加を行い、次のプロトコル制御ブロックに共有メモリのアクセス権利と共に制御を移す。各プロトコル制御ブロックは順次、各々共有メモリの参照、分割、ヘッダ追加を行う。(3)ヘッダとペイロードを連続したメモリ空間に隣接して配置する。ペイロードの全てを連続したメモリ空間に配置できない場合は別のメモリ空間にペイロードのみを配置する。(4)ヘッダと隣接したペイロードや隣接しないペイロード、フレームの連続関係はメモリ制御情報として必要な数だけメモリ内に保存される(一般にmbufと呼ばれる)。   If the conventional procedure is realized in hardware as it is, the flow will be as follows. (1) A series of transmission data instructed to be transmitted from an application device is temporarily stored in a continuous shared memory area. (2) The uppermost protocol control block references, divides, and adds a header to a series of transmission data stored in the shared memory, and the control is transferred to the next protocol control block together with the access right of the shared memory. Each protocol control block sequentially references, divides, and adds a header to the shared memory. (3) The header and the payload are arranged adjacent to a continuous memory space. If the entire payload cannot be arranged in a continuous memory space, only the payload is arranged in another memory space. (4) The required number of consecutive headers and non-adjacent payloads and frames are stored in the memory as memory control information (generally called mbuf).

即ち、複雑なペイロード分割とペイロードやヘッダの管理情報(mbuf)の生成後にヘッダが生成され、この処理は各プロトコルスタックで各々順次実行される。   That is, a header is generated after complex payload division and payload and header management information (mbuf) are generated, and this processing is sequentially executed in each protocol stack.

また、下記の特許文献1には、TCP/IPをハードウェア的に処理する装置及びその動作方法が記載されている。   Patent Document 1 below describes a device that processes TCP / IP in hardware and an operation method thereof.

特開2001−268159号公報JP 2001-268159 A

しかし、上記のような手順を踏むと、アプリケーションの転送単位によるTCPセグメント化やIPフラグメント化が必要な場合は、1つ1つのフレームに対する全てのヘッダをメモリに書き込まなければならない。すなわちリンク層に依存するMTUに対して、アプリケーションの転送単位が大きくなるにつれて、分割後に発生するフレームが増加し、そのフレームに付加しなければならないヘッダを書き込むために確保しなければならないメモリ領域が増大するという課題がある。   However, if the above procedure is followed, if TCP segmentation or IP fragmentation by application transfer unit is required, all headers for each frame must be written to the memory. That is, with respect to the MTU that depends on the link layer, as the transfer unit of the application increases, the number of frames generated after the division increases, and the memory area that must be reserved for writing the header that must be added to the frame is increased. There is a problem of increasing.

一般的には、メモリ内でヘッダとペイロードをフレーム化して出力する。しかし、アプリケーションの転送単位によりTCPのセグメント化やIPのフラグメント化が必要な場合は、一つ一つのフレームに対するヘッダ全てをメモリに書き込まなければならない。   In general, a header and a payload are framed and output in a memory. However, if TCP segmentation or IP fragmentation is required depending on the transfer unit of the application, all headers for each frame must be written to the memory.

本発明の目的は、アプリケーションの転送単位が大きくなることにより送信するフレーム数が増加する場合であっても、ヘッダを書き込むために確保しなければならないメモリ領域の増大抑止することである。 An object of the present invention is to suppress an increase in a memory area that must be secured for writing a header even when the number of frames to be transmitted increases due to an increase in the transfer unit of an application .

本発明の通信制御装置は、複数レイヤのプロトコルのヘッダ生成に必要なヘッダ生成情報を収集し、ヘッダ生成指示及びヘッダ生成情報をフレーム毎に出力するプロトコル制御手段と、前記プロトコル制御手段から前記ヘッダ生成指示及び前記ヘッダ生成情報入力されると、複数レイヤのプロトコルのヘッダを並列して1ヘッダ毎に生成し、ヘッダ生成完了通知を出力するヘッダ生成手段と、前記ヘッダ生成手段から前記ヘッダ生成完了通知入力されると、前記生成された複数レイヤのプロトコルのヘッダ及びフレーム単位のペイロードをフレームとして合成するヘッダ/ペイロード合成手段とを有することを特徴とする。 The communication control apparatus of the present invention collects header generation information necessary for header generation of a protocol of a plurality of layers , outputs a header generation instruction and header generation information for each frame, and the header from the protocol control unit When generation instruction and the header generation information is input, the header generates the header of the plurality of layers protocols in parallel to generate for each header, and the header generation means for outputting a generation completion notification header, from the header generating unit When the completion notification is input, and having a header / payload synthesis means for synthesizing the payload header and frames of said generated plurality layer protocol as frames.

また、本発明の通信制御方法は、複数レイヤのプロトコルのヘッダ生成に必要なヘッダ生成情報を収集し、ヘッダ生成指示及びヘッダ生成情報をフレーム毎に出力するプロトコル制御ステップと、前記ヘッダ生成指示及び前記ヘッダ生成情報入力されると、複数レイヤのプロトコルのヘッダを並列して1ヘッダ毎に生成し、ヘッダ生成完了通知を出力するヘッダ生成ステップと、前記ヘッダ生成完了通知入力されると、前記生成された複数レイヤのプロトコルのヘッダ及びフレーム単位のペイロードをフレームとして合成するヘッダ/ペイロード合成ステップとを有することを特徴とする。 Further, the communication control method of the present invention collects header generation information necessary for header generation of a protocol of a plurality of layers , outputs a header generation instruction and header generation information for each frame, the header generation instruction, When the header generation information is input, in parallel headers of the plurality layer protocol generates for each header, and the header generation step of outputting the generated completion notification header and the header generation completion notice is input, And a header / payload synthesis step of synthesizing the generated multi-layer protocol header and frame-by-frame payload as a frame.

本発明によれば、フレーム単位で複数レイヤのプロトコルのヘッダを並列して生成し、フレーム単位のペイロードと合成するのでアプリケーションの転送単位が大きくなることにより送信フレーム数が増加する場合であっても、フレームに付加しなければならないヘッダを書き込むために確保しなければならないメモリ領域の増大を抑止することができる According to the present invention, headers of a plurality of layers of protocols are generated in parallel in units of frames and synthesized with a payload in units of frames, so that the number of transmission frames increases due to an increase in the transfer unit of the application. In addition, it is possible to suppress an increase in the memory area that must be secured for writing a header that must be added to the frame.

図1は、本発明の実施形態による通信制御装置の構成例を示すブロック図である。以下、図1を用いてその構成を説明する。   FIG. 1 is a block diagram illustrating a configuration example of a communication control apparatus according to an embodiment of the present invention. The configuration will be described below with reference to FIG.

[アプリケーションデバイス]
アプリケーションデバイス(101)は、送信要求(106)と送信データ長(107)をフレーム個数フレーム長算出部(102)に出力し、送信データ(110)をペイロード分割部(103)に出力する。アプリケーションデバイス(101)には、2つの種類が想定される。1つ目はコンスタントビットレート(単位時間あたりの情報量が一定)のデバイスである。2つ目はバリアブルビットレートのデバイス(単位時間あたりの情報量が一定ではないが、単位時間辺りの情報量は明示される)である。その他にバリアブルビットレートのデバイスからの情報を一時的にバッファし定期的に一定量の情報を出力する様シェーピングするデバイスである場合も想定されるがこれは1つ目の種類のデバイスと同じと見なせる。また、サンプリング周波数で予め規定された量子化ビットレートでRAW情報を出力してくるデバイスも想定できるが、これは1つ目の種類のデバイスと同様に見なすことが出来る。これら全てのアプリケーションデバイス(101)に接続される本実施形態による通信制御装置は、アプリケーションデバイス(101)とのインタフェースにおいて、送信要求(106)、送信データ長(107)、送信データ(110)、を受ける事とする。
[Application device]
The application device (101) outputs the transmission request (106) and the transmission data length (107) to the frame number frame length calculation unit (102), and outputs the transmission data (110) to the payload division unit (103). Two types of application devices (101) are assumed. The first is a device with a constant bit rate (a constant amount of information per unit time). The second is a variable bit rate device (the amount of information per unit time is not constant, but the amount of information per unit time is specified). In addition, it is assumed that the device is shaped to temporarily buffer information from a variable bit rate device and periodically output a certain amount of information, but this is the same as the first type of device. Can be considered. In addition, a device that outputs RAW information at a quantization bit rate preliminarily defined by the sampling frequency can be assumed, but this can be regarded in the same manner as the first type of device. The communication control apparatus according to the present embodiment connected to all the application devices (101) has a transmission request (106), a transmission data length (107), transmission data (110), and an interface with the application device (101). I will receive it.

[フレーム個数フレーム長算出部]
フレーム個数フレーム長算出部(102)は、アプリケーションデバイス(101)から入力された送信要求(106)をトリガに、同じく入力された送信データ長(107)を基に送信データを幾つのフレームに分割して出力すべきかを算出する。
[Frame number frame length calculation unit]
The frame number frame length calculation unit (102) divides transmission data into several frames based on the transmission data length (107) that is also input, triggered by the transmission request (106) input from the application device (101). To calculate whether to output.

図2のフローチャートを用いて、ペイロード長とヘッダ数算出の流れについて詳説する。フレーム個数フレーム長算出部(102)は、アプリケーションデバイス(101)からの送信要求(106)を受信すると併せて、その一度の送信要求で送信したいデータの長さを送信データ長(107)として受け取る(ステップ301、302)。するとフレーム個数フレーム算出部(以後FFCと呼ぶ)はフレーム数(FLM_COUNT)、先頭フレームペイロード長(HEAD_PAY_LEN)、中間フレームペイロード長(MID_PAY_LEN)、最終フレームペイロード長(FIN_PAY_LEN)を算出する必要があるが、これらをまず初期化する(ステップ303)。フレームをどの様な長さの単位で送信するかについてはTCP/UDPを想定した場合、インタフェースのMTU又はTCPのMSSが想定されるが、ここではまずインタフェースのMTUを取得する(ステップ304)。また、TCP/UDP/IPから形成されるフレームを扱う場合にフレームのペイロード長を算出する為には各々のプロトコルヘッダの長さを鑑みる必要があるのでIPHL(IP Header Length)及びUDPHL(UDP Header Length)及びTCPHL(TCP Header Length)を規定する(ステップ305)。このステップ305では、それぞれ基本のヘッダ長を示してあるが各プロトコルにおいてオプションヘッダを想定する場合はこの場でオプションヘッダ長まで加味したヘッダ長を規定する。次にコネクションの種別についてTCPかUDPか又はRAWであるか、を識別する。コネクション種別は予めFFC(102)にて保持しておく方法とコネクション識別子を基に導出する方法が考えられる(ステップ306)。   The flow of calculating the payload length and the number of headers will be described in detail using the flowchart of FIG. The frame number frame length calculation unit (102) receives the transmission request (106) from the application device (101), and also receives the length of data desired to be transmitted with the one transmission request as the transmission data length (107). (Steps 301 and 302). Then, the frame number frame calculation unit (hereinafter referred to as FFC) needs to calculate the number of frames (FLM_COUNT), the head frame payload length (HEAD_PAY_LEN), the intermediate frame payload length (MID_PAY_LEN), and the final frame payload length (FIN_PAY_LEN). These are first initialized (step 303). When TCP / UDP is assumed as to which frame unit is to be transmitted, an interface MTU or TCP MSS is assumed. First, the interface MTU is acquired (step 304). In addition, when handling a frame formed from TCP / UDP / IP, it is necessary to consider the length of each protocol header in order to calculate the payload length of the frame. Therefore, IPHL (IP Header Length) and UDPHL (UDP Header) Length) and TCPHL (TCP Header Length) are defined (step 305). In this step 305, the basic header length is shown, but when an optional header is assumed in each protocol, the header length including the optional header length is defined on this occasion. Next, it is identified whether the connection type is TCP, UDP or RAW. A method of preliminarily storing the connection type in the FFC (102) and a method of deriving based on the connection identifier are conceivable (step 306).

UDPの場合は送信データ長がインタフェース層MTU−IPHL−UDPHL以下であるかを確認する(ステップ311)。そうである場合は1つのフレームに与えられた送信データが全て格納可能であるのでフレーム数1、先頭フレームペイロード長=送信データ長である、とする(ステップ308)。そうでない場合は送信データを複数のフレームに分割する必要がある。この分割数や各ペイロード長を算出する作業は仮にフレームを送信していった場合にどうなるかという事を想定しながら分割作業を進めていく。まず仮の送信済みデータ長(DONE_LEN)を0とする(ステップ312)。次に未送信データ長がフラグメントペイロード長以下であるかを確認する。これは最終フラグメントであるかという判断をおこなっており、未送信データ長は送信データ長から仮の送信済みデータ長(DONE_LEN)を減算して求め、これとMTU−IPHLの長さを比較する等という方法が想定できる(ステップ313)。ここまでの事前チェックの流れにおいては、初めての比較では未送信データ長がフラグメントペイロード長以下であるということは起き得ない。次にフレーム数(FLM_COUNT)をインクリメントする(ステップ314)。送信済みデータ長が0であれば(ステップ315)、先頭フレームであると判断されるので先頭フレームのペイロード長はMTU−IPHL−UDPHLであり、仮の送信済みデータ長はMTU−IPHL−UDPHLであると決定される(ステップ317)。先頭フレームではない場合は中間フレームであるから中間フレーム長をMTU−IPHL、仮の送信済みデータ長(DONE_LEN)をDONE_LEN+(MTU−IPHL)とする。これらの後再び未送信データ長がフラグメントペイロード長以下であるか、即ち最終フラグメントであるかを判断し(ステップ313)、もし最終フラグメントであれば最終フレームは送信データ長からDONE_LENを減算する事で求められる(ステップ318)。その後最終フラグメントフレームの分のフレーム数をカウントアップ(FLM_COUNT++)し(ステップ319)、フレーム数、先頭フレームペイロード長、中間フレームペイロード長、最終フレームペイロード長が決定出力される(ステップ310)。   In the case of UDP, it is confirmed whether the transmission data length is less than or equal to the interface layer MTU-IPHL-UDHL (step 311). If this is the case, since all the transmission data given in one frame can be stored, it is assumed that the number of frames is 1, the first frame payload length = the transmission data length (step 308). Otherwise, it is necessary to divide the transmission data into a plurality of frames. The operation of calculating the number of divisions and the length of each payload proceeds with the assumption of what happens when a frame is transmitted. First, the temporary transmitted data length (DONE_LEN) is set to 0 (step 312). Next, it is confirmed whether the untransmitted data length is equal to or shorter than the fragment payload length. It is determined whether this is the final fragment. The untransmitted data length is obtained by subtracting the provisional transmitted data length (DONE_LEN) from the transmitted data length, and this is compared with the MTU-IPHL length. (Step 313). In the flow of the prior check so far, it is impossible for the first comparison to make the untransmitted data length equal to or less than the fragment payload length. Next, the number of frames (FLM_COUNT) is incremented (step 314). If the transmitted data length is 0 (step 315), it is determined that it is the first frame, so the payload length of the first frame is MTU-IPHL-UDHL, and the temporary transmitted data length is MTU-IPHL-UDPHL. It is determined that there is (step 317). If it is not the first frame, it is an intermediate frame, so the intermediate frame length is MTU-IPHL, and the provisionally transmitted data length (DONE_LEN) is DONE_LEN + (MTU-IPHL). After these, it is determined again whether the untransmitted data length is equal to or shorter than the fragment payload length (step 313). If it is the final fragment, the final frame is obtained by subtracting DONE_LEN from the transmitted data length. It is determined (step 318). Thereafter, the number of frames corresponding to the final fragment frame is counted up (FLM_COUNT ++) (step 319), and the number of frames, the head frame payload length, the intermediate frame payload length, and the final frame payload length are determined and output (step 310).

コネクション種別がRAWの場合はフレーム数は1つで、フレームペイロード長はMTU−IPHLの範囲内に収まるべきであり、もしそうでないとしてもその様に送信データを切り落として送信する事を想定している。又はアプリケーションデバイス(101)にエラーとして応答を送るという方法も考えられる(ステップ308、309)。   When the connection type is RAW, the number of frames is one and the frame payload length should be within the range of MTU-IPHL. If not, it is assumed that transmission data is cut off and transmitted. Yes. Alternatively, a method of sending a response as an error to the application device (101) can be considered (steps 308 and 309).

コネクション種別がTCPの場合はフレーム長はMSS(マキシマムセグメントサイズ)が基本となるので取得する(ステップ320)。次に仮の送信済みデータサイズ(DONE_LEN)をゼロに初期化し(ステップ321)、(仮の)未送信データ長がMSS以下であるかをチェックする(ステップ322)。もしMSS以下であれば与えられた送信データは次の1セグメントで送信完了できる事が判断できる。もしMSSより大きければフレーム数をインクリメント(ステップ323)し、先頭セグメントであれば(この判断はDONE_LENが0であるか否かで行う)(ステップ324)、先頭フレーム長はMSSであり、DONE_LENはMSSとなる(ステップ326)。再び仮の未送信データ長がMSS以下であるかを確認し、まだMSSより大きい場合はフレーム数をカウントアップし今度は中間フレームペイロード長をMSSとし送信済みデータ長DONE_LEN=DONE_LEN+MSSとする(ステップ325)。再び未送信データ長がMSS以下であるかを確認し、もし最終セグメントであると判断されれば最終フレームとして最終フレーム長を送信データ長からDONE_LENを減算した値とし(ステップ327)、最終フレームを送信フレーム数としてカウントする(ステップ328)。   When the connection type is TCP, the frame length is obtained because it is based on MSS (maximum segment size) (step 320). Next, the temporary transmitted data size (DONE_LEN) is initialized to zero (step 321), and it is checked whether the (temporary) untransmitted data length is equal to or less than the MSS (step 322). If it is less than the MSS, it can be determined that the given transmission data can be transmitted in the next one segment. If it is larger than the MSS, the number of frames is incremented (step 323), and if it is the head segment (this determination is made based on whether DONE_LEN is 0) (step 324), the head frame length is MSS, and DONE_LEN is It becomes MSS (step 326). It is checked again whether the provisional untransmitted data length is less than or equal to the MSS. If it is still larger than the MSS, the number of frames is counted up, this time the intermediate frame payload length is set to MSS, and the transmitted data length DONE_LEN = DONE_LEN + MSS is set (step 325). ). Check again whether the untransmitted data length is less than or equal to the MSS. If it is determined that it is the last segment, the final frame length is set to the value obtained by subtracting DONE_LEN from the transmitted data length (step 327). The number of transmission frames is counted (step 328).

上述の様にフレーム数、先頭フレームペイロード長、中間フレームペイロード長、最終フレームペイロード長が決定出力される(ステップ310)。これら4つの値をフレーム個数とフレーム長に関する値とし、ペイロード分割部(103)とプロトコル制御部(115)及びヘッダ/ペイロード合成部(120)に出力する。   As described above, the number of frames, head frame payload length, intermediate frame payload length, and final frame payload length are determined and output (step 310). These four values are values relating to the number of frames and the frame length, and are output to the payload dividing unit (103), the protocol control unit (115), and the header / payload combining unit (120).

[ペイロード分割部の分割]
ペイロード分割部(103)ではフレーム個数フレーム長算出部(102)から与えられたフレーム個数とフレーム長に関する入力(109)を基にアプリケーションデバイス(101)から与えられた送信データ(110)を分割しながらフレームペイロードとしてペイロードTXメモリ(104)に書き込み保存を行う(111)。ペイロード分割部(103)は、フレームペイロード書き込みが完了したらプロトコル制御部(115)に対しフレームペイロードの送信準備が出来た事を通知する(136)。
[Division of payload division part]
The payload dividing unit (103) divides the transmission data (110) given from the application device (101) based on the frame number given from the frame number calculation unit (102) and the input (109) related to the frame length. The frame payload is written and stored in the payload TX memory (104) (111). When the frame payload writing is completed, the payload dividing unit (103) notifies the protocol control unit (115) that the frame payload is ready for transmission (136).

[ペイロード分割部のチェックサム]
ペイロード分割部(103)ではフレーム個数フレーム長算出部(102)から与えられたフレーム個数とフレーム長に関する入力(109)を基にアプリケーションデバイス(101)から与えられた送信データ(110)を分割しながらフレームペイロードとしてペイロードTXメモリ(104)に書き込み保存を行う(111)際、フレームペイロードのチェックサムをフレーム毎に求め、UDPヘッダ生成部(117)及び、TCPヘッダ生成部(116)にチェックサム値を伝える(135)。
[Checksum of payload division part]
The payload dividing unit (103) divides the transmission data (110) given from the application device (101) based on the frame number given from the frame number calculation unit (102) and the input (109) related to the frame length. However, when the frame payload is written and stored in the payload TX memory (104) (111), a checksum of the frame payload is obtained for each frame, and the checksum is calculated by the UDP header generation unit (117) and the TCP header generation unit (116). Tell the value (135).

[TXメモリ]
TXメモリ(104)では1つの送信要求に伴う一連の送信データを、送信要求毎、フレームペイロードFIFOにフレームペイロードの列として保存している。図3に示す様にTXメモリ(104)内部には1つの送信要求に伴い1つのFIFOが割り当てられ(340)、例えばここでは1つの送信要求による送信データが5つのフレームペイロードから成ることを示している。本図ではフレームペイロード1(先頭フレーム)からフレームペイロード5(最後尾フレーム)がFIFOに蓄えられているがフレーム単位での送信が行われる場合はこの様に5つのフレームが溜まることはない。各々のフレームペイロードはFIFOに挿入された直後にペイロード読み出し部(105)により抜き出され送信される事も考えられる。
[TX memory]
In the TX memory (104), a series of transmission data associated with one transmission request is stored as a frame payload column in the frame payload FIFO for each transmission request. As shown in FIG. 3, one FIFO is assigned to one TX request (340) in the TX memory (104), for example, here, it indicates that transmission data by one transmission request is composed of five frame payloads. ing. In this figure, frame payload 1 (first frame) to frame payload 5 (last frame) are stored in the FIFO. However, when transmission is performed in units of frames, five frames are not accumulated in this way. Each frame payload may be extracted and transmitted by the payload reading unit (105) immediately after being inserted into the FIFO.

[ペイロード読み出し部]
ペイロード読み出し部(105)ではヘッダ/ペイロード合成部(120)からの、1つのペイロード読み出し指示(114)に対し、送信すべきフレームペイロードを1つ取り出し、ヘッダ/ペイロード合成部(120)へ出力する(113)。
[Payload readout section]
In response to one payload read instruction (114) from the header / payload combiner (120), the payload read unit (105) extracts one frame payload to be transmitted and outputs it to the header / payload combiner (120). (113).

[プロトコル制御部]
プロトコル制御部(115)ではフレーム個数フレーム長算出部(102)からの指示により、フレームごとに必要なヘッダを特定してヘッダに必要な情報を収集し、各プロトコルヘッダ生成部(116〜119)にヘッダ生成指示及びヘッダ生成情報を通知する(122〜125)。図4にプロトコル制御部(115)のフローチャートを示す。ステップS1201においてフレーム個数フレーム長算出部(102)よりフレーム個数、先頭フレームのペイロード長、中間フレームのペイロード長、最終フレームのペイロード長の4つの値(108)を受信したかの判断を行う。もし受信すれば(ステップS1201:Yes)、ステップS1202において送信フレームがTCPなのかUDPなのかを判断し、フレーム送信に必要なプロトコルヘッダを生成するための情報を収集する(ステップS1203)。この時、収集する情報は1つのフレームに付加されるヘッダについてのみ行われる。つまり最初は先頭フレームに付加されるヘッダのみの情報収集を行う。また、収集する各種情報は静的に設定されている場合と動的にテーブル検索を行う場合がある。動的なテーブルとしては、コネクションに付随する宛先IPアドレス、送信元IPアドレス、宛先ポート、送信元ポートを割り出すアドレステーブルや、IPのルーティングテーブルなどが挙げられる。次にペイロード分割部(103)からフレームペイロード送信準備完了通知を受信したかの判断を行う(ステップS1204:Yes)。もし、フレームペイロード送信準備完了通知を受信したら、ステップS1205にてヘッダ情報の収集が終了しているかの判断を行う。ヘッダ情報の収集が終了した場合(ステップS1205:Yes)は、ステップS1206にて送信フレームに必要なヘッダを生成するヘッダ生成部にヘッダ生成指示及びヘッダ生成情報を出力する。ヘッダ生成指示を出力後はステップS1207においてフレーム個数分のヘッダ生成指示を行ったかの判断を行う。もし、フレーム個数分のヘッダ生成指示を行った(ステップS1207:Yes)のなら、ステップS1208においてステップS1206で作成を指示したヘッダのヘッダ送信完了通知をヘッダ/ペイロード合成部(120)から受信するのを待ち、ヘッダ送信完了通知を受信したら1つのデータグラムに対する全てのフレームのヘッダが送信されたとしてプロトコル制御を終了する。ステップS1207においてもしフレーム個数分のヘッダ生成指示を行っていないのならば(S1207:No)、まだ送信すべきフレームを生成しなければならないとして、ステップS1209においてステップS1206で作成を指示したヘッダのヘッダ送信完了通知をヘッダ/ペイロード合成部(120)から受信するのを待ち、ヘッダ送信完了通知を受信したら次のフレームのヘッダ作成を開始する(ステップS1210)。そしてステップS1203に戻る。
[Protocol control section]
In response to an instruction from the frame number frame length calculation unit (102), the protocol control unit (115) specifies a necessary header for each frame and collects information necessary for the header, and each protocol header generation unit (116 to 119). Is notified of the header generation instruction and header generation information (122 to 125). FIG. 4 shows a flowchart of the protocol control unit (115). In step S1201, it is determined whether four values (108) of the number of frames, the payload length of the first frame, the payload length of the intermediate frame, and the payload length of the last frame have been received from the frame length calculation unit (102). If it is received (step S1201: Yes), in step S1202, it is determined whether the transmission frame is TCP or UDP, and information for generating a protocol header necessary for frame transmission is collected (step S1203). At this time, information to be collected is performed only for the header added to one frame. That is, at first, information is collected only for the header added to the first frame. In addition, various information to be collected may be set statically or may be dynamically searched. Examples of the dynamic table include a destination IP address, a source IP address, a destination port, an address table for determining a source port associated with a connection, an IP routing table, and the like. Next, it is determined whether a frame payload transmission preparation completion notification has been received from the payload division unit (103) (step S1204: Yes). If a frame payload transmission preparation completion notification is received, it is determined in step S1205 whether header information collection has been completed. When the collection of the header information is completed (step S1205: Yes), a header generation instruction and header generation information are output to the header generation unit that generates a header necessary for the transmission frame in step S1206. After outputting the header generation instruction, it is determined in step S1207 whether header generation instructions for the number of frames have been issued. If the header generation instruction for the number of frames has been issued (step S1207: Yes), the header transmission completion notification of the header instructed to be generated in step S1206 is received from the header / payload synthesis unit (120) in step S1208. When the header transmission completion notification is received, the protocol control is terminated assuming that all the frame headers for one datagram have been transmitted. If the header generation instruction for the number of frames has not been issued in step S1207 (S1207: No), the header of the header instructed to be generated in step S1206 in step S1209 is determined that frames to be transmitted must still be generated. Waiting for reception of the transmission completion notification from the header / payload combining unit (120), and reception of the header transmission completion notification starts the header creation of the next frame (step S1210). Then, the process returns to step S1203.

[TCPヘッダ生成部]
TCPヘッダ生成部(116)ではプロトコル制御部(115)からのヘッダ生成指示及びヘッダ生成情報に基づきヘッダ生成を開始し、ヘッダ生成完了後にヘッダ/ペイロード合成部(120)にTCPヘッダ生成完了通知(126)を行う。TCPヘッダ生成指示をプロトコル制御部(115)から受信したら、プロトコル制御部(115)からTCPヘッダ情報を取得する。TCPヘッダ情報は送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号、ヘッダ長、フラグビット、ウィンドウサイズ、緊急ポインタ及び擬似ヘッダ用の宛先IPアドレス、送信元IPアドレス、セグメント長(TCPヘッダ長+ペイロード長)である。取得したヘッダ生成情報から擬似ヘッダとチェックサム以外のTCPヘッダを作成する。次にフレームごとのペイロードサムをペイロード分割部(103)より受信し、擬似ヘッダとチェックサム以外のTCPヘッダとペイロードサムからTCPのチェックサムを算出し、チェックサムをTCPヘッダのチェックサムフィールドに設定し、TCPヘッダの生成を完了する。TCPヘッダの生成が完了すると、ヘッダ/ペイロード合成部(120)にTCPヘッダ生成完了通知を行い、TCPヘッダ生成を終了し、プロトコル制御部(115)より次のヘッダ生成指示があるまで待機する。TCPヘッダ生成部(116)で作成するヘッダのフォーマットを図6に、擬似ヘッダフォーマットを図7に示す。
[TCP header generator]
The TCP header generation unit (116) starts header generation based on the header generation instruction and header generation information from the protocol control unit (115), and after the header generation is completed, a TCP header generation completion notification ( 126). When a TCP header generation instruction is received from the protocol control unit (115), TCP header information is acquired from the protocol control unit (115). TCP header information includes a source port number, a destination port number, a sequence number, an acknowledgment number, a header length, a flag bit, a window size, an emergency pointer and a pseudo IP header destination IP address, a source IP address, a segment length (TCP header) Length + payload length). A TCP header other than the pseudo header and checksum is created from the acquired header generation information. Next, the payload sum for each frame is received from the payload division unit (103), the TCP checksum other than the pseudo header and checksum is calculated, and the TCP checksum is calculated, and the checksum is set in the checksum field of the TCP header. Then, the generation of the TCP header is completed. When the generation of the TCP header is completed, a TCP header generation completion notification is sent to the header / payload synthesis unit (120), the TCP header generation is terminated, and the process waits until there is a next header generation instruction from the protocol control unit (115). The format of the header created by the TCP header generation unit (116) is shown in FIG. 6, and the pseudo header format is shown in FIG.

また、TCPヘッダ生成部(116)はヘッダ/ペイロード合成部(120)からの出力要求(126)を受信すると、生成したTCPヘッダをヘッダ/ペイロード合成部(120)に出力(130)する。   When the TCP header generation unit (116) receives the output request (126) from the header / payload synthesis unit (120), it outputs (130) the generated TCP header to the header / payload synthesis unit (120).

[UDPヘッダ生成部]
UDPヘッダ生成部(117)ではプロトコル制御部(115)からのヘッダ生成指示及びヘッダ生成情報に基づきヘッダ生成を開始し、ヘッダ生成完了後にヘッダ/ペイロード合成部(120)にUDPヘッダ生成完了通知(127)を行う。UDPヘッダ生成指示をプロトコル制御部(115)から受信したら、プロトコル制御部(115)からUDPヘッダ情報を取得する。UDPヘッダ情報は、送信元ポート番号、宛先ポート番号、UDPデータ長である。取得したヘッダ生成情報から擬似ヘッダとチェックサム以外のUDPヘッダを作成する。次にペイロードサムをペイロード分割部(103)より受信したかの判断を行い、もし受信していれば擬似ヘッダとチェックサム以外のUDPヘッダとペイロードサムの合計からUDPチェックサムを算出し、チェックサムをUDPヘッダのチェックサムフィールドに設定し、UDPヘッダの生成を完了する。UDPヘッダの生成が完了すると、ヘッダ/ペイロード合成部(120)にUDPヘッダ生成完了通知を行い、UDPヘッダ生成を終了する。
[UDP header generator]
The UDP header generation unit (117) starts header generation based on the header generation instruction and header generation information from the protocol control unit (115). After the header generation is completed, a UDP header generation completion notification ( 127). When a UDP header generation instruction is received from the protocol control unit (115), UDP header information is acquired from the protocol control unit (115). The UDP header information includes a transmission source port number, a destination port number, and a UDP data length. A UDP header other than the pseudo header and the checksum is created from the acquired header generation information. Next, it is determined whether the payload sum is received from the payload dividing unit (103). If it is received, the UDP checksum is calculated from the sum of the UDP header and the payload sum other than the pseudo header and the checksum, and the checksum is calculated. Is set in the checksum field of the UDP header, and the generation of the UDP header is completed. When the generation of the UDP header is completed, a UDP header generation completion notification is sent to the header / payload synthesis unit (120), and the UDP header generation ends.

ただし、UDPヘッダのチェックサムはオプションでの対応となっているため、UDPチェックサムを行わない設定にした場合は、プロトコル制御部(115)よりUDPヘッダ情報(送信元ポート番号、宛先ポート番号、UDPデータ長)を取得した時点で、UDPチェックサムフィールドに0を設定し、UDPヘッダ生成完了通知をヘッダ/ペイロード合成部(120)に出力する。   However, since the checksum of the UDP header is supported as an option, if the UDP checksum is not set, the UDP header information (source port number, destination port number, When the UDP data length) is acquired, the UDP checksum field is set to 0, and a UDP header generation completion notification is output to the header / payload combining unit (120).

UDPヘッダ生成部で作成するヘッダのフォーマットを図8に、擬似ヘッダフォーマットを図9に示す。   The format of the header created by the UDP header generator is shown in FIG. 8, and the pseudo header format is shown in FIG.

また、UDPヘッダ生成部(117)はヘッダ/ペイロード合成部(120)からの出力要求(127)を受信すると、生成したUDPヘッダをヘッダ/ペイロード合成部(120)に出力(131)する。   When the UDP header generation unit (117) receives the output request (127) from the header / payload synthesis unit (120), it outputs (131) the generated UDP header to the header / payload synthesis unit (120).

[IPヘッダ生成部]
IPヘッダ生成部(118)ではプロトコル制御部(115)からのヘッダ生成指示及びヘッダ生成情報に基づきヘッダ生成を開始し、ヘッダ生成完了後にヘッダ/ペイロード合成部(120)にIPヘッダ生成完了通知(128)を行う。IPヘッダ生成指示をプロトコル制御部(115)から受信したら、プロトコル制御部(115)からIPヘッダ情報を取得する。IPヘッダ情報はバージョン、ヘッダ長、TOS、全長、識別子、フラグ、フラグメントオフセット、TTL、プロトコル、送信元IPアドレス、宛先IPアドレスである。これらの情報からIPヘッダのヘッダチェックサムを算出してIPヘッダを完成させ、ヘッダ/ペイロード合成部(120)にIPヘッダ生成完了通知を行う。IPヘッダ生成部で作成するヘッダのフォーマットを図10に示す。
[IP header generator]
The IP header generation unit (118) starts header generation based on the header generation instruction and header generation information from the protocol control unit (115), and after completion of header generation, the header / payload synthesis unit (120) notifies the header generation of IP header generation (120). 128). When an IP header generation instruction is received from the protocol control unit (115), IP header information is acquired from the protocol control unit (115). The IP header information includes version, header length, TOS, total length, identifier, flag, fragment offset, TTL, protocol, source IP address, and destination IP address. The header checksum of the IP header is calculated from these pieces of information to complete the IP header, and an IP header generation completion notification is sent to the header / payload synthesis unit (120). The format of the header created by the IP header generation unit is shown in FIG.

また、IPヘッダ生成部(118)はヘッダ/ペイロード合成部(120)からの出力要求(128)を受信すると、生成した順番にIPヘッダをヘッダ/ペイロード合成部(120)に出力(132)する。   When the IP header generation unit (118) receives the output request (128) from the header / payload synthesis unit (120), the IP header generation unit (118) outputs (132) the IP header to the header / payload synthesis unit (120) in the order of generation. .

[MACヘッダ生成部]
MACヘッダ生成部(119)ではプロトコル制御部(115)からのヘッダ生成指示及びヘッダ生成情報に基づきヘッダ生成を開始し、ヘッダ生成完了後にヘッダ/ペイロード合成部(120)にMACヘッダ生成完了通知(129)を行う。MACヘッダ生成部(119)はプロトコル制御部(115)からMACヘッダ生成指示を受信したら、MACヘッダ情報を取得する。MACヘッダ生成情報は、ヘッダ生成数、送信元MACアドレス、宛先MACアドレス、タイプレングスである。これらの情報からMACヘッダを完成させ、ヘッダ/ペイロード合成部(120)にMACヘッダ生成完了通知を行う。MACヘッダ生成部で作成するMACヘッダのフォーマットを図11に示す。
[MAC header generator]
The MAC header generation unit (119) starts header generation based on the header generation instruction and header generation information from the protocol control unit (115). After the header generation is completed, the MAC header generation completion notification (120) is sent to the header / payload synthesis unit (120). 129). When receiving a MAC header generation instruction from the protocol control unit (115), the MAC header generation unit (119) acquires MAC header information. The MAC header generation information includes a header generation number, a source MAC address, a destination MAC address, and a type length. The MAC header is completed from these pieces of information, and a MAC header generation completion notification is sent to the header / payload synthesis unit (120). The format of the MAC header created by the MAC header generation unit is shown in FIG.

また、MACヘッダ生成部(119)はヘッダ/ペイロード合成部(120)からの出力要求(129)を受信すると、生成したMACヘッダをヘッダ/ペイロード合成部(120)に出力(133)する。   When the MAC header generation unit (119) receives the output request (129) from the header / payload synthesis unit (120), it outputs (133) the generated MAC header to the header / payload synthesis unit (120).

[ヘッダ/ペイロード合成部]
ヘッダ/ペイロード合成部(120)はフレーム個数フレーム長算出部(102)からのフレーム個数から生成すべきヘッダの種類とその個数を割り出す。次に、各プロトコルヘッダ生成部からのヘッダ完了通知により、送信フレームに必要なヘッダが完了していることを認識し、TCP/IPの場合はMACヘッダ生成部(119)、IPヘッダ生成部(118)、TCPヘッダ生成部(116)、ペイロード読み出し部(105)の順に出力要求を行い、ヘッダ及びペイロードを読み出してフレームとして合成し、フレーム送出部(121)に出力する。UDP/IPの場合は先頭フレームはMACヘッダ生成部(119)、IPヘッダ生成部(118)、UDPヘッダ生成部(117)、ペイロード読み出し部(105)の順に出力要求を行い、中間、最終フレームはMACヘッダ生成部(119)、IPヘッダ生成部(118)、ペイロード読み出し部(105)の順に出力要求を行い、ヘッダ及びペイロードを読み出してフレームとして合成しフレーム送出部(121)に出力する。ペイロードを持たないフレームを送信する場合はヘッダのみ読み出して、フレームとして合成し、フレーム送出部(121)に出力する。ヘッダ/ペイロード合成部(120)は、ヘッダをフレーム送出部(121)に出力した時点で、プロトコル制御部(115)にヘッダ送信完了(137)を出力する。
[Header / payload synthesis unit]
The header / payload combining unit (120) calculates the type and number of headers to be generated from the frame number from the frame number from the frame length calculation unit (102). Next, the header completion notification from each protocol header generator recognizes that the header required for the transmission frame is complete. In the case of TCP / IP, the MAC header generator (119), the IP header generator ( 118), an output request is made in the order of the TCP header generation unit (116) and the payload reading unit (105), the header and payload are read out, combined as a frame, and output to the frame transmission unit (121). In the case of UDP / IP, an output request is made in the order of the MAC header generation unit (119), the IP header generation unit (118), the UDP header generation unit (117), and the payload reading unit (105) in the order of the first frame. Makes an output request in the order of the MAC header generation unit (119), the IP header generation unit (118), and the payload reading unit (105), reads the header and payload, synthesizes them as frames, and outputs them to the frame transmission unit (121). When transmitting a frame having no payload, only the header is read out, combined as a frame, and output to the frame transmission unit (121). The header / payload combining unit (120) outputs a header transmission completion (137) to the protocol control unit (115) when the header is output to the frame transmission unit (121).

[フレーム送出部]
フレーム送出(送信)部(121)では、ヘッダ/ペイロード合成部(120)から出力されるフレームを通信制御装置外に送信する機能を有する。IEEE802.3に準拠し、プリアンブルの付加、フレームパディング、CRCの生成等を行う。
[Frame sending section]
The frame transmission (transmission) unit (121) has a function of transmitting the frame output from the header / payload synthesis unit (120) to the outside of the communication control device. In accordance with IEEE 802.3, it performs preamble addition, frame padding, CRC generation, and the like.

<TCPセグメントの送信例>
TCP/IPのフレーム送信時に送信データグラムが3つのセグメントに分割された場合の例を図5に示す。アプリケーションデバイス(101)からの送信指示及び送信データ長(1301)を受けてフレーム個数フレーム長算出部(102)は、フレーム個数(3個)、先頭フレームのペイロード長(PL0の長さ)、中間フレームのペイロード長(PL1の長さ)、最終フレームのペイロード長(PL2の長さ)をプロトコル制御部(115)及びヘッダ/ペイロード合成部(120)に出力(1302)する。プロトコル制御部(115)ではプロトコルタイプをTCPであると判断し、TCP、IP、MACのヘッダ情報の収集を行う。またペイロード分割部(103)においてペイロードをTXメモリ(104)に書き込んでいき、1フレーム分(1TCPセグメント分)書き込みが完了すると、プロトコル制御部(115)に対してフレームペイロード送信準備完了(1303)を出力する。プロトコル制御部(115)はフレームペイロード送信準備完了(1303)を受信するとデータグラムをセグメント化した先頭フレームのTCP、IP、MACのヘッダを生成するためのヘッダ情報収集が終了しているかを判断し、終了していればTCPヘッダ生成部(116)にヘッダ生成指示及びヘッダ情報(1304)を、IPヘッダ生成部(118)にヘッダ生成指示及びヘッダ情報(1305)を、MACヘッダ生成部(119)にヘッダ生成指示及びヘッダ情報(1306)を同時に出力する。ヘッダ生成指示を受信したTCPヘッダ生成部(116)はプロトコル制御部(115)からのヘッダ情報とペイロード分割部(103)からのペイロードサム(1307)よりTCPヘッダを生成し、ヘッダ/ペイロード合成部(120)にTCPヘッダ生成完了(1308)を出力する。ヘッダ生成指示を受信したIPヘッダ生成部はプロトコル制御部(115)からのヘッダ情報からIPヘッダを生成し、ヘッダ/ペイロード合成部(120)にIPヘッダ生成完了(1309)を出力する。ヘッダ生成指示を受信したMACヘッダ生成部(119)はプロトコル制御部(115)からのヘッダ情報からMACヘッダを生成し、ヘッダ/ペイロード合成部(120)にMACヘッダ生成完了(1310)をフレーム個数分出力する。ヘッダ/ペイロード合成部(120)はフレーム個数フレーム長算出部(102)から受信したフレーム個数(1302)から3つにセグメント化されたフレームの先頭フレームにはTCPヘッダ、IPヘッダ、MACヘッダが必要であることを認識しており、TCPヘッダ生成完了(1308)、IPヘッダ生成完了(1309)、MACヘッダ生成完了(1310)の全てを受信するとフレームを送信可能な状態であると判断する。ヘッダ/ペイロード合成部(120)はMACヘッダ、IPヘッダ、TCPヘッダ、ペイロードと読み出していきフレーム送出部(121)に先頭フレームを出力する。また、MAC、IP、TCPヘッダをフレーム送出部(121)に出力した時点でプロトコル制御部(115)にヘッダ送信完了(1311)を出力する。
<TCP segment transmission example>
FIG. 5 shows an example in which a transmission datagram is divided into three segments at the time of TCP / IP frame transmission. In response to the transmission instruction and transmission data length (1301) from the application device (101), the frame number frame length calculation unit (102) determines the number of frames (three), the payload length of the first frame (PL0 length), The payload length (PL1 length) of the frame and the payload length (PL2 length) of the final frame are output (1302) to the protocol control unit (115) and the header / payload synthesis unit (120). The protocol control unit (115) determines that the protocol type is TCP, and collects TCP, IP, and MAC header information. Further, the payload division unit (103) writes the payload to the TX memory (104), and when the writing for one frame (one TCP segment) is completed, the frame control unit (115) is ready for frame payload transmission (1303). Is output. Upon receipt of frame payload transmission preparation completion (1303), the protocol control unit (115) determines whether header information collection for generating the header of TCP, IP, or MAC of the first frame obtained by segmenting the datagram has been completed. If completed, the header generation instruction and header information (1304) are sent to the TCP header generation unit (116), the header generation instruction and header information (1305) are sent to the IP header generation unit (118), and the MAC header generation unit (119). ) Simultaneously outputs a header generation instruction and header information (1306). The TCP header generation unit (116) that has received the header generation instruction generates a TCP header from the header information from the protocol control unit (115) and the payload sum (1307) from the payload division unit (103), and the header / payload synthesis unit The TCP header generation completion (1308) is output to (120). The IP header generation unit that has received the header generation instruction generates an IP header from the header information from the protocol control unit (115), and outputs an IP header generation completion (1309) to the header / payload synthesis unit (120). The MAC header generation unit (119) that has received the header generation instruction generates a MAC header from the header information from the protocol control unit (115), and the MAC header generation completion (1310) is sent to the header / payload synthesis unit (120). Output minutes. The header / payload combining unit (120) requires a TCP header, an IP header, and a MAC header in the first frame of the frame segmented from the number of frames (1302) received from the frame number frame length calculation unit (102). If all of TCP header generation completion (1308), IP header generation completion (1309), and MAC header generation completion (1310) are received, it is determined that the frame can be transmitted. The header / payload combining unit (120) outputs the first frame to the MAC header, IP header, TCP header, and payload and the read frame sending unit (121). When the MAC, IP, and TCP headers are output to the frame transmission unit (121), the header transmission completion (1311) is output to the protocol control unit (115).

プロトコル制御部(115)はヘッダ送信完了(1311)を受信すると次のフレーム、つまりここでは3つにセグメント化されたフレームの中間フレームのヘッダ情報収集を行う。中間フレームに必要なヘッダは先頭と同様にTCP、IP、MACヘッダの情報収集を行う。ペイロード分割部(103)からの次のフレームペイロード送信準備完了(1312)を受信すると、中間フレームのTCP、IP、MACのヘッダを生成するためのヘッダ情報収集が終了しているかを判断し、終了していればTCPヘッダ生成部(116)にヘッダ生成指示及びヘッダ情報(1313)を、IPヘッダ生成部(118)にヘッダ生成指示及びヘッダ情報(1314)を同時に出力する。ヘッダ生成指示を受信したTCPヘッダ生成部(116)はプロトコル制御部(115)からのヘッダ情報とペイロード分割部(103)からのペイロードサム(1315)よりTCPヘッダを生成し、ヘッダ/ペイロード合成部(120)にTCPヘッダ生成完了(1316)を出力する。ヘッダ生成指示を受信したIPヘッダ生成部(118)はプロトコル制御部(115)からのヘッダ情報からIPヘッダを生成し、ヘッダ/ペイロード合成部(120)にIPヘッダ生成完了(1317)を出力する。   Upon receiving the header transmission completion (1311), the protocol control unit (115) collects header information of the next frame, that is, the intermediate frame of the frame segmented into three here. The header necessary for the intermediate frame collects information on the TCP, IP, and MAC headers in the same manner as the top. Upon receipt of the next frame payload transmission preparation completion (1312) from the payload division unit (103), it is determined whether or not the header information collection for generating the TCP, IP, and MAC headers of the intermediate frame has been completed. If so, the header generation instruction and header information (1313) are simultaneously output to the TCP header generation unit (116), and the header generation instruction and header information (1314) are simultaneously output to the IP header generation unit (118). The TCP header generation unit (116) that has received the header generation instruction generates a TCP header from the header information from the protocol control unit (115) and the payload sum (1315) from the payload division unit (103), and the header / payload synthesis unit The TCP header generation completion (1316) is output to (120). The IP header generation unit (118) that has received the header generation instruction generates an IP header from the header information from the protocol control unit (115), and outputs an IP header generation completion (1317) to the header / payload synthesis unit (120). .

ヘッダ/ペイロード合成部(120)はフレーム個数フレーム長算出部(102)から受信したフレーム個数(1302)から3つにセグメント化されたフレームの中間フレームにはTCPヘッダ、IPヘッダ、MACヘッダが必要であることを認識しており、TCPヘッダ生成完了(1316)、IPヘッダ生成完了(1317)を受信するとフレームを送信可能な状態であると判断する。MACヘッダ生成完了については先頭フレームの時にフレーム個数分出力されているため、ヘッダ/ペイロード合成部(120)はこの時点で中間フレームのMACヘッダ生成が完了していると判断している。フレームが送信可能な状態であると判断したヘッダ/ペイロード合成部(120)はMACヘッダ、IPヘッダ、TCPヘッダ、ペイロードと読み出していきフレーム送出部(121)に中間フレームを出力する。また、MAC、IP、TCPヘッダをフレーム送出部に出力した時点でプロトコル制御部(115)にヘッダ送信完了(1320)を出力する。   The header / payload combining unit (120) requires a TCP header, an IP header, and a MAC header in the intermediate frame of the frame segmented from the frame number (1302) received from the frame number frame length calculation unit (102). When the TCP header generation completion (1316) and the IP header generation completion (1317) are received, it is determined that the frame can be transmitted. Since the MAC header generation completion is output for the number of frames at the time of the first frame, the header / payload combining unit (120) determines that the MAC header generation of the intermediate frame is completed at this time. The header / payload combining unit (120) that has determined that the frame can be transmitted outputs the intermediate frame to the MAC header, the IP header, the TCP header, and the payload and the frame sending unit (121) to be read out. When the MAC, IP, and TCP headers are output to the frame transmission unit, the header transmission completion (1320) is output to the protocol control unit (115).

プロトコル制御部(115)はヘッダ送信完了(1320)を受信すると次のフレーム、つまりここでは3つにセグメント化されたフレームの最終フレームのヘッダ情報収集を行う。最終フレームに必要なヘッダは先頭、中間と同様にTCP、IP、MACヘッダの情報収集を行う。ペイロード分割部(103)からの次のフレームペイロード送信準備完了(1318)をすでに受信しているので、TCP、IP、MACのヘッダを生成するためのヘッダ情報収集が終了し次第、TCPヘッダ生成部(116)にヘッダ生成指示及びヘッダ情報(1321)を、IPヘッダ生成部(118)にヘッダ生成指示及びヘッダ情報(1322)を同時に出力する。ヘッダ生成指示を受信したTCPヘッダ生成部(116)はプロトコル制御部(115)からのヘッダ情報とペイロード分割部(103)からのペイロードサム(1319)よりTCPヘッダを生成し、ヘッダ/ペイロード合成部(120)にTCPヘッダ生成完了(1323)を出力する。ヘッダ生成指示を受信したIPヘッダ生成部(118)はプロトコル制御部(115)からのヘッダ情報からIPヘッダを生成し、ヘッダ/ペイロード合成部(120)にIPヘッダ生成完了(1324)を出力する。   Upon receiving the header transmission completion (1320), the protocol control unit (115) collects header information of the next frame, that is, the final frame of the frame segmented into three here. As for the header required for the final frame, information on TCP, IP, and MAC headers is collected in the same manner as the head and middle. Since the next frame payload transmission preparation completion (1318) from the payload division unit (103) has already been received, the TCP header generation unit is completed as soon as the header information collection for generating the TCP, IP, and MAC headers is completed. The header generation instruction and header information (1321) are simultaneously output to (116), and the header generation instruction and header information (1322) are simultaneously output to the IP header generation unit (118). The TCP header generation unit (116) that has received the header generation instruction generates a TCP header from the header information from the protocol control unit (115) and the payload sum (1319) from the payload division unit (103), and the header / payload synthesis unit The TCP header generation completion (1323) is output to (120). The IP header generation unit (118) that has received the header generation instruction generates an IP header from the header information from the protocol control unit (115), and outputs an IP header generation completion (1324) to the header / payload synthesis unit (120). .

ヘッダ/ペイロード合成部(120)はフレーム個数フレーム長算出部(102)から受信したフレーム個数(1302)から3つにセグメント化されたフレームの最終フレームにはTCPヘッダ、IPヘッダ、MACヘッダが必要であることを認識しており、TCPヘッダ生成完了(1323)、IPヘッダ生成完了(1324)を受信するとフレームを送信可能な状態であると判断する。MACヘッダ生成完了については先頭フレームの時にフレーム個数分出力されているため、ヘッダ/ペイロード合成部(120)はこの時点で中間フレームのMACヘッダ生成が完了していると判断している。フレームが送信可能な状態であると判断したヘッダ/ペイロード合成部(120)はMACヘッダ、IPヘッダ、TCPヘッダ、ペイロードと読み出していきフレーム送出部(121)に最終フレームを出力する。また、MAC、IP、TCPヘッダをフレーム送出部に出力した時点でプロトコル制御部(115)にヘッダ送信完了(1325)を出力する。   The header / payload combining unit (120) requires a TCP header, an IP header, and a MAC header in the last frame of the frame segmented into three from the number of frames (1302) received from the frame number frame length calculation unit (102). When the TCP header generation completion (1323) and the IP header generation completion (1324) are received, it is determined that the frame can be transmitted. Since the MAC header generation completion is output for the number of frames at the time of the first frame, the header / payload combining unit (120) determines that the MAC header generation of the intermediate frame is completed at this time. The header / payload combining unit (120), which has determined that the frame can be transmitted, outputs the final frame to the MAC header, IP header, TCP header, and payload and the frame sending unit (121) that reads out the frame. When the MAC, IP, and TCP headers are output to the frame transmission unit, the header transmission completion (1325) is output to the protocol control unit (115).

以上のように、本実施形態によれば、アプリケーションデバイス(101)から任意の長さの送信データを受信し、サポートするデータリンク層に適切なフレームサイズでフレーム出力する通信制御装置が提供される。プロトコル制御部(101)は、フレーム生成に必要なヘッダ生成情報を収集し、ヘッダ生成指示及びヘッダ生成情報をフレーム毎に出力する。ヘッダ生成手段(116〜119)は、プロトコル制御部(115)からヘッダ生成指示及びヘッダ生成情報を入力すると、ヘッダを1ヘッダ毎に生成し、ヘッダ生成完了通知を出力する。ヘッダ/ペイロード合成部(120)は、ヘッダ生成部(116〜119)からヘッダ生成完了通知を入力すると、生成されたヘッダ及びフレーム単位のペイロードをフレームとして合成する。プロトコル制御部(115)は、所望のヘッダの生成指示をヘッダ生成部(116〜119)に出力することができる。   As described above, according to the present embodiment, there is provided a communication control apparatus that receives transmission data of an arbitrary length from the application device (101) and outputs a frame with an appropriate frame size to a supported data link layer. . The protocol control unit (101) collects header generation information necessary for frame generation, and outputs a header generation instruction and header generation information for each frame. When a header generation instruction and header generation information are input from the protocol control unit (115), the header generation means (116 to 119) generates a header for each header and outputs a header generation completion notification. When a header generation completion notification is input from the header generation unit (116 to 119), the header / payload synthesis unit (120) synthesizes the generated header and the frame-unit payload as a frame. The protocol control unit (115) can output a desired header generation instruction to the header generation units (116 to 119).

TXメモリ(104)は、フレーム単位のペイロードを記憶するためのメモリである。プロトコル制御部(115)は、ヘッダ/ペイロード合成部(120)が1つ前のフレームとして合成したヘッダを出力した後、かつ次のペイロードがTXメモリ(104)に書き込まれた後に、次のフレームのヘッダ生成指示をヘッダ生成部(116〜119)に出力する。   The TX memory (104) is a memory for storing a payload in units of frames. The protocol control unit (115) outputs the next frame after outputting the header synthesized by the header / payload synthesis unit (120) as the previous frame and after the next payload is written in the TX memory (104). The header generation instruction is output to the header generation unit (116 to 119).

本実施形態によれば、リンク層に依存するMTUに対して、アプリケーションの転送単位が大きくなるにつれて分割後に発生するフレームが増加しても、フレーム単位でヘッダを生成し送信することで、フレームに付加しなければならないヘッダを書き込むためのメモリ領域を確保する必要がなくなる。   According to this embodiment, even if the number of frames generated after division increases as the transfer unit of an application increases for an MTU that depends on the link layer, a header is generated and transmitted in units of frames. It is not necessary to secure a memory area for writing a header that must be added.

なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

本発明の実施形態による通信制御装置の構成図である。It is a block diagram of the communication control apparatus by embodiment of this invention. ペイロード長とヘッダ数算出の流れを示すフローチャートである。It is a flowchart which shows the flow of payload length and the number of headers calculation. TXメモリを示す図である。It is a figure which shows TX memory. プロトコル制御部のフローチャートである。It is a flowchart of a protocol control part. シーケンス1を示す図である。FIG. 3 is a diagram illustrating a sequence 1. TCPヘッダフォーマットを示す図である。It is a figure which shows a TCP header format. TCP擬似ヘッダフォーマットを示す図である。It is a figure which shows a TCP pseudo header format. UDPヘッダフォーマットを示す図である。It is a figure which shows a UDP header format. UDP擬似ヘッダフォーマットを示す図である。It is a figure which shows a UDP pseudo header format. IPヘッダフォーマットを示す図である。It is a figure which shows IP header format. MACヘッダフォーマットを示す図である。It is a figure which shows a MAC header format.

符号の説明Explanation of symbols

101 アプリケーションデバイス
102 フレーム個数フレーム長算出部
103 ペイロード分割部
104 TXメモリ
105 ペイロード読み出し部
115 プロトコル制御部
116 TCPヘッダ生成部
117 UDPヘッダ生成部
118 IPヘッダ生成部
119 MACヘッダ生成部
120 ヘッダ/ペイロード合成部
121 フレーム送出部
DESCRIPTION OF SYMBOLS 101 Application device 102 Frame number Frame length calculation part 103 Payload division part 104 TX memory 105 Payload reading part 115 Protocol control part 116 TCP header generation part 117 UDP header generation part 118 IP header generation part 119 MAC header generation part 120 Header / payload synthesis Part 121 Frame sending part

Claims (11)

複数レイヤのプロトコルのヘッダ生成に必要なヘッダ生成情報を収集し、ヘッダ生成指示及びヘッダ生成情報をフレーム毎に出力するプロトコル制御手段と、
前記プロトコル制御手段から前記ヘッダ生成指示及び前記ヘッダ生成情報入力されると、複数レイヤのプロトコルのヘッダを並列して1ヘッダ毎に生成し、ヘッダ生成完了通知を出力するヘッダ生成手段と、
前記ヘッダ生成手段から前記ヘッダ生成完了通知入力されると、前記生成された複数レイヤのプロトコルのヘッダ及びフレーム単位のペイロードをフレームとして合成するヘッダ/ペイロード合成手段と
を有することを特徴とする通信制御装置。
Protocol control means for collecting header generation information necessary for header generation of multiple layer protocols and outputting a header generation instruction and header generation information for each frame;
When the header generation instruction and the header generation information from the protocol control unit is input, a header generating means in parallel headers of the plurality layer protocol generates for each header, and outputs the generated completion notification header,
Wherein when the header generation completion notice from the header generating means is input, communication and having a header / payload synthesis means for synthesizing the payload header and frame of the generated multiple layers of protocols as a frame Control device.
前記ヘッダ生成手段は、
TCPヘッダを1ヘッダ毎に生成するTCPヘッダ生成手段と、
UDPヘッダを1ヘッダ毎に生成するUDPヘッダ生成手段と、
IPヘッダを1ヘッダ毎に生成するIPヘッダ生成手段と、
MACヘッダを1ヘッダ毎に生成するMACヘッダ生成手段とを有し、
前記プロトコル制御手段は、前記TCPヘッダ生成手段、前記UDPヘッダ生成手段、前記IPヘッダ生成手段及び前記MACヘッダ生成手段にヘッダの生成指示を出力することができることを特徴とする請求項1記載の通信制御装置。
The header generation means includes
TCP header generation means for generating a TCP header for each header;
UDP header generation means for generating a UDP header for each header;
IP header generation means for generating an IP header for each header;
MAC header generation means for generating a MAC header for each header,
The communication according to claim 1, wherein the protocol control means can output a header generation instruction to the TCP header generation means, the UDP header generation means, the IP header generation means, and the MAC header generation means. Control device.
前記プロトコル制御手段は、前記ヘッダ/ペイロード合成手段が1つ前のフレームとして合成したヘッダを出力した後に、次のフレームのヘッダ生成指示を前記ヘッダ生成手段に出力することを特徴とする請求項1又は2記載の通信制御装置。   The protocol control means outputs a header generation instruction for the next frame to the header generation means after outputting the header synthesized as the previous frame by the header / payload synthesis means. Or the communication control apparatus of 2. さらに、フレーム単位のペイロードを記憶するためのメモリを有し、
前記プロトコル制御手段は、ペイロードが前記メモリに書き込まれた後に、そのペイロードに対応するヘッダ生成指示を前記ヘッダ生成手段に出力することを特徴とする請求項1又は2記載の通信制御装置。
Furthermore, it has a memory for storing the payload of the frame unit,
The communication control apparatus according to claim 1, wherein the protocol control unit outputs a header generation instruction corresponding to the payload to the header generation unit after the payload is written in the memory.
さらに、フレーム単位のペイロードを記憶するためのメモリを有し、
前記プロトコル制御手段は、前記ヘッダ/ペイロード合成手段が1つ前のフレームとして合成したヘッダを出力した後、かつ次のペイロードが前記メモリに書き込まれた後に、次のフレームのヘッダ生成指示を前記ヘッダ生成手段に出力することを特徴とする請求項1又は2記載の通信制御装置。
Furthermore, it has a memory for storing the payload of the frame unit,
The protocol control means outputs a header generation instruction for the next frame after outputting the header synthesized by the header / payload synthesis means as the previous frame and after the next payload is written in the memory. The communication control apparatus according to claim 1, wherein the communication control apparatus outputs the data to a generation unit.
さらに、前記ヘッダ/ペイロード合成手段により合成されたフレームを送信するフレーム送信手段を有することを特徴とする請求項1〜5のいずれか1項に記載の通信制御装置。   The communication control apparatus according to claim 1, further comprising a frame transmission unit configured to transmit the frame synthesized by the header / payload synthesis unit. さらに、送信データをフレーム単位のペイロードに分割するペイロード分割手段を有することを特徴とする請求項1〜6のいずれか1項に記載の通信制御装置。   The communication control device according to claim 1, further comprising payload dividing means for dividing transmission data into payloads in frame units. さらに、前記ペイロード分割手段により分割されたフレーム単位のペイロードを記憶するためのメモリを有することを特徴とする請求項7記載の通信制御装置。   8. The communication control apparatus according to claim 7, further comprising a memory for storing a payload in frame units divided by the payload dividing means. さらに、前記メモリからフレーム単位のペイロードを読み出して前記ヘッダ/ペイロード合成手段に出力するペイロード読み出し手段を有することを特徴とする請求項8記載の通信制御装置。   9. The communication control apparatus according to claim 8, further comprising payload reading means for reading a payload in frame units from the memory and outputting the payload to the header / payload combining means. さらに、送信データ長を基にフレーム個数及びフレーム長を算出するフレーム個数フレーム長算出手段を有し、
前記ペイロード分割手段は、前記算出されたフレーム個数及びフレーム長を基にペイロードの分割を行うことを特徴とする請求項7〜9のいずれか1項に記載の通信制御装置。
Furthermore, it has a frame number frame length calculation means for calculating the number of frames and the frame length based on the transmission data length,
The communication control apparatus according to claim 7, wherein the payload dividing unit divides the payload based on the calculated number of frames and frame length.
通信制御装置が行う通信制御方法であって、
複数レイヤのプロトコルのヘッダ生成に必要なヘッダ生成情報を収集し、ヘッダ生成指示及びヘッダ生成情報をフレーム毎に出力するプロトコル制御ステップと、
前記ヘッダ生成指示及び前記ヘッダ生成情報入力されると、複数レイヤのプロトコルのヘッダを並列して1ヘッダ毎に生成し、ヘッダ生成完了通知を出力するヘッダ生成ステップと、
前記ヘッダ生成完了通知入力されると、前記生成された複数レイヤのプロトコルのヘッダ及びフレーム単位のペイロードをフレームとして合成するヘッダ/ペイロード合成ステップと
を有することを特徴とする通信制御方法。
A communication control method performed by a communication control device,
A protocol control step for collecting header generation information necessary for header generation of a protocol of a plurality of layers, and outputting a header generation instruction and header generation information for each frame;
When the header generation instruction and the header generation information is input, a header generating step in parallel headers of the plurality layer protocol generates for each header, and outputs the generated completion notification header,
Wherein the header generation completion notice is input, a communication control method characterized in that it comprises a header / payload synthesis step of synthesizing a payload header and frame of the generated multiple layers of protocols as a frame.
JP2004264644A 2004-09-10 2004-09-10 Communication control apparatus and method Expired - Fee Related JP4612820B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004264644A JP4612820B2 (en) 2004-09-10 2004-09-10 Communication control apparatus and method
US11/222,988 US7620050B2 (en) 2004-09-10 2005-09-09 Communication control device and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004264644A JP4612820B2 (en) 2004-09-10 2004-09-10 Communication control apparatus and method

Publications (3)

Publication Number Publication Date
JP2006081032A JP2006081032A (en) 2006-03-23
JP2006081032A5 JP2006081032A5 (en) 2010-04-02
JP4612820B2 true JP4612820B2 (en) 2011-01-12

Family

ID=36160095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004264644A Expired - Fee Related JP4612820B2 (en) 2004-09-10 2004-09-10 Communication control apparatus and method

Country Status (1)

Country Link
JP (1) JP4612820B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000253054A (en) * 1999-02-25 2000-09-14 Toshiba Corp Data delivery system and data delivery method
JP2001016226A (en) * 1999-07-01 2001-01-19 Nec Corp Transmission control system for atm cell and transmission controller
JP2001339462A (en) * 2000-05-29 2001-12-07 Toshiba Corp Method and device for processing communication protocol
JP2003046566A (en) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd Packet-processing unit and method
JP2004215203A (en) * 2002-11-14 2004-07-29 Matsushita Electric Ind Co Ltd Structure of transmission data, and method and apparatus for transmitting the same
JP2004241872A (en) * 2003-02-04 2004-08-26 Hitachi Ltd Information communication method and repeating device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6399651A (en) * 1986-10-15 1988-04-30 Nec Corp Data communication system
JPH0669957A (en) * 1992-08-18 1994-03-11 Matsushita Electric Ind Co Ltd Data transmission method and data transmitter
JPH11317762A (en) * 1998-05-07 1999-11-16 Nec Corp Interface device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000253054A (en) * 1999-02-25 2000-09-14 Toshiba Corp Data delivery system and data delivery method
JP2001016226A (en) * 1999-07-01 2001-01-19 Nec Corp Transmission control system for atm cell and transmission controller
JP2001339462A (en) * 2000-05-29 2001-12-07 Toshiba Corp Method and device for processing communication protocol
JP2003046566A (en) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd Packet-processing unit and method
JP2004215203A (en) * 2002-11-14 2004-07-29 Matsushita Electric Ind Co Ltd Structure of transmission data, and method and apparatus for transmitting the same
JP2004241872A (en) * 2003-02-04 2004-08-26 Hitachi Ltd Information communication method and repeating device

Also Published As

Publication number Publication date
JP2006081032A (en) 2006-03-23

Similar Documents

Publication Publication Date Title
EP1009138B1 (en) Data transmission method
US7027450B2 (en) Frame batching and compression for IP transmission
US20050243834A1 (en) Packet transfer method and device
US9264940B2 (en) Feedback method and device for header compression feedback information
US6674731B1 (en) Transmission and reception of TCP/IP data over a wireless communication channel
US20220141133A1 (en) Concept for Segmenting an Application Buffer into Data Packets
JP2007266759A (en) Network processing apparatus, multiprocessor system, and network protocol processing method
JP2008512895A (en) Method and apparatus for generating a header in a communication network
JP4612821B2 (en) Communication control apparatus and method
US20100058155A1 (en) Communication apparatus and method therefor
EP1345383A2 (en) System and method for protecting header information using dedicated CRC
JP2011186797A (en) Data communication apparatus and method
US8166127B2 (en) Apparatus and methods for efficient insertion and removal of MPA markers and RDMA CRC digest
US7620050B2 (en) Communication control device and communication control method
US20070140297A1 (en) Extensible protocol processing system
US6665292B1 (en) Transmission and reception of TCP/IP data over a wireless communication channel
US11336297B2 (en) DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
JP2005512462A (en) System for transmitting additional information over a network
US20070086456A1 (en) Integrated layer frame processing device including variable protocol header
JP4612820B2 (en) Communication control apparatus and method
US7281052B2 (en) Data tracing identifiers
CN114615347B (en) UDP GSO-based data transmission method, device, computer equipment and storage medium
JP2003223410A (en) Computer and system configuration method
JP3981390B2 (en) Bidirectional communication control device, terminal device, and bidirectional communication control method
US20180063296A1 (en) Data-division control method, communication system, and communication apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100428

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101016

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

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4612820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees