美文网首页
网络中,数据是怎么样传输的?

网络中,数据是怎么样传输的?

作者: xuyouxin1 | 来源:发表于2017-09-12 15:19 被阅读0次

来源于网络:

比如你用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码还原成“你好”,显示在对话框里。

以上就是大概的过程了。

相关文章

  • 网络中,数据是怎么样传输的?

    来源于网络: 比如你用QQ发送文本信息“你好”给对方。 发送过程: 1、QQ先把“你好”转换成ASCII码,并且生...

  • 网络中数据的传输

    之前在理解vip的时候卡在了一些网络问题,发现不清楚数据是如何从网络层到数据链路层,以及到物理层的一步步传输的,看...

  • socket 连接和 Http 连接的区别

    TCP/IP是 传输层 协议,主要解决数据如何在网络中传输HTTP协议是 应用层 协议,主要解决如何包装数据。

  • iOS Http TCP UDP Socket

    http 是应用层协议,主要解决如何包装数据。 TCP/UDP是传输层协议,主要解决数据如何在网络中传输。 Soc...

  • TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而H

    TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。

  • JDK序列化官方指南

    在网络中数据传输都是以字节数组传输的,而在java程序中操作的是类对象。java程序中对象到对象的传递在网络中的传...

  • Kafka设计之美

    一 数据传输 1 传统数据从文件到网络的传输路径 2 传统数据从文件到网络的传输路径图解 3 对传统数据传输的优化...

  • 端对端和点对点

    数据传输的可靠性是通过数据链路层和网络层的点对点和传输层的端对端保证的。端到端与点到点是针对网络中传输的两端设备间...

  • https

    https解决的问题 因为在网络传输中,http是使用明文传输的,很容易被人劫持或者篡改数据。为了能让消息能在网络...

  • PHP面试题:TCP/UDP/HTTP的区别和联系

    一、TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。 关...

网友评论

      本文标题:网络中,数据是怎么样传输的?

      本文链接:https://www.haomeiwen.com/subject/limcsxtx.html