人人都必需懂的OSI参考模型,到底是什么玩意儿

在很久很久以前,企业级通讯设备的协议是不互通的。HP,IBM等厂商都根据自己的协议生产了不同的软硬件。这样做也是因为数据通讯的保密性,但是这样做有一个弊端,就是不同品牌的设备之间相互通讯非常困难。
  
  举个例子,以前的中国,阎锡山为了做山西土皇帝,山高皇帝远,在自己势力范围内建造窄轨铁路,蒋介石国军的火车无法进入山西境内,无法便利调动军队、物资,实现一人独大的军阀割据格局。以互联网的眼光看,如果标准轨道铁路网是一个互联网,那阎锡山的窄轨铁路就是一个自我封闭的局域网,为了打破这种非标准化的私有标准,需要制定一个大家都遵守的国际标准。
  
  为了解决“各自为战”的局面,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT),发起了国际通讯协议标准。初衷是为了让各大厂商之间的设备遵循这个规定,生产出的设备可以畅通无阻地互相通信。
  
  这个统一的协议称之为:OSI参考模型
  
  OSI参考模型分为七层

  人人都必需懂的OSI参考模型,到底是什么玩意儿
  每一层都有他的目的和作用,下面我们逐一介绍一下。
  
  应用层

  
  这里说的是提供应用程序进程的网络接口。首先要理解接口的定义。这里的接口不是指路由器交换机这种设备的物理接口,而是指逻辑上的。举个例子,如果你使用浏览器,浏览器上会有标签页,刷新,收藏等按钮。如果你想打开一个新标签页,就可以点击加号。

  人人都必需懂的OSI参考模型,到底是什么玩意儿
  这种叫UI(User Interface)用户接口。意思是用户和机器交互的接口。
  
  如果我想要做某个操作,我需要电脑能够给我提供操作的空间,例如我想打开新的标签页,我就需要浏览器这个程序上有个加号。
  
  同样的,我的应用程序想要通过网络传输一些数据,也是需要类似的“接口”的。这个接口由应用层提供。典型的例如HTTP就是应用层协议。它可以让网页的内容在服务器和客户端之间传输。
  
  表示层

  
  这里表示层的主要作用是协商数据传输时使用的编码。我们还是拿HTTP这种常用的协议来举例子。在浏览网页时,我们可以查看网页上的各种信息,像图片,文字,视频等。
  
  那么在传输时,浏览器是如何知道图片以及文字的表达形式呢,传过来的那么多信息,程序是如何知道传的是图片还是文字还是视频呢?
  
  这就依靠我们表示层给出的信息来识别。我们一起来看一下网页的源代码。

  人人都必需懂的OSI参考模型,到底是什么玩意儿
  这边可以在第五行看到这样一段代码:charset=utf-8
  
  简单介绍一下UTF-8
  
  这是一种字符的编码方式,它支持英文,简中,繁重,日文韩文等不同国家的语言,使他们能够正常在网页中显示,这都是表示层的功劳。
  
  会话层

  
  会话层的作用很简单,在程序间建立,管理和结束会话。何为会话呢?我打开QQ和朋友聊天这是一种会话,聊天的同时我还在使用浏览器看视频,这是另一种会话。
  
  这两种会话的流量都是通过网络传输过来的,那么如何保证聊天的流量不会发送给浏览器,视频的流量又不会发给QQ呢?这一般是操作系统层面去实现的事情。
  
  每个应用程序都有属于自己的PID(进程号)这些号码在系统中是唯一的,所以系统根据进程号来区分不同的会话。
  
  传输层

  
  主要是提供端到端的通信,可靠的传输以及流控。上面的三层我们一般也统称应用层。因为都是应用程序或者操作系统帮我们完成的,跟网络没有什么太大的关系。而传输层起到一个承上启下的作用。
  
  网络层
  

  网络层主要的作用是路由数据包,选择一条最佳的路径以及提供逻辑地址去选路。典型的像IP地址就是一种逻辑地址,是人为规定的,可以随意更改。
  
  数据链路层

  
  这里不太好理解给出的定义是接入媒体,可以把这里的Media理解为硬件,接入硬件,需要提供一个接入硬件的方式。
  
  例如在以太网中,数据链路层使用MAC地址,而MAC地址是每个以太网设备在被制造出来时都会有的一个硬件地址,这便是接入硬件的意义。因为最终数据还是要发送到设备上的某个接口的,光靠三层的逻辑地址是不够的。
 
  物理层
  
  这里物理层主要是定义电器特性,比方说线速,电压等等物理特性。
  
  以上就是OSI参考模型
  
  总的来说它将网络通信这个复杂的过程通过分层给模块化了,每一层都有自己的任务,就像寄快递一样。

  
  总结

  
  先将要寄的东西打包,这是应用层的数据。那么现在到了传输层,主要是提供一种传输方式。类似我们在寄快递的时候选择空运或者陆运。空运比较贵嘛,但是快,陆运便宜但是慢。这边只是一个比喻,实际肯定没有这么简单。
  
  传输层主要会使用TCP和UDP两种协议。那么在选择完了传输方式后,就需要填写发件人(源地址)和收件人(目标地址)了。填写完毕以后交给快递公司,他们会把快递由一个转运中心发往另一个转运中心,并不是直接从源发往目标。这里的转运中心其实就到二层了。
  
  在传输过程中,像以太网中的MAC地址,是会不停变化的,就像一个快递由上海发往武汉,会先到上海的某个集散中心,然后发往武汉,然后又在武汉的集散中心转几圈,最后发往离目标最近的快递点,然后才开始配送,最终送到收件人手上。
人人都必需懂的OSI参考模型,到底是什么玩意儿

人人都必需懂的OSI参考模型,到底是什么玩意儿
  
  本文作者:Lee Xu
  
  HCIE-R&S、CCIE-R&S
  
  擅长路由交换、安全、无线等技术
  
  湖北省职业院校计算机网络赛项获奖指导老师
  
  主要技术方向Cisco和Huawei
  
  讲授课程:HCIE、CCNA、CCNP、HCNA、HCNP等

猜你喜欢

转载自blog.51cto.com/13946595/2167293