You can find the original paper by Watson online which explains it in more detail. The 3 way handshake is in fact not necessary. I believe the delta-t protocol was one of the available protocols in OSI as well. TCP/IP being the standard now is not due to the fact that it was technically the best. In fact, there are multiple shortcomings.
The delta-t protocol is also used in RINA, which was invented by John Day. It is also used in Ouroboros (https://arxiv.org/pdf/2001.09707), and I can confirm it works. ;)
The routing algorithm can be chosen in every layer, as addressing is per layer. We didn't reinvent the algorithms. So it would still be link state, distance vector, geometric routing, ... Since the addressing is internal to the layer, you probably won't have the same issues with geometric routing as currently in TCP/IP.
Ouroboros can run over the current internet so you can reuse existing hardware, but the end goal is to get rid of TCP/IP. We have layers over L1 and L2. In lab setups we never run it over TCP/IP.
As the previous commenter stated, since you can choose the routing algo at every layer, you could completely reproduce the current internet -- or choose to implement something better on some axis.
No, Ouroboros rethinks the whole network architecture, from the ground up. cjdns and yggdrasil build on top of IPv6, which we believe has the same architectural flaws as IPv4.
For accuracy, Yggdrasil doesn't "build on top of IPv6", it merely uses IPv6 over TUN in the current binaries because that most closely translates to a usable experience for real people today without having to rewrite their applications. It has been a good way to get users to help scale-test.
The underlying routing scheme, virtual switch/router implementation, specification etc are not aware of (nor do they care about) IP.
You are basically adding an address to TCP (the UUID) that names the host... Moreover, what happens if the connection fails during setup? A lot of edge cases here.
I am also removing the remote ip address from a socket. Hence, if you change your ip, you can just send from your new ip, include the same connection uuid, and I will still receive. You'd also need to know how to send data back. This could be done in many ways.
Biggest thing is to deal with really easy hijacks where you tell a server that your victim 's data should instead be sent to you. This is harder with the current TCP.
Fully agree. This is one of the biggest mistakes that was made in the early days of TCP/IP, with far reaching consequences (such as breaking multihoming, but also for instance increasing routing table sizes).
In Ouroboros (our recursive network implementation: https://ouroboros.rocks/), we only identify the interface once (MAC address). Addresses are contained within each recursive network layer, and identify a specific process at each layer (similar to how an IP address should actually identify the host).
The delta-t protocol is also used in RINA, which was invented by John Day. It is also used in Ouroboros (https://arxiv.org/pdf/2001.09707), and I can confirm it works. ;)