P2P中的NAT穿透–简介
1.背景知识
NAT
NAT(Network Address Translation, 网络地址转换),也叫做网络掩蔽或者IP掩蔽。NAT是一种网络地址翻译技术,主要是将内部的私有IP地址(private IP)转换成可以在公网使用的公网IP(public IP)。
为什么会有NAT
IPV4渐渐不够用了,NAT技术应运而生,本质是让多个机器共用一个IP地址,从而解决IP短缺的问题。
NAT有什么优缺点
优点:
- NAT可以同时让多个计算机同时联网,并隐藏其内网IP,因此也增加了内网的网络安全性
- NAT对来自外部的数据的查看其NAT映射记录,对没有相应记录的数据包进行拒绝,提高了网络安全性。
缺点:
- NAT设备会对数据包进行编辑修改没这样子会降低发送数据的效率
- 各种协议的应用各有不同,有的协议是无法通过NAT的(不能通过NAT的协议还是很多的),这个需要通过穿透技术来解决
2. NAT实现方式
-
静态NAT:静态地址转换,是指一个公网IP对应一个私有IP,是一对一的转换,同时注意,这里只进行了IP转换,而没有进行端口的转换。
内网IP 外网IP 192.168.1.55 219.152.168.222 192.168.1.59 219.152.168.223 192.168.1.155 219.152.168.224 -
NAPT:端口多路复用技术,与静态NAT的差别是,NAPT不但要转换IP地址,还要进行传输层的端口转换。具体的表现形式就是,对外只有一个公网IP,通过端口来区别不同私有IP主机的数据。
内网IP | 外网IP |
---|---|
192.168.1.55:5566 | 219.152.168.222:9200 |
192.168.1.59:80 | 219.152.168.222:9201 |
192.168.1.59:4465 | 219.152.168.222:9202 |
NAT的主要类型
- 完全锥型NAT(Full Cone NAT,后面简称FC)
受限锥型NAT(Restricted Cone NAT)
端口受限型NAT(Port Restricted Cone NAT)
对称型NAT(Symmetic NAT)
做完实验后补充……
一些常用的技术(还没自己总结过……)
ALGA(应用层网关)
- 它可以是一个设备或插件,用于支持SIP协议,主要类似与在网关上开辟一个通道,用于建立内网与外网的连接,也就是说是一种定制的网关,更多只适用于使用他们的应用群体内部之间;
UPNP
- 它是让网关设备在进行工作时寻找一个全球共享的可路由IP来作为通道,这样避免端口造成的影响。要求设备支持且开启upnp功能,但大部分时候,这些功能处于安全考虑,是被关闭的;
STUN
TURN
ICE