INDRA
Working
Paper
INDRA Note 967
IEN 155
12th August 1980
The Yellow Book Transport Service: Principles and Status
C. J. Bennett
ABSTRACT: This note is a brief
summary of the principles of the
Yellow Book Transport Service. This
service is likely to be adopted as
the UK Standard for transport
service, and is being widely
promoted amongst international
standardisation bodies.
Department of Computer Science
University College London
1. Introduction
A recent INDRA Note [1], also issued as an IEN,
defined an enhancement of TCP [2] to support the Yellow
Book transport service [3]. This note caused a
considerable furore in certain sections of the DARPA
Internet group, largely because there was very little
awareness of what the Yellow Book was, what its aims
were, what standing it had, and what relevance it had
to the DARPA Internet. The aim of this IEN is to remedy
this situation, by providing a brief summary of the
Yellow Book, and relating it to other international
standards activity.
2. Status of the Yellow Book
The term 'Yellow Book' is the popular name, derived
from the colour of the cover of 'A Network Independent
Transport Service'. This is one of a series of
documents defining a set of protocols and services
being defined within Britain by Study Group Three of
the UK Post Office PSS Users Forum and closely related
bodies such as the Department of Industry's Data
Communications Protocol Unit. The intent of these
documents is to define interim UK national standards
prior to the adoption of international standards by
bodies such as ISO and CCITT later in the 1980s, and by
so doing to influence the direction of these
international standards.
The other documents in the series are [4-6]: the Blue
Book (defining a Network Independent File Transfer
Protocol), the Green Book (defining a Character
Terminal service), and the Red Book (defining a Network
Independent Job Transfer and Manipulation Protocol).
The remaining colours - orange indigo and violet - are
reserved. Although the protocols are clearly related,
they are, with the exception of the Green Book,
intended to be self contained. Thus it is quite
possible to implement the Blue Book FTP without
requiring the Yellow Book transport service, and such
an implementation has in fact been available on the
ARPANET above both NCP and TCP since mid 1979.
The Yellow Book is in principle accepted as a UK
standard. It was first proposed in 1979, and the
current definition, of February 1980, is still a draft
text. However it is expected that something very
similar to the current Yellow Book will be adopted by
the PSS Users Forum later in 1980, and a Transport
Service Implementors group, consisting of
representatives from UK universities, manufacturers and
users, are currently bringing up implementations.
Bennett 1 INDRA 967
The Yellow Book
On the international front, the Yellow Book has been
circulated amongst groups concerned with transport
protocol standardisation within CCITT, ISO
(International Standards Organisation) and ECMA (the
European Computer Manufacturers' Association). It is
not the only proposal - ECMA in particular are evolving
one of their own [7] - and some of the concepts are not
totally in accord with the ideas of these
organisations. For instance, the major stumbling block
to its adoption as the transport layer within the ISO 7
layer architecture [8] is its addressing concept, as
the ISO model assumes all addressing and routing
problems have been resolved by this stage (in my view a
weakness of the ISO model). It is however the most
completely specified proposal being circulated within
these forums, and should heavily influence the
international standards which are finally adopted.
3. The Yellow Book
3.1 Aim of Yellow Book
The purpose of the Yellow Book is defined by its
title - it aims to define a transport service, for
point to point synchronised sequenced fullduplex
communication, independently of the structure of
underlying communication media. In particular it aims
to provide endpoint communication across multiple
independent networks.
The Yellow Book concept has three major aspects.
These are: the notion of multiple-domain addressing,
the notion of a network independent service, and the
notion of network dependent enhancements to support it.
In addition the document defines optional multiplexing
and simple data structuring facilities which will not
be discussed further here.
3.2 Yellow Book Addressing
The central picture of the internet world that the
Yellow Book propounds is that there exists a number of
mutually independent and noninteracting name spaces, or
domains, each one of which has some system for naming
all addressable objects in some fashion which is global
to that naming domain [9]. The finer structure of these
naming domains is not visible to the Yellow Book, and
for the purposes of discussion, a naming domain may be
thought of as a component network.
Bennett 2 INDRA 967
The Yellow Book
Two examples of such domains are the international
public data network system, whose naming domain is
defined by CCITT recommendation X121 [10], and the
DARPA Catenet [11], which is a multinetwork structure
with a superimposed global naming mechanism. Other may
be based on large commercial networks such as the SWIFT
or SITA systems. One of the main points of controversy
centres on whether this picture is realistic, or
whether instead some single system (people usually
think of X121) will eventually be used for all data
networks in the world.
A gateway visible within the Yellow Book is a system
which sits between two or more such naming domains, and
understands the naming systems in all domains to which
it is connected. An object in one naming domain
addresses an object in another domain by specifying a
concatenation of addresses, each component being an
address within some domain. This effectively defines a
route to the destination through a series of
intermediate gateways. Thus if the Catenet is connected
to the international public system by some common host,
the TCP process could specify the address of a machine
in the international public system by a name of the
form:
/<TCP address of YB gateway>/<X121 address of destination>/
This address has two components, only one of which is
in active use at any given point. The gateway specified
within such a component can obtain the address of the
source within that naming domain, and on this basis a
reverse path can be built. Thus the TCP/X121 gateway
will construct the component
/<TCP address of source>/
to which the destination will prepend the X121 address
of the gateway to complete the reverse path:
/<X121 address of YB gateway>/<TCP address of source>/
The destination may optionally attach a local process
ID, to create what is known as a RECALL address, if a
function such as a logger is required.
Technically the most controversial aspect of this
addressing procedure is its use for transferring third
party references. Clearly, two parties A and B will in
general have different routes to, and hence different
addresses for, a third party C. If A needs to pass B a
Bennett 3 INDRA 967
The Yellow Book
reference to C, he could pass his address for C and B
could then use the path A.C to reach C. However, this
requires A to act as a gateway on the route to C, and
the route so obtained may cause data to pass through
intermediate gateways twice. Hence a procedure has been
defined whereby a third party reference is declared to
a gateway, which may then attempt to parse it. If it
can it modifies the reference accordingly, so that a
more optimal address is actually given to B.
Although in principle this addressing procedure could
be used with every internet packet for an internet
datagram system, this would be prohibitively expensive
in terms of processing time. It is therefore envisaged
that the internet path is a set of concatenated virtual
calls.
3.3 Yellow Book Service
The Yellow Book defines a number of primitive
functions which the transport service supplies to the
user at the transport service interface, and cause the
generation of transport service messages. The service
definition provides the Yellow Book's network
independence, as it is possible to 'enhance' any
particular network interface to reach the level of
service of the interface.
The basic primitives are as follows:
(i) CONNECT: This initiates an endpoint virtual
circuit. The traversal of the CONNECT request
triggers the construction of the address of the
reverse path in the fashion described above.
(ii) ACCEPT: This signals the successful setting up
of the source to destination path. Each
component network may have its own method for
setting up a call across it, but the
CONNECT/ACCEPT exchange verifies that the path
has been set up from end to end.
(iii) DATA: Data messages are sent from end to end in
sequence without loss or duplication in the
normal virtual circuit fashion.
(iv) EXPEDITED: Expedited data messages are priority
messages which jump ahead of the normal data
sequence where possible.
Bennett 4 INDRA 967
The Yellow Book
(v) PUSH: A push forces the transmission and
delivery of data currently buffered at
intermediate gateways or at the source or
destination. It corresponds to a TCP EOL.
(vi) ADDRESS: This is a data message marked for
address parsing, so that it may be used for
transferring third party references as
described above.
(vii) RESET: This flushes messages currently buffered
in the pipe, and must be answered by a RESET in
the reverse direction. It does not cause the
connection to break.
(viii) DISCONNECT: The breaks the connection. Like
RESET, it causes buffered messages to be
flushed, and must be answered with a matching
DISCONNECT.
With each primitive there are associated a number of
qualifying attributes. Details of these may be found in
the Yellow Book.
The relationships and permitted exchanges of the
various messages are defined in some detail in terms of
state diagrams for the two endpoints. These diagrams
give the semantics of the endpoint protocol for the
virtual connection.
3.4 Network Enhancement
The syntax of the Yellow Book messages, as distinct
from the semantics as defined above, is dependent on
the underlying network services available from each
component network. It may be possible to use network
services directly to achieve a Yellow Book function;
there may be services which can be used in association
with Yellow Book messages; there may be local
advantages to particular encodings.
Thus to complete the definition of the Yellow Book
service definition, a syntax must defined for each
component network. The Yellow Book itself contains
annexes defining such enhancements for X25 and X21
networks. An enhancements for ring networks using the
BSP protocol has been defined, and IEN 154 contains a
proposed definition of a TCP enhancement which could be
used to support the Yellow Book. In general, provided
Bennett 5 INDRA 967
The Yellow Book
these enhancements support the Yellow Book semantics,
their specification is a matter local to the network
concerned. The gateway is expected to map the formats
of the messages as appropriate, and to trigger any
local supporting action which takes place.
The network enhancements will normally be based on a
virtual call interface such as TCP or X25. This
considerably simplifies their definition. In cases
where such an interface is not available, the
enhancement will be considerably more complex to ensure
the proper sequencing and completeness of the data
transferred.
3.5 Summary
Compared to the DARPA Catenet an Internet based upon
the Yellow Book is a much more loosely coupled system.
There is no global address space imposed on the
Internet, and it is assumed that it will be possible to
make use of local network facilities. Thus local
network independence is retained to a far greater
degree than the Catenet achieves. The agreement that is
required is to implement a gateway between two
networks, but this is essentially a bilateral agreement
between the network administrations concerned and does
not require any global agreement as to gateway
structure.
There is of course a price to be paid for this
independence. The system is essentially a virtual call
system, and therefore has none of the advantages (or
disadvantages!) to be obtained from the dynamic routing
and flexible recovery mechanisms possible within a
datagram system such as the Catenet. While the
addressing scheme is extremely flexible in terms of
responsiveness to topology changes and growth, it
throws the burden of knowledge of the internet topology
onto the higher level processes, and the third party
problem points out that it is easy to use it to
disadvantage.
Although the Yellow Book proposals can be regarded as
fairly firm, the details of the service provided are
still subject to debate. Clearly it has been influenced
to some extent by X25 - particularly as to the RESET
and DISCONNECT functions (the CONNECT/ACCEPT is a
consequence of the addressing scheme). The major
technical debate centres on the ADDRESS primitives and
on whether multiplexing should be embodied as an
Bennett 6 INDRA 967
The Yellow Book
essential Yellow Book service.
Yellow Book and TCP are both attempting to provide a
transport service, but they are doing so in very
different environments. The difference is such that
there is no fundamental conflict in the two approaches.
Within the Yellow Book environment the DARPA Catenet is
a single subsystem. The TCP enhancement needed to
support a full Yellow Book may appear to be just
another user protocol to TCP. Higher level protocols
may have their transport service interfaces defined
semantically in such a way that they can be installed
above TCP, for 'local' Catenet operation, or above
Yellow Book, for more general operation, with equal
ease.
4. References
[1] - C. J. Bennett. Realization of the Yellow Book
Transport Service Above TCP. IEN 153, July 1980.
(Revised and reissued as IEN 154 in August 1980)
[2] - Information Sciences Institute: "Transmission
Control Protocol" IEN 129. January 1980.
[3] - PSS User Forum Study Group Three: "A Network
Independent Transport Service" SG3/CP(80)2.
February 1980.
[4] - High Level Protocol Group: "A Network Independent
File Transfer Protocol" HLP/CP(78)1. December
1977. (Revision expected October 1980)
[5] - PSS User Forum Study Group Three: "Character
Terminal Protocols on PSS." BIG/CP(79)11. October
1979 (Under revision).
[6] - Data Communication Protocol Unit Working Group:
"A Network Independent Job Transfer and
Manipulation Protocol." DCPU/JTMP(80)1. April
1980.
[7] - ECMA: "Standard ECMA Transport Protocol: Third
Draft." ECMA/TC24/80/17. January 1980.
[8] - ISO/TC97/SC16: "Open Systems Interconnection".
ISO/TC97/SC16/N227 September 1979.
[9] - P. F. Linington, V. Hathway: "The Addressing
Bennett 7 INDRA 967
The Yellow Book
Requirements of a Transport Service." in
"Kommunikation in verteilten Systemen",
Springer-Verlag Press, Berlin, December 1979.
[10] - CCITT: "International Numbering Plan for Public
Data Networks." Recommendation X121. Geneva 1978.
[11] - Information Sciences Institute. "Internetwork
Datagram Protocol" IEN 128 January 1980.
Copies of references 3-6 may be obtained from:
Dr P. F. Linington
Data Communication Protocols Unit
8 Corn Exchange St
Cambridge
UNITED KINGDOM
Bennett 8 INDRA 967