WO2009074077A1 - Realizing method of anycast service, method for sending anycast request, anycast router - Google Patents

Realizing method of anycast service, method for sending anycast request, anycast router Download PDF

Info

Publication number
WO2009074077A1
WO2009074077A1 PCT/CN2008/073242 CN2008073242W WO2009074077A1 WO 2009074077 A1 WO2009074077 A1 WO 2009074077A1 CN 2008073242 W CN2008073242 W CN 2008073242W WO 2009074077 A1 WO2009074077 A1 WO 2009074077A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
anycast
address
server
router
Prior art date
Application number
PCT/CN2008/073242
Other languages
French (fr)
Chinese (zh)
Inventor
Zhongqi Xia
Xuesong Gao
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2009074077A1 publication Critical patent/WO2009074077A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast

Definitions

  • the present invention relates to the field of communications, and in particular, to an implementation method of anycast service, a method for transmitting an anycast request, and an anycast router.
  • IP Internet Protocol
  • IPv6 Internet Protocol version 6
  • IPv6 Internet Protocol version 6
  • this figure shows the basic concept of the anycast service.
  • Member 1 (Member 1) and Member 2 (Member 2) form an anycast group, which is group A ( Group A ).
  • Member 1 and Member 2 provide the same service, with the same anycast address, called the anycast server.
  • Service Requester 1 (Senderl) and Service Requester 2 (Sender2) send an IP packet whose destination address is the address of the anycast group to obtain the service, that is, obtain the service from Memberl or Member2.
  • Senderl gets services from Memberl, which is closer to itself, and Sender2 gets services from Member2.
  • anycast service model can improve network usage efficiency and quality of service.
  • the specific implementation goal of anycast can be simply:
  • An autonomous domain is a collection of one or more networks under the control of a single entity. Each autonomous domain corresponds to an autonomous domain number by the Internet Address Authorization Committee (IANA, Internet). Assigned Numbers Authority ) Uniform distribution. Limiting anycast within the autonomous domain can yield many advantages: for example, a unified management policy, routing using the internal gateway protocol, relatively small network size, known network topology, and so on. At present, many methods can be used to implement anycast in the autonomous domain.
  • the technology should be able to improve the quality of service by increasing the number of group members. For example, the number of Domain Name Servers (DNS) is huge, and the anycast service mechanism should be able to support anycast groups with unlimited number of members.
  • DNS Domain Name Servers
  • the anycast service should choose the optimal or near-optimal communication node. This requires the router to know more about the anycast group and its members. Obviously this is a goal that contradicts scalability.
  • Goal 4 The importance of Goal 4 is: To date, huge costs have been invested in the development of the Internet, and any changes to existing agreements can be costly. Similarly, if you need to modify the application layer software to use the anycast service, the vitality of anycast will be greatly reduced.
  • IPv4 Internet Protocol version 4
  • GAA Global IP Anycast
  • the sender identifies the anycast packet by adding the any cast prefix to the unicast address.
  • the router can quickly find the home location by changing the anycast prefix when receiving the packet.
  • GCA assumes that each of the anycast services will have an initial The service provider, which must have an exact location, the domain where this location is located is the anycast server of the anycast service's home domain.
  • the server When the server receives a packet with a destination address and anycast prefix, it first removes the prefix, then adds 0 to the end of the address, and finally uses the frequency of the anycast group that was previously divided. Use the mapped address.
  • GIA divides the anycast address into internal (for the router, if the home domain of the anycast address is the same as its own autonomous domain, this address is called the internal address), commonly used and not commonly used. Routing of internal addresses is straightforward, going directly to the server in your home domain.
  • the internal anycast address is located in the network identified by the unicast address prefix of the home server in the home domain, and is identical to the unicast route, so the optimal server can be found directly by the group identifier (ID).
  • ID group identifier
  • the router For anycast addresses that are frequently accessed, the router performs a diffuse lookup within a certain range, and selectively caches the found results, so that subsequent anycast packets of this type can be quickly forwarded.
  • the packet is routed directly to the anycast server located in the home domain. Since there is no need to maintain the unused anycast address information, the problem of the expansion of the routing table is solved to some extent.
  • GIA The potential problem with GIA is that all the anycast requests that are not frequently accessed are routed to the main anycast domain regardless of whether there is a better server around the requester. It is difficult to find the optimal server for these anycast requests, so the optimal solution cannot be achieved efficiently. Group members are efficiently selected. At the same time, because anycast address and unicast address cannot be applied in the existing network address structure, it is not conducive to global use and reduces the vitality of the IP-anycast service.
  • an embodiment of the present invention provides an implementation method of anycast service, where the method includes:
  • the method for implementing the anycast service includes: receiving a packet, where the packet is an anycast request packet; and querying a unicast address of the corresponding anycast server according to the destination address of the packet; Converting the destination address to the unicast address of the anycast server to obtain the second packet; and sending the second packet to the anycast server.
  • the anycast router provided by the embodiment of the present invention includes: a first receiving unit, configured to receive a packet, where the packet is an anycast request data packet; and a first processing unit, configured to search for a corresponding anycast according to the address of the packet a unicast address of the server; converting the destination address of the packet to a unicast address of the anycast server to obtain a second packet; and the first sending unit, configured to send the second packet to the anycast server.
  • the method for sending an anycast request includes: receiving a packet, where the packet is an anycast request data packet; searching an anycast routing table according to a destination address of the packet, selecting an anycast server; and encapsulating the packet For the first group, the destination address of the first packet is an address of an anycast router corresponding to the anycast server, the payload of the first packet is the packet, and the first packet is sent.
  • the anycast router provided by the embodiment of the present invention includes: a second receiving unit, configured to group, the packet is an anycast request data packet; and a second processing unit, configured to search, according to the destination address of the packet, anycast routing table Selecting an anycast server; encapsulating the packet as a first packet, a destination address of the first packet is an address of an anycast router corresponding to the anycast server, and a payload of the first packet is the packet; a second sending unit, configured to send the first packet.
  • the method for processing an anycast request includes: receiving a first packet, decapsulating the first packet into a packet, where the packet is a payload of the first packet; Determining a unicast address of the corresponding anycast server; converting the destination address of the packet to a unicast address of the anycast server, to obtain a second packet; and sending the second packet to the anycast server.
  • the anycast router provided by the embodiment of the present invention includes: a third receiving unit, configured to receive a first packet, and a third processing unit, configured to decapsulate the first packet into a packet, where the packet is a unicast address of the corresponding anycast server according to the destination address of the packet; converting the destination address of the packet to a unicast address of the anycast server, to obtain a a second sending unit, configured to send the second packet to the anycast server.
  • the method for processing an anycast request includes: receiving a first packet; determining, when the destination address of the first packet is not an arbitrary anycast address, the first packet by searching a local routing table Forward according to unicast routes.
  • the anycast router provided by the embodiment of the present invention includes: a fourth receiving unit, configured to receive a first packet; and a fourth processing unit, configured to determine that the destination address of the first packet is not an own anycast address; And a sending unit, configured to forward the first packet according to a unicast route by searching a local routing table.
  • the method for processing a response to anycast request includes: receiving a ringing of a second packet Should be grouped; convert the source address of the response packet of the second packet to an anycast address of the anycast server that issues the second packet, to obtain a third packet; and send the third packet.
  • the anycast router provided by the embodiment of the present invention includes: a fifth receiving unit, configured to receive a response packet of the second packet; and a fifth processing unit, configured to convert the source address of the second packet to send the second Anycast address of the packetized anycast server, to obtain a third packet; and a fifth sending unit, configured to send the third packet.
  • the method for processing a response to anycast request includes: receiving a second packet; after processing the second packet, forming a response packet of the second packet, where the source address of the response packet is a unicast address of the anycast server The destination address is an anycast address of the anycast router that sends the packet; and the response packet of the second packet is sent.
  • the anycast server provided by the embodiment of the present invention includes: a sixth receiving unit, configured to receive a second packet; a sixth processing unit, configured to process, after processing the second packet, a response packet of the second packet, where the response packet is
  • the source address is the unicast address of the anycast server
  • the destination address is the anycast address of the anycast router that sends the packet
  • the sixth sending unit is configured to send the response packet of the second packet.
  • the system implemented by the anycast service includes: a first anycast router, configured to receive a packet, where the packet is an anycast request data packet; and select an anycast routing table according to the destination address of the packet a packet is encapsulated into a first packet, a destination address of the first packet is an address of an anycast router corresponding to the anycast server, and a payload of the first packet is the packet; a first packet; a second anycast router, configured to receive the first packet; decapsulate the first packet into a packet; and search for a unicast address of the corresponding anycast server according to the address of the packet; Transmitting a destination address to a unicast address of the anycast server to obtain a second packet; sending the second packet to the anycast server; and anycast server, configured to receive the second packet, according to The content of the second packet described provides a corresponding anycast service.
  • the embodiment of the present invention adopts technologies such as encapsulation, address translation, and decapsulation, so that anycast packet P has the advantage of unicast, and implements optimal group members in all ASs with high efficiency. select.
  • FIG. 1 is a schematic diagram of an anycast service in the prior art
  • FIG. 2 is a schematic diagram of an address mapping process of a GIA in the prior art
  • 3 is a flowchart of a method according to a first embodiment of the present invention
  • FIG. 4 is a structural diagram of an embodiment of the present invention
  • Figure 7 is a structural view of Embodiment 4 of the present invention
  • Figure 8 is a structural view of Embodiment 5 of the present invention
  • Figure 9 is a structural view of Embodiment 6 of the present invention
  • FIG. 10 is a structural diagram of Embodiment 7 of the present invention
  • FIG. 11 is a diagram showing an optimal path selection efficiency according to an embodiment of the present invention.
  • the embodiment of the present invention does not need to change the existing address structure of the network, deploys anycast server globally, and provides the corresponding anycast service according to the address of anycast group is the basic condition for implementing the global scalable IP-anycast service.
  • the present invention requires that when deploying a new anycast service, the local anycast server (HAS, Home Anycast Server) of the anycast service needs to be deployed first, and the HAS may be an anycast server with the same identifier as the unicast address identifier (AS).
  • the first hop router can select the Anycast Router (AR) that is closest to the AS.
  • the HAS is allowed to access the network through the FAR.
  • HAS will actively register with its FAR.
  • a new AS is deployed for the anycast service.
  • a FAR is deployed on each AS front end, and the AS accesses the network through its FAR.
  • the AR can be deployed according to the following rules:
  • the AR can be an Internet Protocol Anycast Router (IR, I-anycast Router) that supports tunnel-based IP-anycast:
  • the AR should be deployed at the boundary of the autonomous domain;
  • the AR can be deployed from a global perspective, and the AR is distributed as evenly as possible in the global Internet. The purpose of this deployment is to enable more anycast requests to get anycast server information better than HAS on AMP.
  • each AR's Anycast Routing (ART, Anycast Routing), such as the AS's anycast address (ASAid, anycast address), and the unicast address (ASUid, unicast address, ).
  • the FARUid corresponding to the AS the FAR distance from the current AR, the L number (L is a positive integer), the AS selection evaluation value V (V is a positive integer), and the like.
  • V can be the actual distance from the AR to the AS, the busyness of the AS, or the processing capability of the AS. In the present invention, it is assumed that V is the hop count of the AR to the AS.
  • each record represents an AS.
  • the hop count L (L takes a positive integer) of the FAR from the current AR and the hop count of the AR to the AS are controlled.
  • the present invention generally needs to grasp the AS information in the V-hop autonomous domain for each AR; Control V to 4 or 5, so that each AR knows certain information, then all ARs can be connected to provide anyany service worldwide.
  • the storage capacity of the ART routing table information is reduced to some extent, thereby increasing the scalability of the number of anycast groups.
  • the following describes an implementation of the anycast service after having the global anycast service network structure through an embodiment.
  • Embodiment 1 Each packet on the IP network necessarily carries a source address and a destination address when the packet is sent.
  • the source address and the destination address of the network layer packet P are respectively src and dest, and the packet P may be a network protocol packet.
  • the packet P may be anycast packet.
  • dest is the anycast address (Aid, anycast address) of the anycast service.
  • Block 101 The AR receives the packet P; the source address and the destination address of the packet P are src and dest respectively; and block 102: determining whether the packet P is a tunnel packet (TP, Tunnel Packet anycast) If the packet P is TP, block 103 is performed, and if packet P is not TP, block 107 is executed;
  • TP Tunnel Packet anycast
  • a tunnel packet refers to an encapsulated IP packet, which may also be referred to as a first packet P.
  • the so-called encapsulation refers to the IP tunneling technique that uses packet P as the payload of the new IP packet.
  • the process of encapsulating packet P by AR is:
  • the V value of the ART record of the AR selects the optimal AS; (2) using the packet P as the payload of the packet after encapsulation, that is, as the data portion of the encapsulated IP packet;
  • the source and destination addresses of the packet P are src and the FARAid of the optimal AS, respectively.
  • tunnel packets can be marked by defining a new Next Header.
  • IPV4 a reserved bit location can be used to mark anycast tunnel packets.
  • the packet P is marked by the above method, it is possible to determine whether or not the TP is in the block diagram 102 by the Next Header or a reserved bit.
  • an AR When an AR performs the encapsulation process on the packet, it actually knows the destination address of the anycast service, that is, the encapsulation process changes the forwarding path of the packet P in the original IR environment.
  • the anycast tunneling technology refers to: The two sides of the communication are connected by a logical tunnel, and an optimal path is found by anycast technology, and the original path should be The path of the IR transmission is hidden.
  • Block 103 If the packet P is a TP, it indicates that the packet P is encapsulated, and the dest carried by the AS is the AR corresponding to the AS, and the corresponding AR may be the FAR of the destination AS, so the AR through which the AR stores the ART information Determining whether the dest of the packet P is its own ARUId; if the destination address of the packet P is the FARAid of the optimal AS, indicating that the AR is the FAR of the destination AS of the packet P, then the block diagram 104 is performed; ;
  • Block 104 Since the packet P involved in the block diagram 103 is encapsulated, that is, the packet P is a TP, and undergoes an address conversion process, the packet P is decapsulated, and an address translation process is performed to form a second packet P.
  • the decapsulation process mentioned in the block diagram 104 is a process of recovering the original packet P from the encapsulated packet, that is, the header information is removed to restore the payload to the original packet P; then the address translation is performed, and the packet P is encapsulated.
  • the subsequent address dest is transformed into the ASUid obtained by querying its ART.
  • Block diagram 105 Send the second packet P to the network layer of the AR, which sends the packet P to the destination according to the unicast service rule.
  • Block 106 The AR is only a transit AR in the anycast packet transmission process, and should be forwarded along the unicast service rule by the AR.
  • Block 107 Since the AR judges that the packet P is not a TP, that is, the packet P does not yet know The optimal destination AS address; then the AR continues to query whether there is the same ASAid as the dest of the packet P through the information stored in the ART; if it is found, the block diagram 108 is executed, and if not found, the block diagram 111 or the block diagram 111A is executed;
  • Block 108 If the AR finds the same ASAid as the dest of the packet P, it indicates that the corresponding AR of the optimal AS of the packet P is within the K hop range of the AR, and the corresponding AR may be the FAR of its destination AS; Whether the ARuid of the AR is equal to the FARuid of the selected optimal AS; if so, block diagram 109 is performed, if otherwise, block diagram 110 is performed; the optimal AS mentioned in the block diagram may be the AS closest to the AR that sent the packet P.
  • Block 109 Performing an address translation process, transforming the destination address dest of the packet P into an ASuid obtained by querying the ART of the AR, forming a second packet P; executing the block diagram 105;
  • the selected optimal AS is the HAS of the anycast service group.
  • Block 110 Since the packet P received by the AR is not a TP, but there is a best AS in the K hop range of the AR, the encapsulation process is performed on the packet P to form a second packet P, and the block diagram 105 is executed;
  • the encapsulation process is also referred to above for the packet P: (1) selecting the optimal AS according to the V value of the ART record of the AR; (2) using the packet P as the payload of the packet after encapsulation, that is, referring to As the data part of the encapsulated IP packet; after encapsulation, the source and destination addresses of the packet P are src and the FARAid of the optimal AS, respectively. (3) Marking the packet P as an anycast tunnel packet for FAR and AR identification; in IPV6, the tunnel packet can be marked by defining a new header information, and a certain reserved bit position of the packet P can be used to mark anycast in IPV4. Tunnel grouping.
  • Block 111 When the packet P received by the AR is neither a TP nor the same ASAid as the dest in the packet P, the received group P is a unicast packet or the AS of the anycast group requested by the packet P is the AR. If it is not known, the AR is only a transit AR in the anycast packet transmission process, and the packet P should be forwarded through the AR along its unicast service rule.
  • the initiator of anycast communication successfully sends the first IP packet to the optimal anycast server, subsequent packets are also transmitted according to this path.
  • the anycast server needs to send a data packet to the communication initiator, it is set as the response process of the AS, that is, the AS sends the response packet to the AR that first sends the packet P. Since the address conversion process is performed when the anycast packet P is forwarded to the FAR of the optimal AS, the destination address of the packet received by the optimal AS is ASuid, and the original address of the packet it responds to is necessarily ASuid, and the start of the response process is to use the ASAid to communicate, so the FAR must change the ASUid to ASAid, this process only needs to be done once.
  • the forwarding of the anycast server response packet may occur when the packet P received by the AR is not a TP and may not be queried in the same ASAid as the dest in the packet P; then the block diagram 111 Can be replaced by the following block diagram;
  • Block 111A It is judged whether the ASAid corresponding to the src of the packet P can be queried in the ART of the AR; if it is not described that the AR is an AR in the anycast packet transmission or is not an anycast request packet at all, the processing execution block diagram 106 is not required. ; query to execute block diagram 112;
  • Block 112 further determining whether the AR is the FAR of the AS represented by src in the packet P; if not, executing the block diagram 113, and if so, executing the block diagram 114;
  • Block 113 It is shown that although the packet P is a response packet from an AS but the AS does not register the current AR as a FAR, the inverse address translation process of the packet should be performed by the FAR, so that the packet P only needs to be forwarded according to the unicast mechanism. ;
  • Block 114 At this time, the AS responds to the anycast request process. Since the anycast packet P is forwarded to the optimal AS FAR, the address translation process is performed. Therefore, the destination address of the optimal AS received packet is ASuid, and the original packet of the response packet is The address must be ASuid, and the start response process is to use the ASAid to communicate, so the FAR must change the ASUid to ASAid, that is, perform the inverse address translation process to form the third packet P.
  • the address inverse transform process mentioned here means that the AR changes the source address src of the packet P to the ASAid that sends the response, and the destination address does not change.
  • FIG. 4 is a network topology diagram of an example of anycast forwarding.
  • HAS and AS2 form an anycast group with the address ASAid.
  • AR1-AR5 is deployed to handle anycast requests, and other IRs forward packets according to Internet standards.
  • AR1 and AR4 are the FARs of AS2 and HAS, respectively.
  • AC1 sends anycast request packet P, and its destination address is ASAid.
  • P first passes IR3. Since IR3 has not been modified, it can not recognize that packet P is an anycast packet, so P is regarded as a normal unicast packet. Forward. P reaches AR3.
  • AR3 performs the encapsulation process on P to generate the source address and destination address respectively, which are AClUid and The anycast tunnel of the AR1Uid packet is forwarded by the TP, and finally the TP reaches the AR1. Since the ARRU's ART records that the FARUid corresponding to AS2 is its own, AR1 is the FAR of AS2 according to the ART judgment of AR1.
  • the decapsulation process is performed to recover the packet P from the TP. Then perform the address translation process, replace the destination address of P with AS2Uid and send it to AS2.
  • AS2 returns a response packet RP (Response packet) whose source address is AS2Uid and whose destination address is AClUid.
  • AR1 is the FAR of AS2, AR1 performs the reverse address translation process, replaces the source address of the RP with the ASAid and sends it out. All the passed IR and AR directly forward the packet without special processing.
  • the RP arrives at AC1 and completes the entire anycast communication process.
  • the processing of P and RP in the above forwarding process is transparent to both AS and AC.
  • the encapsulation of the anycast packet P is performed only once during the transmission. Any ASAid, so it is impossible to be packaged again.
  • the concept of tunnel technology can be further understood:
  • the two sides of the communication are connected by a logical tunnel, and an optimal path is found by anycast technology, which should be in the original IR.
  • the path of the transfer is hidden.
  • Embodiment 2 The embodiment of the present invention further provides an anycast router.
  • the anycast router includes:
  • a first receiving unit 201 configured to receive a packet P, where the packet P is an anycast request data packet;
  • the first processing unit 202 is configured to search for a unicast address of the anycast server according to the address of the packet P; convert the destination address of the packet P to a unicast address of the anycast server, to form a second packet. P;
  • the first sending unit 203 is configured to send the second packet P to the anycast server.
  • the anycast server may further include a first determining unit 204, configured to perform, according to the grouping
  • the address of P finds the unicast address of the anycast server, it is first determined that the packet P is not a tunnel packet TP.
  • the method for representing the tunnel packet is: defining new header information for the packet ⁇ or using a reserved bit position of the packet ⁇ as an identifier to represent the tunnel packet TP, and correspondingly, determining that the packet P is not a tunnel
  • the packet specifically includes: when the packet P does not contain the identifier, it is determined that the packet P is not a tunnel packet.
  • Embodiment 3 The present invention also provides an anycast router.
  • the anycast router includes:
  • a second receiving unit 301 configured to receive a packet P, where the packet P is an anycast request data packet, and a second processing unit 302, configured to select an anycast server according to the destination address of the packet P, and select an anycast server;
  • the packet P is encapsulated into a first packet P, the destination address of the first packet P is the address of the anycast router corresponding to the anycast server, and the payload of the first packet P is the packet P;
  • the second sending unit 303 is configured to send the first packet P.
  • the second processing unit 302 After receiving the packet P, the second processing unit 302 further determines that the packet P is not a tunnel packet; the tunnel packet is represented by: defining new header information for the packet P or grouping the packet A certain reserved bit position of P is used as an identifier to indicate a tunnel packet TP.
  • determining that the packet P is not a tunnel packet specifically includes: when the packet P does not include the identifier, determining that the packet P is not a tunnel Grouping.
  • the second processing unit 302 searches the anycast routing table according to the destination address of the packet P, and selects an anycast server from the anycast routing table, specifically: searching for anycast route according to the destination address of the packet P. Table, select the anycast server closest to you.
  • the anycast router selected by the second processing unit 302 may be the first hop router of the anycast server.
  • the present invention further provides an anycast router. Referring to FIG. 7, the anycast router includes:
  • a third receiving unit 401 configured to receive the first packet P
  • a third processing unit 402 configured to decapsulate the first packet P into a packet P, where the packet P is a payload of the first packet P; and searching for the foregoing according to a destination address of the packet P a unicast address of the broadcast server; the destination address of the packet P is converted to a unicast address of the anycast server, forming a second packet P;
  • the third sending unit 403 is configured to send the second packet P to the anycast server.
  • Embodiment 5 The present invention also provides an anycast router.
  • the anycast router includes:
  • a fourth receiving unit 501 configured to receive the first packet P
  • the fourth processing unit 502 is configured to determine that the destination address of the first packet P is not its own anycast address
  • the fourth sending unit 503 is configured to forward the first packet P according to a unicast route by searching a local routing table.
  • the anycast router may further include a second determining unit 504, configured to determine, before the forwarding of the first packet P, the local routing table to determine the anycast server corresponding to the source address of the first packet P.
  • the anycast address is not in the local anycast routing table.
  • Embodiment 6 The present invention also provides an anycast router.
  • the anycast router includes:
  • a fifth receiving unit 601, configured to receive a response packet of the second packet P
  • the fifth processing unit 602 is configured to convert the source address of the second packet P to anycast address of the anycast server that sends the second packet P, to form a third packet P;
  • the fifth sending unit 603 is configured to send the third packet. .
  • the fifth processing unit 602 converts the source address of the response packet of the second packet P into an anycast address of the anycast server that sends the second packet P.
  • the first packet Before forming the third packet P, the first packet may be further determined.
  • the destination address of the first packet P is not its own anycast address, and it is determined that the anycast address of the anycast server corresponding to the source address of the first packet P is in the local anycast routing table.
  • Embodiment 7 also provides an anycast server, see FIG. 10, the anycast server package Includes:
  • a sixth receiving unit 701, configured to receive the second packet P
  • the sixth processing unit 702 is configured to process a second packet P, and form a response packet of the second packet P.
  • the source address of the response packet is a unicast address of the anycast server, and the destination address is an anycast router that sends the packet P. Anycast address;
  • the sixth sending unit 703 is configured to send a response packet of the second packet P.
  • Embodiment 8 further provides a system for implementing anycast service, the system comprising: a first anycast router, configured to receive a packet P, where the packet P is an anycast request data packet; according to the packet P The destination address of the anycast routing table is selected as the anycast server; the packet P is encapsulated into the first packet P, and the destination address of the first packet P is the address of the anycast router corresponding to the anycast server, The payload of the first packet P is the packet P; the first packet P is sent; the second anycast router is configured to receive the first packet P; and the first packet P is decapsulated into a packet P, that is Returning the payload to the group P; searching for the unicast address of the anycast server according to the address of the packet P; converting the destination address of the packet P to the unicast address of the anycast server, forming a second Packet P; transmitting the second packet P to the anycast server.
  • a first anycast router configured to receive a packet P, where the packet
  • Anycast server configured to receive the packet P, and provide a corresponding anycast service according to the content of the packet P.
  • the packet P is marked as a tunnel packet; and the tunnel packet is represented by: defining the packet P
  • the new header information or a certain reserved bit position of the packet P is used as an identifier to represent the tunnel packet TP.
  • the anycast router corresponding to the anycast server described in the first anycast router performs the encapsulation is the first hop router of the anycast server.
  • the system may further include a third anycast router, configured to receive the first packet, determine that the destination address of the first packet is not its own anycast address, and locate the first packet by searching a local routing table. Forward according to unicast routes.
  • a third anycast router configured to receive the first packet, determine that the destination address of the first packet is not its own anycast address, and locate the first packet by searching a local routing table. Forward according to unicast routes.
  • the system may further include a fourth anycast server, configured to receive a packet, the packet being an anycast request packet; searching for a unicast address of the anycast server according to the address of the packet; Converting the destination address to the unicast address of the anycast server to form a second packet ⁇ ; and transmitting the second packet to the anycast server.
  • a fourth anycast server configured to receive a packet, the packet being an anycast request packet; searching for a unicast address of the anycast server according to the address of the packet; Converting the destination address to the unicast address of the anycast server to form a second packet ⁇ ; and transmitting the second packet to the anycast server.
  • the anycast server may be further configured to form a response packet of the second packet P after the corresponding anycast service is provided according to the content of the second packet P, where the source address of the response packet is a unicast address of the anycast server And the destination address is an anycast address of the anycast router that sends the packet p; the response packet of the second packet P is sent; the corresponding system may further include a fifth anycast router, configured to receive the response packet of the second packet P Transmitting a source address of the response packet of the second packet P to an anycast address of an anycast server that issues the second packet p, forming a third packet P; and transmitting the third packet ⁇ .
  • the present invention adopts the techniques of performing encapsulation, address translation, decapsulation, etc., so that anycast packet P has the advantage of unicast, and at the same time realizes efficient implementation of optimal group members in all ASs. select.
  • each AR grasps the AS information in its V-hop autonomous domain; V can be controlled within 4 or 5, so that each AR knows certain information, then all ARs can be connected globally. Broadcast service.
  • the record information the storage capacity of the ART routing table information is reduced to a certain extent, thereby improving the scalability of the number of anycast groups;
  • the simulation topology is taken from the real Internet topology obtained from the Route Overview project at the University of Oregon.
  • the project collects BGP tables from the backbone routers in more than 50 regions around the world and updates them daily, thus reflecting the most realistic Internet topology. Structure. Combined with IANA's division of the autonomous domain, 5939 autonomous domain connection information is extracted for simulation.
  • the shortest path of any two autonomous domains is obtained from the autonomous domain adjacency.
  • the routing strategy between the autonomous domains such as cost and distance, is not considered. Only the minimum number of hops is used as the basis for routing. The shortest result is obtained.
  • the average path is 4.03, and the longest path is 9, which is consistent with the small world nature of the Internet.
  • assign 100 anycast groups to the entire network the number of group members is evenly distributed among [1, 1000]. For each anycast group , randomly select HAS in the network and assume that other group members are also randomly distributed.
  • the embodiment of the present invention does not guarantee that all anycast requests are routed to the globally optimal AS.
  • P is the actual path length of the AC to the AS
  • P* is the shortest path length of all group members of the AC to anycast
  • the optimal service is defined.
  • Discover efficiency (1 ?/?* . See Figure 11 for the number of ARs in the network
  • the discovery efficiency of increasing the optimal service is increasing.
  • the anycast packet can basically find the optimal path.
  • GIA because of the partial anycast grouping, regardless of whether there is a request around the requester The members of the group, GIA directly route the anycast packet to the home domain. Therefore, the efficiency of GIA is straight, depending on the frequency of access of the anycast group address that is not commonly used. It can be seen that the efficiency of the invention is obvious in most cases. improve.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A realizing method of anycast service is disclosed, the method includes: receiving packet which is anycast request data packet; inquiring unicast address of corresponding anycast server according to destination address of the packet; converting the destination address of the packet to the unicast address of the anycast server to get a second packet; sending the second packet to the anycast server. A method for sending anycast request, a method for processing anycast request, a method for processing responding anycast request, an anycast router, an anycast server and a system of anycast service realization are also disclosed.

Description

任播服务的实现方法、 发送任播请求的方法、 任播路由器 本申请要求于 2007 年 11 月 30 日提交中国专利局、 申请号为 200710195498.1、 发明名称为 "任播服务的实现方法、 发送任播请求的方法、 任播路由器"的中国专利申请的优先权,其全部内容通过引用结合在本申请中。 技术领域  Implementation method of anycast service, method for sending anycast request, anycast router This application is submitted to the Chinese Patent Office on November 30, 2007, and the application number is 200710195498.1. The invention name is "Implementation method of anycast service, send any The method of broadcasting a request, the priority of the Chinese patent application of the Anycast Router, the entire contents of which are incorporated herein by reference. Technical field
本发明涉及通信领域, 尤其涉及任播服务的实现方法、发送任播请求的方 法、 任播路由器。  The present invention relates to the field of communications, and in particular, to an implementation method of anycast service, a method for transmitting an anycast request, and an anycast router.
背景技术 Background technique
目前 Internet上应用最广泛的互联网协议 ( IP, Internet Protocol )服务模 式是单播(unicast )和多播(multicast )服务。 单播通信中发送者和接收者是 确定的一对一关系; 多播通信中一个发送者对应多个接收者。  Currently, the most widely used Internet Protocol (IP) service modes on the Internet are unicast and multicast services. The sender and the receiver in a unicast communication are determined one-to-one relationships; in a multicast communication, one sender corresponds to multiple recipients.
随着网络通信的发展, 任播(anycast )服务模式被提出, 它允许一个发送 者和一组具有相同 anycast地址的接收者中的任一成员进行通信。 并且互联网 协议第 6版本 ( IPv6 )正式将 anycast服务作为 IP服务的模式之一, 将其定义 为: 用一个 anycast地址标识一组提供某种月良务的主机, 发送到该 anycast地 址的分组将被传送给这组主机中的任意一台。  With the development of network communication, the anycast service mode is proposed, which allows a sender to communicate with any of a group of recipients having the same anycast address. And Internet Protocol version 6 (IPv6) officially uses anycast service as one of the modes of IP service, which is defined as: Use a anycast address to identify a group of hosts that provide a certain month of service, and the packets sent to the anycast address will be It is transmitted to any of this group of hosts.
参见图 1 , 该图表示了 anycast服务的基本概念, 成员 1 ( Member 1 )和成 员 2 ( Member2 )构成一个 anycast组, 殳该组为组 A ( Group A )。 Member 1 和 Member2提供相同的服务, 具有相同的 anycast地址, 称之为 anycast服务 器。 服务请求者 1 ( Senderl )和服务请求者 2 ( Sender2 )发送目的地址为该 anycast组地址的 IP分组来获得服务, 也就是说从, Memberl或 Member2处 获得服务。 通过 anycast机制, Senderl从距离自己较近的 Memberl处获得服 务, Sender2从 Member2处获得服务。  Referring to Figure 1, this figure shows the basic concept of the anycast service. Member 1 (Member 1) and Member 2 (Member 2) form an anycast group, which is group A ( Group A ). Member 1 and Member 2 provide the same service, with the same anycast address, called the anycast server. Service Requester 1 (Senderl) and Service Requester 2 (Sender2) send an IP packet whose destination address is the address of the anycast group to obtain the service, that is, obtain the service from Memberl or Member2. Through the anycast mechanism, Senderl gets services from Memberl, which is closer to itself, and Sender2 gets services from Member2.
在许多实际应用中, 通过使用 anycast服务模式可以提高网络的使用效率 和服务质量。 anycast的具体实现目标简单地说可以是:  In many practical applications, the use of the anycast service model can improve network usage efficiency and quality of service. The specific implementation goal of anycast can be simply:
1 ) anycast组数量可扩展。  1) The number of anycast groups can be expanded.
该技术希望 anycast可以处理分布在全球范围的 anycast服务器而不是局限 于自治域内部。 自治域是指在单一实体管理控制下的一个或多个网络的集合, 每个自治域对应一个自治域编号由因特网地址授权委员会 ( IANA, Internet Assigned Numbers Authority )统一分配。 将 anycast限制在自治域内部可以获 得很多优势: 例如有统一的管理政策、使用内部网关协议进行路由、 网络的规 模相对较小, 网络拓朴已知等等。 目前很多方法可以用来实现自治域内的 anycast;。 The technology hopes that anycast can handle anycast servers distributed globally rather than being restricted to autonomous domains. An autonomous domain is a collection of one or more networks under the control of a single entity. Each autonomous domain corresponds to an autonomous domain number by the Internet Address Authorization Committee (IANA, Internet). Assigned Numbers Authority ) Uniform distribution. Limiting anycast within the autonomous domain can yield many advantages: for example, a unified management policy, routing using the internal gateway protocol, relatively small network size, known network topology, and so on. At present, many methods can be used to implement anycast in the autonomous domain.
2 )组成员数量可扩展。  2) The number of group members can be expanded.
该技术应当能通过增加组成员的数量来提高服务质量,例如全球域名服务 器(DNS, Domain Name Server )的数量巨大, anycast服务机制应该可以支持 成员数目不受限制的 anycast组。  The technology should be able to improve the quality of service by increasing the number of group members. For example, the number of Domain Name Servers (DNS) is huge, and the anycast service mechanism should be able to support anycast groups with unlimited number of members.
3 )最优组成员高效选择。  3) The optimal group members are selected efficiently.
任何情况下, anycast服务都应选择到最优或者是近似最优的通信节点。 这就要求路由器了解更多的 anycast组及其成员的信息。 显然这是与可扩展性 相矛盾的目标。  In any case, the anycast service should choose the optimal or near-optimal communication node. This requires the router to know more about the anycast group and its members. Obviously this is a goal that contradicts scalability.
4 )对网络的其它协议透明、 对应用层软件透明。  4) Transparent to other protocols of the network and transparent to application layer software.
目标 4 ) 的重要性在于: 至今已经对互联网发展投入了巨大的成本, 任何 对现有协议的改变都需要花费巨大代价。 同样 ,如果需要应用层软件进行修改 来使用 anycast服务也会大大降低 anycast的生命力。  The importance of Goal 4) is: To date, huge costs have been invested in the development of the Internet, and any changes to existing agreements can be costly. Similarly, if you need to modify the application layer software to use the anycast service, the vitality of anycast will be greatly reduced.
最早的 anycast服务通过在互联网协议第 4版本(IPv4 )地址空间中直接 划分 anycast地址在网络层中实现, 但这样做会使路由表会无限制膨胀; 从而 导致网络性能急剧下降。 当每台路由器都需要为每一个 anycast组和组成员维 护单独的路由信息时, 全球 anycast服务将会很难实现。  The earliest anycast service was implemented in the network layer by directly dividing the anycast address in the Internet Protocol version 4 (IPv4) address space, but doing so would cause the routing table to expand indefinitely; thus causing a drastic drop in network performance. When each router needs to maintain separate routing information for each anycast group and group member, the global anycast service will be difficult to implement.
目前较为流行的实现 IP-anycast服务的方法是全球 IP任播 ( GIA, Global IP Anycast )。 GIA要求每个路由器能够区分 anycast地址与 unicast地址。 发送者通 过在 unicast地址中加入 any cast前缀来标识 anycast分组,路由器在收到分组时通 过对 anycast前缀的变换可以快速的找到位于家乡域( GIA中假设在每一中 anycast服务都会有一个最初的服务提供者, 它一定有一个确切的位置,这个位 置所在的域就该是 anycast服务的家乡域) 的 anycast服务器。  The current popular method for implementing IP-anycast services is Global IP Anycast (GIA). GIA requires each router to distinguish between an anycast address and a unicast address. The sender identifies the anycast packet by adding the any cast prefix to the unicast address. The router can quickly find the home location by changing the anycast prefix when receiving the packet. (GIA assumes that each of the anycast services will have an initial The service provider, which must have an exact location, the domain where this location is located is the anycast server of the anycast service's home domain.
参见图 2, 该图描述了 GIA对地址的映射过程:  See Figure 2, which depicts the GIA mapping process for addresses:
当服务器收到一个目的地址带有 anycast前缀的分组时首先去掉该前缀, 然后在地址的末尾补 0, 最后通过事先划分好的 anycast组的被访问频率来利 用映射后的地址。 When the server receives a packet with a destination address and anycast prefix, it first removes the prefix, then adds 0 to the end of the address, and finally uses the frequency of the anycast group that was previously divided. Use the mapped address.
GIA将 anycast地址区分为内部的(对路由器而言, 如果该 anycast地址的 家乡域与其所在自治域相同,这个地址就称为内部地址)、常用的和不常用的。 对内部地址的路由很简单, 直接到家乡域的服务器。 对内部的 anycast地址由 于其最优服务器位于家乡域的单播地址前缀所标识的网络内, 且与 unicast路 由完全相同, 因此可以直接通过组标识符(ID )找到最优服务器。 对经常访问 的 anycast地址, 路由器在一定范围内进行扩散式的查找, 并对查找到的结果 进行有选择的緩存, 这样可以对后续的该类 anycast分组进行快速的转发。 而 对于不经常访问的 anycast地址直接将分组路由到位于家乡域的 anycast服务 器。 由于不需要维护不常用的 anycast地址信息, 因此在一定程度上解决了路 由表的膨胀问题。  GIA divides the anycast address into internal (for the router, if the home domain of the anycast address is the same as its own autonomous domain, this address is called the internal address), commonly used and not commonly used. Routing of internal addresses is straightforward, going directly to the server in your home domain. The internal anycast address is located in the network identified by the unicast address prefix of the home server in the home domain, and is identical to the unicast route, so the optimal server can be found directly by the group identifier (ID). For anycast addresses that are frequently accessed, the router performs a diffuse lookup within a certain range, and selectively caches the found results, so that subsequent anycast packets of this type can be quickly forwarded. For anycast address that is not accessed frequently, the packet is routed directly to the anycast server located in the home domain. Since there is no need to maintain the unused anycast address information, the problem of the expansion of the routing table is solved to some extent.
GIA潜在的问题是, 将不经常访问的 anycast请求全部路由到主 anycast 域而不论请求者周围是否存在更优的服务器, 对这些 anycast请求很难找到最 优服务器, 因此不能高效率的实现最优组成员高效选择; 同时由于区分了 anycast地址和 unicast地址无法在现有的网络地址结构中应用, 不利于全球范 围的使用, 降低了 IP-anycast服务的生命力。  The potential problem with GIA is that all the anycast requests that are not frequently accessed are routed to the main anycast domain regardless of whether there is a better server around the requester. It is difficult to find the optimal server for these anycast requests, so the optimal solution cannot be achieved efficiently. Group members are efficiently selected. At the same time, because anycast address and unicast address cannot be applied in the existing network address structure, it is not conducive to global use and reduces the vitality of the IP-anycast service.
发明内容 Summary of the invention
本发明实施例要解决的技术问题是提供一种全球可扩展 IP - anycast服务 可扩展方法, 为解决上述技术问题,本发明实施例提供了一种任播服务实现方 法, 该方法包括:  The technical problem to be solved by the embodiments of the present invention is to provide a global scalable IP-anycast service scalable method. To solve the above technical problem, an embodiment of the present invention provides an implementation method of anycast service, where the method includes:
本发明实施例提供的任播服务实现方法, 包括: 接收分组, 所述分组为任 播请求数据包; 根据所述分组的目的地址查询对应的任播服务器的单播地址; 将所述分组的目的地址转换为所述任播服务器的单播地址得到第二分组;将所 述第二分组发送至所述任播服务器。  The method for implementing the anycast service provided by the embodiment of the present invention includes: receiving a packet, where the packet is an anycast request packet; and querying a unicast address of the corresponding anycast server according to the destination address of the packet; Converting the destination address to the unicast address of the anycast server to obtain the second packet; and sending the second packet to the anycast server.
本发明实施例提供的任播路由器, 包括: 第一接收单元, 用于接收分组, 所述分组为任播请求数据包; 第一处理单元, 用于根据所述分组的地址查找对 应的任播服务器的单播地址;将所述分组的目的地址转换为所述任播服务器的 单播地址得到第二分组; 第一发送单元, 用于将所述第二分组发送至所述任播 服务器。 本发明实施例提供的发送任播请求的方法, 包括: 接收分组, 所述分组为 任播请求数据包; 根据所述分组的目的地址查找任播路由表选择任播服务器; 将所述分组封装为第一分组,所述第一分组的目的地址为所述任播服务器对应 的任播路由器的地址, 所述第一分组的有效载荷为所述分组;发送所述第一分 组。 The anycast router provided by the embodiment of the present invention includes: a first receiving unit, configured to receive a packet, where the packet is an anycast request data packet; and a first processing unit, configured to search for a corresponding anycast according to the address of the packet a unicast address of the server; converting the destination address of the packet to a unicast address of the anycast server to obtain a second packet; and the first sending unit, configured to send the second packet to the anycast server. The method for sending an anycast request according to an embodiment of the present invention includes: receiving a packet, where the packet is an anycast request data packet; searching an anycast routing table according to a destination address of the packet, selecting an anycast server; and encapsulating the packet For the first group, the destination address of the first packet is an address of an anycast router corresponding to the anycast server, the payload of the first packet is the packet, and the first packet is sent.
本发明实施例提供的任播路由器, 包括: 第二接收单元, 用于分组, 所述 分组为任播请求数据包; 第二处理单元, 用于根据所述分组的目的地址查找任 播路由表选择任播服务器; 将所述分组封装为第一分组, 所述第一分组的目的 地址为所述任播服务器对应的任播路由器的地址,所述第一分组的有效载荷为 所述分组; 第二发送单元, 用于发送所述第一分组。  The anycast router provided by the embodiment of the present invention includes: a second receiving unit, configured to group, the packet is an anycast request data packet; and a second processing unit, configured to search, according to the destination address of the packet, anycast routing table Selecting an anycast server; encapsulating the packet as a first packet, a destination address of the first packet is an address of an anycast router corresponding to the anycast server, and a payload of the first packet is the packet; a second sending unit, configured to send the first packet.
本发明实施例提供的处理任播请求的方法, 包括: 接收第一分组, 将所述 第一分组解封装为分组, 所述的分组为所述的第一分组的有效载荷;根据所述 分组的目的地址查找对应的任播服务器的单播地址;将所述分组的目的地址转 换为所述任播服务器的单播地址,得到第二分组; 将所述第二分组发送至所述 任播服务器。  The method for processing an anycast request provided by the embodiment of the present invention includes: receiving a first packet, decapsulating the first packet into a packet, where the packet is a payload of the first packet; Determining a unicast address of the corresponding anycast server; converting the destination address of the packet to a unicast address of the anycast server, to obtain a second packet; and sending the second packet to the anycast server.
本发明实施例提供的任播路由器, 该任播路由器包括: 第三接收单元, 用 于接收第一分组; 第三处理单元, 用于将所述第一分组解封装为分组, 所述的 分组为所述的第一分组的有效载荷;根据所述分组的目的地址查找对应的任播 服务器的单播地址; 将所述分组的目的地址转换为所述任播服务器的单播地 址, 得到第二分组; 第三发送单元, 用于将所述第二分组发送至所述任播服务 器。  The anycast router provided by the embodiment of the present invention includes: a third receiving unit, configured to receive a first packet, and a third processing unit, configured to decapsulate the first packet into a packet, where the packet is a unicast address of the corresponding anycast server according to the destination address of the packet; converting the destination address of the packet to a unicast address of the anycast server, to obtain a a second sending unit, configured to send the second packet to the anycast server.
本发明实施例提供的处理任播请求的方法, 包括: 接收第一分组; 判断出 所述第一分组的目的地址不为自身的任播地址时,通过查找本地路由表将所述 第一分组按照单播路由进行转发。  The method for processing an anycast request according to the embodiment of the present invention includes: receiving a first packet; determining, when the destination address of the first packet is not an arbitrary anycast address, the first packet by searching a local routing table Forward according to unicast routes.
本发明实施例提供的任播路由器, 包括: 第四接收单元, 用于接收第一分 组;第四处理单元,用于判断出所述第一分组的目的地址不为自身的任播地址; 第四发送单元,用于通过查找本地路由表将所述第一分组按照单播路由进行转 发。  The anycast router provided by the embodiment of the present invention includes: a fourth receiving unit, configured to receive a first packet; and a fourth processing unit, configured to determine that the destination address of the first packet is not an own anycast address; And a sending unit, configured to forward the first packet according to a unicast route by searching a local routing table.
本发明实施例提供的处理响应任播请求的方法, 包括: 接收第二分组的响 应分组;将所述第二分组的响应分组的源地址转换为发出所述第二分组的任播 服务器的任播地址, 得到第三分组; 发送所述第三分组。 The method for processing a response to anycast request provided by the embodiment of the present invention includes: receiving a ringing of a second packet Should be grouped; convert the source address of the response packet of the second packet to an anycast address of the anycast server that issues the second packet, to obtain a third packet; and send the third packet.
本发明实施例提供的任播路由器, 包括: 第五接收单元, 用于接收第二分 组的响应分组; 第五处理单元, 用于将所述第二分组的源地址转换为发出所述 第二分组的任播服务器的任播地址, 得到第三分组; 第五发送单元, 用于发送 所述第三分组。  The anycast router provided by the embodiment of the present invention includes: a fifth receiving unit, configured to receive a response packet of the second packet; and a fifth processing unit, configured to convert the source address of the second packet to send the second Anycast address of the packetized anycast server, to obtain a third packet; and a fifth sending unit, configured to send the third packet.
本发明实施例提供的处理响应任播请求的方法, 包括: 接收第二分组; 处 理第二分组后,形成第二分组的响应分组, 所述响应分组的源地址为任播服务 器的单播地址、 目的地址为发送分组的任播路由器的任播地址;发送第二分组 的响应分组。  The method for processing a response to anycast request according to the embodiment of the present invention includes: receiving a second packet; after processing the second packet, forming a response packet of the second packet, where the source address of the response packet is a unicast address of the anycast server The destination address is an anycast address of the anycast router that sends the packet; and the response packet of the second packet is sent.
本发明实施例提供的任播服务器, 包括: 第六接收单元, 用于接收第二分 组; 第六处理单元, 用于处理第二分组后, 得到第二分组的响应分组, 所述响 应分组的源地址为任播服务器的单播地址、目的地址为发送分组的任播路由器 的任播地址; 第六发送单元, 用于发送第二分组的响应分组。  The anycast server provided by the embodiment of the present invention includes: a sixth receiving unit, configured to receive a second packet; a sixth processing unit, configured to process, after processing the second packet, a response packet of the second packet, where the response packet is The source address is the unicast address of the anycast server, the destination address is the anycast address of the anycast router that sends the packet, and the sixth sending unit is configured to send the response packet of the second packet.
本发明实施例提供的任播服务实现的系统, 包括: 第一任播路由器, 用于 接收分组, 所述分组为任播请求数据包;根据所述分组的目的地址查找任播路 由表选择任播服务器; 将所述分组封装为第一分组, 所述第一分组的目的地址 为所述任播服务器对应的任播路由器的地址,所述第一分组的有效载荷为所述 分组; 发送所述第一分组; 第二任播路由器, 用于接收第一分组; 将所述第一 分组解封装为分组; 根据所述分组的地址查找对应的任播服务器的单播地址; 将所述分组的目的地址转换为所述任播服务器的单播地址,得到第二分组; 将 所述第二分组发送至所述任播服务器;任播服务器,用于接收所述的第二分组, 按照所述的第二分组的内容提供相应的任播服务。  The system implemented by the anycast service provided by the embodiment of the present invention includes: a first anycast router, configured to receive a packet, where the packet is an anycast request data packet; and select an anycast routing table according to the destination address of the packet a packet is encapsulated into a first packet, a destination address of the first packet is an address of an anycast router corresponding to the anycast server, and a payload of the first packet is the packet; a first packet; a second anycast router, configured to receive the first packet; decapsulate the first packet into a packet; and search for a unicast address of the corresponding anycast server according to the address of the packet; Transmitting a destination address to a unicast address of the anycast server to obtain a second packet; sending the second packet to the anycast server; and anycast server, configured to receive the second packet, according to The content of the second packet described provides a corresponding anycast service.
以上技术方案可以看出, 由于本发明实施例采用了通过执行封装、地址变 换、 解封装等技术, 使得 anycast分组 P具备了 unicast的优点, 同时实现了在 所有 AS中高效率的实现最优组成员选择。  As shown in the foregoing technical solution, the embodiment of the present invention adopts technologies such as encapsulation, address translation, and decapsulation, so that anycast packet P has the advantage of unicast, and implements optimal group members in all ASs with high efficiency. select.
附图说明 DRAWINGS
图 1为现有技术中 anycast服务示意图; 图 2为现有技术中 GIA的地址映射过程示意图; 图 3为本发明实施例 1方法流程图; 图 4为本发明 anycast转发示例图; 图 5为本发明实施例 2结构图; 图 6为本发明实施例 3结构图; 1 is a schematic diagram of an anycast service in the prior art; FIG. 2 is a schematic diagram of an address mapping process of a GIA in the prior art; 3 is a flowchart of a method according to a first embodiment of the present invention; FIG. 4 is a structural diagram of an embodiment of the present invention; FIG.
图 7为本发明实施例 4结构图; 图 8为本发明实施例 5结构图; 图 9为本发明实施例 6结构图;  Figure 7 is a structural view of Embodiment 4 of the present invention; Figure 8 is a structural view of Embodiment 5 of the present invention; Figure 9 is a structural view of Embodiment 6 of the present invention;
图 10为本发明实施例 7结构图; 图 11为本发明实施例最优路径选择效率图。  FIG. 10 is a structural diagram of Embodiment 7 of the present invention; FIG. 11 is a diagram showing an optimal path selection efficiency according to an embodiment of the present invention.
具体实施方式 detailed description
本发明实施例无需改变网络的现有地址结构, 在全球范围内部署 anycast 服务器,并按根据 anycast组地址的不同提供相应的 anycast服务是实现全球可 扩展 IP - anycast服务的基础条件。本发明要求当部署一个新的 anycast服务时, 首先需要部署该 anycast服务的本地任播服务器( HAS , Home Anycast Server ), 该 HAS 可以是标识符与单播地址标识符相同的任播服务器 (AS , Anycast Server ),即 ASAid=ASUid,并在 HAS前端部署一个第一跳路由器( FAR, First hop Anycast Router )该第一跳路由器可以选择与 AS距离最近的任播路由器 ( AR, Anycast Router ), 使 HAS通过 FAR接入网络。 初始运行时, HAS会 主动向其 FAR注册。在部署好新的 anycast服务、 HAS和 FAR时,为该 anycast 服务增加新的 AS时, 在每个 AS前端部署一个 FAR, AS通过其 FAR接入网 络。  The embodiment of the present invention does not need to change the existing address structure of the network, deploys anycast server globally, and provides the corresponding anycast service according to the address of anycast group is the basic condition for implementing the global scalable IP-anycast service. The present invention requires that when deploying a new anycast service, the local anycast server (HAS, Home Anycast Server) of the anycast service needs to be deployed first, and the HAS may be an anycast server with the same identifier as the unicast address identifier (AS). Anycast Server, that is, ASAid=ASUid, and deploy a first hop Anycast Router (FAR) on the front end of the HAS. The first hop router can select the Anycast Router (AR) that is closest to the AS. The HAS is allowed to access the network through the FAR. At initial operation, HAS will actively register with its FAR. When a new AS is added to the anycast service, a new AS is deployed for the anycast service. A FAR is deployed on each AS front end, and the AS accesses the network through its FAR.
对于一个 anycast服务, 可以根据实际需求在全球互联网上的不同位置适 当部署 AS。 可以按照如下规则部署 AR, 该 AR可以是支持基于隧道的 IP-anycast的互联网协议任播路由器( IR, I-anycast Router ):  For an anycast service, AS can be deployed in different locations on the global Internet based on actual needs. The AR can be deployed according to the following rules: The AR can be an Internet Protocol Anycast Router (IR, I-anycast Router) that supports tunnel-based IP-anycast:
( 1 )尽量在连接数比较多的自治域边界部署 AR;  (1) Try to deploy AR on the boundary of the autonomous domain with a large number of connections;
( 2 ) 当某个自治域内没有相应 anycast服务的 AS , 并且自治域内对该 anycast服务的请求频繁发生时, 应该在该自治域的边界部署 AR; 本发明实施例中可以从全球的角度部署 AR, 尽量使 AR均匀的分布在全 球互联网中。 这样部署的目的都是为了能够使更多的 anycast请求在 AMP上 能获得比 HAS更优的 anycast服务器信息。 (2) When there is no AS of the corresponding anycast service in an autonomous domain, and the request for the anycast service occurs frequently in the autonomous domain, the AR should be deployed at the boundary of the autonomous domain; In the embodiment of the present invention, the AR can be deployed from a global perspective, and the AR is distributed as evenly as possible in the global Internet. The purpose of this deployment is to enable more anycast requests to get anycast server information better than HAS on AMP.
为了实现全球 anycast服务,每个 AR的任播路由表( ART, Anycast Routing ) 中都会记录一定的信息, 例如 AS的任播地址(ASAid, anycast address ), 单 播地址( ASUid, unicast address, ), 该 AS对应的 FARUid, FAR距离当前 AR 的跳数 L ( L取正整数), AS的选择评价值 V ( V取正整数)等。 V可以是 AR到 AS的实际距离 , AS的繁忙程度或 AS的处理能力等信息; 在本发明假 设取 V为 AR到 AS的跳数。 并且由于不同的 AS具有不通的 ASAid, 因此在 ART中, 每一条记录都代表一个 AS。  In order to implement the anycast service in the world, certain information is recorded in each AR's Anycast Routing (ART, Anycast Routing), such as the AS's anycast address (ASAid, anycast address), and the unicast address (ASUid, unicast address, ). The FARUid corresponding to the AS, the FAR distance from the current AR, the L number (L is a positive integer), the AS selection evaluation value V (V is a positive integer), and the like. V can be the actual distance from the AR to the AS, the busyness of the AS, or the processing capability of the AS. In the present invention, it is assumed that V is the hop count of the AR to the AS. And because different ASs have a different ASAid, in ART, each record represents an AS.
在本发明中, 可以控制 FAR距离当前 AR的跳数 L ( L取正整数 )及取 V 为 AR到 AS的跳数,本发明一般要每个 AR掌握其 V跳自治域内的 AS信息; 可以将 V控制在 4或 5内, 这样每个 AR都知道一定的信息, 那么所有的 AR 连接起来就能够提供全球 anycast服务。 并且通过控制这种记录信息, 同时就 从一定程度上降低了 ART路由表信息的存储容量,从而提高的 anycast组数量 的可扩展性。  In the present invention, the hop count L (L takes a positive integer) of the FAR from the current AR and the hop count of the AR to the AS are controlled. The present invention generally needs to grasp the AS information in the V-hop autonomous domain for each AR; Control V to 4 or 5, so that each AR knows certain information, then all ARs can be connected to provide anyany service worldwide. Moreover, by controlling such record information, the storage capacity of the ART routing table information is reduced to some extent, thereby increasing the scalability of the number of anycast groups.
下面通过一个实施例来具体介绍在具备了全球 anycast服务网络结构以后 实现 anycast服务的方法。  The following describes an implementation of the anycast service after having the global anycast service network structure through an embodiment.
实施例 1, IP网络上每个分组发出时必然会携带源地址和目的地址, 设网 络层分组 P, 的源地址和目的地址分别为 src和 dest, 该分组 P可以为一个网 络协议包,可以采用 IP协议,如果分组 P为 anycast分组,则 dest是该 anycast 服务的任播地址(Aid, anycast address )。 参见图 3, 该实施例具体过程如下: 框图 101: AR接收分组 P;该分组 P的源地址和目的地址分别为 src和 dest; 框图 102: 判断分组 P是否为隧道分组(TP, Tunnel Packet anycast ); 若 分组 P为 TP, 则执行框图 103 , 若分组 P不是 TP则执行框图 107;  Embodiment 1: Each packet on the IP network necessarily carries a source address and a destination address when the packet is sent. The source address and the destination address of the network layer packet P are respectively src and dest, and the packet P may be a network protocol packet. With the IP protocol, if the packet P is anycast packet, dest is the anycast address (Aid, anycast address) of the anycast service. Referring to FIG. 3, the specific process of the embodiment is as follows: Block 101: The AR receives the packet P; the source address and the destination address of the packet P are src and dest respectively; and block 102: determining whether the packet P is a tunnel packet (TP, Tunnel Packet anycast) If the packet P is TP, block 103 is performed, and if packet P is not TP, block 107 is executed;
隧道分组指的是经过封装以后的 IP分组,也可以称为第一分组 P。所谓封 装指的是将分组 P作为新 IP分组的有效载荷的 IP隧道技术。 AR对分组 P进 行封装的过程为:  A tunnel packet refers to an encapsulated IP packet, which may also be referred to as a first packet P. The so-called encapsulation refers to the IP tunneling technique that uses packet P as the payload of the new IP packet. The process of encapsulating packet P by AR is:
( 1 ) AR的 ART记录的 V值选择最优的 AS; ( 2 )将分组 P作为封装以后分组的有效载荷, 也就是作为封装后 IP数据 包的数据部分; (1) The V value of the ART record of the AR selects the optimal AS; (2) using the packet P as the payload of the packet after encapsulation, that is, as the data portion of the encapsulated IP packet;
经过封装后分组 P的源地址和目的地址分别是 src和最优 AS的 FARAid。 ( 3 )标记该分组 P为 anycast隧道分组, 以便 FAR识别;  After encapsulation, the source and destination addresses of the packet P are src and the FARAid of the optimal AS, respectively. (3) marking the packet P as an anycast tunnel packet for FAR identification;
在 IPV6中可以通过定义新的 Next Header来标记隧道分组 , IPV4中可以 将某个保留位位置用来标记 anycast隧道分组。  In IPV6, tunnel packets can be marked by defining a new Next Header. In IPV4, a reserved bit location can be used to mark anycast tunnel packets.
由于通过上述的方法将分组 P进行了标记,因此在该框图 102中可以通过 Next Header或者是某个保留位来判断是否 TP。  Since the packet P is marked by the above method, it is possible to determine whether or not the TP is in the block diagram 102 by the Next Header or a reserved bit.
当某个 AR对分组 Ρ执行了封装过程以后, 实际上也就知道了 anycast服 务的目的地址, 也就是说封装过程改变分组 P在原来 IR环境中的转发路径。  When an AR performs the encapsulation process on the packet, it actually knows the destination address of the anycast service, that is, the encapsulation process changes the forwarding path of the packet P in the original IR environment.
上述方案即是是本发明新定义的 anycast隧道技术,更加确切的说, anycast 隧道技术是指: 通信的双方用一条逻辑隧道进行连接, 通过 anycast技术找到 一条最优的路径, 而将应该在原有 IR传输的路线程隐藏起来。  The above solution is the anycast tunnel technology newly defined by the present invention. More specifically, the anycast tunneling technology refers to: The two sides of the communication are connected by a logical tunnel, and an optimal path is found by anycast technology, and the original path should be The path of the IR transmission is hidden.
框图 103: 若分组 P为 TP, 则说明该分组 P是经过封装的, 其携带的 dest 为 AS对应的 AR,该对应的 AR可以为其目的 AS的 FAR, 因此该 AR通过其 存储的 ART信息判断分组 P的 dest是否就是为其自身的 ARuid; 若是因为分 组 P的目的地址是最优 AS的 FARAid, 则说明该 AR是分组 P的目的 AS的 FAR, 那么执行框图 104; 若否则执行框图 106;  Block 103: If the packet P is a TP, it indicates that the packet P is encapsulated, and the dest carried by the AS is the AR corresponding to the AS, and the corresponding AR may be the FAR of the destination AS, so the AR through which the AR stores the ART information Determining whether the dest of the packet P is its own ARUId; if the destination address of the packet P is the FARAid of the optimal AS, indicating that the AR is the FAR of the destination AS of the packet P, then the block diagram 104 is performed; ;
框图 104: 由于框图 103中涉及的分组 P是经过封装的, 也就是该分组 P 为 TP, 经过了地址变换等过程, 因此将该分组 P解封装, 执行地址变换过程, 形成第二分组 P。  Block 104: Since the packet P involved in the block diagram 103 is encapsulated, that is, the packet P is a TP, and undergoes an address conversion process, the packet P is decapsulated, and an address translation process is performed to form a second packet P.
该框图 104中提到的解封装过程是从封装后的分组中恢复出原分组 P的过 程, 也就是说去掉头部信息将有效载荷恢复成原分组 P; 然后进行地址变换, 将分组 P封装后的地址 dest变换为查询其 ART得到的 ASUid。  The decapsulation process mentioned in the block diagram 104 is a process of recovering the original packet P from the encapsulated packet, that is, the header information is removed to restore the payload to the original packet P; then the address translation is performed, and the packet P is encapsulated. The subsequent address dest is transformed into the ASUid obtained by querying its ART.
框图 105: 发送第二分组 P至 AR的网络层 , 由网络层按照 unicast服务规 则将该分组 P发送至目的地。  Block diagram 105: Send the second packet P to the network layer of the AR, which sends the packet P to the destination according to the unicast service rule.
框图 106: 说明该 AR只是 anycast分组传送过程中一个途经的 AR, 应继 续通过 AR沿其 unicast服务规则进行转发。  Block 106: The AR is only a transit AR in the anycast packet transmission process, and should be forwarded along the unicast service rule by the AR.
框图 107: 由于 AR判断出该分组 P不是 TP,也就是说该分组 P还不知道 其最优的目的 AS地址;那么 AR通过 ART中存储的信息继续查询是否存在与 该分组 P的 dest相同的 ASAid; 若查找到则执行框图 108, 没有查找到则执行 框图 111或框图 111A; Block 107: Since the AR judges that the packet P is not a TP, that is, the packet P does not yet know The optimal destination AS address; then the AR continues to query whether there is the same ASAid as the dest of the packet P through the information stored in the ART; if it is found, the block diagram 108 is executed, and if not found, the block diagram 111 or the block diagram 111A is executed;
框图 108:若该 AR找到与分组 P的 dest相同的 ASAid则说明分组 P的最 优 AS的对应的 AR在 AR的 K跳范围以内, 该对应的 AR可以为其目的 AS 的 FAR; 那么继续判断是否该 AR的 ARuid等于选出的最优 AS的 FARuid; 若是则执行框图 109, 若否则执行框图 110; 该框图中提到的最优的 AS可以 为距离发出分组 P的 AR最近的 AS。  Block 108: If the AR finds the same ASAid as the dest of the packet P, it indicates that the corresponding AR of the optimal AS of the packet P is within the K hop range of the AR, and the corresponding AR may be the FAR of its destination AS; Whether the ARuid of the AR is equal to the FARuid of the selected optimal AS; if so, block diagram 109 is performed, if otherwise, block diagram 110 is performed; the optimal AS mentioned in the block diagram may be the AS closest to the AR that sent the packet P.
框图 109: 执行地址变换过程, 将分组 P的目的地址 dest变换为通过查询 AR的 ART得到的 ASuid, 形成第二分组 P; 执行框图 105;  Block 109: Performing an address translation process, transforming the destination address dest of the packet P into an ASuid obtained by querying the ART of the AR, forming a second packet P; executing the block diagram 105;
同时若该 AR的 ARuid等于选出的最优 AS的 FARuid,则说明选出的最优 AS为该 anycast服务分组的 HAS;  If the ARuid of the AR is equal to the FARuid of the selected optimal AS, the selected optimal AS is the HAS of the anycast service group.
框图 110: 因为 AR收到的分组 P不是 TP,但在 AR的 K跳范围内存在最 优的 AS, 那么对该分组 P执行封装过程形成第二分组 P , 执行框图 105;  Block 110: Since the packet P received by the AR is not a TP, but there is a best AS in the K hop range of the AR, the encapsulation process is performed on the packet P to form a second packet P, and the block diagram 105 is executed;
执行封装过程也就是上文提到过的对于该分组 P: ( 1 )根据 AR的 ART记 录的 V值选择最优的 AS; ( 2 )将分组 P作为封装以后分组的有效载荷, 也就 是指作为封装以后 IP数据包的数据部分; 经过封装以后分组 P的源地址和目 的地址分别是 src和最优 AS的 FARAid。 ( 3 )标记该分组 P为 anycast隧道分 组, 以便 FAR和 AR识别; 在 IPV6中可以通过定义新的头部信息来标记隧道 分组 , IPV4中可以将分组 P的某个保留位位置用来标记 anycast隧道分组。  The encapsulation process is also referred to above for the packet P: (1) selecting the optimal AS according to the V value of the ART record of the AR; (2) using the packet P as the payload of the packet after encapsulation, that is, referring to As the data part of the encapsulated IP packet; after encapsulation, the source and destination addresses of the packet P are src and the FARAid of the optimal AS, respectively. (3) Marking the packet P as an anycast tunnel packet for FAR and AR identification; in IPV6, the tunnel packet can be marked by defining a new header information, and a certain reserved bit position of the packet P can be used to mark anycast in IPV4. Tunnel grouping.
框图 111 : 当 AR接收到的分组 P既不是 TP, 也查询不到与分组 P中 dest 相同的 ASAid时, 则收到的组 P为 unicast分组或者是分组 P请求的 anycast 组的 AS是该 AR不了解的,说明该 AR只是 anycast分组传送过程中一个途经 的 AR, 应继续通过 AR沿其 unicast服务规则将分组 P进行转发。  Block 111: When the packet P received by the AR is neither a TP nor the same ASAid as the dest in the packet P, the received group P is a unicast packet or the AS of the anycast group requested by the packet P is the AR. If it is not known, the AR is only a transit AR in the anycast packet transmission process, and the packet P should be forwarded through the AR along its unicast service rule.
当 anycast通信的发起方成功将第一个 IP包发送到最优 anycast服务器后, 后续的数据包也都按此路径进行传输。 当 anycast服务器需要向通信发起方发 送数据包时, 设为 AS的响应过程, 是指 AS发送响应分组至最先发出分组 P 的 AR。 由于 anycast分组 P转发到最优 AS的 FAR时执行了地址变换过程 , 因此最优 AS收到分组 P的目的地址为 ASuid, 它响应的分组的原地址必然是 ASuid,而开始响应过程是使用 ASAid进行通信,因此 FAR必须将 ASUid变为 ASAid,这个过程只需要进行一次。 当出现响应分组时,为了区分出这种情况, anycast服务器响应分组的转发会出现在 AR收到的分组 P不是 TP也查询不到 于分组 P中 dest相同的 ASAid时进一步进行判断; 那么框图 111可以用下述 框图代替; When the initiator of anycast communication successfully sends the first IP packet to the optimal anycast server, subsequent packets are also transmitted according to this path. When the anycast server needs to send a data packet to the communication initiator, it is set as the response process of the AS, that is, the AS sends the response packet to the AR that first sends the packet P. Since the address conversion process is performed when the anycast packet P is forwarded to the FAR of the optimal AS, the destination address of the packet received by the optimal AS is ASuid, and the original address of the packet it responds to is necessarily ASuid, and the start of the response process is to use the ASAid to communicate, so the FAR must change the ASUid to ASAid, this process only needs to be done once. When a response packet occurs, in order to distinguish this situation, the forwarding of the anycast server response packet may occur when the packet P received by the AR is not a TP and may not be queried in the same ASAid as the dest in the packet P; then the block diagram 111 Can be replaced by the following block diagram;
框图 111 A:判断 AR的 ART中是否能查询到与分组 P的 src相应的 ASAid; 若查询不到说明该 AR是 anycast分组传输中途经的 AR或者根本不是 anycast 请求分组, 无需进行处理执行框图 106; 查询到则执行框图 112;  Block 111A: It is judged whether the ASAid corresponding to the src of the packet P can be queried in the ART of the AR; if it is not described that the AR is an AR in the anycast packet transmission or is not an anycast request packet at all, the processing execution block diagram 106 is not required. ; query to execute block diagram 112;
框图 112:进一步判断该 AR是否为分组 P中 src代表的 AS的 FAR;若否 则执行框图 113 , 若是则执行框图 114;  Block 112: further determining whether the AR is the FAR of the AS represented by src in the packet P; if not, executing the block diagram 113, and if so, executing the block diagram 114;
框图 113: 说明该分组 P虽然是来自某个 AS的响应分组但这个 AS没有 将当前 AR注册为 FAR, 分组的地址逆变换过程应由 FAR来进行, 因此只需 将分组 P按照 unicast机制进行转发;  Block 113: It is shown that although the packet P is a response packet from an AS but the AS does not register the current AR as a FAR, the inverse address translation process of the packet should be performed by the FAR, so that the packet P only needs to be forwarded according to the unicast mechanism. ;
框图 114: 此时是 AS响应 anycast请求的过程, 由于 anycast分组 P转发 到最优 AS的 FAR时执行了地址变换过程,因此最优 AS收到分组的目的地址 为 ASuid,它响应的分组的原地址必然是 ASuid,而开始响应过程是使用 ASAid 进行通信,因此 FAR必须将 ASUid变为 ASAid, 也就是执行地址逆变换过程, 形成第三分组 P。此处提到的地址逆变换过程指的是 AR将分组 P的源地址 src 变为发出响应的 ASAid, 而目的地址不变。  Block 114: At this time, the AS responds to the anycast request process. Since the anycast packet P is forwarded to the optimal AS FAR, the address translation process is performed. Therefore, the destination address of the optimal AS received packet is ASuid, and the original packet of the response packet is The address must be ASuid, and the start response process is to use the ASAid to communicate, so the FAR must change the ASUid to ASAid, that is, perform the inverse address translation process to form the third packet P. The address inverse transform process mentioned here means that the AR changes the source address src of the packet P to the ASAid that sends the response, and the destination address does not change.
为了使本发明实施例 1 的方法更加清楚, 下面列举一个例子进行辅助说 明: 参见图 4, 该图为 anycast转发示例的一个网络拓朴图。 HAS和 AS2组成 一个 anycast组, 地址为 ASAid。。 部署 AR1-AR5以处理 anycast请求, 其他 IR按照 Internet的标准转发分组。 AR1和 AR4分别是 AS2和 HAS的 FAR。 AC1— AC3是 anycast服务请求者, 每个请求者对应的最优服务器取决于 V的 值。假设 HAS是 AC2和 AC3的最优 AS, AS2是 AC1的最优 AS,并假设 k=3。  In order to make the method of Embodiment 1 of the present invention clearer, an example is provided below for assistance: Referring to Figure 4, this figure is a network topology diagram of an example of anycast forwarding. HAS and AS2 form an anycast group with the address ASAid. . AR1-AR5 is deployed to handle anycast requests, and other IRs forward packets according to Internet standards. AR1 and AR4 are the FARs of AS2 and HAS, respectively. AC1—AC3 is the anycast service requester, and the optimal server for each requester depends on the value of V. Assume that HAS is the optimal AS for AC2 and AC3, and AS2 is the optimal AS for AC1, assuming k=3.
首先介绍 AC1的请求过程: AC1发出 anycast请求分组 P, 其目的地址为 ASAid. P首先经过 IR3 , 由于 IR3没有经过改造, 不能识别出分组 P为一个 anycast分组, 因此将 P视为普通 unicast分组进行转发。 P到达 AR3 , 根据转 发机制, AR3 对 P执行封装过程生成源地址和目的地址分别是 AClUid和 ARlUid的 anycast隧道分组 TP并转发,最后 TP到达 ARl。由于 ARl的 ART 中记录了 AS2对应的 FARUid是其自身 , 因此根据 AR1的 ART判断, AR1 就是 AS2的 FAR。 因此执行解封装过程, 从 TP中恢复出分组 P。 然后执行地 址变换过程, 以 AS2Uid替换 P的目的地址并发送到 AS2。 AS2返回源地址为 AS2Uid, 目的地址为 AClUid的响应分组 RP(Response packet)。 由于 ARl是 AS2的 FAR, 因此 AR1执行逆地址变换过程, 将 RP的源地址替换成 ASAid 并发送出去, 经过的所有 IR和 AR都直接转发该分组, 不作特殊处理。 最后 RP到达 AC1 , 完成整个 anycast通信过程。 上述转发过程中对 P和 RP的处理 对 AS和 AC都是透明的。 First, the request process of AC1 is introduced: AC1 sends anycast request packet P, and its destination address is ASAid. P first passes IR3. Since IR3 has not been modified, it can not recognize that packet P is an anycast packet, so P is regarded as a normal unicast packet. Forward. P reaches AR3. According to the forwarding mechanism, AR3 performs the encapsulation process on P to generate the source address and destination address respectively, which are AClUid and The anycast tunnel of the AR1Uid packet is forwarded by the TP, and finally the TP reaches the AR1. Since the ARRU's ART records that the FARUid corresponding to AS2 is its own, AR1 is the FAR of AS2 according to the ART judgment of AR1. Therefore, the decapsulation process is performed to recover the packet P from the TP. Then perform the address translation process, replace the destination address of P with AS2Uid and send it to AS2. AS2 returns a response packet RP (Response packet) whose source address is AS2Uid and whose destination address is AClUid. Since AR1 is the FAR of AS2, AR1 performs the reverse address translation process, replaces the source address of the RP with the ASAid and sends it out. All the passed IR and AR directly forward the packet without special processing. Finally, the RP arrives at AC1 and completes the entire anycast communication process. The processing of P and RP in the above forwarding process is transparent to both AS and AC.
在本发明实施例中, 对 anycast分组 P的封装在传送过程中只进行一次。 任何 ASAid, 因此不可能被再次封装。  In the embodiment of the present invention, the encapsulation of the anycast packet P is performed only once during the transmission. Any ASAid, so it is impossible to be packaged again.
通过图 4可以给出下面的表一: anycast转发实例表  Figure 1 below can be given the following table 1: anycast forwarding instance table
Figure imgf000013_0001
Figure imgf000013_0001
由表一中的隧道路径与分组主路径的比较,也可以进一步的了解隧道技术 的概念: 通信的双方用一条逻辑隧道进行连接, 通过 anycast技术找到一条最 优的路径, 而将应该在原有 IR传输的路线程隐藏起来。  By comparing the tunnel path in Table 1 with the packet main path, the concept of tunnel technology can be further understood: The two sides of the communication are connected by a logical tunnel, and an optimal path is found by anycast technology, which should be in the original IR. The path of the transfer is hidden.
实施例 2, 本发明实施例还提供了一种任播路由器; 参见图 5, 该任播路 由器包括:  Embodiment 2 The embodiment of the present invention further provides an anycast router. Referring to FIG. 5, the anycast router includes:
第一接收单元 201, 用于接收分组 P, 所述分组 P为任播请求数据包; 第一处理单元 202, 用于根据所述分组 P的地址查找所述任播服务器的单 播地址; 将所述分组 P的目的地址变换为所述任播服务器的单播地址,形成第 二分组 P; a first receiving unit 201, configured to receive a packet P, where the packet P is an anycast request data packet; The first processing unit 202 is configured to search for a unicast address of the anycast server according to the address of the packet P; convert the destination address of the packet P to a unicast address of the anycast server, to form a second packet. P;
第一发送单元 203, 用于将所述第二分组 P发送至所述任播服务器。 所述任播服务器还可以进一步包括第一判断单元 204, 用于根据所述分组 The first sending unit 203 is configured to send the second packet P to the anycast server. The anycast server may further include a first determining unit 204, configured to perform, according to the grouping
P的地址查找所述任播服务器的单播地址之前,先判断所述分组 P不是隧道分 组 TP。 Before the address of P finds the unicast address of the anycast server, it is first determined that the packet P is not a tunnel packet TP.
所述隧道分组的表示方法为:对所述分组 Ρ定义新的头部信息或将所述分 组 Ρ的某一保留位位置作为标识来表示隧道分组 TP, 相应地, 判断所述分组 P不是隧道分组具体包括: 当所述分组 P中不含有所述标识时, 则判断所述分 组 P不是隧道分组。  The method for representing the tunnel packet is: defining new header information for the packet 或 or using a reserved bit position of the packet 作为 as an identifier to represent the tunnel packet TP, and correspondingly, determining that the packet P is not a tunnel The packet specifically includes: when the packet P does not contain the identifier, it is determined that the packet P is not a tunnel packet.
实施例 3, 本发明还提供了一种任播路由器, 参见图 6, 该任播路由器包 括:  Embodiment 3 The present invention also provides an anycast router. Referring to FIG. 6, the anycast router includes:
第二接收单元 301, 用于接收分组 P, 所述分组 P为任播请求数据包; 第二处理单元 302, 用于根据所述分组 P的目的地址查找任播路由表选择 任播服务器; 将所述分组 P封装为第一分组 P, 所述第一分组 P的目的地址为 所述任播服务器对应的任播路由器的地址,所述第一分组 P的有效载荷为所述 分组 P;  a second receiving unit 301, configured to receive a packet P, where the packet P is an anycast request data packet, and a second processing unit 302, configured to select an anycast server according to the destination address of the packet P, and select an anycast server; The packet P is encapsulated into a first packet P, the destination address of the first packet P is the address of the anycast router corresponding to the anycast server, and the payload of the first packet P is the packet P;
第二发送单元 303, 用于发送所述第一分组 P。  The second sending unit 303 is configured to send the first packet P.
接收所述分组 P后,所述的第二处理单元 302进一步判断所述分组 P不是 隧道分组; 所述隧道分组的表示方法为:对所述分组 P定义新的头部信息或将 所述分组 P的某一保留位位置作为标识来表示隧道分组 TP, 相应地, 判断所 述分组 P不是隧道分组具体包括: 当所述分组 P中不含有所述标识时,则判断 所述分组 P不是隧道分组。  After receiving the packet P, the second processing unit 302 further determines that the packet P is not a tunnel packet; the tunnel packet is represented by: defining new header information for the packet P or grouping the packet A certain reserved bit position of P is used as an identifier to indicate a tunnel packet TP. Correspondingly, determining that the packet P is not a tunnel packet specifically includes: when the packet P does not include the identifier, determining that the packet P is not a tunnel Grouping.
所述的第二处理单元 302根据所述分组 P的目的地址查找任播路由表,从 所述任播路由表中选择任播服务器,具体为:根据所述分组 P的目的地址查找 任播路由表, 选择离自己最近的任播服务器。  The second processing unit 302 searches the anycast routing table according to the destination address of the packet P, and selects an anycast server from the anycast routing table, specifically: searching for anycast route according to the destination address of the packet P. Table, select the anycast server closest to you.
所述的第二处理单元 302 选择的任播路由器可以为任播服务器的第一跳 路由器。 实施例 4, 本发明还提供了一种任播路由器, 参见图 7, 该任播路由器包 括: The anycast router selected by the second processing unit 302 may be the first hop router of the anycast server. Embodiment 4, the present invention further provides an anycast router. Referring to FIG. 7, the anycast router includes:
第三接收单元 401, 用于接收第一分组 P;  a third receiving unit 401, configured to receive the first packet P;
第三处理单元 402, 用于将所述第一分组 P解封装为分组 P, 所述的分组 P为所述的第一分组 P的有效载荷;根据所述分组 P的目的地址查找所述任播 服务器的单播地址;将所述分组 P的目的地址变换为所述任播服务器的单播地 址, 形成第二分组 P;  a third processing unit 402, configured to decapsulate the first packet P into a packet P, where the packet P is a payload of the first packet P; and searching for the foregoing according to a destination address of the packet P a unicast address of the broadcast server; the destination address of the packet P is converted to a unicast address of the anycast server, forming a second packet P;
第三发送单元 403 , 用于将所述第二分组 P发送至所述任播服务器。  The third sending unit 403 is configured to send the second packet P to the anycast server.
实施例 5 , 本发明还提供了一种任播路由器, 参见图 8, 该任播路由器包 括:  Embodiment 5 The present invention also provides an anycast router. Referring to FIG. 8, the anycast router includes:
第四接收单元 501, 用于接收第一分组 P;  a fourth receiving unit 501, configured to receive the first packet P;
第四处理单元 502, 用于判断出所述第一分组 P的目的地址不为自身的任 播地址;  The fourth processing unit 502 is configured to determine that the destination address of the first packet P is not its own anycast address;
第四发送单元 503, 用于通过查找本地路由表将所述第一分组 P按照单播 路由进行转发。  The fourth sending unit 503 is configured to forward the first packet P according to a unicast route by searching a local routing table.
该任播路由器还可以进一步包括第二判断单元 504, 用于所述查找本地路 由表将所述第一分组 P进行转发之前,先判断所述第一分组 P的源地址对应的 任播服务器的任播地址不在本地任播路由表。  The anycast router may further include a second determining unit 504, configured to determine, before the forwarding of the first packet P, the local routing table to determine the anycast server corresponding to the source address of the first packet P. The anycast address is not in the local anycast routing table.
实施例 6, 本发明还提供了一种任播路由器, 参见图 9, 该任播路由器包 括:  Embodiment 6 The present invention also provides an anycast router. Referring to FIG. 9, the anycast router includes:
第五接收单元 601 , 用于接收第二分组 P的响应分组;  a fifth receiving unit 601, configured to receive a response packet of the second packet P;
第五处理单元 602 , 用于将所述第二分组 P的源地址变换为发出所述第二 分组 P的任播服务器的任播地址, 形成第三分组 P;  The fifth processing unit 602 is configured to convert the source address of the second packet P to anycast address of the anycast server that sends the second packet P, to form a third packet P;
第五发送单元 603, 用于发送所述第三分组?。  The fifth sending unit 603 is configured to send the third packet. .
所述的第五处理单元 602将第二分组 P的响应分组的源地址变换为发出所 述第二分组 P的任播服务器的任播地址,形成第三分组 P之前,可以进一步先 判断出所述第一分组 P的目的地址不为自身的任播地址,判断所述第一分组 P 的源地址对应的任播服务器的任播地址在本地任播路由表。  The fifth processing unit 602 converts the source address of the response packet of the second packet P into an anycast address of the anycast server that sends the second packet P. Before forming the third packet P, the first packet may be further determined. The destination address of the first packet P is not its own anycast address, and it is determined that the anycast address of the anycast server corresponding to the source address of the first packet P is in the local anycast routing table.
实施例 7, 本发明还提供了一种任播服务器, 参见图 10, 该任播服务器包 括: Embodiment 7, the present invention also provides an anycast server, see FIG. 10, the anycast server package Includes:
第六接收单元 701, 用于接收第二分组 P;  a sixth receiving unit 701, configured to receive the second packet P;
第六处理单元 702,用于处理第二分组 P后,形成第二分组 P的响应分组, 所述响应分组的源地址为任播服务器的单播地址、目的地址为发送分组 P的任 播路由器的任播地址;  The sixth processing unit 702 is configured to process a second packet P, and form a response packet of the second packet P. The source address of the response packet is a unicast address of the anycast server, and the destination address is an anycast router that sends the packet P. Anycast address;
第六发送单元 703, 用于发送第二分组 P的响应分组。  The sixth sending unit 703 is configured to send a response packet of the second packet P.
实施例 8, 本发明还提供了一种任播服务实现的系统, 该系统包括: 第一任播路由器, 用于接收分组 P, 所述分组 P为任播请求数据包; 根据 所述分组 P的目的地址查找任播路由表选择任播服务器;将所述分组 P封装为 第一分组 P,所述第一分组 P的目的地址为所述任播服务器对应的任播路由器 的地址, 所述第一分组 P的有效载荷为所述分组 P; 发送所述第一分组 P; 第二任播路由器, 用于接收第一分组 P; 将所述第一分组 P解封装为分组 P, 也就是说将有效载荷恢复成分组 P; 根据所述分组 P的地址查找所述任播 服务器的单播地址;将所述分组 P的目的地址变换为所述任播服务器的单播地 址, 形成第二分组 P; 将所述第二分组 P发送至所述任播服务器。  Embodiment 8 further provides a system for implementing anycast service, the system comprising: a first anycast router, configured to receive a packet P, where the packet P is an anycast request data packet; according to the packet P The destination address of the anycast routing table is selected as the anycast server; the packet P is encapsulated into the first packet P, and the destination address of the first packet P is the address of the anycast router corresponding to the anycast server, The payload of the first packet P is the packet P; the first packet P is sent; the second anycast router is configured to receive the first packet P; and the first packet P is decapsulated into a packet P, that is Returning the payload to the group P; searching for the unicast address of the anycast server according to the address of the packet P; converting the destination address of the packet P to the unicast address of the anycast server, forming a second Packet P; transmitting the second packet P to the anycast server.
任播服务器, 用于接收所述的分组 P, 按照分组 P的内容提供相应的任播 服务。  Anycast server, configured to receive the packet P, and provide a corresponding anycast service according to the content of the packet P.
所述的第一任播路由器将所述第一分组 P的有效载荷为所述分组 P后,将 所述分组 P标记为隧道分组;所述隧道分组的表示方法为:对所述分组 P定义 新的头部信息或将所述分组 P的某一保留位位置作为标识来表示隧道分组 TP。  After the first anycast router uses the payload of the first packet P as the packet P, the packet P is marked as a tunnel packet; and the tunnel packet is represented by: defining the packet P The new header information or a certain reserved bit position of the packet P is used as an identifier to represent the tunnel packet TP.
所述的第一任播路由器执行封装时所述的任播服务器对应的任播路由器 为任播服务器的第一跳路由器。  The anycast router corresponding to the anycast server described in the first anycast router performs the encapsulation is the first hop router of the anycast server.
该系统可以进一步包括第三任播路由器, 用于接收第一分组 Ρ; 判断出所 述第一分组 Ρ的目的地址不为自身的任播地址,通过查找本地路由表将所述第 一分组 Ρ按照单播路由进行转发。  The system may further include a third anycast router, configured to receive the first packet, determine that the destination address of the first packet is not its own anycast address, and locate the first packet by searching a local routing table. Forward according to unicast routes.
该系统可以进一步包括第四任播服务器, 用于接收分组 Ρ, 所述分组 Ρ为 任播请求数据包;根据所述分组 Ρ的地址查找所述任播服务器的单播地址; 将 所述分组 Ρ的目的地址变换为所述任播服务器的单播地址, 形成第二分组 Ρ; 将所述第二分组 Ρ发送至所述任播服务器。 所述的任播服务器还可以进一步用于按照第二分组 P 的内容提供相应的 任播服务后,形成第二分组 P的响应分组,所述响应分组的源地址为任播服务 器的单播地址、 目的地址为发送分组 p的任播路由器的任播地址;发送第二分 组 P的响应分组;相应的所述的系统可以进一步包括第五任播路由器,用于接 收第二分组 P的响应分组;将所述第二分组 P的响应分组的源地址变换为发出 所述第二分组 p的任播服务器的任播地址, 形成第三分组 P; 发送所述第三分 组卩。 The system may further include a fourth anycast server, configured to receive a packet, the packet being an anycast request packet; searching for a unicast address of the anycast server according to the address of the packet; Converting the destination address to the unicast address of the anycast server to form a second packet Ρ; and transmitting the second packet to the anycast server. The anycast server may be further configured to form a response packet of the second packet P after the corresponding anycast service is provided according to the content of the second packet P, where the source address of the response packet is a unicast address of the anycast server And the destination address is an anycast address of the anycast router that sends the packet p; the response packet of the second packet P is sent; the corresponding system may further include a fifth anycast router, configured to receive the response packet of the second packet P Transmitting a source address of the response packet of the second packet P to an anycast address of an anycast server that issues the second packet p, forming a third packet P; and transmitting the third packet 卩.
以上技术方案可以看出, 由于本发明采用了通过执行封装、 地址变换、 解 封装等技术, 使得任播分组 P具备了单播的优点, 同时实现了在所有 AS中高 效率的实现最优组成员选择。 并且通过封装过程一般只要每个 AR掌握其 V 跳自治域内的 AS信息; 可以将 V控制在 4或 5内, 这样每个 AR都知道一定 的信息, 那么所有的 AR连接起来就能够提供全球任播服务。 并且通过控制这 种记录信息, 同时就从一定程度上降低了 ART路由表信息的存储容量, 从而 提高的任播组数量的可扩展性;  As can be seen from the foregoing technical solutions, the present invention adopts the techniques of performing encapsulation, address translation, decapsulation, etc., so that anycast packet P has the advantage of unicast, and at the same time realizes efficient implementation of optimal group members in all ASs. select. And through the encapsulation process, generally, each AR grasps the AS information in its V-hop autonomous domain; V can be controlled within 4 or 5, so that each AR knows certain information, then all ARs can be connected globally. Broadcast service. And by controlling the record information, the storage capacity of the ART routing table information is reduced to a certain extent, thereby improving the scalability of the number of anycast groups;
进一步的, 由于目前阶段很难在 Internet的实际环境中大规模的部署本发 明的网络环境 , 因此申请人通过仿真试验验证了本发明的效率。  Further, since it is difficult to deploy the network environment of the present invention on a large scale in the actual environment of the Internet at present, the applicant verified the efficiency of the present invention through simulation experiments.
仿真的拓朴取自 University of Oregon的 Route Overview项目所获得的真实 Internet拓朴结构. 该项目收集全球 50多个地区的主干路由器的 BGP表并每天 进行更新, 因此反映了最真实的 Internet拓朴结构. 结合 IANA对自治域的划分, 从中提取出 5939个自治域连接信息用于仿真。  The simulation topology is taken from the real Internet topology obtained from the Route Overview project at the University of Oregon. The project collects BGP tables from the backbone routers in more than 50 regions around the world and updates them daily, thus reflecting the most realistic Internet topology. Structure. Combined with IANA's division of the autonomous domain, 5939 autonomous domain connection information is extracted for simulation.
首先从自治域邻接关系中求得任意两个自治域的最短路经. 这里不考虑 自治域之间的路由策略, 如成本和距离等,仅以最少跳数作为路由选择的依据. 得到的最短路经平均值是 4.03,其中最长路径为 9,这符合 Internet的小世界性 质. 然后为整个网络分派 100个 anycast组,组成员数量在 [ 1, 1000]间均匀分布 . 对每一个 anycast组,在网络中随机的选择 HAS并假设其它组成员也是随机分 布的。  First, the shortest path of any two autonomous domains is obtained from the autonomous domain adjacency. The routing strategy between the autonomous domains, such as cost and distance, is not considered. Only the minimum number of hops is used as the basis for routing. The shortest result is obtained. The average path is 4.03, and the longest path is 9, which is consistent with the small world nature of the Internet. Then assign 100 anycast groups to the entire network, the number of group members is evenly distributed among [1, 1000]. For each anycast group , randomly select HAS in the network and assume that other group members are also randomly distributed.
本发明实施例并不保证所有的 anycast请求都被路由到全局最优的 AS. 定 义 P为 AC到 AS的实际路径长度, P*为 AC到 anycast所有组成员的最短路径 长度, 定义最优服务发现效率(1 =?/?* . 参见图 11说明随着网络中 AR数量的 增多最优服务的发现效率不断提高. 当 AR 占 IR 总数的 45%及其以上时 anycast分组基本上可以找到最优路径. 与 GIA相比, 由于对部分 anycast分组, 不管请求者周围是否有该组的成员, GIA直接将 anycast分组路由到家乡域. 因 此 GIA的效率成直线, 取决于前面说的不常用 anycast组地址的访问频度. 可 见在大多数情况下本发明的效率都得到了明显改善。 The embodiment of the present invention does not guarantee that all anycast requests are routed to the globally optimal AS. The definition of P is the actual path length of the AC to the AS, and P* is the shortest path length of all group members of the AC to anycast, and the optimal service is defined. Discover efficiency (1 =?/?* . See Figure 11 for the number of ARs in the network The discovery efficiency of increasing the optimal service is increasing. When the AR accounts for 45% of the total number of IRs and above, the anycast packet can basically find the optimal path. Compared with the GIA, because of the partial anycast grouping, regardless of whether there is a request around the requester The members of the group, GIA directly route the anycast packet to the home domain. Therefore, the efficiency of GIA is straight, depending on the frequency of access of the anycast group address that is not commonly used. It can be seen that the efficiency of the invention is obvious in most cases. improve.
以上对本发明所提供的任播服务的实现方法、 任播路由器进行了详细介 例的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变 之处, 综上所述, 本说明书内容不应理解为对本发明的限制。  The foregoing detailed description of the implementation method of the anycast service provided by the present invention and the anycast router is only used to help understand the method and core idea of the present invention. Meanwhile, for those skilled in the art, according to the present invention, The scope of the present invention is not limited by the scope of the present invention.

Claims

OP080369 WO 2009/074077 PCT/CN2008/073242 - 17- 权 利 要 求 OP080369 WO 2009/074077 PCT/CN2008/073242 - 17- Claims
1、 一种任播服务实现方法, 其特征在于, 包括:  A method for implementing anycast service, characterized in that it comprises:
接收分组, 所述分组为任播请求数据包;  Receiving a packet, the packet being an anycast request packet;
根据所述分组的目的地址查询对应的任播服务器的单播地址;  Querying a unicast address of the corresponding anycast server according to the destination address of the packet;
将所述分组的目的地址转换为所述任播服务器的单播地址得到第二分组; 将所述第二分组发送至所述任播服务器。  Converting the destination address of the packet to a unicast address of the anycast server to obtain a second packet; transmitting the second packet to the anycast server.
2、 如权 1所述的任播服务实现方法, 其特征在于, 所述根据所述分组的 目的地址查询对应的任播服务器的单播地址的步骤之前包括:  2. The method for implementing the anycast service according to claim 1, wherein the step of querying the unicast address of the corresponding anycast server according to the destination address of the packet comprises:
判断所述分组不是隧道分组。  It is determined that the packet is not a tunnel packet.
3、 根据权利要求 2所述的任播服务实现方法, 其特征在于, 所述隧道分 组的表示方法为:  The method for implementing anycast service according to claim 2, wherein the representation method of the tunnel group is:
对所述分组定义新的头部信息用于表示隧道分组,或将所述分组的某一保 留位位置作为标识用于表示隧道分组;  Defining new header information for the packet to represent a tunnel packet, or using a reserved bit position of the packet as an identifier for representing a tunnel packet;
所述判断所述分组不是隧道分组具体包括:当所述分组中不含有所述标识 时, 则判断所述分组不是隧道分组。  The determining that the packet is not a tunnel packet specifically includes: when the packet does not include the identifier, determining that the packet is not a tunnel packet.
4、 一种任播路由器, 其特征在于, 包括:  4. An anycast router, characterized in that:
第一接收单元, 用于接收分组, 所述分组为任播请求数据包;  a first receiving unit, configured to receive a packet, where the packet is an anycast request data packet;
第一处理单元,用于根据所述分组的地址查找对应的任播服务器的单播地 址; 将所述分组的目的地址转换为所述任播服务器的单播地址得到第二分组; 第一发送单元 , 用于将所述第二分组发送至所述任播服务器。  a first processing unit, configured to search for a unicast address of the corresponding anycast server according to the address of the packet; convert the destination address of the packet to a unicast address of the anycast server to obtain a second packet; a unit, configured to send the second packet to the anycast server.
5、 根据权利要求 4所述的任播服务器, 其特征在于, 所述任播服务器还 包括:  The anycast server according to claim 4, wherein the anycast server further comprises:
第一判断单元,用于在查询任播服务器的单播地址之前,判断所述分组不 是隧道分组。  The first determining unit is configured to determine that the packet is not a tunnel packet before querying a unicast address of the anycast server.
6、 根据权利要求 5所述的任播服务器, 其特征在于, 所述隧道分组的表 示方法为:  The anycast server according to claim 5, wherein the method for expressing the tunnel packet is:
对所述分组定义新的头部信息用于表示隧道分组,或将所述分组的某一保 OP080369 Defining new header information for the packet to represent a tunnel packet, or to protect the packet OP080369
WO 2009/074077 PCT/CN2008/073242  WO 2009/074077 PCT/CN2008/073242
- 18- 留位位置作为标识用于表示隧道分组。 - 18- The location is used as an identifier to indicate a tunnel grouping.
7、 一种发送任播请求的方法, 其特征在于, 包括:  7. A method for sending an anycast request, comprising:
接收分组, 所述分组为任播请求数据包;  Receiving a packet, the packet being an anycast request packet;
根据所述分组的目的地址查找任播路由表选择任播服务器;  Selecting an anycast server according to the destination address of the packet to select an anycast routing table;
将所述分组封装为第一分组,所述第一分组的目的地址为所述任播服务器 对应的任播路由器的地址, 所述第一分组的有效载荷为所述分组;  Decapsulating the packet into a first packet, where a destination address of the first packet is an address of an anycast router corresponding to the anycast server, and a payload of the first packet is the packet;
发送所述第一分组。  Sending the first packet.
8、 根据权利要求 7所述的发送任播请求的方法, 其特征在于, 接收所述 分组后, 进一步包括:  The method of sending an anycast request according to claim 7, wherein after receiving the packet, the method further includes:
判断所述分组不是隧道分组;  Determining that the packet is not a tunnel packet;
所述隧道分组的表示方法为:  The representation method of the tunnel grouping is:
对所述分组定义新的头部信息用于表示隧道分组,或将所述分组的某一保 留位位置作为标识用于表示隧道分组;  Defining new header information for the packet to represent a tunnel packet, or using a reserved bit position of the packet as an identifier for representing a tunnel packet;
所述判断所述分组不是隧道分组具体包括:当所述分组中不含有所述标识 时, 则判断所述分组不是隧道分组。  The determining that the packet is not a tunnel packet specifically includes: when the packet does not include the identifier, determining that the packet is not a tunnel packet.
9、 根据权利要求 7所述的发送任播请求的方法, 其特征在于, 所述根据 所述分组的目的地址查找任播路由表选择任播服务器的步骤包括:  The method for transmitting an anycast request according to claim 7, wherein the step of selecting an anycast server according to the destination address of the packet to select an anycast routing table comprises:
根据所述分组的目的地址查找任播路由表选择离自己最近的任播服务器。 Finding the anycast routing table according to the destination address of the packet selects the anycast server closest to itself.
10、根据权利要求 7至 9中任一项所述的发送任播请求的方法,其特征在 于, The method of transmitting an anycast request according to any one of claims 7 to 9, characterized in that
所述的任播服务器对应的任播路由器为任播服务器的第一跳路由器。 The anycast router corresponding to the anycast server is the first hop router of the anycast server.
11、 一种任播路由器, 其特征在于, 包括: 11. An anycast router, comprising:
第二接收单元, 用于分组, 所述分组为任播请求数据包;  a second receiving unit, configured to group, where the packet is an anycast request data packet;
第二处理单元,用于根据所述分组的目的地址查找任播路由表选择任播服 务器; 将所述分组封装为第一分组,所述第一分组的目的地址为所述任播服务 器对应的任播路由器的地址, 所述第一分组的有效载荷为所述分组;  a second processing unit, configured to select an anycast server according to the destination address of the packet, and to encapsulate the packet into a first packet, where a destination address of the first packet is corresponding to the anycast server An address of the anycast router, where the payload of the first packet is the packet;
第二发送单元, 用于发送所述第一分组。 OP080369 a second sending unit, configured to send the first packet. OP080369
WO 2009/074077 PCT/CN2008/073242  WO 2009/074077 PCT/CN2008/073242
- 19-- 19-
12、根据权利要求 11所述的任播路由器, 其特征在于, 接收所述分组后, 所述的第二处理单元进一步判断所述分组不是隧道分组; The anycast router according to claim 11, wherein after receiving the packet, the second processing unit further determines that the packet is not a tunnel packet;
所述隧道分组的表示方法为:  The representation method of the tunnel grouping is:
对所述分组定义新的头部信息用于表示隧道分组,或将所述分组的某一保 留位位置作为标识用于表示隧道分组;  Defining new header information for the packet to represent a tunnel packet, or using a reserved bit position of the packet as an identifier for representing a tunnel packet;
所述判断所述分组不是隧道分组具体包括:当所述分组中不含有所述标识 时, 则判断所述分组不是隧道分组。  The determining that the packet is not a tunnel packet specifically includes: when the packet does not include the identifier, determining that the packet is not a tunnel packet.
13、 根据权利要求 11所述的任播路由器, 其特征在于,  13. The anycast router of claim 11 wherein:
所述的第二处理单元根据所述分组的目的地址查找任播路由表选择任播 服务器具体为:  The second processing unit searches for anycast routing table according to the destination address of the packet, and selects anycast server as follows:
根据所述分组的目的地址查找任播路由表选择离自己最近的任播服务器。 Finding the anycast routing table according to the destination address of the packet selects the anycast server closest to itself.
14、 根据权利要求 11至 13中任一项所述的任播路由器, 其特征在于, 所述的第二处理单元选择的任播路由器为任播服务器的第一跳路由器。The anycast router according to any one of claims 11 to 13, wherein the anycast router selected by the second processing unit is a first hop router of the anycast server.
15、 一种处理任播请求的方法, 其特征在于, 包括: 15. A method of processing an anycast request, comprising:
接收第一分组,将所述第一分组解封装为分组,所述的分组为所述的第一 分组的有效载荷;  Receiving a first packet, decapsulating the first packet into a packet, the packet being a payload of the first packet;
根据所述分组的目的地址查找对应的任播服务器的单播地址;  Finding a unicast address of the corresponding anycast server according to the destination address of the packet;
将所述分组的目的地址转换为所述任播服务器的单播地址, 得到第二分 组;  Converting a destination address of the packet to a unicast address of the anycast server, to obtain a second packet;
将所述第二分组发送至所述任播服务器。  Sending the second packet to the anycast server.
16、 一种任播路由器, 其特征在于, 该任播路由器包括:  16. An anycast router, characterized in that the anycast router comprises:
第三接收单元, 用于接收第一分组;  a third receiving unit, configured to receive the first packet;
第三处理单元,用于将所述第一分组解封装为分组,所述的分组为所述的 第一分组的有效载荷;根据所述分组的目的地址查找对应的任播服务器的单播 地址; 将所述分组的目的地址转换为所述任播服务器的单播地址,得到第二分 组;  a third processing unit, configured to decapsulate the first packet into a packet, where the packet is a payload of the first packet; and searching for a unicast address of the corresponding anycast server according to the destination address of the packet Translating the destination address of the packet into a unicast address of the anycast server to obtain a second packet;
第三发送单元 , 用于将所述第二分组发送至所述任播服务器。 OP080369 And a third sending unit, configured to send the second packet to the anycast server. OP080369
WO 2009/074077 PCT/CN2008/073242  WO 2009/074077 PCT/CN2008/073242
-20--20-
17、 一种处理任播请求的方法, 其特征在于, 包括: 17. A method of processing an anycast request, comprising:
接收第一分组;  Receiving the first packet;
判断出所述第一分组的目的地址不为自身的任播地址时,通过查找本地路 由表将所述第一分组按照单播路由进行转发。  When it is determined that the destination address of the first packet is not its own anycast address, the first packet is forwarded according to a unicast route by searching a local routing table.
18、 根据权利要求 17所述的处理任播请求的方法, 其特征在于, 所述查 找本地路由表将所述第一分组进行转发的步骤之前包括:  The method for processing an anycast request according to claim 17, wherein the step of searching the local routing table to forward the first packet comprises:
判断所述第一分组的源地址对应的任播服务器的任播地址不在本地任播 路由表。  The anycast address of the anycast server corresponding to the source address of the first packet is not in the local anycast routing table.
19、 一种任播路由器, 其特征在于, 包括:  19. An anycast router, comprising:
第四接收单元, 用于接收第一分组;  a fourth receiving unit, configured to receive the first packet;
第四处理单元, 用于判断出所述第一分组的目的地址不为自身的任播地 址;  a fourth processing unit, configured to determine that the destination address of the first packet is not its own anycast address;
第四发送单元,用于通过查找本地路由表将所述第一分组按照单播路由进 行转发。  And a fourth sending unit, configured to forward the first packet according to a unicast route by searching a local routing table.
20、 根据权利要求 19所述的任播路由器, 其特征在于, 所述任播路由器 还包括:  The anycast router according to claim 19, wherein the anycast router further comprises:
第二判断单元, 用于在所述查找本地路由表将所述第一分组进行转发之 前,判断所述第一分组的源地址对应的任播服务器的任播地址不在本地任播路 由表。  The second determining unit is configured to determine that the anycast address of the anycast server corresponding to the source address of the first packet is not in the local anycast routing table before the searching the local routing table to forward the first packet.
21、 一种处理响应任播请求的方法, 其特征在于, 包括:  21. A method of processing a response to anycast request, comprising:
接收第二分组的响应分组;  Receiving a response packet of the second packet;
将所述第二分组的响应分组的源地址转换为发出所述第二分组的任播服 务器的任播地址, 得到第三分组;  Converting a source address of the response packet of the second packet to an anycast address of an anycast server that sends the second packet, to obtain a third packet;
发送所述第三分组。  Sending the third packet.
22、 如权利要求 21所述的方法, 其特征在于, 所述将所述第二分组的响 应分组的源地址转换为发出所述第二分组的任播服务器的任播地址的步骤之 前包括: OP080369 The method according to claim 21, wherein the step of converting the source address of the response packet of the second packet to the anycast address of the anycast server that sends the second packet comprises: OP080369
WO 2009/074077 PCT/CN2008/073242  WO 2009/074077 PCT/CN2008/073242
-21 - 判断出所述第一分组的目的地址不为自身的任播地址,判断出所述第一分 组的源地址对应的任播服务器的任播地址在本地任播路由表。 - 21 - determining that the destination address of the first packet is not its own anycast address, and determining that the anycast address of the anycast server corresponding to the source address of the first packet is in the local anycast routing table.
23、 一种任播路由器, 其特征在于, 包括:  23. An anycast router, comprising:
第五接收单元, 用于接收第二分组的响应分组;  a fifth receiving unit, configured to receive a response packet of the second packet;
第五处理单元,用于将所述第二分组的源地址转换为发出所述第二分组的 任播服务器的任播地址, 得到第三分组;  a fifth processing unit, configured to convert a source address of the second packet to an anycast address of an anycast server that sends the second packet, to obtain a third packet;
第五发送单元, 用于发送所述第三分组。  a fifth sending unit, configured to send the third packet.
24、 根据权利要求 23所述的任播路由器, 其特征在于,  24. The anycast router of claim 23, wherein:
所述的第五处理单元在得到第三分组之前,判断出所述第一分组的目的地 址不为自身的任播地址,判断出所述第一分组的源地址对应的任播服务器的任 播地址在本地任播路由表。  The fifth processing unit determines that the destination address of the first packet is not its own anycast address, and determines anycast of the anycast server corresponding to the source address of the first packet. The address is in the local anycast routing table.
25、 一种处理响应任播请求的方法, 其特征在于, 包括:  25. A method of processing a response to anycast request, comprising:
接收第二分组;  Receiving a second packet;
处理第二分组后,形成第二分组的响应分组,所述响应分组的源地址为任 播服务器的单播地址、 目的地址为发送分组的任播路由器的任播地址;  After processing the second packet, forming a response packet of the second packet, where the source address of the response packet is a unicast address of the anycast server, and the destination address is an anycast address of the anycast router that sends the packet;
发送第二分组的响应分组。  Send a response packet of the second packet.
26、 一种任播服务器, 其特征在于, 包括:  26. An anycast server, comprising:
第六接收单元, 用于接收第二分组;  a sixth receiving unit, configured to receive the second packet;
第六处理单元, 用于处理第二分组后, 得到第二分组的响应分组, 所述响 应分组的源地址为任播服务器的单播地址、目的地址为发送分组的任播路由器 的任播地址;  The sixth processing unit is configured to: after processing the second packet, obtain a response packet of the second packet, where the source address of the response packet is a unicast address of the anycast server, and the destination address is an anycast address of the anycast router that sends the packet ;
第六发送单元, 用于发送第二分组的响应分组。  And a sixth sending unit, configured to send a response packet of the second packet.
27、 一种任播服务实现的系统, 其特征在于, 包括:  27. A system for implementing anycast service, characterized in that it comprises:
第一任播路由器, 用于接收分组, 所述分组为任播请求数据包; 根据所述 分组的目的地址查找任播路由表选择任播服务器; 将所述分组封装为第一分 组, 所述第一分组的目的地址为所述任播服务器对应的任播路由器的地址, 所 述第一分组的有效载荷为所述分组; 发送所述第一分组; OP080369 a first anycast router, configured to receive a packet, where the packet is an anycast request data packet; searching an anycast routing table according to a destination address of the packet, selecting an anycast server; encapsulating the packet into a first packet, The destination address of the first packet is an address of an anycast router corresponding to the anycast server, the payload of the first packet is the packet, and the first packet is sent; OP080369
WO 2009/074077 PCT/CN2008/073242  WO 2009/074077 PCT/CN2008/073242
-22- 第二任播路由器, 用于接收第一分组; 将所述第一分组解封装为分组; 根 据所述分组的地址查找对应的任播服务器的单播地址;将所述分组的目的地址 转换为所述任播服务器的单播地址,得到第二分组; 将所述第二分组发送至所 述任播服务器; a second anycast router, configured to receive the first packet, decapsulate the first packet into a packet, and search for a unicast address of the corresponding anycast server according to the address of the packet; Converting the address to the unicast address of the anycast server to obtain a second packet; sending the second packet to the anycast server;
任播服务器,用于接收所述的第二分组,按照所述的第二分组的内容提供 相应的任播服务。  Anycast server, configured to receive the second packet, and provide a corresponding anycast service according to the content of the second packet.
28、 根据权利要求 27所述的任播服务实现的系统, 其特征在于, 所述的 第一任播路由器将所述第一分组的有效载荷为所述分组后 ,将所述分组标记为 隧道分组;  The anycast service implementation system according to claim 27, wherein the first anycast router marks the packet as a tunnel after the payload of the first packet is the packet Grouping
所述隧道分组的表示方法为:  The representation method of the tunnel grouping is:
对所述分组定义新的头部信息用于表示隧道分组,或将所述分组的某一保 留位位置作为标识用于表示隧道分组。  New header information is defined for the packet to represent the tunnel packet, or a reserved bit position of the packet is used as an identifier for representing the tunnel packet.
29、 根据权利要求 27所述的任播服务实现的系统, 其特征在于, 所述的第一任播路由器执行封装时所述的任播服务器对应的任播路由器 为任播服务器的第一跳路由器。  The anycast service implementation system according to claim 27, wherein the first anycast router performs the first hop of the anycast server corresponding to the anycast server router.
30、 根据权利要求 27所述的任播服务实现的系统, 其特征在于, 所述的 系统还包括:  30. The system of any of the preceding claims, wherein the system further comprises:
第三任播路由器,用于接收第一分组; 判断出所述第一分组的目的地址不 为自身的任播地址,通过查找本地路由表将所述第一分组按照单播路由进行转 发。  The third anycast router is configured to receive the first packet; determine that the destination address of the first packet is not its own anycast address, and forward the first packet according to the unicast route by searching the local routing table.
31、 根据权利要求 27所述的任播服务实现的系统, 其特征在于, 所述的 系统还包括:  The system of any of the preceding claims, wherein the system further comprises:
第四任播服务器, 用于接收分组, 所述分组为任播请求数据包; 根据所述 分组的地址查找对应的任播服务器的单播地址;将所述分组的目的地址转换为 所述任播服务器的单播地址,得到第二分组; 将所述第二分组发送至所述任播 服务器。  a fourth anycast server, configured to receive a packet, where the packet is an anycast request data packet; searching for a unicast address of the corresponding anycast server according to the address of the packet; converting the destination address of the packet to the Broadcasting the unicast address of the server to obtain a second packet; sending the second packet to the anycast server.
32、 根据权利要求 27所述的任播服务实现的系统, 其特征在于, 所述的任播服务器还用于, 按照第二分组的内容提供相应的任播服务后, OP080369 The anycast service implementation system of claim 27, wherein the anycast server is further configured to: after providing the corresponding anycast service according to the content of the second group, OP080369
WO 2009/074077 PCT/CN2008/073242  WO 2009/074077 PCT/CN2008/073242
-23 - 得到第二分组的响应分组, 所述响应分组的源地址为任播服务器的单播地址、 目的地址为发送分组的任播路由器的任播地址; 发送第二分组的响应分组; 所述的系统还包括: -23 - obtaining a response packet of the second packet, where the source address of the response packet is a unicast address of the anycast server, the destination address is an anycast address of the anycast router that sends the packet, and the response packet of the second packet is sent; The system described also includes:
第五任播路由器, 用于接收第二分组的响应分组; 将所述第二分组的响应 分组的源地址转换为发出所述第二分组的任播服务器的任播地址,得到第三分 组; 发送所述第三分组。  a fifth anycast router, configured to receive a response packet of the second packet; converting a source address of the response packet of the second packet to an anycast address of an anycast server that sends the second packet, to obtain a third packet; Sending the third packet.
PCT/CN2008/073242 2007-11-30 2008-11-28 Realizing method of anycast service, method for sending anycast request, anycast router WO2009074077A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNA2007101954981A CN101174970A (en) 2007-11-30 2007-11-30 Anycast service implementing method, method for transmitting anycast request, anycast router
CN200710195498.1 2007-11-30

Publications (1)

Publication Number Publication Date
WO2009074077A1 true WO2009074077A1 (en) 2009-06-18

Family

ID=39423246

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/073242 WO2009074077A1 (en) 2007-11-30 2008-11-28 Realizing method of anycast service, method for sending anycast request, anycast router

Country Status (2)

Country Link
CN (1) CN101174970A (en)
WO (1) WO2009074077A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174970A (en) * 2007-11-30 2008-05-07 华为技术有限公司 Anycast service implementing method, method for transmitting anycast request, anycast router
CN101902693B (en) * 2010-07-21 2013-07-31 中国科学院计算技术研究所 Method and system for performing anycast in internet protocol (IP) network capable of supporting node movement
US9148486B2 (en) * 2011-11-22 2015-09-29 Cisco Technology, Inc. Content distribution through blind-cache instantiation
WO2014205786A1 (en) * 2013-06-28 2014-12-31 华为技术有限公司 Anycast service registration and implementation method and apparatus, and switching device and system
US10454758B2 (en) * 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
CN106507428B (en) * 2016-10-19 2019-05-07 常熟理工学院 A kind of data communications method of future mobile network
CN106453090B (en) * 2016-10-19 2019-01-11 常熟理工学院 A kind of data-centered communication means
CN111447304B (en) * 2020-06-17 2020-09-11 中国人民解放军国防科技大学 Anycast node IP address enumeration method and system for anycast recursive domain name system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1491507A (en) * 2001-02-19 2004-04-21 ����ɭ�绰�ɷ����޹�˾ Method and system for multiple hosts anycast routing
CN1501659A (en) * 2002-11-13 2004-06-02 ��ʽ���綫֥ Communication device, edge router device, server device, communication system and communication method
CN1947399A (en) * 2003-12-29 2007-04-11 英特尔公司 Anycast addressing for internet protocol version six
CN101174970A (en) * 2007-11-30 2008-05-07 华为技术有限公司 Anycast service implementing method, method for transmitting anycast request, anycast router

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1491507A (en) * 2001-02-19 2004-04-21 ����ɭ�绰�ɷ����޹�˾ Method and system for multiple hosts anycast routing
CN1501659A (en) * 2002-11-13 2004-06-02 ��ʽ���綫֥ Communication device, edge router device, server device, communication system and communication method
CN1947399A (en) * 2003-12-29 2007-04-11 英特尔公司 Anycast addressing for internet protocol version six
CN101174970A (en) * 2007-11-30 2008-05-07 华为技术有限公司 Anycast service implementing method, method for transmitting anycast request, anycast router

Also Published As

Publication number Publication date
CN101174970A (en) 2008-05-07

Similar Documents

Publication Publication Date Title
US7784055B2 (en) Method and apparatus for routing data to a load balanced server using MPLS packet labels
US7047315B1 (en) Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states
US7512702B1 (en) Method and apparatus providing highly scalable server load balancing
US7830896B2 (en) Server load balancing using IP option field approach to identify route to selected server
US9240944B2 (en) Overlay services in communication networks
EP2705645B1 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
WO2009074077A1 (en) Realizing method of anycast service, method for sending anycast request, anycast router
US8830857B2 (en) Name-to-address mapping system, data transmission method and name-to-address mapping maintenance method
US10164910B2 (en) Method and apparatus for an information-centric MAC layer
WO2009000200A1 (en) Method for advertising route message, method, system and device for routing packets
JP2014511089A (en) Private address and public address mapping
WO2011029343A1 (en) Name-address mapping system and data transmission method of locator and identifier separation protocol (lisp) network
WO2010108431A1 (en) Method for realizing ipv6 host visting ipv4 host, method for obtaining ipv6 address prefix and translation device
WO2011124132A1 (en) Data communications system and method
WO2009036678A1 (en) Method, device and network system for message forwarding
JP4703689B2 (en) Network virtualization system and program
WO2012006893A1 (en) Ethernet multicast method and device
WO2007041926A1 (en) A method and network appratus for processing the bgp route’s next hop change
WO2011131088A1 (en) Data message processing method, ingress tunnel router and system
WO2011035528A1 (en) Method, system and relay server for network address translation (nat) traversal by way of relay
WO2011131084A1 (en) Data communication system and method
JP2006197591A (en) Apparatus and method for transferring mpls multicast packet via ethernet
JP2014150364A (en) Address generation device
WO2013023465A1 (en) Interconnection and intercommunication method for identity location separated network and traditional network, ilr and asr
WO2009121265A1 (en) A method and equipment for implementing traffic engineering in a multi-homing and multi-address space network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08859583

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08859583

Country of ref document: EP

Kind code of ref document: A1