计算机网络 - OSI 七层模型

OSI 七层模型

OSI(Open System Interconnection,开放系统互联)模型由 ISO(国际标准化组织) 制定,目的是为不同计算机网络系统之间的通信提供一个标准化的框架。它将网络通信划分为 七个层次,每层都负责不同的功能,并与上下层进行交互。

OSI 模型的七层及其详细功能

层级名称功能常见协议/技术
第7层应用层(Application Layer)提供用户接口,实现特定网络应用HTTP、HTTPS、FTP、SMTP、POP3、Telnet、DNS
第6层表示层(Presentation Layer)数据格式转换、加密解密、压缩SSL/TLS、JPEG、MPEG、ASCII、EBCDIC
第5层会话层(Session Layer)负责建立、管理和终止会话NetBIOS、RPC、SMPP
第4层传输层(Transport Layer)端到端通信,数据流控制与错误检测TCP、UDP、SCTP、SPX
第3层网络层(Network Layer)IP寻址、路由选择IP、ICMP、ARP、RIP、OSPF、BGP
第2层数据链路层(Data Link Layer)物理寻址(MAC)、差错检测与校正以太网(Ethernet)、PPP、VLAN、HDLC、Frame Relay
第1层物理层(Physical Layer)传输比特流,定义硬件标准网线、光纤、无线电信号、蓝牙、调制解调器

详细解析各层功能

1. 物理层(Physical Layer)

  • 负责 数据的物理传输,通过传输介质(如双绞线、光纤、无线电波)传输比特流(0 和 1)。
  • 确定 传输速率、信号编码、传输模式(全双工/半双工)
  • 主要硬件设备:网线、光纤、交换机(物理层)、集线器(Hub)、无线信号发射器。

2. 数据链路层(Data Link Layer)

  • 负责在 同一链路上的直接设备间 进行数据帧传输。
  • 提供 物理寻址(MAC 地址)差错检测(CRC) 机制,确保数据帧完整传输。
  • 分为 两个子层
    • LLC(逻辑链路控制)子层:负责错误检测、流量控制。
    • MAC(媒体访问控制)子层:负责 MAC 地址管理,控制数据在网络中的传输。
  • 常见协议
    • 以太网(Ethernet)
    • PPP(点对点协议)
    • VLAN(虚拟局域网)

3. 网络层(Network Layer)

  • 负责数据包的 寻址路由选择,使数据能够跨多个网络传输。
  • 使用 IP 地址 进行逻辑寻址,每个设备都有唯一的 IP 地址。
  • 路由器 在该层工作,负责数据包的转发。
  • 常见协议
    • IP(Internet Protocol):提供 IP 地址寻址和数据包转发。
    • ICMP(Internet Control Message Protocol):用于错误检测(如 ping)。
    • ARP(Address Resolution Protocol):将 IP 地址转换为 MAC 地址。
    • RIP、OSPF、BGP:动态路由协议。

4. 传输层(Transport Layer)

  • 负责提供端到端通信,确保数据可靠传输。
  • 提供 流量控制数据分段错误校验
  • 主要协议
    • TCP(传输控制协议):面向连接、可靠传输,常用于 HTTP、FTP、SMTP。
    • UDP(用户数据报协议):无连接、快速传输,适用于实时应用(视频流、VoIP、DNS)。
    • SCTP(流控制传输协议):用于信令传输,支持多流数据传输。

5. 会话层(Session Layer)

  • 负责 建立、管理和终止会话(Session),保证数据的有序交互。
  • 例如:
    • 远程桌面(RDP)协议用于维持远程连接会话。
    • 视频会议软件使用会话层管理多用户连接。

6. 表示层(Presentation Layer)

  • 负责 数据格式转换、加密/解密、压缩,确保不同系统能正确解析数据。
  • 主要功能
    • 格式转换:如 ASCII → Unicode。
    • 加密解密:如 SSL/TLS 保护数据传输安全。
    • 数据压缩:如 JPEG、MP3、MPEG。

7. 应用层(Application Layer)

  • 直接与 用户交互,提供各种网络应用服务,如网页浏览、电子邮件、文件传输等。
  • 常见协议
    • HTTP/HTTPS(网页浏览)
    • FTP(文件传输)
    • SMTP/POP3/IMAP(邮件传输)
    • DNS(域名解析)

OSI 模型的特点

  1. 层次清晰:每一层只负责特定功能,使协议设计和维护更容易。
  2. 模块化设计:可以替换某一层的协议,而不会影响整个网络架构。
  3. 不同协议间的互操作性:提供标准化接口,确保不同厂商的设备能够通信。

OSI 模型 vs TCP/IP 模型

OSI 模型TCP/IP 模型说明
应用层(第7层)应用层OSI 的应用、表示、会话层合并为 TCP/IP 的应用层
表示层(第6层)-由应用层直接处理
会话层(第5层)-由应用层直接处理
传输层(第4层)传输层负责端到端通信,TCP、UDP
网络层(第3层)网络层负责寻址、路由,使用 IP、ICMP
数据链路层(第2层)网络接口层负责数据帧传输,包含 MAC、Ethernet
物理层(第1层)-TCP/IP 直接将其归入网络接口层

TCP/IP 是目前实际应用的主要网络协议,而 OSI 主要作为理论模型指导网络协议的设计。

总结

  • OSI 七层模型是网络通信的 标准化框架,分为 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
  • 低三层(物理、数据链路、网络层) 负责数据传输,高三层(会话、表示、应用层) 负责数据交互,传输层 连接上下层。
  • OSI 主要用于理论指导,而 TCP/IP 是实际应用的标准协议。

(完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42747.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 学习路线推荐

文章目录 一、基础语法学习1.学习资源2.学习建议 二、数据处理与分析方向1. 数据处理库学习学习资源实践示例 2. 数据可视化实践示例 三、Web 开发方向1. Web 框架选择与学习学习资源实践示例 2. 前端知识补充学习资源 四、人工智能与机器学习方向1. 机器学习基础学习资源实践示…

如何让DeepSeek-R1在内网稳定运行并实现随时随地远程在线调用

前言:最近,国产AI圈里的新星——Deepseek,简直是火到不行。但是,你是不是已经对那些千篇一律的手机APP和网页版体验感到腻味了?别急,今天就带你解锁一个超炫的操作:在你的Windows电脑上本地部署…

SpringCloud+Mybatis-Plus+Docker+RabbitMQ+Redis+Elasticsearch黑马商城

一.MyBatis—Plus 一.快速入门 MybatisPlus介绍:MybatisPlus是一个基于Mybatis的增强工具库,旨在简化开发、提升效率,同时保留Mybatis的灵活性。它在Mybatis的基础上只做增强不做改变,引入它不会对现有工程产生影响 官网&#…

01 相机标定与相机模型介绍

学完本文,您将了解不同相机模型分类、内参意义,及对应的应用代码模型 标定的意义 建模三维世界点投影到二维图像平面的过程。标定输出的是相机模型。 相机模型 相机模型可以解理解为投影模型 +

如何在 Postman 中正确设置 Session 以维持用户状态?

在 Postman 里面设置有 session 的请求。如果你还不知道什么是 session,那么请看这里—— session 是一种记录客户端和服务器之间状态的机制,用于保持用户的登录状态或者其他数据,从而让用户在不同页面之间保持一致的体验。 Postman 设置带 …

免费使用!OpenAI 全量开放 GPT-4o 图像生成能力!

2025年3月26日,OpenAI正式推出GPT-4o原生图像生成功能,这一更新不仅标志着多模态AI技术的重大突破,更引发了全球AI厂商的激烈竞争。从免费用户到企业开发者,从创意设计到科学可视化,GPT-4o正在重塑图像生成的边界。本文…

【JavaScript】八、对象

文章目录 1、对象的声明2、对象的使用3、对象中的方法4、遍历对象5、内置对象Math 1、对象的声明 一种数据类型,使用typeof查看类型,结果是object可以详细的描述描述某个事物 声明语法: // 多用花括号形式声明 // 比如声明一个person对象 …

C++指针(五)完结篇

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 前言 相关文章:C指针(一)、C指针(二)、C指针(三)、C指针(四)万字图文详解! 本篇博客是介…

DataGear 企业版 1.4.0 发布,数据可视化分析平台

DataGear 企业版 1.4.0 已发布,欢迎体验! http://datagear.tech/pro/ 企业版 1.4.0 看板可视编辑模式新增了插入看板表单/面板布局、编辑图表联动、复制/粘贴、撤销/恢复等功能,具体更新内容如下: 新增:看板可视编辑…

windows第十八章 菜单、工具栏、状态栏

文章目录 创建框架窗口菜单菜单的风格通过资源创建菜单菜单的各种使用通过代码创建菜单在鼠标位置右键弹出菜单 CMenu常用函数介绍工具栏方式一,从资源创建工具栏方式二,代码创建 状态栏状态栏基础创建状态栏 创建框架窗口 手动创建一个空项目&#xff…

局域网共享失败?打印机/文件夹共享工具

很多时候,在办公或家庭环境中,我们需要进行打印机和文件夹的共享,以便更高效地协作和处理文件。然而,寻找对应版本的共享设置或是不想花费太多时间去进行复杂的电脑设置,总是让人感到头疼。今天,我要向大家…

C++中使用CopyFromRecordset将记录集拷贝到excel中时,如果记录集为0个,函数崩溃,是什么原因

文章目录 原因分析解决方案1. 检查记录集是否为空2. 安全调用COM方法3.进行异常捕获4. 替代方案:手动处理空数据 总结 在C中使用CopyFromRecordset将空记录集(0条记录)复制到Excel时崩溃的原因及解决方法如下: 原因分析 空记录集…

torchvision中数据集的使用

1、torchvision及其数据集的介绍 1.1 torchvision介绍 torchvision 是 PyTorch 的一个官方库,专门用于计算机视觉任务。它提供了以下核心功能: 预训练模型:如 ResNet、VGG、EfficientNet 等。数据集:内置常用视觉数据集&#xf…

d2025328

一、sql-判断三角形 610. 判断三角形 - 力扣&#xff08;LeetCode&#xff09; 用一下if加上判断条件 select x,y,z,if(xy > z and xz > y and yz > x and x-y < z and x-z < y and y-z < x,Yes,No) as triangle from Triangle 二、按照分类统计薪水 190…

C++20新特性:std::assume_aligned详解

文章目录 一、概述二、函数定义与语法三、使用方法与注意事项1. 使用方法2. 注意事项 四、性能优化原理五、实际应用场景六、编译器支持情况七、总结 一、概述 C20引入了std::assume_aligned&#xff0c;这是一个非常实用的特性&#xff0c;用于告知编译器某个指针所指向的对象…

洛谷P1706 全排列题解

P1706 全排列问题 题目描述 按照字典序输出自然数 1 1 1 到 n n n 所有不重复的排列&#xff0c;即 n n n 的全排列&#xff0c;要求所产生的任一数字序列中不允许出现重复的数字。 输入格式 一个整数 n n n。 输出格式 由 1 ∼ n 1 \sim n 1∼n 组成的所有不重复的…

yum install 报错(CentOS换源):

yum instally yum utils device mapper persistent-data lvm2 报错&#xff1a; 排查错误原因&#xff1a;centos7 系统停止维护了 解决方案&#xff1a;换源&#xff08;更换操作系统&#xff09; //1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-…

C语言学习笔记(抱佛脚版)

毕业一年&#xff0c;发现记性是真的差&#xff0c;每次想起之前的知识总是想不全&#xff0c;看别人写的资料也懵懵懂懂。于是我索性自己再学一遍&#xff0c;并且记录一下。希望对你们也有所帮助。 正片开始&#xff01; 前面的什么if for都不难理解&#xff0c;嵌套的话也…

攻破tensorflow,勇创最佳agent(2)---损失(loss) 准确率(accuracy)问题

实战播: 怎么判定一个模型好不好,你设置的值对不对? 需要再看几个值: 例如: model Sequential()for units in model_structure:model.add(Dense(units, activationrelu))model.add(Dropout(train_config.get(dropout_rate, 0.3)))model.add(Dense(1, activationsigmoid)) 他…

Docker-Volume数据卷详讲

Docker数据卷-Volume 一&#xff1a;Volume是什么&#xff0c;用来做什么的 当删除docker容器时&#xff0c;容器内部的文件就会跟随容器所销毁&#xff0c;在生产环境中我们需要将数据持久化保存&#xff0c;就催生了将容器内部的数据保存在宿主机的需求&#xff0c;volume …