Network Layer6-1 2011 session 1 TELE3118: Network Technologies Week 6: Network Layer Intra-Domain Routing Protocols Some slides have been taken from: r.

Slides:



Advertisements
Similar presentations
13 –Routing Protocols Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
Advertisements

CS 577 Advanced Computer Networks
Lecture 8 Overview. Graph abstraction u y x wv z Graph: G = (N,E) N = set of routers = { u, v, w, x, y, z } E = set of links ={ (u,v),
Routing - I Important concepts: link state based routing, distance vector based routing.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
RD-CSY3021 Comparing Routing Protocols. RD-CSY3021 Criteria used to compare routing protocols includes  Time to convergence  Proprietary/open standards.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Link State and Distance Vector Routing Computer Science Division Department of Electrical.
Announcement r Project 2 extended to 2/20 midnight r Project 3 available this weekend r Homework 3 available today, will put it online.
Lecture 7 Overview. Two Key Network-Layer Functions forwarding: move packets from router’s input to appropriate router output routing: determine route.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.5 Routing algorithms m Link state m Distance.
Announcement r Project 2 due next week! r Homework 3 available soon, will put it online r Recitation tomorrow on Minet and project 2.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Network Layer session 1 TELE3118: Network Technologies Week 7: Network Layer Routing Protocols Some slides have been taken from: r Computer Networking:
1 Announcement #1 r Did you all receive homework #1 and #2? r Homework #3 will be available online during the day r Midterm.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 18.
Computer Networking Intra-Domain Routing, Part I RIP (Routing Information Protocol)
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Network Layer Goals: understand principles behind network layer services: –routing (path selection) –dealing with scale –how a router works –advanced topics:
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
1 CS 4396 Computer Networks Lab Dynamic Routing Protocols - II OSPF.
1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.
Intra-Domain Routing D.Anderson, CMU Intra-Domain Routing RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)
1 CSCD 330 Network Programming Spring 2014 Lecture 16 Network Layer Routing Protocols Reading: Chapter 4 Some slides provided courtesy of J.F Kurose and.
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Introduction 1 Lecture 21 Network Layer (Routing Activity) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science &
Network Layer4-1 Chapter 4 Network Layer Part 3: Routing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March.
10-1 Last time □ Transitioning to IPv6 ♦ Tunneling ♦ Gateways □ Routing ♦ Graph abstraction ♦ Link-state routing Dijkstra's Algorithm ♦ Distance-vector.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
13 – Routing Algorithms Network Layer.
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
Routing 2 CS457 Fall 2010.
Overview of Internet Routing (I) Fall 2004 CS644 Advanced Topics in Networking Sue B. Moon Division of Computer Science Dept. of EECS KAIST.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Routing 1 Network Layer Network Layer goals:  understand principles behind network layer services:  routing (path selection)  how a router works  instantiation.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Introduction 1 Lecture 19 Network Layer (Routing Algorithms) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 20 Omar Meqdadi Department of Computer Science and Software Engineering University.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Transport Layer 3-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Chapter4_3.
Network Layer4-1 Routing Algorithm Classification Global or decentralized information? Global: r all routers have complete topology, link cost info r “link.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
4: Network Layer4a-1 Distance Vector Routing Algorithm iterative: r continues until no nodes exchange info. r self-terminating: no “signal” to stop asynchronous:
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Chapter Goals m Understand network layer principles and Internet implementation r Started routing.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Network Layer4-1 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.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CPSC 335 Data Communication.
Chapter 7 Dynamic Routing
Network Layer Introduction Datagram networks IP: Internet Protocol
2017 session 1 TELE3118: Network Technologies Week 7: Network Layer Control Plane: Intra-Domain Routing Some slides have been adapted from: Computer Networking:
Road Map I. Introduction II. IP Protocols III. Transport Layer
Lecture 10 Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides are generated from.
ECE453 – Introduction to Computer Networks
CS4470 Computer Networking Protocols
CS 3700 Networks and Distributed Systems
CMPE 252A : Computer Networks
Network Layer (contd.) Routing
EE 122: Intra-domain routing: Distance Vector
Chapter 4: Network Layer
Routing.
Chapter 4: Network Layer
CSCD 330 Network Programming
EE 122: Intra-domain routing: Link State
Presentation transcript:

Network Layer session 1 TELE3118: Network Technologies Week 6: Network Layer Intra-Domain Routing Protocols Some slides have been taken from: r Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross. Addison-Wesley, July All material copyright J.F Kurose and K.W. Ross, All Rights Reserved.

Network Layer6-2 IP routing L L L destination mask local next-hop LAN interfaces / / /24 How is the routing table constructed? r Static (manual) r Dynamic (routing protocol)

Network Layer6-3 The Internet Network layer Note on terminology: r “routing” vs. “forwarding” r “routing table” vs. “forwarding table” forwarding table Routing protocols path selection RIP, OSPF, BGP IP protocol addressing conventions datagram format packet handling conventions ICMP protocol error reporting router “signaling” Transport layer: TCP, UDP Link layer physical layer Network layer

Network Layer value in arriving packet’s header routing algorithm local forwarding table header value output link “routing” and “forwarding” tables

Network Layer6-5 Routing: abstract model Graph abstraction for routing algorithms: r graph nodes are routers r graph edges are physical links m link cost: delay, $ cost, or congestion level Goal: determine “good” path (sequence of routers) thru network from source to dest. Routing protocol A E D CB F r “good” path: m typically means minimum cost path m other def’s possible

Network Layer6-6 Routing algorithm classification Distance-vector algorithm r Local information: m router knows physically- connected neighbors, link costs to neighbors r 2 components: m Neighbor routing-table exchange m Bellman-Ford (also called Ford-Fulkerson) computation r E.g.: RIP Link-state algorithm r Global information: m router knows complete topology and link cost info of entire network r 2 components: m Reliable flooding m Dijkstra shortest-path tree (SPT) computation r E.g.: OSPF, IS-IS

Network Layer6-7 Distance vector - RIP r Each node maintains a table of triples. DestinationCostNext-hop A1A C1C D2C E2A F2A G3A table at B:

Network Layer6-8 RIP: overview  Iterative, asynchronous, distributed r Directly connected neighbors exchange updates m periodically (on the order of several seconds) m whenever table changes (called triggered update) r Each update is a vector of distances: m ( Destination, Cost) r Update local table if receive a “better” route m smaller cost m came from next-hop r Refresh existing routes; delete if they time out

Network Layer6-9 RIP: example DestinationCostNext-hop B1B C1C D∞- E1E F1F G∞- DestinationCostNext-hop B1B C1C D2C E1E F1F G∞- DestinationCostNext-hop B1B C1C D2C E1E F1F G2F Initial table at A: After receiving update from C: After receiving update from F:

Network Layer6-10 RIP: recovering from link failure DestCostNh A1A B2A C2A D∞- E2A G∞- DestCostNh B1B C1C D2C E1E F1F G∞- DestCostNh B1B C1C D2C E1E F1F G3C At F: At A: A receives update from C: DestCostNh A1A B2A C2A D3A E2A G4A F receives update from A:

Network Layer6-11 RIP: link cost decreases X Z Y 1 X4X Z1Z X5Y Y1Y X1X Z1Z X5Y Y1Y X1X Z1Z X2Y Y1Y At Y: At Z: r Good news travels fast

Network Layer6-12 RIP: link cost increases X Z Y 14 X4X Z1Z X5Y Y1Y X6Z Z1Z X5Y Y1Y X6Z Z1Z X7Y Y1Y At Y: At Z: X8Z Z1Z X7Y Y1Y and so on r Bad news travels slow r “count to infinity” problem  loops!

Network Layer6-13 Breaking the loop … X Z Y 14 X4X Z1Z X5Y Y1Y X X Z1Z X5Y Y1Y X X Z1Z X12X Y1Y At Y: At Z: X13Z Z1Z X12X Y1Y r Does this solve the “count to infinity” problem? r If next-hop to D is R: m Split Horizon: do not include D in update to R m Split Horizon with Poison Reverse: include D, but with metric = ∞

Network Layer6-14 … is not always easy DestCostNh B1B C1C D2C E∞- F1F G2F DestCostNh A1A C1C D2C E3C F2A G3A DestCostNh B1B C1C D2C E4B F1F G2F At A: B receives update from C: A receives update from B: DestCostNh A1A B1C D1D E5A F2A G2D C receives update from A:

Network Layer6-15 RIPv2 (RFC 2453) details r Included in BSD-UNIX Distribution in 1982 r Distance metric: # of hops (∞ = 16): why? r Distance vectors only exchanged among neighbors r Up to 25 destinations per RIP update message r Update-interval is 30 sec: m If too large, convergence is slow m If too small, too much traffic r Triggered update whenever change in routing table r Split horizon mandatory, poison reverse optional

Network Layer6-16 RIPv2 details (contd.) r Updates sent every 30 (+/- 5) seconds r Route not refreshed for 180 sec is timed-out m Still included in update messages r Timed-out route is deleted (garbage-collected) after 120 sec r Triggered update timer set for 1-5 sec m Includes only changed routes m Suppressed if regular update due Address of net 2 Distance to net 2 CommandMust be zero Family of net 2Must be zero Family of net 1 Must be zero Address of net 1 Distance to net 1 Version subnet mask of net 1 subnet mask of net 2 next hop of net 1 next hop of net 2

Network Layer6-17 RIP: where does it run? r RIP runs as application-level process (route-d) r Updates sent as UDP message (port 520) r Multicast IP address (with TTL=1) physical link network forwarding (IP) table Transprt (UDP) routed physical link network (IP) Transprt (UDP) routed forwarding table

Network Layer6-18 Link State - OSPF r Strategy: each node learns complete topology m send information about directly connected links (not entire routing table) to entire network (not just neighbors) r Link State Advertisement (LSA) include m Nodes (routers) and links (networks) m Sequence number and age r Reliable flooding m Store most recent LSA for each node m Send LSA to all nodes except one that sent it m Generate LSA periodically (with higher sequence number) m Age out each stored LSA

Network Layer6-19 A Link-State Routing Algorithm 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 Dijkstra’s algorithm r Given: all nodes know full topology and link costs r Objective: compute least cost paths from self to all other nodes  routing table r iterative: after k iterations, know least cost path to k destinations r distributed: each node computes shortest-path tree from itself

Network Layer6-20 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 Layer6-21 Dijkstra’s algorithm: example Step N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u D(w),p(w) 5,u 4,x 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ 4,y u y x wv z

Network Layer6-22 Dijkstra’s algorithm, discussion Algorithm complexity: n nodes r each iteration: need to check all nodes, w, not in N r n(n+1)/2 comparisons: O(n 2 ) r more efficient implementations possible: O(nlogn) Link Metric r Static: link latency, link capacity, … r Dynamic: based on load? m e.g.: link cost = amount of carried traffic  oscillations! A D C B 1 1+e e 0 e A D C B 2+e e 1 A D C B 0 2+e 1+e A D C B 2+e 0 e 0 1+e 1 initially … recompute routing … recompute

Network Layer6-23 OSPF details r RFC 2328 (244 pages long!) r Neighbor up/down detected using “hello” packets r LSA reliable flooding over entire AS m LSA includes sequence number and age m LSA integrity using checksum (excludes age) r OSPF messages directly over IP (no UDP or TCP) r Hierarchical OSPF: allow scaling to larger networks r 5 types of LSAs: 1. Router LSA: set of nodes 2. Network LSA: set of links 3. Summary LSA: inter-area networks 4. Summary LSA: area-border-routers 5. External LSA: external to AS

Network Layer6-24 Hierarchical OSPF

Network Layer6-25 Hierarchical OSPF r Two-level hierarchy: local area, backbone. m Link-state advertisements only in area m each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. r Area border routers: “summarize” distances to nets in own area, advertise to other Area Border routers. r Backbone routers: run OSPF routing limited to backbone. r Boundary routers: connect to other AS’s.

Network Layer6-26 OSPF “advanced” features (not in RIP) r Authentication: prevents malicious intrusion r Hierarchy: allows larger domains r Load balancing: equal-cost multi-path (ECMP) r Extensions to support: m Multicast: MOSPF m Traffic-engineering: OSPF-TE

Network Layer6-27 Comparison of LS and DV algorithms Messaging r DV: entire routing table, but only exchanged between neighbors r LS: small messages, but flooded in whole network Speed of Convergence r DV: multiple iterations, each requires recompute and transmit m count-to-infinity problem r LS: flood and recalculate, one shot, faster Robustness: both LS and DV can be wrecked by one bad router. r In 1997 a bad router in a small ISP advertised a false cost, became flooded with traffic, disconnecting ISPs from most U.S. backbone providers for ~3 hours Bottom line: r No clear winner in terms of complexity, robustness, etc r LS often favored due to faster convergence