qq(由路由器下共享上网)是如何连接服务器的?服务器如何识别路由器下的多台机器?

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:17:11
Internet中两点之间通信都需要一个唯一的ip地址,向上面这种情况腾讯的服务器是如何与路由器内网里的机器进行通信的?
能专业且详细点,谢谢。

简单点说:

INTERNET通讯不但需要一个唯一的IP还需要一个端口,例如我们经常看到的 www.xxx.com:8080 这里冒号后面的就是端口,只有两个都齐全的时候才可以完成通讯.

你说的这种情况很常见比如网吧几乎都是,原理也很简单.

首先需要明白一个封包的概念.

Internet 上的数据其实都是封装成包的形式发送出去的,而这个包有一个头部,而且这个头部有固定长度,举个形象的例子,假设我们需要寄一个包裹出去,我们就需要用邮局的箱子把包裹装起来并在上面写明接收人等信息,这里的封包其实是一个道理,而所谓头部信息就是一些地址信息等内容.这样我们就好理解了.

首先假设我登陆QQ,这时QQ程序会用本地4000(默认)端口发送出请求,这时封好的包到里路由设备,路由器改写了这个包的源地址(这个是IP头部的一个信息,表示了发包人的地址)因为你创建这个包的时候地址是相对内网的,而路由则将其改为公网的地址,并且将端口也改了,而路由随机生成一个端口将改好的包发送出去,这样QQ服务器返回信息到路由的发送数据用的端口,而路由再将这个端口返回给内网内部,所以表面看似乎没有影响,

当多个用户时原理是一样的只是路由随机生成N个端口来通讯.

如果你用珊瑚虫的QQ就比较明显,你看对方IP会看到这种

218.XX.XX.XX:4000 这种4000端口或者 4001 (挂两个QQ就是 4001)

这种一般就是公网用户

而比如这种

218.XX.XX.XX:16484 这种端口很大的一般就是内网通过路由设备等上网的内网用户(比如网吧)

不知道,我不是接分的!

如果光 腾讯的服务器是如何与路由器内网里的机器进行通信的 这个问题!

我想很容易实现:

首先有 本地电脑的QQ客户端 连接到 腾讯的服务器!<