CCIE Enterprise Infrastructure Foundation Narbik Kocharians Cisco Press CCIE Enterprise Infrastructure Foundation Narbik Kocharians Copyright© 2023 Pearson Education, Inc. Published by: Cisco Press All rights reserved. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, request forms, and the appropriate contacts within the Pearson Education Global Rights & Permissions Department, please visit www.pearson.com/permissions. No patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Nor is any liability assumed for damages resulting from the use of the information contained herein. ScoutAutomatedPrintCode Library of Congress Control Number: 2022902108 ISBN-13: 978-0-13-737424-3 ISBN-10: 0-13-737424-0 Warning and Disclaimer This book is designed to provide information about the CCIE Enterprise Infrastructure certification. Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied. The information is provided on an “as is” basis. The authors, Cisco Press, and Cisco Systems, Inc. shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book or from the use of the discs or programs that may accompany it. The opinions expressed in this book belong to the author and are not necessarily those of Cisco Systems, Inc. Trademark Acknowledgments All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Cisco Press or Cisco Systems, Inc., cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark. Special Sales For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales department at corpsales@pearsoned.com or (800) 382-3419. For government sales inquiries, please contact governmentsales@pearsoned.com. For questions about sales outside the U.S., please contact intlcs@pearson.com. Feedback Information At Cisco Press, our goal is to create in-depth technical books of the highest quality and value. Each book is crafted with care and precision, undergoing rigorous development that involves the unique expertise of members from the professional technical community. Readers’ feedback is a natural continuation of this process. If you have any comments regarding how we could improve the quality of this book, or otherwise alter it to better suit your needs, you can contact us through email at feedback@ciscopress.com. Please make sure to include the book title and ISBN in your message. We greatly appreciate your assistance. Editor-in-Chief: Mark Taub Alliances Manager, Cisco Press: Arezou Gol Director, ITP Product Management: Brett Bartow Executive Editor: James Manly Managing Editor: Sandra Schroeder Development Editor: Ellie Bru Project Editor: Mandie Frank Copy Editor: Kitty Wilson Technical Editors: Sarah Anand; Dante McNeil Editorial Assistant: Cindy Teeters Designer: Chuti Prasertsith Composition: codeMantra Indexer: Timothy Wright Proofreader: Donna E. Mulder Credits Unnumbered figures on pages 860-861 PuTTY Pearson’s Commitment to Diversity, Equity, and Inclusion Pearson is dedicated to creating bias-free content that reflects the diversity of all learners. We embrace the many dimensions of diversity, including but not limited to race, ethnicity, gender, socioeconomic status, ability, age, sexual orientation, and religious or political beliefs. Education is a powerful force for equity and change in our world. It has the potential to deliver opportunities that improve lives and enable economic mobility. As we work with authors to create content for every product and service, we acknowledge our responsibility to demonstrate inclusivity and incorporate diverse scholarship so that everyone can achieve their potential through learning. As the world’s leading learning company, we have a duty to help drive change and live up to our purpose to help more people create a better life for themselves and to create a better world. Our ambition is to purposefully contribute to a world where Everyone has an equitable and lifelong opportunity to succeed through learning Our educational products and services are inclusive and represent the rich diversity of learners Our educational content accurately reflects the histories and experiences of the learners we serve Our educational content prompts deeper discussions with learners and motivates them to expand their own learning (and worldview) While we work hard to present unbiased content, we want to hear from you about any concerns or needs with this Pearson product so that we can investigate and address them. Please contact us with concerns about any potential bias at https://www.pearson.com/report-bias.html. About the Author Narbik Kocharians, CCIE No. 12410 (Routing and Switching, Service Provider, and Security) is a triple CCIE with more than 46 years of experience in this industry. He has designed, implemented, and supported numerous small, mid-size, and large enterprise networks. Narbik is the president of Micronics Networking and Training, Inc. (www.MicronicsTraining.com), where almost all Cisco-authorized and custom courses are conducted, including CCIE-DC, CCIE-SP, CCIE-Enterprise Infrastructure, CCDE, ACI, and many more. About the Technical Reviewers Sarah Anand has been affiliated with different networking technologies, including Cisco-specific implementations, for 7 years, with a focus on routing/switching and service provider technologies. Currently she works as a technical writer and editor, training network engineers in vendor-specific and industry-standard technologies. She has a degree in computer science and enjoys spending free time exploring passions in web design and search engine optimization. Dante McNeil has 10 years of IT networking experience in the nonprofit, enterprise, K–12, and higher education spaces, with a focus on advanced networking implementations and Cisco technologies. He also spends time writing and creating network training content for networking engineers. He holds a bachelor of science degree in computing information sciences from Jacksonville University. In his spare time, he enjoys roller coasters, video games, and road trips. Dedications I would like to dedicate this book to my beautiful wife, Janet, my children and their spouses, Chris and Nona (aka Siroon Achik), Patrick and Diana (aka Bestelik Jan), Alexandra (aka Achiko) and Sevak, and Daniel (aka Chompolik), as well as our first grandson, Matthew (aka Jigar), whom I LOVE so much, he brightens my day every morning! I would like to acknowledge with gratitude the support, sacrifice, and love of my family for making this book possible. I thank God for the health and wisdom that He has instilled in me, my lovely family, my first grandson Mathew, and my father, who was my best friend. Acknowledgments A very special thanks to James and Eleanor. I remember brainstorming with James for hours about this book, and eventually he came up with the ultimate solution. I would like to thank Eleanor for having a tremendous amount of patience and professionalism. I would also like to thank my tech editors, Sarah Anand and Dante McNeil, two gifted network engineers with a tremendous amount of knowledge. God willing, I will be working with these two champions for a long time to come. They are not CCIEs yet, but their knowledge is on par with the best CCIEs out there. Contents at a Glance Introduction Chapter 1 Switching Chapter 2 IP Prefix Lists Chapter 3 RIPv2 Chapter 4 EIGRP Chapter 5 OSPF Chapter 6 BGP Chapter 7 DMVPN Chapter 8 MPLS and L3VPNs Chapter 9 IPv6 Chapter 10 SD-WAN Chapter 11 SD-Access Index Reader Services Register your copy at www.ciscopress.com/title/ISBN for convenient access to downloads, updates, and corrections as they become available. To start the registration process, go to www.ciscopress.com/register and log in or create an account*. Enter the product ISBN 9780137374243 and click Submit. When the process is complete, you will find any available bonus content under Registered Products. *Be sure to check the box that you would like to hear from us to receive exclusive discounts on future editions of this product. Contents Introduction Chapter 1 Switching Lab 1: Configuring Trunks Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Task 15 Task 16 Task 17 Task 18 Task 19 VTP Pruning Task 20 Task 21 Task 22 Task 23 Task 24 Task 25 Task 26 Task 27 Task 28 Lab 2: Configuring EtherChannels Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Lab 3: Introducing Spanning Tree Protocol 802.1D Per-VLAN Spanning Tree Protocol Task 1 Task 2 Task 3 Task 4 Configuration Tasks: 802.1D Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 802.1w Per-VLAN Rapid Spanning Tree Protocol Task 1 Task 2 Task 3 Task 4 802.1w Configuration Tasks Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 802.1s Multiple Spanning Tree Protocol Task 1 Task 2 Task 3 Task 4 Let’s Explore 802.1s Task 1 Task 2 Task 3 Task 4 Chapter 2 IP Prefix Lists Lab 1: Prefix Lists Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Chapter 3 RIPv2 Lab 1: Configuring RIPv2 Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Task 15 Task 16 Task 17 Task 18 Task 19 Task 20 Lab 2: Helper Map Task 1 Task 2 Task 3 Task 4 Lab 3: RIPv2 Challenge Lab Ticket 1 Ticket 2 Ticket 3 Ticket 4 Ticket 5 Ticket 6 Ticket 7 Ticket 8 Ticket 9 Chapter 4 EIGRP Lab 1: EIGRP Named Mode Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Lab 2: EIGRP and Bidirectional Forwarding Detection (BFD) Task 1 Task 2 Task 3 Task 4 Lab 3: EIGRP Stub Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Lab 4: EIGRP Filtering Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Lab 5: Advanced EIGRP Lab Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Lab 6: EIGRP Authentication Task 1 Task 2 Task 3 Lab 7: EIGRP Challenge Lab Ticket 1 Ticket 2 Ticket 3 Ticket 4 Ticket 5 Ticket 6 Ticket 7 Ticket 8 Chapter 5 OSPF Lab 1: Running OSPF on the Interfaces Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Lab 2: OSPF Broadcast Networks Task 1 Task 2 Task 3 Lab 3: OSPF Non-broadcast Networks Task 1 Task 2 Lab 4: OSPF Point-to-Point Networks Task 1 Task 2 Lab 5: OSPF Point-to-Multipoint and Point-to-Multipoint Non-broadcast Networks Task 1 Task 2 Task 3 Lab 6: OSPF Area Types Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Task 15 Lab 7: OSPF Filtering Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Task 15 Task 16 Task 17 Task 18 Task 19 Task 20 Lab 8: OSPF Summarization Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Lab 9: Virtual Links and GRE Tunnels Task 1 Task 2 Task 3 Task 4 Lab 10: Default Route Injection Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Lab 11: OSPF Authentication Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Lab 12: OSPF Best-Path Determination Task 1 Task 2 Task 3 Lab 13: OSPF Challenge Lab Ticket 1 Ticket 2 Ticket 3 Ticket 4 Ticket 5 Ticket 6 Ticket 7 Ticket 8 Chapter 6 BGP Lab 1: Establishing a BGP Session Using the Correct TTL Value BGP Peering Session Overview Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Lab 2: Establishing Neighbor Adjacency Using Different Methods Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Lab 3: Route Reflectors Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Lab 4: BGP Confederation Task 1 Task 2 Task 3 Task 4 Lab 5: BGP Backdoor and Conditional Advertisement Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Lab 6: BGP Aggregation Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Lab 7: BGP Filtering Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Task 15 Task 16 Task 17 Lab 8: BGP Load Balancing Task 1 Task 2 Task 3 Task 4 Task 5 Lab 9: Remove-Private-AS: A Walkthrough Lab 10: AS Migration Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Lab 11: BGP Best-Path Algorithm: A Walkthrough Introduction Building Blocks of BGP Path Vector Controlling Routing to Paths Path Attributes Modifying Path Attributes The Best-Path Algorithm Step 1: WEIGHT Step 2: Local Preference 5.1.5. LOCAL_PREF Step 3: Locally Originated Step 4: AS_PATH AS_PATH Inbound 5.3. AS_PATH and Path Selection Step 5: Origin Code Step 6: MED Step 7: eBGP over iBGP Confederations Step 8: Lowest IGP Metric to the Next Hop Step 9: Determine if Multiple Paths Exist Step 10: Oldest Route Step 11: Lowest Router ID Step 12: Minimum Cluster List Length Step 13: Lowest Neighbor Address Chapter 7 DMVPN Introduction to DMVPN DMVPN Mechanics DMVPN Designs Phase 1: Hub-and-Spoke Dynamic Spoke-to-Spoke Tunnels The Need for Spoke-to-Spoke Tunnels Enabling Multipoint GRE on Spokes Forming Spoke-to-Spoke Tunnels Triggering NHRP Resolutions Phase 2: Spoke-Initiated Spoke-to-Spoke Tunnels Phase 2 Spoke-to-Spoke Tunnel Caveats Phase 3: Hub-Initiated Spoke-to-Spoke Tunnels Shortcut or Override Conclusion Lab 1: Single Hub, Single Cloud Implement Phase 1 Design Goal DMVPN Tunnel Configuration Implement OSPF Summarization with OSPF Implement EIGRP Implement iBGP Implement eBGP Implement Phase 2 Design Goal DMVPN Tunnel Configuration Implement OSPF Implement EIGRP Implement iBGP Implement eBGP Implement Phase 3 Design Goal DMVPN Tunnel Configuration Implement OSPF Implement EIGRP Implement iBGP Implement eBGP Lab 2: Single Hub, Dual Cloud Implement Phase 1 Design Goal DMVPN Tunnel Configuration Implement OSPF Broadcast Network Type Implement EIGRP Implement iBGP Implement eBGP Implement Phase 2 Design Goal DMVPN Tunnel Configuration Implement OSPF Implement EIGRP Implement iBGP Implement eBGP Potential Solution to Above Problems Implement Phase 3 Design Goal DMVPN Tunnel Configuration Implement EIGRP Implement iBGP Implement eBGP Lab 3: Dual Hub, Single Cloud Implement Phase 3 Design Goal DMVPN Tunnel Configuration Implement EIGRP Implement iBGP Implement eBGP Lab 4: Dual Hub, Dual Cloud Implement Phase 3 Design Goal DMVPN Tunnel Configuration Implement EIGRP Implement iBGP Implement eBGP Lab 5: DMVPN NHS Clustering Task 1 Task 2 Task 3 Task 4 Lab 6: DMVPN and DHCP Task 1 Task 2 Task 3 Chapter 8 MPLS and L3VPNs Lab 1: Configuring Label Distribution Protocol Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Task 15 Task 16 Lab 2: Static and RIPv2 Routing in a VPN Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Lab 3: EIGRP Routing in a VPN Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Lab 4: EIGRP Site-of-Origin Task 1 Task 2 Task 3 Task 4 Task 5 Lab 5: OSPF Routing in a VPN Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Lab 6: Backdoor Links and OSPF Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Lab 7: BGP Routing in a VPN Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Lab 8: MPLS and NAT Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Lab 9: Route Targets, Import Maps, and Export Maps Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Lab 10: Internet Access Methods: Partial Internet Routes Task 1 Task 2 Task 3 Task 4 Chapter 9 IPv6 Lab 1: Acquiring an IPv6 Address Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Lab 2: DMVPN and IPv6 Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Lab 3: Configuring OSPFv3 Task 1 Task 2 Task 3 Lab 4: Summarization of Internal and External Networks Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Lab 5: OSPFv3 Broadcast Networks Task 1 Task 2 Task 3 Task 4 Lab 6: OSPFv3 Non-Broadcast Networks Task 1 Task 2 Lab 7: OSPFv3 Point-to-Point Networks Task 1 Task 2 Lab 8: OSPFv3 Point-to-Multipoint Networks Task 1 Task 2 Task 3 Lab 9: OSPFv3 Cost and Auto-Cost Task 1 Task 2 Task 3 Lab 10: LSAs in OSPFv3 Task 1 Task 2 Task 3 Task 4 Task 5 Lab 11: OSPFv3 Area Types Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Lab 12: OSPFv3 Authentication Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Lab 13: EIGRPv6 Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12 Task 13 Task 14 Lab 14: BGP Configuration Task 1 Task 2 Task 3 Task 4 Chapter 10 SD-WAN Lab 1: Onboarding WAN Edge Devices Site 2: CSR 1000v Onboarding Lab 2: Exploring Unicast Routing Lab 3: Configuring Segmentation in All Sites Using VRF 100 and VRF 200 Branch-1 Branch-2 Lab 4: Configuring vEdge Using a Feature Template Lab 5: Configuring vEdge Using a vManage Feature Template Lab 6: Configuring cEdge Using a BR-2–Specific vManage Feature Template Lab 7: Configuring vEdge Using a vManage Feature Template and ZTP Creating a DHCP Server on ISP-1 Lab 8: Configuring an Application-Aware Routing Policy Chapter 11 SD-Access Lab 1: Configuring the SDA Policy Engine Task 1: ISE Integration with DNA Center Task 2: Finalize the Integration on DNA Center Lab 2: SDA Design Task 1: Design the Network Hierarchy Task 2: Configure Common Network Settings Task 3: Configure Device Credentials Task 4: Create and Reserve IP Address Pools Lab 3: Building the SDA Campus Fabric Task 1: Discover Devices Task 2: Provisioning the Devices Lab 4: LAN Automation Index Command Syntax Conventions The conventions used to present command syntax in this book are the same conventions used in the IOS Command Reference. The Command Reference describes these conventions as follows: Boldface indicates commands and keywords that are entered literally as shown. In actual configuration examples and output (not general command syntax), boldface indicates commands that are manually input by the user (such as a show command). Italic indicates arguments for which you supply actual values. Vertical bars (|) separate alternative, mutually exclusive elements. Square brackets ([ ]) indicate an optional element. Braces ({ }) indicate a required choice. Braces within brackets ([{ }]) indicate a required choice within an optional element. Introduction Enterprise networking has undergone many small changes over the years, building from simple shared bus LANs to intricate routing and switching architectures and wireless communications. Behind all of this is a need to ensure high reliability, agility, and speed. Through the decades, many different networking technologies, from physical connections to software protocols, have been created to assist enterprise networks in reaching those goals. For seasoned networking veterans, working with the various protocols and architectures is second nature. However, those who are just starting to build their careers and trying to study more advanced areas of network engineering may be overwhelmed by the multitude of routing protocols, Layer 2 features, and new buzzwords like “softwaredefined.” This book is written as a foundation guide for the most common enterprise networking concepts that are required for a network engineer looking to move forward to more advanced aspects of networking. It combines aspects of theory instruction with practical application. Topics such as LAN switching, IP routing, and overlay networking technologies such as DMVPN are explained as foundational topics, including examples. Each chapter also functions as a lab manual with a task-oriented structure. Lab scenarios are presented as either configuration objectives, troubleshooting scenarios, or design scenarios. Each lab scenario includes full solutions and explanations. For beginner to intermediate readers, the solutions can be read while solving the tasks. Advanced readers can challenge their knowledge and skills by solving tasks first and then comparing their solutions to the ones provided in this book. This book is not meant to be an exhaustive study of all the included technologies. It is meant to provide enough information on all topics to allow you to speak intelligently about each technology and even implement some of the configurations, if necessary, in your own environment. It takes topics from Cisco’s CCIE Enterprise Infrastructure certification blueprint but includes some legacy topics, where necessary, to facilitate understanding. Who This Book Is For Although the title of this book is CCIE Enterprise Infrastructure Foundation, the target audience is not limited to just those seeking expert-level certification. Any person looking to learn a little bit more about these foundational technologies will find this book very accessible. This book breaks down complicated topics and provides examples to maximize understanding. It does, however, assume some basic networking knowledge. The following types of readers will get the most out of this book: Those who have completed CCNA certification and are part of the way through their preparation for CCNP Enterprise certification Those who have completed CCNP Enterprise certification and are pursuing CCIE Those who are currently working in an environment that is implementing specific technologies covered in this book Those who are migrating from another vendor to a Cisco environment and need to understand Cisco configurations for common networking protocols How This Book Is Organized This book is divided into the 11 chapters described here. Every chapter can stand alone and can be used as a reference for the technologies it covers. Chapter 1: Switching Chapter 1 introduces Layer 2 concepts such as preventing loops with Spanning Tree Protocol, segmenting with VLANs, extending VLANs between switches through trunking, and bonding multiple Ethernet links together to increase bandwidth between network nodes. It covers topics such as Spanning Tree Protocol, RSTP, MSTP, VTP and VTP pruning, 802.1Q and ISL trunking, and LACP and PAgP. Chapter 2: IP Prefix Lists Chapter 2 introduces a common route filtering mechanism known as a prefix list. It explains why prefix lists were invented and why they are used over access lists for route filtering. This chapter shows how to write prefix lists and apply them in various routing protocols for filtering routes. Chapter 3: RIPv2 Chapter 3 introduces Routing Information Protocol (RIP). RIP may not be included on the exam, but it is a perfect example of a simple distance vector routing protocol that follows all the standard distance vector designs. It focuses on the simplicity of RIP configuration, advanced RIP filtering scenarios, and RIP configuration challenges. Chapter 4: EIGRP Chapter 4 focuses on Cisco’s improvement on its own version of Interior Gateway Routing Protocol (IGRP), Enhanced Interior Gateway Routing Protocol (EIGRP). It introduces EIGRP as a distance vector protocol that forms neighbor relationships and keeps a topology table like some other protocols. EIGRP is considered an advanced distance vector protocol that uses more than simple hop counts to learn loop-free paths through a network. This chapter covers EIGRP configuration topics such as EIGRP classic and address family configuration, EIGRP stub routing, and EIGRP with BFD. Chapter 5: OSPF Chapter 5 introduces the Open Shortest Path First (OSPF) routing protocol. It begins with an analysis of how OSPF builds its link-state database (LSDB) with various linkstate advertisements (LSA) and uses that information to calculate loop-free routed paths through a network. This chapter also details multiarea OSPF design, filtering, and virtual links. It includes a detailed walkthrough on OSPF’s best-path determination to help you understand OSPF’s path selection process. Chapter 6: BGP Chapter 6 introduces Border Gateway Protocol (BGP), the protocol that routes the Internet. It explains BGP operation between autonomous systems (external BGP, or eBGP) and within a single autonomous system (internal BGP, or iBGP). Topics covered include BGP session establishment, route reflectors and confederations, aggregation, and filtering. This chapter includes a detailed walkthrough of the BGP best-path determination process. Chapter 7: DMVPN Chapter 7 focuses on Cisco’s original SD-WAN technology, known as Dynamic Multipoint VPN (DMVPN). It explains DMVPN from the ground up, introducing concepts such as overlay and underlay networking, the link between DMVPN and NHRP, DMVPN routing using common routing protocols, and different DMVPN designs. It covers DMVPN Phase 1 through Phase 3 configurations, NHRP shortcut switching enhancements, hub-and-spoke networking designs, and (m)GRE tunnels. Chapter 8: MPLS and L3VPNs Chapter 8 introduces Multiprotocol Label Switching (MPLS) and the suite of services MPLS can provide. This chapter begins with an introduction to MPLS labels and Label Distribution Protocol (LDP). It also introduces the most common MPLS service, MPLS Layer 3 VPN (L3VPN). Topics covered include CE and PE routers, MPLS core configuration, LDP session establishment, BGP route targets and route distinguishers, and exchange of IGP routes between two sites connected by an MPLS L3VPN. Chapter 9: IPv6 Chapter 9 introduces Internet Protocol Version 6 (IPv6), which is the successor to IPv4 due to its massive address space. It also details IPv6 address types, assignment, and configuration. Topics covered include IPv6 NDP, IPv6 SLAAC, DMVPN for IPv6, OSPF for IPv6 (OSPFv3), EIGRP for IPv6, and BGP for IPv6. Chapter 10: SD-WAN Chapter 10 introduces Cisco’s new SD-WAN platform, which is based on its acquisition of Viptela. This chapter details basic SD-WAN components, such as vSmart, vManage, and vBond, as well as the setup and configuration required to join vEdge routers to an SD-WAN solution. Topics covered include onboarding WAN edge devices, unicast routing, segmentation, vManage device templates, ZTP, and application-aware policies. Chapter 11: SD-Access Chapter 11 introduces Cisco’s SD-Access solution for creating scalable, automated, and resilient enterprise fabric. This chapter covers configuration of the SD-Access policy engine as well as SDA design and implementation. Topics covered include Cisco ISE, pxGrid, XMPP, SDA hierarchy global IP pools, DNAC, and LAN automation. Chapter 1 CCIE Enterprise Infrastructure Foundation v1.0 www.MicronicsTraining.com Narbik Kocharians CCSI, CCIE #12410 R&S, Security, SP Switching CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 1 Lab 1 Configuring Trunks What is covered in this lab: This lab focuses mainly on configuring trunk links and VLANs and controlling which VLANs are allowed on a particular trunk link. This lab covers the following topics: dynamic trunks, basic VTP operation, how to modify the allowed VLAN lists on trunk links, and VTP pruning. Task 1 Shut down all ports on all six switches and configure the VTP domain name to be TST. When receiving a switch and beginning the configuration process for the first time, it is always a best practice to shut down all ports that are connected to neighboring switches or end devices. Doing so prevents potential catastrophic harm to the network during the configuration change should an accidental misconfiguration occur. Such misconfigurations could introduce Layer 2 Bridging loops or lost VLAN configuration information. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 2 Once the configuration changes have been made and verified, it is then safe to bring the ports up and verify once again that the desired change has been met. This task starts off by shutting down all ports on all six switches. Normally, such a task would be very time consuming. Each interface would have to be manually configured with the shutdown command one-by-one. However, Cisco IOS switches have what is known as the interface range command that allows selection of multiple interfaces at once for configuration. This and future tasks make full use of this command to shut down the interfaces on the switch. The next part of the task begins the configuration for the VTP settings for the switched domain. VTP is the VLAN Trunking Protocol developed by Cisco. It was developed to allow switches to dynamically synchronize the contents of their VLAN databases with each other to ease VLAN configuration in the network. VTP switches that synchronize their VLAN databases belong to the same VTP domain which can be manually configured. VTP is automatically enabled on all trunk ports in the topology with some default settings. The following “show vtp status” output reveals some of the default settings the switch uses for VTP: On Any Switch: Switch#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc80.0e00 Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------VTP Operating Mode Maximum VLANs supported locally Number of existing VLANs Configuration Revision MD5 digest CCIE by Narbik Kocharians : Server : 1005 : 5 : 0 : 0x57 0xCD 0x40 0x65 0x63 0x59 0x47 0xBD 0x56 0x9D 0x4A 0x3E 0xA5 0x69 0x35 0xBC CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 3 Notice the VTP domain name in the above output is empty. An empty or blank VTP domain name means that the switch currently does not belong to any VTP domain. In addition, the switch is operating as a VTP server. This is the default mode on Cisco IOS. In this mode, the devices advertise the contents of their VLAN databases to neighboring VTP switches. Addtionally, a device in this mode can create, modify and delete VLANs. By default, all switches belong to the {NULL} VTP domain. While initialized with a {NULL} VTP Domain value, the switch will not send any of its own VTP advertisements, but will respond and react to received VTP advertisements. The switch will adopt the VTP domain name of any VTP advertisement received as its own VTP domain name and begins sending its own VTP advertisements out of its own trunk links in accordance to its VTP operating mode. The task specifies that all switches should be manually configured with the VTP domain name of TST. This is configured with the VTP domain name domain-name command in global configuration mode. The following is the complete configuration required on all switches to complete this task: On All Switches: SWx(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/03,e6/0-3 SWx(config-if-range)#shut SWx(config)#vtp domain TST You should see the following console message: Changing VTP domain name from NULL to TST To Verify the configuration: Switch#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : TST VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc80.0e00 Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00 Local updater ID is 0.0.0.0 (no valid interface found) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 4 Feature VLAN: -------------VTP Operating Mode Maximum VLANs supported locally Number of existing VLANs Configuration Revision MD5 digest : Server : 1005 : 5 : 0 : 0xAD 0x9C 0xE6 0xFA 0x40 0x3D 0x31 0x02 0xFA 0xD9 0xA9 0xE3 0x84 0x71 0x45 0xDD Task 2 Configure the following hostnames: Second switch: SW2 Third switch: SW3 Fourth switch: SW4 Fifth switch: SW5 On the second switch: SW2(config)#hostname SW2 On the third switch: SW3(config)#hostname SW3 On the fourth switch: SW4(config)#hostname SW4 On the fifth switch: SW5(config)#hostname SW5 Task 3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 5 Configure a dot1q trunk between SW3 and SW5 using their E5/0 interfaces, based on the following policy: SW3, E5/0 This port should be configured into a permanent trunk mode, and it should negotiate to convert the neighboring interface into a trunk. SW5, E5/0 This port should be configured to actively attempt to convert the link to a trunk. You should not configure switchport trunk encapsulation dot1q on this port. Cisco switch interfaces can operate in Trunk mode, where multiple VLANs can be carried across the link, or Access mode, where only a single VLAN is carried across the link. These modes can be configured in one of two ways: Static configuration Dynamic configuration Static configuration involves manual configuration of the switchport mode command under the interface, explicitly specifying whether the port is in access or trunk mode. Dynamic configuration relies on the Dynamic Trunking Protocol or DTP to determine the trunk status. DTP isn’t limited to only determining the trunk mode, it can also be used to determine the trunk encapsulation. Cisco switches support both the Cisco-proprietary InterSwitch Link (ISL) and IEEE’s 802.1q trunk encapsulation styles. DTP makes this determination either automatically or based on the settings specified by the switchport trunk encapsulation command in interface configuration mode. The two solutions (ISL, 802.1q) take different approaches to encode the VLAN information. Cisco’s ISL takes the approach of encapsulating the entire ethernet frame with an ISL header and trailer. Within the ISL header, among other fields, is the VLAN ID field that corresponds to the VLAN the Ethernet frame originated from. The ISL header is 24bytes in total with a 4-byte CRC trailer used to detect errors in transmission. In total, ISL adds an additional 40 bytes of overhead to the Ethernet frame, but does not require any modification of the original Ethernet frame. The IEEE 802.1Q encapsulation method isn’t really encapsulating the Ethernet frame as ISL does. Instead, it inserts a VLAN “shim” header into the Ethernet frame. The 802.1Q header is greatly simplified from the ISL header containing only Protocol Identifier, Priority, VLAN ID, and Canonical format indicator fields. Of particular note is the VLAN ID field which carries the VLAN ID of the VLAN from which the frame originated. The 802.1Q header is 4-bytes in total and is inserted after the source address field of the original Ethernet header. Since 802.1Q modifies the ethernet header, the switch must recalculate the FCS trailer of the original Ethernet frame to compensate for the additional header length. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 6 Aside from the physical encoding of the Ethernet frame, the method of operation is the same for both protocols. On Cisco switches, interfaces that need to carry VLAN information are called trunk ports. Trunk ports can be dynamically configured or statically assigned. When the switch needs to forward a frame out of a trunk port, it looks at the trunk port’s configured VLAN encapsulation method. If it is ISL, the switch computes the ISL header and trailer, encapsulates the Ethernet frame and sends it across the trunk link. If it is 802.1Q, the switch calculates the 802.1Q “shim” header, inserts it into the Ethernet frame, recalculates the Ethernet FCS and forwards the new Ethernet frame out of the trunk link. Because 802.1Q merely inserts a “shim” header, the resulting frame can be referred to as an 802.1Q-tagged frame. This fact is reflected in most non-Cisco hardware where such ports are called “tagged” ports instead of “trunk” ports. Switches connected by an interswitch link, must be configured to use the same encapsulation method for encoding VLAN membership for ethernet frames, otherwise the link will not function properly. In both cases, the receiving switch examines the ethernet packet, checks the VLAN ID of the ISL or 802.1Q header, removes the VLAN encapsulation (if necessary) and forwards the bare Ethernet frame out the appropriate ports only if they are a member of the same VLAN as indicated in the VLAN ID field. This task states that an 802.1q trunk should be configured between SW3 and SW5’s E5/0 interfaces. The subtask requirements state that SW3’s E5/0 interface should permanently be in a trunk mode and should cause the neighboring interface to convert into a trunk mode. The task is completed by first setting SW3’s E5/0 interface to use 802.1q trunk encapsulation using the switchport trunk encapsulation dot1q interface-level configuration command. Then, the interface is set to be a static trunk port using the switchport mode trunk interface-level configuration command, as seen below: On SW3: Switch(config)#interface e5/0 Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#switchport mode trunk Switch(config-if)#no shut NOTE: When statically declaring a port to operate in trunk mode, the trunk encapsulation must be defined with the switchport trunk encapsulation command first. Failing to do so results in the command switchport mode trunk being rejected by IOS. In such a situation, the switch will log the following error message: SW3(config-if)#switchport mode trunk Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode. As the second part of the task states, SW5’s interface should be configured to dynamically negotiate its trunking mode. This is accomplished by enabling DTP using the switchport mode dynamic desirable command show below: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 7 On SW5: SW5(config)#interface e5/0 SW5(config-if)#switchport mode dynamic desirable SW5(config-if)#no shut NOTE: On some switch platforms, the default port mode is dynamic desirable. Once configured with the above command, the switch will perform dynamic trunk mode and encapsulation negotiation with the other side of the link using DTP. SW5 will send DTP frames out of its E5/0 interface with the intention of negotiating a trunk link with SW3. The task also restricts the usage of the switchport trunk encapsulation dot1q command on the E5/0 interface. This is because the trick lies within SW3. SW3, being configured as a static 802.1q trunk, will send its own DTP frame to SW5 that indicates that it would like to participate in an 802.1q trunk as shown in the packet capture below. --- DTP Packet capture --Dynamic Trunk Protocol: (Operating/Administrative): Trunk/On (0x81) (Operating/Administrative): 802.1Q/802.1Q (0xa5): aa:bb:cc:00:0b:05 Version: 1 Domain Trunk Status Type: Trunk Status (0x0002) Length: 5 Value: Trunk/On (0x81) 1... .... = Trunk Operating Status: Trunk (0x1) .... .001 = Trunk Administrative Status: On (0x1) Trunk Type Type: Trunk Type (0x0003) Length: 5 Value: 802.1Q/802.1Q (0xa5) 101. .... = Trunk Operating Type: 802.1Q (0x5) .... .101 = Trunk Administrative Type: 802.1Q (0x5) [ -- output omitted for brevity -- ] CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 8 This happens because static configuration of trunk mode or encapsulation does not disable the DTP on an interface. In other words, the switchport mode trunk command does not disable transmission of DTP frames on a link. SW5 will use the information from the DTP frame that SW3 sent and set the encapsulation on its E5/0 interface to 802.1q. SW3 is forcing SW5 to negotiate an 802.1q trunk relationship. The following shows the complete configuration commands and show command verification output required to complete the task On SW3: SW3(config)#interface e5/0 SW3(config-if)#switchport trunk encapsulation dot1q SW3(config-if)#switchport mode trunk SW3(config-if)#no shut On SW5: SW5(config)#interface e5/0 SW5(config-if)#switchport mode dynamic desirable SW5(config-if)#no shut To verify the configuration: On SW3: SW3#show interfaces trunk | include 802 Et5/0 on 802.1q trunking 1 On SW5: SW5#show interfaces trunk | include 802 Et5/0 desirable n-802.1q trunking 1 As seen in the show interfaces trunk output above, SW3’s E5/0 interface is configured as a static 802.1q trunk whereas E5/0 on SW5 has been negotiated as an 802.1q trunk. This is evidenced by the “desirable” and “n-802.1q” output on SW5. The “desirable” relates to the dynamic configuration and the “n-802.1q” means it negotiated 802.1q encapsulation on the trunk link. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 9 In addition to the show interfaces trunk command the show interface switchport command can confirm the same settings as shown below. The Administrative Mode on SW3 is set to “trunk” while on SW5 it is set to “dynamic desirable.” This relates to the explicit configuration of the switchport. The Operational Mode on each switch is set to “trunk” indicating that both switch ports are operating in the trunk mode: On SW3: SW3#show interfaces e5/0 switchport Name: Et5/0 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) (The rest of the output is omitted for brevity) On SW5: SW5#show interfaces e5/0 switchport Name: Et5/0 Switchport: Enabled Administrative Mode: dynamic desirable Operational Mode: trunk Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled (The rest of the output is omitted for brevity) Finally, the Administrative and Operational Trunking Encapsulation is set to “dot1q” on SW3 because it has been statically configured as an 802.1q trunk. The Administrative Trunking Encapsulation on SW5 is “negotiate” because it is configured to dynamically negotiate the trunk encapsulation based on the switchport mode dynamic desirable command entered earlier. The Operational Trunking Encapsulation for SW5 is set to “802.1q” because it has negotiated an 802.1q encapsulation with SW3. The Administrative Mode in this context is an expression of the administrator’s intended configuration for the trunk port. On SW3, the administrator intends the port to operate as a trunk using 802.1q CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 10 encapsulation. On SW5, the administrator intends on the port dynamically determining whether or not to become an 802.1q trunk, ISL trunk, or a simple access port. The inclusion of this dynamic negotiation creates the need for the Operational Mode. The Operational Mode confirms the results of the dynamic negotiation. In case of SW3, because dynamic negotiation is not enabled, it will always operate as an 802.1q Trunk regardless. SW5, on the other hand, can operate in any of the three modes. The Operational status here indicates that it has negotiated an 802.1q trunk. Task 4 Configure a trunk between SW3 and SW5, using their E5/1 interfaces. You should use an industry-standard protocol for the trunk encapsulation, based on the following policy: SW3, E5/1 This port should be configured into permanent trunk mode, and it should negotiate to convert the neighboring interface into a trunk. SW5, E5/1 This port should be configured to negotiate a trunk only if it receives negotiation packets from a neighboring port; this port should never start the negotiation process. You should not configure switchport trunk encapsulation dot1q on this port. Currently there are two main methods of trunking encapsulation: The Cisco Proprietary Inter-Switch Link (ISL) and IEEE Standard 802.1Q encapsulation. Since the task explicitly states to use an industry standard protocol, the 802.1q encapsulation method will be configured on theE5/1 link between SW3 and SW5. First, the task requires the following: Setting the E5/1 interface on SW3 in a permanent trunking mode. The restriction in sub task 2 prevents the use of switchport trunk encapsulation dot1q command on SW5’s E5/1 interface. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 11 The above requirements and restrictions are similar to SW3’s configuration for its E5/0 interface in Task 3 resulting in same configuration commands on its E5/1 interface: On SW3: SW3(config)#interface e5/1 SW3(config-if)#switchport trunk encapsulation dot1q SW3(config-if)#switchport mode trunk SW3(config-if)#no shut The configuration for SW5 for its E5/1 interface in this task is however slightly different from task 3: On SW5: SW5(config)#interface e5/1 SW5(config-if)#switchport mode dynamic auto SW5(config-if)#no shut Unlike task 3, task 4 requires SW5 to convert its E5/1 interface into a trunk port provided it receives DTP negotiation packets from SW3 over that link. As already mentioned, SW3 will send DTP packets even if the trunk mode has been statically set for its E5/1 interface. Therefore, all SW5 has to do is react to these DTP frames from SW3 and convert its own E5/1 interface to trunk. This feature can be activated with dynamic auto setting on SW5’s E5/1 interface. In the Auto mode (configured with the switchport mode dynamic auto command in interface configuration mode), DTP on SW5’s e5/1 interface passively waits to receive a DTP frame from the neighboring switch, SW3. Once a DTP frame is received, SW5 will respond with its own DTP frame. Depending on the settings on the far end of the trunk link, the interface will negotiate to become a trunk or an access port. If the far end indicates trunking mode then the port will negotiate to trunk mode. If the far end indicates access mode, then the port will negotiate to access mode. In the case where the interface negotiates to become a trunk port, DTP will also negotiate the trunk encapsulation, just as seen in Task 3. This operation is opposite of the dynamic desirable mode where the local switch port will actively send DTP frames in an attempt to negotiate a trunk link with a potential far-end switch interface. In Auto mode, no such frames are sent until a DTP frame has been received from a far-end switch. Because SW3’s e5/1 interface is configured as a static 802.1q trunk, SW3 will send DTP frames to negotiate the other end to be an 802.1q trunk as well. SW5’s E5/1 interface, upon receiving these CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 12 frames, will accept the configuration because it has been configured to operate in the dynamic auto mode. The following details the relevant configuration commands required on SW3 and SW5 to complete the task: On SW3: SW3(config)#interface e5/1 SW3(config-if)#switchport trunk encapsulation dot1q SW3(config-if)#switchport mode trunk SW3(config-if)#no shut On SW5: SW5(config)#interface e5/1 SW5(config-if)#switchport mode dynamic auto SW5(config-if)#no shut To verify the configuration: On SW3: SW3#show interfaces trunk Port Et5/0 Et5/1 Mode on on Encapsulation 802.1q 802.1q Status trunking trunking Native vlan 1 1 (The rest of the output is omitted for brevity) On SW5: In the output of the following show command you should note the difference between “dynamic desirable” and “Dynamic auto”. SW5#show interfaces trunk Port Et5/0 Et5/1 Mode desirable auto Encapsulation n-802.1q n-802.1q Status trunking trunking Native vlan 1 1 (The rest of the output is omitted for brevity) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 13 The show interfaces E5/1 switchport command output can also be used to verify the above settings. SW3’s administrative and operation mode setting reflect the static configurations made by the administrator. SW5’s administrative mode shows dynamic auto (as result of the switchport dynamic auto command) and the operational mode is trunk (as a result of DTP negotiation between itself and SW3). The administrative trunking encapsulation is negotiated with SW3 as well, resulting in dot1q encapsulation being used on the trunk link. The 802.1q trunk link is now operational between SW3 and SW5’s E5/1 interfaces. On SW3: SW3#show interfaces e5/1 switchport Name: Et5/1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q (The rest of the output is omitted for brevity) On SW5: SW5#show interfaces e5/1 switchport Name: Et5/1 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: trunk Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: dot1q (The rest of the output is omitted for brevity) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 14 Task 5 Configure a trunk link between SW4 and SW5, using their E4/0 interfaces. These ports should be configured to negotiate the neighboring interface into a dot1q trunk, but they should not be in permanent trunk mode. This task forbids a permanent trunk mode on SW4 and SW5’s E4/0 link. This hints towards not configuring the switchport mode trunk command on SW4 and SW5’s E4/0 interface and instead have the both the switches dynamically negotiate the trunk mode. In addition, the task also specifies the 802.1.q trunk encapsulation method. When configuring automatic trunk negotiation, there are two options desirable and auto. In desirable mode, the switch will actively send DTP frames out of the configured port in an attempt to negotiate a trunk port. In auto mode, the switch will wait passively to receive a DTP frame from the far end before negotiating a trunk link. The task requires the switches to be configured to negotiate the trunk but not be in a permanent trunking mode. This hints to the desirable configuration on the interfaces. In addition to sending DTP frames, the contents of the DTP frame is important. The task states that the trunk link should be an 802.1q trunk but that this should be negotiated. In this case, it is not sufficient to only input the dynamic desirable command on the interfaces. This is because both switches support ISL trunk encapsulation as well as shown in the below: On SW4: SW4(config)#interface e4/0 SW4(config-if)#switchport trunk encapsulation ? dot1q isl negotiate Interface uses only 802.1q trunking encapsulation when trunking Interface uses only ISL trunking encapsulation when trunking Device will negotiate trunking encapsulation with peer on interface On SW5: SW5(config)#interface e4/0 SW5(config-if)#switchport trunk encapsulation ? dot1q isl negotiate Interface uses only 802.1q trunking encapsulation when trunking Interface uses only ISL trunking encapsulation when trunking Device will negotiate trunking encapsulation with peer on interface CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 15 By default, the trunk port operates in the negotiate mode. In this mode, if the trunk encapsulation isn’t explicitly set to 802.1q, DTP will negotiate an ISL trunk. For this reason, to complete the task, the switchport trunk encapsulation dot1q command needs to be entered on both sides of the trunk link. This command constrains DTP to only negotiate an 802.1q trunk link during negotiation. Keeping the above in mind, the task is completed by issuing the switchport trunk encapsulation dot1q and the switchport mode dynamic desirable command on SW4 and SW5’s E4/0 interface: On Both Switches: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk encapsulation dot1q SWx(config-if)#switchport mode dynamic desirable SWx(config-if)#no shut To verify the configuration: On SW4: SW4#show interfaces trunk | include 802 Et4/0 desirable 802.1q trunking 1 On SW5: SW5#show interfaces trunk | include 802 Et4/0 Et5/0 Et5/1 desirable desirable auto 802.1q n-802.1q n-802.1q trunking trunking trunking 1 1 1 The administrative mode on both switches shows dynamic desirable. This output confirms that both switches are configured to actively send DTP frames to negotiate the trunking mode. The “802.1q” indicates the encapsulation method has been statically set to 802.1q The static configuration of 802.1q, once again, forces DTP to use 802.1q encapsulation as its negotiated encapsulation method. It also forces the “802.1q” to be displayed in the output of the show interfaces trunk command instead of “n-802.1q” as shown in the output above for the Et5/0 and Et5/1 interfaces. The key here is that the mode is set to “desirable” AND the encapsulation method is statically set to 802.1q. This is an indication that DTP will attempt to negotiate an 802.1q trunk. The “n” only appears if the local switch does not have a static setting for trunk encapsulation as an indication that the method was negotiated and not statically set by the administrator. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 16 Once both switches receive each other’s DTP frames, negotiation occurs. The result of this negotiation is seen as trunk as the operational mode. The administrative and operational trunk encapsulation on both ends show the manually configured encapsulation method of dot1q. On SW4: SW4#show interfaces e4/0 switchport Name: Et4/0 Switchport: Enabled Administrative Mode: dynamic desirable Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q On SW5: SW5#show interfaces e4/0 switchport Name: Et4/0 Switchport: Enabled Administrative Mode: dynamic desirable Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Task 6 Configure a dot1q trunk between SW4 and SW5, using their E4/1 interfaces, based on the following policy: SW4, E4/1 This port should be configured to actively attempt to convert the link to a trunk. This port should not be in permanent trunk mode. SW5, E4/1 This port should be configured to negotiate a trunk only if it receives negotiation packets from a neighboring port; this port should never start the negotiation process or be configured with the switchport trunk encapsulation dot1q command. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 17 This task demonstrates the trunking capabilities when both sides of the link are in dynamic trunk mode. In this case, the SW4 side of the trunk negotiation should be configured in the desirable trunk mode as follows: On SW4: SW4(config)#interface e4/1 SW4(config-if)#switchport trunk encapsulation dot1q SW4(config-if)#switchport mode dynamic desirable SW4(config-if)#no shut With the above configuration, SW4 actively sends DTP frames out its E4/1 interface connected to SW5 with the intention of forming an 802.1q trunk link. The switchport trunk encapsulation dot1q command ensures that 802.1q is theencapsulation method SW4 attempts to negotiate with SW5 on the other side of the link. SW5, on the other hand, should not begin negotiations for forming a trunk link nor should it have a preference for trunk encapsulation mode. This is a clear hint towards using the dynamic auto mode of trunk negotiation. The configuration on SW5 as seen below configures it to passively wait to receive DTP frames from the far end switch port by configuring the dynamic auto mode. On SW5: SW5(config)#interface e4/1 SW5(config-if)#switchport mode dynamic auto SW5(config-if)#no shut Notice how this time, the switchport trunk encapsulation dot1q command is omitted in the configuration. This omission was a direct result of the task requirements, stating that it should not be configured with the “switchport trunk encapsulation dot1q” command. After configuring both ends of the trunk, the show interface trunk output on SW4 and SW5 is as follows To verify the configuration: On SW4: SW4#show interfaces trunk Port Et4/0 Mode desirable CCIE by Narbik Kocharians Encapsulation 802.1q Status trunking CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Native vlan 1 Page 18 Et4/1 desirable 802.1q trunking 1 Encapsulation 802.1q n-802.1q n-802.1q n-802.1q Status trunking trunking trunking trunking Native vlan 1 1 1 1 On SW5: SW5#show interfaces trunk Port Et4/0 Et4/1 Et5/0 Et5/1 Mode desirable auto desirable auto The output above confirms that SW4’s E4/1 interface is configured in the dynamic desirable mode using 802.1q trunk encapsulation. SW5’s E4/1 interface is configured in the dynamic auto mode. Its trunk encapsulation shows that it has negotiated 802.1q trunking with the “n-” in front of the 802.1q designation. The show interfaces E4/1 switchport output below also confirms the above configuration. Since SW4 is actively sending out DTP frames to negotiate a trunk, the administrative mode shows dynamic desirable. SW5 is configured to passively listen to DTP frames as indicated with the administrative mode dynamic auto below. SW4 will send DTP frames to SW5 to negotiate an 802.1q trunk link. SW5 will respond and agree to the configuration. As a result, the operational mode for the E4/1 interface on both SW4 and SW5 is shown as trunk. On SW4: SW4#show interfaces e4/1 switchport Name: Et4/1 Switchport: Enabled Administrative Mode: dynamic desirable Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q On SW5: SW5#show interfaces e4/1 switchport Name: Et4/1 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: trunk Administrative Trunking Encapsulation: negotiate CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 19 Operational Trunking Encapsulation: dot1q Since the encapsulation is manually set on SW4, the administrative trunking encapsulation is seen as dot1q. SW5 sets the encapsulation method to 802.1q based on the DTP frames received from SW4. As such, the administrative trunking encapsulation is seen as negotiate, while the operational trunk encapsulation has been set to dot1q as a result of the DTP negotiation process. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 20 Task 7 Configure a dot1q trunk between SW3 and SW4, using their E6/0 interfaces; these switches should be configured into permanent trunk mode and negotiate the neighboring interface into a trunk. The configuration for this task is very simple. The trunk mode should be manually set on both switches with the switchport mode trunk command. Prior to this, however, IOS needs to be instructed on the encapsulation method to be used for this link or else the static trunk command will be rejected by the software. Thus, the switchport trunk encapsulation dot1q command should be entered first, to designate the trunk encapsulation mode followed by the switchport mode trunk command to set the permanent trunking mode as seen below: On Both Switches: SWx(config)#interface e6/0 SWx(config-if)#switchport trunk encapsulation dot1q SWx(config-if)#switchport mode trunk SWx(config-if)#no shut The show interface trunk command output from SW3 and SW4 below verify the result of the above configuration settings: To verify the configuration: On SW3: SW3#show interfaces trunk | include 802 Port Et5/0 Et5/1 Et6/0 Mode on on on Encapsulation 802.1q 802.1q 802.1q Status trunking trunking trunking Native vlan 1 1 1 Status trunking trunking trunking Native vlan 1 1 1 On SW4: SW4#show interfaces trunk | include 802 Port Et4/0 Et4/1 Et6/0 Mode desirable desirable on CCIE by Narbik Kocharians Encapsulation 802.1q 802.1q 802.1q CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 21 As seen above, the trunk mode and encapsulation on both switches is set to on, indicating trunk mode is statically configured as “on”, and 802.1q. This is also reflected in the below output where both the administrative modes and operational modes are set to trunk and 802.1q: On SW3: SW3#show interfaces e6/0 switchport Name: Et6/0 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q On SW4: SW4#show interfaces e6/0 switchport Name: Et6/0 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q The ports have been configured as permanent trunk interfaces. As a result, they will still send DTP messages out to “negotiate” a trunk link. The difference is the port will only operate in trunk mode and will advertise this in the DTP messages it sends out. In this way, the port is saying that its own operating mode is non-negotiable because of its static configuration and will force other ports operating in dynamic modes to be in trunking mode. Task 8 Configure a dot1q trunk between SW3 and SW4, using their E6/1 interfaces. These ports should not use DTP to negotiate a trunk. This task requires configuring a dot1q trunk on the E6/1 interface between SW3 and SW4 without the use of DTP. On certain switching platforms, DTP is turned on by default even if the port is statically configured to function as an access or trunk port CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 22 DTP can be turned off using the switchport nonegotiate command in interface configuration mode. In this mode, the switch will disable DTP on the port, preventing the processing and sending of DTP frames. However, issuing this command by itself results in IOS rejecting the command as seen below: SW3(config-if)#switchport nonegotiate Command rejected: Conflict between 'nonegotiate' and 'dynamic' status on this interface: Et6/1 This is because, prior to turning off DTP, the switch needs to be told manually about the encapsulation method and the mode in which the port should operate. On most Cisco switching platforms, the default mode of operation is to use dynamic negotiation for trunk status as shown below: SW3: SW3#show interfaces e6/1 switchport Name: Et6/1 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: down Administrative Trunking Encapsulation: negotiate Negotiation of Trunking: On In order for the port to function properly without DTP, Cisco IOS needs to have the static configuration settings. To comply, first, set the encapsulation method to 802.1.q with the switchport trunk encapsulation dot1q command. Then, set the trunk mode with the switchport mode trunk command. Finally, DTP is turned off with the switchport nonegotiate command. The following configurations are made on SW3 and SW4: On Both Switches: SWx(config)#interface e6/1 SWx(config-if)#switchport trunk encapsulation dot1q SWx(config-if)#switchport mode trunk SWx(config-if)#switchport nonegotiate SWx(config-if)#no shut Remember, the above commands are order specific. This means switchport mode trunk cannot be entered before the switchport trunk encapsulation dot1q command. Likewise, the switchport nonegotiate command cannot be entered before the switchport mode trunk command. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 23 The show interfaces trunk output below confirms the manual setting of an 802.1q trunk link with the on and 802.1q keywords. This output however by itself does not reveal that DTP is disabled on the E6/1 link. To confirm DTP is not enabled the show interfaces E6/1 switchport command output can be used: To verify the configuration: On SW3: SW3#show interfaces trunk Port Et5/0 Et5/1 Et6/0 Et6/1 Mode on on on on Encapsulation 802.1q 802.1q 802.1q 802.1q Status trunking trunking trunking trunking Native vlan 1 1 1 1 Status trunking trunking trunking trunking Native vlan 1 1 1 1 SW3#show interfaces e6/1 switchport Name: Et6/1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: Off On SW4: SW4#show interfaces trunk Port Et4/0 Et4/1 Et6/0 Et6/1 Mode desirable desirable on on Encapsulation 802.1q 802.1q 802.1q 802.1q SW4#show interfaces e6/1 switchport Name: Et6/1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: Off CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 24 Task 9 Configure trunking on the E4/0-1 interfaces of SW2 and SW3, the E5/0-1 interfaces on SW2 and SW4, and the E6/0-1 interfaces of SW2 and SW5. These ports should be in permanent trunk mode. This task requires statically configuring the mentioned ports to trunk. For this, following the order as described in tasks 7 and 8, first the encapsulation method is manually set to 802.1q with the switchport trunk encapsulation dot1q command. Then the command switchport mode trunk is issued to set the ports to permanent trunking mode. To ease with configuration, the interface range command is used to configure multiple ports at the same time on all of the switches: On SW2: SW2(config)#interface range e4/0-1,e5/0-1,e6/0-1 SW2(config-if-range)#switchport trunk encapsulation dot1q SW2(config-if-range)#switchport mode trunk SW2(config-if-range)#no shut On SW3: SW3(config)#interface range e4/0-1 SW3(config-if-range)#switchport trunk encapsulation dot1q SW3(config-if-range)#switchport mode trunk SW3(config-if-range)#no shut On SW4: SW4(config)#interface range e5/0-1 SW4(config-if-range)#switchport trunk encapsulation dot1q SW4(config-if-range)#switchport mode trunk SW4(config-if-range)#no shut On SW5: SW5(config)#interface range e6/0-1 SW5(config-if-range)#switchport trunk encapsulation dot1q SW5(config-if-range)#switchport mode trunk SW5(config-if-range)#no shut CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 25 To verify the configuration: On SW2: SW2#show interfaces trunk | include 802 Et4/0 Et4/1 Et5/0 Et5/1 Et6/0 Et6/1 on on on on on on 802.1q 802.1q 802.1q 802.1q 802.1q 802.1q trunking trunking trunking trunking trunking trunking 1 1 1 1 1 1 802.1q 802.1q 802.1q 802.1q 802.1q 802.1q trunking trunking trunking trunking trunking trunking 1 1 1 1 1 1 802.1q 802.1q 802.1q 802.1q 802.1q 802.1q trunking trunking trunking trunking trunking trunking 1 1 1 1 1 1 trunking trunking trunking trunking trunking trunking 1 1 1 1 1 1 On SW3: SW3#show interfaces trunk Et4/0 Et4/1 Et5/0 Et5/1 Et6/0 Et6/1 on on on on on on On SW4: SW4#show interfaces trunk Et4/0 Et4/1 Et5/0 Et5/1 Et6/0 Et6/1 desirable desirable on on on on On SW5: SW5#show interfaces trunk | include 802 Et4/0 desirable 802.1q Et4/1 auto n-802.1q Et5/0 desirable n-802.1q Et5/1 auto n-802.1q Et6/0 on 802.1q Et6/1 on 802.1q CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 26 Task 10 Configure the following VLANs on SW2 and ensure that they are propagated to the other switches: VLANs 2–10, 100, 200, 300, 400, 230, 350, 450, 240, 250, and 340 This task requires configuring the VLANs mentioned only on SW2. Configuring VLANs can be a manual process. However, recall in Task 1, SW2 through SW5 were all configured to belong to the VTP domain TST. All tasks up to this point configured trunk links between switches. Now that all of the switch-toswitch links are properly configured as trunk ports, they can relay and receive VTP messages. In other words, through VTP, the VLANs configured on SW2 will be advertised and synchronized to all the other switches in this topology. VTP performs this synchronization through the use of three message types: 1. Summary Advertisements 2. Subset Advertisements 3. Advertisement Requests To help demonstrate what each advertisement type does, picture the following small, switched network below: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 27 All switches above have been configured to participate in VTP domain TST. Without any changes happening in the network, VTP servers will periodically send out VTP summary advertisements every 300 seconds or whenever a change is detected in the VLAN database. These advertisements contain information about the sending switch’s VTP version, its configured domain name, and the configuration revision number. The VTP version can be either 1, 2, or 3. The domain name indicates to which VTP domain the advertising switch belongs. If the domain name in the summary advertisement doesn’t match the locally configured domain name, the switch will ignore and drop the summary advertisement message. The revision number is an indication of how many times the VLAN database has been updated by the switch sending the summary advertisement. This number is increased every time a change is made to the VLAN configuration. It is also used to help neighboring switches determine if their version of the VLAN database has the latest configuration revision. The VTP summary advertisement also includes a field called the followers field. This field indicates how many additional subset advertisements the switch is sending out after the summary advertisement. For example, VLAN 100, pictured above, is added to SW1. As a reaction, Switch-1 sends the following VTP summary advertisement message to Switch-2 and Switch-3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 28 VLAN Trunking Protocol Version: 0x01 Code: Summary Advertisement (0x01) Followers: 1 Management Domain Length: 3 Management Domain: TST Configuration Revision Number: 1 Updater Identity: 0.0.0.0 Update Timestamp: 20-07-05 16:09:57 MD5 Digest: 7d5a50584977788466c5ebd8eae182b5 From the summary advertisement above, Switch-2 and Switch-3 know the following: 1. 2. 3. 4. Switch-1 is using VTPv1 messaging Switch-1 is in the VTP domain TST Switch-1’s VTP database is at configuration revision 1 There is one subset advertisement following this message After sending the summary advertisement, Switch-1 follows up with a VTP subset advertisement. Subset advertisements are VTP messages that contain actual information about the VLANs configured on the switch including but not limited to VLAN number, name, and type information. They are usually sent after summary advertisements. In Switch-1’s case, its subset advertisement contains information about the newly created VLAN 100 shown below: VLAN Trunking Protocol Version: 0x01 Code: Subset Advertisement (0x02) Sequence Number: 1 Management Domain Length: 3 Management Domain: TST Configuration Revision Number: 1 VLAN Information VLAN Information VLAN Information Length: 20 Status: 0x00 VLAN Type: Ethernet (0x01) VLAN Name Length: 8 ISL VLAN ID: 0x0064 MTU Size: 1500 802.10 Index: 0x00018704 VLAN Name: VLAN0100 VLAN Information VLAN Information VLAN Information VLAN Information CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 29 When the Switch-2 and Switch-3 receive the subset advertisement above, they will update their own VLAN databases with the information contained. In this case, the switches will create VLAN 100 if they do not already have it created in their local VLAN database. If the VLAN exists, it will have the information, such as type, name, and MTU, updated to match what was advertised in the subset message. The above all leads to the following sequence of events for VTP to synchronize VLAN configuration among a group of switches: 1. VTP server sends out VTP summary advertisement with followers field set to 1 or greater 2. VTP clients receive the summary advertisement and expect subset advertisements to follow 3. VTP server sends subset advertisements accordingly. This process works well if there is a change made on the server that requires subset advertisements to follow the summary advertisement. There are situations where a new switch comes online with a revision number of 0 and receives a periodic summary message that has the followers field set to 0 and a higher revision number. The followers field set to 0 means there will not be any subset advertisements following the summary message. In the above case, the new switch will make use of the third VTP message type, the advertisement request message. The advertisement request message is sent by a switch to indicate that it requires VLAN configuration information to update its local VLAN database. The following is an example of an advertisement request message. VLAN Trunking Protocol Version: 0x01 Code: Advertisement Request (0x03) Reserved: 00 Management Domain Length: 4 Management Domain: TST Start Value: 0x0000 The advertisement request message has the simplest form with the only notable field being the VTP domain name which is used to ensure only VTP servers participating in the same domain respond to the advertisement request. Switches send this message out whenever they receive a summary advertisement with a higher revision number than its own and followers field set to 0. When a VTP server receives the advertisement request message, it will respond with a subset advertisement containing the contents of the CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 30 current version of the VLAN database. From this subset advertisement, the receiving switch can update its own local VLAN database to be synchronized with the rest of the VTP domain. As an example, the E0/1 interface that connects to Switch-1 on Switch-2 is shutdown. VLAN 200 is configured on Switch-1. On Switch-2: Switch-2(config)#interface e0/1 Switch-2(config-if)#shut ! Interface shutdown on Switch-2 On Switch-1: Switch-1(config)#vlan 200 ! VLAN 200 added on Switch-1 Switch-1(config-vlan)#exit When the interface is brought back up on Switch-2, it receives a summary advertisement from Switch-1 with a higher configuration revision number than its own and the followers field set to 0. This value of 0 indicates that Switch-1 is not planning on sending a subset advertisement following its summary advertisement. Switch-2: Switch-2#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : TST VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc80.0200 Configuration last modified by 0.0.0.0 at 7-5-20 16:09:57 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------VTP Operating Mode Maximum VLANs supported locally Number of existing VLANs Configuration Revision MD5 digest : Server : 1005 : 6 : 1 ! Revision number 1 on Switch-2 : 0x7D 0x5A 0x50 0x58 0x49 0x77 0x78 0x84 0x66 0xC5 0xEB 0xD8 0xEA 0xE1 0x82 0xB5 Switch-2(config)#interface e0/1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 31 Switch-2(config-if)#no shut ! Interface unshut on Switch-2 ! Summary Advertisement with revision number 2 from Switch-1 VLAN Trunking Protocol Version: 0x01 Code: Summary Advertisement (0x01) Followers: 0 ! Followers field is set to 0 Management Domain Length: 3 Management Domain: TST Configuration Revision Number: 2 Updater Identity: 0.0.0.0 Update Timestamp: 20-07-05 16:22:47 MD5 Digest: bfe9a9d0ddf6bef5d9d1633a811ebd35 This discrepancy obviously means that the VLAN database on Switch-2 isn’t updated. Since Switch-2 needs to synchronize its own VLAN database to match the rest of the VTP domain, it sends an advertisement request to Switch-1 to get the subset advertisements it needs. In response, Switch-1 sends a subset advertisement that carries information about its updated VLAN database. The capture below shows the adverisment request from Switch-2 and the subset advertisement response by Switch-1 ! Advertisement request sent to Switch-1 VLAN Trunking Protocol Version: 0x01 Code: Advertisement Request (0x03) Reserved: 00 Management Domain Length: 3 Management Domain: TST Start Value: 0x0000 ! Subset Advertisement sent by Switch-1 VLAN Trunking Protocol Version: 0x01 Code: Subset Advertisement (0x02) Sequence Number: 1 Management Domain Length: 3 Management Domain: TST Configuration Revision Number: 2 VLAN Information VLAN Information VLAN Information CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 32 VLAN Information Length: 20 Status: 0x00 VLAN Type: Ethernet (0x01) VLAN Name Length: 8 ISL VLAN ID: 0x00c8 MTU Size: 1500 802.10 Index: 0x00018768 VLAN Name: VLAN0200 VLAN Information VLAN Information VLAN Information VLAN Information It is this exchange of summary advertisements, subset advertisements, and advertisement request that allows VTP to synchronize VLAN information between switches. Summary advertisements and advertisement requests organize the exchange of subset advertisements. Subset advertisements contain the actual data that should be synchronized. The above example was to demonstrate how the VLAN information entered on SW2 in the lab topology will be distributed to all of the other switches in the domain. VLANs are configured with the VLAN keyword. Multiple VLANs can be configured with a single command with each VLAN or VLAN range separated by a comma. As the task requires, the following shows the VLANs configuration on SW2. Note : It is important to issue the exit command after configuring VLANs for the VLANs to be added to the VLAN database: On SW2 SW2(config)#vlan 2-10,100,200,300,400,230,350,450,240,250,340 You must “exit” for the VLANs to be propagated: SW2(config-vlan)#exit After configuring the above VLANs, SW2 first sends out a VTP summary advertisement frame out of all of its trunk links. This summary advertisement frame contains all of the information in SW2’s VLAN database that has changed. An example packet capture of the summary advertisement sent to SW5 over the E6/1 trunk link is shown below: Frame 56: 103 bytes on wire (824 bits), 103 bytes captured (824 bits) on interface 0 Ethernet II, Src: aa:bb:cc:00:0a:06 (aa:bb:cc:00:0a:06), Dst: CDP/VTP/DTP/PAgP/UDLD CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 33 (01:00:0c:cc:cc:cc) 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 1 Logical-Link Control VLAN Trunking Protocol Version: 0x01 Code: Summary Advertisement (0x01) Followers: 1 Management Domain Length: 3 Management Domain: TST Configuration Revision Number: 1 Updater Identity: 0.0.0.0 Update Timestamp: 20-07-01 18:30:03 MD5 Digest: 0f71b236b776e0a7d9f6ee6a3ee312dc As seen above, the summary advertisement carries within itself, the VTP domain name TST. When SW5 receives this summary advertisement, it compares the VTP domain name to its own. Since the advertised domain name matches its own, SW5 then computes the MD5 digest of the message. If it results in the same value then SW5 knows definitively that it should accept the VTP information in the VTP frame. Below is SW5’s VTP information: SW5#show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : TST VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc80.0d00 Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00 Local updater ID is 0.0.0.0 (no valid interface found) Feature VLAN: -------------VTP Operating Mode Maximum VLANs supported locally Number of existing VLANs Configuration Revision MD5 digest : Client : 1005 : 5 : 0 : 0x57 0xCD 0x40 0x65 0x63 0x59 0x47 0xBD 0x56 0x9D 0x4A 0x3E 0xA5 0x69 0x35 0xBC NOTE: the MD5 digest is recalculated based on the contents of the VLAN database whenever a VTP message is received. See the show vtp status output for confirmation of SW5’s MD5 calculation The followers field in the summary advertisement lets SW5 know that a subset advertisement is following SW2’s summary advertisement. The subset advertisement is what actually carries the VLAN information. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 34 The packet capture below shows the subset advertisement sent to SW5. Each of the VLAN information entries below corresponds to the VLANs configured on SW2. Frame 57: 610 bytes on wire (4880 bits), 610 bytes captured (4880 bits) on interface 0 Ethernet II, Src: aa:bb:cc:00:0a:06 (aa:bb:cc:00:0a:06), Dst: CDP/VTP/DTP/PAgP/UDLD (01:00:0c:cc:cc:cc) 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 1 Logical-Link Control VLAN Trunking Protocol Version: 0x01 Code: Subset Advertisement (0x02) Sequence Number: 1 Management Domain Length: 3 Management Domain: TST Configuration Revision Number: 1 VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information VLAN Information For a detailed look into the VLAN Information entries, the following expands one entry that carries information for the VLAN 230: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 35 VLAN Information VLAN Information Length: 20 Status: 0x00 VLAN Type: Ethernet (0x01) VLAN Name Length: 8 ISL VLAN ID: 0x00e6 MTU Size: 1500 802.10 Index: 0x00018786 VLAN Name: VLAN0230 The “ISL VLAN ID” field in the above carries the VLAN ID in hexadecimal. In the above the hex code 0x00e6 translates to decimal 230 which is one of the VLANs configured on SW2. All of the above VLAN information in subset advertisements is advertised by SW2 out of all its trunk interfaces. All switches in the topology receive this information and populate their own VLAN databases with the VLANs configured on SW2. This can be verified on all the switches with the show vlan brief | include VLAN command. As an example, the following output is displayed from SW5: To verify the configuration: On All Switches: SWx#show vlan brief | include VLAN VLAN Name 2 VLAN0002 3 VLAN0003 4 VLAN0004 5 VLAN0005 6 VLAN0006 7 VLAN0007 8 VLAN0008 9 VLAN0009 10 VLAN0010 100 VLAN0100 200 VLAN0200 230 VLAN0230 240 VLAN0240 250 VLAN0250 300 VLAN0300 340 VLAN0340 CCIE by Narbik Kocharians Status active active active active active active active active active active active active active active active active Ports CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 36 350 400 450 VLAN0350 VLAN0400 VLAN0450 active active active After adding the VLANs, SW5’s show vtp status output reveals when the configuration was last updated, its revision number has incremented, and the MD5 digest now matches that which was advertised by SW2: SW5#show vtp status VTP Version capable VTP version running VTP Domain Name : 1 to 3 : 1 : TST VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : aabb.cc80.0d00 Configuration last modified by 0.0.0.0 at 20-07-01 18:30:03 Feature VLAN: -------------VTP Operating Mode Maximum VLANs supported locally Number of existing VLANs Configuration Revision MD5 digest : Client : 1005 : 24 : 1 : 0x0F 0x71 0xB2 0x36 0xB7 0x76 0xE0 0xA7 0xD9 0xF6 0xEE 0x6A 0x3E 0xE3 0x12 0xDC Task 11 Configure the trunks based on the following policy: Policy Item 1 2 3 4 5 6 Trunk Interface E4/1 E5/0 E4/0 E5/0 E6/0 E6/0 CCIE by Narbik Kocharians Between Switches SW2 SW3 SW3 SW5 SW4 SW5 SW2 SW4 SW2 SW5 SW3 SW4 Allowed VLAN/s ONLY 230 ONLY 350 ONLY 450 ONLY 240 ONLY 250 ONLY 340 CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 37 Trunk links have a list of VLANs that are allowed to flow over them. By default, all VLANs are included in this list. This task specifies several VLAN policies that make changes to the list of VLANs that should be allowed over a particular trunk link. Each policy lists the trunk interface and switch pair to which the policy applies and which VLANs are allowed or disallowed to be carried across the trunk. The allowed VLAN list of a trunk link is configured using the switchport trunk allowed vlan {{ add | except | remove } vlan_list | all | none } command. Without additional parameters, the command configures the allowed VLAN list to match the specified VLAN list exactly. This task examines this use-case for the command. Policy item 1: As seen below, all VLANs are allowed on the E4/1 trunk interface as expected by the default settings of trunk links: On SW2: SW2#show interfaces trunk | include Vlans|Et4/1 Et4/1 Port Et4/1 Port Et4/1 Port Et4/1 on 802.1q trunking 1 Vlans allowed on trunk 1-4094 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 1-10,100,200,230,240,250,300,340,350,400,450 On SW3: SW3#show interfaces trunk | include Vlans|Et4/1 Et4/1 Port Et4/1 Port Et4/1 Port Et4/1 on 802.1q trunking 1 Vlans allowed on trunk 1-4094 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 1-10,100,200,230,240,250,300,340,350,400,450 To configure the first policy in the task: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 38 On SW2 and SW3: The policy for this trunk interface states that only VLAN 230 should be allowed on this trunk link. This is achieved with the switchport trunk allowed vlan 230 command on the E4/1 interfaces on SW2 and SW3: SWx(config)#interface e4/1 SWx(config-if)#switchport trunk allowed vlan 230 To verify the configuration: On SW2: As a result of the above command, the show interfaces trunk command output on SW2 and SW3 verify 230 to be the only VLAN allowed on the E4/1 interface: SW2#show interfaces trunk | include Vlans|Et4/1 Et4/1 Port Et4/1 Port Et4/1 Port Et4/1 on 802.1q trunking 1 Vlans allowed on trunk 230 Vlans allowed and active in management domain 230 Vlans in spanning tree forwarding state and not pruned 230 Similar configurations as the above are made on the remaining trunk links stated in this task Policy item 2: To configure the second policy in the task: On SW3 and SW5: SWx(config)#interface e5/0 SWx(config-if)#switchport trunk allowed vlan 350 To verify the configuration: On SW3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 39 SW3#show interfaces trunk | include Vlan|Et5/0 Et5/0 Port Et5/0 Port Et5/0 Port Et5/0 on 802.1q trunking 1 Vlans allowed on trunk 350 Vlans allowed and active in management domain 350 Vlans in spanning tree forwarding state and not pruned 350 On SW5: SW5#show interfaces trunk | include Vlans|Et5/0 Et5/0 Port Et5/0 Port Et5/0 Port Et5/0 desirable n-802.1q trunking 1 Vlans allowed on trunk 350 Vlans allowed and active in management domain 350 Vlans in spanning tree forwarding state and not pruned none Policy item 3: To configure the third policy in the task: On SW4 and SW5: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk allowed vlan 450 To verify the configuration: On SW4: SW4#show interfaces trunk | include Vlan|Et4/0 Et4/0 Port Et4/0 Port Et4/0 Port desirable 802.1q trunking 1 Vlans allowed on trunk 450 Vlans allowed and active in management domain 450 Vlans in spanning tree forwarding state and not pruned CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 40 Et4/0 450 On SW5: SW5#show interfaces trunk | include Vlan|Et4/0 Et4/0 Port Et4/0 Port Et4/0 Port Et4/0 desirable 802.1q trunking 1 Vlans allowed on trunk 450 Vlans allowed and active in management domain 450 Vlans in spanning tree forwarding state and not pruned none Policy item 4: To configure the fourth policy in the task: On SW2 and SW4: SWx(config)#interface e5/0 SWx(config-if)#switchport trunk allowed vlan 240 To verify the configuration: On SW2: SW2#show interfaces trunk | include Vlans|Et5/0 Et5/0 Port Et5/0 Port Et5/0 Port Et5/0 on 802.1q trunking 1 Vlans allowed on trunk 240 Vlans allowed and active in management domain 240 Vlans in spanning tree forwarding state and not pruned 240 On SW4: SW4#show interfaces trunk | inc Vlans|Et5/0 Et5/0 Port Et5/0 on 802.1q Vlans allowed on trunk 240 CCIE by Narbik Kocharians trunking CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved 1 Page 41 Port Et5/0 Port Et5/0 Vlans allowed and active in management domain 240 Vlans in spanning tree forwarding state and not pruned 240 Policy item 5: To configure the fifth policy in the task: On SW2 and SW5: SWx(config)#interface e6/0 SWx(config-if)#switchport trunk allowed vlan 250 To verify the configuration: On SW2: SW2#show interfaces trunk | include Vlan|Et6/0 Et6/0 Port Et6/0 Port Et6/0 Port Et6/0 on 802.1q trunking 1 Vlans allowed on trunk 250 Vlans allowed and active in management domain 250 Vlans in spanning tree forwarding state and not pruned 250 On SW5: SW5#show interfaces trunk | include Vlan|Et6/0 Et6/0 Port Et6/0 Port on 802.1q trunking 1 Vlans allowed on trunk 250 Vlans allowed and active in management domain Et6/0 Port Et6/0 250 Vlans in spanning tree forwarding state and not pruned 250 Policy item 6: To configure the sixth policy in the task: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 42 On SW3 and SW4: Cat-x(config)#interface e6/0 Cat-x(config-if)#switchport trunk allowed vlan 340 To verify the configuration: On SW3: SW3#show interfaces trunk | include Vlan|Et6/0 Et6/0 Port Et6/0 Port Et6/0 Port Et6/0 on 802.1q trunking 1 Vlans allowed on trunk 340 Vlans allowed and active in management domain 340 Vlans in spanning tree forwarding state and not pruned 340 On SW4: SW4#show interfaces trunk | include Vlan|Et6/0 Et6/0 Port Et6/0 Port Et6/0 Port Et6/0 on 802.1q trunking 1 Vlans allowed on trunk 340 Vlans allowed and active in management domain 340 Vlans in spanning tree forwarding state and not pruned none Task 12 Add VLANs to the allowed list of the trunks, based on the following chart: Policy Item 1 2 3 Trunk Interface E4/1 E5/0 E4/0 CCIE by Narbik Kocharians Between Switches SW2 SW3 SW3 SW5 SW4 SW5 Add to the Allowed VLAN/s 100 200 300 CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 43 4 E6/0 SW2 SW5 400 Similar to Task 11, this task specifies several VLAN policies that make changes to the list of VLANs that should be allowed over a particular trunk link. Each policy lists the trunk interface and switch pair to which the policy applies and which VLANs are allowed or disallowed to be carried across the trunk. The allowed VLAN list of a trunk link is configured using the switchport trunk allowed vlan {{ add | except | remove } vlan_list | all | none } command. When used with the add parameter, the switch will add the indicated VLANs to the current list of allowed VLANs on the trunk link. This operation is examined in this task below. Policy item 1: The command switchport trunk allowed VLAN add vlan number can be used to add an additional VLAN to the already existing allowed VLAN list. The following is the output of the show int trunk | include Vlans|Et4/1 command. As seen, the only VLAN allowed over the E4/1 trunk interface between SW2 and SW3 is VLAN 230: SW2#show interfaces trunk | include Vlans|Et4/1 Et4/1 on 802.1q trunking 1 Port Vlans allowed on trunk Et4/1 230 Port Vlans allowed and active in management domain Et4/1 230 Port Vlans in spanning tree forwarding state and not pruned Et4/1 230 To configure the first policy in the task: To add VLAN 100 as an addition to the allowed VLAN list as the policy requires, the command switchport trunk allowed VLAN add 100 is configured under the E4/1 interface on SW2 and SW3: On SW2 and SW3: SWx(config)#interface e4/1 SWx(config-if)#switchport trunk allowed vlan add 100 To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 44 The show interfaces trunk | include Vlans|Et4/1 command outputs below, verify the above configuration where traffic for both 100 and 230 are now allowed to be carried over the trunk link E4/1 between SW2 and SW3: On SW2: SW2#show interfaces trunk | include Vlans|Et4/1 Et4/1 Port Et4/1 Port Et4/1 Port Et4/1 on 802.1q trunking 1 Vlans allowed on trunk 100,230 Vlans allowed and active in management domain 100,230 Vlans in spanning tree forwarding state and not pruned 230 On SW3: SW3#show interfaces trunk | include Vlans|Et4/1 Et4/1 Port Et4/1 Port Et4/1 Port Et4/1 on 802.1q trunking 1 Vlans allowed on trunk 100,230 Vlans allowed and active in management domain 100,230 Vlans in spanning tree forwarding state and not pruned none Similar configurations as above are made on the respective switches for the remaining policies in this task below: Policy item 2: To configure the second policy in the task: On SW3 and SW5: SWx(config)#interface e5/0 SWx(config-if)#switchport trunk allowed vlan add 200 To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 45 On SW3: SW3#show interfaces trunk | include Vlan|Et5/0 Et5/0 Port Et5/0 Port Et5/0 Port Et5/0 on 802.1q trunking 1 Vlans allowed on trunk 200,350 Vlans allowed and active in management domain 200,350 Vlans in spanning tree forwarding state and not pruned 200,350 On SW5: SW5#show interfaces trunk | include Vlan|Et5/0 Et5/0 Port Et5/0 Port Et5/0 Port desirable n-802.1q trunking 1 Vlans allowed on trunk 200,350 Vlans allowed and active in management domain 200,350 Vlans in spanning tree forwarding state and not pruned Et5/0 none Policy item 3: To configure the third policy in the task: On SW4 and SW5: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk allowed vlan add 300 To verify the configuration: On SW4: SW4#show interfaces trunk | include Vlan|Et4/0 Et4/0 Port Et4/0 Port desirable 802.1q trunking 1 Vlans allowed on trunk 300,450 Vlans allowed and active in management domain CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 46 Et4/0 Port Et4/0 300,450 Vlans in spanning tree forwarding state and not pruned 300,450 On SW5: SW5#show interfaces trunk | include Vlan|Et4/0 Et4/0 Port Et4/0 Port Et4/0 Port Et4/0 desirable 802.1q trunking 1 Vlans allowed on trunk 300,450 Vlans allowed and active in management domain 300,450 Vlans in spanning tree forwarding state and not pruned none Policy item 4: To configure the fourth policy in the task: On SW2 and SW5: SWx(config)#interface e6/0 SWx(config-if)#switchport trunk allowed vlan add 400 To verify the configuration: On SW2: SW2#show interfaces trunk | include Vlan|Et6/0 Et6/0 Port Et6/0 Port Et6/0 Port Et6/0 on 802.1q trunking 1 Vlans allowed on trunk 250,400 Vlans allowed and active in management domain 250,400 Vlans in spanning tree forwarding state and not pruned 250,4000 On SW5: SW5#show interfaces trunk | include Vlan|Et6/0 Et6/0 on CCIE by Narbik Kocharians 802.1q trunking CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved 1 Page 47 Port Et6/0 Port Et6/0 Port Et6/0 Vlans allowed on trunk 250,400 Vlans allowed and active in management domain 250,400 Vlans in spanning tree forwarding state and not pruned 250,400 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 48 Task 13 Remove VLANs from the allowed list of trunks, based on the following chart: Policy Item 1 2 Trunk Interface E5/1 E5/1 Between Switches SW2 SW4 SW3 SW5 Allowed VLAN/s Remove 1, 4 – 10 ONLY Remove 2, 4 – 10 ONLY This task, too, specifies several VLAN policies that make changes to the list of VLANs that should be allowed over a particular trunk link. Each policy lists the trunk interface and switch pair to which the policy applies and which VLANs are allowed or disallowed to be carried across the trunk. The allowed VLAN list of a trunk link is configured using the switchport trunk allowed vlan {{ add | except | remove } vlan_list | all | none } command. When used with the remove parameter, the switch will remove only the indicated VLANs from the current list of allowed VLANs on the trunk link. This operation is examined in this task below. Policy item 1: The show interfaces trunk | include Vlan|Et5/1 output from SW2 reveals that all VLANs are currently allowed to traverse the E5/1 trunk link between SW2 and SW4: SW2#show interfaces trunk | include Vlan|Et5/1 Et5/1 Port Et5/1 Port Et5/1 Port Et5/1 on 802.1q trunking 1 Vlans allowed on trunk 1-4094 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 1-10,100,200,230,240,250,300,340,350,400,450 To configure the first item in the task: As seen above, all VLANs are allowed to traverse the E5/1 trunk link. Policy 1 of this task requires prohibiting traffic belonging to VLAN 1 and VLANs 4 through 10 from traversing this link. This is accomplished using the switchport trunk allowed vlan remove 1, 4-10 command on the E5/1 interface on SW2 and SW4 as shown below. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 49 On SW2 and SW4: SWx(config)#interface e5/1 SWx(config-if)#switchport trunk allowed vlan remove 1,4-10 To verify the configuration: On SW2: SW2#show interfaces trunk | include Vlan|Et5/1 Et5/1 Port Et5/1 Port Et5/1 Port Et5/1 on 802.1q trunking 1 Vlans allowed on trunk 2-3,11-4094 Vlans allowed and active in management domain 2-3,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 2-3,100,200,230,240,250,300,340,350,400,450 On SW4: SW4#show interfaces trunk | include Vlan |Et5/1 Et5/1 Port Et5/1 Port Et5/1 Port Et5/1 on 802.1q trunking 1 Vlans allowed on trunk 2-3,11-4094 Vlans allowed and active in management domain 2-3,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 2-3,100,200,230,250,300,340,350,400,450 Policy item 2: To configure the second policy in the task: On SW3 and SW5: SWx(config)#interface e5/1 SWx(config-if)#switchport trunk allowed vlan remove 2,4-10 To verify the configuration: On SW3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 50 SW3#show interfaces trunk | include Vlan|Et5/1 Et5/1 Port Et5/1 Port Et5/1 Port Et5/1 on 802.1q trunking 1 Vlans allowed on trunk 1,3,11-4094 Vlans allowed and active in management domain 1,3,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 1,3,100,200,230,240,250,300,340,350,400,450 On SW5: SW5#show interface trunk | include Vlan|Et5/1 Et5/1 Port Et5/1 Port Et5/1 Port Et5/1 auto n-802.1q trunking 1 Vlans allowed on trunk 1,3,11-4094 Vlans allowed and active in management domain 1,3,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned none Task 14 Configure SW2, SW3, and SW5, based on the following chart: Policy Item 1 2 Trunk Interface E4/0 E6/1 Between Switches SW2 SW3 SW2 SW5 Allowed VLAN/s None None This task continues the theme, specifying several VLAN policies that make changes to the list of VLANs that should be allowed over a particular trunk link. Each policy lists the trunk interface and switch pair to which the policy applies and which VLANs are allowed or disallowed to be carried across the trunk. The allowed VLAN list of a trunk link is configured using the switchport trunk allowed vlan {{ add | except | remove } vlan_list | all | none } command. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 51 When using the base command with no additional parameters and none as the VLAN list, the switch will remove ALL VLANs from the allowed VLAN list on the trunk link. The following task demonstrates this function. Policy item #1: As seen in the show interfaces trunk | include Vlan|Et4/0 command output from SW2 below, all VLANs are currently allowed on the E4/0 trunk link between SW2 and SW3. SW2#show interfaces trunk | include Vlan |Et4/0 Et4/0 Port Et4/0 Port Et4/0 Port Et4/0 on 802.1q trunking 1 Vlans allowed on trunk 1-4094 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 1-10,100,200,230,240,250,300,340,350,400,450 To configure the first policy in the task: Policy 1 states that no VLANs should be allowed on this trunk link. This can be achieved with the switchport trunk allowed vlan none command on the E4/0 interfaces on SW2 and SW3: On SW2 and SW3: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk allowed vlan none On SW2: SW2#show interfaces trunk | include Vlan |Et4/0 Et4/0 Port Et4/0 Port Et4/0 Port Et4/0 on 802.1q trunking 1 Vlans allowed on trunk none Vlans allowed and active in management domain none Vlans in spanning tree forwarding state and not pruned none On SW3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 52 SW3#show interfaces trunk | include Vlan |Et4/0 Et4/0 Port Et4/0 Port Et4/0 Port Et4/0 on 802.1q trunking 1 Vlans allowed on trunk none Vlans allowed and active in management domain none Vlans in spanning tree forwarding state and not pruned none Policy item #2: To configure the second policy in the task: A similar policy as above is configured on the trunk link E6/1 between SW2 and SW5 to prevent any VLANs from traversing this link. The show interfaces trunk | include Vlan|Et6/1 command output on both switches confirms the same: On SW2 and SW5: SWx(config)#interface e6/1 SWx(config-if)#switchport trunk allowed vlan none To verify the configuration: On SW2: SW2#show interfaces trunk | include Vlan |Et6/1 Et6/1 Port Et6/1 Port Et6/1 Port Et6/1 on 802.1q trunking 1 Vlans allowed on trunk none Vlans allowed and active in management domain none Vlans in spanning tree forwarding state and not pruned none On SW5: SW5#show interfaces trunk | include Vlan |Et6/1 Port Vlans allowed on trunk CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 53 Et6/1 none Port Et6/1 Vlans allowed and active in management domain none Port Et6/1 Vlans in spanning tree forwarding state and not pruned none Task 15 Configure SW2, SW4, and SW5, based on the following chart: Policy Item 1 2 Trunk Interface E4/1 E5/1 Between Switches SW4 SW5 SW2 SW4 Allowed VLAN/s All except 450 All except 240 This task specifies additional VLAN policies that make changes to the list of VLANs that should be allowed over a particular trunk link. Each policy lists the trunk interface and switch pair to which the policy applies and which VLANs are allowed or disallowed to be carried across the trunk. The allowed VLAN list of a trunk link is configured using the switchport trunk allowed vlan {{ add | except | remove } vlan_list | all | none } command. When used with the except parameter, the switch will allow all VLANs except for the VLANs included in the VLAN list. This operation is examined in this task below. Policy item #1: As seen below, currently all VLANs are allowed on the E4/1 trunk link between SW4 and SW5: SW4#show interfaces trunk | include Vlan |Et4/1 Et4/1 Port Et4/1 Port Et4/1 Port Et4/1 desirable 802.1q trunking 1 Vlans allowed on trunk 1-4094 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400,450 Vlans in spanning tree forwarding state and not pruned 1-10,100,200,230,240,250,300,340,350,400,450 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 54 To configure the first policy in the task: Policy 1 in this task requires that the E4/1 trunk between SW4 and SW5 carry traffic for all VLANs except VLAN 450. This can be done with the switchport trunk allowed vlan except 450 command on the E4/1 interfaces on SW4 and SW5 as seen below: The following command allows all VLANs except 450: On SW4 and SW5: SWx(config)#interface e4/1 SWx(config-if)#switchport trunk allowed vlan except 450 To verify the configuration: On SW4: SW4#show interfaces trunk | include Vlan |Et4/1 Et4/1 desirable 802.1q trunking 1 Port Et4/1 Port Et4/1 Port Et4/1 Vlans allowed on trunk 1-449,451-4094 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400 Vlans in spanning tree forwarding state and not pruned 1-10,100,200,230,240,250,300,340,350,400 On SW5: SW5#show interfaces trunk | include Vlan |Et4/1 Et4/1 Port Et4/1 auto n-802.1q Vlans allowed on trunk 1-449,451-4094 Port Et4/1 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400 Port Et4/1 Vlans in spanning tree forwarding state and not pruned 2-10,200,240,340,350 CCIE by Narbik Kocharians trunking CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved 1 Page 55 Policy item #2: To configure the second policy in the task: Similar configurations as the above are made to allow all VLANs except VLAN 240 on the E5/1 trunk link between SW2 and SW4. The show int trunk | include Vlan|Et5/1 command output verifies the result of the configuration: On SW2 and SW4: Cat-x(config)#interface e5/1 Cat-x(config-if)#switchport trunk allowed vlan except 240 To verify the configuration: On SW2: SW2#show interfaces trunk | include Vlan |Et5/1 Et5/1 Port Et5/1 on 802.1q Vlans allowed on trunk 1-239,241-4094 trunking 1 Port Et5/1 Vlans allowed and active in management domain 1-10,100,200,230,250,300,340,350,400,450 Port Et5/1 Vlans in spanning tree forwarding state and not pruned 2-3,100,200,230,250,300,340,350,400,450 On SW4: SW4#show interfaces trunk | include Vlan |Et5/1 Et5/1 Port Et5/1 on 802.1q Vlans allowed on trunk 1-239,241-4094 Port Et5/1 Vlans allowed and active in management domain 1-10,100,200,230,250,300,340,350,400,450 Port Vlans in spanning tree forwarding state and not pruned CCIE by Narbik Kocharians trunking CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved 1 Page 56 Et5/1 1-10,100,200,230,250,300,340,350,400,450 Task 16 Configure SW3 and SW4, based on the following chart. You may override some of the previous tasks to accomplish this task. Policy Item 1 2 Trunk Interface E6/0 E6/1 Between Switches SW3 SW4 SW3 SW4 Allowed VLAN/s All All This task is the final specification of VLAN policies that make changes to the list of VLANs that should be allowed over a particular trunk link. Each policy lists the trunk interface and switch pair to which the policy applies and which VLANs are allowed or disallowed to be carried across the trunk. The allowed VLAN list of a trunk link is configured using the switchport trunk allowed vlan {{ add | except | remove } vlan_list | all | none } command. When used with no additional parameters and all as the VLAN list, the switch will allow all VLANs across the trunk link. This operation is examined in this task below. Policy item #1: To configure the first policy in the task: This task requires permitting ALL Vlans on the E6/0 trunk link between SW3 and SW4. The show interfaces trunk output below shows the only VLAN allowed on this trunk link is VLAN 340. SW3#show interfaces trunk | include Vlan |Et6/0 Et6/0 Port Et6/0 Port Et6/0 Port Et6/0 on 802.1q trunking 1 Vlans allowed on trunk 340 Vlans allowed and active in management domain 340 Vlans in spanning tree forwarding state and not pruned 340 On SW3 and SW4: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 57 SWx(config)#interface e6/0 SWx(config-if)#switchport trunk allowed vlan all To verify the configuration: On SW3: SW3#show interfaces trunk | include Vlan |Et6/0 Et6/0 Port Et6/0 on 802.1q Vlans allowed on trunk 1-4094 trunking 1 Port Et6/0 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400,450 Port Et6/0 Vlans in spanning tree forwarding state and not pruned 1-10,100,200,230,240,250,300,340,350,400,450 On SW4: SW4#show interfaces trunk | include Vlan |Et6/0 Et6/0 Port Et6/0 on 802.1q Vlans allowed on trunk 1-4094 trunking 1 Port Et6/0 Vlans allowed and active in management domain 1-10,100,200,230,240,250,300,340,350,400,450 Port Et6/0 Vlans in spanning tree forwarding state and not pruned 1-10,200,240,250,300,340,350,400,450 Task 17 Erase the config.text and vlan.dat files on SW1-5 and reload them before proceeding to the next task. VLAN information on Cisco switches is stored in a separate file in the switch’s flash storage known as the VLAN database. This means wiping the configuration of the device by removing the startup CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 58 configuration file, is not enough to remove the VLAN configurations themselves. In order to wipe VLAN configurations from a switch, the VLAN database needs to be deleted from flash storage with the delete command. The file typically exists as flash:vlan.dat. The startup configuration file is then erased with the erase startup-config command and the switch is then rebooted. Note: On virtual platforms such as EVE-ng, the VLAN.dat file can be found under the unix directory. To follow the task and the VLAN.dat file, issue the following commands on SW2 through SW5 and then reload all the devices for the changes to effect: On the first Switch: Switch#delete vlan.dat-00009 Delete filename [vlan.dat-00009]? Delete unix:/vlan.dat-00009? [confirm] Switch#write erase Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] Press Enter Switch#reload On SW2: SW2#delete vlan.dat-00160 Delete filename [vlan.dat-00160]? The name may be different in your IOS Delete unix:/vlan.dat-00160? [confirm] SW2#write erase Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] Press Enter SW2#reload On SW3: SW2# delete vlan.dat-00176 Delete filename [vlan.dat-00176]? The name may be different in your IOS Delete unix:/vlan.dat-00176? [confirm] SW2#write erase CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 59 Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] Press Enter SW2#reload On SW4: SW2#delete vlan.dat-00192 Delete filename [vlan.dat-00192]? The name may be different in your IOS Delete unix:/vlan.dat-00192? [confirm] SW2#write erase Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] Press Enter SW2#reload On SW5: SW2#delete vlan.dat-00208 Delete filename [vlan.dat-00208]? The name may be different in your IOS Delete unix:/vlan.dat-00208? [confirm] SW2#write erase Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] Press Enter SW2#reload Task 18 Configure SW2 and SW3 based on the following policies: Configure the hostnames of Switch 2 and Switch 3 to be SW2 and SW3, Shut down all the ports on SW2 and SW3. Configure a dot1q trunk between SW2 and SW3 using port E4/0. Ensure that both switches belong to the VTP domain TST. The policies above represent a good base configuration for the two switches and combine all of the tasks learned previously into one test. The interface range command is used extensively to make quick configurations to ports that share the same configuration state. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 60 The ports are all shut down initially. Then, the E4/0 interface is configured as a static 802.1q trunking port on each switch. Finally, the VTP domain name is set to “TST”. On switch 2: Switch(config)#hostname SW2 On switch 3: Switch(config)#hostname SW3 On both switches: SWx(config)#interface range e0/1-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/03,e6/0-3 SWx(config-if-range)#shut On SW2 and SW3: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk encapsulation dot1q SWx(config-if)#switchport mode trunk SWx(config-if)#no shut SWx(config)#vtp domain TST Changing VTP domain name from NULL to TST To verify the configuration: On SW3: SW3#show vtp status | include Domain VTP Domain Name : TST Task 19 Configure VLAN 100 on SW2 and assign its E0/1 interface to this VLAN. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 61 This task requires configuring the E0/1 interface on SW2 as an access port that belongs to VLAN 100. VLAN 100 currently does not exist on SW2. There are two ways to achieve this. As seen earlier, one of the ways to create a VLAN on a switch with the vlan vlan number command. Alternatively, when configuring an access port for a particular VLAN with the switchport access vlan vlan-number command, IOS automatically creates the VLAN if it doesn’t already exist. This can be seen below where SW2’s E0/1 is first statically set to function as an access port with the switchport mode access command. The port is then assigned the VLAN 100 with the switchport access vlan 100 command: On SW2: SW2(config)#interface e0/1 SW2(config-if)#switchport mode access SW2(config-if)#switchport access vlan 100 % Access VLAN does not exist. Creating vlan 100 SW2(config-if)#no shut Notice the message “% Access VLAN does not exist. Creating vlan 100”. This is a confirmation that IOS recognized the indicated VLAN (100 in this case) was not already defined in the switch and automatically added it to the configuration. The show vlan brief | include VLAN command output confirms the VLAN 100 creation along with the port assignment: To verify the configuration: On SW2: SW2#show vlan brief | include VLAN VLAN Name 100 VLAN0100 Status active Ports Et0/1 Status active Ports On SW3: SW3#show vlan brief | include VLAN VLAN Name 100 VLAN0100 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 62 VTP Pruning In Task 10, it was explained that VTP is a protocol that can be used to synchronize the VLAN databases between switches that participate in the same VTP domain. VTP uses three message types to achieve this synchronization: summary advertisement, advertisement request, and subset advertisements. This synchronization process makes it such that an administrator only needs to configure VLANs on a single VTP server switch and have those configurations propagated for synchronization to all remaining switches in the VTP domain. VTP can be used for more than simple VLAN database synchronization. It can be used to reduce unnecessary broadcast flooded traffic originating in a specific VLAN from entering sections of the network that do not require that VLAN traffic. For example, the sample topology from Task 10 is examined: In this topology, the interfaces connecting Switch-1 to Switch-2 and Switch-3 are configured as trunk links. All three switches belong to the same VTP domain, TST. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 63 Previously, VLAN 100 was created on Switch-1. Switch-1 propagated information about this VLAN to Switch-2 and Switch-3 using VTP. Looking at the diagram, notice only Switch-1 and Switch-3 have interfaces connected to hosts in VLAN 100. Switch-2 does not have any interfaces connected to VLAN 100. Since Switch-2 has no interfaces in VLAN 100, there is no need for it to receive broadcast traffic originating from hosts in VLAN 100 connected to other switches in the network. Recall, ARP requests are broadcasted to all devices in the same VLAN. They are generated by end hosts to resolve the MAC address of a target device. When PC-1 needs to reach PC-3 in the topology, it starts by sending a broadcast ARP frame to learn PC-3’s MAC address. The following packet capture shows that the ARP frame was broadcasted to both Switch-2 and Switch-3: On Switch-3: Frame 4990: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface 0 Ethernet II, Src: aa:bb:cc:00:04:20 (aa:bb:cc:00:04:20), Dst: Broadcast (ff:ff:ff:ff:ff:ff) 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 100 Address Resolution Protocol (request) Hardware type: Ethernet (1) Protocol type: IPv4 (0x0800) Hardware size: 6 Protocol size: 4 Opcode: request (1) Sender MAC address: aa:bb:cc:00:04:20 (aa:bb:cc:00:04:20) Sender IP address: 100.1.1.1 Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00) Target IP address: 100.1.1.2 On Switch-2 Frame 4134: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface 0 Ethernet II, Src: aa:bb:cc:00:04:20 (aa:bb:cc:00:04:20), Dst: aa:bb:cc:00:05:10 (aa:bb:cc:00:05:10) 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 100 Address Resolution Protocol (request) Hardware type: Ethernet (1) Protocol type: IPv4 (0x0800) Hardware size: 6 Protocol size: 4 Opcode: request (1) Sender MAC address: aa:bb:cc:00:04:20 (aa:bb:cc:00:04:20) Sender IP address: 100.1.1.1 Target MAC address: aa:bb:cc:00:05:10 (aa:bb:cc:00:05:10) Target IP address: 100.1.1.2 Switch-2 has received the broadcast traffic even though it will ultimately drop it because it does not have any hosts in that VLAN. The VLAN 100 broadcast in this case was CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 64 unnecessarily broadcasted to Switch-2. This unnecessary broadcast was because Switch-1 has included VLAN 100 in its allowed VLAN list for the trunk link connected to Switch-2 as shown below: Switch-1#show interfaces trunk Port Et0/0 Et0/1 Mode on on Encapsulation 802.1q 802.1q Status trunking trunking Native vlan 1 1 Port Et0/0 Et0/1 Vlans allowed on trunk 1-4094 1-4094 Port Et0/0 Et0/1 Vlans allowed and active in management domain 1,100,200 1,100,200 Port Et0/0 Et0/1 Vlans in spanning tree forwarding state and not pruned 1,100 1,100 ! VLAN 100 is allowed on the trunk link to Switch-2 This inclusion extends VLAN 100’s broadcast domain to Switch-2. One way to stop the unnecessary broadcast of VLAN 100 traffic to Switch-2 is to manually remove VLAN 100 from the Switch-1/Switch-2 trunk link by using the switchport trunk allowed-vlan remove 100 command in interface configuration mode. This process, called manual pruning, is demonstrated extensively in previous tasks. The problem with manual pruning is that if a host were connected to Switch-2 in VLAN 100, that VLAN would need to be manually added to the allowed VLAN list on the Switch-1/Switch-2 trunk link again. Multiply this process by hundreds of VLANs and potentially hundreds of clients moving around in the network, and it is clear that this manual pruning process can cause high administrative overhead. This is where VTP pruning comes into play. VTP pruning is a feature of VTP that allows dynamic pruning of VLANs from trunk links where the VLAN traffic is not needed. The process utilizes a fourth VTP message type, called the VTP membership advertisement, or VMA. These are basically VTP Join/Prune messages. The basic process for VTP pruning is that a switch sends a VMA for all VLANs for which CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 65 it is interested in receiving traffic. The switch makes this determination based on whether or not it contains any interfaces that are currently associated with a VLAN that exists in the local switch’s VLAN database. Once again, referring back to the sample topology shown earlier, when VTP pruning is enabled on all the switches, they exchange VMAs with each other. Because Switch-3 is interested in receiving traffic for VLAN 100, its VMA includes VLAN 1 and VLAN 100, as shown in the following capture. Note : VLAN 1 is pruning ineligible, which means this VLAN will always be included in the advertised active VLAN field and cannot be removed. From Switch-3: VLAN Trunking Protocol Version: 0x01 Code: Join/Prune Message (0x04) Reserved: 00 Management Domain Length: 3 Management Domain: TST First VLAN ID: 0 Last VLAN ID: 1007 Advertised active (i.e. not pruned) VLANs VLAN: 1 VLAN: 100 The Advertised active (i.e. not pruned) VLANs field indicates the VLANs for which Switch-3 is interested in receiving traffic. Any VLAN that is not assigned to an interface on Switch-3 is omitted from this list. For example, the VMA sent from Switch-2 to Switch-1 includes only VLAN 1. This is because Switch-2 does not have any interfaces assigned to VLAN 100, and thus it has no need for VLAN 100 traffic. Any traffic sent by Switch-1 to Switch-2 in VLAN 100 would inevitably be a futile effort since Switch-2 would end up dropping the traffic anyway. From Switch-2: VLAN Trunking Protocol Version: 0x01 Code: Join/Prune Message (0x04) Reserved: 00 Management Domain Length: 3 Management Domain: TST First VLAN ID: 0 Last VLAN ID: 1007 Advertised active (i.e. not pruned) VLANs CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 66 VLAN: 1 The following shows the state of the show interface trunk output on Switch-1. As a result of the VMA message exchanges, Switch-1 will now send traffic for VLAN 100 out its trunk link E0/0 to Switch-3 only. Switch-1#show interfaces trunk Port Mode Native vlan Et0/0 on Et0/1 on Encapsulation Status 802.1q 802.1q trunking trunking 1 1 Port Et0/0 Et0/1 Vlans allowed on trunk 1-4094 1-4094 Port Et0/0 Et0/1 Vlans allowed and active in management domain 1,100,200 1,100,200 Port pruned Et0/0 Et0/1 Vlans in spanning tree forwarding state and not 1,100 ! VLAN 1 and 100 allowed to Switch-2 1 ! Only VLAN 1 allowed to Switch-2 VTP pruning is disabled by default and can be enabled by using the vtp pruning command in global configuration mode. VTP keeps a list of VLANs that are allowed to be dynamically pruned; it is called the pruning-eligible list or the pruning VLANs enabled list, depending on the show command being used. This list can be seen using the show interface switchport command, as shown here: Switch-1#show interfaces e0/0 switchport | include Pruning Pruning VLANs Enabled: 2-1001 The pruning-eligible list can be modified much like the allowed VLAN list of a trunk link with the switchport trunk pruning vlan command and the following additional parameters: Switch-1(config-if)#switchport trunk pruning vlan ? WORD VLAN IDs of the allowed VLANs when this port is in trunking mode CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 67 add except none remove add VLANs to the current list all VLANs except the following no VLANs remove VLANs from the current list The result of this command can be seen with the sample topology shown earlier. Before any configuration changes are made, the show interface e0/1 pruning command output on Switch-1 reveals that it is pruning VLAN 100 on the E0/1 trunk link connected to Switch-2. This is a result of the missing VLAN 100 in the VMA sent by Switch-2, as shown here: Switch-1#show interface e0/1 pruning Port neighbor Et0/1 Vlans pruned for lack of request by 100 Port Et0/1 Vlan traffic requested of neighbor 1,100 Next, VLAN 200 is configured on Switch-2. The pruning-eligible list on Switch-2 is then modified to include only VLAN 200 with the switchport trunk pruning vlan 200 command: Switch-2(config-if)#vlan 200 Switch-2(config-vlan)#exit Switch-2(config)#int e0/1 Switch-2(config-if)#switchport trunk pruning vlan 200 Notice how the pruning-eligible list on Switch-2 shows only VLAN 200: Switch-2#show interfaces e0/1 switchport | include Pruning Pruning VLANs Enabled: 200 The result of this configuration is that all other VLANs are now considered to be pruning ineligible. As a result, the VMA sent by Switch-2 to Switch-1 will include VLAN 100, thus preventing Switch-1 from pruning this VLAN off the trunk link connected to Switch-2. You can see this in the following packet capture, where VLAN 100 is included in the Advertised active (i.e. not pruned) VLANs field: VLAN Trunking Protocol CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 68 Version: 0x01 Code: Join/Prune Message (0x04) Reserved: 00 Management Domain Length: 3 Management Domain: TST First VLAN ID: 0 Last VLAN ID: 1007 Advertised active (i.e. not pruned) VLANs VLAN: 1 VLAN: 100 Task 20 through 27 below pertain to VTP pruning for the lab topology. Task 20 Configure the switches such that they restrict flooded traffic to those trunk links the traffic must use to access the appropriate network device(s). This task gives a good representation of a vague question. At the onset it can be difficult to figure out what exactly the task is asking. Understanding the results of prior configurations provides the proper context for this task. In Task 19, VLAN 100 on SW2 and SW3 was configured. Of the two switches, only SW2 actually has an access port in VLAN 100, evidenced by the show vlan brief | include VLAN command output below. On SW2: SW2#show vlan brief | include VLAN VLAN Name 100 VLAN0100 Status active Ports Et0/1 Status active Ports On SW3: SW3#show vlan brief | include VLAN VLAN Name 100 VLAN0100 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 69 Notice there are no ports indicated under the ports field on SW3. This simply indicates that SW3 does not have any ports configured for VLAN 100. With default settings on the E4/0 trunk port, SW3 will still receive all broadcast traffic sent to VLAN 100. With no ports configured for VLAN 100 on SW3, it is unnecessary for SW2 to send any traffic for VLAN 100 across the E4/0 trunk link to SW3 because it will ultimately be dropped. The task’s goal is to clean up this interaction by preventing unnecessary flooded traffic to SW3 for VLANs which it does not need. To accomplish this task, the VTP pruning feature is enabled. The show vtp status | include Prunning outtput below, shows VTP pruning is by default turned off on both switches: On SW2: SW2#show vtp status | include Prunning VTP Pruning Mode : Disabled On SW3: SW3#show vtp status | include Prunning VTP Pruning Mode : Disabled To enable VTP pruning, the vtp pruning command is issued in global configuration mode on SW2. Once enabled, SW2 will advertise this setting to the entire VTP domain, including SW3. The output of the command show vtp status | include Prunning after configuration verifies this: On SW2: SW2#vtp pruning Pruning switched on To verify the configuration: SW2#show vtp status | include Prunning VTP Pruning Mode : Enabled On SW3: SW3#show vtp status | include Prunning VTP Pruning Mode : Enabled CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 70 Once VTP pruning has been enabled, all of the switches in the VTP domain begin sending VMA messages to their neighboring switches to indicate the VLANs from which they would like to receive traffic. The results of this interaction are shown on SW3 using the show interface e4/0 pruning command: SW3#show interfaces e4/0 pruning ! Section 1 Port Et4/0 Vlans pruned for lack of request by neighbor none ! Section 2 Port Et4/0 Vlan traffic requested of neighbor 1 The output above is broken down into two sections: The first section of the show interface pruning output lists the VLANs the local switch has pruned off the trunk link. In the output above, SW3 is not pruning any VLANs from the E4/0 trunk link connected to SW2. This is indicated by the none keyword and is the result of SW3 receiving VMAs including all configured VLANs on the trunk link (in this case VLANs 1 and 100). The second section of the show interface pruning output lists the VLANs for which the local switch has sent VMAs. Because SW3 does not have any active ports configured for VLAN 100, it does not include the VLAN in the VMA it sends to SW2. The only VLAN included in the VMA will be VLAN 1, and this is the reason the output above shows 1 under the VLAN traffic requested of neighbor section. SW2’s show interface E4/0 pruning output shows the other side of the pruning process. The first section shows the VLANs SW2 will prune off the trunk link to SW3, VLAN 100 in this case. SW2 prunes this because it has NOT received a VMA for VLAN 100 from SW3. As a result, SW2 will not send any VLAN 100 traffic out the E4/0 link to SW3. The second section reveals the VLANs for which SW2 expects to receive traffic from SW3, VLAN 1 and VLAN 100 as seen below. These are the VLANs for which SW2 has sent VMAs The complete output is shown below: SW2#show interfaces e4/0 pruning ! Section 1 Port Vlans pruned for lack of request by neighbor CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 71 Et4/0 ! Section 2 100 Port Et4/0 Vlan traffic requested of neighbor 1,100 Task 21 Configure VLANs 200, 300, 400, 500, and 600 on SW2 and ensure that these VLANs are propagated to SW3. This task requires configuring VLANs 200, 300, 400, 500 and 600 on SW2. This is done with the vlan vlannumber command as seen below. Once again, it is important to issue the exit command after the vlan configuring to allow the VLANs to be added to the database: On SW2: SW2(config)#vlan 200,300,400,500,600 SW2(config-vlan)#exit NOTE: In the above configuration if “exit” is not entered, the VLANs will not be propagated. The show vlan brief | include VLAN command output from SW3 verifies that the above VLANs have been propagated via VTP to SW3: On SW3: SW3#show vlan brief | include VLAN VLAN Name 100 VLAN0100 200 VLAN0200 300 VLAN0300 400 VLAN0400 500 VLAN0500 600 VLAN0600 Status active active active active active active Ports To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 72 Since SW3 does not have any active ports configured for any of the above VLANs, it does not include these VLANs in its VMAs to SW2. The result is SW2 prunes off these VLANs from the E4/0 trunk link connected to SW3. This can be seen in the first section of the show interface pruning command output from SW2 below: On SW2: SW2#show interfaces pruning ! Section 1 Port Et4/0 Vlans pruned for lack of request by neighbor 100,200,300,400,500,600 ! Section 2 Port Et4/0 Vlan traffic requested of neighbor 1,100 In addition, since SW2 has active ports in VLAN 100 and VLAN 1 cannot be pruned, these VLANs are included in its VMAs to SW3. This is reflected in the second section of the output above. The result of this can also be seen in the highlighted output below where SW3 prunes off VLANs 200, 300, 400, 500, and600 since it does not receive any VMAs for these VLANs from SW2: On SW3: SW3#show interfaces pruning Port Et4/0 Vlans pruned for lack of request by neighbor 200,300,400,500,600 Port Et4/0 Vlan traffic requested of neighbor 1 Task 22 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 73 Configure the E3/3 interface of SW3 in VLAN 100. This task requires assigning the E3/3 interface on SW3 to VLAN 100. The purpose of this task is to demonstrate that once SW3 assigns VLAN 100 to the E3/3 interface, it will include VLAN 100 in the VMA message sent to SW2. This will cause SW2 to unprune VLAN 100 from the E4/0 trunk link and flood any traffic for VLAN 100 over it. The following first configures the E3/3 interface as an access port with the switchport mode access command. The port is then assigned to VLAN 100 with the switchport access vlan 100 command: On SW3: SW3(config)#interface e3/3 SW3(config-if)#switchport mode access SW3(config-if)#switchport access vlan 100 SW3(config-if)#no shut As a result of the above configuration, vlan traffic requested of neighbor portion of the output below shows that SW3 expects to receive VLAN traffic for VLAN 1 and VLAN 100 over the trunk link: Note: You may have to wait for 30 seconds for STP convergence: On SW3: SW3#show interfaces pruning Port Et4/0 Vlans pruned for lack of request by neighbor 200,300,400,500,600 Port Et4/0 Vlan traffic requested of neighbor 1,100 This configuration can be verified on SW2 as well using the show interfacespruning command. The first section of the output below shows the VLANs pruned off the trunk link to SW3. The second section lists the VLANs SW2 has included in its VMAs to SW3, indicating the VLANs for which it wishes to receive traffic: On SW2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 74 SW2#show interfaces pruning Port Et4/0 Vlans pruned for lack of request by neighbor 200,300,400,500,600 Port Et4/0 Vlan traffic requested of neighbor 1,100 The first section of the above output reveals that VLAN 100 is no longer pruned. Task 23 Configure the switches such that only VLAN 300 is pruned. To begin solving this task the show interface e4/0 pruning command output from SW2 is examined below: On SW2: SW2#show interfaces e4/0 pruning Port Et4/0 Vlans pruned for lack of request by neighbor 200,300,400,500,600 Port Et4/0 Vlan traffic requested of neighbor 1,100 As seen above, SW2 has pruned the VLANs 200, 300, 400, 500 and 600 from the E4/0 trunk link connected to SW3. This is because SW3 has not requested traffic for these VLANs. The task requires that only VLAN 300 is pruned off the trunk link. This can be achieved by modifying the prune eligible list on both switches with the switchport trunk pruning vlan 300 command. This command will configure the switches such that ONLY VLAN 300 is eligible for being pruned. The show int erfacesinterfaces switchport command verifies the prune eligible list as seen below: On SW2 and SW3: SWx(config)#interface e4/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 75 SWx(config-if)#switchport trunk pruning vlan 300 On SW2: SW2#show interfaces e4/0 switchport | include Pruning Pruning VLANs Enabled: 300 On SW3: SW3#show interfaces e4/0 switchport | include Pruning Pruning VLANs Enabled: 300 Both switches now exchange VMAs with each other that excludes VLAN 300 from the “Advertised active (i.e. not pruned) VLANs” list. As a result, the show interfaces pruning command output on SW2 and SW3 only shows VLAN 300 under the “Vlans pruned for lack of request by neighbor” section: On SW2: SW2#show interfaces e4/0 pruning Port Et4/0 Vlans pruned for lack of request by neighbor 300 Port Et4/0 Vlan traffic requested of neighbor 1,100,200,400,500,600 On SW3: SW3#show interfaces e4/0 pruning Port Et4/0 Vlans pruned for lack of request by neighbor 300 Port Et3/0 Vlan traffic requested of neighbor 1,100,200,400,500,600 Task 24 Configure the switches such that VLAN 200 is also pruned. You should not use the command from the previous task to accomplish this task. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 76 This task requires pruning off VLAN 200 as well from the trunk link E4/0 connecting SW2 and SW3. This can be done with the add parameter of the switchport trunk pruning vlan command. The add keyword results in adding VLAN 200 to the already existing VLAN pruning eligible list: On SW2 and SW3: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk pruning vlan add 200 To verify the configuration: Note: VLAN 200 is added to the list of pruned VLANs On SW2: SW2#show interfaces pruning Port Et4/0 Vlans pruned for lack of request by neighbor 200,300 Port Et4/0 Vlan traffic requested of neighbor 1,100,400,500,600 On SW3: SW3#show interfaces pruning Port Et4/0 Vlans pruned for lack of request by neighbor 200,300 Note: VLAN 200 is added to the list of pruned VLANs Port Et4/0 Vlan traffic requested of neighbor 1,100,400,500,600 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 77 Task 25 Configure SW2 and SW3 such that none of the VLANs are pruned. This task requires configuring the switches such that none of the VLANs are eligible for pruning on the trunk link between SW2 and SW3. This can be done with the none parameter added to the switchport trunk pruning vlan command as seen below. The show interface e4/0 switchport command output also shows the prune eligible list to be NONE: On Both Switches: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk pruning vlan none To verify the configuration: On SW3: SW3#show interfaces e4/0 switchport | include Pruning Pruning VLANs Enabled: NONE On SW2: SW2#show interfaces e4/0 pruning Port Et4/0 Port Et4/0 Vlans pruned for lack of request by neighbor none Note: None of the VLANs are pruned Vlan traffic requested of neighbor 1,100,200,300,400,500,600 On SW3: SW3#show interfaces e4/0 pruning Port Et4/0 Port Et4/0 Vlans pruned for lack of request by neighbor none Note: None of the VLANs are pruned Vlan traffic requested of neighbor 1,100,200,300,400,500,600 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 78 Task 26 Configure SW2 and SW3 such that all configured VLANs in the VLAN database are pruned. This task requires ALL VLANs in the VLAN database to be pruned from the trunk link E4/0 between SW2 and SW3. The current VLAN database holds VLANs 1,100,200,300,400,500,600. To remove these VLANs the command switchport trunk pruning vlan 1,100,200,300,400,500,600 is issued on SW2 and SW3’s E4/0 interface. However, such a configuration results in the following error message Command rejected: Bad VLAN pruning list: On Both Switches: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk pruning vlan 1,100,200,300,400,500,600 You should receive the following errors: Command rejected Bad VLAN pruning list. As already mentioned, VLAN 1 is prune ineligible. The above error message was generated because VLAN 1 cannot be pruned. To bypass this error the command is entered again but this time without specifying VLAN 1: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk pruning vlan 100,200,300,400,500,600 To verify the configuration: Observing the output below we notice all the above listed VLANs except VLAN 100 has been pruned off the trunk link E4/0 between SW2 and SW3. The reason for this is that Task 19 and Task 22 of this section configured access ports in VLAN 100 on SW2 and SW3. In other words, VLAN 100 cannot be pruned because both the switches have port membership in VLAN 100. On SW2: SW2#show interfaces e4/0 pruning CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 79 Port Et4/0 Vlans pruned for lack of request by neighbor 200,300,400,500,600 Port Et4/0 Vlan traffic requested of neighbor 1,100 To summarize the points in this task: VLAN 1 cannot be pruned. If the local switch has port membership in a given VLAN, that VLAN cannot be pruned. Task 27 Configure SW2 and SW3 such that VLAN 200 is no longer pruned; do not use a command that was used before to accomplish this task. This task requires removing VLAN 200 from the existing VLAN prune eligible list. This can be done with the switchport trunk pruning vlan remove 200 command on the trunk interface E4/0 on SW2 and SW3 as seen below: On Both Switches: SWx(config)#interface e4/0 SWx(config-if)#switchport trunk pruning vlan remove 200 To verify the configuration: The switchport interface pruning command output below verifies the above configuration. VLAN 200 is removed from the Vlans pruned for lack of request by neighbor section for the trunk link between SW2 and SW3: On SW2: SW2#show interfaces e4/0 pruning Port Et4/0 Vlans pruned for lack of request by neighbor 300,400,500,600 Port Vlan traffic requested of neighbor CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 80 Et4/0 1,100,200 Note: VLAN 200 was removed from the list of VLANs being pruned. On SW3: SW3#show interfaces e4/0 pruning Port Et4/0 Vlans pruned for lack of request by neighbor 300,400,500,600 Port Et4/0 Vlan traffic requested of neighbor 1,100,200 NOTE: VLAN 200 was removed from the list of VLANs being Pruned. With the “switchport trunk pruning vlan remove” command, you are asking the switch to remove the specified VLAN from the list of pruned VLANs, meaning “Do not prune this VLAN”. Task 28 Erase the vlan.dat and config.text files and reload the switches before proceeding to the next lab. VLAN information on Cisco switches is stored in a separate file in the switch’s flash storage known as the VLAN database. This means wiping the configuration of the device by removing the startup configuration file, is not enough to remove the VLAN configurations themselves. In order to wipe VLAN configurations from a switch, the VLAN database needs to be deleted from flash storage with the delete command. The file typically exists as flash:vlan.dat. The startup configuration file is then erased with the erase startupconfig command and the switch is then rebooted. Note: On virtual platforms such as EVE-ng, the VLAN.dat file can be found under the unix directory. To follow the task and the VLAN.dat file, issue the following commands on the switches and then reload all the devices for the changes to effect: SWx#delete vlan.dat-00010 → This name may differ Delete filename [vlan.dat-00010]? Delete unix:/vlan.dat-00010? [confirm] CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 81 SWx#erase startup-config Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] [OK] Erase of nvram: complete Lab 2 Configuring EtherChannels Task 1 Configure the hostname of the switches based on the provided diagram. Ensure that all the ports of these four switches are in shutdown mode. Configure these four switches in a VTP domain called TST. The following first uses the hostname command on each switch to set the hostnames as shown in the diagram. The interface range command is used on all switches to shutdown all the interfaces on the switch. The VTP domain name is set manually on each switch with the vtp domain TST command: On the second Switch: Switch(config)#hostname SW2 SW2(config)#interface range e0/1-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/03,e6/0-3 SW2(config-if-range)#shut CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 82 SW2(config)#vtp domain TST Changing VTP domain name from NULL to TST On the third Switch: Switch(config)#hostname SW3 SW3(config)#interface range e0/1-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/03,e6/0-3 SW3(config-if-range)#shut SW3(config)#vtp domain TST Changing VTP domain name from NULL to TST On the fourth Switch: Switch(config)#hostname SW4 SW4(config)#interface range e0/1-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3 SW4(config-if-range)#shut SW4(config)#vtp domain TST Changing VTP domain name from NULL to TST On the fifth Switch: Switch(config)#hostname SW5 SW5(config)#interface range e0/1-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3 SW5(config-if-range)#shut SW5(config)#vtp domain TST Changing VTP domain name from NULL to TST Task 2 Configure ports E4/0 and E4/1 on SW2 and SW3 as trunk links, using an industrystandard protocol. These links should appear to Spanning Tree Protocol as a single link. If CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 83 one of the links fails, the traffic should use the other link, without any interruption. The ports on SW2 should be configured such that they only respond to PAgP packets and never start the negotiation process. The task above makes mention to a very specific problem the current topology has. Looking at the topology diagram, SW2 and SW3 have redundant links connecting the two switches, E4/0 and E4/1. In normal network operation, Spanning-Tree Protocol (STP) will only allow one of these two links to be in the forwarding mode. This move by STP effectively halves the available bandwidth between the two switches. The other link will only be used if the primary fails and after slowly transitioning through the STP states. In order to allow both links to be used simultaneously, the switch needs to be able to represent them as a single path to STP. This can be accomplished with EtherChannel Bundling. An EtherChannel bundle is a collection of individual Ethernet links. These links are represented by a single logical interface known as the Port Channel Interface. The port channel interface holds all of the configuration information for the bundled links. It is also the interface that is presented to STP by the switch instead of the individual links that make up the EtherChannel bundle. Traffic is load balanced between the available links within the EtherChannel based on a load-balancing method. Using EtherChannel, fault-tolerant, high-speed links can be created between switches. An EtherChannel can consist of up to 8 bundled links. If a single link fails, traffic forwarding continues across the remaining links. The downside to EtherChannel is the configuration. In order to function properly, all links within the bundle must have identical configurations with regards to trunk mode, encapsulation, speed and duplex settings. For proper EtherChannel operation, both devices on either side of the EtherChannel link must agree that the EtherChannel should exist between them. These hurdles make managing EtherChannel configurations somewhat difficult. The reason is each device may send frames from the same ethernet source MAC address across different links. If the far-end switch has not properly bundled the link, it may cause MAC address flapping. Additionally, loops could form because STP BPDUs are only sent out of one link in the bundle to the far-end switch. This means the far-end switch would only receive a BPDU on one of its ports, making it assume the rest of the bundled ports are not connected to a neighboring bridge resulting in it making its port Designated, forming a layer 2 loop. To help with configuration consistency amongst member interfaces and with the remote EtherChannel endpoint, two EtherChannel bundling protocols exist: Port Aggregation Protocol (PAgP) and Link CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 84 Aggregation Control Protocol (LACP). PAgP is a Cisco Proprietary protocol whereas LACP is an industry standard, defined in the IEEE 802.3ad specification. Once configured, the EtherChannel protocol handles the following tasks: - Ensures member interfaces have compatible configurations to participate in the EtherChannel bundle Ensures the far side switch agrees that the EtherChannel link exists between the two switches over the proper connected interfaces. If the EtherChannel protocol determines incompatible configurations on member interfaces, the EtherChannel protocol will suspend the interface from participating in the EtherChannel bundle until the configurations are made consistent. If the far end switch does not agree to the EtherChannel link, the EtherChannel protocol will not bring the EtherChannel up on the local switch, allowing the member interfaces to operate as independent interfaces. Individual interfaces are configured to participate in an EtherChannel bundle using the channel-group command. This command has five different options for configuring EtherChannel: 1. ON : Forces interfaces to operate as an EtherChannel without the use of PAgP or LACP. This is also considered to be manual configuration. 2. ACTIVE : Enables LACP active negotiation for EtherChannel bundling with the remote interface 3. PASSIVE : Enables passive LACP negotiation. The interface will respond to LACP frames sent by the remote interface but will not send any first. 4. DESIRABLE : Enables PAgP active negotiation for the EtherChannel bundling with the remote interface. 5. AUTO - Enables passive PAgP negotiation for the EtherChannel bundling with the remote interface. The interface will respond to PAgP frames sent by the remote interface but will not send any first. In EtherChannel bundles, both sides of the link must agree on the EtherChannel protocol (PAgP, LACP, or none) and at least one side of the link must be configured to initiate the bundling process. The following table indicates the different combinations of interface configurations and whether or not an EtherChannel bundle will be formed: If SW2 is configured If SW3 is configured in in CCIE by Narbik Kocharians Will an EtherChannel be Protocol used CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 85 established Desirable Desirable YES PAgP Desirable Auto YES PAgP Auto Auto NO - Active Active YES LACP Active Passive YES LACP Passive Passive NO - On On YES None ON Auto NO - On Desirable NO - On Passive NO - On Active NO - Desirable Active NO - Desirable Passive NO - Auto Passive NO - Looking at the table above, the basic conclusion is in order for the EtherChannel bundle to form, one of two things must be true: 1. If manual configuration is being used, both sides should be configured in the ON mode. 2. If PAgP or LACP are in use, at least one side should be configured to actively negotiate an EtherChannel. For example, from the table, if one side is set to Auto and the other is set to Passive, they not only do not agree on EtherChannel protocol (Auto indicates PAgP operation and Passive indicates LACP operation) but neither side will actively attempt to bring up the EtherChannel. Instead, a combination such as one side set to Desirable and the other set to Auto will work. In this case, both sides agree to PAgP operation and the side set to Desirable will begin the EtherChannel negotiations. The configuration of EtherChannels should be done in a certain order. The following is my recommendation of the order when setting up EtherChannels: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 86 Step 1: Use the default interface command for all the interfaces that are to be bundled up into the same port channel. The default interface command resets the interface back to their default values. Additionally, for ease of configuration, the default interface range command can be used to reset multiple interfaces to their default state. Step 2: Configure the EtherChannel by issuing the channel-group channel-number mode command to the physical interfaces. This will result in automatic port-channel interface creation. The channel-number value does not have to match on both sides. Step 3: Configure the trunk related parameters directly on the port-channel interface configuration mode Step 4: Reset the ports in the group by first issuing the shutdown command followed by the no shutdown command. Task 2 requires bundling up the E4/0 and E4/1 interface on SW2 and SW3 into an EtherChannel. It specifically requires the use of PAgP as the negotiation protocol. In addition, the task further states that SW2 should never start the negotiation process. Instead, it should wait until it receives PAgP frames from SW3 to form a bundle. This means, the port-channel on SW2 should be configured in the auto mode. In this mode, the switch passively waits for PAgP frames from the far-end switch, SW3. The port-channel on SW3 will be configured in desirable mode. With this configuration, SW3 will be actively attempting to form a bundle with SW2 by sending out PAgP frames. Finally, the configured port-channel between SW2 and SW3 will be used to carry traffic for multiple VLANs. This means the port-channel between SW2 and SW3 needs to be configured as a trunk link. The trunk parameters as specified in the task states to use the industry standard encapsulation protocol 802.1q. This is done with the switchport trunk encapsulation dot1q command under the port-channel interfaces on SW2 and SW3. The port-channel is then manually set to function as a trunk port with the switchport mode trunk command. All of the above configurations are made on SW2 and SW3 below in the order specified above: Step One: On SW2: SW2(config)#default interface range e4/0-1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 87 SW2(config)#interface range e4/0-1 SW2(config-if-range)#no shut Step Two: SW2(config)#interface range e4/0-1 SW2(config-if-range)#channel-group 23 mode auto You should see the following console messages: Creating a port-channel interface Port-channel 23 %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet4/0, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet4/1, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet4/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet4/1, changed state to up Note: The interface port-channel 23 is created automatically: SW2#show run interface port-channel 23 | begin interface interface Port-channel23 end Step Three: SW2(config)#interface port-channel 23 SW2(config-if)#switchport trunk encapsulation dot1q SW2(config-if)#switchport mode trunk On SW3: SW3(config)#default interface range e4/0-1 SW3(config)#interface range e4/0-1 SW3(config-if-range)#channel-group 32 mode desirable SW3(config)#interface port-channel 32 SW3(config-if)#switchport trunk encapsulation dot1q SW3(config-if)#switchport mode trunk CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 88 Step Four: On SW2 and SW3: SWx(config-if)#interface range e4/0-1 SWx(config-if-range)#shut SWx(config-if-range)#no shut To verify the configuration: The result of the above configuration can be verified in the show interfaces trunk output below where the port channel between SW2 and SW3 functions as a 802.1q trunk: On SW2: SW2#show interface trunk Port Po23 Mode on Encapsulation 802.1q Status trunking Native vlan 1 Port Po23 Vlans allowed on trunk 1-4094 Port Po23 Vlans allowed and active in management domain 1 Port Po23 Vlans in spanning tree forwarding state and not pruned 1 On SW3: SW3#show interface trunk Port Po32 Mode on Port Po32 Vlans allowed on trunk 1-4094 Port Po32 Vlans allowed and active in management domain 1 Port Vlans in spanning tree forwarding state and not pruned CCIE by Narbik Kocharians Encapsulation 802.1q Status trunking CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Native vlan 1 Page 89 Po32 1 The show interfaces e4/0 switchport | include Operational Mode command shows the Operational Mode of the member interfaces of the EtherChannel bundle have been set to trunk with the added mention that they belong to a member of a PortChannel interface: On SW2: SW2#show interface e4/0 switchport | include Operational Mode Operational Mode: trunk (member of bundle Po23) SW2#show interface e4/1 switchport | include Operational Mode Operational Mode: trunk (member of bundle Po23) On SW3: SW3#show interface e4/0 switchport | include Operational Mode Operational Mode: trunk (member of bundle Po32) SW3#show interface e4/1 switchport | include Operational Mode Operational Mode: trunk (member of bundle Po32) Another result of this configuration is how the switch perceives the two interfaces. Notice in the show interfaces trunk output above only a single interface, the PortChannel interface, was listed as operating in trunk mode. This is because the switch no longer considers each individual link as separate, but rather identifies them as a single logical link represented by the PortChannel interface. This treatment extends to how the switch presents the link to Spanning-Tree Protocol. The show spanning-tree vlan 1 output from SW2 below confirms that the switch lists the PortChannel interface and not the individual links (e4/0 and e4/1) as a link that is running the STP instance: SW2#show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 32769 Address aabb.cc00.0a00 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 90 Address aabb.cc00.0a00 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 15 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------Po23 Desg FWD 56 128.65 P2p CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 91 Task 3 Configure ports E5/0 and E5/1 on SW2 and SW4 as trunk links, using an industrystandard protocol. These links should appear to Spanning Tree Protocol as a single link. If one of the links fails, the traffic should use the other link, without any interruption. These ports should not negotiate an etherchannel by exchanging LACP or PAgP protocols to accomplish this task. This task requires EtherChannel bundling of the redundant links E5/0-1 connecting SW2 and SW4. The configuration to establish the port-channel between SW2 and SW4 follows the configuration steps stated earlier. First, the E5/0-1 interfaces on SW2 and SW4 are reset to their default state with the default interface range e5/0-1 command. The no shut command is then used to bring these interfaces up. These interfaces are then assigned to their respective EtherChannel groups with the channel-group channel-group-number command. Since the task restricts the use of any dynamic negotiation protocol for port-channel establishment, the on mode will be used to manually configure the port-channel between the switches. The port-channel between SW2 and SW4 is then configured for a static 802.1q trunk with the switchport trunk encapsulation dot1q and switchport mode trunk command. The physical interfaces are then reset by first shutting them down with the shut command and then bringing them up with the no shut command: On SW2: Step One: SW2(config)#default interface range e5/0-1 SW2(config)#interface range e5/0-1 SW2(config-if-range)#no shut Step Two: SW2(config)#interface range e5/0-1 SW2(config-if-range)#channel-group 24 mode on Step Three: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 92 SW2(config-if-range)#interface port-channel 24 SW2(config-if)#switchport trunk encapsulation dot1q SW2(config-if)#switchport mode trunk On SW4: Step One: SW4(config)#default interface range e5/0-1 SW4(config)#interface range e5/0-1 SW4(config-if-range)#no shut Step Two: SW4(config)#interface range e5/0-1 SW4(config-if-range)#channel-group 42 mode on Step Three: SW4(config-if-range)#interface port-channel 42 SW4(config-if)#switchport trunk encapsulation dot1q SW4(config-if)#switchport mode trunk Step Four: On SW2 and SW4 SWx(config)#interface range e5/0-1 SWx(config-if-range)#shut SWx(config-if-range)#no shut To verify the configuration: The show interface trunk command output from SW2 and SW4 verifies the 802.1q static trunk portchannel between them: SW2#show interfaces trunk | include 802 Po23 Po24 on on CCIE by Narbik Kocharians 802.1q 802.1q trunking trunking CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved 1 1 Page 93 On SW4: SW4#show interfaces trunk | include 802 Port Po42 Mode on Encapsulation 802.1q Status trunking Native vlan 1 Notice the show etherchannel protocol command output from SW2 below. The highlighted output in black is the port-channel set up between SW2 and SW3 in task 2. The Protocol portion of this output shows the protocol used for this EtherChannel negotiation is PAgP. In contrast, the Protocol portion of the output highlighted in green shows ON, meaning neither LACP or PAgP was used to negotiate this port channel: SW2#show etherchannel protocol Channel-group listing: ---------------------Group: 23 ---------Note: PAgP is used for EtherChannel negotiation Protocol: PAgP Group: 24 ---------Protocol: Note: PAgP or LACP is not in use - (Mode ON) Finally, the show EtherChannel summary command provides a lot of information about the operational state of the port channels. The output from SW4 is shown as an example. The SU in parenthesis in the highlighted output below indicates that Po42 is a Layer 2 port-channel and is currently in use. The P indicated against the physical interfaces show that these interfaces have been bundled to form the portchannel 42: SW4#show etherchannel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 94 u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+--------------------42 Po42(SU) Et5/0(P) Et5/1(P) Task 4 Ensure that all the EtherChannels created on SW2 are load balanced based on the destination MAC address. When forwarding frames out of an EtherChannel bundle, the switch needs to determine which member interface should be used to transmit the frame. The switch cannot send some bits of a frame over one interface and the remaining over another. A single frame should be sent, in full, over a single interface. The switch determines which individual link of an EtherChannel will be used to transmit the frame based on a hashing algorithm. This algorithm is called the EtherChannel load-balancing method and is based on the source/destination MAC address, source/destination IP address, or both depending on the setting and switching platform being used. This algorithm is only applied whenever the switch determines an incoming or self-generated frame should be forwarded out of an EtherChannel interface. In order to achieve maximum load balancing between member interfaces, the EtherChannel loadbalancing method needs to be set to provide diverse hash value results. For instance, if the EtherChannel bundle were connected to a single end device, using source MAC or IP address as the load-balancing method would generate in the same hash result for all traffic originating from the device. This is because the source MAC and IP address would be the same for all traffic sent by the single device. The result is only a single link of the EtherChannel bundle would be utilized. Instead, in such a situation, a method that incorporates destination MAC or IP addressing would be preferred as the variety would be much greater for traffic originating from that device. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 95 The port-channel load-balance ? command options below reveals the load balancing options available on these switches. These options may vary between different platforms. SW2(config)#port-channel load-balance ? dst-ip dst-mac src-dst-ip src-dst-mac src-ip src-mac Dst IP Addr Dst Mac Addr Src XOR Dst IP Addr Src XOR Dst Mac Addr Src IP Addr Src Mac Addr The following describes briefly each of the load balancing options presented above: 1. Destination IP address - With this option, when packets are forwarded to an EtherChannel, they are distributed across the interfaces in the channel based on the destination IP address of the incoming or self-generated frame. 2. Destination MAC address - With this option, when packets are forwarded to an EtherChannel, they are distributed across the interfaces in the channel based on the destination MAC address of the incoming or self-generated frame. 3. Source and Destination IP address - With this option, when packets are forwarded to a EtherChannel, they are distributed across the interfaces in the channel based on the source and destination IP address pair of the incoming or self-generated frame. 4. Source and Destination MAC address - With this option, when packets are forwarded to a EtherChannel, they are distributed across the interfaces in the channel based on the source and destination MAC address pair of the incoming or self-generated frame. 5. Source IP address - With this option, when packets are forwarded to a EtherChannel, they are distributed across the interfaces in the channel based on the source IP address of the incoming or self-generated frame. 6. Source MAC address - With this option, when packets are forwarded to a EtherChannel, they are distributed across the interfaces in the channel based on the source MAC address of the incoming or self-generated frame. This task requires the load-balancing method on SW2 for all its port channels to be based on the destination MAC address. The default load balancing method in use can be checked with the show etherchannel load-balance command. As seen below, SW2 by default load balances on the Source and Destination IP address pair: SW2#show EtherChannel load-balance CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 96 EtherChannel Load-Balancing Configuration: src-dst-ip The task specifies that the switches should use destination MAC addresses as input to the hashing algorithm.To modify the load balancing method to the specified destination MAC mode, the command port-channel load-balance dst-mac is issued on SW2. The show etherchannel load-balance output verifies this configuration change: To configure the load balancing based on the destination MAC addresses: SW2(config)#port-channel load-balance dst-mac To verify the configuration: SW2#show etherchannel load-balance EtherChannel Load-Balancing Configuration: dst-mac EtherChannel Load-Balancing Addresses Used Per-Protocol: Non-IP: Destination MAC address IPv4: Destination MAC address IPv6: Destination MAC address Since the command is entered in the global configuration mode, it effects all EtherChannel bundles created on the local switch. Task 5 Configure ports E6/0 and E6/1 on SW3 and SW4 as a single Layer 3 link; SW3 should be configured with the IP address 34.1.1.3/24, and SW4 should be configured with the IP address 34.1.1.4/24. These ports should not negotiate LACP or PAgP. This task requires bundling the E6/0-1 interfaces connecting SW3 and SW4 into a Layer 3 port-channel. A layer three port channel requires a different configuration flow compared to the Layer 2 port channels configured earlier in this section. With Layer 2 port channels, the port channel interface was created automatically when the channel-group command was issued on the interfaces. Layer 3 port channels must CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 97 first be defined by the interface port-channel command and then enabled for Layer 3 operation with the no switchport command. The member interfaces are then associated with the configured Layer 3 port channels after enabling Layer 3 operations on them individually. Configuration order of Etherchannels Configuration of Layer 3 Etherchannels should be done in a certain order. Following is my recommendation of the order when setting up Layer 3 etherchannels: Step 1 : Use the default interface command to reset the member interfaces to their default state Step 2 : Configure the port-channel with the interface port-channel channel-group-number command. Issue the no switchport for this port-channel to disable Layer 2 operations and enable Layer 3 operations. Assign an Ip address to this port-channel Step 3 : Issue the no switchport command under the physical interfaces that are to be bundled up into the Layer 3 port channel. Assign the port-channel created in step 2 to the physical interfaces with the channelgroup channel-group-number mode command (the channel-group-number should match the channelgroup-number used to configure the port-channel interface in the interface port-channel channel-groupnumber command). Step 4 : Flap the physical interfaces with the shutdown and then a no shut command The above steps can be examined in the below configuration that completes this task by creating a Layer 3 EtherChannel between SW3 and SW4: On SW3: Step One: SW3(config)#default interface range e6/0-1 Step Two: SW3(config)#interface port-channel 34 SW3(config-if)#no switchport SW3(config-if)#ip address 34.1.1.3 255.255.255.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 98 Step Three: SW3(config)#interface range e6/0-1 SW3(config-if-range)#no switchport SW3(config-if-range)#channel-group 34 mode on Step Four: SW3(config)#interface range e6/0-1 SW3(config-if-range)#shut SW3(config-if-range)#no shut On SW4: Step One: SW4(config)#default interface range e6/0-1 Step Two: SW4(config)#interface port-channel 43 SW4(config-if)#no switchport SW4(config-if)#ip address 34.1.1.4 255.255.255.0 Step Three: SW4(config)#interface range e6/0-1 SW4(config-if-range)#no switchport SW4(config-if-range)#channel-group 43 mode on Step Four: SW4(config)#interface range e6/0-1 SW4(config-if-range)#shut SW4(config-if-range)#no shut To verify and test the configuration: Following the above configuration, the show etherchannel summary can be used to verify the Layer 3 port-channel. The example output below from SW4 highlights the relevant parts. Notice the RU in parenthesis against the Po43. The R indicates that Po43 is a Layer 3 port-channel and is currently in use as CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 99 indicated with the U. The member physical interfaces once again have P assigned to them indicating that these interfaces are bundled to form the Layer 3 port-channel 43: SW4#sh etherc summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 2 Number of aggregators: 2 Group Port-channel Protocol Ports -------+----------------+-----------+----------------------------42 Po42(SU) PAgP Et5/0(P) Et5/1(P) 43 Po43(RU) Et6/0(P) Et6/1(P) SW4#show ip interface brief | exclude unassigned Interface Port-channel43 IP-Address 34.1.1.4 OK? Method Status YES manual up Protocol up SW4#ping 34.1.1.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 34.1.1.3, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms Task 6 Erase the startup configuration and vlan.dat files before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 100 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 101 Lab 3 An STP Walk Through Spanning-tree Technology Introduction Lab This section is designed to teach basic to advanced concepts of Spanning Tree Protocol-. It utilizes a common topology over which each version of Spanning Tree Protocol is configured with a given set of requirements and restraints. The requirements and restraints are engineered to explain the behaviors of each version of Spanning Tree Protocol, highlighting the important limitations and enhancements of each feature. This lab is entirely focused on Spanning Tree Protocol technologies and assumes basic knowledge of the following: Trunking configuration VLAN configuration and usage Layer 2 link aggregation IP address configuration Basic IP connectivity testing *NOTE*: The solutions provided in this lab are not all inclusive. There may be many ways to solve each task. All alternate solutions are acceptable, provided that they do not violate previous restraints or tasks. 802.1D Per-VLAN Spanning Tree Protocol Initial Lab Setup CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 102 Referencing the 802.1D PVST+, 802.1w and the MST topology diagrams, the following is the initial setup for the demonstration labs. Use this same initial set up when starting each lab. Task 1 Change the hostname on each switch to SW#, where # is the number of the switch (for example, Switch 1 = SW1). SW1 through SW6 are each assigned hostnames with the hostname command as shown below: On SW1: Switch(config)#hostname SW1 On SW2: Switch(config)#hostname SW2 On SW3: Switch(config)#hostname SW3 On SW4: Switch(config)#hostname SW4 On SW5: Switch(config)#hostname SW5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 103 On SW6: Switch(config)#hostname SW6 Task 2 Ensure that only the following ports on the switches are in an up/up state: For each sub task in task 2, the interface range command is first used to list all the interfaces on the switches. The shutdown command is then issued to shutdown these interfaces. Following this, the interface range lists interfaces specified in the task that are brought back up with the no shut command: SW1 E2/1-2 E3/1-2 On SW1: SW1(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW1(config-if-range)#shut SW1(config)#interface range e2/1-2,e3/1-2 SW1(config-if-range)#no shut To verify the configuration: SW1#show ip interface brief | exclude down Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 Ethernet3/2 IP-Address unassigned unassigned unassigned unassigned SW2 OK? Method Status YES unset up YES unset up YES unset up YES unset up Protocol up up up up E1/1-2 E3/1-2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 104 E4/1-2 E5/1-2 On SW2: SW2(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW2(config-if-range)#shut SW2(config)#interface range e1/1-2,e3/1-2,e4/1-2,e5/1-2 SW2(config-if-range)#no shut To verify the configuration: SW2#show ip interface brief | ex down Interface Ethernet1/1 Ethernet1/2 Ethernet3/1 Ethernet3/2 Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned SW3 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up up up E1/1-2 E2/1-2 E4/1-2 E5/1-2 On SW3: SW3(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW3(config-if-range)#shut SW3(config)#interface range e1/1-2,e2/1-2,e4/1-2,e5/1-2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 105 SW3(config-if-range)#no shut To verify the configuration: SW3#show ip interface brief | exclude down Interface Ethernet1/1 Ethernet1/2 Ethernet2/1 Ethernet2/2 Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned SW4 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up up up E2/1-2 E3/1-2 E6/1-2 On SW4: SW4(config)#interface rang e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW4(config-if-range)#shut SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#no shut To verify the configuration: SW4#show ip interface brief | exclude down Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 Ethernet3/2 Ethernet6/1 CCIE by Narbik Kocharians IP-Address unassigned unassigned unassigned unassigned unassigned OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Protocol up up up up up Page 106 Ethernet6/2 unassigned SW5 YES unset up up E2/1-2 E3/1-2 E6/1-2 On SW5: SW5(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW5(config-if-range)#shut SW5(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW5(config-if-range)#no shut To verify the configuration: SW5#show ip interface brief | exclude down Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 Ethernet3/2 Ethernet6/1 Ethernet6/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned SW6 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up E4/1-2 E5/1-2 On SW6: SW6(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 107 SW6(config-if-range)#shut SW6(config)#interface range e4/1-2,e5/1-2 SW6(config-if-range)#no shut To verify the configuration: SW6#show ip interface brief | exclude down Interface Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned OK? Method Status YES unset up YES unset up YES unset up YES unset up Protocol up up up up Task 3 Configure VLANs 10, 20, 30, and 40 on each switch, using any method. This task requires configuring VLANs 10, 20, 30, 40 on the switches. Since the task does not state any restrictions, for ease of configuration, VTP can also be used to propagate the VLANs to all the switches. On All Switches: SW1(config)#vlan 10,20,30,40 SW1(config-vlan)#exit To verify the configuration: On Any Switch: SWx#show vlan brief | include VLAN VLAN Name 10 VLAN0010 20 VLAN0020 30 VLAN0030 40 VLAN0040 CCIE by Narbik Kocharians Status active active active active Ports CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 108 Task 4 Configure trunk ports on all up/up interfaces. The commands switchport trunk encapsulation dot1q and switchport mode trunk is configured on all the interfaces on all the switches that were brought back up in the initial lab setup section of this lab. The combination of these commands manually configures the interfaces to function as 802.1q trunk links. On SW1: SW1(config)#interface range e2/1-2,e3/1-2 SW1(config-if-range)#switchport trunk encapsulation dot1q SW1(config-if-range)#switchport mode trunk On SW2: SW2(config)#interface range e1/1-2,e3/1-2,e4/1-2,e5/1-2 SW2(config-if-range)#switchport trunk encapsulation dot1q SW2(config-if-range)#switchport mode trunk On SW3: SW3(config)#interface range e1/1-2,e2/1-2,e4/1-2,e5/1-2 SW3(config-if-range)#switchport trunk encapsulation dot1q SW3(config-if-range)#switchport mode trunk On SW4: SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#switchport trunk encapsulation dot1q SW4(config-if-range)#switchport mode trunk On SW5: SW5(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW5(config-if-range)#switchport trunk encapsulation dot1q SW5(config-if-range)#switchport mode trunk CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 109 On SW6: SW6(config)#interface range e4/1-2,e5/1-2 SW6(config-if-range)#switchport trunk encapsulation dot1q SW6(config-if-range)#switchport mode trunk CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 110 Configuration Tasks: 802.1D Before getting into the tasks, it helps to review the basic operation of Spanning Tree Protocol and some of the terms that will be used throughout the solution guide. These concepts will be fleshed out more throughout the guide. 802.1D Spanning Tree Protocol is the protocol that is run between switches used to prevent Layer 2 bridging loops. Loops can form in Layer 2 networks because the Layer 2 Ethernet frame format does not contain any maximum hop count limitation, such as the TTL field in the IP header. This omission of maximum hop count means a single Ethernet frame can be forwarded infinitely throughout a switched network. This is particularly dangerous when the frame being forwarded is a broadcast frame. Switches are called transparent bridges because they abstract the physical network design from the end stations connecting to the LAN. In the past, all stations connected to a Layer 2 LAN were physically connected to the same physical electrical bus via a repeater. Only one station could speak on the segment at a time, and all stations were considered directly connected. This setup was called a single collision domain because there was a possibility that two stations would transmit at the same time, and those transmissions could collide. Later, bridges came about that allowed intelligent learning. An ethernet Bridge would be used to combine two Layer 2 network segments into a single Layer 2 network. Bridges learned MAC addresses and only forwarded traffic between the two network segments when necessary. This operation was transparent to the end stations, because as far as the stations could detect, they were directly connected to the remote stations they were communicating with. The ethernet bridge in this way creates two separate collision domains. An ethernet switch is basically a multiport bridge. Instead of learning MAC addresses only on two ports, a switch learns MAC addresses on all ports and forwards traffic based on destination MAC addresses to destination ports. If two ethernet frames are destined to the same port, the switch will buffer one frame while forwarding the other. Because not all traffic forwarded across the LAN segment is repeated to all ports, the switch achieves a single collision domain between each port on the switch and the stations connected to those ports. For the switch to do this, it must first learn which MAC addresses are reachable off its various ports. To do so, the switch reads the source MAC address of all frames it receives and records it associated to the receiving port in a MAC address table, also called a Content Addressable Memory or CAM table. The switch switches traffic between ports by performing a lookup in the CAM table based on the destination MAC address of the ethernet frames. Through this, known unicast traffic can be forwarded only out the port CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 111 where the intended station exists. The problem arises when a switch receives a frame destined to a MAC address it has not learned. The switch cannot drop the frame because that would break the LAN communication. Instead, it floods the frame out all ports in the same VLAN on the switch (including trunk ports that carry those VLANs) except the port on which it initially received the frame. This process, known as unknown unicast flooding, can cause a loop condition in the switched network with broadcast frames. Broadcast frames are frames that are intended to be received by all stations. They are sent to the well-known broadcast destination MAC address FFFF.FFFF.FFFF. When a switch encounters a broadcast frame, it performs unknown-unicast-type flooding for the frame in question. It sends the traffic out all interfaces except the interface on which it was received. The switch does this because the broadcast MAC address FFFF.FFFF.FFFF will never be the source of an ethernet frame. Because it is never the source of an ethernet frame, the switch will never associate the broadcast MAC address with a receiving port in its CAM table, triggering the unknown unicast flooding behavior. If there are redundant links in a multi-switch environment, where the chain of interconnected links leads back to the switch that originally forwarded the broadcast traffic, a broadcast storm occurs. In a broadcast storm, each receiving switch performs the same unknown-unicast-type flooding on the broadcast packet. The broadcast packet is therefore regenerated and looped endlessly throughout the switched network. This leads to high CPU utilization on the switches and can quickly bring down the entire Layer 2 network. Spanning Tree Protocol converts a switched network into a shortest-path tree. This tree is constructed by designating a switch as the root of the tree, called the root bridge. The root bridge is the only bridge in which all of the ports are considered designated ports. A designated port is a port that is responsible for relaying spanning-tree-related messages downstream from the root bridge to other leaf switches. From the root bridge’s perspective, all other switches are downstream from it, and thus it should be designated on all of its ports. All non-root switches elect a single port to become their root port. The root port is the port that the switch uses to reach the root bridge. This port also receives spanningtreerelated messages on the shortest-path tree to be relayed out all other designated ports on the switch. Finally, redundant links in the network are put into a blocking state. So-called blocking ports are ports that receive BPDUs from a designated port that is not on the shortest-path tree. In other words, they are alternate looped paths to the root bridge that are longer than the path used by the root port. Blocking ports do not send BPDUs in traditional CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 112 Spanning Tree Protocol; instead, a blocking port receives a constant flow of BPDUs from the neighboring designated port. Through this system of designated, root, and blocking ports, STP creates a loop-free network. Broadcast frames and frames undergoing unknown unicast flooding travel the shortest path from leaf switch to root switch and are blocked (dropped) on redundant links. Task 1 Configure all switches to run 802.1D Spanning Tree Protocol. Cisco switches run a single instance of spanning tree for every VLAN configured on the switch. This is called Per-VLAN Spanning-Tree protocol (PVST). There are two versions of this: PVST and PVST+. The original PVST variant was for compatibility with ISL trunks. PVST+ is compatible with 802.1Q trunks. The advantage of running PVST+ on a switch is that a separate Spanning-tree can be calculated per VLAN. This allows the administrator to load balance traffic over redundant links by VLAN. Some VLANs can take a different set of paths while others take the unused paths. The switch calculates the blocking/forwarding state for each individual VLAN running over the trunk link, allowing a single trunk port to be blocking for one VLAN, root for another, and designated for yet another. 802.1D PVST+ is enabled on older Cisco switches by default and can be statically configured using the spanning-tree mode pvst command in global configuration mode. The output of the show spanning-tree command indicates which spanning-tree variant the switch is currently using. On All Switches: To change the mode to PVST: SWx(config)#spanning-tree mode pvst To verify the configuration: On SW1: SW1#show spanning-tree | include VLAN|protocol VLAN0001 Spanning tree enabled protocol ieee CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 113 VLAN0010 Spanning tree enabled protocol ieee VLAN0020 Spanning tree enabled protocol ieee VLAN0030 Spanning tree enabled protocol ieee VLAN0040 Spanning tree enabled protocol ieee In the above output, the spanning tree protocol enabled is listed as ieee. This is a reference to 802.1D PVST+ which is run as default on some cisco switching platforms. Task 2 Ensure that SW1 is the root for every VLAN. Switches running Spanning-tree protocol organize themselves into a shortest-path tree that spans the entire switched network. The tree starts, or has its roots, at a central point in the network. This central point is called the root bridge because it is the root of the resulting tree topology. To determine the root bridge, the switches perform a root bridge election. The winner of the election is based on whichever switch has the best Bridge ID. The Bridge ID of a switch is composed of the following parts: 1. 16-bit Priority value (includes 12-bits for VLAN using System ID extension) 2. 48-bit MAC address The Bridge ID is exchanged in STP configuration frames called, Bridge Protocol Data Units or BPDUs, between switches. A switch receiving a BPDU compares it to its own BPDU. The BPDU with the lowest Bridge ID is considered to have originated from the Root Bridge.This comparison is first made by comparing the configured Priority Value (defaults to 32,768 on cisco platforms). If the priority value is a tie, then whichever switch has the lowest MAC address will be elected root. When a switch receives a BPDU from the root, it replaces its own stored BPDU with the Root’s and will relay it the Root’s BPDU out all non-blocking ports towards other switches in the network. Within the STP network, all switches should agree on which switch is the Root Bridge. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 114 The administrator should be careful in choosing which switch becomes the Root Bridge because once the spanning-tree synchronizes across the switched network, all traffic for the network could pass through the Root. For this reason, the Root bridge should be the most capable or centrally-located switch in the network. Due to the nature of the default selection algorithm, in a production network, if all switches are left at default settings the oldest switch in the network (by production date) will become the root bridge. This is due to how vendors create their products. All vendors have a pool of MAC addresses from which they will assign to their products. This assignment is usually done in ascending order (counting up from 0). Thus, newer created products will have higher MAC addresses than older products in general. The administrator can select which switch becomes the root bridge by modifying the Priority Value that makes up the Bridge ID. The chosen Root Bridge should have a priority value lower than all other switches in the network. The priority value is configured using the spanning-tree vlan [vlan-list] priority [priority] command. The priority value specified needs to be in multiples of 4096. The value 4096 is set because of the system extended ID which uses the last 12 bits of the priority value to encode the VLAN number. Encoding the VLAN number allows each VLAN instance of STP to have a unique Bridge ID for Cisco switches running PVST+, which is a requirement of the STP standard. Alternatively, the spanning-tree vlan [vlan-list] root primary command can be used to automatically set the switch’s priority to be lower than the current root by 4096. Keep in mind this command only processes once as a macro. If another switch is configured with a lower priority value, this command does not reset the intended root switch’s value lower. Looking at the task, the administrator is required to set SW1 as the root bridge. For this lab, no extra configuration is needed, since SW1 has already been designated as the root bridge for all VLANs. The decision was made based on SW1’s MAC address (lowest) as all switches have a tied priority value of 32,768. The show spanning-tree vlan 1 example output from SW1 verifies this. SW1 is currently the root for VLAN 1 and will be the root by default for all the VLANs configured for this topology: NOTE: If SW1 is not the root bridge in your topology, use the spanning-tree vlan 1-4094 root primary command to make it the root bridge. On SW1: SW1#show spanning-tree vlan 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 115 VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 32769 Address aabb.cc00.1f00 This bridge is the root Hello Time 2 sec Max Age 20 sec Bridge ID Priority Address Hello Time Aging Time Forward Delay 15 sec 32769 (priority 32768 sys-id-ext 1) aabb.cc00.1f00 2 sec Max Age 20 sec Forward Delay 15 sec 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -----Et2/1 Desg FWD 100 128.10 P2p Et2/2 Desg FWD 100 128.11 P2p Et3/1 Desg FWD 100 128.14 P2p Et3/2 Desg FWD 100 128.15 P2p Task 3 Ensure that all switches wait a total of 10 seconds in the listening and learning states before moving a port to forwarding. Before moving a port from the blocking to a forwarding state, 802.1D transitions between two intermediary states called the listening and learning states. During the listening state, the switch listens and transmits configuration BPDUs, but will not transmit any data traffic and will discard any received data traffic. The duration the switch remains in the listening state is equal to the forward delay time which is 15 seconds by default. After a duration of the forward delay time, the switch moves the port into the learning state. This state is similar to the listening state, except the switch learns MAC addresses from the data traffic received on a port while still not forwarding them out other ports. The duration the switch remains in the learning state is also equal to the forward delay timer, 15 seconds by default, after which the port is transitioned to the forwarding state. These values can be confirmed in the show spanning-tree output as shown in the example output from SW2 below: On SW2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 116 Notice the two sets of timers in the output below. The first forward delay is the delay set by the Root Bridge and is propagated to all the switches. The second forward delay is the delay set by the local switch and is used if the local switch becomes the root bridge. SW2#show spanning-tree | include VLAN|Forward VLAN0001 Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay 15 sec Forward Delay 15 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay 15 sec Forward Delay 15 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay 15 sec Forward Delay 15 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay 15 sec Forward Delay 15 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay 15 sec Forward Delay 15 sec VLAN0010 VLAN0020 VLAN0030 VLAN0040 From this, it can be concluded that by using the default of 15 seconds in each intermediate state, it will take a port a total of 30 seconds to transition from blocking to forwarding. Because the forward delay timer is used twice in the calculation, the total time spent in the listening and learning states by default will be 30 seconds. To reduce the total time the port stays in the listening or learning states, the forward delay timer must be decreased. This reduction should be taken with care. The default timer was set with the goal of providing enough time for all bridges in the STP network to converge. The shorter the forward delay timer, the more likely it would be to form temporary bridging loops if not all bridges have agreed about the STP topology. This task requires ports to spend only 10 seconds in the listening and learning states. To do this the forward delay timer must be modified. All switches in the STP network use the root bridge’s advertised forward delay time as the agreed upon duration for their own forward delay timers. The spanning-tree vlan 1-4094 forward-time command is used on the root bridge SW1 to change the default timer setting. The exact value used requires some thought. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 117 The Forward Delay timer is used twice in the port transition process: to transition from listening to learning and to transition from learning to forwarding. In order to spend a total of 10s in both listening and learning states total, the forward delay timer should be set to 5 seconds. With this change, the port will spend 5 seconds in the listening state and 5 seconds in learning state before forwarding, totaling 10 seconds as the task requires. The spanning-tree vlan 1-4094 forward-time 5 command implements this change on the root bridge SW1: On SW1: SW1(config)#spanning-tree vlan 1-4094 forward-time 5 The show spanning-tree output below verifies the result from the configuration change. Notice now, the forward delay timer now shows 5 seconds for all VLANs: To verify the configuration: SW1#show spanning-tree | include VLAN|Forward VLAN0001 Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay Forward Delay 5 sec 5 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay Forward Delay 5 sec 5 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay Forward Delay 5 sec 5 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay Forward Delay 5 sec 5 sec Hello Time Hello Time 2 sec 2 sec Max Age 20 sec Max Age 20 sec Forward Delay Forward Delay 5 sec 5 sec VLAN0010 VLAN0020 VLAN0030 VLAN0040 All switches in the topology will inherit the new forward delay time set at the root bridge from the relayed BPDUs they receive. As an example, the show spanning-tree root command below confirms SW2 accepts the new forward delay time of 5s advertised by the root bridge SW1: On SW2: SW2#show spanning-tree root CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 118 Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0001 24577 aabb.cc00.1f00 100 2 20 5 VLAN0010 24586 aabb.cc00.1f00 100 2 20 5 VLAN0020 24596 aabb.cc00.1f00 100 2 20 5 VLAN0030 24606 aabb.cc00.1f00 100 2 20 5 VLAN0040 24616 aabb.cc00.1f00 100 2 20 5 Root Port --------Et1/1 Et1/1 Et1/1 Et1/1 Et1/1 Task 4 Ensure that if the current root bridge fails, SW2 becomes the new root bridge for all VLANs. As established previously, spanning-tree elects a root bridge by electing the switch that transmits a BPDU with the lowest Bridge ID to be the root bridge. When the root bridge fails, the switch with the second lowest Bridge ID will become the root bridge. Administrators can influence this decision just as with the original root bridge selection. This can be done by either setting the priority to be higher than the current root but lower than all other switches or using another macro command similar to the spanning-tree vlan [vlan list] root primary command. The spanning-tree vlan [vlan list] root secondary command is a one-time macro that sets the bridge priority on the switch to 28,762. With all other switches set to default, the indicated priority value would be lower than all other switches. To complete the task, execute the spanning-tree vlan 1-4094 root secondary command on SW2 to specify that SW2 acts as the root switch should the current root SW1 fail. However, a key point to note here is that this command causes the switch that is configured to be the secondary root using this command to always set its priority to 28,672 as shown below. This could result in SW2 becoming the root since its priority is now lower than that of SW1’s if SW1’s priority was not set to a much lower value in the second task. On SW2: SW2(config)#spanning-tree vlan 1-4094 root secondary CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 119 To verify the configuration: SW2#show spanning-tree VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 28673 Address aabb.cc00.2000 This bridge is the root ! SW2 becomes the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority Address Hello Time Aging Time 28673 (priority 28672 sys-id-ext 1) aabb.cc00.2000 2 sec Max Age 20 sec Forward Delay 15 sec 15 sec SW2#show spanning-tree | include VLAN|priority VLAN0001 Bridge ID VLAN0010 Bridge ID VLAN0020 Bridge ID VLAN0030 Bridge ID VLAN0040 Bridge ID Priority 28673 (priority 28672 sys-id-ext 1) Priority 28682 (priority 28672 sys-id-ext 10) Priority 28692 (priority 28672 sys-id-ext 20) Priority 28702 (priority 28672 sys-id-ext 30) Priority 28712 (priority 28672 sys-id-ext 40) This can be remedied by using the primary option with the spanning-tree vlan 1-4094 root primary command on SW1 after trying to make SW2 the secondary root. As a result of this, the priority on SW1 is now set to 24576 allowing it to regain its root status: On SW1: SW1(config)#spanning-tree vlan 1-4094 root primary ! Configures SW1 to regain its root bridge status by setting a lower priority for itself To verify the configuration: SW1#show spanning-tree | include VLAN|priority CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 120 VLAN0001 Bridge ID VLAN0010 Bridge ID VLAN0020 Bridge ID VLAN0030 Bridge ID VLAN0040 Bridge ID Priority 24577 (priority 24576 sys-id-ext 1) Priority 24586 (priority 24576 sys-id-ext 10) Priority 24596 (priority 24576 sys-id-ext 20) Priority 24606 (priority 24576 sys-id-ext 30) Priority 24616 (priority 24576 sys-id-ext 40) Task 5 Ensure that SW2’s and SW3’s E1/2 interface is used as the root port for all VLANs. Do not modify cost to achieve this. The show spanning-tree root output on SW2 and SW3 below shows the E1/1 interface on these switches as the root ports: On SW2: SW2#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --- Root Port --------- VLAN0001 VLAN0010 VLAN0020 VLAN0030 VLAN0040 Et1/1 Et1/1 Et1/1 Et1/1 Et1/1 24577 aabb.cc00.1f00 24586 aabb.cc00.1f00 24596 aabb.cc00.1f00 24606 aabb.cc00.1f00 24616 aabb.cc00.1f00 100 100 100 100 100 2 2 2 2 2 20 20 20 20 20 5 5 5 5 5 On SW3: SW3#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly Root Port ---------------- -------------------- --------- ----- --- --- --------VLAN0001 24577 aabb.cc00.1f00 100 2 20 5 Et1/1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 121 VLAN0010 VLAN0020 VLAN0030 VLAN0040 24586 aabb.cc00.1f00 24596 aabb.cc00.1f00 24606 aabb.cc00.1f00 24616 aabb.cc00.1f00 100 100 100 100 2 2 2 2 20 20 20 20 5 5 5 5 Et1/1 Et1/1 Et1/1 Et1/1 A root port on a switch is the one that receives the superior BPDU in comparison to the other ports on the same switch. Root ports always point up the spanning tree towards the root bridge. A switch uses the following algorithm to determine which port should become the root port: 1. 2. 3. 4. Port with the least cost to reach the root (RPC) Port that receives the BPDU with the lowest sender bridge ID (SBID) Port that receives the BPDU with the lowest sender port ID (SPID) Port with the lowest receiver port ID (RPID) Note: In the above, the RPC, SBID and the SPID values are included in a received configuration BPDU whereas the RPID is not included in a configuration BPDU. This means, when a switch receives a configuration BPDU, in order to determine a root port, the first three steps involve evaluating the values in a received configuration BPDU. The RPID, which is the receiver's port ID is evaluated locally to determine a root port should all other criteria tie. All ports on switches have default port costs associated with them. These costs vary depending on the port speed. For example, the default port cost for a 10 Mbps link for 802.1.D is 100. The total path cost to the root on non-root switches is calculated by adding the port cost of an interface to the root path cost (RPC) received in the configuration BPDUs. In the lab topology, SW1 is the root bridge. Since its own cost to reach the root, which is itself, is 0, it sends out configuration BPDUs with a root path cost or the RPC of 0. SW2 and SW3 receive this BPDU on their E1/1-2 interfaces. They accept SW1’s BPDU as the superior BPDU making it the root bridge. They send SW1’s BPDU out all of their other non-blocking ports. Before sending the BPDU out the other ports, SW2 and SW3 add their own cost to reach the root bridge to the total RPC reported in the received BPDU. In this case, SW2 and SW3’s own cost of 100 to reach the root bridge SW1, is added to the cost of 0 advertised by SW1 in its configuration BPDU to these switches. This results in a total cost of 100 (0 + 100). Using SW2 as an example, this BPDU is sent out its E3/1-2, E4/1-2, and E5/1-2 interfaces towards SW3, SW4, and SW5 respectively. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 122 Because SW2 sends the BPDU out its interface towards SW3, SW3 receives two copies of the same BPDU with different RPC values. (SW3 technically can receive a copy of the BPDU from SW4 and SW5, but these BPDUs can be ignored in this explanation because they will be greatly inferior to the one received from SW2 and SW1). SW3 adds its interface cost to the RPC received in the BPDU from SW2, 100 + 100 = 200, and compares it to the BPDU received on all other ports, specifically the one sent from the root SW1 with a cost of 100 (0 RPC advertised from the root plus the interface cost of 100) over its E1/1-2 interfaces. Obviously, SW3 decides that the RPC through its interfaces towards SW1 is the best cost and it is this cost that SW3 advertises in BPDUs towards other switches. At this point SW3 must choose which of those two ports (E1/1 - E1/2) to mark as the root port. The same process occurs on SW2 with respect to the BPDU received from SW3. Similar to SW3, SW2 must choose between its two interfaces towards SW1 to be its root port. The show spanning-tree detail command can be used to verify the cost to the root over different interfaces. As an example, the show spanning-tree vlan 1 interface e1/1 detail and show spanning-tree vlan 1 interface e3/1 detail is issued on SW2 below. The port path cost is the cost assigned to the port on SW2. The designated path cost is the RPC received by the switch from its upstream designated port in configuration BPDUs. The value here can be an indicator of whether or not this switch is directly connected to the root bridge. If the root bridge is the directly connected designated port, the value will be 0. Any other value indicates this switch is connected to a non-root switch. On SW2: SW2#show spanning-tree vlan 1 interface e1/1 detail Port 6 (Ethernet1/1) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.6. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.10, designated path cost 0 Timers: message age 2, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 159, received 4679 SW2#show spanning-tree vlan 1 interface e3/1 detail Port 14 (Ethernet3/1) of VLAN0001 is designated forwarding Port path cost 100, Port priority 128, Port Identifier 128.14. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 123 Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 28673, address aabb.cc00.2000 Designated port id is 128.14, designated path cost 100 Timers: message age 0, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 4888, received 5 In the above it was determined that SW2 and SW3 will choose one of their ports towards SW1 as root. The Spanning-tree specification only allows a single root port to exist on a switch for any given instance of spanning-tree. Thus, SW2 and SW3 need to determine which of the two ports connected to SW1 is receiving the better BPDU. As seen with the show spanning-tree detail output from SW2 and SW3 below, the cost to reach the root over their E1/1 and E1/2 interfaces are both equal to 100 (Cost to the root = Port path cost + Designate path Cost): On SW2: SW2#show spanning-tree vlan 1 interface e1/1 detail Port 6 (Ethernet1/1) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.6. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.10, designated path cost 0 Timers: message age 1, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 159, received 4828 SW2#show spanning-tree vlan 1 interface e1/2 detail Port 7 (Ethernet1/2) of VLAN0001 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.7. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.11, designated path cost 0 Timers: message age 1, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 148, received 4853 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 124 On SW3: SW3#show spanning-tree vlan 1 interface e1/1 detail Port 6 (Ethernet1/1) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.6. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.14, designated path cost 0 Timers: message age 1, forward delay 0, hold 0 Number of transitions to forwarding state: 2 Link type is point-to-point by default BPDU: sent 12, received 5046 SW3#show spanning-tree vlan 1 interface e1/2 detail Port 7 (Ethernet1/2) of VLAN0001 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.7. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.15, designated path cost 0 Timers: message age 1, forward delay 0, hold 0 Number of transitions to forwarding state: 0 Link type is point-to-point by default BPDU: sent 2, received 5062 With the cost values being equal over the E1/1 and E1/2 interfaces, SW2 and SW3 need to move on to the next tiebreaker to determine the root port between these interfaces. The next tie breaker calls to evaluate the senders bridge ID, SBID in the received configuration BPDUs. In this case, the SBID in the BPDUs received on the E1/1 and E1/2 interfaces are identical, meaning SW2 and SW3 will now have to use the third tie breaker to determine the root port. The third tie breaker compares the sender port ID, SPID, in the received configuration BPDUs. All ports on a switch are assigned a port ID. The port ID is made up of two parts: Port priority which is a configurable value, and port index which is the same as the SNMP ifindex value. When all else ties, the receiving switch compares the SPIDs of the remote designated port that is included in the received configuration BPDUs. The port that receives the lowest SPID is designated as the root port. The show spanning-tree detail output can be used to verify the SPID. The output of this command refers to SPID as the Designated port ID. The output below shows these values to be lower on the E1/1 interface on CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 125 SW2 and SW3 when compared to the E1/2 interfaces. With lower values being preferred with STP, the E1/1 interface on SW2 and SW3 finally get elected as the root port: On SW2: SW2#show spanning-tree vlan 1 interface e1/1 detail Port 6 (Ethernet1/1) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.6. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.10, designated path cost 0 Timers: message age 1, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 159, received 5177 SW2#show spanning-tree vlan 1 interface e1/2 detail Port 7 (Ethernet1/2) of VLAN0001 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.7. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.11, designated path cost 0 Timers: message age 2, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 148, received 5187 As we can see above, the Port ID over the E1/1 interface is 128.10 which is lower than the port ID of 128.11 over the E1/2 interface. On SW3: SW3#show spanning-tree vlan 1 interface e1/1 detail Port 6 (Ethernet1/1) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.6. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.14, designated path cost 0 Timers: message age 2, forward delay 0, hold 0 Number of transitions to forwarding state: 2 Link type is point-to-point by default CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 126 BPDU: sent 12, received 5437 SW3#show spanning-tree vlan 1 interface e1/2 detail Port 7 (Ethernet1/2) of VLAN0001 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.7. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.15, designated path cost 0 Timers: message age 1, forward delay 0, hold 0 Number of transitions to forwarding state: 0 Link type is point-to-point by default BPDU: sent 2, received 5460 Port ID over the E1/1 interface is 128.14 which is lower than the port ID of 128.15 over the E1/2 interface. The task requires SW2 and SW3 to use their E1/2 ports as root ports. One of the ways to achieve this is to modify the cost values so as to make the path cost via E1/2 lower than that over E1/1. The task however restricts modifying the cost. The next option would be to modify the configurable part of the SPID on the root bridge SW1 so that the SPID in the BPDU received over the E1/2 interfaces on SW2 and SW3 is lower. This is done with the spanning-tree vlan 1-4094 port-priority 64 command on the E2/2 and E3/2 interfaces on SW1. As a result, SW2 and SW3 now designate their E1/2 interfaces as the root port and the E1/1 interfaces as alternate blocking: Note: The spanning-tree port-priority value can be changed in increments of 16 On SW1: SW1(config)#interface e2/2 SW1(config-if)#spanning-tree vlan 1-4094 port-priority 64 SW1(config)#interface e3/2 SW1(config-if)#spanning-tree vlan 1-4094 port-priority 64 On SW1: SW1(config)#interface e2/2 SW1(config-if)#spanning-tree vlan 1-4094 port-priority 64 SW1(config)#interface e3/2 SW1(config-if)#spanning-tree vlan 1-4094 port-priority 64 On SW2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 127 After the above configurations on SW1, the port ID over the E1/2 interface is 64.11 which is lower than the port ID of 128.10 over the E1/1 interface on SW2 SW2#show spanning-tree vlan 1 interface e1/1 detail Port 6 (Ethernet1/1) of VLAN0001 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.6. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.10, designated path cost 0 Timers: message age 2, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 159, received 5484 SW2#show spanning-tree vlan 1 interface e1/2 detail Port 7 (Ethernet1/2) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.7. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 64.11, designated path cost 0 Timers: message age 2, forward delay 0, hold 0 Number of transitions to forwarding state: 2 Link type is point-to-point by default BPDU: sent 150, received 5557 On SW3: After the above configurations on SW1, the port ID over the E1/2 interface is 64.15 which is lower than the port ID of 128.14 over the E1/1 interface SW3#show spanning-tree vlan 1 interface e1/1 detail Port 6 (Ethernet1/1) of VLAN0001 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.6. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 128.14, designated path cost 0 Timers: message age 1, forward delay 0, hold 0 Number of transitions to forwarding state: 2 Link type is point-to-point by default BPDU: sent 12, received 5755 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 128 SW3#show spanning-tree vlan 1 interface e1/2 detail Port 7 (Ethernet1/2) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.7. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 24577, address aabb.cc00.1f00 Designated port id is 64.15, designated path cost 0 Timers: message age 2, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 4, received 5779 Task 6 Ensure that SW5 uses its E3/1 port as the root port for VLANs 10 and 30. Do not modify SW2 to achieve this. As the topology stands now, SW5 designates its E2/1 interface as the root port for VLAN 10 and 30 towards the root switch SW1. The E3/1 interface is in a blocking state: On SW5: SW5#show spanning-tree vlan 10 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et2/1 Root FWD 100 128.10 P2p Et2/2 Altn BLK 100 128.11 P2p Et3/1 Altn BLK 100 128.14 P2p Et3/2 Altn BLK 100 128.15 P2p Et6/1 Desg FWD 100 128.26 P2p Et6/2 Desg FWD 100 128.27 P2p SW5#show spanning-tree vlan 30 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et2/1 Root FWD 100 128.10 P2p Et2/2 Altn BLK 100 128.11 P2p Et3/1 Altn BLK 100 128.14 P2p CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 129 Et3/2 Et6/1 Et6/2 Altn BLK 100 Desg FWD 100 Desg FWD 100 128.15 128.26 128.27 P2p P2p P2p Using certain show commands helps understand why SW5 chooses E2/1 as its root port. First, using the show spanning-tree vlan 10,30 interface e2/1 and show spanning-tree vlan 10,20 interface e3/1 outputs, the cost to reach the root SW1 over these interfaces can be determined. The cumulative root cost is calculated by adding the port path cost of the interface and the designated path cost over that interface. Recall, the port path cost is the cost assigned to the interface whereas the designated path cost is the RPC received by the switch from its upstream designated port in configuration BPDUs. NOTE: SW5 may also receive BPDUs relayed from SW6, but this BPDU will be inferior to all other BPDUs and as such is ignored in this explanation. On SW5: SW5#show spanning-tree vlan 10,30 interface e2/1 detail Port 10 (Ethernet2/1) of VLAN0010 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.10. Designated root has priority 24586, address aabb.cc00.1f00 Designated bridge has priority 28682, address aabb.cc00.2000 Designated port id is 128.22, designated path cost 100 Timers: message age 3, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 5, received 5747 Port 10 (Ethernet2/1) of VLAN0030 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.10. Designated root has priority 24606, address aabb.cc00.1f00 Designated bridge has priority 28702, address aabb.cc00.2000 Designated port id is 128.22, designated path cost 100 Timers: message age 3, forward delay 0, hold 0 Number of transitions to forwarding state: 1 Link type is point-to-point by default BPDU: sent 3, received 4988 SW5#show spanning-tree vlan 10,30 interface e3/1 detail Port 14 (Ethernet3/1) of VLAN0010 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.14. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 130 Designated root has priority 24586, address aabb.cc00.1f00 Designated bridge has priority 32778, address aabb.cc00.2100 Designated port id is 128.22, designated path cost 100 Timers: message age 5, forward delay 0, hold 0 Number of transitions to forwarding state: 0 Link type is point-to-point by default BPDU: sent 2, received 6043 Port 14 (Ethernet3/1) of VLAN0030 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.14. Designated root has priority 24606, address aabb.cc00.1f00 Designated bridge has priority 32798, address aabb.cc00.2100 Designated port id is 128.22, designated path cost 100 Timers: message age 9, forward delay 0, hold 0 Number of transitions to forwarding state: 0 Link type is point-to-point by default BPDU: sent 3, received 4847 Using this method of calculation, the RPC for VLANs 10 and 30 is 200 over the e2/1 and e3/1 interfaces on SW5. With these cost values equal, SW5 uses the next tiebreaker to determine the root port, comparing the sending switchs’ Bridge ID (SBIDs) in the received configuration BPDUs. SW5 receives configuration BPDUs from SW2 and SW3. The BPDUs contain the SBID, which consists of the priority and the MAC address, along with the Bridge ID of the current root bridge. Once again, because the path costs tie between the two received BPDUs, SW5 will choose the port receiving the BPDU with the lowest SBID. In the above output, SW5 receives a BPDU on its E2/1 interface on VLAN 10 and 30 with the SBID priority as 28682 from SW2. On its E3/1 interface, SW5 receives a BPDU with a SBID priority as 32798 from SW3. These values are listed in the “Designated bridge has priority” section in the output. Because SW2’s BPDU has a lower priority than SW3’s, SW5 places its E3/1 interface in blocking mode for both VLANs in question. NOTE: The ultimate determination for root port in this case is going to be the SPID. SW5 will choose the BPDU received on its E2/1 interface over its E2/2 interface because SW2’s SPID over E2/1 is lower than E2/2. The main focus on this task, however, is pointing out how the Bridge ID affects the decision-making between the BPDU received from SW2 and the BPDU received from SW3. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 131 The task requires that SW5 designates its E3/1 interface as the root port for VLAN 10 and VLAN 30. One way to do this would be to adjust SW3’s bridge priority to be lower than SW2. Doing so, however, would violate the 4th task specifying that SW2 should be the secondary root should SW1 fail. In such a scenario, SW3 with the lower bridge priority would be elected root bridge instead of SW2. The easiest way to accomplish the task is to modify the costs such that the cost to reach the root over the E3/1 interface is lower than that over the E2/1 interface for VLANs 10 and 30. The following configuration shows the port cost is set to 50 (default 100) on the E3/1 interface on SW5 with the spanning-tree vlan 10,30 cost 50 command. On doing so, SW5 transitions the E3/1 interface to root and E2/1 to blocking as evidenced by the debug spanning-tree events below. On SW5: Before changing the configuration: SW5#debug spanning-tree events Spanning Tree event debugging is on SW5(config)#interface e3/1 SW5(config-if)#spanning-tree vlan 10,30 cost 50 STP: VLAN0010 new root port Et3/1, cost 150 STP: VLAN0010 Et3/1 -> listening STP: VLAN0010 sent Topology Change Notice on Et3/1 STP[10]: Generating TC trap for port Ethernet2/1 STP: VLAN0010 Et2/1 -> blocking STP: VLAN0030 new root port Et3/1, cost 150 STP: VLAN0030 Et3/1 -> listening STP: VLAN0030 sent Topology Change Notice on Et3/1 STP[30]: Generating TC trap for port Ethernet2/1 STP: VLAN0030 Et2/1 -> blocking SW5#show spanning-tree vlan 10,30 blockedports Name Blocked Interfaces List -------------------- -----------------------------------VLAN0010 Et2/1, Et2/2, Et3/2 VLAN0030 Et2/1, Et2/2, Et3/2 Number of blocked ports (segments) in vlan 10,30: 6 SW5#show spanning-tree vlan 10,30 root CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 132 Root Hello Max Fwd Vlan Root ID Cost Time Age Dly Root Port ---------------- -------------------- --------- ----- --- --- -----------VLAN0010 24586 aabb.cc00.1f00 150 2 20 15 Et3/1 VLAN0030 24606 aabb.cc00.1f00 150 2 20 15 Et3/1 ! E3/1 now designated as the root port SW5#u all All possible debugging has been turned off Task 7 Ensure that SW4 uses its E3/1 port as root port for VLANs 20 and 40. Do not modify SW3 to achieve this. The show spanning-tree vlan 20,40 output below shows the current root port for VLAN 20 and 40 on SW4 is its E2/1 interface: On SW4: SW4#show spanning-tree vlan 20 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et2/1 Root FWD 100 128.10 P2p Et2/2 Altn BLK 100 128.11 P2p Et3/1 Altn BLK 100 128.14 P2p Et3/2 Altn BLK 100 128.15 P2p Et6/1 Desg FWD 100 128.26 P2p Et6/2 Desg FWD 100 128.27 P2p SW4#show spanning-tree vlan 40 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et2/1 Root FWD 100 128.10 P2p Et2/2 Altn BLK 100 128.11 P2p Et3/1 Altn BLK 100 128.14 P2p Et3/2 Altn BLK 100 128.15 P2p Et6/1 Desg FWD 100 128.26 P2p Et6/2 Desg FWD 100 128.27 P2p CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 133 The following determines SW4’s current root port selection. SW4 receives configuration BPDUs relayed from SW2, SW3 and SW6. Among all the BPDUs received, the BPDUs from SW6 will be the most inferior one due to higher cost to reach the root through SW6. The configuration BPDUs SW4 receives from SW2 and SW3 both result in an equal cost of 200 to the root SW1. With the cost tied, SW4 then uses the next tie breaker of comparing the SBID to determine which BPDU is the most superior. Since the SBID of SW2 is lower than the SBID of SW3, SW4 has to now consider which of the direct ports connected to SW2 it can designate as the root port. At this point, SW4 uses the next tie breaker of comparing the SPID and designates its E2/1 interface as the root port due to a lower SPID of SW2’s E4/1 interface. The task requires ensuring that SW4’s E3/1 interface is designated as the root port. One of the ways this can be achieved is to lower the BID of SW3, however the task restricts any changes from being made on SW3 and similar to the previous task, doing so would violate the 4th task in the lab. So once again, the easiest way to complete this task is by modifying the cost values such that the cost to reach the root through SW4 over its E3/1 interface is lower than the cost to reach the root over its E2/1 interface. So, to solve this task the interface level command spanning-tree vlan 20,40 cost 50 is configured on SW4’s E3/1 interface: On SW4: SW4(config)#interface e3/1 SW4(config-if)#spanning-tree vlan 20,40 cost 50 With the debug spanning-tree events turned on below, SW4 transitions the previously blocked E3/1 interface to a forwarding state for vlans 20 and 40. Notice the time taken from SW4 to transition the port into a forwarding state from the blocking state is 10 seconds. This is a result of setting the forward delay time to 5 seconds in task 3 of this section. The switch spends 5 seconds in the listening state, 5 seconds in the learning state and then transitions to the forwarding state. Note : The default settings would cause the switch to spend 15 seconds in each transitory state, resulting in the switch taking 30 seconds to move from the blocking state to the forwarding state. The show spanning-tree vlan 20 root and show spanning-tree vlan 40 root output further verifies E3/1 as the new root port for VLAN 20 and 40: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 134 On SW4: Port transitions from listening to forwarding in 10 seconds for VLAN 20 *Apr 13 11:28:14.376: STP: VLAN0020 new root port Et3/1, cost 150 *Apr 13 11:28:14.376: STP: VLAN0020 Et3/1 -> listening *Apr 13 11:28:19.381: STP: VLAN0020 Et3/1 -> learning *Apr 13 11:28:24.386: STP: VLAN0020 Et3/1 -> forwarding For VLAN 40 *Apr 13 11:28:14.376: STP: VLAN0040 new root port Et3/1, cost 150 *Apr 13 11:28:14.376: STP: VLAN0040 Et3/1 -> listening *Apr 13 11:28:19.381: STP: VLAN0040 Et3/1 -> learning *Apr 13 11:28:24.386: STP: VLAN0040 Et3/1 -> forwarding SW4#show spanning-tree vlan 20 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et2/1 Altn BLK 100 128.10 P2p Et2/2 Altn BLK 100 128.11 P2p Et3/1 Root FWD 50 128.14 P2p Et3/2 Altn BLK 100 128.15 P2p Et6/1 Desg FWD 100 128.26 P2p Et6/2 Desg FWD 100 128.27 P2p SW4#show spanning-tree vlan 40 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et2/1 Altn BLK 100 128.10 P2p Et2/2 Altn BLK 100 128.11 P2p Et3/1 Root FWD 50 128.14 P2p Et3/2 Altn BLK 100 128.15 P2p Et6/1 Desg FWD 100 128.26 P2p Et6/2 Desg FWD 100 128.27 P2p SW4#show spanning-tree vlan 20 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0020 24596 aabb.cc00.1f00 150 2 20 5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Root Port --------Et3/1 Page 135 SW4#show spanning-tree vlan 40 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0040 24616 aabb.cc00.1f00 150 2 20 5 Root Port --------Et3/1 This example showed how it can take a port up to 30s to transition from blocking to forwarding with default timer settings. In the lab, this time period is reduced to 10s through forward delay timer modifications. It should still be noted that, even at 10s, 802.1D is not a fast converging protocol, 10 seconds is a significant amount of time before restoring functionality and is the main drawback to timerbased convergence algorithms such as the one employed by traditional 802.1D Spanning-tree protocol. Later on, in the lab, this deficiency is examined again when transitioning to 802.1w Rapid Spanning-tree protocol, which utilizes a more event-based convergence system. Task 8 Ensure that interfaces connected to non-switch hosts come online immediately. Spanning-tree protocol, as mentioned early on, was invented to deal with the possibility of loops in the switched network when multiple switches were connected by redundant links. To do so, spanning-tree blocks redundant links based on a predetermined algorithm. This algorithm not only governs how switches determine which redundant links to block but also what to do with links that are allowed to forward. In 802.1D spanning-tree, ports that are deemed suitable for forwarding (ports that will not cause a loop), transition from blocking → listening → learning → forwarding states. As stated in a task above, the port will spend Forward Delay seconds in both the listening and learning states. The reasoning behind this progression is that before a port moves to forwarding, it must be determined that doing so would not cause a loop. In the blocking state all traffic is discarded and only BPDUs are accepted (but not sent). The port then transitions to the listening state where it is evaluating BPDUs that could possibly be received from another CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 136 switch. Next, the switch enters the learning phase where it learns MAC addresses from received data traffic (still not forwarding the traffic) on the port. Finally, the port enters the forwarding state and normal operation can begin. These mechanisms work well for links connected between switches mainly because other switches are the devices that can form the loops. The mechanisms are in place to allow time for BPDUs to progress throughout the network and for all of the switches to synchronize the spanning-tree topology. The mechanisms do not work well for the end hosts that are connected to the switches, nor are they necessarily needed. A switch will have two kinds of links, one to another switch and one to an end host. For the sake of this explanation, an end host can be a router, PC, firewall, wireless access point, server, or any other device that does not extend the Layer 2 broadcast domain between multiple switches. End hosts are the final destinations for all inter-switch data traffic. Because end hosts do not extend the broadcast domain and they are the destination for all inter-switch data traffic (they do not transit Layer 2 traffic), there is a low probability that such ports will cause a loop in the forwarding state. This low probability means the switch does not need to transition such ports from blocking to listening because end hosts typically do not send BPDUs. It does not need to spend time in the learning state either because the port will only learn the MAC address of the directly-connected end host. Logically, it is feasible to transition such ports directly to forwarding instead of progressing through the blocking → listening → learning → forwarding states. In actuality, if the host has to wait the default 30 seconds before being allowed to forward traffic on the LAN, it can delay or even break certain pre-boot tasks performed by the NICs of most end-hosts. The most notable task being DHCP. DHCP is the protocol used by a host to acquire an IP address it can use on the LAN for communication. If the switch port does not move from blocking to forwarding in enough time for the host to receive a DHCP reply, some hosts will cease trying to obtain an IP address. So, for such cases, a Cisco-proprietary STP optimization feature called portfast can be enabled on these ports and this is what this task hints towards configuring. The portfast feature on SW4, SW5 and SW6 will allow them to bypass the listening and learning states and transition their access ports immediately to a CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 137 forwarding state. This would result in providing immediate network connectivity to end devices for external services such as DHCP. Without the portfast feature, end devices would have to wait for up to 30 seconds, the time taken for the access port to transition to the forwarding state from the blocking state. The port fast feature can be enabled directly on an interface with the spanning-tree portfast edge command or globally with the spanning-tree portfast edge default command. The difference between these commands is that the interface-level command should be executed on all access ports by the administrator. The global way of enabling the port fast feature automatically activates the port fast feature on all access ports. Portfast can also be enabled on trunk links connected to end hosts such as wireless autonomous or hybrid APs, datacenter hypervisors, or any other device that needs to receive traffic from multiple VLANs using the spanning-tree portfast edge trunk command on the trunk port. Care should be taken to ensure another switch is never mistakenly connected to the trunk port with portfast as temporary bridging loops can occur. Configuring host ports as portfast interfaces also carries another benefit. Once portfast is enabled, the interface will not generate topology change notifications whenever the interface goes down. This is important because host ports may shutdown repeatedly during the day as hosts come online and go offline. Without portfast, each event would cause a topology change in the network, forcing all switches to age out their MAC address tables prematurely, flooding unknown unicast traffic until MAC addresses are relearned. Secondly, portfast-enabled interfaces do not age their MAC address entries in the CAM table during a topology change event. The reasoning is since these ports connect to end hosts, those MAC addresses will always be learned on the port. There is no need to flush the table only to relearn the exact same information. Since the lab topology does not explicitly ask to configure any access port, this task is solved by enabling the portfast feature globally using the spanning-tree portfast edge default command on SW4, SW5 and SW6. The show spanning-tree summary output can be used to verify the status of the feature as seen below: On SW4, SW5, and SW6: SW4(config)#spanning-tree portfast edge default %Warning: this command enables portfast by default on all interfaces. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 138 You should now disable portfast explicitly on switched ports leading to hubs, switches and bridges as they may create temporary bridging loops. To verify the configuration: SWx#show spanning-tree summ | include Port Portfast Default Portfast Edge BPDU Guard Default Portfast Edge BPDU Filter Default is edge is disabled is disabled a. If SW4 or SW5 detects a switch on these ports when they first come online, they should process the BPDUs normally. Otherwise, it should not process received BPDUs. Ports configured with the portfast feature are supposed to be connected to end hosts. This is because it is safe for interfaces connected to end hosts to immediately come online rather than waiting through the listening and learning states. There are times, however, where portfast-enabled interfaces are connected to another switch either by accident or on purpose. In such an event, the switch port will move directly into forwarding state without transitioning properly to ensure there are no loops in the switched network. This means temporary Layer 2 loops could exist in the network. In this case, it is desirable for the interface to participate in STP if the portfast-enabled interface is connected to another switch. The global BPDU Filter feature was created just for this purpose. The BPDU filter itself effectively disables spanning-tree operation on a switch port. No BPDUs will be sent or processed on a BPDU-filter-enabled port. BPDU filter is enabled on a per-port basis by using the spanning-tree bpdufilter enable command in interface configuration mode. Enabled globally using the spanning-tree portfast edge bpdufilter default command in global configuration mode, however, BPDU filter changes its operation in the following ways: 1. It is only enabled on portfast-enabled interfaces 2. It first waits a period of time before activating on the interface a. If a BPDU is received on the portfast-enabled interface during the waiting period, the BPDU filter is disabled and the port continues to process BPDUs. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 139 b. If a BPDU is not received on the portfast-enabled interface during the waiting period, the port is allowed to transition directly to forwarding state. BPDUs will cease to be sent out of the port unless one is received. When enabled globally, BPDU filter only operates on portfast-enabled interfaces. Once a portfast-enabled interface first comes online, BPDU filter allows the port to continue sending and receiving BPDUs for 10 hello intervals. The result is the switch will send 11 hello packets in total, one initially and then one for each hello interval BPDU filter waits before activating. If no BPDUs are received, the port is allowed to jump directly to the forwarding state. The switch port also ceases to send any new BPDUs out of the BPDU-filter-enabled port unless a BPDU is first received. If a BPDU is received during the initial 11 BPDU timespan, the BPDU filter and portfast is disabled. The port evaluates the BPDUs and transitions to the listening and learning states before moving to forwarding based on the exchange of BPDUs like normal. This operation works because a properly functioning spanning-tree-enabled switch will always send out BPDUs when its port first comes online. To solve subtask A, the BPDU filter feature should be enabled globally using the spanning-tree portfast edge bpdufilter default command on SW4 and SW5. Once enabled, BPDU filter operation will take place as described above. BPDU filter default configuration can be verified using the show spanning-tree summary command as shown below: On SW4 and SW5: SWx(config)#spanning-tree portfast edge bpdufilter default SW4#show spanning-tree summary | include Port Portfast Default Portfast Edge BPDU Guard Default Portfast Edge BPDU Filter Default is edge is disabled is enabled SW5#show spanning-tree summary | include Port Portfast Default Portfast Edge BPDU Guard Default Portfast Edge BPDU Filter Default CCIE by Narbik Kocharians is edge is disabled is enabled CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 140 b. If SW6 detects a switch on one of these ports, it should disable the port. The issue with configuring portfast alone on a switch is that the portfast-enabled interface comes online immediately. These ports are supposed to lead to end hosts and not other switches in the network. The ports will, however, still process received BPDUs. Such behavior can allow rogue switches or malicious users to hijack the spanning-tree topology by crafting spoofed BPDUs claiming their device is the root bridge. The BPDU filter feature helps mitigate it by telling the port to ignore all BPDUs and not to send out its own BPDUs if a BPDU is received on an interface. This comes at an inherent risk. If the intended portfast interface receives a BPDU, that means there is another spanning-tree-enabled device connected to the port. This could be either another switch, a malicious user, or a host with two NICs connected to separate wall jacks that is either intentionally or unintentionally bridging traffic between the two ports. In either case, there is a problem with the network since that particular port has been designated as a port towards an end host that should not cause loops in the network. If this point is not true, a loop can be formed in the network. Cisco has another feature designed to take a more aggressive approach to solving this problem. That feature is known as BPDU guard. When BPDU guard is enabled on a port, if the configured port receives any BPDUs, that port is shut down and placed into an err-disabled state. This state does not clear unless the port is shut down and brought back up again. Taking this approach protects the network from issues and also can serve as an alert of a misconfiguration in the network. BPDU guard is enabled using the interface-level command spanning-tree bpduguard enable. Like the BPDU filter, BPDU guard can also be enabled globally on the switch port. Once enabled globally using the spanning-tree portfast edge bpduguard default command, BPDU guard only takes effect on portfast-enabled interfaces. If a BPDU is received on any portfast enabled interface, that port is put in err-disabled state and is immediately shut down. It is worth mentioning the interaction between BPDU guard and BPDU filter when both are enabled on an interface. If port-level BPDU guard and BPDU filter are configured on an interface, BPDU filter will take precedence over BPDU guard. The interface will not process received BPDUs, thus BPDU guard will not shut down the interface. The BPDU guard configuration is effectively rendered unnecessary. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 141 If both features are enabled globally, however, the two features mesh very well. BPDU filter will prevent the port from sending BPDUs on the interface, however if a BPDU is received, BPDU guard will shut it down. This configuration is good for interfaces that should lead to end hosts where it is not desirable to send out BPDUs but if one is received the port should be deactivated for investigation. This task requires that when a portfast enabled port on SW6 receives a BPDU, the port should be disabled instead of functioning as a non edge port. BPDU guard will be enabled globally on SW6 to meet this requirement with the spanning-tree portfast edge bpduguard default command shown below: On SW6: SW6(config)#spanning-tree portfast edge bpduguard default SW6#show spanning-tree summary | include Port Portfast Default Portfast Edge BPDU Guard Default Portfast Edge BPDU Filter Default is edge is enabled is disabled *NOTE*: The show interface status err-disabled command can be used to display any interface that has an err-disabled state. Task 9 Ensure that SW6 is able to fully utilize redundant links between neighboring switches. Use a Cisco-specific approach to solve this. This task aims to configure the mentioned switches such that multiple redundant links between them can be utilized. This is a hint towards using EtherChannel bundling. In an etherchannel, the switch takes multiple links and bundles them into one logical link. The logical link is called the port channel interface. Once bundled, the switch will send traffic outbound across the individually bundled links based on a loadbalancing method. When configuring etherchannels it is important that both devices on either side of the link agree that the links should be bundled. The reason is each device may send frames from the same ethernet source MAC address across different links. If the far-end switch has not properly bundled the link, it may cause MAC CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 142 address flapping on the far-end switch. Additionally, loops could form because STP BPDUs are only sent out of one link in the bundle to the far-end switch. This means the far-end switch would only receive a BPDU on one of its ports, making it assume the rest of the bundled ports are not connected to a neighboring bridge. This assumption causes the far-end switch to set all of those same ports into designated state. In this case, traffic can be looped from the local switch (configured with an etherchannel bundle) and the far-end switch (not configured with an etherchannel bundle). To help keep EtherChannel configurations consistent, two main protocols exist, standards-based LACP and cisco-proprietary PAgP. If the EtherChannel is configured to run one of these protocols, messages are exchanged between the switches that ensure consistent configuration and prevent the scenario above. If misconfiguration is detected, the links will not be bundled and are kept as independent links. Port channels will be created between SW4 - SW6 and SW5 - SW6 using PAgP since the task specifically asks to use a Cisco specific approach. PAgP can be enabled on the links using the channel-group {number} mode { desirable | auto } command. If enabled with the desirable option, the switch will send PAgP frames to the far-end switch in an attempt to bring up the etherchannel. If enabled with the auto option, the switch will wait to receive PAgP frames from the far-end switch before forming the bundle. After entering the configuration commands, the switch creates a logical Port-Channel interface. The portchannel interface will replicate all future configurations applied to it to the member interfaces. When configuring etherchannels it is best to follow the following procedures: Step 1: Use the default interface command for all the interfaces that are to be bundled up into the same port channel. The default interface command resets the interface back to their default values. Additionally, for ease of configuration, the default interface range command can be used to reset multiple interfaces to their default state. Step 2: Configure the EtherChannel by issuing the channel-group channel-number mode command to the physical interfaces. This will result in automatic port-channel interface creation. The channel-number value does not have to match on both sides. Step 3: Configure the trunk related parameters directly on the port-channel interface configuration mode Step 4: Reset the ports in the group by first issuing the shutdown command followed by the no shutdown command. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 143 Because the trunking ports have already been configured in earlier in the lab, only step 2 from the above is configured in the output below: On SW6: SW6(config)#interface range e4/1-2 SW6(config-if-range)#channel-group 4 mode desirable SW6(config)#interface range e5/1-2 SW6(config-if-range)#channel-group 5 mode desirable On SW4: SW4(config)#interface range e6/1-2 SW4(config-if-range)#channel-group 4 mode desirable On SW5: SW5(config)#interface range e6/1-2 SW5(config-if-range)#channel-group 5 mode desirable The show EtherChannel summary output on the switches can be used to confirm the status of the port channel with the SU indicating a in use Layer 2 bundle: On SW6: SW6#show etherchannel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 144 Number of aggregators: 2 Group Port-channel Protocol Ports ------+-------------+-----------+-------------------4 Po4(SU) PAgP Et4/1(P) Et4/2(P) 5 Po5(SU) PAgP Et5/1(P) Et5/2(P) SW4#show etherchannel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+-------------------4 Po4(SU) PAgP Et6/1(P) Et6/2(P) On SW5: SW5#show etherchannel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 145 w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+-------------------------------------5 Po5(SU) PAgP Et6/1(P) Et6/2(P) Task 10 Ensure that SW6’s interface toward SW5 is used as the root port for all VLANs. If the link between SW5 and SW6 goes down, SW6 should immediately switch to using its link toward SW4. After creating the port channel interfaces in the above task, the show spanning-tree root port command output is shown below. As seen, port channel 4 connected to SW4 is designated as the root port by SW6 for VLANs 1, 20 and 40. Port channel 5 is designated as the root port for all other VLANs: On SW6: SW6#show spanning-tree root port VLAN0001 VLAN0010 VLAN0020 VLAN0030 VLAN0040 Port-channel4 Port-channel5 Port-channel4 Port-channel5 Port-channel4 SW6 designates its port-channel 4 interface as the root port because of a lower root path cost over this interface. This can be calculated by observing the show spanning-tree detail output. This task requires the EtherChannel link to SW5 to be designated as the root port. This can be achieved by ensuring that the cost to reach the root over the port-channel 5 is lower than that cost to reach the root over the port-channel 4 with the spanning-tree vlan 1-4094 cost 5 command on SW6: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 146 On SW6: SW6(config)#interface port-channel5 SW6(config-if)#spanning-tree vlan 1-4094 cost 5 SW6#show spanning-tree root port VLAN0001 VLAN0010 VLAN0020 VLAN0030 VLAN0040 Port-channel5 Port-channel5 Port-channel5 Port-channel5 Port-channel5 The show spanning-tree root port command verifies the same as seen above. Port channel 5 is now the root port for all VLANs as the task desires. The task then hints towards configuring the uplinkfast feature on SW6. In the event of a link failure on the root port, the switch must transition one of its blocking ports to be the new root port through the Listening and Learning states before it can become fully operational and move to forwarding. This process can take up to 30 seconds (with default timers). If the switch is guaranteed to be a leaf node switch, meaning no other switch uses it to transit to the root, there is little reason to move the new root port through the listening and learning states. The switch can bring its alternate connection to the root bridge up immediately. Uplinkfast is a feature that can speed up this process by making note of all blocking ports on the switch that can be used as alternatives to the root bridge. This means the blocking ports are the redundant uplink ports leading to the root bridge. It calculates the best of these ports and uses it as a spare in case the current root port fails. When the root port fails, uplinkfast can immediately bring the new root port up without transitioning it from the blocking to the listening and then the learning states that takes 30 seconds. Uplinkfast is enabled globally for the entire switch with the spanning-tree uplinkfast command. After doing so, the switch will automatically set its priority and port cost values artificially high in an attempt to discourage any other switch in the network from using it as a transit switch. The show spanning-tree summary | include Uplink command can be used to verify the uplink status: On SW6: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 147 SW6(config)#spanning-tree uplinkfast SW6#show spanning-tree summary | include Uplink UplinkFast is enabled Task 11 Ensure that SW3’s interfaces is designated on the SW2/SW3 link for all VLANs. As we’ve seen so far, after electing the root bridge, each non-root switch must determine its root port, the port that leads directly to the root bridge. This is done by comparing the path costs for all links in the STP network leading to the root. The Root bridge originates BPDUs with a cost of 0 out of all of its ports and this cascades down to the non-root switches. They receive this BPDU and relay it to other switches, adding their own cost to the root to the BPDU. The switch gathers all received BPDUs on all ports and selects the port receiving the lowest cost as Root Port. After electing the root bridge and root ports, the remaining switches need to determine on which nonroot ports they should act as the Designated Bridge. The designated bridge in spanning-tree is the switch that is designated to relay BPDUs received from the root, downstream towards leaf node switches. They also are responsible for forwarding data traffic upstream towards the root and downstream from the root to leaf node switches. These ports are called Designated Ports. NOTE: In a normal 802.1D STP implementation, only Designated Ports forward BPDUs. The Designated Bridge is elected using the following criteria: 1. Lowest Root Path Cost to the Root Bridge 2. Lowest Sender Bridge ID 3. Lowest Sender Port ID Observing just the show spanning-tree vlan 1 output on SW2 and SW3 as an example, the current designated ports on the link between SW2 - SW3 is SW2’s E3/1 - 2 interfaces. The E2/1 - 2 interfaces on CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 148 SW3 are in a blocking state. This simply means, SW2 is the designated bridge on the SW2 - SW3 segment for VLAN 1 and for all other VLANs. Both SW2 and SW3 have a cost of 100 to reach the root bridge SW1. With the cost value equal, SW2 and SW3 use the second tie breaker of the election criteria to determine the designated bridge. Since SW2 has a lower bridge ID, it is elected as the designated bridge on this segment and designates its interfaces connected to SW3 as designated ports: On SW2: SW2#show spanning-tree vlan 1 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et1/1 Altn BLK 100 128.6 P2p Et1/2 Root FWD 100 128.7 P2p Et3/1 Desg FWD 100 128.14 P2p Et3/2 Desg FWD 100 128.15 P2p Et4/1 Desg FWD 100 128.18 P2p Et4/2 Desg FWD 100 128.19 P2p Et5/1 Desg FWD 100 128.22 P2p Et5/2 Desg FWD 100 128.23 P2p On SW3: SW3#show spanning-tree vlan 1 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et1/1 Altn BLK 100 128.6 P2p Et1/2 Root FWD 100 128.7 P2p Et2/1 Altn BLK 100 128.10 P2p Et2/2 Altn BLK 100 128.11 P2p Et4/1 Desg FWD 100 128.18 P2p Et4/2 Desg FWD 100 128.19 P2p Et5/1 Desg FWD 100 128.22 P2p Et5/2 Desg FWD 100 128.23 P2p The task specifies to ensure that SW3 is elected as the designated bridge on the segment for all VLANs. Since both SW2 and SW3 have the same cost to the root switch, this task can be solved by modifying the root cost on SW3 such that it is lower than the root cost on SW2 making SW3 the designated bridge on the CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 149 segment. This can be done by modifying the port cost on SW3’s current root port, E1/2, with the spanningtree cost 50. The output below shows the port cost modification on SW3 and the “show spanning-tree vlan 1” output now confirms that SW3 is the designated bridge on the segment. Omitting the vlan number in the spanning-tree cost command sets the port cost to 50 for all VLANs on the switch. This results in SW3 becoming the designated bridge for the SW2 - SW3 segment for ALL VLANs as the task desires: On SW3: SW3(config)#interface e1/2 SW3(config-if)#spanning-tree cost 50 SW3#show spanning-tree vlan 1 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et1/1 Altn BLK 100 128.6 P2p Et1/2 Root FWD 50 128.7 P2p Et2/1 Desg FWD 100 128.10 P2p Et2/2 Desg FWD 100 128.11 P2p Et4/1 Desg FWD 100 128.18 P2p Et4/2 Desg FWD 100 128.19 P2p Et5/1 Desg FWD 100 128.22 P2p Et5/2 Desg FWD 100 128.23 P2p On SW2: SW2#show spanning-tree vlan 1 | begin Interface Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----Et1/1 Altn BLK 100 128.6 P2p Et1/2 Root FWD 100 128.7 P2p Et3/1 Altn BLK 100 128.14 P2p Et3/2 Altn BLK 100 128.15 P2p Et4/1 Desg FWD 100 128.18 P2p Et4/2 Desg FWD 100 128.19 P2p Et5/1 Desg FWD 100 128.22 P2p Et5/2 Desg FWD 100 128.23 P2p It’s important to mention at this point that this task could also have been solved by setting the priority value on SW3 to something lower than SW2’s priority. By resetting the priority on SW3 to a value lower than SW2, SW2 would no longer be the secondary root bridge. This however would violate task 4 that requires SW2 to always be the secondary root bridge and take over as the root if the current root SW1 were to fail. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 150 Task 12 Ensure that SW4 and SW5 can recover from an indirect link failure within 10 seconds. Do not modify spanning-tree timers. An indirect failure in STP is the loss of a root port for another switch that is not the local switch. Such a failure is detected whenever STP receives an inferior BPDU on any port. This is a result of the process that occurs whenever a switch loses connectivity to the root bridge. The switch experiencing the failure will begin to announce itself as the root bridge out of all of its ports. Consider the following topology for a better understanding of this process: In the topology above, SW1 is the current root bridge. Link 1 on SW2 and Link 2 on SW3 are their current root ports respectively. Following details on what happens when SW2 loses its current root port, link 1: 1. On losing its root port towards SW1, SW2 starts considering itself as the root. This is because it does not receive any BPDUs relayed from SW3. SW3’s port towards SW2 is blocking and blocking ports do not send any BPDUs 2. Claiming itself to be the root, SW2 now begins to send its BPDU to SW3. SW3 considers this to be an inferior BPDU to the BPDU it has stored on its blocking port. This causes SW3 to ignore the inferior BPDU from SW2 till the stored BPDU on the blocking port ages out. BPDUs age out in the Max Age - Message Age seconds in STP. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 151 3. After the BPDU expires in the Max Age - Message Age seconds, the blocking port (link 3) on SW3 transitions to the listening state. 4. SW3 can now start sending the superior BPDUs from SW1 to SW2 on its link 3 5. SW2 receives this BPDU from SW3. Since the received BPDU is superior than the one SW2 generates, SW2 stops sending its own BPDU and moves its port towards SW3 from listening → learning → forwarding state. As we see in the above, the convergence after an indirect link failure took Max Age - Message Age seconds (20 seconds at the first non-root switch and then decremented by 1 on every non-root switch downstream) plus the forward delay time (30 seconds). During this period, the end devices face network outage. So using traditional STP, the switch receiving the inferior BPDU would have to wait for roughly 20 seconds before transitioning its port or recalculating the STP topology. The Backbonefast functionality allows a switch to bypass this delay in case of indirect link failures as in the example above. This is what the task expects to be configured. The backbonefast functionality is able to bypass the max age delay by: 1. Detecting a link failure as soon as possible by tracking inferior BPDUs received on a blocking port 2. Immediately checking the validity of the current superior BPDU The above is made possible by implementing another Cisco proprietary process called the Root Link Query (RLQ). Referring back to the example, the following happens with the backbonefast feature activated on all the switches in the switched network: 1. On losing its root port on link 1 towards SW1, SW2 considers itself to be the root, generates BPDUs and forwards them out its designated port to SW3 2. On receiving this inferior BPDU, the backbonefast functionality on SW3 is triggered. SW3 needs to determine if the superior BPDU on its blocking port is still valid. If so, then SW3 can proceed to bypass the max age delay time and immediately age out the stored BPDU on its blocking port. 3. For this purpose, SW3 sends an RLQ request out of all its non-designated ports. This means, SW3 sends the RLQ request to SW1 out its root port on link 2. SW1 receives this and since it is still the current root bridge, it responds with an RLQ response. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 152 4. On receiving the RLQ response, SW3 is now able to confirm that the inferior BPDU received from SW2 is wrong and invalidates it. It now immediately ages out the BPDU on the port and relays the superior BPDU to SW2. 5. SW2 receives this BPDU from SW3. Since the received BPDU is superior than the one SW2 generates, SW2 stops relaying its own BPDU and moves its port towards SW3 from listening → learning → forwarding state. The RLQ request is basically sent to check the connectivity to the root bridge. It contains the BID of the switch the sending switch believes to be the root. If the receiving switch is the root, and the owner of the BID indicated in the RLQ request, it responds with a RLQ response. If the receiving switch is not the root, the roots BID it knows of is the same as the one indicated in the RLQ request, this switch forwards the query to the root. Backbonefast is configured using the spanning-tree backbonefast and should be enabled on all the switches because backbonefast requires the use of RLQ request and reply mechanisms. This is shown in the configuration below. The show spanning-tree summary command output can be used to verify the same: Note: Task 3 of this section reduced the forward delay time from 30 seconds to 10 seconds. So, for this lab, when the backbonefast feature is enabled, the switches will only spend 10 seconds (5 seconds in listening and 5 seconds in learning) to recover from an indirect failure: On All Switches: SW6(config)#spanning-tree backbonefast To verify the configuration: SWx#show spanning-tree summary | include Back BackboneFast is enabled Task 13 Ensure that SW2 only allows its ports toward SW1 to become root ports. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 153 This task requires configuring the Root Guard feature on SW2’s non-root ports. In the same way a non-designated port receiving an inferior BPDU causes a topology change event, if any port receives a superior BPDU, a topology change event will occur. In particular, this will cause the switch to re-evaluate the location of its root port. This can be extremely devastating to the STP environment in certain situations. The Root Guard feature is designed to mitigate this threat. When a port is configured with Root Guard it is automatically put in a root inconsistent state whenever it begins to receive superior BPDUs. This is similar to the listening state where no traffic is forwarded through the port but BPDUs are still processed and recieved. When the superior BPDUs cease, the port is put back into normal forwarding state by transitioning it through the transient listening and learning states. This feature is best deployed on designated ports on the switch on a per port basis. Designated ports are ports that face away from the root bridge and as such should never become root ports. To complete this task, configure spanning-tree guard root on all designated ports on SW2 as follows: On SW2: SW2(config)#interface range e4/1-2,e5/1-2 SW2(config-if-range)#spanning-tree guard root *NOTE* Do not forget to reset the switch configurations to initial configurations upon completing this exercise. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 154 802.1w Per-VLAN Rapid Spanning Tree Protocol So far, we have explored the processes and functionality of traditional Spanning Tree Protocol (also known as 802.1D). The original intent of 802.1D was to ensure that loopfree paths exist in a Layer 2 switched network where redundant links are utilized. 802.1D in its base form accomplishes this goal, but it does so at a price: convergence time. 802.1D utilizes timer-based convergence mechanics, which means ports must receive and evaluate BPDUs to determine the root bridge. The winning BPDU is stored by each port and relayed out all designated ports on the switch until it is refreshed by the reception of the same BPDU on one of the switch’s non-designated (blocking or root) ports. If a port does not receive a BPDU within the Max Age time, the BPDU is aged out, and the topology reconverges. Furthermore, a port that transitions from blocking to forwarding must first pass through listening and learning states. The entire convergence process for 802.1D, with default timers, can take up to 50 seconds (20 seconds for Max Age time and 30 seconds for transitioning between listening and learning states). As mentioned earlier in the lab, this is a considerable amount of downtime for a modern network. It interferes with host operations such as acquiring a network address to use for data communication. Recognizing this inefficiency, the IEEE developed the 802.1w standard, which is also called the Rapid Spanning Tree Protocol, or RSTP. The goal of RSTP is to drastically reduce the amount of time it takes a network to converge during a convergence event and whenever a switch is newly joined to a network. To do so, RSTP makes a few changes to the 802.1D mechanics: BPDUs are sent by all switches independently of reception of the root bridge’s BPDU. Listening and learning states are combined into a single learning state. Port roles more clearly define what function a specific port plays in the network. Timer-based convergence is replaced by a proposal/agreement process. In 802.1D, switches do not originate BPDUs. Instead, they relay the received superior BPDU from their root port out their designated ports. This superior BPDU is first originated by the root bridge and acts as the heartbeat of the spanning tree. 802.1w modifies this behavior. All RSTP-compliant switches generate their best stored BPDUs out all of their designated ports at each hello interval, regardless of whether or not one was received on the root ports. This transforms the BPDU from being a measurement of the activity of the root bridge to being a keepalive between two bridges. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 155 This modification of BPDU generation means RSTP can determine if a neighboring switch is active, based on when it last received a BPDU from the neighboring switch. If three Hello intervals of BPDUs are missed (2-second intervals, for 6 seconds total), the switch can immediately act. For blocking ports, that action is to become designated and send its own BPDU. Thus, in order for a blocking port to remain in the blocking state, it must continue to receive superior BPDUs from its upstream designated port. In addition, the port states were revised. As mentioned earlier in 802.1D, there is little difference between a port that is blocking and a port that is listening or learning. In each of these states, one of three actions is being performed: The port is not forwarding traffic (that is, it is discarding traffic). The port is learning about the STP topology while not forwarding traffic. The port is learning MAC addresses while not forwarding traffic. The first two actions correspond to the port refusing to process data frames even to the point where MAC addresses are not being learned over the ports. Instead, state information about the spanning-tree topology is being evaluated. These two functions fall within the purview of the blocking and listening states of the original 802.1D. In 802.1w, they are combined into a simple discarding state to signify that data traffic is being discarded while spanning-tree BPDUs are still being processed. The last point corresponds to the switch processing MAC address information to build MAC address tables on the interfaces—a function of the learning state. This function was deemed necessary and has been retained as the learning state in RSTP. With these modifications, RSTP possesses only three states: discarding, learning, and forwarding. These states describe what the port is actively doing but do not describe what function in the spanning-tree topology these ports serve. This distinction is necessary to allow rapid convergence in special circumstances. For this, RSTP utilizes unused fields in the 802.1D BPDU (the flags field) to carry the port state and new port roles describing both what action the port is taking and what role that port has in the spanning-tree topology. The port roles are: Root: The port that receives the best BPDU of all BPDUs received by the local switch Designated: The port that sends the best BPDU on its LAN segment Alternate: The port that receives a superior BPDU on the LAN segment; it is a potential replacement for the root port Backup: The port that receives the superior BPDU of the local switch’s own designated CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 156 port; it is a potential replacement for the switch’s own designated port Of all of the states, root and designated are the same and correspond to the root and designated states in 802.1D. Alternate and backup ports are synonymous with blocking ports in 802.1D, but their roles more clearly define where the port lies in the spanning tree. An alternate port is a port that receives a superior BPDU from another bridge that is not the best BPDU the switch has heard. Such ports provide alternative paths to the current root bridge. A backup port is a port that is self-looped back to the sending local switch. This port could be connected to the same Layer 2 segment that does not speak Spanning Tree Protocol. For example, if a switch is connected to a set of hosts through a hub, the hub echoes all received frames out all ports except the port on which the frames were originally received. For redundancy, the switch could connect to the hub through two ports. If such a situation occurs, the BPDU sent by the switch on port A connected to the hub would be echoed and received on port B, connected to the same hub. If port A is determined to have the superior BPDU, port B would have the backup role because it provides a redundant path to a LAN segment that does not lead back to the root bridge. A port in 802.1w can be in any mixture of states and roles. For instance, a port can be in the designated discarding role/state, which means it is a port that the switch believes should be designated but has not transitioned to forwarding. This fact is important for RSTP’s convergence algorithm. In 802.1D, convergence is based on a timer-driven state machine. When a switch comes online, it sends BPDUs claiming to be root. When it receives a superior BPDU, the ports must transition from blocking, to listening, to learning, and finally to forwarding, based on the Forward Delay timer (which defaults to 15 seconds, for 30 seconds total). If a switch were to lose connection to the root port, it would announce itself as root toward its neighbors. The neighbors would ignore this information for the Max Age period (which is 20 seconds by default) before reacting to the topology change. The goal is to allow the network to converge before a port is placed into the forwarding state. 802.1w does not use the same process as 802.1D but uses a newer proposal and agreement process that goes as such: 1. A new link port on a switch tries to move from the blocking state to the forwarding state. 2. The port receives a superior BPDU from the root bridge. 3. All other non-edge ports are blocked on the local switch. 4. Once all other switch ports are blocked, the local switch authorizes the root switch to put its port into the forwarding state. 5. The same process occurs on all of the local switch’s remaining non-edge ports. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 157 In step 1, the new link initializes in the designated discarding state. It exchanges BPDUs with the current root’s port (which is also in the designated discarding state). During this time, both switches send a BPDU with the proposal bit set as an indication that they want their ports to become the designated port on the segment. Upon receipt of the superior BPDU at step 2, the local switch knows where its root port lies. In step 3, the switch must ensure no loops can occur in the network based on this new information. To do so, it places all of its non-edge ports into the discarding state; this is called synchronization. Throughout this process, the root switch’s port is still in the designated discarding state. At step 4, the local switch tells the root switch, through a BPDU with the agreement flag set, that the root switch’s port can be moved to the designated forwarding state. This happens because the local switch has blocked all of its other non-edge ports, preventing any bridging loops. At step 5, the local switch sends a BPDU with the proposal bit set out all of its remaining designated discarding ports to start the rapid convergence process with other potential spanning-tree bridges downstream from the root. Step 5 repeats the proposal/agreement process with each switch to which the local switch has a direct connection. The same process occurs: The switches exchange proposal BPDUs, the losing switch enters the synchronization state, and it informs the designated switch it can move its port to the designated forwarding state. In this way, the synchronization process flows downstream from the root to the edge of the network. This process relies heavily on the switch determining which ports are edge ports and which are non-edge ports. RSTP keeps track of this by assigning an edge variable and link type status to each switch port. The edge variable indicates whether or not the port leads to an end host or sits at the edge of the network. Such ports do not connect to other switches and should not receive BPDUs. If an edge port receives a BPDU, it loses its edge status. Edge ports are allowed to immediately transition to a forwarding state; this is similar to the spanning-tree PortFast feature. Link type refers to whether or not the switch port can use rapid transitions, as previously indicated. There are two link types: point-to-point and shared. A point-to-point link is connected to exactly one other RSTP-compliant switch. A shared port is connected to a shared LAN segment that utilizes hubs or repeaters and cannot transition rapidly, as in the previous proposal agreement process. Switches attempt to detect link type by using the duplex setting of the interface: Halfduplex is considered shared, and full-duplex is considered point-to-point. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 158 802.1w also achieves rapid convergence by modifying what constitutes a topology change in the network. In 802.1D, loss of a port or a port transitioning to blocking is considered a topology change event. In 802.1w, only a non-edge (blocking or alternate) port transitioning to the forwarding state generates a topology change event. The reason is that the new non-edge port offers a new path in the network, and the remaining switches should synchronize their MAC address tables accordingly to reflect the change. The TC-while timer is started on the switch initiating the topology change. During this time, the switch sends BPDUs with the TC flag set out all of its designated and root ports. Switches that receive these BPDUs immediately age out all MAC addresses on all ports except where the TC BPDU was received. This mechanism allows rapid transition of the topology because TC BPDUs are originated by the switch experiencing the topology change event and are not initiated by the root bridge, as is the case in 802.1D. Finally, because BPDUs are necessary for a blocking port to remain blocking, if a blocking port receives an inferior BPDU, it can react immediately to the information. This is in contrast to the 802.1D specification, which requires the stored BPDU on a port to age out before the switch converges the topology. In 802.1w, the switch receiving the inferior BPDU can infer that a topology change event has occurred somewhere in the network. If a functioning root port exists on the switch receiving an inferior BPDU, it can simply respond with a proposal BPDU on its formerly blocking port, asking to be set to designated. This allows the failed switch to recover rapidly. If there is no functioning root port (meaning the inferior BPDU was received on a root port), the switch can assume that it should be the new root switch and indicates that with all of its remaining, now downstream, neighbors. These are the key enhancements to 802.1D built into 802.1w. Some of them may sound familiar as they relate to many of the Cisco enhancement features to 802.1D, such as PortFast and Backbone Fast. The following lab demonstrates these enhancement features of 802.1w and contrasts them with their 802.1D equivalents. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 159 Initial Configuration: Task 1 Change the hostname on each switch to SW#, where # is the number of the switch (for example, Switch 1 = SW1). On SW1: Switch(config)#hostname SW1 On SW2: Switch(config)#hostname SW2 On SW3: Switch(config)#hostname SW3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 160 On SW4: Switch(config)#hostname SW4 On SW5: Switch(config)#hostname SW5 On SW6: Switch(config)#hostname SW6 Task 2 a. Ensure that only the following ports on the switches are in an up/up state: SW1 E2/1-2 E3/1-2 On SW1: SW1(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW1(config-if-range)#shut SW1(config)#interface range e2/1-2,e3/1-2 SW1(config-if-range)#no shut To verify the configuration: SW1#show ip interface brief | exclude down Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 Ethernet3/2 CCIE by Narbik Kocharians IP-Address unassigned unassigned unassigned unassigned OK? Method Status YES unset up YES unset up YES unset up YES unset up CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Protocol up up up up Page 161 SW2 E1/1-2 E3/1-2 E4/1-2 E5/1-2 On SW2: SW2(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW2(config-if-range)#shut SW2(config)#interface range e1/1-2,e3/1-2,e4/1-2,e5/1-2 SW2(config-if-range)#no shut To verify the configuration: SW2#show ip interface brief | exclude down Interface Ethernet1/1 Ethernet1/2 Ethernet3/1 Ethernet3/2 Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned SW3 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up up up E1/1-2 E2/1-2 E4/1-2 E5/1-2 On SW3: SW3(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW3(config-if-range)#shut CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 162 SW3(config)#interface range e1/1-2,e2/1-2,e4/1-2,e5/1-2 SW3(config-if-range)#no shut To verify the configuration: SW3#show ip interface brief | ex down Interface Ethernet1/1 Ethernet1/2 Ethernet2/1 Ethernet2/2 Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned SW4 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up up up E2/1-2 E3/1-2 E6/1-2 On SW4: SW4(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW4(config-if-range)#shut SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#no shut To verify the configuration: SW4#show ip interface brief | ex down Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 CCIE by Narbik Kocharians IP-Address unassigned unassigned unassigned OK? Method Status YES unset up YES unset up YES unset up CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Protocol up up up Page 163 Ethernet3/2 Ethernet6/1 Ethernet6/2 unassigned unassigned unassigned SW5 YES unset YES unset YES unset up up up up up up E2/1-2 E3/1-2 E6/1-2 On SW5: SW5(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW5(config-if-range)#shut SW5(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW5(config-if-range)#no shut To verify the configuration: SW5#show ip interface brief | exclude down Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 Ethernet3/2 Ethernet6/1 Ethernet6/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned SW6 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up E4/1-2 E5/1-2 On SW6: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 164 SW6(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW6(config-if-range)#shut SW6(config)#interface range e4/1-2,e5/1-2 SW6(config-if-range)#no shut To verify the configuration: SW6#show ip interface brief | exclude down Interface Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned OK? Method Status YES unset up YES unset up YES unset up YES unset up Protocol up up up up Task 3 Configure VLANs 10, 20, 30, and 40 on each switch, using any method. The task requires VLANs 10, 20, 30 and 40 to be configured on all the switches in the topology. As seen below, these VLANs are configured on all the switches with the vlan command. However since the task does not place any restriction, VTP can be used to propagate the VLANs between switches. The show vlan brief | include VLAN command output can then be used to verify this configuration: On All Switches: SW1(config)#vlan 10,20,30,40 SW1(config-vlan)#exit To verify the configuration: On Any Switch: SWx#show vlan brief | include VLAN CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 165 VLAN Name 10 VLAN0010 20 VLAN0020 30 VLAN0030 40 VLAN0040 Status active active active active Ports Task 4 Configure trunk ports on all up/up interfaces. The commands switchport trunk encapsulation dot1q and switchport mode trunk is configured on all the interfaces on all the switches that were brought back up earlier. The combination of these commands manually configure the interfaces to function as 802.1q trunk links. On SW1: SW1(config)#interface range e2/1-2,e3/1-2 SW1(config-if-range)#switchport trunk encapsulation dot1q SW1(config-if-range)#switchport mode trunk On SW2: SW2(config)#interface range e1/1-2,e3/1-2,e4/1-2,e5/1-2 SW2(config-if-range)#switchport trunk encapsulation dot1q SW2(config-if-range)#switchport mode trunk On SW3: SW3(config)#interface range e1/1-2,e2/1-2,e4/1-2,e5/1-2 SW3(config-if-range)#switchport trunk encapsulation dot1q SW3(config-if-range)#switchport mode trunk On SW4: SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#switchport trunk encapsulation dot1q SW4(config-if-range)#switchport mode trunk On SW5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 166 SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#switchport trunk encapsulation dot1q SW4(config-if-range)#switchport mode trunk On SW6: SW5(config)#interface range e4/1-2,e5/1-2 SW5(config-if-range)#switchport trunk encapsulation dot1q SW5(config-if-range)#switchport mode trunk CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 167 802.1w – Configuration Tasks Task 1 Configure all switches to run 802.1w Rapid Spanning Tree Protocol. The default spanning-tree mode on most switching platforms is 802.1D Spanning-Tree. In order to activate 802.1w Rapid Spanning-Tree, issue the command spanning-tree mode rapid-pvst command in global configuration mode as follows. The show spanning-tree output is then used to verify this change as seen below: On All Switches: SWx(config)#spanning-tree mode rapid-pvst To verify the configuration: On All Switches: SWx#show spanning-tree | include VLAN|protocol VLAN0001 Spanning tree enabled protocol rstp VLAN0010 Spanning tree enabled protocol rstp VLAN0020 Spanning tree enabled protocol rstp VLAN0030 Spanning tree enabled protocol rstp VLAN0040 Spanning tree enabled protocol rstp Task 2 Ensure that SW1 is the root for all VLANs. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 168 RSTP uses the same logic as 802.1D spanning-tree to elect a root switch, choosing the switch with the lowest BID in the switched network as the root bridge. Similar to the same task in the PVST+ section, this task requires no extra configuration since SW1 has already been designated as the root bridge for all VLANs. This decision was made based on SW1’s MAC address as all switches have a tied priority value of 32,768. NOTE: If SW1 is not the root bridge in your topology, use the spanning-tree vlan 1-4094 root primary command to make it the root bridge. A quick way to determine if the local switch is the root bridge for all VLANs is to use the show spanningtree root command. There is no need to know the MAC address of the local switch when using this command. Because the root switch advertises a cost of 0 to reach itself out of all of its Designated ports, all VLANs in the show spanning-tree root command output that have 0 listed in the “Root Cost” column are VLANs for which the local switch is the root bridge as seen below: On SW1: SW1#show spanning-tree root Root Cost Hello Max Fwd Time Age Dly Vlan Root ID Port ---------------- -------------------- --------- ----- --- --VLAN0001 32769 aabb.cc00.1f00 0 2 20 15 VLAN0010 32778 aabb.cc00.1f00 0 2 20 15 VLAN0020 32788 aabb.cc00.1f00 0 2 20 15 VLAN0030 32798 aabb.cc00.1f00 0 2 20 15 VLAN0040 32808 aabb.cc00.1f00 0 2 20 15 Root ------ Task 3 Ensure that if the current root bridge fails, SW2 becomes the new root for all VLANs. Once again, similar to Task 4 in the PVST+ section, SW2 can be configured to be the secondary bridge with the spanning-tree vlan [vlan list] root secondary command for all VLANs. Following this, to ensure CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 169 that SW1 retains its root status, the command spanning-tree vlan [vlan list] root primary should be configured on SW1 for all VLANs: On SW2: SW2(config)#spanning-tree vlan 1-4094 root secondary On SW1: SW1(config)#spanning-tree vlan 1-4094 root primary Task 4 Ensure that SW2’s and SW3’s E1/2 interface is used as the root port for all VLANs. Do not modify cost to achieve this. As explained in task 5 of the PVST+ section, SW2 and SW3 use the SPID value as the tiebreaker to elect their E1/1 interface as the root port towards the root bridge. The show spanning-tree root command from SW2 and SW3 verifies this: On SW2: SW2#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0001 24577 aabb.cc00.1f00 100 2 20 15 VLAN0010 24586 aabb.cc00.1f00 100 2 20 15 VLAN0020 24596 aabb.cc00.1f00 100 2 20 15 VLAN0030 24606 aabb.cc00.1f00 100 2 20 15 VLAN0040 24616 aabb.cc00.1f00 100 2 20 15 Root Port --------Et1/1 Et1/1 Et1/1 Et1/1 Et1/1 On SW3: SW3#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0001 24577 aabb.cc00.1f00 100 2 20 15 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Root Port --------Et1/1 Page 170 VLAN0010 VLAN0020 VLAN0030 VLAN0040 24586 aabb.cc00.1f00 24596 aabb.cc00.1f00 24606 aabb.cc00.1f00 24616 aabb.cc00.1f00 100 100 100 100 2 2 2 2 20 20 20 20 15 15 15 15 Et1/1 Et1/1 Et1/1 Et1/1 This task requires making configuration changes such that SW2 and SW3 designate their E1/2 interfaces as the root port. However, unlike the PVST+ section, this task restricts modifying the cost to make the E1/2 interfaces on SW2 and SW3 the root port. The task, however, places no restriction on modifying the SPIDs. The spanning-tree vlan 1-4094 port-priority 64 command on the E2/2 and E3/2 interfaces on SW1 will cause it to assign 64 as the port-priority for these interfaces. Since this is lower than the default portpriority value of 128, when comparing the SPIDs on the BPDUs received from SW1 on their E1/1 and E1/2 interfaces, both SW2 and SW3 will designate their E1/2 interfaces as the root port for all VLANs. This is verified with the show spanning-tree root command output below: On SW1: SW1(config)#interface e1/2 SW1(config-if)#spanning-tree vlan 1-4094 port-priority 64 On SW2: SW2#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0001 24577 aabb.cc00.1f00 100 2 20 15 VLAN0010 24586 aabb.cc00.1f00 100 2 20 15 VLAN0020 24596 aabb.cc00.1f00 100 2 20 15 VLAN0030 24606 aabb.cc00.1f00 100 2 20 15 VLAN0040 24616 aabb.cc00.1f00 100 2 20 15 Root Port --------Et1/2 Et1/2 Et1/2 Et1/2 Et1/2 On SW3: SW3#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Root Port --------- Page 171 VLAN0001 VLAN0010 VLAN0020 VLAN0030 VLAN0040 24577 aabb.cc00.1f00 24586 aabb.cc00.1f00 24596 aabb.cc00.1f00 24606 aabb.cc00.1f00 24616 aabb.cc00.1f00 100 100 100 100 100 2 2 2 2 2 20 20 20 20 20 15 15 15 15 15 Et1/2 Et1/2 Et1/2 Et1/2 Et1/2 Task 5 Ensure that SW5 uses the following ports as root: E2/1 for VLAN 10 E2/2 for VLAN 20 E3/1 for VLAN 30 E3/2 for VLAN 40 Do not modify SW5 to achieve any of this. By default, the E2/1 interface on SW5 is designated as the root port for all VLANs as seen in the show spanning-tree output below: On SW5: SW5#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0001 24577 aabb.cc00.1f00 200 2 20 15 VLAN0010 24586 aabb.cc00.1f00 200 2 20 15 VLAN0020 24596 aabb.cc00.1f00 200 2 20 15 VLAN0030 24606 aabb.cc00.1f00 200 2 20 15 VLAN0040 24616 aabb.cc00.1f00 200 2 20 15 Root Port --------Et2/1 Et2/1 Et2/1 Et2/1 Et2/1 The reasoning for electing the E2/1 interface as the root port is as follows: SW5 receives BPDUs from SW2 and SW3 over its E2/1-2 and E3/1-2 interfaces. BPDUs from SW6 are the most inferior, so will not be considered in the following explanation. The cost to reach the root from both SW2 and SW3 equals to 100 from SW5. As a result of this tie in cost, SW5 uses the next tie breaker, and chooses the switch with lower SBID which is SW2. SW5 then uses the CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 172 next tiebreaker, the lower SPID to determine which of its ports towards SW2 (E2/1, E2/2) should be designated as the root. Since the SPID of SW2’s E5/1 interface is lower than the SPID of its E5/2 interface, SW5 designates its E2/1 interface as the root port for all VLANs. The E2/2 interface is put in an alternate blocking state. The example output for VLAN 1 details and confirms the lower SPID of SW2’s E5/1 interface. SW5#show spanning-tree vlan 1 detail | section Ethernet2/1 Root port is 10 (Ethernet2/1), cost of root path is 200 from Ethernet2/1 Port 10 (Ethernet2/1) of VLAN0001 is root forwarding Port path cost 100, Port priority 128, Port Identifier 128.10. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 28673, address aabb.cc00.2000 Designated port id is 128.22, designated path cost 100 Timers: message age 15, forward delay 0, hold 0 Number of transitions to forwarding state: 3 Link type is point-to-point by default BPDU: sent 25, received 48781 Port 11 (Ethernet2/2) of VLAN0001 is alternate blocking Port path cost 100, Port priority 128, Port Identifier 128.11. Designated root has priority 24577, address aabb.cc00.1f00 Designated bridge has priority 28673, address aabb.cc00.2000 Designated port id is 128.23, designated path cost 100 Timers: message age 15, forward delay 0, hold 0 Number of transitions to forwarding state: 0 Link type is point-to-point by default BPDU: sent 29, received 47912 The following sub tasks require changing the root ports for various VLANs on SW5: 1. e2/1 for VLAN 10 This task requires no extra configuration as the E2/1 interface is already being used as the root port for VLAN 10. The show spanning-tree vlan 10 output confirms this: On SW5: SW5#show spanning-tree vlan 10 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0010 24586 aabb.cc00.1f00 200 2 20 15 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Root Port --------Et2/1 Page 173 2. e2/2 for VLAN 20 The task restricts making any modifications on SW5. So one of the ways to ensure E2/2 is designated as the root port for VLAN 20 on SW5, is to lower the port-priority value of SW2’s E5/2 interface to a value lower than the default value of 128 on its E5/1 interface.This is achieved with the interface-level command spanning-tree vlan 20 port-priority 64 as seen below: On SW2: Port Priority is set to 64 for SW2’s E5/2 interface SW2(config)#interface e5/2 SW2(config-if)#spanning-tree vlan 20 port-priority 64 On SW5: SW5#show spanning-tree vlan 20 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0020 24596 aabb.cc00.1f00 200 2 20 15 Root Port --------Et2/2 SW5#show spanning-tree vlan 20 interface e2/1 Vlan Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- ----VLAN0020 Altn BLK 100 128.10 P2p As a result, SW5 now uses its E2/2 interface as the root port and the E2/1 interface is now in an alternate blocking state. 3. e3/1 for VLAN 30 The cost to reach the root bridge SW1 from SW2 and SW3 is equal. SW5 uses the tiebreaker of comparing the SBIDs and designates its E2/1 interface as the root port. This task requires that SW5 uses the E3/1 interface connected to SW3 to reach the root. This can be achieved by modifying the BID of SW3 so that it has a lower BID than SW2’s BID. However, this would violate Task 3 which requires that SW2 should take over as the root in case the current root fails. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 174 So another way to solve this task would be modifying SW3’s cost to the root for VLAN 30 to something lower than SW2’s cost to the root. The current cumulative cost to the root from SW5 is 200 via SW2 as shown below. On SW5: SW5#show spanning-tree vlan 30 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0030 24606 aabb.cc00.1f00 200 2 20 15 Root Port --------Et2/1 The spanning-tree vlan 30 cost 99 on SW3’s current root port would result in a lower cumulative cost of 199 to reach the root via SW3 for SW5. After this change, SW5 uses the lower SPID tiebreaker and designates its E3/1 interface as the root port. This is verified in the show spanning-tree vlan 30 command output below: On SW3: SW3(config)#interface e1/2 SW3(config-if)#spanning-tree vlan 30 cost 99 On SW5: SW5#show spanning-tree vlan 30 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0030 24606 aabb.cc00.1f00 199 2 20 15 Root Port --------Et3/1 Note: This task could have been solved by modifying the cost directly on SW5. However, since the task restricts making any changes to SW5, the options are to either set a lower RPC on SW3 or a higher RPC on SW2. 4. e3/2 for VLAN 40 Once again, the current root port for VLAN 40 on SW5 is its E2/1 interface as seen below: On SW5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 175 SW5#show spanning-tree vlan 40 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0040 24616 aabb.cc00.1f00 200 2 20 15 Root Port --------Et2/1 This sub task requires SW5 to designate its E3/2 interface as the root port. To influence SW5’s decision, the following two configuration changes are made on SW3 while complying with the task restriction of not making any modification to SW5: 1. SW3’s cost to the root is modified to make it lower than SW2’s cost to the root, resulting in SW5 choosing SW3 to reach the root. This is achieved with the spanning-tree vlan 40 cost 99 command on SW3’s root port E1/2 2. The port ID of SW3’s E5/2 interface is configured to be lower than the default port ID of 128 on its E5/1 interface for VLAN 40 with the spanning-tree vlan 40 port-priority 64 command. This would result in SW5 choosing its E3/2 interface as the root port as seen below: On SW3: SW3(config)#interface e1/2 SW3(config-if)#spanning vlan 40 cost 99 The above configuration change results in SW5 choosing its E3/1 interface connected to SW3 as the root port: On SW5: SW5#show spanning-tree vlan 40 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0040 24616 aabb.cc00.1f00 199 2 20 15 Root Port --------Et3/1 Finally, the port priority for SW3’s E5/2 interface is made lower to make the E3/2 port on SW5 more preferable, hence, the root port: On SW3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 176 SW3(config)#interface e5/2 SW3(config-if)#spanning-tree vlan 40 port-priority 64 To verify the configuration: On SW5: SW5#show spanning-tree vlan 40 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0040 24616 aabb.cc00.1f00 199 2 20 15 Root Port --------Et3/2 Task 6 Ensure that SW4 uses its E3/1 port as the root port for VLAN 20. The show spanning-tree vlan 20 root command output below shows the current root port on SW4 is its E2/1 for VLAN 20. Since the cost to reach the root via SW2 and SW3 tie with the value of 200, SW4 uses the next tie breaker of comparing the SBIDs and chooses to use a port towards SW2 (lower SBID) as the root: On SW4: SW4#show spanning-tree vlan 20 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0020 24596 aabb.cc00.1f00 200 2 20 15 Root Port --------Et2/1 This task requires SW4 to use the interface E3/1 connected to SW3 as the root port. SBIDs cannot be modified to make SW3 more preferable as this would violate Task 3. So, the easiest way to solve this task is to modify the port cost on SW4’s E3/1 interface such that it is lower than the cost to reach the root over its E2/1 interface. The cumulative cost to reach the root is 200 as seen above and the default port cost is 100. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 177 To make the E3/1 interface more preferable, the port cost on SW4’s E3/1 interface is reduced to 99 with the spanning-tree vlan 20 cost 99 command: On SW4: SW4(config)#interface e3/1 SW4(config-if)#spanning-tree vlan 20 cost 99 Notice the cost below to reach the root is 199 which is lower than the cost to reach the root over its E2/1 interface SW4#show spanning-tree vlan 20 root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0020 24596 aabb.cc00.1f00 199 2 20 15 Root Port --------Et3/1 As seen above, with the port cost modification on SW4, the total cumulative cost to reach the root over it’s E3/1 interface is now 199 resulting in SW4 designating this port as the root port. Task 7 Ensure that RSTP features are enabled on all ports. The beginning of this configuration lab explained the process RSTP uses to achieve rapid convergence. This rapid convergence comes at a strict restriction. It only works between links between two switches. If, for example, three switches were connected by a hub, there would be no way for the three switches to signal a proposal or agreement to each other. The resulting spanning-tree topology would be difficult to work out. For this reason, RSTP includes two important link types: shared and point-to-point. A switch with a shared link connects to multiple neighboring switches. Due to the nature of such ports, the RSTP convergence enhancements are not used. Instead, the normal timer-based convergence processes are employed. A switch with a point-to-point link connects to a single neighboring switch. These links are candidates for rapid convergence and take full advantage of RSTPs convergence enhancements. The show spanning-tree output lists the ports, their role, state, cost, and link type information as in the example CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 178 output below: On SW1: SW1#show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 24577 Address aabb.cc00.1f00 This bridge is the root Hello Time 2 sec Max Age 20 sec Bridge ID Priority Address Hello Time Aging Time Forward Delay 15 sec 24577 (priority 24576 sys-id-ext 1) aabb.cc00.1f00 2 sec Max Age 20 sec Forward Delay 15 sec 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -----------------------Et2/1 Desg FWD 100 128.10 P2p Et2/2 Desg FWD 100 64.11 P2p Et3/1 Desg FWD 100 128.14 P2p Et3/2 Desg FWD 100 64.15 P2p In the above, the “Type” column indicates what link type the interface is operating under. The value is “shared” for shared link type and “P2p” for point-to-point link type. The switch attempts to predict what kind of link each port has based on the duplex setting. If the port is in half-duplex mode, the switch considers the link to be a shared link. If the link is in full-duplex mode, the switch considers a link to be a point-to-point link. This is a good assumption considering the only way to connect multiple switches to the same port is to use an ethernet hub. Ethernet hubs force half-duplex operation because all ports on a hub share the same broadcast domain and the CSMA-CD algorithm is used to organize transmission on the wire. This leaves ports in full-duplex mode to only have a single switch or other device connected and thus can be assumed to be point-to-point. There are times where this assumption is not true especially in emulated environments where the auto MDIX process may not work properly. If the auto MDIX process fails, ports fall back to half-duplex and thus have a shared link type which bypasses all RSTP rapid convergence enhancements. In such a case, the CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 179 spanning-tree link-type [point-to-point | shared] interface-level command can be used to manually set the link type in the topology. The task specifies all ports should be candidates to benefit from all of RSTP’s rapid convergence properties. As such, the spanning-tree link-type point-to-point interface-level command should be configured on all switch ports. However, looking at the output above from the lab topology, the switch has already appropriately designated the ports as point-to-point and as a result, no further configuration is required. NOTE: If there are ports that are NOT in designated as point-to-point (P2p) in the show spanning-tree output, use the spanning-tree link-type point-to-point command in interface configuration mode for those ports. Task 8 Ensure that interfaces connected to non-switch hosts come online immediately. a. If SW4 or SW5 detects a switch on these ports when it first comes online, it should process the BPDUs normally. Otherwise, it should not process received BPDUs. b. If SW6 detects a switch on one of these ports, it should disable the port. In 802.1D spanning-tree protocol, whenever a port moved from blocking to forwarding state it must first move through the listening and learning states, a process that could take up to 30s with default timers. Cisco implemented the portfast feature which allowed specifically configured ports to bypass these states and move straight from blocking to forwarding. The developers of RSTP borrowed this concept and created what is known as an edge port. Edge ports are ports that connect to edge devices (end user stations, servers, APs, etc.). Such ports have a low possibility of causing loops in the network and can move instantly to forwarding state. Edge ports are also very important to RSTP because of the proposal/agreement process that allows fast convergence. Recall that once a switch determines the location of its root port it first sets all of its non-edge ports to discarding state. After setting non-edge ports to discarding state, the switch signals to its upstream designated switch that it is safe to move the designated switch’s port to forwarding. The key part of the process is that non-edge ports are set to discarding and not the edge ports themselves. Because edge CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 180 ports do not cause loops there is no need to set them to a discarding state upon a spanning-tree recalculation, in other words they should not be affected by the Sync operation. This allows end stations connected to the same switch to continue to forward traffic between each other if necessary. For this reason, it is important to designate all ports leading to end stations as edge ports. Another important side effect is that like the Cisco-proprietary portfast feature, if a BPDU is received on an edge port, the port loses its edge status and performs the normal convergence steps. This step is important because if the edge port is truly non-edge (meaning it connects to another switch) care must be taken to ensure that no loops are formed. This includes setting the port to blocking during the synchronization phase of the convergence process. There is no mechanism in the 802.1w specification that detects edge port status for a particular port. For Cisco switches, edge ports are designated by the portfast configuration on the interfaces. The task requires all non-switch hosts should have their ports come online immediately. To do so, there needs to be a way for the switch to detect whether an end host is indeed a switch or not. To solve this, the spanning-tree portfast edge default command is configured in global configuration mode. The command does the same thing for RSTP as explained in the 802.1D section of the lab. All access ports on the switch will automatically be configured as portfast interfaces. For RSTP, this means all access ports will automatically have edge port status, exempting them from becoming discarding during the synchronization process. Subtask A states that if a switch is detected on the port when it is first turned on for SW4 and SW5, the switch should process the BPDUs normally, otherwise all BPDUs should be ignored on the interface. In the 802.1D section of the lab, the Cisco BPDU filter enhancement was enabled globally on the switch. Once enabled, all portfast interfaces would wait briefly (10 hello intervals) before enabling the portfast feature. If a BPDU was received during that initial time, the port would process the received BPDUs normally. 802.1w RSTP, the same BPDU filtering feature can be utilized with the same effect with the spanning-tree portfast edge bpdufilter default command. By enabling the feature globally, all edge ports first wait for a period of time to listen for potential BPDUs. After that time, if no BPDUs are heard, the ports will ignore all future BPDUs received on the interface. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 181 Finally, subtask B requires the SW6 to shutdown any port connected to a host that receives a BPDU. There is no automatic mechanism in RSTP to provide this functionality. So, just like in the 802.1D section of the lab, the BPDU guard feature should be enabled globally on SW6 with the spanning-tree portfast edge bpduguard default command. Once enabled, any portfast-enabled port that receives a BPDU will be put into the err-disabled state and shut down. Below are the complete configuration commands required to complete this task: Enabling portfast on SW4, SW5 and SW6 On SW4, SW5, and SW6: SWx(config)#spanning-tree portfast edge default %Warning: this command enables portfast by default on all interfaces. You should now disable portfast explicitly on switched ports leading to hubs, switches and bridges as they may create temporary bridging loops. To verify the configuration: SW6#show spanning-tree summary | include Portfast Portfast Default Portfast Edge BPDU Guard Default Portfast Edge BPDU Filter Default is edge is disabled is disabled Enabling BPDU filter on SW4 and SW5: On SW4 and SW5: SWx(config)#spanning-tree portfast edge bpdufilter default To verify the configuration: On SW4 or SW5: SW4#show spanning-tree summary | include BPDU Filter Portfast Edge BPDU Filter Default is enabled Enabling BPDU Guard on SW6: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 182 On SW6: SW6(config)#spanning-tree portfast edge bpduguard default To verify the configuration: SW6#show spanning-tree summary Portfast Edge BPDU Guard Default | include BPDU Guard is enabled Task 9 SW6’s links towards SW5 should be used as root port for all VLANs except VLAN 10 a. Ensure that SW6’s links toward SW5 are used as the root port for all VLANs except VLAN 10. If the link between SW5 and SW6 goes down, SW6 should immediately switch to using one of its links toward SW4 as the single root port. The first part of the configuration for this task requires configuring etherchannels between SW6 - SW5. The task does not explicitly mention this. However, the fact that there can exist only one root port per switch and the task requires all links towards SW5 to be designated as root port hints towards bundling the Layer 2 links. So similar to task 9 from the PVST+ section, the following configuration creates logical port-channels using PAgP between the switches. NOTE: The task does not specific which etherchannel protocol to use, PAgP was arbitrarily chosen for this solution. On SW6: SW6(config)#interface range e5/1-2 SW6(config-if-range)#channel-group 5 mode desirable On SW5: SW5(config)#interface range e6/1-2 SW5(config-if-range)#channel-group 5 mode desirable After configuring the port-channels, the show spanning-tree root command output on SW6 shows the current root port for all VLANs is SW6’s port-channel 5 interface towards SW5: On SW6: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 183 SW6#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0001 24577 aabb.cc00.1f00 256 2 20 15 VLAN0010 24586 aabb.cc00.1f00 256 2 20 15 VLAN0020 24596 aabb.cc00.1f00 256 2 20 15 VLAN0030 24606 aabb.cc00.1f00 255 2 20 15 VLAN0040 24616 aabb.cc00.1f00 255 2 20 15 Root Port --------Po5 Po5 Po5 Po5 Po5 The task requires SW6 to use its port-channel interface connected to SW5 as the root port for all VLANs except VLAN 10. However, as seen above, SW6 chooses the port channel interface for VLAN 10 as its root port. The reason SW6 makes this determination is due to the new cost associated with the port-channel interface. By default, the cost is automatically computed based on the bandwidth of an interface. Because a Port Channel interface is a grouping of multiple member links, its total bandwidth will be the total bandwidth of all those member links. In this example, the bandwidth for the Po5 interface is 20Mbps (shown below) because the e5/1 and e5/2 interfaces each have a negotiated bandwidth of 10mbps: On SW6: SW6#show interfaces port-channel 5 | include BW MTU 1500 bytes, BW 20000 Kbit/sec, DLY 1000 usec, SW6#show interfaces e5/1 | include BW MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec, SW6#show interfaces e5/2 | include BW MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec, The STP cost associated with that bandwidth is 56 instead of 100 making the total path cost to the root through Po5, 256. To ensure SW6 uses its E4/1 interface to SW4 as the root port for VLAN 10, the port cost of the port-channel needs to be set to a higher value with the spanning-tree vlan 10 cost 150 command. As a result, due to a lower cost to reach the root for VLAN 10 over the interfaces connected to SW4, SW6 now designates its E4/1 interface as the root port for VLAN 10: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 184 On SW6: SW6(config)#interface port-channel 5 SW6(config-if)#spanning-tree vlan 10 cost 150 SW6#show spanning-tree root Root Hello Max Fwd Vlan Root ID Cost Time Age Dly ---------------- -------------------- --------- ----- --- --VLAN0001 24577 aabb.cc00.1f00 256 2 20 15 VLAN0010 24586 aabb.cc00.1f00 300 2 20 15 VLAN0020 24596 aabb.cc00.1f00 256 2 20 15 VLAN0030 24606 aabb.cc00.1f00 255 2 20 15 VLAN0040 24616 aabb.cc00.1f00 255 2 20 15 Root Port --------Po5 Et4/1 Po5 Po5 Po5 Subtask A requires that if the current root ports for all VLANs fail, the alternate connection to the root bridge which is in the blocking state should immediately replace the failed root port. This immediate transition of an alternate connection to root was possible by enabling the uplinkfast feature in 802.1D. The uplinkfast enhancement, in case of 802.1D, caused the switch to bypass the listening and learning stages and immediately move the port to a forwarding mode. The designers of RSTP wanted to incorporate this functionality in the RSTP standard and did so with the use of the alternate port role. Recall that an alternate port is a switch port that receives a less superior BPDU to the current root port. This indicates that it provides an alternate loop-free path to the root bridge. Since the neighboring switch port connected to the alternate discarding port is already designated forwarding, the port can move to root forwarding immediately without the fear of causing a loop. As a result, there is no need to explicitly configure this feature in RSTP. This fact is true in 802.1D as well, the difference being, in 802.1D, the alternat discarding port would be in the blocking state. Due to the timerbased convergence process in 802.1D, the switch would have to transition the port through the listening and learning states before finally making it to forwarding. A process that can take up to 30s with default timers. Task 10 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 185 Ensure that SW4 and SW5 can recover from an indirect link failure within 10 seconds. Do not modify the spanning-tree timers. One of the major drawbacks of 802.1D spanning tree was the timer-based convergence mechanisms. If a designated bridge loses its connection to the root, it will begin advertising itself as the root bridge to all of its connected ports. A downstream port in the blocking state would receive these inferior BPDUs. In 802.1D, the blocking port would completely ignore the information until the stored BPDU from the real root on that blocking port expires (in 20 seconds, based on the default Max Age timer). Then the switch signals a topology change event, and the port transitions to the forwarding state. The entire process can take up to 50 seconds with default timers. The Cisco Backbone Fast feature was created to help this process by utilizing the RLQ protocol when a blocking port suddenly starts receiving inferior BPDUs. The RLQ messages are sent out in order to determine if a path to the root exists on the switch. If a path is found, the previously blocked port can bypass the Max Age timer and begin the transition to the forwarding state, cutting 20 seconds of convergence time. RSTP incorporates this function through its behavior of immediately accepting inferior BPDUs that are received on a discarding port. An inferior BPDU being received on a discarding port signifies that a topology change has occurred somewhere in the network. Either the current root has failed and the local switch has stale information or the upstream designated bridge has lost its connection to the root. In either case, the spanning-tree topology needs to reconverge and can do so rapidly by using the proposal/ agreement processes. Since this feature is built into RSTP, there is no configuration needed to accomplish this task. *NOTE* Do not forget to reset the switch configurations to initial configurations upon completing this exercise. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 186 802.1s Multiple Spanning Tree Protocol Initial Configuration: Task 1 Change the hostname on each switch to SW#, where # is the number of the switch (for example, Switch 1 = SW1). On SW1: Switch(config)#hostname SW1 On SW2: Switch(config)#hostname SW2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 187 On SW3: Switch(config)#hostname SW3 On SW4: Switch(config)#hostname SW4 On SW5: Switch(config)#hostname SW5 On SW6: Switch(config)#hostname SW6 Task 2 a. Ensure that only the following ports on the switches are in an up/up state: SW1 E2/1-2 E3/1-2 On SW1: SW1(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW1(config-if-range)#shut SW1(config)#interface range e2/1-2,e3/1-2 SW1(config-if-range)#no shut To verify the configuration: SW1#show ip interface brief | exclude down Interface Ethernet2/1 Ethernet2/2 CCIE by Narbik Kocharians IP-Address unassigned unassigned OK? Method Status YES unset up YES unset up CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Protocol up up Page 188 Ethernet3/1 Ethernet3/2 unassigned unassigned SW2 YES unset YES unset up up up up E1/1-2 E3/1-2 E4/1-2 E5/1-2 On SW2: SW2(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW2(config-if-range)#shut SW2(config)#interface range e1/1-2,e3/1-2,e4/1-2,e5/1-2 SW2(config-if-range)#no shut To verify the configuration: SW2#show ip interface brief | exclude down Interface Ethernet1/1 Ethernet1/2 Ethernet3/1 Ethernet3/2 Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned SW3 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up up up E1/1-2 E2/1-2 E4/1-2 E5/1-2 On SW3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 189 SW3(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW3(config-if-range)#shut SW3(config)#interface range e1/1-2,e2/1-2,e4/1-2,e5/1-2 SW3(config-if-range)#no shut To verify the configuration: SW3#show ip interface brief | exclude down Interface Ethernet1/1 Ethernet1/2 Ethernet2/1 Ethernet2/2 Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned unassigned unassigned SW4 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up up up E2/1-2 E3/1-2 E6/1-2 On SW4: SW4(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW4(config-if-range)#shut SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#no shut To verify the configuration: SW4#show ip interface brief | exclude down CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 190 Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 Ethernet3/2 Ethernet6/1 Ethernet6/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned SW5 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up E2/1-2 E3/1-2 E6/1-2 On SW5: SW5(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW5(config-if-range)#shut SW5(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW5(config-if-range)#no shut To verify the configuration: SW5#show ip interface brief | exclude down Interface Ethernet2/1 Ethernet2/2 Ethernet3/1 Ethernet3/2 Ethernet6/1 Ethernet6/2 IP-Address unassigned unassigned unassigned unassigned unassigned unassigned SW6 OK? Method Status YES unset up YES unset up YES unset up YES unset up YES unset up YES unset up Protocol up up up up up up E4/1-2 E5/1-2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 191 On SW6: SW6(config)#interface range e0/0-3,e1/0-3,e2/0-3,e3/0-3,e4/0-3,e5/0-3,e6/03,e7/0-3 SW6(config-if-range)#shut SW6(config)#interface range e4/1-2,e5/1-2 SW6(config-if-range)#no shut To verify the configuration: SW6#show ip interface brief | exclude down Interface Ethernet4/1 Ethernet4/2 Ethernet5/1 Ethernet5/2 IP-Address unassigned unassigned unassigned unassigned OK? Method Status YES unset up YES unset up YES unset up YES unset up Protocol up up up up Task 3 Configure VLANs 10, 20, 30, and 40 on each switch, using any method. The task requires VLANs 10, 20, 30 and 40 to be configured on all the switches in the topology. As seen below, these VLANs are configured on all the switches with the vlan command. However since the task does not place any restriction, VTP can be used to propagate the VLANs between switches. The show vlan brief | in VLAN command output can then be used to verify the VLANs configured: On All Switches: SW1(config)#vlan 10,20,30,40 SW1(config-vlan)#exit To verify the configuration: On Any Switch: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 192 SWx#show vlan brief | include VLAN VLAN Name 10 VLAN0010 20 VLAN0020 30 VLAN0030 40 VLAN0040 Status active active active active Ports Task 4 Configure trunk ports on all up/up interfaces. The command switchport trunk encapsulation dot1q on the interswitch links can be used to configure 802.1Q trunk. This is followed with the switchport mode trunk command that enables the interfaces for static trunk configuration as shown below: On SW1: SW1(config)#interface range e2/1-2,e3/1-2 SW1(config-if-range)#switchport trunk encapsulation dot1q SW1(config-if-range)#switchport mode trunk On SW2: SW2(config)#interface range e1/1-2,e3/1-2,e4/1-2,e5/1-2 SW2(config-if-range)#switchport trunk encapsulation dot1q SW2(config-if-range)#switchport mode trunk On SW3: SW3(config)#interface range e1/1-2,e2/1-2,e4/1-2,e5/1-2 SW3(config-if-range)#switchport trunk encapsulation dot1q SW3(config-if-range)#switchport mode trunk On SW4: SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#switchport trunk encapsulation dot1q SW4(config-if-range)#switchport mode trunk CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 193 On SW5: SW4(config)#interface range e2/1-2,e3/1-2,e6/1-2 SW4(config-if-range)#switchport trunk encapsulation dot1q SW4(config-if-range)#switchport mode trunk On SW6: SW5(config)#interface range e4/1-2,e5/1-2 SW5(config-if-range)#switchport trunk encapsulation dot1q SW5(config-if-range)#switchport mode trunk Let’s Explore 802.1s One of the major drawbacks to spanning tree, be it the 802.1D Spanning Tree Protocol or RSTP, is the fact that redundant links are blocked in the network, making their bandwidth useless unless a failover event occurs. Cisco alleviated this impact by implementing PVST/+ and PVRST/+, which allow administrators to load balance individual VLANs on trunk links to better utilize the bandwidth. The issue with this approach is that the switch must calculate a separate spanning tree for each VLAN independently. As the total number of VLANs grows, the switch spends more processor cycles calculating the spanning-tree topology. This is inefficient as the total number of possible spanning-tree topologies is limited by the total number of switches and links in the network. If there are only three switches in the network, then there are effectively only three total topologies that can exist: one topology with each switch as the root of the spanning tree. If there are a total of four VLANs in the same sample network, it is reasonable to say that the fourth VLAN spanning-tree calculation yields a redundant result to one of the previous three. The IEEE 802.1s Multiple Spanning Tree Protocol (MST) standard mitigates this by providing a standards-based way to run different instances of Spanning Tree Protocol on a single switch. Instead of running a single instance for each VLAN, the administrator can define the instances of Spanning Tree Protocol that will be run and their parameters, such as priority and costs. Multiple VLANs are mapped to the configured instances, allowing one instance to represent one or many VLANs. With this construct, an administrator can group together VLANs with similar pathing requirements in a single instance rather than tuning individual VLAN-specific spanningtree instance settings. It is even possible to map all VLANs to a single instance and CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 194 reduce spanning-tree processing overhead for all VLANs. Doing this reduces the computational load on the switches in the network. The most noticeable way a switch saves computational cycles is through MST’s use of a single BPDU for all instances. Instead of explicitly sending a BPDU for each VLAN or each instance containing VLAN-to-instance mapping information, MST exchanges a single BPDU. This BPDU contains information about the root bridge and special M-records. These M-records carry the spanning-tree topology information for all instances configured on the switch. A switch running MST must be explicitly configured with the VLAN-to-instance mapping in its MST configuration. The MST configuration first gives the MST process a name. This process name is similar to the EIGRP autonomous system number. Then, the process is explicitly given a revision number. Finally, the VLAN-to-instance mapping is configured. *NOTE: Unlike with EIGRP, there can be only one MST process running multiple instances at a time on a switch. Cisco documentation calls the MST process an MST instance, but for clarity between MST instances that have VLANs mapped to them, the term process is used in this lab. In order to operate, an MST network needs to be configured with the instances that exist in the network and what VLANs are mapped to those instances. If, for example, instance 1 on SWA contains VLAN 1 but instance 10 on SWB contains VLAN 1, SWA and SWB could come to different conclusions about whether or not the port is forwarding or blocking for both VLANs. However, because no explicit VLAN-to-Instance mapping information is carried between switches, there is no way for two switches to know whether or not they are configured similarly for MST operation. MST validates VLAN-to-instance mapping consistency between two bridges by including the MST process, the revision number, and a digest of the MST VLAN-to-instance mapping table in the BPDU. If the received BPDU matches a switch’s internal configuration, the switch knows it can trust the information contained in the M-records of the BPDU. The set of switches in a network that all have matching MST process names, revision numbers, and VLAN-to-instance mapping tables is called an MST region. Multiple MST regions can exist in a network. Topology changes in one region do not affect other regions. Also, each region builds an internal spanning tree separately as well as cooperatively (between neighboring regions) with other regions to form one loop-free path throughout the entire switched network. Within a region, there always exists MST instance 0, which is called IST0. This instance is the only instance that interacts with other regions and is the instance to which all VLANs are initially mapped when MST is first enabled on a switch. IST0 elects a root CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 195 bridge called the IST0 root. A non-root switch calculates a loop-free path from itself to the IST0 root. This ensures that no matter how many instances are added or VLANs are moved around, there is always at least one loop-free path in the MST topology. Switches exchange IST0 BPDUs that contain the M-records for all other instances in the MST region. Using these records, independent spanning-tree topologies can be calculated for each instance. IST0 and M-records help create a loop-free path within an MST region. MST uses a separate process to help negotiate a loop-free path between different MST regions. Switches that connect to neighboring switches in different regions are called MST boundary switches. The specific port that the local switch shares with the remote neighboring switch in a different region is called the boundary port. On boundary ports, MST only exchanges IST0 BPDU information. This makes sense because IST0 always exists within the MST region and is guaranteed to be loop free at all times. The receiving switch comparesthe IST0 bridge information to determine if it is superior or inferior to its own IST0 BPDU. This spanning tree running between regions is called the common spanning tree, or CST. It helps at this point to consider two MST regions as single switches. Because the boundary switches hide the internal M-record topology from switches in different MST regions, the topology becomes very simple from the receiving switch’s perspective. Because the receiving switch cannot ensure that VLANs are mapped to the same instances as its own, the receiving switch must make a blocking/forwarding decision on its boundary port for all VLANs. This is the only way to ensure a loop-free path to the remote MST region. The MST boundary switches only compare the IST0 information received from other MST boundary switches. The boundary switches analyze this information and make forwarding or discarding decisions for all VLANs on the boundary ports. MST interacts with regular 802.1D spanning-tree regions in a similar way. A boundary switch compares a received BPDU with its own IST0 BPDU to make a forwarding or discarding decision for all VLANs on the boundary port. This process ensures that redundant inter-region links are blocked between regions and not internally within a specific region—in the same way a switch blocks ports between switches and not links within the switch itself. MST interacts with PVST regions a bit differently. This interaction is explained further later on in this solution guide. Task 1 Configure all the switches to utilize the following spanning-tree configuration for SW1, CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 196 SW2, and SW3: MST is the operational mode. The region name is 123. The revision number is 1. Configure the following instance-to-VLAN mappings: Instance 1: VLANs 10–19 Instance 2: VLANs 20–29 Instance 3: VLANs 30–39 Instance 4: VLANs 40–49 This task sets the basic MST configuration settings for the network. MST can be enabled globally on the switch using the spanning-tree mode mst command in global configuration mode. After configuration, the switch automatically runs a single instance of MST with all VLANs mapped to it. This instance is the IST0 instance that always runs within an MST region, ensuring loop-free paths for all VLANs configured in the region. Also, the revision number is initialized at 0 and the region name is considered null as shown below. On SW1: SW1#show spanning-tree mst configuration digest Name [] Revision 0 Digest Pre-std Digest Instances configured 1 0xAC36177F50283CD4B83821D8AB26DE62 0xBB3B6C15EF8D089BB55ED10D24DF44DE *Note*: The region name is synonymous to the aforementioned MST process name. As stated previously, MST requires matching settings on all switches for the MST region name, revision number, and VLAN-to-Instance mapping. These settings are configured in MST configuration mode. MST configuration mode is accessed using the spanning-tree mst configuration command in global configuration mode. In this configuration mode, changes can be made to the MST configuration including, changing the region name, incrementing the revision number, and modifying the VLAN-to-Instance mapping. Changes are applied when exiting the MST configuration mode using the exit command. At any point in the configuration, the show command can be used to see the pending changes to the MST configuration. To complete the task, configure MST region name 123 with revision number 1. The name command is used to specify the MST region name and the revision command specifies the current revision number. Omitting the revision number and name causes the switch to automatically use a revision number of 0 and assign an CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 197 empty string to the name. Finally, the VLAN-to-Instance mapping is configured using the instance [instance number] vlan [vlan-list] command for each instance configured as in the below: On SW1: SW1(config)#spanning-tree mst configuration SW1(config-mst)#name 123 SW1(config-mst)#revision 1 SW1(config-mst)#instance 1 vlan 10-19 SW1(config-mst)#instance 2 vlan 20-29 SW1(config-mst)#instance 3 vlan 30-39 SW1(config-mst)#instance 4 vlan 40-49 SW1(config)#spanning-tree mode mst On SW2: SW2(config)#spanning-tree mst configuration SW2(config-mst)#name 123 SW2(config-mst)#revision 1 SW2(config-mst)#instance 1 vlan 10-19 SW2(config-mst)#instance 2 vlan 20-29 SW2(config-mst)#instance 3 vlan 30-39 SW2(config-mst)#instance 4 vlan 40-49 SW2(config)#spanning-tree mode mst On SW3: SW3(config)#spanning-tree mst configuration SW3(config-mst)#name 123 SW3(config-mst)#revision 1 SW3(config-mst)#instance 1 vlan 10-19 SW3(config-mst)#instance 2 vlan 20-29 SW3(config-mst)#instance 3 vlan 30-39 SW3(config-mst)#instance 4 vlan 40-49 SW3(config)#spanning-tree mode mst The show spanning-tree mst configuration output displays the above region configuration on each switch. On SW1, SW2, and SW3: SWx#show spanning-tree mst configuration CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 198 Name Revision [123] 1 Instances configured 5 Instance -------0 1 2 3 4 Vlans mapped --------------------------1-9,50-4094 10-19 20-29 30-39 40-49 As we can see the VLANs that are not statically mapped they are automatically mapped to instance 0. Task 2 Configure all the switches to utilize the following spanning-tree configuration for SW4, SW5, and SW6: MST is the operational mode. The region name is 456. The revision number is 1. Configure the following instance-to-VLAN mappings: Instance 1: VLAN 10 Instance 2: VLAN 20 Instance 3: VLAN 30 Instance 4: VLAN 40 Similar to the above task, this task configures a separate region in which SW4, SW5, and SW6 participate. Notice how the region has a slightly different VLAN-to-Instance mapping table as well as a different region name, configured below: On SW4: SW4(config)#spanning-tree mst configuration SW4(config-mst)#name 456 SW4(config-mst)#revision 1 SW4(config-mst)#instance 1 vlan 10 SW4(config-mst)#instance 2 vlan 20 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 199 SW4(config-mst)#instance 3 vlan 30 SW4(config-mst)#instance 4 vlan 40 SW4(config)#spanning-tree mode mst On SW5: SW5(config)#spanning-tree mst configuration SW5(config-mst)#name 456 SW5(config-mst)#revision 1 SW5(config-mst)#instance 1 vlan 10 SW5(config-mst)#instance 2 vlan 20 SW5(config-mst)#instance 3 vlan 30 SW5(config-mst)#instance 4 vlan 40 SW5(config)#spanning-tree mode mst On SW6: SW6(config)#spanning-tree mst configuration SW6(config-mst)#name 456 SW6(config-mst)#revision 1 SW6(config-mst)#instance 1 vlan 10 SW6(config-mst)#instance 2 vlan 20 SW6(config-mst)#instance 3 vlan 30 SW6(config-mst)#instance 4 vlan 40 SW6(config)#spanning-tree mode mst After configuring, the show spanning-tree mst configuration digest command can be used to verify the MST database configurations between the two regions. It can be clearly seen that the region names and configuration digest differ between the two configurations. This information is carried in the MST BPDU sent between the switches. The switch compares the received digest information with that of its own. If it matches, the switch knows the remote switch participates in the same MST region as itself. In the below, the configuration digests on SW2 and SW4 are compared: Example output from SW2 and SW4 for the digest comparison On SW2: SW2#show spanning-tree mst configuration digest Name [123] CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 200 Revision 1 Digest Pre-std Digest Instances configured 5 0xA5B19D386B025B4C642FE6DA07694259 0x43D31179EC2F20F3F0C5BF243BC569F3 On SW4: SW4#show spanning-tree mst configuration digest Name [456] Revision 1 Instances configured 5 Digest 0x566BFFFBE7C6CAAAA4ECE52E8A5D04BE Pre-std Digest 0x15D7BEF8035C71289B5BBAF4E7D49A53 As an exercise, the region name on SW4 will be changed to match SW2. Notice that even though the region names are the same, the differing MD5 digests will still prevent the switches from accepting each other as participating in the same region. The MD5 calculation is generated from the VLAN-to-Instance mapping table itself, providing an easier means of verifying its integrity from switch to switch. This digest is calculated because, as stated earlier, the VLAN-to-Instance mapping table is NOT carried in the MST BPDU. ! Example output from SW2 and SW4 for the digest comparison SW2#show spanning-tree mst configuration digest Name [123] Revision 1 Instances configured 5 Digest 0xA5B19D386B025B4C642FE6DA07694259 Pre-std Digest 0x43D31179EC2F20F3F0C5BF243BC569F3 SW4#show spanning-tree mst configuration digest Name [123] Revision 1 Instances configured 5 Digest 0x566BFFFBE7C6CAAAA4ECE52E8A5D04BE Pre-std Digest 0x15D7BEF8035C71289B5BBAF4E7D49A53 Task 3 Ensure that SW1 is the root for the entire topology. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 201 Similar to regular 802.1D spanning-tree, MST calculates a root bridge that is used as a reference point to determine which ports should be blocked and which should be forwarding. MST uses the same logic as both 802.1D and 802.1w for selecting the root bridge; the only difference is a separate root bridge election process is used for every instance configured in the MST region. In the lab topology there are two MST regions. Each region will elect a root bridge for all instances within their region, based on the lowest BID of all switches in the regions. The remaining switches will then work out the loop-free spanning-tree topology for the entire layer 2 network. The problem comes in when a decision must be made about the forwarding state of the links between the regions, specifically the SW2/SW4, SW2/SW5, SW3/SW4, and SW3/SW5 links. SW2/SW3 and SW4/SW5 participate in different MST regions and as a result have elected different switches within their respective regions as the root bridge. Also, the two regions have VLANs mapped differently to the specific instances running within the regions. Without this consistency and without a singular agreed upon reference point, the switches cannot negotiate which of these links should be blocking or forwarding. The network appears to be stuck. MST alleviates these problems by utilizing the IST0 BPDU that is sent between MST switches. The IST0 BPDU contains information about the IST0 root bridge elected in each MST region. Receiving MST switches examine the received IST0 information and compare it to their own to determine which IST0 BPDU is superior. The receiving switch ignores all other M-Record-related information in the accompanying BPDU. The switch with the superior IST0 BID becomes the root switch for the entire topology. This election is held using the same rules as 802.1D and 802.1w. Once the two switches agree on the selection of a global root bridge, they can determine the state of their ports on the link between them by interacting directly with the IST0 information received from the neighboring MST switch. This interaction between the IST0 BPDUs of differing MST regions creates another spanning-tree calculation called a Common Spanning-Tree or CST. CST runs on the boundary links between two MST regions. The ports connecting these links are called boundary ports and the switches with boundary ports are called boundary switches. A boundary switch abstracts the internal MST configuration of another MST region by ignoring the M-record information received as stated above. Instead, it treats the foreign region as if it were an STP switch, making a blocking or forwarding decision for all VLANs based on the IST0 information in the received MST BPDU. Because IST0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 202 information is used to elect the CST root, there is a direct link between the IST0 root and the CST root. For a switch in the MST region to become the CST root, it must also be the IST0 root in its own region. Thus, IST0 and CST are merged within the MST region on instance 0 as the Common and Internal Spanning-Tree or CIST. To complete the task, SW1 needs to become the root for the CST running between region 123 and region 456. To do that, SW1 must also become the root of the IST0 instance within its own region. The show spanning-tree mst 0 output below on SW1 shows the current MST0 and CIST root. On SW1: SW1#show spanning-tree mst 0 ##### MST0 Bridge Root Operational Configured vlans mapped: 1-9,50-4094 address aabb.cc00.1f00 priority 32768 (32768 sysid 0) this switch for the CIST hello time 2 , forward delay 15, max age 20, txholdcount 6 hello time 2 , forward delay 15, max age 20, max hops 20 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- ----Et2/1 Desg FWD 2000000 128.10 P2p Et2/2 Desg FWD 2000000 128.11 P2p Et3/1 Desg FWD 2000000 128.14 P2p Et3/2 Desg FWD 2000000 128.15 P2p According to the above output, SW1 is already the CIST root for the topology. This is because SW1 has the lowest MAC address in its own region. This IST0 information is compared on the boundary ports running CST. For the same reason as above, the lower MAC address, SW1 is elected as the root for the CST. SW1 is now the CIST root. If SW1 were not the CIST root for any reason, its priority could be modified in the same way as in 802.1D and 802.1w. Because the goal is to affect the CST calculation, the priority change should be made on instance 0 of the MST configuration using the command spanning-tree mst 0 priority [priority-value] or spanning-tree mst 0 root [primary | secondary] commands. Task 4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 203 Configure Region 123 as follows: SW1 should be the IST root for Instances 1 and 4. SW2 should be the IST root for Instance 2. SW3 should be the IST root for Instance 3. This task demonstrates the internal topology flexibility of MST. Within a single MST region, different switches can be the root bridge for individual instances. In this case, each instance equates to a separate spanning-tree topology. Applied to this task, each switch within Region 123 is going to be the root bridge for a particular instance. This task can be solved with the spanning-tree mst [mst instance number] root primary command on SW1, SW2 and SW3. Following this, the show spanning-tree mst [mst instance number] | include Root command output can be used to verify the root bridge: On SW1: SW1(config)#spanning-tree mst 1,4 root primary SW1#show spanning-tree mst 1,4 Root Root | include Root this switch for MST1 this switch for MST4 On SW2: SW2(config)#spanning-tree mst 2 root primary SW2#show spanning-tree mst 2 | include Root Root this switch for MST2 On SW3: SW3(config)#spanning-tree mst 3 root primary SW3#show spanning-tree mst 3 | include Root Root this switch for MST3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 204 Configure Region 456 as follows: SW6 should be the IST root for all instances except Instance 0. SW5 should be the regional root. In this task, SW6 is configured to become the root for all instances except Instance 0. The same configuration steps used in the above can be used to achieve this result in this task. On SW6: SW6(config)#spanning-tree mst 1,2,3,4 root primary SW6#show spanning-tree mst 1,2,3,4 | in Root Root Root Root Root this switch for MST1 this switch for MST2 this switch for MST3 this switch for MST4 The next task specifies that SW5 should be considered the regional root switch. A regional root switch is the switch within an MST region that possesses the best BPDU for the CIST root. This switch is designated as the regional root switch and all inter-region traffic is forwarded through this switch. This concept makes sense when examined. Recall that at the region boundaries, MST switches abstract the received MST BPDU from a foreign region by ignoring the specific M-Record information contained in the BPDU and only processing Instance 0 information. This means the two MST regions are represented to each other as one switch. With this analogy, the physical switches that make up the MST region can be seen as individual “ports” of the region “switch”. Applying normal spanning-tree operation to these “ports” the region “switch” must choose which of its “ports” will be the root port used to reach the root bridge. In the lab example, there are two region “switches”, “switch” 123, and “switch” 456. Region “switch” 123 is the root bridge of this two “switch” network. Region “switch” 456 must choose which of its “ports” SW4 or SW5 will be the root port. It does this by evaluating which “port” receives the best BPDU. It is the result of this comparison where the MST region elects a regional switch. The regional switch is the region’s root “port” towards the CIST root. All other switches solve the spanning-tree towards this switch. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 205 The task specifies that SW5 should be the regional root for region 456. The regional root is elected based on the following criteria: ● Lowest external cost to reach the CIST root ● Lowest sender Bridge ID The first point requires some special attention. When performing the calculation of cost to reach the CIST root, only the external costs are incremented by the boundary switches. That is to say, the costs within each region are not aggregated when the boundary switch relays BPDUs to its intra-region switch neighbors. To solve the task first the output of the show spanning-tree mst root command is compared between SW4 and SW5. On SW4: SW4#show spanning-tree mst 0 detail ##### MST0 Bridge Root vlans mapped: 1-9,11-19,21-29,31-39,41-4094 address aabb.cc00.2200 priority 32768 (32768 sysid 0) address aabb.cc00.1f00 priority 32768 (32768 sysid 0) port Et2/1 path cost 2000000 Regional Root this switch Operational hello time 2 , forward delay 15, max age 20, txholdcount 6 Configured hello time 2 , forward delay 15, max age 20, max hops 20 ---omitted for brevity--- On SW5: SW5#show spanning-tree mst 0 detail ##### MST0 Bridge Root vlans mapped: 1-9,11-19,21-29,31-39,41-4094 address aabb.cc00.2300 priority 32768 (32768 sysid 0) address aabb.cc00.1f00 priority 32768 (32768 sysid 0) port Et6/1 path cost 2000000 Regional Root address aabb.cc00.2200 priority 32768 (32768 sysid 0) internal cost 4000000 rem hops 18 Operational hello time 2 , forward delay 15, max age 20, txholdcount 6 Configured hello time 2 , forward delay 15, max age 20, max hops 20 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 206 --- omitted for brevity --SW4 and SW5 tie with an external cost of 2000000 to reach the CIST root. The next comparison is the BID of which SW4 has the lower MAC address and is elected regional root. In order to make SW5 the new regional root, either the cost assigned to its interfaces towards the current CIST root or its priority can be modified. Because SW5 has multiple links pointing towards the CIST root, the lab will modify the priority value using the spanning-tree mst 0 priority command. Before doing so, care must be taken that SW5’s priority for IST0 does not fall below SW1’s priority. If SW5’s priority value is lower than SW1’s for IST0, then SW5 will become the newly elected root for CIST. To prevent this, first SW1’s priority should be set to a low value (the lab uses 0 as an example). Then, SW5’s priority can be set to be lower than SW4’s accordingly. On SW1 & SW4: SWx(config)#spanning-tree mst 0 priority 0 On SW5: SW5(config)#spanning-tree mst 0 priority 28672 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 207 Chapter 2 CCIE Enterprise Infrastructure Foundation v1.0 www.MicronicsTraining.com Narbik Kocharians CCSI, CCIE #12410 R&S, Security, SP IP Prefix Lists CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 208 Lab 1 Prefix Lists Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder IP-Prefix-list folder Lab-1. Task 1 Configure R1 to filter 192.1.1.32/27 (an OSPF process ID 1 route) using a prefix list through its G0/2 interface. Beforing configuring the this task, following important facts about prefix-lists should be kept in mind Prefix lists were introduced in IOS 12.0(3)T. Prefix-lists are configured to match on the actual prefix and the prefix length. Prefix-lists are parsed and processed from the top to bottom. More accurately, from the lowest sequence number to the highest sequence number. Since sequence numbers are used, entries can be added or removed at any time. Prefix-lists have an implicit deny all statement at the end just like access-lists. Just like access-lists, prefix-lists can be used to identify, or filter prefixes. The show ip route ospf command output from R1 is as follows: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 209 On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O O O O 172.16.0.0/24 is subnetted, 4 subnets 172.16.0.0 [110/2] via 12.1.1.2, 00:19:29, GigabitEthernet0/2 172.16.1.0 [110/2] via 12.1.1.2, 00:19:29, GigabitEthernet0/2 172.16.2.0 [110/2] via 12.1.1.2, 00:19:29, GigabitEthernet0/2 172.16.3.0 [110/2] via 12.1.1.2, 00:19:29, GigabitEthernet0/2 192.1.1.0/24 is variably subnetted, 2 subnets, 2 masks 192.1.1.1/32 [110/2] via 12.1.1.2, 00:19:29, GigabitEthernet0/2 192.1.1.32/27 [110/2] via 12.1.1.2, 00:19:29, GigabitEthernet0/2 As seen above, R1 has installed a few OSPF routes from R2. Of importance to this task demonstration are the 192.1.1.1/32 and 192.1.1.32/27 networks. This task requires configurations that result in filtering the 192.1.1.32/27 network from R1’s routing table. A common question that arises often is - What is the difference between configuring a prefix-list and an access-list? To help illustrate the differences, let’s configure an access-list to deny any route to 192.1.1.0/24 from entering the routing table on R1. As seen below, standard access list 1 is configured. The access-list 1 deny 192.1.1.0 0.0.0.255 statement denies the 192.1.1.0/24 network. The access-list 1 permit any command permits all other networks. R1(config)#access-list 1 deny 192.1.1.0 0.0.0.255 R1(config)#access-list 1 permit any R1(config)#router ospf 1 R1(config-router)#distribute-list 1 in g0/2 Following this, a distribute-list under the OSPF router configuration mode is configured on R1. This distribute-list references the access-list 1 created above. In addition, the distribute list is applied to the g0/2 interface on R1 in the in direction. For OSPF, this does not filter the actual LSAs, rather it causes R1 to filter the routes as they are added to the routing table. In other words, it prevents routes that are not matched by the distribute list from being installed into the local routing table. The in, in this context indicates “into R1's routing table”. In this case, the distribute-list will use access-list 1 created earlier to find matches. Prefixes that match a “permit” clause are permitted into the routing table while those that match a “deny” clause in the route-map are not allowed (this includes the implicit deny at the end of all access-lists). The show ip route ospf command is used to see the effects of the above configurations on R1: To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 210 R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O O 172.16.0.0/24 is subnetted, 4 subnets 172.16.0.0 [110/2] via 12.1.1.2, 00:00:18, GigabitEthernet0/2 172.16.1.0 [110/2] via 12.1.1.2, 00:00:18, GigabitEthernet0/2 172.16.2.0 [110/2] via 12.1.1.2, 00:00:18, GigabitEthernet0/2 172.16.3.0 [110/2] via 12.1.1.2, 00:00:18, GigabitEthernet0/2 We can see that the access-list filtered both networks (192.1.1.1/32 and 192.1.1.32/27), because in the above example, the access-list is denying prefixes that begin with “192.1.1” and have any other value in the 4th octet, meaning the 4th octet can be any number. What happens when a prefix list is used to filter the same network? The following configures such a prefix list by first removing the previous configuration: R1(config)#no access-list 1 R1(config)#router ospf 1 R1(config-router)#no distribute-list 1 in g0/2 R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O O O O 172.16.0.0/24 is subnetted, 4 subnets 172.16.0.0 [110/2] via 12.1.1.2, 00:00:20, GigabitEthernet0/2 172.16.1.0 [110/2] via 12.1.1.2, 00:00:20, GigabitEthernet0/2 172.16.2.0 [110/2] via 12.1.1.2, 00:00:20, GigabitEthernet0/2 172.16.3.0 [110/2] via 12.1.1.2, 00:00:20, GigabitEthernet0/2 192.1.1.0/24 is variably subnetted, 2 subnets, 2 masks 192.1.1.1/32 [110/2] via 12.1.1.2, 00:00:20, GigabitEthernet0/2 192.1.1.32/27 [110/2] via 12.1.1.2, 00:00:20, GigabitEthernet0/2 Next, a prefix-list called NET is configured on R1. The first prefix-list statement is configured to deny the 192.1.1.0/24 network with the ip prefix-list NET deny 192.1.1.0/24 command. The second statement is the prefix-list equivalent of the access-list 1 permit any command. It basically matches any prefix with a prefix length less than or equal to 32 and permits it. Since all prefixes have a prefix length less than or equal to 32, all prefixes not matched by the explicit deny statement will be permitted by the prefix-list. Following this, a new distribute-list is applied on R1 in the in direction for the G0/2 interface. This time however, the distribute-list references the prefix-list NET: R1(config)#ip prefix-list NET deny 192.1.1.0/24 R1(config)#ip prefix-list NET permit 0.0.0.0/0 le 32 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 211 R1(config)#router ospf 1 R1(config-router)#distribute-list prefix NET in g0/2 As we can see below, none of the networks (192.1.1.1/32, or 192.1.1.32/27) were affected: To verify the configuration: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O O O O 172.16.0.0/24 is subnetted, 4 subnets 172.16.0.0 [110/2] via 12.1.1.2, 00:01:58, GigabitEthernet0/2 172.16.1.0 [110/2] via 12.1.1.2, 00:01:58, GigabitEthernet0/2 172.16.2.0 [110/2] via 12.1.1.2, 00:01:58, GigabitEthernet0/2 172.16.3.0 [110/2] via 12.1.1.2, 00:01:58, GigabitEthernet0/2 192.1.1.0/24 is variably subnetted, 2 subnets, 2 masks 192.1.1.1/32 [110/2] via 12.1.1.2, 00:01:58, GigabitEthernet0/2 192.1.1.32/27 [110/2] via 12.1.1.2, 00:01:58, GigabitEthernet0/2 The reason is the difference between access-list filtering and prefix-list filtering. The access-list is only able to match bits on the prefix itself while the prefix-list can match bits on both the prefix and the prefix length. In the above example, since network 192.1.1.0/24 does NOT exist in the routing table on R1, none of the networks were affected. With that understanding, let’s configure R1 to filter 192.1.1.32/27 and permit the other prefixes using a prefix-list. Note: The 192.1.1.0/24 entry in the routing table above is not an actual routing entry. It acts more like a folder listing the routes that fall under that particular address range. In the case above, 192.1.1.1.32 and 192.1.1.32/27 are both components under 192.1.1.0/24. First remove the IP prefix-list: R1(config)#no ip prefix-list NET Reconfigure the prefix-list NET: R1(config)#ip prefix-list NET deny 192.1.1.32/27 R1(config)#ip prefix-list NET permit 0.0.0.0/0 le 32 The result of the above configuration can be seen in the show ip route ospf command output from R1 below. Notice that ONLY 192.1.1.32/27 was filtered from the routing table. Unlike the results of the access-list configuration, the 192.1.1.1 prefix is still present in the routing table: To verify the configuration: R1#show ip route ospf | begin Gate CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 212 Gateway of last resort is not set O O O O O 172.16.0.0/24 is subnetted, 4 subnets 172.16.0.0 [110/2] via 12.1.1.2, 00:00:39, GigabitEthernet0/2 172.16.1.0 [110/2] via 12.1.1.2, 00:00:39, GigabitEthernet0/2 172.16.2.0 [110/2] via 12.1.1.2, 00:00:39, GigabitEthernet0/2 172.16.3.0 [110/2] via 12.1.1.2, 00:00:39, GigabitEthernet0/2 192.1.1.0/32 is subnetted, 1 subnets 192.1.1.1 [110/2] via 12.1.1.2, 00:00:39, GigabitEthernet0/2 When configuring prefix-lists, the prefix and the prefix-length MUST be configured to exactly match the prefix and the prefix length of the prefix/network that we are trying to deny, permit, or identify. Otherwise, the route will not be filtered in the routing table. In this way, prefix-lists are optimized for matching routes of varying prefix/prefix-length combinations.\ NOTE: Notifce the 192.1.1.0/24 entry changed to a 192.1.1.0/32 entry in the above. This is because the only remaining entry is a /32 entry 192.1.1.1/32. In this case, 192.1.1.0 is the major classful network. The prefix length /32 is applied to all specific entries underneath that major network. Previously, because the router was listing 192.1.1.1/32 and 192.1.1.32/27, it used the proper prefix length of /24 and individually listed the /32 and /27 prefix lengths that applied to both routes. This is normal IOS behavior. Task 2 Configure R1 such that it only permits class A networks that are not subnetted and filter the rest of the prefixes/networks. These are RIPv2 routes advertised by R3. Before we configure the prefix-list, let’s observe the routing table of R1: R1#show ip route rip | begin Gate Gateway of last resort is not set R R R 1.0.0.0/8 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 10.0.0.0/24 is subnetted, 1 subnets 10.1.1.0 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 11.0.0.0/16 is subnetted, 1 subnets 11.1.0.0 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 22.0.0.0/24 is subnetted, 1 subnets 22.1.2.0 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 29.0.0.0/8 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 R 33.0.0.0/24 is subnetted, 1 subnets 33.0.0.0 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 R R CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 213 R R 44.0.0.0/8 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 201.1.3.0/24 [120/1] via 13.1.1.3, 00:00:12, GigabitEthernet0/3 This task states that ONLY class A networks that have NOT been subnetted should be allowed in the routing table. In other words, subnetted Class A networks and all other networks should be filtered. This statement carries the implication that while networks 10.1.1.0/24, 11.1.0.0/16, 22.1.2.0/24, 33.0.0.0/24 are Class A networks, they are subnets of the 10.0.0.0/8, 11.0.0.0/8 and 22.0.0.0/8 class A networks and therefore should be filtered. The reason those networks are considered subnets of major networks lies in what qualifies a particular network as a Class A network. Class A networks are networks where the first bit of the first octet is set to 0. For visual reference, see the picture below: In the above, the letter “N” identifies the network bits and “H” identifies the host bits. Notice the leftmost bit in the example is set to 0. The remaining “N” bits can be either 0 or 1. This limits the range of values for the first octet to be 0-127. Any IP address that begins with 0-127 are considered Class A IP addresses, only addresses 1-126 are usable as 0 and 127 are reserved. Class A networks all have a prefix-length of /8 meaning the first octet identifies the network portion of the IP address. To summarize the above, all class A networks have the following in common: There are 8 total network bits in a class A network. The most significant bit (This is the bit in red) is set to 0; therefore, there are 7 remaining network bits followed by 24 host bits. ● First Octet: 0 - 127 ● 126 Class A networks exist (0 and 127 are reserved) ● 16,777,214 hosts in each Class A network ● Because we know the most significant bit is equal to 0 in a class A network, it is possible to use a prefix-list to match that specific bit using the prefix-length. Using a prefix length of /1 will match the first bit of the first octet. We also know that a class A network has a /8 prefix-length. Thus any prefix-length attached to a Class A network that isn’t a /8 has been subnetted. Simply setting the prefix length to /1 is not enough. We need to make sure only true /8 networks exist in the routing table. This is accomplished by using the ge and le options. The ge option stands for “greater than or equal to and the le option stands for “less than or equal to”. These options are used to match a range of prefix lengths. Combining these two facts leads to the following configuration on R1: On R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 214 R1(config)#ip prefix-list Class-A permit 0.0.0.0/1 ge 8 le 8 R1(config)#router rip R1(config-router)#distribute-list prefix Class-A in g0/3 R1#clear ip route * NOTE: Since we are filtering RIP routes, the filter will only apply to the next RIP update received by the router. The clear ip route * command forces the router to send updates and re-evaluate the RIP routes to reflect the distribute-list changes. In the above, the prefix list statement for the “Class-A” prefix list is permit 0.0.0.0/1 ge 8 le 8. Breaking this down, beginning after the “permit” line the 0.0.0.0/1 means to match any prefix that has the same first bit as 0.0.0.0. In this case, the first bit of the prefix 0.0.0.0 is 0, which matches what the first bit of every class A network should be. Next, the ge 8 le 8 means the prefix-length of the matched prefix can only be a number that is both greater than or equal to 8 and less than or equal to 8. The only number that fulfills those criteria is 8 itself. Thus, the prefix list will permit only the routes that are Class A networks which maintain their default /8 prefix length. This prefix-list is applied to a distribute-list configured in the in direction for routes coming in g0/3 on R1. The distribute-list itself is configured under router RIP configuration mode. The effects of this configuration can be seen in the below after clearing the RIP routes from the routing table using the “clear ip route” command. Notice how only the class A networks that aren’t subnetted are present in the routing table now: To verify the configuration: R1#show ip route rip | begin Gate Gateway of last resort is not set R R R 1.0.0.0/8 [120/1] via 13.1.1.3, 00:00:16, GigabitEthernet0/3 29.0.0.0/8 [120/1] via 13.1.1.3, 00:00:16, GigabitEthernet0/3 44.0.0.0/8 [120/1] via 13.1.1.3, 00:00:16, GigabitEthernet0/3 The above result can also be achieved by writing the above prefix-list to deny all subnetted class A networks while permitting all class A networks that are not subnetted and all other networks (such as class B or class C networks which are explained in the following tasks). Let’s configure and test: On R1: First remove the old prefix-list on R1: R1(config)#no ip prefix-list Class-A Next, configure the new prefix-list CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 215 R1(config)#ip prefix-list Class-A deny 0.0.0.0/1 ge 9 R1(config)#ip prefix-list Class-A permit 0.0.0.0/0 le 32 The first line of the prefix list read similar to the old version of the prefix list. Any prefix that starts with a binary 0 will be matched by the 0.0.0.0/1 statement and denied. The last part also matches any prefix that is greater than 9. This flows with the logic. If the first bit of the prefix is a 0, then we know it's a Class A network. If the prefix-length is greater than or equal to 9 then we know it's been subnetted. This is because the base prefix-length for a class A prefix is /8. If a prefix/length combination matches this line, it is denied. The last line of the prefix-list allows all other networks, including class A networks with a mask of “/8” and all class B, C, and D networks. The following verifies the configuration: R1#clear ip route * To verify the configuration: R1#show ip route rip | begin Gate Gateway of last resort is not set R R R R 1.0.0.0/8 [120/1] via 13.1.1.3, 00:00:16, GigabitEthernet0/3 29.0.0.0/8 [120/1] via 13.1.1.3, 00:00:16, GigabitEthernet0/3 44.0.0.0/8 [120/1] via 13.1.1.3, 00:00:16, GigabitEthernet0/3 201.1.3.0/24 [120/1] via 13.1.1.3, 00:00:16, GigabitEthernet0/3 One good time saver when configuring prefix-lists is there is no need to configure the sequence numbers since IOS will include them automatically in increments of 5. The following demonstrates this fact: R1#show run | include ip prefix-list Class-A ip prefix-list Class-A seq 5 deny 0.0.0.0/1 ge 9 ip prefix-list Class-A seq 10 permit 0.0.0.0/0 le 32 In the above, the prefix-list statements were entered in succession. IOS automatically assigned sequence number 5 to the first statement entered and sequence 10 to the last. If another statement were added, it would be assigned sequence number 15 (though no prefixes would match since all prefixes would match at sequence 10). CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 216 Task 3 Configure R4 such that it only allows class B networks that are not subnetted. These are OSPF routes advertised by R1. Before the filter is configured and applied let’s check the routing table of R4: On R4: R4#show ip route ospf | begin Gate Gateway of last resort is not set O O O O O O 128.1.0.0/16 [110/2] via 14.1.1.1, 01:21:01, GigabitEthernet0/1 131.1.0.0/16 [110/2] via 14.1.1.1, 01:21:01, GigabitEthernet0/1 180.1.0.0/24 is subnetted, 3 subnets 180.1.4.0 [110/2] via 14.1.1.1, 01:21:01, GigabitEthernet0/1 180.1.5.0 [110/2] via 14.1.1.1, 01:21:01, GigabitEthernet0/1 180.1.6.0 [110/2] via 14.1.1.1, 01:21:01, GigabitEthernet0/1 191.1.0.0/16 [110/2] via 14.1.1.1, 01:21:01, GigabitEthernet0/1 The routing table contains a collection of class B networks. According to the task requirements only class B networks that are not subnetted should be allowed. This is a similar requirement as in Task 2, only this time we are dealing with class B networks. The highlighted networks in the above are representative of unsubnetted class B networks. A class B network has the following bit pattern. Once again the letter “N” identifies the network bits and “H” identifies the host bits. Class B Networks are defined by the following: ● There are 16 total network bits. Of those bits, the most significant two bits in the first octet are set to “10”; therefore, there are 14 network bits left to identify the networks and the remaining 16 bits identify the host bits. ● With the first two bits set to “10” the Initial byte value can only be within the following range: 128 191 ● 16,384 Class B networks exist ● 65,532 hosts on each Class B CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 217 Based on the above, if the most significant two bits of the first octet is set to “10” it is a class B network. The prefix-list should be configured to match on the most significant two bit of the first octet by using a “/2” prefix-length. The following prefix-list matches on the most significant two bit of the first octet using a “/2” prefix-length, with a network address of 128.0.0.0. The most significant two bits of the first octet of the decimal number 128 is “10” in binary which matches the designation for class B networks. Since the task states that it should only allow class B networks that are not subnetted, the prefix-length specifies “GE 16” and “LE 16”. This is because an unsubnetted class B network should have a prefix-length of 16. The following configures this on R4 as indicated in the task. Once again, the prefix-list is applied to a distribute-list that filters OSPF routes entering the routing table (in the in direction) on R4. Notice in the output below, only class B networks that aren’t subnetted are present in the routing table: R4(config)#ip prefix-list NET permit 128.0.0.0/2 ge 16 le 16 R4(config)#router ospf 1 R4(config-router)#distribute-list prefix NET in g0/1 To verify the configuration: R4#show ip route ospf | begin Gate Gateway of last resort is not set O O O 128.1.0.0/16 [110/2] via 14.1.1.1, 00:00:48, GigabitEthernet0/1 131.1.0.0/16 [110/2] via 14.1.1.1, 00:00:48, GigabitEthernet0/1 191.1.0.0/16 [110/2] via 14.1.1.1, 00:00:48, GigabitEthernet0/1 Just like the previous task, the same result can be achieved by denying all class B networks that are subnetted and permit only the class B networks that are NOT subnetted and all other network classes. Doing so reinforces the understanding of prefix-length filtering. If a class B network has a prefix-length of 17 or more, then it is a subnetted prefix. Let’s test and verify: R4(config)#no ip prefix-list NET R4(config)#ip prefix-list NET deny 128.0.0.0/2 ge 17 R4(config)#ip prefix-list NET permit 0.0.0.0/0 le 32 The first line of the prefix-list above denies any class B network that has a prefix-length of 17 or higher, which means all the subnetted class B networks. The second allows the other networks to be installed in the routing table, this includes Class B networks that are NOT subnetted. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 218 To verify the configuration: R4#show ip route ospf | begin Gate Gateway of last resort is not set O O O 128.1.0.0/16 [110/2] via 14.1.1.1, 00:02:13, GigabitEthernet0/1 131.1.0.0/16 [110/2] via 14.1.1.1, 00:02:13, GigabitEthernet0/1 191.1.0.0/16 [110/2] via 14.1.1.1, 00:02:13, GigabitEthernet0/1 Task 4 Configure R5 such that it only allows class C networks that are not subnetted. These are EIGRP routes that are advertised by R4. Before this task is configured, we should verify the routing table on R5: On R5: R5#show ip route eigrp | begin Gate Gateway of last resort is not set D D D D D D 198.1.1.0/24 [90/130816] via 45.1.1.4, 02:45:34, GigabitEthernet0/4 199.1.1.0/24 [90/130816] via 45.1.1.4, 02:45:34, GigabitEthernet0/4 200.1.1.0/24 [90/130816] via 45.1.1.4, 02:45:34, GigabitEthernet0/4 200.1.4.0/29 is subnetted, 1 subnets 200.1.4.8 [90/130816] via 45.1.1.4, 02:45:34, GigabitEthernet0/4 200.1.5.0/30 is subnetted, 1 subnets 200.1.5.4 [90/130816] via 45.1.1.4, 02:45:34, GigabitEthernet0/4 223.1.1.0/24 [90/130816] via 45.1.1.4, 02:45:34, GigabitEthernet0/4 The output above is of several class C networks. According to the task requirements only class C networks that are not subnetted should be allowed. This is a similar requirement as both Task 2 and Task 3, only this time we are dealing with class C networks. As with the other tasks it helps to first identify what characterizes a class C network. Class C networks are identified with the following bit pattern. As with the previous tasks the letter “N” identifies the network bits and “H” identifies the host bits. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 219 From the above, class C networks are defined as having the following: ● The first three octets are assigned to network bits and the last octet is assigned to host bits, leading to 24 network bits and 8 host bits ● Of the 24 network bits, the most significant three bits of the first octet are reserved to “110”. ● With the first three significant bits of the first byte reserved to “110”, the range of the first octet is 192 - 223 ● 2,097,152 Class C networks exist ● Each class C network can handle 254 hosts At this point the configuration explanation should be straightforward. The prefix list should match the first 3 bits of the first octet of the prefix 192.0.0.0. 192 in binary has “110” as the first three significant bits. Next, the prefix-length should equal 24 using the ge 24 le 24 method. The following is the configuration applied to a distribute-list configured in the in direction to filter routes received on R5’s g0/4 interface: On R5: R5(config)#ip prefix-list NET permit 192.0.0.0/3 ge 24 le 24 R5(config)#router eigrp 1 R5(config-router)#distribute-list prefix NET in g0/4 You should proceed once you see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 45.1.1.4 (GigabitEthernet0/4) is resync: intf route configuration changed To verify the configuration: R5#show ip route eigrp | begin Gate Gateway of last resort is not set D D D D 198.1.1.0/24 [90/130816] via 45.1.1.4, 02:55:54, GigabitEthernet0/4 199.1.1.0/24 [90/130816] via 45.1.1.4, 02:55:54, GigabitEthernet0/4 200.1.1.0/24 [90/130816] via 45.1.1.4, 02:55:54, GigabitEthernet0/4 223.1.1.0/24 [90/130816] via 45.1.1.4, 02:55:54, GigabitEthernet0/4 In the above, the only prefixes that are now added to the routing table are the unsubnetted class C networks. The same result can be achieved by reversing the prefix-list to deny the subnetted class C networks and only permit the class C networks that are not subnetted. The key here is, to explicitly deny the subnetted class C networks, the matched prefix-length should be ge 25. This is an indication that any class C network with a CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 220 prefix-length 25 or greater has been subnetted. The same permit statement as configured previously is still required to permit the unsubnetted class C networks: R5(config)#no ip prefix-list NET R5(config)#ip prefix-list NET deny 192.0.0.0/3 ge 25 R5(config)#ip prefix-list NET permit 192.0.0.0/3 ge 24 le 24 To verify the configuration: R5#show ip route eigrp | begin Gate Gateway of last resort is not set D D D D 198.1.1.0/24 [90/130816] via 45.1.1.4, 00:00:17, GigabitEthernet0/4 199.1.1.0/24 [90/130816] via 45.1.1.4, 00:00:17, GigabitEthernet0/4 200.1.1.0/24 [90/130816] via 45.1.1.4, 00:00:17, GigabitEthernet0/4 223.1.1.0/24 [90/130816] via 45.1.1.4, 00:00:17, GigabitEthernet0/4 Task 5 Configure R4 such that it denies networks 10.4.4.33/27 and 10.4.5.65/26 and allows the rest of the networks. You should configure a minimum number of lines in the prefix list to accomplish this task. These are the RIPv2 routes advertised by R5. This task carries a requirement to use the least amount of prefix-list statements as possible. Before configuring the prefix-list, we should verify the existing routing table on R4: On R4: R4#show ip route rip | begin Gate Gateway of last resort is not set R R R 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 10.4.4.32/27 [120/1] via 45.1.1.5, 00:00:06, GigabitEthernet0/5 10.4.5.64/26 [120/1] via 45.1.1.5, 00:00:06, GigabitEthernet0/5 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [120/1] via 45.1.1.5, 00:00:06, GigabitEthernet0/5 Whenever tasked to use the least number of lines to cover two prefixes, the best way to complete the task is to find where the first change in the octets of the prefix occurs when both prefixes are converted to binary. In this case, between 10.4.4.32 and 10.4.5.64, the first two octets are the same and the third and CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 221 fourth octets are different. Thus, we should focus on the third and fourth octets. The table below converts these two octets to binary. Once the third and the fourth octet of these two networks are converted to binary we will identify the contiguous identical binary digits: From the analysis above, we can see the first 7 bits of the third octet are identical. When combined with the previous two octets of identical bits there is a total of 23 identical bits between the two prefixes. The remaining bits (bit 8 of the third octet and the entire fourth octet) are converted to zeros and the entire prefix is expressed in decimal to be 10.4.4.0. This is the prefix that should be matched in the prefix list that will match both prefixes. Next, to match the first 23 bits, the /23 prefix-length is assigned to the prefix making the first part of the prefix-list statement 10.4.4.0/23. After figuring out the initial prefix, the next step is to match the prefix-length. The two prefixes have a /27 and /26 prefix length. To match them with a prefix-list we should use ge 26 le 27. The complete prefix-list statement is deny 10.4.4.0/23 ge 26 le 27. Let’s configure the prefix-list and verify: On R4: R4(config)#ip prefix-list Task-5 deny 10.4.4.0/23 ge 26 le 27 R4(config)#ip prefix-list Task-5 permit 0.0.0.0/0 le 32 R4(config)#router rip R4(config-router)#distribute-list prefix Task-5 in g0/5 R4#clear ip route * To verify the configuration: R4#show ip route rip | begin Gate Gateway of last resort is not set R 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [120/1] via 45.1.1.5, 00:00:07, GigabitEthernet0/5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 222 Task 6 Configure R5 to inject a default route in the RIP routing domain. If this configuration is successful, R4 should see the default route in its routing table. This task is in preparation for Task 7. R5 should be configured to send a default route to R4 through RIP. This is accomplished using the default-information originate command in router rip configuration on R5 as follows: On R5: R5(config)#router rip R5(config-router)#default-information originate R5#clear ip route * To verify the configuration: On R4: R4#show ip route rip | begin Gate Gateway of last resort is 45.1.1.5 to network 0.0.0.0 R* R 0.0.0.0/0 [120/1] via 45.1.1.5, 00:00:06, GigabitEthernet0/5 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [120/1] via 45.1.1.5, 00:00:06, GigabitEthernet0/5 The result of the above configuration can be seen in R4’s routing table. As required by the task, R4 receives the default route propagated by R5. Task 7 R4 should be configured to filter the default route injected in the previous task. On the surface, this task seems pretty straightforward. All we need to do is filter out the default route with a prefix-list. However, previous configurations make this a bit more challenging. In Task 5 a prefix-list was created and applied to a distribute-list in the in direction for the G0/5 interface as shown in the configuration below: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 223 On R4: R4#show run | section router rip router rip version 2 network 10.0.0.0 network 45.0.0.0 distribute-list prefix Task-5 in GigabitEthernet0/5 no auto-summary One limitation of distribute-lists in route filtering is the fact that only a single distribute-list can be applied in a single direction for the same interface. In other words, because a distribute-list is already configured in the in direction for g0/5, a second distribute list cannot be configured. To complete the task, we must modify the existing distribute-list’s prefix-list “Task-5” to explicitly deny the default route. The following show run output shows the current prefix-list “Task-5” configuration: R4#show run | include ip prefix-list Task-5 ip prefix-list Task-5 seq 5 deny 10.4.4.0/23 ge 24 le 27 ip prefix-list Task-5 seq 10 permit 0.0.0.0/0 le 32 The prefix-list “Task-5” has two statements with sequence numbers 5 and 10 respectively. The first statement denies the two prefixes from Task 5. The last statement permits all other prefixes. This prefix-list needs to be modified to deny the prefixes from Task 5 AND the default route for this task. The two deny statements must come before the permit statement at sequence 10. One way to accomplish the task is to simply remove the entire prefix-list and reconfigure it in the proper order. An easier way, however, is to simply enter the new prefix-list statement and explicitly specify at what sequence it should be inserted into the existing prefix-list “Task-5”. This is accomplished with the ip prefixlist prefix-list-name seq sequence-number command. This is done in 3 steps: 1. Identify what the new prefix-list statement should permit or deny In this case, we are matching a default route with prefix 0.0.0.0/0. Thus our prefix-list statement should deny 0.0.0.0/0. 2. Determine at what sequence number the new statement should be inserted In this case, we need it to come before the permit 0.0.0.0/0 le 32 statement. A good place for this is at a sequence number between the two existing statements. For this lab, sequence number 7 is chosen as it serves as a good mid-way point between sequence 5 and 10. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 224 3. Combine the new statement with the determined sequence number In this case the completed prefix-list statement should be ip prefix-list Task-5 seq 7 deny 0.0.0.0/0. This configuration is applied on R4. The routing table on R4 no longer has a default route from and verified in the following where R4’s routing table no longer has default route: R4(config)#ip prefix-list Task-5 seq 7 deny 0.0.0.0/0 To verify the configuration: R4#show run | inc ip prefix-list Task-5 ip prefix-list Task-5 seq 5 deny 10.4.4.0/23 ge 26 le 27 ip prefix-list Task-5 seq 7 deny 0.0.0.0/0 ip prefix-list Task-5 seq 10 permit 0.0.0.0/0 le 32 R4#clear ip route * R4#show ip route rip | begin Gate Gateway of last resort is not set R 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [120/1] via 45.1.1.5, 00:00:07, GigabitEthernet0/5 Task 8 Configure R6 to filter any networks with a prefix length of 26 or less. These are OSPF routes advertised by R5. In this task, R6 should filter its OSPF routes received from R5 if they have a prefix-length less than or equal to 26. A quick look at R6’s routing table reveals what prefixes we will be dealing with: On R6: R6#show ip route ospf | begin Gate Gateway of last resort is not set O O 99.0.0.0/8 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 185.1.0.0/16 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 225 O O O O O O O 186.1.0.0/17 is subnetted, 1 subnets 186.1.128.0 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 189.1.0.0/24 is subnetted, 1 subnets 189.1.1.0 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 205.1.1.0/28 is subnetted, 1 subnets 205.1.1.240 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 206.1.1.0/30 is subnetted, 1 subnets 206.1.1.248 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 207.1.1.0/26 is subnetted, 1 subnets 207.1.1.192 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 208.1.1.0/25 is subnetted, 1 subnets 208.1.1.128 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [110/2] via 56.1.1.5, 03:27:56, GigabitEthernet0/5 The routing table on R6 shows prefixes with various prefix lengths such as : /8, /16, /17, /24, /25, /26, /27, /28, and /30. To complete this task all prefixes with a prefix lengths /8, /16, /17, /24, /25 and /26 should be removed from the routing table. At the end of all filtering only the 205.1.1.0/28, 206.1.1.0/30 and 211.4.4.0/27 prefixes should remain since the task requires R6 retaining these networks. In this case, the prefix-list statement should be crafted to match any prefix so the 0.0.0.0/0 prefix is used. Next, the prefix-list should match any prefix-length 26 and lower. The le 26 command accomplishes this task. Combined the total prefix list statement is deny 0.0.0.0/0 le 26. Finally, all other prefixes need to be allowed through using a permit 0.0.0.0/0 le 32 statement. The complete prefix-list is configured as follows and applied to a distribute list in the in direction: On R6: R6(config)#ip prefix-list Task-8 deny 0.0.0.0/0 le 26 R6(config)#ip prefix-list Task-8 permit 0.0.0.0/0 le 32 R6(config)#router ospf 1 R6(config-router)#distribute-list prefix Task-8 in The configuration is then verified using the show ip route ospf command. As the task requires, only prefixes with prefix-length greater that /26 are present in the routing table: To verify the configuration: R6#show ip route ospf | begin Gate Gateway of last resort is not set O 205.1.1.0/28 is subnetted, 1 subnets 205.1.1.240 [110/2] via 56.1.1.5, 00:00:13, GigabitEthernet0/5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 226 O O 206.1.1.0/30 is subnetted, 1 subnets 206.1.1.248 [110/2] via 56.1.1.5, 00:00:13, GigabitEthernet0/5 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [110/2] via 56.1.1.5, 00:00:13, GigabitEthernet0/5 Task 9 Reconfigure R6 to filter any networks with a prefix length of 26 or greater. These are OSPF routes received from R5. Task 9 configures the opposite of Task 8. This time all prefixes on R6 with a prefix-length greater than or equal to 26 should be denied. As reminder, the following is the current routing table on R6: On R6: R6#show ip route ospf | begin Gate Gateway of last resort is not set O O O 205.1.1.0/28 is subnetted, 1 subnets 205.1.1.240 [110/2] via 56.1.1.5, 00:05:34, GigabitEthernet0/5 206.1.1.0/30 is subnetted, 1 subnets 206.1.1.248 [110/2] via 56.1.1.5, 00:05:34, GigabitEthernet0/5 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [110/2] via 56.1.1.5, 00:05:34, GigabitEthernet0/5 Before beginning, the previous prefix-list is removed and the resulting routing table is examined: R6(config)#no ip prefix-list Task-8 To verify the configuration: R6#show ip route ospf | begin Gate Gateway of last resort is not set O O O O 99.0.0.0/8 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 185.1.0.0/16 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 186.1.0.0/17 is subnetted, 1 subnets 186.1.128.0 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 189.1.0.0/24 is subnetted, 1 subnets 189.1.1.0 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 205.1.1.0/28 is subnetted, 1 subnets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 227 O O O O O 205.1.1.240 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 206.1.1.0/30 is subnetted, 1 subnets 206.1.1.248 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 207.1.1.0/26 is subnetted, 1 subnets 207.1.1.192 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 208.1.1.0/25 is subnetted, 1 subnets 208.1.1.128 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 211.4.4.0/27 is subnetted, 1 subnets 211.4.4.32 [110/2] via 56.1.1.5, 00:00:26, GigabitEthernet0/5 To configure the task: Now that the topology has been re-initialized, the prefix list is added again this time the deny statement matches 0.0.0.0/0 ge 26 instead of 0.0.0.0/0 le 26. R6(config)#ip prefix-list Task-8 deny 0.0.0.0/0 ge 26 R6(config)#ip prefix-list Task-8 permit 0.0.0.0/0 le 32 The result can be seen in R6’s routing table below. R6 now injects OSPF routes that have a prefix-length lower than /26: To verify the configuration: R6#show ip route ospf | begin Gate Gateway of last resort is not set O O O O O 99.0.0.0/8 [110/2] via 56.1.1.5, 00:00:07, GigabitEthernet0/5 185.1.0.0/16 [110/2] via 56.1.1.5, 00:00:07, GigabitEthernet0/5 186.1.0.0/17 is subnetted, 1 subnets 186.1.128.0 [110/2] via 56.1.1.5, 00:00:07, GigabitEthernet0/5 189.1.0.0/24 is subnetted, 1 subnets 189.1.1.0 [110/2] via 56.1.1.5, 00:00:07, GigabitEthernet0/5 208.1.1.0/25 is subnetted, 1 subnets 208.1.1.128 [110/2] via 56.1.1.5, 00:00:07, GigabitEthernet0/5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 228 Task 10 Configure R7 to filter the following networks: 146.1.2.129/25 146.1.3.193/26 146.1.4.225/27 6.1.4.225/27 6.1.5.241/28 You should configure only three prefix list statements. These are EIGRP routes advertised by R6. This task is similar to Task number 5 where a single prefix-list statement was engineered to filter multiple prefixes. In this task, using only three prefix-list statements, the above list of networks need to be filtered. Before attempting to solve this task, the current routing table on R7 is examined to get a good idea of what the current reality on R7 is: On R7: R7#show ip route eigrp | begin Gate Gateway of last resort is not set D D D D D D D D D D 6.0.0.0/8 is variably subnetted, 5 subnets, 5 masks 6.1.1.0/24 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 6.1.2.128/25 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 6.1.3.192/26 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 6.1.4.224/27 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 6.1.5.240/28 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 146.1.0.0/16 is variably subnetted, 5 subnets, 5 masks 146.1.1.0/24 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 146.1.2.128/25 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 146.1.3.192/26 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 146.1.4.224/27 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 146.1.5.240/28 [90/130816] via 67.1.1.6, 03:50:35, GigabitEthernet0/6 The highlighted prefixes are the targets of this task. There are only 3 prefix-list statements allowed. One prefix-list statement should be dedicated to the permit 0.0.0.0/0 le 32 statement to allow all unmatched prefixes to pass through the filter. That leaves 2 additional prefix-list statements. These statements should be used to deny the highlighted prefixes above. The remaining two prefix-list statements can be divided up between the two major networks represented by the highlighted prefixes above the 6 and 146 networks. Beginning with the 146 networks the first two CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 229 octets are similar between all three prefixes, 146.1.2.128/25, 146.1.3.192/26, and 146.1.4.224/27. Utilizing the same methodology as in Task-5, these octets are converted to binary and compared in the below: In the third octet, the most significant 5 bits are identical. This means, the prefix-list statement should match prefixes where the first 21 bits are identical (16 for the first two octets plus 5 from the third). The remaining bits in the third octet and all bits in the 4th are set to zero and the whole prefix is converted back to decimal yielding 146.1.0.0. Then the prefix-length /21 is applied to the prefix to indicate the first 21 bits should match. The result is 146.1.0.0/21. The next step is to determine what range of prefix-lengths should be matched by the prefix-list statement. The three original prefixes have /25, /26, and /27 prefix-lengths. Therefore, any prefix length that is a 25, 26, or 27 should be matched. This is expressed by using the ge 25 le 27 statement. Combining the two steps above leads to the following prefix-list statement: ip prefix-list TST deny 146.1.0.0/21 ge 25 le 27 This prefix-list is applied to a distribute-list along with the permit 0.0.0.0/0 le 32 statement in the in direction for the g0/6 interface on R7. This is in effort to verify the configuration before continuing to the last set of prefixes: R7(config)#ip prefix-list TST deny 146.1.0.0/21 ge 25 le 27 R7(config)#ip prefix-list TST permit 0.0.0.0/0 le 32 R7(config)#router eigrp 100 R7(config-router)#distribute-list prefix TST in g0/6 The routing table on R7 below verifies the prefix-list filtered the proper networks as the 146.1.2.128/25, 146.1.3.192/26, and 146.1.4.224/27 prefixes are not seen in the routing table. To verify the configuration: R7#show ip route eigrp | begin Gate Gateway of last resort is not set D D 6.0.0.0/8 is variably subnetted, 5 subnets, 5 masks 6.1.1.0/24 [90/130816] via 67.1.1.6, 00:00:24, GigabitEthernet0/6 6.1.2.128/25 [90/130816] via 67.1.1.6, 00:00:24, GigabitEthernet0/6 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 230 D D D D D 6.1.3.192/26 [90/130816] via 67.1.1.6, 00:00:24, GigabitEthernet0/6 6.1.4.224/27 [90/130816] via 67.1.1.6, 00:00:24, GigabitEthernet0/6 6.1.5.240/28 [90/130816] via 67.1.1.6, 00:00:24, GigabitEthernet0/6 146.1.0.0/16 is variably subnetted, 2 subnets, 2 masks 146.1.1.0/24 [90/130816] via 67.1.1.6, 00:00:24, GigabitEthernet0/6 146.1.5.240/28 [90/130816] via 67.1.1.6, 00:00:24, GigabitEthernet0/6 Now that the “146” prefixes have been dealt with, attention can shift to the “6” prefixes, specifically 6.1.4.225/27 and 6.1.5.241/28 prefixes. First, the first octet where a difference is spotted is examined. This is the third octet yet again. The third octet for both prefixes is converted to binary with the following results: In the third octet, the first seven bits are similar between the two prefixes. When combined with the preceding two octets this means 23 bits in total are similar between the two prefixes. Converting the remaining bits in the prefix to binary zero and converting back to decimal yields the prefix 6.1.4.0. Finally, the 23 bits are matched using a /23 prefix to yield 6.1.4.0/23. The next step again is to designate the range for the prefix-length. The two prefixes we are trying to match have prefix-lengths of /27 and /28. Thus, the ge 27 le 28 statement should be used to cover those prefixes. The complete prefix-list statement is deny 6.1.4.0/23 ge 27 le 28. This statement needs to be added to the previous prefix-list TST before the last permit 0.0.0.0/0 le 32 statement. A quick show run | include ip prefix-list TST on R7 verifies the current sequence set up for the TST prefix-list: R7#show run | include ip prefix-list ip prefix-list TST seq 5 deny 146.1.0.0/21 ge 25 le 27 ip prefix-list TST seq 10 permit 0.0.0.0/0 le 32 Similar to Task 7, the seq argument can be used along with the standard ip pefix-list command to insert the new statement in the middle of the current list. Once again, seq 7 is applied to the statement in the following: R7#show ip prefix-list ip prefix-list TST: 2 entries seq 5 deny 146.1.0.0/21 ge 25 le 27 seq 10 permit 0.0.0.0/0 le 32 R7(config)#ip prefix-list TST seq 7 deny 6.1.4.0/23 ge 27 le 28 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 231 R7#show run | include ip prefix-list ip prefix-list TST seq 5 deny 146.1.0.0/21 ge 25 le 27 ip prefix-list TST seq 7 deny 6.1.4.0/23 ge 27 le 28 ip prefix-list TST seq 10 permit 0.0.0.0/0 le 32 After configuring the prefix-list the show ip route eigrp | begin Gate command is used to verify the configuration: To verify the configuration: R7#show ip route eigrp | begin Gate Gateway of last resort is not set 6.0.0.0/8 is variably subnetted, 3 subnets, 3 masks D D D D D 6.1.1.0/24 [90/130816] via 67.1.1.6, 00:17:54, GigabitEthernet0/6 6.1.2.128/25 [90/130816] via 67.1.1.6, 00:17:54, GigabitEthernet0/6 6.1.3.192/26 [90/130816] via 67.1.1.6, 00:17:54, GigabitEthernet0/6 146.1.0.0/16 is variably subnetted, 2 subnets, 2 masks 146.1.1.0/24 [90/130816] via 67.1.1.6, 00:17:54, GigabitEthernet0/6 146.1.5.240/28 [90/130816] via 67.1.1.6, 00:17:54, GigabitEthernet0/6 The show command output verifies the configuration is complete. Both the “146” and “6” networks indicated in the task requirements have been denied using only 3 prefix-list statements. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 232 Task 11 Erase the startup configuration and reload the routers before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 233 Chapter 3 CCIE Enterprise Infrastructure Foundation v1.0 www.MicronicsTraining.com Narbik Kocharians CCSI, CCIE #12410 R&S, Security, SP RIPv2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 234 Lab 1 Configuring RIPv2 Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder RIPv2 folder Lab-1. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 235 Task 1 Configure RIPv2 on all routers and switches. Advertise their directly connected interfaces in this routing domain. These devices should not have a classful nature. If this configuration is successful, the routers and switches should successfully exchange routes. Use the following policy when configuring this task: 1. R7 and R1 must use two static routes for reachability. 2. R1 and R4 must not use a static route(s). R1 cannot use any solution that’s used in the previous policy or the next ones to provide reachability. You are allowed to disable the sanity check. 3. You cannot use PBR to resolve any of the policies in this task. 4. The IP addresses configured on all the devices in the topology are correct. The First Policy: There are two versions of RIP for IPv4, RIPv2 and RIPv2. By default, on Cisco routers, RIP operates in version 1 mode. To begin solving the first policy, as the task requires, the RIP version running between R1 and R7 is modified to RIPv2 with the version 2 command under the router rip configuration mode. The task also explicitly specifies that the devices configured for RIP should not have a classful nature. This alludes to turning off the automatic summarization when using RIPv2. By default, on IOS, RIP performs automatic summarization of network prefixes when advertising prefixes across major classful network boundaries. This means, for example, if RIP were advertising the prefix 1.1.1.1/32 over an interface that was in the 192.168.1.0/24 subnet, RIP would summarize the update to 1.0.0.0/8 towards its neighbors in the 192.168.1.0/24 subnet. This is because the 1.1.1.1/32 network, a class A network, is crossing the major classful network boundary 192.168.1.0/24, a class C network. This is the classful behaviour that the task wants to prevent. Auto summarization for RIP is turned off with the no auto-summary command under the RIP router configuration mode. Both the above configurations are made on R1 and R7 as shown below: On R1: R1(config)#router rip R1(config-router)#no auto-summary R1(config-router)#version 2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 236 On R7: R7(config)#router rip R7(config-router)#no auto-summary R7(config-router)#version 2 A show run | section router rip issued on R1 and R7 shows no RIP process has initialized on the routers. R1#show run | section router rip R1# R7#show run | section router rip R7# The reason for this is that in order to initialize a RIP process, networks need to be first advertised into RIP. For this purpose, the networks configured on the directly connected interfaces (including the loopback addresses) on R1 and R7 are advertised into RIP with the network statement under the RIP router configuration mode as seen below: On R1: R1(config)#router rip R1(config-router)#network 10.0.0.0 R1(config-router)#network 12.0.0.0 R1(config-router)#network 14.0.0.0 R1(config-router)#network 200.1.1.0 On R7: R7(config)#router rip R7(config-router)#network 10.0.0.0 R7(config-router)#network 21.0.0.0 As a result of the above, the RIP database is populated with IP routes on R1 and R7 as seen below. However, notice, the routing tables on both routers do not show any RIP learned routes from each other: On R1: R1#show ip rip database 10.0.0.0/8 auto-summary 10.1.100.0/24 directly connected, GigabitEthernet0/3 10.1.111.0/24 directly connected, GigabitEthernet0/7 12.0.0.0/8 auto-summary 12.1.1.0/24 directly connected, GigabitEthernet0/2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 237 14.0.0.0/8 14.1.1.0/24 200.1.1.0/24 200.1.1.0/24 auto-summary directly connected, GigabitEthernet0/4 auto-summary directly connected, GigabitEthernet0/9 R1#show ip route rip | begin Gate Gateway of last resort is not set ! No RIP routes On R7: R7#show ip rip database 10.0.0.0/8 auto-summary 10.11.111.0/24 directly connected, GigabitEthernet0/1 21.0.0.0/8 auto-summary 21.1.0.0/16 directly connected, Loopback16 21.2.0.0/15 directly connected, Loopback15 21.4.0.0/14 directly connected, Loopback14 21.8.0.0/13 directly connected, Loopback13 21.16.0.0/12 directly connected, Loopback12 21.32.0.0/11 directly connected, Loopback11 21.64.0.0/10 directly connected, Loopback10 R7#show ip route rip | begin Gate Gateway of last resort is not set ! No RIP routes Observing the show run interface command output from R1 and R7 hints to the obvious problem. Notice how the IP addresses configured on both routers on the interface that connect them are on different networks: On R1: R1#show run interface g0/7 | include ip address ip address 10.1.111.1 255.255.255.0 On R7: R7#show run interface g0/1 | incclude ip address ip address 10.11.111.111 255.255.255.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 238 A router running RIP will only accept RIP updates from its neighbor, if the source IP address of the RIP update belongs to the same network as the local router’s receiving interface. This simply means, the neighbor’s interface IP address should be on the same subnet as the local router’s interface that it is connected to. Since the interface connecting R1 and R7 are configured in different networks, RIP updates they send to each other are not accepted and are dropped. Enabling debugging for RIP with the debug ip rip command on R1 confirms this process: Jul 23 14:26:10.082: RIP: ignored v2 update from bad source 10.11.111.111 on GigabitEthernet0/7 IOS however provides a way to bypass this sanity check by using the no validate-update-source router configuration command on R1 and R7. The command basically prevents a router from validating the source IP address of the RIP update and accepting all updates. Notice in the output below, after issuing the no validate-update-source command under the router rip configuration mode, R1 and R7’s routing tables are now populated with RIP routes: On R1: R1(config)#router rip R1(config-router)#no validate-update-source R1#show ip route rip | begin Gate Gateway of last resort is not set R R R R R R R 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/1] via 10.11.111.111, 00:00:23 21.2.0.0/15 [120/1] via 10.11.111.111, 00:00:23 21.4.0.0/14 [120/1] via 10.11.111.111, 00:00:23 21.8.0.0/13 [120/1] via 10.11.111.111, 00:00:23 21.16.0.0/12 [120/1] via 10.11.111.111, 00:00:23 21.32.0.0/11 [120/1] via 10.11.111.111, 00:00:23 21.64.0.0/10 [120/1] via 10.11.111.111, 00:00:23 On R7: R7(config)#router rip R7(config-router)#no validate-update-source R7#show ip route rip | begin Gate Gateway of last resort is not set R 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks 10.1.100.0/24 [120/1] via 10.1.111.1, 00:00:15 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 239 R R R 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [120/1] via 10.1.111.1, 00:00:15 14.0.0.0/24 is subnetted, 1 subnets 14.1.1.0 [120/1] via 10.1.111.1, 00:00:15 200.1.1.0/24 [120/1] via 10.1.111.1, 00:00:15 To test reachability, a ping is then issued from R1 to R7’s loopback 12 IP address 21.16.1.1. The ping fails, and the result of debug ip packet displays the message unroutable: On R1: R1#debug ip packet R1#ping 21.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 21.16.1.1, timeout is 2 seconds: ..... *Jul 23 14:34:10.390: IP: s=10.1.100.1 (local), d=21.16.1.1, len 100, unroutable. The unroutable message is displayed because the router R1 does not know where to send the packet. Since the ping is intended to an address on R7, R1 should send the packet to R7’s interface 10.11.111.111. In other words, the next hop IP address for the 21.16.1.1 should be 10.11.111.111. This is confirmed below: R1#show ip route rip | begin Gate Gateway of last resort is not set R R R R R R R 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/1] via 10.11.111.111, 00:00:23 21.2.0.0/15 [120/1] via 10.11.111.111, 00:00:23 21.4.0.0/14 [120/1] via 10.11.111.111, 00:00:23 21.8.0.0/13 [120/1] via 10.11.111.111, 00:00:23 21.16.0.0/12 [120/1] via 10.11.111.111, 00:00:23 21.32.0.0/11 [120/1] via 10.11.111.111, 00:00:23 21.64.0.0/10 [120/1] via 10.11.111.111, 00:00:23 Even though the router has the proper route to the destination network, in order to forward the packet, it needs to know out of which interface it should forward the packet. The route above to reach the 21.16.1.1 network does not lead to an exit interface, but to a next-hop IP address. In order to forward the packet to the next-hop, it needs to perform a second routing lookup to determine out of which interface to forward the packet to reach the indicated next-hop. The problem in this scenario is R1 does not have a route to reach the next-hop 10.11.111.111 (R7). The show ip cef 10.11.111.111 output below confirms this. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 240 R1#show ip cef 10.11.111.111 10.11.111.111/32 no route Lacking this route, R1 cannot forward packets using the routing entry. The same issue plagues R7. It does not have a route to reach R1’s interface address that connects the two routers. This is the situation the RIP sanity check is intended to prevent. A situation where two routers do not have routes to reach each other even though routes are advertised between them. This is because R1 and R7’s directly-connected interfaces are not in the same subnet. Normally, the two interfaces would be in the same subnet. Reachability to the next-hops would be provided by a connected route in the routing table for the direct connection. To solve this problem, two static routes can be configured, one on R1 for R7’s next-hop and one on R7 for R1’s next-hop. The key here is that these static route should have an exit interface of the direct connection between R1 and R7. On R1, the route should point to 10.11.111.111/32 with an exit interface of g0/7 and on R7 it should point to 10.1.111.1/32 with an exit interface of g0/1 as shown below: R1(config)#ip route 10.11.111.111 255.255.255.255 g0/7 On R7: R7(config)#ip route 10.1.111.1 255.255.255.255 g0/1 Previous ping from R1 to 21.16.1.1 is repeated. It succeeds as shown below: On R1: R1#ping 21.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 21.16.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms Continuing with completing the Task, R2 is configured to run RIPv2. Similar to the above, auto summarization is turned off, R2 is configured for RIPv2 and the directly connected interfaces are advertised into RIP: On R2: R2(config)#router rip R2(config-router)#no auto-summary CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 241 R2(config-router)#version 2 R2(config-router)#network 12.0.0.0 R2(config-router)#network 24.0.0.0 R2(config-router)#network 28.0.0.0 The show ip route rip command shows the RIP routes R2 learns from R1. These include the directly connected networks on R1 and the RIP routes R1 learns from R7: R2#show ip route rip | begin Gate Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks R 10.1.100.0/24 [120/1] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 10.1.111.0/24 [120/1] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 10.11.111.111/32 [120/1] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 14.0.0.0/24 is subnetted, 1 subnets R 14.1.1.0 [120/1] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks R 21.1.0.0/16 [120/2] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 21.2.0.0/15 [120/2] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 21.4.0.0/14 [120/2] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 21.8.0.0/13 [120/2] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 21.16.0.0/12 [120/2] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 21.32.0.0/11 [120/2] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 21.64.0.0/10 [120/2] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 R 200.1.1.0/24 [120/1] via 12.1.1.1, 00:00:24, GigabitEthernet0/1 Next, R3 is configured to run RIPv2. Following the pattern so far, auto summary is disabled and the networks on the directly connected are advertised into RIP: On R3: R3(config)#router rip R3(config-router)#no auto-summary R3(config-router)#version 2 R3(config-router)#network 3.0.0.0 R3(config-router)#network 10.0.0.0 R3(config-router)#network 113.0.0.0 R3(config-router)#network 200.1.1.0 The routing table on R3 as seen with the show ip route rip command output below shows R3 learns various RIP routes over the G0/1 and G0/9 interfaces connected to R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 242 R3#show ip route rip | begin Gate Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks R 10.1.111.0/24 [120/1] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/1] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 R 10.11.111.111/32 [120/1] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/1] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 12.0.0.0/24 is subnetted, 1 subnets R 12.1.1.0 [120/1] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/1] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 14.0.0.0/24 is subnetted, 1 subnets R 14.1.1.0 [120/1] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/1] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks R 21.1.0.0/16 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 R 21.2.0.0/15 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 R 21.4.0.0/14 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 R 21.8.0.0/13 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 R 21.16.0.0/12 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 R 21.32.0.0/11 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 R 21.64.0.0/10 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 24.0.0.0/24 is subnetted, 1 subnets R 24.1.1.0 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 243 R 28.0.0.0/24 is subnetted, 1 subnets 28.1.1.0 [120/2] via 200.1.1.1, 00:00:22, GigabitEthernet0/9 [120/2] via 10.1.100.1, 00:00:14, GigabitEthernet0/1 Policy 2 R4 is now configured to run RIPv2. However, looking at the diagram, we see that the IP addresses configured on R1 and R4 for the link connecting them belong to different networks: R1: interface GigabitEthernet0/4 ip address 14.1.1.1 255.255.255.0 R4: interface GigabitEthernet0/1 ip address 41.1.1.4 255.255.255.0 As already explained earlier, a router will accept RIP updates only if the source IP address belongs to the same subnet as the receiving interface. Since both R1 and R4 have their common interfaces in different subnets, they will reject each other's RIP updates. This issue was resolved earlier by disabling the sanity check with no validate-update-source command. In addition, both R1 and R4 will not have routes to the IP addresses assigned to their connecting interfaces. This issue was resolved earlier with the use of static routes. This task however, restricts the use of the same solution. So another way to resolve the reachability issue would be to use PPPoE. With PPPoE configured, host routes are created and exchanged. The host routes end up pointing to the neighboring router’s interface, facing the local router. The following PPPoE related configurations are made on R1 and R4: On R1: R1(config)#interface g0/4 R1(config-if)#no ip address R1(config-if)#interface virtual-template 14 R1(config-if)#ip address 14.1.1.1 255.255.255.0 R1(config-if)#peer default ip address pool R4 R1(config-if)#ip local pool R4 41.1.1.4 41.1.1.4 R1(config)#bba-group pppoe tst R1(config-bba-group)#virtual-template 14 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 244 R1(config-bba-group)#interface g0/4 R1(config-if)#pppoe enable group tst R1(config-if)#no shut On R4: R4(config-if)#interface dialer 41 R4(config-if)#encapsulation ppp R4(config-if)#ip address negotiated R4(config-if)#dial pool 100 R4(config-if)#interface g0/1 R4(config-if)#pppoe-client dial-pool-number 100 R4(config-if)#no shut On completing the above, the show ip route connected command output on R1 shows the host route installed for R4’s interface address, 41.1.1.4. Note : If you don’t see the host route, a shutdown and a no shutdown needs to be issued: On R1: R1#show ip route connected | begin Gateway 41.0.0.0/32 is subnetted, 1 subnets C 41.1.1.4 is directly connected, Virtual-Access2.1 A ping to the 14.1.1.1 address from R4 verifies rechability as seen below: On R4: R4#ping 14.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 14.1.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms Next, R1 and R4 are configured for RIPv2. Once again, auto summarization is disabled and the networks on the directly connected interfaces on R4 is advertised into RIP. The command no validate-update-source is also configured under the RIP process on R4 to prevent the same subnet sanity check for RIP. Note : The same needs to be configured on R1. This was taken care of in policy 1. On R4: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 245 R4(config)#router rip R4(config-router)#no auto-summary R4(config-router)#version 2 R4(config-router)#network 46.0.0.0 R4(config-router)#network 45.0.0.0 R4(config-router)#network 41.0.0.0 R4(config-router)#network 24.0.0.0 R4(config-router)#network 10.0.0.0 R4(config-router)#no validate-update-source The show ip route rip | begin Gate output verifies R4 learns all RIP routes from R1. Same is verified on R1 with the show ip route rip | include via 41.1.1.4 command: R4#show ip route rip | begin Gate Gateway of last resort is not set R R R R R R R R R R R R R R R R R R 3.0.0.0/24 is subnetted, 4 subnets 3.3.0.0 [120/2] via 14.1.1.1, 00:00:25 3.3.1.0 [120/2] via 14.1.1.1, 00:00:25 3.3.2.0 [120/2] via 14.1.1.1, 00:00:25 3.3.3.0 [120/2] via 14.1.1.1, 00:00:25 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 10.1.100.0/24 [120/1] via 14.1.1.1, 00:00:25 10.1.111.0/24 [120/1] via 14.1.1.1, 00:00:25 10.11.111.111/32 [120/1] via 14.1.1.1, 00:00:25 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [120/1] via 24.1.1.2, 00:00:01, GigabitEthernet0/2 [120/1] via 14.1.1.1, 00:00:25 14.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 14.1.1.0/24 [120/2] via 24.1.1.2, 00:00:01, GigabitEthernet0/2 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/2] via 14.1.1.1, 00:00:25 21.2.0.0/15 [120/2] via 14.1.1.1, 00:00:25 21.4.0.0/14 [120/2] via 14.1.1.1, 00:00:25 21.8.0.0/13 [120/2] via 14.1.1.1, 00:00:25 21.16.0.0/12 [120/2] via 14.1.1.1, 00:00:25 21.32.0.0/11 [120/2] via 14.1.1.1, 00:00:25 21.64.0.0/10 [120/2] via 14.1.1.1, 00:00:25 28.0.0.0/24 is subnetted, 1 subnets 28.1.1.0 [120/1] via 24.1.1.2, 00:00:01, GigabitEthernet0/2 200.1.1.0/24 [120/1] via 14.1.1.1, 00:00:25 On R1: R1#show ip route rip | include via 41.1.1.4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 246 R R R R 10.1.4.0/24 [120/1] via 41.1.1.4, 00:00:28 24.1.1.0 [120/1] via 41.1.1.4, 00:00:28 45.1.1.0 [120/1] via 41.1.1.4, 00:00:28 46.1.1.0 [120/1] via 41.1.1.4, 00:00:28 Before a ping to R7’s loopback 12 IP address 21.16.1.1 from R4 is performed, one final configuration is made on R1. The host route 41.1.1.4 is added to the RIP database on R1 with the network command to provide rechability to this address from other routers in the RIP domain. A ping to the 21.16.1.1 address is then shown to succeed below: R1(config)#router rip R1(config-router)#network 41.0.0.0 On R4: R4#ping 21.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 21.16.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms Next, RIP is configured on R5. As above, R5 is configure to run RIPv2, auto summarization is disabled and the directly connected interfaces on R5 are advertised into RIPv2 as shown below: On R5: R5(config)#router rip R5(config-router)#no auto-summary R5(config-router)#version 2 R5(config-router)#network 50.0.0.0 R5(config-router)#network 211.1.1.0 R5(config-router)#network 212.1.1.0 R5(config-router)#network 45.0.0.0 R5(config-router)#network 10.0.0.0 On configuring the above, the show ip route rip command output below verifies the RIP routes R5 learns from its RIP neighbor: R5#show ip route rip | begin Gate Gateway of last resort is not set R R 3.0.0.0/24 is subnetted, 4 subnets 3.3.0.0 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 3.3.1.0 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 247 R R 3.3.2.0 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 3.3.3.0 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks R 10.1.4.0/24 [120/1] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 10.1.100.0/24 [120/2] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 10.1.111.0/24 [120/2] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 10.11.111.111/32 [120/2] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 12.0.0.0/24 is subnetted, 1 subnets R 12.1.1.0 [120/2] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 14.0.0.0/24 is subnetted, 1 subnets R 14.1.1.0 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks R 21.1.0.0/16 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.2.0.0/15 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.4.0.0/14 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.8.0.0/13 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.16.0.0/12 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.32.0.0/11 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.64.0.0/10 [120/3] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 24.0.0.0/24 is subnetted, 1 subnets R 24.1.1.0 [120/1] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 28.0.0.0/24 is subnetted, 1 subnets R 28.1.1.0 [120/2] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 41.0.0.0/32 is subnetted, 1 subnets R 41.1.1.4 [120/1] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 46.0.0.0/24 is subnetted, 1 subnets R 46.1.1.0 [120/1] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 R 200.1.1.0/24 [120/2] via 45.1.1.4, 00:00:02, GigabitEthernet0/4 A ping to the 21.16.1.1 address issued to verify rechability from R5 succeeds: R5#ping 21.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 21.16.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/2 ms R6 is configured to run RIPv2 next. Again, similar to the above configurations, auto summary is disabled and the networks on the directly connected interfaces are advertised into RIPv2: On R6: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 248 R6(config)#router rip R6(config-router)#no auto-summary R6(config-router)#version 2 R6(config-router)#network 46.0.0.0 R6(config-router)#network 211.1.1.0 R6(config-router)#network 212.1.1.0 R6(config-router)#network 10.0.0.0 The routing table on R6 verifies the RIP routes learned from its neighbors: R6#show ip route rip | begin Gate Gateway of last resort is not set 3.0.0.0/24 is subnetted, 4 subnets R 3.3.0.0 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 3.3.1.0 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 3.3.2.0 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 3.3.3.0 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks R 10.1.4.0/24 [120/1] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 10.1.100.0/24 [120/2] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 10.1.111.0/24 [120/2] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 10.11.111.111/32 [120/2] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 12.0.0.0/24 is subnetted, 1 subnets R 12.1.1.0 [120/2] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 14.0.0.0/24 is subnetted, 1 subnets R 14.1.1.0 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks R 21.1.0.0/16 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.2.0.0/15 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.4.0.0/14 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.8.0.0/13 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.16.0.0/12 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.32.0.0/11 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 R 21.64.0.0/10 [120/3] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 24.0.0.0/24 is subnetted, 1 subnets R 24.1.1.0 [120/1] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 28.0.0.0/24 is subnetted, 1 subnets R 28.1.1.0 [120/2] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 41.0.0.0/32 is subnetted, 1 subnets R 41.1.1.4 [120/1] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 45.0.0.0/24 is subnetted, 1 subnets R 45.1.1.0 [120/1] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 249 R R [120/1] via 10.1.1.5, 00:00:27, GigabitEthernet0/9 50.0.0.0/24 is subnetted, 1 subnets 50.5.5.0 [120/1] via 10.1.1.5, 00:00:27, GigabitEthernet0/9 200.1.1.0/24 [120/2] via 46.1.1.4, 00:00:02, GigabitEthernet0/4 A ping to the 21.16.1.1 is issued to verify end to end rechability from R6: R6#ping 21.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 21.16.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/6 ms The following configuration activates RIPv2 on SW4 and disables auto summarization. The network 10.0.0.0 command is used to enable RIP on the VLAN 10 SVI of SW4 and advertise that subnet out all other RIP-enabled interfaces. Note: In order to allow Layer 3 switches to perform IP routing, IP routing needs to be enabled on the switches with the ip routing global configuration command. On SW4: SW4(config)#ip routing SW4(config)#router rip SW4(config-router)#no auto-summary SW4(config-router)#version 2 SW4(config-router)#network 10.0.0.0 The show ip route rip command output on SW4 verifies the RIP routes learned by SW4. Note, it may take up to 30 seconds for the routes to be populated. SW4#show ip route rip | begin Gate Gateway of last resort is not set R R R R R 3.0.0.0/24 is subnetted, 4 subnets 3.3.0.0 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 3.3.1.0 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 3.3.2.0 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 3.3.3.0 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks 10.1.4.0/24 [120/2] via 10.1.1.6, 00:00:04, Vlan10 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 250 R R R R R R R R R R R R R R R R R R R R [120/2] via 10.1.1.5, 00:00:16, Vlan10 10.1.100.0/24 [120/3] via 10.1.1.6, 00:00:04, Vlan10 [120/3] via 10.1.1.5, 00:00:16, Vlan10 10.1.111.0/24 [120/3] via 10.1.1.6, 00:00:04, Vlan10 [120/3] via 10.1.1.5, 00:00:16, Vlan10 10.11.111.111/32 [120/3] via 10.1.1.6, 00:00:04, Vlan10 [120/3] via 10.1.1.5, 00:00:16, Vlan10 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [120/3] via 10.1.1.6, 00:00:04, Vlan10 [120/3] via 10.1.1.5, 00:00:16, Vlan10 14.0.0.0/24 is subnetted, 1 subnets 14.1.1.0 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 21.2.0.0/15 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 21.4.0.0/14 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 21.8.0.0/13 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 21.16.0.0/12 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 21.32.0.0/11 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 21.64.0.0/10 [120/4] via 10.1.1.6, 00:00:04, Vlan10 [120/4] via 10.1.1.5, 00:00:16, Vlan10 24.0.0.0/24 is subnetted, 1 subnets 24.1.1.0 [120/2] via 10.1.1.6, 00:00:04, Vlan10 [120/2] via 10.1.1.5, 00:00:16, Vlan10 28.0.0.0/24 is subnetted, 1 subnets 28.1.1.0 [120/3] via 10.1.1.6, 00:00:04, Vlan10 [120/3] via 10.1.1.5, 00:00:16, Vlan10 41.0.0.0/32 is subnetted, 1 subnets 41.1.1.4 [120/2] via 10.1.1.6, 00:00:04, Vlan10 [120/2] via 10.1.1.5, 00:00:16, Vlan10 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [120/1] via 10.1.1.5, 00:00:16, Vlan10 46.0.0.0/24 is subnetted, 1 subnets 46.1.1.0 [120/1] via 10.1.1.6, 00:00:04, Vlan10 50.0.0.0/24 is subnetted, 1 subnets 50.5.5.0 [120/1] via 10.1.1.5, 00:00:16, Vlan10 200.1.1.0/24 [120/3] via 10.1.1.6, 00:00:04, Vlan10 [120/3] via 10.1.1.5, 00:00:16, Vlan10 211.1.1.0/24 [120/1] via 10.1.1.6, 00:00:04, Vlan10 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 251 R [120/1] via 10.1.1.5, 00:00:16, Vlan10 212.1.1.0/24 [120/1] via 10.1.1.6, 00:00:04, Vlan10 [120/1] via 10.1.1.5, 00:00:16, Vlan10 A ping to the 26.16.1.1 address on R7 from SW4 verifies rechability: SW4#ping 21.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 21.16.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms Next, RIPv2 is configured on R8. Again, auto summary is turned off and the networks on the directly connected interfaces on R8 is advertised into RIPv2: On R8: R8(config)#router rip R8(config-router)#no auto-summary R8(config-router)#version 2 R8(config-router)#network 28.0.0.0 The routing table on R8 verifies the RIP routes on R8: R8#show ip route rip | begin Gate Gateway of last resort is not set 3.0.0.0/24 is subnetted, 4 subnets 3.3.0.0 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 3.3.1.0 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 3.3.2.0 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 3.3.3.0 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks R 10.1.1.0/24 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 R 10.1.4.0/24 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 R 10.1.100.0/24 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 R 10.1.111.0/24 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 R 10.11.111.111/32 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 12.0.0.0/24 is subnetted, 1 subnets R 12.1.1.0 [120/1] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 14.0.0.0/24 is subnetted, 1 subnets R 14.1.1.0 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 R R R R CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 252 R R R R R R R R R R R R R R R 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 21.2.0.0/15 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 21.4.0.0/14 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 21.8.0.0/13 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 21.16.0.0/12 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 21.32.0.0/11 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 21.64.0.0/10 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 24.0.0.0/24 is subnetted, 1 subnets 24.1.1.0 [120/1] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 41.0.0.0/32 is subnetted, 1 subnets 41.1.1.4 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 46.0.0.0/24 is subnetted, 1 subnets 46.1.1.0 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 50.0.0.0/24 is subnetted, 1 subnets 50.5.5.0 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 200.1.1.0/24 [120/2] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 211.1.1.0/24 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 212.1.1.0/24 [120/3] via 28.1.1.2, 00:00:23, GigabitEthernet0/2 A ping to the 26.16.1.1 address on R7 from R8 verifies rechability: R8#ping 21.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 21.16.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms SW1 is next configured for RIPv2 as shown below: On SW1: SW1(config)#router rip SW1(config-router)#no auto-summary SW1(config-router)#version 2 SW1(config-router)#network 113.0.0.0 SW1(config-router)#network 112.0.0.0 SW1(config-router)#network 133.1.0.0 The routing table verifies the RIP routes SW1 learns from R3: SW1#show ip route rip | begin Gate Gateway of last resort is not set CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 253 R R R R R R R R R R R R R R R R R R R R R R R R R R 3.0.0.0/24 is subnetted, 4 subnets 3.3.0.0 [120/1] via 113.1.1.3, 00:00:12, Ethernet0/3 3.3.1.0 [120/1] via 113.1.1.3, 00:00:12, Ethernet0/3 3.3.2.0 [120/1] via 113.1.1.3, 00:00:12, Ethernet0/3 3.3.3.0 [120/1] via 113.1.1.3, 00:00:12, Ethernet0/3 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 10.1.1.0/24 [120/4] via 113.1.1.3, 00:00:12, Ethernet0/3 10.1.4.0/24 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 10.1.100.0/24 [120/1] via 113.1.1.3, 00:00:12, Ethernet0/3 10.1.111.0/24 [120/2] via 113.1.1.3, 00:00:12, Ethernet0/3 10.11.111.111/32 [120/2] via 113.1.1.3, 00:00:12, Ethernet0/3 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [120/2] via 113.1.1.3, 00:00:12, Ethernet0/3 14.0.0.0/24 is subnetted, 1 subnets 14.1.1.0 [120/2] via 113.1.1.3, 00:00:12, Ethernet0/3 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 21.2.0.0/15 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 21.4.0.0/14 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 21.8.0.0/13 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 21.16.0.0/12 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 21.32.0.0/11 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 21.64.0.0/10 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 24.0.0.0/24 is subnetted, 1 subnets 24.1.1.0 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 28.0.0.0/24 is subnetted, 1 subnets 28.1.1.0 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 46.0.0.0/24 is subnetted, 1 subnets 46.1.1.0 [120/3] via 113.1.1.3, 00:00:12, Ethernet0/3 50.0.0.0/24 is subnetted, 1 subnets 50.5.5.0 [120/4] via 113.1.1.3, 00:00:12, Ethernet0/3 200.1.1.0/24 [120/1] via 113.1.1.3, 00:00:12, Ethernet0/3 211.1.1.0/24 [120/4] via 113.1.1.3, 00:00:12, Ethernet0/3 212.1.1.0/24 [120/4] via 113.1.1.3, 00:00:12, Ethernet0/3 A ping and a traceroute to test rechability to SW4’s VLAN 10 interface IP address 10.1.1.4 from SW1 succeeds as seen below: SW1#ping 10.1.1.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.4, timeout is 2 seconds: !!!!! CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 254 Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/4 ms SW1#traceroute 10.1.1.4 Type escape sequence to abort. Tracing the route to 10.1.1.4 VRF info: (vrf in name/id, vrf out name/id) 1 113.1.1.3 1 msec 1 msec 1 msec 2 10.1.100.1 1 msec 2 msec 1 msec 3 41.1.1.4 2 msec 1 msec 2 msec 4 46.1.1.6 2 msec 1 msec 1 msec 5 10.1.1.4 3 msec * 3 msec Next, RIPv2 is enabled on SW2 as shown below: On SW2: SW2(config)#router rip SW2(config-router)#version 2 SW2(config-router)#no auto-summary SW2(config-router)#network 112.0.0.0 SW2(config-router)#network 123.0.0.0 The routing table on SW2 verifies the RIPv2 routes it learns: SW2#show ip route rip | begin Gate Gateway of last resort is not set R R R R R R R R R R R R R 3.0.0.0/24 is subnetted, 4 subnets 3.3.0.0 [120/2] via 112.1.1.11, 00:00:08, Ethernet3/0 3.3.1.0 [120/2] via 112.1.1.11, 00:00:08, Ethernet3/0 3.3.2.0 [120/2] via 112.1.1.11, 00:00:08, Ethernet3/0 3.3.3.0 [120/2] via 112.1.1.11, 00:00:08, Ethernet3/0 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 10.1.1.0/24 [120/5] via 112.1.1.11, 00:00:08, Ethernet3/0 10.1.4.0/24 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 10.1.100.0/24 [120/2] via 112.1.1.11, 00:00:08, Ethernet3/0 10.1.111.0/24 [120/3] via 112.1.1.11, 00:00:08, Ethernet3/0 10.11.111.111/32 [120/3] via 112.1.1.11, 00:00:08, Ethernet3/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [120/3] via 112.1.1.11, 00:00:08, Ethernet3/0 14.0.0.0/24 is subnetted, 1 subnets 14.1.1.0 [120/3] via 112.1.1.11, 00:00:08, Ethernet3/0 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 21.2.0.0/15 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 255 R R R R R R R R R R R R R R 21.4.0.0/14 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 21.8.0.0/13 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 21.16.0.0/12 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 21.32.0.0/11 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 21.64.0.0/10 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 24.0.0.0/24 is subnetted, 1 subnets 24.1.1.0 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 28.0.0.0/24 is subnetted, 1 subnets 28.1.1.0 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 46.0.0.0/24 is subnetted, 1 subnets 46.1.1.0 [120/4] via 112.1.1.11, 00:00:08, Ethernet3/0 50.0.0.0/24 is subnetted, 1 subnets 50.5.5.0 [120/5] via 112.1.1.11, 00:00:08, Ethernet3/0 113.0.0.0/24 is subnetted, 1 subnets 113.1.1.0 [120/1] via 112.1.1.11, 00:00:08, Ethernet3/0 200.1.1.0/24 [120/2] via 112.1.1.11, 00:00:08, Ethernet3/0 211.1.1.0/24 [120/5] via 112.1.1.11, 00:00:08, Ethernet3/0 212.1.1.0/24 [120/5] via 112.1.1.11, 00:00:08, Ethernet3/0 Ping and a traceroute to the 10.1.1.4 address on SW4 from SW2 is shown to succeed below: SW2#traceroute 10.1.1.4 Type escape sequence to abort. Tracing the route to 10.1.1.4 VRF info: (vrf in name/id, vrf out name/id) 1 112.1.1.11 0 msec 1 msec 0 msec 2 113.1.1.3 1 msec 1 msec 1 msec 3 10.1.100.1 6 msec 2 msec 1 msec 4 41.1.1.4 2 msec 3 msec 1 msec 5 45.1.1.5 3 msec 3 msec 3 msec 6 10.1.1.4 3 msec 4 msec * Final RIPv2 configuration to provide end to end rechability between all devices is made on SW3 as seen below: On SW3: SW3(config)#router rip SW3(config-router)#no auto-summary SW3(config-router)#version 2 SW3(config-router)#network 123.0.0.0 SW3(config-router)#network 133.1.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 256 The routing table on SW3 verifies all the RIPv2 learned routes: SW3#show ip route rip | begin Gate Gateway of last resort is not set R R R R R R R R R R R R R R R R R R R R R R R R R R R R 3.0.0.0/24 is subnetted, 4 subnets 3.3.0.0 [120/3] via 123.1.1.22, 00:00:20, Ethernet4/0 3.3.1.0 [120/3] via 123.1.1.22, 00:00:20, Ethernet4/0 3.3.2.0 [120/3] via 123.1.1.22, 00:00:20, Ethernet4/0 3.3.3.0 [120/3] via 123.1.1.22, 00:00:20, Ethernet4/0 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 10.1.1.0/24 [120/6] via 123.1.1.22, 00:00:20, Ethernet4/0 10.1.4.0/24 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 10.1.100.0/24 [120/3] via 123.1.1.22, 00:00:20, Ethernet4/0 10.1.111.0/24 [120/4] via 123.1.1.22, 00:00:20, Ethernet4/0 10.11.111.111/32 [120/4] via 123.1.1.22, 00:00:20, Ethernet4/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [120/4] via 123.1.1.22, 00:00:20, Ethernet4/0 14.0.0.0/24 is subnetted, 1 subnets 14.1.1.0 [120/4] via 123.1.1.22, 00:00:20, Ethernet4/0 21.0.0.0/8 is variably subnetted, 7 subnets, 7 masks 21.1.0.0/16 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 21.2.0.0/15 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 21.4.0.0/14 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 21.8.0.0/13 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 21.16.0.0/12 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 21.32.0.0/11 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 21.64.0.0/10 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 24.0.0.0/24 is subnetted, 1 subnets 24.1.1.0 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 28.0.0.0/24 is subnetted, 1 subnets 28.1.1.0 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 46.0.0.0/24 is subnetted, 1 subnets 46.1.1.0 [120/5] via 123.1.1.22, 00:00:20, Ethernet4/0 50.0.0.0/24 is subnetted, 1 subnets 50.5.5.0 [120/6] via 123.1.1.22, 00:00:20, Ethernet4/0 112.0.0.0/24 is subnetted, 1 subnets 112.1.1.0 [120/1] via 123.1.1.22, 00:00:20, Ethernet4/0 113.0.0.0/24 is subnetted, 1 subnets 113.1.1.0 [120/2] via 123.1.1.22, 00:00:20, Ethernet4/0 200.1.1.0/24 [120/3] via 123.1.1.22, 00:00:20, Ethernet4/0 211.1.1.0/24 [120/6] via 123.1.1.22, 00:00:20, Ethernet4/0 212.1.1.0/24 [120/6] via 123.1.1.22, 00:00:20, Ethernet4/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 257 Ping and a traceroute to the 10.1.1.4 address on SW4 from SW3 is shown to succeed below: SW3#ping 10.1.1.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/4 ms SW3#traceroute 10.1.1.4 Type escape sequence to abort. Tracing the route to 10.1.1.4 VRF info: (vrf in name/id, vrf out name/id) 1 133.1.1.11 0 msec 1 msec 0 msec 2 113.1.1.3 2 msec 1 msec 1 msec 3 200.1.1.1 2 msec 1 msec 2 msec 4 41.1.1.4 3 msec 2 msec 2 msec 5 46.1.1.6 2 msec 2 msec 2 msec 6 10.1.1.4 3 msec * 4 msec Task 2 1. Configure R4 such that it sends RIPv2 updates out of its G0/3 interface to a broadcast destination. a. Do not change RIP’s version. 2. Ensure that R1 is configured to send unicast updates to its neighboring router R7. RIPv1 sends RIP updates to the broadcast address 255.255.255.255. RIPv2 however sends updates to the multicast destination 224.0.0.9. All routers were configured to run RIPv2 in task 1. The first part of this task requires modifying R4 so that it broadcasts RIP updates out its G0/3 interface instead of multicasting them, while also restricting changing the RIP version to 1. R4 can be configured to do so with the ip rip v2-broadcast interface level command. The command causes R4 to send broadcast updates out the g0/3 interface. Such a configuration might be useful in situations where the device at the far end does not listen to multicast. The configuration is shown below on R4. The debug ip rip is turned on. Note the log messages on R4. As a result of the ip rip v2-broadcast command configured on R4’s g0/3 interface, it broadcasts to the 255.255.255.255 address. In contrast, the RIP updates sent out the G0/5 interface is multicasted to the 224.0.0.9 address: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 258 On R4: R4(config)#interface g0/3 R4(config-if)#ip rip v2-broadcast To verify the configuration: R4#debug ip rip RIP protocol debugging is on RIP: sending v2 update to 255.255.255.255 via GigabitEthernet0/3 (10.1.4.4) RIP: build update entries 3.3.0.0/24 via 0.0.0.0, metric 3, tag 0 3.3.1.0/24 via 0.0.0.0, metric 3, tag 0 3.3.2.0/24 via 0.0.0.0, metric 3, tag 0 (The rest of the output is omitted for brevity) The second part of the task requires R1 to unicast its RIP updates to R7. As mentioned, by default, RIPv2 will multicast all updates to the address 224.0.0.9. The neighbor neighbor-address command can be used to unicast RIP updates to a neighbor. However, this command itself does stop RIP multicasting, resulting in both multicast and unicast updates being sent to the neighbor. To stop the router from multicasting RIPv2 updates, in conjunction with the neighbor command, the interface must also be declared as passive under the RIP router configuration. Following shows these command configurations on R1 for it’s neighbor R7. The log message after turning on debug ip rip verifies the unicast RIP updates R1 send to R7: On R1: R1(config)#router rip R1(config-router)#passive-interface g0/7 R1(config-router)#neighbor 10.11.111.111 To verify the configuration: R1#debug ip rip RIP protocol debugging is on RIP: sending v2 update to 10.11.111.111 via GigabitEthernet0/7 (10.1.111.1) RIP: build update entries CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 259 3.3.0.0/24 via 0.0.0.0, metric 2, tag 0 3.3.1.0/24 via 0.0.0.0, metric 2, tag 0 3.3.2.0/24 via 0.0.0.0, metric 2, tag 0 (The rest of the output is omitted for brevity) Task 3 Configure the following loopback interfaces on R3. Starting with network 30.3.0.0/24, this router should only advertise every other third octet network (for example, x.x.0.x, x.x.2.x, x.x.4.x). These are networks 30.3.0.0, 30.3.2.0, 30.3.4.0, 30.3.6.0, 30.3.8.0, and 30.3.10.0/24. int lo0 = 30.3.0.1 /24 int lo1 = 30.3.1.1 /24 int lo2 = 30.3.2.1 /24 int lo3 = 30.3.3.1 /24 int lo4 = 30.3.4.1 /24 int lo5 = 30.3.5.1 /24 int lo6 = 30.3.6.1 /24 int lo7 = 30.3.7.1 /24 int lo8 = 30.3.8.1 /24 int lo9 = 30.3.9.1 /24 int lo10 = 30.3.10.1 /24 To copy and paste the initial configurations, go to the Initial-config folder RIPv2 folder Lab-1-Task3. On R3: This task requires some understanding of binary numbers and how to match them using an access-list’s wildcard mask. IP address 1st Octet 2nd Octet 3rd Octet 4th Octet 30.3.1.1 00011110 00000011 00000001 00000001 30.3.2.1 00011110 00000011 00000010 00000001 30.3.3.1 00011110 00000011 00000011 00000001 30.3.4.1 00011110 00000011 00000100 00000001 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 260 30.3.5.1 00011110 00000011 00000101 00000001 30.3.6.1 00011110 00000011 00000110 00000001 30.3.7.1 00011110 00000011 00000111 00000001 30.3.8.1 00011110 00000011 00001000 00000001 30.3.9.1 00011110 00000011 00001001 00000001 30.3.10.1 00011110 00000011 00001010 00000001 Of particular interest in the above is the third octet highlighted in red. What do we notice in the above? All IP addresses that have an odd number in their third octet (red and yellow highlights), have a binary 1 as the last bit. All IP addresses that have an even number in their third octet (red and blue highlights), have a binay 0 as the last bit of that octet. This is true for all addresses. For more clarity, let’s magnify just the third octet for each IP address listed above. In the table below, the first column is the number in the third octet of the IP address. For example, the text in red in the first row is 1. This is the number in the third octet of the IP address 30.3.1.1. The columns following this are the binary representation of this number: Bit values of the third octet IP 128 64 32 16 8 4 1 0 0 0 0 0 2 0 0 0 0 3 0 0 0 4 0 0 5 0 6 2 1 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 7 0 0 0 0 0 1 1 1 8 0 0 0 0 1 0 0 0 9 0 0 0 0 1 0 0 1 CCIE by Narbik Kocharians D CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 261 10 0 0 0 0 1 0 1 0 So as is obvious in the table above, all odd numbers have their last binary bit set to 1. All even numbers have their last binary bit set to 0. This means, IP addresses with an odd number in their third octet, such as 30.3.1.0, 30.3.3.0, 30.3.5.0, 30.3.7.0 and 30.3.9.0, have one thing in common, the last binary bit of their third octet is 1. According to the task R3 should not advertise these odd numbered networks into RIPv2. Only, the even numbered networks should be advertised into RIP. One of the ways to do this is to instruct R3 to check the last binary bit of the third octet of the configured IP addresses. If this last binary bit is 1, do not advertise this network into RIP. If this bit is not 1, meaning it is 0, go on and advertise it. ACLs and wildcard masks can do just this. ACLs are used to filter or sort packets or routes based on IP address, protocol, and port numbers. This sorting is done by matching what is being sorted to a pattern. For example, if an ACL wanted to sort a group of IP addresses such that all IP addresses that began with 192.168.0.0 are grouped it would need to be configured to match any IP address where the first two octets have the exact bit pattern of “192.168”. To successfully implement this, the ACL needs additional information to identify which specific bits should match. This is what the wildcard mask does. A wildcard mask is a 32-bit number that is represented in 4 octets just like a regular IP address. A wildcard mask is related to a subnet mask in that they are both used to direct a networking device in how it should interpret the individual bits of an IP address. In the case of a subnet mask, it identifies the consecutive string of bits that indicate the subnet portion of the IP address (masked with a binary 1 in the subnet mask) and the consecutive string of bits that indicate the host portion of the IP address (masked with a binary 0 in the subnet mask). A subnet mask of 255.255.255.0 has 24 consecutive binary 1 digits. These binary 1 digits indicate the network portion of the IP address. In this case, the first 24 bits are the network identifier. The last 8 binary 0 bits of the subnet mask indicate the host portion of the IP address. Applied to the 192.168.1.1 IP address, the 255.255.255.0 subnet mask tells the networking device that 192.168.1.0 is the network and “1” is the host address of the device on that network. Wild card masks are used exclusively for identifying which bits should match when comparing two bit patterns. They operate using the following matching logic: 1. If the binary bit in the wildcard mask is 1, the bit in the same position does NOT have match between the two compared bit patterns 2. If the binary bit in the wildcard mask is 0, the bit in the same position HAS to match between the two compared bit patterns CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 262 Thus a wildcard value of 0.0.255.255 is basically indicating that the first two octets of bit patterns should match between two compared pattern values while the last two octets do not have to match. When combined with an ACL statement such as permit 192.168.0.0 0.0.255.255 it powers the sorting function. Any IP address whose first two octets have the same bit pattern that equals “192.168” will be matched by that ACL statement because of the wildcard mask applied. The ACL statement is therefore read as “permit any address where the first two octets have the bit pattern ‘192.168’”. Wildcard masks are very powerful for bit pattern matching. Unlike subnet masks, wildcard masks do not have to be written to match consecutive bit patterns. This means a wildcard mask of 0.255.0.255 is a valid wildcard mask. It indicates the bit pattern for the first and third octet should match between two patterns. This fact can be used to complete the task and craft an ACL that only denies the odd-number third octet routes from being advertised in rip. The ACL used to complete the task requires two parts: a bit pattern to match against and a wildcard mask to indicate which bits should be matched. According to the task only the routes that begin with 30.3.0.0 should be affected by this policy. This means the first two octets of the filtered routes should be “30.3”. This forms the basis of the matching bit pattern needed for the ACL. Next, the task says that starting with 30.3.0.0 every other network should be advertised. These are only the even networks. This means the odd networks should be denied. Armed with the knowledge that all odd binary numbers have a binary 1 as the last binary digit, the matching bit pattern for the third octet should be “xxxxxxx1”. In other words, the first seven binary digits can be either a “0” or “1” but the last binary digit MUST be a “1”. To make sure this is the matched bit any decimal odd number needs to form the matching bit pattern in the third octet. For simplicity, the number 1 is used. This makes the matching bit pattern “30.3.1”. The task does not give any explicit instructions about what should be matched in the fourth octet. As such a 0 is enough. The final matching bit pattern is “30.3.1.0”. This completes the first part of the ACL. The next step is to formulate a wildcard mask that describes what bits should match in the matching bit pattern when compared to other patterns. These “other patterns” will be referred to as “incoming bit patterns” from here out. Since the task explicitly states that the first two octets must be 30.3, these octets MUST match between the matched pattern and the incoming bit patterns. Thus, the wildcard mask for these two octets must include two octets of binary 0’s (“0.0”) to indicate the pattern must be the same. The third and fourth octets are special. The only bit that needs to match in the third octet is the last bit. This bit is a binary “1” and is present for all odd numbers. All other bits in the third and fourth octet do not have to match. Thus the binary mask for these octets should be “1111110.11111111” when converted to decimal the pattern is “254.255”. The final wildcard mask is “0.0.254.255”. With these two pieces of information, the ACL statement to deny IP addresses in the 30.3.0.0/24 range if the third octet is an odd number is deny 30.3.1.0 0.0.254.255. The wildcard mask properly indicates that any CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 263 incoming bit pattern should have the same first 16 consecutive bits and eight bit of the third octet as the bit pattern 30.3.1.0. To see how this works, let’s assume the route 30.3.2.0/24 is examined by the access-list statement that was just crafted. The following table examines third octet interaction specifically. In this table, 30.3.2.0 is the incoming bit pattern, 30.3.1.0 is the matching bit pattern and 0.0.254.255 is the wildcard mask. Incoming bit pattern 0 0 0 0 0 0 1 0 Matching bit pattern 0 0 0 0 0 0 0 1 WC-bits 1 1 1 1 1 1 1 0 The Wildcard bits indicate that the last bit of the incoming bit pattern should match the last bit of the matching bit pattern. The last bit of the incoming pattern is “0” while the last bit of the matched pattern is “1”. Because these two numbers do not match, the incoming bit pattern does not match the “deny” ACL statement and passes to the next ACL statement for matching. This means 30.3.2.0/24 is not an odd number. To ensure the even third octet routes and all other routes pass through, the ACL statement permit any needs to be added to the end of the ACL. The complete ACL is as follows: R3(config)#access-list 30 deny 30.3.1.0 0.0.254.255 R3(config)#access-list 30 permit any To perform the filter, distribute-lists are configured in the out direction for g0/1, g0/9 and g0/0 under router RIP configuration mode to filter the RIP routing updates. The distribute-lists reference the previously configured ACL 30 to sort the prefixes as seen below: R3(config)#router rip R3(config-router)#network 30.0.0.0 R3(config-router)#distribute-list 30 out g0/1 R3(config-router)#distribute-list 30 out g0/9 R3(config-router)#distribute-list 30 out g0/0 The routing table is observed on some of the routers to verify the result of the above configuration. Notice these routers only have RIP routes for even numbered subnets in the third octet for the “30.3” networks: R3#clear ip route * To verify the configuration: You may have to enter “clear ip route *” multiple times to see the result. Remember, RIP’s convergence is VERY slow. The “clear ip route *” must be entered multiple times on all routers. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 264 On R1: R1#show ip route rip | include 30.3. R R R R R R 30.3.0.0 [120/1] via 200.1.1.3, 00:00:04, GigabitEthernet9 30.3.2.0 [120/1] via 200.1.1.3, 00:00:04, GigabitEthernet9 30.3.4.0 [120/1] via 200.1.1.3, 00:00:04, GigabitEthernet9 30.3.6.0 [120/1] via 200.1.1.3, 00:00:04, GigabitEthernet9 30.3.8.0 [120/1] via 200.1.1.3, 00:00:04, GigabitEthernet9 30.3.10.0 [120/1] via 200.1.1.3, 00:00:04, GigabitEthernet9 On SW1: SW1#show ip route rip | include 30.3. R R R R R R 30.3.0.0 [120/1] via 113.1.1.3, 00:00:09, Ethernet0/3 30.3.2.0 [120/1] via 113.1.1.3, 00:00:09, Ethernet0/3 30.3.4.0 [120/1] via 113.1.1.3, 00:00:09, Ethernet0/3 30.3.6.0 [120/1] via 113.1.1.3, 00:00:09, Ethernet0/3 30.3.8.0 [120/1] via 113.1.1.3, 00:00:09, Ethernet0/3 30.3.10.0 [120/1] via 113.1.1.3, 00:00:09, Ethernet0/3 On SW4: SW4#show ip route rip | include 30.3. R R R R R R 30.3.0.0 [120/5] via 10.1.1.6, 00:00:16, Vlan10 30.3.2.0 [120/5] via 10.1.1.6, 00:00:16, Vlan10 30.3.4.0 [120/5] via 10.1.1.6, 00:00:16, Vlan10 30.3.6.0 [120/5] via 10.1.1.6, 00:00:16, Vlan10 30.3.8.0 [120/5] via 10.1.1.6, 00:00:16, Vlan10 30.3.10.0 [120/5] via 10.1.1.6, 00:00:16, Vlan10 Task 4 Configure the following loopback interfaces on R6. Starting with network 60.6.0.0/24, this router should only advertise every eighth third octet subnet (for example, x.x.0.x, x.x.8.x, x.x.16.x). int lo0 = 60.6.0.1 /24 int lo1 = 60.6.1.1 /24 CCIE by Narbik Kocharians int lo6 = 60.6.6.1 /24 int lo7 = 60.6.7.1 /24 CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 265 int lo2 = 60.6.2.1 /24 int lo3 = 60.6.3.1 /24 int lo4 = 60.6.4.1 /24 int lo5 = 60.6.5.1 /24 int lo8 = 60.6.8.1 /24 int lo9 = 60.6.9.1 /24 int lo10 = 60.6.10.1 /24 Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder RIPv2 folder Lab-1-Task4. This task uses the same logic as Task 3 in order to formulate an access-list that denies every 8th subnet in the third octet. On R6: NOTE: If “248” which is the third octet in the inverse mask of the access-list is converted to binary, we should see the following: Decimal Binary 128 1 64 1 32 1 16 1 8 1 4 0 2 0 1 0 Since decimal value of 8 is the last position used to represent the decimal value of 248 in binary, the subsequent networks will be increments of 8. If 240 was used, the networks will be increments of 16. If 224 was used, the networks will be increments of 32 and so forth. R6(config)#access-list 60 permit 60.6.0.0 0.0.248.255 R6(config)#access-list 60 deny 60.6.0.0 0.0.255.255 R6(config)#access-list 60 permit any Next, distribute-lists are configured in the out direction for g0/4 and g0/9 under the router RIP configuration mode to filter the RIP routing updates as seen below: R6(config)#router rip R6(config-router)#distribute-list 60 out g0/4 R6(config-router)#distribute-list 60 out g0/9 R6(config-router)#network 60.0.0.0 R6#clear ip route * The routing table is observed on SW4, R2 and R1 to verify the result of the above configuration. The output confirms that only every 8th subnet of the “60.6” networks has been advertised by R6 to R4 and R2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 266 To verify the configuration: On SW4: SW4#clear ip route * SW4#show ip route rip | include 60.6. R R 60.6.8.0 [120/1] via 10.1.1.6, 00:00:25, Vlan10 60.6.0.0 [120/1] via 10.1.1.6, 00:00:25, Vlan10 On R2: R2#show ip route rip | include 60.6. R R 60.6.8.0 [120/2] via 24.1.1.4, 00:00:13, GigabitEthernet0/4 60.6.0.0 [120/2] via 24.1.1.4, 00:00:13, GigabitEthernet0/4 On R1: R1#show ip route rip | include 60.6. R R 60.6.8.0 [120/2] via 41.1.1.4, 00:00:16 60.6.0.0 [120/2] via 41.1.1.4, 00:00:16 Task 5 Configure the following loopback interfaces on R4. This router should be configured such that it only advertises the even-numbered hosts of the odd third octet networks of these loopback interfaces plus all other networks (for example, x.x.1.x, x.x.3.x, x.x.5.x). Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder RIPv2 folder Lab-1-Task5. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 267 int lo1 int lo6 ip addr 40.4.1.1 255.255.255.0 ip addr 40.4.6.1 255.255.255.0 ip addr 40.4.1.2 255.255.255.255 sec ip addr 40.4.6.2 255.255.255.255 sec ip addr 40.4.1.3 255.255.255.255 sec ip addr 40.4.6.3 255.255.255.255 sec ip addr 40.4.1.4 255.255.255.255 sec ip addr 40.4.6.4 255.255.255.255 sec ip addr 40.4.1.5 255.255.255.255 sec ip addr 40.4.6.5 255.255.255.255 sec ip addr 40.4.1.6 255.255.255.255 sec ip addr 40.4.6.6 255.255.255.255 sec ip addr 40.4.1.7 255.255.255.255 sec ip addr 40.4.6.7 255.255.255.255 sec ip addr 40.4.1.8 255.255.255.255 sec ip addr 40.4.6.8 255.255.255.255 sec ip addr 40.4.1.9 255.255.255.255 sec ip addr 40.4.6.9 255.255.255.255 sec ip addr 40.4.1.10 255.255.255.255 sec ip addr 40.4.6.10 255.255.255.255 sec int lo2 int lo7 ip addr 40.4.2.1 255.255.255.0 ip addr 40.4.7.1 255.255.255.0 ip addr 40.4.2.2 255.255.255.255 sec ip addr 40.4.7.2 255.255.255.255 sec ip addr 40.4.2.3 255.255.255.255 sec ip addr 40.4.7.3 255.255.255.255 sec ip addr 40.4.2.4 255.255.255.255 sec ip addr 40.4.7.4 255.255.255.255 sec ip addr 40.4.2.5 255.255.255.255 sec ip addr 40.4.7.5 255.255.255.255 sec ip addr 40.4.2.6 255.255.255.255 sec ip addr 40.4.7.6 255.255.255.255 sec ip addr 40.4.2.7 255.255.255.255 sec ip addr 40.4.7.7 255.255.255.255 sec ip addr 40.4.2.8 255.255.255.255 sec ip addr 40.4.7.8 255.255.255.255 sec ip addr 40.4.2.9 255.255.255.255 sec ip addr 40.4.7.9 255.255.255.255 sec ip addr 40.4.2.10 255.255.255.255 sec ip addr 40.4.7.10 255.255.255.255 sec int lo3 int lo8 ip addr 40.4.3.1 255.255.255.0 ip addr 40.4.8.1 255.255.255.0 ip addr 40.4.3.2 255.255.255.255 sec ip addr 40.4.8.2 255.255.255.255 sec ip addr 40.4.3.3 255.255.255.255 sec ip addr 40.4.8.3 255.255.255.255 sec ip addr 40.4.3.4 255.255.255.255 sec ip addr 40.4.8.4 255.255.255.255 sec ip addr 40.4.3.5 255.255.255.255 sec ip addr 40.4.8.5 255.255.255.255 sec CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 268 ip addr 40.4.3.6 255.255.255.255 sec ip addr 40.4.8.6 255.255.255.255 sec ip addr 40.4.3.7 255.255.255.255 sec ip addr 40.4.8.7 255.255.255.255 sec ip addr 40.4.3.8 255.255.255.255 sec ip addr 40.4.8.8 255.255.255.255 sec ip addr 40.4.3.9 255.255.255.255 sec ip addr 40.4.8.9 255.255.255.255 sec ip addr 40.4.3.10 255.255.255.255 sec ip addr 40.4.8.10 255.255.255.255 sec int lo4 int lo9 ip addr 40.4.4.1 255.255.255.0 ip addr 40.4.9.1 255.255.255.0 ip addr 40.4.4.2 255.255.255.255 sec ip addr 40.4.9.2 255.255.255.255 sec ip addr 40.4.4.3 255.255.255.255 sec ip addr 40.4.9.3 255.255.255.255 sec ip addr 40.4.4.4 255.255.255.255 sec ip addr 40.4.9.4 255.255.255.255 sec ip addr 40.4.4.5 255.255.255.255 sec ip addr 40.4.9.5 255.255.255.255 sec ip addr 40.4.4.6 255.255.255.255 sec ip addr 40.4.9.6 255.255.255.255 sec ip addr 40.4.4.7 255.255.255.255 sec ip addr 40.4.9.7 255.255.255.255 sec ip addr 40.4.4.8 255.255.255.255 sec ip addr 40.4.9.8 255.255.255.255 sec ip addr 40.4.4.9 255.255.255.255 sec ip addr 40.4.9.9 255.255.255.255 sec ip addr 40.4.4.10 255.255.255.255 sec ip addr 40.4.9.10 255.255.255.255 sec int lo5 int lo10 ip addr 40.4.5.1 255.255.255.0 ip addr 40.4.10.1 255.255.255.0 ip addr 40.4.5.2 255.255.255.255 sec ip addr 40.4.10.2 255.255.255.255 sec ip addr 40.4.5.3 255.255.255.255 sec ip addr 40.4.10.3 255.255.255.255 sec ip addr 40.4.5.4 255.255.255.255 sec ip addr 40.4.10.4 255.255.255.255 sec ip addr 40.4.5.5 255.255.255.255 sec ip addr 40.4.10.5 255.255.255.255 sec ip addr 40.4.5.6 255.255.255.255 sec ip addr 40.4.10.6 255.255.255.255 sec ip addr 40.4.5.7 255.255.255.255 sec ip addr 40.4.10.7 255.255.255.255 sec ip addr 40.4.5.8 255.255.255.255 sec ip addr 40.4.10.8 255.255.255.255 sec ip addr 40.4.5.9 255.255.255.255 sec ip addr 40.4.10.9 255.255.255.255 sec ip addr 40.4.5.10 255.255.255.255 sec CCIE by Narbik Kocharians ip addr 40.4.10.10 255.255.255.255 sec CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 269 This task may seem a bit complicated at first, but a quick breakdown can help understand what it requires. It states that only the even hosts of odd third octet subnets should be advertised in RIP. This means that 40.4.5.2 should be advertised, while 40.4.5.1 should not. In other words, the third octet should be an odd number and the fourth octet should be an even number of a “40.4” network in order to be permitted. This task uses the same logic as Task 3 in order to formulate the proper access-list. Care must be taken with the matched bit pattern as an odd number must be in the first octet while an even number should be in the fourth octet. Even numbers in binary will never have a binary “1” as the last bit, while odd numbers will always have a binary “1” as the last bit. The wildcard mask should match this bit with a binary “0” preceded by seven binary “1’s”. Thus the following ACL has been derived: On R4: R4(config)#access-list 40 permit 40.4.1.0 0.0.254.254 R4(config)#access-list 40 deny 40.4.0.0 0.0.255.255 R4(config)#access-list 40 permit any The above configuration adds an explicit deny for the 40.4.0.0 address. The reason this was added is because it will NOT match the first ACL statement. Because a permit any statement is required to pass all other non “40.4” routes, the 40.4.0.0 network will pass through even though it shouldn’t. The explicit deny statement prevents this. To configure the filtering distribute-lists referencing the access-list above are configured in router RIP configuration mode in the out direction for g0/2, g0/3, g0/5, and g0/6 to filter the RIP routing updates as seen below: R4(config)#router rip R4(config-router)#network 40.0.0.0 R4(config-router)#distribute-list 40 out dialer41 R4(config-router)#distribute-list 40 out g0/2 R4(config-router)#distribute-list 40 out g0/3 R4(config-router)#distribute-list 40 out g0/5 R4(config-router)#distribute-list 40 out g0/6 The routing table on R1 is checked to verify the result of the above configurations. Notice only odd third octet and even fourth octet “40.4” routes have been advertised by R4 to the other routers: On All Devices: Rx#clear ip route * CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 270 To verify the configuration: On R1: R1#clear ip route * R1#show ip route rip | include 40.4. R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 40.4.1.0/24 [120/1] via 41.1.1.4, 00:00:19 40.4.1.2/32 [120/1] via 41.1.1.4, 00:00:19 40.4.1.4/32 [120/1] via 41.1.1.4, 00:00:19 40.4.1.6/32 [120/1] via 41.1.1.4, 00:00:19 40.4.1.8/32 [120/1] via 41.1.1.4, 00:00:19 40.4.1.10/32 [120/1] via 41.1.1.4, 00:00:19 40.4.3.0/24 [120/1] via 41.1.1.4, 00:00:19 40.4.3.2/32 [120/1] via 41.1.1.4, 00:00:19 40.4.3.4/32 [120/1] via 41.1.1.4, 00:00:19 40.4.3.6/32 [120/1] via 41.1.1.4, 00:00:19 40.4.3.8/32 [120/1] via 41.1.1.4, 00:00:19 40.4.3.10/32 [120/1] via 41.1.1.4, 00:00:19 40.4.5.0/24 [120/1] via 41.1.1.4, 00:00:19 40.4.5.2/32 [120/1] via 41.1.1.4, 00:00:19 40.4.5.4/32 [120/1] via 41.1.1.4, 00:00:19 40.4.5.6/32 [120/1] via 41.1.1.4, 00:00:19 40.4.5.8/32 [120/1] via 41.1.1.4, 00:00:19 40.4.5.10/32 [120/1] via 41.1.1.4, 00:00:19 40.4.7.0/24 [120/1] via 41.1.1.4, 00:00:19 40.4.7.2/32 [120/1] via 41.1.1.4, 00:00:19 40.4.7.4/32 [120/1] via 41.1.1.4, 00:00:19 40.4.7.6/32 [120/1] via 41.1.1.4, 00:00:19 40.4.7.8/32 [120/1] via 41.1.1.4, 00:00:19 40.4.7.10/32 [120/1] via 41.1.1.4, 00:00:19 40.4.9.0/24 [120/1] via 41.1.1.4, 00:00:19 40.4.9.2/32 [120/1] via 41.1.1.4, 00:00:19 40.4.9.4/32 [120/1] via 41.1.1.4, 00:00:19 40.4.9.6/32 [120/1] via 41.1.1.4, 00:00:19 40.4.9.8/32 [120/1] via 41.1.1.4, 00:00:19 40.4.9.10/32 [120/1] via 41.1.1.4, 00:00:19 Task 6 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 271 Configure the routers and switches in this routing domain based on the following timers: Periodic updates are sent every 30 seconds. Routers and switches should declare a route invalid after 1.5 minutes. Routers and switches should suppress routing information regarding a better path for 1.5 minutes. Routers and switches should flush routes 30 seconds after they are invalid. Routers and switches should postpone their periodic updates by 100 milliseconds. RIPv2 exchanges updates messages every 30 seconds. This timer is known as the update timer. The first part of the task requires the update timer to remain at its default of 30 seconds. The invalid timer dictates how long before a RIP route can be considered invalid. The default value is 180 seconds. If a router does not receive a RIP update from the next hop for a period of 180 seconds, the RIP route is declared invalid. The router at this point activates another RIP route timer known as the hold down timer that too defaults to 180 seconds. Sub-task 2 hints towards modifying the invalid timer on all the devices from 180 seconds to 90 seconds. During the period of the hold down timer of 180 seconds for a RIP route, the router does not accept any updates, meaning it will suppress any new updates it might receive for that route. It is during this period that the router announces the said route to be unreachable to its RIP neighboring routers. Sub-task 3 hints towards modifying this suppression value to 90 seconds. Sub-task 4 requires modifying the flushed after timer. The flushed after timer begins when a router receives a RIP update. It runs for a duration of 240 seconds by default. If the router hasn’t received any RIP update for a RIP route for 240 seconds, meaning the flushed after timer expires, the router will remove the RIP route from the routing table. The task requires ensuring that flushed after timer expires 30 seconds after a route has been declared as invaid. As seen earlier, the invalid timer as per the task requirement is to be set to 90 seconds. This means, the flushed after timer will include the duration of the invalid timer of 90 seconds + 30 second, total of 120 seconds. Finally, sub-task 5 requires postponing the periodic updates by 100 milliseconds. This is done by setting the sleep timer value to 100 ms. The following configurations are made on all the devices in the topology to implement the changes mentioned above in the specified order: On All Routers: (config)#router rip (config-router)#timers basic 30 90 90 120 100 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 272 To verify the configuration: The show ip protocol command output can then be used to verify the results of configuration changes as seen in the example output below from R1: On Any Router: Rx#show ip protocol | include Send|Inv Sending updates every 0 seconds Invalid after 0 seconds, hold down 0, flushed after 0 Sending updates every 30 seconds, next due in 0 seconds Invalid after 90 seconds, hold down 90, flushed after 120 Interface Send Recv Triggered RIP Key-chain Task 7 Since R1 is a very fast router, configure it such that it adds an inter-packet delay of 50 milliseconds between the updates. The output-delay command under the RIP configuration mode can be used on a router to slow down the speed at which it sends a RIP update to its neighboring router. This delay will help prevent loss of routing information at the receiving router. The task requires an output delay of 50 milliseconds to be applied on R1. The configuration for this is shown below: On R1: R1(config)#router rip R1(config-router)#output-delay 50 The show ip protocols command output below verifies the above configuration: R1#show ip protocols | section Routing Protocol is "rip" Routing Protocol is "rip" Output delay 50 milliseconds between packets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 273 Task 8 Configure R2 to set the number of received but not yet processed RIP update packets in the RIP input queue to 100. In contrast to the output-delay command used above, the input-queue command is issued on low speed routers locally to prevent the loss of routing information. The input queue holds unprocessed RIP update packets with a default queue depth of 50. The task requires making changes to increase the queue depth to 100 on R2. This is done with the input-queue 100 command under the RIP router configuration mode as shown below: On R2: R2(config)#router rip R2(config-router)#input-queue 100 Task 9 Configure all routers to suppress a flash update when a topology change occurs 10 seconds before a regular update. RIP updates are regularly sent every 30 seconds by default. Flash updates are basically triggered updates that are sent when a router detects a sudden loss of a route. For example if the directly connected interface that is advertised into RIP is shutdown. In this case, the router immediately sends out a RIP update response message with an infinite metric of 16, poisoning the route since it is now unreachable. This way neighboring routers can flush the route from their routing tables. In certain situations, RIP may need to send a flash update seconds before a regular update is due to be sent. In this case, it would be more efficient for RIP to send the flash update information in a regular RIP update. The RIP process can be configured to suppress flash updates if a regular update is due to be sent within a configured threshold for efficiency. The task requires that all devices suppress their flash updates if the next RIP regular update is due to be sent in 10 seconds. All devices can be configured to do this with the command flash-update-threshold 10 under the RIP router configuration mode as shown below: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 274 On All routers: (config)#router rip (config-router)#flash-update-threshold 10 To verify the configuration: On Any Router: #show ip protocol | include Flash Flash update is suppressed when next update due within 10 seconds Task 10 Configure R1 and R2 to authenticate their routing updates through their direct connection. Configure these two routers to use the unencrypted key ccie for this purpose. RIPv2 supports both plain-text and MD5 authentication to authenticate RIP messages between neighbors. Plain-text authentication is the default authentication method used in Cisco IOS. This method of authentication is however discouraged for security purposes since routers exchange their authenticationrelated parameters to each other in plain text. The task however does ask for plain text authentication for RIPv2 between R1 and R2. To configure plain-text authentication first a key chain containing the password is configured on R1 and R2 with the key chain key-chain name command. A single key, key 1, is defined with the key 1 command and the key string or the password is specified with the key-string ccie command. The result configures the passphrase ccie to be used to authenticate any protocol that uses the key chain R1-R2 for key material. After configuring the key chain, RIP on R1 and R2 is configured for authentication on the RIP-enabled interface G0/2 and G0/1 connecting them using the ip rip authentication key-chain command. The key chain name is “R1-R2” to match the configured key chain. Since the default authentication mode is plain text, specifying the authentication mode using the ip rip authentication mode in not required: On R1: R1(config)#key chain R1-R2 R1(config-keychain)#key 1 R1(config-keychain-key)#key-string ccie CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 275 R1(config-keychain-key)#interface g0/2 R1(config-if)#ip rip auth key-chain R1-R2 On R2: R2(config)#key chain R2-R1 R2(config-keychain)#key 1 R2(config-keychain-key)#key-string ccie R2(config-keychain-key)#interface g0/1 R2(config-if)#ip rip auth key-chain R2-R1 To verify the configuration: The show ip protocol command output on both routers verifies the above authentication configuration: On R1: R1#show ip protocol | i GigabitEthernet0/2|Key Interface GigabitEthernet0/2 Send 2 Recv 2 Triggered RIP No Key-chain R1-R2 Triggered RIP Key-chain On R2: R2#show ip protocol | i GigabitEthernet0/1|Key Interface GigabitEthernet0/1 Send Recv 2 2 No R2-R1 Task 11 Configure R5, R6, and SW4 to use authentication with the strongest authentication method available to RIPv2. These routers should use Micronic? as their password. As mentioned in the earlier task, RIPv2 supports both plain text and MD5 authentication. This task requires ensuring that the RIP routing updates exchanged between R5, R6 and SW4 on their VLAN 10 segment are secured with the MD5 authentication method. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 276 Similar to above, first a key chain is defined on all three devices. Key 1 is defined and the password specified is Micronic?. The challenge however is, how to include the special character ? as part of the password Micronic, without involving the context sensitive help in Cisco IOS. The trick is to press the “esc” key followed by the Q key and then entering the special character ?. Following this, ip rip authentication key-chain command is configured on the G0/9 and VLAN 10 interfaces on R5, R6 and SW4 respectively. To change the authentication mode from plain text to MD5, the ip rip authentication mode md5 command is issued on the interfaces: On R5: R5(config)#key chain R5-R6-SW4 R5(config-keychain)#key 1 R5(config-keychain-key)#key-string Micronic? R5(config-keychain-key)#interface g0/9 R5(config-if)#ip rip authentication key-chain R5-R6-SW4 R5(config-if)#ip rip authentication mode md5 On R6: R6(config)#key chain R5-R6-SW4 R6(config-keychain)#key 1 R6(config-keychain-key)#key-string Micronic? R6(config-keychain-key)#interface g0/9 R6(config-if)#ip rip authentication key-chain R5-R6-SW4 R6(config-if)#ip rip authentication mode md5 On SW4: SW4(config)#key chain R5-R6-SW4 SW4(config-keychain)#key 1 SW4(config-keychain-key)#key-string Micronic? SW4(config-keychain-key)#interface vlan10 SW4(config-if)#ip rip authentication key-chain R5-R6-SW4 SW4(config-if)#ip rip authentication mode md5 To verify the configuration: On R5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 277 R5#show key chain R5-R6-SW4 | include key 1 key 1 -- text "Micronic?" On R6: R6#show key chain R5-R6-SW4 | include key 1 key 1 -- text "Micronic?" On SW4: SW4#show key chain R5-R6-SW4 | include key 1 key 1 -- text "Micronic?" Task 12 Configure R1 to accept existing and future routes that have a prefix length of 10 to 14. These routes should be received from R7 only. Do not use an access list(s) or a neighbor command to accomplish this task. A show ip route rip | in 10.11.111.111 command on R1 reveals the RIP routes R1 learns from R7: On R1: R1#show ip route rip | include 10.11.111.111 R R R R R R R 21.1.0.0/16 [120/1] via 10.11.111.111, 00:00:05 21.2.0.0/15 [120/1] via 10.11.111.111, 00:00:05 21.4.0.0/14 [120/1] via 10.11.111.111, 00:00:05 21.8.0.0/13 [120/1] via 10.11.111.111, 00:00:05 21.16.0.0/12 [120/1] via 10.11.111.111, 00:00:05 21.32.0.0/11 [120/1] via 10.11.111.111, 00:00:05 21.64.0.0/10 [120/1] via 10.11.111.111, 00:00:05 The task requires configuration that results in R1 learning only those networks that have a prefix length of /10, /11, /12, /13 or /14, specifically from R7. Meaning, the networks 21.1.0.0/16 and 21.2.0.0/15 should be filtered from R1’s routing table. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 278 The task restricts the use of access-lists to achieve this filtering. Another way to accomplish this would be to configure a prefix list and use it with a distribute list under the RIP router configuration mode. First, a prefix list identifying the networks to be permitted with the ip prefix-list NET permit 0.0.0.0/0 ge 10 le 14 command. The combination of 0.0.0.0/0 and ge 10 le 14 can be read as permit any networks that have their prefix mask with /10, /11, /12, /13 or /14. A second prefix is then configured to identify the source of the routing update with the ip prefix-list R7 permit 10.11.111.111/32 command. Since the task specifically requires the filtering to happen for RIP updates from R7, the R7’s interface address connecting to R1 will be the source of these updates and hence is used in this prefix list. A distribute-list is then configured under the router RIP configuration mode with the distribute-list prefix NET gateway R7 in g0/7. The gateway keyword refers to the source of the routing update that is referenced in the prefix list, R7. R1(config)#ip prefix NET permit 0.0.0.0/0 ge 10 le 14 R1(config)#ip prefix R7 permit 10.11.111.111/32 R1(config)#router rip R1(config-router)#distribute-list prefix NET gateway R7 in g0/7 To verify the configuration: On R1: R1#clear ip route * The result of the above configuration can be seen with the show ip route rip | include 10.11.111.111 command output below. Notice, R1 now filters the 21.1.0.0/16 and 21.2.0.0/15 networks since they are not permitted in the prefix list NET, permitting only the networks with the prefix length /10,/11,/12,/13 and 14 as the task desires from R7: R1#show ip route rip | include 10.11.111.111 R R R R R 21.4.0.0/14 [120/1] via 10.11.111.111, 00:00:10 21.8.0.0/13 [120/1] via 10.11.111.111, 00:00:10 21.16.0.0/12 [120/1] via 10.11.111.111, 00:00:10 21.32.0.0/11 [120/1] via 10.11.111.111, 00:00:10 21.64.0.0/10 [120/1] via 10.11.111.111, 00:00:10 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 279 Task 13 Configure R7 to inject a default route. The default-information originate command can be used to generate a default route into the RIP database. Routers configured with this command propagate a default route to their RIP neighbors. The task requires R7 to generate a default route and advertise it to R1. However, recall from the previous task, R1 was configured to only permit networks from R7 that matched specific prefix lengths. The implicit deny at the end of the prefix list NET would prevent any other networks from being accepted by R1, including a default route. To allow R1 to accept a default route from R7, the prefix list NET on R1 needs to be modified by adding an additional prefix-list statement that permits default routes. For this purpose, the command ip prefixlength NET permit 0.0.0.0/0 is added on R1 where 0.0.0.0/0 in this context means a default route. The show ip prefix-list command output verifies this change. R7 is then configured with the defaultinformation originate command that causes it to generate and propagate a default route to R1: On R1: R1(config)#ip prefix-list NET permit 0.0.0.0/0 R1#show ip prefix-list ip prefix-list NET: 2 entries seq 5 permit 0.0.0.0/0 ge 10 le 14 seq 10 permit 0.0.0.0/0 On R7: R7(config)#router rip R7(config-router)#default-information originate The show ip route rip | include 10.11.111.111 command on R1 verifies the default route from R7: To verify the configuration: On R1: R1#show ip route rip | include 10.11.111.111 Gateway of last resort is 10.11.111.111 to network 0.0.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 280 R* R R R R R 0.0.0.0/0 [120/1] via 10.11.111.111, 00:00:08 21.4.0.0/14 [120/1] via 10.11.111.111, 00:00:08 21.8.0.0/13 [120/1] via 10.11.111.111, 00:00:08 21.16.0.0/12 [120/1] via 10.11.111.111, 00:00:08 21.32.0.0/11 [120/1] via 10.11.111.111, 00:00:08 21.64.0.0/10 [120/1] via 10.11.111.111, 00:00:08 Task 14 Configure R4 to filter the default route injected by R7. The default route generated at R7 as a result of the default-information originate command is propagated to R1. R1 injects this into its own RIP database and propagates it further down all interfaces enabled for RIPv2. This process continues on every router receiving the default route resulting in all devices running RIPv2 in the topology receiving and installing the default route. An example of this is seen in R4’s routing table who receives the default route from R1: On R4: R4#show ip route rip | i 0.0.0.0/0 R* 0.0.0.0/0 [120/2] via 14.1.1.1, 00:00:12 The task specifically requires filtering of this default route on R4. This is easily achieved by configuring a prefix list on R4 that denies the default route 0.0.0.0/0 and an explicit permit statement that permits everything else. A distribute-list referencing this prefix-list with the keyword in, indicating inbound updates from the dialer and g0/2 interfaces is configured under the router rip configuration mode as seen below R4(config)#ip prefix TST seq 5 deny 0.0.0.0/0 R4(config)#ip prefix TST seq 10 permit 0.0.0.0/0 le 32 R4(config)#router rip R4(config-router)#distribute-list prefix TST in g0/2 R4(config-router)#distribute-list prefix TST in dialer41 To verify the configuration: R4#clear ip route * CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 281 After clearing the routing table with the clear ip route * command, the show ip route rip | include 0.0.0.0 verifies the filtering of the default route: R4#show ip route rip | include 0.0.0.0/0 R4# Task 15 Configure SW4 such that it always prefers to reach network 10.1.4.0/24 through R6. 1. SW4 should use R5 when R6 is down. 2. Restrictions: Do not use an offset list to accomplish this task. SW4 receives similar RIP routing updates for the 10.1.4.0/24 network from both R5 and R6 and installs paths via both routers in its routing table. This is seen below: On SW4: SW4#show ip route 10.1.4.0 Routing entry for 10.1.4.0/24 Known via "rip", distance 120, metric 2 Redistributing via rip Last update from 10.1.1.5 on Vlan10, 00:00:10 ago Routing Descriptor Blocks: 10.1.1.6, from 10.1.1.6, 00:00:19 ago, via Vlan10 Route metric is 2, traffic share count is 1 * 10.1.1.5, from 10.1.1.5, 00:00:10 ago, via Vlan10 Route metric is 2, traffic share count is 1 The task requires making changes on SW4 such that it uses the path through R6 as the primary path and should R6 fail, it switches over to the backup path via R5. One of the ways to achieve this would be by modifying the metric through off set list to make the path via R6 more preferable. However, the task restricts the use of offset-list to achieve this. Another way to accomplish the change would be by modifying the administrative distance of the RIP route from R5 to something higher than the default AD value of 120. This way, SW4 will prefer the route with a lower AD value of 120 from R6 and install it in its routing table. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 282 For this first the network is identified with an access-list using the access-list 1 permit 10.1.4.0 0.0.0.255 command. The AD for a RIP route can then be modified with the distance 121 10.1.1.5 0.0.0.0 1 command. This command sets the distance for the prefix specified in the access-list 1 to 121 for updates that are sourced from 10.1.1.5 address, which is R5’s interface on the 10.1.1.0/24 segment: SW4(config)#access-list 1 permit 10.1.4.0 0.0.0.255 SW4(config)#router rip SW4(config-router)#distance 121 10.1.1.5 0.0.0.0 1 SW4#clear ip route * After issuing the clear ip route * command on SW4, the routing table on SW4 verifies it uses the path from R6 to reach the 10.1.4.0 network: To verify the configuration: SW4#show ip route 10.1.4.0 Routing entry for 10.1.4.0/24 Known via "rip", distance 120, metric 2 Redistributing via rip Last update from 10.1.1.6 on Vlan10, 00:00:10 ago Routing Descriptor Blocks: * 10.1.1.6, from 10.1.1.6, 00:00:10 ago, via Vlan10 Route metric is 2, traffic share count is 1 To test the failover, the G0/9 interface on R6 is shutdown. The result is SW4 installing the path from R5 with an AD of 121 in its routing table: To test the configuration: On R6: R6(config)#interface g0/9 R6(config-if)#shut On SW4: SW4#clear ip route * SW4#show ip route 10.1.4.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 283 Routing entry for 10.1.4.0/24 Known via "rip", distance 121, metric 2 Redistributing via rip Last update from 10.1.1.5 on Vlan10, 00:00:10 ago Routing Descriptor Blocks: * 10.1.1.5, from 10.1.1.5, 00:00:10 ago, via Vlan10 Route metric is 2, traffic share count is 1 On R6: R6(config)#int g0/9 R6(config-if)#no shut Task 16 Configure SW4 to filter network 50.5.5.0/24. Do not use an access list to accomplish this task. SW4 learns the 50.5.5.0/24 network from R5 as seen below: On SW4: SW4#show ip route rip | i 50.5.5.0 R 50.5.5.0 [120/1] via 10.1.1.5, 00:00:13, Vlan10 The task requires routing update filtering on SW4 to prevent this network from appearing in the routing table while restricting the use of access-list to achieve the same. An alternative would be using a combination of prefix-lists and distribute-lists to perform filtering: First a prefix-list NET-50 is configured to deny the 50.5.5.0/24 network. This is followed with another prefix-list statement that explicitly permits all routes - indicated with 0.0.0.0/0 le 32. The prefix-list is then referenced in the distribute-list NET-50, that is applied inbound on the VLAN10 interface on SW4 as seen below: SW4(config)#ip prefix-list NET-50 deny 50.5.5.0/24 SW4(config)#ip prefix-list NET-50 permit 0.0.0.0/0 le 32 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 284 SW4(config)#router rip SW4(config-router)#distribute-list prefix NET-50 in vlan10 The result of the above configuration is SW4 filtering the updates for the 50.5.5.0/24 network, while the explicit prefix-list permit statement permits everything else. After issuing a clear ip route * on SW4, the routing table on SW4 verifies the 55.5.5.0 network no longer exists: To verify the configuration: On SW4: SW4#clear ip route * SW4#show ip route 50.5.5.0 % Network not in table Task 17 Configure R4 such that it injects a default route into the RIPv2 routing domain. 1. Restrictions : a. This default route should not be given to R6. b. Do not configure R6 to accomplish this task. R5 should only have a default route from R4. Similar to task 13, this task too requires propagation of a default route, but on R4. The task however requires that the default route be propagated by R4 only to R5 and not to R6. In addition, the task restricts making any configuration changes on R6 to achieve the same. This can be achieved by using a route-map that specifies the output interface for the RIP routing update with the set interface g0/5 command. The route-map is then appended to the default-information originate command on R4. This results in R4 sending out a RIP update for the default route only out its G0/5 interface connected to R5. Since the update is not sent out the G0/6 interface, R6 does not learn the default route from R4. The configuration for the above is implemented below: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 285 On R4: R4(config)#route-map TST permit 10 R4(config-route-map)#set interface g0/5 You may get the following console message: %Warning:Use P2P interface for routemap setinterface clause R4(config)#router rip R4(config-router)#default-information originate route-map TST R4#clear ip route * The show ip route 0.0.0.0 command output on R5 and R6 confirm R5 learns the default route from R4 and R6 does not learn the default route from R4. Note, the above configuration does not prevent R6 from learning the default route from R5 over the VLAN 10 segment and installing it in its routing table. To verify the configuration: On R5: R5#show ip route 0.0.0.0 Routing entry for 0.0.0.0/0, supernet Known via "rip", distance 120, metric 1, candidate default path Redistributing via rip Last update from 45.1.1.4 on GigabitEthernet0/4, 00:00:03 ago Routing Descriptor Blocks: * 45.1.1.4, from 45.1.1.4, 00:00:03 ago, via GigabitEthernet0/4 Route metric is 1, traffic share count is 1 R5#show ip route rip | i 0.0.0.0/0 R* 0.0.0.0/0 [120/7] via 45.1.1.4, 00:00:01, GigabitEthernet0/4 Task 18 Configure R3 to summarize its Loopback Lo0–Lo3, Lo30–Lo33 and advertise two summary routes into the RIP routing domain. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 286 Following are the loopback addresses on R3. The task requires performing RIP summarization for the Loopback 0 through Loopback 3 and Loopback 30 through Loopback 33 addresses: On R3: R3#show ip interface brief | exclude unassigned Interface Loopback0 Loopback1 Loopback2 Loopback3 Loopback4 Loopback5 Loopback6 Loopback7 Loopback8 Loopback9 Loopback10 Loopback30 Loopback31 Loopback32 Loopback33 IP-Address 30.3.0.1 30.3.1.1 30.3.2.1 30.3.3.1 30.3.4.1 30.3.5.1 30.3.6.1 30.3.7.1 30.3.8.1 30.3.9.1 30.3.10.1 3.3.0.3 3.3.1.3 3.3.2.3 3.3.3.3 OK? Method Status YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up YES manual up Protocol up up up up up up up up up up up up up up up The show ip route rip | include 3.3 and show ip route rip | include 30.3 command output on R3’s directly connected neighbors SW1 and R1 show the specific routes prior to any summarization: On SW1: SW1#show ip route rip | i 3.3. R R R R 3.3.0.0 [120/1] via 113.1.1.3, 00:00:19, Ethernet0/3 3.3.1.0 [120/1] via 113.1.1.3, 00:00:19, Ethernet0/3 3.3.2.0 [120/1] via 113.1.1.3, 00:00:19, Ethernet0/3 3.3.3.0 [120/1] via 113.1.1.3, 00:00:19, Ethernet0/3 SW1#show ip route rip | include 30.3. R R R R R R 30.3.0.0 [120/1] via 113.1.1.3, 00:00:28, Ethernet0/3 30.3.2.0 [120/1] via 113.1.1.3, 00:00:28, Ethernet0/3 30.3.4.0 [120/1] via 113.1.1.3, 00:00:28, Ethernet0/3 30.3.6.0 [120/1] via 113.1.1.3, 00:00:28, Ethernet0/3 30.3.8.0 [120/1] via 113.1.1.3, 00:00:28, Ethernet0/3 30.3.10.0 [120/1] via 113.1.1.3, 00:00:28, Ethernet0/3 On R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 287 R1#show ip route rip | include 3.3. R R R R 3.3.0.0 [120/1] via 200.1.1.3, 00:00:22, GigabitEthernet9 3.3.1.0 [120/1] via 200.1.1.3, 00:00:22, GigabitEthernet9 3.3.2.0 [120/1] via 200.1.1.3, 00:00:22, GigabitEthernet9 3.3.3.0 [120/1] via 200.1.1.3, 00:00:22, GigabitEthernet9 R1#show ip route rip | include 30.3. R R R R R R 30.3.0.0 [120/1] via 200.1.1.3, 00:00:00, GigabitEthernet9 30.3.2.0 [120/1] via 200.1.1.3, 00:00:00, GigabitEthernet9 30.3.4.0 [120/1] via 200.1.1.3, 00:00:00, GigabitEthernet9 30.3.6.0 [120/1] via 200.1.1.3, 00:00:00, GigabitEthernet9 30.3.8.0 [120/1] via 200.1.1.3, 00:00:00, GigabitEthernet9 30.3.10.0 [120/1] via 200.1.1.3, 00:00:00, GigabitEthernet9 RIP summarization can be performed with the ip summary-address rip interface level command. This command is issued on the G0/0, G0/1 and G0/9 interfaces on R3. This causes R3 to send RIP updates for the summary out these interfaces: On R3: R3(config)#interface g0/0 R3(config-if)#ip summary-address rip 3.3.0.0 255.255.252.0 R3(config-if)#ip summary-address rip 30.3.0.0 255.255.252.0 R3(config-if)#interface g0/1 R3(config-if)#ip summary-address rip 3.3.0.0 255.255.252.0 R3(config-if)#ip summary-address rip 30.3.0.0 255.255.252.0 R3(config-if)#interface g0/9 R3(config-if)#ip summary-address rip 3.3.0.0 255.255.252.0 R3(config-if)#ip summary-address rip 30.3.0.0 255.255.252.0 The show ip route rip | include /22 command output from SW1 and R1 verifies the above configuration. Notice the missing specific routes from the earlier output have now been replace with summary routes: On SW1: SW1#show ip route rip | include /22 R 3.0.0.0/22 is subnetted, 1 subnets 30.3.0.0/22 [120/1] via 113.1.1.3, 00:00:11, Ethernet0/3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 288 On R1: R1#show ip route rip | include /22 R R 3.3.0.0/22 [120/1] via 200.1.1.3, 00:00:12, GigabitEthernet9 30.3.0.0/22 [120/1] via 200.1.1.3, 00:00:12, GigabitEthernet9 Task 19 Configure Lo200 with the IP address 120.2.2.2/24 on SW2. This switch should advertise this network in the RIPv2 routing domain. Configure SW1 such that this network is never advertised to any router downstream/beyond SW4, as those are future devices connected to SW4. The following first configures a loopback 200 interface on SW2 and assigns the IP Address 120.2.2.2/24 to it. The network is then advertised into RIP with a network statement: On SW2: SW2(config)#interface lo200 SW2(config-if)#ip address 120.2.2.2 255.255.255.0 SW2(config-if)#router rip SW2(config-router)#network 120.0.0.0 SW4’s routing table verifies it learns a RIP route for the 120.2.2.0/24 network: To verify the configuration: On SW4: SW4#show ip route rip | include 120.2.2.0 R 120.2.2.0 [120/6] via 10.1.1.6, 00:00:02, Vlan10 RIP uses a hop count metric to determine which routes are more preferred. The lower the hop count, the more preferred the route will be. The hop-count is initialized as 1 by the router that originates the route. This original router advertises the route to its RIP neighbor with the hop count of 1. The RIP neighbor increments this metric by 1 as it advertises it to its own RIP neighbors. This process continues CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 289 until the metric grows to 15 hops which is the maximum metric that can be stored within RIP. If the router receiving the route with metric 15 advertises it to another RIP neighbor, the hop count becomes 16 which is considered inaccessible in RIP. To solve the task, this 15 hop count limit is exploited. To do so, configuration changes are made on SW1 such that once the route to 120.2.2.0/24 reaches SW4, its hop count is at 15. With the hop count at 15 on SW4, any other router SW4 advertises the route to will reject it because the hop count received would be 16. In this way, the diameter of the RIP update in the network topology can be restrained to up until SW4. To make this a reality, SW1 just needs to advertise the route to R3 with a larger metric value. Looking at the output above SW4 receives the prefix 120.2.2.0/24 with a hop count of 6. To complete the task, we need this value to be 15. By computing 15 - 6, the value of 9 is obtained. This is the value that should be artificially added to SW1’s advertisement to R3. To understand this, let’s configure an offset list on SW1 that modifies the metric to a value of 9 with an offset list for the 120.2.2.0/24 network. A standard access-list identifying and permitting the 120.2.2.0/24 network is first created on SW1. The access-list is then referenced on the offset list that specifies the hop count value, RIP metric of 9. It is applied outbound for the G0/3 interface: To configure SW1: SW1(config)#access-list 1 permit 120.2.2.0 0.0.0.255 SW1(config)#router rip SW1(config-router)#offset 1 out 9 g0/3 SW1#clear ip route * On configuring the above, and issuing the clear ip route * command, following output shows the metric as 11 for the 120.2.2.0/24 network on R3: To verify the configuration: On R3: R3#show ip rout 120.2.2.0 Routing entry for 120.2.2.0/24 Known via "rip", distance 120, metric 11 Redistributing via rip Last update from 113.1.1.11 on GigabitEthernet0/10, 00:00:20 ago Routing Descriptor Blocks: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 290 * 113.1.1.11, from 113.1.1.11, 00:00:20 ago, via GigabitEthernet0/10 Route metric is 11, traffic share count is 1 The reason R3 has the route with a hop count of 11, is because in RIPv2, the hop count is incremented on the way out. Therefore, SW2 advertises the route with a hop count of 1, SW1 adds one to the received hop count when it advertises it to R3, but it also adds another 9 hops because of the offset-list configured, this sums up to 11. Following examines the hop count values at each device between R3 and SW4: On R1: R1#show ip route 120.2.2.0 Routing entry for 120.2.2.0/24 Known via "rip", distance 120, metric 12 Redistributing via rip Last update from 10.1.100.3 on GigabitEthernet0/3, 00:00:06 ago Routing Descriptor Blocks: 200.1.1.3, from 200.1.1.3, 00:00:23 ago, via GigabitEthernet0/9 Route metric is 12, traffic share count is 1 * 10.1.100.3, from 10.1.100.3, 00:00:06 ago, via GigabitEthernet0/3 Route metric is 12, traffic share count is 1 On R4: R4#show ip route 120.2.2.0 Routing entry for 120.2.2.0/24 Known via "rip", distance 120, metric 13 Redistributing via rip Last update from 14.1.1.1 00:00:19 ago Routing Descriptor Blocks: * 14.1.1.1, from 14.1.1.1, 00:00:19 ago Route metric is 13, traffic share count is 1 On R5: R5#show ip route 120.2.2.0 Routing entry for 120.2.2.0/24 Known via "rip", distance 120, metric 14 Redistributing via rip Last update from 45.1.1.4 on GigabitEthernet0/4, 00:00:25 ago CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 291 Routing Descriptor Blocks: * 45.1.1.4, from 45.1.1.4, 00:00:25 ago, via GigabitEthernet0/4 Route metric is 14, traffic share count is 1 On SW4: SW4#show ip route 120.2.2.0 Routing entry for 120.2.2.0/24 Known via "rip", distance 120, metric 15 Redistributing via rip Last update from 10.1.1.6 on Vlan10, 00:00:10 ago Routing Descriptor Blocks: * 10.1.1.6, from 10.1.1.6, 00:00:10 ago, via Vlan10 Route metric is 15, traffic share count is 1 10.1.1.5, from 10.1.1.5, 00:00:17 ago, via Vlan10 Route metric is 15, traffic share count is 1 The hop count for the update on SW4, as seen above, is 15. This means, when SW4 advertises this route to a device that might connect to it at a later time, it will add one to the hop count value of 15. The receiving RIP speaker will receive the update with the hop count of 16. Since an update for a network with a hop count value of 16 is deemed as unreachable in RIP, devices that connect to SW4 will not accept or install the route as the task desires. Task 20 Erase the startup configuration of the routers, the startup configuration, and the VLAN.dat file for each switch and reload the devices before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 292 Lab 2 – Helper Map Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder RIPv2 folder Lab-2. Task 1 Configure OSPF Area 0 on the following interfaces: The G0/1, G0/3, and loopback0 interfaces of R2 All directly connected interfaces of R3 The G0/3 interface of R4 As required by the task, the following configures OSPF process 1 on R2, R3 and R4. OSPF for Area 0 is enabled on all the interfaces specified in the task using the network statement under the OSPF router configuration mode: On R2: R2(config)#router ospf 1 R2(config-router)#network 23.1.1.2 0.0.0.0 area 0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 293 R2(config-router)#network 2.2.2.2 0.0.0.0 area 0 On R3: R3(config)#router ospf 1 R3(config-router)#network 0.0.0.0 0.0.0.0 area 0 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on GigabitEthernet0/2 from LOADING to FULL, Loading Done On R4: R4(config)#router ospf 1 R4(config-router)#network 34.1.1.4 0.0.0.0 area 0 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 34.1.1.3 on GigabitEthernet0/3 from LOADING to FULL, Loading Done To verify the configuration: On R2: R2#show ip route ospf | begin Gate Gateway of last resort is not set O 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [110/2] via 23.1.1.3, 00:02:24, GigabitEthernet0/3 On R4: R4#show ip route ospf | begin Gate Gateway of last resort is not set O O 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [110/3] via 34.1.1.3, 00:01:09, GigabitEthernet0/3 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/2] via 34.1.1.3, 00:01:09, GigabitEthernet0/3 Task 2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 294 Configure RIPv2 on the: Lo0 and G0/2 interfaces of R1 G0/4 interface on R5 Disable auto-summarization on these devices. The router rip command is first issued to enter the RIP configuration mode on R1 and R5. Following this, the no auto-summary disables auto summary that is enabled by default. The RIP version is set to 2 with the version 2 command. Finally, the network command is issued to advertise the networks on the interface mentioned in the task: On R1: R1(config)#router rip R1(config-router)#no auto-summary R1(config-router)#version 2 R1(config-router)#network 12.0.0.0 R1(config-router)#network 1.0.0.0 On R5: R5(config)#router rip R5(config-router)#no auto-summary R5(config-router)#version 2 R5(config-router)#network 45.0.0.0 Task 3 Configure multicasting on the appropriate routers such that R5 receives all the RIPv2 updates from R1. R2 should be configured as the RP and the BSR router. This router should use its loopback interface as the source of all its BSR messages. You must use 224.1.1.1 to accomplish this task. Restrictions: a. Do not run multiple unicast routing protocols on any of the routers. b. Do not configure GRE, IPnIP, MPLS, LDP, or any type of tunneling to accomplish this task. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 295 The setup of the lab is as follows: 1. R1 is configured for RIPv2. It is advertising it’s loopback address 1.1.1.1/32 and the 12.1.1.0/24 network into RIP 2. R5 is configured for RIPv2. It is advertising the 45.1.1.0/24 network into RIP 3. Routers R2, R3 and R4 in transit are not configured for RIP In this lab, R1 is meant to advertise RIPv2 routes to R5. RIPv2 uses link-local multicast IP address 224.0.0.9 to send routing updates. Link-local multicast cannot be routed across multiple router hops. The result is, RIP routes sent by R1 will not be received by R5 by default. This task's goal is to configure the network such that R1’s routes reach R5 without configuring additional unicast routing protocols, tunnels, or MPLS label switching. Solving this task requires an understanding of multicast/broadcast traffic, how Cisco routers can be configured to forward multicast/broadcast traffic, and advanced understanding of how RIP sends its updates. First and foremost, an understanding of multicast and broadcast traffic is in order. Broadcast traffic is considered one-to-all communication. A broadcast traffic sent onto a LAN is sent to all hosts on that LAN. Broadcast traffic is constrained to the local network and is not allowed to be routed to other networks by Layer 3 devices. Multicast traffic is one-to-many communication. Traffic sent as multicast is only delivered to those devices that wish to receive the multicast stream. Because of this more specific and constrained view of multicast traffic, it can be routed between subnets by Layer 3 devices. This function is called multicast routing and is facilitated by multicast routing protocols such as Protocol Independent Sparse Mode (PIM-SM). Cisco IOS routers can be configured to forward multicast traffic. The ip multicast-routing command enables multicast routing on the router. This command has a similar effect as the ip unicast-routing command that is enabled by default. It enables the router to build and maintain the data structures necessary to forward multicast traffic. This includes being able to participate in the multicast routing protocol. Cisco IOS routers can forward broadcast traffic but in a limited fashion. The ip helper-address command can be used to convert broadcast traffic received on an interface into unicast packets to a specific destination. This command is commonly used to forward BOOTP or DHCP packets received on a router’s LAN interface to a DHCP server that exists in a different subnet. The ip helper-address command only works on broadcast traffic that matches the following criteria according to Cisco documentation: 1. The MAC address of received frame must be the all-ones broadcast MAC address FFFF.FFFF.FFFF 2. The destination IP address must be either: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 296 a. the all-ones broadcast address (255.255.255.255) b. the subnet broadcast address for the receiving interface (for e.g. 192.168.1.255 where 192.168.1.0/24 is the subnet) 3. IP TTL is at least 2 4. IP protocol is UDP 5. UDP destination ports are: a. TFTP , Domain Name System (DNS), Time , NetBIOS, ND, BOOTP or DHCP. b. Any UDP port identified by the ip forward-protocol udp command Cisco routers can also be configured to convert broadcast traffic to multicast traffic using the ip multicast helper-map broadcast command. This command works similar to the ip helper-address command only this time, broadcast UDP traffic that meets the same criteria as the ip helper-address command is converted to a multicast group IP address. To complete the picture, multicast traffic can be converted back to broadcast traffic using the ip multicast helper-map command. This command works by specifying a multicast group address to match and convert and the broadcast address to which it should be converted. The broadcast address can be the all-ones broadcast or a subnet broadcast address. Finally, RIP sends its routing updates in two different ways depending on which RIP version is enabled on the router. RIPv1 broadcasts updates onto the LAN by default while, as mentioned earlier, RIPv2 multicasts its updates to the 224.0.0.9 address. The router can, however, be configured to send multicast RIPv2 updates as broadcast messages out specific interfaces. This is achieved with the ip rip v2-broadcast command in interface configuration mode. All of these points above can be combined to solve this task. The basic idea is as follows: 1. Configure R1 to send RIPv2 updates to R2 as broadcast instead of multicast. 2. Configure R2 to convert the received RIP broadcast packets to multicast 3. Configure R2, R3, and R4 to route the converted RIP multicast updates 4. Configure R4 to convert the multicast RIP update to broadcast to R5’s subnet The first step is necessary because the aim is to use the ip multicast helper-map command to convert the traffic to multicast. As mentioned earlier, RIPv2 sends its packets as link-local multicast that cannot be routed across subnets. The workaround is to have RIPv2 send its packets as broadcast and to have R2 convert the broadcast packets into routable multicast packets. The first part of this conversion is to configure the ip rip v2-broadcast command on R1’s G0/2 interface towards R2. On R1: R1(config)#interface g0/2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 297 R1(config-if)#ip rip v2-broadcast Step two configures R2 to perform the conversion of broadcast into multicast. Two things need to be configured for this to be successful: 1. R2 must be configured to forward UDP RIP packets 2. R2 must identify which traffic should be converted to multicast The first step is a requirement based on the criteria for triggering the ip multicast helper-map command. The traffic being converted must be a broadcast sent to either to the specific UDP ports outlined above or matched using the ip forward-protocol udp command. In this case, it is desired to forward RIP traffic which is not forwarded by default. Because it is not forwarded by default, the ip forward-protocol udp rip command must be configured to manually configure the router to forward and convert packets to UDP port 520 which is the well-known UDP port for RIP. The second part of this configuration is to identify what specific traffic flow should be converted to multicast when the ip multicast helper-map command is configured. An extended ACL is used to serve this purpose. The ACL must match RIP traffic broadcast by R1 and received on R2’s g0/1 interface. In this case, the protocol is UDP, the source IP is 12.1.1.1 (R1), the source port is RIP (520), the destination can be the broadcast address 255.255.255.255, and the destination port should also be RIP. The resulting ACL is: access-list 100 permit udp host 12.1.1.1 eq rip host 255.255.255.255 eq rip. With those two pieces configured, R2 can be configured with the ip multicast helper-map broadcast command under its G0/1 interface. The ip multicast helper-map broadcast command should convert all UDP packets matched by access-list 100 to the multicast group address 224.1.1.1. 224.1.1.1 is designated as the multicast group address to be compliant with restrictions outlined in the task. Finally, the TTL of the resulting packet is set to 3 to ensure the multicast only travels the span of the network. The resulting command is ip multicast helper-map broadcast 224.1.1.1 100 ttl 3. The following is the complete configuration on R2 for this step: Enable helper forwarding for broadcast RIP packets On R2: R2(config)#ip forward-protocol udp rip Identify RIP traffic originating from R1 R2(config)#access-list 100 permit udp host 12.1.1.1 eq rip host 255.255.255.255 eq rip CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 298 Convert identified broadcast traffic into multicast traffic R2(config)#interface g0/1 R2(config-if)#ip multicast helper-map broadcast 224.1.1.1 100 ttl 3 Note in the above configurations that the access-list 100 is matched in the second argument of the ip multicast helper-map broadcast command. This applies the filter for broadcast-to-multicast mapping to only packets matched by ACL 100. At this point, R1 is broadcasting RIPv2 updates to R2 and R2 is converting those RIPv2 updates to multicast. The next step is to ensure R2, R3, and R4 can successfully route the multicast packets across the network. This requires configuring IP multicast routing on those three routers. The task indirectly specifies what kind of multicast routing should be utilized. It mentions that R2 should be the rendezvous point (RP) and bootstrap router (BSR) for the multicast network using its loopback interface as the source of BSR messages. The requirement points to the use of PIM-SM as the multicast routing protocol. PIM SM requires the use of an RP to join multicast senders with multicast receivers. The RP runs the control plane of the PIM-SM domain by being the default sender and receiver of all multicast traffic. Routers will forward multicast traffic in encapsulated PIM tunnels to the RP when a receiver is unknown and will send PIM Join messages to the RP when a receiver is online but a sender is unknown. PIM-SM creates a multicast “pull” network where multicast traffic is only sent if requested by an intended receiver. In order for PIM-SM to work, all routers must know the location of the RP. This is what BSR is designed to do. Routers that want to serve as RP advertise their willingness to the BSR. The BSR then advertises the set of received RP advertisements in PIM messages to its PIM neighbors. Those neighbors advertise the same set of RP advertisements to their PIM neighbors and so on. Once a router receives the set of RP advertisements it runs a hashing algorithm to determine which router will be used as the RP. To configure multicast routing, the ip multicast-routing command is first enabled on R2, R3 and R4. After enabling multicast routing, the ip pim sparse-mode command is configured on R2’s g0/1 and g0/3 interfaces; on R3’s g0/2 and g0/4 interfaces; and on R4’s g0/3 interface. Then, R2 is configured as an RP candidate using the ip pim rp-candidate lo0 and as the BSR using the ip pim bsr-candidate lo0 command. The addition of the “lo0” designation forces R2 to use its own Loopback 0 interface as the source of its BSR messages and as its RP address as directed by the task requirements. First, multicast routing and PIM-SM are enabled on the routers as indicated: On R2, R3 and R4: Rx(config)#ip multicast-routing On R2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 299 R2(config)#interface g0/1 R2(config-if)#ip pim sparse-mode R2(config)#interface g0/3 R2(config-if)#ip pim sparse-mode R2(config)#interface lo0 R2(config-if)#ip pim sparse-mode On R3: R3(config)#interface g0/2 R3(config-if)#ip pim sparse-mode R3(config)#interface g0/4 R3(config-if)#ip pim sparse-mode On R4: R4(config)#interface g0/3 R4(config-if)#ip pim sparse-mode After configuring the above the show ip pim neighbor | begin Interface command can be used to verify the PIM neighborships have been established between the routers. On R2: R2#show ip pim neighbor | begin Interface Neighbor Address 34.1.1.3 Interface Uptime/Expires DR Prio/Mode 00:00:44/00:01:30 v2 1 / S P G GigabitEthernet0/3 ver On R3: R3#show ip pim neighbor | begin Interface Neighbor Address 23.1.1.2 34.1.1.4 Interface Uptime/Expires DR Prio/Mode 00:01:01/00:01:43 v2 1 / S P G 00:00:44/00:01:29 v2 1 / S P G GigabitEthernet0/2 GigabitEthernet0/4 ver On R4: R4#show ip pim neighbor | begin Interface Neighbor Address Interface CCIE by Narbik Kocharians Uptime/Expires CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved ver DR Prio/Mode Page 300 34.1.1.3 GigabitEthernet0/3 00:01:47/00:01:25 v2 1 / S P G After PIM is verified, R2 is then configured to become the RP and BSR: On R2: R2(config)#ip pim rp-candidate lo0 R2(config)#ip pim bsr-candidate lo0 This configuration is verified using the show ip pim rp mapping as seen below. R3 and R4 both have R2 designated as the RP. Note : it may take up to 150 seconds for the BSR mapping to propagate to all the routers. On R3: R3#show ip pim rp mapping PIM Group-to-RP Mappings Group(s) 224.0.0.0/4 RP 2.2.2.2 (?), v2 Info source: 2.2.2.2 (?), via bootstrap, priority 0, holdtime 150 Uptime: 00:00:10, expires: 00:02:24 On R4: R4#show ip pim rp map PIM Group-to-RP Mappings Group(s) 224.0.0.0/4 RP 2.2.2.2 (?), v2 Info source: 2.2.2.2 (?), via bootstrap, priority 0, holdtime 150 Uptime: 00:01:24, expires: 00:02:09 After configuring the above and verifying the following has been completed: 1. R1 is broadcasting RIPv2 packets to R2 2. R2 is converting only those broadcast RIP packets to multicast packets destined to group address 224.1.1.1 3. R2, R3, and R4 are configured to route multicast packers across the network. The final steps are to enable R4 to convert the multicast traffic it receives from its PIM neighbor R3 back into broadcast traffic and send this traffic to R5. This process is very similar to the process used on R2. First, R4 needs to be configured to forward the UDP RIP traffic using the ip forward-protocol udp rip command. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 301 Next, an ACL is configured to identify the specific multicast traffic flow to convert to broadcast. This ACL matches any UDP 520 (RIP) packets sent by R1. The resulting ACL should be access-list 100 permit udp host 12.1.1.1 eq rip any rip. Then the ip multicast helper-map 224.1.1.1 45.1.1.255 100 command is configured. This command takes multicast traffic sent to the 224.1.1.1 multicast group address and converts it to a subnet broadcast traffic sent to 45.1.1.255 if it matches ACL 100. Why was the subnet broadcast address 45.1.1.5 chosen instead of a generic broadcast address? Using the subnet broadcast address allows R4 to route the packet only to the indicated destination subnet and not broadcast to all subnets once converted. Such packets are called directed broadcast packets because they are “routable” broadcast packets that are sent to a specific subnet. The only caveat with directed broadcasts is that, by default, the router will not forward directed broadcasts out of an interface for security reasons. The behavior can be modified using the ip directed-broadcast command configured on the intended exit interface which is R4’s g0/5 interface. The following is the last part of the configuration for this section: On R4: Configure R4 to forward udp 520 (RIP) packets R4(config)#ip forward-protocol udp rip Configure an ACL to match traffic RIP traffic sourced from R1: R4(config)#access-list 100 permit udp host 12.1.1.1 any eq rip Configure this traffic to be forwarded as directed broadcast to the subnet broadcast address of the R4/R5 link R4(config)#interface g0/3 R4(config-if)#ip multicast helper-map 224.1.1.1 45.1.1.255 100 Enable R4 to forward directed broadcast packets out its interface to R5 R4(config)#interface g0/5 R4(config-if)#ip directed-broadcast The ip multicast helper-map command does more than just simply configure R4 to convert the multicast packet into a directed broadcast packet. Once configured, R4 will actually send a PIM join to the RP to begin receiving traffic for the multicast group indicated by the command as shown in the debug ip pim output below. Building Triggered (*,G) Join / (S,G,RP-bit) Prune message for 224.1.1.1 PIM(0): Insert (*,224.1.1.1) join in nbr 34.1.1.3's queue CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 302 Building Join/Prune packet for nbr 34.1.1.3 Adding v2 (2.2.2.2/32, 224.1.1.1), WC-bit, RPT-bit, S-bit Join Send v2 join/prune to 34.1.1.3 (GigabitEthernet0/3) This step is imperative to the PIM-SM pull model because multicast traffic would not be sent to R4 unless R4 requests it. After the above configuration everything is set for route advertisement. To verify the configuration, R1 can be triggered to send updates by issuing the clear ip route * command multiple times. To generate RIP traffic: On R1: R1#clear ip route * R1#clear ip route * R1#clear ip route * R1#clear ip route * After issuing the commands the routing table on R5 does not populate RIP routes from R1 evidenced by the show ip route rip | begin Gate command output below. The included debug ip rip output on R5 reveals the reason: On R5: R5#show ip route rip | begin Gate Gateway of last resort is not set R5#debug ip rip RIP: ignored v2 update from bad source 12.1.1.1 on GigabitEthernet0/4 R5 is ignoring the update received on its G0/4 interface because the source IP address is not on the same subnet as R5’s IP address on that interface. To force R5 to bypass this check the no validate-update-source command is executed on R5: On R5: R5(config)#router rip R5(config-router)#no validate-update-source RIP: received v2 update from 12.1.1.1 on GigabitEthernet0/4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 303 1.1.1.1/32 via 0.0.0.0 in 1 hops In the above, after disabling the source verification, R5 logs that it received a RIP update from R1. The resultant show ip route output proves that as the task desires, R5 received and processed the RIP update from R1: R5#show ip route rip | b Gate Gateway of last resort is not set R 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [120/1] via 12.1.1.1, 00:00:24 Task 4 Erase the startup configuration and reload the routers before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 304 Lab 3 RIPv2 Challenge Lab Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder RIPv2 folder Lab-3. Ticket 1 R1 is configured to filter its Lo41. However, this interface is still reachable from R5. Restrictions: a. Do not configure another access list, prefix list, or route map. b. Use only two commands to accomplish this task. Before solving this ticket, let’s first test the claim that R5 has rechability to IP address 192.168.4.1 configured on R1’s loopback 41 address. As seen below, the ping from R5 to 192.168.4.1 succeeds: On R5: R5#ping 192.168.4.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.4.1, timeout is 2 seconds: .!!!! CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 305 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/4 ms The next step would be to verify the routing entries on R5 for this network with the show ip route 192.168.4.1 command: R5#show ip route 192.168.4.1 Routing entry for 192.168.4.0/24 Known via "rip", distance 120, metric 1 Redistributing via rip Last update from 5.100.15.1 on GigabitEthernet0/1, 00:00:08 ago Routing Descriptor Blocks: * 5.100.157.1, from 5.100.157.1, 00:00:22 ago, via GigabitEthernet0/9 Route metric is 1, traffic share count is 1 5.100.15.1, from 5.100.15.1, 00:00:08 ago, via GigabitEthernet0/1 Route metric is 1, traffic share count is 1 In the output above, we notice that R5 has two paths in its routing table for the 192.168.4.1 network. This is odd since the ticket claims R1 is configured to filter these networks from being advertised into RIPv2. However, before confirming the filtering on R1, a keen observer would notice an anomaly in the output above. The loopback 41 IP address 192.168.4.1 has been assigned a /32 mask on R1. R5’s routing table in the above however shows that this prefix is rechabile via a /24 route. To investigate this, let’s check the show ip protocol | section rip command output on R1: On R1: R1#show ip protocol | section rip Routing Protocol is "rip" Outgoing update filter list for all interfaces is not set GigabitEthernet0/5 filtered by toR5 (per-user), default is not set Incoming update filter list for all interfaces is not set Sending updates every 30 seconds, next due in 27 seconds Invalid after 180 seconds, hold down 180, flushed after 240 Redistributing: rip Default version control: send version 2, receive version 2 Interface Send Recv Triggered RIP Key-chain GigabitEthernet0/5 2 2 GigabitEthernet0/9 2 2 TST Loopback0 2 2 Loopback41 2 2 Loopback42 2 2 Automatic network summarization is in effect Maximum path: 4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 306 Routing for Networks: 5.0.0.0 192.168.4.0 192.168.4.0 Routing Information Sources: Gateway Distance 5.100.15.5 120 Gateway Distance 5.100.157.5 120 Distance: (default is 120) Last Update 00:00:09 Last Update 00:00:02 We’ve spotted the culprit, auto summarization that is turned on by default in RIP, hasn’t been turned off on R1. As a result of this, R1 advertises the 192.168.4.0/24 classful network to R3 and R5. Though R1 is performing filtering, the access-list toR5 is configured to only filter the 192.168.4.1 prefix. It is not filtering the 192.168.4.0/24 summary. The permit any ACL statement allows the summary to be advertised to R5: On R1: ip access-list standard toR5 deny 192.168.4.1 permit any Let’s rectify this behaviour and turn off auto summarization with the no auto-summary command under the RIP router configuration mode on R1 as seen below: R1#show run | section router rip router rip version 2 network 5.0.0.0 network 192.168.4.0 distribute-list toR5 out GigabitEthernet0/5 We can see that the “no auto-summary” command is missing. Let’s correct this and verify. R1(config)#router rip R1(config-router)#no auto-summary After the above configuration changes, R5 now receives the exact 192.168.4.1/32 prefix. However now unlike the output shown earlier, R5’s routing table now shows only a single route to reach the 192.168.4.1 prefix via R3. Meaning, the 192.168.4.1 prefix is reachable only through R3 and not R1. On R5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 307 R5#show ip route 192.168.4.1 Routing entry for 192.168.4.1/32 Known via "rip", distance 120, metric 1 Redistributing via rip Last update from 5.100.157.1 on GigabitEthernet0/9, 00:00:26 ago Routing Descriptor Blocks: * 5.100.157.1, from 5.100.157.1, 00:00:26 ago, via GigabitEthernet0/9 Route metric is 1, traffic share count is 1 A ping is issued again from R5 to verify rechability. As seen below, the ping succeeds and a traceroute verifies the path via R3. Recall, the task requires that this address should not be reachable from R5: R5#ping 192.168.4.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.4.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms R5#traceroute 192.168.4.1 Type escape sequence to abort. Tracing the route to 192.168.4.1 VRF info: (vrf in name/id, vrf out name/id) 1 5.100.157.1 1 msec * 1 msec With the above we can conclude that R5 is performing some form of filtering since R5 is receiving the prefix only from R3. Let’s observe the show ip protocol | inc filtered command output on R1: On R1: R1#show ip protocols | include filtered GigabitEthernet0/5 filtered by toR5 (per-user), default is not set Once again, another culprit has been identified. R1 is performing filtering as the ticket states, however, only on the interface G0/5 that is connected to R5. R1 needs to be configured to filter the RIP update out its G0/9 interface as well, to prevent R3 from advertising it to R5. There are two ways this can be achieved: 1. Remove the current distribute-list and re-enter it without specifying any interface. This way, the filtering is applied to all interface enable for RIP, OR 2. Reuse the same distribute-list and access-list combination, except this time, specify the interface G0/9 (distribute-list toR5 out GigabitEthernet0/9) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 308 This lab solution chooses to use the first method where the interface specified is omitted from the distribute-list resulting in the filtering be applied to ALL interfaces on R1 that are enabled for RIPv2: R1(config)#router rip R1(config-router)#no distribute-list toR5 out GigabitEthernet0/5 R1(config-router)#distribute-list toR5 out On issuing a clear ip route * on R5, the routing table now shows no entries for the 192.168.4.1 prefix and as the task desires. A pings issued to the 192.168.4.1 address fails: On R5: R5#show ip route 192.168.4.1 % Subnet not in table R5#ping 192.168.4.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.4.1, timeout is 2 seconds: ..... Ticket 2 R7 is configured to filter all even third octet networks (for example, x.x.2.x, x.x.4.x, x.x.6.x) with the mask /24. However, this has affected all routes, and none of them are reachable from R2. The ticket claims that R2 does not have any rechability to any routes advertised by R7. Observing the routing table on R2 below, verifies this claim. As seen, R2’s routing shows no routes have been learned from R7: On R2: R2#show ip route rip | b Gate Gateway of last resort is not set 5.0.0.0/8 is variably subnetted, 9 subnets, 2 masks CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 309 R R R R R R 5.100.15.0/24 [120/1] via 5.100.245.5, 00:00:11, Tunnel1 5.100.99.1/32 [120/2] via 5.100.245.5, 00:00:11, Tunnel1 5.100.99.5/32 [120/1] via 5.100.245.5, 00:00:11, Tunnel1 5.100.157.0/24 [120/1] via 5.100.245.5, 00:00:11, Tunnel1 192.168.4.0/32 is subnetted, 2 subnets 192.168.4.1 [120/2] via 5.100.245.5, 00:01:59, Tunnel1 192.168.4.2 [120/2] via 5.100.245.5, 00:00:11, Tunnel1 We begin investigating by looking at the show ip protocol command output on R2 to check if the interface G0/7 that connects to R7 is configured to receive RIPv2 updates: R2#show ip protocol | b Interface Interface Send Recv Triggered RIP GigabitEthernet0/7 2 2 Loopback0 2 2 Tunnel1 2 2 Automatic network summarization is not in effect Maximum path: 4 Routing for Networks: 5.0.0.0 Routing Information Sources: Gateway Distance Last Update 5.100.245.5 120 00:00:28 Distance: (default is 120) Key-chain The highlighted output above does verify that R2 is listening for RIPv2 updates from R7. Let’s issue the debug ip rip command on R2 to see if this hints to any issues: R2#debug ip rip RIP protocol debugging is on RIP: ignored v1 packet from 5.100.212.21 (illegal version) On turning on the debug, we notice a very peculiar message “illegal version” for the RIP packets sourced from R7’s interface address 5.100.212.21. This message is seen when the neighboring router sends an update that the local router is configured to not accept. R7 is configured to send only RIPv1 updates out its interfaces, and R2 is configured to accept only RIPv2 updates. Notice the highlighted output below verifies this on R7: R2#undebug all On R7: R7#show ip protocol | begin Interface CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 310 Interface Send Recv Triggered RIP GigabitEthernet0/2 1 1 2 GigabitEthernet0/9 1 1 2 Automatic network summarization is not in effect (The rest of the output is omitted for brevity) Key-chain txt By default, a router configured for RIP is able to receive RIPv1 and RIPv2 packets, however it only sends Version 1 packets. The show run | s router rip from R7 also shows the missing version 2 command: R7#show run | sec router rip router rip passive-interface Loopback210 passive-interface Loopback211 passive-interface Loopback212 passive-interface Loopback213 passive-interface Loopback214 passive-interface Loopback215 passive-interface Loopback216 passive-interface Loopback217 passive-interface Loopback218 passive-interface Loopback219 network 5.0.0.0 network 192.168.210.0 network 192.168.211.0 network 192.168.212.0 network 192.168.213.0 network 192.168.214.0 network 192.168.215.0 no validate-update network 192.168.216.0 network 192.168.217.0 network 192.168.218.0 network 192.168.219.0 distribute-list 10 out no auto-summary To ensure R7 sends version 2 packets, the version is specified with the version 2 command under the router RIP configuration mode on R7: R7(config)#router rip R7(config-router)#version 2 R7#clear ip route * CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 311 As a result of the above changes, R2 now receives and accepts the RIPv2 packets from R7 and populates its routing table with the RIP routes R7 is configured to send as seen below: To verify the configuration: On R2: R2#show ip route rip | b Gate Gateway of last resort is not set R R R R R R R R R R 5.0.0.0/8 is variably subnetted, 9 subnets, 2 masks 5.100.15.0/24 [120/1] via 5.100.245.5, 00:00:19, Tunnel1 5.100.99.1/32 [120/2] via 5.100.245.5, 00:00:19, Tunnel1 5.100.99.5/32 [120/1] via 5.100.245.5, 00:00:19, Tunnel1 5.100.157.0/24 [120/1] via 5.100.245.5, 00:00:19, Tunnel1 [120/1] via 5.100.212.21, 00:00:14, GigabitEthernet0/7 192.168.4.0/32 is subnetted, 1 subnets 192.168.4.2 [120/2] via 5.100.245.5, 00:00:19, Tunnel1 192.168.211.0/24 [120/1] via 5.100.212.21, 00:00:14, GigabitEthernet0/7 192.168.213.0/24 [120/1] via 5.100.212.21, 00:00:14, GigabitEthernet0/7 192.168.215.0/24 [120/1] via 5.100.212.21, 00:00:14, GigabitEthernet0/7 192.168.217.0/24 [120/1] via 5.100.212.21, 00:00:14, GigabitEthernet0/7 192.168.219.0/24 [120/1] via 5.100.212.21, 00:00:14, GigabitEthernet0/7 Ticket 3 R4 can’t reach R1’s Lo42 using its Lo0 as the source: Use a single command to fix this problem. A ping is issued from R4’s Ioopback 0 IP address, 5.100.99.1 to R1’s loopback 42 IP address, 192.168.4.2 to verify the issue. As seen below, the ping fails: On R4: R4#ping 192.168.4.2 source lo0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.4.2, timeout is 2 seconds: Packet sent with a source address of 5.100.99.4 ..... Success rate is 0 percent (0/5) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 312 Next a ping to the 192.168.4.2 address is issued again from R4, but this time without specifying any source interface: R4#ping 192.168.4.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.4.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 48/51/52 ms When a specific source is not specified in a ping, the router will default to using the source interface it uses to reach the destination. As seen below, R4’s routing table shows it uses its Tunnel 1 interface to reach the 192.168.4.2 address. This means, R4 sources the above ping from the IP address assigned to it’s Tunnel 1 interface, 5.100.245.5 R4#show ip route 192.168.4.2 Routing entry for 192.168.4.2/32 Known via "rip", distance 120, metric 2 Redistributing via rip Last update from 5.100.245.5 on Tunnel1, 00:00:06 ago Routing Descriptor Blocks: * 5.100.245.5, from 5.100.245.5, 00:00:06 ago, via Tunnel1 Route metric is 2, traffic share count is 1 With the above two tests, we conclude two things: 1. The ping sourced from the routers tunnel 1 interface succeeded. This means, R1 has a route to the IP address 5.100.245.5 since it was able to return the ICMP traffic for the pings issued 2. The ping sourced from the 5.100.99.1 failed. Meaning, either R1 does not have a route to this address to return the traffic or some form of filtering is preventing rechability. Let’s look at the routing table on R1 to see if it has a route to the 5.100.99.4 address: On R1: R1#show ip route 5.100.99.4 % Subnet not in table Clearly, as seen above, R1 does not have a route to this address. What about R5? CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 313 On R5: R5#show ip route 5.100.99.4 % Subnet not in table R5 does not have a route to the 5.100.99.4 address either. Let’s verify if R5 is receiving RIP updates from R4 for this prefix by turning on RIP debugging with the debug ip rip command: R5#debug ip rip RIP protocol debugging is on *May 9 22:37:52.425: RIP: sending v2 update to 224.0.0.9 via Loopback0 (5.100.99.5) RIP: build update entries 5.100.15.0/24 via 0.0.0.0, metric 1, tag 0 5.100.99.1/32 via 0.0.0.0, metric 2, tag 0 5.100.157.0/24 via 0.0.0.0, metric 1, tag 0 5.100.245.0/24 via 0.0.0.0, metric 1, tag 0 192.168.4.2/32 via 0.0.0.0, metric 2, tag 0 RIP: ignored v2 packet from 5.100.99.5 (sourced from one of our addresses) RIP: sending v2 update to 224.0.0.9 via GigabitEthernet0/1 (5.100.15.5) RIP: build update entries 5.100.99.5/32 via 0.0.0.0, metric 1, tag 0 5.100.157.0/24 via 0.0.0.0, metric 1, tag 0 5.100.245.0/24 via 0.0.0.0, metric 1, tag 0 RIP: received v2 update from 5.100.15.1 on GigabitEthernet0/1 5.100.99.1/32 via 0.0.0.0 in 1 hops 5.100.157.0/24 via 0.0.0.0 in 1 hops 192.168.4.2/32 via 0.0.0.0 in 1 hops RIP: sending v2 update to 224.0.0.9 via Tunnel1 (5.100.245.5) RIP: build update entries 5.100.15.0/24 via 0.0.0.0, metric 1, tag 0 5.100.99.1/32 via 0.0.0.0, metric 2, tag 0 5.100.99.5/32 via 0.0.0.0, metric 1, tag 0 5.100.157.0/24 via 0.0.0.0, metric 1, tag 0 As seen above, we see no trace of any RIP updates for the 5.100.99.4 prefix on R5. Observing R4’s RIP configuration reveals the issue: R5#undebug all All possible debugging has been turned off Let’s verify R4’s RIP configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 314 On R4: R4#show run | s router rip router rip version 2 passive-interface default network 5.0.0.0 no auto-summary R4 has been configured with the passive-interface default command. This command prevents the router from sending RIP updates out ALL RIP enabled interfaces. As a result, information about the 5.100.99.4 prefix configured on R4 is not advertised out the tunnel 1 interface. To rectify the situation, issue the no passive-interface tunnel 1 command under the router RIP configuration mode on R4 as shown below: R4(config)#router rip R4(config-router)#no passive-interface tunnel 1 As a result, R1’s routing table now has a route to the 5.100.99.4 address on R4. A ping from R4’s loopback 0 interface is now successful as seen below (Note : It may take a small delay for RIPv2 to converge before the ping succeeds) R4#ping 192.168.4.2 source lo0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.4.2, timeout is 2 seconds: Packet sent with a source address of 5.100.99.4 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 2/2/2 ms Ticket 4 R2 is configured to filter its G0/7 interface with the IP address 5.100.212.2/24, but R5 can’t reach R2’s Lo0. Loopback 0 on R2 has been assigned the IP address 5.100.99.2. The ticket claims that this address is not reachable from R5. A ping from R5 to this address fails and the routing table verifies that R5 does not have a route to this prefix: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 315 On R5: R5#ping 5.100.99.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) On R5: R5#show ip route 5.100.99.2 % Subnet not in table The show ip protocol | section rip command output shows some form of outgoing filtering is configured for ALL interfaces on R2. The prefix-list referenced for this filter is called plIn. On R2: R2#show ip protocol | section rip Routing Protocol is "rip" Outgoing update filter list for all interfaces is (prefix-list) plIn Incoming update filter list for all interfaces is not set Sending updates every 30 seconds, next due in 21 seconds Invalid after 180 seconds, hold down 180, flushed after 240 Redistributing: rip Default version control: send version 2, receive version 2 Interface Send Recv Triggered RIP Key-chain GigabitEthernet0/7 2 2 Loopback0 2 2 Tunnel1 2 2 Automatic network summarization is not in effect Maximum path: 4 Routing for Networks: 5.0.0.0 5.0.0.0 Routing Information Sources: Gateway Distance Last Update 5.100.245.5 120 00:00:00 5.100.212.21 120 00:00:12 Distance: (default is 120) A show ip prefix-list is issued on R2 to check the contents of the prefix-list: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 316 R2#show ip prefix-list ip prefix-list plIn: 2 entries seq 5 deny 5.100.212.0/24 seq 10 permit 0.0.0.0/0 As the ticket indicates, R2 is configured to filter the RIP updates for the network assigned to it’s G0/7 interface. The second prefix-list state permits 0.0.0.0/0. This explicit statement is erroneously configured to permit a default route. The correct configuration should be a catch-all entry, that is permit everything else with the permit 0.0.0.0/0 le 32. The configuration is rectified by removing the prefix-list, recreating it, but this time adding le 32 to prefix list sequence 10 statement as seen below: R2(config)#no ip prefix-list plIn R2(config)#ip prefix-list plIn seq 5 deny 5.100.212.0/24 R2(config)#ip prefix-list plIn seq 10 permit 0.0.0.0/0 le 32 On issuing a clear ip route *, RIP updates for all networks except the 5.100.212.0/24 are sent out by R2. R5’s routing table verifies this. It has now installed the route to R2’s loopback address 5.100.99.2/32: R2#clear ip route * Let’s verify and see if R5 can reach R2’s Lo0: On R5: R5#clear ip route * R5#show ip route 5.100.99.2 Routing entry for 5.100.99.2/32 Known via "rip", distance 120, metric 1 Redistributing via rip Last update from 5.100.245.2 on Tunnel1, 00:00:01 ago Routing Descriptor Blocks: * 5.100.245.2, from 5.100.245.2, 00:00:01 ago, via Tunnel1 Route metric is 1, traffic share count is 1 A ping to this address from R5 now succeeds: R5#ping 5.100.99.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.2, timeout is 2 seconds: !!!!! CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 317 Success rate is 100 percent (5/5), round-trip min/avg/max = 52/54/56 ms Ticket 5 R4 can’t reach R2’s Lo0 interface. Restrictions: a. Do not configure the neighbor command. b. Do not change the DMVPN phase or configure DMVPN in a dynamic manner. A ping from R4 to R2’s loopback 0 IP address 5.100.99.2 fails as seen below: On R4: R4#ping 5.100.99.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) The routing table on R4 shows it has no route to the prefix: R4#show ip route 5.100.99.2 % Subnet not in table R2’s RIP configuration verifies that its correctly configured to advertise the 5.0.0.0 network into RIP: On R2: R2#show run | s rip router rip version 2 network 5.0.0.0 distribute-list prefix plIn out no auto-summary R5 routing table is checked to verify if it is receiving this network from R2 via RIP and as seen below, R5 has a RIP route installed for the 5.100.99.2 prefix: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 318 On R5: R5#show ip route 5.100.99.2 Routing entry for 5.100.99.2/32 Known via "rip", distance 120, metric 1 Redistributing via rip Last update from 5.100.245.2 on Tunnel1, 00:00:26 ago Routing Descriptor Blocks: * 5.100.245.2, from 5.100.245.2, 00:00:26 ago, via Tunnel1 Route metric is 1, traffic share count is 1 A ping from R5 to the 5.100.99.2 is issued to verify rechability: R5#ping 5.100.99.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms So, from the above we conclude, R2 is advertising it’s loopback 0 address into RIP and R5’s routing table confirms it is receiving it. The network however is missing from R4’s routing table. The reason for this is split-horizon. As noted from the diagram, R5, R2 and R4 form a DMVPN with R5 servicing as the NHS, or the hub. When running a DV protocol like RIP over DMVPN, the hub by default will not advertise routes it receives over an interface out the same interface. Meaning, in this topology, when R5 receives a RIP update from R2 over it’s tunnel interface, it will not advertise this update out the same tunnel interface to R4 because of the split-horizon. The show ip interface tunnel 1 command output below verifies that split-horizon is enabled: R5#show ip interface tunnel 1 Tunnel1 is up, line protocol is up Internet address is 5.100.245.5/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1476 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.9 Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 319 Local Proxy ARP is disabled Security level is default Split horizon is enabled To allow R5 to advertise the RIP update from R2 to R4, split-horizon needs to be disabled for RIP on R5’s tunnel interface with the no ip split-horizon command. The show ip interface tunnel 1 verifies this change: R5(config)#interface tunnel 1 R5(config-if)#no ip split-horizon To verify the configuration: R5#show ip interface tunnel 1 Tunnel1 is up, line protocol is up Internet address is 5.100.245.5/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1476 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.9 Outgoing access list is not set Inbound access list is not set Proxy ARP is enabled Local Proxy ARP is disabled Security level is default Split horizon is disabled On disabling split-horizon, the hub R5 now advertises RIP updates from R2 to R4. This is confirmed in the output below where R4 now has a route to the 5.100.99.2 prefix: On R4: R4#show ip route 5.100.99.2 Routing entry for 5.100.99.2/32 Known via "rip", distance 120, metric 2 Redistributing via rip Last update from 5.100.245.2 on Tunnel1, 00:00:12 ago Routing Descriptor Blocks: * 5.100.245.2, from 5.100.245.5, 00:00:12 ago, via Tunnel1 Route metric is 2, traffic share count is 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 320 A ping to the 5.100.99.2 address is once again issued from R4 to verify rechability. However as noted below, the pings still fail: R4#ping 5.100.99.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Observing the tunnel configurations on R4 and R2 we notice R4 and R2 are missing each other's VPN-toNBMA mappings entries: On R4: interface Tunnel1 ip address 5.100.245.4 255.255.255.0 no ip redirects ip nhrp map 5.100.245.5 192.1.5.5 ip nhrp map multicast 192.1.5.5 ip nhrp network-id 444 tunnel source GigabitEthernet0/0 tunnel mode gre multipoint On R2: interface Tunnel1 ip address 5.100.245.2 255.255.255.0 no ip redirects ip nhrp map 5.100.245.5 192.1.5.5 ip nhrp map multicast 192.1.5.5 ip nhrp network-id 222 tunnel source GigabitEthernet0/0 tunnel mode gre multipoint This is also confirmed with the conditional debugging turned on, on R4. While pinging R2’s tunnel IP address 5.100.245.2, R4 displays the message encapsulation failed: On R4: R4#debug condition interface tunnel 1 Condition 1 set R4#debug ip packet IP packet debugging is on CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 321 Now, let’s ping the next-hop IP address again: R4#ping 5.100.245.2 rep 1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 5.100.245.2, timeout is 2 seconds: IP: s=5.100.245.4 (local), d=224.0.0.9 (Tunnel1), len 72, sending broad/multicast IP: s=5.100.245.4 (local), d=224.0.0.9 (Tunnel1), len 72, sending full packet IP: s=5.100.245.4 (local), d=5.100.245.2 (Tunnel1), len 100, sending IP: s=5.100.245.4 (local), d=5.100.245.2 (Tunnel1), len 100, encapsulation failed. Success rate is 0 percent (0/1) The issues is rectified by creating static NHRP mapping entries on R2 and R4 for each others tunnel IP and NBMA addresses as seen below: R4#undebug all All possible debugging has been turned off R4(config)#interface tunnel 1 R4(config-if)#ip nhrp map 5.100.245.2 192.1.2.2 Static mapping on R2 for return traffic: On R2: R2(config)#interface tunnel 1 R2(config-if)#ip nhrp map 5.100.245.4 192.1.4.4 A ping to R2’s loopback 0 address from R4 now succeeds: On R4: R4#ping 5.100.99.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 322 Ticket 6 R3 can’t ping R1’s Lo0. A ping from R3 to R1’s loopback 0 address 5.100.99.1 verifies the fail: On R3: R3#ping 5.100.99.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.1, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R3’s routing table shows that is has no route to the 5.100.99.1 address: R3#show ip route 5.100.99.1 % Subnet not in table The command debug ip rip is issued on R3 to turn RIP debugging on. R3 seems to be receiving RIP updates from R1, however the log message displays invalid authentication: R3#debug ip rip RIP protocol debugging is on RIP: received packet with MD5 authentication RIP: ignored v2 packet from 5.100.157.1 (invalid authentication) The configurations on R1 and R3 are examined to spot the issue. As seen, both routers are configured with key chains that contain a single key with the passphrase ccie. A show run | i _ccie$ on R1 and R3 however reveals a problem. The command issued on R1 returns the key-string output. The same however issued on R3, returns no output: R3#undebug all All possible debugging has been turned off On R1: R1#show run | section key chain key chain TST key 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 323 key-string ccie R1#show run interface g0/9 | b interface interface FastEthernet0/1 ip address 5.100.157.1 255.255.255.0 ip rip authentication mode md5 ip rip authentication key-chain TST end R1#show run | i _ccie$ key-string ccie The last command is entered to check for spaces after the password. On R3: R3#show run | section key chain key chain TST key 1 key-string ccie R3#show run interface g0/9 | begin interface interface GigabitEthernet0/9 ip address 5.100.157.3 255.255.255.0 ip rip authentication mode md5 ip rip authentication key-chain TST duplex auto speed auto media-type rj45 end R3#show run | include _ccie$ R3# The reason the command show run | include _ccie$ returns no output on R3 is because of the extra space included when typing the password ccie on R3. To rectify the issue, the password is reentered on R3, this time making sure no white space is added on after the key-string ccie: R3(config)#key chain TST R3(config-keychain)#key 1 R3(config-keychain-key)#key-string ccie CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 324 To verify the problem: On R3: R3#show run | include _ccie$ key-string ccie With the key-string values now matching on both ends, RIP updates are accepted at both ends. Pings from R3 to R1’s address succeed as shown below: To test the configuration: On R3: R3#ping 5.100.99.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.99.1, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms Ticket 7 R3 is configured to filter all routes received from R5. However, the routes are still there. Do not use another method to fix this problem; correct the existing problem. A show ip route issued on R3 verifies it is receiving RIP routes from R5: On R3: R3#show ip route rip | begin Gate Gateway of last resort is not set R R R R 5.0.0.0/8 is variably subnetted, 10 subnets, 2 masks 5.100.4.0/24 [120/2] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 5.100.15.0/24 [120/1] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 [120/1] via 5.100.157.1, 00:00:26, GigabitEthernet0/9 5.100.99.1/32 [120/1] via 5.100.157.1, 00:00:26, GigabitEthernet0/9 5.100.99.2/32 [120/2] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 325 R R R R R R R R R 5.100.99.4/32 [120/2] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 5.100.99.5/32 [120/1] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 5.100.245.0/24 [120/1] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 192.168.4.0/32 is subnetted, 1 subnets 192.168.4.2 [120/1] via 5.100.157.1, 00:00:26, GigabitEthernet0/9 192.168.211.0/24 [120/3] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 192.168.213.0/24 [120/3] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 192.168.215.0/24 [120/3] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 192.168.217.0/24 [120/3] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 192.168.219.0/24 [120/3] via 5.100.157.5, 00:00:09, GigabitEthernet0/9 The ticket however claims that R3 is configured to filter routes from R5. The show ip protocol command output on R3 can be to verify any route filtering R3 is configured for. As seen in the highlighted output below, R3 has been configured to filter RIP updates on its interfaces for the addresses specified in the ACL 157: R3#show ip protocol | section rip Routing Protocol is "rip" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is 157 Sending updates every 30 seconds, next due in 21 seconds Invalid after 180 seconds, hold down 180, flushed after 240 Redistributing: rip Default version control: send version 2, receive version 2 Interface Send Recv Triggered RIP Key-chain GigabitEthernet0/9 2 2 TST Loopback0 2 2 Automatic network summarization is not in effect Maximum path: 4 Routing for Networks: 5.0.0.0 5.0.0.0 Routing Information Sources: Gateway Distance Last Update 5.100.157.5 120 00:00:21 5.100.157.1 120 00:00:11 Distance: (default is 120) Let’s verify the access-list: R3#show access-list 157 Extended IP access list 157 10 deny ip any host 5.100.157.5 20 permit ip any any (182 matches) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 326 The above output reveals an incorrectly configured access-list. When using an extended access-list here for route filtering purposes from a specific source, the source portion of the extended access-list should reference the source of RIP update message, which is R5’s address 5.100.157.5, The destination portion of the extended access-list should reference the actual routes that need to be permitted or denied from the specified source. But as seen above, the addresses have been swapped. To rectify the configuration, the access-list 157 is first removed on R3 with the no access-list 157 command. The access-list is reconfigured this time keeping in mind to insert R5’s address 5.100.157.5 in the source portion and the keyword any in the destination portion of the ACL: On R3: R3(config)#no access-list 157 R3(config)#access-list 157 deny ip host 5.100.157.5 any R3(config)#access-list 157 permit ip any any On issuing a clear ip route *, we notice the RIP routes from R5 no longer exist in the routing table on R3: R3#clear ip route * R3#show ip route rip | b Gate Gateway of last resort is not set R R R 5.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 5.100.15.0/24 [120/1] via 5.100.157.1, 00:00:14, GigabitEthernet0/9 5.100.99.1/32 [120/1] via 5.100.157.1, 00:00:14, GigabitEthernet0/9 192.168.4.0/32 is subnetted, 1 subnets 192.168.4.2 [120/1] via 5.100.157.1, 00:00:14, GigabitEthernet0/9 Ticket 8 R7 should not have any RIPv2 routes in its routing table. You must configure an outbound filter using a standard numbered ACL and a distribute-list command on the G0/7 interface of R2 to accomplish this task. You are allowed to remove one command. First a single access-list statement denying all updates is configured on R2. The access-list is then referenced in a distribute-list that is applied outbound on R2 in an attempt to prevent R2 from advertising RIP routes to R7. This is then followed by a clear ip route * command on R2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 327 On R2: R2(config)#access-list 1 deny any R2(config)#router rip R2(config-router)#distribute-list 1 out g0/7 R2#clear ip route * The above configuration however does not result in the intended consequences. After issuing a clear ip route * on R7, R7 still continues to receive RIP updates as seen below: On R7: R7#clear ip route * R7#show ip route rip | begin Gate Gateway of last resort is not set R R R R R R R R R 5.0.0.0/8 is variably subnetted, 12 subnets, 2 masks 5.100.4.0/24 [120/2] via 5.100.157.5, 00:00:03, GigabitEthernet0/9 5.100.15.0/24 [120/1] via 5.100.157.5, 00:00:03, GigabitEthernet0/9 [120/1] via 5.100.157.1, 00:00:08, GigabitEthernet0/9 5.100.99.1/32 [120/1] via 5.100.157.1, 00:00:08, GigabitEthernet0/9 5.100.99.2/32 [120/2] via 5.100.157.5, 00:00:03, GigabitEthernet0/9 5.100.99.3/32 [120/1] via 5.100.157.3, 00:00:07, GigabitEthernet0/9 5.100.99.4/32 [120/2] via 5.100.157.5, 00:00:03, GigabitEthernet0/9 5.100.99.5/32 [120/1] via 5.100.157.5, 00:00:03, GigabitEthernet0/9 5.100.245.0/24 [120/1] via 5.100.157.5, 00:00:03, GigabitEthernet0/9 192.168.4.0/32 is subnetted, 1 subnets 192.168.4.2 [120/1] via 5.100.157.1, 00:00:08, GigabitEthernet0/9 A peculiarity is the output above is the exit interface of G0/9 for the RIP routes on R7. The addresses above exist on routers that are not directly connected to R7, namely R5, R3, R1. Pings are issued from R7 to R5, R3, R1 to check it has rechability to them. The pings fail as seen below: R7#ping 5.100.157.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.157.1, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R7#ping 5.100.157.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.157.1, timeout is 2 seconds: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 328 ..... Success rate is 0 percent (0/5) R7#ping 5.100.157.5 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 5.100.157.1, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) With the above we can conclude that R7 does not have rechability to those routers, so it shouldn’t have learned the RIP routes directly from them. However, observing SW2 helps expose how R7 is receiving routes from routers it isn’t connected to. Have a look at the show interface e1/3 status on SW2: On SW2: SW2#show interface e1/3 status Port Name Et1/3 Status Vlan monitoring 1 Duplex Speed Type half auto RJ45 A monitor session is configured to take all traffic from R3’s G0/9 interface and forward it to the port that R7 is connected to . This is why R7 is receiving these routes. This problem is fixed with a no monitor session 1 command on SW2: SW2#show run | include monitor session monitor session 1 source interface Et0/3 monitor session 1 destination interface Et1/3 SW2(config)#no monitor session 1 On issuing a clear ip route *, we see R7 no longer receives any RIP routes as evidenced by the show ip route rip command output below: On R7: R7#clear ip route * R7#show ip route rip | begin Gate Gateway of last resort is not set CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 329 Ticket 9 Erase the startup configuration and reload the devices before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 330 Chapter 4 CCIE Enterprise Infrastructure Foundation v1.0 www.MicronicsTraining.com Narbik Kocharians CCSI, CCIE #12410 R&S, Security, SP EIGRP CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 331 Lab 1 EIGRP Named Mode Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder EIGRP folder Lab-1. Task 1 Configure EIGRP on R1, R2, and R3 based on the following policy: Router Interface AS Number R1 G0/9 G0/0 G0/2 G0/3 Loopback0– Loopback3 200 100 100 100 100 R2 G0/9 200 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 332 R3 G0/1 G0/3 Loopback0 100 100 100 G0/1 G0/2 Loopback0 100 100 100 R1 should be configured to use unicast to establish an EIGRP neighbor adjacency with R2. R1 should use multicast to establish an EIGRP neighbor adjacency with R3. R1, R2, and R3 should use an EIGRP named mode configuration to accomplish this task. EIGRP named mode is a new configuration mode for EIGRP that was introduced in IOS 15.0(1)M, 12.2(33)SRE, 12.2(33)XNE, and IOS XE release 2.5. It contains many enhancements to EIGRP, most notably unifying EIGRP configuration commands to a single location in the router configuration. Prior to EIGRP named mode, some EIGRP configuration commands such as authentication and summarization, had to be configured under a specific interface. Certain commands such as redistribution and setting the router ID could be configured in global configuration mode. EIGRP named mode allows all of these configurations to exist in one location using global configuration mode. Interface-level commands are configured using the af-interface command within the EIGRP router configuration. EIGRP named mode also unifies IPv4 and IPv6 configuration. Previously, EIGRP IPv6 configuration needed to be enabled separately using the ipv6 router eigrp command in global configuration mode. EIGRP named mode supports both IPv4 and IPv6 using address families. The address-family ipv6 and address-family ipv4 commands configure the protocol to run for IPv6 and IPv4 respectively. Basic EIGRP named mode configuration is similar to normal IPv4 configuration. The router eigrp command is issued to enable the configuration. The difference is, instead of specifying the AS number, an alphanumeric string (text containing letters or numbers) should be entered that designates the EIGRP virtual instance that is being defined. This virtual instance name does not have to match between EIGRP neighbors. Only the actual AS number configured for the routing protocol process must match between EIGRP neighbors. The actual AS number is configured using the address-family [ipv4 | ipv6] unicast autonomous-system command with the numeric AS number included. Unlike RIP, automatic summarization is disabled by default in EIGRP. The show run does not display the default setting of auto summary even if no auto-summary has been configured. However, the setting will be displayed if auto summary is turned on. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 333 The following configurations are made on R1, R2 and R3 to run EIGRP in named mode and advertise the networks specified in the task: R1 is first configured to run EIGRP named mode for the virtual instance named tst with the router eigrp tst command. Then the command address-family ipv4 unicast autonomous-system 100 is entered to create and enter the IPv4 address-family configuration mode for AS 100. EIGRP is then enabled on the interface with the network command as specified in the task above: On R1: R1(config)#router eigrp tst R1(config-router)#address-family ipv4 unicast autonomous-system 100 R1(config-router-af)#network 12.1.1.1 0.0.0.0 R1(config-router-af)#network 13.1.1.1 0.0.0.0 R1(config-router-af)#network 145.1.1.1 0.0.0.0 R1(config-router-af)#network 1.1.0.1 0.0.0.0 R1(config-router-af)#network 1.1.1.1 0.0.0.0 R1(config-router-af)#network 1.1.2.1 0.0.0.0 R1(config-router-af)#network 1.1.3.1 0.0.0.0 Note : address-family ipv4 as 100 the shorter version of the command address-family ipv4 unicast autonomous-system 100 is also accepted by IOS. By default when EIGRP is enabled on an interface, it multicast EIGRP packets to the 224.0.0.10 address to discover neighbors. The task however requires R1 to use unicast to form an EIGRP neighbor adjacency with R2. This hints towards using the neighbor command on R1 and R2 to statically form EIGRP adjacencies with each other. The neighbor command deactivates the transmission of the EIGRP multicast packets on the specified interface and will cause the router to drop any packets multicasted to the address 224.0.0.10. R1 is configured below to form a static EIGRP adjacency with R2 using the neighbor 12.1.1.2 G0/2 command. When using the neighbor command, it is important to specify the interface over which the local router will attempt to form unicast adjacencies with the neighbor. R1(config-router-af)#neighbor 12.1.1.2 g0/2 The task specifies that R1 and R2 should also participate in EIGRP AS 200 over their g0/9 interface. EIGRP named mode only supports a single ASN per address-family in a single virtual instance. Because of this, it is not possible to configure a second ASN in the same tst EIGRP virtual instance configured on R1 and R2. In order to complete this part of the task, a second EIGRP virtual instance called tst200 is created for IPv4 AS 200 on R1. This is done with the address-family ipv4 unicast autonomous-system 200 command under the router eigrp tst200 configuration mode. EIGRP instance for AS 200 is enabled on the G0/9 interface with the network 10.1.1.1 0.0.0.0 command: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 334 R1(config)#router eigrp tst200 R1(config-router)#address-family ipv4 as 200 R1(config-router-af)#network 10.1.1.1 0.0.0.0 Next, EIGRP named mode is configured on R2. First, a virtual instance called tst is created to hold the configuration for EIGRP AS 100. Then, the interfaces g0/1, g0/3, and loopback 0 are all added to the EIGRP AS 100 process as indicated by the task. Finally, a static neighbor command is added to R2’s configuration to allow it to form a neighbor adjacency with R1. Without this step, R2 would not be able to become neighbors with R1 because of R1’s previous static neighbor configuration. The reason is because R1 is expecting unicast hello packets from R2’s interface IP address while R2 is multicasting hellos onto the link. This mismatch causes R1 to ignore the hellos received from R2. The final, complete configuration for the virtual instance tst on R2 is as follows: On R2: R2(config)#router eigrp tst R2(config-router)#address-family ipv4 as 100 R2(config-router-af)#network 12.1.1.2 0.0.0.0 R2(config-router-af)#network 23.1.1.2 0.0.0.0 R2(config-router-af)#network 2.2.2.2 0.0.0.0 R2(config-router-af)#neighbor 12.1.1.1 g0/1 As soon as R2 is configured with the neighbor statement, a console message indicating that a neighbor adjacency has been established with neighbor 12.1.1.1 appears as seen below: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 12.1.1.1 (GigabitEthernet0/1) is up: new adjacency As with R1, R2 needs to run EIGRP ASN 200 over its G0/9 interface. This requires the creation of a second virtual instance named tst200. Within this virtual instance, R2 is configured to run EIGRP in named mode for AS 200 on its G0/9 interface using the network command as shown below: R2(config)#router eigrp tst200 R2(config-router)#address-family ipv4 as 200 R2(config-router-af)#network 10.1.1.2 0.0.0.0 Finally, the same EIGRP named mode virtual instance tst is configured on R3 as well. Within this virtual instance, R3’s g0/1, g0/2, and loopback 0 interfaces are enabled to run for EIGRP AS 100 using network commands. Log messages indicating successful EIGRP neighbor adjacencies to R1 and R2 will appear on R3 as shown below: On R3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 335 R3(config)#router eigrp tst R3(config-router)#address-family ipv4 as 100 R3(config-router-af)#network 23.1.1.3 0.0.0.0 R3(config-router-af)#network 13.1.1.3 0.0.0.0 R3(config-router-af)#network 3.3.3.3 0.0.0.0 You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 23.1.1.2 (GigabitEthernet0/2) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 13.1.1.1 (GigabitEthernet0/1) is up: new adjacency To verify the configuration: After completing the above configurations, the routing tables on all three routers are examined with the show ip route eigrp 100 | begin Gate command to verify the EIGRP routes they learn from each other: On R1: R1#show ip route eigrp 100 | begin Gateway Gateway of last resort is not set D D D 2.0.0.0/8 [90/10880] via 12.1.1.2, 00:01:21, GigabitEthernet0/2 3.0.0.0/8 [90/10880] via 13.1.1.3, 00:01:20, GigabitEthernet0/3 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/15360] via 13.1.1.3, 00:01:21, GigabitEthernet0/3 [90/15360] via 12.1.1.2, 00:01:21, GigabitEthernet0/2 On R2: R2#show ip route eigrp 100 | begin Gateway Gateway of last resort is not set D D D D D D 1.0.0.0/24 is subnetted, 4 subnets 1.1.0.0 [90/10880] via 12.1.1.1, 00:03:33, GigabitEthernet0/1 1.1.1.0 [90/10880] via 12.1.1.1, 00:03:33, GigabitEthernet0/1 1.1.2.0 [90/10880] via 12.1.1.1, 00:03:33, GigabitEthernet0/1 1.1.3.0 [90/10880] via 12.1.1.1, 00:03:33, GigabitEthernet0/1 3.0.0.0/8 [90/10880] via 23.1.1.3, 00:03:25, GigabitEthernet0/3 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [90/15360] via 23.1.1.3, 00:03:35, GigabitEthernet0/3 [90/15360] via 12.1.1.1, 00:03:35, GigabitEthernet0/1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 336 D 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [90/15360] via 12.1.1.1, 00:03:33, GigabitEthernet0/1 On R3: R3#show ip route eigrp 100 | begin Gateway Gateway of last resort is not set D D D D D D D 1.0.0.0/24 is subnetted, 4 subnets 1.1.0.0 [90/10880] via 13.1.1.1, 00:00:43, GigabitEthernet0/1 1.1.1.0 [90/10880] via 13.1.1.1, 00:00:43, GigabitEthernet0/1 1.1.2.0 [90/10880] via 13.1.1.1, 00:00:43, GigabitEthernet0/1 1.1.3.0 [90/10880] via 13.1.1.1, 00:00:43, GigabitEthernet0/1 2.0.0.0/8 [90/10880] via 23.1.1.2, 00:00:43, GigabitEthernet0/2 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 23.1.1.2, 00:00:43, GigabitEthernet0/2 [90/15360] via 13.1.1.1, 00:00:43, GigabitEthernet0/1 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [90/15360] via 13.1.1.1, 00:00:43, GigabitEthernet0/1 Task 2 Configure R4 and R5 in EIGRP AS 100. You must use named mode to accomplish this task. As in the earlier task, R4 and R5 are configured to form EIGRP neighbor adjacencies using EIGRP named mode as seen below. The network command under the address-family IPv4 EIGRP configuration mode enables and advertises the networks on the interfaces specified in the task: On R4: R4(config)#router eigrp tst R4(config-router)#address-family ipv4 as 100 R4(config-router-af)#network 145.1.1.4 0.0.0.0 R4(config-router-af)#network 4.4.4.4 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 145.1.1.1 (GigabitEthernet0/0) is up: new adjacency CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 337 On R5: R5(config)#router eigrp tst R5(config-router)#address-family ipv4 as 100 R5(config-router-af)#network 5.5.5.5 0.0.0.0 R5(config-router-af)#network 145.1.1.5 0.0.0.0 You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 145.1.1.4 (GigabitEthernet0/0) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 145.1.1.1 (GigabitEthernet0/0) is up: new adjacency On configuring above, R4 and R5 form EIGRP adjacencies with each other and R1. This is confirmed with the show ip eigrp neighbors command. The show ip route eigrp | begin Gateway command is then used to verify the EIGRP routes learned by R4 and R5 as seen below: To verify the configuration: On R4: R4#show ip eigrp neighbors EIGRP-IPv4 VR(tst) Address-Family Neighbors for AS(100) H Address Interface 1 0 145.1.1.5 145.1.1.1 Gi0/0 Gi0/0 Hold Uptime SRTT (sec) (ms) 12 00:04:00 1 11 00:04:46 1021 RTO Q Seq Cnt Num 100 0 6 5000 0 16 R4#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D D D D D D 1.0.0.0/24 is subnetted, 4 subnets 1.1.0.0 [90/10880] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 1.1.1.0 [90/10880] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 1.1.2.0 [90/10880] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 1.1.3.0 [90/10880] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 2.0.0.0/8 [90/16000] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 3.0.0.0/8 [90/16000] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 5.0.0.0/8 [90/10880] via 145.1.1.5, 00:03:31, GigabitEthernet0/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [90/15360] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 338 D 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/20480] via 145.1.1.1, 00:04:17, GigabitEthernet0/0 On R5: R5#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D D D D D D D 1.0.0.0/24 is subnetted, 4 subnets 1.1.0.0 [90/10880] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 1.1.1.0 [90/10880] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 1.1.2.0 [90/10880] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 1.1.3.0 [90/10880] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 2.0.0.0/8 [90/16000] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 3.0.0.0/8 [90/16000] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 4.0.0.0/8 [90/10880] via 145.1.1.4, 00:00:42, GigabitEthernet0/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [90/15360] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/20480] via 145.1.1.1, 00:00:42, GigabitEthernet0/0 Task 3 Configure R1, R4, and R5 to use unicast to establish their EIGRP neighbor adjacency. The following first configures R1 to statically form EIGRP neighbor adjacencies with R4 and R5 using the neighbor command with G0/0 specified as the interface: On R1: R1(config)#router eigrp tst R1(config-router)#address-family ipv4 as 100 R1(config-router-af)#neighbor 145.1.1.4 g0/0 R1(config-router-af)#neighbor 145.1.1.5 g0/0 %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 145.1.1.5 (GigabitEthernet0/0) is down: Static peer configured CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 339 %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 145.1.1.4 (GigabitEthernet0/0) is down: Static peer configured On issuing the static neighborship configuration on R1, the CLI displays certain log messages as seen above indicating EIGRP neighborships to R4 and R5 have gone down. Following this, a show ip eigrp neighbors command on R1 reveals it hasn’t restored the EIGRP neighborships with R4 and R5: R1#show ip eigrp neighbors EIGRP-IPv4 VR(tst) Address-Family Neighbors for AS(100) H Address Interface Hold Uptime (sec) 1 13.1.1.3 Gi0/3 11 1d23h 0 12.1.1.2 Gi0/2 13 1d23h SRTT (ms) 1 1 RTO Q Seq Cnt Num 100 0 24 100 0 23 ! No EIGRP adjacencies with R4 and R5 Why hasn’t R1 re-established its EIGRP adjacency to these routers? The answer lies in what happens when you enable static configuration for EIGRP. As mentioned in Task 1, after configuring static neighbors, a router expects to receive only unicast hellos from the neighbor on that interface. The use of EIGRP multicast is entirely deactivated on that interface. This means, if a router receives a multicast hellos on that interface, it will ignore it. This can be seen in action by turning on EIGRP debugging with the debug eigrp packets command on R1: R1#debug eigrp packets (UPDATE, REQUEST, QUERY, REPLY, HELLO, UNKNOWN, PROBE, ACK, STUB, SIAQUERY, SIAREPLY) EIGRP Packet debugging is on *Aug *Aug 3 12:42:53.753: EIGRP: Ignore multicast Hello Gi0/0 145.1.1.4 3 12:42:54.016: EIGRP: Ignore multicast Hello Gi0/0 145.1.1.5 R4 and R5 continue to multicast EIGRP hellos in order to discover potential neighbors. R1 configured for static EIGRP neighborships ignores the multicast hellos received from R4 and R5 as seen above. In fact, R4 and R5 are expecting to receive multicast hellos and as such ignore the unicast hellos transmitted by R1: On R4 and R5: *Aug 3 12:49:58.589: EIGRP: Ignore unicast Hello from GigabitEthernet0/0 145.1.1.1 This means, on a multiaccess segment, EIGRP cannot unicast to one or some neighbors and multicast to others. If static neighborships are intended, all devices on that segment need to be configured to manually form EIGRP neighbor adjacencies with each other. To complete this task, static neighbor configurations are made on R4 and R5 as well: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 340 On R4: R4(config)#router eigrp tst R4(config-router)#address-family ipv4 as 100 R4(config-router-af)#neighbor 145.1.1.1 g0/0 R4(config-router-af)#neighbor 145.1.1.5 g0/0 You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 145.1.1.1 (GigabitEthernet0/0) is up: new adjacency On R5: R5(config)#router eigrp tst R5(config-router)#address-family ipv4 as 100 R5(config-router-af)#neighbor 145.1.1.1 g0/0 R5(config-router-af)#neighbor 145.1.1.4 g0/0 You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 145.1.1.1 (GigabitEthernet0/0) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 145.1.1.4 (GigabitEthernet0/0) is up: new adjacency On completing the above configuration, log messages confirm the adjacencies. The show ip eigrp neighbors command also verifies the same and the show ip route eigrp command output verifies the EIGRP routes learned: To verify the configuration: On R4: R4#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D D 1.0.0.0/24 is subnetted, 4 subnets 1.1.0.0 [90/10880] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 1.1.1.0 [90/10880] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 1.1.2.0 [90/10880] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 1.1.3.0 [90/10880] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 2.0.0.0/8 [90/16000] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 341 D D D D 3.0.0.0/8 [90/16000] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [90/15360] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/20480] via 145.1.1.1, 00:00:41, GigabitEthernet0/0 Task 4 Configure R6 in EIGRP AS 200. This router should run EIGRP AS 200 on its G0/9 and Loopback0 interfaces. You should use an EIGRP named mode configuration to accomplish this task. The following configures EIGRP named mode for AS 200 on R6 and the network command enables EIGRP on the interfaces specified: On R6: R6(config)#router eigrp tst200 R6(config-router)#address-family ipv4 as 200 R6(config-router-af)#netw 6.6.6.6 0.0.0.0 R6(config-router-af)#netw 10.1.1.6 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 200: neighbor 10.1.1.2 (GigabitEthernet0/9) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 200: neighbor 10.1.1.1 (GigabitEthernet0/9) is up: new adjacency The above results in EIGRP adjacencies between R1 and R6. R1’s routing table for EIGRP AS 200 verifies the EIGRP routes it learns from R6: To verify the configuration: On R1: R1#show ip route eigrp 200 | begin Gateway CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 342 Gateway of last resort is not set D 6.0.0.0/8 [90/10880] via 10.1.1.6, 00:00:39, GigabitEthernet9 Task 5 Configure OSPF Area 0 on R6’s G0/9 and R7’s G0/9 and Loopback0 interfaces. The router ID of these routers should be configured as 0.0.0.x, where x is the router number. The following enables OSPF 1 for Area 0 on R6 and R7’s G0/9 interfaces using the network command. OSPF is also enabled on the loopback interface on R7. Additionally, as required by the task, the OSPF router IDs are manually set using the router-id command: On R6: R6(config)#router ospf 1 R6(config-router)#router-id 0.0.0.6 R6(config-router)#network 10.1.1.6 0.0.0.0 area 0 On R7: R7(config)#router ospf 1 R7(config-router)#router-id 0.0.0.7 R7(config-router)#network 10.1.1.7 0.0.0.0 area 0 R7(config-router)#network 7.7.7.7 0.0.0.0 area 0 The following console log message appears on the router verifying the OSPF adjacencies: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.6 on GigabitEthernet0/9 from LOADING to FULL, Loading Done To verify the configuration: On R6: R6#show ip route ospf | begin Gateway Gateway of last resort is not set O 7.0.0.0/32 is subnetted, 1 subnets 7.7.7.7 [110/2] via 10.1.1.7, 00:00:27, GigabitEthernet0/9 Task 6 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 343 Configure R6 to redistribute OSPF into EIGRP such that R1 and R2 go directly to R7 to reach the 7.0.0.0/8 network. This task first requires configuring R6 to redistribute OSPF routes into EIGRP 200. Redistribution for EIGRP named mode is done in topology base configuration mode. Topology base configuration mode is entered using the topology base command within EIGRP router address-family configuration mode within an EIGRP virtual instance. There are many EIGRP functions that are executed in topology base configuration mode. The output below lists the variety of command options available: On R6: R6(config)#router eigrp tst200 R6(config-router)#address-family ipv4 as 200 R6(config-router-af)#topology base R6(config-router-af-topology)#? Address Family Topology configuration commands: auto-summary Enable automatic netw number summarization default Set a command to its defaults default-information Control distribution of default information default-metric Set metric of redistributed routes distance Define an administrative distance distribute-list Filter entries in eigrp updates eigrp EIGRP specific commands exit-af-topology Exit from Address Family Topology configuration mode maximum-paths Forward packets over multiple paths metric Modify metrics and parameters for advertisement no Negate a command or set its defaults offset-list Add or subtract offset from EIGRP metrics redistribute Redistribute IPv4 routes from another routing protocol snmp Modify snmp parameters summary-metric Specify summary to apply metric/filtering timers Adjust topology specific timers traffic-share How to compute traffic share over alternate paths variance Control load balancing variance The redistribute command in topology base configuration mode activates redistribution of other protocols into EIGRP. When routes from other routing sources are redistributed into EIGRP, EIGRP, like all other routing protocols, needs to be able to assign a metric value to the redistributed prefixes. This is no problem if the source routing protocol is another EIGRP virtual instance running on the router because the metric values used by the source protocol will be the same as EIGRP’s own metrics. When redistributing routes from a different routing protocol, however, EIGRP cannot accept the metric values. Some routing protocols have a default metric that is assigned to all redistributed prefixes, but EIGRP does not have such a function. Instead, the administrator must manually provide the component metric information as a seed metric to be used for CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 344 all redistributed prefixes. Without this seed metric, EIGRP will not redistribute any routes from the intended source protocol. The seed metric can be set using the metric option along with the redistribute command as in the below: R6(config)#router eigrp tst200 R6(config-router)#address-family ipv4 as 200 R6(config-router-af)#topology base R6(config-router-af-topology)#redistribute ospf 1 metric 10000 1000 255 1 1500 The above configuration causes R6 to advertise the redistribute routes as EIGRP external routes to it’s EIGRP neighbor R1. This can be verified on R1 with the show ip route 7.7.7.7 command as seen below: To verify the configuration: On R1: R1#show ip route 7.7.7.7 Routing entry for 7.7.7.7/32 Known via "eigrp 200", distance 170, metric 5637120, type external Redistributing via eigrp 200 Last update from 10.1.1.6 on GigabitEthernet9, 00:03:28 ago Routing Descriptor Blocks: * 10.1.1.6, from 10.1.1.6, 00:03:28 ago, via GigabitEthernet0/9 Route metric is 5637120, traffic share count is 1 Total delay is 10010 microseconds, minimum bandwidth is 10000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 Notice in the output above the next hop IP Address for the 7.7.7.7 prefix on R1 is R6’s interface 10.1.1.6. The same occurs on R2. Because R6 is the next-hop for the prefix, whenever R1 or R2 try to route packets to the 7.7.7.7 prefix, they will forward the packers to R6 which will then forward to R7. The task requirements state that R1 and R2 should route directly to R7 for the 7.0.0.0/8 network. This would be a simple task if R1 and R2 were also running OSPF, but, in this case, R1 and R2 are not configured for OSPF and R7 isn’t running EIGRP. The only way R1 and R2 receive the 7.0.0.0/8 prefixes is via redistribution into EIGRP from R6. In order to meet the task requirement, changes must be made such that the R6 advertises R7, the original next-hop from OSPF, as the next-hop in its EIGRP advertisement to R1 and R2. How can this be done? By enabling the third-party next-hop feature. The third-party next-hop feature prevents an advertising router from setting itself as the next hop for EIGRP routes it advertises. The feature assumes that if all routers are in the same subnet, then they have CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 345 reachability to each other. Advertising the original next-hop prevents suboptimal routing situations like what is currently present in the topology between R1, R2, R6, and R7. In other words, R6 will retain the original next-hop address of R7 when advertising the 7.7.7.7 prefix to R1 and R2 via EIGRP. Since R1 and R2 belong to the same subnet as R7, the 10.1.1.0/24, they can directly route packets to R7 instead of sending it to R6. Certain protocols such as BGP have this feature turned on by default, EIGRP requires an extra configuration step to enable this feature. By default as seen above, R6 resets the next hop to itself when advertising the 7.7.7.7 prefix. It can be prevented from doing this by using the no next-hop-self command in af-interface configuration mode for its G0/9. This mode is entered from router address-family configuration mode using the af-interface command: On R6: R6(config)#router eigrp tst200 R6(config-router)#address-family ipv4 as 200 R6(config-router-af)#af-interface g0/9 R6(config-router-af-interface)#? Address Family Interfaces configuration commands: add-paths Advertise add paths authentication authentication subcommands bandwidth-percent Set percentage of bandwidth percentage limit bfd Enable Bidirectional Forwarding Detection dampening-change Percent interface metric must change to cause update dampening-interval Time in seconds to check interface metrics default Set a command to its defaults exit-af-interface Exit from Address Family Interface configuration mode hello-interval Configures hello interval hold-time Configures hold time next-hop-self Configures EIGRP next-hop-self no Negate a command or set its defaults passive-interface Suppress address updates on an interface shutdown Disable Address-Family on interface split-horizon Perform split horizon summary-address Perform address summarization R6(config-router-af-interface)#no next-hop-self Once next-hop-self is disabled, the true next hop is now being retained by R6 when advertising to R1 and R2. The show ip route 7.7.7.7 output on R1 and R2’s correctly list R7 as the next hop for the 7.7.7.7 prefix as seen below: To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 346 On R1: R1#show ip route 7.7.7.7 Routing entry for 7.7.7.7/32 Known via "eigrp 200", distance 170, metric 5637120, type external Redistributing via eigrp 200 Last update from 10.1.1.7 on GigabitEthernet9, 00:02:25 ago Routing Descriptor Blocks: * 10.1.1.7, from 10.1.1.6, 00:02:25 ago, via GigabitEthernet0/9 Route metric is 5637120, traffic share count is 1 Total delay is 10010 microseconds, minimum bandwidth is 10000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 Task 7 Configure the hello interval of all routers in AS 200 to be twice the default hello interval. The hello interval or the frequency at which EIGRP hello packets are transmitted defaults to 5 seconds. This is confirmed with the show ip eigrp 200 interface detail | include interval output below from R1: R1#show ip eigrp 200 interface detail | include interval Hello-interval is 5, Hold-time is 15 The task requires doubling the hello interval on all routers configured for EIGRP AS 200, meaning, R1, R2 and R6. The hello interval can be modified with the hello-interval command under the EIGRP af-interface configuration mode. The value is set to 10 seconds (two times the default interval of 5) on the routers as seen below: On R1 and R2: Rx(config)#router eigrp tst200 Rx(config-router)#address-family ipv4 as 200 Rx(config-router-af)#af-interface g0/9 Rx(config-router-af-interface)#hello-interval 10 On R6: R6(config)#router eigrp tst200 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 347 R6(config-router)#address-family ipv4 as 200 R6(config-router-af)#af-interface g0/9 R6(config-router-af-interface)#hello-interval 10 The show ip eigrp 200 interface detail | include interval command output on these routers verify the change: To verify the configuration: On R1: R1#show ip eigrp 200 interface detail | include interval Hello-interval is 10, Hold-time is 15 On R6: R1#show ip eigrp 200 interface detail | include interval Hello-interval is 5, Hold-time is 15 Hello-interval is 10, Hold-time is 15 Note: When the hello interval is changed the hold-time is NOT changed automatically. Task 8 Configure R4 such that in the worst-case scenario, it uses 10% of the bandwidth for its EIGRP updates. This policy should apply to the existing and future interfaces. By default, EIGRP will ONLY consume 50 percent of its interface’s bandwidth for EIGRP control packets. This default can be changed using the bandwidth-percent command in interface configuration mode or in the af-interface configuration mode under the address-family. The following modifies the utilization to 10 percent on R4 under the af-interface default configuration mode. The af-interface default configuration mode is a special interface configuration mode. Any configuration made in this mode is automatically applied to all interfaces on the router as a default setting: On R4: R4(config)#router eigrp tst R4(config-router)#address-family ipv4 as 100 R4(config-router-af)#af-interface default CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 348 R4(config-router-af-interface)#bandwidth-percent 10 The show ip eigrp interface detail output verifies the change: To verify the configuration: R4#show ip eigrp interface detail | include BW Interface BW percentage is 10 Interface BW percentage is 10 Task 9 Configure R1 to summarize its loopback interfaces and advertise a single summary in the EIGRP AS 100 routing domain. Following loopback interfaces configured on R1 are to be summarized into a 1.1.0.0/22 summary address: On R1: R1#show ip interface brief | include Loopback Loopback0 Loopback1 Loopback2 Loopback3 1.1.0.1 1.1.1.1 1.1.2.1 1.1.3.1 YES manual up YES manual up YES manual up YES manual up up up up up The af-interface default configuration mode in EIGRP named mode however does not include a summarization option as seen below: R1(config)#router eigrp tst R1(config-router)#address-family ipv4 autonomous-system 100 R1(config-router-af)#af-interface default R1(config-router-af-interface)#? Address Family Interfaces configuration commands: add-paths Advertise add paths authentication authentication subcommands bandwidth-percent Set percentage of bandwidth percentage limit bfd Enable Bidirectional Forwarding Detection dampening-change Percent interface metric must change to cause update dampening-interval Time in seconds to check interface metrics default Set a command to its defaults CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 349 exit-af-interface hello-interval hold-time next-hop-self no passive-interface shutdown split-horizon Exit from Address Family Interface configuration mode Configures hello interval Configures hold time Configures EIGRP next-hop-self Negate a command or set its defaults Suppress address updates on an interface Disable Address-Family on interface Perform split horizon ! No summarization option This means any summarization in EIGRP named mode needs to be done individually for each interface under the af-interface configuration mode with the summary-address command. This is seen below on R1 where the summary-address 1.1.0.0 255.255.252.0 command is configured under each interface on R1 that is enabled for EIGRP: R1(config)#router eigrp tst R1(config-router)#address-family ipv4 as 100 R1(config-router-af)#af-interface g0/2 R1(config-router-af-interface)#summary-address 1.1.0.0 255.255.252.0 R1(config-router-af)#af-interface g0/3 R1(config-router-af-interface)#summary-address 1.1.0.0 255.255.252.0 R1(config-router-af)#af-interface g0/0 R1(config-router-af-interface)#summary-address 1.1.0.0 255.255.252.0 The result of the above configuration can be verified on the neighboring routers as seen below. R2, R3, R4 and R5 each receive a summary route from R1: To verify the configuration: On R2: R2#sh ip route eigrp | b Gate Gateway of last resort is not set D D D D D EX D 1.0.0.0/22 is subnetted, 1 subnets 1.1.0.0 [90/10880] via 12.1.1.1, 00:01:36, GigabitEthernet0/1 3.0.0.0/8 [90/10880] via 23.1.1.3, 06:57:00, GigabitEthernet0/3 4.0.0.0/8 [90/16000] via 12.1.1.1, 06:41:09, GigabitEthernet0/1 6.0.0.0/8 [90/10880] via 10.1.1.6, 05:27:20, GigabitEthernet0/9 7.0.0.0/32 is subnetted, 1 subnets 7.7.7.7 [170/5637120] via 10.1.1.7, 05:27:20, GigabitEthernet0/9 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [90/15360] via 23.1.1.3, 06:57:03, GigabitEthernet0/3 [90/15360] via 12.1.1.1, 06:57:03, GigabitEthernet0/1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 350 D 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [90/15360] via 12.1.1.1, 06:56:58, GigabitEthernet0/1 On R3: R3#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D D 1.0.0.0/22 is subnetted, 1 subnets 1.1.0.0 [90/10880] via 13.1.1.1, 00:02:15, GigabitEthernet0/1 2.0.0.0/8 [90/10880] via 23.1.1.2, 06:57:37, GigabitEthernet0/2 4.0.0.0/8 [90/16000] via 13.1.1.1, 06:41:48, GigabitEthernet0/1 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 23.1.1.2, 06:57:37, GigabitEthernet0/2 [90/15360] via 13.1.1.1, 06:57:37, GigabitEthernet0/1 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [90/15360] via 13.1.1.1, 06:57:37, GigabitEthernet0/1 On R4: R4#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D D D 1.0.0.0/22 is subnetted, 1 subnets 1.1.0.0 [90/10880] via 145.1.1.1, 00:03:11, GigabitEthernet0/0 2.0.0.0/8 [90/16000] via 145.1.1.1, 06:42:55, GigabitEthernet0/0 3.0.0.0/8 [90/16000] via 145.1.1.1, 06:42:55, GigabitEthernet0/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 145.1.1.1, 06:42:55, GigabitEthernet0/0 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [90/15360] via 145.1.1.1, 06:42:55, GigabitEthernet0/0 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/20480] via 145.1.1.1, 06:42:55, GigabitEthernet0/0 On R5: R5#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D 1.0.0.0/22 is subnetted, 1 subnets 1.1.0.0 [90/10880] via 145.1.1.1, 00:03:02, GigabitEthernet0/0 2.0.0.0/8 [90/16000] via 145.1.1.1, 00:03:02, GigabitEthernet0/0 3.0.0.0/8 [90/16000] via 145.1.1.1, 00:03:02, GigabitEthernet0/0 4.0.0.0/8 [90/10880] via 145.1.1.4, 00:02:51, GigabitEthernet0/0 12.0.0.0/24 is subnetted, 1 subnets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 351 D 12.1.1.0 [90/15360] via 145.1.1.1, 00:03:02, GigabitEthernet0/0 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [90/15360] via 145.1.1.1, 00:03:02, GigabitEthernet0/0 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/20480] via 145.1.1.1, 00:03:02, GigabitEthernet0/0 D D Task 10 Configure R1 to limit the number of received prefixes from R5 to 10. R1 should be configured to receive a warning message once 50% of this threshold is reached and a warning message for every additional route that exceeds the threshold. You should configure Lo1–Lo10 on R5 by copying and pasting the initial configuration, called EIGRP-Lab1-Task10. EIGRP’s maximum-prefix configuration option allows for controlling the number of EIGRP prefixes a router learns from a specific peer under an address-family. This function is enabled on a per-neighbor basis and is configured in address-family configuration mode the neighbor neighbor-address maximum-prefix maximum-value command. This task requires R1 to be configured such that it only accepts 10 prefixes from its neighbor R5. In addition, IOS should also display a warning message once it receives 50 percent of the maximum allowed prefixes from that neighbor. Meaning, when R1 has received 5 prefixes from R5, it should display a warning. This can be achieved by appending additional arguments to the neighbor maximum-prefix command by setting the value to 50 before the warning-only keyword as shown below: On R1: R1(config)#router eigrp tst R1(config-router)#address-family ipv4 as 100 R1(config-router-af)#neighbor 145.1.1.5 maximum-prefix 10 50 warning-only To test the configuration, first EIGRP is enabled on the Loopback 1, Loopback 2 and Loopback 3 addresses on R5: On R5: R5(config)#router eigrp tst R5(config-router)#address-family ipv4 as 100 R5(config-router-af)#network 51.1.1.5 0.0.0.0 R5(config-router-af)#network 52.1.1.5 0.0.0.0 R5(config-router-af)#network 53.1.1.5 0.0.0.0 In total, since R1 has received only 4 EIGRP prefixes from R5, it will not display any warning messages. Next, EIGRP is enabled on another loopback on R5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 352 R5(config-router-af)#network 54.1.1.5 0.0.0.0 The above results in R1 displaying a warning message that the threshold prefix level of 5 has been reached: On R1: We can see that the first message was received: %DUAL-4-PFXLIMITTHR: EIGRP-IPv4 100: neighbor threshold prefix level(5) reached. EIGRP is then enabled on six more loopbacks on R5: On R5: R5(config-router-af)#network 55.1.1.5 0.0.0.0 R5(config-router-af)#network 56.1.1.5 0.0.0.0 R5(config-router-af)#network 57.1.1.5 0.0.0.0 R5(config-router-af)#network 58.1.1.5 0.0.0.0 R5(config-router-af)#network 59.1.1.5 0.0.0.0 Since R5 is now advertising 11 prefixes in total to R1, the following log message stating that the prefix limit has been reached is displayed on R1: On R1: %DUAL-3-PFXLIMIT: EIGRP-IPv4 100: neighbor prefix limit reached(10). Task 11 Configure R1 to limit the number of prefixes received from R4 to five. R1 should be configured to tear down the adjacency if R4 exceeds the specified threshold. Copy and paste the EIGRP-Lab-1-Task11 initial configuration on R4. This task takes a similar direction as Task 10. It requires configuring R1 such that it only accepts a maximum of five EIGRP prefixes from R4. In this case, if R1 receives more than five prefixes from R4, it should tear down its EIGRP adjacency with R4. To complete the task, we configure the neighbor 145.1.1.4 maximum-prefix 5 command under the addressfamily configuration mode on R1 with no other options specified. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 353 On R1: R1(config)#router eigrp tst R1(config-router)#address-family ipv4 as 100 R1(config-router-af)#neighbor 145.1.1.4 maximum-prefix 5 With no other options specified, by default, the threshold is set to 80 percent. Meaning, if R1 receives 80 percent of the configured maximum prefix value, it will display a warning message. If it reaches the maximum prefix value, the neighborship to the neighbor is shut down. To verify the configuration, R4’s loopback 1 interface is advertised in EIGRP. No warning message is displayed since R1 is receiving only two EIGRP prefixes (4.0.0.0/8 and 41.0.0.0/8) from R4: On R4: R4(config)#router eigrp tst R4(config-router)#address-family ipv4 as 100 R4(config-router-af)#network 41.1.1.4 0.0.0.0 To test the warning message, two more networks are advertised into EIGRP on R4 (Lo2, Lo3 and Lo4): R4(config-router-af)#network 42.1.1.4 0.0.0.0 R4(config-router-af)#network 43.1.1.4 0.0.0.0 R1 now receiving 80 percent of the maximum allowed prefixes, displays a warning message indicating the threshold prefix level: %DUAL-4-PFXLIMITTHR: EIGRP-IPv4 100: neighbor threshold prefix level(3) reached. Finally, R4 is configured to advertise two more loopback addresses into EIGRP. The result is R1 displaying the message prefix limit reached(5) and tearing down its EIGRP adjacency with R4 as shown below. The show ip eigrp neighbor command verifies the same: R4(config-router-af)#network 44.1.1.4 0.0.0.0 On R1: %DUAL-3-PFXLIMIT: EIGRP-IPv4 100: neighbor prefix limit reached(5). %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 145.1.1.4 (GigabitEthernet0/0) is down: prefix-limit exceeded CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 354 We can see that the adjacency is torn down, let’s verify the neighbor table of R4: R4#show ip eigrp neighbor EIGRP-IPv4 VR(tst) Address-Family Neighbors for AS(100) H Address Interface Hold Uptime SRTT (sec) (ms) 1 145.1.1.5 Gi0/0 11 00:19:06 7 RTO 100 Q Seq Cnt Num 0 29 R4#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D D D D D D D D 5.0.0.0/8 [90/10880] via 145.1.1.5, 00:20:25, GigabitEthernet0/0 51.0.0.0/8 [90/10880] via 145.1.1.5, 00:11:07, GigabitEthernet0/0 52.0.0.0/8 [90/10880] via 145.1.1.5, 00:11:02, GigabitEthernet0/0 53.0.0.0/8 [90/10880] via 145.1.1.5, 00:10:58, GigabitEthernet0/0 54.0.0.0/8 [90/10880] via 145.1.1.5, 00:10:33, GigabitEthernet0/0 55.0.0.0/8 [90/10880] via 145.1.1.5, 00:09:08, GigabitEthernet0/0 56.0.0.0/8 [90/10880] via 145.1.1.5, 00:08:49, GigabitEthernet0/0 57.0.0.0/8 [90/10880] via 145.1.1.5, 00:08:28, GigabitEthernet0/0 58.0.0.0/8 [90/10880] via 145.1.1.5, 00:08:16, GigabitEthernet0/0 59.0.0.0/8 [90/10880] via 145.1.1.5, 00:08:10, GigabitEthernet0/0 60.0.0.0/8 [90/10880] via 145.1.1.5, 00:07:42, GigabitEthernet0/0 We can see that R4 only exchanges routes with R5 and NOT R1. Task 12 Erase the startup configuration and reload the routers before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 355 Lab 2 EIGRP and Bidirectional Forwarding Detection (BFD) Task 1 Configure the routers based on the previous diagram. Do not configure any routing protocol. Based on the diagram, the following configures IP Addressing on R5 and R6’s G0/6 and G0/5 interfaces respectively. In addition, a loopback interface is created on each router and IP addresses are assigned to it as shown in the diagram: On R5: R5(config)#interface g0/6 R5(config-if)#ip address 56.1.1.5 255.255.255.0 R5(config-if)#no shut R5(config)#interface lo0 R5(config-if)#ip address 5.5.5.5 255.0.0.0 On R6: R6(config)#interface g0/5 R6(config-if)#ip address 56.1.1.6 255.255.255.0 R6(config-if)#no shut R6(config)#interface lo0 R6(config-if)#ip address 6.6.6.6 255.0.0.0 Task 2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 356 Configure EIGRP AS 100 on all directly connected interfaces of these two routers and ensure reachability. R5 should be configured using EIGRP classical mode, and R6 should use the EIGRP named mode configuration style. Following configurations enable EIGRP using the classic mode on R5 and the named mode on R6. EIGRP is enabled on their directly connected interfaces and loopback 0 with the network statement On R5: R5(config)#router eigrp 100 R5(config-router)#network 5.5.5.5 0.0.0.0 R5(config-router)#network 56.1.1.5 0.0.0.0 On R6: R6(config)#router eigrp aaa R6(config-router)#address ipv4 as 100 R6(config-router-af)#network 6.6.6.6 0.0.0.0 R6(config-router-af)#network 56.1.1.6 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 56.1.1.5 (GigabitEthernet0/5) is up: new adjacency To verify the configuration: The show ip route eigrp on both routers verify they have learned EIGRP routes from each other: R6#show ip route eigrp | begin Gate Gateway of last resort is not set D 5.0.0.0/8 [90/2570240] via 56.1.1.5, 00:01:22, GigabitEthernet0/5 On R5: R5#show ip route eigrp | begin Gate Gateway of last resort is not set D 6.0.0.0/8 [90/2848] via 56.1.1.6, 00:02:48, GigabitEthernet0/6 Task 3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 357 Configure and test BFD on these two routers. Being able to detect whether a routing peer is down rapidly is imperative to the route reconvergence process. It is so essential that each routing protocol institutes its own method of neighbor-down detection. These detection mechanisms rely on the receipt of hello or keepalive packets at a predefined interval. The problem with such systems is that most routing protocols are unable to achieve sub-second convergence with their default timers. Even with some sub-second timers, the processing overhead required to keep track of this process can become a resource drain on the router. In addition, if the network environment includes multiple routing protocols, the differing timer values can make it inconsistent for building automated processes around detection and recovery for neighbor down events. The Bidirectional Forwarding Detection (BFD) protocol supported on Cisco platforms is a protocol that is designed to provide fast neighbor down detection due to a failure in the forwarding path to a specific destination. This protocol can be used to replace the normal routing protocol hello and keepalive mechanisms. When used in this way, it provides a more consistent and predictable neighbor-down detection system. BFD works by establishing BFD sessions between neighbors. Each session is configured with different parameters that determine when the router will consider the neighbor peer as having gone down. Once BFD neighbors are established, BFD can be configured to send BFD echo packets at a specified interval to the BFD neighbor. These echo packets are forwarded in hardware, requiring little processor interaction to process. The BFD echo packet is a special packet sent by the router with the source and destination address equal to its own interface IP address. When received by the BFD neighbor, the BFD neighbor forwards this packet back to the local router in hardware. When the local router receives this packet back, it knows the remote peer is still online. The BFD session state can be linked to routing protocol neighborships. If the BFD neighbor session goes down, then the routing protocol neighborship is torn down. This process is called registering the protocol to participate in BFD. BFD is configured to run in two steps: 1. Configure the BFD session on a per-interface basis 2. Register the BFD session with the routing protocol of choice The following configures BFD to run between R5 and R6 for fast failure detection. In the first step, BFD is enabled on the G0/6 and G0/5 interfaces on R5 and R6 with the bfd interval milliseconds min_rx milliseconds multiplier interval-multiplier command. This command allows for CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 358 specifying certain BFD parameters such as how often to transmit UDP echoes. The interval timer dictates the rate at which the UDP echoes are generated. This value is set to 100ms on both R5 and R6. This means every 100ms R5 and R6 will send a UDP BFD echo to each other. The min_rx is the minimum receive time. It is the interval at which the local router expects to receive BFD control packets. If a control packet is not received within this time, then the router considers that packet as a missed packet. If the value specified here is 100 ms, the neighboring router should be configured to send BFD packets equal or less than 100ms. In this case, this value is set to 100 ms as well on both routers. Finally, the multiplier value is set to 3. The multiplier value specifies the number of packets that can be missed before BFD declares the peer down. STEP 1: On R5: R5(config)#interface g0/6 R5(config-if)#bfd interval 100 min_rx 100 multiplier 3 You should see the following console message: *Aug 4 12:58:35.439: %BFD-6-BFD_IF_CONFIGURE: BFD-SYSLOG: bfd config apply, idb:GigabitEthernet0/6 On R6: R6(config)#interface g0/5 R6(config-if)#bfd interval 100 min_rx 100 multiplier 3 In Step 2, BFD is registered with EIGRP. BFD can be applied to a single interface, or all interfaces. For this task, BFD for EIGRP is enabled only on the interface connecting R5 and R6. As such, in case of the classic mode EIGRP configuration on R5, BFD is registered with EIGRP under the router configuration mode with the bfd interface G0/6 command. In case of EIGRP named mode on R6, BFD is registered to run on the G0/5 interface under the af-interface G0/5 configuration mode with the bfd command: STEP 2: On R5: R5(config)#router eigrp 100 R5(config-router)#bfd interface g0/6 On R6: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 359 R6(config)#router eigrp aaa R6(config-router)#address-family ipv4 as 100 R6(config-router-af)#af-interface g0/5 R6(config-router-af-interface)#bfd The show bfd neighbor command can be used to verify the BFD session: To verify the configuration: R6#sh bfd neighbors IPv4 Sessions NeighAddr 56.1.1.5 LD/RD 1/1 RH/RS Up State Up Int Gi0/5 Task 4 Erase the startup configuration of these two routers and reload the devices before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 360 Lab 3 EIGRP Stub Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder EIGRP folder Lab-3. Task 1 Configure EIGRP AS 100 on the G0/2 and G0/1 interfaces of R1 and R2, respectively, as well as on all loopback interfaces of these two routers. On R1 configure EIGRP using the classic mode, and on R2 configure EIGRP in named mode to accomplish this task. Do not run EIGRP on the G0/1 interface of R1 or the G0/2 interface of R2. The following configures EIGRP in classic mode on R1 and EIGRP in named mode on R2. The network command then enables EIGRP on all the interfaces except the G0/1 and G0/2 interfaces on R1 andd R2 respectively: On R1: R1(config)#router eigrp 100 R1(config-router)#network 1.1.0.1 0.0.0.0 R1(config-router)#network 1.1.1.1 0.0.0.0 R1(config-router)#network 1.1.2.1 0.0.0.0 R1(config-router)#network 1.1.3.1 0.0.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 361 R1(config-router)#network 12.1.1.1 0.0.0.0 On R2: R2(config)#router eigrp tst R2(config-router)#address-family ipv4 as 100 R2(config-router-af)#network 2.2.0.2 0.0.0.0 R2(config-router-af)#network 2.2.1.2 0.0.0.0 R2(config-router-af)#network 2.2.2.2 0.0.0.0 R2(config-router-af)#network 2.2.3.2 0.0.0.0 R2(config-router-af)#network 12.1.1.2 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 12.1.1.1 (GigabitEthernet0/1) is up: new adjacency To verify the configuration: The show ip route eigrp command output on each router verifies the EIGRP learned routes: On R1: R1#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D 2.0.0.0/24 is subnetted, 4 subnets 2.2.0.0 [90/2848] via 12.1.1.2, 00:00:40, GigabitEthernet0/2 2.2.1.0 [90/2848] via 12.1.1.2, 00:00:40, GigabitEthernet0/2 2.2.2.0 [90/2848] via 12.1.1.2, 00:00:40, GigabitEthernet0/2 2.2.3.0 [90/2848] via 12.1.1.2, 00:00:40, GigabitEthernet0/2 On R2: R2#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D 1.0.0.0/24 is subnetted, 4 subnets 1.1.0.0 [90/2570240] via 12.1.1.1, 00:01:06, GigabitEthernet0/1 1.1.1.0 [90/2570240] via 12.1.1.1, 00:01:06, GigabitEthernet0/1 1.1.2.0 [90/2570240] via 12.1.1.1, 00:01:06, GigabitEthernet0/1 1.1.3.0 [90/2570240] via 12.1.1.1, 00:01:06, GigabitEthernet0/1 Task 2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 362 Configure R1 and R2 to summarize their loopback interfaces in EIGRP. In the classic EIGRP, summarization is performed under the interface. R1 running EIGRP in classic mode is configured with the ip summary-address eigrp 100.1.0.0 255.255.252.0 command to summarize its loopback addresses. On R1: R1(config)#interface g0/2 R1(config-if)#ip summary-address eigrp 100 1.1.0.0 255.255.252.0 For named mode, summarization is configured with the summary-address command under the af-interface for the address-family for IPv4 for EIGRP process tst. This is seen below on R2. Notice how IOS allows the use of prefix length while summarizing instead of entering the full subnet mask: On R2: R2(config)#router eigrp tst R2(config-router)#address-family ipv4 as 100 R2(config-router-af)#af-interface g0/1 R2(config-router-af-interface)#summary-address 2.2.0.0/22 The result of the above configurations can be viewed on the routing tables on R1 and R2 as seen below. As a result of summarization, R1 no longer advertises specific prefixes to R2. It instead advertises the summary route 1.1.0.0/22. Similarly, R2 no longer advertises specific prefixes, instead advertises the summary route 2.2.0.0/22: To verify the configuration: On R1: R1#show ip route eigrp | begin Gateway Gateway of last resort is not set D D 1.0.0.0/8 is variably subnetted, 9 subnets, 3 masks 1.1.0.0/22 is a summary, 00:01:56, Null0 2.0.0.0/22 is subnetted, 1 subnets 2.2.0.0 [90/2848] via 12.1.1.2, 00:01:16, GigabitEthernet0/2 On R2: R2#show ip route eigrp | begin Gateway Gateway of last resort is not set CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 363 D D 1.0.0.0/22 is subnetted, 1 subnets 1.1.0.0 [90/2570240] via 12.1.1.1, 00:02:24, GigabitEthernet0/1 2.0.0.0/8 is variably subnetted, 9 subnets, 3 masks 2.2.0.0/22 is a summary, 00:01:44, Null0 Notice the null route created on each router. A null route is created when EIGRP summarization is configured. The null interface is basically a discard interface. A router may receive traffic to an address that is covered by the summary range, but the address does not actually exist. In this case, traffic to a nonexistent IP address is forwarded to the null interface to be discarded. Earlier versions of IOS allowed removing the null route by setting the administrative distance of a null 0 route to 255. A route with an AD of 255 is deemed unreachable and isn’t installed in the routing table. The distance value was appended to the summary command. For example : ip summary-address eigrp 100 1.1.0.0 255.255.252.0 255. Newer IOS versions however have deprecated the use of this syntax preventing the removal of Null0 route. Issuing this command on the router results in the following message: R1(config-if)#ip summary-address eigrp 100 10.1.0.0 255.255.0.0 255 %EIGRP: summary-address accepted but distance option deprecated; use summary-metric command for distance. Task 3 Configure the following static routes on R1 and R2 and redistribute them into EIGRP: On R1: 11.0.0.0/8 via G0/1 On R2: 22.0.0.0/8 via G0/2 Static routes are configured with the ip route command on R1 and R2. These routes are then redistributed into EIGRP using the redistribute static command. In classic EIGRP configuration mode on R1, this command is issued in EIGRP router configuration mode. In named EIGRP configuration mode, redistribution configuration is applied under the address-family IPv4 topology base configuration mode as seen on R2 below: On R1: R1(config)#ip route 11.0.0.0 255.0.0.0 g0/3 R1(config)#router eigrp 100 R1(config-router)#redistribute static CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 364 On R2: R2(config)#ip route 22.0.0.0 255.0.0.0 g0/3 R2(config)#router eigrp tst R2(config-router)#address-family ipv4 as 100 R2(config-router-af)#topology base R2(config-router-af-topology)#redistribute static Notice in the above how the redistribute statement does not include a seed metric. In earlier sections, it was explained that EIGRP requires a seed metric whenever redistributing routes from another source routing protocol that isn’t EIGRP. EIGRP, however, does not require a seed metric whenever redistributing static or directly-connected routes from the routing table. EIGRP simply derives its component metrics from the exit interface of the static or directly-connected route. The show ip route eigrp command output below verifies the redistributed static routes at each end as external EIGRP routes: To verify the configuration: On R1: R1#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D EX 1.0.0.0/8 is variably subnetted, 9 subnets, 3 masks 1.1.0.0/22 is a summary, 00:05:32, Null0 2.0.0.0/22 is subnetted, 1 subnets 2.2.0.0 [90/2848] via 12.1.1.2, 00:04:52, GigabitEthernet0/2 22.0.0.0/8 [170/3072] via 12.1.1.2, 00:00:42, GigabitEthernet0/2 On R2: R2#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D EX 1.0.0.0/22 is subnetted, 1 subnets 1.1.0.0 [90/2570240] via 12.1.1.1, 00:06:07, GigabitEthernet0/1 2.0.0.0/8 is variably subnetted, 9 subnets, 3 masks 2.2.0.0/22 is a summary, 00:05:27, Null0 11.0.0.0/8 [170/15360] via 12.1.1.1, 00:01:48, GigabitEthernet0/1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 365 Task 4 Advertise the G0/1 interface of R1 and the G0/2 interface of R2 into RIPv2 and disable autosummarization. You should redistribute RIPv2 into EIGRP and use any metric for the redistributed routes. The following first configures RIP on R1 and R2. The RIP version is specified with the version 2 command and auto-summarization is disabled with the no auto-summary command. RIP is then enabled on the interfaces specified in the task with the network statement: On R1: R1(config)#router rip R1(config-router)#no auto-summary R1(config-router)#version 2 R1(config-router)#network 200.1.1.0 On R2: R2(config)#router rip R2(config-router)#no auto-summary R2(config-router)#version 2 R2(config-router)#network 200.2.2.0 R1 and R2 are then configured to redistribute RIP into EIGRP. In classic EIGRP configuration mode, the redistribute command is issued in EIGRP router configuration mode. In named EIGRP configuration mode, redistribution configuration is applied under the address-family IPv4 topology base configuration mode: On R1: R1(config)#router eigrp 100 R1(config-router)#redistribute rip metric 1000000 10 255 1 1500 On R2: R2(config)#router eigrp tst R2(config-router)#address-family ipv4 as 100 R2(config-router-af)#topology base R2(config-router-af-topology)#redistribute rip metric 1000000 10 255 1 1500 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 366 To verify the configuration: The show ip route eigrp command output on both routers verify the redistributed routes as EIGRP external routes: On R1: R1#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D EX D EX 1.0.0.0/8 is variably subnetted, 9 subnets, 3 masks 1.1.0.0/22 is a summary, 00:08:40, Null0 2.0.0.0/22 is subnetted, 1 subnets 2.2.0.0 [90/2848] via 12.1.1.2, 00:08:40, GigabitEthernet0/2 22.0.0.0/8 [170/3072] via 12.1.1.2, 00:08:40, GigabitEthernet0/2 200.2.2.0/24 [170/5376] via 12.1.1.2, 00:00:34, GigabitEthernet0/2 On R2: R2#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D EX D EX 1.0.0.0/22 is subnetted, 1 subnets 1.1.0.0 [90/2570240] via 12.1.1.1, 00:18:39, GigabitEthernet0/1 2.0.0.0/8 is variably subnetted, 9 subnets, 3 masks 2.2.0.0/22 is a summary, 00:17:59, Null0 11.0.0.0/8 [170/15360] via 12.1.1.1, 00:14:20, GigabitEthernet0/1 200.1.1.0/24 [170/61440] via 12.1.1.1, 00:01:54, GigabitEthernet0/1 Task 5 Configure EIGRP stub routing on R1 by using the command eigrp stub connected. Test this option and verify the routes in the routing tables of both routers. EIGRP supports what is known as the EIGRP stub routing feature. It is designed as a mechanism to help constrain EIGRP query messages that are generated whenever an EIGRP router loses a route in its topology table. Under normal circumstances, whenever an EIGRP router loses a route in its topology table, it sends an EIGRP QUERY message to all of its neighbors. The QUERY message is basically the router’s way of asking if its neighbors has another route to reach the network the local router lost. The local router will wait until it CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 367 receives REPLY messages from all neighbors to which it sent a QUERY. This process is called “going active” for a route because EIGRP is actively trying to determine the status of the route. Some routers will not have alternate routes to a lost network. This applies particularly to routers in a huband-spoke network. In this case, spokes receive their routes from the hub. If the hub goes down, there is no reason for the hub to query the spokes for alternate paths. The hub is essentially wasting its efforts. The EIGRP stub router feature gives stub routers (routers that only have a single connection to the network like the spokes in the hub-and-spoke example) a way to signal to the upstream neighbor that they have no alternate routes to networks. A router configured as stub sets the stub flag in its EIGRP hello packet it sends to its neighbors. Upon seeing this, the neighbor will not query the stub router for lost routes. The stub configuration can also be used to limit which routes the stub router will advertise to its neighbors. The major options are “connected”, “summary-only”, and “redistributed.” The next tasks demonstrate the effects of each configuration command. In case of the classic EIGRP mode, the eigrp stub command under the EIGRP router configuration mode is used to configure EIGRP stub routing. In the case of EIGRP named mode, stub routing is configured in address-family for IPv4 configuration mode. Various options are available when configuring EIGRP stub routing as seen below: EIGRP Stub routing configuration in classic mode R1(config)#router eigrp 100 R1(config-router)#eigrp stub ? Connected. Do advertise connected routes leak-map. Allow dynamic prefixes based on the leak-map receive-only. Set receive only neighbor redistributed Do advertise redistributed routes static Do advertise static routes summary Do advertise summary routes EIGRP Stub routing configuration in named mode R2(config)#router eigrp tst R2(config-router)#address-family ipv4 unicast autonomous-system 100 R2(config-router-af)#eigrp stub ? connected Do advertise connected routes leak-map Allow dynamic prefixes based on the leak-map receive-only Set receive only neighbor redistributed Do advertise redistributed routes static Do advertise static routes summary Do advertise summary routes CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 368 <cr> This task requires configuring R1 as stub with the eigrp stub connected command. The eigrp stub connected option causes the router to advertise only those connected routes that are covered by an EIGRP network statement. R1’s configuration below shows a few network statements issued to advertise the connected loopbacks on R1 into EIGRP: On R1: R1#show run | section router eigrp router eigrp 100 network 1.1.0.1 0.0.0.0 network 1.1.1.1 0.0.0.0 network 1.1.2.1 0.0.0.0 network 1.1.3.1 0.0.0.0 network 12.1.1.1 0.0.0.0 redistribute static redistribute rip metric 1000000 10 255 1 1500 With the eigrp stub connected command issued on R1 below, R1 will advertise the highlighted connected networks to R2. If any of the network statements covering the loopback addresses are removed from the above, those will not be advertised to R2. On R1: R1(config)#router eigrp 100 R1(config-router)#eigrp stub connected R2’s routing table is observed below. Notice how only connected routes covered by network statements on R1 are advertised to R2. The summary that was previously advertised to R2 is withdrawn and R1 instead advertises the specific prefixes that match network statements. In addition, the static and RIP routes that were redistributed into EIGRP on R1 are not present in R2’s routing table. This is a result of configuring eigrp stub connected command that prevents R1 from advertising the D EX routes to R2. To verify the configuration: On R2: R2#show ip route eigrp | include 12.1.1.1 D 1.1.0.0 [90/2570240] via 12.1.1.1, 00:02:21, GigabitEthernet0/1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 369 D D D 1.1.1.0 [90/2570240] via 12.1.1.1, 00:02:21, GigabitEthernet0/1 1.1.2.0 [90/2570240] via 12.1.1.1, 00:02:21, GigabitEthernet0/1 1.1.3.0 [90/2570240] via 12.1.1.1, 00:02:21, GigabitEthernet0/1 Task 6 Remove the eigrp stub connected option configured in the previous task and reconfigure EIGRP stub routing on R1 by using the eigrp stub summary command. Test this option and verify the routes in the routing tables of both routers. The earlier configuration is removed from R1 with the no eigrp stub connected command: On R1: R1(config)#router eigrp 100 R1(config-router)#no eigrp stub connected This task requires configuring the eigrp stub summary command. This stub configuration with the summary option will cause the router to advertise summary routes. This means, only EIGRP summary routes are advertised to neighbors. Any other networks covered by the network statement will not be advertised. This would include routes that are not covered by the summary network. For example, if R1 advertised a route to the 1.1.4.0/24 network, it would not be advertised to R2 even though the summary 1.1.0.0/22 does not cover that network. Task 2 of this section configured R1 to advertise a 1.1.0.0/22 summary route out its G0/2 interface to R2. Prior to this however, following is the state of the routing table on R2. R2 receives a summary route and EIGRP external routes from R1: To verify the configuration: On R2: R2#show ip route eigrp | include 12.1.1.1 D D EX D EX 1.1.0.0 [90/2570240] via 12.1.1.1, 00:00:06, GigabitEthernet0/1 11.0.0.0/8 [170/15360] via 12.1.1.1, 00:00:06, GigabitEthernet0/1 200.1.1.0/24 [170/61440] via 12.1.1.1, 00:00:06, GigabitEthernet0/1 The eigrp stub summary command is issued on R1: On R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 370 R1(config-if)#router eigrp 100 R1(config-router)#eigrp stub summary The implications of the above configuration can be observed on R2. Notice how R2 now only receives the summary route configured on R1. The static and RIP routes that were redistributed into EIGRP on R1 are not advertised to R2: On R2: R2#show ip route eigrp D | include 12.1.1.1 1.1.0.0 [90/2570240] via 12.1.1.1, 00:03:50, GigabitEthernet0/1 Task 7 Remove the eigrp stub summary option configured in the previous task and reconfigure EIGRP stub routing on R1 by using the command eigrp stub static. Test this option and verify the routes in the routing tables of both routers. The following first removes the configuration from Task 6: On R1: R1(config)#router eigrp 100 R1(config-router)#no eigrp stub summary Once again, R2’s routing table is observed prior to any configuration changes. R2 is receiving the summary route and the redistributed routes from R1: To verify the configuration: On R2: R2#show ip route eigrp | include 12.1.1.1 D D EX D EX 1.1.0.0 [90/2570240] via 12.1.1.1, 00:00:04, GigabitEthernet0/1 11.0.0.0/8 [170/15360] via 12.1.1.1, 00:00:04, GigabitEthernet0/1 200.1.1.0/24 [170/61440] via 12.1.1.1, 00:00:04, GigabitEthernet0/1 This task requires configuring the eigrp stub static command on R1. The static keyword causes a router to advertise static routes into EIGRP. However, in order to be eligible for advertisement, these static routes CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 371 have to be either covered by the network statement in EIGRP or redistributed into the EIGRP process with the redistribute static command. Task 3 of this section configured the redistribute static command on R1. Following configures the eigrp stub static command on R1: On R1: R1(config-if)#router eigrp 100 R1(config-router)#eigrp stub static The implication of the above configuration can be seen on R2’s routing table below. As seen, R2 now learns only about the static routes that redistributed on R1. The summary route and the EIGRP external network 200.1.1.0/24 are not being advertised by R1: On R2: R2#show ip route eigrp D EX | include 12.1.1.1 11.0.0.0/8 [170/15360] via 12.1.1.1, 00:00:16, GigabitEthernet0/1 Task 8 Remove the eigrp stub static option configured in the previous task and reconfigure EIGRP stub routing on R1 by using the command eigrp stub redistributed. Test this option and verify the routes in the routing tables of both routers. The following first removes the configuration from Task 7: On R1: R1(config)#router eigrp 100 R1(config-router)#no eigrp stub static The task requires issuing the eigrp stub redistributed command on R1. This stub option will cause a router to advertise routes that were redistributed into EIGRP. These could be connected routes or routes from other protocols that were injected into EIGRP using the redistribute statement. Both the static route to the 11.0.0.0/8 network and the RIP route for the network 200.1.1.0/24 that were redistributed into EIGRP are eligible to be advertised when using this option. The following verifies this. The eigrp stub redistributed command is first issued on R1: R1(config)#router eigrp 100 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 372 R1(config-router)#eigrp stub redistributed R2’s routing table verifies that it now receives only the redistributed routes from R1. Summary route injected into EIGRP on R1 is not advertised to R2: On R2: R2#show ip route eigrp | include 12.1.1.1 D EX 11.0.0.0/8 [170/15360] via 12.1.1.1, 00:05:22, GigabitEthernet0/1 D EX 200.1.1.0/24 [170/61440] via 12.1.1.1, 00:05:22, GigabitEthernet0/1 Task 9 Remove the eigrp stub redistributed option configured in the previous task and reconfigure EIGRP stub routing on R1 by using the command eigrp stub receive-only. Test this option and verify the routes in the routing tables of both routers. The following first removes the configuration from Task 8: On R1: R1(config)#router eigrp 100 R1(config-router)#no eigrp stub redistributed This task requires configuring the eigrp stub receive-only variation. The receive-only keyword will prevent the router from advertising any routes via EIGRP. The router however can receive EIGRP routes from its neighbors. The following configures this option on R1: R1(config)#router eigrp 100 R1(config-router)#eigrp stub receive-only Observing the routing tables on R2 and R1, we see that R2 no longer has any EIGRP routes from R1. R1’s routing table does however install the EIGRP summary route advertised by R2: On R2: R2#show ip route eigrp R2# CCIE by Narbik Kocharians | include 12.1.1.1 CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 373 On R1: R1#show ip route eigrp | include 12.1.1.2 D 2.2.0.0 [90/2848] via 12.1.1.2, 00:00:20, GigabitEthernet0/2 Task 10 Remove the eigrp stub receive-only option configured in the previous task and reconfigure EIGRP stub routing on R1 by using the command eigrp stub. Test this option and verify the routes in the routing tables of both routers. The following first removes the configuration from Task 9: On R1: R1(config)#router eigrp 100 R1(config-router)#no eigrp stub receive-only This task requires configuring the eigrp stub command without any of the variations. The command by itself will cause the router to advertise all the directly connected networks that are advertised into EIGRP with the network statement and EIGRP summary routes created on the router: Following configures eigrp stub on R1: R1(config)#router eigrp 100 R1(config-router)#eigrp stub The show run on R1 shows that even though just the eigrp stub command was issued, the router defaults to advertising the connected and summary routes. This is seen in the highlighted output below: R1#show run | section router eigrp router eigrp 100 network 1.1.0.1 0.0.0.0 network 1.1.1.1 0.0.0.0 network 1.1.2.1 0.0.0.0 network 1.1.3.1 0.0.0.0 network 12.1.1.1 0.0.0.0 redistribute static redistribute rip metric 1000000 10 255 1 1500 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 374 eigrp stub connected summary R2’s routing table shows the only route it learns is the summary route. This might seem strange as the connected loopback networks configured for EIGRP on R1 are missing from the routing table on R2: On R2: R2#show ip route eigrp | include 12.1.1.1 D 1.1.0.0 [90/2570240] via 12.1.1.1, 00:02:44, GigabitEthernet0/1 However, recall that configuring a EIGRP summary route on a router causes the router to only advertise the summary route while suppressing the more specific prefixes. A simple test is implemented below to prove this point. A new loopback is created on R1 and is assigned the IP Address 100.1.1.1/24. The network command is issued to advertise this network into EIGRP: On R1: R1(config)#interface lo100 R1(config-if)#ip address 100.1.1.1 255.255.255.0 R1(config)#router eigrp 100 R1(config-router)#network 100.1.1.1 0.0.0.0 Since the loopback 100 IP address down not fall under the summary range created on R1, 100.1.1.1 is advertised to R2 The routing table on R2 show that it now learns both the summary and connected route from R1: To verify the configuration: On R2: R2#show ip route eigrp | i 12.1.1.1 Gateway of last resort is not set D D 1.1.0.0 [90/2570240] via 12.1.1.1, 00:08:40, GigabitEthernet0/1 100.1.1.0 [90/2570240] via 12.1.1.1, 00:00:05, GigabitEthernet0/1 Task 11 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 375 Erase the startup configuration and reload the routers before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 376 Lab 4 EIGRP Filtering Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder EIGRP folder Lab-4. Task 1 Configure EIGRP 100 on all routers and advertise their directly connected links into EIGRP. Following configures EIGRP 100 al R1, R2, R3 and R4. All the directly connected networks (inluding loopbacks) are advertised into EIGRP with the neighbor statement: On R1: R1(config)#router eigrp 100 R1(config-router)#network 1.1.1.1 0.0.0.0 R1(config-router)#network 11.1.1.1 0.0.0.0 R1(config-router)#network 12.1.1.1 0.0.0.0 R1(config-router)#network 111.1.1.1 0.0.0.0 On R2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 377 R2(config)#router eigrp 100 R2(config-router)#network 12.1.1.2 0.0.0.0 R2(config-router)#network 10.1.1.2 0.0.0.0 R2(config-router)#network 200.1.1.1 0.0.0.0 R2(config-router)#network 200.2.2.2 0.0.0.0 R2(config-router)#network 2.2.2.2 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 12.1.1.1 (GigabitEthernet0/1) is up: new adjacency On R3: R3(config)#router eigrp 100 R3(config-router)#network 10.1.1.3 0.0.0.0 R3(config-router)#network 200.1.1.1 0.0.0.0 R3(config-router)#network 200.2.2.2 0.0.0.0 R3(config-router)#network 3.3.3.3 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.1.1.2 (GigabitEthernet0/10) is up: new adjacency On R4: R4(config)#router eigrp 100 R4(config-router)#network 10.1.1.4 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.1.1.3 (GigabitEthernet0/10) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.1.1.2 (GigabitEthernet0/10) is up: new adjacency To verify the configuration: The show ip route eigrp | b Gateway command output on R4 verifies the EIGRP routes it learns: On R4: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 378 R4#show ip route eigrp | begin Gateway Gateway of last resort is not set D D D D D D D D 1.0.0.0/8 [90/131072] via 10.1.1.2, 00:00:09, GigabitEthernet0/10 2.0.0.0/8 [90/130816] via 10.1.1.2, 00:00:09, GigabitEthernet0/10 3.0.0.0/8 [90/130816] via 10.1.1.3, 00:00:09, GigabitEthernet0/10 11.0.0.0/8 [90/131072] via 10.1.1.2, 00:00:09, GigabitEthernet0/10 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/3072] via 10.1.1.2, 00:00:09, GigabitEthernet0/10 111.0.0.0/8 [90/131072] via 10.1.1.2, 00:00:09, GigabitEthernet0/10 200.1.1.0/24 [90/130816] via 10.1.1.3, 00:00:09, GigabitEthernet0/10 200.2.2.0/24 [90/130816] via 10.1.1.3, 00:00:09, GigabitEthernet0/10 [90/130816] via 10.1.1.2, 00:00:09, GigabitEthernet0/10 Task 2 Configure R4 such that it filters existing (1.0.0.0/8, 11.0.0.0/8, and 111.0.0.0/8) and future networks behind R1. Do not use distribute-list, access-list, prefix-list, or route-map to accomplish this task. R4 learns various EIGRP networks from its EIGRP neighbor R2. Of interest to this task, are the networks behind R1, namely the 1.0.0.0/8, 11.0.0.0/8 and 111.0.0.0/8 networks. This task requires making configuration changes such that R4 does not install these routes into its routing table via some filtering mechanism. The task however restricts the use of filtering methods such as distribute-list, access-lists, prefix-lists or route-maps. An alternative way would be to modify the hop count of these networks on R4. Hop count is the number of router traversals to a destination. In other words, if we observe the show ip eigrp topology output for these prefixes as shown below, we notice the hop count as 2 for the 1.0.0.0/8, 11.0.0.0/8, and 111.0.0.0/8 networks: On R4: R4#show ip eigrp topology 11.0.0.0 255.0.0.0 | include Hop Hop count is 2 R4#show ip eigrp topology 1.0.0.0 255.0.0.0 | include Hop Hop count is 2 R4#show ip eigrp topology 111.0.0.0 255.0.0.0 | include Hop CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 379 Hop count is 2 Hop count of 2 means, from R4’s perspective, it has to pass through 2 routers in order to reach the above destinations. EIGRP has a default maximum hop count limit of 100 for routes it learns. Meaning, if a router receives an update with a hop count greater than 100, it will consider these routes as unreachable. To solve this task, the maximum hop count value on R4 can be lowered to 1. This way, when R4 receives prefixes that have a hop count value of 2 or higher, it will consider these routes as unreachable and not install them into its routing table. The command metric maximum-hops 1 under the EIGRP router configuration mode can be used to reset the default maximum hop count value as seen below: On R4: R4(config)#router eigrp 100 R4(config-router)#metric maximum-hops 1 Note: You should see the following console messages, this is because the policy for EIGRP is changed from 100 (default hop count) to only 1: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 10.1.1.2 (GigabitEthernet0/10) is down: Max hopcount changed %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 10.1.1.3 (GigabitEthernet0/10) is down: Max hopcount changed %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 10.1.1.2 (GigabitEthernet0/10) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: neighbor 10.1.1.3 (GigabitEthernet0/10) is up: new adjacency Observing the routing table on R4 verifies the above configuration. The loopback addresses from R1 that R4 had learned from R2, no longer exist in the routing table since they have a hop count value greater than the new default maximum hop value of 1. R4 will however continue to learn of the loopback addresses that exist on R2 since the EIGRP hop count of these routes equal to 1: To verify the configuration: On R4: R4#show ip route eigrp | begin Gate Gateway of last resort is not set D D 2.0.0.0/8 [90/130816] via 10.1.1.2, 00:01:10, GigabitEthernet0/10 3.0.0.0/8 [90/130816] via 10.1.1.3, 00:01:08, GigabitEthernet0/10 12.0.0.0/24 is subnetted, 1 subnets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 380 D D 12.1.1.0 [90/3072] via 10.1.1.2, 00:01:10, GigabitEthernet0/10 200.1.1.0/24 [90/130816] via 10.1.1.3, 00:00:30, GigabitEthernet0/0 [90/130816] via 10.1.1.2, 00:00:30, GigabitEthernet0/0 D 200.2.2.0/24 [90/130816] via 10.1.1.3, 00:01:08, GigabitEthernet0/10 [90/130816] via 10.1.1.2, 00:01:08, GigabitEthernet0/10 Task 3 Configure R4 such that it uses R2 as its only connection to network 200.1.1.0 /24. You should use an access list to accomplish this task. On R4: Observing the routing table for the 200.1.1.0/24 network, R4 currently has two equal cost paths to reach this network. One via R2 and the other through R3. This is because the prefix has been configured on both devices and advertised into EIGRP: R4#show ip route 200.1.1.0 Routing entry for 200.1.1.0/24 Known via "eigrp 100", distance 90, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.3 on GigabitEthernet0/0, 00:08:12 ago Routing Descriptor Blocks: 10.1.1.3, from 10.1.1.3, 00:08:12 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 * 10.1.1.2, from 10.1.1.2, 00:08:12 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 The task requires making configuration changes such that R4 chooses the path via R2 as primary. The task requires the use of an access-list to achieve the same. An access-list in conjunction with a distribute-list can be used to solve this task. First, an extended access-list is defined on R4. The first deny statement of this access-list as seen below, identifies two key attributes. First, the advertising router, meaning the source of the EIGRP update for the 200.1.1.0 prefix, is fed into the CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 381 access-list. For this task, the source of the update to be denied is R3’s IP address, 10.1.1.3, The second part of this statement identifies the actual network from that source, which is the 200.1.1.0 network. Finally, the second access-list statement configured explicitly permits everything else: R4(config)#access-list 100 deny ip host 10.1.1.3 host 200.1.1.0 R4(config)#access-list 100 permit ip any any The above access-list is then referenced in the distribute-list on R4 under the EIGRP router configuration mode to perform EIGRP route filtering. The distribute-list is applied inbound on the G0/0 interface to apply the policy on incoming EIGRP updates: R4(config)#router eigrp 100 R4(config-router)#distribute-list 100 in g0/0 The result of this configuration is when R4 receives EIGRP updates for the 200.1.1.0 network that are sourced by R3, they get denied. R4 is then only left with a single path through R2 for the 200.1.1.0/24 network: R4#show ip route 200.1.1.0 Routing entry for 200.1.1.0/24 Known via "eigrp 100", distance 90, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.2 on GigabitEthernet0/0, 00:02:07 ago Routing Descriptor Blocks: * 10.1.1.2, from 10.1.1.2, 00:02:07 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 Task 4 Configure R4 such that it takes R3 to reach network 200.2.2.0 /24. R4 should only use R2 as the next hop to reach network 200.2.2.0/24 when R3 is down. You should use a standard access list to accomplish this task. Observing R4’s routing table, we notice, similar to the previous task, R4 has two equal cost paths in its routing table for the 200.2.2.0/24 network: On R4: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 382 R4#show ip route 200.2.2.0 Routing entry for 200.2.2.0/24 Known via "eigrp 100", distance 90, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.2 on GigabitEthernet0/0, 00:03:12 ago Routing Descriptor Blocks: * 10.1.1.3, from 10.1.1.3, 00:03:12 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 10.1.1.2, from 10.1.1.2, 00:03:12 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 In the previous task, if the path for the 200.1.1.0/24 via R2 failed, R4 would not switch over to using the path from R3 since the updates from R3 were being denied. This task however requires making configuration changes such that R4 uses the path via R3 for the 200.2.2.0/24 network as primary and should R3 fail, R4 should switch over to the backup path via R2. The task further requires the use of a standard access-list to accomplish this. This can be achieved by modifying the administrative distance of the route received from R3. If the AD for the route to 200.2.2.0/24 received from R3 is set to something lower than the default of 90, the route from R3 will automatically be preferred over the route from with AD of 90 from R2. To achieve this, first an access-list is configured on R4. It is good practice to check what access-lists are currently configured on the router with the show access-lists command to prevent modifying any of the existing access-lists. As seen, R4 only has a single extended access-list configured. R4#show access-lists Extended IP access list 100 10 deny ip host 10.1.1.3 200.1.1.0 0.0.0.255 (3 matches) 20 permit ip any any (24 matches) A standard access-list 1 is then configured on R4. The permit statement of this access-list identifies the network 200.2.2.0/24: R4(config)#access-list 1 permit 200.2.2.0 0.0.0.255 Next, the distance command is configured under the EIGRP router configuration mode: R4(config)#router eigrp 100 R4(config-router)#distance 89 10.1.1.3 0.0.0.0 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 383 The distance 89 10.1.1.3 0.0.0.0 1 command can be used to set the distance of the EIGRP route. The 89 specified in the command refers to the intended AD from the next hop 10.1.1.3. Access-list 1 is appended to this command to indicate the routes for which the AD should be set to 89. The above causes R4 to set the AD for the 200.2.2.0/24 network from R3 to 89. As a result, it becomes the preferred route and gets installed into the routing table as seen below on R4: To verify the configuration: On R4: R4#show ip route 200.2.2.0 Routing entry for 200.2.2.0/24 Known via "eigrp 100", distance 89, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.3 on GigabitEthernet0/0, 00:10:36 ago Routing Descriptor Blocks: * 10.1.1.3, from 10.1.1.3, 00:10:36 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 To test the failover situation, R3’s G0/0 interface is shut down. This causes the backup path via R2 with an AD of 90 to be installed into routing table on R4: On R3: R3(config)#interface g0/0 R3(config-if)#shut On R4: R4#show ip route 200.2.2.0 Routing entry for 200.2.2.0/24 Known via "eigrp 100", distance 90, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.2 on GigabitEthernet0/0, 00:00:41 ago Routing Descriptor Blocks: * 10.1.1.2, from 10.1.1.2, 00:00:41 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 384 Loading 1/255, Hops 1 R3’s G0/0 interface is brought back up again, resulting in R4 installing the path with the lower AD of 89 once again in its routing table: On R3: R3(config-if)#interface g0/0 R3(config-if)#no shut On R4: R4#show ip route 200.2.2.0 Routing entry for 200.2.2.0/24 Known via "eigrp 100", distance 89, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.3 on GigabitEthernet0/0, 00:00:06 ago Routing Descriptor Blocks: * 10.1.1.3, from 10.1.1.3, 00:00:06 ago, via GigabitEthernet0/0 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 Task 5 Filter network 2.0.0.0/8 on R4. Do not use distribute-list or route-map to accomplish this task. The routing table on R4 shows it learns the 2.0.0.0/8 network from R2: On R4: R4#show ip route 2.0.0.0 Routing entry for 2.0.0.0/8 Known via "eigrp 100", distance 90, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.2 on GigabitEthernet0/0, 00:18:00 ago Routing Descriptor Blocks: * 10.1.1.2, from 10.1.1.2, 00:18:00 ago, via GigabitEthernet0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 385 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 The task requires filtering this network on R4 without the use of any distribute-list or route-maps. The distance command can once again be used to solve this task. This time however, the distance of this route from R2 is set 255. Setting the AD of a route to 255 causes the route to consider the route as unreachable and unusable. As a result, the router does not install this route in its routing table. The following sets the AD of the 2.0.0.0/8 network on R4 to 255. Similar to the earlier configuration, an access-list identifying and permitting this network is first created. The access-list is then appended to the distance command that sets the AD to 255 for the route in ACL 2 from R2’s address 10.1.1.2: R4(config)#access-list 2 permit 2.0.0.0 0.255.255.255 R4(config)#router eigrp 100 R4(config-router)#distance 255 10.1.1.2 0.0.0.0 2 The routing table on R4 verifies it no longer has the route to the 2.0.0.0/8 network: R4#show ip route 2.0.0.0 % Network not in table Task 6 Configure R4 to filter network 3.0.0.0/8. R4 learns the 3.0.0.0/8 network from R3 as seen below: On R4: R4#show ip route 3.0.0.0 Routing entry for 3.0.0.0/8 Known via "eigrp 100", distance 90, metric 130816, type internal Redistributing via eigrp 100 Last update from 10.1.1.3 on GigabitEthernet0/0, 00:01:08 ago Routing Descriptor Blocks: * 10.1.1.3, from 10.1.1.3, 00:01:08 ago, via GigabitEthernet0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 386 Route metric is 130816, traffic share count is 1 Total delay is 5010 microseconds, minimum bandwidth is 1000000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 Since the task does not state any restriction on the tools that can be used to solve this task, the existing access-list 100 can be used to filter the 3.0.0.0/8 network from R3. The following is the existing access-list 100 on R4: R4#show access-lists 100 Extended IP access list 100 10 deny ip host 10.1.1.3 host 200.1.1.0 (7 matches) 20 permit ip any any (55 matches) An additional deny statement with a sequence number 15 denying the 3.0.0.0 network from any IP can be added to the extended access-list 100: R4(config)#ip access-list extended 100 R4(config-ext-nacl)#15 deny ip any 3.0.0.0 0.255.255.255 To verify the configuration: R4#show access-lists 100 Extended IP access list 100 10 deny ip host 10.1.1.3 host 200.1.1.0 (7 matches) 15 deny ip any 3.0.0.0 0.255.255.255 20 permit ip any any (55 matches) As seen below, R4 no longer shows the 3.0.0.0/8 network in its routing table: R4#show ip route 3.0.0.0 % Network not in table Task 7 Erase the startup configuration and reload the routers before proceeding to the next task. Lab 5 Advanced EIGRP Lab CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 387 Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder EIGRP folder Lab-5. Task 1 Configure the G0/0 interfaces of R1, R2, and R3 in EIGRP AS 100. These routers should be configured to advertise their Lo0 interfaces in this AS, using the following policy: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 388 These routers should be configured to reach each other’s loopback interface/s by going through R1. Do not use Policy-based Routing (PBR) or configure another AS to accomplish this task. On R1: Following configuration first enables EIGRP on the G0/0 and Lo0 interfaces on R1, R2 and R3 for AS 100: R1(config)#router eigrp 100 R1(config-router)#network 1.1.1.1 0.0.0.0 R1(config-router)#network 123.1.1.1 0.0.0.0 On R2: R2(config)#router eigrp 100 R2(config-router)#network 2.2.2.2 0.0.0.0 R2(config-router)#network 123.1.1.2 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.1 (GigabitEthernet0/0) is up: new adjacency On R3: R3(config)#router eigrp 100 R3(config-router)#network 3.3.3.3 0.0.0.0 R3(config-router)#network 123.1.1.3 0.0.0.0 You should see the following two console messages stating that the local router has established two neighbor adjacencies, one with R1 and the second one with R2: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.2 (GigabitEthernet0/0) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.1 (GigabitEthernet0/0) is up: new adjacency RIPv2, EIGRP and BGP are classless routing protocols and by default they have a Classful nature/behavior, meaning that they automatically summarize the networks that they advertise to their major network boundary. This behavior can be disabled by using the “no auto-summary” router configuration command. Starting in IOS 15 code, “auto-summary” is disabled by default in EIGRP. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 389 EIGRP neighborships is verified with the show ip eigrp neighbors command on R1. The show ip eigrp interfaces command shows the interface that have EIGRP enabled on them: To verify the configuration: On R1: R1#show ip eigrp neighbors IP-EIGRP neighbors for process 100 H Address Interface 1 0 123.1.1.3 123.1.1.2 Gi0/0 Gi0/0 Hold Uptime SRTT (sec) (ms) 10 00:04:28 1 12 00:08:44 1 RTO Q Seq Cnt Num 100 0 6 100 0 5 To see the interfaces that have EIGRP enabled: R1#show ip eigrp interfaces EIGRP-IPv4 Interfaces for AS(100) Xmit Queue Mean Interface Peers Un/Reliable SRTT Lo0 0 0/0 0 Gi0/0 2 0/0 7 Pacing Time Un/Reliable 0/0 0/2 Multicast Flow Timer 0 1 Pending Routes 0 0 Following shows the EIGRP routes in R1, R2 and R3’s routing table: R1#show ip route eigrp | begin Gate Gateway of last resort is not set D D 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [90/130816] via 123.1.1.2, 00:05:46, GigabitEthernet0/0 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [90/130816] via 123.1.1.3, 00:03:17, GigabitEthernet0/0 On R2: R2#show ip route eigrp | begin Gate Gateway of last resort is not set D D 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [90/130816] via 123.1.1.1, 00:06:15, GigabitEthernet0/0 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [90/130816] via 123.1.1.3, 00:03:49, GigabitEthernet0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 390 On R3: R3#sh ip route eigrp | b Gate Gateway of last resort is not set D D 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [90/130816] via 123.1.1.1, 00:04:25, GigabitEthernet0/0 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [90/130816] via 123.1.1.2, 00:04:23, GigabitEthernet0/0 Observing the routing table on R2 and R3 above, we notice the next hop ip address on R2 for the 3.3.3.3 prefix is 123.1.1.3. Similarly, the next hop ip address for the 2.2.2.2 prefix on R3 is R2’s address 123.1.1.2. The task explicitly states that R2 and R3 should use R1 to reach each other's loopback addresses. The reason the next hop addresses on R2 and R3 point to each other for their respective loopback addresses is because of the neighbor adjacency between them. In order to ensure that they use R1’s address as the next hop for each other's loopback addresses, R2 and R3 should be configured to only form EIGRP neighborships with R1 and not each other. This can be achieved by statically configuring neighborships between R1 - R2 and R1 - R3 using the neighbor statement. In addition, the interface through which the neighbor adjacency will be established should be referenced in the neighbor command. A neighbor statement should be entered for both R2 and R3 on R1. Whenever EIGRP is configured with static neighbor statements on an interface, it cannot accept or send both multicast and unicast packets. EIGRP MUST use either Multicast or Unicast on the interface as a means to establish neighbor adjacencies. Since R2 and R3 are using static neighbor configuration, then R1 must also use static neighbor configuration in order for the adjacency to come up. It cannot, for example, use unicast with R2 and multicast with R3. The following configures this static neighbor relationship on R1, R2, and R3. On R1: R1(config)#router eigrp 100 R1(config-router)#neighbor 123.1.1.2 g0/0 R1(config-router)#neighbor 123.1.1.3 g0/0 On R2 and R3: Rx(config)#router eigrp 100 Rx(config-router)#neighbor 123.1.1.1 g0/0 You should see the following console message on R2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 391 %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.1 (GigabitEthernet0/0) is up: new adjacency You should see the following console message on R3: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.1 (GigabitEthernet0/0) is up: new adjacency To verify the configuration: On R1: R1#show ip route eigrp | begin Gate Gateway of last resort is not set D D 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [90/130816] via 123.1.1.2, 00:02:02, GigabitEthernet0/0 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [90/130816] via 123.1.1.3, 00:00:59, GigabitEthernet0/0 On R2: R2#show ip route eigrp | begin Gate Gateway of last resort is not set D 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [90/130816] via 123.1.1.1, 00:01:19, GigabitEthernet0/0 On R3: R3#show ip route eigrp | begin Gate Gateway of last resort is not set D 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [90/130816] via 123.1.1.1, 00:00:37, GigabitEthernet0/0 Notice in the output above, R1 has the routes to R2 and R3’s loopback 0 interfaces. These routes are missing from R2 and R3’s routing table. The reason for this is the split-horizon behaviour in distance vector protocols and EIGRP is a DV protocol. Split-horizon is a loop avoidance mechanism that prevents a router from advertising a route out the interface it received on. Since R1 receives the route to 2.2.2.2 and 3.3.3.3 over its G0/0 interface, it will not advertise this route back to R2 and R3 out the same interface. This behavior can be turned off on R1 by issuing the no ip split-horizon eigrp 100 command on R1’s G0/0 interface as seen below: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 392 On R1: R1(config)#int g0/0 R1(config-if)#no ip split-horizon eigrp 100 You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.3 (GigabitEthernet0/0) is resync: split horizon changed %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.2 (GigabitEthernet0/0) is resync: split horizon changed With split-horizon now disabled, R2 and R3 both receive routes to each other's loopback 0 addresses from R1. As required by the task, the next-hop IP addresses for these routes on R2 and R3 both point to R1’s G0/0 intergdace address 123.1.1.1: On R2: R2#show ip route eigrp | begin Gate Gateway of last resort is not set D D 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [90/130816] via 123.1.1.1, 00:02:22, GigabitEthernet0/0 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [90/131072] via 123.1.1.1, 00:00:39, GigabitEthernet0/0 On R3: R3#show ip route eigrp | begin Gate Gateway of last resort is not set D D 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [90/130816] via 123.1.1.1, 00:03:37, GigabitEthernet0/0 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [90/131072] via 123.1.1.1, 00:01:54, GigabitEthernet0/0 Test Configuration A traceroute to 3.3.3.3 from R2 verifies that the path it takes to reach the prefix is via R1: R2#traceroute 3.3.3.3 numeric CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 393 Type escape sequence to abort. Tracing the route to 3.3.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 123.1.1.1 1 msec 0 msec 1 msec 2 123.1.1.3 1 msec * 1 msec Task 2 Configure R3’s G0/4, G0/5, and G0/6 in AS 300. Configure R4’s, R5’s, and R6’s G0/3 and loopback 0 interfaces in this AS. Configure R3 to summarize its Lo100–Lo107. The summary route should be advertised to R4, R5, and R6 based on the following policy: R4 should receive the summary only. R5 should receive the summary plus network 100.1.3.0 /24. R6 should receive the summary plus all the specific routes. Configure the minimum number of ip summary-address commands possible to accomplish this task. One of the key requirements for a successful summary route announcement is the presence of a specific route from the summary range in the routing table. Meaning, if R3 is to be configured to announce a 100.1.0.0/21 summary route, a specific route from this range must be present in its routing table. The show run | include interface Loopback10[0-7]|ip address 100 command output below verifies that R3 has been configured with specific routes from this range and as such will be announcing the 100.1.0.0/21 summary route, if configured: On R3: R3#show run | include interface Loopback10[0-7]|ip address 100. interface Loopback100 ip address 100.1.0.1 255.255.255.0 interface Loopback101 ip address 100.1.1.1 255.255.255.0 interface Loopback102 ip address 100.1.2.1 255.255.255.0 interface Loopback103 ip address 100.1.3.1 255.255.255.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 394 interface Loopback104 ip address 100.1.4.1 255.255.255.0 interface Loopback105 ip address 100.1.5.1 255.255.255.0 interface Loopback106 ip address 100.1.6.1 255.255.255.0 interface Loopback107 ip address 100.1.7.1 255.255.255.0 However, before configuring summarization, R3, R4, R5 and R6 are first configured for EIGRP in AS 300. EIGRP is enabled on the interfaces specified in the task on these devices with the network command. R3(config)#router eigrp 300 R3(config-router)#network 34.1.1.3 0.0.0.0 R3(config-router)#network 35.1.1.3 0.0.0.0 R3(config-router)#network 36.1.1.3 0.0.0.0 R3(config-router)#network 100.1.0.0 0.0.255.255 On R4: R4(config)#router eigrp 300 R4(config-router)#network 4.4.4.4 0.0.0.0 R4(config-router)#network 34.1.1.4 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 300: Neighbor 34.1.1.3 (GigabitEthernet0/3) is up: new adjacency On R5: R5(config)#router eigrp 300 R5(config-router)#network 5.5.5.5 0.0.0.0 R5(config-router)#network 35.1.1.5 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 300: Neighbor 35.1.1.3 (GigabitEthernet0/3) is up: new adjacency On R6: R6(config)#router eigrp 300 R6(config-router)#network 6.6.6.6 0.0.0.0 R6(config-router)#network 36.1.1.6 0.0.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 395 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 300: Neighbor 36.1.1.3 (GigabitEthernet0/3) is up: new adjacency Next, summarization is configured on R3. The first policy states that R4 should only receive the summary route 100.1.0.0/21 from R3. This can be achieved with the ip summary-address eigrp 300 100.1.0.0 255.255.248.0 command on the interface G0/4 that connects R3 to R4. On R3: R3(config)#interface g0/4 R3(config-if)#ip summary-address eigrp 300 100.1.0.0 255.255.248.0 Configuring this command will cause R3 to only announce the summary route and suppress all the specific prefixes falling in this range. This can be verified by looking at the routing table on R4 that shows only the summary route and no specific routes: To verify the configuration: On R4: R4#show ip route eigrp 300 | b Gate Gateway of last resort is not set D D D D D 5.0.0.0/32 is subnetted, 1 subnets 5.5.5.5 [90/131072] via 34.1.1.3, 00:02:06, GigabitEthernet0/3 6.0.0.0/32 is subnetted, 1 subnets 6.6.6.6 [90/131072] via 34.1.1.3, 00:01:17, GigabitEthernet0/3 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [90/3072] via 34.1.1.3, 00:02:57, GigabitEthernet0/3 36.0.0.0/24 is subnetted, 1 subnets 36.1.1.0 [90/3072] via 34.1.1.3, 00:02:57, GigabitEthernet0/3 100.0.0.0/21 is subnetted, 1 subnets 100.1.0.0 [90/130816] via 34.1.1.3, 00:00:15, GigabitEthernet0/3 Next policy states that R5 should also receive the summary route and the specific route 100.1.3.0/24. This can be with the use of a leak-map. Leak maps as the name suggest allow for leaking of routes that would be suppressed as a result of the summary-address command. In this context, using the leak-map in conjunction with the ip summary-address command will allow the router to leak the routes specified in the leak-map. Leak-maps reference a route-map that in turn references an access-list. The access-list defines the routes that need to be leaked in a permit statement. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 396 For this policy to R5, R3 will be first configured with standard access-list that permits the network that needs to be leaked, which is the 100.1.3.0/24 network: On R3: R3(config)#access-list 1 permit 100.1.3.0 0.0.0.255 Next a route-map is created. Access-list 1 is then matched in this route-map with match ip address command: R3(config)#route-map TST3 permit 10 R3(config-route-map)#match ip address 1 R3’s interface G0/5 connecting to R5 is then configured to announce the summary route 100.1.0.0/21 with the ip summary-address command. The leak-map keyword and the route-map name TST3 is appended to this command to allow leaking of the 100.1.3.0/24 network: R3(config)#interface g0/5 R3(config-if)#ip summary eigrp 300 100.1.0.0 255.255.248.0 leak-map TST3 The result of the above configuration can be verified by observing the routing table on R5. Notice how R5 receives the 100.1.0.0/21 summary route and the specific 100.1.3.0/24 route: To verify the configuration: On R5: R5#show ip route eigrp | begin Gate Gateway of last resort is not set D D D D D D 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [90/131072] via 35.1.1.3, 00:05:16, GigabitEthernet0/3 6.0.0.0/32 is subnetted, 1 subnets 6.6.6.6 [90/131072] via 35.1.1.3, 00:04:22, GigabitEthernet0/3 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [90/3072] via 35.1.1.3, 00:05:16, GigabitEthernet0/3 36.0.0.0/24 is subnetted, 1 subnets 36.1.1.0 [90/3072] via 35.1.1.3, 00:05:16, GigabitEthernet0/3 100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 100.1.0.0/21 [90/130816] via 35.1.1.3, 00:00:12, GigabitEthernet0/3 100.1.3.0/24 [90/130816] via 35.1.1.3, 00:05:16, GigabitEthernet0/3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 397 The final policy in this task states that R6 receive the summary 100.1.0.0/21 and all the specific routes as well. As mentioned earlier, configuring a summary route will automatically suppress the specific routes. Specific routes can however be leaked through a leak-map that references a route-map. The route-map references an access-list that lists the networks that are to be leaked. A way to solve this task would be configuring an access-list like in the earlier policy that lists and permits all the 8 specific prefixes. The task however, states to make use of most minimal configuration possible. So one other way of solving this with lesser configurations would be to create a route-map with a permit statement and omitting any reference to an access-list. Let’s see this in action. R3 is configured with a route-map called TST4. The only permit statement of this route-map is an empty permit statement. The route-map is then referenced in the ip summary-address command with the leak-map: On R3: R3(config)#route-map TST4 permit 10 R3(config)#interface g0/6 R3(config-if)#ip summary eigrp 300 100.1.0.0 255.255.248.0 leak-map TST4 The result of this configuration can be seen below on R6’s routing table. R6 now has the summary route 100.1.0.0/21 and all the 8 specific prefixes: To verify the configuration: On R6: R6#sh ip route eigrp | b Gate Gateway of last resort is not set D 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [90/131072] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 5.0.0.0/32 is subnetted, 1 subnets 5.5.5.5 [90/131072] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [90/3072] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [90/3072] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 D D D D D D D 100.0.0.0/8 is variably subnetted, 9 subnets, 2 masks 100.1.0.0/21 [90/130816] via 36.1.1.3, 00:00:31, GigabitEthernet0/3 100.1.0.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 100.1.1.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 100.1.2.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 100.1.3.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 100.1.4.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 100.1.5.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 D D D CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 398 D D 100.1.6.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 100.1.7.0/24 [90/130816] via 36.1.1.3, 00:06:59, GigabitEthernet0/3 Adding the route-map with only a permit statement that does not reference an ACL or a missing ACL makes the route-leak mapping action to allow all routes. The reason is the leak-map is meant to identify routes that should be leaked. When a route passes through the leak-map, the router checks the route-map to see if the route should be allowed to be advertised. The route-map matches all prefixes (because there is no ACL that would deny any routes). Thus, every prefix is allowed to be advertised. This logic is the same even if the route-map matches an ACL that does not exist. Because the ACL does not exist, all routes pass based on the route-map “permit” statement. Task 3 Configure EIGRP 300 on R4’s Lo134 and Lo135 and advertise a single summary in AS 300. The show ip interface brief | include Loopback13[4|5] shows the following IP addresses on these loopback interfaces: On R4: R4#show ip interface brief | incclude Loopback13[4|5] Loopback134 Loopback135 102.1.34.4 102.1.35.4 YES manual up YES manual up up up To configure the summary: EIGRP is enabled on these interfaces with the network command on R4: On R4: R4(config)#router eigrp 300 R4(config-router)#network 102.1.35.4 0.0.0.0 R4(config-router)#network 102.1.34.4 0.0.0.0 When trying to determine the summary range that covers both loopback addresses above it is best to start by examining the first octet where a difference is presented between the two addresses. In this case, the third octet is where the difference is presented. Loopback134’s third octet is 34 while Loopback135’s third octet is 35. This octet is expanded below and converted to binary: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 399 128 0 0 M 34 35 64 0 0 M 32 1 1 M 16 0 0 M 8 0 0 M 4 0 0 M 2 1 1 M 1 0 1 DM M = Match DM = Don’t Match In the form above, it is easy to see that the first seven bits match between the two numbers. This means there are 23 total consecutive bits matching bits between the two addresses (16 from the first two octets and 7 from the third octet). All other non matching bits are set to 0 leading to the prefix 102.1.34.0/23. A /23 prefix length is converted to the subnet mask 255.255.254.0 which provides the information to configure the summary-address command in EIGRP. The ip summary-address eigrp command is then configured on the interface G0/3 connected to R3 to announce the 102.1.34.0 255.255.254.0 summary: R4(config)#interface g0/3 R4(config-if)#ip summary-address eigrp 300 102.1.34.0 255.255.254.0 To verify the configuration: R3’s routing table is then verified. As seen below, R3 now has the summary 102.1.34.0/23 from R4: On R3: R3#show ip route eigrp | begin Gate Gateway of last resort is not set D 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [90/130816] via 34.1.1.4, 00:16:51, GigabitEthernet0/4 5.0.0.0/32 is subnetted, 1 subnets 5.5.5.5 [90/130816] via 35.1.1.5, 00:16:00, GigabitEthernet0/5 6.0.0.0/32 is subnetted, 1 subnets 6.6.6.6 [90/130816] via 36.1.1.6, 00:15:11, GigabitEthernet0/6 100.0.0.0/8 is variably subnetted, 17 subnets, 3 masks 100.1.0.0/21 is a summary, 00:14:09, Null0 D 102.0.0.0/23 is subnetted, 1 subnets 102.1.34.0 [90/130816] via 34.1.1.4, 00:00:20, GigabitEthernet0/4 D D D CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 400 Task 4 Configure the G0/7 and Lo0 interfaces of R6 and the G0/6 and loopback 0 interfaces on R7 for EIGRP in AS 67. R7 should be configured to advertise its Lo130, such that the command show ip route eigrp 67 on R6 produces the following output: D EX 130.3.0.0/16 [170/130816] via 67.1.1.7, 00:00:16, GigabitEthernet0/7 R7 should use redistribute static to accomplish this task. Do not configure a static route to accomplish this task. Following first configures EIGRP on R6 and R7. As required by the task, EIGRP for AS 67 is enabled on interfaces specified in the task on R6 and R7 with the network command: On R6: R6(config)#router eigrp 67 R6(config-router)#network 67.1.1.6 0.0.0.0 R6(config-router)#network 6.6.6.6 0.0.0.0 On R7: R7(config)#router eigrp 67 R7(config-router)#network 67.1.1.7 0.0.0.0 R7(config-router)#network 7.7.7.7 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 67: Neighbor 67.1.1.6 (GigabitEthernet0/6) is up: new adjacency The task then requires redistributing the loopback 130 network as a 130.3.0.0/16 route into EIGRP on R7 with the redistribute static command. Observing the routing table on R7, we see the the 130.3.3.0/24 network exists as a connected route: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 401 On R7: R7#show ip route connected | begin Gate Gateway of last resort is not set C C L C L 7.0.0.0/32 is subnetted, 1 subnets 7.7.7.7 is directly connected, Loopback0 67.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 67.1.1.0/24 is directly connected, GigabitEthernet0/6 67.1.1.7/32 is directly connected, GigabitEthernet0/6 130.3.0.0/16 is variably subnetted, 2 subnets, 2 masks 130.3.3.0/24 is directly connected, Loopback130 130.3.3.3/32 is directly connected, Loopback130 The redistribute static under the EIGRP router configuration mode will cause the router to redistribute all static routes into EIGRP. However, since no static route exists for this network, a static route pointing to Null0 for the 130.3.0.0/16 network can be created on R7. The task however restricts configuring a static route. Another way to solve this task would be with the ip default-network. This command is a relic from the IGRP days. IGRP is a classful protocol and could not advertise a default route. So the workaround was to flag a classful network as the default network to which all of the other routers could recurse. However, support for the command in EIGRP is inconsistent in a lot of ways. Using the command however causes the router to automatically inject a static route for the 130.3.0.0/16 classful network in its routing table. R7(config)#ip default-network 130.3.3.0 Notice the static route in the routing table on R7 below: R7#show ip route static | begin Gate Gateway of last resort is not set S 130.3.0.0/16 is variably subnetted, 3 subnets, 3 masks 130.3.0.0/16 [1/0] via 130.3.3.0 With a static route now injected into the routing table, R7 can be configured with the redistribute static command that results in it injecting the 130.3.0.0/16 network into EIGRP: R7(config)#router eigrp 67 R7(config-router)#redistribute static To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 402 Observing the routing table on R6 verifies the above configuration. R6 now has an EIGRP external route matching the output the task desires: On R6: R6#show ip route eigrp | include 130.3. D EX 130.3.0.0/16 [170/130816] via 67.1.1.7, 00:01:17, GigabitEthernet0/7 Task 5 Configure the routers in AS 67 such that they log neighbor warning messages and repeat the warning messages every 10 minutes. You should disable logging of neighbor changes for this AS. The show run all command output can be used to verify the default settings on the router. As seen below, the eigrp log-neighbor-changes is enabled by default on IOS: R7#show running-config all | in eigrp log eigrp log-neighbor-changes eigrp log-neighbor-warnings 10 This command records logs of neighbor changes. To turn this feature off, simply issue the no eigrp log-neighborchanges command under the EIGRP router configuration mode as seen below on R6 and R7: On R6 and R7: Rx(config)#router eigrp 67 Rx(config-router)#no eigrp log-neighbor-changes Next the task requires that the EIGRP neighbor warning messages should appear every 10 minutes. By default, the neighbor watching messages are logged every 10 seconds as seen in the output of the show running-config all | in eigrp log above. To change the default value to 10 minutes, that is 600 seconds, the eigrp log-neighbor-warnings 600 command is configured under the EIGRP router configuration mode as seen below on R6 and R7: On R6 and R7: Rx(config)#router eigrp 67 Rx(config-router)#eigrp log-neighbor-warning 600 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 403 Task 6 Configure the routers in AS 67 such that a dead neighbor is detected within 3 seconds. The task wording explicitly states that neighbors should be detected as down within 3 seconds. EIGRP keeps track of neighbor states by sending hello messages at regular intervals. If hellos are not received within a certain time, EIGRP declares that neighbor to be dead. This time period is known as the hold down timer in EIGRP. By default the hold down timer is set to 15 seconds and EIGRP sends hellos every 5 seconds (called the hello timer).These default value can be seen with the show ip eigrp interfaces detail example output from R7 below: On R7: R7#show ip eigrp interfaces detail G0/6 EIGRP-IPv4 Interfaces for AS(67) Xmit Queue PeerQ Mean Time Multicast Pending Interface Peers Un/Reliable Un/Reliable SRTT Un/Reliable Flow Timer Routes Gi0/6 1 0/0 0/0 1 50 0 Hello-interval is 5, Hold-time is 15 Split-horizon is enabled Next xmit serial <none> Packetized sent/expedited: 8/2 Hello's sent/expedited: 17263/4 Un/reliable mcasts: 0/7 Un/reliable ucasts: 9/5 Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0 Retransmissions sent: 2 Out-of-sequence rcvd: 2 Topology-ids on interface - 0 Authentication mode is not set Topologies advertised on this interface: base Topologies not advertised on this interface: Pacing 0/0 With default settings, after 3 hellos are missed the EIGRP neighbor will be declared down. To complete the task, EIGRP needs to detect a down neighbor within 3 seconds. Thus, the hold down timer needs to be lowered to 3 seconds. Before making that change, however, the EIGRP hello timer should be set to a value lower than the hold timer. Failing to do so would result in the hold down timer expiring before a hello is sent. The ip hello-interval eigrp 67 1 command is issued on R6 and R7 to set the hello interval timer to 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 404 second. Then the hold down timer is set to 3 seconds with the ip hold-time eigrp 67 3 command as seen below: On R6: R6(config)#int g0/7 R6(config-if)#ip hello-interval eigrp 67 1 R6(config-if)#ip hold-time eigrp 67 3 On R7: R7(config)#int g0/6 R7(config-if)#ip hello-interval eigrp 67 1 R7(config-if)#ip hold-time eigrp 67 3 To verify the configuration: The show ip eigrp interfaces detail | i Hello|Hold command on both routers verify the above configuration changes: R6#show ip eigrp interfaces detail G0/6 Hello-interval is 1, Hold-time is 3 Split-horizon is enabled Next xmit serial <none> Packetized sent/expedited: 6/1 Hello's sent/expedited: 17398/4 Un/reliable mcasts: 0/7 Un/reliable ucasts: 8/6 Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0 Retransmissions sent: 3 Out-of-sequence rcvd: 1 Topology-ids on interface - 0 Authentication mode is not set Topologies advertised on this interface: base Topologies not advertised on this interface: R7#show ip eigrp interfaces detail G0/7 Hello-interval is 1, Hold-time is 3 Split-horizon is enabled Next xmit serial <none> Packetized sent/expedited: 8/2 Hello's sent/expedited: 17373/4 Un/reliable mcasts: 0/7 Un/reliable ucasts: 9/5 Task 7 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 405 Routers in AS 100 should be configured to use Bandwidth and not Bandwidth + DLY when calculating their composite metric. EIGRPs composite metric uses five K values that are used to provide a multiplier to certain variables in EIGRP’s metric calculation formula. These variables more closely correspond to the K values K1 and K3. The default K value weighting for each EIGRP metric formula is: K1=1, K2=0, K3=1, K4=0, K5=0, K6=0 with an example output from R1 showing the same below: On R1: R1#show ip protocols | include Metric Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 By default, the K values are modified such that bandwidth and delay are taken into account. This task requires modifying the default EIGRP metric calculation formula through manipulation of the K values such that only bandwidth is considered towards the calculation of the composite metric. This is achieved by setting the K3 value that corresponds to delay to 0 with the metric weights 0 1 0 0 0 0 command under the EIGRP router configuration mode on R1, R2 and R3: On R1, R2 and R3: Rx(config)#router eigrp 100 Rx(config-router)#metric weights 0 1 0 0 0 0 To verify the configuration: The show ip protocol | in Metrics on the routers verify the configuration changes: On R2: R2#show ip protocol | include Metric Metric weight K1=1, K2=0, K3=0, K4=0, K5=0 Task 8 Configure R2 such that EIGRP never uses more than 25% of its G0/0 link’s bandwidth. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 406 By default, EIGRP will ONLY consume 50 percent of its interface’s bandwidth for EIGRP control packets. This default can be changed using the ip bandwidth-percent command in interface configuration mode for EIGRP in classic mode. The following modifies the utilization to 25 percent as the task states on R2 under the G0/0 interface: On R2: R2(config)#int g0/0 R2(config-if)#ip bandwidth-percent eigrp 100 25 To verify the configuration: R2#show ip eigrp interface detail | i BW Interface BW percentage is 25 Task 9 Configure the G0/8 interface of R5 and the G0/5 and the Lo0 interfaces of R8 in AS 500. The following configures EIGRP for the adjacency between R5 and R8. EIGRP is enabled on the G0/8 and G0/5 interfaces on R5 and R8 respectively. R8’s loopback 0 address is also advertised into EIGRP with the network statement On R5: R5(config)#router eigrp 500 R5(config-router)#network 58.1.1.5 0.0.0.0 On R8: R8(config)#router eigrp 500 R8(config-router)#network 8.8.8.8 0.0.0.0 R8(config-router)#network 58.1.1.8 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 500: Neighbor 58.1.1.5 (GigabitEthernet0/5) is up: new adjacency To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 407 The show ip route eigrp command output on R5 verifies the EIGRP route it learns from R8: On R5: R5#show ip route eigrp | include 58.1.1.8 D 8.8.8.8 [90/130816] via 58.1.1.8, 00:54:34, GigabitEthernet0/8 Task 10 Configure R5 to inject a default route in AS 500 based on the following policy: R5 should be configured to inject a default route plus networks 4.0.0.0/8 and 6.0.0.0/8 from AS 300. R5 is first configured to advertise a default route to its neighbor R8 in AS 500. The default route is is injected with the ip summary-address command under the G0/8 interface that connects R5 to R8: On R5: R5(config)#interface g0/8 R5(config-if)#ip summary-address eigrp 500 0.0.0.0 0.0.0.0 To verify the configuration: The routing table on R8 verifies the EIGRP default route propagated to it by R5: On R8: R8#show ip route eigrp 500 | begin Gate Gateway of last resort is 58.1.1.5 to network 0.0.0.0 D* 0.0.0.0/0 [90/3072] via 58.1.1.5, 00:00:08, GigabitEthernet0/5 The task also states that R5 should also advertise the 4.0.0.0/8 and 6.0.0.0/8 networks to R8 along with the default route. However, on observing the routing table below we see that these two networks belong to the EIGRP instance 300. R5 and R8 are however configured in EIGRP 500 for their adjacencies: On R5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 408 R5#show ip route eigrp 300 | begin Gateway Gateway of last resort is 0.0.0.0 to network 0.0.0.0 D D D D D D D 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [90/131072] via 35.1.1.3, 1d01h, GigabitEthernet0/3 6.0.0.0/32 is subnetted, 1 subnets 6.6.6.6 [90/131072] via 35.1.1.3, 1d01h, GigabitEthernet0/3 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [90/3072] via 35.1.1.3, 1d01h, GigabitEthernet0/3 36.0.0.0/24 is subnetted, 1 subnets 36.1.1.0 [90/3072] via 35.1.1.3, 1d01h, GigabitEthernet0/3 100.0.0.0/8 is variably subnetted, 2 subnets, 2 masks 100.1.0.0/21 [90/130816] via 35.1.1.3, 1d01h, GigabitEthernet0/3 100.1.3.0/24 [90/130816] via 35.1.1.3, 1d01h, GigabitEthernet0/3 102.0.0.0/23 is subnetted, 1 subnets 102.1.34.0 [90/131072] via 35.1.1.3, 1d00h, GigabitEthernet0/3 This simply means that the 4.0.0.0/8 and the 6.0.0.0/8 networks cannot be leaked using a leak-map as these routes are not from the same AS 500. R5 can however be configured to redistribute these two networks into EIGRP process 500. This configuration is shown below. First an access-list is defined that permits the 4.0.0.0/8 and 6.0.0.0/8 networks on R5: On R5: R5(config)#access-list 1 permit 4.0.0.0 0.255.255.255 R5(config)#access-list 1 permit 6.0.0.0 0.255.255.255 Next, a route-map called Task10 is created and the access-list 1 is matched with the match ip address command: R5(config)#route-map Task10 R5(config-route-map)#match ip address 1 Routes from EIGRP instance 300 are then redistributed into EIGRP 500. The route-map Task10 is appended to the redistribute statement to ensure only the 4.0.0.0/8 and 6.0.0.0/8 networks are redistributed: R5(config)#router eigrp 500 R5(config-router)#redistribute eigrp 300 route-map Task10 The result of the redistribution can be seen in the topology table for EIGRP 500. Notice the networks appear as redistributes below: R5#show ip eigrp 500 topology CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 409 EIGRP-IPv4 Topology Table for AS(500)/ID(5.5.5.5) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 4.4.4.4/32, 1 successors, FD is 131072 via Redistributed (131072/0) P 8.8.8.8/32, 1 successors, FD is 130816 via 58.1.1.8 (130816/128256), GigabitEthernet0/8 P 0.0.0.0/0, 1 successors, FD is 2816 via Summary (2816/0), Null0 P 6.6.6.6/32, 1 successors, FD is 131072 via Redistributed (131072/0) P 58.1.1.0/24, 1 successors, FD is 2816 via Connected, GigabitEthernet0/8 Since R5 is configured to send a default route to R8 using the ip summary-address command, the 4.0.0.0/8 and 6.0.0.0/8 networks will be suppressed. After the redistribution, R5 can now be configured to leak the above two networks using a leak-map as done in the earlier tasks. The existing route-map Task10 can be referenced with the leak-map as shown below: R5(config-router)#interface g0/8 R5(config-if)#ip summary-address eigrp 500 0.0.0.0 0.0.0.0 leak-map Task10 To verify the configuration: The result of the above configuration can be seen on R8’s routing table below. R8 now receives both the default route, the 4.4.4.4 and 6.6.6.6 addresses as EIGRP external routes: On R8: R8#show ip route eigrp 500 | begin Gate Gateway of last resort is 58.1.1.5 to network 0.0.0.0 D* D EX D EX 0.0.0.0/0 [90/3072] via 58.1.1.5, 00:08:01, GigabitEthernet0/5 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [170/131328] via 58.1.1.5, 00:00:48, GigabitEthernet0/5 6.0.0.0/32 is subnetted, 1 subnets 6.6.6.6 [170/131328] via 58.1.1.5, 00:00:48, GigabitEthernet0/5 Task 11 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 410 Erase the startup configuration and reload the routers before proceeding to the next task. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 411 Lab 6 EIGRP Authentication Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder EIGRP folder Lab-6. Task 1 Configure EIGRP based on the previous diagram. If this configuration is successful, these routers should be able to see and have reachability to all routes. You should use named mode configuration style when configuring R2 and R3 and classic EIGRP configuration style when configuring R1 to accomplish this task. The following configures EIGRP on R1, R2 and R3. As stated in the task, EIGRP is configured on R1 using the classic mode configuration whereas R2 and R3 are using the EIGRP named mode configuration. The network command is used advertise the networks on all the interfaces that are shown in the diagram: On R1: R1(config)#router eigrp 100 R1(config-router)#network 1.1.1.1 0.0.0.0 R1(config-router)#network 12.1.1.1 0.0.0.0 On R2: R2(config)#router eigrp TST R2(config-router)#address-family ipv4 as 100 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 412 R2(config-router-af)#network 2.2.2.2 0.0.0.0 R2(config-router-af)#network 123.1.1.2 0.0.0.0 R2(config-router-af)#network 23.1.1.2 0.0.0.0 R2(config-router-af)#network 12.1.1.2 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 12.1.1.1 (GigabitEthernet0/1) is up: new adjacency On R3: R3(config)#router eigrp TST R3(config-router)#address-family ipv4 as 100 R3(config-router-af)#network 3.3.3.3 0.0.0.0 R3(config-router-af)#network 123.1.1.3 0.0.0.0 R3(config-router-af)#network 23.1.1.3 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.2 (GigabitEthernet0/2) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 23.1.1.2 (GigabitEthernet0/10) is up: new adjacency To verify the configuration: Routing tables on R1 and R3 verify the EIGRP routes they learn from R2: On R3: R3#show ip route eigrp | begin Gate Gateway of last resort is not set D D D 1.0.0.0/8 [90/2575360] via 123.1.1.2, 00:00:47, GigabitEthernet0/2 [90/2575360] via 23.1.1.2, 00:00:47, GigabitEthernet0/0 2.0.0.0/8 [90/10880] via 123.1.1.2, 00:00:47, GigabitEthernet0/2 [90/10880] via 23.1.1.2, 00:00:47, GigabitEthernet0/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 123.1.1.2, 00:00:47, GigabitEthernet0/2 [90/15360] via 23.1.1.2, 00:00:47, GigabitEthernet0/0 On R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 413 R1#show ip route eigrp | begin Gate Gateway of last resort is not set D D 2.0.0.0/8 [90/2848] via 12.1.1.2, 00:07:41, GigabitEthernet0/2 3.0.0.0/8 [90/3104] via 12.1.1.2, 00:06:04, GigabitEthernet0/2 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/3072] via 12.1.1.2, 00:07:41, GigabitEthernet0/2 123.0.0.0/24 is subnetted, 1 subnets 123.1.1.0 [90/3072] via 12.1.1.2, 00:07:41, GigabitEthernet0/2 D D Task 2 Configure R2 to authenticate all existing and future directly connected interfaces using the strongest authentication method available. Use the minimum number of commands and CCIE as the password to accomplish this task. R2 should authenticate R1 using MD5 and Cisco as the password. In the future, R3 may have other neighbors that won’t need authentication. Routing protocols by default operate under the assumption that if a neighboring router runs the same protocol with the same parameters, the local router should accept routing information advertised to it through that protocol. This behavior gives way to routing protocol exploits where an attack can masquerade as a legitimate routing source to a router to inject false routing information or perform a reconnaissance attack to discover all subnets within the network. To prevent this, many routing protocols, including EIGRP, have the ability to authenticate hello and other protocol packets sent by potential peers. EIGRP provides this authentication by performing a hash algorithm against the packet using a pre-shared key. The key is used to generate the hash and the resulting hash value is transmitted as a message digest in packets sent to neighbors. EIGRP will only accept an EIGRP packet from a neighbor if the hash value produced by the local router matches the value in the packet it receives. For such a match to occur, both routers would need to be configured with the same hash algorithm and pre-shared key values. EIGRP supports two main hashing algorithms: - MD5 HMAC-SHA-256 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 414 MD5 is the original hashing algorithm supported by EIGRP classic and named mode configurations. HMACSHA-256 is only supported in EIGRP named configuration mode. Of the two, HMAC-SHA-256 is considered the stronger authentication method. The task requires configuration of the specified hashing authentication method using the specified preshared. The authentication method used between each set of neighbors should be the strongest both neighbors support. EIGRP authentication is configured on a per-interface basis. EIGRP allows configuring hashing parameters such as algorithm and pre-shared key in interface configuration mode (for EIGRP classic configurations) or af-interface configuration mode (for named EIGRP configurations). To solve the task, R2 and R3 should be configured to perform HMAC-SHA-256 authentication between each other and on their gigabit interfaces using pre-shared key “CCIE”. R1 and R2 should be configured with MD5 authentication on their interfaces because R1 is using classic EIGRP configuration which does not support HMAC-SHA-256 authentication. The pre-shared key for R1 and R2’s authentication should be ‘“Cisco” as indicated by the task. First, configuration will be made on R2. Since R2 should use the same authentication method for all interfaces except its interface towards R1, the af-interface default configuration mode can be used to configure the default authentication used for all interfaces. The authentication mode hmca-sha-256 CCIE command configures R2 to use HMAC-SHA-256 authentication with the pre-shared key “CCIE” by default for all interfaces: On R2: R2(config)#router eigrp TST R2(config-router)#address-family ipv4 as 100 R2(config-router-af)#af-interface default R2(config-router-af-interface)#authentication mode hmac-sha-256 CCIE Next, R2’s af-interface g0/1 is configured to use MD5 authentication between itself and R1. To configure MD5 authentication, IOS requires configuring a keychain to hold the pre-shared key information. This keychain is created using the key chain key-chain-name command in global configuration mode. Next, the first key in the key chain is assigned the key-string “Cisco” as required by the task. Once the keychain has been configured, the keychain is applied to the af-interface g0/1 configuration using the authentication mode md5 command to specify MD5 authentication and the authentication key-chain TST command to specify the pre-shared key: R2(config)#key chain TST R2(config-keychain)#key 1 R2(config-keychain-key)#key-string Cisco CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 415 R2(config)#router eigrp TST R2(config-router)#address-family ipv4 as 100 R2(config-router-af-interface)#af-interface g0/1 R2(config-router-af-interface)#authentication mode md5 R2(config-router-af-interface)#authentication key-chain TST R1 is also configured to use MD5 authentication with R2 over its G0/2 interface in classic EIGRP mode. A keychain is created using the key chain key-chain-name command in global configuration mode. The first key in the key chain is assigned the key-string “Cisco”. Following this, the authentication mode is set to MD5 under the G0/2 interface with the ip authentication mode eigrp 100 md5 command. The key-chain TST is then applied to this interface with the ip authentication key-chain eigrp 100 TST: On R1: R1(config)#key chain TST R1(config-keychain)#key 1 R1(config-keychain-key)#key-string Cisco R1(config)#interface g0/2 R1(config-if)#ip authentication mode eigrp 100 md5 R1(config-if)#ip authentication key-chain eigrp 100 TST You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 12.1.1.2 (GigabitEthernet0/2) is up: new adjacency Finally, R3 is configured to use HMAC-SHA-256 authentication over its G0/0 and G0/2 interfaces with R2. The configuration is similar to the named mode authentication configured on R2 with one minor change. HMAC-SHA-256 was set as the authentication method for all the interfaces on R2 by configuring the authentication settings under the af-interface default configuration mode. This task states that R3 won’t be running any form of EIGRP authentication with future EIGRP neighbors that might connect to it. For this reason, HMAC-SHA-256 authentication configuration settings on R3 will be made under the af-interfaces configuration mode for interfaces that connect R2 and R3 only. This way, all future EIGRP neighbors won’t be required to authenticate themselves to R3. Note: An alternative approach could be to configure the authentication settings for interfaces under the afinterface default configuration mode. Following this, the no authentication mode command under individual interfaces can then be used to turn off authentication on interfaces as required. On R3: R3(config)#router eigrp TST R3(config-router)#address-family ipv4 as 100 R3(config-router-af)#af-interface g0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 416 R3(config-router-af-interface)#authentication mode hmac-sha-256 CCIE R3(config-router-af)#af-interface g0/2 R3(config-router-af-interface)#authentication mode hmac-sha-256 CCIE You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 23.1.1.2 (GigabitEthernet0/0) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 123.1.1.2 (GigabitEthernet0/2) is up: new adjacency After completing the above configuration, the routing tables on R1 and R3 shows that they each learn EIGRP routes from R2, confirming successful authentication: To verify the configuration: On R1: R1#show ip route eigrp | begin Gate Gateway of last resort is not set D D D D 2.0.0.0/8 [90/2848] via 12.1.1.2, 00:01:04, GigabitEthernet0/2 3.0.0.0/8 [90/3104] via 12.1.1.2, 00:01:04, GigabitEthernet0/2 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [90/3072] via 12.1.1.2, 00:01:04, GigabitEthernet0/2 123.0.0.0/24 is subnetted, 1 subnets 123.1.1.0 [90/3072] via 12.1.1.2, 00:01:04, GigabitEthernet0/2 On R3: R8#show ip route eigrp | begin Gate Gateway of last resort is not set D D D 1.0.0.0/8 [90/2575360] via 123.1.1.2, 00:01:31, GigabitEthernet0/2 [90/2575360] via 23.1.1.2, 00:01:31, GigabitEthernet0/10 2.0.0.0/8 [90/10880] via 123.1.1.2, 00:03:09, GigabitEthernet0/2 [90/10880] via 23.1.1.2, 00:03:09, GigabitEthernet0/10 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [90/15360] via 123.1.1.2, 00:03:09, GigabitEthernet0/2 [90/15360] via 23.1.1.2, 00:03:09, GigabitEthernet0/10 Task 3 Erase the startup configuration and reload the routers before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 417 Lab 7 EIGRP Challenge Lab \ Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder EIGRP folder Lab-7. NOTE: DO NOT access R7 at all. You should ONLY fix the problem identified in the ticket. Ticket 1 R1 can’t reach R3’s Lo0. You must configure R1 to fix the problem. A ping from R1 to the R3’s loopback 0 IP address 7.47.100.3 is issued to verify the problem. As seen the ping fails: On R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 418 R1#ping 7.47.100.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Observing the routing table on R1, we notice R1 has no route to the 7.47.100.3 address: R1#show ip route 7.47.100.3 % Subnet not in table The show ip eigrp neighbors command on R3 verifies it is configured for EIGRP, but does not have any EIGRP neighbors: R1#show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(10) Next, we check if R3 is running EIGRP on its interface G0/1 that connects to R1 with the show ip eigrp interfaces command. As seen in the output, EIGRP is enabled on the interface: On R3: R3#show ip eigrp interfaces IGRP-IPv4 Interfaces for AS(1) Interface Gi0/1 Gi0/5 Gi0/6 Lo0 Gi0/7 Peers 0 1 1 0 1 Xmit Queue Un/Reliable 0/0 0/0 0/0 0/0 0/0 PeerQ Mean Un/Reliable SRTT 0/0 0 0/0 816 0/0 1278 0/0 0 0/0 1 Pacing Time Un/Reliable 0/0 0/24 0/24 0/0 0/24 Multicast Flow Timer 0 4080 6392 0 50 Pending Routes 0 0 0 0 0 Even though EIGRP is enabled on the G0/1 interface on R3, there is no EIGRP adjacency between them. Turning on EIGRP debugging on R1 also does not produce any output: On R1: R1#debug ip eigrp EIGRP-IPv4 Route Event debugging is on Though the problem is obvious from the above outputs, let’s turn off EIGRP debugging and verify the EIGRP configuration on R1 and R3: R1#show run | section router eigrp CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 419 router eigrp 10 network 7.0.0.0 On R3: R3#show run | section router eigrp router eigrp 1 network 7.47.13.0 0.0.0.255 network 7.47.35.0 0.0.0.255 network 7.47.36.0 0.0.0.255 network 7.47.100.3 0.0.0.0 network 19.0.0.0 As seen above, R1 and R3 are configured with different EIGRP AS numbers. R1 is running EIGRP for AS 1, R3 is running EIGRP for AS 10. In order for routers to form EIGRP adjacencies with each other, they need to be configured with the same AS number. Following fixes this by configuring R1 to run EIGRP for AS 1: On R1: R1(config)#no router eigrp 10 R1(config)#router eigrp 1 R1(config-router)#network 7.0.0.0 We should immediately see the following console messags: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.13.3 (GigabitEthernet0/3) is up: new adjacency A ping from R1 to the R3’s loopback 0 now succeeds: On R1: R1#ping 7.47.100.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms Ticket 2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 420 R6 does not have a stable EIGRP adjacency with R4. Do not use an EIGRP command to fix this ticket. The show ip eigrp neighbors command reveals that R4 only has an EIGRP adjacency with R5: On R4: R4#show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address Interface 0 7.47.45.5 Gi0/5 Hold Uptime SRTT (sec) (ms) 11 00:08:51 1598 RTO Q Seq Cnt Num 5000 0 3 However, as seen below, EIGRP is enabled on the tunnel interface on R4 and R6: On R4: R4#show run | section router eigrp router eigrp 1 metric maximum-hops 2 network 7.0.0.0 On R6: R6#show run | section router eigrp router eigrp 1 network 7.0.0.0 network 19.0.0.0 What we notice is that as stated in the ticket, EIGRP is unstable on R6 and the adjacency appears to be flapping: *Aug 13 12:27:55.858: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.46.4 (Tunnel64) is down: retry limit exceeded *Aug 13 12:27:59.595: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.46.4 (Tunnel64) is up: new adjacency *Aug 13 12:29:19.099: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.46.4 (Tunnel64) is down: retry limit exceeded CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 421 *Aug 13 12:29:22.966: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.46.4 (Tunnel64) is up: new adjacency Following shows the tunnel configuration on R4 and R6: On R4: R4#show run interface tunnel 46 | begin interface interface Tunnel46 bandwidth 1544 ip address 7.47.46.4 255.255.255.0 no ip redirects ip nhrp map 7.47.46.6 192.1.6.6 ip nhrp map multicast 192.1.6.6 ip nhrp network-id 444 delay 2000 tunnel source GigabitEthernet0/9 tunnel mode gre multipoint end On R6: R6#show run interface tunnel 64 | begin interface interface Tunnel64 bandwidth 1544 ip address 7.47.46.6 255.255.255.0 no ip redirects ip nhrp map 7.47.46.4 192.1.4.4 ip nhrp network-id 666 delay 2000 tunnel source GigabitEthernet0/9 tunnel mode gre multipoint The tunnel configuration on R4 appears to be fine, however, there is a crucial command missing from R6’s tunnel 64 configuration. This is the ip nhrp map multicast command on R6. Recall that a DMVPN is a nonbroadcast multi-access network. This means that there is no way for the routers that make up the DMVPN to forward a single packet that can be routed to multiple destinations. This is because of the unicast nature of the mGRE tunnels used to tunnel over the underlying network. This fact affects multicast routing protocol hello messages. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 422 To overcome this limitation, DMVPN endpoints need to be explicitly configured with a unicast NBMA IP address to which to forward all multicast or broadcast packets. These destinations are stored in the NHRP multicast mapping table and are configured with the ip nhrp map multicast command. In the output above, R4 is configured with a multicast mapping for R6 but R6 is not configured with a multicast mapping for R4. The result is R4 multicasts hello packets to R6. R6, after receiving this multicast packet, responds with a unicast update packet to which it expects a reply from R4. R4 ignores this packet because it has not heard a unicast hello packet from R6. The results of the above is shown in the show ip eigrp neighbors output below. Notice the Q count column lists a “1” in the column. This is an indication that R6 is expecting a reply to a packet it sent to R4. This reply will never come. Because the reply doesn’t come, R6 will continue to wait incrementing the RTO counter each time it expires up to 5000. At a certain point R6 terminates the neighbor relationship with R4. This process repeats each time R4 sends a hello to R6. R6#show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address Interface 2 1 0 7.47.46.4 19.48.216.21 7.47.36.3 Tu64 Gi0/7 Gi0/3 Hold Uptime SRTT (sec) (ms) 11 00:00:03 1 13 01:07:13 1 12 01:07:25 1279 RTO Q Seq Cnt Num 3000 1 0 144 0 7 5000 0 18 The ticket restricts the use of any EIGRP command to fix the issue. The ticket is then fixed by enabling multicast capability on R6 with the ip nhrp map multicast 192.1.4.4 command under its tunnel 64 interface: R6(config)#interface tunnel 64 R6(config-if)#ip nhrp map multicast 192.1.4.4 You should see the following console message: *Aug 13 13:34:03.156: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.46.4 (Tunnel64) is up: new adjacency The above results in a stable EIGRP adjacency between R4 and R6. The show ip eigrp neighbors command on R6 and R4 verify this. Additionally, the show ip eigrp route command on R6 verifies that it is learning EIGRP routes from R4 over its tunnel 64 interface: On R4: R4#show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address CCIE by Narbik Kocharians Interface Hold Uptime (sec) CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved SRTT (ms) RTO Q Seq Cnt Num Page 423 1 0 7.47.46.6 7.47.45.5 Tu46 Gi0/5 14 00:02:15 10 01:16:24 2 1 100 144 Hold Uptime SRTT (sec) (ms) 10 00:03:35 1 12 01:16:18 1 11 01:16:30 1023 RTO 0 0 62 4 On R6: R6#show ip eigrp neighbors EIGRP-IPv4 Neighbors for AS(1) H Address Interface 2 1 0 7.47.46.4 19.48.216.21 7.47.36.3 Tu64 Gi0/7 Gi0/3 Q Seq Cnt Num 100 0 7 144 0 10 5000 0 23 R6#show ip route eigrp | include 7.47.46.4 D D 7.47.45.0/24 [90/3328000] via 7.47.46.4, 00:03:26, Tunnel64 7.47.100.4/32 [90/2297856] via 7.47.46.4, 00:03:26, Tunnel64 Ticket 3 When R3’s G0/1, G0/7, and G0/6 are down, R3 can’t reach R4’s Lo0. Do not remove any commands to fix this ticket. Before shutting down R3’s G0/1,G0/7 and G0/6 interfaces, a ping is issued from R3 to R4’s loopback address to verify rechability. As seen below, the ping succeeds: On R3: R3#ping 7.47.100.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms The routing table on R3 shows that it currently uses the path via R6 to reach the loopback address on R4: R3#show ip route 7.47.100.4 Routing entry for 7.47.100.4/32 Known via "eigrp 1", distance 90, metric 3456000, type internal CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 424 Redistributing via eigrp 1 Last update from 7.47.36.6 on GigabitEthernet0/6, 00:25:05 ago Routing Descriptor Blocks: * 7.47.36.6, from 7.47.36.6, 00:25:05 ago, via GigabitEthernet0/6 Route metric is 3456000, traffic share count is 1 Total delay is 35000 microseconds, minimum bandwidth is 1000 Kbit Reliability 255/255, minimum MTU 1476 bytes Loading 1/255, Hops 2 Next, the interfaces specified in the ticket on R3 are shutdown: R3(config)# interface range g0/1,g0/6-7 R3(config-if-range)#shut On shutting down the above interfaces, as stated in the ticket, R3 can longer ping R4’s address: R3#ping 7.47.100.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.4, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) Observing the routing table on R3 we notice EIGRP routes to R5’s loopback address and the network connecting R4 and R5, however, R3 no longer has a route to the 7.47.100.4 network that exists on R4: R3#show ip route eigrp | begin Gate Gateway of last resort is not set D D 7.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 7.47.45.0/24 [90/3072000] via 7.47.35.5, 00:22:55, GigabitEthernet0/5 7.47.100.5/32 [90/2944000] via 7.47.35.5, 00:22:55, GigabitEthernet0/5 R5 however does have an EIGRP route to R4’s loopback address: On R5: R5#show ip route 7.47.100.4 Routing entry for 7.47.100.4/32 Known via "eigrp 1", distance 90, metric 2944000, type internal Redistributing via eigrp 1 Last update from 7.47.45.4 on GigabitEthernet0/4, 00:00:52 ago Routing Descriptor Blocks: * 7.47.45.4, from 7.47.45.4, 00:00:52 ago, via GigabitEthernet0/4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 425 Route metric is 2944000, traffic share count is 1 Total delay is 15000 microseconds, minimum bandwidth is 1000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 1 With this we can conclude that some configuration on R5 is preventing R5 from advertising the EIGRP route to R4’s loopback address to R3. The show ip protocol | sectopn eigrp 1 command output can shed some light on this: R5#show ip protocol | section eigrp 1 Routing Protocol is "eigrp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Default networks flagged in outgoing updates Default networks accepted from incoming updates EIGRP-IPv4 Protocol for AS(1) Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 Soft SIA disabled NSF-aware route hold timer is 240 Router-ID: 7.47.100.5 Stub, connected, summary Topology : 0 (base) Active Timer: 3 min Distance: internal 90 external 170 Maximum path: 4 Maximum hopcount 100 Maximum metric variance 1 What the above output shows is that though no sort of route filtering is configured on R5, R5 is an EIGRP stub router where the stub routing configuration on it, allows it to only advertise connected and summary routes to its EIGRP neighbors. This simply means, R5 will not advertise EIGRP routes it learns from R4 over to R3 as these are not connected or summary route. And this is the reason why R3’s routing table does not show the 7.47.100.4 prefix in its routing table. To fix the issue we need to configure R5 such that it advertises R4’s loopback 0 address to R5. One of the ways to solve this would be to remove the EIGRP stub configuration on R5. The ticket however has restricted removing any configurations. Another alternative would be to use a leak-map. Leak-maps in EIGRP allow an EIGRP router to leak specified prefixes. For this first an access list is configured that permits the network that needs to be advertised. In this case, the standard access-list R4lo0 below is configured to permit any. The access-list is then referenced in a route-map with the match ip address command. The leak-map keyword is then appended to the eigrp stub connected summary command that references the route-map: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 426 R5(config)#ip access-list standard R4lo0 R5(config-std-nacl)#permit any R5(config)#route-map tst permit 10 R5(config-route-map)#match ip address R4lo0 R5(config)#router eigrp 1 R5(config-router)#eigrp stub conn summ leak-map tst To test the configuration: The result of the above leaking can be seen on R3’s routing table. R3 now has a route to R4’s loopback address from R5: On R3: R3#show ip route eigrp | begin Gate Gateway of last resort is not set D D D D D D D 7.0.0.0/8 is variably subnetted, 9 subnets, 2 masks 7.47.36.0/24 [90/3840000] via 7.47.35.5, 00:00:19, GigabitEthernet0/5 7.47.45.0/24 [90/3072000] via 7.47.35.5, 00:00:19, GigabitEthernet0/5 7.47.46.0/24 [90/3584000] via 7.47.35.5, 00:00:19, GigabitEthernet0/5 7.47.100.4/32 [90/3200000] via 7.47.35.5, 00:00:19, GigabitEthernet0/5 7.47.100.5/32 [90/2944000] via 7.47.35.5, 00:00:19, GigabitEthernet0/5 7.47.100.6/32 [90/3712000] via 7.47.35.5, 00:00:19, GigabitEthernet0/5 19.0.0.0/24 is subnetted, 1 subnets 19.48.216.0 [90/3840000] via 7.47.35.5, 00:00:19, GigabitEthernet0/5 A ping from R3 to the 7.47.100.4 address verifies end to end rechability: R3#ping 7.47.100.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms R3(config)#interface range g0/1,g0/7,g0/6 R3(config-if-range)#no shut You should see the adjacency before proceeding to the next ticket, you should see the following console messages: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 427 %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.13.1 (GigabitEthernet0/1) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 19.48.213.21 (GigabitEthernet0/7) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.36.6 (GigabitEthernet0/6) is up: new adjacency Ticket 4 R1’s Lo0 should always have reachability to R4’s Lo0 and G0/5 interfaces, but it does not. You should fix this problem without configuring R1 or R4. You should not remove any commands to resolve this ticket. First connectivity to R4’s loopback address is verified from R1. Two pings are issued, one from R1’s G0/3 interface and another from it’s Lo0 interface: On R1: R1#ping 7.47.100.4 source g0/3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.4, timeout is 2 seconds: Packet sent with a source address of 7.47.13.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms R1#ping 7.47.100.4 source lo0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.4, timeout is 2 seconds: Packet sent with a source address of 7.47.100.1 ..... Success rate is 0 percent (0/5) As seen above, the pings sourced from the G0/3 interface on R1 succeeds. This confirms that R1 does have a route to R4’s loopback address, 7.47.100.4. Since R4 is able to return the ping traffic, it is confirmed that R4 has a route back to the 7.47.13.0/24 network. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 428 However, the pings soured from the loopback on R1, fails. R4’s routing table is checked to verify if it has a route back to the 7.47.100.1/32 address. The output confirms, R4 does not have a route to R1’s loopback address in its routing table: On R4: R4#show ip route 7.47.100.1 % Subnet not in table Next, R5’s routing table is checked for the same route and as seen belo. R5 does have a route to the network. A ping from R5 to R1’s loopback also succeeds: On R5: R5#show ip route 7.47.100.1 Routing entry for 7.47.100.1/32 Known via "eigrp 1", distance 90, metric 3200000, type internal Redistributing via eigrp 1 Last update from 7.47.35.3 on GigabitEthernet0/3, 00:04:51 ago Routing Descriptor Blocks: * 7.47.35.3, from 7.47.35.3, 00:04:51 ago, via GigabitEthernet0/3 Route metric is 3200000, traffic share count is 1 Total delay is 25000 microseconds, minimum bandwidth is 1000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 2 R5#ping 7.47.100.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms The earlier task configured R5 to leak all prefixes using a leak-map. This means, R5 is advertising R1’s loopback address to R4. So the problem could be R4 is performing some form of filtering of this network. The show ip protocol | section eigrp output is observed to investigate further: On R4: R4#show ip protocol | include eigrp 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 429 Routing Protocol is "eigrp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Default networks flagged in outgoing updates Default networks accepted from incoming updates EIGRP-IPv4 Protocol for AS(1) Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 Soft SIA disabled NSF-aware route hold timer is 240 Router-ID: 7.47.100.4 Topology : 0 (base) Active Timer: 3 min Distance: internal 90 external 170 Maximum path: 4 Maximum hopcount 2 Maximum metric variance 1 As seen in the output above, no form of explicit filtering is configured on R4. However, something does stand out, the maximum hop count value. Hop count is the number of router traversals to a destination. R4 has been configured for a maximum hop count value of 2. This means, when it receives an EIGRP update for the 7.47.100.1/32 from its EIGRP neighbor, since this update has a hop count value greater than 2, R4 is rejecting the update. As a result, it does not inject a route to R1’s loopback. One of the ways to solve this task would be modifying the hop count value on R4. The task however restricts making any configuration changes on R1 or R4. So an alternative way to ensure R4 has a route back to R1’s loopback address is to perform summarization on R5. Since the summary route in this case is generated at R5, the hop count value in the EIGRP update for this route will be lower than 2 at R4 resulting in R4’s installing a summary route. Following configuration implements the above on R5. The ip summary-address eigrp 1 7.47.0.0 255.255.0.0 is configured on the G0/4 interface that connects R5 to R4: On R5: R5(config)#interface g0/4 R5(config-if)#ip summary-address eigrp 1 7.47.0.0 255.255.0.0 The result of the above configuration can be seen in R4’s routing table below where the summary route 7.47.0.0/16 is now present. R4 does not have a specific route for the 7.47.100.1/32 address, so it will use the summary route to reach this address: On R4: R4#show ip route eigrp | begin Gate CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 430 Gateway of last resort is not set D D D D D D D D 7.0.0.0/8 is variably subnetted, 11 subnets, 3 masks 7.47.0.0/16 [90/2944000] via 7.47.45.5, 00:06:02, GigabitEthernet0/5 7.47.13.0/24 [90/3584000] via 7.47.46.6, 00:06:02, Tunnel46 7.47.35.0/24 [90/3584000] via 7.47.46.6, 00:06:02, Tunnel46 7.47.36.0/24 [90/3328000] via 7.47.46.6, 00:06:02, Tunnel46 7.47.100.3/32 [90/3456000] via 7.47.46.6, 00:06:02, Tunnel46 7.47.100.6/32 [90/2297856] via 7.47.46.6, 23:35:29, Tunnel46 19.0.0.0/24 is subnetted, 2 subnets 19.48.213.0 [90/3328000] via 7.47.45.5, 22:40:35, GigabitEthernet0/5 19.48.216.0 [90/3328000] via 7.47.46.6, 23:35:29, Tunnel46 A ping sourced from R1’s loopback 0 to R4’s loopback 0 address is once again issued to verify rechability and as seen below, the ping succeeds. On R1: R1#ping 7.47.100.4 source lo0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 7.47.100.4, timeout is 2 seconds: Packet sent with a source address of 7.47.100.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms Ticket 5 R3 is configured to use multiple paths to R4’s Lo0. However, it’s using only one of the paths. The show ip route 7.47.100.4 command output from R3 below verifies the claim. R3 has a single path installed to reach R4’s loopback address learned from R5: On R3: R3#show ip route 7.47.100.4 Routing entry for 7.47.100.4/32 Known via "eigrp 1", distance 90, metric 3200000, type internal Redistributing via eigrp 1 Last update from 7.47.35.5 on GigabitEthernet0/5, 00:00:11 ago CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 431 Routing Descriptor Blocks: * 7.47.35.5, from 7.47.35.5, 00:00:11 ago, via GigabitEthernet0/5 Route metric is 3200000, traffic share count is 1 Total delay is 25000 microseconds, minimum bandwidth is 1000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 2 To examine the cause, the show ip eigrp topology 7.47.100.4/32 command output is displayed below: R3#show ip eigrp topology 7.47.100.4/32 EIGRP-IPv4 Topology Entry for AS(1)/ID(7.47.100.3) for 7.47.100.4/32 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 3200000 Descriptor Blocks: 7.47.35.5 (GigabitEthernet0/5), from 7.47.35.5, Send flag is 0x0 Composite metric is (3200000/2944000), route is Internal Vector metric: Minimum bandwidth is 1000 Kbit Total delay is 25000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2 Originating router is 7.47.100.4 7.47.36.6 (GigabitEthernet0/6), from 7.47.36.6, Send flag is 0x0 Composite metric is (3456000/2297856), route is Internal Vector metric: Minimum bandwidth is 1000 Kbit Total delay is 35000 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1476 Hop count is 2 Originating router is 7.47.100.4 R3’s EIGRP topology table shows two routes to reach R4’s loopback address, one via R5 and the other via R6. R3 chooses the route through R5 as its successor route because it has a lower calculated distance (3200000) compared to the route through R6 (3456000). R6’s path is kept as a feasible successor. By default, routing protocols will only install equal paths into the same prefix into the routing table. Because the routes from R5 and R6 are not equal, only one path is installed into the routing table. EIGRP, however, possesses the ability to install unequal-cost paths into the routing table. EIGRP does this by evaluating feasible successor routes that are only a certain degree worse than its current successor route to install into the routing table. This is controlled with the variance command. For example, if configured with variance 2 command, EIGRP will install feasible successors with a calculated distance that is at most 2 times worse CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 432 (higher) than the current successor route. Applied to R3’s output above, EIGRP would allow a route with a calculated distance equal to or less than 6400000 (3200000 x 2). By default, the variance is set to 1 meaning feasible successors must have an equal calculated distance compared to the successor route essentially enabling equal-cost multipath routing. To complete the task R3 needs to be configured with the variance 2 command in EIGRP router configuration mode as shown below: On R3: R3(config)#router eigrp 1 R3(config-router)#variance 2 The result of the above configuration can be seen in the routing table on R3. Notice R3 two unequal cost paths to installed for R4’s loopback address: R3#show ip route 7.47.100.4 Routing entry for 7.47.100.4/32 Known via "eigrp 1", distance 90, metric 3200000, type internal Redistributing via eigrp 1 Last update from 7.47.35.5 on GigabitEthernet0/5, 00:01:45 ago Routing Descriptor Blocks: 7.47.36.6, from 7.47.36.6, 00:01:45 ago, via GigabitEthernet0/6 Route metric is 3456000, traffic share count is 37 Total delay is 35000 microseconds, minimum bandwidth is 1000 Kbit Reliability 255/255, minimum MTU 1476 bytes Loading 1/255, Hops 2 * 7.47.35.5, from 7.47.35.5, 00:01:45 ago, via GigabitEthernet0/5 Route metric is 3200000, traffic share count is 40 Total delay is 25000 microseconds, minimum bandwidth is 1000 Kbit Reliability 255/255, minimum MTU 1500 bytes Loading 1/255, Hops 2 Ticket 6 R6 can’t reach R7’s Lo101. A ping to R7’a loopback address 57.73.21.21 is issued from R6. As the ticket states, the ping fails: On R6: R6#ping 57.73.21.21 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 433 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 57.73.21.21, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R6’s routing table below shows that is has no route to this address: R6#show ip route 57.73.21.21 % Network not in table R3 however does have rechability to the 57.73.21.21 address. This confirms that R7 is advertising its loopback101 into EIGRP: On R3: R3#ping 57.73.21.21 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 57.73.21.21, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms The show ip protocol | include filter command on R6 is observed to check for any filtering. As seen, R6 is not configured to perform any route filtering: On R6: R6#show ip protocol | include filter Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Since the lab restricts the checking of any configuration on R7, R3’s routing and EIGRP topology table combined gives us some information about the 57.73.21.21 prefix. As seen below, R3 learns the 57.73.21.21 prefix from R7 as EIGRP external route. This means, R7 is redistributing this prefix into EIGRP: On R3: R3#show ip route 57.73.21.21 Routing entry for 57.73.0.0/16 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 434 Known via "eigrp 1", distance 170, metric 2560256256, type external Redistributing via eigrp 1 Last update from 19.48.213.21 on GigabitEthernet0/7, 00:05:11 ago Routing Descriptor Blocks: * 19.48.213.21, from 19.48.213.21, 00:05:11 ago, via GigabitEthernet0/7 Route metric is 2560256256, traffic share count is 1 Total delay is 10010 microseconds, minimum bandwidth is 1 Kbit Reliability 1/255, minimum MTU 1 bytes Loading 1/255, Hops 1 Let’s check the topology table: R3#show ip eigrp topology 57.73.0.0/16 EIGRP-IPv4 Topology Entry for AS(1)/ID(7.47.100.3) for 57.73.0.0/16 State is Passive, Query origin flag is 1, 0 Successor(s), FD is Infinity Descriptor Blocks: 19.48.213.21 (GigabitEthernet0/7), from 19.48.213.21, Send flag is 0x0 Composite metric is (2560256256/2560000256), route is External Vector metric: Minimum bandwidth is 1 Kbit Total delay is 10010 microseconds Reliability is 1/255 Load is 1/255 Minimum MTU is 1 Hop count is 1 Originating router is 7.47.100.6 External data: AS number of route is 0 External protocol is Static, external metric is 0 Administrator tag is 0 (0x00000000) A key point however in the output above is the originating router ID of 7.47.100.6 for the prefix learned from R7. This address exists on R6 and since the loopback interface is selected as the router ID, R6’s EIGRP RID as seen below, is also 7.47.100.6: On R6: R6#show ip protocols | section eigrp Routing Protocol is "eigrp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Default networks flagged in outgoing updates Default networks accepted from incoming updates CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 435 EIGRP-IPv4 Protocol for AS(1) Metric weight K1=1, K2=0, K3=1, K4=0, K5=0 Soft SIA disabled NSF-aware route hold timer is 240 Router-ID: 7.47.100.6 Topology : 0 (base) Active Timer: 3 min Distance: internal 90 external 170 Maximum path: 4 Maximum hopcount 100 Maximum metric variance 1 Duplicate RID can cause a problem with EIGRP external routes. An EIGRP router that receives an external route where the RID of the originating router matches it’s own, it will not accept the route. Cisco logs duplicate router IDs events and this can be seen with the show ip eigrp events command output below on R6. R6 rejects the EIGRP updates for the 57.73.21.21 prefix since it sees its own RID in the originating router field: NOTE: Starting IOS 15 code, duplicate router-id will not only affect external routes, it will also affect internal routes. R6#show ip eigrp events | include 7.47.100.6 162 228 235 237 238 239 241 244 245 18:27:32.071 Ignored route, dup routerid int: 7.47.100.6 18:20:20.439 Ignored route, dup routerid int: 7.47.100.6 18:20:20.075 Ignored route, dup routerid int: 7.47.100.6 18:20:20.075 Ignored route, dup routerid int: 7.47.100.6 18:20:20.075 Poison squashed: 7.47.100.6/32 reverse 18:20:20.075 Ignored route, dup routerid int: 7.47.100.6 18:20:20.075 Ignored route, dup routerid int: 7.47.100.6 18:20:20.075 Ignored route, dup routerid ext: 7.47.100.6 18:20:20.075 Ignored route, dup routerid int: 7.47.100.6 The fix to this problem is easy. R6’s RID is changed to 6.6.6.6 with the eigrp router-id command as seen below: On R6: R6(config)#router eigrp 1 R6(config-router)#eigrp router-id 6.6.6.6 You should see the following console messages: %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.36.3 (GigabitEthernet0/3) is down: route configuration changed CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 436 %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.46.4 (Tunnel64) is down: route configuration changed %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 19.48.216.21 (GigabitEthernet0/7) is down: route configuration changed %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.46.4 (Tunnel64) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 7.47.36.3 (GigabitEthernet0/3) is up: new adjacency %DUAL-5-NBRCHANGE: EIGRP-IPv4 1: Neighbor 19.48.216.21 (GigabitEthernet0/7) is up: new adjacency The result of the above configuration changes can be seen on R6. R6 now has a route to R7’s lo101 address and a ping to this address, verifies rechability: On R6: R6#show ip route 57.73.21.21 Routing entry for 57.73.0.0/16 Known via "eigrp 1", distance 170, metric 2560256256, type external Redistributing via eigrp 1 Last update from 19.48.216.21 on GigabitEthernet0/7, 00:01:44 ago Routing Descriptor Blocks: * 19.48.216.21, from 19.48.216.21, 00:01:44 ago, via GigabitEthernet0/7 Route metric is 2560256256, traffic share count is 1 Total delay is 10010 microseconds, minimum bandwidth is 1 Kbit Reliability 1/255, minimum MTU 1 bytes Loading 1/255, Hops 1 R6#ping 57.73.21.21 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 57.73.21.21, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms Ticket 7 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 437 R3 should establish a EIGRP adjacency with R8 over its G0/8 interface. You should make configuration changes on R3 only. In order to complete this ticket there needs to be an EIGRP neighbor adjacency between R3 and R8. For EIGRP-speaking routers to become neighbors, the two routers must be in the same AS and have the same K values. The only issue is the current configuration on R8 is unknown so it cannot be matched in R3’s configuration. One way to discover the AS number and K value settings is to examine the EIGRP hello packet that R8 is multicasting onto the link. IOS routers can print out a packet dump using a hidden keyword in the debug ip packet command: the dump keyword. Before configuring the debug, R3 is configured to run EIGRP AS 100 with R8. If R8 forms an adjacency, then the task can be concluded here. If no adjacency is created then the process to use the debug command will be continued. On R3: R3(config-router)#router eigrp 100 R3(config-router)#network 38.1.1.3 0.0.0.0 After configuring R3 to run EIGRP, no adjacency has been established with R8. This means there is a mismatch with either the AS number or K values between R3 and R8. To continue the debug process, an access-list will be created. This access-list’s goal is to filter the debug ip packet detail to only capture EIGRP packets multicast by R8. The access-list matches EIGRP packets (IP protocol 88), using the eigrp keyword, sent to the destination 224.0.0.10 from the host 38.1.1.8 (R8). The following is the access-list configuration: R3(config)#access-list 100 permit eigrp host 38.1.1.8 host 224.0.0.10 Finally, the debug ip packet detail 100 dump command is issued to start the debugging process. Notice the “100” in the command. This is a reference to access-list 100 created above that limits the debugged packets to only those that match the ACL. The dump keyword prints the actual hex-dump of the IP packet. The following debug output and commands used are detailed in the below: R3#debug ip packet detail 100 dump IP packet debugging is on (detailed) (dump) for access list 100 IP: s=38.1.1.8 (GigabitEthernet0/8), d=224.0.0.10, len 60, rcvd 0, proto=88 08DFB980: 0100 5E00000A ..^... 08DFB990: 50000008 00030800 45C0003C 01090000 P.......E@.<.... 08DFB9A0: 0158B08E 26010108 E000000A 0205E6AC .X0.&...`.....f, 08DFB9B0: 00000000 00000000 00000000 00000026 ...............& 08DFB9C0: 0001000C 01000000 0000000F 00040008 ................ 08DFB9D0: 14000200 .... CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 438 To disable the debug: R3#undebug all All possible debugging has been turned off The debug output above may look intimidating at first, but with a little explanation it can be deciphered. The first step to understanding the dump is how it’s represented. The debug output first lists the basic details of the IP header of the packet that was received. This isn’t the raw packet information, but only an interpretation of what the raw bits of the packet equals. The actual packet dump begins on the first line underneath the IP header. Keep in mind the term “octet” here refers to 8 bits of binary digits. A binary octet is equal to two hexadecimal digits. This is because a single hexadecimal digit represents 4 binary digits. Interpreting this output requires an in-depth understanding of the basic packet format for an ethernet header, IP header, and EIGRP hello packet. The following provides a basic guide to reading the output. In the first line after the IP header the “08DFB980:” is a counter for the number of octets of bits represented in each line of output. This number is a hexadecimal number. In this case, the router is printing 16 octets worth of bits in each line (128 bits in total). Everything to the right of the colon (:) is the actual raw packet data written in hex and organized into 4-octet chunks. In this case, the actual packet captured begins in the last 10 octets of the first line. This is the raw packet output for the ethernet header of the packet. Without going into too much detail, the ethernet header of this packet is 14 octets in total, highlighted below: IP: s=38.1.1.8 (GigabitEthernet0/8), d=224.0.0.10, len 60, rcvd 0, proto=88 08DFB980: 0100 5E00000A ..^... 08DFB990: 50000008 00030800 45C0003C 01090000 P.......E@.<.... 08DFB9A0: 0158B08E 26010108 E000000A 0205E6AC .X0.&...`.....f, 08DFB9B0: 00000000 00000000 00000000 00000026 ...............& 08DFB9C0: 0001000C 01000000 0000000F 00040008 ................ 08DFB9D0: 14000200 .... The 14 bits highlighted above include the destination and source MAC address, and the Type field. The type field can be easily identified as the “0800” value highlighted in red above. This is an indication that the next string of bits indicates an IP packet. Knowing an IP packet is represented by the next set of bits allows us to cheat a bit. All we need to know is how long the IP header length is going to be. Every IP packet contains a header length field that indicates just this information. It is located as the last 4 bits of the first octet of the IP packet. In this case it is listed as “5” as highlighted below: IP: s=38.1.1.8 (GigabitEthernet0/8), d=224.0.0.10, len 60, rcvd 0, proto=88 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 439 08DFB980: 0100 5E00000A 08DFB990: 50000008 00030800 45C0003C 01090000 08DFB9A0: 0158B08E 26010108 E000000A 0205E6AC 08DFB9B0: 00000000 00000000 00000000 00000026 08DFB9C0: 0001000C 01000000 0000000F 00040008 08DFB9D0: 14000200 ..^... P.......E@.<.... .X0.&...`.....f, ...............& ................ .... This five indicates that the IP header will be five 32-byte words long. A 32-byte word is equal to 4 octets (8 divided by 32 equals 4). This means the entire IP header will be 5 x 4 octets long or 20 octets in total. If we count 20 octets from the beginning of the IP header (starting at hex value 4) we can find where the next header in the dump exists as highlighted below: IP: s=38.1.1.8 (GigabitEthernet0/8), d=224.0.0.10, len 60, rcvd 0, proto=88 08DFB980: 0100 5E00000A ..^... 08DFB990: 50000008 00030800 45C0003C 01090000 P.......E@.<.... 08DFB9A0: 0158B08E 26010108 E000000A 0205E6AC .X0.&...`.....f, 08DFB9B0: 00000000 00000000 00000000 00000026 ...............& 08DFB9C0: 0001000C 01000000 0000000F 00040008 ................ 08DFB9D0: 14000200 We have successfully bypassed both the ethernet and IP headers. The next header would be the transport header. Since we know we have been capturing only EIGRP packets (based on the access-list configured previously), we know the next packet is an EIGRP packet. This is because EIGRP does not use a transport protocol such as UDP or TCP to transmit its protocol packets. It provides its own transport mechanism for delivery. All that is needed now is an understanding of an EIGRP packet. The EIGRP packet contents are highlighted below: IP: s=38.1.1.8 (GigabitEthernet0/8), d=224.0.0.10, len 60, rcvd 0, proto=88 08DFB980: 0100 5E00000A ..^... 08DFB990: 50000008 00030800 45C0003C 01090000 P.......E@.<.... 08DFB9A0: 0158B08E 26010108 E000000A 0205E6AC .X0.&...`.....f, 08DFB9B0: 00000000 00000000 00000000 00000026 ...............& 08DFB9C0: 0001000C 01000000 0000000F 00040008 ................ 08DFB9D0: 14000200 The 4 and a half octets in red above represent the EIGRP version, Opcode, Checksum, Flags, Sequence Number, Acknowledgement Number, and virtual router ID (address family). The yellow highlighted part of the dump indicates the EIGRP AS number. value of “0026”. Converting this number from hexadecimal into binary gives the value of 38. This is the AS number R8 is configured to use. Proceeding through the blue (which indicates a type of parameters and length of 12 of the EIGRP K value TLV) leads to the actual K value settings. Each K-value is represented by a 1 octet number. In this case K1 = 1, K2 = 0, K3 = 0, K4 = 0, K5 = 0. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 440 This is an indication that all metric values are disabled except the first K value. Now we have all of the information we need to fix the neighborship between R3 and R8. First, EIGRP AS 100 is removed from R3. Then, EIGRP 38 is configured. The metric weights are then modified using the metric weight 0 1 0 0 0 0 command in router EIGRP configuration mode. Finally, EIGRP is activated on the R3/R8 link using the network 38.1.1.3 0.0.0.0 command. The console message verifies the EIGRP neighborship has successfully come up. R3(config)#no router eigrp 100 R3(config)#router eigrp 38 R3(config-router)#metric weight 0 1 0 0 0 0 R3(config-router)#netw 38.1.1.3 0.0.0.0 You should see the following console message: %DUAL-5-NBRCHANGE: EIGRP-IPv4 38: Neighbor 38.1.1.8 (GigabitEthernet0/8) is up: new adjacency Ticket 8 Erase the startup configuration and reload the devices before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2020 Narbik Kocharians. All rights reserved Page 441 Chapter 5 CCIE Enterprise Infrastructure Foundation v1.0 www.MicronicsTraining.com Narbik Kocharians CCSI, CCIE #12410 R&S, Security, SP OSPF CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 442 Lab 1 Running OSPF on the Interfaces This lab should be conducted on the Enterprise POD. Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder OSPF folder Lab-1. Task 1 Configure OSPF Area 0 on all directly connected interfaces in the previous topology, including the secondary IP addresses. Do not use the network command to accomplish this task. The loopback interfaces should be advertised with their correct mask. If this configuration is performed successfully, each router will have reachability to all routes within the previous topology. The OSPF RID should be configured based on the Lo0 interface of these three routers. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 443 This task focuses on basic OSPF neighbor configuration and how OSPF advertises prefixes attached to interfaces. The task first specifies that all routers participate in OSPF and belong to area 0. They should be configured to advertise their directly connected interface IP addresses into OSPF, including the secondary IP addresses configured on R2 and R3. OSPF can be enabled on an interface using one of the two methods: 1. Using the network ip-address wildcard-mask area area-id command under the OSPF router configuration. The command also includes assigning the interfaces covered with the network range to a specified area, with the area keyword 2. Directly on the interface with the ip ospf process-id area area-id [ secondaries none ] command The first configuration style utilizes the familiar network address wildcard area area-number command. It uses an address/wildcard-mask configuration to specify a range of IP addresses OSPF should advertise. Any interface that falls within the range specified by the network command will be enabled to run the configured OSPF process and the IP prefix assigned to that interface will be advertised into OSPF. The command also specifies to what area the matching IP address and interface is associated. OSPF design utilizes the concept of areas to define regions of the network where topology information is synchronized. The second configuration style directly configures the interface to participate in a specific OSPF process number and area. This configuration style will automatically create the indicated OSPF process and assign the interface to the indicated area. It also automatically advertises all IP addresses associated with the interface into the configured OSPF process and area. When configuring OSPF using either of the two methods above some things need to be noted: 1. When configured using the interface-level configuration style, secondary addresses are automatically advertised into OSPF. 2. When configured using the network command configuration style, secondary addresses must be matched by a network command statement that includes the secondary IP address of the interface in its address/wildcard mask combination. Also, if an interface is only matched by a network command matching its secondary IP address, OSPF will not be enabled on that interface. Breaking down the two points above, when configured using interface-level configuration, the router pretty much takes care of everything. It creates the OSPF process and adds all IP addresses, including secondary addresses, to be advertised into OSPF in the indicated area. OSPF is enabled on the interface and will begin discovering OSPF neighbors, if any exist, connected to that interface. The network command is more selective. It will only advertise the networks explicitly matched into OSPF. If the goal is to advertise both the primary and secondary interfaces into OSPF then the network statement CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 444 utilized should include both addresses or separate network command statements for each address is required. In addition, if only an interface’s secondary IP address is matched by a network command, that interface is not added into the OSPF process nor is the secondary IP address advertised into the OSPF domain. To complete the first requirement of the task, OSPF needs to be enabled on all routers. Every interface on the router should be configured to be in area 0 and all secondary addresses should be advertised as well. The task explicitly forbids the use of the network command, leaving the interface-level configuration style as the only other option. The following configuration enables OSPF for all directly connected and loopback 0 interfaces on R1, R2, and R3: On R1: R1(config)#interface g0/2 R1(config-if)#ip ospf 1 area 0 R1(config)#interface lo0 R1(config-if)#ip ospf 1 area 0 On R2: R2(config)#interface lo0 R2(config-if)#ip ospf network point-to-point R2(config-if)#ip ospf 1 area 0 R2(config)#interface g0/1 R2(config-if)#ip ospf 1 area 0 R2(config)#interface g0/3 R2(config-if)#ip ospf 1 area 0 R2(config)#router ospf 1 R2(config-router)#router-id 2.2.2.2 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on GigabitEthernet0/1 LOADING to FULL, Loading Done from On R3: R3(config)#interface lo0 R3(config-if)#ip ospf 1 area 0 R3(config-if)#ip ospf network point-to-point CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 445 R3(config)#interface g0/2 R3(config-if)#ip ospf 1 area 0 R3(config)#router ospf 1 R3(config-router)#router-id 3.3.3.3 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on GigabitEthernet0/2 LOADING to FULL, Loading Done from NOTE: It may take around 40 seconds for the UP notification to be displayed. To verify the configuration: The show ip ospf interface brief command output can then be used to verify the interfaces enabled for OSPF: On R1: R1#show ip ospf interface brief Interface Lo0 Gi0/2 PID 1 1 Area 0 0 IP Address/Mask 1.1.1.1/8 12.1.1.1/24 Cost 1 1 State Nbrs F/C P2P 0/0 DR 0/0 IP Address/Mask 2.2.2.2/8 23.1.1.2/24 12.1.1.2/24 Cost 1 1 1 State Nbrs F/C LOOP 0/0 DR 0/0 BDR 1/1 IP Address/Mask 3.3.3.3/8 23.1.1.3/24 Cost 1 1 State Nbrs F/C LOOP 0/0 BDR 1/1 On R2: R2#show ip ospf interface brief Interface Lo0 Gi0/3 Gi0/1 PID 1 1 1 Area 0 0 0 On R3: R3#show ip ospf interface brief Interface Lo0 Gi0/2 PID 1 1 Area 0 0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 446 The show ip route ospf | begin Gate command on R1, R2 and R3 confirms which OSPF routes the routers have installed into their routing tables: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O O O 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [110/2] via 12.1.1.2, 00:05:28, GigabitEthernet0/2 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [110/3] via 12.1.1.2, 00:02:01, GigabitEthernet0/2 10.0.0.0/24 is subnetted, 2 subnets 10.2.2.0 [110/2] via 12.1.1.2, 00:05:38, GigabitEthernet0/2 10.3.3.0 [110/3] via 12.1.1.2, 00:02:01, GigabitEthernet0/2 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/2] via 12.1.1.2, 00:05:38, GigabitEthernet0/2 On R2: R2#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [110/2] via 12.1.1.1, 00:13:17, GigabitEthernet0/1 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [110/2] via 23.1.1.3, 00:09:35, GigabitEthernet0/3 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks 10.3.3.0/24 [110/2] via 23.1.1.3, 00:09:35, GigabitEthernet0/3 On R3: R3#show ip route ospf | begin Gate Gateway of last resort is not set O O O O 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [110/3] via 23.1.1.2, 02:34:05, GigabitEthernet0/2 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [110/2] via 23.1.1.2, 02:34:05, GigabitEthernet0/2 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks 10.2.2.0/24 [110/2] via 23.1.1.2, 02:34:05, GigabitEthernet0/2 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/2] via 23.1.1.2, 02:34:05, GigabitEthernet0/2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 447 Observing the routing tables above, we notice that secondary IP addresses configured on R2’s G0/3 interface and the G0/2 interface on R3 are also advertised into OSPF. This is a direct result of the interfacelevel ip ospf process area area-id command configuration as mentioned earlier. The show ip ospf database router self-originate command output can be used to check the router LSAs generated by a router. This command lists the Type-1 router LSA that describes an individual router and its attached interfaces that are enabled for OSPF. Each interface is described as a link in the OSPF database and is given a metric value. These links are identified as being connected to one of the following type of networks: 1. Point-to-point 2. Transit 3. Stub Point-to-point networks indicate a link that is connected to a single OSPF-speaking device. Transit networks are networks that can carry traffic that was not locally generated or destined and contain many OSPFspeaking devices. Finally, a stub network indicates a network where there are no other OSPF-speaking devices and only traffic destined to or from the network will flow over the link to that network. The metric value in OSPF can be manually set on a per-interface basis or precalculated by IOS. By default, IOS will use a reference bandwidth value that defaults as 100,000Kbps which equals a 100Mbps FastEthernet connection. Interface cost values are reported as ratios of this bandwidth using the following formula: reference-bandwidth/interface-bandwidth. The following is an example of the router LSA generated by R2 and R3: On R2: R2#show ip ospf database router self-originate OSPF Router with ID (2.2.2.2) (Process ID 1) Router Link States (Area 0) LS age: 1283 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 2.2.2.2 Advertising Router: 2.2.2.2 LS Seq Number: 8000000A Checksum: 0x4735 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 448 Length: 72 Number of Links: 4 Link connected to: a Stub Network (Link ID) Network/subnet number: 2.2.2.2 (Link Data) Network Mask: 255.255.255.255 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 23.1.1.2 (Link Data) Router Interface address: 23.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Stub Network (Link ID) Network/subnet number: 10.2.2.0 (Link Data) Network Mask: 255.255.255.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 12.1.1.1 (Link Data) Router Interface address: 12.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1 On R3: R3#show ip ospf database router self-originate OSPF Router with ID (3.3.3.3) (Process ID 1) Router Link States (Area 0) LS age: 1460 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 3.3.3.3 Advertising Router: 3.3.3.3 LS Seq Number: 80000007 Checksum: 0x3A65 Length: 60 Number of Links: 3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 449 Link connected to: a Stub Network (Link ID) Network/subnet number: 3.3.3.3 (Link Data) Network Mask: 255.255.255.255 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 23.1.1.2 (Link Data) Router Interface address: 23.1.1.3 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Stub Network (Link ID) Network/subnet number: 10.3.3.0 (Link Data) Network Mask: 255.255.255.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 The output above lists an array of links connecting to different types of networks. Most notably, highlighted ingreen, is OSPF’s interpretation of the link connecting to the secondary IP address of R2’s G0/3 interface. It is described as being connected to a stub interface. In OSPF, stub networks are typically used to describe IP addresses assigned to point-to-point and loopback interfaces. This allows OSPF to solve the SPF algorithm required to reach the network. Next, highlighted is the metric assigned to each link. This number was automatically assigned to the link based on the IOS default OSPF bandwidth calculation. The calculation takes the reference bandwidth of 100,000Kbps (100Mbps) and divides it by the interface bandwidth of, for example, R2’s G0/3 interface, which is 1,000,000 Kbps (1,000Mbps or 1Gbps) as seen below: On R2: R2#show interface g0/3 | include BW MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, The result is 100,000/1,000,000 which equals 0.1. OSPF rounds this fraction to 1 which is the value seen as the metric value for the links. Also, highlighted is the OSPF router ID configured on R2 and R3. Router IDs are a 32-bit number that uniquely identify the device running OSPF. By default, router-ID on a device is selected in the following manner: 1. Manually configured router-id with the router-id command. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 450 2. If no manual configuration exists, then, select the highest IP address of an active loopback interface. 3. If no loopback exists, then, select the highest IP address of an active physical interface This task requires that R1, R2 and R3 use the IP address assigned to their loopback 0 interfaces as the OSPF router IDs. As seen in the output above, these loopback interfaces are already being used as the OSPF router IDs, since they are the only loopbacks configured on these devices. However, should another loopback interface be configured with a higher IP address followed by a restart of the OSPF process, the router ID would change to a different loopback address. To ensure the IP assigned to the loopback 0 address is always used as the router-id, the router-id command under the OSPF router configuration mode is used to manually assign the router IDs. The configuration for this is seen below on R1, R2 and R3: On R1: R1(config)#router ospf 1 R1(config-router)#router-id 1.1.1.1 On R2: R2(config)#router ospf 1 R2(config-router)#router-id 2.2.2.2 On R3: R3(config)#router ospf 1 R3(config-router)#router-id 3.3.3.3 Note: Since the manually set router IDs above match the existing router ID on the routers, IOS does not require the OSPF process to be restarted. If the manually set router ID did not match the existing router ID, IOS would prompt to restart the OSPF process for the new router ID to take effect. On the subject of loopback interfaces, the task makes special mention that all loopbacks enabled for OSPF should be advertised with their actual masks. The show run interface loopback 0 command output shows a /8 mask used for the loopback 0 addresses on R1, R2 and R3 On R1: R1#show run interface lo0 | begin interface interface Loopback0 ip address 1.1.1.1 255.0.0.0 ip ospf 1 area 0 On R2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 451 R2#show run interface lo0 | begin interface interface Loopback0 ip address 2.2.2.2 255.0.0.0 ip ospf 1 area 0 On R3: R3#show run int lo0 | begin interface interface Loopback0 ip address 3.3.3.3 255.0.0.0 ip ospf 1 area 0 The router LSAs on each router tell a different story as shown in the below: On R1: R1#show ip ospf database router self-originate | section Stub Link connected to: a Stub Network (Link ID) Network/subnet number: 1.1.1.1 (Link Data) Network Mask: 255.255.255.255 Number of MTID metrics: 0 TOS 0 Metrics: 1 On R2: R2#show ip ospf database router self-originate | section Stub Link connected to: a Stub Network (Link ID) Network/subnet number: 2.2.2.2 (Link Data) Network Mask: 255.255.255.255 Number of MTID metrics: 0 TOS 0 Metrics: 1 (The rest of the output is omitted for brevity) On R3: R3#show ip ospf database router self-originate | section Stub Link connected to: a Stub Network (Link ID) Network/subnet number: 3.3.3.3 (Link Data) Network Mask: 255.255.255.255 Number of MTID metrics: 0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 452 TOS 0 Metrics: 1 (The rest of the output is omitted for brevity) The highlighted portion of the output points out the fact that each router is advertising its loopback 0 interface into OSPF with /32 mask. The reason for this is the OSPF network type assigned by default to the loopback interfaces is loopback. According to the OSPF RFC (2328) loopback interfaces should be advertised as /32 host routes because they represent addresses attached to interfaces that are physically looped back to the device in hardware or logically looped back to the device in software. Since the interface is looped back, traffic will not be transited to such addresses but reachability to the address may be needed to perform testing. Because of this, these interfaces are considered to be stub interfaces much like the secondary addresses described above and are advertised as /32 host routes. Following excerpt from RFC 2328, section 9.1 highlights the above: In this state, the router's interface to the network is looped back. back in hardware or software. The interface may be looped The interface will be unavailable for data traffic. However, it may still be desirable to gain information on the quality of this interface, either through sending ICMP pings to the interface or through something like a bit error test. IP packets may still be addressed to an interface in Loopback state. For this reason, To facilitate this, such interfaces are advertised in router-LSAs as single host routes, whose destination is the IP interface address.[4] The default behavior can be changed. To allow OSPF to advertise the IP addresses on the loopback interface with their actual mask, the network type on the loopback interface needs to be changed to be point-topoint with the ip ospf network point-to-point command under the loopback interface. The following configures this on R1, R2 and R3: On R1, R2, and R3: Rx(config)#interface lo0 Rx(config-if)#ip ospf network point-to-point The self generated router LSA is observed again on each router.. Notice the difference from the earlier output. The router LSAs on each device now show the loopback interfaces with the true network mask of /8: On R1: R1#show ip ospf database router self-originate | section Stub Link connected to: a Stub Network (Link ID) Network/subnet number: 1.0.0.0 (Link Data) Network Mask: 255.0.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 453 Number of MTID metrics: 0 TOS 0 Metrics: 1 On R2: R2#show ip ospf database router self-originate | section Stub Link connected to: a Stub Network (Link ID) Network/subnet number: 2.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 (The rest of the output is omitted for brevity) On R3: R3#show ip ospf database router self-originate | section Stub Link connected to: a Stub Network (Link ID) Network/subnet number: 3.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 (The rest of the output is omitted for brevity) The show ip route ospf command on R1, R2 and R3 also verify the above configuration changes. All routers install routes to each others loopback 0 interfaces with a mask of /8: On R1: R1#show ip route ospf | include /8 O O 2.0.0.0/8 [110/2] via 12.1.1.2, 00:00:21, GigabitEthernet0/2 3.0.0.0/8 [110/3] via 12.1.1.2, 00:00:04, GigabitEthernet0/2 On R2: R2#show ip route ospf | include /8 O O 1.0.0.0/8 [110/2] via 12.1.1.1, 00:01:35, GigabitEthernet0/1 3.0.0.0/8 [110/2] via 23.1.1.3, 00:01:06, GigabitEthernet0/3 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks On R3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 454 R3#show ip route ospf | include /8 O O 1.0.0.0/8 [110/3] via 23.1.1.2, 00:02:35, GigabitEthernet0/2 2.0.0.0/8 [110/2] via 23.1.1.2, 00:02:23, GigabitEthernet0/2 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks A hidden command in IOS shows what is known as the OSPF private routing table containing all routes calculated by OSPF. This command is the show ip ospf route. Below is output of this command from R1’s perspective: On R1: R1#show ip ospf route OSPF Router with ID (1.1.1.1) (Process ID 1) Base Topology (MTID 0) Area BACKBONE(0) Intra-area Route List * *> * *> *> *> *> 12.1.1.0/24, Intra, cost 1, area 0, Connected via 12.1.1.1, GigabitEthernet0/2 23.1.1.0/24, Intra, cost 2, area 0 via 12.1.1.2, GigabitEthernet0/2 1.0.0.0/8, Intra, cost 1, area 0, Connected via 1.1.1.1, Loopback0 2.0.0.0/8, Intra, cost 2, area 0 via 12.1.1.2, GigabitEthernet0/2 3.0.0.0/8, Intra, cost 3, area 0 via 12.1.1.2, GigabitEthernet0/2 10.2.2.0/24, Intra, cost 2, area 0 via 12.1.1.2, GigabitEthernet0/2 10.3.3.0/24, Intra, cost 3, area 0 via 12.1.1.2, GigabitEthernet0/2 First Hop Forwarding Gateway Tree 12.1.1.1 on GigabitEthernet0/2, count 1 12.1.1.2 on GigabitEthernet0/2, count 5 1.1.1.1 on Loopback0, count 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 455 The output lists a concise view of all routes calculated by OSPF that will be submitted to the routing table as OSPF-learned routes. It provides information of the area in which the route was calculated, the OSPF cost to the route, and whether the route is an intra-area, inter-area, or external route. The output uses a BGP-like identification system where “*” indicates the best route and a “>” indicates that route has been installed into the global RIB on the router.. In R1’s case, the directly-connected routes calculated by OSPF have not been added to its global RIB. This is because the global RIB on R1 will hold them as directly connected routes and OSPF learned routes. The show ip ospf route output is helpful when determining if a synchronization problem exists between the global RIB and the OSPF process’ calculated routes. Task 2 Configure R2 and R3 such that the secondary IP addresses are not advertised into OSPF. Do not use filtering, a route map, an access list, or a prefix list. Do not remove any commands. Use a minimum number of commands to accomplish this task. As mentioned in task 1, enabling OSPF on an interface with the interface-level command ip ospf process-id area area-id command will cause the router to automatically advertise the primary IP address and any secondary IP address configured on that interface into OSPF. The task amends the previous task where secondary addresses were allowed to be advertised. Instead, R2 and R3 should not advertise the secondary addresses assigned to their G0/3 and G0/2 interfaces respectively, into OSPF. These networks are the 10.2.2.0/24 and 10.3.3.0/24 addresses configured on each interface. There are two ways this task can be completed: 1. Remove the interface-level command and only match the primary IP address of each interface on R2 and R3 with a network command in OSPF router configuration mode 2. Modify the existing interface-level command to exclude secondary IP addresses from being advertised by default. The task explicitly forbids removing commands from the configuration, this rules out the first option of configuration. What remains is to modify the existing interface-level command to exclude the secondary addresses from being advertised into OSPF. This is achieved by using the secondaries none keyword option with the ip ospf command under the interface as seen below: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 456 On R2: R2(config)#interface g0/3 R2(config-if)#ip ospf 1 area 0 secondaries none On R3: R3(config)#interface g0/2 R3(config-if)#ip ospf 1 area 0 secondaries none Once configured, the R2 and R3 will no longer advertise the secondary networks into OSPF. Observing the router LSAs on R2 and R3 confirms the two routers are no longer advertising those secondary addresses as directly connected links: On R2: R2#show ip ospf database router self-originate OSPF Router with ID (2.2.2.2) (Process ID 1) Router Link States (Area 0) LS age: 1017 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 2.2.2.2 Advertising Router: 2.2.2.2 LS Seq Number: 8000000D Checksum: 0x3945 Length: 72 Number of Links: 4 Link connected to: a Stub Network (Link ID) Network/subnet number: 2.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 23.1.1.2 (Link Data) Router Interface address: 23.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 457 Link connected to: a Transit Network (Link ID) Designated Router address: 12.1.1.2 (Link Data) Router Interface address: 12.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1 On R3: R3#show ip ospf database router self-originate OSPF Router with ID (3.3.3.3) (Process ID 1) Router Link States (Area 0) LS age: 115 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 3.3.3.3 Advertising Router: 3.3.3.3 LS Seq Number: 8000002D Checksum: 0xE3BF Length: 48 Number of Links: 2 Link connected to: a Stub Network (Link ID) Network/subnet number: 3.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 23.1.1.2 (Link Data) Router Interface address: 23.1.1.3 Number of MTID metrics: 0 TOS 0 Metrics: 1 In contrast to the same output from task 1, notice the missing entry for the secondary IP addresses in the router LSAs on R2 and R3 above. Note: The hidden command show ip ospf route can also be quickly referenced to verify the same A final verification is done on R1 with the show ip route ospf command. Notice R1 has no entry in its routing table for the secondary prefixes on R2 and R3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 458 On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O 2.0.0.0/8 [110/2] via 12.1.1.2, 00:22:07, GigabitEthernet0/2 3.0.0.0/8 [110/3] via 12.1.1.2, 00:19:06, GigabitEthernet0/2 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/2] via 12.1.1.2, 00:21:29, GigabitEthernet0/2 Task 3 R3 is getting flooded with LSA Type 6 packets. Ensure that R3 does not generate a syslog message for this LSA type. The original OSPFv2 specification in RFC 1583 was extended to include extensions for advertising multicast information. These extensions were defined in RFC 1584 the Multicast Extensions to OSPF and further elaborated upon in RFC 1585 MOSPF: Analysis and Experience. These two RFCs outlined a way by which multicast destination information can be shared using a new LSA type for that time the Type 6 LSA. Some networking vendors support the RFC 1584 Multicast Extensions to OSPF. Network devices manufactured by these vendors can be configured to send and receive Type-6 LSAs. Cisco routers, however, do not support these LSAs. As a result, whenever a router configured for OSPF receives Type 6 LSA packets, it generates a number of syslog messages indicating the LSA type was received and is not supported. Depending on the size of the network and the number of active multicast groups, logging this syslog message can be CPU intensive for the router. In such cases it is best if the router silently discards the Type-6 LSA without logging a message. This task deals with this very subject. Its goal is to prevent R3 from generating syslog messages whenever a Type-6 LSA is received. The router can be configured to ignore the Type 6 LSAs, using the command ignore lsa mospf under the OSPF router configuration mode as seen below on R3: On R3: R3(config)#router ospf 1 R3(config-router)#ignore lsa mospf CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 459 An interesting fact about this command. The context-sensitive help for the ignore command actually lists the lsa keyword as having the effect of “do not complain upon receiving LSA of the specified type” as seen below: R3(config)#router ospf 1 R3(config-router)#ignore ? lsa Do not complain upon receiving LSA of the specified type This is a further indication of the router’s default behavior to alert (or complain) about receiving the unsupported Type-6 LSA. Task 4 To ensure fast detection of a neighbor being down, configure R2 and R3 to send their hellos every 250 milliseconds with a hold time of 1 second for their Ethernet link. OSPF hello packets are sent between routers to allow the routers to discover each other and form adjacencies. Once the adjacencies have been formed, routers keep transmitting hello packets on the link every hello interval time. These hellos work as a heartbeat that announces the operational status of a router. If an OSPF router does not receive a hello packet from one of its neighbors for a period of time, called the dead interval timer, the router declares its neighbor dead and tears down the adjacency with that neighbor. The default hello timer for broadcast and point-to-point links is 10 seconds (for NBMA, the default is 30 seconds). The dead timer on these same links is set to be four times the hello interval. Once a periodic hello packet is received from the neighbor, the router resets the dead interval to its maximum value. In order to ensure all routers comply by the same hello and dead interval settings, these timers must match between two OSPF-speaking routers in order for them to become neighbors. The current hello and dead timer values can be observed in the show ip ospf interface command output. The example output below shows these default values on R2’s link G0/3 that connects to R3: On R2: R2#show ip ospf interface g0/3 | include Hello Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:04 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 460 The default dead interval means that the local router will tear down adjacencies with OSPF neighbors if it does not receive four consecutive hello packets from that neighbor. The result of these settings equates to a maximum dead timer of 40 seconds on broadcast and point-to-point links. The hello and dead timers can be manually set on a per-interface basis using the ip ospf hello-interval and ip ospf dead-interval interface-level commands. These commands are applied as follows: ● If the ip ospf hello-interval is set without manually setting a dead interval, the dead interval is automatically set to 4 times the hello period ● Any interface-level configuration of ip ospf dead-interval command will take precedence even if the hello interval is changed at a later time ● The dead interval can be reset to defaults (4 times the hello interval) using the no version of the command. The list above basically means that when configuring the OSPF hello interval on an interface using the ip ospf hello-interval command, the dead-interval is automatically set to be 4 times this value. This automatic change is only affected if no manual ip ospf dead-interval setting has been applied to the interface. If a dead interval has been specified, that configuration will be applied to the interface. Using the no form of the ip ospf dead-interval command on the interface returns the dead interval to the default settings. The task lays out requirements for sending and receiving hello packets between R2 and R3. It specifies that hellos should be sent every 250ms with a 1 second dead interval. Looking at the configuration options for setting these timers reveals a bit of a problem: R2(config-if)#ip ospf hello-interval ? <1-65535> Seconds R2(config-if)#ip ospf dead-interval ? <1-65535> Seconds minimal Set to 1 second Both hello and dead interval configurations are limited to 1 second defaults. It appears as though there is no way to set a sub-second hello interval as the task desires. The answer to solving the task lies in the OSPF fast hello feature. The fast hello feature allows the administrator to set sub-second hello timers. When configured, the OSPF fast hello feature first sets the dead interval to 1 second. The hello interval is then specified in how many hellos should be sent within that one second period. This value is called a multiplier value. In other words, if the fast hello feature is configured to send 2 hellos within one second, the hellos will be sent every 500ms. The math works as follows. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 461 A second is made up of 1000ms. With a hello multiplier value of 2, the router should send 2 hello packets at an even interval within that time period. The router divides 1000ms by 2 to reach a 500ms hello time interval. To solve the task, the hello interval should be set to 250ms. To figure out the proper multiplier value, 1000ms is divided by 250ms to equal a value of 4. This means the multiplier value used for the OSPF fast hello feature should be 4. Being able to perform that calculation is important as the configuration for OSPF fast hello is through the ip ospf dead-interval minimal hello-multiplier multiplier command. In this command, the hello multiplier value is used to calculate the resultant hello interval. In case of R2 and R3, the ip ospf dead-interval minimal hello-multiplier 4 command should be configured the g0/3 and g0/2 on R2 and R3 respectively as in the below: R2(config)#interface g0/3 R2(config-if)#ip ospf dead-interval minimal hello-multiplier 4 On R3: R3(config)#interface g0/2 R3(config-if)#ip ospf dead-interval minimal hello-multiplier 4 To verify the configuration: Following the above configurations, the show ip ospf interface command output from R2 and R3 reflect the new timers: On R3: R3#show ip ospf interface g0/2 | include Hello Timer intervals configured, Hello 250 msec, Dead 1, Wait 1, Retransmit 5 Hello due in 18 msec Task 5 Ensure that these routers look up DNS names for use in most of the OSPF show commands. Test this task to ensure proper operation. Since there are no DNS servers in this lab, you should use the local routers for DNS lookups. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 462 To understand this task, let’s first observe the show ip ospf database router command output from R1. Output from this command has been truncated to remove R1’s self originated Type-1 router LSAs. The output below shows the router LSAs advertised by R2 and R3 as indicated in the Advertising Router field: On R1: R1#show ip ospf database router | include Advert Advertising Router: 1.1.1.1 Advertising Router: 2.2.2.2 Advertising Router: 3.3.3.3 The advertising router field for the Type 1 router LSAs is the router ID of the router that generated that router LSA. As seen above, the advertising router field for R2 and R3’s LSA shows their RID 2.2.2.2 and 3.3.3.3. OSPF can be configured to perform a DNS lookup to display a more easily identifiable name instead of the router ID in OSPF show EXEC command outputs. DNS lookup can be performed against a stand-alone DNS server, another IOS device that is acting as a DNS server, or from the router’s own local name-to-IP mapping table configured using the ip host command in global configuration mode. The task specifically states that the local router should be used to perform the resolution. Thus, to complete the task, the ip host command is configured mapping the friendly name “Rx” (where “x” is the router number) to the proper router-id. For example, R1’s name is mapped to 1.1.1.1 using the command ip host R1 1.1.1.1. This configuration is repeated on all routers for all resolutions as follows: On R1, R2 and R3: Rx(config)#ip host R1 1.1.1.1 Rx(config)#ip host R2 2.2.2.2 Rx(config)#ip host R3 3.3.3.3 After configuring the manual lookup entries, the OSPF process is enabled to perform DNS lookup using the ip ospf name-lookup command in global configuration mode: Rx(config)#ip ospf name-lookup To verify the configuration: On R1: R1#show ip ospf database router | include Advert CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 463 Advertising Router: R1 Advertising Router: R2 Advertising Router: R3 Note: The DNS lookup is performed for all OSPF show EXEC command output. As an example, the show ip ospf neighbor command which will display the neighbor as R2 instead of its router ID. This may not work on all IOSes. R1#show ip ospf neighbor Neighbor ID R2 Pri 1 State FULL/BDR Dead Time 00:00:33 Address 12.1.1.2 Interface GigabitEthernet0/2 Task 6 Configure R2 such that if it does not receive an acknowledgment from R3 for a given LSA, it waits 10 seconds before it re-sends that given LSA. OSPF performs reliable flooding of LSAs. This simply means, for every LS update packet a router sends, the router expects to receive a LS Acknowledge packet from its neighbor. If the router does not receive an LS Acknowledge packet from its neighbor acknowledging it received the LS Update, the router will retransmit the LSA. This retransmission is controlled by a set interval dictated by the retransmit timer. The default retransmit timer is set to 5 seconds as seen below for the G0/3 interface on R2: On R2: R2#show ip ospf interface g0/3 | include Timer Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 The task requires configuring R2 such that it waits 10 seconds before retransmitting the unacknowledged LSA to R3. This is achieved by modifying the retransmit value for the G0/3 interface to 10 seconds with the ip ospf retransmit-interval 10 command in interface configuration mode: R2(config)#interface g0/3 R2(config-if)#ip ospf retransmit-interval 10 To verify the configuration: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 464 On completing the above, the show ip ospf interface g0/3 command output from R2 shows the modified retransmit value of 10 seconds: R2#show ip ospf interface g0/3 | include Timer Timer intervals configured, Hello 10 msec, Dead 40, Wait 40, Retransmit 10 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 465 Task 7 Configure R1 and R2 such that when there is a topology change in Area 0 for LSA Types 1 and 2, the entire SPT is not recomputed. This should only occur for the affected part/s of the tree. OSPF is a link-state routing protocol. That is to say, an OSPF-speaking router exchanges detailed routing information about the state of its links in the form of a Type-1 router or Type-2 network Link State Advertisement (LSA). These LSAs are advertised in Link State Update packets between all routers in the topology and are stored in the Link State Database (LSDB). When two neighbors come online, they exchange all LSAs contained in their LSDBs with each other. In this way the LSDB is kept synchronized between all routers in a particular OSPF area. Once the LSDB has been synchronized within an area, the router can construct a graph or map of the area topology. This graph is made up of nodes and the links that connect to the nodes. After complete topology information has been mapped or graphed out, OSPF performs a shortest-path computation to find the shortest path to reach any node on the graph. OSPF uses the Dijkstra SPF algorithm to accomplish this. After running the Dijkstra SPF algorithm against all nodes on the graph, the router has constructed a shortestpath tree from itself (as the root of the tree) to all other nodes on the graph. It is from this tree that the router derives the routes it installs into the routing table. Any changes to a router’s link-state information, such as removing or adding a link connected to this router, results in a change to the graph of the area. The affected router advertises this change in an LS UPDATE packet amending its LSAs. After receiving the update packet containing new Type-1 router or Type-2 network link state information for a particular router, the local router must recompute its own SPT to ensure it is still using the most efficient path to reach all nodes within its area. There are circumstances, however, where a change in the graph does not affect the local router’s resulting SPT or may only affect a portion of the router’s SPT. In such cases, it is a waste of effort on the local router’s side to recalculate the entire SPT from scratch. Doing so could become CPU intensive if the OSPF area is very large, containing OSPF routers. For example, in the lab topology, R3, from R1’s perspective, is a leaf-node router. That is to say, R3 doesn’t connect to any other downstream routers. R2, on the other hand, connects R1 to R3 and as such R2 is a branch router that allows R1 to transit traffic to R3. If R3’s link to R2 were to go down, it would not be necessary for R1 to recalculate its entire SPT again only to remove R3 from the very edge of the network. The example above, is the situation the task is looking to address. It states that if there is a change in Type-1 router and Type-2 network LSAs in Area 0, R1 and R2 should not run a full SPF. Only the affected portions of the SPT should be recalculated. This means that rather than recomputing the entire SPT, R1 can simply remove R3 from the edge of its SPT with minimal consequence, running only a partial SPF algorithm for only the affected part of its SPT (the R2/R3 link). This is called an incremental SPF calculation. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 466 Incremental SPF calculations optimize SPF calculations by establishing two types of calculations: 1. Full SPF - Where SPF is run against the entirety of the LSDB 2. Incremental SPF - Where only the affected part of the local router’s SPT is recalculated Full SPF calculations occur whenever a change is made to one of the routers own Type-1 or Type-2 LSAs. This is an indication that one of the router’s core links have undergone a change in some way. For example, if R1 loses its connection with R2, it must run a full SPF to recompute its entire SPT. Incremental SPF calculations occur in the following: 1. Whenever a leaf node router or link comes up or down 2. Whenever a non-SPT link comes up or down 3. Whenever a branch of the SPT fails The first, is a direct reference to the R2/R3 link from R1’s perspective. If that link goes down, R1 only needs to run an incremental SPF calculation to remove R3 from its SPT. The second references a link in the topology that R1 does not use in its SPT to reach any other node. Running a full calculation in this case would be a waste as there will effectively be no change in the resultant SPT from R1’s perspective. The last references a situation where an indirectly-connected branch of the SPT goes down. For example, if R3 were connected to another router, R4 in this case. If the R2/R3 link goes down, R1 still only needs to recalculate that failure and does not need to run a full SPF calculation. The incremental spf feature is enabled using the ispf command in OSPF router configuration mode. To complete the task, this feature needs to be enabled on R1 and R2. As seen in the example output from R1 below, Incremental SPF is turned off by default: On R1 and R2: Rx#show ip ospf | include Increm Incremental-SPF disabled On R3: Before configuring incremental SPF, let’s observe what happens on R1 whenever the R2/R3 link is shut down: R3(config)#interface g0/2 R3(config-if)#shut You should see the following messages: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 467 Process 1, Nbr 2.2.2.2 on GigabitEthernet0/2 from FULL to DOWN, Neighbor Down: Interface down or detached %LINK-5-CHANGED: Interface GigabitEthernet0/2, changed state to administratively down %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to down G0/2 is shut down on R3 in the above. In the output below interface G0/2 is brought back up on R3. The show ip ospf statistics detail command is used on R1 to see what kind of computation R1 performed: On R1: R1#show ip ospf statistics detail OSPF Router with ID (1.1.1.1) (Process ID 1) Area 0: SPF algorithm executed 4 times SPF 1 executed 00:43:35 ago, SPF type Full SPF calculation time (in msec): SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total 01000001 LSIDs processed R:3 N:2 Stub:4 SN:0 SA:0 X7:0 Change record 0x0 LSIDs changed 5 Changed LSAs. Recorded is LS ID and LS type: 2.2.2.2(R) 3.3.3.3(R) 12.1.1.2(N) 23.1.1.2(N) 1.1.1.1(R) SPF 2 executed 00:07:21 ago, SPF type Full SPF calculation time (in msec): SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total 00100001 LSIDs processed R:2 N:1 Stub:3 SN:0 SA:0 X7:0 Change record 0x0 LSIDs changed 2 Changed LSAs. Recorded is LS ID and LS type: 2.2.2.2(R) 23.1.1.2(N) SPF 3 executed 00:05:16 ago, SPF type Full SPF calculation time (in msec): SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total 00000000 LSIDs processed R:2 N:2 Stub:2 SN:0 SA:0 X7:0 Change record 0x0 LSIDs changed 3 Changed LSAs. Recorded is LS ID and LS type: 3.3.3.3(R) 2.2.2.2(R) 23.1.1.3(N) SPF 4 executed 00:05:06 ago, SPF type Full CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 468 SPF calculation time (in msec): SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total 00000000 LSIDs processed R:3 N:2 Stub:4 SN:0 SA:0 X7:0 Change record 0x0 LSIDs changed 1 Changed LSAs. Recorded is LS ID and LS type: 3.3.3.3(R) The show ip ospf statistics detail output lists OSPF SPF calculation activity. It includes how long it took for a particular SPF calculation, the total number of SPF calculations, what kind of SPF calculation was used, and what LSAs triggered the SPF calculation. The output above reveals that R1 has run SPF 3 times. The most recent runs are SPF 3 and SPF 4. In SPF 2, R1 performed a full SPF update because the Type-2 LSA from R2 changed. This was a result of the R2/R3 link failing. In SPF 3 and 4, R1 ran another full SPF calculation. This was whenever the R2/R3 link was brought down and back up. Next, incremental SPF will be configured using the ispf command under the OSPF router configuration mode on R1 and R2: On R1, and R2: Rx(config)#router ospf 1 Rx(config-router)#ispf To verify the configuration: On R1: The show ip ospf command output from R1 and R2 now reveal this feature is enabled: R1#show ip ospf | include Incremental Incremental-SPF enabled On R3: Once again, the R2/R3 link is brought down and back up: R3(config)#interface g0/2 R3(config-if)#no shut R3(config-if)#shut On R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 469 The show ip ospf statistics detail command now lists the following: R1#show ip ospf statistics detail OSPF Router with ID (1.1.1.1) (Process ID 1) Area 0: SPF algorithm executed 7 times [--- omitted ---] SPF 6 executed 00:01:26 ago, SPF type Incremental SPF calculation time (in msec): SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total 00000000 LSIDs processed R:2 N:2 Stub:2 SN:0 SA:0 X7:0 Change record 0x0 LSIDs changed 4 Changed LSAs. Recorded is LS ID and LS type: 3.3.3.3(R) 23.1.1.3(N) 2.2.2.2(R) 23.1.1.2(N) SPF 7 executed 00:01:16 ago, SPF type Incremental SPF calculation time (in msec): SPT Intra D-Intr Summ D-Summ Ext7 D-Ext7 Total 00000000 LSIDs processed R:3 N:2 Stub:4 SN:0 SA:0 X7:0 Change record 0x0 LSIDs changed 1 Changed LSAs. Recorded is LS ID and LS type: 3.3.3.3(R) The truncated output above shows that R1 used incremental calculations for its last two SPF calculations as required by the task. Task 8 Erase the startup configuration and reload the routers before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 470 Lab 2 OSPF Broadcast Networks This lab should be conducted on the Enterprise POD. Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder OSPF folder Lab-2. Task 1 Configure OSPF Area 0 on all routers and their directly connected interfaces. Ensure that Loopback0 interfaces are advertised with their correct mask. You should configure the OSPF router IDs to be 0.0.0.x, where x is the router number. OSPF Network Types CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 471 One fact that is echoed throughout this section is that OSPF is a link-state routing protocol. It creates a graph of connected link states for all routers in the OSPF area domain. To create this graph, OSPF exchanges what are known as Link State Advertisements (LSAs) in the form of Link State Updates. These LSAs contain the descriptions of the router’s links in the network and come in many types, each serving a specific purpose. LSAs represent either a single link, a single network, or a single router. Out of all the LSAs generated by the router, the most important is the Type-1 router LSA. This LSA is used to describe the router itself and its connected links. The Type-1 router LSA contains an individual link description for each physical or logical link that is enabled for OSPF on the local router. The way these links are described depends on the OSPF network type. There are five main OSPF network types: 1. Broadcast 2. Non-Broadcast 3. Point-to-point 4. Point-to-multipoint 5. Point-to-multipoint non-broadcast Each network type is explored in the next four labs beginning with the broadcast network type. To start this section off, OSPF needs to be configured to run on all of the ethernet and loopback interfaces on all of the routers. The loopback interfaces, in particular, must advertise the proper subnet masks instead of the default OSPF /32 subnet mask used for loopback interfaces. The configuration below configures the proper router IDs, enables OSPF on the router interfaces, and ensures the loopbacks are advertised with proper subnet masks by changing the network type to point-to-point: On R1: R1(config)#router ospf 1 R1(config-router)#router-id 0.0.0.1 R1(config-router)#network 10.1.1.1 0.0.0.0 area 0 R1(config-router)#network 1.1.1.1 0.0.0.0 area 0 R1(config-router)#interface lo0 R1(config-if)#ip ospf network point-to-point On R2: R2(config)#router ospf 1 R2(config-router)#router-id 0.0.0.2 R2(config-router)#network 10.1.1.2 0.0.0.0 area 0 R2(config-router)#network 2.2.2.2 0.0.0.0 area 0 R2(config-router)#interface lo0 R2(config-if)#ip ospf network point-to-point CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 472 You should see the following console messages: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done On R3: R3(config)#router ospf 1 R3(config-router)#router-id 0.0.0.3 R3(config-router)#network 10.1.1.3 0.0.0.0 area 0 R3(config-router)#network 3.3.3.3 0.0.0.0 area 0 R3(config-router)#interface lo0 R3(config-if)#ip ospf netw point-to-point You should see the following console messages: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on GigabitEthernet0/0 from LOADING to FULL, Loading Done On R4: R4(config)#router ospf 1 R4(config-router)#router-id 0.0.0.4 R4(config-router)#network 10.1.1.4 0.0.0.0 area 0 R4(config-router)#network 4.4.4.4 0.0.0.0 area 0 R4(config-router)#interface lo0 R4(config-if)#ip ospf network point-to-point The show ip route ospf | begin Gateway command on all routers verifies the OSPF routes they learn: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O 2.0.0.0/8 [110/2] via 10.1.1.2, 00:30:23, GigabitEthernet0/0 3.0.0.0/8 [110/2] via 10.1.1.3, 00:29:51, GigabitEthernet0/0 4.0.0.0/8 [110/2] via 10.1.1.4, 00:29:22, GigabitEthernet0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 473 On R2: R2#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/8 [110/2] via 10.1.1.1, 00:31:49, GigabitEthernet0/0 3.0.0.0/8 [110/2] via 10.1.1.3, 00:31:22, GigabitEthernet0/0 4.0.0.0/8 [110/2] via 10.1.1.4, 00:30:54, GigabitEthernet0/0 On R3: R3#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/8 [110/2] via 10.1.1.1, 00:31:47, GigabitEthernet0/0 2.0.0.0/8 [110/2] via 10.1.1.2, 00:31:47, GigabitEthernet0/0 4.0.0.0/8 [110/2] via 10.1.1.4, 00:31:16, GigabitEthernet0/0 On R4: R4#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/8 [110/2] via 10.1.1.1, 00:31:44, GigabitEthernet0/0 2.0.0.0/8 [110/2] via 10.1.1.2, 00:31:44, GigabitEthernet0/0 3.0.0.0/8 [110/2] via 10.1.1.3, 00:31:44, GigabitEthernet0/0 To produce the output above, OSPF has to do some housekeeping on the back end. First and foremost, each router needs to know what kind of network to which its OSPF-enabled links are connected. With this information, it models the relationship between its link and the neighbors that are connected to that link. In this case, each router’s G0/0 interface is connected to a LAN segment. Such segments are called multiaccess or transit networks in OSPF terminology. It represents a link that can carry traffic that is not destined to a device on the link or connects to multiple other routers. Thus, the link is modeled as such in each router’s Type-1 router LSA. Looking at the show ip ospf database command, reveals each router is advertising two links in their Type-1 router LSA as seen on R1: On R1: R1#show ip ospf database OSPF Router with ID (0.0.0.1) (Process ID 1) Router Link States (Area 0) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 474 Link ID 0.0.0.1 0.0.0.2 0.0.0.3 0.0.0.4 ADV Router 0.0.0.1 0.0.0.2 0.0.0.3 0.0.0.4 Age 177 157 122 161 Seq# Checksum Link count 0x8000000A 0x009862 2 0x80000009 0x00AB4C 2 0x80000007 0x00C035 2 0x80000005 0x00D51E 2 Net Link States (Area 0) Link ID 10.1.1.2 ADV Router 0.0.0.2 Age 157 Seq# Checksum 0x80000004 0x00A074 The show ip ospf database router self-originate command on R1 goes into the details of its Type-1 router LSA. The LSA describes its link on the LAN segment as a “transit link” and the network connected to its loopback interface as a stub network: R1#show ip ospf database router self-originate OSPF Router with ID (0.0.0.1) (Process ID 1) Router Link States (Area 0) LS age: 278 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.1 Advertising Router: 0.0.0.1 LS Seq Number: 8000000A Checksum: 0x9862 Length: 48 Number of Links: 2 Link connected to: a Stub Network (Link ID) Network/subnet number: 1.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.2 (Link Data) Router Interface address: 10.1.1.1 Number of MTID metrics: 0 TOS 0 Metrics: 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 475 The link description for the transit area may look odd. It mentions a “Designated Router address” and a “Router Interface address”. Why does it do this? The simple answer is in an optimization OSPF performs for LAN segments. In OSPF, LAN segments can be of two types, broadcast or non-broadcast. This speaks to the LAN’s ability to process broadcast/multicast packets. If the underlying LAN infrastructure can support broadcast traffic, then the router can multicast OSPF hello packets to discover neighbors. This is the broadcast network type that is the subject of this section. On such LAN segments, it is possible to have multiple OSPF-speaking routers connected to the same segment. In case of the lab topology, there are four OSPF-speaking routers connected to the same LAN segment, the 10.1.1.0/24 LAN segment. ALL routers have full-mesh reachability to each other, meaning R1 can send a packet to R2, R3 and R4; R2 can send a packet to R1, R3 and, R4; and so on. OSPF must model this full-mesh reachability in some way that makes sense and is efficient. One way, from R1’s perspective, is to model 3 point-to-point link adjacencies in its Type-1 LSA, one for its adjacency with each router. Each router on the segment would have to model the same 3 link adjacency leading to a grand total of 12 link adjacency descriptions in the OSPF database for a single LAN segment. If another OSPF-speaking router were added to the segment, it would increase to 20 link adjacencies. This model does not scale for large LAN or multi-access segments. Instead, OSPF takes a different approach. It represents the LAN segment itself as a node on the graph and attaches all connected routers to that central node. This network node is described in the Type-2 network LSA. All routers connected to the LAN segment model a single link connected to the multiaccess segment as a transit network node. The following output truncates the the show ip ospf database router self-originate command on R1 and compares it to the show ip ospf database network output: R1#show ip ospf database router self-originate | begin Transit Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.2 (Link Data) Router Interface address: 10.1.1.1 Number of MTID metrics: 0 TOS 0 Metrics: 1 R1#show ip ospf database network OSPF Router with ID (0.0.0.1) (Process ID 1) Net Link States (Area 0) LS age: 480 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 10.1.1.2 (address of Designated Router) Advertising Router: 0.0.0.2 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 476 LS Seq Number: 80000004 Checksum: 0xA074 Length: 40 Network Mask: /24 Attached Router: 0.0.0.2 Attached Router: 0.0.0.1 Attached Router: 0.0.0.3 Attached Router: 0.0.0.4 R1’s Type-1 router LSA references what is known as a Designated Router address in its link description for the LAN segment. This designated router address is used as the identifier for the resulting Type-2 LSA. The Designated Router (DR) is used to solve another problem. Since all routers on the LAN segment must maintain the same information in their LSDBs, they must exchange LSAs with each other to achieve this synchronization. That can lead to repeated flooding of link-state information onto the LAN. Moreover, which router on the LAN should be the router that creates the network node for the LAN segment? The answer to this is the DR. The DR is elected to help facilitate the LSA flooding and synchronization of Link-State information. All routers exchange LSAs with the DR and become fully adjacent, exchanging LSAs with the DR using the special “AllOSPF-DR” multicast group 224.0.0.6. The DR also creates the network node Type-2 network LSA shown above, adding the router IDs of all attached routers as well as the netmask for the LAN segment to the Type2 LSA. The Type-2 network LSA above represents the 10.1.1.0/24 network as indicated by the designated router/network mask combination. It also indicates that routers 0.0.0.1, 0.0.0.2, 0.0.0.3, and 0.0.0.4 are all connected to the 10.1.1.0/24 network node. Organizing the LAN segment this way keeps link-state information flooding to a minimum. If a new router is added to the LAN segment, it becomes fully adjacent with the DR. The DR synchronizes its LSDB with the new router and updates the Type-2 LSA for the LAN segment with the new router’s router ID. In the output above, the DR address is R2’s IP address on the LAN segment. The DR is elected on the LAN segment using the following algorithm: 1. Highest priority (configured with the ip ospf priority command in interface configuration mode) 2. Highest OSPF router ID This election is a one-time election. The DR is elected based on the exchange of hello packets during a given period of time which is roughly 40 seconds. Before carrying out DR elections, the routers wait for 40 seconds to see if there is a currently active DR on the segment. If not, the DR election is held. If the local router has not received a hello from another router on the segment with a higher OSPF priority or router ID, it elects itself as the DR and floods the Type-2 network LSA for the network segment. If the DR fails, another router should take its place. However, to speed the convergence process, the router with the second highest priority or router-ID is elected as a Backup Designated Router (BDR). All routers CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 477 including the DR become fully adjacent with the BDR and exchange LSAs with the BDR. This way, when the DR fails, the BDR takes its place and floods a new Type-2 network LSA for the segment. By default, all ethernet interfaces on Cisco IOS routers are designated as OSPF broadcast network types. This is because ethernet interfaces typically lead to ethernet LAN segments where multiple routers can be connected. The show ip ospf interfaces G0/0 command on R1 reveals some very useful information regarding the broadcast network type: R1#show ip ospf interface g0/0 GigabitEthernet0/0 is up, line protocol is up Internet Address 10.1.1.1/24, Area 0, Attached via Network Statement Process ID 1, Router ID 0.0.0.1, Network Type BROADCAST, Cost: 1 Topology-MTID Cost Disabled Shutdown Topology Name 0 1 no no Base Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 0.0.0.2, Interface address 10.1.1.2 Backup Designated router (ID) 0.0.0.1, Interface address 10.1.1.1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 oob-resync timeout 40 Hello due in 00:00:00 Supports Link-local Signaling (LLS) Cisco NSF helper support enabled IETF NSF helper support enabled Index 1/2/2, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 0, maximum is 1 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 3, Adjacent neighbor count is 3 Adjacent with neighbor 0.0.0.2 (Designated Router) Adjacent with neighbor 0.0.0.3 Adjacent with neighbor 0.0.0.4 Suppress hello for 0 neighbor(s) The output above verifies the network type is broadcast on R1’s G0/0. It also indicates the default hello and dead interval timers configured on the interface. By default, OSPF broadcast network type uses a hello interval of 10 seconds and a dead timer of 40 seconds. Throughout the next labs these settings will vary based on the different network types. Finally, the OSPF broadcast network type installs routes into the routing table with the router that advertised the LSA on the LAN segment (to the DR first) as the next-hop as verified below: R1#show ip route ospf | begin Gate Gateway of last resort is not set CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 478 O O O 2.0.0.0/8 [110/2] via 10.1.1.2, 00:43:17, GigabitEthernet0/0 3.0.0.0/8 [110/2] via 10.1.1.3, 00:42:45, GigabitEthernet0/0 4.0.0.0/8 [110/2] via 10.1.1.4, 00:42:16, GigabitEthernet0/0 R1 installs the loopback 0 interface IP addresses of all routers with those routers as the next hop. This fact is very important for specialty partial-mesh cases such as DMVPN which is explained in the next section. To review, the broadcast network type has the following characteristics: 1. Default network type on Ethernet interfaces 2. Hellos can be multicast to the 224.0.0.5 OSPF multicast address. 3. Hello and Dead timers are set to 10s and 40s respectively. 4. The next hop is the router that has the link to the route in the LSDB. 5. DR and BDR are elected to organize LSA exchange and generate the Type-2 LSA linking all routers on the segment together. 6. Routers exchange Link-State information with the DR/BDR using the 224.0.0.6 “All-OSPF-DR/BDR” multicast group. Task 2 Lab Setup: Erase the configuration of all routers and SW1. To copy and paste the initial configurations, go to the Initial-config folder OSPF folder Lab-2-Task-2. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 479 Configure OSPF on the tunnel and Loopback0 interfaces of all routers, based on the following policy: R1 is the hub, and R2, R3, and R4 are configured as spokes. Do not change the topology. Configure the tunnel interfaces of all routers to be OSPF broadcast network type. The loopback interfaces should be advertised with their correct mask. Configure the router IDs of R1, R2, R3, and R4 to be 0.0.0.1, 0.0.0.2, 0.0.0.3, and 0.0.0.4, respectively. You should use static maps on the DMVPN network. Spokes should traverse the hub to reach all networks. This lab examines some of the subtleties of the broadcast network type. Specifically, with how it behaves on partial-mesh NBMA networks such as DMVPN. To begin, OSPF should be configured according to the policy above. The following configures the tunnel and loopback0 interfaces for OSPF on each router. The router ID is set according to the task specifications using the router-id command in OSPF router configuration mode. OSPF is configured to advertise the actual mask on loopback interfaces by changing the network type on the loopback interfaces to point-to-point: On All Routers: Rx(config-router)#interface lo0 Rx(config-if)#ip ospf network point-to-point CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 480 On R1: R1(config)#router ospf 1 R1(config-router)#router-id 0.0.0.1 R1(config-router)#network 10.1.1.1 0.0.0.0 area 0 R1(config-router)#network 1.1.1.1 0.0.0.0 area 0 R1(config)#interface tunnel 1234 R1(config-if)#ip ospf network broadcast On R2: R2(config)#router ospf 1 R2(config-router)#router-id 0.0.0.2 R2(config-router)#network 2.2.2.2 0.0.0.0 area 0 R2(config-router)#network 10.1.1.2 0.0.0.0 area 0 R2(config)#interface tunnel 1234 R2(config-if)#ip ospf network broadcast On R3: R3(config)#router ospf 1 R3(config-router)#router-id 0.0.0.3 R3(config-router)#network 3.3.3.3 0.0.0.0 area 0 R3(config-router)#network 10.1.1.3 0.0.0.0 area 0 R3(config)#interface tunnel 1234 R3(config-if)#ip ospf network broadcast On R4: R4(config)#router ospf 1 R4(config-router)#router-id 0.0.0.4 R4(config-router)#network 4.4.4.4 0.0.0.0 area 0 R4(config-router)#network 10.1.1.4 0.0.0.0 area 0 R4(config)#interface tunnel 1234 R4(config-if)#ip ospf network broadcast After configuring all of the routers, there are no OSPF adjacency notifications on the routers. Furthermore, the show ip ospf neighbor command does not list any neighbors on any router: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 481 On R1: R1#show ip ospf neighbor R1# On R2: R2#show ip ospf neighbor R2# On R3: R3#show ip ospf neighbor R3# On R4: R4#show ip ospf neighbor R4# Recall from the previous task that OSPF broadcast network type still uses multicast hello messages to discover neighbor adjacencies. However, on non-broadcast mediums such as DMVPN, these hello messages cannot be transmitted to all potential neighbors as multicast. To facilitate OSPF broadcast network type’s multicast hello, the medium needs to support a form of pseudo-broadcasting. DMVPN supports this in the form of static NHRP multicast mappings. These mappings tell the router to which NBMA addresses multicast packets it originates should be forwarded. The output of the show ip nhrp multicast command shows the current multicast mappings that exist on each router: On R1: R1#show ip nhrp multicast I/F NBMA address On R2: R2#show ip nhrp multicast I/F NBMA address On R3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 482 R3#show ip nhrp multicast I/F NBMA address On R4: R4#show ip nhrp multicast I/F NBMA address The output shows no multicast mappings exist on the routers. The cause of this can be seen using the show run interface Tunnel1234 | begin interface output: On R1: R1#show run interface tunnel 1234 | begin interface interface Tunnel1234 ip address 10.1.1.1 255.255.255.0 no ip redirects ip nhrp map 10.1.1.2 192.1.2.2 ip nhrp map 10.1.1.3 192.1.3.3 ip nhrp map 10.1.1.4 192.1.4.4 ip nhrp network-id 111 ip ospf network broadcast tunnel source GigabitEthernet0/0 tunnel mode gre multipoint end On R2: R2#show run interface tunnel 1234 | begin interface interface Tunnel1234 ip address 10.1.1.2 255.255.255.0 no ip redirects ip nhrp map 10.1.1.1 192.1.1.1 ip nhrp network-id 222 ip ospf network broadcast tunnel source GigabitEthernet0/0 tunnel mode gre multipoint end On R3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 483 R3#show run interface tunnel 1234 | begin interface interface Tunnel1234 ip address 10.1.1.3 255.255.255.0 no ip redirects ip nhrp map 10.1.1.1 192.1.1.1 ip nhrp network-id 333 ip ospf network broadcast tunnel source GigabitEthernet0/0 tunnel mode gre multipoint end On R4: R4#show run interface tunnel 1234 | begin interface interface Tunnel1234 ip address 10.1.1.4 255.255.255.0 no ip redirects ip nhrp map 10.1.1.1 192.1.1.1 ip nhrp network-id 444 ip ospf network broadcast tunnel source GigabitEthernet0/0 tunnel mode gre multipoint end The output contains no static or dynamic NHRP multicast mapping commands. To fix this, the static NHRP multicast mapping command ip nhrp map multicast NBMA-address should be added. R1 should have mappings for all four spoke NBMA addresses while the spokes require only a single mapping for R1’s NBMA address. These mappings must be statically assigned out of compliance with the task requirements that only static mappings be configured. First the configuration is tested on R1 and R2: On R1: R1(config)#interface tunnnel 1234 R1(config-if)#ip nhrp map multicast 192.1.2.2 On R2: R2(config)#interface tunnel 1234 R2(config-if)#ip nhrp map multicast 192.1.1.1 If both ends are not configured to map Multicast for each other’s NBMA addresses, the OSPF adjacency will be established and torn down and you will get the following console message: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 484 %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on Tunnel1234 from LOADING to FULL, Loading Done Let’s verify the adjacency and see if these two routers are exchanging routes. As seen below, R1 learns the R2’s loopback address via OSPF over the tunnel 1234 interface and the ping to the 2.2.2.2 address succeeds: On R1: R1#show ip ospf neighbor Neighbor ID 0.0.0.2 Pri 1 State FULL/DR Dead Time 00:00:35 Address 10.1.1.2 Interface Tunnel1234 R1#show ip route ospf | begin Gate Gateway of last resort is not set O 2.0.0.0/8 [110/1001] via 10.1.1.2, 00:03:26, Tunnel1234 R1#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/6 ms Since the configuration was successful above it is repeated and applied to R3 and R4 as well: R1(config)#interface tunnel 1234 R1(config-if)#ip nhrp map multicast 192.1.3.3 R1(config-if)#ip nhrp map multicast 192.1.4.4 On R3 & R4: R3(config)#interface tunnel 1234 R3(config-if)#ip nhrp map multicast 192.1.1.1 Now the show ip ospf neighbor command on all routers verifies the OSPF adjacencies are up: On R1: R1#show ip ospf neighbor Neighbor ID 0.0.0.2 0.0.0.3 Pri 1 1 State FULL/DROTHER FULL/DROTHER CCIE by Narbik Kocharians Dead Time 00:00:38 00:00:37 Address 10.1.1.2 10.1.1.3 CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Interface Tunnel1234 Tunnel1234 Page 485 0.0.0.4 1 FULL/DR 00:00:32 10.1.1.4 Tunnel1234 R2#show ip ospf neighbor Neighbor ID Pri State 0.0.0.1 1 FULL/BDR Dead Time 00:00:30 Address 10.1.1.1 Interface Tunnel1234 Dead Time 00:00:30 Address 10.1.1.1 Interface Tunnel1234 Dead Time 00:00:30 Address 10.1.1.1 Interface Tunnel1234 On R2: On R3: R3#show ip ospf neighbor Neighbor ID Pri State 0.0.0.1 1 FULL/BDR On R4: R4#show ip ospf neighbor Neighbor ID Pri State 0.0.0.1 1 FULL/BDR The routing tables on each router, however, tell a different story: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O 4.0.0.0/8 [110/1001] via 10.1.1.4, 00:05:19, Tunnel1234 On R2: R2#show ip route ospf | begin Gate Gateway of last resort is not set On R3: R3#show ip route ospf | begin Gate Gateway of last resort is not set On R4: R4#show ip route ospf | begin Gate Gateway of last resort is not set O 1.0.0.0/8 [110/1001] via 10.1.1.1, 00:05:29, Tunnel1234 Only R1 and R4 have routes in their routing tables and not even complete routing information. R2 and R3 have no OSPF-learned routes in their routing tables. What can be the cause of this? The answer is in the DR election process. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 486 Recall from the previous task that OSPF broadcast network types elect a DR and BDR on each LAN segment. The DR creates a Type-2 network LSA to represent the LAN segment and advertises it to all its OSPF neighbors with the router IDs of all routers attached to the LSA. The routers only become fully adjacent with the DR and BDR and rely on these routers for their LSA exchange process. The show ip ospf interfaces brief command output on each router reveals what role each router believes its tunnel interface to play on the LAN segment: On R1: R1#show ip ospf interface brief Interface Lo0 Tu1234 PID 1 1 Area 0 0 IP Address/Mask 1.1.1.1/8 10.1.1.1/24 Cost 1 1000 State Nbrs F/C P2P 0/0 BDR 3/3 IP Address/Mask 2.2.2.2/8 10.1.1.2/24 Cost 1 1000 State Nbrs F/C P2P 0/0 DR 1/1 IP Address/Mask 3.3.3.3/8 10.1.1.3/24 Cost 1 1000 State Nbrs F/C P2P 0/0 DR 1/1 IP Address/Mask 4.4.4.4/8 10.1.1.4/24 Cost 1 1000 State Nbrs F/C P2P 0/0 DR 1/1 On R2: R2#show ip ospf interface brief Interface Lo0 Tu1234 PID 1 1 Area 0 0 On R3: R3#show ip ospf interface brief Interface Lo0 Tu1234 PID 1 1 Area 0 0 On R4: R4#show ip ospf interface brief Interface Lo0 Tu1234 PID 1 1 Area 0 0 In the above, R2, R3, and R4 all believe they are the DR on the LAN segment. This confusion results in three Type 2 LSAs being generated for the LAN segment as shown on R1: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 487 On R1: R1#show ip ospf database network OSPF Router with ID (0.0.0.1) (Process ID 1) Net Link States (Area 0) LS age: 1099 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 10.1.1.2 (address of Designated Router) Advertising Router: 0.0.0.2 LS Seq Number: 80000001 Checksum: 0x81F Length: 32 Network Mask: /24 Attached Router: 0.0.0.2 Attached Router: 0.0.0.1 LS age: 868 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 10.1.1.3 (address of Designated Router) Advertising Router: 0.0.0.3 LS Seq Number: 80000001 Checksum: 0x222 Length: 32 Network Mask: /24 Attached Router: 0.0.0.3 Attached Router: 0.0.0.1 LS age: 869 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 10.1.1.4 (address of Designated Router) Advertising Router: 0.0.0.4 LS Seq Number: 80000001 Checksum: 0xFB25 Length: 32 Network Mask: /24 Attached Router: 0.0.0.4 Attached Router: 0.0.0.1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 488 This confusion in the LSDB causes the problems observed. The reason this confusion occurs is because R2, R3, and R4 cannot see each other’s hello messages. The result is, they do not know that each other exists on the same network. Each is acting as if they are on an isolated network with R1 as the only other attached router on that network. R1, on the other hand, only recognizes R4 as a DR as shown in the show ip ospf neighbor output below: R1#show ip ospf neighbor Neighbor ID 0.0.0.2 0.0.0.3 0.0.0.4 Pri 1 1 1 State FULL/DROTHER FULL/DROTHER FULL/DR Dead Time 00:00:34 00:00:35 00:00:34 Address 10.1.1.2 10.1.1.3 10.1.1.4 Interface Tunnel1234 Tunnel1234 Tunnel1234 Because R1 believes R4 is the DR on the segment, it models its own link in its Type-1 LSA to the Type-2 network LSA generated by the DR R4, 10.1.1.4. as shown below: R1#show ip ospf database router self-originate OSPF Router with ID (0.0.0.1) (Process ID 1) Router Link States (Area 0) LS age: 1629 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.1 Advertising Router: 0.0.0.1 LS Seq Number: 80000003 Checksum: 0x57BD Length: 48 Number of Links: 2 Link connected to: a Stub Network (Link ID) Network/subnet number: 1.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.4 (Link Data) Router Interface address: 10.1.1.1 Number of MTID metrics: 0 TOS 0 Metrics: 1000 The consequence of this configuration is that even though R2 and R3 generate Type-2 network LSAs that list R1 as being connected to those network LSAs, R2 and R3 cannot install routes through R1 because R1 does not model a link to those network nodes in its Type-1 LSA. In OSPF, for a link to be valid, the Type-1 router LSA and the Type-2 LSA must model links to each other. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 489 This is why R1’s and R4’s routes do not appear in R2’s and R3’s routing tables. Similarly, R2 and R3 do not model a link to R4’s Type-2 network LSA, as R1 and R4 do. This is why R1 and R4 only have each other’s routes in their routing tables. This point is proven by the output from R2, R3, and R4 below: On R2: R2#show ip ospf database router self-originate | begin Transit Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.2 (Link Data) Router Interface address: 10.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1000 On R3: R3#show ip ospf database router self-originate | begin Transit Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.3 (Link Data) Router Interface address: 10.1.1.3 Number of MTID metrics: 0 TOS 0 Metrics: 1000 On R4: R4#show ip ospf database router self-originate | begin Transit Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.4 (Link Data) Router Interface address: 10.1.1.4 Number of MTID metrics: 0 TOS 0 Metrics: 1000 In the above, R2 and R3 model links to their own Type-2 LSA while R4 models a link to its own Type-2 LSA just like R1. When configuring OSPF broadcast network types on an NBMA network such as DMVPN with partial mesh peerings as seen in this situation, it is important to consider the DR placement. The DR should be a router to which all routers connected to the NMBA network can exchange hellos with and form a full adjacency. All routers having only partial mesh neighborships should not be allowed to become the DR. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 490 To prevent a router from becoming a DR, simply set its OSPF priority for that interface to zero. This setting disqualifies the router from ever becoming a DR or BDR. This configuration is applied using the ip ospf priority 0 command in interface configuration mode and is performed on R2, R3, and R4 below: On R2, R3, and R4: Rx(config)#interface tunnel 1234 Rx(config-if)#ip ospf priority 0 On All Routers: Rx#clear ip ospf process Reset ALL OSPF processes? [no]: Yes After configuration, all routers now agree that R1 should be the DR since it is the only router with a nonzero OSPF priority: On R1: R1#show ip ospf neighbor Neighbor ID 0.0.0.2 0.0.0.3 0.0.0.4 Pri 0 0 0 State FULL/DROTHER FULL/DROTHER FULL/DROTHER Dead Time 00:00:39 00:00:39 00:00:38 Address 10.1.1.2 10.1.1.3 10.1.1.4 Interface Tunnel1234 Tunnel1234 Tunnel1234 Dead Time 00:00:32 Address 10.1.1.1 Interface Tunnel1234 Dead Time 00:00:34 Address 10.1.1.1 Interface Tunnel1234 On R2: R2#show ip ospf neighbor Neighbor ID 0.0.0.1 Pri 1 State FULL/DR On R3: R3#show ip ospf neighbor Neighbor ID 0.0.0.1 Pri 1 State FULL/DR On R4: R4#show ip ospf neighbor CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 491 Neighbor ID 0.0.0.1 Pri 1 State FULL/DR Dead Time 00:00:31 Address 10.1.1.1 Interface Tunnel1234 The output on R1 confirms that R2, R3, and R4 are not acting as DR or BDR by the designation FULL/DROTHER. A router that is considered a DROTHER is neither a BDR nor DR on a LAN segment. The output from R2, R3, and R4 confirms that R1 is the DR on the segment. R1 floods the Type-2 LSA that all other routers point to in their Type-1 LSA: On R1: R1#show ip ospf database network | begin LS LS age: 277 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 10.1.1.1 (address of Designated Router) Advertising Router: 0.0.0.1 LS Seq Number: 80000001 Checksum: 0xBA5F Length: 40 Network Mask: /24 Attached Router: 0.0.0.1 Attached Router: 0.0.0.2 Attached Router: 0.0.0.3 Attached Router: 0.0.0.4 On R2: R2#show ip ospf database router self-originate | begin Transit Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.1 (Link Data) Router Interface address: 10.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1000 On R3: R3#show ip ospf database router self-originate | begin Transit Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.1 (Link Data) Router Interface address: 10.1.1.3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 492 Number of MTID metrics: 0 TOS 0 Metrics: 1000 On R4: R4#show ip ospf database router self-originate | begin Transit Link connected to: a Transit Network (Link ID) Designated Router address: 10.1.1.1 (Link Data) Router Interface address: 10.1.1.4 Number of MTID metrics: 0 TOS 0 Metrics: 1000 Now that the LSDB is in agreement on all routers, they have the proper routes in their routing table to reach all attached networks over the DMVPN: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O 2.0.0.0/8 [110/1001] via 10.1.1.2, 00:11:35, Tunnel1234 3.0.0.0/8 [110/1001] via 10.1.1.3, 00:11:35, Tunnel1234 4.0.0.0/8 [110/1001] via 10.1.1.4, 00:11:35, Tunnel1234 On R2: R2#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/8 [110/1001] via 10.1.1.1, 00:12:51, Tunnel1234 3.0.0.0/8 [110/1001] via 10.1.1.3, 00:12:41, Tunnel1234 4.0.0.0/8 [110/1001] via 10.1.1.4, 00:12:41, Tunnel1234 On R3: R3#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/8 [110/1001] via 10.1.1.1, 00:13:18, Tunnel1234 2.0.0.0/8 [110/1001] via 10.1.1.2, 00:13:18, Tunnel1234 4.0.0.0/8 [110/1001] via 10.1.1.4, 00:13:08, Tunnel1234 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 493 On R4: R4#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/8 [110/1001] via 10.1.1.1, 00:13:53, Tunnel1234 2.0.0.0/8 [110/1001] via 10.1.1.2, 00:13:53, Tunnel1234 3.0.0.0/8 [110/1001] via 10.1.1.3, 00:13:53, Tunnel1234 Even though all routers possess all routes to networks reachable over the DMVPN, it doesn’t necessarily mean they have the full reachability to those routes. Take R2 for example: On R2: R2#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms 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 0 percent (0/5) R2#ping 4.4.4.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R2 cannot reach R3 and R4’s loopback interfaces. The reason behind this is a result of another aspect of the broadcast network type. Broadcast network type assumes all routers can reach all routers over the multiaccess network. As such, when routers install routes to reach networks through the broadcast network, the next-hop installed is the next-hop of the router that owns the prefix. In this case, the next-hop for 1.1.1.1 is R1, for 2.2.2.2 is R2, for 3.3.3.3 is R3, and for 4.4.4.4 is R4. R2 does not have reachability to the overlay addresses of R3 and R4 because there is no underlying DMVPN mapping made proven by the above ping output on R2. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 494 Without this underlying mapping, R2 cannot reach those networks. To fix this, static NHRP mappings need to be made on R2 to achieve reachability. This mapping maps R3’s overlay address 10.1.1.3 to R1’s NBMA address 192.1.1.1 to maintain hub-and-spoke traffic flow on R2 in compliance with the task objectives. The configuration is performed using the ip nhrp map 10.1.1.3 192.168.1.1 command in interface configuration mode for the DMVPN tunnel interface on R2. R3 also needs a mapping command for R2’s overlay address using the ip nhrp map 10.1.1.2 192.168.1.1 command in interface configuration mode for the DMVPN tunnel interface. On R2: R2(config)#interface tunnel 1234 R2(config-if)#ip nhrp map 10.1.1.3 192.1.1.1 On R3: R3(config)#interface tunnel 1234 R3(config-if)#ip nhrp map 10.1.1.2 192.1.1.1 A ping between R2 and R3’s overlay addresses confirms the mapping is working properly: R2#ping 10.1.1.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms Since the configuration was a success, it is applied to the remaining spokes to create full-mesh hub-andspoke logical mappings between the spoke routers. On R2: R2(config)#interface tunnel 1234 R2(config-if)#ip nhrp map 10.1.1.4 192.1.1.1 On R3: R3(config)#interface tunnel 1234 R3(config-if)#ip nhrp map 10.1.1.4 192.1.1.1 On R4: R4(config)#interface tunnel 1234 R4(config-if)#ip nhrp map 10.1.1.2 192.1.1.1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 495 R4(config-if)#ip nhrp map 10.1.1.3 192.1.1.1 To confirm the mappings the show ip nhrp command is used to verify the addresses are mapped properly: On R2: R2#show ip nhrp 10.1.1.1/32 via 10.1.1.1 Tunnel1234 created 01:14:54, never expire Type: static, Flags: used NBMA address: 192.1.1.1 10.1.1.3/32 via 10.1.1.3 Tunnel1234 created 00:11:10, never expire Type: static, Flags: used NBMA address: 192.1.1.1 10.1.1.4/32 via 10.1.1.4 Tunnel1234 created 00:06:19, never expire Type: static, Flags: NBMA address: 192.1.1.1 On R3: R3#show ip nhrp 10.1.1.1/32 via 10.1.1.1 Tunnel1234 created 01:15:27, never expire Type: static, Flags: used NBMA address: 192.1.1.1 10.1.1.2/32 via 10.1.1.2 Tunnel1234 created 00:11:06, never expire Type: static, Flags: used NBMA address: 192.1.1.1 10.1.1.4/32 via 10.1.1.4 Tunnel1234 created 00:06:22, never expire Type: static, Flags: NBMA address: 192.1.1.1 On R4: R4#show ip nhrp 10.1.1.1/32 via 10.1.1.1 Tunnel1234 created 01:15:46, never expire Type: static, Flags: used CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 496 NBMA address: 192.1.1.1 10.1.1.2/32 via 10.1.1.2 Tunnel1234 created 00:06:18, never expire Type: static, Flags: NBMA address: 192.1.1.1 10.1.1.3/32 via 10.1.1.3 Tunnel1234 created 00:06:10, never expire Type: static, Flags: NBMA address: 192.1.1.1 Using R2 as a test subject, pings are executed to the networks behind the spokes R3 and R4. A trace route to 3.3.3.3 also confirms traffic is flowing to the R1 the hub first and then to R3: On R2: 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 = 1/2/3 ms R2#ping 4.4.4.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/2 ms R2#traceroute 3.3.3.3 numeric Type escape sequence to abort. Tracing the route to 3.3.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 10.1.1.1 2 msec 1 msec 1 msec 2 10.1.1.3 2 msec * 2 msec This section covered the subtleties of the broadcast network type through its operation over NBMA networks such as DMVPN. The following summarizes these subtleties: 1. Multicast capability needs to be provided in some form by the NBMA network configuration CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 497 2. The DR of the NBMA network needs to be a router that has full-mesh OSPF adjacencies with all routers in the topology. Any router lacking this should be configured to be ineligible to be a DR using the ip ospf priority 0 interface-level command. 3. In partial-mesh hub-and-spoke NBMA networks, the spokes must have mappings to reach remote spoke next-hop addresses. Task 3 Erase the startup configuration of the routers, the config.text and the VLAN.dat of the switches and reload them before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 498 Lab 3 OSPF Non-broadcast Networks This lab should be conducted on the Enterprise POD. Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder OSPF folder Lab-3. Task 1 Configure OSPF Area 0 on all routers and their directly connected interfaces. You should configure the tunnel interfaces as the OSPF non-broadcast network type. Configure the OSPF router IDs to be 0.0.0.x, where x is the router number. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 499 The previous lab examined OSPF broadcast network type over both ethernet LAN segments and NBMA networks such as DMVPN. This lab examines the OSPF non-broadcast network type. The non-broadcast network type in OSPF is designed for those multi-access segments that do not support broadcast or multicast transmission. In this situation, multicast hello packets cannot be transmitted between potential OSPF neighbors and, instead, unicast transmission is required. The OSPF non-broadcast network type behaves very similarly to the OSPF broadcast network type. To demonstrate the similarities and contrast the differences the task opens up with basic configuration of the OSPF environment. All routers should have OSPF enabled on their tunnel and loopback 0 interfaces. The OSPF router ID is set to be “0.0.0.x” based on the task requirements in the below configurations. Most importantly, the OSPF network type on the tunnel interfaces is set to non-broadcast: On R1: R1(config)#router ospf 1 R1(config-router)#router-id 10.0.0.1 R1(config-router)#network 10.1.1.1 0.0.0.0 area 0 R1(config-router)#network 1.1.1.1 0.0.0.0 area 0 On R2: R2(config)#router ospf 1 R2(config-router)#router-id 0.0.0.2 R2(config-router)#network 10.1.1.2 0.0.0.0 area 0 R2(config-router)#network 2.2.2.2 0.0.0.0 area 0 On R3: R3(config)#router ospf 1 R3(config-router)#router-id 0.0.0.3 R3(config-router)#network 3.3.3.3 0.0.0.0 area 0 R3(config-router)#network 10.1.1.3 0.0.0.0 area 0 On R4: R4(config)#router ospf 1 R4(config-router)#router-id 0.0.0.4 R4(config-router)#network 4.4.4.4 0.0.0.0 area 0 R4(config-router)#network 10.1.1.4 0.0.0.0 area 0 On All Routers: Rx(config)#interface tunnel 1234 Rx(config-if)#ip ospf network non-broadcast CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 500 To verify the configuration: On R1: R1#show ip ospf neighbor R1# R1#show ip ospf interface brief Interface Lo0 Tu1234 PID 1 1 Area 0 0 IP Address/Mask 1.1.1.1/8 10.1.1.1/24 Cost 1 1000 State Nbrs F/C LOOP 0/0 DR 0/0 IP Address/Mask 2.2.2.2/8 10.1.1.2/24 Cost 1 1000 State Nbrs F/C LOOP 0/0 WAIT 0/0 IP Address/Mask 3.3.3.3/8 10.1.1.3/24 Cost 1 1000 State Nbrs F/C LOOP 0/0 DR 0/0 On R2: R2#show ip ospf neighbor R2# R2#sh ip ospf int br Interface PID Area Lo0 1 0 Tu1234 1 0 On R3: R3#show ip ospf neighbor R3# R3#show ip ospf interface brief Interface PID Area Lo0 1 0 Tu1234 1 0 On R4: R4#show ip ospf neighbor R4# R4#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo0 Tu1234 1 1 0 0 4.4.4.4/8 10.1.1.4/24 1 1000 LOOP DR CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved 0/0 0/0 Page 501 Just as in Task 2 of the previous lab, no OSPF neighbor adjacencies have been formed by any of the routers at this point. The reason this time is not because of the multicast capability of the DMVPN but due to the network type configured on the tunnel interface. Because the network type is set to non-broadcast, the routers will not even attempt to multicast OSPF hello packets to discover neighbors. Instead, static neighbor commands should be configured for every router that should become OSPF neighbors with each other. Doing so, enables unicast OSPF hello exchange between the routers. The following executes this configuration: On R1: R1(config)#router ospf 1 R1(config-router)#neighbor 10.1.1.2 R1(config-router)#neighbor 10.1.1.3 R1(config-router)#neighbor 10.1.1.4 On R2, R3, and R4: Rx(config)#router ospf 1 Rx(config-router)#neighbor 10.1.1.1 After performing the configuration above, the following output should be seen on R1 as the OSPF adjacencies come up to all the spokes: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on Tunnel1234 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.3 on Tunnel1234 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.4 on Tunnel1234 from LOADING to FULL, Loading Done The show ip ospf neighbor output verifies that all of the routers have establish the required neighbor adjacencies: On R1: R1#show ip ospf neighbor Neighbor ID 0.0.0.2 0.0.0.3 Pri 1 1 State FULL/DROTHER FULL/DROTHER CCIE by Narbik Kocharians Dead Time 00:01:51 00:01:57 Address 10.1.1.2 10.1.1.3 CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Interface Tunnel1234 Tunnel1234 Page 502 0.0.0.4 1 FULL/DR 00:01:44 10.1.1.4 Tunnel1234 Dead Time 00:01:50 Address 10.1.1.1 Interface Tunnel1234 Dead Time 00:01:50 Address 10.1.1.1 Interface Tunnel1234 Dead Time 00:01:50 Address 10.1.1.1 Interface Tunnel1234 On R2: R2#show ip ospf neighbor Neighbor ID 0.0.0.1 Pri 1 State FULL/BDR On R3: R3#show ip ospf neighbor Neighbor ID 0.0.0.1 Pri 1 State FULL/BDR On R4: R4#show ip ospf neighbor Neighbor ID 0.0.0.1 Pri 1 State FULL/BDR All neighbors are up as expected. However, looking at the details of this command reveals a problem. Looking at the output it is apparent that the non-broadcast network type still elects a DR/BDR on the segment. Notice, R2, R3, and R4 all consider R1 to be the BDR on the LAN segment. If R1 is the BDR from their perspectives and it is the only router to which they have an adjacency, that means R2, R3, and R4 believe themselves to be the DR. This fact is verified using show ip ospf interfaces | include DR command on those routers: On R2: R2#show ip ospf interface | include DR Transmit Delay is 1 sec, State DR, Priority 1 On R3: R3#show ip ospf interface | include DR Transmit Delay is 1 sec, State DR, Priority 1 On R4: R4#show ip ospf interface | include DR CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 503 Transmit Delay is 1 sec, State DR, Priority 1 Since R2, R3, and R4 believe themselves to be DRs on the segment, they all flood a Type-2 network LSA just like in Task 2 of the previous Lab. For the same reason as that previous task, R2, R3, and R4 need to be disqualified from becoming DR or BDR using the ip ospf priority 0 command on their tunnel interfaces as shown below: On R2, R3, and R4: Rx(config)#interface tunnel 1234 Rx(config-if)#ip ospf priority 0 To speed up the convergence process, the clear ip ospf process command is issued on all routers: Rx#clear ip ospf process Reset ALL OSPF processes? [no]: y It may take some time for the adjacencies to come back up. In fact, it may take up to 120 seconds for OSPF adjacencies to come up between routers. This is because of the default hello and dead interval configured on the interfaces. OSPF non-broadcast network type has a default hello interval of 40 seconds and a dead interval of 120 seconds. This means, when an interface configured as OSPF non-broadcast type first comes up it waits 120 seconds for the DR/BDR election before proceeding with attempting to bring up a neighbor adjacency. Once the adjacencies come back up, the show ip route ospf | begin Gate command reveals everything is working as intended: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [110/1001] via 10.1.1.2, 00:00:43, Tunnel1234 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [110/1001] via 10.1.1.3, 00:00:43, Tunnel1234 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [110/1001] via 10.1.1.4, 00:00:24, Tunnel1234 On R2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 504 R2#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [110/1001] via 10.1.1.1, 00:01:08, Tunnel1234 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [110/1001] via 10.1.1.3, 00:01:08, Tunnel1234 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [110/1001] via 10.1.1.4, 00:00:45, Tunnel1234 On R3: R3#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [110/1001] via 10.1.1.1, 00:01:37, Tunnel1234 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [110/1001] via 10.1.1.2, 00:01:27, Tunnel1234 4.0.0.0/32 is subnetted, 1 subnets 4.4.4.4 [110/1001] via 10.1.1.4, 00:01:02, Tunnel1234 On R4: R4#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/32 is subnetted, 1 subnets 1.1.1.1 [110/1001] via 10.1.1.1, 00:01:26, Tunnel1234 2.0.0.0/32 is subnetted, 1 subnets 2.2.2.2 [110/1001] via 10.1.1.2, 00:01:26, Tunnel1234 3.0.0.0/32 is subnetted, 1 subnets 3.3.3.3 [110/1001] via 10.1.1.3, 00:01:26, Tunnel1234 The above output confirms all routes have been properly learned on all routers. It also reveals another important facet of OSPF non-broadcast network type. Just like broadcast network type, OSPF non-broadcast network type adds OSPF routes in the routing table with the router that has the link to the network in the LSDB as the next hop. For example, In this case, R1’s router LSA has the network node 1.0.0.0/8. Since R1 is directly connected to the 10.1.1.0/24 network segment (according to the network and router LSA flooded by R1) all routers on that segment will use R1 as the next-hop to reach the network 1.0.0.0/8. The same is true of R2 for the 2.0.0.0/8, R3 for the 3.0.0.0/8 and R4 for the 4.0.0.0/8 networks. This behavior of setting the next hop to the router that owns the network node also carries the same consequence as in the broadcast network type. In order to forward packets based on those routes, all routers CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 505 need to have full-mesh reachability to the next-hop IP overlay addresses. Using R4 as an example, pings are issued to R1, R2, and R3 to verify reachability to their DMVPN tunnel IP addresses: R4#ping 10.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms R4#ping 10.1.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R4#ping 10.1.1.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.1.3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) R4 is unable to reach R2 or R3. This is because a static NHRP mapping does not exist on R4 for those DMVPN tunnel IP addresses. R2 and R3 will have the same problem. They do not have reachability to each other or R4 because there are no NHRP mappings for those routers. The answer to this problem is to once again configure static NHRP mappings pointing to R1’s NBMA address to establish full-mesh connectivity between the routers while maintaining spoke-hub-spoke traffic patterns: On R4: R4(config)#interface tunnel 1234 R4(config-if)#ip nhrp map 10.1.1.2 192.1.1.1 R4(config-if)#ip nhrp map 10.1.1.3 192.1.1.1 On R3: R3(config)#interface tunnel 1234 R3(config-if)#ip nhrp map 10.1.1.2 192.1.1.1 R3(config-if)#ip nhrp map 10.1.1.4 192.1.1.1 On R2: R2(config)#interface tunnel 1234 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 506 R2(config-if)#ip nhrp map 10.1.1.3 192.1.1.1 R2(config-if)#ip nhrp map 10.1.1.4 192.1.1.1 To verify the configuration: The show ip nhrp command on the spokes below verifies the static NHRP mapping entries: On R4: R4#show ip nhrp 10.1.1.1/32 via 10.1.1.1 Tunnel1234 created 20:06:58, never expire Type: static, Flags: used NBMA address: 192.1.1.1 10.1.1.2/32 via 10.1.1.2 Tunnel1234 created 00:05:03, never expire Type: static, Flags: NBMA address: 192.1.1.1 10.1.1.3/32 via 10.1.1.3 Tunnel1234 created 00:04:51, never expire Type: static, Flags: NBMA address: 192.1.1.1 On R3: R3#show ip nhrp 10.1.1.1/32 via 10.1.1.1 Tunnel1234 created 01:09:26, never expire Type: static, Flags: used NBMA address: 192.1.1.1 10.1.1.2/32 via 10.1.1.2 Tunnel1234 created 00:01:06, never expire Type: static, Flags: NBMA address: 192.1.1.1 10.1.1.4/32 via 10.1.1.4 Tunnel1234 created 00:00:56, never expire Type: static, Flags: NBMA address: 192.1.1.1 On R2: R2#show ip nhrp CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 507 10.1.1.1/32 via 10.1.1.1 Tunnel1234 created 01:09:58, never expire Type: static, Flags: used NBMA address: 192.1.1.1 10.1.1.3/32 via 10.1.1.3 Tunnel1234 created 00:00:31, never expire Type: static, Flags: NBMA address: 192.1.1.1 10.1.1.4/32 via 10.1.1.4 Tunnel1234 created 00:00:26, never expire Type: static, Flags: NBMA address: 192.1.1.1 After adding the appropriate mapping commands, connectivity is established between the routers by issuing pings to the loopback interfaces: On R2: R2#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms 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 = 2/2/2 ms R2#ping 4.4.4.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms On R3: R3#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: !!!!! CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 508 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/3 ms R3#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms R3#ping 4.4.4.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms On R4: R4#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms R4#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms R4#ping 3.3.3.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms This section introduced the non-broadcast network type with the following characteristics: 1. All communication is unicast because broadcast communication is assumed not possible over the NBMA 2. Disables multicast hellos for dynamic neighbor discovery. Instead, static neighbor commands should be used to manually configure OSPF neighbor adjacencies CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 509 3. Next-hop IP address is set to the router that owns the LSA on the LAN segment 4. Hello interval is 30 seconds with a 120 second dead interval 5. Full-mesh unicast connectivity between routers is assumed 6. DR/BDR election is carried out. Routers that do not have full-mesh unicast connectivity to each other should be disqualified from becoming DR/BDR by setting the OSPF priority to 0. This is achieved with the ip ospf priority 0 command in interface configuration mode. Task 2 Erase the startup configuration of the routers, the config.text file, and the VLAN.dat file of each switch and reload the devices before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 510 Lab 4 OSPF point-to-point Networks This lab should be conducted on the Enterprise POD. Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder OSPF folder Lab-4. Task 1 Configure OSPF on all routers and run their directly connected interfaces in Area 0, based on the following policy: The Loopback0 interfaces of these routers should be advertised with their correct mask. Use 0.0.0.1, 0.0.0.2, and 0.0.0.3 as the router IDs of R1, R2, and R3, respectively. There should not be any DR/BDR election on any of the links. Do not configure point-to-multipoint or point-to-multipoint non-broadcast on any of the links. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 511 The previous two labs examined the OSPF broadcast and non-broadcast network types. This lab focuses on the OSPF point-to-point network type. The task requirements above directly point out one important difference between the point-to-point and broadcast/non-broadcast network types. Point three mentions that no DR/BDR election should be held on any of the links. This is a direct reference to the DR/BDR election that takes place on broadcast/non-broadcast network types. Recall the reason DR/BDR elections occur in broadcast/non-broadcast network types is to optimize LSA flooding and to designate which router is going to generate and flood the Type-2 network LSA that represents the multi-access segment. For point-to-point network type, the assumption is that only two routers are connected by a single link. In fact, an interface that has a network type of point-to-point can only have a single OSPF neighbor connected to it. With only two routers directly connected by a link, there is no need to create an entire node in the OSPF graph for that particular relationship. The two routers simply model links to each other through their Type-1 router LSA. This can be better seen through an example. The following is the configuration details to enable OSPF on all routers. The router ID is set using the router-id command in OSPF router configuration mode and OSPF is enabled on the ethernet and loopback 0 interfaces on the routers. Also, to allow the loopback interfaces to be advertised with the proper subnet mask, the network type is changed to point-to-point. Finally, the ethernet interfaces on each router are switched from the default network type of broadcast to the point-to-point network type using the command ip ospf network point-to-point: On R1: R1(config-if)#router ospf 1 R1(config-router)#router-id 0.0.0.1 R1(config-router)#network 1.1.1.1 0.0.0.0 area 0 R1(config-router)#network 12.1.1.1 0.0.0.0 area 0 R1(config)#interface lo0 R1(config-if)#ip ospf network point-to-point R1(config)#interface g0/2 R1(config-if)#ip ospf network point-to-point On R2: R2(config)#router ospf 1 R2(config-router)#router-id 0.0.0.2 R2(config-router)#network 2.2.2.2 0.0.0.0 area 0 R2(config-router)#network 12.1.1.2 0.0.0.0 area 0 R2(config-router)#network 23.1.1.2 0.0.0.0 area 0 R2(config-router)#interface lo0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 512 R2(config-if)#ip ospf network point-to-point R2(config)#interface g0/1 R2(config-if)#ip ospf network point-to-point R2(config)#interface g0/3 R2(config-if)#ip ospf network point-to-point You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on GigabitEthernet0/1 LOADING to FULL, Loading Done from On R3: R3(config)#router ospf 1 R3(config-router)#router-id 0.0.0.3 R3(config-router)#network 3.3.3.3 0.0.0.0 area 0 R3(config-router)#network 23.1.1.3 0.0.0.0 area 0 R3(config-router)#interface lo0 R3(config-if)#ip ospf network point-to-point R3(config)#interface g0/2 R3(config-if)#ip ospf network point-to-point You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on GigabitEthernet0/2 LOADING to FULL, Loading Done from The neighbor adjacencies come up after configuration because OSPF point-to-point uses multicast hello for dynamic neighbor discovery. After configuring the above, the configuration is verified using the show ip route and show ip ospf neighbor output on all routers: On R1: R1#show ip ospf neighbor Neighbor ID 0.0.0.2 Pri 0 State FULL/ - Dead Time 00:00:33 Address 12.1.1.2 Interface GigabitEthernet0/2 R1#show ip route ospf | begin Gate Gateway of last resort is not set CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 513 O 2.0.0.0/8 [110/2] via 12.1.1.2, 00:03:29, GigabitEthernet0/2 O 3.0.0.0/8 [110/3] via 12.1.1.2, 00:01:13, GigabitEthernet0/2 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/2] via 12.1.1.2, 00:03:29, GigabitEthernet0/2 O On R2: R2#show ip ospf neighbor Neighbor ID 0.0.0.3 0.0.0.1 Pri 0 0 State FULL/ FULL/ - Dead Time 00:00:35 00:00:35 Address 23.1.1.3 12.1.1.1 Interface GigabitEthernet0/3 GigabitEthernet0/1 R2#show ip route ospf | begin Gate Gateway of last resort is not set O O 1.0.0.0/8 [110/2] via 12.1.1.1, 00:05:19, GigabitEthernet0/1 3.0.0.0/8 [110/2] via 23.1.1.3, 00:03:17, GigabitEthernet0/3 On R3: R3#show ip ospf neighbor Neighbor ID 0.0.0.2 Pri 0 State FULL/ - Dead Time 00:00:37 Address 23.1.1.2 Interface GigabitEthernet0/2 R3#show ip route ospf | begin Gate Gateway of last resort is not set O O O 1.0.0.0/8 [110/3] via 23.1.1.2, 00:04:35, GigabitEthernet0/2 2.0.0.0/8 [110/2] via 23.1.1.2, 00:04:35, GigabitEthernet0/2 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/2] via 23.1.1.2, 00:04:35, GigabitEthernet0/2 The output above verifies the configuration is working as intended and also highlights some important aspects of OSPF operation over point-to-point network types. First, the show ip route ospf | begin Gate output reveals that the next-hop for OSPF routes reachable over a point-to-point interface is the remote router’s IP address on the link. In case of R1, to reach the 3.0.0.0 network on R3, its next hop is R2 and not R3. This is different from the broadcast/non-broadcast where the router that owned the LSA’s IP address was the next hop. Another difference between point-to-point and broadcast/non-broadcast network types in the outputs above is in the show ip ospf neighbor output. The “State” column for each neighbor lists the state as “FULL/ -”. This is further proof that a DR/BDR election was not held on the interface because it is a pointCCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 514 to-point interface. Otherwise, the state would’ve been “FULL/DR”, “FULL/BDR” or “FULL/DROTHER” in accordance with what that neighbor has assumed on the LAN segment. Because the links have been designated as point-to-point links, OSPF does not take the extra effort to model a separate node for each ethernet segment. Instead, OSPF relies on mutual link descriptions in the Type-1 router LSAs between the two neighbors. In the R1/R2 peering, for example, R1’s describes a link connected to router ID 0.0.0.2 while R2 describes a link connected to router ID 0.0.0.1: R1#show ip ospf database router 0.0.0.1 OSPF Router with ID (0.0.0.1) (Process ID 1) Router Link States (Area 0) LS age: 65 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.1 Advertising Router: 0.0.0.1 LS Seq Number: 80000004 Checksum: 0xCE0C Length: 60 Number of Links: 3 Link connected to: a Stub Network (Link ID) Network/subnet number: 1.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 0.0.0.2 (Link Data) Router Interface address: 12.1.1.1 Number of MTID metrics: 0 TOS 0 Metrics: 10 Link connected to: a Stub Network (Link ID) Network/subnet number: 12.1.1.0 (Link Data) Network Mask: 255.255.255.0 Number of MTID metrics: 0 TOS 0 Metrics: 10 R1# show ip ospf database router 0.0.0.2 OSPF Router with ID (0.0.0.1) (Process ID 1) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 515 Router Link States (Area 0) LS age: 49 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.2 Advertising Router: 0.0.0.2 LS Seq Number: 80000006 Checksum: 0x5A12 Length: 84 Number of Links: 5 Link connected to: a Stub Network (Link ID) Network/subnet number: 2.0.0.0 (Link Data) Network Mask: 255.0.0.0 Number of MTID metrics: 0 TOS 0 Metrics: 1 Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 0.0.0.3 (Link Data) Router Interface address: 23.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 10 Link connected to: a Stub Network (Link ID) Network/subnet number: 23.1.1.0 (Link Data) Network Mask: 255.255.255.0 Number of MTID metrics: 0 TOS 0 Metrics: 10 Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 0.0.0.1 (Link Data) Router Interface address: 12.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 10 Link connected to: a Stub Network (Link ID) Network/subnet number: 12.1.1.0 (Link Data) Network Mask: 255.255.255.0 Number of MTID metrics: 0 TOS 0 Metrics: 10 Another special note is that the above output was retrieved from R1 alone. In OSPF, LSA information is synchronized between routers in the same OSPF area. Because of this, it is not required to view CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 516 information about R1’s or R2’s Type-1 LSA from those routers directly. Any router in the area can look up the LSA in their LSDB for verification and troubleshooting purposes. The highlighted section points out the way R1 and R2 advertise their link to each other in the LSDB. Since both routers are advertising a link to each other, the OSPF database implies a bidirectional link adjacency between the two devices. This is all that is required to model the relationship between the two routers in the LSDB. Also, point-to-point network types advertise the IP address assigned to each link as a separate stub network. This way of modeling the link places the IP address as a node connected to the router itself to act as a destination for SPF calculations. The show ip ospf interface g0/2 | include Network|Hello command reveals some additional parameters for the point-to-point network type: On R1: R1#show ip ospf interface g0/2 | include Network|Hello Internet Address 12.1.1.1/24, Area 0, Attached via Network Statement Process ID 1, Router ID 0.0.0.1, Network Type POINT_TO_POINT, Cost: 1 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:05 The output above indicates the default configuration on point-to-point interfaces. The hello interval is 10 seconds with a 40 second dead interval. The following summarizes the point-to-point adjacency type: 1. Establishes adjacencies using multicast hello messages. 2. Hello/Dead timer of 10/30 by default 3. No DR/BDR election. 4. Next-hop points to the remote router on the Point-to-point link. 5. IP address assigned to the link is modeled as a separate IP address node attached to the advertising router. Task 2 Erase the startup configuration of the routers, the config.text file, and the VLAN.dat file of each switch and reload the devices before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 517 Lab 5 OSPF Point-to-Multipoint and Point-toMultipoint Non-broadcast Networks This lab should be conducted on the Enterprise POD. Lab Setup: To copy and paste the initial configurations, go to the Initial-config folder OSPF folder Lab-5. Task 1 Configure OSPF Area 0 on all links in the previous topology. The OSPF router IDs of all routers should be 0.0.0.x, where x is the router number. If this configuration is performed successfully, the routers in this topology should have full NLRI to every network in this topology. The tunnel interface of these routers should not perform DR/BDR election. This task presents a similar topology as in some of the previous labs. Here R1, R2, and R3 form a DMVPN. The goal is for all routers to be able to reach all prefixes using OSPF. The first step towards this is to configure OSPF peerings between the routers on their tunnel interfaces. The configuration, however, is more CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 518 complicated than just enabling OSPF on the interfaces using the network command. The task explicitly states that no DR/BDR election should be performed. The point-to-point network type was introduced in the last lab. In that lab, it was introduced that the pointto-point network type does not elect a DR/BDR when forming an adjacency. Since the task explicitly states this election should not appear on the routers, it makes sense to configure this network type on the tunnel interfaces. The configuration below first enables OSPF point-to-point network type on the tunnel interface on all the routers. Then it configures OSPF with the proper router-id and network statements: On All routers: Rx(config)#interface tunnel 123 Rx(config-if)#ip ospf netw point-to-point On R1: R1(config)#router ospf 1 R1(config-router)#router-id 0.0.0.1 R1(config-router)#network 10.1.1.1 0.0.0.0 area 0 On R2: R2(config)#router ospf 1 R2(config-router)#router-id 0.0.0.2 R2(config-router)#network 10.1.1.2 0.0.0.0 area 0 R2(config-router)#network 23.1.1.2 0.0.0.0 area 0 On R3: R3(config)#router ospf 1 R3(config-router)#router-id 0.0.0.3 R3(config-router)#network 10.1.1.3 0.0.0.0 area 0 R3(config-router)#network 23.1.1.3 0.0.0.0 area 0 To verify the configuration: After performing the above, the show ip ospf neighbor command is used to verify the OSPF adjacencies: On R1: R1#show ip ospf neighbor R1# CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 519 On R2: R2#show ip ospf neighbor Neighbor ID 0.0.0.3 Pri 1 State FULL/DR Dead Time Address 00:00:31 23.1.1.3 Interface GigabitEthernet0/3 On R3: R3#show ip ospf neighbor Neighbor ID 0.0.0.2 Pri 1 State FULL/BDR Dead Time 00:00:31 Address 23.1.1.3 Interface GigabitEthernet0/2 The output on each router shows R2 and R3 have established an OSPF neighbor adjacency with each other over their G0/3 and G0/2 interfaces respectively. This link is a broadcast network type and elects a DR/BDR. There is no mention of a neighbor adjacency with R1 and R1 does not have a neighbor adjacency with R2 or R3. This is because the DMVPN does not use dynamic NHRP multicast mappings as shown in the previous lab. Without these NHRP multicast mappings, the routers cannot send the OSPF hello packets to each other. To fix this, static multicast NHRP mappings are created on each router: On R1: R1(config)#interface tunnel 123 R1(config-if)#ip nhrp map multicast 192.1.2.2 R1(config-if)#ip nhrp map multicast 192.1.3.3 On R2 and R3: Rx(config)#interface tunnel 123 Rx(config-if)#ip nhrp map multicast 192.1.1.1 After making this configuration change, the following log messages can be observed on the routers: On R1: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.3 on Tunnel123 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on Tunnel123 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.3 on Tunnel123 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 520 %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on Tunnel123 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.3 on Tunnel123 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on Tunnel123 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.3 on Tunnel123 from EXCHANGE to DOWN, Neighbor Down: Adjacency forced to reset On R2 and R3: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done The outputs above may seem confusing at first. Basically, the OSPF adjacency between R1, R2, and R3 is flapping. R1 is flapping between bringing up a neighbor adjacency with R2 and R3 on its Tunnel123 interface. The reason this is a problem is because of the point-to-point network type. In point-to-point network types, only a single OSPF neighbor can be connected to a single link. When R1 receives an OSPF hello from R2, R2 becomes its neighbor on that link and it models its Type-1 router LSA accordingly. Whenever R1 receives an OSPF hello from R3 on the same link, it replaces the neighbor adjacency to R2 with a new adjacency to R3. Then shortly after, R1 receives another OSPF hello from R2 and the process repeats itself. For this hub-and-spoke DMVPN setup, R1 needs to be able to establish neighbor adjacencies with both R2 and R3 on the same Tunnel123 interface. This is where the point-to-multipoint network type becomes CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 521 useful. With point-to-multipoint network type, the R1 can model a neighbor relationship to both R2 and R3 over the same link. The following changes R1 to use point-to-multipoint network type on its Tunnel123 interface: On R1: R1(config)#interface tunnel 123 R1(config-if)#ip ospf network point-to-multipoint After making the configuration change, the log messages stop but the show ip ospf neighbor output on R1 still does not list R2 and R3 as neighbors: R1#show ip ospf neighbor R1# Multicast hellos are still being sent and received as normal evidenced by the show ip ospf traffic interface tunnel123 command on R1 below: R1#show ip ospf traffic tunnel 123 Interface Tunnel123 Last clearing of interface traffic counters never OSPF packets received/sent Type Packets RX Invalid 0 RX Hello 22823 RX DB des 27659 RX LS req 15 RX LS upd 31 RX LS ack 17 Bytes 0 1095432 995088 540 2604 768 RX Total 50545 TX Failed 0 TX Hello 22828 TX DB des 46672 TX LS req 113 TX LS upd 29 TX LS ack 25 TX Total 69667 (The rest of the output is omitted for brevity) CCIE by Narbik Kocharians 2094432 0 1826064 4729268 6352 2604 1680 6565968 CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 522 The output above shows the number of different types of OSPF packets that have been sent or received on the interface. Observe the “RX Hello” and “TX Hello” counts above. When the counters are cleared using the clear ip ospf traffic tunnel 123 command and then the counters are viewed again, it proves that the interface is still receiving and sending hello packets: R1#clear ip ospf traffic tunn 123 R1#show ip ospf traffic tunnel 123 | include clear|TX Hello|RX Hello Last clearing of interface traffic counters 00:00:56 RX Hello 12 528 TX Hello 2 152 The debug ip ospf hello output on R1 can help decipher what is going on: R1#debug ip ospf hello OSPF hello debugging is on OSPF-1 HELLO Tu123: Rcv hello from 0.0.0.2 area 0 10.1.1.2 OSPF-1 HELLO Tu123: Mismatched hello parameters from 10.1.1.2 OSPF-1 HELLO Tu123: Dead R 40 C 120, Hello R 10 C 30 OSPF-1 HELLO Tu123: Rcv hello from 0.0.0.3 area 0 10.1.1.3 OSPF-1 HELLO Tu123: Mismatched hello parameters from 10.1.1.3 OSPF-1 HELLO Tu123: Dead R 40 C 120, Hello R 10 C 30 According to the debug above, R1 is rejecting the hellos received from R2 and R3 because of a mismatched hello and dead interval timers. R2 and R3 appear to be advertising hello and dead timers of 10/120 while R1 is advertising a hello and dead timer of 30/120. This is confirmed using the show ip ospf interface tunnel 123 | include Network Type|Timer output below: On R1: R1#show ip ospf interface tunnel 123 | include Network Type|Timer Process ID 1, Router ID 0.0.0.1, Network Type POINT_TO_MULTIPOINT, Cost: 1000 Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5 On R2: R2#show ip ospf interface tunnel 123 | include Network Type|Timer Process ID 1, Router ID 0.0.0.2, Network Type POINT_TO_POINT, Cost: 1000 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 523 On R3: R3#show ip ospf interface tunnel 123 | include Network Type|Timer Process ID 1, Router ID 0.0.0.3, Network Type POINT_TO_POINT, Cost: 1000 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 The output above shows that for point-to-multipoint network type, the default hello/dead timer is 30/120 while for point-to-point network types the default hello/dead timer is 10/40. In order for two OSPF routers to become neighbors, the hello and dead timers must match. To remedy this, the hello/dead interval can be modified on R1 or R2/R3. This lab adjusts the Hello/Dead intervals on R2/R3 to 30/120 to match the point-tomultipoint network type on R1 defaults: On R2 and R3: Rx(config)#interface tunnel 123 Rx(config-if)#ip ospf hello-interval 30 ! Setting the hello-interval automatically adjusts the dead interval to four time the hello interval On R1: R1#show ip ospf neighbor Neighbor ID 0.0.0.3 0.0.0.2 Pri 0 0 State FULL/ FULL/ - Dead Time 00:01:41 00:01:36 Address 10.1.1.3 10.1.1.2 Interface Tunnel123 Tunnel123 State FULL/DR FULL/ - Dead Time 00:00:39 00:01:50 Address 23.1.1.3 10.1.1.1 Interface GigabitEthernet0/3 Tunnel123 Dead Time 00:00:38 00:01:46 Address 23.1.1.2 10.1.1.1 Interface GigabitEthernet0/2 Tunnel123 On R2: R2#show ip ospf neighbor Neighbor ID 0.0.0.3 0.0.0.1 Pri 1 0 On R3: R3#show ip ospf neighbor Neighbor ID 0.0.0.2 0.0.0.1 Pri 1 0 State FULL/BDR FULL/ - CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 524 The show ip route ospf | begin Gate command reveals all routes are learned by all routers. It also reveals another interesting feature: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/1001] via 10.1.1.3, 00:02:43, Tunnel123 [110/1001] via 10.1.1.2, 00:03:13, Tunnel123 On R2: R2#show ip route ospf | begin Gate Gateway of last resort is not set O 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks 10.1.1.1/32 [110/1000] via 10.1.1.1, 00:03:44, Tunnel123 On R3: R3#show ip route ospf | begin Gate Gateway of last resort is not set O 10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks 10.1.1.1/32 [110/1000] via 10.1.1.1, 00:03:35, Tunnel123 In the above, the next-hop address for all prefixes learned over the DMVPN have the next-hop of the neighbor from which the router that owns the route. In addition, R2 and R3 install a host route to R1’s tunnel IP address. This is installed as a side-effect of the point-to-multipoint network type configured on R1. This is better seen through the show ip ospf database router self-originate command on R1: On R1: R1#show ip ospf database router self-originate OSPF Router with ID (0.0.0.1) (Process ID 1) Router Link States (Area 0) LS age: 970 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 525 Advertising Router: 0.0.0.1 LS Seq Number: 80000022 Checksum: 0x28C7 Length: 60 Number of Links: 3 Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 0.0.0.3 (Link Data) Router Interface address: 10.1.1.1 Number of MTID metrics: 0 TOS 0 Metrics: 1000 Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 0.0.0.2 (Link Data) Router Interface address: 10.1.1.1 Number of MTID metrics: 0 TOS 0 Metrics: 1000 Link connected to: a Stub Network (Link ID) Network/subnet number: 10.1.1.1 (Link Data) Network Mask: 255.255.255.255 Number of MTID metrics: 0 TOS 0 Metrics: 0 R1 models two point-to-point links in its Type-1 Router LSA it sends to R2 and R3. This describes that it has a link to the two other routers over the same interface Tunnel 123. In addition, R1 models a link to a point-topoint stub network with the IP address/mask of 10.1.1.1 255.255.255.255. This is R1’s tunnel interface IP address. Let’s contrast this with R2’s point-to-point description: On R2: R2#show ip ospf database router self-originate | begin another Router Link connected to: another Router (point-to-point) (Link ID) Neighboring Router ID: 0.0.0.1 (Link Data) Router Interface address: 10.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1000 Link connected to: a Stub Network (Link ID) Network/subnet number: 10.1.1.0 (Link Data) Network Mask: 255.255.255.0 Number of MTID metrics: 0 TOS 0 Metrics: 1000 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 526 R2 models the same point-to-point link to R1, but instead of a /32 host route, it models a link to the entire network 10.1.1.0/24. The reason for this difference is because of the assumptions made about the network in a point-to-multipoint network. In Point-to-multipoint, there is no DR/BDR that creates a network node for the segment as with broadcast or non-broadcast network types. Instead, each router models an individual link to each router with which it has direct connectivity over the multi-access network. This connectivity is verified by multicast hello exchange over the multi-access segment. This contrasts the broadcast and non-broadcast network types where all devices connected to the multi-access segment were assumed to have direct connectivity with each other and were modeled as all being connected to the network node. Point-to-multipoint makes no assumptions about connectivity between routers on the multi-access segment. To account for those routers that do not have direct connectivity, the local router also advertises its IP address on the multiaccess segment as a /32 host route. This allows routers lacking direct connectivity with it, to solve a path through another router to reach the local router. For this reason, Point-to-multipoint network types are great for partial-mesh hub-and-spoke topologies like DMVPN. The /32 host route allows spoke-hub-spoke network traffic over the DMVPN without manually configuring a static NHRP map. This requires point-to-multipoint to be configured on all routers in the DMVPN. To comply with this, the DMVPN tunnel interface on R2 and R3 are also configure for point-to-multipoint network type: On R2 and R3: R2(config)#interface tunnel 123 R2(config-if)#ip ospf network point-to-multipoint You should see the following console messages: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from FULL to DOWN, Neighbor Down: Interface down or detached %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Tunnel123 from LOADING to FULL, Loading Done After configuring point-to-multipoint on R2 and R3, the following shows the resulting routing tables on all the routers: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 527 O O 10.1.1.2/32 [110/1000] via 10.1.1.2, 00:02:20, Tunnel123 10.1.1.3/32 [110/1000] via 10.1.1.3, 00:01:21, Tunnel123 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/1001] via 10.1.1.3, 03:08:09, Tunnel123 [110/1001] via 10.1.1.2, 03:08:39, Tunnel123 O On R2: R2#show ip route ospf | begin Gate Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks 10.1.1.1/32 [110/1000] via 10.1.1.1, 03:09:58, Tunnel123 10.1.1.3/32 [110/1] via 23.1.1.3, 00:02:41, GigabitEthernet0/3 O O On R3: R3#show ip route ospf | begin Gate Gateway of last resort is not set O 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks 10.1.1.1/32 [110/1000] via 10.1.1.1, 03:10:01, Tunnel123 10.1.1.2/32 [110/1] via 23.1.1.2, 00:04:12, GigabitEthernet0/2 The highlighted output above confirms that host routes are installed for the other routers attached to the DMVPN. The following summarizes point-to-multipoint network types: - Establishes adjacencies using multicast hello messages. Hello/Dead timer of 30/120 by default. No DR/BDR election. Instead, models actual underlying connectivity instead of assuming all routers can reach each other like in broadcast or non-broadcast network types. Next-hop points to the remote neighbor used to reach the prefix. The IP address assigned to the link is modeled as a /32 host route. Task 2 Since R2’s connection to the cloud is 10 Mbps and R3’s connection is 100 Mbps, R1 should not perform equal-cost load sharing. R1 should go through R3 to reach network 23.1.1.0/24. Do not configure PBR or the IP ospf cost command to accomplish this task. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 528 This task makes mention to a very common scenario when it comes to hub-and-spoke topologies especially over WAN connections. That is that some spoke routers may have slower connection speeds across the WAN link. In this scenario, the hub router needs to be able to choose the faster connection when trying to reach networks shared by two spoke routers. In this task, R2 and R3 both have connection to the 23.1.1.0/24 network. The only difference is R2’s connection is 10 Mbps while R3’s connection is 100Mbps. R1 should choose R3 to reach this network and NOT perform equal cost load sharing as it is currently doing. This is evidenced by the show ip route ospf | begin Gate command below: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks 10.1.1.2/32 [110/1000] via 10.1.1.2, 00:06:46, Tunnel123 10.1.1.3/32 [110/1000] via 10.1.1.3, 00:05:47, Tunnel123 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/1001] via 10.1.1.3, 03:12:35, Tunnel123 [110/1001] via 10.1.1.2, 03:13:05, Tunnel123 The task forbids configuring ip ospf cost commands or using PBR to complete the task. Another option is to take advantage of the OSPF neighbor command. The neighbor command can configure manual costs values to add to LSAs learned from a specific neighbor using the cost parameter. If R1 is configured with static neighbor commands for R2 and R3 where the cost parameter to R2 is higher than R3, it will automatically prefer R3’s route to 23.1.1.0/24. Unfortunately, this command only works on non-broadcast network types. There is another operating mode for Point-to-multipoint connections. Since Point-to-multipoint was designed to work on various multi-access network types, it also has a non-broadcast variant called point-to-multipoint non-broadcast. In this mode, OSPF does not multicast hellos or any other OSPF packets out of the point-tomultipoint non-broadcast interface. This means neighbor commands become essential to establishing proper OSPF adjacencies, allowing the use of the cost manipulation as described in the previous paragraph. To implement this configuration, the following changes are made on all routers: ● Network type on the DMVPN tunnel interface is changed to point-to-multipoint non-broadcast ● Static neighbor commands are used for the R1/R2 and R1/R3 neighbor adjacencies. ● On R1, the cost assigned to the neighbor R2 is set to 20 while the cost set to neighbor R3 is 1 On All Routers: Rx(config)#interface tunnel 123 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 529 Rx(config-if)#ip ospf network point-to-multipoint non-broadcast On R1: R1(config)#router ospf 1 R1(config-router)#neighbor 10.1.1.2 cost 20 R1(config-router)#neighbor 10.1.1.3 cost 1 After configuration the routing table on R1 confirms that R3 is being used to reach that network: R1#show ip route ospf | begin Gate Gateway of last resort is not set O O O 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks 10.1.1.2/32 [110/2] via 10.1.1.3, 00:00:49, Tunnel123 10.1.1.3/32 [110/1] via 10.1.1.3, 00:00:49, Tunnel123 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/2] via 10.1.1.3, 00:00:49, Tunnel123 The point-to-multipoint non-broadcast network type follows the same procedures as the regular point-tomultipoint network type except for the following: 1. Does not unicast hello or other protocol packets 2. Requires static neighbor commands to establish OSPF adjacencies Task 3 Erase the startup configuration of the routers, the config.text file, and the VLAN.dat file of each switch and reload the devices before proceeding to the next lab. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 530 Lab 6 OSPF Area Types CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 531 This lab should be conducted on the Enterprise POD. Lab Setup: Save the startup configuration on SW3 and reload before proceeding with this lab. To copy and paste the initial configurations, go to the Initial-config folder OSPF folder Lab-6. Lab rules: All loopback interfaces are configured with ip ospf network point-to-point. Configure the OSPF router IDs of the routers based on the following chart: R1: 0.0.0.1 R4: 0.0.0.4 R7: 0.0.0.7 SW2: 0.0.0.22 SW5: 0.0.0.55 R2: 0.0.0.2 R5: 0.0.0.5 R8: 0.0.0.8 SW3: 0.0.0.33 R3: 0.0.0.3 R6: 0.0.0.6 SW1: 0.0.0.11 SW4: 0.0.0.44 Task 1 Configure the Lo0 and G0/4 interfaces of R5 and G0/5 and the Lo0 interface of R4 in Area 1. This lab focuses on introducing the concept of OSPF areas. Up to this point, OSPF has been demonstrated in single-area designs. As the network grows, routers and networks are added to the OSPF topology database. Each additional router and network create a new entry in the LSDB and adds another router to which LSDB information needs to be synchronized. At a certain point, the size of the LSDB makes it difficult to calculate shortest-path trees efficiently and the maintenance required via periodic flooding of LSAs and creation of new LSAs causes significant burden on the OSPF routers. For this reason, OSPF allows the topology to be broken up into different areas. An OSPF area is composed of a set of router links that are logically grouped into the same subdomain. All routers with links within an area maintain an area specific LSDB. Each area LSDB contains the intra-area links within the area. These links are described in Type-1 router and Type-2 network LSAs. If a change occurs in the intra-area links, only the area where the change occurred is involved with the flooding of new link-state information. Routers that do not have interfaces within the affected area are not bothered with the change. Areas are identified using 32-bit numbers. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 532 With this area paradigm, a router can exist in one of two states in the overall OSPF domain. It either has all of its links in one area or it has multiple links in different areas. The former is called an internal router because all of the router links exist in a single area. The latter is called an area border router or ABR. This is because the router sits on the border between two or more areas. The ABR distinction in this sense is a literal distinction rather than a logical one, the difference between which will be made clear in later tasks. So, the design of the OSPF domain is such that internal routers connect to area border routers that provide connection between different OSPF areas, linking the domain together. ABRs maintain an LSDB for each area in which they have an active link adjacency. Thus, ABRs should be more capable routers that have better processing and memory to store the different LSDBs. In order to make OSPF more loop-resistant, it imposes a very specific design requirement. All areas must be connected to routers that are connected to a special area known as the backbone area or Area 0. This design forces a hub-and-spoke hierarchy in the OSPF domain. If two areas need to transit traffic to each other, the traffic is pulled from one area (a spoke area) through the backbone area (the hub) before reaching the destination area (the other spoke). It is from this backbone area that inter-area routing information is flooded between other connected areas by functional ABRs. There are many special types of areas in OSPF that can be employed depending on what type of connectivity is required. The following lab tasks set up and explore the functions and qualifications of each area type. In this case, the network command configuration style is utilized. The network commands configured below in OSPF router configuration mode enables OSPF for Area 1 on the G0/5 and G0/4 interfaces on R4 and R5 respectively. As required by the task the network command on these routers is also configured to advertise their loopback 0 interfaces into OSPF area 1. Lastly, the OSPF router ID is manually set as indicated with the router-id command: On R4: R4(config)#router ospf 1 R4(config-router)#router-id 0.0.0.4 R4(config-router)#network 40.4.0.4 0.0.0.0 area 1 R4(config-router)#network 45.1.1.4 0.0.0.0 area 1 On R5: R5(config)#router ospf 1 R5(config-router)#router-id 0.0.0.5 R5(config-router)#network 50.5.0.5 0.0.0.0 area 1 R5(config-router)#network 45.1.1.5 0.0.0.0 area 1 You should see the following console message: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 533 %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.4 on GigabitEthernet0/4 from LOADING to FULL, Loading Done To verify the configuration: The show ip route ospf command on both routers verify the OSPF routes they learn from each other: On R4: R4#show ip route ospf | begin Gate Gateway of last resort is not set O 50.0.0.0/32 is subnetted, 1 subnets 50.5.0.5 [110/2] via 45.1.1.5, 00:00:43, GigabitEthernet0/5 On R5: R5#show ip route ospf | begin Gate Gateway of last resort is not set O 40.0.0.0/24 is subnetted, 1 subnets 40.4.0.0 [110/2] via 45.1.1.4, 00:01:14, GigabitEthernet0/4 Task 2 Configure the G0/0 and Lo0 interfaces of R8 and the VLAN58 interface of SW5 in Area 2. The following configures OSPF adjacency for Area 2 between R8 and SW5. First, the router-ID on both devices is manually set with the router-id command. The network command under the OSPF router configuration mode enables OSPF on the G0/0 and VLAN 58 interface on R8 and SW5 respectively. The network command is also used to advertise the loopback 0 interface on R8 into OSPF area 2: On R8: R8(config)#router ospf 1 R8(config-router)#router-id 0.0.0.8 R8(config-router)#network 58.1.1.8 0.0.0.0 area 2 R8(config-router)#network 8.8.8.8 0.0.0.0 area 2 On SW5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 534 SW5(config)#router ospf 1 SW5(config-router)#router-id 0.0.0.55 SW5(config-router)#network 58.1.1.55 0.0.0.0 area 2 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.8 on Vlan58 from LOADING to FULL, Loading Done To verify the configuration: The show ip route ospf command from SW5 below verifies the OSPF routes it learns from R8: On SW5: SW5#show ip route ospf | begin Gate Gateway of last resort is not set O 8.0.0.0/24 is subnetted, 1 subnets 8.8.8.8 [110/2] via 58.1.1.8, 00:00:56, Vlan58 Task 3 Configure the following interfaces for OSPF Area 3: E6/0 interface on SW4 E6/0, E5/0, and Loopback0 interfaces on SW3 E5/0 interface on SW5 Ensure that SW4 is configured to redistribute its Loopback0 through Loopback9 interfaces into this routing domain. SW4 is first configured for OSPF. The router-id is manually set to 0.0.0.44 as indicated in the task. The network command is then issued to enable OSPF on the E6/0 interface for Area 3. NOTE: The switches being used in this lab have ip routing turned on by default. However, on certain Layer 3 switching platforms, this feature is disabled by default. In such a case, ip routing would need to be enabled with the ip routing command to allow the Layer 3 switch to perform IP routing functions. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 535 On SW4: SW4(config)#router ospf 1 SW4(config-router)#router-id 0.0.0.44 SW4(config-router)#network 34.1.1.44 0.0.0.0 area 3 The next part of the task involves redistribution of the directly connected loopback interface networks into OSPF on R8. These loopback interfaces are not matched by a network command in the OSPF router configuration. As such, their networks need to be imported into OSPF. Networks imported in this way are referred to as external routes in OSPF and are imported using the redistribute command in router OSPF configuration mode. This process of distributing networks that are not explicitly enabled for a particular routing protocol is called route redistribution. When performing route redistribution OSPF uses a Type-5 External LSA to advertise the external networks as nodes connected to the router performing the redistribution. The redistributing router becomes what is known as an Autonomous System Boundary Router (ASBR). More about ASBRs is explained in later tasks. For this task, to redistribute the loopback 0 through 9 interfaces into OSPF on SW4, a route-map TST is first created on SW4. The match interface command under the route-map configuration mode is then issued to identify the loopback interfaces: SW4(config)#route-map TST SW4(config-route-map)#match interface lo0 lo1 lo2 lo3 lo4 lo5 lo6 lo7 lo8 lo9 Following the above, the redistribute connected route-map TST subnets command under the OSPF router configuration mode can be now issued on SW4. This ensures that only the interfaces specified in the route-map TST are redistributed into the OSPF domain. SW4(config)#router ospf 1 SW4(config-router)#redistribute connected route-map TST subnets NOTE: In some IOS versions, the subnets keyword must be added to the end of redistribute statements in OSPF. Without this command, the router will only redistribute connected networks that are not subnetted into OSPF. In other words, only connected networks that fall on classful boundaries. Applied to the subnets in this lab, with those IOS versions, this behavior would result in no loopbacks being redistributed into OSPF. This lab uses IOS 15.6(2)T that automatically adds the subnets keyword to the redistribute statement. The lab configurations include the subnets keyword for consistency and ease of understanding. The show ip ospf database command output on SW4 can be used to verify the redistribution. Notice the Type-5 LSAs created by SW4 for the loopbacks 0 through 9: SW4#show ip ospf database OSPF Router with ID (0.0.0.44) (Process ID 1) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 536 Router Link States (Area 3) Link ID ADV Router Age Seq# Checksum Link count 0.0.0.44 0.0.0.44 9 0x80000002 0x00DECA 1 Type-5 AS External Link States Link ID 104.104.0.0 104.104.1.0 104.104.2.0 104.104.3.0 104.104.4.0 104.104.5.0 104.104.6.0 104.104.7.0 104.104.8.0 104.104.9.0 ADV Router 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 Age 8 8 8 8 8 8 8 8 8 8 Seq# Checksum Tag 0x80000001 0x00ACF6 0 0x80000001 0x00A101 0 0x80000001 0x00960B 0 0x80000001 0x008B15 0 0x80000001 0x00801F 0 0x80000001 0x007529 0 0x80000001 0x006A33 0 0x80000001 0x005F3D 0 0x80000001 0x005447 0 0x80000001 0x004951 0 Next part of the task involves enabling OSPF on SW3. As stated in the task, the E6/0, E5/0 and the loopback 0 interfaces on SW3 are enabled for OSPF Area 3 with the network command. The OSPF router ID is also manually set to 0.0.0.33 with the router-id command: On SW3: SW3(config)#router ospf 1 SW3(config-router)#router-id 0.0.0.33 SW3(config-router)#network 33.33.33.33 0.0.0.0 area 3 SW3(config-router)#network 34.1.1.33 0.0.0.0 area 3 SW3(config-router)#network 35.1.1.33 0.0.0.0 area 3 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.44 on Ethernet6/0 from LOADING to FULL, Loading Done Finally, OSPF is enabled on SW5. The network command enables OSPF for Area 3 on SW5’s E5/0 interface: On SW5: SW5(config)#router ospf 1 SW5(config-router)#network 35.1.1.55 0.0.0.0 area 3 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 537 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.33 on Ethernet5/0 from LOADING to FULL, Loading Done A show ip route ospf command is issued on SW5. The output verifies the OSPF routes it learns from SW3 including the external routes redistributed by SW4 into OSPF: To verify the configuration: SW5#show ip route ospf | begin Gate Gateway of last resort is not set O O O O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 8.0.0.0/24 is subnetted, 1 subnets 8.8.8.0 [110/2] via 58.1.1.8, 00:12:47, Vlan58 33.0.0.0/24 is subnetted, 1 subnets 33.33.33.0 [110/11] via 35.1.1.33, 00:01:15, Ethernet5/0 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.0.0.0/24 is subnetted, 10 subnets 104.104.0.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.1.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.2.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.3.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.4.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.5.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.6.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.7.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.8.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 104.104.9.0 [110/20] via 35.1.1.33, 00:01:15, Ethernet5/0 Task 4 Configure the following interfaces in Area 4: 1. R7’s G0/9 interface 2. SW2’s Lo0, E1/3, and E0/3 interfaces 3. R3’s G0/9 interface Ensure that R7 is configured to redistribute the networks on its Loopback0 through CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 538 Loopback9 interfaces into this routing domain. Similar to Task 3, to perform the redistribution on R7, a route-map called TST is first created. The match interface command under the route-map identifies the loopbacks that should be redistributed into OSPF. These are the loopback 0 - 9 interfaces: On R7: R7(config)#route-map TST R7(config-route-map)#match interface Lo0 lo1 lo2 lo3 lo4 lo5 lo6 lo7 lo8 lo9 Next, R7 is configured for OSPF. The router ID is manually set to 0.0.0.7 with the router-id command. The network statement under the OSPF router configuration mode enables OSPF for Area 4 on it’s G0/9 interface. The redistribute connected route-map TST subnets command ensures the redistribution of the prefixes identified in the route-map into the OSPF domain: R7(config)#router ospf 1 R7(config-router)#router-id 0.0.0.7 R7(config-router)#network 27.1.1.7 0.0.0.0 area 4 R7(config-router)#redistribute connected route-map TST subnets The show ip ospf database output on R7 verifies the new external routes have been added to the LSDB R7#show ip ospf database OSPF Router with ID (0.0.0.7) (Process ID 1) Router Link States (Area 4) Link ID 0.0.0.7 ADV Router 0.0.0.7 Age 6 Seq# Checksum Link count 0x80000002 0x005DA6 1 Type-5 AS External Link States Link ID 111.111.0.0 111.111.1.0 111.111.2.0 111.111.3.0 111.111.4.0 111.111.5.0 111.111.6.0 111.111.7.0 ADV Router 0.0.0.7 0.0.0.7 0.0.0.7 0.0.0.7 0.0.0.7 0.0.0.7 0.0.0.7 0.0.0.7 CCIE by Narbik Kocharians Age 5 5 5 5 5 5 5 5 Seq# Checksum Tag 0x80000001 0x00DBDE 0 0x80000001 0x00D0E8 0 0x80000001 0x00C5F2 0 0x80000001 0x00BAFC 0 0x80000001 0x00AF07 0 0x80000001 0x00A411 0 0x80000001 0x00991B 0 0x80000001 0x008E25 0 CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 539 111.111.8.0 111.111.9.0 0.0.0.7 0.0.0.7 5 5 0x80000001 0x00832F 0 0x80000001 0x007839 0 Next, OSPF is configured on SW2. As stated in the lab rules, the OSPF router ID is manually set to 0.0.0.22. The network command enables and runs OSPF on the interfaces specified: On SW2: SW2(config)#router ospf 1 SW2(config-router)#router-id 0.0.0.22 SW2(config-router)#network 22.22.22.22 0.0.0.0 area 4 SW2(config-router)#network 27.1.1.22 0.0.0.0 area 4 SW2(config-router)#network 23.1.1.22 0.0.0.0 area 4 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.7 on Ethernet1/3 from LOADING to FULL, Loading Done Lastly, OSPF for Area 4 is enabled on R3’s G0/9 interface with the network command. The router ID is manually set to 0.0.0.3: On R3: R3(config)#router ospf 1 R3(config-router)#router-id 0.0.0.3 R3(config-router)#network 23.1.1.3 0.0.0.0 area 4 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.22 on GigabitEthernet0/9 from LOADING to FULL, Loading Done After completing the above, the show ip route ospf output on R3 verifies the OSPF routes it learns from SW2 including the routes redistributed at R7 into OSPF. These appear as OSPF external routes as highlighted on R3 below: R3#show ip route ospf | begin Gate Gateway of last resort is not set O O 22.0.0.0/24 is subnetted, 1 subnets 22.22.22.0 [110/2] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 27.0.0.0/24 is subnetted, 1 subnets 27.1.1.0 [110/11] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 540 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 111.0.0.0/24 is subnetted, 10 subnets 111.111.0.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.1.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.2.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.3.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.4.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.5.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.6.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.7.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.8.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 111.111.9.0 [110/20] via 23.1.1.22, 00:01:21, GigabitEthernet0/9 Task 5 Configure the following interfaces in Area 5: R6’s G0/0 interface SW1’s Lo0, E1/2, and E0/2 interfaces R2’s Loopback0 through Loopback2 and G0/0 interfaces Ensure that R6 is configured to redistribute its Loopback0 through Loopback9 interfaces into this routing domain. Once again, first a route-map named TST is created on R6 where the match interface command identifies the loopbacks that are to be redistributed into OSPF: On R6: R6(config)#route-map TST R6(config-route-map)#match interface lo0 lo1 lo2 lo3 lo4 lo5 lo6 lo7 lo8 lo9 Next, OSPF is enabled on R6’s G0/0 interface for Area 5 with the network command. The router ID is also manually set to 0.0.0.6 with the router-id command. Finally, the redistribute connected route-map TST subnets command is configured to redistribute the loopback interfaces identified in the route-map into OSPF: R6(config)#router ospf 1 R6(config-router)#router-id 0.0.0.6 R6(config-router)#network 16.1.1.6 0.0.0.0 area 5 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 541 R6(config-router)#redistribute connected route-map TST subnets The show ip ospf database output verifies the external routes have been added to the LSDB on R6: R6#show ip ospf database OSPF Router with ID (0.0.0.6) (Process ID 1) Router Link States (Area 5) Link ID 0.0.0.6 ADV Router 0.0.0.6 Age 25 Seq# Checksum Link count 0x80000002 0x0020F0 1 Type-5 AS External Link States Link ID 60.1.0.0 60.1.1.0 60.1.2.0 60.1.3.0 60.1.4.0 60.1.5.0 60.1.6.0 60.1.7.0 60.1.8.0 60.1.9.0 ADV Router 0.0.0.6 0.0.0.6 0.0.0.6 0.0.0.6 0.0.0.6 0.0.0.6 0.0.0.6 0.0.0.6 0.0.0.6 0.0.0.6 Age 22 22 22 22 22 22 22 22 22 22 Seq# Checksum Tag 0x80000001 0x00A8B4 0 0x80000001 0x009DBE 0 0x80000001 0x0092C8 0 0x80000001 0x0087D2 0 0x80000001 0x007CDC 0 0x80000001 0x0071E6 0 0x80000001 0x0066F0 0 0x80000001 0x005BFA 0 0x80000001 0x005005 0 0x80000001 0x00450F 0 The next part of this configuration enables OSPF on SW1. As stated in the task, OSPF for Area 5 is enabled on E1/2, E0/2 and loopback 0 interfaces. The OSPF router ID on SW1 is manually set to 0.0.0.11: On SW1: SW1(config)#router ospf 1 SW1(config-router)#router-id 0.0.0.11 SW1(config-router)#network 11.11.11.11 0.0.0.0 area 5 SW1(config-router)#network 112.1.1.11 0.0.0.0 area 5 SW1(config-router)#network 16.1.1.11 0.0.0.0 area 5 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.6 on Ethernet1/2 from LOADING to FULL, Loading Done CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 542 Finally, R2 is configured for OSPF. The network command enables OSPF on the interfaces specified in the task. The router ID is also manually set to 0.0.0.2 as stated: On R2: R2(config)#router ospf 1 R2(config-router)#router-id 0.0.0.2 R2(config-router)#network 20.2.0.2 0.0.0.0 area 5 R2(config-router)#network 20.2.1.2 0.0.0.0 area 5 R2(config-router)#network 20.2.2.2 0.0.0.0 area 5 R2(config-router)#network 112.1.1.2 0.0.0.0 area 5 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.11 on GigabitEthernet0/0 from LOADING to FULL, Loading Done The show ip route ospf command output on R2 verifies the learned OSPF internal and external routes: R2#show ip route ospf | begin Gate Gateway of last resort is not set O O O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/2] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 16.0.0.0/24 is subnetted, 1 subnets 16.1.1.0 [110/11] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.0.0.0/24 is subnetted, 10 subnets 60.1.0.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.1.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.2.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.3.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.4.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.5.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.6.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.7.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.8.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 60.1.9.0 [110/20] via 112.1.1.11, 00:01:08, GigabitEthernet0/0 Task 6 Configure the following interfaces in Area 0: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 543 R1’s Loopback0 through Loopback9, G0/0, G0/3, and G0/2 interfaces R1 must be configured to redistribute its Lo10–Lo19 in this routing domain. R4’s G0/0 interface SW5’s VLAN145 and Loopback0 interfaces R3’s G0/1 and Loopback 0 interfaces R2’s G0/1 interface Restrictions: R4 should not use a network command to run its G0/0 interface in Area 0. This router should not advertise any secondary IP address/es configured under its G0/0 interface. Do not configure any kind of filtering to accomplish this task. Similar to earlier tasks, a route-map called TST is first created on R1. Loopback interfaces 10 - 19 are matched in this route-map with the match interface command: On R1 R1(config)#route-map TST R1(config-route-map)#match interface lo10 lo11 lo12 lo13 lo14 lo15 lo16 lo17 lo18 lo19 OSPF is then configured on R1. The network command is used to enable OSPF for Area 0 on it’s G0/0, G0/3 and G0/2 interfaces. The network command is also used to advertise loopback 0 through 9 into OSPF. The OSPF router ID is manually set to 0.0.0.1 with the router-id command. Finally, the loopback interfaces matched in the route-map TST are redistributed into OSPF with the redistribute connected route-map TST subnets command: R1(config)#router ospf 1 R1(config-router)#router-id 0.0.0.1 R1(config-router)#network 145.1.1.1 0.0.0.0 area 0 R1(config-router)#network 13.1.1.1 0.0.0.0 area 0 R1(config-router)#network 12.1.1.1 0.0.0.0 area 0 R1(config-router)#network 10.1.0.1 0.0.0.0 area 0 R1(config-router)#network 10.1.1.1 0.0.0.0 area 0 R1(config-router)#network 10.1.2.1 0.0.0.0 area 0 R1(config-router)#network 10.1.3.1 0.0.0.0 area 0 R1(config-router)#network 10.1.4.1 0.0.0.0 area 0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 544 R1(config-router)#network 10.1.5.1 0.0.0.0 area 0 R1(config-router)#network 10.1.6.1 0.0.0.0 area 0 R1(config-router)#network 10.1.7.1 0.0.0.0 area 0 R1(config-router)#network 10.1.8.1 0.0.0.0 area 0 R1(config-router)#network 10.1.9.1 0.0.0.0 area 0 R1(config-router)#redistribute connected route-map TST subnets The show ip ospf database output verifies the redistribution on R1: R1#show ip ospf database OSPF Router with ID (0.0.0.1) (Process ID 1) Router Link States (Area 0) Link ID 0.0.0.1 ADV Router 0.0.0.1 Age 54 Seq# Checksum Link count 0x8000000D 0x007D8B 13 Type-5 AS External Link States Link ID 101.1.0.0 101.1.1.0 101.1.2.0 101.1.3.0 101.1.4.0 101.1.5.0 101.1.6.0 101.1.7.0 101.1.9.0 ADV Router 0.0.0.1 0.0.0.1 0.0.0.1 0.0.0.1 0.0.0.1 0.0.0.1 0.0.0.1 0.0.0.1 0.0.0.1 Age 54 54 54 54 54 54 54 54 54 Seq# Checksum Tag 0x80000001 0x00AF89 0 0x80000001 0x00A493 0 0x80000001 0x00999D 0 0x80000001 0x008EA7 0 0x80000001 0x0083B1 0 0x80000001 0x0078BB 0 0x80000001 0x006DC5 0 0x80000001 0x0062CF 0 0x80000001 0x004CE3 0 Next, the task requires enabling OSPF and assigning the G0/0 interface on R4 to Area 0. The task restricts the use of the network command to achieve this. This means, OSPF’s interface-level configuration method should be used to enable OSPF for Area 0 on the G0/0 interface. Additionally, the task also further states that R4 should be prevented from advertising any secondary addresses configured on this interface into OSPF. A show run on the G0/0 interface on R4 reveals a secondary IP address 200.4.4.4/24, configured: On R4: R4#show run interface g0/0 | begin interface interface GigabitEthernet0/0 ip address 200.4.4.4 255.255.255.0 secondary ip address 145.1.1.4 255.255.255.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 545 duplex auto speed auto media-type rj45 end When OSPF is configured with the interface-level configuration style, the secondary addresses are automatically advertised into OSPF. This default behaviour can be modified by changing the existing interface-level command to exclude the secondary addressee. This is achieved by using the secondaries none keyword option with the ip ospf command under the interface as seen below on R4: On R4: R4(config)#interface g0/0 R4(config-if)#ip ospf 1 area 0 secondaries none You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on GigabitEthernet0/0 from LOADING to FULL, Loading Done R1’s routing table can be observed to verify the OSPF routes it learns from R4. Notice, as a result of the above configuration, the secondary address 200.4.4.4 does not appear in the routing table: On R1: R1#show ip route ospf | begin Gate Gateway of last resort is not set O IA O IA O IA 40.0.0.0/32 is subnetted, 1 subnets 40.4.0.4 [110/2] via 145.1.1.4, 00:00:58, GigabitEthernet0/0 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [110/2] via 145.1.1.4, 00:00:58, GigabitEthernet0/0 50.0.0.0/32 is subnetted, 1 subnets 50.5.0.5 [110/3] via 145.1.1.4, 00:00:58, GigabitEthernet0/0 OSPF is next configured on SW5’s VLAN 145 and Loopback 0 interface: On SW5: SW5(config)#router ospf 1 SW5(config-router)#network 145.1.1.55 0.0.0.0 area 0 SW5(config-router)#network 5.5.5.5 0.0.0.0 a 0 You should see the following console messages: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 546 %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Vlan145 from LOADING to FULL, Loading Done %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.4 on Vlan145 from LOADING to FULL, Loading Done Finally, OSPF for Area 0 is configured on the G0/1 interface on R2 and R3 with the network command. A network command is also issued to advertise R3’s loopback 0 interface into OSPF Area 0: On R2: R2(config)#router ospf 1 R2(config-router)#network 12.1.1.2 0.0.0.0 area 0 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on GigabitEthernet0/1 to FULL, Loading Done from LOADING On R3: R3(config)#router ospf 1 R3(config-router)#network 13.1.1.3 0.0.0.0 area 0 R3(config-router)#network 3.3.3.3 0.0.0.0 area 0 You should see the following console message: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on GigabitEthernet0/1 to FULL, Loading Done from LOADING The show ip ospf neighbor command on R2, R3, and R4 verify the OSPF adjacencies: To verify the configuration: On R2: R2#show ip ospf neighbor Neighbor ID 0.0.0.1 0.0.0.11 Pri 1 1 State FULL/DR FULL/DR Dead Time 00:00:33 00:00:35 Address 12.1.1.1 112.1.1.11 Interface GigabitEthernet0/1 GigabitEthernet0/0 On R3: R3#show ip ospf neighbor CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 547 Neighbor ID 0.0.0.1 0.0.0.22 Pri 1 1 State FULL/DR FULL/BDR Dead Time 00:00:36 00:00:32 Address 13.1.1.1 23.1.1.22 Interface GigabitEthernet0/1 GigabitEthernet0/9 State Dead Time FULL/DR 00:00:32 FULL/DROTHER 00:00:30 FULL/DR 00:00:35 Address 145.1.1.1 145.1.1.55 45.1.1.5 Interface GigabitEthernet0/0 GigabitEthernet0/0 GigabitEthernet0/5 On R4: R4#show ip ospf neighbor Neighbor ID 0.0.0.1 0.0.0.55 0.0.0.5 Pri 1 1 1 Task 7 Ensure that the routers in Area 1 do not have any OSPF external routes in their routing table; these routers should not have LSA Types 4 or 5 in their LSDB. As mentioned in the beginning of this lab, OSPF allows splitting of its domain into what are known as OSPF areas. Each area comprises a set of router links that are grouped together. The LSDB on routers within the same area is identical, however, the LSDB on routers in different areas will be different. In other words, when crossing over areas, certain information specific within an area will be hidden to routers in other areas. This is to isolate topology changes to only specific areas that experience those interruptions. For example, a link down in Area 1 does not necessarily affect the links in Area 2. The task asserts that external prefixes should not be flooded into OSPF Area 1 in the topology. To understand how to implement this requirement, a basic understanding of LSA flooding scope is required. LSAs that describe links internal to a specific area have what is known as area-wide flooding scope. These LSAs are never advertised between two adjacent areas and include the Type-1 Router LSA and the Type-2 Network LSA. While it is true that OSPF areas allow isolated control of LSA flooding, there are still some LSAs that are flooded to all areas and not just in the area in which they originate. These LSAs are said to have a domainwide flooding scope. Such LSAs are the Type-5 External LSAs that carry external routing information into the OSPF domain. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 548 Recall from earlier tasks that external prefixes are prefixes that originate from outside the OSPF domain as a whole. Such prefixes don’t belong to an individual area. They belong to the entire OSPF domain and as such they have a domain-wide flooding scope. Depending on the network topology, these external LSAs can make up a significant portion of the LSDB, forcing the LSDB to consume a lot of memory on routers in all areas. This is because for every external prefix redistributed into the OSPF domain, a single Type-5 LSA is generated. If there are 100 external prefixes, there will be 100 Type-5 LSAs flooded into OSPF. Some areas only have a single exit point to reach the backbone of the OSPF domain. Such areas really do not require granular external routing information as only a single router can be used to exit the topology. Thus, to save memory on external prefixes, these areas can be configured to prevent Type-5 LSAs from both being sent into the area or being originated inside the area. These areas are called stub areas. Routers wishing to participate in a stub area signal this by unsetting what is known as the external bit or E bit in their OSPF hello messages sent within that area. When the E-bit is set in the hello packet, it signifies the willingness of the router to accept external routing information. When it is unset, the router does not wish to receive external routing information. In order for an area to function as a stub area, all router link hellos in the area must agree that external information should not be flooded. In other words, all hellos received on router links in the area must have the E-bit unset. In fact, two routers will not become neighbors on their directly attached link if they do not agree on the E-bit setting. Stub areas carry with them a specific set of rules governing where they can be placed and what they can contain: 1. The backbone area cannot be configured as a stub area 2. Virtual links cannot be configured through stub areas 3. Stub areas do not allow external routing information to be flooded into them or originate from them. In OSPF, the ABR becomes the gatekeeper for what LSAs are and are not flooded into the area. For stub areas, this means it is the ABR’s job to keep external LSAs flooded through the backbone from entering the stub area. As stated, the ABR does so based on the setting of its own E-Bit in its hello messages as seen below: On the ABR: Internet Protocol Version 4, Src: 34.1.1.4, Dst: 224.0.0.5 Open Shortest Path First OSPF Header Version: 2 Message Type: Hello Packet (1) Packet Length: 48 Source OSPF Router: 34.1.1.4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 549 Area ID: 0.0.0.3 Checksum: 0xb18e [correct] Auth Type: Null (0) Auth Data (none): 0000000000000000 OSPF Hello Packet Network Mask: 255.255.255.0 Hello Interval [sec]: 10 Options: 0x12, (L) LLS Data block, (E) External Routing 0... .... = DN: Not set .0.. .... = O: Not set ..0. .... = (DC) Demand Circuits: Not supported ...1 .... = (L) LLS Data block: Present .... 0... = (N) NSSA: Not supported .... .0.. = (MC) Multicast: Not capable .... ..1. = (E) External Routing: Capable .... ...0 = (MT) Multi-Topology Routing: No Router Priority: 1 Router Dead Interval [sec]: 40 Designated Router: 0.0.0.0 Backup Designated Router: 0.0.0.0 Active Neighbor: 23.1.1.3 OSPF LLS Data Block In the above, the ABR’s E-Bit is set to 1 which means it will flood external routing LSAs into the area on this link. This behavior however can be modified by declaring an area as a stub area. In this case, the E-bit is turned off, or set to 0 as in the following hello packet: On the ABR: Internet Protocol Version 4, Src: 34.1.1.4, Dst: 224.0.0.5 Open Shortest Path First OSPF Header Version: 2 Message Type: Hello Packet (1) Packet Length: 48 Source OSPF Router: 34.1.1.4 Area ID: 0.0.0.3 Checksum: 0xb38e [correct] Auth Type: Null (0) Auth Data (none): 0000000000000000 OSPF Hello Packet Network Mask: 255.255.255.0 Hello Interval [sec]: 10 Options: 0x10, (L) LLS Data block 0... .... = DN: Not set .0.. .... = O: Not set CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 550 ..0. .... = (DC) Demand Circuits: Not supported ...1 .... = (L) LLS Data block: Present .... 0... = (N) NSSA: Not supported .... .0.. = (MC) Multicast: Not capable .... ..0. = (E) External Routing: Not capable .... ...0 = (MT) Multi-Topology Routing: No Router Priority: 1 Router Dead Interval [sec]: 40 Designated Router: 0.0.0.0 Backup Designated Router: 0.0.0.0 Active Neighbor: 23.1.1.3 OSPF LLS Data Block In the above, with the E-Bit unset (having a value of 0), external Type-5 LSAs are not flooded into the area. RFC 2328, the OSPFv2 RFC, confirms this configuration: ExternalRoutingCapability Entire OSPF areas can be configured as "stubs" (see Section 3.6). AS-external-LSAs will not be flooded into stub areas. This capability is represented by the E-bit in the OSPF Options field It has been established that stub areas will not carry external routing information. This begs the question: How will those routers reach those external routes? Reachability to the external prefixes within the stub area is achieved using a Type-3 Summary default route. The ABR connected to the stub area will flood the Type-3 summary default route throughout the stub area, allowing routers to follow that route to reach any external destinations. It seems configuring Area 1 as a stub area solves the task’s requirement that no external routes should appear in the routing table of the routers internal to Area 1. Stub configuration blocks the generation and flooding of Type-5 external LSAs. But what about the Type-4 LSAs the task mentions should also not be allowed to be flooded into Area 1? Stub areas take care of this requirement as well. To understand how, the purpose of Type-4 LSAs needs to be explained. The Type-4 LSA is called the ASBR Summary LSA. It works like this: Whenever an OSPF router redistributes external prefixes into the OSPF domain, it becomes an Autonomous System Boundary Router or ASBR. This is because it sits between two autonomous routing domains (OSPF and another routing source). These ASBRs originate a Type-5 external LSA for every external prefix it redistributes into OSPF. These Type-5 external LSAs list the originating ASBR itself as the next-hop to reach the prefix. As the Type-5 external LSAs propagate through the Area the ASBR is a member of, no problems exist. All routers within that area know how to reach the ASBR because they have full routing information in the form CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 551 of Type-1 router and Type-2 network LSAs. Type-5 external LSAs however, have a domain-wide flooding scope. This means the ABR for the area in which the redistributing router (the ASBR) resides will flood the Type-5 external LSA, unmodified with the original next-hop, into the backbone area. Now, routers in the backbone receive routing information pointing to a next-hop for which they have no reachability information. This is where the Type-4 ASBR summary LSA comes into play. The ABR that floods the Type-5 external LSA into another area other than the area in which it originated will also flood a Type-4 ASBR summary LSA that provides summary routing information for reaching the ASBR that originated the Type-5 external LSA. This Type-4 ASBR summary LSA is regenerated by other ABRs as they too flood the same Type-5 external LSAs into their attached areas. If an ABR is not flooding Type-5 external LSAs into its attached area, there is no need for it to flood a Type-4 ASBR summary LSA into that area. Also, if no Type-5 external LSAs are being generated by a router in its attached stub area, it will not generate any Type-4 ASBR summary LSAs. In other words, the fact that Type-5 external LSAs are not permitted inside the stub area prevents the existence of an ASBR AND any Type-4 ASBR summary LSA flooding or generation by an ABR. The task requires that Area 1 be configured as a stub area. Prior to any stub related configuration, let’s observe the routing table on R5 that belongs to area 1. As seen below, R5 learns of various OSPF routes from R4. Among these are the OSPF intra-area, inter-area and external routes: On R5: R5#show ip route ospf | begin Gate Gateway of last resort is not set O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA 5.0.0.0/24 is subnetted, 1 subnets 5.5.5.0 [110/3] via 45.1.1.4, 00:14:59, GigabitEthernet0/4 8.0.0.0/24 is subnetted, 1 subnets 8.8.8.0 [110/4] via 45.1.1.4, 00:15:09, GigabitEthernet0/4 10.0.0.0/24 is subnetted, 10 subnets 10.1.0.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.1.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.2.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.3.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.4.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.5.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.6.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.7.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.8.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 10.1.9.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/5] via 45.1.1.4, 00:11:59, GigabitEthernet0/4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 552 O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O O IA O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [110/3] via 45.1.1.4, 00:18:36, GigabitEthernet0/4 16.0.0.0/24 is subnetted, 1 subnets 16.1.1.0 [110/14] via 45.1.1.4, 00:11:59, GigabitEthernet0/4 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/4] via 45.1.1.4, 00:11:59, GigabitEthernet0/4 20.2.1.0 [110/4] via 45.1.1.4, 00:11:59, GigabitEthernet0/4 20.2.2.0 [110/4] via 45.1.1.4, 00:11:59, GigabitEthernet0/4 22.0.0.0/24 is subnetted, 1 subnets 22.22.22.0 [110/5] via 45.1.1.4, 00:11:30, GigabitEthernet0/4 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/4] via 45.1.1.4, 00:11:30, GigabitEthernet0/4 27.0.0.0/24 is subnetted, 1 subnets 27.1.1.0 [110/14] via 45.1.1.4, 00:11:30, GigabitEthernet0/4 33.0.0.0/24 is subnetted, 1 subnets 33.33.33.0 [110/13] via 45.1.1.4, 00:15:09, GigabitEthernet0/4 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [110/22] via 45.1.1.4, 00:15:09, GigabitEthernet0/4 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [110/12] via 45.1.1.4, 00:15:09, GigabitEthernet0/4 40.0.0.0/24 is subnetted, 1 subnets 40.4.0.0 [110/2] via 45.1.1.4, 01:25:43, GigabitEthernet0/4 58.0.0.0/24 is subnetted, 1 subnets 58.1.1.0 [110/3] via 45.1.1.4, 00:15:09, GigabitEthernet0/4 60.0.0.0/24 is subnetted, 10 subnets 60.1.0.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.1.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.2.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.3.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.4.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.5.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.6.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.7.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.8.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 60.1.9.0 [110/20] via 45.1.1.4, 00:11:54, GigabitEthernet0/4 101.0.0.0/24 is subnetted, 9 subnets 101.1.0.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 101.1.1.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 101.1.2.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 101.1.3.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 101.1.4.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 101.1.5.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 101.1.6.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 553 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O IA O IA 101.1.7.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 101.1.9.0 [110/20] via 45.1.1.4, 00:18:31, GigabitEthernet0/4 104.0.0.0/24 is subnetted, 10 subnets 104.104.0.0 [110/20] via 45.1.1.4, 00:15:03, GigabitEthernet0/4 104.104.1.0 [110/20] via 45.1.1.4, 00:15:03, GigabitEthernet0/4 104.104.2.0 [110/20] via 45.1.1.4, 00:15:03, GigabitEthernet0/4 104.104.3.0 [110/20] via 45.1.1.4, 00:15:03, GigabitEthernet0/4 104.104.4.0 [110/20] via 45.1.1.4, 00:15:04, GigabitEthernet0/4 104.104.5.0 [110/20] via 45.1.1.4, 00:15:04, GigabitEthernet0/4 104.104.6.0 [110/20] via 45.1.1.4, 00:15:04, GigabitEthernet0/4 104.104.7.0 [110/20] via 45.1.1.4, 00:15:04, GigabitEthernet0/4 104.104.8.0 [110/20] via 45.1.1.4, 00:15:04, GigabitEthernet0/4 104.104.9.0 [110/20] via 45.1.1.4, 00:15:04, GigabitEthernet0/4 111.0.0.0/24 is subnetted, 10 subnets 111.111.0.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.1.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.2.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.3.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.4.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.5.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.6.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.7.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.8.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 111.111.9.0 [110/20] via 45.1.1.4, 00:11:25, GigabitEthernet0/4 112.0.0.0/24 is subnetted, 1 subnets 112.1.1.0 [110/4] via 45.1.1.4, 00:11:59, GigabitEthernet0/4 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [110/2] via 45.1.1.4, 00:18:46, GigabitEthernet0/4 The show ip route summary command is a hidden command issued to check the memory allocated to routes. As seen, the total number of bytes allocated to remaining routes is 20772 bytes. R5#show ip route summary IP routing table name is default (0x0) IP routing table maximum-paths is 32 Route Source Networks Subnets Replicates Overhead connected 0 4 0 272 static 0 0 0 0 application 0 0 0 0 ospf 1 0 68 0 4624 Intra-area: 1 Inter-area: 28 External-1: 0 External-2: 39 NSSA External-1: 0 NSSA External-2: 0 internal 24 Total 24 72 0 4896 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Memory (bytes) 720 0 0 12512 7540 20772 Page 554 An area can be declared as a stub area with the area area-number stub command. This command should be issued on all the routers within that area, including the ABR. To configure Area 1 as a stub area, R4 and R5 are both configured with the area 1 stub command under the OSPF router configuration mode: On R4: R4(config)#router ospf 1 R4(config-router)#area 1 stub %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.5 on GigabitEthernet0/5 from FULL to DOWN, neighbor Down: Adjacency forced to reset On R5: R5(config)#router ospf 1 R5(config-router)#area 1 stub %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.4 on GigabitEthernet0/4 from LOADING to FULL, Loading Done The show ip ospf command output on R4 and R5 verify that area 1 is now a stub area: R5#show ip ospf | include It is R4#show ip ospf [ -- omitted -- ] Area 1 Number of interfaces in this area is 2 It is a stub area On R4: R4#show ip ospf | include It is [ -- omitted -- ] Area 1 Number of interfaces in this area is 2 It is a stub area After completing the above, the routing table on R5 looks different from the earlier output. Notice, the E2 routes no longer exist in the routing table. As mentioned, the ABR originates a default summary route into the stub area. The external routes are now replaced by a Type-3 summary LSA: On R5: R5#show ip route ospf | begin Gate Gateway of last resort is 45.1.1.4 to network 0.0.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 555 O*IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O O IA 0.0.0.0/0 [110/2] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 5.0.0.0/24 is subnetted, 1 subnets 5.5.5.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 8.0.0.0/24 is subnetted, 1 subnets 8.8.8.0 [110/4] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.0.0.0/24 is subnetted, 10 subnets 10.1.0.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.1.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.2.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.3.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.4.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.5.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.6.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.7.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.8.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 10.1.9.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/5] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 16.0.0.0/24 is subnetted, 1 subnets 16.1.1.0 [110/14] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/4] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 20.2.1.0 [110/4] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 20.2.2.0 [110/4] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 22.0.0.0/24 is subnetted, 1 subnets 22.22.22.0 [110/5] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/4] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 27.0.0.0/24 is subnetted, 1 subnets 27.1.1.0 [110/14] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 33.0.0.0/24 is subnetted, 1 subnets 33.33.33.0 [110/13] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [110/22] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [110/12] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 40.0.0.0/24 is subnetted, 1 subnets 40.4.0.0 [110/2] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 58.0.0.0/24 is subnetted, 1 subnets 58.1.1.0 [110/3] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 112.0.0.0/24 is subnetted, 1 subnets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 556 O IA O IA 112.1.1.0 [110/4] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [110/2] via 45.1.1.4, 00:04:32, GigabitEthernet0/4 R5#show ip ospf database summary 0.0.0.0 adv-router 0.0.0.4 OSPF Router with ID (0.0.0.5) (Process ID 1) Summary Net Link States (Area 1) LS age: 611 Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network) Link State ID: 0.0.0.0 (summary Network Number) Advertising Router: 0.0.0.4 LS Seq Number: 80000001 Checksum: 0x99A0 Length: 28 Network Mask: /0 MTID: 0 Metric: 1 The show ip route summary from R5 also shows a decrease of 9,272 in the memory allocated to routes: R5#show ip route summary IP routing table name is default (0x0) IP routing table maximum-paths is 32 Route Source Networks Subnets Replicates Overhead connected 0 4 0 272 static 0 0 0 0 application 0 0 0 0 ospf 1 1 29 0 2040 Intra-area: 1 Inter-area: 29 External-1: 0 External-2: 0 NSSA External-1: 0 NSSA External-2: 0 internal 20 Total 21 33 0 2312 Memory (bytes) 720 0 0 5520 5260 11500 To recap Stub areas: 1. Stub areas do not allow Type-5 external or any other external type LSAs to be flooded into them 2. Since there are no Type-5 external LSAs, no Type-4 ASBR summary LSAs are generated 3. All router links within the area must agree the area should be a stub area. This is signified by the E-Bit setting in their OSPF hello packets 4. The ABR is tasked with preventing the Type-5 LSAs from flooding into the stub area CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 557 5. The ABR floods a Type-3 default summary route into the area to provide external reachability to the routers internal to the area 6. Virtual links cannot be formed through Stub areas. Task 8 Configure Area 2 such that existing and future external and inter-area routes are never seen in the routing tables of these routers. These routers should not have LSA Types 3, 4, or 5 in their LSDB, but these routers should have full reachability to the inter-area and external networks redistributed in this routing domain. Restriction: Do not use an ACL or a prefix list to accomplish this task. The previous task targeted external prefixes flooded with Type-5 LSAs. This task targets a different set of prefixes known as Inter Area prefixes. These prefixes are described in Type-3 Summary LSAs that are flooded into an area. The routing table on R8 demonstrates a number of these such routes: On R8: R8#show ip route ospf | begin Gate Gateway of last resort is not set O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA 5.0.0.0/24 is subnetted, 1 subnets 5.5.5.0 [110/2] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.0.0.0/24 is subnetted, 10 subnets 10.1.0.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.1.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.2.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.3.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.4.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.5.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.6.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.7.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.8.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 10.1.9.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/5] via 58.1.1.55, 00:36:44, GigabitEthernet0/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 13.0.0.0/24 is subnetted, 1 subnets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 558 O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 13.1.1.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 16.0.0.0/24 is subnetted, 1 subnets 16.1.1.0 [110/14] via 58.1.1.55, 00:36:44, GigabitEthernet0/0 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/4] via 58.1.1.55, 00:36:44, GigabitEthernet0/0 20.2.1.0 [110/4] via 58.1.1.55, 00:36:44, GigabitEthernet0/0 20.2.2.0 [110/4] via 58.1.1.55, 00:36:44, GigabitEthernet0/0 22.0.0.0/24 is subnetted, 1 subnets 22.22.22.0 [110/5] via 58.1.1.55, 00:36:15, GigabitEthernet0/0 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/4] via 58.1.1.55, 00:36:15, GigabitEthernet0/0 27.0.0.0/24 is subnetted, 1 subnets 27.1.1.0 [110/14] via 58.1.1.55, 00:36:15, GigabitEthernet0/0 33.0.0.0/24 is subnetted, 1 subnets 33.33.33.0 [110/12] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [110/21] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [110/11] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 40.0.0.0/24 is subnetted, 1 subnets 40.4.0.0 [110/3] via 58.1.1.55, 00:39:49, GigabitEthernet0/0 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [110/3] via 58.1.1.55, 00:14:35, GigabitEthernet0/0 50.0.0.0/24 is subnetted, 1 subnets 50.5.0.0 [110/4] via 58.1.1.55, 00:14:35, GigabitEthernet0/0 60.0.0.0/24 is subnetted, 10 subnets 60.1.0.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.1.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.2.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.3.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.4.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.5.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.6.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.7.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.8.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 60.1.9.0 [110/20] via 58.1.1.55, 00:36:39, GigabitEthernet0/0 101.0.0.0/24 is subnetted, 9 subnets 101.1.0.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 101.1.1.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 101.1.2.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 101.1.3.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 101.1.4.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 101.1.5.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 101.1.6.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 101.1.7.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 559 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O IA O IA 101.1.9.0 [110/20] via 58.1.1.55, 00:39:44, GigabitEthernet0/0 104.0.0.0/24 is subnetted, 10 subnets 104.104.0.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.1.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.2.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.3.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.4.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.5.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.6.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.7.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.8.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 104.104.9.0 [110/20] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 111.0.0.0/24 is subnetted, 10 subnets 111.111.0.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.1.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.2.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.3.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.4.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.5.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.6.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.7.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.8.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 111.111.9.0 [110/20] via 58.1.1.55, 00:36:10, GigabitEthernet0/0 112.0.0.0/24 is subnetted, 1 subnets 112.1.1.0 [110/4] via 58.1.1.55, 00:36:44, GigabitEthernet0/0 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [110/2] via 58.1.1.55, 00:39:59, GigabitEthernet0/0 In the above output, interarea prefixes are identified by the “O IA” designation. All of these prefixes were derived from Type-3 Summary LSAs that were flooded into the Area. They represent prefixes that belong to another OSPF area. The routes produced from the Type-3 Summary LSAs are used by internal routers to reach networks in other areas. These LSAs are flooded by the ABR sitting between the backbone and nonbackbone areas. When flooded in this manner, the routers consider the interarea prefixes as if they were networks connected to the ABR that flooded them. An ABR will automatically generate a Type-3 Summary LSA for every intra-area and inter-area prefix that exists in its routing table. It floods these Type-3 Summary LSAs into its attached Areas. For example, SW5, the ABR in area 2, will generate a Type-3 LSA for all intra-area prefixes in its routing table from Area 2 and flood them into the backbone area. It will also take all inter-area and intra-area prefixes installed in its routing table from the backbone and flood them into Area 2. This can be evidenced by the show ip ospf 1 0 database summary and show ip ospf 1 2 database summary commands on SW5: On SW5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 560 SW5#show ip ospf 1 0 database (The begining of the output is omitted for brevity) Summary Net Link States (Area 0) Link ID 8.8.8.0 11.11.11.0 16.1.1.0 20.2.0.0 20.2.1.0 20.2.2.0 22.22.22.0 23.1.1.0 27.1.1.0 33.33.33.0 34.1.1.0 35.1.1.0 40.4.0.0 45.1.1.0 50.5.0.0 58.1.1.0 112.1.1.0 ADV Router 0.0.0.55 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.4 0.0.0.4 0.0.0.4 0.0.0.55 0.0.0.2 Age 799 611 611 611 611 611 560 560 560 799 799 799 1172 1280 1280 799 611 Seq# Checksum 0x80000002 0x002FBB 0x80000002 0x000215 0x80000002 0x00021B 0x80000002 0x0068BA 0x80000002 0x005DC4 0x80000002 0x0052CE 0x80000002 0x006E86 0x80000002 0x003CE2 0x80000002 0x006CA4 0x80000002 0x000294 0x80000002 0x00329A 0x80000002 0x00C015 0x80000002 0x003FCB 0x80000001 0x0019EF 0x80000001 0x00BC43 0x80000002 0x003A8D 0x80000002 0x00B80E (The rest of the output is omitted for brevity) The output above shows the Type-3 Summary LSAs flooded into the backbone area. The yellow highlighted LSAs are the Type-3 Summary LSAs SW5 flooded into the backbone to represent the intra-area prefixes from Area 2. The green highlighted prefixes are Type-3 Summary LSAs that SW5 flooded into the backbone representing the intra-area routes from its attached Area 3. The output below shows all the Type-3 summary LSAs SW5 floods from the backbone area into Area 2: SW5#show ip ospf 1 2 database (The begining of the output is omitted for brevity) Summary Net Link States (Area 2) Link ID 5.5.5.0 10.1.0.0 10.1.1.0 ADV Router 0.0.0.55 0.0.0.55 0.0.0.55 CCIE by Narbik Kocharians Age 996 996 996 Seq# Checksum 0x80000002 0x009163 0x80000002 0x00C136 0x80000002 0x00B640 CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 561 10.1.2.0 10.1.3.0 10.1.4.0 10.1.5.0 10.1.6.0 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 996 996 996 996 996 0x80000002 0x00AB4A 0x80000002 0x00A054 0x80000002 0x00955E 0x80000002 0x008A68 0x80000002 0x007F72 10.1.7.0 10.1.8.0 10.1.9.0 11.11.11.0 12.1.1.0 13.1.1.0 16.1.1.0 20.2.0.0 20.2.1.0 20.2.2.0 22.22.22.0 23.1.1.0 27.1.1.0 33.33.33.0 34.1.1.0 35.1.1.0 40.4.0.0 45.1.1.0 50.5.0.0 112.1.1.0 145.1.1.0 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 996 996 996 996 996 996 996 996 996 996 738 738 738 996 996 996 996 1476 1476 996 996 0x80000002 0x00747C 0x80000002 0x006986 0x80000002 0x005E90 0x80000002 0x00D609 0x80000002 0x009C58 0x80000002 0x008F64 0x80000002 0x00D60F 0x80000002 0x003DAE 0x80000002 0x0032B8 0x80000002 0x0027C2 0x80000002 0x004975 0x80000002 0x0017D1 0x80000002 0x004793 0x80000002 0x000294 0x80000002 0x00329A 0x80000002 0x00C015 0x80000002 0x0016C0 0x80000001 0x00EFE4 0x80000001 0x009338 0x80000002 0x008D02 0x80000002 0x00CAA5 (The rest of the output is omitted for brevity) The wording is very important. ABRs will not flood inter-area routes from non-backbone areas into other non-backbone areas. In this case, SW5 is connected to both Area 2 and Area 3. It will not flood intra-area routes from Area 2 into Area 3. It only floods inter-area routes from the backbone into Area 2 and Area 3. This distinction is important as performing the former can lead to routing loops and violates OSPF’s enforced hub-and-spoke hierarchy. Now that there is a little background on the Type-3 LSA and how it is formed, the focus can shift to the task’s requirements. In the earlier task, Area 1 was configured to be a stub area. The result was that Type-5 LSAs were not flooded into this area. Routers in stub area 1 had reachability to external routes via a default route generated from the Type-3 summary LSA that was originated by the ABR R4. This task requires a similar functionality to be implemented for Area 2 with an additional enhancement. In addition to no external routing information, routers in Area 2 should also not have any specific inter-area routes. As can be seen in the routing table from R8 above, R8 has installed various specific interarea Type-3 Summary O IA and Type-5 external E2 routes from SW5. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 562 Configuring Area 2 as a stub area prevents the Type-5 external prefixes from entering the area. R8 would install a default route from the ABR SW5. This way, R8 can follow the default route to the ABR for all external routes. This behavior is expected. Examining the output a bit closely reveals that the exit point for the inter-area routes in R8’s routing table is also SW5 the ABR. This means, there is really only one exit point for all external and inter-area prefixes in Area 2. That is SW5. Forcing R8 to store the extra Type-3 LSAs to ultimately lead to the same exit point is a waste of resources on R8. This is the reason the task specifies these Type-3 prefixes should not exist within the area. The ABR could flood only a default route into the Area and provide the same level of reachability for less expense on Area 2 routers. Enabling such behavior would change the Stub area into what is known as a Totally Stubby Area. Similar to the stub areas described in task 7, Type-5 and Type-4 LSAs are not injected into a totally stub area. At the same time, specific Type-3 LSAs are also prevented from entering this area. Remember, a Type-5 LSA is created for every external network redistributed into the OSPF domain. The same stands true for Type-3 LSAs. Each network that belongs to another area of the same OSPF domain has a Type-3 LSA generated for it. Overall, every individual Type-5 and Type-3 LSA increases the size of the LSDB. Blocking these LSAs at ABRs prevents the expense on internal Area routers. Totally stubby areas prevent the ABR from generating Type-3 LSAs from the interarea (O IA) and intra-area (O) routes from other areas in its routing table. When configured, the ABR will only inject a default summary LSA into the stub area to represent both external and inter-area routes. Internal routers follow this summary LSA for all prefixes that do not originate inside the local area. To define an area as a totally stub, routers within the area will still be configured with the command area area-number stub. The change in configuration from a stub area to a totally stubby area occurs on the ABR. The area area-number stub no-summary command under the OSPF router configuration mode instructs the ABR not to inject Type-3 LSAs into the area and instead flood only a single default summary Type-3 LSA into the totally stub area. This is the configuration required to complete the task. To show the difference before and after making Area 2 into a totally stubby area, the output of the show ip route summary command from R8 that shows the total route memory allocation as 20772 bytes: On R8: R8#show ip route summary IP routing table name is default (0x0) IP routing table maximum-paths is 32 Route Source Networks Subnets (bytes) connected 0 4 static 0 0 application 0 0 ospf 1 0 68 CCIE by Narbik Kocharians Replicates Overhead Memory 0 0 0 0 272 0 0 4624 720 0 0 12512 CCIE Enterprise Infrastructure Foundation v1.0 Page 563 © 2021 Narbik Kocharians. All rights reserved Intra-area: 0 Inter-area: 29 External-1: 0 External-2: 39 NSSA External-1: 0 NSSA External-2: 0 internal 24 Total 24 72 0 4896 7540 20772 Following configurations are then made on SW3 and R8 to define Area 2 as totally stub: On SW5 (ABR): SW5(config)#router ospf 111 SW5(config-router)#area 2 stub no-summary On R8: R8(config)#router ospf 1 R8(config-router)#area 2 stub Note, there is no explicit flag setting in the hello packets to indicate a totally stub area. The hello’s sent will still have the external routing capability bit turned off as seen below. It is the no-summary keyword appended to the area 2 stub command on the ABR that causes the ABR to suppress specific Type-3 summary LSAs to R8 and instead, replace it with default Type-3 summary LSA: Ethernet II, Src: 50:00:00:08:00:00 (50:00:00:08:00:00), Dst: IPv4mcast_05 (01:00:5e:00:00:05) Internet Protocol Version 4, Src: 58.1.1.8, Dst: 224.0.0.5 Open Shortest Path First OSPF Header OSPF Hello Packet Network Mask: 255.255.255.0 Hello Interval [sec]: 10 Options: 0x10, (L) LLS Data block 0... .... = DN: Not set .0.. .... = O: Not set ..0. .... = (DC) Demand Circuits: Not supported ...1 .... = (L) LLS Data block: Present .... 0... = (N) NSSA: Not supported .... .0.. = (MC) Multicast: Not capable .... ..0. = (E) External Routing: Not capable .... ...0 = (MT) Multi-Topology Routing: No Router Priority: 1 Router Dead Interval [sec]: 40 Designated Router: 58.1.1.55 Backup Designated Router: 58.1.1.8 Active Neighbor: 0.0.0.55 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 564 OSPF LLS Data Block The result of the above configuration can now be seen in R8’s routing table. In contrast to the same command output shown earlier, notice the routing table on R8 now has just an inter-area summary default route from SW3: On R8: R8#show ip route ospf | begin Gate Gateway of last resort is 10.1.89.9 to netw 0.0.0.0 O*IA 0.0.0.0/0 [110/2] via 58.1.1.55, 00:00:10, GigabitEthernet0/0 Following shows the Type-3 summary LSA generated by the ABR SW5: R8#show ip ospf database summary OSPF Router with ID (0.0.0.8) (Process ID 1) Summary Net Link States (Area 2) LS age: 189 Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network) Link State ID: 0.0.0.0 (summary Network Number) Advertising Router: 0.0.0.55 LS Seq Number: 80000001 Checksum: 0x66A0 Length: 28 Network Mask: /0 MTID: 0 Metric: 1 Also, note the result of the command show ip ospf 1 2 database self-originate from the ABR SW5 below. Notice it is only generating a single Type-3 summary LSA for Area 2: On SW5: SW5#show ip ospf 1 2 database self-originate OSPF Router with ID (0.0.0.55) (Process ID 1) Router Link States (Area 2) Link ID count 0.0.0.55 ADV Router Age Seq# 0.0.0.55 249 0x80000008 0x00FADC 1 CCIE by Narbik Kocharians Checksum Link CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 565 Net Link States (Area 2) Link ID 58.1.1.55 ADV Router 0.0.0.55 Age 249 Seq# Checksum 0x80000001 0x00D67B Summary Net Link States (Area 2) Link ID 0.0.0.0 ADV Router 0.0.0.55 Age 280 Seq# Checksum 0x80000001 0x0066A0 Finally, the show ip route summary command output from R8 now shows a new much lower amount of memory allocated to routes: On R8: R8#show ip route summary IP routing table name is default (0x0) IP routing table maximum-paths is 32 Route Source Networks Subnets Replicates Overhead (bytes) connected 0 4 0 272 static 0 0 0 0 application 0 0 0 0 ospf 1 1 0 0 68 Intra-area: 0 Inter-area: 1 External-1: 0 External-2: 0 NSSA External-1: 0 NSSA External-2: 0 internal 2 Total 3 4 0 340 Memory 720 0 0 184 880 1784 This memory use optimization comes at no expense to routing functionality as there is still only a single exit in Area 2 to reach all non-Area 2 prefixes. In review, totally stubby areas have the following characteristics: 1. They do not allow flooding of Type-5 or specific Type-3 LSAs into the area 2. Because there are no Type-5 LSAs no Type-4 LSAs are flooded as well 3. They are converted from stub areas by configuring the area x stub no-summary command on the stub area ABR 4. The ABR simply does not inject Type-3 LSAs for its intra-area and inter-area prefixes in its routing table from other areas. Instead, it floods only a default Type-3 summary LSA into the area 5. The backbone cannot be a totally stubby area 6. Virtual links cannot flow over a totally stubby area CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 566 Task 9 Configure the routers in Area 3 based on the following policy: The routers must maintain existing and future inter-area routes in their routing tables. The routers should not have LSA Types 4 or 5 in their OSPF link state database. The routers should not have reachability to the routes redistributed in the other areas of this routing domain. The routers should have reachability to the routes redistributed in their own area. One of the topological differences between normal areas and the stub and totally stub areas was that Type5 LSAs representing external routes were forbidden from entering a stub area. While this serves as an advantage, in certain cases, this could present itself as a limitation. A router within a stub area is not allowed to redistribute prefixes into the area. In some topologies, this functionality may be necessary as routers are added to areas that connect to other routing domains. In such a situation, the only option would be to change the area back into a normal area and incur the cost of receiving all external prefixes from other areas, again. In this case, an alternative that allows external prefixes to be originated in the area but prevents external prefixes from being flooded into the area is needed. In such cases, an area can be defined as a not-so-stubby-area otherwise known as an NSSA. An NSSA is another stub area version. Type-5 external LSAs are still prohibited from entering an NSSA, however, redistribution of external prefixes can be performed within the NSSA. The router performing the redistribution of external information is called the NSSA ASBR. Since Type-5 external LSAs are not allowed in an NSSA, the NSSA ASBR redistributes external routes into the NSSA as Type-7 NSSA external LSAs. The NSSA ABR, the ABR connected to the NSSA and the backbone area, translates these Type-7 NSSA external LSAs into Type-5 external LSAs. The resultant Type-5 external LSAs are flooded to the rest of the OSPF domain. The NSSA functionality is an extension to the original stub area. Earlier it was mentioned that devices within a stub area clear the E-bit in their hello packets. The E-bit is the external routing capability bit. For NSSA, another bit is introduced to signify NSSA capability. This is the N-bit which is also present in the option field of the hello packet. All routers that have interfaces in an NSSA should have this bit set to 1. Together, the Ebit prevents the flooding of Type-5 external LSAs into the NSSA, and the N-bit enables flooding external information as Type-7 NSSA external LSAs. The following is an example packet capture of a hello packet between routers with interfaces in an NSSA: Internet Protocol Version 4, Src: 34.1.1.44, Dst: 224.0.0.5 Open Shortest Path First CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 567 OSPF Header OSPF Hello Packet Network Mask: 255.255.255.0 Hello Interval [sec]: 10 Options: 0x18, (L) LLS Data block, (N) NSSA 0... .... = DN: Not set .0.. .... = O: Not set ..0. .... = (DC) Demand Circuits: Not supported ...1 .... = (L) LLS Data block: Present .... 1... = (N) NSSA: Supported .... .0.. = (MC) Multicast: Not capable .... ..0. = (E) External Routing: Not capable .... ...0 = (MT) Multi-Topology Routing: No Router Priority: 1 Router Dead Interval [sec]: 40 Designated Router: 34.1.1.33 Backup Designated Router: 34.1.1.44 Active Neighbor: 0.0.0.33 OSPF LLS Data Block By defining Area 3 as an NSSA, all of requirements of the task will be met: 1. Type-3 summary LSAs for inter-area routes are allowed 2. NSSAs are stub areas, meaning all Type-4 ASBR summary and Type-5 external LSAs will not be flooded into an NSSA 3. NSSA ABRs do not inject a summary default route into an NSSA. Without Type-5 external LSAs and Type-3 default summary LSAs, routers within an NSSA will not have reachability to external routes inject into the OSPF domain in an external area 4. NSSA allows redistribution on an NSSA ASBR. These routes will be injected into the NSSA as Type-7 NSSA external LSAs. NSSA ABRs will translate them into Type-5 external LSAs and flood them to the OSPF domain to provide reachability to all other routers in the OSPF domain An area is defined as an NSSA with the area area-number nssa command. This command should be issued on all the ABRs connected to the NSSA and all routers internal to the NSSA. To solve this task, the command will be issued on the ABR SW5, SW3 and SW4. However, prior to declaring Area 3 as an NSSA, following is the current view of SW4’s routing table. Notice the presence of the E2 routes: On SW4: SW4#show ip route ospf | begin Gate Gateway of last resort is not set CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 568 O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O O O IA O IA O IA O IA 5.0.0.0/24 is subnetted, 1 subnets 5.5.5.0 [110/21] via 34.1.1.33, 01:07:15, Ethernet6/0 8.0.0.0/24 is subnetted, 1 subnets 8.8.8.0 [110/22] via 34.1.1.33, 00:10:48, Ethernet6/0 10.0.0.0/24 is subnetted, 10 subnets 10.1.0.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.1.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.2.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.3.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.4.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.5.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.6.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.7.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.8.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 10.1.9.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/24] via 34.1.1.33, 01:04:10, Ethernet6/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 16.0.0.0/24 is subnetted, 1 subnets 16.1.1.0 [110/33] via 34.1.1.33, 01:04:10, Ethernet6/0 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/23] via 34.1.1.33, 01:04:10, Ethernet6/0 20.2.1.0 [110/23] via 34.1.1.33, 01:04:10, Ethernet6/0 20.2.2.0 [110/23] via 34.1.1.33, 01:04:10, Ethernet6/0 22.0.0.0/24 is subnetted, 1 subnets 22.22.22.0 [110/24] via 34.1.1.33, 01:03:41, Ethernet6/0 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/23] via 34.1.1.33, 01:03:41, Ethernet6/0 27.0.0.0/24 is subnetted, 1 subnets 27.1.1.0 [110/33] via 34.1.1.33, 01:03:41, Ethernet6/0 33.0.0.0/24 is subnetted, 1 subnets 33.33.33.0 [110/11] via 34.1.1.33, 02:03:36, Ethernet6/0 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [110/20] via 34.1.1.33, 02:03:26, Ethernet6/0 40.0.0.0/24 is subnetted, 1 subnets 40.4.0.0 [110/22] via 34.1.1.33, 01:07:15, Ethernet6/0 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [110/22] via 34.1.1.33, 00:42:01, Ethernet6/0 50.0.0.0/24 is subnetted, 1 subnets 50.5.0.0 [110/23] via 34.1.1.33, 00:42:01, Ethernet6/0 58.0.0.0/24 is subnetted, 1 subnets 58.1.1.0 [110/21] via 34.1.1.33, 01:07:24, Ethernet6/0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 569 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O IA O IA 60.0.0.0/24 is subnetted, 10 subnets 60.1.0.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.1.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.2.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.3.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.4.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.5.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.6.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.7.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.8.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 60.1.9.0 [110/20] via 34.1.1.33, 01:04:05, Ethernet6/0 101.0.0.0/24 is subnetted, 9 subnets 101.1.0.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.1.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.2.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.3.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.4.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.5.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.6.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.7.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 101.1.9.0 [110/20] via 34.1.1.33, 01:07:10, Ethernet6/0 111.0.0.0/24 is subnetted, 10 subnets 111.111.0.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.1.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.2.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.3.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.4.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.5.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.6.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.7.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.8.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 111.111.9.0 [110/20] via 34.1.1.33, 01:03:36, Ethernet6/0 112.0.0.0/24 is subnetted, 1 subnets 112.1.1.0 [110/23] via 34.1.1.33, 01:04:10, Ethernet6/0 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [110/21] via 34.1.1.33, 01:07:24, Ethernet6/0 Area 3 is defined as an NSSA on SW5, SW3 and SW4 below: On SW5: SW5(config)#router ospf 1 SW5(config-router)#area 3 nssa On SW3: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 570 SW3(config)#router ospf 1 SW3(config-router)#area 3 nssa On SW4: SW4(config)#router ospf 1 SW4(config-router)#area 3 nssa The show ip ospf command output verifies the above configuration: On SW5: SW5#show ip ospf | include It is It is an area border and autonomous system boundary router It is a stub area, no summary LSA in this area It is a NSSA area On SW3: SW3#show ip ospf | include It is It is a NSSA area On SW4: SW4#show ip ospf | include It is It is an autonomous system boundary router It is a NSSA area The following is the routing table on SW4 after declaring Area 3 an NSSA. As the task desires, SW4 has retained the inter-area routes and no longer has reachability to any external routes redistributed into OSPF from another area: SW4#show ip route ospf | begin Gate Gateway of last resort is not set O IA O IA 5.0.0.0/24 is subnetted, 1 subnets 5.5.5.0 [110/21] via 34.1.1.33, 00:03:43, Ethernet6/0 8.0.0.0/24 is subnetted, 1 subnets 8.8.8.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.0.0.0/24 is subnetted, 10 subnets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 571 O IA O IA O IA 10.1.0.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.1.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.2.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 O IA O IA O IA O IA O IA O IA O IA 10.1.3.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.4.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.5.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.6.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.7.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.8.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 10.1.9.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/24] via 34.1.1.33, 00:03:43, Ethernet6/0 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 16.0.0.0/24 is subnetted, 1 subnets 16.1.1.0 [110/33] via 34.1.1.33, 00:03:43, Ethernet6/0 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/23] via 34.1.1.33, 00:03:43, Ethernet6/0 20.2.1.0 [110/23] via 34.1.1.33, 00:03:43, Ethernet6/0 20.2.2.0 [110/23] via 34.1.1.33, 00:03:43, Ethernet6/0 22.0.0.0/24 is subnetted, 1 subnets 22.22.22.0 [110/24] via 34.1.1.33, 00:03:43, Ethernet6/0 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/23] via 34.1.1.33, 00:03:43, Ethernet6/0 27.0.0.0/24 is subnetted, 1 subnets 27.1.1.0 [110/33] via 34.1.1.33, 00:03:43, Ethernet6/0 33.0.0.0/24 is subnetted, 1 subnets 33.33.33.0 [110/11] via 34.1.1.33, 00:03:43, Ethernet6/0 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [110/20] via 34.1.1.33, 00:03:43, Ethernet6/0 40.0.0.0/24 is subnetted, 1 subnets 40.4.0.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [110/22] via 34.1.1.33, 00:03:43, Ethernet6/0 50.0.0.0/24 is subnetted, 1 subnets 50.5.0.0 [110/23] via 34.1.1.33, 00:03:43, Ethernet6/0 58.0.0.0/24 is subnetted, 1 subnets 58.1.1.0 [110/21] via 34.1.1.33, 00:03:43, Ethernet6/0 112.0.0.0/24 is subnetted, 1 subnets 112.1.1.0 [110/23] via 34.1.1.33, 00:03:43, Ethernet6/0 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [110/21] via 34.1.1.33, 00:03:43, Ethernet6/0 O IA O IA O IA O IA O IA O IA O IA O IA O IA O IA O O O IA O IA O IA O IA O IA O IA CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 572 The task also requires that internal devices in Area 3 should not have any Type-5 external or Type-4 NSSA external LSAs present in their LSDB. The example output from SW4 verifies this: SW4#show ip ospf database external OSPF Router with ID (0.0.0.44) (Process ID 1) SW4#show ip ospf database asbr-summary OSPF Router with ID (0.0.0.44) (Process ID 1) The prefixes redistributed on the NSSA ASBR SW4 present themselves as O N2 routes on SW3 and SW5. The LSDB on these devices show these prefixes represented with Type-7 NSSA external LSAs: On SW5: SW5#show ip route ospf | include N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 104.104.0.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.1.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.2.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.3.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.4.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.5.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.6.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.7.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.8.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 104.104.9.0 [110/20] via 35.1.1.33, 00:08:16, Ethernet5/0 SW5#show ip ospf database | begin Type-7 Type-7 AS External Link States (Area 3) Link ID 104.104.0.0 104.104.1.0 104.104.2.0 104.104.3.0 104.104.4.0 104.104.5.0 104.104.6.0 104.104.7.0 104.104.8.0 104.104.9.0 ADV Router 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 CCIE by Narbik Kocharians Age 690 690 690 690 690 690 690 690 690 690 Seq# Checksum Tag 0x80000001 0x001336 0 0x80000001 0x000840 0 0x80000001 0x00FC4A 0 0x80000001 0x00F154 0 0x80000001 0x00E65E 0 0x80000001 0x00DB68 0 0x80000001 0x00D072 0 0x80000001 0x00C57C 0 0x80000001 0x00BA86 0 0x80000001 0x00AF90 0 CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 573 (The rest of the output is omitted for brevity) On SW3: SW3#show ip route ospf | include N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 104.104.0.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.1.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.2.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.3.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.4.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.5.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.6.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.7.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.8.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 104.104.9.0 [110/20] via 34.1.1.44, 00:12:48, Ethernet6/0 SW3#show ip ospf database | begin Type-7 Type-7 AS External Link States (Area 3) Link ID 104.104.0.0 104.104.1.0 104.104.2.0 104.104.3.0 104.104.4.0 104.104.5.0 104.104.6.0 104.104.7.0 104.104.8.0 104.104.9.0 ADV Router 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 0.0.0.44 Age 860 860 860 860 860 860 860 860 860 860 Seq# Checksum Tag 0x80000001 0x001336 0 0x80000001 0x000840 0 0x80000001 0x00FC4A 0 0x80000001 0x00F154 0 0x80000001 0x00E65E 0 0x80000001 0x00DB68 0 0x80000001 0x00D072 0 0x80000001 0x00C57C 0 0x80000001 0x00BA86 0 0x80000001 0x00AF90 0 To review the not-so-stubby-area type: 1. They behave like stub areas, blocking Type-5 external LSAs 2. They allow external prefixes into the NSSA by flooding them as Type-7 NSSA external LSAs from the NSSA ASBR 3. These Type-7 NSSA external LSAs are translated into Type-5 external LSAs by the NSSA 4. ABR to be flooded to the rest of the OSPF domain 5. The backbone area cannot be an NSSA 6. Virtual Links cannot flow through an NSSA CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 574 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 575 Task 10 Configure the routers in Area 4 based on the following policy: The routers of this area should have LSA Type 3 in their OSPF link state database. The routers of this area should not have LSA Types 4 or 5 in their OSPF link state database. The routers must have reachability to the existing and future routes redistributed in the other areas of this routing domain, except for the external networks redistributed in Area 3. The routers should have reachability to the networks redistributed in their own area. In case of stub and totally stub areas, while prohibiting the Type-5 external LSAs, the ABR generates a Type3 summary LSA to provide reachability to external routes in other areas. However, from Task 9 it was shown that an NSSA ABR does not flood Type-5 external LSA or a Type-3 summary LSA into the NSSA. This leaves routers that are internal to the NSSA with no information about how to reach external routes. This task requires defining Area 4 as an NSSA, but this time ensuring the routers within the NSSA have reachability to external routes injected into OSPF in other areas. To provide reachability to external routes to routers within an NSSA, the NSSA ABR can be configured to inject a default route with the area areanumber nssa default-information-originate command. This way, routers that do not have specific information, can follow the default route to reach external destinations.By providing the default route, the NSSA ABR is telling the other routers that it can be used to reach external prefixes. This is because the NSSA ABR itself will be the only router within the NSSA that will have external prefixes. It has these prefixes because, by definition of it being an ABR, it is connected to Area 0 and is able to receive them. In other words, the NSSA ABR will filter out the external LSAs from the NSSA just like the ABR filters out the external LSAs for regular stub areas. The LSA for the default route is injected as a Type-7 NSSA external default route LSA originated by the NSSA ABR. This default route can be generated on the NSSA ABR even if a default route does not exist in the NSSA ABR’s own routing table, a requirement that exists in order for an NSSA ASBR to flood a default route into the NSSA. Following defines area 4 as an NSSA on all routers in Area 4. The NSSA ABR R3 is configured to inject a default route with the area 4 nssa default-information-originate command: On R7: R7(config)#router ospf 1 R7(config-router)#area 4 nssa On SW2: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 576 SW2(config)#router ospf 1 SW2(config-router)#area 4 nssa On R3: R3(config)#router ospf 1 R3(config-router)#area 4 nssa default-information-originate With the above, R3 now generates a default route as Type-7 NSSA external LSA: R3#show ip ospf database nssa-external self-originate OSPF Router with ID (0.0.0.3) (Process ID 1) Type-7 AS External Link States (Area 4) LS age: 10 Options: (No TOS-capability, No Type 7/5 translation, DC, Upward) LS Type: AS External Link Link State ID: 0.0.0.0 (External Network Number ) Advertising Router: 0.0.0.3 LS Seq Number: 80000001 Checksum: 0xFAB3 Length: 36 Network Mask: /0 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 1 Forward Address: 0.0.0.0 External Route Tag: 0 R7’s routing table shows the N2 default route: R7#show ip route ospf | begin Gate Gateway of last resort is 27.1.1.22 to network 0.0.0.0 O*N2 O IA O IA O IA O IA O IA 0.0.0.0/0 [110/1] via 27.1.1.22, 00:01:30, GigabitEthernet0/9 5.0.0.0/24 is subnetted, 1 subnets 5.5.5.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 8.0.0.0/24 is subnetted, 1 subnets 8.8.8.0 [110/15] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.0.0.0/24 is subnetted, 10 subnets 10.1.0.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.1.1.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.1.2.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 577 O IA O IA O IA O IA O IA 10.1.3.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.1.4.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.1.5.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.1.6.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.1.7.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 O IA O IA 10.1.8.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 10.1.9.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/15] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 12.0.0.0/24 is subnetted, 1 subnets 12.1.1.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 13.0.0.0/24 is subnetted, 1 subnets 13.1.1.0 [110/12] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 16.0.0.0/24 is subnetted, 1 subnets 16.1.1.0 [110/24] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 20.2.1.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 20.2.2.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 22.0.0.0/24 is subnetted, 1 subnets 22.22.22.0 [110/2] via 27.1.1.22, 00:06:38, GigabitEthernet0/9 23.0.0.0/24 is subnetted, 1 subnets 23.1.1.0 [110/11] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 33.0.0.0/24 is subnetted, 1 subnets 33.33.33.0 [110/24] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 34.0.0.0/24 is subnetted, 1 subnets 34.1.1.0 [110/33] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 35.0.0.0/24 is subnetted, 1 subnets 35.1.1.0 [110/23] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 40.0.0.0/24 is subnetted, 1 subnets 40.4.0.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 45.0.0.0/24 is subnetted, 1 subnets 45.1.1.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 50.0.0.0/24 is subnetted, 1 subnets 50.5.0.0 [110/15] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 58.0.0.0/24 is subnetted, 1 subnets 58.1.1.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 112.0.0.0/24 is subnetted, 1 subnets 112.1.1.0 [110/14] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 145.1.0.0/24 is subnetted, 1 subnets 145.1.1.0 [110/13] via 27.1.1.22, 00:06:11, GigabitEthernet0/9 O IA O IA O IA O IA O IA O IA O IA O O O IA O IA O IA O IA O IA O IA O IA O IA O IA CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 578 Task 11 Implement the following policy for the routers in Area 5: The routers must have reachability to the routes redistributed in this routing domain. The routers should not maintain LSA Type 3 in the OSPF link state database. The routers should not maintain LSA Types 4 or 5 in their OSPF link state database. This task is a variant on the previous task. This time not only are external prefixes not allowed, but interarea prefixes are also disallowed within the area. Just like with stub areas, NSSAs can be converted to become totally not-so-stubby-areas or totally NSSAs. Type-5 external LSAs are prohibited in totally NSSA along with specific Type-3 summary LSAs. Similar to the previously discussed totally stub areas, reachability to both the external and inter-area routes is provided by a default Type-3 summary LSA. Whether an NSSA is a totally NSSA or not depends on the configuration of the NSSA ABR just as was seen with the totally stub vs stub areas previously. An NSSA becomes a totally NSSA by configuring the area areanumber nssa no-summary command on the NSSA ABR. The no-summary keyword instructs the NSSA ABR to inject a default Type-3 summary LSA into the area and suppress the generation of the specific Type-3 LSAs. Routers within the NSSA are configured with the same area area-number nssa command seen previously. The following configures these commands on the devices in Area 5: On R2: R2(config)#router ospf 1 R2(config-router)#area 5 nssa no-summary On SW1: SW1(config)#router ospf 1 SW1(config-router)#area 5 nssa On R6: R6(config)#router ospf 1 R6(config-router)#area 5 nssa The show ip route ospf command output on SW1 and SW6 shows the inter-area default route generated by the NSSA ABR R2. In addition, the routes redistributed into OSPF by R6 appear as N2 routes on SW1: R6#show ip route ospf | begin Gate Gateway of last resort is 16.1.1.11 to network 0.0.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 579 O*IA O O O O 0.0.0.0/0 [110/12] via 16.1.1.11, 00:00:44, GigabitEthernet0/0 11.0.0.0/24 is subnetted, 1 subnets 11.11.11.0 [110/2] via 16.1.1.11, 00:00:44, GigabitEthernet0/0 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/12] via 16.1.1.11, 00:00:44, GigabitEthernet0/0 20.2.1.0 [110/12] via 16.1.1.11, 00:00:44, GigabitEthernet0/0 20.2.2.0 [110/12] via 16.1.1.11, 00:00:44, GigabitEthernet0/0 112.0.0.0/24 is subnetted, 1 subnets 112.1.1.0 [110/11] via 16.1.1.11, 00:00:44, GigabitEthernet0/0 O On SW1: SW1#show ip route ospf | begin Gate Gateway of last resort is 112.1.1.2 to network 0.0.0.0 O*IA O O O O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 0.0.0.0/0 [110/11] via 112.1.1.2, 00:02:08, Ethernet0/2 20.0.0.0/24 is subnetted, 3 subnets 20.2.0.0 [110/11] via 112.1.1.2, 00:02:08, Ethernet0/2 20.2.1.0 [110/11] via 112.1.1.2, 00:02:08, Ethernet0/2 20.2.2.0 [110/11] via 112.1.1.2, 00:02:08, Ethernet0/2 60.0.0.0/24 is subnetted, 10 subnets 60.1.0.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.1.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.2.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.3.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.4.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.5.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.6.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.7.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.8.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 60.1.9.0 [110/20] via 16.1.1.6, 00:02:08, Ethernet1/2 To review the Totally NSSA: 1. 2. 3. 4. Does not allow Type 3 summary or Type-5 external LSAs Allows external information to be flooded into the Area as Type-7 NSSA external LSAs Is converted from a NSSA by issuing the area x nssa no-summary command on the NSSA ABR. The NSSA ABR controls whether or not the NSSA is a totally NSSA by being configured not to flood Type-3 summary LSAs into the area. 5. Once configured with the area x nssa no-summary command the NSSA ABR, will flood a Type-3 default summary LSA into the area to provide internal routers in the NSSA reachability to the rest of the domain. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 580 6. The backbone area cannot be configured as an NSSA 7. Virtual links cannot flow through an NSSA Task 12 Determine whether the routers in Area 0 maintain LSA Type 4 in their OSPF link state database. This section of the lab is not really a task but more of a thought exercise. At this point in the lab, the topology is configured in the following manner: 1. OSPF process 1 is configured on all routers 2. The OSPF domain is divided into 6 areas: a. Area 0 is the backbone area (default and unchangeable in OSPF) i. Redistribution is being performed on R1 b. Area 1 is a stub area c. Area 2 is totally stub area d. Area 3 is an NSSA i. Redistribution is being performed on the NSSA ASBR SW-4 e. Area 4 is an NSSA f. Area 5 is a Totally Not So Stubby Area i. Redistribution is being performed on the NSSA ASBR R6 With the above understanding of the topology, this task poses the question “Do the routers in Area 0 maintain Type-4 LSAs in their LSDBs?” Answering this question requires some foundational understanding of the following aspects of OSPF: 1. What do Type-4 ASBR summary LSAs do? 2. When are Type-4 ASBR summary LSAs generated? For the first aspect, an understanding of what Type-4 ASBR summary LSAs do for the OSPF domain and why they are needed is in order. In Task 7 of this lab, the Type-4 ASBR summary LSA was briefly introduced. Here a more thorough understanding of their purpose will be explained. To do so, the stub configuration is removed from Area 1 in the topology using the no area 1 stub OSPF router configuration command on R4 and R5: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 581 On R4 and R5: Rx(config)#router ospf 1 Rx(config-router)#no area 1 stub The results are all of the external prefixes return to the routing table on R5: On R5: R5#show ip route ospf | include E2 E1 - OSPF external type 1, E2 - OSPF external type 2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 O E2 60.1.0.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.1.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.2.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.3.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.4.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.5.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.6.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.7.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.8.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 60.1.9.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.0.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.1.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.2.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.3.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.4.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.5.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.6.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.7.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 101.1.9.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.0.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.1.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.2.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.3.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.4.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.5.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.6.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.7.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.8.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 104.104.9.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.0.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.1.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.2.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.3.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 582 O E2 O E2 O E2 O E2 O E2 O E2 111.111.4.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.5.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.6.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.7.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.8.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 111.111.9.0 [110/20] via 45.1.1.4, 00:01:11, GigabitEthernet0/4 These are the external prefixes redistributed by the ASBRs R1, SW4, R7, and R6. The important interaction here occurs in the LSDB of the routers within Area 1, specifically R5. Remember that the LSDB is the database that holds the graph of the topology. Prefixes to destinations internal to an area are described in Type-1 Router and Type-2 Network LSAs and become intra-area (O) OSPF routes in the routing table. Prefixes to destinations from other areas are held in Type-3 Summary LSAs and become inter-area (O IA) OSPF routes in the routing table. Routes to destinations outside of the entire OSPF domain are described in Type-5 external and Type-7 NSSA external LSAs and are called external type 1 (O E/N1) or external type 2 (O E/N2) routes. For this discussion, the LSDB for Area 1 is examined, specifically from R5’s perspective. The output is taken from R5 directly, but it is important to understand that this output is the same on any router in Area 1. The same output can be viewed on R4. This feature is important to OSPF in order to make sure all routes share the same view of the network and do not form loops when running SPF. If R5 needs to reach an intra-area prefix, such as R4’s loopback 40.4.0.4, it performs an intra-area lookup in its LSDB. By examining R4’s Type-1 Router LSA, it knows that 40.4.0.4 is a stub network connected to R4 highlighted below: R5#show ip ospf database router 0.0.0.4 OSPF Router with ID (0.0.0.5) (Process ID 1) Router Link States (Area 1) LS age: 312 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.4 Advertising Router: 0.0.0.4 LS Seq Number: 8000000D Checksum: 0xEB8D Length: 48 Area Border Router Number of Links: 2 Link connected to: a Stub Network (Link ID) Network/subnet number: 40.4.0.0 (Link Data) Network Mask: 255.255.255.0 Number of MTID metrics: 0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 583 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 45.1.1.5 (Link Data) Router Interface address: 45.1.1.4 Number of MTID metrics: 0 TOS 0 Metrics: 1 With this information, R5 knows that it just needs to be able to reach R4 to reach R4’s loopback. R5 can also see that R4 is connected to a transit network node 45.1.1.5, highlighted in green above. This is a link to a Type-2 network LSA shown below: R5#show ip ospf database network 45.1.1.5 OSPF Router with ID (0.0.0.5) (Process ID 1) Net Link States (Area 1) LS age: 417 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 45.1.1.5 (address of Designated Router) Advertising Router: 0.0.0.5 LS Seq Number: 80000009 Checksum: 0x47A8 Length: 32 Network Mask: /24 Attached Router: 0.0.0.5 Attached Router: 0.0.0.4 By examining the Type-2 LSA for the 45.1.1.5 network, R5 sees that it, too, is attached to the same network node. R5 goes through this exercise to find the shortest path to reach that 40.4.0.0 network. Since it found a viable path, it adds this route to its routing table with R4 as the next-hop as shown below: R5#show ip route 40.4.0.4 Routing entry for 40.4.0.0/24 Known via "ospf 1", distance 110, metric 2, type intra area Last update from 45.1.1.4 on GigabitEthernet0/4, 00:08:01 ago Routing Descriptor Blocks: * 45.1.1.4, from 0.0.0.4, 00:08:01 ago, via GigabitEthernet0/4 Route metric is 2, traffic share count is 1 This is a simple intra-area route calculation done by R5. Let’s change the focus to an inter-area route, specifically, SW3’s loopback 0 interface IP address 33.33.33.33. R5 can see that the network is described in CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 584 the Type-3 Summary LSA shown below: R5#show ip ospf database summary 33.33.33.0 OSPF Router with ID (0.0.0.5) (Process ID 1) Summary Net Link States (Area 1) LS age: 584 Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(Network) Link State ID: 33.33.33.0 (summary Network Number) Advertising Router: 0.0.0.4 LS Seq Number: 80000003 Checksum: 0x3D8A Length: 28 Network Mask: /24 MTID: 0 Metric: 12 The Type-3 summary LSA contains 3 important pieces of information for R5: the network number, the advertising router, and the netmask for the prefix. The network number and netmask are combined to form the inter-area prefix 33.33.33.0/24. The advertising router tells R5 to which router this network is attached. This brings in a very important point about how ABRs advertise inter-area prefixes. Notice in the above, R4’s router ID 0.0.0.4 is listed as the advertising router. This means R4 is advertising that it is directly connected to the network 33.33.33.0/24. In reality, it is not directly connected to that network, SW3 is directly connected. However, R4, having a leg in Area 0, has proper reachability information to route packets to that network. ABRs advertise summary inter-area network information as if they themselves were directly connected to the network. By doing so, the ABR is summarizing the Area 0 topology to all other routers in its nonbackbone area. In this case, the complexity of the inner workings of Area 0 and Area 3 are hidden from Area 1 when R4 advertises a direct connection to 33.33.33.0/24 to the routers in Area 1. Because R5 sees R4 is directly connected to the network through the Type-3 LSA, it just needs to know how to reach R4 to reach that network. From the previous exercise, R5 knows it can reach R4 through its transit network connection. So R5 installs an inter-area route to 33.33.33.0/24 with R4 as the next hop: R5#show ip route 33.33.33.0 Routing entry for 33.33.33.0/24 Known via "ospf 1", distance 110, metric 13, type inter area Last update from 45.1.1.4 on GigabitEthernet0/4, 00:10:43 ago Routing Descriptor Blocks: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 585 * 45.1.1.4, from 0.0.0.4, 00:10:43 ago, via GigabitEthernet0/4 Route metric is 13, traffic share count is 1 The above demonstrated how the LSDB is used to prove connectivity between different networks and serves as a guide. Let’s apply the same logic to one of the external prefixes R5 has learned specifically the 101.1.0.0/24 network. This is an external prefix R5 learns through a Type-5 external LSA: R5#show ip ospf database external 101.1.0.0 OSPF Router with ID (0.0.0.5) (Process ID 1) Type-5 AS External Link States LS age: 657 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 101.1.0.0 (External Network Number ) Advertising Router: 0.0.0.1 LS Seq Number: 80000005 Checksum: 0xA78D Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 0.0.0.0 External Route Tag: 0 From this Type-5 external LSA, R5 again knows three pieces of information: the network number, the advertising router, the netmask. The prefix for this external network is 101.1.0.0/24. The router that is advertising a direct connection to this prefix is a router with router ID 0.0.0.1. Similar to the other prefixes, R5 simply needs to look in its LSDB for either an intra-area or inter-area path to reach 101.1.0.0/24. The output below shows the fruits of this labor on R5: R5#show ip ospf database router 0.0.0.1 OSPF Router with ID (0.0.0.5) (Process ID 1) R5#show ip ospf database summary 0.0.0.1 OSPF Router with ID (0.0.0.5) (Process ID 1) The output above was not cut off. R5 simply does not have any information about router 0.0.0.1 in its LSDB. In the OSPF world, that means R5 isn’t aware that such a router even exists. As a result, R5 cannot calculate a path to reach the network 101.1.0.0/24 as described by that Type-5 External LSA. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 586 R5 doesn’t know router 0.0.0.1 exists because that router is not in the same area as R5. In OSPF, a router only knows about routers that are also in the same area in which that router resides. This is how they solve intra-area paths to reach all other networks or devices in the OSPF domain. No matter where a device or network is located in the OSPF domain, the local router MUST find an intra-area path to reach that device or network node. If there is no such path, then the router ignores the LSA and doesn’t install a route to the network or device. The Type-5 external LSA always lists the ASBR that originated the LSA as the advertising router. External LSAs have domain-wide flooding scope and as a result reach every other OSPF router in the domain that isn’t in a stub area. An important point that needs to be stressed here is that in OSPF, routers are not allowed to modify LSAs originated by other routers in the domain. This means R4, the ABR in Area 1, cannot change the advertising router to itself for any Type-5 LSAs it floods into Area 1 that it didn’t originate. The fact that R5 doesn’t have reachability information in its LSDB for router 0.0.0.1, and R4, its ABR, cannot change the advertising router field in the Type-5 external LSA makes it seem like R5 will never be able to reach the 101.1.0.0 network without some kind of default route. This is where the Type-4 ASBR Summary LSA comes in to fill in the missing link. R4 cannot modify the original Type-5 external LSA, but it can create its own LSA to fill in the missing reachability information. In the topology, R1 is router 0.0.0.1. It is the only router that is an internal router to Area 0, meaning it only has interfaces in Area 0. R4, as an ABR, is directly connected to Area 0 and thus has reachability information for R1 in its LSDB as shown below: On R4: R4#show ip ospf database router 0.0.0.1 OSPF Router with ID (0.0.0.4) (Process ID 1) Router Link States (Area 0) LS age: 39 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.1 Advertising Router: 0.0.0.1 LS Seq Number: 80000014 Checksum: 0x1638 Length: 180 AS Boundary Router Number of Links: 13 (The rest of the output is omitted for brevity) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 587 Since R4 knows how to reach R1, it can advertise this information to all routers in Area 1 using the Type-4 ASBR Summary LSA. The process is simple. R4 sees that R1 is an ASBR based on the contents of the Type-1 LSA received from R1.. R4 knows the advertising router is 0.0.0.1 in Area 0. When R4 advertises this Type-5 External LSA into Area 1, R4 also knows that 0.0.0.1 is not located inside Area 1. In response, R4 crafts a Type-4 ASBR Summary LSA to artificially inject this reachability information into Area 1. Now when R5 tries to lookup how to reach router 0.0.0.1 it finds the following LSA: On R5: R5#show ip ospf database asbr-summary 0.0.0.1 OSPF Router with ID (0.0.0.5) (Process ID 1) Summary ASB Link States (Area 1) LS age: 978 Options: (No TOS-capability, DC, Upward) LS Type: Summary Links(AS Boundary Router) Link State ID: 0.0.0.1 (AS Boundary Router address) Advertising Router: 0.0.0.4 LS Seq Number: 80000001 Checksum: 0x63D2 Length: 28 Network Mask: /0 MTID: 0 Metric: 1 The LSA above tells R5 exactly what it needs. ASBR 0.0.0.1 is reachable through router 0.0.0.4. From the previous examples, R5 fully knows how to reach 0.0.0.4 because it can find the Type-1 Router LSA 0.0.0.4 flooded. This is how the Type-4 ASBR summary LSA fills in the missing reachability information for external prefixes. From the above exercise, the need for Type-4 ASBR summary LSAs is established. They exist to provide reachability information within the LSDB for ASBRs that are not in the same area as the router performing the route calculation. It is called summary information because R4 is summarizing the Area 0 topology by advertising a direct connection to the ASBR. The next piece of the puzzle is when Type-4 LSAs are required. As stated in the above exercise, Type-4 LSAs are only required whenever the ASBR is not located in the area in which the external information is being advertised. Because R1 is not located in Area 1, R4 needed to flood Type-4 ASBR summary information into Area 1 so the routers could reach the ASBR R1. To continue with the original thought exercise, the configuration on R4 and R5 is reverted by configuring Area 1 as a stub area again: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 588 On R4 and R5: Rx(config)#router ospf 1 Rx(config-router)#area 1 stub Going back to the original question: Do the routers in Area 0 maintain Type-4 LSAs in their LSDBs? The answer is based on the following criteria: 1. Is there any redistribution happening in the OSPF domain? 2. Are the redistributing routers in Area 0? From the summary earlier, it is clear that redistribution is being performed on R1 from area 0; SW4, R6, and R7 that belong to their respective NSSAs. The routes redistributed by SW4, R6 and R7 appear as N2 routes on their respective NSSA ABRs, SW5, R2 and R3: On R2: R2#show ip route ospf | include N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 60.1.0.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.1.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.2.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.3.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.4.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.5.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.6.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.7.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.8.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 60.1.9.0 [110/20] via 112.1.1.11, 00:29:25, GigabitEthernet0/0 On R3: R3#show ip route ospf | include N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 111.111.0.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.1.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.2.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.3.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.4.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.5.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.6.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.7.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 589 O N2 O N2 111.111.8.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 111.111.9.0 [110/20] via 23.1.1.22, 00:38:32, GigabitEthernet0/9 On SW5: SW5#show ip route ospf | include N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 O N2 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 104.104.0.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.1.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.2.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.3.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.4.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.5.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.6.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.7.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.8.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 104.104.9.0 [110/20] via 35.1.1.33, 01:08:09, Ethernet5/0 This means that, for all intents and purposes, SW4, R6 and R7 are ASBRs in the OSPF domain. These ASBRs also do not exist in Area 0. Which means, the NSSA ABRs in those areas (SW5, R3, R2) should advertise a Type-4 ASBR summary LSA for these prefixes correct? There’s a problem with that theory. Type-7 NSSA summary LSAs cannot be propagated to normal areas. They are intended to exist only in NSSAs because Type-5 external LSAs are not able to exist in NSSAs. Thus, some device needs to translate the Type-7 NSSA external LSAs into an LSA the rest of the OSPF domain can consume. This would be a Type-5 external LSA. This job falls on the NSSA ABR. In this case, SW5, R2 and R3 are responsible for translating the Type-7 NSSA external LSAs to Type-5 external LSAs, and flooding them into Area 0. Let’s confirm this on R2 and R3. Truncated output from the show ip ospf database self-originate command shows that SW5, R2 and R3 have converted the Type-7 NSSA external LSAs to Type-5 external LSAs. SW5#show ip ospf database self-originate | begin Type-5 Type-5 AS External Link States Link ID 104.104.0.0 104.104.1.0 104.104.2.0 104.104.3.0 104.104.4.0 104.104.5.0 104.104.6.0 104.104.7.0 104.104.8.0 ADV Router 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 0.0.0.55 CCIE by Narbik Kocharians Age 168 168 168 168 168 168 168 168 168 Seq# Checksum Tag 0x80000003 0x0061E4 0 0x80000003 0x0056EE 0 0x80000003 0x004BF8 0 0x80000003 0x004003 0 0x80000003 0x00350D 0 0x80000003 0x002A17 0 0x80000003 0x001F21 0 0x80000003 0x00142B 0 0x80000003 0x000935 0 CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 590 104.104.9.0 0.0.0.55 168 0x80000003 0x00FD3F 0 On R2: R2#show ip ospf database self-originate | begin Type-5 Type-5 AS External Link States Link ID 60.1.0.0 60.1.1.0 60.1.2.0 60.1.3.0 60.1.4.0 60.1.5.0 60.1.6.0 60.1.7.0 60.1.8.0 60.1.9.0 ADV Router 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 0.0.0.2 Age 58 58 58 58 58 58 58 58 58 58 Seq# Checksum Tag 0x80000002 0x00DC6B 0 0x80000002 0x00D175 0 0x80000002 0x00C67F 0 0x80000002 0x00BB89 0 0x80000002 0x00B093 0 0x80000002 0x00A59D 0 0x80000002 0x009AA7 0 0x80000002 0x008FB1 0 0x80000002 0x0084BB 0 0x80000002 0x0079C5 0 On R3: R3#show ip ospf database self-originate | begin Type-5 Type-5 AS External Link States Link ID 111.111.0.0 111.111.1.0 111.111.2.0 111.111.3.0 111.111.4.0 111.111.5.0 111.111.6.0 111.111.7.0 111.111.8.0 111.111.9.0 ADV Router 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.3 0.0.0.3 Age 1081 1081 1081 1081 1081 1081 1081 1081 1081 1081 Seq# Checksum Tag 0x80000002 0x009702 0 0x80000002 0x008C0C 0 0x80000002 0x008116 0 0x80000002 0x007620 0 0x80000002 0x006B2A 0 0x80000002 0x006034 0 0x80000002 0x00553E 0 0x80000002 0x004A48 0 0x80000002 0x003F52 0 0x80000002 0x00345C 0 Let’s expand and observe one of the translated Type-5 LSAs on R1: On R1: R1#show ip ospf database external 60.1.0.0 OSPF Router with ID (0.0.0.1) (Process ID 1) Type-5 AS External Link States CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 591 LS age: 223 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 60.1.0.0 (External Network Number ) Advertising Router: 0.0.0.2 LS Seq Number: 80000002 Checksum: 0xDC6B Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 16.1.1.6 External Route Tag: 0 The translated Type-5 external LSA above was advertised by router 0.0.0.2, which is R2 in the topology. According to the previous exercise, the advertising router of a Type-5 external LSA is the ASBR that originated that LSA. Even though R6 is the real ASBR that originated the LSA, because R2 is generating the Type-5 LSA, it assumes the role of the ASBR. It is referred to as a pseudo ASBR. R2 isn’t just acting as a pseudo ASBR in this instance. It is also the NSSA ABR, meaning it sits on the edge between two Areas, the backbone Area 0 and the NSSA 5. It, too, performs the same sanity check that R4 performed when advertising the Type-5 LSA into Area 0. That check basically amounts to “Am I receiving a Type-1 LSA from an ASBR from another area?” The answer is going to be “no” in this case since R6 is an NSSA ASBR and not a normal ASBR. Thus, R2 doesn’t flood a Type-4 ASBR Summary LSA for that router. It also will not flood a Type-4 ASBR Summary LSA for itself because it has already done so using its own router LSA as shown below: R1#show ip ospf database router 0.0.0.2 OSPF Router with ID (0.0.0.1) (Process ID 1) Router Link States (Area 0) LS age: 554 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 0.0.0.2 Advertising Router: 0.0.0.2 LS Seq Number: 80000007 Checksum: 0xF115 Length: 36 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 592 Area Border Router AS Boundary Router Number of Links: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 12.1.1.1 (Link Data) Router Interface address: 12.1.1.2 Number of MTID metrics: 0 TOS 0 Metrics: 1 Once again, the output above will be consistent for every router attached to Area 0, not just R1. The output confirms that if R1 had to send packets to the 60.1.0.0, it knows it has to send the packets to R2 because of the advertising router field in the Type-5 external LSA. R1 knows how to reach the advertising router because of the router LSA shown above. These facts negate the need for R2 to flood a Type-4 ASBR summary LSA into Area 0. The pseudo ASBR that originated the Type-5 external LSA, R2 itself, exists in Area 0. The show ip ospf border-routers command output from R1 confirms that 0.0.0.2 (R2) is indeed listed as an ABR/ASBR in Area 0: R1#show ip ospf border-routers | begin Router Routing Table Internal Router Routing Table Codes: i - Intra-area route, I - Inter-area route i 0.0.0.3 [1] via 13.1.1.3, GigabitEthernet0/3, ABR/ASBR, Area 0, SPF 16 i 0.0.0.2 [1] via 12.1.1.2, GigabitEthernet0/2, ABR/ASBR, Area 0, SPF 16 i 0.0.0.4 [1] via 145.1.1.4, GigabitEthernet0/0, ABR, Area 0, SPF 16 i 0.0.0.55 [1] via 145.1.1.55, GigabitEthernet0/0, ABR/ASBR, Area 0, SPF 16 This concept applies to R1, R3 and SW5 as well. The implication is that because all ASBRs, be they actual ASBRs (R1) or pseudo ASBRS (SW5, R2 and R3), in the topology exist in Area 0, the ABRs will not flood a Type4 ASBR summary LSA into Area 0. Thus, no Type-4 ASBR summary LSA is maintained in Area 0. This section went into detail on how and why Type-4 ASBR summary LSAs are injected into an area in an OSPF domain. The following is a quick recap of the important points: 1. Type-4 ASBR summary LSAs describe reachability information for ASBRs in the OSPF domain 2. Type-4 ASBR summary LSAs are flooded by ABRs whenever a Type-5 external LSA is flooded that wasn’t advertised by a router in the Area in which the Type-5 external LSA is being flooded. 3. Type-7 NSSA external LSAs are not allowed in areas that are not configured as NSSAs. As a result, the NSSA ABRs must translate these LSAs into Type-5 external LSAs if reachability from other OSPF domains is desired. CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 593 4. NSSA ABRs become pseudo ASBRs when translating Type-7 NSSA external LSAs to Type-5 external LSAs. 5. Type-4 ASBR summary LSAs are not needed in the area in which the ASBR resides. Task 13 Configure R3 to redistribute its Lo1 interface such that existing and future redistributed routes by this router are only injected into Area 0 and not into Area 4. Do not configure an ACL or a prefix list to accomplish this task. This task seems relatively straightforward. The directive is to redistribute R3’s Lo1 interface into the OSPF domain without injecting an external prefix into Area 4. This requirement may seem a bit odd. Area 4 is an NSSA. Logically speaking, it should never have an external prefix within it that wasn’t originated within Area 4 itself. This concept is explored in this task. First, the show run int loopback 1 command output from R3 reveals the IP address assigned to this loopback is 33.3.3.3/24: On R3: R3#show run interface lo1 | begin interface interface Loopback1 ip address 33.3.3.3 255.255.255.0 ip ospf network point-to-point end Since the task ultimately requires redistributing this 33.3.3.0/24 loopback interface IP into OSPF, redistribution of the above loopback is configured on R3. The configuration begins by creating a route-map named “TST” that matches the loopback 1 interface on R3 as shown below: R3(config)#route-map TST R3(config-route-map)#match interface lo1 With this route-map created, the redistribute connected route-map TST subnets command under OSPF router configuration mode is then issued. The route-map “TST” ensures only the loopback 1 interface’s IP is redistributed into OSPF: R3(config)#router ospf 1 R3(config-router)#redistribute connected route-map TST subnets CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 594 As seen with previous redistribution tasks, after configuring redistribution on R3, R3 generates a Type-5 external LSA for the 33.3.3.0/24 network. This LSA is flooded into all areas that accept Type-5 external LSAs, specifically Area 0 where it is received by R1, R2, R4, and SW5. The output below confirms that R1 installs the external prefix as an OSPF E2 route in its routing table with R3 (the ASBR) as its next hop. On R1: R1#show ip route 33.3.3.3 Routing entry for 33.3.3.0/24 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 1 Last update from 13.1.1.3 on GigabitEthernet0/3, 00:03:37 ago Routing Descriptor Blocks: * 13.1.1.3, from 0.0.0.3, 00:03:37 ago, via GigabitEthernet0/3 Route metric is 20, traffic share count is 1 On R3: R3 originates a Type-5 LSA for the 33.3.3.0 network in Area 0: R3#show ip ospf database external 33.3.3.0 OSPF Router with ID (0.0.0.3) (Process ID 1) Type-5 AS External Link States LS age: 356 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 33.3.3.0 (External Network Number ) Advertising Router: 0.0.0.3 LS Seq Number: 80000001 Checksum: 0xE194 Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 0.0.0.0 External Route Tag: 0 With the above configuration, the first part of the task is completed. The next step is to verify the conditions of the second part of the task have been met. The task states that the loopback 1 address on R3 should NOT be redistributed into Area 4. To verify this is the case, the show ip route 33.3.3.0 command is used on SW2 and R7 in Area 4: CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 595 On SW2: SW2#show ip route 33.3.3.0 Routing entry for 33.3.3.0/24 Known via "ospf 1", distance 110, metric 20, type NSSA extern 2, forward metric 10 Last update from 23.1.1.3 on Ethernet0/3, 00:08:32 ago Routing Descriptor Blocks: * 23.1.1.3, from 0.0.0.3, 00:08:32 ago, via Ethernet0/3 Route metric is 20, traffic share count is 1 On R7: R7#show ip route 33.3.3.0 Routing entry for 33.3.3.0/24 Known via "ospf 1", distance 110, metric 20, type NSSA extern 2, forward metric 11 Last update from 27.1.1.22 on GigabitEthernet0/9, 00:09:36 ago Routing Descriptor Blocks: * 27.1.1.22, from 0.0.0.3, 00:09:36 ago, via GigabitEthernet0/9 Route metric is 20, traffic share count is 1 Both SW2 and R7 have installed the external prefix 33.3.3.0/24 even though they exist in an NSSA. The show ip route output above indicates the route the two devices installed is an OSPF NSSA external 2 route. NSSA external 2 routes are derived from OSPF Type-7 NSSA external LSAs. This means some router in Area 4 has originated the 33.3.3.0/24 prefix into Area 4. The culprit here is R3. When R3 is configured to redistribute the network into OSPF, it will redistribute it for all areas to which it is attached. In normal cases, this is as simple as generating a single Type-5 external LSA. Type-5 external LSAs have a domain-wide flooding scope, meaning the router can flood the same LSA in all non-sub areas. In R3’s case, however, it has an interface in the backbone area and the NSSA 4. In order to redistribute the prefix for all areas to which it is attached, R3 must create two LSAs. A Type-5 external LSA for the backbone and all other areas and a Type-7 NSSA external LSA for the NSSA 4. As a result, the Type-7 LSA gets flooded into Area 4: On R3: R3#show ip ospf database external 33.3.3.0 OSPF Router with ID (0.0.0.3) (Process ID 1) CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 596 Type-5 AS External Link States LS age: 688 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 33.3.3.0 (External Network Number ) Advertising Router: 0.0.0.3 LS Seq Number: 80000001 Checksum: 0xE194 Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 0.0.0.0 External Route Tag: 0 R3#show ip ospf database nssa-external 33.3.3.0 OSPF Router with ID (0.0.0.3) (Process ID 1) Type-7 AS External Link States (Area 4) LS age: 729 Options: (No TOS-capability, No Type 7/5 translation, DC, Upward) LS Type: AS External Link Link State ID: 33.3.3.0 (External Network Number ) Advertising Router: 0.0.0.3 LS Seq Number: 80000001 Checksum: 0xC5AE Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 0.0.0.0 It is important to understand what’s happening. R3 is redistributing two separate external LSAs. A Type-5 external LSA and a Type-7 NSSA external LSA. What R3 is not doing is translating its Type-5 external LSA into a Type-7 NSSA external LSA. Such translation does not exist in OSPF. If it did, it would negate the advantages of configuring an area to be an NSSA. If such a translation existed, the external LSAs which the NSSA aims to prevent from coming into the area would be simply re-flooded as Type-7 LSAs. R3 can be prevented from flooding both Type-5 external LSAs and Type-7 NSSA external LSAs with the area 4 nssa default-information-originate no-redistribution command on the NSSA ABR R3. Adding the noCCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 597 redistribution parameter to the command instructs R3 to only generate a Type-7 NSSA external default into the NSSA and to not redistribute other external prefixes into the NSSA. The configuration for this is shown below: R3(config)#router ospf 1 R3(config-router)#area 4 nssa default-information-originate noredistribution After completing the above configuration, notice the outputs below. R3 no longer generates a Type-7 LSA for the 33.3.3.0/24 network. Both SW2 and R7 do not have a route to this redistributed network: On R3: R3#show ip ospf database nssa-external 33.3.3.0 OSPF Router with ID (0.0.0.3) (Process ID 1) On SW2: SW2#show ip route 33.3.3.0 % Subnet not in table SW2#show ip route 0.0.0.0 Routing entry for 0.0.0.0/0, supernet Known via "ospf 1", distance 110, metric 1, candidate default path, type NSSA extern 2, forward metric 10 Last update from 23.1.1.3 on Ethernet0/3, 01:16:44 ago Routing Descriptor Blocks: * 23.1.1.3, from 0.0.0.3, 01:16:44 ago, via Ethernet0/3 Route metric is 1, traffic share count is 1 On R7: R7#show ip route 33.3.3.0 % Subnet not in table R7#show ip route 0.0.0.0 Routing entry for 0.0.0.0/0, supernet Known via "ospf 1", distance 110, metric 1, candidate default path, type NSSA extern 2, forward metric 11 Last update from 27.1.1.22 on GigabitEthernet0/9, 01:18:03 ago Routing Descriptor Blocks: * 27.1.1.22, from 0.0.0.3, 01:18:03 ago, via GigabitEthernet0/9 Route metric is 1, traffic share count is 1 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 598 This configuration causes no reachability problems in Area 4. Because R3 is still flooding a default-route into the NSSA, SW2 and R7 still have a way to reach prefixes for which they do not have specific routes for in their routing tables. As long as that default route exists, there is no reason for R3 to redistribute external prefixes into the NSSA. Reachability is confirmed through pings from SW2 and R7 as shown below: On SW2: SW2#ping 33.3.3.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 33.3.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms On R7: R7#ping 33.3.3.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 33.3.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms Task 14 Configure the following ABRs so that the default route that they inject has an OSPF cost based on the following table: ABR/Area R4/Area 1 R9/Area 2 R3/Area 4 R2/Area 5 OSPF Cost of the Injected Default Route 40 133 30 20 R4, SW5, R3 and R2 are the ABRs for Area 1, Area 2, Area 4 and Area 5 respectively. These ABRs are flooding a default route into their respective stub areas. A default route acts as a least-specific match in the router’s routing table. It matches all destinations as a last resort whenever the router has no more-specific prefixes CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 599 in its routing table. Acting as such, it is used to replace external routes and, in some cases, inter-area routes for devices in stub areas. When the ABRs flood these default routes, they are flooded by default with an OSPF cost of 1. This can be seen with the show ip ospf | begin Area 1 command output from R4, the ABR for Area 1: On R4: R4#show ip ospf | begin Area 1 Area 1 Number of interfaces in this area is 2 It is a stub area Generates stub default route with cost 1 Area has no authentication SPF algorithm last executed 00:58:55.008 ago SPF algorithm executed 16 times Area ranges are Number of LSA 32. Checksum Sum 0x114D3B Number of opaque link LSA 0. Checksum Sum 0x000000 Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 0 Flood list length 0 The highlighted text above indicates that R4 is actively flooding a default stub route with a cost of 1 for Area 1. R4 advertises this route as a Type-3 default summary LSA. Other routers in Area 1 will take the cost advertised in the LSA and add their own cost used to reach the advertising router of the LSA which in this case is R4 itself. R5 for example, has a cost of 1 to reach the ABR R4 over itse G0/4 interface as shown below: On R5: R5#show ip ospf interface g0/4 | include Cost Process ID 1, Router ID 0.0.0.5, Network Type BROADCAST, Cost: 1 Topology-MTID Cost Disabled Shutdown Topology Name To determine the total cost of the default route, R5 adds its own interface cost of 1 to the cost of the default route advertised by R4 in the Type-3 default summary LSA. The resultant cumulative cost is 2. R5’s routing table entry for the default route verifies the cost of 2 for the 0.0.0.0 route: R5#show ip route 0.0.0.0 CCIE by Narbik Kocharians CCIE Enterprise Infrastructure Foundation v1.0 © 2021 Narbik Kocharians. All rights reserved Page 600 Routing entry for 0.0.0.0/0, supernet Known via "ospf 1", distance 110, metric 2, candidate default path, type inter area Last update from 45.1.1.4 on GigabitEthernet0/4, 01:04:42 ago Routing Descriptor Blocks: * 45.1.1.4, from 0.0.0.4, 01:04:42 ago, via GigabitEthernet0/4 Route metric is 2, traffic share count is 1 The goal of the task is to modify this default behavior based on the table shown in the beginning of the task. In this case, R4 should redistribute its default summary route with a cost of 40 instead of the default of 1. The area area-number default-cost value command in OSPF router configuration mode can be used to affect this change. The area area-number default-cost value command modifies OSPF’s default cost for advertising default routes into OSPF stub area and NSSAs. For R4, the area 1 default-cost 40 command is entered below to change R4’s default cost to 40 for its default summary LSA: On R4: R4(config)#router ospf 1 R4(config-router)#area 1 default-cost 40 The modified cost value is now reflected in