OSPF (Open Shortest Path First)

Similar documents
OSPF (Open Shortest Path First)

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

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

Table of Contents 1 OSPF Configuration 1-1

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

Introduction to OSPF

OSPF. Unless otherwise noted, OSPF refers to OSPFv2 throughout this document.

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

Open Shortest Path First (OSPF)

Introduction to OSPF

Introduction to OSPF

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

Cabrillo College. Rick Graziani, Instructor

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

Logging neighbor state changes 38 Configuring OSPF network management 39 Enabling message logging 39 Enabling the advertisement and reception of

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

Routing in the Internet

Chapter 4: Network Layer

Chapter 4: outline. Network Layer 4-1

Topics for This Week

Routing II: Protocols (RIP, EIGRP, OSPF, PNNI, IS-IS): Brief Version

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

Computer Networking Introduction

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

DD2490 p Lecture 4: OSPF. Link-state routing and Open Shortest Path First. Olof Hagsand KTH CSC

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

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

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

CS555, Spring /5/2005. April 12, 2005 No classes attend Senior Design Projects conference. Chapter 4 roadmap. Internet AS Hierarchy

Veryx ATTEST TM. Sample Test cases Overview. Conformance Test Suite. Open Shortest Path First version 2 (OSPFv2)

IT-Operation (2) OSPF. Who am I

Basic Idea. Routing. Example. Routing by the Network

OSPF Demand Circuit Feature

Routing by the Network

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

CSCI Topics: Internet Programming Fall 2008

Which of the following describe the process identifier that is used to run OSPF on a router? (Choose two)

DATA COMMUNICATOIN NETWORKING

Link State. 1 Flooding of link-state information. 5 Routing Table. 3 SPF Algorithm. 2 Building a Topological Database. 4 SPF Tree

TDC 363 Introduction to LANs

Network Working Group. Category: Standards Track Juniper Networks J. Moy Sycamore Networks December 1999

REDDIG II Computer Networking Training

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

Link State & OSPF. Spring 2013 CE Advanced Networks 1

CSC 4900 Computer Networks: Routing Protocols

Chapter IV: Network Layer

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

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

Config. Router# show ip ospf

OSPF. OSPF processs can be enabled on 2 levels

ROUTING CONSORTIUM. Open Shortest Path First (OSPF) Multi-System Interoperability Test Suite. Technical Document. Revision 1.6

IPv6 Routing: OSPFv3

Configuring OSPF. Cisco s OSPF Implementation

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

Chapter 4: Network Layer. TDTS06 Computer networks. Subnets. Subnets. Subnets. IP Addressing: introduction

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

OSPFv2 deep dive. Михайловский Василий Cisco TAC Poland Ноябрь 17, 2015

Lab 4: Routing using OSPF

Configuring OSPF. Finding Feature Information

Symbols. Numerics I N D E X

FiberstoreOS V3.3 IPv6 Routing Command Line Reference

Vanguard Managed Solutions

OSPFv3 Address Families

OSPFv3 Address Families

Configuring OSPF. Finding Feature Information

Juniper Exam JN0-643 Enterprise Routing and Switching, Professional (JNCIP-ENT) Version: 13.0 [ Total Questions: 221 ]

Configuring OSPF. Finding Feature Information. Contents

OSPFv3 Address Families

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

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

Routing. Advanced Computer Networks: Routing 1

CSc 450/550 Computer Networks Internet Routing

FSOS IPv6 Routing Command Line Reference

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

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

FiberstoreOS. IPv6 Routing Command Line Reference

Configuring Networking Protocols

OSPF Routers Connected by a Point to Multipoint Link

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

2001, Cisco Systems, Inc. All rights reserved.

IP Routing Tecnologie e Protocolli per Internet II rev 1

Networkers 2001, Australia

Configuring OSPF with CLI

Chapter 3 Lab 3-2, Multi-Area OSPFv2 and OSPFv3 with Stub Area

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

Routing Protocols. Technology Description BGP CHAPTER

OSPF SNMP ifindex Value for Interface ID in Data Fields

debug ip ospf database external default-metric subnet area 0 stub distribute-list in Serial0/1

Lecture 4. The Network Layer (cont d)

How To Configure Basic OSPFv3 Scenarios

OSPF Virtual Links: Transit capability

4A Alcatel-Lucent. Alcatel-Lucent Interior Routing Protocols and High Availability

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

OSPF Stub Router Advertisement

Explanation: In order to verify proper route redistribution, use the "show ip route" command on all routers

Creating Multiple OSPF Areas. 2001, Cisco Systems, Inc. 6-1

Chapter 8 Configuring OSPF

Sample Configuration for OSPFv3

Transcription:

OSPF (Open Shortest Path First) Open : specification publicly available RFC 1247, RFC 2328 Working group formed in 1988 Goals: Large, heterogeneous internetworks Uses the Link State algorithm Topology map at each node Route computation using Dijkstra s algorithm 1 OSPF Advanced Features (not in RIP) Security: All OSPF messages are authenticated (to prevent malicious intrusion); UDP used Multiple same-cost paths allowed (only one path in RIP) For each link, multiple cost metrics for different TOS (e.g., satellite link cost set low for best effort; high for real time) Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF in large domains. 2 1

OSPFv2: Components Hello Protocol: Who is my neighbor? Designated router/backup designated router (DR/BDR) election: With whom I want to talk? Database Synch: What info am I missing? Reliable flooding alg: How do I distribute info? Route computation From link state database Using Dijkstra s algorithm Supporting equal-cost path routing 3 Neighbor Discovery and Maintenance Hello Protocol Ensures that neighbors can send packets to and receive packets from the other side: bi-directional communication Ensures that neighbors agree on parameters (HelloInterval and RouterDeadInterval) How Hello packet to fixed well-known multicast address Periodic Hellos Broadcast network: Electing designated router 4 2

Some Multicast Addresses 224.0.0.5 AllSPFRouters OSPF- ALL. MCAST. NET 224.0.0.6 AllDRouters OSPF- DSIG. MCAST. NET FF02:: 5 and FF02:: 6, respectively for OSPFv3. While we are at it: 224.0.0.1 ALL- SYSTEMS. MCAST. NET 224.0.0.2 ALL- ROUTERS. MCAST. NET 224.0.0.9 RIP2- ROUTERS. MCAST. NET 224.0.0.10 IGRP- ROUTERS. MCAST. NET Look up some more (with dig x address). 5 Hello Protocol: 3 Phases Down Neighbor is supposed to be dead No communication at all Init I have heard of a Neighbor Uni-directional communication ExStart or TwoWay Communication is bi-directional 6 3

Hello Protocol: Packet 0 1 2 3 01234567890123456789012345678901 Version # 1 Packet length Router ID Area ID Checksum AuType Authentication Authentication Network Mask HelloInterval Options Router Prio RouterDeadInterval Designated Router Backup Designated Router Neighbor A Neighbor B... Hello Interval: 10 seconds (typical default) RouterDeadInterval: 4 * Hello Interval (typical default) 7 OSPF Packet IP Protocol #89 Directly to neighbors using Multicast address TTL 1 Five packet types Hello Database Description Link State Request Link State Update Link State Acknowledgement 8 4

Link State Database Based on link-state technology Local view of topology in a database Database Consists of Link State Advertisements (LSA) LSA: data unit describing local state of a network/router) Must kept synchronized to react to routing failures 9 Example Network 10.1.1.1 10.1.1.2 10.1.1.4 10.1.1.6 10.1.1.3 10.1.1.5 10 5

Link State Database: Example LS-Type Link State ID Adv. Router Checksum Seq. No. Age Router-LSA Router-LSA Router-LSA Router-LSA Router-LSA Router-LSA 10.1.1.1 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 10.1.1.6 10.1.1.1 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 10.1.1.6 0x9b47 0x219e 0x6b53 0xe39a 0xd2a6 0x05c3 0x80000006 0x80000007 0x80000003 0x8000003a 0x80000038 0x80000005 0 1618 1712 20 18 1680 11 LSAs Consists of a Header and a Body Header size is 20 Byte and consists of 0 1 2 3 01234567890123456789012345678901 LS Age Options LS Type Link State ID Advertising Router LS sequence number LS Checksum Length 12 6

LSAs (2.) Identifying LSAs LS Type Field Link State ID Field Advertising Router Field Verifying LSA Contents LS Checksum Field Identifying LSA Instances (keeping in mind that the topology changes) LS Sequence Number Field Linear sequence space Max Seq new instance 13 LSAs (3.) LS Age Field (to ensure consistency) Goal: new sequence number every 30 minutes Maximum value 1 hour Age > 1 hour invalid removal Enables premature aging Ensures removal of outdated information 14 7

Example LSA: Router-LSA 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 LS Age Options LS Type Link State ID Advertising Router LS sequence number LS Checksum Length 0 V E B 0 # Link Link ID Link Data Type # TOS Metric... 15 Example: Router LSA Link-Cost: integers (configured) 32 Bits 8 8 8 8 Alter = 0 Optionen Typ = 1 Link State ID = 10.1.1.1 Advertising Router = 10.1.1.1 Sequence Number = 0x80000006 Checksum = 0x9b47 Length = 60 00000 0 0 0 0x00 Number of Links = 3 Link ID =10.1.1.2 Link Data = Interf. Index 1 Link Typ = 1 # TOS = 0 Link-Cost = 3 Link ID =10.1.1.3 Link Data = Interf. Index 2 Link Typ = 1 # TOS = 0 Link-Cost = 5 Link ID =10.1.1.1 Link Data = 255.255.255.255 Link Typ = 3 # TOS = 0 Link-Cost = 0 Link Typ 1: Peer-to-peer Link Typ 3: Stub Network 16 8

Link-State Database (2.) Is the database synchronized? Same number of LSAs? Sums of LSA LS Checksums are equal? 17 Database Synchronization Central aspect: all routers need to have identical databases! 2 types of synchronization Initial synchronization After hello Continuous synchronization Flooding 18 9

Initial Synchronization Explicit transfer of the database upon establishment of neighbor ship Once bi-directional communication exists Send all LS header from database to neighbor OSPF database description packets (DD pkt) Flood all future LSA s 19 Initial Synchronization (2.) Database description (DD) exchange Only one DD at a time Wait for Ack Control of DD exchange Determine Master/Slave for DD exchange Determine which LSA s are missing in own DB Request those via link state request packets Neighbor sends these in link state update packets Result: Fully adjacent OSPF neighbors 20 10

Example: Database Synchronization 10.1.1.4 10.1.1.6 OSPF Hello OSPF Hello: I heard 10.1.1.6 Database Description: Sequence = x DD: Sequence = x, 5 LSA Headers = (router-lsa, 10.1.1.1, 0x80000004), (router-lsa, 10.1.1.2, 0x80000007), (router-lsa, 10.1.1.3, 0x80000003), (router-lsa, 10.1.1.4, 0x8000003b), (router-lsa, 10.1.1.5, 0x80000039), (router-lsa, 10.1.1.6, 0x80000005) DD: Sequence = x+1, 1 LSA Header = (router-lsa, 10.1.1.6, 0x80000001) Router from previous example are synchronized 10.1.1.6 is restarted DD: Sequence = x+1 21 Reliable Flooding 10.1.1.1 10.1.1.2 10.1.1.4 10.1.1.6 10.1.1.3 10.1.1.5 10.1.1.3 sends LS Update Same copy of an LSA is an implicit Ack Use delayed Acks All LSAs must be acknowledged either implicit or explicit 22 11

Robustness of Flooding More robust than a spanning tree LSA refreshes every 30 minutes LSAs have checksums LSAs are aged LSAs cannot be send at arbitrary rate: there are timers 23 OSPF LSA Timers MinLSArrival MinLSInterval CheckAge MaxAgeDiff LSRefreshTime MaxAge 1 second 5 seconds 5 minutes 15 minutes 30 minutes 1 hour 24 12

Calculation of routing table Link state database is a directed graph with costs for each link Dijkstra s SPF algorithms Add all routers to shortest-path-tree Add all neighbors to candidate list Add routers with the smallest cost to tree Add neighbors of this router to candidate list If not yet on it If cost smaller Continue until candidate list empty 25 Example 10.1.1.1 10.1.1.2 10.1.1.4 3 1 6 10.1.1.6 3 1 6 5 3 3 10 5 3 3 10 1 10.1.1.3 1 10.1.1.5 a. 10.1.1.5 (1, 10.1.1.5) 10.1.1.2 (3, 10.1.1.2) 10.1.1.1 (5, 10.1.1.1) b. 10.1.1.2 (3, 10.1.1.2) 10.1.1.4 (4, 10.1.1.5) 10.1.1.1 10.1.1.2 1 10.1.1.4 6 10.1.1.6 10.1.1.1 (5, 10.1.1.1) e. 10.1.1.6 (11, 10.1.1.5) d. f. c. c. 10.1.1.4 (4, 10.1.1.5/2) 5 3 3 10.1.1.1 (5, 10.1.1.1) 10.1.1.6 (11, 10.1.1.5) 10.1.1.3 a. 1 b. 10.1.1.5 d. 10.1.1.1 (5, 10.1.1.1) 10.1.1.6 (10, 10.1.1.5/2) e. 10.1.1.6 (10, 10.1.1.5/2) f. Liste leer. 26 13

Network Types So far only point-to-point Many other technologies Specific requirements for OSPF Neighbor relations Synchronization Representation in DB Kinds Point-to-point Broadcast Nonbroadcast multiaccess Point-to-multipoint 27 Adjacencies on Broadcast Networks A C E B D A C B D E If n routers are on a broadcast link, n(n-1)/2 adjacencies can be formed. 28 14

Adjacencies (2.) If routers formed pair wise adjacencies: Each would originate (n-1)+1=n LSAs for the link. Out of the network, n 2 LSAs would be emanating. Routers also send received LSAs to their neighbors (n-1) copies of each LSA present on the network Even with multicast: (n-1) responses Solution: elect Designated Router (DR) Routers form adjacencies only with DR: Link acts as a (multi-interface) virtual router to the rest of the area 29 Designated Router Election When router joins: Listen to hellos; if DR and BDR advertised, accept them All Hello packets agree on who the DR and BDR are Status quo is not disturbed If there is no elected BDR, router with highest priority becomes BDR Ties are broken by highest RouterID RouterIDs are unique (IP address of interface) If there is no DR, BDR is promoted to DR Elect new BDR 30 15

Network LSA s A network LSA represents a broadcast subnet Router LSA s have links to network LSA Reduction of links DR responsible for network LSA Link State ID = IP-address of DR 31 Hierarchical OSPF 32 16

Hierarchical OSPF Two-level hierarchy: local area and backbone. Link-state advertisements do not leave respective areas. Nodes in each area have detailed area topology; they only know direction (shortest path) to networks in other areas. Area Border routers: summarize distances to networks in the area and advertise them to other Area Border routers. Backbone routers: run an OSPF routing algorithm limited to the backbone. Boundary routers: connect to other ASs. 33 Areas An AS (or Routing Domain) is divided into areas. Group of routers Close to each other. Reduce the extend of LSA flooding Intra-area traffic Inter-area traffic External traffic: injected from a different AS OSPF requires a backbone area (Area 0) Routing between areas only via backbone area Strict area hierarchy (no loops allowed) 34 17

Area Partitions Link and router failures can cause areas to be partitioned Some partitions are healed automatically Some need manual intervention. Virtual Links. Isolated area: link failure results in no path to the rest of the network Obviously, cannot be healed at all. Redundancy is important! 35 OSPF: Summary Neighbors Discovery Maintenance Database Granularity Maintenance Synchronization Routing table Metric Calculation Multicast group Hello protocol Link state advertisements (LSA) LSA-updates flooding protocol Synchronization protocol Fixed values Local shortest path calculation 36 18