zoukankan      html  css  js  c++  java
  • 计算机网络-OSI七层模型 理解

    学习的原因

    计算机网络虽然和工作内容没有直接的关联,却是工作中的一个重要利器。

    比如,如果程序运行卡顿,当我们排查多遍代码,但是依旧无法排查出到底什么问题的时候,我们可以通过网络知识去推断对应的网络是否存在问题。这算是一个计算机程序员软实力的见证。

    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里面的不同端口。端口的作用是区别不同的应用程序,使不同操作系统的计算机应用程序能够互相通信。

    按照上面已经了解的层级,我们可以确保信息从这个电脑传递到另一台电脑,但是无法确保能准确的从这个电脑的微信,准确传递到另一台电脑的微信上面。而这就是传输层的作用了,传输层的作用就是要确保信息能在不同电脑的相同应用上面进行传输。

    3-5 会话层

    1、为应用程序建立通话通道

    通过物理层,数据链路层,网络层的作用,找到了对应电脑的IP,然后通过传输层的作用,找到了对应的应用程序,那么下一步是什么?当然是要建立信息交互的通道。就比如,我们搭了地铁,转了公交,最终到了小明公司面前,但是无论怎么叫都无法得到回应,在我们抓耳挠腮之际,而前台带我们到了会议室。而这里的会议室就是会话层,给应用层建立信息交互的通道。

    3-6 表示层

    1、实现不同计算机系统的信息转译和信息处理

    当我们和小明打招呼后,只听到小明在那里叽里呱啦的说话,我们完全听不懂啊,这时候我们的翻译起到了作用,翻译把小明的话转化为了普通话,我们就可以和小明愉快的进行交流了。

    而表示层的作用就是如此,也是最开始那个中国人和其它国家人交流的例子的实现模块。不同的计算机体系使用的数据形式和结构不同,而表示层就是用于处理数据表示以及传输有关的问题。就好像IBM主机用的是EBCDIC编码,而大部分PC主机用的是ASCII码,如何让PC主机读懂IBM主机的信息,就是靠表示层的信息转译。

    3-7 应用层

    1、为网络进程提供网络服务

    通过表示层,我们能和小明进行正常的交流了,但是两公司的正式业务交流,可不是简单的拉家常,需要按照合理的章程和协议进行的。而我们和小明公司有三个业务,有商业大厦修建,养猪场修建和洗浴中心修建,三个业务当然要三份协议,当我们拿出商业大厦修建协议的时候,会议就按照商业大厦修建协议规定进行,当我们拿出养猪场修建协议的时候,会议就按照养猪场修建协议进行,一切井然有序,最终业务完美结束。

    应用层的作用就是如此,根据不同的应用程序使用和接受不同的应用层协议,比如谷歌浏览器就要使用HTTP协议,邮箱使用SMTP协议等,这些协议让最后的信息交互和传递符合规范,提升信息交互效率。


     

    七层模型作用图解

    七层模型作用图解

     

    TCP/IP

    TCP/IP
  • 相关阅读:
    Shell编程学习1-变量的高级用法
    Ubuntu新机配置深度学习环境遇到的问题
    Python细致技巧总结(不断更新)
    图片着色后存储为“JPEG”格式存在明显色差问题解决
    python图片合成视频
    caffe-ssd安装问题解决
    python画图
    python split(),os.path.split()和os.path.splitext()函数用法
    转载:mysql 存储过程
    css实现div框阴影
  • 原文地址:https://www.cnblogs.com/ndh074512/p/14592361.html
Copyright © 2011-2022 走看看