封装和分用网络

Posted 一朵花花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装和分用网络相关的知识,希望对你有一定的参考价值。

网络传输核心操作

网络传输的基本流程,也就是各个层次的协议之间是如何协同工作的
它的两个核心操作:1.封装;2.分用

网络设备可以进行封装、分用的:主机、路由器

举例: A 用 QQ 给 B 发了消息:“帮我带个饭~”
那么这条消息,是如何通过网络来进行传输的??

(1) 封装

定义:每层协议都要加上一个数据首部,称为封装
过程:由上而下进行数据封装

1.应用层(QQ) 需要根据用户输入的数据,把这个数据构造成一个应用层数据报

2.应用层协议把数据要交给传输层协议,来进一步封装
封装的意思就是给刚才的数据基础上加上一个传输层的协议头


3.传输层需要把数据进一步交给网络层
网络层协议再加上一个网络层的协议头


4.网络层需要进一步把数据交给数据链路层
数据链路层协议再加上一个数据链路层的协议帧头 + 协议帧尾

5.数据链路层得到的数据帧交给物理层
物理层把这个数据转换成光电信号,通过硬件设备(网线、光纤、电磁波)传输出去

总结:
应用层: 浏览器会包装数据为 http 协议格式
传输层: 系统包装数据加上 tcp 协议头(端口号)
网络层: 系统包装数据加上 IP 协议头(IP)
数据链路层: 系统包装数据加上数据帧头(MAC)
物理层: 光电信号:0/1

(2) 分用

与上述过程相反,通过协议号进行数据分用,通过端口号找应用程序

1.物理层: 接收对方发来的光电信号,解析成二进制的 bit 流,进一步得到了数据链路层数据帧,把数据帧交给数据链路层来处理
2.数据链路层: 解析数据帧,剥离帧头和帧尾,取出其中的 IP 数据报,交给网络层

3.网络层: 拿到网络层数据报,再来解析,去掉网络层协议头,把数据交给传输层

4.传输层: 拿到传输层数据报,再来解析,去掉传输层协议头,把数据交给应用层

5.应用层: 解析应用层数据报,分析出数据内容及发送者是谁,显示到界面上
将内容提取出来,此时 B 就可以看到 A 让他带饭的消息了~

封装是在构造数据报,分用是在解析数据报并提取数据报内容
举例:也就是封装就在包装快递,分用就是在拆快递,两者之间正好是对应的

上述过程没有考虑网络传输的中间过程,只考虑了发送和接收过程

以上是关于封装和分用网络的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络理解网络传输基本流程 ( OSI七层模型 与 TCP/IP五/四层模型 ) 网络分层中的封装和分用

Linux:网络基础(协议数据的封装与分用)

网络基础

网络基础

网络基础

网络基础