Previous | Next

Microsoft TCP/IP Protocol

Microsoft Transmission Control Protocol/Internet Protocol (TCP/IP) provides communication across interconnected networks that use diverse hardware architectures and various operating systems. TCP/IP can be used to communicate with computers running Windows 98, with devices using other Microsoft networking products, or with non-Microsoft systems such as UNIX.

Microsoft TCP/IP in Windows 98 extends the functionality that Microsoft TCP/IP offered in Windows 95. In Windows 95, Microsoft TCP/IP provided the following elements:

With Windows 98, the following enhancements are added:

For information about the Resource Reservation Protocol (RSVP) and Generic Quality of Service (GQoS) architecture, see Chapter 29, "Windows 98 Network Architecture." For more information about GQoS, see also the specification on ftp://ftp.microsoft.com/bussys/winsock/winsock2/. For more information about RSVP, see also the Internet Engineering Task Force (IETF) RSVP specification at http://www.ietf.org.

For other RFCs and Internet drafts listed above, see http://www.ietf.org.

Planning for TCP/IP

This section gives a broad overview of IP addressing. Then it presents a few common types of networks and explains issues you might want to consider when implementing each type of network.

For information about the architecture of TCP/IP and its Windows Sockets 2 socket API, see Chapter 29, "Windows 98 Network Architecture."

For more conceptual information about TCP/IP, information about routing, and information about using TCP/IP in a large installation with Windows NT Server, see the following publications:

See also the TCP/IP white paper "Microsoft TCP/IP and Windows 95 Networking" at http://www.microsoft.com/win32dev/netwrk/.

For TCP/IP shareware tools such as finger, chat, whois, and nslookup, visit the following Web sites:

Understanding IP Addressing

Each workstation needs an IP address to communicate on a TCP/IP network such as the corporate network or the global public Internet. The section "Configuring IP Addresses" later in this chapter describes IP addresses in more detail, but for now it is just important to understand that there are two kinds of IP addresses, globally unique IP addresses and private IP addresses.

Depending on your needs, you can use either private IP addresses or globally unique IP addresses for each workstation. You could also use both a private IP address and a globally unique IP address if you have a multihomed computer (a computer that has two different adapters, each connected to a different network). For example, a workstation could be connected both to the corporate network (using an adapter that is configured with a private IP address) and to the Internet (using a dial-up adapter that is configured with a globally unique IP address). For information about multihoming and this type of special configuration, see the section "Configuring Multihoming" later in this chapter.

Regardless of the type of IP address you choose, you have two options for configuring the IP addresses:

For more information about automatic private IP addressing, see "Configuring IP Addresses Using Automatic Private IP Addressing" later in this chapter.

For more information about DHCP, see "Automatically Configuring IP Addresses with DHCP" later in this chapter.

Planning for a Dial-Up Networking Connection to the Internet

If you plan to use Dial-Up Networking to connect to the Internet, you must configure the Dial-Up Networking connection. Your ISP might automatically assign you an IP address. If not, you must configure information such as the following:

For more information about creating a Dial-Up Networking connection, see Chapter 19, "Remote Networking and Mobile Computing."

For more information about configuring an IP address for a Dial-Up Networking connection, see Chapter 20, "Internet Access and Tools."

Planning for Small Networks

Figure 15.1 shows an example of a small (single-subnet) network that is connected to the Internet by a gateway. In this example, all the computers use globally unique IP addresses and are all visible on the Internet.

Figure 15.1 Small network with gateway

For this type of network, you must obtain a network ID that is valid on the Internet. You must also configure a gateway to reach the Internet, and each computer needs the address of the gateway in order to reach the Internet. A Windows 98 computer cannot be configured to act as a gateway.

For addressing, you should add a DHCP server and let it automatically assign IP addresses. You could also use static IP addressing, but to do so you must manually configure each computer not only now but whenever you make a change to your network that requires new IP addresses.

Now, suppose that the network includes a NAT. You must still obtain a network ID that is valid on the Internet, configure a gateway to reach the Internet, and configure each computer with the address of the gateway. Also, you can still use either DHCP or static addressing. However, because the NAT shields the IP addresses on your network from the Internet, you can also use private IP addressing. On a simple LAN you can use either DHCP to assign private IP addresses, or you can use the automatic private IP addressing feature to let the computer assign itself a unique private address on the LAN.

Planning for Large Networks

Figure 15.2 shows an example of a large network that is divided into several subnetworks and is connected to the Internet by a gateway.

Figure 15.2 Large network with gateway

As with the previous example, you must obtain a network ID that is valid on the Internet. You must also set up one or more gateways. If you have multiple gateways, at least one must be configured as the default gateway (the gateway that is used to connect to the rest of the network). For more information about default gateways, see the section "Configuring Multihoming" later in this chapter.

For this type of network, you should use DHCP addressing. If your network does include a NAT, you can assign private IP addresses to each computer, but you should not do so using the Windows 98 automatic private IP addressing feature because the automatic private IP addressing feature guarantees uniqueness only on a LAN-per-LAN basis. Computers that use the automatic private IP addressing feature can communicate only with computers in their immediate subnet. Thus, you should use DHCP when there are routers on the network, even if each computer uses private IP addresses. You could, however, use the automatic private IP addressing feature as a backup method if your DHCP server fails.

If your computer does not include a proxy server or a NAT firewall and you want your machines to communicate on the Internet, you must use DHCP for IP address assignment and not the automatic private IP addressing feature.

Installing Microsoft TCP/IP

Setup installs Microsoft TCP/IP by default if you are installing Windows 98 (instead of upgrading to Windows 98) and you have a network adapter or modem in your computer. If you are upgrading to Windows 98, however, Setup generally keeps your network configuration and you will need to install Microsoft TCP/IP if you want to use it.

If your original Windows installation included a third-party TCP/IP protocol stack, Setup keeps the existing TCP/IP protocol stack instead of installing Microsoft TCP/IP. However, you might want to use Microsoft TCP/IP instead. For example, many third-party TCP/IP stacks do not yet support Windows Sockets 2. If you want to use Microsoft TCP/IP instead of your third-party stack, you must uninstall the third-party stack by using the uninstall utility provided by your network vendor, then install Microsoft TCP/IP.

To install Microsoft TCP/IP after Windows 98 Setup

  1. In Control Panel, double-click Network.
  2. On the Configuration tab, click Add.
  3. Select Protocol.
  4. Click Add.
  5. In Manufacturers, select Microsoft.
  6. In Network Protocols, select TCP/IP.
  7. Click OK.

Configuring TCP/IP

This section discusses the following topics:

Configuring IP Addresses

Every computer on a TCP/IP network is identified by a unique 32-bit IP address, which also specifies routing information in an internetwork. An IP address looks like this:

172.16.94.97

This is referred to as dotted decimal notation, with each eight bits of an IP address (called an octet) separated from the next eight bits by a period. An IP address is a single value that contains two pieces of information:

Each host on the network uses the network ID and host ID to determine which packets it should receive or ignore, and to determine the scope of its transmissions (only hosts with the same network ID accept each other’s IP-level broadcasts).

The Internet community uses address classes to differentiate networks of various sizes. The network class can be determined from the first octet of its IP address. Table 15.1 summarizes the relationship between the first octet of an IP address and its network ID and host ID, using w.x.y.z. to designate the four octets of the IP address. As Table 15.1 shows, the value of the first octet determines which portion of the IP address will be the network ID and which portion will be the host ID.

For example, the first octet of the sample IP address 172.16.34.1 is 172. The w values portion of Table 15.1 shows that if the first octet has a value of 128-191, it is a Class B address. Thus, the sample IP address is a Class B address. Its first octet (172) is the network ID, and the remaining octets (16.34.1) are its host ID.

Note

The sample IP addresses used in this chapter are private IP addresses, not IP addresses that are valid on the global Internet.

The table also identifies the total number of network IDs and host IDs for each address class that participates in the Internet addressing scheme.

Table 15.1 IP address classes


Class

w values1, 2

Network ID

Host ID
Available networks Available hosts per net
A 1–126 w x.y.z 126 16,777,214
B 128–191 w.x y.z 16,384 65,534
C 192–223 w.x.y z 2,097,151 254
1 Inclusive range for the first octet in the IP address.

1 The address 127 is reserved for loopback testing and interprocess communication on the local computer; it is not a valid network address. Addresses 224 and above are reserved for special protocols (IGMP multicasting and others), and cannot be used as host addresses.


Because the sender’s IP address is included in every outgoing IP packet, the receiving computer can derive the originating network ID and host ID from the IP address field. This is done by using subnet masks, which are 32-bit values that allow the recipient of IP packets to distinguish the network ID and host ID portions of the IP address.

The value of a subnet mask can also be represented in dotted decimal notation. Subnet masks are determined by assigning ones to bits that belong to the network ID and zeroes to bits that belong to the host ID. When the bits are in place, the 32-bit value is converted to dotted decimal notation, as shown in Table 15.2.

Table 15.2 Default subnet masks for standard IP address classes

Address class Bits for subnet mask Subnet mask
Class A 11111111 00000000 00000000 00000000 255.0.0.0
Class B 11111111 11111111 00000000 00000000 255.255.0.0
Class C 11111111 11111111 11111111 00000000 255.255.255.0

The result allows TCP/IP to determine the host ID and network ID of the local computer. For example, if the IP address is 172.16.34.1 and the subnet mask is 255.255.0.0, then the network ID is 172.16 and the host ID is 34.1.

Subnet masks are also used to further segment an assigned network ID among several local networks. For example, a network using the Class B network address 10.100 is one of over 16,000 Class B addresses capable of serving more than 65,000 nodes each. But if this corporate network includes 12 international LANs with 75 to 100 nodes each, it is better to use subnetting to make effective use of 10.100 than to apply for 11 more network IDs. In this case, the third octet of the IP address can be used as a subnet ID, using the subnet mask 255.255.255.0, which splits this Class B address into 254 subnets: 10.100.1 through 10.100.254, each of which can have 254 nodes. Any of these network addresses could be assigned to the 12 international LANs in this example. Within each LAN, each computer is assigned a unique host ID, and they all have the subnet mask 255.255.255.0.

Note

All systems connected to the same local area network must have the same subnet mask.

Host IDs 0 and 255 should not be assigned to a computer; they are used as broadcast addresses that are typically recognized by all computers.

Windows 98 provides three methods of IP addressing:

The following sections describe each of the three configurations.

Automatically Configuring IP Addresses with DHCP

In an effort to make implementing the TCP/IP protocol more manageable, Microsoft worked with other industry leaders to create an Internet standard called Dynamic Host Configuration Protocol (DHCP) for the automatic allocation of IP addresses. DHCP is not a Microsoft standard, but a public Request for Comments (RFC 1541) that Microsoft has implemented.

DHCP allows you to establish a range of valid IP addresses to be used per subnetwork. An individual IP address from the range is assigned dynamically to any DHCP client requesting an address. DHCP also allows you to establish a lease time that defines how long an IP address is to remain valid. Other configuration parameters can also be assigned using DHCP, such as subnet mask, DNS and WINS server identification, and so on.

A computer running Windows 98 cannot be a DHCP server. A DHCP server runs as a service on Windows NT Server 3.5 or later. If DHCP is available company-wide, users can move from subnet to subnet and always have a valid IP address. The IP Configuration utility (winipcfg) allows users or administrators to examine the current IP address assigned to the computer, the IP address lease time, and other useful data about the TCP/IP configuration.

When TCP/IP is installed, Windows 98 automatically enables the option to obtain an IP address from a DHCP server. You can disable this option if you want to manually enter IP addresses; however, in general you should not need to disable DHCP.

To disable DHCP

If Microsoft TCP/IP is configured to obtain an IP address from a DHCP server when a DHCP server is not available on the network, an error message announces that the DHCP client could not obtain an IP address and your Windows 98 computer automatically assigns itself a private IP address (using automatic private IP addressing). When the DHCP server becomes available again, it will assign your computer an IP address.

Configuring IP Addresses Using Automatic Private IP Addressing

With Windows 98, Microsoft TCP/IP provides a new mechanism for automatic IP address assignment for simple LAN-based network configurations, called automatic private IP addressing. With automatic private IP addressing, DHCP clients can automatically assign themselves an IP address if a DHCP server is not present. This might happen, for example, on very small networks without a DHCP server, or on any size network if a DHCP server is temporarily down. The DHCP client can use B-node NetBIOS naming to assign the adapter a unique IP address from a special address space. These IP addresses must lie in the following range:

169.254.x.x

These addresses are used only for private, internal addressing and are not valid for hosts that are visible on the global Internet.

After the adapter has been assigned an IP address, the computer can use the TCP/IP protocol to communicate with any other computer that is connected to the same LAN hub and that also uses automatic private IP addressing. However, the computer cannot communicate with computers on other subnets, or with computers that do not use automatic private IP addressing.

A Windows 98 computer that is configured for automatic private IP addressing can assign itself a private IP address if either of the following circumstances applies:

In either case, if a DHCP server is later found, the computer stops using the private IP address and instead uses the IP address assigned by the DHCP service.

Automatic private IP addressing is automatically enabled. You might want to disable it in the following cases:

Unless you have turned DHCP messages off, DHCP messages inform you when you change between DHCP addressing and automatic private IP addressing. If you do accidentally turn DHCP messages off, you can turn them back on by changing the value of the registry entry PopupFlag from 00 to 01 in the following registry location:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCP

You must reboot for the change to take effect.

You can also determine whether your computer is using automatic private IP addressing by using winipcfg, as the following procedure explains.

To determine whether automatic private IP addressing is currently enabled

You can disable automatic private IP addressing in one of two ways:

You disable automatic private IP addressing but not DHCP by adding the IPAutoconfigurationEnabled registry entry with a value of DWORD 0x0 in the following registry location:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCP

Use the Registry Editor to add this entry, then shut down and restart the computer.

Caution

Using Registry Editor incorrectly can cause serious problems that may require you to reinstall Windows 98. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

You can change this registry entry for your entire network by creating an Msbatch.inf file. For more information about Msbatch.inf, see Chapter 3, "Custom Installations."

Manually Configuring IP Addresses

If you cannot use DHCP or automatic private IP addressing for automatic configuration, the network administrator must configure TCP/IP manually. Or, if custom setup scripts are used to install Windows 98, the correct values can be defined in the setup script. The required values include the following:

The following procedure describes the basic configuration options for TCP/IP. If you want to configure the computer to use DNS or WINS for name resolution, see the procedures in "Using DNS for Name Resolution" later in this chapter and "Using WINS for Name Resolution" later in this chapter.

To configure the TCP/IP protocol manually

  1. In Control Panel, double-click Network.
  2. Double-click the instance of the TCP/IP protocol that is bound to your network adapter.

    Note

    If your computer has multiple network adapters, the list includes an instance of TCP/IP for each network adapter. You must configure each adapter with its own IP address, subnet mask, and gateway. There is one exception: you should configure TCP/IP settings for your dial-up adapter from your Dial-Up connection icon.

    All other settings apply system-wide.

  3. In the TCP/IP Properties dialog box, click the IP Address tab.
  4. Select the Specify an IP address check box.
  5. Type an IP address and subnet mask in the respective boxes.

    The network administrator must provide these values for individual users, based on the network ID and the host ID plan for your site.


Address class
Range of first octet
in the IP address

Subnet mask
Class A 1–126 255.0.0.0
Class B 128–191 255.255.0.0
Class C 192–223 255.255.255.0

  1. To view or specify which network clients are bound to the TCP/IP protocol, click the Bindings tab.

    Note

    The only network client provided with Windows 98 that can use Microsoft TCP/IP is Client for Microsoft Networks. Client for NetWare Networks does not use Microsoft TCP/IP.

    NetWare/IP from Novell allows the NetWare Core Protocol (NCP) request to be sent over an IP header. You can use NetWare/IP only with a Novell-provided client.

  2. Click the Gateway tab. Type at least one IP address for the default gateway (IP router) on the network, and then click Add.
  3. To specify an IP address for an additional gateway, type the IP address in the New gateway box, and then click the Add button.

    The first gateway in the list is the default gateway, which is used to reach destinations on remote networks. Gateway addresses can be prioritized by dragging the IP address in the list of installed gateways. Windows 98 attempts to connect to other gateways only if the primary gateway is unavailable.

  4. Click OK.
  5. Restart the computer for changes to take effect.

If you are using Dial-Up Networking to connect to the Internet, you can manually configure DNS and IP addresses for each connection that you define. For more information about defining IP addresses for each connection and about IP addresses on TCP/IP networks, see Chapter 20, "Internet Access and Tools." For more information about TCP/IP registry entries, see Chapter 31, "Windows 98 Registry."

Configuring Multihoming

When a computer is configured with more than one IP address, it is referred to as a multihomed system. With Windows 98, network administrators create multihomed configurations for purposes such as the following:

For example, in the most common configuration, a computer might have a LAN connection and a dial-up (PPP) or Point-to-Point Tunneling Protocol (PPTP) connection to the Internet or another IP network.

For more information about this configuration, see Chapter 19, " Remote Networking and Mobile Computing."

As another example, a computer on the local area network at a branch office that also requires a network connection to certain computers on the corporate enterprise network might require a multihomed configuration. Such a configuration might be used, for example, by financial or human-resources personnel who must access servers on a private subnet.

Figure 15.3 Multihomed Windows 98 computer connected to two separate networks

This section provides information about configuring multihomed computers running Windows 98.

Note

Multihoming on a Windows 98 computer is suitable only as a limited solution for connecting a single computer to other networks. For corporate computing environments that require routing among subnetworks, you should use dedicated routers such as a Cisco routers, UNIX hosts, or a computer running Windows NT Server 3.5 or later.

Configuring TCP/IP on Multihomed Computers

You can configure multihoming by using multiple network adapters on a single computer, multiple media, or multiple IP addresses for a single network adapter.

For a multihomed computer that uses multiple network adapters for physical connections to the LAN, or a dial-up adapter for remote access, there is an instance of Microsoft TCP/IP for each adapter in the Network option in Control Panel.

Configuring multiple network adapters per physical network.

Windows 98 places no restrictions on such configurations, so you can add as many network adapters as the computer hardware can accommodate, and assign each a separate address. However, you can only have six instances of TCP/IP and four instances of IPX/SPX installed on the system.

To configure a multihomed system using multiple network adapters

Caution

You should not use this method to configure a multihomed system for a Dial-Up or virtual private networking connection. When Dial-Up Networking or virtual private networking are installed, adapters are automatically added and appear automatically in the Network option in Control Panel.

Configuring multiple networks and media types.

You can have only six instances of TCP/IP and four instances of IPX/SPX. This means that only six adapters can bind to TCP/IP and only four to IPX/SPX. Otherwise, there are no restrictions for this type of configuration other than hardware and media support. Microsoft TCP/IP supports the following:

Configuring multiple IP addresses per network adapter.

This option is not supported through the Network option in Control Panel. Additional addresses can be added directly in the registry. However, this is not a recommended method for configuring TCP/IP. NetBIOS name registration using NetBIOS over TCP/IP supports only one IP address per network adapter. Moreover, if DHCP is enabled for configuring TCP/IP, only one DHCP-assigned address can be provided per adapter.

Issues When Implementing Multihoming

If TCP/IP is configured for multiple network adapters, or for both LAN and Dial-Up connections, you must consider the following issues:

A unique IP address and subnet mask are defined for each adapter.

For each network adapter or dial-up adapter, an instance of TCP/IP is bound to the adapter. You can choose to have IP addresses dynamically assigned by DHCP or automatic private IP addressing or defined manually as static addresses.

Domain Name System (DNS) configuration settings are global.

The settings on the DNS Configuration tab in TCP/IP properties are used for all adapters on the computer. For example, if you change the DNS settings in the TCP/IP properties for the dial-up adapter to enable DNS, then DNS is also enabled for every LAN adapter on the computer.

However, the settings on the WINS Configuration tab are used only for the adapter you are configuring. If you enable the option named Use DHCP For WINS Resolution for a LAN adapter, this option is enabled only for that adapter, not for the dial-up adapter or for other LAN adapters on the computer.

Therefore, for a multihomed computer, you must carefully define options for DNS that are applicable for all adapters using TCP/IP. Usually, this means that you want the following:

The default gateway can be different for each adapter.

For multiple physical connections to the WAN, you can assign a different default gateway for each network connection; however, a Windows 98 computer uses only one default gateway at a time. The default gateway for the dial-up adapter is assigned by the access provider. You can also assign different gateways for a Dial-Up Networking connection by using the Make New Connection Wizard.

Only one default gateway is used at a time.

Although you can have a different default gateway for each adapter, Windows 98 uses only one default gateway at a time. This means that only certain hosts are reachable:

As a result, in some cases you may lose network connectivity. For example, suppose your computer is first connected to the corporate TCP/IP network and you make a PPP dial-up connection to the Internet. Your computer stops using the default gateway that connects your computer to the corporate network and instead uses the default gateway that connects your computer to the Internet. Therefore, you can reach hosts on your local subnet, but you cannot reach other hosts on your network.

For a detailed example of a computer changing default gateways, see Chapter 19, "Remote Networking and Mobile Computing."

If you want to restore connectivity to the corporate network, you can use one of the following three methods:

Using the Route Table

The route table controls where IP packets are sent. It is maintained automatically in most cases, but in some cases you may want to manually add a route. This section describes the route table and explains how to add routes.

To see the route table for your computer, at the command prompt type route print.

Note

You can reach the command prompt from the Start menu, either by clicking Run or by clicking Programs, and then clicking MS-DOS Prompt.

The following table is a sample route table from a single-homed computer.

Table 15.3 Route table sample

Network address
Netmask

Gateway address

Interface

Metric
0.0.0.0 0.0.0.0 172.16.34.1 172.16.34.232 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
172.16.34.0 255.255.255.0 172.16.34.232 172.16.34.232 1
172.16.34.232 255.255.255.255 127.0.0.1 127.0.0.1 1
172.16.255.255 255.255.255.255 172.16.34.232 172.16.34.232 1
10.0.0.0 10.0.0.0 172.16.34.232 172.16.34.232 1
255.255.255.255 255.255.255.255 172.16.34.232 172.16.34.232 1

Table 15.3 shows a computer with the IP address 172.26.34.232. The table contains the following seven entries:

  1. The first line is the default route. This is the route to which the computer sends IP packets if the other route entries do not specify where to send them.
  2. The second line is the loopback address. This is the address a host uses to send packets to itself. The loopback address is always 127.0.0.0, and the netmask is always 255.0.0.0.
  3. The third line is a network route.
  4. The fourth line is a host route for the local host (the route for this host computer).
  5. The fifth line is the subnet broadcast address.
  6. The sixth line is the IP multicast address. This is the address the computer sends packets to in order to reach an IP multicast group.
  7. The seventh line is for limited broadcast address. This is the address a host uses to reach all other addresses on the subnet.
Network Address

The network address in the route table is the destination address. The network address column can have four different types of entries, listed here in the order in which they are searched for a match.

  1. Host address (a route to a single, specific destination IP address).
  2. Subnet address (a route to a subnet).
  3. Network address (a route to an entire network).
  4. Default gateway (a route used when there is no other match).

If no match is found, the packets are discarded.

Netmask

The netmask defines which portion of the network address must match in order for that route to be used. When the mask is written in binary, a 1 is significant (must match) and a 0 need not match.

For example, the mask of all 255s (all 1s) means that the destination address of the packet to be routed must exactly match the network address in order for this route to be used. For another example, the network address 172.20.232.0 has a netmask of 255.255.255.0. This netmask means that the first three octets must match exactly, but the last octet need not match.

Gateway Address

The gateway address is where the packet must be sent. This can be the local network card or the address of a gateway (router) on the local subnet.

Interface

The interface is the address of the network card over which the packet should be sent. 127.0.0.1 is the software loopback address.

Metric

The metric is the number of hops to the destination. Anything on the local subnet is one hop, and each router crossed after that is an additional hop. The metric is used to determine the best route.

Configuring Routes for a Multihomed Computer

If your computer is multihomed and has connections to two separate IP networks, such as the corporate network and the Internet, the default gateway for only one network is used. For the computer to be able to communicate with the other network, routes must be added to the route table. This can be accomplished in one of two ways:

  1. If a router on the network sends RIP broadcasts and your computer is configured to listen to RIP broadcasts, routes will be added automatically. (For more information about configuring your computer to listen to RIP broadcasts, see the section "Support for RIP Listening" later in this chapter.)
  2. You can manually add static routes to the route table.

    To add static routes, use the following format:

    Route add [subnet] mask [netmask] [gateway] metric [metric]
    

    The following is an example route:

    Route add 172.20.255.0 mask 255.255.255.0 172.20.234.232 metric 2
    

    The route in this example means that to get to the subnet 172.20.255.0 with a mask of 255.255.255.0, use gateway 172.20.234.232, and that the gateway is 2 hops away.

Configuring TCP/IP Name Resolution

Computers use IP addresses to identify each other, but users usually find it easier to work with computer names. A name resolution mechanism must be available on a TCP/IP network to resolve names to IP addresses.

Windows 98 provides several different types of name resolution, including DNS, WINS, broadcast name resolution, and name resolution using Hosts or LMHosts files. Generally, a Windows 98 computer uses a combination of these name resolution types, summarized in this section.

Domain Name System name resolution.

Domain Name System (DNS) is a global, distributed database based on a hierarchical naming system. DNS name resolution is used on the Internet to map friendly names to IP addresses, and vice versa. Notice that DNS replaces the functionality of the Hosts file. For more information, see "Using DNS for Name Resolution" later in this chapter.

Windows Internet Naming Service.

Windows Internet Naming Service (WINS) name resolution provides static and dynamic mapping of names to IP addresses. (This contrasts with DNS name resolution, which provides only static mapping.) Computers running Microsoft TCP/IP can use WINS if one or more Windows NT Server computers configured as WINS servers are available. WINS can be used in conjunction with broadcast name resolution for an internetwork, where other name resolution methods are inadequate. Notice that WINS is a dynamic replacement for the LMHosts file. For more information, see "Using WINS for Name Resolution" later in this chapter.

Broadcast name resolution.

Computers running Microsoft TCP/IP can use local broadcast name resolution, which is a NetBIOS-over-TCP/IP mode of operation defined in RFC 1001/1002 as b-node. It is restricted to only one subnet. This method relies on a computer making IP-level broadcasts to register its name by announcing it on the network. Each computer in the broadcast area is responsible for challenging attempts to register a duplicate name and for responding to name queries for its registered name.

Hosts or LMHosts files.

Hosts and LMHosts files, also called host tables, are files that Windows 98 can use for local name resolution if other methods are not available. An LMHosts file specifies the NetBIOS computer name and IP address mappings. When WINS in not available, it is used as a WINS equivalent to resolve NetBIOS names to IP addresses. Likewise, a Hosts file specifies the DNS name and IP address. It is used as a local DNS equivalent to resolve host names to IP addresses. You must manually enter the name-to-IP address mappings in Hosts and LMHosts files. For more information about creating and editing Hosts and LMHosts files, see Appendix F, "Hosts and LMHosts Files for Windows 98."

Windows 98 provides support for multiple DNS servers and up to twelve WINS servers. Support for either service can be configured automatically from a DHCP server or after Windows 98 Setup by using the Network option in Control Panel.

Note

To ensure that both the name and the address are unique, the computer using Microsoft TCP/IP registers its name and IP address on the network during system startup.

Using DNS for Name Resolution

This section provides an overview of DNS, then describes how to configure your Windows 98 client to use DNS.

Understanding DNS

Although TCP/IP uses IP addresses to identify and reach computers, users typically prefer to use host names. For example, users prefer the friendly name ftp.terrafirminc.tld instead of its IP address 172.16.23.55. Domain Name System, defined in Requests for Comments (RFCs) 1034 and 1035, is the naming service used on the Internet to provide standard naming conventions for IP computers.

Although DNS may seem similar to WINS, there are two major differences. First, DNS requires static configuration of IP addresses for name-to-address mapping. WINS, on the other hand can provide name-to-address mapping dynamically and requires far less administration.

Second, whereas WINS uses a flat name space (all names are located in the same domain), DNS uses a tree structure called the domain name space, where each node or domain is named and can contain subdomains. DNS is a global, distributed database based on a hierarchical naming system. The naming system was developed to provide a method for uniquely identifying hosts on the Internet.

In Windows 98, the DNS name consists of two parts — the domain name and the host name—known together as the fully qualified domain name (FQDN). For example, using the fictional domain name of Terrafirminc, an FQDN for a workstation in the nursery division could be jeff.nursery.terrafirminc.tld. Note that the DNS name can actually be multipart with a period (.) separating each part. Also note that the host portion of the name, jeff, is analogous to a NetBIOS computer name.

Note

In Windows 98, a computer’s globally known system name is its host name (for example, jeff), appended with a DNS domain name (for example, nursery.terrafirminc.tld). The host name defaults to the computer name (NetBIOS name) defined during Windows 98 Setup. The default name can be changed in the DNS Configuration tab when you are configuring TCP/IP properties.

The top-level domains were assigned organizationally and by country. These domain names follow the International Standard 3166. Two-letter and three-letter abbreviations are used for countries, and various abbreviations are reserved for use by organizations, as shown in Table 15.4.

Table 15.4 DNS domain names

DNS domain name Type of organization
com Commercial (for example, microsoft.com)
edu Educational (for example, mit.edu for Massachusetts Institute of Technology)
gov Government (for example, nsf.gov for the National Science Foundation)
org Noncommercial organizations (for example, fidonet.org for FidoNet)
net Networking organizations (for example, nsf.net for NSFNet)

DNS uses a client/server model, where the DNS servers contain information about a portion of the DNS database and make this information available to clients, called resolvers, that query the name server across the network. DNS name servers are programs that store information about parts of the domain name space called zones. The administrator for a domain sets up name servers that contain the database files with all the resource records describing all hosts in their zones. DNS resolvers are clients that use name servers to gain information about the domain name space.

All the resolver software necessary for using DNS on the Internet is installed with Microsoft TCP/IP. Microsoft TCP/IP includes the DNS resolver functionality used by NetBIOS over TCP/IP and Windows Sockets connectivity applications such as File Transfer Protocol (FTP) and Telnet to query the name server and interpret the responses.

The key task for DNS is to present friendly names for users and then resolve those names to IP addresses, as required by the internetwork. If a local name server does not contain the data requested in a query, it then queries the other name servers until it finds the specific name and address it needs. This process is made faster because name servers continuously cache the information learned about the domain name space as the result of queries.

Configuring DNS

You need to determine whether users should configure their computers to use DNS. Usually you will use DNS if you are using TCP/IP to communicate over the Internet or if your private internetwork uses DNS to distribute host information. You can use DNS either instead of or in conjunction with WINS, which is described in the next section.

You also need to determine whether or not you want to use DHCP for automatic configuration. (For information about circumstances in which you might want to use DHCP, see "Planning for TCP/IP" earlier in this chapter.) If you use DHCP for automatic configuration, a DHCP server can automatically configure the list of DNS servers the client should use. If you do not use DHCP, however, you will need to configure these parameters yourself.

Using DNS with WINS Lookup

If you are already using WINS servers for local name resolution but you want to make those servers visible to the global Internet, you can do so without configuring configure DNS on each computer. Windows NT Server 4.0 and later includes a feature called DNS with WINS Lookup. If you configure a Windows NT Server 4.0 and later to use DNS with WINS Lookup, that Windows NT Server can query the WINS servers for the "friendly names" of your computers, then use the information to construct a name that can be used on the global Internet.

For example, suppose the network terrafirminc.tld contains a Windows 98 computer named Annuals. On the internal network, the Windows NT Server is using DHCP to automatically assign IP addresses and WINS to resolve those IP addresses to the computer’s "friendly names." You want Internet users to be able to connect to Annuals using the fully qualified domain name annuals.terrafirminc.tld. If you have Windows NT Server 4.0 or later, you can configure Microsoft DNS server on that computer to query WINS for the IP address for Annuals. WINS returns the IP address, and DNS then successfully resolves the IP address to the FQDN annuals.terrafirminc.tld.

For more information about this configuration, see the Microsoft Windows NT Resource Kit (for Microsoft Windows NT Server version 4.0).


This section describes how to configure a Windows 98 computer to use DNS for name resolution. You only need to follow the procedures outlined in this section if you are not using DHCP to configure name resolution. If you are using DHCP to configure name resolution, you need only configure DHCP by following the steps in "Automatically Configuring IP Addresses with DHCP" earlier in this chapter.

Figure 15.4 shows sample DNS configuration settings.

Figure 15.4 Sample DNS configuration settings

To configure a computer to use DNS for name resolution

  1. In Control Panel, double-click Network.
  2. Double-click the TCP/IP protocol that is bound to your network adapter.
  3. In the TCP/IP Properties dialog box, click the DNS Configuration tab.
  4. If a DNS server is available, click Enable DNS. Then specify a host name and complete the other configuration information as described in the following procedure.

Tip

You must enable DNS on each computer that needs to use Hosts for name resolution.

The host name is used to identify the local computer for authentication by some utilities. Other TCP/IP-based utilities can use this value to learn the name of the local computer. Host names are stored on DNS servers in a table that maps names to IP addresses for use by DNS.

To set the host name for DNS

Note

Some characters that can be used in computer names, especially the underscore, cannot be used in host names. This is a limitation imposed in the character set defined by the Internet Engineering Task Force (IETF) standard for DNS. For more information, see RFC 1123.

To set the DNS domain name

This DNS domain name is appended to the host name (or short name) to create the fully qualified domain name (FQDN) for your computer. If you have not specified a domain in the Domain Suffix Search Order and you are querying for a short name, then this DNS domain name is appended to your query.

Note

A DNS domain is not the same as a Windows NT or LAN Manager domain. A DNS domain is a hierarchical structure for organizing TCP/IP hosts and provides a naming scheme used on the Internet. A Windows NT or LAN Manager domain is a grouping of computers for security and administrative purposes.

You can add up to three IP addresses for DNS servers. For a given DNS query, Windows 98 attempts to get DNS information from the first IP address in the list. If no response is received, Windows 98 goes to the second server in the list, and so on. To change the order of the IP addresses, you must remove them and retype them in the order that you want the servers to be searched.

To set the DNS server search order

  1. In Control Panel, double-click Network.
  2. Double-click the TCP/IP protocol that is bound to your network adapter.
  3. In the TCP/IP Properties dialog box, click the DNS Configuration tab.
  4. In the DNS Server Search Order box, type the IP address of a DNS server that will provide name resolution. Then click the Add button to add the IP address to the list.

    The network administrator should provide the correct values for this parameter, based on the IP address assigned to the DNS server used at your site.

  5. To remove an IP address from the list, select it, and then click the Remove button.

Note

If you have two servers listed in this dialog box, Windows 98 checks the second server only if no response is received from the first server. If Windows 98 attempts to check a host name with the first server and receives a message that the host name is not recognized, the system does not try the second DNS server.

The Domain Suffix Search Order specifies the DNS domain suffixes to be appended to short names during name resolution. For example, with the DNS configuration settings shown in Figure 15.4, the domain name acct02.terrafirminc.tld would be appended to the short name to create an FQDN. However, if the Domain Suffix Search Order list is blank, the domain name terrafirminc.tld would be appended instead.

You can add up to five domain suffixes. Place domain suffixes in the list in the order you want them to be searched.

To set the domain suffix search order

  1. In Control Panel, double-click Network.
  2. Double-click the TCP/IP protocol that is bound to your network adapter.
  3. In the TCP/IP Properties dialog box, click the DNS Configuration tab.
  4. In the Domain Suffix Search Order box, type the domain suffixes to add to your domain suffix search list, and then click the Add button.
  5. To remove a domain name from the list, select it, and then click the Remove button.

Using WINS for Name Resolution

Windows Internet Naming Service (WINS) is a service that runs on Windows NT Server to optimize NetBIOS name resolution. It provides a distributed database for registering and querying dynamic computer name-to-IP address mappings in a routed network environment. You can use WINS either alone or in conjunction with DNS.

WINS reduces the use of local broadcasts for name resolution and allows users to locate computers on remote networks automatically. Furthermore, when dynamic addressing through DHCP results in new IP addresses for computers that move between subnetworks, the changes are updated automatically in the WINS database. Neither the user nor the network administrator needs to make manual accommodations for name resolution in such a case.

WINS consists of two components: the WINS server, which handles name queries and registrations, and the client software (NetBIOS over TCP/IP), which queries for computer name resolution. A WINS server is a Windows NT Server 3.5 or later computer with WINS server software installed. When Microsoft TCP/IP is installed under Windows 98, WINS client software is installed automatically.

On a Windows-based network, users can browse transparently across routers. To allow browsing without WINS, you must ensure that the users’ primary domain has Windows NT Server computers on both sides of the router to act as master browsers. These computers need to contain correctly configured LMHosts files with entries for the domain controllers across the subnet.

With WINS, such strategies are not necessary, because the WINS servers and proxies provide the support necessary for browsing Windows NT domains across routers. For a technical discussion of how WINS works and how it can be set up on the network, see Windows NT Server 4.0 TCP/IP in the Windows NT Server 4.0 documentation set.

If there are WINS servers installed on your network, you can use WINS in combination with broadcast name queries to resolve NetBIOS computer names to IP addresses. If you do not use this option, Windows 98 can use name query broadcasts (b-node mode of NetBIOS over TCP/IP) plus the local LMHosts file to resolve computer names to IP addresses. Broadcast resolution is limited to the local network, as described earlier in this section.

If DHCP is used for automatic configuration, these parameters can be provided by the DHCP server. Otherwise, you must configure information about WINS servers manually. WINS configuration is global for all network adapters on a computer.

Configuring WINS

The following procedure describes how to configure WINS and how to enable DHCP.

To configure a computer to use WINS for name resolution

  1. In Control Panel, double-click Network.
  2. Double-click the TCP/IP protocol that is bound to your network adapter.
  3. In the TCP/IP Properties dialog box, click the WINS Configuration tab.
  4. If a DHCP server is available that is configured to provide information on available WINS servers, select the Use DHCP For WINS Resolution check box.

    – Or –

    If a WINS server is available but not a DHCP server, select Enable WINS Resolution and type the IP addresses of the Primary and Secondary WINS servers. These values should be provided by the network administrator, based on the IP addresses assigned to these Windows NT Server computers.

  5. If WINS is enabled, in the Scope ID box, type the computer’s scope identifier, if required on an internetwork that uses NetBIOS over TCP/IP.

    Usually this value is left blank. Scope IDs are used only for communication based on NetBIOS over TCP/IP. In such a case, all computers on a TCP/IP internetwork must have the same scope ID. A scope ID can be assigned to a group of computers if those computers communicate only with each other and not with computers outside the group. Such computers can find each other if their scope IDs are identical.

Enabling WINS Persistent Connection Attempts

Windows 98 includes an enhancement to the WINS client (called NetBIOS over TCP/IP, or NetBT), a session-layer network service that performs name-to-IP address mapping for name resolution. (For more information, see the following section, "WINS Technical Notes.") In Windows 95, NetBT queried only one WINS server, and returned a failure for a setup session attempt if the first IP address it tried to use failed to establish a session. This caused a problem because replication delays between two or more WINS servers on the network can cause WINS servers to return stale IP addresses when queried.

You can configure Windows 98 to work around this problem by configuring NetBT to continue querying multiple WINS servers if it failed to establish the initial session. Thus, it first queries the primary WINS server for an IP address and tries to establish a connection using that IP address. If this fails, it tries to get another IP address from the next WINS server, or by using broadcast name resolution. It will continue to query WINS servers until either all of the WINS servers specified have been queried or a connection is established.

To enable WINS persistent connection attempts, set the registry entry TryAllNameServers (String data type) to a value of 1. TryAllNameServers is found in the following registry key:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vxd\MSTCP

WINS Technical Notes

The WINS protocol is based on and is compatible with the protocol defined for WINS server in Requests for Comments (RFCs) 1001 and 1002, so it is interpretable with any other implementations of these RFCs.

Microsoft TCP/IP uses NetBIOS over TCP/IP as specified in RFCs 1001 and 1002, which define a software interface that supports name resolution for NetBIOS client and server programs in the WAN environment.

RFCs 1001 and 1002 define the following four node types:

If WINS is enabled on a Windows 98 computer, the system uses h-node by default. Without WINS, the system uses b-node by default. Non-WINS clients can access WINS through proxies, which are WINS-enabled computers that listen to name query broadcasts and then respond for names that are not on the local subnet or are h-nodes.

To see which node type is configured on a Windows 98 computer

  1. Click Start, click Run, and then, type winipcfg.
  2. Click the More info button.
  3. In Host Information, look at the Node type box.

Viewing Your WINS and DNS Configuration

Regardless of how you configure your computer to use name resolution, you can view your settings using the winipcfg utility. For instructions on using winipcfg, see "Using Diagnostic Utilities to Troubleshoot," later in this chapter.

Technical Notes on TCP/IP

This section discusses technical information about TCP/IP. First it describes the enhancements to TCP/IP in Windows 98. Next, it lists the supported standards. Finally, it lists and briefly describes TCP/IP command-line utilities.

For information about using these utilities to troubleshoot TCP/IP problems, see "Troubleshooting TCP/IP" later in this chapter.

Enhancements to TCP/IP in Windows 98

Microsoft TCP/IP in Windows 98 includes many enhancements over the version of Microsoft TCP/IP that was included in Windows 95. It includes performance enhancements, support for Windows Sockets 2 and multimedia applications, and greatly improved support for IP multicast. Additionally, it includes RIP listening, a feature that can improve network connectivity for multihomed computers in large corporate networks. This section describes some of the enhancements to Microsoft TCP/IP in Windows 98.

Support for Windows Sockets 2

In Windows 98, Windows Sockets 2 is the preferred application programming interface (API) for TCP/IP socket programming.

Microsoft TCP/IP contains the following enhancements to support Windows Sockets 2:

For more information about Windows Sockets 2, see Chapter 29, "Windows 98 Network Architecture." For information about troubleshooting setup problems associated with Windows Sockets 2, see Chapter 5, "Setup Technical Discussion." For information about incompatibilities between Windows Sockets 2 and third-party networking clients, see Chapter 17, "Windows 98 on Third-Party Networks."

Support for Quality of Service and Resource Reservation Protocol

Microsoft TCP/IP supports the Generic Quality of Service (GQoS) and Resource Reservation Protocol (RSVP) APIs.

The GQoS APIs let applications request certain characteristics for a network connection. The GQoS APIs can request attributes such as the following:

RSVP is a signaling protocol that is used to establish connections with the requested GQoS characteristics. It handles QoS requests, reserving network bandwidth when possible and when requested, then ensuring that the network can provide that bandwidth.

GQoS is available only if you have the most recent version of Microsoft TCP/IP (which includes Windows Sockets 2).

For more information about the RSVP and QoS architecture, see Chapter 29, "Windows 98 Network Architecture." For more information about GQoS, see also the specification on ftp://ftp.microsoft.com/bussys/winsock/winsock2/.

For more information about RSVP, see also the Internet Engineering Task Force (IETF) RSVP specification at http://www.ietf.org.

For more information about installing Microsoft TCP/IP, see the section "Installing Microsoft TCP/IP" earlier in this chapter.

Support for IP Multicast

With Windows 98, Microsoft TCP/IP supports RFC 1112 IP Multicast, or the transmission of IP packets to a group of zero or more hosts in a multicast group. Windows 98 computers can create, join, and leave multicast groups, and they can send IP packets to groups they belong to.

Microsoft TCP/IP also supports the Internet Draft for IGMP version 2. IGMP version 2 specifies a way for hosts to quickly report termination of multicast group membership. This is useful for low-bandwidth connections. For example, suppose a user is listening to a radio broadcast over a slow dial-up link and wants to change the channel to listen to a different radio station. With IGMP 2, the computer can send a message to the upstream multicast router to stop forwarding the group’s packets.

Support for ICMP Router Discovery

Microsoft TCP/IP supports Internet Control Message Protocol (ICMP) Router Discovery, described in RFC 1256. ICMP Router Discovery enables hosts attached to broadcast networks to learn IP addresses of neighboring routers.

Performance Enhancements

With Windows 98, Microsoft TCP/IP includes several features that improve network performance. These features include the following:

Support for TCP Large Windows

Windows 98 TCP/IP supports TCP Large Windows (TCPLW) and time stamps as documented in RFC 1323. Time stamps enable computers to measure round trip times and to reject old duplicate packet segments. TCPLW and time stamps are useful for networks that have high bandwidth and high delay, such as high-speed transcontinental connections or satellite links.

Support for TCPLW and time stamps are enabled by default. By default, TCPLW will be used if an application requests a Windows Sockets 2 socket to use a buffer size greater than 64 KB or if a DefaultRcvWindow size of more than 64 KB is used in the registry. To change the default value, you must add the registry entry Tcp1323Opts to the following location:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VXD\MSTCP\Parameters

The registry entry Tcp1323Opts is a string value type. The values for the key are:

0 - No window scaling and time stamp options

1 - Window scaling options but no time stamp options

2 - Time stamp but no window scaling options

3 - Window scaling and time stamp options

Support for Selective Acknowledgments

Windows 98 TCP supports Selective Acknowledgments (SACK) as documented in RFC 2018. Selective Acknowledgments allows TCP to recover from IP packet loss without resending packets that were already received by the receiver. Selective Acknowledgments is most useful in combination with TCPLW and time stamps. SACK support is enabled by default. To disable SACK support, you must add the registry entry SackOpts to the following location:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VXD\MSTCP\Parameters

The registry entry SackOpts is a string value type. The values for the entry are:

0 - No SACK options

1 - SACK option enabled

The default value is 1 - SACK option enabled.

Support for Fast Retransmission and Fast Recovery

Windows 98 TCP/IP supports Fast Retransmission and Fast Recovery on TCP connections that are incurring IP packet loss. These mechanisms allow a TCP sender to quickly infer a single packet loss and resend the packet after receiving duplicate acknowledgments for a previously sent and acknowledged TCP/IP packet. This mechanism is useful when the network is intermittently congested and intervening routers or switches are dropping packets.

By default, the sender must receive three duplicate acknowledgments before resending the last unacknowledged TCP/IP packets. You can change this default value by adding a registry entry to the following location:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VXD\MSTCP\Parameters

The registry entry MaxDupAcks is data type DWORD and accepts integer values from 2 to N. The value data of MaxDupAcks indicates the number of duplicate acknowledgments the sender receives before resending the last unacknowledged TCP/IP packet.

Support for RIP Listening

In some large networks, a computer might be configured as a multihomed system and connected to two different networks. Figure 15.3 (earlier in this chapter) shows this configuration.

To communicate with both networks at the same time, the computer must be able to communicate with both routers. However, as the section "Configuring Multihoming" described, Windows 98 computers can use only one default gateway at a time.

There is a solution to this problem. If one or both of the routers uses the Routing Information Protocol (RIP) to send routing information, the computer can be configured to "listen in" to the RIP messages. Your computer can learn other routes on the network, by listening to RIP messages, and then add their IP addresses to the route table. Thus, you do not need to manually add routes to the route table. This process is called RIP listening or silent RIP. Figure 15.5 shows an example of a multihomed host that uses RIP listening.

Figure 15.5 Multihomed host using RIP listening

Router 2 sends RIP messages, and the Windows 98 computer listens in on those messages. Router 1 does not send RIP messages, so the Windows 98 computer is configured to use Router 1 as the default gateway. Thus, the Windows 98 computer can communicate with hosts on both networks.

The following procedure describes how to enable RIP listening.

To enable RIP listening

  1. In Control Panel, double-click Network, and then click Add.
  2. In Select Network Component Type, select Service, and then click Add.
  3. Click Have Disk, and then type the location of the RIP listening files. They are located on the Windows 98 CD, in the \Tools\RIP directory. Select the file Irip.inf, and then click OK.

You must restart your computer for the changes to take effect.

Supported Standards

TCP/IP standards are defined in Requests for Comments (RFCs) published by the Internet Engineering Task Force (IETF) and other working groups. Table 15.5 lists the RFC standards supported by Microsoft TCP/IP. To find these standards, visit http://www.ietf.org/.

Table 15.5 Request for Comments standards supported

RFC number RFC standard
768 User Datagram Protocol (UDP)
783 Trivial File Transfer Protocol (TFTP)
791 Internet Protocol (IP)
792 Internet Control Message Protocol (ICMP)
793 Transmission Control Protocol (TCP)
816 Fault Isolation and Recovery
826 Address Resolution Protocol (ARP)
854 Telnet Protocol (TELNET)
862 Echo Protocol (ECHO)
863 Discard Protocol (DISCARD)
864 Character Generator Protocol (CHARGEN)
865 Quote of the Day Protocol (QUOTE)
867 Daytime Protocol (DAYTIME)
894 IP Over Ethernet
919,922 IP Broadcast Datagrams (broadcasting with subnets)
950 Internet Standard Subnetting Procedure
959 File Transfer Protocol (FTP)
1001,1002 NetBIOS Service Protocols
1034,1035 Domain Name System (DNS)
1042 IP over Token-Ring
1055 Transmission of IP over Serial Lines (IP-SLIP)
1122,1123 Host Requirements (communications and applications)
1134 Point-to-Point Protocol (PPP)
1144 Compressing TCP/IP Headers for Low-Speed Serial Links
1157 Simple Network Management Protocol (SNMP)
1179 Line Printer Daemon Protocol
1188 IP over Fiber Distributed Data Interface (FDDI)
1191 Path Maximum Transmission Unit (MTU) Discovery
1201 IP over ArcNet
1231 IEEE 802.5 Token-Ring MIB (MIB-II)
1323 TCP Extensions for High Performance
1332 PPP Internet Protocol Control Protocol (IPCP)
1334 PPP Authentication Protocols
1518 An Architecture for IP Address Allocation with Classless Inter-Domain Routing (CIDR)
1519 Classless Inter-Domain Routing (CIDR): An Address Assignment and Aggregation Strategy
1533 Dynamic Host Configuration Protocol (DHCP) Options and Bootstrap Protocol (BOOTP) Vendor Extensions
1534 Interoperation between DHCP and BOOTP
1541 Dynamic Host Configuration Protocol (DHCP)
1542 Clarifications and Extensions for the Bootstrap Protocol (BOOTP)
1547 Requirements for Point-to-Point Protocol (PPP)
1548 The Point-to-Point Protocol (PPP)
1549 PPP in High-level Data Link Control (HDLC) Framing
1552 PPP Internetwork Packet Exchange Control Protocol (IPXCP)
1553 IPX Header Compression
1570 Link Control Protocol (LCP) Extensions
2018 TCP Selective Acknowledgment Options
2131 Dynamic Host Configuration Protocol (DHCP)
Draft RFCs NetBIOS Frame Control Protocol (NBFCP); PPP over ISDN; PPP over X.25; Compression Control Protocol

TCP/IP Utilities

The TCP/IP utilities offer network connections to non-Microsoft hosts such as UNIX system computers. You must have the TCP/IP network protocol installed to use the TCP/IP utilities. The tools listed in Table 15.6 are installed automatically when you install Microsoft TCP/IP.

Table 15.6 Tools installed with TCP/IP

Command Purpose
arp Displays and modifies the IP-to-Ethernet address translation tables.
ipconfig Command-line utility that displays IP address and other configuration information
ftp Transfers files to and from a node running ftp service.
nbtstat Displays protocol statistics and current TCP/IP connections using NetBIOS over TCP/IP.
netstat Displays protocol statistics and current TCP/IP connections.
ping Verifies connections to a remote host or hosts.
route Manually controls network routing tables.
telnet Starts terminal emulation with a remote system running a Telnet service. Windows 98 provides a graphical version of this utility as well as the older, MS-DOS-based version.
tracert Determines the route taken to a destination.
Winipcfg Graphical utility that displays IP address and other configuration information

Important

The FTP and Telnet utilities rely on password authentication by the remote computer. Passwords are not encrypted before being sent over the network. This allows another user equipped with a network analyzer on the same network to steal a user’s remote account password. For this reason, it is strongly recommended that users of these utilities choose different passwords for their workgroups, computer, or domain from the passwords used when connecting to computers that are not on Microsoft networks.

The following describes most of the TCP/IP commands included with Windows 98. For information about the syntax of those commands, use the help provided in the MS-DOS virtual machine.

For information about winipcfg, see "Using Diagnostic Utilities to Troubleshoot," later in this chapter.

To get help on TCP/IP utilities

Arp

This diagnostic command displays and modifies the IP-to-Ethernet or IP-to-token-ring address translation tables used by the Address Resolution Protocol (ARP).

Ftp

This connectivity command transfers files to and from a computer running a File Transfer Protocol (FTP) service. The ftp command can be used interactively or by processing ASCII text files.

To use the ftp command

To get help with the ftp command

Table 15.7 shows the FTP commands available when Microsoft TCP/IP is installed on a computer.

Table 15.7 FTP commands in Microsoft TCP/IP

Command Purpose
! Runs the specified command on the local computer.
? Displays descriptions for ftp commands. Identical to help.
append Appends a local file to a file on the remote computer, using the current file type setting.
ascii Sets the file transfer type to ASCII, the default.
bell Toggles a bell to ring after each file transfer command is completed. By default, the bell is off.
binary Sets the file transfer type to binary.
bye Ends the FTP session with the remote computer and exits ftp.
cd Changes the working directory on the remote computer.
close Ends the FTP session with the remote server and returns to the command interpreter.
debug Toggles debugging. When debugging is on, each command sent to the remote computer is printed, preceded by the string --->. By default, debugging is off.
delete Deletes files on remote computers.
dir Displays a list of a remote directory’s files and subdirectories.
disconnect Disconnects from the remote computer, retaining the ftp prompt.
get Copies a remote file to the local computer, using the current file transfer type. Identical to recv.
glob Toggles file name globbing. Globbing permits use of wildcard characters in local file or path names. By default, globbing is on.
hash Toggles hash-mark (#) printing for each 2048 bytes data block transferred. By default, hash-mark printing is off.
help Displays descriptions for FTP commands.
lcd Changes the working directory on the local computer. By default, the current directory on the local computer is used.
literal Sends arguments, verbatim, to the remote FTP server. A single FTP reply code is expected in return. Identical to quote.
ls Displays an abbreviated list of a remote directory’s files and subdirectories.
mdelete Deletes multiple files on remote computers.
mdir Displays a list of a remote directory’s files and subdirectories. Allows you to specify multiple files.
mget Copies multiple remote files to the local computer using the current file transfer type.
mkdir Creates a remote directory.
mls Displays an abbreviated list of a remote directory’s files and subdirectories.
mput Copies multiple local files to the remote computer, using the current file transfer type.
open Connects to the specified FTP server.
prompt Toggles prompting. During multiple file transfers, ftp provides prompts to allow you to selectively retrieve or store files; mget and mput transfer all files if prompting is turned off. By default, prompting is on.
put Copies a local file to the remote computer, using the current file transfer type. Identical to send.
pwd Prints the current directory on the remote computer.
quit Ends the FTP session with the remote computer and exits ftp.
quote Sends arguments, verbatim, to the remote FTP server. A single FTP reply code is expected in return. Identical to literal.
recv Copies a remote file to the local computer, using the current file transfer type. Identical to get.
remotehelp Displays help for remote commands.
rename Renames remote files.
rmdir Deletes a remote directory.
send Copies a local file to the remote computer, using the current file transfer type. Identical to put.
status Displays the current status of FTP connections and toggles.
trace Toggles packet tracing; displays the route of each packet when running an FTP command.
type Sets or displays the file transfer type.
user Specifies a user to the remote computer.
verbose Toggles verbose mode. If on, all FTP responses are displayed; when a file transfer completes, statistics regarding the efficiency of the transfer are also displayed. By default, verbose is on.

Nbtstat

This diagnostic command displays protocol statistics and current TCP/IP connections using NetBIOS over TCP/IP.

Notes on Nbtstat

The column headings generated by the nbtstat utility have the following meanings.

Input
Number of bytes received.
Output
Number of bytes sent.
In/Out
Whether the connection is from the computer (outbound) or from another system to the local computer (inbound).
Life
The remaining time that a name table cache entry will live before it is purged.
Local Name
The local NetBIOS name associated with the connection.
Remote Host
The name or IP address associated with the remote host.
Type
This refers to the type of name. A name can either be a unique name or a group name.
<03>
Each NetBIOS name is 16 characters long. The last byte often has special significance, because the same name can be present several times on a computer. This notation is the last byte converted to hexadecimal. For example, <20> is a space in ASCII.
State
The state of NetBIOS connections as shown in Table 15.8

Table 15.8 NetBIOS connection states

State Meaning
Accepting An inbound session is currently being accepted and will be connected shortly.
Associated A connection endpoint has been created and associated with an IP address.
Connected The session has been established.
Connecting The session is in the connecting phase where the name-to-IP address mapping of the destination is being resolved.
Disconnected The local computer has issued a disconnect, and it is waiting for confirmation from the remote computer.
Disconnecting A session is in the process of disconnecting.
Idle This endpoint has been opened but cannot receive connections.
Inbound An inbound session is in the connecting phase.
Listening This endpoint is available for an inbound connection.
Outbound A session is in the connecting phase where the TCP connection is currently being created.
Reconnecting A session is trying to reconnect if it failed to connect on the first attempt.

Netstat

This diagnostic command displays protocol statistics and current TCP/IP network connections.

Notes on Netstat

The netstat utility provides statistics on network components. Table 15.9 outlines these statistics.

Table 15.9 Netstat statistics

Statistic Purpose
Foreign Address The IP address and port number of the remote computer to which the socket is connected. The name corresponding to the IP address is shown instead of the number if the Hosts file contains an entry for the IP address. In cases where the port is not yet established, the port number is shown as an asterisk (*).
Local Address The IP address of the local computer, and the port number the connection is using. The name corresponding to the IP address is shown instead of the number if the Hosts file contains an entry for the IP address. In cases where the port is not yet established, the port number is shown as an asterisk (*).
Proto The name of the protocol used by the connection.
(state) Indicates the state of TCP connections only. The possible states are the following:
close_wait
closed
established
fin_wait_1
fin_wait_2
listen
syn_received
syn_send
timed_waitlast_ack

Ping

This diagnostic command verifies connections to one or more remote hosts.

Notes on Ping

The ping command verifies connections to a remote host or hosts, by sending Internet Control Message Protocol (ICMP) echo packets to the host and listening for echo reply packets. The ping command waits for up to 1 second for each packet sent and prints the number of packets transmitted and received. Each received packet is validated against the transmitted message. By default, 4 echo packets containing 64 bytes of data (a periodic uppercase sequence of alphabetic characters) are transmitted.

You can use the ping utility to test both the host name and the IP address of the host. If the IP address is verified but the host name is not, you may have a name resolution problem. In this case, be sure that the host name you are querying is in either the local Hosts file or in the DNS database.

Route

This diagnostic command manipulates network routing tables.

Telnet

This connectivity command starts terminal emulation with a remote system running a Telnet service. Telnet provides Digital Equipment Corporation (DEC) VT 100, DEC VT 52, or TTY emulation, using connection-based services of TCP.

To provide terminal emulation from a Windows 95 computer, the foreign host must be configured with the TCP/IP program, the Telnet server program or daemon, and a user account for the computer running Windows 95.

The Telnet application is found in the Accessories program group if you install the TCP/IP connectivity utilities. Telnet is a Windows Sockets – based application that simplifies TCP/IP terminal emulation with Windows 98. HyperTerminal can also be used as a Telnet client.

Note

Microsoft does not provide the Telnet server daemon (telnetd).

Tracert

This diagnostic utility determines the route taken to a destination by sending Internet Control Message Protocol (ICMP) echo packets with varying Time-To-Live (TTL) values to the destination. Each router along the path is required to decrement the TTL on a packet by at least 1 before forwarding it, so the TTL is effectively a hop count. When the TTL on a packet reaches 0, the router is supposed to send back an ICMP Time Exceeded message to the source system. The tracert command determines the route by sending the first echo packet with a TTL of 1 and incrementing the TTL by 1 on each subsequent transmission until the target responds or the maximum TTL is reached. The route is determined by examining the ICMP Time Exceeded messages sent back by intermediate routers. Notice that some routers silently drop packets with expired TTLs and are invisible to tracert.

Notes on Tracert

When you type tracert destination, where destination is the host you wish to reach, four columns are displayed. The first column is the hop number, which is the TTL value set in the packet. Each of the next three columns contains the round-trip times in milliseconds for an attempt to reach the destination with that TTL value. An asterisk (*) means that the attempt timed out. The fourth column is the host name (if it was resolved) and IP address of the responding system.