Abstract:
A system and method directed to diagnosing a problem associated with a route group in a network are disclosed. A problem associated with a route group is diagnosed by comparing inventory information associated with a route group to current route information associated with a router, where the router is associated with the route group. The process followed for diagnosing a problem associated with a route group depends on whether there is a mismatch between the inventory route information and the current route information.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to problems, such as a configuration error, associated with route groups in a network, and specifically, relates to automatically diagnosing problems associated with route groups in a network. 
         [0003]    2. Brief Discussion of The Related Art 
         [0004]    Conventional service provider networks generally include routers, such as edge routers and core routers, which route information from an originating source to a destination. Customers can connect to the service provider network by connecting to a provider edge (PE) router. The information being transmitted over the network can follow a multitude of routes. A route is a path followed by information in a network. The information may pass through one or more routers in the network that provide a connection between switching points or other network nodes. Routing schemes can determine which route or routes are available for transmitting information between nodes. These routing schemes may be static or dynamic. Routing schemes generally attempt to distribute the traffic load among available routes and enhance network security. 
         [0005]    A route group represents a group of one or more customer sites that connect to a service provider&#39;s edge (PE) router. Route groups generally provide routing schemes to facilitate load balancing, routing policy, and cost reductions for customers who implement the route groups. The same routing policy is generally applied to the routes of a route group and each route group can have a unique set of routing policies. 
         [0006]    In the event that there is a problem with a route group, such as a configuration error, the customer&#39;s service may be impacted and the customer may lose its routes. Typically, the service provider is charged with diagnosing and resolving the problem to minimize the downtime of the route groups. Generally, the service provider&#39;s technicians manually diagnose and resolve the problem. Such manual diagnostics can be time consuming and costly, both for the service provider and the customer. In addition, these manual diagnostic techniques can result in an inefficient use of the service provider&#39;s workforce. 
         [0007]    Therefore an approach that automatically diagnoses problems associated with route groups and notifies an operator of the type and/or location of the problem is desirable. 
       SUMMARY OF THE INVENTION 
       [0008]    The preferred embodiments of the present invention automatically diagnose problems associated with route groups in a network. Information associated with routes groups in a network can be accessed and used to determine whether there is a problem associated with the route groups. The preferred embodiments eliminate or reduce network downtime experienced by customers and can reduce the time and labor required of an operator to find, diagnose, and resolve the problem. 
         [0009]    In one embodiment, a method of diagnosing a problem associated with a route group in a network is disclosed. The method includes comparing inventory information associated with a route group to current route information associated with a router and determining whether there is a problem associated with the route group based on the comparison. The router is associated with the route group. 
         [0010]    In another embodiment, a system for diagnosing a problem associated with a route group in a network is disclosed. The system includes a computing device configured to compare inventory information associated with a route group to current route information associated with a router and to determine whether there is a problem associated with the route group based on the comparison. The router being associated with the route group. The system can include a storage device configured to store inventory information associated with the route group. 
         [0011]    In yet another embodiment, a computer-readable medium comprising instructions executable by a computing device for diagnosing a problem associated with a route group in a network is disclosed. The instructions diagnose a problem associated with a route group in a network by comparing inventory information associated with a route group to current route information associated with a router and determining whether there is a problem associated with the route group based on the comparison. The router being associated with the route group. 
         [0012]    Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed as an illustration only and not as a definition of the limits of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]      FIG. 1  shows an exemplary network in which the preferred embodiments of the present invention can be implemented; 
           [0014]      FIG. 2  is a flow chart that shows automatic diagnosis of problems associated with route groups in a network; and 
           [0015]      FIG. 3  is a block diagram of a service provider unit that is suitable for implementing a diagnostic engine that automatically diagnoses problems associated with route groups in a network. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0016]    In accordance with the preferred embodiments of the present invention, a diagnostic engine allows a service provider to automatically diagnose problems associated with route groups in a network. A route group represents a group of one or more customer sites that implement a common routing policy and routes. Problems associated with route groups in a network can include, but are not limited to configuration errors and network problems, such as congestion. The diagnostic engine can preferably access information associated with routes groups in a network and can use this information to determine if there is a problem. When the diagnostic engine determines that a problem exists, a notification can be generated that identifies the type and/or location of the problem. Based on this notification an operator can resolve the problem. 
         [0017]    The preferred embodiments enable service providers to detect and diagnose problems quickly to eliminate or reduce the network downtime experienced by a customer when a problem occurs. In some cases, the preferred embodiments may detect, diagnose, and resolve the problem before the customer becomes aware of the problem. In addition, the preferred embodiments can reduce the time and labor required of an operator to find, diagnose, and resolve the problem. This allows the service provider to provide a high quality of service while reducing costs associated with network maintenance. 
         [0018]      FIG. 1  shows an exemplary network architecture  100  (hereinafter “network  100 ”) in accordance with the preferred embodiments of the present invention. The network  100  includes a network-based Internet protocol virtual private network (NB-IPVPN)  110 , a High Speed Packet Services (HSPS) network  120 , and customer VPN sites  130  ( 130   a - 130   g ). 
         [0019]    The NB-IPVPN  110  preferably provides a multipoint network for routing IP packets between customer VPN sites  130  ( 130   a - 130   g ). The NB-IPVPN includes provider edge (PE) routers  140  ( 140   a  and  140   b ) and an Autonomous System Boundary Router (ASBR)  150   a . The PE routers  140  are on the periphery of the service provider network and route information through the network  100  from an originating source to a destination. The ASBR  150   a  allows the NB-IPVPN  110  to communicate with the HSPS network  120 , which can utilize a different network protocol than the NB-IPVPN  110 . Such routing between the NB-IPVPN  110  and the HSPS network  120  can be facilitated using a border gateway protocol defined by the Internet Engineering Task Force (IETF), such as version four of the Border Gateway Protocol (BGP4) defined in Request For Comments (RFC) 4271. 
         [0020]    The HSPS network  120  provides Asynchronous Transfer Mode (ATM) and Frame Relay Services to facilitate high-speed transmission of voice, data, video and multimedia applications. The HSPS network can include PE routers  140  ( 140   d - 140   e ) and an ASBR  150   b . The PE routers  140  route information through the network  100  from an originating source to a destination. The ASBR  150   b  connects with the ASBR  150   a  to facilitate communications between the NB-IPVPN  110  and the HSPS network  120 . 
         [0021]    The customer VPN sites  130  preferably provide a private network that is configured within the otherwise public network  100 . The customer VPN sites  130  preferably include one or more customer edge (CE) routers  132  ( 132   a - 132   g ) to facilitate communication with the service provider network by communicatively coupling to the PE routers  140 . Selected customer VPN sites  130   e  and  130   g  can include Internet gateways (IGs)  134  through which the customer VPN sites can access the Internet. Multiple customer VPN sites  130  can be connected to form a wide area network (WAN) that can include several locations. This allows customers with multiple sites to connect with each other as well as to the Internet  170  via IGs  134  at customer VPN sites  130   e  and  130   g . The customer VPN sites can share the physical network with other customers. 
         [0022]    The customer VPN sites  130  can be associated with route groups  160  ( 160   a - 160   c ). The route groups  160  represent a group of one or more customer sites that implement a common routing policy. For example, the route group  160   a  can implement a routing policy for the customer VPN site  130   a  and  130   b , the route group  160   b  can implement a routing policy for the customer VPN site  130   d , and the route group  160   c  can implement a routing policy for the customer VPN site  130   f . The route groups  160   a - 160   c  can implement the same or different routing policies based on the customer&#39;s desired configuration. 
         [0023]    The routing groups can constrain the routes that are available to a customer VPN site  130 . As one example, when a user at the customer VPN site  130   f  wishes to access the Internet  170 , the route which the information follows to get to the internet can be limited so that the user at the customer VPN site  130   f  can access the Internet  170  via the PE router  140   d  and the customer VPN site  130   g . As another example, the customer VPN sites  130   a  and  130   b  that are associated with the route group  160   a  may be constrained such that access to the Internet is limited to routes that go though the customer VPN  130   e  based on the routing policy. 
         [0024]    Virtual routing and forwarding (VRF) tables of routers (e.g., customer edge routers and provider edge routers) hold information related to the network  100  and are used to direct traffic through the network  100  by matching destination addresses to routes associated with the destination addresses. The VRF tables can implement VRF links linking one router to another router to facilitate transfer of traffic. Multiple instances of a routing table can co-exist within a given router without conflict because the instances can be independent. A VRF entry can select the next several hops in a route. The routers in network  100  presumably possess valid VRFs and consistency of the VRF can prevent configuration errors that result in, for example, routing loops. A configuration error, as used herein, refers to routing errors that can occur due to incorrect routing information. 
         [0025]      FIG. 2  is a flowchart showing an automatic diagnosis of problems associated with one or more route groups that is performed by the diagnostic engine in accordance with the preferred embodiments of the present invention. The diagnostic engine preferably obtains VPN and VRF information associated with a customer (step  200 ). The route groups related to the VPN or VRF is retrieved (step  202 ). If no route group is found or the route group is assigned to a default value that indicates no routing constraints exist (step  204 ), the diagnostic engine determines that the problem is not related to route groups and continues diagnosing the problem by performing layer  2  and  3  diagnostics (step  206 ). Otherwise, the diagnostic engine retrieves inventory route group information from an inventory system for the route group (step  208 ). 
         [0026]    The inventory system is a database or storage device that collects customer information including route group information and VRF information. Some, all, or none of the information in the inventory system is static. The inventory route group information is information specified when the route group is set up and can include PE router IP addresses, CE router IP addresses, VRF names, and the like. 
         [0027]    Subsequently, the diagnostic engine obtains and/or identifies one or more routes related to the route group inventory information (step  210 ) and maps current route information (i.e. current route information associated with a router operating in the network) to the route groups based on a selected CE router IP address (step  212 ). The current route information represents a present state of the information that implements routes in for a route group. The routes related to the inventory route group information can be obtained and/or identified by the diagnostic engine using commands known to those skilled in the art, such as the “show IP bgp vpnv4” command. The command can indicate the VRF name to obtain related routes. If multiple VRFs are retrieved from the inventory system, the related routes are obtained and/or identified. 
         [0028]    The diagnostic engine obtains inventory route information from the inventory system for a route that is associated with an identified route group (step  214 ). The inventory route information can include a route target, community list, community value, a route map action, and the like. Route targets facilitate routing traffic from one network to another or from one region (North America) to another region (like Asia). A community list is a list of route groups with their unique characteristics, such as deny route or permit route. Community value is unique to particular route group list based on the priority and weight of the route. A route map action indicates whether the route is permitted or denied. For example, the diagnostic engine can retrieve the following inventory route information for a route that is associated with an identified route group: 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 VRF = 13979:12346 
               
               
                   
                 Route Target = 13979:26001 
               
               
                   
                 Route Group name = CL_RG_1 
               
               
                   
                 Community List = CL_RG_1_DENY 
               
               
                   
                 Community Value = 13979:3475 
               
               
                   
                 Route_Map_Action = Deny 
               
               
                   
                 Community List = CL_RG_1_Permit 
               
               
                   
                 Community Value = 13979:3480 
               
               
                   
                 Route_Map_Action = Permit 
               
               
                   
                   *** 
               
               
                   
                 VPN = 12346 
               
               
                   
                 12.25.39.96/28 (CER IP Address) 
               
               
                   
                 12.38.196.34/32 (CER IP Address) 
               
               
                   
                   
               
             
          
         
       
     
         [0029]    The diagnostic engine also obtains current route information (i.e. information associated with a router operating in the network) using a command(s) known to those skilled in the art, such as a “show IP bgp vpn4” command and/or a “show IP bgp neighbor” command (step  216 ). The command(s) can be executed based on the VRF and CE router IP addresses associated with the identified route group. The diagnostic engine can obtain the following current route information for a route that is associated with an identified route group using the “show IP bgp vpn4” command with the VRF name 13979:12346: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 12.25.39.96/28 (route) 
                 10.22.1.2 (next hop ip address) 
               
               
                   
                 12.38.196.34/32 (route) 
                 10.22.1.2 (next hop ip address) 
               
               
                   
                   
               
             
          
         
       
     
         [0030]    The diagnostic engine can obtain the following current route information for a route that is associated with an identified route group using the “show IP bgp neighbor” command with the VRF name 13979:12346 and route 12.25.39.96:
       12.25.39.96 (via 13979:12346) from 10.22.1.2   Rigin IGP, localpref 100, weight 140, valid, external best   Community: 13979:3480   Extended Community: RT: 13979:26001       
 
         [0035]    Once the diagnostic engine obtains the inventory and current route information, the diagnostic engine preferably compares the current route information to the inventory route information to determine if there is a mismatch (step  218 ). A mismatch, as used herein, refers to a difference between the inventory information and the current route information. If there is a mismatch (step  220 ), the diagnostic engine preferably notifies an operator that there is a configuration problem associated with the route group (step  222 ). Otherwise, as is the case in the above example, the diagnostic engine pings from the PE router to the CE router for one or more VRF links associated with a selected route group (step  224 ). If the ping is successful (step  226 ), a trouble ticket associated with the problem is automatically closed because no problems were detected (step  228 ). If the ping is not successful (step  226 ), the diagnostic engine checks the next hop IP address for VRF links that fail (step  230 ). The next hop IP address represents the address of the next router in a route. If there are any delays associated with the pings (step  232 ), the operator is notified of a possible network problem, such as congestion (step  234 ). If there are no delays (step  232 ), the diagnostic engine preferably notifies the operator to continue troubleshooting (step  236 ). 
         [0036]      FIG. 3  depicts an exemplary service provider unit  300  for implementing the test and diagnostics of the VPN network using the diagnostic engine. The service provider unit  300  can be a mainframe, personal computer (PC), laptop computer, workstation, handheld device, such as a PDA, or the like. In the illustrated embodiment, the service provider unit  300  includes a central processing unit (CPU)  302  and preferably a display device  304 . The display device  304  enables the service provider unit  300  to communicate directly with an operator through a visual display. The service provider unit  300  can further include data entry device(s)  306 , such as a keyboard, touch screen, and/or mouse. The service provider unit  300  can include storage  308  to store data and instructions. The storage  308  can include such technologies as a floppy drive, hard drive, tape drive, Flash drive, optical drive, read only memory (ROM), random access memory (RAM), and the like. The storage  308  can include an inventory system  310  for storing customer information including route group information and applications. 
         [0037]    Applications, such as the diagnostic engine  312  for detecting and diagnosing problems associated with route groups in the network  100  as described above can be resident in the storage  308 . The diagnostic engine  312  can include instructions for implementing those embodiments depicted in  FIG. 2 . The storage  308  can be local or remote to the service provider unit  300 . The service provider unit  300  preferably includes a network interface  314  for communicating with the network  100  accessing the storage  308  via a communication network, such as communications network  100 , when the storage  308  is implemented remotely. The CPU  302  operates to run the application in storage  308  by performing instructions therein and storing data resulting from the performed instructions, which may be presented to an operator via the display  304  or by other means known to those skilled in the art, such as a printer. The data can include a type of the problem, such as a configuration error or a network error, associated with the route groups in the network  100  so that the operator can quickly identify and resolve the problem. 
         [0038]    The diagnostic engine  312  enables service providers to detect and diagnose problems associated with route groups in a network quickly, thereby eliminating or reducing network downtimes experienced by a customer when a problem occurs. The diagnostic engine  312  can detect, diagnose, and resolve problems before the customer becomes aware of the problem and can reduce the time and labor required by an operator to find, diagnose, and resolve the problem. As a result, the service provider can provide a high quality of service while reducing costs associated with network maintenance. 
         [0039]    Although preferred embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments and that various other changes and modifications may be affected herein by one skilled in the art without departing from the scope or spirit of the invention, and that it is intended to claim all such changes and modifications that fall within the scope of the invention.