1学习的原因
计算机网络虽然和工作内容没有直接的关联,却是工作中的一个重要利器。
比如,如果程序运行卡顿,当我们排查多遍代码,但是依旧无法排查出到底什么问题的时候,我们可以通过网络知识去推断对应的网络是否存在问题。这算是一个计算机程序员软实力的见证。
2产生原因
由于电脑型号数不胜数,不同电脑之间如果不规范通信标准,可能就导致每个电脑之间完全无法进行交流。就好比中国人要和阿拉伯人,印度人进行交流,是无法直接用汉语交流的,必须得学会阿拉伯语和印度语,这就极大的增加了交流成本。但是如果规范了语言,大家都把英语当作国际语言,这样的话,中国人就只要学会英语就可以和阿拉伯人、印度人进行交流了。
模型设计的原因也就是如此,电脑之间如果不规范通信协议,就必须安装对应的信息接收器,这就极大增加通信成本,对此就要通过统一信息通信协议来降低交互成本。
而对应的网络模型OSI就应运而生。
3 分层原因
由于信息从一个电脑传递到另一个电脑并不是简单的接收和发送过程。就好像两个公司业务的开始和结束并不是老板之间的直接交流就可以的,这之间会经过业务规划,成本计算,最终成立方案等一系列过程,最终才完成一个业务。
而模型分层也是如此。电脑初步接收到的数据并不是直接可以看到的汉字,而是数据流,也就是特殊的信号形式,电脑根据协议又经过一系列操作把这个数据流转化为数字信息,最终转化为我们可以看到的页面。
通过规范各个层的职责,从而提升信息处理和交互的效率。
3-1 物理层
1、用于规范传输介质。
简单来说,传输介质就是指网线、光纤这些用于传输数据的长长细细的线,规范就是指规定网线该长咋样,光纤该长咋样,为啥是又细又长,为啥那么多小细线组成,就都是这里规范的。
3-2 数据链路层
1、规范物理层接收的数据形式,让其能在电脑的传输介质中传输
数据在物理介质中是一段一段传播,就好像一根水管不是一天到晚都开着,而是时开时关,所以就是一段一段的,在水管里面水是一段一段的没有任何处理没关系,但是数据可不行,数据需要特定的协议去规范这一段一段的数据该怎么组成。而这就在数据链路层中实现。
2、错误检测
由于物理信号在传递的过程中会受到各种各样的干扰,比如网线遇到强电信号干扰之类的,可能导致物理信号出现错误。所以数据链路层通过差错控制等方式实现物理信号纠错。
3-3 网络层
1、设置地址和传播路径
显示中电脑之间并不是简单的一条网线直连,而是通过一系列路由充当中转站,层层传递,才能把信息从这台电脑传递到另外一台电脑。如此多路由和网线,如何才能准确把一个信息传递到另一台电脑呢?而这就是网络层的作用,网络层通过设置对应的IP信息,也就是网络地址,让信息能过准确进行传递。
3-4 传输层
1、建立端到端的信息传递
这个也很好理解,这里的端,指的是端口,比如192.168.6.1:80和192.168.6.1:22,这两个是同一个IP里面的不同端口。端口的作用是区别不同的应用程序,使不同操作系统的计算机应用程序能够互相通信。就好比80端口是给QQ用的,22端口是给微信用的,这样区分端口库,可以保证不让信息传错。
所以按照上面已经了解的层级,我们可以确保信息从这个电脑传递到另一台电脑,但是无法确保能准确的从这个电脑的微信,准确传递到另一台电脑的微信上面。而这就是传输层的作用了,传输层的作用就是要确保信息能在不同电脑的相同应用上面进行传输。
3-5 会话层
1、为应用程序建立通话通道
通过物理层,数据链路层,网络层的作用,找到了对应电脑的IP,然后通过传输层的作用,找到了对应的应用程序,那么下一步是什么?当然是要建立信息交互的通道。就比如,我们搭了地铁,转了公交,最终到了小明公司面前,但是无论怎么叫都无法得到回应,在我们抓耳挠腮之际,而前台带我们到了会议室。而这里的会议室就是会话层,给应用层建立信息交互的通道和规定如何进行连接。
3-6 表示层
1、实现不同计算机系统的信息转译和信息处理
当我们和小明打招呼后,只听到小明在那里叽里呱啦的说话,我们完全听不懂啊,这时候我们的翻译起到了作用,翻译把小明的话转化为了普通话,我们就可以和小明愉快的进行交流了。
而表示层的作用就是如此,也是最开始那个中国人和其它国家人交流的例子的实现模块。不同的计算机体系使用的数据形式和结构不同,而表示层就是用于处理数据表示以及传输有关的问题。就好像IBM主机用的是EBCDIC编码,而大部分PC主机用的是ASCII码,如何让PC主机读懂IBM主机的信息,就是靠表示层的信息转译。
3-7 应用层
1、为网络进程提供网络服务
通过表示层,我们能和小明进行正常的交流了,但是两公司的正式业务交流,可不是简单的拉家常,需要按照合理的章程和协议进行的。而我们和小明公司有三个业务,有商业大厦修建,养猪场修建和洗浴中心修建,三个业务当然要三份协议,当我们拿出商业大厦修建协议的时候,会议就按照商业大厦修建协议规定进行,当我们拿出养猪场修建协议的时候,会议就按照养猪场修建协议进行,一切井然有序,最终业务完美结束。
应用层的作用就是如此,根据不同的应用程序使用和接受不同的应用层协议,比如谷歌浏览器就要使用HTTP协议,邮箱使用SMTP协议等,这些协议让最后的信息交互和传递符合规范,提升信息交互效率。
以上就是OSI七层协议的描述和讲解,如果有什么建议可以提出,我会及时采纳和改正。