[NatType]路由器四种NAT(Full Cone NAT/Restricted Cone NAT/Port Restricted Cone NAT/Symmetric NAT)类型说明

news/2024/11/6 17:22:41/

NAT的工作原理

       NAT缓解了IPV4地址不够用的问题,同时也带了限制,那就是NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发, 这就是NAT的工作原理。

NAT分类

一般NAT可以分为四种类型

1.Full Cone NAT(完全圆锥型NAT

      内网主机建立一个UDP socket(LocalIP:LocalPort) 第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,任何外部主机只要知道这个(PublicIP:PublicPort)就可以发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包 

2.Restricted Cone NAT(地址限制圆锥型NAT

        内网主机建立一个UDP socket(LocalIP:LocalPort) 第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(PublicIP:PublicPort)并且内网主机之前用这个socket曾向这个外部主机IP发送过数据。只要满足这两个条件,这个外部主机就可以用自己的(IP,任何端口)发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包

3.Port Restricted Cone NAT(端口限制圆锥型NAT

       内网主机建立一个UDP socket(LocalIP:LocalPort) 第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(PublicIP:PublicPort)并且内网主机之前用这个socket曾向这个外部主机(IP,Port)发送过数据。只要满足这两个条件,这个外部主机就可以用自己的(IP,Port)发送数据给(PublicIP:PublicPort),内网的主机就能收到这个数据包

4.Symmetric NAT(对称型NAT

       内网主机建立一个UDP socket(LocalIP,LocalPort),当用这个socket第一次发数据给外部主机1时,NAT为其映射一个(PublicIP-1,Port-1),以后内网主机发送给外部主机1的所有数据都是用这个(PublicIP-1,Port-1),如果内网主机同时用这个socket给外部主机2发送数据,第一次发送时,NAT会为其分配一个(PublicIP-2,Port-2), 以后内网主机发送给外部主机2的所有数据都是用这个(PublicIP-2,Port-2).如果NAT有多于一个公网IP,则PublicIP-1和PublicIP-2可能不同,如果NAT只有一个公网IP,则Port-1和Port-2肯定不同,也就是说一定不能是PublicIP-1等于 PublicIP-2且Port-1等于Port-2。此外,如果任何外部主机想要发送数据给这个内网主机,那么它首先应该收到内网主机发给他的数据,然后才能往回发送,否则即使他知道内网主机的一个(PublicIP,Port)也不能发送数据给内网主机,这种NAT无法实现UDP-P2P通信。 

从上面也描述也可以看出,安全性系数,  对称型 > 端口受限锥型 > 受限锥型 > 全锥型

不同NAT的穿透属性

 对称nat无法穿透,这个说法不正确,对称nat与full cone nat、对称nat 与 ip受限cone、是可以穿透的,对称nat与 端口受限、对称nat与对称nat,不可穿透。
类型:
1.full cone NAT全椎
2.Restricted Cone ip NAT受限
3.port Restricted Cone NAT 端口受限
4.Symmetric NAT对称
穿透关系:上述4种类型,如果定义他们的值为序列号,N为序列号相加。则N<=6可穿透。
2 和 4 序列相加 = 6 则可穿透。 3(端口受限)和4(对称)= 7 不可穿透。 

Wireshark抓包分析4种Nat类型

Full Cone NAT(完全圆锥型NAT

设备只是从192.168.1.101 发送给216.93.246.18,但是216.93.246.15可以直接给192.168.1.101发数据,这种即是Full Cone NAT 

  

 Restricted Cone NAT(地址限制圆锥型NAT

 从抓包可以看出,192.168.1.101需要先给216.93.246.18和216.93.246.15发消息,这两个服务器地址才可以给192.168.1.101回复,这个只是匹配IP地址,不会去检测端口,这就是Restricted Cone NAT

只有收过NAT内部送来的封包的地址才能将封包送入 

Port Restricted Cone NAT(端口限制圆锥型NAT 

 

从抓包可以看出,需要内网先给两个服务器发送请求,才可以正常收到服务器回复数据包 ,但是会严格匹配IP和端口号

只有收过NAT内部送来的封包的地址和端口号才能将封包送入 

Symmetric NAT(对称型NAT 

 

 请求和回复必须要对应才可以,只有有请求才能够访问内网主机

Symmetric NAT只允许先由私有网络內的使用者发送封包到公网网路中的使用者 可以回传封包 

注意事项

        以上三种NAT外侧端口号可以不变,但是Symmetric NAT的一定不同

参考链接

NAT4种类型_mtAsnow-CSDN博客

NAT类型检测工具

【NAT类型测试工具下载】NAT类型测试工具 1.0绿色免费版-ZOL软件下载

RTL8197FH NatType支持设置

[Realtek sdk-3.4.14b] RTL8197开启Cone Nat support功能,支持设置NatType设置操作_wgl307293845的博客-CSDN博客


http://www.ppmy.cn/news/777187.html

相关文章

路由器NAT功能配置简介(知识点讲解,bsci必考)

不是好东西不给大家看,呵呵----------------------------------------------------------aqbhc 随着internet的网络迅速发展,IP地址短缺已成为一个十分突出的问题。为了解决这个问题,出现了多种解决方案。下面几绍一种在目前网络环境中比较有效的方法即地址转换(NAT)功能。 …

MySQL基础知识(一)-超详细Windows系统安装MySQL详细教程

1.简介 原计划&#xff0c;今天这篇想要给小伙伴们讲解一下python操作mysql数据库&#xff0c;但是由于近期换了一台新的电脑&#xff0c;所以一看mysql数据库都没安装&#xff0c;所有才有了这篇文章。尽管网上不乏此类型的文章&#xff0c;但是刚好自己要安装&#xff0c;所以…

jenkins手把手教你从入门到放弃01-jenkins简介(详解)

一、简介 jenkins是一个可扩展的持续集成引擎。持续集成&#xff0c;也就是通常所说的CI&#xff08;Continues Integration&#xff09;&#xff0c;可以说是现代软件技术开发的基础。持续集成是一种软件开发实践&#xff0c; 即团队开发成员经常集成他们的工作&#xff0c;通…

html预览页面做成a4纸,如何在A4纸张尺寸页面制作HTML页面?

largeQ 在2005年11月,AlistApart.com发表了一篇关于他们如何使用HTML和CSS发表一本书的文章。请参阅:http://alistapart.com/article/boom这是该文章的摘录:CSS2有一个分页媒体的概念(想想纸张),而不是连续媒体(想想滚动条)。样式表可以设置页面大小及其边距。页面模板可以…

计算机基础知识教程打印a4纸,一张A4纸如何打印多个准考证?_计算机办公软件基础...

一张A4纸如何打印多个准考证&#xff1f;大家知道&#xff0c;如果要在一页纸上连续打印多个准考证&#xff0c;用Word邮件合并功能&#xff0c;插入下一记录域的方法可轻松实现。不过这要涉及Word和Excel两个软件&#xff0c;使用起来不太方便。惠州北大青鸟老师告诉我们&…

【百日冲大厂】第二十一篇,牛客网选择题+编程题洗牌+MP3光标位置

前言&#xff1a; 大家好&#xff0c;我是良辰丫&#xff0c;第二十一篇,牛客网选择题编程题洗牌MP3光标位置.&#x1f49e;&#x1f49e;&#x1f49e;生活就像一只盲盒&#xff0c;藏着意想不到的辛苦&#xff0c;当然也有万般惊喜的可能。不管是次次都如愿以偿&#xff0c;还…

Devops系列六(CI篇之jenkinsfile)jenkins将gitlab helm yaml和argocd 串联,自动部署到K8S

一、为什么是jenkinsfile 上文我们说了pipeline&#xff0c;已为本文铺路不少&#xff0c;接下里就是将之串联起来。 先想说下&#xff0c;为什么是jenkinsfile, 因为jenkins job还支持pipeline方式。 这种方式&#xff0c;不建议实际使用&#xff0c;仅限于测试或调试groovy…

lcd和oled的区别

LCD (Liquid Crystal Display) 和 OLED (Organic Light Emitting Diode) 是两种不同的显示技术。 LCD 显示器使用液晶来控制光的透过&#xff0c;而 OLED 显示器使用有机物质发光来产生图像。 在技术上&#xff0c;两者有很多不同之处。 OLED 显示器可以在更高的分辨率下工作&a…