VINES ran on a low-level protocol known as
VIP—the
VINES Internetwork Protocol—that was essentially identical to the lower layers of the
Xerox Network Systems (XNS) protocols. Addresses consist of a 32-bit address and a 16-bit
subnet that map to the 48-bit
Ethernet address to route to machines. This means that, like other XNS-based systems, VINES can only support a two-level internet. A set of
routing algorithms, however, set VINES apart from other XNS systems at this level. The key differentiator,
ARP (
Address Resolution Protocol), allowed VINES clients to automatically set up their own network addresses. When a client first boots up, it broadcast a request on the subnet asking for servers, which responds with suggested addresses. The client used the first to respond, although the servers could hand off "better"
routing instructions to the client if the network changed. The overall concept resembled
AppleTalk's AARP system, with the exception that VINES required at least one server, whereas AARP functioned as
peer-to-peer. Like AARP, VINES required an inherently "chatty" network, sending updates about the status of clients to other servers on the
internetwork. Rounding out its lower-level system, VINES used
RTP (the
Routing Table Protocol), a low-overhead message system for passing around information about changes to the routing, and ARP to determine the address of other nodes on the system. These closely resembled the similar systems used in other XNS-based protocols. VINES also included
ICP (the
Internet Control Protocol), which it used to pass error-messages and metrics. At the middle layer level, VINES used fairly standard software. The
unreliable datagram service and
data-stream service operated essentially identically to
UDP and
TCP on top of
IP. VINES added a
reliable message service as well, a hybrid of the two that offered guaranteed delivery of single packets. Banyan offered customers
TCP/IP as an extra cost option for owners of standard Vines servers. This extra charge for TCP/IP on VINES servers continued long after TCP/IP server availability had become commoditized. At the topmost layer, VINES provided the standard file and print services, as well as the
StreetTalk, a globally consistent
name service. Banyan had a version of StreetTalk that ran natively on a
Windows NT server. Using a globally distributed, partially replicated database, StreetTalk could meld multiple separated networks into a single network that allowed seamless resource-sharing. It accomplished this through its hierarchical naming-scheme; entries in the directory took the form
item@
group@
organization (similar to the naming format used in the XNS Clearinghouse directory service:
item:
group:
organization). This applied to user accounts as well as to resources like
printers and
file servers. == Protocol stack ==