缔造网络世界的奇迹:OSI参考模型的魔力之旅

一 OSI参考模型

1.1 OSI参考模型简介

  • OSI(Open Systems Interconnection)参考模型是一个用于描述计算机网络功能和模块化分层的框架。它由国际标准化组织(ISO)在20世纪80年代初定义,并在计算机网络领域广泛使用。

  • OSI参考模型定义了计算机网络中不同层次的功能和通信协议,每个层次都构建在下一个更低层的基础上。它将网络通信过程分解为七个不同的层次,每个层次都有特定的功能和任务。


1.2 OSI参考模型的下特性和优点

概述 说明
模块化分层结构 OSI参考模型将网络通信分解为七个不同的层次,每个层次都有特定的功能。这种模块化结构使得网络的设计、维护和升级更加灵活和可靠,可以单独处理每个层次的问题,而不会影响其他层次。
标准化协议 每个层次都有自己的协议,这些协议是通过标准化组织(如ISO)制定的。标准化协议使得不同厂商的设备和系统可以相互通信和互操作,避免了封闭的网络环境。
开放性和可扩展性 OSI参考模型是开放的,可以根据需要添加新的层次或修改现有层次。这种可扩展性使得网络可以适应不断变化的技术和需求,保持了其长期可持续发展的特性。
简化故障排查 由于每个层次都有明确定义的功能和任务,当网络出现故障时,可以更容易地定位并解决问题。可以按层次逐步进行故障排查,而不需要检查整个网络。
提供了概念化框架 OSI参考模型提供了一个概念化框架,用于描述和理解计算机网络的功能和架构。它为网络专业人员提供了一种共同的语言和思维方式,有助于更好地理解网络的工作原理和设计原则。
促进标准化和互操作性 OSI参考模型的设计鼓励制定标准化协议和接口,以确保不同厂商的设备和系统可以互相工作。这样可以带来更多的选择,促进了通信市场的竞争和创新,同时也提高了网络的互操作性和可扩展性。

1.3 OSI参考模型的层次结构

OSI参考模型自下而上的七个层次

  1. 物理层(Physical Layer):定义物理介质上的原始比特流传输,包括电压、电缆接口、光纤等。

  2. 数据链路层(Data Link Layer):提供对物理层的控制,检查并纠正可能出现的错误,并进行流量控制。

  3. 网络层(Network Layer):决定传输包的最佳路径,通过路由选择协议选择路由

  4. 传输层(Transport Layer):提供端到端的数据传输和可靠性保证,包括数据的分段和重新组装、差错检测和纠正。

  5. 会话层(Session Layer):管理不同应用程序之间的通信会话,并协调数据交换的顺序和速率。

  6. 表示层(Presentation Layer):负责数据的格式转换、加密解密、数据压缩和解压缩等,以确保数据能够正确地解释和解析。

  7. 应用层(Application Layer):为用户提供网络应用服务,例如电子邮件、文件传输和远程登录等。

  • 每个层次都有自己的协议和功能,它们共同工作以实现端到端的数据通信。使用OSI参考模型可以使不同厂商的设备和系统能够互操作,并且在网络设计、故障排除和性能优化方面提供了一种标准化的方法。
    在这里插入图片描述

1.4 OSI参考模型层次间的关系以及数据封装

  • 在数据通信网络领域中,PDU(Protocol Data Unit,协议数据单元)泛指网络通信对等实体之间交换的信息单元,包括用户数据信息和协议控制信息等。

  • 在OSI术语中,每一层传送的 PDU均有其特定的称呼。

    • 应用层数据称为APDU(Application Protocol Data Unit,应用层协议数据单元)
    • 表示层数据称为PPDU(Presentation Protocol Data Unit,表示层协议数据单元)
    • 会话层数据称为SPDU(Session Protocol Data Unit,会话层协议数据单元)
    • 传输层数据称为段(Segment)
    • 网络层数据称为数据包(Packet)
    • 数据链路层数据称为帧(Frame)
    • 物理层数据称为比特(bit)。
  • 在OSI参考模型中,终端主机的每一层都与另一方的对等层次进行通信,但这种通信并非直接进行的,而是通过下一层为其提供的服务来间接与对端的对等层交换数据。下一层通过服务访问点(Service Access Point,SAP)为上一层提供服务。
    在这里插入图片描述

  • 封装(Encapsulation)是指网络节点将要传送的数据用特定的协议打包后传送。 多数协议是通过在原有数据之前加上封装头(Header)来实现封装的,一些协议还要在数据之后加上封装尾(Trailer),而原有数据此时便成为载荷(Payload)。

  • 在发送方一层都对上层数据进行封装,以保证数据能够正确无误地到达目的地;而在接收方,每一层又对本层的封装数据进行解封装,并传送给上层,以便数据被上层所理解。
    在这里插入图片描述
    OSI参考模型中数据的封装和解封装过程:

  • 首先,源主机的应用程序生成能够被对端应用程序识别的应用层数据;

  • 然后数据在表示层加上表示层头,协商数据格式,是否加密,转化成对端能够理解的数据格式;数据在会话层又加上会话层头;以此类推,传输层加上传输层头形成段,网络层加上网络层头形成包,数据链路层加上数据链路层头形成帧;在物理层数据转换为比特流,传送到网络上。

  • 比特流到达目的主机后,也会被逐层解封装。首先由比特流获得帧,然后剥去数据链路层帧头获得包,再剥去网络层包头获得段,以此类推,最终获得应用层数据提交给应用程序。

二 OSI参考模型的层次结构详解

2.1 物理层

  • 物理层是OSI参考模型的第一层,其功能是在终端设备间传输比特流。物理层并不是指物理设备或物理媒介,而是有关物理设备通过物理媒体进行互连的描述和规定。
  • 物理层协议定义了通信传输介质的物理特性。
    • 机械特性:说明接口所用接线器的形状和尺寸,引线数目和排列等
    • 电气特性:说明在接口电缆的每根线上出现的电压、电流范围
    • 功能特性:说明某根线上出现的某一电平的电压表示何种意义
    • 规程特性:说明对不同功能的各种可能事件的出现顺序
  • **物理层以比特流的方式传送来自数据链路层的数据,而不理会数据的含义或格式。**它接收数据后直接传给数据链路层,不能理解所处理的比特流的具体意义。

常见物理层的传输介质:

  1. 双绞线是一种在局域网上最为常用的电缆线。每一对双绞线由一对绝缘铜线缠绕而成【有效抗干扰】。双绞线分为屏蔽双绞线(Shielded Twisted Pair,STP)和非屏蔽双绞线(Unshielded Twisted Pair,UTP)。
  2. 光纤是另外一种网络传输介质,不受电磁信号的干扰。光纤由玻璃纤维和屏蔽层组成,传输速率高,且传输距离远。但是光纤比其他介质更昂贵。
  • 中继器、集线器都是典型的局域网物理层设备
  • 调制解调器就是一种常见的广域网物理层设备

2.2 数据链路层

  • 数据链路层的目的是负责在某一特定的介质或链路上传递数据。因此数据链路层协议与链路介质有较强的相关性,不同的传输介质需要不同的数据链路层协议给予支持。
    数据链路层的主要功能
  1. 帧同步:编帧和识别帧。物理层只发送和接收比特流,而并不关心这些比特的次序、结构和含义;而在数据链路层,数据以帧为单位传送,需要链路层将比特编成帧,接收方需要链路层能从接收到的比特流中明确地区分出数据帧起始与终止的地方。
  2. 数据链路的建立、维持和释放:当网络中的设备要进行通信时,通信双方有时必须先建立一条数据链路,在建立链路时需要保证安全性,在传输过程中要维持数据链路,而在通信结束后要释放数据链路。
  3. 传输资源控制:在一些共享介质上,多个终端设备可能同时需要发送数据,此时必须由数据链路层协议对资源的分配加以裁决。
  4. 流量控制:为了确保正常地收发数据,防止发送数据过快,导致接收方的缓存空间溢出,网络出现拥塞,就必须及时控制发送方发送数据的速率。数据链路层控制的是相邻两节点之间数据链路上的流量。
  5. 差错控制:由于比特流传输时可能产生差错,而物理层无法辨别错误,所以数据链路层协议需要以帧为单位实施差错检测。最常用的差错检测方法是 FCS(Frame CheckSequence,帧校验序列)。
  6. 寻址:数据链路层协议应该能够标识介质上的所有节点,并且能寻找到目的节点,以便将数据发送到正确的目的地。
  7. 标识上层数据:数据链路层采用透明传输的方法传送网络层包,它对网络层呈现为一条无错的线路。为了在同一链路上支持多种网络层协议,发送方必须在帧的控制信息中标识载荷(即包)所属的网络层协议,这样接收方才能将载荷提交给正确的上层协议来处理。

为了在对网络层协议提供统一的接口的同时对下层的各种介质进行管理控制,局域网的数据链路层又被划分为LLC(Logic Link Control,逻辑链路控制)和 MAC(Media AccessControl,介质访问控制)两个子层

  • IEEE的数据链路层标准是当今最为流行的LAN 标准。
  • 我国应用最为广泛的LAN标准是基于IEEE 802.3的以太网标准。以太网交换机就是一种典型的数据链路层设备。
  • 帧中继是一种交换式的数据链路协议。

2.3 网络层

  • 网络层数据的传送单位是网络层的任务就是要选择合适的路径并转发数据包,使数据包能够正确无误地从发送方传递到接收方。
  • 网络层的主要功能:编址、路由选择、拥塞控制、异种网络互联
  • 网络层处于传输层和数据链路层之间,它负责向传输层提供服务,同时负责将网络地址翻译成对应的物理地址。

2.3.1 网络层地址

  • 网络层地址存在于网络层,是对通信节点的标识,也是数据在网络中进行转发的依据
  • 不同的网络层协议具有不同的地址格式。
    • IP地址由4个字节组成,通常用点分十进制数字表示。
    • IPX地址由10个字节组成,其中前4个字节代表网络地址,后6个字节代表主机地址,通常用十六进制数字表示。
      在这里插入图片描述
  • 网络层地址通常具有层次化结构,以便将一个巨大的网络区分成若干小块,以便寻址和管理。一种常见的方法是将网络层地址分为“网络地址”和“主机地址”。
  • 网络层地址通常是由管理员从逻辑上分配的,因此也称为逻辑地址。为了唯一地标识通信节点,任何一个网络层地址在网络中应该是唯一的。

2.3.2 路由协议与可路由协议

在这里插入图片描述

  1. 路由协议(Routing Protocol):指用于在网络中确定数据包传输路径的协议。它的主要作用是根据网络拓扑信息和路由策略,为数据包选择最佳的传输路径。常见的路由协议包括RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol)等。路由协议使得网络中的路由器能够相互交换路由信息,建立路由表,并根据路由表来转发数据包。

  2. 可路由协议(Routable Protocol):指能够在网络中进行路由选择的网络协议。它是指能够通过路由器进行跨网络通信的协议。常见的可路由协议包括IP(Internet Protocol)、IPv4、IPv6等。可路由协议定义了数据包的格式和传输规则,使得数据包能够在网络中进行传输和路由选择。

  • 总结来说:
    • 路由协议是用于在网络中确定数据包传输路径的协议,而可路由协议是指能够通过路由器进行跨网络通信的协议。
    • 路由协议是网络中路由器之间交换路由信息的协议,而可路由协议是数据包在网络中传输和路由选择的协议。

2.3.3 面向连接和无连接服务

  • 面向连接的服务进行通信时,两个实体在通信前首先要建立连接,而在通信完成后释放连接。当被叫用户拒绝连接时,连接宣告失败。在建立连接阶段,有关的服务原语以及协议数据单元中,必须给出源主机和目的主机的地址,建立虚链路连接;在数据传输阶段,可以使用一个连接标识符来表示上述这种连接关系。
  • 面向连接的服务提供可靠的报文序列服务。面向连接的服务比较适用于在一定时间内向同一个目的地发送很多报文的情况,对于短报文数据的发送而言,面向连接的服务显得开销过大。

  • 无连接服务中,两个实体之间的通信不需要先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留,这些资源是在数据传输时动态地进行分配的。

  • 无连接服务提供尽力而为(Best-effort)服务,即网络以当前拥有的资源尽力转发报文,但并不保证确切的服务质量

  • 无连接服务的特征是不需要通信的两个实体同时处于激活状态,而只需要正在工作的实体处于激活状态。它的优点是灵活方便和比较迅速,但无连接服务不能防止报文的丢失、重复或失序,因此它比较适合传送少量的、零星的报文。

2.3.4 网络层协议操作

在这里插入图片描述

2.4 传输层

  • 传输层的功能是为会话层提供无差错的传送链路,保证两台设备间传递信息的正确无误,传输层传送的数据单位是段
  • 传输层从会话层接收数据,并传递给网络层,如果会话层数据过大,传输层将其切割成较小的数据单元—段进行传送
  • 传输层的一个重要工作是差错校验和重传
  • 为了避免发送速度超出网络或接收方的处理能力,传输层还负责执行流量控制(FlowControl),在资源不足时降低流量,而在资源充足时提高流量。

2.5 会话层

  • 会话层是利用传输层提供的端到端服务,向表示层或会话用户提供会话服务。会话层建立会话关系,并保持会话过程的畅通,决定通信是否被中断以及下次通信从何处重新开始发送。如果传输在低层偶尔中断,会话层将努力重新建立通信。

2.6 表示层

  • 表示层负责将应用层的信息“表示”成一种格式,让对端设备能够正确识别,它主要关注传输信息的语义和语法。
  • **在表示层,数据将按照某种一致同意的方法对数据进行编码,以便使用相同表示层协议的计算机能互相识别数据。**例如,一幅图像可以表示为JPEG格式,也可以表示为BMP格式,如果对方程序不识别本方的表示方法,就无法正确显示这幅图片。
  • 表示层还负责数据的加密和压缩。

2.7 应用层

  • 应用层是OSI的最高层,它直接与用户和应用程序打交道,负责对软件提供接口以使程序能使用网络服务。网络服务包括文件传输、文件管理、电子邮件的消息处理等。
  • 必须强调的是应用层并不等同于一个应用程序。例如,在网络上发送电子邮件,用户的请求就是通过应用层传输到网络的。

猜你喜欢

转载自blog.csdn.net/yang2330648064/article/details/131540828