Main Theme Networks: Part II Circuit Switching, Packet Switching, the Network Layer

Main Theme Networks: Part II Circuit Switching, Packet Switching, the Network Layer

Data Communications & Networks Session 8 – Main Theme Networks: Part II Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Adapted from course textbook resources Computer Networking: A Top-Down Approach, 5/E Copyright 1996-2013 J.F. Kurose and K.W. Ross, All Rights Reserved 1 Agenda 1 Session Overview 2 Networks Part 2 3 Summary and Conclusion 2 What is the class about? .Course description and syllabus: »http://www.nyu.edu/classes/jcf/csci-ga.2262-001/ »http://cs.nyu.edu/courses/Fall13/CSCI-GA.2262- 001/index.html .Textbooks: » Computer Networking: A Top-Down Approach (6th Edition) James F. Kurose, Keith W. Ross Addison Wesley ISBN-10: 0132856204, ISBN-13: 978-0132856201, 6th Edition (02/24/12) 3 Course Overview . Computer Networks and the Internet . Application Layer . Fundamental Data Structures: queues, ring buffers, finite state machines . Data Encoding and Transmission . Local Area Networks and Data Link Control . Wireless Communications . Packet Switching . OSI and Internet Protocol Architecture . Congestion Control and Flow Control Methods . Internet Protocols (IP, ARP, UDP, TCP) . Network (packet) Routing Algorithms (OSPF, Distance Vector) . IP Multicast . Sockets 4 Course Approach . Introduction to Basic Networking Concepts (Network Stack) . Origins of Naming, Addressing, and Routing (TCP, IP, DNS) . Physical Communication Layer . MAC Layer (Ethernet, Bridging) . Routing Protocols (Link State, Distance Vector) . Internet Routing (BGP, OSPF, Programmable Routers) . TCP Basics (Reliable/Unreliable) . Congestion Control . QoS, Fair Queuing, and Queuing Theory . Network Services – Multicast and Unicast . Extensions to Internet Architecture (NATs, IPv6, Proxies) . Network Hardware and Software (How to Build Networks, Routers) . Overlay Networks and Services (How to Implement Network Services) . Network Firewalls, Network Security, and Enterprise Networks 5 Networks Part 2 Session in Brief . Understand principles behind network layer services: . Routing (path selection) . Dealing with scale . Advanced topics: IPv6, mobility . Instantiation, implementation in the Internet . Conclusion 6 Icons / Metaphors Information Common Realization Knowledge/Competency Pattern Governance Alignment Solution Approach 77 Agenda 1 Session Overview 2 Networks Part 2 3 Summary and Conclusion 8 Networks Part 2 Session in Brief . Routing algorithms . Link state . Distance Vector . Hierarchical routing . Routing in the Internet . RIP . OSPF . BGP . Broadcast and multicast routing 9 Interplay between routing, forwarding routing algorithm local forwarding table header value output link 0100 3 0101 2 0111 2 1001 1 value in arriving packet’s header 0111 1 3 2 10 Graph abstraction 5 v 3 w 2 5 u 2 1 3 z 1 x y 2 Graph: G = (N,E) 1 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) } Remark: Graph abstraction is useful in other network contexts Example: P2P, where N is set of peers and E is set of TCP connections 11 Graph abstraction: costs 5 • c(x,x’) = cost of link (x,x’) v 3 w 2 5 - e.g., c(w,z) = 5 u 2 1 3 z • cost could always be 1, or 1 inversely related to bandwidth, x y 2 1 or inversely related to congestion Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Question: What’s the least-cost path between u and z ? Routing algorithm: algorithm that finds least-cost path 12 Routing Algorithm classification Global or decentralized Static or dynamic? information? Static: Global: . routes change slowly . all routers have complete topology, link cost info over time . “link state” algorithms Dynamic: Decentralized: . routes change more . router knows physically- quickly connected neighbors, link costs to neighbors » periodic update . iterative process of » in response to link computation, exchange of cost changes info with neighbors . “distance vector” algorithms 13 Networks Part 2 Session in Brief . Routing algorithms . Link state . Distance Vector . Hierarchical routing . Routing in the Internet . RIP . OSPF . BGP . Broadcast and multicast routing 14 A Link-State Routing Algorithm Dijkstra’s algorithm Notation: . net topology, link costs known . c(x,y): link cost from node x to to all nodes y; = ∞ if not direct neighbors » accomplished via “link state . D(v): current value of cost of broadcast” path from source to dest. v » all nodes have same info . p(v): predecessor node along . computes least cost paths path from source to v from one node (‘source”) to all other nodes . N': set of nodes whose least » gives forwarding table for cost path definitively known that node . iterative: after k iterations, know least cost path to k dest.’s 15 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' 16 Dijkstra’s algorithm: 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 v 3 w 2 5 u 2 1 3 z 1 x y 2 1 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) 18 Dijkstra’s algorithm, discussion Algorithm complexity: n nodes . each iteration: need to check all nodes, w, not in N . n(n+1)/2 comparisons: O(n2) . more efficient implementations possible: O(nlogn) Oscillations possible: . e.g., link cost = amount of carried traffic 1 A A A A 1+e 2+e 0 0 2+e 2+e 0 D B 0 0 D 1+e 1 B D 0 0 B D 1 B 1+e 0 e 0 0 1 1+e 0 e C C C C 1 1 e … recompute … recompute … recompute initially routing 19 Networks Part 2 Session in Brief . Routing algorithms . Link state . Distance Vector . Hierarchical routing . Routing in the Internet . RIP . OSPF . BGP . Broadcast and multicast routing 20 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define dx(y) := cost of least-cost path from x to y Then d (y) = min {c(x,v) + d (y) } x v v where min is taken over all neighbors v of x 21 Bellman-Ford example 5 Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3 v 3 w 2 5 u 2 1 B-F equation says: 3 z 1 d (z) = min { c(u,v) + d (z), x y 2 u v 1 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 22 Distance Vector Algorithm . Dx(y) = estimate of least cost from x to y . Node x knows cost to each neighbor v: c(x,v) . Node x maintains distance vector Dx = [Dx(y): y є N ] . Node x also maintains its neighbors’ distance vectors » For each neighbor v, x maintains Dv = [Dv(y): y є N ] 23 Distance vector algorithm (4) Basic idea: . From time-to-time, each node sends its own distance vector estimate to neighbors . Asynchronous . When a node 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) 24 Distance Vector Algorithm (5) Iterative, Each node: asynchronous: each local iteration caused wait for (change in local link by: cost or msg from neighbor) . local link cost change . DV update message recompute estimates from neighbor Distributed: if DV to any dest has . each node notifies changed, notify neighbors neighbors only when its DV changes » neighbors then notify their neighbors if necessary 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)} node x table = min{2+1 , 7+0} = 3 cost to cost to x y z x y z x 0 2 7 x 0 2 3 y ∞ ∞ ∞ y 2 0 1 from from z ∞ ∞ ∞ z 7 1 0 node y table cost to x y z y 2 1 x ∞ ∞ ∞ x z y 2 0 1 7 from z ∞ ∞ ∞ node z table cost to x y z x ∞ ∞ ∞ y ∞ ∞ ∞ from z 7 1 0 time 26 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)} node x table = min{2+1 , 7+0} = 3 cost to cost to cost to x y z x y z x y z x 0 2 7 x 0 2 3 x 0 2 3 y ∞ ∞ ∞ y 2 0 1 y from from 2 0 1 z z from ∞ ∞ ∞ 7 1 0 z 3 1 0 node y table cost to cost to cost to x y z x y z y x y z 2 1 x ∞ ∞ ∞ x 0 2 7 x 0 2 3 x z y 2 0 1 y 2 0 1 y 7 from 2 0 1 from from z ∞ ∞ ∞ z 7 1 0 z 3 1 0 node z table cost to cost to cost to x y z x y z x y z x ∞ ∞ ∞ x 0 2 7 x 0 2 3 y y 2 0 1 y 2 0 1 from ∞ ∞ ∞ from from z z z 7 1 0 3 1 0 3 1 0 time 27 Distance Vector: link cost changes Link cost changes: 1 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    88 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us