OSI七层模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,自1979年完成最终修订工作后,该模型沿用至今。但在网络技术的学习中,如何深刻理解各层模型的作用呢?本文将用现实生活中的小例子生动地为您讲解,揭开OSI七层模型的神秘面纱!
〇、故事背景
2022年7月,小甲毕业后由A市来到B市就业,因新冠疫情反复,抵达B市当天居委会便要求收集小甲的健康码、行程码等信息。
一、应用层
在对话中,工作人员使用文字方式提出诉求,小甲通过图片、表情包传达信息完成对话,这些人类可见的文字、图片(含表情包)以及人类可以听到的语音信息,都是工作在应用层的。
- 因此,应用层是指网络服务与最终用户的一个接口,是人类看见、听见的文字、图片、音频、视频等信息。其协议有:HTTP、FTP、TFTP、SMTP、SNMP、DNS、TELNET、HTTPS、POP3、DHCP等。
二、表示层
当小甲选择图库中的图片或表情包准备发送时,我们便来到了表示层。对于人来说,它们可以分为图片、文字、视频或者语音、文件等等。但是对于手机、电脑这些电子设备来讲,这些都是一串串的编码。
小甲手机上的图片编码传输到工作人员的电脑上,工作人员的电脑通过解码这串图片编码,最终获得和小甲手机上显示一样的行程码信息,也就是人类可见的图片,以判断其是否在近期旅居过中高风险地区。
- 因此,表示层是指将人类可见、可听的文字、图片、视频等内容通过不同的编码进行格式化、加密等操作,便于电子设备理解和传输。其格式包括ASC II(文字编码)、JPEG(图片编码)等等。
三、会话层
完成了疫情登记后,小甲使用京东购买了一些生活用品,付款时运用了微信支付。
- 在京东选择微信付款的操作中,便用到了会话层。通过京东和微信建立会话,付款成功后结束会话。而京东因商业战略考虑未开通支付宝付款,小甲即便只有支付宝有钱也无法运用京东和支付宝建立会话购买商品。
四、传输层
传输层提供了端到端的数据传输服务,主要区分TCP协议和UDP协议的区别。此外,传输层还定义传输数据的协议端口号,以及流控和差错校验。
在完成了基本安置后,公司HR给小甲打微信视频电话向之问好,对其即将加入公司表示欢迎,并提出了需要将学信网学籍/学历验证报告以PDF格式的报告发送到HR的微信上。
4.1、UDP
在上述场景中,HR和小甲的微信视频对话因UDP没有拥塞控制,始终以恒定速度发送数据,即便网络条件比较差,也不会随意调整发送速率。因此在如网络会议、直播和视频通话这种即时性要求高的情况下使用UDP协议,尽管可能丢包,也不至于影响会议、视频电话、直播的进度。
4.2、TCP
当小甲给HR发送PDF文件时,因PDF是一个完整的文件,若其一部分丢包,即便大部分传输至HR的电脑/手机上,文件也无法正常解码,也就没有办法得到这份文件。因此,在对完整性要求的文件传输中,使用TCP协议。TCP协议在接收之后校验失败会触发重传,保障了文件的完整性。
五、网络层
小甲在京东下单后可以看到相应的规划路线,其购买的货品从其所在城市仓库出库,经由区集散中心,到达街道或小区快递站。
在上述快递经过的路线中,是快递公司制定的规范路线,由仓库到区集散中心,再从集散中心到街道或小区,其对接人、对接点均已指定,仅需对下一级进行寻址和路径的确定即可。
- 网络层正是如此,通过IP地址进行寻址,实现不同网络之间路径的选择。主要协议有:ICMP、IGMP、IP(IPV4和IPV6)。
六、数据链路层
当快递抵达小区快递站后,快递小哥将根据预约的送达时间、送达具体地址、快递重量、大小等来确定何时配送、以何种工具配送等等。
假设小甲两件衣服,且其所在小区都只是一些信件、衣物等比较轻、不占位置的商品。那么分配的快递小哥可能只会使用一辆摩托车或电动车运送至小区楼下,再进行逐一配送。
假设小甲买了两箱可乐、两袋米、以及碗筷等易碎品,加之小区用户可能购买了冰箱、洗衣机等大物件。那么该小区的配送员则会根据物件大小、重量选择一个中型或大型货车,抵达小区后逐一配送至用户手中。
- 在上述案例中,使用摩托车/电动车或中型/大型货车配送则可看作是数据链路中的不同协议。具体选择哪种协议,取决于实际需求。数据链路层可建立逻辑连接、进行硬件地址寻址、差错校验等功能。且可将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。