JPH05327771A - パケット組み上げ方式 - Google Patents
パケット組み上げ方式Info
- Publication number
- JPH05327771A JPH05327771A JP4135193A JP13519392A JPH05327771A JP H05327771 A JPH05327771 A JP H05327771A JP 4135193 A JP4135193 A JP 4135193A JP 13519392 A JP13519392 A JP 13519392A JP H05327771 A JPH05327771 A JP H05327771A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- circuit
- header
- memory
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
る。 【構成】データグラムを分割して生成されたパケットの
受信毎に、同パケット中の各ヘッダの解析を行いなが
ら、同パケットをパケットバッファメモリ2に格納する
と共に、その各ヘッダ、データグラムのメモリ2内格納
位置を示す情報等をパケットディスクリプタメモリ3に
格納する動作をパケット解析回路1にて行う構成とす
る。また、最終パケットについての上記の格納動作が終
了すると、パケット組立回路4が起動され、メモリ3に
格納されている位置情報等に従い、メモリ2に格納され
ている複数パケットから1つのまとまったデータに組み
上げるのに必要な各データの転送指示をその位置情報等
と共に転送回路5に順に与えることで、その指示された
順で、その指定位置のデータがメモリ2から連続的に読
み込まれてマイクロプロセッサ側へ転送される構成とす
る。
Description
持ったデータ通信端末、ホストマシン等に好適なパケッ
ト組み上げ方式に関する。
タ通信端末、ホストマシン等においては、ネットワーク
上から受信したパケットをバッファメモリに格納し、そ
のパケットをパケットヘッダ部分などの非データ部分と
データグラムとに分けた後、データグラム部分を取り出
して別のバッファメモリに複写し、複数のパケットから
ある1つのまとまったデータとして組み上げるパケット
デコード処理が行われていた。
データを分割し、プロトコルに従ってヘッダを付加して
パケットを生成するパケットエンコード処理が行われて
いた。以上のパケットデコード処理およびパケットエン
コード処理は、マイクロプロセッサのプログラム処理に
より行われていた。
は、パケットの組み上げ処理(パケットデコード処理)
をマイクロプロセッサのプログラム処理で行い、しかも
その処理において、パケットを別のバッファメモリに複
写してパケット組み上げを行うため、その複写に長時間
を要し、パケット送受信の性能が向上できないといった
問題があった。この発明は上記事情に鑑みてなされたも
のでその目的は、パケット組み上げ処理が高速に行える
パケット組み上げ方式を提供することにある。
ムを分割して生成された複数のパケットを受信順に格納
するための第1の格納手段と、この第1の格納手段に格
納される複数のパケットの各々について、そのパケット
中の各ヘッダおよびデータグラムの少なくとも位置情報
を順に格納するための第2の格納手段の2つの格納手段
を設けると共に、パケット組立手段と転送手段とを設
け、パケット組立手段は、第2の格納手段の格納情報に
従い、第1の格納手段に格納されている複数のパケット
から1つのまとまったデータに組み上げるのに必要な各
データの転送指示を少なくともその位置情報と共に転送
手段に順に与え、転送手段は、パケット組立手段により
指示された順で、その指定位置のデータを第1の格納手
段から読み込んで転送することを特徴とするものであ
る。
て生成された複数のパケットが受信順に第1の格納手段
に格納され、そのパケット中の各ヘッダおよび(分割さ
れた)データグラムの位置情報等が順に第2の格納手段
に格納される。パケット組立手段は、第2の格納手段に
格納されている位置情報等に従い、第1の格納手段に格
納されている複数パケットから1つのまとまったデータ
に組み上げるのに必要な各データ(ヘッダと複数の分割
されたデータグラム)の転送指示をその位置情報等と共
に転送手段に順に与える。転送手段は、パケット組立手
段からの転送指示を受け、その指示された順で、その指
定位置のデータを第1の格納手段から連続的に読み込ん
で所定の転送先へ転送する。この連続的に転送されるデ
ータは、複数パケットから組み上げられた1つのまとま
ったデータである。
格納手段に格納された複数のパケットから1つのまとま
ったデータに組み上げるのに必要な各データを抽出して
別の格納手段に複写するといった手続きを経ずに、単に
パケット組立手段の制御に基づく転送手段によるデータ
転送だけで、複数のパケットから1つのまとまったデー
タに組み上げることができる。
用するパケットエンコード/デコード装置の一実施例を
示すブロック構成図である。この図1の装置は、パケッ
ト通信機能を持ったデータ通信端末、ホストマシン等に
用いられるものである。図1の装置の左側にはシリアル
インタフェースが接続され、右側にはマイクロプロセッ
サ、主メモリ等(いずれも図示せず)が接続されている
ものとする。
スより受信したパケットのヘッダを解析するパケット解
析回路である。パケット解析回路1には、送受信パケッ
トを格納するためのパケットバッファメモリ2、および
パケットバッファメモリ2に格納されているパケット中
の各ヘッダ、データグラムの位置を示す情報(ポイン
タ)等を格納するためのパケットディスクリプタメモリ
3が接続される。パケット解析回路1は、解析した受信
パケットをパケットバッファメモリ2に格納すると共
に、そのパケットの各ヘッダ、データグラムの位置情報
等をバッファディスクリプタメモリ3に格納するように
構成されている。
ケットバッファメモリ2に格納されている複数パケット
を対象とするパケット組み立て(組み上げ)を同ディス
クリプタメモリ3の格納情報に従って制御するパケット
組立回路4が接続される。このパケット組立回路4およ
びパケットバッファメモリ2には、同組立回路4の制御
のもとでパケットバッファメモリ2からデータを読み込
みマイクロプロセッサ側に転送する転送回路5が接続さ
れる。
ディスクリプタメモリ3にはまた、データ分割回路6が
接続される。データ分割回路6は、マイクロプロセッサ
側から送られる送信すべきデータを論理的に分割し、そ
のデータにヘッダを付加してパケットバッファメモリ2
に格納すると共に、そのヘッダ、分割された各データの
位置情報等をパケットディスクリプタメモリ3に格納す
るように構成される。
た、パケットバッファメモリ2に格納されているヘッダ
およびデータグラムを対象とするパケット生成を同ディ
スクリプタメモリ3の格納情報に従って制御するパケッ
ト生成回路7が接続される。このパケット生成回路7お
よびパケットバッファメモリ2には、同生成回路7の制
御のもとでパケットバッファメモリ2からデータを読み
込みシリアルインタフェース側に転送する送信回路8が
接続される。パケット組立回路4、データ分割回路6お
よびパケット生成回路7は、制御回路9により制御され
る。
ド装置の受信時の動作を、複数の受信IP(Internet P
rotocol )パケットからUDP(User Datagram Protoc
ol)パケットを生成転送するパケット組み上げ(パケッ
トデコード)を例に説明する。
タフェースより図2の構造のIPパケットが受信された
ものとする。このIPパケットは、UDPパケットのデ
ータグラムを所定サイズで分割して生成されたものであ
る。IPパケットのデータグラムは、UDPヘッダおよ
びUDPパケットの分割されたデータグラムからなる。
このIPパケットのデータグラムには、MAC(Media
Access Control)ヘッダおよびIPヘッダが付加されて
いる。IPヘッダには、そのIPパケットが対応するU
DPパケットを構成する何番目のパケットであるかを示
すパケット番号(パケットNO)と、そのパケットのデー
タを送信先で必要とするか否かを示すフラグが含まれて
いる。
(IPパケット)はパケット解析回路1に入力される。
パケット解析回路1は、受信パケットが入力されると、
そのパケット中の各ヘッダの解析を行いながら、そのパ
ケット自体をパケットバッファメモリ2に格納すると共
に、各ヘッダのパケットバッファメモリ2内格納位置を
示す情報(ヘッダポインタ)、更には(MACヘッダま
たはIPヘッダについては)ヘッダサイズおよび(ヘッ
ダ中の)パケット番号を示す情報(サイズ/パケットN
O)と、そのパケット中のデータグラム(UDPパケッ
トの分割されたデータグラム)のパケットバッファメモ
リ2内格納位置を示す情報(データポインタ)をパケッ
トディスクリプタメモリ3に格納する。
れた上記の各種位置情報等の先頭には、パケット組み上
げの際に該当するIPパケットの次に取り出すべきIP
パケットについての同様の情報の格納位置を示すチェイ
ン・ポインタが付加される。このチェイン・ポインタ
は、新たにパケット解析回路1に入力されたIPパケッ
トのIPヘッダの中から、同パケットを送信先で必要と
することを示すフラグが検出され、そのパケットについ
ての上記の各種位置情報等がパケットディスクリプタメ
モリ3に格納された際に設定される。
信パケットが入力される毎にメモリ2,3の格納領域を
切り替えながら行う。そしてパケット解析回路1は、最
終パケットであることを示すIPヘッダを検出した場合
には、上記したメモリ2,3への情報格納の後、制御回
路9に対してその旨を通知する。これを受けて制御回路
9は、マイクロプロセッサへの受信通知を行う。このと
きのメモリ2,3の情報格納状態の一例を図3に示す。
信通知を受けとると、受信処理プログラム(受信タス
ク)が起動する。マイクロプロセッサは、受信タスクに
従い、制御回路9に転送指示を与える。すると制御回路
9は、この転送指示をパケット組立回路4に与え、同回
路4を起動する。
トディスクリプタメモリ3の格納情報に従い、マイクロ
プロセッサ側に転送すべきパケットバッファメモリ2内
データ(ヘッダまたはデータグラム)の格納位置を示す
ポインタ、更には(MACヘッダまたはIPヘッダの場
合には)そのデータサイズを指定した転送指示を、転送
回路5に対して次々と与える。
転送指示の順に、パケットバッファメモリ2内の指定位
置から始まるデータを指定サイズ分(あるいは所定サイ
ズ分)だけ読み込み、マイクロプロセッサ側に転送す
る。このパケット組立回路4および転送回路5の動作を
更に詳細に説明する。
送する本実施例では、パケット組立回路4はまず、先頭
のIPパケット(フラグメント#1)中のUDPヘッダ
のパケットバッファメモリ2内格納位置を示すポインタ
(UDPヘッダポインタ)をパケットディスクリプタメ
モリ3から取り出して転送回路5に与え、1回目の転送
を指示する。
によって指定された格納位置から始まる所定サイズ(U
DPヘッダサイズ)分のデータ、即ち先頭のIPパケッ
ト(フラグメント#1)中のUDPヘッダを、パケット
バッファメモリ2から読み込み、マイクロプロセッサ側
に転送する。
示すると、先頭のIPパケット(フラグメント#1)中
のデータグラム(UDPパケットの分割された先頭デー
タグラム)のパケットバッファメモリ2内格納位置を示
すポインタ(データポインタ)をパケットディスクリプ
タメモリ3から取り出して転送回路5に与え、2回目の
転送を指示する。
によって指定された格納位置から始まる所定サイズ分の
データ、即ち先頭のIPパケット(フラグメント#1)
中のデータグラム(UDPパケットの分割された先頭デ
ータグラム)をパケットバッファメモリ2から読み込
み、マイクロプロセッサ側に転送する。
示すると、パケットディスクリプタメモリ3において、
その転送対象となったIPパケット(ここでは先頭のI
Pパケット)についての各種位置情報等に付されている
チェイン・ポインタを参照する。そしてパケット組立回
路4は、このチェイン・ポインタの指定する次のIPパ
ケットについてのパケットディスクリプタメモリ3内情
報の中から、同パケット(フラグメント#2)中のデー
タグラムのパケットバッファメモリ2内格納位置を示す
ポインタ(データポインタ)を取り出して転送回路5に
与え、転送を指示する。
によって指定された格納位置から始まる所定サイズ分の
データ、即ち次のIPパケット(フラグメント#2)中
のデータグラムをパケットバッファメモリ2から読み込
み、マイクロプロセッサ側に転送する。以下、同様の動
作が、最後の転送対象IPパケットまで繰り返し行われ
る。
は、パケットバッファメモリ2に格納された複数の受信
IPパケットの中から自動的に抽出されたUDPヘッダ
およびデータグラムの群(UDPパケットの分割された
データグラムの群)が順に転送される。即ちマイクロプ
ロセッサ側には、パケットバッファメモリ2に格納され
た複数の受信IPパケットから、他のメモリにデータを
複写することなく、1つのまとまったデータとして組み
上げられたUDPパケットが転送される。したがってマ
イクロプロセッサ側では、パケット組み上げのための処
理は不要となる。
Pパケットから複数のIPパケットを生成転送するパケ
ット分割生成(パケットエンコード)を例に説明する。
まず送信時には、マイクロプロセッサから制御回路9に
送信要求が出されると共に、送信すべきデータであるU
DPパケット(データグラムにUDPヘッダが付加され
たUDPパケット)がデータ分割回路6に送られる。制
御回路9は、マイクロプロセッサからの送信要求を受け
取ると、データ分割回路6を起動する。
プロセッサから送られたUDPパケットにMACヘッダ
およびIPヘッダ(の基本パターン)を付加して図4に
示すようにパケットバッファメモリ2に格納する。
のデータグラムを所定の分割サイズ(IPパケット中の
UDPヘッダを除くデータグラム部分のサイズ)で論理
的に分割して、その分割数(即ち生成すべきIPパケッ
ト数)を求める。そしてデータ分割回路6は、パケット
バッファメモリ2内の各ヘッダ(MACヘッダ、IPヘ
ッダおよびUDPヘッダ)の格納位置を示す情報(ヘッ
ダポインタ)、更には(MACヘッダまたはIPヘッダ
については)ヘッダサイズおよび(ヘッダ中の)パケッ
ト番号を示す情報(サイズ/パケットNO)を、上記の分
割数(生成すべきIPパケット数)だけ図4に示すよう
にパケットディスクリプタメモリ3に複写する。
ァメモリ2内のUDPパケットの論理的に分割された各
データグラムの格納位置を示す情報(データポインタ)
を、図4に示すように、該当する各種ヘッダ位置情報等
に対応させてパケットディスクリプタメモリ3に格納す
る。
と、制御回路9はパケット生成回路7を起動する。これ
によりパケット生成回路7は、パケットディスクリプタ
メモリ3の格納情報を順に読み込み、送信すべきパケッ
トバッファメモリ2内データ(ヘッダまたはデータグラ
ム)の格納位置を示すポインタ、更には(MACヘッダ
またはIPヘッダの場合には)そのデータサイズを指定
した送信指示を、送信回路8に対して次々と与える。ま
たパケット生成回路7は、MACヘッダまたはIPヘッ
ダの送信指示の場合には、パケット番号も送信回路8に
与える。
送信指示の順に、パケットバッファメモリ2内の指定さ
れた格納位置から始まるデータを指定サイズ分(あるい
は所定サイズ分)だけ読み込み、シリアルインタフェー
ス側に送信する。ここで、MACヘッダまたはIPヘッ
ダを読み込んだ際には、パケット生成回路7から与えら
れたパケット番号が同ヘッダの所定位置に設定されて送
信される。
与えられてパケットバッファメモリ2に格納されたデー
タ(MACヘッダおよびIPヘッダが付加されたUDP
パケット)から、分割されたデータグラムを持つ複数の
IPパケットが生成されて、順にシリアルインタフェー
スに送信される。
ットエンコード/デコード装置について説明したが、各
種プロトコルに対応するヘッダ情報を予めメモリ等に持
つことにより、マルチプロトコルに対応したパケットエ
ンコード/デコード装置を実現することも可能である。
データグラムを分割して生成された複数のパケットを受
信順に第1の格納手段に格納すると共に、そのパケット
中の各ヘッダおよびデータグラムの位置情報等を順に第
2の格納手段に格納し、この第2の格納手段に格納され
ている位置情報等に従い、第1の格納手段に格納されて
いる複数パケットから1つのまとまったデータに組み上
げるのに必要な各データの転送指示をその位置情報等と
共にパケット組立手段から転送手段に順に与え、これを
受けて転送手段が、指示された順で、その指定位置のデ
ータを第1の格納手段から連続的に読み込んで所定の転
送先へ転送する構成としたので、この転送先には複数の
パケット(フラグメント)から1つのまとまったデータ
が自動的に組み上げられた形で転送されることになる。
に格納された複数の受信パケットから1つのまとまった
データに組み上げるのに必要な各データを抽出して別の
格納手段に複写するといった手続きを経ずに、単にパケ
ット組立手段の制御に基づく転送手段によるデータ転送
だけで、複数のパケットから1つのまとまったデータに
高速に組み上げることができる。特に、上記各手段をハ
ードウェアで実現した場合には、パケット組み上げの一
層の高速化が可能となり、マイクロプロセッサの負担も
軽減できる。
ケットエンコード/デコード装置の一実施例を示すブロ
ック構成図。
よびパケットディスクリプタメモリ3の情報格納状態の
一例を示す図。
よびパケットディスクリプタメモリ3の情報格納状態の
一例を示す図。
(第1の格納手段)、3…パケットディスクリプタメモ
リ(第2の格納手段)、4…パケット組立回路、5…転
送回路、6…データ分割回路、7…パケット生成回路、
8…送信回路、9…制御回路。
Claims (1)
- 【請求項1】データグラムを分割して生成された複数の
パケットを受信順に格納するための第1の格納手段と、 前記第1の格納手段に格納される複数のパケットの各々
について、そのパケット中の各ヘッダおよびデータグラ
ムの少なくとも位置情報を順に格納するための第2の格
納手段と、 前記第1の格納手段に格納されている複数のパケットを
対象とするパケット組み上げを、前記第2の格納手段の
格納情報に従って制御するパケット組立手段と、 前記パケット組立手段の制御のもとで、前記第1の格納
手段に格納されている複数のパケットを対象とするデー
タ読み込みを行って、その読み込みデータを所定の転送
先へ送る転送手段と、 を具備し、前記パケット組立手段は、前記第2の格納手
段の格納情報に従い、前記第1の格納手段内の前記複数
のパケットから1つのまとまったデータに組み上げるの
に必要な各データの転送指示を少なくともその位置情報
と共に前記転送手段に順に与え、前記転送手段は、前記
パケット組立手段により指示された順で、その指定位置
のデータを前記第1の格納手段から読み込んで転送する
ことを特徴とするパケット組み上げ方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4135193A JPH05327771A (ja) | 1992-05-27 | 1992-05-27 | パケット組み上げ方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4135193A JPH05327771A (ja) | 1992-05-27 | 1992-05-27 | パケット組み上げ方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05327771A true JPH05327771A (ja) | 1993-12-10 |
Family
ID=15146022
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4135193A Pending JPH05327771A (ja) | 1992-05-27 | 1992-05-27 | パケット組み上げ方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05327771A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002078292A1 (fr) * | 2001-03-26 | 2002-10-03 | Duaxes Corporation | Duplexeur de protocole et procede de duplexage de protocole |
| JP2009218743A (ja) * | 2008-03-07 | 2009-09-24 | Canon Inc | Ipプロトコル処理装置及びその処理方法 |
| US8473632B2 (en) | 2008-05-14 | 2013-06-25 | Canon Kabushiki Kaisha | Packet receiving apparatus and processing method for the same |
| JP2016521501A (ja) * | 2013-04-18 | 2016-07-21 | サムスン エレクトロニクス カンパニー リミテッド | ブロードキャスティングシステムにおける動的キュー管理方法及び装置 |
-
1992
- 1992-05-27 JP JP4135193A patent/JPH05327771A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002078292A1 (fr) * | 2001-03-26 | 2002-10-03 | Duaxes Corporation | Duplexeur de protocole et procede de duplexage de protocole |
| US7328273B2 (en) | 2001-03-26 | 2008-02-05 | Duaxes Corporation | Protocol duplicating configuration and method for replicating and order of reception of packets on a first and second computers using a shared memory queue |
| JP2009218743A (ja) * | 2008-03-07 | 2009-09-24 | Canon Inc | Ipプロトコル処理装置及びその処理方法 |
| US8473632B2 (en) | 2008-05-14 | 2013-06-25 | Canon Kabushiki Kaisha | Packet receiving apparatus and processing method for the same |
| JP2016521501A (ja) * | 2013-04-18 | 2016-07-21 | サムスン エレクトロニクス カンパニー リミテッド | ブロードキャスティングシステムにおける動的キュー管理方法及び装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5396490A (en) | Packet reassembly method and apparatus | |
| US7561573B2 (en) | Network adaptor, communication system and communication method | |
| US8070603B2 (en) | Network game system, network game server, and network game terminal | |
| CN101044737B (zh) | 分组合并 | |
| US20090080461A1 (en) | Frame alteration logic for network processors | |
| KR100798926B1 (ko) | 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법 | |
| JP4447137B2 (ja) | パケット転送処理装置 | |
| JP2001024733A (ja) | データ伝送装置 | |
| US8589604B2 (en) | Increased speed of processing of data received over a communications link | |
| CN109688606A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
| US7245615B1 (en) | Multi-link protocol reassembly assist in a parallel 1-D systolic array system | |
| US5436892A (en) | Apparatus and method for packet communications | |
| JP2007274056A (ja) | データグラム再組立装置 | |
| JPH05327771A (ja) | パケット組み上げ方式 | |
| JP5039292B2 (ja) | ネットワークアダプタ、通信システムおよび通信方法 | |
| JP2008236378A (ja) | ホストコンピュータとネットワークインタフェースコントローラ間のデータ転送方法、プログラム及びネットワークインタフェースコントローラ | |
| US20010018732A1 (en) | Parallel processor and parallel processing method | |
| US7552216B2 (en) | Method of sharing a printer | |
| JP3435736B2 (ja) | 通信制御装置 | |
| US6493764B1 (en) | Data communications apparatus, method and computer program product implementing data communications protocol with efficient packing of datagrams | |
| TWI519108B (zh) | 遠端匯流排之傳輸系統、裝置與其傳輸方法 | |
| JP3313655B2 (ja) | データ送受信方式、データ送受信方法、および記録媒体 | |
| JP3674720B2 (ja) | 並列計算機におけるデータ転送方法 | |
| US7532644B1 (en) | Method and system for associating multiple payload buffers with multidata message | |
| JP3670372B2 (ja) | データ転送装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 6 Free format text: PAYMENT UNTIL: 20080215 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090215 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 8 Free format text: PAYMENT UNTIL: 20100215 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110215 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20120215 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130215 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20130215 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 12 Free format text: PAYMENT UNTIL: 20140215 |
|
| EXPY | Cancellation because of completion of term |