Previous PageNext Page

Chapter 3 - VINES Protocol Layers

VINES and the Physical Layer

Broadband
Baseband
Point-to-point
Twisted pair
Token-Ring LAN
Ethernet LAN
ARCNET LAN

VINES and the Data Link Layer

Packet transfer
Diagnostics packet echo between neighbors

On the sending end, FRP converts packets into smaller units, or fragments, when necessary for transmission by the physical medium or data link protocol. Each fragment is contained within a frame that holds the fragment as well as the various protocol headers.
On the receiving end, FRP reassembles the fragments into internet packets.

Sends and receives frames from neighboring nodes.
Moves frames as units of data with sizes up to 1500 bytes (without data link layer protocol headers). Maximum size may change with transfer media. For example, CSMA/CD has a maximum data size of 1496 bytes with a 4-byte checksum.
Broadcasts frames, except where HDLC or block asynchronous protocol entities are used.

Data Link Sublayers

Logical Link Control (LLC) sublayer
Medium Access Control (MAC) sublayer

Figure 3-1. Data Link Layer and Sublayers

Figure 3-2. Data Link Sublayer and FRP Headers

Ethernet
Token-Ring
ProNET
ARCNET
LANSTARTM
OmninetTM

HDLC (LAPB) for synchronous point-to-point communications
Block asynchronous
T1 LAPD
ISDN
X.25

VINES LLC Sublayer

VINES MAC Sublayer

IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method, using a bus topology. An example is Ethernet.
IEEE 802.5 Token passing access method, using a star-wired ring topology. An example is the IBM Token-Ring LAN.

VINES Ethernet Implementation

Encapsulates and unencapsulates frames for transmission across the cable
Detects errors
Implements access control algorithms

VINES Token-Ring Implementation

VINES Source-level Routing

Figure 3-3. Packet Broadcasts on a Token-Ring Network

Workstations on Token-Ring LANs without a VINES server must have SLR enabled to communicate through bridges.
If a VINES server or workstation with SLR enabled is attached to a bridge connected to other rings, all servers on those other rings must also have SLR enabled to accept and respond to SLR packets.
Workstations on Token-Ring LANs with a VINES server can route traffic through the server without having SLR enabled. This increases the efficiency of the network.
Workstations on Token-Ring LANs that use the NEWREV program to upgrade from any server across a bridge must have source-level routing enabled.
SLR across remote bridges is supported only on servers running VINES 5.5 or greater.

VINES NDIS Support

Example Supporting Dual NDIS Interface Drivers

Figure 3-4. How VINES and Other High-level Protocols Share a MAC Driver

VINES and the Network Layer

IP header - 18 bytes
Transport header - 16 bytes
Data - 1450 bytes

VINES Internet Protocol (VINES IP)
Routing Update Protocol (RTP)
Address Resolution Protocol (VINES ARP)
Internet Control Protocol (ICP)

VINES Internet Protocol (VINES IP)

VINES Internet Addressing

Server addresses are based on the serial number of the server. Because this serial number is stored in the server key, each server has a unique address.
Workstation addresses are assigned dynamically by software using the VINES Address Resolution Protocol (ARP). The workstation's address is obtained from the workstation's routing server.

The network number identifies the VINES server that assigned the address. The network number is the serial number of the server's VINES server key.
The subnetwork number identifies a unique node among all the nodes assigned addresses by the server that is specified by the network number. For servers, the subnetwork number is always 0x0001 since all server network numbers are unique. For workstations, the subnetwork number is dynamically assigned, starting at 0x8000 and ending with 0xfffe.

VINES Routing Update Protocol (VINES RTP)

VINES Address Resolution Protocol (VINES ARP)

The address resolution service is implemented on servers and routers. It assigns VINES internet addresses to any node which has no pre-assigned address.
The address resolution client is implemented on workstations (except Macintosh workstations). It broadcasts requests to the network to locate routing servers and obtain an internet address from the address resolution protocol on that server.

VINES Internet Control Protocol (VINES ICP)

VINES Packets

Node address
A software checksum, if needed
An identifier for the next protocol header in the packet
The length of the entire packet

Support for Non-VINES Network Layer Protocols

Non-VINES nodes over a VINES network
VINES servers over a non-VINES network

Example Routing Non-VINES Packets Across a VINES Network

1. VINES retains the foreign protocol headers on the message when it     enters the VINES network.

2. VINES network-layer headers are added to route the message within the VINES network, if needed.

3. The VINES protocol headers are removed at the VINES gateway node that sends the message back to the foreign network.

4. The message is sent to its destination within that network.

Figure 3-5. Routing Non-VINES Packets Across a VINES Network

Example Routing VINES Packets Across Non-VINES Networks

1. VINES adds the foreign network layer headers onto the message as it leaves the VINES network.

2. The message re-enters a VINES network.

3. The foreign network headers are removed.

4. The message continues to its destination within the VINES network, as shown in Figure 3-6.

Figure 3-6. Routing VINES Packets Across a Non-VINES Network

VINES Support for X.25 Protocols

1. VINES IP can pass VINES IP packets to an X.25 protocol entity for inclusion in X.25 headers.

2. This lets VINES data pass through an X.25 packet-switched network.

3. When these altered packets leave the X.25 network, VINES IP removes the VINES data from them.

VINES Support for DARPA IP Protocols

1. The VINES packet is enclosed in a DARPA IP header.

2. The packet is sent across the TCP/IP network.

3. The DARPA IP header is stripped off when the packet is received by a VINES server.

The VINES TCP/IP Routing option lets servers route IP packets through VINES networks.
The VINES TCP/IP Server-to-Server option lets servers route VINES packets through IP networks.

VINES Support for IPX Protocols

IPX/SPX tunnels through VINES
VINES tunnels through IPX/SPX
TCP/IP tunnels through VINES
VINES tunnels through TCP/IP
VINES tunnels through SNA
AppleTalk tunnels through VINES

Note: You can transmit IPX/SPX data using VINES tunnels through TCP/IP or VINES tunnels through SNA. First create the VINES tunnel through TCP/IP or SNA and then configure an IPX/SPX tunnel through VINES.

IPX Tunneling

IPX/SPX tunnels through VINES
VINES tunnels through IPX networks

Unrestricted tunneling means that the server automatically communicates with any other server that has a tunnel configured to this server as long as the tunnel is enabled.
Restricted tunneling lets you control access to your server. If the server is restricted, another server cannot communicate with your server without additional steps.

VINES Support for AppleTalk Protocols

The AppleTalk Address Resolution Protocol (AARP) lets a server learn LAN addresses of nodes. Using AARP packets, a server requests the LAN address from the nodes on the LAN for a particular network address and the nodes respond. For more information on AARP, see Inside AppleTalk.
The Datagram Delivery Protocol (DDP) handles network traffic one level above the actual interfaces. DDP moves packets through the network. This protocol also makes routing decisions, which involve determining the appropriate paths that packets should take to reach their destinations.

Figure 3-7. Sample AppleTalk Packet Containing File Data

AppleTalk Tunneling

Example Tunneling Topology

Figure 3-8. Tunneling Topology

VINES and the Transport Layer

Unreliable datagram service
Reliable (acknowledged) message service
Data stream service

Table 3-1. Differences Between Unreliable Datagrams and Reliable Messages

Interprocess Control Protocol (IPC) supports unreliable datagram and reliable messaging services.
Sequenced Packet Protocol (SPP) supports data stream service.

Sockets and Ports

Table 3-2. IPC Port Address Fields

A well-known port is a port address assigned by Banyan Systems to a specific application.
A transient port is a port address assigned and released by system software as needed when an application opens a socket without requesting a well-known port.

VINES IPC

VINES SPP

Support for Non-VINES Transport Layer Protocols

VINES Support for AppleTalk Transport Layer Protocols

AppleTalk Echo Protocol (AEP) determines if other nodes can be reached over the network and calculates the time it takes for packets to travel to other nodes and back.
AppleTalk Transaction Protocol (ATP) handles the exchange of packets between source sockets and destination sockets.
Name Binding Protocol (NBP) resolves the AppleTalk names and network addresses of network entities, such as servers, file volumes, and printers.
Routing Table Maintenance Protocol (RTMP) builds and updates routing tables on AppleTalk routers.

VINES and the Session and Presentation Layers

Overview of Remote Procedure Calls

input arguments are sent to a service and not altered on return.
output arguments are returned to the caller by the service.
input/output arguments are supplied to the service, modified by the service, and returned to the caller.

Figure 3-9. RPC Message Transmission

Overview of NetRPC

A specification language that defines the remote interfaces of client/service applications, including the data types of all arguments
A compiler that translates a NetRPC specification into C source code
A standard set of libraries for each platform supported by VINES

The application service includes a library of functions, generated by NetRPC, that send and receive information from the client. Services can run on a server or a workstation.
The application client runs under DOS, Windows, UNIX, Macintosh, or OS/2 and performs user interface functions.

How NetRPC Works

1. Write the specification file.

2. Compile the specification file using the NetRPC command.

3. Compile the files created by the NetRPC.

4. Archive the service object files created in step 3.

5. Use the LINT library file to begin building the service source code. Fill in the empty procedure definitions by adding general C code and the VINES functions required for the service, then define a main procedure.

6. Compile the service source code created in step 5 and link it with the service library created in step 4.

1. Write a specification file if you have not already done so.

2. Compile the specification file using the NetRPC command.

3. Compile the object files created in step 2 as a static or dynamic link library.

4. Create the client source code.

5. Link the client application with its library.

Non-VINES Session and Presentation Protocols

AppleTalk Session Protocol (ASP) handles sessions between clients and services. Clients and services that are in session with each other are called session partners. ASP uses the services of the ATP protocol to move data packets between session partners. At this time, ASP is used for AppleTalk File Protocol (AFP) communication only.
Apple Printer Access Protocol (PAP) lets Macintosh workstations talk with PostScript printers.
Zone Information Protocol (ZIP) maps network numbers and zones in the network. A zone is a grouping of AppleTalk networks. It also services requests from AppleTalk nodes to obtain and change the mapping.

Server Message Block (SMB) protocol packages RFP requests. SMB describes the:

AppleTalk Filing Protocol (AFP) handles file sharing. On a VINES network, AFP is implemented as a service on the server, and the VINES server functions as an AppleShare file server. (AFP runs in addition to the VINES File Services that run on the server.) Both VINES AFP and AppleShare (the service-level implementation of AFP) use the AppleTalk protocols as a base. To a Macintosh user on a VINES network, the VINES AFP service looks like an AppleShare file server.

VINES and the Application Layer

Figure 3-10. VINES Redirector

Base services, such as the StreetTalk global naming service, are part of the software required to run VINES.
Gateway services, such as Asynchronous Terminal Emulation (ATE), provide connectivity between VINES and other types of networks.
Utility services, such as the VINES Server Service, help maintain the VINES network. Server Service is the master process on a VINES server that controls all other services.

VINES file service
VINES print service
Banyan Intelligent Messaging
VINES Netbios emulation
VINES Named Pipe emulation
VINES Tasker
VINES StreetTalk
VINES directory assistance service (STDA)
Server Service
VINES Security Service
VINES Backup/Restore Service
VINES DOS to UNIX/UCFS service

DOS/Windows
UNIX (file sharing using the ENS for UNIX product line)
OS/2
Macintosh
Diskless workstations using the Remote Program Load (RPL) option

 

Previous PageTop Of PageNext Page