Chapter 4 Network Layer v CPSC 335 Data
- Slides: 18
Chapter 4 Network Layer v CPSC 335 Data Communication Systems Readings: 4. 4. 3, 4. 4. 4, 4. 5. 1 v David Nguyen v Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Adapted from Kurose Ross Transport Layer 3 -1
Chapter 4: outline 4. 1 introduction 4. 2 virtual circuit and datagram networks 4. 3 what’s inside a router 4. 4 IP: Internet Protocol § § datagram format IPv 4 addressing ICMP IPv 6 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 Network Layer 4 -2
ICMP: internet control message protocol v used by hosts & routers to communicate network -level information § error reporting: unreachable host, network, port, protocol § echo request/reply (used by ping) v network-layer “above” IP: § ICMP msgs carried in IP datagrams v ICMP message: type, code plus first 8 bytes of IP datagram causing error 0 3 3 3 4 8 9 10 11 12 Type Code description 0 echo reply (ping) 0 dest. network unreachable 1 dest host unreachable 2 dest protocol unreachable 3 dest port unreachable 6 dest network unknown 7 dest host unknown 0 source quench (congestion control - not used) 0 echo request (ping) 0 route advertisement 0 router discovery 0 TTL expired 0 bad IP header Network Layer 4 -3
IPv 6: motivation initial motivation: 32 -bit address space soon to be completely allocated. v additional motivation: v § header format helps speed processing/forwarding § header changes to facilitate Qo. S IPv 6 datagram format: § fixed-length 40 byte header § no fragmentation allowed Network Layer 4 -4
IPv 6 datagram format priority: identify priority among datagrams in 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 -5
Other changes from IPv 4 checksum: removed entirely to reduce processing time at each hop v options: allowed, but outside of header, indicated by “Next Header” field v ICMPv 6: new version of ICMP v § additional message types, e. g. “Packet Too Big” § multicast group management functions Network Layer 4 -6
Transition from IPv 4 to IPv 6 v not all routers can be upgraded simultaneously § how will network operate with mixed IPv 4 and IPv 6 routers? v tunneling: IPv 6 datagram carried as payload in IPv 4 datagram among IPv 4 routers IPv 4 header fields IPv 4 source, dest addr IPv 6 header fields IPv 6 source dest addr IPv 4 payload UDP/TCP payload IPv 6 datagram IPv 4 datagram Network Layer 4 -7
Tunneling IPv 4 tunnel connecting IPv 6 routers A B IPv 6 A B C IPv 6 IPv 4 logical view: E F IPv 6 D E F IPv 4 IPv 6 physical view: Network Layer 4 -8
Tunneling IPv 4 tunnel connecting IPv 6 routers A B IPv 6 A B C IPv 6 IPv 4 logical view: E F IPv 6 D E F IPv 4 IPv 6 physical view: flow: X src: A dest: F data A-to-B: IPv 6 src: B dest: E Flow: X Src: A Dest: F data B-to-C: IPv 6 inside IPv 4 flow: X src: A dest: F data E-to-F: IPv 6 Network Layer 4 -9
Chapter 4: outline 4. 1 introduction 4. 2 virtual circuit and datagram networks 4. 3 what’s inside a router 4. 4 IP: Internet Protocol § § datagram format IPv 4 addressing ICMP IPv 6 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 Network Layer 4 -10
Interplay between routing, forwarding routing algorithm determines end-path through network routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 forwarding table determines local forwarding at this router 3 2 2 1 IP destination address in arriving packet’s header 1 3 2 Network Layer 4 -11
Graph abstraction 5 2 u v 2 1 x 3 w z 1 3 1 5 y 2 graph: G = (N, E) N = set of routers = { u, v, w, x, y, z } E = set of links ={ (u, v), (u, x), (v, w), (x, y), (w, z), (y, z) } aside: graph abstraction is useful in other network contexts, e. g. , P 2 P, where N is set of peers and E is set of TCP connections Network Layer 4 -12
Graph abstraction: costs 5 2 u v 2 1 x 3 w 3 1 c(x, x’) = cost of link (x, x’) e. g. , c(w, z) = 5 5 z 1 y 2 cost of path (x 1, x 2, x 3, …, xp) = c(x 1, x 2) + c(x 2, x 3) + … + 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 -13
Routing algorithm classification Q: global or decentralized information? global: v all routers have complete topology, link cost info v “link state” algorithms decentralized: v router knows physicallyconnected neighbors, link costs to neighbors v iterative process of computation, exchange of info with neighbors v “distance vector” algorithms Q: static or dynamic? static: v routes change slowly over time dynamic: v routes change more quickly § periodic update § in response to link cost changes Network Layer 4 -14
Chapter 4: outline 4. 1 introduction 4. 2 virtual circuit and datagram networks 4. 3 what’s inside a router 4. 4 IP: Internet Protocol § § datagram format IPv 4 addressing ICMP IPv 6 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 Network Layer 4 -15
A Link-State Routing Algorithm Dijkstra’s algorithm v net topology, link costs known to all nodes § accomplished via “link state broadcast” § all nodes have same info v computes least cost paths from one node (‘source”) to all other nodes § gives forwarding table for that node v iterative: after k iterations, know least cost path to k dest. ’s notation: v c(x, y): link cost from v v v node x to y; = ∞ if not direct neighbors D(v): current value of cost of path from source to dest. v p(v): predecessor node along path from source to v N': set of nodes whose least cost path definitively known Network Layer 4 -16
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 -17
Dijkstra’s algorithm, discussion algorithm complexity: n nodes v v v each iteration: need to check all nodes, w, not in N O(n 2) more efficient implementations possible: O(nlogn) Network Layer 4 -18
- Cpsc 335
- Cpsc 335
- Cpsc 335
- The network layer is concerned with of data
- Network layer data plane
- Csc 335
- Cmsc335
- Comp 335
- Cmsc 335
- 30 tac 335
- 30 tac 335
- 30 tac 335
- Sim 335
- What is adoloscence
- Builder design pattern uml diagram
- Pigmented layer and neural layer
- Git layers
- Secure socket layer and transport layer security
- Presentation layer functions