Routing Between Peers (BGP) Chapter 14 Routing Update Protocol Scope Routing update protocol was used when Internet had single backbone Worked ok for that Scheme does not scale Additional router traffic as number of sites grows Internet routers cannot communicate directly Do not share a common network Networks owned & managed by independent groups Summary: Although it is desirable for routers to exchange routing information, it is impractical for all routers in an arbitrarily large internet to participate in a single routing update protocol. Practical Limit on Group Size How large is “too large”? Answer depends on: Algorithm being used to exchange information Capacity of the network Details of routing protocol Two issues: Delay Overhead Delay Look at Distance-Vector protocol To inform about a change Router receives new information Updates routing table Forwards information to neighbors In an internet with N routers in a linear topology N steps are required N must be limited for rapid distribution of info Overhead More routers means more traffic Size of messages can grow as routers and networks increase Size of messages must be limited Otherwise, routing traffic not small % of total traffic Most managers follow simple heuristic For WAN Allow a dozen routers to participate in single routing information protocol For LAN Approximately five times as many can participate General rule; many exceptions Internet is not static May implement traffic monitoring scheme Listens to network and records statistics Network utilization; packets carrying routing messages Extra Hops Must limit routers that participate in a single routing protocol Has consequences Some routers will be outside the group Outsider could make a member a default Like core/noncore router scheme Routing will be suboptimal Do not even need a large number of routers for this Figure 14.1 Suppose default for R3 is R1 Will have non-optimal route to R2 Cannot use ICMP redirect (only goes to source) Extra hop problem Works correctly but is inefficient Non-participating routers must learn from participating routers Autonomous System Concept Just looking at mechanics of routing What are the administrative issues? Take a different viewpoint Do not think of as multiple independent networks There is a single administrative authority for all Keep internal routes consistent and viable Pick machine to tell outside about networks inside Autonomous System Group of networks and routers controlled by a single administrative authority Inside AS, routers have freedom Choose own methods of propagating, discovering, validating, and checking consistency or routes Each assigned an autonomous system number When routers in two ASs exchange routing information, they learn each other’s number Each large ISP is considered an AS Routing between major ISPs is really routing among autonomous systems Exterior Gateway Protocol EGP Any protocol passing reachability info between autonomous systems Currently most TCP/IP internets use BGP Border Gateway Protocol Four versions; current is BGP-4 (what we will use) Each AS designates a router to speak BGP Usually select router near “edge” of the AS Hence term border gateway or border router Figure 14.2 BGP Characteristics BGP is unusual Neither pure distance-vector or pure link state Characteristics Inter-Autonomous System Communication Designed for one AS to talk to another Coordination Among Multiple BGP Speakers AS may have multiple routers talking to outside AS BGP can coordinate among the routers Ensures consistent information propagated Propagation of Reachability Information Allows AS to advertise destination reachable in it or through it AS learns such information from other AS Next-hop Paradigm Supply next hop info for each destination (like DV) Policy Support DV protocols advertise exactly the routing table info BGP can implement policies from local administrator Distinguish between destinations reachable by systems in its AS versus those advertised to other ASs Reliable Transport Unusual: assumes reliable transport Thus, uses TCP for all communication Path Information Does more than specify destinations and next hop Includes path information Allows receiver to learn a series of ASs along a path Incremental Updates Conserves bandwidth Not pass all information in each update message Exchange full information once Successive messages carry incremental changes Support for Classless Addressing Supports CIDR addressing Non-self identifying addresses; passes mask, too Route Aggregation Conserves bandwidth Send single entry to represent multiple, related destinations Authentication Receiver can authenticate messages Allows verification of a sender BGP Functionality and Message Types BGP performs 3 basic functions Initial peer acquisition and authentication Peers establish TCP connection Each side sends pos/neg reachability info Advertise reachable: send next hop info Declare one or more previous destinations unreachable Ongoing verification that connections functioning correctly Figure 14.3 The five basic message types in BGP Figure 14.4 16-octet MARKER field marks beginning of msgs 2-octet LENGTH field is total msg length in octets Min size: 19 octets (no data); max size: 4096 octets 1-octet TYPE field is one of the five types BGP OPEN Message Sent when peers establish TCP connection Declare autonomous system number Establish other operating parameters Contains header plus: Value for hold timer Max # seconds between receipt of 2 successive messages Figure 14.5 VERSION is protocol version (4) HOLD TIME is time to wait for a message from sender Receiver has timer; if expires, assumes sender no longer available IDENTIFER is IP address (must pick one if have multiple) Last field optional Authentication, capability negotiation, future: larger AS #’s Get OPEN, send KEEPALIVE, then exchange info BGP UPDATE Message OPEN and ACK, then exchange info After peers create TCP connection Use UPDATE to advertise New destinations that are reachable Withdraw previous advertisements Figure 14.6 Two parts: withdrawn destinations and new destinations Length fields specify size of fields that follow If no destinations for that part, length is zero Discuss path attributes soon…. Compressed Mask-Address Pairs New and withdrawn destination fields contain a list of IP addresses Have to accommodate classless addressing Need address mask as well BGP uses compressed representation Does not actually send a bit mask Reduces message size Figure 14.7 Mask info encoded in single octet preceding address Contains integer; specifies number of bits in the mask Mask bits are assumed to be contiguous Address only contains octets covered by the mask LEN 8 or less: one address octet follows 9 to 16: two; 17 to 24: three; 25 to 32: four LEN can be zero No address octet follows – corresponds to default route BGP Path Attributes BGP not pure distance-vector protocol Advertises more than next hop Additional info is in the path attributes field Can specify: Next hop for advertised destinations List of autonomous systems along the destination path Whether path info learned from other AS or derived from within sender’s AS Path attributes apply to all destinations in msg If need different attributes for some destinations, must send separate update message Path attributes important for 3 reasons Allows receiver to check for routing loops Sender can specify exact path thru ASs to destination If any AS appears twice, there is a loop Allows receiver to implement policy constraints Ex: not want to send thru untrusted AS Allows receiver to know source of all routes Info from inside AS or another AS Collected by exterior, or interior, gateway protocol Path attributes field contains list of items Each item consists of triple: (type, length, value) Type is 2 octets Length field 1 or 2 octets Type field used to get size of length field; length field used to get size of value field Variable field sizes minimize space needed Figure 14.8 (a) The two-octet type field that appears before each BGP attribute path item, and (b) the meaning of each flag bit. Figure 14.9 The BGP attribute type codes and the meaning of each. BGP KEEPALIVE Message Peers periodically exchange KEEPALIVE msgs Test network connectivity Verify both peers still functioning Message is only header; no data Total size is 19 octets Reasons for KEEPALIVE messages Using TCP TCP does not continually test endpoints TCP will report if cannot deliver message Conserve bandwidth Used to exchange routing info for connectivity test Large routing messages wasted bandwidth Recall hold timer Maximum time to wait without receiving a msg Hold timer can be zero Means no KEEPALIVE messages used If greater than zero KEEPALIVE interval should be 1/3 of hold timer KEEPALIVE interval will never be less than 1 second Nonzero hold timer cannot be less than three seconds Information from the Receiver’s Perspective An Exterior Gateway Protocol must do more than propagate routing information Must make sure info is correct from outside view Two issues Policy Router inside AS may be able to reach destinations that outside routers are prohibited from reaching Optimal routes Router must advertise next hop that is optimal from the outsider’s perspective Figure 14.10 Example of an autonomous system. Router R2 runs BGP and reports information from the outsider’s perspective, not from its own routing table. R2 must report reachability to networks 1 through 4 Next hop: Net 1 thru R1; Net 3 & 4 thru R3; Net 2 thru R2 Key Restriction of EGPs Seen that exterior protocols may advertise a subset of the networks they can reach More fundamental limitation imposed on exterior routing: They cannot communicate or interpret distance Even if the distance metrics are available Cannot transmit or compare route costs Unless the routes come from within same AS See why BGP labels origin of routing info Get advertisement from two different ASs Have no way to compare the costs of the two Advertisement only says that an AS provides a path BGP cannot be used as a routing algorithm Router may learn of two paths to same network Cannot know which is shorter No info about cost of routes across intermediate ASs BGP is reachability protocol, not routing protocol AS does not include distance metric in info Must only advertise routes traffic should follow Receiver can implement policy constraints But cannot choose a least cost route Restriction has surprising consequences 1. BGP does not provide for simultaneous use of multiple paths Can advertise multiple paths to a given network But all traffic from one AS to another takes one path Outside AS use only one return path even if source divides traffic among two or more paths Delay and throughput between pair is asymetric 2. BGP does not support load sharing on routers between arbitrary autonomous systems Two ASs may have multiple routers connecting them Would like to balance traffic among the routers BGP only allows dividing the load by network ASs can partition themselves into multiple subsets Does not support more general load sharing 3. If two or more WANs are interconnected at multiple points, BGP alone is inadequate for optimal routing – Special case of #2 – Managers must manually configure which networks are advertised by each exterior router 4. Must have agreement on consistent scheme for advertising reachability – All autonomous systems must agree – BGP alone will not guarantee global consistency Internet Routing Architecture Routing information must be globally consistent Individual protocols may not guarantee Such as BGP Only handles exchange between pairs of routers Originally, core systems guaranteed consistency At any time, had exactly one path to each destination Cores went away No single mechanism available as a replacement No central mechanism to validate routes and guarantee global consistency Current routing architecture Major ISPs connect to the Internet at Network Access Points (NAP) Also known as Internet Exchange Points (IXPs) Engage in private peering Relationship is upstream, downstream, or transit Use Routing Registries Helps assure routes are valid Holds info about which ISPs own which blocks of addresses But, many exist; no way to validate the registries Black holes happen Given address is not reachable from all parts of Internet Routing cannot be flawless without a centralized, authoritative registry BGP Notification Message NOTIFICATION messages are used for control or when errors occur Errors are permanent Sends NOTIFICATION message, closes TCP connection Figure 14.11 Figure 14.12 Figure 14.13 Summary Routers must be partitioned into groups Else volume of routing traffic intolerable Connected Internet composed of ASs Each AS has single administrative authority AS must advertise reachability information Border Gateway Protocol (BGP) Most widely used EGP 5 message types (open, update, notification, keepalive, refresh) Uses TCP, but has keepalive mechanism Each ISP assigned to separate AS Main boundary among ASs occur at IXP Peering occurs at these points ISP uses BGP to communicate with peers Advertise reachability of networks that can be reached through it Learn about networks in other ISPs Routing registries exist Aid in validating advertisements Problems can still occur because of no centralized, authoritative control