Banyan Vines
Introduction
Vines stands for Vitual Networking System and is designed by Banyan Systems Inc.
The Operating software is maintained by the Server which provides and maintains the resources for the clients.
SNA, TCP/IP and Appletalk (as an AppleShare device) are supported in the version 5.5.2.
Startup
Unique network addresses are bound to high level names called StreetTalk Names. StreetTalk names are in the
format Item@Group@Organisation e.g. David Smith@Education@Bay Networks. The Item can have 31
characters, Group 15 and Organisation 15.
The BAN.EXE file is run from the client and this executes other commands used to attach the client to the server.
BAN.EXE reads the file PCCONFIG.DB file for the type of LAN card installed and installs the appropriate driver, the
client then broadcasts for a Routing Server which assigns a unique network address to the client. The client executes
the REDIR.EXE program which broadcasts for a Server with the same software release as itself, if it cannot
find one it executes the NEWREV.EXE program which reports the software releases of the routers software that
are one hop away or less and the client has a choice to upgrade or downgrade. Once the client and server are of the same
software release, the LOGIN.EXE program is executed. The Z: Drive Server then checks the Login name using
Security and the authenticity of the StreetTalk services.
The Organisation is at the top of the tree followed by the Group, so the Group must reside within an Organisation and
must be physically located on the server that it was created. StreetTalk updates are sent to every server notifying
each server of each available group when a group is added or deleted, when a server is added and when a 12 hour clock
expires. The StreetTalk information is kept in the StreetTalk Master File and has information on every Item
of every group@org on that server and also, a pointer to the name of the server that maintains a group not on this
server, as well as a routing table entry for the next hop to that server. A server that has not been heard from
for 96 hours will be dropped from this table.
Banyan Vines and the OSI Layers
As a reminder the OSI layers are:
- Application
- Presentation
- Session
- Transport
- Network
- Data Link
- Physical
At the Data Link layer the Fragmentation Protocol (FRP) converts packets to be sent into smaller frames and reassembles
them at the receiving end. This is unusual, normally fragmentation occurs at the Session layer.
Vines Internet Protocol (VIP) carries out a best effort delivery of datagrams through the network, it performs the
functions of IP. The Routing Update Protocol (RTP) distributes the network topology information amongst the servers.
The Address Resolution Protocol (ARP) assigns unique internet addresses to new clients whilst the Internet Control Protocol (ICP)
provides indication of unreachable destinations and routing cost information (similar to ICMP).
At the Transport Layer, to coordinate end to end transfer, we have IPC unreliable (Inter Process Communications Protocol)
which provides a datagram service for broadcasts in particular; IPC reliable, which provides an acknowledged message
sevice for use with print services and initial file server connections; and SPP (Sequenced Packet Protocol)
which binds the client to the file service providing a virtual connection.
Addressing
Each node has a 48 bit unique internet address consisting of a 4 byte network number and a 2 byte subnetwork number.
The network number of the router nodes (servers) is based on the server key attached to the parallel port on the Banyan
server whilst the subnetwork address for the server is always 0001. The network number of the client is assigned
by the routing server (either a Banyan Vines server or a Bay Networks router, the special range is 30400000 to 305FFFFF).
The subnetwork address for the client can be chosen from the range 8001 to FFFE on a round robin basis.
On startup, the client sends an ARP broadcast to any server on the same physical media as itself. A server responds
and places its source address in the frame along with an address for the client. The client receives this from the
first responding server and puts the servers address in the frame and requests a network number for itself. This server
responds with an available subnetwork number from the pool and becomes the clients Routing Server. All traffic forwarding
decisions are based upon the destination network number, the routing server also handles the translation of the VIP
address to the clients MAC address. The Routing Server acts as the Default Gateway for the client and if the Routing
Server became inactive, the client would need to be rebooted in order to claim a new Routing Server and a new network
address.
Vines IP Header Format
The 18 byte Vines header follows the data link header, and following it is data for upper
layer protocols or RTP, ARP and ICP headers. The length field includes this header and all the
data following.
The Transport Control Field could indicate a node class for which a broadcast is destined
and its hop count, or indicate an error, metric, redirect message with a hop count. A broadcast
has its destination data link address set to all Fs. If Vines IP cannot route a packet, then it sets
the Error bit and ICP then interrupts and handles it. The Metric bit is set when the Transport
Layer needs the last hop cost between the destination service node and the destination client node.
A routing server will set the Redirect bit to indicate that a better route exists through a
different server.
Value (hex) |
Bit positions |
Subfield name |
|
0 |
reserved |
0 - 7 |
0 - 3 |
if all Fs broadcast, then broadcast class |
4 |
1 |
redirect |
2 |
2 |
Metric |
1 |
3 |
Error |
00 - 0F |
4 - 7 |
Hop Count |
The Protocol Type field indicates whether the packet is destined for a Transport Layer
protocol (IPC, SPP) or a Network Layer protocol (ARP, RTP, ICP).
Vines IP Routing
Below is the Vines Routing Algorithm:
Clients pay no attention to route packets but Servers have compulsory support for route-
through services.
The Routing Table Update Protocol (RTP) is used to exchange routing information across the
Vines network and decisions are based on a routing metric, which is an estimated round-trip
delay in 200ms intervals. A metric of 0xFFFF indicates that the destination is unreachable.
Clients pay no attention to route packets but Servers have compulsory support for
route-through services. Service and Client nodes maintain two routing tables; a Known Networks
Table and a Neighbors Table.
The Servers Known Networks Table contains; all known local or remote networks, a pointer to
the next hop, current metric to each destination network and an Idle timer. The Clients
just track the networks that they are currently communicating with.
The Servers Neighbors Table contains; an entry for every directly connected server, an entry
for every client assigned a network address by this server and an entry for every client this
server is currently communicating with. The Clients just have entries for the server that
gave them their address and every node that they are currently communicating with.
RTP
There are four types of RTP packets:
- Request Packet: Request routing table information from a server/router node.
- Update/Response: A 'Keep Alive' signal every 98 seconds or when a change occurs.
- Redirect Packet: Information of a more direct route for a client, via another server.
- Reinitialize: A broadcast by a server indicating the removal of itself and therefore its removal from all
their routing tables.
The Internet Control Packet (ICP) is used to report reachability information (like ICMP with TCP/IP)and
it contains the Packet Type (0x0000 for error and 0x0001 for metric notification), the Code field
(0x155 for host unreachable and 0x163 for time out event), and Parameters containing exception
or metric notification event.
Routing Metrics
Given the above setup, the routing metric notification is used by a server to obtain a last hop cost for a
destination Vines IP address. Server 1 only knows the metric to Server 3 until the ICP metric notification
arrives with the metric for the Asynch connection. Server 1 then sends a packet to the client and Server 3
returns an ICP metric notification to Server 1 with the last hop cost value to reach the client.
If the Asynch link fails then Server 3 sends an ICP exception notification back to Server 1. If a client
dies and then comes back on then its address changes and this gives an error condition.
Peculiar to Bay Networks implementation of Banyan Vines is the ability to allow clients on a serverless
network to communicate with Vines Servers in the internetwork, thereby overcoming the Vines single hop limitation.
Serverless Network Segment support also allows communication between clients and servers across multiple routers.
Source Route End Station support allows routeable traffic generated in a source route bridge environment
to be routed to end stations on remote LANs over a multiprotocol backbone. The Bay Networks router acts as an
end station and a router.
|