Open Shortest Path First Pedro Tsao
Agenda Link state OSPF Areas OSPF behavior OSPF Packets Type OSPF Network Type OSPF LSA Type OSPF Route Summarization Configuring OSPF Special Area types Configuring OSPF Authentication
Link State
The information available to a distance vector router has been compared to the information available from a road sign. Link state routing protocol are like a road map. Link State routing include the following: Open Shortest Path First (OSPF) for IP The ISOs Intermediate System-to-Intermediate System (IS-IS) for CLNS and IP DECs DNA Phase V Novells NetWare Link Services Protocol (NLSP)
OSPF propagates link-state advertisements rather than routing table updates LSAs are flooded to all OSPF routers in the area The OSPF link-state database(LSDB) is pieced together from the LSAs generated by the OSPF routers OSPF use the SPF algorithm to calculate the shortest path to a destination Link = router interface State = description of an interface and its relationship to neighboring routers OSPF as a Link-State Protocol
–Neighbor table: Also known as the adjacency database Contains list of recognized neighbors –Topology table: Typically referred to as LSDB Contains all routers and their attached links in the area or network Identical LSDB for all routers within an area –Routing table: Commonly named a forwarding database Contains list of best paths to destinations Link State Data Structures
Link State Routing Protocol Link-state routers recognize more information about the network than their distance vector counterparts. Each router has a full picture of the topology. Consequently, link-state routers tend to make more accurate decisions.
OSPF Areas
Link State Data Structure: Network Hierarchy Link-state routing requires a hierachical network structure that is enforced by OSPF. This two-level hierarchy consists of the following: Transit area (backbone or area 0) Regular areas (non-backbone areas)
OSPF area characteristics: Minimizes routing table entries Localizes impact of a topology change within an area Detailed LSA flooding stops at the area boundary Requires a hierarchical network design OSPF Areas Backbone Area Area1 Area2 Area3
OSPF Terminology Router A and B are backbone routers Backbone routers make up area 0 Router C, D and E are known as Area Border Routers (ABRs) ABRs attach all other areas to area 0 Backbone Area Area1 Area2 Area3
OSPF Behavior
OSPF Adjacencies Hello Routers discover neighbors by exchange hello packets Routers declare neighbors to be up after checking certain parameters or options in the hello packet
Forming OSPF Adjacencies Point-to-point WAN links: Both neighbors become full adjacent LAN Links Neighbors form a full adjacency with the DR and BDR Routers maintain two-way state with the other routers (DROTHERs) Routing updates and topology information are passed only between adjacent routers Once an adjacency is formed, LSDBs are synchronized by exchanging LSAs LSAs are flooded reliably through the area (or network)
OSPF Router ID The Router is Known to OSPF by the OSPF router ID number LSDBs use the OSPF router ID to differentiate one router from the next In descending other of specificity, the Router-id may be one of following: Router-id command Highest loopback address Highest Active IP address
OSPF DR/BDR Election DR/BDR will be electing by the following rules: The router With Highest priority value is the DR The router with the second highest priority value is BDR In case of a tie. The highest Router ID is DR, the second is BDR A router with priority of 0 cannot be the DR or BDR A router thats not DR or BDR is a DROther If a router with higher priority comes into the network, it does not preempt the DR or BDR
Routers find the best paths to destinations by applying Dijkstras SPF algorithm to link- state database as follows: Every router in an area has the identical link-state DB Each router in the area places itself into the root of the tree that is built The best path is calculated with respect to the lowest total cost of links to a specific destination Best routes are put into the forwarding database(routing table) OSPF Calculation
x C B A F D E H G x C B A F D E H G Shortest Path Link-state DB Dijkstras algorithm Assume all links are Ethernet, with an OSPF cost of 10 OSPF Calculation(cont.)
OSPF Packets Type
OSPF Packet Types 1. Hello 2. Destination Description 5.Link-State Acknowledgement 4.Link-State Update 3.Link-State Request
Neighborship: The Hello Packet Hello hello Router ID Hello and dead intervals Neighbors Area ID Router priority DR IP address BDR IP address Authentication password Stub area flag Entry must match on neighboring routers
I am router id , and I see I am router id , and I see no one B A / /24 hello To Down state Initial State Port1 Port2 Router B neighbor List /24,in Port2 hello Router A neighbor List /24,in Port1 Two-way State Unicast to A Establishing Bidirectional Communication
Here is a summary of my LSDB No, Ill start exchange because I have a higher RID I will start exchange because I have router id B A / /24 DBD Exstart state exchange State Port1 Port2 DBD Discovering the Network Routes Here is a summary of my LSDB DBD
Thanks for the information! B A / /24 LSAck Loading state Full State Port1 Port2 Adding the Link-State Entries LSAck I need complete entry for network /24 LSR Here is the entry for network /24 LSU LSAck Thanks for the information!
int /24 System /24 int /24 int /24 int /24 int /24 Area 0 Area 2 Case Study: OSPF Packets Router ID: Router ID:
NO YES NO YES Link-State Data Structures: LSA Operation IS entry in LSDB? Is seq# the same? Ignore LSA Add to DB Send LSAck Flood LSA Run SPF to calculate new routing table END LSA Is seq# higher? Send LSU with newer information to source END
Maintaining Routing Information B DR A Router A notifies all OSPF DRs on DR notifies others on
Command (OSPF) CommandParameters Enable ospf Disable ospf create ospf area type [normal | stub {stub_summary [enable | disable] | metric } create ospf host_route {area | metric } create ospf aggregation lsdb_type summary {advertise [enabled | disabled]} config ospf ipif [ipif | all] {area | priority | hello_interval | dead_interval | authentication [none | simple | md5 ] | metric | state [enable | disable] | active | passive} create ospf virtual_link {hello_interval | dead_interval | authentication [none | simple | md5 ]}
Case Study: OSPF Configuration(D-Link) int /24 System /24 int /24 int /24 int /24 System /24 Area 0 Area 2 Router ID: Router ID: DES-3852 DES-3828P
DES-3852 # OSPF config ospf ipif System area state enable config ospf ipif int1 area state enable config ospf ipif int2 area state enable config ospf router_id enable ospf DES-3828P # OSPF create ospf area type normal config ospf ipif System area state enable config ospf ipif int1 area state enable config ospf ipif int2 area state enable config ospf router_id enable ospf System /24 System /24 int /24 int /24 int /24 int /24
DES-3852 # OSPF config ospf ipif System area state enable config ospf ipif int1 area state enable config ospf ipif int2 area state enable config ospf router_id enable ospf DES-3828P # OSPF create ospf area type normal config ospf ipif System area state enable config ospf ipif int1 area state enable config ospf ipif int2 area state enable config ospf router_id enable ospf System /24 System /24 int /24 int /24 int /24 int /24
DES-3852 # OSPF config ospf ipif System area state enable config ospf ipif int1 area state enable config ospf ipif int2 area state enable config ospf router_id enable ospf DES-3828P # OSPF create ospf area type normal config ospf ipif System area state enable config ospf ipif int1 area state enable config ospf ipif int2 area state enable config ospf router_id enable ospf System /24 System /24 int /24 int /24 int /24 int /24
SW1 SW2 X is the Switch Number Each Switch has a loopback: X.X.X.X/32 except SW3 Area 0 Area 1 SW3 SW4 Fa1/ /24 Fa1/ /24 Fa1/ /24 Fa1/ /24 Fa1/ /24 Fa1/ /24 Area 3 Fa1/ /24 Case Study: OSPF Configuration(Cisco)
OSPF Network Type
The three types of networks defined by OSPF are: Point-to-point: A network that joins a single pair of routers Broadcast: A multiaccess broadcast network, such as Ethernet Non-Broadcast multiaccess(also called NBMA): A network that interconnects more than two routers but that has no broadcast capability. Frame Relay, X.25 and ATM are examples of NBMA networks
Point-to-point Links Usually a serial interface running either PPP or HDLC May also be a point-to-point interface running Frame Relay or ATM No DR or BDR election required OSPF autodetects this interface type OSPF packets are send using multicast
Broadcast Network Generally these are LAN technologies like Ethernet and Token Ring DR and BDR election are required All neighbor routers form full adjacencies with the DR and BDR only Packets to the DR and BDR use Packets from DR to all other routers use
Hello Electing the DR and BDR Hello packets are exchange via IP multicast The router with the highest priority is selected as the BR. The second-highest one is the BDR Use the OSPF RID as the tie breaker The DR election is nonpreemptive
OSPF Mode NBMA Preferred Topology Subnet Address Hello Timer Adjacency RFC or Cisco Broadcast Full or partial mesh Same10 sec Automatic, DR/BDR elected Cisco Nonbroadcast (NBMA) Full or partial mesh Same30 sec Manual configuration, DR/BDR elected RFC Point-to- multipoint Partial-mesh or star Same30 Sec Automatic, no DR/BDR RFC Point-to- multipoint nonbroadcast partial-mesh or star Same30 sec Manual configuration, no/DR/BDR Cisco Point-to-point Partial-mesh or star, using subinterface Different for Each Subinterface 10 sec Automatic, no DR/BDR Cisco OSPF Network Type summary
ABR and Backbone Router ASBR and Backbone Router OSPF Router Type External AS Area1 Area0 Area2 Internal routers Backbone/Internal routers ABR and Backbone Router
OSPF Virtual Link Virtual Link Area Area Area Virtual links are used to connect a discontinuous area to area 0 A logical connection is built between router A and router B Virtual links are recommended for backup or temporary connections A B
Case Study: OSPF Virtual Link (D-Link)
Case Study: OSPF Virtual Link (Cisco)
Q&A
END