NAT及NAT穿越

基本概念

  • 公有IP地址:由NIC分配,全球唯一,可寻址
  • 私有IP地址:组织机构内部使用,IANA保留了三块私有地址:

10.0.0.0 ——— 10.255.255.255
172.16.0.0——— 172.16.255.255
192.168.0.0———192.168.255.255”

  • 地址池:地址集合

NAT

  • 作用:将私有网络内部IP地址转换为合法的公有IP地址,解决公网地址不足的问题。
  • 分类1
  • 静态NAT:内部私有IP地址与公有IP地址一一对应,不会从NAT转换表中删除。
  • 动态NAT:为每一内部IP地址分配一个临时的公有IP地址。当内部用户断开连接时则释放公有IP地址。
  • 端口PNAT:将内部不同IP地址映射到同一个公有IP地址的不同端口上。

    目前应用得比较广的是PNAT。

  • 分类2
  • 锥形NAT:一个内网地址值对应一个外网地址。
    • 全锥形:一旦内网地址往外网发过数据包,NAT允许任意外网地址给此地址发送数据
    • 地址限制锥形:一旦内网地址向某外网地址发送过数据,该外网地址主机可以通过任意端口发送数据给此内网地址。
    • 端口限制锥形:一旦内网地址向某外网地址发送过数据,该外网地址主机必须通过指定的地址和特定端口发送数据给内网地址。
  • 对称形NAT:当内部主机与不同地址的外部主机通信时,NAT会为每个通信简历一个session。这个session可能不同的端口号,还可能有不同的IP地址。
    Cone NAT(锥型)和Symmetric NAT(对称型)

NAT优点

  • 缓解地址池紧缺问题
  • 隐藏局部网络拓扑结构,保护内部主机

NAT缺点

  • 无法从公网主动访问内部网络,破坏了P2P通信

NAT穿越

在不同NAT后面的主机A和B,只有知道了对方的外网地址,才可以和对方直接通信。但客户端不能直接获取自身的外网地址,这时需要一个服务器来协助。
锥形NAT和锥形NAT之间穿透是没有问题的,但是对称型跟对称型/端口限制型NAT之间是没法直接穿透的。
不同类型的NAT穿越情况

实际情况下,一般大型的组织都比较倾向于采用对称型NAT,因为这类NAT安全性最好。
大部分家用路由器都是端口限制锥型NAT

P2P穿透NAT

  • 通信双方都在同一个局域网内,则可直接通信。
  • 有一方在NAT 后面,则需要在NAT后面的一方主动发起请求。
  • 双方都在NAT后面
    • 双方都是锥形NAT,则可以采用STUN
    • 有一方是对称NAT,一方是IP限制锥形NAT,可以采用TURN

常见技术

UPNP

ALG

STUN

TURN

ICE

参考:
+ NAT穿透二
+ Nat穿透一
+ NAT穿透解决方案介绍

你可能感兴趣的:(network)