This was just an idle conversation we were having at work. Imagine that one day you wake up and you've been sent back in time, where you are now a researcher at DARPA in the early 1960s. You've got the influence to effect fundamental changes in the next sixty years of the Internet's history, and can make your changes any time in the next sixty years - but you know that as soon as you change one thing in history, you'll be sent back to 2021, to continue living in the world you have wrought.
How are you going to make the Internet better?
- 48-bit static IP addresses. 70 trillion should be enough. 128 bits was overkill.
- Nodes, not interfaces, have IP addresses, so you can use multiple paths.
- IPSEC available but initially optional.
- Explicit congestion notification, so packet loss and congestion loss can be distinguished.
- Everything on the wire is little-endian, byte oriented, and twos complement.
- You can validate a source IP address by pinging it with a random number. If you don't get a valid reply, the IP address is fake. Routers do this the first time they hear from a new address, as a form of egress filtering. This contains DDOS attacks.
- Routers will accept a "shut up" request. If A wants to block B, it sends to a router on the path, the router pings A to validate the source, and then blocks traffic from B to A for a few minutes. This also contains DDOS attacks. Routers can forward "shut up" requests to the next router in the path, for further containment.
- Fair queuing at choke points where bandwidth out is much less than bandwidth in.
- Explicit quality of service. At a higher quality of service, your packets get through faster, but you can't send as many per unit time.
- No delayed ACKs in TCP.
- Fast connection reuse in TCP.
- Mail is not forwarded. Mail is done with an end to end connection. Mail to offline nodes may be resent later, but the sender handles that. Mail, instant messaging, and notifications are the same thing. Spam is still possible but hard to anonymize. If you want your mail buffered, use an IMAP server at the receive end.
- One to many messaging uses a combination of RSS and notifications.
- Something like Gopher should be available early. The Web would not have fit in early machines. but Gopher would.