JP2001119427A - メッセージ通信方法とそのシステム - Google Patents

メッセージ通信方法とそのシステム

Info

Publication number
JP2001119427A
JP2001119427A JP29587999A JP29587999A JP2001119427A JP 2001119427 A JP2001119427 A JP 2001119427A JP 29587999 A JP29587999 A JP 29587999A JP 29587999 A JP29587999 A JP 29587999A JP 2001119427 A JP2001119427 A JP 2001119427A
Authority
JP
Japan
Prior art keywords
message
layer
transmission
length
tcp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP29587999A
Other languages
English (en)
Inventor
Hiroshi Kazami
浩 風見
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP29587999A priority Critical patent/JP2001119427A/ja
Publication of JP2001119427A publication Critical patent/JP2001119427A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 アプリケーション層に対して、TCPのメッ
セージの分割・癒着を意識しないで使用できるTCPを
使用したメッセージ通信方法及びシステムを提供するこ
とを課題とする。 【解決手段】 TCP(Transmission Control Protoco
l)を用いたメッセージ通信方法において、アプリケーシ
ョン層からのメッセージの全メッセージ長と該メッセー
ジのチェックサムとをメッセージ本体に追加してメッセ
ージ送受信処理層を形成し、前記メッセージ送受信処理
層にTCP層及びIP層、データリンク層、物理層の各
層の処理を実行し、前記メッセージを分割して各層のヘ
ッダを付加して送出することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、TCP(Transmiss
ion Control Protocol)を用いたメッセージ通信方法に
関し、主にデータをパケット形式に分割しても宛先のノ
ードやコンピュータで正確にそのデータをリアルタイム
に受信できるメッセージ通信方法及びそのメッセージ通
信方法を用いたメッセージ通信システムに関する。
【0002】
【従来の技術】インターネット上でメッセージ送受信を
行うためのトランスポート層プロトコルとして、TCP
(Transmission Control Protocol)がある。通常、ネッ
トワーク・プロトコルとして、OSI(Open System In
terconnection:開放型システム間結合)参照モデルが用
いられ、OSI参照モデルの7階層のレイヤーによって
コンピュータ間の送受信を行うように推奨されている。
一方、インターネットでは、1983年のIAB(Inte
rnet Architecture BOARD)の設立から順次RFC(Req
uest For Comment)を発行し、順次標準化され、最近で
はIP(Internet Protocol)のアドレス枯渇を解決す
るためIPバージョンv4からIPv6へと移行してい
る。
【0003】世にいうインターネットでは、TCP/I
Pの構成として、OSI参照モデルの7階層中、上位3
層をアプリケーション層とし、トランスポート層又はサ
ービス層をTCPとし、ネットワーク層又はルーティン
グ層をIPとし、データリンク層と物理層をネットワー
クアクセス層又は物理層として構成している。
【0004】TCPは、上位層に位置するアプリケーシ
ョンからデータを受け取ると、このデータにTCPヘッ
ダを付加してIPに渡し、通信を行う相手コンピュータ
にこのデータを送信する。TCPヘッダには、パケット
の順番を表すシーケンス番号や受信確認番号という情報
をセットし、この情報をもとにデータの到達確認を行
う。
【0005】TCPヘッダは、送信元ポート番号、宛先
ポート番号、データを送る度にデータのオクテッド数が
加算されてデータの位置を表すシーケンス番号、受信し
たいデータの位置を表す受信側のコンピュータがセット
する受信確認番号、データが始まる位置を表す情報のデ
ータオフセット、予約、データの制御情報が入るコント
ロールフラグ、受信可能なデータのサイズを表す情報の
ウインドウ、TCPヘッダとデータが正しく届いている
かどうかを確認するチェックサム、緊急を要するデータ
の位置を表す緊急ポインタ、TCPによる機能や性能を
向上させるためのオプション、TCPヘッダの長さの余
った部分にダミーデータを入れるパディング、トランザ
クション層の上位の階層に位置するアプリケーションか
ら受け取ったデータが入るデータ部、という構造でフォ
ーマットされている。
【0006】一方、IPの役割として、指定されたIP
アドレスの相手コンピュータにデータを正しく届けるこ
とであり、データをパケット単位に分割した上位層であ
るTCPからデータを受け取ると、各パケットにIPヘ
ッダを付加して下位層のネットワークアクセス層に渡し
て送信する。
【0007】このIPヘッダには、IPv4によると、
IPバージョンを表すバージョン、IPヘッダ自身の長
さを表すヘッダ長、IPのサービス品質を表すサービス
タイプ、IPヘッダを含むパケット全体の長さを表すパ
ケット長、パケットに分割されたデータを復元する際の
識別情報を入れる識別子、パケットの分割に関する制御
情報を入れるフラグ、分割されたデータが分割される前
の元のデータのどの位置にあったかを示すフラグメント
オフセット、中継してもよいルータの数を示す生存時
間、TCP等のネットワーク層の上位の階層に位置する
プロトコルを識別するためのプロトコル、IPヘッダが
正しく届いているかどうかを確認するためのヘッダチェ
ックサム、パケットの送信元のIPアドレスを入れる送
信元IPアドレス、パケットの送信先のIPアドレスを
入れる宛先IPアドレス、通信テスト用等のオプショ
ン、ダミーデータを入れるパディング、TCP等の上位
層から受け取ったデータを入れるデータ部、とから順次
挿入するフォーマットから構成されている。
【0008】また、IPv6のIPヘッダには、実時間
データ転送にも用いられるフローラベル領域を有し、I
Pv4によるTCP上の送信元ポート番号と宛先ポート
番号を識別して転送するのに対して、フローラベルを用
いて実時間データ転送として識別して、同じフローラベ
ルのキューを優先的に転送するようになっている。
【0009】このIPアドレスを元に、伝送路ではルー
ティングテーブル等を用いてルーティングされ、宛先の
IPアドレスを有するノードにパケットデータを届け
る。
【0010】転送制御プロトコルTCPはデータを送信
した順序の通りに、受信側ノードに到着することを保証
し、データの再送により紛失を防止している。そのた
め、順序入れ換わりや紛失が大きな問題となるメッセー
ジ通信に、使用するプロトコルの機能としては、適切な
機能を持っている。
【0011】
【発明が解決しようとする課題】しかしながら、TCP
は下位層へのデータ送信タイミングをTCP層内でのア
ルゴリズムにより行っている。図4のようにメッセージ
送受信処理部を置かずにノードA41からノードB46
へメッセージの送信を行う場合、アプリケーション処理
部42から引き渡されたメッセージ43は、TCP層処
理としてメッセージ43をパケット43−1,43−
2,43−3に分割し、TCP層以下処理部44におい
て、バッファリングされ、TCP層のネットワークの輻
輳を回避することを意図したアルゴリズムにより、メッ
セージの境界と異なる部分で分割される場合があり、こ
れがメッセージ45−1,45−2,45−3のような
メッセージの分割や前後のメッセージとの癒着を起こす
ことがある。
【0012】該アルゴリズムは、RFC1122 4.
2.2.6項において、Maximum Segment Size Option:
RFC 793 Section 3.1として規定されており、インター
ネット上のノードにおいては、TCPで最大セグメント
サイズを送信・実装すべきであることが明記されてい
る。前記規定によれば、TCP層からメッセージを送出
する際、IP層でのパケット分割が行われないようなサ
イズに、TCP層にてメッセージ送出サイズの調節を行
っている。メッセージがTCP層から送出するサイズよ
りも大きい場合は、メッセージのうち該サイズだけを処
理しIP層に渡すため、メッセージ45−1と45−2
に示されるようなメッセージの分割が起きる。また、残
された部分はバッファリングされ、後続するメッセージ
と癒着して次送出契機に同時に送信されることが起こる
ため、メッセージ45−2と45−3に示されるよう
な、メッセージの癒着が起きる。
【0013】通常のイーメール等のデジタルデータの通
信においては、ノードAからノードBに送信する場合、
伝送路中でパケット形式に分割して伝送するが、そのパ
ケットデータ中に一連のパケットをそれぞれ関連付けて
送信し、ノードBの記憶手段や、又はイーメールサーバ
のハードディスク等に、格納して一括してそのイーメー
ルデータを溜め込み、揃った状態でイーメールデータと
して宛先のIPアドレスに届けるので、イーメールの癒
着や一部の欠如という事態は発生しない。
【0014】しかし、リアルタイムに宛先にメッセージ
を送出するというメッセージ通信のため、それらのメッ
セージをノードBのTCP層以下処理部49において処
理し、メッセージの境界を復元しない形で、メッセージ
48−1,48−2,48−3をアプリケーション処理
部47に引き渡すと、アプリケーションは送信側が意図
して送ったメッセージとは異なるメッセージとして受信
してしまうこととなる。
【0015】また、現行のインターネットでも、実時間
データ転送について、RFC1819,RFC188
9,RFC1890,RFC2205,RFC2326
などで実時間通信用プロトコルが規定されており、IP
v4,IPv6でも、専用伝送路を用いたり、伝送路を
予め予約してデータ転送時にはその伝送路を専有した
り、優先度をIPv6のヘッダに格納して優先的な伝送
路を確保して、アプリケーション等のデータを実時間で
転送することが実行されている。
【0016】しかし、パケット伝送のために、TCP層
でアプリケーション層からのリアルタイム伝送としてデ
ータを受けて分割する際、上記のメッセージの境界と異
なる部分で分割されたり、この分割が所定のメッセージ
の分割や前後のメッセージとの癒着を起こすことが有る
ことについては対処されていないのが現実である。
【0017】本発明は、アプリケーション層に対して、
TCPのメッセージの分割・癒着を意識しないで使用で
きる、TCPを使用したメッセージ通信方法を提供する
ことを目的とする。
【0018】
【課題を解決するための手段】本発明は、TCP(Trans
mission Control Protocol)を用いたメッセージ通信方
法において、アプリケーション層からのメッセージの全
メッセージ長と該メッセージのチェックサムとをメッセ
ージ本体に追加してメッセージ送受信処理層を形成し、
前記メッセージ送受信処理層にTCP層及びIP層、デ
ータリンク層、物理層の各層の処理を実行し、前記メッ
セージを分割して各層のヘッダを付加して送出すること
を特徴とする。
【0019】また、本メッセージ通信方法において、受
信側で、前記物理層、データリンク層、IP層、TCP
層の各処理を実行後、分割された前記メッセージに付加
された各ヘッダ部から前記全メッセージ長と受信済メッ
セージ長と、前記全メッセージ長に相当するメッセージ
を格納する一時記憶領域部を受信状態テーブルに格納
し、前記受信済メッセージ長の値と前記全メッセージ長
とを比較して前記全メッセージ長分を受信したならば、
前記一時記憶領域部のメッセージを組み立て、前記チェ
ックサムを計算して、前記アプリケーション層に前記全
メッセージを送出することを特徴とする。
【0020】また、本発明は、TCP(Transmission Co
ntrol Protocol)を用いたメッセージ通信システムにお
いて、送信側は、送信メッセージを作成するアプリケー
ション処理部と、前記アプリケーション処理部からの前
記送信メッセージの全メッセージ長と該送信メッセージ
のチェックサムとを送信メッセージ本体に追加してメッ
セージ送受信処理層を形成するメッセージ送受信処理部
と、前記メッセージ送受信処理層に対してTCP層及び
IP層、データリンク層、物理層の各層の処理を実行す
るTCP層以下処理部とを有し、前記TCP層以下処理
部にて前記メッセージ送受信処理層からの送信メッセー
ジをパケットに分割して前記各層で必要なヘッダを付加
して送信パケットとして送出し、受信側は、前記送信パ
ケットを受信・処理するTCP層以下処理部と、該TC
P層以下処理部から前記送信パケットから受信した前記
全メッセージ長と受信済メッセージ長と前記全メッセー
ジ長の一部を確保する一時記憶領域とを備えた受信状態
テーブルと、前記全メッセージを上層のアプリケーショ
ン層を処理するアプリケーション処理部とを備えたこと
を特徴とする。
【0021】かかる特徴により、本発明は、インターネ
ットに接続されたノード上に実装されたアプリケーショ
ンが、インターネットにおいて使用されているプロトコ
ルTCP(Transmission Control Protocol)を用いてメ
ッセージ通信を行う際に、TCPの送信制御によるメッ
セージの分割や癒着を意識することなく通信することが
できる方法を提供するものである。
【0022】また、本発明は、図1を参照して説明すれ
ば、本発明の原理図を、図2は本発明にて使用するプロ
トコルスタック、図3に本発明にて使用するメッセージ
の形式、図4に本発明を使用しない場合の問題点を示し
た図を示す。図1におけるノードB120はノードA1
10と同じ構成を取るものとする。
【0023】ノードA110のアプリケーション処理部
111がノードB120のアプリケーション処理部12
1へメッセージを送信する場合、アプリケーション処理
部111からメッセージ送受信処理部112に渡された
メッセージ本体は、メッセージ長30とチェックサム3
1を計算し、図3の形式に編集されてからTCP層以下
処理部113に渡され、以下プロトコルスタック下位層
の処理を経て受信側ノードB120へ送信される。この
際TCP層22のメッセージ送信性能の最適化処理によ
って、図4のようにメッセージの分割や癒着が起こるこ
とがある。受信側ノードB120において受信されたメ
ッセージは、TCP層以下処理部123にて処理し、保
持される。また、TCP層以下処理部123はメッセー
ジ受信と同時にメッセージ送受信処理部122にメッセ
ージ受信を通知する。メッセージ送受信処理部122で
は、送信側においてメッセージに添付されたメッセージ
長30を取り出し、メッセージ長30のメッセージを保
存するに十分な一時(記憶)領域128を確保し、メッ
セージ長30の長さだけの受信メッセージを一時記憶領
域128に取り出すようにTCP層以下処理部に要求す
る。
【0024】要求に対して、実際に受信したメッセージ
がメッセージ長30と同じである場合は、チェックサム
の計算の後、メッセージ本体部43のみをアプリケーシ
ョン処理部121へ引き渡す。
【0025】要求に対して実際に受信したメッセージの
長さがメッセージ長30に満たない場合は、ノードA1
10のTCP層以下処理部113にてメッセージが分割
されたものとみなし、受信状態テーブル124のメッセ
ージ長125、受信済メッセージ長126、一時(記
憶)領域アドレス127にそれぞれメッセージ長30、
実際に受信したメッセージの長さ、一時記憶領域128
のアドレスを保存する。後続するメッセージの受信がT
CP層以下処理部123から通知されると、前回までに
受信したメッセージと連結するように一時記憶領域12
8へメッセージを受信する。不足しているメッセージ長
をメッセージ長125と受信済メッセージ長126から
計算して、不足しているメッセージ長と実際に受信した
メッセージの長さを比較し、未だ不足している場合は今
回実際に受信したメッセージの長さを受信済メッセージ
長126に加算する。メッセージを構成するすべての分
割されたメッセージを受信した時点でアプリケーション
処理部121に受信メッセージを渡す。
【0026】このようにして、ノード上に実装されたア
プリケーションにおいて、TCPによるメッセージ分割
・癒着を考慮する必要のないメッセージ通信を可能にす
る。
【0027】
【発明の実施の形態】本発明による実施形態について、
図面を参照しつつ詳細に説明する。
【0028】[第1の実施形態](1)構成の説明 図1を参照すると、本発明のメッセージ通信方法の第1
の実施形態は、プログラム制御により動作する。2つの
ノードA110,ノードB120とそれらのノードを相
互に接続するネットワーク119から構成されている。
なお、ネットワーク119には、ノードA110,ノー
ドB120ばかりでなく、多数のノードやメッセージサ
ーバ、ルータ、ターミナルアダプター等が接続されてい
るが、本図からは省略している。
【0029】また、このノードA110,ノードB12
0は、単独でルータや、ターミナルアダプタに内蔵され
たり、デスクトップ型やノート型のパソコンに搭載され
たりしているものとする。
【0030】ノードA110はそれぞれ、アプリケーシ
ョン処理部111と、メッセージ送受信処理部112
と、TCP層以下処理部113と、受信状態テーブル1
14と、一時記憶領域118とを含む。ノードB120
も同等の構成を持っているものとする。
【0031】これらの各部は、それぞれ概略次のように
動作する。
【0032】アプリケーション処理部111は、他のノ
ードとのメッセージ通信に基づき特定の機能を実現す
る。メッセージ送信時はアプリケーション処理部111
内で編集したメッセージをメッセージ送受信処理部11
2へ引き渡す。また、メッセージ送受信部112からの
通知を契機にメッセージ送受信処理部112からメッセ
ージを受け取る。他のノードとのTCPによる通信路の
設定・切断はTCP層以下処理部113に直接要求す
る。
【0033】メッセージ送受信処理部112は、アプリ
ケーション処理部111から渡されたメッセージからメ
ッセージ長とチェックサムを計算し、図3の形式のデー
タに編集した後、TCP層以下処理部113へ引き渡
す。また、TCP層以下処理部113からの通知を契機
に、TCP層以下処理部113からのデータの受信を行
ない、アプリケーション処理部111へそのデータを通
知する。
【0034】TCP層以下処理部113は、図2に示す
階層に基いて、RFC793で規定されているTCP層
22、RFC791で規定されているIP層23、及び
データリンク層24と、物理層25とによるデータ送受
信処理を行なう。
【0035】なお、図2に示すデータ構造中、TCP層
以下処理部113によりTCP層22、IP層23、デ
ータリンク層24、物理層25の各プロトコル処理する
が、メッセージ送受信処理部112によって、TCP層
22内の一部のメッセージ送受信処理層21の処理を実
行する。
【0036】受信状態テーブル114は、メッセージ長
フィールド115、受信済メッセージ長フィールド11
6、一時記憶領域アドレスフィールド117の3つに分
かれており、それぞれメッセージの長さ、分割して送ら
れてきたメッセージのうちの受信済メッセージ長、メッ
セージを受信するためのメモリ領域のアドレスを保持す
る。この受信状態テーブル114は、メッセージを他の
ノードから受信する場合に動作し、メッセージそのもの
を記憶しないので、少量の記憶容量でよいというメリッ
トがある。
【0037】一時記憶領域118は、他のノードからメ
ッセージを受信した場合に動作し、TCP層以下処理部
からメッセージを受信した際、メッセージを一時的に格
納する記憶領域である。分割されたメッセージを受信し
た場合は、ここでメッセージの組立を行う。
【0038】ノードB120の構成は、ノードAと同様
であり、各部の詳細については、ノードA110と対応
する部位と同等である。
【0039】ネットワーク119は、ノードA110と
ノードB120の間をIP(Internet Protocol)によっ
て接続するネットワークである。パケット形式による伝
送であり、パケット毎に異なる伝送路を通過することも
あるし、全メッセージの全パケットが同一伝送路を伝送
される場合もある。ネットワーク119には、例えばA
TM(Asynchronous Transfer Mode)やSDH(Synchr
onous Digital Hierarchy)、ISDN(Integrated Se
rvices Digital Network)、公衆回線等、更に、LAN
(Local Area Network),WAN(Wide Area Networ
k),WLL(Wireless Local Loop)、微弱電波を使っ
たBluetoothシステムなど、有線回線や無線回線等、い
ずれのネットワークであっても、TCP/IPによるイ
ンターネットに限定されず、広く用いることができる。
【0040】(2)動作の説明 本実施形態の動作を説明する前に、TCP上のアプリケ
ーションについて説明する。TCP上で動作するアプリ
ケーションには、代表的には、サーバを複数のユーザで
共有できるTelnet、ネットワークを通じて他のネットワ
ークに接続するRlogin(Remote Login)、2つのコンピ
ュータ間でファイルの送受信を行えるFTP(File Tra
nsfer Protocol)、電子メールの送受信を行うE-Mail、
ホームページと呼ばれるページに大学の案内や企業の新
商品情報などを掲載して情報提供するWWW(World Wi
de Web)などのアプリケーションがある。このアプリケ
ーションのデータやプログラムをアプリケーション層と
してアプリケーション処理部111で作成して、メッセ
ージ送受信処理部112に送出する。
【0041】また、TCPの主な機能は、データをパケ
ット単位に分割し、各パケットにTCPヘッダ情報を付
加し、このパケットが末端の宛先コンピュータに届いた
かどうかを管理することである。また、IPは、主な機
能として、このパケットにIPアドレスの情報が入って
いるIPヘッダを付加してデータを送出することであ
る。
【0042】つぎに、図1の構成図、および図5、図6
〜図8のフローチャートを参照して、本実施形態におけ
る動作について説明する。ノードA110からノードB
120へのメッセージ送信手順を通して、メッセージ送
受信処理部112,122が動作する。なお、TCPに
よるノード間の通信路の設立は、アプリケーション処理
部111よりTCP層以下処理部113への要求にて各
プロトコルに応じて行なわれているものとする。
【0043】送信処理について、ノードA110におい
て、メッセージ送受信処理部112は、アプリケーショ
ン処理部111から送信先方路情報とメッセージを受け
取る(図5の51)と、メッセージを、図3の形式に編
集する(52)。
【0044】その際、受け取ったメッセージのメッセー
ジ長の計算(53)と、編集されたメッセージのチェッ
クサムの計算(同54)を行う。メッセージ長30には
メッセージ長フィールド・チェックサムフィールド・メ
ッセージ本体フィールドのそれぞれの長さを加えたもの
を設定する。編集されたメッセージのチェックサムの計
算は、RFC1071に基づいて行なう。上記をTCP
層以下処理部113へ方路情報とともに引き渡す。
【0045】つぎに、受信処理について、ノードB12
0において、メッセージ送受信処理部122は、TCP
層以下処理部123からノードA110からのメッセー
ジ受信を検出すると(図6の601)、現在ノードA1
10からは分割されたメッセージを受信している途中で
あるかどうかを、受信状態テーブル124の受信済メッ
セージ長126の値から、正値の場合は分割されたメッ
セージ受信中、それ以外の場合は分割メッセージ受信中
ではないと判定する(同602)。分割されたメッセー
ジを受信している途中ではない場合、図3のメッセージ
長30部分がTCP層以下処理部123にてバッファリ
ングされている。
【0046】ここで、受信メッセージの先頭である場
合、TCP層以下処理部123にバッファリングされて
いるメッセージのメッセージ長部分を読んで、メッセー
ジ長を得る(同603)。この際、メッセージ長の部分
はTCP以下処理層123から取り出さない。その後、
得たメッセージ長分だけの一時記憶領域128を準備
(同604)した後、一時記憶領域128にメッセージ
を受信する要求をTCP層以下処理部123へ送る(同
605)。
【0047】ここで、受信したメッセージはノードA1
10でのTCPによる送信制御によって分割されている
可能性があるため、一時記憶領域128に実際に受信さ
れるメッセージの長さは、必ずしも図5の53にて得た
メッセージ長の長さだけ渡されるとは限らない。そこで
図5の53にて得たメッセージ長と実際にTCP層以下
処理部123から受信したメッセージの長さと比較する
(同606)。
【0048】実際にTCP層以下処理部123から受信
したメッセージの長さのほうが短かった場合、メッセー
ジ長と今回受信したメッセージの長さを受信状態テーブ
ル124のメッセージ長フィールド125と受信済メッ
セージ長フィールド16に保持し(同613)、再度T
CP層以下処理部123からのメッセージ受信の検出を
待つ。
【0049】受信したメッセージの長さとメッセージ長
フィールドの長さが同じだった場合、TCP層の処理に
よってメッセージの順番の入れ替わりはあり得ないた
め、ノードA110のアプリケーションにて送信された
メッセージは分割されることなく送信されてきたという
ことになる。メッセージのチェックサムを計算した後
(同608)、アプリケーション処理部121へ受信メ
ッセージを引き渡す(610)。引き渡した後、一時記
憶領域128を解放し、受信状態テーブル124を初期
化する。
【0050】チェックサム計算がエラーであった場合、
図8のステップ613でのメッセージ長取得に失敗して
いると考えられるため、ノードA110とのTCP接続
を切断する(611)。切断後の処理はアプリケーショ
ン処理に依存するため、例えば、ファイル又はデータの
送信に失敗した旨をノードA110のアプリケーション
処理部111に通知し、その通知を不図示の表示装置に
表示する。
【0051】図6のステップ602において、分割され
たメッセージを受信している途中である場合、受信状態
テーブル124のメッセージ長125と受信済メッセー
ジ長126から不足しているメッセージ長を算出し(図
7の614)、不足しているメッセージ長だけ一時記憶
領域にメッセージを受信する要求をTCP層以下処理部
123に送る(同615)。受信したメッセージは既に
受信されている一時記憶領域128の受信済メッセージ
と連結するように保存する。
【0052】不足しているメッセージ長と今回受信した
メッセージ長を比較し(同616)、分割されたメッセ
ージの残り全ての部分を受信した場合、アプリケーショ
ン処理部121へ受信メッセージを引き渡す。
【0053】引き渡した後、一時記憶領域128を開放
し、受信状態テーブル124のメッセージ長フィールド
125,受信済メッセージ長126、一時記憶領域アド
レス127を”0”に設定する。
【0054】未受信のデータがまだある場合は、受信状
態テーブルの受信済メッセージ長フィールドの値に今回
受信したメッセージ長を加算し(図7の618)、再度
TCP層以下処理部123からのメッセージ受信の検出
を待つ。
【0055】上記実施形態においてはノードが1対1の
場合について例示したが、受信状態テーブルをノード数
nに拡張し、一時記憶領域もノード数nだけ確保するこ
とにより、n個のノードに対してのTCPを使用したメ
ッセージ通信についても同様にメッセージの分割・癒着
に対応することが可能となる。
【0056】[第2の実施形態]上記第1の実施形態に
おいては、アプリケーション処理部111からメッセー
ジ送信を行う際、アプリケーション処理部111からメ
ッセージ送受信処理部112へメッセージと方路情報を
通知し、メッセージ送受信処理部112にてメッセージ
を図3の形式に編集しているが、図1の構成上、メッセ
ージをアプリケーション処理部111にて図3の形式に
編集し、方路情報と共にTCP以下処理部113へ直接
引き渡す方法もある。この場合、メッセージ送受信処理
部112への通知を行う必要がないため、その分だけ処
理が速くなる効果が期待できる。
【0057】即ち、送信処理の場合、アプリケーション
処理部111で図3に示すメッセージのメッセージ長及
びチェックサムを計算して、TCP層に引き渡す。ま
た、受信処理の場合、送信元のアプリケーション処理部
111で形成された図3の構成によるメッーセージをア
プリケーション処理部112で受信し、アプリケーショ
ン処理部112は、受信状態テーブルを管理しつつ、上
述した図6乃至図8に示すフローチャートに従ってメッ
セージ受信を実行する。
【0058】
【発明の効果】本発明のメッセージ通信方法及びメッセ
ージ通信システムを使用することにより、リアルタイム
のメッセージ通信の場合、アプリケーションに対して、
順序入れ換わりや紛失を意識する必要がないというTC
Pの特性を生かしつつ、TCPをメッセージ通信に使用
する際の問題点であったメッセージの分割・癒着を意識
させないメッセージ通信インタフェースを提供すること
ができ、開発工数を削減することができる。
【図面の簡単な説明】
【図1】本発明のメッセージ通信システムのシステム構
成図である。
【図2】本発明に用いるOSI参照モデルに対応するレ
イヤの構成図である。
【図3】本発明に用いる全メッセージ本体に付加するデ
ータ構造の説明図である。
【図4】本発明の説明と従来例のパケット伝送を説明す
る説明図である。
【図5】本発明の送信側のノードの動作を示すフローチ
ャートである。
【図6】本発明の受信側のノードの動作を示すフローチ
ャートである。
【図7】本発明の受信側のノードの動作を示すフローチ
ャートである。
【図8】本発明の受信側のノードの動作を示すフローチ
ャートである。
【符号の説明】
110,120 ノード 111,121 アプリケーション処理部 112,122 メッセージ送受信処理部 113,123 TCP層以下処理部 114,124 受信状態テーブル 115,125 メッセージ長 116,126 受信済メッセージ長 117,127 一時(記憶)領域アドレス 118,128 一時(記憶)領域 119 ネットワーク

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 TCP(Transmission Control Protoco
    l)を用いたメッセージ通信方法において、アプリケーシ
    ョン層からのメッセージの全メッセージ長と該メッセー
    ジのチェックサムとをメッセージ本体に追加してメッセ
    ージ送受信処理層を形成し、前記メッセージ送受信処理
    層にTCP層及びIP層、データリンク層、物理層の各
    層の処理を実行し、前記メッセージを分割して前記各層
    のヘッダを付加して送出することを特徴とするメッセー
    ジ通信方法。
  2. 【請求項2】 請求項1に記載のメッセージ通信方法に
    おいて、受信側で、前記物理層、前記データリンク層、
    前記IP層及び、前記TCP層の各処理を実行後、分割
    された前記メッセージに付加された各ヘッダ部から前記
    全メッセージ長と受信済メッセージ長と、前記全メッセ
    ージ長に相当するメッセージを格納する一時記憶領域部
    を受信状態テーブルに格納し、前記受信済メッセージ長
    の値と前記全メッセージ長とを比較して前記全メッセー
    ジ長分を受信したならば、前記一時記憶領域部のメッセ
    ージを組み立て、前記チェックサムを計算して、前記ア
    プリケーション層に前記全メッセージを送出することを
    特徴とするメッセージ通信方法。
  3. 【請求項3】 請求項2に記載のメッセージ通信方法に
    おいて、前記受信済メッセージ長の値と前記全メッセー
    ジ長とを比較して前記全メッセージ長分を受信していな
    い場合は、前記TCP層の各処理の実行を前記受信済メ
    ッセージ長の値と前記全メッセージ長とが一致するまで
    待ち、前記受信済メッセージ長の値と前記全メッセージ
    長とを比較して同じであれば、前記TCP層等の処理に
    よってメッセージの順番の入れ替わりが無くて前記全メ
    ッセージを分割のないメッセージと判断し、前記全メッ
    セージのチェックサムを計算し、前記アプリケーション
    層に前記全メッセージを送出することを特徴とするメッ
    セージ通信方法。
  4. 【請求項4】 請求項2に記載のメッセージ通信方法に
    おいて、前記受信済メッセージ長の値と前記全メッセー
    ジ長とを比較して前記全メッセージ長分を受信せず受信
    している途中の場合は、不足しているメッセージ長だけ
    前記記憶領域部に追加確保し、前記TCP層の各処理に
    前記不足しているメッセージ長を通知し、前記不足して
    いるメッセージ長と前記TCP層の各処理から受信した
    メッセージ長とを比較し、前記分割されたメッセージの
    残り全ての部分を受信した場合、前記一時記憶領域部を
    連結して、前記全メッセージを分割のないメッセージと
    して、前記全メッセージのチェックサムを計算し、前記
    アプリケーション層に前記全メッセージを引き渡すこと
    を特徴とするメッセージ通信方法。
  5. 【請求項5】 TCP(Transmission Control Protoco
    l)を用いて送信側と受信側に組み分けるメッセージ通信
    システムにおいて、 送信側は、送信メッセージを作成するアプリケーション
    処理部と、前記アプリケーション処理部からの前記送信
    メッセージの全メッセージ長と該送信メッセージのチェ
    ックサムとを送信メッセージ本体に追加してメッセージ
    送受信処理層を形成するメッセージ送受信処理部と、前
    記メッセージ送受信処理層に対してTCP層及びIP
    層、データリンク層、物理層の各層の処理を実行するT
    CP層以下処理部とを有し、前記TCP層以下処理部に
    て前記メッセージ送受信処理層からの送信メッセージを
    パケットに分割して前記各層で必要なヘッダを付加して
    送信パケットとして送出し、 受信側は、前記送信パケットを受信・処理するTCP層
    以下処理部と、該TCP層以下処理部から前記送信パケ
    ットから受信した前記全メッセージ長と受信済メッセー
    ジ長と前記全メッセージ長の一部を確保する一時記憶領
    域とを備えた受信状態テーブルと、前記全メッセージを
    上層のアプリケーション層を処理するアプリケーション
    処理部とを備えたことを特徴とするメッセージ通信シス
    テム。
  6. 【請求項6】 請求項5に記載のメッセージ通信システ
    ムにおいて、前記アプリケーション処理部に前記メッセ
    ージ送受信処理部を含み、前記送信メッセージを作成
    し、前記送信メッセージの全メッセージ長と該送信メッ
    セージのチェックサムとを送信メッセージ本体に追加し
    て前記TCP層以下処理部に送出することを特徴とする
    メッセージ通信システム。
JP29587999A 1999-10-18 1999-10-18 メッセージ通信方法とそのシステム Pending JP2001119427A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29587999A JP2001119427A (ja) 1999-10-18 1999-10-18 メッセージ通信方法とそのシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29587999A JP2001119427A (ja) 1999-10-18 1999-10-18 メッセージ通信方法とそのシステム

Publications (1)

Publication Number Publication Date
JP2001119427A true JP2001119427A (ja) 2001-04-27

Family

ID=17826368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29587999A Pending JP2001119427A (ja) 1999-10-18 1999-10-18 メッセージ通信方法とそのシステム

Country Status (1)

Country Link
JP (1) JP2001119427A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065662A1 (fr) * 2002-01-30 2003-08-07 Pfu Limited Dispositif, procede et systeme de communication par diffusion, programme correspondant et support d'enregistrement de programme
JP2006074726A (ja) * 2004-08-03 2006-03-16 Fujitsu Ltd 断片パケット処理方法及びこれを用いるパケット転送装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003065662A1 (fr) * 2002-01-30 2003-08-07 Pfu Limited Dispositif, procede et systeme de communication par diffusion, programme correspondant et support d'enregistrement de programme
JP2006074726A (ja) * 2004-08-03 2006-03-16 Fujitsu Ltd 断片パケット処理方法及びこれを用いるパケット転送装置
JP4490331B2 (ja) * 2004-08-03 2010-06-23 富士通株式会社 断片パケット処理方法及びこれを用いるパケット転送装置

Similar Documents

Publication Publication Date Title
US7801135B2 (en) Transport protocol connection synchronization
Delgrossi et al. Internet stream protocol version 2 (ST2) protocol specification-version ST2+
JP3448481B2 (ja) 非対称回線用tcp通信高速化装置
US7003575B2 (en) Method for assisting load balancing in a server cluster by rerouting IP traffic, and a server cluster and a client, operating according to same
EP1303096A2 (en) Virtual network with adaptive dispatcher
JP3665622B2 (ja) ソースアドレス選択システム、ルータ装置、通信ノード及びソースアドレス選択方法
JPH10150470A (ja) ワールドワイドウェブの要求と応答における接続管理情報の転送方法
JPH11163854A (ja) データ通信方法
JP2004536494A (ja) 複製スイッチ上で取り扱われるストリームへのアクセス管理
US6515994B1 (en) Method of communication in a communications network and apparatus therefor
JP2003143250A (ja) 代理応答方法
US6947435B1 (en) Radio communication system and apparatus, communication method and program recording medium therefor
CN101567769A (zh) 数据重传方法、系统及对等节点
TWI323101B (en) Communication system and its terminal
US20060239263A1 (en) Method for the establishing of connections in a communication system
CN110771117B (zh) 一种采用面向id的网络的会话层通信
US6999409B2 (en) OSI tunnel routing method and the apparatus
CN109951388B (zh) 路由不间断方法和主控板
US7978598B1 (en) Connection replication
JP2001119427A (ja) メッセージ通信方法とそのシステム
JP2000261478A (ja) ゲートウェイ装置、送信方法、受信方法および情報記録媒体
US6865178B1 (en) Method and system for establishing SNA connection through data link switching access services over networking broadband services
Cisco Designing SDLC, SDLLC, and QLLC Internetworks
Cisco Designing SDLC, SDLLC, and QLLC Internetworks
Cisco Designing SDLC, SDLLC, and QLLC Internetworks