Method and apparatus for providing routing and access control filters

A method and apparatus for providing an access control filter and/or a route filter in a network are disclosed. For example, the method receives a new filter rule or a modified filter rule associated with at least one of: a routing policy, or a security policy. The method creates or modifies one or more filter templates in accordance with the new filter rule or the modified filter rule. The method identifies one or more affected interfaces and audits the one or more affected interfaces. The method then generates one or more commands in accordance with the one or more filter templates if the auditing of the one or more affected interfaces is successful, and downloads filter content to one or more routers using the one or more commands.

The present invention relates generally to communication networks and, more particularly, to a method and apparatus for providing routing and access control filters in networks, e.g., Internet Protocol (IP) networks, Voice over Internet Protocol (VoIP) networks, Virtual Private Networks (VPN), and the like.

BACKGROUND OF THE INVENTION

A network service provider may implement routing and access control filters on its provider edge routers where customer edge routers interface into the service provider's network. The filters associated with the customer edge router on the provider edge router may be manually configured for security and routing policies using the router's Command Line Interface (CLI). Using vendor or router specific steps for manually configuring the filters is costly, error prone and time consuming. Furthermore, the values of the configurable parameters change over time based on the router vendor, type of service, and changes in network routing, customer routing, and/or security policy.

SUMMARY OF THE INVENTION

In one embodiment, the present invention discloses a method and apparatus for providing an access control filter and/or a route filter in a network. For example, the method receives a new filter rule or a modified filter rule associated with at least one of: a routing policy, or a security policy. The method creates or modifies one or more filter templates in accordance with the new filter rule or the modified filter rule. The method identifies one or more affected interfaces and audits the one or more affected interfaces. The method then generates one or more commands in accordance with the one or more filter templates if the auditing of the one or more affected interfaces is successful, and downloads filter content to one or more routers using the one or more commands.

DETAILED DESCRIPTION

The present invention broadly discloses a method and apparatus for providing access control and/or routing filters in networks. Although the present invention is discussed below in the context of Internet Protocol (IP) networks, the present invention is not so limited. Namely, the present invention can be applied for other types of packet networks.

FIG. 1is a block diagram depicting an exemplary packet network100related to the current invention. Exemplary packet networks include Internet protocol (IP) networks, Ethernet networks, and the like. An IP network is broadly defined as a network that uses Internet Protocol such as IPv4 or IPv6 to exchange data packets.

In one embodiment, the packet network may comprise a plurality of endpoint devices or networks102-104configured for communication with the core packet network110(e.g., an IP based core backbone network supported by a service provider) via an access network101. Similarly, a plurality of endpoint devices or networks105-107are configured for communication with the core packet network110via an access network108. The network elements (NEs)109and111may serve as gateway servers or edge routers for the network110.

The endpoint devices102-107may comprise endpoint devices such as personal computers, laptop computers, Personal Digital Assistants (PDAs), servers, routers, networks and the like. The access networks101and108serve as a means to establish a connection between the endpoint devices102-107and the NEs109and111of the IP/MPLS core network110. The access networks101and108may each be comprised of private line, Ethernet, Frame-Relay, ATM, Digital Subscriber Line (DSL) network, a broadband cable access network, a Local Area Network (LAN), a Wireless Access Network (WAN), a 3rdparty network, and the like. The access networks101and108may be either directly connected to NEs109and111of the IP/MPLS core network110, or indirectly through another network.

Some NEs (e.g., NEs109and111) reside at the edge of the core infrastructure and interface with customer endpoints over various types of access networks. An NE that resides at the edge of a core infrastructure is typically implemented as an edge router, a media gateway, a border element, a firewall, a switch, and the like. An NE may also reside within the network (e.g., NEs118-120) and may be used as a mail server, a router, or like device. The IP/MPLS core network110also comprises an application server112that contains a database115. The application server112may comprise any server or computer that is well known in the art, and the database115may be any type of electronic collection of data that is also well known in the art. Those skilled in the art will realize that although only six endpoint devices, two access networks, five network elements and so on are depicted inFIG. 1, the communication system100may be expanded by including additional endpoint devices, access networks, network elements, and/or application servers, without altering the present invention.

The above IP network is described to provide an illustrative environment in which packets for voice and data services are transmitted and routed on networks. A network service provider may implement access control and route filters on its provider edge routers where customer edge routers interface into the service provider's network. For example, the service provider may manually configure the access control filter using the router's Command Line Interface (CLI). However, manual configuring of filters is costly, time consuming, error-prone, and non-scalable to large networks.

In one embodiment, the current invention provides a method for implementing filters throughout a network using a filter template tool. To better understand the current invention, the following terminology will first be provided:Access control filter;Route filterNetwork security policy; andNetwork routing policy.

Access control filter refers to a filter that is used to ensure that information is made available based upon a filter parameter, e.g., from a permitted list of IP addresses. For example, the filtering of packets may be based on source IP addresses, destination IP addresses, masks and/or routing protocols. The access control filters are configured on Internet accessible router interfaces, e.g., interfaces on PE routers in communication with CE routers. For example, an access control filter may be configured on a PE interface connected to a particular CE. The content of an access control filter may be established based on network security policies established for an IP network and the IP endpoints for each PE interface as described below.

Route filter is a filter used to restrict the routing data passed from the customer edge to the network based on the routing policy and the route-able IP endpoints for each PE interface as described below.

Network security policy provides entries within interface filters: to restrict packets that may be allowed into an IP network, or to block packets based on packet type, source and/or destination addresses, mask and/or routing protocols.

Network routing policy provides entries for routing data associated with specific endpoints, which may include generic entries based on the service.

The current invention first provides a filter template tool that provides one or more filter templates that may be used to configure one or more filters for Internet accessible router interfaces throughout a network. For example, an IP network may have 30 PE routers with 1000 interfaces connected to CEs. The filter templates created by a filter template tool may be used to configure filters for each of the 1000 interfaces.

FIG. 2illustrates an exemplary network200of the current invention for providing an access control filter. Customer Edge (CE) routers102-104are accessing services from IP/MPLS core network110through PE router109. Similarly, customer edge routers105-107are accessing services from IP/MPLS core network110through PE router111. The IP/MPLS core network110also includes an application server212and IP configuration tool213. The PE router109interfaces with CE routers102,103and104via interfaces202,203and204, respectively. The PE router111interfaces with CE routers105,106and107via interfaces205,206and207, respectively. The PE router interfaces202,203,204,205,206and207use various access control and routing filters222,223,224,225,226and227, respectively. The number of PE router interfaces and filters as shown inFIG. 2is only illustrative. It should be noted that any number of PE router interfaces and filters can be deployed in accordance with the requirements of a particular implementation.

In one embodiment, the service provider implements a filter tool in application server212. The application server212also contains a database215. The application server212stores a set of configurable entries for security and routing policies in the database215. Each of the configurable entries for security and routing policies has: a format type that defines where the entry appears in a filter, and a specific format rule. A format rule is established to link entries to: specific routing fields for an interface on a router, or to generic entries that may depend on the network or service associated with that interface.

In one embodiment, the configurable entries for security and routing policies are provided in a format supported by the router. For example, different router vendors may use different formats for configuring router interfaces for affecting filters.

The filter template tool first links each of the filters for Internet accessible router interfaces to a set of configurable entries for security and routing policies. For example, the tool links each of the filters222-227to a set of configurable entries in the database215. That is, if a configurable entry in the database215has a modification, the filters that are linked to it may also have to be modified.

In one embodiment, entries into filters for security and routing policies are managed by using logical templates for the filters. For example, a group of ports or interfaces from the same vendor may be able to use the same logical template along with their own configuration, e.g., routing data.

If the service provider or a customer invokes a change in a filter rule, the filter template tool may be provided with an input that includes but not limited to: identifications (or a list) of existing templates to be converted, identifications for new templates that are to be created, a list of network resources (e.g., interfaces, groups of ports, etc.) on which the new templates may be applied, and/or request options as defined below.

A request option refers to an option for different types of requests a user may make. In one embodiment, a request option is an option to request either only auditing of network resources as described below, or auditing and converting the network resources. An audit only request option may be used to identify inconsistencies prior to conversion of actual filters. For example, an audit only request may compare router configuration in the IP network with the router configuration in a provisioning system to identify inconsistencies. If the request option is an audit and convert option, the access control filter template tool first performs an audit. When the audit is completed successfully, the access control filter template tool generates the filter content for resources with successful audit. If the audit identifies an inconsistency, the filter content is not generated, and the appropriate notification is provided to network operations.

For example, a customer may make routing rule or security changes. The changes may then affect entries in the database215to be changed. The changes may then be propagated to one or more logical templates. For example, the filter template tool may: create or modify one or more access control filter templates, modify entries in the filter templates, validate the structure of the filter templates, and/or apply the filter templates to one or more test ports. If a new template is successfully applied to the test port, the new template becomes the default template for applicable interfaces and a conversion process is initiated to modify all filters in the network using the modified template to replace the filter contents.

In one embodiment, the filter template tool creates an filter template from an existing template. For example, the tool makes a duplicate of an existing template and makes modification to the newly created template.

The method may then establish a schedule for pushing down changes to filters for various interfaces. For example, a schedule may be established based on router location, grouping of ports, customer list, etc.

The method then identifies all affected interfaces. For example, the change may affect all PE interfaces tied to CEs for a specific list of customers. In another example, the change may affect all interfaces on PEs. In one embodiment, the filter template tool may have been provided with a list of interfaces that may be affected. For example, the service provider may change a network security rule and may notify the tool that the change is to be applied on all PE interfaces that are connected to CEs via another service provider, e.g., via an access network from a different service provider.

The method may then audit all affected interfaces. An audit is a method for reducing the chance of having an undesirable behavior after a conversion. For example, if the application server implements a modification to the content of a filter assuming knowledge of the latest routing rules but a CE had added new routes, the modification to the filter may result in an undesirable change. For example, the CE may lose its newly added route.

If the audit for an interface is successful, the method then generates pertinent commands from the logical templates and the interface configurations such that the changes may be propagated to the interface. If the audit is not successful, the method reports the trouble to a ticketing system and/or service provider personnel.

In another embodiment, the filter template tool downloads the filter content into the router interfaces. In another embodiment, the filter template tool interacts with an IP configuration tool and provides the filter content (e.g., commands for downloading the changes to the PE interfaces) to the IP configuration tool. The IP configuration tool may then download the filter content into the router interfaces.

Note that, the filter template tool does not overwrite configurations performed by the IP configuration tool. For example, the filter template tool does not change routing tables configured by the IP configuration tool. Note also that configuration changes generated during a filter conversion may impact a large number of filters linked to a large number of interfaces.

In one embodiment, the filter template tool monitors Border Gateway Protocol (BGP) sessions via a BGP monitoring tool. For example, the filter template tool may monitor a BGP session to determine if there are unexpected consequences after applying a new template to an interface.

FIG. 3illustrates a flowchart of a method300for providing a filter. For example, method300can be implemented by the server212. Method300starts in step305and proceeds to step310.

In step310, method300receives a new or modified filter rule for one or more routing and/or security policies. For example, a customer may make changes to a routing policy that affect a filter rule.

In step320, method300creates or modifies one or more filter templates for the received new or modified filter rule. For example, the changes to the routing policy may affect filters being used by various router interfaces.

In optional step330, method300establishes a schedule for pushing down changes to the filters for various interfaces. For example, the changes for filter rules may be made based on location, time zone, etc.

In step340, method300identifies all affected interfaces. For example, the change may affect all PE interfaces tied to CEs for a specific list of customers. In another example, the change may affect all interfaces on all PEs.

In step350, method300audits the identified affected interfaces. For example, the method may compare router configuration in the IP network with the router configuration in a provisioning system to identify inconsistencies.

In step360, method300determines if the audit for affected interfaces is successful. If the audit is successful, then the method proceeds to step370. Otherwise, the method proceeds to step395. For example, in one embodiment the method continues processing at step370for any interface passing the audit. Interfaces not passing the audit are reported in step395.

In step370, method300generates pertinent commands for updating filter contents for the affected interfaces. For example, the method generates commands from the filter templates created or modified in step320and interface configurations to make the changes in the filters located in various PEs.

In step380, method300downloads the filter contents into the routers using the commands. For example, the method may interact with an IP configuration tool to download the changes to the routers.

In an optional step390, method300monitors one or more sessions. For example, the method may monitor Border Gateway Protocol (BGP) sessions to determine if there are unexpected consequences after applying a new template to an interface. The method then proceeds to step395.

In step395, method300reports one or more troubles and/or successful completions. For example, if an audit for an interface failed, then the method may report the audit failure to a ticketing system and/or service provider personnel. If the filter update is successfully completed, then the method reports the success. The method then proceeds to step399to end processing the current filter rule or returns to step310to continue receiving new or modified filter rules.

FIG. 4depicts a high-level block diagram of a general-purpose computer suitable for use in performing the functions described herein. As depicted inFIG. 4, the system400comprises a processor element402(e.g., a CPU), a memory404, e.g., random access memory (RAM) and/or read only memory (ROM), a module405for providing an access control filter, and various input/output devices406(e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like)).

It should be noted that the present invention can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents. In one embodiment, the present module or process405for providing an access control filter can be loaded into memory404and executed by processor402to implement the functions as discussed above. As such, the present method405for providing an access control filter (including associated data structures) of the present invention can be stored on a computer readable medium, e.g., RAM memory, magnetic or optical drive or diskette and the like.