<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:굴림;
        panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"맑은 고딕";
        panose-1:2 11 5 3 2 0 0 2 0 4;}
@font-face
        {font-family:"\@맑은 고딕";}
@font-face
        {font-family:"\@굴림";
        panose-1:2 11 6 0 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:굴림;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"맑은 고딕";
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal-compose;
        font-family:"맑은 고딕";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="KO" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">Great! I understand the context.<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕""><o:p> </o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">The phrase "All other things being equal" appears to mean "If one is not prioritized," if I understand it correctly. If an application requires
 somewhat ordered bundles for its convenience, that function would be quite interesting. However, considering how a bundle can be large, it could be challengeable in terms of memory usage.<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕""><o:p> </o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">(Ordered) FIFO delivery can be burden at CL since ordering is not trivial workload, especially considering long delay and large bundle; it is
 supposed to be a BP application</span><span style="font-size:10.0pt;font-family:"맑은 고딕"">’<span lang="EN-US">s responsibility I think.<o:p></o:p></span></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕""><o:p> </o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">I see this function as akin to defragmentation for fragmented bundles in memory/storage/db. Perhaps a third-party tool or layer designed specifically
 for this purpose and positioned between the CL and BP layers would be useful if a BP application finds it burdensome.<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕""><o:p> </o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">Best,<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕"">Cheol<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:break-hangul"><span lang="EN-US" style="font-size:10.0pt;font-family:"맑은 고딕""><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Felix Flentge <Felix.Flentge@esa.int>
<br>
<b>Sent:</b> Friday, February 16, 2024 4:18 PM<br>
<b>To:</b> Keith Scott <keithlscott@gmail.com>; </span><span style="font-family:굴림">구철회</span><span lang="EN-US"> <chkoo@kari.re.kr><br>
<b>Cc:</b> sis-dtn@mailman.ccsds.org<br>
<b>Subject:</b> RE: [Sis-dtn] ION and in-order delivery<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">I assume that we will need to formulate this as a node (the ‘</span><span lang="EN-GB">All other things being equal’ seems to vague for a SHOULD requirement).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">We could have something like: All other things being equal, it is expected that bundles are forwarded in FIFO + some explanation what ‘things not being equal’ could be (policy decisions, routing decisions, information
 from extension blocks, …) + some explanation that even forwarding in a certain order does not necessarily lead to receiving in that order (not even at the next hop but for sure not to the destination).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Felix<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-left:36.0pt"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> SIS-DTN <<a href="mailto:sis-dtn-bounces@mailman.ccsds.org">sis-dtn-bounces@mailman.ccsds.org</a>>
<b>On Behalf Of </b>Keith Scott via SIS-DTN<br>
<b>Sent:</b> Friday, February 16, 2024 8:11 AM<br>
<b>To:</b> </span><span style="font-family:"맑은 고딕"">구철회</span><span lang="EN-US"> <<a href="mailto:chkoo@kari.re.kr">chkoo@kari.re.kr</a>><br>
<b>Cc:</b> <a href="mailto:sis-dtn@mailman.ccsds.org">sis-dtn@mailman.ccsds.org</a><br>
<b>Subject:</b> Re: [Sis-dtn] ION and in-order delivery<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">Carlo: yeah, it's a very simple scenario; I took an existing test and plotted bundle sequence number against receive order.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">Cheol + Carlo: yes, I believe the misordering behavior is entirely allowed by the sentiment and letter of and specification.  The way I understand BP, the service provided by BP is similar to
 that provided by IP:<o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">  - Delivery of (bundles / datagrams) to the destination (name / address)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">In particular, in both BP and IP, (bundles / datagrams) may be lost, duplicated, delayed, and/or misordered during delivery.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">Context<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">=======<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">Sorry I didn't provide context for the first message.  We were discussing in the SIS-DTN telecon implementations that might want to impose a requirement along the lines of:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">    "All other things being equal, a bundle node should forward bundles in FIFO order."<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">That's not a requirement in any of the BP specs, but in general it's probably beneficial to applications if things don't arrive too much out of order if they don't have to.  Really this stems
 from folks who want to be able to:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">    - In bpv6, set timers like custodial retransmission timers or timers associated with DTPC, etc.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">    - Do something intelligent with application-layer timers related to lost chunks of a stream<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">I think the above guidance to implementers is probably good, though there's (IMHO) a world of complexity hiding under "All other things being equal", especially when we consider QoS and the
 group's desire to be able to dynamically modify QoS treatments of bundles via policy.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">    --keith<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span lang="EN-GB">On Fri, Feb 16, 2024 at 1:40 AM
</span><span style="font-family:"맑은 고딕"">구철회</span><span lang="EN-GB"> <<a href="mailto:chkoo@kari.re.kr">chkoo@kari.re.kr</a>> wrote:<o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<div>
<p style="margin-left:36.0pt"><span lang="EN-US" style="font-size:10.0pt">Hi, Keith.<br>
<br>
I think that's the normal operational behavior in LTP and TCPCL even in the absence of packet loss during connection because there are discontinuity events between A-B and B-C.<br>
<br>
When a discontinuity event occurs during a transaction of a LTP session, the LTP session could possibly not be ended successfully and may pause to await the Report segment from the receiving entity. Upon reconnecting, the affected LTP session must resume interrupted
 session processing (e.g., RS-DS retransmit-RS-RAS), while other LTP sessions can continue smoothly.<br>
<br>
Considering that an LTP session typically holds a bundle, in this scenario, out-of-order bundle delivery can occur even without packet loss. *NOTE* Discontinuity effectively simulates packet loss. TCPCL just acts like LTPCL. I think you could check it in a
 wireshark captured packet by seeing a Report segment.<br>
<br>
In your scenario, discontinuity events occurred 8 times (4 times for A-B, 4 times for B-C). I can observe 8 times of bundle arrival fluctuation events in the figure.<br>
<br>
Maybe there could be other issues originating this phenomenon, but above is my thought. HTH.<br>
<br>
Best,<br>
Cheol<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 15 Feb 2024 20:59:24 +0100<br>
From: Keith Scott <<a href="mailto:keithlscott@gmail.com" target="_blank">keithlscott@gmail.com</a>><br>
To: <a href="mailto:sis-dtn@mailman.ccsds.org" target="_blank">sis-dtn@mailman.ccsds.org</a><br>
Subject: [Sis-dtn] ION and in-order delivery<br>
Message-ID:<br>
        <CAHdkBBmXz6sQrY50p6Ob3ThO005132Ph9KZOiSgW+=<a href="mailto:C-8J5Y0w@mail.gmail.com" target="_blank">C-8J5Y0w@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
I ran a quick test with a 3-node ION network A-B-C where for the first minute A is connected to B (via LTP) and B is connected to C (via TCP).<br>
After that the topology repeats every two minutes; during the first minute A is connected to B and during the second B is connected to C.  At t=540s full connectivity (A-B and B-C) is restored for one minute.  There is no artificially induced loss in this scenario. 
 The max aggregation size for LTP was 100kbytes and the max aggregation time was 1s, e.g.:<br>
*    a span 2 10 10 64000 100000 1 'udplso <a href="https://protect2.fireeye.com/v1/url?k=388100df-671a6ad7-38847151-ac1f6bdccbcc-cbd0d64ded782f49&q=1&e=3298b021-335f-467f-afc5-6196eff23f73&u=http%3A%2F%2F10.44.3.2%3A1113%2F" target="_blank">
10.44.3.2:1113</a><br>
<<a href="https://protect2.fireeye.com/v1/url?k=ce37f0ae-91ac9aa6-ce328120-ac1f6bdccbcc-797d3695053eff4c&q=1&e=3ae2454f-c7be-47fb-9265-5a883d8026a6&u=http%3A%2F%2F10.44.3.2%3A1113%2F" target="_blank">https://protect2.fireeye.com/v1/url?k=ce37f0ae-91ac9aa6-ce328120-ac1f6bdccbcc-797d3695053eff4c&q=1&e=3ae2454f-c7be-47fb-9265-5a883d8026a6&u=http%3A%2F%2F10.44.3.2%3A1113%2F</a>>
 1000000'*<br>
<br>
<br>
[image: image.png]<br>
<br>
I ran bping (will do a unidirectional test later).  The chart below shows the received bping sequence number as a function of the order in which bpings were received.<br>
<br>
[image: image.png]<br>
<br>
So yeah, it looks like ION will occasionally misorder bundles.  I think that's not ideal, but I strongly believe that it is compliant with both the spec and the intent of the service (bundle delivery) BP purports to provide.  (And most bundles were in order,
 which is a feat considering that between 60 and 540s the network is never end-to-end connected).<br>
<br>
    --keith<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="https://protect2.fireeye.com/v1/url?k=89a9ea78-d6328070-89ac9bf6-ac1f6bdccbcc-c3083266c31597c8&q=1&e=3298b021-335f-467f-afc5-6196eff23f73&u=http%3A%2F%2Fmailman.ccsds.org%2Fpipermail%2Fsis-dtn%2Fattachments%2F20240215%2F70f735de%2Fattachment.htm" target="_blank">https://protect2.fireeye.com/v1/url?k=f133e8de-aea882d6-f1369950-ac1f6bdccbcc-aa39b8d587d0d7dd&q=1&e=3ae2454f-c7be-47fb-9265-5a883d8026a6&u=http%3A%2F%2Fmailman.ccsds.org%2Fpipermail%2Fsis-dtn%2Fattachments%2F20240215%2F70f735de%2Fattachment.htm</a>><br>
-------------- next part --------------<br>
A non-text attachment was scrubbed...<br>
Name: image.png<br>
Type: image/png<br>
Size: 48080 bytes<br>
Desc: not available<br>
URL: <<a href="https://protect2.fireeye.com/v1/url?k=a27c54b9-fde73eb1-a2792537-ac1f6bdccbcc-0cd0dd78c9fb85c0&q=1&e=3298b021-335f-467f-afc5-6196eff23f73&u=http%3A%2F%2Fmailman.ccsds.org%2Fpipermail%2Fsis-dtn%2Fattachments%2F20240215%2F70f735de%2Fattachment.png" target="_blank">https://protect2.fireeye.com/v1/url?k=5a238e22-05b8e42a-5a26ffac-ac1f6bdccbcc-ee06a4af1da35812&q=1&e=3ae2454f-c7be-47fb-9265-5a883d8026a6&u=http%3A%2F%2Fmailman.ccsds.org%2Fpipermail%2Fsis-dtn%2Fattachments%2F20240215%2F70f735de%2Fattachment.png</a>><br>
-------------- next part --------------<br>
A non-text attachment was scrubbed...<br>
Name: image.png<br>
Type: image/png<br>
Size: 79905 bytes<br>
Desc: not available<br>
URL: <<a href="https://protect2.fireeye.com/v1/url?k=0f49e854-50d2825c-0f4c99da-ac1f6bdccbcc-13dd17d28d8ec17d&q=1&e=3298b021-335f-467f-afc5-6196eff23f73&u=http%3A%2F%2Fmailman.ccsds.org%2Fpipermail%2Fsis-dtn%2Fattachments%2F20240215%2F70f735de%2Fattachment-0001.png" target="_blank">https://protect2.fireeye.com/v1/url?k=c83cc342-97a7a94a-c839b2cc-ac1f6bdccbcc-17dd8d887bfde0f4&q=1&e=3ae2454f-c7be-47fb-9265-5a883d8026a6&u=http%3A%2F%2Fmailman.ccsds.org%2Fpipermail%2Fsis-dtn%2Fattachments%2F20240215%2F70f735de%2Fattachment-0001.png</a>><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
SIS-DTN mailing list<br>
<a href="mailto:SIS-DTN@mailman.ccsds.org" target="_blank">SIS-DTN@mailman.ccsds.org</a><br>
<a href="https://protect2.fireeye.com/v1/url?k=6c23b166-33b8db6e-6c26c0e8-ac1f6bdccbcc-0f0fe67ad232d157&q=1&e=3298b021-335f-467f-afc5-6196eff23f73&u=https%3A%2F%2Fmailman.ccsds.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsis-dtn" target="_blank">https://protect2.fireeye.com/v1/url?k=ac25f3ab-f3be99a3-ac208225-ac1f6bdccbcc-2472f80e5d5dbacd&q=1&e=3ae2454f-c7be-47fb-9265-5a883d8026a6&u=https%3A%2F%2Fmailman.ccsds.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsis-dtn</a><br>
<br>
<br>
------------------------------<br>
<br>
End of SIS-DTN Digest, Vol 152, Issue 3<br>
***************************************</span><span lang="EN-GB"><o:p></o:p></span></p>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><span lang="EN-GB" style="font-size:12.0pt;font-family:굴림">This message is intended only for the recipient(s) named above. It may contain proprietary information and/or protected content. Any unauthorised disclosure, use, retention or dissemination
 is prohibited. If you have received this e-mail in error, please notify the sender immediately. ESA applies appropriate organisational measures to protect personal data, in case of data privacy queries, please contact the ESA Data Protection Officer (<a href="mailto:dpo@esa.int">dpo@esa.int</a>).
<o:p></o:p></span></p>
</div>
</body>
</html>