JP2017139680A - Communication device and transfer device control method - Google Patents
Communication device and transfer device control method Download PDFInfo
- Publication number
- JP2017139680A JP2017139680A JP2016020510A JP2016020510A JP2017139680A JP 2017139680 A JP2017139680 A JP 2017139680A JP 2016020510 A JP2016020510 A JP 2016020510A JP 2016020510 A JP2016020510 A JP 2016020510A JP 2017139680 A JP2017139680 A JP 2017139680A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- transfer
- received
- fragment
- divided
- 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
Images
Abstract
Description
本発明は、通信装置及び転送装置の制御方法に関する。 The present invention relates to a control method for a communication device and a transfer device.
送信元装置と宛先装置、およびいくつかの転送装置から構成されるネットワークシステムにおいて、1回のパケット転送で転送できるパケットサイズにはMTU(最大転送単位)が定められている。送信元装置から宛先装置へのパケット転送において、送信元装置は、MTUを超えるサイズのパケットを、MTUを超えないようにフラグメントパケットに分割して送信する。宛先装置は、フラグメントパケットを受信すると、それらから分割前のオリジナルパケットをリアセンブル(再構成)する。以下では分割前のパケットをオリジナルパケットと称する。 In a network system composed of a transmission source device, a destination device, and several transfer devices, an MTU (maximum transfer unit) is defined as a packet size that can be transferred in one packet transfer. In packet transfer from a transmission source device to a destination device, the transmission source device transmits a packet having a size exceeding the MTU into fragment packets so as not to exceed the MTU. When the destination device receives the fragment packets, the destination device reassembles (reassembles) the original packets before the division. Below, the packet before division | segmentation is called an original packet.
また、オリジナルパケットのデータは複数のデータグラムに分割され、分割された各データグラムにIPヘッダをつけたパケットがフラグメントパケットとなる。IPレイヤ(レイヤ3)より上位レイヤの情報は、分割される際にいずれか一つのフラグメントパケットに含まれ、その他のフラグメントパケットには含まれない。 Also, the original packet data is divided into a plurality of datagrams, and a packet with an IP header attached to each divided datagram is a fragment packet. Information of a layer higher than the IP layer (layer 3) is included in any one fragment packet when being divided, and is not included in other fragment packets.
フラグメントパケットはどのオリジナルパケットから分割されたかを判別する情報として、同じオリジナルパケットから分割されたフラグメントパケットは、同一のIPヘッダ識別子を有している。宛先装置は受信した各フラグメントパケットが同じIPヘッダ識別子を有する場合、同じIPヘッダ識別子を有するフラグメントパケットからリアセンブルによりオリジナルパケットを生成する。 As information for determining from which original packet a fragment packet is divided, fragment packets divided from the same original packet have the same IP header identifier. When each received fragment packet has the same IP header identifier, the destination device generates an original packet by reassembling from the fragment packet having the same IP header identifier.
また、ネットワークにおいて複数の転送経路がある場合、主に2種類のパケット転送方法がある。一方は、最も一般的な宛先IPアドレスをもとにした経路表による転送方法である。他方は、TCP/UDPのポート番号やトンネリングプロトコルのトンネル識別子などのIPレイヤ(レイヤ3)よりも上位のレイヤ情報を転送条件にして、特定の経路にパケットを転送する転送方法(ポリシーベースルーティング)である。ポリシーベースルーティングは宛先IPアドレスをもとにした転送方法より柔軟で細かな経路制御が可能であるという特徴がある。 When there are a plurality of transfer paths in the network, there are mainly two types of packet transfer methods. One is a transfer method using a routing table based on the most common destination IP address. The other is a transfer method (policy-based routing) that transfers a packet to a specific path using layer information higher than the IP layer (Layer 3) such as a TCP / UDP port number and a tunnel identifier of a tunneling protocol as a transfer condition. It is. Policy-based routing is characterized by more flexible and finer path control than the transfer method based on the destination IP address.
上位のレイヤ情報が必要であるため、ポリシーベースルーティングを行う転送装置でフラグメントパケットを受信した場合、フラグメントパケットをそのまま転送できないので、オリジナルパケットにリアセンブルし、オリジナルパケットのIP(レイヤ3)よりも上位のレイヤ情報を復元して、転送先ポリシー情報により転送先を選択する必要がある。 Since higher layer information is required, when a fragment packet is received by a transfer device that performs policy-based routing, the fragment packet cannot be transferred as it is. Therefore, it is reassembled into the original packet and is more than the IP (layer 3) of the original packet. It is necessary to restore upper layer information and select a transfer destination based on transfer destination policy information.
特許文献1は、「フラグメントされたIPパケットとフラグメント元のIPパケットに適合するフローテーブルのエントリとを対応付けるフラグメントパケットIDテーブル3と、フラグメント情報を取得し、IPパケットのヘッダ情報に基づいてパケットIDを生成し、フラグメントパケットIDテーブルを参照して、パケットIDを有するIPパケットに適用するアクションを記載したフローエントリを取得し、アクションをIPパケットに適用するフラグメントパケット処理機能103と、先頭のIPパケットを受信時に、当該エントリをフラグメントパケットIDテーブルに追加し、最後尾のパケットの受信時に、当該エントリをフラグメントパケットIDテーブルから削除するフラグメントパケットIDテーブル更新機能107と、を備える」(要約)というOpenFlow(登録商標)でのフラグメントパケット処理について開示している。
特許文献2は、「再構成処理部24によって、受信されたIPパケットが分割されているかどうか判断し、分割されている場合には、このIPパケットを一旦パケット蓄積部25に蓄積し、全部の分割されたIPパケットが蓄積されてから、フラグメント処理前のもとの1つのIPパケットデータに再構成する。その後に受信処理部26がアドレス変換テーブル27を検索して、IPパケットのヘッダ内のアドレスを宛先ネットワークで設定されているアドレスに変換して、ネットワーク間のデータ中継を可能にする」(要約)というデータ中継装置を開示している。 Patent Document 2 states that “the reconfiguration processing unit 24 determines whether or not the received IP packet is divided, and if it is divided, the IP packet is temporarily stored in the packet storage unit 25, After the divided IP packets are accumulated, it is reconstructed into the original IP packet data before the fragment processing, after which the reception processing unit 26 searches the address translation table 27 and stores it in the header of the IP packet. A data relay apparatus is disclosed that “converts addresses into addresses set in a destination network and enables data relay between networks” (summary).
近年、ネットワーク帯域や装置信頼性の向上を目的として、宛先装置が、複数の内部転送装置(複数台冗長構成)と複数の内部処理装置(複数台冗長構成)を含むことがある。外部ネットワーク内に存在する送信元装置が生成したオリジナルパケットは、いずれか一つの内部転送装置を介して、いずれか一つの処理装置に転送される。その後、処理装置は、取得したオリジナルパケットに基づいて処理を行う。 In recent years, for the purpose of improving network bandwidth and device reliability, a destination device may include a plurality of internal transfer devices (multiple redundant configuration) and a plurality of internal processing devices (multiple redundant configuration). An original packet generated by a transmission source device existing in the external network is transferred to any one processing device via any one internal transfer device. Thereafter, the processing device performs processing based on the acquired original packet.
さらに、細かな経路制御を行うために、外部ネットワーク内の転送装置ではポリシーベースルーティングを行い、内部転送装置についても転送先ポリシー情報に基づきオリジナルパケットを各処理装置へ分散して転送する。 Furthermore, in order to perform fine path control, the transfer device in the external network performs policy-based routing, and the internal transfer device also distributes and transfers the original packet to each processing device based on the transfer destination policy information.
フラグメントパケットの転送の場合、送信元装置は、オリジナルパケットを分割して生成した複数のフラグメントパケットを宛先装置へ送信する。送信されたフラグメントパケットは、いくつかの転送装置を介して宛先装置内の内部転送装置へ到着する。 In the case of fragment packet transfer, the transmission source device transmits a plurality of fragment packets generated by dividing the original packet to the destination device. The transmitted fragment packet arrives at the internal transfer device in the destination device via several transfer devices.
例えば、宛先装置より前段にある転送装置は宛先IPアドレスをもとにした転送方法を行った場合、転送装置からフラグメントパケットが、ある一つの内部転送装置へ転送される。フラグメントパケットを受信した内部転送装置は、IPヘッダ識別子からオリジナルパケットをリアセンブルし、転送先ポリシー情報をもとに内部処理装置へ転送する。 For example, when the transfer device in the preceding stage of the destination device performs the transfer method based on the destination IP address, the fragment packet is transferred from the transfer device to one internal transfer device. The internal transfer device that has received the fragment packet reassembles the original packet from the IP header identifier, and transfers the packet to the internal processing device based on the transfer destination policy information.
しかし、宛先装置より前段にある転送装置がポリシーベースルーティングを行った場合や、転送装置と宛先装置内の内部転送装置との間でリンク障害が発生した場合、同一オリジナルパケットから分割された各フラグメントパケットが、宛先装置内の異なる内部転送装置に到着する可能性がある。 However, when a forwarding device in the previous stage of the destination device performs policy-based routing, or when a link failure occurs between the forwarding device and the internal forwarding device in the destination device, each fragment divided from the same original packet Packets can arrive at different internal forwarding devices in the destination device.
そして、フラグメントパケットを受信した各内部転送装置は、オリジナルパケットをリアセンブルするために、フラグメントパケットを保持する。しかし、フラグメントパケットはそれぞれ異なる内部転送装置へ転送されてしまっているため、一つの内部転送装置では、一部のフラグメントパケットが受信できず、受信されたフラグメントパケットも所定の時間で破棄されてしまう。 Each internal transfer apparatus that receives the fragment packet holds the fragment packet in order to reassemble the original packet. However, since the fragment packets are transferred to different internal transfer devices, some of the fragment packets cannot be received by one internal transfer device, and the received fragment packets are also discarded at a predetermined time. .
これに対して、特許文献1のパケット処理では、フローテーブルとフラグメントパケットを結びつけるフラグメントパケットIDテーブルを用いることで、フラグメントパケットをそのまま転送することはできるが、異なる内部転送装置にフラグメントパケットが到着する場合については開示されていない。
On the other hand, in the packet processing of
また、特許文献2のデータ中継装置は、同一の内部転送装置へフラグメントパケットが到着した場合に、適切な処理装置を選択し、パケット転送することはできるが、異なる内部転送装置にフラグメントパケットが到着する場合については開示されていない。 Further, the data relay device of Patent Document 2 can select an appropriate processing device and transfer a packet when a fragment packet arrives at the same internal transfer device, but the fragment packet arrives at a different internal transfer device. No case is disclosed.
そこで、本発明の目的は、フラグメントパケットが複数の内部転送装置に分散しても、適切な内部処理装置へ転送できるようにすることにある。 Therefore, an object of the present invention is to enable transfer of a fragment packet to an appropriate internal processing device even if it is distributed to a plurality of internal transfer devices.
本発明に係る代表的な通信装置は、パケットを受信して処理する通信装置であって、パケットを処理する複数の処理装置と、前記通信装置の外部からパケットを受信し、前記複数の処理装置の中のいずれかの処理装置へパケットを転送する複数の転送装置とを備え、前記複数の転送装置の中の第1の転送装置は、前記通信装置の外部から第1のパケットを受信し、前記複数の転送装置の中の第2の転送装置から第2のパケットを受信し、第1のパケットと第2のパケットを用いてパケットを再構成し、前記複数の処理装置の中から、設定されたポリシー情報に基づいて処理装置を選択し、選択された処理装置へ再構成されたパケットを転送することを特徴とする。 A representative communication apparatus according to the present invention is a communication apparatus that receives and processes a packet, and includes a plurality of processing apparatuses that process the packet, a packet received from outside the communication apparatus, and the plurality of processing apparatuses A plurality of transfer devices that transfer packets to any of the processing devices, wherein the first transfer device of the plurality of transfer devices receives the first packet from outside the communication device, The second packet is received from the second transfer device among the plurality of transfer devices, the packet is reconfigured using the first packet and the second packet, and the setting is made from the plurality of processing devices. The processing apparatus is selected based on the policy information thus set, and the reconstructed packet is transferred to the selected processing apparatus.
本発明によれば、フラグメントパケットが複数の内部転送装置に分散しても、適切な内部処理装置へ転送できる。 According to the present invention, even if fragment packets are distributed to a plurality of internal transfer devices, they can be transferred to an appropriate internal processing device.
以下、図面を参照して本発明の実施例を説明する。本実施例は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成には同一の符号が付されている。 Embodiments of the present invention will be described below with reference to the drawings. It should be noted that the present embodiment is merely an example for realizing the present invention and does not limit the technical scope of the present invention. In each figure, the same code | symbol is attached | subjected to the common structure.
本実施例において、装置内の構成は、例えば、内部転送装置に転送先ポリシー情報を設定するポリシー設定装置と、外部ネットワークからパケットを受信し、転送先ポリシー情報にもとづきパケットを転送する内部転送装置と、転送されたパケットを受信して処理する処理装置からなる。内部転送装置と処理装置はそれぞれ複数台冗長構成をとる。 In this embodiment, the internal configuration of the device includes, for example, a policy setting device that sets transfer destination policy information in the internal transfer device, and an internal transfer device that receives a packet from an external network and transfers the packet based on the transfer destination policy information And a processing device that receives and processes the transferred packet. Each of the internal transfer device and the processing device has a redundant configuration.
内部転送装置は、転送先の処理装置を決定するための転送先ポリシー情報をもつ。各内部転送装置は、パケットを受信すると、複数プロセスから参照可能な共有メモリに保持される転送先ポリシー情報を参照し、転送先となる処理装置を選択し、パケットを転送する。例えば、転送先ポリシー情報には受信パケットの送信元/送信先IPアドレスやTCP又はUDPのポート番号が用いられる。ここで記載されたパケットという用語は、分割前のオリジナルパケットと、分割された後のフラグメントパケットを含む上位語である。 The internal transfer device has transfer destination policy information for determining a transfer destination processing device. When each internal transfer device receives a packet, it refers to transfer destination policy information held in a shared memory that can be referred to by a plurality of processes, selects a processing device as a transfer destination, and transfers the packet. For example, the source / destination IP address of the received packet or the port number of TCP or UDP is used for the transfer destination policy information. The term “packet” described here is a broad term including an original packet before division and a fragment packet after division.
また、処理装置は外部に向けて、複数の処理装置で共通の代表IPアドレスを一つ有している。外部ネットワーク内にある送信元装置は、代表IPアドレスへ向けてパケットを送信することにより、処理装置の台数が増減した場合にも、送信先のIPアドレスを変える必要がない。そして、内部転送装置の転送先ポリシー情報に振り分け先の処理装置の台数を増減することにより、送信元装置で変更することなく、処理装置の台数の増減に対応が可能である。 Further, the processing apparatus has one representative IP address that is common to the plurality of processing apparatuses. The transmission source device in the external network does not need to change the transmission destination IP address even when the number of processing devices increases or decreases by transmitting packets toward the representative IP address. Then, by increasing or decreasing the number of distribution destination processing devices in the transfer destination policy information of the internal transfer device, it is possible to cope with an increase or decrease in the number of processing devices without changing at the transmission source device.
内部転送装置がフラグメントパケットを受信した場合、先頭のフラグメントパケット以外を受信した内部転送装置は、ブロードキャスト送信タイマを起動し、ブロードキャスト送信タイマ満了後に、受信したフラグメントパケットをGRE(Generic Routing Encapsulation)プロトコルでカプセリング(カプセル化)し、他の内部転送装置へブロードキャスト送信する。 When the internal transfer device receives a fragment packet, the internal transfer device that has received a packet other than the first fragment packet starts a broadcast transmission timer. Capsule (encapsulate) and broadcast to other internal transfer devices.
先頭のフラグメントパケットを受信した内部転送装置は、その時点でブロードキャスト送信タイマが起動されていた場合、ブロードキャスト送信タイマを停止し、他の内部転送装置から先頭以外のフラグメントパケットを待ち受け、全てのフラグメントパケットがそろった後、オリジナルパケットをリアセンブルする。そして、リアセルブルされた後のオリジナルパケットのヘッダ情報と転送先ポリシー情報とを参照し、転送先となる処理装置を選択し、選択された処理装置へオリジナルパケットを転送する。 When the broadcast transmission timer is activated at that time, the internal transfer device that has received the first fragment packet stops the broadcast transmission timer, waits for a fragment packet other than the first from other internal transfer devices, and all fragment packets. After all the data are collected, reassemble the original packet. Then, with reference to the header information and transfer destination policy information of the original packet after being resembled, a processing device as a transfer destination is selected, and the original packet is transferred to the selected processing device.
以下、さらに具体的に説明する。図1は、本実施例におけるネットワークシステムの例に示す。外部ネットワーク101から宛先装置108に向けてパケットが送信される。外部ネットワーク101から宛先装置108へ向けて送信されたパケットは、転送装置102を経由して、宛先装置108へ到達する。このため、外部ネットワーク101と転送装置102が接続され、転送装置102と宛先装置108が接続される。また、宛先装置108は、パケットを受信する通信装置である。
More specific description will be given below. FIG. 1 shows an example of a network system in this embodiment. A packet is transmitted from the
転送装置102は外部ネットワーク101から受信したオリジナルパケットをフラグメントパケットに変換し、複数の通信回線を経由してフラグメントパケットを宛先装置108へ送信したり、オリジナルパケットをそのまま宛先装置108へ送信したりする。複数の通信回線はECMP(Equal Cost Multi Path)であり、複数の通信回線のそれぞれで通信コストが等しくなるように、フラグメントパケットを振り分ける。
The
宛先装置108の中の複数の内部転送装置104(内部転送装置104−1〜104−Nを区別せずに代表的に指し示す場合は内部転送装置104と記載する。他の符号も同じように記載する)は、宛先装置108の中の複数の処理装置107のそれぞれと論理的に接続される。
A plurality of
複数の内部転送装置104−1〜104−Nは内部転送装置複数台冗長構成103を構成し、複数の処理装置107−1〜107−Mは処理装置複数台冗長構成106を構成する。ここで、NとMは2以上の整数であり、NとMが同じ数であってもよいし、異なる数であってもよい。また、宛先装置108の中のポリシー設定装置105は、内部転送装置複数台冗長構成103および処理装置複数台冗長構成106と接続される。
The plurality of internal transfer devices 104-1 to 104-N constitute a plurality of internal transfer device
なお、転送装置102と内部転送装置104とは、それらの相対的な位置関係から、それぞれ外部転送装置と転送装置と呼ぶこともできる。
Note that the
図2は、宛先装置108内の構成の例を示す。ポリシー設定装置105、全ての内部転送装置104−1〜104−N、全ての処理装置107−1〜107−Mは、レイヤ2スイッチ109に接続され、レイヤ2スイッチ109で接続された各装置の間では、通信を行うことが可能である。
FIG. 2 shows an example of the configuration in the
レイヤ2スイッチ109を経由する1回の送信で送信されるパケットは、分割されていないオリジナルパケット、又はオリジナルパケットから分割されたフラグメントパケットである。本実施例では、TCP/IPパケットの例を説明するが、これに限定されるものではない。本実施例におけるパケット転送は、フラグメントパケットをカプセリングして内部転送装置104の間でやり取りし、オリジナルパケットをリアセンブルするため、他のプロトコルを用いたパケット転送であってもよい。
A packet transmitted in one transmission via the layer 2
なお、図1と図2ではポリシー設定装置105が宛先装置108の中に含まれる例を示したが、ポリシー設定装置105は宛先装置108の外に接続されてもよい。また、レイヤ2スイッチ109に接続される代わりに、図1の例のように宛先装置108内の各装置は直接に接続されてもよい。
1 and 2 show an example in which the
図3は、内部転送装置104の構成の例を示す。内部転送装置104−1〜104−Nは物理的に別の物であるが、同じ構成を有する。内部転送装置104は、プロセッサであるCPU201、主メモリ202、プロセス間共有メモリ204、ローカルディスク206、ネットワークI/F(インターフェース)部208、及び、これらを接続するバス209を含む。内部転送装置104は、不図示の入力デバイスや出力デバイスを有してもよい。
FIG. 3 shows an example of the configuration of the
ネットワークI/F部208は、外部I/F部209及び内部I/F部210を含む。外部I/F部209は、転送装置102と接続され、外部ネットワーク101から転送装置102を介してパケットを受信し、バス209を介して主メモリ202へ格納する。
The network I /
内部I/F部210は、レイヤ2スイッチ109と接続され、主メモリ202に格納されたパケットをバス209経由で取得し、レイヤ2スイッチ109を介して他の内部転送装置104、処理装置107へパケットを送信したり、ポリシー設定装置105、他の内部転送装置104、処理装置107からレイヤ2スイッチ109を介して受信した情報又はパケットを、バス209を介してプロセス間共有メモリ204又は主メモリ202へ格納したりする。
The internal I / F unit 210 is connected to the layer 2
ローカルディスク206には転送プログラム207が格納される。また主メモリ202には、CPU201によってローカルディスク206からロードされた転送プログラム203が格納される。主メモリ202は、転送プログラム203以外に不図示のプログラム、プログラムの実行に必要なデータ、パケットなどが格納され、格納されるプログラムにはOS(Operating System)などが含まれる。
A transfer program 207 is stored in the local disk 206. The
プロセス間共有メモリ204は、パケットの転送先を示す転送先ポリシー情報205を一時的に保持しており、CPU201により実行される複数のプロセスから参照される。CPU201は、主メモリ202に格納された転送プログラム203を実行することにより、以下で説明するように動作する。なお、CPU201はタイマを内蔵してもよく、タイマはハードウェアにより実現されてもプログラムの実行により実現されてもよい。
The inter-process shared memory 204 temporarily holds transfer
なお、主メモリ202又はプロセス間共有メモリ204とネットワークI/F部208との間の情報又はパケットのバス209を介しての転送は、CPU201が行ってもよい。また、ローカルディスク206に格納される転送プログラム207は、可搬型の記憶媒体に格納されて、可搬型の記憶媒体の読み取り装置により、ローカルディスク206へ読み込まれてもよいし、ネットワーク経由でローカルディスク206へ読み込まれてもよい。
Note that the
図4は、内部転送装置104−1の論理的な構成の例を示す。内部転送装置104−2〜104−Nも同じ構成を有する。転送先ポリシー情報205は、処理装置107それぞれの負荷状況に応じて、ポリシー設定装置105により設定される情報であり、図5を用いてさらに説明する。パケットバッファ302は、転送装置102から転送されたパケットが一時的に格納されるバッファであり、主メモリ202の領域の一部であってもよいし、ネットワークI/F部208の中にあってもよい。
FIG. 4 shows an example of a logical configuration of the internal transfer apparatus 104-1. The internal transfer devices 104-2 to 104-N have the same configuration. The transfer
パケット判定モジュール301は、CPU201が転送プログラム203を実行することにより実現されるモジュールであり、パケット判定モジュール301は複数のプロセスとして実現されてもよい。パケット判定モジュール301は、パケットバッファ302からパケットを取り出し、取り出されたパケットを解析してフラグメントパケットか否か判定する。
The
取り出されたパケットがフラグメントパケットではないと判定された場合、パケット判定モジュール301は、転送先ポリシー情報205に従って、処理装置107−1〜107−Mの中から転送先を選択し、パケットを転送する。
When it is determined that the extracted packet is not a fragment packet, the
取り出されたパケットがフラグメントパケットであると判定された場合、パケット判定モジュール301は、それまでにパケット判定モジュール301が取得したフラグメントパケットからオリジナルパケットをリアセンブルする。オリジナルパケットのリアセンブルに成功した場合は転送先ポリシー情報205に基づいて、処理装置107−1〜107−Mの中から転送先を選択し、リアセンブルしたオリジナルパケットを転送する。
When it is determined that the extracted packet is a fragment packet, the
オリジナルパケットのリアセンブルに失敗した場合、パケット判定モジュール301は処理装置107へのパケットの転送を保留する。フラグメントパケットが2番目以降のフラグメントパケットであると判定した場合、内部転送装置104−1以外の内部転送装置104−2〜104−Nへのブロードキャスト送信タイマを起動する。その後、ブロードキャスト送信タイマが予め設定された時間の経過により満了すると、フラグメントパケットをカプセリングして他の内部転送装置104−2〜104−Nへブロードキャスト送信する。
If the reassembly of the original packet fails, the
また、パケット判定モジュール301は、他の内部転送装置104−2〜104−Nからブロードキャスト送信されたフラグメントパケットを取得し、フラグメントパケットからオリジナルパケットへのリアセンブルに利用する。他の内部転送装置104−2〜104−Nからブロードキャスト送信されたフラグメントパケットは、パケットバッファ302に格納され、転送装置102から転送されたパケットと同じように処理されてもよい。
The
転送先ポリシー情報205は、ポリシー設定装置105から設定されたフラグメントパケットの転送先に関する情報が格納され、管理される。図5は、転送先ポリシー情報205の構成の例を示す。転送先ポリシー情報205は、プロトコルカラム401、送信元IPアドレスカラム402、送信先代表IPアドレスカラム403、送信元ポート番号カラム404、送信先ポート番号カラム405、転送先内部IPアドレスカラム406を有する。
The transfer
プロトコルカラム401は、オリジナルパケットのレイヤ4プロトコルの種別を示す。本実施例では、TCPプロトコルとしているが、UDPなどその他レイヤ4プロトコルでもよい。送信元IPアドレスカラム402は、オリジナルパケットの送信元、図1の例においては、外部ネットワーク101に存在する送信装置のIPアドレスを示す。
A
送信先代表IPアドレスカラム403は、外部ネットワーク101から送信されるオリジナルパケットの送信先である処理装置複数台冗長構成106を代表するIPアドレスを示す。外部ネットワーク101から送信されるオリジナルパケットは、処理装置107−1〜107−Mを個別に送信先とするのではなく、宛先装置108あるいは処理装置複数台冗長構成106を送信先の代表とする。
A transmission destination representative
送信先代表IPアドレスカラム403のIPアドレスは宛先装置108あるいは処理装置複数台冗長構成106に一つであってもよいし、一つでなくてもよい。例えば処理装置107の複数種類の処理内容それぞれを代表するIPアドレスであってもよく、一つの処理内容を処理装置107−1と処理装置107−2が担当し、処理装置107−Mが担当しない場合、送信先代表IPアドレスカラム403において、処理装置107−1と処理装置107−2は同じIPアドレスであり、処理装置107−Mは異なるIPアドレスであってもよい。
The destination representative
送信元ポート番号カラム404は、オリジナルパケットの送信元のTCPヘッダにおける送信元ポート番号を示す。送信先ポート番号カラム405は、オリジナルパケットの送信先のTCPヘッダにおける送信先ポート番号を示す。転送先内部IPアドレスカラム406は、宛先装置108内の内部通信で使用する各処理装置107のIPアドレスを示す。内部転送装置104は転送先ポリシー情報205のカラム401〜405に一致するパケットを転送先内部IPアドレスカラム406のIPアドレスへ転送する。
The transmission source
図6は、フラグメントパケットのフォーマット例を示す。オリジナルパケット501は、MTU値を超えるパケットサイズになると、フラグメント化される。特に先頭のフラグメントパケット502は、それ以降のフラグメントパケット503とは異なるフォーマットを有する。具体的には、先頭のフラグメントパケット502は、オリジナルパケット501のデータから分割されたデータグラムに加え、IPヘッダとTCPヘッダを有する。
FIG. 6 shows a format example of a fragment packet. The
一方、2番目以降のK番目のフラグメントパケット503は、オリジナルパケット501の残りのデータから分割されたデータグラムとIPヘッダを有しているが、TCPヘッダを有していない。図6は、TCPヘッダを有するIPパケットを例示するが、UDPヘッダなどその他のレイヤ4プロトコルを有するIPパケットにおいても同様である。以下では、先頭のフラグメントパケットをFP−1、2番目以降のK番目のフラグメントパケットをFP−Kとする。
On the other hand, the second and subsequent
なお、各フラグメントパケット502、503のIPヘッダには、オリジナルパケット501と同じIPアドレス、同一のオリジナルパケット501から分割されたことを示すIP識別子、フラグメントされているか否かなどを示すフラグメントフラグ、先頭から何番目のフラグメントパケットなのかを示すフラグメントオフセットが付与される。
The IP header of each
図7は、パケット判定モジュール301の参照するパケット判定テーブル601の構成例を示す。転送プログラム203は、パケット判定テーブル601を含む。パケット判定テーブル601のフラグメントフラグ(以下、FFとする)、フラグメントオフセット(以下、FOとする)はIPヘッダのFFとFOを判定の基準となる情報である。これらの値は、後述のフラグメントパケットの判定に用いられ、その判定の結果として、パケット判定テーブル601のパケット種別に示す情報が得られる。
FIG. 7 shows a configuration example of the packet determination table 601 referred to by the
具体的には、IPヘッダのFFの値が「0」、FOの値が「0」であれば、フラグメント化されていないパケットであることを示し、FFの値が「1」、FOの値が「0」であれば、先頭のフラグメントパケットであることを示す。また、FFの値が「1」、FOの値が「1」以上のKであれば、2番目以降のK番目のフラグメントパケットであることを示し、FFの値が「0」、FOの値が「1」以上であれば、末尾のフラグメントパケットであることを示す。 Specifically, if the FF value of the IP header is “0” and the FO value is “0”, this indicates that the packet is not fragmented, and the FF value is “1” and the FO value. “0” indicates that it is the first fragment packet. Also, if the FF value is “1” and the FO value is “K” equal to or greater than “1”, it indicates the second and subsequent Kth fragment packets, and the FF value is “0” and the FO value. If it is “1” or more, it indicates the last fragment packet.
なお、パケット判定テーブル601は同一のオリジナルパケットから分割されたフラグメントパケット(同一のIPヘッダ識別子が付与されたフラグメントパケット)の判定に使用される。 The packet determination table 601 is used for determining fragment packets (fragment packets to which the same IP header identifier is assigned) divided from the same original packet.
以下、図8〜13を参照して、フラグメントパケットを転送するシーケンスのいくつかの例を説明する。これらの例では、各フラグメントパケットが異なる内部転送装置104に到着した場合に、適切にパケットを転送するシーケンスが含まれる。
Hereinafter, with reference to FIGS. 8 to 13, some examples of sequences for transferring fragment packets will be described. In these examples, when each fragment packet arrives at a different
図8の例は、フラグメントパケットが先頭のフラグメントパケットから順番に同一の内部転送装置104−1に到着した場合のシーケンスである。まず、事前にポリシー設定装置105から各内部転送装置104−1〜104−3へ転送先ポリシー情報205が設定される(ステップ151−1〜151−3)。このステップ151−1〜151−3は、以降の図9〜11でも同様の設定であるため、図9〜11では設定の図示を省略する。
The example of FIG. 8 is a sequence when the fragment packet arrives at the same internal transfer apparatus 104-1 in order from the first fragment packet. First, transfer
そして、内部転送装置104−1が先頭のフラグメントパケットFP−1を受信する(ステップ152)。受信後、内部転送装置104−1はリアセンブルを実行するが、フラグメントパケットがそろっていないため、リアセンブルに失敗する(ステップ153)。リアセンブル失敗後、フラグメントパケットFP−1の転送を保留し、2番目以降のフラグメントパケットFP−Kを待ち受ける。 The internal transfer apparatus 104-1 receives the first fragment packet FP-1 (step 152). After the reception, the internal transfer device 104-1 executes reassembly, but fails to reassemble because there are no fragment packets (step 153). After reassembly failure, the transfer of the fragment packet FP-1 is suspended and the second and subsequent fragment packets FP-K are awaited.
内部転送装置104−1はK番目フラグメントパケットFP−Kを受信後(ステップ154)、再度リアセンブルを実行し(ステップ155)、リアセンブルを成功してオリジナルパケットのTCPヘッダに含まれる情報で転送先ポリシー情報205を検索し(ステップ156)、転送先となる処理装置107−Mを選択する。その後、内部転送装置104−1は、オリジナルパケットを処理装置107−Mへ転送する(ステップ157)。
After receiving the Kth fragment packet FP-K (step 154), the internal transfer device 104-1 executes reassembly again (step 155), succeeds in reassembling, and transfers the information contained in the TCP header of the original packet. The
図9の例は、フラグメントパケットの順番が逆転して、同一の内部転送装置104−1に到着した場合のシーケンスである。まず、内部転送装置104−1がK番目のフラグメントパケットFP−Kを受信する(ステップ251)。受信後、内部転送装置104−1は先頭フラグメントパケット以外のフラグメントパケットを受信したため、ブロードキャスト送信タイマを起動する(ステップ252)。 The example of FIG. 9 is a sequence when the order of fragment packets is reversed and arrives at the same internal transfer device 104-1. First, the internal transfer device 104-1 receives the Kth fragment packet FP-K (step 251). After receiving, since the internal transfer apparatus 104-1 has received a fragment packet other than the head fragment packet, it starts a broadcast transmission timer (step 252).
ブロードキャスト送信タイマ起動後、内部転送装置104−1はリアセンブルを実行するが、フラグメントパケットがそろっていないため、リアセンブルに失敗する(ステップ253)。リアセンブル失敗後、ブロードキャスト送信タイマ満了まで、K番目のフラグメントパケットFP−Kの送信を保留する。 After the broadcast transmission timer is started, the internal transfer apparatus 104-1 executes reassembly, but the reassembly fails because there are not all fragment packets (step 253). After reassembly failure, the transmission of the Kth fragment packet FP-K is suspended until the broadcast transmission timer expires.
その後、ブロードキャスト送信タイマ満了前に内部転送装置104−1へ先頭フラグメントパケットFP−1が到着すると(ステップ254)、先頭のフラグメントパケットFP−1を受信した内部転送装置104−1はブロードキャスト送信タイマを停止し(ステップ255)、再度リアセンブルを実行し(ステップ256)、リアセンブルを成功してオリジナルパケットのTCPヘッダに含まれる情報で転送先ポリシー情報205を検索し、転送先となる処理装置107−Mを選択する(ステップ257)。そして、内部転送装置104−1は、オリジナルパケットを処理装置107−Mへ転送する(ステップ258)。
Thereafter, when the head fragment packet FP-1 arrives at the internal transfer apparatus 104-1 before the broadcast transmission timer expires (step 254), the internal transfer apparatus 104-1 that has received the head fragment packet FP-1 sets the broadcast transmission timer. Stop (step 255), re-assemble again (step 256), successfully reassemble, search the transfer
図10の例は、フラグメントパケットが先頭のフラグメントパケットFP−1から順番に、異なる内部転送装置104−1、104−2に到着した場合のシーケンスである。まず、内部転送装置104−1が先頭のフラグメントパケットFP−1を受信する(ステップ351)。受信後、内部転送装置104−1はリアセンブルを実行するが、フラグメントパケットがそろっていないため、リアセンブルに失敗する(ステップ352)。リアセンブル失敗後、フラグメントパケットFP−1の転送を保留し、2番目以降のフラグメントパケットFP−Kを待ち受ける。 The example of FIG. 10 is a sequence when the fragment packet arrives at different internal transfer apparatuses 104-1 and 104-2 in order from the top fragment packet FP-1. First, the internal transfer apparatus 104-1 receives the first fragment packet FP-1 (step 351). After the reception, the internal transfer apparatus 104-1 executes reassembly, but fails to reassemble because there are not all fragment packets (step 352). After reassembly failure, the transfer of the fragment packet FP-1 is suspended and the second and subsequent fragment packets FP-K are awaited.
そして、内部転送装置104−2がK番目のフラグメントパケットFP−Kを受信すると(ステップ353)、先頭のフラグメントパケットFP−1以外のフラグメントパケットを受信したため、ブロードキャスト送信タイマを起動する(ステップ354)。ここで、ブロードキャスト送信タイマの時間は、OSのフラグメントパケット破棄タイマの設定値(OSがフラグメントパケットを破棄するまでの時間)と、予め設定された1未満の係数とを乗算して算出される。ブロードキャスト送信タイマはCPU201に含まれるタイマであってもよい。
Then, when the internal transfer apparatus 104-2 receives the Kth fragment packet FP-K (step 353), since the fragment packet other than the top fragment packet FP-1 is received, the broadcast transmission timer is started (step 354). . Here, the time of the broadcast transmission timer is calculated by multiplying the setting value of the OS fragment packet discard timer (the time until the OS discards the fragment packet) and a preset coefficient less than 1. The broadcast transmission timer may be a timer included in the
ブロードキャスト送信タイマ起動後、内部転送装置104−2はリアセンブルを実行するが、フラグメントパケットがそろっていないため、リアセンブルに失敗する(ステップ355)。リアセンブル失敗後、ブロードキャスト送信タイマ満了まで、K番目のフラグメントパケットFP−Kの送信を保留する。 After the start of the broadcast transmission timer, the internal transfer device 104-2 executes reassembly but fails to reassemble because there are not all fragment packets (step 355). After reassembly failure, the transmission of the Kth fragment packet FP-K is suspended until the broadcast transmission timer expires.
ブロードキャスト送信タイマ満了後、内部転送装置104−2は、K番目のフラグメントパケットFP−KのGREカプセリングを実行し(ステップ356)、内部転送装置104−2以外の全ての内部転送装置104−1、104−3へブロードキャスト送信する(ステップ357、ステップ358)。ステップ357、ステップ358のブロードキャスト送信は、内部転送装置104−2以外の全ての内部転送装置104−1、104−3を送信先としたマルチキャスト送信であってもよい。
After the broadcast transmission timer expires, the internal transfer device 104-2 performs GRE encapsulation of the Kth fragment packet FP-K (step 356), and all the internal transfer devices 104-1 other than the internal transfer device 104-2, Broadcast transmission to 104-3 (
内部転送装置104−1がGREカプセリングされたK番目のフラグメントパケットFP−Kを受信すると(ステップ358)、デカプセリングを実行し(ステップ359)、再度リアセンブルを実行し(ステップ360)、リアセンブルを成功してオリジナルパケットのTCPヘッダに含まれる情報で転送先ポリシー情報205を検索し、転送先の処理装置107−Mを選択する(ステップ361)。そして、内部転送装置104−1は、オリジナルパケットを処理装置107−Mへ転送する(ステップ362)。
When the internal transfer apparatus 104-1 receives the GRE-encapsulated Kth fragment packet FP-K (step 358), decapsulation is performed (step 359), reassembly is performed again (step 360), and reassembly is performed. The transfer
また、内部転送装置104−2は、OSのフラグメントパケット破棄タイマ満了後、K番目のフラグメントパケットFP−Kを破棄する(ステップ363)。 The internal transfer apparatus 104-2 discards the Kth fragment packet FP-K after the OS fragment packet discard timer expires (step 363).
図11の例は、フラグメントパケットの順番が逆転して、異なる内部転送装置104−1、104−2へ到着した場合のシーケンスである。まず、内部転送装置104−1がK番目のフラグメントパケットFP−Kを受信すると(ステップ371)、先頭フラグメントパケットFP−1以外のフラグメントパケットを受信したため、ブロードキャスト送信タイマを起動する(ステップ372)。 The example of FIG. 11 is a sequence when the order of fragment packets is reversed and arrives at different internal transfer apparatuses 104-1 and 104-2. First, when the internal transfer apparatus 104-1 receives the K-th fragment packet FP-K (step 371), it receives a fragment packet other than the head fragment packet FP-1, and thus starts a broadcast transmission timer (step 372).
ブロードキャスト送信タイマ起動後、内部転送装置104−1はリアセンブルを実行するが、フラグメントパケットがそろっていないため、リアセンブルに失敗する(ステップ373)。リアセンブル失敗後、ブロードキャスト送信タイマ満了まで、K番目のフラグメントパケットFP−Kの送信を保留する。 After the broadcast transmission timer is started, the internal transfer apparatus 104-1 executes reassembly, but fails to reassemble because there are not all fragment packets (step 373). After reassembly failure, the transmission of the Kth fragment packet FP-K is suspended until the broadcast transmission timer expires.
ブロードキャスト送信タイマ満了後、内部転送装置104−1は、K番目のフラグメントパケットFP−KのGREカプセリングを実行し(ステップ374)、内部転送装置104−1以外の全ての内部転送装置104−2、104−3へ送信する(ステップ375、ステップ376)。
After the broadcast transmission timer expires, the internal transfer device 104-1 performs GRE encapsulation of the Kth fragment packet FP-K (step 374), and all internal transfer devices 104-2 other than the internal transfer device 104-1, It transmits to 104-3 (
内部転送装置104−2がK番目のフラグメントパケットFP−Kを受信すると(ステップ375)、デカプセリングを実行し(ステップ377)、内部転送装置104−2は先頭フラグメントパケットFP−1以外のフラグメントパケットを受信したため、ブロードキャスト送信タイマを起動する(ステップ378)。 When the internal transfer device 104-2 receives the Kth fragment packet FP-K (step 375), decapsulation is executed (step 377), and the internal transfer device 104-2 performs a fragment packet other than the head fragment packet FP-1. Is received, the broadcast transmission timer is started (step 378).
ブロードキャスト送信タイマ起動後、内部転送装置104−2はリアセンブルを実行するが、フラグメントパケットがそろっていないため、リアセンブルに失敗する(ステップ379)。リアセンブル失敗後、ブロードキャスト送信タイマ満了まで、K番目のフラグメントパケットFP−Kの送信を保留する。 After starting the broadcast transmission timer, the internal transfer device 104-2 performs reassembly, but fails to reassemble because there are not all fragment packets (step 379). After reassembly failure, the transmission of the Kth fragment packet FP-K is suspended until the broadcast transmission timer expires.
その後、ブロードキャスト送信タイマ満了前に内部転送装置104−2へ先頭フラグメントパケットFP−1が到着すると(ステップ380)、先頭フラグメントパケットFP−1を受信した内部転送装置104−2はブロードキャスト送信タイマを停止し(ステップ381)、再度リアセンブルを実行し(ステップ382)、リアセンブルを成功してオリジナルパケットのTCPヘッダに含まれる情報で転送先ポリシー情報205を検索し、転送先となる処理装置107−Mを選択する(ステップ383)。そして、内部転送装置104−2は、オリジナルパケットを処理装置107−Mへ転送する(ステップ384)。
Thereafter, when the head fragment packet FP-1 arrives at the internal transfer device 104-2 before the broadcast transmission timer expires (step 380), the internal transfer device 104-2 that has received the head fragment packet FP-1 stops the broadcast transmission timer. (Step 381), the reassembly is executed again (Step 382), the reassembly is successful, the transfer
また、内部転送装置104−1と内部転送装置104−3のそれぞれはOSのフラグメントパケット破棄タイマ満了後、K番目のフラグメントパケットFP−Kを破棄する(ステップ385、ステップ386)。
Each of the internal transfer device 104-1 and the internal transfer device 104-3 discards the Kth fragment packet FP-K after the OS fragment packet discard timer expires (
図12の例は、内部転送装置104におけるパケット受信から処理装置107への転送までのフローチャートである。まず、内部転送装置104のパケット判定モジュール301は、パケットバッファ302からパケットを取得する(ステップ451)。パケット判定モジュール301は取得したパケットがGREカプセリングされているかを判定し(ステップ452)、取得したパケットがGREカプセリングされていると判定した場合、デカプセリングを行う(ステップ453)。
The example of FIG. 12 is a flowchart from the packet reception in the
次に、パケット判定モジュール301は、取得したパケットのIPヘッダからFF(フラグメントフラグ)とFO(フラグメントオフセット)の値を抽出し(ステップ454)、パケット判定テーブル601を参照して、パケット種別を判定する。なお、FFの値とFOの値を直接に判定してもよい(ステップ455)。
Next, the
パケット判定モジュール301によるパケット種別の判定結果が、先頭のフラグメントパケット(FF=1、FO=0)の場合、内部転送装置104はブロードキャスト送信タイマの状態を取得し(ステップ459)、ブロードキャスト送信タイマが起動しているかを判定する(ステップ460)。ブロードキャスト送信タイマが起動していた場合は、ブロードキャスト送信タイマを停止する(ステップ461)。
When the packet type determination result by the
これにより、先頭のフラグメントパケットを受信した内部転送装置104は、先頭のフラグメントパケットをブロードキャストせず、他の内部転送装置104のリアセンブルを失敗させ、全てのフラグメントパケットを受信してリアセンブルする。
As a result, the
ブロードキャスト送信タイマ関連の処理の後、ステップ462の実行時までに他の内部転送装置104から受信したフラグメントパケットと、先頭のフラグメントパケットとのリアセンブルを実行し(ステップ462)、リアセンブルの実行結果を判定する(ステップ463)。
After processing related to the broadcast transmission timer, the reassembly of the fragment packet received from the other
実行結果がリアセンブルの成功である場合は、リアセンブルしたオリジナルパケットのTCPヘッダなどの情報に基づいて転送先ポリシー情報205(カラム401〜405のIPアドレスやポート番号)を検索し、転送先となる処理装置107のIPアドレスを転送先内部IPアドレスカラム406から取得する(ステップ464)。そして、リアセンブルしたオリジナルパケットを、取得したIPアドレス宛に転送する(ステップ465)。また、ステップ463で実行結果がリアセンブルの失敗である場合は、ステップ462でリアセンブルの対象となったフラグメントパケットを保持しておく。
If the execution result is a successful reassembly, the transfer destination policy information 205 (IP address and port number in
ステップ455におけるパケット種別の判定結果が、フラグメント化されていないパケット(FF=0、FO=0)の場合、内部転送装置104は、取得したパケットのTCPヘッダなどの情報に基づいて転送先ポリシー情報205(カラム401〜405のIPアドレスやポート番号)を検索し、転送先となる処理装置107のIPアドレスを転送先内部IPアドレスカラム406から取得する(ステップ464)。そして、取得したパケットを取得したIPアドレス宛に転送する(ステップ465)。
When the determination result of the packet type in
ステップ455におけるパケット種別の判定結果が、2番目以降のフラグメントパケット(FF=1、FOが1以上)もしくは末尾のフラグメントパケット(FF=0、FOが1以上)の場合、内部転送装置104は他の内部転送装置104へフラグメントパケットを転送するために、ブロードキャスト送信タイマを起動し(ステップ458)、ステップ462へ進む。
When the determination result of the packet type in
なお、ステップ462のリアセンブルで内部転送装置104は、先頭のフラグメントパケット(FF=1、FO=0)から末尾のフラグメントパケット(FF=0、FOが1以上)まで、FOの値が連続するようにデータグラムが存在するのであれば、それらのデータグラムを連結してもよい。また、ステップ463で内部転送装置104は、先頭のフラグメントパケット(FF=1、FO=0)と末尾のフラグメントパケット(FF=0、FOが1以上)が存在し、FOの値が連続することを判定して、リアセンブルの成功を判定してもよい。
In the reassembly of
図13の例は、内部転送装置104におけるブロードキャスト送信タイマ満了後のブロードキャスト送信のフローチャートである。ブロードキャスト送信タイマが満了すると割り込みなどが発生し、まず、内部転送装置104は、保持していたフラグメントパケットを取得し(ステップ551)、フラグメントパケットをGREカプセリングする(ステップ552)。
The example of FIG. 13 is a flowchart of broadcast transmission after the broadcast transmission timer expires in the
その後、内部転送装置104は、GREカプセリングされたフラグメントパケットを他の全ての内部転送装置104へブロードキャスト送信し(ステップ553)、保持していた全てのフラグメントパケットをブロードキャスト送信したか判定する(ステップ554)。保持していた全てのフラグメントパケットを送信していないと判定した場合、フラグメントパケットの取得(ステップ551)へ戻り、他の未送信のフラグメントパケットを取得して同様の処理を繰り返す。
Thereafter, the
ブロードキャスト送信のために、内部転送装置104はレイヤ2スイッチ109へGREカプセリングされたフラグメントパケットを送信してもよく、レイヤ2スイッチが内部転送装置104−1〜104−Nの一部又は全てへ転送するアドレスを、GREカプセリングされたブロードキャスト送信されるフラグメントパケットは含んでもよい。ブロードキャスト送信は処理装置107へは送信されなくてもよい。
For broadcast transmission, the
以上では、パケット判定モジュール301と内部転送装置104の処理として説明したが、パケット判定モジュール301は判定だけを行い、他の処理は転送プログラム203をCPU201が実行することにより他のモジュールが行ってもよい。また、内部転送装置104内のCPU201が実行する全ての処理を、パケット判定モジュール301が行ってもよい。
In the above description, the processing of the
以上で説明したように、複数の内部転送装置104へフラグメントパケットが分散して到着しても、先頭のフラグメントパケットが到着した内部転送装置104によりオリジナルパケットへリアセンブルすることができる。ここで、フラグメントパケットのブロードキャスト送信により、リアセンブルに必要なフラグメントパケットを得られるため、リアセンブルのための特別な管理なども不要である。
As described above, even if fragment packets arrive at a plurality of
そして、オリジナルパケットをリアセンブルできるため、ポリシー情報に基づいて適切な処理装置へ転送することも可能になる。 Since the original packet can be reassembled, it can be transferred to an appropriate processing device based on the policy information.
101:外部ネットワーク、102:転送装置、104:内部転送装置、105:ポリシー設定装置、107:処理装置、108:宛先装置、205:転送先ポリシー情報、301:パケット判定モジュール 101: External network, 102: Transfer device, 104: Internal transfer device, 105: Policy setting device, 107: Processing device, 108: Destination device, 205: Transfer destination policy information, 301: Packet determination module
Claims (12)
パケットを処理する複数の処理装置と、
前記通信装置の外部からパケットを受信し、前記複数の処理装置の中のいずれかの処理装置へパケットを転送する複数の転送装置と
を備え、
前記複数の転送装置の中の第1の転送装置は、
前記通信装置の外部から第1のパケットを受信し、
前記複数の転送装置の中の第2の転送装置から第2のパケットを受信し、
第1のパケットと第2のパケットを用いてパケットを再構成し、
前記複数の処理装置の中から、設定されたポリシー情報に基づいて処理装置を選択し、選択された処理装置へ再構成されたパケットを転送すること
を特徴とする通信装置。 A communication device that receives and processes packets,
A plurality of processing devices for processing packets;
A plurality of transfer devices that receive packets from outside the communication device and transfer the packets to any of the plurality of processing devices;
The first transfer device among the plurality of transfer devices is:
Receiving a first packet from outside the communication device;
Receiving a second packet from a second transfer device of the plurality of transfer devices;
Reassemble the packet using the first packet and the second packet;
A communication device, wherein a processing device is selected from the plurality of processing devices based on set policy information, and the reconfigured packet is transferred to the selected processing device.
前記第2の転送装置は、
前記通信装置の外部から第2のパケットを受信し、
受信した第2のパケットを前記第1の転送装置へ送信すること
を特徴とする通信装置。 The communication device according to claim 1,
The second transfer device includes:
Receiving a second packet from outside the communication device;
A communication apparatus, wherein the received second packet is transmitted to the first transfer apparatus.
前記第2の転送装置は、
受信した第2のパケットをカプセリングして前記第1の転送装置へ送信し、
前記第1の転送装置は、
前記第2の転送装置から受信した第2のパケットがカプセリングされているかを判定し、
カプセリングされていると判定すると、第2のパケットをデカプセリングすること
を特徴とする通信装置。 The communication device according to claim 2,
The second transfer device includes:
Encapsulating the received second packet and sending it to the first transfer device;
The first transfer device includes:
Determining whether the second packet received from the second transfer device is encapsulated;
A communication device that decapsulates the second packet when it is determined that it is encapsulated.
前記第2の転送装置は、
受信した第2のパケットを前記第1の転送装置を含む前記複数の転送装置へ送信すること
を特徴とする通信装置。 The communication device according to claim 3,
The second transfer device includes:
A communication apparatus that transmits the received second packet to the plurality of transfer apparatuses including the first transfer apparatus.
前記第2の転送装置は、
タイマを有し、
前記通信装置の外部から第2のパケットを受信すると、受信した第2のパケットが分割された先頭のパケットであるかを判定し、分割された先頭のパケットでないと判定すると、前記タイマを起動し、
前記タイマが予め設定された値になると、受信した第2のパケットを送信すること
を特徴とする通信装置。 The communication device according to any one of claims 2 to 4,
The second transfer device includes:
Have a timer,
When the second packet is received from the outside of the communication device, it is determined whether the received second packet is a divided first packet. When it is determined that the second packet is not the divided first packet, the timer is started. ,
The communication apparatus, wherein when the timer reaches a preset value, the received second packet is transmitted.
前記第1の転送装置は、
タイマを有し、
前記第2の転送装置から第2のパケットを受信すると、受信した第2のパケットが分割された先頭のパケットであるかを判定し、分割された先頭以外のパケットであると判定すると、前記タイマを起動し、
前記通信装置の外部から第1のパケットを受信すると、受信した第1のパケットが分割された先頭のパケットであるかを判定し、分割された先頭のパケットであると判定すると、前記タイマを停止し、
第1のパケットと第2のパケットを用いて分割される前のパケットを再構成するための処理を実行し、再構成に成功したかを判定し、
再構成に成功したと判定すると、設定されたポリシー情報に基づいた転送先へ再構成されたパケットを送信すること
を特徴とする通信装置。 The communication device according to claim 1,
The first transfer device includes:
Have a timer,
When the second packet is received from the second transfer device, it is determined whether the received second packet is a divided first packet, and if the second packet is determined to be a packet other than the divided first packet, the timer Start
When the first packet is received from the outside of the communication device, it is determined whether the received first packet is a divided first packet. When it is determined that the first packet is divided, the timer is stopped. And
Execute a process for reconstructing a packet before being divided using the first packet and the second packet, and determine whether the reconfiguration is successful;
A communication apparatus, which determines that reconfiguration is successful, transmits the reconfigured packet to a transfer destination based on the set policy information.
前記第1の転送装置は、
第1のパケットのデータグラムと第2のパケットのデータグラムを連結して分割される前のパケットのデータとし、第1のパケットのヘッダを用いて、分割される前のパケットを再構成するための処理を実行すること
を特徴とする通信装置。 The communication device according to claim 6,
The first transfer device includes:
To reconstruct the packet before being divided using the header of the first packet by connecting the datagram of the first packet and the datagram of the second packet as the data of the packet before being divided. The communication apparatus which performs the process of.
前記第1の転送装置は、
受信した第2のパケットのIPヘッダに含まれる情報を用いて、受信した第2のパケットが分割された先頭のパケットであるかを判定し、
受信した第1のパケットのIPヘッダに含まれる情報を用いて、受信した第1のパケットが分割された先頭のパケットであるかを判定すること
を特徴とする通信装置。 The communication device according to claim 7,
The first transfer device includes:
Using the information contained in the IP header of the received second packet, determine whether the received second packet is the first packet divided;
A communication apparatus, wherein information received in an IP header of a received first packet is used to determine whether the received first packet is a divided first packet.
前記第1の転送装置は、
第1のパケットのTCPヘッダに含まれる情報を用いて、設定されたポリシー情報を検索し、前記複数の処理装置の中から処理装置を選択すること
を特徴とする通信装置。 The communication device according to any one of claims 6 to 8,
The first transfer device includes:
A communication device that searches for set policy information using information included in a TCP header of a first packet and selects a processing device from among the plurality of processing devices.
パケットを受信し、
受信されたパケットが、分割された先頭のパケットであるかを判定し、
分割された先頭以外のパケットであると判定すると、タイマを起動し、受信されたパケットを用いて、分割される前のパケットを再構成するための処理を実行し、再構成に成功したかを判定し、
再構成に成功したと判定すると、設定されたポリシー情報に基づいて処理装置を選択し、選択された処理装置へ再構成されたパケットを送信すること
を特徴とする転送装置の制御方法。 A control method for a transfer device for transmitting and receiving packets,
Receive the packet,
Determine whether the received packet is the first packet divided,
If it is determined that it is a packet other than the divided head, a timer is started, and processing for reconstructing the packet before being divided is performed using the received packet. Judgment,
A method for controlling a transfer device, comprising: determining that the reconfiguration has succeeded, selecting a processing device based on set policy information, and transmitting the reconfigured packet to the selected processing device.
受信されたパケットが、分割された先頭のパケットであると判定すると、前記タイマを停止し、受信されたパケットを用いて、分割される前のパケットを再構成するための処理を実行し、再構成に成功したかを判定し、
再構成に成功したと判定すると、設定されたポリシー情報に基づいた転送先へ再構成されたパケットを送信すること
を特徴とする転送装置の制御方法。 It is a control method of the transfer device according to claim 10,
When it is determined that the received packet is the first packet that has been divided, the timer is stopped, and processing for reconstructing the packet before being divided is executed using the received packet. Determine if the configuration was successful,
A method for controlling a transfer apparatus, comprising: determining that the reconfiguration is successful, and transmitting the reconfigured packet to a transfer destination based on the set policy information.
前記タイマが予め設定された値になると、受信されたパケットを送信すること
を特徴とする転送装置の制御方法。 A method for controlling a transfer apparatus according to claim 11, comprising:
A method for controlling a transfer apparatus, comprising: transmitting a received packet when the timer reaches a preset value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016020510A JP2017139680A (en) | 2016-02-05 | 2016-02-05 | Communication device and transfer device control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016020510A JP2017139680A (en) | 2016-02-05 | 2016-02-05 | Communication device and transfer device control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017139680A true JP2017139680A (en) | 2017-08-10 |
Family
ID=59566930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016020510A Pending JP2017139680A (en) | 2016-02-05 | 2016-02-05 | Communication device and transfer device control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017139680A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110570882A (en) * | 2019-09-16 | 2019-12-13 | 北京计算机技术及应用研究所 | data security ferry system with high security and confidentiality level |
CN110602213A (en) * | 2019-09-16 | 2019-12-20 | 北京计算机技术及应用研究所 | Data exchange method between different security level networks based on optical disk ferry |
JP7431901B2 (en) | 2021-09-30 | 2024-02-15 | ウーブン・バイ・トヨタ株式会社 | Vehicle data collection system and how to use it |
-
2016
- 2016-02-05 JP JP2016020510A patent/JP2017139680A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110570882A (en) * | 2019-09-16 | 2019-12-13 | 北京计算机技术及应用研究所 | data security ferry system with high security and confidentiality level |
CN110602213A (en) * | 2019-09-16 | 2019-12-20 | 北京计算机技术及应用研究所 | Data exchange method between different security level networks based on optical disk ferry |
JP7431901B2 (en) | 2021-09-30 | 2024-02-15 | ウーブン・バイ・トヨタ株式会社 | Vehicle data collection system and how to use it |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8427945B2 (en) | SoC device with integrated supports for Ethernet, TCP, iSCSI, RDMA and network application acceleration | |
US7428219B2 (en) | System and method to exchange information between a control element and forwarding elements in a network element architecture | |
US11929925B2 (en) | Reliable generic routing encapsulation tunnels | |
US8953631B2 (en) | Interruption, at least in part, of frame transmission | |
US10135736B1 (en) | Dynamic trunk distribution on egress | |
WO2007063585A1 (en) | Communication device and frame control method | |
US20120155458A1 (en) | Repeated Lost Packet Retransmission in a TCP/IP Network | |
CN106576108B (en) | Communication method, equipment and system in communication system | |
US10205660B2 (en) | Apparatus and method for packet header compression | |
US9584425B2 (en) | Bandwidth optimization using coalesced DUP ACKs | |
US11627077B2 (en) | Reliable overlay based on reliable transport layer | |
US9356989B2 (en) | Learning values of transmission control protocol (TCP) options | |
EP3119057A1 (en) | Packet conversion device and method for allowing transparent packet-based multipath bundling | |
US10999366B2 (en) | Mirroring dropped packets | |
CN110943935A (en) | Method, device and system for realizing data transmission | |
US20220407799A1 (en) | Method and network device for multi-path communication | |
JP2017139680A (en) | Communication device and transfer device control method | |
CN114268518B (en) | Method and system for realizing forwarding acceleration of sdwan data tunnel | |
US20200076718A1 (en) | High bandwidth using multiple physical ports | |
US11374856B1 (en) | System and method for performing synchronization of maximum transmission unit with router redundancy | |
CN114070495A (en) | Data transmission method, device, electronic device and storage medium | |
CN107566278B (en) | Transmission method, device and system | |
WO2022242775A1 (en) | Packet processing method and system, and network device | |
CN113872890A (en) | Switch for an aircraft communication system, and associated aircraft communication system and transmission method | |
CN117579555A (en) | Data transmission method, computing device and system |