Network Driver Interface Specification and TCP/IP

NDIS 5.0 includes the following extensions:

  • NDIS power management (required for Network Power Management and Network Wakeup).

  • Plug-and-play.

  • Task offload mechanisms for tasks such as TCP and UDP checksum, and fast packet forwarding.

  • Support for QoS.

  • Intermediate Driver Support (required for Broadcast PC, virtual local area networks (VLANs), Packet Scheduling for QoS, and for NDIS support of IEEE 1394 network devices).

NDIS can power down network adapters when the system requests a power level change. Either the user or the system can initiate this request. For example, the user might want to put the computer in sleep mode, or the system might request a power level change based on keyboard or mouse inactivity. In addition, disconnecting the network cable can initiate a power down request provided that the network adapter supports this functionality. In this case, the system waits a configurable time period before powering down the network adapter because the disconnect could be the result of temporary wiring changes on the network rather than the disconnection of a cable from the network device itself.

NDIS power management policy is based on no network activity. This means that all overlying network components must agree to the request before the network adaptercan be powered down. If there are any active sessions or open files over the network, the power down request can be refused by any or all of the components involved.

The computer can also be awakened from a lower power state based on network events. A wakeup signal can be caused by:

  • Detection of a change in the network link state (for example, cable reconnect).

  • Receipt of a network wakeup frame.

  • Receipt of a Magic Packet. A Magic Packet is a packet that contains 16 contiguous copies of the receiving network adapter's media access control (MAC) address.

At driver initialization, NDIS queries the capabilities of the miniport driver to determine if it supports such things as Magic Packets, pattern match, or link change wakeups, and to determine the lowest required power state for each wakeup method. The network protocols then query the miniport capabilities. At run time, the protocol sets the wakeup policy using Object Identifiers, such as Enable Wakeup, Set Packet Pattern, and Remove Packet Pattern.

Currently, Microsoft TCP/IP is the only Microsoft protocol stack that supports network power management. It registers the following packet patterns at miniport initialization:

  • Directed IP packet

  • ARP broadcast for station IP address

  • NetBIOS over TCP/IP broadcast for station's assigned computer name

NDIS-compliant drivers are available for a wide variety of network adapters from many vendors. The NDIS interface allows multiple protocol drivers of different types to bind to a single network adapter driver, and allows a single protocol to bind to multiple network adapter drivers. The NDIS specification describes the multiplexing mechanism used to accomplish this. Bindings can be viewed or changed from the Windows 2000 Network and Dial-up Connections folder.

Windows 2000 TCP/IP provides support for:

  • Fiber Distributed Data Interface (FDDI).

  • Token Ring (IEEE 802.5).

  • Asynchronous Transfer Mode (ATM).
    Using LAN Emulation (LANE), ATM LAN cards appear to TCP/IP as an Ethernet card.

  • Attached Resource Computer network (ARCnet).

  • Dedicated wide area network (WAN) links such as Dataphone Digital Service (DDS) and T-carrier (Fractional T1, T1 and T3).

  • Dial-up or permanent circuit switched WAN services such as analog phone, ISDN, and xDSL.

  • Packet switched WAN services such as X.25, Frame Relay, and ATM.

  • Ethernet.
    Ethernet II encapsulation is the default. You can select IEEE 802.3 SNAP encapsulation by changing the value of the ArpUseEtherSNAP registry entry (HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters) to 1. Windows 2000 TCP/IP receives both frame types regardless of the value of ArpUseEtherSNAP .



Do not use a registry editor to edit the registry directly unless you have no alternative. The registry editors bypass the standard safeguards provided by administrative tools. These safeguards prevent you from entering conflicting settings or settings that are likely to degrade performance or damage your system. Editing the registry directly can have serious, unexpected consequences that can prevent the system from starting and require that you reinstall Windows 2000. To configure or customize Windows 2000, use the programs in Control Panel or Microsoft Management Console (MMC) whenever possible.

To select IEEE 802.3 SNAP encapsulation

  1. On the taskbar, click the Start button, and then click Run .

  2. In the Open box, type regedt32.exe , and then click OK .

  3. In a registry editor, navigate to HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.

  4. Select the ArpUseEtherSNAP entry, and change the value to 1.