假设私有网络和公共网络通过路由器或其他设备连接。
私网中的主机向公网中的主机发送消息(例如HTTP请求)后,
第二台主机不能通过仅使用第 3 层(IP 地址和网络地址转换设备)将消息(例如 HTTP 响应)发送回第一台主机是否正确,因为私有网络中的所有私有 IP 地址映射到相同的公共 IP 地址?
通过使用第 4 层(端口和一些(网络和)端口地址转换设备),第二台主机只能将消息(例如 HTTP 响应)发送回第一台主机是否正确?
谢谢。
假设私有网络和公共网络通过路由器或其他设备连接。
私网中的主机向公网中的主机发送消息(例如HTTP请求)后,
第二台主机不能通过仅使用第 3 层(IP 地址和网络地址转换设备)将消息(例如 HTTP 响应)发送回第一台主机是否正确,因为私有网络中的所有私有 IP 地址映射到相同的公共 IP 地址?
通过使用第 4 层(端口和一些(网络和)端口地址转换设备),第二台主机只能将消息(例如 HTTP 响应)发送回第一台主机是否正确?
谢谢。
将公共地址和私有地址分开的 IP 协议没有任何内在的东西。对于计算机或路由器来说,它们都是一样的。我们同意,作为一项政策,我们将某些地址范围定义为私有地址——这意味着它们不会通过公共 Internet 路由,因此它们不必是全球唯一的。
第二台主机不能通过仅使用第 3 层(IP 地址和网络地址转换设备)将消息(例如 HTTP 响应)发送回第一台主机是否正确,因为私有网络中的所有私有 IP 地址映射到相同的公共 IP 地址?
你的问题真的没有意义。HTTP 响应被封装在 TCP 段中,所以我不知道如何使用“仅第 3 层”发送响应
最常见的地址转换形式(以及您所指的那种)是网络和端口转换(NAPT)。源地址和端口都被转换为另一个地址/端口(通常是单个 IP 地址,但唯一的端口)。NAPT 设备会跟踪翻译,因此它可以转发返回流量。
当 NAT 不包括端口转换时,原始地址和转换后的地址之间始终存在一对一的关系,而不是多对一的关系。
公共 IPv4 和私有 IPv4 之间的通信需要一种双向工作的 NAT。
主机应用程序使用由传输层协议封装的应用层协议(由网络层协议封装,...)进行通信。他们无法“仅通过第 3 层”进行通信。(取决于您对“沟通”的定义。)