[comp.protocols.tcp-ip] OSI and TLI

nigel@modcomp.UUCP (Nigel Gamble) (07/30/88)

There seems to be some confusion as to the position of the TLI (Transport
Layer Interface) in a typical comms protocol stack.  The TLI was defined
by AT&T for UNIX System V because the OSI standards only specify the
data that must flow between protocol layers in a very general way. Note
that the DATA itself is precisely defined, but not the details of how
it is passed from one layer to another.  OSI does not define exactly what
the interface looks like in terms of a particular set of library routines
in a particular programming language on a particular operating system;
it is up to each implementor to define these details for themselves.  
However, it is obviously better if a standard for these details exists
for a particular OS, so that layers implemented by different people can
be easily slotted together.  Hence AT&T defined the TLI for UNIX System V,
which provides the 'glue' between the Session layer and the Transport layer.

Note that the TLI is only the first to be defined of SEVEN possible
xLI's.  This was probably because it is strategically the most 
important, in terms of the number of existing (non OSI) protocols
which can, nevertheless, be implemented so as to be accessible via
the TLI (such as TCP/IP), or to run over the TLI (such as uucp,
RFS, FTP etc.).  This has the obvious advantage that existing
applications do not have to be changed at all to be able to run
over both TCP/IP and the newer OSI Transport protocols.

Perhaps the following diagram showing the standard ISO/OSI (International
Standards Organization/ Open Systems Interconnection) 7 layer reference
model may help to clarify the issue.
	_________________
	|		|\
	| Application	| \
	|_______________|  \     ( Ideally, these should be standard
	|		|   \    ( OSI protocol layers, but anything
	| Presentation	|    >-- ( that is able to use the Transport
	|_______________|   /    ( Layer Interface (such as uucp in
	|		|  /     ( SVR3) can replace them
	| Session	| /
	|_______________|/______ ( TLI provides a standard INTERFACE
	|		|\       ( to the Transport layer
	| Transport	| \
	|_______________|  \
	|		|   \    ( Ideally, these should be standard
	| Network	|    \   ( OSI protocol layers, but anything
	|_______________|     \__( that provides approximately the same
	|		|     /  ( functionality (such as TCP/IP) can
	| Link		|    /   ( replace them
	|_______________|   /
	|		|  /
	| Physical	| /
	|_______________|/

You can see that, whereas PROTOCOL layers are represented by BOXES in
the diagram, the TLI is represented by a horizontal LINE between two
boxes.  If (or when?) each of the other horizontal lines is defined
in terms of a standard set of interface routines in the UNIX environment,
then, as well as a TLI, we will also have an ALI, PLI, SLI, NLI, LLI and
PhLI.
-- 
Nigel Gamble            "Everything should be made as simple as possible,
MODCOMP/AEG              but not simpler."  Albert Einstein.
uunet!modcomp!nigel