JP5022412B2 - Route information management system, route information management method, and program - Google Patents

Route information management system, route information management method, and program Download PDF

Info

Publication number
JP5022412B2
JP5022412B2 JP2009180328A JP2009180328A JP5022412B2 JP 5022412 B2 JP5022412 B2 JP 5022412B2 JP 2009180328 A JP2009180328 A JP 2009180328A JP 2009180328 A JP2009180328 A JP 2009180328A JP 5022412 B2 JP5022412 B2 JP 5022412B2
Authority
JP
Japan
Prior art keywords
router
route
acquisition
destination
route calculation
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 - Fee Related
Application number
JP2009180328A
Other languages
Japanese (ja)
Other versions
JP2011035686A (en
Inventor
ペルサー クリステル
暁生 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009180328A priority Critical patent/JP5022412B2/en
Publication of JP2011035686A publication Critical patent/JP2011035686A/en
Application granted granted Critical
Publication of JP5022412B2 publication Critical patent/JP5022412B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、IP(Internet Protocol)ネットワークにおいて、インタードメインの経路情報をAS(自律システム;Autonomous System)内で分散保持する技術に関する。   The present invention relates to a technique for distributing and holding inter-domain route information in an AS (Autonomous System) in an IP (Internet Protocol) network.

インターネット等のIPネットワークは、異なる組織によって運営される多数のASが接続されて形成されている。AS間は、それぞれのASの境界ルータによって接続されている。ASは、そのASの外部を宛先とするパケットを転送する必要があるため、インターネットの経路情報をAS間でBGP(Border Gateway Protocol)を用いて交換している。そして、AS内のすべてのルータは、AS外部の外部経路情報をすべて保持する必要がある。具体的には、ASの境界ルータ同士は、eBGP(external BGP)によって、AS外部の宛先プリフィクス(prefix)(IPアドレスの集合)に対する外部経路情報(AS外部のどの境界ルータにパケットを転送すれば宛先に到達するかの情報)を交換している。そして、その外部経路情報は、iBGP(internal BGP)によって、AS内のルータに広告される。ただし、iBGPを用いてルータ間で広告するためには、IGP(Interior Gateway Protocol)によってルータ間が通信可能に接続されている必要がある。   An IP network such as the Internet is formed by connecting a number of ASs operated by different organizations. The ASs are connected by boundary routers of each AS. Since the AS needs to transfer a packet destined for the outside of the AS, the Internet route information is exchanged between the ASs using BGP (Border Gateway Protocol). All routers in the AS must hold all external route information outside the AS. Specifically, the AS boundary routers can forward external route information (a set of IP addresses) to the AS external destination prefix (a set of IP addresses) by eBGP (external BGP). Information on whether to reach the destination) is exchanged. The external route information is advertised to the router in the AS by iBGP (internal BGP). However, in order to advertise between routers using iBGP, the routers need to be connected to each other by IGP (Interior Gateway Protocol).

広告された外部経路情報を受信したルータは、受信した外部経路情報に基づいて、宛先プリフィクスごとに、どの境界ルータに転送すれば宛先に到達できるのかを示した転送経路、すなわち、最適な転送経路を計算して保持していた。したがって、ルータは、宛先プリフィクスの数に対応する外部経路情報および経路計算によって算出した転送経路情報を記憶する必要があった。また、ルータは、宛先プリフィクスの数に対応する外部経路情報をメッセージとして広告する必要があった。   The router that has received the advertised external route information indicates, based on the received external route information, a transfer route that indicates which border router can be reached for each destination prefix, that is, an optimal transfer route. Was calculated and held. Therefore, the router has to store external route information corresponding to the number of destination prefixes and transfer route information calculated by route calculation. Also, the router needs to advertise external route information corresponding to the number of destination prefixes as a message.

近年は、インターネットの急速な拡大にともなって、インターネット上に存在する宛先プリフィクスの数が増大してきている。そのため、インターネットサービスプロバイダ等のネットワーク事業者は、ネットワーク設備であるルータ等における、保持すべき経路情報の記憶容量の拡張や経路計算の処理負荷量の増大に対処せざるを得なくなり、設備更改のコスト負担増を強いられている。また、ルータ一台当りの、保持すべき経路数の増大、送信する必要のあるメッセージ数の増大、および経路計算の処理負荷量の増大は、転送すべきパケットを受信してからBGP転送経路を決定するまでの時間の増大をもたらすため、ネットワーク制御の安定性に大きな影響を及ぼす虞がある。   In recent years, with the rapid expansion of the Internet, the number of destination prefixes existing on the Internet has increased. Therefore, network operators such as Internet service providers have to deal with expansion of storage capacity of route information to be retained and increase of processing load of route calculation in routers etc. that are network equipment. Increased cost burden. In addition, the increase in the number of routes to be held per router, the increase in the number of messages that need to be transmitted, and the increase in the processing load of route calculation are as follows. This may increase the time until the determination, which may greatly affect the stability of network control.

従来技術では、ルータの処理負荷の低減のために、ルートリフレクタ(RR)(非特許文献1参照)またはASコンフェデレーション(非特許文献2参照)を導入することによって、iBGPを用いて広告するiBGPセッション数の削減が図られている。ルートリフレクタ(RR)は、ピアを確立したルートリフレクタクライアントとの間だけで外部経路情報を転送し、ピアを確立していないルートリフレクタクライアント同士では転送を行わない。そのため、ルートリフレクタ(RR)は、AS内に確立すべきピア数を、iBGPを用いてAS内の各ルータ間をフルメッシュで接続する場合より減少することが可能である。また、ASコンフェデレーションは、AS内にいくつかのサブASを構成することによって、ピア数をフルメッシュの場合より減少することが可能である。このように、ルートリフレクタ(RR)またはASコンフェデレーションでは、ピア数を減少できるため、ルータの処理負荷の増大を抑制することが可能である。   In the prior art, iBGP advertises using iBGP by introducing a route reflector (RR) (see Non-Patent Document 1) or AS confederation (see Non-Patent Document 2) in order to reduce the processing load of the router. The number of sessions is being reduced. The route reflector (RR) transfers external route information only between route reflector clients that have established peers, and does not transfer between route reflector clients that have not established peers. Therefore, the route reflector (RR) can reduce the number of peers to be established in the AS compared to a case where each router in the AS is connected with a full mesh using iBGP. Also, in AS confederation, the number of peers can be reduced as compared to the case of full mesh by configuring several sub-ASs in the AS. As described above, in the route reflector (RR) or AS confederation, the number of peers can be reduced, so that an increase in processing load on the router can be suppressed.

また、ルータの記憶容量を低減するために、Compact Routing(非特許文献3,4参照)が提案されている。Compact Routingは、パケットを一旦経路の集約点となるルータに向けて転送し、その集約点となるルータから宛先アドレスへ転送する技術である。すなわち、Compact Routingは、経路を集約することによって、各ルータの経路情報の保持に要する記憶容量を低減している。   In order to reduce the storage capacity of the router, Compact Routing (see Non-Patent Documents 3 and 4) has been proposed. Compact routing is a technology that transfers packets once to a router that becomes an aggregation point of routes, and transfers the packets from the router that becomes the aggregation point to a destination address. In other words, Compact Routing reduces the storage capacity required for holding route information of each router by aggregating routes.

T.Bates, E.Chen, and R.Chandra,“BGP Route Reflection : An Alternative to Full Mesh Internal BGP (IBGP)”,RFC4456,IETF,2006年4月T. Bates, E. Chen, and R. Chandra, “BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)”, RFC 4456, IETF, April 2006 P.Traina, D.McPherson, and J.Scudder,“Autonomous System Confederations for BGP”,RFC5065,IETF,2007年8月P.Traina, D.McPherson, and J.Scudder, “Autonomous System Confederations for BGP”, RFC 5065, IETF, August 2007 D.Krioukov, kc claffy, K.Fall, and A.Brady,“On Compact Routing for the Internet”,SIGCOMM Comput. Commun. Rev.,Vol.37, No.3, 2007年7月, p.41-52D. Krioukov, kc claffy, K. Fall, and A. Brady, “On Compact Routing for the Internet”, SIGCOMM Comput. Commun. Rev., Vol.37, No.3, July 2007, p.41- 52 P.Francis, X.Xu, and H.Ballani,“FIB Suppression with Virtual Aggregation”,internet Draft, draft-ietf-grow-va-00.txt,2009年5月P.Francis, X.Xu, and H.Ballani, “FIB Suppression with Virtual Aggregation”, internet Draft, draft-ietf-grow-va-00.txt, May 2009

しかしながら、非特許文献1に記載のルートリフレクタ(RR)を用いる方法、および非特許文献2に記載のASコンフェデレーションを用いる方法は、iBGPトポロジがフルメッシュでなくなり、また外部経路情報を交換する際にiBGPセッションにおいて宛先プリフィクス(以降、プリフィクスともいう。)ごとに1つの経路情報しか広告しない。そのため、iBGPセッション数が削減されて、ルータの処理負荷の低減や、経路情報の記憶容量の低減にある程度の効果は認められる。しかし、ルータが一部の経路情報しか記憶しないため、不完全な外部経路情報に基づいて経路計算が実行されてしまうので、経路計算の結果が必ずしも最適とならず、また計算された経路がループとなって収束しないことがあるという問題が発生する。   However, in the method using the route reflector (RR) described in Non-Patent Document 1 and the method using AS confederation described in Non-Patent Document 2, the iBGP topology is not a full mesh, and external route information is exchanged. In the iBGP session, only one route information is advertised for each destination prefix (hereinafter also referred to as a prefix). Therefore, the number of iBGP sessions is reduced, and a certain degree of effect is recognized in reducing the processing load of the router and the storage capacity of the path information. However, since the router stores only a part of route information, route calculation is performed based on incomplete external route information, so the result of route calculation is not necessarily optimal, and the calculated route is not a loop. As a result, there is a problem that it may not converge.

また、非特許文献3,4に記載のCompact Routingを用いる方法は、パケットを一旦経路の集約点となるルータに集めるため、パケットの転送経路が必ずしも最適(最短)とならず、ネットワークのリソースを無駄に使用するという問題が発生する。   In addition, in the method using Compact Routing described in Non-Patent Documents 3 and 4, since packets are once collected in a router as a route aggregation point, the transfer route of packets is not necessarily optimal (shortest), and network resources are reduced. The problem of uselessness occurs.

そこで、本発明の課題は、前記した問題を解決しつつ、すなわち、すべての経路情報に基づいて経路計算を実行して最適な転送経路を算出することを満足しつつ、インターネットの今後の拡大に対応できる新しいルーティングアーキテクチャとして、ルータ一台当りに保持すべき経路数(記憶容量)の増大、送信するメッセージ数の増大、および処理負荷の増大を抑制する技術を提供することを目的とする。   Therefore, an object of the present invention is to solve the above-mentioned problem, that is, satisfying that the route calculation is performed based on all the route information and the optimum transfer route is calculated, and the future expansion of the Internet. It is an object of the present invention to provide a technology that suppresses an increase in the number of routes (storage capacity) to be held per router, an increase in the number of messages to be transmitted, and an increase in processing load as a new routing architecture that can be supported.

本発明は、IP(Internet Protocol)ネットワークを構成するAS(Autonomous System)内で、他のASから該他のASのIPアドレスの集合であるプリフィクスを含む外部経路情報を取得し、かつパケットを他のASに転送する複数のルータと、同一のプリフィクスを含む外部経路情報を前記ルータから収集して経路計算を実行する2以上の経路情報管理装置とが相互に通信可能に接続される経路情報管理システムであって、前記経路情報管理装置が、前記ルータから収集した前記プリフィクスごとに、そのプリフィクスを含む外部経路情報を用いて、前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合に属する少なくともいずれか1つのルータにおける、パケットの転送先のプリフィクスに至る転送経路を計算する経路計算を実行する経路計算部と、前記経路計算部によって経路計算されたルータ集合ごとの経路計算の結果を含む経路計算結果情報を送信する当該ルータ集合に属する所定数のルータを選択する格納先選択部と、当該経路計算結果情報を、前記格納先選択部によって選択された当該所定数のルータに送信する入出力部と、を備え、前記ルータが、転送すべきパケットを受信したときに、前記経路情報管理装置から受信した前記経路計算結果情報を参照して、該パケットの転送先を決定する転送経路決定部と、前記転送経路決定部によって決定された転送先に前記転送すべきパケットを送信する入出力部と、を備えることを特徴とする。   The present invention obtains external route information including a prefix, which is a set of IP addresses of other ASs, from other ASs in an AS (Autonomous System) that constitutes an IP (Internet Protocol) network, and other packets. Information management in which a plurality of routers that transfer to the AS and two or more route information management devices that collect external route information including the same prefix from the router and perform route calculation are connected to each other so as to be able to communicate with each other In the system, the path information management device uses the external path information including the prefix for each prefix collected from the router, and uses the external path information including the prefix as a unit of a group of two or more routers in the AS. Transfer route to the packet transfer destination prefix in at least one of the routers belonging to the set of routers Select a predetermined number of routers belonging to the router set that transmits the route calculation result information including the route calculation result for each router set calculated by the route calculation unit and the route calculation unit that executes the route calculation A storage destination selection unit, and an input / output unit that transmits the route calculation result information to the predetermined number of routers selected by the storage destination selection unit, and the router has received a packet to be transferred When referring to the route calculation result information received from the route information management device, the transfer route determination unit for determining the transfer destination of the packet, and the transfer to the transfer destination determined by the transfer route determination unit And an input / output unit for transmitting a power packet.

このような構成によれば、経路情報管理装置がプリフィクスに係る外部経路情報を格納するため、ルータに保持すべき経路数(記憶容量)を削減することができる。また、経路情報管理装置は、同一のプリフィクスに係る外部経路情報についてすべてを収集して経路計算を実行するため、経路計算結果が最適とならないという問題は発生しない。また、AS内に複数のルータ集合を設けた場合、そのルータ集合内のBGP経路はプリフィクスに対して共通になるため、経路情報管理装置は、ルータ集合内の一つのルータに対してだけ経路計算を実行すれば良くなる。そのため、経路情報管理装置は、すべてのルータに対して経路計算を実行する必要はなく処理負荷を低減することができる。また、ルータは、経路計算を実行しなくて良いため、処理負荷を低減することができる。さらに、経路情報管理装置によって算出されたルータ集合ごとの経路計算の結果は、ルータ集合内の所定数のルータにしか送信しないため、経路計算の結果をメッセージとして送信するときのメッセージ数を削減することができる。   According to such a configuration, since the route information management apparatus stores the external route information related to the prefix, the number of routes (storage capacity) to be held in the router can be reduced. Further, since the route information management apparatus collects all the external route information related to the same prefix and executes route calculation, there is no problem that the route calculation result is not optimal. In addition, when a plurality of router sets are provided in the AS, the BGP route in the router set is common to the prefix, so the route information management device calculates a route for only one router in the router set. If you run Therefore, the route information management apparatus does not need to perform route calculation for all routers, and can reduce the processing load. In addition, since the router does not need to perform route calculation, the processing load can be reduced. Furthermore, since the route calculation result for each router set calculated by the route information management device is transmitted only to a predetermined number of routers in the router set, the number of messages when the route calculation result is transmitted as a message is reduced. be able to.

本発明は、前記経路情報管理装置が、さらに、前記ルータ集合ごとに、少なくとも1以上のルータのルータIDとして、当該ルータの属する前記ルータ集合のルータ集合IDのビット列の後にハッシュ関数によって生成されたハッシュ値のビット列を連結したビット列を記憶する格納先ノード情報を格納する記憶部と、前記ルータ集合ごとに、前記経路計算結果情報の格納先の検索に用いる検索キーとして、当該ルータ集合のルータ集合IDのビット列、前記プリフィクスのビット列、前記プリフィクスに対するマスク値のビット列、およびパディングとしてすべて「0」のビット列を連結したビット列を生成する検索キー生成部と、を備え、前記格納先選択部が、前記格納先ノード情報に記憶している前記ルータIDと前記検索キーとの距離を、前記ルータIDと前記検索キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から送信先として選択することを特徴とする。   In the present invention, the route information management device is further generated by a hash function as a router ID of at least one router for each router set after a bit string of the router set ID of the router set to which the router belongs. A storage unit for storing storage destination node information for storing a bit string obtained by concatenating a bit string of hash values, and a router set of the router set as a search key used for searching the storage destination of the route calculation result information for each of the router sets An ID bit string, the prefix bit string, a bit string of a mask value for the prefix, and a search key generation unit that generates a bit string obtained by concatenating all the bit strings of “0” as padding, and the storage destination selection unit includes: Distance between the router ID stored in the storage node information and the search key Is calculated as the numerical value of the number of bits counted from the right for the bit position where “1” first appears from the left in the bit string indicating the exclusive OR for each bit of the router ID and the search key. Then, a predetermined number of routers are selected as destinations from the set of routers in ascending order of the calculated distance.

このような構成によれば、ルータIDのビット列にはルータ集合IDとハッシュ値とを含み、検索キーのビット列にはルータ集合IDとプリフィクスとを含み、ルータIDと検索キーとの距離の小さい順に所定数のルータが選択される。したがって、ルータ集合IDが一致して、プリフィクスに距離の近いハッシュ値を有するルータが選択される。そのため、選択される経路計算結果情報の格納先のルータがほぼ均等化される。すなわち、格納先のルータがルータ集合内でほぼ均等に選択されるようになり、ルータの記憶容量の平均化が実現できる。言い換えると、一台当りのルータの記憶容量は、すべての経路計算結果情報を記憶していた従来の一台のルータの記憶容量に比べて、低減できる。   According to such a configuration, the bit string of the router ID includes the router set ID and the hash value, the bit string of the search key includes the router set ID and the prefix, and the distance between the router ID and the search key is in ascending order. A predetermined number of routers are selected. Therefore, a router having a hash value with a matching router set ID and a distance close to the prefix is selected. Therefore, the storage destination routers for the selected route calculation result information are almost equalized. That is, the storage destination routers are selected almost evenly in the router set, and the router storage capacity can be averaged. In other words, the storage capacity of one router can be reduced as compared with the storage capacity of one conventional router that stores all route calculation result information.

本発明は、前記経路計算結果情報が、前記検索キーと、その検索キーに含まれるプリフィクスに対応する前記ルータ集合ごとの経路計算の結果とを関連付けた情報であることを特徴とする。   The present invention is characterized in that the route calculation result information is information in which the search key is associated with a result of route calculation for each router set corresponding to a prefix included in the search key.

このような構成によれば、経路計算結果情報が、検索キーと、その検索キーに含まれるプリフィクスに対応するルータ集合ごとの経路計算の結果とを関連付けた情報となっている。そのため、検索キーを媒介として、検索キーのプリフィクスに距離の近いノードIDのルータに、当該プリフィクスに対応するルータ集合ごとの経路計算の結果を記憶させることができる。したがって、あるプリフィクスに係る経路計算結果情報を探索する場合、当該プリフィクスを含む検索キーを用いれば、その検索キーに距離の近いノードIDのルータおよびそのルータに記憶されている当該プリフィクスに対応するルータ集合ごとの経路計算の結果を取得することができる。すなわち、一台当りのルータの記憶容量を抑制するために分散して記憶されている経路計算結果情報の中から、検索キーによって、その検索キーに含まれるプリフィクスに対応するルータ集合ごとの経路計算の結果を検索することが可能となる。   According to such a configuration, the route calculation result information is information in which the search key is associated with the result of route calculation for each router set corresponding to the prefix included in the search key. Therefore, the route calculation result for each router set corresponding to the prefix can be stored in the router having the node ID close to the prefix of the search key using the search key as a medium. Accordingly, when searching for route calculation result information related to a prefix, if a search key including the prefix is used, a router having a node ID close to the search key and a router corresponding to the prefix stored in the router The result of route calculation for each set can be acquired. That is, the route calculation for each set of routers corresponding to the prefix included in the search key is performed using the search key from the route calculation result information stored in a distributed manner to reduce the storage capacity of the router per unit. It becomes possible to search the result.

本発明は、前記ルータが、さらに、そのルータの属するルータ集合内の自身を除く少なくとも1以上のルータのルータIDを記憶する取得先ノード情報と前記経路計算結果情報とを記憶する記憶部と、転送すべきパケットを受信したとき、当該ルータの属するルータ集合IDのビット列、当該パケットの宛先IPアドレスのビット列、前記宛先IPアドレスに対するマスク値としてすべて「1」のビット列、およびパディングとしてすべて「0」のビット列を連結して形成される、取得キーを生成する取得キー生成部と、前記取得先ノード情報に記憶しているルータIDと前記取得キーとの距離を、前記ルータIDと前記取得キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から取得先として選択する取得先選択部と、を備え、前記転送経路決定部が、自身の前記記憶部に記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致するか否かを判定し、一致するものがある場合には、その検索キーに関連付けられた前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定し、一致するものがない場合には、前記取得先選択部によって取得先として選択されたルータに前記取得キーを送信して、当該ルータの記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致する前記ルータ集合ごとの経路計算の結果を取得して、その取得した前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定することを特徴とする。   In the present invention, the router further stores acquisition destination node information for storing router IDs of at least one router excluding itself in the router set to which the router belongs, and the route calculation result information, When a packet to be transferred is received, a bit string of a router set ID to which the router belongs, a bit string of a destination IP address of the packet, a bit string of all “1” as a mask value for the destination IP address, and all “0” as padding An acquisition key generation unit that generates an acquisition key, formed by concatenating the bit strings, a router ID stored in the acquisition destination node information, and a distance between the acquisition key, the router ID, and the acquisition key In the bit string indicating the exclusive OR of each bit, the bit position where “1” first appears from the left is shown. An acquisition destination selection unit that calculates a numerical value of the number of bits counted from the right, and selects a predetermined number of routers as acquisition destinations in ascending order of the calculated distance, and the transfer path determination unit includes Determining whether or not the search key of the route calculation result information stored in the storage unit and the acquisition key match, and if there is a match, the router associated with the search key Based on the route calculation results for each set, determine the transfer destination of the packet, and if there is no match, send the acquisition key to the router selected as the acquisition destination by the acquisition destination selection unit, Obtaining a route calculation result for each router set in which the search key and the acquisition key of the route calculation result information stored in the router match, and obtaining the route calculation for the obtained router set And determining a forwarding destination of the packet based on the results.

また、本発明は、前記転送経路決定部が、さらに、前記経路計算結果情報の検索キーと前記取得キーとが一致するものがない場合、前記取得キーの宛先IPアドレス部分の最後のゼロでないビットをゼロに変更するとともに、前記取得キーのマスク値部分の当該宛先IPアドレス部分の変更位置を含む右側のビットをゼロに変更し、その変更したビット列を新たな取得キーに設定し、その新たな取得キーを用いて、自身の前記取得先選択部によって選択された取得先のルータから、さらにその取得先のルータの前記取得先選択部によって選択された取得先のルータと経路計算結果情報とを取得することを繰り返し、取得されたすべての前記経路計算結果情報の検索キーと前記新たな取得キーとが一致するか否かを判定して、前記経路計算結果情報の検索キーと前記取得キーとが最長一致となるときの前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定することを、前記取得キーの宛先IPアドレス部分のビット列がすべてゼロになるまで繰り返し実行することを特徴とする。   Further, according to the present invention, when the transfer route determination unit further has no match between the search key of the route calculation result information and the acquisition key, the last non-zero bit of the destination IP address portion of the acquisition key Is changed to zero, the right bit including the change position of the destination IP address portion of the mask value portion of the acquisition key is changed to zero, the changed bit string is set as a new acquisition key, and the new acquisition key is set. Using the acquisition key, the acquisition destination router selected by the acquisition destination selection unit of the acquisition destination router and the route calculation result information selected from the acquisition destination router selected by the acquisition destination selection unit of itself Repeatedly acquiring, determining whether or not the search key of all the acquired route calculation result information matches the new acquisition key, and the route calculation result All the bit strings of the destination IP address portion of the acquisition key determine the forwarding destination of the packet based on the result of route calculation for each router set when the search key of the information and the acquisition key have the longest match It is characterized by being repeatedly executed until it reaches zero.

このような構成によれば、ルータは、転送すべきパケットを受信したとき、まず、自身の記憶部に記憶されている経路計算結果情報の検索キーと取得キーとが一致する経路計算結果情報を抽出する。そして、一致するものがない場合には、他のルータに記憶されている経路計算結果情報を探索して、経路計算結果情報の検索キーと取得キーとが一致する経路計算結果情報を抽出することができる。すなわち、一台当りのルータの記憶容量を抑制するために分散管理されている経路計算結果情報を、取得キーと検索キーとを照合して、検索することが可能となる。また、検索キーと取得キーとが一致する経路計算結果情報が見つからない場合の処理として、取得キーの宛先IPアドレス部分のビットの有効な桁を短くしていくことによって、検索キーと取得キーとが最長一致となる経路計算結果情報を自身および他のルータから抽出することができる。したがって、転送すべきパケットを受信したルータ自身が必要な経路計算結果情報を記憶していなくても、他のルータから転送により適した経路計算結果情報を取得することができる。すなわち、ルータ集合内のルータによって経路計算結果情報が分散管理されるため、一台当りのルータの記憶容量は、すべての経路計算結果情報を記憶していた従来の一台のルータの記憶容量に比べて、低減できる。   According to such a configuration, when the router receives a packet to be transferred, first, the router calculates the route calculation result information in which the search key and the acquisition key of the route calculation result information stored in its storage unit match. Extract. If there is no match, search the route calculation result information stored in another router, and extract the route calculation result information in which the search key and the acquisition key of the route calculation result information match. Can do. That is, it becomes possible to search the route calculation result information distributedly managed in order to suppress the storage capacity of each router by checking the acquisition key and the search key. In addition, as a process when the route calculation result information in which the search key and the acquisition key match is not found, the search key and the acquisition key are reduced by shortening the effective digit of the destination IP address portion of the acquisition key. Can be extracted from itself and other routers. Therefore, even if the router itself that receives the packet to be transferred does not store the necessary route calculation result information, the route calculation result information more suitable for transfer can be acquired from other routers. That is, since the route calculation result information is distributed and managed by the routers in the router set, the storage capacity of each router is the storage capacity of one conventional router that stores all the route calculation result information. Compared to, it can be reduced.

本発明は、前記取得先ノード情報が、前記ルータIDを複数の範囲に区分し、自身のルータのルータIDから前記距離の近いルータIDほどその区分の範囲を狭く設定し、前記距離の遠いルータIDほどその区分の範囲を広く設定して、それぞれの前記範囲ごとにその範囲に属するルータのルータIDを記憶し、前記取得先選択部が、前記取得キーと前記範囲の境界のルータIDとを比較して、前記取得キーを含む前記範囲を抽出し、前記取得キーと前記抽出した範囲に属するルータのルータIDとの前記距離を算出し、前記距離の近い順に所定数のルータを取得先として選択することを特徴とする。   In the present invention, the acquisition destination node information divides the router ID into a plurality of ranges, and sets the range of the division narrower as the router ID is closer to the distance from the router ID of its own router. The range of the division is set wider as the ID, the router ID of the router belonging to the range is stored for each of the ranges, and the acquisition destination selection unit sets the acquisition key and the router ID of the boundary of the range. In comparison, the range including the acquisition key is extracted, the distance between the acquisition key and a router ID of a router belonging to the extracted range is calculated, and a predetermined number of routers are acquired in the order of the closest distance. It is characterized by selecting.

このような構成によれば、ルータIDを複数の範囲に区分して記憶しているため、取得キーを含む範囲に属するルータIDと取得キーとの距離計算を行えば良くなる。したがって、ルータに記憶されているすべてのルータIDと取得キーとの距離計算を行う必要がなく、計算処理量(処理負荷)を低減することが可能となる。   According to such a configuration, since the router ID is divided into a plurality of ranges and stored, it is only necessary to calculate the distance between the router ID belonging to the range including the acquisition key and the acquisition key. Therefore, it is not necessary to calculate the distance between all the router IDs stored in the router and the acquisition key, and the calculation processing amount (processing load) can be reduced.

本発明は、前記経路情報管理システムにおいて用いられる経路情報管理装置の経路情報管理方法であって、前記経路情報管理装置が、前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合ごとに、少なくとも所定数以上のルータのルータIDとして、当該ルータの属する前記ルータ集合のルータ集合IDのビット列の後にハッシュ関数によって生成されたハッシュ値のビット列を連結したビット列を記憶する格納先ノード情報を格納する記憶部を備え、前記ルータから収集した前記プリフィクスごとに、そのプリフィクスを含む外部経路情報を用いて、前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合に属する少なくともいずれか1つのルータにおける、パケットの転送先のプリフィクスに至る転送経路を計算する経路計算を実行する経路計算ステップと、前記ルータ集合ごとに、前記経路計算ステップによって経路計算されたルータ集合ごとの経路計算の結果を含む経路計算結果情報の格納先の検索に用いる検索キーとして、当該ルータ集合のルータ集合IDのビット列、前記プリフィクスのビット列、前記プリフィクスに対するマスク値のビット列、およびパディングとしてすべて「0」のビット列を連結したビット列を生成する検索キー生成ステップと、前記格納先ノード情報に記憶しているルータIDと前記検索キーとの距離を、当該ルータIDと前記検索キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から送信先として選択する格納先選択ステップと、当該経路計算結果情報を、前記格納先選択ステップによって選択された当該所定数のルータに送信する入出力ステップとを実行することを特徴とする。   The present invention is a route information management method for a route information management device used in the route information management system, wherein the route information management device has a group of two or more routers in the AS as a unit. For each set of multiple routers, a bit string obtained by concatenating a bit string of a hash value generated by a hash function after a bit string of a router set ID of the router set to which the router belongs, as a router ID of at least a predetermined number of routers. A storage unit for storing storage destination node information to be stored, and for each of the prefixes collected from the router, the external route information including the prefix is used as a unit of a group of two or more routers in the AS. In at least one of the routers belonging to a set of routers set in the AS A route calculation step for performing a route calculation for calculating a transfer route to a prefix of a packet transfer destination, and a route calculation including a route calculation result for each router set calculated by the route calculation step for each router set As a search key used for searching the storage destination of the result information, a bit string of a router set ID of the router set, a bit string of the prefix, a bit string of a mask value for the prefix, and a bit string obtained by concatenating all bit strings of “0” as padding In the bit string indicating the exclusive OR for each bit of the router ID and the search key, the search key generation step to generate, the distance between the router ID stored in the storage node information and the search key, Number from the right for the bit position where "1" first appears from the left A storage destination selection step of calculating a numerical value of the number of digits of the bits, and selecting a predetermined number of routers as a transmission destination from the router set in ascending order of the calculated distance; and the storage location selection step of the route calculation result information And an input / output step for transmitting to the predetermined number of routers selected by

また、本発明は、前記経路情報管理システムにおいて用いられるルータの経路情報管理方法であって、前記ルータが、前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合ごとに、少なくとも所定数以上のルータのルータIDとして、当該ルータの属する前記ルータ集合のルータ集合IDのビット列の後にハッシュ関数によって生成されたハッシュ値のビット列を連結したビット列を記憶する取得先ノード情報と、前記経路情報管理装置から送信される検索キーと前記ルータ集合ごとの経路計算の結果とを関連付けた情報を示す経路計算結果情報とを記憶する記憶部を備え、転送すべきパケットを受信したとき、当該ルータの属するルータ集合IDのビット列、当該パケットの宛先IPアドレスのビット列、前記宛先IPアドレスに対するマスク値としてすべて「1」のビット列、およびパディングとしてすべて「0」のビット列を連結して形成される、取得キーを生成する取得キー生成ステップと、前記取得先ノード情報に記憶しているルータIDと前記取得キーとの距離を、前記ルータIDと前記取得キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から取得先として選択する取得先選択ステップと、転送すべきパケットを受信したときに、自身の前記記憶部に記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致するか否かを判定し、一致するものがある場合には、その検索キーに関連付けられた前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定し、一致するものがない場合には、前記取得先選択部によって取得先として選択されたルータに前記取得キーを送信して、当該ルータの記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致する前記ルータ集合ごとの経路計算の結果を取得して、その取得した前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定する転送経路決定ステップと、前記転送経路決定ステップにおいて決定された転送先に前記パケットを転送する入出力ステップとを実行することを特徴とする。   The present invention is also a route information management method for routers used in the route information management system, wherein a plurality of routers are set in the AS in units of a group of two or more routers in the AS. For each router set, as a router ID of at least a predetermined number of routers, an acquisition destination for storing a bit string obtained by concatenating a bit string of a hash value generated by a hash function after a bit string of a router set ID of the router set to which the router belongs A storage unit for storing node information, route calculation result information indicating information relating a search key transmitted from the route information management device and a route calculation result for each router set, and a packet to be transferred When received, the bit string of the router set ID to which the router belongs and the destination IP address of the packet An acquisition key generating step for generating an acquisition key, which is formed by concatenating a bit string of all “1” as a mask value for the destination IP address and a bit string of all “0” as padding, and the acquisition destination node In the bit string indicating the exclusive OR for each bit of the router ID and the acquisition key, the distance between the router ID stored in the information and the acquisition key first appears as “1” when viewed from the left. The bit position is calculated as a numerical value of the number of bits counted from the right, and an acquisition destination selection step for selecting a predetermined number of routers as acquisition destinations from the router set in ascending order of the calculated distance and a packet to be transferred are received. When the search key of the route calculation result information stored in the storage unit and the acquisition key match, If there is a match, the packet transfer destination is determined based on the result of route calculation for each router set associated with the search key. If there is no match, the acquisition destination selection unit The acquisition key is transmitted to the router selected as the acquisition destination, and the route calculation result for each router set in which the search key of the route calculation result information stored in the router matches the acquisition key is acquired. A transfer route determination step for determining a packet transfer destination based on the obtained route calculation result for each router set; and an input / output step for transferring the packet to the transfer destination determined in the transfer route determination step; It is characterized by performing.

このような構成によれば、経路情報管理装置がプリフィクスに係る外部経路情報を格納するため、ルータに保持すべき経路数(記憶容量)を削減することができる。また、経路情報管理装置は、同一のプリフィクスに係る外部経路情報についてすべてを収集して経路計算を実行するため、経路計算結果が最適とならないという問題は発生しない。また、AS内に複数のルータ集合を設けた場合、そのルータ集合内のBGP経路はプリフィクスに対して共通に定まるため、経路情報管理装置は、ルータ集合内の1つのルータに対してだけ経路計算を実行すれば良くなる。そのため、経路情報管理装置の処理負荷を低減することができるとともに、ルータでの経路計算が不要となる。また、経路情報管理装置によって算出されたルータ集合ごとの経路計算の結果は、ルータ集合内で分散管理されるため、ルータ集合ごとに所定数のルータに格納(送信)されれば良い。そのため、経路計算の結果をメッセージとして送信するときのメッセージ数を削減することができる。また、ルータは、転送すべきパケットを受信したとき、まず、自身の記憶部に記憶されている経路計算結果情報の検索キーと取得キーとが一致する経路計算結果情報を抽出する。そして、一致するものがない場合には、他のルータに記憶されている経路計算結果情報を探索して、経路計算結果情報の検索キーと取得キーとが一致する経路計算結果情報を抽出することができる。すなわち、一台当りのルータの記憶容量を抑制するために分散管理されている経路計算結果情報を、取得キーと検索キーとを照合して、検索することが可能となる。したがって、転送すべきパケットを受信したルータ自身が必要な経路計算結果情報を記憶していなくても、他のルータからより転送に適した経路計算結果情報を取得することができる。すなわち、ルータ集合内のルータによって経路計算結果情報が分散管理されるため、一台当りのルータの記憶容量は、すべての経路計算結果情報を記憶していた従来の一台のルータの記憶容量に比べて、低減できる。   According to such a configuration, since the route information management apparatus stores the external route information related to the prefix, the number of routes (storage capacity) to be held in the router can be reduced. Further, since the route information management apparatus collects all the external route information related to the same prefix and executes route calculation, there is no problem that the route calculation result is not optimal. In addition, when a plurality of router sets are provided in the AS, the BGP route in the router set is determined in common for the prefix, so the route information management device calculates a route for only one router in the router set. If you run Therefore, the processing load of the route information management device can be reduced and route calculation at the router becomes unnecessary. Further, since the result of route calculation for each router set calculated by the route information management device is distributed and managed in the router set, it may be stored (transmitted) in a predetermined number of routers for each router set. Therefore, it is possible to reduce the number of messages when the route calculation result is transmitted as a message. Further, when receiving a packet to be transferred, the router first extracts the route calculation result information in which the search key and the acquisition key of the route calculation result information stored in its storage unit match. If there is no match, search the route calculation result information stored in another router, and extract the route calculation result information in which the search key and the acquisition key of the route calculation result information match. Can do. That is, it becomes possible to search the route calculation result information distributedly managed in order to suppress the storage capacity of each router by checking the acquisition key and the search key. Therefore, even if the router itself that receives the packet to be transferred does not store the necessary route calculation result information, the route calculation result information more suitable for transfer can be acquired from other routers. That is, since the route calculation result information is distributed and managed by the routers in the router set, the storage capacity of each router is the storage capacity of one conventional router that stores all the route calculation result information. Compared to, it can be reduced.

本発明は、前記経路情報管理方法を、コンピュータとしての経路情報管理装置またはルータに実行させるためのプログラムとした。   In the present invention, the route information management method is a program for causing a route information management device or router as a computer to execute.

このようなプログラムをインストールされたコンピュータは、このプログラムに基づいた機能を実現することができる。   A computer in which such a program is installed can realize functions based on this program.

本発明によれば、すべての経路情報に基づいて経路計算を実行して最適な転送経路を算出することを満足しつつ、ルータ一台当りに保持すべき経路数(記憶容量)の増大、送信するメッセージ数の増大、および処理負荷の増大を抑制する技術を提供することができる。   According to the present invention, an increase in the number of routes (storage capacity) to be held per router and transmission can be achieved while satisfying that route calculation is performed based on all route information to calculate an optimum transfer route. It is possible to provide a technique for suppressing an increase in the number of messages to be processed and an increase in processing load.

本実施形態の概要を表す図である。It is a figure showing the outline | summary of this embodiment. 本実施形態におけるルートサーバの機能の一例を示す図である。It is a figure which shows an example of the function of the route server in this embodiment. 本実施形態におけるルータの機能の一例を示す図である。It is a figure which shows an example of the function of the router in this embodiment. ルートサーバの決定方法の例を示す図である。It is a figure which shows the example of the determination method of a route server. 本実施形態における距離の定義を示す図である。It is a figure which shows the definition of the distance in this embodiment. ルートサーバの格納先ノードDBの一例を示す図である。It is a figure which shows an example of the storage destination node DB of a route server. ルータの取得先ノードDBの一例を示す図である。It is a figure which shows an example of the acquisition destination node DB of a router. ルータの経路計算結果DBの一例を示す図である。It is a figure which shows an example of route calculation result DB of a router. 本実施形態における経路計算結果の格納処理の流れを示す図である。It is a figure which shows the flow of the storage process of the route calculation result in this embodiment. 本実施形態における他のルータから転送経路情報を取得する処理の流れを示す図である。It is a figure which shows the flow of a process which acquires transfer path information from the other router in this embodiment. 取得キーkdのビット変更時の操作を示す図である。It is a figure which shows operation at the time of the bit change of the acquisition key kd.

次に、本発明を実施するための形態(以降「本実施形態」と称す)について、適宜図面を参照しながら詳細に説明する。   Next, a mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described in detail with reference to the drawings as appropriate.

≪本実施形態の概要≫
初めに、本実施形態の概要について、図1を用いて説明する。図1に示すように、経路情報管理システム30は、AS1内に、外部経路情報の収集およびルーティングの管理を行う2以上のルートサーバ(経路情報管理装置)10A,10B(10)および境界ルータを含む複数のルータ20(20A,20B,・・,20L)を備えている。そして、各ルートサーバ10は、ルータ20と通信可能に接続される。各ルータ20間は、相互に通信可能に接続される。また、各ルータ20は、一点鎖線で示される、いずれかのPoP(Point of Presence)に属している。PoPは、例えば、同じ市や同じ建物等の同一のロケーションに存在するルータの集合(ルータ集合)を表している。なお、図1では、AS1は、PoP1,PoP2,PoP3,PoP4によって構成されているが、PoPの数は2以上であれば、4つに限られない。また、ルートサーバ10の台数、ルータ20の台数は図1に示した台数に限られない。また、ルータ20間の接続は、図1に示した実直線に限られない。
≪Overview of this embodiment≫
First, an outline of the present embodiment will be described with reference to FIG. As shown in FIG. 1, the route information management system 30 includes in AS1 two or more route servers (route information management devices) 10A and 10B (10) and border routers that collect external route information and manage routing. A plurality of routers 20 (20A, 20B,..., 20L) are included. Each route server 10 is communicably connected to the router 20. The routers 20 are connected so that they can communicate with each other. Each router 20 belongs to one of the PoPs (Point of Presence) indicated by a one-dot chain line. PoP represents a set of routers (router set) existing in the same location such as the same city or the same building. In FIG. 1, AS1 is composed of PoP1, PoP2, PoP3, and PoP4. However, the number of PoPs is not limited to four as long as the number of PoPs is two or more. Further, the number of route servers 10 and the number of routers 20 are not limited to the numbers shown in FIG. The connection between the routers 20 is not limited to the solid line shown in FIG.

ここで、経路情報管理システム30において、ルータ20の記憶容量、送信する必要のあるメッセージ数、および処理負荷を抑制するために設けた3つの特徴について説明する。
(特徴1)プリフィクスに係る外部経路情報を、ルートサーバ10に集約する。
(特徴2)ルートサーバ10は、PoPごとにプリフィクスに係る経路計算を実行し、その経路計算の結果を、PoPごとにそのPoPに属する一部のルータ20に格納(送信)する。
(特徴3)PoP内では、そのPoPに属するルータ20間で、経路計算結果を分散管理し、パケットの転送に必要な経路計算結果を相互に取得する。
Here, in the route information management system 30, three features provided for suppressing the storage capacity of the router 20, the number of messages that need to be transmitted, and the processing load will be described.
(Characteristic 1) The external route information related to the prefix is collected in the route server 10.
(Characteristic 2) The route server 10 performs route calculation related to the prefix for each PoP, and stores (transmits) the result of the route calculation in some routers 20 belonging to the PoP for each PoP.
(Feature 3) Within PoP, route calculation results are distributed and managed between routers 20 belonging to the PoP, and route calculation results necessary for packet transfer are mutually acquired.

(特徴1について)
図1に示すように、AS1内のルータ20Aは、AS2からプリフィクスP1に係る外部経路情報をeBGPによって受信したものとする。そして、受信したプリフィクスP1に係る外部経路情報は、ルートサーバ10Aに収集される。また、ルータ20Kが、AS3からプリフィクスP7に係る外部経路情報をeBGPによって受信したものとする。そして、受信したプリフィクスP7に係る外部経路情報は、ルートサーバ10Bに収集される。すなわち、各ルートサーバ10A,10Bは、それぞれ、異なるプリフィクスに係る外部経路情報を収集する。なお、どのルートサーバ10が、どのプリフィクスに係る外部経路情報を収集するかは、予め決められている。そのプリフィクスを収集するルートサーバの決定方法については、後記する。
(About feature 1)
As shown in FIG. 1, it is assumed that the router 20A in the AS1 has received external route information related to the prefix P1 from the AS2 by eBGP. Then, the external route information related to the received prefix P1 is collected by the route server 10A. Further, it is assumed that the router 20K receives the external route information related to the prefix P7 from the AS 3 by eBGP. Then, the external route information related to the received prefix P7 is collected by the route server 10B. That is, each of the route servers 10A and 10B collects external route information related to different prefixes. Note that which route server 10 collects the external route information related to which prefix is predetermined. The method for determining the route server that collects the prefix will be described later.

このようにして、ルートサーバ10は、いずれかのプリフィクスについてはすべての外部経路情報を収集できるので、すべての外部経路情報に基づいて経路計算を行うことが可能となる。つまり、背景技術の欄で説明したルートリフレクタ(RR)を用いる方法やASコンフェデレーションを用いる方法に見られるような、一部の外部経路情報に基づいて経路計算を実行してしまうことにともなう、経路計算結果が最適とならないというケースや、経路計算が収束しないというケースは起こらない。また、各ルートサーバ10がプリフィクスごとに外部経路情報を分散して担当するので、AS1内のルータ20の台数の増加に対応してルートサーバ10の台数を増加することによって、ルートサーバ10一台当りの記憶容量の増加や処理負荷の増加を抑制することが可能となる。   In this way, the route server 10 can collect all the external route information for any of the prefixes, so that the route calculation can be performed based on all the external route information. In other words, the route calculation is executed based on some external route information as seen in the method using the route reflector (RR) and the method using AS confederation described in the background section. There is no case where the route calculation result is not optimal or the route calculation does not converge. Further, since each route server 10 is responsible for distributing external route information for each prefix, by increasing the number of route servers 10 corresponding to the increase in the number of routers 20 in the AS 1, one route server 10 is provided. It is possible to suppress an increase in storage capacity per unit and an increase in processing load.

また、従来の境界ルータは、外部経路情報の受信リストおよび送信リストを記憶するRIB(Routing Information Base)と、パケットの転送先を記憶するFIB(Forwarding Information Base)とを備えていた。しかし、本実施形態の境界ルータ20では、外部経路情報の受信リストおよび送信リストは、ルートサーバ10に集約されるため、RIBが不要となる。すなわち、ルータ20に保持すべき経路数(記憶容量)を削減することができる。   In addition, the conventional border router includes an RIB (Routing Information Base) that stores a reception list and a transmission list of external route information, and an FIB (Forwarding Information Base) that stores a packet transfer destination. However, in the border router 20 according to the present embodiment, the reception list and the transmission list of the external route information are aggregated in the route server 10, so that RIB is unnecessary. That is, the number of paths (storage capacity) to be held in the router 20 can be reduced.

(特徴2について)
ルートサーバ10は、プリフィクスごとにPoP内の1つのルータについて、経路計算を行えば良い。この理由は、以下の通りである。すなわち、通常は、AS1内のPoP間に張られるリンクのIGPリンクコストは、PoP内のリンクコストより大きい値に設定されている。そして、経路計算においては、経路を構成するリンクごとに割り当てられたリンクコストを合計した値が最も小さい経路が優先して選択される。このようにして、同じPoP内を宛先とするパケットは、そのPoPから外に出ないようにして、PoP間を行ったり来たりするような無駄な転送を防いでいる。そのため、同じPoP内のルータは、同じプリフィクスを宛先とするBGP経路については同一の経路(ネクストホップ)をとることになる。つまり、PoP内のすべてのルータにとって、AS外部向けの転送経路は共通になる。そこで、同じプリフィクスを宛先とする経路計算は、PoP内の1つのルータに対してだけ行えば良いことになる。以降、これを、“PoPごとの経路計算”と呼ぶことにする。なお、PoPごとの経路計算は、ルートサーバ10が、ルータ20における経路計算の代わりに行うもので、公知のリンクコストを用いた経路計算手法を用いることができる。ただし、このPoPごとの経路計算は、ルートサーバ10が、自身を起点として経路計算を実行するのではなく、PoP内の1つのルータ20を起点として実行する点において、公知の経路計算手法と異なるだけである。したがって、PoPごとの経路計算は、AS1内のすべてのルータ20について経路計算が行われていた従来の方法に比べると、処理負荷の低減になっていると言える。
(About feature 2)
The route server 10 may perform route calculation for one router in the PoP for each prefix. The reason for this is as follows. That is, normally, the IGP link cost of the link spanned between the PoPs in the AS 1 is set to a value larger than the link cost in the PoP. In the route calculation, the route having the smallest value obtained by summing up the link costs assigned to the links constituting the route is preferentially selected. In this way, packets destined for the same PoP are prevented from going out of the PoP, and useless transfer such as going back and forth between PoPs is prevented. Therefore, routers in the same PoP take the same route (next hop) for BGP routes destined for the same prefix. That is, for all routers in PoP, the AS external transfer path is common. Therefore, route calculation with the same prefix as the destination need only be performed for one router in the PoP. Hereinafter, this is referred to as “route calculation for each PoP”. The route calculation for each PoP is performed by the route server 10 instead of the route calculation in the router 20, and a route calculation method using a known link cost can be used. However, the route calculation for each PoP is different from the known route calculation method in that the route server 10 does not execute the route calculation from itself but starts from one router 20 in the PoP. Only. Therefore, it can be said that the route calculation for each PoP has a reduced processing load compared to the conventional method in which the route calculation is performed for all the routers 20 in the AS 1.

また、ルートサーバ10は、経路計算結果を各PoPの一部のルータに格納(送信)する(図1の点線)。これは、後記する特徴3が備わっているために可能となっている。そして、すべてのルータ20に対して経路計算結果をメッセージとして配信していた従来に比べて、本実施形態では、メッセージ数を削減することができる。   The route server 10 stores (transmits) the route calculation result in a part of routers of each PoP (dotted line in FIG. 1). This is possible because of the feature 3 described later. In this embodiment, the number of messages can be reduced as compared with the conventional case where the route calculation results are distributed as messages to all the routers 20.

(特徴3について)
境界ルータ20は、転送すべきパケットを受信して、そのパケットの転送に必要な経路計算結果を自身の記憶部23(図3参照)に記憶していないとき、自身の属するPoP内の他のルータ20から、必要な経路計算結果を取得する(図1の実線矢印)。そして、境界ルータ20は、取得した経路計算結果に基づいて、受信したパケットを転送することができる。言い換えると、PoP内のルータ20は、ルートサーバ10から格納(送信)された経路計算結果を分散管理している。すなわち、各ルータ20は、一部の経路計算結果しか記憶しなくてもよいので、従来より記憶容量を低減することができる。この分散管理の方法の詳細については、後記する。
(About feature 3)
When the border router 20 receives a packet to be transferred and does not store a route calculation result necessary for the transfer of the packet in its storage unit 23 (see FIG. 3), the border router 20 A necessary route calculation result is acquired from the router 20 (solid arrow in FIG. 1). Then, the border router 20 can transfer the received packet based on the acquired route calculation result. In other words, the router 20 in the PoP manages the route calculation result stored (transmitted) from the route server 10 in a distributed manner. That is, since each router 20 need only store a part of the route calculation results, the storage capacity can be reduced as compared with the related art. Details of this distributed management method will be described later.

≪ルートサーバ10の機能≫
次に、本実施形態の経路情報管理システム30に用いられるルートサーバ10の機能について、図2を用いて説明する。なお、図2は、本実施形態のルートサーバ10の一部の機能のみを示し、BGPやIGP等に係る機能については記載を省略している。
<< Functions of the route server 10 >>
Next, functions of the route server 10 used in the route information management system 30 according to the present embodiment will be described with reference to FIG. Note that FIG. 2 shows only some functions of the route server 10 of the present embodiment, and descriptions of functions related to BGP, IGP, and the like are omitted.

図2に示すように、ルートサーバ10は、外部経路情報や経路計算結果等の各種情報の入出力を司る入出力部11と、外部経路情報に基づいて経路計算する処理部12と、記憶部13とを備える。入出力部11は、他のルータ20等との情報を入出力する。入出力部11における情報の入出力は、処理部12からの指示に基づいて行われる。   As shown in FIG. 2, the route server 10 includes an input / output unit 11 that controls input / output of various types of information such as external route information and route calculation results, a processing unit 12 that calculates a route based on external route information, and a storage unit. 13. The input / output unit 11 inputs and outputs information with other routers 20 and the like. Input / output of information in the input / output unit 11 is performed based on an instruction from the processing unit 12.

処理部12は、ルートサーバ10が備える図示しないCPU(Central Processing Unit)と図示しないメインメモリとによって構成されている。そして、このCPUがメインメモリにアプリケーションプログラムを展開して、それを実行することにより種々の演算処理を具現化する。なお、アプリケーションプログラムは、記憶部13に格納されている。また、処理部12は、外部経路情報収集部121、経路計算部122、格納先選択部123、および検索キー生成部124を備えている。   The processing unit 12 includes a CPU (Central Processing Unit) (not shown) included in the route server 10 and a main memory (not shown). The CPU develops an application program in the main memory and executes it to implement various arithmetic processes. The application program is stored in the storage unit 13. The processing unit 12 includes an external route information collection unit 121, a route calculation unit 122, a storage destination selection unit 123, and a search key generation unit 124.

外部経路情報収集部121は、境界ルータ20から広告されてくる外部経路情報を入出力部11を介して受信する。なお、同一のプリフィクスに係る外部経路情報は、すべて、同じルートサーバ10に収集される。そして、外部経路情報収集部121は、受信した外部経路情報を記憶部13の外部経路情報DB131に記憶する。経路計算部122は、外部経路情報DB131に新たに記憶された外部経路情報を読み出して、プリフィクスごとに前記した“PoPごとの経路計算”を実行し、PoPごとの経路計算の結果、すなわち最適な転送経路および次善の転送経路を算出する。予め次善の転送経路を算出しておく理由は、最適な転送経路が輻輳や故障等によって利用できない場合に、直ちにこの次善の転送経路に切り替えて用いられるようにするためである。   The external route information collection unit 121 receives external route information advertised from the border router 20 via the input / output unit 11. Note that all external route information related to the same prefix is collected in the same route server 10. The external route information collection unit 121 stores the received external route information in the external route information DB 131 of the storage unit 13. The route calculation unit 122 reads the external route information newly stored in the external route information DB 131 and executes the above-mentioned “route calculation for each PoP” for each prefix, and results of the route calculation for each PoP, that is, the optimum Calculate the transfer path and suboptimal transfer path. The reason why the suboptimal transfer path is calculated in advance is that when the optimum transfer path cannot be used due to congestion or failure, the suboptimal transfer path is immediately switched to be used.

格納先選択部123は、格納先ノードDB132に記憶されているルータ20のルータIDと、後記するプリフィクスを含む検索キーとを用いて、経路計算部122によって算出されたPoPごとの経路計算の結果の格納(送信)先であるPoP内のルータ20を選択する。そして、格納先選択部123は、入出力部11を介し、PoPごとの経路計算の結果を、PoPごとに選択したルータ20に格納(送信)する。また、検索キー生成部124は、PoPごとの経路計算の結果を格納するときに用いる検索キーを生成する。なお、格納方法および検索キーの生成については、後記する。   The storage destination selection unit 123 uses the router ID of the router 20 stored in the storage destination node DB 132 and a search key including a prefix to be described later as a result of route calculation for each PoP calculated by the route calculation unit 122. The router 20 in the PoP that is the storage (transmission) destination is selected. Then, the storage destination selection unit 123 stores (transmits) the result of route calculation for each PoP in the router 20 selected for each PoP via the input / output unit 11. In addition, the search key generation unit 124 generates a search key used when storing the result of route calculation for each PoP. The storage method and search key generation will be described later.

記憶部13は、外部経路情報DB131および格納先ノードDB132を格納している。外部経路情報DB131は、境界ルータ20から広告されたプリフィクスに係る外部経路情報を記憶している。例えば、外部経路情報は、プリフィクスと、そのプリフィクスに関連付けられたパス属性情報とを含んでいる。パス属性情報は、AS-pathやネクストホップに至るリンクに割り当てられたリンクコスト等である。なお、AS-pathは、経由してきたASを記録しておくためのものであり、ASを経由するごとにAS番号が追加される。そして、AS-pathに記録されたAS番号の数が少ない方の経路が優先して用いられる。外部経路情報DB131に記憶されている外部経路情報は、経路計算部122によって、経路計算を実行するときに用いられる。また、格納先ノードDB132は、ルータ20を識別可能なルータIDを記憶している。このルータIDは、ASの管理者によって予め設定される。そして、格納先ノードDB132は、格納先選択部123が格納先のルータ20を選択するときに参照される。格納先ノードDB132の具体例については、後記する。   The storage unit 13 stores an external route information DB 131 and a storage destination node DB 132. The external route information DB 131 stores external route information related to the prefix advertised by the border router 20. For example, the external route information includes a prefix and path attribute information associated with the prefix. The path attribute information is the link cost assigned to the link leading to the AS-path or the next hop. The AS-path is for recording the AS that has passed through, and an AS number is added each time the AS is passed through. The route with the smaller number of AS numbers recorded in the AS-path is preferentially used. The external route information stored in the external route information DB 131 is used when the route calculation unit 122 executes route calculation. The storage destination node DB 132 stores a router ID that can identify the router 20. This router ID is preset by the administrator of the AS. The storage destination node DB 132 is referred to when the storage destination selection unit 123 selects the storage destination router 20. A specific example of the storage destination node DB 132 will be described later.

≪ルータ20の機能≫
次に、本実施形態のルータ20の機能について、図3を用いて説明する。なお、図3は、本実施形態のルータ20の一部の機能のみを示し、BGPやIGP等に係る機能については記載を省略している。
<< Function of Router 20 >>
Next, the function of the router 20 of this embodiment will be described with reference to FIG. FIG. 3 shows only a part of the functions of the router 20 of the present embodiment, and descriptions of functions related to BGP, IGP, and the like are omitted.

図3に示すように、ルータ20は、ルートサーバ10や他のルータ20との間で送受信される情報の入出力を制御する入出力部21と、処理部22と、記憶部23とを備える。入出力部21における情報の入出力は、処理部22からの指示に基づいて行われる。   As shown in FIG. 3, the router 20 includes an input / output unit 21 that controls input / output of information transmitted / received between the route server 10 and other routers 20, a processing unit 22, and a storage unit 23. . Input / output of information in the input / output unit 21 is performed based on an instruction from the processing unit 22.

処理部22は、ルータ20が備える図示しないCPU(Central Processing Unit)と図示しないメインメモリによって構成されている。そして、このCPUがメインメモリにアプリケーションプログラムを展開して、それを実行することにより種々の演算処理を具現化する。なお、アプリケーションプログラムは、記憶部23に格納されている。また、処理部22は、ルートサーバ選択部221、転送経路決定部222、取得先選択部223、カプセル化処理部224、および取得キー生成部225を備えている。   The processing unit 22 includes a CPU (Central Processing Unit) (not shown) included in the router 20 and a main memory (not shown). The CPU develops an application program in the main memory and executes it to implement various arithmetic processes. The application program is stored in the storage unit 23. The processing unit 22 includes a route server selection unit 221, a transfer path determination unit 222, an acquisition destination selection unit 223, an encapsulation processing unit 224, and an acquisition key generation unit 225.

ルートサーバ選択部221は、記憶部23のルートサーバIDDB231に記憶されているルートサーバID情報を参照して、後記するルートサーバ決定方法に基づいて、他のASから受信した外部経路情報を広告するルートサーバ10を選択する。そして、ルートサーバ選択部221は、入出力部21を介して、他のASから受信した外部経路情報を、選択したルートサーバ10へ広告する。   The route server selection unit 221 refers to the route server ID information stored in the route server ID DB 231 of the storage unit 23 and advertises external route information received from another AS based on the route server determination method described later. The route server 10 is selected. Then, the route server selection unit 221 advertises external route information received from another AS to the selected route server 10 via the input / output unit 21.

転送経路決定部222は、転送すべきパケットを受信したときに、記憶部23の経路計算結果DB232に記憶している経路計算結果情報を探索し、そのパケットの転送先を決定する。しかし、経路計算結果DB232は、経路計算に必要な経路計算結果情報の一部しか記憶していない場合がある。その場合には、転送経路決定部222は、取得先選択部223によって選択された他のルータ20から不足している経路計算結果情報を取得する。そして、転送経路決定部222は、その取得した経路計算結果情報に基づいて、パケットの転送経路(転送先)を決定する。   When the transfer route determination unit 222 receives a packet to be transferred, the transfer route determination unit 222 searches the route calculation result information stored in the route calculation result DB 232 of the storage unit 23 and determines the transfer destination of the packet. However, the route calculation result DB 232 may store only a part of route calculation result information necessary for route calculation. In that case, the transfer route determination unit 222 acquires the missing route calculation result information from the other routers 20 selected by the acquisition destination selection unit 223. Then, the transfer route determination unit 222 determines the transfer route (transfer destination) of the packet based on the acquired route calculation result information.

取得先選択部223は、転送すべきパケットを受信したときに、取得先ノードDB233に記憶しているルータ20に係る情報を参照して、不足する経路計算結果情報を保持するルータ20を選択する。また、カプセル化処理部224は、転送すべきパケットに対して、出口となる境界ルータ20のアドレスのヘッダでカプセル化する処理を実行する。また、出口の境界ルータ20では、カプセル化処理部224は、カプセル化されたパケットから、その出口の境界ルータ20のアドレスのヘッダを取り外す処理を実行する。また、取得キー生成部225は、経路計算結果情報の取得先のルータ20を選択するときに用いる取得キーを生成する。なお、取得先の選択方法および取得キーの生成方法については、後記する。   When the acquisition destination selection unit 223 receives a packet to be transferred, the acquisition destination selection unit 223 refers to the information related to the router 20 stored in the acquisition destination node DB 233 and selects the router 20 that holds the insufficient route calculation result information. . In addition, the encapsulation processing unit 224 executes a process for encapsulating the packet to be transferred with the header of the address of the border router 20 serving as an exit. In the egress border router 20, the encapsulation processing unit 224 executes a process of removing the header of the address of the egress border router 20 from the encapsulated packet. The acquisition key generation unit 225 generates an acquisition key used when selecting the router 20 from which the route calculation result information is acquired. The acquisition destination selection method and the acquisition key generation method will be described later.

記憶部23は、ルートサーバ10から配信される経路計算結果情報を格納する経路計算結果DB232、ルートサーバ10のID番号を格納するルートサーバIDDB231、および経路計算結果情報を分散管理するルータ20に係る情報を格納する取得先ノードDB233を格納する。経路計算結果DB232は、転送経路決定部222の経路計算において参照される。ルートサーバIDDB231は、ルートサーバ選択部221が、外部経路情報を広告するルートサーバ10を選択するときに参照される。取得先ノードDB233は、取得先選択部223が必要な経路計算結果情報の取得先のルータ20を選択するときに参照される。経路計算結果DB232、ルートサーバIDDB231、および取得先ノードDB233の具体例については、後記する。   The storage unit 23 relates to a route calculation result DB 232 that stores route calculation result information distributed from the route server 10, a route server ID DB 231 that stores an ID number of the route server 10, and a router 20 that distributes and manages the route calculation result information. An acquisition destination node DB 233 for storing information is stored. The route calculation result DB 232 is referred to in the route calculation of the transfer route determination unit 222. The route server ID DB 231 is referred to when the route server selection unit 221 selects the route server 10 that advertises external route information. The acquisition destination node DB 233 is referred to when the acquisition destination selection unit 223 selects the acquisition destination router 20 of the necessary route calculation result information. Specific examples of the route calculation result DB 232, the route server ID DB 231 and the acquisition destination node DB 233 will be described later.

≪ルートサーバ決定方法≫
ここで、ルータ20におけるルートサーバ決定方法について、図4を用いて説明する(適宜図3参照)。図4は、○印で示すルートサーバ10とそれをカバーするハッシュ空間を表している。図4中の○印の中の数字は、ルートサーバ10のID番号を示している。そして、図4は、ハッシュ空間に、3つのルートサーバ10A,10B,10Cが存在する場合を表している。例えば、ルートサーバ10AのID番号が5、ルートサーバ10BのID番号が10、ルートサーバ10CのID番号が15、であるものとして説明する。なお、これらのルートサーバ10A,10B,10CのID番号に係る情報が、図3の記憶部23のルートサーバIDDB231に記憶されることになる。
≪Route server determination method≫
Here, a route server determination method in the router 20 will be described with reference to FIG. 4 (see FIG. 3 as appropriate). FIG. 4 shows a route server 10 indicated by a circle and a hash space covering it. The numbers in the circles in FIG. 4 indicate the ID number of the route server 10. FIG. 4 shows a case where three route servers 10A, 10B, and 10C exist in the hash space. For example, it is assumed that the ID number of the route server 10A is 5, the ID number of the route server 10B is 10, and the ID number of the route server 10C is 15. Note that information related to the ID numbers of the route servers 10A, 10B, and 10C is stored in the route server ID DB 231 of the storage unit 23 in FIG.

まず、next(m)という関数を導入する。next(m)はハッシュ空間においてハッシュ空間を時計回り(つまりIDを大きくする方向)で次のノードのIDを返す。例えば、next(2)=5、next(6)=10、next(15)=15となる。すなわち、next(m)は、ハッシュ空間のある値m以上の範囲において最小の値となるIDを返す。ここで、mは、プリフィクスの値をハッシュ関数に代入して算出されたハッシュ値である。ただし、図4に示すハッシュ空間では、0<m≦15である。   First, a function called next (m) is introduced. next (m) returns the ID of the next node in the hash space in the clockwise direction (that is, in the direction of increasing the ID). For example, next (2) = 5, next (6) = 10, and next (15) = 15. That is, next (m) returns an ID that is the smallest value in a range of a certain value m or more in the hash space. Here, m is a hash value calculated by substituting the prefix value into the hash function. However, 0 <m ≦ 15 in the hash space shown in FIG.

そして、図4では、ハッシュ空間におけるルートサーバ10Aの分担範囲は0超え5以下、ルートサーバ10Bの分担範囲は5超え10以下、ルートサーバ10Cの分担範囲は10超え15以下となる。このようにして、ルートサーバ10のID番号を予め決めておけば、プリフィクスに関する経路情報を送信するルートサーバ10を特定することが可能となる。   In FIG. 4, the sharing range of the route server 10A in the hash space is 0 to 5 and below, the sharing range of the route server 10B is 5 to 10 and the sharing range of the route server 10C is 10 to 15 and below. In this way, if the ID number of the route server 10 is determined in advance, it becomes possible to identify the route server 10 that transmits the route information regarding the prefix.

≪経路計算結果情報の分散管理≫
前記したように、PoP内のルータ20がBGP経路については同一の経路をとるので、経路計算結果情報をPoP内のルータ20によって分散管理することが可能となる。そして、経路計算結果情報を分散管理することによって、ルータ20が保持すべき経路数(記憶容量)を抑制することが可能となる。以下に、分散管理の方法について説明する。
≪Distributed management of route calculation result information≫
As described above, since the router 20 in the PoP takes the same route as the BGP route, the route calculation result information can be distributed and managed by the routers 20 in the PoP. Then, by managing the route calculation result information in a distributed manner, the number of routes (storage capacity) that the router 20 should hold can be suppressed. The distributed management method will be described below.

(フレームワーク)
まず、分散管理のためのフレームワークについて説明する。AS内のルータ20には、そのルータを識別するために、ASの管理者によってユニークなルータIDが割り当てられる。また、経路計算結果情報は、分散管理が可能なように、検索キーと経路計算結果の転送経路情報(最適な転送経路および次善の転送経路)とが紐付けられて形成される。ただし、ルータIDと検索キーとは、同じビット長で表現される。
(Framework)
First, a framework for distributed management will be described. The router 20 in the AS is assigned a unique router ID by the AS administrator in order to identify the router. The route calculation result information is formed by associating a search key with transfer route information (optimum transfer route and suboptimal transfer route) of the route calculation result so that distributed management is possible. However, the router ID and the search key are expressed with the same bit length.

まず、検索キーは、ルートサーバ10において、経路計算結果情報を、どのルータ20に格納(送信)するかの選択に用いられる。そして、ルートサーバ10は、後記する検索キーとルータIDとの距離に基づいて、検索キーに距離の近いルータIDのルータを、距離の近い順にk個選択する。k個選択する意味は、冗長性の確保のためである。したがって、冗長性を考えなければ、k=1であっても良い。そして、ルートサーバ10は、選択したk個のルータ20に、経路計算結果情報を格納(送信)する。   First, the search key is used in the route server 10 to select which router 20 stores (transmits) the route calculation result information. Then, the route server 10 selects k routers having router IDs closer to the search key in the order of closer distance based on the distance between the search key and router ID described later. The meaning of selecting k is to ensure redundancy. Therefore, if redundancy is not considered, k = 1 may be used. The route server 10 stores (transmits) the route calculation result information in the selected k routers 20.

ここで、距離の定義について、図5を用いて説明する。図5では、説明を簡単にするために、ルータIDおよび検索キーのビット長をそれぞれ5ビットで表している。各ルータa,b,c,dのルータIDがそれぞれ10011,10101,10110,11000であったとする。そして、検索キーが、10111であったとする。この場合、ルータIDと検索キーとのExclusive ORを算出する。そして、Exclusive ORの演算結果のビット列において、左から見て最初に「1」が出現した位置について右から数えた桁数の数値を、「距離」と定義する。すなわち、各ルータa,b,c,dに対して、ルータIDと検索キーとの距離は、それぞれ3,2,1,4となる。したがって、検索キーはルータcに最も近いと判定される。そして、冗長性を考慮してk=2とした場合には、ルータcの次に距離が近いのは、ルータbと判定される。このようにして、検索キーおよびその検索キーに紐付けられた転送経路情報によって形成される経路計算結果情報は、ルータb,cに格納されることになる。この距離を用いることによって、距離の近いものほど、左から数えたビット列の一致する長さが長くなり、距離が0の場合は、完全に一致することを表す効果がある。   Here, the definition of the distance will be described with reference to FIG. In FIG. 5, in order to simplify the description, the bit length of the router ID and the search key is represented by 5 bits. Assume that the router IDs of the routers a, b, c, and d are 10011, 10101, 10110, and 11000, respectively. Assume that the search key is 10111. In this case, an exclusive OR between the router ID and the search key is calculated. Then, in the bit string of the exclusive OR operation result, the numerical value of the number of digits counted from the right at the position where “1” first appears from the left is defined as “distance”. That is, for each router a, b, c, d, the distance between the router ID and the search key is 3, 2, 1, 4 respectively. Therefore, it is determined that the search key is closest to the router c. When redundancy is taken into consideration and k = 2, it is determined that the router b is the next closest to the router c. In this way, the route calculation result information formed by the search key and the transfer route information associated with the search key is stored in the routers b and c. By using this distance, the closer the distance, the longer the matching length of the bit strings counted from the left, and when the distance is 0, there is an effect of indicating that the bit strings are completely matched.

次に、ルータ20が、他のルータ20から必要な経路計算結果情報を取得するときに、取得先のルータ20を選択する方法について説明する。この場合、経路計算結果情報を格納するときと同じ距離を用いて、必要な経路計算結果情報を格納したルータ20を特定することができる。以下に、ルータID、検索キー、および転送経路情報の構成と、格納先ノードDB132、取得先ノードDB233、および経路計算結果DB232の一例について、図6,7,8を用いて説明する。なお、本実施形態では、例えば、ビット長は160ビットとして説明する。   Next, a method for selecting the acquisition destination router 20 when the router 20 acquires necessary route calculation result information from another router 20 will be described. In this case, the router 20 storing the necessary route calculation result information can be identified using the same distance as when the route calculation result information is stored. Hereinafter, configurations of the router ID, the search key, and the transfer route information, and examples of the storage destination node DB 132, the acquisition destination node DB 233, and the route calculation result DB 232 will be described with reference to FIGS. In the present embodiment, for example, the bit length is described as 160 bits.

ルータIDの構成を式(1)に示す。
<ルータID>::=<PoPのID><ハッシュ値> ・・式(1)
ただし、PoPのIDは、そのルータ20が属するPoPを識別するIDであり、32ビットとする。PoPのIDは、AS管理者によって設定されるユニークな識別情報である。また、ハッシュ値は、例えば、ハッシュ関数の一つである、ランダム値を基にしたMD5(Message Digest 5)により算出したMD5ハッシュ値であって、128ビットとする。
The configuration of the router ID is shown in Equation (1).
<Router ID> :: = <PoP ID><HashValue> (1)
However, the PoP ID is an ID for identifying the PoP to which the router 20 belongs, and is 32 bits. The PoP ID is unique identification information set by the AS administrator. The hash value is, for example, an MD5 hash value calculated by MD5 (Message Digest 5) based on a random value, which is one of hash functions, and is 128 bits.

経路計算結果情報の格納先のルータ20を選択するときに用いる検索キーkrの構成を式(2)に示す。
<kr>::=<PoPのID><プリフィクス値><マスク値><パディング>
・・式(2)
ただし、PoPのIDは、前記と同様である。つまり、PoPのIDによって、どのPoPのための検索キーであるかが特定され、同じPoPのIDを含むノードIDを見つけやすくすることができる。プリフィクス値は、外部経路情報に含まれるプリフィクスであり、32ビットのIPv4(Internet Protocol version 4)である。マスク値は、プリフィクス値に対するマスク値であり、32ビットである。このマスク値は、IPv4で用いられるサブネットマスクに相当する。パディングは、その値をすべて「0」とし、64ビットである。なお、「::=」は、左辺のビット列と右辺のビット列とが同じになることを表し、右辺は<>のビット列をこの順で連結することを表している。
The structure of the search key kr used when selecting the router 20 that is the storage destination of the route calculation result information is shown in Expression (2).
<Kr> :: = <PoP ID><prefixvalue><maskvalue><padding>
..Formula (2)
However, the PoP ID is the same as described above. That is, the PoP ID identifies which PoP the search key is for, and makes it easy to find a node ID including the same PoP ID. The prefix value is a prefix included in the external route information, and is 32-bit IPv4 (Internet Protocol version 4). The mask value is a mask value for the prefix value and is 32 bits. This mask value corresponds to a subnet mask used in IPv4. The padding is 64 bits with all values being “0”. Note that “:: =” indicates that the bit string on the left side and the bit string on the right side are the same, and the right side indicates that the bit strings of <> are connected in this order.

経路計算結果情報を形成する、検索キーkrに紐付けられる転送経路情報valueの構成を式(3)に示す。
<value>::=<バージョン番号><n><NH_1><優先度1>・・
・・<NH_n><優先度n> ・・式(3)
ここで、バージョン番号は、ルートサーバ10が経路計算を実行するごとに付与される。nは、valueに格納する経路計算の結果である転送経路(NH_*)の数である。NH_*は、プリフィクスに対応する転送経路(ネクストホップ情報)を表す。優先度は、転送経路を用いる優先順位を指定するもので、優先度の高いものから順に用いられる。なお、転送経路情報valueは、複数の転送経路を格納しているので、選択された転送経路の障害時には、次に優先度の高い転送経路を直ちに用いることができる。
The configuration of the transfer route information value associated with the search key kr that forms the route calculation result information is shown in Equation (3).
<Value> :: = <version number><n><NH_1><priority1> ...
・ ・ <NH_n><Priorityn> ・ ・ Formula (3)
Here, the version number is given each time the route server 10 executes route calculation. n is the number of transfer routes (NH_ *) that are the result of route calculation stored in value. NH_ * represents a transfer path (next hop information) corresponding to the prefix. The priority designates the priority order using the transfer path, and is used in descending order of priority. Since the transfer route information value stores a plurality of transfer routes, the transfer route with the next highest priority can be used immediately when a failure occurs in the selected transfer route.

次に、ルートサーバ10の記憶部13の格納先ノードDB132(図2参照)の一例を、図6を用いて説明する。格納先ノードDB132は、PoPごとに、そのPoPに属するルータ20の、ルータ名、IPアドレス、およびルータIDを記憶する。なお、PoP内では経路計算結果情報が分散管理されるため、格納先ノードDB132は、AS内のすべてのルータ20に係る情報について記憶しなくても良い。   Next, an example of the storage destination node DB 132 (see FIG. 2) in the storage unit 13 of the route server 10 will be described with reference to FIG. The storage node DB 132 stores, for each PoP, the router name, IP address, and router ID of the router 20 belonging to the PoP. Since the route calculation result information is distributed and managed in PoP, the storage destination node DB 132 does not have to store information related to all the routers 20 in the AS.

また、ルータ20の記憶部23の取得先ノードDB233(図3参照)の一例を、図7を用いて説明する。なお、図7に示す取得先ノードDB233は、ある一つのルータ20に記憶されているものを表している。rangeは、ルータIDをいくつかに区分した範囲を示している。例えば、図4に示すハッシュ空間がルータIDとして用いられるID全体を示すものとすると、ルートサーバ10の分担範囲がrangeに相当する。そして、その範囲は、自身のルータIDに距離の近い範囲は狭く、距離の遠い範囲は広く設定される。図7では、冗長性をもたせて、取得先のルータの台数k=2とした場合を表しており、rangeごとに、2つの取得先のルータに係る情報を記憶した状態を表している。   An example of the acquisition destination node DB 233 (see FIG. 3) in the storage unit 23 of the router 20 will be described with reference to FIG. Note that the acquisition destination node DB 233 illustrated in FIG. 7 represents what is stored in a certain router 20. The range indicates a range in which the router ID is divided into several parts. For example, if the hash space shown in FIG. 4 indicates the entire ID used as the router ID, the shared range of the route server 10 corresponds to “range”. The range is set so that the range close to the router ID is narrow and the range far is set wide. FIG. 7 shows a case where the number of acquisition destination routers k = 2 is provided with redundancy, and shows a state in which information related to two acquisition destination routers is stored for each range.

また、ルータ20の記憶部23の経路計算結果DB232(図3参照)の一例を、図8を用いて説明する。経路計算結果DB232は、PoP内の一部の経路計算結果情報を記憶している。なお、経路計算結果情報は、検索キーkrと転送経路情報valueとの組(kr,value)によって表される。   An example of the route calculation result DB 232 (see FIG. 3) in the storage unit 23 of the router 20 will be described with reference to FIG. The route calculation result DB 232 stores a part of route calculation result information in PoP. The route calculation result information is represented by a set (kr, value) of a search key kr and transfer route information value.

(ルートサーバ10の格納処理の流れ)
次に、本実施形態における、ルートサーバ10による格納処理の流れについて、図9を用いて説明する(適宜図2参照)。ステップS901では、経路計算部122が、外部経路情報DB131を参照して、各プリフィクスに対してPoPごとの経路計算を実行し、転送経路情報valueを生成する。ステップS902では、検索キー生成部124が、ルータ20から受信したプリフィクスについて、そのプリフィクスを含む検索キーKrを生成する。ステップS903では、格納先選択部123が、PoPごとに、検索キーkrとルータIDとの距離の近い(小さい)順にk個(予め決められている所定数)のルータIDを抽出する。そして、ステップS904では、格納先選択部123が、抽出したルータIDのルータ20に、そのルータ20が記憶している取得先のルータに係る情報をk個取得する要求find_node(kr)を送信する。なお、find_node(kr)を受信したルータ20の取得先選択部223は、検索キーkrとrange(図7参照)の境界のルータIDとを比較して、検索キーkrを含むrangeを抽出し、検索キーkrと抽出したrangeに属するルータ20それぞれのルータIDとの距離を算出し、距離の近い順にk個の取得先のルータに係る情報を、ルートサーバ10に返信する。
(Flow of storage processing of the route server 10)
Next, the flow of storage processing by the route server 10 in this embodiment will be described with reference to FIG. 9 (see FIG. 2 as appropriate). In step S901, the route calculation unit 122 refers to the external route information DB 131, performs route calculation for each PoP for each prefix, and generates transfer route information value. In step S <b> 902, the search key generation unit 124 generates a search key Kr including the prefix received from the router 20. In step S903, the storage location selection unit 123 extracts k (predetermined predetermined number) router IDs in order of decreasing (small) distance between the search key kr and the router ID for each PoP. In step S904, the storage destination selection unit 123 transmits a request find_node (kr) for acquiring k pieces of information related to the router of the acquisition destination stored in the router 20 to the router 20 having the extracted router ID. . The acquisition destination selection unit 223 of the router 20 that has received the find_node (kr) compares the search key kr with the router ID at the boundary of the range (see FIG. 7), and extracts the range including the search key kr. The distance between the search key kr and the router ID of each of the routers 20 belonging to the extracted range is calculated, and information related to k acquisition destination routers is returned to the route server 10 in order of increasing distance.

ステップS905では、格納先選択部123は、find_node(kr)の送信先のルータ20から、取得先のルータに係る情報をk個取得する。ステップS906では、格納先選択部123は、ステップS905で取得したルータの中で、find_node(kr)を未送信のルータがあるか否かを判定する。そして、未送信のルータがある場合(ステップS906でYes)、ステップS907で、格納先選択部123が、未送信のルータに、find_node(kr)を送信する。そして、処理は、ステップS905へ戻る。また、未送信のルータがない場合(ステップS906でNo)、ステップS908では、格納先選択部123は、PoPごとに、検索キーkrに距離の近い順にk個のルータIDを選択し、選択したk個のルータIDのルータに、経路計算結果情報(kr,value)を格納(送信)する。なお、ステップS908で格納された経路計算結果情報(kr,value)は、ルートサーバ10が経路計算を再実行した場合には、削除される。また、ルートサーバ10が、find_node(kr)の送信先から新しく取得したルータIDは、格納先ノードDB132に格納し、更新していく。   In step S905, the storage destination selection unit 123 acquires k pieces of information related to the acquisition destination router from the transmission destination router 20 of the find_node (kr). In step S906, the storage destination selection unit 123 determines whether there is a router that has not transmitted find_node (kr) among the routers acquired in step S905. If there is an untransmitted router (Yes in step S906), in step S907, the storage destination selection unit 123 transmits find_node (kr) to the untransmitted router. Then, the process returns to step S905. If there is no unsent router (No in step S906), in step S908, the storage destination selection unit 123 selects and selects k router IDs in order of distance from the search key kr for each PoP. Route calculation result information (kr, value) is stored (transmitted) in the routers with k router IDs. Note that the route calculation result information (kr, value) stored in step S908 is deleted when the route server 10 re-executes route calculation. In addition, the router ID newly acquired by the route server 10 from the transmission destination of the find_node (kr) is stored in the storage destination node DB 132 and updated.

(他のルータ20から転送経路情報を取得する処理)
次に、他のルータ20から転送経路情報を取得する処理について、その概要を説明する(適宜図3参照)。まず、ルータ20の取得キー生成部225は、転送すべきパケットが到着すると、転送先の決定のために、転送すべきパケットの宛先IPアドレスを含む取得キーkdを生成する。なお、この取得キーkdの詳細については、後記する。そして、転送経路決定部222は、自身の記憶する経路計算結果DB232を参照して、取得キーkdと一致する、経路計算結果情報に含まれる検索キーkrを探索する。取得キーkdに一致する検索キーkrが見つかった場合には、その検索キーkrに紐付けられた転送経路情報valueが読み出され、パケットの転送に用いられる。
(Process for obtaining transfer route information from other routers 20)
Next, an outline of processing for acquiring transfer path information from another router 20 will be described (see FIG. 3 as appropriate). First, when a packet to be transferred arrives, the acquisition key generation unit 225 of the router 20 generates an acquisition key kd including the destination IP address of the packet to be transferred in order to determine the transfer destination. Details of the acquisition key kd will be described later. Then, the transfer route determination unit 222 refers to the route calculation result DB 232 stored therein and searches for the search key kr included in the route calculation result information that matches the acquisition key kd. When the search key kr matching the acquisition key kd is found, the transfer route information value associated with the search key kr is read and used for packet transfer.

また、取得先選択部223は、転送すべきパケットが到着すると、取得キーkdに距離の近いk個のルータIDのルータ20を選択する。なお、この距離は、前記した距離と同様の定義である。そして、取得先選択部223は、その選択したルータ20に、そのルータ20が保持する取得キーkdに距離の近いk個のルータに係る情報と、取得キーkdに一致する検索キーkrの経路計算結果情報(kr,value)がある場合には経路計算結果情報(kr,value)とを取得するための要求find_value(kd)を送信する。そして、転送経路決定部222は、取得した複数の経路計算結果情報(kr,value)の中から、取得キーkdに最長一致(例えば、複数の検索キーkrと取得キーkdとの距離を算出したとき、最も距離の近いビット列を見つけること)となる検索キーkrを含む経路計算結果情報(kr,value)を選択する。次に、転送経路決定部222は、選択した該経路計算結果(kr,value)から転送経路情報valueを読み出して、パケットの転送に用いる。   Further, when the packet to be transferred arrives, the acquisition destination selection unit 223 selects the routers 20 with k router IDs that are close to the acquisition key kd. This distance is the same definition as the distance described above. Then, the acquisition destination selection unit 223 calculates, for the selected router 20, information on k routers that are close to the acquisition key kd held by the router 20 and the route calculation of the search key kr that matches the acquisition key kd. When there is result information (kr, value), a request find_value (kd) for acquiring route calculation result information (kr, value) is transmitted. Then, the transfer route determination unit 222 calculates the longest match with the acquisition key kd (for example, the distance between the plurality of search keys kr and the acquisition key kd) from the acquired plurality of route calculation result information (kr, value). The route calculation result information (kr, value) including the search key kr is selected. Next, the transfer route determination unit 222 reads transfer route information value from the selected route calculation result (kr, value) and uses it for packet transfer.

(取得キーkdの構成)
ここで、取得キーkdの構成を式(4)に示す。
<kd>::=<PoPのID><IPアドレス><マスク値><パディング>
・・式(4)
ただし、PoPのIDは、転送すべきパケットを受信したルータの属するPoPのIDである。つまり、PoPのIDによって、どのPoPのための取得キーであるかが特定される。IPアドレスは、転送すべきパケットの宛先IPアドレスであり、32ビットである。マスク値は、プリフィクス値に対するマスク値であり、32ビットである。このマスク値は、IPv4で用いられるサブネットマスクに相当し、すべて「1」に設定する。パディングは、その値をすべて「0」とし、64ビットである。
(Configuration of acquisition key kd)
Here, the configuration of the acquisition key kd is shown in Equation (4).
<Kd> :: = <PoP ID><IPaddress><Maskvalue><Padding>
..Formula (4)
However, the PoP ID is the ID of the PoP to which the router that received the packet to be transferred belongs. That is, the PoP ID identifies which PoP the acquisition key is for. The IP address is a destination IP address of a packet to be transferred and is 32 bits. The mask value is a mask value for the prefix value and is 32 bits. This mask value corresponds to a subnet mask used in IPv4, and is all set to “1”. The padding is 64 bits with all values being “0”.

このように、境界ルータ20では、転送すべきパケットが到着すると、転送先の決定のために、分散管理されている転送経路情報valueを取得する必要がある。そのため、境界ルータ20は、転送経路情報valueとの組を形成している検索キーkrを生成できればよいが、転送すべきパケットからは、宛先IPアドレスしか取得できない。そして、その宛先IPアドレスを示すビット列と、宛先のプリフィクスを示すビット列とは完全に一致するとは限らない。すなわち、境界ルータ20は、取得キーkdを生成する場合、経路計算結果情報(kr,value)を格納するときに用いた検索キーkrと同じビット列を生成できるとは限らない。そこで、ルータ20が、取得キーkdを用いて行う転送経路情報の取得処理の流れについて、図10を用いて説明する(適宜図3参照)。   As described above, when the packet to be transferred arrives, the border router 20 needs to acquire the transfer route information value that is distributed and managed in order to determine the transfer destination. Therefore, the border router 20 only needs to be able to generate the search key kr that forms a pair with the transfer route information value, but only the destination IP address can be acquired from the packet to be transferred. The bit string indicating the destination IP address and the bit string indicating the destination prefix do not always match completely. That is, when the boundary router 20 generates the acquisition key kd, it cannot always generate the same bit string as the search key kr used when storing the route calculation result information (kr, value). Therefore, the flow of transfer path information acquisition processing performed by the router 20 using the acquisition key kd will be described with reference to FIG. 10 (see FIG. 3 as appropriate).

(転送経路情報の取得処理の流れ)
図10に示すように、ステップS1001では、取得キー生成部225が、転送すべきパケットの宛先IPアドレスを含む取得キーkdを生成する。ステップS1002では、取得先選択部223が、取得キーkdと取得先ノードDB233に記憶されているルータIDとを比較して、取得キーkdに距離の近い順にk個のルータを選択する。ステップS1003では、取得先選択部223が、選択したルータに、取得キーkdに距離の近いk個のルータに係る情報と、取得キーkdに一致する検索キーkrが存在すれば、その検索キーkrを含む経路計算結果情報(kr,value)の転送経路情報valueとを取得するための要求find_value(kd)を送信する。
(Flow of transfer route information acquisition processing)
As shown in FIG. 10, in step S1001, the acquisition key generation unit 225 generates an acquisition key kd including the destination IP address of the packet to be transferred. In step S1002, the acquisition destination selection unit 223 compares the acquisition key kd with the router ID stored in the acquisition destination node DB 233, and selects k routers in order of distance from the acquisition key kd. In step S1003, if the acquisition destination selection unit 223 includes, in the selected router, information related to k routers close to the acquisition key kd and a search key kr that matches the acquisition key kd, the search key kr A request find_value (kd) for acquiring the transfer route information value of the route calculation result information (kr, value) including the is transmitted.

ステップS1004では、転送経路決定部222は、find_value(kd)の送信先のルータ20から、取得キーkdに距離の近いk個のルータ20に係る情報と、取得キーkdに一致する検索キーkrが存在すれば、その検索キーkrを含む経路計算結果情報(kr,value)の転送経路情報valueとを取得する。なお、find_value(kd)を受信したルータ20の取得先選択部223は、取得キーkdとrange(図7参照)の境界のルータIDとを比較して、取得キーkdを含むrangeを抽出し、取得キーkdと抽出したrangeに属するルータ20それぞれのルータIDとの距離を算出し、距離の近い順にk個の取得先のルータに係る情報を、送信元のルータ20に返信する。   In step S <b> 1004, the transfer route determination unit 222 determines that the information about the k routers 20 close to the acquisition key kd and the search key kr that matches the acquisition key kd from the destination router 20 of find_value (kd). If it exists, transfer route information value of route calculation result information (kr, value) including the search key kr is acquired. The acquisition destination selection unit 223 of the router 20 that has received find_value (kd) compares the acquisition key kd with the router ID at the boundary of the range (see FIG. 7), and extracts the range including the acquisition key kd. The distance between the acquisition key kd and the router ID of each of the routers 20 belonging to the extracted range is calculated, and information related to k acquisition destination routers is returned to the transmission source router 20 in order of increasing distance.

ステップS1005では、転送経路決定部222が、転送経路情報valueが取得されたか否かを判定する。そして、転送経路情報valueが取得された場合(ステップS1005でYes)、ステップS1006では、転送経路決定部222が、転送経路情報valueに含まれる転送経路(式(3)におけるNH_*)と、現在使われている転送経路とのどちらが、転送すべきパケットのIPアドレスと最長一致かを比較し、最長一致の方の転送経路を現在使われている転送経路に設定する。ただし、ステップS1005で取得された転送経路情報valueに含まれる転送経路および現在使われている転送経路のいずれもが、転送すべきパケットのIPアドレスとの距離が同じ場合には、転送経路情報valueのバージョン番号が最新の方に、現在使われている転送経路を設定する。そして、ステップS1007では、転送経路決定部222が、現在使われている転送経路を不図示のFIBに設定する。そして、処理は、ステップS1008へ進む。なお、ステップS1005で、転送経路情報valueが取得されなかった場合(ステップS1005でNo)、処理は、ステップS1008へスキップする。   In step S1005, the transfer route determination unit 222 determines whether transfer route information value has been acquired. When the transfer route information value is acquired (Yes in Step S1005), in Step S1006, the transfer route determination unit 222 determines that the transfer route included in the transfer route information value (NH_ * in Expression (3)) and the current Compare which of the used transfer routes is the longest match with the IP address of the packet to be transferred, and set the transfer route with the longest match as the currently used transfer route. However, if both the transfer path included in the transfer path information value acquired in step S1005 and the currently used transfer path have the same distance from the IP address of the packet to be transferred, the transfer path information value Set the transfer route that is currently used to the latest version number. In step S1007, the transfer path determination unit 222 sets the currently used transfer path to the FIB (not shown). Then, the process proceeds to step S1008. If transfer path information value is not acquired in step S1005 (No in step S1005), the process skips to step S1008.

ステップS1008では、転送経路決定部222が、find_value(kd)を、未送信のステップS1004で取得したルータがあるか否かを判定する。未送信のステップS1004で取得したルータがある場合(ステップS1008でYes)、ステップS1009では、取得先選択部223が、未送信のルータ20へ、find_value(kd)を送信する。そして、処理は、ステップS1004へ戻る。また、未送信のステップS1004で取得したルータがない場合(ステップS1008でNo)、処理は、ステップS1010へ進む。   In step S1008, the transfer path determination unit 222 determines whether or not there is a router that has acquired find_value (kd) in step S1004 that has not been transmitted. When there is a router acquired in step S1004 that has not been transmitted (Yes in step S1008), in step S1009, the acquisition destination selection unit 223 transmits find_value (kd) to the router 20 that has not been transmitted. Then, the process returns to step S1004. If there is no unacquired router acquired in step S1004 (No in step S1008), the process proceeds to step S1010.

ステップS1010では、転送経路決定部222が、取得キーkdのIPアドレス部の最後(一番右)のゼロでないビットをゼロに変更し、同時にマスク値部分の当該IPアドレスの変更位置のビットを含む右側のビットをゼロに変更し、その変更したビット列を新たな取得キーkdに設定する。この取得キーkdのビット変更時の操作の具体例について、図11を用いて説明する。図11に示すように、ビット変更前のIPアドレス部のビット列およびマスク値部分のビット列がそれぞれ<10101100><11111111>であったとする。IPアドレス部の最後(一番右)のゼロでないビットは、右から3番目である。この右から3番目のビットをゼロに変更する。そして、マスク値部分については、右から3番目のビットを含む右側の3つのビットをゼロに変更する。   In step S1010, the transfer path determination unit 222 changes the last (rightmost) non-zero bit of the IP address part of the acquisition key kd to zero, and at the same time includes the bit at the change position of the IP address in the mask value portion. The right bit is changed to zero, and the changed bit string is set as a new acquisition key kd. A specific example of the operation when changing the bit of the acquisition key kd will be described with reference to FIG. As shown in FIG. 11, it is assumed that the bit string of the IP address part before the bit change and the bit string of the mask value part are <10101100> <11111111>, respectively. The last (rightmost) non-zero bit of the IP address part is the third from the right. The third bit from the right is changed to zero. For the mask value portion, the right three bits including the third bit from the right are changed to zero.

ステップS1011では、転送経路決定部222が、取得キーkdのIPアドレス部のホスト部分がすべてゼロかそれ以外かを判定する。取得キーkdのIPアドレス部のホスト部分の一部がゼロでない場合(ステップS1011でNo)、処理は、ステップS1002へ戻る。また、取得キーkdのIPアドレス部のホスト部分がすべてゼロの場合(ステップS1011でYes)、ステップS1012では、転送経路決定部222が、現在使われている転送経路を含む経路計算結果情報のレプリケーションを、当初の取得キーkdに(k+1)番目に距離の近いルータIDのルータに対して実行する。そして、転送経路情報の取得処理を終了する。   In step S1011, the transfer path determination unit 222 determines whether the host part of the IP address part of the acquisition key kd is all zero or not. If a part of the host part of the IP address part of the acquisition key kd is not zero (No in step S1011), the process returns to step S1002. If the host part of the IP address part of the acquisition key kd is all zero (Yes in step S1011), in step S1012, the transfer path determination unit 222 replicates the route calculation result information including the currently used transfer path. Is executed for the router having the router ID closest to the (k + 1) th distance from the initial acquisition key kd. Then, the transfer route information acquisition process ends.

なお、転送すべきパケットは、ステップS1007でFIBに設定された転送経路に基づいて転送される。この際、カプセル化処理部224は、転送すべきパケットを、出口の境界ルータのIPアドレスを宛先とするヘッダによってカプセル化して、IGPを用いて、そのパケットを転送する。このカプセル化の効果は、ルータ20が他のPoPのBGP経路情報を保持する必要がなくなること、およびAS内で経由するルータ20が意図しない方路へパケットを転送することを防止できること、である。   Note that the packet to be transferred is transferred based on the transfer path set in the FIB in step S1007. At this time, the encapsulation processing unit 224 encapsulates the packet to be transferred with a header whose destination is the IP address of the border router at the exit, and transfers the packet using the IGP. The effect of this encapsulation is that it is not necessary for the router 20 to hold the BGP route information of other PoPs, and that it is possible to prevent the router 20 passing in the AS from forwarding a packet to an unintended route. .

また、ステップS1010において取得キーkdのIPアドレス部のビット列を、最後(一番右)のゼロでないビットをゼロに変更し、再びステップS1002へ戻って検索を続ける理由は、経路計算結果情報(kr,value)は、宛先IPアドレスの集合であるプリフィクスに基づいて管理されているのに対して、取得キーkdは宛先IPアドレスを用いて生成されているからである。すなわち、取得キーkdにそのまま一致する検索キーkrが見つかる可能性は低いと考えられる。そこで、IPアドレス部のビット列を、最後(一番右)のゼロでないビットをゼロに変更しつつ、最長一致となるビット列を探索していくためである。   The reason why the bit string of the IP address part of the acquisition key kd is changed to zero in the last (rightmost) non-zero bit in step S1010 and the search returns to step S1002 to continue the search is as follows. , Value) is managed based on a prefix which is a set of destination IP addresses, whereas the acquisition key kd is generated using the destination IP address. That is, it is considered that the possibility of finding the search key kr that directly matches the acquisition key kd is low. This is because the bit string in the IP address portion is searched for the bit string with the longest match while changing the last (rightmost) non-zero bit to zero.

また、ステップS1006において、最長一致となる転送経路が複数見つかった場合には、転送経路情報valueに含まれるバージョン番号が最新の方が選ばれる。また、ステップS1012において、レプリケーションする経路計算結果情報は、k+1番目に距離の近いルータ20に格納されるが、k+1番目のルータ20にすでに格納済みであれば、k+2番目のルータにレプリケーションされる。そして、レプリケーションされた経路計算結果情報は、所定時間が経過した後(タイムアウト後)、消去される。なお、その所定時間は、取得キーkdとルータIDとの距離の大きさに反比例して設定される。すなわち、タイムアウトの所定時間は、距離が遠いほど短く設定される。   In step S1006, when a plurality of longest matching transfer paths are found, the latest version number included in the transfer path information value is selected. In step S1012, the route calculation result information to be replicated is stored in the router 20 closest to the (k + 1) th distance. If already stored in the (k + 1) th router 20, the information is replicated to the (k + 2) th router. The replicated route calculation result information is deleted after a predetermined time has elapsed (after a timeout). The predetermined time is set in inverse proportion to the distance between the acquisition key kd and the router ID. That is, the predetermined time-out time is set shorter as the distance is longer.

(記憶容量の削減効果)
前記したように、本実施形態では、ルータ20が記憶していた外部経路情報がルートサーバ10に記憶されるため、従来のルータに比べて、記憶容量を低減することが可能である。また、ルートサーバ10も、プリフィクスを分担して記憶する台数を増加することによって、一台当りの記憶容量を低減することができる。さらに、従来の各ルータでは、パケット転送のために必要な転送経路の情報(FIBに記憶される情報)については、すべてのプリフィクスに対して記憶しなければならなかったが、本実施形態では、PoP内で分散管理することによって、ルータ20の記憶容量を低減することが可能である。定量的には、ルータ20一台当りの保持する経路数は、全経路数をPoP内のルータ数で除算した値に、レプリケーションされる情報の経路数を加算して算出される。なお、インターネットにおいては、トラヒックのほとんどは少数の宛先に集中する傾向があるため、レプリケーションされる経路数は、全経路数をPoP内のルータ数で除算した値に比較して小さい。
(Reduction effect of storage capacity)
As described above, in the present embodiment, since the external route information stored in the router 20 is stored in the route server 10, it is possible to reduce the storage capacity compared to the conventional router. In addition, the route server 10 can also reduce the storage capacity per unit by increasing the number of prefixes that are shared and stored. Furthermore, in each conventional router, the information on the transfer route necessary for packet transfer (information stored in the FIB) has to be stored for all prefixes. In the present embodiment, By managing the distribution within the PoP, the storage capacity of the router 20 can be reduced. Quantitatively, the number of routes held per router 20 is calculated by adding the number of routes of information to be replicated to the value obtained by dividing the total number of routes by the number of routers in PoP. In the Internet, since most of the traffic tends to concentrate on a small number of destinations, the number of routes to be replicated is smaller than the value obtained by dividing the total number of routes by the number of routers in the PoP.

(メッセージ数および計算処理量の削減効果)
ルートサーバ10が経路計算を実行するため、各ルータ20は、経路計算を実行しないで良い。そのため、本実施形態のルータ20では、従来のルータに比較して、計算処理量が低減できる。さらに、本実施形態では、AS内のルータ20は、複数のPoPのいずれかに属している。そして、PoP内ではBGP経路については同一の転送経路となるので、ルートサーバ10は、PoPごとに1つのルータ20のための経路計算を実行すれば良く、また、その経路計算結果をメッセージとしてPoP内のルータ数より少ないk個のルータ20に送信すれば良い。したがって、ルートサーバ10が、ルータ20ごとにすべての経路計算結果を送信する場合に比べて、定性的には、メッセージ数および計算処理量(処理負荷)を低減することができる。
(Reduction effect of the number of messages and the amount of calculation processing)
Since the route server 10 performs route calculation, each router 20 may not execute route calculation. Therefore, in the router 20 of this embodiment, the amount of calculation processing can be reduced as compared with the conventional router. Furthermore, in the present embodiment, the router 20 in the AS belongs to one of a plurality of PoPs. Since the BGP route is the same transfer route in PoP, the route server 10 only has to execute route calculation for one router 20 for each PoP, and the route calculation result is used as a message in the PoP. What is necessary is just to transmit to k routers 20 fewer than the number of routers in the. Therefore, compared with the case where the route server 10 transmits all the route calculation results for each router 20, the number of messages and the amount of calculation processing (processing load) can be reduced qualitatively.

定量的には、PoP内のルータ数の平均をRpop、ルートサーバ10からすべてのルータ20に経路計算結果(メッセージ)を送信する場合のメッセージ数をMとすると、経路計算結果の配信のために、ルートサーバ10が送信するメッセージ数Rmは、M/Rpop+Nfとなる。ここで、Nfは、find_nodeメッセージ数である。このNfは、初期状態では、最大でPoP内のルータ数分になることもあるが、find_nodeが繰り替えされることによって、ルートサーバ10の格納先ノードDB132が更新され、ルートサーバ10が知り得ないルータ20が無くなっていくため、最終的には、k(冗長性)に収束する。そのため、メッセージ数は、削減される。   Quantitatively, if the average number of routers in the PoP is Rpop, and the number of messages when the route calculation result (message) is transmitted from the route server 10 to all the routers 20 is M, The number of messages Rm transmitted by the route server 10 is M / Rpop + Nf. Here, Nf is the number of find_node messages. In the initial state, this Nf may be up to the number of routers in the PoP. However, when the find_node is repeated, the storage destination node DB 132 of the route server 10 is updated, and the route server 10 cannot know. Since the router 20 disappears, it finally converges to k (redundancy). Therefore, the number of messages is reduced.

また、find_valueメッセージ数は、転送すべきパケットの宛先の分布に依存する。インターネットでは、パケットの宛先のほとんどが、ごく一部のプリフィクスに集中することから、レプリケーションによって、他のルータに取得要求を行う必要がなくなっていく。したがって、find_valueメッセージ数は、ほとんどゼロに収束する。したがって、本実施形態では、PoPおよびレプリケーションの導入にともなって、メッセージ数を低減することができる。   Further, the number of find_value messages depends on the distribution of destinations of packets to be transferred. In the Internet, most packet destinations are concentrated on a small part of the prefix, so that it is not necessary to make an acquisition request to another router by replication. Therefore, the number of find_value messages converges to almost zero. Therefore, in this embodiment, the number of messages can be reduced with the introduction of PoP and replication.

以上、本実施形態の経路情報管理システム30によれば、ルートサーバ10がプリフィクスに係る外部経路情報を格納するため、ルータ20に保持すべき経路数(記憶容量)を削減することができる。また、ルートサーバ10は、同一のプリフィクスに係る外部経路情報についてすべてを収集して経路計算を実行するため、経路計算結果が最適とならないという問題は発生しない。また、AS内に複数のPoPを設けた場合、そのPoP内のBGP経路はプリフィクスに対して共通になるため、ルートサーバ10は、PoP内の1つのルータ20に対してだけ経路計算を実行すれば良くなる。そのため、ルートサーバ10の処理負荷を低減することができるとともに、ルータ20での経路計算が不要となる。また、ルートサーバ10によって算出されたPoPごとの経路計算の結果は、PoP内で分散管理されるため、PoPごとにk個(所定数)のルータ20に格納(送信)されれば良い。そのため、経路計算の結果をメッセージとして送信するときのメッセージ数を削減することができる。また、PoP内のルータ20によって経路計算結果情報が分散管理されるため、一台当りのルータ20の記憶容量は、すべての経路計算結果情報を記憶していた従来の一台のルータ20の記憶容量に比べて、低減できる。また、必要な経路計算結果の取得のための探索は、PoP内のルータ20だけに限られるため、その取得処理が早くなる。   As described above, according to the route information management system 30 of the present embodiment, since the route server 10 stores the external route information related to the prefix, the number of routes (storage capacity) to be held in the router 20 can be reduced. Further, since the route server 10 collects all the external route information related to the same prefix and executes route calculation, there is no problem that the route calculation result is not optimal. In addition, when a plurality of PoPs are provided in the AS, the BGP route in the PoP is common to the prefix, so that the route server 10 performs route calculation for only one router 20 in the PoP. Better. Therefore, the processing load on the route server 10 can be reduced, and route calculation at the router 20 becomes unnecessary. In addition, since the result of route calculation for each PoP calculated by the route server 10 is distributed and managed in the PoP, it may be stored (transmitted) in k (predetermined number) routers 20 for each PoP. Therefore, it is possible to reduce the number of messages when the route calculation result is transmitted as a message. Further, since the route calculation result information is distributed and managed by the routers 20 in the PoP, the storage capacity of each router 20 is the memory of one conventional router 20 storing all the route calculation result information. Compared to capacity, it can be reduced. Further, since the search for obtaining the necessary route calculation result is limited to only the router 20 in the PoP, the obtaining process is accelerated.

なお、本実施形態は、これらに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、取得先選択部223が検索キーkrや取得キーkdに距離の近いk個のルータ20を選択するときに、本実施形態では検索キーkrや取得キーkdを含むrangeで選択されているk個のルータを取得するものとして説明した。しかし、ルータ20の記憶部23に記憶されているルータIDと検索キーkrや取得キーkdとの距離を計算して、最も距離の近いk個のルータ20を選択するようにしても構わない。また、図7では、一例として、記憶部23の取得先ノードDB233にrangeごとにk個のルータに係る情報を格納する場合を示した。しかし、rangeごとにk個より多くのルータ20に係る情報が記憶されている場合には、その中から最も距離の近いk個のルータ20を選択するようにしても構わない。   In addition, this embodiment is not limited to these, It can implement in the range which does not change the meaning. For example, when the acquisition destination selection unit 223 selects k routers 20 that are close to the search key kr or the acquisition key kd, in this embodiment, k selected by the range including the search key kr and the acquisition key kd. Described as obtaining routers. However, the distance between the router ID stored in the storage unit 23 of the router 20 and the search key kr or the acquisition key kd may be calculated to select the k routers 20 having the closest distance. In addition, in FIG. 7, as an example, a case where information related to k routers for each range is stored in the acquisition destination node DB 233 of the storage unit 23 is shown. However, when information related to more than k routers 20 is stored for each range, k routers 20 having the shortest distance may be selected from the information.

また、転送経路決定部222が取得キーkdに一致する検索キーkrを探索するときに、経路計算結果情報(kr,value)をrangeごとに紐付けて記憶されていれば、探索範囲を絞ることができ、探索時間を小さくすることができる。また、ルータ20は、find_value(kd)によって取得した転送経路情報valueを、自身の記憶部23の図示しないキャッシュメモリに格納しておくと、探索を早めることができる。なお、キャッシュメモリに格納された情報は、所定時間後(タイムアウト後)に消去される。なお、レプリケーションやキャッシュは、転送経路情報を格納する1つのRadix Treeによって管理される。   When the transfer route determination unit 222 searches for the search key kr that matches the acquisition key kd, the search range is narrowed down if the route calculation result information (kr, value) is stored in association with each range. The search time can be reduced. Further, the router 20 can speed up the search by storing the transfer route information value acquired by find_value (kd) in a cache memory (not shown) of its own storage unit 23. Note that the information stored in the cache memory is deleted after a predetermined time (after timeout). Note that replication and cache are managed by one Radix Tree that stores transfer path information.

また、ルータ20が、ルートサーバ10の機能を兼ねていても構わない。また、本実施形態は、AS間の通信プロトコルであるeBGPを改変するものではないので、AS内に閉じて適用することができる。そして、本実施形態を適用したASは、従来通り、他のASと接続することが可能である。   The router 20 may also serve as the function of the route server 10. Moreover, since this embodiment does not modify eBGP, which is a communication protocol between ASs, it can be applied by being closed in AS. And AS which applied this embodiment can be connected with other AS as usual.

また、本実施形態において、ルートサーバ10(図2参照)の各部11,12の処理は、ルートサーバ10をコンピュータで実現したときに搭載されるプログラムによって実現されてもよい。また、本実施形態において、ルータ(図3参照)の各部21,22の処理は、ルータ20をコンピュータで実現したときに搭載されるプログラムによって実現されてもよい。このプログラムは、通信回線を介して提供することもできるし、CD−ROM等のコンピュータ読み取り可能な記録媒体に書き込んで配布することも可能である。   In the present embodiment, the processing of the units 11 and 12 of the route server 10 (see FIG. 2) may be realized by a program installed when the route server 10 is realized by a computer. In the present embodiment, the processing of the units 21 and 22 of the router (see FIG. 3) may be realized by a program installed when the router 20 is realized by a computer. This program can be provided via a communication line, or can be distributed by writing in a computer-readable recording medium such as a CD-ROM.

1 AS
10 ルートサーバ(経路情報管理装置)
11 入出力部
12 処理部
13 記憶部
20 ルータ(境界ルータ、ルータ)
22 処理部
23 記憶部
30 経路情報管理システム
121 外部経路情報収集部
122 経路計算部
123 格納先選択部
124 検索キー生成部
131 外部経路情報DB
132 格納先ノードDB
221 ルートサーバ選択部
222 転送経路決定部
223 取得先選択部
224 カプセル化処理部
225 取得キー生成部
231 ルートサーバIDDB
232 経路計算結果DB
233 取得先ノードDB
1 AS
10 Route server (route information management device)
11 Input / output unit 12 Processing unit 13 Storage unit 20 Router (border router, router)
22 processing unit 23 storage unit 30 route information management system 121 external route information collection unit 122 route calculation unit 123 storage destination selection unit 124 search key generation unit 131 external route information DB
132 Storage node DB
221 Route server selection unit 222 Transfer route determination unit 223 Acquisition destination selection unit 224 Encapsulation processing unit 225 Acquisition key generation unit 231 Route server IDDB
232 Route calculation result DB
233 Acquisition destination node DB

Claims (10)

IP(Internet Protocol)ネットワークを構成するAS(Autonomous System)内で、他のASから該他のASのIPアドレスの集合であるプリフィクスを含む外部経路情報を取得し、かつパケットを他のASに転送する複数のルータと、同一のプリフィクスを含む外部経路情報を前記ルータから収集して経路計算を実行する2以上の経路情報管理装置とが相互に通信可能に接続される経路情報管理システムであって、
前記経路情報管理装置は、
前記ルータから収集した前記プリフィクスごとに、そのプリフィクスを含む外部経路情報を用いて、前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合に属する少なくともいずれか1つのルータにおける、パケットの転送先のプリフィクスに至る転送経路を計算する経路計算を実行する経路計算部と、
前記経路計算部によって経路計算されたルータ集合ごとの経路計算の結果を含む経路計算結果情報を送信する当該ルータ集合に属する所定数のルータを選択する格納先選択部と、
当該経路計算結果情報を、前記格納先選択部によって選択された当該所定数のルータに送信する入出力部と、
を備え、
前記ルータは、
転送すべきパケットを受信したときに、前記経路情報管理装置から受信した前記経路計算結果情報を参照して、該パケットの転送先を決定する転送経路決定部と、
前記転送経路決定部によって決定された転送先に前記転送すべきパケットを送信する入出力部と、
を備える
ことを特徴とする経路情報管理システム。
In an AS (Autonomous System) constituting an IP (Internet Protocol) network, external route information including a prefix that is a set of IP addresses of the other AS is acquired from another AS, and the packet is transferred to the other AS. A route information management system in which a plurality of routers and two or more route information management devices that collect external route information including the same prefix from the router and perform route calculation are connected to each other so as to be able to communicate with each other ,
The route information management device
For each prefix collected from the router, at least one of a plurality of routers set in the AS with a group of two or more routers in the AS using external route information including the prefix as a unit A route calculation unit that performs route calculation for calculating a transfer route to a prefix of a packet transfer destination in one router;
A storage location selection unit that selects a predetermined number of routers belonging to the router set for transmitting route calculation result information including a route calculation result for each router set calculated by the route calculation unit;
An input / output unit that transmits the route calculation result information to the predetermined number of routers selected by the storage destination selection unit;
With
The router
A transfer path determination unit that determines a transfer destination of the packet with reference to the path calculation result information received from the path information management device when a packet to be transferred is received;
An input / output unit that transmits the packet to be transferred to the transfer destination determined by the transfer path determination unit;
A route information management system comprising:
前記経路情報管理装置は、さらに、
前記ルータ集合ごとに、少なくとも1以上のルータのルータIDとして、当該ルータの属する前記ルータ集合のルータ集合IDのビット列の後にハッシュ関数によって生成されたハッシュ値のビット列を連結したビット列を記憶する格納先ノード情報を格納する記憶部と、
前記ルータ集合ごとに、前記経路計算結果情報の格納先の検索に用いる検索キーとして、当該ルータ集合のルータ集合IDのビット列、前記プリフィクスのビット列、前記プリフィクスに対するマスク値のビット列、およびパディングとしてすべて「0」のビット列を連結したビット列を生成する検索キー生成部と、
を備え、
前記格納先選択部は、
前記格納先ノード情報に記憶しているルータIDと前記検索キーとの距離を、当該ルータIDと前記検索キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から送信先として選択する
ことを特徴とする請求項1に記載の経路情報管理システム。
The route information management device further includes:
A storage location for storing a bit string obtained by concatenating a bit string of a hash value generated by a hash function after a bit string of a router set ID of the router set to which the router belongs, as a router ID of at least one router for each router set A storage unit for storing node information;
For each router set, as a search key used for searching the storage destination of the route calculation result information, the router set ID bit string of the router set, the prefix bit string, the mask value bit string for the prefix, and the padding are all “ A search key generation unit for generating a bit string obtained by concatenating bit strings of “0”;
With
The storage destination selection unit
The distance between the router ID stored in the storage destination node information and the search key is first set to “1” when viewed from the left in the bit string indicating the exclusive OR for each bit of the router ID and the search key. 2. The bit position where “” appears is calculated as a numerical value of the number of bits counted from the right, and a predetermined number of routers are selected as destinations from the router set in ascending order of the calculated distance. The route information management system described in 1.
前記経路計算結果情報は、前記検索キーと、その検索キーに含まれるプリフィクスに対応する前記ルータ集合ごとの経路計算の結果とを関連付けた情報である
ことを特徴とする請求項2に記載の経路情報管理システム。
The route according to claim 2, wherein the route calculation result information is information in which the search key is associated with a result of route calculation for each router set corresponding to a prefix included in the search key. Information management system.
前記ルータは、さらに、
そのルータの属するルータ集合内の自身を除く少なくとも1以上のルータのルータIDを記憶する取得先ノード情報と前記経路計算結果情報とを記憶する記憶部と、
転送すべきパケットを受信したとき、当該ルータの属するルータ集合IDのビット列、当該パケットの宛先IPアドレスのビット列、前記宛先IPアドレスに対するマスク値としてすべて「1」のビット列、およびパディングとしてすべて「0」のビット列を連結して形成される、取得キーを生成する取得キー生成部と、
前記取得先ノード情報に記憶しているルータIDと前記取得キーとの距離を、前記ルータIDと前記取得キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から取得先として選択する取得先選択部と、
を備え、
前記転送経路決定部は、
自身の前記記憶部に記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致するか否かを判定し、一致するものがある場合には、その検索キーに関連付けられた前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定し、一致するものがない場合には、前記取得先選択部によって取得先として選択されたルータに前記取得キーを送信して、当該ルータの記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致する前記ルータ集合ごとの経路計算の結果を取得して、その取得した前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定する
ことを特徴とする請求項3に記載の経路情報管理システム。
The router further includes:
A storage unit for storing acquisition destination node information for storing router IDs of at least one or more routers excluding itself in the router set to which the router belongs, and the route calculation result information;
When a packet to be transferred is received, a bit string of a router set ID to which the router belongs, a bit string of a destination IP address of the packet, a bit string of all “1” as a mask value for the destination IP address, and all “0” as padding An acquisition key generation unit that generates an acquisition key formed by concatenating bit strings of
The distance between the router ID and the acquisition key stored in the acquisition destination node information is first set to “1” when viewed from the left in the bit string indicating the exclusive OR for each bit of the router ID and the acquisition key. `` Appears as a numerical value of the number of digits of the bit counted from the right for the bit position, and an acquisition destination selection unit that selects a predetermined number of routers as an acquisition destination from the router set in ascending order of the calculated distance;
With
The transfer path determination unit
It is determined whether or not the search key of the route calculation result information stored in its storage unit matches the acquisition key, and if there is a match, the router set associated with the search key The packet transfer destination is determined based on the result of each path calculation, and if there is no match, the acquisition key is transmitted to the router selected as the acquisition destination by the acquisition destination selection unit, and the router A route calculation result for each router set in which the search key of the route calculation result information stored and the acquisition key match are acquired, and based on the acquired route calculation result for each router set 4. The route information management system according to claim 3, wherein a transfer destination is determined.
前記転送経路決定部は、さらに、前記経路計算結果情報の検索キーと前記取得キーとが一致するものがない場合、
前記取得キーの宛先IPアドレス部分の最後のゼロでないビットをゼロに変更するとともに、前記取得キーのマスク値部分の当該宛先IPアドレス部分の変更位置を含む右側のビットをゼロに変更し、その変更したビット列を新たな取得キーに設定し、その新たな取得キーを用いて、自身の前記取得先選択部によって選択された取得先のルータから、さらにその取得先のルータの前記取得先選択部によって選択された取得先のルータと経路計算結果情報とを取得することを繰り返し、取得されたすべての前記経路計算結果情報の検索キーと前記新たな取得キーとが一致するか否かを判定して、前記経路計算結果情報の検索キーと前記取得キーとが最長一致となるときの前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定することを、前記取得キーの宛先IPアドレス部分のビット列がすべてゼロになるまで繰り返し実行する
ことを特徴とする請求項4に記載の経路情報管理システム。
The transfer route determination unit further, when there is no match between the search key of the route calculation result information and the acquisition key,
The last non-zero bit of the destination IP address portion of the acquisition key is changed to zero, and the right bit including the change position of the destination IP address portion of the mask value portion of the acquisition key is changed to zero, and the change is made The obtained bit string is set as a new acquisition key, and using the new acquisition key, from the acquisition destination router selected by the acquisition destination selection unit of itself, and further by the acquisition destination selection unit of the acquisition destination router Repeat the acquisition of the selected acquisition destination router and route calculation result information, and determine whether or not the search key of all the acquired route calculation result information matches the new acquisition key The packet transfer destination is determined based on the route calculation result for each router set when the search key of the route calculation result information and the acquisition key have the longest match. Route information management system of claim 4 Rukoto a bit string of the destination IP address portion of the acquisition key and said repeatedly executes it until all zero.
前記取得先ノード情報は、前記ルータIDを複数の範囲に区分し、自身のルータのルータIDから前記距離の近いルータIDほどその区分の範囲を狭く設定し、前記距離の遠いルータIDほどその区分の範囲を広く設定して、それぞれの前記範囲ごとにその範囲に属するルータのルータIDを記憶し、
前記取得先選択部は、前記取得キーと前記範囲の境界のルータIDとを比較して、前記取得キーを含む前記範囲を抽出し、前記取得キーと前記抽出した範囲に属するルータのルータIDとの前記距離を算出し、前記距離の近い順に所定数のルータを取得先として選択する
ことを特徴とする請求項4に記載の経路情報管理システム。
The acquisition node information divides the router ID into a plurality of ranges, and sets a narrower range for the router ID closer to the distance from the router ID of its own router, and sets the range for the router ID farther away. Set a wide range, and for each said range, store the router ID of the router belonging to that range,
The acquisition source selection unit compares the acquisition key with a router ID at the boundary of the range, extracts the range including the acquisition key, and obtains the acquisition key and a router ID of a router belonging to the extracted range. The route information management system according to claim 4, wherein the distance is calculated, and a predetermined number of routers are selected as acquisition destinations in order of increasing distance.
請求項4に記載の経路情報管理システムにおいて用いられる経路情報管理装置の経路情報管理方法であって、
前記経路情報管理装置は、
前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合ごとに、少なくとも所定数以上のルータのルータIDとして、当該ルータの属する前記ルータ集合のルータ集合IDのビット列の後にハッシュ関数によって生成されたハッシュ値のビット列を連結したビット列を記憶する格納先ノード情報を格納する記憶部を備え、
前記ルータから収集した前記プリフィクスごとに、そのプリフィクスを含む外部経路情報を用いて、前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合に属する少なくともいずれか1つのルータにおける、パケットの転送先のプリフィクスに至る転送経路を計算する経路計算を実行する経路計算ステップと、
前記ルータ集合ごとに、前記経路計算ステップによって経路計算されたルータ集合ごとの経路計算の結果を含む経路計算結果情報の格納先の検索に用いる検索キーとして、当該ルータ集合のルータ集合IDのビット列、前記プリフィクスのビット列、前記プリフィクスに対するマスク値のビット列、およびパディングとしてすべて「0」のビット列を連結したビット列を生成する検索キー生成ステップと、
前記格納先ノード情報に記憶しているルータIDと前記検索キーとの距離を、当該ルータIDと前記検索キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から送信先として選択する格納先選択ステップと、
当該経路計算結果情報を、前記格納先選択ステップによって選択された当該所定数のルータに送信する入出力ステップと
を実行することを特徴とする経路情報管理装置の経路情報管理方法。
A route information management method for a route information management device used in the route information management system according to claim 4,
The route information management device
For each set of routers set in the AS in units of a group of two or more routers in the AS, as router IDs of at least a predetermined number of routers, the router set ID of the router set to which the router belongs A storage unit for storing storage destination node information for storing a bit string obtained by concatenating a bit string of hash values generated by a hash function after the bit string;
For each prefix collected from the router, at least one of a plurality of routers set in the AS with a group of two or more routers in the AS using external route information including the prefix as a unit A route calculation step for performing a route calculation for calculating a transfer route to a prefix of a packet transfer destination in one router;
For each router set, as a search key used for searching a storage destination of route calculation result information including a route calculation result for each router set calculated by the route calculation step, a bit string of a router set ID of the router set, A search key generation step of generating a bit string obtained by concatenating a bit string of the prefix, a bit string of a mask value for the prefix, and a bit string of all “0” as padding;
The distance between the router ID stored in the storage destination node information and the search key is first set to “1” when viewed from the left in the bit string indicating the exclusive OR for each bit of the router ID and the search key. `` Appears as a numerical value of the number of digits of the bit counted from the right for the bit position where it appears, and a storage destination selection step of selecting a predetermined number of routers as a transmission destination from the router set in ascending order of the calculated distance;
A route information management method for a route information management device, comprising: performing an input / output step of transmitting the route calculation result information to the predetermined number of routers selected by the storage destination selection step.
請求項4に記載の経路情報管理システムにおいて用いられるルータの経路情報管理方法であって、
前記ルータは、
前記AS内の2以上のルータの一まとまりを単位として前記AS内に複数設定されるルータ集合ごとに、少なくとも所定数以上のルータのルータIDとして、当該ルータの属する前記ルータ集合のルータ集合IDのビット列の後にハッシュ関数によって生成されたハッシュ値のビット列を連結したビット列を記憶する取得先ノード情報と、前記経路情報管理装置から送信される検索キーと前記ルータ集合ごとの経路計算の結果とを関連付けた情報を示す経路計算結果情報とを記憶する記憶部を備え、
転送すべきパケットを受信したとき、当該ルータの属するルータ集合IDのビット列、当該パケットの宛先IPアドレスのビット列、前記宛先IPアドレスに対するマスク値としてすべて「1」のビット列、およびパディングとしてすべて「0」のビット列を連結して形成される、取得キーを生成する取得キー生成ステップと、
前記取得先ノード情報に記憶しているルータIDと前記取得キーとの距離を、前記ルータIDと前記取得キーとのビットごとの排他的論理和を示すビット列において、左から見て最初に「1」が出現したビット位置について右から数えたビットの桁数の数値として算出し、その算出した距離の小さい順に所定数のルータを当該ルータ集合から取得先として選択する取得先選択ステップと、
転送すべきパケットを受信したときに、自身の前記記憶部に記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致するか否かを判定し、一致するものがある場合には、その検索キーに関連付けられた前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定し、一致するものがない場合には、前記取得先選択部によって取得先として選択されたルータに前記取得キーを送信して、当該ルータの記憶する前記経路計算結果情報の検索キーと前記取得キーとが一致する前記ルータ集合ごとの経路計算の結果を取得して、その取得した前記ルータ集合ごとの経路計算の結果に基づいてパケットの転送先を決定する転送経路決定ステップと、
前記転送経路決定ステップにおいて決定された転送先に前記パケットを転送する入出力ステップと
を実行することを特徴とするルータの経路情報管理方法。
A route information management method for a router used in the route information management system according to claim 4,
The router
For each set of routers set in the AS in units of a group of two or more routers in the AS, as router IDs of at least a predetermined number of routers, the router set ID of the router set to which the router belongs Associating acquisition destination node information that stores a bit string obtained by concatenating a bit string of hash values generated by a hash function after a bit string, a search key transmitted from the path information management device, and a result of path calculation for each router set A storage unit for storing route calculation result information indicating the received information,
When a packet to be transferred is received, a bit string of a router set ID to which the router belongs, a bit string of a destination IP address of the packet, a bit string of all “1” as a mask value for the destination IP address, and all “0” as padding An acquisition key generation step for generating an acquisition key formed by concatenating the bit strings of
The distance between the router ID and the acquisition key stored in the acquisition destination node information is first set to “1” when viewed from the left in the bit string indicating the exclusive OR for each bit of the router ID and the acquisition key. Is obtained as a numerical value of the number of bits of the bit counted from the right for the bit position where `` appears '', and an acquisition destination selection step of selecting a predetermined number of routers as an acquisition destination from the router set in ascending order of the calculated distance;
When a packet to be transferred is received, it is determined whether the search key of the route calculation result information stored in the storage unit of the packet matches the acquisition key. A packet transfer destination is determined based on a route calculation result for each router set associated with the search key, and if there is no match, the router selected as the acquisition destination by the acquisition destination selection unit Sending the acquisition key, acquiring a route calculation result for each router set in which the search key of the route calculation result information stored in the router matches the acquisition key, and acquiring the obtained router set A transfer route determining step for determining a transfer destination of the packet based on the result of the route calculation of
A route information management method for a router, comprising: performing an input / output step of transferring the packet to a transfer destination determined in the transfer route determination step.
請求項7に記載の経路情報管理方法を、コンピュータとしての経路情報管理装置に実行させるためのプログラム。   A program for causing a route information management device as a computer to execute the route information management method according to claim 7. 請求項8に記載の経路情報管理方法を、コンピュータとしてのルータに実行させるためのプログラム。   A program for causing a router as a computer to execute the route information management method according to claim 8.
JP2009180328A 2009-08-03 2009-08-03 Route information management system, route information management method, and program Expired - Fee Related JP5022412B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009180328A JP5022412B2 (en) 2009-08-03 2009-08-03 Route information management system, route information management method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009180328A JP5022412B2 (en) 2009-08-03 2009-08-03 Route information management system, route information management method, and program

Publications (2)

Publication Number Publication Date
JP2011035686A JP2011035686A (en) 2011-02-17
JP5022412B2 true JP5022412B2 (en) 2012-09-12

Family

ID=43764313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009180328A Expired - Fee Related JP5022412B2 (en) 2009-08-03 2009-08-03 Route information management system, route information management method, and program

Country Status (1)

Country Link
JP (1) JP5022412B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101797471B1 (en) * 2011-05-04 2017-11-15 주식회사 케이티 Internet Traffic Load Distribution Method and System using IGP Routing Protocol
CN104506450A (en) 2014-11-06 2015-04-08 小米科技有限责任公司 Media resource feedback method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143143A (en) * 2001-10-30 2003-05-16 Ando Electric Co Ltd As number generation circuit and statistic processing method by as number
JP2004260655A (en) * 2003-02-27 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> Network band control method and system
JP4391960B2 (en) * 2005-03-25 2009-12-24 日本電信電話株式会社 Resource management apparatus, system and method
JP5001966B2 (en) * 2009-02-24 2012-08-15 日本電信電話株式会社 Route information management method and management system thereof

Also Published As

Publication number Publication date
JP2011035686A (en) 2011-02-17

Similar Documents

Publication Publication Date Title
EP2978174B1 (en) Interest return control message
EP2869515B1 (en) System and method for routing and for minimum path mtu discovery in content centric networks
US8687522B2 (en) Distributed storage of routing information in a link state protocol controlled network
KR101317969B1 (en) Inter-node link aggregation system and method
CN113347091B (en) Flexible algorithm aware border gateway protocol prefix segment route identifier
US20160182352A1 (en) Methods and apparatus to utilize route parameter sets for exchanging routes in a communication network
US20140369356A1 (en) Opportunistic compression of routing segment identifier stacks
US20150381406A1 (en) Loop avoidance during network convergence in switched networks
CN106559256B (en) System and method for eliminating undetected cycles of interest in information-centric networks
US7808927B2 (en) Technique to automatically deaggregate an optimum set to prevent suboptimal routing or routing failures within a link state flooding domain
JP6085263B2 (en) Relay node and route control method
JP6203254B2 (en) Method, system and computer-readable medium for routing Diameter messages in a Diameter signaling router
JP2018191290A (en) Method, apparatus, and network system for implementing load balancing
US20120300781A1 (en) Packet Routing in a Network
US9391896B2 (en) System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
JP5022412B2 (en) Route information management system, route information management method, and program
WO2019201326A1 (en) Secure and reliable on-demand source routing in an information centric network
JP4638849B2 (en) Function distributed communication apparatus and path control method
JP4490990B2 (en) Peer-to-peer communication establishment apparatus and program
Que et al. A Network Architecture Containing Both Push and Pull Semantics
WO2009062429A1 (en) Method, net node and system avoiding attacks in p2p network
Masuda et al. Splitable: Toward routing scalability through distributed bgp routing tables
JP5045551B2 (en) Route aggregation device and aggregation processing method
Pelsser et al. Scalable support of interdomain routes in a single as
JP3878140B2 (en) Communication node, routing information advertising method, routing information advertising program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110801

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120509

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5022412

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees