【RFC2663 IP 网络地址转换器 (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/rfc2663 IP Network Address Translator (NAT) Terminology and Considerations IP 网络地址转换器 (NAT) 术语和注意事项

前言

本文档背后的动机是明确与网络地址转换器结合使用的术语。术语“网络地址转换器”在不同的上下文中有不同的含义。本文档的目的是定义各种类型的 NAT 并标准化所用术语的含义。

网络地址转换是一种将 IP 地址从一个领域映射到另一个领域的方法,旨在为主机提供透明路由。传统上,NAT 设备用于将具有私有未注册地址的隔离地址域连接到具有全局唯一注册地址的外部域。本文档试图描述 NAT 设备的操作和相关的一般注意事项,并定义用于识别各种类型的 NAT 的术语。

1. 介绍与概述

当一个网络的内部 IP 地址不能在网络外部使用时,就会出现 IP 地址转换的需要,因为它们不能在外部使用,或者因为内部寻址必须对外部网络保密。

地址转换允许(在许多情况下,除非第 8 节和第 9 节中提到的)私有网络中的主机与外部网络上的目标透明地通信,反之亦然。有多种 NAT 和与之匹配的术语。本文档试图定义所使用的术语并识别 NAT 的各种类型。该文档还尝试描述一般适用于 NAT 设备的其他注意事项。

但是请注意,本文档并非旨在描述单个 NAT 变体的操作或 NAT 设备的适用性。

NAT 设备尝试为尝试从不同地址域进行通信的终端主机提供透明路由解决方案。这是通过修改路由中的端节点地址并维护这些更新的状态来实现的,以便与会话相关的数据报路由到任一领域中的正确端节点。此解决方案仅在应用程序不使用 IP 地址作为协议本身的一部分时才有效。例如,使用 DNS 名称而不是地址识别端点使应用程序不太依赖 NAT 选择的实际地址,并避免在 NAT 更改 IP 地址时还需要转换有效负载内容。

NAT 功能本身不能透明地支持所有应用程序,因此通常必须与应用层网关 (ALG) 共存。希望部署基于 NAT 的解决方案的人们需要首先确定他们的应用程序要求,并评估为其环境提供应用程序透明度所需的 NAT 扩展(即 ALG)。

旨在保留 IP 数据包端点地址的 IPsec 技术实际上不适用于大多数应用程序的 NAT 路由。 AH 和 ESP 等技术可保护 IP 头部的内容(包括源地址和目标地址)不被修改。然而,NAT 的基本作用是更改数据包 IP 头部中的地址。

2. 使用的术语和概念

此处定义了 NAT 上下文中最常用的术语以供参考。

2.1.地址领域或领域

地址域是一个网络域,其中网络地址被唯一分配给实体,以便数据报可以路由到它们。网络域内使用的路由协议负责查找到给定网络地址的实体的路由。请注意,本文档仅限于描述 IPv4 环境中的 NAT,不涉及 NAT 在其他类型环境中的使用。 (例如 IPv6 环境)

2.2.透明路由

整个文档中使用术语“透明路由”来标识 NAT 设备提供的路由功能。这与传统路由器设备提供的路由功能的不同之处在于传统路由器在单个地址域内路由数据包。

透明路由是指在不同的地址域之间路由数据报,方法是修改 IP 报头中的地址内容,使其在数据报路由到的地址域中有效。 3.2 节详细描述了透明路由。

2.3.会话流与数据包流(Session Flow vs. Packet Flow)

连接或会话流不同于数据包流。会话流指示参考网络接口发起会话的方向。数据包流是数据包相对于网络接口行进的方向。以出站 telnet 会话为例。 telnet 会话由入站和出站方向的数据包流组成。出站 telnet 数据包携带终端按键,入站 telnet 数据包携带来自 telnet 服务器的屏幕显示。

出于本文档中讨论的目的,会话被定义为作为翻译单元进行管理的一组流量。 TCP/UDP 会话由(源 IP 地址、源 TCP/UDP 端口、目标 IP 地址、目标 TCP/UDP 端口)的元组唯一标识。 ICMP 查询会话由(源 IP 地址、ICMP 查询 ID、目标 IP 地址)的元组标识。所有其他会话的特征在于(源 IP 地址、目标 IP 地址、IP 协议)的元组。

NAT 执行的地址转换是基于会话的,包括对属于该会话的传入和传出数据包的转换。会话方向由该会话的第一个数据包的方向标识(参见第 2.5 节)。

请注意,不能保证由 NAT 确定的会话概念与应用程序的会话概念一致。应用程序可能会将一组会话(如 NAT 所见)视为单个会话,甚至可能不会将其与对等方的通信视为会话。并非所有应用程序都能保证跨领域工作,即使使用 ALG(在第 2.9 节中定义)航路也是如此。

2.4. TU端口、服务器端口、客户端端口

对于本文档的提醒,我们将与 IP 地址关联的 TCP/UDP 端口简称为“TU 端口”。

对于大多数 TCP/IP 主机,侦听传入连接的服务器使用 TU 端口范围 0-1023。尝试发起连接的客户端通常选择 1024-65535 范围内的源 TU 端口。然而,这个约定并不普遍,也并不总是被遵守。一些客户端站使用 0-1023 范围内的源 TU 端口号发起连接,并且有服务器侦听 1024-65535 范围内的 TU 端口号。

可以在 RFC 1700 [Ref 2] 中找到分配的 TU 端口服务列表。

2.5. TCP、UDP 和其他会话的开始

每个 TCP 会话的第一个数据包尝试建立会话并包含连接启动信息。 TCP 会话的第一个数据包可以通过 TCP 标志中 SYN 位的存在和 ACK 位的不存在来识别。除第一个数据包外,所有 TCP 数据包都必须设置 ACK 位。

但是,没有确定性的方式来识别基于 UDP 的会话或任何非 TCP 会话的开始。一种启发式方法是假设具有迄今为止不存在的会话参数(如第 2.3 节中所定义)的第一个数据包构成新会话的开始。

2.6. TCP、UDP 和其他会话的结束

当 FIN 被会话的两半确认或当任一半收到 TCP 标志字段中带有 RST 位的段时,检测到 TCP 会话的结束。但是,由于 NAT 设备不可能知道它看到的数据包是否真的会传送到目的地(它们可能会在 NAT 设备和目的地之间被丢弃),因此 NAT 设备无法安全地假设包含 FIN 或SYN 将是会话的最后一个数据包(即,可能会有重传)。因此,可以假定会话仅在此检测之后的 4 分钟时间段后才终止。 RFC 793 [Ref 7] 中描述了对这种延长等待时间的需求,它建议 TIME-WAIT 持续时间为 2 * MSL(最大段寿命)或 4 分钟。

请注意,TCP 连接也有可能在 NAT 设备不知道该事件的情况下终止(例如,在一个或两个对等方重新启动的情况下)。因此,NAT 设备上的垃圾收集是必要的,以清除有关不再存在的 TCP 会话的未使用状态。但是,在一般情况下,无法区分长时间空闲的连接和不再存在的连接。对于基于 UDP 的会话,没有单一的方法可以确定会话何时结束,因为基于 UDP 的协议是特定于应用程序的。

许多启发式方法用于终止会话。您可以假设 24 小时内未使用的 TCP 会话和几分钟内未使用的非 TCP 会话将终止。通常这种假设是有效的,但有时却无效。这些空闲期会话超时因应用程序而异,对于同一应用程序的不同会话也有很大差异。因此,会话超时必须是可配置的。即使如此,也不能保证能找到满意的值。此外,如第 2.3 节所述,不能保证 NAT 对会话终止的看法与应用程序的看法一致。

处理会话终止的另一种方法是为条目添加时间戳并尽可能长时间地保留它们,并在必要时退出最长的空闲会话。

2.7.公共/全球/外部网络

全球或公共网络是一个地址领域,具有由互联网号码分配机构 (IANA) 或等效地址注册机构分配的唯一网络地址。在 NAT 讨论期间,此网络也称为外部网络。

2.8.私有/本地网络

私有网络是独立于外部网络地址的地址域。私有网络也可以称为本地网络。 NAT 路由器促进了私有域和外部域中主机之间的透明路由。

RFC 1918 [Ref 1] 对私有网络的地址空间分配提出了建议。 Internet Assigned Numbers Authority (IANA) 拥有三个 IP 地址空间块,即 10/8、172.16/12 和 192.168/16,为私有 Internet 留出。在 CIDR 之前的表示法中,第一个块只是一个单一的 A 类网络编号,而第二个块是一组 16 个连续的 B 类网络,第三个块是一组 256 个连续的 C 类网络。

决定在上述地址空间中使用 IP 地址的组织无需与 IANA 或任何其他互联网注册管理机构(如 APNIC、RIPE 和 ARIN)协调即可这样做。因此,地址空间可以同时由许多独立组织私下使用。但是,如果这些独立组织后来决定

【RFC5382 TCP 的 NAT 行为要求】(翻译) 原文https://datatracker.ietf.org/doc/html/rfc5382NAT Behavioral Requirements for TCPTCP 的 NAT 行为要求 本文档为处理 TCP 的 NAT 定义了一组要求,这些要求将允许许多应用程序(例如对等应用程序和在线游戏)一致地工作。开发满足这组要求的 NAT 将大大增加这些应用程序正常运行的可能性。 目录 1. 适用性声明 2. 介绍 3. 术语 4. TCP 连接初始化 4.1. ... 阅读详情

相关推荐

NAT的完全分析及其UDP穿透的完全解决方案

NAT的完全分析及其UDP穿透的完全解决方案 一:基本术语防火墙防火墙限制了私网与公网的通信,它主要是将(防火墙)认为未经授权的的包丢弃,防火墙只是检验包的数据,并不修改数据包中的IP地址和TCP/UDP端口信息。网络地址转换(NAT)当有数据包通过时,网络地址转换器不仅检查包的信息,还要将包头中的IP地址和端口信息进行修改。以使得处于NAT之后的机器共享几个仅有的公网

陈敏的博客 4万+

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

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

NAT协议_RFC1631 (中文版PDF)

NAT协议_RFC1631 (中文版PDF)

rfc2663 NAT.PDF

NAT 协议官方 说明文档,非常有用, 做nat 开发 参考非常有用 , 做NAT协议相关功能的 开发 非常有参考有用 ,

微信小程序网关逆向分析:从协议、签名到会话管理的安全架构剖析

在现代Web与移动应用开发中,API网关作为客户端与后端服务之间的关键通信枢纽,承担着协议转换、流量调度、安全防护与性能优化等核心职责。其工作原理通常涉及统一的请求路由、身份认证、参数校验与响应聚合。从技术价值看,深入理解网关机制不仅能帮助开发者构建更健壮、可扩展的微服务架构,还能为安全评估、性能调优与故障排查提供基础。在移动生态如微信小程序中,网关设计尤为关键,它需要处理微信特有的登录态、数据加密与防重放攻击等安全需求。本文聚焦于微信小程序网关的逆向分析方法,通过结合网络抓包与代码反编译技术,深入解析其通

weixin_29323493的博客 443

白话详细解读(七)----- CBAM:Convolutional Block Attention Module

一、CBAM简介 论文链接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CB CBAM这篇论文是在2018年提出的,自提出之后,已经被引用上千次,可见其影响力。CBAM是一种专门为了卷积神经网络而设计的注意力模块,传统的卷积存在只关注局部信息,而往往忽略全局信息的弊端,以3*3卷积为例,滤波器有9个

奋斗の博客 1万+

从零到一:Python+Playwright 实现动态网站全量数据采集实战(附反爬对抗与性能优化)

在动手之前,先明确武器优势: 2. 项目结构规划 为了代码可维护性,我们采用模块化结构: 三、核心实战:构建动态采集器 第一步:初始化“隐身”浏览器 普通启动容易被检测,我们需要注入一段 JS 脚本来抹除自动化特征。 第二步:处理无限滚动与动态加载 这是动态网站的核心难点。我们需要模拟人类滚动,并等待新数据加载完成。 第三步:登录态保持与复用 避免每次运行都重新登录。我们将 Cookie 保存到本地,下次直接加载。 第四步:主流程编排 将上述模块串联起来,并加入异常重试机制。 四、进阶优化:性能与反爬

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1165

【架构】-- StarRocks 和 Doris 介绍与选型建议

查询性能 | ✅ 高性能,支持向量化执行和 CBO 优化器 | ✅ 高性能,优化的查询引擎 |- **实时性要求高**:如果业务对数据的实时性要求较高,建议选择 **StarRocks**,其在实时数据处理和低延迟查询方面表现优越。- **复杂查询需求**:对于需要处理复杂多表关联查询的场景,两者均可胜任,需根据具体性能测试结果进行选择。

欢迎来到我的博客,一起探索代码里的世界! 1835

华为MetaERP月结加速方案:并行关账技术深度解析

【摘要】华为MetaERP并行关账技术通过创新架构设计,将传统串行月结流程(8-12小时)优化为并行执行(2-4小时)。关键技术包括:1)基于DAG引擎的任务依赖分析,实现模块/子任务三级并行;2)Saga模式分布式事务保障数据一致性;3)动态资源分配算法提升CPU利用率至60-80%。实施效果显示月结时间缩短70%,成功率提升至99.8%,错误恢复时间减少75%。该方案为大型企业ERP系统提供了高效的月结加速方案,未来还将结合AI调度与混合云扩展持续优化。

金牌架构师 1441

手把手教你学Simulink——基于重复控制(RC)的并网逆变器场景实例:基于RC的单相并网逆变器仿真

本次教程深入剖析了重复控制(RC)在单相并网逆变器中的应用,解决了周期性谐波抑制这一核心难题。核心收获RC是谐波抑制的“核武器”:它利用内模原理,对所有周期性谐波提供无限大增益,实现理论上无静差的跟踪和抑制。PI+RC是黄金组合:PI提供快速响应,RC提供稳态精度,二者结合,兼顾了动态与稳态性能。结构简单,效果卓越:相比多个PR控制器,RC仅需一个模块,即可抑制所有谐波,设计简洁。电能质量的终极追求,是波形的纯净。重复控制,如同一位不知疲倦的校对员它记住每一次错误(上一周期的误差),

MHD0815的博客 189

Allegro如何改变线宽操作指导

用Allegro做pcb设计的时候,改变走线线宽是非常常用的功能,如下图。线宽目前是12mil,需要把线宽改成15mil。如何改变线宽操作指导。

weixin_54787054的博客 4255

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 【RFC5382 TCP 的 NAT 行为要求】(翻译)
下一篇: 【RFC2818 基于 TLS 的 HTTP】(翻译)
羊羊洒洒_Blog
博客等级 码龄7年 174粉丝 47原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值