[comp.protocols.iso] Transport Protocol Downward Multiplexing

gutman@manta.NOSC.MIL (Lewis M. Gutman) (01/25/89)

We're designing a small internet, and in the process, have discovered a
problem we don't know how to resolve.  We are trying to adhere to the
OSI Reference Model as much as possible.

We have access to multiple networks with widely differing
characteristics, e.g., some are very slow but with low error rates,
others are faster but have higher error rates.  According to ISO 8073,
TP4 would be used for Type C Networks (those with unacceptable residual
error rates), and TP0 would be used for Type A Networks (those with
acceptable residual error rate).  ISO 8073 also specifies the use of
downward multiplexing of a single transport connection over multiple
network connections.  

We want to multiplex a single transport connection over multiple
network connections of different types, i.e., some Type A and some Type
C.   We're doing this in order to (1) guarantee delivery (multiple
copies), (2) increase throughput, and (3) send multicast messages to
destinations accessible only on several different networks.  


			Net 1 (75 bps, low BER)
            NSAP1  *-------------------
		  /
		 /
   SSAP	*-------* TSAP
		 \
		  \
            NSAP2  *-------------------
			Net 2 (2400 bps, high BER)


Because of the high overhead, we would like to avoid using TP4 over the
Net 1.   For this reason, the solution of using TP4 over all networks
is not necessarily acceptable.  Yet using TP0 over both nets is not
very good either: we need error recovery services for Net 2.  What can
we do?

Is it feasible to even consider this problem?  Do the standards say
anything about this kind of multiplexing?  Does anyone have any
experience multiplexing a single TP connection over network connections
of varying quality?  How is it done?

Thanks in advance.

--------------------------------------------------------------------------
Lew Gutman					Naval Ocean Systems Center
E-Mail:  gutman@manta.nosc.mil			Code 854
Phone:   (619) 553-4958				San Diego, Ca. 92152
--------------------------------------------------------------------------

tozz@hpindda.HP.COM (Bob Tausworthe) (01/26/89)

Hmm. Interesting problem.

My first question is: what is the internet protocol associated with
the NSAPS? If you are going to use CLNP then you have no choice but to
use TP4 as the transport class protocol. If you are using CONS (i.e.
X.25) then you may choose to support both transport classes (0, 4).

The point to remember is that the transport protocol associated with
your TSAP is TP, not TP0 or TP4. During connection establishment phase
for the transport connection, the peer TP protocol modules negotiate
transport class. A primary class and a secondary class are specified
with the secondary class always being less than or equal to the primary
class. So for instance, when requesting a TP connection over the Net
with a low high error rate you would specify class negotiation of (4,4)
meaning primary class of 4 and secondary class of 4. Likewise when
requesting a TP connection over the Net with a low error rate, you would
specify class negotiation (0,0). When recieving connection requests over
the Net with a high error rate you only accept requests that have the
primary class negotiation set to 4. When recieving connection requests
over the the Net with a low error rate you accept any valid transport
class, with the possibility of negotiating down connection requests 
of (4,0) to 0 so as to achieve lower transport overhead.

So there's no problem with having a TSAP which accepts connection requests
with differing transport class, you simply make TP's negotiation 
mechanism aware of the quality of its underlying networks. This shouldn't
be a violation of the OSI model since TP is already forced to do this 
for CLNP vs CONS (i.e. TP must know whether the connection request came
up through CLNP or CONS so that it knows to reject requests for TP0/CLNP).

				Bob Tausworthe
				tozz@hpindda.hp.com