网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

ISO-OSI模型的运作方式

更新时间:2026年03月27日   作者:spoto   标签(Tag):

ISO-OSI(国际标准化组织——开放系统互连)指出,应该将那些相互关联的功能归为一组。
在OSI模型中,为了实现有效的通信,那些具有重要作用的功能可以分为两类:
强制性职能: 
在这里,这些函数的实现是必不可少的,也就是说,为了实现有效的通信,这些函数必须被实现。

(i) Error Control
(ii) Flow Control
(iii) Access Control
(iv) Multiplexing and De-Multiplexing
(v) Addressing, etc. 


2. 可选功能: 
在这里,这些函数的实现是可选的,也就是说,这些函数的实现并不是必须的。

(i) Encryption/ Decryption
(ii) Check Pointing.
(iii) Routing, etc. 

路由是可选的。即便使用泛洪方式,我们仍然可以在计算机网络中维持正常的通信。
现在,我们来解释一下为什么ISO-OSI模型建议将功能相似的功能归为同一组。实际上,我们需要不同的层次结构来实现高效的路由处理,这就是原因所在。

  1. 每一层都可以实现类似的功能,同时,每一层也可以执行一些特定的任务。
  2. 此外,这种方法还有助于将那些在类似函数中共同使用的所有变量进行分组。这样一来,这些变量就可以被集中存储在一个层中,而不会分散到各个层中(这其实是一种封装方式)。
  3. 现在,由于每一层都负责执行特定的任务,因此我们只能关注于自己负责的层,而无法了解底层层的实现方式(这其实是一种抽象处理)。
    简单来说,我们只需关注从某个层获得的输出结果,而无需关心获取该输出的具体方式。
  4. 这有助于测试工作,因为这样每一层都可以单独进行测试。这样一来,如果发现任何错误的话,就能更容易地找到问题所在。
     

现在,让我们来看看ISO-OSI模型中的各个层次:

1. Application Layer
2. Presentation Layer
3. Session Layer
4. Transport Layer
5. Network Layer
6. Data link Layer
7. Physical Layer 


前三层通常都是为特定用户而设计的。
1. 物理层: 
它涉及到如何将以比特形式存在的我们的数据转换为各种信号,以及这些信号如何在路由器与主机之间传输。
它处理的概念包括:–

  • 传输方式/过程这意味着,该设备能够处理单工、半双工以及全双工通信方式。
  • 拓扑学——它决定了网络的拓扑结构。例如:总线拓扑、星形拓扑、环形拓扑等。
  • 编码 –它决定了应该使用哪种编码方式,将0和1转换为电信号,然后通过信道进行传输。
     

2. 数据链路层: 
数据链路层的主要功能包括:–

  • 流量控制 –实际上,流量控制指的是发送方的数据传输速率应该与接收方能够接收和处理数据的速率相协调。如果这种平衡得不到维持,那么数据包就会丢失。流量控制还有助于确定我们如何处理那些丢失的数据包。
    它指明了应该使用哪些流量控制方式(S&W、GBN还是SR)。
  • 错误控制 –在这里,实现了一些有助于错误检测的功能。同时,这里还实现了CRC(循环冗余校验)算法,用于检测错误。
  • 框架/结构 -这项任务就是将来自上层的数据包(即网络层的数据包)封装成帧后发送出去。这些帧都带有SFD(起始帧分隔符),它用于提醒路由器有新的数据包即将到达。此外,当使用可变长度帧时,这些数据包还可能包含ED(结束分隔符),以表明该数据包已经传输完毕。


为了实现这一目标,采用了以下两种策略:角色填充法和位填充法。
数据链路层本身被分为两个部分:

  1. LLC(逻辑链接控制) -主要处理流量控制和错误控制相关的问题。
  2. 媒体访问控制(Medium Access Control) -它涉及了框架设计、访问控制方法、错误控制(是的,它也包含这些内容),以及物理地址的分配。

3. 网络层: 
这一层负责处理不同主机之间的连接问题,也就是说,这一层关注的是如何将数据包无误地从一个主机传输到另一个主机。这一层使用了“逻辑地址”机制,而这种地址方式是互联网上每台设备的独特标识。
此外,它还负责将数据包切换到目标主机。数据包的切换是通过使用路由表来实现的。
 


该层还负责执行拥塞控制任务。
最重要的是,这一层还必须具备以下功能:碎片化当数据包需要通过一个具有较小MTU(最大传输单元)的网络进行传输时,就会发生分片现象。因此,为了能够成功地将数据包通过该网络传输,这些数据包会被分片处理。
4. 传输层: 
这一层负责处理端到端的连接问题,因此这一层对于数据包能够准确到达目标端口来说非常重要。网络层会负责将数据包传递给主机,而传输层则负责确保数据包能够顺利到达指定的端口。
传输层的其他功能包括流量控制(使用SR协议)、错误控制、分段、多路复用与解复用,以及拥塞控制。
5. 会话层: 
主要处理的内容包括:

  • 认证与授权
  • 检查点技术
  • 同步
  • 操作的逻辑分组(即,所有操作或全部不执行操作)

6. 表示层: 
这一层主要处理以下内容:

  • 加密与解密
  • 压缩

现在,我们已经了解了这些重要层的功能。 现在,让我们来看看它的具体运作方式吧。 假设我们希望使用GfG(GeeksforGeeks)这个平台。 然后,当我们开始发送数据的时候,数据会经过初始层(应用层)之后,最终到达传输层。在传输层,源地址和目的地址会被添加到数据包中。 然后,该数据包会被传递给网络层。在这个层次上,网络层会添加源地址和目的地址,这样就能实现发送方与接收方之间的正确通信了。
之后,该数据包会被传递到数据链路层,在那里,源地址和目的地址会被添加到数据包中。
现在需要特别注意的一点是:最初,从逻辑上讲……进行与运算我们试图找到的子网掩码和目标IP地址,这些信息可以帮助我们确定目标网络的相关信息。如果路由表中没有相关的条目,那么我们就使用默认网关的MAC地址作为目标MAC地址。此时,主机会发送ARP请求,以获取路由器的MAC地址。
ARP(地址解析协议)请求,就像是在请求对方发送一个MAC地址,而这个MAC地址的IP地址就是所要求的那个IP地址。
在数据链路层,有时也会进行分片处理,这样数据包就能适应网络的MTU限制(如前所述)。
 


在所有这些数据包被传递给物理层之后,它们就会开始被传输。
当数据包到达路由器时(该路由器的MAC地址已写入数据包中),路由器会接受该数据包,然后移除数据包中的头部信息。之后,路由器会将数据包传递给网络层,在那里,路由器会通过检查数据包中的目标IP地址来判断该数据包是发给自己的还是其他人的。接着,路由器会再次执行上述DLL过程。这个过程会一直重复下去,直到数据包到达目标网络为止。
当数据包到达目的地后,Host的DLL会移除数据包中的头部信息,然后将数据包交给NL。此时,NL会确认该数据包确实是发给自己的。因此,数据会被传输到Host指定的端口上。最后,当传输层成功接收到数据包后,它会向Host发送一个确认消息,表示数据包已成功送达。这个确认消息的传递过程与上述步骤完全一致。
路由器的数据链路层在接收到数据包后也会给予确认。
 

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料