深入了解OSI模型:计算机网络的七大层次
目录
OSI模型
物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
OSI模型
OSI模型是一个网络通信的概念模型,用于描述计算机网络中各个不同层次之间的通信和功能。它将网络通信分为七个不同的层次,每个层次负责不同的任务,使得网络通信的设计、开发和管理更加模块化和可维护。以下是OSI模型的七个层次以及它们的主要功能:
1、物理层(Physical Layer):
功能:处理物理传输介质上的原始比特流,确保数据在传输媒体上能够以适当的方式传输。
示例设备:集线器、中继器、网线等。
主要任务:比特编码、电压规范、物理拓扑等。
2、数据链路层(Data Link Layer):
功能:负责将原始比特流分割成帧并添加地址信息,以便在直接连接的设备之间传输数据。
示例设备:交换机、网卡、网桥等。
主要任务:帧的封装、MAC地址的管理、错误检测和纠正。
3、网络层(Network Layer):
功能:负责在不同的网络之间传输数据,路由数据包并确保它们能够到达目标设备。
示例设备:路由器、三层交换机等。
主要任务:IP地址分配、路由选择、数据包转发等。
4、传输层(Transport Layer):
功能:提供端到端的数据传输服务,确保数据可靠性、流量控制和错误检测。
示例协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。
主要任务:端口管理、流量控制、数据分段和重组等。
5、会话层(Session Layer):
功能:管理会话的建立、维护和结束,处理会话层面的错误和同步问题。
示例功能:会话控制、会话恢复等。
6、表示层(Presentation Layer):
功能:负责数据的格式转换、加密和解密,确保应用程序能够正确地解释数据。
示例功能:数据压缩、加密解密、数据格式转换等。
7、应用层(Application Layer):
功能:为用户提供网络应用服务,包括文件传输、电子邮件、网页浏览等。
示例协议:HTTP、SMTP、FTP、SSH等。
主要任务:应用程序接口、用户认证、数据传输等。
物理层
物理层是OSI模型(开放式系统互联模型)中的第一层,它是计算机网络通信的基础层次。物理层的主要任务是处理物理传输介质上的原始比特流,确保数据能够以适当的方式传输到连接的设备之间。它关注的是如何在传输媒体上发送和接收比特流,而不关心数据的含义或格式。
1、比特编码:物理层负责将数字数据转换为模拟信号或数字信号,以便在传输媒体上传输。这包括将数字0和1映射到物理信号(如电压、光信号等)上,以便设备之间能够正确地解释数据。
2、传输介质:物理层关注了不同传输媒体的特性,包括电缆、光纤、无线电波等。它确保选择的传输介质能够适应特定的通信需求。
3、物理拓扑:物理层涉及定义和管理网络的物理拓扑,例如总线拓扑、星型拓扑、环型拓扑等。这决定了如何连接设备以进行通信。
4、传输速率:物理层规定了数据传输的速率,通常以每秒比特数(bps)来表示。不同的传输介质支持不同的传输速率。
5、信号传输:物理层处理信号的放大、衰减、噪声和干扰等问题,以确保数据能够可靠地传输。
6、物理连接:物理层定义了连接设备之间的物理接口,包括插头、插座、电缆类型等。这确保了设备能够正确地连接到网络。
7、物理层设备:物理层设备通常包括中继器(Repeater)和集线器(Hub),它们主要用于信号放大和物理层信号的传输,但不具备更高层次的智能路由功能。
数据链路层
数据链路层是OSI模型中的第二层,位于物理层之上,其主要任务是管理物理传输介质上的数据帧(frame)的传输,以确保可靠的点对点或点对多点数据传输。数据链路层的工作涵盖了数据的封装、帧的传输、地址分配、错误检测和纠正等功能。
1、封装:数据链路层将来自网络层的数据包装成数据帧,添加头部和尾部信息,以便接收方可以识别帧的起始和结束,并提取出数据。
2、地址分配:每个数据链路层设备都具有唯一的硬件地址,称为MAC地址(Media Access Control Address)。数据链路层使用MAC地址来确定数据帧的接收者,以确保数据只发送到目标设备。
3、帧的传输:数据链路层负责将数据帧从一个物理层设备传输到另一个物理层设备,无论它们是否直接连接。这可以涉及到局域4网中的直接点对点连接或广域网中的多跳传输。
4、错误检测和纠正:数据链路层使用各种技术来检测和纠正传输中的错误,以确保数据的完整性。常见的错误检测方法包括奇偶校验、CRC(循环冗余校验)等。
5、流量控制:数据链路层可以执行流量控制,以确保发送方不会向接收方发送过多的数据,从而防止数据丢失或溢出。
6、MAC协议:数据链路层包括不同类型的MAC协议,用于管理共享介质上的访问。常见的MAC协议包括CSMA/CD(Carrier Sense Multiple Access with Collision Detection)和CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)等。
7、局域网拓扑:数据链路层定义了局域网的拓扑结构,如总线拓扑、星型拓扑和环型拓扑等,以及如何在这些拓扑结构中进行数据传输。
8、逻辑链路控制:数据链路层还包括逻辑链路控制,用于建立、维护和终止逻辑链路,以确保数据的有序传输。
网络层
网络层是计算机网络中的一个重要组成部分,它负责在不同计算机之间传输数据包,并确保这些数据包能够从源主机到达目标主机。网络层的主要功能包括路由、寻址和数据包转发。
网络层在OSI模型中处于第三层,负责将数据从传输层(第四层)传递到数据链路层(第二层)和物理层(第一层),并且它是构建互联网的关键组成部分之一。
1、作用:网络层的主要作用是为数据包选择合适的路径,以便它们能够从源主机到达目标主机,即使网络中有多个中间节点(如路由器)。
2、IP地址:在网络层,每个设备都被分配一个唯一的IP地址,这个地址用于标识设备在网络中的位置。IPv4和IPv6是两种常见的IP地址版本。IPv4使用32位地址,而IPv6使用128位地址。
3、路由:路由是网络层的核心功能之一。它涉及到在网络中选择最佳路径以将数据包从源发送到目标。路由器是网络层设备,负责根据目标IP地址来决定数据包的下一跳。
4、子网:网络层也涉及到将网络划分为不同的子网。这有助于组织和管理大型网络,并允许在不同子网之间进行路由。
5、TTL(Time-to-Live):TTL是一个在数据包中的字段,用于防止数据包在网络中无限制地循环。每次数据包通过一个路由器时,TTL值减1,当TTL值为零时,数据包被丢弃。
6、协议:在网络层,常见的协议包括IP(Internet Protocol)、ICMP(Internet Control Message Protocol)和IGMP(Internet Group Management Protocol)等。这些协议定义了数据包的格式、路由算法和其他相关规则。
7、IPv4和IPv6:IPv4是最常见的IP地址版本,但由于地址耗尽的问题,IPv6正在逐渐取代它。IPv6提供了更多的IP地址,以支持不断增长的互联网设备。
8、VPN(Virtual Private Network):网络层也与VPN有关,VPN允许通过加密和隧道技术来安全地连接不同地理位置的网络。
传输层
传输层是OSI模型中的第四层,位于网络层之上,其主要任务是提供端到端的数据传输服务,确保数据可靠性、流量控制和错误检测。传输层的功能是在网络中的两台计算机之间建立、维护和终止通信会话,以有效地传输数据。
1、端到端通信:传输层负责在源主机和目标主机之间建立通信会话。它通过端口号来标识不同的应用程序或服务,以确保数据可以传递给正确的目标应用程序。
2、流量控制:传输层可以执行流量控制,以确保发送方不会向接收方发送过多的数据,从而避免数据丢失或溢出。这确保了发送和接收方之间的数据传输速率合理匹配。
3、可靠性:传输层提供可靠的数据传输服务,确保数据按照正确的顺序到达目标,并在必要时重新传输丢失或损坏的数据包。这通常是通过协议中的确认和重传机制来实现的。
4、数据分段和重组:传输层将从应用层接收的数据划分为较小的数据段,并在接收端将它们重组成完整的消息。这有助于有效地管理和传输大量数据。
5、端口号:传输层使用端口号来标识不同的应用程序或服务。源和目标主机使用端口号来确定数据应该传递给哪个应用程序。常见的传输层协议如TCP和UDP使用端口号。
6、多路复用和多路分解:传输层允许多个应用程序在同一时间共享网络连接,通过多路复用将它们的数据混合在一起,而在接收端通过多路分解将数据分发给正确的应用程序。
7、错误检测和纠正:传输层可以检测并纠正数据传输中的错误,以确保数据的完整性。
8、协议:在传输层,常见的协议包括TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP提供可靠的、面向连接的传输,而UDP提供不可靠的、面向无连接的传输。
会话层
会话层是OSI模型中的第五层,位于传输层之上和表示层之下,它主要负责建立、管理和终止会话,以便在通信的两个节点之间建立逻辑连接。会话层的主要任务是确保数据的交换在端到端通信会话中进行,同时处理会话层面的错误和同步问题。
1、会话建立:会话层负责在通信的两个节点之间建立会话或连接。这可以涉及到握手过程,其中会话层确保通信双方已经准备好进行数据交换。
2、会话维护:一旦会话建立,会话层负责维护连接的状态,包括数据传输的顺序、数据包的确认和重传等。它还处理会话中的同步问题,以确保通信双方的数据一致性。
3、会话终止:当通信结束时,会话层负责终止会话,清除相关资源,并通知通信双方会话的结束。这确保了资源的正确释放和通信的正常结束。
4、对话控制:会话层支持对话控制功能,允许通信双方交替发送数据,而不会发生冲突或数据混淆。
5、错误处理:会话层处理会话层面的错误,例如通信中断、连接丢失或会话超时等情况。它可以尝试重新建立连接或采取其他措施来恢复通信。
6、同步:会话层可以处理通信中的同步问题,确保通信双方的数据传输在正确的时间进行,以避免数据混淆或丢失。
7、会话标识:会话层可以为会话分配唯一的标识符,以区分不同的会话。这有助于跟踪和管理多个会话同时进行的情况。
8、逻辑链路管理:会话层还可以管理逻辑链路,使得多个应用程序能够共享同一个物理连接。
表示层
表示层是OSI模型中的第六层,位于会话层之上和应用层之下。它的主要任务是处理数据的表示、编码、加密和解密,以确保数据在不同计算机和应用程序之间的互操作性。表示层的工作是将数据从应用程序格式转换为一种在网络上传输的通用格式,同时负责数据的安全性和可读性。
1、数据格式转换:表示层负责将数据从应用程序特定的格式转换为网络可以理解的通用格式。这有助于不同应用程序之间的数据交换。
2、数据加密和解密:表示层可以提供数据加密和解密的功能,以确保在传输过程中数据的机密性。加密使得数据对未经授权的访问者来说是不可读的。
3、数据压缩:表示层可以压缩数据,以减少数据传输的带宽需求和传输时间。数据在传输前被压缩,接收端需要解压数据以还原原始信息。
4、字符编码:表示层负责字符集的转换和字符编码的处理,以确保不同国家和地区的计算机可以正确地解释和显示文本数据。
5、数据格式检查:表示层可以检查数据的格式是否正确,并进行必要的修复,以确保数据的完整性。
6、图形和图像转换:在表示层中,图形和图像数据可以被转换成不同的格式,以适应不同的显示设备或应用程序。
7、数据注释和标记:表示层可以添加额外的信息、注释或标记到数据中,以便在传输和解释时提供上下文。
8、数据压缩:表示层可以压缩数据,以减少网络传输的数据量,从而提高效率。
应用层
应用层(Application Layer)是OSI模型中的第七层,也是最高层,它位于所有其他层的顶部。应用层是计算机网络中的最上层,提供了用户与网络服务之间的接口。它包括各种应用程序和协议,用于满足各种不同的网络通信需求,例如文件传输、电子邮件、网页浏览、视频会议等。
1、用户接口:应用层提供了用户与计算机网络之间的接口,允许用户通过应用程序与网络进行交互。这些应用程序可以是浏览器、电子邮件客户端、文件传输工具等。
2、网络服务:应用层包括各种网络服务,例如文件传输、电子邮件、远程访问、域名解析、网页浏览、即时通讯等。这些服务为用户提供了不同的网络功能。
3、应用层协议:在应用层中,存在许多特定的应用层协议,每个协议都设计用于特定的应用场景。例如,HTTP(Hypertext Transfer Protocol)用于网页传输,SMTP(Simple Mail Transfer Protocol)用于电子邮件传输,FTP(File Transfer Protocol)用于文件传输等。
4、数据交互:应用层协议负责定义数据的格式、交换方式和通信规则。这些协议确保数据在源和目标之间正确地传递和解释。
5、安全性:应用层也涉及到安全性问题,包括身份验证、数据加密和访问控制,以保护数据和通信的机密性和完整性。
6、网络管理:一些应用层协议和应用程序用于网络管理,帮助管理员监视和维护网络性能、配置设备等。
7、用户认证:应用层允许用户进行身份验证,以确保只有授权的用户可以访问特定的网络资源。
8、错误处理:应用层协议和应用程序可以处理应用层面的错误,例如处理丢失的数据包、超时和重传等。
相关文章:
深入了解OSI模型:计算机网络的七大层次
目录 OSI模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 OSI模型 OSI模型是一个网络通信的概念模型,用于描述计算机网络中各个不同层次之间的通信和功能。它将网络通信分为七个不同的层次,每个层次负责不同的任务,使得网…...

games101 作业2
题目 光栅化一个三角形 1. 创建三角形的 2 维 bounding box。 2. 遍历此 bounding box 内的所有像素(使用其整数索引)。然后,使用像素中心的屏幕空间坐标来检查中心点是否在三角形内。 3. 如果在内部,则将其位置处的插值深度值 (…...

二叉树链式存储结构
目录 1.二叉树链式存储结构 2.二叉树的遍历 2.1 前、中、后序遍历 2.2 层序遍历 3.二叉树的其他递归问题 3.1 二叉树的结点个数 3.2 二叉树的叶子结点个数 3.3 二叉树第k层结点个数 3.4 二叉树的深度 3.5 二叉树查找 3.6 二叉树销毁 4.二叉树的基础OJ题 4.1 单值…...

Claude 使用指南 | 可与GPT-4媲美的语言模型
本文全程干货,让你轻松使用上claude,这也是目前体验cluade的唯一途径!废话不多说,直接上教程,cluade的能力不逊于GPT4,号称是ChatGPT4.0最强竞品。相对Chatgpt来说,Claude不仅是完全免费的&…...
【汇编】微处理器
【汇编】微处理器 文章目录 【汇编】微处理器1、微处理器概念1.1 关键词1.2 分类 2、微处理器结构2.1 寄存器2.2 寄存器&汇编助记符2.3 寄存器组成结构 3、地址空间3.1 存储空间3.1.1 虚拟空间(编程空间)3.1.2 线性空间 3.2 I/O空间 4、工作模式4.1 …...

按键点亮led灯
原理图: K0这个按键按下时,开发板D1这个灯亮,松开,灯灭 代码如下: #include "stm32f4xx.h" void LED_Init(void) {//1.定义一个GPIO外设的结构体变量 GPIO_InitTypeDef GPIO_InitStructure;//RCC_AHB1PeriphClockCmd(RCC_AHB1Pe…...
Java常见面试题
目录 1、mysql并发事务会带来哪些问题,如何解决?2、请详细描述Redis持久化机制?3、简述Redis缓存雪崩和缓存穿透的问题和解决方案?4、RabbitMQ消息丢失及对应解决方案5、什么叫线程安全?举例说明6、举例说明常用的加密…...

笔记1.5:计算机网络体系结构
从功能上描述计算机网络结构 分层结构 每层遵循某个网络协议完成本层功能 基本概念 实体:表示任何可发送或接收信息的硬件或软件进程。 协议是控制两个对等实体进行通信的规则的集合,协议是水平的。 任一层实体需要使用下层服务,遵循本层…...
【Python】Python 连接字符串应优先使用 join 而不是 +
Python 连接字符串应优先使用 join 而不是 简介 字符串处理在大多数编程程序语言中都不可避免,字符串的连接也是在编程过程中经常需要面对的问题。 Python中的字符串与其他一些程序语言如C、Java有一些不同,它为不 可变对象。 一旦创建便不能改变&…...

uniapp 小程序 父组件调用子组件方法
答案:配合小程序API > this.selectComponent(""),来选择组件,再使用$vm选择组件实例,再调用方法,或者data 1 设置组件的id,如果你的多端,请跟据情况设置ref,class,id,以便通过小…...

Vue-01:MVVM数据双向绑定与Vue的生命周期
一、Vue介绍 1.1 什么是Vue ? Vue是一个渐进式的JavaScript框架,用于构建用户界面。"渐进式"意味着Vue的设计理念是逐步增强应用的功能和复杂性,而不是一次性地引入所有功能。这使得开发者可以根据项目需求选择性地使用Vue的不同特…...

数据通信网络之OSPFv3基础
文章及资源归档至【AIShareLab】,回复 通信系统与网络 可获取。 文章目录 一、目的二、拓扑三、需求四、步骤 一、目的 掌握路由器的IPv6 基础配置。掌握OSPFv3(单区域)的基础配置。 二、拓扑 如图1 所示,三台路由器R1、R2 和R…...
FPGA-结合协议时序实现UART收发器(五):串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive
FPGA-结合协议时序实现UART收发器(五):串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive 串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive,功能实现。 文章目录 FPGA-结合协议时序实现UART收发器(五&…...

我学编程全靠B站了,真香-国外篇(第三期)
你好,我是Martin。 今天来点猛料,给大家推荐点我的压箱收藏-国外知名大学的公开课。 我推荐的不多,本着少就是多的原则,只给大家推荐我看过最好的五门视频,主要是来自两所国外高校:MIT美国麻省理工、CMU卡…...
c++ 变量常量指针练习题
Q1:在win32 x86模式下,int *p; int **pp; double *q; 请说明p、pp、q各占几个字节的内存单元。 p 占 4 个字节 pp 占 4 个字节 q 占 4 个字节 Q2常量1、1.0、“1”的数据类型是什么? 1 是 整形 int 1.0 是 浮点型 double “1” 是 const char * Q3 语句&…...

Linux底层基础知识
一.汇编,C语言,C,JAVA之间的关系 汇编,C语言,C可以通过不同的编译器,编译成机器码。而java只能由Java虚拟机识别。Java虚拟机可以看成一个操作系统,Java虚拟机是由汇编,C,…...

JUC并发编程--------线程安全篇
目录 什么是线程安全性问题? 如何实现线程安全? 1、线程封闭 2、无状态的类 3、让类不可变 4、加锁和CAS 并发环境下的线程安全问题有哪些? 1、死锁 2、活锁 3、线程饥饿 什么是线程安全性问题? 我们可以这么理解&#…...

机器视觉之Basler工业相机使用和配置方法(C++)
basler工业相机做双目视觉用,出现很多问题记录一下: 首先是多看手册:https://zh.docs.baslerweb.com/software 手册内有所有的源码和参考示例,实际上在使用过程中,大部分都是这些源码,具体项目选择对应的…...

Centos nginx配置文档
1、安装nginx: yum install nginx 2、Nginx常用命令 查看版本:nginx -v 启动:nginx -c /etc/nginx/nginx.conf 重新加载配置:nginx -s reload 停止:nginx -s stop 3、Nginx反向代理配置 nginx配置详解 1、Nginx配置图 详情可以查看:http://nginx.org/ru/docs/example…...

2023/9/14 -- C++/QT
作业: 仿照Vector实现MyVector,最主要实现二倍扩容 #include <iostream>using namespace std;template <typename T> class MyVector { private:T *data;size_t size;size_t V_capacity; public://无参构造MyVector():data(nullptr),size(…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...