IP Address Provisioning Overview
An introduction to IP address provisioning for data over cable service
By: Bruce Bahlmann - Contributing Author (your
is important to us!)
Created: December 12, 1999
Note: Birds-Eye.Net offers a DHCP Stress Testing Suite [evaluation/buy]
as well as expert consulting help for the peskiest of DHCP configurations [consulting].
The purpose of this article is to provide an overview of IP address provisioning by introducing the methods and systems used to activate high speed Internet access over cable. This article will introduce various addressing methods, describe today’s address provisioning system, discuss IP
address allocation, use of private addressing, and introduce potential troubleshooting problems.
Operating a successful Internet information service (also known as High-Speed Data or HSD) over cable TV (CATV) requires a complex marriage between broadband and provisioning systems. Aside from the inherent complexities associated with engineering a broadband system capable of
supporting HSD, the provisioning system largely represents a black box. The provisioning system provides the foundation from which basic Internet service via cable modems can be activated and maintained. A critical component of the provisioning system is the address-provisioning server. The goal of
this article is to introduce this component of the provisioning system, explain its use, and provide a basis for understanding its operation.
Introduction to Provisioning
Provisioning is a process that activates a client (the recipient of the process) via some type of electronic network. Provisioning does two things, it identifies (singles out) the client, and it gives the client operating instructions/parameters. Singling out a client is called
“registering”. “Provisioning” is also used more generically to mean activating different services. For example, when a customer signs up for HSD, several things will be “provisioned” for them including:
Address Provisioning is a form of provisioning that involves the management and distribution of IP addresses. Address provisioning ensures that a unique IP address (a basic requirement of Internet connectivity) is given to every registered client. Both a CM and a personal
computer’s (PC’s) NIC represent address provisioning server clients. These clients are identified by their network interface address (Media Access Control address or MAC address). The client’s MAC address enables the client to communicate with other clients on its network segment (subnet). The MAC
address is also the identification component that must be registered with some method of address provisioning to enable each client to access clients outside its subnet (e.g. Internet). Understanding the basics of address provisioning provides a foundation from which CM & PC installation and
troubleshooting can be mastered.
- e-mail addresses
- personal web site
- network interface card (NIC)
- cable modem (CM)
- service level (bandwidth, filtering options, etc.)
- remote dial-in access
Evolution of Address Provisioning
Address provisioning has evolved through the life of the HSD offering. During the early days of the HSD offering, “static addressing” was used to configure individual CMs and NICs. Static addressing is the oldest method of address
provisioning and one of the easiest to implement. Although a superior address method called “dynamic addressing” was available at the time of the alpha/beta trials (actually being used by several beta customers), the PC operating systems (i.e. windows 3.1x) was not mature enough to support it. The
components associated with static addressing are:
- Master list (authority) keeps all the addresses
- IP Addresses are manually assigned to clients*
- Continuous record keeping maintains accuracy
- Very reliable, as network access is not dependent on additional hardware/software
- Labor intensive
Static addressing is a manual process that involves keeping track of the assigned addresses on some master list. Although the media of the master list can vary (paper, spreadsheet, database) the concept remains the same. Addresses
are manually assigned and then handed out to each client on a given subnet, recorded in the master list, and then manually entered into the client’s network settings. The assignment of these addresses to clients establishes a one-to-one relationship between a given IP address and the client it is
assigned. This relationship ensures the client that its IP address is unique resulting in reliable/continuous Internet access.
*Note that if any two clients receive the same IP address only one of the clients will function properly (simultaneous access will result in an error or a race condition in which the first client to use the address wins -- the other client is denied access).
The problems with static addressing were scalability and support for inevitable growth. Doling out a handful of IP addresses a day to support installations works well with static addressing but doling out thousands would take a whole
staff to manage properly. Static addressing also has growth limitations. For example, as demand increases for the HSD product in concentrated areas the number of IP addresses available in that area would eventually become exhausted. Once the addresses were used up, customers would need to be
contacted to instruct them how to manually reconfigure their network settings. By the end of the initial HSD trials, minimum standards on PC operating systems were set (dropped non-dynamic addressing compliant OSs) which permitted the use of dynamic addressing. The components associated with dynamic
- An application (server) continuously maintains available pools of addresses
- Automatically doles outs correct addresses (in the form of a lease) to registered clients (1-1 relationship).
- Dynamic Host Configuration Protocol (DHCP) establishes the rules for server to client interaction.
- Client becomes dependent on interaction with the address provisioning server to maintain Internet access
- Troubleshooting client issues requires knowledge of its “current” IP address
Dynamic addressing uses a database as its master list (called lease database), a server as its manager, and temporary IP address (called a lease). The operation of the dynamic addressing method is like borrowing money from the bank. The bank performs a credit check and ensures
your are who you say you are, you negotiate the loan and sign some papers, and then if everything checks out the bank loans you money for a specified amount of time. In the bank example, the address pool is similar to the funds a bank has in reserve for loaning money. The server is the loan officer
or the bank. The lease is the actual loan (the check), you are the client, and DHCP is the rules/regulations that govern the transaction as well as the language spoken to negotiate the loan.
The key function that permits dynamic addressing is the concept of a lease. A lease is an association between a client and an IP address that is maintained in the address provisioning server’s lease database. The resulting
association is an IP address that is loaned to the requesting “registered” client for a fixed amount of time. A lease is therefore a temporary association that the server establishes between a registered client (on request) and some available IP address for a finite amount of time. The server
maintains the lease in the form of a record (entry) in its database. The client keeps track of the lease parameters (renewal, rebind, and expiration time) and uses them as well as the IP address to maintain a consistent Internet IP address.
The client uses DHCP to negotiate the creation, transfer, and termination of the lease based on the renewal, rebind, and expiration time parameters. The renewal time informs the client when it is supposed to validate the lease with
the server. Short renewal times enable server to continually communicate with clients, updating them on possible changes to the network. The rebind time is an escalated state which informs the client when it should seek alternate means of contacting an address provisioning server on the network
(request/renewal is a broadcast rather than a uni-cast). Finally the expiration time informs the client when the IP address it is using is no longer valid -- forces it to request an address. The premise behind using dynamic addressing is that it allows continued dynamic assignment of IP addresses.
For example, when the available IP addresses become exhausted, the server can expand the pool of available addresses without having to manually modify any configurations on the clients.
Well-configured address provisioning servers strive to force lease parameters such that from the clients’ viewpoint it has a very short lease, and from the server’s standpoint the client has an infinite lease. This permits frequent transactions
between the client and the server and infrequent client IP address changes. The goal is to propagate information from the server to the client quickly and change the client’s IP address only when absolutely necessary. Today’s address provisioning system performs several tasks, among them
- Customer CM Activation
- Customer PC NIC Activation
It provisions customer CMs by provisioning them a dynamic address and a configuration file they must download to operate properly. It provisions customer PC NICs by provisioning them with a dynamic address and giving them some other
information (i.e. DNS). There are five goals that today’s provisioning servers seek to achieve with respect to CM and PC NIC support:
Security is achieved through an option that is activated on the address-provisioning server that only allows known MAC addresses to communicate with the server. MAC
addresses are made known to the server through the “registering” process that stores a client’s MAC address into a registry database in the server. MAC addresses that are not registered will not receive responses from the server.
Roaming allows a provisioned device to work anywhere on the network. Roaming permits technicians to connect a single test (provisioned spare) CM at the customer site to
troubleshoot provisioning problems with CMs or NICs. Without the roaming feature, technicians would need to stock a separate CM for each and every subnet they serve. Roaming also allows customer CMs to become operational at the field-provisioning site before they are installed at a customer site.
Conservation is achieved through an option on the server that enables a roaming client to only consume one IP address. Without conservation a single client could consume
multiple IP addresses and present problems when it comes to troubleshooting (determining which IP address the client is currently using).
Automation is achieved through improvements in DHCP software and operations such that changes in operational parameters are made transparent to the user with little or no
down time. For these changes to be truly transparent, there must be synchronization between networking and address provisioning software to enable system wide changes to place in a timely manner.
Auto-Provisioning is a feature of a address provisioning server which enables it to respond to unknown client differently from known clients. For example, unregistered
clients may be given a different IP address or different parameters than registered clients. This variation in parameters is often used to restrict the unregistered client’s access so they are motivated to become registered in order to obtain “full” use of their connection.
Address Provisioning Process
The address provisioning process defines the events leading up to a response (if any) from the address provisioning server. Figure 1.0 shows the interaction between various components of the address provisioning process.
Figure 1.0 Address Provisioning Process
Each request initiated by a client (computer or modem) follows this process leading up to the response from the provisioning server. Although the type of request for computers and modems are different (request different information)
they both follow this process.
The default gateway enables the address provisioning server to group “similar-clients”. Similar-clients have the same operational parameters (e.g. Tx/Rx frequencies). The default gateway
(router) is the point that all transactions between the client and the provisioning server must funnel through. The default gateway is local to the client (on its subnet) and provides passage for server requests by forwarding (relaying) them directly to the address provisioning server. From the
server’s perspective, the default gateway enables the server to logically separate requests from clients enabling it to treat clients from separate subnets differently. Through the use of multiple default gateways one can enable a group of clients that require different operational parameters from
others in the same area (e.g. two frequency pairs on a single node).
Formulating the address provisioning server’s response requires moving through the server’s logical process. Through this process a set of parameters (DHCP options) are generated which will compose the server’s response (if any) to
the client’s request. These parameters are set general (defaults) to specific (nodes) such that a more specific a parameter can override a less specific one.
An operation called de/register allows external applications (e.g. billing system) to remove/add customer CMs and PC NICs from/to the address provisioning server’s registry. De/registering effectively regulates each client’s
operation by controlling which parameters (if any) are given to the client.
IP Address Allocation and Management
The goal of IP address allocation is to formalize the areas where certain addressing methods can reside to streamline troubleshooting and standardize the building-out of the network. Once a subnet is created for a new city or added
to relieve an area where a majority of the addresses are in use, it is monitored by the operations group to ensure that a certain percentage of available IP addresses exist to sustain new installations. A daily IP address report typically provides the operations group with this information about
current IP address utilization. The operations group pays close attention to the “%Used” and tries to keep utilization around 70-80%. Maximizing the use of existing addresses increases the success in requesting additional IP addresses.
When a subnet becomes highly utilized (90+%) an event called “renumbering” is scheduled. Renumbering is how the address-provisioning server introduces new networks in areas that are low in available dynamic IP addresses. Renumbering
is both a network and server initiated event that forces customer CMs & PC NICs to “roam” to a new network. The “magic” of DHCP takes care of the rest by assigning clients new addresses on the new network and then freeing up their previously held addresses. During a renumbering, customers residing on
an existing subnet are divided in half. Half of the customers will remain on the existing subnet (unaffected by the renumbering) and the other half will be moved to a new subnet. Eventually, renumbering events will effect smaller and smaller number of clients and become almost transparent to the end
user (automation being one of the five goals of provisioning). The portion that is moved to a new subnet encounters a change in their default gateway. This change temporarily blocks their access to the Internet as well as their route to the address-provisioning server. To resolve this issue, clients
must either reboot their PC or the lease times on the client must be set in such a way as to enable it to recover (for example placing the rebind time seconds after the renewal time). CMs, while also affected by the renumbering are forced to reboot as they experience a disconnect with their cable
modem termination system (CMTS). Rebooting the PC is an event which forces a “discover” request which will allow the client to find the address-provisioning server using a different route.
Use of Private Addresses
Unlike providers of dial-up Internet service, HSD cannot reuse IP addresses of customers who have logged out. This problem is solved through the use of private addressing (i.e. 10.x.x.x or 10Net) for CMs. Private IP addresses work similar to regular IP address except they are not
routable (usable) on the Internet. By using private addresses, HSD only consumes routable IP addresses for each PC NIC on the network. The consequence of this is that CM troubleshooting must either take place locally or on from some machine that has a local presence but is accessible from the
“The Bottom Line”
Knowledge Breeds Efficiency
During one phase in the CM installation process, installers find themselves watching an array of lights on the CM waiting for it to activate. Installers often speculate what is going on behind the scenes as they watch these lights since, to them, the provisioning system represents
a “black box.” Unfortunately, this lack of understanding of the address provisioning system can result in prolonged or abandoned installs and/or unnecessary service calls.
Dynamic IP addresses are the lifeblood of HSD and the address-provisioning server is the heart of the system. Without the heart, the whole system fails (wide spread outage) and without the veins (RF plant or network) parts of the system can fail. Often localized outages (node or
individual homes) are misinterpreted as wide spread outages. In a majority of these cases, the actual problem is right in front of the installer (PC configuration problem, RF wiring issue, or bad CM). Having a basic understanding of the address provisioning system reduces the amount of speculation
and leads to more productive time spent installing and troubleshooting HSD service.
Check out these other Birds-Eye.Net papers/products regarding DHCP:
White Papers and Reading Material
|Can Birds-Eye.Net help you or your Company?
Receive your Birds-Eye.Net articles and white
papers hot off
the presses by adding our RSS feed to your reader.