Udp 数据包如何知道如何到达子网内的设备?

Udp 数据包如何知道如何到达子网内的设备?,udp,ip,tcp-ip,Udp,Ip,Tcp Ip,这是一个困扰我很久的问题。我一直在研究中寻找答案,总是假设“我肯定我错过了什么,或者我会进一步学习”,但我没有。无论如何,假设发送了tcp+ip的数据包: 仅从公共ip和端口地址判断,该数据包如何知道它应该进入路由器中的哪个特定设备 更清楚地说,我的家庭路由器的公共ip地址是155.100.100.10(这是ip报头中的目的地),我有三个设备连接到它,因此这三个设备都有相同的目的地ip地址。因此,目标IP在IP报头中,要转到哪个进程的端口在TCP报头中,但数据包究竟如何知道要转到三个设备中的哪一

这是一个困扰我很久的问题。我一直在研究中寻找答案,总是假设“我肯定我错过了什么,或者我会进一步学习”,但我没有。无论如何,假设发送了tcp+ip的数据包:

仅从公共ip和端口地址判断,该数据包如何知道它应该进入路由器中的哪个特定设备

更清楚地说,我的家庭路由器的公共ip地址是155.100.100.10(这是ip报头中的目的地),我有三个设备连接到它,因此这三个设备都有相同的目的地ip地址。因此,目标IP在IP报头中,要转到哪个进程的端口在TCP报头中,但数据包究竟如何知道要转到三个设备中的哪一个


如果是子网,请务必解释数据包的发送者在哪里包含关于要发送到哪个子网的特定信息,因为即使经过wireshark的挖掘,我似乎也找不到它。不管怎样,我找到了它,我想我会把答案留给可能遇到同样问题的其他人:

基本上,当发送请求时,客户端在网络地址转换器(NAT)设备/“路由器”上注册自己的本地地址和唯一端口。因此,当服务器只回复公共ip地址时,它会使用保留端口查看子网中发送信息的位置