RFC 1006 May 1987
1. Introduction and Philosophy
The Internet community has a well-developed, mature set of
transport and internetwork protocols (TCP/IP), which are quite
successful in offering network and transport services to
end-users. The CCITT and the ISO have defined various session,
presentation, and application recommendations which have been
adopted by the international community and numerous vendors.
To the largest extent possible, it is desirable to offer these
higher level directly in the ARPA Internet, without disrupting
existing facilities. This permits users to develop expertise
with ISO and CCITT applications which previously were not
available in the ARPA Internet. It also permits a more
graceful convergence and transition strategy from
TCP/IP-based networks to ISO-based networks in the
medium-and long-term.
There are two basic approaches which can be taken when "porting"
an ISO or CCITT application to a TCP/IP environment. One
approach is to port each individual application separately,
developing local protocols on top of the TCP. Although this is
useful in the short-term (since special-purpose interfaces to the
TCP can be developed quickly), it lacks generality.
A second approach is based on the observation that both the ARPA
Internet protocol suite and the ISO protocol suite are both
layered systems (though the former uses layering from a more
pragmatic perspective). A key aspect of the layering principle
is that of layer-independence. Although this section is
redundant for most readers, a slight bit of background material
is necessary to introduce this concept.
Externally, a layer is defined by two definitions:
a service-offered definition, which describes the services
provided by the layer and the interfaces it provides to
access those services; and,
a service-required definitions, which describes the services
used by the layer and the interfaces it uses to access those
services.
Collectively, all of the entities in the network which co-operate
to provide the service are known as the service-provider.
Individually, each of these entities is known as a service-peer.
Internally, a layer is defined by one definition:
a protocol definition, which describes the rules which each
service-peer uses when communicating with other service-peers.
M. Rose & D. Cass [Page 2]