【问题标题】:How does a packet know how to reach a device within a subnet?数据包如何知道如何到达子网内的设备?
【发布时间】:2018-10-11 13:04:21
【问题描述】:

这是一个困扰我很久的问题。我一直在研究中寻找答案,并且总是假设“我确定我错过了一些东西,或者我会进一步了解它”,但我没有。无论如何假设发送一个带有 tcp+ip 的数据包:

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

为了更清楚,假设我的家庭路由器的公共 IP 地址是 155.100.100.10(这是 IP 标头中的目标),我有三个设备连接到它,所以这三个设备都有相同的目标IP地址。所以目的IP在IP头中,要去哪个进程的端口在TCP头中,但是数据包到底是怎么知道要去这三个设备中的哪一个呢?

如果是子网划分,请说明数据包的发送者在哪里包含发送到哪个子网的具体信息,因为即使经过一些wireshark挖掘,我似乎也找不到它

【问题讨论】:

    标签: udp ip tcp-ip


    【解决方案1】:

    没关系,我找到了,我想我会把答案留给其他可能偶然发现同样事情的人:

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

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多