jdd@allegra.UUCP (07/01/83)
Well, if we're talking 4.1c lossage in net.bugs.4bsd, here's a great one: In the design of the TCP Internet protocols, a channel is uniquely specified by the 4-tuple: (machine-a, port-a, machine-b, port-b) The same port number on the same machine can be associated with any number of connections so long as the other machine and/or the other port differ. This is the definition; this is reality. Now the way the Internet domain is mapped onto the 4.1c networking apparatus, one uses the "bind" system call to bind a socket to a particular AF_INET port number. \Unfortunately/, "bind" fails if any other socket is currently bound to that port number on that machine! I discovered this restriction when I tried to port a distributed program that opened several TCP channels, reusing the same local port numbers on each machine. This is allowed by the Internet standard but not by 4.1c. This is more a design flaw than a bug, since it's hard to imagine how to fix it in the context of the 4.1c name-binding mechanism. Cheers, John ("My Fingers Can't Type Any More") DeTreville Bell Labs, Murray Hill
mo@ucbvax.UUCP (07/01/83)
The the problem with rebinding addresses is a non-problem. There is an option which is supplied to the socket() call to allow addresss rebinding exactly compliant with the semantics of TCP. This is an option because not all protocols in the universe take TCP's view of connection management. -Mike O'Dell