这是一个困扰我很久的问题。我一直在寻找学习中的答案,并且总是认为"我确定我已经错过了某些东西,或者我将在未来进一步学习它。"但是,我没有。无论如何假设发送带有tcp + ip的数据包:
该数据包如何知道它应该在路由器中使用哪个特定设备,仅从公共IP和端口地址判断?
为了更清楚,我们可以说我家路由器的公共IP地址是155.100.100.10(这是IP头中的目的地),我有三个设备连接到它,所以这三个设备都有相同的目的地IP地址。所以目标IP在IP头中,要进入的进程的端口在TCP头中,但是数据包怎么知道要去哪三个设备?
如果是子网划分,请说明数据包的发件人包含要发送到哪个子网的具体信息,因为即使在一些wirehark挖掘之后我似乎也找不到它
答案 0 :(得分:0)
没关系,我找到了,我想我会在这里留下答案给其他可能偶然发现同样事情的人:
基本上,客户端在发送请求时在网络地址转换器(NAT)设备/“路由器”上注册它自己的本地地址和唯一端口。因此,当服务器仅回复公共IP地址时,它会使用保留端口查看子网中发送信息的位置。