JP2013219481A - Relay device, relay method, and relay program - Google Patents
Relay device, relay method, and relay program Download PDFInfo
- Publication number
- JP2013219481A JP2013219481A JP2012087234A JP2012087234A JP2013219481A JP 2013219481 A JP2013219481 A JP 2013219481A JP 2012087234 A JP2012087234 A JP 2012087234A JP 2012087234 A JP2012087234 A JP 2012087234A JP 2013219481 A JP2013219481 A JP 2013219481A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- communication
- destination
- pmtu
- network side
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明の実施形態は、中継装置、中継方法及び中継プログラムに関する。 Embodiments described herein relate generally to a relay device, a relay method, and a relay program.
一般に、インターネットプロトコルを用いたネットワーク(IP網)は、様々な物理的なネットワーク媒体の上に構築可能なように設計されている。この物理的なネットワーク媒体には、例えば、ケーブルや無線などがある。IP網を特定のネットワーク媒体の伝送方式に依存しない形態で構築可能とするために、物理的なネットワーク媒体は、「リンク層」と呼ばれる概念で抽象化されたインタフェースを介して上位のIP層から利用できるようにモデル化される。インターネットプロトコルのプロトコルモデルは、下位層にリンク層が位置づけられ、そのリンク層の上にIP層が位置付けられる概念で表される。 In general, a network (IP network) using an Internet protocol is designed so that it can be constructed on various physical network media. Examples of the physical network medium include a cable and a radio. In order to make it possible to construct an IP network in a form that does not depend on a transmission method of a specific network medium, a physical network medium is transmitted from an upper IP layer through an interface abstracted by a concept called “link layer”. Modeled for use. The protocol model of the Internet protocol is expressed by a concept that a link layer is positioned in a lower layer and an IP layer is positioned on the link layer.
このようなIP網において、データは、IPパケットと呼ばれるデータの塊としてノード間を送受信される。所定のノードが大きなデータを送る場合には、必要に応じてデータは複数のIPパケットに分割されて送受信される。所定のネットワーク媒体上のIP網に接続された2つのノード間でIPパケットが送受信される場合、これらの2つのノード間は、概念的な「リンク」によって結ばれる。一般に、かかるリンクには、1つのIPパケット相当で送信することができるデータの塊の最大サイズが定められる。かかるデータの最大サイズは、ネットワーク媒体(リンク層)で用いる通信プロトコルのパラメータとして表現可能である。このようなリンクが許容可能なデータの最大サイズは、一般にMTU(Maximum Transfer Unit)値と呼ばれる。 In such an IP network, data is transmitted and received between nodes as a lump of data called an IP packet. When a predetermined node sends large data, the data is divided into a plurality of IP packets and transmitted / received as necessary. When an IP packet is transmitted and received between two nodes connected to an IP network on a predetermined network medium, the two nodes are connected by a conceptual “link”. In general, the maximum size of a data chunk that can be transmitted in one IP packet is determined for such a link. The maximum size of such data can be expressed as a communication protocol parameter used in the network medium (link layer). The maximum size of data that can be accepted by such a link is generally called an MTU (Maximum Transfer Unit) value.
ところで、複数のIP網は、ルータにより相互接続される。ルータはケーブルや無線など様々なネットワーク媒体のリンクを介して複数のIP網に接続し、IPパケットをIP網間で中継するノードの一種である。このようにルータによって相互接続されたIP網の集合体は、インターネットと呼ばれる。 Incidentally, a plurality of IP networks are interconnected by routers. A router is a type of node that connects to a plurality of IP networks via links of various network media such as cables and radios and relays IP packets between the IP networks. A collection of IP networks interconnected by routers in this way is called the Internet.
ここで、所定のネットワーク媒体上に構築されたIP網に接続しているノードAが、別のネットワーク媒体上に構築されたIP網に接続しているノードBと通信する場合について検討する。例えば、ノードA及びBのそれぞれが接続する2つのIP網が同一の1つのルータに接続している場合には、かかるルータは、ノードAからノードB宛に送信されたIPパケットを中継することができる。また、ノードAが接続するIP網とノードBが接続するIP網の間に複数のルータと、かかる複数のルータ間を結ぶ複数のリンクが存在する場合にも、ノードAからノードBまでの経路上に存在する各ルータがIPパケットを中継することにより、ノードAとノードBとの間における通信が可能となる。 Here, consider a case where a node A connected to an IP network constructed on a predetermined network medium communicates with a node B connected to an IP network constructed on another network medium. For example, when two IP networks to which nodes A and B are connected are all connected to the same router, the router relays an IP packet transmitted from node A to node B. Can do. In addition, when there are a plurality of routers and a plurality of links connecting the plurality of routers between the IP network to which node A is connected and the IP network to which node B is connected, the route from node A to node B Each router existing above relays an IP packet, so that communication between the node A and the node B becomes possible.
上記例において、ノードAからノードBへ到達する経路上にある複数のリンクには、それぞれのネットワーク媒体で用いる通信プロトコルに関係付けられたMTU値が定められている。そのため、ノードAからノードBへIPパケットを転送する場合、かかるIPパケットのサイズは、ノードAからノードBまでの経路上に存在する各リンクのMTU値のいずれも超えないことが求められる。すなわち、ノードAは、ノードBにIPパケットを送信する場合に、ノードAからノードBまでの経路を構成するリンク全体の中で、最も小さいMTU値以下のサイズでIPパケットを送信することが求められる。このような所定の経路上の全リンクにおける最小のMTU値は、その経路に対する「経路MTU値」と呼ばれる。 In the above example, MTU values related to the communication protocol used in each network medium are defined for a plurality of links on the route from node A to node B. Therefore, when an IP packet is transferred from node A to node B, the size of the IP packet is required not to exceed any of the MTU values of the links existing on the path from node A to node B. That is, when sending an IP packet to Node B, Node A is required to send an IP packet with a size equal to or smaller than the smallest MTU value in the entire link constituting the route from Node A to Node B. It is done. Such a minimum MTU value in all links on a predetermined route is called a “route MTU value” for the route.
インターネットプロトコルでは、所定の宛先ノードへの経路MTU値を発見するための手順が経路MTU探索(Path MTU Discovery)として標準的に定められている。インターネットプロトコル・バージョン4(IPv4)における経路MTU探索はRFC(Request for Comments)1191に定義されており、インターネットプロトコル・バージョン6(IPv6)の経路MTU探索はRFC1981に定義されている。なお、RFC1981は、RFC1191から派生したものである。 In the Internet protocol, a procedure for discovering a path MTU value to a predetermined destination node is standardly defined as path MTU discovery. Route MTU search in Internet protocol version 4 (IPv4) is defined in RFC (Request for Comments) 1191, and route MTU search in Internet protocol version 6 (IPv6) is defined in RFC 1981. RFC 1981 is derived from RFC 1191.
IPv6の経路MTU探索における手順の概略を説明すると、IPパケットの送信元ノードは、かかるノード自身が接続しているネットワーク媒体(リンク)のMTU値を初期の経路MTU値と仮定してIPパケットを送信する。このIPパケットは、宛先ノードに届くまでに経路上のルータとリンクを経由する。このとき、経路の途中のあるリンクのMTU値がIPパケットのサイズよりも小さい場合、すなわちIPパケットのデータサイズがリンクのMTU値を超過した場合には、かかるリンクに接続するルータは、IPパケットを破棄し、送信元ノードに対してパケット過大メッセージ(Packet Too Big messages)を返送する。このようなパケット過大メッセージのフォーマットと通信手順については、RFC4443に定義されている。 The outline of the procedure in the IPv6 route MTU search will be described. An IP packet transmission source node assumes that an MTU value of a network medium (link) to which the node itself is connected is an initial route MTU value, and sends an IP packet. Send. This IP packet passes through a router and a link on the route before reaching the destination node. At this time, when the MTU value of a link in the middle of the route is smaller than the size of the IP packet, that is, when the data size of the IP packet exceeds the MTU value of the link, the router connected to the link And return a packet excessive message (Packet Too Big messages) to the source node. The format and communication procedure of such an excessive packet message are defined in RFC4443.
パケット過大メッセージには、IPパケットのサイズが超過したMTU値であって、メッセージを送出するルータが接続しているリンクのMTU値が含まれる。パケット過大メッセージが送信元ノードまで転送されることにより、かかる送信元ノードは、宛先ノードまでの経路の途中に初期に仮定した経路MTU値よりも小さいMTU値が定められているリンクが存在することを識別できる。さらに、送信元ノードは、パケット過大メッセージに含まれるMTU値にIPパケットのサイズを変更して再送信することにより、少なくともパケット過大メッセージを返送したルータがかかるリンクを介して接続する次のノードまでIPパケットを到達させることができる。送信元ノードは、このような処理を繰り返すことにより、最終的には宛先ノードにIPパケットを到達させることができる。 The packet excessive message includes an MTU value that exceeds the size of the IP packet, and includes an MTU value of a link to which a router that transmits the message is connected. When the packet excessive message is transferred to the transmission source node, the transmission source node has a link in which an MTU value smaller than the initially assumed path MTU value is defined in the middle of the path to the destination node. Can be identified. Furthermore, the source node changes the size of the IP packet to the MTU value included in the packet excessive message and retransmits it, so that at least the next node to which the router that has returned the packet excessive message connects via the link IP packets can be reached. The source node can finally reach the destination node by repeating such processing.
RFC1981には、IPv6を使用するノードは経路MTU探索を実装すべきであると記載されているが、必須要件ではない。また、RFC1981には、経路MTU探索を実装しないノードはIPv6の到達保障されている最小MTU値を経路MTU値として用いると記載されている。一方、RFC2460のIPv6仕様では、IPv6を使用するノードは最小のMTU値を1280オクテット(Octets)とするように定められている。そのため、経路MTU探索を実装しないノードは常に経路MTU値を1280オクテットとしてIPパケットを送信することになる。 RFC 1981 states that nodes using IPv6 should implement path MTU discovery, but this is not a requirement. RFC 1981 describes that a node that does not implement path MTU search uses the minimum MTU value guaranteed to reach IPv6 as the path MTU value. On the other hand, in the IPv2 specification of RFC2460, a node using IPv6 is determined to have a minimum MTU value of 1280 octets. Therefore, a node that does not implement route MTU search always transmits an IP packet with the route MTU value set to 1280 octets.
以上述べたような経路MTU探索の手順が存在する一方で、RFC4861には、ルータが、ルータ自身が接続しているリンクと同一リンクに接続するノード全てに対して、かかるリンクのMTU値を広告する仕組みが記載されている。RFC4861はIPv6の近隣発見プロトコル(Neighbor Discovery Protocol)に関する標準であり、あるノードが同一ネットワーク媒体(リンク)に接続している他ノード群を発見し、他ノードに関する情報を収集して通信可能にするための手順について定義したものである。 While the route MTU search procedure as described above exists, RFC4861 advertises the MTU value of the link to all nodes connected to the same link as the link to which the router itself is connected. The mechanism to do is described. RFC4861 is a standard related to the Neighbor Discovery Protocol of IPv6, where a certain node discovers other nodes connected to the same network medium (link), collects information related to the other nodes, and enables communication. The procedure for this is defined.
かかるRFC4861には、近隣発見プロトコルに関して、ルータがルータ自身の存在や通信設定に関する情報を同一リンクに接続しているノードに対して広告するためのルータ広告メッセージの仕様が定められており、そのメッセージのオプションとしてリンクのMTU値を含めることができると記載されている。ルータは、MTUオプションを用いることにより、同一リンクに接続する他ノードによって使用されることが推奨されるMTU値を指定することができる。したがって、ルータ広告メッセージのMTUオプションを使用した場合、同一リンクに接続している各ノード間においては、各ノードが経路MTU探索を行うことなく、ルータによって指定されたMTU値によりIPパケットを送信することが可能である。 In this RFC4861, the specification of a router advertisement message for a router to advertise information regarding the router's own existence and communication settings to nodes connected to the same link is defined for the neighbor discovery protocol. It is described that the MTU value of the link can be included as an option. The router can specify an MTU value recommended to be used by other nodes connected to the same link by using the MTU option. Therefore, when the MTU option of the router advertisement message is used, between the nodes connected to the same link, each node transmits an IP packet with the MTU value specified by the router without performing a route MTU search. It is possible.
なお、RFC4861には、近隣発見プロトコルを実施する際に、IPv6のノードに搭載されることが考えられる概念的な機能について記載されている。それらの機能のうち経路MTU探索に関するものとして、近隣キャッシュ(Neighbor Cache)と宛先キャッシュ(Destination Cache)がある。近隣キャッシュは、所定のノードが直接接続しているリンク毎に、かかるリンク上に接続している他ノードに関する情報を一時的に蓄えておくためのキャッシュである。宛先キャッシュは、所定のノードが最近通信した宛先ノードに関する情報を一時的に蓄えておくためのキャッシュである。RFC4861では、宛先キャッシュに宛先ごとの経路MTU値を含めることも可能であると記載されている。 RFC 4861 describes a conceptual function that can be installed in an IPv6 node when the neighbor discovery protocol is implemented. Among these functions, there are a neighbor cache (Neighbor Cache) and a destination cache (Destination Cache) related to route MTU search. The neighborhood cache is a cache for temporarily storing information regarding other nodes connected to the link for each link to which a predetermined node is directly connected. The destination cache is a cache for temporarily storing information related to a destination node with which a predetermined node has recently communicated. RFC4861 describes that a path MTU value for each destination can be included in the destination cache.
また、RFC1191の経路MTU探索の仕組みを用いて発見した経路MTU値を宛先ノード毎にキャッシュしておき、その後に同一の宛先ノードへの通信が発生した際に、キャッシュ情報を用いることで、経路MTU探索を行うことなく宛先ノードまでIPパケットを到達させる技術については、一般に知られている。 In addition, the route MTU value discovered using the route MTU search mechanism of RFC 1191 is cached for each destination node, and when communication to the same destination node occurs thereafter, the cache information is used to A technique for reaching an IP packet to a destination node without performing an MTU search is generally known.
しかしながら、上記の従来技術には、各ノードが適切な経路MTU値を用いて通信を行えない場合があった。具体的には、経路MTU探索において、ルータによって返送されるパケット過大メッセージは、送信元ノードに到達しない場合がある。例えば、ルータが経路MTU探索の仕組みを具備していない場合や、ルータと送信元ノードとの間における途中のルータが経路MTU探索の仕組みを具備していない場合や、ファイアフォール等の関係でパケット過大メッセージが途中のルータに到達しない場合などに、パケット過大メッセージは、送信元ノードに到達しない場合がある。このような場合には、送信元ノードは、宛先ノードに対する適切な経路MTU値を取得することができないので、適切な経路MTU値を用いて宛先ノードとの間で通信することができないという問題があり、MTUブラックホール問題、パスMTUブラックホール問題などと呼ばれている(以下、このような問題を「ブラックホール問題(またはBH問題)」という)。 However, in the above-described prior art, each node may not be able to communicate using an appropriate route MTU value. Specifically, in the route MTU search, a packet excessive message returned by the router may not reach the transmission source node. For example, when the router does not have a route MTU search mechanism, or when a router on the way between the router and the transmission source node does not have a route MTU search mechanism, or because of a firewall, etc. In some cases, such as when an excessive message does not reach a router in the middle, the excessive packet message may not reach the source node. In such a case, since the transmission source node cannot acquire an appropriate route MTU value for the destination node, there is a problem that communication cannot be performed with the destination node using the appropriate route MTU value. Yes, it is called an MTU black hole problem, a pass MTU black hole problem, etc. (hereinafter, such a problem is referred to as a “black hole problem (or BH problem)”).
なお、上記の通り、IPv6では、経路MTU探索では検知不能なパケット過大による通信不能を回避するために、送信元ノードが予めIPv6の最小MTU値である1280オクテットをデフォルトの経路MTU値として使用することも考えられる。しかし、全ての宛先ノードに対して最小MTU値である1280オクテットをデフォルトとして適用することは、実際には経路MTU値が1280オクテットよりも大きい宛先ノードに対しても1280オクテットであるIPパケットのサイズでデータを送信することになるので、通信効率が悪くなるという問題が発生する。 As described above, in IPv6, in order to avoid communication failure due to excessive packets that cannot be detected by route MTU search, the source node uses 1280 octets, which is the minimum MTU value of IPv6, as the default route MTU value in advance. It is also possible. However, applying the default MTU value of 1280 octets as the default for all destination nodes is actually the size of an IP packet that is 1280 octets even for destination nodes whose path MTU value is greater than 1280 octets. Therefore, there is a problem that the communication efficiency is deteriorated.
また、送信元ノードが、上記の宛先キャッシュを使用した場合には、既に通信が成功している宛先ノードに対して、経路MTU探索の仕組みを使うことなく適切な経路MTU値を選択することが可能になるとも考えられる。しかし、宛先キャッシュを用いた従来技術であっても、通信が成功するまでは各ノードが経路MTU探索を用いることになるので、パケット過大メッセージが送信元ノードに到達しないことで各ノードが適切な経路MTU(またはPath MTU、PMTU)値を用いて宛先ノードとの間で通信を行えないという問題を解消することができない。 When the source node uses the above destination cache, an appropriate route MTU value can be selected for a destination node that has already been successfully communicated without using a route MTU search mechanism. It may be possible. However, even in the conventional technology using the destination cache, each node uses the path MTU search until the communication is successful, so that each node is not appropriate because the packet excessive message does not reach the transmission source node. The problem that communication cannot be performed with the destination node using the path MTU (or Path MTU, PMTU) value cannot be solved.
また、送信元装置から通信を受けたLAN側の中継装置が、宛先装置と通信する前に、宛先装置に対して事前確認通信を試みて適当なPMTUを確認して、送信元端末にこのPMTUの値で通信させる技術がある。しかし、宛先毎に適当なPMTUを確認する処理などが必要であり、送信データサイズを変えて事前確認通信を繰り返すため、適当なPMTUを特定するまでに相当の時間を要し、通信効率が悪くなるという問題が発生する。 In addition, before the LAN side relay device that has received communication from the transmission source device communicates with the destination device, the LAN device attempts to perform prior confirmation communication with the destination device, confirms an appropriate PMTU, and sends the PMTU to the transmission source terminal. There is a technology to communicate with the value of. However, a process for confirming an appropriate PMTU for each destination is required, and the prior confirmation communication is repeated while changing the transmission data size. Therefore, it takes a considerable time to identify an appropriate PMTU, resulting in poor communication efficiency. Problem arises.
また、インターネット上のルータ間で、経路情報の交換とともに、ルータが把握している宛先となり得る宛先装置までのPMTU情報を交換して、宛先装置までの最適なPMTUを送信元装置に通知する技術がある。しかし、対処できるのは通知を受けた所定の宛先装置との通信のみであり、かつ、既存のインターネット上の各ルータの構成に手を加えなければならないという問題が発生する。 Further, a technique for exchanging path information between routers on the Internet and exchanging PMTU information up to a destination device that can be a destination known by the router and notifying the transmission source device of the optimal PMTU up to the destination device There is. However, there is a problem that only the communication with a predetermined destination device that has been notified can be dealt with, and the configuration of each router on the existing Internet must be modified.
本願の開示する技術は、上記に鑑みてなされたものであって、適切に通信を行うことができる経路MTU値で、効率的に通信を行うことができる中継装置、中継方法及び中継プログラムを提供することを目的とする。 The technology disclosed in the present application has been made in view of the above, and provides a relay device, a relay method, and a relay program capable of efficiently performing communication with a route MTU value capable of appropriately performing communication. The purpose is to do.
実施形態に係る中継装置は、広域通信網とローカル通信網との間で通信を中継する中継装置であって、前記ローカル通信網側の端末から前記広域通信網側の端末へのデータ送信に対する応答を監視する監視部と、前記監視部による監視に基づいて所定の時間以内に応答が返ってきたかを判定する判定部と、前記判定部によって所定の時間以内に応答がないと判定された場合には、予め記憶された1回に転送可能なデータ容量であって前記データ送信時のデータ容量よりも小さいデータ容量である転送可能容量を指示するメッセージを生成し、該メッセージを前記ローカル通信網側の端末に通知する通知部とを有することを特徴とする中継装置。 The relay device according to the embodiment is a relay device that relays communication between a wide area communication network and a local communication network, and is a response to data transmission from a terminal on the local communication network side to a terminal on the wide area network side A monitoring unit that monitors a response, a determination unit that determines whether a response is returned within a predetermined time based on monitoring by the monitoring unit, and a determination that the response is not received within a predetermined time by the determination unit Generates a message indicating a pre-stored data capacity that can be transferred at one time and is a data capacity that is smaller than the data capacity at the time of data transmission, and sends the message to the local communication network side And a notification unit for notifying the terminal.
実施形態に係る中継装置、中継方法及び中継プログラムは、適切に通信を行うことができる経路MTU値で、効率的に通信を行うことができるという効果を奏する。 The relay device, the relay method, and the relay program according to the embodiment have an effect that communication can be efficiently performed with a path MTU value that allows appropriate communication.
以下に、本願に係る中継装置、中継方法及び中継プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例により本願に係る中継装置、中継方法及び中継プログラムが限定されるものではない。 Embodiments of a relay device, a relay method, and a relay program according to the present application will be described below in detail with reference to the drawings. Note that the relay device, the relay method, and the relay program according to the present application are not limited to the embodiment.
[第一の実施の形態に係るネットワークシステムの構成]
まず、図1を用いて、第一の実施の形態に係るネットワークシステムについて説明する。図1は、第一の実施の形態に係るネットワークシステムの構成例を示す図である。
[Configuration of network system according to first embodiment]
First, the network system according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a configuration example of a network system according to the first embodiment.
図1に例示するように、第一の実施の形態に係るネットワークシステム100には、端末20A、20B等を含むLAN(Local Area Network)40と、端末20Cやルータ30を含むWAN(Wide Area Network)50とが存在し、LAN40とWAN50との間には通信を中継するゲートウェイ10が存在する。なお、以下の説明では、イーサネット(登録商標)上のIPv6通信を前提とするが、本発明はこれに限定されるものではない。また、レイヤ3は例えばIPv4でもよく、レイヤ2はイーサネットに限るものではない。
As illustrated in FIG. 1, a
ゲートウェイ10は、LAN側の端末20A、20BをWAN側の端末30と通信可能な状態にするために、LAN40およびWAN50に接続される自宅に備えられたホームゲートウェイ等である。また、ゲートウェイ10は、LAN側の端末20A、20Bによって送信されたIPパケットを中継する中継装置である。
The
LAN側の端末20A、20Bは、ゲートウェイ10に接続され、ゲートウェイ10経由でインターネット上のまたは、インターネット経由でアクセス可能な端末20Cに対して、IPv6通信を行うものとする。ルータ30は、ゲートウェイ10、端末20Cによって送信されるIPパケットを中継する中継装置である。なお、図1では、3台の端末と1台のルータ、1台のゲートウェイを例示したが、ネットワークシステム100には、2台以下の端末や、4台以上の端末や、2台以上のルータやゲートウェイが含まれてもよい。また、端末、ルータ及びゲートウェイの接続関係は、図1に示した例に限られない。
The
[ゲートウェイの構成]
次に、図2を用いて、図1に示したゲートウェイ10の構成を説明する。図2は、第一の実施の形態に係るゲートウェイの構成例を示す図である。図2に示すように、ゲートウェイ10は、通信部11、通信部12、記憶部13、疎通監視部14、PMTU通知判定部15、および、PMTU通知部16を有し、LAN側の端末20Aと接続される。以下にこれらの各部の処理を説明する。
[Gateway Configuration]
Next, the configuration of the
通信部11および通信部12は、接続される端末およびルータとの間でやり取りする各種情報に関する通信を制御する。例えば、通信部11は、LAN側の端末20AからWAN側の端末20Cに対するIPパケットを受信し、LAN側の端末20AへPMTU値を送信する。また、例えば、通信部12は、LAN側の端末20AからWAN側の端末20CへのIPパケットを送信する。
The
記憶部13は、各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、後述する疎通監視部14が使用する監視時間(図3)、後述するPMTU通知部16がLAN側端末20Aに通知するPMTUの値(図4)、LAN側の端末のアドレスに関する情報(図5)などを記憶する。
The
例えば、記憶部13は、図3に例示するように、疎通監視部14が使用する監視時間として、「60」秒を記憶している。この監視時間は、全通信プロトコル共通の「60」秒として設定されているが、通信プロトコル毎に設定されていてもよく、通信プロトコルとポート番号の組毎に設定されてもよい。設定された監視時間に応じて、疎通監視部14がパケットの中身を確認して応答待ちの監視時間を特定する。また、上記した監視時間は、通信するアプリケーションのタイムアウト時間よりも短い方が望ましい。
For example, as illustrated in FIG. 3, the
また、記憶部13は、図4に例示するように、PMTU通知部16がLAN側端末20Aに通知するPMTUの値として、LAN側端末PMTU値「1280」byteを記憶する。このLAN側端末PMTU値については、標準仕様などで保障される最低値(イーサネット上でのIPv6の場合は1280byte)であることが望ましい。また、LAN側端末PMTU値は、宛先毎、宛先アドレス範囲毎、WAN側全宛先に対して記憶してもよい。
Further, as illustrated in FIG. 4, the
また、記憶部13は、図5に例示するように、LAN側の端末のアドレスに関する情報として、LAN側の機器「端末A」のMACアドレス「AA:BB:CC:DD:EE:FF」とIPアドレス「fe80::1001」(またはグローバルユニキャストアドレス)とを対応付けて記憶する。なお、記憶部13は、IPv4であればLAN側に割当てることができるプライベートアドレス帯、割当てたアドレスなどを記憶し、IPv6であればLAN側に割当てられたプレフィックスやユニキャストアドレスなどを記憶する。
In addition, as illustrated in FIG. 5, the
疎通監視部14は、LAN側の端末20AからWAN側の端末20Cへのパケット送信に対する応答が返ってくる応答時間を監視する。具体的には、疎通監視部14は、LAN内通信は監視対象とせず、LAN側からWAN側への通信のみを監視対象とし、どのLAN側アドレスからどのWAN側アドレスへパケット送信が開始されたのかを監視し、通信開始を検知した時点から時間を計測しつつ、一時記憶する。そして、疎通監視部14は、記憶部13に記憶された監視時間(図3参照)内に宛先から応答があった場合は監視対象から除く、すなわち一時記憶から計測時間を削除する。なお、WAN側の経路の途中の通信機器からのエラーメッセージなどを受けた場合もブラックホール問題とは別の問題となるため、監視対象から除くこととしてもよい。
The
PMTU通知判定部15は、疎通監視部14によって所定時間内に応答を受けたか否かを判定する。具体的には、PMTU通知判定部15は、疎通監視部14が監視を行った結果、監視時間を経過しても応答がなかった通信を要処理、すなわち、LAN側端末20AのPMTU値を再設定する処理が必要であると判断する。
The PMTU
PMTU通知部16は、PMTU通知判定部の判断結果に基づいて、記憶部13が記憶しているPMTUの値をWAN側へ通信開始した送信元端末20Aに通知する。例えば、PMTU通知部16は、LAN側端末からWAN側端末へのパケット送信に対する、ICMPv6(Internet Control Message Protocol for IPv6)メッセージのパケット過大(Packet Too Big)メッセージによる応答を生成して、この応答にPMTUの値を含めてもよい。
Based on the determination result of the PMTU notification determination unit, the
このパケット過大メッセージの中で、その宛先に対して最小のPMTUの値(例えば、1280byte)を指定する。さらに、全WAN側宛先に対して最小のPMTUが設定されるよう通知してもよい。また、通知先は、WAN側へ通信開始した送信元端末だけではなく、LAN側全端末としてもよく、RA(Router Advertisement)メッセージで新たなオプションを定義したメッセージでPMTUの値を各端末に通知してもよい。なお、通知する契機や条件等は記憶部13に記憶されているものとする。
In this packet excessive message, the minimum PMTU value (for example, 1280 bytes) is specified for the destination. Furthermore, notification may be made so that the minimum PMTU is set for all WAN-side destinations. In addition, the notification destination may be not only the source terminal that has started communication to the WAN side, but all terminals on the LAN side, and the PMTU value is notified to each terminal by a message in which a new option is defined by an RA (Router Advertisement) message. May be. In addition, the opportunity, conditions, etc. to notify shall be memorize | stored in the memory |
また、図2に示すように、端末20Aは、通信部21およびPMTU設定部22を有する。通信部21は、接続されるゲートウェイ10等との間でやり取りする各種情報に関する通信を制御する。例えば、通信部21は、ゲートウェイ10からPMTUの値が設定されたパケット過大メッセージを受信する。
As illustrated in FIG. 2, the terminal 20 </ b> A includes a communication unit 21 and a
PMTU設定部22は、ゲートウェイ10から受信したPMTUの値に基づき、該PMTUの単位でWAN側の端末10Cへパケット送信するように設定する。具体的には、ゲートウェイ10から受信したパケット過大メッセージからPMTUの値を抽出し、所定のアドレス(当初の宛先など)または、アドレス範囲(LAN側以外、つまりWAN側の全宛先等)に対して所定のPMTUの値を設定する。
Based on the PMTU value received from the
[ネットワークシステムによる処理手順]
次に、図6を用いて、第一の実施の形態に係るネットワークシステム100による処理の流れについて説明する。図6は、第一の実施の形態に係るネットワークシステム100による処理手順を示すシーケンス図である。なお、図6では、ネットワークシステム100には、ゲートウェイ10と、LAN側の端末20A、20B、WAN側の端末20C及びルータ30とが含まれるものとする。また、図6では、ルータ30(ブラックホールルータ)が原因でブラックホール問題が起きているものとする。
[Processing procedure by network system]
Next, the flow of processing by the
図6の例において、ゲートウェイ10は、LAN側のネットワークのMTUについて、端末20Aと接続しているゲートウェイ10のLAN側のインタフェースのリンクMTUの値を予め記憶しており、この値をRA(Router Advertisement)のMTUオプションを利用して、LAN側の端末20AにリンクMTUとして通知する。なお、端末からRS(Router Solicitation)を受けたことを契機にRAを通知してもよい。または、端末20Aが自らリンクMTUを設定するものであってもよい。
In the example of FIG. 6, the
そして、端末20Aは、リンクMTUの値を自端末の通信インタフェースのリンクMTUとして設定する。なお、LAN側端末間のデフォルトのリンクMTUが調整されている場合には、上記のリンクMTUを設定する処理は不要である。 Then, the terminal 20A sets the value of the link MTU as the link MTU of the communication interface of the own terminal. In addition, when the default link MTU between the LAN side terminals is adjusted, the process for setting the link MTU is not necessary.
その後、端末20Aは、設定したリンクMTUで、WAN側の端末20Cに対して通信を開始する。そして、ゲートウェイ10は、端末20Aと端末20Cとの間でパケットを中継しつつ通信を監視し、パケットの疎通確認を行う。具体的には、ゲートウェイ10は、LAN側からWAN側への通信開始を検知して、送信元と宛先のアドレスの組を一時記憶し、宛先から監視時間内に応答を受けるか否かを監視する。この結果、監視時間内に応答を受けた場合は、一時記憶した情報を削除する。
Thereafter, the terminal 20A starts communication with the WAN-side terminal 20C using the set link MTU. Then, the
一方、ゲートウェイ10は、監視時間内に応答を受けなかった場合には、宛先到達不能と判断、すなわちブラックホール問題に遭ったと判断し、予め記憶しているLAN側端末PMTU値(図4の例では、1280byte)をLAN側の端末20Aへ通知する。例えばゲートウェイ10は、RFC4443で定義されているICMPv6のtype=2のパケット過大メッセージを生成して、端末20Aへ送信する。そして、通知を受けた端末20Aは、宛先に対するPMTUとして通知された値を設定して再度端末20Cと通信を行う。
On the other hand, if the
[ゲートウェイによる処理手順]
次に、図7および図8を用いて、第一の実施の形態に係るゲートウェイ10による処理の手順について説明する。図7および図8は、第一の実施の形態に係るゲートウェイによる処理手順を示すフローチャートである。
[Processing procedure by gateway]
Next, a processing procedure by the
図7に示すように、ゲートウェイ10の通信部11は、LAN側の端末からパケットを受信すると(ステップS101)、宛先がWAN側の端末であるか否かを判定する(ステップS102)。例えば、通信部11は、記憶部13に記憶されたLAN側の端末のアドレスに関する情報(図5参照)を参照し、宛先アドレスがLAN側の端末のアドレスに該当するか否かを判定することで、宛先がWAN側の端末であるか否かを判定する。なお、この判定は、完全一致の判定でもよく、部分一致の判定でもよい。または、ゲートウェイ10がスイッチの機能を有する場合は、宛先のMACアドレスに基づいて判定してもよい。
As shown in FIG. 7, when the
この結果、通信部11は、宛先がWAN側の端末でない場合(ステップS102否定)、すなわち宛先がLAN内の端末であると判定した場合には、そのまま宛先へパケットを転送し(ステップS103)、処理を終了する。また、宛先がWAN側の端末である場合には(ステップS102肯定)、WAN側端末の宛先へパケットを転送し(ステップS104)、PMTU通知判定部15は、ブラックホール問題に遭遇したか否かを判定する判定処理(後に図8を用いて詳述)を実行する(ステップS105)。
As a result, if the destination is not a WAN-side terminal (No at Step S102), that is, if it is determined that the destination is a terminal in the LAN, the
この結果、PMTU通知判定部15がブラックホール問題に遭遇していないと判定した場合には(ステップS105否定)、そのまま処理を終了する。また、PMTU通知判定部15がブラックホール問題に遭遇したと判定した場合には(ステップS105肯定)、予め記憶しているPMTUを送信元端末へ通知し(ステップS106)、処理を終了する。その後、通知を受けた送信元端末は、宛先に対するPMTUとして通知された値を設定して再度送信先端末と通信を行う。
As a result, when the PMTU
次に、図8を用いて、ステップS105の判定処理について詳しく説明する。図8に示すように、ゲートウェイ10の疎通監視部14は、送信元と宛先のアドレスの組を一時記憶する(ステップS201)。そして、PMTU通知判定部15は、監視時間(例えば、60秒)以内に宛先から送信元宛の応答があるか否かを判定する(ステップS202)。
Next, the determination process in step S105 will be described in detail with reference to FIG. As illustrated in FIG. 8, the
この結果、PMTU通知判定部15が監視時間内に宛先から送信元宛の応答があると判定した場合には(ステップS202肯定)、ブラックホール問題に遭遇していないものと判断して、疎通監視部14は、送信元と宛先のアドレスの組の一時記憶を削除し(ステップS203)、処理を終了する。また、PMTU通知判定部15は、監視時間内に宛先から送信元宛の応答がないと判定した場合には(ステップS202否定)、ブラックホール問題であると判断し(ステップS204)、処理を終了する。
As a result, when the PMTU
[第一の実施の形態の効果]
上述してきたように、ゲートウェイ10は、LAN側の端末20AからWAN側の端末20Cへのパケット送信に対する応答が返ってくる応答時間を監視し、監視された応答時間が所定の時間以内であるか否かを判定し、応答が所定の時間以内にないと判定された場合には、1回に転送可能なデータ容量であるPMTUの値をLAN側の端末20Aに通知する。そして、LAN側の端末10Aは、ゲートウェイ10から受信したPMTUの値に基づき、該PMTUでWAN側の端末20Cへパケット送信するように設定する。これにより、最適なPMTUによる通信と比較すると通信効率は劣る場合があるが、WAN側の通信機器に手を入れることなく、ブラックホール問題を回避できる。また、全ての通信に対して宛先までの経路の適当なPMTUを事前調査するものではない点において、宛先装置との通信が実際に開始されるまで遅れを低減できる。この結果、適切に通信を行うことができるMTUの値で、効率的に通信を行うことが可能である。
[Effect of the first embodiment]
As described above, the
また、第一の実施の形態によれば、LAN内で端末20Aと端末20Bとの間で通信する場合には、通信インタフェースのリンクMTUの値のままで通信できる状態を維持しつつ、WAN側の端末と通信する場合は、ブラックホール問題を回避するMTUの値で通信することができる。 Further, according to the first embodiment, when communication is performed between the terminal 20A and the terminal 20B in the LAN, the WAN side is maintained while maintaining a state where communication can be performed with the value of the link MTU of the communication interface. When communicating with other terminals, it is possible to communicate with an MTU value that avoids the black hole problem.
また、第一の実施の形態によれば、IPv4で通信する場合に、パケット内にフラグメント処理を禁止するビットが設定されている場合は、IPv6の通信と同様に有効である。IPv4でフラグメントを禁止していない場合、通信のMTUが過大である場合は経路上の各ルータが適宜フラグメント処理をするが、ファイアウォール等によっては、フラグメント化されたパケットは受け取らないように設定されていることもある。また、そうでない場合も、フラグメント処理はルータにかかる負荷が大きくなるため通信効率に影響する。本発明によれば、IPv4通信でも有効な場合がある。 Further, according to the first embodiment, when a packet for prohibiting fragment processing is set in a packet when communicating by IPv4, it is effective as in the case of IPv6 communication. When fragmentation is not prohibited in IPv4, each router on the route performs fragment processing as appropriate when the communication MTU is excessive, but depending on the firewall, etc., it is set not to receive fragmented packets. Sometimes. In other cases, the fragment processing also affects the communication efficiency because the load on the router increases. According to the present invention, it may be effective even in IPv4 communication.
また、第一の実施の形態によれば、LAN内の端末を含む通信機器の通信インタフェースにイーサネットのジャンボ・フレームが適用されている場合には、ジャンボ・フレームの仕様によるが、例えば8000〜150000byte程度のフレームサイズで通信することが可能となる(イーサネットのMTUは1500byte)。この場合、MTUの値も大きく通信効率が良くなる。 In addition, according to the first embodiment, when an Ethernet jumbo frame is applied to a communication interface of a communication device including a terminal in a LAN, depending on the specification of the jumbo frame, for example, 8000 to 150,000 bytes. It is possible to communicate with a frame size of about (Ethernet MTU is 1500 bytes). In this case, the value of MTU is large and the communication efficiency is improved.
(第二の実施の形態)
ところで、上記の第一の実施の形態では、監視時間内に宛先から送信元宛の応答がないか判定し、応答がないと判定した場合にはブラックホール問題に遭遇していると判断する場合を説明したが、本発明はこれに限定されるものではなく、PMTUの値が原因で通信ができないことを確認するための処理を行うようにしてもよい。
(Second embodiment)
By the way, in the first embodiment described above, when it is determined whether there is no response from the destination to the transmission source within the monitoring time, and it is determined that there is no response, it is determined that the black hole problem has been encountered. However, the present invention is not limited to this, and processing for confirming that communication cannot be performed due to the value of the PMTU may be performed.
そこで、以下の第二の実施の形態では、PMTUの値が原因で通信ができないことを確認するために、監視時間内に応答が無い場合には、同じ宛先に小サイズ(例えば、PMTUの最小値)のパケットを送信し、所定時間内に応答があるか否かを判定し、所定時間内に応答がある場合には、ブラックホール問題に遭遇していると判断する。以下では、図10〜図13を用いて、第二の実施の形態に係るゲートウェイ10Aの構成および処理について説明する。なお、以下の説明では、第一の実施の形態と共通する構成及び処理については説明を省略する。
Therefore, in the following second embodiment, in order to confirm that communication cannot be performed due to the value of the PMTU, if there is no response within the monitoring time, the same destination has a small size (for example, the minimum of the PMTU). Value) is transmitted, and it is determined whether or not there is a response within a predetermined time. If there is a response within the predetermined time, it is determined that a black hole problem has been encountered. Hereinafter, the configuration and processing of the
図10に示すように、第二の実施の形態に係るゲートウェイ10Aは、疎通確認部17を新たに有する点が、図2に示した第一の実施の形態に係るゲートウェイ10と相違する。また、ゲートウェイ10Aの記憶部13は、疎通確認部17が使用する疎通確認時間と、疎通確認部17が使用する疎通確認時のパケットのサイズとを記憶する点が、図2に示した第一の実施の形態に係るゲートウェイ10と相違する。
As shown in FIG. 10, the
例えば、記憶部13は、図10に例示するように、疎通確認部17が使用する疎通確認時間として、「4」秒を記憶する。なお、疎通確認部17が使用する疎通確認時間としては、ICMPv6のPing等でも用いられる短い時間でもよい。
For example, as illustrated in FIG. 10, the
また、記憶部13は、図11に例示するように、疎通確認部17が使用する疎通確認時のパケットのサイズとして、「1280」byteを記憶する。なお、疎通確認部17が使用する疎通確認時のパケットのサイズは、PMTU通知部16がLAN側の端末20Aに通知するPMTUの値と同じであることが望ましい。
Further, as illustrated in FIG. 11, the
疎通確認部17は、PMTU通知判定部15によって応答が所定の時間以内にないと判定された場合には、LAN側の端末20AからWAN側の端末20Cへのパケット送信時よりも小さいサイズのパケットをWAN側の端末20Cへ送信し、疎通確認時間以内に該送信に対する応答があったか否かを確認する。疎通確認部17は、疎通確認のために送信する小さいサイズのパケットとして、例えば、端末20Aに通知する予定のPMTUのサイズでもよく、より小さいサイズ、例えばイーサネットであれば保障されているMTUの最小値でもよい。
The
つまり、第一の実施形態では、端末20Aからの通信に対して、宛先から所定時間内に応答がないことでブラックホール問題に遭遇したものと判断したが、例えば、宛先端末がダウンしている等、ブラックホール問題とは別の原因で疎通が取れないこともあり得る。そこで、第二の実施形態では、疎通確認部17が、さらに、通信に用いたPMTUの値が原因で疎通が取れていないことを確認するため、小さいサイズのパケットを送信して疎通を確認する。これにより、ブラックホール問題が原因で応答が返ってこないのか否かを適切に判断することが可能である。
That is, in the first embodiment, it is determined that the black hole problem has been encountered because there is no response from the destination within a predetermined time for the communication from the terminal 20A. For example, the destination terminal is down. For example, communication may not be possible due to reasons other than the black hole problem. Therefore, in the second embodiment, the
次に、図12を用いて、第二の実施の形態に係るネットワークシステムによる処理の流れについて説明する。図12は、第二の実施の形態に係るネットワークシステムによる処理手順を示すシーケンス図である。図12に示すように、端末20Aは、リンクMTUで、WAN側の端末20Cに対して通信を開始する。そして、ゲートウェイ10は、端末20Aと端末20Cとの間でパケットを中継しつつ通信を監視し、パケットの疎通確認を行う。
Next, the flow of processing by the network system according to the second embodiment will be described with reference to FIG. FIG. 12 is a sequence diagram illustrating a processing procedure performed by the network system according to the second embodiment. As illustrated in FIG. 12, the terminal 20A starts communication with the WAN-side terminal 20C using the link MTU. Then, the
そして、ゲートウェイ10は、疎通監視の結果、所定時間内に応答がなかった場合には、同じ宛先に小サイズのパケットによる通信(IPv6であればICMPv6のpingなど)を行い、疎通確認時間内(例えば、WANとの通信のRound Trip Timeを適宜計測しておく等して、さらには統計処理等をして算出した時間を利用してもよい)に宛先から応答があった場合はブラックホール問題によるものと判断し、要処理と判断する。
If there is no response within a predetermined time as a result of the communication monitoring, the
一方、応答がない場合は別の原因によるものであるため、端末20AにPMTUの通知はしない。この場合、代わりに別の原因により不通となっている趣旨のメッセージを端末20Aへ通知してもよい。なお、この疎通確認は最適なPMTUを特定しようとするものではなく、IPパケットが宛先に到達可能であることを確認するものであり、短時間で応答の有無を確認できるものである。 On the other hand, when there is no response, it is due to another cause, so the PMTU is not notified to terminal 20A. In this case, a message indicating that the communication is interrupted due to another cause may be notified to the terminal 20A instead. This communication confirmation is not intended to identify the optimal PMTU, but is to confirm that the IP packet can reach the destination, and can confirm the presence or absence of a response in a short time.
そして、ゲートウェイ10は、ブラックホール問題によるものと判断した場合には、予め記憶しているLAN側端末PMTU値(図4の例では、1280byte)をLAN側の端末20Aへ通知する。そして、通知を受けた端末20Aは、宛先に対するPMTUとして通知された値を設定する。
If the
次に、図13を用いて、第二の実施の形態に係るゲートウェイ10Aによる判定処理の処理手順について説明する。図13は、第二の実施の形態に係るゲートウェイによる処理手順を示すフローチャートである。
Next, the procedure of the determination process performed by the
図13に示すように、ゲートウェイ10Aの疎通監視部14は、送信元と宛先のアドレスの組を一時記憶する(ステップS301)。そして、PMTU通知判定部15は、監視時間(例えば、60秒)以内に宛先から送信元宛の応答があるか否かを判定する(ステップS302)。
As shown in FIG. 13, the
この結果、PMTU通知判定部15が監視時間内に宛先から送信元宛の応答があると判定した場合には(ステップS302肯定)、ブラックホール問題に遭遇していないものと判断して、疎通監視部14は、送信元と宛先のアドレスの組の一時記憶を削除し(ステップS303)、処理を終了する。
As a result, when the PMTU
また、PMTU通知判定部15が監視時間時間内に宛先から送信元宛の応答がないと判定した場合には(ステップS302否定)、疎通確認部17は、宛先であるWAN側の端末へより小サイズのパケット送信(IPv6であればICMPv6のpingなど)を行い(ステップS304)、所定時間内に応答があるか否かを判定する(ステップS305)。
Also, if the PMTU
この結果、疎通確認部17は、所定時間内に応答がないと判定した場合には(ステップS305否定)、ブラックホール問題とは別の問題であると判断して(ステップS306)、処理を終了する。また、疎通確認部17は、所定時間内に応答があったと判定した場合には(ステップS305肯定)、ブラックホール問題であると判断し(ステップS307)、処理を終了する。
As a result, when it is determined that there is no response within the predetermined time (No at Step S305), the
このように第二の実施の形態によれば、ゲートウェイ10Aは、応答が監視のための所定の時間以内にないと判定された場合には、LAN側の端末からWAN側の端末へのパケット送信時よりも小さいデータ容量のパケットをWAN側の端末へ送信し、該送信に対する応答が所定の時間以内にあるか否かを確認する。そして、ゲートウェイ10Aは、応答が疎通確認のための所定の時間以内あると確認された場合には、PMTUの値をLAN側の端末に通知する。このため、これにより、ブラックホール問題が原因で応答が返ってこないのか否かを適切に判断することが可能となる。
As described above, according to the second embodiment, when it is determined that the response is not within the predetermined time for monitoring, the
(第三の実施の形態)
ところで、本発明では、ゲートウェイが、WAN側の端末における宛先情報と、該WAN側の端末とデータ通信を行う際のPMTUとを対応付けて記憶するようにしてもよい。
(Third embodiment)
By the way, in the present invention, the gateway may store the destination information in the WAN side terminal and the PMTU used for data communication with the WAN side terminal in association with each other.
そこで、以下の第三の実施の形態の説明では、ゲートウェイが、WAN側の宛先のアドレスもしくはアドレス範囲(WAN側全体宛を示す範囲でもよい)と、その宛先に適用するPMTUの組を管理する管理テーブルを記憶する場合について説明する。以下では、図14〜図16を用いて、第三の実施の形態に係るゲートウェイの処理について説明する。 Therefore, in the following description of the third embodiment, the gateway manages a set of addresses or address ranges of the destination on the WAN side (may be a range indicating the entire address on the WAN side) and a PMTU applied to the destination. A case where the management table is stored will be described. Hereinafter, the processing of the gateway according to the third embodiment will be described with reference to FIGS.
まず、図14を用いて、第三の実施の形態に係るネットワークシステムによる処理の流れについて説明する。図14は、第三の実施の形態に係るネットワークシステムによる処理手順を示すシーケンス図である。図14に例示するように、ゲートウェイ10は、宛先のアドレスと、その宛先に適用するPMTUとが対応付けられた管理テーブルを記憶する。なお、図14の例では、処理が開始される前の状態において、管理テーブルには、未だ何も記憶されていない初期状態であるものとする。
First, the flow of processing by the network system according to the third embodiment will be described with reference to FIG. FIG. 14 is a sequence diagram illustrating a processing procedure performed by the network system according to the third embodiment. As illustrated in FIG. 14, the
図14に示すように、端末20Aは、リンクMTU(例えば、1500byte)で、WAN側の端末20Cに対して通信を開始する。そして、ゲートウェイ10は、LAN側端末からWAN側端末宛への通信を受けると、その通信のパケットの宛先とMTUを特定し、管理テーブル内の宛先と照合する。なお、この照合は、完全一致の照合でもよく、部分一致の照合でもよい。
As illustrated in FIG. 14, the terminal 20A starts communication with the WAN-side terminal 20C using a link MTU (for example, 1500 bytes). When receiving the communication from the LAN side terminal to the WAN side terminal, the
ゲートウェイ10は、照合した結果、該当する宛先がなければ、そのままWAN側端末宛へパケットを転送する。一方、ゲートウェイ10は、照合した結果、該当する宛先であれば、パケットのMTUがその宛先に対応づけて記憶されているPMTUの値より大きい場合(または異なる場合には)、宛先へ転送せずに、管理テーブル内のその宛先に対応するPMTUの情報を用いて、ICMPv6メッセージを生成して送信元の端末へ返す。なお、このメッセージは、通常のPMTU探索が機能した場合に送信元の端末が受けるICMPv6のパケット過大メッセージの仕様と同じものであり、通常であれば適切なPMTUの値が含まれるメッセージであるが、本発明は、このPMTU探索が機能せず、このメッセージが返ってこないことを考慮しているため、ゲートウェイ10が生成するこのメッセージに含めるPMTUの値は、管理テーブル内の該当する宛先に対応するPMTUの値を埋め込んだものである。
If there is no corresponding destination as a result of the collation, the
図14の例では、管理テーブルには、未だ何も記憶されていない初期状態であるため、ゲートウェイ10は、照合した結果、該当する宛先がないものとし、そのままWAN側端末20C宛へパケットを転送し、端末20Aと端末20Cとの間でパケットを中継しつつ通信を監視し、パケットの疎通確認を行う。
In the example of FIG. 14, since the management table is in an initial state in which nothing is stored yet, the
そして、ゲートウェイ10は、疎通監視の結果、所定時間内に応答がなかった場合には、同じ宛先に小サイズのパケットのデータ通信を行い、疎通確認時間内に宛先から応答があった場合はブラックホール問題によるものと判断し、端末20AにPMTUの通知を行うとともに、管理テーブルに反映する。つまり、ゲートウェイ10は、端末Cの宛先と、到達保証されているPMTUの値(例えば、疎通確認において端末20Cに到達した際のPMTUの値)を対応付けて記憶部13に記憶させる。
Then, the
その後、通知を受けた端末20Aは、宛先に対するPMTUとして通知された値を設定し、設定されたPMTUの値でWAN側の端末20Cに再度送信する。 Thereafter, the terminal 20A that has received the notification sets the value notified as the PMTU for the destination, and transmits the value again to the WAN-side terminal 20C with the set PMTU value.
次に、図15を用いて、第三の実施の形態に係るゲートウェイによる処理手順について説明する。図15は、第三の実施の形態に係るゲートウェイによる処理手順を示すフローチャートである。 Next, a processing procedure by the gateway according to the third embodiment will be described with reference to FIG. FIG. 15 is a flowchart showing a processing procedure by the gateway according to the third embodiment.
図15に示すように、ゲートウェイ10の通信部11は、LAN側の端末からパケットを受信すると(ステップS401)、宛先がWAN側の端末であるか否かを判定する(ステップS402)。
As shown in FIG. 15, when the
この結果、通信部11は、宛先がWAN側の端末でない場合(ステップS402否定)、すなわち宛先がLAN内の端末であると判定した場合には、そのまま宛先へパケットを転送し(ステップS403)、処理を終了する。また、宛先がWAN側の端末である場合には(ステップS402肯定)、疎通監視部14は、パケットの宛先が管理テーブル内の宛先情報に該当するものがあるか照合する(ステップS404)。
As a result, when the destination is not the WAN side terminal (No at Step S402), that is, when it is determined that the destination is a terminal in the LAN, the
この結果、疎通監視部14は、LAN側の端末から受信したパケットが管理テーブルに記憶されている宛先情報に該当するパケットである場合には(ステップS405肯定)、宛先情報に対応付けて記憶されたPMTU以下のパケットであるか判定する(ステップS409)。この結果、疎通監視部14がPMTU以下のパケットであると判定した場合には(ステップS409肯定)、通信部12は、WAN側の端末へパケットを転送して(ステップS410)、処理を終了する。また、疎通監視部14がPMTU以下のパケットでないと判定した場合には(ステップS409否定)、予め記憶しているPMTUを送信元端末へ通知し(ステップS411)、処理を終了する。
As a result, when the packet received from the LAN side terminal is a packet corresponding to the destination information stored in the management table (Yes at step S405), the
また、ステップS405の説明に戻って、疎通監視部14は、LAN側の端末から受信したパケットが管理テーブルに記憶されている宛先情報に該当するパケットでない場合には(ステップS405否定)、WAN側端末の宛先へパケットを転送し(ステップS406)、PMTU通知判定部15は、ブラックホール問題に遭遇したか否かを判定する判定処理(例えば、前述した図8、図13の判定処理)を実行する(ステップS407)。
Returning to the description of step S405, the
この結果、PMTU通知判定部15がブラックホール問題に遭遇していないと判定した場合には(ステップS407否定)、そのまま処理を終了する。または、送信元端末にこの旨を通知する。また、PMTU通知判定部15がブラックホール問題に遭遇したと判定した場合には(ステップS407肯定)、管理テーブルに宛先を追記し、PMTUと合わせて記憶させるとともに(ステップS408)、予め記憶しているPMTU(つまり宛先と対応付けて記憶させたPMTU)を送信元端末へ通知し(ステップS411)、処理を終了する。その後、通知を受けた送信元端末は、宛先に対するPMTUとして通知された値を設定して再度送信先端末と通信を行う。
As a result, if the PMTU
つまり、ゲートウェイ10は、WAN側宛先と到達可能なPMTUとを対応付けて管理テーブルに記憶していることで、LAN側端末が宛先までのPMTUを記憶していない場合であっても、ゲートウェイとの間の一往復の通信で、ゲートウェイが生成するパケット過大メッセージを受けることで宛先へ到達可能なPMTUを取得でき、そのPMTUで宛先と通信を行うことができる。
That is, the
このように第三の実施の形態によれば、ゲートウェイ10は、WAN側の端末における宛先情報と、該WAN側の端末とデータ通信を行う際のPMTU値とを対応付けて記憶する。そして、ゲートウェイは、LAN側の端末からWAN側の端末へのデータ通信が行われる際に、該WAN側の端末の宛先情報に該当する宛先情報が記憶部に記憶されている場合には、該宛先情報に対応付けて記憶されているPMTU値よりもデータ通信におけるPMTU値が大きいか否かを監視する。そして、宛先情報に対応付けて記憶されているPMTU値よりもデータ通信におけるPMTU値が大きい場合には、WAN側の端末へのデータ通信を中止し、つまり、ゲートウェイ10は通信の宛先であるWAN側の端末へ転送せずに、宛先情報に対応付けて記憶されているPMTU値をLAN側の端末にパケット過大メッセージなどによって通知する。つまり、LAN側の所定の端末によるWAN側との通信の経験で得たPMTU値をゲートウェイ10が管理テーブルに記憶することで、その宛先に初めてパケットを送る別の端末に管理テーブルに記憶されたPMTU値を適用させることができる。このため、管理テーブルに記憶されたPMTU値を用いて、適切に通信を行うことができるPMTU値で、より効率的に通信を行うことがすることが可能となる。このように管理テーブルの情報をLAN側の全端末で共有してもよいし、端末毎に管理テーブルを保持する構成であってもよい。また、WAN側のすべての宛先に対して同一のPMTU値を適用する場合は、管理テーブルに宛先情報とPMTU値を対応付けて記憶させることは必須ではなく、宛先情報と適用するPMTU値を分けて管理してもよい。
As described above, according to the third embodiment, the
また、本発明では、所定の時間以内に異なる宛先に対してブラックホール問題が発生した回数が所定の回数以上となった場合には、WAN側の全ての端末について、所定値(例えば、最小MTU値)を取るように管理テーブルに設定するようにしてもよい。 Further, according to the present invention, when the number of times that the black hole problem has occurred for different destinations within a predetermined time becomes equal to or greater than the predetermined number, for all terminals on the WAN side, a predetermined value (for example, the minimum MTU) (Value) may be set in the management table.
このような処理について、図16を用いて、ゲートウェイによる判定処理の処理手順について説明する。図16に示すように、ゲートウェイによる判定処理は、図13に示した判定処理と比較して、ブラックホール問題と判断された後に(ステップS507)、所定の時間内に、ブラックホール問題と判断した回数が閾値を超えたか否かを判定する処理(ステップS508)が新しく追加されている。 Such a process will be described with reference to FIG. 16 for a determination process performed by the gateway. As shown in FIG. 16, the determination process by the gateway is determined to be a black hole problem within a predetermined time after being determined as a black hole problem as compared with the determination process illustrated in FIG. 13 (step S <b> 507). A process (step S508) for determining whether or not the number of times has exceeded the threshold is newly added.
この処理の結果、ブラックホール問題と判断をした回数が閾値を超えた場合には、WAN側全端末に対するPMTUの値として所定値(例えば、最小MTU値)を取るように管理テーブルに設定する(ステップS509)。 As a result of this processing, when the number of times that the black hole problem is determined exceeds the threshold, the management table is set to take a predetermined value (for example, the minimum MTU value) as the PMTU value for all the WAN side terminals (for example, Step S509).
すなわち、一定期間内に異なる宛先に対して複数回ブラックホール問題が発生したということは、つまり、ゲートウェイ10のすぐ外の経路に問題があり、ゲートウェイ10の接続先にそもそもの問題があるものとみなして、WAN側への任意の通信については、ブラックホール問題を回避できる所定のPMTU値を一律に適用する。このように、上記の処理では、所定の時間内にブラックホール問題と判断をした回数が所定の回数以上となった場合には、WAN側の全ての端末について、最小のMTUを対応付けて記憶し、LAN側の端末に通知する。このため、ブラックホール問題を確実に回避することが可能である。
That is, the fact that the black hole problem has occurred several times for different destinations within a certain period of time means that there is a problem in the route immediately outside the
このように、ゲートウェイ10がWAN側宛先と到達可能なPMTU値とを対応付けて管理テーブルに記憶していることで、LAN側端末が宛先までのPMTU値を記憶していない場合であっても、ゲートウェイ10との間の一往復の通信で、ゲートウェイ10が生成するパケット過大メッセージを受けることで宛先へ到達可能なPMTU値を取得でき、そのPMTU値で宛先と通信を行うことができる。
Thus, even if the LAN side terminal does not store the PMTU value up to the destination, the
ここで、WAN側全宛先のPMTU値を一定値とするパターンについて、ゲートウェイ10のLAN側の通信インタフェースのリンクMTU値を絞らず(例えば、リンクMTU値=1500byte)にWAN側の通信インタフェースのリンクMTU値を絞った(例えば、リンクMTU値=1280byte)場合は、上記した第三の実施の形態の構成を採らなくてもゲートウェイ10よりWAN側に転送される前にPMTU探索によりPMTU値(例えば、PMTU値=1280byte)がLAN側の送信元に通知されるが、WAN側の通信インタフェースのリンクMTU値を絞った場合と第三の実施の形態の構成との差分について説明する。
Here, for a pattern in which the PMTU values of all destinations on the WAN side are constant values, the link of the communication interface on the WAN side is reduced without narrowing the link MTU value of the communication interface on the LAN side of the gateway 10 (for example, the link MTU value = 1500 bytes). When the MTU value is narrowed down (for example, the link MTU value = 1280 bytes), the PMTU search (for example, the PMTU value (for example, the link MTU value = 1280 bytes) can be performed by the PMTU search before being transferred from the
ゲートウェイ10のLAN側に公開サーバなどを設置してWAN側から公開サーバにアクセスがあるような環境では、WAN側からこの公開サーバへの通信を受けたとき、この通信におけるMTU値が1500byteによるものである場合には、ゲートウェイ10のWAN側のリンクMTUを絞った状態(例えば、リンクMTU値=1280byte)であるため、ゲートウェイ10はその通信がWAN側のリンクMTUに調整するようにPMTU探索に基づいて、WAN側の送信元にPMTUとして「1280byte」を返すことになり、WAN側の送信元からゲートウェイ10の直前まではMTU値が1500byteで通信できるパスであってもMTU値が1280byteで通信させることになり非効率である。一方、上記の第三の実施の形態の構成では、ゲートウェイ10のWAN側のリンクMTUを絞る必要がないので、このような環境でも有効に機能する。
In an environment where a public server or the like is installed on the LAN side of the
(第四の実施の形態)
ところで、本発明では、所定の宛先だけでなく、所定のアドレス範囲(例えばWAN側前宛先)に対して適用するPMTUの通知を行ってもよい。
(Fourth embodiment)
By the way, in the present invention, notification of PMTU to be applied not only to a predetermined destination but also to a predetermined address range (for example, WAN-side destination) may be performed.
そこで、以下の第四の実施の形態の説明では、所定のアドレス範囲(例えばWAN側前宛先)に対して適用するPMTUの通知を行う場合について説明する。ここで、所定のアドレス範囲(例えばWAN側全宛先)に対して適用するPMTUの通知を行う場合には、通知するゲートウェイと通知を受けるLAN側端末との間で利用される新たなメッセージを定義する必要がある。ここでは2つのメッセージについて例を説明する。 Therefore, in the following description of the fourth embodiment, a case will be described in which PMTU notification to be applied to a predetermined address range (for example, WAN-side destination) is performed. Here, when notification of PMTU to be applied to a predetermined address range (for example, all destinations on the WAN side), a new message used between the gateway to notify and the LAN side terminal to receive the notification is defined. There is a need to. Here, an example of two messages will be described.
ここで、ICMPv6のパケット過大メッセージは、タイプ=2、コード=0で定義されている。例えば、タイプ=2のまま未定義のコード=1や、未定義の新たなタイプを仕様の範囲内で定義してもよい。新たに定義されたメッセージを受けた端末は、少なくともこのメッセージに含まれる情報に基づいて処理するが、ここでは4通り(1)〜(4)の説明をする。 Here, the ICMPv6 excessive packet message is defined with type = 2 and code = 0. For example, an undefined code = 1 with type = 2 or a new undefined type may be defined within the specification. The terminal that has received the newly defined message performs processing based on at least the information included in the message. Here, four types (1) to (4) will be described.
新しく定義されるメッセージには、「宛先」とその宛先に適用する「PMTU」との組「宛先:PMTU」が含まれる。このメッセージの通知を受けたLAN側端末は、この「宛先」に対して、この「PMTU」の値で通信する。 The newly defined message includes a set “destination: PMTU” of “destination” and “PMTU” applied to the destination. The LAN-side terminal that has received the notification of this message communicates with this “destination” using the value of “PMTU”.
例えば、新しく定義されるメッセージに「宛先「A」:PMTU「X」」の組(1)が含まれている場合には、メッセージの通知を受けたLAN側端末は、所定のアドレスA宛(通信の宛先)の通信に対してPMTUの値としてXを適用する。 For example, when the newly defined message includes the “destination“ A ”: PMTU“ X ”” group (1), the LAN side terminal that has received the message notification is addressed to a predetermined address A ( X is applied as the PMTU value for communication at the communication destination.
また、新しく定義されるメッセージに「宛先「{R}」:PMTU「Y」」の組(2)が含まれている場合には、メッセージの通知を受けたLAN側端末は、アドレス範囲{R}に含まれるアドレスを宛先とする通信に対してPMTUの値としてYを適用する。なお、アドレス、アドレス範囲は2以上設定されてもよく、アドレス範囲を表記できるフィールドを設けることになる。 When the newly defined message includes the “destination“ {R} ”: PMTU“ Y ”” pair (2), the LAN side terminal that has received the message notification transmits the address range {R }, Y is applied as the PMTU value for communications destined for the address included in the. Note that two or more addresses and address ranges may be set, and a field for indicating the address range is provided.
また、新しく定義されるメッセージに「宛先「¬{R}」:PMTU「Y」」の組(3)が含まれている場合には、例えば、アドレス範囲{R}にLAN側のNWアドレスが指定されていれば、このLAN側以外の宛先、つまりWAN側宛との通信にはPMTU=Yを適用する。上記(2)の宛先に関する否定表現である。アドレスまたはアドレス範囲に対する論理的否定NOTを表記できるフィールドを設けることになる。 Further, when the newly defined message includes the “destination“ ¬ {R} ”: PMTU“ Y ”” group (3), for example, the LAN side NW address is included in the address range {R}. If specified, PMTU = Y is applied to communication to a destination other than the LAN side, that is, to the WAN side. This is a negative expression regarding the destination in (2) above. A field will be provided that can represent a logical NOT NOT for an address or address range.
また、新しく定義されるメッセージに「宛先「¬T」:PMTU「Z」」の組(4)が含まれている場合には、メッセージの通知を受けたLAN側端末は、自身が参加しているNWドメインのアドレス情報を取得して、このアドレス(範囲)以外の宛先のPMTUをZとみなして通信する。アドレス情報とは、例えば、IPv4の場合はIPアドレス、サブネットマスク等から計算して取得し、IPv6の場合はネットワークのプレフィックスやプレフィックス長を取得する。上記(3)と異なる点は、ゲートウェイが明示的にアドレス範囲を通知するのではなく、端末側でアドレス範囲を特定する点にある。なお、上記した4通りである(1)〜(4)における「宛先」とその宛先に適用する「PMTU」との組「宛先:PMTU」の情報は、ゲートウェイ10が記憶しているものである。
When the newly defined message includes the destination (¬T): PMTU “Z” (4), the LAN side terminal that has received the message notification participates in the message. The address information of the existing NW domain is acquired, and communication is performed assuming that the destination PMTU other than this address (range) is Z. For example, in the case of IPv4, the address information is obtained by calculating from an IP address, a subnet mask, and the like, and in the case of IPv6, a network prefix and prefix length are obtained. The difference from the above (3) is that the gateway does not explicitly notify the address range but specifies the address range on the terminal side. Note that the
また、端末が新しく定義されるメッセージの通知を受けるタイミングは、2通りある。まず、WAN側宛先への通信の送信元である端末がICMPv6メッセージでPMTUの通知を受ける場合である。この場合には、宛先へ通信を試みる過程でゲートウェイからPMTUの通知を受けることができる。 There are two timings when the terminal receives notification of a newly defined message. First, the terminal that is the transmission source of the communication to the WAN destination receives the PMTU notification by the ICMPv6 message. In this case, the PMTU notification can be received from the gateway in the process of attempting communication with the destination.
また、これ以外のタイミングで通知を受ける場合として、ゲートウェイが広告するルータ広告(Router Advertisement)の新たなオプションのメッセージとして端末に通知して、通知を受けた端末はそのメッセージに従って自端末にPMTUを設定してもよい。メッセージの内容や処理は、上記(1)〜(4)と同様である。その際はRAにおいて、未定義のオプションで新たな定義をすることになる。RAであれば、端末からRSを受けたことを契機としてその端末に通知するだけでなく、ゲートウェイが所定時間間隔で自発的に通知もするので、WAN側に関するPMTUの通知をLAN側端末が受取ることができる。 In addition, when receiving a notification at other timing, the terminal notifies the terminal as a new optional message of a router advertisement advertised by the gateway, and the received terminal sends a PMTU to its own terminal according to the message. It may be set. The contents and processing of the message are the same as (1) to (4) above. In that case, in RA, a new definition is made with an undefined option. In the case of RA, not only the terminal is notified of the reception of the RS but also the gateway voluntarily notifies at a predetermined time interval, so the LAN side terminal receives the notification of the PMTU related to the WAN side. be able to.
なお、これまで本発明の実施の形態について説明したが、本発明は上述した実施の形態以外にも、種々の異なる形態にて実施されてよいものである。 In addition, although embodiment of this invention was described so far, this invention may be implemented with a various different form other than embodiment mentioned above.
[ブラックホール問題の判定処理]
例えば、ブラックホール問題に遭ったのか否かを判断する処理について、種々の異なる処理方法を行ってもよい。ところで、TCP(Transmission Control Protocol)の場合、最初に送信元と宛先の間で3ウェイハンドシェイクにより、互いのMSSを交換してから小さい方のサイズに調整したMSS(Maximum Segment Size)で送信元から通信を行うが、この最初の通信はパケットサイズが小さいため通るが、その後の調整したMSSのパケットサイズが大きくて通信が通らない場合がある。
[Black hole problem determination]
For example, various different processing methods may be used for determining whether or not a black hole problem has occurred. By the way, in the case of TCP (Transmission Control Protocol), the source is first transmitted by MSS (Maximum Segment Size) adjusted to the smaller size after exchanging each other MSS by 3-way handshake between the source and destination. Although the first communication passes because the packet size is small, there are cases where the packet size of the adjusted MSS after that is large and the communication does not pass.
このような場合の対処として、通信開始からまたは3ウェイハンドシェイク以降、所定回数往復分のパケットを監視対象として、その中で所定時間応答がない場合要処理と判断してもよい。 As a countermeasure in such a case, a packet for a predetermined number of round trips may be monitored from the start of communication or after the 3-way handshake, and may be determined to be a necessary process when there is no response for a predetermined time.
または、送信したパケットのTCPのシーケンス番号を記憶しておき、そのシーケンス番号に対するACK(ACKnowledgement)が所定時間内に返ってきたか否かを監視対象に含めてもよい。さらに、TCPには再送制御が備わっているので、この再送制御によって所定回数送信したパケットの同じシーケンス番号対応するACKが返ってこなかった場合は、要処理と判断してもよい。 Alternatively, the TCP sequence number of the transmitted packet may be stored, and whether or not an ACK (ACKnowledgement) for the sequence number is returned within a predetermined time may be included in the monitoring target. Further, since TCP has retransmission control, if ACK corresponding to the same sequence number of a packet transmitted a predetermined number of times by this retransmission control is not returned, it may be determined that processing is necessary.
または、調整したMSSのサイズのパケット応答が所定時間内にない場合、または、このMSSのサイズ未満のパケットが所定期間内に所定数以上の応答があった場合(例えば、Webサイトの場合、送信元端末上でテキストファイルだけ表示されて、表示されるべき画像ファイルや再生されるべき動画が表示されない状況を示すものである場合)、ブラックホール問題に遭ったと判断してもよい。 Or, when there is no packet response of the adjusted MSS size within a predetermined time, or when there are more than a predetermined number of responses within a predetermined period of packets less than this MSS size (for example, in the case of a Web site, transmission If only the text file is displayed on the original terminal and indicates that the image file to be displayed or the moving image to be played back is not displayed), it may be determined that a black hole problem has occurred.
または、ブラックホール問題に限っては、標準仕様で規定されている最小のMTUのサイズのパケットが通るので、最小MTU以上のサイズのパケットのみを監視対象としてもよい。または、標準仕様で規定されている最小のMTU以上のサイズのパケットを送受信、送信、受信できたことを確認した時点で監視対象から外すと判断してもよい。 Alternatively, for the black hole problem, since a packet having the minimum MTU size defined in the standard specification passes, only a packet having a size larger than the minimum MTU may be monitored. Alternatively, when it is confirmed that a packet having a size larger than the minimum MTU defined in the standard specification has been transmitted / received, transmitted, and received, it may be determined that the packet is not to be monitored.
ところで、ブラックホール問題に遭うことなく正常な通信であるが、LAN側からの通信に対してWAN側から応答がない場合もある。この場合には、UDPの場合は宛先からの応答の有無はUDP(User Datagram Protocol)を使用している送信元/宛先のアプリケーションに依存する。そこで、パケット監視をしてTCP/UDPを識別して、TCPであればWAN側からの戻りがあると判断できるので応答の有無を確認し、UDPの場合は戻りのないUDP通信であることが事前に分かっているアプリケーションプロトコルについては、ゲートウェイで予めプロトコルとポート番号、メッセージのうちのいずれか1以上からなる組などを記憶しておくことで、監視対象から除外するとしてもよい。また、このような記憶はTCPにも適用してもよい。なお、UDPで戻りのあるものは、例えばDNS、DHCP、NTPの問合せに対する応答などがあげられる。また、監視対象のパケットは標準仕様で規定されている最小のサイズ以上のものであってもよい。 By the way, although it is normal communication without encountering a black hole problem, there is a case where there is no response from the WAN side for communication from the LAN side. In this case, in the case of UDP, whether or not there is a response from the destination depends on the source / destination application using UDP (User Datagram Protocol). Therefore, packet monitoring is performed to identify TCP / UDP, and if it is TCP, it can be determined that there is a return from the WAN side, so the presence or absence of a response is confirmed, and in the case of UDP, there is no UDP return. Application protocols that are known in advance may be excluded from monitoring targets by storing a set of one or more of the protocol, port number, and message in advance at the gateway. Such storage may also be applied to TCP. Note that what is returned in UDP includes, for example, responses to DNS, DHCP, and NTP queries. Further, the monitoring target packet may be larger than the minimum size defined in the standard specification.
また、各端末は、ゲートウェイから通知されたPMTUを使い続けてWAN側と通信してもよいが、所定時間経過後にこのPMTUをリフレッシュ(削除)してもよい。この所定時間は、ゲートウェイからの通知に含まれていてもよく、個々の端末の中で管理されているものであってもよい。また、ゲートウェイ自身も保持している管理テーブルの中身を同様に所定時間経過後にリフレッシュさせてもよい。これは、インターネット上の経路は動的に変化するため、同じ宛先に対して常に同じPMTUであるとは限らないためである。 Each terminal may continue to use the PMTU notified from the gateway and communicate with the WAN side, but may refresh (delete) the PMTU after a predetermined time has elapsed. This predetermined time may be included in the notification from the gateway, or may be managed in each terminal. Further, the contents of the management table held by the gateway itself may be refreshed after a predetermined period of time. This is because the route on the Internet changes dynamically, so the same destination is not always the same PMTU.
管理テーブルには、PMTUを通知すべきWAN側宛先を記憶するのではなく、LAN側の端末にPMTUを通知しなくてよいWAN側宛先を記憶させて、管理テーブル内に記憶されていないWAN側宛先宛のパケットを受けたら、PMTUを通知することとしてもよい。また、管理テーブルが扱う送信元や宛先の情報はアドレスではなく、DNS(Domain Name System)から得た名前情報でもよい。また、ゲートウェイはモバイルルータのような可搬媒体であってもよい。 The management table does not store the WAN destination to which the PMTU should be notified, but stores the WAN side destination that does not need to notify the PMTU to the terminal on the LAN side, and the WAN side that is not stored in the management table When receiving a packet addressed to the destination, the PMTU may be notified. Further, the source and destination information handled by the management table may be name information obtained from a DNS (Domain Name System) instead of an address. The gateway may be a portable medium such as a mobile router.
また、イーサネット上のIPv6の場合であっても、経路上にトンネルが張られている場合は、トンネルのためのヘッダサイズを考慮する必要があり、このトンネルのためのオーバヘッドとなるサイズも含めてMTU=1280となるような所定のPMTUの値を設定してもよい。また、PMTU探索で適切なPMTUを取得できる宛先については、あえてゲートウェイが記憶して通信を管理する必要はなく、ブラックホール問題に遭う宛先についてのみ記憶するようにしてもよい。 Even in the case of IPv6 on Ethernet, if a tunnel is set up on the route, it is necessary to consider the header size for the tunnel, including the overhead size for this tunnel. A predetermined PMTU value such that MTU = 1280 may be set. Further, it is not necessary for the destination to be able to acquire an appropriate PMTU by the PMTU search to manage communication by the gateway, and only the destination that encounters the black hole problem may be stored.
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、キャッシュ検索部13aとディスク負荷判定部13bを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the cache search unit 13a and the disk load determination unit 13b may be integrated. Further, all or any part of each processing function performed in each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 In addition, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
[プログラム]
また、上記実施例において説明したゲートウェイ10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、ゲートウェイ10が実行する処理をコンピュータが実行可能な言語で記述した中継プログラムを作成することもできる。この場合、コンピュータが中継プログラムを実行することにより、上記実施例と同様の効果を得ることができる。さらに、かかる中継プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された中継プログラムをコンピュータに読み込ませて実行することにより上記実施例と同様の処理を実現してもよい。以下に、図2に示したゲートウェイ10と同様の機能を実現する中継プログラムを実行するコンピュータの一例を説明する。
[program]
It is also possible to create a program in which the processing executed by the
図17は、中継プログラムを実行するコンピュータ1000を示す図である。図17に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
FIG. 17 is a diagram illustrating a
メモリ1010は、図17に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図17に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図17に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図17に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図17に例示するように、例えばディスプレイ1061に接続される。
The
ここで、図17に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の中継プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。例えば、図3に例示したメッセージ送信部131と同様の情報処理を実行するメッセージ送信手順と、メッセージ格納部132と同様の情報処理を実行するメッセージ格納手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。または、上記例のように、メッセージ送信部131が比較部と送信部とに分散される場合には、比較手順と、送信手順と、メッセージ格納手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
Here, as illustrated in FIG. 17, the hard disk drive 1031 stores, for example, an
また、上記実施の形態で説明した記憶部13が保持する各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、メッセージ送信手順(または、比較手順、送信手順)、メッセージ格納手順を実行する。
Various data held by the
なお、中継プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、中継プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
Note that the
10、10A ゲートウェイ
11、12 通信部
13 記憶部
14 疎通監視部
15 PMTU通知判定部
16 PMTU通知部
20A〜20C 端末
21 通知部
22 PMTU設定部
30 ルータ
40 LAN
50 WAN
100 ネットワークシステム
10,
50 WAN
100 network system
Claims (7)
前記ローカル通信網側の端末から前記広域通信網側の端末へのデータ送信に対する応答を監視する監視部と、
前記監視部による監視に基づいて所定の時間以内に応答が返ってきたかを判定する判定部と、
前記判定部によって所定の時間以内に応答がないと判定された場合には、予め記憶された1回に転送可能なデータ容量であって前記データ送信時のデータ容量よりも小さいデータ容量である転送可能容量を指示するメッセージを生成し、該メッセージを前記ローカル通信網側の端末に通知する通知部と
を有することを特徴とする中継装置。 A relay device that relays communication between a wide area communication network and a local communication network,
A monitoring unit that monitors a response to data transmission from the local communication network side terminal to the wide area network side terminal;
A determination unit that determines whether a response is returned within a predetermined time based on monitoring by the monitoring unit;
When the determination unit determines that there is no response within a predetermined time, the transfer has a data capacity that can be transferred at once and that is smaller than the data capacity at the time of data transmission. A relay unit, comprising: a notification unit that generates a message indicating a possible capacity and notifies the message to a terminal on the local communication network side.
前記通知部は、前記確認部によって所定の時間以内に応答があると確認された場合には、前記転送可能容量を指示するメッセージを生成し、該メッセージを前記ローカル通信網側の端末に通知することを特徴とする請求項1に記載の中継装置。 If it is determined by the determination unit that there is no response within a predetermined time, data having a smaller data capacity than that when data is transmitted from a terminal on the local communication network side to a terminal on the wide area network side Further comprising a confirmation unit for transmitting to a terminal on the communication network side and confirming whether a response to the transmission is within a predetermined time;
When the confirmation unit confirms that there is a response within a predetermined time, the notification unit generates a message indicating the transferable capacity and notifies the message to the terminal on the local communication network side The relay apparatus according to claim 1.
前記監視部は、前記ローカル通信網側の端末から前記広域通信網側の端末へのデータ通信が行われる際に、該広域通信網側の端末の宛先情報に該当する宛先情報が記憶部に記憶されている場合には、該宛先情報に対応付けて記憶されている転送可能容量よりも前記データ通信における転送可能容量が大きいか否かを監視し、
前記通知部は、宛先情報に対応付けて記憶されている転送可能容量よりも前記データ通信における転送可能容量が大きい場合には、前記広域通信網側の端末へのデータ通信を中止し、前記宛先情報に対応付けて記憶されている転送可能容量を指示するメッセージを生成し、該メッセージを前記ローカル通信網側の端末に通知することを特徴とする請求項1または2に記載の中継装置。 A storage unit that stores the destination information in the terminal on the wide area network side in association with the transferable capacity when performing data communication with the terminal on the wide area network side;
When the data communication from the local communication network side terminal to the wide area network side terminal is performed, the monitoring unit stores destination information corresponding to the destination information of the wide area network side terminal in the storage unit. If it is, monitor whether the transferable capacity in the data communication is larger than the transferable capacity stored in association with the destination information,
When the transferable capacity in the data communication is larger than the transferable capacity stored in association with the destination information, the notification unit stops data communication to the terminal on the wide area network side, and the destination The relay apparatus according to claim 1 or 2, wherein a message indicating a transferable capacity stored in association with information is generated, and the message is notified to a terminal on the local communication network side.
前記ローカル通信網側の端末から前記広域通信網側の端末へのデータ送信に対する応答を監視する監視工程と、
前記監視工程による監視に基づいて所定の時間以内に応答が返ってきたかを判定する判定工程と、
前記判定工程によって所定の時間以内に応答がないと判定された場合には、予め記憶された1回に転送可能なデータ容量であって前記データ送信時のデータ容量よりも小さいデータ容量である転送可能容量を指示するメッセージを生成し、該メッセージを前記ローカル通信網側の端末に通知する通知工程と
を含んだことを特徴とする中継方法。 A relay method executed by a relay device that relays communication between terminals between a wide area communication network and a local communication network,
A monitoring step of monitoring a response to data transmission from the local communication network side terminal to the wide area network side terminal;
A determination step of determining whether a response is returned within a predetermined time based on the monitoring by the monitoring step;
When it is determined by the determination step that there is no response within a predetermined time, the transfer has a data capacity that can be transferred at one time and that is smaller than the data capacity at the time of data transmission. And a notification step of generating a message indicating the available capacity and notifying the message to the terminal on the local communication network side.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012087234A JP5805575B2 (en) | 2012-04-06 | 2012-04-06 | Relay device, relay method, and relay program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012087234A JP5805575B2 (en) | 2012-04-06 | 2012-04-06 | Relay device, relay method, and relay program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013219481A true JP2013219481A (en) | 2013-10-24 |
JP5805575B2 JP5805575B2 (en) | 2015-11-04 |
Family
ID=49591148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012087234A Expired - Fee Related JP5805575B2 (en) | 2012-04-06 | 2012-04-06 | Relay device, relay method, and relay program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5805575B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018525949A (en) * | 2015-08-31 | 2018-09-06 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Data packet transmission method and apparatus in IPv6 network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007082126A (en) * | 2005-09-16 | 2007-03-29 | Yamaha Corp | Ip communication device and ip communication system |
JP2007180686A (en) * | 2005-12-27 | 2007-07-12 | Matsushita Electric Ind Co Ltd | Relay communication apparatus, storage medium, integrated circuit, and communication system |
JP2007281801A (en) * | 2006-04-05 | 2007-10-25 | Fuji Xerox Co Ltd | Information processor, control method of computer, and program |
US20070253335A1 (en) * | 2006-04-27 | 2007-11-01 | Microsoft Corporation | Computer system with black hole management |
JP2010050606A (en) * | 2008-08-20 | 2010-03-04 | Nec Corp | Wireless base station, wireless communication system, path connection method, and program |
-
2012
- 2012-04-06 JP JP2012087234A patent/JP5805575B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007082126A (en) * | 2005-09-16 | 2007-03-29 | Yamaha Corp | Ip communication device and ip communication system |
JP2007180686A (en) * | 2005-12-27 | 2007-07-12 | Matsushita Electric Ind Co Ltd | Relay communication apparatus, storage medium, integrated circuit, and communication system |
JP2007281801A (en) * | 2006-04-05 | 2007-10-25 | Fuji Xerox Co Ltd | Information processor, control method of computer, and program |
US20070253335A1 (en) * | 2006-04-27 | 2007-11-01 | Microsoft Corporation | Computer system with black hole management |
JP2010050606A (en) * | 2008-08-20 | 2010-03-04 | Nec Corp | Wireless base station, wireless communication system, path connection method, and program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018525949A (en) * | 2015-08-31 | 2018-09-06 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Data packet transmission method and apparatus in IPv6 network |
Also Published As
Publication number | Publication date |
---|---|
JP5805575B2 (en) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6918784B2 (en) | Data packet transmission method and device in IPv6 network | |
US8751669B2 (en) | Method and arrangement to maintain a TCP connection | |
JP4226553B2 (en) | Routing in data communication networks | |
Hätönen et al. | An experimental study of home gateway characteristics | |
JP5529117B2 (en) | Method and system for transmission of fragmented packets over packet-based communication networks | |
CN112654049B (en) | Method, system, node and medium for configuring a wireless communication coverage extension system | |
JP3999785B2 (en) | Communication method | |
JP2004336726A (en) | Routing control method, router unit, and terminal device | |
WO2018149342A1 (en) | Public network accessing method and device and computer storage medium for user terminal of mobile private network | |
US11683275B2 (en) | Device and method for interconnecting two subnetworks | |
Seliem et al. | Performance evaluation and optimization of neighbor discovery implementation over Contiki OS | |
Thaler | Teredo extensions | |
WO2018006684A1 (en) | Message processing method and device, and router | |
JP5818272B2 (en) | Home gateway apparatus and packet transfer method | |
JP5805575B2 (en) | Relay device, relay method, and relay program | |
Nordmark et al. | Neighbor unreachability detection is too impatient | |
JP4752722B2 (en) | Packet transfer apparatus and packet transfer method | |
JP5657505B2 (en) | Network system, relay device, communication method, relay method, and relay program | |
JP5105124B2 (en) | Router device, packet control method and program based on prefix management | |
JP4526127B2 (en) | Communication method, apparatus and program for retransmitting management traffic in in-band management network | |
CN110809065A (en) | IPv 6-based IP-free network communication method, electronic equipment and storage medium thereof | |
Dhraief et al. | An M2M gateway-centric architecture for autonomic healing and optimising of machine-to-machine overlay networks | |
JP3613207B2 (en) | ARP table forming method and route control method using the same | |
JP5752644B2 (en) | COMMUNICATION TERMINAL DEVICE, DATA SIZE DETERMINING METHOD, AND DATA SIZE DETERMINING PROGRAM | |
JP2014171017A (en) | Communication information detecting device, method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140711 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150812 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5805575 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |