<story><title>Multipath TCP for Linux (2022)</title><url>https://www.mptcp.dev/</url></story><parent_chain><item><author>EvanAnderson</author><text>If TCP had a protocol specific identifier for connections (a couple of 32-bit values, for example-- a client nonce and server nonce) rather than using the source&amp;#x2F;destination IP addresses multi-homed hosts and seamless transition between different networks would become native features of the protocol. A client could roam between two different IP networks and TCP connections would &amp;quot;survive&amp;quot;, for example. (I&amp;#x27;m oversimplifying nearly to the point of hyperbole, to be sure...)&lt;p&gt;(Another fun future would have been one where SCTP got widespread adoption.)</text></item><item><author>bobmcnamara</author><text>How would you change TCP?&lt;p&gt;Do you mean how we have to use 4 fields to track a connection - IP address and port for both ends?</text></item><item><author>EvanAnderson</author><text>I don&amp;#x27;t know which makes me sadder-- IPv4 only having a 32-bit address space or TCP using the source and destination IP addresses in the connection tuple. That&amp;#x27;s one of those &amp;quot;if I had a time machine&amp;quot; of things-- I&amp;#x27;d go back and have Cert and Kahn change both of those items.</text></item></parent_chain><comment><author>LinuxBender</author><text>&lt;i&gt;a client nonce and server nonce) rather than using the source&amp;#x2F;destination IP addresses multi-homed hosts and seamless transition between different networks would become native features of the protocol. A client could roam between two different IP networks and TCP connections would &amp;quot;survive&amp;quot;, for example.&lt;/i&gt;&lt;p&gt;This is mostly how Mosh [1] works and allows for IP roaming, changing IP&amp;#x27;s, etc... without losing ones SSH session.  The connection can even be interrupted for a prolonged period of time and restore on its own on a new IP seamlessly.&lt;p&gt;[1] - &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;mosh.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;mosh.org&amp;#x2F;&lt;/a&gt;</text></comment>
<story><title>Multipath TCP for Linux (2022)</title><url>https://www.mptcp.dev/</url></story><parent_chain><item><author>EvanAnderson</author><text>If TCP had a protocol specific identifier for connections (a couple of 32-bit values, for example-- a client nonce and server nonce) rather than using the source&amp;#x2F;destination IP addresses multi-homed hosts and seamless transition between different networks would become native features of the protocol. A client could roam between two different IP networks and TCP connections would &amp;quot;survive&amp;quot;, for example. (I&amp;#x27;m oversimplifying nearly to the point of hyperbole, to be sure...)&lt;p&gt;(Another fun future would have been one where SCTP got widespread adoption.)</text></item><item><author>bobmcnamara</author><text>How would you change TCP?&lt;p&gt;Do you mean how we have to use 4 fields to track a connection - IP address and port for both ends?</text></item><item><author>EvanAnderson</author><text>I don&amp;#x27;t know which makes me sadder-- IPv4 only having a 32-bit address space or TCP using the source and destination IP addresses in the connection tuple. That&amp;#x27;s one of those &amp;quot;if I had a time machine&amp;quot; of things-- I&amp;#x27;d go back and have Cert and Kahn change both of those items.</text></item></parent_chain><comment><author>mauriciob</author><text>How would routing be done without source&amp;#x2F;destination? When the device changes networks, how does the origin and all routers along the way know that this device is on a new network?</text></comment>