JP4277189B2 - Router apparatus and packet transfer control method - Google Patents

Router apparatus and packet transfer control method Download PDF

Info

Publication number
JP4277189B2
JP4277189B2 JP2003323667A JP2003323667A JP4277189B2 JP 4277189 B2 JP4277189 B2 JP 4277189B2 JP 2003323667 A JP2003323667 A JP 2003323667A JP 2003323667 A JP2003323667 A JP 2003323667A JP 4277189 B2 JP4277189 B2 JP 4277189B2
Authority
JP
Japan
Prior art keywords
packet
router
user network
address
connections
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003323667A
Other languages
Japanese (ja)
Other versions
JP2004274703A (en
Inventor
健一 永見
郁夫 中川
Original Assignee
株式会社 インテック・ネットコア
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社 インテック・ネットコア filed Critical 株式会社 インテック・ネットコア
Priority to JP2003323667A priority Critical patent/JP4277189B2/en
Publication of JP2004274703A publication Critical patent/JP2004274703A/en
Application granted granted Critical
Publication of JP4277189B2 publication Critical patent/JP4277189B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、複数のプロバイダ・ネットワークと接続する(いわゆる「マルチホーム接続」を行う)ユーザネットワークに対して提供するサービスに関し、特に、インターネットとユーザネットワークとの間のパケット転送の信頼性を高める機構に関する。なお、本明細書において、「複数の」プロバイダという場合には、ユーザネットワークに「複数の」リンク(インターネット接続)を提供するものを意味し、単一のインターネット・サービス・プロバイダ(ISP)が「複数の」プロバイダとして機能することも可能である。同様に、各プロバイダのネットワークが、物理的に分離したものである必要はなく、単一のネットワークを「複数の」プロバイダネットワークとして機能させることも可能である。   The present invention relates to a service provided to a user network that connects to a plurality of provider networks (that performs so-called “multihome connection”), and in particular, a mechanism that improves the reliability of packet transfer between the Internet and the user network. About. In the present specification, the term “plurality” provider means that “multiple” links (Internet connection) are provided to the user network, and a single Internet service provider (ISP) “ It is also possible to function as "multiple" providers. Similarly, each provider's network need not be physically separate, and a single network can function as a “multiple” provider network.

ユーザネットワーク(例えば企業ネットワークやSOHO(Small Office Home Office)ネットワーク)がより確実なインターネット接続性を獲得するために、「マルチホーム接続」と呼ばれる技術が使用されている。これは、ユーザネットワークが、二つ以上のISPのそれぞれからIP(Internet Protocol)アドレスの割り当てを受けることにより、一つのISPとの間のリンクがダウンしても、他のISPとの間のリンクによりインターネット接続性を確保することができるものである。   In order for a user network (for example, a corporate network or a SOHO (Small Office Home Office) network) to obtain more reliable Internet connectivity, a technique called “multi-home connection” is used. This is because the user network is assigned an IP (Internet Protocol) address from each of two or more ISPs, so that even if the link with one ISP goes down, the link with other ISPs. This ensures internet connectivity.

このような技術として、図1(a)(b)に示す二つの方式が提案されている(例えば、非特許文献1参照)。ユーザネットワークは、ISP−AからアドレスとしてプレフィックスAを割り当てられ、ISP−BからアドレスとしてプレフィックスBを割り当てられているものとする。プレフィックスとは、IPアドレスの上位所定ビットを指し、これによりネットワークが特定される。IPアドレスの残りのビットは、そのネットワーク内の複数のホストに、各ホストを特定するための情報として割り当てることができる。   As such a technique, two systems shown in FIGS. 1A and 1B have been proposed (see, for example, Non-Patent Document 1). The user network is assigned prefix A as an address from ISP-A and prefix B as an address from ISP-B. The prefix refers to upper predetermined bits of the IP address, and the network is specified by this. The remaining bits of the IP address can be assigned to a plurality of hosts in the network as information for identifying each host.

ユーザネットワークには、ISP−Aとの間の接続点に設けられたユーザ境界ルータ−Aと、ISP−Bとの間の接続点に設けられたユーザ境界ルータ−Bとがある。これらのユーザ境界ルータは、IBGP(内部BGP:BGP(Border Gateway Protocol)は、インターネットにおいてルーティング情報を交換するためのプロトコルの一つ)により、ルーティング情報を共有している。そして、それぞれのユーザ境界ルータは、インターネットに対し、ルーティングプロトコルBGPを用いて、アドレスの広告(アナウンス)を行う。   The user network includes a user border router-A provided at a connection point between ISP-A and a user border router-B provided at a connection point between ISP-B. These user border routers share routing information by IBGP (internal BGP: BGP (Border Gateway Protocol) is one of the protocols for exchanging routing information in the Internet). Each user border router then advertises (announces) an address to the Internet using the routing protocol BGP.

図1(a)の方式では、通常時には、ユーザ境界ルータ−AからISP−A経由でプレフィックスAを広告し、ユーザ境界ルータ−BからISP−B経由でプレフィックスBを広告している。したがって、プレフィックスA宛のパケットはISP−A経由でユーザネットワークへ転送され、プレフィックスB宛のパケットはISP−B経由でユーザネットワークへ転送されることになる。   In the method shown in FIG. 1A, the prefix A is advertised from the user boundary router-A via ISP-A and the prefix B is advertised from the user boundary router-B via ISP-B. Accordingly, packets addressed to prefix A are transferred to the user network via ISP-A, and packets addressed to prefix B are transferred to the user network via ISP-B.

そして、例えばユーザネットワークとISP−Bの間の接続が失われたときには、ユーザ境界ルータAからISP−A経由でプレフィックスAとプレフィックスBの両方を広告する。すると、プレフィックスB宛のパケットもISP−Aを経由することによりユーザネットワークへ転送されるので、インターネット接続性を維持することができる。   For example, when the connection between the user network and ISP-B is lost, both the prefix A and the prefix B are advertised from the user border router A via ISP-A. Then, since the packet addressed to the prefix B is also transferred to the user network via the ISP-A, the Internet connectivity can be maintained.

図1(b)の方式でも、通常時には、ユーザ境界ルータ−AからISP−A経由でプレフィックスAを広告し、ユーザ境界ルータ−BからISP−B経由でプレフィックスBを広告している。そして、ISP−Bとの間の接続が失われたときには、ユーザ境界ルータ−AからプレフィックスBを広告するが、その広告は、ISP−Bの境界ルータに対して、間接的な(ISP−Aの境界ルータを介する)BGPによって行われる。すると、プレフィックスB宛のパケットは、ISP−Bを経由した後、ISP−Bの境界ルータからISP−Aをトンネルすることにより、ISP−Aとの間のリンクを通ってユーザネットワークに到達することになる。   Also in the system of FIG. 1B, in a normal state, the prefix A is advertised from the user boundary router-A via ISP-A, and the prefix B is advertised from the user boundary router-B via ISP-B. When the connection with ISP-B is lost, the prefix B is advertised from the user border router-A, but the advertisement is indirect (ISP-A) to the border router of ISP-B. (Through the border router). Then, the packet addressed to the prefix B passes through ISP-B and then reaches the user network through the link with ISP-A by tunneling ISP-A from the border router of ISP-B. become.

このようなマルチホーム接続の技術を、IPv4ネットワークだけではなくIPv6ネットワークに適用しようとする提案も、なされている(例えば、非特許文献2参照)。
T. Bates et al., "RFC 2260: Scalable Support for Multi-homed Multi-provider Connectivity," January 1998, Internet Engineering Task Force (IETF) <URL: http://www.ietf.org/rfc/rfc2260.txt?number=2260> J. Hagino et al., "RFC 3178: IPv6 Multihoming Support at Site Exit Routers," October 2001, IETF <URL: http://www.ietf.org/rfc/rfc3178.txt?number=3178>
Proposals have been made to apply such multi-home connection technology not only to IPv4 networks but also to IPv6 networks (for example, see Non-Patent Document 2).
T. Bates et al., “RFC 2260: Scalable Support for Multi-homed Multi-provider Connectivity,” January 1998, Internet Engineering Task Force (IETF) <URL: http: // www. ietf. org / rfc / rfc2260. txt? number = 2260> J. Hagino et al., "RFC 3178: IPv6 Multihoming Support at Site Exit Routers," October 2001, IETF <URL: http: // www. ietf. org / rfc / rfc3178. txt? number = 3178>

図1(a)の方式では、あるISP経由で別のISPが割り当てたアドレスを広告することを許すことになるため、インターネットにおいて交換されるルーティング情報の量が爆発的に増えてしまう可能性がある。   In the method of FIG. 1A, since an address assigned by another ISP is permitted to be advertised via a certain ISP, there is a possibility that the amount of routing information exchanged on the Internet may increase explosively. is there.

図1(b)の方式では、ユーザネットワークとISP−Bの間のリンクがダウンしたときも、プレフィックスBはインターネットの内部においてはあくまでISP−Bから広告されることになるので、ルーティング情報の増加という問題は起こらないが、現実問題として、ISPがこのような方式を採用する可能性は低い。それは、各ISPのユーザに対する課金が、各ISPが提供したインターネットとの間のトラフィック量に応じてなされることによる。すなわち、ISP−Bとの間のリンクがダウンしており、ISP−Aがその代わりのリンクを提供しているにも拘らず、ユーザに課金できるのは、ユーザネットワークとインターネットの間のトラフィックを担っているISP−Bということになり、ISP−Aにとってはビジネス上デメリットしかないからである。   In the method of FIG. 1B, even when the link between the user network and ISP-B goes down, the prefix B is advertised from ISP-B inside the Internet. However, as a practical problem, the ISP is unlikely to adopt such a method. This is because the billing for the user of each ISP is made according to the amount of traffic between the ISP and the Internet. That is, even though the link between ISP-B is down and ISP-A provides an alternative link, the user can be charged for traffic between the user network and the Internet. This is because ISP-B is responsible, and ISP-A has only business disadvantages.

さらに、マルチホーム接続をするユーザネットワークとしては、上記のように、あるISPの接続がダウンした場合のバックアップとして別のISPの接続を利用するだけでなく、両方のISPの接続が維持されている状態でこれら両方を有効に利用できることが、望ましい。特に、接続がダウンしなくとも、転送される一連のパケット群のうち、一部のパケットが紛失することがあり、このようなパケットロスに対処するために、ISPとの間の複数のリンクを活用する仕組みが、望まれる。   Further, as described above, as a user network for multi-home connection, not only the connection of another ISP is used as a backup when the connection of a certain ISP goes down, but the connection of both ISPs is maintained. It would be desirable to be able to use both of these effectively in the situation. In particular, even if the connection does not go down, some packets may be lost in a series of transmitted packets. To cope with such packet loss, a plurality of links with ISPs are used. A mechanism to make use of it is desired.

しかし、上述した従来方式では、複数のISPのリンクが使用できる通常時においては、プレフィックスA宛のパケットがISP−A経由でユーザネットワークに到達し、プレフィックスB宛のパケットがISP−B経由でユーザネットワークに到達することが可能になっているだけであり、いずれにおいても、パケットロスが起きた場合には、TCP等のプロトコルを使って、紛失したパケットを同じ経路で再送するしかなかった。   However, in the conventional method described above, in a normal time when a plurality of ISP links can be used, a packet addressed to the prefix A reaches the user network via the ISP-A, and a packet addressed to the prefix B reaches the user via the ISP-B. It is only possible to reach the network. In any case, when a packet loss occurs, a lost packet must be retransmitted on the same route using a protocol such as TCP.

また、ユーザネットワーク内のノードが、ISPから割り当てられたアドレスではなく、独自のアドレス(例えばPI(Provider Independent)アドレス)を使用する構成の場合は、両方のISP経由で独自アドレスのプレフィックスを広告することになり、インターネットにおいて交換されるルーティング情報の量が爆発的に増えるという問題が残る。   In addition, when a node in the user network uses a unique address (for example, a PI (Provider Independent) address) instead of an address assigned by the ISP, the prefix of the unique address is advertised via both ISPs. As a result, there remains a problem that the amount of routing information exchanged on the Internet increases explosively.

本発明は、以上のような事情を考慮し、まず、インターネット内でのルーティング情報の量の爆発的増加を防ぎつつ、ISPが現実問題として採用しやすいマルチホーム接続方式を提供することを目的とする。ここで、マルチホーム接続とは、一つのユーザネットワークに対し、複数もしくは単一のISPから複数のリンク(インターネットとの接続)を提供することをいう。そして、本発明はさらに、ユーザネットワークがマルチホーム接続されていることを生かして、ユーザネットワークとインターネットとの間のパケット転送で、パケットロスが起きても、再送が必要となる確率を低くすることができる機構を提供することを目的とする。   In view of the above circumstances, the present invention has an object to provide a multi-home connection method that an ISP can easily adopt as a real problem while preventing an explosive increase in the amount of routing information in the Internet. To do. Here, the multihome connection refers to providing a plurality of links (connection to the Internet) from a plurality of or a single ISP to one user network. In addition, the present invention further reduces the probability that retransmission is necessary even if packet loss occurs in packet transfer between the user network and the Internet, taking advantage of the fact that the user network is multihomed. It is an object to provide a mechanism capable of

本発明は、インターネットを構成するルータとして、次のようにパケット転送を制御する新規なルータを導入する。ここで、コンテンツ配信サーバ等も、本発明に係るルータに該当する。サーバの場合は、ユーザネットワーク宛のパケットを、自装置の外から受信するのではなく、自装置内のアプリケーションから受信することになる。   The present invention introduces a new router for controlling packet transfer as a router constituting the Internet as follows. Here, the content distribution server or the like also corresponds to the router according to the present invention. In the case of a server, a packet addressed to the user network is received from an application in the own device, not from outside the own device.

本発明に係るルータは、インターネットとの接続を複数提供されるユーザネットワークを宛先とするパケットを受信すると、そのユーザネットワークのアドレスを含むパケットに基づいて、ユーザネットワークに提供される複数の接続のうちの少なくとも二つを特定するとともに、受信したパケットの冗長パケットを作成する。そして、特定した接続のうちの一つに対応するアドレスに従って本ルータからユーザネットワークへパケットが転送される(いわば仮想的なトンネルが設定されている)経路へ、受信したパケット及び作成した冗長パケットのうちの一部を転送するとともに、特定した接続のうちの他の一つに対応するアドレスに従って本ルータからユーザネットワークへパケットが転送される(別の仮想的なトンネルが設定されている)経路へ、受信したパケット及び作成した冗長パケットのうちの他の一部を転送する。これらの仮想的なトンネルのためには、例えば後述する3通りのパケット転送方法が利用できる。   When a router according to the present invention receives a packet destined for a user network provided with a plurality of connections to the Internet, the router includes a plurality of connections provided to the user network based on a packet including the address of the user network. Are specified, and a redundant packet of the received packet is created. Then, according to the address corresponding to one of the specified connections, the received packet and the created redundant packet are routed to the route where the packet is transferred from the router to the user network (in other words, a virtual tunnel is set). Forward a part of the packet and forward the packet from this router to the user network according to the address corresponding to the other one of the specified connections (to which another virtual tunnel is set) The other part of the received packet and the created redundant packet is transferred. For these virtual tunnels, for example, the following three packet transfer methods can be used.

本発明によれば、マルチホーム接続を実現するために、インターネットを構成する多数のルータのうちごく一部である、本発明に係るルータとして機能可能なものだけに、ユーザネットワークのアドレスと各接続に対応するアドレスとの対応を知るための情報が送れば済むため、インターネット内でのルーティング情報の量が爆発的に増えることが無くなる。さらに、本発明によれば、特定された接続に対応するアドレスに従って本発明に係るルータからユーザネットワークへパケットが転送される経路が用いられるため、ある接続(リンク)を通してユーザネットワークに到達するパケットは、そのリンクを提供するプロバイダのネットワークを経由して転送されるものであるから、各プロバイダは自身の提供したサービスに見合った課金ができることになる。   According to the present invention, in order to realize multi-home connection, only a part of a large number of routers constituting the Internet, which can function as a router according to the present invention, the address of the user network and each connection Since it is only necessary to send information for knowing the correspondence with the address corresponding to, the amount of routing information in the Internet does not increase explosively. Further, according to the present invention, since a route is used in which a packet is transferred from the router according to the present invention to the user network according to an address corresponding to the identified connection, a packet that reaches the user network through a certain connection (link) Since the data is transferred via the network of the provider providing the link, each provider can charge for the service provided by the provider.

さらに、本発明によれば、ユーザネットワークに提供される少なくとも二つの接続を利用して、冗長性を有するパケット群(受信したパケットとそれから作成される冗長パケット)が転送されるため、いずれかの接続を利用する経路でパケットロスが起きても、他の接続を利用する経路で受信されたパケットから紛失したパケットに含まれていたデータを復元できる可能性が高くなり、パケット再送が必要になる可能性を低くすることができる。   Furthermore, according to the present invention, a packet group having redundancy (received packet and redundant packet created therefrom) is transferred using at least two connections provided to the user network. Even if a packet loss occurs on a route that uses a connection, there is a high possibility that the data contained in the lost packet can be restored from a packet received on a route that uses another connection, and packet retransmission is required. The possibility can be reduced.

上記の本発明に係るルータにおける冗長パケットとして、例えば、受信したパケットを複製することにより作成される、重複パケットを用いることができる。この場合、受信したパケットと、作成した重複パケット(受信したパケットと同一のパケット)とが、異なる経路で(異なる接続を利用して)転送されるようにするとよい。これにより、ユーザネットワークは、一方の経路においてパケットロスがあっても、他方の経路から紛失したパケットと同一のパケットを受信することができるので、再送要求をしなくて済むようになる。さらに、本発明に係るルータにおいて、受信したパケット及び作成した重複パケットに同一のパケット識別子を付与してから、転送してもよい。すると、ユーザネットワークが、両方の経路(複数の接続)からパケットロスなく重複するパケットを受信した場合には、各パケットに付与されているパケット識別子を用いて、複数の同一のパケットのうちの一つを残して他を廃棄することができる。   As the redundant packet in the router according to the present invention, for example, a duplicate packet created by duplicating the received packet can be used. In this case, the received packet and the created duplicate packet (the same packet as the received packet) may be transferred through different paths (using different connections). As a result, even if there is a packet loss in one route, the user network can receive the same packet as the packet lost from the other route, so that it is not necessary to make a retransmission request. Furthermore, in the router according to the present invention, the same packet identifier may be assigned to the received packet and the created duplicate packet, and then transferred. Then, when the user network receives duplicate packets without packet loss from both routes (multiple connections), it uses one of the same packets using the packet identifier assigned to each packet. The other can be discarded, leaving one.

上記の本発明に係るルータにおける冗長パケットとして、例えば、受信したパケットに含まれるデータを誤り訂正符号化して作成される、誤り訂正パケットを用いることができる。この場合、特定された二つの接続を利用する経路に、本来の経路とバックアップの経路が存在するならば、受信したパケットが本来の経路で転送され、作成した誤り訂正パケットがバックアップの経路で転送されるようにしてもよい。あるいは、受信したパケットと作成した誤り訂正パケットとを区別せずに、これらから成るパケット群の一部がある経路に、他の一部が他の経路に、転送されるようにしてもよい。いずれの転送方法でも、ユーザネットワークは、ある経路においてパケットロスが起きて、受信されるべきパケットが受信されなくても、その経路及び他の経路から受信された誤り訂正パケットを含むパケット群を用いて、紛失したパケットを復元することができる。ユーザネットワークが、パケットロスなく受信されるべきパケットを全て受信した場合には、誤り訂正パケットを使用せずに廃棄してもよい。   As the redundant packet in the router according to the present invention, for example, an error correction packet created by error correction coding of data included in the received packet can be used. In this case, if the original route and the backup route exist in the route that uses the two specified connections, the received packet is transferred through the original route, and the created error correction packet is transferred through the backup route. You may be made to do. Alternatively, without distinguishing the received packet from the created error correction packet, a part of the packet group composed of these may be forwarded to a path and the other part may be forwarded to another path. In any transfer method, the user network uses a packet group including an error correction packet received from the route and another route even if a packet loss occurs in a route and a packet to be received is not received. Lost packets can be recovered. When the user network receives all the packets that should be received without packet loss, the user network may be discarded without using the error correction packet.

上記の少なくとも二つの経路の特定(本来の経路とバックアップの経路を区別する場合にはそれも含めた特定)は、受信したパケットに基づいて行われるが、そのために、受信したパケット内の情報である宛先アドレス、ポート番号、送信元アドレス、ポート番号、プロトコルID等を参照することができる。さらに、ネットワーク層より上位層の情報を参照すれば、より細かな制御が可能となる。   The identification of the at least two routes described above (specification including the original route and the backup route if included) is performed based on the received packet. For this reason, the information in the received packet is used. A certain destination address, port number, source address, port number, protocol ID, and the like can be referenced. Furthermore, finer control can be performed by referring to information in layers higher than the network layer.

上記の少なくとも二つの経路の特定(本来の経路とバックアップの経路を区別する場合には、本来の経路の選択を含む)を、各接続を利用してユーザネットワークに提供される通信環境に基づいて行うことも可能である。さらに、受信したパケットと作成した誤り訂正パケットとから成るパケット群の一部をある経路に、他の一部を他の経路に、転送する場合、パケット群のどの一部をどの経路に転送するかの選択を、上記の通信環境に基づいて行うこともできる。   Based on the communication environment provided to the user network using each connection, specifying the above-mentioned at least two routes (including the selection of the original route when distinguishing the original route from the backup route) It is also possible to do this. Furthermore, when a part of a packet group composed of received packets and created error correction packets is transferred to a certain route and another part is transferred to another route, which part of the packet group is transferred to which route. This selection can also be made based on the communication environment.

上記の通信環境の一例として、各プロバイダネットワークとユーザネットワークとの間のトラフィック量を用いることができる。これは、各リンクのインターネット−ユーザネットワーク間のトラフィック量であるが、入出力トラフィックの双方を合わせた量でも良いし、ユーザネットワークへの入力トラフィックの量を検出するのでも良い。これらのトラフィック量は、ユーザネットワークにおいて観測することができる。これにより、本発明に係るルータは、例えばあるリンクのトラフィック量が多ければ、そのリンクを通る経路を選択していたパケット群のうちの一部について、他のリンクを通る経路を選択するように切り替えることが可能となる。   As an example of the communication environment, the amount of traffic between each provider network and the user network can be used. This is the amount of traffic between the Internet and the user network of each link, but the amount of both input and output traffic may be combined, or the amount of input traffic to the user network may be detected. These traffic volumes can be observed in the user network. Thereby, for example, if the traffic volume of a certain link is large, the router according to the present invention selects a route that passes through another link for a part of a packet group that has selected a route that passes through that link. It is possible to switch.

上記通信環境の他の例として、本発明に係るルータから各接続(リンク)を通ってユーザネットワークに至るそれぞれの経路の遅延、パケット損失率、ジッタ、帯域等の通信品質パラメータを用いることもできる。これらの通信品質パラメータは、各経路に対して計測されるものであり、ユーザネットワークにおいて観測しても良いし、本発明に係るルータがユーザネットワークとの間でメッセージ交換することにより獲得しても良い。これにより、本発明に係るルータは、例えばあるリンクを通る経路の遅延が大きければ、遅延に敏感なデータ(例えば音声通話や映像ストリーミング等)を運ぶパケット群について、他のリンクを通る経路を選択するように切り替えることが可能となる。また、例えば、受信したパケットと作成した誤り訂正パケットとから成るパケット群のうち、帯域の大きな方の経路に多くのパケットを、帯域の小さな方の経路に残りのパケットを、転送することが可能になる。   As another example of the communication environment, communication quality parameters such as delay, packet loss rate, jitter, and bandwidth of each route from the router according to the present invention through each connection (link) to the user network can be used. . These communication quality parameters are measured for each route, and may be observed in the user network or acquired by the router according to the present invention by exchanging messages with the user network. good. As a result, the router according to the present invention selects, for example, a route through another link for a packet group carrying data sensitive to delay (for example, voice call, video streaming, etc.) if the route through the link has a large delay. It is possible to switch so as to. Also, for example, it is possible to transfer many packets to the path with the larger bandwidth and the remaining packets to the path with the smaller bandwidth among the packet group consisting of the received packet and the created error correction packet. become.

ここでは、動的に変化するトラフィック量や通信品質パラメータを、通信環境の例として取り上げたが、静的な値すなわち予め本発明に係るルータに記憶された値を、通信環境として用いることもできる。例えば、あるプロバイダがユーザネットワークに提供するリンクの帯域が、別のプロバイダが提供するリンクの帯域よりも大きいことが予め分かっている場合、本発明に係るルータは、これらの帯域を通信環境として参照し、ユーザネットワーク宛のパケット群を、各経路に対応する帯域に応じて、ある経路には多く、別の経路には少なく振り分けることが可能となる。また、あるプロバイダ経由の経路が別のプロバイダ経由の経路よりも遅延が大きいことが予め分かっている場合も、本発明に係るルータは、これらの帯域を通信環境として参照し、ユーザネットワーク宛のパケット群のうち遅延に敏感なデータを運ぶものについては、遅延の小さい経路を選択することが可能になる。   Here, dynamically changing traffic volume and communication quality parameters are taken as examples of the communication environment, but static values, that is, values stored in the router according to the present invention in advance can also be used as the communication environment. . For example, when it is known in advance that the bandwidth of a link provided by a provider to a user network is larger than the bandwidth of a link provided by another provider, the router according to the present invention refers to these bandwidths as a communication environment. However, according to the bandwidth corresponding to each route, it is possible to distribute a large number of packets addressed to the user network to a certain route and less to another route. Also, when it is known in advance that a route through a certain provider has a larger delay than a route through another provider, the router according to the present invention refers to these bands as a communication environment, and sends packets addressed to the user network. For a group that carries delay-sensitive data, it is possible to select a path with a small delay.

また、ユーザネットワークに提供される各接続(リンク)について、その接続を利用するパケット転送経路が正常に動作しているか(リンクが切断されたりプロバイダネットワーク内の故障によりリンクまでの到達性が失われたりしていないか)に基づいて、パケット転送経路の特定や選択を行うことも可能である。このためには、例えば、本発明に係るルータが、各接続(リンク)に対応するアドレスに向けて確認メッセージを送信し、これに対する返答メッセージの有無またはその内容により、各リンクを利用する本ルータからユーザネットワークへの経路が、正常に動作しているか否かを確認すれば良い。   In addition, for each connection (link) provided to the user network, the packet transfer path that uses that connection is operating normally (the link reachability is lost due to disconnection or failure in the provider network) It is also possible to specify and select a packet transfer route based on whether or not For this purpose, for example, the router according to the present invention transmits a confirmation message to an address corresponding to each connection (link), and this router uses each link depending on the presence / absence of a response message or the content thereof. What is necessary is just to confirm whether the path | route to the user network is working normally.

上記の確認メッセージを所定間隔毎に送信することにより、現在の各経路の状況を調べることができるが、この送信間隔を、各経路の通信品質に基づいて変更するようにしても良い。例えば、ある経路の帯域が大きいときには、送信間隔を短くして頻繁に確認メッセージを送信し、帯域が小さいときには、送信間隔を長くして送信頻度を抑えれば、確認メッセージのような試験トラフィックのために実トラフィックが使用できる帯域を過度に圧迫してしまうことを、適切に回避することが可能となる。   By transmitting the confirmation message at predetermined intervals, the current status of each route can be checked. However, this transmission interval may be changed based on the communication quality of each route. For example, when the bandwidth of a certain route is large, the confirmation message is frequently transmitted by shortening the transmission interval, and when the bandwidth is small, if the transmission frequency is suppressed by lengthening the transmission interval, the test traffic such as the confirmation message is transmitted. Therefore, it is possible to appropriately avoid over-squeezing the bandwidth that the actual traffic can use.

選択した経路(選択した接続に対応するアドレスに従った経路)でパケットを転送する方法としては、例えば次の3通りがあり得る。なお、この例では、受信したパケットの宛先アドレスフィールドにはユーザネットワークのアドレスが、送信元フィールドには送信元のネットワークのアドレスが、それぞれ書き込まれているものとする。ここで、ユーザネットワークのアドレスとしては、いずれか一つのプロバイダから割り当てられたアドレスを用いても良いし、PIアドレスのようなユーザ独自のアドレスを用いても良い。   For example, the following three methods can be used to transfer a packet along a selected route (a route according to an address corresponding to the selected connection). In this example, it is assumed that the address of the user network is written in the destination address field of the received packet, and the address of the network of the transmission source is written in the transmission source field. Here, as an address of the user network, an address assigned from any one of the providers may be used, or a user-specific address such as a PI address may be used.

一つ目は、IPパケットのカプセル化を利用するものであり、本発明に係るルータは、選択した接続を提供するプロバイダがその接続に対応して割り当てたアドレス(好ましくは、ユーザネットワークの境界ルータ(ユーザルータ)に割り当てたアドレス)を宛先とし、自装置のアドレスを送信元とする新しいパケットで、受信したパケットを包んで転送する。このカプセル化されたパケットを受信したユーザルータでは、カプセルを解いて元のパケットの宛先アドレスを参照し、宛先ホストへパケットを転送する。   The first one uses IP packet encapsulation, and the router according to the present invention has an address assigned by the provider providing the selected connection corresponding to the connection (preferably a border router of the user network). (Address assigned to (user router)) as a destination, and a new packet whose source is the address of its own device. Upon receiving this encapsulated packet, the user router releases the capsule, refers to the destination address of the original packet, and transfers the packet to the destination host.

二つ目は、MPLS(Multi-Protocol Label Switching)と呼ばれる技術を利用するものであり、本発明に係るルータを出発点とし各接続(リンク)を通ってユーザネットワークへ至る各経路に沿って、ネットワーク層より下位層の情報であるラベルに基づいてパケットが転送されるラベルスイッチングパスが設定されているとする。本発明に係るルータは、選択した経路に対応するラベルスイッチングパスのラベルを、受信したパケットに付与して転送する。このラベルスイッチングパスからパケットを受信したユーザルータでは、ラベルを取り除き、パケットの宛先アドレスをネットワーク層で参照することにより、宛先ホストへパケットを転送する。なお、ラベルスイッチングパスは、各接続を提供するプロバイダがユーザルータに割り当てたアドレスに従って設定され、ユーザルータは、ラベルスイッチングパスの設定のときに、そのラベルスイッチングパスの出発点となるルータ(本発明に係るルータ)のアドレスを通知されているため、受信したパケットに付与されているラベルを参照すれば、本発明に係るルータのアドレスを獲得できる。   The second is to use a technology called MPLS (Multi-Protocol Label Switching), starting from the router according to the present invention and passing through each connection (link) to each user network. It is assumed that a label switching path for transferring a packet is set based on a label that is information in a layer lower than the network layer. The router according to the present invention assigns the label of the label switching path corresponding to the selected route to the received packet and transfers it. The user router that has received the packet from the label switching path removes the label and refers to the destination address of the packet in the network layer to transfer the packet to the destination host. The label switching path is set according to the address assigned to the user router by the provider that provides each connection, and the user router is the router that becomes the starting point of the label switching path when setting the label switching path (the present invention). The address of the router according to the present invention can be acquired by referring to the label attached to the received packet.

三つ目は、ユーザネットワーク内のホストはユーザルータを介さない限りインターネットと通信できないことに着目し、本発明に係るルータにおいてパケットの宛先アドレスを変換してしまうものである。すなわち、本発明に係るルータが、選択した接続を提供するプロバイダがその接続に対応して(好ましくはその接続が提供されるユーザルータに)割り当てたアドレスに基づいて、パケットの宛先アドレスフィールドを書き換えて転送する。ここで元のパケットに記入されていた情報は失われてしまうが、必ず通過することになるユーザルータにおいて、アドレスの逆変換が行われて情報が復活する。すなわち、ユーザルータは、受信したパケットの宛先アドレスフィールドを、ユーザネットワークのアドレスに基づいて書き換えて、宛先ホストへ転送する。   The third point is that the host in the user network cannot communicate with the Internet unless it passes through the user router, and the destination address of the packet is converted in the router according to the present invention. That is, the router according to the present invention rewrites the destination address field of the packet based on the address assigned by the provider providing the selected connection corresponding to the connection (preferably to the user router to which the connection is provided). Forward. Here, the information entered in the original packet is lost, but in the user router that always passes, the address is reversely converted and the information is restored. That is, the user router rewrites the destination address field of the received packet based on the address of the user network, and transfers it to the destination host.

一つ目と二つ目の方法では、ユーザネットワークの境界ルータにおいて、受信したパケットの経路選択が行われたルータ(本発明に係るルータ)のアドレスを知ることができるというメリットがある。三つ目の方法は、IPパケットのパケットサイズ(MTU:Max Transfer Unit)が変化しないというメリットがある。   The first and second methods have an advantage that the address of the router (router according to the present invention) from which the route of the received packet is selected can be known at the border router of the user network. The third method has an advantage that the packet size (MTU: Max Transfer Unit) of the IP packet does not change.

本発明に係るルータにおいて特定の対象となる各経路の情報として、例えば、ユーザネットワークのアドレスと各接続を提供するプロバイダが各接続に対応して(好ましくは各接続が提供される各ユーザルータに)割り当てたアドレスとの対応を表わす情報(この情報をルータ登録情報と呼ぶ)が、本発明に係るルータに記憶される。   As information of each route to be specified in the router according to the present invention, for example, a provider that provides the user network address and each connection corresponds to each connection (preferably to each user router to which each connection is provided). ) Information indicating the correspondence with the assigned address (this information is called router registration information) is stored in the router according to the present invention.

この情報を、インターネットを構成する他のルータであって本発明に係るルータとして機能可能なものに対して送信すると、その送信を受けた他のルータも、本発明に係るルータと同様に、ユーザネットワークに至る少なくとも二つの接続を特定し、冗長性を有するパケット群を転送する動作を行うようになる。   When this information is transmitted to other routers that constitute the Internet and that can function as the router according to the present invention, the other routers that have received the transmission, like the routers according to the present invention, also receive the user information. At least two connections to the network are specified, and an operation of transferring a packet group having redundancy is performed.

一方、本発明に係るルータが、インターネットを構成する他のルータに対して、ユーザネットワークのアドレスと自装置のアドレスとの対応を表わす情報を送信すると、その送信を受けた他のルータは、ユーザネットワークのアドレスを宛先とするパケットを本発明に係るルータへ転送するようになるので、本発明に係るルータが、その転送されてきたパケットについても、ユーザネットワークに至る少なくとも二つの接続を特定し、冗長性を有するパケット群を転送する動作を行う。   On the other hand, when the router according to the present invention transmits information indicating the correspondence between the address of the user network and the address of its own device to other routers constituting the Internet, Since the packet addressed to the network is forwarded to the router according to the present invention, the router according to the present invention specifies at least two connections to the user network for the forwarded packet, An operation of transferring a packet group having redundancy is performed.

本発明は、インターネットを構成するルータとして、以上のように新規なルータを導入する一方で、ユーザルータとして、次のようにパケット転送を制御する新規なルータを導入する。ユーザルータとは、インターネットとの接続を複数提供されているユーザネットワークの、インターネットとの接続点に設けられたルータである。本発明に係るユーザルータは、複数の接続の全てに対応するように複数のネットワークインタフェースを備える装置として構成しても良いし、複数の接続のうちの一部に対応するネットワークインタフェースを備える装置として構成しても良い。後者の場合、各接続に対応する各ユーザルータ装置が、例えばIBGPやOSPFでルーティング情報を共有し、集合体としてインターネットとマルチホーム接続する境界ルータの機能を果たすように構成しても良い。   The present invention introduces a new router as described above as a router constituting the Internet, and introduces a new router for controlling packet transfer as a user router as follows. The user router is a router provided at a connection point with the Internet of a user network provided with a plurality of connections with the Internet. The user router according to the present invention may be configured as a device including a plurality of network interfaces so as to correspond to all of the plurality of connections, or as a device including a network interface corresponding to a part of the plurality of connections. It may be configured. In the latter case, each user router apparatus corresponding to each connection may share the routing information by, for example, IBGP or OSPF, and may be configured to function as a border router that performs multihome connection with the Internet as an aggregate.

本発明に係るユーザルータは、自装置が属するユーザネットワークの識別情報と各接続に対応して割り当てられたアドレスのうち自装置に割り当てられたアドレス(自装置が提供されている接続に対応するアドレス)に関する情報とを送信し、ユーザネットワークを宛先とするパケットを、複数の接続のうち自装置に提供されている接続に対応するアドレスに従った経路で受信する。この受信に用いられる経路は、インターネットを構成する、上述した本発明に係るルータにより特定された少なくとも二つの接続のうちの少なくとも一つであり、受信されるパケットは、上述した本発明に係るルータにより転送された冗長性を有するパケット群のうちの少なくとも一部である。本発明に係るユーザルータが、上記の情報を送信することにより、本発明に係るルータは、特定の対象となる各経路の情報を得ることができる。   The user router according to the present invention includes the identification information of the user network to which the own device belongs and the address assigned to the own device among the addresses assigned corresponding to each connection (the address corresponding to the connection provided by the own device). ), And a packet destined for the user network is received through a route according to an address corresponding to the connection provided to the own device among the plurality of connections. The route used for reception is at least one of at least two connections specified by the router according to the present invention, which constitutes the Internet, and the received packet is the router according to the present invention described above. Is at least a part of the packet group having redundancy transferred by. When the user router according to the present invention transmits the above information, the router according to the present invention can obtain information on each route to be specified.

上記の本発明に係るユーザルータにおいて、冗長性を有するパケット群が受信された場合に、この冗長性を削除することも可能である。例えば、同一のパケットを複数含むパケット群が受信された場合には、重複するパケットを廃棄する。誤り訂正パケットを含むパケット群が受信された場合には、パケットロスがあれば誤り訂正をして紛失したパケットを復元し、不要な誤り訂正パケットは廃棄する。このような冗長性の削除は、一つのユーザルータに上記の少なくとも二つの接続が提供されている場合には、当該ユーザルータ内で行うことができ、複数のユーザルータにそれぞれ接続が提供されている場合には、例えば、次の三通りの方式が可能である。   In the above-described user router according to the present invention, when a packet group having redundancy is received, this redundancy can be deleted. For example, when a packet group including a plurality of identical packets is received, duplicate packets are discarded. When a packet group including an error correction packet is received, if there is a packet loss, error correction is performed to restore the lost packet, and unnecessary error correction packets are discarded. Such redundancy removal can be performed in the user router when at least two of the above connections are provided to one user router, and connections are provided to each of the plurality of user routers. For example, the following three methods are possible.

一つ目は、複数のユーザルータ間で、受信されたパケットに関して情報交換し、協調して冗長性の削除を行う方式である。例えば、従たるユーザルータは、情報交換により主たるユーザルータで同一のパケットが受信されていることを知ると、自身が受信したパケットを廃棄する。従たるユーザルータが、情報交換により主たるユーザルータでは受信されなかったパケットを自身が受信していることを知ると、そのパケットを主たるユーザルータもしくは宛先ノードへ転送する。別の例では、主たるユーザルータは、情報交換により受信されるべきパケットがいずれのユーザルータでも受信されなかったことを知ると、従たるユーザルータが受信したパケット群を自身へ転送させ、自身が受信したパケット群と合わせて誤り訂正を行い、受信されなかったパケットを復元する。なお、情報交換により不要であることが分かった誤り訂正パケットは、各ユーザルータにて廃棄する。上記のいずれの例においても、主たるユーザルータと従たるユーザルータは、それぞれ専用のユーザルータを設けるのでもよいし、両方の機能を持つユーザルータが、あるパケットフロー(例えば宛先ノードや送信元ノード等により規定される)については主たるユーザルータとして機能し、別のパケットフローについては従たるユーザとして機能するようにしてもよい。   The first is a method in which information is exchanged between a plurality of user routers regarding received packets, and redundancy is deleted in cooperation. For example, when the subordinate user router learns that the same packet is received by the main user router by exchanging information, the subordinate user router discards the packet received by itself. When the subordinate user router knows that it has received a packet that was not received by the main user router due to information exchange, it transfers the packet to the main user router or destination node. In another example, when the main user router learns that a packet to be received by information exchange has not been received by any user router, it forwards the packet group received by the subordinate user router to itself, The error correction is performed together with the received packet group, and the packet not received is restored. Note that error correction packets found to be unnecessary by information exchange are discarded at each user router. In any of the above examples, the main user router and the subordinate user router may each be provided with a dedicated user router, or a user router having both functions may have a certain packet flow (for example, a destination node or a source node). May function as a main user router, and may function as a subordinate user for another packet flow.

二つ目は、各ユーザルータが受信したパケットを、ユーザネットワーク内の一つの決まったルータに転送するようにし、そのルータが冗長性の削除を行う方式である。この場合は、その決まったルータが、複数の接続を介してユーザネットワークに受信された冗長性を有するパケット群を全て受信することになるので、そのルータ内で、冗長性の削除を行うことができる。この冗長性の削除を行うルータは、ユーザネットワーク内に一つだけ設けてもよいし、例えば宛先ノードのグループ毎に、複数設けてもよい。二つ目の方法でも、一つ目の方法と同様に、宛先ノードには、冗長性が削除された、送信元ノードが送信した通りのパケット群が、受信されることになる。   The second is a method in which a packet received by each user router is transferred to one fixed router in the user network, and the router performs redundancy deletion. In this case, the determined router receives all the redundant packet groups received by the user network through a plurality of connections, so that redundancy can be deleted within the router. it can. Only one router for deleting the redundancy may be provided in the user network. For example, a plurality of routers may be provided for each group of destination nodes. In the second method as well, as in the first method, the destination node receives a packet group as transmitted by the transmission source node from which redundancy has been deleted.

三つ目は、各ユーザルータが受信したパケットを、そのままユーザネットワーク内の宛先ノードに転送し、宛先ホストにおいて冗長性の削除を行う方式である。この場合、ユーザネットワーク内の各宛先ノード(各ホスト)に冗長性を削除する機能を備えさせることになるが、一つ目の方法におけるユーザルータ間の情報交換や、二つ目の方法のように特定のルータを経由させる仕組みは、不要である。   The third method is a method in which a packet received by each user router is directly transferred to a destination node in the user network, and redundancy is deleted at the destination host. In this case, each destination node (each host) in the user network is provided with a function for deleting redundancy. However, the information exchange between user routers in the first method and the second method are used. There is no need for a mechanism to pass through a specific router.

本発明に係るユーザルータは、自装置に提供されたリンクを介して(自装置が対応するプロバイダネットワークにより)ユーザネットワークに提供される通信環境を観測し、観測により得られた情報を送信することもでき、その場合、本発明に係るルータは、この情報を上記の通信環境として用いて、経路の特定もしくは選択を行うことができる。   The user router according to the present invention observes the communication environment provided to the user network (by the provider network supported by the own device) via the link provided to the own device, and transmits information obtained by the observation. In this case, the router according to the present invention can specify or select a route using this information as the communication environment.

別の方法として、本発明に係るユーザルータが、各リンクを介してユーザネットワークに提供される通信環境を観測して得られた情報に基づいて、ユーザネットワークを宛先とするパケット群のうちどの一部をどのリンクに対応するアドレスに従った経路で転送すべきか(具体的な選択基準)を指示する情報を生成し、この指示情報を送信することにしても良い。この場合、本発明に係るルータは、この指示情報に従うことにより、経路の特定もしくは選択を行うことができる。   As another method, based on information obtained by the user router according to the present invention observing the communication environment provided to the user network via each link, which one of the packet groups destined for the user network is selected. It is also possible to generate information for instructing which part should be transferred by a route according to an address corresponding to which link (specific selection criteria), and to transmit this instruction information. In this case, the router according to the present invention can specify or select a route by following the instruction information.

さらに別の方法として、本発明に係るユーザルータが、ユーザネットワークを宛先とするパケット群のうちどの一部がどのような通信環境をユーザネットワークに提供するリンクを介してユーザネットワークへ転送されるべきか(抽象的なポリシー)を指示する情報を生成し、この指示情報を送信することにしても良い。この場合、本発明に係るルータは、この指示情報と、それとは別に得た各リンクを介してユーザネットワークに提供される通信環境に関する情報とを照合して、複数のリンクのうち少なくとも二つを本来の経路とバックアップの経路を区別しながら特定したり、冗長性を有するパケット群について少なくとも二つの経路を使い分けるために経路を選択したりすることができる。   As yet another method, the user router according to the present invention should be forwarded to the user network via a link that provides what kind of communication environment to the user network. It is also possible to generate information that indicates (abstract policy) and transmit this instruction information. In this case, the router according to the present invention collates this instruction information with information about the communication environment provided to the user network via each link obtained separately, and determines at least two of the plurality of links. It is possible to identify the original route and the backup route while distinguishing them, or to select a route in order to selectively use at least two routes for a packet group having redundancy.

なお、本発明に係るルータにおいて、上述した3通りのパケット転送方法のうち一つ目もしくは二つ目が採用された場合には、本発明に係るユーザルータにおいて、受信したパケットの経路選択が行われたルータ(本発明に係るルータ)のアドレスを知ることができ、このアドレスにより特定のルータを指定して、ユーザネットワークに提供される通信環境の観測情報や、その通信環境に基づく指示情報等を送信することができる。すなわち、これらの情報を必要とするルータを特定して、通知することができる。   In the router according to the present invention, when the first or second of the three packet transfer methods described above is adopted, the user router according to the present invention performs route selection of the received packet. The address of the designated router (router according to the present invention) can be known, and a specific router is designated by this address, observation information of the communication environment provided to the user network, instruction information based on the communication environment, etc. Can be sent. That is, it is possible to identify and notify a router that requires such information.

本発明に係るユーザルータが、ユーザネットワークの識別情報と自装置が提供されている接続に対応して割り当てられたアドレスに関する情報と(これらの情報をユーザ登録情報と呼ぶ)を、インターネットへ送信する方法としては、例えば次の2通りがあり得る。なお、本発明に係るルータが、経路の特定を行うために用いるルータ登録情報は、ここで送信されるユーザ登録情報に基づいて得られるものである。   The user router according to the present invention transmits the identification information of the user network and the information related to the address assigned corresponding to the connection provided by the own device (these information is referred to as user registration information) to the Internet. For example, there are the following two methods. The router registration information used by the router according to the present invention for specifying a route is obtained based on the user registration information transmitted here.

一つは、複数の接続についての上記のユーザ登録情報を、一つの接続を介して送信する方法である。この場合、他の接続がダウンしたときには、ダウンした接続に対応してユーザルータに割り当てられたアドレスに関する情報が、上記のユーザ登録情報に含まれていればこれを削除して、送信されないようにする。これにより、インターネットを構成するルータは、ダウンしている接続を利用する経路を、選択対象として認識しなくなるため、ユーザネットワークのインターネットとの接続性を確保することができる。   One is a method of transmitting the above-mentioned user registration information for a plurality of connections via one connection. In this case, when the other connection goes down, if the information related to the address assigned to the user router corresponding to the down connection is included in the above user registration information, it will be deleted so that it will not be sent. To do. Thereby, since the router which comprises the internet does not recognize the path | route which uses the connection which has gone down as a selection object, it can ensure the connectivity with the internet of a user network.

もう一つは、複数の接続のそれぞれについての上記のユーザ登録情報を、それぞれ対応する接続を介して送信する方法である。この場合、ある接続がダウンしたときには、その接続についての上記のユーザ登録情報だけが自動的に届かなくなる。したがって、インターネットを構成するルータは、ダウンしている接続を利用する経路を、選択対象として認識しなくなり、ユーザネットワークのインターネットとの接続性を確保することができる。   The other is a method of transmitting the above-described user registration information for each of a plurality of connections via a corresponding connection. In this case, when a connection is down, only the above-mentioned user registration information for that connection is not automatically delivered. Therefore, the router that configures the Internet does not recognize the route that uses the down connection as a selection target, and can secure the connectivity of the user network to the Internet.

上記のユーザ登録情報に含まれるユーザネットワークの識別情報として、ユーザネットワークのアドレス情報を用いても良いし、ユーザネットワークのアドレスとは別の識別子を用いても良い。前者の場合は、本発明に係るルータは、ルータ登録情報を直接的に得ることができるが、インターネット内に誤ったルーティング情報が混入することがないように、ユーザルータから申告されたユーザネットワークのアドレスに誤りがないかを確認することが望ましい。後者の場合は、本発明に係るルータは、ユーザルータから送信された識別子に基づいて、ユーザネットワークのアドレスを求めることにより、ルータ登録情報を得る。   As the user network identification information included in the user registration information, user network address information may be used, or an identifier different from the user network address may be used. In the former case, the router according to the present invention can obtain the router registration information directly, but in order to prevent incorrect routing information from entering the Internet, the router of the user network declared by the user router It is desirable to check whether the address is correct. In the latter case, the router according to the present invention obtains router registration information by obtaining the address of the user network based on the identifier transmitted from the user router.

上記のように、転送するパケットに冗長性を付加し、冗長性を有するパケット群をマルチホーム接続に係る少なくとも二つの接続を利用して複数の経路に分散して転送することにより、パケット転送の信頼性を高める機構は、インターネットからユーザネットワークへの下流方向の仮想的なトンネルだけではなく、ユーザネットワークからインターネットへの上流方向の仮想的なトンネルについても、適用することが可能である。上流方向に適用する場合の、本発明の別の発明に係るユーザルータは、次のようなものになる。   As described above, redundancy is added to the packet to be transferred, and the packet group having redundancy is distributed and transferred to a plurality of routes using at least two connections related to multihome connection, thereby enabling packet transfer. The mechanism for improving the reliability can be applied not only to the virtual tunnel in the downstream direction from the Internet to the user network but also to the virtual tunnel in the upstream direction from the user network to the Internet. A user router according to another invention of the present invention when applied in the upstream direction is as follows.

すなわち、ユーザルータがユーザネットワーク内のノードからインターネットへのパケットを受信すると、受信したパケットの冗長パケットを作成し、受信したパケット及び作成した冗長パケット(冗長性を有するパケット群)のうちの一部を、複数の接続のうちの一つを通ってインターネット内に設けられたルータに達する仮想的なトンネル(そのルータのアドレスへ向けてパケットが転送される経路)へ転送する。冗長性を有するパケット群のうちの他の一部は、複数の接続のうちの他の一つを通って上記のルータに達する別の仮想的なトンネルへ転送する。ユーザルータが複数ある場合には、冗長性を有するパケット群のうちの一部は、あるユーザルータ(冗長パケットを作成したユーザルータ)に提供されている接続を通って転送され、他の一部は、そのユーザルータから他のユーザルータ経由で、他のユーザルータに提供されている接続を通って転送される。上記のインターネット内のルータは、複数の経路から冗長性を有するパケット群を受信すると、その冗長性を除く機能を備えている。   That is, when the user router receives a packet from the node in the user network to the Internet, the user router creates a redundant packet of the received packet, and a part of the received packet and the created redundant packet (redundant packet group) Is transferred to a virtual tunnel (route through which packets are forwarded to the address of the router) that reaches a router provided in the Internet through one of a plurality of connections. The other part of the packet group having redundancy is transferred to another virtual tunnel that reaches the router through another one of the plurality of connections. When there are multiple user routers, some of the redundant packet groups are forwarded through the connection provided to a certain user router (the user router that created the redundant packet) and some others Is transferred from the user router via the other user router through the connection provided to the other user router. When the router in the Internet receives a packet group having redundancy from a plurality of routes, the router has a function of removing the redundancy.

上述した本発明はいずれも、パケット転送制御方法やルータ装置、ユーザルータ装置としてだけではなく、インターネットを構成するルータとして機能するコンピュータ、もしくは、インターネットとの接続を複数提供されているユーザネットワークの境界に位置しユーザルータとして機能するコンピュータに、インストールされ、実行されるプログラムとしても、そのようなプログラムを記憶する記憶媒体としても、実施可能なものである。   Any of the above-described present inventions is not limited to a packet transfer control method, a router device, and a user router device, but also a computer functioning as a router constituting the Internet, or a boundary of a user network provided with a plurality of connections to the Internet. It can be implemented as a program that is installed and executed on a computer that functions as a user router and as a storage medium that stores such a program.

本発明によれば、複数のプロバイダ(複数のISPであっても良いし単一のISPが複数のリンクを提供するのでも良い)からインターネットとの接続を提供されているユーザネットワークを宛先とするパケットを転送する際に、パケットに冗長性を持たせ、且つ、接続が複数あることを生かして、送信元からのパケットを確実に宛先のユーザネットワークに受信させることが可能となる。   According to the present invention, a destination is a user network provided with a connection to the Internet from a plurality of providers (a plurality of ISPs or a single ISP may provide a plurality of links). When transferring a packet, it is possible to ensure that the packet from the transmission source is received by the destination user network by making the packet redundant and taking advantage of a plurality of connections.

以下、本発明の実施の形態について、図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図2は、本発明の一実施形態におけるパケット転送の様子を例示したものである。ISP−A〜ISP−Eは、プロバイダのネットワークを表わし、各ネットワーク内には多数のルータ(図示せず)が存在して、IPによる通信を提供している。このようなISP−A〜ISP−Eと、これらプロバイダネットワークの間を接続する多数のルータ(図示せず)とから、インターネットが構成されている。このインターネット内に、本発明により新たに導入されるルータ(ディストリビューションルータ)DR1〜DR4が設けられる。   FIG. 2 illustrates the state of packet transfer in one embodiment of the present invention. ISP-A to ISP-E represent provider networks, and a number of routers (not shown) exist in each network to provide communication by IP. The Internet is configured by such ISP-A to ISP-E and a number of routers (not shown) connecting these provider networks. In this Internet, routers (distribution routers) DR1 to DR4 newly introduced according to the present invention are provided.

ユーザネットワークは、ISP−AからリンクAを介してインターネットとの接続を提供され、ISP−BからリンクBを介してインターネットとの接続を提供されている。このようにマルチホーム接続されたユーザネットワークの境界には、ユーザルータURが設けられ、URは、リンクAに対応する第1のインタフェースと、リンクBに対応する第2のインタフェースを有している。以下の説明は、一つのURが二つのインタフェースを持つ例で進めるが、ユーザネットワークの境界にリンクAに対応する第1のURとリンクBに対応する第2のURとを設けて二つのURに必要な情報を共有させる例でも、同様のことが実現できることを最後に示す。   The user network is provided with connection to the Internet from ISP-A via link A, and is provided with connection to the Internet via link B from ISP-B. Thus, the user router UR is provided at the boundary of the multihomed user network, and the UR has a first interface corresponding to the link A and a second interface corresponding to the link B. . In the following explanation, one UR has two interfaces, but the first UR corresponding to the link A and the second UR corresponding to the link B are provided at the boundary of the user network, and the two URs are provided. Finally, it is shown that the same can be achieved in the example of sharing the necessary information.

ユーザネットワークには、多数のホスト(図示せず)が存在し、それぞれのホストが、P(X)をプレフィックス(上位所定ビット)とするIPアドレスXを持っている。このP(X)は、ISP−Aから割り当てられたアドレスプレフィックスAとしても良いし、ISP−Bから割り当てられたアドレスプレフィックスBとしても良いし、ユーザネットワーク独自のPIアドレスプレフィックスとしても良い。   A large number of hosts (not shown) exist in the user network, and each host has an IP address X having P (X) as a prefix (upper predetermined bits). This P (X) may be the address prefix A assigned from ISP-A, may be the address prefix B assigned from ISP-B, or may be a PI address prefix unique to the user network.

本実施形態をIPv4ネットワークに適用する場合、各ホストが使用するアドレスは、上述のように、ISP−Aから割り当てられたものとしても、ISP−Bから割り当てられたものとしても、PIアドレスとしても良い。IPv6ネットワークの場合は、経路集約型のルーティング広告が行われることから、PIアドレスの使用が困難なことがあるが、その場合でも、いずれかのISPから割り当てられたアドレスを使えば、本実施形態を適用することができる。勿論、IPv6ネットワークにおいてPIアドレスを使って、本実施形態を適用しても構わない。   When this embodiment is applied to an IPv4 network, the address used by each host may be assigned from ISP-A, assigned from ISP-B, or as a PI address as described above. good. In the case of an IPv6 network, since route aggregation type routing advertisement is performed, it may be difficult to use a PI address. Even in this case, if an address assigned by any ISP is used, this embodiment Can be applied. Of course, this embodiment may be applied using a PI address in an IPv6 network.

URの第1のインタフェースは、ISP−Aから割り当てられたアドレスURaを有し、URの第2のインタフェースはISP−Bから割り当てられたアドレスURbを有する。URaの上位所定ビットはAであり、URbの上位所定ビットはBである。   The first interface of UR has an address URa assigned from ISP-A, and the second interface of UR has an address URb assigned from ISP-B. The upper predetermined bit of URa is A, and the upper predetermined bit of URb is B.

本実施形態においては、ユーザネットワークのホスト宛にパケットを送信したい送信元ホストS1は、そのパケットの宛先にP(X)をプレフィックスとするアドレスXを書き込んで、インターネットに送出する。DR1〜DR4はいずれも、自身のアドレスとは別に、P(X)をインターネット内に広告している。したがって、S1を発した宛先P(X)のパケットは、最初に到達したDR(S1から最も近いDRであり、この図の例ではDR1)に吸い込まれる。このS1からDR1へのパケット配送は、anycastと呼ばれる技術を利用したものである。   In the present embodiment, the transmission source host S1 that wants to transmit a packet addressed to the host of the user network writes the address X prefixed with P (X) at the destination of the packet and sends it to the Internet. Each of DR1 to DR4 advertises P (X) in the Internet separately from its own address. Therefore, the packet of the destination P (X) that issued S1 is sucked into the DR that arrives first (the DR that is closest to S1, DR1 in the example of this figure). The packet delivery from S1 to DR1 uses a technique called “anycast”.

DR1内には、図3に例示するような検索テーブルが記憶されており、上記のようにP(X)を宛先とするパケットを受信すると、そのパケット内の情報(宛先アドレス/ポート、送信元アドレス/ポート、プロトコルID等の少なくとも一部)を検索キーとして、検索テーブルを参照する(詳細後述)。すると、DR1は、受信したP(X)宛のパケットを転送できる経路として、DR1からISP−AとリンクAを通ってURに至る経路(図2中、実線矢印)と、DR1からISP−BとリンクBを通ってURに至る経路(図2中、点線矢印)とが存在することが、特定できる。このように、二つ以上の経路が検索テーブルに記憶されている場合、DR1は、受信したP(X)宛のパケットの冗長パケット(複製パケットもしくは誤り訂正パケット)を作成する。そして、複製パケットが作成される場合、URは、リンクAを通る経路とリンクBを通る経路のいずれにおいてもパケットロスがなければ、両方の経路から同一のパケットを二つ受信するので、そのうち一つを廃棄する。一方の経路でパケットロスがあれば、他方の経路からパケットを一つ受信する。   A search table as illustrated in FIG. 3 is stored in DR1, and when a packet destined for P (X) is received as described above, information (destination address / port, transmission source) in the packet is received. The search table is referenced using at least a part of the address / port, protocol ID, etc.) as a search key (details will be described later). Then, DR1 is a route through which a packet addressed to P (X) can be transferred, a route from DR1 through ISP-A and link A to UR (solid arrow in FIG. 2), and DR1 to ISP-B. And a path (indicated by a dotted arrow in FIG. 2) that reaches the UR through the link B can be specified. As described above, when two or more routes are stored in the search table, DR1 creates a redundant packet (duplicate packet or error correction packet) of the received packet addressed to P (X). When a duplicate packet is created, the UR receives two identical packets from both routes if there is no packet loss in either the route passing through the link A or the route passing through the link B. Discard one. If there is a packet loss on one path, one packet is received from the other path.

誤り訂正パケットの作成は、例えばリードソロモン符号のように、前方誤り訂正(Forward Error Correction)ができる符号化を利用して行なわれる。リードソロモン符号では、送信側でn個のパケット(これを元パケットと呼ぶ)のデータに基づいてk個の誤り訂正パケットを作成し、合計n+k個のパケットを転送する。そして、n個の元パケットのうちm個が途中で紛失し、受信側に届かなかったとしても、受信側にm個の誤り訂正パケットが届いていれば、受信したn−m個の元パケットとm個の誤り訂正パケットに基づいて、紛失したm個の元パケットが復元できる(但しm≦k)。本実施形態においては、DR1からは、n+k個のパケット(元パケットと誤り訂正パケット)が、リンクAを通る経路とリンクBを通る経路に分散して転送され、URにおいて、リンクAから受信したパケットとリンクBから受信したパケット(元パケットでも誤り訂正パケットでも良い)が合わせてn個以上あれば、紛失したパケットは復元できるので、n個の元パケットが受信できたことになる。このように、前方誤り訂正をかけて、複数の経路を利用することで、バースト誤りに強いパケット転送が可能になる。   The error correction packet is created by using a coding capable of forward error correction, such as a Reed-Solomon code. In the Reed-Solomon code, k error correction packets are created on the transmission side based on data of n packets (referred to as original packets), and a total of n + k packets are transferred. Then, even if m of n original packets are lost on the way and do not reach the receiving side, if m error correction packets have arrived at the receiving side, the received nm original packets And m error-corrected packets, m lost original packets can be recovered (where m ≦ k). In the present embodiment, from DR1, n + k packets (original packet and error correction packet) are distributed and transferred to a route passing through link A and a route passing through link B, and received from link A in the UR. If there are n or more packets and packets received from link B (which may be original packets or error correction packets), lost packets can be recovered, so that n original packets can be received. Thus, by applying forward error correction and using a plurality of paths, packet transfer resistant to burst errors can be performed.

送信元ホストS2が、ユーザネットワークのホスト宛にパケットを送信したい場合も、同様に、P(X)を宛先とするパケットをインターネットに送出すれば、S2に最も近いDR2がこのパケットを受信する。そして、DR2も、P(X)宛のパケットに関して、DR1と同様な検索テーブルを記憶しているので、このテーブルをパケット内の情報を検索キーとして参照した結果に従い、DR2からISP−AとリンクAを通ってURに至る経路(図2中、点線矢印)と、DR2からISP−BとリンクBを通ってURに至る経路(図2中、実線矢印)とを特定し、冗長パケットを作成し、元パケットと冗長パケット(複製パケットもしくは誤り訂正パケット)とを、二つの経路に分散して転送する。   Similarly, when the transmission source host S2 wants to transmit a packet addressed to the host of the user network, if the packet destined for P (X) is sent to the Internet, the DR2 closest to S2 receives this packet. Since DR2 also stores a search table similar to DR1 with respect to the packet addressed to P (X), DR2 links ISP-A with ISP-A according to the result of referring to the information in the packet as a search key. Create a redundant packet by specifying the route from A to UR through A (dotted line arrow in Fig. 2) and the route from DR2 to ISP-B and link B to UR (solid arrow in Fig. 2) Then, the original packet and the redundant packet (replicated packet or error correction packet) are distributed and transferred to two paths.

送信元ホストS3が、ユーザネットワークのホスト宛にパケットを送信したい場合も、DR3が、DR1やDR2と同様な検索テーブルを記憶していて、同様の手順で経路の特定と、元パケット及び冗長パケットの分散転送とが行われる。上述した経路の特定と分散転送は、いずれもパケット単位で行われる。   Even when the transmission source host S3 wants to transmit a packet to the host of the user network, the DR3 stores a search table similar to that of the DR1 and DR2, and specifies the route, the original packet and the redundant packet in the same procedure. Distributed transfer. Both the above-described route specification and distributed transfer are performed in units of packets.

なお、上記の各DRで行われる経路の特定とは、実際には、パケットがDRからURまで仮想的なトンネルにより転送されると想定した場合の、トンネルの出口(リンクAとリンクBのうちどちらを通ってURに到達するか)を決定することである。この仮想的なトンネルは、入口(DR)と出口(URの第1もしくは第2のインタフェース)が規定されれば足りるものであり、その間に経由すべき複数のルータ(図示しないもの)までを入口(DR)で指定する必要はない。このような仮想的なトンネルは、例えば図4(a)〜(c)に示す3通りの方法により形成することができる。   Note that the route identification performed in each DR described above is actually the exit of the tunnel (out of link A and link B) assuming that the packet is transferred from the DR to the UR through a virtual tunnel. Which way to reach the UR). This virtual tunnel is sufficient if the entrance (DR) and the exit (the first or second interface of the UR) are defined, and the entrance to a plurality of routers (not shown) to be routed between them is sufficient. (DR) need not be specified. Such a virtual tunnel can be formed by, for example, three methods shown in FIGS.

図4(a)は、IPパケットのカプセル化を利用するものであり、例えばDR1で受信したパケット(Xが宛先で、S1が送信元)に、次のように新たなIPヘッダを追加する。DR1で検索テーブルを参照した結果、トンネルの宛先(パケットの転送先)としてURaが得られれば、追加するIPヘッダの宛先をURa、送信元をDR1とする。すると、インターネット内のルータは宛先URaに基づいてこのパケットを転送するので、このパケットはリンクAを通ってURに到着する。URでは、DRで新たに追加されたIPヘッダを取り除き、元のパケットの宛先Xを参照して、ユーザネットワーク内の宛先ホストへこのパケットを転送する。   FIG. 4A uses IP packet encapsulation. For example, a new IP header is added to a packet (X is a destination and S1 is a transmission source) received by DR1 as follows. If URa is obtained as a tunnel destination (packet transfer destination) as a result of referring to the search table in DR1, the destination of the IP header to be added is URa and the transmission source is DR1. Then, since the router in the Internet transfers this packet based on the destination URa, the packet arrives at the UR through the link A. In the UR, the IP header newly added in the DR is removed, the destination X of the original packet is referred to, and this packet is transferred to the destination host in the user network.

図4(b)は、MPLSの技術を利用するものであり、トンネルの入口から出口まで、ネットワーク層より下位層の情報(ラベル)を参照するだけで(IPアドレスを参照せずに)パケットが転送できるように、ラベルスイッチングパスが設定される。ラベルスイッチングパス(LSP)は、DRからURa(URの第1のインタフェース)へのパスと、DRからURb(URの第2のインタフェース)へのパスの2本だけが、常時設定してあるのでも良いが、さらに細かい粒度のパケットフローに対応させて、様々なLSPを必要に応じて設定するのでも良い。   FIG. 4 (b) uses MPLS technology. By referring to the information (label) below the network layer from the entrance to the exit of the tunnel, the packet is sent (without referring to the IP address). A label switching path is set so that it can be transferred. There are only two label switching paths (LSPs), the path from DR to URa (UR first interface) and the path from DR to URb (UR second interface). However, various LSPs may be set as necessary in accordance with a packet flow with a finer granularity.

前者の場合、DRの検索テーブルにトンネルの宛先(パケットの転送先)として記憶されるラベルの値は2種類であり、ラベルAを選択することがリンクAを通る経路を選択することを意味し、ラベルBを選択することがリンクBを通る経路を選択することを意味する。   In the former case, there are two types of label values stored as tunnel destinations (packet forwarding destinations) in the DR search table, and selecting label A means selecting a route through link A. , Selecting label B means selecting a route through link B.

後者の場合、同じURa(リンクA)を経由するパケットフローであっても、特定の宛先ホストに対するパケットフロー専用のLSPを、その他の宛先ホストに対するパケットフローを収容するLSPとは別に設定したり、音声通話のデータを運ぶ(特定のプロトコルIDの)パケットフロー専用のLSPを、その他のデータを運ぶパケットフローを収容するLSPとは別に設定したり、宛先/送信元、アドレス/ポート、プロトコルIDの任意の組合せに対する専用のLSPを設定することができる。この場合は、DRの検索テーブルには、検索キーとして細かい粒度のパケットフローを規定する情報が記憶され、これら各パケットフローに対応してそれぞれのLSPのラベルが記憶されることになる。   In the latter case, even for packet flows that pass through the same URa (link A), an LSP dedicated to a packet flow for a specific destination host may be set separately from an LSP that accommodates packet flows for other destination hosts, The LSP dedicated to the packet flow (of a specific protocol ID) carrying voice call data can be set separately from the LSP accommodating the packet flow carrying other data, or the destination / source, address / port, protocol ID A dedicated LSP for any combination can be set. In this case, in the DR search table, information defining a fine granularity packet flow is stored as a search key, and the label of each LSP is stored corresponding to each packet flow.

そして、例えばDR1で、Xが宛先であるパケットを受信すると、パケットを下位層(例えばデータリンク層)のフレームに分解し、各フレームに、検索テーブルを参照して得られるラベル(例えばリンクAを通るLSPのものとする)を付加する。すると、インターネット内のルータはそのラベルに基づいてこれらのフレームをネットワーク層より下位層で転送し、各フレームはリンクAを通ってURに到着する。URでは、ラベルを取り除き、フレームを元のパケットに組み立て、元のパケットの宛先Xを参照して、ユーザネットワーク内の宛先ホストへこのパケットを転送する。   Then, for example, in DR1, when a packet whose destination is X is received, the packet is broken down into lower layer frames (for example, data link layer), and a label (for example, link A) obtained by referring to the search table is assigned to each frame. Add LSP to pass). Then, the router in the Internet transfers these frames in a layer lower than the network layer based on the label, and each frame arrives at the UR through the link A. In the UR, the label is removed, the frame is assembled into the original packet, the destination X of the original packet is referenced, and the packet is transferred to the destination host in the user network.

図4(c)は、トンネルの入口でアドレス変換を、出口でその逆変換を行うものであり、例えばDR1で受信したパケット(Xが宛先で、S1が送信元)の宛先アドレスを、次のように変換する。DR1で検索テーブルを参照した結果、トンネルの宛先(パケットの転送先)としてA(ユーザネットワークがISP−Aから割り当てられたアドレスプレフィックス)が得られたとすると、宛先アドレスXのうちの上位所定ビットをP(X)からAに置き換える。すると、インターネット内のルータは宛先アドレスプレフィックスAに基づいてこのパケットを転送するので、このパケットはリンクAを通ってURに到着する。   FIG. 4 (c) shows address conversion at the entrance of the tunnel and reverse conversion at the exit. For example, the destination address of the packet received at DR1 (X is the destination and S1 is the source) Convert as follows. If A (address prefix assigned by the user network from ISP-A) is obtained as a tunnel destination (packet transfer destination) as a result of referring to the search table in DR1, the upper predetermined bits of the destination address X are Replace P (X) with A. Then, since the router in the Internet forwards this packet based on the destination address prefix A, the packet arrives at the UR through the link A.

アドレス変換方式を採用する場合のURでは、プレフィックスAを宛先アドレスに含むIPパケットを受信すると、受信したパケットの宛先アドレスのうちの上位所定ビットをAからP(X)に置き換える。すると、元のパケットの宛先アドレスが復活するので、この宛先Xを参照して、ユーザネットワーク内の宛先ホストへこのパケットを転送する。URは、プレフィックスBを宛先アドレスに含むIPパケットを受信した場合も、宛先アドレスの上位所定ビットをBからP(X)に置き換える。図4(c)の場合、トンネルを通っている間のパケットからはP(X)の情報は失われているので、トンネルの出口のURが、失われた情報を復活するために、AやBをP(X)に変換するためのアドレス変換表を、予め記憶している。   In the UR in the case of adopting the address conversion method, when an IP packet including the prefix A in the destination address is received, the upper predetermined bit in the destination address of the received packet is replaced from A to P (X). Then, since the destination address of the original packet is restored, the destination X is referred to and the packet is transferred to the destination host in the user network. When the UR receives an IP packet including the prefix B in the destination address, the UR replaces the upper predetermined bit of the destination address from B to P (X). In the case of FIG. 4 (c), since the information of P (X) is lost from the packet while passing through the tunnel, the UR at the exit of the tunnel can use A or An address conversion table for converting B into P (X) is stored in advance.

アドレス変換方式においては、P(X)をAもしくはBに変換するDRと、AもしくはBをP(X)に変換するURで、変換先のアドレスの数が足りないためにマッピングが取れないと動作が困難になるので、P(X)、A、Bのそれぞれのプレフィックスに含まれるアドレスの数が同じに(もしくはA,Bの方が多く)なるように、ISP−A及びBからのアドレス割り当てを受けることになる。アドレス変換方式の利点は、IPパケットカプセル化のようにヘッダを追加するわけではないため、一つのパケットに入るデータの量がトンネルに入る前後で変化することがなく、追加ヘッダの分入らなくなったデータを多数のパケットに分割して送らなければならなくなることもないことである。   In the address translation method, the DR that converts P (X) to A or B and the UR that converts A or B to P (X) cannot be mapped because the number of destination addresses is insufficient. Since the operation becomes difficult, the addresses from ISP-A and B so that the number of addresses included in the prefixes of P (X), A, and B are the same (or A and B are larger). You will be assigned. The advantage of the address translation method is that a header is not added unlike IP packet encapsulation, so the amount of data entering one packet does not change before and after entering the tunnel, and the additional header is not included. It is not necessary to divide the data into many packets and send them.

なお、図3の検索テーブルを参照する際、各DRは、受信したパケットのヘッダの内容を検索キーとして、最も良く一致するエントリを探す(この方法を「ベストマッチ」と呼ぶ)。二つの経路に元パケット及び冗長パケットを分散したい場合には、最も良く一致するエントリが二つあれば、それらを出力し、一つしかなければ、次に良く一致するエントリを探して、合計二つを出力する。三つ以上の経路に分散したい場合は、同様に、最も良く一致するエントリから順に、必要な数だけエントリを探す。図3の例では、P(X)=10.1.1.x宛のパケットを受信して、そのパケットの宛先アドレスが10.1.1.2であれば、トンネルの宛先としてURaとURbの二つが出力される。そして、両方の経路のそれぞれにおいて、図4(a)の方式でパケットが転送される。   When referring to the search table of FIG. 3, each DR searches for the best matching entry using the content of the header of the received packet as a search key (this method is called “best match”). If you want to distribute the original packet and redundant packet to two routes, if there are two best matching entries, output them, and if there is only one, search for the next best matching entry and find a total of two entries. Output one. Similarly, when it is desired to distribute to three or more routes, the necessary number of entries are searched in order from the best matching entry. In the example of FIG. 3, if a packet addressed to P (X) = 10.1.1.x is received and the destination address of the packet is 10.1.1.2, two tunnel destinations, URa and URb, are output. . Then, in each of both routes, the packet is transferred by the method of FIG.

また、DRからURbへのLSPであって、Web通信のパケットフロー用に設定されたもののラベルの値が100であるとすると、図3を参照することにより、受信したパケットのポート番号やプロトコルIDがWeb通信を表わすものであれば、トンネルの宛先としてベストマッチしたラベル100が出力される。加えて、P(X)=10.1.1.x宛のパケットであれば何でも入れることのできるDRからURaへのLSPのラベルの値が200であるとすると、セカンドベストマッチであるラベル200も出力される。そして、両方の経路のそれぞれにおいて、図4(b)の方式でパケットが転送される。   Also, assuming that the LSP from DR to URb and set for the packet flow of Web communication has a label value of 100, the port number and protocol ID of the received packet can be obtained by referring to FIG. If is representative of Web communication, the best matching label 100 is output as the tunnel destination. In addition, if the value of the LSP label from DR to URa that can contain any packet addressed to P (X) = 10.1.1.x is 200, the label 200 that is the second best match is also output. Is done. Then, in each of both routes, the packet is transferred by the method of FIG.

さらに、図3の例では、受信したパケットの送信元ネットワークが2.2.2.xであれば、トンネルの宛先としてベストマッチしたプレフィックスBが出力され、セカンドベストマッチであるプレフィックスAも出力される。そして、両方の経路のそれぞれにおいて、図4(c)の方式でパケットが転送される。   Further, in the example of FIG. 3, if the source network of the received packet is 2.2.2.x, the prefix B that is the best match is output as the tunnel destination, and the prefix A that is the second best match is also output. Then, in each of both routes, the packet is transferred by the method of FIG.

図3には、各DRが複数種類のトンネルを扱えるものである場合の検索テーブルの例を示したが、各DRが扱えるトンネルの種類が単一であっても良く、例えばIPカプセル化のみに対応するDRであれば、検索テーブルからはURaとURbが出力されることになる。また、上記には、検索キー全体に対するベストマッチでテーブルのエントリを選択する例を説明したが、検索キーのうち宛先アドレスの部分のみベストマッチで、残りの部分(ポートや送信元など)はテーブルの上から順に参照して行って最初に一致したエントリと次に一致したエントリを選択するようにしても良い。あるいは、検索キー全体に対して、テーブルの最初の方でマッチしたエントリから順に(ベストマッチかどうかに拘らず)選択するようにしても構わない。   FIG. 3 shows an example of a search table when each DR can handle a plurality of types of tunnels. However, a single tunnel type can be handled by each DR. For example, only for IP encapsulation. For the corresponding DR, URa and URb are output from the search table. In the above description, the table entry is selected with the best match for the entire search key. However, only the destination address portion of the search key is the best match, and the remaining portion (port, source, etc.) is the table. The first matching entry and the next matching entry may be selected by referring to the items in order from the top. Alternatively, the entire search key may be selected sequentially (regardless of whether it is the best match) from the first matching entry in the table.

上記のベストマッチした経路を本来の経路として、上記のセカンドベストマッチの経路をバックアップの経路として、使用することも可能である。ベストマッチした経路が複数ある場合には、任意の一つを本来の経路とし、他をバックアップの経路とすればよい。例えば、通常の状況下では、本来の経路一つだけを用いて(冗長パケットを作成せずに)パケット転送しており、特殊な状況が生じたとき(例えば、特にパケット再送を避けたいアプリケーションのパケットフローを転送するときや、パケットロスが多くユーザネットワークから多重転送をリクエストされたときなど)に、本来の経路に加えてバックアップの経路を用いて、多重にパケット(元パケットと冗長パケット)転送をするように、切り替えることが可能である。また、常に多重転送を行う例においては、冗長パケットとして複製パケットを転送する場合は、元パケットと同一のパケットであるため、どちらをどの経路で転送するか区別する必要はないが、冗長パケットとして誤り訂正パケットを転送する場合には、元パケットを本来の経路で、誤り訂正パケットをバックアップの経路でという使い分けをすることがあり得る。   It is also possible to use the best-matched route as an original route and the second best-matched route as a backup route. If there are a plurality of best-matched paths, any one may be the original path and the other may be the backup path. For example, under normal circumstances, packets are transferred using only one original route (without creating redundant packets), and when a special situation occurs (for example, an application that wants to avoid packet retransmission in particular). When transferring packet flows or when there is a lot of packet loss and a multiplex transfer is requested from the user network, the backup route is used in addition to the original route, and packets (original packets and redundant packets) are transferred. It is possible to switch to do. In the case of always performing multiplex transfer, when a duplicate packet is transferred as a redundant packet, it is the same packet as the original packet, so there is no need to distinguish which route is used for transfer. When transferring an error correction packet, the original packet may be used on the original route and the error correction packet may be used on the backup route.

図2で説明した例では、全てのDRが、冗長パケットを作成し、ユーザネットワークに対する二つの経路(リンクA,B)を使用する機能を有する。すなわち、全てのDRが、図3のようなP(X)宛のパケットについての検索テーブルを有する。この方式の場合、ユーザネットワークは実際には複数あるため、図5(a)に示すように、全てのDRがそれぞれ全てのユーザネットワークについて、複数経路の情報(図3の検索テーブル)を持つことになり、各DRの検索テーブルの情報量や後述するDR間のメッセージ交換の量が多くなる。   In the example described with reference to FIG. 2, all DRs have a function of creating redundant packets and using two routes (links A and B) to the user network. That is, all DRs have a search table for packets addressed to P (X) as shown in FIG. In this method, since there are actually a plurality of user networks, as shown in FIG. 5A, all DRs have information on multiple paths (search table in FIG. 3) for all user networks. Thus, the amount of information in the search table of each DR and the amount of message exchange between DRs described later increase.

これに対し、図5(b)に示すように、一つのユーザネットワークに対する複数経路を、全てのDRが有するのではなく、特定のDRが有するようにすれば、各DRの検索テーブルを小さくすることができる。すなわち、あるユーザネットワーク宛のパケットを特定のDR以外が受信した場合、そのパケットを特定のDRに向けて転送する。そして、パケットが特定のDRに到達すると、その特定のDRが、冗長パケットを作成し、宛先のユーザネットワークへの複数の経路を使用する。この方式では、各DRは、自身が担当するユーザネットワークについては、複数経路の情報(図3の検索テーブル)を持つが、それ以外のユーザネットワークについては他のDRへパケットを転送するだけで済む。   On the other hand, as shown in FIG. 5B, if a specific DR does not have a plurality of paths for one user network but all DRs have a search table for each DR. be able to. That is, when a packet addressed to a certain user network is received by a device other than the specific DR, the packet is transferred to the specific DR. When the packet reaches a specific DR, the specific DR creates a redundant packet and uses a plurality of routes to the destination user network. In this method, each DR has information on a plurality of routes (the search table in FIG. 3) for the user network that it is in charge of, but it is only necessary to transfer packets to other DRs for other user networks. .

図5(b)の場合のパケット転送の例を、図6に示す。ユーザネットワークのホスト宛にパケットを送信したい送信元ホストS1,S2,S3が、そのパケットの宛先にP(X)をプレフィックスとするアドレスXを書き込んで、インターネットに送出すると、最も送信元に近いDR(S1からの場合DR1、S2からの場合DR2、S3からの場合DR3)に配送されるのは、図2の場合と同様である。   FIG. 6 shows an example of packet transfer in the case of FIG. When the source hosts S1, S2, and S3 that want to send a packet to the host of the user network write the address X prefixed with P (X) to the destination of the packet and send it to the Internet, the DR that is closest to the source Delivery to (DR1 from S1, DR2 from S2, DR3 from S3) is the same as in FIG.

DR1は、ユーザネットワークP(X)を担当するDRであるので、S1から受信したパケットを基に、図3の検索テーブルを参照して、DR1からISP−AとリンクAを通ってURに至る経路(図6中、実線矢印)と、DR1からISP−BとリンクBを通ってURに至る経路(図6中、点線矢印)を特定し、冗長パケットを作成して、元パケットと冗長パケットを両方の経路を分散して転送する。なお、上述したように、通常の状況下では、二つの経路のうちいずれか一方を選択してパケットを転送しており、特殊な状況が生じたときに、他方の経路をバックアップとして追加して、冗長パケットの作成と分散転送をするようにしてもよい。   Since DR1 is a DR in charge of the user network P (X), the DR1 reaches the UR through the ISP-A and the link A with reference to the search table of FIG. 3 based on the packet received from the S1. A route (solid arrow in FIG. 6) and a route from DR1 through ISP-B and link B to UR (dotted arrow in FIG. 6) are identified, a redundant packet is created, and an original packet and a redundant packet are created. To distribute both routes. As mentioned above, under normal circumstances, one of the two routes is selected to transfer the packet, and when a special situation occurs, the other route is added as a backup. Alternatively, redundant packets may be created and distributedly transferred.

DR2も、ユーザネットワークP(X)を担当するDRであるので、S2から受信したパケットを基に、図3の検索テーブルを参照して、DR2からISP−AとリンクAを通ってURに至る経路(図6中、点線矢印)と、DR2からISP−BとリンクBを通ってURに至る経路(図6中、実線矢印)を特定し、冗長パケットを作成して、元パケットと冗長パケットを両方の経路を分散して転送する。   Since DR2 is also a DR that takes charge of the user network P (X), referring to the search table in FIG. 3 based on the packet received from S2, the DR2 reaches the UR through the ISP-A and the link A. A route (indicated by a dotted line in FIG. 6) and a route from DR2 through ISP-B and link B to a UR (indicated by a solid line in FIG. 6) are identified, a redundant packet is created, and an original packet and a redundant packet are created. To distribute both routes.

DR3は、ユーザネットワークP(X)を担当するDRではないので、S3からP(X)宛のパケットを受信すると、ルーティングテーブルを検索し、DR2のアドレスを得る。DR2は、予め、自身がP(X)宛のパケットについて複数経路の選択を行うことを、他のDRに通知しているので、DR3のルーティングテーブルは、P(X)をキーとして検索するとDR2のアドレスが出力されるように、設定されているのである。よって、S3からのP(X)宛のパケットは、DR3からDR2へ転送され、DR2で、上述したようにパケットと経路の多重化が行われる。   Since DR3 is not the DR in charge of the user network P (X), when a packet addressed to P (X) is received from S3, the routing table is searched to obtain the address of DR2. Since DR2 notifies other DRs that it selects a plurality of routes for a packet addressed to P (X) in advance, the DR3 routing table searches for DR2 using P (X) as a key. It is set so that the address is output. Therefore, the packet addressed to P (X) from S3 is transferred from DR3 to DR2, and the packet and the path are multiplexed in DR2 as described above.

DR4も、ユーザネットワークP(X)を担当するDRではないので、近くの送信元ホストからP(X)宛のパケットを受信すると、ルーティングテーブルを検索し、DR2のアドレスを得る。DR4のルーティングテーブルにも、DR2がP(X)宛のパケットについて複数経路の選択を行うことを他のDRに予め通知することにより、P(X)とDR2の対応が設定されている。なお、ここでは、DR4から直接DR2へ、P(X)宛のパケットが転送される例を挙げたが、DR4からDR3へパケットが転送され、さらにDR3からDR2へパケットが転送されるようにしても良い。そのためには、DR2がP(X)とDR2の対応を他の全てのDRに通知するのではなく、近くのDR(例えばDR3)に通知し、これを受けたDR3がさらに近くのDR(例えばDR4)に、P(X)と自身(DR3)の対応を通知すれば良い。   Since DR4 is not the DR in charge of the user network P (X), when a packet addressed to P (X) is received from a nearby transmission source host, the routing table is searched to obtain the address of DR2. Also in the routing table of DR4, the correspondence between P (X) and DR2 is set by notifying the other DR in advance that DR2 selects a plurality of routes for a packet addressed to P (X). In this example, the packet addressed to P (X) is directly transferred from DR4 to DR2, but the packet is transferred from DR4 to DR3 and further transferred from DR3 to DR2. Also good. For this purpose, DR2 does not notify the correspondence between P (X) and DR2 to all other DRs, but notifies a nearby DR (for example, DR3), and DR3 that receives this notifies DR (for example) that is closer. The correspondence between P (X) and itself (DR3) may be notified to DR4).

以上には、図2や図6において、ユーザネットワークに流入するパケットを転送する方法について説明したが、同図において、ユーザネットワークからインターネットへ流出するパケットの転送は、次のようにすれば良い。例えばユーザネットワーク内のホストが、S2へ向けてパケットを送出したい場合、宛先をS2とし、送信元をXとするパケットを、URが第1のインタフェースからISP−A経由で、もしくは第2のインタフェースからISP−B経由で、インターネットへ送出すれば良い。   The method for transferring a packet flowing into the user network has been described above with reference to FIGS. 2 and 6. In FIG. 2, the transfer of the packet flowing from the user network to the Internet may be performed as follows. For example, when a host in the user network wants to send a packet to S2, a packet whose destination is S2 and whose transmission source is X is sent from the first interface via ISP-A or the second interface. To the Internet via ISP-B.

但し、ISPが入力フィルタを行い、自ISPが割り当てたIPアドレスを送信元とするパケット以外は自ISPを経由させないように設定している場合であって、アドレスXが経由させたいISPから割り当てられたアドレスでない場合は、URが、DRへ上流方向の(図中の矢印とは逆の)トンネルを設定して、そこにパケットを転送する。上流方向へのトンネルが設定されるのは、例えば、P(X)としてISP−AのプレフィックスAを使用している場合にISP−B経由で送出したいときや、P(X)としてPIアドレスプレフィックスを使用している場合である。上流方向へのトンネルは、図4(a)〜(c)の3通りの方法で実現でき、URが図中のDRと同様な動作によりパケットを転送し、DRが図中のURと同様な動作によりパケットを転送することになる。なお、ここでは上流方向へのトンネルの設定が必要となる場合を説明したが、不要な場合であっても、上流方向へのトンネルを設定して勿論構わない。   However, when the ISP performs an input filter and the setting is made so that packets other than the packet whose source is the IP address assigned by the ISP are not passed through the ISP, the address X is assigned by the ISP to be passed through. If the address is not the same address, the UR establishes a tunnel in the upstream direction (opposite to the arrow in the figure) to the DR and forwards the packet there. The tunnel in the upstream direction is set when, for example, when using ISP-A prefix A as P (X), when sending via ISP-B, or as P (X) PI address prefix This is the case. The tunnel in the upstream direction can be realized by the three methods shown in FIGS. 4A to 4C. The UR transfers a packet by the same operation as the DR in the figure, and the DR is the same as the UR in the figure. The packet is transferred by the operation. Here, a case has been described in which it is necessary to set a tunnel in the upstream direction. However, a tunnel in the upstream direction may be set even if it is not necessary.

URの第1のインタフェースからISP−Aを経由してDR1に至るトンネルと、URの第2のインタフェースからISP−Bを経由して同じDR1に至るトンネルとが設定されている場合、URは、ユーザネットワーク内の送信元ノードから受信したパケットの冗長パケットを作成し、元パケットと冗長パケットを二つのトンネルに分散させて転送することが可能である。この場合、DR1で、重複パケットの廃棄もしくは誤り訂正パケットを用いた紛失パケットの復元を行う。   When a tunnel from the first interface of UR to DR1 via ISP-A and a tunnel from the second interface of UR to ISP1 through DR-B are set, UR It is possible to create a redundant packet of a packet received from a transmission source node in the user network and distribute the original packet and the redundant packet in two tunnels and transfer them. In this case, DR1 discards duplicate packets or restores lost packets using error correction packets.

図7には、図2や図6のようなパケット転送を実現するためにURやDRが行う、メッセージ交換の様子を例示する。なお、メッセージ交換は、インターネットにおいて別の目的で規定されたプロトコルを流用して行なっても良いし、本実施形態のUR及びDR用に新たなプロトコルを規定しても良い。また、それぞれのURやDRにおいて、上述したパケット転送を行うネットワーク層処理のためのモジュールと、後述するメッセージ交換をトランスポート層以上の層で動くプロトコルを使用して行うモジュールとを、別個に設けても良い。   FIG. 7 illustrates the state of message exchange performed by the UR and DR in order to realize packet transfer as shown in FIG. 2 and FIG. Note that the message exchange may be performed by diverting a protocol defined for another purpose on the Internet, or a new protocol may be defined for the UR and DR of this embodiment. In each UR and DR, a module for network layer processing that performs the packet transfer described above and a module that performs message exchange described later using a protocol that operates in a layer higher than the transport layer are separately provided. May be.

まず、URが、自身のP(X)とURa及びURbとの対応を登録するためのメッセージを、DRへ送信する。この登録メッセージは、anycastを用いて送信される。すなわち、URが発する登録メッセージは、URに最も近いDRに受信されそこで処理される。URは、anycastではなくユニキャストで、登録メッセージを送信しても良い。ユニキャストを用いる場合は、URに予め登録されている一つまたは複数のDRのアドレスを宛先として、送信する。   First, the UR transmits a message for registering the correspondence between its own P (X) and URa and URb to the DR. This registration message is transmitted using anycast. That is, the registration message issued by the UR is received by the DR closest to the UR and processed there. The UR may transmit the registration message by unicast instead of anycast. When unicast is used, transmission is performed with one or more DR addresses registered in advance in the UR as the destination.

この登録メッセージの送り方には、次の二通りがあり得る。一つは、URが、リンクA(第1のインタフェース)からは、第1のインタフェースのアドレスURaとP(X)の対応を、リンクB(第2のインタフェース)からは、第2のインタフェースのアドレスURbとP(X)の対応を送信するやり方である。もう一つは、URが、いずれか一つのリンク(例えばリンクA)を選択し、選択したリンクから複数のアドレス(URaとURb)とP(X)の対応を送信するやり方である。   The registration message can be sent in the following two ways. One is that the UR determines the correspondence between the addresses URa and P (X) of the first interface from the link A (first interface), and the second interface from the link B (second interface). In this method, the correspondence between the addresses URb and P (X) is transmitted. The other is a method in which the UR selects any one link (for example, link A) and transmits a correspondence between a plurality of addresses (URa and URb) and P (X) from the selected link.

いずれの送り方の場合も、URaとURbを同時に登録しなくても良く、前者の場合、リンクAからの登録メッセージとリンクBからのそれとを別々のタイミングで送信できるし、後者の場合、リンクAから二つのメッセージ、すなわちP(X)とURaの対応を登録するメッセージとP(X)とURbの対応を登録するメッセージとを、別々に送信するのでも構わない。   In any of the sending methods, it is not necessary to register URA and URb at the same time. In the former case, the registration message from link A and that from link B can be transmitted at different timings. Two messages from A, that is, a message for registering the correspondence between P (X) and URa and a message for registering the correspondence between P (X) and URb may be transmitted separately.

両方のリンクを用いる送り方の場合、URを発した登録メッセージA(P(X)とURaの対応)は、ISP−A経由で最も近いDR1に吸い込まれ、登録メッセージB(P(X)とURbの対応)は、ISP−B経由で最も近いDR2に吸い込まれる。DR1とDR2は、後述するように登録情報の共有を行うので、DR1にもDR2にも、P(X)とURa及びURbの対応が登録されることになる。各DRは、この登録情報を用いて、図3のような検索テーブルを生成することができる。後述する通信環境に関する情報やURからの指示情報を用いて、図3の検索テーブルを更新することも可能である。   In the case of sending using both links, the registration message A (corresponding to P (X) and URa) that issued UR is sucked into the nearest DR1 via ISP-A, and registration message B (P (X) and URb correspondence) is sucked into the nearest DR2 via ISP-B. Since DR1 and DR2 share registration information as will be described later, correspondence between P (X) and URa and URb is registered in both DR1 and DR2. Each DR can generate a search table as shown in FIG. 3 using this registration information. It is also possible to update the search table in FIG. 3 by using information related to a communication environment, which will be described later, and instruction information from the UR.

片方のリンク(例えばリンクA)を用いる送り方の場合、URを発した登録メッセージ(P(X)とURa及びURbの対応)は、ISP−A経由で最も近いDR1に吸い込まれる。すると、DR1には、P(X)とURa及びURbの対応が登録され、DR1とDR2は、後述するように登録情報の共有を行うので、DR2にも、同じ対応が登録されることになる。各DRが、この登録情報に基づいて、図3のような検索テーブルを生成することができるのは、上記と同様である。   In the case of sending using one link (for example, link A), the registration message (corresponding to P (X) and URa and URb) that issued the UR is sucked into the nearest DR1 via ISP-A. Then, the correspondence between P (X) and URa and URb is registered in DR1, and since DR1 and DR2 share registration information as will be described later, the same correspondence is also registered in DR2. . Each DR can generate a search table as shown in FIG. 3 based on this registration information, as described above.

各DRにおいて、上述したように一旦登録した対応情報を、維持もしくは削除する一つの方法は、URから定期的に同一内容の登録メッセージを送信することである(この方法をソフトステートと呼ぶことがある)。すると、DRは、その登録メッセージが受信されている限り、登録内容を維持し、受信されなくなったら(最後に登録メッセージを受信してから所定の期間が経過したら)、登録内容を削除する。例えば、P(X)とURbの対応を示す登録メッセージが受信されなくなったら、この対応を削除する(P(X)とURaの対応のみが登録情報として残る)。そして、図3の検索テーブルから、リンクBを通る経路に相当するトンネルの宛先を削除し、残っているリンクAに対するトンネルが選択されるように、検索テーブルを書き換える。この結果、残っているトンネルが二つ以上存在するうちは、上述した冗長パケットの作成と分散転送が可能であるが、残っているトンネルが一つになってしまった場合には、冗長パケットの作成を止め、受信したパケットを一つの経路にそのまま転送する。なお、冗長パケットが誤り訂正パケットである場合には、冗長パケットの作成を継続し、元パケットと誤り訂正パケットの両方を一つの経路に転送するようにしてもよい。   In each DR, as described above, one method for maintaining or deleting the correspondence information once registered is to periodically transmit a registration message having the same contents from the UR (this method may be called a soft state). is there). Then, as long as the registration message is received, the DR maintains the registration content. When the DR is no longer received (when a predetermined period has elapsed since the last reception of the registration message), the DR deletes the registration content. For example, when the registration message indicating the correspondence between P (X) and URb is not received, this correspondence is deleted (only the correspondence between P (X) and URA remains as registration information). Then, the tunnel destination corresponding to the route passing through the link B is deleted from the search table of FIG. 3, and the search table is rewritten so that the tunnel for the remaining link A is selected. As a result, while there are two or more remaining tunnels, it is possible to create and distribute redundant packets as described above. However, if the remaining tunnels become one, The creation is stopped and the received packet is directly transferred to one route. If the redundant packet is an error correction packet, the creation of the redundant packet may be continued and both the original packet and the error correction packet may be transferred to one path.

ソフトステートを採用する場合、上記の両方のリンクを用いる登録メッセージの送り方で、片方のリンク(例えばリンクB)がダウンすると、登録メッセージBはインターネットに到達しなくなる。よって、P(X)とURbの対応情報は、各DRから削除され、各DRの検索テーブルは、残っているリンクAの経路を指し示すようになり、ユーザネットワーク宛のパケットはISP−A経由で転送されるので、インターネットとの接続性が保持される。   When adopting the soft state, when one link (for example, link B) goes down in the way of sending the registration message using both of the above links, the registration message B does not reach the Internet. Accordingly, the correspondence information between P (X) and URb is deleted from each DR, the search table of each DR points to the remaining link A route, and packets addressed to the user network are routed via ISP-A. Since it is transferred, connectivity with the Internet is maintained.

ソフトステートで、上記の片方のリンクを用いる登録メッセージの送り方を採用する場合、片方のリンク(例えばリンクB)がダウンしたことをURが検出すると、URは、P(X)とURa及びURbの対応を登録メッセージとして送出するのを止め、P(X)とURaの対応だけを登録メッセージとして送出する。すると、P(X)とURbの対応情報は、各DRから削除され、各DRの検索テーブルは、残っているリンクAの経路を指し示すようになる。   When the registration message sending method using one of the above links is adopted in the soft state, when the UR detects that one of the links (for example, the link B) is down, the UR detects P (X), URa, and URb. Is sent as a registration message, and only the correspondence between P (X) and URa is sent as a registration message. Then, the correspondence information between P (X) and URb is deleted from each DR, and the search table of each DR indicates the remaining link A path.

登録情報の維持もしくは削除のための別の方法として、URから明示的に削除を依頼するメッセージを送信することとしても良い(この方法をハードステートと呼ぶことがある)。すると、DRは、その削除メッセージが受信されるまでは登録内容を維持し、受信されたら登録内容を削除する。この方法の場合、両方のリンクともダウンしたりUR自体がダウンしたりして通信不能になっている場合も、URからの削除メッセージが受信されないため、そのような場合にまで登録内容を維持することのないように、DRが定期的にURの生存確認を行う。この確認は、本実施形態のメッセージ交換とは別に動作しているプロトコルによる生存確認を、共用しても良い。   As another method for maintaining or deleting registered information, a message requesting deletion explicitly from the UR may be transmitted (this method may be called a hard state). Then, the DR maintains the registered contents until the deletion message is received, and deletes the registered contents when received. In the case of this method, even if both links are down or the UR itself is down and communication is not possible, the deletion message from the UR is not received, so the registered contents are maintained until such a case. In order to prevent this, the DR periodically checks the survival of the UR. This confirmation may be shared with a survival confirmation by a protocol operating separately from the message exchange of the present embodiment.

ハードステートを採用する場合、上記の両方のリンクを用いる登録メッセージの送り方で、片方のリンク(例えばリンクB)がダウンすると、DRが定期的にURbに対して送信している生存確認に応答が返ってこなくなる。これにより、P(X)とURbの対応情報をDRから削除することができ、各DRの検索テーブルが指し示す経路を残っているリンクAに変更することができる。   When adopting the hard state, when one link (for example, link B) goes down in the registration message sending method using both of the above links, DR responds to the survival confirmation periodically sent to URb. Will not return. Thereby, the correspondence information between P (X) and URb can be deleted from the DR, and the path indicated by the search table of each DR can be changed to the remaining link A.

ハードステートで、上記の片方のリンクを用いる登録メッセージの送り方を採用する場合、片方のリンク(例えばリンクB)がダウンしたことをURが検出すると、URは、P(X)とURbの対応を削除するよう指示する削除メッセージをDRに送出する。   When the registration message sending method using one of the above links is adopted in the hard state, if the UR detects that one of the links (for example, the link B) is down, the UR detects the correspondence between P (X) and URb. A delete message instructing to delete is sent to the DR.

以上では、URからDRへ送信する登録メッセージに、ユーザネットワークのプレフィックスP(X)とURaまたはURbとの組を含ませる例を説明したが、登録メッセージには、ユーザネットワークの識別子IxとURaまたはURbとの組を含ませることとし、これを受信したDRにおいて、IxからプレフィックスP(X)を求めることにより、P(X)とURaまたはURbとの対応を登録するようにしても良い。このようにURからの登録メッセージに含ませる情報としてプレフィックスP(X)を用いないことは、次のような利点がある。   In the above, the example in which the registration message transmitted from the UR to the DR includes the pair of the user network prefix P (X) and URa or URb has been described. However, the registration message includes the user network identifier Ix and URa or A pair with URb may be included, and in the DR that has received this, the correspondence between P (X) and URa or URb may be registered by obtaining the prefix P (X) from Ix. Thus, not using the prefix P (X) as information included in the registration message from the UR has the following advantages.

P(X)は、インターネット内の他の多数のルータに広告されるルーティング情報となるので、P(X)に誤りがあると、広範囲に誤動作を引き起こし、ネットワークが機能しなくなる可能性が高い。このようなリスクを低減するため、インターネットの外のユーザであるURから申告される情報をそのままルーティング情報として使用することは、避けることが望ましい。上記のように、DRは、自身が担当するユーザネットワークxを識別子Ixにより識別することとし、URからは、P(X)ではなくIxを申告させ、DRにおいて、IxをP(X)に変換することにより、誤ったP(X)が使用されるリスクを減らすことができる。なお、Ixとしては、例えばURのユーザネットワークにおけるアドレス(P(X)を上位所定ビットに持つURのアドレス)を用いることができる。この場合、DRは、自身が担当するユーザネットワークのP(X)のビット数を予め知っており、受信したIxからそのビット数分だけ上位ビットを抽出することにより、P(X)を得る。また、この登録メッセージ送信用のプロトコルとしては、例えばIETFで標準化されているMobile IPを応用することができ、URをモバイルノード、DRをホームエージェントと見立て、登録メッセージ中のIxをURのホームアドレス、URaまたはURbをURのケア・オブ・アドレスとして扱うことで、DRがP(X)宛てのパケットをURaまたはURbに転送するための登録処理が実現できる。   Since P (X) is routing information advertised to many other routers in the Internet, if there is an error in P (X), there is a high possibility that it will cause a wide range of malfunctions and the network will not function. In order to reduce such a risk, it is desirable to avoid using information reported from a UR as a user outside the Internet as routing information as it is. As described above, the DR identifies the user network x that it is in charge of by the identifier Ix, and the UR reports Ix instead of P (X), and the DR converts Ix to P (X). By doing so, the risk that wrong P (X) is used can be reduced. As Ix, for example, an address in the UR user network (UR address having P (X) in the upper predetermined bits) can be used. In this case, the DR knows in advance the number of bits of P (X) of the user network that it is in charge of, and obtains P (X) by extracting the upper bits by the number of bits from the received Ix. As a protocol for transmitting the registration message, for example, Mobile IP standardized by IETF can be applied, assuming that UR is a mobile node, DR is a home agent, and Ix in the registration message is UR's home address. By treating URa or URb as the care-of address of UR, it is possible to realize a registration process for transferring a packet addressed to P (X) by DR to URa or URb.

また、URから、P(X)を申告させる場合であっても、その登録メッセージを受信したDRにおいて、自身が担当するユーザネットワークの正しいプレフィックスP(X)を予め記憶しておき、登録メッセージに含まれるP(X)と自身が記憶しているP(X)とが一致しているかどうかを検査することが望ましい。検査の結果、一致していれば、P(X)とURaまたはURbとの対応の登録処理を開始するが、不一致であれば、登録メッセージの送信元のURへ、エラーメッセージを返す。   Even when P (X) is reported from UR, the correct prefix P (X) of the user network in charge is stored in advance in the DR that received the registration message, and the registration message It is desirable to check whether the contained P (X) matches with the stored P (X). If the result of the inspection is a match, registration processing for correspondence between P (X) and URa or URb is started. If they do not match, an error message is returned to the UR that sent the registration message.

以上のように、URの発した登録メッセージにより、少なくとも一つのDRに、P(X)とURのアドレスの対応が登録されるため、次には、DR間でこの登録情報を伝達する。図7に示した例では、BGPのルート・リフレクタのような役割をする登録情報サーバを導入し、登録情報サーバが、登録情報を交換するためのDR間のコネクションを集中管理している。これにより、登録情報を全てのDRにフルメッシュ伝達する場合でも、各DRにかかる負荷を低減し、ネットワークの管理を容易にすることができる。別の例として、OSPF(Open Shortest Path First)というルーティングプロトコルのように、登録情報をDR間で伝播させることもできる。   As described above, the correspondence between P (X) and the UR address is registered in at least one DR by the registration message issued by the UR. Next, this registration information is transmitted between the DRs. In the example shown in FIG. 7, a registration information server that functions like a route reflector of BGP is introduced, and the registration information server centrally manages connections between DRs for exchanging registration information. Thereby, even when the registration information is transmitted to all DRs in a full mesh, the load on each DR can be reduced and network management can be facilitated. As another example, registration information can be propagated between DRs, such as a routing protocol called OSPF (Open Shortest Path First).

ここで、図5を用いて説明したように、全てのDRがURに対する経路選択を行う(a)の場合は、上記のDR間で伝達される情報は全て、P(X)とURの複数のアドレスの対応となる。一方、特定のDRがURに対する経路選択を行う(b)の場合、上記のDR間で伝達される情報は、特定のDRに対しては、P(X)とURの複数のアドレスの対応となり、その他のDRに対しては、P(X)と特定のDRのアドレスの対応となる。   Here, as described with reference to FIG. 5, when all DRs perform route selection for UR (a), all of the information transmitted between the DRs is a plurality of P (X) and UR. It corresponds to the address of. On the other hand, in the case of (b) in which a specific DR selects a route for the UR, the information transmitted between the DRs corresponds to a plurality of addresses of P (X) and UR for the specific DR. For other DRs, P (X) corresponds to a specific DR address.

以上に説明したメッセージ交換により、各DRが図3のような検索テーブルを作成する基礎となる登録情報(P(X)とURa及びURbとの対応)が、各DRに記憶される。以下には、DRに対して、複数の転送経路のうちいずれを本来の経路として選択するかを決定する方法について述べる。なお、ここで決定された選択すべき経路が、ベストマッチの経路として検索テーブルに書き込まれるので、パケット転送の際にこの検索テーブルを参照することにより、経路の選択が行われる。この検索テーブルが書き換えられると、選択経路が変更されることになる。また、誤り訂正パケットと元パケットを複数の経路に分散させて転送する場合は、どのパケットをどの経路で転送するかを選択することになるが、この場合には、検索テーブルに各トンネルの通信品質等を記入する欄を追加しておくとよい。そして、検索テーブルを参照してベストマッチの経路とセカンドベストマッチの経路を特定し、特定した各経路の通信品質等を検索テーブルから読み出し、例えば帯域の大きいトンネルの方へパケットを多く振り分けるように、各パケットについて二つの経路からの選択を行う。この場合にも、検索テーブルの通信品質等を記入する欄が書き換えられると、一部のパケットについては二つの経路のうちいずれを選択するかが変更されることになる。   Through the message exchange described above, registration information (correspondence between P (X) and URa and URb) on which each DR creates a search table as shown in FIG. 3 is stored in each DR. Hereinafter, a method for determining which of the plurality of transfer paths is to be selected as the original path for the DR will be described. Since the route to be selected determined here is written in the search table as the best match route, the route is selected by referring to this search table during packet transfer. When this search table is rewritten, the selected route is changed. In addition, when error correction packets and original packets are distributed and transferred on multiple routes, it is selected which packet is transferred on which route. In this case, the communication of each tunnel is stored in the search table. It is good to add a column to fill in quality etc. Then, by referring to the search table, the best match route and the second best match route are specified, the communication quality of each specified route is read from the search table, and for example, a larger number of packets are distributed to the tunnel with a larger bandwidth. Each packet is selected from two routes. Also in this case, when the column for entering the communication quality or the like in the search table is rewritten, which of the two routes is selected for some packets is changed.

選択すべき経路を決定するため、図8に示すような、各リンクのトラフィックや、各経路の通信品質(例えば、遅延、ジッター、帯域、パケットロス等)等を検出すると、効果的な負荷分散や最適な経路選択ができる。各リンクのトラフィックは、URの第1及び第2のインタフェースで観測することができ、全てのDRからの全てのパケットフローのトラフィックの合計だけを観測するのでも良いし、特定のパケットフロー毎にトラフィックを観測しても良いし、IPパケットカプセル化やMPLSによるトンネルの場合にはURが知ることのできるトンネルの入口のDR毎にトラフィックを観測しても良い。URが、DR毎にトラフィックを観測する場合には、トラフィックが多いDRに対して選択的に、経路変更の通知を行うこともできる。   In order to determine the route to be selected, effective load distribution can be achieved by detecting the traffic of each link and the communication quality (eg, delay, jitter, bandwidth, packet loss, etc.) of each route as shown in FIG. And optimal route selection. The traffic of each link can be observed at the first and second interfaces of the UR, and only the sum of the traffic of all packet flows from all DRs can be observed, or for each specific packet flow Traffic may be observed, or in the case of tunneling by IP packet encapsulation or MPLS, traffic may be observed for each DR at the entrance of the tunnel that can be known by the UR. When the UR observes traffic for each DR, the route change can be selectively notified to the DR having a lot of traffic.

トラフィックの合計だけを観測するのでも、例えばリンクAのトラフィックがリンクBよりも多ければ、適当に(例えばランダムに)決定したパケットフロー(例えば特定の宛先アドレスと送信元アドレスの組等)について、経路(トンネルの出口)をリンクAからリンクBに変更するように、指示することができる。この指示は、例えば、トラフィックを観測したURで、経路を変更するパケットフローの特定まで行なって、この特定されたパケットフローを規定する情報を含む指示メッセージをURからDRへ送出することで、実現できる。他の例として、観測されたトラフィックの値を含む通信環境通知メッセージをURがDRへ送出し、このメッセージの情報を基に、DRが経路を変更するパケットフローの特定を行なうこともできる。   Even if only the total traffic is observed, for example, if there is more traffic on link A than on link B, for a properly determined (for example, randomly) packet flow (for example, a specific destination address and source address pair), An instruction can be given to change the path (tunnel exit) from link A to link B. This instruction is realized, for example, by specifying the packet flow whose route is to be changed with the UR that has observed the traffic and sending an instruction message including information defining the specified packet flow from the UR to the DR. it can. As another example, the UR sends a communication environment notification message including the observed traffic value to the DR, and based on the information of this message, the DR can specify the packet flow whose route is to be changed.

さらに、URにて、特定のパケットフロー毎にトラフィックを観測すれば、例えばリンクAのトラフィックがリンクBよりも多いときに、どのパケットフローについて経路変更をすれば、リンクAとリンクBのトラフィックが最適に分散するかまで決定することができる。この場合、経路変更するパケットフローの特定をDR側で行う通信環境通知メッセージ方式でも良いが、パケットフロー毎の観測結果であるのでメッセージの情報量が多くなる。したがって、経路変更するパケットフローの特定をUR側で行なう指示メッセージ方式がより適している可能性がある。   Further, if the traffic is observed for each specific packet flow in the UR, for example, when the traffic of the link A is larger than that of the link B, if the route is changed for which packet flow, the traffic of the link A and the link B is It is possible to determine whether the dispersion is optimal. In this case, a communication environment notification message system in which the packet flow to be route-changed is specified on the DR side may be used. Therefore, there is a possibility that the instruction message method in which the packet flow for changing the route is specified on the UR side is more suitable.

URが発する上記の指示メッセージや通信環境通知メッセージは、図7で登録メッセージについて説明したのと同様に、anycastを利用して最も近いDRに配送し、DR間でこれを伝達させることもできるし、URが個々のDRのアドレスを知ることができるトンネル方式の場合には、URが上記のメッセージを特定のDR宛に送信し、DR間での伝達はしないとすることもできる。   The above instruction message and communication environment notification message issued by the UR can be delivered to the nearest DR using anycast as in the case of the registration message described with reference to FIG. In the case of a tunnel method in which the UR can know the address of each DR, the UR may send the above message to a specific DR and not transmit between the DRs.

anycastを利用して指示メッセージを送る場合、全てのDRもしくはそのURを担当するDRの全てが、同じように選択すべき経路を変更しても良いし、指示メッセージ中に変更すべきDRのアドレスリストを含めることで、特定のDRのみの経路を変更することも可能である。anycastを利用して通信環境通知メッセージを送る場合は、このメッセージに含まれる観測結果に基づいて、各DRが個別の判断を行うので、各DRで異なる変更内容になる可能性がある。   When sending an instruction message using anycast, all DRs or all DRs in charge of the UR may change the route to be selected in the same way, or the address of the DR to be changed in the instruction message By including the list, it is also possible to change the route of only a specific DR. When a communication environment notification message is sent using anycast, each DR makes an individual determination based on an observation result included in this message, so that there is a possibility that the content of change differs for each DR.

特定のDRに指示メッセージを送りDR間での伝達はしないならば、全てのDRがURに対する経路選択をする構成(図5(a))の場合は、同じパケットフローであっても、経由するDRによって選択される経路が異なることが生じ、それによる負荷分散も可能になる。特定のDRがURに対する経路選択をする構成(図5(b))の場合は、特定のDR以外のDRへは選択経路変更のためのメッセージを送る必要がないが、URがトンネルの入口のアドレスを検出することにより特定のDR(経路選択をするDR)に指示メッセージや通信環境通知メッセージを送ることとすれば、DR間の伝達をなくすだけで必要のないメッセージ交換を省略することができる。   If an instruction message is sent to a specific DR and transmission between DRs is not performed, in the case of a configuration in which all DRs select a route for a UR (FIG. 5A), even if the same packet flow is used, the route passes. Different routes may be selected depending on the DR, thereby allowing load distribution. In the case of a configuration in which a specific DR selects a route for the UR (FIG. 5B), it is not necessary to send a message for changing the selected route to a DR other than the specific DR, but the UR is at the entrance of the tunnel. If an instruction message or a communication environment notification message is sent to a specific DR (DR that selects a route) by detecting an address, unnecessary message exchange can be omitted simply by eliminating transmission between DRs. .

URにおけるトラフィック観測で、トラフィックがどのDRから送られてきているかを区別すれば、どのDRに上記の指示メッセージや通信環境通知メッセージを送信すれば良いかを、特定することができる。さらに、同じパケットフローが複数のDR経由で送られてきている場合、一部のDRのみに上記の指示メッセージや通信環境通知メッセージを送信することにより、一部のDRのみに経路変更を要求することでも、リンクAとリンクBのトラフィックを適切に分散することができる。   By distinguishing from which DR the traffic is sent in the traffic observation in the UR, it is possible to specify to which DR the above instruction message and communication environment notification message should be transmitted. Further, when the same packet flow is sent via a plurality of DRs, a route change is requested only to some DRs by transmitting the above instruction message and communication environment notification message only to some DRs. Even so, the traffic of link A and link B can be appropriately distributed.

図8に示す各経路の通信品質の例としては、ここでは遅延を取り上げて説明するが、ジッター、帯域、パケットロス等についても、同様に本実施形態を適用することができる。一つの方法は、URが個々のDRのアドレスを知ることができるトンネル方式の場合に、URが、特定のDRからのパケットが有する遅延を観測し、これを上記のトラフィックについての指示メッセージもしくは通信環境通知メッセージと同様に、その特定のDRへフィードバックするものである。   As an example of the communication quality of each path shown in FIG. 8, a delay will be described here, but the present embodiment can be similarly applied to jitter, bandwidth, packet loss, and the like. One method is that in the case of a tunnel method in which the UR can know the address of each DR, the UR observes a delay of a packet from a specific DR, and this is indicated as an instruction message or communication for the above traffic. Similar to the environment notification message, the message is fed back to the specific DR.

別の方法は、どのトンネル方式でも適用可能なもので、DRが、図2や図6で説明したパケット転送を行うのとは別に、URへの複数の経路に対し、遅延を測定するためのメッセージを流し、これに応答してURから返送されてくるメッセージに含まれる遅延の情報を得るものである。   Another method is applicable to any tunnel method, and DR is used for measuring delays for a plurality of routes to UR separately from the packet forwarding described in FIG. 2 and FIG. A message is sent, and in response to this, delay information included in the message returned from the UR is obtained.

DRは、URから指示メッセージを受信すれば、そのメッセージにて特定されるパケットフローの経路を指定された通り変更し、URから遅延情報を含むメッセージを受信すれば、DR自身で経路を変更するパケットフローを特定する。   When the DR receives an instruction message from the UR, it changes the route of the packet flow specified by the message as specified, and when it receives a message including delay information from the UR, the DR changes the route itself. Identify the packet flow.

さらに別の方法として、ユーザネットワークの管理者(オペレータ)が、URにおいて、経路の選択ポリシー、例えば音声通話(VoIP:Voice over IP)のパケットは遅延最小のトンネルで送る等を設定し、これを指示メッセージとしてDRに送信する方法もあり得る。これは、例えば、DRもしくは図7の登録情報サーバがWebサーバとしての機能を有し、URがWebクライアントとしての機能を備えていれば、Webページにオペレータがポリシーを入力することによっても、実現できる。DRがWebサーバとして機能する場合には、そのDRがURからの指示メッセージを受け、その内容を他のDRへ転送する。図7の登録情報サーバがWebサーバとして機能する場合には、図7の登録情報サーバが、URからの指示メッセージの内容を他のDRへ配送する。   As another method, an administrator (operator) of the user network sets a route selection policy, for example, a voice call (VoIP: Voice over IP) packet is transmitted through a tunnel with a minimum delay in the UR. There can also be a method of transmitting to the DR as an instruction message. For example, if the DR or the registration information server in FIG. 7 has a function as a Web server and the UR has a function as a Web client, the operator can also realize this by inputting a policy on the Web page. it can. When the DR functions as a Web server, the DR receives an instruction message from the UR and transfers the contents to another DR. When the registration information server in FIG. 7 functions as a Web server, the registration information server in FIG. 7 delivers the content of the instruction message from the UR to another DR.

そして、DRでは、この指示されたポリシーと、上述したように計測した各経路の遅延の情報とに基づいて、ユーザの要望に沿った経路を選択することができる。具体的には、例えば、図3の検索テーブルに、音声通話のパケットフローを示す検索キーに対応して、遅延最小のトンネルの宛先を記憶させる。   In the DR, a route according to the user's request can be selected based on the instructed policy and the delay information of each route measured as described above. Specifically, for example, the destination of the tunnel with the minimum delay is stored in the search table of FIG. 3 in correspondence with the search key indicating the packet flow of the voice call.

図9及び図10は、それぞれ本実施形態に係るDR装置100及びUR装置200の内部構成例を示す機能ブロック図である。ここでは、上述した経路の選択のいずれの方法も扱える例を説明する(図9のブロック114〜120、図10のブロック214〜220)が、実際には、ここで特定されたブロックのうちの一部を必要に応じて選択して実装しても良いし、ここで特定されたブロックは全く備えなくても、DRやURとしての基本的な機能は果たされる。なお、図中の二重線矢印は、パケットの流れを示し、その他の矢印は、制御情報の流れを示す。   9 and 10 are functional block diagrams showing examples of the internal configurations of the DR device 100 and the UR device 200 according to the present embodiment, respectively. Here, an example in which any of the above-described route selection methods can be handled will be described (blocks 114 to 120 in FIG. 9 and blocks 214 to 220 in FIG. 10). A part may be selected and mounted as necessary, and the basic functions as DR and UR are fulfilled even if the blocks specified here are not provided at all. In addition, the double line arrow in a figure shows the flow of a packet, and the other arrow shows the flow of control information.

DR装置100においては、パケット受信部102が、送信元ホストを発したパケット、もしくは図5(b)の場合は他のDRから転送されてきたパケットを受信し、経路選択部104が、受信したパケット内の情報をキーにして検索テーブル記憶部124を参照し、この検索結果に基づいて宛先ユーザネットワークへの複数の経路のうち二つ以上を選択した場合は、冗長パケット作成部140が、冗長パケット(複製パケットもしくは誤り訂正パケット)を作成し、パケット送信部106が、図4(a)〜(c)のいずれかの方法で、選択された経路(トンネルの出口となるURのインタフェース)へパケットを転送する。図4(c)の方法の場合は、アドレス変換部128を用いる。なお、図5(b)の場合、検索テーブル記憶部124が、転送先として他のDRを示すことがあり、その場合、パケット送信部106は、そのDRへパケットを転送する。冗長パケット作成部140が、複製パケットを作成する場合には、元パケットと複製パケットに同一のパケット識別子を付与することとすれば、URにおいて受信した各パケットのパケット識別子を調べることにより、パケットを重複して受信したことを検出できる。   In the DR device 100, the packet receiving unit 102 receives a packet originating from the transmission source host or a packet transferred from another DR in the case of FIG. 5B, and the route selection unit 104 receives the packet. If the information in the packet is used as a key, the search table storage unit 124 is referred to, and if two or more of a plurality of routes to the destination user network are selected based on the search result, the redundant packet creation unit 140 A packet (duplicate packet or error correction packet) is created, and the packet transmission unit 106 transfers to the selected route (UR interface serving as the exit of the tunnel) by any of the methods shown in FIGS. Forward the packet. In the case of the method of FIG. 4C, the address conversion unit 128 is used. In the case of FIG. 5B, the search table storage unit 124 may indicate another DR as a transfer destination. In this case, the packet transmission unit 106 transfers the packet to the DR. When the redundant packet creation unit 140 creates a duplicate packet, if the same packet identifier is assigned to the original packet and the duplicate packet, the packet is obtained by examining the packet identifier of each packet received in the UR. It is possible to detect the duplicate reception.

UR装置200においては、リンクAからパケットが転送されてくればISP−A用パケット受信部202がこれを受信し、リンクBからパケットが転送されてくればISP−B用パケット受信部204がこれを受信し、図4(a)〜(c)のいずれかのUR側の処理を行う。図4(c)の場合は、アドレス変換部206が、登録情報記憶部210に記憶されているP(X)とA及びBの対応を参照して、アドレス変換する。そして、受信したパケットから生成された元のパケットに基づいて、冗長パケット削除部230が、冗長パケットを削除する処理を行ない、その後パケット送信部208が宛先ホストへ転送する。冗長パケットの削除は、冗長パケットが複製パケットである場合は、各パケットに付与されたパケット識別子を参照して、重複パケットを廃棄することにより行う。冗長パケットが誤り訂正パケットである場合は、冗長パケット削除部230は、各パケットのシーケンス番号を調べて、受信されるべき元パケットが受信されていないことを確認すると、受信されなかった元パケットの数だけ誤り訂正パケットを用いて、誤り訂正を行い、受信された元パケットと復元された元パケットを、パケット送信部208に渡す。このとき、不要となった誤り訂正パケットは廃棄する。   In the UR device 200, if a packet is transferred from the link A, the ISP-A packet receiving unit 202 receives the packet. If a packet is transferred from the link B, the ISP-B packet receiving unit 204 receives the packet. Is received and the processing on the UR side in any one of FIGS. In the case of FIG. 4C, the address conversion unit 206 performs address conversion with reference to the correspondence between P (X) and A and B stored in the registration information storage unit 210. Then, based on the original packet generated from the received packet, the redundant packet deleting unit 230 performs processing for deleting the redundant packet, and then the packet transmitting unit 208 transfers the packet to the destination host. When the redundant packet is a duplicate packet, the redundant packet is deleted by referring to the packet identifier given to each packet and discarding the duplicate packet. When the redundant packet is an error correction packet, the redundant packet deletion unit 230 checks the sequence number of each packet and confirms that the original packet to be received is not received. Error correction is performed using the number of error correction packets, and the received original packet and the restored original packet are passed to the packet transmission unit 208. At this time, unnecessary error correction packets are discarded.

UR200の登録情報送信部212は、登録情報記憶部210に記憶されているP(X)とURa及びURbの対応を、図7で説明したように登録メッセージとしてDR100へ送信し、UR登録受信部108がこれを受信する。登録情報送信部212は、通信環境観測部214にていずれかのリンクがダウンしていることを検出すると、上述したように送信する登録メッセージの内容を変更する(削除メッセージを送信する例を含む)。DR100が受信した登録メッセージの内容は登録情報記憶部112に記憶され、上記のように変更があると、登録情報更新部110がその記憶内容を書き換える。   The registration information transmission unit 212 of the UR 200 transmits the correspondence between P (X) stored in the registration information storage unit 210 and URa and URb to the DR 100 as a registration message as described with reference to FIG. 108 receives this. When the communication environment observation unit 214 detects that any link is down, the registration information transmission unit 212 changes the content of the registration message to be transmitted as described above (including an example of transmitting a deletion message). ). The content of the registration message received by the DR 100 is stored in the registration information storage unit 112. When there is a change as described above, the registration information update unit 110 rewrites the storage content.

登録メッセージとして、P(X)とURa及びURbの対応ではなく、ネットワーク識別子IxとURa及びURbの対応を送る構成を採用する場合は、UR200の登録情報送信部212は、登録情報記憶部210に記憶されているP(X)ではなく、Ixを用いて登録メッセージを作成する。そして、DR100の登録情報更新部110は、受信した登録メッセージのIxに基づいてプレフィックス記憶部130を参照することにより、P(X)を得て、登録情報記憶部112にP(X)とURa及びURbの対応を記憶する。なお、登録メッセージとして、P(X)とURa及びURbの対応が送信される場合、DR100の登録情報更新部110が、受信した登録メッセージのP(X)に基づいてプレフィックス記憶部130を参照し、受信したP(X)が正しければ登録情報を記憶し、誤っていれば登録せずにURへエラーメッセージを返すようにすることができる。   In the case of adopting a configuration in which the correspondence between the network identifier Ix and the URa and URb, instead of the correspondence between P (X) and URa and URb, is adopted as the registration message, the registration information transmission unit 212 of the UR 200 stores in the registration information storage unit 210. A registration message is created using Ix instead of the stored P (X). Then, the registration information update unit 110 of the DR 100 obtains P (X) by referring to the prefix storage unit 130 based on the received registration message Ix, and stores the P (X) and URa in the registration information storage unit 112. And URb correspondence are stored. When the correspondence between P (X) and URa and URb is transmitted as a registration message, the registration information update unit 110 of the DR 100 refers to the prefix storage unit 130 based on P (X) of the received registration message. If the received P (X) is correct, registration information can be stored, and if it is incorrect, an error message can be returned to the UR without registration.

UR200の通信環境観測部214は、パケット受信部202及び204を監視して、トラフィック量や通信品質等の情報を得る。そして、この観測された情報を観測情報送信部216が通信環境通知メッセージとしてDRへ送信し、UR観測受信部114がこれを受信する。あるいは、通信環境観測部214で観測された情報を基に、指示情報生成部218がどのパケットフローの経路をどこに変更すべきかを判断し、この判断結果を含む情報を指示情報送信部220が指示メッセージとしてDRへ送信し、UR指示受信部118がこれを受信する。   The communication environment observation unit 214 of the UR 200 monitors the packet reception units 202 and 204 to obtain information such as traffic volume and communication quality. Then, the observed information transmitting unit 216 transmits the observed information as a communication environment notification message to the DR, and the UR observation receiving unit 114 receives the information. Alternatively, based on the information observed by the communication environment observation unit 214, the instruction information generation unit 218 determines which packet flow route should be changed to, and the instruction information transmission unit 220 indicates information including the determination result. The message is transmitted to the DR as a message, and the UR instruction receiving unit 118 receives the message.

指示情報生成部218は、オペレータの入力するポリシーと観測された通信環境とに基づいて、経路を変更すべきパケットフローを決定し、この具体的な決定結果を指示情報としても良いし、通信環境に基づく判断は行わずにオペレータの入力するポリシー自体を指示情報としても良い。前者の場合は、UR指示受信部118で受信した指示メッセージの内容に従って、検索テーブル更新部122が検索テーブル記憶部124の内容を書き換える。後者の場合は、UR指示受信部118で受信した指示メッセージの内容はポリシー記憶部120に記憶され、このポリシーと通信環境検出部116の出力とに基づいて、検索テーブル更新部112が、経路を変更すべきパケットフローを決定する。UR指示受信部118は、DRが上述したWebサーバとして機能する場合は、Webサーバの機能を持つ。   The instruction information generation unit 218 determines a packet flow whose route should be changed based on the policy input by the operator and the observed communication environment, and the specific determination result may be used as the instruction information. The policy itself input by the operator may be used as the instruction information without making a determination based on the above. In the former case, the search table update unit 122 rewrites the content of the search table storage unit 124 according to the content of the instruction message received by the UR instruction reception unit 118. In the latter case, the content of the instruction message received by the UR instruction receiving unit 118 is stored in the policy storage unit 120. Based on this policy and the output of the communication environment detection unit 116, the search table update unit 112 determines the route. Determine the packet flow to be changed. The UR instruction receiving unit 118 has the function of a Web server when the DR functions as the Web server described above.

UR指示受信部118が指示メッセージを受信しない場合も、UR観測受信部114から出力される通信環境の情報を通信環境検出部116が検出し、検索テーブル更新部112が通信環境検出部116の出力に基づいて、経路を変更すべきパケットフローを決定して検索テーブルを書き換えることができる。あるいは、検索テーブルに各経路の通信環境をも記憶しておく例においては、検索テーブル更新部112は、通信環境検出部116の出力に従って、検索テーブル記憶部124の通信環境を記入する欄を書き換え、経路選択部104が、検索テーブルの各経路の情報として通信環境の情報をも参照して、経路を決定する。通信環境検出部116は、URで観測された通信環境の情報だけでなく、DRがURとメッセージ交換することにより獲得した通信環境の情報を用いることができる。   Even when the UR instruction receiving unit 118 does not receive the instruction message, the communication environment detecting unit 116 detects the communication environment information output from the UR observation receiving unit 114, and the search table updating unit 112 outputs the communication environment detecting unit 116. Based on the above, it is possible to rewrite the search table by determining the packet flow whose route should be changed. Alternatively, in the example in which the communication environment of each route is also stored in the search table, the search table update unit 112 rewrites the column for entering the communication environment in the search table storage unit 124 according to the output of the communication environment detection unit 116. The route selection unit 104 also determines the route by referring to the communication environment information as the route information of the search table. The communication environment detection unit 116 can use not only the information on the communication environment observed by the UR but also the information on the communication environment acquired by the DR exchanging messages with the UR.

このように書き換えられた検索テーブル記憶部124を参照することで、経路選択部104で選択される経路(トンネルの出口となるURのインタフェース)が変更され、トラフィックの分散や最適経路の選択が可能となる。また、DR装置100は、DR制御情報送受信部126を備え、他のDRとの間で、上述した指示メッセージの内容や、通信環境の情報、登録情報等の制御情報を交換することができる。すなわち、DR制御情報送受信部126は、検索テーブル更新部122に接続されており、DR装置100がURから受信部108、114、118を介して受信した情報を、他のDRへ、必要であれば加工した上で転送する。また、DR制御情報送受信部126は、他のDRもしくは図7の登録情報サーバから上記の制御情報を受信し、検索テーブル更新部122は、受信した他のDR等からの制御情報に基づいて、検索テーブル記憶部124の内容を書き換えることもできる。   By referencing the search table storage unit 124 rewritten in this way, the route selected by the route selection unit 104 (the UR interface serving as the exit of the tunnel) is changed, and traffic distribution and selection of the optimum route are possible. It becomes. Also, the DR device 100 includes a DR control information transmission / reception unit 126, and can exchange control information such as the contents of the instruction message, communication environment information, registration information, and the like with other DRs. That is, the DR control information transmitting / receiving unit 126 is connected to the search table updating unit 122, and the DR device 100 needs to receive information received from the UR via the receiving units 108, 114, and 118 to other DRs. If it is processed, transfer it. Further, the DR control information transmitting / receiving unit 126 receives the control information from another DR or the registration information server of FIG. 7, and the search table updating unit 122 is based on the received control information from another DR or the like. The contents of the search table storage unit 124 can be rewritten.

図11には、DRが、URへの複数の経路のそれぞれが正常に動作しているか否かを確認し、P(X)宛のパケットを転送する経路として、正常に動作している経路を選択するための機構を示す。図中のDRは、図9に示したDR100と同様の機能を有し、登録情報記憶部112には、ユーザネットワークP(X)に対して、ISP−AによるリンクAを利用する経路Aと、ISP−BによるリンクBを利用する経路Bとが登録されているものとする。この登録情報は、DRの検索テーブルに反映され、経路選択部104は、この検索テーブルを参照してユーザネットワークへの経路を選択する。本例におけるDRは、これらの他に、確認パケット送信部132、返答パケット受信部134、間隔制御部136を備える。   In FIG. 11, the DR confirms whether each of a plurality of routes to the UR is operating normally, and shows a route that is operating normally as a route for transferring a packet addressed to P (X). The mechanism for selecting is shown. The DR in the figure has the same function as the DR 100 shown in FIG. 9, and the registration information storage unit 112 has a route A that uses the link A by ISP-A to the user network P (X). It is assumed that the route B using the link B by ISP-B is registered. This registration information is reflected in the DR search table, and the route selection unit 104 refers to this search table to select a route to the user network. In addition to these, the DR in this example includes a confirmation packet transmission unit 132, a response packet reception unit 134, and an interval control unit 136.

確認パケット送信部132は、登録情報記憶部112を参照し、経路A(URaを出口とする仮想的なトンネル)と経路B(URbを出口とする仮想的なトンネル)のそれぞれに対し、定期的に、キープアライブパケットと呼ばれるパケット(実トラフィックとは別の試験トラフィック)を送信する。返答パケット受信部134は、送信されたそれぞれのキープアライブパケットに対して返信されるパケットを検査して、DR1からURaへのトンネルとDR1からURbへのトンネルのそれぞれが、有効に機能しているかを確認する。そして、有効に機能していないことが判明した経路は、本来の経路として選択しないように、経路選択部104に指示する。経路選択部104は、例えば経路Aを使用しないように指示されれば、検索テーブルを参照して経路A以外の経路(例えば経路B)を選択し、P(X)宛のパケットを転送する。   The confirmation packet transmission unit 132 refers to the registration information storage unit 112 and periodically performs a route A (virtual tunnel with URAb as an exit) and a route B (virtual tunnel with URb as an exit). In addition, a packet called a keep alive packet (test traffic different from the actual traffic) is transmitted. The reply packet receiving unit 134 inspects a packet returned for each transmitted keep-alive packet, and confirms that the tunnel from DR1 to URa and the tunnel from DR1 to URb are functioning effectively. Confirm. Then, the route selection unit 104 is instructed not to select a route that is found not to function effectively as an original route. For example, if the route selection unit 104 is instructed not to use the route A, the route selection unit 104 selects a route other than the route A (for example, the route B) with reference to the search table, and transfers the packet addressed to P (X).

間隔制御部136は、確認パケット送信部132が各経路にキープアライブパケットを送信する間隔を、各経路の通信品質(例えば帯域)に応じて変更することができる。送信間隔が短ければ、各経路の状況をよりリアルタイムに把握することが可能になる反面、帯域が狭い場合にキープアライブのような試験パケットを頻繁に送信するのは、実トラフィックのパケットを送信できる帯域をますます狭めてしまう結果となるため、帯域が狭くなるほどキープアライブの送信間隔を長くするように、制御する。例えば、経路Aの帯域が、経路Bの帯域より大きければ、経路Aへキープアライブを送信する間隔は、経路Bへキープアライブを送信する間隔よりも短くなる。   The interval control unit 136 can change the interval at which the confirmation packet transmitting unit 132 transmits the keep-alive packet to each route according to the communication quality (for example, bandwidth) of each route. If the transmission interval is short, it is possible to grasp the status of each route in real time. On the other hand, if the bandwidth is narrow, frequently sending test packets such as keepalives can send real traffic packets. Since the band is narrowed further, the keep-alive transmission interval is controlled to be longer as the band is narrowed. For example, if the bandwidth of route A is larger than the bandwidth of route B, the interval for transmitting keepalives to route A is shorter than the interval for transmitting keepalives to route B.

上記の各経路の通信品質は、pathcharとして知られている仕組みを応用すると、上記のキープアライブパケットに対する返信内容から推定することができる。この仕組みによれば、DR1がトンネルの出口を指定してtracerouteを実行した場合と同様に、キープアライブパケットに対する返答として、DR1からトンネルの出口(URaまたはURb)への経路上のルータのアドレスが、DR1に近い方から順番に得られ、さらに経路上の各ルータまでの所要時間も測定することができる。この測定を、送信するキープアライブパケットのサイズを変えて、何度も繰り返す。そして、サイズの異なる測定パケットのそれぞれに対するRTT(Round Trip Time)を計測し、回帰曲線を求めることにより、トンネルの帯域が推測できる。回帰曲線の傾きから、帯域が推定でき、回帰曲線が示すパケットサイズが0のときのRTTから、伝播遅延が推定できる。   The communication quality of each of the above routes can be estimated from the contents of the reply to the keep alive packet by applying a mechanism known as pathchar. According to this mechanism, the address of the router on the route from DR1 to the tunnel exit (URa or URb) is returned as a reply to the keep-alive packet in the same manner as when DR1 designates the tunnel exit and executes traceroute. , DR1 is obtained in order from the one closer to DR1, and the time required to each router on the route can also be measured. This measurement is repeated many times while changing the size of the keep-alive packet to be transmitted. The tunnel bandwidth can be estimated by measuring the RTT (Round Trip Time) for each of the measurement packets having different sizes and obtaining the regression curve. The band can be estimated from the slope of the regression curve, and the propagation delay can be estimated from the RTT when the packet size indicated by the regression curve is zero.

上記では、DRからURへの(下流方向の)トンネルに対する動作確認を行ない、DRが正常に動作している経路を選択してユーザネットワークへのパケットを転送する例を説明したが、上記の機構は、ユーザネットワークからインターネットへ流入させるパケットのために、URからDRへの(上流方向の)トンネルを利用する場合にも、適用可能である。すなわち、URは、URaのインタフェースからDRへの経路(図11では経路Aの横に点線で示す)と、URbのインタフェースからDRへの経路(図11では経路Bの横に点線で示す)のそれぞれに対し、キープアライブパケットを送信し、その返答を調べ、正常に動作しているトンネルを、本来の経路として選択して、ユーザネットワークから出て行くパケットを転送する。キープアライブの送信間隔を、経路の通信品質に応じて変更可能なことも、同様である。   In the above description, an example has been described in which operation confirmation is performed on a tunnel from the DR to the UR (downstream direction), a route in which the DR is operating normally is selected, and a packet is transferred to the user network. Is also applicable when using a tunnel from the UR to the DR (upstream) for packets that flow from the user network to the Internet. That is, the UR includes a route from the URA interface to the DR (shown by a dotted line beside the route A in FIG. 11) and a route from the URb interface to the DR (shown by a dotted line beside the route B in FIG. 11). For each, a keep-alive packet is transmitted, the response is checked, a normally operating tunnel is selected as the original route, and the packet leaving the user network is transferred. Similarly, the keep-alive transmission interval can be changed according to the communication quality of the route.

図12には、リンクAに対応する境界ルータとしてUR−Aが、リンクBに対応する境界ルータとしてUR−Bが設けられている場合に、冗長パケットを削除するための三通りの方式を示す。例えばDR1を出発点として、リンクAを介して元のパケットフローが、リンクBを介して複製されたパケットフローが、転送されてくるものとする。   FIG. 12 shows three methods for deleting redundant packets when UR-A is provided as a border router corresponding to link A and UR-B is provided as a border router corresponding to link B. . For example, it is assumed that the original packet flow is transferred via link A and the packet flow copied via link B is transferred starting from DR1.

図12(a)の方式では、例えば、UR−Aが、自身が受信したパケットのパケット識別子の情報をUR−Bに伝え、UR−Bは、同一のパケットがUR−Aでも受信されていれば自身が受信したパケットを廃棄し、同一のパケットがUR−Aでは受信されていなければ自身が受信したパケットをUR−Aに渡す。UR−Aは、UR−Bから渡されたパケットと自身が受信したパケットとを、宛先ノード(ホスト)へ転送する。この変形として、UR−Bが、UR−Aでは受信されていないパケットを受信している場合には、これをUR−A経由でなく直接ホストへ転送する方法もあり得る。   In the method of FIG. 12A, for example, UR-A transmits packet identifier information of a packet received by itself to UR-B, and UR-B has received the same packet even in UR-A. If the same packet is not received by UR-A, the packet received by itself is passed to UR-A. The UR-A transfers the packet passed from the UR-B and the packet received by itself to the destination node (host). As a modification of this, when UR-B receives a packet that is not received by UR-A, there is a method of transferring the packet directly to the host instead of via UR-A.

また、リンクAを介して元のパケットフローが、リンクBを介して誤り訂正のパケットフローが、転送されてくる場合は、例えば、UR−Aが、自身が受信したパケットフローに含まれるシーケンス番号から受信されていないパケットがあると判断した場合は、UR−Bが受信した誤り訂正パケットをUR−Aへ転送させ、UR−Aで紛失したパケットを復元する。そして、受信された元のパケットと復元されたパケットが、UR−Aからホストへ転送される。一方、リンクAを介して元のパケットフローと誤り訂正のパケットフローを合わせたパケットフローの任意の一部が、リンクBを介してその残りの部分が、転送されてくる場合には、例えば、UR―Bが、自身が受信したパケットのシーケンス番号の情報をUR−Aに伝え、UR−Aは、自身が受信したパケットのシーケンス番号と通知されたシーケンス番号を合わせても受信されていないと判断されるパケットが存在する場合には、自身が受信した誤り訂正パケットを用いて、それで足りなければUR−Bが受信した誤り訂正パケット又は元パケットの転送を受けて、紛失したパケットを復元する。そして、UR−Aは、受信した元のパケットと復元したパケットとをホストへ転送する。元のパケットの一部は、それを受信したUR−Bからホストへ転送されても構わない。   Further, when the original packet flow is transferred via the link A and the error correction packet flow is transferred via the link B, for example, the sequence number included in the packet flow received by the UR-A itself When it is determined that there is a packet not received from UR-B, the error correction packet received by UR-B is transferred to UR-A, and the packet lost by UR-A is restored. Then, the received original packet and the restored packet are transferred from UR-A to the host. On the other hand, when an arbitrary part of the packet flow including the original packet flow and the error correction packet flow is transferred via the link A and the remaining part is transferred via the link B, for example, UR-B transmits information on the sequence number of the packet received by itself to UR-A, and UR-A is not received even if the sequence number of the packet received by itself and the notified sequence number are combined. If there is a packet to be judged, the error correction packet received by itself is used, and if that is not sufficient, the error correction packet received by UR-B or the original packet is transferred to restore the lost packet. . Then, UR-A transfers the received original packet and the restored packet to the host. Part of the original packet may be transferred from the UR-B that received the packet to the host.

図12(b)の方式では、UR−AとUR−Bは共に、自身が受信したパケットフローに対し、トンネルの出口に相当する処理を行うだけで、そのパケットフローをユーザネットワーク内の特定のルータRへ転送し、特定のルータRが、図10の冗長パケット削除部230と同様な処理を行う。このとき、同じパケットフローに属するパケットは全て、UR−Aに受信されたかUR−Bに受信されたかを問わず、同じ特定のルータへ転送されるように、UR−AとUR−Bのルーティングテーブルを設定しておく。図12(c)の方式では、UR−AとUR−Bは共に、自身が受信したパケットフローに対し、トンネルの出口に相当する処理を行うだけで、そのパケットフローを普通にユーザネットワーク内の宛先ノードへ転送し、宛先ノードが、図10の冗長パケット削除部230と同様な処理を行う。   In the method of FIG. 12B, both UR-A and UR-B perform a process corresponding to the exit of the tunnel on the packet flow received by themselves, and the packet flow is sent to a specific network in the user network. The data is transferred to the router R, and the specific router R performs the same process as the redundant packet deletion unit 230 in FIG. At this time, routing of UR-A and UR-B is performed so that all packets belonging to the same packet flow are transferred to the same specific router regardless of whether they are received by UR-A or UR-B. Set up a table. In the method of FIG. 12 (c), both UR-A and UR-B perform the processing corresponding to the exit of the tunnel on the packet flow received by themselves, and the packet flow is normally transferred in the user network. The packet is transferred to the destination node, and the destination node performs the same processing as the redundant packet deletion unit 230 in FIG.

なお、図1の従来方式では、企業ネットワーク等では通常は扱っていないBGP(インターネット用のプロトコル)をネットワーク管理者が運用して、インターネットへのアドレス広告をする必要があるが、本実施形態によれば、そのようなBGPを導入しなくても、企業ネットワーク等に上述した登録メッセージ送信等の機能を有するURを設置すれば、マルチホーム接続を実現することができる。   In the conventional system shown in FIG. 1, it is necessary for a network administrator to operate BGP (Internet protocol) that is not normally handled in a corporate network or the like and advertise an address to the Internet. Therefore, even if such BGP is not introduced, multi-home connection can be realized if a UR having a function such as registration message transmission described above is installed in a corporate network or the like.

以上、本発明の実施形態について説明したが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。例えば、上記では、一つのユーザネットワークが二つのISPのそれぞれからリンクを提供されている場合を説明したが、一つのユーザネットワークが三つ以上のISPのそれぞれからリンクを提供されている場合にも、同様のマルチホーム接続やトラフィック分散等が可能である。また、上記では、一つのISPが一つのリンクをユーザネットワークに提供する(二つのリンクは二つのISPにより提供される)場合を説明したが、二つ以上のリンクを一つのISPがユーザネットワークに提供する(例えば図2のISP−AとISP−Bのネットワークが一つのISPにより運営され、その一つのISPネットワークから二つのリンクA,BがURに提供される)場合にも、同様のマルチホーム接続を生かしたパケット転送の多重化やトラフィック分散等が可能である。   The embodiment of the present invention has been described above, but it is needless to say that the above-described embodiment can be variously modified and applied by those skilled in the art within the scope of the present invention. For example, in the above description, a case where one user network is provided with a link from each of two ISPs has been described. However, a case where one user network is provided with a link from each of three or more ISPs is also described. The same multi-home connection and traffic distribution are possible. In the above description, a case where one ISP provides one link to the user network (two links are provided by two ISPs) has been described. However, one ISP can provide two links to the user network. In the case of providing (for example, the ISP-A and ISP-B networks in FIG. 2 are operated by one ISP and two links A and B are provided to the UR from the one ISP network) It is possible to multiplex packet transfers and distribute traffic using the home connection.

以上説明したように、本発明に係るルータとユーザルータを使用すれば、例えば、データをリアルタイムで確実に宛先に届けたいが、宛先のユーザネットワークとインターネットとの間の接続が不安定であるような場合に応用して、接続を二重化(多重化)するとともに転送されるパケットも二重化(多重化)することにより、途中の経路でパケットロスがあっても、別の接続を利用する経路から届くパケットで紛失したパケットを代替もしくは復元することが可能となり、インターネットとユーザネットワーク間のパケット転送の高信頼化に有用である。   As described above, when the router and the user router according to the present invention are used, for example, data is surely delivered to the destination in real time, but the connection between the destination user network and the Internet seems to be unstable. In case of application, the connection is duplicated (multiplexed) and the transferred packet is also duplicated (multiplexed), so that even if there is a packet loss on the way, it arrives from the path using another connection It is possible to replace or restore a lost packet with a packet, which is useful for improving the reliability of packet transfer between the Internet and a user network.

従来のマルチホーム接続の方式を説明するための図。The figure for demonstrating the system of the conventional multihome connection. 本発明の一実施形態におけるパケット転送の例を説明するための図。The figure for demonstrating the example of the packet transfer in one Embodiment of this invention. 本実施形態におけるパケット転送に用いられる検索テーブルの例を示す図。The figure which shows the example of the search table used for the packet transfer in this embodiment. 本実施形態においてパケットが転送される経路が(a)IPパケットのカプセル化により構成される場合と、(b)ラベルスイッチングパスにより構成される場合と、(c)IPパケットの宛先アドレス変換により構成される場合とを説明するための図。In the present embodiment, a path through which a packet is transferred is configured by (a) IP packet encapsulation, (b) a label switching path, and (c) IP packet destination address conversion. The figure for demonstrating the case where it is performed. インターネットに複数存在する本実施形態に係るルータ装置DRのうち(a)全てのDRがユーザネットワークへの転送を行う場合と、(b)一部のDRがユーザネットワークへの転送を担当する場合とを説明するための図。Among the router apparatuses DR according to the present embodiment that exist in the Internet, (a) all DRs transfer to the user network, and (b) some DRs handle transfer to the user network. The figure for demonstrating. 本実施形態におけるパケット転送の別の例を説明するための図。The figure for demonstrating another example of the packet transfer in this embodiment. 本実施形態に係るルータ装置DRに制御に必要な情報を登録するためのメッセージが交換される様子を例示する図。The figure which illustrates a mode that the message for registering the information required for control to the router apparatus DR which concerns on this embodiment is exchanged. 本実施形態において検出される通信環境の例を説明するための図。The figure for demonstrating the example of the communication environment detected in this embodiment. 本実施形態に係るルータ装置DRの内部構成例を示す図。The figure which shows the internal structural example of the router apparatus DR which concerns on this embodiment. 本実施形態に係るユーザルータ装置URの内部構成例を示す図。The figure which shows the internal structural example of the user router apparatus UR which concerns on this embodiment. 本実施形態においてパケットが転送される経路(仮想的なトンネル)が、正常に動作しているか否かを確認する機能を持つルータ装置の構成例と、その機能を説明するための図。The figure for demonstrating the example of a structure of the router apparatus which has a function which confirms whether the path | route (virtual tunnel) to which a packet is transferred in this embodiment is operating normally. 本実施形態においてユーザネットワークにて受信されたパケット群から冗長性を除くための3通りの方式を例示する図。The figure which illustrates three types of methods for removing redundancy from the packet group received in the user network in this embodiment.

符号の説明Explanation of symbols

100 本実施形態に係るルータ装置DR
102 パケット受信部
104 経路選択部
106 パケット送信部
108 UR登録受信部
110 登録情報更新部
112 登録情報記憶部
114 UR観測受信部
116 通信環境検出部
118 UR指示受信部
120 ポリシー記憶部
122 検索テーブル更新部
124 検索テーブル記憶部
126 DR制御情報送受信部
130 プレフィックス記憶部
132 確認パケット送信部
134 返答パケット受信部
136 送信間隔制御部
140 冗長パケット作成部
200 本実施形態に係るユーザルータ装置UR
202 ISP−Aからのパケット受信部
204 ISP−Bからのパケット受信部
128、206 アドレス変換部(オプショナル)
208 パケット送信部
210 登録情報記憶部
212 登録情報送信部
214 通信環境観測部
216 観測情報送信部
218 指示情報生成部
220 指示情報送信部
230 冗長パケット削除部

100 Router apparatus DR according to the present embodiment
102 packet reception unit 104 route selection unit 106 packet transmission unit 108 UR registration reception unit 110 registration information update unit 112 registration information storage unit 114 UR observation reception unit 116 communication environment detection unit 118 UR instruction reception unit 120 policy storage unit 122 search table update Unit 124 search table storage unit 126 DR control information transmission / reception unit 130 prefix storage unit 132 confirmation packet transmission unit 134 reply packet reception unit 136 transmission interval control unit 140 redundant packet creation unit 200 user router apparatus UR according to the present embodiment
202 Packet reception unit from ISP-A 204 Packet reception unit from ISP-B 128, 206 Address conversion unit (optional)
208 packet transmission unit 210 registration information storage unit 212 registration information transmission unit 214 communication environment observation unit 216 observation information transmission unit 218 instruction information generation unit 220 instruction information transmission unit 230 redundant packet deletion unit

Claims (30)

インターネットを構成するルータにおいて、パケットの転送を制御する方法であって、
インターネットとの接続を複数提供されるユーザネットワークから、前記ユーザネットワークの識別情報と各接続を提供するプロバイダが前記各接続に対応して割り当てたアドレスに関する情報とを受信し、
受信した前記識別情報から前記ユーザネットワークのアドレスを求め、
前記ユーザネットワークのアドレスと各接続を提供するプロバイダが前記各接続に対応して割り当てたアドレスとの対応を表わす情報を記憶し、
前記ユーザネットワークを宛先とするパケットを受信し、
受信した前記パケットの冗長パケットを作成し、
記憶した前記情報と前記ユーザネットワークのアドレスを含む前記パケットに基づいて、前記ユーザネットワークに提供される複数の接続のうちの少なくとも二つを特定し、
受信した前記パケット及び作成した前記冗長パケットのうちの一部を、前記特定した接続のうちの一つに対応するアドレスに従ってパケットが前記ルータから前記ユーザネットワークへ転送される経路へ、転送し、
受信した前記パケット及び作成した前記冗長パケットのうちの他の一部を、前記特定した接続のうちの他の一つに対応するアドレスに従ってパケットが前記ルータから前記ユーザネットワークへ転送される経路へ、転送することを特徴とするパケット転送制御方法。
A method for controlling packet forwarding in a router constituting the Internet,
Receiving, from a user network provided with a plurality of connections to the Internet , identification information of the user network and information about addresses assigned by the provider providing each connection corresponding to each connection;
Obtaining the address of the user network from the received identification information,
Storing information representing a correspondence between an address of the user network and an address assigned by the provider providing each connection corresponding to each connection;
Receiving a packet destined for the user network ;
Create a redundant packet of the received packet,
Based on said packet storing the said information and including the address of the user network, at least to identify two of the plurality of connections provided to the user network,
Forwarding a portion of the received packet and the created redundant packet to a path through which the packet is forwarded from the router to the user network according to an address corresponding to one of the identified connections;
Receiving the packet and another part of the created redundant packet to a path through which the packet is forwarded from the router to the user network according to an address corresponding to the other one of the identified connections, A packet transfer control method characterized by transferring.
受信した前記パケットの宛先アドレスフィールドには前記ユーザネットワークのアドレスが、前記パケットの送信元フィールドには送信元のネットワークのアドレスが、それぞれ書き込まれており、
前記接続に対応するアドレスに従ったパケットの転送は、前記接続を提供するプロバイダが前記接続に対応して割り当てたアドレスを宛先として、前記ルータのアドレスを送信元として、それぞれ用いて前記パケットをカプセル化することにより、行われるものであることを特徴とする請求項1記載のパケット転送制御方法。
The address of the user network is written in the destination address field of the received packet, and the address of the network of the transmission source is written in the transmission source field of the packet.
The packet transfer according to the address corresponding to the connection encapsulates the packet using the address assigned by the provider providing the connection corresponding to the connection as the destination and the router address as the source. The packet transfer control method according to claim 1, wherein the packet transfer control method is carried out by converting into a packet.
前記ルータを出発点とし前記複数の接続のうちの一つを利用することにより前記ユーザネットワークへ至る経路に沿って、ネットワーク層より下位層の情報であるラベルに基づいてパケットが転送されるラベルスイッチングパスが設定されており、
前記接続に対応するアドレスに従ったパケットの転送は、前記接続に対応するラベルスイッチングパスのラベルを前記パケットに付与することにより、行われるものであることを特徴とする請求項1記載のパケット転送制御方法。
Label switching in which a packet is transferred based on a label that is information in a layer lower than the network layer along a route to the user network by using one of the plurality of connections starting from the router The path is set,
The packet transfer according to claim 1, wherein the packet transfer according to the address corresponding to the connection is performed by giving a label of a label switching path corresponding to the connection to the packet. Control method.
受信した前記パケットの宛先アドレスフィールドには前記ユーザネットワークのアドレスが、前記パケットの送信元フィールドには送信元のネットワークのアドレスが、それぞれ書き込まれており、
前記接続に対応するアドレスに従ったパケットの転送は、前記接続を提供するプロバイダが前記接続に対応して割り当てたアドレスに基づいて、前記宛先アドレスフィールドを書き換えることにより、行うことを特徴とする請求項1記載のパケット転送制御方法。
The address of the user network is written in the destination address field of the received packet, and the address of the network of the transmission source is written in the transmission source field of the packet.
The packet transfer according to the address corresponding to the connection is performed by rewriting the destination address field based on an address assigned by the provider providing the connection corresponding to the connection. Item 4. The packet transfer control method according to Item 1.
前記冗長パケットの作成は、受信した前記パケットを複製し、重複パケットを作成することにより、行い、
受信した前記パケット及び作成した前記冗長パケットの転送は、受信した前記パケットと作成した前記重複パケットとが異なる経路で転送されるように、行うことを特徴とする請求項1記載のパケット転送制御方法。
The redundant packet is created by duplicating the received packet and creating a duplicate packet,
2. The packet transfer control method according to claim 1, wherein transfer of the received packet and the generated redundant packet is performed so that the received packet and the generated duplicate packet are transferred through different paths. .
前記ユーザネットワークにおいて複数の接続から重複するパケットを受信した場合に一方を廃棄できるように、受信した前記パケット及び作成した前記重複パケットに同一のパケット識別子を付与することを特徴とする請求項5記載のパケット転送制御方法。   6. The same packet identifier is assigned to the received packet and the created duplicate packet so that one can be discarded when duplicate packets are received from a plurality of connections in the user network. Packet transfer control method. 前記冗長パケットの作成は、受信した前記パケットに含まれるデータを誤り訂正符号化し、誤り訂正パケットを作成することにより、行うことを特徴とする請求項1記載のパケット転送制御方法。   2. The packet transfer control method according to claim 1, wherein the redundant packet is created by performing error correction coding on data included in the received packet and creating an error correction packet. 前記特定は、前記少なくとも二つの接続のうち、一つを本来の経路として、他の少なくとも一つをバックアップの経路として、特定するものであり、
受信した前記パケット及び作成した前記冗長パケットの転送は、受信した前記パケットが前記本来の経路で転送され、作成した前記誤り訂正パケットが前記バックアップの経路で転送されるように、行うことを特徴とする請求項7記載のパケット転送制御方法。
The identification is to identify one of the at least two connections as an original path and at least one other as a backup path,
Transfer of the received packet and the created redundant packet is performed such that the received packet is transferred through the original route, and the created error correction packet is transferred through the backup route. The packet transfer control method according to claim 7.
前記各接続を利用して前記ユーザネットワークに提供される通信環境に基づいて、受信した前記パケット及び作成した前記冗長パケットのうちのどの一部を、前記特定した接続のうちのどの一つに対応するアドレスに従ってパケットが前記ルータから前記ユーザネットワークへ転送される経路へ、転送すべきかを選択することを特徴とする請求項1記載のパケット転送制御方法。   Based on the communication environment provided to the user network using each connection, which part of the received packet and the created redundant packet corresponds to which one of the specified connections 2. The packet transfer control method according to claim 1, wherein the packet transfer control method selects whether or not to transfer a packet along a route through which the packet is transferred from the router to the user network. 前記ルータを出発点とし前記複数の接続のうちのある一つを利用することにより前記ユーザネットワークへ至る経路におけるパケット転送の通信品質と、前記ルータを出発点とし前記複数の接続のうちの他の一つを利用することにより前記ユーザネットワークへ至る経路におけるパケット転送の通信品質とを計測し、
前記選択は、計測した各通信品質を、前記各接続を利用して前記ユーザネットワークに提供される通信環境として用いることにより、行うことを特徴とする請求項9記載のパケット転送制御方法。
The communication quality of packet transfer in the route to the user network by using one of the plurality of connections starting from the router, and the other of the plurality of connections starting from the router Measure the packet transfer communication quality in the route to the user network by using one,
The packet transfer control method according to claim 9, wherein the selection is performed by using each measured communication quality as a communication environment provided to the user network using each connection.
前記ユーザネットワークが観測した、前記複数の接続のうちのある一つによるインターネットと前記ユーザネットワークとの間のパケットトラフィック及び前記複数の接続のうちの他の一つによるインターネットと前記ユーザネットワークとの間のパケットトラフィックに関する情報を、受信し、
前記選択は、受信した各トラフィックに関する情報を、前記各接続を利用して前記ユーザネットワークに提供される通信環境として用いることにより、行うことを特徴とする請求項9記載のパケット転送制御方法。
Packet traffic between the Internet and one of the plurality of connections observed by the user network and between the Internet and the user network via the other one of the plurality of connections. Receive information about packet traffic,
The packet transfer control method according to claim 9, wherein the selection is performed by using information regarding each received traffic as a communication environment provided to the user network using each connection.
前記ユーザネットワークに提供される各接続について、その接続を利用して前記ルータから前記ユーザネットワークへの転送が行われる経路が、正常に動作しているか否かを確認し、
前記特定は、前記特定した接続のうちの少なくとも一つが、正常に動作していることを確認した経路であるように、行うことを特徴とする請求項1記載のパケット転送制御方法。
For each connection provided to the user network, check whether the path through which the transfer from the router to the user network is performed using the connection is operating normally,
2. The packet transfer control method according to claim 1, wherein the specifying is performed such that at least one of the specified connections is a path that has been confirmed to be operating normally.
前記確認は、前記ルータから前記各接続へ向けて所定間隔毎に確認メッセージを送信することにより、行い、
前記確認メッセージを送信する間隔を、前記各接続を利用して転送が行われる経路の通信品質に基づいて、変更することを特徴とする請求項12記載のパケット転送制御方法。
The confirmation is performed by sending a confirmation message at predetermined intervals from the router toward each connection,
13. The packet transfer control method according to claim 12, wherein an interval at which the confirmation message is transmitted is changed based on a communication quality of a route through which the transfer is performed using each connection.
記憶した前記情報、もしくは、前記ユーザネットワークのアドレスと前記ルータのアドレスとの対応を表わす情報を、他のルータへ送信することを特徴とする請求項1記載のパケット転送制御方法。 2. The packet transfer control method according to claim 1, wherein the stored information or information indicating a correspondence between the address of the user network and the address of the router is transmitted to another router. インターネットとの接続を複数提供されるユーザネットワークの、インターネットとの接続点に設けられたユーザルータにおいて、パケットの転送を制御する方法であって、
インターネット内に設けられたルータであって前記ユーザネットワークに提供される複数の接続のうち少なくとも二つの接続を利用して冗長性を有するパケット群を転送する機能を備えるルータに対し、前記ユーザネットワークの識別情報と前記複数の接続のそれぞれに対応して割り当てられたアドレスのうち前記ユーザルータに割り当てられたアドレスに関する情報とを送信し、
前記複数の接続のうち前記ユーザルータに提供される接続に対応するアドレスに従った経路で転送された前記ユーザネットワーク宛のパケットを受信することを特徴とするパケット転送制御方法。
A method of controlling packet forwarding in a user router provided at a connection point with the Internet of a user network provided with a plurality of connections with the Internet,
A router provided in the Internet and having a function of transferring a packet group having redundancy using at least two of a plurality of connections provided to the user network. Transmitting identification information and information related to an address assigned to the user router among addresses assigned corresponding to each of the plurality of connections;
A packet transfer control method, comprising: receiving a packet addressed to the user network transferred through a route according to an address corresponding to a connection provided to the user router among the plurality of connections.
送信される前記ユーザネットワークの識別情報は、前記ユーザネットワークのアドレス情報、もしくは、前記機能を備えるルータにより前記ユーザネットワークのアドレスに変換可能な情報であることを特徴とする請求項15記載のパケット転送制御方法。 16. The packet transfer according to claim 15 , wherein the transmitted identification information of the user network is address information of the user network or information that can be converted into an address of the user network by a router having the function. Control method. 前記複数の接続のうち前記ユーザルータに提供される接続を介して前記ユーザネットワークに提供される通信環境を観測し、観測により得られた情報を、前記機能を備えるルータへ送信することを特徴とする請求項15記載のパケット転送制御方法。 Observing a communication environment provided to the user network through a connection provided to the user router among the plurality of connections, and transmitting information obtained by the observation to a router having the function, The packet transfer control method according to claim 15 . 前記少なくとも二つの接続から前記ユーザネットワーク宛のパケットが重複して受信された場合、複数の同一パケットのうちいずれか一つのパケットを残して他のパケットを廃棄することを特徴とする請求項15記載のパケット転送制御方法。 16. The method according to claim 15, wherein when a packet addressed to the user network is received in duplicate from the at least two connections, any one of the plurality of identical packets is left and another packet is discarded. Packet transfer control method. 前記少なくとも二つの接続から前記ユーザネットワーク宛のパケット及び誤り訂正パケットが受信され、受信されるべき前記ユーザネットワーク宛の別のパケットの紛失が検出された場合、前記誤り訂正パケットを用いて紛失したパケットを復元することを特徴とする請求項15記載のパケット転送制御方法。 When a packet addressed to the user network and an error correction packet are received from the at least two connections, and a loss of another packet addressed to the user network to be received is detected, the lost packet using the error correction packet 16. The packet transfer control method according to claim 15 , wherein the packet transfer control method is restored. 受信した前記パケットの宛先アドレスフィールドには前記選択された接続に対応するアドレスが書き込まれており、
前記宛先アドレスフィールドを、前記ユーザネットワークのアドレスに基づいて書き換えて、受信した前記パケットを前記ユーザネットワーク内のノードへ転送することを特徴とする請求項15記載のパケット転送制御方法。
The address corresponding to the selected connection is written in the destination address field of the received packet,
The packet transfer control method according to claim 15 , wherein the destination address field is rewritten based on an address of the user network, and the received packet is transferred to a node in the user network.
前記送信は、前記ユーザネットワークの識別情報及び各接続に対応して割り当てられたアドレスに関する情報を、前記複数の接続のうちの一つを利用して送信するものであり、
前記複数の接続のうちの他の少なくとも一つが切断された場合には、該他の少なくとも一つの接続に対応して割り当てられたアドレスに関する情報の送信を停止することを特徴とする請求項15記載のパケット転送制御方法。
The transmission is to transmit identification information of the user network and information related to an address assigned corresponding to each connection using one of the plurality of connections,
16. The transmission of information relating to an address assigned corresponding to at least one other connection is stopped when at least one other of the plurality of connections is disconnected. Packet transfer control method.
前記ユーザネットワークの識別情報及び前記ユーザルータに割り当てられたアドレスに関する情報の送信は、前記複数の接続のうち前記ユーザルータに割り当てられたアドレスが対応する接続を利用して行うことを特徴とする請求項15記載のパケット転送制御方法。 The transmission of the identification information of the user network and the information related to the address assigned to the user router is performed using a connection corresponding to the address assigned to the user router among the plurality of connections. Item 16. The packet transfer control method according to Item 15 . インターネットを構成するルータとして機能するコンピュータにおいて実行される、パケットの転送を制御するためのプログラムであって、
前記ルータが、インターネットとの接続を複数提供されるユーザネットワークから、前記ユーザネットワークの識別情報と各接続を提供するプロバイダが前記各接続に対応して割り当てたアドレスに関する情報とを受信すると、前記識別情報から前記ユーザネットワークのアドレスを求め、
前記ユーザネットワークのアドレスと各接続を提供するプロバイダが前記各接続に対応して割り当てたアドレスとの対応を表わす情報を記憶し、
前記ユーザネットワークのアドレスを宛先に含むパケットを受信すると、記憶した前記情報と前記パケットに基づいて、前記ユーザネットワークに提供される複数の接続のうちの少なくとも二つを特定し、
前記パケットの冗長パケットを作成し、
前記ルータに、前記特定した接続のうちの一つに対応するアドレスに従ってパケットが前記ユーザネットワークへ転送される経路へ、受信した前記パケット及び作成した前記冗長パケットのうちの一部を転送させるとともに、記特定した接続のうちの他の一つに対応するアドレスに従ってパケットが前記ユーザネットワークへ転送される経路へ、受信した前記パケット及び作成した前記冗長パケットのうちの他の一部を転送させることを特徴とするパケット転送制御プログラム。
A program for controlling packet transfer, executed in a computer functioning as a router constituting the Internet,
When the router receives, from a user network provided with a plurality of connections to the Internet , identification information of the user network and information regarding addresses assigned to each connection by a provider providing each connection, the identification Obtaining the address of the user network from the information;
Storing information representing a correspondence between an address of the user network and an address assigned by the provider providing each connection corresponding to each connection;
Upon receiving a packet containing the address of the user network to the destination, based on the stored the information and the packet, at least to identify two of the plurality of connections provided to the user network,
Create a redundant packet of the packet,
Causing the router to forward a portion of the received packet and the created redundant packet to a path through which the packet is forwarded to the user network according to an address corresponding to one of the identified connections; Forwarding the received packet and the other part of the created redundant packet to a path through which the packet is forwarded to the user network according to an address corresponding to the other one of the specified connections. A characteristic packet transfer control program.
インターネットとの接続を複数提供されるユーザネットワークの、インターネットとの接続点に設けられたユーザルータとして機能するコンピュータにおいて実行される、パケットの転送を制御するためのプログラムであって、
前記ユーザルータに、インターネット内に設けられたルータであって前記ユーザネットワークに提供される複数の接続のうち少なくとも二つの接続を利用して冗長性を有するパケット群を転送する機能を備えるルータに対し、前記ユーザネットワークの識別情報と前記複数の接続のそれぞれに対応して割り当てられたアドレスのうち前記ユーザルータに割り当てられたアドレスに関する情報とを送信させ、
前記ユーザルータに、前記複数の接続のうち前記ユーザルータに提供される接続に対応するアドレスに従った経路で転送された前記ユーザネットワーク宛のパケットを受信させることを特徴とするパケット転送制御プログラム。
A program for controlling packet transfer, which is executed in a computer functioning as a user router provided at a connection point with the Internet of a user network provided with a plurality of connections with the Internet,
For a router provided in the Internet and having a function of transferring a packet group having redundancy using at least two of a plurality of connections provided to the user network to the user router The user network identification information and information related to the address assigned to the user router among the addresses assigned corresponding to each of the plurality of connections,
A packet transfer control program for causing the user router to receive a packet addressed to the user network transferred through a route according to an address corresponding to a connection provided to the user router among the plurality of connections.
インターネットとの接続が複数提供されるユーザネットワークから、前記ユーザネットワークの識別情報と各接続を提供するプロバイダが前記各接続に対応して割り当てたアドレスに関する情報とを受信する第1の受信手段と、
前記第1の受信手段により受信した前記識別情報から前記ユーザネットワークのアドレスを求める手段と、
前記ユーザネットワークのアドレスに対応して、前記複数の接続のそれぞれを提供するプロバイダが前記各接続に対応して割り当てたアドレスを記憶する記憶手段と、
前記ユーザネットワークを宛先とするパケットを受信する第2の受信手段と、
前記第2の受信手段により受信されたパケットの冗長パケットを作成する作成手段と、
前記第2の受信手段により受信されたパケットに基づいて、前記記憶手段に記憶された複数のアドレスのうちいずれのアドレスに従った経路で前記パケット及び前記冗長パケットのそれぞれが転送されるべきかを決定する制御手段と、
前記制御手段により決定された前記ユーザネットワークへ至る経路のそれぞれに、前記パケット及び前記冗長パケットのそれぞれを転送する転送手段とを具備したことを特徴とするルータ装置。
First receiving means for receiving, from a user network provided with a plurality of connections to the Internet , identification information of the user network and information relating to addresses assigned by the provider providing each connection corresponding to each connection;
Means for obtaining an address of the user network from the identification information received by the first receiving means;
Storage means for storing addresses assigned in correspondence to the respective connections by a provider that provides each of the plurality of connections in correspondence with addresses of the user network;
Second receiving means for receiving a packet destined for the user network;
Creating means for creating a redundant packet of the packet received by the second receiving means;
Based on the packet received by the second receiving means, it is determined which of the plurality of addresses stored in the storage means is to be forwarded by each of the packet and the redundant packet through a route according to which address. Control means to determine;
A router apparatus comprising: a transfer unit configured to transfer each of the packet and the redundant packet to each of the routes to the user network determined by the control unit.
インターネットとの接続が複数提供されるユーザネットワークに属する自装置に、前記複数の接続のうち少なくとも一つに対応して割り当てられた、少なくとも一つのアドレスを記憶する記憶手段と、
インターネット内に設けられたルータであって前記複数の接続のうち少なくとも二つの接続を利用して冗長性を有するパケット群を転送する機能を備えるルータに対し、前記ユーザネットワークの識別情報と前記自装置に割り当てられたアドレスに関する情報とを送信する送信手段と、
前記複数の接続のうち自装置に提供される接続に対応するアドレスに従った経路で転送された前記ユーザネットワーク宛のパケットを受信する受信手段と、
前記受信手段が受信したパケットから前記冗長性を除いて前記ユーザネットワーク内のノードに転送する転送手段とを具備したことを特徴とするユーザルータ装置。
Storage means for storing at least one address assigned to at least one of the plurality of connections to the own device belonging to a user network provided with a plurality of connections to the Internet;
For the router provided in the Internet and having a function of transferring a packet group having redundancy using at least two of the plurality of connections, the identification information of the user network and the own device Transmitting means for transmitting information relating to the address assigned to
Receiving means for receiving a packet addressed to the user network transferred through a route according to an address corresponding to a connection provided to the own device among the plurality of connections;
A user router apparatus comprising: a transfer unit configured to transfer the packet received by the receiving unit to a node in the user network by removing the redundancy.
前記冗長性を有するパケット群のうち一部が前記受信手段により受信され、他の一部が前記複数の接続のうち他のユーザルータ装置に提供される接続を利用して転送される場合に、前記他のユーザルータ装置により受信された各パケットについての識別情報を受信する手段を更に備え、
前記転送手段は、受信した前記識別情報を用いて前記冗長性を除くものであることを特徴とする請求項26記載のユーザルータ装置。
When a part of the packet group having redundancy is received by the receiving unit and the other part is transferred using a connection provided to another user router device among the plurality of connections, Means for receiving identification information for each packet received by the other user router device;
27. The user router apparatus according to claim 26 , wherein the transfer unit removes the redundancy by using the received identification information.
インターネットとの接続を複数提供されるユーザネットワークの、インターネットとの接続点に設けられたユーザルータにおいて、パケットの転送を制御する方法であって、
前記ユーザネットワーク内のノードからインターネットへのパケットを受信し、
受信した前記パケットの冗長パケットを作成し、
受信した前記パケット及び作成した前記冗長パケットのうちの一部を、前記複数の接続のうちの一つを通って、インターネット内に設けられたルータであって冗長性を有するパケット群を受信すると該冗長性を除く機能を備えるルータのアドレスへ向けてパケットが転送される経路へ、転送し、
受信した前記パケット及び作成した前記冗長パケットのうちの他の一部を、前記複数の接続のうちの他の一つを通って、前記ルータのアドレスへ向けてパケットが転送される経路へ、転送することを特徴とするパケット転送制御方法。
A method of controlling packet forwarding in a user router provided at a connection point with the Internet of a user network provided with a plurality of connections with the Internet,
Receiving packets from the nodes in the user network to the Internet;
Create a redundant packet of the received packet,
When the received packet and a part of the created redundant packet pass through one of the plurality of connections and are a router provided in the Internet and receive a packet group having redundancy, the packet Forward to the route where the packet is forwarded to the address of the router with the function to remove redundancy,
Forward the received packet and the other part of the created redundant packet to the path through which the packet is forwarded to the router address through the other one of the plurality of connections And a packet transfer control method.
インターネットとの接続を複数提供されるユーザネットワークの、インターネットとの接続点に設けられたユーザルータとして機能するコンピュータにおいて実行される、パケットの転送を制御するためのプログラムであって、A program for controlling packet transfer, which is executed in a computer functioning as a user router provided at a connection point with the Internet of a user network provided with a plurality of connections with the Internet,
前記ユーザルータが、前記ユーザネットワーク内のノードからインターネットへのパケットを受信すると、前記パケットの冗長パケットを作成し、When the user router receives a packet from the node in the user network to the Internet, it creates a redundant packet of the packet,
前記ユーザルータに、受信した前記パケット及び作成した前記冗長パケットのうちの一部を、前記複数の接続のうちの一つを通って、インターネット内に設けられたルータであって冗長性を有するパケット群を受信すると該冗長性を除く機能を備えるルータのアドレスへ向けてパケットが転送される経路へ、転送させ、A packet provided to the user router and having a part of the received redundant packet and the generated redundant packet is a router provided in the Internet through one of the plurality of connections and having redundancy When a group is received, it is forwarded to a route where the packet is forwarded to the address of the router having the function of removing the redundancy,
前記ユーザルータに、受信した前記パケット及び作成した前記冗長パケットのうちの他の一部を、前記複数の接続のうちの他の一つを通って、前記ルータのアドレスへ向けてパケットが転送される経路へ、転送させることを特徴とするパケット転送制御プログラム。The packet is forwarded to the user router through the other part of the plurality of connections through the other part of the received packet and the created redundant packet toward the address of the router. A packet transfer control program characterized by causing a packet to be transferred to a route.
自装置の属するユーザネットワークに複数提供されるインターネットとの接続のうちの少なくとも一つに接続する接続手段と、
前記ユーザネットワーク内のノードからインターネットへのパケットを受信する受信手段と、
前記受信手段により受信したパケットの冗長パケットを作成する作成手段と、
前記パケット及び前記冗長パケットのうちの一部を、前記接続手段が接続する接続を通って、インターネット内に設けられたルータであって冗長性を有するパケット群を受信すると該冗長性を除く機能を備えるルータのアドレスへ向けてパケットが転送される経路へ、転送する転送手段と、
前記パケット及び前記冗長パケットのうちの他の一部は、前記複数の接続のうちの他の一つを通って、前記ルータのアドレスへ向けてパケットが転送される経路へ転送されるように、制御する制御手段とを具備したことを特徴とするユーザルータ装置。
Connection means for connecting to at least one of the connections to the Internet provided to a plurality of user networks to which the device belongs;
Receiving means for receiving packets from a node in the user network to the Internet;
Creating means for creating a redundant packet of the packet received by the receiving means;
When a packet group having redundancy is received by a router provided in the Internet through a connection to which the connection means connects a part of the packet and the redundant packet, a function of removing the redundancy is provided. A transfer means for transferring the packet to a route to which the packet is transferred to the address of the router provided;
So that the other part of the packet and the redundant packet is forwarded through the other one of the plurality of connections to the path where the packet is forwarded to the address of the router, And a control means for controlling the user router apparatus.
JP2003323667A 2003-02-19 2003-09-16 Router apparatus and packet transfer control method Expired - Lifetime JP4277189B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003323667A JP4277189B2 (en) 2003-02-19 2003-09-16 Router apparatus and packet transfer control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003041858 2003-02-19
JP2003323667A JP4277189B2 (en) 2003-02-19 2003-09-16 Router apparatus and packet transfer control method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008206103A Division JP2008301517A (en) 2003-02-19 2008-08-08 Router apparatus and packet transfer controlling method

Publications (2)

Publication Number Publication Date
JP2004274703A JP2004274703A (en) 2004-09-30
JP4277189B2 true JP4277189B2 (en) 2009-06-10

Family

ID=33134162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003323667A Expired - Lifetime JP4277189B2 (en) 2003-02-19 2003-09-16 Router apparatus and packet transfer control method

Country Status (1)

Country Link
JP (1) JP4277189B2 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826093B2 (en) 2005-01-19 2014-09-02 Qualcomm Incorporated Power saving method for coded transmission
US20090010248A1 (en) * 2005-02-25 2009-01-08 Takeo Kanai Data Communication System and Data Communication Method
JP4699099B2 (en) 2005-06-14 2011-06-08 富士通株式会社 Communication control device and communication control method
JP2007235621A (en) * 2006-03-01 2007-09-13 Nec Corp Data transmission system and data transmission method
JP4680808B2 (en) * 2006-03-15 2011-05-11 三菱電機株式会社 Connection monitoring device
US8730981B2 (en) * 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US8296778B2 (en) 2006-06-27 2012-10-23 International Business Machines Corporation Computer data communications in a high speed, low latency data communications environment
US8122144B2 (en) 2006-06-27 2012-02-21 International Business Machines Corporation Reliable messaging using redundant message streams in a high speed, low latency data communications environment
US8676876B2 (en) * 2006-06-27 2014-03-18 International Business Machines Corporation Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment
US8134989B2 (en) * 2007-03-21 2012-03-13 Telefonaktiebolaget Lm Ericsson (Publ) Session control in SIP-based media services
JP5105327B2 (en) * 2007-06-12 2012-12-26 日本電信電話株式会社 Overlay node, overlay network including the overlay node, overlay routing method, and program therefor
JP2009071462A (en) * 2007-09-12 2009-04-02 Nec Corp Communication apparatus, communication system, and communication control method
JP2009272800A (en) * 2008-05-02 2009-11-19 Kddi Corp Quality measurement system, reception device, quality measuring method, and program
US8700821B2 (en) * 2008-08-22 2014-04-15 Intel Corporation Unified multi-transport medium connector architecture
JP5150413B2 (en) * 2008-08-29 2013-02-20 株式会社日立製作所 Data communication method using multiple connections
JPWO2010116616A1 (en) * 2009-03-30 2012-10-18 日本電気株式会社 Relay device and delivery control method in stream delivery system
JP2011176424A (en) * 2010-02-23 2011-09-08 Hitachi Information Systems Ltd Communication method and switching hub device
WO2011155064A1 (en) * 2010-06-11 2011-12-15 株式会社日立製作所 Relay communication device and multi-stage relay communication system
JP5212503B2 (en) * 2011-02-23 2013-06-19 沖電気工業株式会社 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
US8953644B2 (en) 2011-12-27 2015-02-10 Intel Corporation Multi-protocol I/O interconnect time synchronization
US8782321B2 (en) 2012-02-08 2014-07-15 Intel Corporation PCI express tunneling over a multi-protocol I/O interconnect
US8880923B2 (en) 2012-03-29 2014-11-04 Intel Corporation Link power management in an I/O interconnect
JP5969689B2 (en) * 2012-04-18 2016-08-17 アクメ パケット インコーポレイテッドAcme Packet, Inc. Redundancy for real-time communication
JP6690093B2 (en) 2016-08-10 2020-04-28 富士通株式会社 Judgment program, communication device, and judgment method
JP2020195245A (en) * 2019-05-30 2020-12-03 株式会社日立製作所 System monitoring device and system monitoring method
EP4319061A1 (en) * 2021-03-25 2024-02-07 Sony Group Corporation Onboard communication device, communication method, and communication system

Also Published As

Publication number Publication date
JP2004274703A (en) 2004-09-30

Similar Documents

Publication Publication Date Title
JP4277189B2 (en) Router apparatus and packet transfer control method
US11032197B2 (en) Reroute detection in segment routing data plane
US7336615B1 (en) Detecting data plane livelines in connections such as label-switched paths
US7188189B2 (en) System and method to improve the resiliency and performance of enterprise networks by utilizing in-built network redundancy
US6751190B1 (en) Multihop nested tunnel restoration
US20150003240A1 (en) Adaptive call routing in ip networks
JP4449903B2 (en) Router device and network connection method
US7839767B2 (en) Path reroute in a computer network
JP5416596B2 (en) Network relay device, network system, and control method thereof
US20080159288A1 (en) TRAFFIC ENGINEERING AND FAST PROTECTION USING IPv6 CAPABILITIES
US8009683B2 (en) IP network system
US20100008375A1 (en) Label switching in fibre channel networks
US20060198321A1 (en) System and methods for network reachability detection
JP4109692B2 (en) Session establishment method and label switch node in label switch network
JP3665622B2 (en) Source address selection system, router device, communication node, and source address selection method
KR20090003225A (en) Connecting multi-hop mesh networks using mac bridge
CN112118182A (en) IP path tunnel for sending traffic engineering
WO2005034440A1 (en) Router selecting method and router apparatus
CN113056891B (en) Source routing tunnel ingress node protection
JP2004128723A (en) Label switch router and path switching control method thereof
JP2005524261A (en) Traffic network flow control method using dynamically modified metric values for redundant connections
JP3736554B2 (en) Router apparatus and packet transfer control method
JPWO2005057864A1 (en) Network path switching system
JP2008301517A (en) Router apparatus and packet transfer controlling method
US20210250283A1 (en) Ping and traceroute in inter-autonomous system (as) segment routing (sr) networks without requiring headend router or path monitoring system (pms) controller knowledge of topology outside of origin as

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080808

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: 20090127

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090225

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4277189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term