IP Library Granted Patent US 9,143,479
Granted Patent B2
US 9,143,479 · App. 13/557,128 · Granted Sep 22, 2015

DHCP proxy in a subscriber environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,143,479
App. No.
13/557,128
Granted
Sep 22, 2015
Kind
B2
Abstract

Methods and apparatuses for a network element having DHCP proxy functionality are described. According to one embodiment, an exemplary method includes receiving, at a network element, a request for an IP address from a subscriber, in response to the request, on behalf of the subscriber, communicating with one or more IP address providers over a network to process the request, and responding to the subscriber with respect to the request as if the network element is an IP address provider, on behalf of the one or more IP address providers.

Claims (58)

1. A method in a network element, wherein the network element is coupled with a client and a set of one or more Dynamic Host Configuration Protocol (DHCP) servers, the method comprising the steps:

receiving, at the network element from the client, a DHCP discover packet;

modifying the DHCP discover packet by replacing a source IP address of the DHCP discover packet with a first IP address of the network element;

transmitting, to the set of one or more DHCP servers, the modified DHCP discover packet;

receiving, at the network element, a DHCP offer packet from at least one of the set of DHCP servers;

modifying the DHCP offer packet by replacing a source IP address of the DHCP offer packet with a second IP address of the network element;

transmitting the modified DHCP offer packet to the client;

receiving, at the network element from the client, a DHCP request packet;

modifying the DHCP request packet by replacing a source IP address of the DHCP request packet with the first IP address of the network element;

transmitting, to at least one of the set of DHCP servers, the modified DHCP request packet;

receiving, at the network element, a DHCP acknowledgement packet from the one of the set of DHCP servers;

modifying the DHCP acknowledgement packet by replacing a source IP address of the DHCP acknowledgement packet with the second IP address of the network element; and

transmitting the modified DHCP acknowledgement packet to the client.

2. The method of claim 1 , wherein the first IP address and the second IP address of the network element are different.

3. The method of claim 1 , wherein the set of DHCP servers include an active DHCP server and a redundant DHCP server configured in a pair, and wherein the redundant DHCP server takes over the services of the active DHCP server when the active DHCP server is down.

4. The method of claim 3 , wherein the active and redundant DHCP servers share the same IP address pool to provide IP addresses to clients.

5. The method of claim 1 , further comprising:

wherein the DHCP offer packet received from the at least one of the set of DHCP servers indicates a lease of an IP address for a first amount of lease time; and

prior to transmitting the modified DHCP offer packet to the client, further modifying the DHCP offer packet by indicating a lease of an IP address for a second amount of lease time, wherein the second amount of lease time is smaller than the first amount of lease time.

6. The method of claim 5 , further comprising:

receiving, from the client, a DHCP renewal request;

determining that the time remaining on the first amount of lease time is greater than or equal to an amount of time of a requested lease time renewal; and

transmitting a reply to the client acknowledging the renewal without involving the set of DHCP servers.

7. The method of claim 1 , further comprising installing a host route and an Address Resolution Protocol (ARP) entry for the client.

8. The method of claim 1 , further comprising:

receiving, from the client, a release request;

modifying the release request by replacing a source IP address of the DHCP offer packet with the first IP address of the network element; and

transmitting the modified release request to the one of the set of DHCP servers that assigned an IP address to the client.

9. A network element, comprising:

a processor; and

a memory coupled to the processor having instructions that, when executed by the processor, cause the processor to perform operations including,

receive, at the network element from a client, a DHCP discover packet;

modify the DHCP discover packet received from the client by replacing a source IP address of the DHCP discover packet with a first IP address of the network element;

transmit, to a set of one or more DHCP servers, the modified DHCP discover packet;

receive, at the network element, a DHCP offer packet from at least one of the set of DHCP servers;

modify the DHCP offer packet by replacing a source IP address of the DHCP offer packet with a second IP address of the network element;

transmit the modified DHCP offer packet to the client;

receive, at the network element from the client, a DHCP request packet;

modify the DHCP request packet by replacing a source IP address of the DHCP request packet with the first IP address of the network element

transmit, to at least one of the set of DHCP servers, the modified DHCP request packet;

receive, at the network element, a DHCP acknowledgement packet from the one of the set of DHCP servers;

modify the DHCP acknowledgement packet by replacing a source IP address of the DHCP acknowledgement packet with the second IP address of the network element; and

transmit the modified DHCP acknowledgement packet to the client.

10. The network element of claim 9 , wherein the first IP address and the second IP address of the network element are different.

11. The network element of claim 9 , wherein the set of DHCP servers include an active DHCP server and a redundant DHCP server configured in a pair, and wherein the redundant DHCP server is configured to take over the services of the active DHCP server when the active DHCP server is down.

12. The network element of claim 11 wherein the active and redundant DHCP servers share the same IP address pool to provide IP addresses to clients.

13. The network element of claim 9 , wherein the memory further has instructions that, when executed by the processor, cause the processor to perform the following:

wherein the DHCP offer packet received from the at least one of the set of DHCP servers indicates a lease of an IP address for a first amount of lease time; and

prior to transmission of the modified DHCP offer packet to the client, further modify the DHCP offer packet by indicating a lease of an IP address for a second amount of lease time, wherein the second amount of lease time is smaller than the first amount of lease time.

14. The network element of claim 13 , wherein the memory further has instructions that, when executed by the processor, cause the processor to perform the following:

receive, from the client, a DHCP renewal request;

determine that the time remaining on the first amount of lease time is greater than or equal to an amount of time of a requested lease time renewal; and

transmit a reply to the client acknowledging the renewal without involving the set of DHCP servers.

15. The network element of claim 9 , wherein the memory further has instructions that, when executed by the processor, cause the processor to install a host route and an Address Resolution Protocol (ARP) entry for the client.

16. The network element of claim 9 , wherein the memory further has instructions that, when executed by the processor, cause the processor to perform the following:

receive, from the client, a release request;

modify the release request by replacing a source IP address of the DHCP offer packet with the first IP address of the network element; and

transmit the modified release request to the one of the set of DHCP servers that assigned an IP address to the client.