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: /// 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 // to which the destination will prepend the X121 address of the gateway to complete the reverse path: /// 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