JP4709060B2 - COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM - Google Patents
COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM Download PDFInfo
- Publication number
- JP4709060B2 JP4709060B2 JP2006130577A JP2006130577A JP4709060B2 JP 4709060 B2 JP4709060 B2 JP 4709060B2 JP 2006130577 A JP2006130577 A JP 2006130577A JP 2006130577 A JP2006130577 A JP 2006130577A JP 4709060 B2 JP4709060 B2 JP 4709060B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- priority type
- udp
- arrival time
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本発明は、パケット化した画像や音声情報などのストリームデータをネットワークを介して通信する通信装置、通信装置の制御方法及びプログラムに関する。 The present invention relates to a communication apparatus that communicate via a network stream data such as packetized video and audio information, about the control method and program of the communication device.
インターネット・プロトコル(IP)を用いた通信方式では、一般的にRFC793で知られているTCP(Transmission Control Protocol)とRFC768で知られているUDP(User Datagram Protocol)という2つの通信プロトコルが用いられている(例えば特許文献1参照)。この通信プロトコルは、通常、IP層の上で使用され、IP層と密接に協調して動作するプロトコルであるので、TCP/IP、UDP/IPと呼称されることが一般的である。 In the communication system using the Internet protocol (IP), two communication protocols generally known as RFC (Transmission Control Protocol) known as RFC793 and UDP (User Datagram Protocol) known as RFC768 are used. (For example, refer to Patent Document 1). Since this communication protocol is usually used on the IP layer and operates in close cooperation with the IP layer, it is generally called TCP / IP or UDP / IP.
TCP/IPは、コネクション指向のプロトコルである。即ち、クライアントとサーバ間で接続を確立した後にデータ通信を行い、シーケンス番号に基づき伝送誤りが生じた場合に再送を行いながら通信するプロトコルである。したがって、エラーフリーで伝送することが可能である。一方、UDP/IPは、コネクションレスのプロトコルである。即ち、効率よくデータを転送することを目的とする場合に用いられ、再送手続きなどは定義されていない、オーバーヘッドの小さなプロトコルである。音声や画像などのマルチメディアデータをリアルタイムで伝送する場合はUDP/IPを用い、非リアルタイムで伝送する場合はエラーフリーであることが望ましいことからTCP/IPで伝送する場合が一般的である。
しかしながら、上記従来例に見られるデータ通信システムでは、TCP/IPとUDP/IP2つのプロトコルに関して同一のデータ内容を通信するために2倍の帯域が必要になる、という問題点があった。 However, the data communication system found in the above-mentioned conventional example has a problem that twice the bandwidth is required to communicate the same data contents with respect to the two protocols TCP / IP and UDP / IP.
即ち、例えば、ビデオデータをリアルタイムに監視しながら記録する際に、モニタ上のリアルタイム画像表示に関しては遅延を最小限にするUDP/IPを用いて伝送し、記録に残す情報に関してはエラーフリーが望ましいことからTCP/IPを用いて伝送するケースがある。このようなケースでは、それぞれの情報を別のコネクションで伝送するため、情報源の2倍の帯域が必要となっていた。 That is, for example, when recording while monitoring video data in real time, it is desirable to transmit using UDP / IP that minimizes delay for real-time image display on the monitor, and error-free for information to be recorded. For this reason, there is a case of transmission using TCP / IP. In such a case, since each piece of information is transmitted through a separate connection, twice the bandwidth of the information source is required.
本発明は上記従来の問題点に鑑み、異なる処理に用いられるデータを一度のパケットで送信することで効率的に伝送帯域を使用することを目的とする。また、データ到着時間を優先するデータを送信しつつ、データの再送も行えるようにすることを目的とする。 In view of the above-described conventional problems, an object of the present invention is to efficiently use a transmission band by transmitting data used for different processing in one packet. Another object of the present invention is to enable data retransmission while transmitting data that prioritizes data arrival time .
請求項1に係る通信装置は、データ到達時間優先型のプロトコルのヘッダをデータに付与したデータ到達時間優先型パケットを生成する第1の生成手段と、データ確度優先型のプロトコルのヘッダをデータに付与したデータ確度優先型パケットを生成する第2の生成手段と、前記データ確度優先型パケットに、前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを生成する第3の生成手段と、前記第3の生成手段により生成された前記カプセリングパケットを通信相手に送信する送信手段とを有し、前記送信手段は、前記送信手段が送信した前記カプセリングパケットに含まれるデータを再送する場合、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを別々に送信することを特徴とする。 The communication device according to claim 1 includes: a first generation unit configured to generate a data arrival time priority type packet in which a data arrival time priority type protocol header is added to data; and a data accuracy priority type protocol header as data. Second generation means for generating a given data accuracy priority type packet; and third generation means for generating a encapsulation packet in which a header of the data arrival time priority type protocol is added to the data accuracy priority type packet; A transmission unit that transmits the encapsulation packet generated by the third generation unit to a communication partner, and the transmission unit retransmits the data included in the encapsulation packet transmitted by the transmission unit, and transmitting the data arrival time-priority packet and the data accuracy-priority packets separately
請求項3に係る通信装置は、データ到達時間優先型のプロトコルのヘッダがデータに付与されたデータ到達時間優先型パケットに含まれるデータを処理する第1の処理手段と、データ確度優先型のプロトコルのヘッダがデータに付与されたデータ確度優先型パケットに含まれるデータを処理する第2の処理手段と、前記データ確度優先型パケットに前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを受信する受信手段と、前記受信手段が受信した前記カプセリングパケットに含まれるデータに基づいて、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを生成する生成手段とを有し、前記第1の処理手段は、前記生成手段により生成された前記データ到達時間優先型パケットに含まれるデータを処理し、前記第2の処理手段は、前記生成手段により生成された前記データ確度優先型パケットに含まれるデータを処理することを特徴とする。 A communication apparatus according to claim 3 includes: a first processing means for processing data included in a data arrival time priority type packet in which a header of a data arrival time priority type protocol is attached to data; and a data accuracy priority type protocol. Second processing means for processing data included in a data accuracy priority type packet in which the header of the data is attached to the data, and a encapsulation packet in which the header of the data arrival time priority type protocol is added to the data accuracy priority type packet. Receiving means for receiving, and generating means for generating the data arrival time priority packet and the data accuracy priority packet based on data included in the encapsulation packet received by the receiving means, 1 processing means is included in the data arrival time priority type packet generated by the generation means Processes over data, the second processing means, characterized in that processing the data contained in the data accuracy-priority packet generated by the generating means.
本発明によれば、一度、カプセリングパケットに含めて送信したデータを再送する場合には、データ到達時間優先型パケットと、確度優先型パケットとを別々に送信することで、データ到着時間を優先するデータを送信しつつ、データの再送も行うことができる。また、当データ確度を優先した処理と、データ到達時間を優先した処理の双方で用いられるデータを、一度のパケットで受信することで効率的に伝送帯域を使用することができる。 According to the present invention, when data transmitted once included in a capsuling packet is retransmitted, the data arrival time is prioritized by separately transmitting the data arrival time priority packet and the accuracy priority packet. Data can be retransmitted while transmitting data. In addition, the transmission band can be used efficiently by receiving data used in both the processing giving priority to the data accuracy and the processing giving priority to the data arrival time in one packet .
以下、本発明の実施の形態について、図面を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[第1の実施の形態]
<システム構成>
図1は、本発明の第1の実施の形態に係るデータ通信システムの構成例を示すブロック図である。
[First Embodiment]
<System configuration>
FIG. 1 is a block diagram showing a configuration example of a data communication system according to the first embodiment of the present invention.
このデータ通信システムは、受信装置であるステーションAと、送信装置であるステーションBとが、それぞれ伝送路113をメディアとするネットワークに接続されている。そして、これらのステーション間において、データ到達時間優先型のプロトコル(UDP/IP)とデータ確度優先型のプロトコル(TCP/IP)とを用いてストリームデータの通信が実行されるものとする。
In this data communication system, a station A as a receiving device and a station B as a transmitting device are connected to a network using the
ステーションAは、録画装置であるビデオレコーダ104とその録画アプリケーションである記録アプリケーション処理装置106と、受像装置であるモニタ103とその受像アプリケーション処理装置である表示アプリケーション処理装置105を含む。また、ステーションBは、撮像装置101とその撮像アプリケーション処理装置であるカメラアプリケーション処理装置102を含む。
Station A includes a
より詳しく説明すると、ステーションAにおいて、モニタ103はリアルタイムで通信相手の撮像装置101によって得られた画像情報(ストリームデータ)を表示する。さらに、ビデオレコーダ104は、通信相手の撮像装置の画像情報を記録する。ステーションBにおいて、撮像装置101は撮像素子を用いて撮像した画像をデジタル変換してアプリケーション処理装置に渡す。また、カメラアプリケーション処理装置102は、デジタル化した画像データに対して、ユーザーインタフェースを通じて、通信相手先の指定、撮像装置の制御及びトランスポート層の制御等を行う。
More specifically, in the station A, the
また、図1中の105はモニタ103及びUDP層の制御を行う表示アプリケーション処理装置である。106はビデオレコーダ104及びTCP層の制御を行う記録アプリケーション処理装置である。107AはUDP層の生成及び解析を行うUDPプロトコル装置であり、108AはTCP層の生成及び解析を行うTCPプロトコル装置である。109Aはプロトコル装置107A及び108Aの出力を受けてTCPパケットをUDPでカプセリングするUDP−TCPプロトコル装置である。110AはIP層の生成及び解析を行うIPプロトコル装置であり、111Aはイーサネット(登録商標)フレームを生成及び解析するMAC装置であり、112Aは物理層への変復調を行うPHY装置である。これら107A〜112Aの装置と同じ機能を有する装置107B〜112BがステーションB設けられている。
Also,
<システムの通信手順>
次に、上記構成のデータ通信システムの通信手順について、図2及び図3を参照して説明する。
<System communication procedure>
Next, a communication procedure of the data communication system configured as described above will be described with reference to FIGS.
図2は、図1の構成のステーションA,Bの通信手順を示すシーケンス図であり、図3は、本実施の形態に係る受信装置であるステーションAのパケットからなるストリームデータの受信処理を示すフローチャートである。 FIG. 2 is a sequence diagram showing a communication procedure of stations A and B configured as shown in FIG. 1, and FIG. 3 shows a reception process of stream data composed of packets of station A which is a receiving apparatus according to the present embodiment. It is a flowchart.
図2において、最初に、ステーションBにおいて、撮像装置101が撮像した画像情報(ストリームデータ)をステーションAへUDP/IPを用いて送信すべく、ポート番号及びIPアドレスなどの送信指示を撮像アプリケーション処理装置102に与える。この送信指示情報はステーションAから与えられるものとする。すると、撮像装置101が生成したストリームデータは、撮像アプリケーション処理装置102へ送られ、指示されたポート番号及びIPアドレスなどと共に前記生成した情報がUDPプロトコル装置107Bへ送られる(図2のS401)。
In FIG. 2, first, in the station B, in order to transmit image information (stream data) captured by the
送信時、UDPプロトコル装置107BにおいてはUDPヘッダの生成が行われる。撮像アプリケーション処理装置102からはUDPのポート番号が指定されているため、生成されたUDPパケットは続いてIPプロトコル装置110Bへ送られる。そして、IPヘッダが付与され、図4に示すようなフォーマットを持つUDP/IPのパケットが生成される。このとき、「Source IP Address」にはステーションAの「IP Address」が記され、「Destination IP Address」にはステーションBの「IP Address」が記されている。MAC装置111BにおいてさらにUDP/IPのパケットにEtherヘッダ(不図示)が付けられ、PHY装置112Bによる変調の後、伝送路113へ出力される。
During transmission, the
一方、ステーションAで受信されたストリームデータであるパケットは、PHY装置112A及びMAC装置111Aで、復調及びMAC層におけるEtherヘッダの除去が行われる。そして、IPプロトコル装置110Aは、IP層において「Destination IP Address」が自ステーションであることを確認する。さらに、IPプロトコル装置110Aは、IPヘッダのプロトコル・フィールドに書き込まれているプロトコル種別によりUDP以外のプロトコルが稼働しているかを判断する(図3のS701)。例えばTCPが稼動していればTCPプロトコル装置108AによってTCP層の処理が行われる(S707)。UDPが稼動していればUDPプロトコル装置107AによるUDP層の処理及びUDP−TCPプロトコル装置109AによるUDP−TCP層の処理が行われる。このとき、ステーションA宛のポート番号がUDPで定義されているUDPパケットであればUDPプロトコル装置A107がUDP層における処理を行う(S708)。一方、UDP−TCPで定義されているポート番号であればUDP−TCPプロトコル装置109AがUDP−TCP層における処理を行う(S703)。
On the other hand, a packet that is stream data received by the station A is demodulated and the Ether header is removed from the MAC layer by the
UDPプロトコル装置107Aは、パケットのUDPヘッダを除去し、表示アプリケーション装置105に、ヘッダが取り除かれたデータを送り込む。これによって、撮像装置101で生成したストリームデータがモニタ103へ送られる(S402)。一方、UDP−TCPのポートが指定されている場合は、UDP−TCPプロトコル装置109AによってUDPパケットとTCPパケットとの2つのパケットに分解される(S703)。そして、UDP−TCPプロトコル装置109AによってUDPパケットについてはUDPパケット長及びチェックサムが再調整されることでヘッダが再構築される(S704)。そして、UDP−TCPプロトコル装置109Aは、ペイロードを付与してUDPパケットとし(S705)、そのUDPパケットをUDPプロトコル装置107Aへ送る。さらに、UDP−TCPプロトコル装置109Aは、TCPヘッダとペイロードによりTCPパケットを再構築し(S706)、そのTCPパケットをTCPプロトコル装置108Aへ送る。
The
このように1つのUDP−TCPパケットが2つのポートに分解され、各プロトコル処理層へ送られ、各アプリケーションの処理が行われる。 In this way, one UDP-TCP packet is disassembled into two ports, sent to each protocol processing layer, and processing of each application is performed.
<各プロトコル処理におけるステーションA、Bの詳細な動作>
次に、TCP/IP、UDP/IP、UDP−TCP/IPの各プロトコル処理におけるステーションA、Bの詳細な動作について説明する。
<Detailed operation of stations A and B in each protocol processing>
Next, detailed operations of the stations A and B in each protocol processing of TCP / IP, UDP / IP, and UDP-TCP / IP will be described.
画像情報(ストリームデータ)がUDP/IPを用いてステーションBからAに転送されている状態で、TCPプロトコル装置108Bから接続要求が生じたとする(S403)。すると、ステーションA、B間でコネクションを確立するために、いわゆるスリーウェイハンドシェイクが行われる。スリーウェイハンドシェイクの手順は、次のようになる。
It is assumed that a connection request is generated from the
(1)S403:ステーションBからSYNフラグに“1”を立てたTCPパケット(以降、SYNパケット)を送出する。 (1) S403: A TCP packet (hereinafter referred to as a SYN packet) in which the SYN flag is set to “1” is transmitted from the station B.
(2)S404:ステーションAがSYNパケットを受信したことによる返答として、S405:ステーションBに対してSYNフラグとACKフラグを立てたTCPパケット(以降、SYN−ACKパケット)を送信する。 (2) S404: As a response when the station A receives the SYN packet, S405: transmits a TCP packet (hereinafter, SYN-ACK packet) with the SYN flag and the ACK flag set to the station B.
(3)S406、S407:SYN−ACKパケットの受信に対してステーションBからステーションAにACKフラグを立てたTCPパケット(以降ACKパケット)を送出する。 (3) S406 and S407: Upon reception of the SYN-ACK packet, a TCP packet (hereinafter referred to as an ACK packet) with an ACK flag set is sent from station B to station A.
以上のステップによりステーションA、B間のコネクションが確立される(S408)。TCPによるコネクションの確立はステーションA、Bの各アプリケーション処理装置にも通知されることにより、それまでUDP/IPのみで行っていた画像情報(ストリームデータ)の送信をTCP/IPにおいても開始される(S413)。 Through the above steps, the connection between the stations A and B is established (S408). The connection establishment by TCP is also notified to the application processing apparatuses of stations A and B, so that transmission of image information (stream data) that has been performed only by UDP / IP is also started by TCP / IP. (S413).
続いて、同一のストリームデータをTCP/IPとUDP/IPで送信する場合の動作を図5を参照して説明する。 Next, the operation when the same stream data is transmitted by TCP / IP and UDP / IP will be described with reference to FIG.
図5は、同一のストリームデータをTCP/IPとUDP/IPで送信する場合の動作を示す送信装置であるステーションBの動作処理フローチャートである。 FIG. 5 is an operation process flowchart of the station B, which is a transmission apparatus, showing an operation when the same stream data is transmitted by TCP / IP and UDP / IP.
先のS408においては、スリーウェイハンドシェイクが確立され、TCPにおけるコネクションが成立した状態となる。この状態で、カメラアプリケーション処理装置102がUDP/IP及びTCP/IPの送信をUDPプロトコル装置107BおよびTCPプロトコル装置108Bに要求したとする(S409)。すると、UDPプロトコル装置107B及びTCPプロトコル装置108Bで作成された各パケットは、ポート番号としてUDP−TCPを示すユニークな値が付与されて、UDP−TCPプロトコル装置109Bへ送られる。
In the previous S408, a three-way handshake is established and a TCP connection is established. In this state, it is assumed that the camera
S603、S605において、UDP−TCPプロトコル装置109Bは、TCPプロトコル装置108Bで生成されたパケットが最新且つ送信可能かどうかを判断する。TCPプロトコル装置108Bで生成されたパケットが最新且つ送信可能でなければ、UDPプロトコル装置で生成されたパケットをIPプロトコル装置110Bに出力し、UDP/IPで送信を行う(S604)。UDP−TCPプロトコル装置109Bを介して送信できなかったデータグラムは、TCP/IPでは送信できなかったので、そのデータはTCPプロトコル装置108Bが有するメモリに蓄積され、キューイングされる(S608)。そして、TCP/IPによるコネクションが送信可能になった時点で、キューイングされたデータの送信が行われる(S609)。
In S603 and S605, the UDP-
一方、S603,S605において、TCPプロトコル装置108Bで生成されたパケットが送信可能であると判断された場合、UDP−TCPプロトコル装置109Bは、当該パケットをUDP−TCPパケットとして再構築する。UDP−TCPパケットのフォーマットを図6に示す。図6に示すように、UDP−TCPのパケットはTCPパケットをUDPヘッダでカプセリングした構造となっている。UDPパケットとしては新たにデータグラムにTCPヘッダを内包したことになるので、UDP−TCPプロトコル装置109Bは、チェックサム及びUDPデータ長の再計算を行い、ヘッダを再構築する(S606)。そして、IPプロトコル装置110Bは、IPヘッダを付与してUDP−TCP/IPパケットを送出する(S607)。
On the other hand, when it is determined in S603 and S605 that the packet generated by the
このように伝送路113へ送出されたUDP−TCPパケットは、受信装置であるステーションAにおいてはIPヘッダの解析の結果ではUDPパケット若しくはUDP−TCPパケットであることしか認識されない状態である。そのため、IPヘッダを除いたパケットは、IPプロトコル装置110Aを介してUDP−TCPプロトコル装置109AとUDPプロトコル装置107Aへ送信される。UDP−TCPパケットは予め決められたポート番号を有しているため、UDPプロトコル装置107Aへ送られたUDP−TCPパケットは破棄される。
As described above, the UDP-TCP packet sent to the
UDP−TCPプロトコル装置109Aへ送られたUDP−TCPパケットはUDPヘッダとTCPヘッダのポート番号を解析し、UDP−TCPパケットであることを確認し、UDPパケットとTCPパケットを再構築する。TCPパケットの再構築において、UDP−TCPプロトコル装置109Aは、UDP−TCPパケットからUDPヘッダを取り除き、TCPパケットとした上でTCPプロトコル装置108Aへ送られる(図2のS411)。UDPパケットの再構築において、UDP−TCPプロトコル装置109Aは、TCPヘッダを取り除き、チェックサムとUDPデータ長を変更して新たなUDPヘッダを作成する。そして、UDPプロトコル装置107Aへ送られる(S410)。
The UDP-TCP packet sent to the UDP-
TCPプロトコル装置108Aは、受信確認のために送信装置であるステーションBへACKパケットを送出し、ステーションBはACKパケットの受信をもって一連の送信が終了する。以降、送信データが生じる都度、UDPパケットとTCPパケットをUDP−TCPパケットとして送信することで、データの送信帯域が半分となる。
The
次に、伝送誤りなどのために再送などの不具合における動作について、図7を参照して説明する。 Next, an operation in a problem such as retransmission due to a transmission error will be described with reference to FIG.
図7は、UDP−TCPパケットの再送が生じた場合のシーケンス図である。 FIG. 7 is a sequence diagram when a UDP-TCP packet is retransmitted.
まず、S901においてUDP−TCPパケットを送出し、そのTCPパケットに対するACKパケットも到着している。すなわち、問題なくストリームデータの送信が行われている状態である。次にUDP−TCPパケットがネットワーク上の問題によりステーションAに届く前に紛失したとする(S902)。 First, in step S901, a UDP-TCP packet is transmitted, and an ACK packet corresponding to the TCP packet has also arrived. That is, the stream data is transmitted without any problem. Next, it is assumed that the UDP-TCP packet is lost before it reaches the station A due to a network problem (S902).
次に、送信したUDP−TCPパケットが受信装置であるステーションAに届く。すると、TCPプロトコル装置108Aは、TCPヘッダ中の「Sequence Number」が不連続であるためにパケットが不連続に到着したことを知る(S903)。すると、ステーションAは、直ちにACKパケットを送信し、ステーションBに紛失パケットがあったことを通知する(S904)。そして、ステーションBは、直ちにTCP/IPによる紛失パケットの再送を行う(S905)。
Next, the transmitted UDP-TCP packet arrives at station A which is a receiving apparatus. Then, the
S906では、カメラアプリケーション処理装置102からストリームデータの送出が指示された際、TCP/IPでは送信できない場合がある。その場合、ストリームデータはUDP/IPで送信される(S906)。ステーションBは、再送が完了し、ACKパケットの受信まで確認すると(S907)、次のデータ送出指示(S908)では、再びUDP−TCPパケットとして送出することが可能となる。
In S906, when sending of stream data is instructed from the camera
ネットワークやステーションの何らかの状態によりACKパケットが送信されない状態が続いた場合にもTCPパケットの送信が抑制される。この場合、UDP−TCPではなくUDPパケットとしてストリームデータが送信される。この処理のシーケンスを図8に示す。図8は、UDP−TCPによるTCP輻輳制御が動作した場合のシーケンス図である。 Transmission of TCP packets is also suppressed when an ACK packet is not transmitted due to some state of the network or station. In this case, the stream data is transmitted as a UDP packet instead of UDP-TCP. A sequence of this processing is shown in FIG. FIG. 8 is a sequence diagram when TCP congestion control by UDP-TCP operates.
図8において、S1001では、ステーションBは、ACKパケットを受信していないため、UDPパケットとしてストリームデータの送信が行われる。また、S1002では、ACKパケットの受信に応じてTCP/IPによるストリームデータの送信がステーションBにより行われる。S1003では、ステーションBは、ACKパケットの受信により、TCPパケットの未送信分についての送信が完了したのを確認する。そして、S1004では、UDP−TCPを用いて送信する。 In FIG. 8, in S1001, since station B has not received an ACK packet, stream data is transmitted as a UDP packet. In S1002, the station B transmits the stream data by TCP / IP in response to the reception of the ACK packet. In S1003, the station B confirms that the transmission of the untransmitted TCP packet is completed by receiving the ACK packet. In S1004, transmission is performed using UDP-TCP.
<第1の実施の形態の利点>
本実施の形態によれば、送信装置であるステーションBではTCPをUDPでカプセリングして伝送し、受信装置であるステーションAでは、それぞれの目的に合致したソケットに分配する分配部ブロックを設けるようにした。即ち、UDP−TCP/IPの通信を行うのに先立ち、まずTCP/IPにおけるコネクションをステーションAとステーションBの間で確立させる。ステーションBにおいて、同一のストリームデータをUDP/IPとTCP/IPで送る場合はそれぞれのプロトコルに対応するパケット情報をUDP−TCPプロトコル装置109Bに送る。そして、UDP−TCPプロトコル装置109Bは、TCPパケットをUDPパケットでカプセリングして伝送する。ステーションAでは、UDP−TCP分配部となるUDP−TCPプロトコル装置109Aでそれぞれのプロトコル装置107A,108Aへ送り、アプリケーション処理装置に出力する105,106に出力する。TCP/IPのみで必要なACKパケットの送信と再送はUDP/IPでは必要ないため、通常のTCP/IPパケットを用いて送受信される。また、TCP/IPの帯域制御のために送信側でTCPの送信が制限された場合はUDP/IPのみで送信される。
<Advantages of the first embodiment>
According to the present embodiment, the station B which is a transmitting apparatus transmits and transmits the TCP by UDP, and the station A which is a receiving apparatus is provided with a distribution unit block which distributes to sockets suitable for each purpose. did. That is, prior to UDP-TCP / IP communication, a TCP / IP connection is first established between station A and station B. In the station B, when the same stream data is sent by UDP / IP and TCP / IP, packet information corresponding to each protocol is sent to the UDP-
このように、性質の異なるUDP/IPとTCP/IPを用いて同一のストリームデータを伝送するような場合において、TCPをUDPでカプセリングしたUDP−TCPというパケット形式を定義、処理するようにする。これにより、従来、2度に分割して送るデータを一度のUDP−TCPパケットで送信することができ、効率的に伝送帯域を使用することが可能となる。また、最小限のトラヒックでデータ通信を行いつつ、従来プロトコルとの互換性も維持することができる。 In this way, in the case where the same stream data is transmitted using UDP / IP and TCP / IP having different properties, a packet format called UDP-TCP obtained by encapsulating TCP with UDP is defined and processed. Thus, conventionally, data divided and sent twice can be transmitted as a single UDP-TCP packet, and the transmission band can be used efficiently. In addition, compatibility with conventional protocols can be maintained while performing data communication with a minimum amount of traffic.
[第2の実施の形態]
図9は、本発明の第2の実施の形態に係るデータ通信装置を含むデータ通信システムの構成例を示すブロック図である。
[Second Embodiment]
FIG. 9 is a block diagram showing a configuration example of a data communication system including a data communication apparatus according to the second embodiment of the present invention.
このデータ通信システムは、記録アプリケーション処理装置106を含むステーションAと、表示アプリケーション処理装置105を含むステーションBと、撮像アプリケーション処理装置102を含むステーションCとが、それぞれ伝送路113をメディアとするネットワークに接続されている。
In this data communication system, a station A including a recording
第1の実施の形態と同様に作用させるためには、ステーションCの撮像アプリケーション処理装置102で生成し送出されたパケットは、ステーションAでエラーフリーで記録しながら、ステーションBでモニタ103上に撮像画像を表示する必要がある。そのため、通常のUDP−TCPパケットではこれらに同時へ送信することはできない。
In order to operate in the same manner as in the first embodiment, the packet generated and transmitted by the imaging
そこで、マルチキャストを用いることで複数の宛先に同時へ送信する。マルチキャストは、クラスDと呼ばれるIPアドレスを用い、UDPパケットの送受信のみが許可される。クラスDのIPアドレスは、図10に示すように先頭ビットが1101・・・で始まるIPアドレスであり、10進表示で224、0、0、0〜239、255、255、255の範囲にあるIPアドレスのことである。これらのクラスDに属するステーションの集合はホスト・グループと呼ばれ、複数のネットワークに分散して配置することが可能である。そして、各ステーションに自分を示すIPアドレスの他にクラスDのIPアドレスを取得してあるホスト・グループのメンバーに所属したり、メンバーから抜けたりすることが可能である。このようなマルチキャストのホスト・グループを管理するプロトコルには、IGMP(インターネット・グループ・マネジメント・プロトコル)が用いられる。 Therefore, simultaneous transmission is performed to a plurality of destinations by using multicast. Multicast uses an IP address called class D, and only allows transmission and reception of UDP packets. As shown in FIG. 10, the IP address of class D is an IP address starting with 1101..., And is in the range of 224, 0, 0, 0 to 239, 255, 255, 255 in decimal notation. It is an IP address. A set of stations belonging to these classes D is called a host group and can be distributed and arranged in a plurality of networks. It is possible to belong to a member of a host group who has acquired a class D IP address in addition to an IP address indicating itself to each station, or to leave the station. IGMP (Internet Group Management Protocol) is used as a protocol for managing such multicast host groups.
このプロトコルを用いることで、マルチキャスト・データグラムのクライアントが判明するため、このプロトコルを、ステーションでは所属するホスト・グループのデータグラムであるかどうかという判断に使用し、ルータではルーティングする際のインタフェースを判断するのに使用する。必要なインタフェースにのみ転送することで、不必要なトラヒックを削減することができる。 Using this protocol reveals the client of the multicast datagram, so this protocol is used to determine whether the datagram belongs to the host group to which the station belongs, and the router uses the interface for routing. Used to judge. By transferring only to necessary interfaces, unnecessary traffic can be reduced.
マルチキャストを送信する側は、取得したクラスDのIPアドレス(ホスト・グループ)に対してUDP/IPを用いて送信することで特定のホスト・グループにメッセージを送信することができる。また、受信側は、ホストグループに参加することでマルチキャストデータグラムを受け取ることができ、脱退することでホスト・グループから抜けることもできる。 The multicast transmission side can transmit a message to a specific host group by transmitting the acquired class D IP address (host group) using UDP / IP. The receiving side can receive a multicast datagram by joining the host group, and can leave the host group by leaving.
IGMPではメンバシップクエリーという、ルータがそのネットワークにマルチキャストメンバーを問い合わせるメッセージを出力し、それに対してメンバシップレポートをホストがホスト・グループに参加・脱退するメッセージを出力することができる。 In IGMP, a message called a membership query, in which a router inquires a multicast member to the network, can be output, and in response to this, a message that a host joins or leaves a host group can be output as a membership report.
これらのメンバシップクエリーとメンバシップレポートを用いてマルチキャストを制御するルータは、マルチキャストに参加しているステーションのホスト・グループを保持し、管理する。このクラスDのマルチキャストアドレスを用いてUDP−TCPを転送する場合、UDP/IPのホストはマルチキャストを用いて複数台の参加が許可されるが、UDP/IPを用いるホストはコネクションを確立するため、一台のみの参加が許可される。 A router that controls multicast using these membership queries and membership reports maintains and manages the host groups of stations participating in the multicast. When UDP-TCP is transferred using this class D multicast address, a UDP / IP host is allowed to participate in multiple units using multicast, but a host using UDP / IP establishes a connection. Only one vehicle is allowed to participate.
そのため、図11のUDP−TCPパケットのフォーマットのように、TCP/IPをUDP/IPでカプセリングすることで、特定のユニキャストIPアドレスに対するTCPのコネクションを確立し、複数のTCP/IPクライアントが参加できない構成となっている。これは、エラー再送型の通信を複数のコネクションに渡って許可すると、伝送路の状態が悪化した場合に再送が多くなり、輻輳が起こりやすいネットワークになってしまうことを防ぐためである。 Therefore, TCP / IP is encapsulated with UDP / IP as shown in the UDP-TCP packet format in FIG. 11 to establish a TCP connection for a specific unicast IP address, and multiple TCP / IP clients participate. The configuration is not possible. This is to prevent error retransmission type communication from being allowed to occur over a plurality of connections, so that when the state of the transmission path deteriorates, retransmissions increase and the network is likely to be congested.
以上のように構成することで、1つの撮像アプリケーション102を含むステーションCから1つの記録アプリケーションを含むステーションAと、複数の表示アプリケーションを含むステーションBに対して同時へ送信することが可能となる。
By configuring as described above, it is possible to simultaneously transmit from the station C including one
なお、本発明の目的は、実施形態の機能を実現するプログラムコードを記録した記憶媒体を装置であるステーションA,Bに供給し、そのシステム或いは装置のコンピュータが前記プログラムコードを読み出して実行することによっても達成される。 Note that an object of the present invention is to supply a storage medium recording program codes for realizing the functions of the embodiments to the stations A and B, and to read and execute the program codes by the system or the computer of the apparatus. Is also achieved.
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。 In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the program code and the storage medium storing the program code constitute the present invention.
また、プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RWを用いることができる。また、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等も用いることができる。又は、プログラムコードをネットワークを介してダウンロードしても良い。 As a storage medium for supplying the program code, for example, a hard disk, a magneto-optical disk, a CD-ROM, a CD-R, or a CD-RW can be used. Further, a DVD-ROM, a DVD-RAM, a DVD-RW, a DVD + RW, a magnetic tape, a non-volatile memory card, a ROM, or the like can be used. Alternatively, the program code may be downloaded via a network.
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、次のような場合も含まれる。即ち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。 The present invention not only realizes the functions of the above-described embodiments by executing the program code read by the computer, but also includes the following cases. That is, an OS (operating system) running on a computer performs part or all of the actual processing based on an instruction of the program code, and the functions of the above-described embodiments may be realized by the processing. included.
更に、記憶媒体から読み出されたプログラムコードが、機能拡張ユニットに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ユニットのCPU等が実際の処理を行い、その処理によって前述の実施形態の機能が実現される場合も含まれる。 Further, after the program code read from the storage medium is written to the function expansion unit, the CPU of the function expansion unit performs actual processing based on the instruction of the program code, and the above-described implementation is performed by the processing. The case where the function of the form is realized is also included.
この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。 In this case, the program is supplied by downloading directly from a storage medium storing the program or from another computer or database (not shown) connected to the Internet, a commercial network, a local area network, or the like.
101 撮像装置
102 カメラアプリケーション
103 モニタ
104 ビデオレコーダ
105 表示アプリケーション
106 記録アプリケーション
107 UDPプロトコル装置
108 TCPプロトコル装置
109 UDP−TCPプロトコル装置
110 IPプロトコル装置
111 MAC装置
112 PHY装置
113 伝送路
DESCRIPTION OF
Claims (10)
データ到達時間優先型のプロトコルのヘッダをデータに付与したデータ到達時間優先型パケットを生成する第1の生成手段と、First generation means for generating a data arrival time priority type packet in which a header of a data arrival time priority type protocol is attached to data;
データ確度優先型のプロトコルのヘッダをデータに付与したデータ確度優先型パケットを生成する第2の生成手段と、Second generation means for generating a data accuracy priority type packet in which a data accuracy priority type protocol header is added to the data;
前記データ確度優先型パケットに、前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを生成する第3の生成手段と、Third generation means for generating a encapsulation packet in which a header of the data arrival time priority type protocol is added to the data accuracy priority type packet;
前記第3の生成手段により生成された前記カプセリングパケットを通信相手に送信する送信手段とを有し、Transmission means for transmitting the encapsulation packet generated by the third generation means to a communication partner;
前記送信手段は、前記送信手段が送信した前記カプセリングパケットに含まれるデータを再送する場合、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを別々に送信することを特徴とする通信装置。The transmission means transmits the data arrival time priority type packet and the data accuracy priority type packet separately when retransmitting the data included in the encapsulation packet transmitted by the transmission means. .
データ到達時間優先型のプロトコルのヘッダがデータに付与されたデータ到達時間優先型パケットに含まれるデータを処理する第1の処理手段と、First processing means for processing data included in a data arrival time priority type packet in which a data arrival time priority type protocol header is attached to the data;
データ確度優先型のプロトコルのヘッダがデータに付与されたデータ確度優先型パケットに含まれるデータを処理する第2の処理手段と、A second processing means for processing data included in a data accuracy priority type packet in which a header of a data accuracy priority type protocol is attached to the data;
前記データ確度優先型パケットに前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを受信する受信手段と、Receiving means for receiving a encapsulation packet in which a header of the data arrival time priority type protocol is added to the data accuracy priority type packet;
前記受信手段が受信した前記カプセリングパケットに含まれるデータに基づいて、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを生成する生成手段とを有し、Generating means for generating the data arrival time priority packet and the data accuracy priority packet based on the data included in the encapsulation packet received by the reception means;
前記第1の処理手段は、前記生成手段により生成された前記データ到達時間優先型パケットに含まれるデータを処理し、前記第2の処理手段は、前記生成手段により生成された前記データ確度優先型パケットに含まれるデータを処理することを特徴とする通信装置。The first processing means processes data included in the data arrival time priority type packet generated by the generation means, and the second processing means is the data accuracy priority type generated by the generation means. A communication apparatus that processes data included in a packet.
データ到達時間優先型のプロトコルのヘッダをデータに付与したデータ到達時間優先型パケットを生成する第1の生成ステップと、A first generation step of generating a data arrival time priority type packet in which a data arrival time priority type protocol header is added to data;
データ確度優先型のプロトコルのヘッダをデータに付与したデータ確度優先型パケットを生成する第2の生成ステップと、A second generation step of generating a data accuracy priority type packet in which a data accuracy priority type protocol header is added to the data;
前記データ確度優先型パケットに、前記データ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを生成する第3の生成ステップと、A third generation step of generating a encapsulation packet in which a header of the data arrival time priority type protocol is added to the data accuracy priority type packet;
前記第3の生成ステップで生成された前記カプセリングパケットを通信相手に送信する送信ステップと、A transmission step of transmitting the encapsulation packet generated in the third generation step to a communication partner;
前記送信ステップで送信した前記カプセリングパケットに含まれるデータを再送する場合に、前記データ到達時間優先型パケットと前記データ確度優先型パケットとを別々に送信する再送ステップと、を有することを特徴とする通信装置の制御方法。A retransmission step of separately transmitting the data arrival time priority packet and the data accuracy priority packet when retransmitting data included in the encapsulation packet transmitted in the transmission step. A method for controlling a communication device.
データ確度優先型のプロトコルのヘッダがデータに付与されたデータ確度優先型パケットにデータ到達時間優先型のプロトコルのヘッダを付与したカプセリングパケットを受信する受信ステップと、A receiving step of receiving a encapsulation packet in which a header of a data arrival time priority type protocol is attached to a data accuracy priority type packet in which a header of a data accuracy priority type protocol is attached to data;
前記受信ステップで受信した前記カプセリングパケットに含まれるデータに基づいて、前記データ確度優先型パケットと、前記データ到達時間優先型のプロトコルのヘッダがデータに付与されたデータ到達時間優先型パケットとを生成する生成ステップと、Based on the data included in the encapsulation packet received in the reception step, the data accuracy priority type packet and the data arrival time priority type packet in which the header of the data arrival time priority type protocol is attached to the data are generated. Generating step to
前記生成ステップにより生成された前記データ到達時間優先型パケットに含まれるデータを処理する第1の処理ステップと、A first processing step of processing data included in the data arrival time priority type packet generated by the generation step;
前記生成ステップにより生成された前記データ確度優先型パケットに含まれるデータを処理する第2の処理ステップと、を有することを特徴とする通信装置の制御方法。And a second processing step of processing data included in the data accuracy priority type packet generated by the generation step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006130577A JP4709060B2 (en) | 2006-05-09 | 2006-05-09 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006130577A JP4709060B2 (en) | 2006-05-09 | 2006-05-09 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007306144A JP2007306144A (en) | 2007-11-22 |
JP2007306144A5 JP2007306144A5 (en) | 2009-06-25 |
JP4709060B2 true JP4709060B2 (en) | 2011-06-22 |
Family
ID=38839737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006130577A Expired - Fee Related JP4709060B2 (en) | 2006-05-09 | 2006-05-09 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4709060B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2020174994A1 (en) | 2019-02-26 | 2020-09-03 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005260715A (en) * | 2004-03-12 | 2005-09-22 | Ntt Communications Kk | Terminal device having packet nat transparent function, and its program |
-
2006
- 2006-05-09 JP JP2006130577A patent/JP4709060B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005260715A (en) * | 2004-03-12 | 2005-09-22 | Ntt Communications Kk | Terminal device having packet nat transparent function, and its program |
Also Published As
Publication number | Publication date |
---|---|
JP2007306144A (en) | 2007-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3667586B2 (en) | Multicast packet transfer device, multicast packet transfer system, and storage medium | |
KR100454502B1 (en) | Apparatus for providing QoS on IP router and method for forwarding VoIP traffic | |
JP2637901B2 (en) | Routing method of information packet to mobile host | |
EP1909191B1 (en) | Method and system for transmitting data over a network | |
JPWO2005099188A1 (en) | Communication quality control method and apparatus | |
JP3844686B2 (en) | Router device, terminal device, communication system, and routing method | |
JP2006261873A (en) | Packet transfer apparatus and transfer control system therefor | |
EP2062399A1 (en) | Method and apparatus for transmitting transport stream packets | |
JPH1093555A (en) | Communication equipment and its communication method | |
US20150350287A1 (en) | Method and server for sending a data stream to a client and method and client for receiving a data stream from a server | |
CN102739541A (en) | Method, device and system for starting routing function and transmitting data | |
JP2008252393A (en) | Communication terminal device, distribution device, error notifying method, and error notification program | |
CN112398754B (en) | Data transmission method, device, medium, electronic equipment and network access equipment | |
JP4709060B2 (en) | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM | |
US20090089440A1 (en) | Protocol for leasing sockets | |
JP3519628B2 (en) | Relay device | |
TW202249464A (en) | Method for routing of cellular data packets using ip networks | |
JP2005210352A (en) | Ip address converter and converting method | |
JP3781663B2 (en) | Traffic information collecting apparatus, traffic information collecting method, program, and recording medium | |
WO2024067640A1 (en) | Protocol data unit set transmission method and apparatus | |
WO2017162071A1 (en) | Network node, method and device for communicating between network nodes, and storage medium | |
Demiroglou et al. | A Combined MQTT 5.0 and DTN Architecture for Mobile Edge IoT Nodes | |
WO2023116102A1 (en) | Communication method and apparatus | |
US20020131367A1 (en) | Dichotomy-based method of tracing a route between two nodes of a data network | |
WO2023212956A1 (en) | Data packet processing method and apparatus, and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090508 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110218 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110317 |
|
LAPS | Cancellation because of no payment of annual fees |