Tuesday, February 25, 2020

OSPF_Overview

Exported from Notepad++
OSPF - Link State WHY OSPF IS BETTER THAN RIP The following is a list of reasons OSPF is considered a better routing protocol than RIP: OSPF has no hop count limitations. (RIP has 15 hops only.) OSPF understands variable-length subnet masks (VLSMs) and allows for summarization. OSPF uses multicasts (not broadcasts) to send updates. OSPF converges much faster than RIP, because OSPF propagates changes immediately. OSPF allows for load balancing with up to six equal-cost paths. OSPF has authentication available. (RIPv2 does also, but RIPv1 does not.) OSPF allows for tagging of external routes injected by other autonomous systems. OSPF configuration, monitoring, and troubleshooting have a far greater IOS tool base than RIP. OSPF OPEN SHORTEST PATH FIRST Most popular link state routing protocol. An open standard so it can be run on routers produced by different vendors Contrast to EIGRP, a Cisco proprietary protocol that can be run only on Cisco devices. It is classless, supports VLSM, Manual route summarization, incremental updates, equal cost load balancing, etc. It uses a single parameter – the interface cost as metric. It uses multicast addresses of 224.0.0.5 and 224.0.0.6 are for the communication between OSPF-enabled routers. Default administrative distance for OSFP routes is 110. OSPF OVERVIEW OSPF need to establish the neighbor relationship before exchanging routing updates. OSPF is a link state routing protocol, neighbors don’t exchange eouting tables; instead, they exchange information about network topology. Each OSFP router runs the SFP algorithm to calculate the best routes and adds those to the routing table. Each router knows the entire topology of a network, a chance for a routing loop to occur is minimal. OSPF routers stores routing and topology information in three tables: Neighbor Table - keeps information about OSPF neighbors. Topology Table - keeps the topology structure of the network. Routing Table - keeps the best routes. OSPF Neighbor Discovery - HELLO PACKET Routers running OSPF need to establish a neighbor relationship before exchanging routing updates. OSPF neighbors are dynamically discovered by sending Hello packets out each OSPF-enabled interface on a router. Hello packets are sent to the multicast IP address of 224.0.0.5. If the two neighbors have compatible OSPF parameters listed in the Hello packets, the neighbor relationship will be formed. By default, Hello packets are sent out every 10 second on an Ethernet network (this interval is known as the Hello interval). A Dead interval is four times the value of the Hello interval, so if a router on an Ethernet network doesn’t receive at least one Hello packet from an OSFP neighbor for 40 seconds, the routers will declares that neighbor to be down. Routers first exchange hellos and become neighbors. Then they decide to form adjacencies. An adjacency is a state where two routers agree to exchange LSAs (link state advertisements). The LSA exchange between any two routers will populate their link state databases. At this point both routers will have the same copy of the link state database for the particular area. Then the routers will individually run SPF (Dijkstra Shortest Path First algorithm) against the recently populated link state database to determine the shortest path between the calculating router and all other routers in the network. You can think of the link state database as your input to the Dijkstra SPF algorithm (program). Because all routers run the same calculation on the same data (same link state database), every router has the same picture of the network, and packets are routed consistently at every hop. In summary, database is you input to SFP. LSAs for to a missing neighbor will be removed and SFP will run again against your new database without the old LSAs (possibly with some new replacement LSAs) Yes ip ospf process will trigger a new calculation. Fields in the OSPF Hello packets must be agreed on the following parameters (the same on both routers in order for routers to become neighbors): Same Subnet (must be able to ping both router interface where OSPF will be established) Area ID Hello Interval and Dead Interval timers Authentication (if used) Area stub flag (Area Type Stub, NSSA) Router ID must be unique MTU OSPF Multicast Address 224.0.0.5 - All OSPF Routers 224.0.0.6 - OSPF DRs OSPF AREA OSPF uses areas to simplify administration: optimize traffic and resource utilization. An area is a logical grouping of contiguous networks and routers. All routers in the same area have the same topology table and don’t know about routers in the other areas. The main benefits of using areas in an OSPF network are: The routing tables on the routers are reduced. less time is required to run the SFP algorithm, since routers need to recalculate their link-state database only when there’s a topology change within their own area. routing updates are reduced. Each area in an OSPF network must be connected to the backbone area (area 0). All routers inside an area must have the same area ID in order to become OSPF neighbors. A router that has interfaces in more than one area (area 0 and area 1, for example) is known as an Area Border Router (ABR). A router that connects an OSPF network to other routing domains (to an EIGRP network, for example) is called an Autonomous System Border Routers (ASBR). OSPF Router ID (RID) The router is known to OSPF by the router ID number The Router ID is used in the LSDBs to differentiate one router from the next OSPF requires at least one active interface with an IP address By Default, the Router ID is : The highest IP address on an active interface at the moment of OSPF process startup If a loopback interface exists, the highest IP address on any active loopback interface, A loopback interface overrides the OSPF Router ID The OSPF Router-ID command can be used to override the default OSPF router ID selection process Using a loopback interface or Router-ID command is recommended for stability The process ID is the ID of the OSPF process to which the interface belongs. The process ID is local to the router, and two OSPF neighboring routers can have different OSPF process IDs. Router Boot process ( POST, Load IOS, Bring up Interfaces, OSPF Process OSPF can use Physical Interface IP as the Process ID, Loopback IP or Router ID Physical Interface can be unreliable because it can be down Highest IP used as a tie breaker in the DR election Loopback Address Logical Interface, more reliable then physical Interface, Router ID – hard code process, appears in log messages. use "config-router# router-id" command use highest up/up loopback address use highest up/up non-loopback address OSPF LSA - Link State Advertisements The LSAs (Link-State Advertisements) are used by routers running OSPF to exchange topology information. An LSA contains routing and topology information that describe a part of an OSPF network. Routers exchange LSAs and learn the complete topology of the network until all routers have the exact same topology database. When two neighbors decide to exchange routes, they send each other a list of all LSAa in their respective topology database. Each router then checks its topology database and sends a Link State Request (LSR) requesting all LSAs not found in its topology table. The other router responds with the Link State Update (LSU) that contains all LSAs requested by the neighbor. OSPF LSA - Link State Advertisements TYPES Type 1 LSA aka Router Link Advertisement RLA Type 1 LSA is sent by every router to other routers in its area. It contains the router ID RID, interfaces, IP information, and current interface state. Note that Type 1 LSAs are flooded only across their own area. Type 2 LSA aka Network Link Advertisement NLA Type 2 LSA is generated by designated routers DRs to send out information about the state of other routers that are part of the same network. Type 2 LSAs are flooded across their own area only. Type 3 LSA aka Summary Link Advertisement SLA Type 3 LSA is generated by area border routers (ABRs) and sent toward the area external to the one where they were generated. It contains the IP information and RID of the ABR that is advertising an LSA Type 3. Type 4 LSA informs the rest of the OSPF domain how to get to the ASBR. The link-state ID includes the router ID of the described ASBR. Type 5 LSA aka AS External Link Advertisements, A Type 5 LSA is sent by autonomous system boundary routers (ASBRs) to advertise routes that are external to the OSPF autonomous system and are flooded everywhere LSA Types Router - one per router; listing RID and all interface ip addresses; also represents stub networks Network - one per transit network; created by DR on subnet; represents the subnet and router interfaces Net Summary - created by ABRs; represent area's type 1 & 2 LSAs into another area ASBR summary - like type 3; advertises host route to reach each ASBR AS external - created by ASBR; for externals routes injected into OSPF Group membership - defined for MOSPF; not supported by Cisco Not-so-stubby-area external - created by ASBRs inside NSSA area instead of type 5 External attributes - not implemented in Cisco routers -11. Opaque - used as generic LSAs for future expansion MESSAGES Hello - discover neighbors; heartbeat Database Description (DD) - exchange brief LSA headers Link-state Request (LSR) - request full details of LSAs Link-state Update (LSU) - contains fully detailed LSAs Link-state Acknowledgement (LSAck) - confirm LSU OSPF DR / BDR - Designated Router and Back up Designated Router OSPF router can elect one router to be a designated router (DR) and one router to be a backup designated router (BDR). On multiaccess broadcast networks (such as LANs) routers defaults to elect a DR and BDR. DR and BDR are elected to minimize the number of adjacencies formed and to serve as the central point for exchanging OSPF routing information. On point-to-point links, the DR and BDR are not elected since only two routers are directly connected. Each non-DR or non-BDR router will exchange routing information only with the DR and BDR, instead of exchanging updates with every router on the network segment. DR will then distribute topology information to every other router inside the same area. The backup designated router (BDR) serves as a hot standby for the DR. It receives all routing updates from OSPF adjacent routers, but it will not disperse LSA updates. To send routing information to a DR or BDR, the multicast address of 224.0.0.6 is used. A DR sends routing updates to the multicast address of 224.0.0.5. If the DR fails, the BDR will take its role of redistributing routing information. OSPF AREA TYPE Backbone - Area 0 Stub - Blocks external routes (no LSA type 5; ABR is default gateway) area <area-id> stub Totally Stubby - Blocks external routes and routes of other areas (no LSA type 3,5; ABR is default gateway) area <area-id> nssa no-summary Not-so-stubby (NSSA) - no LSA type 5; can create type 7 area <area-id> nssa Totally NSSA - no LSA type 3, 5; can create type 7 area <area-id> stub no-summary. OSPF Requesting, Getting and Acknowledging LSA After [Database Description (DD)] - exchange brief LSA headers exchange of LSA headers, router will request full copies of LSAs that it needs Compares sequence numbers in local LSADB with headers in DD Sequence numbers start with 0x80000001, wrap around to 0x7FFFFFFF and re-flood at 0x80000000 Acknowledgements Sends the same packet back LSAck Message - list of LSA headers that be acknowledged DR Election Occurs after routers have become neighbors, before DD packets If Hello says DR is 0.0.0.0 (means no DR has been elected yet) Then routers wait a little longer for others to initialize (OSPF wait time; same value as dead timer) Rules If priority is set, routers put their own RID in their Hello messages Others examine Hellos, look at the priority If a router receives better priority, it replaces the RID in it's Hello messages with the better one Highest priority is considered better If a router doesn't want to be a DR but still have a high priority, then it will become a BDR Late routers don't count If a DR fails, its replaces by the BDR and a election for a new BDR starts Network Types Broadcast - DR & BDR; hello 10; 3+ hosts Point-to-Point - No DR or BDR, only 224.0.0.5; hello 10 NonBroadcast-MultiAccess (NBMA) - Neighbors configured statically (unicast); hello 30; 3+ hosts Point-to-Multipoint - No DR or BDR (multicast & broadcast); hello 30; 3+ hosts Point-to-point Nonbroadcast - hello 30; neighbor command; 3+ ho OSPF - propagetes LSA rather than Routing table updates LSA - (Link State Advertisements) Floods All OSPF routers in the Area OSPF Link State database is pieced together LSA generated by by the OSPF routers SPF algorithm to calculate the shortest path to destination based by LINK = router interface STATE = description of an interface and its relationship to neighboring routers OSPF Hierarchical routing consist of AREAs and Autonomous systems AS it minimized routing update traffic SPF Shortest Path First algorithm places each router at the root of a tree and calculate the shortest path to each destinations based on cumulative cost Cost = 10^8/Bandwidth (bps) Advertised Loopback interfaces is in routing table, can ping and uses address spaceRouter-ID number by which router is known by OSPFDefault the highest IP address on the active interface at the moment of OSPF process startupoverwritten by loopback interface: highest IP address of any active loopback interface. Configuring Single Area OSPFRouter(config)#router ospf process-idRouter(config-router)#network address mas area area-ID Defines OSPF as the IP routing protocolsAssigns networks to a specific OSPF area Key CharacteristicsType: Link StateAlgorithm: Dijkstra’s (Shortest Path First) AlgorithmStandard: RFC 2328Administrative Distance: 110Metric: CostProtocol/Protocol Number: IP/89Authentication: Yes (MD5 and Plain Text)Supports VLSM and Route SummarizationSupport for IPv6 (RFC 2740)Fast Convergence Router ID (RID)Router ID must be configured before an OSPF process could be started.Cisco Routers uses the following criteria to select a router ID:1. RID configured with “router-id” command2. If manual RID not configured, select the highest number IP address on any loopback interface in “up/up” state3. If loopback interfaces not configured, select the highest number IP address on any non-loopback interface in “up/up” state Metric CalculationCost = 100 Mbps / Link SpeedOSPF cost can be modified in three ways:1. (config-if)#ip ospf cost2. (config-if)#bandwidth3. (config-router)#auto-costreference-bandwidth Router Types Internal Router: whose (all) interfaces resides within the same area Backbone Router: A router that resides in the backbone area Area Border Router: an ABR connect two or more Areas ASBR: Autonomous System Boundary Router or an ASBR connects an external routing domain to an OSPF routing domain OSPF Neighbor States Down: Previously known neighbor has failed Init: an interim state in which Hello has been heard from the neighbor but that Hello does not list the local router’s RID Two-way: the neighbor has sent a Hello that lists the local router’s RID in the list of seen routers Full: Both routers complete the database exchange process and have identical LSDB. Fully adjacent Route Types and Preference Intra-Area Routes: A route to a network in the same area as the router. Denoted by “O” in the routing table. Inter-Area Routes: A route to a network in another area as the router. Denoted by “O IA” in the routing table External Route: A route to network that is external to the OSPF routing domain. Denoted by ‘E1’ or ‘E2’ in therouting table. Routes Preference: 1. Intra-Area (O) > Inter-Area (O IA)2. Inter-Area (O IA) > External Type-1 (E1)3. External Type-1 (E1) > External Type-2 (E2) AREA OSPF runs SPF algorithm and requires a lot of processing power and memory. If the size of network is too large this could cause slower convergence and can lead to following problems: More memory is required to maintain the link state database More processing power is required to process the link state database The links state database grows exponentially with the size of OSPF domain A single change in network topology (for example: link up/down) would trigger all routers to re-run the SPF (again) to calculate the shortest path To cope with these problems, areas are configured. There are two basic types: Backbone Area or Area 0: All other area must be connected to area 0 Non-backbone Area: any other area with area-id other than zero Timers Hellos are sent to multicast address: 224.0.0.5 (ALLSPFRouters) Broadcast Multi-access = 10 seconds Point-to-Point & NBMA = 30 seconds Dead Timer = Four Times the hello interval Broadcast = 40 seconds NBMA and P2P = 120 seconds To change hello and dead intervals use the command ‘config-if)# ip ospf hello-interval seconds’ and ‘config-if)# ip ospf dead-interval seconds’ Designated Router (DR) / Backup DR (BDR) Election There are two problems with multi-access networks: For “N” routers, it requires “N(N-1)/2” adjacencies Flooding of this excess LSAs would be chaotic itself for the network. DR/BDR addresses the challenge of adjacency creation and LSA flooding on multi-access networks only No election on P2P and P2MP network type. The following criteria is used for DR/BDR election: Router with highest interface priority is elected as DR Any other router with second highest priority is elected as BDR If priority is equal, highest RID is used as tie-breaker The DR/BDR election is held between two or more neighbors who reach the TWO-WAY state The priority ranges from 0-to-255 and default value is 1 Priority of 0 means that router will not take part in DR and BDR election DR is never preempted even if a router with better priority is present. Manual reset is required for preemption If a router becomes active and it checks for an active DR and BDR on the network. If there already is an active DR and BDR on the segment, the new router simply accepts them. If there is not, then an election is held for DR/BDR selection After the DR/BDR have been elected, the other router known as DROthers establish adjacencies with DR and BDR only Neighbors are still tracked on multicast address: 224.0.0.5 but DROthers multicast updates to AllDRRouters address: 224.0.0.6. Only DR and BDR listen to this address and DR in-turn flood updates to DROthers on 224.0.0.5 DR/BDR is property of a router’s interface not the router itself Virtual LinksIt is link through non-backbone area to backbone area. Used to connect: An area to backbone area through non-backbone area A partitioned backbone area through non-backbone area Rules:1. A virtual link can only be configured between ABRs 2. The transit area must have full routing information and it cannot be stub Configuration Basic config# router ospf 1 config-router# log-adjacency-changes detail config-router# ip ospf priority 255 config-router# router-id 1.1.1.1 config-router# network 172.16.2.0 0.0.0.255 area 0 (any interface that matches the ip address will run ospf) config-router# area 0 range 172.16.0.0 255.255.0.0 (ABR injects internal router summaries) config-router# summary-address 172.30.0.0 255.255.0.0 (configured an ABR for external router summaries) config-router# area 2 stub (configures an ABR and Internal Routers for a stub area) config-router# area 3 stub no-summary (configures an ABR in a totally stubby area, internal routers should be configured as stub) Alternative to Network Command config-if# ip ospf 1 area 3 (ospf AS and area number on each interface) RIP Redistribute config# router ospf 1 config-router# network 172.30.0.0 config-router# redistribute rip metric 1000 metric-type [1|2] subnets (1= metric increments; 2 = no increment) config# router rip config-router# redistribute ospf 1 metric 10 NonBroadcast MultiAccess Mode config-subif# ip ospf priority 0...255 (0 = not DR/BDR; 255 = DR/BDR) config-router# neighbor 170.100.100.2 (need to configure only one direction; used when nonbroadcast) config-if# frame-relay map ip 170.100.100.3 201 broadcast (need to configure on both ABRs to communicate even though routes have been learned) Point-to-Multipoint config-subif# ip ospf network point-to-multipoint (need to configure on both directions) Timer Configuration config-subif# ip ospf hello-interval 30 config-subif# ip ospf dead-interval 30 config-subif# ip ospf dead-timer minimal hello-multiplier 4 config-subif# ip ospf retransmit-interval Virtual Links for areas not directly connected to backbone middle router becomes ABR with full copy of area 0's LSDB config-router# area 1 virtual-link 1.1.1.1 (use router id; links two ABRs) Redistribution Using Tags and ACLs config# route-map eigrp2ospf config-route-map# match ip address 20 (ACL 20 to allow) config-route-map# set tag 10 (sets a tag of 10 to whatever matches this route map) config# router ospf 1 config-router# redistribute eigrp 10 metric 100 subnets route-map eigrp2ospf config# router eigrp 10 config-router# redistribute ospf 1 metric 1500 0 255 1 1500 route-map ospf2eigrp config# route-map ospf2eigrp config-route-map# match tag 5 config# route map ospf2eigrp 20 (sequence number 20; start is 10) config-route-map# match route-type internal Inject Default Route into OSPF Domain config-router# default-information originate always (configure this router as the gateway of last resort) Authentication and VirtualLinks config-router# area 0 authentication message-digest config-subif# ip ospf message-digest-key 1 md5 WORD config-router# area 1 virtual-link 6.6.6.6 message-digest-key 1 md5 WORD View/Debug Commands show ip ospf interface show ip ospf database show ip ospf database network (lsa type 2) show ip ospf database router (lsa type 1) show ip ospf database summary (lsa type 3) show ip ospf database asbr-summary (lsa type 4) show ip ospf database external (lsa type 5) show ip ospf database nssa-external (lsa type 7) show ip ospf virtual-links show ip ospf border-routers show ip ospf statistics debug ip ospf hello debug ip ospf adj Configuration Example Single Area Router R1: interface loopback 0 ip address 10.1.1.1 255.255.255.255 ! interface serial 0/0 ip address 192.168.12.1 255.255.255.0 ! router ospf 100 router-id 1.1.1.1 network 192.168.12.0 0.0.0.255 area 0 network 10.1.1.1 0.0.0.0 area 0 Router R2: interface loopback 0 ip address 10.2.2.2 255.255.255.255 ! interface serial 0/0 ip address 192.168.12.2 255.255.255.0 ! router ospf 100 router-id 2.2.2.2 network 192.168.12.0 0.0.0.255 area 0 network 10.2.2.2 0.0.0.0 area 0 R2# show ip route | begin Gateway Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Serial0/0 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.2.2.0/24 is directly connected, Loopback0 O 10.1.1.1/32 [110/65] via 192.168.12.1, 00:00:02, Serial0/0 Example 2 Multi-Area Router R1: interface loopback 0 ip address 10.1.1.1 255.255.255.255 ! interface serial 0/0 ip address 192.168.12.1 255.255.255.0 ! interface serial 0/1 ip address 192.168.13.1 255.255.255.0 ! router ospf 100 router-id 1.1.1.1 network 192.168.12.1 0.0.0.0 area 0 network 192.168.13.1 0.0.0.0 area 1 network 10.1.1.1 0.0.0.0 area 0 Router R2: interface loopback 0 ip address 10.2.2.2 255.255.255.255 ! interface serial 0/0 ip address 192.168.12.2 255.255.255.0 ! router ospf 100 router-id 2.2.2.2 network 192.168.12.2 0.0.0.0 area 0 network 10.2.2.2 0.0.0.0 area 0 Router R3: interface serial 0/0 ip address 192.168.13.3 255.255.255.0 ! interface loopback 0 ip address 10.3.3.3 255.255.255.255 ! router ospf 100 router-id 3.3.3.3 network 192.168.13.3 0.0.0.0 area 1 network 10.1.1.3 0.0.0.0 area 1 R2# show ip route | begin Gateway Gateway of last resort is not set C 192.168.12.0/24 is directly connected, Serial0/0 O IA 192.168.13.0/24 [110/128] via 192.168.12.1, 00:00:03, Serial0/0 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks O IA 10.3.3.3/32 [110/129] via 192.168.12.1, 00:00:12, Serial0/0 C 10.2.2.0/24 is directly connected, Loopback0 O 10.1.1.1/32 [110/65] via 192.168.12.1, 00:00:12, Serial0/0 OSPF Troubleshooting Command 1. show ip protocols 2. show ip ospf [<process-id>] 3. show ip route [ospf] 4. show ip ospf interface [brief | <interface-id>] 5. show ip ospf neighbor 6. show ip ospf database 7. debug ip ospf [hello | adjacency | events] Verify and changing the OSFP RID (RID - Router ID) Topology R1- Hub R2 - spoke R3 - spoke R1# show ip osfp neighbor Nighbor ID Pri State Dead Time Address 3.3.3.3 0 Full/Drother 00:01:41 172.12.123.3 200.200.200.2 0 Full/Drother 00:01:30 172.12.123.2 R1# R2# show ip osfp Routing Process "ospf 1" with ID 200.200.200.1 R2# show ip osfp neighbor Nighbor ID Pri State Dead Time Address 172.12.123.1 1 Full/DR 00:01:47 172.12.123.1 To change the "address 172.12.123.1" the router ID (RID) R1# R1#conf t R1(config)#router ospf 1 R1(config-router)#router-id 1.1.1.1 Reload or use "clear ip ospf process" command for this to take effect Note RULE 1 If there are no loopback on a router, then the highest ip address on any interface on the router will be used as the OSPF RID even if the address is asssigned to an interface that is not OSPF enabled RULE 2 if there is a loopback interface on a router, if there is a single one then that IP is going to be used as the OSPF RID by default. If you have multiple loopbacks, the highest IP address assigned to the loopback will be be the OSFP RID. but again, as we see in router 2, The interface IP address be used as the OSFP RID does not have to be OSFP enabled. If we have a loopback address as in R3 R2# show run interface Loopback0 ip address 3.3.3.3 255.255.255.0