首页 > TCP外网访问内网

TCP外网访问内网

做了个TCP聊天室,我把寝室的路由器的端口映射51888端口映射到我的IP地址192.168.1.103上,在路由器上看到的IP是10.开头的局域网,估计是学校的那种局域网,然后开启服务器,为什么其他寝室的人通过我给他的客户端,通过那个10.开头的IP地址连接上我的服务器后,能够接收到我的服务器发给他的信息。我想知道我的服务器是怎么知道他的IP地址(路由器给他分配的IP地址)的。


路由器相当于透明转发,也就是相当于你跟路由


你们的电脑通讯时,你寝室的路由(router-A)和他寝室的路由(router-B)都把你们的局域网IP(192.168.x.x)做了NAT映射,成了10.x.x.x:port:
pc-A:192.168.1.103 -> router-A:10.1.1.1:51888
pc-B:192.168.1.101 -> router-B:10.1.1.2:50000

router-A ------ router-B
之间是经过10.1.1.0这个网段在通信,用端口号标识了你们两台机器的IP,tcp建连的时候你的服务器保存了10.1.1.2:50000这个地址作为客户端的地址,你的服务器并不需要关心对方的内网IP(192.168.1.101),你的服务器往10.1.1.2:50000这个目的地址发包,router-B收到后会转换成pc-B的地址192.168.1.101

【热门文章】
【热门文章】