Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Similar documents
CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

5.2 Routing Algorithms

Module 8. Routing. Version 2 ECE, IIT Kharagpur

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

Routing. 4. Mar INF-3190: Switching and Routing

II. Principles of Computer Communications Network and Transport Layer

Routing. Advanced Computer Networks: Routing 1

Chapter 5 (Week 9) The Network Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

Telecommunication Protocols Laboratory Course. Lecture 3

Computer Networks. Routing Algorithms

CEN445 Network Protocols and Algorithms. Chapter 2. Routing Algorithms. Dr. Ridha Ouni

How Routing Algorithms Work

06/02/ Local & Metropolitan Area Networks. Overview. Routing algorithm ACOE322. Lecture 6 Routing

UNIT 2 ROUTING ALGORITHMS

Routing Protocols. The routers in an internet are responsible for receiving and. forwarding IP datagrams through the interconnected set of

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

ETSF05/ETSF10 Internet Protocols Routing on the Internet

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Routing, Routing Algorithms & Protocols

Network Layer, Part 2 Routing. Terminology

CSCE 463/612 Networks and Distributed Processing Spring 2018

Routing in packet-switching networks

Routing in Switched Data Networks

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

Chapter 12. Routing and Routing Protocols 12-1

ICMP, ARP, RARP, IGMP

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

Lecture 4. The Network Layer (cont d)

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2017

COM-208: Computer Networks - Homework 6

IP Routing. Bharat S. Chaudhari International Institute of Information Technology Pune, India

ITEC310 Computer Networks II

DATA COMMUNICATOIN NETWORKING

Lecture 9. Network Layer (cont d) Network Layer 1-1

Routing in a network

Network Layer: Routing

Routing. Jens A Andersson Communication Systems

(Refer Slide Time: 01:08 to 01:25min)

EITF25 Internet Routing. Jens A Andersson

CS 457 Networking and the Internet. Shortest-Path Problem. Dijkstra s Shortest-Path Algorithm 9/29/16. Fall 2016

Exercise Sheet 4. Exercise 1 (Routers, Layer-3-Switches, Gateways)

Routing Protocols. Autonomous System (AS)

Lecture 4 Wide Area Networks - Routing

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

ECE 333: Introduction to Communication Networks Fall 2001

Link-State Routing OSPF

CS 138: Communication I. CS 138 V 1 Copyright 2012 Thomas W. Doeppner. All rights reserved.

Why dynamic route? (1)

C13b: Routing Problem and Algorithms

Routing Unicast routing protocols

Computer Networks. Routing

CS321: Computer Networks Unicast Routing

CSC 4900 Computer Networks: Routing Algorithms

VI. ROUTING. - "routing protocol" nodes exchange information to ensure consistent understanding of paths

CS118 Discussion Week 7. Taqi

Solution of Exercise Sheet 4. Exercise 1 (Routers, Layer-3-Switches, Gateways)

Network layer: Overview. Network layer functions Routing IP Forwarding

ECE 435 Network Engineering Lecture 11

Lecture 12. Introduction to IP Routing. Why introduction? Routing

Chapter 7 : The Network Layer

Chapter 4 Network Layer. Network Layer 4-1

In this edition of HowStuffWorks, we'll find out precisely what information is used by routers in determining where to send a packet.

Chapter 7: Routing Dynamically. Routing & Switching

William Stallings Data and Computer Communications. Chapter 10 Packet Switching

ECE 435 Network Engineering Lecture 11

Redes de Computadores. Shortest Paths in Networks

Internet Routing Protocols Tuba Saltürk

Chapter 4: Network Layer, partb

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

Operating Systems and Networks. Network Lecture 7: Network Layer 2. Adrian Perrig Network Security Group ETH Zürich

Lesson 5-2: Open Shortest Path First Protocol

ICS 351: Today's plan. distance-vector routing game link-state routing OSPF

Computer Networking. Intra-Domain Routing. RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)

COMPSCI 314: IP routing

Chapter 4: Network Layer

Link State Routing & Inter-Domain Routing

Finish Network Layer Start Transport Layer. CS158a Chris Pollett Apr 25, 2007.

Unit 3: Dynamic Routing

Chapter 19 Network Layer: Logical Addressing

William Stallings Data and Computer Communications 7 th Edition. Chapter 12 Routing

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Routing Basics. What is Routing? Routing Components. Path Determination CHAPTER

ICS 351: Today's plan. OSPF BGP Routing in general

BTEC Level 3 Extended Diploma

Basic Idea. Routing. Example. Routing by the Network

Intra-AS Routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

Routing by the Network

CSC 401 Data and Computer Communications Networks

Introduction to Intra-Domain Routing

Network Layer: Routing

Lecture 12: Link-state Routing. Lecture 12 Overview. Router Tasks. CSE 123: Computer Networks Chris Kanich. Routing overview

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

Routing. Problem: Given more than one path from source to destination, Features: Architecture Algorithms Implementation Performance

OSPF Protocol Overview on page 187. OSPF Standards on page 188. OSPF Area Terminology on page 188. OSPF Routing Algorithm on page 190

Routing Algorithms McGraw-Hill The McGraw-Hill Companies, Inc., 2001

Determining IP Routes. 2000, Cisco Systems, Inc. 9-1

Routing Protocol. Seiya Tsubone. Apr The University of Tokyo. Seiya Tsubone (The University of Tokyo) Routing Protocol Apr. 25.

Topic. How to compute shortest paths in a distributed network. The Link-State (LS) approach. then compute. Flood! CSE 461 University of Washington 1

Transcription:

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

22-3 UNICAST ROUTING PROTOCOLS 22.2 A routing table can be either static or dynamic. A static table is one with manual entries. A dynamic table is one that is updated automatically when there is a change somewhere in the Internet. A routing protocol is a combination of rules and procedures that lets routers in the Internet inform each other of changes. Topics discussed in this section: Optimization Intra- and Interdomain Routing Distance Vector Routing and RIP Link State Routing and OSPF Path Vector Routing and BGP

Desirable properties of Routing Algorithms: Correctness (applicable to all) Simplicity (applicable to all) Robustness: able to cope up with changes in topology, load. hardware and software failures Stability (hard to achieve) Converge to equilibrium Fairness (conflicting) Optimality (conflicting) see next fig. Types of Routing Algorithms: Non-Adaptive: Static. Routing decisions computed in advance, off-line and downloaded. Adaptive: Dynamic. Adaptive to the changes in topology and load. Issue here is how to get the information? Locally, From adjacent routers, from all routers?

22.4 Figure 22.12 Autonomous systems

22.5 Figure 22.13 Popular routing protocols

Distance Vector Routing: So far we have studied Static Routing Algorithms. But practically dynamic Routing Algorithms are used. Following two are Dynamic Routing Algorithms: 1. Distance Vector Routing Algorithm. 2. Link State Routing Algorithm. Distance Vector Routing Algorithm: At each step within a router: Get routing tables from neighbours Compute distance to neighbours Compute new routing table 1. Router transmits its distance vector to each of its neighbors. 2. Each router receives and saves the most recently received distance vector from each of its neighbors. 3. A router recalculates its distance vector when: a. It receives a distance vector from a neighbor containing different information than before. b. It discovers that a link to a neighbor has gone down (i.e., a topology change). The DV calculation is based on minimizing the cost to each destination. The distance vector routing algorithm is sometimes called by other names, the distributed Bellman-Ford routing algorithm and the Ford-Fulkerson algorithm.

Distance Vector Routing (a) A subnet. (b) Input from A, I, H, K, and the new routing table for J.

Drawback of Distance Vector Routing: Count to Infinity Problem: It reacts rapidly to good news, But, leisurely to bad news. Updates value fast when neighbor is down, but not when neighbor is again up. How? Lie to neighbour about distance if routing via neighbour The core of the problem is that when X tells Y that it has a path somewhere, Y has no way of knowing whether it itself is on the path? This is how problem is created. It does not take bandwidth into account. Take too long to converge changes in one node to all other nodes. Solution? Link State Routing.

22.9 Figure 22.14 Distance vector routing tables

Figure 22.15 Initialization of tables in distance vector routing 22.10

Note In distance vector routing, each node shares its routing table with its immediate neighbors periodically and when there is a change. 22.11

Figure 22.16 Updating in distance vector routing 22.12

Figure 22.17 Two-node instability 22.13

Figure 22.18 Three-node instability 22.14

Figure 22.19 Example of a domain using RIP 22.15

Link State link states algorithm is an algorithm using global information each node talks with all other nodes, but tell them only the cost of it's directly comparison of some of their attribute Message complexity: With link state, every node has to keep the information about the cost of each link within the network. very times, if any of the link cost is changed, all the nodes are updated. Distance Vector the distance vector algorithm is iterative, asynchronous, and distributed each node talks to only its directly connected neighbors, but provides its neighbor with least cost estimates from itself to all the nodes. Message complexity: with distance vector algorithm, message is exchanged between two hosts which are directly connected to each other. change of cost in the link which is belong to the least cost path for one of the nodes, the DV algorithm will update the new value. But if the change doesn't belong to the least cost part between 2 hosts, there will no updating. Speed of convergence: can converge faster in comparison of later. Speed of convergence: can converge slowly and have routing loops while the algorithm is converging. Such probability is less. Robustness: For LS, when a router is down, it can broadcast a wrong cost for the closest one. LS node is computing for its own forwarding table and other node do the calculation for themselves. Better than DV. DV algorithm also suffers from the count to infinity problem. Robustness: DV, the wrong least cost path can be passed to more than one or all of the node so the wrong calculation will be process in the entire net work. This problem of DV is much worse than LS algorithm.

Link State Routing Each router must do the following: 1. Discover its neighbors, learn their network address. 2. Measure the delay or cost to each of its neighbors. 3. Construct a packet telling all it has just learned. 4. Send this packet to all other routers. 5. Compute the shortest path to every other router. A complete topology is developed. Then Dijkstra s Algorithm can be used to compute the shortest path. Following 5 steps are followed to implement it. 1. Learning about the Neighbors 2. Measuring Line Cost. 3. Building Link State Packets. 4. Distributing the Link State Packets. 5. Computing the New Routes.

Learning about the Neighbors (a) Nine routers and a LAN. (b) A graph model of (a).

Step 1: Learning about the Neighbours: Upon boot of router, Send HELLO packet on each point-to-point line Routers are supposed to send reply with a globally unique name Step 2: Measuring the Line Cost: Measure round-trip delay using ECHO Packet and wait for its reply Take load into account? Yes. Arguments both ways: when choice is given to router having same number of hops from S to D. Yes! preference for unloaded line as shortest path.

Measuring Line Cost A subnet in which the East and West parts are connected by two lines.

Step 3: Building Link State Packets: Packet containing: Identity of sender Sequence number + age For each neighbour: name + distance When to build the link state packets? Periodically when significant events occur See next figure.

Building Link State Packets (a) A subnet. (b) The link state packets for this subnet.

Step 4: Distributing Link State Packets: Distributing link state packets Trickiest part of algorithm Arrival time for packets different How to keep consistent routing tables? Basic algorithm Flooding + Sequence number (in each packet) to limit duplicates. Manageable problems Wrap around of sequence numbers results to wrong data. Solution? Use 32 bit sequence number. Wrong sequence number used in case of : lost in case of crash Corrupted data transmitted. Solution? include the age of each packet after the sequence number and decrement it once per second. When the age hits zero, the information from that router is discarded. duplicates are discarded Old packets are thrown out

Distributing the Link State Packets The packet buffer for router B in the previous slide.

Step 5: Computing new routes: Usage: With a full set of link state packets, a router can: Construct the entire subnet graph Run Dijkstra s algorithm to compute the shortest path to each destination Problems for large subnets Memory to store data Compute time for developing these tables. IS-IS protocol (Intermediate System, Intermediate System) Designed for DECnet(digital equipment corporation network protocol suite), adopted by ISO(international standardization organization), used still in internet. Supports multiple network layer protocols OSPF(Open Shortest Path First) protocol used in Internet Common features: Self-stabilizing method of flooding link state updates Concept of a designated router on a LAN Method of computing and supporting path splitting and multiple metrics. Useful in Multi Protocol Environment.

Figure 22.20 Concept of link state routing 22.26

Figure 22.21 Link state knowledge 22.27

What does it mean to be the shortest (or optimal) route? a. Minimize mean packet delay b. Maximize the network throughput c. Minimize the number of hops along the path Dijkstra algorithm: Each node is labeled (in parentheses) with its distance from the source node along the best known path. Initially, no paths are known, so all nodes are labeled with infinity. As the algorithm proceeds and paths are found, the labels may change, reflecting better paths. A label may be either tentative or permanent. Initially, all labels are tentative. When it is discovered that a label represents the shortest possible path from the source to that node, it is made permanent and never changed thereafter. Now lets see the algorithm which describes this procedure to develop shortest path from source to destination.

Figure 22.22 Dijkstra algorithm 22.29

Figure 22.23 Example of formation of shortest path tree 22.30

22.31 Table 22.2 Routing table for node A

Figure 22.24 Areas in an autonomous system 22.32

Figure 22.25 Types of links 22.33

Figure 22.26 Point-to-point link 22.34

Figure 22.27 Transient link 22.35

Figure 22.28 Stub link 22.36

Figure 22.29 Example of an AS and its graphical representation in OSPF 22.37

Figure 22.30 Initial routing tables in path vector routing 22.38

Figure 22.31 Stabilized tables for three autonomous systems 22.39

Figure 22.32 Internal and external BGP sessions 22.40