Hacker News new | comments | show | ask | jobs | submit login
30 instruction TCP receive (cmu.edu)
58 points by xtacy 1929 days ago | 4 comments

Ah, yes, lightweight TCP processing...

I remember working (as the MIT-EECS department systems guy) in the late 70's with the huge, galumphing, tortured BBN TCP/IP code for TOPS-20/TENEX, the first generation of TCP implementations, after the "big switch" that turned off all NCP (pre-TCP ARPAnet protocol) implementations in favor of TCP.

Then I joined a startup in 80/81 building the first typesetting-quality laser printers, Imagen (a spin-off from Knuth's TeX project). We built controllers on the Andy Bechtolstein-designed SUN-1 boards that Sun later licensed as the basis for their first workstations). Meanwhile, I had built a home-grown real-time OS for the SUN-1, and hired Geoff Steckel from Dave Clark's group at MIT (Dave was one of the co-designers of TCP/IP).

Geoff had already built several small lightweight implementations of TCP/IP in C, and he did it again for us, so we had a full multi-tasking kernel with multiple TCP/IP connections in a few hundred lines of code (for the TCP portion).

The moral of the story is, you have to throw a bunch of implementations away before you can begin to see the essential simplicity of the task at hand.

Van Jacobsen did the same, later, by developing a "fast path" through the Berkeley Unix TCP/IP implementation that could drive an 100BaseT Ethernet at nearly full hardware bandwidth between two Sun workstations. That was quite something for the mid-80's.


That was quite something for the mid-80's.

Yes, especially because the 100BaseT specs didn't come about until the mid-90's. Even 10BaseT wasn't really predominant until the early 90's. I seem to recall Cat5 just barely coming about in around 1995. Twisted pair of any kind was pretty rare in the 80's.

10Base2 (coax, thin Ethernet) came about in 1985, and was (AFAICR) pretty much "the standard" until about 1990(ish).

I could see driving a 10BaseT NIC at full bandwidth in the mid-80's, but don't believe there was a 100Mbs ANYTHING at that time.


Sorry, faulty memory...


Beautiful. And also kind of bad-ass.


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact