OSI七层协议
一、首先从下往上看第一层物理层
1:说一下自己第一眼看到物理层的理解吧,因为正在学习数据库,用数据库的三层模式二级映像说明一下,数据库的底层也是体现了物理性,比如模式/内模式映像就是体现了物理独立性,物理是底层的。
那么这里的物理层,网上说物理层是通过网络通信媒介将比特流数据从发送源设备物理层传输到接收设备的物理层,那么我读完问题来了:什么是比特流数据?
2:什么是比特流
比特流是一种内容分发协议,由布拉姆·科恩自主开发。它采用高效的软件分发系统和点对点技术共享大体积文件(如一部电影或电视节目),并使每个用户像网络重新分配结点那样提供上传服务。一般的下载服务器为每一个发出下载请求的用户提供下载服务,而BitTorrent的工作方式与之不同。分配器或文件的持有者将文件发送给其中一名用户,再由这名用户转发给其它用户,用户之间相互转发自己所拥有的文件部分,直到每个用户的下载都全部完成。这种方法可以使下载服务器同时处理多个大体积文件的下载请求,而无须占用大量带宽。
也就是说,比特流是一种类似于多人协同下载的内容发布协议,分为文件持有者和接收者,这里对应的物理层,那么物理层的作用就是将文件通过这种快速高效的协议方法从发送层(持有者)传到接受层(接收者)
二、数据联路层:
这一层的理解其实和它的字面意思很接近,起到了数据间的桥梁,它的作用:
第一:它可以将数据封装成帧,也就是在物理层拿到数据以后,它会为数据添加头部和尾部,封装成一个帧,接收端那边收到了物理层的比特流数据以后,便可以根据数据的头部和尾部的标记(识别帧),从而判断数据的开始和结束。
第二:它可以做到透明传输,也就是所谓的完全一模一样的传输,他之所以可以做到是因为它为数据添加了特定的专门指明的控制字符,而且传输的数据中任何的比特组合一定是不可以和划分边界的帧的控制字符的比特编码一样,否则帧的分界点就会出现错误!所以既然有了上面的编码控制保证,那么他就可以保证不管键盘里面输入什么字符都可以包裹在这样的帧里面完整的传输!
三:网络层:
网络层其实就是一种端到端的数据透明传输,网路层需要为传输层(下一层)提供服务,为了给传输层提供服务它就必须使用网络链路层提供的服务,我们前面讲到数据链路层负责的是直接的数据头和尾也就是解决了两个相邻点之间的通信,并不负责解决数据通过子网中多个转节点时的通信问题,所以说网络层说白了其实是数据链路层的补充和拓展,它让源端的数据可以以最佳的路径透明地通过通信子网中的多个转接节点到达目的端,使得传输层不必关心网络的拓扑构型以及所使用的通信介质和交换技术。
传输层:
通过字面意思,传输层就是传输,什么是传输呢?我们通过QQ微信给别人发消息,对方收到了,这就是传输,我们前面说到网络层将信息发送到了接收方那里,那么接收方怎样去接受这个信息,用什么样的协议来接受就是传输层的作用,所以传输层实现的是进程到进程间的连接。
再次回到一开始我们说的数据库三级模式二级映像,我们知道外模式/模式就是体现了逻辑独立性的特点,在这里,传输层,其实它所提供的的数据之间的通信也是逻辑通信,也就是说它向更高层(应用层)屏蔽了下面网络层的细节,使应用程序看起来好像是在传输层之间沿着水平方向传输数据,但事实上两者之间并没有这样一条实际的物理连接。
会话层:
会话层就已经靠上面了,我们知道越往上就越接近我们的生活与日常,会话层说白了就是发送方与接收方的对话,只不过这个对话有很多形式,比如有些对话是需要加密的,假设我是A要向B共享一个文件,这就是一个会话,B的电脑会有一个弹窗需要输入我电脑的账号密码才可以访问这个文件,也就是windows里面的SMB协议,会话层的一个协议,他起到了身份鉴定,权限鉴定,类似这样的一次会话,很多我们生活中与人通信所会面临的很多事情都是会话层的作用,还有像我们要给对方发送很多文件,我们设定这个会话持续60分钟,对方十分钟就接受到了第一个文件然后关掉了窗口,其实B只是关闭了它的进程而并不是关闭了我与他之间的会话,当我再次给他传送第二个文件的时候他就不需要在弹窗中输入我的账号密码来验证身份了,这就是会话层的作用保持通话,等等等等,所以简单理解就是用户与用户的连同了
表示层:
表示层的作用在于数据编码,正如前面说的一样,从会话层我们就发现开始接近了我们用户的真实世界了,哈哈不在像什么帧,什么子网节点,什么比特流那么抽象了,他更加接近了我们,你想想看,我们什么时候用到了数据编码?我们买了电脑,作为程序员我们第一步是什么?是不是配置各种各样的环境?因为没有环境我们的很多程序跑不起来,这个表示层也一样,字面理解一下就是为了表示,比如你在电脑上要看一个图片网站,这个图片网站上有一个gif,但是你的电脑没有gif,那么你的电脑就会显示xx,或者一些乱码,再比如说你的电脑没有下载压缩软件没有下载.mp3音乐的解码器,那么你的电脑就无法看这些听这些,所以表示层的作用相信就很清楚啦,就是为了可以让一些东西表示出来
应用层:
作为最后一层(第七层)的大哥,应用层当然会有很多接口,它直接向应用进程进程提供服务,用于处理业务,分为两种元素:公共应用服务元素CASE和特定应用服务元素SASE,那什么是CASE什么是SASE呢?
CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等。
总结一下:
七层协议,每一层各司其事的同时又相互联系,就像数据联络层就在网络层和物理层直接起到了很大的作用,承上启下,没有数据联络层的数据封装就没有网络层的节点交通,只有物数网传四大层完整的封装好了信息,往上的应用层(五六七层一起统称应用层)才可以发挥提现在用户与用户之间真实的效果。下面放几张我感觉很有用的图
TCP/IP五层模型各层常用协议(把应用层和会话层、表示层合并层应用层)
应用层#
TFTP、HTTP、SNMP、FTP、SMTP、DNS、Telnet......
传输层#
TCP、UDP
网络层#
IP、ICMP、OSPF、EIGRP、IGMP
数据链路层#
SLIP、CSLIP、PPP、MTU
物理层#
ISO2110、IEEE802、IEEE802.2
|