UDP打洞和为何打洞、为什么TCP"不适合"P2P,以及NAT介绍(下面讲的是NAT的NAPT)

UDP打洞和为何打洞、为什么TCP"不适合"P2P,以及NAT介绍(下面讲的是NAT的NAPT)

下面介绍流程如下

  1. A、NAT中的4种NAPT
  2. B、NAT的概念
  3. 为什么会出现NAT
  4. NAT是啥,能干啥
  5. C、TCP是否需要NAT,以及谈谈为什么UDP需要打洞(什么是NAT穿透)
  6. TCP当然也是需要走上面的NAT流程的
  7. TCP是否能实现P2P
  8. TCP有链接和UDP无连接
  9. 为什么需要UDP打洞(什么是UDP打洞/NAT穿透)
  10. D、如何实现UDP打洞(NAT穿透),实现流程。

A、先简单介绍NAT中的4种NAPT类型

​ 对称NAT进行打洞/穿透比较随缘(家用路由据说一般都不是对称NAT,即是锥形的)。

  • 全锥型(Full Cone)

  • 受限锥型(Restricted Cone) 限制IP

  • 端口受限锥型(Port Restricted Cone) 限制IP和PORT

  • 对称型(Symmetric) 限制IP和PORT,并且不同外网和内部使用NAT的不同PORT

    对称和锥型最大的区别就是是否NAT使用同一个端口了。

B、谈论打洞问题之前,必须先了解NAT概念。

  1. 为什么会出现NAT。

    学过计网的都知道ACBDE类IP地址吧,IPv4地址总共就32位,地球上上网的那么多,每个人都分一个的话肯定不够(IPv6就不说了,毕竟还没有做到全普及)。为了解决这个ipv4地址不够所有人用的问题,就诞生了NAT

  2. NAT是啥,能干啥。

    NAT是一种网络地址转换方法,用一个port标识内网和外网的联系。

    ​ 前面提到IPv4的地址是有限的,生活中拥有IPv4公网地址的往往是网络提供商(联通、电信、移动之类的)。我们为了能"上网"(连接互联网的意思),那么肯定需要一个IPv4公网地址,这样别人才能在网络上找到我,我也才能找到别人(指拥有IPv4公网地址的人)。网络提供商肯定不能直接让你用这个IPv4标识你自己的电脑,为什么呢?因为要是你这么干,别人也会这么干。假如2个人甲和乙都能共用这个ipv4(1.1.1.1)。那么甲(1.1.1.1:80)和另一个网友老王(ipv4:2.2.2.2:80)聊天,结果老王回复你的时候,乙(ipv4:1.1.1.1:80)收到了这个消息,那不是乱套了。

    ​ 网络提供商(拥有ipv4:1.1.1.1的机器)开辟了一个WAN广域网,甲和乙都去找它办宽带了,甲宽带分配到ip(162.100.100.1),乙分配到ip(168.240.162.5),这两个ip是联系ipv4:1.1.1.1用的,不能直接和互联网上的ipv4交流

    ​ 有了各自的宽带后,甲就能够和老王聊天了。但是甲的ip162.100.100.1不是ipv4,不处于互联网,不能和老王直接交流。这时候NAT就出来帮忙了。甲(162.100.100.1:80)–NAT(网络提供商ipv4:1.1.1.1:6751)–>老王(ipv4:2.2.2.2:80)。

    ​ NAT使用一个port标识 甲的ip:port(162.100.100.1:80)和另一个外网ipv4拥有者老王(ipv4:2.2.2.2:80)的联系。

    ​ 老王收到甲的消息时,看到的ip和port只能是公网ipv4的,也就是网络提供商ipv4:1.1.1.1:6751。老王给甲回消息,也是传给ipv4:1.1.1.1:6751。这里老王根本不知道甲处在的WAN中的ip和port到底是多少。

    ​ 网络提供商的路由器查找NAT表,得知6751端口标识的是自己创建其中一个WAN中的甲和老王的联系。于是把ipv4:1.1.1.1:6751收到的数据发送给甲(162.100.100.1:80)。

    ​ 这样一来甲和老王就成功联系在一起了。甲----甲处在的网络的NAT—> 老王;老王----甲处在

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值