[comp.protocols.tcp-ip] Multiplexing algorithms for transport connections

barns@GATEWAY.MITRE.ORG (Bill Barns) (09/26/88)

I would like to hear what algorithms people are using to decide when to
multiplex Transport connections on Network connections.  The case of most
immediate interest to me is TCP/IP over DDN Standard X.25 connections.
As far as I know, there is no standard or published guideline which
would stop me from multiplexing everything (to the same Network-level
destination, of course) on a single X.25 connection; at the other extreme,
I might open a new X.25 connection for each datagram.

The same issue arises with ISO TP over X.25.  Does it follow that the same
algorithm is "best" for both cases?

The case of ISO CLNP over X.25 seems to combine the two cases above.  This
is what I understand GOSIP to specify for the future, so this case is also
interesting.

I've heard that some problems in the ARPANET transition to PSN 7.0 had to
do with this topic.  So I imagine there are some interesting issues
somewhere underlying the decisions an implementor might make, and perhaps
some interoperation problems with some choices.  I'd like to get a handle
on this whole area.  You're all invited to describe the behavior of
existing implementations or your conception of the Right Thing To Do.

Thanks in advance for all info, insights, comments, and suggestions...
Bill Barns / MITRE-Washington / barns@gateway.mitre.org

malis@OAKLAND.BBN.COM (Andy Malis) (09/27/88)

Bill,

For IP over DDN Standard X.25, the most efficient (in terms of
PSN and network resources) algorithm is to multiplex all
datagrams to the same network-level destination over the same
X.25 VC, requesting the largest packet size (up to 1024 octets)
supported by your host.  This is the ONLY algorithm allowed by
the old End-to-End, which is still in use on the MILNET.  This
also most closely emulates the network transport of AHIP (1822)
messages, except that the window size is 7 rather than 8.

If you are on a network running the new End-to-End (the ARPANET),
your host is allowed to open more than one Standard connection to
other hosts.  You may wish to have your host measure the average
utilization of its host access line, and if it has a combination
of low access line utilization and a long queue of datagrams to a
particular destination host, then open a second VC to that host.
Note that opening multiple VCs to a destination host only wastes
resources in the PSN, network, and presumably the host, if both
of the above conditions do not apply.

The maximum number of VCs that any host may open at any one time
is configured by the network administration, so opening multiple
VCs to one destination may make it harder for your host to open
VCs to other  destinations without having to clear previously
open VCs.

Also note that the PSN clears Standard X.25 VCs that have been
idle for a period of time.  This period is also configurable by
the network administration.

Regards,
Andy Malis
BBNCC PSN Development