JP2007013511A - Packet communication system and packet relaying apparatus - Google Patents
Packet communication system and packet relaying apparatus Download PDFInfo
- Publication number
- JP2007013511A JP2007013511A JP2005190858A JP2005190858A JP2007013511A JP 2007013511 A JP2007013511 A JP 2007013511A JP 2005190858 A JP2005190858 A JP 2005190858A JP 2005190858 A JP2005190858 A JP 2005190858A JP 2007013511 A JP2007013511 A JP 2007013511A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- communication
- received
- relay
- communication packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 322
- 230000005540 biological transmission Effects 0.000 claims description 123
- 238000000034 method Methods 0.000 claims description 39
- 208000033748 Device issues Diseases 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 59
- 238000010586 diagram Methods 0.000 description 12
- 230000009977 dual effect Effects 0.000 description 6
- 239000000725 suspension Substances 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
この発明は、同一通信パケットの多重通信を行うパケット通信システムおよびこれに使用するパケット中継装置に関する。 The present invention relates to a packet communication system that performs multiplex communication of identical communication packets and a packet relay device used therefor.
従来より、通信方式の一種として、パケット交換方式が知られている。パケット交換方式を採用した通信網では、通信パケット単位で任意の回線が使用されるため、送信側と受信側とによって回線が専有されることがなく、したがって通信回線の利用効率を高めることができる。 Conventionally, a packet switching system is known as a kind of communication system. In a communication network that employs a packet switching method, an arbitrary line is used in units of communication packets, so that the line is not exclusively used by the transmission side and the reception side, and therefore the use efficiency of the communication line can be improved. .
しかしながら、パケット交換網では、網の輻輳等に起因して通信パケットが遅延・紛失することがあり、このためにサービス品質が劣化する場合がある。例えば、画像通信サービスでは、パケット紛失のために動画のフレーム(1コマ分の画像)が欠落し、画質を劣化させる場合がある。また、例えばトランザクション処理サービス等の、通信データの欠落が許されない通信サービスでは、通信パケットが紛失した場合には該通信パケットを再送しなければならないため、通信レスポンスが低下することになる。 However, in a packet switching network, communication packets may be delayed or lost due to network congestion or the like, which may degrade service quality. For example, in an image communication service, a frame of a moving image (an image for one frame) may be lost due to packet loss, which may deteriorate image quality. In addition, in a communication service such as a transaction processing service that does not allow communication data to be lost, if a communication packet is lost, the communication packet must be retransmitted, resulting in a decrease in communication response.
加えて、例えばパケット交換網と通信装置とを接続する通信回線が断線した場合等、通信障害の発生によって、通信パケットが宛先に到達できなくなる場合もある。このような場合には、通信サービスの提供そのものが不能になる。従来は、通信回線を冗長化して障害発生時に経路切り換えを自動的に行うことにより、通信障害からの復旧の迅速化を図っていた。しかしながら、このような方法によっては、通信障害の発生そのものを防止することはできないので、障害発生からその障害が検出されて障害復旧機能が自動起動するまでの間は、通信サービスの中断を余儀なくされる。 In addition, for example, when a communication line connecting the packet switching network and the communication device is disconnected, the communication packet may not reach the destination due to the occurrence of a communication failure. In such a case, the communication service itself cannot be provided. Conventionally, the communication line is made redundant and the path is automatically switched when a failure occurs, thereby speeding up the recovery from the communication failure. However, since such a method cannot prevent the occurrence of a communication failure itself, the communication service must be interrupted from the time of the occurrence of the failure until the failure recovery function is automatically activated. The
通信パケットの遅延・喪失を防止する技術としては、例えば下記特許文献1に記載されたものが知られている。この技術では、パケット交換網の入力パケットスイッチで通信パケットのコピーを生成するとともに(同特許文献の段落0030参照)、元の通信パケットとコピーパケットとが異なる通信経路を介して宛先に到達するようにヘッダ情報(ルーティングタグ)を設定することによって(同文献の段落0034〜0036参照)、パケットの遅延・喪失の抑制を図っている。また、パケット交換網の出力パケットスイッチでは、通信パケットの情報の内容に基づいてコピーパケットの同一性を判断し、同一内容のコピーパケットを廃棄している(同特許文献の段落0032、0036参照)。
しかしながら、特許文献1の技術には、パケット交換網と通信装置とを接続する通信回線で、断線等の通信障害によるサービス中断が生じたときに、対応できないという欠点がある。 However, the technique of Patent Document 1 has a drawback that it cannot cope with a service interruption due to a communication failure such as disconnection in a communication line connecting a packet switching network and a communication device.
加えて、元の通信パケットとコピーパケットとが別の経路を介して宛先に到達するようにルーティングタグを個別に設定しなければならないので、ルート決定のための作業負担が大きいという欠点もある。 In addition, since the routing tag must be individually set so that the original communication packet and the copy packet reach the destination via different paths, there is a disadvantage that the work load for route determination is large.
また、特許文献1の技術では、通信パケットの情報の内容に基づいてコピーパケットの同一性を判断しているので、かかる同一性判断のための処理負担が大きくなるとともに、出力パケットスイッチが高価になるという欠点もある。 Moreover, in the technique of Patent Document 1, since the identity of the copy packet is determined based on the information content of the communication packet, the processing load for such identity determination increases, and the output packet switch is expensive. There is also a drawback of becoming.
この発明の課題は、通信パケットの遅延・喪失や通信障害が発生しても高品質のサービスを提供することができるパケット通信システムおよびパケット通信装置を安価に提供することにある。 An object of the present invention is to provide a packet communication system and a packet communication apparatus that can provide a high-quality service even when a communication packet is delayed or lost or a communication failure occurs at low cost.
(1)第1の発明は、送信装置と受信装置とを第1、第2通信網を介して接続してなるパケット通信システムに関する。 (1) The first invention relates to a packet communication system in which a transmission device and a reception device are connected via first and second communication networks.
そして、第1通信網が複数の第1中継装置を備え、第2通信網が対応する第1中継装置に通信接続された複数の第2中継装置を備え、送信装置が同一の通信パケットを2個ずつ生成して初段の第1、第2中継装置にそれぞれ出力する手段を備え、第1中継装置が送信装置または前段の第1中継装置から受信した通信パケットまたは対応する第2中継装置から受信した通信パケットが未受信であった場合は後段の第1中継装置または受信装置に転送し且つ当該通信パケットが既受信であった場合は廃棄する第1網内転送手段と、送信装置または前段の第1中継装置から受信した通信パケットが未受信であった場合に対応する第2中継装置に転送する第1網間転送手段とを有し、第2中継装置が送信装置または前段の第2中継装置から受信した通信パケットまたは対応する第1中継装置から受信した通信パケットが未受信であった場合は後段の第2中継装置または受信装置に転送し且つ当該通信パケットが既受信であった場合は廃棄する第2網内転送手段と、送信装置または前段の第2中継装置から受信した通信パケットが未受信であった場合に対応する第1中継装置に転送する第2網間転送手段とを有し、受信装置が最終段の第1、第2中継装置から受信した通信パケットが既受信であった場合は廃棄することを特徴とする。 The first communication network includes a plurality of first relay devices, the second communication network includes a plurality of second relay devices connected to the corresponding first relay device, and the transmission device transmits two identical communication packets. A means for generating and outputting to the first and second relay devices in the first stage, and the first relay device receiving the communication packet received from the transmitting device or the preceding first relay device or the corresponding second relay device; If the received communication packet has not been received, the first network transfer means for transferring to the first relay device or receiving device in the subsequent stage and discarding if the communication packet has already been received, First inter-network transfer means for transferring to a second relay device corresponding to a case where a communication packet received from the first relay device has not been received, wherein the second relay device is a transmitting device or a second relay in the preceding stage. The communication received from the device A second network that forwards the packet or the communication packet received from the corresponding first relay device to the second relay device or receiving device in the subsequent stage and discards the communication packet if the communication packet has already been received An internal transfer means, and a second inter-network transfer means for transferring to the corresponding first relay apparatus when a communication packet received from the transmitting apparatus or the preceding second relay apparatus has not been received. If the communication packet received from the first and second relay devices at the final stage has already been received, the communication packet is discarded.
(2)第2の発明は、送信装置と受信装置とを通信接続する複数系統の通信網をそれぞれ構築するためのパケット中継装置に関する。 (2) The second invention relates to a packet relay device for constructing a plurality of communication networks each for communication connection between a transmission device and a reception device.
そして、送信装置または前段の中継装置から受信した通信パケットまたは他の通信網の対応する中継装置から受信した通信パケットが未受信であった場合は後段の中継装置または受信装置に転送し、且つ、当該通信パケットが既受信であった場合は廃棄する網内転送手段と、送信装置または前段の中継装置から受信した通信パケットが未受信であった場合に他の通信網の対応する中継装置に転送する網間転送手段とを備える。 And when the communication packet received from the transmitting device or the preceding relay device or the communication packet received from the corresponding relay device of another communication network is not received, it is transferred to the succeeding relay device or receiving device, and If the communication packet has already been received, discard it in the network and forward it to the corresponding relay device in another communication network if the communication packet received from the transmitter or the preceding relay device has not been received. Network transfer means.
第1、第2の発明によれば、送信装置が第1、第2通信網に送信した同一通信パケットを、これらの通信網内の対応する中継装置間で交換しながら送信装置に送るので、通信回線で障害が生じてもサービスが中断され難く、また、同一通信パケットが別の経路を介して宛先に到達するようにルーティング設定を行う必要がないので、処理が簡単である。 According to the first and second inventions, the same communication packet transmitted from the transmission device to the first and second communication networks is sent to the transmission device while being exchanged between corresponding relay devices in these communication networks. Even if a failure occurs in the communication line, the service is not easily interrupted, and it is not necessary to make a routing setting so that the same communication packet reaches the destination via another route, so the processing is simple.
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、この発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。 Embodiments of the present invention will be described below with reference to the drawings. In the drawings, the size, shape, and arrangement relationship of each component are shown only schematically to the extent that the present invention can be understood, and the numerical conditions described below are merely examples. .
第1実施形態
この発明の第1実施形態について、図1〜図10を用いて説明する。
First Embodiment A first embodiment of the present invention will be described with reference to FIGS.
図1は、この実施形態に係る通信システムの全体構成を概略的に示す概念図である。図1に示したように、この実施形態の通信システム100は、2台のパケット交換装置110,120と、2系統のパケット交換網130,140とを含む。 FIG. 1 is a conceptual diagram schematically showing the overall configuration of a communication system according to this embodiment. As shown in FIG. 1, the communication system 100 of this embodiment includes two packet switching apparatuses 110 and 120 and two systems of packet switching networks 130 and 140.
パケット交換装置110,120は、それぞれ固有の機能やサービスを実現するとともに、他方のパケット交換装置に機能やサービスの提供を要求する。パケット交換装置110,120の内部構造は、図2を用いて後述される。 Each of the packet switching apparatuses 110 and 120 implements a unique function and service, and requests the other packet switching apparatus to provide the function and service. The internal structure of the packet switching devices 110 and 120 will be described later with reference to FIG.
パケット交換網130は、インタフェースIF11を介してパケット交換装置110に接続され且つインタフェースIF21を介してパケット交換装置120に接続される。同様に、パケット交換網140は、インタフェースIF12を介してパケット交換装置110に接続され且つインタフェースIF22を介してパケット交換装置120に接続される。パケット交換網130は、n台のパケット中継装置131−1〜131−nを備えている。同様に、パケット交換網140は、n台のパケット中継装置141−1〜141−nを備えている。 The packet switching network 130 is connected to the packet switching apparatus 110 via the interface IF11 and is connected to the packet switching apparatus 120 via the interface IF21. Similarly, the packet switching network 140 is connected to the packet switching apparatus 110 via the interface IF12 and is connected to the packet switching apparatus 120 via the interface IF22. The packet switching network 130 includes n packet relay apparatuses 131-1 to 131-n. Similarly, the packet switching network 140 includes n packet relay apparatuses 141-1 to 141-n.
図2は、この実施形態に係るパケット交換装置110,120の内部構成を概略的に示すブロック図である。 FIG. 2 is a block diagram schematically showing the internal configuration of the packet switching devices 110 and 120 according to this embodiment.
図2に示したように、この実施形態のパケット交換装置110は、アプリケーション機能部210と、パケット送受信機能部220と、パケット入出力部230,240とを備えている。 As shown in FIG. 2, the packet switching apparatus 110 of this embodiment includes an application function unit 210, a packet transmission / reception function unit 220, and packet input / output units 230 and 240.
アプリケーション機能部210は、該パケット交換装置110に固有の機能やサービスを実現する。このアプリケーション機能部210は、他のパケット交換装置から受信されたデータ等を、パケット送受信機能部220を介して受け取る。さらに、アプリケーション機能部210は、他のパケット交換装置に送信すべきデータや宛先アドレス等を、パケット送受信機能部220に受け渡す。 The application function unit 210 implements functions and services unique to the packet switching apparatus 110. The application function unit 210 receives data received from other packet switching devices via the packet transmission / reception function unit 220. Further, the application function unit 210 passes data to be transmitted to other packet switching devices, a destination address, and the like to the packet transmission / reception function unit 220.
パケット送受信機能部220は、アプリケーション機能部210から受け取ったデータや宛先アドレスを用いて、通信パケットを生成する。パケット送受信機能部220は、同一の通信パケットを1個ずつ送信する(以下、単一送信と記す)機能と、2個ずつ送信する(以下、二重送信と記す)機能とを有する。後述するように、二重送信を行う場合、パケット送受信機能部220は、通信パケットに、二重通信であることを示す識別情報と、シーケンス番号とを格納して、パケット入出力部230,240の両方に受け渡す。また、パケット送受信機能部220は、パケット入出力部230,240が受信したパケットを受け取る。後述するように、パケット送受信機能部220は、同一の通信パケットを2個受信した場合、その一方を廃棄する。さらに、パケット送受信機能部220は、保留バッファ221と保留タイマ222とを備えている。保留バッファ221は、受信した通信パケットの送信元アドレスごとに1個の通信パケットを一時保存することができ、通信パケットの受信順序が逆転したときの並べ替えを行うために使用される。保留タイマ222は、保留バッファ221の保留時間を管理するために使用される。 The packet transmission / reception function unit 220 generates a communication packet using the data and the destination address received from the application function unit 210. The packet transmission / reception function unit 220 has a function of transmitting the same communication packet one by one (hereinafter referred to as “single transmission”) and a function of transmitting two each (hereinafter referred to as “double transmission”). As will be described later, when duplex transmission is performed, the packet transmission / reception function unit 220 stores identification information indicating a duplex communication and a sequence number in a communication packet, and packet input / output units 230 and 240. Pass to both. Further, the packet transmission / reception function unit 220 receives the packets received by the packet input / output units 230 and 240. As will be described later, when receiving two identical communication packets, the packet transmission / reception function unit 220 discards one of them. Further, the packet transmission / reception function unit 220 includes a hold buffer 221 and a hold timer 222. The hold buffer 221 can temporarily store one communication packet for each transmission source address of the received communication packet, and is used for rearrangement when the reception order of communication packets is reversed. The hold timer 222 is used for managing the hold time of the hold buffer 221.
パケット入出力部230は、パケット送受信機能部220から受け取った通信パケットを一方のパケット交換網130に送信するとともに、該パケット交換網130から受信した通信パケットをパケット送受信機能部220に受け渡す。同様に、パケット入出力部240は、パケット送受信機能部220から受け取った通信パケットを他方のパケット交換網140に送信するとともに、該パケット交換網140から受信した通信パケットをパケット送受信機能部220に受け渡す。 The packet input / output unit 230 transmits the communication packet received from the packet transmission / reception function unit 220 to one packet switching network 130, and passes the communication packet received from the packet switching network 130 to the packet transmission / reception function unit 220. Similarly, the packet input / output unit 240 transmits the communication packet received from the packet transmission / reception function unit 220 to the other packet switching network 140, and receives the communication packet received from the packet switching network 140 to the packet transmission / reception function unit 220. hand over.
図3は、この実施形態に係るパケット中継装置131−1〜131−n,141−1〜141−nの内部構成を概略的に示すブロック図である。なお、図3は、簡単化のために、パケット交換装置110からパケット交換装置120へのパケット送信に寄与する構成のみを示しているが、パケット交換装置120からパケット交換装置110へのパケット送信に寄与する構成も、これと同一でよい。 FIG. 3 is a block diagram schematically showing the internal configuration of the packet relay apparatuses 131-1 to 131-n and 141-1 to 141-n according to this embodiment. FIG. 3 shows only a configuration that contributes to packet transmission from the packet switching apparatus 110 to the packet switching apparatus 120 for simplification. However, FIG. 3 illustrates packet transmission from the packet switching apparatus 120 to the packet switching apparatus 110. The contributing configuration may be the same.
図3に示したように、この実施形態のパケット交換装置は、網内転送機能部310と、網間転送機能部320と、パケット入力部330,340と、パケット出力部350,360とを備えている。 As shown in FIG. 3, the packet switching apparatus of this embodiment includes an intra-network transfer function unit 310, an inter-network transfer function unit 320, packet input units 330 and 340, and packet output units 350 and 360. ing.
網内転送機能部310は、前段装置(パケット交換装置110またはパケット中継装置131−1〜131−(1−n),141−1〜141−(n−1)のいずれか)が送信した通信パケットをパケット入力部330から受信し、また、他方のパケット交換網の対応パケット中継装置(パケット中継装置131−1〜131−n,141−1〜141−nのいずれか)が送信した通信パケットをパケット入力部340から受信する。網内転送機能部310が同一の通信パケットを2個受信した場合、その一方はパケット出力部350から次段のパケット中継装置131−2に転送され、他方は廃棄される。さらに、網内転送機能部310は、保留バッファ311と保留タイマ312とを備えている。保留バッファ311は、受信した通信パケットの送信元アドレスごとに1個の通信パケットを一時保存することができ、通信パケットの受信順序が逆転したときの並べ替えを行うために使用される。保留タイマ312は、保留バッファ311の保留時間を管理するために使用される。 The intra-network transfer function unit 310 is a communication transmitted by the upstream device (either the packet switching device 110 or the packet relay devices 131-1 to 131- (1-n), 141-1 to 141- (n-1)). A communication packet received from the packet input unit 330 and transmitted by a corresponding packet relay device (any one of the packet relay devices 131-1 to 131-n, 141-1 to 141-n) of the other packet switching network Is received from the packet input unit 340. When the intra-network transfer function unit 310 receives two identical communication packets, one of them is transferred from the packet output unit 350 to the next packet relay apparatus 131-2, and the other is discarded. Further, the intra-network transfer function unit 310 includes a hold buffer 311 and a hold timer 312. The hold buffer 311 can temporarily store one communication packet for each transmission source address of the received communication packet, and is used for rearrangement when the reception order of communication packets is reversed. The hold timer 312 is used to manage the hold time of the hold buffer 311.
網間転送機能部320は、パケット交換装置110が送信した通信パケットをパケット入力部330から受信して、受信した通信パケットが二重通信パケットであるかどうかを評価し、二重通信パケットの場合にはパケット出力部360を介してパケット中継器141−1に転送する。 The inter-network transfer function unit 320 receives the communication packet transmitted by the packet switching device 110 from the packet input unit 330, evaluates whether the received communication packet is a double communication packet, and in the case of a double communication packet Is transferred to the packet repeater 141-1 via the packet output unit 360.
図4は、パケット通信システム100で採用される層構造を示す概念図である。 FIG. 4 is a conceptual diagram showing a layer structure adopted in the packet communication system 100.
図4に示したように、パケット交換装置110,120の層構造は、それぞれ、下層側から、イーサネット(登録商標)層Eth(プライマリEth(P)およびセカンダリEth(S))、IP層、二重通信制御層、TCP/UDP層、アプリケーション層を有する。 As shown in FIG. 4, the layer structures of the packet switching apparatuses 110 and 120 are, from the lower layer side, Ethernet (registered trademark) layer Eth (primary Eth (P) and secondary Eth (S)), IP layer, two layers, respectively. It has a heavy communication control layer, a TCP / UDP layer, and an application layer.
イーサネット(登録商標)層は、OSI(Open Systems Interconnection)参照モデルの物理層およびデータリンク層に相当し、パケット交換装置110,120間のネットワーク接続を行う層である。パケット交換装置110のイーサネット(登録商標)層Ethのうち、プライマリEth(P)はインタフェースIF11に相当し、セカンダリEth(s)はインタフェースIF12に相当する(図1参照)。また、パケット交換装置120のイーサネット(登録商標)層Ethのうち、プライマリEth(P)はインタフェースIF21に相当し、セカンダ(登録商標)リEth(S)はインタフェースIF22に相当する。 The Ethernet (registered trademark) layer corresponds to a physical layer and a data link layer of an OSI (Open Systems Interconnection) reference model, and is a layer for performing network connection between the packet switching apparatuses 110 and 120. Of the Ethernet (registered trademark) layer Eth of the packet switching apparatus 110, the primary Eth (P) corresponds to the interface IF11, and the secondary Eth (s) corresponds to the interface IF12 (see FIG. 1). Further, in the Ethernet (registered trademark) layer Eth of the packet switching device 120, the primary Eth (P) corresponds to the interface IF21, and the second (registered trademark) Re Eth (S) corresponds to the interface IF22.
IP層は、OSI参照モデルにおけるネットワーク層の下層に対応し、IP(Internet protocol) 制御を実行する。 The IP layer corresponds to the lower layer of the network layer in the OSI reference model, and executes IP (Internet protocol) control.
二重通信制御層は、OSI参照モデルにおけるネットワーク層の上層に対応し、この実施形態に係る二重通信の制御を担う層である。すなわち、二重通信制御層は、送信パケットへの識別情報およびシーケンス番号の付加を行うとともに、受信パケットから該識別情報およびシーケンス番号を読み出して二重受信制御を行う(後述)。 The dual communication control layer corresponds to the upper layer of the network layer in the OSI reference model, and is a layer responsible for controlling the dual communication according to this embodiment. That is, the duplex communication control layer adds identification information and a sequence number to a transmission packet, and performs double reception control by reading the identification information and sequence number from the received packet (described later).
TCP/UDP層は、OSI参照モデルのトランスポート層に対応し、通常のTCP(Transmission Control Protocol) やUDP(User Datagram Protocol)を実行する。 The TCP / UDP layer corresponds to the transport layer of the OSI reference model, and executes normal TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
アプリケーション層は、OSI参照モデルのセッション層、プレゼンテーション層およびアプリケーション層に対応し、Telnet、DNS(Domain Name Service)、HTTP(Hyper Text Transfer Protocol)、FTP(File Transfer Protocol)等を実行する。 The application layer corresponds to the session layer, presentation layer, and application layer of the OSI reference model, and executes Telnet, DNS (Domain Name Service), HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol), and the like.
なお、パケット中継装置131−1〜131−n,141−1〜141−nは、図4の層構造のうち、イーサネット(登録商標)層Eth、IP層および二重通信制御層に対応する制御のみを行う。 The packet relay apparatuses 131-1 to 131-n and 141-1 to 141-n control corresponding to the Ethernet (registered trademark) layer Eth, the IP layer, and the duplex communication control layer in the layer structure of FIG. Only do.
このように、この実施形態では、二重通信制御層をTCP/UDP層とIP層との間に設けたので、TCP/UDPやアプリケーション層の制御に影響を与えずに、二重通信制御を行うことができる。 Thus, in this embodiment, since the dual communication control layer is provided between the TCP / UDP layer and the IP layer, the dual communication control can be performed without affecting the control of the TCP / UDP and the application layer. It can be carried out.
以下、この実施形態に係るパケット通信システム100の動作について、パケット交換装置110からパケット交換装置120に通信パケットを送信する場合を例に採って説明する。なお、パケット交換装置120からパケット交換装置110に通信パケットを送信する場合も、これと同様でよい。 Hereinafter, the operation of the packet communication system 100 according to this embodiment will be described by taking a case where a communication packet is transmitted from the packet switching apparatus 110 to the packet switching apparatus 120 as an example. The same applies to the case where a communication packet is transmitted from the packet switching apparatus 120 to the packet switching apparatus 110.
図5は、二重送信が正常に行われた場合(通信パケットの損失や遅延が発生しなかった場合)の、パケット通信システム100の全体動作を説明するための概念図である。図6、図7は、パケット中継装置131−1の中継動作を説明するためのフローチャートである。また、図8、図9は、パケット交換装置120の受信動作を説明するためのフローチャートである。 FIG. 5 is a conceptual diagram for explaining the overall operation of the packet communication system 100 when duplex transmission is normally performed (when no communication packet loss or delay occurs). 6 and 7 are flowcharts for explaining the relay operation of the packet relay apparatus 131-1. 8 and 9 are flowcharts for explaining the reception operation of the packet switching apparatus 120.
最初に、単一送信の場合の動作を説明する。 First, the operation in the case of single transmission will be described.
パケット交換装置110が通信パケットを送信する際には、最初に、アプリケーション機能部210(図2参照)からパケット送受信機能部220に、送信要求が送られる。この送信要求には、送信データ(ユーザデータ)や宛先アドレスが含まれる。パケット送受信機能部220は、送信要求を受け取ると、当該送信の単一送信/二重送信の区別を判断する。この判断は、例えば、二重送信を行う宛先アドレスを予めパケット送受信機能部220内に登録しておくことにより、行うことができる。 When the packet switching apparatus 110 transmits a communication packet, first, a transmission request is sent from the application function unit 210 (see FIG. 2) to the packet transmission / reception function unit 220. This transmission request includes transmission data (user data) and a destination address. When receiving the transmission request, the packet transmission / reception function unit 220 determines whether the transmission is single transmission / duplex transmission. This determination can be made, for example, by registering in advance in the packet transmission / reception function unit 220 a destination address for performing double transmission.
単一送信を行う場合、パケット送受信機能部220は、アプリケーション機能部210から受け取った送信データや宛先アドレスを用い、従来と同様にして通信パケットを生成する。単一送信の場合、通信パケットには、上述の識別情報やシーケンス番号は格納されない。生成された通信パケットは、パケット入出力部230,240の一方に送られる。通信パケットを受け取ったパケット入出力部(230または240)は、この通信パケットを、対応するパケット中継装置(130−1または140−1)に送信する。ここでは、単一送信に係る通信パケットが、パケット入出力部230からパケット中継装置131−1に送られる場合を例に採って説明する。 When performing single transmission, the packet transmission / reception function unit 220 uses the transmission data and the destination address received from the application function unit 210 to generate a communication packet in the same manner as in the past. In the case of single transmission, the above identification information and sequence number are not stored in the communication packet. The generated communication packet is sent to one of the packet input / output units 230 and 240. The packet input / output unit (230 or 240) that has received the communication packet transmits this communication packet to the corresponding packet relay device (130-1 or 140-1). Here, a case where a communication packet related to single transmission is sent from the packet input / output unit 230 to the packet relay apparatus 131-1 will be described as an example.
パケット中継装置131−1内のパケット入力部330(図3参照)は、パケット交換装置110から通信パケットを受信する。そして、パケット入力部330は、この通信パケットを、網内転送機能部310および網間転送機能部320に送る。 The packet input unit 330 (see FIG. 3) in the packet relay apparatus 131-1 receives a communication packet from the packet switching apparatus 110. Then, the packet input unit 330 sends this communication packet to the intra-network transfer function unit 310 and the inter-network transfer function unit 320.
網内転送機能部310は、パケット入力部330から通信パケットを受け取ると、その通信パケットに識別情報が格納されているか否かをチェックする(図6のステップS601参照)。ここでは識別情報が格納されていないので、網内転送機能部310は、その通信パケットを単一送信に係る通信パケットであると判断し、パケット出力部350に通信パケットの送信を指示して(ステップS602参照)、通信パケットに関する処理を終了する。 When receiving the communication packet from the packet input unit 330, the intra-network transfer function unit 310 checks whether the identification information is stored in the communication packet (see step S601 in FIG. 6). Since the identification information is not stored here, the intra-network transfer function unit 310 determines that the communication packet is a communication packet related to single transmission, and instructs the packet output unit 350 to transmit the communication packet ( Step S602), and the process related to the communication packet is terminated.
パケット中継装置131−2〜131−nは、それぞれパケット中継装置131−1と同様にして、前段から受信した通信パケットを後段に転送する。 Each of the packet relay apparatuses 131-2 to 131-n transfers the communication packet received from the previous stage to the subsequent stage in the same manner as the packet relay apparatus 131-1.
パケット交換装置120内のパケット入出力部230(図3参照)は、パケット中継装置131−nから通信パケットを受信する。そして、パケット入出力部230は、通信パケットを、パケット送受信機能部220に送る。 The packet input / output unit 230 (see FIG. 3) in the packet switching apparatus 120 receives a communication packet from the packet relay apparatus 131-n. Then, the packet input / output unit 230 sends the communication packet to the packet transmission / reception function unit 220.
パケット送受信機能部220は、通信パケットを受け取ると、その通信パケットに識別情報が格納されているか否かをチェックする(図8のステップS801参照)。ここでは識別情報が格納されていないので、パケット送受信機能部220は、その通信パケットを単一送信に係る通信パケットであると判断して、該通信パケットの受信をアプリケーション機能部210に通知し(ステップS802参照)、その受信パケットに関する処理を終了する。 When receiving the communication packet, the packet transmission / reception function unit 220 checks whether the identification information is stored in the communication packet (see step S801 in FIG. 8). Here, since identification information is not stored, the packet transmission / reception function unit 220 determines that the communication packet is a communication packet related to single transmission, and notifies the application function unit 210 of reception of the communication packet ( In step S802), the processing related to the received packet is terminated.
次に、二重送信の場合の動作を説明する。 Next, the operation in the case of duplex transmission will be described.
上述のように、パケット送受信機能部220がアプリケーション機能部210から送信要求を受け取り、この送信要求に含まれる宛先アドレスが予めパケット送受信機能部220内に登録されているアドレスと一致する場合、パケット送受信機能部は二重送信のための処理を行う。 As described above, when the packet transmission / reception function unit 220 receives a transmission request from the application function unit 210 and the destination address included in the transmission request matches the address registered in the packet transmission / reception function unit 220 in advance, the packet transmission / reception function unit 220 The functional unit performs processing for double transmission.
この二重送信処理では、パケット送受信機能部220が、アプリケーション機能部210から受け取った送信データや宛先アドレスに加え、識別情報やシーケンス番号を用いて、通信パケットを生成する。識別情報の形態は任意であり、受信側のパケット交換装置が二重送信であることを認識できればよい。また、シーケンス番号は、同一の宛先アドレスに送信される通信パケットの送信順を示す番号である。シーケンス番号の初期値は任意であるが、通信パケットを生成するたびに、「+1」ずつインクリメントされる。パケット送受信機能部220は、登録された宛先アドレス(二重送信を行う宛先アドレス)ごとに、シーケンス番号を一時的に記憶する。識別情報やシーケンス番号の格納位置は、例えば図4に示した層構造に対応させて定めればよい。また、このシーケンス番号として、TCP(Transmission Control Protocol) やRTP(Real-time Transport Protocol)で使用されるシーケンス番号を流用してもよい。 In this double transmission process, the packet transmission / reception function unit 220 generates a communication packet using identification information and a sequence number in addition to the transmission data and destination address received from the application function unit 210. The form of the identification information is arbitrary, and it is sufficient that the receiving side packet switching apparatus can recognize that it is duplex transmission. The sequence number is a number indicating the transmission order of communication packets transmitted to the same destination address. The initial value of the sequence number is arbitrary, but is incremented by “+1” each time a communication packet is generated. The packet transmission / reception function unit 220 temporarily stores a sequence number for each registered destination address (destination address for dual transmission). The storage location of the identification information and sequence number may be determined in correspondence with the layer structure shown in FIG. 4, for example. Further, as this sequence number, a sequence number used in TCP (Transmission Control Protocol) or RTP (Real-time Transport Protocol) may be used.
生成された通信パケットは、パケット入出力部230,240の両方に送られる。通信パケットを受け取ったパケット入出力部230,240は、それぞれ、該通信パケットを、対応するパケット中継装置130−1,140−1に送信する(図5のP1,P2参照)。したがって、一回の二重送信に係る一対の通信パケットP1,P2には、同じシーケンス番号が格納されることになる。 The generated communication packet is sent to both the packet input / output units 230 and 240. Receiving the communication packet, the packet input / output units 230 and 240 respectively transmit the communication packet to the corresponding packet relay apparatuses 130-1 and 140-1 (see P1 and P2 in FIG. 5). Therefore, the same sequence number is stored in the pair of communication packets P1, P2 related to one double transmission.
パケット中継装置131−1内のパケット入力部330(図3参照)は、パケット交換装置110から通信パケットP1を受信する。そして、パケット入力部330は、通信パケットP1を、網内転送機能部310および網間転送機能部320に送る。 The packet input unit 330 (see FIG. 3) in the packet relay device 131-1 receives the communication packet P1 from the packet switching device 110. Then, the packet input unit 330 sends the communication packet P1 to the intra-network transfer function unit 310 and the inter-network transfer function unit 320.
後述するように、網内転送機能部310は、この通信パケットP1を、所定の場合にパケット中継装置141−1に転送する。同様に、パケット中継装置141−1内の網内転送機能部310も、通信パケットP2を、所定の場合に、パケット中継装置131−1に転送する。パケット中継装置131−1内のパケット入力部340は、パケット中継装置141−1から通信パケットP2を受信すると、この通信パケットP2を網内転送機能部310に送る。 As will be described later, the intra-network transfer function unit 310 transfers the communication packet P1 to the packet relay device 141-1 in a predetermined case. Similarly, the intra-network transfer function unit 310 in the packet relay device 141-1 also transfers the communication packet P2 to the packet relay device 131-1 in a predetermined case. When the packet input unit 340 in the packet relay device 131-1 receives the communication packet P2 from the packet relay device 141-1, the packet input unit 340 sends the communication packet P2 to the intra-network transfer function unit 310.
網内転送機能部310は、パケット入力部330または340から通信パケットP1またはP2を受け取ると、その通信パケットに識別情報が格納されているか否かをチェックする(図6のステップS601参照)。ここでは識別情報が格納されているので、網内転送機能部310は、該受信パケットを二重送信に係る通信パケットであると判断して、該受信パケットのシーケンス番号を期待値とを比較する(ステップS603参照)。網内転送機能部310は、二重送信を行うことができるパケット交換装置110,120のアドレスを記憶しており、さらに、該アドレスごとに、次に受信されるべき通信パケットのシーケンス番号(期待値)を一時保存している。パケット交換装置110の電源立ち上げ時、各アドレスに対応する期待値は、初期値に設定される。受信パケットのシーケンス番号が期待値と一致した場合、網内転送機能部310は、該期待値を「+1」だけインクリメントして(ステップS604参照)、その通信パケットの送信をパケット出力部350に指示する(ステップS605参照)。 When receiving the communication packet P1 or P2 from the packet input unit 330 or 340, the intra-network transfer function unit 310 checks whether or not identification information is stored in the communication packet (see step S601 in FIG. 6). Since the identification information is stored here, the intra-network transfer function unit 310 determines that the received packet is a communication packet related to duplex transmission, and compares the sequence number of the received packet with an expected value. (Refer to step S603). The intra-network transfer function unit 310 stores the addresses of the packet switching apparatuses 110 and 120 that can perform double transmission, and for each address, the sequence number (expectation) of the communication packet to be received next. Value) is temporarily saved. When the packet switching apparatus 110 is powered on, the expected value corresponding to each address is set to an initial value. When the sequence number of the received packet matches the expected value, the intra-network transfer function unit 310 increments the expected value by “+1” (see step S604) and instructs the packet output unit 350 to transmit the communication packet. (Refer to step S605).
続いて、網内転送機能部310は、保留バッファ311のチェックを行う(ステップS606参照)。保留バッファ311に通信パケットが保存されていない場合、網内転送機能部310は、当該受信パケットに関する処理を終了する。一方、ステップS606で保留バッファ311に通信パケットが保存されていると判断された場合、網内転送機能部310は、かかる保留パケットのシーケンス番号を、受信パケット(P1またはP2)のシーケンス番号と比較する(ステップS607参照)。 Subsequently, the intra-network transfer function unit 310 checks the reservation buffer 311 (see step S606). If no communication packet is stored in the hold buffer 311, the intra-network transfer function unit 310 ends the process related to the received packet. On the other hand, when it is determined in step S606 that the communication packet is stored in the hold buffer 311, the intra-network transfer function unit 310 compares the sequence number of the hold packet with the sequence number of the received packet (P1 or P2). (Refer to step S607).
これらのシーケンス番号が連続している場合、網内転送機能部310は、保留バッファ311に保存された通信パケット(保留パケット)の転送をパケット出力部350に指示する(ステップS608参照)。 When these sequence numbers are consecutive, the intra-network transfer function unit 310 instructs the packet output unit 350 to transfer the communication packet (hold packet) stored in the hold buffer 311 (see step S608).
さらに、網内転送機能部310は、シーケンス番号の期待値を「+1」だけインクリメントし(ステップS609参照)、保留タイマ312の停止と保留バッファ311の開放とを行って(ステップS610,S611参照)、その受信パケットに関する処理を終了する。このような処理により、2個の連続パケットの順序が逆転して受信された場合に、その順序を正して次段装置(ここではパケット中継装置311−2)に転送することができる。 Further, the intra-network transfer function unit 310 increments the expected value of the sequence number by “+1” (see step S609), stops the hold timer 312 and releases the hold buffer 311 (see steps S610 and S611). Then, the process related to the received packet is terminated. By such processing, when two consecutive packets are received in the reverse order, the order can be corrected and transferred to the next stage device (here, the packet relay device 311-2).
一方、ステップS607においてシーケンス番号が非連続の場合は、保留タイマ312を再起動して、その受信パケットに関する処理を終了する。この処理により、保留バッファ311の保留時間が延長される。 On the other hand, if the sequence numbers are not consecutive in step S607, the hold timer 312 is restarted, and the process related to the received packet is terminated. By this process, the holding time of the holding buffer 311 is extended.
ステップS603においてシーケンス番号が期待値と一致しなかった場合、網内転送機能部310は、受信した通信パケットが、既に受信された通信パケットと同一か否かをチェックする(図7のステップS701参照)。例えば、シーケンス番号が初期値以上であり且つ内部に保存された期待値よりも小さい値のとき、その通信パケットは既に受信された通信パケットと同一である(すなわち、通信パケットP1,P2が両方とも正常に受信された)と、判断することができる。同一であると判断された場合、網内転送機能部310は、その通信パケットを廃棄して(ステップS702参照)、その受信パケットに関する処理を終了する。 When the sequence number does not match the expected value in step S603, the intra-network transfer function unit 310 checks whether or not the received communication packet is the same as the already received communication packet (see step S701 in FIG. 7). ). For example, when the sequence number is greater than or equal to the initial value and smaller than the expected value stored therein, the communication packet is the same as the communication packet already received (that is, both communication packets P1 and P2 are It is possible to determine that the data has been received normally. When it is determined that they are the same, the intra-network transfer function unit 310 discards the communication packet (see step S702), and ends the process related to the received packet.
ステップS701で既に受信された通信パケットと同一でないと判断された場合、網内転送機能部310は、保留バッファ311に通信パケットが保存されているか否かを判断する(ステップS703参照)。そして、保留バッファ311が空の場合は、受信パケットを格納するとともに(ステップS704参照)、保留タイマ312を起動して(ステップS705参照)、その受信パケットに関する処理を終了する。なお、保留タイマ312の計時時間が所定の保留時間に達した場合は、保留バッファ311内の通信パケッが廃棄される。通常、保留タイマ312の計時時間が所定の保留時間に達するのは、1個または複数個の通信パケットがパケット交換網130,140の両方で喪失した場合であり、このような場合に保留バッファ311内の1個の通信パケットのみをアプリケーション機能部210に引き渡しても有益でないと考えられるからである。通信パケットの喪失が発生した場合、例えばTCP等では、受信側パケット交換装置(ここではパケット交換装置120)のアプリケーション機能部210の命令によって送信側パケット交換装置(ここではパケット交換装置110)に通信パケットの再送依頼が送信される。かかる保留時間は、任意であるが、例えば数ミリ秒から数十ミリ秒に設定される。 If it is determined in step S701 that the communication packet is not the same as the communication packet already received, the intra-network transfer function unit 310 determines whether or not the communication packet is stored in the hold buffer 311 (see step S703). If the hold buffer 311 is empty, the received packet is stored (see step S704), the hold timer 312 is started (see step S705), and the process related to the received packet is ended. When the time measured by the hold timer 312 reaches a predetermined hold time, the communication packet in the hold buffer 311 is discarded. Normally, the time measured by the hold timer 312 reaches a predetermined hold time when one or more communication packets are lost in both the packet switching networks 130 and 140. In such a case, the hold buffer 311 is used. This is because it is considered that it is not useful to deliver only one of the communication packets to the application function unit 210. When a communication packet is lost, for example, in TCP or the like, communication is made to the transmission side packet switching device (here, the packet switching device 110) by an instruction of the application function unit 210 of the reception side packet switching device (here, the packet switching device 120). A packet resend request is sent. The holding time is arbitrary, but is set to, for example, several milliseconds to several tens of milliseconds.
ステップS703で保留バッファ311内に通信パケットが保存されていると判断された場合、網内転送機能部310は、保存パケットのシーケンス番号を受信パケット(P1たまはP2)のシーケンス番号と比較する(ステップS706参照)。 If it is determined in step S703 that the communication packet is stored in the hold buffer 311, the intra-network transfer function unit 310 compares the sequence number of the stored packet with the sequence number of the received packet (P1 or P2) ( (See step S706).
これらのシーケンス番号が連続する場合、網内転送機能部310は、これらの通信パケットの順序が逆転して受信されたと判断して、受信パケットおよび保留パケットの送信をパケット出力部350に指示する(ステップS707参照)。このとき、前段装置から受信された通信パケットについては、網間転送機能部320にも転送が指示される。さらに、網内転送機能部310は、保留タイマ312を停止し(ステップS708参照)、保留バッファを開放することによって保存パケットを廃棄し(ステップS709参照)、シーケンス番号の期待値を「+1」だけインクリメントして(ステップS710参照)、その受信パケットに関する処理を終了する。 If these sequence numbers are consecutive, the intra-network transfer function unit 310 determines that these communication packets have been received in reverse order, and instructs the packet output unit 350 to transmit the received packet and the hold packet ( (See step S707). At this time, transfer of the communication packet received from the preceding apparatus is also instructed to the inter-network transfer function unit 320. Further, the intra-network transfer function unit 310 stops the hold timer 312 (see step S708), discards the stored packet by releasing the hold buffer (see step S709), and sets the expected value of the sequence number to “+1”. Increment (see step S710), and the process related to the received packet ends.
また、ステップS706でシーケンス番号が一致している場合、網内転送機能部310は、これらの通信パケットが同一パケットであると判断して、受信パケットの送信をパケット出力部350に指示する(ステップS711参照)。このとき、前段装置から受信された通信パケットについては、網間転送機能部320にも転送が指示される。受信順序の逆転や先の通信パケットの喪失のために期待値よりもシーケンス番号が大きい受信パケットが保留バッファ311に保存され、さらに当該保存パケットと同一の通信パケットが受信されたとき、ステップS706で同一パケットであるとの判断が行われる。網内転送機能部310は、保留タイマ312の停止、保留バッファの開放および期待値のインクリメントを行って(ステップS708〜S710参照)、その受信パケットに関する処理を終了する。 If the sequence numbers match in step S706, the intra-network transfer function unit 310 determines that these communication packets are the same packet and instructs the packet output unit 350 to transmit the received packet (step S706). S711). At this time, transfer of the communication packet received from the preceding apparatus is also instructed to the inter-network transfer function unit 320. When a reception packet having a sequence number larger than the expected value is stored in the hold buffer 311 due to the reverse of the reception order or the loss of the previous communication packet, and when the same communication packet as the storage packet is received, in step S706 A determination is made that the packets are the same. The intra-network transfer function unit 310 stops the hold timer 312, releases the hold buffer, and increments the expected value (see Steps S <b> 708 to S <b> 710), and ends the processing related to the received packet.
一方、ステップS706でシーケンス番号が一致せず且つ連続していない場合、網内転送機能部310は、保留バッファ311に受信パケットを上書きするとともに(ステップS712参照)、保留タイマ312を再起動して(ステップS713参照)、その受信パケットに関する処理を終了する。ステップS706でシーケンス番号が非連続となるのは、通信パケットがパケット交換装置110・パケット中継装置131−1間およびパケット交換装置110・パケット中継装置141−1間の両方で喪失した場合が多く、このような場合に保留バッファ311内の1個の通信パケットのみを次段装置に転送しても有益でないと考えられるからである。 On the other hand, if the sequence numbers do not match and are not consecutive in step S706, the intra-network transfer function unit 310 overwrites the received packet in the hold buffer 311 (see step S712) and restarts the hold timer 312. (Refer to step S713), the process regarding the received packet is terminated. The sequence numbers become discontinuous in step S706 in many cases when communication packets are lost both between the packet switching device 110 and the packet relay device 131-1 and between the packet switching device 110 and the packet relay device 141-1. In such a case, it is considered that it is not useful to transfer only one communication packet in the hold buffer 311 to the next-stage device.
他のパケット中継装置131−2〜131−n,141−1〜141−nも、パケット中継装置131−1と同様にして、前段装置から受信した通信パケットおよび他のパケット交換網から受信した通信パケットを、後段装置に転送する。これにより、パケット交換装置110が二重送信した通信パケットは、通信障害等が発生した場合を除き、パケット交換装置120に到達する。 Other packet relay apparatuses 131-2 to 131-n and 141-1 to 141-n are also similar to the packet relay apparatus 131-1, and receive communication packets received from the preceding apparatus and other packet switching networks. The packet is transferred to the subsequent device. As a result, the communication packet double-transmitted by the packet switching device 110 reaches the packet switching device 120 except when a communication failure or the like occurs.
パケット交換装置120内のパケット入出力部230,240(図2参照)は、パケット中継装置131−n,141−nから通信パケットP1,P2を受信する。そして、パケット入出力部230,240は、通信パケットP1,P2を、パケット送受信機能部220に送る。 Packet input / output units 230 and 240 (see FIG. 2) in the packet switching apparatus 120 receive the communication packets P1 and P2 from the packet relay apparatuses 131-n and 141-n. Then, the packet input / output units 230 and 240 send the communication packets P1 and P2 to the packet transmission / reception function unit 220.
パケット交換装置120内のパケット送受信機能部220は、パケット入出力部230または240から通信パケットP1またはP2を受け取ると、その通信パケットに識別情報が格納されているか否かをチェックする(図8のステップS801参照)。ここでは識別情報が格納されているので、パケット送受信機能部220は、その通信パケットを二重送信に係る通信パケットであると判断して、その受信パケットのシーケンス番号を期待値とを比較する(ステップS803参照)。パケット送受信機能部220は、上述の網内転送機能部310と同様、二重送信を行うことができる他のパケット交換装置のアドレスを記憶しており、さらに、該アドレスごとに、次に受信されるべき通信パケットのシーケンス番号(期待値)を一時保存している。受信パケットのシーケンス番号が期待値と一致した場合、パケット送受信機能部220は、該期待値を「+1」だけインクリメントして(ステップS804参照)、その通信パケットの受信をアプリケーション機能部210に通知する(ステップS805参照)。 When the packet transmission / reception function unit 220 in the packet switching device 120 receives the communication packet P1 or P2 from the packet input / output unit 230 or 240, it checks whether or not identification information is stored in the communication packet (FIG. 8). (See step S801). Since the identification information is stored here, the packet transmission / reception function unit 220 determines that the communication packet is a communication packet related to double transmission, and compares the sequence number of the received packet with an expected value ( (See step S803). The packet transmission / reception function unit 220 stores the addresses of other packet switching devices capable of performing dual transmission, as in the above-described intra-network transfer function unit 310, and is further received next for each address. The sequence number (expected value) of the communication packet to be stored is temporarily stored. When the sequence number of the received packet matches the expected value, the packet transmission / reception function unit 220 increments the expected value by “+1” (see step S804) and notifies the application function unit 210 of reception of the communication packet. (See step S805).
続いて、パケット送受信機能部220は、保留バッファ221のチェックを行う(ステップS806参照)。保留バッファ221に通信パケットが保存されていない場合、パケット送受信機能部220は、当該受信パケットに関する処理を終了する。一方、ステップS806で保留バッファ221に通信パケットが保存されていると判断された場合、パケット送受信機能部220は、かかる保留パケットのシーケンス番号を、受信パケットのシーケンス番号と比較する(ステップS807参照)。 Subsequently, the packet transmission / reception function unit 220 checks the hold buffer 221 (see step S806). When the communication packet is not stored in the hold buffer 221, the packet transmission / reception function unit 220 ends the process related to the received packet. On the other hand, when it is determined in step S806 that the communication packet is stored in the hold buffer 221, the packet transmission / reception function unit 220 compares the sequence number of the hold packet with the sequence number of the received packet (see step S807). .
これらのシーケンス番号が連続している場合、パケット送受信機能部220は、保留バッファ221に保存された通信パケット(保留パケット)をアプリケーション機能部210に通知し(ステップS808参照)、シーケンス番号の期待値をさらに「+1」だけインクリメントし(ステップS809参照)、保留タイマ222の停止と保留バッファ221の開放とを行って(ステップS810,S811参照)、その受信パケットに関する処理を終了する。このような処理により、2個の連続パケットの順序が逆転して受信された場合に、その順序を正してアプリケーション機能部210に受け渡すことができる。 When these sequence numbers are consecutive, the packet transmission / reception function unit 220 notifies the application function unit 210 of the communication packet (hold packet) stored in the hold buffer 221 (see step S808), and the expected value of the sequence number. Is further incremented by “+1” (see step S809), the hold timer 222 is stopped and the hold buffer 221 is released (see steps S810 and S811), and the process for the received packet is completed. By such processing, when two consecutive packets are received in the reverse order, the order can be corrected and transferred to the application function unit 210.
一方、ステップS807においてシーケンス番号が非連続の場合は、保留タイマ222を再起動して、その受信パケットに関する処理を終了する。この処理により、保留バッファ221の保留時間が延長される。 On the other hand, if the sequence numbers are not consecutive in step S807, the hold timer 222 is restarted, and the process related to the received packet ends. By this process, the holding time of the holding buffer 221 is extended.
ステップS803においてシーケンス番号が期待値と一致しなかった場合、パケット送受信機能部220は、受信した通信パケットが、既に受信された通信パケットと同一か否かをチェックする(図9のステップS901参照)。例えば、シーケンス番号が初期値以上であり且つ内部に保存された期待値よりも小さい値のとき、その通信パケットは既に受信された通信パケットと同一である(すなわち、各パケット交換網130,140を介して送信された同一通信パケットP1,P2が両方とも正常に受信された)と、判断することができる。同一であると判断された場合、パケット送受信機能部220は、その通信パケットを廃棄して(ステップS902参照)、その受信パケットに関する処理を終了する。 If the sequence number does not match the expected value in step S803, the packet transmission / reception function unit 220 checks whether the received communication packet is the same as the already received communication packet (see step S901 in FIG. 9). . For example, when the sequence number is greater than or equal to the initial value and smaller than the expected value stored therein, the communication packet is the same as the already received communication packet (ie, each packet switched network 130, 140 is It is possible to determine that both of the same communication packets P1 and P2 transmitted through the network have been normally received. If it is determined that they are the same, the packet transmission / reception function unit 220 discards the communication packet (see step S902), and ends the process related to the received packet.
ステップS901で既に受信された通信パケットと同一でないと判断された場合、パケット送受信機能部220は、保留バッファ221に通信パケットが保存されているか否かを判断する(ステップS903参照)。そして、保留バッファ221が空の場合は、受信パケットを格納するとともに(ステップS904参照)、保留タイマ222を起動して(ステップS905参照)、その受信パケットに関する処理を終了する。なお、上述の網内転送機能部310と同様の理由により、保留タイマ222の計時時間が所定の保留時間に達した場合は、保留バッファ221内の通信パケッが廃棄される。 If it is determined in step S901 that the communication packet is not the same as the communication packet already received, the packet transmission / reception function unit 220 determines whether the communication packet is stored in the hold buffer 221 (see step S903). If the hold buffer 221 is empty, the received packet is stored (see step S904), the hold timer 222 is started (see step S905), and the process related to the received packet is ended. Note that, for the same reason as the intra-network transfer function unit 310 described above, when the time measured by the hold timer 222 reaches a predetermined hold time, the communication packet in the hold buffer 221 is discarded.
ステップS903で保留バッファ221内に通信パケットが保存されていると判断された場合、パケット送受信機能部220は、保存パケットのシーケンス番号を受信パケットのシーケンス番号と比較する(ステップS906参照)。 If it is determined in step S903 that the communication packet is stored in the hold buffer 221, the packet transmission / reception function unit 220 compares the sequence number of the stored packet with the sequence number of the received packet (see step S906).
これらのシーケンス番号が連続する場合、パケット送受信機能部220は、これらの通信パケットの順序が逆転して受信されたと判断して、受信パケットおよび保留パケットをアプリケーション機能部210に通知するとともに(ステップS907参照)、保留タイマ222を停止し(ステップS908参照)、保留バッファを開放することによって保存パケットを廃棄し(ステップS909参照)、シーケンス番号の期待値を「+1」だけインクリメントして(ステップS910参照)、その受信パケットに関する処理を終了する。 If these sequence numbers are consecutive, the packet transmission / reception function unit 220 determines that these communication packets have been received in reverse order, and notifies the application function unit 210 of the received packet and the hold packet (step S907). (See step S908), the hold buffer is released, the stored packet is discarded (see step S909), and the expected value of the sequence number is incremented by “+1” (see step S910). ), The processing related to the received packet is terminated.
また、ステップS906でシーケンス番号が一致している場合、パケット送受信機能部220は、これらの通信パケットが同一パケットであると判断して、受信パケットをアプリケーション機能部210に通知する(ステップS911参照)。さらに、パケット送受信機能部220は、保留タイマ222の停止、保留バッファの開放および期待値のインクリメントを行って(ステップS908〜S910参照)、その受信パケットに関する処理を終了する。 If the sequence numbers match in step S906, the packet transmission / reception function unit 220 determines that these communication packets are the same packet, and notifies the application function unit 210 of the received packet (see step S911). . Further, the packet transmission / reception function unit 220 stops the hold timer 222, releases the hold buffer, and increments the expected value (see steps S908 to S910), and ends the process related to the received packet.
一方、ステップS906でシーケンス番号が一致せず且つ連続していない場合、パケット送受信機能部220は、上述の網内転送機能部310と同じ理由により、保留バッファ221に受信パケットを上書きするとともに(ステップS912参照)、保留タイマ222を再起動して(ステップS913参照)、その受信パケットに関する処理を終了する。 On the other hand, if the sequence numbers do not match and are not consecutive in step S906, the packet transmission / reception function unit 220 overwrites the received packet in the hold buffer 221 for the same reason as the above-described intra-network transfer function unit 310 (step S906). In step S912, the hold timer 222 is restarted (see step S913), and the process related to the received packet ends.
この実施形態に係るパケット通信システム100では、通信障害や大規模な遅延が発生しない限り、パケット交換装置110が二重送信した通信パケットは、インタフェースIF11,12を介してパケット中継装置131−1,141−1に達し、パケット交換網130,140内のすべての通信経路A1〜An−1,B1〜Bn−1およびパケット交換網130,140間のすべての通信経路C1〜Cn,D1〜Dnを通過して、パケット中継装置131−n,141−nに受信されることになる。したがって、これらの通信経路A1〜An−1,B1〜Bn−1,C1〜Cn,D1〜Dnの一部で通信障害等が発生した場合に、サービスが停止される可能性を非常に低くすることができる。 In the packet communication system 100 according to this embodiment, unless a communication failure or a large-scale delay occurs, the communication packet double-transmitted by the packet switching device 110 is transmitted via the interface IFs 11 and 12 to the packet relay device 131-1. 141-1, all communication paths A1 to An-1, B1 to Bn-1 in the packet switching networks 130 and 140 and all communication paths C1 to Cn and D1 to Dn between the packet switching networks 130 and 140 are connected. It passes through and is received by the packet relay devices 131-n and 141-n. Therefore, when a communication failure or the like occurs in a part of these communication paths A1 to An-1, B1 to Bn-1, C1 to Cn, and D1 to Dn, the possibility that the service is stopped is extremely reduced. be able to.
図10は、異常発生時の、パケット通信システム100の動作例を示す概念図である。図10に示したように、この実施形態に係るパケット通信システム100では、通信経路A1〜An−1,B1〜Bn−1,C1〜Cn,D1〜Dnの一部で通信障害等が発生しても、その障害発生地点よりも後段では、正常な二重通信を行うことができる。 FIG. 10 is a conceptual diagram illustrating an operation example of the packet communication system 100 when an abnormality occurs. As shown in FIG. 10, in the packet communication system 100 according to this embodiment, a communication failure or the like occurs in a part of the communication paths A1 to An-1, B1 to Bn-1, C1 to Cn, and D1 to Dn. However, normal duplex communication can be performed after the failure point.
また、この実施形態によれば、インタフェースIF11,12の一方或いはインタフェースIF21,22の一方に障害等が発生した場合でも、サービスの提供を継続することができる。 Further, according to this embodiment, even when a failure or the like occurs in one of the interface IFs 11 and 12 or one of the interface IFs 21 and 22, it is possible to continue providing services.
さらに、この実施形態によれば、二重通信を行うか否かを送信側パケット交換装置110,120で決定することができるので、通信パケットの遅延・喪失が大きな問題になるサービスについてのみ多重送信を行うことができ、パケット交換網130,140の輻輳を無駄に増大させることがない。 Furthermore, according to this embodiment, since whether or not to perform duplex communication can be determined by the transmission side packet switching devices 110 and 120, only the services for which the delay / loss of communication packets is a serious problem are multiplexed. And congestion of the packet switching networks 130 and 140 is not increased unnecessarily.
加えて、この実施形態のパケット交換装置110,120では、送信元アドレスとシーケンス番号とを用いて通信パケットの同一性を判断し且つこの判断処理をTCP/UDP層とIP層との間の層で行うので、同一性判断の処理が簡単であるとともに上層(TCP/UDPやアプリケーション層)の制御に影響を与えることがない。 In addition, in the packet switching devices 110 and 120 of this embodiment, the identity of the communication packet is determined using the source address and the sequence number, and this determination process is performed between the TCP / UDP layer and the IP layer. Therefore, the identity determination process is simple and does not affect the control of the upper layer (TCP / UDP or application layer).
加えて、この実施形態に係るパケット通信システム100では、通信パケット毎に個別に通信経路を設定する必要がないので、処理が簡単である。 In addition, in the packet communication system 100 according to this embodiment, it is not necessary to individually set a communication path for each communication packet, so the processing is simple.
なお、この実施形態では、通信パケットのシーケンス番号を、送信側のパケット交換装置では宛先アドレスごとに付すこととし且つ受信側のパケット交換装置では送信元アドレスごとにチェックすることとしたが、アプリケーションセッションごと(すなわち、アドレスが一致し且つアプリケーションセッションが一致する複数の通信パケットに一連のシーケンス番号を付す)こととしてもよい。これにより、アプリケーションセッション毎に二重送信を管理することが可能になる。 In this embodiment, the sequence number of the communication packet is assigned to each destination address in the transmission side packet switching apparatus and is checked for each transmission source address in the reception side packet switching apparatus. (That is, a series of sequence numbers are assigned to a plurality of communication packets having the same address and the same application session). This makes it possible to manage double transmission for each application session.
第2実施形態
次に、この発明の第2実施形態について、図11〜図14を用いて説明する。
Second Embodiment Next, a second embodiment of the present invention will be described with reference to FIGS.
この実施形態に係るパケット通信システム、パケット交換装置およびパケット中継装置の構成は、第1実施形態の場合(図1〜図3参照)とほぼ同様である。但し、パケット交換装置120,130内のパケット送受信機能部220とパケット中継装置131−1〜131−n,141−1〜141−n内の網内転送機能部310とに設けられた保留バッファ221,311が、送信元アドレス毎に複数個の通信パケットを一時保存できるとともに、これら複数の保留パケットごとに保留タイマ222,312が設けられている点で、第1実施形態と異なる。 The configurations of the packet communication system, the packet switching device, and the packet relay device according to this embodiment are substantially the same as those in the case of the first embodiment (see FIGS. 1 to 3). However, the hold buffer 221 provided in the packet transmission / reception function unit 220 in the packet switching devices 120 and 130 and the intra-network transfer function unit 310 in the packet relay devices 131-1 to 131-n and 141-1 to 141-n. 311 is different from the first embodiment in that a plurality of communication packets can be temporarily stored for each source address, and hold timers 222 and 312 are provided for each of the plurality of hold packets.
また、パケット交換装置の送信動作も、第1実施形態と同様である。 Further, the transmission operation of the packet switching apparatus is the same as that of the first embodiment.
図11、図12は、この実施形態に係るパケット中継装置131−1〜131−n,141−1〜141−nに設けられた網内転送機能部310の受信動作を説明するためのフローチャートである。 11 and 12 are flowcharts for explaining the reception operation of the intra-network transfer function unit 310 provided in the packet relay devices 131-1 to 131-n and 141-1 to 141-n according to this embodiment. is there.
網内転送機能部310は、各パケット入出力部(図3参照)から通信パケットを受け取ると、まず、その通信パケットに識別情報が格納されているか否かをチェックする(図11のステップS1101参照)。識別情報が格納されていない場合、網内転送機能部310は、その通信パケットを単一送信に係る通信パケットであると判断して、この通信パケットの送信をパケット出力部350に指示する(ステップS1102参照)。その後、網内転送機能部310は、その受信パケットに関する処理を終了する。 When the intra-network transfer function unit 310 receives a communication packet from each packet input / output unit (see FIG. 3), it first checks whether identification information is stored in the communication packet (see step S1101 in FIG. 11). ). If the identification information is not stored, the intra-network transfer function unit 310 determines that the communication packet is a communication packet related to single transmission, and instructs the packet output unit 350 to transmit the communication packet (step S31). (See S1102). After that, the intra-network transfer function unit 310 ends the process related to the received packet.
一方、ステップS1101において識別情報が格納されていた場合、網内転送機能部310は、その通信パケットを二重送信に係る通信パケットであると判断して、シーケンス番号と期待値とを比較する(ステップS1103参照)。受信パケットのシーケンス番号が期待値と一致した場合、網内転送機能部310は、該期待値を「+1」だけインクリメントして(ステップS1104参照)、その通信パケットの送信をパケット出力部350に指示する(ステップS1105参照)。このとき、前段装置から受信された通信パケットについては、網間転送機能部320にも転送が指示される。 On the other hand, if the identification information is stored in step S1101, the intra-network transfer function unit 310 determines that the communication packet is a communication packet related to double transmission, and compares the sequence number with the expected value ( (See step S1103). When the sequence number of the received packet matches the expected value, the intra-network transfer function unit 310 increments the expected value by “+1” (see step S1104) and instructs the packet output unit 350 to transmit the communication packet. (See step S1105). At this time, transfer of the communication packet received from the preceding apparatus is also instructed to the inter-network transfer function unit 320.
続いて、網内転送機能部310は、保留バッファ311のチェックを行う(ステップS1106参照)。保留バッファ311に通信パケットが保存されていない場合、網内転送機能部310は、当該受信パケットに関する処理を終了する。一方、ステップS1106で保留バッファ311に1個以上の通信パケットが保存されていると判断された場合、網内転送機能部310は、各保留パケットおよび受信パケットのシーケンス番号を相互に比較する(ステップS1107参照)。そして、該シーケンス番号が連続する通信パケットについて、パケット出力部への送信指示を行う(ステップS1108参照)。このとき、前段装置から受信された通信パケットについては、網間転送機能部320にも転送が指示される。さらに、網内転送機能部310は、転送を指示した通信パケットの個数分だけシーケンス番号の期待値をインクリメントする(ステップS1109参照)。例えば、2個の保留パケットのシーケンス番号が‘n+2’および‘n’であり且つ受信パケットのシーケンス番号が‘n+1’の場合、これら3個の通信パケットのシーケンス番号は連続するので、これらすべての通信パケットの送信が指示される。一方、2個の保留パケットのシーケンス番号が‘n+2’および‘n’であり且つ受信パケットのシーケンス番号が‘n−1’である場合、シーケンス番号‘n’の保留パケットおよび受信パケットの送信が指示される。 Subsequently, the intra-network transfer function unit 310 checks the reservation buffer 311 (see step S1106). If no communication packet is stored in the hold buffer 311, the intra-network transfer function unit 310 ends the process related to the received packet. On the other hand, if it is determined in step S1106 that one or more communication packets are stored in the hold buffer 311, the intra-network transfer function unit 310 compares the sequence numbers of each hold packet and received packet with each other (step S1106). S1107). Then, a transmission instruction to the packet output unit is given to the communication packets having the consecutive sequence numbers (see step S1108). At this time, transfer of the communication packet received from the preceding apparatus is also instructed to the inter-network transfer function unit 320. Further, the intra-network transfer function unit 310 increments the expected value of the sequence number by the number of communication packets instructed to transfer (see step S1109). For example, if the sequence numbers of two pending packets are “n + 2” and “n” and the sequence number of the received packet is “n + 1”, the sequence numbers of these three communication packets are consecutive. The transmission of the communication packet is instructed. On the other hand, when the sequence numbers of the two pending packets are “n + 2” and “n” and the sequence number of the received packet is “n−1”, the pending packet and the received packet with the sequence number “n” are transmitted. Instructed.
続いて、網内転送機能部310は、保留バッファ311に保留パケットが残っているかどうかをチェックする(ステップS1110)。そして、保留パケットが残っていない場合は、保留タイマ312の停止(ステップS1111参照)と保留バッファ311の開放(ステップS1112参照)とを行って、その受信パケットに関する処理を終了する。 Subsequently, the intra-network transfer function unit 310 checks whether or not a hold packet remains in the hold buffer 311 (step S1110). If no pending packet remains, the suspension timer 312 is stopped (see step S1111) and the suspension buffer 311 is released (see step S1112), and the processing related to the received packet is terminated.
一方、ステップS1107でシーケンス番号の連続する保留・受信パケットが存在しなかった場合や、ステップS1110で保留バッファ311に保留パケットが残っていた場合は、保留タイマ312を再起動させて、その受信パケットに関する処理を終了する。 On the other hand, if there are no pending / received packets with consecutive sequence numbers in step S1107, or if there are any pending packets remaining in the pending buffer 311 in step S1110, the pending timer 312 is restarted and the received packet The process related to is terminated.
ステップS1103においてシーケンス番号が期待値と一致しなかった場合、網内転送機能部310は、第1実施形態と同様にして、受信した通信パケットが既に受信された通信パケットと同一か否かをチェックする(図12のステップS1201参照)。同一であると判断された場合、網内転送機能部310は、その通信パケットを廃棄して(ステップS1202参照)、その受信パケットに関する処理を終了する。 If the sequence number does not match the expected value in step S1103, the intra-network transfer function unit 310 checks whether the received communication packet is the same as the already received communication packet, as in the first embodiment. (See step S1201 in FIG. 12). If it is determined that they are the same, the intra-network transfer function unit 310 discards the communication packet (see step S1202), and ends the process related to the received packet.
一方、ステップS1201で既に受信された通信パケットと同一でないと判断された場合、網内転送機能部310は、保留バッファ311に空きがあるか否かを判断する(ステップS1203参照)。そして、保留バッファ311に空きがある場合は、その空き部分の一つに受信パケットを格納するとともに(ステップS1204参照)、保留タイマ312を起動して(ステップS1205参照)、その受信パケットに関する処理を終了する。 On the other hand, if it is determined in step S1201 that it is not the same as the communication packet that has already been received, the intra-network transfer function unit 310 determines whether or not the reservation buffer 311 has a free space (see step S1203). If there is an empty space in the hold buffer 311, the received packet is stored in one of the empty portions (see step S 1204), the hold timer 312 is activated (see step S 1205), and processing related to the received packet is performed. finish.
ステップS1203で保留バッファ311に空きがないと判断された場合、パケット送受信機能部は、保存パケット中の最も大きいシーケンス番号のものを受信通知するとともに(ステップS1206参照)、シーケンス番号の期待値を該シーケンス番号よりも「+1」だけ大きい値に設定して(ステップS1207参照)、すべての保留バッファ311を解放し(ステップS1208参照)、保留タイマを停止して(ステップS1209参照)、その受信パケットに関する処理を終了する。すべての保留バッファ311に通信パケットが一時保存されるのは、両方のパケット交換網130,140内で通信パケットの喪失が発生した場合が多く、このような場合に保留バッファ311内の数個の通信パケットのみをアプリケーション機能部210に引き渡しても有益でないと考えられるからである。 When it is determined in step S1203 that there is no space in the hold buffer 311, the packet transmission / reception function unit notifies the reception of the one with the largest sequence number in the stored packet (see step S 1206), and sets the expected value of the sequence number. A value that is larger by “+1” than the sequence number is set (see step S1207), all the hold buffers 311 are released (see step S1208), the hold timer is stopped (see step S1209), and the received packet is related. End the process. Communication packets are temporarily stored in all the hold buffers 311 in many cases when communication packets are lost in both packet switching networks 130 and 140. In such a case, several packets in the hold buffer 311 are stored. This is because it is considered that it is not useful to deliver only the communication packet to the application function unit 210.
図13、図14は、この実施形態に係るパケット交換装置110,120に設けられたパケット送受信機能部220の受信動作を説明するためのフローチャートである。 FIGS. 13 and 14 are flowcharts for explaining the reception operation of the packet transmission / reception function unit 220 provided in the packet switching apparatuses 110 and 120 according to this embodiment.
パケット送受信機能部220は、各パケット入出力部(図2参照)から通信パケットを受け取ると、まず、その通信パケットに識別情報が格納されているか否かをチェックする(図13のステップS1301参照)。識別情報が格納されていない場合、パケット送受信機能部220は、その通信パケットを単一送信に係る通信パケットであると判断して、この通信パケットの受信をアプリケーション機能部210に通知し(ステップS1302参照)、その受信パケットに関する処理を終了する。 When receiving a communication packet from each packet input / output unit (see FIG. 2), the packet transmission / reception function unit 220 first checks whether or not identification information is stored in the communication packet (see step S1301 in FIG. 13). . If the identification information is not stored, the packet transmission / reception function unit 220 determines that the communication packet is a communication packet for single transmission, and notifies the application function unit 210 of reception of the communication packet (step S1302). And the processing related to the received packet is terminated.
一方、ステップS1301において識別情報が格納されていた場合、パケット送受信機能部220は、その通信パケットを二重送信に係る通信パケットであると判断して、シーケンス番号と期待値とを比較する(ステップS1303参照)。受信パケットのシーケンス番号が期待値と一致した場合、パケット送受信機能部220は、該期待値を「+1」だけインクリメントして(ステップS1304参照)、その通信パケットの受信をアプリケーション機能部210に通知する(ステップS1305参照)。 On the other hand, when the identification information is stored in step S1301, the packet transmission / reception function unit 220 determines that the communication packet is a communication packet related to double transmission, and compares the sequence number with the expected value (step S1301). (See S1303). When the sequence number of the received packet matches the expected value, the packet transmission / reception function unit 220 increments the expected value by “+1” (see step S1304) and notifies the application function unit 210 of reception of the communication packet. (See step S1305).
続いて、パケット送受信機能部220は、保留バッファ221のチェックを行う(ステップS1306参照)。保留バッファ221に通信パケットが保存されていない場合、パケット送受信機能部220は、当該受信パケットに関する処理を終了する。一方、ステップS1306で保留バッファ221に1個以上の通信パケットが保存されていると判断された場合、パケット送受信機能部220は、各保留パケットおよび受信パケットのシーケンス番号を相互に比較する(ステップS1307参照)。そして、該シーケンス番号が連続する通信パケットについて、アプリケーション機能部210への受信通知を行うとともに(ステップS1308参照)、通知した通信パケットの個数分だけシーケンス番号の期待値をインクリメントする(ステップS1309参照)。 Subsequently, the packet transmission / reception function unit 220 checks the hold buffer 221 (see step S1306). When the communication packet is not stored in the hold buffer 221, the packet transmission / reception function unit 220 ends the process related to the received packet. On the other hand, when it is determined in step S1306 that one or more communication packets are stored in the hold buffer 221, the packet transmission / reception function unit 220 compares the sequence numbers of each hold packet and the received packet with each other (step S1307). reference). Then, with respect to communication packets having consecutive sequence numbers, reception notification to the application function unit 210 is performed (see step S1308), and the expected value of the sequence number is incremented by the number of notified communication packets (see step S1309). .
次に、パケット送受信機能部220は、保留バッファ221に保留パケットが残っているかどうかをチェックする(ステップS1310)。そして、保留パケットが残っていない場合は、保留タイマ222の停止(ステップS1311参照)と保留バッファ221の開放(ステップS1312参照)とを行って、その受信パケットに関する処理を終了する。 Next, the packet transmission / reception function unit 220 checks whether or not a pending packet remains in the pending buffer 221 (step S1310). If no pending packet remains, the suspension timer 222 is stopped (see step S1311) and the suspension buffer 221 is released (see step S1312), and the processing related to the received packet is terminated.
一方、ステップS1307でシーケンス番号の連続する保留・受信パケットが存在しなかった場合や、ステップS1310で保留バッファ221に保留パケットが残っていた場合は、保留タイマ222を再起動させて、その受信パケットに関する処理を終了する。 On the other hand, if there are no hold / reception packets with consecutive sequence numbers in step S1307, or if there are any hold packets remaining in the hold buffer 221 in step S1310, the hold timer 222 is restarted, and the received packet The process related to is terminated.
ステップS1303においてシーケンス番号が期待値と一致しなかった場合、パケット送受信機能部220は、第1実施形態と同様にして、受信した通信パケットが既に受信された通信パケットと同一か否かをチェックする(図14のステップS1401参照)。同一であると判断された場合、パケット送受信機能部220は、その通信パケットを廃棄して(ステップS1402参照)、その受信パケットに関する処理を終了する。 If the sequence number does not match the expected value in step S1303, the packet transmission / reception function unit 220 checks whether the received communication packet is the same as the already received communication packet, as in the first embodiment. (See step S1401 in FIG. 14). If it is determined that they are the same, the packet transmission / reception function unit 220 discards the communication packet (see step S1402), and ends the process related to the received packet.
一方、ステップS1401で既に受信された通信パケットと同一でないと判断された場合、パケット送受信機能部220は、保留バッファ221に空きがあるか否かを判断する(ステップS1403参照)。そして、保留バッファ221に空きがある場合は、その空き部分の一つに受信パケットを格納するとともに(ステップS1404参照)、保留タイマ222を起動して(ステップS1405参照)、その受信パケットに関する処理を終了する。 On the other hand, when it is determined in step S1401 that it is not the same as the communication packet that has already been received, the packet transmission / reception function unit 220 determines whether or not there is an empty space in the hold buffer 221 (see step S1403). If there is a vacancy in the hold buffer 221, the received packet is stored in one of the vacant portions (see step S1404), the hold timer 222 is started (see step S1405), and the process related to the received packet is performed. finish.
ステップS1403で保留バッファ221に空きがないと判断された場合、上述の網内転送機能部310の場合と同じ理由により、パケット送受信機能部220は、保存パケット中の最も大きいシーケンス番号のものを受信通知するとともに(ステップS1406参照)、シーケンス番号の期待値を該シーケンス番号よりも「+1」だけ大きい値に設定して(ステップS1407参照)、すべての保留バッファを解放し(ステップS1408参照)、保留タイマを停止して(ステップS1409参照)、その受信パケットに関する処理を終了する。 If it is determined in step S1403 that the hold buffer 221 is not empty, the packet transmission / reception function unit 220 receives the one with the largest sequence number in the stored packet for the same reason as the case of the intra-network transfer function unit 310 described above. In addition to the notification (see step S1406), the expected value of the sequence number is set to a value “+1” larger than the sequence number (see step S1407), and all the pending buffers are released (see step S1408). The timer is stopped (see step S1409), and the process related to the received packet is terminated.
以上説明したように、この実施形態によれば、上述の第1実施形態と同様の理由により、通信回線の断線などによるサービス中断が発生し難く、パケット交換網の輻輳を無駄に増大させることがなく、同一性判断の処理が簡単で他の層の制御に影響を与えることがなく、且つ、通信経路を個別に設定する必要がない。 As described above, according to this embodiment, for the same reason as in the first embodiment described above, service interruption due to disconnection of a communication line or the like is unlikely to occur, and congestion of the packet switching network is unnecessarily increased. In addition, the identity determination process is simple and does not affect the control of other layers, and it is not necessary to individually set communication paths.
加えて、この実施形態によれば、複数の通信パケットを保留バッファ内に同時に一時保存することができるので、救済する通信パケット数を増やすことが可能である。 In addition, according to this embodiment, since a plurality of communication packets can be temporarily stored in the hold buffer at the same time, the number of communication packets to be relieved can be increased.
アプリケーションセッションごとに通信パケットを管理してもよい点は、上述の第1実施形態と同様である。 The point that communication packets may be managed for each application session is the same as in the first embodiment.
100 パケット通信システム
110,120 パケット交換装置
130,140 パケット交換網
210 アプリケーション機能部
220 パケット送受信機能部
230,240 パケット入出力部
310 網内転送機能部
320 網間転送機能部
330,340 パケット入力部
350,360 パケット出力部
100 packet communication system 110, 120 packet switching device 130, 140 packet switching network 210 application function unit 220 packet transmission / reception function unit 230, 240 packet input / output unit 310 intra-network transfer function unit 320 inter-network transfer function unit 330, 340 packet input unit 350, 360 packet output section
Claims (10)
前記第1通信網が、複数の第1中継装置を備え、
前記第2通信網が、対応する第1中継装置に通信接続された複数の第2中継装置を備え、
前記送信装置が、同一の通信パケットを2個ずつ生成して初段の前記第1、第2中継装置にそれぞれ出力する手段を備え、
前記第1中継装置が、前記送信装置または前段の前記第1中継装置から受信した前記通信パケットまたは対応する前記第2中継装置から受信した前記通信パケットが未受信であった場合は後段の前記第1中継装置または前記受信装置に転送し且つ当該通信パケットが既受信であった場合は廃棄する第1網内転送手段と、前記送信装置または前段の前記第1中継装置から受信した前記通信パケットが未受信であった場合に対応する前記第2中継装置に転送する第1網間転送手段とを有し、
前記第2中継装置が、前記送信装置または前段の前記第2中継装置から受信した前記通信パケットまたは対応する前記第1中継装置から受信した前記通信パケットが未受信であった場合は後段の前記第2中継装置または前記受信装置に転送し且つ当該通信パケットが既受信であった場合は廃棄する第2網内転送手段と、前記送信装置または前段の前記第2中継装置から受信した前記通信パケットが未受信であった場合に対応する前記第1中継装置に転送する第2網間転送手段とを有し、
前記受信装置が、最終段の前記第1、第2中継装置から受信した前記通信パケットが既受信であった場合は廃棄する、
ことを特徴とするパケット通信システム。 A packet communication system in which a transmission device and a reception device are connected via first and second communication networks,
The first communication network includes a plurality of first relay devices,
The second communication network includes a plurality of second relay devices that are communicatively connected to corresponding first relay devices;
The transmission device includes means for generating two identical communication packets and outputting them to the first and second relay devices in the first stage,
When the first relay device has not received the communication packet received from the transmitting device or the first relay device in the preceding stage or the communication packet received from the corresponding second relay device, the first relay device in the latter stage A first in-network transfer means that transfers to one relay device or the receiving device and discards the communication packet if it has been received; and the communication packet received from the transmitting device or the first relay device in the previous stage First inter-network transfer means for transferring to the second relay device corresponding to a case where it has not been received,
When the second relay device has not received the communication packet received from the transmitter or the second relay device in the previous stage or the communication packet received from the corresponding first relay device, the second relay device The second in-network transfer means for transferring to the 2 relay device or the receiving device and discarding the communication packet if it has already been received, and the communication packet received from the transmitting device or the second relay device in the previous stage A second inter-network transfer means for transferring to the first relay device corresponding to a case where it has not been received,
The receiving device discards the communication packet received from the first and second relay devices at the final stage if it has already been received;
A packet communication system.
前記第1、第2中継装置および前記受信装置が、受信した前記通信パケットに前記識別情報が格納されているか否かを判断する手段と、該識別情報が格納されている場合に送信元アドレスと前記シーケンス番号とを用いて前記通信パケットの同一性を判断する手段とを備える、
ことを特徴とする請求項1に記載のパケット通信システム。 The transmitter transmits communication packets storing the same user data, the same sequence number, and identification information indicating multiplex communication to the first and second communication networks, and
Means for the first and second relay devices and the receiving device to determine whether the identification information is stored in the received communication packet; a source address if the identification information is stored; Means for determining the identity of the communication packet using the sequence number,
The packet communication system according to claim 1.
前記第1、第2中継装置および前記受信装置が、前記送信元アドレスと、前記シーケンス番号と、前記アプリケーションのセッションとがすべて一致する場合のみ、該通信パケットと既に受信された前記通信パケットとが同一であると判断する、
ことを特徴とする請求項2に記載のパケット通信システム。 The transmitting device issues the sequence number for each session of an application corresponding to the communication packet; and
The communication packet and the communication packet that has already been received only when the transmission source address, the sequence number, and the session of the application all match in the first and second relay devices and the reception device. Judging that they are the same,
The packet communication system according to claim 2.
前記送信装置または前段の前記中継装置から受信した前記通信パケットまたは他の前記通信網の対応する前記中継装置から受信した前記通信パケットが未受信であった場合は後段の前記中継装置または前記受信装置に転送し、且つ、当該通信パケットが既受信であった場合は廃棄する網内転送手段と、
前記送信装置または前段の前記中継装置から受信した前記通信パケットが未受信であった場合に前記他の通信網の対応する前記中継装置に転送する網間転送手段と、
を備えることを特徴とするパケット中継装置。 A packet relay device for constructing each of a plurality of communication networks for communication connection between a transmission device and a reception device,
If the communication packet received from the transmission device or the relay device in the previous stage or the communication packet received from the corresponding relay device in another communication network is not received, the relay device or the reception device in the subsequent stage And in-network transfer means for discarding the communication packet if it has already been received,
An inter-network transfer means for transferring to the corresponding relay device of the other communication network when the communication packet received from the transmitting device or the preceding relay device is not received;
A packet relay device comprising:
該通信パケットに前記識別情報が格納されているか否かを判断し、
該識別情報が格納されている場合に送信元アドレスと前記シーケンス番号とを用いて前記通信パケットの同一性を判断する、
ことを特徴とする請求項6に記載のパケット中継装置。 Receiving the communication packet in which the same user data, the same sequence number, and identification information indicating multiplex communication are stored;
Determining whether the identification information is stored in the communication packet;
Determining the identity of the communication packet using a source address and the sequence number when the identification information is stored;
The packet relay apparatus according to claim 6.
前記送信元アドレスと、前記シーケンス番号と、前記アプリケーションのセッションとがすべて一致する場合のみ、該通信パケットと既に受信された前記通信パケットとが同一であると判断する、
ことを特徴とする請求項7に記載のパケット中継装置。 The sequence number is issued for each session of the application corresponding to the communication packet, and
Only when the source address, the sequence number, and the session of the application all match, the communication packet and the already received communication packet are determined to be the same.
The packet relay apparatus according to claim 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190858A JP2007013511A (en) | 2005-06-30 | 2005-06-30 | Packet communication system and packet relaying apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190858A JP2007013511A (en) | 2005-06-30 | 2005-06-30 | Packet communication system and packet relaying apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007013511A true JP2007013511A (en) | 2007-01-18 |
Family
ID=37751421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005190858A Pending JP2007013511A (en) | 2005-06-30 | 2005-06-30 | Packet communication system and packet relaying apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007013511A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012243249A (en) * | 2011-05-24 | 2012-12-10 | Toshiba Mitsubishi-Electric Industrial System Corp | Duplex control system |
US8585514B2 (en) * | 2008-08-15 | 2013-11-19 | Nike, Inc. | Golf club head and system |
JP2015136116A (en) * | 2007-08-13 | 2015-07-27 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Optimizing in-order delivery of data packets during wireless communication handover |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06303257A (en) * | 1993-02-17 | 1994-10-28 | Mitsubishi Electric Corp | Data transferring method |
JPH09321773A (en) * | 1996-05-30 | 1997-12-12 | Fujitsu Ltd | Active and reserve switching method |
JP2001007846A (en) * | 1999-06-18 | 2001-01-12 | Fujitsu Ltd | Frame repeater |
JP2001186171A (en) * | 1999-12-22 | 2001-07-06 | Nec Corp | Network and method for transferring data packet |
JP2002524920A (en) * | 1998-08-28 | 2002-08-06 | インテグラル アクセス, インコーポレイテッド | Redundant path data communication |
-
2005
- 2005-06-30 JP JP2005190858A patent/JP2007013511A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06303257A (en) * | 1993-02-17 | 1994-10-28 | Mitsubishi Electric Corp | Data transferring method |
JPH09321773A (en) * | 1996-05-30 | 1997-12-12 | Fujitsu Ltd | Active and reserve switching method |
JP2002524920A (en) * | 1998-08-28 | 2002-08-06 | インテグラル アクセス, インコーポレイテッド | Redundant path data communication |
JP2001007846A (en) * | 1999-06-18 | 2001-01-12 | Fujitsu Ltd | Frame repeater |
JP2001186171A (en) * | 1999-12-22 | 2001-07-06 | Nec Corp | Network and method for transferring data packet |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015136116A (en) * | 2007-08-13 | 2015-07-27 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Optimizing in-order delivery of data packets during wireless communication handover |
US9609557B2 (en) | 2007-08-13 | 2017-03-28 | Qualcomm Incorporated | Optimizing in-order delivery of data packets during wireless communication handover |
US8585514B2 (en) * | 2008-08-15 | 2013-11-19 | Nike, Inc. | Golf club head and system |
JP2012243249A (en) * | 2011-05-24 | 2012-12-10 | Toshiba Mitsubishi-Electric Industrial System Corp | Duplex control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107210976B (en) | Method for forwarding data packets in a network and programmable ingress and egress nodes therefor | |
JP5152642B2 (en) | Packet ring network system, packet transfer method, and node | |
US20120236863A1 (en) | Data communication system and method for preventing packet proliferation in a multi-device link aggregation network | |
CN112154627B (en) | Service-related routing method and device | |
JP5523130B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP3449541B2 (en) | Data packet transfer network and data packet transfer method | |
KR20150002474A (en) | Methods for recovering failure in communication networks | |
JP2007013511A (en) | Packet communication system and packet relaying apparatus | |
EP1901497A1 (en) | Apparatus for low latency communications through an alternate path | |
JP6127569B2 (en) | Switch, control device, communication system, control channel management method and program | |
JP2018201162A (en) | Communication device, control method for communication device, and program | |
JP2007274332A (en) | Multicast packet transfer device, multicast packet transfer method, and multicast distribution system | |
JP2007013510A (en) | Packet communication system and packet communication apparatus | |
JP2009027286A (en) | Network, network device and transmission path redundancy formation method used for them | |
JP5445184B2 (en) | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD | |
JP6062394B2 (en) | Relay device and relay method | |
CN105991629A (en) | TCP (transmission control protocol) connection establishment method and device | |
JP7331554B2 (en) | Processing device, processing program and processing method | |
JP2010154130A (en) | Routing authentication device, routing authentication system, routing authentication method and program thereof | |
JP6362424B2 (en) | Relay device and relay method | |
JP7331066B2 (en) | Method and apparatus for modular routing of AVB streams | |
JP5619681B2 (en) | Packet transfer system, packet transmitter and packet receiver | |
JP6179141B2 (en) | Data transfer system and network load reducing method | |
JP5701963B2 (en) | network | |
JP5478684B2 (en) | Edge node device, path control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080321 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100601 |