Routers Routing algorithms

Slides:



Advertisements
Similar presentations
Network Layer4-1 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables! r routing table exchange would.
Advertisements

Lecture 9 Overview. Hierarchical Routing scale – with 200 million destinations – can’t store all dests in routing tables! – routing table exchange would.
Path Vector Routing NETE0514 Presented by Dr.Apichan Kanjanavapastit.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
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.
13 –Routing Protocols Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
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),
14 – Inter/Intra-AS Routing
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
14 – Inter/Intra-AS Routing Network Layer Hierarchical Routing scale: with > 200 million destinations: can’t store all dest’s in routing tables!
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
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 &
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
RSC Part II: Network Layer 6. Routing in the Internet (2 nd Part) Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are,
Introduction 1 Lecture 19 Network Layer (Routing Protocols) 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.
CS 3830 Day 29 Introduction 1-1. Announcements r Quiz 4 this Friday r Signup to demo prog4 (all group members must be present) r Written homework on chapter.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
1 Mao W07 Interdomain Routing Broadcast routing EECS 489 Computer Networks Z. Morley Mao Monday Feb 12, 2007.
Network Layer4-1 Intra-AS Routing r Also known as Interior Gateway Protocols (IGP) r Most common Intra-AS routing protocols: m RIP: Routing Information.
Introduction 1 Lecture 19 Network Layer (Routing Algorithms) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
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.
An internet is a combination of networks connected by routers. When a datagram goes from a source to a destination, it will probably pass through many.
Transport Layer3-1 Network Layer Every man dies. Not every man really lives.
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.
Border Gateway Protocol. Intra-AS v.s. Inter-AS Intra-AS Inter-AS.
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.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Routing in the Internet
14 – Inter/Intra-AS Routing
The network layer: routing
CS 5565 Network Architecture and Protocols
Computer Networks Routing Algorithms.
Chapter 7 Dynamic Routing
Routing Jennifer Rexford.
Chapter 4 Network Layer A note on the use of these ppt slides:
CMPT 880: Internet Architectures and Protocols
COMP 3270 Computer Networks
Introduction to Internet Routing
Network Layer Introduction Datagram networks IP: Internet Protocol
Routing: Distance Vector Algorithm
Chapter 4: outline 4.1 introduction
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
NAT traversal problem client want to connect to server with address
Lecture 10 Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides are generated from.
CS 4700 / CS 5700 Network Fundamentals
CSCD 330 Network Programming
Chapter 4-4 routing and IP routing
CS 3700 Networks and Distributed Systems
Chapter 6 Dynamic Programming
Advanced Computer Networks
CS4470 Computer Networking Protocols
CS 3700 Networks and Distributed Systems
COMP/ELEC 429/556 Introduction to Computer Networks
Chapter 4: Network Layer
CMPE 252A : Computer Networks
Chapter 4: Network Layer
EE 122: Intra-domain routing: Distance Vector
CSCD 330 Network Programming
Network Layer: Link-state and Distance-Vector Routing Protocols
Computer Networks Protocols
Network Layer: Internet Inter-Domain Routing
Chapter 4: Network Layer
CSCD 330 Network Programming
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Chapter 4 Network Layer A note on the use of these ppt slides:
Presentation transcript:

Routers Routing algorithms ECE 671 – Lecture 11 Routers Routing algorithms

Routing Shortest path routing Centralized approach Each node has full “view” of network Each node calculates shortest path using routing algorithm “Link state algorithm” (Exchange of link information always decentralized) Distributed approach Each node computes best path without full view Shortest path computed as link information is exchanged “Distance vector algorithm” ECE 671

Distance vector algorithm Features Distributed Iterative Asynchronous Each node reports local view Cost to neighbors Routes to others via neighbors Each node picks the best option Bellman-Ford equation: dx(y) = minv{c(x,v)+dv(y)} Information is exchanged as “distance vector” Shortest distance to all nodes as seen locally With enough exchanges, routing converges ECE 671

Bellman-Ford Equation Bellman-Ford equation (dynamic programming) let dx(y) := cost of least-cost path from x to y then dx(y) = min {c(x,v) + dv(y) } v cost from neighbor v to destination y cost to neighbor v min taken over all neighbors v of x ECE 671

Example node achieving minimum is next y x w v z 2 1 3 5 clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3 B-F equation says: du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4 node achieving minimum is next hop in shortest path, used in forwarding table Slide from Kurose & Ross “Computer Networking A Top Down Approach ECE 671

Distance Vector Algorithm Dx(y) = estimate of least cost from x to y x maintains distance vector Dx = [Dx(y): y є N ] node x: knows cost to each neighbor v: c(x,v) maintains its neighbors’ distance vectors. For each neighbor v, x maintains Dv = [Dv(y): y є N ] Slide from Kurose & Ross “Computer Networking A Top Down Approach ECE 671

Distance Vector Algorithm from time-to-time, each node sends its own distance vector estimate to neighbors when 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) Slide from Kurose & Ross “Computer Networking A Top Down Approach ECE 671

Distance Vector Algorithm each node: iterative, asynchronous: each local iteration caused by: local link cost change DV update message from neighbor distributed: each node notifies neighbors only when its DV changes neighbors then notify their neighbors if necessary wait for (change in local link cost or msg from neighbor) recompute estimates if DV to any dest has changed, notify neighbors Slide from Kurose & Ross “Computer Networking A Top Down Approach ECE 671

z y x Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 node x table cost to cost to x y z x y z x 0 2 7 x 2 3 y y from ∞ ∞ ∞ from 2 0 1 z z ∞ ∞ ∞ 7 1 0 node y table cost to x z 1 2 7 y x y z x ∞ ∞ ∞ 2 0 1 y from z ∞ ∞ ∞ node z table cost to x y z x ∞ ∞ ∞ from y ∞ ∞ ∞ z 7 1 time Slide from Kurose & Ross “Computer Networking A Top Down Approach

z y x Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 node x table cost to cost to cost to x y z x y z x y z x 0 2 7 x 2 3 x 0 2 3 y y from ∞ ∞ ∞ from 2 0 1 y 2 0 1 from z z ∞ ∞ ∞ 7 1 0 z 3 1 0 node y table cost to cost to x z 1 2 7 y cost to x y z x y z x y z x ∞ 2 0 1 ∞ ∞ x 0 2 7 x 0 2 3 y y from from 2 0 1 y 2 0 1 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 0 2 7 x 0 2 3 x ∞ ∞ ∞ from y y 2 0 1 from y 2 0 1 from ∞ ∞ ∞ z z z 3 1 0 3 1 0 7 1 time time Slide from Kurose & Ross “Computer Networking A Top Down Approach

Distance vector example Two updates: First, node 2 Then, node 3 ECE 671

Routing in the Internet How many nodes do we have in the Internet? How many links do we have in the Internet? Scalability becomes a problem Number of nodes/links in algorithm Adding/removing machine could cause global routing update ECE 671

Autonomous Systems Internet is clustered into autonomous systems (AS) Single administrative entity (e.g., company, university) Inside an AS (“local” routing): Intra-AS routing protocol Between ASs (“global” routing): Gateway routers connect ASs Inter-AS routing protocol Combination of routing algorithm determines forwarding table ECE 671

Intra-AS routing: RIP Routing Information Protocol Originally distributed in 1982 BSD UNIX RFC 2453 Distance vector protocol “Hop” count as metric Maximum hop count is 15 Routing updates Every 30 seconds as UDP packets “RIP advertisement” Up to 25 destination subnets Link considered down if no update in 180 seconds ECE 671

Intra-AS routing: OSPF Open Shortest Path First “Open” as in “not proprietary” RFC 2328 Designed as successor to RIP Link-state protocol Routers have full graph of network Dijkstra’s algorithm for shortest path Link weights set by administrator Difficult to achieve operational goals Routing updates HELLO messages every 10 seconds (check if link is alive) Flooding of link-state information Routers send link-state info to all other routers Route update at least once every 30 minutes ECE 671

Inter-AS routing: BGP Border Gateway Protocol De-facto standard for inter-AS routing in Internet RFC 1771 Advertisement of reachability From Kurose& Ross: “A subnet screams ‘I exist and I am here,’ and BGP makes sure that all the ASs in the Internet know about the subnet and how to get there. If it weren’t for BGP, each subnet would be isolated – alone and unknown by the rest of the Internet.” BGP provides Information on subnet reachability from neighboring ASs Propagated to each internal router of AS Means to determine “good” routes to subnets Based on reachability and AS policy ECE 671

Inter-AS routing: BGP BGP sessions Reachability information Connection between routers to exchange BGP information External BGP (eBGP) session Session spanning two ASs Internal BGP (iBGP) session Session within one AS Reachability information Reachable subnet (CIDR prefix) BGP attributes AS-PATH: path to subnet (ASs traversed) Next-HOP: IP address of advertising router Path vector protocol Information to avoid loop or other ASs (import policy) ECE 671

Inter-AS routing: BGP Route selection: Example Often multiple routes available Elimination procedure: Local preference value set by administrator Shortest AS-PATH (=DV with AS hop metric) Closest NEXT-HOP router (determined by intra-AS routing) “Hot potato routing” BGP identifiers Example Y is “stub” network X is “multihomed” network X is customer network X should not forward data between B and C X advertise as if stub domain (e.g., not XCY to B) B might not want to advertise path to A or W to C ECE 671

Inter-AS routing: BGP Peering agreements between ASs often confidential Administrators are careful what to advertise Avoid free riding of traffic from other ISPs BGP issues BGP not always stable Route flapping can cause further instability Router might get overloaded by BGP messages If router can’t keep up, it might be considered down Various heuristic fixes Route dampening ECE 671