NWLink Architecture

NWLink provides a comprehensive set of transport and network layer protocols that allow for integration with the NetWare environment. Table 12.1 lists the sub-protocols and components and shows their function and associated drivers.

Table   12.1 NWLink Protocols

Protocol

Function

Driver

IPX

Provides connectionless datagram transfer services.

Nwlnkipx.sys

SPX and SPXII

Provide connection-oriented transfer services.

Nwlnkspx.sys

RIP

Provides route and router discovery services.

Nwlnkipx.sys

SAP

Collects and distributes service names and addresses.

Nwlnkipx.sys

NetBIOS

Provides compatible support with NetBIOS for IPX/SPX run on NetWare servers.

Nwlnknb.sys

Forwarder

Provides IPX router support.

Nwlnkfwd.sys

Figure 12.1 illustrates NWLink in the Windows 2000 architecture and the files in which each protocol is implemented.

Cc976900.INCE01(en-us,TechNet.10).gif

Figure 12.1 NWLink in Windows 2000 Architecture

IPX

IPX is a peer-to-peer networking protocol that provides connectionless datagram transfer services and controls addressing and routing of packets of data within and between network segments. With connectionless transmission, a session does not need to be set up each time packets are transmitted; packets are simply sent out on the wire. This requires less overhead than connection-oriented transmission, in which a session must be established each time packets are transmitted. Therefore, connectionless transmission is best when data is generated in intermittent short bursts.

Because IPX is a connectionless protocol, it does not provide for flow control or acknowledgment that the receiving station has received the datagram packet. Instead, individual datagram packets travel independently to their destination. There is no guarantee that packets arrive at their destination or that they arrive in sequence. However, because transmission on local area networks (LANs) is relatively error-free, IPX is efficient in delivering short burst data on LANs.

NWLink enables application programming for Windows Sockets and remote procedure calls (RPCs) over Windows Sockets. IPX supports Windows Socket IDs for use by Windows Sockets applications. IPX enables NetBIOS, Named Pipes, Mailslot, Network Dynamic Data Exchange (NetDDE), RPC over NetBIOS; and RPC over Named Pipes programming over NBIPX. NWLink also supports other applications that use IPX, through direct hosting. Direct hosting is a feature that allows computers to communicate over IPX, bypassing the NetBIOS layer. Direct hosting can lower overhead and increase throughput.

IPX Packet Structure

The IPX packet is encapsulated within the data field of an IEEE frame and immediately follows the media and data link layer headers (such as Ethernet, Token Ring, or FDDI). The first 30 bytes of an IPX packet contain the header information, shown in Figure 12.2. The remaining bytes contain the packet's data. For example, the data might be a client's request for service, a response from a server, or text information.

Figure 12.2 shows the basic IPX header structure.

Cc976900.INCE17(en-us,TechNet.10).gif

Figure 12.2 IPX Header Structure

For more detailed information about IPX or the IPX header structure, see "IPX Routing" in this book.

For more information about IEEE frame types, see "NWLink and Supported IPX Frame Types" later in this chapter.

SPX

SPX is a transport protocol that offers connection-oriented services over IPX. Although connection-oriented service requires overhead for session setup, once a session is established, connection-oriented service requires less overhead for data transmission than connectionless service. Therefore, it works best for utilities that require a continuous connection. SPX provides reliable delivery through sequencing and acknowledgments and verifies successful packet delivery to any network destination by requesting a verification from the destination upon receipt of the data. SPX can track data transmissions consisting of a series of separate packets. If an acknowledgment request brings no response within a specified time, SPX retransmits the request for a total of eight times. If no response is received, SPX assumes the connection has failed.

SPXII

SPXII improves upon SPX in the following ways:

  • SPXII allows for more outstanding unacknowledged packets than SPX.
    In SPX, there cannot be more than one outstanding unacknowledged packet at any time, while in SPXII, there can be as many outstanding packets as negotiated by the networked peers at connection setup time.

  • SPXII allows for larger packets.
    SPX has a maximum packet size of 576 bytes, while SPXII can use the maximum packet size of the underlying LAN. For example, on an Ethernet network SPXII can use 1518 bytes.

  • SPXII provides a packet burst mechanism.
    Packet burst, also known as burst mode, allows the transfer of multiple data packets without requiring that each packet be sequenced and acknowledged individually. By allowing multiple packets to be acknowledged once, burst mode can reduce network traffic on most IPX networks. Additionally, the packet burst mechanism monitors for dropped packets and retransmits only the missing packets.
    In Windows 2000, burst mode is enabled by default.

RIP

NWLink uses RIP over IPX (RIPX) to implement route and router discovery services used by SPX and NBIPX. Clients use RIP to determine the forwarding MAC address for outbound traffic. RIP runs on a layer equivalent to the OSI application layer. The RIP code is implemented within the Nwlnkipx.sys file.

NWLink includes the RIP protocol for Windows-based clients and for computers running Windows 2000 Server that do not have Routing and Remote Access service installed. These computers do not forward packets as routers do, but they use a RIP table to determine where to send packets. RIP clients, such as workstations, can locate the optimal route to an IPX network number by broadcasting a RIP GetLocalTarget route request. Each router that can reach the destination, responds to the GetLocalTarget route request with a single route. Based on the RIP responses from the local routers, the sending station chooses the best router to forward the IPX packet. However, clients using the RIP protocol without Routing and Remote Access service do not forward packets.

The RIP for IPX (RIPX) packet header comes immediately after the IPX packet header. Figure 12.3 shows the packet header.

Cc976900.INCE18(en-us,TechNet.10).gif

Figure 12.3 Packet Header for RIPX

SAP

Service Advertising Protocol (SAP) is the protocol routers use to distribute the names and addresses of services running on IPX nodes.

SAP clients use SAP broadcasts only when bindery-based or NDS queries fail. SAP clients send the following types of messages:

  • SAP clients request the name and address of the nearest server of a specific type by broadcasting a SAP GetNearestServer request.

  • SAP clients request the names and addresses of all services, or of all services of a specific type, by broadcasting a SAP general service request.

NWLink includes a subset of the SAP protocol for Windows-based clients and for computers running Windows 2000 Server that do not have IPX router installed.

For information about IPX routing, see "IPX Routing" in this book.

The SAP header immediately follows the IPX header. Figure 12.4 shows the SAP header.

Cc976900.INCE19(en-us,TechNet.10).gif

Figure 12.4 SAP Header

NetBIOS Over IPX

To facilitate the operation of NetBIOS-based applications on an IPX internetwork, NetBIOS over IPX (NWLnkNB.sys) provides standard NetBIOS services such as the following:

  • Datagrams - single packets sent without acknowledgment. One example of a datagram is a broadcast.

  • Sessions - multiple packets sent with acknowledgments between two endpoints.

  • Name management - registering, querying, and releasing NetBIOS names.

Figure 12.5 shows the packet structure for NetBIOS over IPX.

Cc976900.INCE20(en-us,TechNet.10).gif

Figure 12.5 Packet Structure for NetBIOS over IPX

NWLnkNB is responsible for formatting NetBIOS-level requests and passing them to NWLink for transmission on the network. NWLnkNB includes the following performance enhancements:

  • PiggyBackAck, which is an acknowledgment of previous frames within the response frames.

  • A sliding window acknowledgment mechanism, which is a dynamic window–sizing algorithm that allows burst mode to adjust the number of frames that it can send.

Alternatively, computers can communicate directly over IPX, through direct hosting. For information about direct hosting, see "IPX," earlier in this chapter.

Forwarder

The Forwarder component is installed with NWLink but is used only when the Windows 2000–based server is used as an IPX router running Routing and Remote Access service. It operates in kernel mode.

When the IPX router software is activated, the Forwarder component works with the IPX Router Manager and the filtering component to forward packets. The Forwarder component obtains configuration information from the IPX Router Manager and stores a table of the best routes. When the Forwarder component receives an incoming packet, it passes it to the filtering driver so the filtering driver can check for input filters. When it receives an outgoing packet, it first passes it to the filtering driver. Assuming no outgoing filters prevent the packet from being transmitted, the filtering component passes the packet back, and then the Forwarder component forwards the packet over the appropriate interface.

For more information about the Forwarder in Windows 2000 IPX routing services, see "Routing and Remote Access Service" in this book.