TCP外网访问内网

发布于 2022-09-01 18:51:28 字数 198 浏览 36 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

看轻我的陪伴 2022-09-08 18:51:28

你们的电脑通讯时,你寝室的路由(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

極樂鬼 2022-09-08 18:51:28

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

放肆 2022-09-08 18:51:28

用holer配置一个Access key就可以外网访问了

图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文