Skip to main content

 路由器设置 > 新闻资讯 >

分析报文传输QQ消息发送的整个过程

2014-01-21 23:43 浏览:

比如你用QQ发送文本信息“你好”给对方。发送过程:

1、QQ先把“你好”转换成ASCII码,并且生成一个报文,此时报文为:(QQ报文头)+(你好的ASCII码)

2、QQ是应用层软件,,理论上应用层应该把报文交给它的下一层,表示层。此时报文变为(表示层报文头)+(QQ报文头)+(你好的ASCII码)不过,我觉得QQ应该是直接把报文交给了传输层的UDP协议,此时报文变为(UDP报文头)+(QQ报文头)+(你好的ASCII码)。此时还要建立UDP连接,不赘述。

3、然后UDP协议把报文交给网络层的IP协议,报文变为(IP报文头)+(UDP报文头)+(QQ报文头)+(你好的ASCII码)。

4、然后,IP协议把报文交给链路层协议的以太协议,报文变为(以太报文头)+(IP报文头)+(UDP报文头)+(QQ报文头)+(你好的ASCII码)。

5、然后,以太报文被送到网卡上,此时报文被分割为好几个帧,以0101的形式通过物理层发送到网络上。

6、然后,是交换机收到这些帧,把这些帧还原成以太报文,交换机根据以太报文头里的MAC地址查找自己的MAC地址表,找到出接口,把报文从出接口发送出去(把报文送到网关设备上)。发送的时候报文又被分割成多个帧,通过物理层发送出去。

7、网关收到报文后,根据IP报文头里的IP地址,查找自己的路由表和FIB表,找到下一跳地址,然后把报文送到下一跳,这个过程不断重复,直到找到对方的网关。

8、对方的网关再把这个报文发送到对方的电脑上。

9、对方电脑收到报文后依次剥掉以太报文头、IP报文头、UDP报文头,然后发现应用层协议是QQ,于是把这个报文交给QQ软件处理,QQ再把ASCII码还原成“你好”,显示在对话框里。以上就是大概的过程了