1 Network Layer: Routing Distributed, Distance Vector Protocols Y. Richard Yang 4/11/2016.

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

Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 22 Omar Meqdadi Department of Computer Science and Software Engineering University.
Courtesy: Nick McKeown, Stanford
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.
What is “Routing”? Routing algorithm that part of the network layer responsible for deciding on which output line to transmit an incoming packet Adaptive.
4a-1 CSE401: Computer Networks Hierarchical Routing & Routing in Internet S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Routing and Routing Protocols
Routing.
14 – Inter/Intra-AS Routing
Computer Networking Intra-Domain Routing, Part I RIP (Routing Information Protocol)
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
ROUTING BASICS. Why are Routers Necessary? One of the key components of the technical infrastructure of the network One of the key components of the technical.
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Distributed Asynchronous Bellman-Ford Algorithm
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Routing/Routed Protocols. Remember: A Routed Protocol – defines logical addressing. Most notable example on the test – IP A Routing Protocol – fills the.
Packet-Switching Networks Routing in Packet Networks.
1 Introducing Routing 1. Dynamic routing - information is learned from other routers, and routing protocols adjust routes automatically. 2. Static routing.
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 All material copyright J.F Kurose and K.W. Ross, All Rights Reserved.
1 Network Routing 11/2/2009. Admin. r Exam 1 Monday Nov. 9 m Covers architecture, application and transport layers (lectures 1-16, and resource allocation.
1 Transport BW Allocation, and Review of Network Routing 11/2/2009.
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
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.
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.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
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.
Graph Algorithms Why graph algorithms ? It is not a “graph theory” course! Many problems in networks can be modeled as graph problems. Note that -The topology.
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.
Routing Protocols 1 ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
1 Transport Bandwidth Allocation, Intro to Network Layer 4/3/2012.
1 Network Layer: Routing Distance Vector Protocols with Revisions and Link State Protocols Y. Richard Yang 4/13/2016.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
Routing and Routing Protocols CCNA 2 v3 – Module 6.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
14 – Inter/Intra-AS Routing
Homework 4 Out: Fri 2/24/2017 In: Fri 3/10/2017.
Chapter 4: Network Layer
Introduction to Dynamic Routing Protocol
Working at a Small-to-Medium Business or ISP – Chapter 6
CS 5565 Network Architecture and Protocols
Centralized vs Distributed Routing
Chapter 4: Network Layer
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing.
Network Layer Path Determination.
Routing in Packet Networks Shortest Path Routing
Road Map I. Introduction II. IP Protocols III. Transport Layer
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
Introduction to networking
Chapter 7 Packet-Switching Networks
ECE453 – Introduction to Computer Networks
Chapter 4: Network Layer
CS 3700 Networks and Distributed Systems
Chapter 4: Network Layer
Chapter 4: Network Layer
Working at a Small-to-Medium Business or ISP – Chapter 6
COS 461: Computer Networks
ECSE-4730: Computer Communication Networks (CCN)
Network Layer (contd.) Routing
Chapter 4: Network Layer
Routing.
Network Layer: intro; Distance Vector Protocols
Presentation transcript:

1 Network Layer: Routing Distributed, Distance Vector Protocols Y. Richard Yang 4/11/2016

Admin. r Exam 1 grading issue m Please stop by Monday/Wednesday 7:30-8:30 pm office hours to fix any issues r Assignment 3 design share m Wednesday at beginning of class r Assignment 4 issues r Projects 2

3 Recap: Primal-Dual Decomposition of Network-Wide Resource Allocation r SYSTEM(U): r USER f : r NETWORK:

4 Recap: Network Layer r Transport packet from source to dest. r Network layer in every host, router Basic function: m determine route taken by packets of a flow, and move the packets (potentially with QoS) along the route

5 Recap: Routing r Typically routing can be formulated as a graph problem r Routing has a large design space m who decides routing? source routing network routing –distributed vs (logically) centralized m what does routing compute shortest path or QoS aware m how many paths does routing compute? multi-path or single path routing m will routing adapt to network traffic demand? adaptive or static routing A E D CB F

6 r Routing has a large design space m who decides routing? source routing: end hosts make decision  network routing: networks make decision - (applications such as overlay and p2p are trying to bypass it) m what does routing compute  shortest path (mostly, plus policy routing) QoS aware m how many paths does routing compute? multi-path routing  single path routing (with small amount of multipath) m will routing adapt to network traffic demand? adaptive routing  static routing (mostly static; adjust in larger timescale) m … - Robustness - Optimality - Simplicity Routing Design Space: Internet

7 Alternative: Dynamic Link Costs r Assume link costs reflect current traffic D A B C 0 2+e 1+e t=2 Solution: Link costs are a combination of current traffic intensity (dynamic) and topology (static). To improve stability, the static topology part should be large. Thus less sensitive to traffic; thus non-adaptive. D A B C 2+e e 1 t=1 0 Link costs reflect current traffic intensity D A B C 1 1+e e 0 e t=0 0 0 D A B C 2+e 0 e 0 1+e 1 t=3 0 D A B C e 1 1

Example: Cisco Proprietary Recommendation on Link Cost r Link metric: m metric = [K1 * bandwidth -1 + (K2 * bandwidth -1 ) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)] By default, k1=k3=1 and k2=k4=k5=0. The default composite metric for EIGRP, adjusted for scaling factors, is as follows: EIGRP : Enhanced Interior Gateway Routing Protocol 8 BW min is in kbps and the sum of delays are in 10s of microseconds.

Example: EIGRP Link Cost r The bandwidth and delay for an Ethernet interface are 10 Mbps and 1 ms, respectively. r The calculated EIGRP BW metric is as follows: m 256 × 10 7 /BW = 256 × 10 7 /10,000 m = 256 × m = A E D CB F

Roadmap: Routing Computation Architecture Spectrum Distance Vector 10 Datapath Distributed Bellman Ford Distributed Link State Dijkstra Logically Central Link State Control Datapath Distributed Bellman Ford Datapath Distributed Link State Dijkstra Dijkstra Link State SDN notification/ management/ control protocol

11 Outline  Admin and recap  Routing computation  Distributed distance vector protocols

Distance Vector Routing r Setting: static (positive) costs assigned to network links o The static link costs may be adjusted in a longer time scale: this is called traffic engineering r Goal: distributed computing to compute the shortest path from a source to a destination o Based on the Bellman-Ford algorithm (BFA) o Conceptually, runs for each destination separately r Realization m Basis of RIP, IGRP, EIGRP routing protocols A E D CB F

13 Distance Vector Routing: Basic Idea r At node i, the basic update rule where - d i denotes the distance estimation from i to the destination, - N(i) is set of neighbors of node i, and - d ij is the distance of the direct link from i to j i j destination

14 Outline  Network overview  Routing computation  Distance vector protocols  synchronous Bellman-Ford (SBF)

15 Synchronous Bellman-Ford (SBF) r Nodes update in rounds: m there is a global clock; m at the beginning of each round, each node sends its estimate to all of its neighbors; m at the end of the round, updates its estimation A E D CB A B E C D

16 Outline

17 r Initialization (time 0): A E D CB

18 Example A E D CB A B C E D d(0) Consider D as destination; d(t) is a vector consisting of estimation of each node at round t d(1)d(2) d(3) d(4)

19 A Nice Property of SBF: Monotonicity

20  Claim: d i (h) is the length L i (h) of a shortest path from i to the destination using ≤ h hops m base case: h = 0 is trivially true  assume true for ≤ h, i.e., L i (h)= d i (h), L i (h-1)= d i (h-1), …

21  consider ≤ h+1 hops: since d i (h) ≤ d i (h-1)

22 Bellman Equation

23 Uniqueness of Solution to BE Dest. A E D CB

24 Uniqueness of Solution to BE

25 Outline

26 SBF at another Initial Configuration: SBF/-1 r Initialization (time 0): A E D CB

27 Example A E D CB A B C E D d(0) Consider D as destination d(1) d(2) d(3) d(4) d(5) d(6)

28 Bellman Equation and Correctness of SBF/-1 r SBF/-1 converges due to monotonicity r At equilibrium, SBF/-1 satisfies the set of equations called Bellman equations (BE) where d D = 0. r Another solution is shortest path solution d* r Since there is a unique solution to the BE equations; thus SBF/-1 converges to shortest path Question: will SBF converge under other non-negative initial conditions? Problems of running synchronous BF?

29 Outline  Network overview  Routing computation  Distance vector protocols o synchronous Bellman-Ford (SBF)  asynchronous Bellman-Ford (ABF)

Asynchronous Bellman-Ford (ABF) r No notion of global iterations m each node updates at its own pace r Asynchronously each node i computes using last received value d i j from neighbor j. r Asynchronously node j sends its estimate to its neighbor i: m there is an upper bound on the delay of estimate packet (no worry for out of order)

Asynchronous Bellman-Ford (ABF) r In general, nodes are using different and possibly inconsistent estimates i j dijdij djdj didi

Distance Table: Example A E D CB d () A B C D E distance tables from neighbors destinations computation E’s distance table distance table E sends to its neighbors A: 10 B: 8 C: 4 D: 2 E: 0 Below is just one step! The protocol repeats forever! A B D A: 10 B: 8 D: 4 D: 2

Asynchronous Bellman-Ford (ABF) r ABF will eventually converge to the shortest path m links can go down and come up – but if topology is stabilized after some time t, ABF will eventually converge to the shortest path ! r If the network is connected, then ABF converges in finite amount of time, if conditions are met

ABF Convergence

System State i j where can distance estimate from node j appear?

System State didi dj dijdij dijdij three types of distance estimates from node j: - d j : current distance estimate at node j - d i j : last d j that neighbor i received - d i j : those d j that are still in transit to neighbor i

ABF Convergence r Consider the time when the topology is stabilized as time 0 r U(0) and L(0) provide upper and lower bound at time 0 on all corresponding elements of states  L j (0) ≤ d j ≤ U j (0) for all d j state at node j  L j (0) ≤ d i j ≤ U j (0)  L j (0) ≤ update messages d i j ≤ U j (0)

ABF Convergence rdjrdj m after at least one update at node j: d j falls between L j (1) ≤ d j ≤ U j (1) r d i j : m eventually all d i j that are only bounded by L j (0) and U j (0) are replaced with in L j (1) and U j (1) didi dj dijdij dijdij

Asynchronous Bellman-Ford: Summary r Distributed: each node communicates its routing table to its directly-attached neighbors r Iterative: continues periodically or when link changes, e.g. detects a link failure r Asynchronous: nodes need not exchange info/iterate in lock step! r Convergence in finite steps, independent of initial condition if network is connected

40 Summary: Distributed Distance-Vector r Tool box: a key technique for proving convergence (liveness) of distributed protocols: monotonicity m Consider two configurations d(t) and d’(t): if d(t) <= d’(t), then d(t+1) <= d’(t+1) m Identify two extreme configurations to sandwich any real configurations

Properties of Distance-Vector Algorithms r Good news propagate fast

Properties of Distance-Vector Algorithms r Bad news propagate slowly r This is called the counting-to-infinity problem Question: why does counting-to-infinity happen?

The Reverse-Poison (Split-horizon) Hack A E D CB D () A B C D E distance tables from neighbors destinations computation E’s distance table 1, A 8, B 4, D 2, D distance table E sends to its neighbors distance through neighbor If the path to dest is through neighbor h, report ∞ to neighbor h for dest.

Implementation: RIP ( Routing Information Protocol) r Distance vector r Included in BSD-UNIX Distribution in 1982 r Link cost: 1 r Distance metric: # of hops r Distance vectors m exchanged every 30 sec via Response Message (also called advertisement) using UDP m each advertisement: route to up to 25 destination nets

RIP (Routing Information Protocol) Destination Network Next Router Num. of hops to dest. wA2 yB2 zB7 x--1 ….…..... w xy z A C I B Routing table in I...

RIP: Link Failure and Recovery If no advertisement heard after 180 sec --> neighbor/link declared dead m routes via neighbor invalidated m new advertisements sent to neighbors m neighbors in turn send out new advertisements (if tables changed) m link failure info quickly propagates to entire net m reverse-poison used to prevent ping-pong loops m set infinite distance = 16 hops (why?)

An Example Where Split-horizon Fails