计算机网络 - 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.mzph.cn/web/73671.shtml

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

相关文章

flutter-实现瀑布流布局及下拉刷新上拉加载更多

文章目录 1. 效果预览2. 结构分析3. 完整代码4. 总结 1. 效果预览 在 Flutter 应用开发中,瀑布流布局常用于展示图片、商品列表等需要以不规则但整齐排列的内容。同时,下拉刷新和上拉加载更多功能,能够极大提升用户体验,让用户方…

在 Ubuntu 下通过 Docker 部署 Nginx 服务器

1. Docker 和 Nginx 简介以及实验环境 Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成一个轻量级的、可移植的容器。通过 Docker,开发者可以在任何支持 Docker 的环境中运行应用,从而实现一致的开发和生产环境。Docke…

IoT平台实时监测机器人状态的实现方案

通过IoT平台实时监测机器人状态的实现方案与可执行路径 一、整体架构设计 #mermaid-svg-6xMlDfFSZM4Wc8tA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6xMlDfFSZM4Wc8tA .error-icon{fill:#552222;}#mermaid-sv…

mybatis里in关键字拼接id问题

我们一般会把ids集合用StrUtil.join(‘,’)转成"1,2,3"这种形式 然后放入in中 我们会这么写: select id, nick_name, icon from tb_user where id in (#{ids}) order by FIELD(id, #{ids})结果发现sql执行是这样的: select id, nick_name, icon from tb_user where…

4.用 Excel 录入数据

一 用 Excel 录入数据的两种方式 用鼠标键盘录入数据和从网上爬取数据。 二 用鼠标键盘录入数据 1.录入数据的规范 横着录入数据(横着一条条录入数据)。 2.使用快捷键进行数据录入 tab 键和 enter 键。 tab 键:向右移动一个单元格。 tab 键…

C++类与对象-3.23笔记

今天学习了类的概述和写类的基本框架 在哔哩哔哩学习的这个老师的C面向对象高级语言程序设计教程&#xff08;118集全&#xff09;讲的很不错&#xff08;真的&#xff01;&#xff01;&#xff01;&#xff09;&#xff0c;C语言也是在这个老师的带领下学习的 #include<io…

Android读写权限分析

Android系统使用的是Linux内核&#xff0c;所以Android系统沿用了linux系统的那一套文件读写权限。 目录 1&#xff0c;权限解读1.1&#xff0c;权限分为三种类型&#xff1a;1.2&#xff0c;权限针对的三类对象&#xff1a;1.3&#xff0c;文件和目录的权限区别1.3.1&#xf…

Python二分查找【清晰易懂】

1. 二分查找是什么&#xff1f; 想象你在玩“猜数字”游戏&#xff1a; 对方心里想一个 1~100 的数字&#xff0c;你每次猜一个数&#xff0c;对方会告诉你是“大了”还是“小了”。 最快的方法&#xff1a;每次都猜中间的数&#xff01;比如第一次猜50&#xff0c;如果大了&…

关于Qt的各类问题

目录 1、问题&#xff1a;Qt中文乱码 2、问题&#xff1a;启动时避免ComBox控件出现默认值 博客会不定期的更新各种Qt开发的Bug与解决方法,敬请关注! 1、问题&#xff1a;Qt中文乱码 问题描述&#xff1a;我在设置标题时出现了中文乱码 this->setWindowTitle("算法…

关于我对接了deepseek之后部署到本地将数据存储到mysql的过程

写在前面 今天写一下使用nodejs作为服务端&#xff0c;vue作为客户端&#xff0c;mysql的数据库&#xff0c;对接deepseek的全过程&#xff0c;要实现一个很简单的效果就是&#xff0c;可以自由的询问&#xff0c;然后可以将询问的过程存储到mysql的数据库中。 文档对接 deeps…

游戏引擎学习第182天

回顾和今天的计划 昨天的进展令人惊喜&#xff0c;原本的调试系统已经被一个新的系统完全替换&#xff0c;新系统不仅能完成原有的所有功能&#xff0c;还能捕获完整的调试信息&#xff0c;包括时间戳等关键数据。这次的替换非常顺利&#xff0c;效果很好。 今天的重点是在此基…

CSS终极指南:从基础到高级实践

目录 一、CSS基础概念与核心语法 1.1 CSS的本质与作用 1.2 CSS语法结构 二、CSS与HTML结合的四种方式 2.1 内联样式&#xff08;Inline Style&#xff09; 2.2 内部样式表&#xff08;Internal Style Sheet&#xff09; 2.3 外部样式表&#xff08;External Style Sheet…

MATLAB 2024b深度学习新特性全面解析与DeepSeek大模型集成开发

MATLAB 2024b深度学习工具箱通过架构创新与功能强化&#xff0c;为科研创新和行业应用提供了全栈式解决方案。 第一&#xff1a;MATLAB 2024b深度学习工具箱新特性 1、MATLAB Deep Learning Toolbox 2、实时脚本&#xff08;Live Script&#xff09;与交互控件&#xff08…

.NET开源的智能体相关项目推荐

一、AntSK 由AIDotNet团队开发的人工智能知识库与智能体框架&#xff0c;支持多模型集成和离线部署能力。 核心能力&#xff1a; • 支持OpenAI、Azure OpenAI、星火、阿里灵积等主流大模型&#xff0c;以及20余种国产数据库&#xff08;如达梦&#xff09; • 内置语义内核&a…

Qt弹出新窗口并关闭(一个按钮)

参考&#xff1a;Qt基础 练习&#xff1a;弹出新窗口并关闭的两种实现方式&#xff08;两个按钮、一个按钮&#xff09;_qt打开一个窗口另一个关闭-CSDN博客 实现&#xff1a; 一个按钮&#xff0c;点击一次&#xff0c;按钮的名字从open window变为close window&#xff0c;…

PHP中yield关键字的使用

PHP版本>5.5 原理&#xff1a;yield关键字会生成一个Generator类的对象&#xff0c;PHP通过Generator实例计算出下一次迭代的值&#xff0c;再次返回一个Generator对象并停止循环&#xff08;即循环一次执行一次&#xff09;。 理解&#xff1a;使用在for/foreach/while循…

SpringBoot集成腾讯云OCR实现身份证识别

OCR身份证识别 官网地址&#xff1a;https://cloud.tencent.com/document/product/866/33524 身份信息认证&#xff08;二要素核验&#xff09; 官网地址&#xff1a;https://cloud.tencent.com/document/product/1007/33188 代码实现 引入依赖 <dependency><…

Tabby 一:如何在Mac配置保姆级教程(本地模型替换hugging face下载)

1. brew安装 mac需要先安装brew&#xff0c;如果本地已经安装过brew这一步可以忽略&#xff0c;遇到问题可以自己ai问 /bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 可能遇到source .zprofile失败&#xff0c;因为…

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

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

【算法学习计划】贪心算法(上)

目录 前言&#xff08;什么是贪心&#xff09; leetcode 860.柠檬水找零 leetcode 2208.将数组和减半的最少操作次数 leetcode 179.最大数 leetcode 376.摆动序列 leetcode 300.最长递增子序列 leetcode 334.递增的三元子序列 leetcode 674.最长连续递增序列 leetcode …