![点对点与客户端服务器(不一样吗?)](https://linux22.com/image/711396/%E7%82%B9%E5%AF%B9%E7%82%B9%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%88%E4%B8%8D%E4%B8%80%E6%A0%B7%E5%90%97%EF%BC%9F%EF%BC%89.png)
我知道什么是点对点,什么是客户端服务器。但当我想到服务器也是另一台计算机,与另一个对等体相同。那么为什么 NAT 或其他东西在客户端/服务器通信期间不会产生问题呢?这实际上与对等相同,因为两者都是两台计算机/设备,就像对等一样。那么在服务器上应用了什么标准,即使有 NAT,也能轻松安全地进行通信?
在对等网络中,一方发送请求,另一方接受。因此,一旦建立连接,双方都作为客户端-服务器工作。但为什么这里的通信比客户端-服务器更困难,例如 NAT 问题等?
在客户端服务器中,客户端发送请求,服务器可以轻松连接。没有 NAT 问题等?
请注意,我甚至不是新手,无法理解什么是点对点和客户端服务器。我只是想问,为什么客户端-服务器比点对点更容易工作?两者都是两个对等体和计算机/设备。
答案1
不,不一样。
客户端-服务器架构要求服务器始终监听连接,而客户端始终发起连接。您不会(也不会)要求 Google 网络服务器连接到您的计算机来传输数据。
在点对点网络中,P2P 网络上的任何计算机都可以充当客户端、服务器或同时充当两者。Bittorrent 集群的工作原理就是这样的。网络上的每台计算机都可以与另一台计算机建立连接,或接受连接请求。
NAT 问题并不是 P2P 或客户端-服务器之间的区别。区别在于服务器通常有足够的资源来购买专用 IP 地址,而 P2P 网络则没有。服务器通常有一个域名,并且易于访问,而在 P2P 网络上,节点通常位于家用路由器、WiFi AP 或企业代理后面。它们通常不直接连接到互联网。
通过使用 IPv6(并摆脱 NAT),您仍然可以具有相同的差异:客户端-服务器为每台计算机定义了角色,并且 P2P 具有在同一台计算机上发起和接受连接的能力。