第22节 OSI7层模型和TCP/IP5层协议簇/栈——数据的封装和解封装过程

0 摘要

本节首先简要介绍了分层思想的目的,然后主要介绍了OSI7层模型和TCP/IP5层协议簇/栈,其次重点介绍了TCP/IP5层协议簇/栈中各层的功能以及如何完成数据的封装与解封装过程,最后补充介绍了TCP/IP5层协议簇/栈中各层的工作硬件及协议。

1 分层思想与模型简介

1.1 分层思想的目的

  • 目的:将复杂的流程分解为几个功能相对单一的子过程。
  • 优点 :(1) 整个过程更加清晰,复杂问题简单化;(2) 更容易发现问题并针对性地解决问题。
  • 分层思想的特点:(1)同层:同层使用相同的协议;(2)层间联系:下一层为上一层服务。

1.2 模型简介

(1)OSI7层模型

  • OSI:(Open System Interconnection)开放的通信系统互联参考模型。
  • 目的:为了降低协议的复杂性,1974年,ISO组织发布了OSI参考模型。
  • 特点:同层使用相同的协议;下一层为上一次提供服务。
  • 遗憾:从提出起并没有被采用。

(2)TCP/IP5层协议簇/栈

  • 来源:OSI7层模型中表示层、会话层应该有,但是协议数量较少,有点多余,因此最后被合并如应用层中,即应用层、表示层和会话层统称为应用层。TCP协议位于传输层IP协议位于网络层,由于这两个协议非常重要,因此命名为TCP-IP5层协议簇/栈
  • 与OSI7层模型生成的先后顺序:一般认为两者同时生成。由于在有模型前就有了协议,提出模型后,再把协议填进模型中。

(3)TCP/IP4层模型:将数据链路层和物理层合并为网络接口层,命名为TCP-IP4层模型,较为少用。
在这里插入图片描述
tips:
1)电脑可以完成整个OSI7层的工作,是个综合体,因此比较贵。
2)每天玩电脑涉及到的软件都处于应用层,如qq、微信、各种服务器(ftp、DHCP、DNS、WEB、telnet)。

2 数据的封装与解封装过程

在TCP/IP五层模型中,应用层、传输层和网络层统称为上三层,上三层是核心,有价值的数据和有价值的标识都在上三层中,而数据链路层和物理层只是网卡和网线,是为了让有价值的数据传输出去,即数据链路层和物理层是为了让上三层数据与世界接轨的接口。
(1)应用层:电脑中的软件(如qq、浏览器)属于应用层,也称为进程,只有应用层的软件才有端口号。应用层软件发送数据Hello。
(2)表示层:完成数据与二进制间的转换,如ASCII编码。
(3)会话层:提供会话管理,维持会话秩序,如排队机制等,保证应用层所产生的会话有序传到传输层。
(4)传输层

  • 功能:传输层主要完成进程到进程(如qq软件到qq软件,而不是到微信软件)的通信,是通过端口号来完成的。当数据传输到传输层,传输层会检查数据来自哪个软件,端口号多少,为数据加上TCP/UDP头(记录着源端口及目标端口号),而是加TCP头还是UDP头,看端口号是TCP端口还是UDP端口。
  • TCP头:提供可靠数据传输,保证数据一定传达到对方(面向连接服务(可类似打电话的过程):与对方建立连接,该连接有数据重传机制,能保证传输结果,速度慢),TCP头可能达到二三十字节。
  • UDP头:提供不可靠数据传输,不一定能保证数据传达到对方(无连接服务(可类似写信的过程),不能保证传输结果,速度快),UDP只有8个字节。
  • 协议:如TCP/UDP协议。

(5)网络层

  • 功能:完成点到点(电脑到电脑)之间的通信,为数据加上IP包头,IP包头中有许多东西,最重要的是源IP及目标IP。
  • 协议:如IP协议、ICMP协议、ARP协议。

(6)数据链路层

  • 功能:数据要发出去,需要发挥网卡的作用,网卡为IP包数据添加MAC子层(源MAC地址、目标MAC地址)、FCS(采用循环校验算法CRC(作用类似Hash)得到的帧校验序列,长度是固定值,是4个字节,是为了校验数据完整性的)。
  • 为什么要添加MAC子层:完成IP包头后,数据要发出去,需要先到交换机,交换机工作在数据链路层,一般不认识IP地址,只认识下两层协议如MAC地址。交换机是根据MAC地址来转发数据的。

(7)物理层:传送数字信号(用模数转换器/调制解调器可与模拟信号互转,用光电转换器可与光信号互转),如网线。
在这里插入图片描述

tips:

1)任何一个联网的软件都应该有开端口号,
2)发送qq消息时,回车的一瞬间,qq消息是发送到了qq服务器上,则目标端口号是指qq服务器的端口号,qq软件中有内置。
3)qq、微信目前用的是UDP,因为快,而qq密码不好盗是由于加密了。
4)一个字母一个字节,一个汉字两个字节。
5)网卡只识别数字信号。
6)一个数据流(比特流)是由若干个帧组成的。
7)一个电脉冲,称为一个比特,许多电脉冲组成数字信号(比特流)。整个IT业传输的最小单元是比特,8b(bit)=1B(Byte),运行商说的带宽一般为几Mb,而电脑的下载单位为B,凡是和厂家有关的,都是用b来计算的。
8)数字信号有自己独有的恢复能力。

3 各层工作硬件及协议

3.1 硬件

(1)硬件工作在某一层是指该硬件一般可完成该层及以下层的功能。
(2)网线、光纤、电话线、空气工作在物理层。
(3)网卡、交换机工作在数据链路层。
(4)若路由器只是针对IP地址做一些本职工作,则路由器工作在网络层,网络层以下那两层,它也会。
(5)有些古老的防火墙只能对IP做过滤,则工作在网路层;后来防火墙升级后可以对端口号进行过滤,但不可以对数据进行过滤,则工作在传输层;有些先进的防火墙还可以对数据进行过滤,则工作在应用层,目前应用层防火墙还处于研究阶段。
(6)手机、电脑、平板都是工作在应用层。
在这里插入图片描述
tips:
1)抓包软件其实是抓帧,抓从网卡出去或进来的帧,把这些帧复制出来分析。
2)对TCP/IP五层模型进行编号,从下往上编,物理层称为一层,数据链路层为二层,以此类推。

3.2 协议

在这里插入图片描述

  • 客户机与DNS服务器之间的互动,一律使用UDP53端口,而主DNS服务器与备份DNS服务器之间是使用TCP端口。
  • 比如,当有人问HTTP协议依赖于什么协议,HTTP协议依赖于TCP协议。
  • 只有IP协议能封装IP包头。
  • Ping命令使用ICMP协议,没有用到应用层、传输层。ICMP协议有网络探测、网络回馈和网络追踪等作用。

4 注意

(1)后期需要重点关注以qq通信为例,数据传输过程中的目标端口号,目标IP以及目标mac地址是指谁的。
(2)注意将数据封装与解封装过程及各层工作的硬件区分开,并不是说数据需要按顺序传输到这些硬件,只是说各个硬件工作在哪一层。
(3)各层详细工作内容及原理在后面课程再学习。

参考文献

[1]太厉害了,终于有人能把TCP/IP协议讲的明明白白了
[2] 第23节 OSI7层模型与TCP-IP5层协议簇/栈

猜你喜欢

转载自blog.csdn.net/m0_64378913/article/details/122312538