CompSci 356: Computer Network Architectures. Lecture 13: Dynamic routing protocols: Link State Chapter 3.3.3, Xiaowei Yang

Similar documents
CompSci 356: Computer Network Architectures. Lecture 12: Dynamic routing protocols: Link State Chapter Xiaowei Yang

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

Basic Idea. Routing. Example. Routing by the Network

Routing by the Network

Routing. Advanced Computer Networks: Routing 1

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

Open Shortest Path First (OSPF)

CSc 450/550 Computer Networks Internet Routing

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

Routing in the Internet

Chapter 4: Advanced Internetworking. Networking CS 3470, Section 1

C13b: Routing Problem and Algorithms

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

Routing Protocols. Autonomous System (AS)

Computer Networking Introduction

DD2490 p Link-state routing and OSPF. Olof Hagsand KTH/CSC

Link State Routing. Link State Packets. Link State Protocol. Link State Protocols Basic ideas Problems and pitfalls

DD2490 p Link state routing and OSPF. Olof Hagsand KTH/CSC

Chapter 4: outline. Network Layer 4-1

Overview 4.2: Routing

OSPF (Open Shortest Path First)

Routing. Outline. Algorithms Scalability

Introduction to OSPF

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

OSPF (Open Shortest Path First)

BGP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

DD2490 p Link-state routing and OSPF. Olof Hagsand KTH/CSC

Topics for This Week

Link State Routing. Link State Packets. Link State Protocol. Link State Protocols Basic ideas Problems and pitfalls

Chapter 4: Network Layer

Lecture 9. Reminder: Homework 3, Programming Project 2 due today. Questions? Thursday, September 22 CS 475 Networks - Lecture 9 1

Network Layer: Routing

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

ICS 351: Today's plan. OSPF BGP Routing in general routing protocol comparison encapsulation network dynamics

OSPF Commands. Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols IP2R-61

OSPF Virtual Link. Contents. Prerequisites. Document ID: Requirements. Components Used

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

Introduction to OSPF OSPF. Link State Routing. Link State. Fast Convergence. Low Bandwidth Utilisation

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

Address Translation. Map IP addresses into physical addresses destination host next hop router

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

Routing. Routing. Overview. Overview. Routing vs. Forwarding. Why Routing

BTEC Level 3 Extended Diploma

Introduction to OSPF

HY 335 Φροντιστήριο 8 ο

Unit 3: Dynamic Routing

Chapter 16 OSPF Version 3 Commands

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

Table of Contents 1 Static Routing Configuration RIP Configuration 2-1

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

ICMP, ARP, RARP, IGMP

Routing Protocols of IGP. Koji OKAMURA Kyushu University, Japan

Table of Contents 1 OSPF Configuration 1-1

Internetworking Part 2

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

Announcements. CS 5565 Network Architecture and Protocols. Project 2B. Project 2B. Project 2B: Under the hood. Routing Algorithms

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

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

Network Protocols. Routing. TDC375 Winter 2002 John Kristoff - DePaul University 1

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Why dynamic route? (1)

Internet Routing Protocols Tuba Saltürk

Configuring OSPF network management 39 Enabling message logging 39 Enabling the advertisement and reception of opaque LSAs 40 Configuring OSPF to

CS 356: Computer Network Architectures. Lecture 15: DHCP, NAT, and IPv6. [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3

OSPF. About OSPF. CLI Book 1: Cisco ASA Series General Operations CLI Configuration Guide, 9.4 1

CCNA 3 (v v6.0) Chapter 5 Exam Answers % Full

Introduction to OSPF

Operation Manual Routing Protocol. Table of Contents

Youki Kadobayashi NAIST

Routing in Internet. Problem. Given set of nodes, how do routers acquire info about neighbors to construct the routing tables?

Network Protocols. Routing. TDC375 Autumn 03/04 John Kristoff - DePaul University 1

Configuring OSPF. Cisco s OSPF Implementation

Introduction to IS-IS

OSPF. OSPF processs can be enabled on 2 levels

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

Unicast Routing. TCP/IP class

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

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

Routing in a network

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Interior Routing Protocols and High Availability.

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

DATA COMMUNICATOIN NETWORKING

Routing Protocol - IS-IS

Chapter 4: Network Layer, partb

Redesde Computadores(RCOMP)

Chapter 15 OSPF Commands

Top-Down Network Design

Link State & OSPF. Spring 2013 CE Advanced Networks 1

Helsinki University of Technology Telecommunications Laboratory. OSPF Routing Protocol Licenciate course seminar paper

Operation Manual IPv4 Routing H3C S3610&S5510 Series Ethernet Switches. Table of Contents

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSC 4900 Computer Networks: Routing Protocols

Lecture 19: Network Layer Routing in the Internet

Module 8. Routing. Version 2 ECE, IIT Kharagpur

Chapter 8 Configuring OSPF

Configuring Networking Protocols

OSPF Demand Circuit Feature

Inter-Domain Routing: BGP

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

Transcription:

CompSci 356: Computer Network Architectures Lecture 13: Dynamic routing protocols: Link State Chapter 3.3.3, 3.2.9 Xiaowei Yang xwy@cs.duke.edu

Today Clarification on RIP Link-state routing Algorithm Protocol: Open shortest path first (OSPF) IP tunnels

Will a router s routing table keep growing if we run RIP over time?

Autonomous systems Ethernet Ethernet Autonomous System 1 Router Ethernet Router Router Router Ethernet Ethernet Router Autonomous System 2 Router Ethernet Aggregate routers into regions, autonomous systems (AS) or domain Routers in the same AS run the same routing protocol intra-as or intra-domain routing protocol routers in different AS can run different intra-as routing protocol

Distance Vector vs. Link State Routing DV only sees next hop direction Node A: to reach F go to B Node B: to reach F go to D Node D: to reach F go to E Node E: go directly to F Wrong directions lead to wrong routes Count to infinity A B C D E F

Distance Vector vs. Link State Routing In link state routing, each node has a complete map of the topology A B C A B C A B C If a node fails, each node can calculate the new route Challenge: All nodes need to have a consistent view of the network D E F D E F D E F A B C D E F A B C A B C A B C D E F D E F D E F 6

Link State Routing: Basic operations 1. Each router establishes link adjacency 2. Each router generates a link state advertisement (LSA), and floods it to the network 3. Each router maintains a database of all received LSAs (topological database or link state database 4. Each router runs the Dijkstra s algorithm 7

Link state routing: graphical illustration 3 b 1 2 a c d a s view 3 b 6 Collecting all pieces yield a complete view of the network! a 6 c d s view b s view 3 b 1 2 a c c d c s view b 1 a c d 6 8

Operation of a Link State Routing protocol Received LSPs Link State Database Dijkstra s Algorithm IP Routing Table LSPs are flooded to other interfaces 9

Reliable flooding We ve learned a flooding algorithm used by Ethernet switches Question: why is it insufficient for link-state routing? Lost LSAs may result in inconsistent topologies at different routers Inconsistent topologies may lead to routing loops

Reliable flooding LSPs are transmitted reliably between adjacent routers ACK and retransmission For a node x, if it receives an LSA sent by y Stores LSA(y) if it does not have a copy Otherwise, compares SeqNo. If newer, store; otherwise discard If a new LSA(y), floods LSA(y) to all neighbors except the incoming neighbor

An example of reliable flooding

When to flood an LSP Triggered if a link s state has changed Detecting failure Neighbors exchange hello messages If not receiving hello, assume dead Periodic generating a new LSA Fault tolerance (what if LSA in memory is corrupted?

Path computation Dijkstra s Shortest Path Algorithm for a Graph Input: Graph (N,E) with N the set of nodes and E the set of edges c vw link cost (c vw = if (v,w) Ï E, c vv = 0) s source node. Output: D n cost of the least-cost path from node s to node n M = {s}; for each n Ï M D n = c sn ; while (M ¹ all nodes) do Find w Ï M for which D w = min{d j ; j Ï M}; Add w to M; for each neighbor n of w and n Ï M D n = min[ D n, D w + c wn ]; Update route; enddo

Practical Implementation: forward search algorithm More efficient: extracting min from a smaller set rather than the entire graph Two lists: Tentative and Confirmed Each entry: (destination, cost, nexthop) 1. Confirmed = {(s,0,s)} 2. Let Next = Confirmed.last 3. For each Nbr of Next Cost = myànext + Next à Nbr If Neighbor not in Confirmed or Tentative Add (Nbr, Cost, my.nexthop(next)) to Tentative If Nbr is in Tentative, and Cost is less than Nbr.Cost, update Nbr.Cost to Cost 4. If Tentative not empty, pick the entry with smallest cost in Tentative and move it to Confirmed, and return to Step 2 Pick the smallest cost from a smaller list Tentative, rather than the rest of the graph

Step Confirmed Tentative 1 (D,0,-) 2 3 4 5 6 7

Step Confirmed Tentative 1 (D,0,-) 2 (D,0,-) (B,11,B), (C,2,C) 3 (D,0,-), (C,2,C) (B,11,B) 4 (D,0,-), (C,2,C) (B,5,C) (A,12,C) 5 (D,0,-), (C,2,C), (B,5,C) (A,12,C) 6 (D,0,-),(C,2,C),(B,5,C) (A,10,C) 7 (D,0,-),(C,2,C),(B,5,C), (A,10,C)

OSPF OSPF = Open Shortest Path First Open stands for open, non-proprietary A link state routing protocol The complexity of OSPF is significant RIP (RFC 2453 ~ 40 pages) OSPF (RFC 2328 ~ 250 pages) History: 1989: RFC 1131 OSPF Version 1 1991: RFC1247 OSPF Version 2 1994: RFC 1583 OSPF Version 2 (revised) 1997: RFC 2178 OSPF Version 2 (revised) 1998: RFC 2328 OSPF Version 2 (current version)

Features of OSPF Provides authentication of routing messages Similar to RIP 2 Allows hierarchical routing Divide a domain into sub-areas Enables load balancing by allowing traffic to be split evenly across routes with equal cost

OSPF Packet Format IP header OSPF Message OSPF packets are not carried as UDP payload! OSPF has its own IP protocol number: 89 OSPF Message Header Message Type Specific Data Body of OSPF Message... LSA LSA... LSA TTL: set to 1 (in most cases) LSA Header LSA Data Destination IP: neighbor s IP address or 224.0.0.5 (ALLSPFRouters) or 224.0.0.6 (AllDRouters) Link state advertisement

OSPF Common header 2: current version is OSPF V2 OSPF Message Header Message types: 1: Hello (tests reachability) 2: Database description 3: Link Status request 4: Link state update 5: Link state acknowledgement Standard IP checksum taken over entire packet Body of OSPF Message version type message length source router IP address Area ID checksum authentication type authentication authentication 32 bits ID of the Area from which the packet originated 0: no authentication 1: Cleartext password 2: MD5 checksum (added to end packet) Authentication passwd = 1: Authentication passwd = 2: 64 cleartext password 0x0000 (16 bits) KeyID (8 bits) Length of MD5 checksum (8 bits) Nondecreasing sequence number (32 bits) Prevents replay attacks

OSPF LSA Format LSA Link Age Link Type LSAs LSA Header LSA Data Type 1: cost of links between routers Type 2: networks to which the router connects Others: hierarchical routing LSA Header Link 1 Link 2 Link State ID advertising router link state sequence number checksum length Link ID Link Data Link Type Link Type #TOS metrics #TOS metrics Link ID Link Data Metric Metric

Type 1 LSA Link state ID and Advertising router are the same, 32-bit router ID Link ID: router ID at the other end of the link Link Data: identify parallel links Metric: cost of the link Type: types of the link e.g., point-to-point

Open question How to set link metrics? Design choice 1: all to 1 Design choice 2: based on load Problems? In practice: static

Hierarchical OSPF

Hierarchical OSPF Two-level hierarchy: local area, backbone. Link-state advertisements only in area Each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. Area border routers: summarize distances to nets in own area, advertise to other Area Border routers. Backbone routers: run OSPF routing limited 26 to backbone.

Scalability and Optimal Routing A frequent tradeoff in network design Hierarchy introduces information hiding ABR

OSPF summary A link-state routing protocol Each node has a map of the network and uses Dijkstra to compute shortest paths Nodes use reliable flooding to keep an identical copy of the network map

Today Clarification on RIP Link-state routing Algorithm Protocol: Open shortest path first (OSPF) IP tunnels

IP tunnels Tunnels A technique used in many scenarios VPN, IPv4-v6 transition, Mobile IP, Multicast, Non-IP forwarding, IPsec

What is a tunnel 12.3.0.1 18.5.0.1 10/8 20/8 0 R1 1 R2 10.0.0.1 12.3.0.1 20.0.0.1 18.5.0.1 10.0.0.1 10.0.0.1 20.0.0.1 20.0.0.1 A pseudowire, or a virtual point-to-point link The head router encapsulates a packet in an outer header destined to the tail router

Virtual interface A router adds a tunnel header for packets sent to a virtual interface NetworkNum nexthop 10/8 ether0 20/8 tun0 0/0 ether1

Tunnel applications Traversing a region of network with a different addressing format or with insufficient routing knowledge Building virtual private networks

FIGURE 3.26 An example of virtual private networks: (a) two separate private networks; (b) two virtual private networks sharing common switches. Chapter 3 Copyright 2012, Elsevier Inc. All rights Reserved

IPv4-v6 transition IPv6 R1 IPv4 R2 IPv6 IPv6 IPv4 IPv6 IPv6

Generic Routing Encapsulation (GRE) Defined in RFC 2784 and updated by RFC 2890

Today Clarification on RIP Link-state routing Algorithm Protocol: Open shortest path first (OSPF) IP tunnels Next: BGP