Re: GIST Q/D-mode issue

Jukka MJ Manner <[email protected]>
Newsgroups gmane.ietf.nsis
Message-ID <[email protected]>
Hi all,

I also tend to like the "Option 1: Q-flag". It is a rather simple, yet 
clear, way to solve the problem. I don't see that using one more bit from 
the GHC is really that problematic.

Jukka

On Wed, 10 Sep 2008, Hancock, Robert wrote:

> hi all,
> 
> first, a couple of general points:
> 
> - at the conceptual level, i think we should distinguish 
> between (a) whether a message is sent in Q- or D-mode, and
> (b) whether a message has to be interpreted when received 
> in the absence of routing state. in the current spec, either
> of these classify messages the same way, but the concepts 
> are distinct: (a) is about sender behaviour [mainly, formatting
> the message to follow a data path] and (b) is about
> receiver behaviour [knowing how to decode what you get].
> 
> The overall issue comes up in the NAT traversal case, and
> the point (I think) is that the NAT has to do special 
> special processing for messages received without prior
> routing state.
> 
> - this actually exposes a flaw in the previous spec: it was
> never supposed to matter to a receiver whether a message
> was received in Q- or D-mode, it only mattered to the
> sender. (The receiver only cared about the message type.)
> The fact that it was possible to tell the difference from
> the presence of the RAO was a design artifact (the RAO was
> supposed to assist message interception, not change the
> semantics of the message.)
> Taking into account the conceptual distinctions above, it
> is still the case that it shouldn't matter to the 
> receiver whether a message was in Q- or D-mode, but it does
> matter whether routing state is supposed to be used in
> interpreting it.
> 
> after that rather long digression, some more detailed points
> below:
> 
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]] On 
> > Behalf Of Roland Bless
> > Sent: 10 September 2008 12:15
> > To: Lauri J T Liuhto
> > Cc: [email protected]
> > Subject: Re: [NSIS] GIST Q/D-mode issue
> > 
> > Hi Lauri,
> > 
> > good that you are coming back on this issue, since I was also
> > a little bit confused by the proposal to use a new port for the
> > issue.
> > 
> > Lauri J T Liuhto wrote:
> > >  First a very short summary of the Q/D-mode issue of NTLPv16 Nuutti
> > >  Varis found in July:
> > > 
> > >         It seems that it is impossible to differentiate Q-mode and
> > >         D-mode Data messages in a middlebox if Data message is sent
> > >         with GIST Common Header S-flag set.
> > >  
> > >  A more detailed example of this issue is attached to the 
> > end of this
> > >  message.
> > > 
> > >  The issue was briefly discussed at Dublin, and it seems 
> > that we have
> > >  at least two different solutions to the issue:
> > > 
> > >  1) Add a "Q" flag to the GIST Common Header, that would be set
> > >     whenever the message is a Q-mode message.
> > >     + Closely resembles RAO in UDP payload
> yep
> > >     + Should be easy to fit in the spec
> yep
> >       + does not use another different well-known port number
> yes-ish (see below)
> > >     - Existing implementations need changes
> yep
> > >     - If done, only four free bits remain in GCH
> true (not a huge problem, but see anyway below).
> 
> > 
> > >  2) Use different port for D-mode messages.
> > >     + Scarce GCH flag reserve not used
> true
> > >     - Bigger changes to spec
> yes - in particular, is it a fixed or negotiated port
> > >     - Possible NAT/Firewall issues
> yes in either case (bigger issues if negotiated)
> > >     - Existing implementations need more complex changes
> yes
> >       - requires using a different well-known port number
> it doesn't necessary need to be well-known, just registered
> with IANA. (it could even be dynamic if the port is
> advertised by the receiver, but that is also more complicated.)
> > 
> > As an implementer I'm much in favor of solution 1):
> > requires only a few code changes and produces less error
> > cases, since in the using a different port case other
> > messages may arrive on the new port as well etc.
> > Listening on two different ports simultaneously for messages
> > also requires more system resources and probably major code changes
> > compared to 1).
> > 
> > I'd like to propose a different option 3): why not use a new message
> > type for stateless DATA messages? From the internal protocol logic
> > this would also be easy to implement as a Q-flag, since this type
> > of DATA message needs a special handling, but it avoids
> > wasting the flag bit.
> 
> this is half attractive for saving the flag bit. however, there is
> an issue about extensibility: what if later on another message type
> turns up which also needs to be processed by the NAT in the same
> way - the NAT implementations need to have a list of message
> types to care about, and that list might extend. 
> 
> but there's another way of saying the same thing: divide the message
> types into two classes, those to be intercepted by NATs and those
> which are not. distinguish them by the high-bit in the message 
> type field. (it reduces the number of distinct message types from
> 256 to 128, but that seems not impossible.) obviously, this is the
> same as just putting the hypothetical Q-flag in a different place
> in the header (and calling it something else.)
> 
> in another mail:
> 
> > Max Laier proposed option 4):
> > use a different magic number for Q-Mode and D-Mode messages.
> > Any opinions?
> 
> i don't really like this. i have generated the appropriate
> random number (4d62 8fa0), but it still seems like a hack.
> and the same issues about extensibility apply.
> 
> when i first analysed this problem, i couldn't find a better
> solution than the Q-flag or something like it: in other words,
> you have to change the message formats. within the design
> space of format changes, my favourite is still option (1), or
> modified option (3) if flag bit space exhaustion seems like
> a problem.
> 
> robert h.
> 
> > 
> > Regards,
> >  Roland
> > _______________________________________________
> > nsis mailing list
> > [email protected]
> > https://www.ietf.org/mailman/listinfo/nsis
> > 
> _______________________________________________
> nsis mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/nsis
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.