OSI模型

OSI模型,即开放系统互连模型(Open Systems Interconnection Model),是一个分层网络架构模型,用于标准化网络通信并促进不同系统之间的互操作性。该模型由国际标准化组织(ISO)在1984年提出,共分为七层,每层都有特定的功能和职责。以下是对OSI模型的详细说明和每一层的主要功能:

一 、OSI七层模型

  • 所有网络设备: 物理层、数据链路层、网络层
  • 主机 :传输层、会话层、表示层、应用层

1、物理层(Physical Layer):

  • 功能: 负责在物理媒体上传输原始的比特流。涉及硬件设备,如网卡、集线器、电缆、连接器等。
  • 职责: 定义硬件接口和传输介质的物理特性,包括电压、电缆规格、传输速率、信号时序等。指定连接器、数据速率和如何在某些介子上进行位编码。本层也描述低层的差错检测和纠正、频率分配。
  • 功能: 负责节点之间的可靠数据传输。分为逻辑链路控制(LLC)子层和介质访问控制(MAC)子层。
  • 职责: 提供帧的组装和拆解、物理地址寻址、错误检测与纠正、流量控制。指定经过单一链路通信的方法,包括多个系统共享同一介质时的"介质访问"控制协议。

3、网络层(Network Layer):

  • 功能: 负责在不同的网络之间传输数据包,并选择最优路径。
  • 职责: 提供逻辑地址寻址(IP地址)、路由选择、数据包的分片与重组、拥塞控制。指定经过潜在不同类型链路层网络的多跳通信方法。

4、传输层(Transport Layer):

  • 功能: 提供端到端的通信服务,确保数据完整传输。
  • 职责: 提供可靠的连接(TCP)和不可靠的连接(UDP)、端口寻址、错误检测与恢复、流量控制。指定运行在相同计算机系统中的多个程序之间的链接或关联的方法。

5、会话层(Session Layer):

  • 功能: 管理会话建立、维护和终止,确保数据交换的顺序和同步。
  • 职责: 会话管理、对话控制、会话恢复。指定由多个连接组成一个通信会话的方法。

6、表示层(Presentation Layer):

  • 功能: 负责数据的语法和语义转换,确保不同系统之间的数据格式一致。
  • 职责: 数据格式化、加密解密、数据压缩解压。指定针对应用的数据表示格式和转换规则的方法。

7、应用层(Application Layer):

  • 功能: 为应用程序提供网络服务接口,支持各种网络应用。
  • 职责: 提供常见网络服务(如HTTP、FTP、SMTP、DNS等)、用户认证、数据传输管理。指定完成某些用户初始化任务的方法。

二、分层实现中的复用、分解和封装

在分层实现中,复用(multiplexing)、分解(demultiplexing)和封装(encapsulation)是关键的概念,特别是在网络通信领域。这些概念帮助理解如何在不同层次间有效传递信息和功能。以下是它们的具体解释和应用:

1、复用(Multiplexing)

  • 定义: 复用是指将多个独立的数据流或信号合并到一个共享的通道或媒介中,以便在传输或处理过程中有效地共享资源。
  • 应用:
       在网络通信中: 在网络传输层(如TCP协议),复用允许多个应用程序的数据流通过单个连接进行传输,以提高网络资源利用率。

2、分解(Demultiplexing)

  • 定义: 分解是指根据特定的标识或地址,从复用的通道或媒介中将多个数据流或信号分开。
  • 应用:
       在网络通信中: 在接收端,网络协议根据目标端口号(在传输层)或目标地址(在网络层)来分解接收到的数据包,将其分配给正确的应用程序或目标设备。

3、封装(Encapsulation)

  • 定义: 封装是将数据或功能包装在特定的协议格式或数据结构中,以便在不同的层次间传递和处理。
  • 应用:
       在网络通信中: 在发送端,数据在经过各层处理后被封装成数据包或帧,每一层添加相应的协议头(或标头),形成完整的协议数据单元(PDU),以便在网络中传输。

4、应用实例

  • 网络通信: 例如,在TCP/IP协议中,数据在传输层被封装成TCP段或UDP数据报,然后在网络层被封装成IP数据包,最终在物理层转换成比特流传输。
相关推荐
无所谓จุ๊บ37 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
道法自然04021 小时前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
EasyCVR2 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
明月看潮生2 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
龙哥说跨境3 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我4 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023914 小时前
06 网络编程基础
java·网络
海绵波波1075 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
热爱跑步的恒川8 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
云飞云共享云桌面9 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络