OSI网络七层协议

(Open System Interconnection Reference Model)是国际标准化组织(ISO)制定的计算机网络协议,用于定义和规范计算机网络体系结构。它将计算机网络划分为七个独立的层级,每个层级的任务和功能各不相同,但都互相关联和互依赖,以便实现与其他计算机系统的通信和数据传输

一、OSI七层协议

image-20230905081009282

每层运行常见设备:

image-20230905081024647

记忆口诀

物联网,传输应用(五层)
物联网传输,会话表示应用(七层)
物联网传话,表示应用(七层)

image-20230905081104298

网络七层协议用一张图表示,大概是这样的:

image-20230420154541988

  • 物理层
解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。
它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做bit
  • 数据链路层:
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。该层的主要功能就是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。
它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层的数据叫做帧。
#由单纯的电信号 0和1是有意义的吗?得规定多少位一组功能是定义了电信号的组成?
一组电信号构成一个数据包,数据包称作为'帧'
帧 分为报头(head)和 数据(data)
报头(head)
# 固定 18个字节
发送者/源地址 6个字节
接受者/目标地址 6个字节
数据类型 6个字节
独一无二的地址
MAC地址
00:0c:29:1c:fe:e9
前六位:厂商编号
后六位:流水号
# 数据
最短46个字节,最长1500个字节
帧 1518个字节
报头+数据 18+1500 1518个字节
  • 网络层:
计算机网络中如果有多台计算机,怎么找到要发的那台?如果中间有多个节点,怎么选择路径?这就是路由要做的事。
该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。
IP协议
规定网络地址的协议叫Ip协议,它定义的地址被称之为IP地址。广泛采用很暖和的IPv4 ,IPv6 由32位2进制组成
范围0.0.0.0~255.255.255.255
一个IP地址通常分为四段十进制数
172.16.10.1
# ip地址分为两部分(点分十进制)
网络部分:标识子网
主机部分:标识主机
#单纯的IP地址只是标记了IP地址的种类,网络部分和主机部分两个单看都无法识别一个独立IP
172.16.10.1 172.16.10.2 是否处在同一网段?
255.255.0.0 255.255.255.0
10.0.0.1 10.0.0.7
255.0.0.0 255.255.255.0
# 按位与运算
1&1=1
1&0=0
0&1=0
0&0=0
172.16.10.1 / 255.255.255.0
10101100 00010000 00001010 00000001   //十进制换二进制
11111111 11111111 11111111 00000000
# 10101100 00010000 00001010 00000000
172.16.10.2
10101100 00010000 00001010 00000010
11111111 11111111 00000000 00000000
# 10101100 00010000 00000000 00000000
## 运算结果对比,不同则不在同一网段
# 10101100 00010000 00000000 00000000
# 10101100 00010000 00001010 00000000
  • 传输层:
当发送大量数据时,很可能会出现丢包的情况,另一台电脑要告诉是否完整接收到全部的包。如果缺了,就告诉丢了哪些包,然后再发一次,直至全部接收为止。
简单来说,传输层的主要功能就是:监控数据传输服务的质量,保证报文的正确传输。
  • 会话层:
虽然已经可以实现给正确的计算机,发送正确的封装过后的信息了。但我们总不可能每次都要调用传输层协议去打包,然后再调用IP协议去找路由,所以我们要建立一个自动收发包,自动寻址的功能。于是会话层出现了:它的作用就是建立和管理应用程序之间的通信。
  • 表示层:
表示层负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。
  • 应用层:
应用层是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。

横向对比下TCP/IP4层模型、5层模型和OSI七层模型的差别:

image-20230905081118534