Re: [Lwip] [6lo] [E] fragment forwarding implementation and performance report

"Pascal Thubert (pthubert)" <> Tue, 09 October 2018 11:48 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0D0AD1312E0; Tue, 9 Oct 2018 04:48:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 3Pp95SA9ODzI; Tue, 9 Oct 2018 04:48:56 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6BB631312DC; Tue, 9 Oct 2018 04:48:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=13850; q=dns/txt; s=iport; t=1539085736; x=1540295336; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=sAFe+T/Xe91OViZpIzNyl8zUyMMwk3NROcvGyproR0g=; b=PkksnwcE90+/uuOblcjvN82J3o1b1IMRQMWcnbZKrfalHHOtFIkLrj5x 30mdC3sKLXWQUSCFuk7lwufhYw76vXBj7pS02d2gEcfGm9qm4ohNdo3tf 2spM39kfr8rr6IGOysF85KDScsw9r5yzAWcDlYevptELGrAY0PpDIKj9l o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.54,360,1534809600"; d="scan'208,217";a="183650329"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Oct 2018 11:48:55 +0000
Received: from ( []) by (8.15.2/8.15.2) with ESMTPS id w99Bmt0l014567 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 9 Oct 2018 11:48:55 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 9 Oct 2018 06:48:54 -0500
Received: from ([]) by ([]) with mapi id 15.00.1395.000; Tue, 9 Oct 2018 06:48:54 -0500
From: "Pascal Thubert (pthubert)" <>
To: Rahul Jadhav <>, "" <>
CC: "" <>, lo <>
Thread-Topic: [6lo] [E] fragment forwarding implementation and performance report
Thread-Index: AQHUX7FWPz0hKbHhyUuNR0ce02aI3aUWyQDw
Date: Tue, 09 Oct 2018 11:47:31 +0000
Deferred-Delivery: Tue, 9 Oct 2018 11:45:14 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: fr-FR, en-US
Content-Language: en-US
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_45a2aea914094714b8e1438c14f32138XCHRCD001ciscocom_"
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Lwip] [6lo] [E] fragment forwarding implementation and performance report
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Lightweight IP stack. Official mailing list for IETF LWIG Working Group." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 09 Oct 2018 11:48:59 -0000

Hello Rahul and Samita :

I thought, the performance would improve with higher X value,  but that is not true - perhaps due to increased payload size.

Yes, the increased payload size causes higher number of fragments per payload which increases payload loss probability since a single fragment loss will cause complete payload failure.

[PT>] Yep: this shows the chances of not only losing the packet but buffer bloat on the receiver, which entails not having memory left for receiving normal packets. IOW this justifies doing recoverable fragments.

Also, it shows that by controlling the pacing of forwarding the fragments the performance can be improved to a great degree in a medium to small size mesh. ( in this example, 50 nodes).

What happens when you increase the mesh size ( aka number of nodes)?

Yes we can increase the mesh size but then I do not think it will change the inferences much. We also wanted to try different (higher) node densities which I feel might further cause problems for fragment forwarding. Among other things we also want to experiment with fragment acknowledgement mechanism. But we haven’t really validated all these points.
[PT>] In a real network we can expect more than one flow. Here the one packet appears smooth but that’s because there is nothing to interfere with. What if you kept on sending packets continuously, and over multiple crossing paths?
There are really 2 effects that justify pacing the fragments. With a channel hopping technology like TSCH, it is just to left the next hop forward the fragment, so the wait can be short. When using a single frequency, there is also avoidance of hidden terminal between consecutive fragments, which means that we have to wait for the fragments to relay over multiple hops.
This tells us that the fragment forwarding technique is a lot more efficient when coupled with 6TiSCH. None of this is a surprised, all was described to the group when we started (see my slides from a few IETFS ago, see slide 32 of ).

I hope others continue the great work that Rahul has started, in particular with TSCH and multiple flows.

Take care,