因此,我想知道如果网络中存在隐藏单个设备IP的IP伪装,那么数据包如何知道其目的地,但其中一个线程对我解释说:“基本上,客户端在发送请求时会在网络地址转换器 (NAT)设备/”路由器“上注册自己的本地地址和唯一端口。因此,当服务器只使用公共ip地址应答时,它会使用保留端口查看子网中发送信息的位置。”
好吧,但是这个“请求”(我相信这是三次握手中的SYN )是如何知道他应该要求连接的设备呢?
我想在某个网络中向Computer1发送一些数据。该网络中还有3台计算机: Computer2、Computer3和Computer4。我做的第一件事是与Computer1进行TCP连接,即3路握手(在此过程中,我将自己的本地地址和唯一端口放在NAT设备上,,但 Computer1仍然不知道我想连接他)。
因此,从计算机1的角度来看:“一些设备在我的NAT路由器上发送了他的本地地址和唯一端口,因为他想连接我、Computer2、Computer3或Computer4 (可能稍后会发送一些数据)。,但我怎么知道是我还是我的3位同事中的一位呢?在数据包报头中,只有我们路由器的IP地址。”
我刚接触过网络,看了几本教程,但还是不明白。如果有人向我解释了这件事,我会很高兴的,如果它已经被掩盖了,就不要生我的气。
发布于 2021-05-13 20:20:55
从计算机1的角度来看,
是这样的:“一些设备在我的NAT路由器上发送了他的本地地址和唯一端口,因为他想连接我、Computer2、Computer3或Computer4 (可能稍后会发送一些数据)。但是我怎么知道是我还是我的3个同事中的一个呢?在包头中只有我们路由器的IP地址。”
它不知道也不在乎。它所需要做的就是能够向正确的始发机发送响应。要做到这一点,它需要将数据包送到一台知道并且确实关心的机器上,这就是NAT路由器。
NAT路由器是怎么知道的?因为它看到了创建请求的原始数据包的本地源地址。
服务器如何到达NAT路由器?它只需将响应数据包定位到它接收到的请求的源地址,这将是NAT路由器的公共地址。
发布于 2021-05-13 20:15:37
路由器使用转发表完成此任务,以确定应在何处发送和接收数据包。当数据包到达路由器时,它将查看目标地址以确定将数据包发送到何处。基本上是一个精心设计的概念,所有路由器都可以计算,在发送和接收数据时,它们还与mac、device、IP和DNS地址以及某些情况下的位置数据协调保存日志和更新这些表。
就您的问题而言,您的3位同事通过同一路由器向目的地发送数据包。每台计算机都有一个动态IP和分配给每台计算机的MAC地址。知道每个数据包来自路由器NAPT,或IP伪装,用这些数据更新翻译表。
这一问题在以下不同的背景下得到了回答。
资料来源:
https://stackoverflow.com/questions/67525481
复制相似问题