Pilihan binari rushmore35 comments
How the forex market really works
A packet data router comprises one or more first circuit boards comprising one or more first processors and first logic circuits programmed to perform packet data forwarding and packet data router control plane functions; and one or more second circuit boards comprising one or more second processors and second logic circuits programmed to perform only Border Gateway Protocol BGP route reflection server RRS functions.
A distributed BGP route reflector system with the disclosed architecture distributes route reflection server software to a dedicated control board so that processing route reflection functions does not impact packet forwarding or protocol instances that converge forwarding tables. This application is related to prior co-pending application Ser.
The present invention generally relates to communicating network routing information using Border Gateway Protocol BGP. The invention relates more specifically to architectural structures for implementing BGP hosts. The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
The BGP hosts then exchange their full routing tables. A route is a unit of information that pairs a network destination with the attributes of a network path to that destination.
Significantly increasing the number of network nodes that can receive BGP services is a serious problem encountered in deploying and managing service provider networks. Several constraints in the operation of BGP impose limits on scalability.
This requirement means that n BGP peers require a total of n 2 connections. Route reflection is a technique that some service providers use to avoid the requirement of full meshing. The use of BGP route reflection server RRS devices relieves the requirement of actually fully meshing BGP peers, because the BGP RRS effectively acts as a centralization point of a number of clients to a server that chooses the best path between them and reflect the best path to other nodes.
The use of route reflection can reduce the total number of required connections to as little as n log n. Typically, a service provider configures an existing router in the service provider network as a BGP route reflector RR or RRS; the router performs RR services in addition to core routing and packet forwarding. This approach is undesirable because performing RR services negatively impacts routing table convergence time, as the reflecting router may not be in the forwarding path of reflected routes.
Further, a conventional router may not be powerful enough to perform packet forwarding, control plane processing, and all BGP route reflection services concurrently.
Alternatively, a packet data router is configured as a route reflector, but packet forwarding functions and control plane functions are disabled on the router. For example, a Cisco router or a low-end server computer can be configured as an external device that performs nothing but route reflection services. However, introducing a new network node just to perform route reflection services is undesirable because of the direct costs involved, and because a new node is introduced into the IGP network increases network complexity and management burden.
Thus, there is a need to somehow add route reflection capability to a router with sufficient processing capacity to perform route reflection in addition to packet forwarding and routing, without adversely affecting convergence. Free routing application software including BGP functions is commercially available in open source software form from Zebra, at www.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:.
A packet data router having a distributed design to scale Border Gateway Protocol BGP route reflector services is described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention.
It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
Embodiments are described herein according to the following outline:. The needs identified in the foregoing Background, and other needs and objects that will become apparent for the following description, are achieved in the present invention, which comprises, in one aspect, a packet data router, comprising one or more first circuit boards comprising one or more first processors and first logic circuits programmed to perform packet data forwarding and packet data router control plane functions; one or more second circuit boards comprising one or more second processors and second logic circuits programmed to perform only Border Gateway Protocol BGP route reflection server RRS functions.
In still another feature, the BGP RRS functions comprise communicating using an inter-processor communication service to contact a separate global RIB to perform next hop resolution. According to yet another feature, the router comprises a plurality of the second circuit boards, wherein each of the second circuit boards hosts an instance of BGP RRS functions. In still another feature, each independent instance processes BGP information only for a particular address family and for all sub-address families that are associated with the particular address family.
In still another feature, the first circuit boards each comprise a switching system, forwarding plane logic, and control plane logic, and wherein the second circuit boards do not comprise a switching system, forwarding plane logic, or control plane logic.
According to another aspect, the invention provides a packet data routing apparatus, comprising first circuit means comprising one or more first processors and first logic circuits for performing packet data forwarding and packet data router control plane functions; and second circuit means comprising one or more second processors and second logic circuits for performing only Border Gateway Protocol BGP route reflection services RRS.
In other aspects, the invention encompasses a method of manufacturing the foregoing apparatus and a method of using the foregoing apparatus. As depicted in FIG. The techniques described herein, however, are not limited to being implemented only in the context of provider edge routers.
For example, any network element that executes a BGP process can implement the techniques described herein regardless of whether that network element is established within the network or on the edge of the network. Thus, the operational context depicted in FIG. In conventional practice, RR 2 may comprise a dedicated server computer, or a packet router in which route computation and packet forwarding functions are disabled.
There are two types of BGP peers that may be associated with a route reflector: A non-client BGP peer of the route reflector must be fully meshed, but a client BGP peer of the route reflector need not be fully meshed with the other client BGP peers of the route reflector. A route reflector along with its client BGP peers form a route reflection cluster. For example, when a route reflector learns a route from any of its BGP peers, it reflects the route in the following manner: A peer receiving back a route in which the next hop is that peer may silently drop that route.
According to one embodiment of the invention, a packet data router comprises one or more first circuit boards and one or more second circuit boards. The first circuit boards comprise first processors and logic programmed to perform packet data forwarding and packet data router functions.
The second circuit boards comprise second processors and logic programmed to perform border gateway protocol BGP route reflection server RRS functions. In an embodiment, the route reflection server functions comprise a subset of functions, the execution of which by the second processors does not affect packet forwarding, protocol instances that converge forwarding tables, or other functions of the first processors.
For example, in one embodiment, the second processors and logic host or implement only such functions as are necessary for the second processors and logic to provide a BGP route reflection service. Such functions may exclude some BGP-related functions that may be found in a standalone implementation of BGP route reflection services. In an embodiment, the second processors and second logic do not host, for example, a global RIB configured to perform inter-protocol comparison.
Instead, the second processors and second logic use an inter-processor communication IPC service to contact the global RIB at another processor or server when necessary, typically only for resolution of next hops.
No route download or route redistribution to the second processors or second logic occurs. Therefore, IPC traffic is minimized. Further, in an embodiment, no delay in route advertisements, to wait for routes to download to a RIB, is needed as on a conventional router. Route reflection servers do not install routes into a RIB; therefore, operation of the second processors and second logic as disclosed herein cannot affect packet-forwarding functions of the first processors and first logic.
In another embodiment, the second processors and second logic perform BGP route reflection services only for a particular address family of prefixes. A plurality of other sets of processors and logic perform route reflection services for other address families. This approach achieves even greater scalability by distributing BGP route reflection servers across different address families. In yet another embodiment, the second processors and second logic perform BGP route reflection services only for a particular route service that uses BGP, but for all prefixes that use the service.
Examples of services that may have a dedicated route reflection server, implemented using a particular second processor and second logic, include Layer 3 VPN services, VPLS, and any other service that uses BGP and does not affect packet forwarding. A packet data router comprises at least one first circuit board A and at least one second circuit board B. In one embodiment, the packet data router may have a plurality of first circuit boards A and a corresponding plurality of second circuit boards B.
For example, the architecture of FIG. Circuit board A comprises at least one processor A, one or more logic circuits A, a switching system , forwarding plane logic , and control plane logic The foregoing components of circuit board A cooperate to provide packet receiving, buffering, and filtering, to perform routing decisions, and to perform packet forwarding in the manner of a conventional router in a packet-switched network.
Control plane logic is responsible for route advertisement and route selection functions. Forwarding plane logic is responsible for route forwarding functions. Processor B and logic circuits B provide supervisory control of circuit board B and interfacing with circuit board A using IPC service Further, circuit board B is logically coupled using IPC service through a network to a peer route reflection server that holds a global RIB Global RIB provides a database of prefixes that are used for inter-protocol comparison.
Further, with the architecture of FIG. In particular, second circuit board B does not need to perform route download or redistribution to BRIB , and therefore IPC traffic to the global RIB is several orders of magnitude less than in a conventional route reflection node. Furthermore, circuit board B does not need to delay performing route advertisement to wait for forwarding information base FIB download operations to complete, as on a conventional router.
Because route reflection servers do not often build or add routes into the FIB of the host router, the architecture herein does not impact the forwarding of packets by the first circuit board A.
Further processing capacity may be achieved by establishing one or more other instances of distributed BGP route reflection servers by separating address families and sub-address families. Thus, in the architecture of FIG. A first packet data router A and a second packet data router B are communicatively coupled through a network The FIB A may form a part of forwarding plane logic of a first circuit board.
FIB A may be resident on a line card or coupled to a line card. For purposes of illustrating a clear example, FIG. However, an embodiment may include one BRIB per address family and per sub-address family. Each such BRIB functions as a separate software process in separate process memory space. Further, in certain embodiments, circuit boards may be constructed containing processors and memory that are selected or tuned according to the performance needs of a particular service.
A smaller service may have a smaller CPU and less memory; in contrast, if high availability is desired, multiple processors could be used with multiple memory banks for redundant operation of a particular service.
Each such processor-speaker-BRIB combination may establish an independent peering session with another peer and may have a separate IP address for that purpose. Each such processor-speaker-BRIB may negotiate which services will be passed over a peering session using BGP dynamic capability negotiation techniques.
Using dynamic capability negotiation, peers may negotiate an independent IP address per service. Alternatively or additionally, peers may migrate an existing peering session to a speaker process to facilitate use of multi-session BGP.
To illustrate a clear example, FIG. For example, a particular distributed route reflection node as shown in FIG. For example, the process distribution techniques described in prior co-pending application Ser. In all such embodiments, benefits accrue from separating route reflection logic and software elements from forwarding plane elements of a router, according to the techniques described herein. Hardware elements of the circuit boards A, B may vary according to the traffic capacity anticipated for the apparatus.
In another embodiment, a packet router comprises two or more Gigabit Ethernet network interface cards that provide redundant network connectivity. Preferably, each circuit board A, B is independent and the functions thereof run in separate memory spaces. In one embodiment, each circuit board A, B is hosted in a separate hardware chassis to promote fault isolation; however, separate chassis are not required.