Title: Routing Between Peers BGP
1Routing Between Peers (BGP)
2Routing 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
3- 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.
4Practical 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
5- 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
6- 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
7Extra 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
8Figure 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
9Autonomous 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
10- 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 others number - Each large ISP is considered an AS
- Routing between major ISPs is really routing
among autonomous systems
11Exterior 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
12Figure 14.2
13BGP 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
14- 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
15- 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
16- 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
17BGP 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
18 The five basic message types in BGP
Figure 14.3
19-
- 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
Figure 14.4
20BGP 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
21- 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
Figure 14.5
22BGP 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
23- 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.
Figure 14.6
24Compressed 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
25- 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
Figure 14.7
26BGP 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 senders AS
27- 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
28- 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
29Figure 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.
30BGP 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
31- 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
32Information from the Receivers 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 outsiders perspective
33- R2 must report reachability to networks 1 through
4 - Next hop Net 1 thru R1 Net 3 4 thru R3 Net 2
thru R2
Figure 14.10
Example of an autonomous system. Router R2 runs
BGP and reports information from the outsiders
perspective, not from its own routing table.
34Key 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
35- 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
36- 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
37- 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
38- 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
39Internet 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
40- 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
41BGP Notification Message
- NOTIFICATION messages are used for control or
when errors occur - Errors are permanent
- Sends NOTIFICATION message, closes TCP connection
42 Figure 14.11
Figure 14.12
43 Figure 14.13
44Summary
- 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
45- 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