Banyan Protocols

 

The Banyan Network, known as VINES (Virtual Networking System), is based on the UNIX operating system. VINES uses UNIX multi-user, multi-tasking characteristics to internetwork LANs and WANs. The Banyan suite includes the following protocols:

  • VARP - VINES Address Resolution Protocol.
  • VIP - VINES Internet Protocol.
  • ICP - Internet Control Protocol.
  • RTP - Routing Update Protocol.
  • IPC - InterProcess Communications Protocol.
  • SPP - Sequenced Packet Protocol.
  • NetRPC - NetRemote Procedure Call.
  • StreetTalk.

The following diagram illustrates the Banyan protocol suite in relation to the OSI model:

Banyan protocol suite in relation to the OSI model

 

VARP

The VINES Address Resolution Protocol (VARP), is used for finding node Data Link Control (DLC) addresses from the node IP address.

Frames

VARP frames can be one of the following types:

[service request] Requests ARP service.
[service reply] Acknowledges ARP service available.
[assign request] Requests assignment of IP address.
[assign reply] Assigns IP address.

Parameters

VARP packets have the following parameters:

Network
Network number of servers responding to ARP requests and the network number assigned to the station requesting an IP address.

Server serial number
Decimal equivalent of the server network number i.e., the server key number.

Subnet
Subnet number assigned to the system requesting a VINES IP address.

 

VIP

The VINES Internet Protocol (VIP) moves datagrams throughout the network.

Hop count
Maximum number of server hops that the packet can make before a server discards them. VIP decrements the hop count at each server (routing node).

Error flag
Error flag determines the action on routing errors. If set to one, an ICP error frame is generated if a routing error occurs with the packet.

Metric flag
When set to one, the destination server sends an ICP metric frame to report the routing cost to the destination end node.

Broadcast class
VIP uses the broadcast class with the hop count to determine the routing requirements of broadcast packets. Broadcast classes are as follows:

0 All reachable nodes regardless of cost.
1 All nodes reachable at moderate cost.
2 All nodes reachable at low cost.
3 All nodes on the LAN.
4 All reachable servers regardless of cost.
5 All servers reachable at moderate cost.
6 All servers reachable at low cost.
7 All servers on the LAN.

Destination Internet address
The VINES Internet address of the destination node, consists of an 8-digit hexadecimal network number and a 4-digit subnetwork or user number in the form XXXXXXXX.XXXX. VIP uses the subnetwork number 0x0001 for servers. Work stations have subnet numbers starting with 0x8000.

Source Internet address
The VINES Internet address of the source node given in the same form as the destination Internet address.

 

ICP

The Internet Control Protocol (ICP), is used to notify errors and changes in network topology. ICP frames may contain the following parameters:

Cost
Routing cost in seconds to reach the specified destination node as given in ICP metric frames.

Communication error
The error message returned by ICP error frames. Possible messages are as follows:

{Invalid socket} Specified socket invalid.
{Resource in use} Resource already in use.
{Invalid operation} Specified operation invalid.
{Bad MemAddr par} Invalid memory address parameter.
{Dest unreachable} Destination node unreachable.
{Message overflow} Message overflow.
{Bad Dest socket} Invalid destination socket.
{Bad Addr family} Invalid address family.
{Bad socket type} Specified socket does not exist.
{Bad protocol} Protocol does not exist.
{No more sockets} No more sockets available.
{No more buffers} No buffer space available.
{Timed out} Connection time out.
{Bad operation} Unsupported operation.
{Resource unavail} Resource unavailable.
{Comm failure} Internal communication failure.
{H/W Reset failure} Hardware controller reset failure.
{ARP error} Internet address resolution error.
{User terminated} User terminated request.
{Protocol reset} Protocol reset occurred.
{Protocol discnct} Protocol disconnect occurred.
{User aborted} User aborted message.
{Resource discnct} Resource disconnected.

 

RTP

The Routing Update Protocol (RTP) is used to distribute network topology.

Packets

RTP packets may be of the following types:

[router update] Routing update from a router (server).
[endnode update] Routing update from an end node (workstation).

Frame Parameters

RTP [router update] packets have the following parameters:

Routing table size
Number of entries in the routing table as returned by routing response packets. The routing entry for each known router is given in the form: XXXXXX(CC), where XXXXXXX is the server number and CC is the routing cost to reach the server in units of 0.2 seconds.

Host system type
The host system type may be as follows:

XT, MB PC-XT class with multi-buffered LAN controller.
AT, SB PC-AT class with single-buffered LAN controller.
AT, MB PC-AT class with multi-buffered LAN controller.

Single-buffered LAN controllers use hardware/software that require this protocol to load and transmit each data block one at a time, while multi-buffered LAN controllers are capable of transmitting streams of data.

 

IPC

The InterProcess Communications (IPC) protocol provides both datagram and reliable message delivery service.

Frames

IPC frames may be one of the following types:

[data] Bulk data transfer.
[error] Transport layer error notification.
[detach] Request to disconnect transport connection.
[probe] Request for retransmission of missed frame.
[data ack] Acknowledgment of data transfer.

Frame Parameters

IPC frames have the following parameters:

Source port
Message buffer interface used by the transport layer to access the transport protocol.

Destination port
Local destination port in use by the transport layer.

Sequence number
Numeric index used to track the order of frames transmitted across a virtual connection. Each direction of data flow across the virtual connection uses an independent set of sequence numbers.

Acknowledgement number
Last sequence number received from the other side of the virtual connection. For IPC error packets, the sequence number of the packet causing the error notification.

Source connection ID
Reference code used to identify the sending side of a virtual connection.

Destination connection ID
Reference code used to identify the receiving side of a virtual connection.

 

SPP

The Sequenced Packet Protocol (SPP) provides a reliable virtual connection service for private connections.

Frames

SPP frames may be one of the following types:

[detach] Request to disconnect transport connection.
[probe] Request for retransmission of missed frame.
[data ack] Acknowledgment of data transfer.

Frame Parameters

SPP frames have the following parameters:

Source port
Message buffer interface used by the transport layer to access the transport protocol.

Destination port
Local destination port in use by the transport layer.

Sequence number
Numeric index used to track the order of frames transmitted across a virtual connection. Each direction of data flow across the virtual connection uses an independent set of sequence numbers.

Acknowledgement number
Last sequence number received from the other side of the virtual connection.

Source connection ID
Reference code used to identify the sending side of a virtual connection.

Destination connection ID
Reference code used to identify the receiving side of a virtual connection.

 

NetRPC

The NetRemote Procedure Call (NetRPC) protocol is used to access VINES applications such as StreetTalk and VINES Mail. A program number and version identify all VINES applications. Calls to VINES applications must specify the program number, program version, and the specific procedure within the program, where applicable.

Frames

NetRPC frames may be one of the following types:

[request] Request from a VINES client.
[reply] Response from a VINES application.

Frame Parameters

NetRPC frames can contain the following parameters:

Transaction ID
Code used to match NetRPC requests with NetRPC replies.

Program number
Code used to refer to the requested application.

Version number
Version number of the requested program.

Procedure number
Procedure number of the requested program.

Error status
Error status of the NetRPC reply.

 

StreetTalk

StreetTalk maintains a distributed directory of the names of network resources. In VINES, names are global across the Internet and independent of the network topology.


search ][ protocols by family ][ index of protocols