WO2012048615A1 - Method and system for selecting relay nodes, and relay control node - Google Patents

Method and system for selecting relay nodes, and relay control node Download PDF

Info

Publication number
WO2012048615A1
WO2012048615A1 PCT/CN2011/080053 CN2011080053W WO2012048615A1 WO 2012048615 A1 WO2012048615 A1 WO 2012048615A1 CN 2011080053 W CN2011080053 W CN 2011080053W WO 2012048615 A1 WO2012048615 A1 WO 2012048615A1
Authority
WO
WIPO (PCT)
Prior art keywords
relay
node
cost
peer
relay node
Prior art date
Application number
PCT/CN2011/080053
Other languages
French (fr)
Chinese (zh)
Inventor
李漓春
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012048615A1 publication Critical patent/WO2012048615A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Definitions

  • the present invention relates to a relay technology in a network, and in particular, to a method, system, and relay control node for selecting a relay node. Background technique
  • IP layer transmission paths including: Network Address Translation (NAT) devices or firewall devices can block peer nodes.
  • NAT Network Address Translation
  • the two parties establish a direct connection path for communication; because the Internet routing policy cannot consider the quality of service requirements of all communication parties, the quality of the direct connection path between the two peer nodes cannot meet the communication requirements; due to the huge Internet, the IP routing pair links
  • the interrupt response is sluggish, causing a short-term interruption of the direct connection path between the two peer nodes, affecting communication; due to the defect of the routing protocol, some IP routing protocols cannot reflect some link congestion, resulting in the relationship between the two peer nodes.
  • the direct connection path will have long-term congestion; wait.
  • the relay technology refers to a technology in which a relay node performs packet forwarding by adding one or more relay nodes to the IP packet delivery path.
  • the relay can implement the NAT/firewall traversal function to help the peer nodes establish a direct connection; the relay can compensate for the lack of IP layer routing; the relay can bypass the broken and congested links.
  • the network topology information on which the relay node is selected may be from the measurement, the AS topology relationship extracted from the Border Gateway Protocol (BGP) routing table, and the network topology information server.
  • BGP Border Gateway Protocol
  • the measurement overhead is large, and the topology information included in the BGP routing table is inaccurate and incomplete, and the network topology information server is used by the network.
  • the network topology information on the network topology information server is maintained by the network operator, and the network topology information server can provide rich and accurate topology information for the application to optimize performance.
  • ATO Application Layer Traffic Optimization
  • IETF International Organization for Standardization Internet Engineering Task Force
  • ITU-T ITU Telecommunication Standardization Sector
  • DSN Distributed Service Network
  • the existing scheme for using the network topology information server for relay node selection is the ALTO server proposed by the International Organization for Standardization (IETF) for the relay selection scheme.
  • the network structure of the relay node selection using the network topology information server is as shown in FIG. 1.
  • the peer node 1 is connected to the network topology information server 1
  • the peer node 2 is connected to the network topology information server 2
  • the method for using the network topology information server to perform relay node selection is as shown in FIG. 2, and the method includes the following steps:
  • Step 101 The peer node 1 requests the network topology information server 1 to request the relay node list, and sends the use relay notification to the opposite node 2;
  • Step 102 After receiving the relay notification, the peer node 2 requests the network topology information server 2 to request the relay node list.
  • Step 103 The network topology information server 2 sends its own relay node information to the network topology information server 1;
  • Step 104 The network topology information server 1 crosses the relay node of the network topology information server 2 with its own relay node according to the relay node information sent by the network topology information server 2, and obtains a relay node list, and Returning to the peer node 1 and the network topology information server 2;
  • Step 105 The network topology information server 2 returns the relay node list to the peer node
  • Step 106 The peer node 1 and the peer node 2 respectively measure the quality of service of the relay node according to the relay node list.
  • Step 107 The peer node 2 sends the measurement result of the quality of the relay node to the peer node 1;
  • Step 108 The opposite end node 1 selects an optimal relay node according to the measurement result of the service quality of the relay node of itself and the opposite end node 2.
  • the method includes the following steps:
  • Step 201 The peer node 1 sends a relay node list sorting request to the network topology information server 1, and sends a use relay notification to the peer node 2;
  • Step 202 After receiving the relay node list sorting request, the network topology information server performs sorting of the relay node list, and returns the sorted relay node list to the peer node 1;
  • Step 203 After receiving the relay notification, the peer node 2 sends a relay node list sorting request to the network topology information server 2;
  • Step 204 After receiving the relay node list sorting request, the network topology information server performs the sorting of the relay node list, and returns the sorted relay node list to the peer node 2;
  • Step 205 The peer node 1 and the peer node 2 respectively measure the service quality of the relay node according to the sorted relay node list.
  • Step 206 The peer node 2 sends the measurement result of the quality of the relay node to the peer node 1;
  • Step 207 The opposite end node 1 selects an optimal relay node according to the measurement result of the service quality of the relay node of the own node and the opposite end node 2.
  • the main object of the present invention is to provide a method, a system, and a relay control node for selecting a relay node, and reasonably implementing the selection of the relay node, the number of messages is small, and the method is simple.
  • the invention provides a method for selecting a relay node, and the method includes:
  • the relay control node acquires the network mapping and the cost mapping from the at least one network topology information server, and the relay control node generates or updates the relay node list according to the obtained relay node information; the relay control node receives the first pair each time After the relay node of the end node requests, the relay node list is processed according to the relay node request, the network map, and the cost map, and the processed relay node list is returned to the first a pair of end nodes;
  • the first peer node selects relay node relay data from the received relay node list.
  • the relay node request includes first peer node information and second peer node information;
  • the pair of end node information and the second pair of node information include: a node IP address of the pair of end nodes and the second peer node, and/or a node identifier, and/or a user identifier;
  • the first peer node is a peer node that initiates a relay transmission
  • the second peer node is a destination peer node that sends data to the first peer node.
  • the relay node information includes: a node address of each relay node, and may further include a load condition, and/or a quality of service measurement result.
  • the processing, by the relay node request, the network mapping, and the cost mapping, processing the relay node list according to: a node IP according to the first peer node and the second peer node
  • the IP prefix of the address is searched for a mapping of a Provider-defined Network Location Identifier ( PID) in the network mapping.
  • PID Provider-defined Network Location Identifier
  • the relay control node obtains a PID set of all the relay nodes according to the network mapping: Relay PID1 ⁇ Relay PIDn, and calculates a relay path cost relayed from each relay PID through a cost map, and processes the relay node list according to the relay path cost.
  • the processing is scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score; when sorting at the cost of the relay path, The lower the cost, the higher the ranking; when the cost of the relay path is used as the filtering condition, the relay node whose cost exceeds the threshold is screened out from the relay node list.
  • the selecting the relay node is: selecting the relay node with the highest score of the score, and/or selecting any one of the relay node lists after filtering, and/or selecting the sorting rank in the most The previous relay node.
  • the present invention provides a relay node selection system, the system includes: a relay control node, at least one network topology information server, a relay node, and a first pair of nodes;
  • a relay control node configured to acquire a network mapping and a cost mapping from at least one network topology information server, and generate or update a relay node list according to the obtained relay node information; in each receiving the first peer node After the node request, the relay node list is processed according to the relay node request, the network mapping, and the cost mapping, and the processed relay node list is returned to the first peer node;
  • a network topology information server configured to provide a network mapping and a cost mapping to the relay control node; and a relay node, configured to transit the data sent by the first peer node;
  • a pair of end nodes configured to send a relay node request to the relay control node, and select relay node relay data from the received relay node list.
  • the relay control node includes: a network topology information client unit, a relay processing unit, and a relay node information management unit;
  • a network topology information client unit configured to obtain a network mapping and a cost mapping from at least one network topology information server
  • a relay node information management unit configured to generate or update a relay node according to the relay node information List
  • a relay processing unit configured to process the relay node list according to the relay node request, the network mapping, and the cost mapping after each receiving a relay node request of the first peer node And returning the processed relay node list to the first peer node.
  • the relay processing unit is specifically configured to search for a mapping of the corresponding PID in the network mapping according to the IP prefix of the node IP address of the first peer node and the second peer node, and when found, according to The network map obtains a PID set of all relay nodes: a relay PID1 ⁇ a relay PIDn, and calculates a relay path cost relayed from each relay PID through a cost map, and a relay node list according to the relay path cost Process it.
  • the relay processing unit is specifically configured to score and/or sort and/or filter the relay node list; wherein, when the cost of the relay path is scored, the cost is smaller. Higher; when sorting at the cost of the relay path, the lower the cost, the higher the ranking; when the cost of the relay path is used as the filtering condition, the relay with the cost exceeding the threshold is filtered out from the list of relay nodes. node.
  • the first peer node is specifically configured to select a relay node with the highest score, and/or select any one of the filtered relay node lists, and/or select the sorting.
  • the top relay node is specifically configured to select a relay node with the highest score, and/or select any one of the filtered relay node lists, and/or select the sorting.
  • the present invention provides a relay control node, where the relay control node includes: a network topology information client unit, a relay processing unit, and a relay node information management unit;
  • a network topology information client unit configured to obtain a network mapping and a cost mapping from at least one network topology information server
  • a relay node information management unit configured to generate or update a relay node list according to the obtained relay node information
  • a relay processing unit configured to: after each receiving a relay node request of the first peer node, according to the relay node request, the network mapping, and the cost mapping to the relay node column The table is processed, and the processed relay node list is returned to the first peer node.
  • the invention provides a method for selecting a relay node, and the method includes:
  • the relay control node acquires the network mapping and the cost mapping from the at least one network topology information server, and the relay control node generates or updates the relay node list according to the obtained relay node information; the relay control node receives the relay node each time After the request, the relay node list is processed according to the relay node request, the network mapping, and the cost mapping, and the processed relay node list is returned to the proxy node of the first peer node;
  • the proxy node of the first peer node selects a relay node from the relay node list returned by the relay control node, and returns to the first peer node;
  • the first peer node relays data through the relay node.
  • the processing, by the relay node request, the network mapping, and the cost mapping processing the relay node list, according to: a node IP according to the first peer node and the second peer node
  • the IP prefix of the address is searched for a mapping of the corresponding PID in the network mapping.
  • the relay control node obtains the PID set of all the relay nodes according to the network mapping: the relay PID1 ⁇ the relay PIDn, and the cost mapping
  • a relay path cost relayed from each relay PID is calculated, and the relay node list is processed according to the relay path cost.
  • the present invention provides a relay node selection system, the system comprising: a relay control node, at least one network topology information server, a relay node, a first pair of nodes, and a proxy node of the first pair of nodes; ,
  • a relay control node configured to acquire a network mapping and a cost mapping from the at least one network topology information server 82, and generate or update a relay node list according to the obtained relay node information; after each receiving the relay node request And processing, according to the relay node request, the network mapping, and the cost mapping, the relay node list, and returning the processed relay node list to the proxy node;
  • a network topology information server configured to provide a network mapping and a cost mapping to the relay control node;
  • a relay node configured to transit data sent by the first peer node;
  • a pair of end nodes configured to request to the proxy node to send data to the second peer node; and transfer data through the relay node;
  • a proxy node configured to send a relay node request to the relay control node according to the request of the first peer node; and select a relay node from the relay node list returned by the relay control node, and select the relay node information Return to the first peer node.
  • the invention provides a method, a system and a relay control node for selecting a relay node.
  • the relay control node obtains a network map and a cost map from at least one network topology information server, and obtains a network map according to the obtained Relay node information generates or updates a relay node list; after each receiving a relay node request of a pair of end nodes, according to the relay node request, the Network map, and the Cost ma pair
  • the relay node list is processed, and the processed relay node list is returned to the first peer node; the first peer node selects the relay node transit data from the received relay node list;
  • the selection of the relay node is reasonable, the number of messages is small, and the method is simple.
  • the peer node does not need to interact with the network topology information server, and the network topology information server is mitigated. burden.
  • FIG. 1 is a schematic diagram of a network structure for selecting a relay node by using a network topology information server in the prior art
  • FIG. 2 is a schematic flowchart of a method for selecting a relay node by using a network topology information server in the prior art
  • FIG. 3 is a schematic flowchart of another method for performing relay node selection by using a network topology information server in the prior art
  • FIG. 4 is a schematic flowchart of a method for implementing a relay node according to the present invention.
  • FIG. 5 is a schematic flowchart diagram of a specific implementation method of step 304 of the present invention
  • 6 is a schematic structural diagram of a system for implementing a relay node according to the present invention
  • FIG. 7 is a schematic flowchart of another method for selecting a relay node according to the present invention
  • FIG. 8 is a schematic structural diagram of another selection system for implementing a relay node according to the present invention. detailed description
  • the basic idea of the present invention is: the relay control node acquires a Network map and a Cost map from at least one network topology information server, and generates or updates a relay node list according to the obtained relay node information; After the relay node of the end node requests, the relay node list is processed according to the relay node request, the network ma and the cost map, and the processed relay node list is returned to the first pair. End node; the first peer node selects relay node relay data from the received relay node list.
  • the present invention implements a method for selecting a relay node. As shown in FIG. 4, the method includes the following steps:
  • Step 301 The relay control node acquires an etwork map and a cost map from at least one network topology information server, and generates or updates a relay node list according to the relay node information.
  • the relay control node requests a network map and a cost map to the at least one network topology information server by using a HyperText Transfer Protocol (HTTP) message, and after the at least one network topology information server receives the request, Returning a network map and a cost map to the relay control node, and the relay control node collects relay node information in advance, and generates or updates a relay node list;
  • HTTP HyperText Transfer Protocol
  • the relay control node may obtain the latest Network map and the Cost map one or more times from a network topology information server, where the acquired Network map and Cost map may be used for multiple relay node selection;
  • the relay node information collected by the control node may be configured by the administrator to configure the relay node information to the relay control node, or may actively report the relay node information to the relay control node when the relay node goes online. Obtained, the relay The node information includes a node address of each relay node, and may also include a load condition, a quality of service measurement result, and the like, and may be used for multiple relay node selection;
  • the Network ma includes a mapping of an IP prefix of all nodes to a network ID, that is, a PID; the Cost ma includes a path cost value between the PIDs, and all the nodes include a peer node and a relay node.
  • Step 302 The first peer node sends a relay node request to the relay control node each time the first peer node needs to send data to the second peer node.
  • the relay node request includes first peer node information and second peer node information; the first peer node information and the second peer node information include a first peer node and a second peer node Node IP address, and/or node identification, and/or user identification, etc.;
  • the first peer node is a peer node that initiates a relay transmission
  • the second peer node is a destination peer node that sends data to the first peer node.
  • Step 303 The relay control node receives and accepts a relay node request sent by the first peer node each time;
  • Step 304 The relay control node processes the relay node list according to the first and second peer node IP addresses, the network map, and the cost ma.
  • the relay control node searches for a mapping association of the corresponding PID in the network ma according to the IP prefix of the node IP address of the first peer node and the second peer node, and if found, the relay control node according to the network map Obtaining PID sets of all relay nodes: relay PID1 ⁇ relay PIDn, and calculating a relay path cost relayed from each relay PID through Cost ma, and processing the relay node list according to the relay path cost If not found, the relay control node re-acquires the Network map and the Cost map from at least one network topology information server, and performs this step again;
  • the relay control node needs to send the first node and the second node in the relay node request. Converting the node identifier or user identifier of the peer node to the node IP address of the first peer node and the second peer node;
  • the processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
  • scoring, sorting, and screening may also consider other factors such as the load status of the relay node, and/or the quality measurement result of the J service.
  • Step 305 The relay control node returns the processed relay node list to the first peer node.
  • Step 306 After obtaining the processed relay node list, the first peer node selects the relay node to transfer the data to the second pair. End node:
  • the selecting the relay node is generally selecting the relay node with the highest score of the score, and/or selecting any one of the relay nodes in the filtered relay node list, and/or selecting the sorting rank in the most The relay node in front; when there are multiple relay nodes with the highest score, the relay node can be arbitrarily selected;
  • the data is first sent by the first peer node to the relay node, and then sent by the relay node to the second peer node; similarly, the second peer node may also use the relay node to transfer data to the first peer end. node.
  • the relay control node acquires the network map, and the order of the cost map and the relay control node to collect the relay node information may be arbitrary, and may be performed simultaneously.
  • Step 304a The relay control node performs preliminary screening on the relay node according to other factors such as the load of the relay node;
  • the relay node is generally listed with a load greater than a preset threshold from the relay node list. In the delete, this step is optional.
  • Step 304b The relay control node obtains the PID set of all the relay nodes according to the etwork map: relay PID1 ⁇ relay PIDn;
  • the relay control node may maintain and update the PID set of all the relay nodes as the relay node joins and exits, wherein one relay PID will correspond to at least one relay node.
  • Step 304c The relay control node searches for the PID corresponding to the IP addresses of the first and second peer nodes according to the Network map: the first peer PID and the second peer PID;
  • Step 304d The relay control node calculates a relay path cost for relaying from each relay PID.
  • the relay path cost may adopt a forward relay path cost, a reverse relay path cost, or a two-way medium.
  • the calculation of the three requires the use of a Cost map, where cost ( PID A, PID B ) refers to the value of the direct path from PID A to PID B.
  • Step 304e The relay control node scores and/or filters and/or sorts the relay nodes corresponding to each relay PID according to the relay path cost.
  • the relay path when scoring with the relay path cost, the lower the cost, the higher the score; when sorting with the relay path cost, the more the cost, the higher the ranking; the relay path
  • the cost when used as a screening condition, the relay node whose cost exceeds a preset threshold is screened out from the relay node list.
  • the relay node corresponding to each relay PID when the relay node corresponding to each relay PID is scored, the scores of the relay nodes corresponding to the same relay PID are the same; when the relay nodes corresponding to each relay PID are sorted, the corresponding The phase of the relay node of a relay PID.
  • the step further includes: the relay control node combines the relay path cost into each of the The relay nodes corresponding to each relay PID are scored and/or filtered and/or ordered according to other factors such as the load condition of the node, and/or the quality of service measurement.
  • the present invention further provides a selection system for implementing a relay node.
  • the system includes: a relay control node 61, at least one network topology information server 62, a relay node 63, and a first Peer node 64;
  • a relay control node 61 configured to acquire a network map and a cost map from at least one network topology information server 62, and generate or update a relay node list according to the obtained relay node information; each time receiving the first peer node After the relay node requests 64, the relay node list is processed according to the relay node request, the network map, and the cost map, and the processed relay node list is returned to the pair of terminals. Node 64;
  • a network topology information server 62 configured to provide an etwork map and a cost map to the relay control node 61;
  • a relay node 63 configured to transfer data
  • the first peer node 64 is configured to send a relay node request to the relay control node 61, and select the relay node 63 to transfer data from the received relay node list;
  • the relay control node 61 includes: a network topology information client unit 611, a relay node information management unit 612, and a relay processing unit 613;
  • a network topology information client unit 611 configured to obtain an ear and a network ma and a cost map from at least one network topology information server 62;
  • a relay node information management unit 612 configured to generate or update a relay node list according to the obtained relay node information
  • the relay processing unit 613 is configured to process the relay node list according to the relay node request, the Network ma, and the Costa map after each receiving the relay node request of the first correspondent node 64, and Returning the processed relay node list to the first peer node 64;
  • the relay node request includes first peer node information and second peer node information;
  • the first peer node information and the second peer node information include: a node IP address of the first peer node 64 and the second peer node, and/or a node identifier, and/or a user identifier, and the like;
  • the relay node information includes a node address of each relay node 63, and may further include: a load condition, and/or a quality of service measurement result, etc., which may be used for multiple relay node selection;
  • the relay node information may be configured by the administrator to the relay control node, or may be obtained by actively reporting the relay node information to the relay control node when the relay node goes online.
  • the relay processing unit 613 processes the relay node list according to the relay node request, the network map, and the core map, specifically: the relay processing unit 613 is configured according to the first peer node 64 and the second The IP prefix of the node IP address of the peer node searches for a mapping of the corresponding PID in the Network map.
  • the relay processing unit 613 obtains the PID set of all the relay nodes 63 according to the Network map: relay PID1 ⁇ relay PIDn, and calculating a relay path cost for relaying from each relay PID through a Costa map, processing the relay node list according to the relay path cost; if not, notifying the network topology information client unit 611 re-acquiring the network map and the cost map from the at least one network topology information server 62, and the relay processing unit 613 searches for the mapping in the network map again;
  • the processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
  • the relay processing unit 613 is further configured to combine the relay path cost with the load condition of each relay node 63, and/or other factors such as the quality of service measurement result, and corresponding to each relay PID. Following the node 63 scores and/or filters and/or sorts.
  • the relay path cost is a forward relay path cost, and is: a first pair of end sections Point 64 to the relay node 63 path cost and the sum of the relay node 63 to the second peer node path cost; or, the relay path cost is the reverse relay path cost, which is: the second peer node to the middle Following the path cost of the node 63 and the path cost of the relay node 63 to the first correspondent node 64; or, the relay path cost is a two-way relay path cost, which is: a forward relay path cost and a reverse relay The sum of the path costs.
  • the first peer node 64 selects a relay node from the received relay node list, specifically: the first peer node 64 selects the relay node with the highest score, and/or selects the filtered Any one of the relay nodes in the relay node list, and/or select the top ranked relay node; when there are multiple relay nodes with the highest score, you can arbitrarily select one of the relays node.
  • the present invention further provides a relay control node.
  • the relay control node 61 includes: a network topology information client unit 611, a relay node information management unit 612, and a relay processing unit. 613; Among them,
  • a network topology information client unit 611 configured to obtain a network map and a cost map from at least one network topology information server 62;
  • a relay node information management unit 612 configured to generate or update a relay node list according to the obtained relay node information
  • the relay processing unit 613 is configured to: after each receiving the relay node request of the first peer node 64, the relay node list according to the relay node request, the network map, and the cost map Processing, and returning the processed relay node list to the first peer node 64;
  • the relay node request includes first peer node information and second peer node information; the first peer node information and the second peer node information include: a first peer node 64 and a second peer node Node IP address, and/or node identification, and/or user identification, etc.;
  • the relay node information includes a node address of each relay node 63, and may further include: The load condition, and/or the quality of service measurement result, etc., may be used for multiple relay node selection; the relay processing unit 613 performs the relay node list according to the relay node request, the Network map, and the Cost map.
  • the processing is specifically: the relay processing unit 613 searches for a mapping of the corresponding PID in the Network map according to the IP prefix of the node IP address of the first peer node 64 and the second peer node, and if found, relays
  • the processing unit 613 obtains the PID set of all the relay nodes 63 according to the Network map: the relay PID1 ⁇ the relay PIDn, and calculates the relay path cost relayed from each relay PID through the Costa map, according to the relay path cost Processing the relay node list; if not found, notifying the network topology information client unit 611 to reacquire the network map and the cost map from the at least one network topology information server 62, the relay processing unit 613 re-establishing in the Network Find the mapping in the map;
  • the processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
  • the relay processing unit 613 is further configured to combine the relay path cost with the load condition of each relay node 63, and/or other factors such as the quality of service measurement result, and correspond to each relay PID. Following the node 63 scores and/or filters and/or sorts.
  • the relay path cost is a forward relay path cost, which is: a sum of a path cost of the pair of end nodes 64 to the relay node 63 and a path cost of the relay node 63 to the second opposite end node; or
  • the relay path cost is a reverse relay path cost, which is: a sum of a path cost of the second correspondent node to the relay node 63 and a path cost of the relay node 63 to the first correspondent node 64; or, the relay The path cost is the two-way relay path cost, which is: the sum of the forward relay path cost and the reverse relay path cost.
  • the present invention also provides a method for selecting a relay node, as shown in FIG. 7, the method package Including the following steps:
  • Step 701 The relay control node acquires an etwork map and a cost map from at least one network topology information server, and generates or updates a relay node list according to the relay node information.
  • Step 702 The first peer node sends a relay node request to the relay control node by using the proxy node each time the first peer node needs to send data to the second peer node.
  • the first peer node requests its proxy node to send data with the second peer node; the proxy node sends a relay node request to the relay control node according to the request of the first peer node;
  • the request of the first peer node and the request of the relay node both include the first peer node information and the second peer node information; the first peer node information and the second peer node information include the first peer end The node IP address of the node and the second peer node, and/or the node identifier, and/or the user identity, and the like.
  • Step 703 The relay control node receives and accepts the relay node request of the first peer node.
  • Step 704 The relay control node selects the relay node according to the first and second peer node IP addresses, the Network map, and the Cost ma. List processing;
  • the relay control node searches for a mapping association of the corresponding PID in the network ma according to the IP prefix of the node IP address of the first peer node and the second peer node, and if found, the relay control node according to the network map Obtaining PID sets of all relay nodes: relay PID1 ⁇ relay PIDn, and calculating a relay path cost relayed from each relay PID through Cost ma, and processing the relay node list according to the relay path cost If not found, the relay control node re-executes the etwork map and the cost map from at least one network topology information server, and performs this step again;
  • the relay control node needs to send the first node and the second peer in the relay node request.
  • the node identifier or user ID of the node is converted into a section of the first peer node and the second peer node Point IP address;
  • the processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
  • scoring, sorting, and screening may also consider other factors such as the load status of the relay node, and/or the quality of service measurement.
  • Step 705 The relay control node returns a processed relay node list to the proxy node of the first peer node.
  • Step 706 The proxy node of the first peer node selects a relay node from the relay node list returned by the relay control node.
  • Step 707 The proxy node of the pair of end nodes returns the selected relay node to the first peer node.
  • Step 708 The first peer node transfers the data to the second peer node by using the relay node.
  • the first peer node obtains one or more relay nodes, and when multiple relay nodes are obtained, One of the relay nodes may be further selected to transfer data to the second peer node.
  • the proxy node of the first peer node may also not select the relay node, and forward the relay node list returned by the relay control node to the first peer node;
  • the first peer node selects the relay node to transfer the data to the second peer node.
  • the present invention also provides a selection system for implementing a relay node.
  • the system includes: a relay control node 81, at least one network topology information server 82, a relay node 83, and a first peer node 84. a proxy node 85 of the first pair of end nodes 84; wherein
  • a relay control node 81 configured to obtain from at least one network topology information server 82 a network map and a cost map, and generating or updating a relay node list according to the obtained relay node information; and each time receiving the relay node request, according to the relay node request, the network map, and the Cost map Processing the relay node list, and returning the processed relay node list to the proxy node 85;
  • a network topology information server 82 configured to provide a network map and a cost map to the relay control node 81;
  • a relay node 83 configured to transfer data
  • the first peer node 84 is configured to request its proxy node 85 to send data with the second peer node; and transfer data through the relay node 83;
  • the proxy node 85 is configured to send a relay node request to the relay control node according to the request of the first peer node 84; and select the relay node 83 from the relay node list returned by the relay control node, and select the relay The information of the node 83 is returned to the first peer node 84;
  • the relay control node 81 includes: a network topology information client unit 811, a relay node information management unit 812, and a relay processing unit 813;
  • a network topology information client unit 811 configured to obtain a network map and a cost map from at least one network topology information server 62;
  • a relay node information management unit 812 configured to generate or update a relay node list according to the obtained relay node information
  • the relay processing unit 813 is configured to process the relay node list according to the relay node request, the network map, and the core map after receiving the relay node request, and process the processed relay node.
  • the list is returned to the proxy node 85;
  • the relay node request includes first peer node information and second peer node information; the first peer node information and the second peer node information include: a first peer node 84 and a second peer node Node IP address, and/or node identification, and/or user identification, etc.;
  • the relay node information includes a node address of each relay node 83, and may further include: The load condition, and/or the quality of service measurement result, etc., may be used for multiple relay node selection; the obtaining relay node information, generally, the administrator may configure the relay node information into the relay control node, It may also be obtained by actively reporting the relay node information to the relay control node when the relay node goes online.
  • the relay processing unit 813 processes the relay node list according to the relay node request, the network ma, and the core map, specifically: the relay processing unit 813 is configured according to the first peer node 84 and the second The IP prefix of the node IP address of the peer node searches for a mapping of the corresponding PID in the network map.
  • the relay processing unit 813 obtains the PID set of all the relay nodes 83 according to the Network map: relay PID1 ⁇ relay PIDn, and calculating a relay path cost for relaying from each relay PID through a Costa map, processing the relay node list according to the relay path cost; if not, notifying the network topology information client unit 811 re-acquiring network ma and Cost map from at least one network topology information server 82, and the relay processing unit 813 searches for the mapping in the network map again;
  • the processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
  • the relay processing unit 813 is further configured to combine the relay path cost with the load condition of each relay node 83, and/or other factors such as the quality of service measurement result, and corresponding to each relay PID. Following node 83 scores and/or filters and/or sorts.
  • the relay path cost is a forward relay path cost, which is: a sum of a path cost of the first peer node 84 to the relay node 83 and a path cost of the relay node 83 to the second peer node; or
  • the relay path cost is a reverse relay path cost, which is: a path cost of the second peer node to the relay node 83 and a path cost of the relay node 83 to the first peer node 84;
  • the relay path cost is a two-way relay path cost, which is: a sum of a forward relay path cost and a reverse relay path cost.
  • the method of the present invention can reasonably implement the selection of the relay node, the number of messages is small, and the method is simple. Moreover, each time the relay node is selected, the peer node does not need to interact with the network topology information server. Reduce the burden on the network topology information server.

Landscapes

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

Abstract

Disclosed is a method for selecting relay nodes. A relay control node obtains from at least one network topology information server network mappings and cost mappings, and generates or updates a list of relay nodes according to the obtained relay nodes information; upon receiving from a first correspondent node a request for relay nodes, the relay control node processes the list of relay nodes according to the request for relay nodes, the network mappings, and the cost mappings, and returns the processed list of relay nodes to the first correspondent node; the first correspondent node selects a relay node for data forwarding from the received list of relay nodes. Also disclosed are a system for selecting relay nodes and a relay control node. By applying the method as put forth in the present invention, the selection of relay nodes can be reasonably achieved in a simple manner by using few messages, thereby alleviating the burden of network topology information servers.

Description

中继节点的选择方法、 系统及中继控制节点 技术领域  Relay node selection method, system and relay control node
本发明涉及网络中的中继技术, 尤其涉及一种中继节点的选择方法、 系统及中继控制节点。 背景技术  The present invention relates to a relay technology in a network, and in particular, to a method, system, and relay control node for selecting a relay node. Background technique
在互联网当中, 两个对端节点的通信时常会遇到 IP层传输路径的连通 和服务质量(QoS ) 问题, 包括: 网络地址转换(NAT, Network Address Translation )设备或防火墙设备会阻碍对端节点双方建立直连路径进行通 信; 由于互联网路由策略无法考虑所有通信双方的服务质量要求, 两个对 端节点间的直连路径的服务质量无法满足通信要求; 由于互联网的庞大, IP 路由对链路的中断反应迟缓, 使得两个对端节点间的直连路径会出现短时 间的中断, 影响通信; 由于路由协议的缺陷, 一些 IP路由协议无法反映一 些链路拥塞, 使得两个对端节点间的直连路径会出现长时间的拥塞; 等待。  In the Internet, communication between two peer nodes often encounters connectivity and quality of service (QoS) issues of IP layer transmission paths, including: Network Address Translation (NAT) devices or firewall devices can block peer nodes. The two parties establish a direct connection path for communication; because the Internet routing policy cannot consider the quality of service requirements of all communication parties, the quality of the direct connection path between the two peer nodes cannot meet the communication requirements; due to the huge Internet, the IP routing pair links The interrupt response is sluggish, causing a short-term interruption of the direct connection path between the two peer nodes, affecting communication; due to the defect of the routing protocol, some IP routing protocols cannot reflect some link congestion, resulting in the relationship between the two peer nodes. The direct connection path will have long-term congestion; wait.
对于上述的问题, 快速有效的解决办法就是使用中继技术。 中继技术 是指通过在 IP数据包传递路径上增加一个或多个中继节点, 由中继节点来 进行数据包转发的技术。 中继可以实现 NAT/防火墙穿越功能, 帮助对等节 点建立直接连接; 中继可以弥补 IP层路由的不足; 中继可以绕开中断和拥 塞的链路。  For the above problems, a quick and effective solution is to use relay technology. The relay technology refers to a technology in which a relay node performs packet forwarding by adding one or more relay nodes to the IP packet delivery path. The relay can implement the NAT/firewall traversal function to help the peer nodes establish a direct connection; the relay can compensate for the lack of IP layer routing; the relay can bypass the broken and congested links.
根据网络的拓朴信息选择合理的中继节点, 可以得到服务质量高的中 继路径, 从而提高对端节点双方的通信质量。 中继节点选择依据的网络拓 朴信息可以来自测量、 边界网关协议(BGP, Border Gateway Protocol )路 由表中提取的 AS拓朴关系、 网络拓朴信息服务器。 其中, 测量的开销大, BGP路由表包含的拓朴信息不精确不完整, 而网络拓朴信息服务器由网络 运营商建立, 网络拓朴信息服务器上的网络拓朴信息由网络运营商维护, 网络拓朴信息服务器能为应用提供丰富准确的拓朴信息, 以便应用优化性 能。 国际标准化组织 Internet工程任务组(IETF, Internet Engineering Task Force ) 的应用层流量优化 ( ALTO, Application Layer Traffic Optimization ) 工作组、 国际电信联盟远程通信标准化组织 ( ITU-T for ITU Telecommunication Standardization Sector ) 的分布式业务网络 ( DSN , Distributed Service Network )工作组都在进行网络拓朴信息服务器访问协议 的标准化工作。 According to the topology information of the network, a reasonable relay node is selected, and a relay path with high quality of service can be obtained, thereby improving the communication quality of both the peer nodes. The network topology information on which the relay node is selected may be from the measurement, the AS topology relationship extracted from the Border Gateway Protocol (BGP) routing table, and the network topology information server. The measurement overhead is large, and the topology information included in the BGP routing table is inaccurate and incomplete, and the network topology information server is used by the network. The network topology information on the network topology information server is maintained by the network operator, and the network topology information server can provide rich and accurate topology information for the application to optimize performance. Distribution of the Application Layer Traffic Optimization (ALTO) Working Group of the International Organization for Standardization Internet Engineering Task Force (IETF), ITU-T for ITU Telecommunication Standardization Sector The DSN (Distributed Service Network) working group is working on the standardization of the network topology information server access protocol.
目前已有的采用网络拓朴信息服务器进行中继节点选择的方案是国际 标准化组织 IETF提出的 ALTO服务器用于中继选择方案。 其中,一种采用 网络拓朴信息服务器进行中继节点选择的网络结构如图 1所示,对端节点 1 连接网络拓朴信息服务器 1 , 对端节点 2连接网络拓朴信息服务器 2, 通过 中继节点进行数据包的转发, 该利用网络拓朴信息服务器进行中继节点选 择的方法, 如图 2所示, 该方法包括以下几个步骤:  At present, the existing scheme for using the network topology information server for relay node selection is the ALTO server proposed by the International Organization for Standardization (IETF) for the relay selection scheme. The network structure of the relay node selection using the network topology information server is as shown in FIG. 1. The peer node 1 is connected to the network topology information server 1, and the peer node 2 is connected to the network topology information server 2, After the node forwards the data packet, the method for using the network topology information server to perform relay node selection is as shown in FIG. 2, and the method includes the following steps:
步骤 101 : 对端节点 1向网络拓朴信息服务器 1请求中继节点列表, 并 向对端节点 2发送使用中继通知;  Step 101: The peer node 1 requests the network topology information server 1 to request the relay node list, and sends the use relay notification to the opposite node 2;
步骤 102: 对端节点 2收到使用中继通知后, 向网络拓朴信息服务器 2 请求中继节点列表;  Step 102: After receiving the relay notification, the peer node 2 requests the network topology information server 2 to request the relay node list.
步驟 103: 网络拓朴信息服务器 2向网络拓朴信息服务器 1发送自身的 中继节点信息;  Step 103: The network topology information server 2 sends its own relay node information to the network topology information server 1;
步骤 104:网络拓朴信息服务器 1根据网络拓朴信息服务器 2发送的中 继节点信息, 将网络拓朴信息服务器 2的中继节点与自身的中继节点取交 集, 得到中继节点列表, 并返回给对端节点 1和网络拓朴信息服务器 2; 步骤 105:网络拓朴信息服务器 2将所述中继节点列表返回给对端节点 步骤 106:对端节点 1与对端节点 2分别根据中继节点列表测量其中的 中继节点的服务质量; Step 104: The network topology information server 1 crosses the relay node of the network topology information server 2 with its own relay node according to the relay node information sent by the network topology information server 2, and obtains a relay node list, and Returning to the peer node 1 and the network topology information server 2; Step 105: The network topology information server 2 returns the relay node list to the peer node Step 106: The peer node 1 and the peer node 2 respectively measure the quality of service of the relay node according to the relay node list.
步驟 107:对端节点 2将中继节点的服务质量的测量结果发送到对端节 点 1 ;  Step 107: The peer node 2 sends the measurement result of the quality of the relay node to the peer node 1;
步骤 108:对端节点 1根据自身和对端节点 2的中继节点的服务质量的 测量结果, 选择最佳中继节点。  Step 108: The opposite end node 1 selects an optimal relay node according to the measurement result of the service quality of the relay node of itself and the opposite end node 2.
现有技术中, 另一种利用网络拓朴信息服务器进行中继节点选择的方 法, 如图 3所示, 该方法包括以下几个步驟:  In the prior art, another method for selecting a relay node by using a network topology information server, as shown in FIG. 3, the method includes the following steps:
步骤 201 :对端节点 1向网络拓朴信息服务器 1发送中继节点列表排序 请求, 并向对端节点 2发送使用中继通知;  Step 201: The peer node 1 sends a relay node list sorting request to the network topology information server 1, and sends a use relay notification to the peer node 2;
步骤 202: 网络拓朴信息服务器 1收到中继节点列表排序请求后, 进行 中继节点列表排序, 将排序后的中继节点列表返回到对端节点 1 ;  Step 202: After receiving the relay node list sorting request, the network topology information server performs sorting of the relay node list, and returns the sorted relay node list to the peer node 1;
步驟 203: 对端节点 2收到使用中继通知后, 向网络拓朴信息服务器 2 发送中继节点列表排序请求;  Step 203: After receiving the relay notification, the peer node 2 sends a relay node list sorting request to the network topology information server 2;
步骤 204: 网络拓朴信息服务器 2收到中继节点列表排序请求后, 进行 中继节点列表排序, 将排序后的中继节点列表返回到对端节点 2;  Step 204: After receiving the relay node list sorting request, the network topology information server performs the sorting of the relay node list, and returns the sorted relay node list to the peer node 2;
步骤 205:对端节点 1与对端节点 2分别根据排序后的中继节点列表测 量其中的中继节点的服务质量;  Step 205: The peer node 1 and the peer node 2 respectively measure the service quality of the relay node according to the sorted relay node list.
步驟 206:对端节点 2将中继节点的服务质量的测量结果发送到对端节 点 1 ;  Step 206: The peer node 2 sends the measurement result of the quality of the relay node to the peer node 1;
步骤 207:对端节点 1根据自身和对端节点 2的中继节点的服务质量的 测量结果, 选择最佳中继节点。  Step 207: The opposite end node 1 selects an optimal relay node according to the measurement result of the service quality of the relay node of the own node and the opposite end node 2.
上述的两种现有方案中, 在每次进行中继节点选择时, 对端节点 1 与 对端节点 2分别需要与网络拓朴信息服务器 1、网络拓朴信息服务器 2进行 交互, 消息数过多, 而且容易造成网络拓朴信息服务器 1、 网络拓朴信息服 务器 2的负担过重, 方法复杂、 不合理。 发明内容 In the above two existing solutions, each time the relay node is selected, the peer node 1 and the peer node 2 need to interact with the network topology information server 1 and the network topology information server 2, respectively. More, and easy to cause network topology information server 1, network topology information service The burden on the server 2 is too heavy, and the method is complicated and unreasonable. Summary of the invention
有鉴于此, 本发明的主要目的在于提供一种中继节点的选择方法、 系 统及中继控制节点, 合理的实现中继节点的选择, 消息数较少, 方法简单。  In view of this, the main object of the present invention is to provide a method, a system, and a relay control node for selecting a relay node, and reasonably implementing the selection of the relay node, the number of messages is small, and the method is simple.
为达到上述目的, 本发明的技术方案是这样实现的:  In order to achieve the above object, the technical solution of the present invention is achieved as follows:
本发明提供的一种中继节点的选择方法, 该方法包括:  The invention provides a method for selecting a relay node, and the method includes:
中继控制节点从至少一个网络拓朴信息服务器获取网络映射和代价映 射, 中继控制节点根据获得的中继节点信息生成或更新中继节点列表; 中继控制节点在每次接收到第一对端节点的中继节点请求后, ^艮据所 述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列表进行 处理, 并将处理后的中继节点列表返回给第一对端节点;  The relay control node acquires the network mapping and the cost mapping from the at least one network topology information server, and the relay control node generates or updates the relay node list according to the obtained relay node information; the relay control node receives the first pair each time After the relay node of the end node requests, the relay node list is processed according to the relay node request, the network map, and the cost map, and the processed relay node list is returned to the first a pair of end nodes;
所述第一对端节点从收到的中继节点列表中选择中继节点中转数据。 上述方案中, 所述中继节点请求包含第一对端节点信息和第二对端节 点信息;  The first peer node selects relay node relay data from the received relay node list. In the above solution, the relay node request includes first peer node information and second peer node information;
所述笫一对端节点信息和第二对端节点信息包括: 笫一对端节点和第 二对端节点的节点 IP地址、 和 /或节点标识、 和 /或用户标识;  The pair of end node information and the second pair of node information include: a node IP address of the pair of end nodes and the second peer node, and/or a node identifier, and/or a user identifier;
所述第一对端节点为发起中继传输的对端节点, 所述第二对端节点为 第一对端节点发送数据的目的对端节点。  The first peer node is a peer node that initiates a relay transmission, and the second peer node is a destination peer node that sends data to the first peer node.
上述方案中, 所述中继节点信息包括: 各中继节点的节点地址, 以及 还可以包括负载情况、 和 /或服务质量测量结果。  In the above solution, the relay node information includes: a node address of each relay node, and may further include a load condition, and/or a quality of service measurement result.
上述方案中, 所述根据所述中继节点请求、 所述网络映射及所述代价 映射对所述中继节点列表进行处理, 为: 根据第一对端节点和第二对端节 点的节点 IP地址的 IP前缀, 在网络映射中查找相应网络位置标识( PID, Provider-defined Network Location Identifier ) 的映射, 在查找到时 , 所述中 继控制节点根据网络映射获得所有中继节点的 PID集合: 中继 PID1〜中继 PIDn, 并通过代价映射计算从各中继 PID进行中继的中继路径代价, 根据 所述中继路径代价对中继节点列表进行处理。 In the foregoing solution, the processing, by the relay node request, the network mapping, and the cost mapping, processing the relay node list, according to: a node IP according to the first peer node and the second peer node The IP prefix of the address is searched for a mapping of a Provider-defined Network Location Identifier ( PID) in the network mapping. When found, the relay control node obtains a PID set of all the relay nodes according to the network mapping: Relay PID1~Relay PIDn, and calculates a relay path cost relayed from each relay PID through a cost map, and processes the relay node list according to the relay path cost.
上述方案中, 所述处理为打分和/或排序和 /或筛选; 其中, 当以中继路 径的代价打分时, 代价越小的分值越高; 当以中继路径的代价进行排序时, 代价越小的排位越靠前; 当以中继路径的代价作为筛选条件时, 从中继节 点列表中筛除代价超过阀值的中继节点。  In the above solution, the processing is scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score; when sorting at the cost of the relay path, The lower the cost, the higher the ranking; when the cost of the relay path is used as the filtering condition, the relay node whose cost exceeds the threshold is screened out from the relay node list.
上述方案中, 所述选择中继节点为: 选择打分的分值最高的中继节点、 和 /或选择筛选后的中继节点列表中的任意一个中继节点、 和 /或选择排序排 在最前面的中继节点。  In the above solution, the selecting the relay node is: selecting the relay node with the highest score of the score, and/or selecting any one of the relay node lists after filtering, and/or selecting the sorting rank in the most The previous relay node.
本发明提供的一种中继节点的选择系统, 该系统包括: 中继控制节点、 至少一个网络拓朴信息服务器、 中继节点、 第一对端节点; 其中,  The present invention provides a relay node selection system, the system includes: a relay control node, at least one network topology information server, a relay node, and a first pair of nodes;
中继控制节点, 用于从至少一个网络拓朴信息服务器获取网络映射和 代价映射, 并根据获得的中继节点信息生成或更新中继节点列表; 在每次 接收到第一对端节点的中继节点请求后, 根据所述中继节点请求、 所述网 络映射及所述代价映射对所述中继节点列表进行处理, 并将处理后的中继 节点列表返回给第一对端节点;  a relay control node, configured to acquire a network mapping and a cost mapping from at least one network topology information server, and generate or update a relay node list according to the obtained relay node information; in each receiving the first peer node After the node request, the relay node list is processed according to the relay node request, the network mapping, and the cost mapping, and the processed relay node list is returned to the first peer node;
网络拓朴信息服务器, 用于向中继控制节点提供网络映射和代价映射; 中继节点, 用于中转第一对端节点发送的数据;  a network topology information server, configured to provide a network mapping and a cost mapping to the relay control node; and a relay node, configured to transit the data sent by the first peer node;
笫一对端节点, 用于向中继控制节点发送中继节点请求, 并从收到的 中继节点列表中选择中继节点中转数据。  笫 A pair of end nodes, configured to send a relay node request to the relay control node, and select relay node relay data from the received relay node list.
上述方案中, 所述中继控制节点包括: 网络拓朴信息客户端单元、 中 继处理单元、 中继节点信息管理单元; 其中,  In the above solution, the relay control node includes: a network topology information client unit, a relay processing unit, and a relay node information management unit;
网络拓朴信息客户端单元, 用于从至少一个网络拓朴信息服务器获取 网络映射和代价映射;  a network topology information client unit, configured to obtain a network mapping and a cost mapping from at least one network topology information server;
中继节点信息管理单元, 用于根据中继节点信息生成或更新中继节点 列表; a relay node information management unit, configured to generate or update a relay node according to the relay node information List
中继处理单元, 用于在每次接收到第一对端节点的中继节点请求后, 根据所述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列 表进行处理, 并将处理后的中继节点列表返回给第一对端节点。  a relay processing unit, configured to process the relay node list according to the relay node request, the network mapping, and the cost mapping after each receiving a relay node request of the first peer node And returning the processed relay node list to the first peer node.
上述方案中, 所述中继处理单元, 具体用于根据第一对端节点和第二 对端节点的节点 IP地址的 IP前缀,在网络映射中查找相应 PID的映射,在 查找到时, 根据网络映射获得所有中继节点的 PID集合: 中继 PID1〜中继 PIDn, 并通过代价映射计算从各中继 PID进行中继的中继路径代价, 根据 所述中继路径代价对中继节点列表进行处理。  In the above solution, the relay processing unit is specifically configured to search for a mapping of the corresponding PID in the network mapping according to the IP prefix of the node IP address of the first peer node and the second peer node, and when found, according to The network map obtains a PID set of all relay nodes: a relay PID1~a relay PIDn, and calculates a relay path cost relayed from each relay PID through a cost map, and a relay node list according to the relay path cost Process it.
上述方案中, 所述中继处理单元, 具体用于对所述中继节点列表进行 打分和 /或排序和 /或筛选; 其中, 当以中继路径的代价打分时, 代价越小的 分值越高; 当以中继路径的代价进行排序时, 代价越小的排位越靠前; 当 以中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过阀值 的中继节点。  In the above solution, the relay processing unit is specifically configured to score and/or sort and/or filter the relay node list; wherein, when the cost of the relay path is scored, the cost is smaller. Higher; when sorting at the cost of the relay path, the lower the cost, the higher the ranking; when the cost of the relay path is used as the filtering condition, the relay with the cost exceeding the threshold is filtered out from the list of relay nodes. node.
上述方案中, 所述第一对端节点, 具体用于选择打分的分值最高的中 继节点、 和 /或选择筛选后的中继节点列表中的任意一个中继节点、 和 /或选 择排序排在最前面的中继节点。  In the foregoing solution, the first peer node is specifically configured to select a relay node with the highest score, and/or select any one of the filtered relay node lists, and/or select the sorting. The top relay node.
本发明提供的一种中继控制节点, 该中继控制节点包括: 网络拓朴信 息客户端单元、 中继处理单元、 中继节点信息管理单元; 其中,  The present invention provides a relay control node, where the relay control node includes: a network topology information client unit, a relay processing unit, and a relay node information management unit;
网络拓朴信息客户端单元, 用于从至少一个网络拓朴信息服务器获取 网络映射和代价映射;  a network topology information client unit, configured to obtain a network mapping and a cost mapping from at least one network topology information server;
中继节点信息管理单元, 用于根据获得的中继节点信息生成或更新中 继节点列表;  a relay node information management unit, configured to generate or update a relay node list according to the obtained relay node information;
中继处理单元, 用于在每次接收到第一对端节点的中继节点请求后, 根据所述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列 表进行处理, 并将处理后的中继节点列表返回给第一对端节点。 a relay processing unit, configured to: after each receiving a relay node request of the first peer node, according to the relay node request, the network mapping, and the cost mapping to the relay node column The table is processed, and the processed relay node list is returned to the first peer node.
本发明提供的一种中继节点的选择方法, 该方法包括:  The invention provides a method for selecting a relay node, and the method includes:
中继控制节点从至少一个网络拓朴信息服务器获取网络映射和代价映 射, 中继控制节点根据获得的中继节点信息生成或更新中继节点列表; 中继控制节点在每次接收到中继节点请求后, 根据所述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列表进行处理, 并将处理后 的中继节点列表返回给第一对端节点的代理节点;  The relay control node acquires the network mapping and the cost mapping from the at least one network topology information server, and the relay control node generates or updates the relay node list according to the obtained relay node information; the relay control node receives the relay node each time After the request, the relay node list is processed according to the relay node request, the network mapping, and the cost mapping, and the processed relay node list is returned to the proxy node of the first peer node;
所述第一对端节点的代理节点从中继控制节点返回的中继节点列表中 选择中继节点, 返回给第一对端节点;  The proxy node of the first peer node selects a relay node from the relay node list returned by the relay control node, and returns to the first peer node;
所述第一对端节点通过中继节点中转数据。  The first peer node relays data through the relay node.
上述方案中, 所述根据所述中继节点请求、 所述网络映射及所述代价 映射对所述中继节点列表进行处理, 为: 根据第一对端节点和第二对端节 点的节点 IP地址的 IP前缀,在网络映射中查找相应 PID的映射,在查找到 时, 所述中继控制节点根据网络映射获得所有中继节点的 PID集合: 中继 PID1〜中继 PIDn, 并通过代价映射计算从各中继 PID进行中继的中继路径 代价, 根据所述中继路径代价对中继节点列表进行处理。  In the foregoing solution, the processing, by the relay node request, the network mapping, and the cost mapping, processing the relay node list, according to: a node IP according to the first peer node and the second peer node The IP prefix of the address is searched for a mapping of the corresponding PID in the network mapping. When found, the relay control node obtains the PID set of all the relay nodes according to the network mapping: the relay PID1~the relay PIDn, and the cost mapping A relay path cost relayed from each relay PID is calculated, and the relay node list is processed according to the relay path cost.
本发明提供的一种中继节点的选择系统, 该系统包括: 中继控制节点、 至少一个网络拓朴信息服务器、 中继节点、 第一对端节点、 第一对端节点 的代理节点; 其中,  The present invention provides a relay node selection system, the system comprising: a relay control node, at least one network topology information server, a relay node, a first pair of nodes, and a proxy node of the first pair of nodes; ,
中继控制节点, 用于从至少一个网络拓朴信息服务器 82获取网路映射 和代价映射, 并根据获得的中继节点信息生成或更新中继节点列表; 在每 次接收到中继节点请求后, 根据所述中继节点请求、 所述网路映射及所述 代价映射对所述中继节点列表进行处理, 并将处理后的中继节点列表返回 给所述代理节点;  a relay control node, configured to acquire a network mapping and a cost mapping from the at least one network topology information server 82, and generate or update a relay node list according to the obtained relay node information; after each receiving the relay node request And processing, according to the relay node request, the network mapping, and the cost mapping, the relay node list, and returning the processed relay node list to the proxy node;
网络拓朴信息服务器, 用于向中继控制节点提供网络映射和代价映射; 中继节点, 用于中转第一对端节点发送的数据; a network topology information server, configured to provide a network mapping and a cost mapping to the relay control node; a relay node, configured to transit data sent by the first peer node;
笫一对端节点, 用于向其代理节点请求与第二对端节点发送数据; 并 通过中继节点中转数据;  a pair of end nodes, configured to request to the proxy node to send data to the second peer node; and transfer data through the relay node;
代理节点, 用于根据第一对端节点的请求, 向中继控制节点发送中继 节点请求; 并从中继控制节点返回的中继节点列表中选择中继节点, 将选 择的中继节点的信息返回给第一对端节点。  a proxy node, configured to send a relay node request to the relay control node according to the request of the first peer node; and select a relay node from the relay node list returned by the relay control node, and select the relay node information Return to the first peer node.
本发明提供的一种中继节点的选择方法、 系统及中继控制节点, 中继 控制节点从至少一个网络拓朴信息服务器获取网络映射(Network map )和 代价映射( Cost map ), 并根据获得的中继节点信息生成或更新中继节点列 表; 在每次接收到笫一对端节点的中继节点请求后, 根据所述中继节点请 求、 所述 Network map及所述 Cost ma 对所述中继节点列表进行处理, 并 将处理后的中继节点列表返回给第一对端节点; 所述第一对端节点从收到 的中继节点列表中选择中继节点中转数据; 如此, 能够合理的实现中继节 点的选择, 消息数较少, 方法简单, 而且, 在每次进行中继节点选择时, 不需要对端节点与网络拓朴信息服务器进行交互, 减轻网络拓朴信息服务 器的负担。 附图说明  The invention provides a method, a system and a relay control node for selecting a relay node. The relay control node obtains a network map and a cost map from at least one network topology information server, and obtains a network map according to the obtained Relay node information generates or updates a relay node list; after each receiving a relay node request of a pair of end nodes, according to the relay node request, the Network map, and the Cost ma pair The relay node list is processed, and the processed relay node list is returned to the first peer node; the first peer node selects the relay node transit data from the received relay node list; The selection of the relay node is reasonable, the number of messages is small, and the method is simple. Moreover, each time the relay node is selected, the peer node does not need to interact with the network topology information server, and the network topology information server is mitigated. burden. DRAWINGS
图 1 为现有技术中一种采用网络拓朴信息服务器进行中继节点选择的 网络结构的示意图;  1 is a schematic diagram of a network structure for selecting a relay node by using a network topology information server in the prior art;
图 2为现有技术中利用网络拓朴信息服务器进行中继节点选择的方法 的流程示意图;  2 is a schematic flowchart of a method for selecting a relay node by using a network topology information server in the prior art;
图 3 为现有技术中, 另一种利用网络拓朴信息服务器进行中继节点选 择的方法的流程示意图;  FIG. 3 is a schematic flowchart of another method for performing relay node selection by using a network topology information server in the prior art;
图 4为本发明实现中继节点的选择方法的流程示意图;  4 is a schematic flowchart of a method for implementing a relay node according to the present invention;
图 5为本发明步骤 304具体实现方法的流程示意图; 图 6为本发明实现中继节点的选择系统的结构示意图; 图 7为本发明又一实现中继节点的选择方法的流程示意图; FIG. 5 is a schematic flowchart diagram of a specific implementation method of step 304 of the present invention; 6 is a schematic structural diagram of a system for implementing a relay node according to the present invention; FIG. 7 is a schematic flowchart of another method for selecting a relay node according to the present invention;
图 8为本发明又一实现中继节点的选择系统的结构示意图。 具体实施方式  FIG. 8 is a schematic structural diagram of another selection system for implementing a relay node according to the present invention. detailed description
本发明的基本思想是: 中继控制节点从至少一个网络拓朴信息服务器 获取 Network map和 Cost map , 并根据获得的中继节点信息生成或更新中 继节点列表; 在每次接收到第一对端节点的中继节点请求后, 根据所述中 继节点请求、 所述 Network ma 及所述 Cost map对所述中继节点列表进行 处理, 并将处理后的中继节点列表返回给第一对端节点; 所述第一对端节 点从收到的中继节点列表中选择中继节点中转数据。  The basic idea of the present invention is: the relay control node acquires a Network map and a Cost map from at least one network topology information server, and generates or updates a relay node list according to the obtained relay node information; After the relay node of the end node requests, the relay node list is processed according to the relay node request, the network ma and the cost map, and the processed relay node list is returned to the first pair. End node; the first peer node selects relay node relay data from the received relay node list.
下面通过附图及具体实施例对本发明做进一步的详细说明。  The invention will be further described in detail below with reference to the drawings and specific embodiments.
本发明实现中继节点的选择方法, 如图 4所示, 该方法包括以下几个 步骤:  The present invention implements a method for selecting a relay node. As shown in FIG. 4, the method includes the following steps:
步骤 301 : 中继控制节点从至少一个网络拓朴信息服务器获取 etwork map和 Cost map, 并根据中继节点信息生成或更新中继节点列表;  Step 301: The relay control node acquires an etwork map and a cost map from at least one network topology information server, and generates or updates a relay node list according to the relay node information.
具体的,中继控制节点通过超文本传输协议( HTTP, HyperText Transfer Protocol ) 消息向至少一个网络拓朴信息服务器请求 Network map和 Cost map , 所述至少一个网络拓朴信息服务器接收所述请求后, 向中继控制节点 返回 Network map和 Cost map, 并且所述中继控制节点事先收集中继节点 信息, 生成或更新中继节点列表;  Specifically, the relay control node requests a network map and a cost map to the at least one network topology information server by using a HyperText Transfer Protocol (HTTP) message, and after the at least one network topology information server receives the request, Returning a network map and a cost map to the relay control node, and the relay control node collects relay node information in advance, and generates or updates a relay node list;
其中, 中继控制节点可以从一个网络拓朴信息服务器一次或多次获取 最新的 Network map和 Cost map, 所述获取的 Network map和 Cost map可 以用于多次中继节点选择; 所述中继控制节点收集的中继节点信息, 一般 可以是由管理员将中继节点信息配置到中继控制节点中, 也可以是中继节 点上线时主动向中继控制节点汇报自身的中继节点信息而获得, 所述中继 节点信息包括各中继节点的节点地址, 以及还可以包括负载情况、 服务质 量测量结果等, 可以用于多次中继节点选择; The relay control node may obtain the latest Network map and the Cost map one or more times from a network topology information server, where the acquired Network map and Cost map may be used for multiple relay node selection; The relay node information collected by the control node may be configured by the administrator to configure the relay node information to the relay control node, or may actively report the relay node information to the relay control node when the relay node goes online. Obtained, the relay The node information includes a node address of each relay node, and may also include a load condition, a quality of service measurement result, and the like, and may be used for multiple relay node selection;
所述 Network ma 包含所有节点的 IP前缀与网络 ID、 即 PID的映射; 所述 Cost ma 包含 PID间的路径代价值, 所述所有节点包括对端节点和中 继节点。  The Network ma includes a mapping of an IP prefix of all nodes to a network ID, that is, a PID; the Cost ma includes a path cost value between the PIDs, and all the nodes include a peer node and a relay node.
步驟 302: 在每次第一对端节点需要向第二对端节点发送数据时, 第一 对端节点向中继控制节点发送中继节点请求;  Step 302: The first peer node sends a relay node request to the relay control node each time the first peer node needs to send data to the second peer node.
这里, 所述中继节点请求包含第一对端节点信息和第二对端节点信息; 所述第一对端节点信息和第二对端节点信息包括第一对端节点和笫二对端 节点的节点 IP地址、 和 /或节点标识、 和 /或用户标识等;  Here, the relay node request includes first peer node information and second peer node information; the first peer node information and the second peer node information include a first peer node and a second peer node Node IP address, and/or node identification, and/or user identification, etc.;
所述第一对端节点为发起中继传输的对端节点, 所述第二对端节点为 第一对端节点发送数据的目的对端节点。  The first peer node is a peer node that initiates a relay transmission, and the second peer node is a destination peer node that sends data to the first peer node.
步驟 303:中继控制节点接收并接受第一对端节点每次发送的中继节点 请求;  Step 303: The relay control node receives and accepts a relay node request sent by the first peer node each time;
步骤 304:中继控制节点根据第一和第二对端节点 IP地址、 Network map 和 Cost ma 对中继节点列表进行处理;  Step 304: The relay control node processes the relay node list according to the first and second peer node IP addresses, the network map, and the cost ma.
具体的, 中继控制节点根据第一对端节点和第二对端节点的节点 IP地 址的 IP前缀, 在 Network ma 中查找相应 PID的映射关联, 如果查找到 , 则中继控制节点根据 Network map 获得所有中继节点的 PID 集合: 中继 PID1〜中继 PIDn,并通过 Cost ma 计算从各中继 PID进行中继的中继路径 代价, 根据所述中继路径代价对中继节点列表进行处理; 如果没有查找到, 则中继控制节点重新从至少一个网络拓朴信息服务器获取 Network map和 Cost map , 重新执行本步骤;  Specifically, the relay control node searches for a mapping association of the corresponding PID in the network ma according to the IP prefix of the node IP address of the first peer node and the second peer node, and if found, the relay control node according to the network map Obtaining PID sets of all relay nodes: relay PID1~relay PIDn, and calculating a relay path cost relayed from each relay PID through Cost ma, and processing the relay node list according to the relay path cost If not found, the relay control node re-acquires the Network map and the Cost map from at least one network topology information server, and performs this step again;
本步骤中, 若中继节点请求中不包括第一对端节点和第二对端节点的 节点 IP地址, 在中继控制节点需要将中继节点请求中第一对端节点和第二 对端节点的节点标识或用户标识转换为第一对端节点和第二对端节点的节 点 IP地址; In this step, if the relay node request does not include the node IP address of the first peer node and the second peer node, the relay control node needs to send the first node and the second node in the relay node request. Converting the node identifier or user identifier of the peer node to the node IP address of the first peer node and the second peer node;
所述处理可以是打分和 /或排序和 /或筛选; 其中, 当以中继路径的代价 来打分时, 代价越小的分值越高, 分值越高则表示中继节点越佳; 当以中 继路径的代价来进行排序时, 代价越小的排位越靠前, 即中继节点越佳; 当以中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过预 先设定的阀值的中继节点。  The processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
进一步的, 所述打分、 排序和筛选还可以考虑中继节点的负载情况、 和 /或 J良务质量测量结果等其他因素。  Further, the scoring, sorting, and screening may also consider other factors such as the load status of the relay node, and/or the quality measurement result of the J service.
步骤 305: 中继控制节点向第一对端节点返回处理后的中继节点列表; 步骤 306: 第一对端节点获得处理后的中继节点列表后,选择中继节点 中转数据到第二对端节点:  Step 305: The relay control node returns the processed relay node list to the first peer node. Step 306: After obtaining the processed relay node list, the first peer node selects the relay node to transfer the data to the second pair. End node:
本步驟中, 所述选择中继节点一般是选择打分的分值最高的中继节点、 和 /或选择筛选后的中继节点列表中的任意一个中继节点、 和 /或选择排序排 在最前面的中继节点; 当打分的分值最高的中继节点有多个时, 可以在其 中任意选择一个中继节点;  In this step, the selecting the relay node is generally selecting the relay node with the highest score of the score, and/or selecting any one of the relay nodes in the filtered relay node list, and/or selecting the sorting rank in the most The relay node in front; when there are multiple relay nodes with the highest score, the relay node can be arbitrarily selected;
所述数据先由第一对端节点发送到中继节点, 再由中继节点发送到第 二对端节点; 类似地, 第二对端节点也可以利用中继节点中转数据到第一 对端节点。  The data is first sent by the first peer node to the relay node, and then sent by the relay node to the second peer node; similarly, the second peer node may also use the relay node to transfer data to the first peer end. node.
上述步骤 301中中继控制节点获取 Network map, Cost map与中继控制 节点收集中继节点信息的顺序可以随意, 可以同时进行。  In the foregoing step 301, the relay control node acquires the network map, and the order of the cost map and the relay control node to collect the relay node information may be arbitrary, and may be performed simultaneously.
对于步驟 304的具体实现方法, 如图 5所示, 包括以下几个步骤: 步骤 304a: 中继控制节点根据中继节点的负载等其他因素对中继节点 进行初步筛选;  For the specific implementation method of step 304, as shown in FIG. 5, the following steps are included: Step 304a: The relay control node performs preliminary screening on the relay node according to other factors such as the load of the relay node;
这里, 一般是将负载大于预先设定的阈值的中继节点从中继节点列表 中删除, 本步踝是可选的。 Here, the relay node is generally listed with a load greater than a preset threshold from the relay node list. In the delete, this step is optional.
步驟 304b: 中继控制节点根据 etwork map获得所有中继节点的 PID 集合: 中继 PID1 ~中继 PIDn;  Step 304b: The relay control node obtains the PID set of all the relay nodes according to the etwork map: relay PID1 ~ relay PIDn;
本步驟中, 中继控制节点可以随着中继节点的加入和退出一直维护和 更新所有中继节点的 PID集合, 其中, 一个中继 PID将对应至少一个中继 节点  In this step, the relay control node may maintain and update the PID set of all the relay nodes as the relay node joins and exits, wherein one relay PID will correspond to at least one relay node.
步骤 304c: 中继控制节点根据 Network map查找到第一和第二对端节 点 IP地址对应的 PID: 第一对端 PID、 第二对端 PID;  Step 304c: The relay control node searches for the PID corresponding to the IP addresses of the first and second peer nodes according to the Network map: the first peer PID and the second peer PID;
步骤 304d:中继控制节点计算从各中继 PID进行中继的中继路径代价; 本步—豫中, 中继路径代价可以采用正向中继路径代价、 反向中继路径 代价或双向中继路径代价,三者的计算需要利用 Cost map,其中, cost ( PID A, PID B )是指从 PID A到 PID B的直连路径的代价值。正向中继路径代价 =cost (第一对端 PID , 中继 PIDi ) +cost (中继 PIDi, 第二对端 PID ); 反向 中继路径代价=。(^ (第二对端 PID, 中继 PIDi ) +cost (中继 PIDi, 第一对 端 PID ); 双向中继路径代价 =正向中继路径代价 +反向中继路径代价。  Step 304d: The relay control node calculates a relay path cost for relaying from each relay PID. In this step, the relay path cost may adopt a forward relay path cost, a reverse relay path cost, or a two-way medium. Following the path cost, the calculation of the three requires the use of a Cost map, where cost ( PID A, PID B ) refers to the value of the direct path from PID A to PID B. Forward relay path cost = cost (first peer PID, relay PIDi) + cost (relay PIDi, second peer PID); reverse relay path cost =. (^ (second peer PID, relay PIDi) + cost (relay PIDi, first peer PID); two-way relay path cost = forward relay path cost + reverse relay path cost.
步驟 304e: 中继控制节点根据所述中继路径代价对每个中继 PID对应 的中继节点进行打分和 /或筛选和 /或排序;  Step 304e: The relay control node scores and/or filters and/or sorts the relay nodes corresponding to each relay PID according to the relay path cost.
本步骤中, 当以中继路径代价进行打分时, 代价越小的分值越高; 当 以中继路径代价进行排序时, 代价越 '〗、的排位越靠前; 当以中继路径代价 作为筛选条件时, 从中继节点列表中筛除代价超过预先设定的阀值的中继 节点。  In this step, when scoring with the relay path cost, the lower the cost, the higher the score; when sorting with the relay path cost, the more the cost, the higher the ranking; the relay path When the cost is used as a screening condition, the relay node whose cost exceeds a preset threshold is screened out from the relay node list.
其中, 在对每个中继 PID对应的中继节点进行打分时, 对应同一个中 继 PID的中继节点的分数相同; 在对每个中继 PID对应的中继节点进行排 序时, 对应同一个中继 PID的中继节点的排位相部。  Wherein, when the relay node corresponding to each relay PID is scored, the scores of the relay nodes corresponding to the same relay PID are the same; when the relay nodes corresponding to each relay PID are sorted, the corresponding The phase of the relay node of a relay PID.
进一步的, 本步驟还包括: 中继控制节点将中继路径代价结合每个中 继节点的负载情况、 和 /或服务质量测量结果等其他因素, 对每个中继 PID 对应的中继节点进行打分和 /或筛选和 /或排序。 Further, the step further includes: the relay control node combines the relay path cost into each of the The relay nodes corresponding to each relay PID are scored and/or filtered and/or ordered according to other factors such as the load condition of the node, and/or the quality of service measurement.
为了实现上述方法, 本发明还提供了实现中继节点的选择系统, 如图 6 所示, 该系统包括: 中继控制节点 61、 至少一个网络拓朴信息服务器 62、 中继节点 63、 第一对端节点 64; 其中,  In order to implement the above method, the present invention further provides a selection system for implementing a relay node. As shown in FIG. 6, the system includes: a relay control node 61, at least one network topology information server 62, a relay node 63, and a first Peer node 64; where
中继控制节点 61 , 用于从至少一个网络拓朴信息服务器 62 获取 Network map和 Cost map,并根据获得的中继节点信息生成或更新中继节点 列表; 在每次接收到第一对端节点 64的中继节点请求后, 根据所述中继节 点请求、所述 Network map及所述 Cost map对所述中继节点列表进行处理, 并将处理后的中继节点列表返回给笫一对端节点 64;  a relay control node 61, configured to acquire a network map and a cost map from at least one network topology information server 62, and generate or update a relay node list according to the obtained relay node information; each time receiving the first peer node After the relay node requests 64, the relay node list is processed according to the relay node request, the network map, and the cost map, and the processed relay node list is returned to the pair of terminals. Node 64;
网络拓朴信息服务器 62,用于向中继控制节点 61提供 etwork map和 Cost map;  a network topology information server 62, configured to provide an etwork map and a cost map to the relay control node 61;
中继节点 63 , 用于中转数据;  a relay node 63, configured to transfer data;
第一对端节点 64, 用于向中继控制节点 61发送中继节点请求, 并从收 到的中继节点列表中选择中继节点 63中转数据;  The first peer node 64 is configured to send a relay node request to the relay control node 61, and select the relay node 63 to transfer data from the received relay node list;
所述中继控制节点 61包括: 网络拓朴信息客户端单元 611、 中继节点 信息管理单元 612、 中继处理单元 613 ; 其中,  The relay control node 61 includes: a network topology information client unit 611, a relay node information management unit 612, and a relay processing unit 613;
网络拓朴信息客户端单元 611, 用于从至少一个网络拓朴信息服务器 62获耳又 Network ma 和 Cost map;  a network topology information client unit 611, configured to obtain an ear and a network ma and a cost map from at least one network topology information server 62;
中继节点信息管理单元 612,用于根据获得的中继节点信息生成或更新 中继节点列表;  a relay node information management unit 612, configured to generate or update a relay node list according to the obtained relay node information;
中继处理单元 613, 用于在每次接收到第一对端节点 64的中继节点请 求后, 根据所述中继节点请求、 Network ma 及 Cost map对所述中继节点 列表进行处理, 并将处理后的中继节点列表返回给第一对端节点 64;  The relay processing unit 613 is configured to process the relay node list according to the relay node request, the Network ma, and the Costa map after each receiving the relay node request of the first correspondent node 64, and Returning the processed relay node list to the first peer node 64;
所述中继节点请求包含第一对端节点信息和第二对端节点信息; 所述 第一对端节点信息和第二对端节点信息包括: 第一对端节点 64和第二对端 节点的节点 IP地址、 和 /或节点标识、 和 /或用户标识等; The relay node request includes first peer node information and second peer node information; The first peer node information and the second peer node information include: a node IP address of the first peer node 64 and the second peer node, and/or a node identifier, and/or a user identifier, and the like;
所述中继节点信息包括各中继节点 63的节点地址, 以及还可以包括: 负载情况、 和 /或服务质量测量结果等, 可以用于多次中继节点选择; 所述 获得中继节点信息, 一般是, 可以由管理员将中继节点信息配置到中继控 制节点中, 也可以是中继节点上线时主动向中继控制节点汇报自身的中继 节点信息而获得,  The relay node information includes a node address of each relay node 63, and may further include: a load condition, and/or a quality of service measurement result, etc., which may be used for multiple relay node selection; Generally, the relay node information may be configured by the administrator to the relay control node, or may be obtained by actively reporting the relay node information to the relay control node when the relay node goes online.
所述中继处理单元 613根据所述中继节点请求、 Network map及 Cost map对所述中继节点列表进行处理, 具体为: 所述中继处理单元 613根据 第一对端节点 64和第二对端节点的节点 IP地址的 IP前缀,在 Network map 中查找相应 PID的映射,如果查找到,则中继处理单元 613根据 Network map 获得所有中继节点 63的 PID集合:中继 PID1〜中继 PIDn,并通过 Cost map 计算从各中继 PID进行中继的中继路径代价, 根据所述中继路径代价对中 继节点列表进行处理; 如果没有查找到, 则通知网络拓朴信息客户端单元 611重新从至少一个网络拓朴信息服务器 62获取 Network map和 Cost map , 所述中继处理单元 613重新在 Network map中查找所述映射;  The relay processing unit 613 processes the relay node list according to the relay node request, the network map, and the core map, specifically: the relay processing unit 613 is configured according to the first peer node 64 and the second The IP prefix of the node IP address of the peer node searches for a mapping of the corresponding PID in the Network map. If found, the relay processing unit 613 obtains the PID set of all the relay nodes 63 according to the Network map: relay PID1~relay PIDn, and calculating a relay path cost for relaying from each relay PID through a Costa map, processing the relay node list according to the relay path cost; if not, notifying the network topology information client unit 611 re-acquiring the network map and the cost map from the at least one network topology information server 62, and the relay processing unit 613 searches for the mapping in the network map again;
所述处理可以是打分和 /或排序和 /或筛选; 其中, 当以中继路径的代价 来打分时, 代价越小的分值越高, 分值越高则表示中继节点越佳; 当以中 继路径的代价来进行排序时, 代价越小的排位越靠前, 即中继节点越佳; 当以中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过预 先设定的阀值的中继节点。  The processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
进一步的, 所述中继处理单元 613 ,还用于将中继路径代价结合每个中 继节点 63 的负载情况、 和 /或服务质量测量结果等其他因素, 对每个中继 PID对应的中继节点 63进行打分和 /或筛选和 /或排序。  Further, the relay processing unit 613 is further configured to combine the relay path cost with the load condition of each relay node 63, and/or other factors such as the quality of service measurement result, and corresponding to each relay PID. Following the node 63 scores and/or filters and/or sorts.
进一步的, 所述中继路径代价是正向中继路径代价, 为: 第一对端节 点 64到中继节点 63路径代价与中继节点 63到第二对端节点路径代价之和; 或者, 所述中继路径代价是反向中继路径代价, 为: 第二对端节点到 中继节点 63路径代价与中继节点 63到第一对端节点 64路径代价之和; 或者, 所述中继路径代价是双向中继路径代价, 为: 正向中继路径代 价与反向中继路径代价之和。 Further, the relay path cost is a forward relay path cost, and is: a first pair of end sections Point 64 to the relay node 63 path cost and the sum of the relay node 63 to the second peer node path cost; or, the relay path cost is the reverse relay path cost, which is: the second peer node to the middle Following the path cost of the node 63 and the path cost of the relay node 63 to the first correspondent node 64; or, the relay path cost is a two-way relay path cost, which is: a forward relay path cost and a reverse relay The sum of the path costs.
所述第一对端节点 64从收到的中继节点列表中选择中继节点,具体为: 所述第一对端节点 64选择打分的分值最高的中继节点、和 /或选择筛选后的 中继节点列表中的任意一个中继节点、 和 /或选择排序排在最前面的中继节 点; 当打分的分值最高的中继节点有多个时, 可以在其中任意选择一个中 继节点。  The first peer node 64 selects a relay node from the received relay node list, specifically: the first peer node 64 selects the relay node with the highest score, and/or selects the filtered Any one of the relay nodes in the relay node list, and/or select the top ranked relay node; when there are multiple relay nodes with the highest score, you can arbitrarily select one of the relays node.
基于上述系统, 本发明还提供一种中继控制节点, 如图 6所示, 该中 继控制节点 61包括: 网络拓朴信息客户端单元 611、 中继节点信息管理单 元 612、 中继处理单元 613; 其中,  Based on the foregoing system, the present invention further provides a relay control node. As shown in FIG. 6, the relay control node 61 includes: a network topology information client unit 611, a relay node information management unit 612, and a relay processing unit. 613; Among them,
网络拓朴信息客户端单元 611 , 用于从至少一个网络拓朴信息服务器 62获取 Network map和 Cost map;  a network topology information client unit 611, configured to obtain a network map and a cost map from at least one network topology information server 62;
中继节点信息管理单元 612,用于根据获得的中继节点信息生成或更新 中继节点列表;  a relay node information management unit 612, configured to generate or update a relay node list according to the obtained relay node information;
中继处理单元 613, 用于在每次接收到第一对端节点 64的中继节点请 求后, 根据所述中继节点请求、 所述 Network map及所述 Cost map对所述 中继节点列表进行处理, 并将处理后的中继节点列表返回给第一对端节点 64;  The relay processing unit 613 is configured to: after each receiving the relay node request of the first peer node 64, the relay node list according to the relay node request, the network map, and the cost map Processing, and returning the processed relay node list to the first peer node 64;
所述中继节点请求包含第一对端节点信息和第二对端节点信息; 所述 第一对端节点信息和第二对端节点信息包括: 第一对端节点 64和第二对端 节点的节点 IP地址、 和 /或节点标识、 和 /或用户标识等;  The relay node request includes first peer node information and second peer node information; the first peer node information and the second peer node information include: a first peer node 64 and a second peer node Node IP address, and/or node identification, and/or user identification, etc.;
所述中继节点信息包括各中继节点 63的节点地址, 以及还可以包括: 负载情况、 和 /或服务质量测量结果等, 可以用于多次中继节点选择; 所述中继处理单元 613根据所述中继节点请求、 Network map及 Cost map对所述中继节点列表进行处理, 具体为: 所述中继处理单元 613根据 第一对端节点 64和第二对端节点的节点 IP地址的 IP前缀,在 Network map 中查找相应 PID的映射,如果查找到,则中继处理单元 613根据 Network map 获得所有中继节点 63的 PID集合:中继 PID1〜中继 PIDn,并通过 Cost map 计算从各中继 PID进行中继的中继路径代价, 根据所述中继路径代价对中 继节点列表进行处理; 如果没有查找到, 则通知网络拓朴信息客户端单元 611重新从至少一个网络拓朴信息服务器 62获取 Network map和 Cost map, 所述中继处理单元 613重新在 Network map中查找所述映射; The relay node information includes a node address of each relay node 63, and may further include: The load condition, and/or the quality of service measurement result, etc., may be used for multiple relay node selection; the relay processing unit 613 performs the relay node list according to the relay node request, the Network map, and the Cost map. The processing is specifically: the relay processing unit 613 searches for a mapping of the corresponding PID in the Network map according to the IP prefix of the node IP address of the first peer node 64 and the second peer node, and if found, relays The processing unit 613 obtains the PID set of all the relay nodes 63 according to the Network map: the relay PID1~the relay PIDn, and calculates the relay path cost relayed from each relay PID through the Costa map, according to the relay path cost Processing the relay node list; if not found, notifying the network topology information client unit 611 to reacquire the network map and the cost map from the at least one network topology information server 62, the relay processing unit 613 re-establishing in the Network Find the mapping in the map;
所述处理可以是打分和 /或排序和 /或筛选; 其中, 当以中继路径的代价 来打分时, 代价越小的分值越高, 分值越高则表示中继节点越佳; 当以中 继路径的代价来进行排序时, 代价越小的排位越靠前, 即中继节点越佳; 当以中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过预 先设定的阀值的中继节点。  The processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
进一步的, 所述中继处理单元 613,还用于将中继路径代价结合每个中 继节点 63 的负载情况、 和 /或服务质量测量结果等其他因素, 对每个中继 PID对应的中继节点 63进行打分和 /或筛选和 /或排序。  Further, the relay processing unit 613 is further configured to combine the relay path cost with the load condition of each relay node 63, and/or other factors such as the quality of service measurement result, and correspond to each relay PID. Following the node 63 scores and/or filters and/or sorts.
进一步的, 所述中继路径代价是正向中继路径代价, 为: 笫一对端节 点 64到中继节点 63路径代价与中继节点 63到第二对端节点路径代价之和; 或者, 所述中继路径代价是反向中继路径代价, 为: 第二对端节点到 中继节点 63路径代价与中继节点 63到第一对端节点 64路径代价之和; 或者, 所述中继路径代价是双向中继路径代价, 为: 正向中继路径代 价与反向中继路径代价之和。  Further, the relay path cost is a forward relay path cost, which is: a sum of a path cost of the pair of end nodes 64 to the relay node 63 and a path cost of the relay node 63 to the second opposite end node; or The relay path cost is a reverse relay path cost, which is: a sum of a path cost of the second correspondent node to the relay node 63 and a path cost of the relay node 63 to the first correspondent node 64; or, the relay The path cost is the two-way relay path cost, which is: the sum of the forward relay path cost and the reverse relay path cost.
本发明还提供一种实现中继节点的选择方法, 如图 7所示, 该方法包 括以下几个步驟: The present invention also provides a method for selecting a relay node, as shown in FIG. 7, the method package Including the following steps:
步驟 701 : 中继控制节点从至少一个网络拓朴信息服务器获取 etwork map和 Cost map, 并根据中继节点信息生成或更新中继节点列表;  Step 701: The relay control node acquires an etwork map and a cost map from at least one network topology information server, and generates or updates a relay node list according to the relay node information.
步骤 702: 在每次第一对端节点需要向第二对端节点发送数据时, 第一 对端节点通过其代理节点向中继控制节点发送中继节点请求;  Step 702: The first peer node sends a relay node request to the relay control node by using the proxy node each time the first peer node needs to send data to the second peer node.
具体的, 第一对端节点向其代理节点请求与第二对端节点发送数据; 所述代理节点代根据第一对端节点的请求, 向中继控制节点发送中继节点 请求;  Specifically, the first peer node requests its proxy node to send data with the second peer node; the proxy node sends a relay node request to the relay control node according to the request of the first peer node;
所述第一对端节点的请求和中继节点请求均包含第一对端节点信息和 第二对端节点信息; 所述第一对端节点信息和第二对端节点信息包括第一 对端节点和第二对端节点的节点 IP地址、 和 /或节点标识、 和 /或用户标识 等。  The request of the first peer node and the request of the relay node both include the first peer node information and the second peer node information; the first peer node information and the second peer node information include the first peer end The node IP address of the node and the second peer node, and/or the node identifier, and/or the user identity, and the like.
步驟 703: 中继控制节点接收并接受第一对端节点的中继节点请求; 步樣 704:中继控制节点根据第一和第二对端节点 IP地址、 Network map 和 Cost ma 对中继节点列表进行处理;  Step 703: The relay control node receives and accepts the relay node request of the first peer node. Step 704: The relay control node selects the relay node according to the first and second peer node IP addresses, the Network map, and the Cost ma. List processing;
具体的, 中继控制节点根据第一对端节点和第二对端节点的节点 IP地 址的 IP前缀, 在 Network ma 中查找相应 PID的映射关联, 如果查找到, 则中继控制节点根据 Network map 获得所有中继节点的 PID 集合: 中继 PID1〜中继 PIDn,并通过 Cost ma 计算从各中继 PID进行中继的中继路径 代价, 根据所述中继路径代价对中继节点列表进行处理; 如果没有查找到, 则中继控制节点重新从至少一个网络拓朴信息服务器获取 etwork map和 Cost map , 重新执行本步驟;  Specifically, the relay control node searches for a mapping association of the corresponding PID in the network ma according to the IP prefix of the node IP address of the first peer node and the second peer node, and if found, the relay control node according to the network map Obtaining PID sets of all relay nodes: relay PID1~relay PIDn, and calculating a relay path cost relayed from each relay PID through Cost ma, and processing the relay node list according to the relay path cost If not found, the relay control node re-executes the etwork map and the cost map from at least one network topology information server, and performs this step again;
本步骤中, 若中继节点请求中不包括第一对端节点和第二对端节点的 节点 IP地址, 在中继控制节点需要将中继节点请求中第一对端节点和第二 对端节点的节点标识或用户标识转换为第一对端节点和第二对端节点的节 点 IP地址; In this step, if the relay node request does not include the node IP address of the first peer node and the second peer node, the relay control node needs to send the first node and the second peer in the relay node request. The node identifier or user ID of the node is converted into a section of the first peer node and the second peer node Point IP address;
所述处理可以是打分和 /或排序和 /或筛选; 其中, 当以中继路径的代价 来打分时, 代价越小的分值越高, 分值越高则表示中继节点越佳; 当以中 继路径的代价来进行排序时, 代价越小的排位越靠前, 即中继节点越佳; 当以中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过预 先设定的阀值的中继节点。  The processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
进一步的, 所述打分、 排序和筛选还可以考虑中继节点的负载情况、 和 /或服务质量测量结果等其他因素。  Further, the scoring, sorting, and screening may also consider other factors such as the load status of the relay node, and/or the quality of service measurement.
步骤 705: 中继控制节点向第一对端节点的代理节点返回处理后的中继 节点列表;  Step 705: The relay control node returns a processed relay node list to the proxy node of the first peer node.
步骤 706:第一对端节点的代理节点从中继控制节点返回的中继节点列 表中选择中继节点;  Step 706: The proxy node of the first peer node selects a relay node from the relay node list returned by the relay control node.
步驟 707:笫一对端节点的代理节点向第一对端节点返回选择的中继节 点;  Step 707: The proxy node of the pair of end nodes returns the selected relay node to the first peer node.
步骤 708: 第一对端节点通过中继节点中转数据到第二对端节点; 本步骤中, 所述第一对端节点获得一个或多个中继节点, 当获得多个 中继节点时, 可进一步选择其中一个中继节点中转数据到第二对端节点。  Step 708: The first peer node transfers the data to the second peer node by using the relay node. In this step, the first peer node obtains one or more relay nodes, and when multiple relay nodes are obtained, One of the relay nodes may be further selected to transfer data to the second peer node.
上述步驟 707 中, 第一对端节点的代理节点也可以不选择中继节点, 转发中继控制节点返回的中继节点列表到第一对端节点;  In the foregoing step 707, the proxy node of the first peer node may also not select the relay node, and forward the relay node list returned by the relay control node to the first peer node;
相应的, 上述步骤 708 中, 第一对端节点获得处理后的中继节点列表 后, 选择中继节点中转数据到第二对端节点。  Correspondingly, in the foregoing step 708, after obtaining the processed relay node list, the first peer node selects the relay node to transfer the data to the second peer node.
本发明还提供了实现中继节点的选择系统, 如图 8所示, 该系统包括: 中继控制节点 81、 至少一个网络拓朴信息服务器 82、 中继节点 83、 第一对 端节点 84、 第一对端节点 84的代理节点 85; 其中,  The present invention also provides a selection system for implementing a relay node. As shown in FIG. 8, the system includes: a relay control node 81, at least one network topology information server 82, a relay node 83, and a first peer node 84. a proxy node 85 of the first pair of end nodes 84; wherein
中继控制节点 81 , 用于从至少一个网络拓朴信息服务器 82 获取 Network map和 Cost map,并根据获得的中继节点信息生成或更新中继节点 列表;在每次接收到中继节点请求后,根据所述中继节点请求、所述 Network map及所述 Cost map对所述中继节点列表进行处理, 并将处理后的中继节 点列表返回给所述代理节点 85; a relay control node 81, configured to obtain from at least one network topology information server 82 a network map and a cost map, and generating or updating a relay node list according to the obtained relay node information; and each time receiving the relay node request, according to the relay node request, the network map, and the Cost map Processing the relay node list, and returning the processed relay node list to the proxy node 85;
网络拓朴信息服务器 82,用于向中继控制节点 81提供 Network map和 Cost map;  a network topology information server 82, configured to provide a network map and a cost map to the relay control node 81;
中继节点 83, 用于中转数据;  a relay node 83, configured to transfer data;
第一对端节点 84,用于向其代理节点 85请求与第二对端节点发送数据; 并通过中继节点 83中转数据;  The first peer node 84 is configured to request its proxy node 85 to send data with the second peer node; and transfer data through the relay node 83;
代理节点 85 , 用于根据第一对端节点 84的请求, 向中继控制节点发送 中继节点请求;并从中继控制节点返回的中继节点列表中选择中继节点 83 , 将选择的中继节点 83的信息返回给第一对端节点 84;  The proxy node 85 is configured to send a relay node request to the relay control node according to the request of the first peer node 84; and select the relay node 83 from the relay node list returned by the relay control node, and select the relay The information of the node 83 is returned to the first peer node 84;
所述中继控制节点 81包括: 网络拓朴信息客户端单元 811、 中继节点 信息管理单元 812、 中继处理单元 813; 其中,  The relay control node 81 includes: a network topology information client unit 811, a relay node information management unit 812, and a relay processing unit 813;
网络拓朴信息客户端单元 811 , 用于从至少一个网络拓朴信息服务器 62获取 Network map和 Cost map;  a network topology information client unit 811, configured to obtain a network map and a cost map from at least one network topology information server 62;
中继节点信息管理单元 812,用于根据获得的中继节点信息生成或更新 中继节点列表;  a relay node information management unit 812, configured to generate or update a relay node list according to the obtained relay node information;
中继处理单元 813 , 用于在每次接收到中继节点请求后,根据所述中继 节点请求、 Network map及 Cost map对所述中继节点列表进行处理, 并将 处理后的中继节点列表返回给所述代理节点 85;  The relay processing unit 813 is configured to process the relay node list according to the relay node request, the network map, and the core map after receiving the relay node request, and process the processed relay node. The list is returned to the proxy node 85;
所述中继节点请求包含第一对端节点信息和第二对端节点信息; 所述 第一对端节点信息和第二对端节点信息包括: 第一对端节点 84和第二对端 节点的节点 IP地址、 和 /或节点标识、 和 /或用户标识等;  The relay node request includes first peer node information and second peer node information; the first peer node information and the second peer node information include: a first peer node 84 and a second peer node Node IP address, and/or node identification, and/or user identification, etc.;
所述中继节点信息包括各中继节点 83的节点地址, 以及还可以包括: 负载情况、 和 /或服务质量测量结果等, 可以用于多次中继节点选择; 所述 获得中继节点信息, 一般是, 可以由管理员将中继节点信息配置到中继控 制节点中, 也可以是中继节点上线时主动向中继控制节点汇报自身的中继 节点信息而获得, The relay node information includes a node address of each relay node 83, and may further include: The load condition, and/or the quality of service measurement result, etc., may be used for multiple relay node selection; the obtaining relay node information, generally, the administrator may configure the relay node information into the relay control node, It may also be obtained by actively reporting the relay node information to the relay control node when the relay node goes online.
所述中继处理单元 813根据所述中继节点请求、 Network ma 及 Cost map对所述中继节点列表进行处理, 具体为: 所述中继处理单元 813根据 第一对端节点 84和第二对端节点的节点 IP地址的 IP前缀,在 Network map 中查找相应 PID的映射,如果查找到,则中继处理单元 813根据 Network map 获得所有中继节点 83的 PID集合:中继 PID1〜中继 PIDn,并通过 Cost map 计算从各中继 PID进行中继的中继路径代价, 根据所述中继路径代价对中 继节点列表进行处理; 如果没有查找到, 则通知网络拓朴信息客户端单元 811重新从至少一个网络拓朴信息服务器 82获取 Network ma 和 Cost map , 所述中继处理单元 813重新在 Network map中查找所述映射;  The relay processing unit 813 processes the relay node list according to the relay node request, the network ma, and the core map, specifically: the relay processing unit 813 is configured according to the first peer node 84 and the second The IP prefix of the node IP address of the peer node searches for a mapping of the corresponding PID in the network map. If found, the relay processing unit 813 obtains the PID set of all the relay nodes 83 according to the Network map: relay PID1~relay PIDn, and calculating a relay path cost for relaying from each relay PID through a Costa map, processing the relay node list according to the relay path cost; if not, notifying the network topology information client unit 811 re-acquiring network ma and Cost map from at least one network topology information server 82, and the relay processing unit 813 searches for the mapping in the network map again;
所述处理可以是打分和 /或排序和 /或筛选; 其中, 当以中继路径的代价 来打分时, 代价越小的分值越高, 分值越高则表示中继节点越佳; 当以中 继路径的代价来进行排序时, 代价越小的排位越靠前, 即中继节点越佳; 当以中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过预 先设定的阀值的中继节点。  The processing may be scoring and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score, and the higher the score, the better the relay node; When sorting at the cost of the relay path, the lower the cost, the higher the ranking, that is, the better the relay node; when the cost of the relay path is used as the screening condition, the cost of screening from the list of relay nodes exceeds the pre- The relay node of the set threshold.
进一步的, 所述中继处理单元 813 ,还用于将中继路径代价结合每个中 继节点 83 的负载情况、 和 /或服务质量测量结果等其他因素, 对每个中继 PID对应的中继节点 83进行打分和 /或筛选和 /或排序。  Further, the relay processing unit 813 is further configured to combine the relay path cost with the load condition of each relay node 83, and/or other factors such as the quality of service measurement result, and corresponding to each relay PID. Following node 83 scores and/or filters and/or sorts.
进一步的, 所述中继路径代价是正向中继路径代价, 为: 第一对端节 点 84到中继节点 83路径代价与中继节点 83到第二对端节点路径代价之和; 或者, 所述中继路径代价是反向中继路径代价, 为: 第二对端节点到 中继节点 83路径代价与中继节点 83到第一对端节点 84路径代价之和; 或者, 所述中继路径代价是双向中继路径代价, 为: 正向中继路径代 价与反向中继路径代价之和。 Further, the relay path cost is a forward relay path cost, which is: a sum of a path cost of the first peer node 84 to the relay node 83 and a path cost of the relay node 83 to the second peer node; or The relay path cost is a reverse relay path cost, which is: a path cost of the second peer node to the relay node 83 and a path cost of the relay node 83 to the first peer node 84; Alternatively, the relay path cost is a two-way relay path cost, which is: a sum of a forward relay path cost and a reverse relay path cost.
通过本发明的方法, 能够合理的实现中继节点的选择, 消息数较少, 方法简单, 而且, 在每次进行中继节点选择时, 不需要对端节点与网络拓 朴信息服务器进行交互, 减轻网络拓朴信息服务器的负担。  The method of the present invention can reasonably implement the selection of the relay node, the number of messages is small, and the method is simple. Moreover, each time the relay node is selected, the peer node does not need to interact with the network topology information server. Reduce the burden on the network topology information server.
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围, 凡在本发明的精神和原则之内所作的任何修改、 等同替换和改进 等, 均应包含在本发明的保护范围之内。  The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included. Within the scope of protection of the present invention.

Claims

权利要求书 Claim
1、 一种中继节点的选择方法, 其特征在于, 该方法包括:  A method for selecting a relay node, the method comprising:
中继控制节点从至少一个网络拓朴信息服务器获取网络映射和代价映 射, 中继控制节点根据获得的中继节点信息生成或更新中继节点列表; 中继控制节点在每次接收到第一对端节点的中继节点请求后, 4艮据所 述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列表进行 处理, 并将处理后的中继节点列表返回给第一对端节点;  The relay control node acquires the network mapping and the cost mapping from the at least one network topology information server, and the relay control node generates or updates the relay node list according to the obtained relay node information; the relay control node receives the first pair each time After the relay node of the end node requests, the relay node list is processed according to the relay node request, the network mapping, and the cost mapping, and the processed relay node list is returned to the a pair of end nodes;
所述第一对端节点从收到的中继节点列表中选择中继节点中转数据。 The first peer node selects relay node relay data from the received relay node list.
2、 根据权利要求 1所述的选择方法, 其特征在于, 所述中继节点请求 包含第一对端节点信息和第二对端节点信息; The selection method according to claim 1, wherein the relay node request includes first peer node information and second peer node information;
所述第一对端节点信息和第二对端节点信息包括: 第一对端节点和第 二对端节点的节点 IP地址、 和 /或节点标识、 和 /或用户标识;  The first peer node information and the second peer node information include: a node IP address of the first peer node and the second peer node, and/or a node identifier, and/or a user identifier;
所述第一对端节点为发起中继传输的对端节点, 所述第二对端节点为 第一对端节点发送数据的目的对端节点。  The first peer node is a peer node that initiates a relay transmission, and the second peer node is a destination peer node that sends data to the first peer node.
3、 根据权利要求 1所述的选择方法, 其特征在于, 所述中继节点信息 包括: 各中继节点的节点地址, 以及还可以包括负载情况、 和 /或服务质量 测量结果。  The selection method according to claim 1, wherein the relay node information comprises: a node address of each relay node, and may further include a load condition, and/or a quality of service measurement result.
4、 根据权利要求 2所述的选择方法, 其特征在于, 所述根据所述中继 节点请求、 所述网络映射及所述代价映射对所述中继节点列表进行处理 , 为: 根据第一对端节点和第二对端节点的节点 IP地址的 IP前缀,在网络映 射中查找相应网络位置标识(PID )的映射, 在查找到时, 所述中继控制节 点根据网络映射获得所有中继节点的 PID集合: 中继 PID1 ~中继 PIDn, 并 通过代价映射计算从各中继 PID进行中继的中继路径代价, 根据所述中继 路径代价对中继节点列表进行处理。  The selection method according to claim 2, wherein the processing the relay node list according to the relay node request, the network mapping, and the cost mapping is: according to the first The IP prefix of the node IP address of the peer node and the second peer node searches for a mapping of the corresponding network location identifier (PID) in the network mapping. When found, the relay control node obtains all the relays according to the network mapping. The PID set of the node: relay PID1 ~ relay PIDn, and calculate the relay path cost relayed from each relay PID through the cost map, and process the relay node list according to the relay path cost.
5、 根据权利要求 1或 4所述的选择方法, 其特征在于, 所述处理为打 分和 /或排序和 /或筛选; 其中, 当以中继路径的代价打分时, 代价越小的分 值越高; 当以中继路径的代价进行排序时, 代价越小的排位越靠前; 当以 中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过阀值的 中继节点。 The selection method according to claim 1 or 4, wherein the processing is Points and/or sorting and/or screening; wherein, when scoring at the cost of the relay path, the lower the cost, the higher the score; when sorting at the cost of the relay path, the lower the cost, the lower the ranking Before; when the cost of the relay path is used as a screening condition, the relay node whose cost exceeds the threshold is screened out from the relay node list.
6、 根据权利要求 5所述的选择方法, 其特征在于, 所述选择中继节点 为: 选择打分的分值最高的中继节点、 和 /或选择筛选后的中继节点列表中 的任意一个中继节点、 和 /或选择排序排在最前面的中继节点。  The selection method according to claim 5, wherein the selecting the relay node is: selecting a relay node with the highest score of the score, and/or selecting any one of the filtered relay node lists. The relay node, and/or the selection of the top ranked relay node.
7、 一种中继节点的选择系统, 其特征在于, 该系统包括: 中继控制节 点、 至少一个网络拓朴信息服务器、 中继节点、 第一对端节点; 其中, 中继控制节点, 用于从至少一个网络拓朴信息服务器获取网络映射和 代价映射, 并根据获得的中继节点信息生成或更新中继节点列表; 在每次 接收到第一对端节点的中继节点请求后, 根据所述中继节点请求、 所述网 络映射及所述代价映射对所述中继节点列表进行处理, 并将处理后的中继 节点列表返回给第一对端节点;  A relay node selection system, the system comprising: a relay control node, at least one network topology information server, a relay node, and a first pair of nodes; wherein, the relay control node uses Obtaining a network mapping and a cost mapping from at least one network topology information server, and generating or updating a relay node list according to the obtained relay node information; each time receiving the relay node request of the first peer node, according to The relay node request, the network mapping, and the cost mapping process the relay node list, and return the processed relay node list to the first peer node;
网络拓朴信息服务器, 用于向中继控制节点提供网络映射和代价映射; 中继节点, 用于中转第一对端节点发送的数据;  a network topology information server, configured to provide a network mapping and a cost mapping to the relay control node; and a relay node, configured to transit the data sent by the first peer node;
第一对端节点, 用于向中继控制节点发送中继节点请求, 并从收到的 中继节点列表中选择中继节点中转数据。  The first peer node is configured to send a relay node request to the relay control node, and select the relay node transit data from the received relay node list.
8、 根据权利要求 7所述的选择系统, 其特征在于, 所述中继控制节点 包括: 网络拓朴信息客户端单元、 中继处理单元、 中继节点信息管理单元; 其中,  The selection system according to claim 7, wherein the relay control node comprises: a network topology information client unit, a relay processing unit, and a relay node information management unit;
网络拓朴信息客户端单元, 用于从至少一个网络拓朴信息服务器获取 网络映射和代价映射;  a network topology information client unit, configured to obtain a network mapping and a cost mapping from at least one network topology information server;
中继节点信息管理单元, 用于根据中继节点信息生成或更新中继节点 列表; 中继处理单元, 用于在每次接收到第一对端节点的中继节点请求后, 根据所述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列 表进行处理, 并将处理后的中继节点列表返回给第一对端节点。 a relay node information management unit, configured to generate or update a relay node list according to the relay node information; a relay processing unit, configured to process the relay node list according to the relay node request, the network mapping, and the cost mapping after each receiving a relay node request of the first peer node And returning the processed relay node list to the first peer node.
9、根据权利要求 8所述的选择系统,其特征在于,所述中继处理单元, 具体用于根据第一对端节点和第二对端节点的节点 IP地址的 IP前缀,在网 络映射中查找相应 PID的映射, 在查找到时, 根据网络映射获得所有中继 节点的 PID集合: 中继 PID1〜中继 PIDn, 并通过代价映射计算从各中继 PID进行中继的中继路径代价,根据所述中继路径代价对中继节点列表进行 处理;  The selection system according to claim 8, wherein the relay processing unit is specifically configured to use an IP prefix according to a node IP address of the first peer node and the second peer node in the network mapping. Find the mapping of the corresponding PID. When finding, obtain the PID set of all relay nodes according to the network mapping: relay PID1~relay PIDn, and calculate the relay path cost relayed from each relay PID through the cost mapping, Processing the relay node list according to the relay path cost;
所述第一对端节点为发起中继传输的对端节点, 所述第二对端节点为 所述第一对端节点发送数据的目的对端节点。  The first peer node is a peer node that initiates a relay transmission, and the second peer node is a destination peer node that sends data to the first peer node.
10、 根据权利要求 9所述的选择系统, 其特征在于, 所述中继处理单 元, 具体用于对所述中继节点列表进行打分和 /或排序和 /或筛选; 其中, 当 以中继路径的代价打分时, 代价越小的分值越高; 当以中继路径的代价进 行排序时, 代价越小的排位越靠前; 当以中继路径的代价作为筛选条件时, 从中继节点列表中筛除代价超过阀值的中继节点。  The selection system according to claim 9, wherein the relay processing unit is specifically configured to score and/or sort and/or filter the relay node list; When the cost of the path is scored, the lower the cost, the higher the score; when sorting at the cost of the relay path, the lower the cost, the higher the ranking; when the cost of the relay path is used as the filtering condition, the secondary relay The node list is filtered out of relay nodes whose cost exceeds the threshold.
11、 根据权利要求 10所述的选择系统, 其特征在于, 所述第一对端节 点, 具体用于选择打分的分值最高的中继节点、 和 /或选择筛选后的中继节 点列表中的任意一个中继节点、 和 /或选择排序排在最前面的中继节点。  The selection system according to claim 10, wherein the first peer node is specifically configured to select a relay node with the highest score, and/or select a filtered relay node list. Any of the relay nodes, and/or select the top ranked relay node.
12、 一种中继控制节点, 其特征在于, 该中继控制节点包括: 网络拓 朴信息客户端单元、 中继处理单元、 中继节点信息管理单元; 其中,  A relay control node, the relay control node includes: a network topology information client unit, a relay processing unit, and a relay node information management unit;
网络拓朴信息客户端单元, 用于从至少一个网络拓朴信息服务器获取 网络映射和代价映射;  a network topology information client unit, configured to obtain a network mapping and a cost mapping from at least one network topology information server;
中继节点信息管理单元, 用于根据获得的中继节点信息生成或更新中 继节点列表; 中继处理单元, 用于在每次接收到第一对端节点的中继节点请求后, 根据所述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列 表进行处理, 并将处理后的中继节点列表返回给第一对端节点。 a relay node information management unit, configured to generate or update a relay node list according to the obtained relay node information; a relay processing unit, configured to process the relay node list according to the relay node request, the network mapping, and the cost mapping after each receiving a relay node request of the first peer node And returning the processed relay node list to the first peer node.
13、 一种中继节点的选择方法, 其特征在于, 该方法包括:  13. A method for selecting a relay node, the method comprising:
中继控制节点从至少一个网络拓朴信息服务器获取网络映射和代价映 射, 中继控制节点根据获得的中继节点信息生成或更新中继节点列表; 中继控制节点在每次接收到中继节点请求后, 根据所述中继节点请求、 所述网络映射及所述代价映射对所述中继节点列表进行处理, 并将处理后 的中继节点列表返回给第一对端节点的代理节点;  The relay control node acquires the network mapping and the cost mapping from the at least one network topology information server, and the relay control node generates or updates the relay node list according to the obtained relay node information; the relay control node receives the relay node each time After the request, the relay node list is processed according to the relay node request, the network mapping, and the cost mapping, and the processed relay node list is returned to the proxy node of the first peer node;
所述第一对端节点的代理节点从中继控制节点返回的中继节点列表中 选择中继节点, 返回给第一对端节点;  The proxy node of the first peer node selects a relay node from the relay node list returned by the relay control node, and returns to the first peer node;
所述第一对端节点通过中继节点中转数据。  The first peer node relays data through the relay node.
14、 根据权利要求 13所述的选择方法, 其特征在于, 所述根据所述中 继节点请求、 所述网络映射及所述代价映射对所述中继节点列表进行处理, 为: 根据第一对端节点和第二对端节点的节点 IP地址的 IP前缀,在网络映 射中查找相应 PID的映射, 在查找到时, 所述中继控制节点根据网络映射 获得所有中继节点的 PID集合: 中继 PID1 ~中继 PIDn, 并通过代价映射计 算从各中继 PID进行中继的中继路径代价, 根据所述中继路径代价对中继 节点列表进行处理。  The method according to claim 13, wherein the processing of the relay node list according to the relay node request, the network mapping, and the cost mapping is: according to the first The IP prefix of the node IP address of the peer node and the second peer node searches for a mapping of the corresponding PID in the network mapping. When found, the relay control node obtains the PID set of all the relay nodes according to the network mapping: Relay PID1 ~ relay PIDn, and calculate a relay path cost relayed from each relay PID through a cost map, and process the relay node list according to the relay path cost.
15、 一种中继节点的选择系统, 其特征在于, 该系统包括: 中继控制 节点、 至少一个网络拓朴信息服务器、 中继节点、 第一对端节点、 第一对 端节点的代理节点; 其中,  A system for selecting a relay node, the system comprising: a relay control node, at least one network topology information server, a relay node, a first pair of nodes, and a proxy node of the first pair of nodes ; among them,
中继控制节点, 用于从至少一个网络拓朴信息服务器 82获取网路映射 和代价映射, 并根据获得的中继节点信息生成或更新中继节点列表; 在每 次接收到中继节点请求后, 根据所述中继节点请求、 所述网路映射及所述 代价映射对所述中继节点列表进行处理, 并将处理后的中继节点列表返回 给所述代理节点; a relay control node, configured to acquire a network mapping and a cost mapping from the at least one network topology information server 82, and generate or update a relay node list according to the obtained relay node information; after each receiving the relay node request According to the relay node request, the network mapping, and the The cost mapping processes the relay node list, and returns the processed relay node list to the proxy node;
网络拓朴信息服务器, 用于向中继控制节点提供网络映射和代价映射; 中继节点, 用于中转第一对端节点发送的数据;  a network topology information server, configured to provide a network mapping and a cost mapping to the relay control node; and a relay node, configured to transit the data sent by the first peer node;
第一对端节点, 用于向其代理节点请求与第二对端节点发送数据; 并 通过中继节点中转数据;  a first peer node, configured to request, to the proxy node, the data to be sent by the second peer node; and transfer the data through the relay node;
代理节点, 用于根据第一对端节点的请求, 向中继控制节点发送中继 节点请求; 并从中继控制节点返回的中继节点列表中选择中继节点, 将选 择的中继节点的信息返回给第一对端节点。  a proxy node, configured to send a relay node request to the relay control node according to the request of the first peer node; and select a relay node from the relay node list returned by the relay control node, and select the relay node information Return to the first peer node.
PCT/CN2011/080053 2010-10-14 2011-09-22 Method and system for selecting relay nodes, and relay control node WO2012048615A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010509937.3 2010-10-14
CN201010509937.3A CN102447614B (en) 2010-10-14 2010-10-14 A kind of system of selection of via node, system and relay control node

Publications (1)

Publication Number Publication Date
WO2012048615A1 true WO2012048615A1 (en) 2012-04-19

Family

ID=45937883

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/080053 WO2012048615A1 (en) 2010-10-14 2011-09-22 Method and system for selecting relay nodes, and relay control node

Country Status (2)

Country Link
CN (1) CN102447614B (en)
WO (1) WO2012048615A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168629B (en) * 2013-05-17 2019-01-08 电信科学技术研究院 Discovery method, terminal and the adjacent service communication system of adjacent service relay node
WO2016026098A1 (en) * 2014-08-20 2016-02-25 华为技术有限公司 Middle node, infrastructure node and m2m service message forwarding method
CN104270312B (en) * 2014-09-25 2017-06-20 东北大学 Support relay route distribution system and method that flow optimization and application are perceived
CN110149407A (en) * 2019-05-24 2019-08-20 深圳市网心科技有限公司 Method for network access and device, computer installation and storage medium
CN113612684B (en) * 2020-08-11 2022-09-20 北京航空航天大学 Inter-domain path identifier prefix matching method based on binary search

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1747457A (en) * 2005-09-09 2006-03-15 北京中星微电子有限公司 Communication for spanning gateway
CN101171579A (en) * 2005-04-22 2008-04-30 微软公司 Apparatus and method for community relay node discovery

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100558071C (en) * 2006-10-24 2009-11-04 华为技术有限公司 A kind of Link Resource Manager method and the transmission network and the network equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101171579A (en) * 2005-04-22 2008-04-30 微软公司 Apparatus and method for community relay node discovery
CN1747457A (en) * 2005-09-09 2006-03-15 北京中星微电子有限公司 Communication for spanning gateway

Also Published As

Publication number Publication date
CN102447614A (en) 2012-05-09
CN102447614B (en) 2016-03-30

Similar Documents

Publication Publication Date Title
US9130954B2 (en) Distributed health check for global server load balancing
JP3729051B2 (en) Inter-domain routing apparatus, system and method
JP6490082B2 (en) Route control method, device, and system
JP5300076B2 (en) Computer system and computer system monitoring method
RU2558624C2 (en) Control device, communication system, communication method and record medium containing communication programme recorded to it
US9515920B2 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
US7454500B1 (en) Global server load balancing
JP2011509029A (en) Mapless global traffic load balancing via anycast
WO2012109852A1 (en) Node ranking and selection method, device and system
CN103973596B (en) P2P (peer-to-peer) network node selecting method
WO2012048615A1 (en) Method and system for selecting relay nodes, and relay control node
EP3229413B1 (en) Cross-domain cooperative method, cooperative device and control device for network as a service business
WO2012065531A1 (en) Method, device, and system for implementing relay selection
WO2009000181A1 (en) Method for acquiring traversal resource, peer to peer node and peer to peer system
JP2010200026A (en) Traffic control method, system and program for logic network
JP5870995B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMPUTER, NODE CONTROL METHOD AND PROGRAM
JP4099108B2 (en) Network and server load reduction router
CN107404438A (en) Network route method and network route system
JP5971348B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, AND CONTROL METHOD
Kehoe {BGP—The} Backbone of the Internet
JP2004248193A (en) COMMUNICATION QUALITY ASSURANCE METHOD IN COMMUNICATION OF LOGICAL NETWORK, COMMUNICATION SYSTEM FOR IMPLEMENTING THE METHOD, QoS MANAGEMENT DEVICE AND TERMINAL USED FOR THE METHOD, AND COMPUTER PROGRAM FOR REALIZING THE QoS MANAGEMENT DEVICE AND TERMINAL
Li et al. A stub multi-homing solution for IPv6 networks
WO2010111877A1 (en) Method, apparatus and system for avoiding service router overload
CN105791116A (en) Data transmission routing method
Martínez Manzanilla et al. An Approach to a Fault Tolerance LISP Architecture

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

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

Country of ref document: EP

Kind code of ref document: A1