OSI七层模型

为什么要进行分层?

首先,我们引入一个建筑团队协作的例子。通常建造一个房子,需要打地基、建设房屋框架,房子雏形有了以后需要铺设水电、装修、刷墙等,每个环节由不同的专业团队完成,互不影响,工作效率也很高。

计算机网络也一样,计算机与计算机之间进行数据通信是一个非常复杂的过程。如果在同一层处理所有的事件,那么排查定位问题、修改协议等操作会变得非常复杂。为了避免这些问题,技术人员进行了分层设计。就像工程师编写程序一样,设计函数A完成姓名校验、设计函数B完成身份证合法性验证等,本质上就是为了解耦。

模型结构

OSI七层模型是一个理论上的模型,实际应用中虽然并不完全遵循,但它为理解和设计网络协议提供了一个框架。

应用层:这一层的作用是提供网络服务,比如提供HTTP服务,用户可以通过浏览器发起HTTP请求,该请求通过网络到达服务器,服务器响应了请求后将结果通过网络返回,展示给用户查看。就像一个人去餐厅点菜,只需要告诉服务员你想吃什么,服务员会将单子送到后厨,再将你点的餐食送到餐桌上。

表示层: 数据在网络上传输前需要将数据进行格式化,以确保发送方和接收方都能够理解;为了提升数据在传输过程中的速度和安全性,还会经过加密和压缩,再由接收方进行解密和解压

会话层:主要负责管理和控制应用程序之间的会话,确保数据的同步和顺序。例如用户A拨打视频电话,这就相当于在会话层建立了会话窗口,数据流在这一层会被有序管理,确保音视频数据能正确有序地传输;当用户挂断视频电话时,会话窗口就会被终止。

传输层: 传输层主要负责数据的分段和重组,以及提供数据传输服务。当应用程序之间需要传输大段数据时,会先在这一层被分割成若干段,每一段数据都有编号,这样即便网络不稳定导致数据段没按顺序到达目的地,接收方也能根据序号对数据进行重组还原。传输数据时可以根据需要使用TCP服务,或UDP服务

网络层: 确保数据包能够从源主机发送到目标主机,该过程涉及路由转发、IP寻址、数据分段和重组以及网络诊断等。假设应用程序A要发送一大段数据给服务器,该数据超过了当前链路的最大传输单元,因此会首先被分割成若干段再发送给第一个路由器。该路由器先查看路由表并通过最短路径算法决定将数据发送给哪个路由器;如果查询没有结果则查看是否有默认路由,若没有会发送一个ICMP通知源主机目标不可达。

数据链路层: 数据包在这一层会被封装成数据帧,并在数据帧两端加上MAC地址等信息后发送出去。数据帧到达目的主机后,会被重新拆分成数据包,并通过CRC等算法进行数据校验

物理层: 确保0、1比特流能够在物理介质中传输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值