Lecture 8: Routing I Distance-vector Algorithms. CSE 123: Computer Networks Stefan Savage



Similar documents
Lecture 12: Link-state Routing"

Lecture 13: Distance-vector Routing. Lecture 13 Overview. Bellman-Ford Algorithm. d u (z) = min{c(u,v) + d v (z), c(u,w) + d w (z)}

Distance Vector Routing Protocols. Routing Protocols and Concepts Ola Lundh

Chapter 4. Distance Vector Routing Protocols

CS Computer Networks 1: Routing Algorithms

6.263 Data Communication Networks

CSE331: Introduction to Networks and Security. Lecture 8 Fall 2006

Routing Protocols (RIP, OSPF, BGP)

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Route Discovery Protocols

Dynamic Routing Protocols II OSPF. Distance Vector vs. Link State Routing

Based on Computer Networking, 4 th Edition by Kurose and Ross

O /27 [110/129] via , 00:00:05, Serial0/0/1

Outline. Internet Routing. Alleviating the Problem. DV Algorithm. Routing Information Protocol (RIP) Link State Routing. Routing algorithms

Advanced Networking Routing: RIP, OSPF, Hierarchical routing, BGP

Lecture 2.1 : The Distributed Bellman-Ford Algorithm. Lecture 2.2 : The Destination Sequenced Distance Vector (DSDV) protocol

Administrative Distance

WAN Topologies MPLS. 2006, Cisco Systems, Inc. All rights reserved. Presentation_ID.scr Cisco Systems, Inc. All rights reserved.

Routing with OSPF. Introduction

Computer Networks. Main Functions

Exterior Gateway Protocols (BGP)

Introducing Basic MPLS Concepts

Router and Routing Basics

CSC458 Lecture 6. Homework #1 Grades. Inter-domain Routing IP Addressing. Administrivia. Midterm will Cover Following Topics

Outline. EE 122: Interdomain Routing Protocol (BGP) BGP Routing. Internet is more complicated... Ion Stoica TAs: Junda Liu, DK Moon, David Zats

Ad hoc On Demand Distance Vector (AODV) Routing Protocol

Configuring a Gateway of Last Resort Using IP Commands

Module 7. Routing and Congestion Control. Version 2 CSE IIT, Kharagpur

TORA : Temporally Ordered Routing Algorithm

Routing Protocols. Interconnected ASes. Hierarchical Routing. Hierarchical Routing

Multihoming and Multi-path Routing. CS 7260 Nick Feamster January

6.02 Practice Problems: Routing

Internet Control Message Protocol (ICMP)

Fast Re-Route in IP/MPLS networks using Ericsson s IP Operating System

- IGRP - IGRP v1.22 Aaron Balchunas

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Link-State Routing Protocols

Introduction to LAN/WAN. Network Layer

CSE 123b Communications Software

Route Optimization. rek Petr Grygarek, VSB-TU Ostrava, Routed and Switched Networks 1

Network layer: Overview. Network layer functions IP Routing and forwarding

MPLS. Packet switching vs. circuit switching Virtual circuits

Lecture 18: Border Gateway Protocol"

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Introduction to Dynamic Routing Protocols

ITRI CCL. IP Routing Primer. Paul C. Huang, Ph.D. ITRI / CCL / N300. CCL/N300; Paul Huang 1999/6/2 1

CS335 Sample Questions for Exam #2

Inter-domain Routing Basics. Border Gateway Protocol. Inter-domain Routing Basics. Inter-domain Routing Basics. Exterior routing protocols created to:

Border Gateway Protocol (BGP)

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

Multiprotocol Label Switching (MPLS)

Routing Protocols OSPF CHAPTER. The following topics describe supported routing protocols. Topics include OSPF, page 9-1 IS-IS Protocol, page 9-3

Routing in packet-switching networks

Chapter 10 Link-State Routing Protocols

Introduction to TCP/IP

CHAPTER 10 IP MULTICAST

Introduction to Metropolitan Area Networks and Wide Area Networks

- Routing Information Protocol -

Cisco CCNP Optimizing Converged Cisco Networks (ONT)

EE627 Lecture 22. Multihoming Route Control Devices

A REPORT ON ANALYSIS OF OSPF ROUTING PROTOCOL NORTH CAROLINA STATE UNIVERSITY

WAN Wide Area Networks. Packet Switch Operation. Packet Switches. COMP476 Networked Computer Systems. WANs are made of store and forward switches.

CCNA Exploration 4.0: (II) Routing Protocols and Concepts. Chapter 1: Introduction to Routing and Packet Forwarding

Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.

Exercise 4 MPLS router configuration

Configuring RIP. Overview. Routing Update Process CHAPTER

Interconnecting Cisco Networking Devices Part 2

Bell Aliant. Business Internet Border Gateway Protocol Policy and Features Guidelines

DEMYSTIFYING ROUTING SERVICES IN SOFTWAREDEFINED NETWORKING

GregSowell.com. Mikrotik Routing

IP Multicasting. Applications with multiple receivers

Assignment #3 Routing and Network Analysis. CIS3210 Computer Networks. University of Guelph

Border Gateway Protocol BGP4 (2)

Inter-domain Routing. Outline. Border Gateway Protocol

Active measurements: networks. Prof. Anja Feldmann, Ph.D. Dr. Nikolaos Chatzis Georgios Smaragdakis, Ph.D.

value in arriving packet s header routing algorithm local forwarding table header value output link

Lesson 5-3: Border Gateway Protocol

for guaranteed IP datagram routing

Faculty of Engineering Computer Engineering Department Islamic University of Gaza Network Chapter# 19 INTERNETWORK OPERATION

MPLS Concepts. Overview. Objectives

Transport and Network Layer

Performance Analysis of Load Balancing in MANET using On-demand Multipath Routing Protocol

BGP overview BGP operations BGP messages BGP decision algorithm BGP states

CS 5480/6480: Computer Networks Spring 2012 Homework 4 Solutions Due by 1:25 PM on April 11 th 2012

Scalable Source Routing

Using OSPF in an MPLS VPN Environment

IP Routing Configuring RIP, OSPF, BGP, and PBR

College 5, Routing, Internet. Host A. Host B. The Network Layer: functions

Security in Ad Hoc Network

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

Keywords: DSDV and AODV Protocol

Towards Load Balancing in SDN Networks During DDoS attacks

Internetworking and Internet-1. Global Addresses

CCIE R&S Lab Workbook Volume I Version 5.0

Can Forwarding Loops Appear when Activating ibgp Multipath Load Sharing?

Transcription:

Lecture 8: Routing I Distance-vector Algorithms CSE 3: Computer Networks Stefan Savage

This class New topic: routing How do I get there from here?

Overview Routing overview Intra vs. Inter-domain routing Distance-vector routing protocols 3

Router Tasks Forwarding Move packet from input link to the appropriate output link Purely local computation Must go be very fast (executed for every packet) Routing Make sure that the next hop actually leads to the destination Global decisions; distributed computation and communication Can go slower (only important when topology changes)

Forwarding Options Source routing Complete path listed in packet Virtual circuits Set up path out-of-band and store path identifier in routers Local path identifier in packet Destination-based forwarding Router looks up address in forwarding table Forwarding table contains (address, next-hop) tuples

Source Routing Routing Host computes path» Must know global topology and detect failures Packet contains complete ordered path information» I.e. node A then D then X then J Requires variable length path header Forwarding Router looks up next hop in packet header, strips it off and forwards remaining packet» Very quick forwarding, no lookup required In practice ad hoc networks (DSR), some HPC networks (Myrinet), and for debugging on the Internet (LSR,SSR)

Virtual Circuits Routing Hosts sets up path out-of-band, requires connection setup Write (input id, output id, next hop) into each router on path Flexible (one path per flow) Forwarding Send packet with path id Router looks up input, swaps for output, forwards on next hop Repeat until reach destination Table lookup for forwarding (faster than IP lookup?) In practice ATM: fixed VC identifiers and separate signaling code MPLS: ATM meets the IP world (why? traffic engineering)

Destination-based Forwarding Routing All addresses are globally known» No connection setup Host sends packet with destination address in header» No path state; only routers need to worry about failure Distributed routing protocol used to routing tables Forwarding Router looks up destination in table» Must keep state proportional to destinations rather than connections Lookup address, send packet to next-hop link» All packets follow same path to destination In Practice: IP routing

Routing Tables The routing table at A, lists at a minimum the next hops for the different destinations Dest B C D E Next Hop B C C E A B E C D F F F G G F

Routing on a Graph Essentially a graph theory problem Network is a directed graph; routers are vertices Find best path between every pair of vertices In the simplest case, best path is the shortest path A F B E C G D X =router =link =cost 0

Routing Challenges How to choose best path? Defining best can be slippery How to scale to millions of users? Minimize control messages and routing table size How to adapt to failures or changes? Node and link failures, plus message loss

Intra-domain Routing Routing within a network/organization A single administrative domain The administrator can set edge costs Overall goals Provide intra-network connectivity Adapt quickly to failures or topology changes Optimize use of network resources Non-goals Extreme scalability Lying, and/or disagreements about edge costs We ll deal with these when we talk about inter-domain routing

Basic Approaches Static Type in the right answers and hope they are always true So far Distance vector Tell your neighbors when you know about everyone Today s lecture! Link state Tell everyone what you know about your neighbors Next time

Distance vector algorithm Base assumption Each router knows its own address and the cost to reach each of its directly connected neighbors Bellman-Ford algorithm Distributed route computation using only neighbor s info Mitigating loops Split horizon and posion reverse 4

Bellman-Ford Algorithm Define distances at each node X d x (y) = cost of least-cost path from X to Y Update distances based on neighbors d x (y) = min {c(x,v) + d v (y)} over all neighbors V u 3 v w 4 x 5 s 3 4 y t z d u (z) = min{c(u,v) + d v (z), c(u,w) + d w (z)}

Distance Vector Algorithm Iterative, asynchronous: each local iteration caused by: Local link cost change Distance vector update message from neighbor Each node: wait for (change in local link cost or message from neighbor) Distributed: Each node notifies neighbors only when its DV changes Neighbors then notify their neighbors if necessary recompute estimates if distance to any destination has changed, notify neighbors 6

Step-by-Step c(x,v) = cost for direct link from x to v Node x maintains costs of direct links c(x,v) D x (y) = estimate of least cost from x to y Node x maintains distance vector D x = [D x (y): y є N ] Node x maintains its neighbors distance vectors For each neighbor v, x maintains D v = [D v (y): y є N ] Each node v periodically sends D v to its neighbors And neighbors update their own distance vectors D x (y) min v {c(x,v) + D v (y)} for each node y N 7

Example: Initial State 7 B C Distance to Node A B C D E A 0 7 Info at node A 8 B 7 0 8 E D C 0 D 0 E 8 0 8

D sends vector to E I m from C, 0 from D and from E 7 B C Distance to Node A B C D E A 0 7 Info at node A 8 B 7 0 8 E D C 0 D 0 D is away, +<, so best path to C is 4 E 8 4 0 9

B sends vector to A A 7 B E 8 I m 7 from A, 0 from B, from C & 8 from E C D B is 7 away, +7< so best path to C is 8 Distance to Node A B C D E A 0 7 8 Info at node B 7 0 8 C 0 D 0 E 8 4 0 0

E sends vector to A E is away, 4+<8 so C is 5 away, +< so D is 3 away A 7 B E 8 C D I m from A, 8 from B, 4 from C, from D & 0 from E Distance to Node A B C D E A 0 7 5 3 Info at node B 7 0 8 C 0 D 0 E 8 4 0

until Convergence 7 B C Distance to Node A B C D E A 0 6 5 3 Info at node A 8 B 6 0 3 5 E D C 5 0 4 D 3 3 0 E 5 4 0

Node B s distance vectors Next hop 7 B C Dest A E C A 7 9 6 A 8 C D 0 0 3 E D E 8 8 5 3

Handling Link Failure A 7 A marks distance to E as, and tells B E marks distance to A as, and tells B and D B and D recompute routes and tell C, E and E etc until converge B E 8 C D Info at node Distance to Node A B C D E A 0 7 8 0 B 7 0 3 5 C 8 0 4 D 0 3 0 E 5 4 0 4

Counting to Infinity Distance to C 3 A B C 3 4 A B Update 3 C 5 4 A B Update 4 C Etc 5

Why so High? Updates don t contain enough information Can t totally order bad news above good news B accepts A s path to C that is implicitly through B! Aside: this also causes delays in convergence even when it doesn t count to infinity 6

Mitigation Strategies Hold downs As metric increases, delay propagating information Limitation: Delays convergence Loop avoidance Full path information in route advertisement Explicit queries for loops Split horizon Never advertise a destination through its next hop» A doesn t advertise C to B Poison reverse: Send negative information when advertising a destination through its next hop» A advertises C to B with a metric of» Limitation: Only works for loop s of size 7

Poison Reverse Example If Z routes through Y to get to X: Z tells Y its (Z s) distance to X is infinite (so Y won t route to X via Z) 60 X 4 Y 50 Z 8

Split Horizon Limitations B A tells B & C that D is unreachable B computes new route through C A C Tells C that D is unreachable (poison reverse) Tells A it has path of cost 3 (split horizon doesn t apply) A computes new route through B A tells C that D is now reachable D Etc 9

In practice RIP: Routing Information Protocol DV protocol with hop count as metric» Infinity value is 6 hops; limits network size» Includes split horizon with poison reverse Routers send vectors every 30 seconds» With triggered updates for link failures» Time-out in 80 seconds to detect failures Rarely used today EIGRP: proprietary Cisco protocol Ensures loop-freedom (DUAL algorithm) Only communicates changes (no regular broadcast) Combine multiple metrics into a single metric (BW, delay, reliability, load)

Summary Routing is a distributed algorithm React to changes in the topology Compute the paths through the network Distance Vector shortest-path routing Each node sends list of its shortest distance to each destination to its neighbors Neighbors update their lists; iterate Weak at adapting to changes out of the box Problems include loops and count to infinity 3

Next time Link state routing Turn in homework 3