0% found this document useful (0 votes)
38 views41 pages

Ipv6: Motivation: Completely Allocated. Additional Motivation

Dijkstra's algorithm finds the shortest paths from a source node to all other nodes in a graph. It works by: 1) Initially setting the distance to the source as 0 and all other nodes to infinity. 2) Repeatedly selecting the node with the lowest distance, adding it to the set of visited nodes, and updating distances to its neighbors. 3) It stops when all nodes have been visited. The final distances are the shortest paths from the source node.

Uploaded by

wael melhem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views41 pages

Ipv6: Motivation: Completely Allocated. Additional Motivation

Dijkstra's algorithm finds the shortest paths from a source node to all other nodes in a graph. It works by: 1) Initially setting the distance to the source as 0 and all other nodes to infinity. 2) Repeatedly selecting the node with the lowest distance, adding it to the set of visited nodes, and updating distances to its neighbors. 3) It stops when all nodes have been visited. The final distances are the shortest paths from the source node.

Uploaded by

wael melhem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

IPv6: motivation

 initial motivation: 32-bit address space would be


completely allocated.
 additional motivation:
 header format helps speed processing/forwarding
 header changes to facilitate QoS

IPv6 datagram format:


 fixed-length 40 byte header
 no fragmentation allowed

Network Layer 4-1


IPv6 datagram format
priority: identify priority among datagrams in flow
flow Label: identify datagrams in same “ flow.”
(concept of“ flow” not well defined).
next header: identify upper layer protocol for data
ver pri flow label
payload len next hdr hop limit
source address
(128 bits)
destination address
(128 bits)

data

32 bits
Network Layer 4-2
Other changes from IPv4
 checksum: removed entirely to reduce processing
time at each hop
 options: no options (available as upper-layer,
next-header protocol at router)
 ICMPv6: new version of ICMP
 additional message types, e.g. “ Packet Too Big”
 multicast group management functions
 no fragmentation/reassembly

Network Layer 4-3


Transition from IPv4 to IPv6
 not all routers can be upgraded simultaneously
 no “ flag days”
 how will network operate with mixed IPv4 and IPv6
routers?
 tunneling: IPv6 datagram carried as payload in IPv4
datagram among IPv4 routers (“packet within a packet”)

IPv4 header fields IPv6 header fields


IPv4 payload
IPv4 source, dest addr IPv6 source dest addr
UDP/TCP payload

IPv6 datagram
IPv4 datagram
Network Layer 4-4
Tunneling
A B IPv4 tunnel E F
connecting IPv6 routers
logical view:
IPv6 IPv6 IPv6 IPv6

A B C D E F
physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6

Network Layer 4-5


Tunneling
A B IPv4 tunnel E F
connecting IPv6 routers
logical view:
IPv6 IPv6 IPv6 IPv6

A B C D E F
physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6

flow: X src:B src:B flow: X


src: A dest: E src: A
dest: F
dest: E
dest: F
Flow: X Flow: X
Src: A Src: A
data Dest: F Dest: F data

data data

A-to-B: E-to-F:
IPv6 B-to-C: B-to-C: IPv6
IPv6 inside IPv6 inside
IPv4 IPv4 Network Layer 4-6
IPv6: adoption
 Google1: ~ 30% of clients access services via IPv6
 NIST: 1/3 of all US government domains are IPv6 capable

1
https://www.google.com/intl/en/ipv6/statistics.html
Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and  link state
datagram networks  distance vector
4.3 what’s inside a router  hierarchical routing
4.4 IP: Internet Protocol 4.6 routing in the Internet
  RIP
datagram format
  OSPF
IPv4 addressing
  BGP
ICMP
 IPv6 4.7 broadcast and multicast
routing

Network Layer 4-8


Interplay between routing, forwarding
routing algorithm determines
routing algorithm
end-end-path through network
forwarding table determines
local forwarding table
dest address
local forwarding at this router
output
address-range 1 3 link
address-range 2 2
address-range 3 2
address-range 4 1

IP destination address in
arriving packet’s header
1
3 2

Network Layer 4-9


Graph abstraction
5
3
v w 5
2
u 2 1 z
3
1 2
x 1
y
graph: G = (N,E)

N = set of routers = { u, v, w, x, y, z }

E = set of links ={ (u,v), (u,x), (v,x), (v,w),(u,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

Network Layer 4-10


Graph abstraction: costs
5
c(x,x’) = cost of link (x,x’)
3 e.g., c(w,z) = 5
v w 5
2
u cost could always be 1, or
2
3
1 z inversely related to bandwidth,
1 2 or inversely related to
x 1
y
congestion

cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

key question: what is the least-cost path between u and z ?


routing algorithm: algorithm that finds that least cost path

Network Layer 4-11


Routing algorithm classification
Q: global or decentralized Q: static or dynamic?
information?
static:
global:  routes change slowly over
 all routers have complete
topology, link cost info
time
 “ link state” algorithms dynamic:
 routes change more
decentralized:
 router knows physically- quickly
connected neighbors, link costs  periodic update
to neighbors  in response to link cost
 iterative process of computation, changes
exchange of info with neighbors
 “ distance vector” algorithms

Network Layer 4-12


Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and  link state
datagram networks  distance vector
4.3 what’s inside a router  hierarchical routing
4.4 IP: Internet Protocol 4.6 routing in the Internet
  RIP
datagram format
  OSPF
IPv4 addressing
  BGP
ICMP
 IPv6 4.7 broadcast and multicast
routing

Network Layer 4-13


A Link-State Routing Algorithm
Dijkstra’s algorithm notation:
 net topology, link costs  c(x,y): link cost from
known to all nodes node x to y; = ∞ if not
 accomplished via “ link direct neighbors
state broadcast”  D(v): current value of
 all nodes have same info cost of path from source to
 computes least cost paths dest. v
from one node (‘source” )  p(v): predecessor node
to all other nodes along path from source to
 gives forwarding table for v
that node  N': set of nodes whose
 iterative: after k iterations, least cost path definitively
know least cost path to k known
dest.’s
Network Layer 4-14
Dijsktra’s Algorithm
1 Initialization:
2 N' = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N'

Network Layer 4-15


Dijkstra’s algorithm: example
D(v) D(w) D(x) D(y) D(z)
Step N' p(v) p(w) p(x) p(y) p(z)
0 u 7,u 3,u 5,u ∞ ∞
1 uw 6,w 5,u 11,w ∞
2 uwx 6,w 11,w 14,x
3 uwxv 10,v 14,x
4 uwxvy 12,y
5 uwxvyz x
9

notes: 5 7
4
 construct shortest path tree by
tracing predecessor nodes 8
 ties can exist (can be broken u
3 w y z
arbitrarily) 2
3
7 4
v
Network Layer 4-16
Dijkstra’s algorithm: another example
Step N' D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)
0 u 2,u 5,u 1,u ∞ ∞
1 ux 2,u 4,x 2,x ∞
2 uxy 2,u 3,y 4,y
3 uxyv 3,y 4,y
4 uxyvw 4,y
5 uxyvwz

v 3 w
2 5
u 2 1 z
3
1 2
x 1
y

Network Layer 4-17


Dijkstra’s algorithm: example (2)
resulting shortest-path tree from u:

v w
u z
x y

resulting forwarding table in u:


destination link
v (u,v)
x (u,x)
y (u,x)
w (u,x)
z (u,x)
Network Layer 4-18
Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and  link state
datagram networks  distance vector
4.3 what’s inside a router  hierarchical routing
4.4 IP: Internet Protocol 4.6 routing in the Internet
  RIP
datagram format
  OSPF
IPv4 addressing
  BGP
ICMP
 IPv6 4.7 broadcast and multicast
routing

Network Layer 4-19


Distance vector algorithm
Bellman-Ford equation (dynamic programming)

let
dx(y) := cost of least-cost path from x to y
then
dx(y) = min
v {c(x,v) + dv(y) }
cost from neighbor v to destination y
cost to neighbor v

min taken over all neighbors v of x


Network Layer 4-20
Bellman-Ford example
5
3
clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
v w 5
2
u 2 1 z B-F equation says:
3
1 2 du(z) = min { c(u,v) + dv(z),
x 1
y
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
node achieving minimum is next
hop in shortest path, used in forwarding table
Network Layer 4-21
Distance vector algorithm
 Dx(y) = estimate of least cost from x to y
 x maintains distance vector Dx = [Dx(y): y є N ]
 node x:
 knows cost to each neighbor v: c(x,v)
 maintains its neighbors’ distance vectors. For
each neighbor v, x maintains
Dv = [Dv(y): y є N ]

Network Layer 4-22


Distance vector algorithm
key idea:
 from time-to-time, each node sends its own
distance vector estimate to neighbors
 when x receives new DV estimate from neighbor,
it updates its own DV using B-F equation:
Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

 under minor, natural conditions, the estimate Dx(y)


converge to the actual least cost dx(y)

Network Layer 4-23


Distance vector algorithm
iterative, asynchronous: each node:
each local iteration caused
by:
 local link cost change wait for (change in local link
cost or msg from neighbor)
 DV update message from
neighbor
distributed: recompute estimates
 each node notifies
neighbors only when its
DV changes if DV to any dest has
 neighbors then notify their changed, notify neighbors
neighbors if necessary

Network Layer 4-24


Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
node x cost to cost to
table x y z x y z
x 0 2 7 x 0 2 3

from
y ∞∞ ∞ y 2 0 1
from

z ∞∞ ∞ z 7 1 0

node y cost to
table x y z y
2 1
x ∞ ∞ ∞
x z
from

y 2 0 1 7
z ∞∞ ∞

node z cost to
table x y z
x ∞∞ ∞
from

y ∞∞ ∞
z 7 1 0
time
Network Layer 4-25
Dx(z) = min{c(x,y) +
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
node x cost to cost to cost to
table x y z x y z x y z
x 0 2 7 x 0 2 3 x 0 2 3

from
y ∞∞ ∞ y 2 0 1
from

y 2 0 1

from
z ∞∞ ∞ z 7 1 0 z 3 1 0
node y cost to cost to cost to
table x y z x y z x y z y
2 1
x ∞ ∞ ∞ x 0 2 7 x 0 2 3 x z
from

y 2 0 1 y 2 0 1 7
from

y 2 0 1

from
z ∞∞ ∞ z 7 1 0 z 3 1 0

node z cost to cost to cost to


table x y z x y z x y z

x ∞∞ ∞ x 0 2 7 x 0 2 3
from

from

y 2 0 1 y 2 0 1
from

y ∞∞ ∞
z 7 1 0 z 3 1 0 z 3 1 0
time
Network Layer 4-26
Distance vector: link cost changes
link cost changes: 1
 node detects local link cost change 4
y
1
 updates routing info, recalculates x z
distance vector 50
 if DV changes, notify neighbors

“ good t0 : y detects link-cost change, updates its DV, informs its


news neighbors.
travels t1 : z receives update from y, updates its table, computes new
fast” least cost to x , sends its neighbors its DV.

t2 : y receives z’s update, updates its distance table. y’s least costs
do not change, so y does not send a message to z.

Network Layer 4-27


Distance vector: link cost changes
link cost changes: 60
 node detects local link cost change 4
y
1
 bad news travels slow - “ count to x z
infinity” problem! 50
 44 iterations before algorithm
stabilizes: see text
poisoned reverse:
 If Z routes through Y to get to X :
 Z tells Y its (Z’s) distance to X is infinite (so Y won’t route to X via Z)
 will this completely solve count to infinity problem?

Network Layer 4-28


Comparison of LS and DV algorithms
message complexity robustness: what happens if
 LS: with n nodes, E links, O(nE) router malfunctions?
msgs sent LS:
 DV: exchange between neighbors  node can advertise incorrect
only link cost
 convergence time varies  each node computes only its
own table
speed of convergence DV:
 LS: O(n2) algorithm requires
O(nE) msgs  DV node can advertise
incorrect path cost
 may have oscillations
 each node’s table used by
 DV: convergence time varies others
 may be routing loops • error propagate thru
 count-to-infinity problem network

Network Layer 4-29


Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and  link state
datagram networks  distance vector
4.3 what’s inside a router  hierarchical routing
4.4 IP: Internet Protocol 4.6 routing in the Internet
  RIP
datagram format
  OSPF
IPv4 addressing
  BGP
ICMP
 IPv6 4.7 broadcast and multicast
routing

Network Layer 4-30


Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and  link state
datagram networks  distance vector
4.3 what’s inside a router  hierarchical routing
4.4 IP: Internet Protocol 4.6 routing in the Internet
  RIP
datagram format
  OSPF
IPv4 addressing
  BGP
ICMP
 IPv6 4.7 broadcast and multicast
routing

Network Layer 4-31


Intra-AS Routing
 also known as interior gateway protocols (IGP)
 most common intra-AS routing protocols:
 RIP: Routing Information Protocol
 OSPF: Open Shortest Path First
 IGRP: Interior Gateway Routing Protocol
(Cisco proprietary)

Network Layer 4-32


RIP ( Routing Information Protocol)
 included in BSD-UNIX distribution in 1982
 distance vector algorithm
 distance metric: # hops (max = 15 hops), each link has cost 1
 DVs exchanged with neighbors every 30 sec in response message (aka advertisement)
 each advertisement: list of up to 25 destination subnets (in IP addressing sense)

from router A to destination subnets:


u v subnet hops
w u 1
A B
v 2
w 2
x x 3
z C D y 3
y z 2
Network Layer 4-33
RIP: example

z
w x y
A D B

C
routing table in router D
destination subnet next router # hops to dest
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Network Layer 4-34
RIP: example
A-to-D advertisement
dest next hops
w - 1
x - 1
z C 4
…. … ... z
w x y
A D B

C
routing table in router D
destination subnet next router # hops to dest
w A 2
y B 2
A 5
z B 7
x -- 1
…. …. ....
Network Layer 4-35
RIP: link failure, recovery
if no advertisement heard after 180 sec -->
neighbor/link declared dead
 routes via neighbor invalidated
 new advertisements sent to neighbors
 neighbors in turn send out new advertisements (if tables
changed)
 link failure info quickly (?) propagates to entire net
 poison reverse used to prevent ping-pong loops (infinite
distance = 16 hops)

Network Layer 4-36


RIP table processing
 RIP routing tables managed by application-level
process called route-d (daemon)
 advertisements sent in UDP packets, periodically
repeated
routed routed

transport transprt
(UDP) (UDP)
network forwarding forwarding network
(IP) table table (IP)
link link
physical physical

Network Layer 4-37


OSPF (Open Shortest Path First)
 “ open” : publicly available
 uses link state algorithm
 LS packet dissemination
 topology map at each node
 route computation using Dijkstra’s algorithm
 OSPF advertisement carries one entry per neighbor
 advertisements flooded to entire AS
 carried in OSPF messages directly over IP (rather than TCP
or UDP
 IS-IS routing protocol: nearly identical to OSPF

Network Layer 4-38


OSPF “ advanced” features (not in RIP)
 security: all OSPF messages authenticated (to prevent
malicious intrusion)
 multiple same-cost paths allowed (only one path in
RIP)
 for each link, multiple cost metrics for different TOS
(e.g., satellite link cost set “ low” for best effort ToS;
high for real time ToS)
 integrated uni- and multicast support:
 Multicast OSPF (MOSPF) uses same topology
data base as OSPF
 hierarchical OSPF in large domains.

Network Layer 4-39


Hierarchical OSPF
boundary router
backbone router

backbone
area
border
routers

area 3

internal
routers
area 1
area 2

Network Layer 4-40


Hierarchical OSPF
 two-level hierarchy: local area, backbone.
 link-state advertisements only in area
 each nodes has detailed area topology; only know
direction (shortest path) to nets in other areas.
 area border routers: “ summarize” distances to nets
in own area, advertise to other Area Border routers.
 backbone routers: run OSPF routing limited to
backbone.
 boundary routers: connect to other AS’s.

Network Layer 4-41

You might also like