← Back to context

Comment by zweifuss

12 hours ago

The history of the Windows TCP/IP stack went most likely like this:

IBM (NetBEUI, no TCP/IP) -> Spider TCP/IP Stack + SysV STREAMS environment -> MS rewrite 1 (early NT, Winsock instead of STREAMS) -> MS rewrite 2 (make win2000 faster):

https://web.archive.org/web/20151229084950/http://www.kuro5h...

It's interesting how STREAMS pervaded everything for a short while (Apple's Open Transport networking stack for System 7.5 and up was also based on STREAMS) but everyone almost immediately wanted to get rid of it and just use Berkley sockets interfaces.

  • I still don't quite get how you should had communicate with the other systems over the network with STREAMS.

    With IP you have an address and the means to route the data to that address and back, with TCP/UDP sockets you have the address:port endpoint so the recipient doesn't need to pass a received packet to the all processes on the system, asking "is that yours".

    So if there is already some network stack providing both the addressing and the messaging...

    • STREAMS isn’t a networking protocol, it’s an internal data routing thing some UNIXes use locally, and amongst other things to implement the network stack in it.

      You’d still be talking of stuff like IP addresses and the like with it. Probably with the XTI API instead of BSD sockets, which is a bit more complex but you need the flexibility to handle different network stacks than just TCP/IP, like erm…