计算机网络参考模型与5G协议
一.OSI七层参考模型
1)OSI简介
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
是国际标准化组织(ISO)1984年颁布了开放系统互连(OSI)参考模型一个开放式体系结构,将网络分为七层
分层 | 功能 |
---|---|
应用层 | 网络服务与最终用户的一个接口 |
表示层 | 数据的表示、安全、压缩 |
会话层 | 建立、管理、中止会话 |
传输层 | 定义传输数据的协议端口号,以及流控和差错校验 |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 |
数据链路层 | 建立逻辑连接、进行硬件地址寻址、差错校验等功能 |
物理层 | 建立、维护、断开物理连接 |
2).每层具体功能
1)应用层:
人机交互窗口,把人的语言输入到计算机当中。
2)表示层:
将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压、数据加密和解密等工作。
3)会话层:
管理是否允许不用机器上的用户之间建立会话连接关系。
4)传输层:
将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。
5)网络层:
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到数据端的传输。
6)数据链路层:
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。
7)物理层:
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
二.TCP/IP五层模型
TCP/IP相较于OSI,应用层、表示层和会话层功能合并到应用层,其他层不受影响。
三.数据封装过程和解封装过程
(1)应用层传输过程
在应用层,数据被“翻译”为网络世界使用的语言——二进制编码数据。大家可以试想一 下,人们需要通过计算机传输数据的形式千变万化、各式各样,有字母、数字、汉字、图片、 声音等。这些信息对于单一通过弱电流传输的计算机来说太过于“复杂”,因此这些人类方便 识别的信息被应用层通过各种特殊的编码过程转换成二进制数据。这就是上面所描述的“翻 译”过程,也是应用层在网络数据传输过程中最为核心的贡献。
(2)传输层传输过程
在传输层,上层数据被分割成小的数据段,并为每个分段后的数据封装 TCP 报文头部。 应用层将人们需要传输的信息转换成计算机能够识别的二进制数据后,这些数据往往都是海 量的。例如,一张高清晰的图片转换成二进制数据可能会有几百万位甚至几千万位,如此庞 大的数据一次性传输的话,一旦网络出现问题而导致数据出错就要重新传输,数据量过大会 加大出错的概率,最终可能会导致网络资源耗尽。因此,将数据先分割成小段再逐段传输, 一旦出现数据传输错误只需重传这一小段数据即可。 在 TCP 头部有一个关键的字段信息——端口号,它用于标识上层的协议或应用程序,确 保上层应用数据的正常通信。计算机是可以多进程并发运行的,左边的 计算机在通过 QQ 发送信息的同时也可以通过 IE 浏览器浏览右边主机的 Web 页面,对于右 边的主机就必须弄清楚左边主机发送的数据要对哪个应用程序实施通信。但是对于传输层而 言,它是不可能看懂应用层传输具体数据的内容的,因此只能借助一种标识来确定接收到的 数据对应的应用程序,这种标识就是端口号。
(3)网络层传输过程
在网络层,上层数据被封装上新的报文头部——IP 头部。值得注意的是,这里所说的上层数据包括 TCP 头部,也就是说,这里的上层是指传输层。对于网络层而言,它是“看不 懂”TCP 报文头部中内容的,在它看来,无论是应用层的应用数据,还是 TCP 头部信息都 属于上层数据。 在 IP 头部中有一个关键的字段信息——IP 地址,它是由一组 32 位的二进制数组成的, 用于标识网络的逻辑地址。回想刚才寄信的例子,我们在信封上填写对方的详细地址和本地 的详细地址,以保证收件人能够顺利收到信件。在网络层的传输过程与其很类似,在 IP 头 部中包含目标 IP 地址和源 IP 地址,在网络传输过程中的一些中间设备,如路由器,会根据 目标 IP 地址来逻辑寻址,找到正确的路径将数据转发到目的端。如果中间的路由设备发现 目标的 IP 地址根本是不可能到达的,它将会把该消息传回发送端主机,因此在网络层需要 同时封装目标 IP 和源 IP。
(4)数据链路层传输过程
在数据链路层,上层数据被封装一个 MAC 头部,其内部有一个关键的字段信息 ——MAC 地址,它由一组 48 位的二进制数组成。在目前阶段,我们先把它理解为固化在 硬件设备中的物理地址,具有全球唯一性。例如,之前讲解的网卡就有属于自己的唯一的 MAC 地址。和 IP 头部类似,在 MAC 头部也同时封装着目标 MAC 地址和源 MAC 地址。 其实,二层封装还涉及尾部的封装,考虑大家目前的学习层次,不再详述,后续会讲解相关 内容。
(5)物理层传输过程
无论在之前哪一层封装的报文头部还是上层数据信息都是由二进制数组成的,在物理 层,将这些二进制数字组成的比特流转换成电信号在网络中传输。
数据被封装完毕通过网络传输到接收方后,将进入数据的解封装过程,这将是封装过程 的一个逆过程,在物理层,首先将电信号转换成二进制数据,并将数据送至数据链路层。在数据链路层, 将查看目标 MAC 地址,判断其是否与自己的 MAC 地址吻合,并据此完成后续处理。如果 数据报文的目标 MAC 地址就是自己的 MAC 地址,数据的 MAC 头部将被“拆掉”,并将剩余 的数据送至上一层;如果目标 MAC 地址不是自己的 MAC 地址,对于终端设备来说,它将 会丢弃数据。在网络层与在数据链路层类似,目标 IP 地址将被核实是否与自己的 IP 地址相 同,从而确定是否送至上一层;到了传输层,首先要根据 TCP 头部判断数据段送往哪个应 用层协议或应用程序,然后将之前被分组的数据段重组,再送往应用层;在应用层,这些二 进制数据将经历复杂的解码过程,以还原发送者所传输的原始信息。
PDU
传输层将上层数据加上源和目的端口封装成数据段;网络层将上层数据加上源和目的IP地址封装成数据包;数据链路层将上层数据加上源和目的MAC地址封装成数据帧;物理层将上层数据信息比特流转化成电信号传输。
四.设备与层对应关系
如图所示:
应用层------计算机
传输层------防火墙
网络层------路由器
数据链路层------交换机
物理层------网卡
五.各层间通信
(1)发送主机按照之前讲解的内容进行数据封装,这里不再赘述。
(2)从发送主机物理网卡发出的电信号通过网线到达交换机,交换机将电信号转换成 二进制数据送往交换机的数据链路层。因为交换机属于数据链路层的设备,所以它将可以查 看数据帧头部的内容,但不会进行封装和解封装过程。(只转发)
(3)当路由器收到数据后,会拆掉数据链路层的 MAC 头部信息,将数据送达网络层, 这样 IP 头部信息就“暴露”在最外面了。路由器将检测数据包头部的目标 IP 地址信息,并根 据该信息进行路由过程,智能地将数据报文转发到下一跳路由器上,在转发前要重新封装新 的 MAC 头部信息,并将数据转换成二进制数。
(4)之后的过程就大同小异了,这里不再详细介绍。 从这个过程可以看出,数据在传输过程中不断地进行着封装和解封装的过程,中间设备 属于哪一层就在哪一层对数据进行相关的处理,以实现设备的主要功能。也正因如此,我们 称 TCP/IP 五层模型为“参考”模型,参考这五层模型可以帮助我们很好地研究网络中的设备 及设备工作过程中遵守的协议。