45
Open Shortest Path First Protocol (OSPF) Sudarshan Vasudevan [email protected]

Open Shortest Path First Protocol (OSPF)

  • Upload
    venus

  • View
    64

  • Download
    2

Embed Size (px)

DESCRIPTION

Open Shortest Path First Protocol (OSPF). Sudarshan Vasudevan [email protected]. Overview. Introduction Motivation OSPF Basics Hierarchical Routing in OSPF Summary. Introduction. Development began in 1987 OSPF Working Group (part of IETF) OSPFv2 first established in 1991 - PowerPoint PPT Presentation

Citation preview

Page 1: Open Shortest Path First Protocol (OSPF)

Open Shortest Path First Protocol(OSPF)

Sudarshan [email protected]

Page 2: Open Shortest Path First Protocol (OSPF)

Overview

• Introduction

• Motivation

• OSPF Basics

• Hierarchical Routing in OSPF

• Summary

Page 3: Open Shortest Path First Protocol (OSPF)

Introduction

• Development began in 1987

• OSPF Working Group (part of IETF)

• OSPFv2 first established in 1991

• Many new features added since then

• Updated OSPFv2 specification in RFC 2178

Page 4: Open Shortest Path First Protocol (OSPF)

Motivation

• Original IGP used was RIP

• Based on Bellman-Ford Algorithm

• Worked well in small systems

• Suffered from problems of Distance Vector Protocol– Count to Infinity Problem– Slow Convergence

Page 5: Open Shortest Path First Protocol (OSPF)

Motivation

• Problems with Distance Vector Protocol– Large update packets– Slow response to topological changes

• Need for a Link State Protocol

• A long list of functional requirements follows

Page 6: Open Shortest Path First Protocol (OSPF)

Functional Requirements of OSPF

• Faster Convergence and less consumption of network resources

• A more descriptive routing metric– configurable – value ranges between 1 and 65,535– no restriction on network diameters

• Equal-cost multipath– a way to do load balancing

Page 7: Open Shortest Path First Protocol (OSPF)

Functional Requirements(contd.)

• Routing Hierarchy– support large routing domains

• Separate internal and external routes• Support of flexible subnetting schemes

– route to arbitrary [address,mask] combinations using VLSMs

• Security• Type of Service Routing

Page 8: Open Shortest Path First Protocol (OSPF)

OSPF Basicsthe essence

• Distributed, replicated database model– describes complete routing topology

• Link state advertisements– carry local piece of routing topology

• Distribution of LSAs using reliable flooding

• Link state database– identical for all the routers

Page 9: Open Shortest Path First Protocol (OSPF)

Link State Advertisements(LSAs)

LS Age

Options LS Type

Link State ID

Advertising Router

LS Sequence Number

LS Checksum

Length

LSA Header

0 16

Page 10: Open Shortest Path First Protocol (OSPF)

LSAs contd.

• Identifying LSAs– LS type field– Link State ID field

• mostly carries addressing information

• e.g. IP address of externally reachable network

– Advertising Router field• originating router’s OSPF router ID

Page 11: Open Shortest Path First Protocol (OSPF)

LSAs contd.

• Identifying LSA instances– needed to update self-originated LSAs– LS Sequence Number field

• 32 bit values

• monotonically increasing until some max value

• 600 years to roll over!

• LSA checksum and LS Age guard against potential problems

Page 12: Open Shortest Path First Protocol (OSPF)

LSAs contd.

• Verifying LSA contents– LS Checksum field

• computed by the originating router and left unchanged thereafter

• LS age field not included in checksum

• Removing LSAs from databases– LS Age field

• ranges from 0 to 30 min.• Max Age LSAs used to delete outdated LSAs

Page 13: Open Shortest Path First Protocol (OSPF)

LSAs contd.

• Other LSA Header fields– Options field

• sometimes used to give special treatment during flooding or routing calculations

– Length field• includes LSA header and contents

• ranges from 20-65535 bytes

Page 14: Open Shortest Path First Protocol (OSPF)

Sample Router LSA

10.1.1.1 10.1.1.2 10.1.1.4 10.1.1.6

10.1.1.3 10.1.1.5

Page 15: Open Shortest Path First Protocol (OSPF)

Sample Router LSA contd..

LS Age

Options LS Type

Link State ID

Advertising Router

LS Sequence Number

LS Checksum

Length

Router Type 0

# of links

Link ID

Link Data

Link Type #TOS Metrics

Metric

0 seconds

E-bit,LS Type 1

10.1.1.1

10.1.1.1

0x80000006

0x9b47

60 bytes

0 (ordinary)

3

10.1.1.3

Ifindex 2 (unnumbered link)

1(point to point), 0

5

Link 1

Page 16: Open Shortest Path First Protocol (OSPF)

Link State Database

• Collection of all OSPF LSAs

• databases exchanged between neighbors

• synchronization thru reliable flooding

• gives the complete routing topology

• each OSPF router has identical link-state database

Page 17: Open Shortest Path First Protocol (OSPF)

Link State Database contd..

• Example of a link state database

LS Type Link State ID Adv Router LS Checksum LS Seq No LS Age

Router LSA 10.1.1.1 10.1.1.1 0x9b47 0x80000006 0

….. …... ….. ….. …. …...

Page 18: Open Shortest Path First Protocol (OSPF)

Communication between OSPF Routers

• OSPF packets encapsulated in IP packets– standard 24 byte header

– OSPF packet type field

– OSPF router ID of sender

– Packet checksum

– Authentication fields

– OSPF Area ID

Page 19: Open Shortest Path First Protocol (OSPF)

Neighbor Discovery and Maintenance

• OSPF Hello Protocol• Hello packets sent out every 10 seconds• helps to detect failed neighbors• RouterDeadInterval (default 40 seconds)• also ensures that link is bidirectional• neighboring routers agree on intervals

– hello interval set so that a link is not accidentally brought down

Page 20: Open Shortest Path First Protocol (OSPF)

Database Synchronization

• Crucial to ensure correct and loop free routing• must be done before 2 neighbors start

communication• also whenever new LSAs are introduced

– uses reliable flooding

• each router sends LSA headers to its neighbor when connection comes up

• requests only those LSAs which are recent

Page 21: Open Shortest Path First Protocol (OSPF)

Database Exchange

• Neighboring routers first exchange hellos• a database description packet packet establishes the

sequence number• the other router sends LSA headers• sequence number incremented for every pair od

database description packets – implicit acknowledgement for the previous pair

• after examining LSA headers explicit request sent for complete LSAs

Page 22: Open Shortest Path First Protocol (OSPF)

Reliable Flooding

• Starts when a router wants to update self-originated LSAs

• Link State Update packets• Neighbor installs more recent LSAs into its

database• floods out on all interfaces except the one on

which it arrived• reliability-retransmissions until acks received

Page 23: Open Shortest Path First Protocol (OSPF)

Reliable Flooding (contd..)

10.1.1.1 10.1.1.2 10.1.1.4 10.1.1.6

10.1.1.3 10.1.1.5

Time T1

uu

u

Page 24: Open Shortest Path First Protocol (OSPF)

Reliable Flooding (contd..)

10.1.1.1 10.1.1.2 10.1.1.4 10.1.1.6

10.1.1.3 10.1.1.5

Time T2u

uu

u

u

Page 25: Open Shortest Path First Protocol (OSPF)

Reliable Flooding (contd..)

10.1.1.1 10.1.1.2 10.1.1.4 10.1.1.6

10.1.1.3 10.1.1.5

Time T3

u

u

Page 26: Open Shortest Path First Protocol (OSPF)

Reliable Flooding (contd..)

10.1.1.1 10.1.1.2 10.1.1.4 10.1.1.6

10.1.1.3 10.1.1.5

Time T3+

ack ack ack ack

ack

Page 27: Open Shortest Path First Protocol (OSPF)

Reliable Flooding(contd..)

• Robustness– updates flooded over all the links , so failure of any link

doesn’t affect database synchronization

– LSAs refreshed every 30 minutes

– LSA checksum field detects corruption

– flooding loops avoided by LS Age field

– MinLSInterval limits rate of LSA origination

– Receivers can refuse to accept LSA updates if they received an update less than a second ago

Page 28: Open Shortest Path First Protocol (OSPF)

Routing Calculations

• Link costs configurable by administrator• Smaller values for more preferred links• must make sense to add link costs• different costs for each link direction possible• Dijkstra’s shortest path algorithm

– incrementally calculates tree of shortest paths

– each link in the network examined once

– computes multiple shortest paths (equal-cost multipath)

Page 29: Open Shortest Path First Protocol (OSPF)

Hierarchical Routing

• Technique used to build large networks• minimizes consumption of network resources such

as – router memory

– router computing resources

– link bandwidth

• with flat routing linear increase in routing table size

• with hierarchical, size increases logarithmically

Page 30: Open Shortest Path First Protocol (OSPF)

an example

10.3.3

10.3.1 10.3.2

10.1.3

10.1.1 10.1.2

10.2.3

10.2.1 10.2.2

10.0.0.0/8

10.1

10.3

10.2

Page 31: Open Shortest Path First Protocol (OSPF)

example contd..

• Consider a router in 10.1.1• assume 16 entries in each of the first level partitions• with flat routing, 9*16 = 144 entries/router• with 3 level hierarchy, the router has 16 entries

within 10.1.1.0/24 + entries for 10.1.2.0/24, 10.1.3.0/24,10.1.0.0/16 for a total of 19 entries.

• Marked reduction in routing table size• but might lead to suboptimal routing

Page 32: Open Shortest Path First Protocol (OSPF)

OSPF Areas

• Two-level hierarchical routing scheme through the use of areas

• areas identified by 32-bit id• each area has its own link state database which is a

collection of network-LSAs and router-LSAs• area’s topology hidden from all other areas• interconnection of areas through area border

routers (ABRs) • ABR leaks IP addressing information to other

areas through summary LSAs

Page 33: Open Shortest Path First Protocol (OSPF)

Sample Area Configuration

A

B C

D

G

H F

E

I J

AA 1

2 2

1 1

3 3

1 3 1

10.2.1.0/24 10.2.2.0/24

Area 0.0.0.1

10.1.2.0/24

10.1.1.0/24

Area 0.0.0.2

3

3

1

1

3

3

31

1

10.3.7.0/24

10.8.2.0/24

Area 0.0.0.3

Area 0.0.0.01

Page 34: Open Shortest Path First Protocol (OSPF)

OSPF Areas contd..

• Example of Summary LSA(router B)

LS Age

Options LS Type

Link State ID

Advertising Router

LS Sequence Number

LS Checksum

Length

Network Mask

TOSMetric

0

0x2, Type 3(summary-LSA)

10.2.0.0

Router B’s router ID

0x80000001

28 bytes

255.255.0.0

TOS 0 (normal)Cost of 7

Page 35: Open Shortest Path First Protocol (OSPF)

OSPF Areas contd..

• Reduction in link state databases of an area• reduction in amount of flooding traffic needed for

synchronization• reduction in the cost of the shortest path

calculations• increased robustness• routing protection• Hidden prefixes

Page 36: Open Shortest Path First Protocol (OSPF)

Area Organization

• All the areas are connected to area 0.0.0.0 also called the backbone area

• need not have a direct physical connection though– virtual links provide logical link to backbone

– summary LSAs tunneled across non backbone areas

• exchange of routing information between areas using Distance Vector Protocol– absence of redundant paths between areas

– not subject to convergence problems

Page 37: Open Shortest Path First Protocol (OSPF)

Incorporating external routing information

• Special routers called AS boundary routers at the edge of OSPF domain

• ASBRs originate AS-External LSAs

• only routes for which the choice of an ASBR makes sense are imported

• otherwise default routes are used

• AS external LSAs similar to Summary LSAs with 2 additional fields– Forwarding address

– external route tag

Page 38: Open Shortest Path First Protocol (OSPF)

Interaction with areas

• AS-External LSAs flooded across borders• ASBR summary LSAs used to know the location

of the originator of AS-External LSA• Link State ID of ASBR Summary LSA set to the

OSPF router ID of the ASBR whose location is advertised

• similar to summary LSA in all other respects

Page 39: Open Shortest Path First Protocol (OSPF)

OSPF Area Types

• Restrict the amount of external routing information within an area

• used when resources especially router memory is very limited

• two types of restricted areas– Stub Areas

– NSSAs or Not-So-Stubby-Areas

Page 40: Open Shortest Path First Protocol (OSPF)

OSPF Area Types

• Stub Areas– don’t support ASBRs and hence no AS-External-LSAs– routing to external destinations based on default routes

originated by the area’s border routers– summary LSAs also made optional– must lie on the edge of OSPF routing domain– inter-area routing may also be based on default routes– improved scaling– but not preferred due to the possibility of suboptimal

routes

Page 41: Open Shortest Path First Protocol (OSPF)

OSPF Area Types contd..

• NSSAs– import small amount of routing information

– this information flooded to other areas by the NSSA Border router

– Use Type-7 LSAs to import external routing information

– translated into AS-External-LSA at the NSSA Border

– one-way filter

Page 42: Open Shortest Path First Protocol (OSPF)

Summary

• Why OSPF is needed in the Internet?• The basics of the protocol

– The Link state Advertisements

– Neighbor Discovery (Hello Protocol)

– Database Synchronization and reliable flooding

• Hierarchical Routing in OSPF– OSPF Areas and Area Organization

– Interaction with External Routing Information

– OSPF Area Types viz. Stub Areas and NSSAs

Page 43: Open Shortest Path First Protocol (OSPF)

Issues not covered

• OSPF Network Types– Broadcast subnets

– NBMA Subnets

• OSPF Extensions• Multicast Routing using OSPF (MOSPF)• OSPF Management• and a whole lot of others!

Page 44: Open Shortest Path First Protocol (OSPF)

Further Reading

• John T. Moy, OSPF - An Anatomy of an Internet Routing Protocol

• Christian Huitema, Routing in the Internet• RFC 2178

Page 45: Open Shortest Path First Protocol (OSPF)

Concluding Remark

Thank You!