解读NAT网络穿透一

一、NAT是什么,解决什么问题

解决问题:由于公网地址不够用,并且我们国家分到的公网IP地址太少了,于是产生了NAT技术(network address translation)

NAT是将私网IP地址转换为公网IP地址,本质就是让一群机器公用同一个IP,这样就暂时解决了IP短缺的问题。私网机器在公网上存在的形式为 公网IP地址:端口号

即NAPT(Network Address/Port Translator)

二、NAT的类型

四种类型:完全锥形、限制锥形、端口限制锥形、对称形
在这里插入图片描述
(1)完全锥形NAT
把所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。
任何一个外部主机均可通过该映射发送数据包到该内部主机。

(2)限制锥形NAT
首先内部主机A向外部主机B发送数据包,限制相同公网IP外部主机才能向A发送数据包。

(3)端口限制锥形NAT
比限制锥形更严格,对于IP和端口都有限制。内部主机先向外部地址:端口号对发送数据包,该IP地址的外部主机才能使用特定的端口号向内部主机发送数据包。

(4)对称NAT
对称NAT与上述3种类型都不同,不管是全锥NAT,限制锥形NAT还是端口限制锥形NAT,它们都属于锥NAT(ConeNAT)。当同一内部主机使用相同的端口与不同地址的外部主机进行通信时, 对称NAT会重新建立一个Session,为这个Session分配不同的端口号,或许还会改变IP地址,即一个内网主机和外网主机的连接都是对称建立的。

Q1:对称NAT和锥形NAT有什么区别?
锥形NAT即Cone,内网主机IP只会建立一个session,分配一个端口,所以当有大量的外网主机访问内网主机时,产生一个锥形的结构,即顶层是一个IP地址:端口。
对称NAT即Symmetric,即内网主机在和其他客户端建立多个连接时,使用不同的端口号。

Q2:完全锥形NAT和限制锥形NAT有什么区别
完全锥形NAT只需要内网主机和外网主机A建立映射,不用和外网主机B建立连接,外网主机B可以根据公网IP:端口号向内网主机发送数据包。
限制锥形NAT是内网主机必须先和外网主机B建立映射关系,根据限制关系,如IP限制、端口限制,外网主机B才能向内网主机发送数据包。在没有建立内网主机和外网主机B的映射关系时,外网主机B向内网主机发送数据,会被网关丢弃。

参考链接:
NAT 穿透原理浅浅说(一)
https://cloud.tencent.com/developer/article/1005974
NAT的四种类型
https://blog.csdn.net/mycloudpeak/article/details/53550405
UDP防火墙穿透原理与分析
http://xstarcd.github.io/wiki/shell/UDP_Hole_Punching.html

                                </div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
                                            <div class="more-toolbox">
            <div class="left-toolbox">
                <ul class="toolbox-list">
                    
                    <li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#csdnc-thumbsup"></use>
                    </svg><span class="name">点赞</span>
                    <span class="count"></span>
                    </a></li>
                    <li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;}"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-Collection-G"></use>
                    </svg><span class="name">收藏</span></a></li>
                    <li class="tool-item tool-active is-share"><a href="javascript:;"><svg class="icon" aria-hidden="true">
                        <use xlink:href="#icon-csdnc-fenxiang"></use>
                    </svg>分享</a></li>
                    <!--打赏开始-->
                                            <!--打赏结束-->
                                            <li class="tool-item tool-more">
                        <a>
                        <svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
                        </a>
                        <ul class="more-box">
                            <li class="item"><a class="article-report">文章举报</a></li>
                        </ul>
                    </li>
                                        </ul>
            </div>
                        </div>
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/vainfanfan">
                <img src="https://profile.csdnimg.cn/0/E/2/3_vainfanfan" class="avatar_pic" username="vainfanfan">
                                        <img src="https://g.csdnimg.cn/static/user-reg-year/2x/4.png" class="user-years">
                                </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit"><a href="https://blog.csdn.net/vainfanfan" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" target="_blank">FAIRY_ZHANG_</a></span>
                                        </div>
                <div class="text"><span>发布了96 篇原创文章</span> · <span>获赞 18</span> · <span>访问量 14万+</span></div>
            </div>
                            <div class="right-message">
                                        <a href="https://im.csdn.net/im/main.html?userName=vainfanfan" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
                    </a>
                                                        <a class="btn btn-sm  bt-button personal-watch" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">关注</a>
                                </div>
                        </div>
                </div>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值