Subject: (NAT) Thoughts on draft-ietf-nat-rsip-protocol-03.txt

From: Shane Kerr <[email-masked]>
Date: Wed, 10 Nov 1999 15:12:39 -0800 (PST)

Some random thoughts and observations on the RSIP
protocol draft, in no particular order:

- Including a version identifier on each packet seems
an unnecessary, since the client must register with
the server.  Include the version identifier there, and
subsequent transactions can be assumed to be at that
revision.  If the server changes versions, it needs to
de-allocate the clients (this is probably true in any
case).

- The "don't care" values for the address parameter
can be made inconsistent by specifying a length of
zero for every type.  In fact, the packet size can be
reduced in this case as well, since there's no need to
transmit extra 0 bytes.  It will most likely make the
code cleaner, too.

- The rules for specifying ports are a little bit
complicated.  I suggest that specifying ports as
start_port/end_port pairs may be easier.  To clarify:

  0,0 means any port
  1024,0 means any non-reserved port
  13,13,37,37 means either the daytime or time port

My main motivation for this is to simplify coding - it
also makes it easier to explain (simple == good).

- The error parameters need some sort of character to
seperate the words:

    UNKNOWNERROR => UNKNOWN_ERROR
    BADBINDID    => BAD_BIND_ID
    BADCLIENTID  => BAD_CLIENT_ID
    MISSINGPARAM => MISSING_PARAM

Yuck.  Personal preference, I suppose.

- If we're going to use TCP (or even allow TCP to be
used), the packet format needs to change.  There needs
to be a length specifier (or rather, a number of
parameter specifier).  For example, the ERROR_RESPONSE
message has three optional parameters.  However, in a
TCP stream, there's no way to know when the message
ends.  Yikes!  Maybe I missed this in the document,
but I didn't see any way to figure out where a packet
begins.  Maybe that's why the version ID was included
at the head of every message.  :)

Shane "Implement first ask questions later" Kerr
__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com
-
To unsubscribe, email [email-masked]' with
'unsubscribe nat' in the body of the message.

---

From: "Mike Borella" <[email-masked]>
Date: Thu, 11 Nov 1999 17:21:39 -0600

Thinking out loud about the version number issue, I don't see
a huge advantage having it one way or the other.  Saving one byte
is not a big deal, and a check would have to be performed anyway.

Your idea for the "don't care" values seems pretty clean.  With consensus,
I can make that modification.

Actually, I think that the rules for specifying ports are rather simple :-)
The high/low format prevents non-contiguous ranges, which is something
the -03 draft fixed.

Error code ugliness acknowledged.

Yes, the overall message length has been discussed already and
it is necessary.  It will be in -04.

Thanks,
-Mike

Shane Kerr <[email-masked]> on 11/10/99 05:12:39 PM

Please respond to Shane Kerr <[email-masked]>

Sent by:  Shane Kerr <[email-masked]>

To:   [email-masked]
cc:    (Mike Borella/MW/US/3Com)
Subject:  (NAT) Thoughts on draft-ietf-nat-rsip-protocol-03.txt

  0,0 means any port

-