This chapter explains the function of 4DLT in a LAT network and acquaints readers with some of the concepts and terms that apply to LAT networks. The chapter contains these sections:
Local Area Transport (LAT) is a communications protocol, originally developed by Digital Equipment Corporation, that specializes in communications between a terminal server and multiple hosts on a local area network (LAN). The purpose of LAT is to increase the resources available to terminal users while reducing the burden that terminal communications normally impose on the reciprocating host and LAN.
4DLT is Silicon Graphics' implementation of the LAT protocol for IRIS computers. An IRIS system running 4DLT can operate as either a general purpose or a dual purpose LAT node. As a general purpose node, the IRIS system contributes its resources to the LAT network; as a dual purpose node, the IRIS system contributes local resources and also handles requests from its own users to access LAT services.
Figure 1-1illustrates the LAT functions that 4DLT performs.
A LAT network consists of user terminals, terminal servers, and service nodes, attached to a LAN, that communicate by means of LAT software. The purpose of the LAT network is to offer services to terminal users. Services are resources, such as a login facility or remote printer, that are known to users and network software by a unique name. A name translation process converts service names into an address that is usable by LAN software.
A LAT network also includes printers, modems, and other devices made available to users by means of LAT software. However, only those systems running LAT software are considered LAT nodes. LAT nodes can also function concurrently as DECnet™ and Transport Ccontrol Protocol, IInternet Protocol (TCP/IP) nodes.
Figure 1-2 illustrates a simple LAT network configuration.
LAT terminals are the interactive devices on the LAT network where users request services and conduct LAT sessions. The device can be a dumb terminal, such as a VT100, or it might be a personal computer running terminal emulation software. 4DLT allows an IRIS workstation user to establish a terminal-type connection to LAT hosts.
To request services, users enter a connect command at their terminals. The command is processed by the terminal server, which handles the request by establishing a connection to a LAT node offering the service. Requests that originate with a connect command on a user terminal are known as user-initiated requests (see “Host-initiated Requests” for details).
The period of time during which a user remains connected to a service is known as a session. A user can establish several sessions from a single terminal and switch between sessions, but only one session may be active at a time. Connections to the inactive sessions are maintained so that users can resume a session at any time.
A terminal server is a LAT node that establishes connections to LAT services and manages communication between the user and the service provider. A terminal server may be a specialized device, such as a DECserver™ 90L, or a host running terminal server software. 4DLT software provides terminal server functions to an IRIS workstation user, allowing the user to connect to LAT network resources.
An important function of a terminal server is to maintain the LAT database, a body of information about LAT operating parameters and the nodes and services available to LAT users. A terminal server keeps its database current by collecting information from service announcements and connection events (see “LAT Service Node Functions”), and by recording information supplied by the LAT administrator.
Notice from Figure 1-2 that user terminals are directly attached to the terminal server, and that the terminal server manages communications to all terminals over a single line. During LAT sessions, terminal server software performs the multiplexing required to support this line configuration. Terminal servers also perform the character interrupt processing normally done by the host in terminal-host transactions, which conserves host resources.
Figure 1-2 shows that printers, as well as terminals, can be directly attached to a terminal server. As this figure suggests, a terminal server not only requests LAT services but can also supply them. When a printer is attached to a terminal server, the terminal server establishes a connection to the printer only at the request of a LAT host (see “Host-initiated Requests” for details). During the ensuing session, an application on the requesting host (not the terminal server) controls the printer.
A service node is a host on a LAT network that offers one or more services to terminal users. 4DLT enables an IRIS computer to function as a service node on a LAT network. Connections between a service node and a user terminal are always through the LAT terminal server to which the user is attached, but to the LAT user, this connection appears direct.
To make its services known to the LAT network, a service node advertises its services in service announcements. A service announcement contains the name and address of the node sending the announcement, the name and description of each service the node provides, and a service rating—a measure of the node's ability to provide the service efficiently. Service announcements can also contain group codes if the network uses them (see “LAT Group Codes”).
A service node broadcasts service announcements every 60 seconds by multicasting; that is, the service node sends announcements to a multicast address that designates LAT terminal servers. Terminal servers collect service announcements and enter announcement information in the LAT database.
In addition to responding to user-initiated requests, service nodes also generate requests for services. Requests generated by a LAT service node are known as host-initiated requests. In a host-initiated request, a service node asks a terminal server to establish a session between one of the server's ports (which is configured for an application) and an application on the requesting node. Typically, LAT print services, including the 4DLT print service, are provided by means of a host-initiated request.
Figure 1-3 illustrates a host-initiated request.
In LAT networks, one or several nodes may be offering the same service. When more than one LAT node offers a particular service, terminal server software selects the node that will provide the service most efficiently. To evaluate efficiency, terminal server software uses rating information it maintains in the LAT database.
The LAT service directory maintained by terminal servers includes a service rating, a measure of the availability of a node to provide the service it is advertising. Service nodes include rating information in their service announcements. When a service is provided by multiple LAT service nodes, terminal servers select the provider node offering the highest service rating.
Dynamic service ratings are assigned by the service node providing a service, based on the node's activity level, its available memory, and its processor type. Static service ratings are assigned by the LAT administrator and remain constant in all service announcements. Static service ratings provide a means of weighting the chances that a particular host will be selected by a terminal server as the provider node.
By default, LAT users have access to every service on a LAT network. However, a LAT administrator may choose to use group codes, numbers that may be assigned to service nodes, individual services, terminal servers, and terminal server ports to manage access to LAT resources. Group code values range from 0 to 255. They are included in service announcements.
When group codes appear in a service announcement, terminal servers check the codes for a match with their own group codes. If a group code in the announcement matches a group code assigned to the terminal server, the terminal server enters the service information in its database. If the group code does not match, the terminal server ignores the service announcement.
Most public and private networks in widespread use are implemented on layered architectures that parallel the OSI reference model. Common examples include the TCP/IP suite, widely used for UNIX networking; and Digital Network Architecture (DNA), Digital Equipment Corporation's proprietary networking architecture.
LAT architecture also conforms to a layered network model. Figure 1-4 shows the LAT protocol layers that are peer-to-peer with the OSI and DNA models.
An important difference between LAT architecture and the OSI and DNA reference models is the lack of a Network layer. As a consequence, no cross-network routing is possible on a LAT network; a LAT network is constrained to a single LAN.
|Note: The DNA network layer, IP, and the LAT network can coexist on a single Ethernet LAN.|
The LAT protocol stack consists of three LAT layers—Virtual Circuit, Slot, and Service Class, and two LAN layers—Physical Link and Data Link. This multilayer architecture supports peer-to-peer communications between terminal servers and service nodes. The LAT protocol assumes that all of its terminal servers and service nodes are on the same LAN.
Figure 1-5 illustrates LAT architecture and the processing of outbound data that occurs in each layer.
The Service Class layer is the uppermost layer of the LAT protocol. On a service node, the Service Class layer offers services, multicasts service announcements to terminal servers (see “LAT Service Node Functions”), and assigns service ratings (see “LAT Service Ratings”).
On a terminal server, the Service Class layer makes service requests and maintains the database of LAT nodes and services (see “LAT Terminal Server Functions”). The Service Class layer on a terminal server also performs flow controls of session data moving between the terminal server and devices attached to it.
To control multicasting on the service node, the Service Class layer maintains a multicast timer. The timer regulates the intervals at which service announcements are sent. Multicast intervals are specified in seconds; the default interval is 60 seconds, but intervals can be adjusted by the LAT administrator.
The Service Class layer uses the services of the Slot and Virtual Circuit layers for transmitting session data, but it sends some special data directly to the Data Link layer. This special data includes service announcements, queueing requests to the server's connection queue, and status information about queued requests.
The Slot layer places information for a given session into slots, message segments containing several characters of data belonging to an individual user. The maximum size of a slot is 255 bytes, but slot sizes can vary for each side of a connection. For example, a typist at a terminal would not need as large a slot size as a host application that may send full screens of data.
In addition to containing user data slots ( Data-A slots), slots can also contain session control data, such as breaks, parity, and framing errors ( Data-B slots). Some slots contain out-of-band data ( Attention slots), while others contain session start and stop requests ( Start slots and Stop slots).
At regular intervals, the Slot layer places accumulated slots for all sessions with a particular service node into a single Virtual Circuit message, multiplexing the data sent from the terminal server to a particular host. This multiplexing makes efficient use of LAN bandwidth by increasing the ratio of data to packet information and reducing the number of required frames.
Figure 1-6 illustrates the multiplexing performed by the Slot layer.
The Slot layer also provides load balancing using service ratings supplied in service announcements. The value range for service ratings is 0 to 255. When hosts offer multiple services with the same name, the Slot layer establishes a session with the host that has the highest rating.
The Slot layer provides internode flow control by means of a credit system. A credit is a marker that the Slot layer allocates each receive buffer it creates for a session (typically, the Slot layer allocates two receive buffers, but this number is negotiated between the nodes at the start of the session).
During a session, credits are passed with each buffer exchanged between the session partners. When either partner's credit count is decremented to zero, partner with no credits stops sending data until it receives more credits. This prevents either node from transferring more buffers of data than the reciprocating node is able to accept.
The Virtual Circuit layer is the LAT transport mechanism. It establishes and maintains a logical communications path between host nodes and terminal servers. This path is called a virtual circuit, and it is bidirectional, sequential, and error-free.
A virtual circuit is established as soon as one message is exchanged between a terminal server and a particular service node. The virtual circuit is used for all subsequent sessions between the terminal server and that service node. During LAT sessions, the Virtual Circuit layer multiplexes and demultiplexes Slot layer data, performing error detection and correction on data transmissions.
The Virtual Circuit layer in terminal servers and service nodes send virtual circuit messages to transmit session data and virtual circuit information. There are three types of virtual circuit message: a start message is sent by terminal servers to open new virtual circuits; run messages, which contain slots and credits from the Slot layer, are exchanged by both partners during a session; and, when all sessions are ended, a stop message is sent by the terminal server to close the virtual circuit.
Figure 1-7 illustrates the components of a virtual circuit run message.
When it has no data to send, a virtual circuit goes into balanced mode; that is, the virtual circuit is maintained by exchanging empty run messages, so either side can resume transmission when necessary. In the normal unbalanced mode, only the terminal server initiates the data exchange. In balanced mode, a keep-alive message is sent every 20 seconds, but no other data is sent. The advantage of the keep-alive message is that the virtual circuit can be maintained even after the circuit timer expires.
The Virtual Circuit layer on the terminal server maintains a circuit timer that transmits virtual circuit messages at specified intervals (typically every 80 milliseconds). When it receives a message, the service node returns an acknowledgment to the terminal server. Assuming the acknowledgment is received, the terminal server sends another virtual circuit message the next time the circuit timer expires.
In addition to timing the dispatch of virtual circuit messages, the circuit timer in the Virtual Circuit layer also measures response intervals. If a host does not acknowledge receipt of a virtual circuit packet within interval set on the circuit timer, the terminal server assumes that a problem exists. After a specified wait interval and a set number of retries, the terminal server assumes that the host is unreachable.
In a LAT network, connectivity is provided for Data Link peers. The Data Link layer is a general architectural layer that implements a communications facility on top of the Physical Link layer. The Data Link layer places outgoing virtual circuit messages into packets called datagrams and removes incoming messages from incoming datagrams.