17. DIJKSTRA ALGORITHM (3) 1 Initialization: 2 N = {A} 3 For all nodes v 4 If v adjacent to A then 5 D(v) = c(A,v) 6 Else D(v) = infinity 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) ) /* new cost to v is either old cost to v or known shortest path cost to w plus cost from w to v */ 13 until all nodes in N C version of this algorithm is available in book v w D(v) c(w,v) D(w) A
22. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 distance label S = { s } PQ = { 2, 3, 4, 5, 6, 7, t } decrease key X X X
23. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 distance label S = { s } PQ = { 2, 3, 4, 5, 6, 7, t } X X X delmin
24. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t } X X X
25. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t } X X X decrease key X 33
26. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2 } PQ = { 3, 4, 5, 6, 7, t } X X X X 33 delmin
27. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 6 } PQ = { 3, 4, 5, 7, t } X X X X 33 44 X X 32
28. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 6 } PQ = { 3, 4, 5, 7, t } X X X 44 X delmin X 33 X 32
29. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 6, 7 } PQ = { 3, 4, 5, t } X X X 44 X 35 X 59 X 24 X 33 X 32
30. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 6, 7 } PQ = { 3, 4, 5, t } X X X 44 X 35 X 59 X delmin X 33 X 32
31. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 6, 7 } PQ = { 4, 5, t } X X X 44 X 35 X 59 X X 51 X 34 X 33 X 32
32. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 6, 7 } PQ = { 4, 5, t } X X X 44 X 35 X 59 X X 51 X 34 delmin X 33 X 32 24
33. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 5, 6, 7 } PQ = { 4, t } X X X 44 X 35 X 59 X X 51 X 34 24 X 50 X 45 X 33 X 32
34. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 5, 6, 7 } PQ = { 4, t } X X X 44 X 35 X 59 X X 51 X 34 24 X 50 X 45 delmin X 33 X 32
35. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 4, 5, 6, 7 } PQ = { t } X X X 44 X 35 X 59 X X 51 X 34 24 X 50 X 45 X 33 X 32
36. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 4, 5, 6, 7 } PQ = { t } X X X 44 X 35 X 59 X X 51 X 34 X 50 X 45 delmin X 33 X 32 24
37. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 4, 5, 6, 7, t } PQ = { } X X X 44 X 35 X 59 X X 51 X 34 X 50 X 45 X 33 X 32
38. DIJKSTRA'S SHORTEST PATH ALGORITHM s 3 t 2 6 7 4 5 24 18 2 9 14 15 5 30 20 44 16 11 6 19 6 15 9 14 0 S = { s, 2, 3, 4, 5, 6, 7, t } PQ = { } X X X 44 X 35 X 59 X X 51 X 34 X 50 X 45 X 33 X 32
39. DIJKSTRA'S ALGORITHM - PSEUDOCODE dist[s] ←0 (distance to source vertex is zero) for all v ∈ V–{s} do dist[v] ←∞ (set all other distances to infinity) S←∅ (S, the set of visited vertices is initially empty) Q←V (Q, the queue initially contains all vertices) while Q ≠∅ (while the queue is not empty) do u ← mindistance (Q,dist) (select the element of Q with the min. distance) S←S∪{u} (add u to list of visited vertices) for all v ∈ neighbors[u] do if dist[v] > dist[u] + w(u, v) (if new shortest path found) then d[v] ←d[u] + w(u, v) (set new value of shortest path) (if desired, add traceback code) return dist
96. Mobile IP has two addresses for a mobile host: one home address and one care-of address. The home address is permanent; the care-of address changes as the mobile host moves from one network to another.
124. Virtual-circuit routing Traditional Method MPLS it is not possible to group several distinct paths with different end points onto the same virtual-circuit identifier because there would be no way to distinguish them at the final destination. With MPLS, the packets still contain their final destination address + label , so that at the end of the labeled route the label header can be removed and forwarding can continue the usual way , using the network layer destination address. forwarding table construction in VC when a user wants to establish a connection, a setup packet is launched into the network to create the path and make the forwarding table entries forwarding table construction in MPLS there is no setup phase for each connection instead there are two ways for the forwarding table entries to be created. In the data-driven approach , Control-driven approach
140. IPv4 Header IPv6 Header - field ’ s name kept from IPv4 to IPv6 - fields not kept in IPv6 - Name & position changed in IPv6 - New field in IPv6 Legend Version IHL Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding Version Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address
141.
142.
143. EXTENSION HEADERS next header = TCP TCP header + data IPv6 header next header = Routing TCP header + data Routing header next header = TCP IPv6 header next header = Routing fragment of TCP header + data Routing header next header = Fragment Fragment header next header = TCP IPv6 header
144.
145.
146. IPV6 TECHNOLOGY SCOPE IP Service IPv4 Solution IPv6 Solution Mobile IP with Direct Routing DHCP Mobile IP IGMP/ PIM/Multicast BGP IP Multicast MLD/ PIM/Multicast BGP, Scope Identifier Mobility Autoconfiguration Serverless , Reconfiguration , DHCP 32-bit, Network Address Translation 128-bit , Multiple Scopes Addressing Range Quality-of-Service Differentiated Service, Integrated Service Differentiated Service, Integrated Service Security IPSec Mandated, works End-to-End IPSec
147.
148.
149.
150.
151.
152.
153.
154.
Editor's Notes
In addition to the expanded address space, IPv6 offers other benefits: Autoconfiguration - similar to IPX If you deploy large number of appliances, you can’t expect to set an IP address, you need some auto-configuration mechanism which scales DHCP may not be the right way to manage thousands on clients Ipsec is mandated in the architecture Security - NAT compromises end-to-end security in today’s networks by requiring that you trust the end devices. Allows traffic to bypass home subnet - there is still work being done in this area to provide necessary security - similar to “skinny protocol” – imagine IP telephony with no call manager required! Mobile IPv6 removes the triangular issue QoS in IPv6 is the same as IPv4 in QoS and header compression features. Both areas benefited from the work on IPv6! Actually the IPv6 header compresses better than IPv4 header because there are fewer fields! Other features are equivalent but for few details, ie: scope address in multicast,...
Note that Quality of Service is not one of the benefits of IPv6 over IPv4, despite what you may have heard. Both versions of IP have exactly the same QoS features defined. The only difference is the presence of the Flow Label field in IPv6, which allows more efficient packet classification by routers, but this is really a minor implementation optimization, rather than a significant new QoS feature.