* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt
Distributed firewall wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Deep packet inspection wikipedia , lookup
Backpressure routing wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Network tap wikipedia , lookup
Computer network wikipedia , lookup
Internet protocol suite wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Airborne Networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 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-1 Interplay between routing, forwarding routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet’s header 0111 1 3 2 Network Layer 4-2 Graph abstraction 5 2 u 2 1 Graph: G = (N,E) v x 3 w 3 1 5 1 y z 2 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 Network Layer 4-3 Graph abstraction: costs 5 2 u v 2 1 x • c(x,x’) = cost of link (x,x’) 3 w 3 1 5 1 y 2 - e.g., c(w,z) = 5 z • cost could always be 1, or inversely related to bandwidth, 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 Network Layer 4-4 Routing Algorithm classification Global or decentralized information? Global: all routers have complete topology, link cost info “link state” algorithms Decentralized: router knows physicallyconnected neighbors, link costs to neighbors iterative process of computation, exchange of info with neighbors “distance vector” algorithms Static or dynamic? Static: routes change slowly over time Dynamic: routes change more quickly periodic update in response to link cost changes Network Layer 4-5 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 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-6 Link state routing Each router must do the following Discover its neighbors and learn their network addresses Measure neighbor the delay or cost to each of its Construct a packet telling all it has just learned Send this packet to all other routers Compute the path to every other routerNetwork Layer 4-7 Learning about the neighbors When a router is booted It sends a special Hello packet to its neighbors • The router on the other side answers telling who it is Network Layer 4-8 Measuring line cost Link state routing algorithm Requires each router to have • A reasonable estimate of the delay to each of its neighbors To determine this delay A router sends a special ECHO packet to the other side • That the other side is required to send back immediately • By measuring the round trip time and dividing it by 2 • The sending router gets a reasonable estimate of the delay Network Layer 4-9 Building link state packets Network Layer 4-10 Distributing link state packets and computing new routes Link state packets Are distributed using flooding A new link state is forwarded on all lines • Except the one it arrived on Once router accumulated full set of link state packets, it constructs entire graph • Where every link will be represented Dijkstra’s algorithm can be run • to construct shortest paths to all possible destinations Network Layer 4-11 Link state routing: wrap up Network Layer 4-12 A Link-State Routing Algorithm Dijkstra’s algorithm net topology, link costs known to all nodes accomplished via “link state broadcast” all nodes have same info computes least cost paths from one node (‘source”) to all other nodes gives forwarding table for that node iterative: after k iterations, know least cost path to k dest.’s Notation: c(x,y): link cost from 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-13 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-14 Dijkstra algorithm Basic idea It finds the shortest path from the source • To a node nearest to it, then to a second nearest, and so on • At each step, – select a newly reachable node at lowest cost – And add an edge to that node to connect it to the tree built Network Layer 4-15 Dijkstra algorithm (cont’d) Network Layer 4-16 Example A 8 0 4 A 8 2 B 8 7 2 C 2 1 D 9 E F A 8 4 5 B 8 7 5 E 2 C 3 B 2 7 5 E D 8 A 8 3 5 0 4 2 C 3 1 9 0 4 2 F 2 8 4 2 3 0 2 1 9 D 11 F 5 3 B 2 7 7 5 E C 3 2 1 9 D 8 F 3 5 Network Layer 4-17 Example (cont.) A 8 0 4 2 B 2 7 7 C 3 5 E 2 1 9 D 8 F 3 5 A 8 0 4 2 B 2 7 7 C 3 5 E 2 1 9 D 8 F 3 5 Network Layer 4-18 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 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-19 Distance vector routing: basic idea Network Layer 4-20 Distance vector routing: example Basic idea Look at costs that your neighbors are advertising • To get a packet to a destination • Then Select the neighbor whose advertised cost – Added to the cost to that neighbor is lowest Network Layer 4-21 Distance vector routing: rapid reaction to good news Distance vector routing reacts rapidly to good news When A comes up, other routers learn about it • B makes an entry in its routing table that A is one hop away • On next exchange, C learns that A is 2 hops away – D, and E do not hear the good news until later • Good news spread at the rate of one hop per exchange Network Layer 4-22 Distance vector routing: the count to infinity problem Distance vector routing reacts leisurely to bad news A goes down • 1st exchange: B thinks it can reach A via C, with path length 3 • 2nd exchange: C makes its new distance to A 4 and etc… Network Layer 4-23 Comparison of LS and DV algorithms Message complexity LS: with n nodes, E links, O(nE) msgs sent DV: exchange between neighbors only convergence time varies Speed of Convergence LS: O(n2) algorithm requires O(nE) msgs may have oscillations DV: convergence time varies may be routing loops count-to-infinity problem Robustness: what happens if router malfunctions? LS: node can advertise incorrect link cost each node computes only its own table DV: DV node can advertise incorrect path cost each node’s table used by others • error propagate thru network Network Layer 4-24 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 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-25