VINES Protocol Definition
Chapter 1 - Overview of VINES Protocols
This chapter gives an overview of VINES protocols. Each protocol is described briefly. Table 1-1 and Table 1-2 show the VINES elements that perform communications protocol functions and how these functions correspond to the layers of the Open Systems Interconnect (OSI) model.
The sections that follow discuss the following topics:
VINES supports most LAN and WAN point-to-point communication standards. This section describes these standards, as well as the following VINES protocols:
![]()
Fragmentation Protocol (FRP) ![]()
Echo Protocol
VINES fully supports several communication standards as implemented by popular LANs and will add others.
Token-Ring
For Token-Ring LANs, VINES supports IEEE standards, which categorize the data link layer into two sublayers:
![]()
Logical Link Control (LLC) ![]()
Medium Access Control (MAC)
Logical link control is defined by the IEEE 802.2 Logical Link Control (LLC) and the Subnetwork Access Protocol (SNAP) standards.
Medium access control is defined primarily by the IEEE 802.5 token-passing access method. The IBM Token-Ring LAN, which VINES supports, is an example of this method. Other examples include ProNET-4, 3Com, Madge, and Ungermann Bass.
Ethernet
For Ethernet LANs, VINES supports the Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method using a bus topology. VINES supports the Ethernet "Blue Book" standard.
NDIS
VINES also supports the Network Driver Interface Specification (NDIS). This standard defines the interface between, for example, a LAN card driver and its users, such as VINES protocols.
For more information on these protocols, see Chapter 2.
WAN Point-to-Point Telecommunication Protocols
For WAN point-to-point telecommunications, VINES uses several protocols.
LAPB
VINES supports Level 2 of the CCITT X.25 standard with Link Access Procedure Balanced (LAPB) for optimized synchronous point-to-point serial communication links over both analog and fractional T1 (FT1) facilities. This protocol is also known as High-level Data Link Control (HDLC). The ICATM, ICAmCTM, and ICAplusTM cards support LAPB communications over analog facilities. The ICAplus card also provides the physical interface for LAPB FT1 communications.
X.25 Level 3
VINES supports Level 3 of the CCITT X.25 standard for server-to-server communications over X.25 public and private networks. The server requires the ICA, ICAmC, or ICAplus card.
Block Asynchronous
VINES supports the VINES Block Asynchronous protocol for asynchronous point-to-point analog communication links between servers and workstations. The server must be equipped with the ICA, ICAmC or ICAplus cards. The workstation does not require a special card.
LAPD
VINES supports the Link Access Procedure on the D-Channel (LAPD) access method with SNAP for server-to-server communications over FT1 or full T1 facilities. The Promptus® T1 card provides the physical interface for LAPD FT1 and T1 communications.
ISDN BRI
VINES supports the Integrated Services Digital Network (ISDN) Basic Rate Interface (BRI) for both server-to-server and workstation-to-server communications.
For server-to-server communications, the DATAVOICE® BRI UNIX® PC card from SCii provides the physical interface.
For PC-to-server communications, the ICA , ICAplus, and ICAmC cards provide the physical interface on the server side. The PC does not require a special card. Both PC and server must be equipped with ISDN-compatible telecommunications devices.
Because different physical media and data link protocols do not transmit data units of the same size, VINES provides a Fragmentation Protocol (FRP) that breaks up and reassembles network layer VINES internet packets. A packet is the network layer unit of data.
On the sending end, FRP converts packets into smaller units that the physical medium or data link protocol can accept. All data link units that travel over a physical medium are called frames. Frames begin with a header that is specific to the data link (for example, Ethernet). If used, FRP protocol information appears in a header that follows the data link header.
On the receiving end, FRP reassembles frames into VINES internet packets.
For more information on this layer, see Chapter 2.
VINES uses its own Echo Protocol for diagnostic purposes. See Chapter 2 for the Echo Protocol format.
In the network layer, VINES provides protocols that perform routing, routing table management, addressing and error, and routing-cost notification functions. The VINES network layer protocols are as follows:
VINES Internet Protocol (IP) - Moves packets through the network. Together with RTP, VINES IP is responsible for making routing decisions, which involve determining the appropriate routes packets should take to reach their destinations. A route is an interconnected pattern of data links and nodes that connects two nodes in a network.
VINES Routing Update Protocol (RTP) - Distributes network topology information. Responsible for resolving internet addresses and LAN addresses.
VINES Address Resolution Protocol (ARP) - Assigns unique internet addresses to nodes without addresses.
VINES Internet Control Protocol (ICP) - Provides three support functions: indications of network layer exceptions (such as unknown or mismatched addresses), special routing-cost information, and network layer echoing.
VINES supports these three services on the transport layer:
Unreliable Datagram - Supports the transmission and reception of unreliable datagrams. An unreliable datagram is a single packet sent out on the network and routed on a best-effort basis to one or more destination nodes. An unreliable datagram is not acknowledged by the network layer or the transport layer when it arrives at its destination. The packet can occasionally be duplicated, lost, or delivered out of sequence.
Reliable Message - Supports the transmission and reception of reliable messages. A reliable message is a small block of up to four VINES internet packets that is transferred from a process on a source node to a process on a destination node. When a reliable message arrives at its destination node, it is atomic, unique, acknowledged, and in sequence with other messages.
Data Stream - Supports a data stream, which is a controlled flow of data between two processes. Unlike reliable message exchange, a data stream supports the transfer of messages of unlimited size.
The reliable message service and the data stream service support virtual connections, which provide full-duplex transmission of data between entities, such as two processes, on network nodes. A virtual connection ensures that packets are delivered sequentially, and only once. Individual packets transferred on a virtual connection are given sequence numbers to ensure orderly delivery.
The VINES transport layer protocols that support these functions are as follows:
VINES Interprocess Communications Protocol (IPC) - Provides unreliable datagram service and reliable message service.
VINES Sequenced Packet Protocol (SPP) - Provides data stream service.
For more information on the VINES transport layer, see Chapter 6.
Session and Presentation Layer Protocols
On the session and presentation layers, VINES uses NetRPC®, the VINES Remote Procedure Call (RPC) protocol, and supports the Server Message Block (SMB) protocol for DOS and OS/2® network file requests.
NetRPC provides a high-level programming language that simplifies the construction of distributed applications. It lets developers create source code that is independent of transport layer and end-node architectures.
NetRPC was originally developed as a compiler that implemented an optimized superset of the XNS Courier Protocol, an early RPC protocol. NetRPC uses a request-reply method to simplify common communication exchanges between service and client applications running on two network nodes (such as a DOS workstation and a server). With NetRPC, a call to an application process on a remote node is as simple as invoking a local procedure in C. All the packaging of arguments and message communication is handled automatically.
At the session level, NetRPC provides a network interface to the transport layer. Banyan® applications use RPCs and IPC port addresses to exchange IPC reliable messages of up to 5800 bytes, with NetRPC managing transport layer sockets.
At the presentation level, NetRPC represents and translates data types as needed. A data type is the specific format used to represent data to an application during a request-reply procedure. NetRPC transparently resolves problems such as byte-ordering on all supported processor types.
For more information on data and processor types, see Chapter 7.
SMB is the protocol that the VINES redirector under DOS and OS/2 and that file services on VINES and ENS for UNIX servers use to handle file-related requests. The SMB header contains information on the type of request, such as a read or a write.
For more information on the Banyan implementation of SMB, see Chapter 7.
Banyan provides diverse applications that run on servers and workstations, as well as support for third-party applications. These programs operate together to provide an ordered procedure for accomplishing user or manager tasks in a multivendor business computing environment.
Banyan applications allow multiple, independent DOS, Windows, OS/2, and Macintosh users to share critical system resources such as printers, disk storage, and communications facilities. Accomplishing tasks on the network reflects the way users interact within their own organization or department.
Examples of applications provided by Banyan are as follows:
![]()
StreetTalk Service - Provides distributed naming of users, services, and lists of users and services to the network. ![]()
Security Service - Authenticates user login and access to network services. ![]()
Server Service - Manages other services on servers and provides time synchronization to the network. ![]()
File Service - Provides an integrated DOS, OS/2, and AppleShare file system to users. ![]()
Print Service - Allows DOS, OS/2, and Macintosh users to share network printers. ![]()
AppleTalk Filing Protocol (AFP) Service - Allows Macintosh users to access files and other resources on servers.
For more information on the application layer, see Chapter 8.
Banyan applications typically consist of two components: a service and a client.
Each service consists of one or more UNIX processes running on a server.
Clients that communicate with services typically run on DOS, OS/2, and Macintosh workstations, although some clients also run under UNIX. On DOS and OS/2 workstations, base software runs on the workstations after the BAN command is issued and provides a communications environment for all Banyan clients, such as the redirection of file and print operations to the network.
Clients on Macintosh workstations use native AppleTalk protocols to communicate with services. Banyan clients, such as Intelligent Messaging mail, use these protocols to communicate with services in AppleTalk networks.
Services also communicate with one another to exchange information. The StreetTalk Service, for example, provides information to other services in order to locate objects on the network.
Banyan services and other applications use both the request-reply and virtual connection models for interprocess communication, depending on the task. For example, routines that change the configuration of a service use service/client RPCs, but file transfers during terminal emulation use virtual connections.
Support for Multiple Protocol Families
Banyan applications reside in the application layer of the VINES architecture, but many of them are designed to use other protocol families as well. For example, on ENS servers, the StreetTalk Service uses VINES protocols and NetWare Internetwork Packet ExchangeTM (IPX) and Sequenced Packet Exchange (SPX) protocols for network communications.
Application Development Environment
Banyan provides an integrated applications development environment under DOS, OS/2, Windows, and UNIX. The environment includes tools that allow a developer to create both service programs and client programs to run in the VINES environment and interact with services.
Interfaces to Other Protocol Families
VINES is designed to be integrated with other protocol families in order to enhance and interoperate with multiple networking environments, such as AppleTalk and NetWare. VINES can be integrated with these protocol families:
![]()
TCP/IP - Servers equipped with the appropriate server-to-server option can tunnel VINES traffic to other VINES networks through TCP/IP networks. Servers equipped with the TCP/IP Routing option can act as IP routers. When also equipped with the appropriate Simple Mail Transfer Protocol (SMTP) and Simple Network Management Protocol (SNMP) options, servers can act as SMTP mail gateways and SNMP agents. SMTP mail gateways allow VINES users to exchange messages with users of SMTP mail systems. SNMP agents can be managed according to the SNMP standard.
Workstations can be equipped with PC/TCP from FTP Software Inc., which provides RLOGIN, FTP, TELNET, and other TCP/IP application support.
![]()
AppleTalk - Servers can provide AppleShare file services, print services, and mail services to Macintosh workstations, and can act as AppleTalk routers. Servers can tunnel AppleTalk traffic through VINES networks. ![]()
IPX/SPX - ENS servers and VINES servers equipped with the ENS for NetWare option can run IPX/SPX protocols in order to provide services to NetWare networks. Servers can tunnel NetWare traffic through VINES networks and can tunnel VINES traffic through NetWare networks. ![]()
SNA - ENS for UNIX servers support the VINES communications gateway for SNA, which provides 3270 emulation support to DOS and Windows workstations. VINES servers support a native 3270/SNA service which also provides 3270 terminal emulation support. VINES servers support the SNA Server-to-Server option, which allows VINES networks to communicate through an intermediate SNA network.
For information on VINES interfaces to other protocol families, see Chapter 9. That chapter does not discuss gateways, such as the Banyan SMTP or 3270/SNA gateways. Instead, it focuses on interfaces between low-level VINES protocols, such as VINES IP, and non-VINES protocols.
This section provides an overview of the VINES protocol format.
One or more frames can contain a single VINES packet, which begins with the VINES IP header. The header includes node addresses, a software checksum if needed, an identifier for the next protocol header in the packet, and the length of the entire packet.
A header for another network layer protocol or transport layer protocol follows the VINES IP header.
If the packet contains another network header, it contains either ARP, ICP, or RTP data. See Chapter 3, Chapter 4, and Chapter 5 for more information on these protocols.
If the packet contains a transport header, this header specifies a reliable message, unreliable datagram, or data stream service, depending on whether the IPC or SPP protocol is used.
An unreliable datagram consists of a single data packet that is transferred from a single source to one or more destinations.
A reliable message consists of a set of data packets (from one to four) that is transferred from one source to one destination.
A data stream service supports a continuous stream of data between two communicating processes. Unlike reliable messages, the stream is not divided into discrete units.
Figure 1-1 shows a sample frame.
In the figures in this document, bits, bytes, and headers are transmitted on a physical medium, such as a cable or telephone line, from top to bottom. The bit, byte, or header on top is transmitted ahead of the bit, byte, or header underneath. For example, in Figure 1-1, byte 0 is transmitted before byte 1. Figure 1-2 illustrates the order of transmission.