Why so many servers?

Andrew Benson drewbenson at netjack.com
Thu May 7 00:34:17 UTC 2020


Lol.. “… which will maybe, perhaps, lead to IPv4’s deprecation in our lifetime”  :-)

  I’m with you on everything but the latency statement.

Whether p2p has better or worse latency than a client-server setup really depends on the situation.  For example, if you pick the simplest possible situation — 1 server in the middle, and 2 clients, all of which are singlely-connected to the public Internet, with the server essentially just forwarding data between the two.  Like with two people on a video or audio call.   Latency in this case will almost always be better with p2p in this case as you’re saving a server round-trip, and the server isn’t likely to be doing anything that will significantly reduce the amount of data flow between the two endpoints.

For most home Internet users (and even many business users), their upload speed is highly limited, which will often destroy any advantage p2p may have had once there are multiple peers.

That said, all the points are very valid, with NAT, ISP blocking, corporate blocking, and most firewalls getting in the way of “incoming” connections, p2p is an implementation problem.



> On May 6, 2020, at 3:54 PM, j3s <j3s at c3f.net> wrote:
> 
> Very late to this conversation, but I have some cents to add.
> 
> On 5/1/20 11:29 PM, Joe Nelson wrote:
>> Why don't our computers talk directly to one
>> another instead?
> 
> This, broadly speaking, was never supposed to be a problem until NAT rolled around and screwed everything up as Joe pointed out. NAT altered how we think about networks forever. Notably, one thing that hasn't been brought up is IPv6.
> 
> IPv6 alleviates routing concerns by giving every device on the globe a publicly route-able address, with no NAT involved. The internet we were promised! But so far adoption has been slow, thus it's not very useful. But more and more carriers are leaning into IPv6, which will maybe, perhaps, lead to IPv4's deprecation in our lifetime.
> 
>> Same thing for screen sharing. A shared tmux session on the frostbyte
>> server still requires the server
> 
> > Maybe the root problem is that many people operate in a local area
> > network that doesn't have NAT configured to expose a listening port from a machine to the outside world.
> 
> I do not think the root problem is NAT.
> 
> I think an important and understated benefit of using a server is consistency - in terms of latency, throughput, and access.
> 
> Let's pretend that IPv6 is universal and everyone has direct peer-to-peer access. Yaas! This should help alleviate our access problem. Or does it?
> 
> - most ISPs block certain ports to prevent spam abuse
> - corpo inspection systems may still block "suspicious p2p" traffic
> - how do you know who to trust in a p2p network?
> - certificate injections may make authentic p2p certs "invalid looking"
> 
> Therefore, some users can connect and some cannot. Those users may blame the software. Besides access, numerous complications are now introduced:
> 
> - security becomes much more complex to enforce (who decides who is violating rules?)
> - proper sequencing requires some authority, which eliminates some benefit of p2p-centric scaling
> - latency is likely higher for everyone
> 
> 
> tl;dr: client/server models are typically more consistent, simple, accessible, stable, and low-latency than their p2p counterparts.
> 
> This makes the lives of both developers and users simpler.
> 
> Admittedly though, I am a fan of servers. :D
> 
> 
> j3s



More information about the Friends mailing list