Title: Today
1Today
- Collect HW5, Assign HW6
- Chapter 4 23, 25-29, 34, 37 due next Friday
- Scheduling announcements
- Lab today and Tuesday (UDP P2P Chat)
- I am traveling Friday-Tuesday
- Mondays lecture will be presented by Stephen
Lee-Urban (starting chapter 5) - Vinay (TA) will help get Tuesdays lab started
and will be available at the end for questions - I will be back on Wednesday to finish chapter 4
- Continue with chapter 4
2Chapter 4 quiz
- 1. What is the 32-bit binary equivalent of the IP
address 128.180.120.4? - 3. Suppose an application generates chunks of 40
bytes of data every 20 ms and each chunk gets
encapsulated in a TCP segment and then an IP
datagram. What percentages of each datagram will
be overhead and what percentage will be
application data?
3Chapter 4 Network Layer
- 4. 1 Introduction
- 4.2 Virtual circuit and datagram networks
- 4.3 Whats inside a router
- 4.4 IP Internet Protocol
- Datagram format
- IPv4 addressing
- ICMP
- IPv6
- 4.5 Routing algorithms
- Link state
- Distance Vector
- Hierarchical routing
- 4.6 Routing in the Internet
- RIP
- OSPF
- BGP
- 4.7 Broadcast and multicast routing
4Distance Vector Algorithm (1)
- Bellman-Ford Equation (dynamic programming)
- Define
- dx(y) cost of least-cost path from x to y
- Then
- dx(y) minv c(x,v) dv(y)
- where minv is taken over all neighbors of x
5Bellman-Ford example (2)
Clearly, dv(z) 5, dx(z) 3, dw(z) 3
B-F equation says
du(z) min c(u,v) dv(z),
c(u,x) dx(z), c(u,w)
dw(z) min 2 5,
1 3, 5 3 4
Node that achieves minimum is next hop in
shortest path ? forwarding table
6Distance Vector Algorithm (3)
- Dx(y) estimate of least cost from x to y
- Distance vector Dx Dx(y) y ? N
- Node x knows cost to each neighbor v c(x,v)
- Node x maintains Dx Dx(y) y ? N
- Node x also maintains its neighbors distance
vectors - For each neighbor v, x maintains Dv Dv(y) y
? N
7Distance vector algorithm (4)
- Basic idea
- Each node periodically sends its own distance
vector estimate to neighbors - When node a node x receives new DV estimate from
neighbor, it updates its own DV using B-F
equation
Dx(y) ? minvc(x,v) Dv(y) for each node y ?
N
- Under minor, natural conditions, the estimate
Dx(y) converges to the actual least cost dx(y)
8Distance Vector Algorithm (5)
- Iterative, asynchronous each local iteration
caused by - local link cost change
- DV update message from neighbor
- Distributed
- each node notifies neighbors only when its DV
changes - neighbors then notify their neighbors if necessary
Each node
9Dx(z) minc(x,y) Dy(z), c(x,z)
Dz(z) min21 , 70 3
Dx(y) minc(x,y) Dy(y), c(x,z) Dz(y)
min20 , 71 2
node x table
cost to
cost to
x y z
x y z
x
0 2 3
x
0 2 3
y
from
2 0 1
y
from
2 0 1
z
7 1 0
z
3 1 0
node y table
cost to
cost to
cost to
x y z
x y z
x y z
x
8
8
x
0 2 7
x
0 2 3
8 2 0 1
y
y
from
y
2 0 1
from
from
2 0 1
z
z
8
8
8
z
7 1 0
3 1 0
node z table
cost to
cost to
cost to
x y z
x y z
x y z
x
0 2 3
x
0 2 7
x
8 8 8
y
y
2 0 1
from
from
y
2 0 1
from
8
8
8
z
z
z
3 1 0
3 1 0
7
1
0
time
10Distance Vector link cost changes
- Link cost changes
- node detects local link cost change
- updates routing info, recalculates distance
vector - if DV changes, notify neighbors
At time t0, y detects the link-cost change,
updates its DV, and informs its neighbors. At
time t1, z receives the update from y and updates
its table. It computes a new least cost to x
and sends its neighbors its DV. At time t2, y
receives zs update and updates its distance
table. ys least costs do not change and hence y
does not send any message to z.
good news travels fast
11Distance Vector link cost changes
- Link cost changes
- good news travels fast
- bad news travels slow - count to infinity
problem! - 44 iterations before algorithm stabilizes see
text - Poisoned reverse
- If Z routes through Y to get to X
- Z tells Y its (Zs) distance to X is infinite (so
Y wont route to X via Z) - will this completely solve count to infinity
problem?