HP OpenVMS Systems Documentation

Content starts here

DECnet-Plus for OpenVMS
Introduction and User's Guide


Previous Contents Index

3.6 Transport Layer

The Transport layer ensures the reliable transfer of data. Each Transport protocol provides for the establishment of a transport connection, which carries a stream of two-way communications traffic between two processes on the same or different systems. A transport connection is a temporary logical connection that normally exists until one of the processes terminates the connection.

The Transport layer offers an interface to the service user at the Session layer. DNA applications can use either the $IPC or $QIO programming interface to make a connection request through the proprietary Session Control layer to the Transport layer. OSI applications can make connection requests through ACSE, the Presentation layer, and the Session layer to the Transport layer.

3.6.1 Transport Layer Ports and Session Layer Ports

DECnet-Plus uses a mechanism called logical link for communication between processes. A Phase IV logical link in DECnet-Plus terms is either a Transport layer port or a Session layer port.

A logical link is a temporary connection either between processes on source and destination systems or between two processes on the same system. A logical link carries a stream of regular data and interrupt data of full-duplex traffic between two user-level processes. Each logical link is a temporary data path that exists until one of the two processes terminates the connection.

3.6.2 Supported Transport Protocols

The OSI Transport Protocol, the implementation of which provides the OSI Transport Service, bridges the gap between the service provided by the network and the service desired by the transport user.

The Transport layer supports both the DIGITAL NSP and the OSI Transport Protocols. An OSI application makes a connection request to the Transport layer to access the OSI transport. The choice of protocol for a non-OSI connection is made during connection establishment: either the connect request specifies a Transport protocol, or the Session layer selects an appropriate Transport Protocol. Multiple transport connections, using any of the Transport Protocols, can be made simultaneously.

3.6.2.1 OSI Transport Protocol

The OSI Transport Protocol permits communication between DECnet-Plus systems and other vendors' systems that also implement the OSI Transport Protocol.

The OSI Transport Protocol conforms to the ISO 8072 Service Definition and the ISO 8073 Protocol Standard. They define OSI Transport Protocol classes 0, 2 and 4 (TP 0, TP 2, and TP 4).

This protocol can use two types of ISO network service:

  • Connection-Oriented Network Service (CONS)
  • Connectionless-Mode Network Service (CLNS)

The OSI transport conforms to the RFC 1006 Standard and to the RFC 1006 extension Internet Draft. They define how to implement ISO 8073 Transport Class 0 on top of TCP (RFC 1006) and how to implement ISO 8073 Transport Class 2, non-use of Explicit Flow Control on top of TCP (RFC 1006 extension). The network service used is provided by TCP.

Table 3-3 describes these classes, their functions, and which network service can be used.

Table 3-3 Functions of the OSI Transport Protocol Classes
Protocol Class Functions Network Service
TP 0 Provides a basic transport service. CONS and RFC 1006
TP 2 Provides all functions of TP 0 plus multiplexing of more than one transport connection over a network connection or TCP connection. Also provides flow control over CONS. CONS and RFC 1006 extension
TP 4 Provides all functions of TP 2 plus error detection and recovery. CONS and CLNS

Some other differences are that:

  • TP 0 relies on the upper layers to do its error correction. This class is disconnected if the underlying Network layer is disconnected.
  • TP 2 and 4 use disconnect requests.
  • TP 4 reassigns the OSI transport connection to another Network layer connection if the existing one fails.

DIGITAL recommends TP 4 for both DNA and OSI applications because it has the greatest set of capabilities suitable for all purposes, unless when using RFC 1006 or RFC 1006 extension.

When a transport user sets up a transport connection, a preferred protocol class for the connection is specified in the connection request. The responding transport user must either agree to this protocol class, or suggest an alternative protocol class that is acceptable to the initiating user. If no such agreement is possible, the transport connection cannot be set up.

3.6.2.2 Network Services Protocol (NSP)

The proprietary NSP provides a transport service that supports error detection and recovery and uses CLNS. NSP capabilities are similar to those of OSI Transport Protocol class 4 for CLNS connections.

NSP makes a transport connection between two DECnet-Plus systems or between a DECnet-Plus system and a Phase IV system. NSP is the only transport that can connect to Phase IV systems.

NSP establishes transport connections by exchanging control messages with a peer NSP module. The connection comprises two data subchannels, one for normal data exchange and one for other data (such as expedited data messages and flow control messages). NSP transfers data in segments, if necessary. The segments are then reassembled in correct sequence at the destination.

3.6.3 OSI Transport Service

The Transport layer provides the OSI transport service, which fulfills communications requirements for clients in the higher layers. The OSI transport service software implements the OSI Transport Protocol, allowing two OSI transport users to set up and use an OSI transport connection. A transport user uses the OSI transport service to set up a transport connection with another transport user.

The OSI transport service is a consistent interface to transport users, regardless of the type of network over which they make OSI transport connections.

DECnet-Plus for OpenVMS offers three classes of OSI transport service, each of which is appropriate to a particular network service because each provides the additional functions not provided by that service. TP 0, 2, and 4 identify the different classes of OSI transport service offered in DECnet-Plus for OpenVMS (see Table 3-3).

3.6.3.1 OSI Transport Service Functions

Transport users employ the OSI transport service to set up connections and exchange data. Depending on the type of network service used by an OSI transport connection, the OSI transport service offers all or only some of the following functions:

  • Mapping OSI transport connections to transport users
    When making an OSI transport connection, the transport user provides a unique reference for each of the two communicating transport users. This reference is a called a transport service access point (TSAP). Messages sent over an OSI transport connection include the TSAP of the transport user to which they are addressed. The OSI transport service uses this TSAP information to route messages to their proper destination.
  • Multiplexing OSI transport connections
    The OSI transport service uses a single network connection to send and receive message traffic for several OSI transport connections. This process is called multiplexing.
  • Splitting and recombining data
    The OSI transport service software cannot split an OSI transport connection among several network connections. However, the software does recombine incoming data from multiple Network connections for a particular transport connection.
  • Concatenating Transport layer protocol data units
    Messages sent over an OSI transport connection are in the form of Transport layer protocol data units (TPDUs). To reduce the traffic between the Transport and Network layers, the OSI transport service software concatenates certain TPDUs to make one network service data unit (NSDU). The software does this with one AK (acknowledge) TPDU and one data TPDU from the same transport connection. The software never concatenates other types of TPDUs, nor TPDUs from different transport connections. The OSI transport service software processes incoming NSDUs if the combination of TPDUs is within the Transport Protocol standard.
  • Controlling flow
    The transport users at either end of an OSI transport connection might operate at different speeds. The OSI transport service software uses flow control to stem the output from a local user when the user at the other end cannot process the data at the required rate to keep up. Without flow control, one user could send messages over the connection faster than the other user could receive and process them, leading to the receiving user running out of buffers and discarding the messages.
    The OSI transport service software in DECnet-Plus for OpenVMS always uses flow control with class 2 connections when operating over CONS.
  • Providing error detection and recovery
    In addition to setting up the OSI transport connection for data transfer, the OSI transport service ensures that the message exchange occurs without corruption or loss of data, and that the messages are delivered in sequence. The OSI transport service keeps a record of all the messages sent and received and their sequence, and, if they have not been received by the other end, retransmits them.
    The software calculates the retransmission timers for each network. An X.25 network, for example, is very likely to need a longer retransmission timer than a LAN.

3.6.3.2 OSI Transport Templates

When a transport user makes a connection request, one of the parameters of this request is the name of a transport template, which is a predefined set of parameters for setting up the OSI transport connection. An OSI transport template specifies the type of network service to be used for the OSI transport connection, and the preferred protocol class.

You can use an OSI transport template to provide defaults for any parameters not included in the connection request.

3.6.3.3 OSI Transport Connections

An OSI transport connection is an end-to-end connection. It is a reliable two-way, data-transfer path between two OSI transport users. An OSI transport connection has three phases:

  • Setting up the connection --- an OSI transport user (the initiating user) on one end system (the initiating host) sends a connection request TPDU to another OSI transport user (the responding user) on a second end system (the responding host). When a successful connection is made, data transfer can take place in either direction.
  • Using the connection through which to transfer data --- OSI transport connections support two kinds of data transfer:
    • Normal data transfer for usual message exchange or
    • Expedited data transfer which bypasses any blockage due to the flow control applied to normal data; only for sending small amounts of data; has its own type of TPDU and transmission rules.
  • Releasing the connection --- either transport user can release the OSI transport connection by sending a disconnect TPDU.

You can set up OSI transport connections:

  • Between two systems on the same ISO 8802-3 LAN.
  • Between two systems that are connected, either directly or via an X.25 connection.
  • Between two systems that are connected directly by an X.25 point-to-point link.
  • Between two systems on different subnetworks, where the linking subnetworks might mix technologies.
  • Between two systems that are connected via TCP/IP.

3.7 Network Layer

The Network layer permits communications between network entities in open systems on a subnetwork, intermediate systems, or both. The Network layer provides conformance to ISO standards for packet formats and network addressing:

  • ISO 8473 --- Internetwork Protocol (Inactive Network Layer Protocol)
  • ISO 8208 --- X.25 Packet-Level Protocol (PLP)
  • ISO 8878 --- X.25 to provide CONS
  • ISO 9542 --- ES-IS Routing Exchange Protocol
  • ISO 10589 --- IS-IS Routing Protocol

3.7.1 Network Services

The Network layer is responsible for connecting subnetworks to form a network, and supports connections to the following:

  • Broadcast subnetworks, such as ISO 8802-3 LANs
  • Nonbroadcast subnetworks of permanent point-to-point links, such as leased or private links
  • Nonbroadcast subnetworks
  • Dynamically assigned X.25 data links

An OSI transport connection between two OSI transport users is supported by a network connection between the end systems on which the OSI transport users are running. This network connection is set up and maintained by the Network layers of the two end systems. The Network layer, therefore, provides a network service to the OSI transport service.

The Network layer offers two types of network service:

  • Connectionless-Mode Network Service (CLNS)
  • Connection-Oriented Network Service (CONS)

CLNS and CONS have both similarities and differences:

  • Similarities: Peer entities communicate according to an agreed protocol through the services provided by the lower layer.
  • Differences:
    • In connection-oriented transmission, resources have to be reserved to support data exchange on the connection that are not needed in connectionless transmission.
    • In connectionless transmission, each access to a data service needs additional addressing information. This overhead is avoided when the data exchange takes place using a connection-oriented service.
    • The connectionless service offers greater flexibility for implementing routing techniques.

Service-type conversion takes place only in the Transport and Network layers. This means, for example, that a presentation connection must be supported by a session connection, but that a change to using the connectionless network service can be done through the functions of the Transport layer.

The type of network service used depends on the topology of the network between the two end systems. The transport user selects the type of network service for a transport connection by supplying in the connection request a transport template that specifies the desired service.

3.7.1.1 Connectionless-Mode Network Service (CLNS)

Connectionless-Mode Network Service is provided to OSI transport and operates according to a datagram model. Each message is routed and delivered to its destination independently of others. For example, the DNA Network (Routing) layer provides this type of service. The Network layer allows a CLNS connection using an X.25 virtual circuit in one of two ways:

  • X.25 static circuits
    An X.25 virtual circuit is permanently assigned to the circuit. Network management enables the circuit and establishes and clears the calls. The connection is maintained until the circuit is turned off.
  • X.25 dynamically assigned circuits
    An X.25 virtual circuit is created only when data needs to be transferred. These circuits are similar to Phase IV data link mapping (DLM) circuits.

CLNS offers the following features:

  • To exchange data, users do not first set up and subsequently release a connection. Data exchange is achieved with each access to a service.
  • Each data transfer is entirely self-contained. All the information needed to deliver the data is given when the service is invoked.

With CLNS, the Network layer supports three types of connections:

  • Broadcast circuits
    Circuits on which multiple systems are connected. A message can be transmitted to multiple receivers and all systems are adjacent, for example, ISO 8802-3 (CSMA-CD) LANs.
  • Point-to-point (nonbroadcast) circuits
    Circuits that connect only two systems. A point-to-point configuration requires a separate physical connection between each pair of systems that communicate directly with each other. Examples are HDLC, DDCMP, and X.25 static circuits.
  • X.25 dynamically assigned (DA) circuits
    Circuits used to exchange Internet (ISO 8473) PDUs over a PSDN to another system, either DECnet-Plus or multivendor. The ES-IS Protocol (ISO 9542) does not run over an X.25 DA circuit.

There are two forms of the CLNS Network service:

  • CLNS with Internet/ES-IS (end-system-to-intermediate-system routing)
    Any transport connection can use CLNS with Internet/ES-IS. The communicating end systems can be on the same or different subnetworks. This network service is provided by the implementation of the ES-IS Internet routing protocols, which route packets from the end system to an intermediate system on the same subnetwork. The intermediate system ensures that packets reach their final destination. Two end systems that implement ES-IS on the same subnetwork can communicate without an intervening intermediate system.
  • CLNS with the Inactive Network Layer Protocol
    A transport connection can use CLNS with the Inactive Network Layer Protocol (ISO 8473) when the two end systems are on the same LAN. This network service is provided by the inactive subset of the Internet Protocol. No intermediate system is involved in the network connection.

Both forms of CLNS support only TP 4 connections.

3.7.1.2 Connection-Oriented Network Service (CONS)

Connection-Oriented Network Service is provided to OSI transport and operates according to a connection-oriented model. A connection is set up between two communicating end users, is used for data exchange, and is then broken by either end. SDUs sent over the connection do not have to contain a destination address. For example, X.25 provides this type of service.

CONS offers the following features:

  • The users, supported by their service providers, set up a connection by negotiating the context for data transfer.
    The connection has a definite lifetime because after it is set up and data exchange has taken place, it is released by the users (or the service providers).
  • The connection exists specifically between two users, allowing them to make multiple data transfers without specifying the destination on each transfer.

A transport connection can use CONS when the underlying network connection is an X.25 connection. An X.25 connection can be:

  • Between two systems attached to a PSDN, either directly or via an X.25 gateway.
  • A point-to-point connection to a DTE using the Link Access Protocol Balanced (LAPB) as the data link protocol.
  • A direct connection between two systems on the same IEEE 802.3 LAN, using the logical link control (LLC) type 2 (LLC2) protocol.

Note that in each of these cases, the two end systems are on the same subnetwork.

3.7.2 Broadcast Network Connections: The Routing Process

With CLNS, the Network layer receives user data from the Transport layer and determines the path along which the data travels to its destination. This decision process is the main function of routing. The Network layer provides end-to-end data transfer, or routing, as a service to clients in the Transport layer. This data transfer between the two communicating systems is called a network connection.

An end system (ES) is either the source or destination of data sent over a network connection. An end system receives data units, called packets, addressed to it and sends data units to other systems on the same subnetwork. (DECnet Phase IV calls this type of system an "end node" and the "subnetwork" an area.)

An intermediate system (IS) is a routing system that receives data packets from a source end system, or from the previous intermediate system on the route, and passes them on to the destination end system, or to the next intermediate system on the route. (DECnet Phase IV calls this type of system a "router.")

An intermediate system interconnects two subnetworks. A subnetwork is a network, within a group of interconnected networks, of OSI systems that all use a common addressing format. A subnetwork forms an autonomous whole, for example: ISO 8802-3 (CSMA-CD) LAN, HDLC data link, or X.25 connections.

In the Network layer, the ES-IS protocol (ISO 9542) provides the communication between an end system and the nearest intermediate system. ES-IS is a connectionless protocol. IS-IS protocol (ISO 10589) provides the communication between two intermediate systems. The Internet standard provides the end-to-end connectionless link between end systems. Figure 3-6 shows how ES-IS relates to other ISO protocols.

Figure 3-6 ES-IS and IS-IS Protocols


The Phase IV routing components "circuit" and "line" are used differently in DECnet-Plus. These DECnet-Plus "entities" are called, respectively, routing circuits and routing ports:

  • Routing circuit --- connection between the Network layer and the Data Link layer below. Routing circuits operate over physical lines. A routing circuit is a logical (virtual) link.
  • Routing port --- connection between the Network layer and the Transport layer above.

For additional information on routing, see the DECnet-Plus Planning Guide.


Previous Next Contents Index