Internet Connection Sharing

Internet Connection Sharing (ICS) is the name given by Microsoft to a feature of its Windows operating system (as of Windows 98 Second Edition and later) for sharing a single Internet connection on one computer between other computers on the same local area network. It makes use of DHCP and Network address translation (NAT).

ICS routes TCP/IP packets from a small LAN to the Internet. ICS maps individual IP addresses of local computers to unused port numbers in the TCP/IP stack. Due to the nature of the NAT, IP addresses on the local computer are not visible on the Internet. All packets leaving or entering the LAN are sent from or to the IP address of the external adapter on the ICS host computer.

On the host computer the shared connection is made available to other computers by enabling ICS in Network Connections, and other computers that will connect to and use the shared connection. Therefore, ICS requires two or more network interface cards.

ICS offers configuration for other standard services and some configuration of NAT.

Limitation
However, while ICS makes use of DHCP, there is no way to review (renew?) DHCP leases using ICS. The service is also not customizable in terms of which addresses are used for the internal subnet, and contains no provisions for bandwidth limiting or other features common to more advanced systems, that can be also combined with Wi-Fi and dial-up mobile modems.

The server will normally have the IP address 192.168.0.1 (the IP Address is changeable) and will provide NAT services to the whole 192.168.0.x subnet, even if the address on the client was set manually, not by the DHCP server. Windows 7 uses the subnet 192.168.137.x by default.

Troubleshoot
Besides making sure that the firewall settings are correct, for Windows XP host with more than one Ethernet interface cards and a wireless WAN connection, bridging the Ethernet interface cards may help eliminating some ICS malfunction problems. It is found from repeated testing that without bridging, ICS may not work correctly if only one of the several Ethernet cards is selected from the wireless connection's Internet Connection Sharing option drop down box. [needs citation]

Windows XP SP3 Bug
Windows XP Service Pack 3 (SP3) introduces a bug in ICS that requires restarting the ICS Windows service after several events, including disconnecting the network cable from the ICS machine.
 * In Microsoft support article KB951446, the process of restarting the ICS service is explained, but there is no mention of a plan to fix this bug in the future.
 * In later Microsoft support article KB951830, more details and a hotfix (Update for Windows XP (KB951830)) are given. This hotfix is not currently being distributed via Windows Update, and so it must be manually installed.

Dial-up computer freeze
There is a problem with ICS and the IPv6 protocol. It causes a temporary lock eliminating the possibility to begin new processes after connecting with a dial-up modem. Any computers connecting with ICS, using the locked computer as a host will not be able to access the Internet until the lock clears. This lock remains in effect for some arbitrary amount of time, and then any new programs started during that time are all opened at once. The issue is caused by running the "Network Setup Wizard", as it installs IPv6 into the computer it was run on. The problem can be remedied by uninstalling the IPv6 protocol on the affected computer.