QQ通信原理及QQ是怎么穿透内网进行通信的

QQ通信原理及QQ是怎么穿透内网进行通信的

ID:47593698

大小:15.88 KB

页数:13页

时间:2019-09-22

QQ通信原理及QQ是怎么穿透内网进行通信的_第1页
QQ通信原理及QQ是怎么穿透内网进行通信的_第2页
QQ通信原理及QQ是怎么穿透内网进行通信的_第3页
QQ通信原理及QQ是怎么穿透内网进行通信的_第4页
QQ通信原理及QQ是怎么穿透内网进行通信的_第5页
资源描述:

《QQ通信原理及QQ是怎么穿透内网进行通信的》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、QQ通信原理及QQ是怎么穿透内网进行通信的?文章分类:互联网QQ是一个基于TCP/UDP协议的通讯软件 发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服务器,只不过不是常用的那些,那个服务器是腾讯自行开发的!!! 一、登录 QQ客户端在局域网内,当你打开QQ登录到QQ服务器时,通过外网,你的客户端与QQ服务器建立了一个长连接。你可以用netstat-bn 看到此连接的状态是establish 此时,在QQ服务器那面看到的连接的IP是你们局域网对外的IP。举个例子:       QQ服务器     IP:121.115.11.81    服务

2、端口:80       你的机器在局域网中内部IP:  10.19.9.89       你局域网出口InternetIP: 61.183.172.149       你的客户端的请求将通过外网出去,如果防火墙没有禁止访问Internet上80端口服务,那么你的QQ客户端可以正常登录。你看到的连接是(netstat -bn)       10.19.9.89:55579          124.115.11.81:80   establish             这是一个假象。通过QQ服务器看到的连接是:       124.115.11.81:80     61.183.

3、172.149:31234   establish             这样,防火墙上的31234口对应的就是你机器的55579口。(由于你是发起方,这个数是变化的。动态的)       当有信息给你时,QQ服务器只需要发给防火墙的55579口即可。(这里防火墙作了地址翻译)             不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。因此,假如你所在的网络开放了80端口(80端口是最常用端口。。就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已

4、经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功QQ的。 二、聊天消息通信    采用UDP协议,通过服务器中转方式。大家都知道,UDP协议是不可靠协议,它只管发送,不管对方是否收到的,但它的传输很高效。但是,作为聊天软件,怎么可以采用这样的不可靠方式来传输消息呢?于是,腾讯采用了上层协议来保证可靠传输:如果客户端使用UDP协议发出消息后,服务器收到该包,需要使用UDP协议发回一个应答包。如此来保证消息可以无遗漏传输。之所以会发生在客户端明明看到“消息发送失败”但对方又收到了这个消息的情况,就是因为客户端发出的消息服务器已经收到并转发成功,但客户端由于网络原因没有

5、收到服务器的应答包引起的。 因为用户一般都是在局域网内,地址都为私有IP,腾讯服务器是如何将信息转发到用户的? 首先先介绍一些基本概念:    NAT(NetworkAddressTranslators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(NetworkAddress/PortTranslator)。    最开始NAT是运行在路由器上的一个功能模块。       最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只有很少的节点需要与外网连接(呵呵,这

6、是在上世纪90年代中期提出的)。那么这个子网中其实只有少数的节点需要全球唯一的IP地址,其他的节点的IP地址应该是可以重用的。   因此,基本的NAT实现的功能很简单,在子网内使用一个保留的IP子网段,这些IP对外是不可见的。子网内只有少数一些IP地址可以对应到真正全球唯一的IP地址。如果这些节点需要访问外部网络,那么基本NAT就负责将这个节点的子网内IP转化为一个全球唯一的IP然后发送出去。(基本的NAT会改变IP包中的原IP地址,但是不会改变IP包中的端口)    关于基本的NAT可以参看RFC1631      另外一种NAT叫做NAPT,从名称上我们也可以看得出,NAPT

7、不但会改变经过这个NAT设备的IP数据报的IP地址,还会改变IP数据报的TCP/UDP端口。基本NAT的设备可能我们见的不多(呵呵,我没有见到过),NAPT才是我们真正讨论的主角。看下图:                                ServerS1                                                18.181.0.31:1235                                            

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。