JP5051657B2 - Communication control device - Google Patents
Communication control device Download PDFInfo
- Publication number
- JP5051657B2 JP5051657B2 JP2008228205A JP2008228205A JP5051657B2 JP 5051657 B2 JP5051657 B2 JP 5051657B2 JP 2008228205 A JP2008228205 A JP 2008228205A JP 2008228205 A JP2008228205 A JP 2008228205A JP 5051657 B2 JP5051657 B2 JP 5051657B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- protocol
- communication
- processing unit
- buffer
- 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.)
- Active
Links
Images
Landscapes
- Communication Control (AREA)
Description
本発明は、データの送受信を行う通信制御装置に関する。 The present invention relates to a communication control apparatus that transmits and receives data.
データの送受信を行う通信制御装置においては、受信データや送信データは一時的にバッファに格納され、OSI(開放型システム間相互接続)参照モデルの概念に基づいて設計されている階層構造によって、バッファ上で受信データの解析や送信データの組立てが行われる。この種の通信制御装置におけるバッファの管理技術の一例が特許文献1および特許文献2に記載されている。
In a communication control device that transmits and receives data, received data and transmitted data are temporarily stored in a buffer, and the buffer is provided by a hierarchical structure designed based on the concept of an OSI (Open System Interconnection) reference model. The received data is analyzed and the transmitted data is assembled. An example of buffer management technology in this type of communication control apparatus is described in
図5を参照すると、特許文献1に記載された技術(以下、関連技術1と言う)によれば、送信処理は、図5(イ)〜(ハ)に示す手順で行われる。まず、最上位層であるN+1層は、生成したデータaをバッファBに格納し、N層に対して先頭アドレスp1とバッファレングスn1とを通知する(イ)。次にN層は、バッファB上のデータaの前にデータbを組立て、N−1層に対して先頭アドレスp2とバッファレングスn2とを通知する(ロ)。次にN−1層は、バッファB上のデータbの前にデータcを組立て、P層に対して先頭アドレスp3とバッファレングスn3とを通知する。最後にP層は、先頭アドレスp3からバッファレングスn3分のデータを通信回線に送出する(ハ)。 Referring to FIG. 5, according to the technique described in Patent Document 1 (hereinafter referred to as related technique 1), the transmission process is performed according to the procedure shown in FIGS. First, the N + 1 layer, which is the highest layer, stores the generated data a in the buffer B, and notifies the N layer of the start address p 1 and the buffer length n 1 (A). Next, the N layer assembles the data b before the data a on the buffer B, and notifies the N−1 layer of the start address p 2 and the buffer length n 2 (b). Next, the N-1 layer assembles the data c before the data b on the buffer B, and notifies the P layer of the start address p 3 and the buffer length n 3 . Finally, the P layer sends data corresponding to the buffer length n 3 from the head address p 3 to the communication line (c).
また関連技術1によれば、受信処理は、図5(ニ)〜(ヘ)に示す手順で行われる。まず、P層は、通信回線からデータを受信してバッファBに格納し、N−1層に対して先頭アドレスq3とバッファレングスn3とを通知する(ニ)。次にN−1層は、バッファB上のデータcを受信し、N層に対して先頭アドレスq2とバッファレングスn2とを通知する(ホ)。次にN層は、バッファB上のデータbを受信し、N+1層に対して先頭アドレスq1とバッファレングスn1とを通知する。N+1層はバッファB上のデータaを受信する(ヘ)。
According to
他方、特許文献2に記載された技術(以下、関連技術2と言う)によれば、送信処理は次の手順で行われる。まず、送信データの種類や送信先に対応して、使用するプロトコルが各層毎に選択される。例えば、下位層から順にa、b、cの3つの層があり、層aにはA〜Cの3種類のプロトコル、層bにはD〜Fの3種類のプロトコル、層cにはG〜Iの3種類のプロトコルがある場合に、層aのプロトコルとしてA、層bのプロトコルとしてD、層cのプロトコルとしてGがそれぞれ選択されたとする。次に、選択されたプロトコルA、D、Gに基づいて、使用されるプロトコルヘッダの総量を計算する。次に、送信データ格納領域に加えて、前記計算したプロトコルヘッダの総量分のヘッダ格納領域を持つバッファを確保し、送信データ格納領域に送信データを格納する。次に、プロトコルGに制御が移り、プロトコルGのヘッダがバッファ上の送信データの前に格納される。次に、プロトコルDに制御が移り、バッファ上のプロトコルGのヘッダの前にプロトコルDのヘッダが格納される。次に、プロトコルAに制御が移り、バッファ上のプロトコルDのヘッダの前にプロトコルAのヘッダが格納される。最後に、バッファ上のデータが通信回線に送出される。 On the other hand, according to the technique described in Patent Document 2 (hereinafter referred to as related technique 2), transmission processing is performed in the following procedure. First, the protocol to be used is selected for each layer corresponding to the type of transmission data and the transmission destination. For example, there are three layers a, b, and c in order from the lower layer, the layer a has three types of protocols A to C, the layer b has three types of protocols D to F, and the layer c has G to G In the case where there are three types of protocols I, it is assumed that A is selected as the protocol for layer a, D is selected as the protocol for layer b, and G is selected as the protocol for layer c. Next, based on the selected protocols A, D and G, the total amount of protocol headers used is calculated. Next, in addition to the transmission data storage area, a buffer having a header storage area corresponding to the total amount of the calculated protocol header is secured, and the transmission data is stored in the transmission data storage area. Next, control is transferred to the protocol G, and the header of the protocol G is stored before the transmission data on the buffer. Next, control is transferred to protocol D, and the header of protocol D is stored before the header of protocol G on the buffer. Next, control is transferred to protocol A, and the header of protocol A is stored before the header of protocol D on the buffer. Finally, the data on the buffer is sent to the communication line.
関連技術1によれば、各層間で扱うデータを先頭アドレスとバッファレングスとでインタフェースする。このため、各層毎にデータバッファを設け、転送要求を受けたデータをそれらに取込み、必要なデータを付加して次層に転送する方法に比べて、処理が高速になり、メモリ領域を節約することができる。しかし、関連技術1では、送信時、前層のデータの前にデータを付加するための領域を確保するための処理が必要になる。
According to
他方、関連技術2によれば、送信時、ヘッダ総量に見合った領域を含むバッファを確保するため、関連技術1におけるような問題は解消され、送信処理の効率が改善される。
On the other hand, according to the
しかしながら、関連技術1および関連技術2共に、送信時と受信時とでバッファを共用する考えはない。このため、1つの通信制御装置において、或る通信回線から受信したデータをアプリケーションで参照または更新して、別の通信回線を通じて他所へ送信する場合、受信データを格納するバッファの確保処理と、送信データを格納するバッファの確保処理との2回の確保処理が必要であった。
However, neither the
本発明はこのような事情に鑑みて提案されたものであり、その目的は、或る通信回線から受信したデータを参照または更新して別の通信回線へ送信する通信制御装置において、バッファ確保処理の回数を削減することにある。 The present invention has been proposed in view of such circumstances, and an object of the present invention is to provide a buffer securing process in a communication control apparatus that refers to or updates data received from a certain communication line and transmits the data to another communication line. It is to reduce the number of times.
本発明の通信制御装置は、第1の通信コントローラにより第1の回線から受信したデータをアプリケーションにより参照または更新して第2の通信コントローラにより第2の回線に送信する通信制御装置であって、前記第1の通信コントローラによる前記第1の回線からのデータ受信時、受信データの格納と該格納した受信データを参照または更新して前記第2の回線に送信する送信データの格納とに兼用するバッファをメモリ上に確保する。 The communication control apparatus of the present invention is a communication control apparatus that refers to or updates data received from a first line by a first communication controller and transmits the data to a second line by a second communication controller, When receiving data from the first line by the first communication controller, it is used for both storing received data and storing transmission data to be transmitted to the second line by referring to or updating the received data. Reserve a buffer in memory.
本発明によれば、データ受信時、受信データの格納とこの格納した受信データを参照または更新して別回線に送信する送信データの格納とに兼用するバッファをメモリ上に確保するため、バッファ確保処理の回数を削減することが可能になる。また、バッファ確保処理回数が削減されることにより、通信処理の速度が向上すると共に、処理量の削減により通信制御装置の消費電力の削減が可能になる。 According to the present invention, at the time of data reception, a buffer is allocated in order to secure a buffer on the memory that is used for both storing received data and storing transmitted data that is transmitted to another line by referring to or updating the stored received data. It becomes possible to reduce the number of times of processing. Further, the number of buffer securing processes is reduced, so that the speed of communication processing is improved, and the power consumption of the communication control apparatus can be reduced by reducing the processing amount.
[第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態に係る通信制御装置100は、CPU10と、ROM20と、RAM30と、2種類の通信コントローラ40、50とがバス60により相互に接続されている。
[First Embodiment]
Referring to FIG. 1, a
ROM20は、通信制御装置100のCPU10で実行するプログラムおよび固定データを記憶する。RAM30は、送受信データを記憶するバッファおよび可変データを記憶する。
The
通信コントローラ40は、通信回線41からのデータの受信および通信回線41へのデータの送信を行う部品である。同じく通信コントローラ50は、通信回線51からのデータの受信および通信回線51へのデータの送信を行う部品である。本実施の形態の場合、通信コントローラ40はイーサネット(登録商標)用のコントローラ、通信コントローラ50はシリアルポート用のコントローラである。
The
CPU10は、通信制御装置100の主たる制御を行う部品であり、通信の制御に関連する機能手段として、2種類の通信ドライバ処理部11、12と、通信プロトコル処理部13と、通信アプリケーション部14とを備えている。これらは、例えばROM20に格納されたプログラムにより実現することができる。
The
通信ドライバ処理部11は通信コントローラ40用の通信ドライバ、通信ドライバ処理部12は通信コントローラ50用の通信ドライバである。
The communication
通信プロトコル処理部13は、通信ミドルウェアとしてのプロトコルスタックである。本実施の形態の場合、通信プロトコル処理部13は、L2処理部15およびL3処理部16を備えている。L2処理部15は、L2(レイヤ2)、即ちOSI参照モデルのデータリンク層に関する処理を司る部分であり、L3処理部16は、L3(レイヤ3)、即ちOSI参照モデルのネットワーク層に関する処理を司る部分である。
The communication
通信アプリケーション部14は、OSI参照モデルのトランスポート層以上の層に関する処理を司る部分である。本実施の形態の場合、通信アプリケーション部14は、L4(レイヤ4)、即ちトランスポート層に関する処理を司るL4処理部17と、OSI参照モデルのセッション層からアプリケーション層までの層に関する処理を司るアプリケーション部18とで構成されている。
The
本実施の形態における通信制御装置100は、通信コントローラ40により通信回線41から受信したデータをアプリケーション部18において参照または更新して、通信コントローラ50により通信回線51に送信する通信アダプタ装置として機能する。また、L2〜L4の各層には、図2に示すようにそれぞれ複数の通信プロトコルが定義されており、実際のデータの送受信時には、複数の通信プロトコルの中から1つの通信プロトコルが選択されて適用される。
The
次に、通信回線41から受信したデータをアプリケーション部18において参照または更新して通信回線51に送信する際の本実施の形態の動作を説明する。
Next, the operation of this embodiment when data received from the communication line 41 is referred to or updated by the
図3を参照すると、通信コントローラ40は、通信回線41上に自通信制御装置宛のイーサネットフレームを検出すると、当該フレームを受信し、CPU10に割り込みで通知する。CPU10は、この割り込みを契機に通信ドライバ処理部11を起動する。
Referring to FIG. 3, when the
通信ドライバ処理部11は、通信コントローラ40が受信したフレームを格納するためのバッファBUFをRAM30の空き領域に確保し、受信データ(受信フレーム)をバッファBUFに格納する。このとき確保したバッファBUFは、受信データの格納に使用する他、この受信データを参照または更新して通信回線51に送信する際の送信データの格納用にも使用する。送信データのサイズが受信データのサイズを超えないことが保証されていれば、確保するバッファBUFのサイズは受信データのサイズのみを考慮して決定すれば良い。しかし、受信と送信とで各層で使用するプロトコルが相違する結果、送信データのプロトコルヘッダの総サイズが受信データのプロトコルヘッダの総サイズを超える場合には、少なくとも超過する分だけサイズの大きなバッファBUFを確保しておく必要がある。また、アプリケーション部18がL4階層のペイロードを更新した結果、ペイロードのサイズが増加する場合、プロトコルヘッダによる増加分に加えて、ペイロードによる増加分も考慮したサイズのバッファBUFを確保しておく必要がある。通信ドライバ処理部11は、これらのことを踏まえて確保するバッファBUFのサイズを決定する機能を有する。この機能の詳細については後述するが、今は説明の便宜上、図4に示すバッファBUFが確保されたものとする。
The communication
図4に示すバッファBUFは、RAM30のアドレスa0からa1までの領域が割り当てられている。また、バッファBUFは、アドレスa0からアドレスa2までのサイズn0の前方予備領域と、アドレスa2からアドレスa6までのサイズn2のデータ格納領域と、アドレスa6からアドレスa1までのサイズn1の後方予備領域とに論理的に区分されている。データ格納領域は、受信データを格納するための領域である。前方予備領域は、送信データのプロトコルヘッダの総サイズが受信データのものより大きくなった場合に使用する拡張領域、後方予備領域は、ペイロードのサイズが更新により拡大した場合に使用する拡張領域である。
In the buffer BUF shown in FIG. 4, areas from addresses a 0 to a 1 of the
通信ドライバ処理部11は、受信データを図4に示すようにバッファBUFのデータ格納領域に格納し、データ格納領域の先頭アドレスa2と受信データ長(=データ格納領域のサイズn2)とを通信プロトコル処理部13のL2処理部15に通知する。図4に示したように、受信データは、ペイロードと、その前に付けられたL4ヘッダと、その前に付けられたL3ヘッダと、その前に付けられたL2ヘッダとで構成されている。
The communication
L2処理部15は、バッファBUF上の通知されたアドレスa2以降に格納されたL2ヘッダを解析してL2に適用されているプロトコルを識別し、そのプロトコルによる処理を実行する。そして、L2処理部15は、L3ヘッダの先頭アドレスa3とL3のデータ長n3とをL3処理部16に通知する。
L3処理部16は、バッファBUF上の通知されたアドレスa3以降に格納されたL3ヘッダを解析してL3に適用されているプロトコルを識別し、そのプロトコルによる処理を実行する。そして、L3処理部16は、L4ヘッダの先頭アドレスa4とL4のデータ長n4とを通信アプリケーション部14のL4処理部17に通知する。
L4処理部17は、バッファBUF上の通知されたアドレスa4以降に格納されたL4ヘッダを解析してL4に適用されているプロトコルを識別し、そのプロトコルによる処理を実行する。そして、L4処理部17は、ペイロードの先頭アドレスa5とデータ長n5とをアプリケーション部18に通知する。
アプリケーション部18は、バッファBUF上の通知されたアドレスa5以降に格納されたペイロードを参照または更新する。ペイロードを参照する目的は、例えば、ペイロード中のデータの種類や送信先を識別することである。また、ペイロードを更新する目的は、例えば、データの形式を別の形式に変換したり、送信先を変更したりすることである。データ形式の変換は文字コードレベルで行われるために、ペイロードのサイズが変更される可能性がある。また、SIP−URIで送信先が記述されている場合、SIP−URIの書換えは文字コードレベルで行われるために、ペイロードのサイズが変更される可能性がある。
アプリケーション部18は、受信したペイロードを更新した場合、更新後のペイロードを送信データに含めるペイロードとして、バッファBUFのアドレスa5以降の領域、つまり元のペイロード部分に上書きする。図4は、送信データに含めるペイロードがバッファBUFのアドレスa5からアドレスa7までの領域に格納された例を示している。なお、参照だけで更新しない場合には、元のペイロードがバッファBUFのアドレスa5以降に格納されているので、それをそのまま送信データに含めるペイロードとして使用する。
When the received payload is updated, the
次にアプリケーション部18は、送信データの種類や送信先に基づいて、L4、L3、L2の各層で使用するプロトコルを決定する。ここでは、説明の便宜上、L4はプロトコルG、L3はプロトコルD、L2はプロトコルAにそれぞれ決定されたものとする。決定されたプロトコルの情報は例えばRAM30の所定のエリアに記憶され、L4処理部17、L3処理部16およびL2処理部15によって参照される。
Next, the
次にアプリケーション部18は、L4処理部17に対して、ペイロードの先頭アドレスa5とデータ長n'5とをL4処理部17に通知する。
Next, the
次にL4処理部17は、バッファBUF上の通知されたアドレスa5以降に格納されたペイロードの前にプロトコルGのL4ヘッダを書き込み、書き込んだL4ヘッダの先頭アドレスa8とデータ長n'4を通信プロトコル処理部13のL3処理部16に通知する。
Then
次にL3処理部16は、バッファBUF上の通知されたアドレスa8以降に格納されたL4ヘッダの前にプロトコルDのL3ヘッダを書き込み、書き込んだL3ヘッダの先頭アドレスa9とデータ長n'3をL2処理部15に通知する。
次にL2処理部15は、バッファBUF上の通知されたアドレスa9以降に格納されたL3ヘッダの前にプロトコルAのL2ヘッダを書き込み、書き込んだL2ヘッダの先頭アドレスa10とデータ長n'2を、プロトコルAを扱う通信コントローラ50の通信ドライバ処理部12に通知する。
Then
次に通信ドライバ処理部12は、バッファBUF上の通知されたアドレスa10以降に格納されたL2のデータを読み出し、通信コントローラ50へ送信する。通信コントローラ50は受信したデータを通信回線51へ送信する。通信コントローラ50による送信が完了すると、通信ドライバ処理部11は、送信データを格納していたバッファBUFを解放する。
Next, the communication
次に、受信データと送信データとで共用する図4のバッファBUFのサイズn0、n1、n2を決定する方法について、幾つかの例を挙げて説明する。 Next, a method for determining the sizes n 0 , n 1 , and n 2 of the buffer BUF of FIG. 4 shared by received data and transmitted data will be described with some examples.
(1)バッファBUFのデータ格納領域のサイズn2の決定方法
サイズn2は、受信データを格納するデータ格納領域のサイズであるため、受信データのサイズに基づき決定する。例えば、サイズn2は、受信データのサイズと等しい値とする。
(1) Method for determining the size n 2 of the data storage area of the buffer BUF Since the size n 2 is the size of the data storage area for storing the received data, it is determined based on the size of the received data. For example, the size n 2 is a value equal to the size of the received data.
(2)バッファBUFの前方予備領域のサイズn0の決定方法
サイズn0は、送信データのプロトコルヘッダの総サイズが受信データのものより大きくなった場合に使用する前方予備領域のサイズであるため、送信データおよび受信データのプロトコルヘッダの総サイズの差異に基づいて決定する。具体的な方法として、以下のような方法がある。
(2) Method of determining the size n 0 of the front spare area of the buffer BUF The size n 0 is the size of the front spare area used when the total size of the protocol header of the transmission data becomes larger than that of the received data. , Based on the difference in the total size of the protocol headers of the transmission data and the reception data. Specific methods include the following methods.
(2−1)例1
送信時の通信プロトコルの組み合わせのうち使用されるプロトコルヘッダの総サイズが最も大きい通信プロトコルのプロトコルヘッダの総サイズをX、受信時の通信プロトコルの組み合わせのうち使用されるプロトコルヘッダの総サイズが最も小さい通信プロトコルのプロトコルヘッダの総サイズをYとするとき、X−Yを前方予備領域のサイズn0とする。この方法によれば、実際の受信データの通信プロトコルのL2〜L4のヘッダの総サイズが最小値のYに等しく、実際の送信データの通信プロトコルのL2〜L4のヘッダの総サイズが最大値のXに等しくなる場合に、前方予備領域のサイズn0の全てが使用されることになり、それ以外のケースでは、前方予備領域の一部が使用されるか、あるいは全く使用されないことになる。バッファ使用量の面で多少無駄が生じるものの、X−Yを予め計算してROM20等の固定データとして記憶しておけば、それを参照するだけで済むため、処理量は少なくなる。
(2-1) Example 1
X is the total protocol header size of the communication protocol with the largest total protocol header size among the communication protocol combinations at the time of transmission, and the total protocol header size used is the largest among the communication protocol combinations at the time of reception. When the total size of the protocol headers of the small communication protocol is Y, XY is the size n 0 of the front spare area. According to this method, the total size of the L2 to L4 headers of the actual reception data communication protocol is equal to the minimum value Y, and the total size of the L2 to L4 headers of the actual transmission data communication protocol is the maximum value. If it is equal to X, all of the front spare area size n 0 will be used, otherwise a part of the front spare area will be used or not used at all. Although some waste occurs in terms of the amount of buffer used, if XY is calculated in advance and stored as fixed data in the
(2−2)例2
通信ドライバ処理部11が、受信データで使用されている通信プロトコルの組み合わせの一部または全部を特定し、この特定したプロトコルと残りの階層のプロトコルとの組み合わせのうち使用されるプロトコルヘッダの総サイズが最大となる通信プロトコルのプロトコルヘッダの総サイズをY’とするとき、X−Y’を前方予備領域のサイズn0とする。ここで、Xは、例1におけるXと同じく、送信時の通信プロトコルの組み合わせのうち使用されるプロトコルヘッダの総サイズが最も大きい通信プロトコルのプロトコルヘッダの総サイズである。
(2-2) Example 2
The communication
通信ドライバ処理部11が、受信データで使用されている通信プロトコルの組み合わせの一部を特定する方法としては、例えば、データの受信時に割り込みをかけてきた通信コントローラ40の種類によって、L2で使用されるプロトコルをプロトコルA〜Cの内の何れか1つまたは2つに特定する方法がある。また、通信ドライバ処理部11が通信コントローラ40に保持されている受信データを直接参照して、L2ヘッダ等、各ヘッダを解析して使用されているプロトコルを特定する方法がある。
As a method for the communication
(3)バッファBUFの後方予備領域のサイズn1の決定方法
サイズn1は、ペイロードのサイズが更新により拡大した場合に使用する後方予備領域のサイズであるため、アプリケーション部18によるペイロードの更新の有無および更新する場合の最大増加幅に基づいて決定する。すなわち、アプリケーション部18がペイロードの更新を行わない仕様であるならば、後方予備領域のサイズn1は0である。また、更新を行った場合に想定される最大増加幅がΔdであれば、後方予備領域のサイズn1はΔdである。
(3) Method of determining the size n 1 of the rear spare area of the buffer BUF The size n 1 is the size of the rear spare area used when the size of the payload is enlarged by updating. It is determined based on the presence / absence and the maximum increment when updating. That is, if the
次に本実施の形態の効果を説明する。 Next, the effect of this embodiment will be described.
本実施の形態によれば、通信回線41から受信したデータをアプリケーション部18において参照または更新して通信回線51を通じて他に送信する通信制御装置100において、受信と送信とで同じバッファBUFを使用可能としたことにより、バッファ確保処理の回数を半分に削減することができる。バッファ確保処理回数が半分に削減されることにより、通信処理の速度が向上すると同時に、処理量の削減により通信制御装置100の消費電力の削減も可能になる。
According to the present embodiment, the same buffer BUF can be used for reception and transmission in the
[その他の実施の形態]
以上の実施の形態は、通信回線41から受信したデータをアプリケーション部18において参照または更新して通信回線51に送信したが、その反対に、通信回線51から受信したデータをアプリケーション部18において参照または更新して通信回線41に送信する実施の形態も考えられる。この場合、通信ドライバ処理部12に、通信ドライバ処理部11と同様のバッファ獲得機能が備えられる。
[Other embodiments]
In the above embodiment, the data received from the communication line 41 is referred to or updated by the
以上の実施の形態は、通信コントローラとして、イーサネット用のコントローラ、シリアルポート用のコントローラを使用したが、本発明における通信コントローラはこれらの種類に限定されず、トークンリングやX.25などの他の種類の通信コントローラであっても良い。 In the above embodiment, the Ethernet controller and the serial port controller are used as the communication controller. However, the communication controller in the present invention is not limited to these types, and other types such as token ring and X.25 are used. It may be a type of communication controller.
以上の実施の形態は、通信コントローラを2種類だけ備えていたが、3種類以上の通信コントローラを備えていても良い。 In the above embodiment, only two types of communication controllers are provided, but three or more types of communication controllers may be provided.
以上の実施の形態は、物理層の上位層として、L2、L3、L4の3層を持つ階層構造を例にしたが、OSI参照モデルの概念に基づいて設計された階層構造であれば全て適用可能である。 In the above embodiment, a hierarchical structure having three layers L2, L3, and L4 is taken as an example of the upper layer of the physical layer. However, any hierarchical structure designed based on the concept of the OSI reference model can be applied. Is possible.
10…CPU
11、12…通信ドライバ処理部
13…通信プロトコル処理部
14…通信アプリケーション部
15…L2処理部
16…L3処理部
17…L4処理部
18…アプリケーション部
20…ROM
30…RAM
40、50…通信コントローラ
41、42…通信回線
60…バス
100…通信制御装置
10 ... CPU
DESCRIPTION OF
30 ... RAM
40, 50 ... communication controllers 41, 42 ... communication line 60 ...
Claims (6)
該受信側ドライバ処理部から前記受信データの先頭アドレスとデータ長とを受け取り、前記バッファ上の前記受信データ内の各層のプロトコルヘッダを下位の層から順に認識して、上位層のデータの先頭アドレスとデータ長とを引き渡す受信側通信プロトコル処理部と、
該受信側通信プロトコル処理部から前記上位層のデータの先頭アドレスとデータ長とを受け取り、前記バッファ上で上位層のプロトコルヘッダとペイロードを認識して参照または更新し、前記上位層のデータの先頭アドレスとデータ長とを引き渡す通信アプリケーション部と、
該通信アプリケーション部から前記上位層のデータの先頭アドレスとデータ長とを受け取り、前記上位層の1つ下の層から順に、前記バッファ上でその層のプロトコルヘッダを1つ上の層のプロトコルヘッダの前に格納し、送信データの先頭アドレスとデータ長とを引き渡す送信側プロトコル処理部と、
該送信側プロトコル処理部から前記送信データの先頭アドレスとデータ長とを受け取り、前記バッファから前記送信データを読み出して第2の通信コントローラにより第2の回線へ送信する送信側ドライバ処理部とを備え、
前記バッファは、前記受信データを格納するデータ格納領域と、前記送信データのプロトコルヘッダの総サイズが前記受信データのプロトコルヘッダの総サイズより大きくなった場合に使用する前方予備領域と、前記受信データに含まれるペイロードのサイズが更新により拡大した場合に使用する後方予備領域とで構成されている
通信制御装置。 When receiving data from the first line by the first communication controller, a buffer for storing received data and storing transmission data is secured on the memory, and the received data is stored in the secured buffer, A receiving side driver processing unit that delivers the start address and data length of the received data;
Receives the leading address and data length of the received data from the receiving side driver processing unit, recognizes the protocol header of each layer in the received data on the buffer in order from the lower layer, and starts the upper address of the upper layer data And a communication protocol processing unit on the receiving side that delivers the data length,
Receives the top address and data length of the upper layer data from the receiving side communication protocol processing unit, recognizes and references or updates the upper layer protocol header and payload on the buffer, and starts the top layer data head A communication application section that delivers the address and data length;
The top address and data length of the upper layer data are received from the communication application unit, and the protocol header of that layer is changed to the protocol header of the upper layer on the buffer in order from the lower layer of the upper layer. A transmission-side protocol processing unit that stores the leading address of the transmission data and the data length,
A transmission side driver processing unit that receives a start address and a data length of the transmission data from the transmission side protocol processing unit, reads the transmission data from the buffer, and transmits the transmission data to a second line by a second communication controller; ,
The buffer includes a data storage area for storing the reception data, a front spare area used when the total size of the protocol header of the transmission data is larger than the total size of the protocol header of the reception data, and the reception data The communication control device is configured with a rear spare area used when the size of the payload included in is expanded by updating .
前記受信側ドライバ処理部が、第1の通信コントローラによる第1の回線からのデータ受信時、受信データの格納と送信データの格納とに兼用するバッファであって、前記受信データを格納するデータ格納領域と、前記送信データのプロトコルヘッダの総サイズが前記受信データのプロトコルヘッダの総サイズより大きくなった場合に使用する前方予備領域と、前記受信データに含まれるペイロードのサイズが更新により拡大した場合に使用する後方予備領域とで構成されているバッファを、メモリ上に確保し、該確保した前記バッファに前記受信データを格納し、前記受信データの先頭アドレスとデータ長とを引き渡し、A data storage for storing the reception data, wherein the reception side driver processing unit is a buffer that is used for both reception data storage and transmission data storage when the first communication controller receives data from the first line. The area, the forward spare area used when the total size of the protocol header of the transmission data is larger than the total size of the protocol header of the reception data, and the size of the payload included in the reception data is expanded by updating A buffer composed of a rear spare area to be used in the memory is secured on the memory, the received data is stored in the secured buffer, and a head address and a data length of the received data are delivered,
前記受信側通信プロトコル処理部が、前記受信側ドライバ処理部から前記受信データの先頭アドレスとデータ長とを受け取り、前記バッファ上の前記受信データ内の各層のプロトコルヘッダを下位の層から順に認識して、上位層のデータの先頭アドレスとデータ長とを引き渡し、The receiving side communication protocol processing unit receives the start address and data length of the received data from the receiving side driver processing unit, and recognizes the protocol header of each layer in the received data on the buffer in order from the lower layer. Pass the top address and data length of the upper layer data,
前記通信アプリケーション部が、前記受信側通信プロトコル処理部から前記上位層のデータの先頭アドレスとデータ長とを受け取り、前記バッファ上で上位層のプロトコルヘッダとペイロードを認識して参照または更新し、前記上位層のデータの先頭アドレスとデータ長とを引き渡し、The communication application unit receives a top address and a data length of the upper layer data from the receiving side communication protocol processing unit, recognizes an upper layer protocol header and payload on the buffer, refers to or updates, and Deliver the top address and data length of the upper layer data,
前記送信側プロトコル処理部が、前記通信アプリケーション部から前記上位層のデータの先頭アドレスとデータ長とを受け取り、前記上位層の1つ下の層から順に、前記バッファ上でその層のプロトコルヘッダを1つ上の層のプロトコルヘッダの前に格納し、送信データの先頭アドレスとデータ長とを引き渡し、The transmission-side protocol processing unit receives a head address and a data length of the upper layer data from the communication application unit, and in order from the layer immediately below the upper layer, the protocol header of the layer is displayed on the buffer. Store before the protocol header of the layer above, and pass the start address and data length of the transmission data,
前記送信側ドライバ処理部が、前記送信側プロトコル処理部から前記送信データの先頭アドレスとデータ長とを受け取り、前記バッファから前記送信データを読み出して第2の通信コントローラにより第2の回線へ送信するThe transmission side driver processing unit receives the start address and data length of the transmission data from the transmission side protocol processing unit, reads the transmission data from the buffer, and transmits the transmission data to the second line by the second communication controller.
通信制御方法。Communication control method.
第1の通信コントローラによる第1の回線からのデータ受信時、受信データの格納と送信データの格納とに兼用するバッファであって、前記受信データを格納するデータ格納領域と、前記送信データのプロトコルヘッダの総サイズが前記受信データのプロトコルヘッダの総サイズより大きくなった場合に使用する前方予備領域と、前記受信データに含まれるペイロードのサイズが更新により拡大した場合に使用する後方予備領域とで構成されているバッファを、メモリ上に確保し、該確保した前記バッファに前記受信データを格納し、前記受信データの先頭アドレスとデータ長とを引き渡す受信側ドライバ処理部と、A buffer that is used for both reception data storage and transmission data storage when receiving data from the first line by the first communication controller, a data storage area for storing the reception data, and a protocol for the transmission data A front spare area used when the total header size becomes larger than the total protocol header size of the received data, and a rear spare area used when the payload size included in the received data is enlarged by updating. A buffer configured in the memory, receiving the received data in the secured buffer, and receiving side driver processing unit that delivers the start address and data length of the received data;
該受信側ドライバ処理部から前記受信データの先頭アドレスとデータ長とを受け取り、前記バッファ上の前記受信データ内の各層のプロトコルヘッダを下位の層から順に認識して、上位層のデータの先頭アドレスとデータ長とを引き渡す受信側通信プロトコル処理部と、Receives the leading address and data length of the received data from the receiving side driver processing unit, recognizes the protocol header of each layer in the received data on the buffer in order from the lower layer, and starts the upper address of the upper layer data And a communication protocol processing unit on the receiving side that delivers the data length,
該受信側通信プロトコル処理部から前記上位層のデータの先頭アドレスとデータ長とを受け取り、前記バッファ上で上位層のプロトコルヘッダとペイロードを認識して参照または更新し、前記上位層のデータの先頭アドレスとデータ長とを引き渡す通信アプリケーション部と、Receives the top address and data length of the upper layer data from the receiving side communication protocol processing unit, recognizes and references or updates the upper layer protocol header and payload on the buffer, and starts the top layer data head A communication application section that delivers the address and data length;
該通信アプリケーション部から前記上位層のデータの先頭アドレスとデータ長とを受け取り、前記上位層の1つ下の層から順に、前記バッファ上でその層のプロトコルヘッダを1つ上の層のプロトコルヘッダの前に格納し、送信データの先頭アドレスとデータ長とを引き渡す送信側プロトコル処理部と、The top address and data length of the upper layer data are received from the communication application unit, and the protocol header of that layer is changed to the protocol header of the upper layer on the buffer in order from the lower layer of the upper layer. A transmission-side protocol processing unit that stores the leading address of the transmission data and the data length,
該送信側プロトコル処理部から前記送信データの先頭アドレスとデータ長とを受け取り、前記バッファから前記送信データを読み出して第2の通信コントローラにより第2の回線へ送信する送信側ドライバ処理部とA transmission side driver processing unit that receives a start address and a data length of the transmission data from the transmission side protocol processing unit, reads the transmission data from the buffer, and transmits the transmission data to a second line by a second communication controller;
して機能させるためのプログラム。Program to make it function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008228205A JP5051657B2 (en) | 2008-09-05 | 2008-09-05 | Communication control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008228205A JP5051657B2 (en) | 2008-09-05 | 2008-09-05 | Communication control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010062981A JP2010062981A (en) | 2010-03-18 |
JP5051657B2 true JP5051657B2 (en) | 2012-10-17 |
Family
ID=42189270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008228205A Active JP5051657B2 (en) | 2008-09-05 | 2008-09-05 | Communication control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5051657B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0318949A (en) * | 1989-06-16 | 1991-01-28 | Nec Eng Ltd | Communication controller |
JP2791236B2 (en) * | 1991-07-25 | 1998-08-27 | 三菱電機株式会社 | Protocol parallel processing unit |
JP3435736B2 (en) * | 1992-06-30 | 2003-08-11 | 株式会社日立製作所 | Communication control device |
JPH07250124A (en) * | 1994-03-10 | 1995-09-26 | Matsushita Electric Ind Co Ltd | Managing method for communication data buffer |
JP2000224195A (en) * | 1999-02-04 | 2000-08-11 | Matsushita Electric Ind Co Ltd | Data transmitter |
JP2001127792A (en) * | 1999-10-22 | 2001-05-11 | Wittei:Kk | Network communication by successive processing |
JP3434776B2 (en) * | 2000-04-14 | 2003-08-11 | 日本電気株式会社 | Frame conversion method and apparatus |
JP2006148232A (en) * | 2004-11-16 | 2006-06-08 | Seiko Epson Corp | Integrated circuit device, communication controller, microcomputer, and electronic apparatus |
-
2008
- 2008-09-05 JP JP2008228205A patent/JP5051657B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010062981A (en) | 2010-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW384428B (en) | Method and apparatus for dynamically managing communications buffers used with packet communication data for a printer | |
JP4612094B2 (en) | Gateway for automatic routing of messages between buses | |
JP5231400B2 (en) | Multiprocessor gateway | |
JP4232603B2 (en) | Communication system, control device, CAN bus connection node, CAN bus communication method, and program | |
JPH11143655A (en) | Printing system, printing method and printer | |
KR102657333B1 (en) | Ethernet controller for vehicle, ethernet network including the same and method of communication between can communicationi protocol and the same | |
JP6115482B2 (en) | Electronic control unit | |
CN107517167B (en) | Data transmission control method and device and SoC chip | |
JPH1013371A (en) | Data byte stream communication method and device therefor | |
JP5051657B2 (en) | Communication control device | |
US8040540B2 (en) | Communication information processing system | |
US8042111B2 (en) | Information processing system and computer readable recording medium storing an information processing program | |
CN105335217B (en) | A kind of server silence method and system | |
JP2007288748A (en) | Switching hub, router and virtual lan system | |
JP4372110B2 (en) | Data transfer circuit, multiprocessor system using the same, and data transfer method | |
US7853739B1 (en) | Method and system for transmitting USB communication | |
JP4458873B2 (en) | Serial data transfer method and apparatus | |
JP4033040B2 (en) | Data relay apparatus and multiplex communication system | |
JP2007027854A (en) | Communication network system | |
JP2529775B2 (en) | Transmission line selection method | |
JPH11284643A (en) | Bus interface device for transmission and bus interface device for reception | |
JP3452851B2 (en) | Communication protocol converter | |
JP4999668B2 (en) | In-vehicle relay connection unit | |
JPH11196097A (en) | Data communication control device and method therefor | |
JP2000259523A (en) | Data transfer device, lan communication system and data transfer method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120601 |
|
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: 20120626 |
|
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: 20120717 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5051657 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150803 Year of fee payment: 3 |