Windows XP Networking Features and Enhancements
The release of Windows XP signals a proliferation of features that will make networking a richer, more complete and easier experience. This paper will discuss some of the new features or enhancements found in this ground breaking product.
Tom Fout, program manager, Microsoft Corporation
On This Page
With Windows XP, one of Microsoft's primary focuses was to improve the user and administrator experience when networking personal computers. Many of the networking features added or enhanced in Windows XP serve that end.
As more and more home computer users are adding second and third PCs, or bringing laptops home from work, the need to connect these computers together and share resources has increased. Many of the features discussed in this paper, including the Networking Setup Wizard, Network Bridging support, and Network Diagnostics, make home networking easier and more convenient.
Connecting these newly networked home computers to the Internet safely is often the next step following creation of the home network. Some of the networking features added to Windows XP makes the PC the best gateway to the Internet for the home network. These features include Internet Connection Sharing, Point-to-Point Protocol over Ethernet support (PPPOE), and Internet Connection Firewall.
Additional networking enhancements and features have been added to improve the telecommuting or remote user experience, improve user to user communication such as instant messaging, and support more networking media choices for today's networks. This paper also discusses those features.
Windows XP Networking Features and Enhancements
Internet Connection Firewall (ICF)
When a computer is connected to the Internet or other pathway to the outside world, there is the threat of unauthorized attempts to access the computer and data. Whether the computer connecting to the external network is a standalone computer, or is acting as a gateway for a network behind the computer (see Internet Connection Sharing below), a firewall can guard your home network against the threat of unsafe network traffic while allowing appropriate network traffic to pass.
Windows XP includes the Internet Connection Firewall to be used to protect your computers and home networks connected in such a manner. This software-based firewall is enabled automatically when the Network Setup Wizard (below) is run; setting your firewall up with default settings that will work for most networks. The firewall can also be enabled or disabled manually through the Network Connections folder.
The Internet Connection Firewall monitors connections and traffic that originated from inside the firewall to use in determining what traffic should be allowed from the external network. Traffic originating from the external network will not be allowed through the firewall by default. When hosting services or programs (such as a web server) behind the firewall, these settings can be changed to suit your needs.
For more information on ICF, refer to the Windows XP online help.
Internet Connection Sharing (ICS) Enhancements
Windows 2000 included ICS to enable sharing of a single Internet connection among all of the computers on a home or small office network. The computer connected to the Internet would have ICS enabled and provide addressing and network address translation services for all of the computers on the network.
Besides providing a DHCP allocator for automatic addressing and a DNS proxy for name resolution, the Windows XP ICS service has also been enhanced to leverage Universal Plug and Play (UPnP) in Windows XP.
ICS participates in the UPnP network as a device hosted on Windows XP, announcing its presence on the network periodically. Windows XP ICS clients use UPnP to detect and locate ICS hosts on the network. Once discovered, UPnP is used to access and control the ICS host.
The system running ICS broadcasts information about the status of the service to the network, including connection status, uptime, and statistics. ICS will also broadcast whenever there is a change in the service's state, such as connection or disconnection.
The client can then use UPnP to perform various actions against ICS. These actions include the ability to connect or disconnect ICS, to list network address translation port mappings, or to create or modify port mappings. This enables clients internal to the network to accept incoming connections.
For more information on ICS, refer to the Windows XP online help.
Network Bridging Support
When building a network in a home or small office, you may find that a particular network medium works well in one area of the network, but not in another. For example, several computers may be located near telephone jacks enabling them to be connected using HomePNA networking devices. Other computers may be nowhere near a phone jack, requiring selection of another network medium such as wireless. Many medium types are supported by Windows XP, including Ethernet, Phoneline, Wireless and IEEE 1394.
Traditionally, connecting these networks together would require configuring multiple IP address sub-networks and routers to connect the different mediums together. The Network Bridge enables a Windows XP system to act as a bridge for these multiples network mediums. When multiple network connections are added to a Windows XP system and the Network Setup Wizard used to configure the system, the Network Bridge will automatically bridge the networks for you.
This results in a network configuration consisting of a single, easily configured network segment connecting all network mediums. The Windows XP Network Bridge will forward packets on the appropriate segments based on the device address and maintain information about what system is on which physical medium.
For more information on the Network Bridge, refer to the Windows XP online help.
Quality of Service (QoS) Enhancement for Home Networks
When a home network is connected to a corporate or other network through a slow link, such as a dial-up line, a situation can exist that will increase the delay on traffic traversing the slow link.
If the receiving client is running on a relatively fast network (100Mb/s Ethernet for example) behind an Internet Connection Sharing (ICS) box and the server this receiver is communicating with behind the remote access box is using a fast network, the mismatch exists. In this scenario, the receiver's receive window is set to a large value based on the speed of the link connected to. The sender starts out sending at a slow rate, but since packets aren't lost, eventually increases to sending nearly a full windows size of packets.
This can affect the performance of other TCP connections that traverse the same network, making their packets wait in this potentially large queue. If packet loss occurs, a full windows size has to be retransmitted further congesting the link.
The solution to this is to have the ICS box on the edge of the network set the receive window to a smaller size appropriate to the slow link, overriding the receiver's specification. This setting will not adversely affect traffic as the window size is being set as it would were the receiver connected directly to the slow link. The QoS packet scheduler component running on the ICS box makes this window adjustment.
For more information on the QoS packet scheduler, refer to the Windows XP online help. Additional information on QoS can be found in the Windows 2000 technical library at http://www.microsoft.com/windows2000/technologies/communications/default.asp
Network Setup Wizard
Windows XP provides you with a Network Setup wizard to ease the task of setting up your network. This wizard allows you to configure the Internet connection the computers on your network will use, enable the Internet Connection Firewall, configure the network adapters on your computer and enable the Network Bridge if appropriate, share files and printers and name your computers. The network setup wizard can be run on the Windows 98, Windows ME and Windows XP computers on your network using the CD or a floppy disk.
For more information on the Network Setup Wizard, refer to the Windows XP online help.
Network Diagnostics Features
Network diagnostics features were added to Windows XP to support diagnosing network problems. With increasing numbers of people setting up small networks, these features enable troubleshooting of what can be complex problems by nearly any level user.
The Network Diagnostics Web Page and NetSh helper – The Network Diagnostics web page can be instantiated from multiple locations, including the Network Connections folder, the Tools section of Help and Support, or the Help and Support detailed information section on either troubleshooting or networking. This web page makes it easy to retrieve important information about the local computer and the network it is connected to. The web page also includes various tests for troubleshooting network problems. In addition, a NetSh helper DLL is provided to enable execution of more extensive tests than the web page, but from a command line. This helper is accessed from the 'diag' context of NetSh.
Network Connections Support Tab – The Status page for each network connection in the Network Connections folder now includes a Support tab. From this tab, information and tasks previously provided in Windows through the IP configuration tool, Winipcfg.exe, are provided. Part of this includes the Repair option, used to try and reset your network connection to a working state.
Network Connection Repair Link – Sometimes the computers network configuration can get into a state that prohibits network communication, but can be repaired through a set of common procedures such as renewing the IP address and DNS name registrations. To avoid having to take these steps by hand, a Repair link has been added to the network connection's context menu. Choosing this option causes a series of steps to be taken that could very likely solve communication problems but are known not to cause worse problems.
Task Manager Networking Tab – A Networking tab has been added to Task Manager that will display real time networking metrics for each network adapter in the system. This tool will provide a quick look at how the network is performing.
Updated Command Line Network Diagnostics Tool – Part of the support tools that come on the Windows XP installation CD, netdiag.exe is a command line diagnostics tool enhanced from the version provided in the Windows 2000 resource kit.
For more information on Network Diagnostics, refer to the Windows XP online help and the diagnostics tools described above.
UPnP Client Support
Windows XP includes complete support for Universal Plug and Play Control Point applications.
A set of COM interfaces are available on Windows XP that allow an application to discover UPnP devices on the network, retrieve information about those devices and the services they provide, and control those services through executing exposed methods. This UPnP implementation enables the application to only be concerned about accessing the available devices and not about UPnP specific protocols. A UI component can be added to enable UPnP devices to be displayed in My Network Places.
For more information on UPnP, refer to the Windows XP online help and the Windows Platform SDK.
Network Location Awareness and Winsock API Enhancements
Windows XP includes components that detect information about the network the system is attached to. This allows for seamless configuration of the network stack for that location. This information is also made available through a Windows Sockets API, allowing applications to retrieve information about the current network or be notified when the network information changes.
Components in Windows XP also use the network location to provide the appropriate services. For example, the Network Setup wizard will use the location information for multiple adapters in the system to figure out which device is your connection to the Internet. The group policy for ICF is also location aware. ICF will check to see if group policy is set, and then use location information to determine how to apply the policy.
Additional Microsoft extensions to Windows Sockets have been added to Windows XP. This includes ConnectEx() – Used to send a block of data after establishing a connection and TransmitPackets() – Used to transmit in memory and/or file data over a connected socket.
For more information on NLA and the Windows Sockets API, refer to the Windows XP online help and the Windows Platform SDK.
Wireless LAN Enhancements
Several features and enhancements have been added to Windows XP to improve the experience in deploying Wireless LAN networks. These enhancements are summarized here.
Enhanced Ethernet and Wireless Security (IEEE 802.1X Support) – Previously wireless LAN networking lacked an easy to deploy security solution with a key management system Microsoft and several Wireless LAN and PC vendors worked with the IEEE to define IEEE 802.1X, a standard for port-based network access control. This is applicable to Ethernet or Wireless LANs. Microsoft has implemented IEEE 802.1X support in Windows XP and worked with wireless LAN vendors to support the standard in their access points.
Wireless Zero Configuration – In conjunction with the wireless network adapter, Windows XP can choose from available networks to configure connections to preferred networks without user intervention. Settings for specific networks can be saved and automatically used the next time that network is associated with. In the absence of an infrastructure network, Windows XP can configure the wireless adapter to use ad-hoc networking.
Wireless Roaming Support - Windows 2000 included enhancements for detecting the availability of a network and acting appropriately. These enhancements have been extended and supplemented in Windows XP to support the transitional nature of a wireless network. Features added in Windows XP include re-authentication when necessary and choosing from multiple configuration options based on the network connected to.
IPv6 Development Stack
Windows XP includes a complete IP version 6 protocol stack. The stack is intended as a development stack to enable and assist developers in making their applications IPv6 capable. This allows for a head start in preparing for the inevitable migration to IPv6 networks. A later version of Windows will include a production level IPv6 protocol stack.
For more information on IPv6, refer to the Windows XP online help, the Windows Platform SDK, the Windows 2000 technical library at http://www.microsoft.com/windows2000/techinfo/howitworks/communications/nameadrmgmt/introipv6.asp.
Remote Access uses Credential Manager "Key Ring"
Windows XP includes a Credential Manager Key Ring feature that maintains a "key ring" containing multiple sets of different credentials that have been used on the system. This allows you to access multiple networks (with different credentials- username and password) at the same time, without having to continually re-enter credentials in response to prompts. Information about the network resource you are connecting to (such as the server name and domain name) is used to select the appropriate credential on the key ring. Remote Access participates in the key ring by adding a temporary default credential whenever a dial-up or VPN connection is successfully established. This credential contains the username and password that were used in setting up the connection since these are often the same credentials that will enable access to the resources on that network. This makes the experience of connecting to a remote network and using resources on both that network and your local network seamless.
Connection Manager (CM) and Connection Manager Administration Kit (CMAK) Updates
The Microsoft Connection Manager is client dialer and connection management software that can be customized using the Connection Manager Administration kit. CM and CMAK have been available in Windows for some time, and have been updated and enhanced with Windows XP. The following changes have been made.
CMAK now includes UI additions that weren't present in previous versions. These additions allow administrations to configure the full range of options and enables configuration of options beyond what is available in the UI.
CM now supports split tunneling – the ability to access a secure VPN tunnel and still access the internet. Specific routes can be added for the network just reached.
CM has added a favorites feature that allows a user to save frequently used settings. This could include, for example, settings for various hotels you use while traveling.
CM has added client side logging capability to aid in diagnosing connection problems.
CM now provides UI for callback. This wasn't present in Windows 2000.
The CM properties page now provides controlled access to a page for ICS and ICF.
For more information on CM and CMAK, refer to the Windows XP online help.
Windows XP includes the ability to create connections using Point-to-Point Protocol over Ethernet (PPPoE). Using Point-to-Point Protocol over Ethernet (PPPoE) and a broadband modem, LAN users can gain individual authenticated access to high-speed data networks. By combining Ethernet and Point-to-Point Protocol (PPP), PPPoE provides an efficient way to create a separate connection for each user to a remote server. Access, billing, and choice of service are managed on a per-user basis, rather than a per-site basis.
Having this ability built into Windows XP allow you to leverage built in services like Internet Connection Sharing and Internet Connection Firewall. It also enables your connections to integrate seamlessly with Internet Explorer and other Windows applications.
For more information on the PPPOE client, refer to the Windows XP online help or the Internet RFC 2516.
PVC Encapsulation – RFC 2684
Windows XP includes an implementation of Internet RFC 2684. This was added to making DSL simpler for vendors to implement. The implementation is an NDIS intermediate driver that looks like an Ethernet interface, but uses an DSL/ATM PVC to carry Ethernet (or TCP/IP only) frames. This mechanism is commonly used in the industry by carriers and others deploying DSL. With Windows XP and an ATM miniport driver for a DSL device the deployment can use the following protocol configurations.
TCP/IP->PPPoA (PPP over ATM)->vendor xDSL ATM miniport
TCP/IP->RFC2684 (4 encapsulation types)->vendor xDSL ATM miniport
TCP/IP->PPPoE (PPP over Ethernet)->RFC2684 (4 encapsulation types)->vendor xDSL ATM miniport
In addition, 802.1X authentication can be added to the RFC 2684 Ethernet interface. This variety of options meets the needs of a majority of DSL deployments.
For More Information See:
NDIS 5.1 and Remote NDIS
The interface network cards and their drivers use to make the physical network available to the operating system and protocols was enhanced in Windows XP. Several enhancements were made, including:
Plug and Play and Power Event Notification – Enables network card miniport drivers to be notified of power or plug and play events. This results in cleaner system operation during these events.
Support for Send Cancellation – Allows network protocols to avoid having to wait inordinate amounts of time for network packet send requests to complete.
Increased Statistics Capacity (64-bit statistic counters) – This enhancement enables accurate network statistic displays, even on today's high speed network mediums.
Performance Enhancements – Several enhancements were made to speed up the critical network data paths and avoid unnecessary packet copies.
Miscellaneous Changes – Several additional changes have been made to support common needs or requests from driver developers or to improve driver integrity.
Wake on LAN change – A change was made to Wake on LAN to allow you to limit wake up packets to just magic packets (instead of protocol registered packet patterns). This is now configurable on the Power Management tab of the NIC device property page.
Remote NDIS is also included as part of Windows XP. Remote NDIS enables the support of USB attached network devices without the installation of third party drivers. Microsoft supplies the drivers required to communicate with the network devices. This results in easier installation and a lessened chance of system failure because of a poorly built or tested driver.
For more information on NDIS 5.1 and Remote NDIS, refer to the Windows XP DDK and the following web pages:
Internet Protocol over IEEE 1394 (IP/1394)
The ability to network computers and devices on IEEE 1394 using TCP/IP has been added to Windows XP. With this capability, a new network medium is available that is commonly used to connect audio and video equipment. This feature includes enhancements in Windows XP to perform translational bridging of TCP/IP frames between IEEE 1394 and the other IEEE 802 interfaces. To do this, Windows XP uses the Network Bridge already discussed.
For More Information See:
Improved Network Media Support
Support for some of the newest network devices has been added to Windows XP and is supported out of the box. This includes support for many new Home Networking devices.
Most of the new HomePNA (Phoneline) devices are supported. Most USB connected network devices are supported in Windows XP, some using Remote NDIS eliminating the need for additional drivers.
Support for 802.11 wireless devices has improved from previous operating system releases. Many of these devices also support wireless zero configuration and roaming features in Windows XP.
The modem support in Windows has been extended in Windows XP to include many soft modems.
IrCOMM Modem Driver for IrDA
The IrCOMM modem driver in Windows XP will allow a user to use their infrared enabled cell phone as a modem. When the cell phone is placed next to the infrared port, it will be enumerated and an appropriate driver installed (or a generic driver if the model is not recognized). A cell phone can then be used just like any other modem to create a network connection.
For more information on the IrCOMM and IrDA, refer to the Windows XP online help.
TAPI 3.1 and TAPI Service Providers (TSP)
Previous Windows operating systems shipped with earlier versions of the Telephony API (TAPI), the most recent being Windows 2000 shipping with TAPI 3.0. TAPI enables applications to be created that provide various types of telephony services to users. Windows XP includes TAPI 3.1.
TAPI 3.1 supports the Microsoft Component Object Model and provides a set of COM objects to the programmer. This enables the use of any COM compatible programming application and scripting languages to write telephony applications.
Also included in Windows XP are TAPI service providers (TSPs) that provide functionality for H.323 based IP telephony and IP multicast audio and video conferencing on TCP/IP networks. This is in addition to the TSPs provided with earlier versions of Windows. The H.323 TSP and media service provider (MSP) provide support for H.323 version 2 functionality.
Also provided with TAPI 3.1:
File Terminals: Allows applications to record streaming data (such as speech or video) to a file and play this recorded data back to a stream.
Pluggable Terminals: Allows a 3rd party to add new terminal object that can be used by any MSP.
USB Phone TSP: Allows an application to control a USB phone and use it as a streaming endpoint.
Auto Discovery of TAPI Servers: Allows clients to discover telephony servers available in the network.
Additionally, for H.323, the following supplementary services (richer call control features) have been implemented.
Call Hold Service (ITU-T Recommendation H.450-2)
Call Transfer Service (ITU-T Recommendation H.450-2)
Call Diversion Services (ITU-T Recommendation H.450-3)
Call Park and Pickup Service (ITU-T Recommendation H.450-5)
For more information on TAPI 3.1 and TSPs, refer to the Windows XP online help and the Windows XP resource kit.
Real Time Communication (RTC) Client APIs
We provide a core set of APIs and the underlying implementation to enable a rich PC to PC communications experience. The RTC Client APIs provide the interface into a full real time communication infrastructure to provide instant messaging, presence, audio/video communications, white boarding and application sharing.
ISVs can build their applications on this infrastructure to provide a rich user to user communications experience. Several components of the operating system will also use this infrastructure, including Messenger and PC Health.
In addition to PC to PC communications, the API also provides a way for the application to enable PC to phone and phone to phone telephony features.
For more information on the RTC client API, refer to the Windows Platform SDK.
For More Information
For the latest information on Windows XP, check out our Web site at http://www.microsoft.com/technet/community/chats/trans/default.mspx#XSLTsection152121120120.