Patent Publication Number: US-8543674-B2

Title: Configuration of routers for DHCP service requests

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application is a national phase application of PCT/EP2008/063270, filed pursuant to 35 U.S.C. §371, which claims priority to EP 07118409.7, filed Oct. 12, 2007. Both applications are incorporated herein by reference in their entirety. 
     TECHNICAL FIELD 
     This invention relates to the configuration of network elements such as routers to effectively handle requests for IP addresses using Dynamic Host Configuration Protocal (DHCP). 
     BACKGROUND ART 
       FIG. 1  shows a generic description of a broadband network for providing telephone, internet and TV/video services to subscribers in a number of locations. A series of service providers provide the various services (SP 1 , SP 2 , SP 3 ) to the network  10  via conventional access points  12 . The network  10  provides connection to these subscribers via routers  14  located close to the subscribers. The subscribers can include business locations that can include routers in commercial property  16 , and domestic subscribers with routers located in a central office  18  for a neighbourhood of separate dwellings (houses  17 ), or in a single building  19  such as an apartment. A network operator manages the network function by the use of a control and provisioning system  20 . The present invention is particularly applicable to such networks. 
     For the function of the control and provisioning system  20 , the network can be considered in an abstract way as comprising a core  22  having one or more cells  24 , each cell having one or more network elements  26  as is shown in  FIG. 2 . Subscribers  28  connect to the network elements  26 . This structure is not to be confused with the physical elements making up the network. The functional blocks  22 ,  24 ,  26  may be wholly or partly resident in the same or different physical elements, depending on the exact size and makeup of the network in question, although typically, each network element  26  will comprise a router. The subscribers (network clients) can comprises a PC or other connected network device. 
     Internet Protocol (IP) is the common form of communication used in most networks. Data communication using IP relies on addressing for the various parts of the network to be able to communicate with each other. An IP address (Internet Protocol address) is a unique address that certain electronic devices use in order to identify and communicate with each other on a computer network utilizing the Internet Protocol standard (IP). Any participating network device—including routers, computers, time-servers, printers, Internet fax machines, and some telephones—can have their own unique address. 
     IP addresses can be static or dynamic. A static IP address is one in which a device uses the same address every time a user logs on to a network. With a static IP address, a computer&#39;s identity can be easily identified by others, and users can easily connect with it. Such an approach is commonly used for websites, email servers and the like. 
     A dynamic IP address is one in which the address is assigned to a device, usually by a remote server which is acting as a Dynamic Host Configuration Protocol (DHCP) server. IP addresses assigned using DHCP may change depending on the addresses available in the defined pool assigned to that server. Dynamic IP addresses are used because they provide efficient use of a limited pool of available addresses. When there is no need to assign a specific IP Address to each device, users can simply log in and out and use the network without having to have previously obtained an assigned IP address. 
     The Dynamic Host Configuration Protocol (DHCP) is a set of rules used by communications devices to allow the device to request and obtain an IP address (and other parameters such as the default gateway, subnet mask, and IP addresses of DNS servers) from a server which has a list of addresses available for assignment. The DHCP server ensures that all IP addresses are unique, e.g., no IP address is assigned to a second client while the first client&#39;s assignment is valid (i.e. its ‘lease’ has not expired). Thus IP address pool management is done by the server and not by a human network administrator. 
     The procedure by which an IP address is obtained from a DHCP server is shown schematically in  FIG. 3 . Before it is possible for a client C to obtain an IP address, it is necessary to configure the router R to which it is attached (step  0 ). The router R can be configured in the factory (as is the case in many home routers) or can be manually configured by either downloading a configuration file or by connecting to the router by telnet and configuring the code operating the router. Whichever way is used, the configuration is essentially static and includes identification of the DHCP server extDHCP to use for IP address assignment. 
     On connection to the router R, the client C requests an IP address by sending a DHCP discover message (i) to the router R. On receipt of the DHCP discover, the router R relays it on to the network, including the DHCP server extDHCP (ii). The DHCP server responds to this message by issuing a DHCP offer (indicating that an IP address is available to meet the request) which is communicated to the router R (iii) and is in turn, relayed to the client C (iv). On receipt of the DHCP offer, the client issues a DHCP request to the router R (v) which in turn is relayed to the network (and DHCP server) (vi). The DHCP server assigns a particular IP address and issues an acknowledgement, including the assigned IP address (vii) which in turn is relayed by the router R to the client (viii). Steps v to viii are repeated periodically to maintain the lease to that IP address while the client is connected. In the event that the client disconnects (or is timed out), the IP address is released and steps i to viii must be repeated again to obtain a new IP address. 
     The static configuration of the router makes it difficult for the network to adapt to the changing needs of the clients. 
     BRIEF SUMMARY OF THE INVENTION 
     According to a first aspect of the invention there is provided a method of configuring a router to provide DHCP IP address services to a number of network clients sending messages to the router to request IP addresses, wherein the network clients connect to a network via the router which is under the control of a control system, the method comprising the steps of: 
     i) obtaining configuration instructions for the router by sending messages from the router to the control system to request configurations for DHCP services; 
     ii) sending configuration instructions from the control system to the router; and 
     iii) configuring the router in accordance with the configuration instructions to: 
     
         
         
           
             a) act as a DHCP server and provide an IP address in response to at least one client request; and 
             b) act as a relay agent and forward the request from at least one other client to an external DHCP server and to forward an IP address response from the external DHCP server to the client. 
           
         
       
    
     By operating the router under the control of the control system, it is possible to have dynamic configuration of the router such that the manner in which a router handles a DHCP request can vary according to the nature of the request. 
     In one embodiment, the method preferably further comprises analysing the request from the client to determine a service type to which the request relates and creating a configuration instruction according to the determined service type. In this case, the step of obtaining a configuration instruction can comprise creating the configuration instruction in the router from one of a number of configuration templates according to the service type. 
     In a further embodiment, the method comprises analysing the request from the client to determine a service type to which the request relates; sending a message from the router to the control system to request a configuration for DHCP services according to the determined service type; and sending a configuration instruction from the control system to the router. 
     The configuration instruction can comprise an instruction including an IP address pool from which the router can assign an address to the client when acting as a DHCP server or an instruction including the identity of the external DHCP server to which the IP address request is relayed. 
     Where the router act as a relay agent the method can comprise sending relay agent information with the request to the external DHCP server. In such a case, more than one external DHCP server may be identified. 
     When the router is configured to act as a relay agent, the router may send an update message to the control system when forwarding the IP address from the external DHCP server to the client. 
     According to a second aspect of the invention there is provided a network system comprisings a number of routers, a number of network clients, and a network control system, wherein each network client connects to a network via an associated router and the router is under the control of the control system, the control system being configured so as to perform the steps of the method in accordance to the first aspect of the invention. 
     The system may further comprise at least one external DHCP server. 
     Other changes may be made within the scope of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a schematic view of a generic broadband network; 
         FIG. 2  shows a schematic view of the functional elements of a network; 
         FIG. 3  shows the major steps in DHCP IP address assignment; 
         FIG. 4  shows a system according to an embodiment of the invention with a router configured to act as a DHPC server; and 
         FIG. 5  shows a system according to an embodiment of the invention with a router configured to act as a relay agent with an external DHPC server. 
     
    
    
     DETAILED DESCRIPTION OF OUT THE INVENTION 
     Referring now to  FIG. 4 , in one embodiment of the invention, the router R acts as the DHCP server and provides the IP address. In this case, on connection of the client C, it sends out a DHCP discover  1  as before. On receipt of this, the router R sends a context open message  2  to the control system CS. This provides information such as the interface ID on the router R, MAC address, vendor class ID for the service concerned, etc. On receipt of this message, the control system creates a configuration file establishing service parameters for the requested service (bandwidth, etc) as well as an IP address pool from which at IP address can be assigned. The configuration file (instruction) is transmitted to the router R in a context write, step  3 . The configuration file is loaded into the router R which then begins to behave as a DHCP server and sends a DHCP offer on the specified interface to the client C. The steps of DHCP request and acknowledge outlined above are completed between the client C and router R, via steps  5 ,  6  (repeated in the usual manner to maintain the lease open). 
     In the embodiment of  FIG. 4 , the router R acts as a DHCP server for the device connected to the designated interface. In one embodiment, the router acts as a DHCP server for all devices attached to an interface. However, in other cases, it is necessary to be able to use an external DHCP server to provide IP addresses.  FIG. 5  shows the system configuration for this case. 
     In the case of  FIG. 5 , the DHCP discover and context open steps  1 ,  2  are as before. However, in this case, the control system responds with the identity of the external DHCP (extDHCP) sever to use, step  3  and the router R is configured accordingly. Although only one server is shown, it is possible that more than one can be specified according to the service requested. 
     The router R relays the DHCP discover to the designated server and includes “option 82” (relay agent) information if not already present, step  3   a . The DHCP server responds with a DHCP offer, step  3   b . This is relayed to the client C, step  4 . The client C then responds with a DHCP request, step  5  as before. This is relayed by the router R to the DHCP server  5   a . The server responds with a DHCP acknowledgement, step  5   b  which is relayed to the client C by the router R, step  6 . The router also sends a context update, step  7  to the control system CS so that the address and service assignment to the client C on the relevant interface can be known to the control system. Steps  5 ,  5   a ,  5   b  and  6  are repeated to maintain the IP address lease open as needed. 
     In the context of the client, whether the system is configured as in  FIG. 4  or  FIG. 5  is irrelevant; it is provided with an IP address and responses received from the router R are in the same format in both cases. However, because the router R is configured according to the interface on which the request is received, it is possible to have several different configurations provided by the router R. For example, certain requests may be handled in the manner of  FIG. 4 , i.e. with the router R acting as the DHCP server, whereas others are handled in the manner of  FIG. 5 , with the router acting as a relay agent and using an external DHCP server to provide the IP addresses. 
     At the end of an IP address lease, the address is released and the client loses its IP connection. The next DHCP discover from that client on that interface will be treated as new and may be handled in a different way to the way in which it was previously. 
     The dynamic nature of the router configuration means that it is relatively easy to control the system to adapt to new services or providers, and does not require manual re-configuration of each router. This avoids the need to manually reconfigure every router once a new server or service is added to the system. 
     Further changes can be made within the scope of the invention. For example, in one further embodiment, some control system functionality is provided in the router R. In one example of such functionality, the control system may inspect the clients&#39; DHCP discover message, in particular fields containing the client MAC address and the vendor-id field which are used to determine what type of client service causes the request for the IP address. Moving this functionality to the router R involves providing a set of service templates in the router R. When the client issues a DHCP discover, the router R inspects the DHCP discover message and attempts to match it against templates in a service list of client conditions. If a match is found in the list, that means that the particular service can be provided to the client. The service template can in turn also indicate that the packet should be relayed to an external DHCP server, the router&#39;s own internal DHCP server used, or a query sent to the control system for additional configuration information for the client. 
     This approach has the advantage that it provides a way to avoid the control system from the signalling chain, thus reducing the potential for every IP address assignment to be a possible single-point-of-failure. This general process would comprise analysing the message from the client to determine the service type, and then either configuring the router according to a stored template to either act as the DHCP server or to relay the request to an external DHCP server, or to pass the message on to the control system and respond in the same manner as is discussed above.