Subject: Re: [dtn] [nwcrg] [LOOPS] IETF106: LOOPS side meeting on Tuesday 08:30, Orchard Room

From: "Stuart William Card" <[email-masked]>
Date: Sun, 22 Dec 2019 19:02:21 -0500

Carsten et al --

There has been interesting discussion since this thread-starter, but as I
am not responding specifically to any of the points in those subsequent
messages, I'll reply to this one.

Over 15 years ago, for an enterprise with global air mobile operations, I
was deeply involved in enabling IP networking among LANs aboard aircraft
and WANs on the ground.

Then there were few air-ground links available, and they were mostly:
 - high error (or packet loss) rate
 - low data rate
 - long latency
 - half-duplex (with long transmit-receive turn-around times)
 - asymmetric
 - rapidly and widely varying in all the above characteristics

So we used store-and-forward Delay/Disruption Tolerant Networking (DTN)
techniques were we could, but also had to support TCP/IP applications.

To take advantage of all of the different narrow-band links to/from the
aircraft, we integrated what we called Concurrent Multipath Routing (CMR).
This was not just flow by flow but also packet by packet load balancing
and failover, as often we had only a single application flow demanding a
higher data rate than we could achieve over a single air-ground link, as
well as the need for multi-homing for smooth make-before-break mobility
handoffs. Of course, this resulted in frequent Out Of Order Delivery
(OOOD), utterly trashing performance of basic TCP. Each different
air-ground link was just a single hop, near the aircraft end, of a
multi-hop path, with each ground segment run by a different organization
with different QoS etc. policies. Further, some links had reliable link
layer protocols that used ARQ, causing further RTT variation, so TCP
retransmissions were often needlessly triggered, redundant with (and
slower than) link layer retransmissions.

So we integrated symmetric transparent TCP Performance Enhancing Proxies
(PEPs) based on the Space Communications Protocol Specifications -
Transport Protocol (SCPS-TP), an interoperable TCP variant with additional
(IANA listed) options, especially Selective Negative ACKnowledgment
(SNACK). We implemented and got CCSDS to standardize "Lazy SNACK", where
the transport layer receiver does not immediately SNACK a hole in the
sequence and/or the transport layer sender does not immediately retransmit
in response to getting a SNACK; this more patient strategy dramatically
improved response to CMR's OOOD and the reliable link layer's ARQ.

I relate all this because I wish to suggest that LOOPS participants brush
up on SCPS-TP (the protocol, its testing and its uses), to avoid
unnecessarily re-inventing wheels. I recognize that LOOPS is for path
_segments_: we used SCPS-TP only on a portion of our end-to-end multipath
route, so that is the same; but our TCP<->SCPS-TP PEPs were transparent,
which is largely infeasible today as it looks like a Man In The Middle
attack and is defeated by end-to-end encryption (whether IPsec or TLS).
However, it certainly is possible to tunnel IP in TCP (or SCPS-TP), albeit
with substantial overhead. I'm not suggesting an IP in SCPS-TP tunnel as a
LOOPS technique, but something _like_ that might make some sense. Anyway,
check out the CCSDS standard for SCPS-TP for good ideas on dealing with
lousy path segments. Here are some getting-started references --

https://en.wikipedia.org/wiki/Space_Communications_Protocol_Specifications
https://public.ccsds.org/publications/scps.aspx
https://public.ccsds.org/Pubs/714x0b2.pdf

Although few are aware of SCPS-TP (even those who are using it, as it is
typically embedded in their SATCOM gateways), it is required for all U.S.
military TCP over SATCOM, and there has been recent work outside DoD --

http://www.ittc.ku.edu/resilinets/papers/Nguyen-Sterbenz-wns3-2017.pdf

I can provide lots of other references for anyone interested. We are also
planning to launch a new [secure] reliable [multicast] transport mailing
list to replace the old SCPS and NACK Oriented Reliable Multicast (NORM)
lists (we have the NORM list archives).

Note I added the DTN working group to distribution on this message; you
may or may not want to keep them on distribution of replies.

Thanks all!

-- Stu

> Thanks again everyone for the participation at the LOOPS side meeting and
> in our slot at the NWCRG meeting.
>
> I have compiled more detailed notes, with links to/copies of the meeting
> materials, at
>
> https://github.com/loops-wg/ietf106
>
> Please do have a look at the notes, specifically [1] and [2], and send
> corrections and additions.  Also, there were a few items in the NWCRG
> discussion where there may be results that we already can point to; as
> Marie-Jose said, please send them to both mailing lists.
>
> Grüße, Carsten
>
> [1]:
> https://github.com/loops-wg/ietf106/blob/master/ietf106-loops-side-meeting.md
> [2]:
> https://github.com/loops-wg/ietf106/blob/master/ietf106-nwcrg-loops.md
>
> _______________________________________________
> nwcrg mailing list
> [email-masked]
> https://www.irtf.org/mailman/listinfo/nwcrg

-- 
Stuart W. Card, VP & Chief Scientist
Critical Technologies Inc. (CTI)
<[email-masked]>