首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据包如何知道如何到达目的地?

数据包如何知道如何到达目的地?
EN

Stack Overflow用户
提问于 2021-05-13 19:59:24
回答 2查看 444关注 0票数 1

因此,我想知道如果网络中存在隐藏单个设备IP的IP伪装,那么数据包如何知道其目的地,但其中一个线程对我解释说:“基本上,客户端在发送请求时会在网络地址转换器 (NAT)设备/”路由器“上注册自己的本地地址和唯一端口。因此,当服务器只使用公共ip地址应答时,它会使用保留端口查看子网中发送信息的位置。”

好吧,但是这个“请求”(我相信这是三次握手中的SYN )是如何知道他应该要求连接的设备呢?

我想在某个网络中向Computer1发送一些数据。该网络中还有3台计算机: Computer2、Computer3和Computer4。我做的第一件事是与Computer1进行TCP连接,即3路握手(在此过程中,我将自己的本地地址和唯一端口放在NAT设备上,,但 Computer1仍然不知道我想连接他)。

因此,从计算机1的角度来看:“一些设备在我的NAT路由器上发送了他的本地地址和唯一端口,因为他想连接我、Computer2、Computer3或Computer4 (可能稍后会发送一些数据)。,但我怎么知道是我还是我的3位同事中的一位呢?在数据包报头中,只有我们路由器的IP地址。”

我刚接触过网络,看了几本教程,但还是不明白。如果有人向我解释了这件事,我会很高兴的,如果它已经被掩盖了,就不要生我的气。

EN

回答 2

Stack Overflow用户

发布于 2021-05-13 20:20:55

从计算机1的角度来看,

是这样的:“一些设备在我的NAT路由器上发送了他的本地地址和唯一端口,因为他想连接我、Computer2、Computer3或Computer4 (可能稍后会发送一些数据)。但是我怎么知道是我还是我的3个同事中的一个呢?在包头中只有我们路由器的IP地址。”

它不知道也不在乎。它所需要做的就是能够向正确的始发机发送响应。要做到这一点,它需要将数据包送到一台知道并且确实关心的机器上,这就是NAT路由器。

NAT路由器是怎么知道的?因为它看到了创建请求的原始数据包的本地源地址。

服务器如何到达NAT路由器?它只需将响应数据包定位到它接收到的请求的源地址,这将是NAT路由器的公共地址。

票数 1
EN

Stack Overflow用户

发布于 2021-05-13 20:15:37

路由器使用转发表完成此任务,以确定应在何处发送和接收数据包。当数据包到达路由器时,它将查看目标地址以确定将数据包发送到何处。基本上是一个精心设计的概念,所有路由器都可以计算,在发送和接收数据时,它们还与mac、device、IP和DNS地址以及某些情况下的位置数据协调保存日志和更新这些表。

就您的问题而言,您的3位同事通过同一路由器向目的地发送数据包。每台计算机都有一个动态IP和分配给每台计算机的MAC地址。知道每个数据包来自路由器NAPT,或IP伪装,用这些数据更新翻译表。

这一问题在以下不同的背景下得到了回答。

资料来源:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67525481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档