NAT穿越浅谈

IPSec NAT穿越原理 IPSec 隧道的两个网关上同时开启 NAT 穿越功能(对应命令行 nat traversal)。开启 NAT 穿越功能后,当需要穿越 NAT 设备时, ESP 报文会被封装在一个 UDP 头中,源和目的端口号均是 4500。 阅读详情

自从internet引入NAT以后,围绕NAT的问题就是层出不穷。想当年,把NAT介绍进来,是为了解决

ipv4地址不够用(或者public ip太贵)的问题,顺带还增加了内网的安全性(隐藏网络拓扑)。但是

NAT本身是违背网络端到端的设计的,因为它需要在网关上做一些手脚。以至于很多应用由于NAT,会

出现问题,最突出的就是voip, p2p and p2p gaming。

先看个图:

为了解决应用穿越NAT的问题,IETF又发明了很多solution(从这一点上来看,IETF很体谅工程师,

总是能够搞出来点事,让ip工程师不至于失业,而且还能活得很滋润)。闲话不说,我们来看看两个

常见的方法:STUN和ALG。

说STUN,就需要谈谈nat cone,那么,什么是nat cone哪?看图

  • Full cone

    这是一个full cone, nat binding是 {z, 3001, xxx, xxx},也就是不限制从外面来的ip地址和端口,

    匹配这个binding后,会把目的地址和端口映射成内部地址和端口。

    • ip restricted cone
    • ip restricted cone, binding是{z, 3001, b, xxx},也就是限制从外面来的源地址

      • port restricted cone
      • port restricted cone, binding是{z, 3001, xxx, 90},也就是限定从外面来的端口

        • symmetric nat
        • symmetric cone, binding 是{z, 3001, b, 90},同时限定从外面来的源地址和端口。传统的NAT就是这

          样的行为。所以传统NAT在支持穿越方面是不给力的,需要结合ALG来用。

          NAT穿越需要完成两件事情

          • connection能够穿越gateway,也就是说,gateway上的policy必须允许connection穿过,但是对于

                  端口不固定的应用(voip, p2p, gaming),policy是没法事先配置的,所以一般是需要创建expect(netfilter),

                  这样通过expect来避免policy匹配。即使配置了全通过的策略,在NAT环境中可能还有问题,因为协议里面可能

                 包含私有地址,所以nat穿越是个必选项,而不是可选项。

          • payload里面的地址做转换(ALG需要这么做,因为ALG的方案只需要在gateway上部署,而不像STUN,需要

                  STUN server),这样效率会差一些,所以ALG的性能一直是被诟病的地方。

          引入NAT以后,相应的性能问题就很突出,performance和scaling,是nat穿越需要关注的两个重点,做的好了,开个

          公司都不成问题。

          参考资料:

            1) http://www.nattraversal.com/

            2) http://en.wikipedia.org/wiki/NAT_traversal

IT知识百科:NAT穿越 NAT(Network Address Translation)穿越是指在存在NAT设备的网络环境中,实现两个位于不同NAT网络之间的主机进行直接通信的技术。由于NAT的存在,私有IP地址在经过NAT设备时会被转换为公网IP地址,因此通常情况下,位于不同NAT网络的主机无法直接进行通信。然而,通过使用NAT穿越技术,可以绕过NAT的限制,实现跨越NAT网络的直接通信。 阅读详情

相关推荐

NAT穿越技术详细介绍

本文收集并整理了关于NAT穿越的一些技术,介绍这些技术的实现过程,让大家对NAT穿越技术的相关内容有个初步的认识与了解。

dvlinker的技术专栏 1万+

打破网络边界,畅享无障碍通信——NAT穿越技术全解析

网络地址转换(NAT)是一种网络协议,用于在私有网络和公共网络之间转换IP地址。由于IPv4地址资源有限,私有网络中的设备通常使用内部私有IP地址,而在与公共网络通信时需要通过NAT将私有IP地址转换为公共IP地址。NAT穿越技术为我们打破网络边界、实现无障碍通信提供了有效的解决方案。通过端口映射、UPnP、STUN、TURN等技术手段,我们可以使设备在私有网络和公共网络之间建立直接连接,享受更加便捷、稳定的网络体验。

m0_72410588的博客 1030

Ubuntu AX200 iwlwifi-cc-46.3cfab8da.0.tgz无法下载的解决办法

AX200 iwlwifi-cc-46.3cfab8da.0.tgz 无法下载网页出问题使用 其他方法来进行但是前提还是有网络。

chen20170325的博客 1039

NAT穿越技术原理

NAT由来 为了解决全球公有IP的稀缺,提出了NAT技术。NAT是 Network Address Translation 网络地址转换的缩写。 在NAT技术下,网络被分为私有网络和公有网络两部分,NAT网关设置在私网到公网的路由出口位置,双向流量都要经过NAT网关,如下图。 NAT将私有IP地址通过NAT网关转换成公网IP地址,在网关的NAT地址转换表记录下这个转换映射记录,当外部数据返回时,网关使用NAT技术查询NAT转换表,再将目标地址替换成内网用户IP地址。当一个公司内部配置了这些私有地址后,

LY_624的专栏 6026

【ROS学习笔记】13.ROS中的坐标管理系统

文章目录1 机器人中的坐标变换2 TF功能包TF坐标变换如何实现?TF的一个小案例3 小程序:小海龟跟随实验打开小程序查看当前的TF树坐标相对位置关系可视化1(tf_echo)坐标相对位置关系可视化2(rviz) 本节学习ROS中的坐标管理系统。 (部分图摘自:b站【古月居】古月·ROS入门21讲) 1 机器人中的坐标变换 机器人运动学的核心,描述任意两个坐标系之中任意两个向量之间的变换,可以用一个4×4的变换矩阵(Transformation Matrices)来描述它的平移和旋转变化。 变换矩阵中有包括

takedachia的博客 4338

FT2232HL JTAG下载器硬件设计指南:从引脚配置到电平转换实战

本文详细解析了FT2232HL JTAG下载器的硬件设计要点,包括引脚配置、电平转换电路设计及EEPROM配置技巧。通过实战案例展示如何利用FT2232HL实现高速JTAG通信,解决电平不匹配等常见问题,提升嵌入式开发效率。特别适合需要灵活JTAG接口的硬件工程师参考。

weixin_29194693的博客 255

浅谈NAT的原理缺陷及其解决之道

2011年07月24日 23:34:01 xiaofei0859 阅读数:5798 犹如windows统治着绝大部份桌面系统一样,TCP/IP也是网络协议中的实际统治者,而IP正是这个协议统治的基础,作为标识TCP/IP网络中每个结点的IP地址,由于它只有32个bit的空间,随着网络的发展,它变得越来越稀有,再加上IP地址地区分配的极端不平衡,已使一些地区比如亚洲部分国家的IP资源很快就会...

努力奋进,勇追不止…… 3638

【架构师面试-缓存与搜索-1】-缓存与缓存置换策略源码实现

1:什么是缓存 缓存:加速数据访问的存储,降低延迟(latency),提升吞吐量(Throughput)的利器。 1:缓存演进历史 1. 查库 2. ConcurrentHashMap 3. LRU 4. Guava Cache 5. 分布式缓存(redis,MemCache) 6. 多级缓存 2:在什么地方加缓存 缓存对于每个开发者来说是相当熟悉了,为了提高程序的性能我们会去加缓存,但是在什么地方加缓存,如何加缓存呢? 举个栗子:假设一个网站,需要提高性能,缓存可以放在浏览器,可以放

chongfa2008的博客 6437

Linux的NAT实现浅谈

Linux的NAT实现浅谈

gdfhhj的博客 1138

【ESP 保姆级教程】玩转emqx数据集成篇④ ——数据桥接之HTTP服务

主要是学习数据桥接功能以及构建自己的http服务器,这是一个非常有用的功能。包括各种传感器上报基本上都需要数据桥接功能支持,所以还是希望认真学习这一块开发,然后结合数据库存储等等知识点进行进一步学习。

单片机菜鸟哥的博客 1306

YOLO26 无损剪枝:稀疏训练 + 结构化通道裁剪

YOLO26 无损剪枝链路:YOLO26s (7.2M) → 稀疏训练 30 epoch (L1 on BN gamma, lam=0.01) → 阈值剪枝 50% (gamma<quantile(0.5)) → 结构化重建 Conv+BN → 微调 10 epoch (lr=1e-4) → YOLO26n (1.9M, mAP50 0.808, 仅降 0.6%)。核心贡献:稀疏训练让 BN gamma 趋向二元分布 (近 0 或近 1), 剪枝阈值可直接取 median 自动 50% 压缩。

m0_64661770的博客 263

浅谈华为防火墙NAT策略

博文目录 一、什么是NAT? 二、如何解决源地址转换环境下的环路和无效ARP问题? 三、什么是Server-map表? 四、NAT对报文的处理流程 五、开始配置NAT 一、什么是NAT? NAT技术是用来解决当今IP地址资源枯竭的一种技术,同时也是IPv4到IPv6的过渡技术,绝大多数网络环境中在使用NAT技术。此博文重点是华为相关的NAT知识上。 1、NAT分类 在内外网的...

:Struggle. 8822

前端build工程的时候 出现 `build.rollupOptions.external 的解决方法

看到这个Bug,理性分析: 遇到 Rollup failed to resolve import “@vue/devtools-api” 错误可能是由于 Pinia 使用了 @vue/devtools-api 模块,而 Vite 的 Rollup 插件无法解析这个模块 ps:但是我前一秒还可以,加了个别代码,突然不行,我是不相信的 = - =

码农研究僧的博客 3055

网络小白浅谈NAT技术

NAT技术作为延缓IPv4地址耗尽的关键方案,成功将IPv4寿命延长了20余年。该技术通过地址转换使多个私有IP共享一个公网IP,但同时也破坏了端到端通信,带来了IP会话时效性、应用层协议兼容性等问题。NAT主要分为静态NAT、一对多NAT及四种端口映射类型(全锥形、限制锥形等)。为解决其弊端,发展出STUN/TURN探针、ALG网关等NAT穿越技术。尽管IPv6正在逐步取代IPv4,但在过渡期NAT仍不可或缺,其历史作用证明了实用主义技术往往比革命性创新更具生命力。

2301_80444339的博客 788

SKUA-GOCAD入门教程-第七节 点的创建与编辑3

本文介绍了四种从井数据创建点集的方法

江洋大葱的博客 963

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

WebRTC 之ICE浅谈

前言 ICE全称Interactive Connectivity Establishment:交互式连通建立方式。 ICE参照RFC5245建议实现,是一组基于offer/answer模式解决NAT穿越的协议集合。 它综合利用现有的STUN,TURN等协议,以更有效的方式来建立会话。 客户端侧无需关心所处网络的位置以及NAT类型,并且能够动态的发现最优的传输路径。 Classic STUN...

netease_im的博客 3698

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

NAT穿透技术原理浅谈

NAT穿透技术原理浅谈 UPNP ALG

lyd_253261362的专栏 7166

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

网络小白浅谈P2P技术

P2P通信技术通过点对点直接连接实现资源共享,但其发展面临NAT穿越难题。本文系统分析了三种NAT穿越方案:1)反向链接技术依赖中继服务器转发请求;2)UDP打洞技术利用中继服务器交换地址信息,详细探讨了同NAT、不同NAT和多层NAT三种场景的实现逻辑;3)TCP打洞技术虽更可靠但实现复杂,需要特殊套接字参数支持。研究表明,打洞技术能有效实现NAT穿越,但仍需考虑连接维护等问题。这些方法为P2P技术在NAT环境中的应用提供了重要解决方案。

2301_80444339的博客 1176

浅谈NAT的原理、缺陷及其解决之道

为什么会有NAT犹如windows统治着绝大部份桌面系统一样,TCP/IP也是网络协议中的实际统治者,而IP正是这个协议统治的基础,作为标识TCP/IP网络中每个结点的IP地址,由于它只有32个bit的空间,随着网络的发展,它变得越来越稀有,再加上IP地址地区分配的极端不平衡,已使一些地区比如亚洲部分国家的IP资源很快就会用完,在IPv6还没有普及开来之时,为了解决IP地址...

weixin_34000916的博客 549
上一篇: NAT原理与NAT穿越
下一篇: 互联网应用如何穿越NAT
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值