open shortest path first protocol (ospf)
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 PresentationTRANSCRIPT
![Page 2: Open Shortest Path First Protocol (OSPF)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/2.jpg)
Overview
• Introduction
• Motivation
• OSPF Basics
• Hierarchical Routing in OSPF
• Summary
![Page 3: Open Shortest Path First Protocol (OSPF)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/3.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/4.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/5.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/6.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/7.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/8.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/9.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/10.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/11.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/12.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/13.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/14.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/15.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/16.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/17.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/18.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/19.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/20.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/21.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/22.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/23.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/24.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/25.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/26.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/27.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/28.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/29.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/30.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/31.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/32.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/33.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/34.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/35.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/36.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/37.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/38.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/39.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/40.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/41.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/42.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/43.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/44.jpg)
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)](https://reader036.vdocuments.net/reader036/viewer/2022081511/568148b4550346895db5cb14/html5/thumbnails/45.jpg)
Concluding Remark
Thank You!