[Sis-dtn] LTPDrop

Carlo Caini carlo.caini at unibo.it
Wed Feb 21 11:33:23 UTC 2024


Dear friends,
         I am pleased to inform all people interested in LTP development and testing that at Unibo we have developed a simple but effective tool to filter LTP segments, called LTPDrop. The code is released under GPLv3 and can be downloaded from:
https://gitlab.com/unibo-dtn/ltpdrop
The main branch contains the latest version.


>From the Git Lab description:

LTPDrop is a command line Python program designed to filter LTP segments belonging to session started by one LTP engine; it enables to filter/log specific LTP segment types. LTPDrop can be used to:

  1.  Deterministically drop the first instances of specific LTP segment types
  2.  Randomly drop LTP segments with a given probability
  3.  Log LTP sessions

The current version of this program is compatible with LTP RFC-5326<https://datatracker.ietf.org/doc/rfc5326/> and Multicolor LTP<https://doi.org/10.1109/TAES.2022.3176847>.


A few notes.

Use 1 is intended to check the ability of the LTP implementation under test to correctly respond to the loss of specific segments, thus reproducing uncommon situations, such as the loss of the first CP, or the loss of the first RA, or the loss of the first N RS, etc.


Use 2 has been thought in alternative to use 1, when the user just need to inject random losses; however, it can be used in parallel too; in the latter case random losses are applied before deterministic losses.


Use 3 allows the user to log in a .csv file the LTP traffic (as a sort of specialized  "tcpdump"). In the file there will be one line for each segment seen in input, with many fields, including a timestamp and the LTP type. By importing the .csv file it is easy to extract information about a session (the session duration, if there were retransmissions, etc..).

.csv Logs refer to input traffic, i.e. before losses are applied.


Concerning the support of Muticolor LTP, this means that LTPDrop recognizes as experimental "Orange" segments the 4 LTP types left free by RFC 5326. In other words,  LTPDrop can selectively drop them on request, as all other segments, and these segments are classified as Orange segments in logs. On standard LTP traffic this types should never appear, thus the extension is transparent to standard LTP traffic.


The program has been written by Martino Manaresi as a part of his undergraduate thesis in computer science engineering. Let me add that it is his own idea, after noting that it was difficult to recreate "corner cases" in compatibility tests between ION and ESA-BP implementations of LTP. I just supervised the project.


Martino and I look forward to receiving your comments and suggestions, as well as possible bug indications.


Yours,

    Carlo



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/sis-dtn/attachments/20240221/887e78e8/attachment.htm>


More information about the SIS-DTN mailing list