[ih] Separation of TCP and IP

Grant Taylor internet-history at gtaylor.tnetconsulting.net
Thu Jun 23 21:35:20 PDT 2022


On 6/23/22 10:19 PM, Toerless Eckert via Internet-history wrote:
> Good point: Raw sockets allow to build protocols like TCP at process 
> level, BUT: because their only demux point is the IP layer proto / 
> IPv6 next-proto field (and maybe the local ip address, not sure), the 
> kernel can not demux the packets towards an actual application owner 
> and hence this just allows to outsource a single TCP implementation 
> into userland.

I think I understand your concern.  However I question the veracity of 
your concern.

> I have not looked into the details for a long time, but i think 
> that if you wanted to separate apps to run their own independent 
> TCP stacks in userland with raw sockets, both would need to run with 
> root privilege and have separate IP addresses (aka: require multiple 
> addresses on the host).

I was wondering about multiple IP addresses, one (or more) per TCP/IP stack.

> Of course, if we would have started with everything on top of UDP, 
> including TCP, that would have resulted in a whole other set of 
> interesting challenges over the decades, some of which i think we 
> haven't even solved well today.

Would you be willing to elaborate?

P.S. Please reply to the Internet History mailing list, I don't want my 
own direct copy.



-- 
Grant. . . .
unix || die



More information about the Internet-history mailing list