Transmission Control Protocol/Internet Protocol (TCP/IP) refers to a suite of protocols developed for the United States Defense Advanced Research Projects Agency (DARPA). These protocols were designed to interconnect computers and processes that, potentially, can reside in different networks and multi-vendor environments. The protocols are as follows:
![]()
Internet Protocol - IP ![]()
Internet Control Message Protocol - ICMP ![]()
Transmission Control Protocol - TCP ![]()
User Datagram Protocol - UDP
The protocols are described in this chapter. As a network manager, you will be concerned primarily with the Internet Protocol, since you must enter the parameters it requires to route packets. This protocol requires information that you enter at the server console through the TCP/IP configuration program.
In addition to the protocol descriptions, this chapter includes information on:
![]()
Address Resolution ![]()
TCP/IP Options and VINES Note: This chapter is mainly background conceptual material designed to give network administrators with little background in TCP/IP the information they require to construct a TCP/IP network. If you are a very experienced TCP/IP network manager, and you have a firm knowledge of how TCP/IP works, you can skip this chapter.
The Internet Protocol (IP) controls how units of data, called packets, are moved between hosts or gateways. A source is where packets originate, and the destination is where they are delivered.
Packets often pass through gateways when moving between sources and destinations. See "Routing Packets" later in this chapter for information on gateways.
Packets enter the network from the source through a network interface. A network interface provides access to a data link, enabling hosts and gateways to pass packets to and receive packets from a physical medium.
For example, an Ethernet interface enables a host or gateway to pass packets to and receive packets from an Ethernet local area network. Gateways have multiple interfaces - for example, one for Ethernet and one for Token-Ring.
Network interfaces are not always associated with a physical medium. In some cases, IP can have an interface to another routing protocol, such as the VINES Internet Protocol (VINES IP). IP treats the other routing protocol much like an interface to a physical medium, such as Ethernet. The relationship between IP and VINES IP is described later in this chapter in the section "TCP/IP Options and VINES."
IP address classes, subnetworks, routes, and routing and fragmenting packets are discussed in the sections that follow.
IP enables a source to address a packet to a destination, and enables the destination to recognize packets that are addressed to it. This is called addressing.
For example, when UNIX Workstation A in Figure 2-1 sends a packet to UNIX Workstation B, Workstation A encloses Workstation B's address in the packet. Workstation B, seeing its own address when the packet arrives, accepts the packet from the network.
Enclosing the destination address in a packet also enables gateways, such as the one shown in Figure 2-1, to forward the packet to its destination. See "Routing Packets" later in this chapter for more information.
A sample IP packet, simplified for the purposes of this discussion, is shown in Figure 2-2.
Hosts commonly have one network interface and one IP address. Gateways, on the other hand, have more than one network interface and, typically, more than one IP address. For example, a gateway can have an address for each of its interfaces, giving it multiple identities in the network. Packets destined for the gateway can be received as long as they contain the address of any of the gateway's interfaces. This is called multi-homing.
For example, a gateway resides on both Ethernet and ProNET-10, and has a different IP address assigned to each interface. A packet will reach the gateway over Ethernet if its destination address matches the IP address assigned to either the Ethernet or the ProNET-10 interface. The same is true for packets received on the ProNET-10 interface.
All IP addresses and subnetwork masks are recorded in decimal dot notation. This section explains decimal dot notation and discusses its use in IP addressing. The discussion of IP addressing in the remainder of this chapter relies heavily on decimal dot notation for examples.
Each address in decimal dot notation has four integers, separated by periods, between 0 and 255. For example:
160.134.1.1
Each integer represents eight bits of a 32-bit address. The preceding address is shown in binary in Figure 2-3.
Subnetwork masks are also depicted in decimal dot notation. The following is a common subnetwork mask:
255.255.0.0
This subnetwork mask is shown in its binary equivalent in Figure 2-4.
One of your tasks as a network manager is to enter source addresses for your server and the addresses of destination servers. These addresses provide the server with the addressing knowledge it needs to send and receive packets.
All IP addresses are 32-bit addresses recorded in decimal dot notation. They have the following characteristics:
![]()
All IP addresses have a network ID and a host ID. Some IP addresses also have a subnetwork ID. ![]()
All network addresses used in a VINES network belong to one of three address classes: Class A, Class B, or Class C. ![]()
Each address has a corresponding subnetwork mask.
These characteristics are described in the sections that follow.
Networks, Subnetworks, and Hosts
An IP address consists of three binary integers (two if subnetting is not used). These binary integers appear in the following order:
1. Network ID. This number identifies the network in which the host or gateway resides. Class A, B, and C addresses are distinguished by the range of network numbers that they support.
2. Subnetwork ID. The subnetwork ID is optional. If used, it takes up a portion of the host ID. How many bits are used to specify subnetworks, and which bits are used, is specified by the subnetwork mask.
3. Host ID. This number uniquely identifies a host within a network, or within a subnetwork.
If your network's number is assigned by the DDN Network Information Center (NIC), the network/host pair guarantees unique identification of a host or gateway anywhere in the world.
In order to determine which portion of an address specifies the network ID, which portion specifies the subnetwork ID, and which portion specifies the host ID, you must know two things:
![]()
The IP address class ![]()
The subnetwork mask
An address can be in one of five formats or classes: A, B, C, D, or E. The different classes exist because of the evolving needs of TCP/IP networks over the years. In the Banyan TCP/IP option, packets with IP addresses that do not conform to Class A, B, or C are discarded when received.
Class A Addresses
In a Class A address, the high-order bit is set to 0. This bit plus the next seven bits are used to set the network ID, and the last twenty-four bits are the host ID.
Class A addresses support network numbers 1 through 127. An example is shown in Figure 2-5.
In the example in Figure 2-5, the network ID is 16 (0x10). If no subnetworks are used in this network, 4.0.12 designates the host or gateway. If the eight bits shaded in the figure are used to specify the subnetwork ID, the subnetwork number is 4, and 0.12 designates the host or gateway. Class A addresses typically have four or eight bits reserved for the subnetwork number allowing up to 14 or 254 subnetworks. However, you can use any number of bits from zero to 22, depending on how many hosts or gateways you expect to put on a LAN segment.
Class B Addresses
In a Class B address, the high-order two bits are 1-0. These two bits plus the next fourteen bits are the network ID, and the last sixteen bits are the host ID.
Class B addresses support network numbers 128.1 through 191.254. Figure 2-6 shows an example.
In the example in Figure 2-6, the network ID is 144.133 (0x90.85). If no subnetworks are used in this network, 1.13 designates the host ID. If the address uses eight bits to specify the subnetwork, 1 is the subnetwork ID, and 13 designates the host.
Typically, Class B addresses have four, eight, or ten bits reserved for the subnetwork ID allowing up to 14, 254, or 1022 subnetworks. However, you can use any number of bits from zero to eight, depending on how many hosts or gateways you expect to put on a LAN segment.
Class C Addresses
In a Class C address, the high-order three bits are 1-1-0. These three bits plus the next twenty-one bits are the network ID, and the last eight bits are the host ID.
Class C addresses support network numbers 192.1.1 through 223.254.254. Figure 2-7 shows an example.
In the example in Figure 2-7, the network ID is 195.15.80 (0xC3.0F.50). The last integer, 3, designates the host or gateway. It is recommended that Class C addresses have four bits reserved for the subnetwork number allowing up to 14 subnetworks and 16 hosts per subnetwork. However, you can use from zero to six bits for the subnetwork number.
Subnetworks and Subnetwork Masks
IP networks can be divided into subnetworks. Typically, a subnetwork corresponds to a single LAN segment. Each LAN segment should be assigned a unique subnetwork number.
If you use subnetworks, you must set aside a number of the bits in the host ID portion of the IP address specifically for the subnetwork ID. For example, a Class A address has an 8-bit network ID and a 24-bit host ID. You might reserve eight bits of the host ID for specifying subnetwork numbers. The remaining sixteen bits of the host ID would be used for specifying hosts.
You control which bits refer to the subnetwork ID by specifying an appropriate subnetwork mask. A subnetwork mask is a 32-bit structure, expressed in decimal dot notation, that tells TCP/IP which bits in a given address specify the network ID and which specify the subnetwork ID. A 1 bit in the mask means that the corresponding bit in the IP address is part of the network or subnetwork ID, whereas a 0 bit means that the corresponding address bit is part of the host ID.
When you specify a subnetwork mask, we strongly recommend that you use contiguous bits for the subnetwork field.
The size of the subnetwork field you choose determines how many subnetworks you can have per network, and how many hosts you can have per subnetwork. The number of possible subnetworks is 2n - 2, where n is the number of bits used for the subnetwork number. Subnetwork numbers consisting of all 1 bits or all 0 bits are reserved.
Note: You actually control bit usage only for the subnetwork portion of the address, even though the mask also pertains to the network portion. This is because the size of the network ID field is predetermined by the IP address class.
Example 1 Class B Address 144.133.17.1 with No Subnetwork Field
Figure 2-8 illustrates the bit structure of this IP address and its corresponding subnetwork mask. In a Class B address, 16 bits are used to specify the network ID. The remaining 16 bits specify the host ID and, optionally, a subnetwork ID of up to 14 bits.
The gray shading on the subnetwork mask indicates the bits that are available for the subnetwork ID. All of those bits are set to 0, meaning that no subnetworking is specified. TCP/IP therefore interprets the corresponding bits in the address as part of the host ID.
Example 2 Class B Address 144.133.17.1 with 4-bit Subnetwork Field
Figure 2-9 illustrates the bit structure of this IP address and its corresponding subnetwork mask. The gray shading indicates the bits that are available for the subnetwork ID. Four of those bits are set to 1, so TCP/IP interprets the corresponding address bits, which are shaded, as the subnetwork ID.
Example 3 Class B Address 144.133.17.1 with 8-bit Subnetwork Field
Figure 2-10 illustrates the bit structure of this IP address and its corresponding subnetwork mask. Eight of the gray-shaded bits that are available for the subnetwork ID are set to 1. TCP/IP interprets the corresponding address bits, which are shaded, as the subnetwork ID.
Specific Values for Subnetwork Masks
There are many valid values for subnetwork masks, depending on the length of the subnetwork ID, but field lengths of 0 (no subnetwork), 4, and 8 bits are commonly used. Table 2-1 provides the decimal dot values for these subnetwork masks for the three address classes supported by VINES.
IP Address Class | No Subnetwork Field | 4-bit Subnetwork Field | 8-bit Subnetwork Field |
Class A | 255.0.0.0 | 255.240.0.0 | 255.255.0.0 |
Class B | 255.255.0.0 | 255.255.240.0 | 255.255.255.0 |
Class C | 255.255.255.0 | 255.255.255.240 | Not supported |
Figure 2-11 shows a network consisting of two subnetworks: a Token-Ring network and an Ethernet LAN using Class B addressing. The subnetwork number identifying each LAN would be part of the host address of each host or gateway on that LAN. For example, assuming an 8-bit subnetwork mask, the subnetwork number of Host 1 on the Ethernet LAN is 1.
The Internet Protocol (IP) routes packets from a source to a destination across multiple networks and physical media.
Packets travel over a route between sources and destinations. A route consists of the interconnected pattern of physical media and gateways between a source and a destination.
Routes can be direct, or they can pass through gateways. Hosts or gateways that share a common physical connection are linked by direct routes. For example, on the Ethernet in Figure 2-11, a direct route links Host 1, the UNIX workstation, and the three PC/TCP workstations.
Figure 2-12 shows a server, Sales, and a foreign host acting as gateways. Any host that does not run VINES is called a foreign host. A foreign host that acts as a gateway is called a foreign host gateway.
A gateway has to make a series of routing decisions whenever it routes packets. As it receives a packet from a network interface, the server gateway performs the following operations:
1. The gateway software looks at the destination address enclosed in the packet.
2. It compares the destination address in the packet with the gateway's own IP addresses.
3. If a match is found, the gateway keeps the packet. If not, the gateway knows that the packet is destined for a host or another gateway. It must then look in its routing table to determine how to route the packet.
A routing table contains the information, or routing knowledge, the gateway needs to route a packet.
It is important here to distinguish between routing knowledge and addressing knowledge. Addressing knowledge enables a host or gateway to address a packet to a destination - just as you would address a letter to someone - and to recognize packets addressed to it. On the other hand, routing knowledge allows a host or gateway to choose a route the packet will take - just as the post office decides how your mail will reach its destination.
Routing tables consist of routing entries. Routing entries associate the following information:
![]()
All the IP interfaces on the gateway and their IP addresses. ![]()
The addresses of all the gateways that can be reached through each interface. ![]()
The addresses of destinations that can be reached through each gateway. Destinations can be either networks, subnetworks, or individual hosts or gateways.
Routing Table Decisions
When it has to decide how to route packets, IP gateways always choose the most specific route. For example, if you define a route to a network, 160.134, and a route to a host in that network, 160.134.0.4, the gateway chooses the route to the host. It does not choose the route to the host's network.
Routing table decisions are made by matching the destination IP address with:
![]()
A specific host route entry ![]()
A subnetwork route entry ![]()
The first matching network route
If no entries in the routing table match the destination ID, the packet is routed to the default gateway.
Routing Tables on Hosts
Hosts tend to be end points, which have only one interface to the network. Figure 2-13 shows a network with four end points and two gateways.
While a host needs complete addressing knowledge for all the destinations to which it wants to send packets, it needs very little routing knowledge. This is because IP implements a distributed routing scheme. Routing knowledge is distributed among gateways across the interconnected networks.
Routing tables on hosts tend to be much simpler than those on gateways. In most cases, hosts need to know only the default gateway. When IP cannot find a match between the destination address in a packet and a destination in its routing table, it routes the packet to the default gateway.
The routing table for Server End Point in Figure 2-13 would look like this:
Routing Tables on Gateways
In Figure 2-13, the routing table on the default gateway, Server 1, contains the routing knowledge needed to get packets that originate from Server End Point to their destinations. Once the packets reach Server 1, Server 1 looks in its routing table to choose the appropriate routes.
Since gateways need to have more routing knowledge than end points, their routing tables are more complex. Figure 2-14 shows a network with three gateways.
The routing tables for Gateways 1 and 2 in Figure 2-14 are shown in Tables 2-2 and 2-3.
Gateway 1 does not need to know the addresses of all the hosts in network 140.111. It needs only the address of Gateway 2, and the address of the destination network. Gateway 1 forwards packets containing a destination address with network number 140.111 to Gateway 2. Gateway 2 then knows how to route the packets to their specific destinations.
Notice that Gateway 2 has two destination networks associated with one gateway, Gateway 1, in its routing table. Thus, Gateway 2 routes both packets for network 160.134 and packets for network 150.125 to Gateway 1. Gateway 1 then routes traffic to either its own network (150.125) or network 160.134. When routing traffic to network 160.134, Gateway 1 passes the packet to Gateway 3.
The last gateway through which a packet passes is the one that has a direct route to the destination. For example, Server 1 in Figure 2-15 is the last gateway for packets destined for end points in network 140.121.
Example Routing a Packet
Figure 2-15 shows a small network with two gateways. The sequence of events that occur when a packet is sent from the PC/TCP workstation to the UNIX workstation in Figure 2-15 is as follows:
1. The PC/TCP workstation addresses the packet to the UNIX workstation, and forwards the packet to Server 1.
2. After receiving the packet, Server 1 looks in its routing table:
Server 1 sees that the network address in the packet is for network 160.134.2, and forwards the packet to the foreign host gateway.
3. After receiving the packet, the Foreign Host Gateway looks in its routing table.
The Foreign Host Gateway forwards the packet to the UNIX workstation.
When a gateway forwards a packet to a directly connected host or gateway, it must know the physical hardware address (for example, an Ethernet LAN address) of the host or gateway. Therefore, the gateway must map the IP address in the packet to the physical hardware address. Refer to "Address Resolution" later in this chapter for more information.
IP fragments packets, enabling them to pass through networks that have small packet size limits. IP assigns an identifying value (ID) to each IP packet. Each fragment of the IP packet contains this ID and a fragment offset field. Together with the source and destination IP addresses, and encapsulated protocol type (TCP, UDP, or VINES), the ID and fragment offset field identify the fragment as it passes through networks.
Once the pieces of a fragmented packet reach their destination, the packet is reassembled. The IP addresses, protocol type, ID, and fragment offset fields give IP the information it needs to reassemble the pieces in the correct order.
Internet Control Message Protocol
Hosts that implement IP also implement the Internet Control Message Protocol (ICMP). ICMP provides IP with information on problems encountered during delivery of data. Typically, gateways use this protocol to update routes, discover unreachable destinations, and become alerted to network congestion.
The Transmission Control Protocol (TCP) provides end-to-end, ordered, reliable delivery of data over a logical connection. A logical connection links two applications while they communicate.
While IP is concerned with moving data between sources and destinations, TCP is concerned with moving data between applications. Because TCP uses the routing services provided by IP, it does not have to know about the topology of the network. It has to know how to locate applications. TCP takes data from its origin - the source application - and ensures that it is properly delivered to the destination application.
TCP is designed for use with unreliable transport subsystems such as IP. IP is responsible only for getting data from one host to another. It does very little error checking. TCP, on the other hand, checks for data integrity.
The User Datagram Protocol (UDP) provides unreliable delivery of data among applications. Like TCP, UDP is concerned with moving data between applications. However, unlike TCP, UDP does not provide a mechanism that guarantees successful end-to-end transmission of data.
Typically, UDP is used where reliability is not a major concern, or the application has built-in reliability algorithms.
Address resolution is the process of mapping IP addresses to physical hardware LAN addresses.
In most cases, address resolution is performed through the Address Resolution Protocol (ARP). ARP enables the server to dynamically learn the LAN addresses of hosts or gateways, provided those hosts or gateways also implement ARP. ARP enables a server to map each IP address of a host or gateway automatically to a link-level LAN address, such as an Ethernet address. On LANs where ARP is not supported, these pairs must be entered manually in the server's TCP/IP configuration.
When a server is connected to two or more LANs, ARP enables it to help hosts on one LAN to find out the LAN addresses of hosts on the other. The server also can help hosts on the same LAN find out each other's LAN addresses.
When a host or gateway needs to find out the LAN address of another, it broadcasts an ARP request over the LAN. The ARP request packet contains the IP address of the other host or gateway, along with other information.
When the server receives the ARP request packet, the server looks at the IP address associated with the LAN address being requested. If the IP address matches the server's IP address on the LAN, the server returns its LAN address.
Some foreign hosts and gateways may not recognize subnetwork numbers, preventing them from learning the LAN addresses of hosts or gateways on different LANs. The services of a gateway that resides on both LANs is required. The gateway must implement an ARP technique called proxy ARP.
Proxy ARP enables your server to send out its LAN address to hosts or gateways when they ask for the LAN addresses of hosts or gateways on another segment. The host or gateway that makes the request uses the server's LAN address to route packets to the destination host or gateway. The server then forwards the packets to the destination host or gateway.
For ProNET-10 LANs, each host or gateway on the LAN can implement direct mapping. Direct mapping enables hosts and gateways to map the ProNET-10 LAN address to the low-order byte of the IP address.
The small ProNET-10 LAN address (8 bits) makes direct mapping possible. Hosts and gateways on the LAN know that their LAN addresses equal the low-order byte of their respective IP addresses. When a host or a gateway must forward a packet to a destination on the same ProNET-10 LAN, the low-order byte of the destination IP address in the packet is used as the destination's LAN address.
Direct mapping eliminates the need for hosts or gateways to send and respond to ARP request packets. However, the LAN address of each host or gateway on the ProNET-10 LAN must equal the low-order byte of its IP address. For example, LAN address 4 could be assigned to the ProNET-10 card in a host with a Class C IP address of 190.8.22.4. When another host needs to learn this LAN address, it knows that the LAN address is 4.
Both the TCP/IP Routing and the TCP/IP Server-to-Server options enable servers to perform routing functions in an IP network. These options integrate IP with the VINES Internet Protocol (VINES IP). Both VINES IP and IP are network-layer protocols that work together to route data. Figure 2-16 shows the relationship between VINES IP and IP in the VINES architecture. For more information on VINES architecture, refer to the VINES Architecture Definition.
A server does not always need to have a TCP/IP option installed to participate in a TCP/IP network. In most cases, a server needs to have a TCP/IP option installed only if it is on the IP backbone. The IP backbone is the interconnected pattern of gateways, and the physical media that link them. You can think of the IP backbone as the major highway in the network, and gateways as the entrances onto the highway.
Figure 2-17 shows a sample IP backbone. Server 1, Server 2, and the Foreign Host Gateway are on the IP backbone, and implement IP. Server 3 routes VINES packets to and from the two workstations connected to it, but does not need to implement IP. Server 3 can use the services of Server 1 to route VINES packets through the IP backbone.
The routing capabilities that the TCP/IP options provide are described in the sections that follow.
The TCP/IP Routing option allows the server to route IP packets addressed to foreign hosts and foreign host gateways in an IP network environment. It also allows you to configure other servers in the VINES cloud, if they have the Routing option installed, as gateways to IP networks. Thus, the TCP/IP Routing option makes it possible to route IP packets across a VINES network.
Without the Banyan TCP/IP Routing option, a server cannot forward IP packets that are not destined for any of its own interface addresses.
Note: Throughout most of this discussion, the term "IP" is used instead of "TCP/IP." The routing functions discussed here apply to IP only. TCP is a transport layer protocol that does not perform routing.
Figure 2-18 shows a sample network that includes:
![]()
Two VINES servers equipped with the TCP/IP Routing option ![]()
Workstations running VINES ![]()
One PC running PC/TCP from FTP Software, Inc. ![]()
Foreign hosts
In Figure 2-18, Server 1 routes traffic traveling between Foreign Host 1, Foreign Host 2, and Server 3. Server 3 routes IP traffic between Server 1 and Foreign Host 3.
In a TCP/IP environment, VINES servers and workstations that communicate without passing packets through a foreign host gateway form a VINES network. They communicate using VINES IP. Figure 2-19 shows a sample VINES network, connected to two foreign host gateways.
When IP packets travel through a VINES network, servers equipped with the TCP/IP Routing option encapsulate them in VINES IP headers. This allows servers to route the packets through the VINES network by means of VINES IP.
The encapsulated IP packets travel over the IP backbone when they pass through the VINES network. VINES IP on each server on the backbone handles the routing. IP views the VINES network as another network interface that it passes packets to and receives packets from.
PC/TCP
In order to communicate with foreign hosts in a TCP/IP environment, workstations in a VINES network must run softwaqre such as PC/TCP from FTP Software, Inc. Workstations running PC/TCP require the services of a server equipped with the TCP/IP Routing option. VINES supports two versions of PC/TCP:
![]()
Workstations running the VINES Transport version of PC/TCP can reside anywhere in a VINES network. ![]()
Workstations running the Ethernet-only version must be on the same LAN as a VINES server running the VINES TCP/IP Routing option or a foreign host gateway.
For workstations running the VINES Transport version of PC/TCP, one server equipped with the TCP/IP Routing option provides routing services in most cases. The server must have a unique IP address assigned to the VINES interface, since the workstations access the server through VINES. The workstations must be assigned a host ID in the same network as the one specified for the VINES interface.
For workstations running the Ethernet-only version of PC/TCP, an IP address must be assigned based on the IP network specified for the corresponding Ethernet LAN. A VINES server or a foreign host gateway may be used to route VINES traffic outside this network. If a VINES server is used, the server must be running the Banyan TCP/IP Routing option, and the Ethernet interface shared with the workstation must be assigned an IP address.
A single PC can use only one server as a gateway. For example, the workstation running PC/TCP in Figure 2-19 can use either Server 1 or Server 4 to communicate with foreign hosts outside the VINES network, but not both.
Note: ln examples that follow, PC/TCP enables workstations to reside anywhere in the VINES network.
When a workstation running the VINES Transport version of PC/TCP sends an IP packet, it is encapsulated in a VINES packet (a VINES header is added to the packet). This enables workstations running PC/TCP to be located anywhere in a VINES network. Servers that are not equipped with TCP/IP can route the encapsulated IP packet via VINES Routing. When the packet reaches a server that has the TCP/IP Routing option, the VINES IP header is removed so that the IP packet can be routed through foreign host gateways. See "Encapsulation and TCP/IP Routing" later in this chapter for more information.
Servers equipped with the TCP/IP Routing option require properly configured routing tables that must contain at least some of the following information:
![]()
The names (or serial numbers) of all servers in the VINES network that have the TCP/IP Routing option, their IP addresses, and IP destinations reachable through them. These gateways are associated with the interface to the VINES network. ![]()
The interfaces to physical media that connect the server directly to foreign host gateways, the IP addresses of the gateways, and IP destinations reachable through them. ![]()
The interface to VINES with a unique IP address, if the server provides routing services to workstations equipped with the VINES Transport version of PC/TCP.
For example, Server 1 in Figure 2-19 has to know that Server 4 is the gateway to Network 3. Server 1's routing table must contain the following entries:
Encapsulation and TCP/IP Routing
When a server has the TCP/IP Routing option installed, sometimes the services of both VINES IP and IP are required to send, receive, and route IP packets. Depending on the situation, VINES IP software may pass packets to IP software, or vice versa.
When a foreign host or gateway routes an IP packet to its destination through a single VINES server equipped with TCP/IP Routing, the IP packet is not encapsulated in a VINES IP packet.
For example, when Foreign Host 2 in Figure 2-20 sends an IP packet to Foreign Host 1, the packet passes through Server 1, which strips off the Token-Ring header and attaches an Ethernet header. IP handles the packet through its entire trip.
However, when an IP packet has to pass through two or more VINES servers on its way to the destination, the IP packet is encapsulated in a VINES IP packet. VINES handles the routing for all VINES IP and IP packets that travel between VINES servers. Figure 2-21 shows this process.
Figure 2-21 illustrates the following process:
1. The packet leaves Foreign Host 1 as an IP packet.
2. When the packet arrives at Server 1, the IP packet is encapsulated in a VINES IP packet (that is, a VINES header is added). The packet is then routed through VINES to Server 2.
Note: When encapsulated, the IP packet is treated as user data in the VINES IP packet.
3. When the packet arrives at Server 2, the VINES IP header is stripped off. The packet is then routed to its destination via IP.
While encapsulated in VINES IP packets, the IP packets are routed from server to server just like normal VINES packets. When the IP packet reaches a server that must route it to a foreign host or gateway, VINES IP software unencapsulates the packet (strips off the VINES header), and passes it to IP software. Once unencapsulated, the packet becomes a standard IP packet.
Network Addressing and TCP/IP Routing
Servers equipped with the TCP/IP Routing option provide an addressing service for routing packets. Both VINES IP and IP implement their own addressing schemes. In order for VINES IP and IP to work together to route data, servers that implement IP map IP addresses to VINES IP addresses. The VINES IP address of a server is derived from its serial number.
If your server has the TCP/IP Routing option installed, you should know which other servers in your VINES network are running the same option. Use the TCP/IP configuration program to map the IP addresses of these servers to their names, if they have been learned through StreetTalk, or to their serial numbers. When you map an IP address to a server name, you also map it to the server's serial number. The IP address mapped to a server name may be any of the addresses corresponding to the server's physical interfaces or the address assigned to its VINES interface.
Servers that are equipped with the TCP/IP Routing option and that act as gateways to and from the VINES network must know each other's names (or serial numbers) and IP addresses. They should also know which destinations can be reached through each other.
The server through which an IP packet enters a VINES network looks at the IP address of the destination and determines how the destination can be reached. The server then sees that the destination can be reached through the VINES network and uses VINES Routing to forward the IP packet to the appropriate server gateway. In turn, this server forwards the IP packet to the destination.
TCP/IP Server-to-Server Option
The TCP/IP Server-to-Server option enables a server to route VINES packets to VINES destinations through foreign host gateways. A VINES packet contains data that originated from a VINES application, such as a mail service, on a server or PC. The TCP/IP Server-to-Server option also enables a server to handle VINES packets that the foreign host gateways route to it.
For example, Server 2 in Figure 2-22 can route VINES packets to Server 1 through Foreign Host Gateway 1. Server 2 also can handle VINES packets that Foreign Host Gateway 1 routes to it.
Notice, in Figure 2-22, that some servers need to have both options installed. For example, Server 2 has to route IP packets between Foreign Host 2 and Foreign Host 3, and it also must route VINES traffic through Foreign Host Gateway 1.
If your server has the TCP/IP Server-to-Server option installed, it must know the IP addresses and names or serial numbers of servers that are running the same option and reside in other VINES networks. The other VINES networks can be reached through foreign host gateways only. See "Network Addressing and the TCP/IP Server-to-Server Option" later in this chapter for more information.
Servers equipped with the TCP/IP Server-to-Server option must also know how to reach other servers through foreign host gateways. For example, the routing table of Server 1 in Figure 2-22 would include the following information:
This entry allows Server 1 to reach Server 3.
Encapsulation and the TCP/IP Server-to-Server Option
Like the TCP/IP Routing option, the TCP/IP Server-to-Server option also performs encapsulation. When a server equipped with the TCP/IP Server-to-Server option routes a VINES packet through a foreign host gateway, VINES IP software passes the packet to IP software. The IP software then encapsulates the VINES IP packet in an IP packet. For example, Figure 2-23 illustrates the following steps:
1. Workstation 1 sends a VINES packet to Server 1.
2. Server 1 encapsulates the VINES packet in an IP packet, and routes the packet to Foreign Host Gateway 1.
3. Foreign Host Gateway 1 routes the packet to Server 2.
4. Server 2 strips off the IP header, then routes the remaining VINES IP packet to Workstation 2.
Network Addressing and the TCP/IP Server-to-Server Option
If your server has the TCP/IP Server-to-Server option installed, use the TCP/IP configuration program to specify the servers outside your server's VINES network that also have the TCP/IP Server-to-Server option installed. This involves mapping the IP addresses to the servers' names, if they have been learned through StreetTalk, or to their serial numbers.
Remember that the VINES IP address of a server is derived from its serial number. Mapping an IP address to a server name is the same as mapping it to a serial number.
When you are mapping a server to its IP address, you must specify the IP address of a physical interface on that server. Mapping to the IP address of the VINES interface will not work.
When a server sends a VINES IP packet, the packet contains the VINES IP address of its destination. If that destination can be accessed only through foreign host gateways, a server equipped with the TCP/IP Server-to-Server option must map the VINES IP address of the destination to an IP address. This IP address is placed in the IP header that encapsulates the VINES IP packet, and is used by hosts to route the packet through the IP backbone.
The destination IP address can identify one of the following:
![]()
The destination server. In this case, the destination server must be running the TCP/IP Server-to-Server option. ![]()
A VINES gateway server that runs the TCP/IP Server-to-Server option and acts as a gateway to the destination server. This server will strip the IP header and route the remaining packet to its destination through VINES.
Figure 2-24, together with Table 2-4, shows how servers equipped with the TCP/IP Server-to-Server option provide addressing services for routing a VINES IP packet from a source server to a destination server.
Note: It is recommended that only servers that share a physical interface with a foreign host gateway be chosen to route VINES traffic across an IP backbone. In Figure 2-24, Server 2 and Server 3 are configured with the TCP/IP Server-to-Server option. All other servers in the network use the services of either Server 2 or Server 3 to route traffic across Foreign Host Gateway 1.
To route a packet from the source server (Server 5) to the destination server (Server 1), the servers in Figure 2-24 require the options shown in Table 2-4.
The screen that follows shows part of Server 3's TCP/IP configuration, which includes part of its routing table and VINES IP and IP address mappings.
In Figure 2-24, when VINES packets leave Server 5 destined for Server 1, they contain Server 1's VINES IP address in the VINES IP header. Server 5 routes the packet to Server 4. Using VINES IP, Server 4 looks at this address and routes the packet to Server 3.
When Server 3 looks at the VINES IP address, it also looks at its routing table. Based on information in the routing table, Server 3 knows the following:
![]()
To reach Server 1, it must route through Server 2. ![]()
To reach Server 2, it must route through an IP backbone. ![]()
Server 2's IP address is 160.134.1.2.
Server 3 encapsulates the packet in an IP packet by adding an IP header, which contains Server 2's IP address and information that indicates the packet has VINES data. The packet is routed through Foreign Host Gateway 1 to Server 2. Based on information in the IP header, Server 2 knows the following:
![]()
The packet contains VINES data. ![]()
The packet is destined for Server 1.
The server software strips the IP header and passes the packet to VINES. The VINES software examines the VINES IP header, which includes Server 1's VINES IP address. Server 2 then routes the VINES packet to Server 1, using VINES IP.