Messages in this thread | | | Subject | Re: [off-topic] Microsoft IP Stack | Date | Wed, 23 Jun 1999 12:11:14 -0700 | From | Craig Milo Rogers <> |
| |
> So, instead of Berkeley Socket API, perhaps we should > refer to "BBN Socket API" ? > > Also, very likely that BBN code is the source of the > TCP URG one-off processing error in 4.* BSD systems, > and their derivatives ?
The socket API was a Berkelyism. The TCP URG one-off is almost certainly a Berkeley bug. The nutshell summary is: 1) BSD assumed that ISO/OSI would replace IP, and 2) rshell/rlogin is an OSI-based application, not a TCP-based application.
Rshell/rlogin require an out-of-band data channel, which TCP doesn't provide. Bill Joy implemented some unauthorized extensions to TCP, new options to carry OOB data. I liked them, but that view was not universal in the IP protocol community. More significantly, it was felt that BSD was atempting to force these extensions on the IP community without discussion and consensus. BSD was forced to withdraw their TCP options.
Instead, they perverted the Urgent pointer by treating it as an OOB pointer. This is critical to the rshell/rlogin protocol, which uses it as the sole means to distinguish certain control octets from data octets. Consequently, the BSD stack can't advance the Urgent pointer as mandated by the TCP spec. Stacks which do implement the specified behavior may fail to run rshell/rlogin reliably in certain circumstances.
BSD also implemented deviant behavior in connection initiation/acceptance, in part to compensate for limitations in the then-current single-threaded Unix I/O model. The result of this deviation was particularly noticable in FTP, where there was an indeterminate ordering between certain control and data stream events.
My apologies to the readers who are fuming at me for being offtopic. I suggest to all that linnux-net would be a more appropriate forum for a continuation of this topic.
Craig Milo Rogers
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |