美文网首页
十四、网络传输基本知识-NAT

十四、网络传输基本知识-NAT

作者: ThemisHoo | 来源:发表于2019-04-29 09:39 被阅读0次

    注:以下图片来自慕课网,侵权可删

    NAT (Network Address Translator)

    我们生活中大部分主机都在网关之后,他有自己的内网IP地址,并不知道自己的外网IP
    在网关上有个NAT功能,可以将内网地址映射成外网地址
    他就是一个四元组,经过映射后,将内网IP和端口映射成外网IP和端口,其他主机就可以通过公网IP地址通信了


    STUN(Simple Traversal of UDP Through NAT)

    两台外网主机之间也不能直接通信,它需要第三方服务做介绍,即STUN服务
    将各自公网信息进行交换,使他们彼此认识

    TURN (Traversal Using Relays around NAT)

    p2p连接不成功的情况下,要想保证音视频连接成功,就要引入TURN服务
    TURN服务就是在云端架设一个服务器,负责双方之间流媒体数据的转发
    当它们进入同一房间时,A发送到TURN的数据,在这个房间里,TURN服务就会给房间内所有人进行转发

    ICE (Interactive Connectivity Establishment)

    将NAT TURN打包在一起,做一个最优选择
    首先尝试p2p,如有两台服务通过,也会选择一个最优服务
    不通则选择TURN,如有多个节点,上海TURN不通,则选择北京的TURN
    总之,将所有可能性罗列好,在其中找到一条最优路径,将数据发送

    NAT产生原因
    • 由于IPV4的地址不够
      一个内网中可能有上千台主机,但映射到外网时只有一个或几个IP地址,通过端口号来区分每台主机
      这样就形成了一对几百,一对几千,大大减少了公网IP地址的使用
    • 出于网络安全的原因
      所有办公内的主机都在内部,他有自己的内网IP地址,但是没有外网IP地址,外面的主机就很难攻击到内网的某一台主机,必须要经过防火墙,经过NAT转换,才能找到内网中的主机
    NAT种类以及穿越原理
    • 完全锥型NAT (Full Cone NAT)



      【四元组,内网IP地址和端口对IP(X,y),公网IP地址和端口(A,b)】当内网的某台主机经过NAT的映射,形成外网的IP地址和端口之后,外网所有主机只要知道这个地址,都可以向这个地址发送数据,基本上没有什么限制,安全性比较低

    • 地址限制锥型NAT (Address Restricted Cone NAT)



      【五元组,内网IP地址和端口对IP(X,y),公网IP地址和端口(A,b),请求主机的IP地址(P)】对IP地址做限制,做判断,出去请求时,记录出去的IP地址,当回来的时候,只有这台IP地址的主机才能回消息,对其他IP直接pass掉

    • 端口限制锥型 (Port Restricted Cone NAT)



      【六元组,内网IP地址和端口对IP(X,y),公网IP地址和端口(A,b),请求主机的IP地址和端口(P,q)】地址限制的基础上,对端口也进行限制

    • 对称型NAT(Symmetric NAT)



      当经过NAT转换时,内网的主机出外网的时候形成的映射,并不是一个IP地址和端口,他会形成多个
      和不同的主机连接时形成的地址是不同的

    NAT穿越步骤

    1. C1, C2向STUN发消息
    2. 交换公网IP以及端口
    3. C1 -> C2, C2 -> C1, 甚至是端口猜测(对称型)

    NAT穿越组合

    全锥型 全锥型
    全锥型 受限锥型
    全锥型 端口受限锥型
    全锥型 对称型
    受限锥型 受限锥型
    受限锥型 端口受限锥型
    受限锥型 对称型
    端口受限锥型 端口受限锥型
    端口受限锥型 对称型 ✘,无法打通
    对称型 对称型 ✘,无法打通

    NAT类型检测

    跟不上老师讲的,直接贴图吧



    第一步 第二步 第三步

    相关文章

      网友评论

          本文标题:十四、网络传输基本知识-NAT

          本文链接:https://www.haomeiwen.com/subject/xrndnqtx.html