Introduction to Communication Networks Spring 2007
EECS 122 SPRING 2007
Unit 16Global Internetworking
2 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Acknowledgements – slides coming from:
• Based almost completely on slides from the earlier issues of the EECS 122 taught recently by Prof Jean Walrand, Prof David Tse, Prof Abhay Parekh, Prof Shyam Parekh, Prof Ion Stoica etc.
• Some slides borrowed from Timothy G. Griffins SIGCOM 2001 tutorial; August 2001, [email protected]
3 of 54Prof. Adam WoliszEECS 122 SPRING 2007
ISPs... [Steenkiste]
4 of 54Prof. Adam WoliszEECS 122 SPRING 2007
ISPs, ISPs,
• But – the hierarchy is not so strict – there is a lot of choice...
• How many ISPs in my vicinity? in the 510 area code?
www.thelist.com
5 of 54Prof. Adam WoliszEECS 122 SPRING 2007
How Are ISPs related? Peering & Transit• Peering
– The business relationship whereby ISPs reciprocally provide to each other connectivity to each others’ local or “inherited” customers
• Transit– The business relationship whereby one ISP provides (usually sells)
access to all destinations in it’s routing table
William B. Norton, “Internet Service Providers and Peering”
6 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Peering & Transit :Peering
Figure fromWilliam B. Norton, “Internet Service Providers and Peering”
West and East Peer with USNet but they can’t reach each other
7 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Peering & Transit :TransitFigure fromWilliam B. Norton, “Internet Service Providers and Peering”
8 of 54Prof. Adam WoliszEECS 122 SPRING 2007
William B. Norton, “Internet Service Providers and Peering”
Peering & Transit: Benefits of Transit v/s Peering
9 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Nontransit vs. Transit ASes [griffin]
ISP 1ISP 2
NET A Nontransit ASmight be a corporateor campus network.Could be a “content provider”
Traffic NEVER flows from ISP 1through NET A to ISP 2(At least not intentionally!)
IP traffic
Internet Serviceproviders (often)have transit networks
10 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Hierarchical Routing
A
B
C
31
2
12
10
13
11
6
7
8
5
4
The internet has many Administrative Domains
11 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Hierarchical Routing … Border Routers
6
4
3
2
13
A
B
C
2
4
3
6
13
7
8
5
1 12
1011
OSPF
RIP
IGRP
BGP
12 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Hierarchical Routing: Interdomain & Intradomain
A
B
C
6
7
8
5
4
31
2
12
10
13
11
6
4
3
2
13
B
2
4
3
6
13
OSPF
RIP
IGRP
BGP
InterDomainInterDomain
IntraDomain
IntraDomain
IntraDomain
- IntraDomain routing protocols:Local issue, different
- InterDomain routing protocol:One common!!!
13 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Why Hierarchical Routing?
• Is a natural way for routing to scale
– Size
– Network Administration
– Governance
• Allows multiple metrics at different levels of the hierarchy
• Exploits address aggregation and allocation
6
4
3
2
13
2
4
3
6
13
7
8
5
1 12
1011
Inter DomainRouting OSPF
RIP
IGRP
14 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Internet Routing• Internet organized as a two level hierarchy
– Some intra-domain routing approaches create their own hierarchy (see OSPF)
• Autonomous systems (AS’s)– AS – region of network under a single administrative domain
• AS’s run an intra-domain routing protocols– Distance Vector, Communicate current distance estimates of node to
every other node, uses Bellman_Ford, . e.g., RIP, IGRP,EIGRP– Link State, Communicate the names and costs of neighbors. Each node
maintains the entire topology, uses Dijkstra, e.g., OSPF, ISIS
• Between AS’s runs inter-domain routing protocols, e.g., Border Gateway Routing (BGP)
– De facto standard today, BGP-4, uses Path Vector: Communicate current estimates of preferred paths from node to every other node, source routing!
15 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Overview
AABB
CCDD
2
1
1
3
A: [B, 2], [C, 1]B: [A, 2], [D, 1]C: [A, 1], [D, 3]D: [B, 1], [C, 3]
1) Exchange Link States 2) Each node computesthe shortest paths tothe others
LINK STATE
AABB
CCDD
2
1
1
3
DISTANCE VECTOR
0
0AA
BB
CCDD
2
1
1
3
1
03
AABB
CCDD
2
1
1
3
AABB
CCDD
2
1
1
3
PATH VECTOR
D
DAA
BB
CCDD
2
1
1
3
B,D
C,D
AABB
CCDD
2
1
1
3
“Don’t like B”
16 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Link state vs. Distance Vector
17 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Routing Sub-Functions• Topology Update: Characterize and maintain connectivity
– Discover neighbors
– Measure “distance” (one or more metric)
– Disseminate
• Route Computation:– Kind of path: Multicast, Unicast
– Centralized or Distributed Algorithm
– Policy
– Hierarchy
• Switching: Forward the packets at each node
18 of 54Prof. Adam WoliszEECS 122 SPRING 2007
OSPF: Topology update – Flooding!!! [steenkiste]
Cost of the link might be split according to different Type of Service metrics: e.g. high for delay, low for bit error rate...
(Link ID and metric repeated for each link)
19 of 54Prof. Adam WoliszEECS 122 SPRING 2007
OSPF link-state advertisement [Peterson]
LS Age Options Type=1
0 Flags 0 Number of links
Link type Num_TOS Metric
Link-state IDAdvertising router
LS sequence number
Link IDLink data
Optional TOS informationMore links
LS checksum Length
Packet used to advertise links...
20 of 54Prof. Adam WoliszEECS 122 SPRING 2007
OSPF: Topology update – processing [steenkiste]
21 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Flooding- More issues [steenkiste]
22 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Some Issues• What happens if some routers are much faster at
transmitting LSPs?
• What happens if sequence numbers wrap?
• What happens when a partitioned network is reconstituted?
• What about security?
• Etc., etc.
• Many lines of code
23 of 54Prof. Adam WoliszEECS 122 SPRING 2007
OSPF allows for some local hierarchy!
This hierarchy simplifies routing (complexity of Dijkstra!!), but might introduceLonger routes...
24 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Remember CIDR?
25 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Hierarchical Adressing helps in Routing structuring
26 of 54Prof. Adam WoliszEECS 122 SPRING 2007
ISPs divide the available addresses...
27 of 54Prof. Adam WoliszEECS 122 SPRING 2007
ISPs... [Steenkiste]
How can I learn who owns an IP address?Go to the interactive ARIN WHOIS data base:http://www.arin.net/whois/
28 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Search Sample (line borders edited for readability!)
• Search results for: 216.35.221.77• OrgName: Savvis OrgID: SAVVI-2• Address: 3300 Regency Parkway_ City: Cary_StateProv: NC_PostalCode:
27511_Country: US • ReferralServer: rwhois://rwhois.savvis.net:4321/ • NetRange: 216.32.0.0 - 216.35.255.255• CIDR: 216.32.0.0/14 • NetName: SAVVIS NetHandle: NET-216-32-0-0-1 Parent: NET-216-0-0-0-0• NetType: Direct Allocation • NameServer: DNS01.SAVVIS.NET _NameServer: DNS04.SAVVIS.NET• Comment: RegDate: 1998-07-30 _Updated: 2004-10-07 • OrgAbuseHandle: ABUSE11-ARIN _OrgAbuseName: Abuse Org• AbusePhone: +1-877-393-7878 _OrgAbuseEmail: [email protected]• OrgNOCHandle: NOC99-ARIN _OrgNOCName: SAVVIS Support Center
OrgNOCPhone: + 1-888-638-6771 _OrgNOCEmail: [email protected] OrgTechHandle: UIAA-ARINOrgTechName: US IP Address Administration
• OrgTechPhone: + 1-888-638-6771 _OrgTechEmail: [email protected]
29 of 54Prof. Adam WoliszEECS 122 SPRING 2007
The hierarchy again...
This hierarchy simplifies routing (complexity of Dijkstra!!), but might introduceLonger routes...
30 of 54Prof. Adam WoliszEECS 122 SPRING 2007
What about the Forwarding Table?
31 of 54Prof. Adam WoliszEECS 122 SPRING 2007
3b
1d
3a
1c2aAS3
AS1AS2
1a
2c2b
1b
3c
Inter-AS tasks
• Suppose router in AS1 receives datagram for dest outside of AS1
– Router should forward packet towards an AS-border router, but which one?
AS1 needs:
1. to learn which dests are reachable through AS2 and which through AS3
2. to propagate this reachability info to all routers in AS1
Job of inter-AS routing!
32 of 54Prof. Adam WoliszEECS 122 SPRING 2007
R border router
internal router
BGPR2
R1
R3
A
AS1
AS2
you can reachnet A via me
traffic to A
table at R1:dest next hopA R2
Share connectivity information across ASes
Concept
TOC – IP – Routing – Types – Interdomain – BGP – Concept
Advertising a route means readiness to carry traffic!!!
33 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Border Routers have to communicate
34 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Forwarding Table
Forwarding Table
Join EGP with IGP For Connectivity [griffin]
AS 1 AS 2192.0.2.1
135.207.0.0/16
10.10.10.10
EGP
192.0.2.1135.207.0.0/16
destination next hop
10.10.10.10192.0.2.0/30
destination next hop
135.207.0.0/16Next Hop = 192.0.2.1
192.0.2.0/30
135.207.0.0/16
destination next hop
10.10.10.10
+
192.0.2.0/30 10.10.10.10
35 of 54Prof. Adam WoliszEECS 122 SPRING 2007
192.0.2.0/24
192.0.2.0/24Accidental or maliciousannouncement of your prefixcan blackhole your destinations in large part of the Internet
peer peer
customerprovider
Need Filter Here!
legitimate
not legitimate
Danger: Blackholes
36 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Internet inter-AS routing: BGP
• The de facto standard: Border Gateway Protocol (BGP)
• BGP provides each AS a means to:1. Obtain subnet reachability information from neighboring ASs2. Propagate reachability information to all routers in the AS3. Determine “good” routes to subnets based on reachability
information and routing policy.
• Allows a subnet to advertise its existence to rest of the Internet: “I am here”
• Issues: – Which routing algorithm?– How are routes advertised?– How to implement routing policies?
37 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Some BGP principles.
Pairs of routers (BGP peers) exchange routing info over semipermanent TCP connections: BGP sessions
Note that BGP sessions do not correspond to physical links
38 of 54Prof. Adam WoliszEECS 122 SPRING 2007
BGP is a path vector protocol• Distance vector algorithm with extra information
– Pure distance vector does not enable policies
– Pure link state does not scale and exposes policies
• When advertising a prefix, advert includes BGP attributes. – prefix + attributes = “route”
• Two important attributes:– AS-PATH: contains all ASs along the way: AS 67 AS 17
– NEXT-HOP: Indicates the specific internal-AS router to next-hop AS.
• When gateway router receives route advertisement, uses import policy to accept/decline
– Can make decision based on ASes on path
– Can easily avoid loops
39 of 54Prof. Adam WoliszEECS 122 SPRING 2007
BGP Routing Table
40 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Peers exchange BGP messages using TCP• OPEN:
– opens TCP conn. to peer– authenticates sender
• UPDATE:– advertises new path (or withdraws old)– Path attributes: e.g. multiple exit discriminators…
• KEEPALIVE:– keeps connections alive in absence of UPDATES, ACKs OPEN request
• NOTIFICATION:– reports errors in previous msg; closes a connection
Process:– Initialization: Open => Updates for all routes
– Ongoing: Updates for changed routes
41 of 54Prof. Adam WoliszEECS 122 SPRING 2007
The Philosophy: Reachability• Interdomain routing is about implementing policies of
reachability– Routing efficiency and performance is important, but not essential
• ISPs could be competitors and do not want to share internal network statistics such as load and topology
• Router learn > 1 route to some prefix
• Router must select what they believe is the best route!
• Elimination rules:1.Local preference value attribute: policy decision2.Shortest AS-PATH (the minimal number of AS on the way…)3.Best MED (multi-exit-discriminator) (announced preferred entry router)
4.Closest NEXT-HOP router: hot potato (out of my AS!) routing5.Additional criteria 6.IP address of peer router (just solving the stalemate…)
42 of 54Prof. Adam WoliszEECS 122 SPRING 2007
BGP Route Processing
Best RouteSelection
Apply ImportPolicies
BGP Route Table
Apply ExportPolicies
Install Best Routes
IP Forwarding Table
ReceiveBGPUpdates
Best andAlternate Routes
Apply policiesonly to Best Routes!
TransmitBGP Updates
Apply Policy =filter routes & tweak attributes
Based onAttributeValues
43 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Routing policy
• Reflects goals of network provider– which routes to accept from other ASes
– how to manipulate the accepted routes
– how to propagate routes through network
– how to manipulate routes
before they leave the AS
– which routes to send to another AS
44 of 54Prof. Adam WoliszEECS 122 SPRING 2007
BGP routing policy – an example
A
B
C
WX
Y
legend:
customer network:
providernetwork
• A,B,C are provider networks
• X,W,Y are customer (of provider networks)
• X is dual-homed: attached to two networks
– X does not want to route from B via X to C
– .. so X will not advertise to B a route to C
B, C = Peers
45 of 54Prof. Adam WoliszEECS 122 SPRING 2007
BGP routing policy, example (cont)
A
B
C
WX
Y
legend:
customer network:
providernetwork
• A advertises to B the path AW
• B advertises to X the path BAW
• Should B advertise to C the path BAW?– No way! B gets no “revenue” for routing CBAW since neither W
nor C are B’s customers – B wants to force C to route to w via A– B wants to route only to/from its customers!
B, C = Peers
Prof. Adam WoliszEECS 122 SPRING 2007
Local Preference Attribute
AS 400
AS 200
160.10.0.0/16AS 100
AS 300
AA BB
CC
DD EE
160.10.0.0/16 500> 160.10.0.0/16 800
500 800
• Allows providers to prefer routes within his AS -Path with highest local preference wins
– Local preference? Frequently „Hot potato“ – shortest way out of my network!!
47 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Multi-exit discriminator...
48 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Why different Intra- and Inter-AS routing?Policy:• Inter-AS: admin wants control over how its traffic routed, who routes
through its net. 1.Local preference value attribute: policy decision2. Shortest AS-PATH (the minimal number of AS on the way…)3. Best MED (multi-exit-discriminator) (announced preferred entry router)4. Closest NEXT-HOP router: hot potato (out of my AS!) routing5. Additional criteria 6. IP address of peer router (just solving the stalemate…)
• Intra-AS: single admin, so no policy decisions needed
Scale:• hierarchical routing saves table size, reduced update traffic
Performance:• Intra-AS: can focus on performance• Inter-AS: policy may dominate over performance
We need BOTH!
49 of 54Prof. Adam WoliszEECS 122 SPRING 2007
Midterm Scores: Avg=64, Sdev= 13.2
0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9
Series1
occurencies
Points*1010
The Leader: 95