Transcript Chapter 14
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