Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I just want to say that it's refreshing to stumble onto someone commenting in the same style that I do. Where most people see things that are good enough, hard to fix or innovative, I see things for their fatal flaws, how they should have been done right from the start and why they are obvious. So I'll just add my list of gripes about TCP that in many ways ruined the internet for decades, and maybe still do:

  - TCP should have been a reliability layer above UDB, not beside it (made P2P harder than it should be, mainly burdening teleconferencing and video games)
  - Window size field bytes should have been arbitrary length
  - Checksum size field bytes should have been arbitrary length and the algorithm should have been optionally customizable
  - Ports should have been unique binary strings of arbitrary length instead of numbers, and not limited in count (as mentioned)
  - Streams should have been encrypted by default, with clear transmission as the special case (symmetric key encryption was invented before TCP)
  - IP should have connected to an arbitrary peer ID, not a MAC address, for resumable sessions if network changes (maybe only securable with encryption)
  - Encrypted streams should not have been on a special port for HTTPS (not TCP's fault)
  - IP address field bytes should have been arbitrary length (not TCP's fault)
  - File descriptors could have been universal instead of using network sockets, unix sockets, files, pipes and bind/listen/accept/select (not TCP's fault)
  - Streams don't actually make sense in the first place, we needed state transfer with arbitrary datagram size and partial sends/ranges (not TCP's fault)
Linking this to my "why your tunnel won't work" checklist:

https://news.ycombinator.com/item?id=44713493

I want to add that the author of the article wrote one of the cleanest and most concise summaries of the TCP protocol that I've ever read.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: