Trouble Shooting CERNET NOC Pengfei Li Contents Trouble Shooting Trouble Shooting Trouble Shooting Trouble Shooting Trouble Shooting Trouble Shooting Case Studies Tools BGP OSPF IS-IS CEF IP Multicast 2 Trouble Shooting Tools Key of trouble shooting – Excellent NMS Route Monitoring 4 Routing (BGP summary) 5 Routing Mornitoring 6 BGP Statistics (current status) 7 Looking-glass 8 BGP Monitoring (TEIN2-NORTH) 9 BGP Monitoring (TEIN2-SOUTH) 10 BGP Monitoring (TEIN2-JP) 11 AS Path Entries 12 Community Entries 13 IPv4 Prefix 14 IPv6 Prefix 15 Basic tools Ping Traceroute telnet Show commands etc 16 Trouble Shooting BGP BGP in Large Scale Networks 18 Avoid the Problem in the First Place Use simple configurations maintain a consistent policy throughout the AS Promote stable networks nail-down your routes use loopback interfaces Grow into your network use peer-groups and RRs for scalability 19 Agenda Basic Tools Peer Establishment UPDATE Exchange Selection Algorithm Route Reflectors Route Flap Damping 20 BGP Troubleshooting Tools show commands debug output Log messages 21 show Commands router#show ip bgp ? A.B.C.D IP prefix <network>/<length>, e.g., 35.0.0.0/8 A.B.C.D Network in the BGP routing table to display cidr-only Display only routes with non-natural netmasks community Display routes matching the communities community-list Display routes matching the community-list dampened-paths Display paths suppressed due to dampening filter-list Display routes conforming to the filter-list flap-statistics Display flap statistics of routes inconsistent-as Display only routes with inconsistent origin ASs neighbors Detailed information on TCP and BGP neighbor connections paths Path information peer-group Display information on peer-groups quote-regexp Display routes matching the AS path "regular expression" regexp Display routes matching the AS path regular expression summary Summary of BGP neighbor status | Output modifiers 22 <cr> show Commands (Cont.) router#show ip bgp neighbors x.x.x.x ? advertised-routes Display the routes advertised to a BGP neighbor dampened-routes Display the dampened routes received from neighbor flap-statistics Display flap statistics of the routes learned from neighbor paths Display AS paths learned from neighbor received Display information received from a BGP neighbor received-routes Display the received routes from neighbor routes Display routes learned from neighbor | Output modifiers <cr> 23 The BGP Table router#show ip bgp BGP table version is 9, local router ID is 7.72.6.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 3.0.0.0 0.0.0.0 0 32768 i *> 5.0.0.0 0.0.0.0 0 32768 i *> 6.0.0.0 6.72.6.2 4294967294 02i *i 6.72.6.2 4294967294 100 02i *> 7.0.0.0 0.0.0.0 0 32768 i *> 8.0.0.0/5 0.0.0.0 0 32768 i *> 17.0.0.0 6.72.6.2 4294967294 02i *i 6.72.6.2 4294967294 100 02i *> 23.0.0.0 6.72.6.2 4294967294 02i *i 6.72.6.2 4294967294 100 02i *> 35.0.0.0 6.72.6.2 4294967294 02i *i 6.72.6.2 4294967294 100 02i 24 The BGP Table (Cont.) router#show ip bgp 6.0.0.0 BGP routing table entry for 6.0.0.0/8, version 2 Paths: (2 available, best #1) Advertised to non peer-group peers: 7.25.14.4 7.72.6.3 7.75.7.1 2 6.72.6.2 from 6.72.6.2 (7.72.6.2) Origin IGP, metric 4294967294, localpref 100, valid, 2 6.72.6.2 from 7.75.7.1 (7.75.7.1) Origin IGP, metric 4294967294, localpref 100, valid, external, best internal 25 show ip bgp Summary router#show ip bgp summary BGP router identifier 7.72.6.1, local AS number 1 BGP table version is 9, main routing table version 9 8 network entries and 12 paths using 1176 bytes of memory 3 BGP path attribute entries using 144 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory BGP activity 8/0 prefixes, 12/0 paths Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 6.72.6.2 4 2 6885 6882 9 0 0 4d18h 4 7.25.14.4 4 3 6882 6883 9 0 0 4d18h 0 7.72.6.3 4 1 6880 6886 9 0 0 4d18h 0 7.75.7.1 4 1 6884 6885 9 0 0 4d18h 4 26 show ip bgp neighbors router#show ip bgp neighbors 6.72.6.2 BGP neighbor is 6.72.6.2, remote AS 2, external link Index 1, Offset 0, Mask 0x2 BGP version 4, remote router ID 7.72.6.2 BGP state = Established, table version = 9, up for 4d21h Last read 00:00:56, last send 00:00:48 Hold time 180, keepalive interval 60 seconds Neighbor NLRI negotiation: Configured for unicast routes only Peer negotiated unicast and multicast routes Exchanging unicast routes only Received route refresh capability from peer Minimum time between advertisement runs is 30 seconds Received 7044 messages, 0 notifications, 0 in queue Sent 7041 messages, 0 notifications, 0 in queue Prefix advertised 4, suppressed 0, withdrawn 0 Route refresh request: received 0, sent 0 Inbound path policy configured Route map for incoming advertisements is k Connections established 1; dropped 0 Last reset never Number of unicast/multicast prefixes received 4/0 External BGP neighbor may be up to 255 hops away. Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Local host: 3.72.6.1, Local port: 179 Foreign host: 6.72.6.2, Foreign port: 11014 27 debug ip bgp router#debug ip bgp ? A.B.C.D BGP neighbor address dampening BGP dampening events BGP events keepalives BGP keepalives updates BGP updates <cr> Remember—can be dangerous! Use only in the lab or If advised by the TAC To make a little safer: logging buffered <size> no logging console 28 Session Establishment (debug ip bgp ) 16:06:30: BGP: 7.72.6.1 sending OPEN, version 4 16:06:31: BGP: 7.72.6.1 OPEN rcvd, version 4 16:06:31: BGP: 7.72.6.1 rcv OPEN w/ OPTION parameter len: 12 16:06:31: BGP: 7.72.6.1 rcv OPEN w/ option parameter type 2 (Capability) len 6 16:06:31: BGP: 7.72.6.1 OPEN has CAPABILITY code: 1, length 4 16:06:31: BGP: 7.72.6.1 OPEN has MP_EXT CAP for afi/safi: 1/1 16:06:31: BGP: 7.72.6.1 rcv OPEN w/ option parameter type 2 (Capability) len 2 16:06:31: BGP: 7.72.6.1 OPEN has CAPABILITY code: 128, length 0 16:06:31: BGP: 7.75.7.1 passive open 16:06:31: BGP: 7.75.7.1 OPEN rcvd, version 4 16:06:31: BGP: 7.75.7.1 sending OPEN, version 4 16:06:31: BGP: 7.75.7.1 rcv OPEN w/ OPTION parameter len: 12 16:06:31: BGP: 7.75.7.1 rcv OPEN w/ option parameter type 2 (Capability) len 6 16:06:31: BGP: 7.75.7.1 OPEN has CAPABILITY code: 1, length 4 16:06:31: BGP: 7.75.7.1 OPEN has MP_EXT CAP for afi/safi: 1/1 16:06:31: BGP: 7.75.7.1 rcv OPEN w/ option parameter type 2 (Capability) len 2 29 16:06:31: BGP: 7.75.7.1 OPEN has CAPABILITY code: 128, length 0 Session Establishment (debug ip bgp events) 17:31:39: BGP: 7.72.6.1 went from Idle to Active 17:32:00: BGP: 7.72.6.1 went from Active to OpenSent 17:32:00: BGP: 7.72.6.1 went from OpenSent to OpenConfirm 17:32:00: BGP: 7.72.6.1 went from OpenConfirm to Established 17:31:59: BGP: 7.75.7.1 went from Idle to Active 17:32:00: BGP: 7.75.7.1 went from Active to Idle 17:32:00: BGP: 7.75.7.1 went from Idle to Connect 17:32:00: BGP: 7.75.7.1 went from Connect to OpenSent 17:32:00: BGP: 7.75.7.1 went from OpenSent to OpenConfirm 17:32:00: BGP: 7.75.7.1 went from OpenConfirm to Established 30 Looking at the Updates router#debug ip bgp updates? <1-199> Access list <1300-2699> Access list (expanded range) <cr> router#debug ip bgp x.x.x.x updates? <1-199> Access list <1300-2699> Access list (expanded range) <cr> Use an access-list to limit the output! 31 debug ip bgp Updates Peer Address Prefix Being Advertised BGP: 6.72.6.2 computing updates, neighbor version 0, table version 13, starting at 0.0.0.0 BGP: 6.72.6.2 send UPDATE 3.0.0.0/8, next 3.72.6.1 BGP: , metric 0, path 1 BGP: 6.72.6.2 send UPDATE 5.0.0.0/8 (chgflags: 0x0), next 3.72.6.1 BGP: 6.72.6.2 send UPDATE 7.0.0.0/8 (chgflags: 0x0), next 3.72.6.1 BGP: 6.72.6.2 1 updates enqueued (average=56, maximum=56) BGP: 6.72.6.2 update run completed, ran for 0ms, neighbor version 0, version 13, throttled to 13, check point net 0.0.0.0 NEXT_HOP start 32 debug ip bgp Updates (Cont.) BGP: 6.72.6.2 rcv UPDATE 494, path 2 BGP: 6.72.6.2 rcv UPDATE BGP: 6.72.6.2 rcv UPDATE BGP: 6.72.6.2 rcv UPDATE BGP: 6.72.6.2 rcv UPDATE Peer Address w/ attr: nexthop 6.72.6.2, origin i, metric about 6.0.0.0/8 about 17.0.0.0/8 about 23.0.0.0/8 about 35.0.0.0/8 Prefixes in the Same UPDATE Attributes Apply to All Prefixes BGP: 6.72.6.2 rcv UPDATE w/ attr: nexthop 6.72.6.2, origin i, metric 294, path 2 1 BGP: 6.72.6.2 rcv UPDATE about 3.0.0.0/8 -- DENIED due to: as-path contains our own AS; BGP: 6.72.6.2 rcv UPDATE about 7.0.0.0/8 -- DENIED due to: as-path contains our own AS; 33 Logging Neighbor Changes Generate a log message whenever a BGP neighbor changes state, also indicate reason for reset Syntax (router subcommand): [no] bgp log-neighbor-changes Typical log messages: %BGP-5-ADJCHANGE: neighbor x.x.x.x Up %BGP-5-ADJCHANGE: neighbor x.x.x.x Down-Remote AS changed 34 show ip bgp neighbors x.x.x.x router#show ip bgp neighbors 7.75.7.1 BGP neighbor is 7.75.7.1, remote AS 2, external link ... Received 194 messages, 1 notifications, 0 in queue Sent 194 messages, 0 notifications, 0 in queue Prefix advertised 0, suppressed 0, withdrawn 0 Route refresh request: received 0, sent 0 Connections established 7; dropped 7 Last reset 00:04:11, due to BGP Notification received, hold time expired Number of unicast/multicast prefixes received 0/0 External BGP neighbor may be up to 255 hops away. No active TCP connection 35 show ip bgp neighbors x.x.x.x cont. "BGP protocol initialization" "No memory" "BGP Notification received" "BGP Notification sent" "User reset" "Peer timeout” "Password change” "Error during connection collision" "Peer closed the session" "Peer over prefix limit" "Interface flap" "Router ID changed” "Neighbor deleted" "Member added to peergroup" "Admin. shutdown" "Remote AS changed" "Capability changed" "RR client config change” "Soft reconfig change" "Local AS change" 36 Common Problems Sessions are not established No IP reachability Incorrect configuration Peering addresses OPEN parameters 37 Can’t Establish Session Symptoms routerA#show ip bgp summary BGP router identifier 7.72.6.1, local AS number 1 BGP table version is 4, main routing table version 4 6 network entries and 6 paths using 774 bytes of memory 2 BGP path attribute entries using 96 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory BGP activity 6/0 prefixes, 6/0 paths Neighbor 6.72.6.2 7.25.14.4 7.72.6.3 7.75.7.1 V AS 4 2 4 3 4 1 4 1 MsgRcvd 0 0 4 5 0 0 7 5 MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 0 0 0 never Idle 4 0 0 00:01:43 0 0 0 0 never Active 4 0 0 00:01:55 3 The peering session is not established! State may change between active, idle and connect 38 The BGP Finite State Machine has 5 states: Idle: no resources are allocated Connect: waiting for TCP session to be established; no connection is established actively, but one may be accepted Active: actively trying to establish a TCP connection OpenSent: waiting for OPEN message from peer OpenConfirm: waiting for confirmation of the OPEN message (KEEPALIVE or NOTIFICATION) Established: UPDATES may now be exchanged…this is the normal operational state of BGP. 39 Can’t Establish Session— Troubleshooting I Is the remote-as assigned correctly? Local AS router bgp 1 neighbor 6.72.6.2 remote-as 2 neighbor 7.72.6.3 remote-as 1 eBGP Peer iBGP Peer 40 Can’t Establish Session— Troubleshooting I (Cont.) Verify IP connectivity check the routing table use ping/trace to verify two way reachability inspect for ACLs in the path to the neighbor routerA#show ip route 7.72.6.3 Routing entry for 7.72.6.3/32 Known via "ospf 123”, distance 110, metric 87, type intra area Last update from 27.27.27.254 on POS5/0, 00:09:33 ago Routing Descriptor Blocks: * 27.27.27.254, from 7.72.6.3, 00:09:33 ago, via POS5/0 Route metric is 87, traffic share count is 1 routerA#ping 7.72.6.3 Sending 5, 100-byte ICMP Echos to 7.72.6.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 28/30/32 ms 41 Can’t Establish Session— Troubleshooting I (Cont.) routerA#debug ip bgp BGP debugging is on 10:51:02: BGP: 7.72.6.3 open active, delay 6864ms 10:51:09: BGP: 7.72.6.3 open active, local address 27.27.27.253 10:51:09: BGP: 7.72.6.3 open failed: Connection refused by remote host • Is the remote router configured for BGP? What IP address is the remote router configured to receive? router bgp 1 no synchronization bgp log-neighbor-changes neighbor 7.72.6.1 remote-as 1 42 Can’t Establish Session— Troubleshooting I (Cont.) The TCP session is always sourced from the closest IP address to the destination! A C 27.27.27.254 Configuration: Router A router bgp 1 neighbor 27.27.27.254 remote-as 1 Router C router bgp 1 neighbor 27.27.27.253 remote-as 1 27.27.27.253 If redundant paths exist, use loopback interfaces to establish the session. 43 Can’t Establish Session— Troubleshooting I (Cont.) router bgp 1 neighbor 7.72.6.3 remote-as 1 neighbor 7.72.6.3 update-source Loopback0 Information sourced from the IP address in interface Loopback0 routerA#debug ip tcp transactions 11:19:48: BGP: 7.72.6.3 open active, delay 9916ms 11:19:53: TCP: sending RST, seq 0, ack 3098129121 11:19:53: TCP: sent RST to 7.7.7.6:11719 from 7.72.6.1:179 Solution: make sure both routers source the information from the appropriate interface 44 Can’t Establish Session— Symptoms routerA#show ip bgp summary BGP router identifier 7.72.6.1, local AS number 1 BGP table version is 4, main routing table version 4 6 network entries and 6 paths using 774 bytes of memory 2 BGP path attribute entries using 96 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory BGP activity 6/0 prefixes, 6/0 paths Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 6.72.6.2 4 2 0 0 0 0 0 never Idle 7.25.14.4 4 3 385 385 4 0 0 06:22:17 0 7.72.6.3 4 1 42 49 4 0 0 00:00:15 0 7.75.7.1 4 1 388 385 4 0 0 06:22:30 3 The eBGP session is still having trouble! 45 Can’t Establish Session Troubleshooting II Verify IP connectivity check the routing table use ping/trace to verify two way reachability routerA#show ip route 6.72.6.2 %Network not in table routerA#configure terminal Enter configuration commands, one per line. End with CNTL/Z. routerA(config)#ip route 6.72.6.2 255.255.255.255 1.1.1.5 routerA#ping 6.72.6.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 6.72.6.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms 46 Can’t Establish Session— Troubleshooting II (Cont.) Peering with a loopback interface Advantages Interface is always up Multiple physical paths may exist to reach it Disadvantages Physical link failure may take longer to detect 47 Can’t Establish Session— Troubleshooting II (Cont.) routerA#debug ip bgp routerA#debug ip tcp transactions 13:25:30: TCP: sending RST, seq 0, ack 2030100669 13:25:30: TCP: sent RST to 6.72.6.2:11041 from 3.72.6.1:179 router bgp 1 neighbor 6.72.6.2 remote-as 2 neighbor 6.72.6.2 update-source Loopback1 Neighbor is trying to peer with this IP address The debug output indicates the neighbor’s configured peering address 48 Can’t Establish Session— Troubleshooting II (Cont.) 13:33:30: TCP: sending RST, seq 0, ack 2510129645 13:33:30: TCP: sent RST to 6.72.6.2:11045 from 3.72.6.1:179 Hint: by default, eBGP peers should be directly connected in this case, the peering address doesn’t match a connected interface in the local router 49 Can’t Establish Session— Troubleshooting II (Cont.) routerA#show ip bgp neighbors 6.72.6.2 BGP neighbor is 6.72.6.2, remote AS 2, external link Index 1, Offset 0, Mask 0x2 BGP version 4, remote router ID 0.0.0.0 BGP state = Idle, table version = 0 Last read 00:00:06, last send never Hold time 180, keepalive interval 60 seconds Neighbor NLRI negotiation: Configured for unicast routes only Minimum time between advertisement runs is 30 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Prefix advertised 0, suppressed 0, withdrawn 0 Route refresh request: received 0, sent 0 Connections established 0; dropped 0 Last reset never Number of unicast/multicast prefixes received 0/0 External BGP neighbor not directly connected. No active TCP connection 50 Can’t Establish Session— Troubleshooting II (Cont.) router bgp 1 neighbor 6.72.6.2 remote-as 2 neighbor 6.72.6.2 ebgp-multihop 255 neighbor 6.72.6.2 update-source Loopback1 At this point, the session should come up 51 Can’t Establish Session— Symptoms routerA#show ip bgp summary BGP router identifier 7.72.6.1, local AS number 1 … Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 6.72.6.2 4 2 10 26 0 0 0 never Active router bgp 1 neighbor 6.72.6.2 remote-as 2 neighbor 6.72.6.2 ebgp-multihop 255 neighbor 6.72.6.2 update-source Loopback1 Still having trouble! Connectivity issues have already been checked and corrected. 52 Can’t Establish Session— Troubleshooting II (Cont.) 14:06:37: BGP: 6.72.6.2 open active, local address 3.72.6.1 14:06:37: BGP: 6.72.6.2 went from Active to OpenSent 14:06:37: BGP: 6.72.6.2 sending OPEN, version 4 14:06:37: BGP: 6.72.6.2 received NOTIFICATION 2/2 (peer in wrong AS) 2 bytes 0001 14:06:37: BGP: 6.72.6.2 remote close, state CLOSEWAIT 14:06:37: BGP: service reset requests 14:06:37: BGP: 6.72.6.2 went from OpenSent to Idle 14:06:37: BGP: 6.72.6.2 closing If an error is detected, a notification is sent and the session is closed In this case the remote router had a bad configuration 53 UPDATE Exchange Once the session has been established, UPDATEs are exchanged all the locally known routes only the bestpath is advertised Incremental UPDATE messages are exchanged afterwards 54 Propagation Decisions bestpath received from eBGP peer advertise to all peers bestpath received from iBGP peer advertise only to eBGP peers a full iBGP mesh must exist 55 Common Problems Missing routes No iBGP full mesh Filters: routes are not received/sent Slow convergence 56 Missing Routes— Troubleshooting Steps Determine which filters are applied to the BGP session show ip bgp neighbors x.x.x.x Look at the configuration Examine the route and pick out the relevant attributes show ip bgp x.x.x.x 57 Missing Routes— Troubleshooting Steps (Cont.) Compare the route against the filters If no match is found Use route-refresh or soft-reconfiguration Filter the updates through an ACL to determine where the problem is 58 Missing Routes—Symptoms Missing 4.0.0.0/8 in 7.75.7.1 (routerA) not received from 7.72.6.3 (routerB) routerB#sh ip bgp nei 7.75.7.1 advertised-routes | include 4.0.0.0 *> 4.0.0.0 0.0.0.0 0 32768 i routerB shows that the route was advertised to routerA! 59 Missing Routes— Troubleshooting routerA#show access-lists 10 Standard IP access list 10 permit 4.0.0.0 routerA#debug ip bgp 7.72.6.3 updates 10 BGP updates debugging is on for access list 10 for neighbor 7.72.6.3 routerA#clear ip bgp 7.72.6.3 in 01:22:41: BGP: 7.72.6.3 rcv UPDATE w/ attr: nexthop 7.72.6.3, origin i, metric 0, path 2 01:22:41: BGP: 7.72.6.3 rcv UPDATE about 4.0.0.0/8 -- DENIED due to: distribute/prefix-list; 60 Missing Routes— Troubleshooting (Cont.) router bgp 1 no synchronization bgp log-neighbor-changes neighbor 7.72.6.3 remote-as 2 neighbor 7.72.6.3 ebgp-multihop 255 neighbor 7.72.6.3 update-source Loopback0 neighbor 7.72.6.3 prefix-list filter in ! ip prefix-list filter seq 5 deny 4.0.0.0/8 ip prefix-list filter seq 10 permit 0.0.0.0/0 le 32 61 Common Problems Inconsistent decision/policy MED External paths Communities By default, communities are not propagated neighbor x.x.x.x send-community 62 Inconsistent Decision— Symptom I The bestpath changes every time the peering is reset. routerA#sh ip bgp 160.100.0.0 BGP routing table entry for 160.100.0.0/16, version 40 Paths: (3 available, best #3, advertised over IBGP, EBGP) 1 204.146.33.10 from 204.146.33.10 (204.146.33.1) Origin IGP, metric 0, localpref 100, valid, internal 3 204.146.33.66 from 204.146.33.66 (204.146.33.2) Origin IGP, metric 20, localpref 100, valid, internal 3 204.146.33.6 from 204.146.33.6 (10.4.1.1) Origin IGP, metric 30, valid, external, best 63 Inconsistent Decision— Symptom I (Cont.) routerA#sh ip bgp 160.100.0.0 BGP routing table entry for 160.100.0.0/16, version 2 Paths: (3 available, best #3, advertised over EBGP) 1 204.146.33.10 from 204.146.33.10 (204.146.33.1) Origin IGP, metric 0, localpref 100, valid, internal 3 204.146.33.6 from 204.146.33.6 (10.4.1.1) Origin IGP, metric 30, valid, external 3 204.146.33.66 from 204.146.33.66 (204.146.33.2) Origin IGP, metric 20, localpref 100, valid, internal, best Same paths, but different result! 64 Inconsistent Decision— Symptom I (Cont.) routerA#sh ip bgp 160.100.0.0 BGP routing table entry for 160.100.0.0/16, version 12 Paths: (3 available, best #3, advertised over EBGP) 3 204.146.33.6 from 204.146.33.6 (10.4.1.1) Origin IGP, metric 30, valid, external 3 204.146.33.66 from 204.146.33.66 (204.146.33.2) Origin IGP, metric 20, localpref 100, valid, internal 1 204.146.33.10 from 204.146.33.10 (204.146.33.1) Origin IGP, metric 0, localpref 100, valid, internal, best Different result…again!! 65 Deterministic MED By default, the prefixes are compared in order of arrival it may result in inconsistent decisions use bgp deterministic-med the bestpath is recalculated as soon as the command is entered enable in all the routers in the AS 66 Deterministic MED—Operation The paths are ordered by peer-AS The bestpath for each group is selected The overall bestpath results from comparing the winners in each group 67 Deterministic MED—Result routerA#sh ip bgp 160.100.0.0 BGP routing table entry for 160.100.0.0/16, version 15 Paths: (3 available, best #1, advertised over EBGP) 1 204.146.33.10 from 204.146.33.10 (204.146.33.1) Origin IGP, metric 0, localpref 100, valid, internal, best 3 204.146.33.66 from 204.146.33.66 (204.146.33.2) Origin IGP, metric 20, localpref 100, valid, internal 3 204.146.33.6 from 204.146.33.6 (10.4.1.1) Origin IGP, metric 30, valid, external The bestpath will always be the same! 68 Inconsistent Decision— Symptom II The bestpath changes every time the peering is reset routerA#show ip bgp 7.0.0.0 BGP routing table entry for 7.0.0.0/8, version 15 Paths: (2 available, best #2) Not advertised to any peer 2 1.1.1.5 from 1.1.1.5 (1.1.1.1) Origin IGP, metric 0, localpref 100, valid, external 2 21.21.21.254 from 21.21.21.254 (7.75.7.1) Origin IGP, metric 0, localpref 100, valid, external, best 69 Inconsistent Decision— Symptom II (Cont.) routerA#show ip bgp 7.0.0.0 BGP routing table entry for 7.0.0.0/8, version 17 Paths: (2 available, best #2) Not advertised to any peer 2 21.21.21.254 from 21.21.21.254 (7.75.7.1) Origin IGP, metric 0, localpref 100, valid, external 2 1.1.1.5 from 1.1.1.5 (1.1.1.1) Origin IGP, metric 0, localpref 100, valid, external, best The “oldest” external is the bestpath. All other attributes are the same Stability enhancement! 70 Routes Flapping BGP learned routes change periodically resulting in high cpu BGP prefixes bounces between a suboptimal path through a different provider and a recursive route Recursive routing occurs when the next hop address of a network is an address of that network itself 71 Routes Flapping (Contd..) 72 Routes Flapping (Contd..) The DMZ address space between AS1 and AS3 (161.108.0.0/16) also belongs to AS3. The address 161.108.0.3 is the next hop address advertised by AS3-EBGP toward AS1IBGP. Router AS1-IBGP is NOT advertising the DMZ address space into AS1 via the IGP. This in combination with not having next-hop-self configured 73 Routes Flapping (Contd..) S2-R3-2500#show ip bgp 192.168.1.0 BGP routing table entry for 192.168.1.0/24, version 0 Paths: (1 available, no best path) 3 161.108.0.3 (inaccessible) from 172.108.10.1 Origin IGP, metric 0, localpref 100, valid, internal 74 Routes Flapping (Contd..) S2-R3-2500#show ip bgp 161.108.0.0 BGP routing table entry for 161.108.0.0/16, version 0 Paths: (1 available, no best path) 3 161.108.0.3 (inaccessible) from 172.108.10.1 Origin IGP, metric 0, localpref 100, valid, internal 75 Routes Flapping (Contd..) After EBGP session comes up S2-R3-2500#show ip bgp 192.168.1.0 BGP routing table entry for 192.168.1.0/24, version 4 Paths: (2 available, best #1, advertised over IBGP) 23 131.108.50.1 from 131.108.50.1 (10.1.1.1) Origin IGP, localpref 100, valid, external, best 3 161.108.0.3 (inaccessible) from 172.108.10.1 Origin IGP, metric 0, localpref 100, valid, internal S2-R3-2500# 76 Routes Flapping (Contd..) The next time that BGP scans the routing table, we have a route to the next hop 161.108.0.3 via AS2 S2-R3-2500# BGP: scanning routing tables RT: del 161.108.0.0 via 131.108.50.1, bgp metric [20/0] RT: delete network route to 161.108.0.0 RT: add 161.108.0.0/16 via 161.108.0.3, bgp metric [200/0] RT: del 192.168.1.0 via 131.108.50.1, bgp metric [20/0] RT: delete network route to 192.168.1.0 RT: add 192.168.1.0/24 via 161.108.0.3, bgp metric [200/0] 77 Routes Flapping (Contd..) These routes, once installed This inconsistency is discovered the next time that BGP computes an update for his AS2 neighbor, are recursive. S2-R3-2500# BGP: 131.108.50.1 computing updates, neighbor version 2, table version 10, starting at 0.0.0.0 RT: recursion error routing 161.108.0.3 - probable routing loop RT: recursion error routing 161.108.0.3 - probable routing loop BGP: 131.108.50.1 update run completed, ran for 8ms, neighbor version 2, start version 10, throttled to 10, check point net 0.0.0.0 78 Routes Flapping (Contd..) These unreachable routes will be marked appropiately the next time BGP scans the routing table and will be removed. S2-R3-2500#show ip bgp 192.168.1.0 BGP routing table entry for 192.168.1.0/24, version 10 Paths: (2 available, best #2, advertised over IBGP, EBGP) 23 131.108.50.1 from 131.108.50.1 (10.1.1.1) Origin IGP, localpref 100, valid, external 3 161.108.0.3 from 172.108.10.1 Origin IGP, metric 0, localpref 100, valid, internal, best 79 Routes Flapping (Contd..) We can see that the routes are changed and the routes via the next hop address of 161.108.0.3 are removed the next time that BGP scans: BGP: scanning routing tables RT: del 161.108.0.0 via 161.108.0.3, bgp metric [200/0] RT: delete network route to 161.108.0.0 RT: add 161.108.0.0/16 via 131.108.50.1, bgp metric [20/0] RT: del 192.168.1.0 via 161.108.0.3, bgp metric [200/0] RT: delete network route to 192.168.1.0 RT: add 192.168.1.0/24 via 131.108.50.1, bgp metric [20/0] S2-R3-2500# 80 Routes Flapping (Contd..) S2-R3-2500#show ip bgp 192.168.1.0 BGP routing table entry for 192.168.1.0/24, version 12 Paths: (2 available, best #1, advertised over IBGP, EBGP) 23 131.108.50.1 from 131.108.50.1 (10.1.1.1) Origin IGP, localpref 100, valid, external, best 3 161.108.0.3 (inaccessible) from 172.108.10.1 Origin IGP, metric 0, localpref 100, valid, internal 81 BGP Case Studies 82 © 2002, Cisco Systems, Inc. All rights reserved. 82 Case 1:Peer Establishment Missing Routes Inconsistent Route Selection Loops and Convergence Issues Add CERNET CASE Peer Establishment Routers establish a TCP session Port 179—permit in ACLs IP connectivity (route from IGP) OPEN messages are exchanged Peering addresses must match the TCP session Local AS configuration parameters 84 Common Problems Sessions are not established No IP reachability Incorrect configuration Peers are flapping Layer 2 problems 85 Peer Establishment—Diagram 1.1.1.1 2.2.2.2 IBGP ? R1 R2 EBGP 3.3.3.3 AS 1 R3 ? AS 2 R2#sh run | begin bgp router bgp 1 bgp log-neighbor-changes Neighbor 1.1.1.1 remote-as 1 Neighbor 3.3.3.3 remote-as 2 86 Peer Establishment— Symptoms R2#show ip bgp summary BGP router identifier 2.2.2.2, local AS number 1 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State 1.1.1.1 4 1 0 0 0 0 0 never Active 3.3.3.3 4 2 0 0 0 0 0 never Idle Both peers are having problems State may change between active, idle and connect 87 Peer Establishment Is the remote-as assigned correctly? Verify with your diagram or other documentation! Local AS R2# router bgp 1 neighbor 1.1.1.1 remote-as 1 neighbor 3.3.3.3 remote-as 2 iBGP Peer eBGP Peer 88 Peer Establishment—IBGP Assume that IP connectivity has been checked Check TCP to find out what connections we are accepting R2#show tcp brief all TCB Local Address 005F2934 *.179 0063F3D4 *.179 Foreign Address 3.3.3.3.* 1.1.1.1.* (state) LISTEN LISTEN We are listening for TCP connections for port 179 for the configured peering addresses only! R2#debug ip tcp transactions TCP special event debugging is on R2# TCP: sending RST, seq 0, ack 2500483296 TCP: sent RST to 4.4.4.4:26385 from 2.2.2.2:179 Remote is trying to open the session from 4.4.4.4 address … 89 Peer Establishment—IBGP What about us ? R2#debug ip bgp BGP debugging is on R2# BGP: 1.1.1.1 open active, local address 4.4.4.5 BGP: 1.1.1.1 open failed: Connection refused by remote host We are trying to open the session from 4.4.4.5 address… R2#sh ip route 1.1.1.1 Routing entry for 1.1.1.1/32 Known via "static", distance 1, metric 0 (connected) * directly connected, via Serial1 Route metric is 0, traffic share count is 1 R2#show ip interface brief | include Serial1 Serial1 4.4.4.5 YES manual up up 90 Peer Establishment—IBGP Source address is the outgoing interface towards the destination but peering in this case is using loopback interfaces! Force both routers to source from the correct interface Use “update-source” to specify the loopback when loopback peering R2# router bgp 1 neighbor 1.1.1.1 neighbor 1.1.1.1 neighbor 3.3.3.3 neighbor 3.3.3.3 remote-as 1 update-source Loopback0 remote-as 2 update-source Loopback0 91 Peer Establishment— Symptoms R1 is established now The EBGP session is still having trouble! R2# sh ip bgp summary BGP router identifier 2.2.2.2, local AS number 1 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 1.1.1.1 4 1 7 7 1 0 0 00:00:24 3 3.3.3.3 4 2 0 0 0 0 0 never Idle 92 Peer Establishment—EBGP Trying to load-balance over multiple links to the eBGP peer Verify IP connectivity Check the routing table Use ping/trace to verify two way reachability R2#ping 3.3.3.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms Routing Towards Destination Correct, but… 93 Peer Establishment—EBGP R2# ping ip Target IP address: 3.3.3.3 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 2.2.2.2 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) No Route Back from our Peer! 94 Peer Establishment—EBGP Neighbor Added Route but Still Having Problems?… R2#sh ip bgp neigh 3.3.3.3 BGP neighbor is 3.3.3.3, remote AS 2, external link BGP version 4, remote router ID 0.0.0.0 BGP state = Idle Last read 00:00:04, hold time is 180, keepalive interval is 60 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Route refresh request: received 0, sent 0 Default minimum time between advertisement runs is 30 seconds For address family: IPv4 Unicast BGP table version 1, neighbor version 0 Index 2, Offset 0, Mask 0x4 0 accepted prefixes consume 0 bytes Prefix advertised 0, suppressed 0, withdrawn 0 Connections established 0; dropped 0 Last reset never External BGP neighbor not directly connected. No active TCP connection 95 Peer Establishment—EBGP router bgp 1 neighbor 3.3.3.3 remote-as 2 neighbor 3.3.3.3 ebgp-multihop 255 neighbor 3.3.3.3 update-source Loopback0 eBGP peers are normally directly connected By default, TTL is set to 1 for eBGP peers If not directly connected, specify ebgp-multihop At this point, the session should come up 96 Peer Establishment—EBGP R2#show ip bgp summary BGP router identifier 2.2.2.2, local AS number 1 Neighbor 3.3.3.3 V 4 AS MsgRcvd MsgSent 2 10 26 TblVer 0 InQ OutQ Up/Down 0 0 never State/PfxRcd Active Still having trouble! Connectivity issues have already been checked and corrected 97 Peer Establishment—EBGP R2#debug ip bgp events 14:06:37: BGP: 3.3.3.3 open active, local address 2.2.2.2 14:06:37: BGP: 3.3.3.3 went from Active to OpenSent 14:06:37: BGP: 3.3.3.3 sending OPEN, version 4 14:06:37: BGP: 3.3.3.3 received NOTIFICATION 2/2 (peer in wrong AS) 2 bytes 0001 14:06:37: BGP: 3.3.3.3 remote close, state CLOSEWAIT 14:06:37: BGP: service reset requests 14:06:37: BGP: 3.3.3.3 went from OpenSent to Idle 14:06:37: BGP: 3.3.3.3 closing If an error is detected, a notification is sent and the session is closed R3 is configured incorrectly Has “neighbor 2.2.2.2 remote-as 10” Should have “neighbor 2.2.2.2 remote-as 1” After R3 makes this correction the session comes up 98 Case 2:Load Balancing Parallel Links eBGP Multipath Multi-homed Command neighbor {ip-address | peer-groupname} ebgp-multihop [ttl] To accept and attempt BGP connections to external peers residing on networks that are not directly connected, use the neighbor ebgp-multihop command in router configuration mode. 100 Command neighbor {ip-address | peer-group- name} update-source interface-type To have the Cisco IOS software allow Border Gateway Protocol (BGP) sessions to use a specific operational interface for TCP connections, use the neighbor updatesource command in router configuration mode. To restore the interface assignment to the closest interface, which is called the best local address, use the no form of this command. 101 Command maximum-paths maximum-number To control the maximum number of parallel routes an IP routing protocol can support, use the maximum-paths command in address family or router configuration mode. To restore the default value (1), use the no form of this command. 102 Load Balancing BGP is not designed to load-balance traffic BGP chooses and installs one “best” route “Attempting” to balance traffic comes in two parts Inbound traffic Outbound traffic Load balancing is possible in some topologies A pair of eBGP peers connected via multiple links Two connections from one router to the same AS But not others Multi-homed to more than one provider 103 Single Path Router A: interface loopback 0 RA must do a recursive lookup for 2.2.2.2 ip address 1.1.1.1 255.255.255.255 RA has two equal cost paths to 2.2.2.2 ! RA will load balance traffic over these two links router bgp 100 neighbor 2.2.2.2 remote-as 200 Both inbound and outbound traffic will be balanced neighbor 2.2.2.2 update-source loopback0 neighbor 2.2.2.2 ebgp-multi-hop ! ip route 2.2.2.2 255.255.255.255 serial 0 ip route 2.2.2.2 255.255.255.255 serial 1 ! B Loopback 0 2.2.2.2/32 A 200 100 104 eBGP Multipath Support 100 200 Router peers with multiple routers in the same neighbor AS Install multiple routes in IP routing table Use ‘maximum-paths’ command Routes must be identical in terms of LOCAL_PREF, AS_PATH, MED, etc… Outbound traffic will be split over these two links BGP still advertises one best path Next-hop is set to self (use loopback interface) 105 Multi-Homed AS AS 100 AS 300 D A B C AS 200 Very common topology for many customers Customer wants to split traffic between AS 100 and AS 300 Misconception: “I’ll make half of my routes preferred via AS 100 and the other half through AS 300. Then I’ll have loadbalancing!!” 106 Multi-Homed AS This does not provide load balancing, just “prefix splitting” Traffic may be balanced perfectly until traffic patterns change Load balancing is now over :( Some customers use this method but they are forced to change their policies to accommodate for changes in traffic patterns For outbound balancing use Weight LOCAL_PREF (recommended) For inbound balancing use Conditional-advertisement AS_PATH prepending (may not work) MEDs (may not work) Communities and LOCAL_PREF (recommended) 107 Case 3:BGP community community-list route-map 109 Demand Backup link The backup path of KOREN access TEIN2 backbone via CERNET 110 Demand (Contd..) The backup path of TEIN2 Beijing POP and TEIN2 Singapore POP via CERNETKOREN connection Backup link 111 The detail demands CERNET advertises all the routers from TEIN2 Peking POP (containing community 24489:65200)except for the router containing community 24489:65500 to KOREN, advertising such routers to KOREN, CERNET does the as-path-prepending (adding one “4538”)in order to avoid KOREN selecting the path from CERNET to TEIN2-NORTH priorityr; CERNET receives all the routers ( containing community 24489:65200)transmitting from TEIN2 Singapore POP from KOREN, adds community 4538:9270, and advertises those routers to TEIN2 Peking POP; CERNET receives all the routers ( containing community 9270:65155) transmitting from KOREN internal R&E network from KOREN, adds the community 4538:9270, and advertises those routers to the TEIN2 Peking POP; When the routers containing the community 4538:9270 are received from TEIN2 Peking POP, and the routers containing the community 4538:9270 are advertised to TEIN2 Peking POP, any restricting and adjusting should not be done, including the IPv4 and IPv6 router. 112 Configuration router bgp 4538 bgp router-id 202.112.60.247 no bgp fast-external-fallover bgp log-neighbor-changes bgp deterministic-med neighbor 202.112.61.86 remote-as 9270 neighbor 202.112.61.86 description KOREN neighbor 202.112.61.86 activate neighbor 202.112.61.86 send-community neighbor 202.112.61.86 soft-reconfiguration inbound neighbor 202.112.61.86 route-map KORENtoTEIN2 in neighbor 202.112.61.86 route-map TEIN2toKOREN out neighbor 202.112.61.86 activate neighbor 202.112.61.86 soft-reconfiguration inbound neighbor 202.112.61.86 filter-list 12 out neighbor 202.179.241.25 remote-as 24489 neighbor 202.179.241.25 description TEIN2 neighbor 202.179.241.25 password 7 02040D550C0A0A774F410615 neighbor 202.179.241.25 activate neighbor 202.179.241.25 send-community neighbor 202.179.241.25 soft-reconfiguration inbound neighbor 202.179.241.25 distribute-list 26 in neighbor 202.179.241.25 route-map tein2-in in neighbor 202.179.241.25 route-map CERNETtoTEIN2 out TEIN2 AS24489 .25 202.179.241/30 2001:254:1:7::2/64 .85 .26 CERNET AS4538 .86 202.112.61/30 2001:250:0:30::1/64 KOREN AS9270 113 Configuration (Contd..) route-map TEIN2toKOREN permit 10 match community TEIN2bjpop set as-path prepend 4538 ! route-map TEIN2toKOREN permit 20 match as-path 12 match community TEIN2bjpop1 ! route-map TEIN2toKOREN permit 30 match ip address prefix-list CERNET2 ! route-map tein2-in permit 10 set local-preference 330 set community 4538:24489 additive ! route-map CERNETtoTEIN2 permit 10 match community CERNETtoTEIN2 ! route-map CERNETtoTEIN2 permit 20 match ip address prefix-list CERNET2 set community 4538:65155 additive route-map KORENtoTEIN2 permit 10 match community KORENtoTEIN2 set local-preference 330 set as-path prepend 4538 set community 4538:9270 additive ! route-map KORENtoTEIN2 permit 20 match ip address prefix-list KOREN-filter set local-preference 330 set as-path prepend 4538 set community 4538:9270 additive TEIN2 AS24489 .25 202.179.241/30 2001:254:1:7::2/64 .85 .26 CERNET AS4538 .86 202.112.61/30 2001:250:0:30::1/64 KOREN AS9270 114 Configuration (Contd..) ip community-list ip community-list ip community-list ip community-list ip community-list ip community-list ip community-list TEIN2 AS24489 standard TEIN2bjpop deny 24489:65500 standard TEIN2bjpop permit 24489:65200 standard TEIN2bjpop1 deny 24489:65500 standard KORENtoTEIN2 permit 24489:65200 standard KORENtoTEIN2 permit 9270:65155 standard CERNETtoTEIN2 permit 4538:9270 9270:65155 standard CERNETtoTEIN2 permit 4538:9270 24489:65200 .25 202.179.241/30 2001:254:1:7::2/64 .85 .26 CERNET AS4538 .86 202.112.61/30 2001:250:0:30::1/64 KOREN AS9270 115 Show commands bj-bgw-r0a#sh ip bgp sum BGP router identifier 202.112.60.247, local AS number 4538 BGP table version is 61059, main routing table version 61059 219479 network entries using 22167379 bytes of memory 353680 path entries using 16976640 bytes of memory 53580 BGP path attribute entries using 3000592 bytes of memory 74 BGP rrinfo entries using 1776 bytes of memory 41271 BGP AS-PATH entries using 1169092 bytes of memory 2465 BGP community entries using 173974 bytes of memory 2 BGP extended community entries using 48 bytes of memory 11515 BGP route-map cache entries using 368480 bytes of memory 776 BGP filter-list cache entries using 9312 bytes of memory BGP using 43867293 total bytes of memory 249339 received paths for inbound soft reconfiguration BGP activity 228135/1064 prefixes, 768702/399806 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 193.62.157.29 4 786 0 0 0 0 0 never Idle 202.112.60.246 4 4538 576 161 61059 0 0 02:37:48 16791 202.112.60.251 4 4538 4252 4407 61059 0 0 02:37:53 47349 202.112.61.14 4 23911 89332 192 61059 0 0 02:38:39 4 202.112.61.46 4 9264 775 344 61059 0 0 02:37:40 132 202.112.61.86 4 9270 2294 913 61055 0 0 02:38:50 10038 202.112.61.94 4 9505 215 186 61059 0 0 02:37:41 366 202.179.241.25 4 24489 3896 420 61055 0 0 02:38:44 9589 203.181.194.125 4 7660 4626 1275 61055 0 0 02:38:19 10036 203.181.194.126 4 7660 9799 1116 61055 0 0 02:37:16 10031 203.222.180.225 4 1239 44795 215 61059 0 0 02:37:30 3 bj-bgw-r0a# 116 Bgp session end Trouble Shooting OSPF Agenda LSA Overview Troubleshooting Commands Common Issues 119 LSA OVERVIEW RST-3301 9721_05_2004_c2 120 © 2004 Cisco Systems, Inc. All rights reserved. 120 LSA Type Review Type LSA 1 Router 2 Network 3 Summary Network 4 Summary ASBR 5 External 6 Group Membership 7 NSSA 8 External Attributes 9–11 Opaque 121 Router LSA Details Router LSA (Type 1) Describes the state and cost of the router’s links to the area All of the router’s links in an area must be described in a single LSA Flooded throughout the particular area and no more Router indicates whether it is an ASBR, ABR, or end point of virtual link 122 Router LSA of R3 for Area 1 R3#show ip ospf database router 3.3.3.3 Router Link States (Area 1) DR 192.1.1.4 LS age = 0 Options = (E-bit) LS type = 1 Link State ID = 3.3.3.3 Advertising Router = 3.3.3.3 It is an area border router # links = 2 Link ID = 192.1.1.4 Link Data = 192.1.1.3 Type = 2 # TOS metrics = 0 metric = 1 Link ID = 192.1.4.0 Link Data = 255.255.255.0 Type = 3 # TOS metrics = 0 metric = 2 Always 0 at origination 1 R4 Area 0 192.1.1.3 This is a router LSA Router ID of R3 Router ID of R3 bit B = 1 R3 2 192.1.4.0/24 IP address of the DR Interface address of this router This is a transit network Cost to reach the interface IP network number Subnet mask of the interface Stub network 123 Router LSA of R3 for Area 0 (Cont.) Router Link States (Area 0) DR LS age = 0 Options = (E-bit) LS type = 1 Link State ID = 3.3.3.3 Advertising Router = 3.3.3.3 It is an area border router # links = 2 Link ID = 6.6.6.6 Link Data = 18.10.0.5 Type = 1 # TOS metrics = 0 metric = 8 Link ID = 18.10.0.4 Link Data = 255.255.255.252 Type = 3 # TOS metrics = 0 metric = 8 192.1.1.4 1 R4 192.1.1.3 R3 bit B = 1 Area 0 18.10.0.5/30 2 8 6.6.6.6 R6 192.1.4.0/24 Router id of the neighbor IP interface address of the router This is a point-to-point link IP subnet address Subnet mask This is a stub link 124 Router LSA Details Type Description Link ID Link Data 1 Point-to-Point Numbered Neighbors’ RID Interface IP Address 1 Point-to-Point Unnumbered Neighbors’ RID MIB-II Ifindex Value 2 Transit IP Address of the DR Interface IP Address 3 Stub IP Network Number Subnet Mask 4 Virtual Link Neighbors’ RID Interface IP Address 125 Network LSA Network LSA (Type 2) Generated for every transit broadcast and NBMA network Describes all the routers attached to the network Only the designated router originates this LSA Flooded throughout the area and no more 126 Network LSA for 192.1.1.0 R3#show ip ospf database network 192.1.1.4 Network Link States (Area 1) LS age = 948 Options = (E-bit) LS type = 2 Link State ID = 192.1.1.4 IP interface address of DR Advertising Router = 4.4.4.4 RID of DR Network Mask = 255.255.255.0 Attached Router = 4.4.4.4 Attached Router = 3.3.3.3 RID of attached routers FULL with the DR Attached Router = 2.2.2.2 4.4.4.4 DR Attached Router = 1.1.1.1 1.1.1.1 R1 2.2.2.2 R2 192.1.1. 4 /24 1 R4 Area 0 6.6.6.6 192.1.1. 3 R3 8 2 18.10.0.4/32 R6 192.1.4.0/24 127 Summary LSA Describes the destination outside the area but still in the AS Summary is created for each IP subnets in one area and is flooded out in all other areas Originated by an ABR Only intra-area routes are advertised into the backbone Type 4 is the information about the ASBR 128 Type 3 Details R4#show ip ospf database summary 192.1.2.0 Summary Net Link States (Area 0) LS age = 1514 Options = (E-bit) LS type = 3 Link State ID = 192.1.2.0 IP network number Advertising Router = 4.4.4.4 RID of ABR Network Mask = 255.255.255.0 ABR metric = 4 DR O IA 192.1.2.0/24 metric 4 1.1.1.1 192.1.2.0/24 3 R1 2.2.2.2 R2 192.1.1. 4 /24 1 192.1.1. 3 R4 ABR R3 8 Area 0 6.6.6.6 8 2 18.10.0.4 R6 192.1.4.0/24 129 Type 4 Details R4#show ip ospf database asbr-summary 7.7.7.7 Summary ASB Link States (Area 0) LS age = 1548 Options = (E-bit) LS type = 4 Link State ID = 7.7.7.7 RID of ASBR Advertising Router = 4.4.4.4 RID of ABR Network Mask = 0.0.0.0 Metric = 16 Type 4 Summary ABR 3 192.1.1. 4 /24 R1 2.2.2.2 R2 140.10.0.0 DR 1.1.1.1 192.1.2.0/24 External Route (4.4.4.4) 1 192.1.1. 3 8 R4 2 Area 0 RID ASBR 7.7.7.7 6.6.6.6 R3 R3 8 8 18.10.0.4 192.1.4.0/24 R6 R7 130 External LSA External LSA (Type 5) Defines routes to destination external to the AS Default route is also sent as external Two types of external LSA: E1: Consider the total cost up to the external destination E2: Considers only the cost of the outgoing interface to the external destination 131 Type 5 Details R4#show ip ospf database external 140.10.0.0 LS age = 1156 Options = (E-bit) LS type = 5 Link State ID = 140.10.0.0 Advertising Router = 7.7.7.7 Network Mask = 255.255.0.0 Metric Type: 2 metric = 20 Forwarding address = 0.0.0.0 IP network number Router ID of R7 bit E = 1 -> O E2 (Default) The metric is 20 in all redistributed E2 routes Traffic should be forwarded to the ASBR External Route 3 192.1.2.0/24 1.1.1.1 R1 2.2.2.2 R2 140.10.0.0 DR 192.1.1. 4 /24 8 R4 8 Area 0 1 192.1.1. 3 RID ASBR 7.7.7.7 6.6.6.6 R3 2 192.1.4.0/24 18.10.0.4 R6 R7 External Type 5 132 NSSA External LSA NSSA External LSA (Type 7) RFC1587 NSSA was created to inject external routes from stub area into OSPF domain Redistribution in NSSA creates Type 7 LSA Generated by the NSSA ASBR Type 7 can only exist in NSSA area NSSA ABR does the translation from 7–5 133 TROUBLESHOOTING COMMANDS RST-3301 9721_05_2004_c2 134 © 2004 Cisco Systems, Inc. All rights reserved. 134 Show IP OSPF R3#show ip ospf Routing Process "ospf 1" with ID 3.3.3.3 and Domain ID 0.0.0.1 Supports only single TOS(TOS0) routes Supports opaque LSA It is an area border router SPF schedule delay 5 secs, Hold time between two SPFs 10 secs Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs Number of external LSA 1. Checksum Sum 0x3B57 Number of opaque AS LSA 0. Checksum Sum 0x0 Number of DCbitless external and opaque AS LSA 0 Number of DoNotAge external and opaque AS LSA 0 Number of areas in this router is 2. 2 normal 0 stub 0 nssa External flood list length 0 Area BACKBONE(0) Number of interfaces in this area is 2 Area has no authentication SPF algorithm executed 2773 times Area ranges are Number of LSA 17. Checksum Sum 0x686B5 Number of opaque link LSA 0. Checksum Sum 0x0 Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 9 Flood list length 0 135 Show IP OSPF (Cont.) ... Area 1 Number of interfaces in this area is 2 Area has no authentication SPF algorithm executed 22 times Area ranges are Number of LSA 19. Checksum Sum 0x8FE73 Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 0 Flood list length 0 136 Show IP OSPF Database R3#show ip ospf database OSPF Router with ID (3.3.3.3) (Process ID 1) Router Link States (Area 0) Link ID 3.3.3.3 ... ADV Router 3.3.3.3 Age 106 Seq# Checksum Link count 0x80000009 0xC3F1 3 Summary Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 18.10.0.0 7.7.7.7 3 (DNA) 0x80000008 0x3DC2 18.10.0.0 8.8.8.8 1396 0x80000004 0x27D8 ... Router Link States (Area 1) Link ID 1.1.1.1 ... ADV Router 1.1.1.1 Age 671 Seq# Checksum Link count 0x80000016 0xE6CD 2 137 Show IP OSPF Database Database-Summary R3#show ip ospf database database-summary OSPF Router with ID (3.3.3.3) (Process ID 1) Area 0 database summary LSA Type Count Router 6 Network 4 Summary Net 10 Summary ASBR 0 Type-7 Ext 0 Opaque Link 0 Opaque Area 0 Subtotal 20 Area 1 database summary LSA Type Count Router 4 Network 1 Summary Net 10 Summary ASBR 4 ... Delete 0 0 0 0 0 0 0 0 Maxage 0 0 0 0 0 0 0 0 Delete 0 0 0 0 Maxage 0 0 0 0 138 Show IP OSPF Neighbor R3#show ip ospf neighbor Neighbor ID 1.1.1.1 2.2.2.2 4.4.4.4 6.6.6.6 R3# Pri 1 1 1 1 State Dead Time FULL/DROTHER 00:00:33 FULL/DROTHER 00:00:32 FULL/DR 00:00:39 FULL/ 00:00:38 R1 2.2.2.2 R2 192.1.1. 4 /24 1 Interface FastEthernet0/0 FastEthernet0/0 FastEthernet0/0 Serial0/0 4.4.4.4 DR 1.1.1.1 Address 192.1.1.1 192.1.1.2 192.1.1.4 18.10.0.6 R4 Area 0 6.6.6.6 192.1.1. 3 R3 8 2 18.10.0.4 R6 192.1.4.0/24 139 OSPF Log-Adjacency-Changes Default as of 12.1.3 and 12.0.12S R3#config terminal R3(config)#router ospf 1 R3(config-router)#log-adjacency-changes %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on FastEthernet0/0 from 2WAY to DOWN, Neighbor Down: Interface down or detached %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0 from FULL to DOWN, Neighbor Down: Interface down or detached %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/0 from FULL to DOWN, Neighbor Down: Interface down or detached %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on OSPF_VL0 from FULL to DOWN, Neighbor Down: Interface down or detached %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on FastEthernet0/0 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/0 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 4.4.4.4 on OSPF_VL0 from LOADING to FULL, 140 Loading Done Show IP OSPF Neighbor Detail R3#show ip ospf neighbor detail Neighbor 1.1.1.1, interface address 192.1.1.1 In the area 1 via interface FastEthernet0/0 Neighbor priority is 1, State is 2WAY, 2 state changes DR is 192.1.1.4 BDR is 192.1.1.2 Options is 0x2 Dead timer due in 00:00:39 Neighbor is up for 00:06:30 Index 0/0, retransmission queue length 0, number of retransmission 0 First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0) Last retransmission scan length is 0, maximum is 0 Last retransmission scan time is 0 msec, maximum is 0 msec Neighbor 2.2.2.2, interface address 192.1.1.2 In the area 1 via interface FastEthernet0/0 Neighbor priority is 1, State is FULL, 6 state changes DR is 192.1.1.4 BDR is 192.1.1.2 Options is 0x42 Dead timer due in 00:00:38 Neighbor is up for 00:06:31 Index 2/2, retransmission queue length 0, number of retransmission 0 First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0) Last retransmission scan length is 0, maximum is 0 Last retransmission scan time is 0 msec, maximum is 0 msec 141 Show IP OSPF Interface R3#show ip ospf interface FastEthernet0/0 is up, line protocol is up Internet Address 192.1.1.3/24, Area 1 Process ID 1, Router ID 3.3.3.3, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DROTHER, Priority 1 Designated Router (ID) 4.4.4.4, Interface address 192.1.1.4 Backup Designated router (ID) 2.2.2.2, Interface address 192.1.1.2 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:03 Index 1/1, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 0, maximum is 5 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 3, Adjacent neighbor count is 2 Adjacent with neighbor 2.2.2.2 (Backup Designated Router) Adjacent with neighbor 4.4.4.4 (Designated Router) Suppress hello for 0 neighbor(s) 142 Show IP OSPF Virtual-Links R3#show ip ospf virtual-links Virtual Link OSPF_VL0 to router 4.4.4.4 is up Run as demand circuit DoNotAge LSA allowed. Transit area 1, via interface FastEthernet0/0, Cost of using 1 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:09 Adjacency State FULL (Hello suppressed) Index 1/3, retransmission queue length 0, number of retransmission 1 First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0) Last retransmission scan length is 1, maximum is 1 Last retransmission scan time is 0 msec, maximum is 0 msec R3# 143 Show IP OSPF Stat Requires enable mode R3#sh ip ospf stat Area 0: SPF algorithm executed 42 times Area 1: SPF algorithm executed 38 times SPF calculation time Delta T Intra D-Intra Summ D-Summ Ext D-Ext Total 00:22:00 0 0 0 0 0 0 0 00:21:44 0 0 4 0 0 0 4 00:21:34 0 0 4 0 0 0 4 00:21:24 0 0 0 4 0 0 4 00:21:14 0 0 0 0 0 0 0 00:21:04 0 0 0 0 0 0 0 00:20:54 0 0 0 0 0 0 0 00:20:44 0 0 4 0 0 0 4 00:20:34 0 0 0 0 0 0 0 00:00:17 4 0 0 0 0 0 4 ... R=Router LSA; N=NetworkLSA; SN=Summary Network LSA; ASBR LSA; X=External LSA Reason R, N, SN, R, SN, X R, SN, X R, SN, X R, R, N, SN, X R, SN, X X R, N, SN, SA, X SA=Summary 144 Show IP OSPF Borders R3#show ip ospf borders-routers OSPF Process 1 internal Routing Table Codes: i - Intra-area route, I - Inter-area route i 4.4.4.4 [1] via 192.1.1.4, FastEthernet0/0, ABR, Area 0, SPF 42 i 4.4.4.4 [1] via 192.1.1.4, FastEthernet0/0, ABR, Area 1, SPF 38 i 8.8.8.8 [10] via 18.10.0.6, Serial0/0, ABR/ASBR, Area 0, SPF 42 i 7.7.7.7 [17] via 192.1.1.4, FastEthernet0/0, ABR/ASBR, Area 0, SPF 42 145 Other Show Commands R3#show ip ospf database self-originate OSPF Router with ID (3.3.3.3) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 3.3.3.3 3.3.3.3 1520 0x80000015 0xABFD 2 Summary Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 192.1.1.0 3.3.3.3 1520 0x80000006 0x4E1A 192.1.2.0 3.3.3.3 1521 0x80000006 0x6103 ... Router Link States (Area 1) Link ID ADV Router Age Seq# Checksum Link count 3.3.3.3 3.3.3.3 1536 0x80000028 0x612D 2 146 Other Show Commands (Cont.) R3#show ip ospf database adv-router 7.7.7.7 OSPF Router with ID (3.3.3.3) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 7.7.7.7 7.7.7.7 871(DNA) 0x8000000D 0x8FE2 2 Summary Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum 20.10.0.0 7.7.7.7 871 (DNA) 0x8000000A 0x39C4 Type-5 AS External Link States Link ID ADV Router Age Seq# Checksum Tag 140.100.0.0 7.7.7.7 1944 0x80000004 0x3759 0 147 COMMON ISSUES 148 148 Common Issues Adjacency is not coming up OSPF neighbor stuck in ? state Information is in the DB but not in the RT SPF running constantly Neighbor flapping (Frame Relay) NSSA ABR not translating Type 7 LSA Demand circuit problems 149 Adjacency Is Not Coming Up Useful commands for this problem Show IP OSPF neighbor Show IP OSPF interface Debug IP OSPF adjacency 150 Adjacency Is Not Coming Up Layer 2 is down R3#show ip ospf neighbor R3# R3#show ip ospf interface serial 2 Serial2 is down, line protocol is DOWN Internet Address 18.10.0.3/30, Area 0 Process ID 1, Router ID 3.3.3.3, Network Type POINT_TO_POINT, Cost: 64 Transmit Delay is 1 sec, State DOWN, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 151 Adjacency Is Not Coming Up OSPF not enabled on the interface R3#show ip ospf neighbor R3# R3#show ip ospf interface serial 2 Serial2 is up, line protocol is up OSPF not enabled on this interface In 12.0: R3#show ip ospf interface serial 2 R3# Tip: Check for the wrong network statement re-enter the network statement 152 Adjacency Is Not Coming Up Interface is defined as passive R3#show ip ospf neighbor R3# R3#show ip ospf interface e0 Ethernet0 is up, line protocol is up Internet Address 192.1.1.3/24, Area 1 Process ID 1, Router ID 3.3.3.3, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 192.1.1.4, Interface address 192.1.1.3 No backup designated router on this network Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 No Hellos (Passive interface) 153 Adjacency Is Not Coming Up Mismatched subnet mask R3#show ip ospf neighbor R3# R3#debug ip ospf adj OSPF adjacency events debugging is on R3# OSPF: Mismatched hello parameters from 192.1.1.4 Dead R 40 C 40, Hello R 10 C 10 Mask R 255.255.255.192 C 255.255.255.0 154 Adjacency Is Not Coming Up Mismatched hello/dead interval R3#show ip ospf neighbor R3# R3#debug ip ospf adj OSPF adjacency events debugging is on R3# OSPF: Mismatched hello parameters from 192.1.1.4 Dead R 40 C 40, Hello R 15 C 10 Mask R 255.255.255.0 C 255.255.255.0 R4(config-if)#interface ethernet 0 R4(config-if)#no ip ospf hello-interval 15 Tip: Default is 10 second on LAN 155 Adjacency Is Not Coming Up Mismatched authentication key R3#show ip ospf neighbor R3# R3#debug ip ospf adj OSPF adjacency events debugging is on R3# OSPF: Rcv pkt from 192.1.1.4, Ethernet0 : Mismatch Authentication Key Clear Text Tip: Watch for the “space” at the end of the Authentication key 156 Adjacency Is Not Coming Up Mismatched area ID R4#show ip ospf neighbor R4# R4#debug ip ospf adj OSPF adjacency events debugging is on OSPF: Rcv pkt from 192.1.1.4, Ethernet0, area 0.0.0.1 mismatch area 0.0.0.2 in the header Neighbor is in area 2 but we are not: %OSPF-4-ERRRCV: Received invalid packet: mismatch area ID, from backbone area must be virtual-link but not found from 192.1.1.4, Ethernet0 157 Adjacency Is Not Coming Up Mismatched transit/stub/NSSA option 7.7.7.7 18.10.0.1 area 2 R7 18.10.0.2 8.8.8.8 area 2 nssa R8 R7#show ip ospf neighbor R7# R7#debug ip ospf adj OSPF adjacency events debugging is on OSPF: Hello from 18.10.0.2 with mismatched Stub/Transit area option bit 158 Options Normal area: OSPF: Send DBD to 141.108.97.1 on Serial0 seq 0xBC4 opt 0x2 flag 0x3 len 492 E bit is 1, Allow externals, option: 0x2(HEX) = 00000010(Bin) Stub area: OSPF: Send DBD to 141.108.97.1 on Serial0 seq 0x1866 opt 0x0 flag 0x3 len 372 E bit is 0, no external allowed, options: 0x0 = 00000000 NSSA: OSPF: Send DBD to 141.108.97.1 on Serial0 seq 0x118 opt 0x8 flag 0x3 len 372 N/P bit is on, options: 0x8 = 00001000 DC: OSPF: Send DBD to 141.108.97.1 on Serial0 seq 0x1A1E opt 0x20 flag 0x3 len 392 DC bit is negotiated, options: 0x20 = 00100000 * O DC EA N/P MC E * 159 OSPF Neighbor Stuck in ? State Useful commands for this problem Show IP OSPF neighbor Debug IP OSPF adjacency 160 Stuck in ATTEMPT 3.3.3.3 6.6.6.6 NBMA R3 R6 Hello RID =3.3.3.3 Hello RID =6.6.6.6 N = 3.3.3.3 161 Stuck in ATTEMPT Reasons: Our hellos are getting lost in NBMA cloud Neighbor hellos are getting lost in NBMA cloud We received neighbor’s hello but rejects it for some reason Misconfigured neighbor statement Broken Unicast 162 Stuck in INIT 1.1.1.1 2.2.2.2 R1 R2 Hello RID =1.1.1.1 Hello RID =2.2.2.2 Hello RID =1.1.1.1 N =2.2.2.2 Hello RID =2.2.2.2 163 Stuck in INIT Reasons: One side is blocking the hello packet with access-list One side is translating (NAT) ospf hello One side multicast capabilities is broken (Layer 2) Dialer map or frame-relay map is missing keyword ‘broadcast’ 164 Stuck in 2-WAY 1.1.1.1 2.2.2.2 R1 R2 Hello RID =1.1.1.1 P=0 Hello RID =2.2.2.2 P=0 N =1.1.1.1 Hello RID =1.1.1.1 P=0 N =2.2.2.2 165 Stuck in 2-WAY Reasons: This is normal in broadcast network types This is to reduce the amount of flooding on the wire Problem can happen if all the router are configured with priority equal to ‘0’ In a situation where you have high and low end boxes on the same segment the configure low end routers with priority 0 so they don’t participate in 166 DR election Stuck in EXSTART/EXCHANGE 3.3.3.3 R3 6.6.6.6 Hello R6 RID =3.3.3.3 Hello RID =6.6.6.6 N =3.3.3.3 DBD MTU = 1500 flag = 0x7 Seq = 1E55 DBD MTU = 1500 flag = 0x7 Seq = 22AB 167 Stuck in EXSTART/EXCHANGE Useful in debugging, defines I, M and MS bits OSPF: Send DBD to 141.108.97.1 on Serial0 seq 0xBC4 opt 0x2 flag 0x3 len 492 Flag 0x7--> 111 means I(Initial) = 1, M = 1(More), MS = 1(Master) Flag 0x6 --> 110 not possible Flag 0x5 --> 101 not possible Flag 0x4 --> 100 not possible Flag 0x3 --> 011 means master has more data to send Flag 0x2 --> 010 means slave has more data to send Flag 0x1 --> 001 means master has no more data left to send Flag 0x0 --> 000 means slave has no more data left to send 0 0 0 0 0 M MS 168 Stuck in EXSTART/EXCHANGE Reasons: MTU mismatch Note: If Cisco IOS is < 12.0.3 neighbor will show stuck in EXCHANGE Neighbor RID is same as ours. Note: If Cisco IOS is > 12.0.7, it displays msg: %OSPF-3-DUP_RTRID & OSPF neighbor list will be empty Unicast is broken a. Wrong VC/DLCi mapping in frame/ATM environment in highly redundant network b. MTU problem, can’t ping across with more than certain length packet c. Access-list blocking unicast; after 2-way OSPF send unicast packet except p2p links d. NAT is translating unicast packet Between PRI and BRI/dialer and network type is p2p 169 Stuck in LOADING 3.3.3.3 6.6.6.6 R3 R6 LS Req LS Type Link State ID Advertising Router LS Update # LSAs LSAs ... 170 Stuck in LOADING Reasons: LS request is being made and neighbor is sending bad packet or mem corrupt a. Do show IP OSPF bad to see bad lsa b. Show log will show OSPF-4-BADLSATYPE msg LS request is being made and neighbor is ignoring the request MTU mismatch problem (RFC 1583 and 2178 compatibility issue) 171 Stuck in LOADING 3.3.3.3 6.6.6.6 MTU = 2048 IOS 11.3.10T RFC 1583 MTU = 4470 R3 R6 LS Req IOS 12.0.7T RFC 2178 LS Type Link State ID Advertising Router LS Update # LSAs LSAs Too Big! ... 172 Information Is in the DB but Not in the RT Useful commands for this problem Show IP OSPF interface <interface> Show IP OSPF database <x> Where ‘x’ can be router, network, summary, summary-asbr, external, nssa 173 Mismatched Network Types 3.3.3.3 Area 0 6.6.6.6 R3 18.10.0.4/30 R6 R3#show ip ospf neighbor Neighbor ID 6.6.6.6 Pri State 1 FULL/ - Dead Time Address 00:00:30 18.0.0.6 Interface Serial0 R3#show ip ospf interface serial 0 Serial0 is up, line protocol is up Internet Address 18.0.0.5/30, Area 0 Process ID 1, Router ID 3.3.3.3, Network Type POINT_TO_POINT, Cost: 64 R6#show ip ospf interface serial 0 Serial0 is up, line protocol is up Internet Address 18.0.0.6/30, Area 0 Process ID 1, Router ID 6.6.6.6, Network Type BROADCAST, Cost: 64 174 Mismatched Network Types (Cont.) R3#show ip ospf database router 3.3.3.3 ... Link ID = 6.6.6.6 Router id of the neighbor Link Data = 18.10.0.5 IP interface address Type = 1 This is a point-to-point link # TOS metrics = 0 metric = 8 ... R3#show ip ospf database router 6.6.6.6 ... Link ID = 18.10.0.6 IP address of the DR Link Data = 18.10.0.6 Interface address Type = 2 This is a transit link # TOS metrics = 0 metric = 8 3.3.3.3 Area 0 R3 18.10.0.4/30 6.6.6.6 R6 175 Point-to-Point Numbered and Unnumbered Links 3.3.3.3 192.1.4.1 R3 R3#show ip ospf neighbor Neighbor ID 6.6.6.6 Pri State 1 FULL/ - Area 0 6.6.6.6 18.10.0.4/30 R6 Dead Time Address 00:00:30 18.0.0.6 Interface Serial0 R3#show interface serial0 Serial0 is up, line protocol is up Hardware is HD64570 Interface is unnumbered.Using address of Ethernet1 (192.1.4.1) R6#show interface serial0 Serial0 is up, line protocol is up Hardware is HD64570 Internet address is 18.10.0.6/30 176 Point-to-Point Numbered and Unnumbered Links (Cont.) R3#show ip ospf database router 3.3.3.3 ... Link ID = 6.6.6.6 Router id of the neighbor Link Data = 0.0.0.5 MIBII IfIndex Value Type = 1 This is a point-to-point link # TOS metrics = 0 3.3.3.3 metric = 8 ... 192.1.4.1 R3 R3#show ip ospf database router 6.6.6.6 ... Link ID = 3.3.3.3 Router id of the neighbor Link Data = 18.10.0.6 IP interface address Type = 1 This is a transit link # TOS metrics = 0 metric = 8 Area 0 18.10.0.4/30 6.6.6.6 R6 177 Different Mask or IP Subnet on p2p Links 3.3.3.3 R3 Area 0 19.10.0.5/30 18.10.0.6/30 6.6.6.6 R6 R3#show ip ospf neighbor Neighbor ID 6.6.6.6 Pri State 1 FULL/ - Dead Time Address 00:00:30 18.0.0.6 Interface Serial0 R3#show interface serial 0 Serial0 is up, line protocol is up Hardware is HD64570 Internet address is 19.10.0.5/24 R6#show interface serial 0 Serial0 is up, line protocol is up Hardware is HD64570 Internet address is 18.10.0.6/30 178 Different Mask or IP Subnet on p2p Links (Cont.) R3#show ip ospf database router 3.3.3.3 ... Link ID = 6.6.6.6 Router id of the neighbor 3.3.3.3 Link Data = 19.10.0.5 Interface address Type = 1 This is a point-to-point link # TOS metrics = 0 R3 metric = 8 ... R3#show ip ospf database router 6.6.6.6 ... Link ID = 3.3.3.3 Router id of the neighbor Link Data = 18.10.0.6 Interface address Type = 1 This is a point-to-point link # TOS metrics = 0 metric = 8 Area 0 6.6.6.6 R6 179 Address Flipped on Dual Links Area 0 3.3.3.3 S0 R3 S1 6.6.6.6 18.10.0.4/30 18.10.0.20/30 R6 R3#show ip ospf neighbor Neighbor ID 6.6.6.6 6.6.6.6 Pri State 1 FULL/ 1 FULL/ - Dead Time Address 00:00:30 18.10.0.6 00:00:33 18.10.0.22 Interface Serial0 Serial1 R3#show interface serial 0 Serial0 is up, line protocol is up Hardware is HD64570 Internet address is 18.10.0.21/30 180 Forwarding Address Problem External Route Area 0 18.10.0.5/30 Area 1 140.10.0.0 RIP 18.10.0.1/30 R1 R4 R5 18.10.0.9/29 R7 R1#show ip ospf database external 140.10.0.0 ... Link State ID = 140.10.0.0 Advertising Router = 5.5.5.5 Network Mask = 255.255.0.0 ... Forwarding address = 18.10.0.10 R1#show ip route 18.10.0.10 Routing entry for 18.10.0.8/29 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 10 ... 181 Forwarding Address Problem External Route Area 0 18.10.0.5/30 18.10.0.1/30 R1 R4 Area 1 140.10.0.0 RIP R5 18.10.0.9/29 R7 R5: router ospf 1 network 18.10.0.0 0.0.0.255 area 1 redistribute rip subnets redistribute connected subnets ! router rip network 10.0.0.0 R4: router ospf 1 area 1 range 18.10.0.0 255.255.255.240 182 Discontigous Backbone Summary Summary LSA LSA Area 0 Area 0 R1 Area 0 ABR1 Area 1 ABR2 R2 R1 and R2 are not be able to see each other Summary LSA for Inter-area routes must not be generated into the backbone The solution is to create virtual link between ABR1 and ABR2 183 Distribute-List in Blocking the Routes 18.10.0.1/30 R4 R5 18.10.0.9/29 R7 R4#show ip route 18.10.0.9 % Subnet not in table R4: router ospf 1 network 18.10.0.0 0.0.0.255 area 1 distribute-list 1 in ! access-list 1 permit 18.10.0.0 0.0.0.3 184 SPF Running Constantly Useful commands for this problem Show IP OSPF stat Show IP OSPF database Show IP OSPF database database-sum 185 SPF Running Constantly Reasons: LSA flaps due to: Duplicate RID/IP address Constant link flapping in an area 186 SPF Running Constantly Requires enable mode R3#sh ip ospf stat Area 0: SPF algorithm executed 42 times Area 1: SPF algorithm executed 38 times SPF calculation time Delta T Intra D-Intra Summ D-Summ Ext D-Ext Total 00:22:00 0 0 0 0 0 0 0 00:21:44 0 0 4 0 0 0 4 00:21:34 0 0 4 0 0 0 4 00:21:24 0 0 0 4 0 0 4 00:21:14 0 0 0 0 0 0 0 00:21:04 0 0 0 0 0 0 0 00:20:54 0 0 0 0 0 0 0 00:20:44 0 0 4 0 0 0 4 00:20:34 0 0 0 0 0 0 0 00:00:17 4 0 0 0 0 0 4 ... R=Router LSA; N=NetworkLSA; SN=Summary Network LSA; ASBR LSA; X=External LSA Reason R, N, SN, R, SN, X R, SN, X R, SN, X R, R, N, SN, X R, SN, X X R, N, SN, SA, X SA=Summary 187 SPF Running Constantly R3#deb ip ospf mon OSPF: schedule SPF in area 1 Change in LS ID 1.1.1.1, LSA type R, OSPF: schedule SPF: spf_time 0ms wait_interval 861421816s OSPF: begin SPF at 0x33585480ms, process time 752ms Spf_time 0ms, wait_interval 861421816s OSPF: end SPF at 0x33585488ms, total elapsed time 8ms Intra: 4ms, inter: 0ms, external: 0ms 188 SPF Running Constantly R3#show ip ospf database OSPF Router with ID (3.3.3.3) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count 3.3.3.3 3.3.3.3 106 0x80000009 0xC3F1 3 ... Summary Net Link States (Area 0) Link ID ADV Router Age Seq# 18.10.0.0 7.7.7.7 3 (DNA) 18.10.0.0 8.8.8.8 1396 Checksum 0x80000008 0x3DC2 0x80000004 0x27D8 ... Router Link States (Area 1) Link ID ADV Router Age 1.1.1.1 1.1.1.1 2 ... Seq# Checksum Link count 0x80000016 0xE6CD 2 189 SPF Running Constantly R3#show ip ospf database database-summary OSPF Router with ID (3.3.3.3) (Process ID 1) Area 0 database summary LSA Type Count Router 124 Network 4 Summary Net 10 Summary ASBR 0 Type-7 Ext 0 Opaque Link 0 Opaque Area 0 Subtotal 138 Area 1 database summary LSA Type Count Router 4 Network 1 Summary Net 10 Summary ASBR 4 ... Delete 0 0 0 0 0 0 0 0 Maxage 0 0 0 0 0 0 0 0 Delete 0 0 0 0 Maxage 0 0 0 0 190 Neighbor Flapping (Frame Relay) Useful commands for this problem Debug ip ospf adj OSPF log-adjacency-change Show IP OSPF neighbors detail Show interface 191 NSSA ABR Not Translating Type 7 LSA Only NSSA ABR with the highest RID does the conversion NSSA ASBR Area 1 NSSA Type 7 router ospf 1 network 10.10.10.10 0.0.0.0 area 0 RID: 7.7.7.7 NSSA ABR Area 0 No Type 7/5 Translation RID: 8.8.8.8 Type 7–5 Conversion 192 NSSA ABR Not Translating Type 7 LSA Only NSSA ABR with the highest RID does the conversion NSSA ASBR Area 1 NSSA Type 7 router ospf 1 network 10.10.10.10 0.0.0.0 area 0 RID: 7.7.7.7 NSSA ABR Area 0 Type 7–5 Conversion RID: 8.8.8.8 193 Demand Circuit Problems OSPF (DC) 18.10.0.1/30 18.10.1.0/24 The DC is bringing up the link: There is a change in OSPF topology debug IP OSPF monitor is helpful in this case Network type on DC is defined broadcast There is a router in the network that is incapable to understand DC bit The DC is configured over async interface (need to configure a dialer interface as a solution) 194 Demand Circuit Problems OSPF (DC) RIP 18.10.0.1/30 18.10.1.0/24 RIP—OSPF Redistribution DC is bringing up the link (cont.) PPP host route is also owned by RIP, when PPP host route disappears, the database is change Solution 1: no peer neighbor-route Solution 2: Block /32 route getting into OSPF with route-map Solution 3: Use different majornet for RIP 195 Summary What we learned? Overview of OSPF LSAs Different troubleshooting commands and what to look for in those commands while troubleshooting? Common issues in OSPF networks; e.g adjacency problems, CPU hogs and SPF problems, NSSA and DC problems etc and how to correct those problems 196 OSPF case studies © 2002, Cisco Systems, Inc. All rights reserved. 197 Case 1 Why Does the show ip ospf neighbor Command Reveal Neighbors Stuck in TwoWay State? Introduction This case explains why the show ip ospf neighbor command shows neighbors stuck in a two-way state. It also provides configuration tips. 199 How OSPF Forms Its Neighbors In this topology, all routers are running Open Shortest Path First (OSPF) over the Ethernet network 200 The sample output of the show ip ospf neighbor command R7# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 170.170.3.4 1 2WAY/DROTHER 00:00:34 170.170.3.4 Ethernet0 170.170.3.3 1 2WAY/DROTHER 00:00:34 170.170.3.3 Ethernet0 170.170.3.8 1 FULL/DR 00:00:32 170.170.3.8 Ethernet0 170.170.3.2 1 FULL/BDR 00:00:39 170.170.3.2 Ethernet0 R8# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 170.170.3.4 1 FULL/DROTHER 00:00:37 170.170.3.4 Ethernet0 170.170.3.3 1 FULL/DROTHER 00:00:37 170.170.3.3 Ethernet0 170.170.3.7 1 FULL/DROTHER 00:00:38 170.170.3.7 Ethernet0 170.170.3.2 1 FULL/BDR 00:00:32 170.170.3.2 Ethernet0 201 • Whenever a router sees itself in a neighbor hello packet, it confirms bidirectional communication and transitions the neighbor state to two-way. At this point, the routers perform DR and BDR election. Once DR and BDR are elected, a router attempts to form a full adjacency with a neighbor if one of the two routers is the DR or BDR. OSPF routers become fully adjacent with routers with which they have successfully completed the database synchronization process. This is the process by which OSPF routers exchange link-state information to populate their databases with the same information. Again, this database synchronization process is only executed between two routers if one of the two routers is the DR or BDR. 202 Why Do Routers Only Form Full Adjacencies with the DR or BDR? 203 Why Do Routers Only Form Full Adjacencies with the DR or BDR? (cont.) Sometimes it is desirable for a router to be configured so that it is not eligible to become the DR or BDR. You can do this by setting the OSPF priority to zero with the ip ospf priority priority# interface subcommand. If two OSPF neighbors both have their OSPF interface priority set to zero, they establish two-way adjacency instead of full adjacency. 204 example.(topology) 205 example. The topology below provides an example. There are three routers connected via Frame Relay. The Frame Relay interfaces are defined as broadcast, but only the router with a connection back to the main network is eligible to be the DR. The other two routers have their interface priorities set to zero, so they are not eligible to become the DR or BDR. Although they do become neighbors, they only reach two-way state. 206 example. The neighbor table for this topology looks like this: DRother1# show ip ospf neighbor Neighbor ID Pri State Dead Time 170.170.9.5 1 FULL/DR 00:00:30 170.170.10.8 0 2WAY/DROTHER 00:00:38 DRother1# Address Interface 170.170.9.5 Serial0.5 170.170.9.8 Serial0.5 Notice that, in the figure above, the DRother1 router establishes a two-way adjacency with the DRother2 router. 207 Case 2 OSPF routers do not form neighbor relationships due to authentication type mismatch OSPF Errors, Warnings, and Log Messages Receiving "Mismatch Authentication type." 209 Core Issue Before exchanging routing information, routers running Open Shortest Path First (OSPF) form neighbor relationships with other OSPF routers on the same segment. This is done by exchanging hello packets. The hello packets contain various parameters, one of which is related to authentication. This specifies the authentication type and authentication information for the originating interface. Authentication is useful for preventing malicious or incorrect routing information from getting introduced into the routing table. OSPF supports two types of authentication: plain text and Message Digest 5 (MD5). 210 To resolve this issue, perform these steps: 1. Identify the adjacency state with the neighbor by issuing the show ip ospf neighbor command from privileged EXEC mode. 2. Find the authentication type configured under an interface by issuing the show ip ospf interface command from privileged EXEC mode. 211 To resolve this issue, perform these steps(cont.): If the authentication type does not match between two routers on the same segment, you will see a message similar to this: OSPF: Rcv pkt from x.x.x.x, Ethernet1/0 : Mismatch Authentication type. Input packet specified type 2, we use type 1 This occurs when you issue the debug ip ospf adj command from privileged EXEC mode. This message indicates this information: Type 0 indicates that no authentication is enabled. Type 1 is for plain text authentication to be enabled. Type 2 means that MD5 authentication is enabled. 212 To resolve this issue, perform these steps: 3. Make sure that all the routers connected to the same segment use the same authentication type. This is done by issuing the area authentication command in router configuration mode or the ip ospf authentication command in interface configuration mode. The area authentication command configures all the interfaces under a particular area to use the specified authentication type. The ip ospf authentication command can be used to individually configure the authentication type for an interface or override the type configured under an interface with the area authentication command. 213 Trouble shooting IS-IS 214 © 2002, Cisco Systems, Inc. All rights reserved. 214 Troubleshooting Agenda Adjacencies LSP Flooding and Contents SPF Computation Monitoring Performance Advanced/New Features 215 Basic Configuration Router-A -------------interface Loopback0 ip address 192.168.1.5 255.255.255.255 ! interface Serial0 ip address 192.168.120.5 255.255.255.0 ip router isis ! router isis passive-interface Loopback0 net 49.0001.1921.6800.1005.00 is-type level-1 Router-B L1 Router -------------interface Loopback0 ip address 192.168.1.1 255.255.255.255 ! Interface Serial0 ip address 192.168.120.10 255.255.255.0 ip router isis ! interface Serial1 ip address 192.168.222.1 255.255.255.0 ip router isis ! L1 Router router isis passive-interface Loopback0 net 49.0001.1921.6800.1001.00 Rtr-A S0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 216 Basic Configuration Router-C -------------interface Loopback0 ip address 192.168.2.2 255.255.255.255 ! interface Serial0 ip address 192.168.111.2 255.255.255.0 ip router isis isis circuit-type level-1 ! interface Serial1 ip address 192.168.222.2 255.255.255.0 ip router isis isis circuit-type level-2 ! router isis passive-interface Loopback0 net 49.0002.1921.6800.2002.00 Router-D L1 Router -------------interface Loopback0 ip address 192.168.2.4 255.255.255.255 ! interface Serial1 ip address 192.168.111.4 255.255.255.0 ip router isis ! router isis passive-interface Loopback0 net 49.0002.1921.6800.2004.00 is-type level-1 Rtr-A S0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 217 ADJACENCIES RST-3302 9803_05_2004_c2 © 2004 Cisco Systems, Inc. All rights reserved. 218 Check that CLNS Is Running OK? General CLNS information at a glance: Lists Lists Lists Lists number of CLNS-enabled interfaces NET configured on router the mode that is running (IP or OSI) IS-type show clns show clns protocol 219 show clns L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 S1 Rtr-A Rtr-D L1 Routers Rtr-B#show clns Global CLNS Information: 2 Interfaces Enabled for CLNS NET: 49.0001.1921.6800.1001.00 Configuration Timer: 60, Default Holding Timer: 300, Packet Lifetime 64 ERPDU's requested on locally generated packets Running IS-IS in IP-only mode (CLNS forwarding not allowed) 220 show clns protocol L1 Router Rtr-A S0 Rtr-B#show clns protocol IS-IS Router: <Null Tag> System Id: 1921.6800.1001.00 IS-Type: level-1-2 Manual area address(es): 49.0001 Routing for area address(es): 49.0001 Interfaces supported by IS-IS: Serial1 - IP Serial0 - IP Redistribute: static (on by default) Distance for L2 CLNS routes: 110 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 221 Are the Hellos Sent? Interface up/line protocol up Are bits exchanged: sh cdp neigh detail Show clns neighbor Debug isis adj-packet 222 Check Interface Status L1L2 Routers S0 S1 Rtr-B S1 Rtr-C S0 Area 49.0001 Area 49.0002 S0 S1 Rtr-A Rtr-D L1 Routers Rtr-B#show ip int brief Interface IP-Address Loopback0 192.168.1.1 OK? YES Method NVRAM Status up Protocol up Serial0 192.168.222.1 YES manual up up Serial1 192.168.120.10 YES manual up up 223 Check CDP Neighbor Connectivity L1L2 Routers S0 S1 Rtr-B S1 Rtr-C S0 Area 49.0001 Area 49.0002 S0 S1 Rtr-A Rtr-D L1 Routers Rtr-B#show cdp neighbor Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Rtr-C Rtr-A Local Intrfce Ser 0 Ser 1 Holdtme 125 148 Capability Platform Port ID R 2500 Ser 1 R 2500 Ser 0 224 Are the Adjacencies Up? Entry in “show clns neighbor”? Protocol is IS-IS (not ES-IS)? State is up (should not show init)? IP addresses on both sides match? MTU size OK? 225 Check CLNS Neighbors L1L2 Routers S0 S1 Rtr-B S1 Rtr-C S0 Area 49.0001 Area 49.0002 S0 S1 Rtr-A Rtr-D L1 Routers Rtr-B#show clns neighbors System Id Interface SNPA Rtr-C Se0 *HDLC* 1921.6800.1005 Se1 *HDLC* State Holdtime Type Protocol Up 23 L2 IS-IS Up 21 L1 IS-IS 226 Check CLNS Neighbor Detail L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 S1 Rtr-A Rtr-B#sh clns nei det System Id Interface SNPA Rtr-C Se0 *HDLC* Area Address(es): 49.0002 IP Address(es): 192.168.222.2* Uptime: 03:09:19 1921.6800.1005 Se1 *HDLC* Area Address(es): 49.0001 IP Address(es): 192.168.120.5* Uptime: 03:50:01 Rtr-D L1 Routers State Holdtime Type Up 23 L2 Protocol IS-IS Up IS-IS 27 L1 227 If Protocol Field Shows ES-IS? Common Causes: Misconfigured IP interface subnet Cisco IOS® validates source IP address of neighbor before bringing up adjacency No “ip router isis” command on interface Rtr-B#show clns neighbors System Id Interface SNPA Rtr-C Se0 *HDLC* 1921.6800.1005 Se1 *HDLC* State Holdtime Type Protocol Up 23 L2 IS-IS Up 21 L1 ES-IS 228 Mixing IS-IS IP and IS-IS OSI Can cause protocol field to show ES-IS! Mode is per router, not per interface All routers in an area must agree Using passive-interface forces IP mode IP-only, CLNS-only or integrated (dual) Can only mix areas, not inside areas L2 routing not guaranteed to work 229 show clns interface L1 Router Rtr-B#show clns int serial1 Serial1 is up, line protocol is up Checksums enabled, MTU 1500, Encapsulation HDLC ERPDUs enabled, min. interval 10 msec. CLNS fast switching enabled CLNS SSE switching disabled DEC compatibility mode OFF for this interface Next ESH/ISH in 47 seconds Routing Protocol: IS-IS Circuit Type: level-1-2 Interface number 0x2, local circuit ID 0x101 Level-1 Metric: 10, Priority: 64, Circuit ID: Rtr-A.00 Number of active level-1 adjacencies: 1 Level-2 Metric: 10, Priority: 64, Circuit ID: Rtr-B.01 L1 Router Number of active level-2 adjacencies: 0 Next IS-IS Hello in 6 seconds Rtr-A S0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 230 show clns interface L1 Router Rtr-B#show clns int serial0 Serial0 is up, line protocol is up Checksums enabled, MTU 1500, Encapsulation HDLC ERPDUs enabled, min. interval 10 msec. CLNS fast switching enabled CLNS SSE switching disabled DEC compatibility mode OFF for this interface Next ESH/ISH in 30 seconds Routing Protocol: IS-IS Circuit Type: level-1-2 Interface number 0x1, local circuit ID 0x100 Level-1 Metric: 10, Priority: 64, Circuit ID: Rtr-C.01 Number of active level-1 adjacencies: 0 Level-2 Metric: 10, Priority: 64, Circuit ID: Rtr-B.00 Number of active level-2 adjacencies: 1 L1 Router Next IS-IS Hello in 6 seconds Rtr-A S0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 231 debug isis adj-packets L1L2 Routers S0 S1 Rtr-B Area 49.0001 S0 Rtr-A S1 Rtr-C S0 Area 49.0002 S1 Rtr-D L1 Routers Rtr-B#debug isis adj-packets IS-IS Adjacency related packets debugging is on Rtr-B# 05:45:21: ISIS-Adj: rcvd state UP, old state UP, new state UP 05:45:21: ISIS-Adj: Action = ACCEPT 05:45:24: ISIS-Adj: Sending serial IIH on Serial0, length 1499 05:45:26: ISIS-Adj: Rec serial IIH from *HDLC* (Serial1), cir type L1, cir id 00, length 1499 05:45:26: ISIS-Adj: rcvd state UP, old state UP, new state UP 05:45:26: ISIS-Adj: Action = ACCEPT 05:45:26: ISIS-Adj: Sending serial IIH on Serial1, length 1499 05:45:31: ISIS-Adj: Rec serial IIH from *HDLC* (Serial0), cir type L1L2, cir id 01, length 1499 232 Are the LSPs Flooded? show isis database Compare sequence numbers Compare checksum or content debug isis update-packets debug isis snp-packets show clns traffic 233 LSP FLOODING AND CONTENTS show isis database L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 S1 Rtr-A Rtr-B#show isis database IS-IS Level-1 Link State Database: LSPID LSP Seq Num Rtr-B.00-00 * 0x00000020 1921.6800.1005.00-00 0x00000023 1921.6800.1005.01-00 0x00000017 IS-IS Level-2 Link State Database: LSPID LSP Seq Num Rtr-B.00-00 * 0x00000024 Rtr-C.00-00 0x00000028 Rtr-D L1 Routers LSP Checksum 0x0C24 0x909E 0xC896 LSP Holdtime 674 830 841 ATT/P/OL 1/0/0 0/0/0 0/0/0 LSP Checksum LSP Holdtime 0x7D98 748 0x1E01 1128 ATT/P/OL 0/0/0 0/0/0 235 debug isis update-packets L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 Rtr-B#debug isis update-packets IS-IS Update related packet debugging is on Rtr-A S1 Rtr-D L1 Routers Rtr-B# 05:45:21: ISIS-Upd: Rec L2 LSP 1921.6800.2002.00-00, seq 24E, ht 1199, 05:45:21 : ISIS-Upd: from SNPA *HDLC* (Serial0) 05:45:21 : ISIS-Upd: LSP newer than database copy 05:45:21 : ISIS-Upd: No change 05:45:21 : ISIS-Upd: Refreshing L2 1921.6800.1001.00-00 05:45:21 : ISIS-Upd: Sending L2 LSP 1921.6800.1001.00-00, seq 25E, ht 1199 on Serial0 05:45:21 : ISIS-Upd: Rec L2 LSP 1921.6800.2002.00-00, seq 24F, ht 1199, 05:45:21 : ISIS-Upd: from SNPA *HDLC* (Serial0) 05:45:21 : ISIS-Upd: LSP newer than database copy 05:45:21 : ISIS-Upd: No change 05:45:21 : ISIS-Upd: Refreshing L2 1921.6800.1001.00-00 05:45:21 : ISIS-Upd: Sending L2 LSP 1921.6800.1001.00-00, seq 25F, ht 1199 on Serial0 236 debug isis snp-packets L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 Rtr-B#debug isis snp-packets Rtr-A IS-IS CSNP/PSNP packets debugging is on L1 Routers Rtr-B# 07:51:59: ISIS-Snp: Build L2 PSNP entry for 1921.6800.2002.00-00, seq 35 07:51:59: ISIS-Snp: Sending L2 PSNP on Serial0 07:53:50: ISIS-Snp: Rec L1 PSNP from 1921.6800.1005 (Serial1) 07:53:50: ISIS-Snp: PSNP entry 1921.6800.1001.00-00, seq 31, ht 1197 07:53:50: ISIS-Snp: Same entry 1921.6800.1001.00-00, seq 31 07:54:26: ISIS-Snp: Build L1 PSNP entry for 1921.6800.1005.00-00, seq 2F 07:54:26: ISIS-Snp: Sending L1 PSNP on Serial1 07:55:18: ISIS-Snp: Rec L2 PSNP from 1921.6800.2002 (Serial0) 07:55:18: ISIS-Snp: PSNP entry 1921.6800.1001.00-00, seq 32, ht 1197 07:55:18: ISIS-Snp: Same entry 1921.6800.1001.00-00, seq 32 S1 Rtr-D 237 Does the LSP Contain ALL Info? LSPs are identified by: LSP identifier (8 bytes—sysID, n-sel, frag.) Sequence number (higher means newer LSP) Remaining lifetime (expiration purges LSP) Checksum (if corrupt discard—sender r-tx’s) show isis database detail! Correct IP prefixes and metrics present? debug isis local-updates 238 show isis database detail L1 Router Rtr-B#sh isis dat det 1921.6800.1001.00-00 IS-IS Level-1 LSP Rtr-B.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime Rtr-B.00-00 * 0x00000001 0x20D5 1015 Area Address: 49.0001 NLPID: 0xCC Hostname: Rtr-B IP Address: 192.168.1.1 Metric: 0 IP 192.168.1.1/32 Metric: 10 IP 192.168.222.0/24 Metric: 10 IP 192.168.120.0/24 Metric: 10000 IS-Extended 1921.6800.1005.00 IS-IS Level-2 LSP Rtr-B.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime Rtr-B.00-00 * 0x00000263 0xAD32 1184 Area Address: 49.0001 NLPID: 0xCC Hostname: Rtr-B IP Address: 192.168.1.1 Metric: 10000 IS-Extended Rtr-C.00 Metric: 10 IP 192.168.120.0/24 Metric: 0 IP 192.168.1.1/32 Metric: 20 IP 192.168.1.5/32 Metric: 10 IP 192.168.222.0/24 Rtr-A S0 ATT/P/OL 1/0/0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 ATT/P/OL 0/0/0 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 239 debug isis local-updates L1L2 Routers S0 S1 Rtr-B Area 49.0001 S0 S1 Rtr-C S0 Area 49.0002 S1 tr-B#sh debug CLNS: Rtr-A Rtr-D IS-IS local updates debugging is on Rtr-B#conf t L1 Routers Enter configuration commands, one per line. End with CNTL/Z. Rtr-B(config)#int serial 1 Rtr-B(config-if)#shut Rtr-B(config-if)# 07:59:26: ISIS-Loc: IP route adjust (level-1-2/Serial1/192.168.120.10) 07:59:26 : ISIS-Upd: Building L1 LSP 07:59:26 : ISIS-Upd: Building L2 LSP 07:59:26 : ISIS-Upd: Building L2 LSP 07:59:26 : ISIS-Loc: IP route adjust (level-1-2/Serial1/192.168.120.10) 07:59:26 : ISIS-Upd: Building L1 LSP 07:59:26 : ISIS-Upd: Building L2 LSP 07:59:26 : ISIS-Loc: L2 non-summarized metric change (4294967295->20), 192.168.1.5 07:59:26 : ISIS-Upd: Building L2 LSP 240 show isis lsp-log L1 Router Rtr-B#show isis lsp-log Level 1 LSP log When Count Interface 01:50:44 1 01:50:35 1 Loopback0 01:50:28 1 Serial0 01:50:20 1 Serial1 01:50:20 1 Serial1 01:50:18 1 01:36:49 1 Loopback0 Level 2 LSP log When Count 01:50:46 1 01:50:36 1 01:50:30 2 01:50:22 1 01:50:10 1 01:48:21 1 01:48:16 1 01:36:51 1 Interface Loopback0 Serial0 Serial1 Serial0 Serial0 Loopback0 Rtr-A S0 Triggers CONFIG IPUP IPUP IPUP NEWADJ ATTACHFLAG CONFIG Triggers CONFIG IPUP NEWADJ IPUP IPUP IPIA DELADJ NEWADJ CONFIG Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 241 LSP Checksum Detection of LSP Corruption During Flooding Depending on Layer 2 CRC is not enough, corruption happens in routers and switches Compute checksum of received LSP and check against checksum inside LSP If corrupt, silently discard LSP Sender will always retransmit the LSP 242 Does SPF Calculate Correct Routes? show isis topology debug isis spf-events debug isis spf-statistics Also: show ip route isis debug ip routing debug clns routing 243 SPF COMPUTATION show isis topology L1L2 Routers S0 S1 Rtr-B S1 Rtr-C S0 Area 49.0001 Area 49.0002 S0 Rtr-B#show isis topology S1 Rtr-A Rtr-D L1 Routers IS-IS paths to level-1 routers System Id Metric Next-Hop Interface Rtr-B -1921.6800.1005 10 1921.6800.1005 Se1 IS-IS paths to level-2 routers System Id Metric Next-Hop Rtr-B -Rtr-C 10 Rtr-C SNPA *HDLC* Interface SNPA Se0 *HDLC* 245 debug isis spf-events L1 Router Rtr-A S0 Rtr-B#debug isis spf-events IS-IS SPF events debugging is on Rtr-B#conf t Enter configuration commands, one per line. End with CNTL/Z. Rtr-B(config)#int serial 0 Rtr-B(config-if)#shut Rtr-B(config-if)# 07:46:22: ISIS-Spf: L2 LSP 1 (1921.6800.2002.00-00) flagged for recalculation from 35F69EE 07:46:22: ISIS-Spf: L1 LSP 2 (1921.6800.1001.00-00) flagged for recalculation from 360CF3E 07:46:22: %LINK-5-CHANGED: Interface Serial0, changed state to administratively down 07:46:22: ISIS-Spf: Calculating routes for L2 LSP 1 (1921.6800.2002.00-00) 07:46:22: ISIS-Spf: Add 192.168.111.0/255.255.255.0 to IP RIB, metric 20 07:46:22: ISIS-Spf: Next hop 1921.6800.2002/192.168.222.2 (Serial0) (accepted) 07:46:22: ISIS-Spf: Add 192.168.2.2/255.255.255.255 to IP RIB, metric 10 07:46:22: ISIS-Spf: Next hop 1921.6800.2002/192.168.222.2 (Serial0) (accepted) 07:46:22: ISIS-Spf: Add 192.168.2.4/255.255.255.255 to IP RIB, metric 20 07:46:22: ISIS-Spf: Next hop 1921.6800.2002/192.168.222.2 (Serial0) (accepted) 07:46:22: ISIS-Spf: Add 192.168.222.0/255.255.255.0 to IP RIB, metric 20 07:46:22: ISIS-Spf: Next hop 1921.6800.2002/192.168.222.2 (Serial0) (accepted) L1 Router 07:46:22: ISIS-Spf: Aging L2 LSP 1 (1921.6800.2002.00-00), version 516 07:46:22: ISIS-Spf: Calculating routes for L1 LSP 2 (1921.6800.1001.00-00) 07:46:22: ISIS-Spf: Aging L1 LSP 2 (1921.6800.1001.00-00), version 144 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 246 debug isis spf-statistics L1 Router Rtr-A S0 Rtr-B#debug isis spf-statistics IS-IS SPF Timing and Statistics Data debugging is on Rtr-B#conf t Enter configuration commands, one per line. End with CNTL/Z. Rtr-B(config)#int serial 0 Rtr-B(config-if)#shut Rtr-B(config-if)#no shut Rtr-B(config-if)# 07:49:37: %LINK-3-UPDOWN: Interface Serial0, changed state to up 07:49:37: %CLNS-5-ADJCHANGE: ISIS: Adjacency to Rtr-C (Serial0) Up, new adjacency 07:49:37: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0, changed state to up 07:49:37: ISIS-Spf: Compute L2 SPT 07:49:37: ISIS-Spf: Complete L2 SPT, 07:49:37: ISIS-Spf: Compute time 0.008/0.008, 2/0 nodes, 1/0 links, 0 suspends Rtr-B(config-if)# 07:49:37: ISIS-Spf: Compute L1 SPT 07:49:37: ISIS-Spf: Complete L1 SPT, 07:49:37: ISIS-Spf: Compute time 0.004/0.004, 2/0 nodes, 1/0 links, 0 suspends Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 247 Is the Change Noticed? show isis spf-log debug isis spf-trigger show isis lsp-log on generating router show clns traffic to watch for PRCs 248 show isis spf-log L1 Router Rtr-B#show isis spf-log Level 1 SPF log When Duration Nodes Count 02:16:52 0 1 1 02:16:42 0 1 1 02:16:32 0 1 2 02:16:22 8 3 4 02:02:57 02:01:52 01:46:52 01:31:53 01:16:52 01:01:52 00:46:52 00:31:51 00:16:51 00:01:50 4 8 8 8 8 8 8 8 8 64 3 3 3 3 3 3 3 3 3 3 Rtr-A S0 1 1 1 1 1 1 1 1 1 1 Area 49.0001 First trigger LSP Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Triggers NEWLSP TLVCODE NEWADJ TLVCONTENT ATTACHFLAG LSPHEADER TLVCON TENT TLVCONTENT PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC L1 Router S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 249 show isis spf-log L1 Router S0 Level 2 SPF log When Duration Nodes Count 02:16:54 0 1 1 02:16:44 0 1 1 02:16:34 8 2 3 02:14:29 8 2 3 02:14:23 4 2 1 02:13:56 8 2 1 02:02:59 4 2 1 02:01:54 4 2 1 01:46:54 4 2 1 01:31:54 4 2 1 01:16:54 4 2 1 01:01:54 4 2 1 00:46:53 4 2 1 00:31:53 4 2 1 00:16:53 4 2 1 00:01:53 60 2 1 Rtr-A Area 49.0001 First trigger LSP Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Rtr-C.00-00 Rtr-C.00-00 Rtr-B.00-00 S1 Triggers NEWLSP Rtr-B TLVCODE S0 NEWADJ NEWLSP TLVCONTENT L1L2 Routers NEWADJ TLVCONTENT TLVCODE S1 TLVCONTENT TLVCONTENT PERIODIC Rtr-C S0 PERIODIC PERIODIC Area 49.0002 PERIODIC PERIODIC S1 PERIODIC PERIODIC Rtr-D PERIODIC L1 Router PERIODIC 250 debug isis spf-triggers L1 Router Rtr-A S0 Rtr-B#debug isis spf-triggers IS-IS SPF triggering events debugging is on Rtr-B# 07:32:10: ISIS-Spf: L1 SPF needed, periodic SPF, from 0x356C8DC 07:32:10: ISIS-Spf: L2 SPF needed, periodic SPF, from 0x356C8DC Rtr-B#conf t Rtr-B(config)#int serial0 Rtr-B(config-if)#isis metric 15 Rtr-B(config-if)# ^Z 07:38:27: ISIS-Spf: L1 SPF needed, new metric, from 0x3560762 Rtr-B(config)#int serial0 Rtr-B(config-if)#shut Rtr-B(config-if)# ^Z 07:39:23: ISIS-Spf: L2, 1921.6800.1001.00-00 TLV contents changed, code 0x2 07:39:28: ISIS-Spf: L1 SPF needed, L2 attach changed, from 0x357CF36 07:39:28: ISIS-Spf: L1, LSP fields changed 1921.6800.1001.00-00 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 251 Monitoring Performance show proc cpu IS-IS adjacency process(es) Send and receives hellos Manages adjacency database DIS election Should be low CPU usage (< 1%) 252 MONITORING PERFORMANCE Monitoring Performance IS-IS update process(es) SPF computation and flooding CPU usage should fluctuate Don’t worry unless constant > 20% Distributed (CEF) switching should help 254 show proc cpu L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 Rtr-A L1 Routers Rtr-B# sh proc cpu CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 15760 89776 175 0.00% 0.00% 0.00% 0 Load Meter 2 108116 6965 15522 0.08% 0.00% 0.00% 0 Exec 3 1205472 83405 14453 0.00% 0.25% 0.25% 0 Check heaps . . . 47 70580 121119 582 0.00% 0.00% 0.00% 0 CLNS Input 48 14184 79119 179 0.00% 0.00% 0.00% 0 ES-IS Routing 49 205748 206607 995 0.00% 0.00% 0.00% 0 ISIS Adj 50 34596 52216 662 0.00% 0.00% 0.00% 0 ISIS Upd S1 Rtr-D 255 show clns traffic LSPs sourced indicates stability of IS LSP retransmissions should stay low PRCs can not be checked elsewhere LSP checksum errors are a bad sign Update queue should not stay full Update queue should not drop much 256 show clns traffic L1 Router Rtr-B#show clns traffic CLNS: Time since last clear: never CLNS & ESIS Output: 669, Input: 4773 CLNS Local: 0, Forward: 0 CLNS Discards: Hdr Syntax: 0, Checksum: 0, Lifetime: 0, Output cngstn: 0 No Route: 0, Discard Route: 0, Dst Unreachable 0, Encaps. Failed: 0 NLP Unknown: 0, Not an IS: 0 CLNS Options: Packets 0, total 0 , bad 0, GQOS 0, cngstn exprncd 0 CLNS Segments: Segmented: 0, Failed: 0 CLNS Broadcasts: sent: 0, rcvd: 0 Echos: Rcvd 0 requests, 0 replies Sent 0 requests, 0 replies ESIS(sent/rcvd): ESHs: 0/0, ISHs: 669/660, RDs: 0/0, QCF: 0/0 ISO-IGRP: Querys (sent/rcvd): 0/0 Updates (sent/rcvd): 0/0 ISO-IGRP: Router Hellos: (sent/rcvd): 0/0 ISO-IGRP Syntax Errors: 0 IS-IS: Time since last clear: never IS-IS: Level-1 Hellos (sent/rcvd): 282/0 Rtr-A S0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 257 show clns traffic L1 Router IS-IS: Level-2 Hellos (sent/rcvd): 285/0 IS-IS: PTP Hellos (sent/rcvd): 420/415 IS-IS: Level-1 LSPs sourced (new/refresh): 8/2 IS-IS: Level-2 LSPs sourced (new/refresh): 9/1 IS-IS: Level-1 LSPs flooded (sent/rcvd): 5/8 IS-IS: Level-2 LSPs flooded (sent/rcvd): 7/8 IS-IS: LSP Retransmissions: 0 IS-IS: Level-1 CSNPs (sent/rcvd): 1/1 IS-IS: Level-2 CSNPs (sent/rcvd): 2/2 IS-IS: Level-1 PSNPs (sent/rcvd): 7/4 IS-IS: Level-2 PSNPs (sent/rcvd): 7/5 IS-IS: Level-1 DR Elections: 1 IS-IS: Level-2 DR Elections: 1 IS-IS: Level-1 SPF Calculations: 7 IS-IS: Level-2 SPF Calculations: 9 IS-IS: Level-1 Partial Route Calculations: 1 IS-IS: Level-2 Partial Route Calculations: 5 IS-IS: LSP checksum errors received: 0 IS-IS: Update process queue depth: 0/200 IS-IS: Update process packets dropped: 0 Rtr-A S0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 258 show isis spf-log How often are SPFs run? Doesn’t really matter how often Frequent SPFs can indicate a problem In a stable network—only periodic SPF runs Who triggered the SPF?! Check the LSPID of first trigger LSP Helps to find the source of the problem 259 show isis spf-log L1 Router Rtr-A S0 Rtr-B#show isis spf-log Area 49.0001 Level 1 SPF log When Duration Nodes Count 02:16:52 0 1 1 02:16:42 0 1 1 02:16:32 0 1 2 02:16:22 8 3 4 02:02:57 02:01:52 01:46:52 01:31:53 01:16:52 01:01:52 00:46:52 00:31:51 00:16:51 00:01:50 4 8 8 8 8 8 8 8 8 64 3 3 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 First trigger LSP Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Rtr-B.00-00 Triggers NEWLSP TLVCODE NEWADJ TLVCONTENT ATTACHFLAG LSPHEADER TLVCON TENT TLVCONTENT PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC L1 Router PERIODIC S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 260 show isis spf-log How Much CPU Time Is Used per SPF? Normally in the region of msecs 400 node network takes around 50msecs If closer to seconds then maybe an issue (Could mean LSP re-transmissions over p2p links) If so, can change lsp-retransmit-timer 261 show isis spf-log L1 Router Rtr-A S0 Level 2 SPF log When Duration Nodes Count 02:16:54 0 1 1 02:16:44 0 1 1 02:16:34 8 2 3 02:14:29 8 2 3 02:14:23 4 2 1 02:13:56 8 2 1 02:02:59 4 2 1 02:01:54 4 2 1 01:46:54 4 2 1 01:31:54 4 2 1 01:16:54 4 2 1 01:01:54 4 2 1 00:46:53 4 2 1 00:31:53 4 2 1 00:16:53 4 2 1 00:01:53 60 2 1 Area 49.0001 First trigger LSP Triggers Rtr-B.00-00 NEWLSP Rtr-B.00-00 TLVCODE Rtr-B.00-00 NEWADJ NEWLSP TLVCONTENT Rtr-B.00-00 NEWADJ TLVCONTENT Rtr-C.00-00 TLVCODE Rtr-C.00-00 TLVCONTENT Rtr-B.00-00 TLVCONTENT PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC PERIODIC S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 262 show isis lsp-log How often do we generate a new LSP? One router can influence whole net Why did it generate a new LSP? Flapping adjacency is shown by interface show clns neighbour detail Look at the “uptime value” 263 show isis lsp-log L1 Router Rtr-B#show isis lsp-log Level 1 LSP log When Count 01:50:44 1 01:50:35 1 01:50:28 1 01:50:20 1 01:50:20 1 01:50:18 1 01:36:49 1 Level 2 LSP log When Count 01:50:46 1 01:50:36 1 01:50:30 2 01:50:22 1 01:50:10 1 01:48:21 1 01:48:16 1 01:36:51 1 Rtr-A S0 Area 49.0001 Interface Loopback0 Serial0 Serial1 Serial1 Loopback0 Interface Loopback0 Serial0 Serial1 Serial0 Serial0 Loopback0 Triggers CONFIG IPUP IPUP IPUP NEWADJ ATTACHFLAG CONFIG Triggers CONFIG IPUP NEWADJ IPUP IPUP IPIA DELADJ NEWADJ CONFIG S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 264 Traffic Engineering Support for MPLS-TE: Traffic Engineering with Multi Protocol Label Switching IS-IS allows MPLS-TE to flood resource, policy and reservation information about links inside LSPs New information carried in sub-TLVs IS-IS Metrics were extended for TE 265 ADVANCED/NEW FEATURES Traffic Engineering: IS-IS Metrics The interface metric was increased from 6 bits wide to 24 bits wide The total path metric was increased from 10 bits wide to ~32 bits wide Can configure the old or new metrics Default is old style metrics However—must configure wide metrics to use TE 267 Traffic Engineering: IS-IS Metric Styles Current Metric Styles That May Be Present: Narrow Use old style of TLVs with narrow metric Wide Use new style of TLVs to carry wider metric Transition Used when migrating from old to new format Router will accept both old and new style metrics Caveat: Should only be used in transitioning 268 Traffic Engineering Support L1 Router sh isis database detail Rtr-C#sh isis dat det IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime Rtr-C.00-00 * 0x00000080 0x2237 958 Area Address: 49.0002 NLPID: 0xCC Hostname: Rtr-C IP Address: 192.168.2.2 Metric: 0 IP 192.168.2.2/32 Metric: 10 IP 192.168.111.0/24 Metric: 10 IP 192.168.222.0/24 Metric: 10000 IS-Extended Rtr-D.00 Rtr-D.00-00 0x00000076 0xB426 1137 Area Address: 49.0002 NLPID: 0xCC Hostname: Rtr-D IP Address: 192.168.2.4 Metric: 0 IP 192.168.2.4/32 Metric: 10 IP 192.168.111.0/24 Metric: 10000 IS-Extended Rtr-C.00 Rtr-A S0 Area 49.0001 S1 ATT/P/OL 1/0/0 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 0/0/0 S1 Rtr-D L1 Router 269 Traffic Engineering Support L1 Router sh isis database detail IS-IS Level-2 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime Rtr-B.00-00 0x0000007D 0x0BAD 670 Area Address: 49.0001 NLPID: 0xCC Hostname: Rtr-B IP Address: 192.168.1.1 Metric: 6250000 IS-Extended Rtr-C.00 Metric: 10 IP 192.168.120.0/24 Metric: 0 IP 192.168.1.1/32 Metric: 10 IP 192.168.1.5/32 Metric: 10 IP 192.168.222.0/24 Rtr-C.00-00 * 0x00000080 0xA130 1141 Area Address: 49.0002 NLPID: 0xCC Hostname: Rtr-C IP Address: 192.168.2.2 Metric: 10000 IS-Extended Rtr-B.00 Metric: 10 IP 192.168.111.0/24 Metric: 0 IP 192.168.2.2/32 Metric: 10 IP 192.168.2.4/32 Metric: 10 IP 192.168.222.0/24 Rtr-A S0 ATT/P/OL 0/0/0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 0/0/0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 270 Traffic Engineering Support sh isis database verbose (for TE BW info) hr3.iad.00-00 0x00001FE3 0x5FEE 34751 0/0/0 Area Address: 39.840f.8011.3824.0000.9000.0820 NLPID: 0xCC Hostname: hr3.iad Router ID: 204.152.166.8 IP Address: 204.152.166.8 Metric: 5 IS-Extended hr3.iad.03 Affinity: 0x00000000 Interface IP Address: 209.143.220.163 Physical BW: 100000000 bits/sec Reservable BW: 100000000 bits/sec BW Unreserved[0]: 100000000 bits/sec, BW Unreserved[1]: 100000000 bits/sec BW Unreserved[2]: 100000000 bits/sec, BW Unreserved[3]: 100000000 bits/sec BW Unreserved[4]: 100000000 bits/sec, BW Unreserved[5]: 100000000 bits/sec BW Unreserved[6]: 100000000 bits/sec, BW Unreserved[7]: 100000000 bits/sec Metric: 4 IS-Extended cr2.iad3.00 Affinity: 0x00000000 Interface IP Address: 206.132.253.62 Neighbor IP Address: 206.132.253.61 Physical BW: 155000000 bits/sec Reservable BW: 155000000 bits/sec BW Unreserved[0]: 155000000 bits/sec, BW Unreserved[1]: 155000000 bits/sec BW Unreserved[2]: 155000000 bits/sec, BW Unreserved[3]: 155000000 bits/sec BW Unreserved[4]: 155000000 bits/sec, BW Unreserved[5]: 155000000 bits/sec BW Unreserved[6]: 155000000 bits/sec, BW Unreserved[7]: 155000000 bits/sec 271 Traffic Engineering Support Also to View Bandwidth Information Use: sh isis mpls traffic-eng advertisements System ID: wr1.sfo1.00 Router ID: 206.132.110.69 Link Count: 9 Link[1] Neighbor System ID: wr2.sfo1.00 (P2P link) Interface IP address: 206.132.110.73 Neighbor IP Address: 206.132.110.74 Admin. Weight: 1 Physical BW: 2488000000 bits/sec Reservable BW: 2480000000 bits/sec BW unreserved[0]: 2480000000 bits/sec, BW unreserved[1]: 2420891904 bits/sec BW unreserved[2]: 2420771840 bits/sec, BW unreserved[3]: 2356474880 bits/sec BW unreserved[4]: 2313820928 bits/sec, BW unreserved[5]: 2313820928 bits/sec BW unreserved[6]: 2313820928 bits/sec, BW unreserved[7]: 2313820928 bits/sec Affinity Bits: 0x00000000 272 Traffic Engineering Support To View Tunnel Information: sh isis mpls traffic-eng tunnel Rtr-B# show isis mpls traffic-eng tunnel Station Id Rtr-C.00 Rtr-D.00 Tunnel Name Tunnel1022 Tunnel1021 Tunnel1031 Tunnel1032 Bandwidth 3333 10000 10000 10000 Nexthop 2.2.2.2 2.2.2.2 3.3.3.3 3.3.3.3 Metric -3 11 -1 Mode Relative Absolute Relative 273 Traffic Engineering Support To View Adjacency Information: sh isis mpls traffic-eng adjacency-log Rtr-B#show isis mpls traffic-eng adjacency-log IS-IS RRR log When Neighbor ID 04:52:52 0000.0024.0004.02 04:52:50 0000.0026.0001.00 04:52:37 0000.0024.0004.02 IP Address 0.0.0.0 170.1.1.2 0.0.0.0 Interface Et0/2 PO1/0/0 Et0/2 Status Up Up Up Level level-1 level-1 level-1 274 Metric Style Issues Metric style issues An IS is configured for WIDE metrics and receives a TLV with NARROW metrics: Mismatch TLVs 0x80 (TLV 128) and 0x87 (TLV 135) TLV 128 is IP Internal Reachability (Narrow) TLV 135 is Extended IP Reachability TLV (Wide) Rtr-B#debug isis update-packets Sep 2 19:03:19.591: ISIS-Update: Rec L1 LSP 3333.3333.3333.00-00, seq B5D, ht 1199, Sep 2 19:03:19.591: ISIS-Update: from SNPA *HDLC* (Serial2/2) Sep 2 19:03:19.591: ISIS-Update: LSP newer than database copy Sep 2 19:03:19.591: ISIS-Update: TLV code mismatch (87, 80) Sep 2 19:03:19.591: ISIS-Update: TLV contents different, code 87 Sep 2 19:03:19.591: ISIS-Update: TLV code mismatch (16, 2) 275 Sep 2 19:03:19.591: ISIS-Update: Full SPF required Route Leaking Feature to enable redistributing Level 2 IP routes into Level 1 areas Enables Level 1-only routers to pick the best path to exit the area Enables shortest-exit and MED for BGP Redistribution can be controlled via distribute-lists IP-only feature (CLNS still uses stub) 276 Verifying Route Leaking L1 Router Leaking from Rtr-C to Rtr-D: Rtr-A S0 Area 49.0001 Rtr-D#sh ip ro isis i ia 1.0.0.0/8 [115/74] via 192.168.111.2, Serial1 i ia 2.0.0.0/8 [115/74] via 192.168.111.2, Serial1 i ia 3.0.0.0/8 [115/74] via 192.168.111.2, Serial1 i ia 4.0.0.0/8 [115/74] via 192.168.111.2, Serial1 i ia 5.0.0.0/8 [115/74] via 192.168.111.2, Serial1 i ia 6.0.0.0/8 [115/74] via 192.168.111.2, Serial1 i ia 7.0.0.0/8 [115/74] via 192.168.111.2, Serial1 192.168.2.0/32 is subnetted, 2 subnets i L1 192.168.2.2 [115/10] via 192.168.111.2, Serial1 i L1 192.168.222.0/24 [115/20] via 192.168.111.2, Serial1 i*L1 0.0.0.0/0 [115/10] via 192.168.111.2, Serial1 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D Routes highlighted are shown as IS-IS inter-area L1 Router Routes originated on Rtr-B and leaked from Rtr-C 277 Verifying Route Leaking L1 Router Leaking from Rtr-C to Rtr-D: Rtr-A S0 Area 49.0001 Rtr-D#sh isis dat det S1 IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime Rtr-C.00-00 0x000000FB 0x8E85 620 Area Address: 49.0002 NLPID: 0xCC Hostname: Rtr-C IP Address: 192.168.2.2 Metric: 0 IP 192.168.2.2/32 Metric: 10 IP 192.168.111.0/24 Metric: 10 IP 192.168.222.0/24 Metric: 10000 IS-Extended Rtr-D.00 Metric: 74 IP-Interarea 1.0.0.0/8 Metric: 74 IP-Interarea 2.0.0.0/8 Metric: 74 IP-Interarea 3.0.0.0/8 Metric: 74 IP-Interarea 4.0.0.0/8 Metric: 74 IP-Interarea 5.0.0.0/8 Metric: 74 IP-Interarea 6.0.0.0/8 Metric: 74 IP-Interarea 7.0.0.0/8 Rtr-B ATT/P/OL 1/0/0 S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 278 HMAC-MD5 Authentication Supported platforms: 12000, 10720, 10000, 7500, 7200 Supported across all packet types: Hellos, LSPs, CSNPs, PSNPs Can authenticate under the IS-IS process (for LSP/CSNP/PSNP) and/or on the interface (for hellos) Can authenticate at Level 1 and/or Level 2 279 HMAC-MD5 Authentication L1 Router Typical Configuration: ! key chain cisco key 100 key-string systems ! interface Serial1/0 ip address 10.1.1.1 255.255.255.252 ip router isis isis authentication mode md5 isis authentication key-chain cisco ! router isis net 49.0000.0101.0101.0101.00 authentication mode md5 authentication key-chain cisco Rtr-A S0 Area 49.0001 S1 Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 280 HMAC-MD5 Authentication Use “sh clns neighbor” to verify adjacency Rtr-A#sh clns nei System Id Rtr-B Interface Se2/2 SNPA *HDLC* State Holdtime Type Protocol Up 28 L1L2 IS-IS Use “sh key chain” to view key chain information Rtr-A#sh key chain Key-chain cisco: key 100 -- text "systems" accept lifetime (always valid) - (always valid) [valid now] send lifetime (always valid) - (always valid) [valid now] 281 HMAC-MD5 Authentication Use “debug isis authentication information” Debug below shows normal operation as same MD5 info is re-used if there is no change in IIH Rtr-A#debug isis authentication information Sep 23 15:41:45.040: ISIS-AuthInfo: IIH no change, use the same hmac value Sep 23 15:41:54.880: ISIS-AuthInfo: IIH no change, use the same hmac value Sep 23 15:42:04.620: ISIS-AuthInfo: IIH no change, use the same hmac value L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 S1 Rtr-A Rtr-D L1 Routers 282 HMAC-MD5 Authentication Use “debug isis authentication information” Debug below shows that local router received a packet that does not contain authentication data Rtr-B#debug isis authentication information Sep 23 15:42:28.950: ISIS-AuthInfo: No auth TLV found in received packet Sep 23 15:42:29.830: ISIS-AuthInfo: No auth TLV found in received packet Sep 23 15:42:30.106: ISIS-AuthInfo: No auth TLV found in received packet Sep 23 15:42:30.422: ISIS-AuthInfo: No auth TLV found in received packet Sep 23 15:42:30.458: ISIS-AuthInfo: No auth TLV found in received packet L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 S1 Rtr-A Rtr-D L1 Routers 283 HMAC-MD5 Authentication Neighbor does not use authentication for the IS-IS instance No LSPs, CSNPs or PSNPs sent with authentication No LSPs, CNPs or PSNPs received by neighbor Rtr-A#sh isis dat IS-IS Level-1 Link State Database LSPID LSP Seq Num LSP Checksum LSP Holdtime Rtr-A.00-00 * 0x00000002 0xDFE8 1195 0/0/0 IS-IS Level-2 Link State Database LSPID LSP Seq Num LSP Checksum LSP Holdtime Rtr-A.00-00 * 0x00000002 0x5E9A 1195 0/0/0 ATT/P/OL ATT/P/OL 284 HMAC-MD5 Authentication No neighbor routes installed in local RIB Rtr-A#sh ip route C C C C 192.168.60.0/30 is subnetted, 1 subnets 192.168.60.4 is directly connected, FastEthernet0/0 192.168.110.0/32 is subnetted, 1 subnets 192.168.110.1 is directly connected, Loopback0 192.168.20.0/30 is subnetted, 1 subnets 192.168.20.12 is directly connected, Serial2/2 10.0.0.0/22 is subnetted, 1 subnets 10.200.96.0 is directly connected, Ethernet5/0 285 HMAC-MD5 Authentication Neighbor does not use authentication for the interface No hellos sent with authentication No hellos received by neighbor Neighborship is taken down—hold time expired Rtr-A# Sep 23 17:16:36.191: %CLNS-5-ADJCHANGE: ISIS: Adjacency to Rtr-B (Serial2/2) Down, hold time expired Rtr-A#sh clns nei System Id Interface SNPA State Holdtime Type Protocol 286 HMAC-MD5 Authentication Neighbor does not use authentication for the interface Neighborship taken down Non-authenticating router in Init state Rtr-B# Sep 23 17:16:43.102: %CLNS-5-ADJCHANGE: ISIS: Adjacency to Rtr-A (Serial0/2) Down, neighbor forgot us Rtr-B#sh clns nei System Id Interface SNPA Rtr-A Se0/2 *HDLC* State Holdtime Type Protocol Init 27 L1L2 IS-IS 287 HMAC-MD5 Authentication No Routes in RIB on Both Neighbors Rtr-A#sh ip ro 192.168.60.0/30 is subnetted, 1 subnets C 192.168.60.4 is directly connected, FastEthernet0/0 192.168.110.0/32 is subnetted, 1 subnets C 192.168.110.1 is directly connected, Loopback0 192.168.20.0/30 is subnetted, 1 subnets C 192.168.20.12 is directly connected, Serial2/2 10.0.0.0/22 is subnetted, 1 subnets C 10.200.96.0 is directly connected, Ethernet5/0 Rtr-B#sh ip ro 192.168.30.0/30 is subnetted, 1 subnets C 192.168.30.4 is directly connected, Serial0/0 192.168.150.0/30 is subnetted, 1 subnets C 192.168.150.4 is directly connected, Ethernet3/2 192.168.20.0/30 is subnetted, 1 subnets C 192.168.20.12 is directly connected, Serial0/2 10.0.0.0/22 is subnetted, 1 subnets C 10.200.96.0 is directly connected, Ethernet3/0 192.168.220.0/32 is subnetted, 1 subnets C 192.168.220.1 is directly connected, Loopback0 288 Multi-Topology (MT) Support for IS-IS Now IPv4 and IPv6 topologies are separate Lifts previous restrictions Much easier deployment of IPv6 No need for IPv4 and IPv6 to be congruent Avoids previous possible complications Supported from 12.0(26)S, 12.2(15)T Draft-ietf-isis-wg-multi-topology-xx.txt 289 MT for IPv6: Hello Processing Maintaining MT Adjacencies Basic hello processing and checking is the same MT membership is advertised in IIH packets MT ID #0 for IPv4 MT ID #2 for IPv6 Must have at least one common set of topology types to form an adjacency LAN nodes will always establish an adjacency regardless of MT for reliable flooding and sync 290 MT for IPv6: LSP Generation and Flooding The LSP flooding mechanism is unchanged for multi-topology integrated IS-IS For LANs—DIS, CSNP and PSNP functions are unchanged by MT extension Use standard show and debug commands to troubleshoot 291 MT for IPv6: SPF and RIBs Each topology (IPv4 and IPv6) runs its own SPF During IPv6 SPF we examine TLV 222 for MT ID #2 to build the Shortest Path Tree Two-Way Connectivity Check (TWCC) follows TWCC ensures bidirectional reachability For leaf nodes we examine TLV 237 for MT ID #2 and install the IPv6 prefixes in the IPv6 RIB 292 MT for IPv6: Memory and Performance Additional memory will be required However—will not have major impact on overall system requirements Performance impact will be additional SPF runtime to compute L1 and L2 IPv6 topology However IPv6 SPF not run back-to-back with IPv4—but interleaved so no CPU hogging 293 MT for IPv6: Restrictions Not compatible with previous implementation Not compatible with single SPF IPv6 However transition mode possible to migrate from current IPv6 to MT IPv6 Advertises both IPv6 and MT IPv6 TLVs If IPv4 and IPv6 are configured on the same interface—they must be running the same level Must use wide metrics 294 Multi-Topology IS-IS Example Area C Area B Area A Area D IPv4-IPv6 Enable Router The Multi-Topology Software Will Create Two Topologies Inside Area IPv4 and IPv6 IPv4-Only Enable Router IPv4-Only Routers Will Be Excluded from the IPv6 Topology 295 MT for IPv6: Basic Configuration Area B LAN1: 2001:0001::45c/64 Ethernet-1 Router1# interface ethernet-1 ip address 10.1.1.1 255.255.255.0 ipv6 address 2001:0001::45c/64 ip router isis ipv6 router isis isis ipv6 metric 20 Router1 Ethernet-2 LAN2: 2001:0002::45a/64 The optional keyword TRANSITION may be used for transitioning existing IS-IS IPv6 single SPF mode to MT IS-IS Wide metric is mandated for Multi-Topology to work interface ethernet-2 ip address 10.2.1.1 255.255.255.0 ipv6 address 2001:0002::45a/64 ip router isis ipv6 router isis isis ipv6 metric 20 router isis net 49.0000.0100.0000.0000.0500 metric-style wide ! address-family ipv6 multi-topology exit-address-family 296 Cisco IOS Multi-Topology IS-IS Display Router# show clns neighbors detail System Id Interface SNPA State Holdtime 2653 Se0/1 *HDLC* Up 25 Area Address(es): 49.0000.01 IP Address(es): 192.168.0.6* IPv6 Address(es): FE80::204:C1FF:FEDB:2FA0 Uptime: 00:01:22 Topology: IPv4, IPv6 Type L1L2 2652# show isis database detail IS-IS Level-2 Link State Database: LSPID LSP Seq Num LSP Checksum Holdtime ATT/P/OL 2651.00-00 0x0000000F 0x0161 1066 Area Address: 49.0000.01 Topology: IPv4 (0x0) IPv6 (0x2) NLPID: 0xCC 0x8E Hostname: 2651 IP Address: 192.168.0.2 IPv6 Address: 3FFF:FFFF:2::1 Metric: 10 IS-Extended 2652.00 Metric: 10 IS-Extended 2653.01 Metric: 10 IS (MT-IPv6) 2653.01 Metric: 10 IP 192.168.0.0/30 Metric: 20 IP 192.168.0.4/30 Metric: 10 IP 192.168.1.0/24 Metric: 20 IPv6 (MT-IPv6) 3FFF:FFFF:1::/64 Metric: 10 IPv6 (MT-IPv6) 3FFF:FFFF:2::/64 Protocol M-ISIS LSP 0/0/0 MT IS-IS 297 Local RIB The Local RIB contains entries for all possible routes to destinations From this RIB, the best route is chosen to be installed in the ‘IP routing table’ Local RIB is also necessary for prefix prioritization Local RIB can significantly reduce convergence time 298 Viewing Local RIB Information L1 Router Rtr-A S0 Rtr-B#sh isis rib ? A.B.C.D Network prefix redistribution ISIS IP redistribution RIB information | Output modifiers <cr> Area 49.0001 S1 Rtr-B Rtr-B#sh isis rib 192.168.40.14 IPv4 local RIB for IS-IS process Routes under majornet 192.168.40.0/24: 192.168.40.4/30 [115/L1/20] via 192.168.40.5(Serial0/0), from 192.168.40.17, tag 0, LSP[3/51] [115/L2/20] via 192.168.40.5(Serial0/0), from 192.168.40.17, tag 0, LSP[4/166] 192.168.40.16/30 [115/L1/20] via 192.168.40.5(Serial0/0), from 192.168.40.17, tag 0, LSP[3/51] [115/L2/20] via 192.168.40.5(Serial0/0), from 192.168.40.17, tag 0, LSP[4/166] S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 299 Debugging Local RIB Information L1 Router Rtr-B#debug isis rib ? global IS-IS IP routes in global RIB local IS-IS IP routes in local RIB redistribution IS-IS IP redistribution RIB Rtr-A S0 Area 49.0001 S1 Rtr-B#debug isis rib local IS-IS IPv4 local RIB debugging is on Rtr-B# *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.4/30: Looking for RT *Mar 15 01:18:34.882: ISIS-LR: RT exists *Mar 15 01:18:34.882: ISIS-LR: path exists: [115/40/20] via 192.168.40.5(Se0/0) from 192.168.40.17 tg 0 LSP[3/(51->52)] *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.12/30: Looking for RT *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.12/30: Create new RT *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.12/30: create new path: [115/40/20] via 192.168.40.5(Se0/0) from 192.168.40.5 tag 0 LSP[3/52] *Mar 15 01:18:34.882: ISIS-LR: Enqueued to updateQ[2] for 192.168.40.12/30 *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.16/30: Looking for RT *Mar 15 01:18:34.882: ISIS-LR: RT exists *Mar 15 01:18:34.882: ISIS-LR: path exists: [115/40/20] via 192.168.40.5(Se0/0) from 192.168.40.17 tg 0 LSP[3/(51->52)] *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.12/30: not aged out in LSP ix 3 same ver(52) *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.16/30: not aged out in LSP ix 3 same ver(52 L1 Router *Mar 15 01:18:34.882: ISIS-LR: 192.168.40.4/30: not aged out in LSP ix 3 same ver(52) Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 300 Debugging Global RIB Information L1 Router Rtr-B#debug isis rib ? global IS-IS IP routes in global RIB local IS-IS IP routes in local RIB redistribution IS-IS IP redistribution RIB Rtr-A S0 Area 49.0001 S1 Rtr-B#debug isis rib global IS-IS IPv4 global RIB debugging is on Rtr-B# *Mar 15 01:22:06.117: ISIS-GR: ------ Start updateQ, from 60773650 *Mar 15 01:22:06.117: ISIS-GR: 192.168.210.1 255.255.255.255: updateQ[1] entry *Mar 15 01:22:06.117: ISIS-GR: del rdb *Mar 15 01:22:06.117: ISIS-GR: 192.168.250.12 255.255.255.252: updateQ[2] entry *Mar 15 01:22:06.117: ISIS-GR: del rdb *Mar 15 01:22:06.117: ISIS-GR: 192.168.250.4 255.255.255.252: updateQ[2] entry *Mar 15 01:22:06.121: ISIS-GR: del rdb *Mar 15 01:22:06.121: ISIS-GR: 192.168.30.16 255.255.255.252: updateQ[2] entry *Mar 15 01:22:06.121: ISIS-GR: del rdb *Mar 15 01:22:06.121: ISIS-GR: 192.168.20.4 255.255.255.252: updateQ[2] entry *Mar 15 01:22:06.121: ISIS-GR: del rdb *Mar 15 01:22:06.121: ISIS-GR: ------ End updateQ, 0 suspends *Mar 15 01:22:06.121: ISIS-GR: ------ Start updateQ, from 60773DE0 *Mar 15 01:22:06.121: ISIS-GR: 192.168.40.12 255.255.255.252: updateQ[2] entry *Mar 15 01:22:06.125: ISIS-GR: del rdb L1 Router *Mar 15 01:22:06.125: ISIS-GR: ------ End updateQ, 0 suspends Rtr-B S0 L1L2 Routers S1 S0 Rtr-C Area 49.0002 S1 Rtr-D 301 Incremental SPF (i-SPF) Incremental SPF Modified Dijkstra algorithm We keep the unchanged part of the tree We rebuild only the affected parts of the tree Re-attach the affected parts of the tree to the unchanged part of the tree Fairly complex algorithm 302 Incremental SPF (i-SPF) When new LSPs are received, each router will check what has changed in the LSP Based on the changed information, the SPT is “modified” in order to reflect the changes Start the computation from the node that received the change i-SPF is essentially used to prepare lists for running standard Dijkstra and computing next-hops No need to run SPF if a link that was not in the SPT is reported down 303 Incremental SPF (i-SPF) G F Cost: 8, NH: D, B C E Cost: 13, NH: D Cost: 6, NH: D, B D Cost: 3, NH: D Cost: 11, NH: B S2 B Cost: 3, NH: B S3 S1 S0 A Cost: 0, NH: -- C-G Link Is Down; C-G Link Was Not Used in SPT Anyway, Therefore There Is No Need to Run SPF 304 Incremental SPF (i-SPF) G H F Cost: 8, NH: D, B C E F Reports a New Neighbor; the SPT Need Only To Be Extended Behind F; There Is No Need for Router A to Recompute the Whole SPT Router A Will Compute SPF from Node F Cost: 13, NH: D Cost: 6, NH: D, B D Cost: 3, NH: D Cost: 11, NH: B S2 B Cost: 3, NH: B S3 S1 S0 A Cost: 0, NH: -- 305 Incremental SPF (i-SPF): Configuration When router is powered on—we always run a full SPF to build the tree To configure i-SPF under router isis: ispf [level-1/level-2/level-1-2] [1-600] Must specify levels The last parameter (1–600) is optional and corresponds to the duration (in seconds) of full SPF runs after reload By default, full SPF is run for the first 60 seconds after reload—even if i-SPF is configured Integrated into 12.0(24)S 306 debug isis spf-statistics Rtr-A#debug isis spf-statistics *Mar 15 01:03:44.044: ISIS-Stats: *Mar 15 01:03:44.044: ISIS-Stats: *Mar 15 01:03:44.048: ISIS-Stats: *Mar 15 01:03:44.048: ISIS-Stats: *Mar 15 01:03:44.048: ISIS-Stats: *Mar 15 01:03:44.048: ISIS-Stats: *Mar 15 01:03:44.048: ISIS-Stats: Compute L1 SPT Starting incremental SPF for level-1 SPF only compute time 0.000 IPv4 RIB only compute time 0.004 Complete L1 SPT, Compute time 0.004, 2 nodes, 0 links on SPT, 0 suspends I-SPF NewLSP: 0.000 (3 nodes) - Reattach: 0.000 - WalkTENT: 0.000 I-SPF WalkParents: 0.000 (0 nodes) - Total time: 0.000 L1L2 Routers S0 S1 Rtr-B Area 49.0001 S1 Rtr-C S0 Area 49.0002 S0 S1 Rtr-A Rtr-D L1 Routers 307 Viewing i-SPF L1 Router Rtr-A S0 Rtr-A#sh isis spf-log detail Area 49.0001 level 1 SPF log S1 i-SPF triggered 2 times, first at 01:03:38.548 Mar 15 1993 by TLVCONTENT wait enforced 5.500, next wait interval 5.500 SPT node total/processed/time: 4/2/0.000 RIB prefix processed/time: 0/0.000 1/0.000 3/0.004 Rtr-B S0 L1L2 Routers S1 S0 Full SPF triggered 2 times, first at 00:51:17.877 Mar 15 1993 by NEWADJ wait enforced 5.500, next wait interval 5.500 SPT node total/processed/time: 2/2/0.000 RIB prefix processed/time: 0/0.000 0/0.000 2/0.004 Rtr-C Area 49.0002 S1 Rtr-D L1 Router 308 Non-Stop Forwarding Allows uninterrupted data forwarding during a switchover to a standby RP Routing protocol mechanisms are also applicable to a restart in the RP Forwarding Information Base (FIB) is maintained and updated once the routing protocols reconverge May be used for planned and unplanned events Two modes of NSF available: Cisco and IETF 309 NSF: Routing Protocol Requirements Switchover MUST be completed before dead/hold timer expires Peers will reset the adjacency and reroute the traffic after that time FIB MUST remain unchanged during switchover Current routes marked as “dirty” during restart; “cleaned” once convergence is complete Adjacencies MUST NOT be reset when switchover is complete Protocol state is not maintained Peers of restarting router SHOULD also be NSF-aware 310 NSF Configuration Commands To Configure NSF under “router isis”: nsf [cisco/ietf ] Enables isis nsf, OFF by default nsf interval xxx Minimal time interval between two restart (default =5min) nsf holdtime [manual <seconds> | adjacency] IETF version only Time NSF will wait for the LSP database to synchronize before generating and flooding its own LSP with the overload-bit set 311 NSF Configuration and Debug Commands nsf interface wait xxx Cisco version only (default=10 sec, range [1–60] ) Time an NSF restart will wait for all interfaces with ISIS adjacencies to come up before completing the restart Show commands show isis nsf nsf capability and restart information show clns neighbor detail peer’s nsf capability show isis database detail LSP information Debug commands debug isis nsf [cisco | detail | ietf] debug isis adj-packets 312 IS-IS NSF “show commands” NSF Cisco mode—check that it is enabled chi-hr1#show isis nsf NSF is ENABLED, mode 'cisco' RP is ACTIVE, standby ready, bulk sync complete NSF interval timer expired (NSF restart enabled) Checkpointing enabled, no errors Local state: ACTIVE, Peer state: STANDBY HOT, Mode: SSO We maintain the IS-IS Neighbor and Database Information on the STANDBY [G]RP GRP-Slot9#show clns neighbor System Id Interface SNPA State Holdtime Type Protocol chi-ar1 PO2/0 *HDLC* Stby 30 L2 IS-IS 313 IS-IS NSF “show commands” NSF IETF mode—check that it is enabled chi-hr1#sh isis nsf NSF is ENABLED, mode 'ietf' NSF pdb state: Inactive NSF L2 active interfaces: 0 NSF L2 active LSPs: 0 NSF interfaces awaiting L2 CSNP: 0 Awaiting L2 LSPs: NSF T3 remaining: 0 seconds Interface: Ethernet0 NSF L2 Restart state: Running NSF L2 Restart retransmissions: 0 Maximum L2 NSF Restart retransmissions: 3 Interface: POS2/0 NSF L2 Restart state: Running NSF p2p Restart retransmissions: 0 Maximum L2 NSF Restart retransmissions: 3 314 IS-IS NSF “show commands” chi-hr1#show clns neighbor detail System Id Interface SNPA State Holdtime Type Protocol chi-ar1 PO2/0 *HDLC* Up 21 L2 IS-IS Area Address(es): 10 IP Address(es): 172.1.1.21* Uptime: 01:52:02 NSF capable 315 IS-IS NSF “debug commands” Rtr-A#debug isis nsf? cisco Include only Cisco NSF information detail Include detailed information ietf Include only IETF NSF information Other debug information also useful with NSF: debug isis update-packets debug isis snp-packets debug isis adj-packets 316 IS-IS NSF “debug isis nsf ietf” *Aug 12 17:32:45.507 PDT: ISIS-NSF: Inserting p2p NSF REQ on POS3/0 IIH *Aug 12 17:32:45.519 PDT: ISIS-NSF: POS3/0 level-2 state progression: state=Restarting/event=RA Rcvd/newstate=RA Seen *Aug 12 17:32:45.519 PDT: ISIS-NSF: ISIS NSF restart ACK option received on p2p itf from 2002.0020.0001 (POS3/0) *Aug 12 17:32:45.559 PDT: ISIS-NSF: POS3/0 level-2 state progression: state=RA Seen/event=CSNP Rcvd/newstate=Running 317 IS-IS NSF: Other Useful Debug Commands • debug isis update-packets • debug isis snp-packets • debug isis adj-packets .Aug 23 14:10:18.926 PDT: ISIS-Update: Sending L2 P2P sync CSNP on PO2/0 .Aug 23 14:10:18.926 PDT: ISIS-Update: Sending L2 CSNP on POS2/0 .Aug 23 14:10:18.926 PDT: ISIS-SNP: Rec L2 PSNP from 2002.0020.0001 (POS2/0) .Aug 23 14:10:18.926 PDT: ISIS-SNP: PSNP entry 2002.0020.0003.FE-FE, seq 0, ht 1199 .Aug 23 14:10:20.962 PDT: ISIS-Update: Sending L2 LSP 2002.0020.0003.00-00, seq F7, ht 1199 on POS2/0 .Aug 23 14:10:21.790 PDT: ISIS-Adj: Rec serial IIH from *HDLC* (POS2/0), cir type L2, cir id 00, length 4469 .Aug 23 14:10:21.790 PDT: ISIS-Adj: rcvd state UP, old state UP, new state 318 UP Trouble Shooting CEF Vocabulary CEF: Cisco Express Forwarding FIB: Forwarding Information Base collection of data used to make switching decision • RIB: Routing Information Base topology information that the router learns from routing protocols 320 CEF...What is it? Advanced layer-3, IP switching method; scaleable, distributed, high performance CEF differs from current fast switching in the way the router maintains its forwarding table CEF switching is required for most of the new IP QoS features 321 Features Load balancing Per destination (the default) and per packet over equal/unequal cost links for as many paths as known in the routing topology Traffic statistics Byte and packet counts at a granularity of per-prefix, per-neighbor etc.. 322 Features (cont..) Media independence CEF currently supports Packet over Sonet, ATM/AAL5, Frame Relay, Ethernet, FDDI, HDLC, PPP and tunnels. Tunneling: Generic Route Encapsulation (GRE). Subinterface support: allowing for the flexibility of per subinterface configurations e.g. MTU. 323 Today’s Problems and CEF’s Solutions Type of traffic - Efficiency Today’s traffic is short lived. Cache on demand (fast switching) requires constant cache create/invalidate (aging). FIB has a forwarding entry for every routable prefix. Dynamic networks - Performance The FIB table mirrors the routing table exactly thus fast convergence 324 Today’s Problems and CEF’s Solutions (cont.) Scalability Core routers carry high number of prefixes (mostly recursive) which need to be resolved each time a packet has to be process switched (cache on demand). In CEF, the recursive route is resolved when the FIB table is built. dCEF is also available. Better use of memory and CPU. 325 Possible problem The throughput of the router is less than expected. The throughput of an interface is less than expected. Packets are getting dropped when CEF/dCEF is enabled Packets are not CEF switched but fast switched instead. 326 Possible problem(cont.) Packets are not dCEF switched but fast switched instead Packets are not dCEF switched but CEF switched instead. Load-sharing is not working The route processor runs out of memory when dCEF is enabled CEF disables itself on a linecard due to lack of memory 327 The throughput of the router is less than expected. Possible problem :CEF/dCEF is not enabled globally on the router. Solution Step 1 Check is CEF/dCEF is enabled globally on router. Use global command ip cef for central processor switching or ip cef distributed if you want distributed CEF switching. When CEF/dCEF is enabled globally, CEF/dCEF is automatically enabled on the interfaces. If show ip summary command gives an output that means CEF is enabled. If not, you get the following output for show ip summary: router#show ip summary %CEF not running 329 The throughput of an interface is less than expected. Possible problem : CEF/dCEF is not enabled on this interface. Solution Step 1 Check if CEF/dCEF is enabled on the interface. Use interface command ip route-cache cef for central processor switching or ip route-cache distributed if you want distributed CEF switching. The result of show cef interface x/x and show ip interface x/x must report one of the following: IP CEF switching enabled IP Normal CEF switching turbo vector IP Distributed CEF switching enabled IP Distributed CEF switching turbo vector Below is a example on a router: 331 Example router#show cef interface FastEthernet0/1 FastEthernet0/1 is up (if_number 3) Corresponding hwidb fast_if_number 3 Corresponding hwidb firstsw->if_number 3 Internet address is 10.254.0.200/24 ICMP redirects are always sent Per packet load-sharing is disabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set IP policy routing is disabled Hardware idb is FastEthernet0/1 Fast switching type 1, interface type 18 IP CEF switching enabled IP Feature Fast switching turbo vector IP Feature CEF switching turbo vector Input fast flags 0x0, Output fast flags 0x0 ifindex 2(2) Slot 0 Slot unit 1 VC -1 Transmit limit accumulator 0x0 (0x0) IP MTU 1500 332 Packets are getting dropped when CEF/dCEF is enabled Possible problem : The CEF entries and the adjacencies table are not completely built. Solution Step 1 Verify whether the router has completely built the CEF entries and adjacencies table. If it is not the case the router may switch the packet using an alternative switching method. This is why the packets are 50% successful. To verify this, issue the command show ip cache. There should be an IP cache entry built for this prefix. router#show ip cache IP routing cache 0 entries, 0 bytes 3 adds, 3 invalidates, 0 refcounts The above result of the command shows that the router has been doing cache switching for a moment: 3 adds, 3 invalidates. The result of the ping is 50% successful as the number of packets that are punted is rate limited. 334 Solution(cont.) router #ping ip Target IP address: 12.0.0.1 Repeat count [5]: 20 Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 20, 100-byte ICMP Echoes to 12.0.0.1, timeout is 2 seconds: !.!.!.!.!.!.!.!.!.!. Success rate is 50 percent (10/20), round-trip min/avg/max = 1/1/1 ms An adjacency on interface POS8/0/0 is still incomplete. router#show adjacency Protocol Interface Address IP POS8/0/0 point2point(3) IP Serial10/0/0:28 point2point(3) 335 IP POS8/0/0 point2point(2) (incomplete) Packets are getting dropped when CEF/dCEF is enabled Possible problem : Part of the adjacencies is “incomplete adjacency” or “drop adjacency”. Solution Step 1: Check the features you have enabled; some platforms only support dCEF with a limited number of features. If you enable a feature not supported by dCEF a drop adjacency is created and the packets are dropped. Issue the command show cef drop and look for packets being dropped. Below you will find the output of the command when a feature is not supported. router#show cef drop CEF Drop Statistics Slot Encap_fail Unresolved Unsupported No_route No_adj RP 0 0 2 0 0 337 Solution(cont.) Step 2 If your hardware supports CEF and dCEF, in case of packet drops you may see only “incomplete adjacency”. Regardless of the platform, here is the method to follow to isolate the problem. Use show ip route to determine which inbound interface the traffic should be switched through. Issue show ip cef <prefix> and look for the interface adjacencies: router#show ip cef 10.254.0.200 10.254.0.200/32, version 18, cached adjacency 10.254.0.200 0 packets, 0 bytes via 10.254.0.200, FastEthernet0/1, 0 dependencies next hop 10.254.0.200, FastEthernet0/1 valid cached adjacency 338 Solution(cont.) router#show adjacency FastEthernet 0/1 detail Protocol Interface Address IP FastEthernet0/1 10.254.0.200(5) 0 packets, 0 bytes 00055FAF2C06 00055FAC18010800 ARP 03:45:10 IP FastEthernet0/1 server(5) (10.254.0.1) 0 packets, 0 bytes 00508B121E46 00055FAC18010800 ARP 03:54:27 339 Packets are getting dropped when CEF/dCEF is enabled Possible problem : None of the above solutions are applying – try to debug the issue. Solution Step 1: Check if the packets are dropped or punt for unexpected reason. The following counters are reporting the punt and dropped packets: show cef not-cef-switched (punt reason counters) show cef drop (drop reason counters) The above is particularly useful in a controlled environment. You send a number of packets. If all the packets are dropped or punt you it gives you the reason for this unexpected behavior. 341 Solution(cont.) Step 2: If the traffic to a destination is limited, you can try the following debug commands: debug ip cef drop <acl> debug ip cef receive <acl> access-list <acl> permit <destination> The drop and receive debug information will provide more information on why packets are being dropped or punted by CEF/dCEF. 342 Packets are getting dropped when CEF/dCEF is enabled Possible problem :None of the above solutions are applying – Call the TAC Solution step 1: As always, for a CEF/dCEF unexpected behavior, collect: show tech cef Step 2: If you cannot get a destination and if none of the above solutions are applying to your case, you will have to collect a list of information to help the Cisco TAC solving your problem. show ip route <destination> show ip cef <destination> internal show adjacency <output interface > show ip interface brief show cef interface exec all show ip cef <destination> internal exec all show adjacency <output interface> detail exec all show cef interface show ip arp (or analogous link info, e.g. show frame-relay map) To get to a destination, there has to be a route, a forwarding entry, and a valid adjacency. The data collected above will show which element is missing. 344 Packets are not CEF switched but fast switched instead. Possible problem: CEF does not support a configured feature. Solution Step 1 While CEF supports a large range of features, however some features are not supported. If a feature is not supported packets are forwarded to the next slower level of switching - fast switching. Check the following document to know exactly what is supported: IOS features supported by CEF and dCEF matrix 346 Solution(cont.) Step 2 Check the configuration of the router to make certain CEF is activated. Also use the following commands: show cef interface x/y, show ip cef <prefix> , show adjacency <interface> detail Ultimately issue show cef not-switch and look for packets that are not CEF switched. If CEF is not able to forward packets to a destination, the CEF table is built anyway but the adjacency is called a “punt”. If just a part of the packets cannot be CEF switched a cache adjacency is created. 347 Solution(cont.) Router #show ip cef 172.20.1.2 172.20.1.0/30, version 4, attached, connected, per-destination sharing 0 packets, 0 bytes via Serial4/0, 1 dependency valid punt adjacency As the result of punt adjacency the router will report CEF packets passed on to next switching layer. router#show cef interface serial4/0 Serial4/0 is up (if_number 13) Corresponding hwidb fast_if_number 13 Corresponding hwidb firstsw->if_number 13 Internet address is 172.20.1.1/30 ICMP redirects are always sent Per packet load-sharing is disabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set IP policy routing is disabled Interface is marked as point to point interface Packets switched to this interface are dropped to the next slow path 348 Solution(cont.) Step3 Look under interface/global configuration for features that you are not sure to be compatible with CEF. Log messages from router, then remove and put back one by one each of these features. When removing a not CEF switched feature, the log will report: %FIB-5-NOPUNTINTF: CEF resuming switching packets to <interface> When adding a feature which cannot be CEF switched, the log will report: %FIB-4-PUNTINTF: CEF punting packets switched to <interface> to next slower path 349 Packets are not dCEF switched but fast switched instead Possible problem: Neither dCEF nor CEF support the feature configured. Solution Step 1 While dCEF supports a large range of features, some features are not supported. In this case the packets are forwarded to the next slower level of switching. If dCEF cannot process the packet, the router tries to use CEF; if the packet cannot be processed with CEF switched it will be fast switched. Check the following document to know exactly what is supported: IOS features supported by CEF and dCEF matrix 351 Solution(cont.) Step 2 Even if neither dCEF nor CEF are enabled to forward the packet to a destination, the CEF table is built anyway but the adjacency is called a “punt”. See table 4 for further troubleshooting steps. 352 Packets are not dCEF switched but CEF switched instead. Possible problem: dCEF does not support the feature configured. Solution Step 1 While dCEF supports a large range of features, However some features or hardware are not supported. In this case the packets are forwarded to the next higher level of switching, which is centralized. In this case the feature configured is supported by CEF. Check the following documents to know exactly what is supported: - IOS features supported by CEF and dCEF matrix IOS hardware support of CEF and dCEF matrix 354 Solution(cont.) Step 2 Make certain dCEF is configured on the routing using the following commands: show cef interface x/y, show ip cef <prefix>, show adjacency <interface> detail Ultimately issue show cef not-switch and look for packets that are not dCEF switched. Use the show interface <interface> stats command to figure out if the packets are dCEF switched. 355 Example Router# show interface FastEthernet0/0/0 stats FastEthernet0/0/0 Switching path Pkts In Chars In Pkts Out Chars Out Processor 3736 383776 280261 387230212 Route cache 3800 390105 380276 487270282 Distributed cache 0 0 0 0 Total 7536 773881 660537 874500494 In this case none of the packets going through the interface are dCEF switched. All the counters for “Distributed cache” row are still zero. 356 Load-sharing is not working Possible problem: The traffic includes only a small number of flows. Solution Step1 Check the load-sharing mode. Load-sharing during CEF/dCEF switching has two modes: Per-destination (original, tunnel, universal) Per-packet. If you do not want to enable per-packet load sharing, enable the per-destination tunnel algorithm that is designed to give a good traffic load-sharing when the number of flows is small. Issue the global following command: ip cef load-sharing algorithm tunnel 358 Load-sharing is not working Possible problem: The network topology is subject to traffic polarization Solution Step1 Per destination load sharing is based upon a hash function to perform the balancing. This hash function is subject to polarization, canceling the benefits of load sharing – some routers, under specific traffic distribution patterns, assign all the sessions to the same link regardless of other available paths. The next hop will perform the same hash algorithm and will assign all the traffic to a single link. Check the load-sharing mode. Load-sharing during CEF/dCEF switching has two modes: Per-destination (old algorithm, new algorithm, tunnel) Per-packet. Issue the following global command on all the routers in the network: ip cef load-sharing algorithm universal This modifies the hash algorithm on each router to correct the effects of polarization. You can also enable per packet load sharing. 360 Load-sharing is not working Possible problem: Only one next-hop is accessible to go to a destination. Solution Step1 Make certain there are multiple valid next-hops to the destination. If the data streams are destined to different hosts, then we should have load sharing. If not, check to see if all the possible parallel paths are up and their next-hop are reachable. You can issue the following commands: show ip route <prefix> and look for more than 1 next-hop. show ip cef <prefix> and look for more that 1 nexthop. show ip cef <prefix> internal show ip cef exact-route <source address> <destination address> show adjacency detail on those next hop interfaces. 362 The route processor runs out of memory when dCEF is enabled Possible problem: CEF messages are queued in the route processor. Solution Step1 Check the memory available on the route processor. dCEF is downloading CEF tables to all of the linecards of the router if distributed CEF is turned on. During this process the route processor may queue a lot of CEF messages, and run out of memory. The following commands can be issued on the route processor to track the problem: show ip cef summary show memory summary show process memory The depth of the queue of IPC information elements (xdrs) packed into IPC messages sent from the route processor to the line card is reported in the output of the following command: 364 Example router#show cef linecard detail CEF linecard slot number 0, status up Sequence number 46, Maximum sequence number expected 118, Seq Epoch 1 Send failed 0, Out Of Sequence 0, drops 0 Linecard CEF reset 0, reloaded 1 1208 elements packed in 944 messages(50328 bytes) sent 0 elements cleared linecard disabled - failed a reload 0/0/0 xdr elements in LowQ/MediumQ/HighQ 24/9/25 peak elements on LowQ/MediumQ/HighQ Input packets 0, bytes 0 Output packets 0, bytes 0, drops 0 CEF Table statistics: Table name Version Prefix-xdr Status Default-table 106 117 Active, sync 365 Solution(cont.) Step2 Tuning the windowing mechanism used for the route processor/linecard communication will help fixing the problem. Increasing this may reduce the queuing, and thus memory used on the route processor. With the following command you will change the default value (100 Kbytes) of the window: ip cef linecard ipc memory <Kbytes> 366 CEF disables itself on a linecard due to lack of memory Possible problem: The linecard has a memory shortage. Solution Step1 Check the memory available on the linecards. dCEF downloads CEF tables to all of the linecards of the router if distributed CEF is turned on, even if you aren't CEF switching on that interface. Because of this, all linecards must have the memory necessary to carry all the routes. The following commands can be issued on each linecards to track the problem: show ip cef summary show memory summary show process memory show cef linecard On a 7500, enter the VIP card with if-con <x> console. 368 CEF Case Study Case Study(topology) R1 12.0.0.1 FDDI Dual Ring 12.0.0.3 12.0.0.2 11.0.0.2 11.0.0.1 IGRP-555 BGP-AS-333 R3 R2 13.0.0.3 BGP BGP 13.0.0.1 AS-222 Local Preference 100 AS-111 Local Preference 2000 Nets 99, 192, 195,197 370 R1’s Output R1#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default U - per-user static route Gateway of last resort is not set B 2.0.0.0/8 [200/0] via 13.0.0.1, 18:17:13 B 197.12.11.0/24 [200/0] via 11.0.0.1, 18:17:50 B 99.0.0.0/8 [200/0] via 11.0.0.1, 18:17:50 B 197.12.12.0/24 [200/0] via 11.0.0.1, 18:17:51 B 195.31.54.0/24 [200/0] via 11.0.0.1, 18:17:51 I 11.0.0.0/8 [100/1110] via 12.0.0.2, 00:00:49, Fddi1/1/0 B 195.27.191.0/24 [200/0] via 11.0.0.1, 18:17:51 B 197.28.99.0/24 [200/0] via 11.0.0.1, 18:17:51 C 12.0.0.0/8 is directly connected, Fddi1/1/0 B 192.12.1.0/24 [200/0] via 11.0.0.1, 18:17:51 B 192.33.1.0/24 [200/0] via 11.0.0.1, 18:17:51 B 195.181.32.0/24 [200/0] via 11.0.0.1, 18:17:51 I 13.0.0.0/8 [100/252] via 12.0.0.3, 00:00:00, Fddi1/1/0 B 197.21.251.0/24 [200/0] via 11.0.0.1, 18:17:51 B 197.111.82.0/24 [200/0] via 11.0.0.1, 18:17:51 B 192.18.2.0/24 [200/0] via 11.0.0.1, 18:17:51 371 R1’s Output (cont.) R1#show ip cef Prefix Next Hop 0.0.0.0/32 receive 2.0.0.0/8 12.0.0.3 11.0.0.0/8 12.0.0.2 12.0.0.0/8 attached 12.0.0.0/32 receive 12.0.0.1/32 receive 12.0.0.2/32 12.0.0.2 12.0.0.3/32 12.0.0.3 12.255.255.255/32 receive 13.0.0.0/8 12.0.0.3 99.0.0.0/8 12.0.0.2 192.12.1.0/24 12.0.0.2 192.18.2.0/24 12.0.0.2 192.33.1.0/24 12.0.0.2 195.27.191.0/24 12.0.0.2 195.31.54.0/24 12.0.0.2 195.181.32.0/24 12.0.0.2 197.12.11.0/24 12.0.0.2 197.12.12.0/24 12.0.0.2 197.21.251.0/24 12.0.0.2 197.28.99.0/24 12.0.0.2 197.111.82.0/24 12.0.0.2 224.0.0.0/4 receive 255.255.255.255/32 receive Interface Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 Fddi1/1/0 372 R1’s Output (cont.) R1#show ip cef 195.181.32.0 d 195.181.32.0/24, version 17, cached adjacency 12.0.0.2 0 packets, 0 bytes via 11.0.0.1, 0 dependencies, recursive next hop 12.0.0.2, Fddi1/1/0 via 11.0.0.0/8 valid cached adjacency R1#show ip cef 11.0.0.1 detail 11.0.0.0/8, version 9, cached adjacency 12.0.0.2 0 packets, 0 bytes via 12.0.0.2, Fddi1/1/0, 12 dependencies next hop 12.0.0.2, Fddi1/1/0 valid cached adjacency R1#show adj detail Protocol Interface IP Fddi1/1/0 IP Fddi1/1/0 Address 12.0.0.2(31) 0 packets, 0 bytes 5000000C0B 1C8000603E617C28AAAA030000000800 ARP 01:33:09 12.0.0.3(9) 0 packets, 0 bytes 5000603E28 B22800603E617C28AAAA030000000800 ARP 01:32:43 373 CEF Case Study Troubleshooting Useful Information Verify CEF/DCEF entry Verify adjacency entry Check interface switching mode Check all features that CEF/DCEF supports 375 Useful Information (cont.) Use “show” and “debug” commands show cef drop show cef not-cef-switch show cef [linecard] [interface] Verify with other switching modes 376 Show Outputs center#show cef drop CEF Drop Statistics Slot Encap_fail Unresolved RP 4 0 2 0 0 3 0 0 4 0 0 5 0 0 Unsupported 0 0 0 0 0 No_route 0 0 2452 0 0 center#show cef not-cef-switched CEF Packets passed on to next switching layer Slot No_adj No_encap Unsupp'ted Redirect RP 0 0 41462 2 0 0 0 3 0 0 357 4 0 0 0 5 0 0 216504 No_adj ChksumErr 0 0 0 0 0 0 0 0 0 0 Receive Bad_ttl Options Access 0 7922 0 0 0 0 0 0 0 0 0 1161 0 0 0 0 23 3250 0 0 0 0 0 0 0 377 Show Outputs (cont.) center#show cef int f9/0/0 Fddi9/0/0 is up (if_number 26) Internet address is 190.1.0.2/16 ICMP redirects are always sent Per packet loadbalancing is disabled Inbound access list is 1 Outbound access list is 3 Hardware idb is Fddi9/0/0 Fast switching type 2, interface type 8 IP Distributed CEF switching enabled Fast flags 0x5. ifindex 25(25) Slot 9 Slot unit 0 VC -1 Hardware transmit queue ptr 0x48001B80 (0x48001B80) Transmit limit accumulator 0x48001B82 (0x48001B82) IP MTU 4352 center#show cef linecard 9 CEF linecard slot number 9, status up, sync Linecard CEF version number 246 Sequence number 1364, Maximum sequence number expected 1388 Send failed 0, Out Of Sequence 0 Linecard CEF reset 1, reloaded 1 190/10761/178 prefix/adjacency/interface elements queued 11022 elements packed in 1365 messages(235456 bytes) sent 0/0 xdr elements in LowQ/HighQ Input packets 7050739, bytes 2838181523 Output packets 7042682, bytes 2799387214, drops 0 378 Show Outputs (cont.) VIP-Slot5#show ip cef sum IP Distributed CEF with switching (Table Version 223) 223 routes, 0 unresolved routes (0 old, 0 new) 223 leaves, 168 nodes, 199464 bytes, 724 inserts, 501 invalidations 0 load sharing elements, 0 bytes, 0 references 4 CEF resets, 0 revisions of existing leaves refcounts: 36926 leaf, 36706 node VIP-Slot5#show ip cache IP radix m-way trie cache 0 entries, 0 tables 0 unique encapsulations, 0 total bytes used by cache 7 adds, 7 invalidates, 46024768 switched, 36807 misses misses: 0 frags, 0 runts, 0 chksm, 0 access 0 badiplen Prefix/Length Age Interface MAC Header IP Flow Cache, 0 active, 512 alloced, 0 opened 0 closed: 0 tcp-fin, 0 idle-time, 0 prefix-inval 0 create failures, 0 switched VIP-Slot5#show VIP memd MEMD statistics : 0 local-switched misses: 0 tqls, 0 bhs, 0 txaccs, 0 deferred 379 Debug Commands • debug ip cef [drop] | [receive] | [events] | [prefix-ipc] | [table] | [ipc] | [interface-ipc] • debug ip [packet] [error] • debug adjacency 380 Debug Outputs center#debug ip cef table Nov 13 12:31:21.075: CEF-IP: Receive address 99.0.0.0/32 already exists Nov 13 12:31:21.075: CEF-IP: Receive address 99.255.255.255/32 already exists Nov 13 12:31:21.075: CEF-Table: Event up, 2.0.0.0/8 Nov 13 12:31:21.075: CEF-Table: Event up, 197.12.11.0/24 Nov 13 12:31:21.087: CEF-Table: Event up, 197.21.251.0/24 Nov 13 12:31:21.087: CEF-Table: Event up, 192.18.2.0/24 Nov 13 12:31:21.111: CEF-IPC: ipc sent. Slot 1 Seq 0 Nov 13 12:31:21.111: CEF-IPC: ipc sent. Slot 1 Seq 0 Nov 13 12:31:21.111: CEF-IPC: ipc sent. Slot 4 Seq 0 Nov 13 12:31:36.067: Nov 13 12:31:36.067: Nov 13 12:31:36.067: Nov 13 12:31:36.067: Nov 13 12:31:57.695: Nov 13 12:31:57.695: CEF-Table: attempting to resolve 197.12.12.0/24 CEF-IP: resolved 197.12.12.0/24 via 99.0.0.1 to 99.0.0.1 Loopback1 CEF-Table: attempting to resolve 197.12.11.0/24 CEF-IP: resolved 197.12.11.0/24 via 99.0.0.1 to 99.0.0.1 Loopback1 CEF-IP: Checking dependencies of 12.0.0.0/8 CEF-Table: Adjacency-prefix 12.0.0.1/32 add request -- succeeded Nov 13 12:33:03.079: Nov 13 12:33:03.079: Nov 13 12:33:03.079: Nov 13 12:33:03.079: CEF-Table: CEF-Table: CEF-Table: CEF-Table: Flushing Flushing Flushing Flushing entry for 195.27.191.0/24 entry for 195.31.54.0/24 entry for 195.181.32.0/24 entry for 197.12.11.0/24 381 Debug Output (cont.) VIP-Slot9#debug ip pack IP-DCEF: Try to DCEF switch 196.2.3.1 from Fddi0/0 IP-DCEF: DCEF switched 196.2.3.1 to FastEthernet8/1/0 IP-DCEF: Try to DCEF switch 196.2.3.1 from Fddi0/0 IP-DCEF: DCEF switched 196.2.3.1 to FastEthernet8/1/0 border2#debug adjacency ADJ: add 16.2.0.2 (Ethernet0/0) via ARP for 01:21:15 ADJ: add 16.2.0.1 (Ethernet0/0) via ARP for 01:20:37 ADJ: add 62.0.0.1 (Ethernet0/1) via ARP for 01:20:32 ADJ: add 66.0.0.1 (Ethernet0/2) via ARP for 01:22:13 ADJ: add 161.2.1.50 (Fddi1/0) via ARP for 03:45:59 ADJ: add 180.2.0.2 (FastEthernet8/0/0) via ARP for 01:22:13 ADJ: add 200.2.0.2 (Fddi10/0/0) via ARP for 01:23:07 ADJ: add 16.2.146.97 (Ethernet0/0) via ARP for 01:23:07 ADJ: add 0.0.0.0 (ATM 5/0/0.100) via ATM-PVC for 00:00:00 ADJ: add 0.0.0.0 (ATM 5/0/0.103) via ATM-PVC for 00:00:00 ADJ: add 0.0.0.0 (Serial4/0/0) via FIB for 00:02:59 ADJ: add 0.0.0.0 (Serial4/0/1) via FIB for 00:03:00 VIP-Slot9#debug ip cef drop IP-CEF: No route found for 34.1.1.1 382 Troubleshooting IP Multicast 0981_03F8_c3 NW98_US_112 Agenda Troubleshooting Tools Basic Troubleshooting Advanced Troubleshooting Case studies 384 Troubleshooter’s “Hand” Tools “show “show “show “show “show “show ip igmp group” command ip igmp interface” command ip pim neighbor” command ip pim interface” command ip rpf ” command ip mroute” commands 385 Troubleshooter’s “Hand” Tools Special Sparse Mode Tools “show ip pim rp” command “show ip pim rp map” command 386 show ip igmp group Shows: Currently joined multicast groups. Troubleshooting usage: Verify that a receiver has actually joined the target group If not, use “show ip igmp interface” to check for proper igmp version, querier, timers, etc. Use “debug ip igmp” to verify that proper igmp host-router exchange is happening Watch for IGMP v1-v2 interoperability problems 387 show ip igmp group R4#show ip igmp groups IGMP Connected Group Membership Group Address Interface 224.1.1.1 Ethernet1 224.0.1.40 Ethernet0 Uptime 3d16h 4d15h Expires 00:01:59 never Last Reporter 172.16.7.2 172.16.6.2 388 show ip igmp interface Shows: Key IGMP timers, status, etc. Troubleshooting usage: Verify that correct IGMP version is running Verify that timers are set properly Verify that correct router is IGMP Querier If not, use “debug ip igmp” to determine what’s wrong 389 show ip igmp interface R4#show ip igmp interface Ethernet1 is up, line protocol is up Internet address is 172.16.7.1, subnet mask is 255.255.255.0 IGMP is enabled on interface Current IGMP version is 2 CGMP is disabled on interface IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Inbound IGMP access group is not set Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 172.16.7.1 (this system) IGMP querying router is 172.16.7.1 (this system) No multicast groups joined 390 show ip pim neighbor Shows: PIM Neighbor Adjacencies Troubleshooting usage: Verify that all neighbors are up and using proper mode If not, check router configs and/or interface status Use “debug ip pim” to observe PIM Query msg exchange 391 show ip pim neighbor R6#show ip pim neighbor PIM Neighbor Table Neighbor Address Interface 172.16.10.2 Serial0 172.16.11.2 Serial1 172.16.9.1 Ethernet0 Uptime 4d15h 4d15h 4d15h Expires 00:01:19 00:01:00 00:01:00 Mode Dense Dense Dense 392 show ip pim interface Shows: PIM Interface information. Mode, Neighbor Count, DR Troubleshooting usage: Verify correct PIM mode is configured on interface(s) If not, check router configs Verify Designated Router is correct If not, check router configs Especially critical for Sparse Mode! 393 show ip pim interface R6#show ip pim interface Address Interface Mode 172.16.10.1 172.16.11.1 172.16.9.2 Dense Dense Dense Serial0 Serial1 Ethernet0 Nbr Count 1 1 1 Query Intvl 30 30 30 DR 0.0.0.0 0.0.0.0 172.16.9.2 394 show ip rpf Shows: RPF interface information for source Troubleshooting usage: Verify that RPF information is correct If not, check unicast routing data for correctness Ping or Trace “source” to verify unicast route is working. (Fix any unicast routing problems first!) May need to use DVMRP routes or Static Mroutes to fix unicast-multicast incongruency 395 show ip rpf R4#show ip rpf 172.16.8.1 RPF information for Source1 (172.16.8.1) RPF interface: Ethernet0 RPF neighbor: R3 (172.16.6.1) RPF route/mask: 172.16.8.0/255.255.255.0 RPF type: unicast R4#sh ip rpf 172.16.12.2 RPF information for Source2 (172.16.12.2) RPF interface: Tunnel0 RPF neighbor: R6 (172.16.11.1) RPF route/mask: 172.16.12.0/255.255.255.0 RPF type: DVMRP 396 show ip mroute commands “show “show “show “show ip mroute sum” ip mroute count” ip mroute active” ip mroute” 397 show ip mroute summary Shows: Multicast state at a glance Active groups Active senders in the group. (If SPT joined) Troubleshooting usage: Verify multicast group(s) are active. If not, check for group state at RP. (Sparse mode) Work your way from a known source to a receiver or the RP to find where things stop Verify senders are active. (If SPT joined) If not, check state in 1st-hop router Verify sender is really sending 398 show ip mroute summary dallas-gw>show ip mroute summary IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT Timers: Uptime/Expires Interface state: Interface, Next-Hop, State/Mode (*, 224.0.255.255), 6d23h/00:02:59, RP 171.69.10.13, flags: SJC (171.68.37.121/32, 224.0.255.255), 6d23h/00:02:55, flags: CT (171.69.58.88/32, 224.0.255.255), 6d23h/00:02:58, flags: CT (171.69.60.189/32, 224.0.255.255), 6d23h/00:02:55, flags: CT (171.69.128.115/32, 224.0.255.255), 3d01h/00:02:58, flags: CJT (171.69.199.49/32, 224.0.255.255), 6d23h/00:02:57, flags: CT (171.70.247.82/32, 224.0.255.255), 01:55:33/00:02:58, flags: CJT ... 399 show ip mroute count Shows: Multicast traffic flow rates, drops, etc. Group traffic summary Sender rates, packet counts, drops, etc. Troubleshooting usage: Verify multicast traffic is being received If not, work your way from source to receiver to find where things stop Verify multicast traffic is being forwarded If not, why? “oif null”, “rpf-failure” 400 show ip mroute count dallas-gw>show ip mroute 224.0.255.255 count IP Multicast Statistics - Group count: 7, Average sources per group: 3.28 Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second Other counts: Total received/RPF failed/Other drops(OIF-null, rate-limit etc) Group: 224.0.255.255, Source count: 6, Group pkt count: 538169 RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0 Source: 171.68.37.121/32, Forwarding: 120484/0/94/0, Other: 120535/0/51 Source: 171.69.58.88/32, Forwarding: 120281/0/84/0, Other: 120283/2/0 Source: 171.69.60.189/32, Forwarding: 120445/0/95/0, Other: 120447/2/0 Source: 171.69.128.115/32, Forwarding: 53018/0/93/0, Other: 53018/0/0 Source: 171.69.199.49/32, Forwarding: 120414/1/92/0, Other: 120415/1/0 Source: 171.70.247.82/32, Forwarding: 3527/1/78/0, Other: 3527/0/0 401 show ip mroute active Shows: Sources with traffic rates above threshold Aggregate RP Tree and (S, G) rates shown Rates in Kbps (1 sec, 1 min, 5 min avgs.) Troubleshooting usage: Determine which sources/groups are active Determine the traffic rate of each source Note: Must have switched to Shortest-Path tree Verify “target” group multicast traffic is being received If not, work your way from source to receiver 402 show ip mroute active barrnet-gw>show ip mroute active Active IP Multicast Sources - sending >= 4 kbps Group: 224.2.156.43, *cisco: Bloomington IPTV Beacon Source: 172.17.67.43 (bloom-iptv.cisco.com) Rate: 6 pps/63 kbps(1sec), 65 kbps(last 19 secs), 37 kbps(life avg) Group: 224.2.154.118, Radio Bandit Source: 192.36.125.68 (falcon.pilsnet.sunet.se) Rate: 11 pps/30 kbps(1sec), 30 kbps(last 33 secs), 23 kbps(life avg) Group: 224.2.246.13, UO Presents KWAX Classical Radio Source: 128.223.83.204 (d83-204.uoregon.edu) Rate: 24 pps/69 kbps(1sec), 72 kbps(last 2 secs), 70 kbps(life avg) Group: 224.2.180.115, ANL TelePresence Microscopy Site Source: 146.139.72.5 (aem005.amc.anl.gov) Rate: 1 pps/5 kbps(1sec), 9 kbps(last 52 secs), 12 kbps(life avg) ... 403 show ip mroute Shows: Detailed multicast state in the router Troubleshooting usage: Verify Incoming Interface is correct If not, check unicast routing table (May need to use DVMRP routes or Static mroutes) Verify Outgoing Interface(s) are correct If interface incorrectly “Pruned”, check state in downstream router? May need to “debug ip pim <group>” to determine problem 404 show ip mroute barrnet-gw>show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT Timers: Uptime/Expires Interface state: Interface, Next-Hop, State/Mode (*, 224.2.130.100), 00:18:53/00:02:59, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Fddi1/0, Forward/Dense, 00:09:20/00:02:38 Hssi3/0, Forward/Dense, 00:18:53/00:00:00 (208.197.169.209/32, 224.2.130.100), 00:18:53/00:02:27, flags: T Incoming interface: Hssi3/0, RPF nbr 131.119.26.9 Outgoing interface list: Fddi1/0, Forward/Dense, 00:16:16/00:02:38 (*, 239.100.111.224), 05:35:08/00:02:58, RP 171.69.10.13, flags: DP Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Null 405 show ip pim rp map Shows: RP assignments by multicast group range Troubleshooting usage: Verify that configured (static or Auto-RP) RP’s are correct If not, check local router config and/or network Auto-RP configuration 406 show ip pim rp map dallas-gw>show ip pim rp map PIM Group-to-RP Mappings Group(s) 224.0.0.0/4, uptime: 6d21h, expires: 00:02:56 RP 171.69.10.13 (sj-eng-mbone.cisco.com) Info source: 192.31.7.37 (barrnet-gw.cisco.com) 407 show ip pim rp Shows: RP’s by active group Troubleshooting usage: Verify that the RP for the target multicast group is correct If not, check RP mapping, local router RP config and/or network Auto-RP 408 show ip pim rp dallas-gw>sh ip pim rp Group: 224.2.127.253, RP: 171.69.10.13, uptime 6d21h, expires 00:01:34 Group: 224.1.127.255, RP: 171.69.10.13, uptime 6d21h, expires 00:01:34 Group: 224.2.127.254, RP: 171.69.10.13, uptime 6d21h, expires 00:01:34 Group: 224.0.255.255, RP: 171.69.10.13, uptime 6d21h, expires 00:01:34 Group: 224.2.0.1, RP: 171.69.10.13, uptime 6d21h, expires 00:01:34 409 Troubleshooter’s “Power” Tools “mtrace” and “mstat” commands “mrinfo” command “show ip mpacket” command 410 mtrace and mstat commands Based on Unix “mtrace” command Split into two separate commands Both use the same mechanism draft-ietf-idmr-traceroute-ipmxx.txt 411 mtrace Shows: Multicast path from source to receiver Similar to unicast “trace” command Trace path between any two points in network TTL Thresholds and Delay shown at each node Troubleshooting usage: Find where multicast traffic flow stops Focus on router where flow stops Verify path multicast traffic is following Identify sub-optimal paths 412 mstat Shows: Multicast path in pseudo graphic format Trace path between any two points in network Drops/Duplicates shown at each node TTLs and Delay shown at each node Troubleshooting usage: Locate congestion point in the flow Focus on router with high drop/duplicate count Duplicates indicated as “negative” drops 413 mtrace/mstat—How it Works Mtrace Packet Flow Adds mtrace data Adds mtrace data Adds mtrace data src Adds mtrace data Adds mtrace data dest First-hop Router Last-hop Router Multicast Dist. Tree Mtrace Packet Note: Mtrace packets use special IGMP packets with IGMP Type codes of 0x1E and 0x1F. Unix Workstation or Cisco Router 414 mtrace/mstat—How it Works Each hop adds data to packet Query arrival time Incoming Interface Outgoing Interface Prev. Hop Router address Input packet count Output packet count Total packets for this Source/Group Routing Protocol TTL Threshold Fowarding/Error Code 415 mtrace dallas-gw>mtrace bloom-iptv-svr bwilliam-ss5 224.2.156.43 Type escape sequence to abort. Mtrace from 172.17.67.43 to 171.68.37.121 via group 224.2.156.43 From source (?) to destination (bwilliam-ss5.cisco.com) Querying full reverse path... 0 bwilliam-ss5 (171.68.37.121) -1 dallas-gw (171.68.37.1) PIM thresh^ 0 3 ms -2 wan-gw4 (171.68.86.193) PIM thresh^ 0 32 ms -3 bloomington-mn-gw (171.68.27.2) PIM thresh^ 0 717 ms -4 bloom-mnlab (171.68.39.28) PIM thresh^ 0 730 ms -5 bloom-iptv-svr (172.17.67.43) dallas-gw> 416 mstat dallas-gw>mstat bloom-iptv-svr bwilliam-ss5 224.2.156.43 Source Response Dest Packet Statistics For Only For Traffic 172.17.67.43 171.68.86.194 All Multicast Traffic From 172.17.67.43 | __/ rtt 547 ms Lost/Sent = Pct Rate To 224.2.156.43 v / hop 547 ms ---------------------------------------172.17.67.33 171.68.39.28 bloom-mnlab | ^ ttl 0 v | hop -409 ms -11/168 = --% 16 pps 0/67 = 0% 6 pps 171.68.39.1 171.68.27.2 bloomington-mn-gw | ^ ttl 1 v | hop 379 ms -9/170 = --% 17 pps -3/67 = --% 6 pps 171.68.27.1 171.68.86.193 wan-gw4 | ^ ttl 2 v | hop 28 ms -3/195 = --% 19 pps 0/70 = 0% 7 pps 171.68.86.194 171.68.37.1 dallas-gw | \__ ttl 3 v \ hop 0 ms 196 19 pps 70 7 pps 171.68.37.121 171.68.86.194 Receiver Query Source 0981_03F8_c3 NW98_US_112 417 35 mstat dallas-gw>mstat bloom-iptv-svr bwilliam-ss5 224.2.156.43 Source Response Dest Packet Statistics For Only For Traffic 172.17.67.43 171.68.86.194 All Multicast Traffic From 172.17.67.43 | __/ rtt 399 ms Lost/Sent = Pct Rate To 224.2.156.43 v / hop 399 ms ---------------------------------------172.17.67.33 171.68.39.28 bloom-mnlab | ^ ttl 0 v | hop 119 ms 77/694 = 11% 69 pps 0/65 = 0% 6 pps 171.68.39.1 171.68.27.2 bloomington-mn-gw | ^ ttl 1 v | hop -150 ms 395/609 = 65% 60 pps 44/65 = 68% 6 pps 171.68.27.1 171.68.86.193 wan-gw4 | ^ ttl 2 v | hop 30 ms -8/39 = --% 3 pps -1/21 = --% 2 pps 171.68.86.194 171.68.37.1 dallas-gw | \__ ttl 3 v \ hop 0 ms 39 3 pps 22 2 pps 171.68.37.121 171.68.86.194 Receiver Query Source 0981_03F8_c3 NW98_US_112 418 36 mrinfo Shows: Multicast neighbor router information Indicates router’s capabilities and code version Multicast interface information TTL-Thresholds, Metric, Protocol, Status Troubleshooting usage: Verify multicast neighbors. Confirm bi-directional neighbor adjacency exists Verify Tunnels are up in both directions 419 mrinfo dallas-gw>mrinfo paloalto-mbone1.bbnplanet.net Translating " paloalto-mbone1.bbnplanet.net "...domain server (171.68.10.70) [OK] 131.119.0.197 (paloalto-mbone1.bbnplanet.net) [version cisco 11.2] [flags: PMSA]: 131.119.0.197 -> 131.119.0.201 (paloalto-cr1.bbnplanet.net) [1/0/pim] 131.119.244.244 -> 0.0.0.0 [1/32/pim/querier] 131.119.0.197 -> 204.162.119.8 (hydra.precept.com) [1/32/tunnel/querier] 192.42.110.249 -> 192.9.9.71 (mbone.Sun.COM) [1/32/tunnel] 192.42.110.249 -> 204.123.13.69 (chocolate.research.digital.com) [1/32/tunnel] 192.42.110.249 -> 36.253.0.11 (alpo.Stanford.EDU) [1/32/tunnel] 131.119.0.197 -> 0.0.0.0 [1/64/tunnel/pim/querier/leaf] 131.119.0.197 -> 0.0.0.0 [1/32/tunnel/pim/querier/leaf] 192.42.110.249 -> 204.94.211.39 (sgi-too.SGI.COM) [4/64/tunnel/querier] 192.42.110.249 -> 192.216.174.1 [1/32/tunnel/querier/down/leaf] 192.42.110.249 -> 198.94.216.2 [1/32/tunnel/querier/down/leaf] 192.42.110.249 -> 204.161.60.33 (berkeley.faslab.com) [1/32/tunnel/querier] 131.119.0.197 -> 204.154.181.12 [1/32/tunnel/querier/down/leaf] ... 420 show ip mpacket Used to view multicast packet headers Command syntax show ip mpacket <source> <group> [detail] You can view: {source, group} traffic pairs IP ident and ttl Inter-packet delay Configure multicast header capture first “ip multicast cache-headers” config cmd Captures multicast headers in 1024 entry ring buffer 421 show ip mpacket dino-cisco-fr#show ip mpacket 224.2.231.173 IP Multicast Header Cache - entry count: 29, next index: 30 Key: id/ttl timestamp (name) source group D782/117 7302/113 6CB2/114 D786/117 E2E9/123 1CA7/127 1CAA/127 1CAC/127 1CAF/127 1CB0/127 1CB2/127 2BBB/114 3D1D/123 2BC0/114 7303/113 7304/113 2C7E/123 206416.908 206417.172 206417.412 206417.868 206418.488 206418.544 206418.584 206418.624 206418.664 206418.704 206418.744 206418.840 206419.380 206419.672 206419.888 206420.140 206420.360 (all-purpose-gunk.near.net) 199.94.220.184 224.2.231.173 (speedy.rrz.uni-koeln.de) 134.95.19.23 224.2.231.173 (wayback.uoregon.edu) 128.223.156.117 224.2.231.173 (all-purpose-gunk.near.net) 199.94.220.184 224.2.231.173 (dino-ss20.cisco.com) 171.69.58.81 224.2.231.173 (dino-ss2.cisco.com) 171.69.129.220 224.2.231.173 (dino-ss2.cisco.com) 171.69.129.220 224.2.231.173 (dino-ss2.cisco.com) 171.69.129.220 224.2.231.173 (dino-ss2.cisco.com) 171.69.129.220 224.2.231.173 (dino-ss2.cisco.com) 171.69.129.220 224.2.231.173 (dino-ss2.cisco.com) 171.69.129.220 224.2.231.173 (crevenia.parc.xerox.com) 13.2.116.11 224.2.231.173 (dalvarez-ss20.cisco.com) 171.69.60.189 224.2.231.173 (crevenia.parc.xerox.com) 13.2.116.11 224.2.231.173 (speedy.rrz.uni-koeln.de) 134.95.19.23 224.2.231.173 (speedy.rrz.uni-koeln.de) 134.95.19.23 224.2.231.173 (lwei-ss20.cisco.com) 171.69.58.88 224.2.231.173 422 Agenda Troubleshooting Tools Basic Troubleshooting Advanced Troubleshooting Case studies 423 Basic Troubleshooting Troubleshooting Table Source Network Receivers State NA ? ? Packet Flow ? ? ? Is each piece working correctly? 424 Check Source Packet Flow Check interface counters on source Check source TTL > 1 Verify TTL setting in application Confirm on upstream router show ip traffic Increasing “Invalid hop count” 425 Check Source Packet Flow Check 1st-Hop router for traffic flow show ip mroute count show ip mroute active show ip mpacket Don’t forget to turn on: ip multicast cache-headers debug ip mpacket Use with caution!! “detail” or ACL for granularity 426 Check Network State Most complex piece Depends of protocol, mode, etc. Check initial state creation Check for pruning and timer expiration during session 427 Network State show/debug ip mroute commands watch oilist for null entries show/debug ip pim commands show/debug ip dvmrp commands show ip rpf mtrace command 428 PIM SM Troubleshooting show ip pim rp [<group>] show ip pim rp mapping indicates RP for the group indicates RP for the group debug ip pim auto-rp 429 Check Network Packet Flow show ip mroute count show ip mroute active show ip mpacket debug ip mpacket Turn on “ip multicast cache-headers” first Be Careful with this one! mstat 430 Check Receiver State show ip igmp interface show ip igmp group debug ip igmp IGMPv1 vs. IGMPv2 431 Check Receiver Packet Flow Check receiver interface stats Is the stack installed and configured properly? Is the application installed and configured properly? Watch for duplicates Performance implication 432 Agenda Troubleshooting Tools Basic Troubleshooting Advanced Troubleshooting Case studies 433 Advanced Troubleshooting Troubleshooting Network State Troubleshooting PIM-DVMRP Troubleshooting ATM P2MP VCs 434 Troubleshooting Network State Use “show ip mroute <group>” Specify target group to limit output. DM: Trace state from source to receiver. SM: Trace state from receiver to RP then from source to RP Use “debug ip pim <group>” Be sure to specify target group to limit debug output! Use with caution!! Use “debug ip mroute <group>” Be sure to specify target group to limit debug output! Use with caution!! 435 Mroute Flags “S”—Sparse Mode “D”—Dense Mode Appears only on the (*, G) entries Appears only on the (*, G) entries “P”—Pruned Sparse mode: oilist is null Dense mode: all interfaces in oilist = Pruned 436 Mroute Flags (Cont.) “C”—Connected “L”—Local A rcvr for this group is directly connected to this router. The router itself is a member of this group and is receiving group traffic. “T”—Shortest-path Tree (SPT) flag Set on (S,G) entry when packets are being successfully received via the SPT 437 Mroute Flags (Sparse Mode Only) “R”—RP bit Only appears on (S, G) entries (S, G) state is associated with Shared Tree RPF interface points up Shared Tree to RP Used to prune unwanted (S, G) traffic from the Shared Tree after SPT switchover “F”—Register Flag Appears on (S, G) entries Set on (*, G) if any (S, G) “F” flags set Router is directly connected to a source Register messages must be sent to RP 438 Mroute Flags (Sparse Mode Only) (*, G) Entry “J” —Join SPT Set once/sec when SPT-Threshold exceeded Switch to SPT for next (S, G) packet rcvd’d (S, G) Entry “J” —SPT Joined SPT Joined due to SPT-Threshold exceeded. Switch back to Shared Tree if traffic rate falls below SPT-Threshold. (Checked once/min) 439 Network Mroute State Examples PIM DM PIM SM Joining Registering SPT-Switchover 440 PIM DM S1 S0 1 Multicast Packets (128.9.160.43, 224.2.127.254) S3 rtr-a S0 rtr-b E1 1 “rtr-a” initially floods (S, G) traffic out all interfaces in “oilist”. 441 PIM DM S1 S0 Multicast Packets (128.9.160.43, 224.2.127.254) Initial “Flooding” State in “rtr-a” S3 rtr-a S0 rtr-b E1 (*, 224.2.127.254), 00:00:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:10/00:02:49, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 442 PIM DM S1 S0 Multicast Packets (128.9.160.43, 224.2.127.254) S3 rtr-a 3 2 Prune S0 rtr-b E1 1 “rtr-a” initially floods (S, G) traffic out all interfaces in “oilist” 2 “rtr-b” is a leaf node w/o receivers. Sends Prune for (S,G) 3 “rtr-a” Prunes interface for (S,G) 443 PIM DM S1 S0 Multicast Packets (128.9.160.43, 224.2.127.254) S3 rtr-a S0 State in “rtr-a” after Pruning rtr-b E1 (*, 224.2.127.254), 00:00:12/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial1, Forward/Dense, 00:00:12/00:00:00 Serial3, Forward/Dense, 00:00:12/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:12/00:02:48, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Serial1, Forward/Dense, 00:00:12/00:00:00 Serial3, Prune/Dense, 00:00:04/00:02:56 444 PIM DM S1 S0 Multicast Packets (128.9.160.43, 224.2.127.254) S3 rtr-a S0 State in “rtr-b” after Pruning rtr-b E1 (*, 224.2.127.254), 00:00:12/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:12/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:12/00:02:48, flags: PT Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Null 445 PIM SM Joining 4 Shared Tree S1 To RP (10.1.5.1) 3 PIM Join S0 10.1.4.2 Shared Tree 10.1.2.2 1 IGMP Join E1 E0 rtr-a E010.1.2.1 2 PIM Join rtr-b Rcvr A 1• “Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G 2 • “rtr-b” creates (*,G) state; sends (*,G) PIM Join towards RP 3 • “rtr-a” creates (*,G) state; sends (*,G) PIM Join towards RP 4 • Shared tree is built all the way back to the RP 446 PIM SM Joining S1 To RP (10.1.5.1) rtr-a S0 10.1.4.2 E0 10.1.2.1 Shared Tree 10.1.2.2 E1 E0 rtr-b Rcvr A rtr-b>sh ip mroute (*, 224.1.1.1), 00:00:05/00:02:54, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:00:05/00:02:52 State in “rtr-b” after Joining (*, 224.1.1.1) 447 PIM SM Joining S1 To RP (10.1.5.1) S0 10.1.4.2 Shared Tree 10.1.2.2 E1 rtr-a E010.1.2.1 E0 rtr-b Rcvr A rtr-a>sh ip mroute (*, 224.1.1.1), 00:00:05/00:02:54, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1 Outgoing interface list: Ethernet0, Forward/Sparse, 00:00:05/00:02:54 State in “rtr-a” after Joining (*, 224.1.1.1) 448 PIM SM Registering 171.68.28.139 RP S3 rtr-a rtr-b rtr-c S0 S1 Shared Tree rtr-c>sh ip mroute 224.1.1.1 (*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:03:14/00:02:59 Serial1, Forward/Sparse, 00:03:14/00:02:59 State in “RP” before Registering (with receivers on Shared Tree) 449 PIM SM Registering RP S0 E0 rtr-a rtr-b rtr-c Shared Tree rtr-a>sh ip mroute 224.1.1.1 No such group. State in “rtr-a” before Registering (with receivers on Shared Tree) 450 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets 2 Register Msgs RP 1 Source 171.68.37.121 rtr-a rtr-b rtr-c 3 (*, 224.1.1.1) Mcast Traffic Shared Tree 1• “Source” begins sending group G traffic 2 • “rtr-a” encapsulates packets in Registers; unicasts to RP 3 • “rtr-c” (RP) de-encapsulates packets; forwards down Shared tree 451 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets Register Msgs RP S0 Source 171.68.37.121 E0 rtr-a rtr-b rtr-c (*, 224.1.1.1) Mcast Traffic Shared Tree rtr-a>sh ip mroute 224.1.1.1 (*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null (171.68.37.121/32, 224.1.1.1), 00:00:03/00:02:56, flags: FPT Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Registering Outgoing interface list: Null State in “rtr-a” while Registering 452 70 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets Register Msgs RP Source 171.68.37.121 rtr-a Join rtr-b Join rtr-c 4 (*, 224.1.1.1) Mcast Traffic Shared Tree 1• “Source” begins sending group G traffic 2 • “rtr-a” encapsulates packets in Registers; unicasts to RP 3 • RP (“rtr-c”) de-encapsulates packets; forwards down Shared tree 4 • RP sends (S,G) Join toward Source; builds SPT 453 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets Register Msgs 5 Source 171.68.37.121 RP rtr-a rtr-b 6 rtr-c (*, 224.1.1.1) Mcast Traffic Register-Stop 5• RP begins receiving (S,G) traffic down SPT 6 • RP sends “Register-Stop” to “rtr-a” Shared Tree 454 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets 8 Source 171.68.37.121 rtr-a RP rtr-b rtr-c (*, 224.1.1.1) Mcast Traffic Shared Tree 5• RP begins receiving (S,G) traffic down SPT 6 • RP sends “Register-Stop” to “rtr-a” 7 • 8 • “rtr-a” stops encapsulating traffic in Register Messages (S,G) Traffic now flowing down a single path (SPT) to RP 455 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets RP S0 Source 171.68.37.121 E0 rtr-a rtr-b rtr-c (*, 224.1.1.1) Mcast Traffic Shared Tree rtr-a>sh ip mroute 224.1.1.1 (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial0, RPF nbr 171.68.28.191, Outgoing interface list: Null (171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: FT Incoming interface: Ethernet0, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32 State in “rtr-a” after Registering 456 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets RP Source 171.68.37.121 S0 rtr-a 171.68.28.190 S1 rtr-b rtr-c (*, 224.1.1.1) Mcast Traffic Shared Tree rtr-b>sh ip mroute 224.1.1.1 (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: SP Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Null (171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32 State in “rtr-b” after “rtr-a” Registers (with receivers on Shared Tree) 457 PIM SM Registering (171.68.37.121, 224.1.1.1) Mcast Packets 171.68.28.139 RP Source 171.68.37.121 S3 rtr-a rtr-b rtr-c S0 S1 (*, 224.1.1.1) Mcast Traffic Shared Tree rtr-c>sh ip mroute 224.1.1.1 (*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:09:21/00:02:38 Serial1, Forward/Sparse, 00:03:14/00:02:46 (171.68.37.121, 224.1.1.1, 00:01:15/00:02:46, flags: T Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial0, Forward/Sparse, 00:00:49/00:02:11 Serial1, Forward/Sparse, 00:00:49/00:02:11 State in “RP” after “rtr-a” Registers (with receivers on Shared Tree) 458 PIM SM SPT-Switchover Review SPT-Switchover Mechanism Once each second Compute new (*, G) traffic rate If threshold exceeded, set “J” flag in (*, G) For each (Si , G) packet received: If “J” flag set in (*, G) Clear “J” flag in (*,G) Join SPT for (Si , G) Mark (Si , G) entry with “J” flag 459 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c S0 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree 10.1.4.2 10.1.2.2 E1 To Source “Si” rtr-a E010.1.2.1 E0 rtr-b Rcvr A (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.5.1, Outgoing interface list: Serial1, Forward/Sparse, 00:01:43/00:02:11 State in “rtr-c” before switch 460 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c S0 10.1.4.2 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree 10.1.2.2 E1 To Source “Si” rtr-a E010.1.2.1 E0 rtr-b Rcvr A (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11 State in “rtr-a” before switch 461 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c rtr-a S0 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree 10.1.4.2 To Source “Si” E0 10.1.2.1 10.1.2.2 E1 E0 rtr-b Rcvr A (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.4.2, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11 State in “rtr-b” before switch 462 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c S0 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree 10.1.4.2 10.1.2.2 E1 E0 To Source “Si” rtr-a E010.1.2.1 1 Group “G” rate > Threshold rtr-b Rcvr A (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.4.2, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11 1 2 Group “G” rate exceeds SPT Threshold at “rtr-b”; Set J Flag in (*, G) and wait for next (Si,G) packet 2 J 463 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c rtr-a S0 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree To Source “Si” 10.1.4.2 E0 10.1.2.1 10.1.2.2 E1 E0 3 5 (Si,G) Join rtr-b Rcvr A (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SCJ Incoming interface: Ethernet0, RPF nbr 10.1.4.2, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11 1 2 3 4 4 SC Group “G” rate exceeds SPT Threshold at “rtr-b”; Set J Flag in (*, G) and wait for next (Si,G) packet. (Si,G) packet arrives down Shared tree. 5 Send (S ,G) Join towards S . Clear J Flag in (*,G) and i i 0981_03F8_c3 NW98_US_112 464 82 PIM SM SPT-Switchover 10.1.4.1 S0 (Si,G) Traffic S1 To RP (10.1.5.1) S1 rtr-c (Si, G) Traffic Flow Shared (RPT) Tree (Si,G)RP-bit Prune SPT Tree 9 8 S0 10.1.4.2 10.1.2.2 E1 E0 rtr-a To Source “Si” 7 (Si,G) Join E010.1.2.1 6 (Si,G)RP-bit Prune rtr-b Rcvr A 6 Send (Si,G)RP-bit Prune toward RP to prune traffic from RPT 7 SPT & RPT diverge; “rtr-a” forwards (Si,G) Join toward Si 8 “rtr-a” forwards (Si,G)RP-bit Prune toward RP 9 (Si, G) traffic begins flowing down SPT tree 465 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) rtr-c S1 10 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree rtr-a S0 10.1.4.2 To Source “Si” E0 10.1.2.1 10.1.2.2 E1 E0 rtr-b Rcvr A 6 Send (Si,G)RP-bit Prune toward RP to prune traffic from RPT 7 SPT & RPT diverge; “rtr-a” forwards (Si,G) Join toward Si 8 “rtr-a” forwards (Si,G)RP-bit Prune toward RP 9 (Si, G) traffic begins flowing down SPT tree 10 • (Si, G) traffic ceases flowing down Shared tree 466 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c rtr-a S0 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree 10.1.4.2 To Source “Si” E0 10.1.2.1 10.1.2.2 E1 E0 rtr-b Rcvr A (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11 (171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: T Incoming interface: Serial1, RPF nbr 10.1.9.2 Outgoing interface list: Ethernet0, Forward/Sparse, 00:13:25/00:02:30 State in “rtr-a” after switch 467 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c rtr-a S0 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree 10.1.4.2 To Source “Si” E0 10.1.2.1 10.1.2.2 E1 E0 rtr-b Rcvr A J Flag indicates (S, G) created by exceeding the SPT-threshold (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11 (171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: SCJT SCJT Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:13:28/00:02:53 State in “rtr-b” after switch 468 PIM SM SPT-Switchover 10.1.4.1 S0 S1 To RP (10.1.5.1) S1 rtr-c rtr-a S0 (Si, G) Traffic Flow Shared (RPT) Tree SPT Tree 10.1.4.2 To Source “Si” E0 10.1.2.1 10.1.2.2 E1 E0 rtr-b Rcvr A (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.5.1, Outgoing interface list: Serial1, Forward/Sparse, 00:01:43/00:02:11 (171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: PR Incoming interface: Serial0, RPF nbr 10.1.5.1 Outgoing interface list: Null State in “rtr-c” after switch 469 Advanced Troubleshooting Troubleshooting Network State Troubleshooting PIM-DVMRP Troubleshooting ATM P2MP VCs 470 PIM-DVMRP Troubleshooting Example Network pim-dvmrp-gw: ISP mrouted Tunnel0 Site pim-dvmrp-gw Ethernet0 Ethernet1 135.1.2.100 interface tunnel0 ip unnumbered ethernet0 ip pim dense-mode tunnel mode dvmrp tunnel source ethernet0 tunnel destination 135.1.22.98 interface ethernet0 ip addr 135.1.3.102 255.255.255.0 ip pim dense-mode interface ethernet1 ip addr 135.1.2.102 255.255.255.0 ip pim dense-mode 471 PIM-DVMRP Troubleshooting Verifying the DVMRP tunnel Verifying DVMRP route exchange 472 Verifying the DVMRP Tunnel Using the “show interface” Command pim-dvmrp-gw> show int tunnel 0 Tunnel0 is up, line protocol is up Hardware is Tunnel Interface is unnumbered. Using address of Ethernet0 (135.1.3.102) MTU 1500 bytes, BW 9 Kbit, DLY 500000 usec, rely 255/255, load 1/255 Encapsulation TUNNEL, loopback not set, keepalive set (10 sec) Tunnel source 135.1.3.102 (Ethernet0), destination 135.1.22.98 Tunnel protocol/transport IP/IP (DVMRP), key disabled, sequencing disabled Checksumming of packets disabled, fast tunneling enabled Last input 00:00:05, output 00:00:08, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0 (size/max/drops); Total output drops: 0 . . . 473 Verifying the DVMRP Tunnel Using the “mrinfo” Command pim-dvmrp-gw>mrinfo 135.1.3.102 [version cisco 11.2] [flags: PMA]: 135.1.3.102 -> 0.0.0.0 [1/0/pim/querier/leaf] 135.1.2.102 -> 135.1.2.2 [1/0/pim/querier] 135.1.2.102 -> 135.1.2.3 [1/0/pim/querier] 135.1.3.102 -> 135.1.22.98 [1/0/tunnel/querier] pim-dvmrp-gw>mrinfo 135.1.22.98 135.1.22.98 [version mrouted 3.8] [flags: GPM]: 172.21.32.98 -> 172.21.32.191 [1/1] 172.21.32.98 -> 172.21.32.1 [1/1] 135.1.22.98 -> 135.1.22.102 [1/1/querier] 135.1.22.98 -> 135.1.3.102 [1/1/tunnel] Both Ends See Each Other 474 PIM-DVMRP Troubleshooting Verifying the DVMRP tunnel Verifying DVMRP route exchange 475 Verifying DVMRP Route Exchange Using “show ip dvmrp route” pim-dvmrp-gw# show ip dvmrp route DVMRP Routing Table - 8 entries 130.1.0.0/16 [0/3] uptime 00:19:03, expires 00:02:13 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 135.1.0.0/16 [0/3] uptime 00:19:03, expires 00:02:13 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 135.1.22.0/24 [0/2] uptime 00:19:03, expires 00:02:13 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 171.69.0.0/16 [0/3] uptime 00:19:03, expires 00:02:13 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 172.21.27.0/24 [0/3] uptime 00:19:04, expires 00:02:12 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 172.21.32.0/24 [0/2] uptime 00:19:04, expires 00:02:12 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 172.21.33.0/24 [0/3] uptime 00:19:04, expires 00:02:12 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 172.21.120.0/24 [0/3] uptime 00:19:04, expires 00:02:12 via 135.1.22.98, Tunnel0, [version mrouted 3.8] [flags: GPM] 476 Verifying DVMRP Route Exchange Using “debug ip dvmrp” pim-dvmrp-gw# debug ip dvmrp DVMRP debugging is on pim-dvmrp-gw# Mar 20 11:39:36.335: DVMRP: Aging routes, 0 entries expired Mar 20 11:39:41.271: DVMRP: Received Probe on Tunnel0 from 135.1.22.98 Mar 20 11:39:45.335: DVMRP: Building Report for Tunnel0 224.0.0.4 Mar 20 11:39:45.335: DVMRP: Send Report on Tunnel0 to 135.1.22.98 Mar 20 11:39:45.335: DVMRP: 2 unicast, 8 DVMRP routes advertised Mar 20 11:39:47.335: DVMRP: Aging routes, 0 entries expired Mar 20 11:39:51.371: DVMRP: Received Probe on Tunnel0 from 135.1.22.98 Mar 20 11:39:52.379: DVMRP: Received Report on Tunnel0 from 135.1.22.98 477 Verifying DVMRP Route Exchange Checking DVMRP Routes Being Advertised pim-dvmrp-gw# debug ip dvmrp detail DVMRP debugging is on Mar 20 11:42:45.337: DVMRP: Building Report for Tunnel0 224.0.0.4 Mar 20 11:42:45.337: DVMRP: Report 130.1.0.0/16, metric 35, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 135.1.0.0/16, metric 35, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 135.1.22.0/24, metric 34, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 171.69.0.0/16, metric 35, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 172.21.27.0/24, metric 35, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 172.21.32.0/24, metric 34, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 172.21.33.0/24, metric 35, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 172.21.120.0/24, metric 35, from DVMRP table Mar 20 11:42:45.337: DVMRP: Report 135.1.2.0/24, metric 1 Mar 20 11:42:45.337: DVMRP: Report 135.1.3.0/24, metric 1 Mar 20 11:42:45.337: DVMRP: Send Report on Tunnel0 to 135.1.22.98 Mar 20 11:42:45.337: DVMRP: 2 unicast, 8 DVMRP routes advertised 478 Verifying DVMRP Route Exchange Checking DVMRP Routes Being Received pim-dvmrp-gw# debug ip dvmrp detail DVMRP debugging is on ... : DVMRP: Received Report on Tunnel0 from 135.1.22.98 ... : DVMRP: Origin 130.1.0.0/16, metric 2, metric-offset 1, distance 0 ... : DVMRP: Origin 135.1.0.0/16, metric 2, metric-offset 1, distance 0 ... : DVMRP: Origin 171.69.0.0/16, metric 2, metric-offset 1, distance 0 ... : DVMRP: Origin 135.1.2.0/24, metric 34, metric-offset 1, infinity ... : DVMRP: Origin 135.1.3.0/24, metric 34, metric-offset 1, infinity ... : DVMRP: Origin 135.1.22.0/24, metric 1, metric-offset 1, distance 0 ... : DVMRP: Origin 172.21.27.0/24, metric 2, metric-offset 1, distance 0 ... : DVMRP: Origin 172.21.32.0/24, metric 1, metric-offset 1, distance 0 ... : DVMRP: Origin 172.21.33.0/24, metric 2, metric-offset 1, distance 0 ... : DVMRP: Origin 172.21.120.0/24, metric 2, metric-offset 1, distance 0 479 Advanced Troubleshooting Troubleshooting Network State Troubleshooting PIM-DVMRP Troubleshooting ATM P2MP VCs 480 Multicast over ATM P2MP VCs ATM NBMA Cloud A C B D One p2mp VC/group performs multicast replication instead of the router B’cast p2mp VC used when # Groups > max p2mp VC count Use PIM Sparse mode p2mp VCs map group membership Fast Switched!! Note: Only p2mp m’cast VCs for Router A shown for clarity. 481 M’cast P2MP VC Troubleshooting rtr-a> show ip pim vc IP Multicast ATM VC Status ATM0/0 VC count is 5, max is 5 Group VCD Interface 224.0.1.40 21 ATM0/0 224.2.2.2 26 ATM0/0 224.1.1.1 28 ATM0/0 224.4.4.4 32 ATM0/0 224.5.5.5 35 ATM0/0 Leaf Count 2 1 1 2 1 Rate 0 pps 0 pps 0 pps 0 pps 0 pps 482 M’cast P2MP VC Troubleshooting Root P2MP VC with 3 Leaf Routers rtr-a> show atm vc Interface ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 ATM0/0 VCD 1 2 3 4 5 6 9 10 11 12 13 14 15 VPI 0 0 0 0 0 0 0 0 0 0 0 0 0 VCI 5 16 124 125 126 127 130 131 132 133 134 135 136 Type PVC PVC MSVC-3 MSVC MSVC MSVC SVC SVC MSVC-3 MSVC-1 SVC MSVC-2 MSVC-2 P2MP VC for which we are a Leaf AAL / Encapsulation AAL5-SAAL AAL5-ILMI AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP AAL5-SNAP Peak Kbps 155000 155000 155000 155000 155000 155000 155000 155000 155000 155000 155000 155000 155000 Avg. Burst Kbps Cells Status 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 155000 96 ACT 483 M’cast P2MP VC Troubleshooting show ip mroute 224.1.1.1 IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:03:57/00:02:54, RP 130.4.101.1, flags: SJ Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: ATM0/0, VCD 3, Forward/Sparse, 00:03:57/00:02:53 ATM P2MP VC information for Group 484 M’cast P2MP VC Troubleshooting P2MP VC Opened by Group 224.1.1.1 rtr-a> show atm vc 3 ATM0/0: VCD: 3, VPI: 0, VCI: 124, etype:0x0, AAL5 - LLC/SNAP, Flags: 0x650 PeakRate: 155000, Average Rate: 155000, Burst Cells: 96, VCmode: 0xE000 OAM DISABLED, InARP DISABLED InPkts: 0, OutPkts: 12, InBytes: 0, OutBytes: 496 InPRoc: 0, OutPRoc: 0, Broadcasts: 12 InFast: 0, OutFast: 0, InAS: 0, OutAS: 0 OAM F5 cells sent: 0, OAM cells received: 0 Status: ACTIVE, TTL: 2, VC owner: IP Multicast (224.1.1.1) interface = ATM0/0, call locally initiated, call reference = 2 vcnum = 11, vpi = 0, vci = 132, state = Active aal5snap vc, multipoint call Retry count: Current = 0, Max = 10 timer currently inactive, timer value = 00:00:00 Leaf Atm Nsap address: 47.0091810000000002BA08E101.444444444444.02 Leaf Atm Nsap address: 47.0091810000000002BA08E101.333333333333.02 Leaf Atm Nsap address: 47.0091810000000002BA08E101.222222222222.02 NSAP Addresses of Leaf Nodes 485 Agenda Troubleshooting Tools Basic Troubleshooting Advanced Troubleshooting Case studies 486 Troubleshooting Cheat Sheet Check IGMP membership on PIM DR on Last Hop LAN Check RP address in (*,G) entry on the DR Check RPF interface to RP in (*,G) entry Repeat above check for (*,G) state on routers along the shared tree, up to RP. Repeat above check for (S,G) state on routers along the source tree, up to Source DR. 487 PIM Timers The secret to understanding PIM is to watch the timers. 3 minutes (3:30) is the “magic” number. Interface expiration timers are updated every minute so if the expire timer goes below 2:00 the route is not being used. Entry expiration timers are updated when data is forwarded so if the timer drops below 2:59, the source has stopped sending. 488 Source Tree In IOS a (*,G) entry is always created whenever a (S,G) entry is created. The Source-tree may overlap the Shared-tree in which case the (*,G) entry will be non-NULL. The Source-tree may be independent of the Shared-tree in which case the (*,G) entry will be NULL. 489 PIM SM Source Tree •(S,G) forwarding entry (171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32 NOTE: These uptimes indicate the receiver has always been present 490 PIM SM Source Tree •(S,G) forwarding entry (171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32 Receivers have stopped joining 491 PIM SM Source Tree •(S,G) forwarding entry (171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: T Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: Serial1, Forward/Sparse, 00:04:28/00:01:32 Data is not flowing 492 PIM SM Shared Tree •(*,G) forwarding entry (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: S Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32 All Sources for this group will be forwarded out the olist 493 PIM SM Shared Tree •(*,G) forwarding entry (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: S Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32 This always points to the RP 494 PIM SM Shared Tree •(*,G) forwarding entry (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: S Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32 This is the next-hop to the RP from “sh ip RPF” 495 PIM SM Shared tree •(*,G) forwarding entry (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: S Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32 The entry has been up for this long. Note the uptime of the olist 496 PIM SM Shared tree •(*,G) forwarding entry (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: S Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32 All receivers for the entry may have left 497 PIM SM Shared tree •(*,G) forwarding entry (*, 224.1.1.1), 00:04:28/00:01:32, RP 171.68.28.140, flags: S Incoming interface: Serial1, RPF nbr 171.68.28.140, Outgoing interface list: Serial0, Forward/Sparse, 00:04:28/00:01:32 A sparse-mode group must have an RP 498 PIM Shared Tree •(S,G,R) forwarding entry (171.68.37.121/32, 224.1.1.1), 00:04:28/00:01:32, flags: RP Incoming interface: Serial0, RPF nbr 171.68.28.190 Outgoing interface list: NULL Points toward the RP!!!! Last-hop router is sending (s,g,r) prunes Note R-flag 499 mtrace • Shows: – Multicast path from source to receiver. » Similar to unicast “trace” command » Trace path between any two points in network » TTL Thresholds & Delay shown at each node • Troubleshooting Usage: – Find where multicast traffic flow stops. » Focus on router where flow stops – Verify path multicast traffic is following. » Identify sub-optimal paths. mtrace/mstat—How it works Mtrace Packet Flow Adds mtrace data Adds mtrace data Adds mtrace data src Adds mtrace data Adds mtrace data dest First-hop Router Last-hop Router Multicast Dist. Tree Mtrace Packet Note: Mtrace packets use special IGMP packets with IGMP Type codes of 0x1E and 0x1F. Unix Workstation or Cisco Router 501 mtrace dallas-gw>mtrace bloom-iptv-svr bwilliam-ss5 224.2.156.43 Type escape sequence to abort. Mtrace from 172.17.67.43 to 171.68.37.121 via group 224.2.156.43 From source (?) to destination (bwilliam-ss5.cisco.com) Querying full reverse path... 0 bwilliam-ss5 (171.68.37.121) -1 dallas-gw (171.68.37.1) PIM thresh^ 0 3 ms -2 wan-gw4 (171.68.86.193) PIM thresh^ 0 32 ms -3 bloomington-mn-gw (171.68.27.2) PIM thresh^ 0 717 ms -4 bloom-mnlab (171.68.39.28) PIM thresh^ 0 730 ms -5 bloom-iptv-svr (172.17.67.43) dallas-gw> mstat • Shows: – Multicast path in pseudo graphic format. » Trace path between any two points in network » Drops/Duplicates shown at each node » TTLs & Delay shown at each node • Troubleshooting Usage: – Locate congestion point in the flow. » Focus on router with high drop/duplicate count » Duplicates indicated as “negative” drops mstat dallas-gw>mstat 172.17.67.43 bwilliam-ss5 224.2.156.43 Source Response Dest Packet Statistics For 172.17.67.43 171.68.86.194 All Multicast Traffic | __/ rtt 547 ms Lost/Sent = Pct Rate v / hop 547 ms --------------------172.17.67.33 171.68.39.28 bloom-mnlab | ^ ttl 0 v | hop -409 ms -11/168 = --% 16 pps 171.68.39.1 171.68.27.2 bloomington-mn-gw | ^ ttl 1 v | hop 379 ms -9/170 = --% 17 pps 171.68.27.1 171.68.86.193 wan-gw4 | ^ ttl 2 v | hop 28 ms -3/195 = --% 19 pps 171.68.86.194 171.68.37.1 dallas-gw | \__ ttl 3 v \ hop 0 ms 196 19 pps 171.68.37.121 171.68.86.194 Receiver Query Source Only For Traffic From 172.17.67.43 To 224.2.156.43 -------------------- 0/67 = 0% 6 pps -3/67 = --% 6 pps 0/70 = 0% 7 pps 70 7 pps mstat dallas-gw>mstat 172.17.67.43 bwilliam-ss5 224.2.156.43 Source Response Dest Packet Statistics For 172.17.67.43 171.68.86.194 All Multicast Traffic | __/ rtt 399 ms Lost/Sent = Pct Rate v / hop 399 ms --------------------172.17.67.33 171.68.39.28 bloom-mnlab | ^ ttl 0 v | hop 119 ms 77/694 = 11% 69 pps 171.68.39.1 171.68.27.2 bloomington-mn-gw | ^ ttl 1 v | hop -150 ms 395/609 = 65% 60 pps 171.68.27.1 171.68.86.193 wan-gw4 | ^ ttl 2 v | hop 30 ms -8/39 = --% 3 pps 171.68.86.194 171.68.37.1 dallas-gw | \__ ttl 3 v \ hop 0 ms 39 3 pps 171.68.37.121 171.68.86.194 Receiver Query Source Only For Traffic From 172.17.67.43 To 224.2.156.43 -------------------- 0/65 = 0% 6 pps 44/65 = 68% 6 pps -1/21 = --% 2 pps 22 2 pps Debugging Auto-RP Operation Understand the Auto-RP mechanisms This is the fundamental debugging tool for problems with Auto-RP!!! Verify Group-to-RP Mapping Caches First on the Mapping Agents Other routers will learn Group-to-RP mapping info from these routers If not correct, use debug commands to see what’s wrong Make sure all MA’s have consistent Group-to-RP information If not, watch for TTL Scoping problems Then on other routers If info doesn’t match MA, there is a problem distributing the information Use show and debug commands to find where the break is 506 Debugging Auto-RP Operation Insure Auto-RP group state is correct Should normally be in Dense mode Watch out for mixed DM and SM conditions Can occur when Static RP’s are also defined Always ‘deny’ Auto-RP groups on Static RP configurations Use ‘Accept-RP’ filters on all routers as insurance Watch out for DM problems in NBMA networks (See Module 7 for details) 507 Debugging BSR Operation Understand the BSR mechanisms This is the fundamental debugging tool for problems with BSR!!! Verify Group-to-RP Mapping Caches First on the BSR Other routers will learn Group-to-RP mapping info from this router If not correct, use debug commands to see what’s wrong Then on other routers If info doesn’t match BSR, there is a problem distributing the information Use show and debug commands to find where the break is 508 Case Studies THANKS 510