Interoperability with NetWare |
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.
Figure 12.1 NWLink in Windows 2000 Architecture
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.
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.
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 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 improves upon SPX in the following ways:
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.
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.
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.
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.
Figure 12.3 Packet Header for RIPX
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:
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.
Figure 12.4 SAP Header
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:
Figure 12.5 shows the packet structure for NetBIOS over IPX.
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:
Alternatively, computers can communicate directly over IPX, through direct hosting. For information about direct hosting, see "IPX," earlier in this chapter.
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.