Windows 2000 Internet Connection Sharing (ICS)

Microsoft Windows 2000 implements Internet Connection Sharing (ICS) as an integrated feature of Network Address Translation (NAT) designed to allow multiple computers on a small office or home network (SOHO) to access the internet through a single external connection. By acting as a transparent gateway, a single Windows 2000 computer manages the routing, address assignment, and name resolution required for local client machines to communicate over a single shared public IP address.

Core Components of Windows 2000 ICS

Windows 2000 ICS functions by combining three lightweight network services into a single, automated package:

  • Network Address Translation (NAT): The primary engine of ICS. The host computer maintains a state table to track outgoing connections. When an internal computer requests external data, the host substitutes the client’s private IP address with its own public IP address. When incoming packets return, the host translates the destination back to the originating internal host.
  • DHCP Allocator: Rather than requiring a full-fledged dynamic host configuration protocol (DHCP) service, ICS uses a simplified DHCP allocator. It automatically distributes IP addresses, subnet masks, and gateway information to connected client devices without administrative intervention.
  • DNS Proxy: The ICS host intercepts Domain Name System (DNS) queries sent by local computers and forwards them to the ISP's external DNS servers. Once resolved, the host returns the IP addresses to the local clients, eliminating the need to manually configure external DNS servers on every workstation.

Network Architecture and IP Scheme

To deploy ICS, the Windows 2000 host computer requires two network interfaces: one dedicated to the external internet (such as a dial-up modem, ISDN, cable modem, or DSL connection) and one connected to the local area network (LAN adapter).

When ICS is enabled:

  1. The host computer automatically assigns its internal LAN adapter the static IP address 192.168.0.1 with a subnet mask of 255.255.255.0.
  2. The built-in DHCP allocator reserves the 192.168.0.x address space, dynamically assigning client devices IP addresses ranging from 192.168.0.2 to 192.168.0.254.
  3. Client devices designate 192.168.0.1 as both their default gateway and primary DNS server.

Traffic Flow and Operation

When a client computer generates outbound internet traffic, the packet arrives at the internal interface of the Windows 2000 host (192.168.0.1). The NAT service rewrites the packet header, replacing the client's internal IP address and local port number with the host's public IP address and a dynamically assigned port.

The modified packet is then transmitted out of the host's external interface. When remote servers send response packets, the host references its internal translation table to identify the original client computer, restores the internal IP address in the packet header, and forwards the data across the local network to the client.

Configuration and Constraints

Enabling ICS in Windows 2000 is managed through the Network and Dial-up Connections control panel. An administrator accesses the properties of the external connection, navigates to the Sharing tab, and checks the box to enable Internet Connection Sharing.

Because Windows 2000 ICS is tailored for small, unmanaged environments, it contains inherent operational constraints:

  • The host IP address is hardcoded to 192.168.0.1 and cannot be modified without disabling ICS.
  • It cannot coexist on networks with pre-existing DHCP servers, Active Directory domain controllers, or existing DNS servers, as IP conflicts will disrupt automatic addressing.
  • It does not support complex routing protocols or deep packet inspection; advanced configurations require the full Routing and Remote Access Service (RRAS) instead of basic ICS.