【RFC5382 TCP 的 NAT 行为要求】(翻译)

RFC系列协议--rfc5382--NAT Behavioral Requirements for TCP RPC系列协议--rfc5382--NAT Behavioral Requirements for TCP摘要1.适用性的声明2.介绍3.术语4.TCP连接初始化4.1 地址和端口映射行为4.2 内部发起的连接4.3 外部发起连接5.NAT会话刷新6.其他适用于TCP的要求6.1 端口分配6.2 Hairpinning行为6.3 ICMP对TCP数据包的响应 摘要 本文档为处理TCP的nat定义了... 阅读详情

原文 https://datatracker.ietf.org/doc/html/rfc5382 NAT Behavioral Requirements for TCP TCP 的 NAT 行为要求

本文档为处理 TCP 的 NAT 定义了一组要求,这些要求将允许许多应用程序(例如对等应用程序和在线游戏)一致地工作。开发满足这组要求的 NAT 将大大增加这些应用程序正常运行的可能性。

目录

   1. 适用性声明
   2. 介绍
   3. 术语
   4. TCP 连接初始化
     4.1. 地址和端口映射行为
     4.2. 内部发起的连接
     4.3. 外部发起的连接
   5. NAT 会话刷新
   6. 应用层网关
   7. 其他适用于TCP的要求
     7.1. 端口分配
     7.2. 发夹行为
     7.3. 对 TCP 数据包的 ICMP 响应
   8. 要求
   9. 安全考虑
   10. 致谢
   11. 参考文献
     11.1. 规范参考
     11.2. 参考资料

1. 适用性声明

本文档是 [BEHAVE-UDP] 的附属,它定义了许多与 NAT 相关的术语,列出了所有 NAT 的通用要求,并为处理 IP 和单播 UDP 流量的 NAT 设定了要求。本文档的目的是为处理 TCP 流量的 NAT 设置要求。

本规范的要求适用于 [RFC2663] 中描述的传统 NAT。

本文档仅涵盖 NAT 穿越的 TCP 方面。 TCP 的网络地址转换不需要的Middlebox行为超出了范围。除了可能会干扰 NAT 穿越的应用层网关 (ALG) 行为之外,TCP 层和防火墙之上的数据包检查超出了范围。 TCP NAT 穿越的应用程序和操作系统方面超出了范围。直接控制 NAT 的基于信令的 NAT 穿越方法,例如中间盒通信 (MIDCOM) 和通用即插即用 (UPnP),不在范围之内。最后,用于 NAT 的 TCP 连接(例如,HTTP 或安全外壳协议 (SSH) 管理接口)和由 NAT 发起的 TCP 连接(例如,可靠的系统日志客户端)超出了范围。

2. 介绍

网络地址转换器 (NAT) 会阻碍应用程序中的连接,在这些应用程序中,会话可能会启动到内部主机。读者可以参考 [RFC3022] 了解有关传统 NAT 的详细信息。 [BEHAVE-UDP] 在 IP 和 UDP 的上下文中列出了 NAT 的术语和要求。本文档通过为处理 TCP 流量的 NAT 设置要求来补充这些内容。 [BEHAVE-UDP] 中的所有定义和要求都在这里继承。

[RFC4614] 记录了 TCP 从最初定义 [RFC0793] 到当今实现的演变。尽管 TCP 在拥塞控制和流量控制、安全性和对高带宽网络的支持方面发生了很大变化,但发起连接的过程(即 3 次握手或同时打开)几乎没有变化。 NAT 影响最大的是连接初始化过程。诸如 T/TCP [RFC1644] 之类的实验性方法已经提出了替代的连接启动方法,但已经发现它很复杂并且容易受到拒绝服务攻击。因此,现代操作系统和 NAT 主要支持 [RFC0793] 中描述的 3 次握手和同时打开的连接启动模式。最近,已经设计了许多技术来使对等 TCP 应用程序跨 NAT 工作。 [STUNT]、[NATBLASTER] 和 [P2PNAT] 描述了允许对等应用程序通过 NAT 建立 TCP 的单边自地址修复 (UNSAF) 机制。这些方法只需要修改端点应用程序并使用符合标准的操作系统堆栈。然而,这些方法取决于特定的 NAT 行为,这些行为通常(但并非总是)由 NAT 支持(有关详细信息,请参阅 [TCPTRAV] 和 [P2PNAT])。因此,完整的 TCP NAT 穿越解决方案有时被迫依赖公共 TCP 中继来穿越不合作的 NAT。本文档定义了确保 TCP NAT 穿越方法不会被迫使用数据中继的要求。

3. 术语

本规范中的“NAT”包括“基本 NAT”和“网络地址/端口转换器 (NAPT)”[RFC2663]。术语“NAT 会话”改编自 [NAT-MIB],定义如下。

NAT 会话 - NAT 会话是内部领域中所见的 TCP 会话与外部领域中所见的 TCP 会话之间的关联,这得益于 NAT 转换。 NAT 会话将提供两个会话表示之间的转换粘合剂。

本文档使用术语“TCP 连接”(或仅“连接”)来指代由 4 元组(源和目标 IP 地址和 TCP 端口)和初始序列号 (ISN) 标识的各个 TCP 流。

本文档使用 [BEHAVE-UDP] 中定义的术语“地址和端口映射”(或仅“映射”)来指代 TCP 连接的网络地址和端口转换所需的 NAT 状态。本文档还使用术语“端点独立映射”、“地址相关映射”、“地址和端口相关映射”、“过滤行为”、“端点独立过滤”、“地址相关过滤”、“地址” [BEHAVE-UDP] 中定义的“端口相关过滤”、“端口分配”、“端口过载”、“发夹”和“外部源 IP 地址和端口”。

4. TCP 连接初始化

本节介绍适用于 TCP 连接初始化的各种 NAT 行为。

4.1.地址和端口映射行为

NAT 使用映射来转换每个 TCP 连接的数据包。映射是为从内部发起的连接动态分配的,并且可能会重新用于某些后续连接。关于何时可以重用映射的 NAT 行为对于不同的 NAT 有所不同,如 [BEHAVE-UDP] 中所述

《TCP/IP协议族》:NAT协议详解 NAT 1.1 简介 NAT (Network Address Translator) 是一种用于将局域网中的私有地址转换成全局 IP 地址的技术。 NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一... 阅读详情

相关推荐

NAT术语及思考RFC2663 (中文版PDF)

NAT术语及思考RFC2663 (中文版PDF)

具有PWM控制VSC-HVDC链路的IEEE30总线传输系统(Simulink仿真实现)

内容概要:本文构建了一个包含PWM控制VSC-HVDC链路的IEEE30节点电力传输系统,并基于Simulink平台完成了系统的建模仿真。该模型聚焦于高压直流输电(HVDC)技术在区域电网互联中的应用,采用电压源型换流器(VSC)与脉宽调制(PWM)技术实现高效、灵活的电能传输。研究重点在于分析VSC-HVDC链路在复杂多节点电网中对潮流分布、系统稳定性及电能质量的调控能力,特别关注其在区域电网互联、新能源大规模接入以及跨区域电力交换等场景下的动态响应特性与控制性能,为现代智能电网的发展提供技术支撑与仿真验证手段。; 适合人群:具备电力系统、电气工程或自动化等相关专业背景的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究VSC-HVDC在多节点电网(如IEEE30节点)中的建模与仿真方法;②分析PWM控制策略下HVDC链路对电网潮流分布、电压稳定性和故障穿越能力的影响;③为区域电网互联、新能源并网及智能电网调度等课题提供仿真基础和技术验证。; 阅读建议:此资源以Simulink仿真实现为核心,建议读者在掌握电力电子技术和电力系统分析基础知识的前提下,结合仿真模型深入理解VSC-HVDC的工作原理与控制策略。在学习过程中,应着重关注模型参数设置、控制环路设计及仿真结果的分析,以达到理论与实践相结合的目的。

无线图像传输新突破:深度JSCC算法在低带宽环境下的性能实测

本文深入探讨了基于深度学习的信源信道联合编码(JSCC)算法在低带宽无线图像传输中的突破性表现。通过实测数据对比,深度JSCC在低信噪比环境下展现出卓越的鲁棒性,有效对抗传统方案的“悬崖效应”,实现图像质量的平滑下降,为远程医疗、工业巡检等严苛场景提供了新的解决方案。

weixin_29090089的博客 508

【Unity报错】Unity导入海康SDK 报错 DllNotFoundException: PlayCtrl assembly

2.尝试按网上其他的办法(包括使用depengs查看dll依赖等)1.先检查Plugins文件夹中是否存在PlayCtrl文件。3.如果网上查阅的办法都不能解决,请继续往下看。更换低版本的SDK库文件。

weixin_42968584的博客 1127

Anthropic API接入指南:连接失败、403鉴权与Claude Code集成排查

在AI应用开发中,API接入与鉴权机制是开发者绕不开的基础工程问题。无论是调用云端模型服务还是自建网关,网络连通性、HTTP状态码语义、模型路由映射都会直接影响服务可用性。本文从通用的网络诊断与鉴权原理出发,梳理了从TCP连接失败到403权限拒绝的典型链路,并深入解析网关模型路由匹配机制。在此基础上,进一步说明如何通过环境变量完成Claude Code与VS Code的本地集成,以及一套基于Python的可复现接入方案。内容涵盖Anthropic API高频报错定位、curl冒烟测试、SDK工程化实践,适合

weixin_28743405的博客 470

线性代数学习笔记(十)——矩阵运算(二)

本篇笔记讲解矩阵的幂运算和矩阵的转置,其中矩阵进行幂运算的前提是矩阵为方阵,矩阵幂运算的两条性质与数的幂运算规则类似;矩阵转置的定义与行列式转置类似,但要注意由于矩阵的行数和列数不同,所以转置之后行数和列数变换。

li2008kui的专栏 1万+

【FPGA教程案例87】加解密1——基于FPGA的AES加解密算法verilog实现

DES已走到了它生命的尽头。56比特密钥实在太小,虽然三重DES可以解决密钥长度的问题,但是DES的设计主要针对硬件实现,而今在许多领域,需要用软件方法来实现它,在这种情况下,它的效率相对较低。1997年4月15日美国国家标准和技术研究所(NIST)发起征集AES(Advanced Encryption Standard)算法的活动,并成立了AES工作组。目的是为了确定一个非保密的、公开披露的、全球免费使用的加密算法,用于保护下一世纪政府的敏感信息。这里,我们对AES的基本原理进行介绍:

FPGA/MATLAB学习教程/源码/项目合作开发 2546

12、认知地图的建模与学习

本博客系统介绍了认知地图的定义、背景及其在机器智能领域的应用,重点探讨了模糊认知地图(FCMs)的建模方法与优势。文章还对比分析了几种主流的认知地图模型(如Axelrod模型、Kosko模型等),并讨论了模型的稳定性条件及实际应用前景。通过智能制造和医疗诊断的具体案例,展示了认知地图在复杂因果推理中的强大能力,并提出了模型优化方向与未来研究展望。

plant的博客 212

生成EtherCAT从站XML图片信息方法

详细介绍了EtherCAT从站XML文件中图片元素的生成方法。

kevin1499的博客 2130

小米汽车车载多摄像头视频链路深度解析 | MAX96792/MAX96724/MAX96781 实战分享

通过合理的输入输出规划 + 虚拟通道管理 + 加串行策略,可以在成本和性能之间取得最佳平衡,这就是多摄像头系统设计的核心精髓。

weixin_43199439的博客 1552

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VC中sqlite的使用

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

上一篇: 【RFC3522 TCP 的 Eifel 检测算法】(翻译)
下一篇: 【RFC2663 IP 网络地址转换器 (NAT) 术语和注意事项】(翻译)
羊羊洒洒_Blog
博客等级 码龄7年 174粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值