module11b

advertisement
Border Gateway Protocol
Autonomous Systems and Interdomain
Routing (Exterior Gateway Protocol EGP)
Internet Infrastructure
Regional
Network
(Tier 2)
IXP
Backbone Network
(Tier 1)
local ISP
(Tier 3)
Regional
Network
(Tier 2)
Backbone Network
(Tier 1)
Regional
Network
(Tier 2)
local ISP
(Tier 3)
local ISP
(Tier 3)
IXP
corporate
network
IXP
Regional
Network
(Tier 2)
campus
network
2
Autonomous Systems
• An autonomous system (AS) is a region of the Internet that is
administered by a single entity and that has a unified routing policy
• Each autonomous system is assigned an Autonomous System
Number (ASN). Each ASN is 16bits (32 but coming soon)
• 1-64511 are assigned by Regional Internet Registries
• 64512-65534 are for private use and never appear on the
Internet
• 0 and 65535 are reserved
• Example ASNs
• Uof T’s campus network (AS239)
• Sprint (AS1239, AS1240, AS 6211, …)
• Interdomain routing is concerned with determining paths between
autonomous systems (interdomain routing)
• Routing protocols for interdomain routing are called exterior
gateway protocols (EGP)
3
Interdomain and Intradomain Routing
AS 2
AS 5
AS 1
AS 6
AS 7
AS 3
AS 4
• Routing protocols for intradomain routing are called interior gateway
protocols (IGP)
• Objective: shortest path, only operate within an AS
• Routing protocols for interdomain routing are called exterior gateway
protocols (EGP)
• Objective: satisfy policy of the ASs, only operates between ASs
4
Number of Autonomous Systems
5
EGP and IGP
1
AS 2
AS 2
EGP (e.g., BGP)
IGP (e.g., OSPF)
IGP (e.g., RIP)
• Interior Gateway Protocol (IGP)
• Routing is done based on metrics
• Routing domain is one autonomous system
• Exterior Gateway Protocol (EGP)
6
• Routing is done based on policies
• Routing domain is the entire Internet
EGP
• Interdomain routing is based on connectivity between autonomous
systems
• Interdomain routing can ignore many details of intra domain router
interconnection
AS 1
AS 2
AS 3
7
Multiple Routing Protocols
• Multiple routing protocols can
run on the same router
• Each routing protocol updates
the routing table
RIP
Process
BGP
Process
OSPF
Process
routing
protocol
routing
protocol
routing table updates
routing
table
routing table
lookup
incoming IP
datagrams
8
IP
Forwarding
outgoing IP
datagrams
Autonomous Systems
Terminology
• local traffic: traffic with source and
destination in AS
• transit traffic: traffic that passes through the
AS
• Stub AS: has connection to only one AS, only
carries local traffic
• Multihomed Stub AS: has connection to >1
AS, but does not carry transit traffic
• Transit AS: has connection to >1 AS and
carries transit traffic
9
Stub and Transit Networks
AS 2
AS 1
AS 4
AS 3
Settings:
• AS 1 is a multi-homed stub network
• AS 3 and AS 4 are transit networks
• AS 2 and AS 5 are stub networks
10
AS 5
Selective Transit
AS 2
AS 1
Example:
• AS 3 carries traffic
between AS 1 and AS 4 and
between AS 2 and AS 4
• But AS 3 does not carry traffic
between AS 1 and AS 2
• The example shows a routing
policy.
11
AS 3
AS 4
Customer/Provider and Peers
AS 2
Customer/
Provider
Customer/
Provider
AS 4
Customer/
Provider
AS 6
AS 5
Customer/
Provider
Customer/
Provider
AS 7
AS 8
Peers
• A stub network typically obtains access to the Internet through a
transit network.
• A Transit network that is a provider may be a customer for another
network
• Customer pays provider for service
12
Customer/Provider and Peers
AS 1
AS 2
AS 3
Peers
Peers
Customer/
Provider
Customer/
Provider
Customer/
Provider
AS 4
AS 5
Customer/Provider
AS 6
Customer/
Provider
AS 7
AS 8
•
•
•
•
Transit networks can have a peer relationship
Peers provide transit between their respective customers
Peers do not provide transit between peers
Peers normally do not pay each other for service
13
Border Gate Protocol (BGP)
• Border Gateway Protocol is the interdomain
routing protocol for the Internet for routing
between autonomous systems
• Currently in version 4 (1995)
• Network administrators can specify routing
policies
• BGP is a path vector protocol (Like distance
vector, but routing messages in BGP
contain complete routes)
• Uses TCP to transmit routing messages
14
BGP and Autonomous Systems
Each AS designates a border router to speak on its behalf
Two border routers become BGP peers
Border Gate Protocol (BGP)
• An autonomous system uses BGP to
advertise its network address(es) to
other AS’s
• BGP helps an AS to:
1. Learn about reachable networks from
neighboring AS’s
2. Distribute the information about reachable
networks to routers inside the AS
3. Select a route if there are multiple routes
to reach the same network
16
General Principle
• 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.
• Routers must be divided into groups
Key C/C’s of BGP
•
•
•
•
•
•
•
•
•
•
Provides inter-autonomous system communication
Propagates reachability information
Follows next-hop paradigm
Provides support for policies
Sends path information
Permits incremental updates
Allows route aggregation
Allows authentication
Uses reliable transport (i.e., TCP)
– Unusual: most routing update protocols use connectionless
transport (e.g., UDP)
• Sends keep alive messages so other end knows connection is valid
(even if no new routing information is needed). Similar to OSPF
neighbors
BGP Message Types
Each advertised route is specified as a network prefix
with attribute values
BGP Message Header
Marker is an agreed upon value (synchronization pattern) between two peers.
Usually all one’s, but can be used for authentication. Used to synchronize the two ends.
Length gives total message length in octets
Type contains one of the message types shown in previous slide
BGP Open Message
Opening a connection
• After TCP Connection is established, peers send an OPEN msg to
declare the AS number and other attributes.
• Hold Time indicates the max. elapsed time between two msgs that
a receiver should wait. If nothing received from a peer prior to
timeout, peer considered to be down. Reset with every msg
reception. KeepAlive msgs sent every 1/3 hold time value if no
other msg sent.
• An OPEN msg is Acked with a KeepAlive msg.
• A unique BGP Identifier is used for all communications from this
peer. It is one of the BGP router IP addresses.
• Parm.Len indicates the length in octets of optional parameters. If
none, it is zero octets.
• Each Opt. Parameter is preceded by 2 octets specifying the type
of parameter and the length of the parameter.
Flow between Multiple ASes
• For net N1 in AS1 to send traffic to net N16 in AS16:
•
•
•
•
AS16 must originate and announce N16 to AS8.
AS8 must accept N16 from AS16.
AS8 must announce N16 to AS1 or AS34.
AS1 must accept N16 from AS8 or AS34.
• For two-way packet flow, similar policies must exist for N1.
AS34
AS16
N16
AS1
N1
AS8
BGP interactions
• The networks that are
advertised are network IP
addresses with a prefix, E.g.,
128.100.0.0/16
AS 1
Prefixes reachable from AS 1
AS 2
Prefixes reachable from AS 3
36
AS 3
BGP interactions
•
•
•
BGP is executed between two routers
• BGP session
• BGP peers or BGP speakers
Procedure:
1. Establishes TCP connection (port
175) to BGP peer
2. Exchange all BGP routes
3. As long as connection is alive:
Periodically send incremental
updates
Note: Not all autonomous systems need
to run BGP. On many stub networks, the
route to the provider can be statically
configured
37
AS 1
BGP Session
AS 2
BGP interactions
• BGP peers advertise
reachability of IP networks
• A advertises a path to a
network (e.g., 10.0.0.0/24) to
B only if it is willing to forward
traffic going to that network
• Path-Vector:
• A advertises the complete
path AS A, …., AS X
 this avoids loops
38
BGP Peer
B
Advertise
path to 10.0.0.0/24
A
10.0.0.0/24
BGP Peer
BGP Sessions
• External BGP session
(eBGP):
Peers are in different AS’es
• Internal BGP session
(iBGP)
Peers are in the same AS, but
each peer connects to a
different peer in another AS
• Note that iBGP sessions use
routes constructed by an
intradomain routing protocol
to exchange messages!
39
AS B
eBGP session
AS A
iBGP session
iBGP sessions
• All iBGP peers in the same
AS are fully meshed
• Peer announces routes
received via eBGP to iBGP
peers
Update from
eBGP session
AS A
40
Route Reflectors
• Full mesh of iBGP routers is
difficult to maintain
• Router Reflectors (RR)
present an alternative
• All iBGP routers peer with the
RR
• RR acts as a server
• Other iBGP routers
become clients
Update from
eBGP session
RR
AS A
41
Content of Advertisements
• A BGP router route advertisement is sent in a BGP UPDATE
message
• A route is announced as a Network Prefix and Attributes
• Attributes specify details about a route:
• Mandatory attributes:
ORIGIN
AS_PATH
NEXT_HOP
• many other attributes
42
ORIGIN attribute
• Originating domain sends a route with ORIGIN attribute
10.0.1.0/24,
ORIGIN {1}
AS 2
AS 4
10.0.1.0/24,
ORIGIN {1}
10.0.1.0/24,
ORIGIN {1}
AS 1
10.0.1.0/24,
ORIGIN {1}
43
AS 5
AS 3
10.0.1.0/24,
ORIGIN {1}
AS-PATH attributes
• Each AS that propagates a route prepends its own AS number
• AS-PATH collects a path to reach the network prefix
• Path information prevents routing loops from occurring
• Path information also provides information on the length of a path
(By default, a shorter route is preferred)
• Note: BGP aggregates routes according to CIDR rules
10.0.1.0/24,
AS-PATH {1}
AS 2
AS 4
10.0.1.0/24,
AS-PATH {4,2,1}
10.0.1.0/24,
AS-PATH {2,1}
AS 1
10.0.1.0/24,
AS-PATH {1}
44
AS 5
AS 3
10.0.1.0/24,
AS-PATH {3,1}
NEXT-HOP attributes
• Each router that sends a route advertisement, includes its own IP
address of the forwarding port in a NEXT-HOP attribute
• The attribute provides information for the routing table of the
receiving router.
128.143.71.21
128.100.11.1
AS 1
AS 5
AS 3
45
10.0.1.0/24,
NEXT-HOP {128.100.11.1}
10.0.1.0/24,
NEXT-HOP {128.143.71.21}
Connecting NEXT-HOP with
IGP information
192.0.1.2
128.100.11.1/24
AS 1
eBGP
IGP router
R1
AS 3
10.0.1.0/24,
NEXT-HOP {128.100.11.1}
At R1:
Routing table
Dest.
Next hop
128.100.11.0/24
192.0.1.2
BGP info
46
Dest.
Next hop
10.0.1.0/24
128.100.11.1
iBGP
10.0.1.0/24,
NEXT-HOP {128.100.11.1}
Routing table
Dest.
Next hop
128.100.11.0/24
192.0.1.2
10.0.1.0/24
192.0.1.2
Route Selection
• An AS may get more than one
route to an address
• Needs to select a route
AS 1
Advertise path to
10.0.1.0/24
AS 15
Advertise path to
10.0.1.0/24
AS 3
AS 2
Advertise path to
10.0.1.0/24
Advertise path to
10.0.1.0/24
AS 4
Route Selection Criteria (in order of preference)
• Highest Local Preference
• Shortest AS-Path
• Lowest MED (multi-exit discriminator) ( called “metric” in BGP)
• Prefer iBGP over eBGP routes
• Lowest IGP cost to leave AS (“hot potato”)
• Lowest router ID ( used as tie breaker)
47
Local Preference
AS 1
Advertise path to
10.0.1.0/24
AS 2
Local pref
= 100
Local pref = 10
Advertise path to
10.0.1.0/24
AS 1
AS 5
Advertise path to
10.0.1.0/24
AS 3
Local pref = 50
Local pref = 80
Advertise path to
10.0.1.0/24
AS 4
• Local to an AS – Non Transitive (Default is 100)
• Used to influence path selection – determines best outbound path
• If there are multiple exit points from the AS, the local preference
attribute is used to select the exit point for a specific route
• Path with highest local preference wins
• Local Preference is used only for iBGP sessions
48
Hot Potato Routing
• Router R3 in AS A receives
two advertisements to X
• Which route should it
pick?
• Hot Potato Rule: Select the
iBGP peer that has the
shortest IGP route
• Analogy: Get the packet out
of one’s own AS as quickly
as possible, i.e., on the
shortest path
49
Route
to X
Route to X
R2
R1
Route
to X
Route
to X
R3
AS A
Hot Potato Routing
Finding the cheapest IGP
route:
• Compare the cost of the two
paths
• R3 R1
• R3 R2
according to the IGP protocol
Route
to X
Route to X
R1
R2
Cost=6
Cost=23
• Here: R1 has the shortest
path
R3
• Add a routing table entry for
destination X
50
AS A
Hot Potato Routing can
backfire!
• AS1 would serve its customer (source) better
by not picking the shortest (lowest cost) route
to AS 2
Source
Cost=20
AS 1
Cost=5
High bandwidth network
Low bandwidth network
AS 2
51
Destination
Processing in BGP
Based on
attributes
Apply Import
Rules
Select Best
Route
Best entry is
entered in
IP routing
table
Update IP
routing table
BGP
updates
arrive
BGP
updates
depart
IP routing
table
52
Apply Export
Rules
Short AS-PATH does not mean that route is
short
AS 1
• From AS 6’s perspective
• Path {AS2, AS1} is short
• Path {AS5, AS4, AS3,
AS1} is long
AS 3
• But the number of traversed
routers is larger when using
the shorter AS-PATH (IGP
routing in AS2 has longer
route)
AS 2
AS 4
AS 5
AS 6
56
BGP Issues
• BGP is a simple protocol but it is very difficult to configure
• BGP has severe stability issue due to policies  BGP is known to not
converge.
• Path vectors are used to avoid cycles.
57
Download