Subject: RE: [NSIS] framework: proposal on fragmentation

From: "Hancock, Robert" <[email-masked]>
Date: Thu, 5 Jun 2003 16:38:26 +0100

hi all,

FWIW I had assumed that reassembly would probably take place at 
each NSIS-aware node. Apart from anything else, an NSIS-aware node
probably couldn't work out what to do with a fragment (either whether
to deliver it locally to an application or forward it, and if so even
who to forward it to) without doing the reassembly. Of course, that's 
an NTLP design question, and you could also put enough data in each 
fragment to make them independently forwardable; that could be a
Good Thing.

Receiver fragmentation processing should not be a big deal. If an 
inbound packet isn't fragmented, it should say so. If it is,
reassembly was needed anyway. [Reassembly isn't trivial, but there's
a long-known body of knowledge in how to do it.] The key point - as 
several of us have pointed out - is that deciding how to handle the 
error conditions with a packet that is too big but which you can't 
fragment could be very difficult indeed.

robert h.

> -----Original Message-----
> From: Tom Taylor [mailto:[email-masked]]
> Sent: 05 June 2003 16:10
> To: Georgios Karagiannis
> Cc: [email-masked]; [email-masked]; [email-masked]
> Subject: Re: [NSIS] framework: proposal on fragmentation
> 
> 
> There are only two possibilities for point of reassembly: 
> after every NTLP hop, or 
> where the message is being delivered to NSLP.  The latter is 
> complicated by the 
> possibility that one NTLP message may contain multiple NSLP 
> messages.  On the other 
> hand, it seems like a waste to reassemble messages hop by 
> hop, only to break them 
> down again for the next hop.  Of course, doing this means 
> that lost fragments can be 
> retrieved on a per hop basis rather than involving more nodes.
> 
> In any event, I expect Georgios is concerned that the 
> receiving node has to execute 
> logic checking for fragmentation for every packet received, 
> even if fragmentation 
> can't happen in that particular application.  If the reason 
> fragmentation won't 
> happen is a big MTU, I can almost follow his argument.  If 
> the reason fragmentation 
> won't happen is the particular NSLP, I don't buy the 
> argument, because the other 
> NSLPs may also be bundled in.
> 
> Georgios Karagiannis wrote:
> 
> > Hi John and Maarten
> > 
> > First of all if a message is fragmented has to be 
> reassembled somewhere.
> > The NTLP will have to find out where the fragmentation and 
> the reassembly
> > process has to be
> > accomplished. This will require additional processing, even 
> if this it is
> > not needed.
> > In scenarios where performance in terms of processing 
> delays, number of
> > states per flow, etc.,
> > is important, it should be possible that the fragmentation 
> at NTLP layer
> > should be switched off and
> > either assure that the NSLP messages are small enough such 
> that they will
> > not be fragmented
> > or do it in the NSLP if required.
> > 
> > Best Regards,
> > Georgios
> > 
> [snip]
> 
> _______________________________________________
> nsis mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/nsis
> 
_______________________________________________
nsis mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/nsis

---

From: "Georgios Karagiannis" <[email-masked]>
Date: Thu, 5 Jun 2003 18:41:04 +0200

Hi Robert

> who to forward it to) without doing the reassembly.

Yes, but this is additional fragmentation/reassembly functionality that will
require  additional
processing, thus the performance behaviour of a node could be affected.

Now if nodes do not support NTLP bundling and if the NSLP is designed in
such a way that
NTLP fragmentation is not needed,  then the NTLP reassembly functionality,
mentioned above, even if it is not needed, will affect negativelly the
performance behaviour of the node.

What I am actually proposing is that any NSLP should be able to specify if
NTLP fragmentation/reassembly must be
supported or not!
Therefore, I am proposing that the NTLP fragmentation/reassembly feature
should be optional.

Best regards,
Georgios

---

From: Tom Taylor <[email-masked]>
Date: Thu, 05 Jun 2003 13:03:04 -0400

Optionality doesn't work unless it is negotiated, which makes the protocol a lot 
more complicated.  I can say my node doesn't support bundling, but what if the 
upstream node won't cooperate and sends me a bundled message?

---

From: "Lars.Westberg" <[email-masked]>
Date: Fri, 06 Jun 2003 09:32:02 +0200

Isn't the functionality in NTLP dependent on NSLP. If a certain NSLP do not want to
have
bundling and fragementation. Should that not be supported by NTLP ?

The selection of NTLP-functionality may be coupled to a certain NSLP-type.
In that case you I think that you do not need to have negotiation between different
NTLP-instances or.. ?

regards Lasse