RE: RFC3080 MSG/RPY Window

"Rainer Gerhards" <[email protected]> Mon, 15 Sep 2003 18:27:32 +0200
Newsgroups gmane.ietf.beep
Message-ID <[email protected]>
Hi Huston,

thanks for getting back to me. I have to say that I initially read 3080
so that a MSG should be acknowledged immediately but some discussion on
the syslog-sec WG list now makes me think different. Its just two
messages, so you may want to have a quick look:

http://www.mail-archive.com/syslog-sec%40employees.org/msg01285.html
http://www.mail-archive.com/syslog-sec%40employees.org/msg01286.html

I am a bit persistent here because not doing/understanding it right can
not only cause interop issue but also security issues - doing it wrongly
will certainly increase the risk for DoS attacks.

> The default window size for a channel on TCP is 4096. I 
> believe this is
> specified in RFC 3081.

Actually, I am talking about a *different window*. RFC 3081 deals with
the (advancing) seqno, not with msgno. There is no direct realtionship
between these two (or I did not get this from the RFC). I think I can
advance the seqno Window be sending a 3081 SEQ even when there are
unacknowledged msgnos. In fact, I even need to do so when the message
filling up the window is fragmented or even LARGER than the current 3081
windows. So I  believe the 3081 window applies to seqno but not to
msgno.

If so, that means the two are independent. If not, it would mean that
the somewhat lower-level seqno would affect the msgno window, which
could result in at least some complexity...


> 
> One side note on your example, the RPY messages have to be 
> sent in the same
> order as the MSG messages. 

Well, that was my understanding. I posted a question on the syslog-sec
WG list (see above) and Darren New pointed out to me that this actually
*would* be a valid scenario. Actually, I don't find that this is
forbidden in 3080. For example, 3080 says in 2.2.1.1, page 11 (just an
excerpt):

####
   o  if the header starts with "MSG", and the message number refers to
      a "MSG" message that has been completely received but for which a
      reply has not been completely sent;

   o  if the header doesn't start with "MSG", and refers to a message
      number for which a reply has already been completely received;
####

Neither of this is the case in my sample. Also, this does not outrule
it:

####
   o  if the header starts with "MSG", "RPY", "ERR", or "ANS", and
      refers to a message number for which at least one other frame has
      been received, and the three-character keyword starting this frame
      and the immediately-previous received frame for this message
      number are not identical;
####

That would hit...

####
   o  if the value of the sequence number doesn't correspond to the
      expected value for the associated channel (c.f., Section 2.2.1.2);
      or,
####
... but it again it is talking on seqno, not on msgno.

So I don't find any evidence in 3080 that RPY messages must be received
in the same order as MSG messages.

I would very much appreciate if you could point me to the specifics or -
if they are not acutally in there - what the actual spirit of BEEP is.
So we can than solve the interop issue.

Once again my apologies for my persistence ;)

Rainer