zoukankan      html  css  js  c++  java
  • 什么是OSI七层模型

    1.小故事比喻

    下面通过记录知乎上一个形象的小故事来比喻来解释一下OSI七层模型中的每一层的作用和存在的意义。

     

    我们平时都会进行上网,比如我们上网聊天,会选择微信或者QQ,如果想买东西会选择京东或者淘宝。

    当我们通过淘宝买一件商品的时候,店家肯定会需要把商品进行打包,然后你收到商品之后肯定需要拆掉

    外面的包装才能看到里面的商品。这里还有一个问题,就是你买东西只有你真的下单了,客服这个时候才

    会发个消息给你问你是否真的下单,你真的下单了,这边就给你安排发货了。你确定买了之后,商家这边就

    会填写好相关快递单,交给快递公司。这个时候,如果是追求快递速度,一般会选择顺丰,保证安全的一般

    会选择EMS。选择好快递公司后,快递公司收到了快件通知,会查看订单上的地址信息:“发件地址:北京市,

    收件地址:上海市”。此时,分拨中心会根据地址选择运输路径,计算途经哪几个分拨中心能最快/路径最短的

    将货物送达。分拨中心根据地址信息提供路径选择,我们说分拨中心工作在网络层。(网络层作用:基于IP地

    址为数据的传输进行网络间的路由选择)。上海分拨中心公司收到货后,当地的快递小哥会根据收件人的姓

    名和电话联系到收件人,将货物安全送达。快递小哥是通过姓名和电话(相当于Mac地址)联系到个人的,

    我们说快递小哥工作在数据链路层。(数据链路层作用:物理地址寻址,为网络层提供数据传送服务)。

    总结上面的小故事中对应到OSI七层模型中的关系。

    应用层-------------电商平台(应用软件中对应的SMTP,Http,Ftp等应用层协议

    表示层-------------商家的打包工作人员(负责数据压缩、编码

    会话层-------------旺旺客服(负责文件发送/接收确认)

    传输层--------------快递公司(EMS——TCP;顺丰——UDP

    网络层------------  分拨中心(路由器)

    数据链路层-------------快递小哥(交换机)

    物理层-----------司机大哥和交通工具(网线/光纤)

    2.OSI七层模型直接的关系以及为什么会有这个抽象模型

    OSI,是英文Open System Interconnect的缩写,中文翻译开放系统互联,一个抽象七层模型,但其核心思想一点也不抽象,非常具体

    其核心思想:

    1) 通信两端的主机能够理解对方的语言

    这是要求主机使用相同协议格式来发送数据

    2) 希望通信系统模块化,每个模块提供标准接口

    每个模块给和直接耦合的模块提供标准化的流程接口,每个模块内部无论怎样实现没有硬性规定,但外在的接口一定是标准件,这样耦合的模块可以无缝对接起来。

    1.OSI七层模型到底是什么,为什么出现

    讲到底OSI七层模型其实就是一个标准,一个网络双方进行通信的一个标准。通过这个标准,网络双方就可以进行数据的交换。那有同学会问,为什么会有这个标准,
    老话讲的好,正所谓无规矩不成方圆,如果没有一个统一的标准,就相当于我生产一个电脑是通过这个标准进行通信的,你生产的电脑通过另一个标准进行通信的,
    那么我们两个的电脑不可能进行通信,只能和自己同标准的电脑通信。这样对于互联网存在的意义就是一个很大的挑战,就不能愉快的建立我们的地球村了。所以
    出一个标准是多么重要。

    2.为什么是七层模型

    那为什么要搞个七层模型,这样做也是有原因的,就是上面讲的标准已经是统一了,你的电脑和我的电脑就可以通信了,这个没问题了,接下来随着时代的发展,为
    了满足人们日益增加的需求,就会出现各种各样的满足人们需求的应用程序。但是这个时候会有一个问题,就是我开发一个应用程序,我不止要理解用户的需求进行
    相关架构和逻辑设计,进行代码编写。我还要理解我的应用程序在网络中是怎么进行通信的,并进行网络层接口的相关开发工作。这个过程你就要知道很复杂。会增
    加很多工作量。这个时候七层模型的出现的作用就出来了。OSI 7 层模型则与之类似,都是下层为上层提供传输服务,不关心上层传输的内容,而上层也不关心下层
    传输的手段,只期望能将信息最终发到通信对端的相应层次上。这个时候,开发工作就会细分出来了,软件层开发可能就更注重应用层面的开发工作,而不用关心底层
    硬件如何进行交互的,只要硬件层给一个标准的接口就OK了。硬件层面的开发,也不用管上层软件层面是怎么实现的,我只关心我底层硬件是如何交互的,只要最后我
    给出一个标准的接口和应用层交互就OK了。再补充一句,虽然设计上是下层和上层是服务和被服务的关系,互相不关心实现细节,实际上出于这样或那样的原因,多少
    还会有一些相关性,并不完全独立,但是层次结构还是明确的。
    上面讲了为什么互联网通信的标准要分层,那一开始的问题还没解决,就是为什么要分七层,而不是五层三层,那是因为七层是互联网诞生以来,经过多种实际和验证
    之后。
  • 相关阅读:
    反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
    火车售票系统(数据结构课设)
    货物管理系统(数据结构链式表)
    货物管理系统(数据结构顺序表)
    进制转换器(十进制转n进制)
    大学生成绩管理系统(C语言)
    如何对Linux的grub进行加密
    戴文的Linux内核专题:07内核配置(3)
    戴文的Linux内核专题:06配置内核(2)
    戴文的Linux内核专题:05配置内核(1)
  • 原文地址:https://www.cnblogs.com/qingbaizhinian/p/13589453.html
Copyright © 2011-2022 走看看