Peer-to-Peer笔记

什么是 NAT

NAT(Network Address Translation,网络地址转换),简单说,就是把局域网中的机器和外部进行通信时,映射公网 IP 和端口的过程。
比如你在局域网中的地址是 192.168.1.100,你的公网地址是 119.125.123.12,当你和异地的朋友通信时,你发出的信息是通过你的公网地址发出去的,为了区分是局域网中的哪个机器,通常会分配一个端口,比如你发出的信息时,给你分配的公网地址和端口是:119.125.123.12:8223,那么当互联网上的任何人往上面地址发送信息,都会发到你机器上(前提是没设置通信限制,下面有讲解,这里说的是完全锥形 NAT)

NAT 的分类

image.png

电信级的网关都是“对称 NAT”,比如移动、连通、电信

对称 NAT

image.png

简单说就是客户机向每个服务器发送信息,都会有一个新的公网端口,比如你向两个服务器通信,你和第一个服务器通信时给你分配的公网地址和端口是:119.125.123.12:8223,和第二个通信时分配的是 119.125.123.12:8224,只要公网 IP 一样,端口不一样,这就是对称 NAT。

完全锥形 NAT

这就简单了,就是都能通过给你分配的公网 IP 和端口和你通信。加上限制就是限制锥形 NAT

判断顺序

  1. 先判断是不是 完全锥形 NAT
  2. 再判断是不是 IP 限制锥形 NAT
文章作者: wenmu
文章链接: http://blog.wangpengpeng.site/2020/01/09/Peer-to-Peer%E7%AC%94%E8%AE%B0/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 温木的博客
微信打赏