Routing - cs.hmc.edu
Transcript of Routing - cs.hmc.edu
![Page 1: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/1.jpg)
2/16/14 1
Routing
Reading: Chapter 3 Overview: Books on Routing, BGP is a life/career
CS125 - myrouting
![Page 2: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/2.jpg)
2/16/14 2
Goals of Lecture • Path selection
– Minimum-hop and shortest-path routing • Routing protocols
– Link state: OSPF, Open Shortest Path First – Distance vector: RIP, Routing Information
Protocol • Metrics
CS125 - myrouting
![Page 3: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/3.jpg)
IP Suite In Ac,on: Where We Are!!
3
HTTP
TCP
IP
Ethernet interface
HTTP
TCP
IP
Ethernet interface
IP
Ethernet interface
SONET interface
host host
router
Network IP, ICMP
Application SNMP, DNS
Transport
IP packet IP packet
Media Ethernet,TRDHCP, ARP
2/16/14 CS125 - myrouting
![Page 4: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/4.jpg)
IP Suite In Ac,on: End Hosts vs. Routers
4
HTTP
TCP
IP
Ethernet interface
HTTP
TCP
IP
Ethernet interface
IP IP
Ethernet interface
Ethernet interface
SONET interface
SONET interface
host host
router router
HTTP message
TCP segment
IP packet IP packet IP packet
2/16/14 CS125 - myrouting
![Page 5: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/5.jpg)
2/16/14 5
What is Routing? • A famous quotation from RFC 791
“A name indicates what we seek. An address indicates where it is. A route indicates how we get there.” -- Jon Postel
CS125 - myrouting
![Page 6: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/6.jpg)
2/16/14 6
IP Routing • Routing - operational aspects of Internet (NANOG) • Routing - process of choosing/creating a path • Router - network node making the choice on path • IP Routing Factors
– Network load – Datagram length – Requested service – Physical network characteristics
• Truth - shortest paths usually based on hop counts??? – Net neutrality
CS125 - myrouting
![Page 7: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/7.jpg)
2/16/14 7
IP Routing, cont
• Direct Routing – Host to host attached to same physical network/media
• Indirect Routing – Source/Destination not on same physical network, Router
needed – Sender must know Router/Gateway IP, then MAC address – Default Gateway, always available or screwed (DHCP)
CS125 - myrouting
![Page 8: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/8.jpg)
2/16/14 8
Forwarding vs. Routing • Forwarding: data plane –moving packet
– Directing a data packet to an outgoing link – Individual router using a forwarding table
• Routing: control plane – Computing paths the packets will follow – Routers talking amongst themselves – Individual router creating a forwarding table
CS125 - myrouting
![Page 9: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/9.jpg)
2/16/14 9
Overview • Network as a Graph
• Problem: Find lowest cost path between two nodes • Factors
– Static: topology – Dynamic: load – Static: link speed – Dynamic/Static: Weights and costs
4
36
21
9
1
1D
A
FEB
C
CS125 - myrouting
![Page 10: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/10.jpg)
2/16/14 10
Routing Worlds • IGP
– Interior Gateway protocols – AS, Autonomous System – Intradomain Routing protocols – Need to define ‘Domain’, e.g., Claremont Colleges
• EGP – Exterior Gateway protocols – Interdomain Routing protocols – Between ASs
CS125 - myrouting
![Page 11: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/11.jpg)
2/16/14 11
Why Does Routing Matter? • End-to-end performance
– Quality of the path affects user performance – Propagation delay, throughput, and packet loss
• Use of network resources – Balance of the traffic over the routers and links – Avoiding congestion by directing traffic to lightly-loaded
links – always an issue • Transient disruptions during changes
– Failures, maintenance, and load balancing – Limiting packet loss and delay during changes
CS125 - myrouting
![Page 12: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/12.jpg)
2/16/14 12
Shortest-Path Routing • Path-selection model
– Destination-based – Load-insensitive (e.g., static link weights) – Minimum hop count or sum of link weights
3 2
2
1
1 4
1
4
5
3 CS125 - myrouting
![Page 13: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/13.jpg)
2/16/14 13
Shortest-Path Problem • Given: network topology with link costs
– c(x,y): i.e., link cost from node x to node y – Infinity if x and y are not direct neighbors
• Compute: least-cost paths to all nodes – From a given source U to all other nodes – p(v): predecessor node along path from source to V
3 2
2
1
1 4
1
4
5
3
u!
v!
p(v)!CS125 - myrouting
![Page 14: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/14.jpg)
2/16/14 14
Dijkstra’s Shortest-Path Algorithm
• Iterative algorithm – After k iterations, know least-cost path to k nodes
• S: nodes whose least-cost path definitively known – Initially, S = {u} where u is the source node – Add one node to S in each iteration
• D(v): current cost of path from source to node v – Initially, D(v) = c(u,v) for all nodes v adjacent to u – … and D(v) = ∞ for all other nodes v – Continually update D(v) as shorter paths are learned
• How to learn paths?
CS125 - myrouting
![Page 15: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/15.jpg)
2/16/14 15
Dijsktra’s Algorithm 1 Initialization: 2 S = {u} 3 for all nodes v 4 if v adjacent to u { 5 D(v) = c(u,v) 6 else D(v) = ∞ 7 8 Loop 9 find w not in S with the smallest D(w) 10 add w to S 11 update D(v) for all v adjacent to w and not in S: 12 D(v) = min{D(v), D(w) + c(w,v)} 13 until all nodes in S
CS125 - myrouting
![Page 16: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/16.jpg)
2/16/14 16
Shortest-Path Tree for Node u Built by Dijkstra’s Alg.
• Shortest-path tree from u • Forwarding table at u
3 2
2
1
1 4
1
4
5
3
u!
v!
w!
x!
y!
z!
s!
t!
v (u,v) w (u,w) x (u,w) y (u,v) z (u,v)
link
s (u,w) t (u,w)
Telling ‘u’ the next hop to reach any other node
CS125 - myrouting
![Page 17: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/17.jpg)
2/16/14 17
Link-State Routing • Each router keeps track of its incident links
– Whether the link is up or down – The cost on the link
• Each router broadcasts the link state – To give every router a complete view of the graph
• Each router runs Dijkstra’s algorithm – To compute the shortest paths – … and constructs the forwarding table
• Example protocols – Open Shortest Path First (OSPF) – Intermediate System – Intermediate System (IS-IS)
CS125 - myrouting
![Page 18: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/18.jpg)
2/16/14 18
Link State • Strategy
– send to all nodes (not just neighbors) information about directly connected links (not entire routing table)
– Routers can then build their own map
• Link State Packet (LSP) – id of the node that created the LSP – cost of link to each directly connected neighbor – sequence number (SEQNO) – time-to-live (TTL) for this packet
CS125 - myrouting
![Page 19: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/19.jpg)
2/16/14 19
Link State (cont) • Reliable flooding
– store most recent LSP from each node – forward LSP to all nodes but one that sent it – generate new (my) LSP periodically
• increment SEQNO – start SEQNO at 0 when reboot – decrement TTL of each stored LSP
• discard when TTL=0, aging
CS125 - myrouting
![Page 20: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/20.jpg)
2/16/14 20
Detecting Topology Changes • Beaconing
– Periodic “hello” messages in both directions – Detect a failure after a few missed “hellos”, usually k
of n
• Performance trade-offs – Detection speed – Overhead on link bandwidth and CPU – Likelihood of false detection
“hello”!
CS125 - myrouting
![Page 21: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/21.jpg)
2/16/14 21
Broadcasting the Link State • Flooding
– Node sends link-state information out its links – And then the next node sends out all of its links – … except the one where the information arrived – note race and time stamp needed at node B
X A
C B D (a)
X A
C B D (b)
X A
C B D (c)
X A
C B D (d) CS125 - myrouting
![Page 22: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/22.jpg)
2/16/14 22
Broadcasting the Link State • Reliable flooding
– Ensure all nodes receive link-state information – … and that they use the latest version
• Challenges – Packet loss – Out-of-order arrival
• Solutions – Acknowledgments and retransmissions (in routing protocol) – Sequence numbers – Time-to-live for each packet
CS125 - myrouting
![Page 23: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/23.jpg)
2/16/14 23
When to Initiate Flooding? • Topology change
– Link or node failure – Link or node recovery
• Configuration change – Link cost change
• Periodically – Refresh the link-state information – Typically (say) 30 minutes – Corrects for possible corruption of the data
CS125 - myrouting
![Page 24: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/24.jpg)
2/16/14 24
Convergence • Getting consistent routing information to all nodes
– E.g., all nodes having the same link-state database
• Consistent forwarding after convergence – All nodes have the same link-state database – All nodes forward packets on shortest paths – The next router on the path forwards to the next hop
3 2
2
1
1 4
1
4
5
3 CS125 - myrouting
![Page 25: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/25.jpg)
2/16/14 25
Convergence Delay • Sources of convergence delay
– Detection latency of failed links • Forwarding incorrect info • Inconsistent link-state database
– Flooding of link-state information – Shortest-path computation – Creating the forwarding table
• Performance during convergence period – Lost packets due to black holes and TTL expiring – Looping packets consuming resources – Out-of-order packets reaching the destination
• Very bad for VoIP, online gaming, and video
CS125 - myrouting
![Page 26: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/26.jpg)
2/16/14 26
Reducing Convergence Delay • Faster detection
– Smaller hello timers – Link-layer technologies that can detect failures
• Faster flooding – Flooding immediately – Sending link-state packets with high-priority
• Faster computation – Faster processors on the routers – Incremental Dijkstra algorithm (can rebuild for part of graph
• Faster forwarding-table update – Data structures supporting incremental updates
CS125 - myrouting
![Page 27: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/27.jpg)
2/16/14 27
Scaling Link-State Routing • Overhead of link-state routing
– Flooding link-state packets throughout the network – Running Dijkstra’s shortest-path algorithm on each router
• Introduce hierarchy through “areas”
Area 0
Area 1 Area 2
Area 3 Area 4
area border router
CS125 - myrouting
![Page 28: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/28.jpg)
2/16/14 28
Another Idea to Routing Distance Vector
• Each node maintains a set of triples – (Destination, Cost, NextHop)
• Directly connected neighbors exchange updates – periodically (on the order of several seconds) – whenever table changes (called triggered update)
• Each update is a list of pairs: – (Destination, Cost)
• Update local table if receive a “better” route – smaller cost – came from next-hop
• Refresh existing routes; delete if they time out • Depend on neighbor for correct info • Update = what a neighbor knows
CS125 - myrouting
![Page 29: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/29.jpg)
2/16/14 29
Distance Vector Algorithm • c(x,v) = cost for direct link from x to v
– Node x maintains costs of direct links c(x,v)
• Dx(y) = estimate of least cost from x to y – Node x maintains distance vector Dx = [Dx(y): y є N ]
• Node x maintains its neighbors’ distance vectors – For each neighbor v, x maintains Dv = [Dv(y): y є N ]
• Each node v periodically sends Dv to its neighbors – And neighbors update their own distance vectors – Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N
• Over time, the distance vector Dx converges
CS125 - myrouting
![Page 30: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/30.jpg)
2/16/14 30
Distance Vector Algorithm
Iterative, asynchronous: each local iteration caused by: • Local link cost change • Distance vector update message
from neighbor Distributed: • Each node notifies neighbors
only when its DV changes • Neighbors then notify their
neighbors if necessary
wait for (change in local link cost or message from neighbor)
recompute estimates
if DV to any destination has changed, notify neighbors
Each node:
CS125 - myrouting
![Page 31: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/31.jpg)
2/16/14 31
Distance Vector Example: Step 0
A
E!
F!
C
D
B
2!
3!
6!
4!
1!
1!
1!
3!
Table for A
Dst Cst Hop
A 0 A
B 4 B
C ∞ –
D ∞ –
E 2 E
F 6 F
Table for B
Dst Cst Hop
A 4 A
B 0 B
C ∞ –
D 3 D
E ∞ –
F 1 F
Table for C
Dst Cst Hop
A ∞ –
B ∞ –
C 0 C
D 1 D
E ∞ –
F 1 F
Table for D
Dst Cst Hop
A ∞ –
B 3 B
C 1 C
D 0 D
E ∞ –
F ∞ –
Table for E
Dst Cst Hop
A 2 A
B ∞ –
C ∞ –
D ∞ –
E 0 E
F 3 F
Table for F
Dst Cst Hop
A 6 A
B 1 B
C 1 C
D ∞ –
E 3 E
F 0 F
Optimum 1-hop paths!
CS125 - myrouting
![Page 32: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/32.jpg)
2/16/14 32
Distance Vector Example: Step 2
Table for A
Dst Cst Hop
A 0 A
B 4 B
C 7 F
D 7 B
E 2 E
F 5 E
Table for B
Dst Cst Hop
A 4 A
B 0 B
C 2 F
D 3 D
E 4 F
F 1 F
Table for C
Dst Cst Hop
A 7 F
B 2 F
C 0 C
D 1 D
E 4 F
F 1 F
Table for D
Dst Cst Hop
A 7 B
B 3 B
C 1 C
D 0 D
E ∞ –
F 2 C
Table for E
Dst Cst Hop
A 2 A
B 4 F
C 4 F
D ∞ –
E 0 E
F 3 F
Table for F
Dst Cst Hop
A 5 B
B 1 B
C 1 C
D 2 C
E 3 E
F 0 F
Optimum 2-hop paths!
A
E!
F!
C
D
B
2!
3!
6!
4!
1!
1!
1!
3!
CS125 - myrouting
![Page 33: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/33.jpg)
2/16/14 33
Distance Vector Example: Step 3
Table for A
Dst Cst Hop
A 0 A
B 4 B
C 6 E
D 7 B
E 2 E
F 5 E
Table for B
Dst Cst Hop
A 4 A
B 0 B
C 2 F
D 3 D
E 4 F
F 1 F
Table for C
Dst Cst Hop
A 6 F
B 2 F
C 0 C
D 1 D
E 4 F
F 1 F
Table for D
Dst Cst Hop
A 7 B
B 3 B
C 1 C
D 0 D
E 5 C
F 2 C
Table for E
Dst Cst Hop
A 2 A
B 4 F
C 4 F
D 5 F
E 0 E
F 3 F
Table for F
Dst Cst Hop
A 5 B
B 1 B
C 1 C
D 2 C
E 3 E
F 0 F
Optimum 3-hop paths!
A
E!
F!
C
D
B
2!
3!
6!
4!
1!
1!
1!
3!
CS125 - myrouting
![Page 34: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/34.jpg)
2/16/14 34
Distance Vector Failures: Set cost to infinity: &
Table for A
Dst Cst Hop
A 0 A
B 4 B
C 6 E
D 7 B
E 2 E
F 5 E
Table for B
Dst Cst Hop
A 4 A
B 0 B
C 2 F
D 3 D
E 4 F
F 1 F
Table for C
Dst Cst Hop
A 6 F
B 2 F
C 0 C
D 1 D
E 4 F
F 1 F
Table for D
Dst Cst Hop
A 7 B
B 3 B
C 1 C
D 0 D
E 5 C
F 2 C
Table for E
Dst Cst Hop
A 2 A
B 4 F
C 4 F
D 5 F
E 0 E
F 3 F
Table for F
Dst Cst Hop
A 5 B
B 1 B
C &
D 2 C
E 3 E
F 0 F
Optimum 3-hop paths!
A
E!
F!
C
D
B
2!
3!
6!
4!
1!
1!
1!
3!
CS125 - myrouting
What about D’s table
![Page 35: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/35.jpg)
2/16/14 35
Distance Vector: Link Cost Changes, an Issue!!
Link cost changes: • Node detects local link cost change • Updates the distance table • If cost change in least cost path, notify neighbors
CS125 - myrouting
![Page 36: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/36.jpg)
2/16/14 36
Distance Vector: Link Cost Changes Count to Infinity: • Link from A to E goes down • Next advertisements:
– A advertises infinity to E, but B and C advertise a distance of 2 to E
• Depending on timing: – B hearing that E can be reached in 2 hops via C, concludes it
(B) can reach E in 3 hops, hearing this A concludes it can get to E in 4 hops via B, hearing this C concludes it can get to E in 5 hops, etc.
CS125 - myrouting
![Page 37: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/37.jpg)
2/16/14 37
Loop-Breaking Heuristics
• Set infinity to 16 • Split horizon - Don’t send routes back to source of update -
need to keep that info in the table • Split horizon with poison reverse - send routes back to source,
but set distance to infinity
CS125 - myrouting
![Page 38: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/38.jpg)
2/16/14 38
Example Routing Protocol Routing Information Protocol (RIP)
• Distance vector protocol – Nodes send distance vectors every 30 seconds – … or, when an update causes a change in routing
• Link costs in RIP – All links have cost 1 – Valid distances of 1 through 15 – … with 16 representing infinity – Small “infinity” ! smaller “counting to infinity” problem
• RIP is limited to fairly small networks – E.g., used in the Princeton campus network
CS125 - myrouting
![Page 39: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/39.jpg)
2/16/14 39 CS125 - myrouting
![Page 40: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/40.jpg)
2/16/14 40 CS125 - myrouting
![Page 41: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/41.jpg)
2/16/14 41
Summary of LS and DV • Distance Vector -- each node talks to its directly
connected neighbors. It tells them everything that it knows about connectivity
• Link State - each node talks to all other nodes, but it tells them only what it knows for sure -- directly connected links. Nodes then build their own network graph.
CS125 - myrouting
![Page 42: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/42.jpg)
2/16/14 42
Comparison of LS and DV algorithms
Message complexity • LS: with n nodes, E links, O(nE)
messages sent • DV: exchange between neighbors
only – Convergence time varies
Speed of Convergence • LS: O(n2) algorithm requires
O(nE) messages • DV: convergence time varies
– May be routing loops – Count-to-infinity problem
Robustness: what happens if router malfunctions?
LS: – Node can advertise incorrect link
cost – Each node computes only its
own table DV:
– DV node can advertise incorrect path cost
– Each node’s table used by others (error propagates)
CS125 - myrouting
![Page 43: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/43.jpg)
2/16/14 43
Metrics - how can we measure link cost..Latency, Capacity, Current Load
• Original ARPANET metric – measures number of packets queued on each link – took neither latency nor bandwidth into consideration – Move packets to shortest queue, not destination
• New ARPANET metric – stamp each incoming packet with its arrival time (AT) – record departure time (DT) – when link-level ACK arrives, compute
Delay = (DT - AT) + Transmit + Latency – if timeout, reset DT to departure time for retransmission – link cost = average delay over some time period – Note: latency is statically defined for a link
CS125 - myrouting
![Page 44: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/44.jpg)
IP Suite In Ac,on: End Hosts vs. Routers
44
HTTP
TCP
IP
Ethernet interface
HTTP
TCP
IP
Ethernet interface
IP IP
Ethernet interface
Ethernet interface
SONET interface
SONET interface
host host
router router
HTTP message
TCP segment
IP packet IP packet IP packet
2/17/14 CS125 - myrouting
![Page 45: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/45.jpg)
2/16/14 45
Metrics -cont • Problems with New metric
– Under low load, static factors dominated cost – Under high load, congested links had very high costs; packets
oscillated between congested and idle links – Range of costs too large: prefered path of 126 lightly loaded
56Kbps links to a 1 hop 9.6 Kbps path. – Fine Tuning
• Revised – Replace delay measurement with link utilization – Compressed dynamic range – Highly loaded link never > 3 times idle cost – Most expensive link only 7 times least – Cost is a function of link utilization only at moderate to high
loads – Less likely to universally abandon a link.
CS125 - myrouting
![Page 46: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/46.jpg)
2/16/14 46
Metrics -cont
Use of Metrics 1. Not instantaneous, average over time 2. Updates only sent when > some threshold
CS125 - myrouting
![Page 47: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/47.jpg)
2/16/14 47
How to Make Routing Scale • Flat versus Hierarchical Addresses • Inefficient use of Hierarchical Address Space
– class C with 2 hosts (2/255 = 0.78% efficient) – class B with 256 hosts (256/65535 = 0.39% efficient)
• Still Too Many Networks – routing tables do not scale – route propagation protocols do not scale
CS125 - myrouting
![Page 48: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/48.jpg)
2/16/14 48
Internet Structure
Recent Past
NSFNET backbone Stanford BARRNET
regional Berkeley
PARC NCAR
UA UNM
Westnet regional
UNL KU
ISU MidNet regional ■ ■ ■
CS125 - myrouting
![Page 49: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/49.jpg)
2/16/14 49
Internet Structure Today
Backbone service provider Peering point
Peering point
Large corporation
Large corporation Small
corporation
“Consumer” ISP
“Consumer” ISP “Consumer” ISP
CS125 - myrouting
![Page 50: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/50.jpg)
2/16/14 50
Forwarding Algorithm D = destination IP address for each entry (SubnetNum, SubnetMask, NextHop) D1 = SubnetMask & D if D1 = SubnetNum if NextHop is an interface deliver datagram directly to D else deliver datagram to NextHop
• Use a default router if nothing matches • Not necessary for all 1s in subnet mask to be contiguous: be
liberal in what you accept, conservative in what you send • Can put multiple subnets on one physical network • Subnets not visible from the rest of the Internet
CS125 - myrouting
![Page 51: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/51.jpg)
2/16/14 51
Route Propagation • Know a smarter router
– hosts know local router – local routers know site routers – site routers know core router – core routers know everything
• Autonomous System (AS) – corresponds to an administrative domain – examples: University, company, backbone network – assign each AS a 16-bit number
• Two-level route propagation hierarchy – interior gateway protocol (each AS selects its own) – exterior gateway protocol (Internet-wide standard)
CS125 - myrouting
![Page 52: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/52.jpg)
2/16/14 52
Reduce the Route Problem • Participating Nodes = # of ASs • Interdomain Route = Path to AS Border Route • Therefore Complexity of Interdomain routing ==
order of number of ASs • Complexity of Intradomain routing = order of
number of networks in an AS
CS125 - myrouting
![Page 53: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/53.jpg)
2/16/14 53
Popular Interior Gateway Protocols • RIP: Route Information Protocol
– developed for XNS – distributed with Unix – distance-vector algorithm – based on hop-count
• OSPF: Open Shortest Path First – recent Internet standard – uses link-state algorithm – supports load balancing – supports authentication
CS125 - myrouting
![Page 54: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/54.jpg)
2/16/14 54
EGP: Exterior Gateway Protocol Historical
• Overview – designed for tree-structured Internet – concerned with reachability, not optimal routes
• Protocol messages – neighbor acquisition: one router requests that another be its
peer; peers exchange reachability information – neighbor reachability: one router periodically tests if the
another is still reachable; exchange HELLO/ACK messages; uses a k-out-of-n rule
– routing updates: peers periodically exchange their routing tables (distance-vector)
CS125 - myrouting
![Page 55: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/55.jpg)
2/16/14 55
BGP-4: Border Gateway Protocol • AS Types
– stub AS: has a single connection to one other AS • carries local traffic only (HMC)
– multihomed AS: has connections to more than one AS • refuses to carry transit traffic (Boeing)
– transit AS: has connections to more than one AS • carries both transit and local traffic (ISP)
• Each AS has: – one or more border routers – one BGP speaker that advertises:
• local networks • other reachable networks (transit AS only) • gives path information – list of ASs • Reachability over optimality
• Internet = interconnected set of ASs CS125 - myrouting
![Page 56: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/56.jpg)
2/16/14 56
BGP Example • Speaker for AS2 advertises reachability to P and Q
– network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached directly from AS2
• Speaker for backbone advertises – networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached along
the path (AS1, AS2). • Speaker can cancel previously advertised paths
Regional provider A(AS 2)
Regional provider B(AS 3)
Customer P(AS 4)
Customer Q(AS 5)
Customer R(AS 6)
Customer S(AS 7)
128.96192.4.153
192.4.32192.4.3
192.12.69
192.4.54192.4.23
Backbone network(AS 1)
CS125 - myrouting
![Page 57: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/57.jpg)
AS = Routing Domain
Interdomain Routing
R2, R4 = Border Router EGP and IGP ability
Interdomain routing
2/16/14 57 CS125 - myrouting
![Page 58: Routing - cs.hmc.edu](https://reader031.fdocuments.in/reader031/viewer/2022012021/61689885d394e9041f70f5cd/html5/thumbnails/58.jpg)
2/16/14 58
Conclusions • Routing is a distributed algorithm
– React to changes in the topology – Compute the shortest paths
• Two main shortest-path algorithms – Dijkstra ! link-state routing (e.g., OSPF and IS-IS) – Bellman-Ford ! distance vector routing (e.g., RIP)
• Convergence process – Changing from one topology to another – Transient periods of inconsistency across routers
CS125 - myrouting