什么是OSI七层模型?

面试官您好,OSI(Open Systems Interconnection)七层模型,是由国际标准化组织(ISO)提出的一个网络互联的开放式参考模型

它是一个理论上的、概念性的框架,其核心目的,是将一个极其复杂的网络通信过程,逻辑上划分为七个独立的、功能明确的层次。每一层都只关心自己的任务,并为上一层提供服务,同时使用下一层提供的服务。

这种分层设计,就像我们软件工程中的“高内聚、低耦合”思想,极大地简化了网络协议的设计和实现,并促进了不同厂商设备之间的互操作性。

下面我来从高到低,逐一介绍这七个层次以及它们各自的职责:

高层(应用层协议)—— 面向用户和应用程序
  • 7. 应用层 (Application Layer)

    • 职责:这是我们用户和应用程序直接交互的最高层。它负责定义各种应用程序之间通信的规则。
    • 协议示例:我们最熟悉的HTTP(网页访问)、FTP(文件传输)、SMTP(邮件发送)、DNS(域名解析)等,都工作在这一层。
    • 数据单位:通常是报文(Message)
  • 6. 表示层 (Presentation Layer)

    • 职责:可以看作是应用程序的“翻译官”和“格式转换器”。它负责处理数据的表示方式,确保发送方和接收方能够正确理解彼此的数据。
    • 主要工作:数据的加密与解密压缩与解压缩、以及数据格式的转换(比如将ASCII码转换为EBCDIC码)。
  • 5. 会话层 (Session Layer)

    • 职责:负责建立、管理和终止应用程序之间的会话(Session) 或连接。
    • 主要工作:提供会话的检查点(Checkpointing)和恢复机制,实现断点续传等功能。
低层(网络层协议)—— 面向数据传输
  • 4. 传输层 (Transport Layer)

    • 职责:这是整个网络协议栈的核心,它负责提供端到端(End-to-End) 的、可靠或不可靠的数据传输服务。
    • 主要工作
      • 端口号:通过端口号来区分不同的应用程序进程。
      • 数据分段与重组:将上层应用的大块数据,分割成更小的数据段(Segment),并在接收端重新组装。
      • 流量控制拥塞控制
    • 两大核心协议
      • TCP (Transmission Control Protocol):提供面向连接的、可靠的数据传输。
      • UDP (User Datagram Protocol):提供无连接的、不可靠的数据传输,但速度更快。
    • 数据单位段(Segment)
  • 3. 网络层 (Network Layer)

    • 职责:负责在多个网络之间,为数据包选择最佳的传输路径,并进行逻辑地址(IP地址) 的寻址。
    • 核心设备路由器(Router)
    • 核心协议IP (Internet Protocol)
    • 数据单位包(Packet)数据报(Datagram)
  • 2. 数据链路层 (Data Link Layer)

    • 职责:负责在同一个局域网内的、相邻的两个节点之间,进行物理地址(MAC地址) 的寻址和数据的可靠传输。
    • 核心设备交换机(Switch)
    • 主要工作:将网络层的数据包,封装成帧(Frame),并进行差错校验。
    • 数据单位帧(Frame)
  • 1. 物理层 (Physical Layer)

    • 职责:这是最底层,负责在物理媒介(如网线、光纤)上,传输原始的二进制比特流(0和1)
    • 主要工作:定义了接口的电气特性、电压、线缆标准等。
    • 核心设备集线器(Hub)、中继器
    • 数据单位比特(Bit)
总结

值得一提的是,OSI七层模型是一个理论上非常完美的模型,但在实际的互联网世界中,我们使用得更多的是一个更简化、更实用的模型——TCP/IP四层模型(或五层模型)。它将OSI的应用层、表示层、会话层合并为了一个应用层,将数据链路层和物理层合并为了网络接口层(或分别保留),形成了 “应用层 -> 传输层 -> 网络层 -> 网络接口层” 这样一个更贴近实践的结构。


什么是TCP/IP模型

面试官您好,TCP/IP模型,也叫TCP/IP协议簇(Protocol Suite),它不是一个单一的协议,而是一整套网络通信协议的集合

与OSI七层模型不同,TCP/IP模型并不是一个纯粹的理论框架,而是源于实践、并最终成为互联网事实标准的一套模型。它更简化、更核心,直接定义了今天互联网是如何工作的。

TCP/IP模型通常被划分为四层(也有划分为五层的,主要是将最底层再细分),我按照最经典的四层模型来介绍一下:

1. 应用层 (Application Layer)
  • 对应OSI模型:相当于OSI的应用层、表示层、会话层的合体
  • 职责:直接面向用户和应用程序,负责定义应用程序之间通信的规则。它决定了我们能用网络来做什么。
  • 核心协议
    • HTTP/HTTPS:用于Web网页浏览。
    • FTP:用于文件传输。
    • SMTP/POP3/IMAP:用于电子邮件的发送和接收。
    • DNS:用于将域名解析为IP地址。
    • Telnet/SSH:用于远程登录。
  • 数据单位:通常是报文(Message)
2. 传输层 (Transport Layer)
  • 对应OSI模型:与OSI的传输层功能基本一致。
  • 职责:负责提供端到端(End-to-End)的、应用程序进程之间的数据传输服务。它为上层应用屏蔽了底层网络的复杂性。
  • 核心协议(两大支柱)
    • TCP (Transmission Control Protocol, 传输控制协议)
      • 特点面向连接、可靠的、基于字节流的传输。
      • 为什么可靠? 它通过三次握手建立连接,通过序列号、确认应答(ACK)、超时重传、流量控制、拥塞控制等一系列复杂机制,来保证数据能够不重、不丢、不乱地、按顺序地到达对方。
      • 适用场景:对数据可靠性要求极高的场景,如文件传输、邮件、Web浏览。
    • UDP (User Datagram Protocol, 用户数据报协议)
      • 特点无连接、不可靠的、尽力而为的传输。
      • 为什么快? 它不建立连接,不保证数据能否到达、是否按序,只是简单地把数据包“扔”出去。
      • 适用场景:对实时性要求高、能容忍少量丢包的场景,如在线视频、语音通话、DNS查询。
  • 数据单位:TCP中称为段(Segment),UDP中称为数据报(Datagram)
3. 网络层 (Internet Layer)
  • 对应OSI模型:与OSI的网络层功能一致。
  • 职责:负责在整个互联网范围内,将数据包从源主机发送到目标主机。它主要解决的是路由和寻址的问题。
  • 核心协议
    • IP (Internet Protocol, 网际协议):这是整个TCP/IP协议簇的核心。它定义了IP地址,并负责将传输层的数据段封装成IP数据包(Packet),然后根据路由表,在不同的网络之间进行转发。
    • ICMP (Internet Control Message Protocol):用于在IP主机、路由器之间传递控制消息,比如我们常用的ping命令,就是基于ICMP。
    • ARP (Address Resolution Protocol):用于将IP地址解析为物理的MAC地址。
  • 数据单位包(Packet)
4. 网络接口层 (Network Interface Layer / Link Layer)
  • 对应OSI模型:相当于OSI的数据链路层和物理层的合体
  • 职责:负责在同一个物理网络(局域网)内,将IP数据包封装成帧(Frame),并通过具体的物理媒介(如以太网、Wi-Fi)进行传输。
  • 核心协议以太网协议(Ethernet)、Wi-Fi协议等。它处理的是MAC地址寻址、硬件接口等细节。
  • 数据单位帧(Frame)
数据封装过程

当一个应用程序发送数据时,数据会经历一个自顶向下的、层层封装的过程:

  1. 应用层:生成应用数据(如HTTP报文)。
  2. 传输层:给数据加上TCP/UDP头部(包含端口号等),形成
  3. 网络层:给段加上IP头部(包含源/目标IP地址),形成
  4. 网络接口层:给包加上MAC头部(包含源/目标MAC地址),形成,最终通过物理媒介发送出去。

这个清晰、务实的分层模型,共同构成了支撑整个现代互联网运行的基石。

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

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

相关文章

国产服务器【银河麒麟v10】【CPU鲲鹏920】部署Nacos

目录 准备工作开始安装1. 下载nacos2. 启动3. 检查 结束 准备工作 环境要求:Linux虚拟机nacos2.3.2 安装包 开始安装 1. 下载nacos 方式1 wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.tar.gz方式2 去官网自行下载所需版…

一款强大的音视频处理工具--FFmpeg-2--常用音频处理示例

1、查看音频文件详细信息 opus,wav,pcm等音频格式都适用。 ffprobe -i 1.opus说明: Input 0, ogg, from ‘1.opus’: Input 0:表示这是第一个输入文件。ogg:表示该文件封装在Ogg容器格式中(Opus通常封装…

在 ArcPy 脚本中进行错误处理和调试

查看错误信息 当捕获到错误后,查看详细的错误信息对于定位问题和解决问题至关重要。 (一)打印错误消息 在 except 块中,可以直接打印错误对象来获取错误消息。例如: try:arcpy.CalculateField_management("in…

C++11标准(4)——并发库(多线程)

欢迎来到博主的专栏:c杂谈 博主ID:代码小豪 文章目录 thread的相关函数thisthread c11新增了与并发相关的库,包含线程、以及互斥、同步等与线程安全相关的库,与linux中所使用POSIX库不同,并发库是将其进行了封装,不再是…

优化TCP/IP协议栈与网络层

优化TCP/IP协议栈与网络层 在高性能架构中,网络性能往往成为系统吞吐量与响应速度的关键因素之一。而TCP/IP协议栈作为现代互联网通信的核心,其默认配置在高并发场景下常常无法满足大规模分布式系统的性能需求。因此,架构师在构建系统时,有必要对TCP/IP协议栈及其所在的网…

Nginx常见功能

Nginx 是一个高性能的 HTTP 和反向代理服务器,除了基本的 Web 服务功能外,它还支持许多高级功能。以下是 Nginx 常用的一些功能及其设置方法: 1. 反向代理 反向代理是 Nginx 最常用的功能之一,用于将客户端请求转发给后端服务器&a…

UniSAL:用于组织病理学图像分类的统一半监督主动学习方法|文献速递-深度学习医疗AI最新文献

Title 题目 UniSAL: Unified Semi-supervised Active Learning for histopathologicalimage classification UniSAL:用于组织病理学图像分类的统一半监督主动学习方法 01 文献速递介绍 组织病理学图像在癌症筛查、诊断及治疗决策中起着关键作用,有助…

智慧园区建设资料合集(Wordppt原件)

化工园区安全风险智能化管控平台.docx 数字孪生赋能的智慧园区物联网云平台建设方案.pptx 园区智慧安防解决方案.docx 新型智慧园区规划设计方案.pptx 新型智慧园区建设方案.docx 园区大数据治理解决方案.pptx 智慧产业园区综合解决方案.docx 智慧工业园区大数据云平台解决方案…

好玩的镜像汇总

一些镜像仓库汇总 https://github.com/code-lives/Nas-Docker https://github.com/TWO-ICE/Awesome-NAS-Docker image-matting是一款集成了AI大模型的,支持容器化部署的短平快抠图工具 https://mp.weixin.qq.com/s/A1VKAYaDdbCs2o1L4ZYkSw Moodist是一个有助于专注…

langchain 开发实战

我的开发环境是 windows python3.8 langchain版本: # langchain 0.2.17 # langchain-community 0.2.19 # langchain-core 0.2.43 # langchain-openai 0.1.25 # langchain-text-…

粉色 PCB:当电路板染上温柔的科技浪漫

在电子产品的世界里,印制电路板(PCB)是其核心的 “骨架”,支撑并连接着各种电子元件,让电子产品得以实现复杂的功能。以往,PCB 常见的颜色是绿色,然而,猎板打破常规,推出…

Navicat 技术指引 | TiDB 数据查看器

目前,Navicat 两款工具支持对 TiDB 数据库的管理开发功能:一款是旗舰款 Navicat Premium,另一款是其轻量化功能的 Navicat Premium Lite(官方轻量级免费版)。Navicat 自版本 17.1 开始支持 TiDB 7。它支持的系统有 Win…

xlsx、xlsx-style 的配置及导出(分享)

文章目录 1. 基础配置1.1 单元格内容1.2 单元格合并、列宽、行高1.3 单元格样式 2. sheet 配置、多个 sheet3. excel 导出4. 数据插入(进阶) 1. 基础配置 1.1 单元格内容 注:xlsx、xlsx-style 都存在 write 方法,xlsx 设置单元格…

算法第38天|322.零钱兑换\139. 单词拆分

322.零钱兑换 题目 思路与解法 class Solution { public:int coinChange(vector<int>& coins, int amount) {// dp数组&#xff1a;// dp[i]: 凑成总金额i&#xff0c;所需的最少硬币个数vector<int> dp(amount 1, INT_MAX);dp[0] 0;for (int i 0; i &l…

使用MobileNetV3训练水果分类模型并用Flask部署

前言 在计算机视觉领域&#xff0c;图像分类是一个基础且重要的任务。本文将介绍如何使用MobileNetV3预训练模型来训练一个水果分类模型&#xff0c;并通过Flask框架进行部署。MobileNetV3作为轻量级网络&#xff0c;在保持较高精度的同时&#xff0c;具有较快的推理速度&…

SCADA技术与市场全景解析

SCADA系统作为工业自动化领域的关键组成部分&#xff0c;成为了工业企业推进数字化转型的有力抓手。本文将重点介绍SCADA系统的发展历程、系统构成及工作原理、发展趋势&#xff0c;分析其行业应用差异&#xff0c;以及与物联网和组态软件的区别&#xff0c;梳理其在不同行业的…

在线教学课程视频AI智能大纲代码与演示

AI根据视频内容自动生成视频大纲&#xff0c;极大地提高了视频内容的管理效率、可访问性和用户体验&#xff0c;是推动视频内容智能化发展的重要一环。AI根据视频内容自动生成视频内容大纲。这种功能&#xff0c;应用场景有哪些&#xff1f; 应用场景&#xff1a; 在线教育平台…

动态WCMP+Flowlet ALB:双引擎驱动智算网络负载均衡

传统网络架构的困境 在 AI 算力爆发的今天&#xff0c;数据中心网络正经历前所未有的流量形态变革。传统 Clos 网络架构依赖逐流 ECMP 均衡算法&#xff0c;其设计逻辑基于 “大量短流” 假设&#xff0c;通过五元组 HASH 实现负载分担。然而 AI 训练场景呈现出鲜明的流量特征…

软件测试题

选择题 1、导致软件缺陷的原因有很多&#xff0c;①—④是可能的原因&#xff0c;其中最主要的原因包括( )。 ①软件需求说明书编写的不全面&#xff0c;不完整&#xff0c;不准确&#xff0c;而且经常更改 ②软件设计说明书 ③软件操作人员的水平 ④开发人员不能很好的…

微信小程序页面容器弹出层

效果图 .JS Page({data: {show: false,duration: 300,position: right,round: false,overlay: true,customStyle: ,overlayStyle: },popup(e) {const position e.currentTarget.dataset.positionlet customStyle let duration this.data.durationswitch(position) {case to…