2.概念性理想的OSI模型
世界上第一个网络体系结构是IBM公司年提出的,被命名为“系统网络体系结构SNA”,但并没有被普及使用。年,国际标准化组织ISO提出了著,名的OSI参考模型。
OSI参考模型将网络分为7层,7层模型为:
层数
中文名
英文名
:-:
:-:
:-:
7
应用层
Application
6
表示层
Presentation
5
会话层
Session
4
传输层
Transport
网络层
Network
2
数据链路层
DataLink
1
物理层
Physical
这里要注意的是7层模型的书写顺序,是第一层在最下,第七层在最上。这种写法是国际上公认的标准书写方式,横着写,从上至下写,都会被认为是外行。
那为什么要分层呢?因为层次是人们处理复杂问题的基本方法。人们对于处理一些复杂的问题,通常会将其分解为若干个较容易处理的小一些的问题。在计算机网络中,将总体要实现的功能分解在不同的模块中,每个模块要完成的服务及服务实现的过程都有明确规定;每个模块叫做一个层次,不同的网络系统分成相同的层次;不同系统的同等层具有相同的功能;高层使用低层提供的服务时并不需知道低层服务的具体实现方法。这种层次结构可以大大降低复杂问题处理的难度。层次结构的划分,一般要遵循以下原则:
[x]每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻层产生影响。[x]层间接口必须清晰,跨越接口的信息应尽可能少。[x]层数应适中。若层数太少,则多种功能混杂在一层中,造成每一层的协议太复杂;若层数太多,则体系结构于复杂,使描述和实现各层功能变得困难。
在层次结构模型中数据的传送过程:在发送方从上到下逐层传递过程中,每层都要加上适当的控制信息,到最,底层由“0”或“1”组成的数据比特流,然后再转换为电信号在物理介质上传输到接收方;接收方再向上传递时过程正好相反,要逐层剥去发送方相应层加上的控制信息。这个过程,与邮政信件在实际传递中要加信封、加邮袋、进入邮车等层层封装,收到后再层层去掉封装的过程是相类似的。假设使用OSI参考模型应用于实际网络中,比如,发送一个电子邮件。我们可以得到OSI参考模型与其功能的对比。
OSI参考模型试图达到一种理想境界,它希望全世界的计算机网络都遵循这个统一的标准,因而全世界的计算机能够方便地进行互连和交换数据。但由于OSI参考模型协议过于复杂,分层不太合理,缺乏商业驱动力等因素,OSI参考模型在实际网络中并未得到广泛应用。规模最,大,覆盖全球的因特网也并未使用OSI参考模型标准,而是采用了分层较为简单的TCP/IP模型。
我在任何有关网络的课程中,只要涉及到OSI参考模型的内容时,我一定会和学生说:“要是想做计算机这一行,就算是忘了自己是谁,也不能忘了OSI参考模型是什么,否则就别干了。”
2.4参考模型再掰扯
似乎是从OSI参考模型开始,数据的格式就已经被确定了,上三层,也就是会话层、表示层和应用层,被称为消息。从第4层向下,每一层都有一自己的名称:
层数
名称
数据格式
:-:
:-:
:-:
7
应用层
消息
6
表示层
消息
5
会话层
消息
4
传输层
段
网络层
分组、包
2
数据链路层
帧
1
物理层
比特
在发送数据的时候,数据从应用层开始往下传,这个层层下传的过程,每一层都会给添上一个属于自己的“标识”,这个过程叫做封装,并且在每一层有不同的名称:经过传输层,加上头组成段;经过网络层,加上头组成数据包;经过数据链路层,加上头,加完后还要在结尾再加上一个校验组成数据帧,就封装完成了,然后在物理层通过比特来传输。传输过程不关心具体的数据是什么,应用程序也不关心数据是怎样被传输过去的,数据通过网络封装,再通过网线传输的过程对应用程序来说是透明的。
计算机在接收到数据帧后,需要去掉为了传输而添加的附加信息,这称为解封装。
好了,现在也应该简单说说路过的每一层都是做什么的了。我们得按照顺序来,当然是按照从1至7得顺序来。
物理层就像是人与人沟通中的能够互相听懂的“发音”。物理层解决最基本的传送通道、涉及问题主要是建立、维护和释放物理链路所需要的机械、电气/光学的、功能的和规程的特性,比如光缆如何衰耗,无线设备如何提高发射功率,为什么双绞线要有屏蔽层等。
数据链路层也简称为链路层,有了发音,才能有“字”或者“词”,对于说错话,要尽快予以纠正;如果不能很好地纠正,就要重新把话说一边。接下来,我们开始考虑在物理层提供的按“位”服务的基础上,在相邻的网络结点之间提供简单的、传输以帧为单位的数据,同时它还负责数据链路的流量控制、差错控制。首先,数据链路层为网络提供“简单”的通信链路,通信实体所在的系统必须经过物理介质直接相连,这里所说的物理介质可以是有限的铜缆或光缆,也可是是无线微波。我们要理解,这条链路不具备任何路径选择和转发功能,你可以把它仅仅理解为“一条封闭的路”,除了两端,没有额外出入口。
数据链路层将物理层提供的比特流组成“帧”,也就是说,把发送方发出来的若干“位”的数据组成一组,加上“开始”“结束”标志和与检错有关的代码等,形成有固定格式的数据帧。着有点像把货物放入标准集装箱中,正因为集装箱的体积、尺寸都是标准的,最后所有的集装箱看起来非常整齐,搬运和船载过程也会变得有序和规范。
假如我们运送的不是数据信息而是货物,运送工具不是帧而是车。这个问题怎么处理?发货方出货前,将附带一张“装箱单”,单子上标明了着车货物的相关参数,比如重量、体积、品质,接收方只需要称重量、测体积以及检验品质,并和装箱单上的数据做对比,即可判断运送过程中是否出现错误或者失误。
数据帧传送也有类似装箱单一样的信息,存储在“纠错字节”中。当数据帧到达目的地,它会对自身进行计算,计算结果和纠错字节中的内容进行对比。如果一致,进行下一步操作。如果不一致呢?这个类似“装箱单”的纠错字节就能够很快将错误检测出来并进行行营处理,其实也就是重传。
数据链路层有两个子层,分为上层LLC(逻辑链路控制)和下层的MAC(媒体访问控制)。LLC子层用于设备间单个连接的错误控制,流量控制;MAC子层主要功能是调度,把逻辑信道映射到传输信道,负责根据逻辑信道的瞬时源速率为各个传输信道选择适当的传输格式。这个具体的不说了,这两个子层要是细说,也够上万字了,具体有兴趣的还是细看百度吧。
网络层说话应该有目标、内容和语速,向谁说,通过谁转述,说什么,以多快的速度说。网络层所干的工作,就是进行路由选择、拥塞控制和网络互联。网络层对自己的上层:传输层,可以提供两种服务,一种叫做“面向连接”的网络服务,一种叫做“无连接”的网络服务,这里有点像城市轨道交通和出租车。
城市轨道交通的特点是,车辆沿着特定轨道行驶,自出发到目的地,路线、速度基本确定。面向连接的服务也有类似特点。
出租车的特点是,车辆走一站看一站,线路、速度均不确定。无连接的服务于此惊人一致。
传输层要保证别人听到你说的话,不能“想当然”。传输层的任务是向用户提供可靠的、透明的端到端的数据传输,以及差错控制和流量控制机制。由于它的存在,网络硬件技术的任何变化对高层都是不可见的,也就是说会话层、表示层、应用层的设计不必考虑低层细节,因此传输层起到“承上启下”的作用。所谓“端到端”是相对链接而言的。
OSI参考模型的第四层到第七层都属于端到端的方式,而第,一层到第三层属于链接的方式。在传输层,通信双方的两台计算机之间,有一对应用程序或进程直接对话,它们并不关心底层的实现细节。低层的链接方式就不一样,它要负责处理通信链路中的任何相邻机器之间的通信。
会话层说话要有开始、过程和终止。在不同的机器之间提供会话进程的通信,比如建立、管理和拆除会话进程。你可能要考虑这个话是在大庭广众之下说还是专门对某个人说,或者是说一句等对方答复后再说下一句。会话层还提供了许多增值服务,如交互式对话管理,允许一路交互、两路交换和两路同时会话;管理用户登录远程分时系统;在两机之间传输文件,进行同步控制。
表示层有些话要以悄悄话的形式,避免第三者听到;有些话,要简单明了,不要拖泥带水。表示层就处理通信进程之间交换数据的表示方法,包括语法转换、数据格式的转换、加密与解密、压缩与解压缩等。
应用层有了上面所列的网络层次,我们已经可把要说的话通过声带的震动,一字一句、清晰明了地告诉了某个好友,并保证他听到了,没有让第三者听到。你明确地让对方知道,你的谈话何时开始以及何时结束。应用层就负责管理应用程序之间的通信。应用层是OSI参考模型的最,高层,低层所有协议的最终目的都是为了应用层提供可靠的传送手段,低层协议并没有直接满足用户的任何实际需求。我们日常使用的浏览网页,电子邮件,即时通信,播放网络视频等都属于应用层的范畴,这时用户体验最直观的服务。
OSI是哲学,而不仅仅是技术,通信“层”的概念,让各种协议、规范、标准变得有所不同,它们更灵活但可控,更开放但不混乱,更清晰但不拘束。前面的论述可能会比较乏味,但是如果能紧密结合通信网络的一些实际应用,类比一下生活中的例子,我们会发现其实枯燥中蕴含着无穷乐趣,其实分层是一种哲学而非技术。
转载请注明:http://www.jingtiao123.com/jcyzlfa/9718.html