Table Of Contents
Network Virtualization—Path Isolation Design Guide
The term network virtualization refers to the creation of logical isolated network partitions overlaid on top of a common enterprise physical network infrastructure, as shown in Figure 1.
Figure 1 Creation of Virtual Networks
Each partition is logically isolated from the others, and must provide the same services that are available in a traditional dedicated enterprise network. The end user experience should be as if connected to a dedicated network providing privacy, security, an independent set of policies, service level, and even routing decisions. At the same time, the network administrator can easily create and modify virtual work environments for various user groups, and adapt to changing business requirements adequately. The latter is possible because of the ability to create security zones that are governed by policies enforced centrally; these policies usually control (or restrict) the communication between separate virtual networks or between each logical partition and resources that can be shared across virtual networks. Because policies are centrally enforced, adding or removing users and services to or from a VPN requires no policy reconfiguration. Meanwhile, new policies affecting an entire group can be deployed centrally at the VPN perimeter. Thus, virtualizing the enterprise network infrastructure provides the benefits of using multiple networks but not the associated costs, because operationally they should behave like one network (reducing the relative OPEX costs).
Network virtualization provides multiple solutions to business problems and drivers that range from simple to complex. Simple scenarios include enterprises that want to provide Internet access to visitors (guest access). The stringent requirement in this case is to allow visitors external Internet access, while simultaneously preventing any possibility of unauthorized connection to the enterprise internal resources and services. This can be achieved by dedicating a logical "virtual network" to handle the entire guest communication path. Internet access can also be combined with connectivity to a subset of the enterprise internal resources, as is typical in partner access deployments.
Another simple driver for network virtualization is the creation of a logical partition dedicated to the machines that have been quarantined as a result of a Network Admission Control (NAC) posture validation. In this case, it is essential to guarantee isolation of these devices in a remediation segment of the network, where only access to remediation servers is possible until the process of cleaning and patching the machine is successfully completed.
Complex scenarios include enterprise IT departments acting as a service provider, offering access to the enterprise network to many different "customers" that need logical isolation between them. In the future, users belonging to the same logical partitions will be able to communicate with each other and to share dedicated network resources. However, some direct inter-communication between groups may be prohibited. Typical deployment scenarios in this category include retail stores that provide on-location network access for kiosks or hotspot providers.
The architecture of an end-to-end network virtualization solution targeted to satisfy the requirements listed above can be separated in the following three logical functional areas:
Each area performs several functions and must interface with the other functional areas to provide the end-to-end solution (see Figure 2).
Figure 2 Network Virtualization Framework
The functionalities highlighted in Figure 2 are discussed in great detail in separate design guides, each one dedicated to a specific functional area.
•Network Virtualization—Access Control Design Guide (http://www.cisco.com/en/US/docs/solutions/Enterprise/Network_Virtualization/AccContr.html)—Responsible for authenticating and authorizing entities connecting at the edge of the network; this allows assigning them to their specific network "segment", which usually corresponds to deploying them in a dedicated VLAN.
•Network Virtualization—Services Edge Design Guide (http://www.cisco.com/en/US/docs/solutions/Enterprise/Network_Virtualization/ServEdge.html)—Central policy enforcement point where it is possible to control/restrict communications between separate logical partitions or access to services that can be dedicated or shared between virtual networks.
The path isolation functional area is the focus of this guide.
This guide mainly discusses two approaches for achieving virtualization of the routed portion of the network:
•Policy-based network virtualization—Restricts the forwarding of traffic to specific destinations, based on a policy, and independently from the information provided by the control plane. A classic example of this uses ACLs to restrict the valid destination addresses to subnets in the VPN.
•Control plane-based network virtualization—Restricts the propagation of routing information so that only subnets that belong to a virtual network (VPN) are included in any VPN-specific routing tables and updates. This second approach is the main core of this guide, because it allows overcoming many of the limitations of the policy-based method.
Various path isolation alternatives technologies are discussed in the sections of this guide; for the reader to make good use of this guide, it is important to underline two important points:
•This guide discusses the implementation details of each path isolation technology to solve the business problems previously discussed, but is not intended to provide a complete description of each technology. Thus, some background reading is needed to acquire complete familiarity with each topic. For example, when discussing MPLS VPN deployments, some background knowledge of the technology is required, because the focus of the document is discussing the impact of implementing MPLS VPN in an enterprise environment, and not its basic functionality.
•Not all the technologies found in this design guide represent the right fit for each business requirement. For example, the use of distributed access control lists (ACLs) or generic routing encapsulation (GRE) tunnels may be particularly relevant in guest and partner access scenarios, but not in deployments aiming to fulfill different business requirements. To properly map the technologies discussed here with each specific business requirement, see the following accompanying deployment guides:
•Network Virtualization—Guest and Partner Access Deployment Guide— http://www.cisco.com/en/US/docs/solutions/Enterprise/Network_Virtualization/GuestAcc.html
•Network Virtualization—Network Admission Control Deployment Guide— http://www.cisco.com/en/US/docs/solutions/Enterprise/Network_Virtualization/NACDepl.html
Path Isolation Overview
Path isolation refers to the creation of independent logical traffic paths over a shared physical network infrastructure. This involves the creation of VPNs with various mechanisms as well as the mapping between various VPN technologies, Layer 2 segments, and transport circuits to provide end-to-end isolated connectivity between various groups of users.
The main goal when segmenting the network is to preserve and in many cases improve scalability, resiliency, and security services available in a non-segmented network. Any technology used to achieve virtualization must also provide the necessary mechanisms to preserve resiliency and scalability, and to improve security.
A hierarchical IP network is a combination of Layer 3 (routed) and Layer 2 (switched) domains. Both types of domains must be virtualized and the virtual domains must be mapped to each other to keep traffic segmented. This can be achieved when combining the virtualization of the network devices (also referred to as "device virtualization") with the virtualization of their interconnections (known as "data path virtualization").
In traditional (that is, not virtualized) deployments, high availability and scalability are achieved through a hierarchical and modular design based on the use of three layers: access, distribution, and core.
Note For more information on the recommended design choices to achieve high availability and scalability in campus networks, see the following URL: http://www.cisco.com/en/US/netsol/ns815/networking_solutions_program_home.html.
Much of the hierarchy and modularity discussed in the documents referenced above rely on the use of a routed core. Nevertheless, some areas of the network continue to benefit from the use of Layer 2 technologies such as VLANs (typically in a campus environment) and ATM or Frame Relay circuits (over the WAN). Thus, a hierarchical IP network is a combination of Layer 3 (routed) and Layer 2 (switched) domains. Both types of domains must be virtualized and the virtual domains must be mapped to each other to keep traffic segmented.
Virtualization in the Layer 2 domain is not a new concept: VLANs have been used for years. What is now required is a mechanism that allows the extension of the logical isolation over the routed portion of the network. Path isolation is the generic term referring to this logical virtualization of the transport. This can be achieved in various ways, as is discussed in great detail in the rest of this guide.
Virtualization of the transport must address the virtualization of the network devices as well as their interconnection. Thus, the virtualization of the transport involves the following two areas of focus:
•Device virtualization—The virtualization of the network device; this includes all processes, databases, tables, and interfaces within the device.
•Data path virtualization—The virtualization of the interconnection between devices. This can be a single-hop or multi-hop interconnection. For example, an Ethernet link between two switches provides a single-hop interconnection that can be virtualized by means of 802.1q VLAN tags; whereas for Frame Relay or ATM transports, separate virtual circuits can be used to provide data path virtualization. When an IP cloud is separating two virtualized devices, a multi-hop interconnection is required to provide end-to-end logical isolation. An example of this is the use of tunnel technologies (for example, GRE) established between the virtualized devices deployed at the edge of the network.
In addition, within each networking device there are two planes to virtualize:
•Control plane—All the protocols, databases, and tables necessary to make forwarding decisions and maintain a functional network topology free of loops or unintended black holes. This plane can be said to draw a clear picture of the topology for the network device. A virtualized device must have a unique picture of each virtual network it handles; thus, there is the requirement to virtualize the control plane components.
•Forwarding plane—All the processes and tables used to actually forward traffic. The forwarding plane builds forwarding tables based on the information provided by the control plane. Similar to the control plane, each virtual network has a unique forwarding table that needs to be virtualized.
Furthermore, the control and forwarding planes can be virtualized at different levels, which map directly to different layers of the OSI model. For instance, a device can be VLAN-aware and therefore be virtualized at Layer 2, yet have a single routing table, which means it is not virtualized at Layer 3. The various levels of virtualization are useful, depending on the technical requirements of the deployment. There are cases in which Layer 2 virtualization is enough, such as a wiring closet. In other cases, virtualization of other layers may be necessary; for example, providing virtual firewall services requires Layer 2, 3, and 4 virtualization, plus the ability to define independent services on each virtual firewall, which perhaps is Layer 7 virtualization.
Policy-Based Path Isolation
Policy-based path isolation techniques restrict the forwarding of traffic to specific destinations, based on a policy and independently of the information provided by the forwarding control plane. A classic example of this uses an ACL to restrict the valid destination addresses to subnets that are part of the same VPN.
Policy-based segmentation is limited by two main factors:
•Policies must be configured pervasively (that is, at every edge device representing the first Layer 3 hop in the network)
•Locally significant information (that is, IP address) is used for policy selection
The configuration of distributed policies can be a significant administrative burden, is error prone, and causes any update in the policy to have widespread impact.
Because of the diverse nature of IP addresses, and because policies must be configured pervasively, building policies based on IP addresses does not scale very well. Thus, IP-based policy-based segmentation has limited applicability.
As discussed subsequently in Deploying Path Isolation in Campus Networks, using policy-based path isolation with the tools available today (ACLs) is still feasible for the creation of virtual networks with many-to-one connectivity requirements, but it is very difficult to provide any-to-any connectivity with such technology For example, hub-and-spoke topologies are required to provide an answer to the guest access problem, where all the visitors need to have access to a single resource (the Internet). Using ACLs in this case is still manageable because the policies are identical everywhere in the network (that is, allow Internet access, deny all internal access). The policies are usually applied at the edge of the Layer 3 domain. Figure 3 shows ACL policies applied at the distribution layer to segment a campus network.
Figure 3 Policy-Based Path Isolation with Distributed ACLs
Control Plane-Based Path Isolation
Control plane-based path isolation techniques restrict the propagation of routing information so that only subnets that belong to a virtual network (VPN) are included in any VPN-specific routing tables and updates. To achieve control plane virtualization, a device must have many control/forwarding instances, one for each VPN. This is possible when using the virtual routing and forwarding (VRF) technology that allows for the virtualization of the Layer 3 devices.
Network Device Virtualization with VRF
A VRF instance consists of an IP routing table, a derived forwarding table, a set of interfaces that use the forwarding table, and a set of rules and routing protocols that determine what goes into the forwarding table. As shown in Figure 4, the use of VRF technology allows the customer to virtualize a network device from a Layer 3 standpoint, creating different "virtual routers" in the same physical device.
Note A VRF is not strictly a virtual router because it does not have dedicated memory, processing, or I/O resources, but this analogy is helpful in the context of this guide.
Figure 4 Virtualization of a Layer 3 Network Device
Table 1 provides a listing of the VRF-lite support on the various Cisco Catalyst platforms that are typically found in an enterprise campus network. As is clarified in following sections, VRF-lite and MPLS support are different capabilities that can be used to provide separate path isolation mechanisms (VRF-lite + GRE, MPLS VPN, and so on.)
One important thing to consider with regard to the information above is that a Catalyst 6500 equipped with Supervisor 2 is capable of supporting VRFs only when using optical switching modules (OSMs). The OSM implementation is considered legacy and more applicable to a WAN environment. As a consequence, a solution based on VRF should be taken into consideration in a campus environment only if Catalyst 6500 platforms are equipped with Supervisors 32 or 720 (this is why this option is not displayed in Table 1).
The use of Cisco VRF-Lite technology has the following advantages:
•Allows for true routing and forwarding separation—Dedicated data and control planes are defined to handle traffic belonging to groups with various requirements or policies. This represents an additional level of segregation and security, because no communication between devices belonging to different VRFs is allowed unless explicitly configured.
•Simplifies the management and troubleshooting of the traffic belonging to the specific VRF, because separate forwarding tables are used to switch that traffic—These data structures are different from the one associated to the global routing table. This also guarantees that configuring the overlay network does not cause issues (such as routing loops) in the global table.
•Enables the support for alternate default routes—The advantage of using a separate control and data plane is that it allows for defining a separate default route for each virtual network (VRF). This can be useful, for example, in providing guest access in a deployment when there is a requirement to use the default route in the global routing table just to create a black hole for unknown addresses to aid in detecting certain types of worm and network scanning attacks.
In this example, employee connectivity to the Internet is usually achieved by using a web proxy device, which can require a specific browser configuration on all the machines attempting to connect to the Internet or having the need to provide valid credentials. Although support for web proxy servers on employee desktops is common practice, it is not desirable to have to reconfigure a guest browser to point to the proxy servers. As a result, the customer can configure a separate forwarding table for using an alternative default route in the context of a VRF, to be used exclusively for a specific type of traffic, such as guest traffic. In this case, the default browser configuration can be used.
Data Path Virtualization—Single- and Multi-Hop Techniques
The VRF achieves the virtualization of the networking devices at Layer 3. When the devices are virtualized, the virtual instances in the various devices must be interconnected to form a VPN. Thus, a VPN is a group of interconnected VRFs. In theory, this interconnection can be achieved by using dedicated physical links for each VPN (a group of interconnected VRFs). In practice, this is very inefficient and costly. Thus, it is necessary to virtualize the data path between the VRFs to provide logical interconnectivity between the VRFs that participate in a VPN.
The type of data path virtualization varies depending on how far the VRFs are from each other. If the virtualized devices are directly connected to each other (single hop), link or circuit virtualization is necessary. If the virtualized devices are connected through multiple hops over an IP network, a tunneling mechanism is necessary. Figure 5 illustrates single-hop and multi-hop data path virtualization.
Figure 5 Single- and Multi-Hop Data Path Virtualization
The many technologies that virtualize the data path and interconnect VRFs are discussed in the next sections. The various technologies have benefits and limitations depending on the type of connectivity and services required. For instance, some technologies are very good at providing hub-and-spoke connectivity, while others provide any-to-any connectivity. The support for encryption, multicast, and other services also determine the choice of technologies to be used for the virtualization of the transport.
The VRFs must also be mapped to the appropriate VLANs at the edge of the network. This mapping provides continuous virtualization across the Layer 2 and Layer 3 portions of the network. The mapping of VLANs to VRFs is as simple as placing the corresponding VLAN interface at the distribution switch into the appropriate VRF. The same type of mapping mechanism applies to Layer 2 virtual circuits (ATM, Frame Relay) or IP tunnels that are handled by the router as a logical interface. The mapping of VLAN logical interfaces (Switch Virtual Interface [SVI]) and of sub-interfaces to VRFs is shown in Figure 6.
Figure 6 VLAN to VRF Mapping
Path Isolation Initial Design Considerations
Before discussing the various path isolation alternatives in more detail, it is important to highlight some initial considerations that affect the overall design presented in the rest of this guide. These assumptions are influenced by several factors, including the current status of the technology and the specific business requirements driving each specific solution. As such, they may change or evolve in the future; this guide will be accordingly updated to reflect this fact.
•Use of virtual networks for specific applications
The first basic assumption is that even in a virtualized network environment, the global table is where most of the enterprise traffic is still handled. This means that logical partitions (virtual networks) are created to provide response to specific business problems (as, for example, guest Internet access), and users/entities are removed from the global table and assigned to these partitions only when meeting specific requirements (as, for example, being a guest and not an internal enterprise employee). The routing protocol traditionally used to provide connectivity to the various enterprise entities in global table (IGP) is still used for that purpose. In addition, the global IGP may also be used to provide the basic IP connectivity allowing for the creation of the logical overlay partitions; this is, for example, the case when implementing tunneling technologies such as VRF-Lite and GRE or MPLS VPN. In summary, the idea is to maintain the original global table design and "pull out" entities from the global table only for satisfying specific requirements (the business drivers previously discussed). This strategy allows support for gradual evolution to a virtualized from a non-virtualized network; also, it reduces the risk to existing production applications.
•Integration of VoIP technologies in a virtualized network
When deploying a VoIP architecture to be integrated in a virtualized network, the first release of this document recommended as best practice to keep the main components of the voice infrastructure (VoIP handsets, Cisco CallManagers, Cisco Unity Servers, and so on) in the global table, together with all the users that use voice services (using Cisco Communicator software, VT Advantage, and so on). Reasons for following this recommendation in this phase of the technology include the following:
–Lack of VRF-aware voice services such as Survivable Remote Site Telephony (SRST) or Resource Reservation Protocol (RSVP) for Call Admission Control (CAC), which would prevent a successful deployment of VoIP technologies at remote locations (without the burden of replicating the physical network infrastructure, which is against one of the main drivers for virtualizing the network).
- Complex configuration required at the services edge of the network to allow the establishment of voice flows between entities belonging to separate VPNs. This was also requiring "punching" holes in the firewall deployed in this area of the network, increasing the security concerns of the overall solution.
- VoIP can always be secured without requiring the creation of a dedicated logical partition for the voice infrastructure. There are proven tools and design recommendations that can be used for hardening the voice systems that are inherent in the system and do not require any form of network virtualization to be implemented. For more information, see the design guides at the following URL: http://www.cisco.com/en/US/netsol/ns818/networking_solutions_program_home.html.
When the VoIP infrastructure is deployed in the global table, the direct consequence is the recommendation of keeping all the internal users that make use of VoIP applications (such as Cisco Communicator clients, for example) in the same domain, to not complicate the design too much when there is a need to establish voice flows between these users and, for example, the VoIP handsets.
In the current phase of the Network Virtualization project, this tight recommendations is relaxed; focusing on a specific campus deployment model, we have validated and documented how to start integrating Unified Communication application into a virtualized network environment. The proposed design is discussed in greater detail as part of the Services Edge Design Guide at:
In future phases of this project, this concept will be also extended to branch locations, in order to be able to provide and end-to-end integration story.
•Deployment of network virtualization as an overlay design
Another important initial assumption is that the deployment of a virtualized infrastructure constitutes an overlay design rather than a "rip-and-replace" approach. This means that the goal is the deployment of network virtualization without impacting (or just with limited impact to) network design that customers may already have in place. For example, if routing is already deployed using a specific IGP, the design should focus on demonstrating how to add services to that specific environment, rather than suggesting to tear apart the network and put a new network in place. This guide is focused on networks characterized by a single autonomous system (AS) and a single IGP-based environment, rather than large backbones with dual-redundant BGP cores.
•Security and VRF considerations
Consider the following with regard to security and VRF:
–A VRF-enabled network device is different from a completely virtualized device. The latter is usually referred to as "logical router", whereas the first is called "virtual router". A VRF-enabled device shares device resources (such as CPU, memory, hardware, and so on) between the various virtual instances supported. This essentially means that a failure of a problem with one of these shared elements affects all the virtual routers defined in the box.
–In terms of isolation versus privacy, configuring separate VRFs allows support for multiple address spaces and for virtualizing both the control and data planes. However, simply doing this does not ensure the privacy of the information that is exchanged in the context of each VPN. To provide this extra layer of security, other technologies (such as IPsec) should be coupled with the specific path isolation strategy implemented.
–The use of VRF does not eliminate the need for edge security features. As previously discussed, VRFs are enabled on the first Layer 3 hop device; therefore, many of the security features that are recommended at the edge of the network (access layer) should still be implemented. This is true for identity-based techniques, such as 802.1x and MAB, which are discussed in Network Virtualization—Access Control Design Guide (OL-13634-01).
However, it is important to highlight the requirement for integrating other security components, such as Catalyst Integrated Security Features (CISF) including DHCP Snooping, IP Source Guard, Dynamic ARP Inspection, or Port Security. In addition to these, Control Plane Policing (CPP) also needs to be considered to protect the CPU of the network devices. Another factor is that, as explained in the previous point above, a problem in a specific VRF may affect the CPU of the virtualized devices causing outages also in the other VRFs defined in the network device.
•QoS and network virtualization
QoS and network virtualization are orthogonal problems in this phase of the technology. The main reason is that the DiffServ architecture has been deployed to be oriented around applications. Traffic originated by different applications (such as voice and video) is classified and marked at the edge of the network, and this marking information is used across the network to provide it with an appropriate level of service.
In this phase of the technology, most enterprise routers and switches lack a virtual QoS mechanism. This means, for example, that the various input and output queues available on the network devices are not VRF-aware, which essentially implies that there is no capability to treat differently traffic originated by the same type of application in two different VPNs. For this reason, when discussing the deployment of QoS technologies in a virtualized network, there are two main strategies that can be adopted and that are applied to the various path isolation alternatives discussed in this paper:
–Conform with the DiffServ standard functionality and keep classifying the traffic at the edge on an application base. This means that flows originating from the same application in different VPNs are treated in the same way across the network.
–Define per-VPN policies. This means that all the traffic originating in a specific VPN is classified in the same way, independently from the application that originated it. This may find applicability for example in guest access scenarios, where the recommended strategy is to classify all the traffic originated from the guest user as best effort when below a predefined threshold. Traffic exceeding the threshold could for example be classified as scavenger so that it is the first to be dropped in case of network congestion.
The following sections provide more details on various path isolation techniques. The first is the use of distributed ACLs that, as previously mentioned, can be considered a policy-based mechanism, and is here discussed as a "legacy" way of limiting communication between users belonging to different network partitions. Various control plan-based techniques are then analyzed: first the use of VRF-Lite in conjunction with GRE tunneling, specifically recommended for deployments where an hub-and-spoke type of connectivity must be provided. For scenarios requiring any-to-any connectivity, the use of MPLS VPNs is discussed, highlighting the main differences between the enterprise deployments versus the more traditional service provider deployment.
Deploying Path Isolation in Campus Networks
The first part of this document focuses on discussing various techniques to provide path isolation in an enterprise campus network. In the last part of this document, we see how some of these techniques could be reused across MAN/WAN clouds.
As a first step, a legacy technique is reviewed, based on the use of distributed ACLs. After that, several control plane techniques are discussed, all based on the use of Virtual Routing and Forwarding (VRF) functionality.
Path Isolation Using Distributed Access Control Lists
The use of distributed ACLs represents a classic example of a policy-based path isolation mechanism to restrict the forwarding of traffic to specific destinations, based on a policy and independently of the information provided by the control plane. This allows restricting the group of valid destination addresses to the subnets that are configured as part of the same VPN (or virtual network).
The use of static ACLs at the edge of the network is the quickest way to provide traffic isolation, controlling and restricting communications between the various user groups. Most customers are comfortable with the use of ACLs to enforce security policies.
At the same time, using ACLs is recommended only in very specific scenarios where the network connectivity requirements are hub-and-spoke (multi-to-one). The main limitation of the ACL approach is the lack of scalability. The complexity of each distributed ACL is directly related to two main factors:
•The number of user groups that need to be supported
•Connectivity requirements between user groups
Defining ACLs in scenarios with a large number of groups requiring any-to-any connectivity can quickly become cumbersome from a management point of view. The goal is to propose this approach when the connectivity requirement is hub-and-spoke, so that it is possible to create a portable ACL template to be used across different spoke devices. Two typical applications that require this type of connectivity are guest access (where the target is providing access to the Internet as a centralized resource), and Network Admission Control (NAC) remediation (where connectivity must be restricted between unhealthy endpoints and a centralized remediation server). The common characteristic for these applications is the very limited number of user groups required (two in both cases), which makes the ACL approach a feasible technical candidate.
The main goal is to create a generic ACL template that can be seamlessly used on all the required edge devices. This approach minimizes configuration and management efforts, and enhances the scalability of the overall solution. The same generic ACL should also be applied for both wired and wireless deployments. The specific wireless solution in place should affect the network device where the policy is applied, but not the format of the ACL itself.
Using ACLs to logically isolate traffic for specific categories of users (for example, employees and guests) on the same physical network implies that the control and data plan of the network needs to be shared between these different groups. The most immediate consequence is a limited freedom in assigning IP addresses to the various categories of users. The root of this problem is shown in Figure 7, which represents a generic campus network. This example refers to a guest access deployment where the hub devices are located in the Internet edge, but it can also be generic.
Figure 7 IP Addressing in the Campus Network
As shown in Figure 7, the recommended campus design dictates the assignment of IP addresses to various campus buildings in such a way that a summary route can be sent to the core (independent of the specific routing protocol being used). This isolates the buildings from a routing control point of view, contributing to the overall scalability and stability of the design. For example, 10.121.0.0/16 is the summary sent toward the core by the distribution layer devices belonging to Building 1.
Note The IP addresses used in this example simplify the description and are not intended to represent a best practice summarization schema.
As a result, all the IP subnets defined in each specific building block should be part of the advertised summary. This implies that subnets associated to the same user group but defined in separate buildings are part of different class B subnets. This clearly poses a challenge in defining a generic ACL template to be applied to devices belonging to different campus building blocks. The best way to achieve this is to define the edge policies without including the subnets from which the traffic is originated.
The recommended design described in this guide is based on the use of router ACLs (RACLs), which must be applied to Layer 3 interfaces. This means that in the multilayer campus design, the RACLs are applied to the distribution layer devices (representing the demarcation between Layer 2 and Layer 3 domains). The format of these ACLs remains the same, even in campus routed access deployments where the demarcation between Layer 2 and Layer 3 is pushed down to the access layer. The only difference is that, in this case, the RACLs need to be applied on the switched virtual interface (SVI) defined on the access layer devices.
RACLs are supported in hardware on Cisco Catalyst 6500 and 4500 platforms, which represent the devices most commonly deployed in the distribution layer of each campus building block. The simplest RACL that can be deployed for a generic hub-and-spoke scenario is as follows:ip access-list extended SEGM-RACL10 permit udp any any eq bootps20 permit udp any host <DNS-Server-IP> eq domain30 deny ip any <protected_prefixes>40 permit ip any <target_prefixes>
•Statements 10 and 20 allow connectivity to receive DHCP and DNS services (if needed).
•Statement 30 denies connectivity to protected resources that should not being accessed from this specific category of users.
•Statement 40 restricts connectivity only to the subset of required prefixes. The list of required prefixes varies, depending on the specific application. For example, in the case of guest access, it might be all the public IP addresses representing the Internet; for NAC remediation, it might be represented by the remediation server.
Note As previously mentioned, this ACL is generic enough to be applied to various edge devices. The key to doing this is to avoid the use of the source IP address in ACL statements.
RACLs derive their name from the fact that they need to be applied on Layer 3 (routed) interfaces. The Layer 3 interface where the RACL is applied depends on the specific type of network access used. For wired clients, the Layer 3 interfaces are the SVI (VLAN interface) defined on the distribution layer device (traditional design) or on the access layer devices (routed access design). The configuration for a generic SVI is as follows:interface Vlan50description Wired-client-floor1ip address 10.124.50.2 255.255.255.0ip access-group SEGM-RACL in
For wireless clients, it depends on the specific deployment in place. For traditional Cisco Aironet deployments and deployments using WLAN controllers, the situation is very similar to the wired case, and the ACL is applied on the SVIs defined on the distribution or access layer devices. For WLSM designs, where all the data traffic is tunneled from each distributed access point to a centralized Catalyst 6500 equipped with WLSM, the RACL can be directly applied on the receiving multipoint GRE (mGRE) interfaces defined on this centralized device, as follows:interface Tunnel160description mGRE for clients-floor1ip address 10.121.160.1 255.255.255.0ip access-group SEGM-RACL in
Another aspect to consider is the problem of path differentiation. In some scenarios, you might need to redirect the traffic to a specific direction when it gets to the hub device. For example, this can be relevant in a guest access scenario where traffic might need to be enforced through a web authentication appliance. The solution uses policy-based routing (PBR). The following configuration samples and considerations refer to a guest access application, but their validity can easily be extended to other applications. Without going into specific detail on the problems associated with web authentication, note that web authentication appliances are usually deployed in-band, so you must devise a way to enforce the guest traffic through them, as illustrated in Figure 8.
Figure 8 Traffic Flows for Various Categories of Users
An internal employee and a guest pointing to the same final destination (in this example, www.google.com) must take two different paths. The employee can connect directly to the Internet after going through a firewall (or a firewall context, as shown in Figure 8). The guest must first be forced through the web authentication appliance to complete an authentication process. The recommended way to accomplish this is by using PBR on the network devices in the Internet edge, connecting to the campus core (two Catalyst 6500s in this example).²
Note On Catalyst 6500 platforms using Supervisor 2 with PFC2 or Supervisor 720 with PFC3, PBR is fully supported in hardware using a combination of security and the ACL ternary content addressable memory (TCAM) feature, and the hardware adjacency table. Although a detailed description of PBR is beyond the scope of this guide, note that PBR does consume ACL TCAM resources and adjacency table entries. In Supervisor 2 with PFC2, 1024 of the 256 K available hardware adjacencies are reserved for PBR. In Supervisor 720 with PFC3, 2048 of the one million available hardware adjacencies are reserved for PBR.
The considerations about the IP range assignment to the guest subnets made in the previous section also have an impact on the configuration of the ACL to be used for policing the traffic in the Internet edge. It is unlikely that you can summarize all the guest subnets in a limited number of statements. More likely, a separate ACL statement needs to be added for each specific guest subnet defined in each campus building block, as shown in the following configuration sample:ip access-list extended TO-WEB-AUTH-DEVICEpermit ip 10.121.150.0 0.0.0.255 anypermit ip 10.121.160.0 0.0.0.255 anypermit ip 10.122.150.0 0.0.0.255 any............................................................................................................permit ip 10.128.160.0 0.0.0.255 any!route-map guest-to-WEB-AUTH-DEVICE permit 10match ip address TO-WEB-AUTH-DEVICEset ip next-hop 172.18.3.30
Note The address specified in the set ip next-hop statement is the internal interface of the web authentication appliance.
The route map must then be applied on all the physical interfaces connecting the Internet edge devices to the core of the network, as follows:interface TenGigabitEthernet3/1description 10GigE link to Core Switch 1ip address 10.122.0.7 255.255.255.254ip policy route-map guest-to-WEB-AUTH-DEVICE
High Availability Considerations
The resiliency of a solution based on the use of distributed ACLs is achieved by implementing the recommended campus design. More information on this subject is beyond the scope of this guide. For more information, see the campus HA documents at the following URL: http://www.cisco.com/en/US/netsol/ns815/networking_solutions_program_home.html.
Challenges and Limitations of Distributed ACLs
Some of the challenges and limitations of the distributed ACL approach are as follows:
•ACLs do not support full data and control plane separation. Traffic originating from edge subnets that is associated to different user groups is sent to the core of the network and is handled in the common global routing table. This scenario is prone to configuration errors, which can cause the establishment of unwanted communications between different groups. Also, in cases where path differentiation must be achieved, using a common routing table forces the use of more complex configuration (such as the PBR described in Path Differentiation).
•In many cases, the configuration is simplified by assigning a dedicated (and possibly overlapping) IP address space to the subnets associated to different user groups. As previously described, this is usually not possible in a campus deployment because of route summarization requirements and because of the use of a shared global routing table.
•Depending on the IP addressing plan being used, the distributed ACL can become lengthy and require many statements to deny connectivity to the enterprise internal resources.
You can eliminate all the previously described limitations associated with using distributed ACLs if you can separate the data and control plans for each separate category of users. The following section describes a different network virtualization approach aimed at achieving this through the use of the Cisco VPN Routing and Forwarding (VRF) technology.
Path Isolation Leveraging Control Plan Techniques
The previous approach based on the use of ACLs was presented for the sake of completeness and because it represents a legacy way of deploying security policies. The bulk of this document discusses several control plan techniques that can be leveraged to provide the desired path isolation functionality. As previously mentioned, all these techniques are based on the use of VRF functionality.
Three main technical alternatives are discussed in detail in the following sections:
•VRF-Lite and GRE tunnels
•MPLS VPN (RFC 2547)
•VRF-Lite End-to-End (or Hop-by-Hop)
An end-to-end campus path isolation strategy can be divided in two separate and subsequent steps:
1. Virtualizing each campus distribution block—This includes the virtualization (both at Layer 2 and Layer 3) of the network devices and of the network services commonly deployed in the access and distribution layers of the campus.
2. Virtualizing the core of the network in order to glue together the various campus distribution blocks—As it is clarified in the following sections, this can be done by leveraging tunneling technologies (which technically allows to interconnect the virtualized blocks without introducing any VRF definition in the core) or hop-by-hop IP-based technologies.
Virtualizing the Campus Distribution Block
The term campus distribution block usually refers to the set of closet (access layer) switches aggregated by the same pair of distribution layer devices, as shown in Figure 9.
Figure 9 Campus Distribution Block
The virtualization of the campus distribution block can be completed by completing two major steps:
•Virtualization of the network devices—This is done at Layer 2 (by provisioning VLANs) and at Layer 3 (by creating VRFs and their corresponding VLAN mapping).
•Virtualization of the network services—This requires the replication of network services typically enabled in a campus distribution block (like FHRP, STP, DHCP Relay, etc.).
Different considerations can be made depending on the specific campus model implemented; the following sections discuss in detail the multi-tier (Layer 2 in the access, Layer 3 in distribution) and routed access (Layer 3 in the access) designs.
Multi-Tier Campus Design
In the traditional multilayer campus design, the access layer is deployed with Layer 2 capabilities only and the distribution layer devices represent the boundary between Layer 2 and Layer 3 domains in the network. The generic campus distribution block is shown in Figure 10.
Figure 10 Generic Campus Distribution Block
More details on the recommended configuration and deployment guidelines for the traditional distribution block design can be found in the campus design guides previously referenced. What is important to highlight here is the operational impact of virtualizing the network.
The first thing to consider is that virtualization at Layer 2 is nothing new and is still achieved by using VLANs. As a consequence, the network virtualization requirement of supporting different logical groups in the same campus network drives the definition of an additional number of VLANs in each access layer device; these VLANs are then carried upstream toward the distribution layer via Layer 2 trunk connections (see Figure 11).
Figure 11 VLAN Definition
In addition to the previous existing data and voice VLANs, new VLANs (at least one per each new virtual network) are now required to provide differentiated access to separate network entities (users and/or devices). The following additional considerations are required:
•The deployment of various network entities into their corresponding segments (VLANs) can be achieved through static configuration (each edge port is manually assigned to a specific VLAN) or via dynamic mechanism such as 802.1X or NAC. This is discussed more extensively in the Network Virtualization-Access Control 2.0 Design Guide (OL-13634-01).
•Following the best practice design to keep VLAN numbers unique per access layer switch (as shown in Figure 11) may require the creation of a high number of new VLANs (and corresponding SVIs) on the distribution layer devices. This needs to be taken into consideration especially for very large distribution layer blocks (high number of access layer switches connecting to the same distribution layer pair), because it creates the following two main operational challenges:
–Need for planning for new VLANs and corresponding IP subnet allocation.
In very large deployments, it may be required to extend the range of VLANs that can be defined on a Catalyst 6500 platform. By default, the upper limit is 1001, but it can be extended to 4094 by using the following command:cr20-6500-1(config)#spanning-tree extend system-id
–Increase of the control plane load for protocols such as Spanning Tree, HSRP, etc.
Note The total number of new VLANs/IP subnets that need to be provisioned is the product of the total number of closet switches belonging to the same campus distribution block and the number of VRFs deployed.
The logical isolation provided by VLANs ceases to exist at the boundary between Layer 2 and Layer 3 domains (the distribution layer devices); it is thus required to define VRFs on these devices and map each VLAN to its own dedicated VRF instance, as shown in Figure 12.
Figure 12 VRF Definition
This is because the virtualized network consists of the combination of the Layer 2 VLAN and the Layer 3 VRF, so a mapping between these components is required to achieve logical isolation end-to-end across the network. It is worth noting that, independently from the number of VLANs defined in the campus distribution block, the number of VRFs is directly dictated by the number of logical groups that need to be supported. For example, all the VLANs defined on each access layer device for "Red" users are mapped to the same "Red" VRF defined at the distribution layer.
After VLANs have been mapped to the corresponding VRFs, there is the need to connect together the VRFs defined in different campus distribution blocks. As previously mentioned, there are multiple technical alternatives to provide this functionality and these are discussed in detail later in this document. Independently from the specific technology of choice, it is worth noticing that the corresponding configuration is applied on the distribution layer devices in a multi-tier design, since these devices represent the first Layer 3 hop in the network.
From a configuration standpoint, a different set of steps are required on the access later switch versus the distribution layer devices, as pointed out below.
Access Layer Switch Virtualization
The configuration steps that allow the virtualization of the access layer devices are (refer to the network in Figure 11):
•Creation of the Layer 2 VLAN entitiesvlan 21name Red_VPN!vlan 22name Green_VPN!vlan 23name Blue_VPN
•Assignment of edge (user-facing) interfaces to the newly defined VLANs. It is worth noticing that this step is required only when leveraging static VLAN assignment at the edge of the network. If a dynamic mechanism is implemented (802.1X or NAC), this step can be avoided.interface GigabitEthernet2/1description Red Userswitchportswitchport mode accessswitchport access vlan 21spanning-tree portfastspanning-tree bpduguard enable!interface GigabitEthernet2/2description Green Userswitchportswitchport mode accessswitchport access vlan 22spanning-tree portfastspanning-tree bpduguard enable!interface GigabitEthernet2/3description Blue Userswitchportswitchport mode accessswitchport access vlan 23spanning-tree portfastspanning-tree bpduguard enable
•Adding the newly defined VLANs to the trunk uplinks connecting to the distribution layer switches.interface GigabitEthernet5/1description L2 Trunk to Distrib. 1switchportswitchport trunk encapsulation dot1qswitchport trunk native vlan 512switchport trunk allowed vlan add 21-23switchport mode trunkswitchport nonegotiate!interface GigabitEthernet6/1description L2 Trunk to Distrib. 2switchportswitchport trunk encapsulation dot1qswitchport trunk native vlan 512switchport trunk allowed vlan add 21-23switchport mode trunkswitchport nonegotiate
Distribution Layer Switch Virtualization
The configuration steps required to virtualize the distribution layer devices are the following (refer to Figure 12):
•Definition of the VRFsip vrf Redrd 1:1!ip vrf Greenrd 1:1!ip vrf Bluerd 1:1
Note The latest releases of IOS code do not require anymore specifying the Route-Distinguisher (RD) parameter in order to activate a VRF. The configuration above still makes use of the RDs for backward compatibility. Also, the use of route-target is relevant only in conjunction with the use of MP-BGP as control protocol and it is discussed in more detail when describing the MPLS VPN path isolation option.
•Definition of the Layer 2 VLAN entities (this step is identical to that performed on the access layer switches).vlan 21name Red_VPN_access_switch_1!vlan 22name Green_VPN_access_switch_1!vlan 23name Blue_VPN_access_switch_1
•Definition of the Layer 3 VLAN Interfaces (SVIs) and mapping to the proper VRF. Notice how only Layer 3 interfaces (physical or logical) can be mapped to a VRF.interface Vlan21description Red_VPN_access_switch_1ip vrf forwarding Redip address 10.137.21.3 255.255.255.0standby 1 ip 10.137.21.1standby 1 timers msec 250 msec 750standby 1 priority 105standby 1 preempt delay minimum 180!interface Vlan22description Green_VPN_access_switch_1ip vrf forwarding Greenip address 10.137.22.3 255.255.255.0standby 1 ip 10.137.22.1standby 1 timers msec 250 msec 750standby 1 priority 105standby 1 preempt delay minimum 180!interface Vlan23description Red_VPN_access_switch_1ip vrf forwarding Redip address 10.137.23.3 255.255.255.0standby 1 ip 10.137.23.1standby 1 timers msec 250 msec 750standby 1 priority 105standby 1 preempt delay minimum 180
Note The configuration above is valid for the HSRP active device. A similar configuration would apply to the peer distribution switch (HSRP standby), as discussed in detail in the previously referenced campus design guides.
Routed Access Campus Design
In the routed access campus design, the demarcation line between Layer 2 and Layer 3 domains is moved from the distribution layer down to the access. As a consequence, all the closet switches start performing routing functionalities, as shown in Figure 13.
Figure 13 Routed Access Design
More details on the recommended configuration and deployment guidelines for routed access design can be found in the campus design:
A first immediate consequence of this design is the fact that Layer 2 VLANs are confined at the access layer only and the uplinks connecting to the distribution layer switches now become routed (Layer 3) links, as shown in Figure 14.
Figure 14 VLAN Definition in Routed Access Model
The following additional considerations are required:
•The deployment of various network entities into their corresponding segments (VLANs) can be achieved through static configuration (each edge port is manually assigned to a specific VLAN) or via dynamic mechanism such as 802.1X or NAC. This is discussed more extensively in the Network Virtualization-Access Control 2.0 Design Guide (OL-13634-01).
•The total number of new IP subnets that need to be provisioned is identical to the previously discussed multi-tier deployment. However, the VLAN number in this case can be re-used on separate access layer switches given the fact that they behave as Layer 3 devices.
•The control plane load in this case is minimal, since neither FHRP nor STP is required on the distribution layer devices. It is best practice to still keep STP running for the VLANs defined in the closet switch as a safety belt mechanism for configuration or cabling errors.
The VRF definition is required on the first Layer 3 hop in each campus distribution block, which means in a routed access scenario needs to be performed on every closet switch, as highlighted in Figure 15.
Figure 15 VRF Definition in Routed Access Model
The definition of VRFs in the access layer of the network brings up an interesting point: what about the distribution layer switches? Would they require a VRF configuration as well? The answer, as always, is it depends. When a tunneling technology (GRE tunnels or MPLS VPN) is deployed as a path isolation strategy starting from the access layer device, the distribution (and core) switches do not require any VRF definition.
If an IP-based hop-by-hop technique is instead chosen (or the tunneling mechanism is started at the distribution layer, usually because of platform specific limitation on the closet devices), the VRF configuration would also be required on the distribution layer devices.
From a configuration standpoint, a different set of steps are required on the access later switch versus the distribution layer devices, as pointed out below.
Access Layer Switch Virtualization
The configuration steps that allow the virtualization of the access layer devices are the following (refer to Figure 15):
•Creation of the Layer 2 VLAN entitiesvlan 21name Red_VPN!vlan 22name Green_VPN!vlan 23name Blue_VPN
•Assignment of edge (user-facing) interfaces to the newly defined VLANs. It is worth noticing that this step is required only when leveraging static VLAN assignment at the edge of the network. If a dynamic mechanism is implemented (802.1X or NAC), this step can be avoided.interface GigabitEthernet2/1description Red Userswitchportswitchport mode accessswitchport access vlan 21spanning-tree portfastspanning-tree bpduguard enable!interface GigabitEthernet2/2description Green Userswitchportswitchport mode accessswitchport access vlan 22spanning-tree portfastspanning-tree bpduguard enable!interface GigabitEthernet2/3description Blue Userswitchportswitchport mode accessswitchport access vlan 23spanning-tree portfastspanning-tree bpduguard enable
•Definition of the VRFsip vrf Redrd 1:1!ip vrf Greenrd 1:1!ip vrf Bluerd 1:1
Note The latest releases of IOS code do not require anymore specifying the Route-Distinguisher (RD) parameter in order to activate a VRF. The configuration above still makes use of the RDs for backward compatibility. Also, the use of route-target is relevant only in conjunction with the use of MP-BGP as control protocol and it is discussed in more detail when describing the MPLS VPN path isolation option.
•Definition of the Layer 3 VLAN Interfaces (SVIs) and mapping to the proper VRF. Notice how only Layer 3 interfaces (physical or logical) can be mapped to a VRF.interface Vlan21description Red_VPN_access_switch_1ip vrf forwarding Redip address 10.137.21.1 255.255.255.0!interface Vlan22description Green_VPN_access_switch_1ip vrf forwarding Greenip address 10.137.22.3 255.255.255.0!interface Vlan23description Red_VPN_access_switch_1ip vrf forwarding Redip address 10.137.23.3 255.255.255.0
Note No FHRP protocols (HSRP, VRRP, GLBP) are required in this case, since each access layer switch performs the functionality of default gateway for all the devices connected to it.
Virtualization of Network Services
The virtualization of the network devices belonging to each campus distribution block through provisioning of VLANs and VRFs is followed by the requirement to virtualize the network services that are traditionally enabled in this area of the campus network. Some of the services are directly related to Layer 3 functionalities, some to Layer 2 functionalities; as such, the specific layer (access or distribution) where they are enabled depends on the specific campus model adopted (multi-tier or routed access).
A typical example of Layer 2 functionality is the Spanning Tree Protocol; it has already been pointed out how enabling network virtualization may result in the growth of VLANs defined in the distribution block devices. This may impact the spanning tree design, because for example there would be more instances of the protocol running (usually one per each VLAN). However, there is no requirement for adding any functionality to spanning tree, because it still works at Layer 2 the same way it has always done.
A different case is when analyzing the Layer 3 functionalities enabled on the first Layer 3 hop in the network. Defining VRFs in fact allows you to virtualize the network device at Layer 3, but this implies that all the Layer 3 network services need to be somehow virtualized as well (or made VRF-aware). Therefore, it is important to highlight what functionalities are available today on Catalyst 6500 platforms, pointing out also the new ones that may become available in future IOS releases of code.
Note The following list is not exhaustive, but highlights only the specific services that are discussed in the campus design guides previously referenced. Be sure to verify with the release note the VRF support for additional features that may be required in specific design cases.
First Hop Redundancy Protocol
The use of a First Hop Redundancy Protocol (FHRP) is required only in multi-tier campus designs, where a pair of distribution layer devices represent the first Layer 3 hop in the network functioning as the default gateway for all the clients deployed in the IP subnets belonging to the specific distribution block. Traditionally, a FHRP is deployed to allow the distribution layer pair of devices to function as a single virtual device from the default gateway functionality point of view. Three protocols can usually be implemented for this:
•Hot Standby Routing Protocol (HSRP)
•Gateway Load Balancing Protocol (GLBP)
•Virtual Router Redundancy Protocol (VRRP)
FHRP protocols perform their functionality adding Address Resolution Protocol (ARP) entries and IP hash table entries (aliases); this by default is done using the default routing table instance. However, because a different routing table instance is used when VRF forwarding is configured on an interface, ARP and Internet Control Message Protocol (ICMP) echo requests for the FHRP virtual IP address fail, unless the protocol is made VRF-aware, thus capable of using the information in the VRF-specific routing table.
The example below exemplifies this functionality for HSRP:
•Distribution switch 1 (HSRP Active)interface Vlan12description Users in VPN v1ip vrf forwarding v1ip address 10.137.12.3 255.255.255.0standby 1 ip 10.137.12.1standby 1 timers msec 250 msec 750standby 1 priority 105standby 1 preempt delay minimum 180
•Distribution switch 2 (HSRP Standby)interface Vlan12description Users in VPN v1ip vrf forwarding v1ip address 10.137.12.2 255.255.255.0standby 1 ip 10.137.12.1standby 1 timers msec 250 msec 750
As noticed above, the configuration is essentially identical to the traditional one required on Layer 3 interfaces belonging to global table (the default VRF). However, the VRF awareness capability allows, for example, to have two separate Layer 3 VLAN interfaces with overlapping IP addresses and mapped to different VRFs (for example Red and Green). Without VRF awareness, HSRP would get confused, whereas the capability allows the protocol to maintain a separate state for the two set of interfaces, as follows:cr20-6500-1#sh standby vlan 2Vlan2 - Group 1Local state is Active, priority 105, may preemptPreemption delayed for at least 180 secsHellotime 250 msec, holdtime 750 msecNext hello sent in 0.033Virtual IP address is 10.137.12.1 configuredActive router is localStandby router is 10.137.12.2 expires in 0.510Virtual mac address is 0000.0c07.ac012 state changes, last state change 00:02:37IP redundancy name is "hsrp-Vl2-1" (default)cr20-6500-1#sh standby vlan 12Vlan12 - Group 1Local state is Active, priority 105, may preemptPreemption delayed for at least 180 secsHellotime 250 msec, holdtime 750 msecNext hello sent in 0.218Virtual IP address is 10.137.12.1 configuredActive router is localStandby router is 10.137.12.2 expires in 0.530Virtual mac address is 0000.0c07.ac0111 state changes, last state change 2d00hIP redundancy name is "hsrp-Vl12-1" (default)
One additional consideration is required for HSRP tracking; deploying HSRP tracking is usually not required or recommended in a fully redundant campus topology. However, there are some designs where it is deployed, specifically when the distribution block is not connected to the core in a fully meshed fashion, as shown in Figure 16.
Figure 16 Deploy HSRP Tracking
In this case, usually the HSRP tracking is configured so that if the interface connecting to the core fails (Ten1/1), the HSRP standby becomes active, avoiding the use of the transit link between the distribution peers for all the upstream traffic.
•Distribution switch 1 (HSRP Active)interface Vlan12description Users in VPN v1ip vrf forwarding v1ip address 10.137.12.3 255.255.255.0standby 1 ip 10.137.12.1standby 1 timers msec 250 msec 750standby 1 priority 105standby 1 preempt delay minimum 180standby 1 authentication esestandby 1 track TenGigabitEthernet1/1
•Distribution switch 2 (HSRP Standby)interface Vlan12description Users in VPN v1ip vrf forwarding v1ip address 10.137.12.2 255.255.255.0standby 1 ip 10.137.12.1standby 1 timers msec 250 msec 750standby 1 authentication esestandby 1 preempt
The physical interface connecting to the core (Ten1/1 in our example) usually belongs to global table; however, configuring HSRP tracking for that specific interface also for a SVIs mapped to a VRF (as shown above), allows triggering the failover also for that specific VPN subnet. The recommendation is thus to use tracking on all the SVIs defined in the distribution block (belonging to global table and to each defined VRF).
The first two FHRP protocols listed above were developed by Cisco, whereas VRRP is the IETF standard based of HSRP (RFC 3768). The support of these protocols in the context of a VRF is platform and software release dependant; the list below highlights the level of support for Catalyst platforms.
–HSRP is supported on Layer 3 interfaces that are mapped to a specific VRF from release 12.2(17d)SXB.
–VRRP is VRF aware starting from release 12.2(18)SXF
–GLBP VRF awareness was delivered in 12.2(33)SXH
–HSRP and VRRP VRF awareness is supported in 12.2(50)SG release
–There is no current support for GLBP
–HSRP in a VRF is supported from 12.2(40)SE release
–There is currently no support for VRF aware VRRP or GLBP
Distribution layer devices provide DHCP relay support for the endpoints connected to the access switches. Because the DHCP infrastructure is usually deployed in a centralized location in the network (for example, in a data center), this means that the first Layer 3 hop devices need to be able to relay the initial broadcast DHCP request received from the client to the remotely located DHCP server. This is supported via the ip helper-address command, as shown in the following configuration sample:interface Vlan12description Users in VPN v1ip vrf forwarding v1ip address 10.137.12.3 255.255.255.0ip helper-address 10.136.2.8
As noticed above, the ip helper-address command is also supported on SVIs belonging to a specific VRF. This means that the switch is capable of performing a lookup for the DHCP server IP address in the right VRF routing table and of properly relaying to it the DHCP request.
Note that what was described above does not actually mean that the DHCP relay functionality on Catalyst 6500 platforms is VRF-aware; to achieve VRF-awareness, the switch should be able to include VPN-specific information in the message sent to the centralized DHCP server. This would for example allow the centralized DHCP server (assuming the server is VRF-aware as well) to provide IP addresses from overlapping IP pools belonging to separate VRFs. VRF-awareness for DHCP-relay functionality is currently not supported on any Catalyst platform, but it is required only for supporting overlapping IP addresses. In designs where this overlapping IP addresses requirement is not present, it is possible to leverage the currently available DHCP-Relay functionality, which is available on all Catalyst platforms.
The VRF awareness for multicast implies the capability of virtualizing the protocols and data structures leveraged for multicast deployments: multicast routing table, PIM process, IGMP capabilities, RP discovery mechanisms, etc. More details on integration of multicast in a virtualized network can be found in following sections of this document when discussing the specific technologies that can be used to provide path isolation across the campus infrastructure.
QoS and network virtualization are currently orthogonal problems. Enabling VRF capabilities allows the creation of a separate control and data plane for the switch. However, there are no virtualization capabilities from a queuing perspective. This means that, for example, if traffic is classified at the edge and marked as EF, it makes use of the priority queue (if defined) independently of the origination of the VPN. Usually the distribution layer switches require the following QoS policies:
•DSCP trust policies—These are usually enabled on all the interfaces of the distribution layer device. Adding virtualization to the design does not change this requirement.
•Queuing policies—As already mentioned, queuing of the traffic is based on how the packets are classified and marked at the edge of the network. This is independent of the fact that these packets belong to a VPN or to global table (no VRF awareness is supported today for the queuing mechanism).
•Optional per-user microflow policing policies—Catalyst 6500s with PFC3 support user-based rate limiting (UBRL). UBRL is a form of Microflow policing allowing the administrator to rate limit traffic flows, but unlike a normal Microflow policer, it allows a policer to be applied to all traffic to or from a specific user. This is independent of the VPN to which the user belongs, because the policing is usually applied on the trunk interface connecting the distribution block to the access layer device. UBRL functionality is not currently VRF-aware (that is, it is not possible to differentiate traffic from users having the same IP address but belonging to different VPNs).
Standard and extended ACLs are usually applied as routed ACLs (RACLs) at the first Layer 3 hop of the network and have been made VRF-aware since release 12.2(18)SXD for Catalyst 6500 and 12.2(44)SG for Catalyst 4500. This means they can be successfully applied to Layer 3 interfaces (usually SVIs) that are part of a specific VRF.
Several troubleshooting tools can be used on the virtualized devices to verify proper connectivity for each defined virtual network. More details can be found in the sections discussing the specific path isolation technologies.
Path Isolation Deploying VRF-Lite and GRE
This particular solution is recommended in cases where there is a requirement for connectivity of many-to-one. This is most likely the scenario for applications such as guest access or NAC remediation, where the traffic originated on the edge of the network (campus buildings or branch offices) must be gathered to a centralized location (represented by the enterprise Internet edge or by the data center where a remediation server can be deployed).
In such scenarios, a hub-and-spoke topology is the recommended design. In a campus network, GRE tunnels can be used to transport the guest VLAN traffic from the first Layer 3 hop to a hub location, which is typically the Internet DMZ for an enterprise network. By placing the guest VLAN subnet (SVI) and the GRE interface into a VRF, you can separate the IP address space and routing from the rest of the enterprise network. Note that VRFs have to be defined only on the GRE tunnel endpoints (hub-and-spoke devices). One of the benefits of using GRE tunnels is that they can traverse multiple Layer 3 hops, but the VRF configuration is required only at the tunnel edges of the network.
A solution using GRE tunnels as a mechanism to segment the guest traffic has platform capability limitations. Table 2 provides a comparison of the GRE tunneling capabilities offered by the various Cisco switching platforms.
The information presented in Table 2 limits the applicability of this solution, depending on the specific Catalyst switches in place:
•In traditional designs, where the first Layer 3 hop is represented by the distribution layer devices, this approach is recommended when deploying a Catalyst 6500 with Sup720 or Sup32, because of the hardware-switching capability offered on these platforms. An exception to this recommendation can be for applications that do not require a large amount of bandwidth (such as guest access, where you might not want to provide large bandwidth). In that case, designs implementing the Catalyst 4500 in the distribution layer might be a candidate for this network virtualization solution. However, when originating (or terminating) GRE tunnels on a Catalyst 4500, it is a good practice to rate-limit the amount of GRE traffic that is allowed, to protect the CPU. More details on the configuration required for this are provided in QoS in Hub-and-Spoke Deployments.
•In routed access designs, where the demarcation line between Layer 2 and Layer 3 is moved down to the access layer, there are the following two scenarios:
–The access layer contains deployed devices that support GRE (such as a Catalyst 6500 or 4500). In this case, GRE tunnels can be originated directly from the access layer devices, keeping in mind the bandwidth implications previously described when deploying platforms that do not support GRE in hardware.
–The access layer contains deployed devices that do not support GRE (such as Catalyst 3xxx). In this scenario, GRE tunnels can be originated only from the distribution layer (assuming the platforms deployed there are GRE capable). As a result, some other mechanism should be deployed to maintain the logical separation of traffic for different user groups between the access and distribution layers. One possible way to achieve this is to use VRF-Lite End-to-End between access and distribution devices. For more information on VRF-Lite End-to-End deployments, see Path Isolation Deploying VRF-Lite End-to-End.
In addition to the considerations about GRE support, it is also important to keep in mind that the support of VRF-Lite on Catalyst switches does not currently come with the IP base software license. The list below clarifies the minimum license required on different switch models:
•Catalyst 6500: IP Services
•Catalyst 4K: IP Services
•Catalyst 3K: IP Services
Figure 17 shows the definition of various VRFs on the distribution layer device, with the corresponding mapping to the VRF for the VLANs defined on the Layer 2 domain of the network and the GRE tunnels part of the Layer 3 domain.
Figure 17 VRF-Lite and GRE
The diagram in Figure 17 is valid for both traditional and routed access designs when GRE tunnels are originated on the distribution layer switches. When deploying routed access designs where GRE tunnels can be originated from the access layer devices, the only difference is the absence of the trunk connection on the left, because each switch port is mapped to a specific VLAN.
To deploy end-to-end network virtualization across the network, a mapping between VLANs to VRFs and then VRFs to GRE on one side, as well as between the GRE tunnel interfaces and VRFs on the other side is required. The next two paragraphs provide a more detailed description of the configuration required to implement this form of traffic isolation.
This section describes two options to build logical overlay networks using GRE and VRF. The first approach uses point-to-point GRE connections between devices, and the second one introduces the use of mGRE interfaces. The use of mGRE technology is particularly suited for applications requiring hub-and-spoke connectivity, as described in this section.
Using Point-to-Point GRE
The traditional configuration for GRE tunnels requires the creation of point-to-point tunnel interfaces on both sides of the tunnel. When building a hub-and-spoke topology, the use of point-to-point GRE tunnels requires that you to create a separate logical interface on the hub switches every time a new spoke needs to be added. This is both configuration-intensive and router resource-intensive. To address the performance considerations, Cisco recommends using a Catalyst 6500 with a Supervisor 720 that has GRE support in hardware. To address the configuration challenges associated with supporting multiple GRE tunnels at the hub site, an alternative network design based on mGRE and Next Hop Resolution Protocol (NHRP) is introduced. However, in some cases, point-to-point GRE might be the only option because mGRE and NHRP are not supported on all platforms (for example, they are not supported on Catalyst 4500 switches).
The following configuration steps accompany the network diagram shown in Figure 18. Keep in mind the following considerations when considering the required configuration:
•The example is valid for a guest access application, so point-to-point GRE tunnels are defined between a generic spoke device and the centralized hub in the Internet edge. Also, traffic is originated from guest subnets defined at the edge of the network (spokes).
•The configuration sample refers to the traditional campus design, so VRF and GRE are defined on the distribution layer devices.
•Catalyst 6500 switches are deployed as spoke and hub devices. The Catalyst 4500 is also a viable alternative for applications not requiring high throughput.
•It is assumed that all traffic directed to the Internet is sent to an undefined next hop device. Depending on the specific application, this device might be an appliance, such as a firewall or a router.
Figure 18 Hub-and-Spoke with Point-to-Point GRE Tunnels
Note The following configuration sections assume that basic network connectivity (for example, in the global routing table) is already in place in the network.
Hub GRE Configuration
On each hub device, a separate tunnel (and corresponding loopback) interface is required for each spoke switch. In the previous example, there are four spokes devices, representing the two pairs of distribution layer switches for two campus buildings.
Note The configuration samples in the following sections refer specifically to a guest access deployment. However, they are also valid for all applications requiring hub-and-spoke connectivity.
ip vrf guestrd 100:1!interface Loopback0description src GRE p2p tunnel 1ip address 10.122.200.1 255.255.255.255!interface Loopback1description src GRE p2p tunnel 2ip address 10.122.200.2 255.255.255.255!interface Loopback2description src GRE p2p tunnel 3ip address 10.122.200.3 255.255.255.255!interface Loopback3description src GRE p2p tunnel 4ip address 10.122.200.4 255.255.255.255!interface Tunnel0description GRE p2p tunnel 1ip vrf forwarding guestip address 220.127.116.11 255.255.255.252tunnel source Loopback0tunnel destination 10.122.210.1!interface Tunnel1description GRE p2p tunnel 2ip vrf forwarding guestip address 18.104.22.168 255.255.255.252tunnel source Loopback1tunnel destination 10.122.210.2!interface Tunnel2description GRE p2p tunnel 3ip vrf forwarding guestip address 22.214.171.124 255.255.255.252tunnel source Loopback2tunnel destination 10.122.210.3!interface Tunnel3description GRE p2p tunnel 4ip vrf forwarding guestip address 126.96.36.199 255.255.255.252tunnel source Loopback3tunnel destination 10.122.210.4
Note that each tunnel interface is mapped to the guest VRF using the ip vrf forwarding command, which is the key starting point in building the overlay logical network. The use of VRF allows great flexibility when planning the IP addressing for the guest subnets. In the preceding example, the overlay logical network is using a 172.16.0.0 address space, whereas all the addresses used in the global table (loopback interfaces, and so on) are part of the 10.0.0.0/8 subnet. This means that the IP addresses assigned to each defined user group can be independently selected from the block of addresses associated to that specific building block in the global table. Overlapping IP address space is also supported on different VRFs. For example, network 10.1.1.0/24 can exist in multiple VRFs in multiple locations.
The addresses to be used for the loopback interfaces used as source and destination of the GRE traffic should be carefully selected to avoid the creation of routing black holes. See Loopback Interfaces Deployment Considerations for more information on this subject.
Spoke GRE Configuration
The configuration required on each spoke is very similar to the one described previously: two tunnel interfaces are configured to connect to the pair of redundant hub devices in the Internet edge block. Referring to Figure 18, the following configuration sample is valid for one of the two spokes in Building 1:ip vrf guestrd 100:1!interface Loopback0description src GRE tunnel to hub-1ip address 10.122.210.1 255.255.255.255!interface Loopback1description src GRE tunnel to hub-2ip address 10.122.211.1 255.255.255.255!interface Tunnel0description GRE tunnel to hub-1ip vrf forwarding guestip address 188.8.131.52 255.255.255.252tunnel source Loopback0tunnel destination 10.122.200.1!interface Tunnel1description GRE tunnel to hub-2ip vrf forwarding guestip address 184.108.40.206 255.255.255.252tunnel source Loopback1tunnel destination 10.122.201.1
Again, the logical tunnel interfaces must be mapped to the VRF to force the Internet-bound guest traffic into the GRE tunnel that carries the traffic to the Internet edge at the hub site. All the guest traffic originates from users deployed in a dedicated guest VLAN (at least for wired users, as previously described). To maintain an end-to-end segregation of guest traffic, the corresponding VLAN interface (logical SVI) must also be mapped to the guest VRF, as shown in the following configuration sample.
Note Typical deployments have more than one guest VLAN defined for each campus distribution block. In this case, all the corresponding VLAN interfaces must be mapped to the same VRF.
interface Vlan11description Wired Guest subnetip vrf forwarding guestip address 172.16.11.2 255.255.255.0ip helper-address 172.18.2.10standby 11 ip 172.16.11.1standby 11 timers msec 250 msec 800standby 11 priority 105standby 11 preempt delay minimum 180
Note HSRP (or any other redundant gateway protocol) is relevant when deploying traditional campus designs, where the demarcation line between Layer 2 and Layer 3 is placed in the distribution layer switches. HSRP is not needed in a routed access scenario.
Virtualizing the Routing Protocol
When the VRFs identifying the same user group have been linked together by GRE tunnels (creating the logical overlay network), it is time to start entering routing information into the routing tables for each defined group. The easiest way to do this is through static routing; a default static route pointing to the hubs can be configured on each spoke device. In this way, all the traffic originating, for example, from the guest subnets and directed to the Internet is GRE-encapsulated and conveyed toward the enterprise Internet edge.
The use of static routing also requires the configuration of specific static routes on the hub to allow return traffic directed to the edge subnets. Introducing a dynamic routing protocol in the overlay network brings the following two main advantages:
•The routing updates serve as keepalives for the GRE tunnels. The devices use the GRE interfaces to send traffic only if valid routing information is received, which ensures network connectivity across the tunnel.
•When supporting redundant GRE uplinks, load balancing of traffic and resiliency are automatically achieved by using the routing protocol characteristics.
The configuration details for how to enable a routing protocol in the context of a specific VRF differ, depending on the chosen protocol. Some routing protocols (such as EIGRP and BGP) introduce the concept of address families. The idea is to have a single routing process running on the device and to define a separate address family that is mapped to each VRF. Other routing protocols (such as OSPF) allow a different routing process for each VRF to be created.
This guide considers EIGRP and OSPF because they are the most common routing protocols found in enterprise networks. The following configuration samples refer to the same network diagram shown in Figure 18.
Note The routing protocol enabled in the context of each VRF is totally independent from the IGP running in the other VRFs or in the global routing table.
To run EIGRP in the context of a VRF, the VRF-specific address family needs to be configured. The configuration is slightly different for hub-and-spoke because the hubs must also advertise a default route to the spokes. Because of this default route, all the traffic that originates from the edge subnets is forced to the hubs.
The static default route configured on the hub is pointing to the next hop device shown in Figure 18.
•Hubip route vrf guest 0.0.0.0 0.0.0.0 172.18.1.30!router eigrp 100passive-interface defaultno passive-interface Tunnel0no passive-interface Tunnel1no passive-interface Tunnel2no passive-interface Tunnel3no auto-summary!address-family ipv4 vrf guestredistribute static metric 1000000 500 255 1 1500network 220.127.116.11 0.0.0.255no auto-summaryautonomous-system 100exit-address-familySpokerouter eigrp 100passive-interface defaultno passive-interface Tunnel0no passive-interface Tunnel1no auto-summary!address-family ipv4 vrf guestnetwork 172.16.100.0 0.0.0.255network 172.16.200.0 0.0.0.255network 172.16.11.0 0.0.0.255no auto-summaryautonomous-system 100exit-address-family
This design is resilient because each spoke receives a redundant default route to each of the hubs located in the Internet edge. Each hub learns the guest subnets from each spoke. Note how, by default, the spoke learns not only the default routes from each hub, but also the subnet information of other guests.
•Spoke6500-1-Bldg#sh ip route vrf guestRouting Table: guestCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 18.104.22.168 to network 0.0.0.01722.214.171.124/24 is subnetted, 1 subnetsD 172.17.11.0 [90/310044672] via 126.96.36.199, 00:00:35, Tunnel0[90/310044672] via 188.8.131.52, 00:00:35, Tunnel1172.16.0.0/24 is subnetted, 1 subnetsC 172.16.11.0 is directly connected, Vlan11184.108.40.206/30 is subnetted, 8 subnetsD 220.127.116.11 [90/310044416] via 18.104.22.168, 00:00:47, Tunnel0D 22.214.171.124 [90/310044416] via 126.96.36.199, 00:00:35, Tunnel1D 188.8.131.52 [90/310044416] via 184.108.40.206, 00:00:53, Tunnel0D 220.127.116.11 [90/310044416] via 18.104.22.168, 00:00:44, Tunnel1D 22.214.171.124 [90/310044416] via 126.96.36.199, 00:00:48, Tunnel0D 188.8.131.52 [90/310044416] via 184.108.40.206, 00:00:41, Tunnel1C 220.127.116.11 is directly connected, Tunnel0C 18.104.22.168 is directly connected, Tunnel1D*EX 0.0.0.0/0 [170/297372416] via 22.214.171.124, 00:00:55, Tunnel0[170/297372416] via 126.96.36.199, 00:00:55, Tunnel1
To get to a situation where the spokes have only the default routes in their routing tables, some additional configuration is required. For example, it is possible to apply an outbound filter on the hub to advertise only the default route toward each spoke. This is achieved by the following configuration:ip access-list standard default-onlypermit 0.0.0.0!router eigrp 100address-family ipv4 vrf guestdistribute-list default-only out
The result of this configuration on the spoke routing table is as follows:6500-1-Bldg#sh ip route vrf guestRouting Table: guestCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 188.8.131.52 to network 0.0.0.017184.108.40.206/24 is subnetted, 1 subnetsC 172.16.11.0 is directly connected, Vlan11220.127.116.11/30 is subnetted, 2 subnetsC 18.104.22.168 is directly connected, Tunnel0C 22.214.171.124 is directly connected, Tunnel1D*EX 0.0.0.0/0 [170/297372416] via 126.96.36.199, 00:00:32, Tunnel1[170/297372416] via 188.8.131.52, 00:00:32, Tunnel0
Differently from the spokes, to be able to properly route return traffic, the two hubs must contain information about all the guest subnets that are deployed in the campus in their routing tables. Referring to the example in Figure 18, the routing table on each hub device appears like the following example.6500-Int-1#sh ip route vrf guestRouting Table: guestCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 172.18.1.30 to network 0.0.0.017184.108.40.206/24 is subnetted, 1 subnetsD 172.17.11.0 [90/15360256] via 220.127.116.11, 00:01:10, Tunnel2[90/15360256] via 18.104.22.168, 00:01:10, Tunnel3172.16.0.0/24 is subnetted, 1 subnetsD 172.16.11.0 [90/15360256] via 22.214.171.124, 00:00:10, Tunnel0[90/15360256] via 126.96.36.199, 00:00:10, Tunnel1 172.18.0.0/24 is subnetted, 1 subnetsC 172.18.1.0 is directly connected, Vlan181188.8.131.52/30 is subnetted, 8 subnetsC 184.108.40.206 is directly connected, Tunnel3D 220.127.116.11 [90/310044416] via 18.104.22.168, 00:02:15, Tunnel3C 22.214.171.124 is directly connected, Tunnel2D 126.96.36.199 [90/310044416] via 188.8.131.52, 00:02:30, Tunnel2C 184.108.40.206 is directly connected, Tunnel1D 220.127.116.11 [90/310044416] via 18.104.22.168, 00:02:44, Tunnel1C 22.214.171.124 is directly connected, Tunnel0D 126.96.36.199 [90/310044416] via 188.8.131.52, 00:02:56, Tunnel0S* 0.0.0.0/0 [1/0] via 172.18.1.30
As shown, each hub has a redundant path to the route aggregate advertised from each building block. As a result, even if each spoke has no knowledge of the other guest subnets defined across the campus network, communication between them is still possible because the hub has the information to route these packets in its routing table. The advantage in building this hub-and-spoke overlay network is that policy enforcement to deny communications between guest subnets defined in separate campus buildings can be centralized on the two hub devices, and it is not required to be distributed on each spoke at the edge of the network.
To limit communication between guest subnets defined in the same campus building, the policy needs to be applied on the first Layer 3 hop device, represented by the distribution layer switch (for traditional Layer 2/Layer 3 campus designs) or by the access layer switch (for the routed access campus design).
Differently from EIGRP, there is no concept of an address family in OSPF. To enable OSPF in the context of a VRF, you must define a new process and bind it to the specific VRF:
•Hubip route vrf guest 0.0.0.0 0.0.0.0 172.18.1.30!router ospf 1 vrf guestlog-adjacency-changespassive-interface defaultno passive-interface Tunnel0no passive-interface Tunnel1no passive-interface Tunnel2no passive-interface Tunnel3network 184.108.40.206 0.0.0.255 area 0default-information originate
•Spokerouter ospf 1 vrf guestlog-adjacency-changespassive-interface defaultno passive-interface Tunnel0no passive-interface Tunnel1network 172.16.11.0 0.0.0.255 area 16network 220.127.116.11 0.0.0.255 area 0network 18.104.22.168 0.0.0.255 area 0
As described for EIGRP, the configuration causes the spoke routers to have information about all the guest subnets in their routing table, as in the following example:6500-1-Bldg#sh ip route vrf guestRouting Table: guestCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 22.214.171.124 to network 0.0.0.017126.96.36.199/24 is subnetted, 1 subnetsO 172.17.11.0 [110/22223] via 188.8.131.52, 00:00:05, Tunnel0[110/22223] via 184.108.40.206, 00:00:05, Tunnel1172.16.0.0/24 is subnetted, 1 subnetsC 172.16.11.0 is directly connected, Vlan11220.127.116.11/30 is subnetted, 8 subnetsO 18.104.22.168 [110/22222] via 22.214.171.124, 00:00:05, Tunnel0O 126.96.36.199 [110/22222] via 188.8.131.52, 00:00:05, Tunnel1O 184.108.40.206 [110/22222] via 220.127.116.11, 00:00:06, Tunnel0O 18.104.22.168 [110/22222] via 22.214.171.124, 00:00:06, Tunnel1O 126.96.36.199 [110/22222] via 188.8.131.52, 00:00:06, Tunnel0O 184.108.40.206 [110/22222] via 220.127.116.11, 00:00:07, Tunnel1C 18.104.22.168 is directly connected, Tunnel0C 22.214.171.124 is directly connected, Tunnel1O*E2 0.0.0.0/0 [110/1] via 126.96.36.199, 00:00:07, Tunnel1[110/1] via 188.8.131.52, 00:00:07, Tunnel0
Similarly to the EIGRP example, it is possible to apply a distribute list statement to eliminate these routes from the spoke devices and to import only a default route. In the OSPF scenario, this filter should be configured on each spoke (and not on the hub) because each router configured for OSPF must maintain a common topology database. This is achieved with the following configuration:ip access-list standard default-onlypermit 0.0.0.0!router ospf 1 vrf guestdistribute-list default-only in
As a result of this configuration, the spoke eventually learns (in the routing table) only a default route pointing to the Internet edge, as follows:6500-1-Bldg#sh ip route vrf guestRouting Table: guestCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 184.108.40.206 to network 0.0.0.017220.127.116.11/24 is subnetted, 1 subnetsC 172.16.11.0 is directly connected, Vlan1118.104.22.168/30 is subnetted, 2 subnetsC 22.214.171.124 is directly connected, Tunnel0C 126.96.36.199 is directly connected, Tunnel1O*E2 0.0.0.0/0 [110/1] via 188.8.131.52, 00:00:23, Tunnel1[110/1] via 184.108.40.206, 00:00:23, Tunnel0
From the point of view of the hub, the routing table appears similar to the EIGRP scenario. The hub has knowledge of all the guest subnets defined around the campus, so some centralized policy configuration might be required to prevent inter-guest communications.6500-Int-1#sh ip route vrf guestRouting Table: guestCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 172.18.1.30 to network 0.0.0.017220.127.116.11/24 is subnetted, 1 subnetsO IA 172.17.11.0/24 [110/11112] via 18.104.22.168, 00:03:08, Tunnel2[110/11112] via 22.214.171.124, 00:03:08, Tunnel3172.16.0.0/24 is subnetted, 1 subnetsO IA 172.16.11.0/24 [110/11112] via 126.96.36.199, 00:03:08, Tunnel0[110/11112] via 188.8.131.52, 00:03:08, Tunnel1172.18.0.0/24 is subnetted, 1 subnetsC 172.18.1.0 is directly connected, Vlan181184.108.40.206/30 is subnetted, 8 subnetsC 220.127.116.11 is directly connected, Tunnel3O 18.104.22.168 [110/22222] via 22.214.171.124, 00:03:08, Tunnel3C 126.96.36.199 is directly connected, Tunnel2O 188.8.131.52 [110/22222] via 184.108.40.206, 00:03:08, Tunnel2C 220.127.116.11 is directly connected, Tunnel1O 18.104.22.168 [110/22222] via 22.214.171.124, 00:03:12, Tunnel1C 126.96.36.199 is directly connected, Tunnel0O 188.8.131.52 [110/22222] via 184.108.40.206, 00:03:12, Tunnel0S* 0.0.0.0/0 [1/0] via 172.18.1.30
Note Cisco does not recommend applying a distribute list statement on the spoke devices, because doing so causes a discrepancy between the content of the topology database and the routing table.
Using mGRE Technology
When compared to the point-to-point GRE scenario described in the previous section, the use of mGRE interfaces on the hub switches has several advantages:
•Simplified configuration on the hub—Only one loopback and one tunnel interface are required, instead of configuring a pair for each spoke device. To connect to multiple edge devices, the tunnel interface works in mGRE mode.
•Dynamic addition of spoke devices—New spokes can be added without requiring any configuration changes on the hub devices.
•Simplified IP addressing—The overlay logical mGRE network is part of a single IP subnet and many distinct point-to-point subnets are not required for each GRE spoke tunnel.
At the same time, an additional mechanism is needed, NHRP, to allow the hub devices to dynamically discover the spokes and establish GRE tunnels with them. NHRP, as defined in RFC 2332, is a Layer 2 address resolution protocol and cache, similar to Address Resolution Protocol (ARP) and Frame Relay inverse-ARP. When a tunnel interface is an mGRE, NHRP tells the mGRE process where to tunnel a packet to reach a certain address. NHRP is a client-server protocol where the hub is the server and the spokes are the clients. The hub maintains an NHRP database where it registers each spoke, the mapping between the physical address (used as GRE tunnel destination), and the logical address assigned to the spoke tunnel interface. Each spoke provides this information to the hub, sending an NHRP registration message at startup time.
Note Support for NHRP in the context of a VRF is restricted to Catalyst 6500 platforms with Sup720 and Sup32 running software release 12.2(18)SXE and later. This implies that to deploy the solution described in this section, these devices must both be deployed at the hub-and-spoke locations. Also, NHRP support is limited to Catalyst 6500 running Advanced IP Services and greater licenses
Following are the configuration steps required for creating the hub-and-spoke overlay network using mGRE interfaces on the hub devices (see Figure 19).
Figure 19 Hub-and-Spoke Using mGRE Technology
Similarly to the point-to-point scenario, the following considerations are valid in this instance:
•The example is valid for a guest access application, so point-to-point GRE interfaces are defined for each spoke device, whereas mGRE is used on the centralized hub in the Internet edge. Also, traffic is originated from guest subnets defined at the edge of the network (spokes).
•The configuration sample refers to the traditional campus design, so VRF and GRE are defined on the distribution layer devices.
•Catalyst 6500 switches are deployed both as spoke and hub devices. Catalyst 4500s are not a viable alternative for this design because of the lack of support of NHRP in the context of the VRF.
Hub mGRE Configuration
The configuration required to create an mGRE interface on the hub and enable the NHRP functionality is as follows:ip vrf guestrd 100:1!interface Loopback10description src mGRE tunnel for Guestip address 10.122.200.10 255.255.255.255!interface Tunnel10description mGRE tunnel for Guestip vrf forwarding guestip address 220.127.116.11 255.255.255.0no ip redirectsip nhrp map multicast dynamicip nhrp network-id 10tunnel source Loopback10tunnel mode gre multipoint
NHRP is enabled on the mGRE interface using the ip nhrp network-id command. The value specified must match the one configured on the spoke devices. Also, the ip nhrp map multicast dynamic command is required to enable dynamic routing protocols to work over the mGRE tunnel when IGP routing protocols use multicast packets. The dynamic keyword prevents the hub device from needing a separate configuration line for a multicast mapping for each spoke router. This is important because the goal is to avoid any reconfiguration of the hub devices when adding a new spoke component.
Spoke GRE Configuration
The configuration of the spoke devices is almost identical to the one previously described for the point-to-point scenario. The only difference is the addition of the NHRP-related commands:ip vrf guestrd 100:1!interface Loopback10description src GRE tunnel for Guest to hub-1ip address 10.122.210.10 255.255.255.255!interface Loopback11description src GRE tunnel for Guest to hub-2ip address 10.122.211.10 255.255.255.255!interface Tunnel10description GRE tunnel for Guest to hub-1ip vrf forwarding guestip address 18.104.22.168 255.255.255.0ip nhrp network-id 10ip nhrp nhs 22.214.171.124ip nhrp registration timeout 60tunnel source Loopback10tunnel destination 10.122.200.10!interface Tunnel11description GRE tunnel for Guest to hub-2ip vrf forwarding guestip address 126.96.36.199 255.255.255.0ip nhrp network-id 11ip nhrp nhs 188.8.131.52ip nhrp registration timeout 60tunnel source Loopback11tunnel destination 10.122.201.10
Similarly to the hub case, the ip nhrp network-id command is used to enable the NHRP process on the tunnel interfaces (the values specified must match the values configured on the two hubs). In addition to that, the ip nhrp nhs command is required to specify the address of the NHRP server (hub). Finally, the ip nhrp registration timeout command is required to tune the frequency (in seconds) at which the spokes send the NHRP registration messages to the hubs. This command is required to allow a spoke to re-register in case the connectivity with the hub is interrupted and restored, which occurs every 2400 seconds by default.
Note The ip nhrp map multicast command is not required on the spoke devices because the tunnel interface is point-to-point, so all multicast packets are automatically sent to the other end (hub).
As described in Using Point-to-Point GRE, a mapping from the logical VLAN interface defining the guest subnets and the guest VRF is also required:interface Vlan11description Wired Guest subnetip vrf forwarding guestip address 172.16.11.2 255.255.255.0standby 11 ip 172.16.11.1standby 11 timers msec 250 msec 800standby 11 priority 105standby 11 preempt delay minimum 180
Verifying the NHRP Information
After configuring the tunnel interfaces on the hub-and-spoke, it should be possible to verify that the hub is receiving the NHRP registration message from the spoke device, therefore adding dynamic entries to the NHRP cache:6500-Int-1#sh ip nhrp184.108.40.206/32 via 220.127.116.11, Tunnel10 created 00:01:52, expire 01:59:05Type: dynamic, Flags: authoritative unique registeredNBMA address: 10.122.210.10118.104.22.168/32 via 22.214.171.124, Tunnel10 created 00:01:03, expire 01:59:54Type: dynamic, Flags: authoritative unique registered usedNBMA address: 10.122.210.111126.96.36.199/32 via 188.8.131.52, Tunnel10 created 00:00:33, expire 01:59:26Type: dynamic, Flags: authoritative unique registeredNBMA address: 10.122.210.121184.108.40.206/32 via 220.127.116.11, Tunnel10 created 00:00:06, expire 01:59:56Type: dynamic, Flags: authoritative unique registered usedNBMA address: 10.122.210.13
As shown in the previous configuration sample, the hub learns the physical, non-broadcast multiaccess address (NBMA) used to tunnel GRE packets destined to the spoke. This information is refreshed by the spoke with NHRP registration messages every 60 seconds (because of the tuning done with the ip nhrp registration timeout command). The default expiration time (hold time) is 7200 seconds (two hours) as noted on the right side in this example (expire 01:59:05). Under normal circumstances, this value should never go below 01:59:00, because it is re-initialized by the receipt of NHRP registration messages every 60 seconds.
Virtualizing the Routing Protocol
From a topology perspective, the routing protocol runs only between the spoke router and one or more hub devices. The solution implementing mGRE interfaces has been tested with EIGRP and OSPF because they are the most commonly deployed choices among enterprise customers.
When the connection of the spoke to the network comes up, it is ready to begin transmitting routing protocol information because the tunnel interface is configured as point-to-point. On the other side, the hub device cannot begin sending routing protocol information until NHRP registrations arrive from each spoke device and the NHRP cache gets populated.
Consider the following when configuring routing protocols in this scenario:
•GRE tunnel bandwidth—The default bandwidth of a GRE tunnel is 9 Kbps, which has two unwanted consequences:
–Any routing protocol using bandwidth as a metric is being given misleading information, which can cause unpredictable results.
–Cisco EIGRP assigns half of this bandwidth for the use of the routing protocol, which most likely is insufficient.
Cisco recommends configuring the bandwidth parameter on GRE tunnel interfaces to the actual bandwidth available on the link.
•IP maximum transmission unit (MTU)—It is important, especially when using OSPF, to verify that the IP MTU settings match on the tunnel interfaces on both sides of the link. The MTU value recommended here is 1400 bytes, which leaves room for GRE and IPsec overhead (if needed) and avoids packet fragmentation. More information on this topic can be found in Verifying the NHRP Information.
•OSPF interface types and priority—In the hub-and-spoke topology previously described, the mGRE tunnel interface is considered point-to-point from an OSPF standpoint. Because the same interface starts receiving hellos and OSPF packets from different spokes, this prevents the establishment of adjacencies. To fix the problem, configure the OSPF network type as broadcast on both the hubs and all the spokes. Also, set the OSPF priority to 0 on the spokes to guarantee that the hubs become the designated router (DR) and the backup designated router (BDR).
Based on these considerations, the configuration of the generic hub-and-spoke GRE interfaces needs to be changed as follows. (This configuration sample is also valid for OSPF.)
•Hubinterface Tunnel10description mGRE tunnelbandwidth 1000ip vrf forwarding guestip address 18.104.22.168 255.255.255.0no ip redirectsip mtu 1400ip nhrp map multicast dynamicip nhrp network-id 100ip ospf network broadcasttunnel source Loopback0tunnel mode gre multipoint
•Spokeinterface Tunnel10description GRE tunnel for Guest to hub-1bandwidth 1000ip vrf forwarding guestip address 22.214.171.124 255.255.255.0ip mtu 1400ip nhrp network-id 10ip nhrp nhs 126.96.36.199ip nhrp registration timeout 60ip ospf network broadcastip ospf priority 0tunnel source Loopback10tunnel destination 10.122.200.10!interface Tunnel11description GRE tunnel for Guest to hub-2bandwidth 1000ip vrf forwarding guestip address 188.8.131.52 255.255.255.0ip mtu 1400ip nhrp network-id 11ip nhrp nhs 184.108.40.206ip nhrp registration timeout 60ip ospf network broadcastip ospf priority 0tunnel source Loopback11tunnel destination 10.122.201.10
The configuration required to enable the routing protocols in the context of the guest VRF is identical to that described in the point-to-point scenario.
The only difference in this case is the fact that the hub devices learn all the routes for the guest subnets out of the same mGRE interface. Because of the additional information contained in the NHRP cache, the hubs are able to route back the traffic to the proper spokes (see the following sample output for an EIGRP example).6500-Int-1#sh ip route vrf guestRouting Table: guestCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 172.18.1.30 to network 0.0.0.017220.127.116.11/24 is subnetted, 1 subnetsD 172.17.11.0 [90/15360256] via 18.104.22.168, 00:01:10, Tunnel10[90/15360256] via 22.214.171.124, 00:01:10, Tunnel10172.16.0.0/24 is subnetted, 1 subnetsD 172.16.11.0 [90/15360256] via 126.96.36.199, 00:00:10, Tunnel10[90/15360256] via 188.8.131.52, 00:00:10, Tunnel10 172.18.0.0/24 is subnetted, 1 subnetsC 172.18.1.0 is directly connected, Vlan181184.108.40.206/16 is variably subnetted, 10 subnets, 2 masksC 220.127.116.11/30 is directly connected, Tunnel3D 18.104.22.168/30 [90/310044416] via 22.214.171.124, 00:00:38, Tunnel10C 126.96.36.199/30 is directly connected, Tunnel2C 188.8.131.52/24 is directly connected, Tunnel10D 184.108.40.206/30 [90/310044416] via 220.127.116.11, 00:00:39, Tunnel10D 18.104.22.168/24 [90/28160000] via 22.214.171.124, 00:00:35, Tunnel10[90/28160000] via 126.96.36.199, 00:00:35, Tunnel10[90/28160000] via 188.8.131.52, 00:00:35, Tunnel10[90/28160000] via 184.108.40.206, 00:00:35, Tunnel10C 220.127.116.11/30 is directly connected, Tunnel1D 18.104.22.168/30 [90/310044416] via 22.214.171.124, 00:00:35, Tunnel10C 126.96.36.199/30 is directly connected, Tunnel0D 188.8.131.52/30 [90/310044416] via 184.108.40.206, 00:00:40, Tunnel10S* 0.0.0.0/0 [1/0] via 172.18.1.30
The use of GRE tunnels to create overlay logical networks can eventually cause MTU issues because of the increased size of the IP packets. The goal is to avoid IP fragmentation whenever possible, and to avoid all related issues. For more information, see the following URL: http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml.
Fragmentation at the endpoints of a TCP connection is avoided by the negotiation of TCP maximum segment size (MSS) performed by the same endpoint stations. However, TCP MSS cannot help in avoiding fragmentation happening in the path between the endpoints. This can be because of the existence of a smaller MTU link or, as it is in this case, because of the need to tunnel IP packets that can render their size larger than the original.
To deal with this problem, two approaches are described in this guide. The first is based on the use of Path MTU Discovery (PMTUD), which allows you to dynamically determine the lowest MTU along the path from a packet source to its destination. Hosts usually perform PMTUD by default by the Do Not Fragment (DF) bit being set in all the sourced TCP/IP packets. With the DF bit set, if a router along the path tries to forward an IP datagram to a link that has a lower MTU than the size of the packet, the router drops the packet and returns an Internet Control Message Protocol (ICMP) Destination Unreachable message to the source of this IP datagram, with the code indicating fragmentation needed and DF set (type 3, code 4). When the source station receives the ICMP message, it lowers the send message segment size (MSS), and when TCP retransmits the segment, it uses the smaller segment size. This process continues until the correct MSS to allow end-to-end communication is determined.
Given the fact that the use of PMTUD is limited to TCP flows and assumes that the endpoints are always able to receive the ICMP message and to act upon them, when deploying hub-and-spoke overlay networks in a campus environment, the recommended approach is to modify the MTU value for the interfaces of the network devices to allow them to handle IP packets larger than 1500 bytes.
The configuration requires two steps:
1. Enable jumbo frame support on the physical interfaces for all the network devices deployed in campus, as shown in Figure 19.
Figure 20 Enable Jumbo Frame Support on Physical Interfaces
2. Set the IP MTU for GRE interfaces (hubs and spokes) to 1500 (default value is 1476), as shown in Figure 20.
Figure 21 Increase MTU on GRE Interfaces
The corresponding required configuration steps are the following:
•Enable Jumbo frames support on physical interfaces.interface TenGigabitEthernet1/1mtu 9216
•Increse the MTU size on the logical GRE interfaces.interface Tunnel11description GRE tunnel for Guest to hub-2ip mtu 1500
Loopback Interfaces Deployment Considerations
Important design considerations arise when discussing the principles for deploying loopback interfaces that function as source and destination of the GRE tunnels. The following considerations are also valid for either point-to-point GRE or mGRE tunnel scenarios:
•The loopback interfaces usually belong to the global routing table. Traffic belonging to different VRFs is logically isolated by mapping the logical tunnel interfaces to the corresponding VRFs.
•It must be determined from which range to take the IP addresses assigned to the loopback interfaces. The assumption here is that a proper subnet planning is in place, so that a summarized route can be used in the core from each campus building block, as shown in Figure 22. Note that the IP addresses used in this example simplify the description and are not intended to represent a best practice summarization schema.
Note The same considerations made in this section are generically valid every time loopback interfaces are configured on the distribution layer switches, not only when they are configured as tunnel source and destination.
Figure 22 IP Addressing Assignment in a Campus Network
Two options of assigning IP addresses to the loopback interfaces are as follows:
•Assigning IP addresses from the same pool that is summarized toward the core of the network. This is the case in the example shown in Figure 23.
Figure 23 Assigning a Loopback Address From a Campus Building Pool
In this specific scenario, sending a network summary to the core can cause the creation of a black hole if the link between the two distribution switches fails. Because the core devices receive only the summary information, it is not possible to predict the return path for the traffic originated elsewhere in the network and destined to any IP address that is part of that summary. In the example in Figure 23, it can happen that GRE traffic directed to the Loopback 0 on the right distribution switch is actually routed from the core to the left distribution device. At this point, it is essential to have connectivity between the two distribution switches to avoid the creation of a black hole.
When following this approach, Cisco recommends that you increase the reliability of the connections between the distribution layer peers by connecting these devices with redundant physical links (at least two) belonging to different line cards (to avoid the single point of failure represented by the switch line card itself). This can increase the cost of the solution, especially in the scenario where 10 G links are in place between the distribution switches, but it also provides the additional bandwidth required when this connection becomes a transit link.
Note Depending on the specific design, the two links might be bundled in a port channel (this is recommended when the connection is a Layer 2 trunk), or kept separate (if they are Layer 3 routed links).
•Assigning IP addresses from a pool that is not included in the summary sent toward the core of the network.
This the recommended solution that does not present the caveat discussed above because each distribution switch advertises to the core the specific IP addresses used for the loopbacks. The drawback is that all the specific routing information for the loopbacks defined on each campus distribution block needs to be contained in the routing tables of all the other campus network devices.
Additional considerations around loopbacks deployment are required when OSPF is the chosen routing protocol to provide global table connectivity in the campus network. In this case, the distribution layer switches are usually deployed as Area Border Routers (ABRs); the interfaces toward the core are placed in area 0, whereas the transit link between the distribution peers is normally configured as part of the OSPF area deployed in that specific campus distribution block (this is done to have a redundant path between the ABRs inside the specific area and avoid sub-optimal intra-area routing in specific link failure scenarios).
For loopback interfaces, the recommendation is not to configure them as part of area 0; doing so may in fact lead to black-holing traffic whenever the ABR loses connectivity to the core devices and assumes it still has connectivity in area 0 because of the loopback. This may be the case when the ABR device is booting up (the loopback will always be up before any linecard has completed the boot-up process) or also if the linecard whose interface are used to connect to the core fails isolating the ABR from area 0 (typically interfaces on the same linecard are used to connect to the core).
In both scenarios, when any IP packet arrives at the distribution switch from the access layer and needs to be routed toward a remote subnet (could be because that switch is the active HSRP or due to the default route advertisement in a routed access deployment), the switch does not forward traffic over the transit intra-area link since it thinks to have local connectivity to the backbone (because of the loopback in area 0). Since the switch can not forward the packet directly via an area 0 link, it will drop it causing a temporary outage.
In summary, the following two design principles should be followed when deploying loopback interfaces at the distribution layer of the campus network:
•Assigning IP addresses from a pool that is not included in the summary sent toward the core of the network.
•When deploying OSPF for global table connectivity, do not configure the loopback interfaces as part of Area 0.
High Availability Considerations
The recommended design to provide resiliency in the hub-and-spoke scenario consists of implementing redundant hub devices and creating two separate hub-and-spoke networks, connecting the spokes to each hub, as shown in Figure 24.
Figure 24 Redundant Hub-and-Spoke Overlay Networks
Each spoke device builds a separate GRE tunnel destined to the redundant pair of hubs, traffic is load balanced between the two tunnels, and each spoke learns a default route with the same metric from each hub (as described in the previous section).
Note that the overall resiliency of the overlay solution is based on the resiliency of the network infrastructure. This can be achieved by following the recommended design guidelines in these documents:
QoS in Hub-and-Spoke Deployments
Congestion inside a campus network is a rare event during normal operating conditions because of the large amount of available bandwidth. However, during an abnormal event, such as denial-of-service (DoS) or worm attacks, campus congestion can typically occur within minutes (even in 10 GE networks), as part of the collateral damage of such an attack. Therefore, classification and metering of traffic at the edge of the network is a valuable worm mitigation strategy. This strategy is even more relevant in scenarios where the enterprise does not usually have any control over the connected guest machines and therefore cannot enforce any security policies; for example, as when providing guest access. However, at enterprise branch locations, classification and metering of traffic becomes a priority, to achieve proper use of the bandwidth resources available across the WAN cloud.
The scenario described in this section relates to providing QoS for applications requiring hub-and-spoke connectivity; this is very relevant for GRE and VRF deployments and for the specific business problems they aim to solve (for example, guest access or for NAC remediation designs).
Two approaches are described in this section for classifying and handling traffic in hub-and-spoke deployments. The assumption is that there is the need to somehow limit the traffic originated from the edge of the network; for example, this is valid in guest access deployments.
The first approach strictly rate-limits the traffic originated from the subnets at the edge of the network, so that traffic exceeding a predetermined threshold is dropped and not allowed into the core of the network. The exact value to be used for the thresholds can vary from design to design. The goal of this section is to provide all the required tools to rate-limit traffic for both wired and wireless deployments. The main advantage of this approach is its simplicity, and also that its functionality is independent from the deployment of end-to-end QoS across the network.
The second approach is more dynamic and classifies the traffic at the edge and then prioritizes it inside the network. Again, the recommended strategy for classifying and marking the traffic is based on the definition of a specific threshold. Traffic within the threshold is treated as good faith, best effort traffic. Traffic exceeding the given allowance is marked as scavenger traffic and is aggressively dropped in the event of congestion. For these configuration examples, a threshold of 1 Mbps is used. However, note that this is just a sample value used for the configuration samples in this guide (the value of this threshold likely varies from enterprise to enterprise). Specific to these examples, traffic up to 1 Mbps is marked as best effort traffic (DSCP 0), whereas traffic that exceeds the threshold is marked as scavenger traffic (CS1 or DSCP 8).
The scavenger class of traffic was introduced to offer a less than best-effort service. Access layer policers mark out-of-profile traffic to CS1/DSCP8 (scavenger), and then have all congestion management policies provision a less than best-effort queuing service for this type of traffic. Traffic marked as scavenger starts being aggressively dropped whenever congestion occurs on campus or WAN edge links. If no congestion is experienced, the available bandwidth is successfully used. An approach based on the use of scavenger-class QoS is much more flexible and dynamic than a strict rate-limiting of traffic at the edge of the network. Additionally, it provides a worm mitigation strategy in cases where clients connected to the enterprise network become infected by a virus and the virus starts attacking the network infrastructure. To be effective, it is assumed that all the devices in the network have been configured with the proper Differentiated Services Code Point (DSCP) trust boundaries and queuing and dropping strategies. The configuration details to achieve this prioritization are beyond the scope of this guide. For more information on how to accomplish this for both campus and WAN scenarios, see the Enterprise QoS Solution Reference Network Design Guide at the following URL:
The following sections describe how to configure the devices at the edge of the network, indicating the various configuration steps that are required on various platforms for both of these approaches.
Traffic originated from wired clients is received on the access layer switches deployed in each campus building block or at each branch location. Classification and marking should be applied to these devices, as shown in Figure 25.
Figure 25 Classifying and Marking Traffic for Wired Clients
The most granular policing can be achieved by using per-port/per-VLAN policers that are supported on the Catalyst 2970, 3560, 3750, and 4500. Using per-port/per-VLAN policing has the following advantages:
•It defines a generic policy that is portable and that can be seamlessly applied across various access layer devices.
•It applies the policy to a physical port, and the policy is effective only when that port is deployed in the specified VLAN. This is important in a design where the same switch port is dynamically assigned to a different VLAN, based on the identity of the connected user.
For Catalyst 6500 switches, a different approach is used, given the lack of per-port/per-VLAN policing. See Catalyst 6500 for more information.
Note When deploying the static approach for wired clients, the recommended design consists of creating a two-tiered policy. At the access layer, traffic is rate-limited per port (per user) up to a certain threshold. At the distribution layer, an ingress policer is configured on the trunk ports connecting to the access layer devices, so that the aggregate traffic can be rate limited. The required configuration commands to create this two-tiered policy depend on the specific platforms deployed at the access and distribution layers.
Catalyst 2970, 3560, and 3750
Per-port/per-VLAN policing requires Cisco IOS Release 12.2(25)SE or later. To enable this functionality, you must use hierarchical policy maps. The required configuration steps follow. Most of the commands are common for both the static and dynamic approaches. The only difference is in the creation of the interface-level policy map.
Step 1 Enable QoS globally:3560-Access(config)#mls qos
Step 2 Enable VLAN-based QoS on the switch port.
By default, VLAN-based QoS is disabled on all physical switch ports. The switch applies QoS, including class maps and policy maps, only on a physical port basis. In Cisco IOS Release 12.2(25)SE or later, you can enable VLAN-based QoS on a switch port. This procedure is required on physical ports that are specified in the interface level of a hierarchical policy map on an SVI (defined in the next step).3560-Access(config)#int f0/173560-Access(config-if)#mls qos vlan-based
Step 3 Configure hierarchical policing.
Hierarchical policing combines VLAN and interface level policy maps to create a single policy map. On an SVI, the VLAN-level policy map specifies on which traffic class to act. Actions can include trusting the class of service (CoS), DSCP, or IP precedence values, or setting a specific DSCP or IP precedence value in the traffic class. The following steps are required for marking the traffic originated in a generic edge VLAN, accordingly to the strategy previously described.
a. Create a VLAN-level class map. Note that the ACL is generically defined to match all the IP traffic. This is the key for the ACL portability previously mentioned.3560-Access(config)#access-list 101 permit ip any any3560-Access(config)#class-map match-all EDGE-VLAN3560-Access(config-cmap)#match access-group 101
b. Create an interface-level class map to specify the physical switch ports that are affected by the policer.3560-Access(config)#class-map match-all EDGE-INTF3560-Access(config-cmap)#match input-interface f0/1 - f0/48
Note You can specify all the switch ports in the match input-interface command. The policer works on a given switch port only if it is part of the specified VLAN.
c. Create an interface-level policy map to define the action to take on traffic received on each port.
Traffic exceeding a specified threshold is dropped. Traffic below the threshold is marked as best effort and is transmitted.3560-Access(config)#policy-map EDGE-INTF-POLICY3560-Access(config-pmap)#class EDGE-INTF3560-Access(config-pmap-c)#set dscp default3560-Access(config-pmap-c)#police 1000000 8000 exceed-action drop
In this case, all the traffic that exceeds a specified threshold (1 Mbps in the example) is marked as scavenger traffic, but is not dropped.3560-Access(config)#mls qos map policed-dscp 0 to 83560-Access(config)#policy-map EDGE-INTF-POLICY3560-Access(config-pmap)#class EDGE-INTF3560-Access(config-pmap-c)#police 1000000 8000 exceed-action policed-dscp-transmit
d. Create the VLAN-level policy map:3560-Access(config-pmap)#policy-map EDGE-VLAN-POLICY3560-Access(config-pmap)#class EDGE-VLAN3560-Access(config-pmap-c)#set dscp default3560-Access(config-pmap-c)#service-policy EDGE-INTF-POLICY
e. Apply the previously define policy map to the SVI. This is the key step to ensure that the policer is effective on switch ports belonging to this VLAN (and only on these).3560-Access(config)#interface vlan 213560-Access(config-if)#service-policy input EDGE-VLAN-POLICY
The configuration of per-port/per-VLAN policing on Catalyst 4500 platforms is more straightforward than for the Catalyst 2970, 3560, and 3750, because it does not require the definition of hierarchical policy maps. To support this functionality, Cisco IOS Release 12.2(25)EWA or later is required (for Sup2+ to Sup V). The required configuration steps follow. Most of the commands are common for both the static and dynamic approaches, The only difference is in the creation of the policy map.
Step 1 Create a class map to identify the traffic:4500-Access(config)#access-list 101 permit ip any any4500-Access(config)#class-map match-all EDGE-VLAN4500-Access(config-cmap)#match access-group 101
Step 2 Define the policy map to mark the traffic.
Traffic exceeding a specified threshold should be dropped, whereas traffic below the threshold is marked as best effort and is transmitted.4500-Access(config)#policy-map EDGE-VLAN-POLICY4500-Access(config-pmap)#class EDGE-VLAN4500-Access(config-pmap-c)#set ip dscp 04500-Access(config-pmap-c)#police 1000000 8000 exceed-action drop
In this case, all traffic exceeding a specified threshold (1 Mbps in the example) is marked as scavenger traffic but is not dropped.4500-Access(config)#qos map dscp policed 0 to dscp 84500-Access(config)#policy-map EDGE-VLAN-POLICY4500-Access(config-pmap)#class EDGE-VLAN4500-Access(config-pmap-c)#set ip dscp 04500-Access(config-pmap-c)#police 1000000 8000 exceed-action policed-dscp-transmit
Step 3 Apply the policy map.
Note that this is done on a per-VLAN basis on each physical interface. This means that the policy is in effect only when the port is configured as part of that VLAN (or if it is a trunk carrying that VLAN).cr24-4503-1(config)#int g2/1cr24-4503-1(config-if)#vlan-range 11cr24-4503-1(config-if-vlan-range)#service-policy input EDGE-VLAN-POLICY
The Catalyst 6500 is the most powerful and flexible Cisco switching platform. As such, it can be found in all three layers of a campus network (access, distribution, and core). When configured as an access layer switch, traditionally the software running on the Supervisor is CatOS. When configured as a distribution or core layer switch, the recommended software is Cisco IOS. This distinction has changed since the introduction of the Sup32, which can run both CatOS and IOS code and is usually positioned as an access layer device. See Catalyst 6500 with Cisco IOS for the Cisco IOS configuration.
Note In this section, only Catalyst 6500 Supervisors equipped with Policy Feature Card 2 (PFC2) or PFC3 are taken into consideration. This categorization includes Sup2 (PFC2) and Sup32/Sup720 (PFC3), but not older Supervisor models (Sup1/Sup1a).
Catalyst 6500 with CatOS
Per-VLAN policers are supported in CatOS. However, this type of policer should not be confused with the per-port/per-VLAN policers described in the previous sections for the other Catalyst platforms.
A per-VLAN policer can police all flows within a given VLAN, as an aggregate sum of the traffic of all ports belonging to a given VLAN. A per-port/per-VLAN policer can discretely police flows from a given VLAN on a per-port basis, which is much more granular than other policing methods. Because the purpose of the design described here is to classify and mark the traffic received on each switch port, the aggregate per-VLAN policer is not used in this example; a port-based QoS is configured instead.
The required configuration steps follow. Most of the commands are common for both the static and dynamic approaches. The only difference is in the definition of the aggregate policer.
Step 1 Define the aggregate policer to be used for the edge traffic.
When configuring per-port policers in CatOS, a default behavior to keep in mind is that, in CatOS, ACLs and aggregate policers cannot be applied to more than one port at the same time. For example, if an aggregate policer called POLICE-EDGE is defined to rate-limit flows to 1 Mbps, and this policer is applied to two separate ports in CatOS, it rate-limits flows from both ports to a combined total of 1 Mbps, instead of the intended behavior of limiting flows to 1 Mbps on a per-port basis (as is the case if configured in Cisco IOS). To work around this default behavior, ACLs and aggregate policers have to be uniquely defined on a per-port basis.
Traffic exceeding a specified threshold is dropped, whereas traffic below the threshold is marked as best effort and is transmitted.6500-access> (enable) set qos policer aggregate EDGE-PORT-2-1 rate 1000 burst 8000 drop
In this case, all the traffic exceeding a specified threshold (1 Mbps in the example) is marked as scavenger traffic but is not dropped.6500-access> (enable) set qos policed-dscp-map 0:86500-access> (enable) set qos policer aggregate EDGE-PORT-2-1 rate 1000 burst 8000 policed-dscp"Bind an ACL to the policer to mark in-profile traffic as Best Effort (DSCP 0).6500-access> (enable) set qos acl ip EDGE-ACL-2-1 dscp 0aggregate EDGE-PORT-2-1 ip 10.124.10.0 0.0.0.255 any
Note Because the policy is applied to the physical switch ports, you need to take into consideration the fact that the same port can be used by different categories of users. For this reason, you need to define a more specific ACL to select the IP subnets from where the traffic originates. As a result, you lose the advantage of having a generic template seamlessly valid on different edge devices (which is possible when using the per-port/per-VLAN functionality, as previously described).
Step 2 Commit the ACL to PFC hardware:6500-access> (enable) commit qos acl EDGE-ACL-2-1
Step 3 Attach the ACL to the corresponding switch port:6500-access> (enable) set qos acl map EDGE-ACL-2-1 2/1
Catalyst 6500 with Cisco IOS
Hardware advancements in the PFC3 provide a number of new features, such as User-Based Rate Limiting (UBRL). UBRL is a form of microflow policing that provides rate-limited traffic flows and, unlike a normal microflow policer, it allows a policer to be applied to all traffic to or from a specific user.
In this section, UBRL is used to classify and mark the edge traffic. Each flow is examined by its source IP address and if a source is transmitting out-of-profile, the excess traffic can be dropped or marked as scavenger traffic (CS1 or DSCP 8), depending on the adopted approach.
The definition of a flow is determined by the flow mask; the flow mask is what defines a flow. The flow mask identifies fields in the packet header that are used to perform a lookup in the NetFlow table. In this case, use the source-only flow mask. The PFC maintains one entry for each source IP address, so that all flows from the given source IP address use this entry.
The configuration steps follow. Most of the commands are common for both the static and dynamic approaches. The only difference is in the definition of the policy map.
Step 1 Define the class-map to identify the edge traffic:6500-access(config)#access-list 101 permit ip 172.16.11.0 0.0.0.255 any6500-access(config)#class-map match-all EDGE6500-access(config-cmap)#match access-group 101
Step 2 Define the policy map. It is important to specify mask src-only in the police flow command to police all the traffic sent by each specific user. To do that, configure a null flow mask for NDE (NetFlow) using the no mls flow ip command (this is the default value for Sup720/Sup32).
Traffic exceeding a specified threshold is dropped, whereas traffic below the threshold is marked as best effort and is transmitted.6500-access(config-cmap)#policy-map EDGE-POLICING6500-access(config-pmap-c)#class EDGE6500-access(config-pmap-c)#set dscp default6500-access(config-pmap-c)#police flow mask src-only 1000000 8000 conform-action transmit exceed-action drop
In this case, all the traffic exceeding a specified threshold (1 Mbps in the example) is marked as scavenger traffic but is not dropped.6500-access(config)#mls qos map policed-dscp normal 0 to 86500-access(config-cmap)#policy-map EDGE-POLICING6500-access(config-pmap-c)#class EDGE6500-access(config-pmap-c)#set dscp default6500-access(config-pmap-c)#police flow mask src-only 1000000 8000 conform-action transmit exceed-action policed-dscp-transmit
Step 3 Attach the policy map to the physical interfaces:6500-access(config)#interface GigabitEthernet1/16500-access(config-if-range)#service-policy input EDGE-POLICING
Note In cases where the policy map is attached to a VLAN interface instead of to a physical port, you must also use the mls qos vlan-based command on the switch port (belonging to that specific VLAN) where the traffic is received, as shown in the following example.
6500-access(config)#interface GigabitEthernet1/146500-access(config-if)#sw acc vlan 1006500-access(config-if)#mls qos vlan-based6500-access(config-if)#interface vlan 1006500-access(config-if)#service-policy input EDGE-POLICING
Whenever an inbound policy map is applied to a physical or logical interface of a Catalyst 6500 with PFC3, the DSCP is set on the ASIC of the egress line card before sending out the packet. This has an important consequence when the traffic needs to be sent on a tunnel interface (see Figure 26).
Figure 26 Applying a Policy Map Before Tunneling Traffic
Because of this hardware functionality, the DCSP field is set correctly in the outer IP header but not in the original IP header. This needs to be taken into consideration when the traffic is decapsulated on the switch terminating the GRE tunnel because, at that point, the marking information is no longer available.
Note This problem does not exist when traffic is not encapsulated because, in that case, only one IP header is present.
Marking strategies for traffic originating from wireless clients vary with the specific wireless deployment and with the network location (campus or branch). The same marking strategies described in the previous sections can also be applied for wireless deployments. The main difference is that now marking cannot be done on a user basis (as is done in the wired case using the per-port/per-VLAN functionality), but is done more on an aggregate basis, as described in the following sections.
As previously described for a wired scenario, a static and a dynamic QoS approach also applies for wireless deployments.
When deploying standalone access points at the edge of the network, the traffic originating from wireless clients is locally bridged to a VLAN defined on the access layer and distribution layer network devices. This situation is identical to the wired case previously described, so the classification and marking strategies described in the previous sections can be implemented on the access layer port where the access points are connected. This is valid for both campus and branch deployments, as shown in Figure 27.
Figure 27 Classifying and Marking Traffic in a Traditional Wireless Deployment
In a wireless deployment using WLSM, the traffic is GRE-encapsulated on the access points distributed at the edge of the network and is then conveyed to a central location where the WLSM is located (in this example, this is in the enterprise data center). As a result, there are two kinds of traffic to consider: GRE traffic originated on the edge access points and directed to the Catalyst 6500 equipped with WLSM, and decapsulated traffic entering the wired portion of the network at the same Catalyst 6500 switch.
As previously mentioned, when deploying the static approach, the idea is to strictly rate-limit the traffic at the edge of the network. Traffic exceeding the predefined threshold is dropped and is not allowed further into the network. As a result, even for WLSM deployments, Cisco recommends performing ingress policing on the access layer switches, as shown in Figure 28.
Figure 28 Rate-Limiting Traffic on the Access Layer Device
Note that the per-port/per-VLAN functionality does not help much in this case because all the GRE traffic is sent out on the same VLAN (access point management VLAN) regardless of to which SSID (user group) the clients belong. To statically rate-limit the traffic for a specific user group, you must configure an ACL matching the destination address of the GRE tunnel that originated on the AP and associate it to the corresponding SSID. This still allows for the creation of a generic ACL that can be applied across different access layer devices.
Following is a sample configuration that is valid for a Catalyst 3560, and easily extendable to other Catalyst platforms:
Step 1 Define the class map to identify the edge traffic:3560-access(config)#access-list 110 permit gre any host 10.121.253.2543560-access(config)#class-map match-all EDGE-GRE3560-access(config-cmap)#match access-group 110
Step 2 Define the policer:3560-access(config)#policy-map EDGE-GRE-POLICY3560-access(config-pmap)#class EDGE-GRE3560-access(config-pmap-c)#police 1000000 8000 exceed-action drop"Apply the policer on the switch interfaces3560-access(config)#interface FastEthernet0/343560-access(config-if)#service-policy input EDGE-GRE-POLICY
Marking of the decapsulated traffic at the centralized location is the recommended choice when deploying a dynamic approach. This is done on a Catalyst 6500 equipped with Sup720; UBRL is the logical choice. The policer can be applied on the mGRE interface receiving all the edge traffic, to apply the marking before sending it into the core, as shown in Figure 29.
Figure 29 Policing Applied on the mGRE Interface at the Central Location
The required configuration steps are as follows.
Step 1 Define the class map to identify the edge traffic:6500-DC(config)#access-list 101 permit ip any any6500-DC(config)#class-map match-all EDGE6500-DC(config-cmap)#match access-group 101
Step 2 Define the policer to be applied on the mGRE interface. Mark all traffic that exceeds the specified threshold (1 Mbps in the example) as scavenger traffic (not dropped).6500-DC(config)#mls qos map policed-dscp normal 0 to 86500-DC(config)#policy-map EDGE-POLICING6500-DC(config-pmap)#class EDGE6500-DC(config-pmap-c)#police flow mask src-only 1000000 8000 conform-action set-dscp-transmit 0 exceed-action policed-dscp-transmit
Step 3 Apply the policer:6500-DC(config)#interface Tunnel 106500-DC(config-if-range)#service-policy input EDGE-POLICING
When applying an inbound policy map on the mGRE logical interface, the same considerations proposed in Catalyst 6500 with Cisco IOS are still valid. If the traffic is eventually GRE-encapsulated before being sent out, only the outer IP header has the DSCP field marked correctly.
Because the GRE traffic originated on the distributed access points, it must be sent across the campus core to get aggregated on the Catalyst 6500 equipped with WLSM. Optionally, you can mark it on the access layer device where the access point is connected.
As mentioned in the section covering the static approach, you cannot use the per-port/per-VLAN functionality, so you must configure an ACL matching the destination address of the GRE tunnel originated on the access point and associate it to the user SSID. Following is a sample configuration that is valid for a Catalyst 3560, and easily extendable to other Catalyst platforms:
Step 4 Define the class map to identify the edge traffic:3560-access(config)#access-list 110 permit gre any host 10.121.253.2543560-access(config)#class-map match-all EDGE-GRE3560-access(config-cmap)#match access-group 110
Step 5 Define the policer. Mark all traffic that exceeds the specified threshold (1 Mbps in the example) as scavenger traffic (not dropped):3560-access(config)#mls qos map policed-dscp normal 0 to 83560-access(config)#policy-map EDGE-GRE-POLICY3560-access(config-pmap)#class EDGE-GRE3560-access(config-pmap-c)#set dscp default3560-access(config-pmap-c)#police 1000000 8000 exceed-action policed-dscp-transmit
Step 6 Apply the policer on the switch interfaces:3560-access(config)#interface FastEthernet0/343560-access(config-if)#service-policy input EDGE-GRE-POLICY
Deploying WLAN controllers in the campus network implies that all traffic is tunneled from the edge access points to the controllers that can be deployed, for example, in a centralized location such as the campus data center. This behavior is very similar to the WLSM-based scenario described previously. The main differences are that traffic is tunneled using Lightweight Access Point Protocol (LWAPP) (and not GRE), and that the configuration of all the access points is performed centrally from the controller.
Differently from WLSM deployments, in this case keep in mind that the same LWAPP tunnel is used to carry data traffic for users belonging to different groups (usually associated using different SSIDs). As a result, it is not possible to classify the traffic for a specific user group on the access layer switch where the access point is connected. The only option is then to classify and rate limit it when it is bridged on the corresponding VLAN at the WLAN controller location. The platform where this is accomplished can vary, but is most likely a Catalyst 6500 when deploying the WLAN controllers in a centralized location (such as a data center), or when using the WLSM.
Following is a sample configuration that is valid for a Catalyst 6500:
Step 1 Define the class map to identify the edge traffic:6500-DC(config)#access-list 101 permit ip any 10.124.150.0 0.0.0.2556500-DC(config)#class-map match-all EDGE-TRAFFIC6500-DC(config-cmap)#match access-group 101
Step 2 Define the policer:6500-DC(config)#policy-map EDGE-TRAFFIC-POLICING6500-DC(config-pmap)#class EDGE-TRAFFIC6500-DC(config-pmap-c)#police flow mask dest-only 1000000 8000 conform-action set-dscp-transmit 0 exceed-action drop
Step 3 Apply the policer on the switch VLAN interface:6500-DC(config)#interface Vlan 1506500-DC(config-if-range)#service-policy input EDGE-TRAFFIC-POLICING
Once again, the dynamic approach consists in marking out-of-profile traffic as scavenger traffic. Following decapsulation, the traffic is bridged to a unique VLAN that is associated to the WLAN, so Cisco recommends that you mark the traffic on the switch to which the controller is connected, as shown in Figure 30.
Figure 30 Marking LWAPP-Decapsulated Traffic
Depending on the specific platform to which the controller is connected, you can perform the same type of marking strategy that is described in Figure 30.
Additionally, when a WLAN is created on the controller, it is possible to associate a QoS level to it (see Figure 31).
Figure 31 Selecting a QoS Level for a WLAN
Depending on the level selected, the access point marks the DSCP for upstream traffic. The DSCP is set in the external IP header (traffic is LWAPP-encapsulated), as shown in Table 3.
With the adoption of the Cisco QoS Baseline (starting in 2002), Cisco does not recommend using terms such as platinum, gold, silver, and bronze to describe QoS classes, because such terms do not accurately convey the service level requirements of the applications within the classes. Furthermore, such terms seem to convey an oversimplified and often inaccurate strict application hierarchy. The following is per the QoS baseline:
•DSCP 46 is the default marking for a voice class.
•DSCP 26 (also referred to as AF31, as defined in RFC 2597) is the default marking value for a locally defined mission-critical data class.
•DSCP 0 is the default marking for the best effort class (per RFC 2474).
•DSCP 10 (also referred to as AF11, as defined in RFC 2597) is the default marking value for a bulk data class.
As shown in Table 3, the bronze setting does not correspond to a scavenger value (CS1 or 8), but to bulk (10). As a result, there are the following two options:
•Leave the default marking for LWAPP-encapsulated traffic and configure the queuing strategy on all the devices between the access point and the controller so that this type of traffic is handled in a similar manner as the scavenger class.
•Mark the LWAPP-encapsulated traffic on the first access layer switch where the access point is connected, similar to what is suggested for GRE traffic in the WLSM scenario. If using this approach, the selection of the QoS level for the WLAN becomes meaningless because the traffic is marked anyway.
Note As described in WLSM, the marking of traffic is optional. Cisco recommends marking the LWAPP-decapsulated traffic that is bridged by the WLAN controller on the corresponding VLAN. This should be always done, considering that any previous marking that applied to LWAPP traffic is lost when the traffic is decapsulated on the controller.
For branch deployments, there are the following two options when deploying WLAN controllers:
•In the first option, a local WLAN controller is deployed at the branch location. In this case, the same considerations given for campus deployments can be followed.
•In the second option, remote edge access points are deployed at the branch location to locally bridge the user traffic. In this case, the classification and marking of traffic can be accomplished in the same manner as the wired case.
Both these options are shown in Figure 32.
Figure 32 Classifying and Marking Traffic at the Branch for WLAN Controller Deployments
Challenges and Limitations Using VRF and GRE
As described in previous sections, it is clear that the use of VRF and GRE to build VPNs inside the campus network provides many advantages when compared with the distributed ACLs approach. These advantages include the support of overlapping address spaces between VPNs, the path differentiation capabilities offered by the use of a separate routing table per VPN, and the perception of the achievement of a safer solution.
However, the VRF and GRE solution should be implemented only in applications for which it is well-suited, because of the following limitations:
•Operational complexity—As previously mentioned, building a VPN using VRF and GRE is well-suited for applications required hub-and-spoke connectivity. In scenarios where any-to-any connectivity must be achieved, the configuration task in building GRE tunnels connecting all the various sites of the network can quickly become unmanageable. The use of mGRE helps in simplifying the configuration, but it is minimized by the limited level of support on platforms normally deployed in campus networks.
•Limited scalability and performances—As discussed in Connectivity Requirements, GRE is supported in hardware only on Catalyst 6500 switches equipped with Supervisor 32 or 720. As a result, the scalability and performance that can be achieved with this solution are tightly linked to the specific devices deployed in the network. Also, for designs where deployed platforms supporting GRE in software (such as Catalyst 4500 switches), additional precautions must be taken to protect the CPU of these devices from becoming over-used. The recommended way to achieve this is by rate limiting the traffic.
Path Isolation Deploying MPLS VPN
Multiprotocol Label Switching (MPLS) has traditionally been viewed as a service provider (SP) routing technology: SPs have commonly used MPLS VPN to create tunnels across their backbone networks for multiple customers. In that way, individual customer traffic is carried on a common service provider network infrastructure. Using the same principle, MPLS VPN can be deployed inside the enterprise network to logically isolate traffic between users belonging to separate groups (as for example guest, contractors, and employees) and to provide a technical answer to the business problems discussed at the beginning of this guide.
The main advantage of MPLS VPN when compared to other path isolation technologies is the capability of dynamically providing any-to-any connectivity without facing the challenges of managing many point-to-point connections (as for example is the case when using GRE tunnels). MPLS VPN facilitates full mesh of connectivity inside each provided segment (or logical partition) with the speed of provisioning and scalability found in no other protocol. In this way, MPLS VPN allows the consolidation of separate logical partitions into a common network infrastructure.
The following sections of this guide describe the steps required to enable MPLS VPN end-to-end across the enterprise network. The initial section presents a quick overview of the MPLS VPN technology; the assumption here is that the reader is already familiar with the technology, so the purpose of this specific section is simply to review how the technology works and what are the various technical components involved. After that, the focus shifts to deploying MPLS VPN in an enterprise campus environment: the goal here is to provide design guidance for applying MPLS VPN to the enterprise campus and analyze the impact that has on a campus network configured following the recommended and consolidated design. The design considerations are provided based on some initial assumptions that are discussed in Path Isolation Initial Design Considerations and that are reviewed in this section.
MPLS VPN Technology Overview
As already mentioned in the previous section, MPLS was originally deployed for the service provider environment. This heritage becomes more evident when describing the various roles that the network devices perform in an MPLS-enabled network.
Figure 33 shows the three roles a device can play when deploying MPLS.
Figure 33 Device Roles in an MPLS Network
1. Customer edge (CE) router—This is traditionally the network device at the customer location that interfaces with the service provider. In Figure 33, CE1 and CE2 represent the routers at the customer remote locations that need to be interconnected via the MPLS service provider network.
2. Provider edge (PE) router—This is the device at the edge of the service provider network that interfaces with the customer devices. The PE devices are often also called label switching routers edge (LSR-Edge), because they sit at the edge of the MPLS-enabled network.
3. Provider (P) router—These are the devices building the core of the MPLS-enabled network. Their main functionality is to label switch traffic based on the most external MPLS tag imposed to each packet and for this reason are often referred to as label switching routers (LSRs)
From a control plane point of view, an MPLS-enabled network uses two separate protocols: first, an IGP running in the core of the network and providing connectivity between the various network devices. Second, a Label Distribution Protocol (LDP) providing a standard dynamic methodology for hop-by-hop label distribution in the MPLS network. LDP works by assigning labels to routes that have been chosen by the underlying IGP routing protocol. The resulting labelled paths, shown in Figure 34 and called label switched paths (LSPs), forward label traffic across an MPLS backbone to particular destinations.
Figure 34 MPLS Control Plane
From the point of view of data forwarding, traffic that needs to be sent between remote customer sites is label-switched along the LSP, as shown in Figure 35.
Figure 35 MPLS Data Plane
Each device along the LSP switches the traffic based on the incoming MPLS label; a new tag is imposed before the packet is sent to the next device. Notice that the behavior shown in Figure 35 may be in reality slightly different because of a functionality called Penultimate Hop Popping (PHP). By default the egress PE device explicitly informs the neighbor P not to tag packets directed to it, so that the PE can switch the packet based only on IP information without having to do a double lookup (first one for the MPLS tag, second one for the IP information). Figure 36 shown the same network above when using PHP.
Figure 36 Penultimate Hop Popping
Figure 37 MPLS Label
The structure is as follows:
•MPLS Label—20-bit field used for label switching the packet and is replaced at every hop in the MPLS network
•EXP—3-bit field that is used to indicate the class of service (CoS) of the MPLS packet (similarly to the CoS field in Ethernet frames)
•S—Bit used to indicate the bottom of the stack when more than one MPLS label is imposed on the packet (as seen subsequently in the case in the MPLS VPN scenario)
•TTL—8-bit time-to-live value (having the same functions of loop detections as the homonymous IP field)
The MPLS label is placed after the Layer 2 headers for a packet. Notice that a packet can have multiple MPLS labels appended to it; this is referred to as the label stack. Each MPLS label has a specific meaning for the node that pushed the label onto the packet, and the node that pops that label from the stack. The LSR routers in the network forward packets only based on the outer most label. The lower labels are taken into account only when they become the outermost label after the previous outermost label has been popped. MPLS labels are pushed onto packets starting with the original frame, and additional labels are added on top of the outer most label. MPLS labels are popped starting with the outer most label, the last one pushed onto the label stack. (See Figure 38.)
Figure 38 MPLS Label Stack
Another important concept widely used when discussing MPLS is the forwarding equivalence class (FEC). An FEC is a set of packets that all meet some defined criteria, and are forwarded in the same way by a router. The packets can differ from each other from the information carried in the network layer (source, destination addresses, and ToS) but are forwarded using the same rule. An example of an FEC is all unicast packets destined to a particular prefix. They can have different destination addresses but the destination addresses all fall under the same prefix. The forwarding entry that a router maintains for a packet contains the classification criteria (normally destination address) and the next hop address. Packets that fall into an FEC associated with a particular forwarding entry are forwarded to the next hop router specified by the entry. Note that an FEC in the world of IPv4 routing is nothing more than a prefix in the routing database; this essentially implies that a separate LSP is built for each individual routing database entry.
MPLS VPN Rehearsal
The discussion above applies to a scenario where the MPLS network is used to connect remote sites belonging to the same customer organization. For the SP to use the same MPLS core to provide connectivity services to different customers, as shown in Figure 39, something more than MPLS is needed, which is MPLS VPN.
Figure 39 MPLS VPN
The key technology that simplifies the deployment of MPLS VPN is VRF, which is discussed in Control Plane-Based Path Isolation. As shown in Figure 39, defining distinct VRF instances on each PE device allows separating the traffic belonging to different customers, allowing for logical isolation and independent transport across the common MPLS core of the network. Notice that the VRF definition is required only on the PE devices, whereas the P routers in the core of the network have no knowledge of VRFs; they simply label-switch traffic based on the most external MPLS label.
From a control plane perspective, an additional component now needs to be added to the IGP and LDP protocols previously discussed: Multi-Protocol BGP (MP-BGP), which is used as the mechanism to exchange VPN routes between PE devices. As shown in Figure 40, for this to work, an MP-iBGP session needs to be established between all the PE devices (in a fully meshed fashion).
Figure 40 Control Plane for MPLS VPN
From a control plane perspective, the following two important elements need to be defined to perform the exchange of VPN routes through MP-BGP:
•Route distinguisher (RD)—Represents a 64-bit field (unique for each defined VRF) added to each 32-bit IPv4 address to come up with a unique 96-bit VPN IPv4 prefix. This ensures the uniqueness of address prefixes across different VPNs, allowing support for overlapping IPv4 addresses.
•Route target—Represents an extended attribute exchanged through MP-BGP and allows the PE devices to know which routes need to be inserted into which VRF. Every VPN route is tagged with one or more route targets when it is exported from a VRF (to be offered to other VRFs). It is also possible to associate a set of route targets with a VRF, so that all the routes tagged with at least one of those route targets are inserted into the VRF.
From a data plane perspective, the packets belonging to each VPN are labeled with two tags: the internal tag uniquely identifies the specific VPN the packets belong to, whereas the external tag is used to label-switch the traffic along the LSP connecting the ingress PE toward the egress PE. This concept is highlighted in Figure 41.
Figure 41 Data Plane for MPLS VPN
As shown in Figure 41, when the IP packet is received at the ingress PE, a first VPN label is imposed on it. The information on what VPN label to apply has been received from the egress PE via MP-iBGP. Before sending the packet to the MPLS core, the ingress PE must also impose a second tag (the most external one), which is used to label switch the packet along the LSP connecting the ingress PE to the egress PE. When the egress PE receives the packet, it is able to look at the VPN label and based on that specific label, send the traffic in the proper VPN.
Finally, the last element that needs to be considered for an MPLS VPN deployment is the route reflector (RR). Because MP-iBGP sessions need to be established between the different PEs defined at the edge of the MPLS network, Cisco usually recommends not deploying a full mesh of iBGP connections but instead using several devices as route reflector routers.
Figure 42 Deployment of Route Reflectors
Each route reflector peers with every PE device (in a hub-and-spoke fashion), contributing to the overall stability of the design. Also, deploying route reflectors eases the addition of new sites, because only a new peering with the route reflector needs to be established without modifying the configuration of the remaining PE devices. The following paragraph highlights the advantages of deploying route reflectors both in a campus and WAN environments.
MPLS VPN in Campus
High Level Design Principles
Current campus networks must address a new set of customer requirements, such as the desire for mobility, the drive for heightened security, and the need to accurately identify and segment users, devices, and networks. All these drivers are leading enterprises to revisit their campus design requirements.
The Cisco-recommended design for the campus network is architected in a hierarchical model comprised of core, distribution, and access that provide distinct features and functionalities. Multi-tier designs using Layer 2 in distribution and access enable the design of modular topologies using scalable "building blocks" that allow the network to meet evolving business needs. The multi-tier model based on modular design is easy to scale, understand, and troubleshoot because it follows a deterministic traffic pattern.
An in-depth discussion of Cisco-recommended campus network design is out of the scope of this guide. For more information on this topic, see the following URL: http://www.cisco.com/en/US/netsol/ns815/networking_solutions_program_home.html.
When deploying MPLS VPN in a campus environment, keep in mind the following two key points:
•The assumption is that the campus network should be always deployed following the recommended design principles highlighted in the documents referenced above.
•Understanding what modifications (or simplifications) need to be applied to an SP-based technology to fit within the enterprise, while trying to maintain the campus MPLS deployments as simple and straightforward as possible. This means that deploying network virtualization should not impact "what is already working" in the network. In addition, even inside each logical partition, the user should experience the same characteristics of scalability, hierarchy, stability, and so on, as if the user was part of a dedicated physical infrastructure.
The general considerations made in Path Isolation Initial Design Considerations are also valid also when deploying MPLS VPN as a path isolation option; it is thus recommended to read that specific section to properly frame the solution. In addition to that, some important design principles or differences between an enterprise MPLS-VPN and an SP deployment need to be kept in mind when specifically deploying MPLS VPN in a campus environment. The following assumptions are also uniquely characterizing these deployments from the traditional service provider ones.
•New design principles related to the IGP deployment now need to be kept in mind:
–The IGP used in the global table runs edge-to-edge across the enterprise network, differently from an SP-like MPLS VPN deployment, where usually it is confined in the core.
–There are no longer customer IGPs running at the edge of the network whose routes are tunneled across the backbone. This is always true if the PE devices are deployed at the campus distribution layer and the access layer provides only Layer 2 functions (multi-tier design). In routed access designs, the access switches may play the multi-VRF CE role, so an IGP may be required in the context of each defined VRF to exchange routes between the access and distribution devices (these IGP instances can be considered the equivalent of "customer IGPs" found in SP deployments).
•The IGP used in the global table has a double functionality: on one side, it allows the establishing of MP-iBGP sessions between the PE devices deployed at the edge of the MPLS domain and to exchange MPLS labels through a specific LDP protocol. At the same time, it is also used to allow network connectivity to the entities that remain in the global table. As already mentioned, the current recommendation is to use virtual networks only for specific purposes. This means that most of the internal enterprise traffic still remains switched in the global table. This represents a first differentiation from the SP-like MPLS VPN deployment, because in that case the global table is usually used to provide only PE-PE connectivity and does not extend to the edge of the network but only remains in the core.
•The solution discussed here constitutes an evolutionary or overlay design. The goal of this design is to use MPLS VPN to provide additional services within an existing network to complement rather than replace the existing campus network.
•The MP-BGP process represents the control plane that allows the establishment of forwarding paths for VPN traffic and is used in addition to the IGP that perform the same functionality for IPv4 global traffic. As a consequence, a single AS scenario is discussed in this phase of the project: this implies that the routing protocol in global table (IGP) extends end-to-end in the enterprise network (campuses, data centers, and remote offices). MP-BGP is thus overlaid on top of the IGP running in the global table.
•Enterprise design requires end-to-end operational support processes. The division between PE and CE devices exists now technically but not operationally, because both are now part of the same enterprise network and as such are most likely administered by the same group. Also, it is worth noting that in many cases, there is no CE device or role in the design either, because when deploying MPLS VPN in multi-tier campus networks, all the edge VPN subnets results directly connected to the PE devices. As previously mentioned, multi-VRF CEs may be deployed in routed access scenarios.
One of the main goals of this guide is to determine the impact of turning on MPLS VPN in a working campus network environment deployed based on the hierarchical design recommendations. Figure 43 shows an example of a hierarchical campus network. The various campus distribution blocks are connected by a high speed core. The assumption here is that these connections are point-to-point links and that the enterprise has control of all the devices building the high speed core.
Figure 43 Hierarchical Campus Network
Figure 44 Campus Network Topologies
These represent three common topologies that are often deployed. Although it is always recommended that the core network design implement a full mesh topology whenever possible, it is relevant to note that there is often not the possibility of connecting the core devices in a fully-meshed fashion because of cost or geographical location issues. In such hybrid scenarios, each building block would be fully meshed to the core devices, and the core devices would be linked in a ring fashion. The campus fully-meshed design is traditionally the recommended one for its characteristics of convergence, reliability, and traffic load balancing. This recommendation holds true when deploying MPLS VPN in the campus environment. However, because following this guideline may not always be possible in real network deployments, the following sections highlight possible issues to keep in mind when deviating from the ideal fully-meshed scenario.
Network Device Roles
As discussed in MPLS VPN Technology Overview, when deploying MPLS VPN, there are essentially four roles that the device can play in the design: CE, PE, P, and route reflectors (RRs).
In a traditional multi-tier campus design, the access layer devices are Layer 2 capable and the first Layer 3 hop in the network is at the distribution layer. Core nodes are Layer 3 routed devices interconnecting various campus distribution blocks.
When deploying MPLS VPN as an overlay model in such campus environment, the recommended roles and positioning for the network devices involved in the deployment are shown in Figure 45.
Figure 45 Device Roles in an MPLS Network
As shown in Figure 45, the PE devices are positioned at the first Layer 3 hop in the network, which is the distribution layer. VRFs must in fact be defined at the first Layer 3 hop device, to extend at Layer 3 the logical isolation provided by VLANs at Layer 2. As a consequence, the recommendation is to deploy there a platform supporting VRF capabilities and capable of performing MPLS label-switching functionalities.
Note In designs where the platforms deployed at the distribution layer are not MPLS capable, the use of some other technique (such as VRF-lite) is required to extend the VRF isolation to a PE device deployed in the core. Discussing this model is out of the scope of this guide, so the assumption here is that MPLS-capable devices are deployed in the distribution layer of the campus network.
Deploying PE functionalities at the distribution layer implies that all the other devices constituting the high speed core of the network play the P role. Note how in the specific design shown in Figure 45, there are actually no true CE devices, because the only entities connecting to the PE (except for the P switches) are access layer switches that perform only Layer 2 functionalities. Finally, Cisco recommends using two additional routers as RRs, connecting them to the core devices.
Note RR deployment is further discussed in MP-iBGP Deployment Considerations.
VRF and MPLS on Catalyst 6500 Platforms
The only switching platform commonly deployed in campus networks currently supporting MPLS is the Catalyst 6500 equipped with Sup720 or Sup32 PFC3B or DFC3B (and higher). Having an understanding of the operation of label switching on this device helps in comprehending the design and how to better troubleshoot eventual issues discussed subsequently in MPLS-Specific Troubleshooting Tools.
Note MPLS is supported only on 6500 platforms running Cisco IOS (Native) and not in a Hybrid (CatOS + IOS) system.
For a basic understanding of packet forwarding in the Catalyst 6500 architecture and for more information on terms such as PFC, DFC, and CEF, see the following URL: http://www.cisco.com/en/US/products/hw/switches/ps708/index.html.
Hardware Components Involved in MPLS Switching
To understand the various platform components involved in MPLS switching, it is necessary to distinguish between control and data planes, as shown in Figure 46.
Figure 46 High Level View of Control and Data Planes on Catalyst 6500
The routing protocols (usually OSPF and EIGRP in a campus environment) running in global table learn routes from the routing peers and install those routes into the routing database. After the routing database has been populated, the CEF process takes the information in the database and populates the forwarding table. This table is then programmed and pushed down to the DFC (if DFC-enabled line cards are present in the system) and the PFCs on the supervisors.
In addition to this, after MPLS is enabled on the device, there is an additional control plane represented by a label distribution protocol that can be thought as a routing protocol for MPLS, because it provides neighbor devices with information about MPLS labels. The label information received from the neighbors is loaded into the label database. Once again, the CEF process running on the SP takes that information and builds a second label database. Notice that this data structure contains v4 routes, v6 routes, and MPLS forwarding entries, and those MPLS forwarding entries basically form part of it.
The commands to view the contents of these databases on the SP and DFC3s are the same as the ones used on any Cisco IOS-based distributed forwarding platform. These commands, with the relative output, are as follows:
•show mpls forwarding-tablecr20-6500-1#sh mpls forwarding-tableLocal Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface16 Pop tag 192.168.100.19/32 0 Te1/1 10.122.5.3017 Pop tag 10.122.5.10/31 0 Te1/2 10.122.5.26Pop tag 10.122.5.10/31 0 Te1/1 10.122.5.3018 Pop tag 10.122.5.6/31 0 Te1/2 10.122.5.26<SNIP>
•show ip cefcr20-6500-1#sh ip cefPrefix Next Hop Interface0.0.0.0/0 10.122.5.26 TenGigabitEthernet1/220.127.116.11/32 receive18.104.22.168/32 receive10.122.5.2/31 10.122.5.26 TenGigabitEthernet1/22.214.171.124 TenGigabitEthernet1/1<SNIP>
To show the platform-specific hardware databases programming, use the following commands:
•show mpls platform forwarding-table (issued on PFC3 / DFC3 modules)
•show mls cef mplscr20-6500-1#sh mls cef mplsCodes: + - Push label, - - Pop Label * - Swap LabelIndex Local Label Out i/fLabel Op576 0 (EOS) (-) recirc608 100 (-) Vl355 , 0009.e845.4fff609 101 (-) Vl355 , 0009.e845.4fff610 97 (-) Te1/3 , 0009.448e.0e00611 98 (-) Vl305 , 0009.e845.4fff<SNIP>
From a data plane perspective, the information in the label database is used to make that forwarding decision for outgoing MPLS packets.
Figure 47 shows the Catalyst 6500 hardware components.
Figure 47 Sup720 Architecture
There are RP and the SP processors on the MSFC3. The DRAM on the RP holds the routing and label databases. As previously discussed, the SP takes the information contained in these tables and programs the unified routing database on the PFC3. The PFC3 can be divided in two main components: Layer 3 and Layer 2 Engines. The Layer 3 Engine hosts the routing database and the adjacency table that holds rewrite information for each prefix contained in the database. Also, the Layer 3 Engine has two additional special pieces of memory, a VLAN RAM and an MPLS VPN RAM. Describing how the various label operations (PUSH, SWAP, and POP) are performed clarifies what roles each of these components need to play.
The Layer 2 Engine hosts a VPN Lookup table, which actually maps each MPLS label to an index that is used as a lookup key into the routing database. This is a key element when describing the POP operation for aggregate labels.
Note The hardware architecture described here is valid for both Sup32 and Sup720 (the PFC on the Sup720 is identical to the one on the Sup32). However, note that the MPLS functionality is supported on supervisors equipped with PFC3B and higher.
LSR and LER Defined
Depending on the specific role that the Catalyst 6500 devices play in the MPLS network, there is a distinction between a label edge router (LER) and a label switch router (LSR). (See Figure 48.)
Figure 48 LER and LSR
Typically, the LER sits at the edge of the MPLS cloud at the boundary between the MPLS cloud and a non-MPLS network. Its functions are to add MPLS labels to the packet as it goes into an MPLS cloud (PUSH operation), or to strip those labels off when the packet leaves the MPLS cloud and goes into the non-MPLS network (POP operation). In Figure 48, the LER receives a packet destined to the subnet 126.96.36.199/24, performs the lookup in the routing database, and pushes a specific MPLS label (label 5) to the packet before sending it toward the neighbor LSR.
The LSR is responsible for making a forwarding decision based on the outer MPLS label contained in the packets received. Referring again to Figure 48, the LSR performs a lookup in the label database and determines that a packet received on the specific interface 1 with label 5 should be switched out interface 2 with a new label 7 (SWAP operation).
Note Depending on the specific application enabled in the MPLS network (FRR, CsC, Traffic Engineering, and so on), LSR may also add labels as well, effectively creating tiers of a network hierarchy. These are usually unnecessary functions for solving the design problems in a campus MPLS VPN deployment and are not discussed further. For more information, see the following URL: http://www.cisco.com/en/US/products/ps6557/products_ios_technology_home.html.
Note With MPLS terminology, in addition to LER and LSR, there is often reference to three additional acronyms: P, PE, and CE (see Figure 49). They are typically used when starting to deploy VPN services over the MPLS network, and are inherited from the service provider world.
Figure 49 CE, PE, and P Devices in MPLS VPN
Customer edge (CE) refers to a device that sits outside of an MPLS network (traditionally at the customer site). The provider edge (PE) device is akin to the LER, whereas the provider (P) device sits inside the MPLS cloud. MPLS VPN binds the VRF-lite technology with MPLS to provide virtualization capability, using MPLS labels to make the forwarding decisions. This basically means that now LERs have to "push" two MPLS labels on each IP packet entering the MPLS cloud: one internal label (called VPN label), and one external label (called IGP label). As previously mentioned, the deployment of MPLS VPN in multilayer campus networks is characterized by the absence of CE devices, and the PEs (LERs) sitting at the distribution layer impose two MPLS labels for traffic originated from directly connected networks belonging to specific VPNs.
The following sections discuss in more detail the specific operations the Catalyst 6500 hardware needs to perform in each of the phases described above, both for simple MPLS and MPLS VPN scenarios.
LER IPv4 Routing
IPv4 packets are forwarded across an MPLS network by the LER that is imposing labels. After the LER imposes the label, all nodes in the MPLS network forward the packet based on the top label. The label imposed on the IPv4 packet is based on IPv4 prefix. Figure 50 illustrates an LER receiving the packet and doing a lookup in the hardware tables (routing database and adjacency), and determining that label 40 is to be used to forward the packet. The LER transmits the packet with label 40 and the relevant Layer 2 headers for the media. The VPN ID in the CEF table is zero to indicate the global routing table.
Figure 50 LER IPv4 Routing
When acting as the ingress LER, the IPv4 packet is looked up like a regular IPv4 lookup. Because the ingress LER needs to start tagging the IP packets before sending them to the MPLS-enabled network, the adjacency entry for the IPv4 prefix needs to specify the label(s) to be imposed on the packet, as shown in Figure 51.
Figure 51 MPLS Adjacency Entry
Note Only IPv4 unicast packets have MPLS labels imposed upon them; IPv4 multicast packets are sent unlabeled.
The LER device sitting at the egress edge of the MPLS cloud must remove all labels and perform an IPv4 forwarding decision on the packet (assuming it is not performing other functionalities not applicable in this design context, such as inter-AS or CsC function, in which case the behavior could involve leaving one or more labels on the packet). In most instances, the LSR device preceding the LER has popped the outermost label (PHP), and the LER receives the packet unlabeled. This is also the default behavior for Catalyst 6500 platforms, so the assumption is that the egress LER simply has to perform the forwarding decision based on the exposed IPv4 packet information.
LER IP VPN
RFC 2547 describes the implementation of Layer 3 VPNs using BGP to distribute the VPN information between LERs (PEs). The LERs are responsible for maintaining a separate routing table for each VPN. Packets are forwarded by looking up the prefix in the VPN forwarding table, and pushing the VPN label to identify the particular VPN and the IGP label that corresponds to the BGP next hop address for the destination LER.
RFC2547 defines any-to-any connectivity model inside each defined VPN. Each VPN has a unique CEF table on a PE device; this potentially allows for VPNs to have overlapping addresses. As shown in Figure 52, PE-1 determines that the packet is destined to PE-2 by looking up the VPN table, and pushes two labels upon the packet.
Figure 52 LER and LSR Operation
The first label pushed is a label to identify the specific VPN (VPN RED) for the PE-2. The label to be used was learned across the MP-iBGP session between PE-1 and PE-2. The second label pushed onto the packet is the IGP label to forward traffic to PE-2 along a dynamically-built LSP. By default, the last LSR connecting to PE-2 performs the PHP functionality, so PE-2 receives the packet with only the VPN label remaining. PE-2 pops the labels and performs an IP lookup on the backup to forward the packet to the destination (belonging to the proper VPN RED).
LER functionalities are performed on Catalyst 6500 platforms that are capable of hardware MPLS VPN traffic forwarding in two ways: ingress LER and egress LER.
Figure 53 illustrates how the PFC3/DFC3 performs the forwarding decision for packets entering into a specific VPN. The packet is received on the interface and the headers are sent to the PFC3 to make the forwarding decision.
Figure 53 Ingress LER Operation
The following takes place:
•The Catalyst 6500 Layer 3 Engine contains a table that maps VLANs to VPNs, called VLAN RAM. The packet ingresses a specific interface (Gig 1/1 in this example) that maps to an internally allocated VLAN 1101. Every Layer 3 interface in the system has a VLAN associated with it, either by configuration ("interface VLAN"), or by internal allocation ("interface Gigabit 1/1"). Sub-interfaces also have internal VLANs allocated.
By default, internal VLANs are assigned starting from the value 1006, as shown in the following example:cr20-6500-1#sh vlan internal usageVLAN Usage---- --------------------392 GigabitEth ernet2/8.392402 GigabitEthernet2/8.4021006 online diag vlan01007 online diag vlan11008 online diag vlan2<SNIP>
This implies that when trying to define a new Layer 2 user VLAN, a message can be displayed to indicate that the specific VLAN is not available because it has already been internally allocated, as shown in the following example:cr20-6500-1(config)#vlan 1006cr20-6500-1(config-vlan)#name user_defined_VLANcr20-6500-1(config-vlan)#exit% Failed to create VLANs 1006VLAN(s) not available in Port Manager.
To minimize this occurrence, the default behavior of the Catalyst 6500 can be changed with the command vlan internal allocation policy descending. This instructs the switch to allocate VLANs for internal usage starting from the highest value (4094) instead that from the lowest (1006), as in the following example:cr20-6500-1#sh vlan internal usageVLAN Usage---- --------------------392 GigabitEthernet2/8.392402 GigabitEthernet2/8.402<SNIP>4092 online diag vlan24093 online diag vlan14094 online diag vlan0
Note After entering the command above, a reload of the box is required for the new VLAN allocation to become effective.
•The IP destination address is looked up in the CEF table but only against prefixes that are in the specific VPN; in the example, this is VPN number 5. The CEF table entry points to a specific set of adjacencies. One is chosen as part of the load balancing decision if multiple parallel paths exist (see Redundancy and Traffic Load Balancing for more details on multi-path scenarios).
•The adjacency table contains the information on the Layer 2 header the packet needs, and the specific MPLS labels to be pushed onto the frame; in the example, these are labels 20 and 30. The adjacency table can push up to three labels without the need for re-circulation (two labels are required for the MPLS VPN deployment discussed in this guide). The information to rewrite the packet is sent back to the ingress line card, where it is rewritten by the port/fabric ASICs and forwarded to the egress line interface; in this example, g1/2.
All the information shown in Figure 53 can be accessed via the CLI of the Catalyst 6500. In the following example, the packet is received on an interface mapped to VRF "v1" and is destined to a remote VPN subnet 10.136.12.0. It is possible to immediately get the information on which interface the packet will be sent out and with which labels by using the following command that accesses the content of the hardware routing table:cr20-6500-1#sh mls cef vrf v1 10.136.12.0Codes: decap - Decapsulation, + - Push LabelIndex Prefix Adjacency3466 10.136.12.0/24 Te1/1 313(+),57(+)The output above reveals that the packet is going to be sent out interface Te1/1 with two MPLS labels: an internal VPN label (313) that is used by the receiving PE to route the traffic to the right VRF, and the external label (57) that is used to label switch the traffic along the LSP connecting the ingress LER to the egress LER (this is also shown in Figure 53).
Note The symbol "+" associated to the MPLS tag in the output above indicates that these labels are going to be pushed to the packet.
You can retrieve detailed hardware information for the same VPN destination prefix by using the following command:cr20-6500-1#sh mls cef vrf v1 10.136.12.0 detailCodes: M - mask entry, V - value entry, A - adjacency index, P - priority bitD - full don't switch, m - load balancing modnumber, B - BGP Bucket selV0 - Vlan 0,C0 - don't comp bit 0,V1 - Vlan 1,C1 - don't comp bit 1RVTEN - RPF Vlan table enable, RVTSEL - RPF Vlan table selectFormat: IPV4_DA - (8 | xtag vpn pi cr recirc tos prefix)Format: IPV4_SA - (9 | xtag vpn pi cr recirc prefix)M(3466 ): E | 1 FFF 0 0 0 0 255.255.255.0V(3466 ): 8 | 1 256 0 0 0 0 10.136.12.0 (A:278534 ,P:1,D:0,m:0 ,B:0)
Two important pieces of information can be retrieved from the output above:
•The pointer to the adjacency table containing the rewriting information (A:278534)
•The number of equal cost paths available to reach the destination prefix (P:1, which means there is only one path in this example)
Using the information above, you can then access the corresponding entry in the adjacency table, as follows:cr20-6500-1#sh mls cef adjacency entry 278534 detailIndex: 278534 smac: 0012.da7c.c680, dmac: 0004.de1f.b000mtu: 1526, vlan: 1035, dindex: 0x0, l3rw_vld: 1format: MPLS, flags: 0x8418label0: 0, exp: 0, ovr: 0label1: 313, exp: 0, ovr: 0label2: 57, exp: 0, ovr: 0op: PUSH_LABEL2_LABEL1packets: 0, bytes: 0
The output shows the rewrite information for the packet: source MAC, destination MAC, and the MPLS labels that are pushed to the packet (57 and 313). Also, the internal VLAN is reported (VLAN 1035), which maps directly to the interface that is used to forward the packet. It is already known that the interface used is Te1/1, and this is confirmed by displaying the mapping between internal VLANs and interfaces:cr20-6500-1#sh vlan internal usageVLAN Usage---- --------------------1006 online diag vlan01007 online diag vlan1......................1035 TenGigabitEthernet1/11036 TenGigabitEthernet1/3..........................
The way the PFC3/DFC3 handles VPN traffic on egress from the PE varies depending on whether per-prefix labels or aggregate labels are used. When per-prefix labels are used, each VPN prefix has a unique label association, which allows the PE to forward the packet to the final destination based on a label lookup in the routing database. If aggregate labels are used, the PFC3/DFC3 must perform an IP lookup to determine the final destination because many prefixes that can be on multiple interfaces are associated with the same label. Note that aggregate labels are assigned to each directly connected subnet, or every time a device performs route summarization.
It is important to note that when deploying MPLS VPN in a multilayer campus environment, positioning the PE at the distribution layer implies that all the VPN subnets result directly connected to the PE device. The PE then assigns a unique aggregate label to each defined VRF; this is to allow it to properly perform the lookup in the right routing table for all the VPN traffic received from the core of the network. In the following example, there is a specific PE assigning an unique aggregate label to each locally defined VRF (there are 25 VRFs in this case).
The implication of using aggregate labels is subsequently discussed in more detail.
Figure 54 illustrates the egress processing by PFC3/DFC3 when per-prefix labels are used.
Figure 54 Egress LER Operation with Per-Prefix Labels
The sequence of events that happen for performing the popping of a per-prefix label is the following:
1. The packet enters the switch on a given interface (for which the switch assigns an internal VLAN number, 816 in this example). The MPLS label 30 present on the packet represents the VPN label, because by default the previous node in the network has performed PHP to remove the external IGP label.
2. The packet headers are sent from the line card to the PFC3/DFC3 complex to perform the forwarding decision. The VPN label (30) does not match an entry in the VPN lookup table hosted in the Layer 2 Engine ("MISS" event). This is because, as discussed further below, the VPN lookup table is used only to store aggregate labels.
3. As a consequence, the packet headers are sent to the Layer 3 Engine and a lookup is performed in the VLAN RAM table using the internal VLAN index associated to the port of the switch that received the packet (816 in this example). The lookup in the VLAN RAM determines that the packet belongs to the VRF identified by the VPN ID 822.
4. This information is used to look up the MPLS label in the routing table (associated to the specific VPN ID). The appropriate adjacency is then chosen after performing the load balancing hash if multiple parallel paths exist. The adjacency contains the outbound interface (Gig 2/2) and Layer 2 headers and tells the system to POP the last label and to forward the packet to the next hop/ destination as an IP packet.
Figure 55 shows how the Catalyst 6500 performs the pop operation when the packet contains an aggregate MPLS label. As mentioned before, unique aggregate labels are assigned to each VRF defined on the PE device; aggregate labels are stored in the VPN lookup table, which is a table hosted on the Layer 2 Engine of the PFC3.
Figure 55 POP Operation with Aggregate Label
In Figure 55, Label 5, Label 8, and Label 22 are aggregate labels and are stored in the VPN lookup table table. The other information in the table associated to each aggregate label is the VPN ID that is used as part of the lookup key into the routing database. The important thing to consider here is that the VPN lookup table can host at most 512 entries. Allocating more than 512 aggregate labels on the PE device results in recirculation, thus reducing switching performance. Because a unique aggregate VPN label is associated to each VRF defined on the egress PE device, the number 512 represents the maximum number of VRFs that should be defined on a given PE to achieve optimal performance. This is rarely an issue in campus MPLS VPN deployments.
Note One entry in the VPN lookup table is always reserved for the Explicit NULL label; therefore, the optimal performance is actually achieved with a maximum of 511 aggregate labels.
Information about the current usage of the VPN lookup table can be retrieved with the following CLI command:cr20-6500-1#sh platform hardware capacity pfcL2 Forwarding ResourcesMAC Table usage: Module Collisions Total Used %Used1 0 65536 94 1%2 0 65536 105 1%5 0 65536 94 1%VPN CAM usage: Total Used %Used512 25 5%
The example above refers to a PE that has allocated 25 aggregate labels for each distinct locally defined VRF, as follows:cr20-6500-1#sh mpls forwarding-table | i Aggregate44 Aggregate vrf:v01 6065 Aggregate vrf:v02 6066 Aggregate vrf:v03 067 Aggregate vrf:v04 068 Aggregate vrf:v05 6069 Aggregate vrf:v06 070 Aggregate vrf:v07 071 Aggregate vrf:v08 072 Aggregate vrf:v09 073 Aggregate vrf:v10 074 Aggregate vrf:v11 075 Aggregate vrf:v12 076 Aggregate vrf:v13 077 Aggregate vrf:v14 078 Aggregate vrf:v15 079 Aggregate vrf:v16 080 Aggregate vrf:v17 081 Aggregate vrf:v18 082 Aggregate vrf:v19 083 Aggregate vrf:v20 084 Aggregate vrf:v21 085 Aggregate vrf:v22 086 Aggregate vrf:v23 6087 Aggregate vrf:v24 6088 Aggregate vrf:v25 0
Depending on whether the number of aggregate labels is more or less than 512, the pop operation would happen in a different way. Figure 56 shows the scenario where the number of aggregate labels is less than 512.
Figure 56 POP Operation with Less than 512 Aggregate Labels
In Figure 56, the following sequence takes place:
1. The packet is received on the egress LER with only the VPN label (the previous node in the network performed PHP to remove the IGP label).
2. The packet headers are sent from the line card to the PFC3/DFC3 complex to perform the forwarding decision. The VPN label (313) matches an entry in the VPN lookup table and this allows for the Layer 2 Engine to determine the VPN ID (112) for the specific packet and to pop the VPN label. This allows the Layer 2 Engine to process the packet as an IP packet in a single pass without having to first pop the MPLS label and then re-circulate the packet to process it in the second pass as an IP packet.
3. The result from the VPN lookup table is sent with the packet IP headers to the Layer 3 Engine. Note that the VLAN RAM table is not used to determine the VPN ID when a hit occurs in the VPN lookup table.
4. The IP destination address (10.4.2.0) is looked up in the routing database against the routes for VPN 112. The appropriate entry in the adjacency table is then chosen after performing the load balancing hash if multiple parallel paths exist. The adjacency contains the outbound interface (Gig 1/2) and Layer 2 headers to forward the packet to the next hop/destination.
Note In the procedure described above, the processing of the packet happens in a single pass without the need for any hardware recirculation. This explains why optimal system performances are achieved in this case.
Figure 57 shows a different scenario where the VPN lookup table is full because more than 512 aggregate labels were allocated on this given PE.
Figure 57 POP Operation with More Than 512 Aggregate Labels
Figure 57 illustrates the egress processing by PFC3/DFC3 when the VPN number is greater than 512 and an aggregate label is being used. The following sequence takes place:
1. The packet enters the switch with the VPN label.
2. The packet headers are sent from the line card to the PFC3/DFC3 to perform the forwarding decision. The VPN label (30) does not match an entry in the VPN lookup table, because the table is full and in this example, label 30 is not part of it. This causes the Layer 2 Engine to send the packet to the Layer 3 Engine as an MPLS packet; this is because the MPLS label information is required to perform the routing database lookup at the following step.
3. The Layer 3 Engine receives the packet and performs the VLAN to VPN mapping that result in VPN 0 being selected. The label (30 in this example) is then looked up in the CEF table and the correct adjacency selected. The adjacency indicates that the MPLS label is to be popped and then the packet re-circulated on internal VLAN 1200.
4. The packet is sent back to the rewrite engine associated with the particular port and rewritten. The packet then arrives in the Layer 2 Engine the second time and hits a "MISS" in the VPN lookup table (this time because it is an IP packet with no MPLS label information).
5. The IP packet is passed to the Layer 3 Engine and the VLAN RAM table determines that the packet belongs to VPN 5 (using the internal VLAN 1200 information applied to the packet before recirculation).
6. The destination address is then looked up in the CEF table against the routes for VPN 5. The appropriate adjacency is then chosen after performing the load balancing hash if multiple parallel paths exist. The adjacency contains the outbound interface (Gig 2/2) and Layer 2 headers to forward the packet to the next hop/destination.
Therefore, for those situations where there are more than 512 VPNs, packet recirculation is required, which means two passes through the PFC, and the entire performance of that particular packet as part of that MPLS VPN drops.
In summary, when performing egress PE functionalities on a Catalyst 6500, optimal performances are achieved only when the number of VRFs defined on the specific PE devices is less than 512; this is not a big issue for campus deployment, where rarely the number of required VPNs is higher that 50. In addition, even when deploying more than 512 VRFs, the performances are reduced only for traffic belonging to the VRFs defined from 513 and above.
LSRs receive labeled packets and, depending on their position in the MPLS network, can perform a swap or pop operation. A swap operation is required when the packet comes in with a label and needs to be forwarded to another LSR; in this case, the original label is exchanged with a new label that represents the label this node uses to reach the ultimate destination.
As shown in Figure 58, to perform label swapping, the LSR uses the incoming packet label to execute the lookup into the hardware label database and to determine the new label that should be pushed to the packet before sending it to the neighbor LSR.
Figure 58 LSR Functionality
Note VPN traffic is characterized by having two MPLS labels added to the packet. However, the label switching is performed by the LSR, always based on the outer label.
The pop operation occurs if this node is performing PHP. If the LSR is adjacent to LER, it is standard behavior to remove the outermost label before forwarding the packet to the LER. This makes the forwarding decision on the LER simpler. For example, in the case of IPv4 unicast, the LER has to perform only an IP forwarding decision instead of a label and IP lookup.
As shown in Figure 59, the information to perform the POP operation is again contained in the hardware label database.
Figure 59 POP Operation
Note The example in Figure 59 refers to normal MPLS traffic. As discussed in the previous sections, in case of VPN traffic, the packet sent from the penultimate hop device toward the egress LER also contains the VPN label.
Enabling MPLS in the Campus Distribution Block
Virtualizing the Campus Distribution Block described how to virtualize the network devices belonging to each specific campus building block, for both multi-tier and routed access designs. Independently from the specific campus model, the PE functionality is usually performed by the distribution layer devices when deploying MPLS VPN as a path isolation strategy across the campus network. (See Figure 60.)
Figure 60 PE Functionality
Note The 802.1q trunk shown on the right side of Figure 60 is deployed independently if the access layer switch performs at Layer 2 (multi-tier) or at Layer 3 (routed access). The rest of the discussion below assumes the first scenario.
The Catalyst 6500 platform deployed in the distribution layer needs to have the VRFs defined and the capabilities of communicating on one side with IP switching (toward the access layer devices) and translating that on the other side to MPLS switching (toward the campus core switches). To perform that functionality, the device needs to be able to push VPN labels to the IP packet. This is different from simple VRF-lite support that was for example required when deploying GRE tunnels as path isolation mechanism (see Deploying Path Isolation Using VRF-Lite and GRE).
Figure 61 shows an example of enabling MPLS switching.
Figure 61 Enabling MPLS Switching
The configuration required to enable MPLS switching on the interface facing the campus core is as simple as follows:interface TenGigabitEthernet1/1description 10GE to core 3ip address 10.122.5.31 255.255.255.254tag-switching ip
Note It is important to note that the actual configuration (retrieved through the show running-config command) may show the word "tag-switching" in place of "mpls" on 6500 platforms for software releases previous to 12.2(33)SXH. This is just a heritage from the past (tag-switching was the pre-standard label switching mechanism supported on Cisco platforms before MPLS was introduced).
LDP Deployment Considerations
After enabling label switching on all the interfaces facing the core, it is also required to enable LDP. LDP is the IETF prescribed way to discover MPLS neighboring devices and transmit label information between the devices. LDP is largely based upon the pre-standard TDP (Tag Distribution Protocol) that was developed by Cisco for tag switching and was later standardized to become MPLS.
When an interface is enabled for label switching (as shown in the previous section), the LDP process starts and tries to discover other MPLS-enabled neighbors (either PE or P devices) by sending LDP hello packets. When a neighbor has been discovered, an LDP session is established with it by setting up a TCP session on the well-known port 646. As a consequence, IP connectivity is required between neighbors to be able to successfully establish the LDP session. After the LDP session has been established, keepalives messages are exchanged between the neighbor devices (by default every 60 seconds), as highlighted in the following output:cr20-6500-1#sh mpls ldp parametersProtocol version: 1Downstream label generic region: min label: 16; max label: 524286Session hold time: 180 sec; keep alive interval: 60 secDiscovery hello: holdtime: 15 sec; interval: 5 secDiscovery targeted hello: holdtime: 90 sec; interval: 10 secDownstream on Demand max hop count: 255TDP for targeted sessionsLDP initial/maximum backoff: 15/120 secLDP loop detection: off
There are several best practices recommendations for deploying LDP in a campus environment, and these are discussed in the following bullet points:
•Configure LDP as label distribution protocol
As previously mentioned, Cisco originally deployed its own label distribution protocol called Tag Distribution Protocol (TDP). As a consequence of this heritage, Catalyst 6500 platforms use TDP by default on all the MPLS-enabled interface, as follows:cr20-6500-1(config)#mpls label protocol ?ldp Use LDPtdp Use TDP (default)
Explicit configuration is then required to change the default behavior and enable the use of LDP:cr20-6500-1(config)#mpls label protocol ldpcr20-6500-1(config)#do sh mpls ldp parametersProtocol version: 1Downstream label generic region: min label: 16; max label: 524286Session hold time: 180 sec; keep alive interval: 60 secDiscovery hello: holdtime: 15 sec; interval: 5 secDiscovery targeted hello: holdtime: 90 sec; interval: 10 secDownstream on Demand max hop count: 255LDP for targeted sessionsLDP initial/maximum backoff: 15/120 secLDP loop detection: off
•Use loopback interfaces to establish LDP sessions
Each LDP session between MPLS-enabled neighbors is characterized by an LDP identifier that is use similarly to the OSPF or BGP identifiers. By default, the highest IP address of all defined loopback interfaces is used and if there are no loopbacks, the highest IP address of any other interface is adopted as LDP identifier. The recommendation is to define a specific loopback interface to be used for the establishing of the LDP session. The first reason for doing that is the operational control of the LDP identifier; a second important reason is discussed in the next bullet point. The required configuration is shown as follows:interface Loopback10description LDP identifierip address 192.168.100.19 255.255.255.255end!mpls ldp router-id Loopback10 force
Note As discussed before, IP connectivity is required between MPLS-enabled neighbors to establish an LDP session. When defining loopback interfaces to be used as LDP identifiers, it is then critical that the loopback is reachable by adjacent devices. This usually implies that the loopback addresses must be advertised by the IGP running in the network and being thus part of the default global routing table. For additional considerations about loopbacks deployment in campus, see Loopback Interfaces Deployment Considerations.
•Establish targeted sessions between LDP neighbors
LDP plays a critical role when discussing convergence in an MPLS-enabled network. As shown in Figure 62, a link failure event between adjacent MPLS-enabled devices causes the failure of the LDP session between them.
Figure 62 Failure of Regular LDP Session
As highlighted in Figure 62, this means that all the labels that were previously exchanged between the neighbors are now discarded and deleted from the label database. Convergence is usually not an issue for this link failure scenario, because in this case the LDP convergence is almost immediate, and the main factor determining the length of the outage is the time needed by the IGP to converge around the failure.
Different considerations must be made for the reestablishment of the link. Under such a circumstance, the main problem is that IP usually converges much faster than LDP. As a consequence, there may be a temporary incapability to forward label packets until new labels are exchanged and the label database is populated. This does not affect global table traffic (packets can flow also as unlabeled IP data) but it does cause VPN traffic to be dropped (the P device connected to the PE switches traffic) based on the external label. This is usually the IGP label, so if this is missing because of LDP convergence, the switching decision is made based on the actual VPN label, causing the traffic to be dropped or delivered to the wrong destination. A possible workaround for this issue calls for the establishment of targeted sessions between LDP neighbors (see Figure 63.)
Figure 63 Use of LDP Targeted Hellos
As shown in Figure 63, when using targeted hellos between LDP neighbors (for example R1 and R2), the LDP session between these devices is maintained even when the direct link connecting them fails, as long as there is an alternate path for maintaining the TCP session active; in the example, this happens through R3. This means that the MPLS labels that were originally exchanged between the neighbors are kept in the software label database and not discarded; the advantage in doing so is that once the direct link is reestablished, these labels do not need to be learned again, so the IP convergence is the only factor affecting the overall traffic recovery on that link (together with the programming of the hardware label database).
To use this capability, Cisco recommends following three main design recommendations:
–Build a high degree of redundancy when deploying the campus network, so that there is always at least a redundant path connecting each pair of network devices.
–Configure loopback interfaces as LDP identifiers, as previously discussed. In fact, if the LDP session is established by using the IP address of the physical interfaces connecting the neighbor devices, the targeted hellos feature cannot provide any benefit (the TCP session is broken as soon as the physical link fails). Note that it is also required to inject the loopback interface IP addresses into the IGP in use to successfully establish the TCP sessions between neighbors.
–Specify that the LDP session established with the neighbor devices must be a targeted session, as shown in the following configuration sample:cr20-6500-1(config)#mpls ldp neighbor 192.168.100.19 targeted ?ldp Use LDPtdp Use TDP<cr>
Note It is also optional to specify if LDP or TDP should be used between the LDP neighbors. Cisco recommends to configure the specific label protocol to be used globally, as previously discussed.
From a verification standpoint, as shown in the following example, the LDP session with the neighbor of this example (192.168.100.19) is maintained via the directly connected link (interface Ten1/1):cr20-6500-1#sh ip route 192.168.100.19Routing entry for 192.168.100.19/32Known via "ospf 100", distance 110, metric 2, type intra areaLast update from 10.122.5.30 on TenGigabitEthernet1/1, 00:00:04 agoRouting Descriptor Blocks:* 10.122.5.30, from 10.122.5.103, 00:00:04 ago, via TenGigabitEthernet1/1Route metric is 2, traffic share count is 1
If the physical link fails, the LDP session is maintained in active state via the alternate path (via Ten1/3 and the distribution layer peer):cr20-6500-1(config)#int t1/1cr20-6500-1(config-if)#shutcr20-6500-1(config-if)#endcr20-6500-1#sh ip route 192.168.100.19Routing entry for 192.168.100.19/32Known via "ospf 100", distance 110, metric 4, type inter areaLast update from 10.137.0.3 on TenGigabitEthernet1/3, 00:00:07 agoRouting Descriptor Blocks:* 10.137.0.3, from 10.122.5.114, 00:00:07 ago, via TenGigabitEthernet1/3Route metric is 4, traffic share count is 1cr20-6500-1#sh mpls ldp neighbor 192.168.100.19Peer LDP Ident: 192.168.100.19:0; Local LDP Ident 192.168.100.5:0TCP connection: 192.168.100.19.11094 - 192.168.100.5.646State: Oper; Msgs sent/rcvd: 106/85; DownstreamUp time: 00:15:24LDP discovery sources:Targeted Hello 192.168.100.5 -> 192.168.100.19, active, passiveAddresses bound to peer LDP Ident:192.168.100.19 172.26.159.146 10.122.5.11 10.122.5.1210.122.5.34Duplicate Addresses advertised by peer:188.8.131.52
In addition, note that all the labels learned from the LDP neighbor are still kept in the software label database. Regarding the prefix 10.122.5.2/31 in the example above, it is possible to notice in the following example how tag 23 is still associated to it in the label database. This tag was originally learned from the interface Ten1/1 before of its failure.cr20-6500-1#sh mpls ldp bind neighbor 192.168.100.19tib entry: 0.0.0.0/0, rev 154remote binding: tsr: 192.168.100.19:0, tag: imp-nulltib entry: 184.108.40.206/32, rev 2remote binding: tsr: 192.168.100.19:0, tag: imp-nulltib entry: 10.122.5.2/31, rev 72remote binding: tsr: 192.168.100.19:0, tag: 23tib entry: 10.122.5.6/31, rev 66remote binding: tsr: 192.168.100.19:0, tag: 20(output suppressed)
The hardware label database is instead programmed to use a different label (the LSP is built via the alternate path now that Ten1/1 has failed); this can be verified by looking at the specific label that is used to reach one of the prefixes shown above (10.122.5.2 in this example):cr20-6500-1#sh mpls forwarding-table 10.122.5.2Local Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface52 21 10.122.5.2/31 0 Te1/3 10.137.0.3
As expected, the outgoing label currently in use is 21 out of interface Ten1/3 (and not the tag 23 that was originally learned via Ten1/1). However, as soon as the link is recovered, the hardware is reprogrammed with the updated information without requiring a new learning of that label:cr20-6500-1(config)#int t1/1cr20-6500-1(config-if)#no shutcr20-6500-1#sh mpls forwarding-table 10.122.5.2Local Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface52 23 10.122.5.2/31 0 Te1/1 10.122.5.30
Note Starting from software release 12.2(33)SXH, Catalyst 6500 platforms support another feature that can achieve the same results discussed above via LDP targeted hellos. This is the LDP session protection functionality; more information can be found at: http://www.cisco.com/en/US/docs/ios/12_0s/feature/guide/fssespro.html.
In summary, the use of loopback interfaces for establishing LDP-targeted sessions between neighbor network devices provides for fast hardware recovery for failed links and thus represents the recommended best practice. In addition, the use of loopback interfaces addressed from a specific and well identifiable IP pool provides a further advantage that is discussed in Tagging or Non-Tagging Global Table Traffic.
MP-iBGP Deployment Considerations
In an MPLS VPN design, the exchange of VPN routes is achieved by using an additional control plane element called Multi-Protocol BGP (MP-BGP), which is an extension of the existing BGP-4 protocol. In the context of this guide, MP-BGP is introduced only as an overlay protocol to provide the capabilities for exchanging VPN routes. Very large networks can be deployed as separate autonomous systems (AS), and in such scenarios, the use of BGP may be required also to connect these separate AS and exchange global table routes. The recommended design discussed here is instead constituted by a single AS and an IGP deployed end-to-end, so that there is no requirement for BGP in global table.
As a consequence, MP-BGP needs to be configured only between the PE devices, because they are the only ones containing VPN routes in the various VRF routing tables. A direct consequence of the fact that the main MPLS VPN strength is to provide any-to-any connectivity inside each defined VPN is the requirement for the PE devices to establish MP-iBGP connections between them in a fully-meshed fashion. By deploying route reflectors, it is possible to relax this requirement, thus improving the scalability of the overall solution.
MP-iBGP is required within the MPLS VPN architecture because the BGP updates exchanged between PE devices need to carry more information than just an IPv4 address. At a high level, the following three pieces of information are critical to the MPLS VPN functionality and that are exchanged through MP-iBGP:
•VPNv4 addresses—Address prefixes defined in the context of each VPN that need to be communicated between the various PE devices to provide connectivity inside each VPN. A VPNv4 address is achieved by concatenating together the IPv4 prefix and a 64-bit entity called a route distinguisher (RD). A unique RD needs to be used for each VRF defined on the PE device. The RD uniqueness contributes to the uniqueness of each VPNv4 prefix, allowing the support of overlapping IPv4 prefixes between separate VPNs.
•MPLS VPN label information—Each PE allocates a specific MPLS label for each defined VPN prefix. This is the more internal label that is pushed in each MPLS packet before sending it to the MPLS core, and is used by the receiving PE to determine in which VPN to route the packet.
•Extended BGP communities—The most important of these extended communities is called the route target and represents a 64-bit value that is attached to each BGP route. The value of the route target determines how the VPN routes are exported and imported into each VPN. Basically, every VPNv4 routes received by a PE may have one of more route target associated to it; depending on the route targets configured locally on the receiving PE for each VRF, the route is either imported or ignored for that specific VRF. Using route targets provides great flexibility to provision many different VPN topologies. In the context of this guide, how to provide any-to-any connectivity inside each VPN is discussed. For an explanation of how to deploy a hub-and-spoke topology as opposed to an any-to-any topology, see the Network Virtualization—Services Edge Design Guide at the following URL: http://www.cisco.com/en/US/docs/solutions/Enterprise/Network_Virtualization/ServEdge.html.
When discussing the deployment of MPLS VPN in a campus environment, the following specific recommendations should be followed:
•Differing from a traditional service provider environment, the first thing to consider when deploying MPLS VPN in a campus distribution block is the absence of a traditional CE device, because all the VPN subnets are directly connected to the PE devices deployed at the distribution layer (given that the access layer switches are functioning as Layer 2 devices). This means that there is no need for a CE-PE control protocol. All the VPN subnets are showing into each defined VRF as directly connected, which essentially allows injecting them into MP-BGP by simply configuring the redistribute connected option, as follows:router bgp 64000no bgp default ipv4-unicastbgp log-neighbor-changes!address-family ipv4 vrf v1redistribute connectedno auto-summaryno synchronizationexit-address-family
•MP-iBGP sessions should be established by using loopback interfaces. This brings the obvious advantage of allowing the iBGP session to remain active as long as there is an available path connecting to the loopback IP address. In addition, there are also some operational advantages in assigning an IP address to the loopback interfaces taken from a unique and easy identifiable subnet. This point is discussed in LDP Deployment Considerations; it is in fact recommended to use the same loopback interface as the LDP identifier and for establishing MP-iBGP sessions. Another reason for doing this is discussed in Tagging or Non-Tagging Global Table Traffic. When using loopback interfaces, the configuration look like the following sample:interface Loopback10description mBGP anchor pointip address 192.168.100.5 255.255.255.255!router bgp 64000no bgp default ipv4-unicastbgp log-neighbor-changesneighbor 192.168.100.1 remote-as 64000neighbor 192.168.100.1 update-source Loopback10
Special considerations need to be made about the loopback interfaces when using OSPF as the IGP in the global table (see Loopback Interfaces Deployment Considerations).
•Given the fact that MP-iBGP sessions need to be established between all the PE devices defined in the network, Cisco recommends using route reflectors for a better scalability and manageability of the solution. The route reflector should be deployed on standalone devices connected, for example, to the P core devices, as shown in Figure 64.
Figure 64 Positioning of Route Reflectors
One of the main advantages in using standalone devices is stability. Upgrade of code to P or PE devices can be performed without touching the RR that can continue performing its function. Also, the MP-BGP configuration required on each PE devices becomes identical; all the PEs have to peer with the two route reflectors, as shown in the following example. This design recommendation considerably reduces maintenance time and improves operational ease of troubleshooting.router bgp 64000no bgp default ipv4-unicastbgp log-neighbor-changesneighbor 192.168.100.1 remote-as 64000neighbor 192.168.100.1 update-source Loopback10neighbor 192.168.100.2 remote-as 64000neighbor 192.168.100.2 update-source Loopback10!address-family vpnv4neighbor 192.168.100.1 activateneighbor 192.168.100.1 send-community extendedneighbor 192.168.100.2 activateneighbor 192.168.100.2 send-community extendedexit-address-family
On the RR side, the configuration is straightforward:router bgp 64000no bgp default ipv4-unicastneighbor RR-clients peer-groupneighbor RR-clients remote-as 64000neighbor RR-clients update-source Loopback10neighbor 192.168.100.3 peer-group RR-clientsneighbor 192.168.100.4 peer-group RR-clientsneighbor 192.168.100.5 peer-group RR-clientsneighbor 192.168.100.6 peer-group RR-clients!address-family vpnv4neighbor RR-clients activateneighbor RR-clients send-community extendedneighbor RR-clients route-reflector-clientneighbor 192.168.100.3 peer-group RR-clientsneighbor 192.168.100.4 peer-group RR-clientsneighbor 192.168.100.5 peer-group RR-clientsneighbor 192.168.100.6 peer-group RR-clientsexit-address-family
Note When positioning the RRs as separate network devices (as in the recommended model displayed in figure above), no MPLS or VRF definitions are required on these devices.
•Aggregation of VPN subnets—Summarization of VPN routes from each campus distribution block toward the core is not recommended best practice because it may lead to a black hole situation under a specific failure scenario. As shown in Figure 65, assume that both PEs belonging to the distribution block are aggregating VPN routes toward the core; for example, advertising a /16 super-net.
Figure 65 Summarizing VPN Routes
A look in the VRF routing table of each PE shows the VPN subnet directly connected and the summary pointing to Null0:cr20-6500-1#show ip route vrf v1Routing Table: v1Codes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is not set10.0.0.0/8 is variably subnetted, 15 subnets, 3 masksB 10.137.0.0/16 [200/0] via 0.0.0.0, 00:43:59, Null0C 10.137.13.0/24 is directly connected, Vlan13C 10.137.12.0/24 is directly connected, Vlan12
Now assume one of the uplink from the access layer to the distribution switch fails, as shown in Figure 66.
Figure 66 Link Failure when Summarizing VPN Routes
Without VPN route aggregation, the PE on the left directly connected to the failed link learns (via BGP) the path toward the subnet 10.137.12.0 via the peer PE device. When summarizing instead, the PE ignores the summary learned from the peer because it already has a summary route pointing to Null0, as shown in the following example:cr20-6500-1#show ip route vrf v1Routing Table: v1Codes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is not set10.0.0.0/8 is variably subnetted, 15 subnets, 3 masksB 10.137.0.0/16 [200/0] via 0.0.0.0, 00:43:59, Null0C 10.137.13.0/24 is directly connected, Vlan13
As a consequence, the PE starts dropping all the traffic delivered to it from the core of the network and destined to the specific 10.137.12.0 subnet. This is the reason why summarization of VPN routes from each distribution block is not a recommended best practice.
Configuring the Core Devices (P Routers)
The configuration of the devices building the core of the MPLS network (P devices) is much simpler than the one discussed in the previous section for PE switches because of the following two main reasons:
•P devices do not generally require any VRF configuration or network services virtualization. These functionalities are deployed only on the PE switches sitting at the edge of the MPLS network. The main task of the P switches consists in label switching the received packets, allowing for the establishment of LSPs across the network infrastructure (it has already been discussed how these LSPs can be used to switch both global table and VPN traffic).
•As a direct consequence of the previous point, there is no the requirement for the additional control plane protocol MP-BGP to be deployed on P devices. The only routing protocol in use is the IGP traditionally deployed to establish global table connectivity.
Note The requirements for deploying P devices in the core of the network are the same as PE switches. Therefore, only Catalyst 6500 switches with Supervisors equipped with PFC3B or higher are currently available for this role.
Given the considerations above, the following are the basic configuration steps required for P (core) switches deployment. As previously mentioned, the assumption is that global table configuration (routing, IP addressing, and so on), is already in place before starting the virtualization of the network infrastructure.
Step 1 Enable MPLS switching on all the physical interfaces connecting the P devices to other P or PE switches, as shown in Figure 67.
Figure 67 Enabling MPLS on P Devices
interface TenGigabitEthernet1/1description 10GE to PE3ip address 10.122.5.37 255.255.255.254tag-switching ip
Step 2 Configure LDP parameters similarly to PE:
•Explicitly enable standard LDP
•Define a loopback interface to be used as the LDP identifier
•Inject the loopback /32 address into IGP
•Establish targeted sessions between LDP neighbors
Redundancy and Traffic Load Balancing
Because of the business-critical functions usually supported by campus networks, the design has evolved to one supporting a high degree of redundancy to achieve the required high availability. This leads to the deployment of redundant devices in the core and distribution layers, redundant supervisors in the access layer, and redundant links connecting the various layers of the hierarchical network. The application traffic in the VPNs is also considered mission-critical and needs to be protected in a similar fashion as the global table traffic. Therefore, it is important to understand how to use the infrastructure redundancy also for that purpose.
To achieve this, several configuration steps need to be implemented. To understand this point better, see the network diagram in Figure 68.
Figure 68 Achieving Redundancy and Traffic Load Balancing
In Figure 68, PE1 and PE2 are connected to a subnet (10.137.12.0/24) mapped to VRF v1 (thus part of a specific VPN). Because all the devices in the example are connected in a fully meshed fashion, it is desirable for the VPN traffic flowing between the two distribution blocks to also benefit from this link redundancy.
For this to happen, the first design recommendation is to configure a different RD value for the two PE devices belonging to the same distribution block. To understand the reasons for this choice, a brief review of how the PE devices on the bottom receive the VPN routes from the upper PEs is useful.
As shown in Figure 69, when deploying RRs, all the PE devices must establish an MP-iBGP session with the RRs (for simplicity sake, only one RR is discussed in this example).
Figure 69 Establishing MP-iBGP Sessions with Route Reflector
PE1 and PE2 must advertise the same IPv4 subnet (10.137.12.0/24) to the RR via MP-IBGP. By default, the RR chooses one of the two VPNv4 updates received and "reflects" the best one to the other RR clients; in this example, the bottom PE3 and PE4. As a consequence, if the RD value configured on PE1 and PE2 is the same, they both advertise the same VPNv4 route to the RR, and the RR reflects only the better one to the bottom PEs. Configuring a distinct RD value instead has the consequence of making the VPNv4 update unique sent by PE1 and PE2 for the same IPv4 prefix 10.137.12.0. The RR then "reflects" both VPNv4 prefixes to the bottom PEs.
The configuration required for achieving load balancing and redundancy is therefore the following:
•PE1ip vrf v1rd 64001:1route-target export 64000:1route-target import 64000:1
•PE2ip vrf v1rd 64002:1route-target export 64000:1route-target import 64000:1
Notice how the route-target values need to remain the same on both PEs because they both need to import into the specific VPN routing table the same updates received by remote PEs. This is required on all the PEs when the goal is to achieve any-to-any connectivity inside each VPN.
At this point, the bottoms PEs receive two separate VPNv4 updates for the same IPv4 prefix 10.137.12.0/24. However, an additional configuration step is still required for them to import both the routes in the VPN routing table. This is because by default, the BGP process on the receiving PE devices installs only the best route in the routing table. To change this behavior, the following additional configuration step is required:
•PE3/PE4router bgp 64000!address-family ipv4 vrf v1maximum-paths ibgp 2 import 2
After configuring the above command, the BGP process on the bottom PEs installs both routes received from the upper PEs in routing table, and these routes are consequently imported into the control plane relative to VRF v1, as follows:PE3#sh ip route vrf v1 10.137.12.0Routing entry for 10.137.12.0/24Known via "bgp 64000", distance 200, metric 0, type internalLast update from 192.168.100.6 2w3d agoRouting Descriptor Blocks:* 192.168.100.6 (Default-IP-Routing-Table), from 192.168.100.2, 2w3d agoRoute metric is 0, traffic share count is 1AS Hops 0192.168.100.5 (Default-IP-Routing-Table), from 192.168.100.1, 2w3d agoRoute metric is 0, traffic share count is 1AS Hops 0
Note This happens only with equal cost routes. It is possible also to import unequal cost routes with the command maximum-paths ibgp unequal-cost.
Now that load balancing is achieved from the point of view of the control plane, the discussion needs to focus on how the traffic is actually sent over the physical link; that is, how load balancing is obtained from a data plane point of view on Catalyst 6500 platforms.
As shown in the network diagram above, in a fully meshed design each PE has a redundant equal cost path that can be used to reach the loopback interfaces of the remote PEs. Because each VPN route is then learned from both PEs, the consequence is that each PE is able to send VPN traffic over four distinct Label Switched Paths (LSPs), two on each physical link connecting the PE device to the core. This can be verified as follows:PE3#sh mls cef vrf v1 10.137.12.0Codes: decap - Decapsulation, + - Push LabelIndex Prefix Adjacency3219 10.137.12.0/24 Gi1/3 16(+),56(+) (Hash: 0001)Gi1/2 16(+),39(+) (Hash: 0002)Gi1/3 16(+),55(+) (Hash: 0004)Gi1/2 16(+),37(+) (Hash: 0008)
As shown in Figure 70, the same inner MPLS VPN label 16 is used to send traffic toward the destination subnet, whereas a different outer label is inserted to label switch traffic to the remote PEs.
Figure 70 Establishment of Redundant LSPs
Imposing these labels allows each PE to build the four distinct LSPs to reach the remote PE loopback interfaces (192.168.100.5 and 192.168.100.6). This can be verified as follows:Bottom_PE_Left#sh mls cef 192.168.100.5Codes: decap - Decapsulation, + - Push LabelIndex Prefix Adjacency82 192.168.100.5/32 Gi1/3 55(+) (Hash: 0001)Gi1/2 37(+) (Hash: 0002)Bottom_PE_Left#sh mls cef 192.168.100.6Codes: decap - Decapsulation, + - Push LabelIndex Prefix Adjacency84 192.168.100.6/32 Gi1/3 56(+) (Hash: 0001)Gi1/2 39(+) (Hash: 0002)
Note that two LSPs are formed to reach the loopback interfaces of each remote PE. These LSPs are built out of the two physical interfaces connecting the PE devices to the core.
Now the question is how the PE decides which LSP to use for each specific packet. To answer this, keep in mind how the Catalyst 6500 platforms behave for MPLS traffic in the presence of redundant equal cost paths. Figure 71 describes the various possible scenarios.
Figure 71 MPLS Load Balancing on Catalyst 6500
Because only two labels are imposed on each packet when switching MPLS VPN traffic, the consequence is that the first option is valid in that case. This means that packets are assigned to each LSP based on the source and destination IP addresses pair; therefore, per-flow LSP assignment is performed. This can be easily verified with the following commands:cr23-6500-1#sh mls cef exact-route vrf v1 10.138.12.11 10.137.12.11Interface: Gi1/3, Next Hop: 220.127.116.11, Vlan: 1020, Destination Mac: 0009.448f.8200cr23-6500-1#sh mls cef exact-route vrf v1 10.138.12.11 10.137.12.12Interface: Gi1/3, Next Hop: 18.104.22.168, Vlan: 1020, Destination Mac: 0009.448f.8200cr23-6500-1#sh mls cef exact-route vrf v1 10.138.12.11 10.137.12.13Interface: Gi1/2, Next Hop: 22.214.171.124, Vlan: 1019, Destination Mac: 0005.3142.c400cr23-6500-1#sh mls cef exact-route vrf v1 10.138.12.11 10.137.12.15Interface: Gi1/2, Next Hop: 126.96.36.199, Vlan: 1019, Destination Mac: 0005.3142.c400
Changing the destination IP address (and thus the flow), a different physical interface and corresponding next-hop value is used. The combination physical interface/next-hop MAC address identifies a different LSP in each case.
Note Based on what shown in Figure 71, global table traffic (using a single MPLS label) will be load-balanced based on the source and destination IP information.
It is important to note that using distinct RDs on the two PE devices belonging to the same distribution block causes a larger utilization of memory resources on the PE itself. To understand the reason, it is required to analyze the logic behind the use of RDs on the PE devices. Every time a PE receives a new VPNv4 route (from the route reflector in this specific design), it does the following:
•If the RD of the received route is equal to the RD locally defined on the PE for that specific VRF, the route is imported in the BGP table (assuming also that the route target is configured to allow this).
•If the RD of the received route is different from the local RD, the PE imports the route in the BGP table (under the "section" corresponding to the locally defined RD), and it also keeps a copy in a different section of the BGP table corresponding to the received RD value.
Note This logic was deployed essentially to allow to keep track of which PE devices sent each route, under the assumption that each PE defines a unique RD for the same VRF (this is typical for example in a service provider environment).
Still referring to the example discussed above, because the values used for the pair of PEs are common between all the various distribution blocks (but unique between the PEs deployed in the same block), the VPNv4 routes received, for example, by the PEs in the upper distribution block from the PEs in the lower distribution block would be characterized by two distinct RD values. By looking at the BGP table on each of these PE, the increase of memory required to store this information is evident, as follows:cr20-6500-1#sh ip bgp vpnv4 allBGP table version is 11740, local router ID is 192.168.100.5Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight PathRoute Distinguisher: 64001:1 (default for vrf v1)* i10.138.12.0/24 192.168.100.10 0 100 0 ?* i 192.168.100.10 0 100 0 ?* i 192.168.100.9 0 100 0 ?*>i 192.168.100.9 0 100 0 ?<SNIP>Route Distinguisher: 64002:1* i10.138.12.0/24 192.168.100.10 0 100 0 ?*>i 192.168.100.10 0 100 0 ?As shown above, the route 10.138.12.0 in the section for default RD for the VRF v1 is imported as learned by both remote PEs (192.168.100.9 and 192.168.100.10). However, in the section for RD 64002:1, it is imported as learned only by one of the two remote PEs (the one configured with that specific RD in VRF v1). If all the PEs used the same RD, the second part of the information would not be present, thus saving memory. At the same time, all the characteristics of load balancing and redundancy discussed in this section would not be achieved. It is also worth considering that using separate RD values on each PE defined in the campus network still allows load balancing, but causes excessive memory use to store all the routes received from the other PEs with unique RDs on each PE. As a consequence, the recommended best practice is to have unique RDs between the two PEs belonging to the same campus distribution block, but reusing these values for all the pairs of PE deployed in the other distribution blocks.
Dealing with MTU Size Issues
Every time a tunneling technology is deployed, concerns about MTU size usually arise. Configuring MPLS VPN causes two additional tags to be imposed on each IP packet. This causes an increase of up to 8 bytes to the overall IP size of the packet. Assuming that the endpoints are generating IP packets with full 1500-byte sizes, it is logical to expect some problems to arise. The issues generally arise when the 1500-byte packets reach the PE devices that are responsible for MPLS label imposition.
If the DF bit in the IP packet is set to 1 (this is generally the case because the endpoint sets the bit to perform path MTU discovery), the PE is not able to add the 8 bytes and then send a packet out of the interfaces connected to the core, assuming they are configured with the default 1500-byte MTU size. At the same time, the PE is not able to fragment the packet because of the DF bit setting, so it drops the packet and returns an Destination Unreachable ICMP message to the source of this IP datagram, with the code indicating fragmentation needed and DF set (type 3, code 4). When the source station receives the ICMP message, it lowers the send message segment size (MSS), and when TCP retransmits the segment, it uses the smaller segment size.
This process works assuming that the end station is actually receiving the ICMP message and it is able to properly lower the MTU size of the generated IP packets. If either of these conditions are not met (for example, because the endpoint is not able to properly process the ICMP message and consequently lower the MTU of the packets it generates), the end stations continue to send full-size IP packets and the PE device keeps dropping them, effectively blackholing all the VPN traffic. For this reason, a different mechanism should be deployed to ensure that the VPN traffic is never dropped because of MTU-related issues. This also helps with UDP traffic characterized by large frame sizes (as for example, the one generated by video applications) for which the Path MTU discovery mechanism cannot be applied anyway.
The following two solutions to this problem can be deployed:
•Configure jumbo-frame support on all the MPLS enabled interfaces
The first method consists in increasing the MTU of the physical interfaces enabled for label switching. Because the default MTU size supported on Ethernet interfaces is 1500 bytes, increasing that value to at least 1508 allows the successful transmission of the MPLS labeled packets, both for the global table and VPN traffic. The required configuration is as follows:interface TenGigabitEthernet1/1mtu 1508tag-switching ip
Note Jumbo frame support must be configured on all the MPLS-enabled interfaces of P and PE devices.
The Catalyst 6500 platform can support jumbo frame sizes as of release 12.1(1)E for Native IOS. However, this support is dependent on the type of line cards that you use. There are generally no restrictions to enable the jumbo frame size feature. You can use this feature with trunking/non-trunking and channeling/non-channeling. As shown in the configuration sample above, a value of 1508 is enough to account for the two MPLS labels added for VPN traffic. However, the maximum jumbo frame size supported on the individual port is 9216; an application specific integrated circuit (ASIC) limitation limits the MTU size to 8092 bytes on the following 10/100-based line cards:
Note The WS-X6516-GE-TX is also affected at 100 Mbps; whereas at 10/1000 Mbps, up to 9216 bytes can be supported.
One specific issue may arise when modifying the MTU size of the physical interface, which is related to the fact that OSPF does not allow the establishment of adjacencies between devices that have configured a different MTU size on their connecting interfaces. For example, this can be the case when connecting the WAN edge devices to the campus core, as shown in Figure 72.
Figure 72 MTU Mismatch
It may well happen that the network device deployed in the WAN edge (for example, often a Cisco 7200 Series router) is connected to the core via interfaces that do not support the setting for jumbo frames. It may also usually be a valid assumption that frames received from the remote locations across the WAN are not full 1500-byte sizes. For example, typical deployments use IPsec + GRE over the WAN, so the frames are usually already reduced of size to be carried over the tunnels. Thus, the fact that the MTU size cannot be increased on the WAN edge devices for interfaces connecting to the core may not be a problem. However, this is not the case for traffic coming from the core of the campus and directed toward the WAN edge, so configuring jumbo frame supports on these interfaces may still be required (as shown in Figure 72). The different MTU size setting on the two side of the link prevents the creation of the OSPF adjacency. To work around this issue, the following specific command needs to be issued on the interfaces of the WAN devices:interface FastEthernet1/0description Link to campus coreip address 10.122.5.101 255.255.255.254ip ospf dead-interval minimal hello-multiplier 4ip ospf mtu-ignore
Doing so instructs the OSPF process running on the WAN edge device to not consider the MTU value as a criterion for the establishment of OSPF adjacency with the core routers.
•Use the mpls mtu interface command
Configuring a value of 1508 on all the MPLS-enabled interfaces allows for transmission of full 1500-byte sized IP packets, because the two additional labels are not considered when comparing the size of the frame to the MTU of the physical interface. The following configuration is enabled on all the MPLS-enabled interfaces of the network (both on the PE and P devices):interface TenGigabitEthernet1/1mpls mtu 1508mpls ip
Note Note that the "mpls" part of the command is automatically changed to "tag-switching" on Catalyst 6500 platforms in software releases pre-12.2(33)SXH.
The main advantage of this approach as compared to the one discussed in the previous bullet is that the MPLS MTU setting does not affect the establishment of routing adjacencies when deploying OSPF. Therefore, this is the recommended approach.
Tagging or Non-Tagging Global Table Traffic
The use of network virtualization in the context of this guide is positioned as an evolutionary overlay design that results in much of the traffic remaining in the global table; users or devices are selectively removed from the global routing table to be part of the defined VPNs to solve specific problems (guest/partner access, NAC remediation, and so on).
When MPLS is enabled on the physical link connecting each PE device (in the distribution layer of each campus distribution block) to the high speed core, all the traffic flowing in the network starts to be tagged. The global table traffic uses a single MPLS tag, whereas all the packets related to VPN traffic are characterized by an internal VPN tag and an outer IGP label.
One possible option is then to modify this default behavior and to start tagging only the VPN traffic, leaving all the communications in global table untagged. There are several advantages in doing this:
•MTU—Traffic in global table does not have any of the MTU issues previously discussed because no tags are added to the original packet.
•Troubleshooting—Because global traffic is IP switched and not label switched, this means that all the typical troubleshooting tools can be used to verify the functionalities of global table traffic. There is no requirement to understand the MPLS-specific tools that are discussed in MPLS-Specific Troubleshooting Tools.
•QoS—As previously discussed, after traffic is tagged with an MPLS label, there are three bits in the MPLS header (the EXP bits) that can be used for carrying QoS information. This allows supporting up to eight classes of traffic, so in the specific situations where the enterprise has already implemented a QoS strategy based on the use of more than eight classes, not tagging the global traffic helps in not disrupting such strategy. Traffic in global table continues to be classified and marked in the same way it was before MPLS VPN was turned on and no changes in the queuing strategy need to be put in place in the overall network.
•Traffic load-balancing—Global table packets containing a single MPLS label are load-balanced across the existing equal cost paths based on the source and destination IP addresses values. If global table traffic is sent untagged, the Layer 4 port information can also be included to calculate the hash value for load-balancing, allowing for a better statistical distribution of flows across the equal cost links.
From a convergence perspective, there is actually not much difference between the scenarios where global traffic is tagged or not. The main factor contributing to the convergence time (in a box/link failure scenario) is IGP convergence; the LDP component is negligible.
In summary, the main advantage of not tagging global table traffic is that the creation of the virtual network becomes a process that is not disruptive to the functionalities already in place in the enterprise network. This functions well with the initial design principle that virtualization should be used to address specific problems and should not affect the majority of the "normal" enterprise communications.
The question now becomes determining the best solution to implement untagged global table traffic. The recommended option is to influence the way LDP exchange tags between the various network devices (P and PE) in the MPLS network. Each device is locally assigning a label to each prefix contained in the global routing table. This functionality is triggered as soon as an interface is configured for label switching and cannot be stopped. What is possible to do instead is to control which labels can be exchanged between neighbor devices through the LDP protocol.
Because VPN routes are exchanged via MP-BGP, they are learned on each PE with a next hop pointing to the loopback of the remote PE device (part of the distribution block where that specific VPN subnet resides). This means that all VPN traffic flowing across the MPLS core is label-switched along an LSP logically terminating on the loopback interfaces that the remote PEs use for MP-iBGP peering. The idea is then to control the distribution of MPLS labels so that only labels associated to the loopback IP addresses are actually exchanged between network devices, which causes only the VPN traffic to be label-switched while all the global traffic is handled as "regular" IP traffic.
To control the distribution of labels between devices, it is possible to apply ACLs to LDP. Using loopback interfaces for establishing LDP sessions allows the clear identification of prefixes for which tags should be advertised. In addition, the recommendation is to assign IP addresses to the loopback interfaces taken from a specific separate range than the addresses assigned to the various campus subnets; in this example, all the loopbacks are addressed from the range 192.168.100.0/24.
The following two configuration steps achieve this purpose:
•Configure the ACL to identify the subnet assigned to the loopbacks:ip access-list standard loopbacks_onlypermit 192.168.100.0 0.0.0.255deny any
•Apply the ACL to LDPno mpls ldp advertise-labelsmpls ldp advertise-labels for loopbacks_only
Note It is first required to configure the switch to not advertise any label (no mpls ldp advertise-labels) and then to apply the specific ACL.
The mpls ldp advertise-labels command can potentially also allow specifying the neighbor to which the allowed labels should be sent. This is shown as follows:cr20-6500-1(config)#mpls ldp advertise-labels for loopbacks_only ?to Access-list specifying controls on LDP peers<cr>
However, in the example scenario, there is no need to add this additional tuning, because there is the requirement to advertise the label for the loopbacks to all the LDP neighbors.
In addition, the configuration shown above is generic enough to be easily applied on all the MPLS-enabled devices (P and PE), which is an operational advantage.
A practical example verifies this filtering functionality, based on the network topology shown in Figure 73. 10.137.2.0/24 and 10.137.12.0/24 are two subnets defined in a remote distribution block (the former belonging to the global table, the latter part of a VPN).
Figure 73 Label Example
No labels are used to send traffic toward the remote global subnet (note that a summary route 10.137.0.0/16 is actually known on PE3/PE4), as you can see from the "Untagged" keyword in the "Outgoing" tag column.PE3#sh mpls forwarding-table 10.137.2.0Local Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface67 Untagged 10.137.0.0/16 0 Te1/2 10.122.5.26Untagged 10.137.0.0/16 0 Te1/1 10.122.5.30
Different considerations are valid for VPN traffic; as shown in the following, the remote VPN subnet is learned via MP-BGP:PE3#show ip route vrf v1 10.137.12.0Routing entry for 10.137.12.0/24Known via "bgp 64000", distance 200, metric 0, type internalLast update from 192.168.100.6 02:15:34 agoRouting Descriptor Blocks:* 192.168.100.5 (Default-IP-Routing-Table), from 192.168.100.1, 02:20:34 agoRoute metric is 0, traffic share count is 1AS Hops 0192.168.100.6 (Default-IP-Routing-Table), from 192.168.100.2, 02:15:34 agoRoute metric is 0, traffic share count is 1AS Hops 0
This means that all the VPN traffic destined for the remote subnet 10.137.12.0 is sent out on the LSP built toward the loopbacks of PE1 and PE2. As expected, the traffic sent to reach these BGP next hops is actually tagged:PE3#sh mpls forwarding-table 192.168.100.5Local Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface64 32 192.168.100.5/32 0 Te1/2 10.122.5.2661 192.168.100.5/32 0 Te1/1 10.122.5.30PE3#sh mpls forwarding-table 192.168.100.6Local Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface49 34 192.168.100.6/32 0 Te1/2 10.122.5.2662 192.168.100.6/32 0 Te1/1 10.122.5.30
Convergence Analysis for VPN and Global Traffic
When deploying campus networks, the need to support applications such as VoIP that are very sensitive to delay and packet drops demands stringent requirements for convergence under several failure scenarios. It is therefore important to verify that when MPLS VPN is turned on in such an environment, the convergence that is achieved in global table (where voice services are recommended to be deployed) is not affected. Also, depending on the requirements of the applications deployed in the context of each logical partition created in the network, it is also important to verify what kind of convergence can be achieved inside each defined VPN.
Various device-based or link-based failures can occur in a campus network. When deploying MPLS VPN, this maps to a failure of PE, P, or CE devices and their interconnections. The impact of these events is largely dependent on the specific network topology. When building campus networks, the recommendation is usually to implement a high degree of redundancy. For example, this implies creating a full mesh of connections between each specific campus distribution block and the high speed core, and also a full mesh of connections between the core devices themselves when possible. These recommendations hold true also for MPLS VPN deployments, because the main factor affecting traffic convergence for both global and VPN traffic flows in a campus deployment is the IGP convergence. The influence of this factor can be minimized by building equal cost paths between different areas of the network.
Figure 74 shows a scenario where equal cost multi-path (ECMP) is the main factor dictating the convergence under failure scenarios. Note that the recovery mechanism provided by ECMP is valid for both VPN and global table traffic.
Figure 74 Use of ECMP for Convergence
In the equal cost path core configuration, the switch has two routes and two associated hardware CEF forwarding adjacency entries. Before a link failure, traffic is being forwarded using both of these forwarding entries. On the removal of one of the two entries, the switch begins forwarding all traffic using the remaining CEF entry. The time taken to restore all traffic flows in the network depends only on the time taken to detect the physical link failure and to then update the software and associated hardware forwarding entries. The key advantage of the recommended equal cost path design is that the recovery behavior of the network is both fast and deterministic. The one potential disadvantage in the use of equal cost paths is that it limits the ability to engineer specific traffic flows along specific links. Overriding this limitation is the ability of the design to provide greater overall network availability by providing for the least complex configuration and the fastest consistent convergence times.
Note More details on designing campus network for minimizing traffic outage under various failure scenarios (and corresponding convergence results) can be found in the campus design guides at the following URL: http://www.cisco.com/en/US/netsol/ns815/networking_solutions_program_home.html.
The only failure scenario that deserves a more detailed discussion in the context of this guide is the PE device failure, because it is the only case where convergence for VPN traffic is affected by BGP functionalities.
The distribution layer devices play the PE role when deploying MPLS VPN in a multilayer campus. The failure of the PE devices affects convergence for both upstream (that is, leaving the campus distribution block) and downstream (that is, destined to a subnet defined inside the specific distribution block) flows. The upstream and downstream flows are considered separately to better clarify the network elements involved in the recovery.
As shown in Figure 75, the failure of the PE device affects the upstream traffic that needs to start flowing through the second PE device.
Figure 75 Upstream Convergence with PE Failure
The sequence is as follows:
1. Traffic is flowing through the left PE switch (representing the HSRP active device).
2. The PE fails.
3. Traffic is redirected to the second PE switch, which has become the new HSRP active device.
The main factor influencing the convergence in this scenario is the HSRP recovery time. Following the design recommendation of implementing sub-second HSRP timers (as discussed in Virtualization of Network Services) allows achieving sub-second convergence (actual convergence time is around 700-800 msec).
Note the additional considerations for this specific scenario:
•Upstream recovery time is the same for global and VPN flows because the HSRP mechanism is common to both types of traffic.
•The recovery time is independent from the specific connectivity type between the distribution block and the high speed core. This means that it is the same in fully meshed, partially meshed, or ring topologies.
•The recovery time is independent from the specific IGP (EIGRP or OSPF) running in global table and from MP-BGP governing the exchange of VPN routes.
•The failure of the PE switch functioning as the HSRP standby device has no impact on upstream traffic convergence.
This is a more complex scenario when compared to upstream convergence because the factors affecting the recovery are different for traffic in global table or in the context of a specific VPN. First consider traffic flowing in global table; there may be various scenarios, depending on the type of connectivity between the distribution block and the high speed core, as shown in Figure 76.
Figure 76 Downstream Convergence with PE Failure
Figure 76 shows the following scenarios:
•In the fully meshed scenario (a), the core devices have a redundant equal cost path connecting to the campus distribution layer. This means that restoration of downstream traffic after a distribution switch failure is achieved using Layer 3 equal cost recovery in the core switches. Therefore, traffic recovery depends on the capability of the core device to reprogram the hardware CEF to start using the other adjacency already in place (when the failure of the link connecting to the PE is detected). This process is very fast and usually allows recovery in less than 200 msec
•In the partial mesh scenario (b), the mechanism that allows recovering global table flows is the IGP rerouting. Traffic that was originally sent from the core to the failing PE needs now to be rerouted across the link connecting the core devices and down through the second PE belonging to the distribution block. Using sub-second timers for the IGP (EIGRP or OSPF) allows keeping the convergence in the same order of 200-300 msec.
•In the ring scenario (c), the mechanism allowing the recovery is once again IGP rerouting, so the convergence is similar to that discussed in the previous point.
Various considerations need to be made for the recovery of VPN traffic. In this case, the main factor in the reestablishment of the traffic flow is MP-BGP convergence. Figure 77 shows this specific scenario.
Figure 77 LSP Establishment
Before the PE fails, any pair of remote PEs (belonging to a different campus distribution block) establishes an LSP connecting the loopback interfaces defined on each device (the VPN traffic is label switched between PEs using the information contained in the external MPLS label). This is because, as discussed in a previous section, all the VPN routes are exchanged via MP-BGP, and thus are imported into each VRF routing table with the next hop specifying the loopback of the remote PE (directly connected to the remote VPN subnet), as follows:cr20-6500-1#sh ip route vrf v1 10.138.12.0Routing entry for 10.138.12.0/24Known via "bgp 64000", distance 200, metric 0, type internalLast update from 192.168.100.9 10:07:08 agoRouting Descriptor Blocks:* 192.168.100.9 (Default-IP-Routing-Table), from 192.168.100.1, 10:07:08 agoRoute metric is 0, traffic share count is 1AS Hops 0
When the PE fails, traffic originated in the above distribution block needs to be rerouted via a different pair of LSPs, connecting to the second PE device of the remote distribution block, as shown in Figure 78.
Figure 78 PE Failure
The configuration is as follows:cr20-6500-1#sh ip route vrf v1 10.138.12.0Routing entry for 10.138.12.0/24Known via "bgp 64000", distance 200, metric 0, type internalLast update from 192.168.100.10 00:00:06 agoRouting Descriptor Blocks:* 192.168.100.10 (Default-IP-Routing-Table), from 192.168.100.1, 00:00:06 agoRoute metric is 0, traffic share count is 1AS Hops 0
Note In a fully-meshed design, each PE receives an equal cost path route for the VPN subnets from each remote PE. In that scenario, each PE sends traffic along LSPs connecting to both remote PEs, which also causes half of the traffic to be blackholed in case of remote PE failure. Apart from this, all the following considerations are applicable independently from the specific topology (fully meshed, partially meshed, or ring).
The sequence of events leading to the switching of LSPs is as follows:
1. The PE fails and the IGP in global table notifies all the devices that the loopback of the failed PE is no longer reachable. The corresponding entry is removed from the global routing table.
2. Until the BGP scanner runs on the various PEs, the entries pointing to the failed PE are maintained in the BGP table. This means all the traffic directed to it is blackholed.
3. When the BGP scanner runs (by default, this happens every 60 seconds), a check for the next-hop address is performed (in global table) and, because the loopback of the failed PE is gone, the BGP table is updated. This also triggers the update of the hardware CEF so that traffic can resume through the redundant remote PE.
Because of the sequence described above, a failure of a PE device may cause a worse case outage of 60 seconds for the VPN traffic.
Worse-case scenarios may arise where a default route is injected in global table. This is not typical in service provider environments, but may become an important factor in MPLS VPN campus deployments where the use of default route is quite common.
The root of the problem is that when doing the next-hop checking (at step 3 above), BGP considers that default route as a viable path to the failed PE, even if the more specific loopback is removed from the routing table. As a consequence, if for some reason (for example, because of redistribution) the metric associated to the default route is "better" than the metric associated to the loopback of the redundant remote PE, the old entry pointing to the failed PE is maintained as valid in the BGP table after running the BGP scanner. This implies that all the traffic is blackholed at this point, which remains valid until the holdtime for the failed PE expires and the route reflector notifies the PEs to withdraw the routes learned from the failed PE. This can lead to a worst case outage of up to 180 seconds (the default BGP holdtime value). Therefore, the recommendation is to ensure that the IGP metric associated to the default route is always higher than the metrics associated to the PE loopback interfaces used for establishing iBGP peering connections.
Even after fixing the issues associated with the existence of the default route, there is still the worst-case convergence scenario of 60 seconds previously described. The following are several ways of reducing this outage:
•The first solution is to use a feature called next-hop tracking. This workaround was not available for Catalyst 6500 platforms at the writing time of this document, but it was made available in the software release 12.2(33)SXH. This feature introduces an event-driven notification system to monitor the status of routes that are installed in the routing database and to report next-hop changes that affect internal BGP (iBGP) prefixes directly to the BGP process. This improves the overall BGP convergence time by allowing BGP to respond rapidly to next-hop changes for routes installed in the routing database, instead of waiting for the periodic BGP scanner to run; by aggressively tuning the next-hop tracking delay value to 0, it is possible to achieve sub-second convergence even in the PE failure scenario. More information on the use of this feature for campus MPLS VPN deployments can be found on the "Path Isolation System Assurance Guide":
•A second solution is to tune down the timer so that the BGP scanner runs more frequently. The minimum configurable value is 5 seconds, which allows achieving a best-case convergence of 5 seconds. However, tuning the BGP scanner timer should be done carefully, because depending on the number of routes present in the BGP table, this may significantly affect the performance of the CPU and is therefore not the recommended solution.
•The recommended way of improving BGP convergence in the context of this guide suggests tuning down the BGP timers (keepalive and holdtime), so that the failing of the PE device can be detected quickly and the other PE devices can be notified. Figure 79 shows this concept, assuming the use of route reflector devices (which is the recommended approach as discussed in MP-iBGP Deployment Considerations).
Figure 79 Reducing Convergence Time by Tuning BGP Timers
The sequence of the events is as follows:
1. PE3 fails and stops sending keepalives to the RR.
2. The RR keeps sending keepalives to the failed PE3.
3. After the holdtime expires (usually three times the keepalive timer), the RR declares PE3 dead and informs the other PEs. The PEs, after receiving the RR notification, remove any prefix previously learned from the failed PE from the BGP table.
The factor that dictates the convergence time in this scenario is therefore the BGP holdtime. Tuning the timers aggressively (for example, using 1 sec for keepalives and 3 seconds for holdtime) allows reducing the outage to a worst-case scenario of 3 seconds. However, such an aggressive tuning should be carefully considered because it may cause a "false negative" when three consecutive keepalive messages are lost; for example, because of congestion and a PE is declared failed even if that is not the case. This should not be an issue on campus networks characterized by a high speed backbone core, which is why tuning these BGP timers is considered the recommended design practice here.
From a configuration standpoint, the tuning of the timers can be achieved as follows:router bgp 64000neighbor 192.168.100.3 remote-as 64000neighbor 192.168.100.3 update-source Loopback10neighbor 192.168.100.3 timers 1 3
Figure 80 summarizes the convergence values for upstream and downstream flows in relation with the specific network topology in place. Note that these values are independent from the specific IGP used (EIGRP or OSPF).
Figure 80 Convergence Values
Summary of Design Recommendations
Based on what has been discussed in the previous sections of this guide, the following summarizes the best practice design recommendations when deploying MPLS VPN in a campus environment:
•Each campus distribution block should be connected in a fully-meshed fashion to the high speed core devices to improve the convergence (for both global table and VPN traffic) under various failure scenarios. When possible, the core devices should also be fully meshed between them.
•PE devices should be positioned at the first Layer 3 hop of the campus network, represented by the distribution layer devices in a multilayer campus design.
•LDP and MP-iBGP peering should be implemented using loopback interfaces. When deploying OSPF as IGP, these loopback interfaces should be defined in the specific OSPF area deployed in each distribution block.
•The loopback interfaces used for iBGP and LDP peering should be addressed from a separate and well-identifiable IP subnet.
•LDP targeted hellos should be used to improve the convergence in link/box recovery scenarios. In software releases following 12.2(33)SXH, the LDP session protection feature should be used in place of targeted hellos.
•Summarization of subnets from each distribution block should be implemented for global table prefixes but not for VPN routes.
•Given the high level of symmetry found in the recommended campus network designs, the following configuration steps should be implemented to achieve load balancing of VPN traffic:
–The PE devices belonging to the same distribution block should use unique Route Distinguisher values.
–MP-BGP configuration should make use of the "maximum-paths ibgp 2" command
•BGP timers (keepalive and holdtime) should be tuned down to <1 sec, 3 sec> to reduce the outage for VPN traffic in case of PE device failures. In software releases following 12.2(33)SXH, the Next Hop Trigger delay functionality should instead be deployed in order to achieve sub-second convergence also in the PE failure scenario.
•Jumbo frame support should be configured on all the MPLS-enabled interfaces to avoid fragmentation issues.
MPLS-Specific Troubleshooting Tools
When turning on MPLS VPN, a new set of troubleshooting tools needs to be used to verify the proper functionalities of the network. Unless it is decided not to tag traffic in global table (as discussed in Tagging or Non-Tagging Global Table Traffic), the troubleshooting techniques need to focus on two aspects: MPLS traffic (for global table) and VPN traffic.
•Verify that the proper interfaces are MPLS-enabled and that the right Label Distribution Protocol (LDP in this example) is configured:PE1#sh mpls interfacesInterface IP Tunnel OperationalTenGigabitEthernet1/1 Yes (ldp) No YesTenGigabitEthernet1/2 Yes (ldp) No YesTenGigabitEthernet1/3 Yes (ldp) No Yes
Note The "Tunnel" field refers to the capacity of Traffic Engineering for each specific interface.
•Verify that LDP neighbors are discovered out of all the MPLS-enabled interfaces and that the proper LDP Identifier (loopback address) is configured for this device:PE1#sh mpls ldp discoveryLocal LDP Identifier:192.168.100.5:0Discovery Sources:Interfaces:TenGigabitEthernet1/1 (ldp): xmit/recvLDP Id: 192.168.100.19:0TenGigabitEthernet1/2 (ldp): xmit/recvLDP Id: 192.168.100.18:0TenGigabitEthernet1/3 (ldp): xmit/recvLDP Id: 192.168.100.6:0
If an LDP neighbor is not discovered out of one of the interfaces that are MPLS-enabled, first verify the IP connectivity between the loopback interfaces of the neighbor devices. Remember that without IP connectivity, the TCP session between loopbacks fails and the LDP session cannot be established.
•Verify the assignment of labels to each prefix contained in routing table:PE1#sh ip routeCodes: C - connected, S - static, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2ia - IS-IS inter area, * - candidate default, U - per-user static routeo - ODR, P - periodic downloaded static routeGateway of last resort is 10.137.0.3 to network 0.0.0.0D 10.122.5.100/31[90/3328] via 10.137.0.3, 00:09:40, TenGigabitEthernet1/3[90/3328] via 10.122.5.30, 00:09:40, TenGigabitEthernet1/1C 10.137.2.0/24 is directly connected, Vlan2<SNIP>cr20-6500-1#sh mpls ldp bindings 10.122.5.100 31tib entry: 10.122.5.100/31, rev 558local binding: tag: 44remote binding: tsr: 192.168.100.6:0, tag: 94remote binding: tsr: 192.168.100.19:0, tag: 21cr20-6500-1#sh mpls ldp bindings 10.137.2.0 24tib entry: 10.137.2.0/24, rev 568local binding: tag: imp-nullremote binding: tsr: 192.168.100.6:0, tag: imp-null
As shown in the output above, for each entry in global routing table learned via IGP from a neighbor, the device generates a local tag (which is then advertised to the neighbor devices), and also receives tags from the LDP neighbors. For each directly connected subnet (as it would be for a locally generated summary), the device allocates an implicit NULL tag (and receives one from the peer switch also directly connected to the subnet). This is done to instruct the neighbor devices to perform PHP for all traffic destined to that subnet.
•Verify that the LSP connecting global subnets defined in different distribution blocks is functional. This can be done by using the traceroute command. For example, assuming that a remote global subnet is 10.138.2.0/24,he output of the command is as follows:cr20-6500-1#traceroute 10.138.2.1Type escape sequence to abort.Tracing the route to 10.138.2.11 10.122.5.30 [MPLS: Label 50 Exp 0] 0 msec 0 msec 0 msec2 10.122.5.13 [MPLS: Label 63 Exp 0] 0 msec 0 msec 0 msec3 10.122.5.43 4 msec * 0 msec
As seen above, the communication along the LSP is successful and the MPLS tag used at each hop is also shown.
Note The MPLS traceroute functionality works differently than traceroute on a normal IP network. For more details on this, see the following URL: http://www.cisco.com/warp/public/105/mpls_traceroute.pdf
MPLS VPN Troubleshooting
•Verify that VRF is properly defined (route distinguisher, route-target communities, and so on), and the right interfaces are associated to it.cr20-6500-1#sh ip vrf detail v1VRF v1; default RD 64001:1; default VPNID <not set>VRF Table ID = 1Interfaces:Vlan12 Vlan13 Vlan14Vlan15 Vlan16 Vlan17Connected addresses are not in global routing tableExport VPN route-target communitiesRT:64000:1Import VPN route-target communitiesRT:64000:1No import route-mapNo export route-mapCSC is not configured.VRF label allocation mode: per-prefixper-vrf-aggr for connected and BGP aggregates (Label 16)
A different command can be used to ensure that the specific interfaces are properly mapped to the VRF and actually removed from global table:cr20-6500-1#sh ip vrf interfacesInterface IP-Address VRF ProtocolVlan12 10.137.12.3 v1 upVlan13 10.137.13.3 v1 upVlan14 10.137.14.3 v1 upVlan15 10.137.15.3 v1 upVlan16 10.137.16.3 v1 upVlan17 10.137.17.3 v1 up
•Verify the control plane: VPN routes should be properly received from the remote PE devices:cr20-6500-1#sh ip bgp vpnv4 vrf v1BGP table version is 2149, local router ID is 192.168.100.5Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight PathRoute Distinguisher: 64001:1 (default for vrf v1)* i10.136.0.20/31 192.168.100.3 0 100 0 ?*>i 192.168.100.3 0 100 0 ?* i10.136.0.100/31 192.168.100.4 0 100 0 ?*>i 192.168.100.4 0 100 0 ?<SNIP>
•Verify the data plane: use the traceroute command to verify connectivity in the context of each defined VPN:cr20-6500-1#traceroute vrf v1 10.138.12.1Type escape sequence to abort.Tracing the route to 10.138.12.11 10.122.5.30 [MPLS: Labels 61/24 Exp 0] 0 msec 0 msec 0 msec2 10.122.5.13 [MPLS: Labels 18/24 Exp 0] 0 msec 4 msec 0 msec3 10.138.12.3 0 msec * 0 msec
Note how both the MPLS labels are now shown at each hop: the external label is modified (61 becomes 18), while the internal VPN label remains untouched because it is used by the receiving PE to properly switch the packet in the right VPN.
Path Isolation Deploying VRF-Lite End-to-End
The previous two path isolation techniques discussed (VRF-Lite + GRE and MPLS VPN) fit into the set of techniques previously as Multi-Hop: the virtual devices are usually not directly connected and a tunnel mechanism is necessary to link them over an IP cloud that is commonly not virtualized.
The VRF-Lite End-to-End approach discussed in this section represents instead an example of Single-Hop (or Hop-by-Hop) technique: in this case each and every network device is virtualized, together with all their physical interconnections. This idea is not necessarily new, since a traditional example of Hop-by-Hop VPN architecture is represented by a flat Layer 2 topology: in that case the virtualization is provided by the deployment of VLANs defined on each network device and spanning the entire topology, providing end-to-end logical isolation to the various network entities belonging to separate VLANs.
The benefit of a VRF-Lite End-to-End approach is providing a similar functionality by leveraging a more robust control plane based on the use of Layer 3 routing protocols rather than Spanning Tree. From a data plane perspective, the same concept of VLAN tags can be re-used in order to provide logical isolation on each point-to-point link interconnecting the Layer 3 virtualized network devices.
While discussing the previous two path isolation options, we were also able to position them according to the desired type of connectivity: in scenarios like guest access where the goal is to provide hub-and-spoke connectivity, VRF-Lite and GRE are a very good option. At the same time, if the desire is to provide any-to-any type of connectivity inside each virtual network, MPLS VPN represents a better option (creating a full mesh of GRE tunnels would surely increase the operational complexity of the overall solution).
VRF-Lite End-to-End can be positioned together with MPLS VPN for providing open communication inside each virtual network. However, this approach presents some unique characteristics that would allow positioning it as a viable alternative to MPLS VPN for many enterprise virtual network designs.
Some of the advantages of a VRF-Lite End-to-End design when compared to MPLS VPN are:
•Widely supported across the Cisco Catalyst family of products—Differently from the other two technologies that currently benefit of HW support only on Catalyst 6500 platforms, VRF-Lite is natively supported across the different Catalyst switch models, as shown in Table 4.
Note Nexus 7000 platforms also support VRF-Lite, but they are usually playing in the data center space (more than in the campus) so they are not listed in the table above.
When discussing the VRF-Lite support on different Catalyst switches, four main factors need to be taken into consideration:
1. Total number of VRFs simultaneously supported—This ranges between 7 (on 3550 platforms) and 1024 (on Catalyst 6500).
Note For IP-to-IP packets (i.e., VRF-Lite case) 6500 officially supports 1024 VRF without any performance impact. In case of MPLS VPNs deployments, the egress PE must do re-circulation in cases where more than 511 aggregate labels are present, so the recommendation in that case is to keep the total number of VRFs below that value.
2. Multicast support in the context of a VRF—It is there for 6500 and 3K platforms (with the exception of 3550 models). It will be available on Catalyst 4K devices starting from software release 12.2(50)SG (planned for Q1CY09), but only for 4900M (not modular) switches and 4500 (modular) models equipped with Sup6E Supervisor engines.
3. VRF support (VRF-awareness) for different features relevant in campus deployments. This topic has been discussed in detail in Virtualizing the Campus Distribution Block.
4. VRF-Lite is supported across different Catalyst platforms, but only when running the proper license version of IOS software. The minimum licenses required are:
•Catalyst 6500: IP Services
•Catalyst 4K: IP Services
•Catalyst 3K: IP Services
•VRF-Lite End-to-End is an IP based path isolation technique. This means that differently from MPLS VPN, it can be deployed without changing the IP characteristics of the underlying network and without introducing additional control plane components (such as MP-BGP), given the fact that the same routing protocols usually run in most enterprise campus networks (EIGRP and OSPF) can be virtualized and leveraged in the context of each deployed virtual network.
•Each created virtual network represents an exact replica of the underlying physical infrastructure (as shown in Figure 81). This is due to the nature of the VRF-Lite End-to-End approach that requires the virtualization of every network device, together with their interconnections.
Figure 81 Creation of Virtual Networks
As we shall discuss in greater detail in the following sections, this is an important factor in reducing the learning curve required to deploy this technology, since each logical network can be designed by leveraging the campus best practices that should already be deployed in the underlining physical infrastructure. The final result is a reduction in the operational expenses of running the overall virtualized network infrastructure.
The technical nature of VRF-Lite End-to-End represents also a potential limitation to the applicability of this approach:
•First, this technique is usually restricted to campus deployments, due to the fact that enterprises usually lack control over every IP hop in IP-based MAN or WAN clouds.
•Second, the operational complexity usually depends on the combination of the total number of virtual networks required and the overall size of the network (i.e., how many devices need to be virtualized). As a rule of thumb, VRF-Lite End-to-End is usually recommended in average-sized networks when not more than 10-15 distinct VRFs are needed.
Cisco has short-medium and long term strategies to address the operational complexity issue undermining VRF-Lite deployments:
•In the short-medium term, the plan is to provide a management application (formally called Virtual Network Manager) to ease the provisioning, monitoring, and troubleshooting of virtualized campus networks (initially the support is limited to VRF-Lite deployments). The first VNM release is planned for 1HCY09.
•The long term strategy is to provide a newer path isolation technical alternative that builds upon VRF-Lite (and therefore will be IP based and hop-by-hop), leveraging some of the main advantages of this approach and aiming to overcome its operational challenges.
Note The content in this document will be updated once these new technical elements become available and are validated.
In the following sections we first provide a functional overview of the VRF-Lite End-to-End approach and then present the high-level considerations around the three main tasks that need to be performed to implement this path isolation alternative:
•Virtualization of the network devices
•Virtualization of the physical links connecting these devices
•Virtualization of the control plane (routing protocol)
The discussion then focuses on determining the best practices to deploy VRF-Lite End-to-End in a campus environment. The goal is to provide to each deployed virtual network the same characteristics of high-availability, scalability, convergence, multicast, and QoS support that user traditionally experience in a non-virtualized campus infrastructure.
Finally, the discussion of the VRF-Lite End-to-End approach is concluded by highlighting some useful troubleshooting and monitoring techniques.
In order to understand how the VRF-Lite End-to-End approach can provide end-to-end logical isolation across a campus infrastructure, refer to Figure 82.
Figure 82 Deployment Steps for VRF-Lite End-to-End
In this example, two separate virtual networks (Green and Red) need to be deployed with the goal of providing network connectivity and end-to-end logical isolation across the campus infrastructure.
Note The two virtual networks that are created are in addition to the pre-existing global table (sometimes referred to as the default VPN).
The procedure that allows the deployment of VRF-Lite End-to-End can essentially be summarized in the following four steps:
1. Two VLANs need to be deployed at the edge of the network to provide access to Green and Red users. The total number of new VLANs to be deployed is mainly dependant on the specific campus deployment, as discussed more thoroughly in Virtualizing the Campus Distribution Block. The example in Figure 82 references a multi-yier campus deployment (Layer 2 only in the access), where these new VLANs need to be carried up to the first Layer 3 hop in the network, positioned at the campus distribution layer (where the corresponding Layer 3 Switch Virtual Interfaces (SVIs) are also defined).
Note In Routed Access Campus models (Layer 3 in the access), the SVIs would be directly defined on the access layer switches.
2. The second step is the virtualization of all the Layer 3 network devices deployed in the campus network. In our example, two VRFs, Green and Red, have to be defined on each routed hop. When virtualizing the first Layer 3 hop device (distribution layer or access layer switches, depending on the campus deployment), it is also required to map the previously-defined SVIs to the corresponding VRF.
3. All the physical interconnections need to be virtualized as well. As previously mentioned, this can be done by leveraging a unique VLAN tag dedicated to each defined VRF. Virtualizing the Interconnections discusses in more detail two different options for performing this task.
4. The final step consists in enabling a routing protocol for each defined VRF; this is a key element for providing end-to-end connectivity to the entities belonging to each deployed virtual network ( Green or Red).
Once these four steps are completed, Green users are able to communicate with other Green users, but unable to communicate with Red users, as if they were actually connected to a separate and dedicated network infrastructure. Communications between separate virtual networks can be enabled (when needed) by leveraging different techniques discussed in the Services Edge document:
The above high level functional overview allows pointing out two important characteristics of the VRF-Lite End-to-End approach:
•Similarly to a flat Layer 2 topology scenario, VLAN tags are used to logically isolate and distinguish traffic belonging to separate virtual networks carried on all the physical links. However, the use of the VLAN tags dedicated to the configured virtual network is limited only to each specific point-to-point link.
This represents the main difference between a VRF-Lite End-to-End deployment and a flat Layer 2 topology. In the former, each network device functions as a routed hop and not a bridged hop. As a consequence, VLANs are not spanned end-to-end across the campus infrastructure, which represents a well known and recommended best practice for campus network deployments. Referring to Figure 82, we can notice how Green traffic received at the upper distribution layer devices on VLAN 10 is actually routed (not bridged) toward the core on two separate VLANs (11 or 12) depending on the physical path followed and the same happens on each Layer 3 network hop in the network. This behavior allows increase the overall resiliency of the network infrastructure by providing redundant load-balancing paths.
•For each defined VRF, a unique VLAN tag is reserved for every physical link that requires virtualization support. Looking for example at C1 core device, it is clear how the Green traffic is tagged with a different numeric VLAN ID (11, 13 14 or 15) before being sent out each specific link. Future hardware releases for Catalyst platforms would be able to improve on this technique and leverage a common VLAN tag for the same VRF on different physical interfaces (more details can be found in Virtualizing the Interconnections).
It is also worth noticing that since every network device is a routed hop, the same VLAN tag can be re-used on separate network devices. As an example, in Figure 82 the same VLAN tags 11 and 12 are leveraged for the Green VRF on the links connecting the upper and lower campus distribution blocks to the core.
Before discussing the specifics design guidelines for virtualizing a campus infrastructure leveraging VRF-Lite End-to-End, it is useful to provide more deployment and configuration details about the steps involved in this process:
•Virtualization of the network devices
•Virtualization of the links connecting the devices
•Virtualization of the routing protocol (control plane)
The following three sections leverage the example of the simple network topology in Figure 83.
Figure 83 Connecting Three Not Virtualized Devices
Figure 83 displays three Catalyst switches performing Layer 3 functionalities and connected via routed (Layer 3) links. The relevant portion of configuration for these devices before beginning the virtualization of the network infrastructure is shown below.
Note The configuration sample below shows both EIGRP and OSPF protocols configured. This is mainly done to be able later to discuss the virtualization of both protocols; in a real world scenario it is likely that only a single routing protocol would be configured.
Catalyst 1interface GigabitEthernet1/1description Routed Link to Catalyst-2ip address 10.1.1.1 255.255.255.252!interface GigabitEthernet1/2description Routed Link to Catalyst-3ip address 10.1.2.1 255.255.255.252!router eigrp 100network 10.0.0.0no auto-summaryeigrp router-id 10.122.137.1!router ospf 100router-id 10.122.137.1log-adjacency-changesnetwork 10.0.0.0 0.255.255.255 area 0
Catalyst 2interface GigabitEthernet1/1description Routed Link to Catalyst-1ip address 10.1.1.2 255.255.255.252!router eigrp 100network 10.0.0.0no auto-summaryeigrp router-id 10.122.137.2!router ospf 100router-id 10.122.137.2log-adjacency-changesnetwork 10.0.0.0 0.255.255.255 area 0
Catalyst 3interface GigabitEthernet2/2description Routed Link to Catalyst-1ip address 10.1.2.2 255.255.255.252!router eigrp 100network 10.0.0.0no auto-summaryeigrp router-id 10.122.137.3!router ospf 100router-id 10.122.137.3log-adjacency-changesnetwork 10.0.0.0 0.255.255.255 area 0
Starting from the configuration shown above (relative to the non virtualized network), the following three sections discuss the different steps required to virtualize the network infrastructure leveraging VRF-Lite End-to-End, beginning with the virtualization of the network devices.
Virtualizing the Network Devices
The virtualization of the network devices is an important component of the VRF-Lite End-to-End approach, since it needs to be performed on each platform of the campus infrastructure.
Platforms performing only Layer 2 functionalities, as for example access layer switches in a multi-tier campus model, can be virtualized at Layer 2 by defining different VLANs dedicated to network entities belonging to separate virtual networks. This is not a new concept and was discussed in detail in Virtualizing the Campus Distribution Block.
Devices performing Layer 3 functionalities (distribution, core and sometime access) need instead to be virtualized leveraging the concept of VRF, as shown in Figure 84.
Figure 84 Virtualizing a Layer 3 Network Device
Note in Figure 84 that each Layer 3 hop device in a VRF-Lite End-to-End deployment defines several VRFs (in addition to the global table, the default VRF) and leverages unique 802.1q tags to send traffic belonging to separate VRFs to the neighbor devices.
Referring to the network topology in Figure 83, the configuration required to virtualize the network devices is identical on all 3 switches and highlighted below:ip vrf v01rd 1:1!ip vrf v02rd 2:2!ip vrf v03rd 3:3
Note For more information on VRF functionality, refer to Network Device Virtualization with VRF.
Differently from an MPLS VPN deployment (and similarly to the VRF-Lite + GRE approach), there is no need to specify any route-target statement for each defined VRF; this is because this parameter is only meaningful when leveraging MP-BGP as control plane protocol to exchange the VPN routes. This is not the case in a VRF-Lite End-to-End deployment, since the same IGP already deployed for the global table (usually EIGRP or OSPF) can also be enabled in the context of each defined virtual network. It is also worth mentioning that the definition of the Route Distinguisher (RD) has become optional in the latest Catalyst software releases; the configuration sample above still shows its use for backward compatibility with older code versions.
Note MP-BGP can still be leveraged in a VRF-Lite End-to-End deployment to provide inter-VPN communications (or access to shared services) via route-leaking between different VRFs. In that specific scenario, the Route Distinguisher and route-target parameters must be defined for each VRF (similarly to an MPLS VPN deployment). This concept is discussed in greater detail in the Services Edge design guide:
Virtualizing the Interconnections
Once the previous task has been completed and all the network devices have been virtualized (either at Layer 2 or Layer 3), it is necessary to virtualize the interconnections between them so that traffic belonging to separate virtual networks can be carried on these links while still ensuring logical isolation between VRFs.
Two different approaches for performing link virtualization are discussed, pointing out the differences and advantage/drawbacks of each.
Use of Switchports and SVIs
In this first approach, the interconnections between Layer 3 virtualized devices are converted from routed links into traditional Layer 2 trunks leveraging Layer 2 switchports and SVIs, as shown in Figure 85.
Figure 85 Connecting Three Virtualized Devices with Layer 2 Trunks
Note in Figure 85 that a different set of VLANs are carried on each physical link and dedicated to traffic in global table, Green VRF and Red VRF respectively.
The configuration steps required for this link virtualization on Catalyst 1 are:
•Define the Layer 2 VLANs required to carry the VRF traffic on the virtualized physical links.vlan 2000name to_Cat2_Global!vlan 2001name to_Cat2_Green!vlan 2002name to_Cat2_Red!vlan 3000name to_Cat3_Global!vlan 3001name to_Cat3_Green!vlan 3002name to_Cat3_Red
•Convert the original routed links into traditional Layer 2 trunks.interface GigabitEthernet1/1description L2 trunk to Catalyst-2switchportswitchport trunk encapsulation dot1qswitchport trunk allowed vlan 2000-2002switchport mode trunkspanning-tree portfast trunk!interface GigabitEthernet1/2description L2 trunk to Catalyst-3switchportswitchport trunk encapsulation dot1qswitchport trunk allowed vlan 3000-3002switchport mode trunkspanning-tree portfast trunk
•Define the SVIs for enabling routing of traffic received and sent on the virtualized links for each defined VRF (including the global table).interface Vlan2000description Global traffic to Catalyst-2ip address 10.1.1.1 255.255.255.252!interface Vlan2001description Green traffic to Catalyst-2ip vrf forwarding Greenip address 188.8.131.52 255.255.255.252!interface Vlan2002description Red traffic to Catalyst-2ip vrf forwarding Redip address 184.108.40.206 255.255.255.252!interface Vlan3000description Global traffic to Catalyst-3ip address 10.1.2.1 255.255.255.252!interface Vlan3001description Green traffic to Catalyst-3ip vrf forwarding Greenip address 220.127.116.11 255.255.255.252!interface Vlan3002description Red traffic to Catalyst-3ip vrf forwarding Redip address 18.104.22.168 255.255.255.252
The configuration samples above allow making several considerations about this link virtualization option:
•The configuration for the physical interfaces Gig1/1 and Gig1/2 is changed from the original Layer 3 routed port to a Layer 2 trunk (switchport). This is not ideal from a migration standpoint, since it would disrupt the traffic that may already be flowing in the global table on that link.
•The Layer 3 configuration originally placed under the physical interfaces (Gig1/1 and Gig1/2) has now been moved under the SVIs (2000 and 3000) dedicated to global table. Also, there is now a requirement to configure Layer 2 VLAN entities; this is usually not the case for devices performing Layer 3 functionalities in a non-virtualized deployment (with the exception of the first Layer 3 hop device in the network).
•The VLAN tags used to carry traffic belonging to separate virtual networks must always be unique when leveraging traditional Layer 2 trunks in order to avoid the creation of bridged (and not routed) topologies. As noted above, it is also a recommended best practice to specifically restrict the VLANs allowed on each trunk; this is because by default IOS behavior is to allow on a newly created trunk all the VLANs defined in the switch.
•The example above shows unique IP addresses being assigned to the different VLAN interfaces; from a technical perspective, all the SVIs dedicated to the virtualization of the same physical link could be configured to use the same IP address, as shown in this example:interface Vlan2000description Global traffic to Catalyst-2ip address 10.1.1.1 255.255.255.252!interface Vlan2001description Green traffic to Catalyst-2ip vrf forwarding Greenip address 10.1.1.1 255.255.255.252!interface Vlan2002description Red traffic to Catalyst-2ip vrf forwarding Redip address 10.1.1.1 255.255.255.252
This is because of the control and data plane virtualization provided by the VRF technology. However, from a practical and operational point of view, the use of unique IP addresses is usually tied into operational processes, as for example in these two examples:
–Network management systems—Currently there is still a high dependency on topology maps that use DNS, SNMP, and PING to draw the topology and provide indication that the network is up and running. Networks leveraging third party management solutions (such as HP, Tivoli, etc.), are not able to deal with scenarios where the same IP address is assigned to different interfaces.
–Diagnostic tools—One of the reasons for unique addresses is to be able to identify that a packet is following a specific path. Observing the same hop-by-hop IP address information for traceroutes issued in different VRFs may represent an issue (especially when the traceroute operation is tied to the use of a DNS server to map a specific name to each interface). More considerations on this topic can be found in the "Monitoring and Troubleshooting" section.
As a consequence of the above considerations, the current recommendation for VRF-Lite End-to-End deployments is to use unique IP addresses for all the defined SVIs.
•This type of configuration is supported across all Catalyst platforms (6500, 4Ks and 3Ks).
For sake of completeness we show the configuration also for Catalyst-2 and Catalyst-3:
Catalyst 2vlan 2000name to_Cat1_Global!vlan 2001name to_Cat1_Green!vlan 2002name to_Cat1_Red!interface GigabitEthernet1/1description L2 trunk to Catalyst-1switchportswitchport trunk encapsulation dot1qswitchport trunk allowed vlan 2000-2002switchport mode trunkspanning-tree portfast trunk!interface Vlan2000description Global traffic to Catalyst-1ip address 10.1.1.2 255.255.255.252!interface Vlan2001description Green traffic to Catalyst-1ip vrf forwarding Greenip address 22.214.171.124 255.255.255.252!interface Vlan2002description Red traffic to Catalyst-1ip vrf forwarding Redip address 126.96.36.199 255.255.255.252!
Catalyst 3vlan 3000name to_Cat1_Global!vlan 3001name to_Cat1_Green!vlan 3002name to_Cat1_Red!interface GigabitEthernet2/2description L2 trunk to Catalyst-1switchportswitchport trunk encapsulation dot1qswitchport trunk allowed vlan 3000-3002switchport mode trunkspanning-tree portfast trunk!interface Vlan3000description Global traffic to Catalyst-1ip address 10.1.2.2 255.255.255.252!interface Vlan3001description Green traffic to Catalyst-1ip vrf forwarding Greenip address 188.8.131.52 255.255.255.252!interface Vlan3002description Red traffic to Catalyst-1ip vrf forwarding Redip address 184.108.40.206 255.255.255.252
One last important thing can be highlighted in the configuration samples above: in order to maintain the end-to-end logical isolation for the traffic belonging to the separate virtual networks, it is critical to ensure a correct mapping of the SVIs and the VRF on each side of the virtualized link. For example, if the VRF mappings for SVIs 2001 and 2002 on Catalyst-2 were mistakenly switched (SVI 2001 being mapped to VRF Red and SVI 2002 being mapped to VRF Green), the end result would be for Catalyst-2 to try to switch the Green traffic received from Catalyst-1 in the context of VRF Red (and vice versa). This usually would not represent a big concern from a security perspective, since communication at that point would typically be broken (given the fact that the IP addresses on the two sides of the links are mismatching, preventing, for example, a proper routing peering). The security concern may arise again in scenarios where the same IP address is used on all the SVIs (or sub-interfaces) defined for a virtualized link. In that case, the traffic may be successfully switched between different VRFs because of the configuration error mentioned above (this is another reason, in addition to the operational implications, for the previous recommendation of using unique IP addresses for each defined VRF).
Use of Routed Ports and Sub-Interfaces
A different approach to virtualize the interconnections between Layer 3 devices leverages the definition of sub-interfaces. It is important to clarify up front that support for sub-interfaces is currently limited to Catalyst 6500 platforms. The use of sub-interfaces is supported on all different type of interfaces/linecards for all the software releases available with Sup720 and Sup32 Supervisors.
The use of sub-interfaces is the recommended approach, since it allows you to keep unmodified the original routed links connecting the virtualized Layer 3 devices, as shown in the corresponding configuration samples below (still applying to the network setup in Figure 85).
•Create the sub-interfaces used to carry VRF traffic without modifying the configuration on the main interface (used to carry global table traffic).interface GigabitEthernet1/1description Global Traffic to Catalyst-2ip address 10.1.1.1 255.255.255.252!interface GigabitEthernet1/1.2001description Green traffic to Catalyst-2encapsulation dot1Q 2001ip vrf forwarding Greenip address 220.127.116.11 255.255.255.252!interface GigabitEthernet1/1.2002description Red traffic to Catalyst-2encapsulation dot1Q 2002ip vrf forwarding Redip address 18.104.22.168 255.255.255.252!interface GigabitEthernet1/2description Routed Link to Catalyst-3ip address 10.1.2.1 255.255.255.252!interface GigabitEthernet1/2.3001description Green traffic to Catalyst-3encapsulation dot1Q 3001ip vrf forwarding Greenip address 22.214.171.124 255.255.255.252!interface GigabitEthernet1/2.3002description Red traffic to Catalyst-3encapsulation dot1Q 3002ip vrf forwarding Redip address 126.96.36.199 255.255.255.252
The configuration above brings up some important points, especially when compared to the previous option leveraging SVIs:
•The configuration is simplified and more straightforward: there is no requirement to create Layer 2 VLANs or Layer 3 SVIs, just sub-interfaces specifying the VLAN tag to be used are now needed. As a consequence, this option is preferable from a migration standpoint since there is no disruption to the traffic in the global table when adding new virtual networks. This is also in line with the idea of overlaying virtual networks on top of a preexisting (and fully functional) network infrastructure.
•Global table traffic is sent untagged with the specific configuration shown above, differently from the Layer 2 trunk scenario discussed in the previous section where also global table traffic was tagged (in the example using VLAN 2000). If this is not desirable, then a sub-interface could also be dedicated to carry global table traffic, as is discussed in Interfacing Layer 2 Trunks and Sub-Interfaces. Notice that doing so would impact the traffic originally flowing in global table, since the original Layer 3 configuration for the main interface would need to be moved under the newly created sub-interface.
•Theoretically the same VLAN tag could be use for the same virtual networks on the different physical links belonging to the same device; this is for example possible when defining sub-interfaces on Cisco ISR routers. However, the current implementation on Catalyst 6500 does not support that option. The output below shows the message received when trying to use the same VLAN tag on two separate sub-interfaces:Catalyst-1(config)#int g1/1.2001Catalyst-1(config-subif)#encapsulation dot1Q 2001Catalyst-1 (config-subif)#int g1/2.2001Catalyst-1(config-subif)#encapsulation dot1Q 2001Command rejected: VLAN 2001 not available
This behavior will change in future HW releases, but in the meantime there is the restriction of dedicating unique VLAN tags per VRF on each separate physical link that is being virtualized (similarly to the SVIs approach).
•Concerning the IP addressing of all the sub-interfaces defined for the same physical link, the same observations made in the previous section discussing the SVIs approach still remain valid. Even if technically it could be possible to address all the sub-interfaces defined for the same link with a common IP address, the recommendation is to keep them unique, as shown in the configuration sample above.
The configurations for the other two devices shown in Figure 85 are:
Catalyst 2interface GigabitEthernet1/1description Global Traffic to Catalyst-1ip address 10.1.1.2 255.255.255.252!interface GigabitEthernet1/1.2001description Green traffic to Catalyst-1encapsulation dot1Q 2001ip vrf forwarding Greenip address 188.8.131.52 255.255.255.252!interface GigabitEthernet1/1.2002description Red traffic to Catalyst-1encapsulation dot1Q 2002ip vrf forwarding Redip address 184.108.40.206 255.255.255.252
Catalyst 3interface GigabitEthernet2/2description Global Traffic to Catalyst-1ip address 10.1.2.2 255.255.255.252!interface GigabitEthernet2/2.3001description Green traffic to Catalyst-1encapsulation dot1Q 3001ip vrf forwarding Greenip address 220.127.116.11 255.255.255.252!interface GigabitEthernet2/2.3002description Red traffic to Catalyst-1encapsulation dot1Q 3002ip vrf forwarding Redip address 18.104.22.168 255.255.255.252
It is worth noticing that even when leveraging sub-interfaces, it is critical to ensure a proper mapping between the VLAN tag and VRF configured on each sub-interface in order to provide end-to-end isolation between virtual networks and avoid undesired traffic leaking.
Interfacing Layer 2 Trunks and Sub-Interfaces
As previously mentioned, the preferred and recommended way of virtualizing a Layer 3 link is by leveraging the sub-interfaces approach. Since the use of sub-interfaces is currently limited to Catalyst 6500 platforms, the question that arises is how should we virtualize a link between a 6500 and a platform not supporting sub-interfaces (for example a Catalyst 4500 and 3750)?
The recommendation in this case is to deploy the same technology on both sides of the link; this means also using traditional Layer 2 trunks with SVIs on the 6500 interface. This is because of the advantages of the sub-interface approach (like the easier migration support) would not be available anyway in this hybrid scenario, so from an operational point of view it may be preferable to deploy the same type of configuration on both sides of the physical link.
If, however, the desire is to always use sub-interfaces every time they are supported, there may be a need to deploy a hybrid approach, where the interface on one side of the link is virtualized by defining sub-interfaces, whereas the interface on the other side is deployed as a traditional Layer 2 trunk switchport. For more information on this deployment model, refer to Appendix A—VRF-Lite End-to-End—Interfacing Layer 2 Trunks and Sub-Interfaces.
Virtualizing the Routing Processes
After completing the previous two steps, a logical topology overlay of VRFs and routed links has been created. In order to allow end-to-end connectivity inside each virtual network, it is now required to enable the control plane, which essentially means configuring a routing protocol in the context of each defined VRF.
One of the main advantages of the VRF-Lite End-to-End approach is being able to leverage inside each virtual network the same routing protocol already implemented to provide connectivity in the physical infrastructure (the global table). This is not a mandatory requirement, since a different routing protocol could theoretically be used in the context of each VRF, but it is a recommended best practice in order to lower the operational complexity of running these multiple virtual networks.
The two routing protocols commonly deployed in campus networks are OSPF and EIGRP, so the discussion here is limited to these two. The approach taken for the virtualization of these protocols is slightly different: EIGRP leverages a single routing process and enables the concept of address-families associated to each defined VRFs. OSPF on the other hand allows for the creation of a separate routing process for each VRF.
Independently from the implementation specifics, with both EIGRP and OSPF a separate set of control protocol packets (hellos, route updates, etc.) is exchanged on the same link for each configured VRF. The first consequence of this is the fact that Layer 3 devices would start peering over separate routing instances on each virtualized link, as shown in Figure 86.
Figure 86 Multiple IGP Peering
This behavior is the direct consequence of the fact that this type of deployment basically creates multiple identical overlay networks; this means that devices that were IGP peers only for the global table would now peer in the context of each defined VRF. A potential concern may arise around the increased CPU and memory requirements. Based on the functional characteristics of the VRF-Lite End-to-End approach, we have already positioned it for scenarios where a limited number of virtual networks are required (around 10-12). That means that the operational complexity would generally be the main factor limiting the applicability of this path isolation approach substantially before concerns about CPU and memory utilization may enter into the picture.
Similarly to what we observed when discussing the deployment of MP-BGP, the virtualization of the EIGRP routing protocol leverages the concept of address-families. This basically means that a single routing process needs to be enabled on each network device and a separate address-family would then be dedicated to each configured VRF. The configuration sample below, referring to the network diagram shown in Figure 86, highlights the use of address-families with EIGRP.router eigrp 100network 10.0.0.0eigrp router-id 10.122.137.1no auto-summary!address-family ipv4 vrf Greennetwork 22.214.171.124no auto-summaryautonomous-system 100eigrp router-id 10.122.138.1exit-address-family!address-family ipv4 vrf Rednetwork 126.96.36.199no auto-summaryautonomous-system 100eigrp router-id 10.122.139.1exit-address-family
The commands specified under the router eigrp 100 section apply to the EIGRP process running in global table. All the specific commands relative to the EIGRP instance running in each virtual network would instead be applied under the corresponding address-family. One key difference between the global table and the address family configurations is the command autonomous-system; this is required in order to activate the EIGRP instance in the context of the VRF. The number specified in this command can be unique for each defined address family and does not need to be equal to the AS number of the defined EIGRP process (the configuration sample above shows instead a scenario where the value 100 is used across the board). The only requirement for the autonomous-system value of each address-family is to match on the corresponding address-families of neighbor devices in order for them to become neighbors in the context of each specific VRF.
Note More details on the design recommendations for deploying virtualized routing processes in a campus environment can be found in Deploying Path Isolation in Campus Networks.
The same configuration above could be applied on all 3 network devices shown in Figure 86; as a consequence, each Catalyst switch would then establish multiple EIGRP adjacencies with the neighbors devices, as highlighted below:
•EIGRP Neighbors in global tableCatalyst-1#sh ip eigrp neighborsIP-EIGRP neighbors for process 100H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num1 10.1.2.2 Gi1/2 11 00:00:12 1 200 0 90 10.1.1.2 Gi1/1 11 00:00:18 1015 5000 0 9
•EIGRP Neighbors in virtual network GreenCatalyst-1#sh ip eigrp vrf Green neighborsIP-EIGRP neighbors for process 100H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num1 188.8.131.52 Gi1/2.3001 13 00:00:19 1 200 0 70 184.108.40.206 Gi1/1.2001 12 00:00:29 1 200 0 8
•EIGRP Neighbors in virtual network "Red"cr20-6500-1#sh ip eigrp vrf Red neighborsIP-EIGRP neighbors for process 100H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num1 220.127.116.11 Gi1/2.3002 11 00:00:22 1 200 0 80 18.104.22.168 Gi1/1.2002 10 00:00:33 1 200 0 9
Note The outputs above are relative to the scenario where sub-interfaces are deployed to virtualize the links between devices. Similar output could be seen when leveraging Layer 2 trunks with SVIs.
Differently from the EIGRP approach, the virtualization of OSPF is achieved by defining and enabling distinct routing processes for each configured VRF. The configuration sample below, still referring to Figure 86, highlights the use of multiple OSPF processes.router ospf 1 vrf Greennetwork 11.0.0 0.255.255.255 area 0router-id 10.122.138.1!router ospf 2 vrf Rednetwork 12.0.0 0.255.255.255 area 0router-id 10.122.139.1!router ospf 100network 10.0.0 0.255.255.255 area 0router-id 10.122.137.1
OSPF process 100 is running in global table, whereas OSPF processes 1 and 2 are enabled in the context of VRFs Green and Red respectively. As always with OSPF, the specified process number has only a local meaning and does not affect the establishment of neighborship between adjacent devices.
Note More details on the design recommendations for deploying virtualized routing processes in a campus environment can be found in Deploying VRF-Lite End-to-End in Campus Networks.
The same configuration above could be applied on all three network devices shown in Figure 86; as a consequence, each Catalyst switch would then establish multiple OSPF adjacencies with the neighbor devices, as highlighted below:
•OSPF Neighbors in global tableCatalyst-1#sh ip ospf 100 neighborNeighbor ID Pri State Dead Time Address Interface10.1.2.2 1 FULL/DR 00:00:39 10.1.2.2 GigabitEthernet1/22.214.171.124 1 FULL/DR 00:00:39 10.1.1.2 GigabitEthernet1/1
•OSPF Neighbors in virtual network "Green"Catalyst-1#sh ip ospf 1 neighborNeighbor ID Pri State Dead Time Address Interface126.96.36.199 1 FULL/DR 00:00:39 188.8.131.52 GigabitEthernet1/2.300184.108.40.206 1 FULL/DR 00:00:39 220.127.116.11 GigabitEthernet1/1.2001
•OSPF Neighbors in virtual network "Red"Catalyst-1#sh ip ospf 2 neighborNeighbor ID Pri State Dead Time Address Interface18.104.22.168 1 FULL/DR 00:00:39 22.214.171.124 GigabitEthernet1/2.300126.96.36.199 1 FULL/DR 00:00:39 188.8.131.52 GigabitEthernet1/1.2001
Note The outputs above are relative to the scenario where sub-interfaces are deployed to virtualize the links between devices. Similar output could be seen when leveraging Layer 2 trunks with SVIs.
It is worth noticing that the commands to display the OSPF adjacencies do not present the option of specifying the vrf keyword (as it was the case with EIGRP). As a consequence, it is first needed to determine what specific process number is enabled in the context of each VRF or then displaying the specific neighborship information, as shown below:cr20-6500-3#sh ip protocols vrf GreenRouting Protocol is "ospf 1"Outgoing update filter list for all interfaces is not setIncoming update filter list for all interfaces is not setRouter ID 10.122.138.1It is an area border routerNumber of areas in this router is 1. 1 normal 0 stub 0 nssaMaximum path: 4Routing for Networks:184.108.40.206 0.255.255.255 area 0Routing Information Sources:Gateway Distance Last UpdateDistance: (default is 110)
Deploying VRF-Lite End-to-End in Campus Networks
One of the key, and often underestimated, requirements for deploying network virtualization in a campus environment consists in starting with a rock-solid campus design.
Assuming that is the case, the goal is then to deploy the different virtual networks in such a way that each of them could inherit the same characteristics of scalability, resiliency, and security featuring the underlying network infrastructure.
As already mentioned in the introduction, deploying VRF-Lite End-to-End in a campus network allows for the creation of virtual networks that mirror exactly the underlying network infrastructure.
This is due to the nature of this technology, which requires the virtualization of every network device and every link interconnecting these devices. As a consequence, one of the biggest advantages of this approach is the fact that almost all the campus recommended design choices can directly be inherited by each virtual network; this applies to the routing protocol configuration (summarization boundaries, timers tuning, etc), multicast deployment, recovery mechanisms under various failure scenarios, etc.
The goal of this section is to capture the campus best practice guidelines that should be applied to each defined virtual network, pointing out similarities and differences with the recommended design choices usually applying to a non-virtualized environment.
Note For more information on campus best practice, see:
Scalability and High Availability
A critical factor for the successful implementation of any campus network design is to follow good structured engineering guidelines. A structured system is based on two complementary principles, hierarchy and modularity. Starting with the basics, the campus is traditionally defined as a three-tier hierarchical model comprising the core, distribution, and access layers.
Note While it is true that many campus networks are constructed using three physical tiers of switches, this is not a strict requirement. In a smaller campus, the network might have two tiers of switches in which the core and distribution elements are combined in one physical switch, a collapsed distribution and core. On the other hand, a network may have four or more physical tiers of switches because the scale, wiring plant, and/or physical geography of the network might require that the core be extended.
The combination of distribution and access layer devices is what usually is referred to as campus distribution blocks. The core layer of the campus allows interconnecting between them various distribution blocks, as shown in Figure 87.
Figure 87 Modular Campus Deployment
Following this principle, each campus distribution block can be designed with some independence from the overall design and all modules can be operated as semi-independent elements, providing for overall higher system availability as well as for simpler management and operations.
There are some additional recommended design principles that allow enhancing the characteristics of scalability and resiliency of a campus network and these are discussed in the following sections. Once again, it is critical to understand how these design principles apply not only to the underlying campus infrastructure but also in each virtual network.
Improve Scalability with Route Summarization
It is recommended best practice for each campus distribution block to summarize into the core all the more specific routes defined inside the distribution block. This brings the advantage of masking any specific failure happening inside the block from the rest of the network (i.e., no routing protocol notification or recalculation would be required in that case).
When leveraging this concept of summarization in a virtualized deployment, it is important to ensure that the summaries injected in the context of each virtual network are not overlapping between them. Injecting overlapping summaries would in fact create challenges in all the scenarios where there is the requirement to provide access to shared services from each virtual network or if the desire is to establish controlled communications between virtual networks (through the services edge deployment). These are basically the same challenges found in deployments that use overlapping IP addresses across different virtual networks.
From a configuration perspective, the creation of summaries is performed differently depending on the specific routing protocol deployed.
Summarization with EIGRP is configured on a per-interface basis. The configuration needs to be applied on the interfaces connecting the distribution layer devices to the core, but not on the transit link connecting the two distribution layer switches.
The example below applies to a virtualized campus network scenario shown in Figure 87, where sub-interfaces are dedicated to each defined virtual network (being the recommended approach for link virtualization):interface TenGigabitEthernet1/1description 10GE to core (Global)ip address 10.122.5.31 255.255.255.254ip authentication mode eigrp 100 md5ip authentication key-chain eigrp 100 eigrpip summary-address eigrp 100 10.137.0.0 255.255.0.0!interface TenGigabitEthernet1/1.312description 10GE to core (VRF Green)encapsulation dot1Q 312ip vrf forwarding Greenip address 10.122.15.31 255.255.255.254ip authentication mode eigrp 100 md5ip authentication key-chain eigrp 100 eigrpip summary-address eigrp 100 10.138.0.0 255.255.0.0!interface TenGigabitEthernet1/1.322description 10GE to core (VRF Red)encapsulation dot1Q 322ip vrf forwarding Redip address 10.122.25.31 255.255.255.254ip authentication mode eigrp 100 md5ip authentication key-chain eigrp 100 eigrpip summary-address eigrp 100 10.139.0.0 255.255.0.0
Note Similar configuration applies to the second link connecting the distribution layer device to the core (Ten1/2).
When deploying OSPF in a campus network, the first important decision is how to deploy the various OSPF areas. It is common practice to define the OSPF area 0 over the core of the campus and dedicate a unique area for each individual distribution block. As a consequence, the summarization from each distribution block into the core is configured by deploying the distribution layer devices as ABRs.
The following example references Figure 87 and shows how to configure summarization when deploying multiple OSPF processes in the context of separate virtual networks:router ospf 1 vrf Greenrouter-id 10.122.138.1area 138 range 10.138.0.0 255.255.0.0network 10.122.0.0 0.0.255.255 area 0network 10.138.0.0 0.0.255.255 area 138!router ospf 2 vrf Redrouter-id 10.122.139.1area 139 range 10.139.0.0 255.255.0.0network 10.122.0.0 0.0.255.255 area 0network 10.139.0.0 0.0.255.255 area 139!router ospf 100router-id 10.122.137.1area 137 range 10.137.0.0 255.255.0.0network 10.122.0.0 0.0.255.255 area 0network 10.137.0.0 0.0.255.255 area 137
Notice how summarization is configured as part of the routing protocol configuration and not on a per interface basis, as it was the case with EIGRP deployments.
High Availability—Network-Based and Device-Based
The high availability characteristics of the campus network can be improved by both increasing the resilience of the network and the resiliency of the network devices.
Network resiliency is largely concerned with how the overall design implements topology redundancy, redundant links and devices and how the control plane protocols (such as EIGRP, OSPF, PIM, and STP) are optimally configured to operate in that design. The use of physical redundancy is a critical part of ensuring the availability of the overall network. In the event of a component failure, having a redundant component means the overall network can continue to operate. Figure 87 showed a simplified example of a campus network, where each campus distribution block should be connected to the core in a fully mesh fashion in order to provide a redundant path under all the possible failure scenarios.
Virtualizing the network with VRF-Lite End-to-End allows for the creation of multiple overlay virtual networks that look exactly like the underlying campus infrastructure depicted above and hence are characterized by the same properties of scalability and resiliency. This effectively allows for the creation of multiple logically separate routing planes over the same physical network topology.
Figure 88 Deploying Multiple Overlays Virtual Networks
Notice how this is true assuming that every single device and physical link existing in the campus is virtualized by leveraging the technologies discussed in the previous sections.
In addition to the topology, device, and link redundancy previously discussed, the control plane capabilities of the campus provide the ability to manage the way in which the physical redundancy is leveraged, the way the network load balances traffic, the way the network converges, and the way the network is operated. The detailed recommendations for how to optimally configure the various control plane protocols are covered in the specific campus design guides for these protocols, but the following basic principles can be applied in all situations:
•Wherever possible, leverage the ability of the switch hardware to provide the primary detection and recovery mechanism for network failures (for example, use Multi-Chassis Etherchannel and Equal Cost Multi-Path recovery for failure recovery, if available). This ensures both a faster and a more deterministic failure recovery, as is discussed in more detail in High Availability Recovery Analysis.
•IGP timer tuning—Campus networks are usually characterized by direct point-to-point link interconnecting the network devices at the various network layers (access, distribution, and core). As a consequence, the tuning of IGP timers mainly represents a safety mechanism for scenarios where a physical link remains in up state but it is not capable of passing traffic. Under normal circumstances, a link failure detection event would trigger the IGP convergence long before the holdtime timers between neighbor devices were to expire. Given the fact that when deploying VRF-Lite End-to-End the neighbor devices start peering multiple times (usually once for each defined VRF), tuning the IGP timer too aggressively may create false positive scenarios, where the holdtime might expire just because the CPU is too busy processing other protocols. If the desire is to lower the default values for the IGP timers, recommendation is not to go below (1 second Hello, 4 seconds Hold) for both EIGRP and OSPF, as shown in the example below. Again, in many scenarios (depending on the network topologies involved), hardware link-down notifications will precede timer expiries, and this allow for faster routing reconvergence.
EIGRPinterface TenGigabitEthernet1/1description 10GE to core (Global)ip address 10.122.5.31 255.255.255.254ip hello-interval eigrp 100 1ip hold-time eigrp 100 4!interface TenGigabitEthernet1/1.312description 10GE to core (VRF Green)encapsulation dot1Q 312ip vrf forwarding Greenip address 10.122.15.31 255.255.255.254ip hello-interval eigrp 100 1ip hold-time eigrp 100 4!interface TenGigabitEthernet1/1.322description 10GE to core (VRF Red)encapsulation dot1Q 322ip vrf forwarding Redip address 10.122.25.31 255.255.255.254ip hello-interval eigrp 100 1ip hold-time eigrp 100 4
OSPFinterface TenGigabitEthernet1/1description 10GE to core (Global)ip address 10.122.5.31 255.255.255.254ip ospf hello-interval 1!interface TenGigabitEthernet1/1.312description 10GE to core (VRF Green)encapsulation dot1Q 312ip vrf forwarding Greenip address 10.122.15.31 255.255.255.254ip ospf hello-interval 1!interface TenGigabitEthernet1/1.322description 10GE to core (VRF Red)encapsulation dot1Q 322ip vrf forwarding Redip address 10.122.25.31 255.255.255.254ip ospf hello-interval 1
Note Setting the hello-interval to 1 second implicitly configures the dead interval to 4 second.
In addition to the specific interface timer tuning, a global setting is also recommended for OSPF deployment for tuning down the LSA and SPF timers in order to improve the overall convergence characteristics of each deployed virtual network, as shown below:router ospf 1 vrf Redtimers throttle spf 10 100 5000timers throttle lsa all 10 100 5000timers lsa arrival 80
While a redundant network topology, featuring redundant links and switches, can help address many overall campus availability challenges, providing redundancy alone does not provide a complete solution. Every campus design has single points of failure and the overall availability of the network might be dependent on the availability of a single device. A prime example of this is the access layer. Every access switch represents a single point of failure for all of the attached devices. Ensuring the availability of the network services in such a case is often dependent on the resiliency of the individual devices.
Most common failures in campus networks are associated with Layer 1 failures from components such as power, fans, and fiber links. The use of diverse fiber paths with redundant links and line cards, combined with fully redundant power supplies and power circuits, are the most critical aspects of device resiliency. After physical failures, the most common cause of device outage is often related to the failure of Supervisor hardware or software. The network outages due to the loss or reset of a device due to Supervisor failure can be addressed through the use of Supervisor redundancy. Cisco Catalyst switches provide two mechanisms to achieve this additional level of redundancy:
•Stateful switchover and non-stop forwarding (NSF/SSO) on the Cisco Catalyst 4500 and Cisco Catalyst 6500, when equipped with redundant Supervisors.
•Stackwise and Stackwise-Plus on the Cisco Catalyst 3750 and Cisco Catalyst 3750E.
Both of these mechanisms provide for a hot active backup for the switching fabric and control plane-ensuring that both data forwarding and network control plane (featuring protocols such as EIGRP, OSPF, and STP) seamlessly recover (sub-second traffic loss) during any form of software or Supervisor hardware crash.
In High Availability Recovery Analysis, we discuss in detail the use of redundant Supervisors in order to improve the recovery time in Supervisor failure scenarios. From a configuration perspective, the use of the NSF/SSO capability in a virtualized network design is reduced to two steps:
1. Enabling NSF capabilities on the virtualized Layer 3 devices equipped with redundant Supervisor: this is simply achieved by configuring the nsf keyword for the routing protocols enabled in global table and in the context of each VRF, as shown in the configuration samples below:
EIGRProuter eigrp 100network 10.0.0.0nsfno auto-summary!address-family ipv4 vrf Greennetwork 10.0.0.0no auto-summaryautonomous-system 100nsfexit-address-family!address-family ipv4 vrf Rednetwork 10.0.0.0no auto-summaryautonomous-system 100nsfexit-address-family
OSPFrouter ospf 1 vrf Greennetwork 11.0.0 0.255.255.255 area 0nsf!router ospf 2 vrf Rednetwork 12.0.0 0.255.255.255 area 0nsf!router ospf 100network 10.0.0 0.255.255.255 area 0nsf
2. Increase the hello and dead interval between the switch equipped with redundant Supervisors and its neighbors. The recommended values are the following: (2,8) for EIGRP and (2,8) for OSPF. Once again, this needs to be done for the IGP instances running in global table and in each defined virtual network. The main reason for this timer reduction is that NSF-enabled environments must determine IGP neighbor dead timer detection such that failover must avoid adjacency resets. Thus the IGP dead timer must be greater than the following:
SSO recovery + routing protocol restart + time to send first hello
Note A more detailed discussion of the NSF/SSO functionality is out of the scope for this paper. For more information, see:
Virtualizing Multicast Services
After all the considerations e in the previous sections about the characteristics of a VRF-Lite End-to-End deployment, it is not surprising that also enabling the multicast functionality inside each defined virtual network can be done simply by mirroring the multicast configuration already in place in the underlying infrastructure (the global table) on platforms which support multicast functionality within a VRF (refer toTable 4 for further platform-specific details of multicast support within a VRF infrastructure).
All the required multicast components can in fact be virtualized; a dedicated multicast routing table is available in the context of each defined VRF, a separate instance of the required multicast protocols (like PIM, IGMP, MSDP) can be enabled inside each VRF and even the RP discovery mechanism and placement could simply be inherited from the global table multicast deployment.
Providing detailed explanation and recommendations on how to deploy multicast in a campus network is out of the scope of this paper; what is relevant in this context is highlighting how to enable multicast services inside each defined virtual network, using as a baseline a pre-existing global table configuration.
The following example should clarify all these concepts. Assume that Enterprise X has deployed multicast in their campus network before even starting the virtualization of the network. The specifics of the enterprise multicast deployment are the following:
•The chosen PIM protocol is PIM Sparse Mode. PIM Sparse Mode (SM), together with PIM Source-specific Multicast (SSM), represent two of the most commonly deployed multicast protocols in Campus networks.
•The RP discovery is achieved by leveraging the auto-RP protocol. This is done to highlight the virtualization capabilities of this protocol. In real scenarios, many enterprises often leverages static RP configuration.
•Anycast RP is configured to provide RP redundancy; having at least two RPs deployed in the campus is a well known best practice.
Once Enterprise X decides to virtualize their network infrastructure, a requirement arises to provide multicast support for each virtual network. For the moment, the focus is on a deployment scenario where the multicast source and receivers are part of the same VRF. Deploying a Shared Multicast Source presents a couple of options to share a multicast source between receivers deployed in separate VRFs.
Figure 89 highlights the RP and multicast source placement inside the campus network, for both the global table and a specific Green virtual network.
Figure 89 Example of Campus Multicast Deployment
As noticed above, the same devices can be leveraged to perform the functionality of RP for both the global table and the VRF multicast deployments. The required configuration steps to enable the multicast functionality are:
•Enable multicast routing and PIM sparse-mode on all the Layer 3 interfaces (physical and/or logical) in the network. The configuration sample below is for example valid for the device D1 represented in Figure 89 (only one interface is shown for simplicity).
Global Tableip multicast-routing!interface TenGigabitEthernet1/1description 10GE to coreip address 10.122.5.27 255.255.255.254ip pim sparse-mode
Green VRFip multicast-routing vrf Green!interface TenGigabitEthernet1/1.312description 10GE to core (VRF Green)encapsulation dot1Q 312ip vrf forwarding Greenip address 10.122.15.31 255.255.255.254ip pim sparse-mode
Enable the auto-RP functionality by configuring the candidate RP devices (DC1 and DC2 in figure above) to announce themselves to the other devices. Notice that the configuration below applies identically to both devices, since we want to leverage the Anycast RP functionality (both devices advertise the same RP address).
Global Tableinterface Loopback1description ANYCAST RP ADDRESS Globalip address 10.122.5.250 255.255.255.255ip pim sparse-mode!access-list 10 permit 220.127.116.11 0.0.255.255!ip pim send-rp-announce Loopback1 scope 32 group-list 10
Green VRFinterface Loopback11description ANYCAST RP ADDRESS VRF Greenip vrf forwarding Greenip address 10.122.15.250 255.255.255.255ip pim sparse-mode!access-list 10 permit 18.104.22.168 0.0.255.255!ip pim vrf Green send-rp-announce Loopback11 scope 32 group-list 10
•Configure the Auto-RP Mapping Agent; the usual recommendation is to do so on the same devices functioning as RPs (again, DC1 and DC2).
DC1 (Mapping Agent 1)interface Loopback0description MSDP-mBGP PEERING Globalip address 10.122.5.200 255.255.255.255ip pim sparse-mode!ip pim send-rp-discovery Loopback0 scope 32
DC2 (Mapping Agent 2)interface Loopback0description MSDP-mBGP PEERING Globalip address 10.122.5.201 255.255.255.255ip pim sparse-mode!ip pim send-rp-discovery Loopback0 scope 32
DC1 (Mapping Agent 1)interface Loopback10description MSDP-mBGP PEERING VRF Greenip vrf forwarding Greenip address 10.122.15.200 255.255.255.255ip pim sparse-mode!ip pim vrf Green send-rp-discovery Loopback10 scope 32
DC2 (Mapping Agent 2)interface Loopback10description MSDP-mBGP PEERING VRF Greenip vrf forwarding Greenip address 10.122.15.201 255.255.255.255ip pim sparse-mode!ip pim vrf Green send-rp-discovery Loopback10 scope 32
•Configure accept-rp filter on all Layer 3 devices to only accept RPs advertised via Auto-RP. Notice that this is configuration is critical to ensure a proper auto-RP function with all the Layer 3 interfaces configured in sparse-mode (and not in sparse-dense-mode).
Global Tableip pim autorp listener
Green VRFip pim vrf Green autorp listener
Looking at the configuration sample above, it is easy to notice the very close similarities between the global table multicast configuration and the one required in for the Green virtual network. The same process can then be replicated for any additional virtual network that should require multicast services.
From a verification standpoint, the following commands let you determine if the multicast deployment is actually working as expected in the context of the Green VRF:
•Showing the content of the multicast routing tableD1#show ip mroute vrf GreenIP Multicast Routing TableFlags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,L - Local, P - Pruned, R - RP-bit set, F - Register flag,T - SPT-bit set, J - Join SPT, M - MSDP created entry,X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,U - URD, I - Received Source Specific Host Report,Z - Multicast Tunnel, z - MDT-data group sender,Y - Joined MDT-data group, y - Sending to MDT-data groupV - RD & Vector, v - VectorOutgoing interface flags: H - Hardware switched, A - Assert winnerTimers: Uptime/ExpiresInterface state: Interface, Next-Hop or VCD, State/Mode(10.136.12.62, 22.214.171.124), 00:02:18/00:02:56, flags: JTIncoming interface: Te1/1.312, RPF nbr 10.122.15.30, RPF-MFDOutgoing interface list:Vlan12, Forward/Sparse, 00:02:18/00:02:50, H
Notice also how the traffic for the multicast group above (126.96.36.199) cannot actually be found in the multicast routing table relative to global table, since it is only flowing in the 'Green virtual network.D1#show ip mroute 188.8.131.52Group 184.108.40.206 not found
•Determine the PIM adjacencies established
Similar to what was observed for the routing protocols, two neighbor devices establish PIM adjacencies for each multicast enabled VRF. Sticking to our example, we can observe as the D1 device becomes PIM peer with the C1 core switch both on global table and in the context of the VRF Green.
Global tableD1#show ip pim neighborPIM Neighbor TableMode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,P - Proxy Capable, S - State Refresh CapableNeighbor Interface Uptime/Expires Ver DRAddress Prio/Mode10.122.5.30 TenGigabitEthernet1/1 1d23h/00:01:15 v2 1 / S P
Green VRFD1#show ip pim vrf Green neighborPIM Neighbor TableMode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,P - Proxy Capable, S - State Refresh CapableNeighbor Interface Uptime/Expires Ver DRAddress Prio/Mode10.122.15.30 Te1/1.312 1d23h/00:01:23 v2 1 / S P
•Verify that each Layer 3 devices actually received the information for the RP to be used for a specific multicast group.
Global tableD1#show ip pim rp mappingPIM Group-to-RP MappingsGroup(s) 220.127.116.11/16RP 10.122.5.250 (?), v2v1Info source: 10.122.5.203 (?), elected via Auto-RPUptime: 1d23h, expires: 00:00:30
Green VRFD1#show ip pim vrf v01 rp mappingPIM Group-to-RP MappingsGroup(s) 18.104.22.168/16RP 10.122.15.250 (?), v2v1Info source: 10.122.15.200 (?), elected via Auto-RPUptime: 1d23h, expires: 00:00:29
It is important to highlight how all the functionalities described above are available on the Catalyst platforms listed below (with the corresponding minimum software release):
•Catalyst 6500 equipped with Sup720 3A/3B/3BXL and running at least 12.2(18)SXE1
•Catalyst 6500 equipped with Sup720 3C/3CXL and running at least 12.2(33)SXH
•Catalyst 6500 equipped with Sup32 and running at least 12.2(18)SXF
•Catalyst 6500 equipped with Sup32-PISA and running at least 12.2(18)ZY
•Catalyst 3560/3570/3560E/3750E and 3750 Metro running at least 12.2(40)SE
At the time of writing of this document, multicast VRF functionality is not available on Catalyst 4500 and 4900 platforms. Support is planned in release 12.2(50)SG (expected in Q1CY09) and limited to Catalyst 4500 equipped with Sup6E Supervisor or Catalyst 4900M models.
Deploying a Shared Multicast Source
The basic assumption behind the multicast deployment previously discussed was that the multicast source and receivers where part of the same virtual network. There may be scenarios where it could be useful to have a single multicast source streaming traffic to multiple receivers located in different VRFs.
A typical example could be an enterprise that has divided the internal staff in different virtual networks (for example based on specific functions, like HR, engineering, etc) but the requirement is for everybody to be able to receive a message from the CEO via a multicast stream.
There are two common ways to fulfill these requirements, which find applicability when virtualizing the network with the VRF-Lite End-to-End approach.
•Leveraging a multicast server equipped with a Network Interface Card (NIC) 802.1Q enabled. This scenario is represented in Figure 90.
Figure 90 Deploying a Multi-NIC Multicast Source
Notice that with this approach the requirement is moved from the network to the multicast application that needs to be capable of generating separate streams to be sent on the different VLANs (successively mapped to the separate virtual networks).
•A multicast source can also be deployed as a service shared by multiple virtual networks. Communication to and from the source and the various clients deployed in different VPNs is enabled via a central policy enforcement point, usually named Services Edge. Figure 91 illustrates this concept:
Figure 91 Deploying a Multicast Source as Shared Resource
More details on this solution (including detailed configuration recommendations) may be found in Appendix B—Deploying a Multicast Source as a Shared Resource.
High Availability Recovery Analysis
Small and large enterprise campuses require a highly available and intelligent network infrastructure to support business solutions such as voice, video, wireless, and mission-critical data applications. To provide such a reliable network infrastructure, the overall system of components that make up the campus must minimize disruption caused by component failures. It is hence critical to understand how the network recovers from component outages, both planned and unplanned.
The advantage of virtualizing the campus infrastructure with the VRF-Lite End-to-End technology consists, once again, in creating multiple instances of the same physical network infrastructure. This essentially means that the recovery mechanisms are common across all the deployed virtual networks. The goal of this section is to describe what these mechanisms are and if/what is the different convergence times experienced in the different defined virtual networks.
Campus Design Tested
The specific designs chosen to be tested were determined based on Cisco hierarchical design recommendations. All of the tested designs utilize a Layer 3 routed core (built with four boxes connected in a fully mesh fashion) to which the other architectural building blocks are connected, as shown in Figure 92.
Figure 92 Campus Testbed
Within the structured hierarchical model, the following three basic variations of the distribution building block were tested:
•Multi-Tier Campus design (Layer 2 in the access, Layer 3 at the distribution) following the basic recommendation of not creating Spanning Tree loops (Layer 2 VLANs are not spanned across the closet switches).
•Routed Access deployment using EIGRP.
•Routed Access deployment using OSPF.
From a virtualization perspective, nine VRFs were configured end-to-end across the campus infrastructure (in addition to the global table).
Test Bed Configuration
The test bed used to evaluate failure recovery consisted of a Layer 3 routed core with attached three separate distribution block. The choice of building a core with four devices and attaching three distribution blocks will become more clear when discussing the testing methodology adopted.
The core and distribution switches used were Catalyst 6500s with Sup720 engines. The access layer consisted in a combination of different switch models. The following configurations were used:
•Core switches: 4 x 6500 with Sup720 (IOS 12.2(33)SXH1)
•Distribution switches: 6 x 6500 E-Series chassis with Sup720 (IOS 12.2(33)SXH1)
–2 x 6500 with Sup32 (IOS 12.2(33)SXH1)
–1 x 4500 with SupV-10GE (IOS 12.2(40)SG)
–3 x 3750 in stack configuration (IOS 12.2(44)SE)
–4 x 3550 (IOS 12.2(25)SEE1)
Each access switch was configured with 21 VLANs:
•Unique native uplink VLAN
•Dedicated voice VLAN (for global and 9 VRFs)
•Dedicated data VLAN (for global and 9 VRFs)
Notice also that 6704 linecards were used to connect each campus distribution block to the core devices.
Sixty Chariot endpoint servers were used to generate traffic load on the network during tests as well as gather statistics on the impact of each failure and recovery event. The Chariot endpoints were configured to generate a mix of enterprise application traffic flows based on observations of typical traffic mixes from actual Cisco customer networks.
The endpoints attached to each of access switch were configured to generate the following unicast traffic:
•G.711 voice calls-Real-Time Protocol (RTP) streams.
•Various TCP/UDP data stream types emulating Call Control, Bulk data (ftp), mission-critical data (HTTP, tn3270), POP3, HTTP, DNS, and WINS.
In addition to that, multicast receivers were also connected to the access switches inside Distrib. Blocks 1 and 3 to receive the following multicast streams originated by a multicast source located inside Distrib. Block 3:
•IPTV video stream @ 1451 kbps (1460 byte payload, RTP = MPEG1)
•Music on Hold (MoH) streams @ 64kbps/50pps (160 byte payload, RTP = PCMU)
The different flows were generated in the global table and in the context of each configured VRF; also, these traffic flows were defined such that the majority of traffic passed between the access layers of the different campus distribution block using the core of the network. A subset of VoIP streams were configured to flow between access switches using the distribution switch, as shown in Figure 93.
Figure 93 VoIP Traffic Flows
Building the core with four boxes allowed connecting the three campus distribution block in such a way that some traffic flows always benefited from the existence of equal cost paths across the networks (flows between Distrib. Block 1 and Distrib. Block 2), whereas other flows follow a not equal cost path (flows from Distrib. Block 1 to Distrib. Block 3). This was purposely done to compare the recovery times experienced with these two different mechanisms.
Layer 3 Core Convergence—Analysis and Results
The campus core provides the redundant high speed connection between all the other hierarchical building blocks. A fully meshed core design using point-to-point Layer 3 fiber connections as shown in Figure 94 is recommended to provide optimal and deterministic convergence behavior.
Figure 94 Fully Meshed Core Design
The core of the network under test consisted of four Cisco Catalyst 6500/Supervisor 720s with redundant point-to-point 10Gigabit Ethernet (GigE) links between each distribution switch and the core switches. The core switches were also connected between them in a full mesh fashion leveraging 10 GigE fiber.
From a network virtualization perspective, all the 10GigE fiber links were virtualized using the recommended approach leveraging sub-interfaces (as previously discussed in Use of Routed Ports and Sub-Interfaces). The main physical interface was left unmodified and used to route global table traffic; a separate sub-interface was added on each physical link to support each configured VRF (every link featured nine separate sub-interfaces).
In a Layer 3 core design leveraging point-to-point links, recovery from any kind of failure is usually triggered by the detection of link loss; depending on the specific failure, this detection would happen on a core device or on a distribution layer device. On GigE and 10GigE fiber, link loss detection is normally accomplished using the Remote Fault detection mechanism implemented as part of the 802.3z and 802.3ae link negotiation protocols.
Note See IEEE standards 802.3z and 802.3ae for details on the remote fault operation for 10GigE and GigE respectively.
The type of recovery mechanism implemented depends on the specific path the traffic flows are following. Connecting the three distribution block to the core as shown in Figure 94 allows all the traffic flows from top to bottom to benefit from an equal cost path (ECMP) configuration. This means that in the event of any single component failure (link or node), the surviving path is always guaranteed to provide a valid route. As a consequence, the following three-step process is triggered on the switch that detects the link loss event:
1. Removal of the entries in the routing table associated with the failed link.
2. Update of the software Cisco Express Forwarding (CEF) table to reflect the loss of the next hop adjacencies for those routes affected.
3. Update of the hardware tables to reflect the change in the valid next hop adjacencies contained in the software table.
This means that the time taken to restore all traffic flows in the network is dependant only on the time taken to detect the physical link failure and then to update the software and associated hardware forwarding entries and it does not involve any specific routing protocol procedure to re-calculate an alternate valid path due to the use of ECMP.
Traffic flows between the top and left distribution blocks by default don't benefit from ECMP configuration; this means that in a failure scenario, the convergence time is dependant on the specific routing process mechanism to determine an alternative path to the destination.
Note Recovery times for both ECMP and non-ECMP scenarios are also dependant on the total number of routes present in the routing table, as it is clarified in the rest of this section.
In the scenario where multiple virtual networks are deployed, the link failure detection mechanism happens sequentially for the main physical interface and the various sub-interfaces defined on the same link (and mapped to different VRFs), as highlighted in the output below:Oct 20 16:20:20.726 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2, changed state to downOct 20 16:20:20.726 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.412, changed state to downOct 20 16:20:20.730 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.422, changed state to downOct 20 16:20:20.734 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.432, changed state to downOct 20 16:20:20.738 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.442, changed state to downOct 20 16:20:20.738 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.452, changed state to downOct 20 16:20:20.742 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.462, changed state to downOct 20 16:20:20.746 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.472, changed state to downOct 20 16:20:20.746 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.482, changed state to downOct 20 16:20:20.750 EDT: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet1/2.492, changed state to down
As noticed from the timestamps, the various link-down events are detected sequentially; this means that also the recovery procedure, both in the ECMP and non-ECMP scenarios, is initiated starting from global table and ending with the VRF associated to the highest sub-interface (Ten1/2.492 in the example above).
The campus core contains the following three basic component failure cases to examine:
•Core node failure
•Failure of core-to-distribution fiber
•Supervisor failure in the core node
The following three sections discuss in greater detail the results obtained in these cases, for both EIGRP and OSPF deployments.
Core Node Failure
In order to understand the network recovery characteristics under this specific failure scenario, it is important to distinguish between the ECMP and non-ECMP scenarios.
Equal Cost Path Scenario (ECMP)
As previously mentioned, this configuration characterizes all the flows directed between Distrib. Blocks 1 and 2. Given the existence of the redundant paths, both distribution layer switches belonging to the Distrib. Block 1 do not have to trigger the routing protocol to calculate an alternative path. Rather, due to the use of ECMP, they can start the procedure of updating the software and hardware forwarding tables as soon as they detect the link failure event. This is shown in Figure 95.
Figure 95 ECMP Recovery for Core Node Failure
The convergence time is also affected by the total number of routes present in the routing table. Figure 96 through Figure 99 highlight the convergence experienced when changing the total number of routes installed in each VRF routing table.
Note No additional routes were injected in the global routing table; all the tests were executed with approximately 50 routes in global table.
Figure 96 50 Routes in Each VRF Routing Table
Figure 97 500 Routes in Each VRF Routing Table
Figure 98 1000 Routes in Each VRF Routing Table
Figure 99 2000 Routes in Each VRF Routing Table
These figures can be explained given the previously discussed sequential nature of the link down notifications when leveraging sub-interfaces. The end result is that the convergence times experienced increases with the VRF: the best convergence is observed in global table (usually associated to the main physical interface) and the value grows progressively.
As a consequence, it is recommended to place applications (like voice) that would require the fastest recovery time in the VRF associated to the numerically lowest sub-interface.
Unequal Cost Path Scenario (Non-ECMP)
This behavior is typical for traffic flows between Distrib. Blocks 1 and 3; in this case, an unequal cost path scenario applies, since both distribution switches in block 1 have a preferred path to destinations in block 3 via the 10GigE link connecting to the top-left core switch (the one failing in this test case), as shown in Figure 100.
Figure 100 Non-ECMP Recovery for Core Node Failure
As shown above, when the distribution switches receive the link down notification, they do not have a viable alternate path in their routing table and the recovery time becomes dependant on the specific routing protocol mechanism to converge and calculate this alternate path.
Note A detailed discussion of the recovery mechanisms characterizing EIGRP and OSPF is out of the scope of this document.
Figure 101 50 Routes in Each VRF Routing Table
Figure 102 500 Routes in Each VRF Routing Table
Figure 103 1000 Routes in Each VRF Routing Table
Figure 104 2000 Routes in Each VRF Routing Table
Two things need to be highlighted when comparing these figures with the ones relative to the ECMP scenario:
•The recovery time still increases with the number of routes, but similar values are experienced across all the defined VRFs.
•Recovery in OSPF deployments is faster than EIGRP ones; in both cases the experienced values are higher than the worst case ECMP convergence values.
Failure of Core-to-Distribution Fiber
The same considerations about ECMP and non-ECMP scenarios made for the node failure case can be repeated here. The convergence results obtained in the various test cases are reported below.
Equal Cost Path Scenario (ECMP)
The ECMP failure recovery scenario is shown in Figure 105:
Figure 105 ECMP Recovery for Dist-Core Link Failure
Figure 106 50 Routes in Each VRF Routing Table
Figure 107 500 Routes in Each VRF Routing Table
Figure 108 1000 Routes in Each VRF Routing Table
Figure 109 2000 Routes in Each VRF Routing Table
As noticed, these values are very close to the one observed in the previous failure scenario (core node failure), as expected since the ECMP recovery mechanism is similar.
Unequal Cost Path Scenario (Non-ECMP)
The non-ECMP failure recovery scenario is shown in Figure 97:
Figure 110 Non-ECMP Recovery for Dist-Core Link Failure
Figure 111 50 Routes in Each VRF Routing Table
Figure 112 500 Routes in Each VRF Routing Table
Figure 113 1000 Routes in Each VRF Routing Table
Figure 114 2000 Routes in Each VRF Routing Table
When comparing these results to the ones observed in the node failure scenario (still for non-ECMP recovery), it is worth noticing how the values are lower in this case. This may due to the fact that after the core node failure D1 in addition to the non-ECMP recovery performed by D1 there is now also the requirement for an ECMP recovery for C2.
Supervisor Failure in the Core Node
This specific test case is represented in Figure 115.
Figure 115 Supervisor Failure in the Core Node
In this scenario, the core device is equipped with redundant Sup720 engines and leverages the NSF/SSO capability in order to activate the standby Supervisor upon a software or hardware failure of the active engine. An in depth discussion of the NSF/SSO functionality is out of the scope of this paper; more information can be found at:
As shown in Figure 115, leveraging NSF/SSO capabilities allows to maintain the same network topology when the active Supervisor fails; ECMP and non-ECMP recovery mechanisms are not invoked to recover this failure scenario and the main factor contributing to the recovery time experienced is how fast the standby engine can be activated and gain full control of the forwarding components (internal switching bus, Fabric ASIC, etc). As such, it is logical to expect the recovery time not to be dependent on the number of routes injected in the routing tables.
The results achieved confirmed these expectations; the same tests used for the previous failure scenarios were run and the recovery time experienced was always the same across all of them, independently from the total number of routes injected in the routing tables. These results are summarized in Figure 116.
Figure 116 Supervisor Failure in the Core Node
As noticed above, basically the same recovery time (ranging from 800 to 860 msec) is experienced across all the VRFs, independently from the number of routes injected, providing a very deterministic character to this failure recovery scenario.
The value experienced above (around 800 msec) can also be improved by leveraging the Standby Fabric Hot Sync feature introduced with 12.2(33)SXH release; this is possible when running dual Sup720 engines inside a 6500E chassis. The core devices under test were actually leveraging a legacy 6500 chassis, so we could not leverage this enhancement; we have the chance to highlight the improvements provided by the E Series chassis when discussing the use of redundant Supervisor engines on the distribution layer devices (in the following sections).
Summary of Layer 3 Core Convergence
When comparing the results above, the following conclusions and design recommendations can be drawn:
•Recovery time in the unequal cost path configuration is almost the same across all the VRFs. The progressive growth experienced in the ECMP scenario is not observed here. One way of explaining this behavior is by keeping in mind the different recovery mechanism. When the routing process convergence is the responsible factor for the recovery time, the same value is experienced across the board.
•Recovery time in the unequal cost path scenario is the highest (or sometimes the same) of the recovery times experienced in the ECMP case. For example, when comparing the test cases with 1000 routes injected into each VRF routing table, we observed how the ECMP recovery time for the highest VRF is 1460 msec, where the average non-ECMP recovery time is around 1560 msec.
•Based on the considerations above, we can conclude that the recommendation would be to always try to deploy the core of the campus network in such a fashion that all traffic flows between the attached distribution blocks can always benefit from equal cost path configuration. This principle is shown in Figure 117.
Figure 117 Recommended Campus Deployment
The approach proposed in Figure 117 could actually make sense in most deployments. The deployment of a four boxes core like in our example usually takes place in large campus network, where it is legitimate to assume that the core boxes may also be geographically located. As a consequence, it makes sense to connect the various distribution blocks to the core switches that are in near physical proximity and this would result in the exact connectivity scenario depicted above.
•The recovery time experienced in ECMP scenarios increase with the VRF. As a consequence, it is recommended to deploy delay-sensitive applications (like VoIP) in the lowest-defined VRF in this case.
•The results achieved for the core node Sup engine failure are independent from the number of VRF configured and the number of routes injected into each routing table. Given also the fact that it has always been observed a sub-second recovery time, which represents a much improved result when compared to the node failure scenario, the recommendation is to run dual Supervisor engines on all the core devices when deploying VRF-Lite End-to-End in campus networks.
Layer 2 Access with Layer 3 Distribution Convergence—Analysis and Results
The set of switches comprising the distribution layer and all the attached access switches is often called the distribution block. In the hierarchical design model, the distribution block design provides for resilience for all traffic flowing between the devices attached to the access switches, as well as providing redundant connections to the core of the campus to provide resiliency for all traffic entering and leaving this piece of the campus.
As already discussed in Virtualizing the Campus Distribution Block, the only scenario considered when deploying Layer 2 in the access is the loop-free one where unique VLANs are defined on each access layer switch, as shown Figure 118.
Figure 118 Layer 2 Access with Layer 3 Distribution Design
The configuration specifics for the scenario represented above are:
•HSRP is the configured First Hop Redundant Protocol (FHRP).
•Rapid-PVST+ is the chosen STP protocol. Notice that it is best practice recommendation to always keep STP turned on, even if there actually are no loops in this network topology, as a safety belt mechanism in case of configuration errors or inadvertent loops that may be introduced on user-facing switchports.
•STP root and HSRP primary gateway are assigned to the left distribution switch, with the right distribution playing the standby role. In order to provide a consistent configuration and operational environment, it is recommended to assign the same switch as the primary gateway for all the VLANs defined in the same distribution block.
•The routing processes on the distribution layer switches were configured to send a summary toward the core for all the IP subnets deployed in the distribution block. As already mentioned in Scalability and High Availability, the recommendation is not to configure overlapping summaries across different VRFs.
Starting from the above configuration and topology, the following three basic failure tests were performed:
•Failure of the uplink fiber from access switch to the HSRP active default gateway
•Failure of the active default gateway distribution switch
•Supervisor failure on the active default gateway distribution switch
The following sections discuss the recovery mechanisms and the convergence results in these different failure scenarios.
Uplink Fiber Fail to Active HSRP Distribution Switch
The recovery mechanisms for these failure scenarios are different when considering upstream and downstream traffic flows.
The restoration time for upstream traffic flows is primarily determined by the configuration of HSRP timers. As shown in Figure 119, all the upstream traffic flows originally sent to the active HSRP distribution switch need to be redirected on the uplink toward the standby switch.
Figure 119 Upstream Convergence for Uplink Fiber Failure
In order for this to happen, the HSRP dead interval timer on the standby switch needs to expire, prompting the switch to gain the active role and sent gratuitous ARP messages to the access layer switches. The recommended minimum settings for the HSRP hello and dead-interval parameters are (250 msec, 750 msec), as shown in this configuration sample:interface Vlan21description Red VLANip vrf forwarding Redip address 10.137.21.3 255.255.255.0standby 1 ip 10.137.21.1standby 1 timers msec 250 msec 750standby 1 priority 105standby 1 preempt delay minimum 180
Before adopting the configuration making use of sub-second HSRP timers, a good and sound evaluation of the network is recommended. There may be events, like the application of large ACLs or the OIR (Online Insertion and Removal) of linecards, which could affect the capability of the network processor of handling sub-second protocol packets. This would not impact the traffic switching capability of the network, but may cause an HSRP failover event even in the absence of a specific failure scenario. In addition to that, the volume of control plane traffic may also affect the ability of processing HSRP packets. As a consequence, the settings shown in the configuration sample above are recommended in deployment of up to 150 VLANs in the same campus distribution block, when running IOS Native software images.
The recovery times experienced in this scenario are shown in Figure 120; they are obviously independent from the specific routing protocol deployed and they are also independent from the fact that a specific VLAN Interface belongs to a specific VRF (ranging from 700 to 900 msec).
Figure 120 Upstream Convergence
The restoration time for downstream traffic flows in a loop-free configuration is primarily determined by routing protocol convergence, as shown in Figure 121.
Figure 121 Downstream Convergence for Uplink Fiber Failure
As noticed, since both distribution switches are injecting summaries into the core, downstream traffic destined to subnets belonging to the distribution block is sent from the core to both distribution layer switches (core devices have an equal cost path for the summary routes). As a consequence, only half of the flows are impacted by the uplink failure and need to be re-routed across the transit link between distribution layer devices.
The recovery times experienced in this case are captured in Figure 122.
Figure 122 Downstream Convergence
It is important to point out also that the values shown above would remain the same independently from the number of routes contained in each VRF routing table. This is because these routes are usually learned from the interface connecting the distribution switches to the core, so they do not enter into the picture in this specific failure scenario.
Active HSRP Distribution Switch Failure
The same considerations discussed above apply also here for upstream traffic flows. The recovery time is mainly dictated by the HSRP dead timer, so the same recovery times previously shown apply also here.
Since the entire distribution switch fails, the downstream recovery is mainly dictated by Layer 3 equal cost recovery in the core switch, assuming the physical connectivity highlighted in Figure 117 is established between all the campus network devices so that there are not unequal cost path scenarios. This scenario is highlighted in Figure 123.
Figure 123 Downstream Convergence for Distribution Layer Failure
The recovery time experienced in these cases is basically the same across all the VRFs and independent from the number of routes injected. The reason is that the number of routes the core devices learn from the distribution layer switches is usually very low (even only a summary in most cases), so the 'staircase effect' discussed in the core failure section does not apply.
Figure 124 Downstream Convergence
Supervisor Failure on the Active HSRP Distribution Switch
As previously discussed for the Layer 3 core scenario, the use of redundant Supervisors leveraging the NSF/SSO capabilities is usually deployed to maintain a stable network topology where traffic flows are not disrupted by a Supervisor failure. Figure 125 illustrates this concept when deploying redundant Supervisors in the distribution layer of the campus network.
Figure 125 Supervisor Failure in the Distribution Layer Device
As shown above, the expected behavior is for the active HSRP role to be retained during a Supervisor switchover event, so that upstream traffic keeps flowing on the left uplink (downstream traffic still uses both uplinks, under the assumption that route summarization toward the core is performed by the distribution layer devices). This behavior is valid only when running at least 12.2(33)SXH images on the 6500 distribution layer switches, since on previous software releases SSO was not supported for the HSRP protocol, and an HSRP failover was the inevitable consequence of the Supervisor restart.
It is however important to analyze the interaction between the HSRP SSO behavior shown above and the aggressive HSRP timer tuning previously discussed and recommended to take care of different failure scenarios (uplink and distribution node). The key point to understand is that in order for the newly-activated Supervisor to maintain the HSRP active role, it needs to be capable of sending an HSRP keep-alive message to the neighbor distribution layer switch before the configured hold timer expires (750 msec in the recommended configuration).
With the current generation of 6500 Supervisor engines, it has been observed that the switchover time associated with the control plane processing (including HSRP) is above one second; as a consequence, a Supervisor failover event always also causes an HSRP failover event, therefore negating the benefits of having SSO-aware HSRP. Because of this, Cisco officially does not support the HSRP timer setting below (1 sec, 3 sec) for hello and hold times when deploying redundant Supervisors.
This specific timer setting could cause an outage of up to three seconds in uplink or node failure scenarios (since the HSRP hold time is the main recovery factor for upstream traffic flows) and may therefore not be acceptable for campus deployments requiring sub-second convergence time.
A workaround consists in disabling the SSO awareness for the HSRP protocol when deploying sub-second HSRP timers, by leveraging the global command:no standby sso
Note The standby keyword specifically refers to the HSRP process running in the box; the command above therefore allows disabling SSO only for that particular process, leaving the functionality active for all the other SSO-aware processes.
This represents an officially supported configuration that allows the behavior to become deterministic, since every Supervisor restart would cause an HSRP failover event, as shown in Figure 126.
Figure 126 Behavior with HSRP not SSO Enabled
From a traffic disruption point of view, the main convergence factor here is the NSF/SSO capabilities of the distribution layer device; the HSRP failover does not in fact cause any additional traffic loss. Figure 127 shows the recovery times experienced for both upstream and downstream flows:
Figure 127 Recovery Times for Upstream and Downstream Flosw
As noticed, the worst convergence observed is around 500 msec; this represents an improvement over the values observed in the Supervisor failure scenario for core devices. This is due to the fact that in this specific case, the 6500 chassis was an E series one, leveraging the Standby Fabric Hot Sync functionality.
Note For more details on Standby Fabric Hot Sync, see the release note:
Summary of Layer 2 Access with Layer 3 Distribution Convergence
Based on the results shown in the previous figures, the following conclusions can be drawn:
•The recovery times experienced in all possible failure scenarios inside a specific campus distribution block are always sub-second.
•The recovery mechanism for the various failure scenarios is mostly independent from the number of routes injected inside each VRF routing table. The only exception to this rule is the uplink failure case, where recovery of downstream flows is possible via an IGP convergence and re-routing of traffic across the transit link connecting the two distribution layer switches. In this case, recovery time increases with the number of routes, but it is kept under a second even in the worst case scenario of 2000 routes injected inside each VRF.
Layer 3 Routed Access with Layer 3 Distribution Convergence—Analysis and Results
An alternative to the previously discussed Layer 2 access distribution building block design is a routed access, or Layer 3 to the edge implementation, as shown in Figure 128.
Figure 128 Routed Access Design
Note For more details on campus routed access design, see:
From a configuration perspective, a routed access deployment is recommended to leverage features like EIGRP stub and OSPF totally stub areas in order to limit the routes sent down to the access layer devices and optimize the convergence under any failure scenario. As previously mentioned several times, the beauty of the VRF-Lite End-to-End is the capability of re-using the same design choices in each defined virtual network. As a consequence, the same concepts of EIGRP stub and OPSF totally stub areas can be deployed for the routing protocol instance running in the context of each defined VRF.
The configuration samples below highlight the similarity in the configuration between the global table and the VRF, for both EIGRP and OSPF.
•Distribution layer device—At the distribution layer, a distribute-list is configured to push only a default route down to the access-layer devices. Notice how the distribution list is applied separately to the global table and to the address-family defined for each VRF. Notice also how the distribute-list can be applied to a VLAN interface or to a sub-interface (depending on what specific technique is leveraged to virtualize the Layer 3 ink connecting to the access layer devices).router eigrp 100network 10.0.0.0distribute-list Default out GigabitEthernet2/8distribute-list Default out Vlan102distribute-list Default out Vlan103no auto-summary!address-family ipv4 vrf Rednetwork 10.0.0.0distribute-list Default out GigabitEthernet2/8.100distribute-list Default out Vlan112distribute-list Default out Vlan113no auto-summaryautonomous-system 100exit-address-family!ip access-list standard Defaultpermit 0.0.0.0
•Access layer device—The EIGRP stub configuration is applied here. Once again, the same commands are applied to the global table part of the configuration and to each defined address-family.router eigrp 100network 10.0.0.0no auto-summaryeigrp stub connected!address-family ipv4 vrf Rednetwork 10.0.0.0no auto-summaryautonomous-system 100eigrp stub connectedexit-address-family
•Distribution layer device—This device is usually configured as an ABR (Area Border Router) and summarizes the specific routes of the distribution block toward the core by leveraging the area range command. The recommendation is to originate non overlapping summaries from each defined virtual network. In the example the summary 10.1.0.0/16 is injected into the Red virtual-network, whereas 10.10.0.0/16 is injected in global table.router ospf 1 vrf Redrouter-id 10.122.137.1auto-cost reference-bandwidth 10000area 1 stub no-summaryarea 1 range 10.1.0.0 255.255.0.0timers throttle spf 10 100 5000timers throttle lsa all 10 100 5000timers lsa arrival 80network 10.122.0.0 0.0.255.255 area 0network 10.1.0.0 0.0.255.255 area 1!router ospf 10router-id 10.122.137.10auto-cost reference-bandwidth 10000area 10 stub no-summaryarea 10 range 10.10.0.0 255.255.0.0timers throttle spf 10 100 5000timers throttle lsa all 10 100 5000timers lsa arrival 80network 10.122.0.0 0.0.255.255 area 0network 10.10.0.0 0.0.255.255 area 10
Note The SPF and LSA throttle tuning shown in the configuration sample above are tuned to reduce the time required by the OSPF protocol to determine a new optimal routing path under a failure scenario (box, link, etc). This is traditionally done to improve the overall convergence time in a non-virtualized campus network, but the same design principle applies also for the various virtual networks deployed using the VRF-Lite End-to-End approach.
Another recommendation is to deploy the OSPF area assigned to each specific distribution block as a totally stubby area. This is mainly done to reduce the number of routes installed in each access-layer switch. The same totally-stubby configuration can be applied to each defined virtual network. From a technical perspective, the same area number could be used for all the virtual networks (since the control plane is virtualized), but assigning a different area value to each virtual network is helpful to avoid confusion for example when looking at the content of the OSPF database. In our example, we have assigned area 10 to the OSPF process 10 (running in global table) and area 1 to the OSPF process running in the virtual network Red.OSPF Router with ID (10.122.137.10) (Process ID 10)Router Link States (Area 10)Link ID ADV Router Age Seq# Checksum Link count10.122.137.10 10.122.137.10 1010 0x80000029 0x004F62 410.122.137.20 10.122.137.20 266 0x80000027 0x0093A9 5Net Link States (Area 10)Link ID ADV Router Age Seq# Checksum10.10.0.3 10.122.137.20 266 0x8000001E 0x006EBE10.10.1.2 10.122.137.30 940 0x80000007 0x00C36CSummary Net Link States (Area 10)Link ID ADV Router Age Seq# Checksum0.0.0.0 10.122.137.10 249 0x8000001D 0x004CBD0.0.0.0 10.122.137.20 1268 0x8000001D 0x0010EFOSPF Router with ID (10.122.137.1) (Process ID 1)Router Link States (Area 1)Link ID ADV Router Age Seq# Checksum Link count10.122.137.9 10.122.137.9 995 0x80000030 0x0008CF 410.122.137.19 10.122.137.19 1937 0x80000026 0x00E1D6 5Net Link States (Area 1)Link ID ADV Router Age Seq# Checksum10.1.0.93 10.122.137.19 161 0x80000008 0x0001EA10.1.91.2 10.122.137.29 1142 0x80000007 0x00CF09Summary Net Link States (Area 1)Link ID ADV Router Age Seq# Checksum0.0.0.0 10.122.137.9 252 0x8000001E 0x0050B22.214.171.124 10.122.137.19 1940 0x8000001D 0x0016EA
Note The consideration around the use of unique area numbers in different VRFs does not usually apply to area 0. As seen in the example above, we are creating a number of overlapping area 0, dedicated to the defined virtual network and extending across the same set of core devices and links.
Finally, the SPF and LSA throttle timers are also reduced (this needs to be done on every Layer 3 device in the network, including core and access-layer devices); this is done to reduce the overall time required to determine a new optimal path under failure scenarios.
•Access layer device—The access switches are deployed as part of the specific area defined in each distribution block. The configuration is pretty simple, as shown below. The only command to highlight is capability vrf-lite. This is required on all the virtualized Layer 3 devices that do not have connections with area 0. Without the command, the stub routers would receive the default route as a type 3 summary LSAs from the ABR and store it in the OSPF database, but they would not install it in the routing table.router ospf 1 vrf Redrouter-id 10.122.137.21auto-cost reference-bandwidth 10000capability vrf-litearea 1 stubtimers throttle spf 10 100 5000timers throttle lsa all 10 100 5000timers lsa arrival 80passive-interface Vlan12passive-interface Vlan15network 10.1.0.0 0.0.255.255 area 1!router ospf 10router-id 10.122.137.30auto-cost reference-bandwidth 10000area 10 stubtimers throttle spf 10 100 5000timers throttle lsa all 10 100 5000timers lsa arrival 80passive-interface Vlan2passive-interface Vlan5network 10.10.0.0 0.0.255.255 area 10
Note The capability vrf-lite command is not required for the OSPF process running in global table.
The failure scenarios that are discussed are:
•Failure of the uplink fiber between the access and distribution switches
•Distribution switch failure
•Supervisor failure on the distribution switch
•Supervisor failure on the access switch
Uplink Fiber Fail between Access and Distribution Switches
Since every access switch learns a default route from each distribution layer switch, the upstream convergence is based on ECMP recovery, as shown in Figure 129.
Figure 129 Upstream Convergence for Uplink Fiber Failure
The recovery time is usually very short due to the fact that only default routes are available in each defined routing table. Figure 130 and Figure 131 show the results for different platforms and routing protocols.
Figure 130 Uplink Failure—EIGRP
Figure 131 Uplink Failure—OSPF
•The experienced recovery times are relatively independent from the routing protocol deployed (EIGRP or OSPF).
•The recovery time when deploying Catalyst 6500 or 4500 in the access layer is very good (sub-400 msec).
•3750 exhibits a longer recovery time (above 1 second); this is a known issue (CSCsr68633) and a fix will be available in the 12.2(50)SE release.
•The convergence is independent of the total number of routes injected in the routing table associated to each defined virtual network. This is due to the stub configuration performed inside each campus distribution block, which causes each access layer switch to only install a default route pointing to each distribution layer switch.
•The results shown above for Catalyst 6500 were achieved when leveraging the recommended sub-interface approach to virtualize the uplinks. The use of SVIs in this scenario would result in a slightly higher recovery time (around 600 msec).
The mechanism to recover the downstream traffic flows is identical to the one already discussed in a Layer 2 access scenario and based on the routing protocol convergence (non-ECMP recovery).
Figure 132 Downstream Convergence for Uplink Fiber Failure
Figure 133 Uplink Failure Downstream Recovery—EIGRP
Figure 134 Uplink Failure Downstream Recovery—OSPF
•In both the EIGRP and OSPF cases, the recovery time increases with the total number of routes injected into each defined virtual network. This is because the recovery mechanism is a non-ECMP re-route and the time to complete this process is directly related to the total number of prefixes available in the routing table.
•The increase in recovery time is less steep when deploying EIGRP; all the recovery times in this case are between 600 and 800 msec independently from the number of routes. With OSPF, the recovery time increases from 400 msec to above a second when passing from 500 to 2000 routes injected inside each VRF routing table.
Distribution Switch Failure
The recovery mechanism for upstream traffic flows is the same ECMP discussed in the previous failure scenario and shown again in Figure 135.
Figure 135 Upstream Convergence for Distribution Layer Failure
Figure 136 Distribution Failure Upstream Convergence—EIGRP
Figure 137 Distribution Failure Upstream Convergence—OSPF
Downstream traffic flows (received from the core of the campus) are usually restored with an ECMP recovery performed on the core layer devices, as highlighted in Figure 138.
Figure 138 Downstream Convergence for Distribution Layer Failure
As a consequence, the recovery time is extremely fast for both OSPF and EIGRP scenarios and independent of the number of routes injected in the routing table of each deployed virtual network. Figure 139 and Figure 140 collect the convergence results for this failure scenario.
Figure 139 Distribution Switch Failure Downstream —EIGRP
Figure 140 Distribution Switch Failure Downstream—OSPF
Supervisor Failure on the Distribution Switch
Differently from what discussed for this same failure scenario in the multi-tier campus design (Layer 2 in the access), there is no need to discuss any interaction with HSRP. Leveraging the NSF/SSO capabilities of the distribution layer switch, it is hence possible to maintain the same traffic flows before and after the Supervisor failure in both upstream and downstream directions, as shown in Figure 141.
Figure 141 Supervisor Failure in the Distribution Layer Device
The main factor dictating the length of the outage in this case is the time required for the newly activated Supervisor engine to gain control of the switching capabilities of the device. This means that the recovery time is the same for both upstream and downstream traffic flows, very fast (sub-500 msec) and, more importantly, very predictable since it is independent from the routing protocol deployed or the number of routes injected in routing table. This is highlighted in Figure 142.
Figure 142 Distribution Layer Switch Supervisor Failure
Note The very fast convergence experienced in this failure scenario is achieved because of the Standby Fabric Hot Sync functionality (similarly to what discussed in the Layer 2-Layer 3 design).
Supervisor Failure on the Access Switch
The recovery in this specific scenario must leverage the full SSO/NSF functionality, since the access is deployed as a Layer 3 device. Assuming that the access switches are connected to the distribution layer devices leveraging the Supervisor port (which is common practice), the failure of the active Supervisor would determine two different recovery mechanisms, depending on the switch model deployed in the access.
•On a 6500 switch, the failure of the active Supervisor would cause also the failure of the Supervisor port. As a consequence, the recovery mechanisms is the same already discussed in Uplink Fiber Fail between Access and Distribution Switches.
Figure 143 Supervisor Failover on a 6500 Deployed in the Access Layer
•On a 4500 switch, the failure of the Supervisor does not affect the link status for the Supervisor port (as long as the Supervisor engine remains inserted in the chassis and powered up). This means that in this case the network topology is not affected by the Supervisor failure and the recovery is mainly dictated by the NSF/SSO mechanism.
Figure 144 Supervisor Failover on a 4500 Deployed in the Access Layer
The consequence of the considerations above is that the convergence experienced with 4500 is independent from the routing protocol, the number of routes in each routing table and the direction of the traffic flows, as shown in Figure 145.
Figure 145 Access 4500 Supervisor Failure
For 6500 platforms we need instead to distinguish between upstream and downstream recovery, as shown in the next section.
6500 Upstream Convergence
Figure 146 Access 6500 Supervisor Failure Upstream
As noticed above, it is not currently possible to achieve sub-second convergence for upstream traffic flows when deploying a Catalyst 6500 in the access. This is a known issue (CSCsq46590) that is planned to be resolved in the software release 12.2(33)SXH4.
It is also important to underline how the results shown above can be achieved when leveraging sub-interfaces to virtualize the links between access and distribution devices. The recovery time observed when using Layer 2 trunks with SVIs is even worse, as shown in Figure 147.
Figure 147 Access 6500 Supervisor Failure Upstream—Using SVIs
This also is a known issue that provides a further reason for deploying the sub-interface based approach.
6500 Downstream Convergence
Figure 148 Access 6500 Supervisor Failure Downstream—EIGRP
Figure 149 Access 6500 Supervisor Failure Downstream—OSPF
The same considerations made in the uplink failure scenario apply here also. The recovery time is affected by the total number of routes injected in the routing table of every defined virtual network (since we are performing a non-ECMP recovery).
Summary of Layer 3 Routed Access with Layer 3 Distribution Convergence
Based on the results shown in the figures, it is possible to conclude that sub-second convergence can be achieved under different failure scenarios inside the specific campus distribution block, with the following exceptions:
•Uplink or distribution node failure scenario when a 3750 is deployed in the access layer—This is a known issue that will be solved in a future software release.
•Supervisor failure on 6500 switch deployed in the access layer—In this case, the recovery time for upstream flows is around 1.6 seconds. This also represents a known issue that will be fixed in an upcoming software release.
Monitoring and Troubleshooting
The deployment of multiple logical networks on top of a common infrastructure requires getting familiar with the tools that allow monitoring and troubleshooting separately each defined virtual network. The good news is that most of these tools are usually well known and already leveraged in non-virtualized network deployments, so the goal of this section is only to highlight the main differences in the commands and outputs valid for each specific VRF.
The following sections discuss a step-by-step approach that allows you to verify a proper VRF deployment between the two adjacent devices shown in Figure 150. The same procedure can be repeated at every Layer 3 hop in the network in scenarios where connectivity issues arise in order to determine the specific issue.
Figure 150 Virtual Devices Interconnected
The first step consists in determining the neighbor devices. Cisco Discovery Protocol (CDP) is a very powerful functionality that can be leveraged for this. CDP is currently not VRF aware, which means the information provided is somewhat limited in a virtualized network environment.
More specifically, CDP is usually use to learn the neighbor devices host name, the local and remote interfaces connecting the devices and their IP addresses. Assuming that the link Ten1/1 between two Layer 3 devices is virtualized by leveraging sub-interfaces, the output of the show cdp neighbors command is:Catalyst-1#show cdp neighborsCapability Codes: R - Router, T - Trans Bridge, B - Source Route BridgeS - Switch, H - Host, I - IGMP, r - Repeater, P - PhoneDevice ID Local Intrfce Holdtme Capability Platform Port IDCatalyst-2 Ten 1/1 133 R S I WS-C6506 Ten 2/3
From the output above, there is no indication whatsoever that the link is virtualized and that sub-interfaces of Ten1/1 have been created. In addition to that, the detail option allows also determining the IP address of the interface on the neighbor device (Ten 2/3 in this example):Catalyst-1#show cdp neighbors ten1/1 detail-------------------------Device ID: Catalyst-2Entry address(es):IP address: 10.122.5.32Platform: cisco WS-C6506, Capabilities: Router Switch IGMPInterface: TenGigabitEthernet1/1, Port ID (outgoing port): TenGigabitEthernet2/3Holdtime : 177 secVersion :Cisco IOS Software, s72033_rp Software (s72033_rp-ADVENTERPRISEK9_WAN-M), Version 12.2(33)SXH1, RELEASE SOFTWARE (fc3)Technical Support: http://www.cisco.com/techsupportCopyright (c) 1986-2008 by Cisco Systems, Inc.Compiled Thu 17-Jan-08 01:55 by prod_rel_teamadvertisement version: 2VTP Management Domain: 'campus-test'Duplex: fullManagement address(es):IP address: 10.122.5.32Unidirectional Mode: off
The criterion used by the neighbor device to send the IP address information via CDP is different, depending if the Layer 3 link is virtualized by leveraging sub-interfaces or a Layer 2 trunk with SVIs.
•If the main interface has an IP address, that is sent inside the CDP packet to the neighbor device.
•If the main interface does not have an IP address (this happens for example when a sub-interface is leveraged also for sending global table traffic), CDP uses the IP address associated to the numerically lowest sub-interface defined. For example, if Ten1/1 is the main interface (configured with no IP address) and two additional sub-interfaces (Ten1/1.10 and Ten1/1.11) are created, the IP address associated to Ten1/1.10 is sent to the CDP neighbor. Notice that this happens independently from the actual VLAN tags used on each sub-interface (and specified via the encapsulation dot1q command).
Layer 2 Trunk with SVIs
CDP first tries to use the IP address associated to the numerically lowest VLAN active on the trunk. This means that if we carry on a trunk VLANs 10,20,30 and SVI 10 has an IP address configured, that is used first. If for some reason SVI 10 is not configured/enabled (or it does not have an IP address configured), then CDP uses the IP address associated to SVI 20, etc.
The consequence of the considerations above is that CDP may provide to the neighbor devices the IP address associated to an interface mapped to global table or to a VRF, depending on the specific configuration in place. This may represent an issue for all the scenarios where CDP is leveraged to discover network devices (for example on specific network management application), because the discovery would fail in cases where the application is running on a machine deployed in a VRF not having access to the specified IP address.
VRFs and Interface Mapping
Despite the lack of VRF awareness, CDP is still useful in a virtualized deployment to be able to understand what local physical interfaces are used to connect to the neighbor devices. The second step is determining if a proper VRF definition is in place and if the various interfaces (logical or physical) are mapped to the correct VRF. This is achieved with the sh ip vrf command:Catalyst-1#sh ip vrfName Default RD InterfacesGreen 1:1 Te1/1.412Red 2:2 Te1/1.422
Based on the output above, it is easy to conclude that the Ten1/1 link has been virtualized by leveraging the sub-interface approach. A different output would be seen in the scenario with Layer 2 trunks and SVIs, as shown below:Catalyst-1#sh ip vrfName Default RD InterfacesGreen 1:1 Vl12Red 2:2 Vl22
As a consequence the physical interface would be configured as a Layer 2 trunk, as shown below:interface TenGigabitEthernet1/1description Trunk to Core Nodeswitchportswitchport trunk encapsulation dot1qswitchport trunk native vlan 512switchport trunk allowed vlan 12,22,32switchport mode trunkswitchport nonegotiatemls qos trust dscp
IGP Neighbor Information
At this point, we know what local interfaces are used to connect to the neighbor devices and what technique has been implemented to virtualize these links. Assuming that the routing protocol and multicast configurations have been completed by following the guidelines discussed in the previous sections, it is now possible to verify that the proper IGP neighborship are successfully established for each and every link.
We have already discussed how virtualized network devices would peer as many times as the number of defined VRFs, since a separate IGP is enabled in the context of each VRF. Depending on which specific IGP is deployed (EIGRP or OSPF), the commands used to verify the establishment of the IGP peering are different.
The commands used to display the EIGRP neighborship allow specifying the VRF where the peering should be established.Catalyst-1#sh ip eigrp neiIP-EIGRP neighbors for process 100H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num0 10.122.5.32 Te1/1 14 08:04:16 2 200 0 306Catalyst-1#sh ip eigrp vrf Green neighborsIP-EIGRP neighbors for process 100H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num0 10.122.15.32 Te1/1.412 11 08:05:33 83 498 0 2631cr20-6500-2#sh ip eigrp vrf Red neighborsIP-EIGRP neighbors for process 100H Address Interface Hold Uptime SRTT RTO Q Seq(sec) (ms) Cnt Num0 10.122.25.32 Te1/1.422 13 08:06:56 94 564 0 2625
Differently from EIGRP, OSPF does not allow to specify the VRF in the command used to display the neighborship. In addition to that, OSPF uses a different process number in the context of each defined VRF, which means that in order to determine if the neighborship has been established, two steps are required.
1. Determine the process ID for the routing process enabled in the context of a given VRF (or global table).Catalyst-1#sh ip protocolsRouting Protocol is "ospf 100"Outgoing update filter list for all interfaces is not set<SNIP>Catalyst-1#sh ip protocols vrf GreenRouting Protocol is "ospf 1"Outgoing update filter list for all interfaces is not set<SNIP>Catalyst-1#sh ip protocols vrf RedRouting Protocol is "ospf 2"Outgoing update filter list for all interfaces is not set<SNIP>
2. Determine the status of the IGP relationship for the specific process ID.Catalyst-1#sh ip ospf 100 neighborNeighbor ID Pri State Dead Time Address Interface10.122.5.32 1 FULL/DR 00:00:39 10.122.5.32 Ten1/1Catalyst-1#sh ip ospf 1 neighborNeighbor ID Pri State Dead Time Address Interface10.122.15.32 1 FULL/DR 00:00:39 10.122.15.32 Ten1/1.412Catalyst-1#sh ip ospf 2 neighborNeighbor ID Pri State Dead Time Address Interface10.122.25.32 1 FULL/DR 00:00:39 10.122.25.32 Ten1/1.422
Diagnostic Tools (Ping, Traceroute)
The diagnostic tools that can be leveraged in a VRF-Lite End-to-End deployment are exactly the same available in a non-virtualized network. The two most typical are Ping and Traceroute. The only thing to keep in mind is to add the vrf keyword in order to perform these functionalities in the context of a specific virtual network (and not in global table), as shown below:D1#ping vrf Red 10.136.233.1Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.136.233.1, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Assume for example that the specific IP address 10.136.233.1 shown above represents a shared resource accessible from different defined virtual networks. It is interesting to notice the output of the traceroute commands when executed in the context of different VRFs.
Note For more details on how to deploy access to shared services from different virtual networks, see the Services Edge document:
D1#traceroute vrf Red 10.136.233.1Type escape sequence to abort.Tracing the route to 10.136.233.11 10.122.35.30 0 msec 0 msec 0 msec2 10.122.35.37 0 msec 0 msec 0 msec3 10.136.0.31 0 msec 0 msec 0 msecD1#traceroute vrf Green 10.136.233.1Type escape sequence to abort.Tracing the route to 10.136.233.11 10.122.45.30 4 msec 0 msec 0 msec2 10.122.45.37 0 msec 4 msec 0 msec3 10.136.0.41 0 msec 0 msec 0 msecD1#traceroute vrf Yellow 10.136.233.1Type escape sequence to abort.Tracing the route to 10.136.233.11 10.122.55.30 4 msec 4 msec 0 msec2 10.122.55.37 0 msec 4 msec 0 msec3 10.136.0.51 0 msec 0 msec 0 msec
As noticed above, the IP addresses associated to the various Layer 3 hops look similar for the three VRFs (for example the first hop is 10.122.35.30 for Red, 10.122.45.30 for Green, 10.122.55.30 for Yellow). This is because of the link virtualization previously discussed that defines a separate Layer 3 interface (SVI or sub-interface) for each supported virtual network. Notice that this output is obtained when following the recommendation of configuring unique addresses for the interfaces associated to each VRF on a specific virtualized link. If overlapping IP addresses were used, most likely the outputs above would look identical independently from the VRFs were the commands were executed, behavior that can be confusing from a troubleshooting point of view.
Another advantage of using unique IP addresses for the interfaces associated to each VRF on a common physical connection is also traceroute leveraging DNS to provide a more readable output of the traceroute command, as shown in the example below:D1#traceroute vrf Red 10.136.233.1Type escape sequence to abort.Tracing the route to 10.136.233.11 D1-C1-VRF-Red (10.122.35.30) 0 msec 0 msec 0 msec2 C1-C2-VRF-Red (10.122.35.37) 0 msec 0 msec 0 msec3 C2-D2-VRF-Red (10.136.0.31) 0 msec 0 msec 0 msecD1#traceroute vrf Green 10.136.233.1Type escape sequence to abort.Tracing the route to 10.136.233.11 D1-C1-VRF-Green (10.122.45.30) 0 msec 0 msec 0 msec2 C1-C2-VRF-Green (10.122.45.37) 0 msec 0 msec 0 msec3 C2-D2-VRF-Green (10.136.0.41) 0 msec 0 msec 0 msecD1#traceroute vrf Yellow 10.136.233.1Type escape sequence to abort.Tracing the route to 10.136.233.11 D1-C1-VRF-Yellow (10.122.55.30) 0 msec 0 msec 0 msec2 C1-C2-VRF-Yellow (10.122.55.37) 0 msec 0 msec 0 msec3 C2-D2-VRF-Yellow (10.136.0.51) 0 msec 0 msec 0 msec
VRF-Lite End-to-End represents another path isolation technique that can be positioned in many scenarios as a valid alternative to an MPLS VPN deployment. The main advantages this type of deployments brings to the table include:
•Wide support across the Cisco Catalyst family of products
•It is IP based and can be deployed without changing the IP characteristics of the underlying network or introducing additional control plane components (as MP-BGP).
•Each created virtual network represents an exact replica of the underlying physical infrastructure; this is due to the nature of the VRF-Lite End-to-End approach that requires the virtualization of every network device, together with their interconnections and this is an important factor in reducing the learning curve required to deploy this technology.
•The convergence mechanisms dictating the traffic recovery inside each defined virtual network are the same as those valid for the physical infrastructure. The recovery times are also very similar and only in few specific examples a dependency is noticed with the number of configured VRFs.
The main obstacle to a wide adoption of this technology is represented by the provisioning, monitoring, and troubleshooting complexity of the VRF-Lite environment. This usually limits the positioning of this approach for small and medium size networks that do not require the deployment of more than 10-12 virtual networks.
Given the main advantages brought by an IP based hop-by-hop technology, Cisco is very committed to improving the current functionalities to mitigate these operational issues. The short-medium term strategy consists of delivering a management application (Virtual Network manager-VNM) specifically targeted on simplifying VRF-Lite End-to-End deployments. The timeframe for the VNM release is 1HCY09.
In the long term, a new path isolation technology will be introduced that will exploit the main advantages of VRF-Lite deployments, but will focus on overcoming its main operational challenges. This would most likely allow positioning this IP based functionality also in larger scale networks.
Extending Path Isolation over the WAN
Deploying Path Isolation Using Distributed ACLs
The previous sections described the use of distributed ACLs to provide path isolation mechanisms to be implemented in a campus network to logically separate the traffic belonging to various categories of users. A similar scenario applies to the WAN when there is a need to extend the VPNs up to remote branch locations, as shown in Figure 151.
Figure 151 Connecting Branch Offices to the Main Campus
The various branch offices can connect to the WAN edge block of the campus network, either through a legacy WAN cloud (based, for example, on Frame Relay or ATM) or through an IP WAN cloud. In the second case, IPsec is more likely used to guarantee privacy of the traffic over the WAN. The details of IPsec deployments over the WAN are beyond the scope of this guide, but the following are some deployment alternatives:
•IPsec with GRE
•IPsec with VTI
Corresponding design guides can be found at: http://www.cisco.com/warp/public/779/largeent/it/ese/srnd.html
The use of distributed ACLs to provide path isolation over the WAN presents the same characteristics and limitations described for the campus scenario in Path Isolation Using Distributed Access Control Lists relative to campus deployments. As a result, it is positioned again for applications requiring hub-and-spoke connectivity. The following assumptions are considered valid in this context:
•The hub resources are located in the main campus—These can be valid, for example, in the case of guest access if the access to the ISP is limited to the main campus and not available at the remote branch locations.
•The connectivity between the branch and the main campus is in place—This can either be unencrypted (legacy WAN based on Frame Relay or ATM) or encrypted. The details of this connectivity are beyond the scope of this guide.
In these scenarios, the format of the ACL that is required on the ISR router located at each branch location is identical to the one implemented in each campus distribution block, as follows:ip access-list extended SEGM-RACL10 permit udp any any eq bootps20 permit udp any host <DNS-Server-IP> eq domain30 deny ip any <protected_prefixe>40 permit ip any <target_prefixes>
•Statements 10 and 20 allow connectivity to receive DHCP and DNS services (if needed).
•Statement 30 denies connectivity to protected resources that should not being accessed from this specific category of users.
•Statement 40 restricts connectivity only to the subset of required prefixes. The list of required prefixes can vary, depending on the specific application. For example, in the case of guest access, it can be all the public IP addresses representing the Internet, whereas for NAC remediation, it can be represented by the remediation server.
The RACL can be applied on all the router interfaces associated to each specific user group defined at the branch location. Only traffic directed to the specified target is allowed into the WAN toward the main campus.
Deploying Path Isolation Using VRF-Lite and GRE
The use of VRF and GRE to provide path isolation over the WAN is recommended for all the applications requiring backhauling to the main site of the traffic originating from the remote branch locations (no branch-to-branch communication required). A typical example of such an application is providing guest access when the connection to the ISP is localized in the main site and is not available at the branch locations.
In this scenario, a hub-and-spoke overlay network can be built for each user group (VPN) defined at the branch. The hub location in this case is represented by the campus WAN edge, as shown in Figure 152.
Figure 152 Hub-and-Spoke Logical Networks Over the WAN
Note that a separate overlay network can be defined for each user group (VPN). In the example in , two separate yellow and red VRFs are defined.
This design assumes a customer requirement of encrypting all the traffic sent over the WAN using IPsec. This is becoming increasingly common, even over legacy WAN clouds. A complete description of the various IPsec deployments scenarios is beyond the scope of this guide.
Independently from the specific type of connectivity established in the global table between the remote branch locations and the main site, these IPsec pipes are used to carry the traffic for each defined user group from each branch location to the main site in an encrypted form, as shown in Figure 153 for the yellow VPN.
Figure 153 Using IPsec Pipes as Transport
Note that if GRE is used in conjunction with IPsec to support multicast traffic and the use of dynamic routing protocol (in the global table), each IP packet sent by a user belonging to group "yellow" in the VRF is sent over the WAN in the format shown in Figure 154.
Figure 154 IP Packet for User in Yellow Group Over the WAN
Basically, three additional headers are imposed on the original IP packet originated from the yellow endpoint. In this design, these different headers can be stripped on different devices in the campus WAN edge block, according to the following sequence of events:
1. The branch router receives the original IP packet on the interface mapped to the yellow VRF.
2. The branch router adds the three headers to the original packet and sends it into the WAN cloud.
3. The packet is received on the campus WAN edge block by one of the routers facing the WAN cloud (for example, a Cisco 7200 router platform). The traffic is decrypted, so the external IPsec header is removed.
4. After decryption, the packet is handed to the tunnel interface defined in global table on the WAN router and is GRE decapsulated.
5. Up to this point, traffic belonging to a specific user group (belonging to a VRF) or global traffic (handled in global routing table) is treated in the same way. The difference now is that traffic originated from a remote subnet mapped to the yellow VRF, for example, presents an additional GRE header, so when the packet is sent from the WAN router to the switch facing the campus core (a Catalyst 6500 in this design), it is handed to the tunnel interface that is mapped to the corresponding VRF.
6. At this point, the original IP packet is routed in the context of the yellow VRF and does not use the information in the global routing table or in other VRFs, which is the goal.
Because of the overhead caused by the additional headers being added to the original IP packets, it is important to manually lower the MTU on the GRE tunnel interface that is mapped to each VRF. The same considerations described in High Availability Considerations are also valid here because the goal is still to use PMTUD to avoid fragmentation of the IP packets. To accommodate all the additional headers shown in Figure 154, a suggested MTU value of 1300 can be used (see Configuration Details).
After the traffic is received on the Catalyst 6500 switches in the WAN edge distribution, it is sent toward its destination using the path isolation solution in the campus network. Figure 155 shows an example of a guest access solution.
Figure 155 Campus and WAN Network Virtualization for Guest Access
In this specific example, two distinct logical overlay networks have been built; one to handle the guest traffic inside the campus network, the second for carrying it over the WAN. The two Catalyst 6500 switches positioned in the campus WAN edge perform a dual role:
•The switches represent the hubs for the overlay logical network built over the private WAN to aggregate the guest traffic originated from all the remote branch locations.
•The switches represent the spoke devices for the logical network built across the campus core. Their function in this case is to forward all the guest traffic toward the campus Internet edge devices.
The example in Figure 155 illustrates the same path isolation solution (hub-and-spoke achieved with VRF and GRE) used in the campus network and also over the WAN. This design is not mandatory because any good design should maintain independence between the two logical overlay networks. Terminating the GRE tunnels originated at the branch locations in the WAN distribution block provides a complete separation between the network virtualization solution adopted inside the campus and over the WAN. For example, if a decision is made to deploy Multiprotocol Label Switching (MPLS) in the campus core, a specific MPLS VPN can be dedicated to handle the guest traffic. The Catalyst 6500 in the WAN block is then the PE device for the MPLS VPN campus deployment, and is used to send all the traffic received over the GRE tunnels into the MPLS VPN realm.
The recommended design imposes some restrictions on the choice of the Catalyst platforms that can be deployed in the WAN distribution block. To aggregate the GRE tunnels originated at the branch locations, Cisco recommends that you use Catalyst 6500 switches with Sup720 because of their ability to switch GRE traffic in hardware. This is basically the same requirement as is given for the Internet edge.
The following configuration samples are used to create the overlay network on the WAN, distinguishing the commands required on the Catalyst 6500 switches in the distribution layer of the WAN block and on the branch routers. (See Figure 156.)
Figure 156 Deploying the Overlay Network On the Private WAN
Catalyst 6500 WAN
The Catalyst 6500 switches in the WAN block have a dual role. They represent the redundant headend for the hub-and-spoke network connecting to the branch offices, and they also provide the point of entrance to the network virtualization solution deployed inside the campus. The recommended configuration for building the overlay logical network extending over the WAN uses mGRE interfaces on the headend devices, because of the advantages described in Using mGRE Technology for a campus environment. The required configuration steps for the Catalyst 6500 platforms in the WAN edge are described as follows. (This is also valid for a generic yellow VRF.)
Step 1 Define the yellow VRF:ip vrf yellowrd 100:1
Step 2 Define the mGRE interface to aggregate the guest traffic originated at the remote locations:interface Loopback20description source mGRE for branchesip address 10.127.200.1 255.255.255.255!interface Tunnel20description mGRE hub for branchesip vrf forwarding yellowip address 172.20.1.1 255.255.255.0no ip redirectsip mtu 1376ip nhrp map multicast dynamicip nhrp network-id 100tunnel source Loopback20tunnel mode gre multipoint
Step 3 Enable a routing protocol in the context of the yellow VRF, adding the proper route filtering, as previously described in the campus scenario. The following configuration sample is used for an EIGRP deployment. For an OSPF configuration example, see Virtualizing the Routing Protocol.router eigrp 100passive-interface defaultno passive-interface Tunnel10no passive-interface Tunnel11no passive-interface Tunnel20no auto-summary!address-family ipv4 vrf yellownetwork 126.96.36.199 0.0.0.255network 188.8.131.52 0.0.0.255network 172.20.1.0 0.0.0.255distribute-list import_routes inno auto-summaryautonomous-system 100exit-address-family!ip access-list standard import_routespermit 172.20.10.0 0.0.0.255
Note The last statement in this example (permit 172.20.10.0 0.0.0.255) is required to allow the yellow subnets defined at the remote branch location in routing table. In a real deployment, there can be more than one of these statements; one for each remotely defined yellow subnet.
The following configuration sample is valid for the branch router and applies to the network diagram in Figure 156.
Step 1 Define the yellow VRF:ip vrf yellowrd 100:1
Step 2 Define the dual logical connection to the WAN edge. Note that these GRE tunnel interfaces are point-to-point because it is assumed that there is no need for spoke-to-spoke communication.interface Loopback10description source GRE to WAN hub 1ip address 10.127.210.1 255.255.255.255!interface Loopback11description source GRE to WAN hub 2ip address 10.127.211.1 255.255.255.255!interface Tunnel10description GRE tunnel to WAN hub 1ip vrf forwarding yellowip address 172.20.1.2 255.255.255.0ip mtu 1376ip nhrp network-id 20ip nhrp nhs 172.20.1.1ip nhrp registration timeout 60tunnel source Loopback10tunnel destination 10.127.200.1!interface Tunnel11description GRE tunnel to WAN hub 2ip vrf forwarding yellowip address 172.20.2.2 255.255.255.0ip mtu 1376ip nhrp network-id 20ip nhrp nhs 172.20.2.1ip nhrp registration timeout 60tunnel source Loopback11tunnel destination 10.127.201.1
Step 3 Define the yellow subnet for the branch location (in a real scenario, there can be multiple subnets defined at each branch location).interface FastEthernet0/1.20description Branch Guest subnetencapsulation dot1Q 20ip vrf forwarding yellowip address 172.20.10.1 255.255.255.0ip helper-address 172.18.2.10"Enable routing.router eigrp 100passive-interface defaultno passive-interface FastEthernet0/1.20no passive-interface Tunnel10no passive-interface Tunnel11no auto-summary!address-family ipv4 vrf yellownetwork 172.20.1.0 0.0.0.255network 172.20.2.0 0.0.0.255network 172.20.10.0 0.0.0.255distribute-list import_routes inno auto-summaryautonomous-system 100exit-address-family!ip access-list standard import_routespermit 0.0.0.0
Note The distribute-list statement is required to install a default route that points to the hub device in the WAN edge in routing table.
Deploying Path Isolation using VRF-Lite and MPLS VPN
Several options must be considered when extending path isolation beyond the campus and across the WAN. Selecting the proper approach is based on the number of branches that constitute the WAN and the number of required virtualized networks. This section describes three approaches that each represent a balance in design between complexity and robustness. Smaller networks that require only a small number of virtualized networks do not require the same level of complexity as a larger enterprise with many virtualized networks.
Design Options—Three Deployment Models
The following three deployment models can be used to provide path isolation over the WAN:
•Multi-VRFs on the WAN edge and branch edge mapped to SP-provided Layer 3 VPN service (profile 1)
•Multi-VRFs mapped to DVMPN tunnels (profile 2)
•RFC 2547 over an Layer 2 VPN service (profile 3)
The following subsections describe the advantages and disadvantages of each of these deployment models.
Before describing these three possible deployments, the following assumptions concerning initial conditions are made:
•The first assumption is that there is an existing network, and that path isolation is required to maintain separation between the current infrastructure and a new network or networks that overlay the current infrastructure.
This covers the majority of situations. If no initial network exists, the methods presented here can still be deployed, but some initial thought should be given to determine the purpose of the global underlying network.
Expanding on this first assumption, the global network continues to support its current role. Virtualized networks should not impose new limitations on the current network. Because the virtual networks are overlaid on top of existing infrastructure, many aspects of the virtual segments have already been locked in place. For example, if the existing WAN is a hub-and-spoke topology, any virtualized network inherits that same property. The robustness of the current routing environment has an impact on the stability of any overlaid network. The same statement applies to the security policy. As a general rule, all virtual networks are restricted by the same limitations that apply to the global network.
•The second assumption is that the existing network has a homogeneous routing domain.
If the current network is already logically partitioned into multiple autonomous routing systems, the complexity of overlaying a single autonomous domain requires a specialized solution. This is an extension of the fact that virtualized networks inherit many attributes from the underlying infrastructure. Of particular concern are networks that employ a BGP core. Overlaying a new BGP cloud over an existing one, or proposing a method to integrate RFC 2547 into an existing domain, is not covered in this release of network virtualization.
The focus of this design guide is limited. For example, multicast running inside of a VRF may be a completely feasible scenario that can be deployed using common PIM design principles; however, no testing has yet been done by Cisco to confirm that there are no interactions between VRFs and PIM. As a result, no guidance is given to cover this type of deployment. Current guidance is focused on IP connectivity, and includes routing protocols as well as some supplemental services such as Cisco IOS firewall.
Enterprise MPLS Terminology
Three WAN path isolation deployment models based on VRFs are considered. The first two are based on multi-VRF CEs and the third is based on RFC 2547 capability that is extended to edge of the enterprise edge network. Before exploring these three methods, some clarification on the terminology is helpful.
Historically, MPLS has been deployed by service providers. Common MPLS terms are used to define the role of a device as it is used within the SP network. Routers known as P or LSR nodes have no customer-facing interfaces. This differs from PE or LER routers, which are at the edge of the service provider network, and the CE router, which is at the edge of the customer network. In this guide, these terms are useful only as a method to determine the function of a device within the MPLS framework. As mentioned in previous sections, P nodes swap labels, PE nodes are the gateway between label switching and IPv4 routing domains, and CE devices are purely IP routing nodes, although they may be partitioned onto logical IP domains, or VRFs. Because this guide is focused solely on the enterprise network, the standard terms are somewhat ambiguous. The terminology becomes especially confusing when interfacing with a service provider that is offering an MPLS service. In such a situation, a device may take on a dual role depending on the perspective. A router can be a CE from the service provider perspective, but serve in a PE role within the enterprise environment. In addition, consider a device that is a CE to both the provider and the enterprise. The same term has two meanings, depending on perspective.
In an effort to alleviate some of the confusion, this chapter avoids the use of the term "provider" when speaking of an enterprise-owned and enterprise-operated device. Instead, a device is referred to as an enterprise label switch, enterprise label edge, or a multi-VRF router. Devices referred to as PEs or Ps are only those that belong to the service provider network, and are out of scope of this guide.
The main difference lies in the ownership of the labels. SP devices interact only with SP-created labels. Similarly, enterprise devices work only with enterprise-created labels. Within MPLS, there is a feature known as Carrier supporting Carrier (CsC). In this setup, one MPLS provider may switch labeled traffic transparently over another MPLS provider. Some carriers are beginning to offer this type of service to enterprise customers. In the deployment models considered here, the outer header of a packet is always an IP field when transitioning between SP and enterprise MPLS clouds. It is helpful to keep this in mind when considering the WAN path isolation techniques described in the following sections.
Mapping Enterprise VRFs to Service Provider VPNs (Profile 1)
The first method to extend path isolation across the WAN is useful when only a small number of VRFs need to be transported, such as from one to five VRFs plus the existing global table. The enterprise WAN aggregation routers server as the enterprise label edge device. The branch employs multi-VRF routers. No enterprise labels are transported across the SP network. Instead, the enterprise label edge router maps VRFs directly into a VPN service that is offered by the service provider. This service is most likely an Layer 3-based VPN. At the branch side, each VPN service is mapped to unique VRFs that are contained solely within the branch router. These VRFs are then mapped directly to VLANs. If multiple routers exist at the branch location, path isolation is maintained by mapping VRFs onto VLANs that are then transported over an Ethernet trunk to downstream devices.
Figure 157 shows an example of this deployment model.
Figure 157 Mapped SP-Provided MPLS VPNs
This method is attractive because it is easy to set up and straightforward to troubleshoot because the enterprise labels are confined to the campus. This simplicity also enhances the solutions availability. No additional control plane is required. However, the approach is restricted by the cost of the MPLS VPN service and by the Layer 2 handoff between the enterprise and service provider domains. In addition, the lack of a dedicated control plane leaves the solution somewhat static. Adding or removing VRFs from the network requires a concentrated effort and coordination with the service provider.
There are the following two starting points to consider:
•The existing global WAN is running over an MPLS-provided Layer 3 VPN.
This is becoming more common. This service is often based on MPLS. In this situation, the standard MPLS terminology can become unhelpful, as mentioned above.
•The global table is not already in an SP-provided VPN.
In this case, it is possible to subscribe to a service for only the VRFs without moving the global traffic. However, another port on the branch router is required for the isolated WAN links. This is not an ideal situation because the VRFs are transported via an Layer 3 VPN, while the global table may be transported over an Layer 2 VPN such as Frame Relay. This situation is possible, however, because each VRF is mapped directly to some VPN service.
Connecting the Enterprise to the Service Provider
The most common handoff to an SP-provided VPN is Ethernet, although any Layer 2 transport can be used. Some providers can support trunking on this connection. This is the lowest cost option for both the SP and the enterprise. If the existing link cannot support Layer 2 VLANs, such dot1Q trunks, additional physical connections are required for each VRF. This can become prohibitively expensive very quickly. A simple configuration for this setup is as follows:!interface FastEthernet0description Existing VPN service connectionip address 192.168.200.29 255.255.255.252!interface FastEthernet0.101encapsulation dot1Q 201ip vrf forwarding v1ip address 192.168.101.2 255.255.255.252!interface FastEthernet0.102encapsulation dot1Q 202ip vrf forwarding v2ip address 192.168.101.6 255.255.255.252!interface FastEthernet0.103encapsulation dot1Q 203ip vrf forwarding v3ip address 192.168.101.10 255.255.255.252!
Note that the original interface has not been disturbed. This satisfies the goal of not modifying the base network to support virtualization. In this situation, the global traffic is sent without an 802.1Q tag. The main interface remains in the global table. Some customers may be more comfortable moving the subnet from the main interface onto a sub-interface. There is nothing wrong with this. The same reasoning likely applies to the LAN interface as well. However, note that the scale limitation in terms of the number of VRFs supported is actually imposed by the number of VLANs the branch router can handle, because each Layer 3 VRF maps to an Layer 2 VLAN at the branch router. This depends on the platform and the version of Cisco IOS.router_1811(vlan)#vlan 29Vlan can not be added. Maximum number of 28 vlan(s) in the database.
If the link between the enterprise router and the SP router is a point-to-point trunk, it is beneficial to disable spanning tree on the associated VLAN.
QoS on the WAN Interface
When an enterprise customer selects SP-managed Layer 3VPN service to interconnect sites, it is not uncommon to find a hierarchical QoS configuration on WAN interfaces because the actual upstream bandwidth is typically below the interface speed. This is done to create an artificial back pressure to allow packet reorder as well as traffic shaping. Because shaping is not allowed simultaneously at the physical interface and sub-interfaces, it is normally best to shape traffic only at the main interface. The existing QoS configuration is shared among all VRFs. If the global table has been moved onto a sub-interface, mixing the service policy between the main interface and sub-interfaces is not required. This allows unique service policies for each sub-interface. There are several limitations: class-based weighted fair queueing (CBWFQ) is not supported on sub-interfaces, and the class "class-default" is not VRF aware. There is only a single default class. The following example shows a typical three-class model for the global traffic, and a specific policy applied to one VRF.!interface FastEthernet0!interface FastEthernet0.100description Existing VPN service connectionencapsulation dot1Q 200ip address 192.168.200.29 255.255.255.252service-policy output T1!interface FastEthernet0.101encapsulation dot1Q 201ip vrf forwarding v1ip address 192.168.101.2 255.255.255.252service-policy output KIDS_ROOM!interface FastEthernet0.102encapsulation dot1Q 202ip vrf forwarding v2ip address 192.168.101.6 255.255.255.252service-policy output T1
This is a relatively complex configuration that shows a rather trivial example. However, the objective is to prevent the traffic in one VRF from consuming all the bandwidth. This becomes an important part of DoS containment. No guarantees can be made at present. A virus in one VRF can have a detrimental impact on the traffic in adjacent VRFs. The example above is limited. There is another, more complex approach to this problem. Object tracking can be used across VRF boundaries. This means that an IPSLA probe can be set up in one VRF and then a corrective action applied in an adjacent VRF. Consider the following configuration:!track 50 rtr 50!!ip route vrf V4 0.0.0.0 0.0.0.0 192.168.101.13 track 50ip route vrf V2 10.173.255.255 255.255.255.255 Null0 track 50ip route vrf V4 0.0.0.0 0.0.0.0 Null0 250!!no ip http serverno ip http secure-server!ip sla 50udp-jitter 10.173.112.1 32768 source-ip 192.168.101.6 num-packets 6 interval 50threshold 15vrf V2!ip sla reaction-configuration 50 react jitterAvg threshold-value 15 10 threshold-type consecutive 2 action-type triggerOnly!ip sla schedule 50 life forever start-time now!!!
In this example, an IPSLA probe is set up to measure the jitter to a particular destination in VRF V2. If the jitter exceeds a given threshold, the routing table in VRF V4 is adjusted. This method can protect traffic in VRF V2 from the traffic in VRF V4. In this case, two examples are shown; the first places the default router in V4 onto an alternate path. Another option would be to place a default to null in VRF V4. In both cases, the objective is to move lower priority VRFs off the shared physical link. Unlike the first example, the probe is able to react to traffic in both directions. However, the corrective action is applied only outbound via the local routing table. In advanced cases, it is possible to inject a dummy route into the routing protocol and then track and react to this route at another point in the network. This method is compressive because it can track the performance in one VRF in both directions, and react to the event at multiple points in the network over multiple VRFs, all with basic Cisco IOS.
Routing within a VRF
The physical topology of individual VRFs is very similar to the underlying global VRF within the confines of the enterprise network. However, this does not mean that each VRF is strictly limited to the underlying structure., because each VRF is mapped into a SP Layer 3 VPN. In most cases, all VRFs attach to the same campus. However, it is possible that the campus in one VRF may not be the same as another. In addition, a campus may not have presence in all VRFs across the entire population of branches. It is certainly possible and probable that only a subset of the total branches appear in a given VRF. In this guide, only the condition where all VRFs share the same campus and the same set of branches is considered. Hybrid situations must be custom-designed.
Because the relationship in topologies between VRFs is only loosely dependant, each VRF should run a routing protocol. Normal design principles apply. Routes should be summarized as much as possible. The use of stub areas and default routing should be used whenever practical. In most situations, the pre-existing global table has implemented BGP peering with the service provider.
There are several ways to set up routing over an MPLS-VPN service, such as using unique AS numbers at all enterprise sites, using AS-Override with SoO checking to prevent loops, or using simple default routing. The approach used in the global table should be replicated in each of the VRFs. If BGP peering is used on the PE-CE link, this should be adequate to provide routing for smaller one- and two-router branches. The following is a sample configuration for the global table plus two additional VRFs:!router bgp 65001bgp log-neighbor-changesneighbor 192.168.200.2 remote-as 65535!address-family ipv4redistribute connected metric 100redistribute staticneighbor 192.168.200.2 activateno auto-summaryno synchronizationnetwork 10.173.1.0 mask 255.255.255.0network 192.168.200.0 mask 255.255.255.252exit-address-family!address-family ipv4 vrf V1redistribute connectedneighbor 192.168.201.237 remote-as 65535neighbor 192.168.201.237 activateno synchronizationnetwork 10.173.25.0 mask 255.255.255.0exit-address-family!address-family ipv4 vrf V2redistribute connectedneighbor 192.168.201.241 remote-as 65535neighbor 192.168.201.241 activateno synchronizationnetwork 10.173.24.0 mask 255.255.255.0exit-address-family
The campus configuration is more complex. The WAN router may be peering with multiple service providers to allow a more complete service area, competitive pricing, and some level of redundancy for critical branch locations. Again, the simplest approach is to use the global configuration as a template.
If the enterprise is not currently subscribed to an MPLS service, a more detailed look at the routing implications is recommended, such as the L3 MPLS VPN Enterprise Consumer Guide Version 2 at the following URL: http://www.cisco.com/en/US/docs/solutions/Enterprise/WAN_and_MAN/L3VPNCon.html.
The following two limiting factors determine the scalability of profile one:
•Cost is likely the deciding factor in determining how many VRFs are feasible in most situations. This cost is associated to SP charges for the additional VPNs. Cisco has tested this profile up to five VRFs. This number is somewhat arbitrary and is not a hard limit.
•The number of VLAN a branch router can support. Each VRF requires two VLANs; one for the WAN connection, and another for the LAN. The branch routers have a software-imposed VLAN limit, which can be determined with the show vtp status command as follows:Branch_2>sh vtp statusVTP Version : 2Configuration Revision : 40Maximum VLANs supported locally : 12
Subtract 4 from this number to account for the special use VLANs. Because each VRF requires two VLANs, and one VLAN is needed as the default global VLAN, this box is software-limited to three VRFs. The number of supported VLANs is a consideration in all three profiles; however this is the only profile that requires two VLANs per VRFs.
The routing protocols and associated route tables also represent a load on the CPU. These are discussed in General Scalability Considerations.
Multiple VRFs Over a Single Service Provider VPN (Profile Two)
It may not always be possible or practical to procure additional VPN networks from the service provider. The costs can become prohibitive, or the media in place may not readily allow parallel paths, which is the case with a dedicated leased line T1 circuit. If it is not possible to provide Layer 2 path isolation, the enterprise is required to run Layer 3 tunnels over the single Layer 2 transport. Each tunnel can then be placed into a unique VRF.
This is similar to the previous approach, and has the following advantages:
•No additional services are required from the SP. This keeps the solution cost-effective on a per-VRF basis by allowing enterprise customers to resize the VPN network without any deployment cost impact.
•The Layer 3 tunnels may terminate on a dedicated box. The enterprise label edge is not required to be the WAN aggregation box as was the case in the first profile.
•The tunnels may be encrypted.
This deployment model also has the following restrictions:
•The tunnel configurations can grow to be quite large and complex.
•Additional overhead is required to provide tunnel end-to-end connections.
•Additional headers must be placed onto each packet. Keep in mind that because the enterprise label edge device resides at the campus, no tags are placed on packets inside the tunnel.
The recommended tunneling method for this profile is DMVPN (see Figure 158). This offers an encrypted service and minimizes the configuration on the WAN aggregation router.
Figure 158 Mapped DMVPN Over a Common IP Cloud
Isolation versus Privacy
MPLS-based VPNs do not natively encrypt their payloads. Privacy is maintained only by wedging a tag into the packet header. This allows a unique and logically isolated routing environment. MPLS can be considered a protocol that provides isolation without guaranteeing privacy. A network analyzer has little difficulty viewing the data from any VRF if the operator can obtain the packet. This can happen either accidentally through a provision mistake, or intentionally through a malicious attack. The first line of defense is always physical security, which ensures that only trusted support people are allowed physical access to the equipment and circuits. The next level is to harden the devices to prevent a remote attack. The final line of defense is to encrypt the packets so that the data is safe even if physical security is breached. In some situations, it is a legal requirement that any packet transported off the premises must be encrypted. Profile two is the only design that includes payload encryption.
MPLS with DMVPN
The basic setup is to create a unique DMVPN tunnel for each required VRF. The tunnels transport packets from the enterprise label edge to a multi-VRF branch router. The WAN aggregation device is somewhere in the path, but not necessarily at the enterprise label edge. The outside address space of the tunnel is in the existing global routing domain. The inside address space of the tunnel is inside the isolated VRF. Although it is possible to place the outside address of the tunnels within a VRF, this rarely required.
The following is the basic configuration of the tunnel as seen on the branch router:!interface Tunnel10ip vrf forwarding v10ip address 10.173.160.3 255.255.255.0ip mtu 1400ip nhrp authentication secretip nhrp map 10.173.160.1 10.173.255.3ip nhrp network-id 10ip nhrp nhs 10.173.160.1ip ospf hello-interval 30load-interval 30tunnel source GigabitEthernet0/0tunnel destination 192.168.200.5tunnel key 10!
Note that a network ID is used to provide NHRP with a unique identifier, and a tunnel key is used to provide a unique identifier to the IPsec tunnel. These are required when multiple tunnels are using the same pair of outside addresses. However, the VPN SPA as seen in a Catalyst 6500 does not support the tunnel key option. Therefore, it may be necessary to set up a unique head-end address for each tunnel. The branch router can still source all tunnels from the same WAN interface address, and can also use unique loopback addresses. The only requirement is that the address is reachable in the global table. In addition to restrictions on the tunnel key, the older VPNSM found in the Catalyst 6500 does not allow VRF-based DVMPN tunnels (see CSCek64643). At the time of this writing, careful consideration should be given when deploying this profile in an environment where the Catalyst 6500 serves as the DVMPN hub.
IPsec tunnels used to transport encrypted packets are also established in the global table. Typically, tunnel profiles are used in DMVPN deployments. This is one example when crypto maps make more sense. With crypto maps, it is possible from multiple DMVPN tunnels to share the same IPsec tunnel. Tunnel profiles attempt a unique IPsec tunnel per mGRE interface. This can dramatically limit the scalability of DVMPN per VRF deployments. Defined crypto maps applied to the physical interface allow more control to handle the many parallel DVMPN tunnels. A typical configuration is as follows:!crypto isakmp policy 1encr 3desauthentication pre-sharecrypto isakmp key BIGSECRET address 0.0.0.0 0.0.0.0crypto isakmp keepalive 10!!crypto ipsec transform-set NV esp-3des esp-sha-hmac!crypto map SP1_BUNDLE 10 ipsec-isakmpset peer 192.168.200.17set transform-set NVmatch address HEAD_END1crypto map SP1_BUNDLE 20 ipsec-isakmpset peer 192.168.200.13set transform-set NVmatch address HEAD_END2!crypto map SP2_BUNDLE 10 ipsec-isakmpset peer 192.168.200.5set transform-set NVmatch address HEAD_END1crypto map SPA_BUNDLE 20 ipsec-isakmpset peer 192.168.200.9set transform-set NVmatch address HEAD_END2
This example shows a large branch that is connected via two service providers, shown as SP1_BUNDLE and SP2_BUNDLE. Within each provider, the branch can reach two head-end routers, shown as HEAD_END1 and HEAD_END2. These maps are then applied to the respective interfaces; either the SP1 interface or the SP2 interface. Each bundle is transporting ten DMVPN tunnels, each forwarding a unique VRF. Each of the ten DMVPN tunnels is mapped to the primary and backup head-end router.
This configuration is difficult to deploy based solely on tunnel profiles. The design provides the branch flexibility to route individual VRF traffic to a favored head-end over a favored SP connection. Head-end redundancy can be provided in the following two ways:
•Single DMVPN cloud, multi head-end—Define two NHS for each tunnel; one per head end.
•Multi-DMPVN cloud, multi head-end—Create a unique tunnel mapped to each head end.
In small single-attached branches using tunnel profiles, the single DMVPN cloud is typically used. When multi-attached branches are used, or when crypto maps are used, the multi-DMVPN cloud, multi head-end approach tends to be more common. The first approach offers a simplified configuration. The second allows better convergence. With the multi-tunnel approach, a standard routing protocol can determine availability over the inside network. With a single tunnel, NHRP handles failures via hellos traversing the outside address space. In a virtualized environment, the multi-tunnel approach is preferred.
Note Note in the example that a wildcard mask is used on the pre-shared key. This is not considered a secure practice, but does allow easy deployment in a test environment. In an actual production environment, certifications should be used, or the key mask restricted to known addresses. Further discussion on these topics can be found in the respective design guides.
Routing Over VRF-Mapped DVMPN Tunnels
Of the three profiles, profile 2 is the only one that supports an end-to-end IGP to operate inside VRF and over the WAN at the same time. There are some obvious advantages to this. First, the enterprise can send routing hellos through the path isolation structure. The timing of these hellos can be determined by the enterprise. In many cases, the routing protocol running inside the tunnel detects and responds to a service interruption before the outside address space has converged. When comparing this solution to the first solution, no BGP peering is required to support the VRF traffic within the WAN environment. BGP may still be used in the campus to transport VRF information.
The two common routing protocols that are considered are EIGRP and OSPF.
EIGRP Running in a VRF
When deploying EIGRP, there are some general rules concerning EIGRP over a DVMPN cloud. The routing protocol considers the DVMPN subnet to be a multi-access media. It assumes peer-to-peer connectivity that is not always in place. Although DVMPN supports spoke-spoke tunnels, it is often advantageous to run DMVPN in a hub- and-spoke-only model.
If DMVPN is going to be run in a full spoke-spoke mode, no ip next-hop-self eigrp <as> should be configured to allow EIGRP to pass the next hop information without alteration. The reason is that even though EIGRP believes Spoke_A and Spoke_B are on the same subnet and are therefore adjacent, the spokes do not maintain a persistent connection to one another.
If DVMPN is used in a hub-and-spoke-only mode, no ip split-horizon eigrp <as> should be configured to allow the hub to rebroadcast the routing information from one spoke to the next. It is also best practice to configure EIGRP as a stub such that each branch receives only a default route from the hub.
Although each VRF maintains a unique EIGRP topology, they are run under the same process. This means that a single instance of EIGRP is configured, and then address-families are set up to handle the VRFs. Each address-family is assigned its own AS number that is advertised to neighbors within that VRF. The router configuration is similar to the following example:!router eigrp 173no auto-summary!address-family ipv4 vrf V1network 10.0.0.0no auto-summaryautonomous-system 173exit-address-family!address-family ipv4 vrf V2network 10.0.0.0no auto-summaryautonomous-system 173exit-address-family!address-family ipv4 vrf V3network 10.0.0.0no auto-summaryautonomous-system 173exit-address-family!address-family ipv4 vrf V4network 10.0.0.0no auto-summaryautonomous-system 173exit-address-family!
Troubleshooting EIGRP within a VRF is handled the same way it would be in the global domain. The only difference is the addition of the VRF in the show command. For example, to view the EIGRP topology of V3, the command "show ip eigrp vrf V3" should be used.
OSPF Running in a VRF
Unlike EIGRP, OSPF runs a unique process for each VRF. Two key commands are required to configure OSPF. First, under the routing process, the command capability vrf-lite disables label edge checks intended to prevent mutual redistribution loops. Because the branch router is not processing labels, these checks are not needed and they prevent OSPF from functioning properly in a multi-VRF branch router.
To allow proper OSPF function over the DMVPN interface, the hub interface should be configured as an ospf point-multipoint interface. The branch routers then need to adjust their OSPF hello timers to match the hub interface. By default, this is 30 seconds. Details on running OSPF on a DMVPN interface can be found in the DVMPN Design Guide at the following URL: http://www.cisco.com/en/US/docs/solutions/Enterprise/WAN_and_MAN/DMVPDG.html.!interface Tunnel11ip vrf forwarding v1ip address 10.173.171.6 255.255.255.0ip ospf hello-interval 30!interface Tunnel12ip vrf forwarding v2ip ospf hello-interval 30!interface Tunnel13ip vrf forwarding v3ip ospf hello-interval 30!!!router ospf 171 vrf v1log-adjacency-changescapability vrf-litenetwork 10.0.0.0 0.255.255.255 area 1!router ospf 172 vrf v2log-adjacency-changescapability vrf-litenetwork 10.0.0.0 0.255.255.255 area 1!router ospf 173 vrf v3log-adjacency-changescapability vrf-litenetwork 10.0.0.0 0.255.255.255 area 1!
The size of the network and the number of VRFs supported is a function of the hub router. Virtualization does not add much direct overhead because the labels are removed before reaching the WAN infrastructure. However, VRFs allow a multiplication factor that must be considered. Consider a 1000-node WAN that is used to support four VRFs. This can result in an effective load on the hub equivalent to a 4000-node network in the control plane, and potentially a 4000-node network if the VRFs are used to support new end users. The total number of end users determines data plane loading because this is strictly a function of PPS rates on each device.
The control plane load can be reduced by overloading the crypto tunnels. This is done by using a single crypto tunnel to carry all the GRE tunnel traffic rather than creating multiple parallel tunnels. The previous example shows this setup. The crypto tunnels are in the global table.
Cisco has tested this profile up to ten VRFs. The number is arbitrary. Beyond ten VRFs, the configurations become large, and troubleshooting multiple parallel DMVMN tunnels becomes difficult. If more than ten VRFs are required, consider extending the enterprise label edge to the branch router (profile 3).
Extending the Enterprise Label Edge to the Branch (Profile 3)
The final WAN path isolation design extends label switching to the branch routers. This provides the most flexibility in terms of adding and removing VRFs. It also scales higher than the previous two approaches, and results in a smaller configuration because parallel paths over the WAN are not explicitly defined. However, this approach also requires overlaying BGP on top of the existing global WAN, and distributing labels over the WAN. This third profile is based on RFC 2547 running over an existing Layer 2 transport. (See Figure 159.)
Figure 159 RFC 2547 Over an Layer 2 Cloud
The goal of leaving the pre-existing global table undisturbed adds some unique challenges because MPLS does not transport data without tags. The requirements create a hybrid between IP routing for the global traffic, and label switching for the traffic using VRF. Both methods run over the same WAN links. Knowing which packets to tag with labels and which to route directly requires proper planning.
Note The information in this guide represents a minimum base knowledge required to implement this profile. For more information on MPLS VPN concepts, see the Layer 3 MPLS VPN Enterprise Consumer Guide at the following URL: http://www.cisco.com/application/pdf/en/us/guest/netsol/ns171/c649/ccmigration_09186a008077b19b.pdf.
Setting up BGP Over the WAN
The first step is to build an iBGP structure over the internal WAN. New loopback addresses are required. These addresses should be easily classified with an access list. This can be best accomplished by assigning all loopback subnets from the same supernet. These subnets are distributed in the global table to allow BGP peering. They cannot be summarized within the routing table between label edge nodes. These loopback subnets are also used to determine which packets are switched via labels and which are routed as part of the existing global table.
Ideally, the loopback interfaces and associated subnets are created specifically for the task of WAN path isolation and are not shared with other tasks, such as DLSw+ peering and so on. This facilitates the label distribution access list used later in the configuration. The level of detail in planning at this stage determines how successful WAN isolation will be. The network administrator should consider how many branches may become involved in the future. Sufficient space should be allocated in the address space, and the structure should be easily understood.
Route Reflector Placement
Scalable multi-protocol iBGP requires route reflectors (RRs), which are used to allow end-to-end iBGP connectivity without having to build a fully-meshed, direct peering structure. Their placement should be such that they can reach all branches that participate in the global table. Typically, they are deployed close to the WAN edge. They may be inline or out-of-line. Inline route reflectors are in the data path, and are often the WAN aggregation routers themselves. This is usually seen only in small-scale networks. In modest- to larger-sized networks, the route reflectors are placed as one-arm bandits just off the data path. The only function of these devices is to disseminate route information to the iBGP speakers. The route reflectors also need a loopback interface. The loopback subnets are added to the global routing table. However, as mentioned previously, it is important not to summarize these routes. The route reflectors peer with each branch and also with the campus route reflectors. The WAN and campus route reflectors can be collapsed; however, in this situation, churn in the WAN topology is not compartmentalized from the campus. Load on the route reflectors as the result of a WAN convergence event can have a detrimental impact on campus VRF stability.
Integration of Campus and WAN Route Reflectors
Because the WAN route reflectors and campus route reflectors are best deployed as dedicated servers, some discussion on interconnectivity is appropriate. Because the MPLS cloud should be end-to-end between the data center and the branch LANs, a single AS should be used on both campus and WAN RRs. The peering between the RRs must be fully meshed. The routes between the peers should be stable and free of redistribution between IGPs, such as multiple IGPs. In some environments, it may be possible to directly connect the WAN and campus RRs via a DWDM pipe or single cable, depending on the physical distance between the boxes. Any instability in the fully-meshed peering between the RRs is felt on all VRFs over the end-to-end enterprise environment.
A key part of this solution is extending the label edge to the branch. This is based on RFC2547. However, a goal of this design is to push labels only onto packets that belong to a virtual segment. Packets from the global table are not label switched. This permits existing outbound QoS service policies to continue to function. To configure VRF-only switching, an access list is used to isolate the loopback addresses of the label edges from the other prefixes in the global table. If all branch loopbacks can be summarized as mentioned previously, the same access list can be used throughout the label edge routers. The basic configuration of the branch router is as follows:!mpls label protocol ldpno mpls ldp advertise-labelsmpls ldp advertise-labels for pe_loops!!interface Loopback0ip address 192.168.100.57 255.255.255.255!!router bgp 64000no bgp default ipv4-unicastbgp log-neighbor-changesneighbor 192.168.100.58 remote-as 64000neighbor 192.168.100.58 update-source Loopback0neighbor 192.168.100.59 remote-as 64000neighbor 192.168.100.59 update-source Loopback0!address-family vpnv4neighbor 192.168.100.58 activateneighbor 192.168.100.58 send-community extendedneighbor 192.168.100.59 activateneighbor 192.168.100.59 send-community extendedbgp scan-time import 5exit-address-family!address-family ipv4 vrf V1redistribute connectedno synchronizationexit-address-family...address-family ipv4 vrf Vnredistribute connectedno synchronizationexit-address-family!ip access-list standard pe_loopspermit 192.168.100.0 0.0.0.255