COMP 431 The Network Layer: Routing & Addressing Internet Services & Protocols Outline application ◆ Network layer services transport network ◆ Routing algorithms The Network Layer: data link » Least cost path computation network physical algorithms data link Routing & Addressing physical ◆ Hierarchical routing home network network » Connecting networks of networks data link ◆ IP Internet Protocol physical regional ISP » Addressing network network Jasleen Kaur » IPv6 data link data link physical ◆ Routing on the Internet physical » Intra-domain routing » Inter-domain routing March 31, 2020 application Institutional transport network network data link physical 1 2
The Network Layer The Network Layer Network layer functions Network layer functions Physical end- to-end packet application application delivery ◆ Application-layer protocols ◆ The network-layer provides four transport transport network network define when and how important functions: Logical data link data link end-to-end messages are sent network network physical » Addressing : the means by which end physical transport data link data link systems identify each other physical physical home home ◆ Transport-layer protocols network network network » Path determination : the route taken network deliver data between processes data link data link by packets from source to physical physical destination on different end-systems regional ISP regional ISP network network » Switching : the movement of packets network network » Transport protocols execute only data link data link data link from an input interface to an data link on end systems physical physical physical appropriate output interface physical ◆ Network-layer protocols » Call setup : The establishment of a virtual circuit from sender to deliver data from one end- application receiver application Institutional Institutional system to another transport transport network network network network » Network layer protocols execute data link data link on every end-system and router physical physical 3 4
The Network Layer: Routing & Addressing Network-Layer Service Models Outline application Datagram v. Virtual Circuit networks transport network network network network link ◆ ATM Networks network network ◆ IP networks: link ◆ Network layer services physical link physical » Evolved from telephony physical network network » Data exchanged among computers ◆ Routing algorithms link » Human conversation: physical ❖ “ Elastic ” service, no strict » Least cost path computation network network ❖ Strict timing, reliability algorithms link timing requirements requirements physical network network ◆ Hierarchical routing ❖ Need for guaranteed service link » “ Smart ” end systems (computers) physical » Connecting networks of networks » “ Dumb ” end systems (telephones) ❖ Can adapt, perform control, ◆ IP Internet Protocol ❖ Tremendous complexity inside error recovery network network network the network » Addressing network link link ❖ Simple inside the network, physical » IPv6 physical » No interoperation with other complexity at “ edges ” networks ◆ Routing on the Internet network network link » Intra-domain routing » Operates over “ any ” link layer » New services requires “ the physical network ” to be upgraded » Inter-domain routing technology ❖ Uniform service difficult application transport ❖ But interoperation “ easy ” network network link » New services easily added (most physical services implemented at the edge) 10 11
Routing Algorithms Routing Algorithms Least-cost path computation Taxonomy 5 5 ◆ Goal: To determine a “ good ” ◆ Global or decentralized? 3 3 C C B B path through the network from 5 5 2 ◆ Global — all routers have 2 source to destination A A F F 2 complete graph (topology, costs) 2 1 1 ◆ Graph abstraction for routing 3 3 1 1 » “ Link state ” algorithms 2 2 algorithms: D E D E 1 1 ◆ Decentralized — router knows » Nodes are routers » Edges are physical links link costs to physically connected ◆ Static or dynamic? » Edges have a “ cost ” metric adjacent nodes ◆ “ Good ” path typically means » Static — routes change ❖ Cost can be delay, monetary » Run iterative algorithm to exchange slowly over time minimum cost path cost, level of congestion, etc . information with adjacent nodes » Dynamic — routes change more » Also shortest path, … quickly » “ Distance vector ” algorithms ◆ (But often ISPs define “ good ” in ❖ Periodic updates, or » (RIP — Routing Information terms of business models) ❖ Updates in response to link Protocol ) outages or cost changes 12 13
Global Routing Algorithms Link State Routing 5 B 3 C A link-state routing algorithm Dijsktra’s Algorithm 5 2 A F 2 1 3 ◆ Uses Dijkstra’s shortest path graph algorithm 1 E D 2 ◆ Complete network topology and link costs known at all nodes 1 1 Initialization: » Accomplished via link state flooding N is the set of nodes to 2 N = {A} » All nodes learn the “ same ” topology and cost data which we have computed 3 for all nodes v the minimum cost path D ( x ) is the current minimum 4 if v adjacent to A ◆ Each node computes least cost paths from itself to all other cost path to x 5 then D(v) = c(A,v) nodes c ( n , m ) is the cost of the link from 6 else D(v) = infinity » Produces a routing table for that node n to m 7 » All nodes compute consistent routing tables 8 Loop 5 9 find node w not in N such that D(w) is a minimum ◆ Algorithm complexity: 3 10 add node w to N B C » N nodes (routers) in the network 5 2 11 update D(v) for all nodes v adjacent to w and not in N: » N x ( N +1)/2 comparisons A F 2 12 D(v) = min( D(v), D(w) + c(w,v) ) 1 » (More efficient implementations 3 13 /* new cost to node v is either old cost to v or known possible) 1 2 D E 14 shortest path cost to w plus cost from w to v */ 1 15 until all nodes in N 14 15
Link State Routing Link State Routing Dijkstra’s algorithm: example Link state routing table 5 Link State Routing 3 B C Step start N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F) 5 Table for A 2 0 A 2,A 5,A 1,A infinity infinity A F 2 1 first node in least 1 AD 2,A 4,D 2,D infinity 3 cost path 1 2 ADE 2,A 3,E 4,E 2 D E B B B 1 3 ADEB 3,E 4,E 4 ADEBC 4,E D C E → C 5 ADEBCF D D D Link State Routing Table for D E D D → E F D 5 E → F first node in least N is the set of nodes to which we have computed cost path 3 C B the minimum cost path A A A 5 2 D ( x ) is the current minimum A B B cost path to x B F 2 1 3 p ( x ) is the predecessor of x on E C E → C 1 2 the current minimum cost D E E E path to x E 1 E F E → F 17 18
Link State Routing Link State Flooding Algorithm Link State Flooding Algorithm Example ◆ The data stored for an edge in the graph (the link between nodes 5 5 1. 2. C → D = ∞ X and Y ) consists of: 3 3 B C B C » Cost from X to Y ( X - Y ) and from Y to X ( Y - X ) 5 5 2 2 » A unique timestamp for the last update to each cost A A F F 2 2 1 1 3 1 1 ◆ A node that discovers a change in cost for one of its attached 2 2 D E D E links forwards the update to all adjacent nodes 1 1 D → C = ∞ ◆ A node receiving an update forwards it based on a comparison of the update timestamp and the timestamp on its local data for the 5 3. 4. link: C → D = ∞ 3 » Update is later (or new): Forward to all adjacent nodes (except sender) C 5 C B B C → D = ∞ 2 5 3 5 and update local data 2 A A » Update is earlier: Send local data back to sender F F 2 1 2 1 » Update is equal: Do nothing D → C = ∞ 1 2 2 1 E E D D 1 1 D → C = ∞ 19 20
Link State Flooding Algorithm Link State Routing Example (Continued) Oscillating routes ◆ “ Route oscillations ” are possible in link state algorithms 5 3. 4. C → D = ∞ ◆ Let the link cost equal the amount of carried traffic 3 C 5 C B B » Assume the link cost is updated as traffic changes C → D = ∞ 2 5 3 5 2 A A F F 2 2 1 1 D → C = ∞ Initially …recompute …recompute …recompute 1 2 2 1 E E D D A A A A 1 1 1 1+e 0 2+e 0 0 0 0 2+e 2+e D → C = ∞ D B D B D B D B 0 0 1 1 0 0 0 1 e 0 0 0 0 C 1+e C C 1+e 1+e C 0 5 1 1 1 1 1 1 1 1 5. 6. D → C = ∞ D → C = ∞ D → C = ∞ 3 e e e e C 5 C B B 2 5 5 2 3 A A F F Node Path to A 2 2 Node Path to A Node Path to A Node Path to A 1 1 1 A D A C A 1 D D D 2 2 C → D = ∞ E E D D C C B D C B C D 1 1 B C B A B A B C C → D = ∞ C → D = ∞ 21 22
Recommend
More recommend