Title: Inter-domain Routing: Today and Tomorrow
1Inter-domain Routing Today and Tomorrow
Dr. Jia Wang jiawang_at_research.att.com ATT Labs
Research Florham Park, NJ 07932,
USA http//www.research.att.com/jiawang/
Prof. Zhuoqing Morley Mao zmao_at_umich.edu Departmen
t of EECS University of Michigan Ann Arbor, MI
48109, USA http//www.eecs.umich.edu/zmao/
IEEE INFOCOM 2004 Tutorial March 8, 2004
2Outline
- Overview of Inter-domain routing
- Routing policies
- Measuring inter-domain paths
- Routing instability
- BGP Beacon - measurement infrastructure
- Implication on network engineering
- Security issues
Our opinions should not be taken to represent
ATT policies
3Part I Overview of Inter-domain Routing
4Internet
- Loose cooperative effort of Internet Service
Providers (ISPs) - E.g., ATT, Sprint, UUNet, AOL
- Best effort service
- Connectedness
- Anyone connected to the Internet can exchange
traffic with anyone else connected to the
Internet
5Internet routing
rusty.cs.berkeley.edu IP169.229.62.116 Prefix169
.229.0.0/16
www.cnn.com IP64.236.16.52 Prefix64.236.16.0/20
6Internet routing dictates application performance
www.cnn.com IP64.236.16.52 Prefix64.236.16.0/20
rusty.cs.berkeley.edu IP169.229.62.116 Prefix169
.229.0.0/16
7Internet routing domain
- Network devices under same technical and
administrative control - Common routing policy
- E.g., ISPs, enterprise networks
8Autonomous System (AS)
- Autonomous routing domain with an AS number (ASN)
- AS numbers
- 16 bits integer
- Public AS number 1 64511
- Private AS number 64512 65535
- Examples
- ATT 7018, 6431,
- Sprint 1239, 1240,
- MIT 3
9More than 14,000 ASes today
10Internet Initiative Japan (IIJ)
11IIJ, Tokyo
12Telstra international
13WorldCom (UUNet)
14UUNet, Europe
15Sprint, USA
16ATT IP Backbone, USA
17GARR-B
18Gigabit research network
19wiscnet.net
GO BUCKY!
20MIT.edu
http//bgp.lcs.mit.edu/
21Internet routing architecture
Inter-domain routing
Intra-domain routing
IP traffic
Internet
Berkeley
22Intra-domain routing
- Run within a certain network infrastructure
- Optimize routes taken between points within a
network - Internal Gateway Protocols (IGPs)
- Metrics based
- OSPF (Open Shortest Path First)
- RIP (Routing Information Protocol)
- IS-IS (Intermediate System to Intermediate System)
23Inter-domain routing
- Run between networks
- Provide full connectivity of entire Internet
- External Gateway Protocol (EBGP)
- Policy based
- BGP (Border Gateway Protocol)
24Inter-domain routing and BGP
- Static routing
- Mainly for stub networks
- Default routing
- Small stub networks
- Dynamic routing
- Via BGP
No need to run BGP in static routing and default
routing.
25Link state
- Examples OSPF, IS-IS
- Based on Dijkstras shortest path computation
- Each router periodically floods immediate
reachability information to other routers - Fast convergence
- High communication and computation overhead
- Not scalable for large networks
- Requires periodic refreshes
26Vectoring
- Distance vs. Path Vector
- Distance hop count (RIP)
- Path entire path (BGP)
- Helps identify loops
- Supports policy-based routing based on path
- Minimal communication overhead
- Takes longer to converge, i.e., in proportion to
the maximum path length
27Link state vs. vectoring
Link state
Vectoring
IGP
EGP
BGP is a path vector protocol
28Classful addressing
- IPv4 32 bits
- Five classes of networks
Improve scaling factor of routing in the Internet
gt classless
29RFC1519 Classless Inter-domain Routing (CIDR)
- No implicit mask based on the class of the
network - Explicit masks passed in the routing protocol
- Allow aggregation and hierarchical routing
30CIDR addressing
IP address 12.70.0.0
Mask 255.255.252.0
00001100 00100110 00000000 00000000
Address
00001100 00100110 00000000 00000000
Mask
11111111 11111111 11000000 00000000
11111111 11111111 11000000 00000000
Host identifier
Network prefix
CIDR representation 12.70.0.0/22
31Address aggregation
Internet
12.70.3.0/24
12.70.0.0/24
ISP A
12.70.1.0/24
ISP B
12.71.0.0/16
12.70.2.0/24
12.70.0.0/22 12.71.0.0/16
32Routing and forwarding
- Routing
- The decision process of choosing optimal path
that is consistent with the administrative or
technical policy - Forwarding
- The act of receiving a packet, doing a lookup,
and copying a packet to the next hop
33Classless forwarding
Internet
12.70.0.20
10.20.128.10
10.20.128.1
10.20.0.1
IP traffic
10.20.1.1
Prefix Next hop 12.70.0.0/24 10.20.0.1 12.70.0.0/
16 10.20.1.1 12.0.0.0/8 10.20.128.1 0.0.0.0
10.20.128.10
135.120.0.1
34Inter-domain routing with CIDR support
- BGP-4 RFC1771
- De facto EGP
- Path vector protocol
- Run on top of TCP for reliability
- Carry routing information between ASes
- Policy based routing
35BGP basic operations
- Set up BGP session
- Exchange all candidate routes
- Send incremental updates
36Establish BGP session
Establish neighboring session between 12.10.0.1
and 12.10.0.2
TCP 179
12.10.0.1
12.10.0.2
Prefix Next hop 12.70.0.0/24 10.20.0.1 12.9.0.0/1
6 10.20.1.1
Prefix Next hop 135.120.0.0/24 10.128.0.1 68.35.0
.0/16 10.192.1.1
37Exchange all candidate routes
12.70.0.0/24 10.20.0.1 12.9.0.0/16 10.20.1.1
12.10.0.1
12.10.0.2
135.120.0.0/24 10.128.0.1 68.35.0.0/16 10.192.1.1
Prefix Next hop 12.70.0.0/24 10.20.0.1 12.9.0.0/1
6 10.20.1.1 135.120.0.0/24 10.128.0.1 68.35.0.0/16
10.192.1.1
Prefix Next hop 135.120.0.0/24 10.128.0.1 68.35.0
.0/16 10.192.1.1 12.70.0.0/24 10.20.0.1 12.9.0.0/1
6 10.20.1.1
38Send incremental updates
Withdraw 12.9.0.0/16
12.10.0.1
12.10.0.2
Prefix Next hop 12.70.0.0/24 10.20.0.1 12.9.0.0/1
6 10.20.1.1 135.120.0.0/24 10.128.0.1 68.35.0.0/16
10.192.1.1
Prefix Next hop 135.120.0.0/24 10.128.0.1 68.35.0
.0/16 10.192.1.1 12.70.0.0/24 10.20.0.1 12.9.0.0/1
6 10.20.1.1
39BGP messages
- OPEN set up a peering session
- UPDATE announce new routes or withdraw
previously announced routes - NOTIFICATION shut down a peering session
- KEEPALIVE confirm active connection at regular
interval
40Internal vs. external BGP
Internet
I-BGP
AS B
E-BGP
AS C
AS A
41I-BGP mesh
I-BGP update
E-BGP update
I-BGP update
I-BGP update
42Make I-BGP scale for large AS
- Route reflectors
- Confederations
43Route reflector
E-BGP update
RR
RR
Only best paths being sent by RR
44Confederation
AS 1000
EBGP
IBGP
EBGP
IBGP
AS 65020
AS 65010
EBGP
45BGP updates
- Three blocks
- Prefix
- Path attributes
- Unreachable routes
46BGP attributes
- Value Code Reference
- 1 ORIGIN RFC1771
- 2 AS_PATH RFC1771
- 3 NEXT_HOP RFC1771
- 4 MULTI_EXIT_DISC RFC1771
- 5 LOCAL_PREF RFC1771
- 6 ATOMIC_AGGREGATE RFC1771
- 7 AGGREGATOR RFC1771
- 8 COMMUNITY RFC1997
- 9 ORIGINATOR_ID RFC1998
- 10 CLUSTER_LIST RFC1998
- 11 DPA Chen
- 12 ADVERTISER RFC1863
- 13 RCID_PATH / CLUSTER_ID RFC1863
- 14 MP_REACH_NLRI RFC2283
- 15 MP_UNREACH_NLRI RFC2283
- 16 EXTENDED COMMUNITIES Rosen
- 17 NEW_AS_PATH E.Chen
- 18 NEW_AGGREGATOR E.Chen
- 19 SAFI Specific Attribute (SSA) Nalawade
- 20-254 Unassigned
- 255 reserved for development
http//www.iana.org/assignments/bgp-parameters
47Establish connectivity
Prefix Next hop AS path 135.120.0.0/16 12.10.0.5
2 1
AS 3
Prefix Next hop AS path 135.120.0.0/16 12.10.0.1
1
12.10.0.6
IBGP
EBGP
12.10.0.5
AS 1
AS 2
135.120.0.0/16
EBGP
12.10.0.2
IBGP
12.10.0.1
IBGP
Prefix Next hop AS path 135.120.0.0/16 12.10.0.1
1
48IGP and BGP working together
Prefix Next hop AS path 135.120.0.0/16 12.10.0.1
1
AS 3
Prefix Next hop 12.10.0.0/30 10.10.0.1 135.120.0.
0/16 10.10.0.1
12.10.0.6
IBGP
EBGP
12.10.0.5
AS 1
AS 2
12.10.0.1
135.120.0.0/16
EBGP
12.10.0.2
10.10.0.1
IBGP
12.10.0.0/30
IBGP
Prefix Next hop AS path 135.120.0.0/16 12.10.0.1
1