Title: Chapter 4 LinkState Routing and Hierarchical Routing
1Chapter 4Link-State Routing and Hierarchical
Routing
- Professor Rick Han
- University of Colorado at Boulder
- rhan_at_cs.colorado.edu
2Announcements
- Last weeks lectures are online
- Homework 4 is online, due March 6
- PA 1 should be returned to you, see TA
- PA 2 due Saturday by 1159 pm
- Midterm likely Thursday, March 13
- Next, link-state routing, hierarchical routing
3Recap of Previous Lecture
- Dijkstra as alternative Shortest Path algorithm
to distributed Bellman-Ford Equation - Iteratively grow a shortest path spanning tree
from the root outwards - Link-state routing
- Dijkstra shortest path algorithm,
- Reliable flooding of LSPs to all nodes
- Link-state Metrics
- Queue size
- More advanced
4Revised LS ARPANET Metric
- If a loaded link looks very bad then everyone
will move off of it - Want some to stay on to balance load and avoid
oscillations - It is still an OK path for some
- Use a hop-normalized metric that
- Has a limited range of values for a given link
- Doesnt jump too much between updates for a given
link - Has a limited range of values across different
link types - ? gradual change
5Revised LS ARPANET Metric (2)
- Revised metric is a function of
- Smoothed bounded link utilization
- Link type
- Link utilization
- Measured link util. is sampled over 10sec period
- Link utilization .5current sample .5last
average - Normalized according to link type
- Satellite should look good when queuing on other
links increases
6Routing Metric vs. Link Utilization
225
9.6 satellite
140
New metric (routing units)
90
9.6 terrestrial
75
56 satellite
60
56 terrestrial
30
0
50
100
25
75
Utilization
7Observations
- Utilization effects
- High load never increases cost more than 3cost
of idle link - Cost f(link utilization) only at moderate to
high loads - LSPs flood only if change in Cost exceeds
threshold - Link types
- Most expensive link is 7 least expensive link
- High-speed satellite link is more attractive than
low-speed terrestrial link - Allows routes to be gradually shed from link
8Revised LS ARPANET Metric (3)
- Better utilization than earlier two metrics
- Less oscillation
- Allows routes to be gradually shed from link
- But is it sufficiently responsive to avoid stale
updates? - Cant propagate updates and react fast enough to
short time-scale changes in link cost, so
sluggish response is OK - Perlman complex.algorithmsbad idea, little
difference in network capacity between fixed
cost assignment and dynamic metric
9Scalability in Internet Routing
- Neither Distance Vector (RIP) nor Link-State
(OSPF) scale well to many nodes - DV slow to propagate and converge
- LS overhead of flooding all nodes to all nodes
- DV 50 million nodes gt long distance vectors
- Solution use hierarchy
- Group local routers into a domain, can be a
subnet on local area or Autonomous System (AS) on
wide area - All routers within an AS use an intra-domain
routing protocol, e.g. RIP and OSPF - Use another inter-domain routing protocol to
route between ASs
10Scalability in Internet Routing (2)
Inter-Domain Routing
AS 1
AS 2
Border/ Gateway Router
Border/ Gateway Router
RIP
OSPF
Intra-Domain Routing
11Inter-Domain Routing
- Routers within an AS share a common prefix in
their IP address, i.e. the top 16 bits are all
the same - aggregation of routes
- Why Inter-Domain Routing is hard
- 50000 CIDR prefixes to store in each router
- Assigning a cost to the AS between two border
routers is controlled by owner of each AS - Advertising a cost of 1000 is fast for one AS1,
slow for AS2 - Inter-Domain only advertises a reachable path
across multiple ASs, not shortest path - Each ASs owner wants per-route QOS/tariffs
- Policy-based routing over performance-based
routing
12Border Gateway Protocol (BGP)
- Interdomain Routing
- Similar to Distance Vector, but called Path
Vector instead - BGP router advertises only reachability info in
its vector, not costs/hop counts - E.g. networks 128.96, 192.4.153, and 192.4.3 can
be reached from AS2 - BGP router advertises its path to each
destination in its vector - Avoids loops
13BGP (2)
- Each routing update carries the entire path
- Loops are detected as follows
- When AS gets route, check if AS already in path
- If yes, reject route
- If no, add self and (possibly) advertise route
further
R1 to AS 1
R3 to AS 3
R2 To AS 2
14BGP (3)
- How do intra-domain routers learn about routes to
other ASs? - Option 1 Border router injects a default route
into intra-domain routing protocol for all
addresses not advertised within AS - Option 2 Multiple border routers inject a
specific network prefix into intra-domain routing
protocol - E.g. I, BGP 1, have a link to 192.4.54/24 of
cost X, and I, BGP 2, have a link to
192.4.72/24 of cost Y
15BGP (4)
- Perlman Although were probably stuck with BGP
forever, Ive never been convinced it is the
right approach. - Perlman I think the only way to solve the
general case of policy-based routing is with a
link state protocol plus source-specified routes.
16Interior Border Gateway Protocol
- Each AS may have many border routers
- Each border routers could inject 10000 prefixes
from neighboring AS - LSPs too large
- Shortest path calculations too expensive
- Border routers use interior BGP (IBGP) to limit
routing info received by internal AS routers - IBGP routers determine best route to each
destination - Only the best interior BGP router injects info
into AS - Any router in AS learns one best border router to
use when sending a packet externally
17Hierarchy In Addition To BGP
- OSPF has its own hierarchy group OSPF routers
into areas - Hierarchy AS gt OSPF area -gt OSPF network
- Subnets
- Fixed Classes A,B,C inefficient - Class B
exhaustion - Subdivide a Class B IP address 128.96.34.15 into
ltNetwork ID, Subnet ID, Host IDgt - IP address is ANDed with subnet mask to extract
subnet address - Subnet mask 255.255.255.0 ANDed with IP address
128.96.34.15 gives subnet address 128.96.34 - Subnet mask 255.255.255.128 ANDed with IP
address 128.96.34.15 gives subnet address
128.96.34.0
18Additional Hierarchy (2)
- Subnets
- When host 1 wants to send to host 2, AND the
subnet mask with the destination IP address - If result is same subnet as sending host 1, then
send over local LAN subnet - If result differs, then route to another subnet
using subnet-to-subnet routing - Forwarding table changes from ltdestination IP,
next hopgt to ltdestination subnet, subnet mask,
next hopgt - For each entry, router ANDs subnet mask with
dest. IP address and looks for match with
destination subnet - Longest match breaks a tie
19Additional Hierarchy (3)
- CIDR (Classless Interdomain Routing) Subnets
- When subnet mask is top N bits, then have a CIDR
network prefix, - 192.4.16 with 20 bit prefix is written
192.4.16/20 - Approaches for fast prefix matching
- How do nodes advertise their CIDR prefix/mask?
- IP header only has 32-bit address
- Where is subnet mask?
- BGP-4 path vectors and OSPF LSPs carry the CIDR
prefix along with the IP address, e.g. 192.4.16/20
20Additional Hierarchy (4)
- How do CIDR and non-CIDR routing stay compatible?
- OSPF and BGP support CIDR, RIP does not
- RIP builds a routing table by falling back to the
old Class A,B, C network prefixes - makes RIP more inefficient
- Packets are still routed correctly
- CIDR Bottom line
- Improves address assignment efficiency
- Helps aggregate routing to occur between networks
rather than nodes
21Fast Matching of Variable Prefixes
- Need to match CIDR network prefix with IP
packets destination address - Brute force for each destination router in list
- apply mask to match prefix with destination
addresss prefix - choose longest match
22Fast Matching of Variable Prefixes (2)
- Speeding it up Organize prefixes into a Patricia
tree - If Nth bit is zero, go left, otherwise go right
- Automatically finds longest match
- Worst case 32 bit tests
Bit to test 0 left child,1 right child
1
0
default 0/0
0
1
0
1
1
0
128.2/16
252.32.150/24
192.3/20
163.32/16
23Dynamic Host Configuration Protocol (DHCP)
- RARP A host knows a destinations MAC address,
but not destinations IP address. - If destinationitself, then same goal as DHCP
- BOOTP similar goal to RARP, devised same time
(1985) - DHCP a host knows its own MAC address, but
doesnt have an IP address yet - Due to hierarchical addressing on network, cant
have manufacturer-preassigned IP addresses - Manual configuration is time-consuming,
inflexible to changes, wastes addresses on
disconnected nodes
24DHCP (2)
- Goal Automatic configuration of a hosts IP
address - A host queries a DHCP server to obtain an IP
address - How does a host find the address of a DHCP
server? - Host sends a DHCPDISCOVER limited IP broadcast
packet, with destination address 255.255.255.255 - Routers never forward such a packet, so it stays
within LAN
IP Router
LAN1
LAN2
DHCP Server
Requesting Host
25DHCP (3)
- DHCP relays enable one DHCP server per
administrative domain, rather than one server per
network - Requires a DHCP relay on each network
- DHCP relay sends a unicast IP packet to DHCP
server when it hears a local IP broadcast packet
with DHCPDISCOVER
IP Router
LAN1
LAN2
DHCP Relay
DHCP Server
Requesting Host
26DHCP (4)
- DHCP server selects a dynamic IP addr. from pool
- maps hosts MAC address to the dynamic IP address
- Another advantage of relays enable DHCP
responses to get back to requesting host - Server cant send directly back using hosts MAC
address - DHCP server sends unicast to known IP address of
DHCP relay, which sends to hosts local MAC
address
IP Router
LAN1
LAN2
DHCP Relay
DHCP Server
Requesting Host
27DHCP (5)
- Hosts cannot keep dynamic IP addresses
indefinitely - Timeout/lease by DHCP
- 3 days for Windows NT, 8 days for Windows 2000, 1
day - Configurable when starting DHCP server
- Host must periodically renew lease, otherwise IP
address goes back into pool of available
addresses - DHCP is implemented as an application-level
protocol on top of UDP and IP