ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OSI七层模型白话解释

2021-10-10 13:02:25  阅读:230  来源: 互联网

标签:协议 封装 白话 七层 OSI 传输 传输层 数据


各层设备

应用层……………….计算机:应用程序,如FTP,SMTP,HTTP

表示层 ……………….计算机:编码方式,图像编解码、URL字段传输编码

会话层 ……………….计算机:建立会话,SESSION认证、断点续传

传输层 ……………….计算机:进程和端口

网络层…………………网络:路由器,防火墙、多层交换机

数据链路层 ………..网络:网卡,网桥,交换机

物理层…………………网络:中继器,集线器、网线、HUB

各层定义

物理层:主要是将比特或者说是0和1转化为强弱电流,然后到接受方在将强弱电流转化为01.主要定义光纤的接口,网线的接口。具体标准有:RS232  V.35   RJ-45  FDDI

(白话:科学家要解决的第一个问题是,两个硬件之间怎么通信。具体就是一台发些比特流,然后另一台能收到。于是,科学家发明了物理层:

主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。)

数据链路层:ip数据报封装成帧,传给物理层。常见协议:IEEE802.3/.2  HDLC  PPP  ATM

(白话:现在通过电线我能发数据流了,但是,我还希望通过无线电波,通过其它介质来传输。然后我还要保证传输过去的比特流是正确的,要有纠错功能。

于是,发明了数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。)

网络层:主要的协议有ip,主要是将报文封装成ip数据报。常见协议:IP  ICMP  IGMP  IPX  ARP

(白话:传输层只是解决了打包的问题。但是如果我有多台计算机,怎么找到我要发的那台?或者,A要给F发信息,中间要经过B,C,D,E,但是中间还有好多节点如K.J.Z.Y。我怎么选择最佳路径?这就是路由要做的事。
于是,发明了网络层。即路由器,交换机那些具有寻址功能的设备所实现的功能。这一层定义的是IP地址,通过IP地址寻址。所以产生了IP协议。)

传输层:主要的协议有tcp和udp,tcp将数据封装成用户数据报或者说是报文,然后分段传输,udp将数据封装成用户数据报直接传输。运输层向它上面的应用层提供端到端通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。传输层对收到的报文进行差错检测。常见协议:TCP  UDP  SPX

(白话:现在我能发正确的发比特流数据到另一台计算机了,但是当我发大量数据时候,可能需要好长时间,例如一个视频格式的,网络会中断好多次(事实上,即使有了物理层和数据链路层,网络还是经常中断,只是中断的时间是毫秒级别的)。
那么,我还须要保证传输大量文件时的准确性。于是,我要对发出去的数据进行封装。就像发快递一样,一个个地发。
于是,先发明了传输层(传输层在OSI模型中,是在网络层上面)
例如TCP,是用于发大量数据的,我发了1万个包出去,另一台电脑就要告诉我是否接受到了1万个包,如果缺了3个包,就告诉我是第1001,234,8888个包丢了,那我再发一次。这样,就能保证对方把这个视频完整接收了。
例如UDP,是用于发送少量数据的。我发20个包出去,一般不会丢包,所以,我不管你收到多少个。在多人互动游戏,也经常用UDP协议,因为一般都是简单的信息,而且有广播的需求。如果用TCP,效率就很低,因为它会不停地告诉主机我收到了20个包,或者我收到了18个包,再发我两个!如果同时有1万台计算机都这样做,那么用TCP反而会降低效率,还不如用UDP,主机发出去就算了,丢几个包你就卡一下,算了,下次再发包你再更新。)

会话层:主要在你的系统之间发起会话或者接受会话请求。常见协议:RPC   SQL  NFS

(白话:现在我们已经保证给正确的计算机,发送正确的封装过后的信息了。但是用户级别的体验好不好?难道我每次都要调用TCP去打包,然后调用IP协议去找路由,自己去发?当然不行,所以我们要建立一个自动收发包,自动寻址的功能。
于是,发明了会话层。会话层的作用就是建立和管理应用程序之间的通信。)

表示层:简单来说就是win系统想给QQ发短信给linux的QQ的规范标准,表示层会通过使用一种通格式来实现多种数据格式之间的转换。常见协议:JPEG   ASCII  GIF  DES  MPEG

(白话:现在我能保证应用程序自动收发包和寻址了。但是我要用Linux给window发包,两个系统语法不一致,就像安装包一样,exe是不能在linux下用的,shell在window下也是不能直接运行的。于是需要表示层(presentation),帮我们解决不同系统之间的通信语法问题。)

应用层:  应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。主要的协议:HTTP  TELNET  FTP  SMTP

(白话:OK,现在所有必要条件都准备好了,我们可以写个android程序,web程序去实现需求把。)

标签:协议,封装,白话,七层,OSI,传输,传输层,数据
来源: https://blog.csdn.net/zengmingen/article/details/120684817

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有