JP2010109733A - Packet communication method - Google Patents
Packet communication method Download PDFInfo
- Publication number
- JP2010109733A JP2010109733A JP2008280123A JP2008280123A JP2010109733A JP 2010109733 A JP2010109733 A JP 2010109733A JP 2008280123 A JP2008280123 A JP 2008280123A JP 2008280123 A JP2008280123 A JP 2008280123A JP 2010109733 A JP2010109733 A JP 2010109733A
- Authority
- JP
- Japan
- Prior art keywords
- session
- packet
- communication method
- response
- packet communication
- 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.)
- Granted
Links
Images
Abstract
Description
本発明はパケット通信方法に係り、特に、高速で信頼性の高いパケット通信を可能にするパケット通信方法に関する。 The present invention relates to a packet communication method, and more particularly to a packet communication method that enables high-speed and reliable packet communication.
IPネットワークで利用される代表的なトランスポート層プロトコルとしてTCP(Transmission Control Protocol)およびUDP(User Datagram Protocol)が知られている。TCP(RFC1122およびRFC1123)はコネクション型プロトコルであり、パケット喪失によるデータ通信エラーを回避し、信頼性を保証するために、送信元がデータ送信後、一定時間だけ受信先からの確認応答信号(ACK)の到着を待ち、タイムアウトした場合は再度同じデータを送信する(再送制御)。このタイムアウト時間は再送タイムアウト時間(RTO:Retransmission Timeout)と呼ばれる。また、応答が続けてない場合には再送を繰り返すが、その場合の再送間隔は再送回数によって指数関数的に増やす方法が採られている。送信パケットの喪失が繰り返し発生する場合には、再送信タイムアウト時間を長くすることによって送信を抑制し、パケット喪失の確率を低くするように制御(輻輳制御)している。受信側では、正規に受信できたパケットのシーケンス番号および確認応答番号をACKにセットして返送することでパケットの到着順序が保証される(順序制御)。 TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are known as typical transport layer protocols used in IP networks. TCP (RFC1122 and RFC1123) is a connection-oriented protocol, and in order to avoid data communication errors due to packet loss and to guarantee reliability, the sender sends an acknowledgment signal (ACK ), The same data is transmitted again (retransmission control) when a timeout occurs. This timeout period is called a retransmission timeout period (RTO). If the response is not continued, retransmission is repeated. In this case, the retransmission interval is exponentially increased according to the number of retransmissions. When transmission packet loss repeatedly occurs, transmission is suppressed by increasing the retransmission timeout period, and control (congestion control) is performed to reduce the probability of packet loss. On the receiving side, the packet arrival order is guaranteed by setting the sequence number and the acknowledgment number of the successfully received packet to ACK and returning them (order control).
これに対して、UDPはコネクションレス型プロトコルであり、上記のような再送制御、輻輳制御、順序制御などが行われない。このため、速度よりもデータ品質が要求されるWWW、メール、FTPなどにはTCPが用いられ、データ品質よりも速度(リアルタイム性)が優先される音声通話や映像配信にはUDPが用いられる。従来のTCPおよびUDPに関しては、例えば特許文献1に開示されている。
RFC2988では、TCPのRTOに関して、再送タイムアウトが1秒未満の場合は1秒に繰り上げるように勧告されている。したがって、TCPパケットに欠落が生じると、その再送に最低でも1秒はかかるため、通信のリアルタイム性が損なわれてしまう。 In RFC2988, it is recommended that the TCP RTO be incremented to 1 second when the retransmission timeout is less than 1 second. Therefore, if a TCP packet is lost, the re-transmission takes at least 1 second, and the real-time property of communication is impaired.
さらに、TCPにはkeepalive 機能が付与されている。これは実際のデータ送信がある無しに関わらず、そのコネクションにおいて一定時間ごとにパケットを送信して応答を監視し、TCP コネクションが有効でなければ切断される。しかしながら、keepalive 時間のデフォルトは2時間なので、通信相手ごとに無通信監視を所望の間隔で行おうとすれば、TCPよりも上位のアプリケーション層で無通信監視を行わなければならず、監視間隔が短くなるほどアプリケーション層における監視負荷が増大するという技術課題があった。 TCP also has a keepalive function. Regardless of whether there is actual data transmission or not, the connection is sent at regular intervals to monitor the response, and if the TCP connection is not valid, it is disconnected. However, the default keepalive time is 2 hours, so if you want to perform non-communication monitoring at a desired interval for each communication partner, you must perform non-communication monitoring in an application layer higher than TCP, and the monitoring interval is short. There is a technical problem that the monitoring load in the application layer increases.
本発明の目的は、上記の従来技術の課題を解決し、アプリケーション層の負荷を増大させることなく、高速で信頼性の高いパケット通信方法を提供することにある。 An object of the present invention is to solve the above-described problems of the prior art and provide a high-speed and highly reliable packet communication method without increasing the load on the application layer.
上記の目的を達成するために、本発明は、UDPの上位層でパケット交換を制御するパケット通信方法において、以下のような手順を含むことを特徴とする。 In order to achieve the above object, the present invention is characterized in that a packet communication method for controlling packet switching in an upper layer of UDP includes the following procedure.
(1)UDPパケットのデータフィールドにプロトコルヘッダおよびデータの各フィールドを確保し、プロトコルヘッダが、少なくともシーケンス番号フィールド、確認応答番号フィールドおよびパケット識別用のコードビットフィールドを含み、前記シーケンス番号フィールドおよび確認応答番号フィールドに登録された番号に基づいて再送制御および順序制御を行うことを特徴とする。 (1) A protocol header and each field of data are secured in the data field of the UDP packet, and the protocol header includes at least a sequence number field, an acknowledgment number field, and a code bit field for packet identification. Retransmission control and order control are performed based on the number registered in the response number field.
(2)プロトコルヘッダがウインドウサイズフィールドを含むことを特徴とする。 (2) The protocol header includes a window size field.
(3)キープアライブ要求に対するキープアライブ応答のタイムアウトを規定するタイムアウト値を記憶し、キープアライブ応答を前記第4のタイムアウト値の経過後も受信できないとセッションをクローズし、この第4のタイムアウト値T4を設定する手順を含むことを特徴とする。 (3) A time-out value that prescribes a time-out of the keep-alive response to the keep-alive request is stored, and if the keep-alive response cannot be received even after the fourth time-out value has elapsed, the session is closed, and this fourth time-out value T4 Including a procedure for setting.
本発明によれば、以下のような効果が達成される。
(1)TCPと同等の信頼性で、かつ実使用上はUDPと同等の転送速度が得られるパケット通信が可能になる。
(2)プロトコルがUDPのデータフィールドに実装されるので、下位に位置する従来のレイヤを活用できる。
(3)ウインドウサイズを指定できるので、効率の良いデータ転送が可能になる。
(4)キープアライブの送信間隔を自由に設定できるので、これを適宜の短時間に設定すれば、LANケーブルの引き抜きや通信相手の電源断をトランスポート層において素早く検知でき、その結果、上位のアプリケーション層における頻繁な監視が不要となってアプリケーションの負荷を軽減できる。
According to the present invention, the following effects are achieved.
(1) Packet communication with the same reliability as TCP and a transfer rate equivalent to UDP in actual use is possible.
(2) Since the protocol is implemented in the UDP data field, it is possible to utilize a conventional layer located below.
(3) Since the window size can be specified, efficient data transfer becomes possible.
(4) Since the keep-alive transmission interval can be set freely, if this is set to an appropriate short time, it is possible to quickly detect the disconnection of the LAN cable or the power-off of the communication partner in the transport layer. Frequent monitoring in the application layer is unnecessary, and the load on the application can be reduced.
以下、図面を参照して本発明の最良の実施形態について詳細に説明する。図1は、本発明が適用されるIPボタン電話装置100の主要部の構成を示したブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。
Hereinafter, the best embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the main part of an IP
IPボタン電話装置100は、外線としてアナログ回線、ナンバーディスプレイ契約回線、網番号ダイヤルイン回線、アナログ専用線、デジタル専用線およびISDN回線などのレガシー(従来型・旧型)外線のみならず、VoIP回線やNGN 回線を利用できる。また、内線端末として一般アナログ端末、ISDN端末、ホテルフォン、デジタルボタン電話機およびFAXなどのレガシー内線端末のみならず、ソフトフォンやIP電話機などのIP内線端末を収容し、各外線と各内線端末との間の通信を制御する。
The IP
IPボタン電話装置100において、主制御ユニットCCU (Central Control Unit)1は、主制御プログラムに従ってシステム全体を制御する。TDM制御ユニットTCCU2は、各レガシー内線端末とIP網との間および各レガシー外線とIP内線端末との間で時分割多重化通信(TDM)を制御する。
In the IP
カスタマエッジユニットCEU (Customer Edge Unit)3は、音声データと制御データとを多重化してIP通信を行う高速ブロードバンドルータとしての機能を備えると共に、保留音として高音質(帯域が約50〜7000Hz)の楽音データおよび標準音質(帯域が約300〜4000Hz)の楽音データを保持する。そして、内線端末と外線端末との通話が内線端末側の操作で保留された際、被保留側の外線端末へ、通話確立時のメディア能力に応じて高音質または標準音質の保留音を送出する。 The customer edge unit CEU (Customer Edge Unit) 3 has a function as a high-speed broadband router that multiplexes voice data and control data to perform IP communication, and has high sound quality (bandwidth of about 50 to 7000 Hz) as a holding sound. Music data and standard sound quality (bandwidth of about 300 to 4000 Hz) are stored. When a call between the extension terminal and the external terminal is put on hold by an operation on the extension terminal side, a high-quality or standard sound quality hold sound is sent to the external terminal on the held side according to the media capability at the time of establishment of the call .
音声変換ユニットVCU (Voice Conversion Unit)4は、通話の音声パケットを高音質から標準音質に変換し、その逆の変換を行うと共に、保留音として高音質の楽音データおよび標準音質の楽音データを保持する。そして、内線端末間の通話が一方の内線端末の操作で保留された際、保留音を持たない他方の被保留側の内線端末へ、通話確立時のメディア能力に応じて高音質または標準音質の保留音を送出する。 The voice conversion unit VCU (Voice Conversion Unit) 4 converts voice packets of a call from high sound quality to standard sound quality and vice versa, and holds high sound quality music data and standard sound quality music data as hold sound To do. When a call between extension terminals is put on hold by operating one of the extension terminals, the other hold-side extension terminal that does not have a hold tone has a high sound quality or standard sound quality depending on the media capability at the time of call establishment. Send music on hold.
前記TCCU2には、ファックス端末81、ホテルフォン端末82、デジタルボタン電話機83、単体電話機84などのレガシー内線端末、および一般外線、ISDNネット回線、デジタル専用線、アナログ専用線などのレガシー外線が、各種の専用インターフェースおよびTDM通信用のTDMバス5を介して接続されている。前記TDMバス5は、制御信号を送受信するDチャネルおよびPCM変換された音声信号を送受信するBチャネルを備える。
The TCCU 2 includes various types of legacy external lines such as a
前記CCU1とTCCU2とは音声用LAN8および制御用LAN9の2本のLANで接続されている。CCU1とCEU3およびVCU4とは制御用LANで接続されている。前記CCU1には更に、保守用LAN10を介して保守用コンピュータ95が接続されると共に、IP内線LAN6を介してHUB(ハブ)7が接続されている。前記HUB7には、専用インターフェースを介してIPボタン電話機91や音声会議装置92が接続され、無線アクセスポイント(AP)にはIPコードレスフォン93が収容され、さらにソフトフォン94のアプリケーションが実装されたコンピュータが接続されている。
The CCU 1 and TCCU 2 are connected by two LANs, a
前記CCU1は、CPU11、DDRメモリ(RAM)12、フラッシュメモリ13、パケット転送の制御に特化した専用チップ14、挿抜自在のコンパクトフラッシュ(登録商標)(CF)メモリ15およびレイヤ2(L2)スイッチ16を主要な構成としている。CCU1がパワーオンあるいはリセットされると、まず、フラッシュメモリ13にあるブートローダ(ソフトウエア)が動作し、CFメモリ15のファイルシステムに格納されているOSがDDRメモリ12にロードされて起動される。次いで、OSがCFメモリ15のアプリケーション(本体ソフトウエア)をDDRメモリ12にロードして起動することで主制御プログラムが動作を開始する。
The
前記TCCU2は、CPU21、DDRメモリ22、フラッシュメモリ23、ファイ(PHY)24、前記Bチャネルを制御するハイウエイスイッチ25、前記Dチャネル用の制御信号通信チップ26およびDSP27を主要な構成としている。前記PHY24は、Ethernet(登録商標)(図示せず)の物理層を制御するLSIである。
The TCCU 2 mainly includes a CPU 21, a
前記CEU3は、CPU31、DDRメモリ32、フラッシュメモリ33、パケット転送の制御に特化した専用チップ34およびL2スイッチ35を主要な構成としている。専用チップ34は、前記CCU1の専用チップ14と同様のものである。
The
VCU4は、CPU41、DDRメモリ42、フラッシュメモリ43、L2スイッチ44およびDSP45を主要な構成としている。DSP45は、例えば高音質の通話が標準音質のみに対応したレガシー内線端末へ転送された場合に、高音質の音声パケットを標準音質に変換してレガシー内線端末へ送出する一方、レガシー内線端末から送出される標準音質の音声を高音質用の音声パケットに変換して通話相手に送出する。
The VCU 4 has a
本実施形態ではCCU1、TCCU2、CEU3およびVCU4のそれぞれにCPU11、21、31、41を分散配置することで負荷分散を実現すると共に、CCU1およびCEU3には更に、パケット転送に特化した専用チップ14、34を搭載することでCPU11、31におけるパケット転送の処理を軽減し、更なる負荷分散を実現している。
In this embodiment, load distribution is realized by distributing the
このような構成において、レガシー内線端末(例えば、単体電話機84)がNGN経由で発着信した場合、レガシー内線端末とTCCU2との間ではPCM変換された音声信号がTDMバス5上でTDM通信により送受信される。TCCU2とCCU1との間には通信セッションが確立され、この通信セッションにおいて音声信号および制御信号のデータパケットが交換される。CEU3は前記L2スイッチ35経由でNGNに接続されており、CCU1およびCEU3は、それぞれの専用チップ14、34を利用してパケットを交換する。
In such a configuration, when a legacy extension terminal (for example, a single telephone 84) makes / receives a call via NGN, a PCM converted voice signal is transmitted / received between the legacy extension terminal and the TCCU 2 via the TDM bus 5 by TDM communication. Is done. A communication session is established between TCCU2 and CCU1, and data packets of voice signals and control signals are exchanged in this communication session. The
また、IP内線端末がレガシー外線(例えば、ISDNネット)経由で発着信した場合は、TDMバス5、TCCU2、CCU1およびHUB7を介して制御情報、音声情報または音声パケットが送受信される。さらに、IP内線端末がNGN経由で発着信した場合は、CEU3、CCU1およびHUB7を介して、SIPメッセージ、制御情報または音声パケットが送受信される。
In addition, when the IP extension terminal makes / receives a call via a legacy external line (for example, ISDN network), control information, voice information, or a voice packet is transmitted / received via the TDM bus 5, TCCU2, CCU1, and HUB7. Further, when an IP extension terminal makes / receives a call via NGN, a SIP message, control information or voice packet is transmitted / received via
次いで、前記CCU1およびTCCU2間、CCU1およびCEU3間ならびにCCU1およびVCU4間など、CCU1と各IPユニット間での通信に採用される、本発明の固有のパケット通信プロトコルについて説明する。なお、CCU1およびTCCU2間では制御用LAN9による制御信号の通信にのみ適用され、音声用LAN8による音声信号の通信には適用されない。
Next, the unique packet communication protocol of the present invention employed for communication between
図2は、本発明に係るパケット通信方法が適用されるプロトコルの階層を示した図であり、MAC層の上位にIP層が位置し、その上位にUDP層が位置し、その上位に本発明に固有の誤り制御プロトコル(以下、UECP:Unique Error Control Protocolと表現する)が位置している。 FIG. 2 is a diagram showing a protocol hierarchy to which the packet communication method according to the present invention is applied. The IP layer is located above the MAC layer, the UDP layer is located above it, and the present invention is located above the layer. An error control protocol (hereinafter referred to as “UECP: Unique Error Control Protocol”) is located.
図3は、前記UECPヘッダの構造を示した図である。UECPヘッダはUDPパケットのデータフィールドの上位12バイトの領域に確保され、シーケンス番号フィールド、確認応答番号フィールド、コードビットフィールドおよびウインドウサイズフィールドを含む。本実施形態では、UECPのMSS(Maximum Segment Size)が1398バイト以下に設定され、MTU(Maximum Transmission Unit)は1438バイト以下に設定されている。これらは、代表的なISPサービスであるBフレッツやフレッツADSL(いずれも登録商標)のMTUが1454バイト以下であり、フレッツ光プレミアム(登録商標)のMTUが1438バイト以下であることに基づく。 FIG. 3 is a diagram illustrating a structure of the UECP header. The UECP header is secured in the upper 12 bytes of the data field of the UDP packet, and includes a sequence number field, an acknowledgment number field, a code bit field, and a window size field. In this embodiment, UECP MSS (Maximum Segment Size) is set to 1398 bytes or less, and MTU (Maximum Transmission Unit) is set to 1438 bytes or less. These are based on the fact that the MTU of B FLET'S and FLET'S ADSL (registered trademark), which are typical ISP services, is 1454 bytes or less, and the MTU of FLET'S Hikari Premium (registered trademark) is 1438 bytes or less.
UECPヘッダのシーケンス番号フィールドには、このUECPの送受信単位(セグメント)の先頭のデータオクテットのシーケンス番号が登録される。初期シーケンス番号(ISN)はセッションをオープンしたときに「0」とされる。シーケンス番号の算術は、232のモジュロで実行する。 In the sequence number field of the UECP header, the sequence number of the first data octet of this UECP transmission / reception unit (segment) is registered. The initial sequence number (ISN) is set to “0” when the session is opened. Arithmetic sequence number is performed in two 32 modulo.
確認応答番号フィールドには、確認応答(ACK)パケットを受信した際、そのセグメントの送信側が次に受信することを想定しているシーケンス番号の値が登録される。確認応答番号の算術も232のモジュロで実行される。ウインドウフィールドには、確認応答番号で示しているバイト数を始点として、このセグメントの受信側が確認応答(ACK)なしで受け入れ可能なデータのバイト数が登録される。コードビットフィールドには、図4に示したように、パケットを識別するための各種のフラグが設定される。 In the acknowledgment number field, when an acknowledgment (ACK) packet is received, a value of a sequence number that is assumed to be received next by the transmitting side of the segment is registered. Arithmetic acknowledgment number is also performed in two 32 modulo. In the window field, the number of bytes of data that can be accepted by the receiving side of this segment without an acknowledgment (ACK) is registered starting from the number of bytes indicated by the acknowledgment number. As shown in FIG. 4, various flags for identifying a packet are set in the code bit field.
NAK (Negative Acknowledgement)フラグは、受信パケットのシーケンス番号が受信可能なシーケンス番号と異なるときに送信元に対して再送を要求するNAKパケットにおいてセットされる。KPA(Keep Alive)フラグは、キープアライブの要求・応答に使われる。ACK (Acknowledgement)フラグは、確認応答番号が有効であるきに返信するACKパケットにおいてセットされる。PSH(Push)フラグは、受信したデータを直ちに上位アプリケーションに渡すか否かを表し、このビットがセットされている受信データは直ちに上位アプリケーションに渡さなければならない。RST(Reset)フラグは、セッションを強制的に切断する際にセットされる。SYN(Synchronize)フラグは、セッションを確立(オープン)する際にセットされる。FIN (Fin)フラグは、セッションを切断(クローズ)する際にセットされる。 A NAK (Negative Acknowledgment) flag is set in a NAK packet that requests retransmission to the transmission source when the sequence number of the received packet is different from the receivable sequence number. The KPA (Keep Alive) flag is used for a keep alive request / response. The ACK (Acknowledgement) flag is set in an ACK packet that is returned when the acknowledgment number is valid. The PSH (Push) flag indicates whether or not the received data is immediately passed to the upper application. The received data in which this bit is set must be immediately passed to the upper application. The RST (Reset) flag is set when the session is forcibly disconnected. The SYN (Synchronize) flag is set when a session is established (opened). The FIN (Fin) flag is set when the session is disconnected (closed).
図5は、UECPにおける待ち受けポート番号(CCU1がセッションオープン要求を待つポート番号およびIPユニットがセッションオープン要求を出すポート番号)の実装例を示した図であり、UDPのポート番号を用いるものとし、宛先ポート番号は任意の固定ポート番号であり、送信元ポート番号はエフェメラル(短命)ポート番号である。
FIG. 5 is a diagram showing an implementation example of a standby port number in UECP (a port number in which
図6は、UECPにおける通信ポート番号(セッション確立後にデータを送受信するポート番号)の実装例を示した図であり、UDPのポート番号を用いるものとし、通信方向にかかわらず、宛先ポート番号および送信元ポート番号のいずれにもエフェメラル(短命)ポート番号が用いられる。なお、CCU1側のポート番号に関しては、図7に示したように、TCPと同様に待ち受けポート番号を用いても良い。
FIG. 6 is a diagram showing an implementation example of a communication port number (port number for transmitting and receiving data after establishing a session) in UECP. A UDP port number is used, and a destination port number and transmission are performed regardless of the communication direction. An ephemeral (short-lived) port number is used for any of the original port numbers. As for the port number on the
図8は、UECPによるセッションオープンのシーケンスを示した図であり、ここでは、IPユニットからCCU1へセッションオープンを要求する場合を例にして説明する。
FIG. 8 is a diagram showing a sequence of session opening by UECP. Here, a case where a session opening is requested from the IP unit to
IPユニットはセッションオープン要求パケット(SYN)の送信後、第1のタイムアウト値T1以内にCCUからセッションオープン応答パケット(SYN+ACK)を受信できないと、セッションオープン失敗としてRSTパケットを送信し、セッションオープン要求パケットの送信から手順をやり直す。CCUは、セッションオープン応答パケットの送信後、タイムアウト値T1以内にIPユニットから確認応答(ACK)パケットを受信できないと、セッションオープン失敗としてRSTパケットを送信し、セッションオープン要求パケットの受信待ちから手順をやり直す。IPユニットは、確認応答パケットを送信した時点でセッション確立状態となり、CCUは、確認応答パケットを受信した時点でセッション確立状態となる。 If the IP unit cannot receive the session open response packet (SYN + ACK) from the CCU within the first timeout value T1 after sending the session open request packet (SYN), it sends an RST packet as a session open failure and opens the session. Repeat the procedure from sending the request packet. If the CCU does not receive an acknowledgment (ACK) packet from the IP unit within the timeout value T1 after sending the session open response packet, the CCU sends an RST packet as a session open failure and waits for the session open request packet to be received. Try again. The IP unit enters the session establishment state when the acknowledgment packet is transmitted, and the CCU enters the session establishment state when the confirmation response packet is received.
図9、10は、セッションクローズのシーケンスを示した図である。本実施形態では、CCUおよびIPユニットのいずれからでもセッションをクローズできる。図9は、IPユニットからセッションクローズを要求する手順を示し、図10は、CCUからセッションクローズを要求する手順を示している。 9 and 10 are diagrams illustrating a session closing sequence. In this embodiment, the session can be closed from either the CCU or the IP unit. FIG. 9 shows a procedure for requesting session close from the IP unit, and FIG. 10 shows a procedure for requesting session close from the CCU.
セッションクローズ要求パケットの送信側は、その送信後にセッションクローズ応答パケットを第2のタイムアウト値T2以内に受信できなければ、手順上はセッションクローズ完了とはならないものの、セッションクローズ要求パケットを再送することなくセッションクローズ扱いとする。なお、後に詳述するように、本実施形態では送信側および受信側が互いに一定時間キープアライブ要求・応答を送信しないとセッションクローズになるので、セッションクローズ応答パケットを受信できない場合にセッションクローズ扱いしても問題はない。 If the transmission side of the session close request packet does not receive the session close response packet within the second timeout value T2 after the transmission, the session close request is not completed but the session close request packet is not retransmitted. Treat as session closed. As will be described in detail later, in this embodiment, if the transmitting side and the receiving side do not transmit a keep-alive request / response for a certain period of time, the session is closed. There is no problem.
図11、12、13は、データ送信の基本シーケンスを示した図であり、図11はCCUからIPユニットへの送信シーケンス、図12はIPユニットからCCUへの送信シーケンス、図13は双方向同時送信のシーケンスを示している。 11, 12, and 13 are diagrams showing a basic sequence of data transmission. FIG. 11 is a transmission sequence from the CCU to the IP unit, FIG. 12 is a transmission sequence from the IP unit to the CCU, and FIG. The transmission sequence is shown.
送信側が、シーケンス番号nでmバイトのデータを送信すると、これを正規に受信した受信側は、確認応答番号が(n+m)の確認応答(ACK)を返信する。 When the transmission side transmits m bytes of data with the sequence number n, the reception side that has received it normally returns an acknowledgment (ACK) with an acknowledgment number (n + m).
図14は、確認応答のシーケンスを示した図である。UECPでは送信側から送信されたデータが受信側で受信されたとき、受信側が確認応答(ACK)を送信側に送信することにより送信データの受信を通知する。送信データや確認応答がロストした場合は、その送信側がデータを再送する。確認応答パケットとデータ送信パケットとは分けてもよいし、ひとつのパケットで送信してもよい。 FIG. 14 is a diagram showing a sequence of confirmation responses. In UECP, when data transmitted from the transmission side is received at the reception side, the reception side notifies the reception of transmission data by transmitting an acknowledgment (ACK) to the transmission side. When the transmission data or confirmation response is lost, the transmission side retransmits the data. The acknowledgment packet and the data transmission packet may be separated, or may be transmitted as a single packet.
図15は、ウインドウ制御のシーケンスを示した図である。UECPにおけるセッション確立状態でのデータ送信では、データ送信ごとにACK受信を待つ必要はなく、ウインドウサイズ(固定値)以内であれば続けてデータを送信できる。受信側はデータ受信ごとにACKを送信できるが、ウインドウサイズ以内であれば複数回のデータ受信に対してまとめてACKを送信しても良い。 FIG. 15 is a diagram showing a window control sequence. In data transmission in a session established state in UECP, it is not necessary to wait for ACK reception for each data transmission, and data can be transmitted continuously within a window size (fixed value). The receiving side can transmit ACK for each data reception, but may transmit ACK for a plurality of data receptions within a window size.
図16は、順序制御のシーケンスを示した図である。従来のUDPでは送信側でのデータ送信順に受信側がデータを受信できない場合があるが、本発明のUECPではシーケンス番号および確認応答番号を使用し、シーケンス番号通りのデータのみを受け取り、シーケンス番号通りでないデータは廃棄することにより、クロスしたデータ受信の場合でも順序通りのデータ受信が可能になる。 FIG. 16 is a diagram showing a sequence of sequence control. In conventional UDP, the receiving side may not be able to receive data in the order of data transmission on the transmitting side. However, in the UECP of the present invention, the sequence number and the acknowledgment number are used, and only the data according to the sequence number is received, not according to the sequence number. By discarding the data, it is possible to receive the data in the order even when crossed data is received.
図17、18は、再送制御のシーケンスを示した図である。本発明のUECPでは、(1)データ送信パケットがロストした(ACKを受信タイムアウト値T3以内に受信できない)、(2)ACKがロストした(ACKをT3以内に受信できない)、(3)無効な確認応答番号のACKを受信した、(4)NAKを受信した、の4つの場合に再送が行われる。図17は前記(2)の場合のシーケンスであり、図18は前記(4)の場合のシーケンスである。 17 and 18 are diagrams illustrating a retransmission control sequence. In the UECP of the present invention, (1) the data transmission packet is lost (ACK cannot be received within the reception timeout value T3), (2) ACK is lost (ACK cannot be received within T3), (3) invalid Resending is performed in the four cases of receiving an acknowledgment number ACK and (4) receiving a NAK. FIG. 17 shows the sequence in the case (2), and FIG. 18 shows the sequence in the case (4).
ACK受信タイムアウトの場合、最初の再送はT3経過後、2回目の再送は(T3×2)経過後、3回目の再送は(T3×3)経過後…となる。再送回数は制限されていないがキープアライブ監視があるため無限回数になることはない。この受信タイムアウト値T3は保守用コンピュータ95からの操作あるいはアプリケーションの設定で任意に調整できるが、500ms程度またはそれ以下に設定することが望ましい。
In the case of ACK reception timeout, the first retransmission is after T3 has elapsed, the second retransmission is after (T3 × 2) has elapsed, and the third retransmission is after (T3 × 3) has elapsed. Although the number of retransmissions is not limited, there is no limit to the number of times because there is keep-alive monitoring. The reception timeout value T3 can be arbitrarily adjusted by an operation from the
図19、20、21は、キープアライブ(keepalive)のシーケンスを示した図である。図19は、CCUおよびIPユニットの間で送信データが無い場合のシーケンスであり、セッション確立と同時にキープアライブ間隔のタイマがスタートしている。図20は、CCUからIPユニットへの送信データがある場合のシーケンスであり、図21は、IPユニットからCCUへの送信データがある場合のシーケンスである。送信データがある場合は、最後の送信タイミングあるいは受信タイミングからキープアライブ間隔のタイマがスタートしている。 19, 20, and 21 are diagrams illustrating a keepalive sequence. FIG. 19 shows a sequence when there is no transmission data between the CCU and the IP unit, and the timer for the keep alive interval starts at the same time as the session is established. FIG. 20 is a sequence when there is transmission data from the CCU to the IP unit, and FIG. 21 is a sequence when there is transmission data from the IP unit to the CCU. When there is transmission data, the timer for the keep alive interval starts from the last transmission timing or reception timing.
本発明のUECPでは、プロトコルレベルでセッションごとにキープアライブを行い、互いに通信相手の生死およびLANケーブル(途中のHUBやルータなどのIP機器も含む)の接続状態を確認する。キープアライブ要求の送信間隔T5はポート番号毎に設定でき、本実施形態では50〜65500msの範囲であれば50ms刻みで任意に設定でき、ここでは初期値の3秒に設定されている。 The UECP of the present invention performs keep alive for each session at the protocol level, and confirms the life and death of communication partners and the connection state of LAN cables (including IP devices such as HUBs and routers on the way). The keep-alive request transmission interval T5 can be set for each port number. In this embodiment, it can be arbitrarily set in increments of 50 ms within the range of 50 to 65500 ms, and is set to an initial value of 3 seconds here.
また、キープアライブ要求に対する応答のタイムアウト値T4もポート番号毎に設定でき、本実施形態ではキープアライブ回数が1〜65535の範囲で任意に設定でき、ここでは初期値の4回に設定されている。したがって、タイムアウト値T4は、IPユニット側が12秒(=T5×4)秒となり、CCU側はキープアライブ要求の送信時間を考慮して14秒(=T5×4+2)秒となる。前記送信間隔T5およびキープアライブ回数は保守用コンピュータ95からの操作あるいはアプリケーションの設定で任意に調整できるが、タイムアウト値T4が12〜14秒程度またはそれ以下となるようにすることが望ましい。
In addition, the timeout value T4 of the response to the keep-alive request can be set for each port number. In this embodiment, the keep-alive number can be arbitrarily set within the range of 1 to 65535, and here, the initial value is set to 4 times. . Therefore, the timeout value T4 is 12 seconds (= T5 × 4) seconds on the IP unit side, and 14 seconds (= T5 × 4 + 2) seconds on the CCU side in consideration of the transmission time of the keep-alive request. The transmission interval T5 and the number of keep-alives can be arbitrarily adjusted by an operation from the
CCUおよびIPユニットから送信されるデータパケットでは、PSH、KPAおよびACKが同時に「1」にセットされ、送信するデータがない場合だけ、KPAおよびACKが「1」にセットされる。ただし、CCUからIPユニットへ送信するキープアライブ要求パケットではPSHが「1」にセットされる。「CCUが送信する単独のキープアライブ要求パケット」はデータサイズが「0」のパケットであり、「IPユニットが送信するキープアライブ応答パケット」はKPAが「1」の確認応答(ACK)パケットなので、データサイズが「0」のパケットはUECPレベルでは再送しないことになる。 In the data packet transmitted from the CCU and the IP unit, PSH, KPA and ACK are simultaneously set to “1”, and only when there is no data to be transmitted, KPA and ACK are set to “1”. However, PSH is set to “1” in the keep-alive request packet transmitted from the CCU to the IP unit. The “single keepalive request packet sent by CCU” is a packet with a data size of “0”, and the “keepalive response packet sent by the IP unit” is an acknowledgment (ACK) packet with a KPA of “1”. A packet having a data size of “0” is not retransmitted at the UECP level.
1…主制御ユニット(CCU)、2…TDM制御ユニット(TCCU)、3…カスタマエッジユニット(CEU)、4…音声変換ユニット(VCU)、100…IPボタン電話装置
DESCRIPTION OF
Claims (8)
UDPパケットのデータフィールドにプロトコルヘッダおよびデータの各フィールドを確保し、
前記プロトコルヘッダが、少なくともシーケンス番号フィールド、確認応答番号フィールドおよびパケット識別用のコードビットフィールドを含み、
前記シーケンス番号フィールドおよび確認応答番号フィールドに登録された番号に基づいて再送制御および順序制御を行うことを特徴とするパケット通信方法。 In the packet communication method for controlling packet switching in the upper layer of UDP,
Secure the protocol header and data fields in the UDP packet data field.
The protocol header includes at least a sequence number field, an acknowledgment number field, and a code bit field for packet identification;
A packet communication method, wherein retransmission control and order control are performed based on numbers registered in the sequence number field and the acknowledgment number field.
前記第4のタイムアウト値T4を設定する手順を含むことを特徴とする請求項1または2に記載のパケット通信方法。 A fourth timeout value T4 that defines a timeout for a keepalive response to a keepalive request is stored, and if a keepalive response is not received after the fourth timeout value T4 has elapsed, the session is closed,
The packet communication method according to claim 1 or 2, further comprising a step of setting the fourth timeout value T4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008280123A JP5334293B2 (en) | 2008-10-30 | 2008-10-30 | Packet communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008280123A JP5334293B2 (en) | 2008-10-30 | 2008-10-30 | Packet communication method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010109733A true JP2010109733A (en) | 2010-05-13 |
JP5334293B2 JP5334293B2 (en) | 2013-11-06 |
Family
ID=42298720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008280123A Active JP5334293B2 (en) | 2008-10-30 | 2008-10-30 | Packet communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5334293B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014524092A (en) * | 2011-07-15 | 2014-09-18 | ダマカ、インク. | System and method for reliable virtual bidirectional data stream communication with single socket point-to-multipoint performance |
JP2014209796A (en) * | 2014-07-31 | 2014-11-06 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Client device and server device |
JP2015505110A (en) * | 2012-01-14 | 2015-02-16 | インテル コーポレイション | Maintaining connections during low power operation |
JP2015526956A (en) * | 2012-07-05 | 2015-09-10 | ▲ホア▼▲ウェイ▼技術有限公司 | Pan-tilt-zoom device identification method, pan-tilt-zoom device, camera, and pan-tilt-zoom device control system |
CN109428683A (en) * | 2017-08-24 | 2019-03-05 | 福建省华渔教育科技有限公司 | Packet acknowledgement method and terminal based on bitmap |
JP2019176284A (en) * | 2018-03-28 | 2019-10-10 | 日本電気株式会社 | Communication device, communication method, and program |
JP2020136842A (en) * | 2019-02-18 | 2020-08-31 | 株式会社日立製作所 | Communication method and communication device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05160817A (en) * | 1991-12-06 | 1993-06-25 | Matsushita Electric Ind Co Ltd | Data transmission method |
JPH10247901A (en) * | 1997-03-04 | 1998-09-14 | Matsushita Electric Ind Co Ltd | Re-transmission control method |
JPH11313074A (en) * | 1998-04-28 | 1999-11-09 | Nec Corp | Radio data communicating method and equipment therefor |
JP2000324161A (en) * | 1999-03-10 | 2000-11-24 | Matsushita Electric Ind Co Ltd | Transmitter-receiver |
JP2001524290A (en) * | 1997-05-06 | 2001-11-27 | インターメック テクノロジーズ コーポレイション | Highly reliable data processing method and device using low reliability transport layer in handheld device using configurable timer |
JP2001527723A (en) * | 1997-05-06 | 2001-12-25 | インターメック テクノロジーズ コーポレイション | Providing reliable communication using low-reliability transport layers on handheld devices using persistent sessions |
JP2005184249A (en) * | 2003-12-17 | 2005-07-07 | Ttt Kk | Communication system, server, terminal, communication method, program, and storage medium |
-
2008
- 2008-10-30 JP JP2008280123A patent/JP5334293B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05160817A (en) * | 1991-12-06 | 1993-06-25 | Matsushita Electric Ind Co Ltd | Data transmission method |
JPH10247901A (en) * | 1997-03-04 | 1998-09-14 | Matsushita Electric Ind Co Ltd | Re-transmission control method |
JP2001524290A (en) * | 1997-05-06 | 2001-11-27 | インターメック テクノロジーズ コーポレイション | Highly reliable data processing method and device using low reliability transport layer in handheld device using configurable timer |
JP2001527723A (en) * | 1997-05-06 | 2001-12-25 | インターメック テクノロジーズ コーポレイション | Providing reliable communication using low-reliability transport layers on handheld devices using persistent sessions |
JPH11313074A (en) * | 1998-04-28 | 1999-11-09 | Nec Corp | Radio data communicating method and equipment therefor |
JP2000324161A (en) * | 1999-03-10 | 2000-11-24 | Matsushita Electric Ind Co Ltd | Transmitter-receiver |
JP2005184249A (en) * | 2003-12-17 | 2005-07-07 | Ttt Kk | Communication system, server, terminal, communication method, program, and storage medium |
Non-Patent Citations (1)
Title |
---|
JPN6007015419; 'TRANSMISSION CONTROL PROTOCOL' RFC 793 , 198109, page16,page77 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014524092A (en) * | 2011-07-15 | 2014-09-18 | ダマカ、インク. | System and method for reliable virtual bidirectional data stream communication with single socket point-to-multipoint performance |
JP2015505110A (en) * | 2012-01-14 | 2015-02-16 | インテル コーポレイション | Maintaining connections during low power operation |
JP2015526956A (en) * | 2012-07-05 | 2015-09-10 | ▲ホア▼▲ウェイ▼技術有限公司 | Pan-tilt-zoom device identification method, pan-tilt-zoom device, camera, and pan-tilt-zoom device control system |
US9509895B2 (en) | 2012-07-05 | 2016-11-29 | Huawei Technologies Co., Ltd. | Pan-tilt-zoom device identification method, pan-tilt-zoom device, camera, and pan-tilt-zoom device control system |
KR101749198B1 (en) * | 2012-07-05 | 2017-06-20 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Pan-tilt-zoom device identification method, pan-tilt-zoom device, camera, and pan-tilt-zoom device control system |
JP2014209796A (en) * | 2014-07-31 | 2014-11-06 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Client device and server device |
CN109428683A (en) * | 2017-08-24 | 2019-03-05 | 福建省华渔教育科技有限公司 | Packet acknowledgement method and terminal based on bitmap |
JP2019176284A (en) * | 2018-03-28 | 2019-10-10 | 日本電気株式会社 | Communication device, communication method, and program |
JP7143609B2 (en) | 2018-03-28 | 2022-09-29 | 日本電気株式会社 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM |
JP2020136842A (en) * | 2019-02-18 | 2020-08-31 | 株式会社日立製作所 | Communication method and communication device |
JP7102361B2 (en) | 2019-02-18 | 2022-07-19 | 株式会社日立製作所 | Communication method and communication device |
Also Published As
Publication number | Publication date |
---|---|
JP5334293B2 (en) | 2013-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5334293B2 (en) | Packet communication method | |
US9590821B2 (en) | Communication system for transmitting data under a tunnel protocol between at least two data computers via a wide area network and a method for running such a communication system | |
US7587490B2 (en) | Interception method and system for compensating disadvantageous characteristics of a communication protocol | |
EP1334590B1 (en) | Devices and methods for processing TCP and RTP traffic data | |
EP1724983B1 (en) | Method of providing a real-time communication connection | |
JP5014281B2 (en) | TCP transmission control apparatus and TCP transmission control method | |
US20020118671A1 (en) | Extending office telephony and network data services to a remote client through the internet | |
US8077624B2 (en) | Method and system for out-of-band signaling for TCP connection setup | |
US20080298349A1 (en) | System for transmitting high quality speech signals on a voice over internet protocol network | |
JP2000224261A (en) | Data link control protocol directly supporting network layer protocol and its method | |
JP2005318606A (en) | Method and apparatus for providing trace route and timing information for media stream | |
WO2005074231A1 (en) | Congestion handling in a packet communication system | |
WO2009039754A1 (en) | Method, media gateway and system for controlling redundant data packets transport | |
JP2008508817A (en) | High performance TCP suitable for low frequency ACK system | |
JP2002523981A (en) | Method and apparatus for providing user multiplexing in a real-time protocol | |
Lane et al. | Best-effort network layer packet reordering in support of multipath overlay packet dispersion | |
JP4546114B2 (en) | Voice packet transfer method and terminal used therefor | |
Cisco | X.25 and LAPB Commands | |
JP4275265B2 (en) | Call control server and voice data communication method | |
JP2002247067A (en) | Band controller | |
CN114339133B (en) | Network acceleration method, equipment and storage medium for connecting different video conference terminals | |
JP4757576B2 (en) | Wireless LAN transmission error improvement method, access point, and wireless LAN terminal | |
KR100462025B1 (en) | Apparatus and method of application level framing for media gateway control protocol | |
EP1215855A2 (en) | Method of network load management for voice over internet protocol | |
JP2003219027A (en) | Internet phone system and method for generating bypass thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111003 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130313 |
|
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: 20130724 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130729 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5334293 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |