深入了解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、错误处理:应用层协议和应用程序可以处理应用层面的错误,例如处理丢失的数据包、超时和重传等。

 

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

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

相关文章

paddle框架的使用

Paddle是由百度开发的深度学习框架,支持声明式和命令式编程风格。它还支持深度神经网络的超大规模训练和神经架构的自动设计。您可以使用 Paddle 构建用于训练的神经网络模型,具体步骤如下: 导入桨模块和其他必要的模块,如numpy&…

golang 运算符

目录 1. golang 运算符1.1. Types of Operators1.2. Bitwise Operators (位运算符)1.3. Logical Operators (逻辑运算符)1.4. Arithmetic Operators (算术运算符)1.5. Assignment Operators (赋值运算符)1.6. Comparison Operators (比较运算符) 1. golang 运算符 1.1. Types …

c语言练习58:⾃定义类型:结构体

⾃定义类型:结构体 结构体的概念 结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 结构体是一个种自定义的数据类型,它可以由很多个默认数据类型组成。它主要用于描述复杂场景下的变量。 例如,想…

文件上传漏洞~操作手册

目录 上传文件一般过滤方式 客服端校验 服务端校验 黑白名单机制 常规文件上传漏洞绕过 客户端绕过 1.游览器禁用JavaScript 2.正常burp suite抓包改包 服务端绕过 1.Content-Type绕过 2.黑名单绕过 1)命名规则绕过 2)大小写绕过 3&#x…

vue入门及小项目小便签条

vue 框架:是一个半成品软件,是一套可重用的,通用的,软件基础代码模型。基于框架进行开发,更加快捷 ,更加高效 v-bind为HTML标签绑定属性值,如设置href,css样式等 v-model在表单元素上创建双向数…

C++ 太卷,转 Java?

最近看到知乎、牛客等论坛上关于 C 很多帖子,比如: 2023年大量劝入C 2023年还建议走C方向吗? 看了一圈,基本上都是说 C 这个领域唯一共同点就是都使用 C 语言,其它几乎没有相关性。 的确是这样,比如量化交…

c++模版元编程-函数模版

C模板元编程(Template Metaprogramming,TMP)是一种使用C模板语言特性进行编程的技术,主要用于在编译期间进行计算和类型推导。通过使用TMP,可以在编译期间生成代码,从而实现更高效和更灵活的程序设计。 TM…

VM ware中Linux连网

在公司时,想搭建一下docker,结果发现连不上网,那就自己动手操作一下 一、联网配置 1.1 ping 发现ping不通,说明虚拟机此时无法与外界网络互连,需要修改设置联网 1.2 ifconfig查看网络配置 注意第一行显示的是ens33还是ens32,后面配置会用到 1.3 获取ro…

达梦数据库如何收集统计信息?

1、收集shema统计信息 CALL DBMS_STATS.GATHER_SCHEMA_STATS(大写的用户名,100,TRUE,FOR ALL COLUMNS SIZE AUTO); 2、收集表的统计信息 CALL DBMS_STATS.GATHER_TABLE_STATS(大写的用户名, 大写的表名,NULL,100,TRUE,FOR ALL COLUMNS SIZE AUTO); 3、收集索引的统计信息 CALL…

WebGL模型视图投影矩阵

WebGL透视投影_山楂树の的博客-CSDN博客中的PerspectiveView代码一个问题是,我们用了一大段枯燥的代码来定义所有顶点和颜色的数据。示例中只有6个三角形,我们还可以手动管理这些数据,但是如果三角形的数量进一步增加的话,那可真就…

如何在 Excel 中求平方根

需要在 Excel 中求一个数字的平方根吗?使用几个内置的 Excel 函数和公式可以轻松计算平方根。在本分步指南中,您将学习在 Excel 中计算平方根的 5 种不同方法,包括使用 SQRT 函数、POWER 函数、指数公式、VBA 代码和 Power Query。跟随教程&a…

TrOCR – 基于 Transformer 的 OCR 入门

一、TrOCR 架构 近些年,光学字符识别 (OCR) 出现了多项创新。它对零售、医疗保健、银行和许多其他行业的影响是巨大的。与深度学习的许多其他领域一样,OCR领域也看到了Transformer 神经网络的重要性和影响。如今,出现了像TrOCR(Transformer OCR)这样的模型,它在准确性方面…

查看实时日志

要查看实时日志,您可以使用以下几种常见的方法: 使用 tail 命令: tail 命令可以显示文件的末尾内容,您可以结合 -f 参数实时地查看日志文件的更新。例如: tail -f /path/to/logfile.log 将 /path/to/logfile.log 替换…

项目知识点总结-分页(三)

后端分页查询接口&#xff1a; Controller Service&#xff1a; Mapper&#xff1a; //分页搜索会议的方法List<SearchMeeting> getAllSearchMeeting(Param("sm") SearchMeeting searchMeeting,Param("page") Integer page,Param("pageSize&q…

games101 作业2

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

我学编程全靠B站了,真香(第一期)

你好&#xff0c;我是Martin。 我是就读于B站大学2020届的Martin同学&#xff0c;反正我学习计算机真的是全靠 B 站了。 我是个刷视频狂魔&#xff0c;B站收藏夹里也收藏了很多编程类视频&#xff0c; 比如C/C、Go语言、操作系统、数据结构和算法、计算机网络、数据库、Pyth…

Pytorch中张量矩阵乘法函数(mm, bmm, matmul)使用说明,含高维张量实例及运行结果

Pytorch中张量矩阵乘法函数使用说明 1 torch.mm() 函数1.1 torch.mm() 函数定义及参数1.2 torch.bmm() 官方示例 2 torch.bmm() 函数2.1 torch.bmm() 函数定义及参数2.2 torch.bmm() 官方示例 3 torch.matmul() 函数3.1 torch.matmul() 函数定义及参数3.2 torch.matmul() 规则约…

并查集与LRUCache

一)并查集 在一些应用问题中&#xff0c;需要将N个不同的元素划分成一些互不相交的集合&#xff0c;开始的时候&#xff0c;每一个元素自成一个单元素集合&#xff0c;然后按照一定的规律将归于同一组元素的集合进行合并&#xff0c;并且在此过程中需要反复使用到查询某一个元素…

使用grubby更改RHEL7/8/9的默认内核

使用grubby更改RHEL7/8/9的默认内核 验证默认内核版本获取当前默认内核的索引号检查所有内核的详细信息检查已安装的内核 更改默认内核引导条目使用索引号更改默认内核引导条目 验证默认内核版本 参考&#xff1a;https://linux.cn/article-16147-1.html # 验证默认内核版本 …

zookeeper源码(01)集群启动

本文介绍一下zookeeper-3.5.7集群安装。 解压安装 tar zxf apache-zookeeper-3.5.7-bin.tar.gz创建数据、日志目录&#xff1a; mv apache-zookeeper-3.5.7-bin /app/zookeeper-3.5.7 cd /app/zookeeper-3.5.7mkdir data mkdir logs编辑配置文件 zoo.cfg文件 cp conf/zoo_…