0% found this document useful (0 votes)
2 views23 pages

IPv4 to IPv6 Transition and Routing

Uploaded by

kingkai1605
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)
2 views23 pages

IPv4 to IPv6 Transition and Routing

Uploaded by

kingkai1605
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

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
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-1
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-2


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-3
Interplay between routing,
forwarding
routing algorithm determines
routing algorithm
end-end-path through network
forwarding table determines
local forwarding table
local forwarding at this router
dest address 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-4


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), (x,w), (x,y), (w,y), (w,z), (y,z) }

aside: graph abstraction is useful in other network contexts, e.g.,


P2P, where N is set of peers and E is set of TCP connections

Network Layer 4-5


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 ?


outing algorithm: algorithm that finds that least cost path

Network Layer 4-6


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

Network Layer 4-7


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
 accomplished via “link not direct neighbors
state broadcast”
 all nodes have same info
 D(v): current value
of cost of path from
 computes least cost source to dest. v
paths from one node
(‘source”) to all other
 p(v): predecessor
nodes node along path
 gives forwarding table from source to v
for that node  N': set of nodes
 iterative: after k whose least cost
iterations, know least path definitively
cost path to k dest.’s known

Network Layer 4-8


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-9


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 8
predecessor nodes 3
u w y z
 ties can exist (can be 2
broken arbitrarily)
3
7 4
v
Network Layer 4-10
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

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

Network Layer 4-11


Distance vector algorithm
Bellman-Ford equation (dynamic
programming)

let
dx(y) := cost of least-cost path from x to
y
then v

dx(y) = min {c(x,v) +neighbor


cost from dv(y) }v to destination
cost to neighbor v

min taken over all neighbors v of x


Network Layer 4-12
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
ode achieving minimum is next
op in shortest path, used in forwarding table
Network Layer 4-13
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-14


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
from

y ∞∞ ∞ y 2 0 1
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-15
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
from

y ∞∞ ∞ y 2 0 1 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

from

y 2 0 1 y 2 0 1 7

from
y 2 0 1
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-16
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-17
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-18
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-19
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

Network Layer 4-20


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-21
BGP basics
 BGP session: two BGP routers (“peers”) exchange
BGP messages:
 advertising paths to different destination network prefixes
(“path vector” protocol)
 exchanged over semi-permanent TCP connections

 when AS3 advertises a prefix to AS1:


 AS3 promises it will forward datagrams towards that prefix
 AS3 can aggregate prefixes in its advertisement

3c
BGP
3a message
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d

Network Layer 4-22


BGP basics: distributing path
information
 using eBGP session between 3a and 1c, AS3 sends
prefix reachability info to AS1.
 1c can then use iBGP do distribute new prefix info to all
routers in AS1
 1b can then re-advertise new reachability info to AS2 over
1b-to-2a eBGP session
 when router learns of new prefix, it creates entry for
prefix in its forwarding table.

eBGP session
3a iBGP session
3b
AS3 2c other
1c 2a networks
other 1a 2b
networks 1b AS2
AS1 1d

Network Layer 4-23

You might also like