CN100505692C - High performance router BGP routing protocol distribution parallel realizing method - Google Patents

High performance router BGP routing protocol distribution parallel realizing method Download PDF

Info

Publication number
CN100505692C
CN100505692C CN 200610032272 CN200610032272A CN100505692C CN 100505692 C CN100505692 C CN 100505692C CN 200610032272 CN200610032272 CN 200610032272 CN 200610032272 A CN200610032272 A CN 200610032272A CN 100505692 C CN100505692 C CN 100505692C
Authority
CN
China
Prior art keywords
bgp
route
node
routenode
routing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 200610032272
Other languages
Chinese (zh)
Other versions
CN1976313A (en
Inventor
朱培栋
宁洪
张晓哲
杜秀春
刘功杰
蔡开裕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN 200610032272 priority Critical patent/CN100505692C/en
Publication of CN1976313A publication Critical patent/CN1976313A/en
Application granted granted Critical
Publication of CN100505692C publication Critical patent/CN100505692C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

A method for realizing distribution parallel of BGP route protocol of high performance router includes decomposing three tasks of neighbor session maintenance, route calculation and rout storage in high performance router BGP protocol onto each BGP-node; utilizing X-BGP protocol to carry out session relation maintenance between BGP-nodes and route synchronization then revising route calculation module to realize global optimum route calculation of high performance router.

Description

High-performance router BGP Routing Protocol distributed parallel implementation method
Technical field
The present invention relates to the Parallel Implementation method of high-performance router Routing Protocol, especially the distributed parallel implementation method of inter-domain routing protocol BGP (Border Gateway Protocol).
Background technology
Along with the quick expansion of Internet scale and the surge of customer flow, more and more higher to the forwarding requirement of core network high-performance router.Because the network interface limited amount that single rack holds, the novel high-performance router with multimachine cabinet architecture arises at the historic moment.This novel high-performance router is distributed in a large amount of various types of network interfaces on a plurality of racks, can increase new rack according to the business development needs, realizes the highly scalable of router topology.For example, the TX Matrix router of Juniper company, RCP 7770 routers of Alcatel company, the CRS-1 router of Cisco company, the TSR router of Avici company etc.
Also can the router of the middle low performance of a plurality of cheapnesss is interconnected, constitute single high-performance router, thereby simplify network management.A rack or a mid-range-and-low-end routers of forming high-performance router are called routing node.The numerous forwarding engine that is distributed on a plurality of routing nodes receives and transmits user data simultaneously, thereby realizes high performance data forwarding.This high-performance router with a plurality of routing nodes adopts the specialized high-speed internet to connect a plurality of racks or a plurality of mid-range-and-low-end routers, Routing Protocol moves on CPU, data message is searched IP by the forwarding engine of the network interface board of each routing node and is transmitted and transmit, and the route message send the CPU routing protocol software to handle by forwarding engine.Whole high-performance router has unified management software and configuration interface, and it is a complete high-performance router that equipment manager uses, rather than routing node independently one by one.
High-performance router is responsible for message forwarding by datum plane, is responsible for the processing of Routing Protocol by control plane.When the datum plane forwarding performance improves, being processed into of control plane Routing Protocol for bottleneck.Mainly due to the expansion of network size and continuing to bring out of various new network application, the routing iinformation quantity of router stores and calculating is increased fast, it is complicated more that the function of router software system becomes.BGP (Border Gateway Protocol) is the de facto standard of inter-domain routing protocol, is basic means and unique inter-domain routing protocol in usefulness of ISP (ISP) interconnection, is the most important Routing Protocol of high-performance router.The number of core router bgp routing table reaches 688000 at present, and still presents the trend of exponential increase; The bgp neighbor session number that requires to support is increased to hundreds of; Newly-increased attributes such as multicast support, MPLS (multi protocol label exchange) expansion, IPv6 expansion make the route calculation process complicated more; The renewal of bursting of BGP route prefix, the BGP route updating packet that the problems such as route flapping that continue need be handled each second significantly increases.The problems referred to above have proposed challenge to the autgmentability of bgp protocol, have worsened the performance of control plane bgp protocol, and it is most important to the usefulness that improves the high-performance router control plane how to improve BGP handling property and storage efficiency.
The software architecture of multimachine cabinet high-performance router mostly adopts principal and subordinate's control model at present, specifies a routing node as main controlled node, has only master control routing node and backup control routing node can move Routing Protocol.Under the normal condition, master control routing node operation BGP Routing Protocol, generate bgp routing table after, write IP route table and IP transmits, be published to by the interconnected network in the transmitting of all forwarding engines of all routing nodes.Other routing nodes are just according to transmitting the forwarding data message in the forwarding engine.After the master control routing node breaks down,, take over the work of master control routing node by backup control routing node operation BGP Routing Protocol.Though the product that has is supported a plurality of route processors concurrent workings, each processor just is used for independent maintenance bgp neighbor relation, and overall best route calculation remains by special processor centralized calculation and centralized stores.
According to bgp protocol standard RFC (Request For Comment) 1771, the implementation structure of traditional B GP routing protocol software comprises neighbor session maintenance module, routing calculation module, routing information base and management control module.The function of each module is as follows:
Neighbor session maintenance module: set up, safeguard or remove the bgp session relation, transmitting-receiving neighborhood maintenance packet.
Routing calculation module: receive routing update message, calculate the best route that arrives the purpose network, correspondingly upgrade IP and transmit middle corresponding forwarding item, recent route information is distributed to neighbours.
Routing information base: all routing iinformations that the storage neighbours send, the best route that the mark routing calculation module calculates.The all bgp routing informations of router are all concentrated and are kept in the routing information base, require the capacity of routing information base very big.
Management control module: utilize the collocation strategy storehouse that the route agreement is configured and manages.
Although can improve the processing speed of agreement by the Optimization Software system on main controlled node or reduce the storage overhead, the potentiality of optimizing are limited after all, and this method does not possess autgmentability.On main controlled node, adopt a plurality of CPU to have certain autgmentability, but this method does not make full use of distributed computational resource of high-performance router and storage resources, in case and the software systems of main controlled node break down, because the switching to the backup Control Node has a fixed response time, the route of whole high-performance router and forwarding all will be affected; Adopt the backup of this 1:1, the reliability of system is not high, if the backup Control Node also breaks down, the software systems of whole high-performance router will be paralysed.And not only have the height autgmentability of performance, better reliability, and can make full use of distributed computational resource of high-performance router and storage resources based on the distributed parallel implementation method of a plurality of routing nodes.
Aspect the research of procotol Parallel Implementation method, less at the work that bgp protocol is carried out.At the Parallel Implementation of network transmission protocol TCP, Mats Bjorkman etc. propose the X-Kernel architecture; At the OSPF Routing Protocol, the Xipeng Xiao of Michigan state university proposes the ospf area is divided into a plurality of disjoint " route scope in the zone ", calculating to whole routing table is divided into a plurality of independent parts, walks abreast by different routing nodes and finish.Sharad collects 196 cisco routers coming from Spring Network and reaches the service data in 3 years, the analysis showed that most backbone network routers the bgp protocol process consume control plane computational resource more than 60%.The realization of bgp protocol has become the performance bottleneck of high-performance router control plane, but does not also have disclosed technical data to propose practical BGP Routing Protocol distributed parallel implementation method at present.At the high-performance router with a plurality of routing nodes, researching and developing effective bgp protocol distributed parallel implementation method becomes the major issue that people pay close attention to.
Summary of the invention
The technical problem to be solved in the present invention is based on the high-performance router with a plurality of routing nodes, makes up the BGP distributed parallel and realizes system, and the distributed parallel implementation method of inter-domain routing protocol BGP is provided.
Technical scheme is: each routing node independent operating bgp protocol is realized system to make up based on the BGP distributed parallel of BGP-Node, neighbor session maintenance, route calculating and three kinds of tasks of route storage of whole high-performance router bgp protocol are decomposed each BGP-Node, the session relationship maintenance and the route that adopt the X-BGP agreement to carry out between the BGP-Node are synchronous, and revise routing calculation module and realize the best route calculation of the high-performance router overall situation.
The term of redetermination of the present invention has: routing node, BGP-Node, BGP-Node gathering, X-BGP and route sync message.A rack or a mid-range-and-low-end routers of forming high-performance router are called routing node.The BGP entity (comprising the routing iinformation of bgp protocol software and storage etc.) that is distributed in independent operating on each routing node is called BGP-Node.The set of all BGP-Node of same high-performance router is called a BGP-Node and assembles.X-BGP be between inner each BGP-Node of same high-performance router of designing of the present invention synchronously and communications protocol, what set up between the BGP-Node is the neighborhood of X-BGP type.Route sync message (SYNCHRON) is the special-purpose message that is used for route synchronizing information transmission between the BGP-Node.In addition, the bgp protocol that does not adopt the present invention to carry out standards such as RFC 1771 definition of Parallel Implementation is called traditional B GP.The BGP entity of exchanging routing information claims bgp neighbor mutually, and the connection that will set up during exchanging routing information is called bgp session.Bgp routing table claims routing information base (RIB) again, storage be the routing iinformation of bgp protocol; What IP route table was stored is the basic routing iinformation that comprises all Routing Protocols that move on the high-performance router of BGP Routing Protocol, IP route table is not preserved the concrete protocol-dependent attribute information in the bgp routing table, if many routes to objective network are arranged in the bgp routing table, then just best route are write IP route table; It is the IP route table that is directly used in the simplification of data forwarding that IP transmits, if many routes to objective network that a plurality of Routing Protocols acquire are arranged in the IP route table, then just best route is wherein write IP and transmits.Adopt the private high network interconnection between the inside routing node of high-performance router, the interface that communication is used between the routing node is called internal network interface or internal interface; High-performance router is used for the interface with other network equipments or subscriber's main station interconnection, is called external network interface or external interface.Network interface does not refer to the external network interface of router when having specified otherwise.
If high-performance router has N routing node, number 0...N-1 respectively; Each routing node can have a plurality of interface boards, and a plurality of network interfaces are arranged on each interface board; The network interface of router is numbered in the mode of level name, i.e. " routing node number/plate card number/interface number "; BGP-Node of each routing node operation is so the numbering of BGP-Node and routing node are number consistent.
BGP Routing Protocol distributed parallel implementation method of the present invention may further comprise the steps:
The first step, structure is realized system based on the BGP distributed parallel of BGP-Node, method is: a plurality of routing nodes connect by the high speed internet network, each routing node carries out data forwarding and moves BGP (may move other Routing Protocols simultaneously), each routing node is realized the repertoire of traditional B GP agreement, and promptly each routing node comprises a BGP-Node that function is identical.Like this, whole bgp protocol be not re-used as one independently process operate on the main controlled node, but run on each routing node as a plurality of independently BGP entities.Each BGP-Node is by internal network interface communication.Each BGP-Node generates bgp routing table, and the IP route table and the IP that write this routing node transmit, and the download of information during IP transmitted is in the transmitting of each forwarding engine of this routing node.
Second step, neighbor session maintenance, route calculating and three kinds of tasks of route storage of whole high-performance router bgp protocol are decomposed each BGP-Node, method is to decompose the bgp neighbor session earlier, carry out the decomposition of route calculating and route memory function again, the bgp neighbor session that makes each BGP-Node only be responsible for this routing node is safeguarded, receives, handles and store the routing iinformation that this node neighbours send here:
2.1 the decomposition method of bgp neighbor session is: the management control module of revising traditional B GP agreement, increase the neighbor session maintenance task and decompose submodule in this module, all bgp neighbor sessions that whole high-performance router is safeguarded decompose each BGP-Node in disjoint mode.The flow process that the neighbor session maintenance task decomposes submodule is:
1. to each the bgp neighbor relation in the collocation strategy storehouse, IP address with bgp neighbor is the keyword search IP route table, obtain arriving the network interface numbering of the high-performance router that need pass through this address, routing node in the network interface numbering number promptly is routing node number and a BGP-Node numbering of being responsible for safeguarding this bgp neighbor relation, select the BGP-Node of treatments B GP neighborhood can directly arrive corresponding neighbor router like this, do not need to pass through once more the inner exchanging network by the external interface of place routing node.
If be responsible for 2. safeguarding that the BGP-Node of this bgp neighbor relation breaks down, then select the BGP-Node (for example node of the neighborhood minimum number of Wei Huing) of load minimum to be responsible for safeguarding this neighborhood.
3. generate bgp neighbor router and BGP-Node mapping table (neighbor session that certain bgp router is described by which BGP-Node is safeguarded), be issued to all forwarding engines of each routing node.
When 4. serious variation (for example breaking down) takes place the state of routing node and BGP-Node, then affected neighbor session is assigned again.
2.2 the decomposition of route calculation task is undertaken by the forwarding engine of each routing node, method is:
Each routing node by external network interface when other routers are received the BGP route updating packet, forwarding engine is keyword search bgp neighbor router and BGP-Node mapping table with the source address of message, obtain target BGP-Node numbering, give target BGP-Node with this route message, handle this route updating packet by target BGP-Node, carry out route and calculate.
2.3 the decomposition of routing iinformation memory function is undertaken by each BGP-Node, method is:
Each BGP-Node has routing information base, the complete routing iinformation in the route updating packet of sending here by forwarding engine of preserving respectively that place BGP-Node receives, thus realized the distributed storage of routing iinformation.
The 3rd step, employing X-BGP agreement carries out the session relationship maintenance between the BGP-Node and route is synchronous and the best route calculation of high-performance router, BGP-Node accumulates on the external behavior consistent with traditional B GP agreement, guarantee the correctness of whole high-performance router route and forwarding capability, method is:
3.1 the message of design X-BGP agreement is divided into neighborhood maintenance packet and route sync message two big classes with the message of X-BGP agreement:
X-BGP neighborhood maintenance packet has three types of OPEN, KEEPALIVE and NOTIFICATION, the grammer of these three kinds of messages, semanteme, sequential relationship are identical with traditional B GP, but requiring the neighbours address is other BGP-Node of same high-performance router, by control information and the state information between the X-BGP neighborhood maintenance packet transmission BGP-Node;
X-BGP route sync message is SYNCHRON, and the SYNCHRON message format is simpler than the UPDATE message of traditional B GP agreement, has identical sequential relationship with the UPDATE message of traditional B GP agreement in protocol state machine, and concrete form is:
The route sync message is made up of heading and message body.Heading comprises three fields of " type of message " " message length " " source neighbours' sign ", and wherein " type of message " explanation of field is update (routing update) type or withdraw (route withdraw) type; The byte number of " message length " explanation of field route sync message; " source neighbours' sign " explanation of field causes the IP address of the external BGP router of this route change events.The message body is divided into two types of the message bodies of the sync message of the message body of sync message of update type and withdraw type.The message body of the sync message of update type comprises local preference, Origin (route is come Source Type), AS path, next jumping AS, next hop address, MED (multiple exit discriminating word) and a plurality of " network prefix addresses " and " network address mask ".The message body of the sync message of withdraw type carries one or more " network prefix address " " network address mask " information that will cancel.By the route synchronizing information between the SYNCHRON transmission BGP-Node.
3.2 traditional B GP agreement neighbor session maintenance module is made amendment, to safeguard the neighbor session relation between inner each BGP-Node of high-performance router:
On behalf of the whole high-performance router and the router of outside operation bgp protocol, each BGP-Node set up neighborhood by traditional B GP agreement, if high-performance router belongs to identical autonomous system with outside router, foundation be internal bgp neighborhood (I-BGP); If belong to different autonomous systems, foundation be external BGP neighborhood (E-BGP).The neighbor session maintenance module of BGP-Node can use original code to realize I-BGP and two kinds of traditional neighborhood maintenance functions of E-BGP, but needs to revise the neighbor session maintenance module to handle the neighborhood of the X-BGP type of setting up between same high-performance router internal bgp-Node.The amending method of neighbor session maintenance module is:
Newly-increased " X-BGP " type in the relevant data structure of neighborhood type; The neighborhood maintenance packet adopts internal network interface transmitting control information and state information between BGP-Node, rather than the external network interface of I-BGP and E-BGP employing.
3.3 traditional B GP agreement routing calculation module is made amendment, this module is become route calculate and synchronization module, with the best route calculation of the synchronous and whole high-performance router overall situation of the route between the treatments B GP-Node, method is:
Each BGP-Node only is responsible for calculating and storing the route updating packet that receives in the local bgp neighbor session, can only see that the route that obtains by local neighbor session can reach information, and it is sightless that the route of other neighbor session announcements can reach information.If each BGP-Node can reach the selection that information is carried out the best route of BGP based on local route, then can't guarantee the consistency of the best route view of BGP between each BGP-Node, just inconsistent before the behavior of whole like this high-performance router and the Parallel Implementation, the incorrect data forwarding function that realizes of high-performance router just is described.In addition, the route that BGP-Node acquires from the neighbor router of oneself may need to be transferred to other bgp routers, and this session relationship that wherein has some and other bgp routers is safeguarded by other BGP-Node.Therefore transmission and the route that must carry out the routing iinformation between BGP-Node are synchronous.
Rename route after the routing calculation module of traditional B GP agreement made amendment as and calculate and synchronization module, be responsible for the processing of route updating packet, route sync message, carry out that route is calculated and different B GP-Node between route synchronous.Each BGP-Node can reach information based on local route to carry out transmitting selection result by the route sync message between each BGP-Node after the selection of the best route of BGP, selects overall best route on the basis of each local optimum route.
Route is calculated with synchronization module and is made up of route updating packet processing and two submodules of route sync message processing.The route updating packet processing sub receives route updating packet from other routers, upgrades local bgp routing information storehouse (RIB), sends the route sync message to other BGP-Node; Route sync message processing sub receives the route sync message from other BGP-Node, upgrades bgp routing information storehouse (RIB).
Below in the description of each submodule function, " neighbours that all are suitable " comprise I-BGP, the various types of neighbours of E-BGP and X-BGP.What issue routing iinformation or carry out that route announcement uses to I-BGP and E-BGP neighbours is the route updating packet of traditional B GP, and what issue that routing iinformation uses to X-BGP neighbours is X-BGP route sync message.Whether " suitable " routing policy of being based in the collocation strategy storehouse allows to export this route to these neighbours whether to judge neighbours.
The external network interface of route updating packet processing sub by the place routing node receives route updating packet from bgp neighbor from other routers, after finishing packet parsing and input policing and handling, carries out route and calculates and upgrade routing information base; The local optimum routing iinformation that calculates being packaged into the route sync message, sending to every other BGP-Node, is route updating packet with the overall best routed encapsulation that calculates, and passes to other bgp router.Its workflow is:
(1) receive the route updating packet that other routers are sent here, the major parameter that message carries has: type, routeattrib, rt, p.Wherein type represents the routing update operation types, can be update (increasing new route entry), perhaps withdraw (cancelling existing route entry); Routeattrib represents the routing property information of carrying in the route updating packet when increasing new route entry; Rt is pending routing iinformation, comprises the purpose network prefix, routing properties such as AS-Path, Next-Hop, and declare bgp neighbor of this route etc.; P is the source neighbours sign of this route updating packet, is the sign of outside router.
(2) variable oldbest initial value is set for empty, with the old best route of this variable storage;
(3) search routing information base, obtain having the leaf node of identical network prefix, be designated as routenode with rt.
(4) if upgrading the type of message is withdraw, then carry out following operation:
If (4-1) routenode is empty, promptly step (3) does not find the leaf node that satisfies condition, then end process;
(4-2) the best route of using variable oldbest to preserve routenode, i.e. oldbest=routenode.bestroute;
(4-3) from the prefix list of routenode, delete rt;
If (4-4) rt and routenode.bestroute equate, then carry out (4-5)~(4-7), otherwise return;
(4-5) from the prefix list of routenode, select best route, upgrade routenode.bestroute with the value that obtains;
If (4-6) new routenode.bestroute is empty, then the routenode node is deleted from routing information base, then to the route withdraw message of all suitable neighbours issues about rt;
If (4-7) new routenode.bestroute is not empty, and declares that the bgp neighbor of this route is the neighbours that enliven of this BGP-Node, then it is declared to all suitable neighbours as new best route.
(5) if upgrading the type of message is update, then carry out following operation:
If (5-1) routenode is empty, be that then routenode distributes new space, rt be inserted into the prefix list of routenode, the best route of rt as routenode, then routenode is inserted in the routing information base, and rt is declared to all suitable neighbours.Jumping to step (6) carries out;
If (5-2) routenode is not empty, then use oldbest to preserve the best route of routenode;
If (5-3) in the prefix list of routenode, exist a route to come, then use its routing property the attrinfo of the route of newly acquiring to upgrade by neighbours p declaration; Otherwise, rt is inserted into the prefix list of routenode.
(5-4) from the prefix list of routenode, select best route again, be designated as routenode.bestroute, if it is different with original oldbest, and the bgp neighbor of declaring this route is the neighbours that enliven of this BGP-Node, and then this best route of newly selecting is declared to all suitable neighbours.
(6), then upgrade IP route table and IP transmits if oldbest is different with routenode.bestroute:
If (6-1) routenode.bestroute is empty, then delete oldbest from IP route table with transmitting;
If (6-2) routenode.bestroute is not empty, then routenode.bestroute is joined during IP route table and IP transmit.
Route sync message processing sub receives the sync message of other BGP-Node by the high-performance router internal network interface, finishes the laggard walking along the street of packet parsing by calculating, and upgrades local routing information base; If the best route of the high-performance router of newly electing is kept at this BGP-Node and the source neighbor session resides in this locality, then transmit routing update to other bgp routers, perhaps transmit the route sync message once more to other BGP-Node.Its workflow is:
(1) receive the route sync message that other BGP-Node send here, the major parameter that message carries has: type, routeattrib, rt, p.Wherein type represents the type of route simultaneous operation, can be update (increasing new route entry), perhaps withdraw (cancelling existing route entry); Routeattrib represents the routing property information of carrying in the sync message when increasing new route entry; Rt is pending routing iinformation; P is the source neighbours sign of this route, promptly declares other routers of this route;
(2) variable oldbest initial value is set for empty, with the old best route of this variable storage;
(3) search routing information base, obtain having the leaf node of identical network prefix, be designated as routenode with rt.
(4), then carry out following operation if the type of sync message is withdraw:
If (4-1) routenode is empty, promptly step (3) does not find the node that satisfies condition, and then returns;
(4-2) the best route of using variable oldbest to preserve routenode, i.e. oldbest=routenode.bestroute;
(4-3) from the prefix list of routenode, delete rt;
If (4-4) rt and routenode.bestroute equate, then carry out the operation of (4-5)~(4-7) step, otherwise return;
(4-5) from the prefix list of routenode, select best route, upgrade routenode.bestroute with the value that obtains;
If (4-6) new routenode.bestroute is empty, then the routenode node is deleted from routing information base;
If (4-7) new routenode.bestroute is not empty, and the bgp neighbor of declaring this route is the neighbours that enliven of this BGP-Node, and then it is declared (best route at this moment is the original non-best route of preserving of this node) as new best route to all suitable neighbours.
(5), then carry out following operation if the type of sync message is update:
If (5-1) routenode is empty, then for routenode distributes new space, the prefix list with rt is inserted into routenode with the best route of rt as routenode, is inserted into routenode in the routing information base then.Jumping to step (6) carries out;
If (5-2) routenode is not empty, then use oldbest to preserve the best route of routenode;
If (5-3) in the prefix list of routenode, exist a route to come, then use its routing property the attrinfo of the route of newly acquiring to upgrade by neighbours p declaration; Otherwise, rt is inserted into the prefix list of routenode;
(5-4) from the prefix list of routenode, select best route again, be designated as routenode.bestroute, if different with original oldbest, and declare that the bgp neighbor of this route is the neighbours that enliven of this BGP-Node, then the best route of newly selecting is declared to all suitable neighbours.
(6), then upgrade IP route table and IP transmits if oldbest is different with routenode.bestroute:
If (6-1) routenode.bestroute is empty, then delete oldbest from IP route table with transmitting;
If (6-2) routenode.bestroute is not empty, then routenode.bestroute is joined during IP route table and IP transmit.
Route sync message processing module and the difference of route updating packet processing module on processing procedure mainly show:
(1) (4-6) goes on foot, remove " then to the route withdraw message of every other suitable bgp neighbor issue " about rt, during route withdraw, if reversed route is current best route, and do not comprise other redundant routes in the prefix list of routenode, then only routenode is deleted from routing information base, do not need to send the route withdraw announcement to neighbor router, the issue of cancelling announcement is responsible for finishing by the sender of route sync message;
(2) (5-1) go on foot, remove " and rt is declared to every other suitable neighbours ", when increasing new route entry, if this route entry is chosen as best route, because the source neighbor session of this route entry is not on local BGP-Node, therefore only upgrade IP route table and transmit, do not need to send the routing update announcement to neighbor router;
(3) (5-4) go on foot, if the route sync message changes the attribute of the best route of this routing node, reduce to route stand-by from original best route, and the best route of newly selecting is the original non-best route of preserving of this node, its source neighbor session resides in this locality, then sends the routing change announcement by local BGP-Node to neighbor router.
Through the traditional B GP protocol software is made amendment, BGP-Node is made up of neighbor session maintenance module, route calculating and synchronization module, routing information base and management control module.The neighbor session maintenance module is responsible for the maintenance of bgp protocol state machine, have and the identical protocol state machine of traditional B GP agreement, but the neighborhood of handling has increased the X-BGP type; Route is calculated with synchronization module and has been defined the route sync message, be divided into route updating packet processing sub and route sync message processing sub, the route of all BGP-Node is calculated and the collaborative best route calculation of the whole high-performance router overall situation of carrying out of synchronization module; Routing information base is preserved the routing iinformation that this BGP-Node receives, routing information base will be inquired about and upgrade to route updating packet processing sub and route sync message processing sub all; Management control module configuration routing policy carries out the decomposition of neighbor session.
High-performance router after the BGP distributed parallel is realized will guarantee the correctness of data forwarding function, each routing node must have consistent forwarding behavior, promptly no matter adopt which routing node to transmit data, the forwarding operation that whole high-performance router showed must be identical.Each BGP-Node of the present invention calculates the consistency that has realized best route view with the route synchronizing process of synchronization module by route.Because according to the protocol specification requirement, the BGP Routing Protocol only writes best route the IP route table of this routing node, so the IP route table of each routing node is consistent; IP transmits and removes some attributes by IP route table and generate, and is the IP route table of simplifying, thus the IP of each routing node to transmit be consistent; IP transmits to each forwarding engine and downloads, and each forwarding engine has the identical reflection of transmitting like this.Therefore, although the content that each message forwarding engine is transmitted reflection according to this locality works alone, but each routing node of whole high-performance router is transmitted according to identical routing policy the IP message that arrives identical address, so the whole high-performance router after the Parallel Implementation when data forwarding and conventional router do not see and changing, thereby guaranteed the correctness of data forwarding function.
Adopt the present invention can reach following technique effect:
The present invention has realized bgp neighbor session maintenance, the parallel processing of route calculation task and the distributed store of routing iinformation, realized the raising of the autgmentability and the reliability of performance, simultaneously realized the consistency of each routing node control plane and the consistency of datum plane by efficient synchronization mechanism again, BGP-Node has been assembled externally inventing a complete bgp router.Concrete effect has:
(1) calculated performance: neighbours safeguard and are divided into parallel processing on the different routing nodes with the route calculation task, help to reduce the consumption of routing policy calculating to each node computing capability, improve the throughput of whole router.
(2) memory property: the routing iinformation that belongs to different B GP neighbours set is stored in respectively on each BGP-Node, has improved the autgmentability on the route storage capacity.
(3) reliability: the BGP Routing Protocol is distributed in parallel running on a plurality of routing nodes, and indivedual routing nodes break down and can't cause the interruption of whole router Routing Protocol operation, have improved the reliability of Routing Protocol and router control plane.
(4) consistency of control plane: each routing node has been realized consistent best route view with computing module synchronously by route, because the best route that bgp router just will be acquired passes to other routers, the routing iinformation unanimity that on behalf of whole high-performance router, each routing node outwards transmit, the bgp protocol interbehavior of high-performance router and other routers does not change before and after Parallel Implementation like this, has guaranteed the correctness of Routing Protocol function.
(5) consistency of datum plane: the BGP-Node of each routing node has identical overall best route, BGP-Node only best route is write IP route table and IP transmits, the forwarding engine of each routing node has identical transmitting like this, has consistent forwarding behavior, the data forwarding behavior of whole like this high-performance router does not change before and after Parallel Implementation, has guaranteed the correctness of data forwarding function.
Description of drawings
The active and standby pattern implementation structure of BGP Routing Protocol that Fig. 1 tradition high-performance router adopts;
The BGP Routing Protocol distributed parallel implementation structure that Fig. 2 the present invention adopts;
Fig. 3 is that high-performance router bgp neighbor of the present invention concerns schematic diagram;
Fig. 4 is the implementation structure of the traditional B GP protocol software;
Fig. 5 is the implementation structure of BGP-Node of the present invention;
Fig. 6 is the structure of X-BGP agreement route sync message of the present invention;
Fig. 7 adopts the present invention to carry out the bgp protocol distributed parallel to realize the back and adopt traditional B GP agreement at the performance comparison curves that upgrades aspects such as message throughput and cpu busy percentage.
Embodiment
Fig. 1 is the active and standby pattern implementation structure of BGP Routing Protocol that traditional high-performance router adopts.Fig. 2 is the BGP Routing Protocol distributed parallel implementation structure that the present invention adopts.In Fig. 1 and Fig. 2, routing node can be a rack or a mid-range-and-low-end routers.Each routing node has a plurality of network interfaces and other interconnection of routers, interconnects by the inner high speed switching network between each routing node.High-performance router is used for core network, and BGP is the Routing Protocol of most important indispensability.
In the active and standby structure of Fig. 1, have only master control routing node and backup control routing node can move the BGP Routing Protocol.Under the normal condition, main controlled node operation BGP Routing Protocol, generate bgp routing table after, write IP route table and IP transmits, be published to by the interconnected network in the transmitting of all forwarding engines of all routing nodes.Other routing nodes are just transmitted the forwarding data message according to IP.After the master control routing node breaks down, take over job, shown in the unidirectional arrow between two routing nodes among Fig. 1 by backup control routing node.
In the full distributed parallel implementation structure of Fig. 2, the function of each routing node is identical, and each routing node comprises a BGP-Node, the operation bgp protocol.Each BGP-Node is by internal interconnection network communication.Each BGP-Node generates bgp routing table, writes IP route table and IP transmits, and the transmitting of each forwarding engine of this node that writes direct.By inner exchanging network interaction information, realize the synchronous of route between each BGP-Node.
Fig. 3 has adopted the bgp neighbor of high-performance router of the present invention to concern schematic diagram (high-performance router with 4 routing nodes is an example).Each routing node of high-performance router links to each other with a plurality of other routers, and each BGP-Node also sets up neighborhood with other routers of a plurality of operation BGP.High-performance router and other routers use traditional bgp protocol to communicate, and according to whether belonging to identical autonomous system, set up internal bgp neighborhood (I-BGP) or external BGP neighborhood (E-BGP).Adopt the X-BGP agreement between each BGP-Node, set up complete interconnected X-BGP neighborhood.
I-BGP and E-BGP use traditional B GP agreement alternately, are divided into the message of four types of OPEN, KEEPALIVE, NOTIFICATION and UPDATE; The X-BGP agreement has the message of four types of OPEN, KEEPALIVE, NOTIFICATION and SYNCHRON.Traditional B GP agreement adopts unicast ip address, transmits based on TCP; Three kinds of neighborhood maintenance packets such as the OPEN of X-BGP agreement, KEEPALIVE, NOTIFICATION adopt unicast ip address, and based on the TCP transmission, and the SYNCHRON message transmits based on udp protocol based on the multicast ip address that the whole BGP-Node of representative assembles.
Route by BGP-Node is calculated and synchronization module, BGP-Node is assembled externally inventing a bgp router.When each routing node and other routers exchange information, use the Router Distinguisher (RouterID) of the identical whole high-performance router of representative, the best routing iinformation that transmits is not certain BGP-Node local optimum route, but the overall best route of whole high-performance router.
Fig. 4 is the implementation structure of the traditional B GP protocol software.According to bgp protocol standard RFC1771, bgp protocol software comprises following functional part: neighbor session maintenance module, routing calculation module, routing information base and management control module.The bgp session relation is set up, safeguards or removed to the neighbor session maintenance module, transmitting-receiving neighborhood maintenance packet.Routing calculation module receives routing update message, carries out the filter operation of input routing policy; Calculate the best route that arrives the purpose network, correspondingly upgrade IP and transmit middle corresponding forwarding item; Output routing policy according to neighbor session is distributed to neighbours with recent route information.Routing information base is preserved all routing iinformations of being sent here by neighbor router, and the best route that calculates of mark routing calculation module.Management control module is configured and manages the route agreement, by the strategy of collocation strategy storehouse recording configuration, realizes route information spreading control and traffic engineering target to different B GP neighbours.
Fig. 4 neighbor session maintenance module left side four-headed arrow is represented and neighborhood maintenance packets such as the mutual OPEN of other routers, KEEPALIVE and NOTIFICATION; The unidirectional arrow in routing calculation module left side is represented and the mutual route updating packet of other routers (UPDATE).
Fig. 5 is the implementation structure of BGP-Node of the present invention.Similar with the realization of traditional B GP agreement, BGP-Node is made up of neighbor session maintenance module, route calculating and synchronization module, routing information base and management control module, but the function of each several part all changes.The neighbor session maintenance module is responsible for the maintenance of bgp protocol state machine, have and the identical protocol state machine of traditional B GP agreement, but the neighborhood of handling has increased the X-BGP type; Route is calculated with synchronization module and has been defined the route sync message, be divided into route updating packet processing sub and route sync message processing sub, newly-increased route sync message processing sub, the route updating packet processing sub also will participate in the route synchronizing process, and the route of all BGP-Node is calculated and the collaborative best route calculation of the whole high-performance router overall situation of carrying out of synchronization module; Routing information base is preserved the routing iinformation that BGP-Node acquires, and routing information base will be inquired about and upgrade to route updating packet processing sub and route sync message processing sub all; Management control module configuration routing policy carries out the decomposition of neighbor session.
Fig. 5 neighbor session maintenance module left side four-headed arrow is represented this BGP-Node and other routers or neighborhood maintenance packets such as the mutual OPEN of other BGP-Node, KEEPALIVE and NOTIFICATION; Route is calculated with the unidirectional arrow in synchronization module left side and is represented and the mutual route updating packet of other routers (UPDATE), perhaps with other BGP-Node mutual route sync message (SYNCHRON) in internal interconnection network.
The external network interface of route updating packet processing sub by the place routing node receives route updating packet from bgp neighbor from other routers, after finishing packet parsing and input policing and handling, carries out route and calculates and upgrade routing information base; The local optimum routing iinformation that calculates being packaged into the route sync message, sending to every other BGP-Node, is route updating packet with the overall best routed encapsulation that calculates, and passes to other bgp router.
Route sync message processing sub receives the sync message of other BGP-Node by the high-performance router internal interconnection network, finishes the laggard walking along the street of packet parsing by calculating, and upgrades local routing information base; If the best route of the high-performance router of newly electing is kept at this BGP-Node and the source neighbor session resides in this locality, then transmit routing update to other bgp routers, perhaps transmit the route sync message once more to other BGP-Node.
Fig. 6 is the structure of X-BGP route sync message.The best Route Selection of bgp protocol does not need whole BGP routing property information, only needs the critical field of regular length in the routing property.Routing iinformation mutual between BGP-Node is simplified, X-BGP route sync message is made up of heading and message body for this reason.Heading comprises three fields of " type of message " " message length " " source neighbours' sign ", and wherein " type of message " explanation of field is update (routing update) type or withdraw (route withdraw) type; The byte number of " message length " explanation of field route sync message; " source neighbours' sign " explanation of field causes the IP address of the external BGP router of this route change events.The message body is divided into two types of the message bodies of the sync message of the message body of sync message of update type and withdraw type.The message body of the sync message of update type comprises local preference, Origin (route is come Source Type), AS path, next jumping AS, next hop address, MED (multiple exit discriminating word) and a plurality of " network prefix addresses " and " network address mask ".The message body of the sync message of withdraw type carries one or more " network prefix address " " network address mask " information that will cancel.
Fig. 7 has high-performance router employing the present invention of 18 routing nodes to carry out BGP distributed parallel realization back and the performance comparison curves that adopts the traditional B GP protocol software at aspects such as renewal message throughput and cpu busy percentages.The reference performance of each routing node is identical, and each BGP-Node is responsible for the execution of 1 neighbor session.Each neighbours' per second injects 100 route updating packets, and neighbor session quantity rises under 18 the configuring condition from 2, and Fig. 7 (a) and Fig. 7 (b) compare each neighbour's the throughput and the cpu busy percentage of each node.
Found out that by Fig. 7 (a) along with the increase of neighbours' scale, the renewal message throughput of traditional B GP descends rapidly, each neighbour's throughput on average had only 37 messages when 18 neighbours were arranged; But during 18 BGP-Node parallel processings, the throughput of each neighbours' route updating packet remains unchanged substantially behind employing the present invention.
Found out that by Fig. 7 (b) cpu busy percentage increases very slowly during each BGP-Node parallel processing, and traditional B GP agreement cpu busy percentage increases fast, when neighbor session quantity is 18, and the two gap on cpu busy percentage about 60%.
Along with increasing of neighbours' number, each neighbour's renewal message throughput descends to some extent during Parallel Implementation, the cpu busy percentage of each BGP-Node rises to some extent, mainly be the expense owing to synchronous computational process of route between the BGP-Node and internal communication message, for example BGP-Node need handle the route sync message that comes from other BGP-Node or transmit route updating packet.
Be the analysis that the full distributed parallel of Routing Protocol of the present invention is realized system's memory property income below: establishing high-performance router has N routing node, 1 BGP-Node of each routing node.Whole router has P network prefix, and average each BGP-Node acquires K bar route from outside router to each network prefix, and each network prefix is on average had K*N bar route.In conventional router, the bgp routing information storehouse will be preserved N*K*P bar route altogether.And in the present invention, to each network prefix, each BGP-Node only need preserve the route that the K bar is acquired from local neighbours, and the maximum best route of being concluded by other BGP-Node received from other BGP-Node of (N-1) bar.Each BGP-Node preserves (K+ (N-1)) * P bar route altogether.
If the storage cost of the routing update that the preservation outside router is acquired is M1, preservation is M2 from the cost of the synchronization of routing information that other BGP-Node receive.Because the complete routing property information of each route entry only is kept on the BGP-Node at its neighbor session place, source, so M1〉M2.Obtain the ratio S of each BGP-Node and conventional router route storage capacity requirement thus:
Figure C200610032272D00211
K=2 for example, N=18, each node reduces about 50% with respect to the storage overhead of conventional router, and along with the change of K and N is big, it is littler that the storage overhead of each node can become.
Be the analysis that the full distributed parallel of Routing Protocol of the present invention is realized the reliability income of system below: establishing high-performance router has N routing node and N BGP-Node.From basic routing function, the BGP Routing Protocol of conventional router breaks down, all bgp neighbor relations are all wanted chain rupture, and certain BGP-Node breaks down in the present invention, other BGP-Node still can operate as normal, affected external BGP neighbours also have only original 1/N, so the reliability of bgp protocol is brought up to original N doubly.
If whole router network prefix number is P, and each BGP-Node acquires K bar route to each prefix from other routers, after breaking down so, all K*N*P bar routes of conventional router all are eliminated, and only can cancel K*P bar route in the present invention, affected route has only original 1/N, and still there is K* (N-1) bar route in each network prefix, still can reach.
According to European network information centre (RIPE) to the concrete data of the statistics and analysis of a large amount of core network routing tables (Routing Information Service.http: //www.ripe.net/ris/), most network prefixs all have many routes in core router, the network prefix that is not had redundant route by the statistics router all is lower than 5%, and minimum has only 0.4%.This explanation is in real network, even in the worst case, the network prefix that does not promptly have redundant route all resides on the BGP-Node that breaks down, and causes inaccessible network prefix at most also can not surpass 5%.

Claims (1)

1. high-performance router BGP Routing Protocol distributed parallel implementation method may further comprise the steps:
The first step, structure is realized system based on the BGP distributed parallel of BGP-Node, method is: a plurality of routing nodes connect by the high speed internet network, each routing node carries out data forwarding and moves BGP, each routing node is realized the repertoire of traditional B GP agreement, and promptly each routing node comprises a BGP-Node that function is identical; Whole bgp protocol be not re-used as one independently process operate on the main controlled node, but run on each routing node as a plurality of independently BGP entities; Each BGP-Node is by internal network interface communication, and each BGP-Node generates bgp routing table, and the IP route table and the IP that write this routing node transmit, and the download of information during IP transmitted is in the transmitting of each forwarding engine of this routing node;
Second step, neighbor session maintenance, route calculating and three kinds of tasks of route storage of whole high-performance router bgp protocol are decomposed each BGP-Node, method is to decompose the bgp neighbor session earlier, carry out the decomposition of route calculating and route memory function again, the bgp neighbor session that makes each BGP-Node only be responsible for this routing node is safeguarded, receives, handles and store the routing iinformation that this node neighbours send here;
The 3rd step, employing X-BGP agreement carries out the session relationship maintenance between the BGP-Node and route is synchronous and the best route calculation of high-performance router, method is: the message of design X-BGP agreement, the message of X-BGP agreement is divided into neighborhood maintenance packet and route sync message two big classes, be responsible for the control information between the BGP-Node and the transmission of state information by the neighborhood maintenance packet, transmit route synchronizing information between the BGP-Node by the route sync message; Traditional B GP agreement neighbor session maintenance module is made amendment, to safeguard the neighbor session relation between inner each BGP-Node of high-performance router; Traditional B GP agreement routing calculation module is made amendment, this module is become route calculate and synchronization module, with the best route calculation of the synchronous and whole high-performance router overall situation of the route between the treatments B GP-Node;
It is characterized in that the method for decomposing the bgp neighbor session is: revise the management control module of traditional B GP agreement, increase the neighbor session maintenance task and decompose submodule in this module, the flow process that the neighbor session maintenance task decomposes submodule is:
1.1 to each the bgp neighbor relation in the collocation strategy storehouse, IP address with bgp neighbor is the keyword search IP route table, obtain arriving the network interface numbering of the high-performance router that need pass through this address, the routing node in the network interface numbering number promptly is routing node number and a BGP-Node numbering of being responsible for safeguarding this bgp neighbor relation;
If, then select the BGP-Node of load minimum to be responsible for safeguarding this neighborhood 1.2 be responsible for safeguarding that the BGP-Node of this bgp neighbor relation breaks down;
1.3 generate bgp neighbor router and BGP-Node mapping table, be issued to all forwarding engines of each routing node;
1.4 when the state of routing node and BGP-Node takes place by serious the variation, then affected neighbor session is assigned again;
The decomposition method of described route calculation task is: when each routing node is received the BGP route updating packet, forwarding engine is keyword search bgp neighbor router and BGP-Node mapping table with the source address of message, obtain target BGP-Node numbering, give target BGP-Node with this route message, handle this route updating packet by target BGP-Node, carry out route and calculate;
Described X-BGP neighborhood maintenance packet has three types of OPEN, KEEPALIVE and NOTIFICATION, the grammer of these three kinds of messages, semanteme, sequential relationship are identical with traditional B GP, but requiring the neighbours address is other BGP-Node of same high-performance router, by control information and the state information between the X-BGP neighborhood maintenance packet transmission BGP-Node; Described X-BGP route sync message SYNCHRON has identical sequential relationship with the UPDATE message of traditional B GP agreement in protocol state machine, be made up of heading and message body: heading comprises " type of message ", " message length ", " source neighbours' sign " three fields, and wherein " type of message " explanation of field is that update is that routing update type or withdraw are the route withdraw type; The byte number of " message length " explanation of field route sync message; " source neighbours' sign " explanation of field causes the IP address of the external BGP router of this route change events; The message body is divided into two kinds of the message bodies of the sync message of the message body of sync message of update type and withdraw type, and the message body of the sync message of update type comprises that local preference, Origin are that route is come Source Type, AS path, to jump AS, next hop address, MED be that multiple exit is differentiated word and a plurality of " network prefix addresses " and " network address mask " for next; The message body of the sync message of withdraw type carries one or more " network prefix address " " network address mask " information that will cancel;
The described method that traditional B GP agreement neighbor session maintenance module is made amendment is: newly-increased " X-BGP " type in the relevant data structure of neighborhood type, and the neighborhood maintenance packet adopts internal network interface transmitting control information and state information between BGP-Node;
The described method that the routing calculation module of traditional B GP agreement is made amendment is: rename route after the routing calculation module of traditional B GP agreement is made amendment as and calculate and synchronization module, it is handled by route updating packet and two submodules of route sync message processing are formed:
2.1 the external network interface of route updating packet processing sub by the place routing node receives route updating packet from bgp neighbor from other routers, after finishing packet parsing and input policing and handling, carries out route and calculates and upgrade routing information base; The local optimum routing iinformation that calculates being packaged into the route sync message, sending to every other BGP-Node, is route updating packet with the overall best routed encapsulation that calculates, and passes to other bgp router, and its workflow is:
(1) receive the route updating packet that other routers are sent here, the major parameter that message carries has: type, and routeattrib, rt, p, wherein type represents the routing update operation types, can be update, perhaps withdraw; Routeattrib represents the routing property information of carrying in the route updating packet when increasing new route entry; Rt is pending routing iinformation, comprises the purpose network prefix, AS-Path, Next-Hop routing property, and the bgp neighbor of declaring this route; P is the source neighbours sign of this route updating packet, is the sign of outside router;
(2) variable oldbest initial value is set for empty, with the old best route of this variable storage;
(3) search routing information base, obtain having the leaf node of identical network prefix, be designated as routenode with rt;
(4) if upgrading the type of message is withdraw, then carry out following operation:
If (4-1) routenode is empty, promptly step (3) does not find the leaf node that satisfies condition, then end process; (4-2) the best route of using variable oldbest to preserve routenode, i.e. oldbest=routenode.bestroute;
(4-3) from the prefix list of routenode, delete rt;
If (4-4) rt and routenode.bestroute equate, then carry out (4-5)~(4-7), otherwise return;
(4-5) from the prefix list of routenode, select best route, upgrade routenode.bestroute with the value that obtains;
If (4-6) new routenode.bestroute is empty, then the routenode node is deleted from routing information base, then to the route withdraw message of all suitable neighbours issues about rt; All suitable neighbours comprise I-BGP, the various types of neighbours of E-BGP and X-BGP, what issue routing iinformation or carry out that route announcement uses to I-BGP and E-BGP neighbours is the route updating packet of traditional B GP, and what issue that routing iinformation uses to X-BGP neighbours is X-BGP route sync message; Whether " suitable " routing policy of being based in the collocation strategy storehouse allows to export this route to these neighbours whether to judge neighbours;
If (4-7) new routenode.bestroute is not empty, and declares that the bgp neighbor of this route is the neighbours that enliven of this BGP-Node, then it is declared to all suitable neighbours as new best route;
(5) if upgrading the type of message is update, then carry out following operation:
If (5-1) routenode is empty, be that then routenode distributes new space, rt be inserted into the prefix list of routenode, the best route of rt as routenode, then routenode is inserted in the routing information base, and rt is declared to all suitable neighbours; Jumping to step (6) carries out;
If (5-2) routenode is not empty, then use oldbest to preserve the best route of routenode;
If (5-3) in the prefix list of routenode, exist a route to come, then use its routing property the attrinfo of the route of newly acquiring to upgrade by neighbours p declaration; Otherwise, rt is inserted into the prefix list of routenode;
(5-4) from the prefix list of routenode, select best route again, be designated as routenode.bestroute, if it is different with original oldbest, and the bgp neighbor of declaring this route is the neighbours that enliven of this BGP-Node, and then this best route of newly selecting is declared to all suitable neighbours;
(6), then upgrade IP route table and IP transmits if oldbest is different with routenode.bestroute:
If (6-1) routenode.bestroute is empty, then delete oldbest from IP route table with transmitting;
If (6-2) routenode.bestroute is not empty, then routenode.bestroute is joined during IP route table and IP transmit;
2.2 route sync message processing sub receives the sync message of other BGP-Node by the high-performance router internal network interface, finishes the laggard walking along the street of packet parsing by calculating, and upgrades local routing information base RIB; If the best route of the high-performance router of newly electing is kept at this BGP-Node and the source neighbor session resides in this locality, then transmit routing update to other bgp routers, perhaps transmit the route sync message once more to other BGP-Node, its workflow is:
(1) receive the route sync message that other BGP-Node send here, the major parameter that message carries has: type, and routeattrib, rt, p, wherein type represents the type of route simultaneous operation, can be update, perhaps withdraw; Routeattrib represents the routing property information of carrying in the sync message when increasing new route entry; Rt is pending routing iinformation; P is the source neighbours sign of this route, promptly declares other routers of this route;
(2) variable oldbest initial value is set for empty, with the old best route of this variable storage;
(3) search routing information base, obtain having the leaf node of identical network prefix, be designated as routenode with rt;
(4), then carry out following operation if the type of sync message is withdraw:
If (4-1) routenode is empty, promptly step (3) does not find the node that satisfies condition, and then returns;
(4-2) the best route of using variable oldbest to preserve routenode, i.e. oldbest=routenode.bestroute;
(4-3) from the prefix list of routenode, delete rt;
If (4-4) rt and routenode.bestroute equate, then carry out the operation of (4-5)~(4-7) step, otherwise return;
(4-5) from the prefix list of routenode, select best route, upgrade routenode.bestroute with the value that obtains;
If (4-6) new routenode.bestroute is empty, then the routenode node is deleted from routing information base;
If (4-7) new routenode.bestroute is not empty, and the bgp neighbor of declaring this route is the neighbours that enliven of this BGP-Node, then it is declared to all suitable neighbours as new best route that best route at this moment is the original non-best route of preserving of this node;
(5), then carry out following operation if the type of sync message is update:
If (5-1) routenode is empty, then for routenode distributes new space, the prefix list with rt is inserted into routenode with the best route of rt as routenode, is inserted into routenode in the routing information base then; Jumping to step (6) carries out;
If (5-2) routenode is not empty, then use oldbest to preserve the best route of routenode;
If (5-3) in the prefix list of routenode, exist a route to come, then use its routing property the attrinfo of the route of newly acquiring to upgrade by neighbours p declaration; Otherwise, rt is inserted into the prefix list of routenode;
(5-4) from the prefix list of routenode, select best route again, be designated as routenode.bestroute, if different with original oldbest, and declare that the bgp neighbor of this route is the neighbours that enliven of this BGP-Node, then the best route of newly selecting is declared to all suitable neighbours;
(6), then upgrade IP route table and IP transmits if oldbest is different with routenode.bestroute:
If (6-1) routenode.bestroute is empty, then delete oldbest from IP route table with transmitting;
If (6-2) routenode.bestroute is not empty, then routenode.bestroute is joined during IP route table and IP transmit.
CN 200610032272 2006-09-19 2006-09-19 High performance router BGP routing protocol distribution parallel realizing method Expired - Fee Related CN100505692C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610032272 CN100505692C (en) 2006-09-19 2006-09-19 High performance router BGP routing protocol distribution parallel realizing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610032272 CN100505692C (en) 2006-09-19 2006-09-19 High performance router BGP routing protocol distribution parallel realizing method

Publications (2)

Publication Number Publication Date
CN1976313A CN1976313A (en) 2007-06-06
CN100505692C true CN100505692C (en) 2009-06-24

Family

ID=38126119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610032272 Expired - Fee Related CN100505692C (en) 2006-09-19 2006-09-19 High performance router BGP routing protocol distribution parallel realizing method

Country Status (1)

Country Link
CN (1) CN100505692C (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374096B (en) * 2008-10-22 2011-05-18 清华大学 Virtual concurrent internet architecture
CN101753430B (en) * 2008-12-19 2012-07-25 华为技术有限公司 Distributed VPN route processing device and method based on route specifier
WO2010069261A1 (en) * 2008-12-19 2010-06-24 华为技术有限公司 Method, device and system for processing border gateway protocol route
CN101854289B (en) * 2009-03-30 2014-08-13 华为技术有限公司 Border gateway protocol route processing method, device and system
CN101764737B (en) * 2008-12-25 2012-11-21 华为技术有限公司 Route aging method, device and router based on border gateway protocol
CN101534246B (en) * 2009-03-04 2011-12-21 华为技术有限公司 Method, device and system thereof for migrating VRF
CN101938399B (en) * 2009-06-30 2012-10-17 华为技术有限公司 Routing method and device
US8483049B2 (en) * 2010-03-29 2013-07-09 Futurewei Technologies, Inc. System and method for communications system routing component level high availability
CN102957623B (en) * 2012-11-28 2015-11-25 杭州华三通信技术有限公司 A kind of maintaining method of neighborhood of border gate protocol and equipment
CN105337856B (en) * 2014-08-13 2019-09-24 中兴通讯股份有限公司 Cross-domain service processing method, apparatus and system
CN108011819B (en) * 2017-12-26 2020-11-06 杭州迪普科技股份有限公司 Route issuing method and device
CN109039894A (en) * 2018-08-06 2018-12-18 清华大学 Inter-domain routing bottleneck based on BGP declaration deteriorates method
CA3120746A1 (en) * 2018-11-26 2020-06-04 Arrcus Inc. Logical router comprising disaggregated network elements
CN111385246B (en) 2018-12-28 2021-09-21 华为技术有限公司 Secure route identification method and device
CN113014493B (en) * 2019-12-20 2022-05-17 中盈优创资讯科技有限公司 Route broadcasting method and device
CN115190061A (en) * 2020-06-04 2022-10-14 华为技术有限公司 Method, communication device, storage medium and system for processing routing message
CN114866300A (en) * 2022-04-22 2022-08-05 中国人民解放军国防科技大学 Network protocol software state variable identification method based on replay analysis

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
分布式BGP协议体系结构. 张晓哲,卢锡城,苏金树.国防科技大学学报,第28卷第3期. 2006
分布式BGP协议体系结构. 张晓哲,卢锡城,苏金树.国防科技大学学报,第28卷第3期. 2006 *

Also Published As

Publication number Publication date
CN1976313A (en) 2007-06-06

Similar Documents

Publication Publication Date Title
CN100505692C (en) High performance router BGP routing protocol distribution parallel realizing method
EP3042476B1 (en) Buffer-less virtual routing
CN102780605B (en) Inter-area exit route dynamic selection method and system
US10554555B2 (en) Hash-based overlay routing architecture for information centric networks
CN101517998B (en) Method for announcing border connecting information of autonomous system and boundary nodes
CN105978741A (en) Network fault handling method and system
Jain et al. Viro: A scalable, robust and namespace independent virtual id routing for future networks
CN103346969A (en) Method for achieving dynamic multicast spanning tree path adjustment based on OpenFlow
CN109905251A (en) Network management, device, electronic equipment and storage medium
US7391730B1 (en) System and method for synchronizing link state databases in a network environment
CN107395532A (en) A kind of multi-tenant virtual network partition method based on SDN
CN105391635A (en) Network virtualization method based on software defined network (SDN)
US8948178B2 (en) Network clustering
CN105516025B (en) Path clustering and data transmission method, OpenFlow controller and interchanger end to end
CN110266833A (en) IP address management method and edge cluster
CN104980355A (en) Source controllable multicast data transmission method and system thereof under SDN Environment
CN104580165A (en) Cooperative caching method in intelligence cooperative network
CN103023826A (en) Routing control method for OpenFlow controller
CN105471747A (en) Intelligent router routing method and apparatus thereof
CN105306365A (en) Power communication network and capacity expansion and destroy-resistant routing path determination method thereof
CN101099341B (en) System and method for scheduling scans of interior nodes of a network domain for reachability events
CN100561978C (en) A kind of strategy route device and method
CN105637806B (en) Network topology determines method and apparatus, centralized network status information storage equipment
CN105075196A (en) Control device, communication system, path switching method, and program
Moro et al. A framework for network function decomposition and deployment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090624

Termination date: 20100919