Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jan 2007 10:58:55 -0800
From:      Chuck Swiger <cswiger@mac.com>
To:        Randall Stewart <rrs@cisco.com>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: Problem with port 0
Message-ID:  <DD2642C7-61D8-40A2-8036-493743B9678A@mac.com>
In-Reply-To: <45AD1C0F.7000701@cisco.com>
References:  <f9876c510701120903r65543ef4nafc7eeead2becb42@mail.gmail.com> <20070112163057.2a3ec8f0.rnsanchez@wait4.org> <45A807F8.7080603@FreeBSD.org> <45ACCFF4.4040709@cisco.com> <E7D65849-3A24-4A84-B1B4-D888BDB6E18E@mac.com> <45AD1C0F.7000701@cisco.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 16, 2007, at 10:40 AM, Randall Stewart wrote:
>> "reserved" means one "SHOULD NOT" use that port, where the phrase  
>> in caps is defined in RFC-2119 (http://www.ietf.org/rfc/rfc2119.txt).
[ ...format-flowed quoting trimmed... ]
> So let me see if I understand the statements above..
>
> We are using the SHOULD NOT.. which is YOU REALLY REALLY REALLY
> REALLY REALLY REALLY should not do this unless you have some
> very dramatic demonstrative need to do so and know the FULL
> consequences of the action.

Pretty much.  :-)  If you have a choice about solving the problem in  
a way that avoids doing something described as "SHOULD NOT", then one  
really ought to prefer that choice.

> The bit from wikipedia, while not authoritative in my mind, says you
> can send FROM the port, but don't expect an answer back.. which  
> implies
> you cannot bind it and/or cannot read from it if your source
> port is 0... Of course in TCP this is totally useless since you
> have to get something back in order to setup the handshake.

I don't consider wikipedia to be authoritative either, but it can be  
a useful reference or guideline in conjunction with other sources.   
Note that there are some uncommonly used TCP variants (T/TCP comes to  
mind) where you can short-circuit the 3-way handshake and put actual  
data in the initial SYN packet.

I would agree that one SHOULD NOT listen on port 0.

> In UDP I guess one could get a packet if the other O/S did not
> have any bind restrictions.. or one were to use a raw socket.

Sure, or use BPF/PCAP to generate the packets directly.

> But why all this for something you SHOULD NOT DO.. one of the
> consequences in my mind of this is that not all O/S's may be
> able to read your data .. nor respond to it.
>
> Seems to me a lot of hassle when one can just use a different
> port :-0

Well, yes-- there are another 65500+ ports available.

-- 
-Chuck




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DD2642C7-61D8-40A2-8036-493743B9678A>