有没有没有端口概念的传输层协议?

网络工程 纳特 传输协议 第4层
2021-07-15 07:40:57

有没有没有端口概念的传输层协议?如果是这样,他们使用什么代替?NAT 如何为此类协议工作?

2个回答

是的。有许多第 4 层协议。您可以在“分配的 Internet 协议编号”中获得完整的注册列表

有一些不使用端口号的 IGP 协议,例如 EIGRP 或 OSPF 传输协议。端口号是某些传输协议的地址大多数已注册的传输协议不使用端口号。有些使用其他寻址,有些不使用任何寻址。

端口寻址允许操作系统多路复用协议,但许多传输协议不需要多路复用,或者它们使用端口地址以外的其他东西进行多路复用。可能只有一个应用程序需要通过协议传输数据。使用 TCP 之类的东西,您将有许多应用程序使用它进行通信,但您可能有一个专用于单个应用程序的传输协议。


有几个版本的 NAT。常见的 NAT 实际上是NAPTNAPT 实际上只适用于* TCP、UDP 和 ICMP。其他协议在 NAPT 方面存在实际问题。请记住,NAPT 只是将 IPv4 的生命周期延长到 IPv6 无处不在的杂物。IP 范式是端到端的,其中每个端点都有一个唯一的地址,而 NAPT 打破了这种 IP 范式。

*还有一些使用 TCP 或 UDP 的应用程序在 NAT 方面存在实际问题。

4.1.2. 网络地址端口转换 (NAPT)

NAPT 通过还翻译传输标识符(例如,TCP 和 UDP 端口号、ICMP 查询标识符)进一步扩展了翻译的概念。这允许将多个私有主机的传输标识符多路复用为单个外部地址的传输标识符。NAPT 允许一组主机共享一个外部地址。请注意,NAPT 可以与基本 NAT 结合使用,以便将外部地址池与端口转换结合使用。

对于从专用网络出站的数据包,NAPT 将转换源 IP 地址、源传输标识符和相关字段,例如 IP、TCP、UDP 和 ICMP 标头校验和。传输标识符可以是 TCP/UDP 端口或 ICMP 查询 ID 之一。对于入站数据包,将转换目标 IP 地址、目标传输标识符以及 IP 和传输标头校验和。

图 2 中的 NAPT 路由器可以配置为将源自 N-Pri 的会话转换为单个外部地址,例如 Addr-i。

很多时候,NAPT路由器的外部接口地址Addr-Nx被用作映射N-Pri的地址。

是的,ICMP 没有端口号的概念,而是像端口号一样使用 ICMP ID,有关更多详细信息,您可以查看以下 RFC:

ICMP 的 NAT 行为要求