BGP CST 415 4/13/2015 CST 415 - Computer Networks 1 Topics • • • • BGP Defined BGP Message Generation BGP Message Types BGP Limitations 4/13/2015 CST 415 - Computer Networks 2 Problem Definition • A network may consist of many internal networks. • Each of these internal networks is connected via a router. • The structure of the internal networks is managed locally, known as an autonomous system. • Any internal network can be connected to an external network. • This router at this connection point is known as a boundary gateway. 4/13/2015 CST 415 - Computer Networks 3 Problem Definition • Consider the state of the Internet if the boundary condition did not exist. – Every router in the Internet would be required to communicate with an arbitrary set of routers. » The propagation of route updates could overwhelm the bandwidth of the Internet. – For routers to communicate directly, they would all need to be connected to a single backbone network. – Administration of a single Internet would require a single, global, administrative entity. » This condition is in direct contradiction to the “controlled chaos” growth of the Internet. 4/13/2015 CST 415 - Computer Networks 4 Problem Definition • For the global Internet to work, router interaction must be limited. • The solution to the routing problem is to have subsets of routers be locally managed (autonomous systems). – General heuristic » LAN – up to 5 routers can be involved in getting a packet from source host to destination host. » WAN - up to 12 routers can be involved in getting a packet from source host to destination host. – In reality, this number depends on network bandwidth and utilization. 4/13/2015 CST 415 - Computer Networks 5 Problem Definition • Participating Router – A router that actively participates in a routing scheme (e.g. exchanges routing tables). – This router must be associated with the system for which it is performing routing. • Non Participating Router – A router not participating in a routing scheme. – This router may or may not be associated with the system it is not routing for. 4/13/2015 CST 415 - Computer Networks 6 Problem Definition Non participating routers and the extra hop problem. This is a problem occurs because the non-participating router does not exchange routing information with participating routers. 4/13/2015 CST 415 - Computer Networks 7 Problem Definition Hidden Networks 4/13/2015 CST 415 - Computer Networks The external network can not exchange information about internal network structure. 8 Problem Definition The Upshot… Routing information must be passed: » From routers participating actively in a routing group to routers that are passive, yet connected directly to that group. » Information about hidden networks must be propagated from non-participating routers to routers involved in a group routing scenario. 4/13/2015 CST 415 - Computer Networks 9 BGP Defined To effect the communication between participating groups of routers (autonomous systems) and non-participating routers (boundary gateways), BGP has been defined. Boundary Gateway Protocol 4/13/2015 CST 415 - Computer Networks 10 BGP Defined Boundary Gateway Protocol Purpose - To exchange network reachability information between autonomous systems and from this information determine routes to networks. 4/13/2015 CST 415 - Computer Networks 11 Problem Definition Internal routers are shown in blue while border routers are red. BGP speakers that communicate within an AS are internal peers. Those that communicate between ASes are external peers. This highly simplified internetwork shows two stub ASes, both of which only connect to the multihomed AS #2 4/13/2015 CST 415 - Computer Networks 12 BGP Defined Boundary Gateway Protocol • Each BGP stores information about networks and the routes to them in a set of Routing Information Bases (RIBs). • This route information is exchanged between BGP routers, and propagated throughout the entire internetwork, allowing each AS (Autonomous System) to find paths to each others AS. • This enables routing across the entire internetwork. 4/13/2015 CST 415 - Computer Networks 13 BGP Defined Boundary Gateway Protocol • BGP supports an arbitrary topology of ASes. • They can be connected in any manner. • An AS must have a minimum of one router running BGP, but can have more than one. • BGP can be used to communicate between BGP routers within the same autonomous system. 4/13/2015 CST 415 - Computer Networks 14 BGP Defined BGP Provides: • Inter-Autonomous System Communication – Provide a standard mechanism for autonomous systems to exchange routing information. • Coordination among multiple BGP speakers – Allow for boundary routers from a single autonomous to exchange routing information. • Propagation of reachability information – Allow autonomous systems to advertise information related to internal systems as well as systems it is willing to forward packets on behalf of. • Next-hop information – Provide information related to the “next-hop”. 4/13/2015 CST 415 - Computer Networks 15 BGP Defined BGP Provides: • Policy support – support administrative policies related to internal autonomous system privileges as viewed by the outside world. • Reliable transport – runs on top of TCP • Routing path information – Provide information related to actual routes available through the autonomous system. 4/13/2015 CST 415 - Computer Networks 16 BGP Defined BGP Provides: • Incremental route updates – Only update routes that have changed. • Classless addressing support – Provide support for the CIDR address masking mechanism. • Route information aggregation – Allow for multiple route information updates to be sent in a single update packet. • Authentication – Provide for message authentication before processing. 4/13/2015 CST 415 - Computer Networks 17 BGP State Transition 4/13/2015 CST 415 - Computer Networks 18 BGP Message Generation BGP peers will exchange messages for: • Peer acquisition and authentication • Peer exchange of positive and negative network reachability information, • Peer network function verification. 4/13/2015 CST 415 - Computer Networks 19 BGP Message Types Open Message: • Version – 1 octet: identification of protocol version. • Autonomous Systems Number – 2 octets: Identifier for the senders autonomous system. • Hold Time – 2 octets: The maximum amount of time to wait for a message from the sender. • BGP Identifier – 4 octets: A unique identifier for identification of the sender. • Optional parameters 4/13/2015 CST 415 - Computer Networks 20 BGP Message Update Message 4/13/2015 CST 415 - Computer Networks 21 BGP Message Types Update Message: • Withdrawn Length – 2 octets: number of octets for the destinations that are being withdrawn from the source. • Withdrawn Destinations – variable: the destination networks that the source is withdrawing from the destination routing tables. • Path Length – 2 octets: number of octets for destination addresses that are being added to source routing. • Path Attributes – variable: a descriptor for all destination networks in the update (e.g. list of reachable networks, list of next hops, etc.) • Destination Networks – variable: the destination networks that are being added to the destination routing tables. 4/13/2015 CST 415 - Computer Networks 22 BGP Message Types Keepalive Message: • Inform the receiver to not allow the TCP connection to drop. • As long as the BGP TCP connection is “kept alive”, the BGP servers will know any new routing information will be up-to-date. 4/13/2015 CST 415 - Computer Networks 23 BGP Message Types Notification Message: • Used to inform of error conditions in the BGP peer network. 4/13/2015 CST 415 - Computer Networks 24 BGP Limitations • BGP only advertises networks that can be reached through the BGP server’s autonomous system. • BGP does not exchange route cost. – This makes it hard to compute a “least-cost” route across autonomous systems. • Because of this, the BGP router should only advertise routes that will be beneficial to outside autonomous systems. 4/13/2015 CST 415 - Computer Networks 25