网络传输的基本流程,也就是各个层次的协议之间是如何协同工作的
它的两个核心操作:1.封装;2.分用
网络设备可以进行封装、分用的:主机、路由器
**举例:**A 用 QQ 给 B 发了消息:“帮我带个饭~”
那么这条消息,是如何通过网络来进行传输的??
定义:每层协议都要加上一个数据首部,称为封装
过程:由上而下进行数据封装
1.应用层(QQ) 需要根据用户输入的数据,把这个数据构造成一个应用层数据报
2.应用层协议把数据要交给传输层协议,来进一步封装
封装的意思就是给刚才的数据基础上加上一个传输层的协议头
3.传输层需要把数据进一步交给网络层
网络层协议再加上一个网络层的协议头
4.网络层需要进一步把数据交给数据链路层
数据链路层协议再加上一个数据链路层的协议帧头 + 协议帧尾
5.数据链路层得到的数据帧交给物理层
物理层把这个数据转换成光电信号,通过硬件设备(网线、光纤、电磁波)传输出去
总结:
应用层: 浏览器会包装数据为 http 协议格式
传输层: 系统包装数据加上 tcp 协议头(端口号)
网络层: 系统包装数据加上 IP 协议头(IP)
数据链路层: 系统包装数据加上数据帧头(MAC)
物理层: 光电信号:0/1
与上述过程相反,通过协议号进行数据分用,通过端口号找应用程序
1.物理层: 接收对方发来的光电信号,解析成二进制的 bit 流,进一步得到了数据链路层数据帧,把数据帧交给数据链路层来处理
2.数据链路层: 解析数据帧,剥离帧头和帧尾,取出其中的 IP 数据报,交给网络层
3.网络层: 拿到网络层数据报,再来解析,去掉网络层协议头,把数据交给传输层
4.传输层: 拿到传输层数据报,再来解析,去掉传输层协议头,把数据交给应用层
5.应用层: 解析应用层数据报,分析出数据内容及发送者是谁,显示到界面上
将内容提取出来,此时 B 就可以看到 A 让他带饭的消息了~
封装是在构造数据报,分用是在解析数据报并提取数据报内容
举例:也就是封装就在包装快递,分用就是在拆快递,两者之间正好是对应的
上述过程没有考虑网络传输的中间过程,只考虑了发送和接收过程
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/m0_47988201/article/details/121911834
内容来源于网络,如有侵权,请联系作者删除!