What is the allocation algorithm for UDP socket port numbers
under DEC Unix 3.2c? What is the range of valid UDP port numbers? I have a
number of UDP client processes that bind to an INADDR_ANY port, do some
transactions, and close the port. I'm seeing a situation where UDP ports
are reallocated in a short timeframe, causing one client to get a second
clients packets. For example,
Client A binds to any port and gets 1057
Client A sends a request to a server, times out, and retries, times
out, retries, and gives up. He closes his socket.
A short time later, client B binds to any port, gets 1057, and
receives the packets sent by the server intended for client A.
I solved the problem by passing some information in the UDP packet that
allows the client to ignore packets not meant for him. However, I
never encountered this problem running the same code on another Unix
system; so I'm curious how DEC Unix decides which port it will assign
next when INADDR_ANY is used in bind().
As usual, our call to the DEC support center yielded nothing.
-Thanks
Randy Marchany
VA Tech Computing Center
Blacksburg, VA 24060
INTERNET: randy.marchany_at_vt.edu
------- End of Forwarded Message
Received on Wed Jan 24 1996 - 20:38:29 NZDT