The Generic Provisioning Problem
Chapter 2, "IP Architecture Overview," looked at some of the technologies and standards that are being developed within the Internet community. However, the deployment of these technologies is usually a complex and difficult undertaking. The rollout of the technology within a network requires configuring the different devices within the network that support those technologies. Policy-based techniques can help alleviate the management issues associated with the rollout of these technologies.
The configuration and provisioning of new technologies is complex for a variety of reasons. One of the challenges is that deployment requires configuring a large number of devices in a typical-sized network. Another challenge is that the technologies are often developed without adequate attention to the issues of management and deployment. As a result, there is often a mismatch between the technology specifications and the reason a network operator might want to deploy a given technology within the network.
The administrators and operators of most networks do not want to deploy technology for the sake of the technology. Very few enterprise CIOs would choose to deploy Differentiated Services within their network just because it has been standardized or because it is readily available from the different router/server vendors. The reason for deploying any technology is to satisfy a business need. For example, if a CIO determines that it needs to satisfy a network performance SLA put in place for an important customer, and Differentiated Services is the best approach to satisfy that SLA, the CIO might choose to deploy the relevant technology within the enterprise.
As described in Chapter 1, "Policy-Enabled Networking Architecture," there are two types of policies: high-level (operator view) and low-level (device view). The business needs of the deployers drive the high-level policy definitions, and the details of the technology drive the low-level policy definition. A policy management tool bridges the gap between the two views and simplifies the job of technology deployment. This chapter takes a closer look at the high-level and low-level policies that can be used in different types of network environments.
The organization of this chapter can be explained through the policy application matrix shown in Figure 3.1. The vertical axis of the matrix shows the different business needs that can arise in the various types of network environments. The horizontal axis shows the different technologies that can be used to satisfy these business needs. A shaded box indicates that the corresponding technology can be used to satisfy the matching business needs within a specific environment. Not all technologies are appropriate for each business need, and the ones that are not suitably matched have an X. An overview of the technologies shown on the horizontal axis is provided in Chapter 2.
The reader must keep in mind that the entries in Figure 3.1 are shown mainly for the purpose of illustration. In any organization, one may find business needs that are not captured by the items shown on the vertical axis. Similarly, in certain cases, some of the business needs may be better satisfied by mapping to a technology that is different from the one shown in Figure 3.1. As an example, an Application Service Provider (ASP) may want to have a business SLA covering privacy and security needs of its customers. In this case, SSL would be useful for satisfying these SLAs, even though it is not shown as an appropriate technology in the figure.
The next section of this chapter takes a closer look at three different types of network environments that are common in current IP-based networks. Then I will describe the two axes of the policy application matrix. Specifically, I will discuss the high-level policies that are most appropriate for the business needs of the different network environments. After that, I will describe the low-level policies that are appropriate for each of the technologies that can be used to satisfy those business needs. Finally, I will describe the structure of a generic policy management tool that can be used to map the policy representation along the vertical axis into the policy representation along the horizontal axis.
This chapter focuses on the generic principles that can be exploited to build a policy management tool. The details of how a technology can be used to satisfy the various business needs are described in Chapter 4, "Technology Support for Business Needs."
The high-level policies within the network reflect the business needs that motivate the deployment of a specific technology. An organization's business needs include items such as the services it provides to its customers, its internal requirements for smooth operation, or compliance with any regulatory or legal statutes that might apply to that organization.
The business needs of each organization depend on the organization's nature and characteristics. In order to study these business needs, we will look at three types of organizations, each with a different set of networking needs: an enterprise, a networking services provider, and an application hosting services provider. The enterprise environment is a corporation with its own network and computational infrastructure. The networking services provider, an Internet service provider (ISP), offers network connectivity services to its customers. The application hosting services provider hosts applications, such as Web sites or mail servers for its customers.
This section describes the different business environments in more detail. The following section examines their business needs.
The Enterprise Environment
The enterprise environment represents the typical network of a large corporation. Such a corporation typically has many branches that could be geographically separated by large distances. Depending on the size of the enterprise, the branches might be a few miles away, or they could be distributed across the globe.
Such an enterprise is typically managed by an IT department, which is responsible for the operation of the networking and computing infrastructure. The IT department needs to operate the network at required performance levels and enforce adequate security in networked communication. The management and operation of such a network can benefit tremendously from a policy-based approach.
A typical enterprise environment consists of several local campus networks that are connected by a WAN. Campus networks typically are based on LAN technologies, such as Ethernet, Gigabit Ethernet, FDDI, and token ring. Each LAN connects to the WAN by means of one or more access routers. The WAN typically consists of leased lines obtained by the enterprise from a telecommunications company or an ISP. Such an environment is shown in Figure 3.2.
In most cases, the enterprise has adequate bandwidth on the LANs for its purposes. Current LAN technologies are cheap enough to offer gigabits of local bandwidth at relatively low costs. Even at the relatively old technologies of ethernets operating at 10Mbps and token rings operating at 16Mbps, LAN bandwidth is an order of magnitude faster than access links to WAN, which are predominantly T1 (1.5Mbps) links. New technologies of Fast Ethernet and Gigabit Ethernet are significantly faster than T3 access links (45Mbps), which are becoming more widespread.
The reasons that deployed LANs are significantly faster than wide-area access links are most likely business-related rather than technical. There is no technical reason why a wide-area link can't be as fast as or faster than a LAN. Speeds in excess of 1Gbps can be achieved quite readily over optical fiber. However, the cost of operating a LAN is significantly different from the cost of operating a wide-area link.
The installation of a LAN is dominated by a one-time lump-sum cost associated with the purchase of equipment and any building infrastructure updates that might be needed. Although this cost might be a substantial one-time expense, relatively few recurring monthly costs are associated with LAN bandwidth. Amortized over the typical life span of a building LAN (which is usually a few years), the cost per unit of bandwidth per month of LAN is fairly small. However, wide-area access links are available only through the telecommunication companies and are priced on a monthly basis, which easily dwarfs the expenses associated with the one-time equipment installation costs over one year. Unless there are fundamental shifts in the way wide-area links are priced, it is safe to assume that the bottlenecks associated with network communications are more likely to be in the WAN rather than the LAN.
As far as security, different corporations vary widely in the trust model that exists among campuses in the enterprise network. Most companies tend to have an open internal access approach, whereby almost anyone can have network connectivity (such as being able to ping the computer) to any computer on the internal corporation network. This is not to say that access controls at the application layer are not needed. In most companies, files and documents should be given only to those employees who really need them. However, no firewalls or other network-layer security devices are commonly deployed between the different departments.
Enterprise networks do have to contend with a different type of security issue. There is an increasing need for employees to gain remote access to the company's network from external locations. In many cases, the external location is the residence of an employee working from home. However, there might be employees who are accessing the network from their hotel rooms or over the Internet. Their access needs to be supported as well.
It is in the backdrop of such an enterprise that we will look at the requirement for the high-level and low-level policies necessary to manage the performance and security of an enterprise network. The high-level policies need to be defined in terms of functions that are used in daily operations of the companies, and the low-level policies need to be defined in terms of the technology deployed within the network (such as configuration of access server and routers).
The Network Services Provider (ISP) Environment
The network services provider is an organization that operates a network on behalf of its customers. I refer to such an organization as an ISP because many Internet service providers essentially offer such a service to their customers. Examples of some companies that provide network connectivity are UUNET, Sprint, and AT&T Global Networks. These companies offer WAN connectivity to their customers.
A simplified view of the computer network environment for a typical network provider is shown in Figure 3.3.
The oval shown as the core network is the domain of a single network operator or ISP. An ISP would have multiple points of presence (POPs) at various cities. The POPs are sites that could be used to access the ISP network. Customers may connect to POPs using leased lines or dial-up lines. Dial-up access requires modem banks that terminate in a local office of the ISP and are connected to the POP using high-speed links (typically T1). For access to other customers, the ISP may place a router on the customer's premises (CSR: Customer Site Router) and connect it to the POP using a metropolitan-area network or a leased line. In addition to the POPs, the ISP needs to partner with other peer ISPs in order to connect to the Internet. These peering points are known as Internet Exchange Points (IXPs). An IXP can connect a regional ISP to a national ISP or act as conduit among several ISP networks. Different ISPs have peering agreements among themselves as to which traffic they will accept from other ISPs at an IXP. Very large service providers also have private peering arrangements with each other.
Note - An exchange point is also known by several names other than IXP. Common equivalent terms include NAP (Network Access Point), MAE (Metropolitan Area Exchange), and FIX (Federal Internet Exchange).
The POPs and IXPs supported by the ISP are interconnected by its core network. The ISP's core network consists of several routers connected by means of high-bandwidth circuits that may be owned by the ISP or leased from other bandwidth vendors.
Note - The public Internet consists of all the ISP networks and the different servers provided by the ISPs or their customers. The IXPs provide the gateways by which a user on an ISP network can access servers provided by a customer of a different ISP.
The Application Hosting Provider Environment
An application hosting provider is a company that hosts and supports different types of servers on behalf of their customers. Such companies are commonly referred to as Application Services Providers (ASP), which is the acronym I will use in this book. The most common of these providers are Web-hosting companies that provide servers to operate Web sites for individual companies. Examples of such companies are Exodus and IBM Global Services. Exodus primarily provides location services to its customers. For example, it offers space and power supplies to its customers close to one of the major ISP's exchange points. IBM Global Services offers a more comprehensive service, which includes ensuring that the applications and services are up and available. In addition to these major players, many small companies provide services for hosting Web sites as well as Lotus Notes database servers. In 1999, Intel announced a move into a similar business with a plan to open large application-hosting locations.
The most common type of servers outsourced for support and operations are Web servers. However, it is also common to find other types of application servers being hosted. Typical types of application services that are hosted are Web servers, electronic commerce transaction servers, mail servers, groupware servers, and directory servers.
Figure 3.4 shows a simplified configuration of a hosted site. It shows the service provider accessing the Internet through one access router. The access router is typically followed by a firewall that restricts public access from the Internet to only the servers that are intended for this access. The firewall also prevents denial-of-service attacks and otherwise validates access to the server farm. The figure shows two customers, of which Customer 2 has the simpler configuration. Each customer has its own separate LAN on the premises to which a number of servers are attached. Each customer might also have a back-end connection to this LAN through a firewall to one of the customer's intranet campuses. This connectivity is provided so that the customer can administer or update the applications running on its servers. Customer 1 has a somewhat more complex configuration that involves a load balancer. The load balancer is a device that can spray connection requests across multiple machines running the same applications. Several such types of load balancers are available on the market. This customer also has a back-end connection to its intranet for the sake of easy administration.
In this figure, many variations are possible. Instead of a dedicated connection to the customer's intranet campus, the connectivity might be via a secure VPN over the Internet connection. Similarly, the figure shows a firewall insulating the customers from the Internet as well as from each other. In practice, you might have multiple layers of firewalls. For example, one layer might protect the customers from the Internet, and the other layer protects the customers from each other. Layering firewalls in this manner simplifies the filtering rules to be configured at each layer and helps in checking inadvertent security loopholes. Other variations might include replicating many of the functions, such as access routers and firewalls, in order to ensure some level of tolerance of failures of individual boxes.