如果使用远程桌面login到远程机器,该连接的数据如何返回到我的机器?

如果使用远程桌面login到远程机器,如果我没有在路由器上打开任何端口,该连接的数据如何回到我的机器上?

任何数据都回到您的计算机的相同方式。

你的路由器几乎肯定会运行一个有状态的防火墙和NAT。 这意味着它跟踪你通过它的连接。

RDP,像HTTP和许多其他协议使用stream套接字 。 因此,如果您build立RDP连接,RDP客户端将在您的客户端上打开一个端口,然后连接到远程计算机,您的连接可能具有这样的详细信息。

Source Address: 192.168.12.21 Source Port: 59034 Destination Address: 8.8.8.8 Destination Port: 3389 

当初始数据包通过防火墙时,会将一个条目添加到至less包含这些详细信息的状态表中。 如果您正在运行NAT,则会存储一些其他信息,其中包括源端口已翻译的端口。 如果您尝试连接的主机接受您的请求,它将响应数据包中的源地址/端口。 您的路由器将允许传入的数据包,因为它在状态表中有一个条目。

也可以看看:

如果你没有开放任何港口,它也没有办法解决。 您需要打开端口3389才能build立远程桌面连接。

它不。

但是,如果您的路由器使用NAT (或者更具体地说, PAT ,又名NAPT),则为您打开一个端口。 你的路由器有一个状态表,用来跟踪进入的端口,目标主机和目标端口。 端口X上的stream量将被转发到主机Z上的端口Y

无NAPT的连接将位于主机Z上的端口Y与远程服务器上的端口3389(用于RDP)之间; 使用NAPT,它会在路由器上的端口X和远程服务器上的端口3389之间结束。


哎呀,我完全忘记了远程主机在状态表中…