Ask HN: You have one shot to redesign the Internet – what do you change?
Changes I would have made in the early days:- 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.