Ⅰ 请帮助解读OSI网络通信模型。
OSI七层模型介绍
OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。下面我简单的介绍一下这7层及其功能。
OSI的7层从上到下分别是
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。下面我给大家介绍一下这7层的功能:
(1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。
(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASII格式,发送方将把文本从发送方的字符集转换成标准的ASII后发送数据。在接收方将标准的ASII转换成接收方计算机的字符集。示例:加密,ASII等。
(3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
(5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
(6)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的歌种介质有关。示例:ATM,FDDI等。
(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。
OSI分层的优点:
(1)人们可以很容易的讨论和学习协议的规范细节。
(2)层间的标准接口方便了工程模块化。
(3)创建了一个更好的互连环境。
(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。
(5)每层利用紧邻的下层服务,更容易记住个层的功能。
大多数的计算机网络都采用层次式结构,即将一个计算机网络分为若干层次,处在高层次的系统仅是利用较低层次的系统提供的接口和功能,不需了解低层实现该功能所采用的算法和协议;较低层次也仅是使用从高层系统传送来的参数,这就是层次间的无关性。因为有了这种无关性,层次间的每个模块可以用一个新的模块取代,只要新的模块与旧的模块具有相同的功能和接口,即使它们使用的算法和协议都不一样。
网络中的计算机与终端间要想正确的传送信息和数据,必须在数据传输的顺序、数据的格式及内容等方面有一个约定或规则,这种约定或规则称做协议。网络协议主要有三个组成部分:
1、语义:
是对协议元素的含义进行解释,不同类型的协议元素所规定的语义是不同的。例如需要发出何种控制信息、完成何种动作及得到的响应等。
2、语法:
将若干个协议元素和数据组合在一起用来表达一个完整的内容所应遵循的格式,也就是对信息的数据结构做一种规定。例如用户数据与控制信息的结构与格式等。
3、时序:
对事件实现顺序的详细说明。例如在双方进行通信时,发送点发出一个数据报文,如果目标点正确收到,则回答源点接收正确;若接收到错误的信息,则要求源点重发一次。
70年代以来,国外一些主要计算机生产厂家先后推出了各自的网络体系结构,但它们都属于专用的。
为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。
国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢, 大大推动了网络通信的发展。
OSI 参考模型将整个网络通信的功能划分为七个层次,见图1。它们由低到高分别是物理层(PH)、链路层(DL)、网络层(N)、传输层(T)、会议层(S)、表示层(P)、应用层(A)。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。第四层到第七层主要负责互操作性,而一层到三层则用于创造两个网络设备间的物理连接.
1.物理层
物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
1.1媒体和互连设备
物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设备。DTE既数据终端设备,又称物理设备,如计算机、终端等都包括在内。而DCE则是数据通信设备或电路连接设备,如调制解调器等。数据传输通常是经过DTE——DCE,再经过DCE——DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。
1.2物理层的主要功能
1.2.1为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路.
1.2.2传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要.
1.3物理层的一些重要标准
物理层的一些标准和协议早在OSI/TC97/C16 分技术委员会成立之前就已制定并在应用了,OSI也制定了一些标准并采用了一些已有的成果.下面将一些重要的标准列出,以便读者查阅.ISO2110:称为"数据通信----25芯DTE/DCE接口连接器和插针分配".它与EIA(美国电子工
业协会)的"RS-232-C"基本兼容。ISO2593:称为"数据通信----34芯DTE/DCE----接口连接器和插针分配"。ISO4092:称为"数据通信----37芯DTE/DEC----接口连接器和插针分配".与EIARS-449兼容。CCITT V.24:称为"数据终端设备(DTE)和数据电路终接设备之间的接口电路定义表".其功能与EIARS-232-C及RS-449兼容于100序列线上.
2.数据链路层
数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系就叫作数据链路.而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。
2.1链路层的主要功能
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应具备如下功能:
2.1.1链路连接的建立,拆除,分离。
2.1.2帧定界和帧同步。链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
2.1.3顺序控制,指对帧的收发顺序的控制。
2.1.4差错检测和恢复。还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术来完成。
2.2数据链路层的主要协议
数据链路层协议是为发对等实体间保持一致而制定的,也为了顺利完成对网络层的服务。主要协议如下:
2.2.1ISO1745--1975:"数据通信系统的基本型控制规程".这是一种面向字符的标准,利用10个控制字符完成链路的建立,拆除及数据交换.对帧的收发情况及差错恢复也是靠这些字符来完成.ISO1155, ISO1177, ISO2626, ISO2629等标准的配合使用可形成多种链路控制和数据传输方式.
2.2.2ISO3309--1984:称为"HDLC 帧结构".ISO4335--1984:称为"HDLC 规程要素 ".ISO7809--1984:称为"HDLC 规程类型汇编".这3个标准都是为面向比特的数据传输控制而制定的.有人习惯上把这3个标准组合称为高级链路控制规程.
2.2.3ISO7776:称为"DTE数据链路层规程".与CCITT X.25LAB"平衡型链路访问规程"相兼容.
2.3链路层产品
独立的链路产品中最常见的当属网卡,网桥也是链路产品。MODEM的某些功能有人认为属于链路层,对些还有争议.数据链路层将本质上不可靠的传输媒体变成可靠的传输通路提供给网络层。在IEEE802.3情况下,数据链路层分成了两个子层,一个是逻辑链路控制,另一个是媒体访问控制。下图所示为IEEE802.3LAN体系结构。
AUI=连接单元接口 PMA=物理媒体连接
MAU=媒体连接单元 PLS=物理信令
MDI=媒体相关接口
3.网络层
网络层的产生也是网络发展的结果.在联机系统和线路交换的环境中,网络层的功能没有太大意义.当数据终端增多时.它们之间有中继设备相连.此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况,这就是产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者叫寻径.另外,当一条物理信道建立之后,被一对用户使用,往往有许多空闲时间被浪费掉.人们自然会希望让多对用户共用一条链路,为解决这一问题就出现了逻辑信道技术和虚拟电路技术.
3.1网络层主要功能
网络层为建立网络连接和为上层提供服务,应具备以下主要功能:
3.1.1路由选择和中继.
3.1.2激活,终止网络连接.
3.1.3在一条数据链路上复用多条网络连接,多采取分时复用技术 .
3.1.4差错检测与恢复.
3.1.5排序,流量控制.
3.1.6服务选择.
3.1.7网络管理.
3.2网络层标准简介
网络层的一些主要标准如下:
3.2.1 ISO.DIS8208:称为"DTE用的X.25分组级协议"
3.2.2 ISO.DIS8348:称为"CO 网络服务定义"(面向连接)
3.2.3 ISO.DIS8349:称为"CL 网络服务定义"(面向无连接)
3.2.4 ISO.DIS8473:称为"CL 网络协议"
3.2.5 ISO.DIS8348:称为"网络层寻址"
3.2.6 除上述标准外,还有许多标准。这些标准都只是解决网络层的部分功能,所以往往需要在网络层中同时使用几个标准才能完成整个网络层的功能.由于面对的网络不同,网络层将会采用不同的标准组合.
在具有开放特性的网络中的数据终端设备,都要配置网络层的功能.现在市场上销售的网络硬设备主要有网关和路由器.
4.传输层
传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。 传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高的最后一层.
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异.例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同.对于会话层来说,却要求有一性能恒定的界面.传输层就承担了这一功能.它采用分流/合流,复用/介复用技术来调节上述通信子网的差异,使会话层感受不到.
此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异.传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口.上述功能的最终目的是为会话提供可靠的,无误的数据传输.传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程.而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成5种类型.基本可以满足对传送质量,传送速度,传送费用的各种不同需要.传输层的协议标准有以下几种:
4.1 ISO8072:称为"面向连接的传输服务定义"
4.2 ISO8072:称为"面向连接的传输协议规范"
5.会话层
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。会话层,表示层,应用层构成开放系统的高3层,面对应用进程提供分布处理,对话管理,信息表示,恢复最后的差错等.
会话层同样要担负应用进程服务要求,而运输层不能完成的那部分工作,给运输层功能差距以弥补.主要的功能是对话管理,数据流同步和重新同步。要完成这些功能,需要由大量的服务单元功能组合,已经制定的功能单元已有几十种.现将会话层主要功能介绍如下.
5.1为会话实体间建立连接。为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作:
5.1.1将会话地址映射为运输地址
5.1.2选择需要的运输服务质量参数(QOS)
5.1.3对会话参数进行协商
5.1.3识别各个会话连接
5.1.4传送有限的透明用户数据
5.2数据传输阶段
这个阶段是在两个会话用户之间实现有组织的,同步的数据传输.用户数据单元为SSDU,而协议数据单元为SPDU.会话用户之间的数据传送过程是将SSDU转变成SPDU进行的.
5.3连接释放
连接释放是通过"有序释放","废弃","有限量透明用户数据传送"等功能单元来释放会话连接的.会话层标准为了使会话连接建立阶段能进行功能协商,也为了便于其它国际标准参考和引用,定义了12种功能单元.各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集.会话层的主要标准有"DIS8236:会话服务定义"和"DIS8237:会话协议规范".
6.表示层
表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转换。
通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠,无差错的传送.但是数据传送只是手段而不是目的,最终是要实现对数据的使用.由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异.这自然给利用其它系统的数据造成了障碍.表示层和应用层就担负了消除这种障碍的任务.
对于用户数据来说,可以从两个侧面来分析,一个是数据含义被称为语义,另一个是数据的表示形式,称做语法.像文字,图形,声音,文种,压缩,加密等都属于语法范畴.表示层设计了3类15种功能单位,其中上下文管理功能单位就是沟通用户间的数据编码规则,以便双方有一致的数据形式,能够互相认识.ISO表示层为服务,协议,文本通信符制定了DP8822,DP8823,DIS6937/2等一系列标准.
7.应用层
应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分成组,并称为服务元素。有些可为多种应用程序共同使用,有些则为较少的一类应用程序使用。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE.CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制.特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等.
这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等.应用层的标准有DP8649"公共应用服务元素",DP8650"公共应用服务元素用协议",文件传送,访问和管理服务及协议.
讨论:OSI七层模型是一个理论模型,实际应用则千变万化,因此更多把它作为分析、评判各种网络技术的依据;对大多数应用来说,只将它的协议族(即协议堆栈)与七层模型作大致的对应,看看实际用到的特定协议是属于七层中某个子层,还是包括了上下多层的功能。
这样分层的好处有:
1.使人们容易探讨和理解协议的许多细节。
2.在各层间标准化接口,允许不同的产品只提供各层功能的一部分,(如路由器在一到三层),或者只提供协议功能的一部分。(如Win95中的Microsoft TCP/IP)
3. 创建更好集成的环境。
4. 减少复杂性,允许更容易编程改变或快速评估。
5. 用各层的headers和trailers排错。
6.较低的层为较高的层提供服务。
7. 把复杂的网络划分成为更容易管理的层。
Ⅱ 计算机网络体系结构的ISO/OSI网络体系结构
国际标准化组织ISO(International Standards Organization)在80年代提出的开放系统互联参考模型OSI(Open System Interconnection),这个模型将计算机网络通信协议分为七层。这个模型是一个定义异构计算机连接标准的框架结构,其具有如下特点:
①网络中异构的每个节点均有相同的层次,相同层次具有相同的功能。
②同一节点内相邻层次之间通过接口通信。
③相邻层次间接口定义原语操作,由低层向高层提供服务。
④不同节点的相同层次之间的通信由该层次的协议管理,
⑤每层次完成对该层所定义的功能,修改本层次功能不影响其它层、
⑥仅在最低层进行直接数据传送。
⑦定义的是抽象结构,并非具体实现的描述。
在OSI网络体系结构中、除了物理层之外,网络中数据的实际传输方向是垂直的。数据由用户发送进程发送给应用层,向下经表示层、会话层等到达物理层,再经传输媒体传到接收端,由接收端物理层接收,向上经数据链路层等到达应用层,再由用户获取。数据在由发送进程交给应用层时,由应用层加上该层有关控制和识别信息,再向下传送,这一过程一直重复到物理层。在接收端信息向上传递时,各层的有关控制和识别信息被逐层剥去,最后数据送到接收进程。
现在一般在制定网络协议和标准时,都把ISO/OSI参考模型作为参照基准,并说明与该参照基准的对应关系。例如,在IEEE802局域网LAN标准中,只定义了物理层和数据链路层,并且增强了数据链路层的功能。在广域网WAN协议中,CCITT的X.25建议包含了物理层、数据链路层和网络层等三层协议。一般来说,网络的低层协议决定了一个网络系统的传输特性,例如所采用的传输介质、拓扑结构及介质访问控制方法等,这些通常由硬件来实现;网络的高层协议则提供了与网络硬件结构无关的,更加完善的网络服务和应用环境,这些通常是由网络操作系统来实现的。 物理层建立在物理通信介质的基础上,作为系统和通信介质的接口,用来实现数据链路实体间透明的比特 (bit) 流传输。只有该层为真实物理通信,其它各层为虚拟通信。物理层实际上是设备之间的物理接口,物理层传输协议主要用于控制传输媒体。
(1)物理层的特性
物理层提供与通信介质的连接,提供为建立、维护和释放物理链路所需的机械的、电气的、功能的和规程的特性,提供在物理链路上传输非结构的位流以及故障检测指示。物理层向上层提供位 (bit) 信息的正确传送。
其中机械特性主要规定接口连接器的尺寸、芯数和芯的位置的安排、连线的根数等。电气特性主要规定了每种信号的电平、信号的脉冲宽度、允许的数据传输速率和最大传输距离。功能特性规定了接口电路引脚的功能和作用。规程特性规定了接口电路信号发出的时序、应答关系和操作过程,例如,怎样建立和拆除物理层连接,是全双工还是半双工等。
(2)物理层功能
为了实现数据链路实体之间比特流的透明传输,物理层应具有下述功能:
①物理连接的建立与拆除
当数据链路层请求在两个数据链路实体之间建立物理连接时,物理层能够立即为它们建立相应的物理连接。若两个数据链路实体之间要经过若干中继数据链路实体时,物理层还能够对这些中继数据链路实体进行互联,以建立起一条有效的物理连接。当物理连接不再需要时,由物理层立即拆除。
②物理服务数据单元传输
物理层既可以采取同步传输方式,也可以采取异步传输方式来传输物理服务数据单元。
③物理层管理
对物理层收发进行管理,如功能的激活 (何时发送和接收、异常情况处理等)、差错控制 (传输中出现的奇偶错和格式错)等。 数据链路层为网络层相邻实体间提供传送数据的功能和过程;提供数据流链路控制;检测和校正物理链路的差错。物理层不考虑位流传输的结构,而数据链路层主要职责是控制相邻系统之间的物理链路,传送数据以帧为单位,规定字符编码、信息格式,约定接收和发送过程,在一帧数据开头和结尾附加特殊二进制编码作为帧界识别符,以及发送端处理接收端送回的确认帧,保证数据帧传输和接收的正确性,以及发送和接收速度的匹配,流量控制等。
(1)数据链路层的目的
提供建立、维持和释放数据链路连接以及传输数据链路服务数据单元所需的功能和过程的手段。数据链路连接是建立在物理连接基础上的,在物理连接建立以后,进行数据链路连接的建立和数据链路连接的拆除。具体说,每次通信前后,双方相互联系以确认一次通信的开始和结束,在一次物理连接上可以进行多次通信。数据链路层检测和校正在物理层出现的错误。
(2)数据链路层的功能和服务
数据链路层的主要功能是为网络层提供连接服务,并在数据链路连接上传送数据链路协议数据单元L-PDU,一般将L-PDU称为帧。数据链路层服务可分为以下三种:
①无应答、无连接服务。发送前不必建立数据链路连接,接收方也不做应答,出错和数据丢失时也不做处理。这种服务质量低,适用于线路误码率很低以及传送实时性要求高的 (例如语音类的)信息等。
②有应答、无连接服务。当发送主机的数据链路层要发送数据时,直接发送数据帧。目标主机接收数据链路的数据帧,并经校验结果正确后,向源主机数据链路层返回应答帧;否则返回否定帧,发送端可以重发原数据帧。这种方式发送的第一个数据帧除传送数据外,也起数据链路连接的作用。这种服务适用于一个节点的物理链路多或通信量小的情况,其实现和控制都较为简单。
③面向连接的服务。该服务一次数据传送分为三个阶段:数据链路建立,数据帧传送和数据链路的拆除。数据链路建立阶段要求双方的数据链路层作好传送的准备;数据传送阶段是将网络层递交的数据传送到对方;数据链路拆除阶段是当数据传送结束时,拆除数据链路连接。这种服务的质量好,是ISO/OSI参考模型推荐的主要服务方式。
(3)数据链路数据单元
数据链路层与网络层交换数据格式为服务数据单元。数据链路服务数据单元,配上数据链路协议控制信息,形成数据链路协议数据单元。
数据链路层能够从物理连接上传输的比特流中,识别出数据链路服务数据单元的开始和结束,以及识别出其中的每个字段,实现正确的接收和控制。能按发送的顺序传输到相邻结点。
(4)数据链路层协议
数据链路层协议可分为面向字符的通信规程和面向比特的通信规程。
面向字符的通信规程是利用控制字符控制报文的传输。报文由报头和正文两部分组成。报头用于传输控制,包括报文名称、源地址、目标地址、发送日期以及标识报文开始和结束的控制字符。正文则为报文的具体内容。目标节点对收到的源节点发来的报文,进行检查,若正确,则向源节点发送确认的字符信息;否则发送接收错误的字符信息。
面向比特的通信规程典型是以帧为传送信息的单位,帧分为控制帧和信息帧。在信息帧的数据字段 (即正文)中,数据为比特流。比特流用帧标志来划分帧边界,帧标志也可用作同步字符。 广域网络一般都划分为通信子网和资源子网,物理层、数据链路层和网络层组成通信子网,网络层是通信子网的最高层,完成对通信子网的运行控制。网络层和传输层的界面,既是层间的接口,又是通信子网和用户主机组成的资源子网的界限,网络层利用本层和数据链路层、物理层两层的功能向传输层提供服务。
数据链路层的任务是在相邻两个节点间实现透明的无差错的帧级信息的传送,而网络层则要在通信子网内把报文分组从源节点传送到目标节点。在网络层的支持下,两个终端系统的传输实体之间要进行通信,只需把要交换的数据交给它们的网络层便可实现。至于网络层如何利用数据链路层的资源来提供网络连接,对传输层是透明的。
网络层控制分组传送操作,即路由选择,拥塞控制、网络互连等功能,根据传输层的要求来选择服务质量,向传输层报告未恢复的差错。网络层传输的信息以报文分组为单位,它将来自源的报文转换成包文,并经路径选择算法确定路径送往目的地。网络层协议用于实现这种传送中涉及的中继节点路由选择、子网内的信息流量控制以及差错处理等。
(1)网络层功能
网络层的主要功能是支持网络层的连接。网络层的具体功能如下:
①建立和拆除网络连接
在数据链路层提供的数据链路连接的基础上,建立传输实体间或者若干个通信子网的网络连接。互连的子网可采用不同的子网协议。
②路径选择、中继和多路复用
网际的路径和中继不同与网内的路径和和中继,网络层可以在传输实体的两个网络地址之间选择一条适当的路径,或者在互连的子网之间选择一条适当的路径和中继。并提供网络连接多路复用的数据链路连接,以提高数据链路连接的利用率。
③分组、组块和流量控制
数据分组是指将较长的数据单元分割为一些相对较小的数据单元;数据组块是指将一些相对较小的数据单元组成块后一起传输。用以实现网络服务数据单元的有序传输,以及对网络连接上传输的网络服务数据单元进行有效的流量控制,以免发生信息堵塞现象。
④差错的检测与恢复
利用数据链路层的差错报告,以及其他的差错检测能力来检测经网络连接所传输的数据单元,检测是否出现异常情况。并可以从出错状态中解脱出来。
(2)数据报和虚电路
网络层中提供两种类型的网络服务,即无连接服务和面向连接的服务。它们又被称为数据报服务和虚电路服务。
①数据报 (Datagram)服务
在数据报方式,网络层从传输层接受报文,拆分为报文分组,并且独立地传送,因此数据报格式中包含有源和目标节点的完整网络地址、服务要求和标识符。发送时,由于数据报每经过一个中继节点时,都要根据当时情况按照一定的算法为其选择一条最佳的传输路径,因此,数据报服务不能保证这些数据报按序到达目标节点,需要在接收节点根据标识符重新排序。
数据报方式对故障的适应性强,若某条链路发生故障,则数据报服务可以绕过这些故障路径而另选择其他路径,把数据报传送至目标节点。数据报方式易于平衡网络流量,因为中继节点可为数据报选择一条流量较少的路由,从而避开流量较高的路由。数据报传输不需建立连接,目标节点在收到数据报后,也不需发送确认,因而是一种开销较小的通信方式。但是发方不能确切地知道对方是否准备好接收、是否正在忙碌,故数据报服务的可靠性不是很高。而且数据报发送每次都附加源和目标主机的全网名称降低了信道利用率。
②虚电路 (Virtue Circuit) 服务
在虚电路传输方式下,在源主机与目标主机通信之前,必须为分组传输建立一条逻辑通道,称为虚电路。为此,源节点先发送请求分组Call-Request,Call-Request包含了源和目标主机的完整网络地址。Call-Request途径每一个通信网络节点时,都要记下为该分组分配的虚电路号,并且路由器为它选择一条最佳传输路由发往下一个通信网络节点。当请求分组到达目标主机后,若它同意与源主机通信,沿着该虚电路的相反方向发送请求分组Call-Request给源节点,当在网络层为双方建立起一条虚电路后,每个分组中不必再填上源和目标主机的全网地址,而只需标上虚电路号,即可以沿着固定的路由传输数据。当通信结束时,将该虚电路拆除。
虚电路服务能保证主机所发出的报文分组按序到达。由于在通信前双方已进行过联系,每发送完一定数量的分组后,对方也都给予了确认,故可靠性较高。
③路由选择
网络层的主要功能是将分组从源节点经过选定的路由送到目标节点,分组途经多个通信网络节点造成多次转发,存在路由选择问题。路由选择或称路径控制,是指网络中的节点根据通信网络的情况 (可用的数据链路、各条链路中的信息流量),按照一定的策略 (传输时间最短、传输路径最短等)选择一条可用的传输路由,把信息发往目标节点。
网络路由选择算法是网络层软件的一部分,负责确定所收到的分组应传送的路由。当网络内部采用无连接的数据报方式时,每传送一个分组都要选择一次路由。当网络层采用虚电路方式时,在建立呼叫连接时,选择一次路径,后继的数据分组就沿着建立的虚电路路径传送,路径选择的频度较低。
路由选择算法可分为静态算法和动态算法。静态路由算法是指总是按照某种固定的规则来选择路由,例如,扩散法、固定路由选择法、随机路由选择法和流量控制选择法。动态路由算法是指根据拓扑结构以及通信量的变化来改变路由,例如,孤立路由选择法、集中路由选择法、分布路由选择法、层次路由选择法等 从传输层向上的会话层、表示层、应用层都属于端一端的主机协议层。传输层是网络体系结构中最核心的一层,传输层将实际使用的通信子网与高层应用分开。从这层开始,各层通信全部是在源与目标主机上的各进程间进行的,通信双方可能经过多个中间节点。传输层为源主机和目标主机之间提供性能可靠、价格合理的数据传输。具体实现上是在网络层的基础上再增添一层软件,使之能屏蔽掉各类通信子网的差异,向用户提供一个通用接口,使用户进程通过该接口,方便地使用网络资源并进行通信。
(1) 传输层功能
传输层独立于所使用的物理网络,提供传输服务的建立、维护和连接拆除的功能;选择网络层提供的最适合的服务。传输层接收会话层的数据,分成较小的信息单位,再送到网络层,实现两传输层间数据的无差错透明传送。
传输层可以使源与目标主机之间以点对点的方式简单地连接起来。真正实现端一端间可靠通信。传输层服务是通过服务原语提供给传输层用户(可以是应用进程或者会话层协议),传输层用户使用传输层服务是通过传送服务端口TSAP实现的。当一个传输层用户希望与远端用户建立连接时,通常定义传输服务访问点TSAP。提供服务的进程在本机TSAP端口等待传输连接请求,当某一节点机的应用程序请求该服务时,向提供服务的节点机的TSAP端口发出传输连接请求,并表明自己的端口和网络地址。如果提供服务的进程同意,就向请求服务的节点机发确认连接,并对请求该服务的应用程序传递消息,应用程序收到消息后,释放传输连接。
传输层提供面向连接和无连接两种类型的服务。这两种类型的服务和网络层的服务非常相似。传输层提供这两种类型服务的原因是因为,用户不能对通信子网加以控制,无法通过使用通信处理机来改善服务质量。传输层提供比网络层更可靠的端一端间数据传输,更完善的查错纠错功能。传输层之上的会话层、表示层、应用层都不包含任何数据传送的功能。
(2)传输层协议类型
传输层协议和网络层提供的服务有关。网络层提供的服务于越完善,传输层协议就越简单,网络层提供的服务越简单,传输层协议就越复杂。传输层服务可分成五类:
0类:提供最简单形式的传送连接,提供数据流控制。
1类:提供最小开销的基本传输连接,提供误差恢复。
2类:提供多路复用,允许几个传输连接多路复用一条链路。
3类:具有0类和1类的功能,提供重新同步和重建传输连接的功能。
4类:用于不可靠传输层连接,提供误差检测和恢复。
基本协议机制包括建立连接、数据传送和拆除连接。传输连接涉及四种不同类型的标识:
用户标识:即服务访问点SAP,允许实体多路数据传输到多个用户。
网络地址:标识传输层实体所在的站。
协议标识:当有多个不同类型的传输协议的实体,对网络服务标识出不同类型的协议。
连接标识:标识传送实体,允许传输连接多路复用。 会话是指两个用户进程之间的一次完整通信。会话层提供不同系统间两个进程建立、维护和结束会话连接的功能;提供交叉会话的管理功能,有一路交叉、两路交叉和两路同时会话的3种数据流方向控制模式。会话层是用户连接到网络的接口。
(1)会话层的主要功能
会话层的目的是提供一个面向应用的连接服务。建立连接时,将会话地址映射为传输地址。会话连接和传输连接有三种对应关系,一个会话连接对应一个传输连接;多个会话连接建立在一个传输连接上;一个会话连接对应多个传输连接。
数据传送时,可以进行会话的常规数据、加速数据、特权数据和能力数据的传送。
会话释放时,允许正常情况下的有序释放;异常情况下由用户发起的异常释放和服务提供者发起的异常释放。
(2)会话活动
会话服务用户之间的交互对话可以划分为不同的逻辑单元,每个逻辑单元称为活动。每个活动完全独立于它前后的其他活动,且每个逻辑单元的所有通信不允许分隔开。
会话活动由会话令牌来控制,保证会话有序进行。会话令牌分为四种,数据令牌、释放令牌、次同步令牌和主同步令牌。令牌是互斥使用会话服务的手段。
会话用户进程间的数据通信一般采用交互式的半双工通信方式。由会话层给会话服务用户提供数据令牌来控制常规数据的传送,有数据令牌的会话服务用户才可发送数据,另一方只能接收数据。当数据发完之后,就将数据令牌转让给对方,对方也可请求令牌。
(3)会话同步
在会话服务用户组织的一个活动中,有时要传送大量的信息,如将一个文件连续发送给对方,为了提高数据发送的效率,会话服务提供者允许会话用户在传送的数据中设置同步点。一个主同步点表示前一个对话单元的结束及下一个对话单元的开始。在一个对话单元内部或者说两个主同步点之间可以设置次同步点,用于会话单元数据的结构化。当会话用户持有数据令牌、次同步令牌和主同步令牌时就可在发送数据流中用相应的服务原语设置次同步点和主同步点。
一旦出现高层软件错误或不符合协议的事件则发生会话中断,这时会话实体可以从中断处返回到一个已知的同步点继续传送,而不必从文件的开头恢复会话。会话层定义了重传功能,重传是指在已正确应答对方后,在后期处理中发现出错而请求的重传,又称为再同步。为了使发送端用户能够重传,必须保存数据缓冲区中已发送的信息数据,将重新同步的范围限制在一个对话单元之内,一般返回到前一个次同步点,最多返回到最近一个主同步点。 应用层作为用户访问网络的接口层,给应用进程提供了访问OSI环境的手段。
应用进程借助于应用实体 (AE)、实用协议和表示服务来交换信息,应用层的作用是在实现应用进程相互通信的同时,完成一系列业务处理所需的服务功能。当然这些服务功能与所处理的业务有关。
应用进程使用OSI定义和通信功能,这些通信功能是通过OSI参考模型各层实体来实现的。应用实体是应用进程利用OSI通信功能的唯一窗口。它按照应用实体间约定的通信协议 (应用协议),传送应用进程的要求,并按照应用实体的要求在系统间传送应用协议控制信息,有些功能可由表示层和表示层以下各层实现。
应用实体由一个用户元素和一组应用服务元素组成。用户元素是应用进程在应用实体内部,为完成其通信目的,需要使用的那些应用服务元素的处理单元。实际上,用户元素向应用进程提供多种形式的应用服务调用,而每个用户元素实现一种特定的应用服务使用方式。用户元素屏蔽应用的多样性和应用服务使用方式的多样性,简化了应用服务的实现。应用进程完全独立于OSI环境,它通过用户元素使用OSI服务。
应用服务元素可分为两类,公共应用服务元素 (CASE)和特定应用服务元素 (SASE)。公共应用服务元素是用户元素和特定应用服务元素公共使用的部分,提供通用的最基本的服务,它使不同系统的进程相互联系并有效通信。它包括联系控制元素、可靠传输服务元素、远程操作服务元素等;特定应用服务元素提供满足特定应用的服务。包括虚拟终端、文件传输和管理、远程数据库访问、作业传送等。对于应用进程和公共应用服务元素来说,用户元素具有发送和接收能力。对特定服务元素来说,用户元素是请求的发送者,也是响应的最终接收者。
Ⅲ OSI网络模型
OSI七层模型和TCP/IP五层模型
一、OSI参考模型
1、OSI的来源
OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连 模型。
ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。
2、OSI七层模型的划分
OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型 。如下图。
每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。
3、各层功能定义
这里我们只对OSI各层进行功能上的大概阐述,不详细深究,因为每一层实际都是一个复杂的层。后面我也会根据个人方向展开部分层的深入学习。这里我们就大概了解一下。我们从最顶层——应用层 开始介绍。整个过程以公司A和公司B的一次商业报价单发送为例子进行讲解。
<1> 应用层
OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
实际公司A的老板就是我们所述的用户,而他要发送的商业报价单,就是应用层提供的一种网络服务,当然,老板也可以选择其他服务,比如说,发一份商业合同,发一份询价单,等等。
<2> 表示层
表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据 格式转换成通信 中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
由于公司A和公司B是不同国家的公司,他们之间的商定统一用英语作为交流的语言,所以此时表示层(公司的文秘),就是将应用层的传递信息转翻译成英语。同时为了防止别的公司看到,公司A的人也会对这份报价单做一些加密的处理。这就是表示的作用,将应用层的数据转换翻译等。
<3> 会话层
会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
会话层的同事拿到表示层的同事转换后资料,(会话层的同事类似公司的外联部),会话层的同事那里可能会掌握本公司与其他好多公司的联系方式,这里公司就是实际传递过程中的实体。他们要管理本公司与外界好多公司的联系会话。当接收到表示层的数据后,会话层将会建立并记录本次会话,他首先要找到公司B的地址信息,然后将整份资料放进信封,并写上地址和联系方式。准备将资料寄出。等到确定公司B接收到此份报价单后,此次会话就算结束了,外联部的同事就会终止此次会话。
<4> 传输层
传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路 。我们通常说的,TCP UDP就是在这一层。端口号既是这里的“端”。
传输层就相当于公司中的负责快递邮件收发的人,公司自己的投递员,他们负责将上一层的要寄出的资料投递到快递公司或邮局。
<5> 网络层
本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。
网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说,从深圳发往北京的顺丰快递(陆运为例啊,空运好像直接就飞到北京了),首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。这个每个集散中心,就相当于网络中的一个IP节点。
<6> 数据链路层
将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测。
数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。
MAC子层处理CSMA/CD算法、数据出错校验、成帧等;LLC子层定义了一些字段使上次协议能共享数据链路层。 在实际使用中,LLC子层并非必需的。
这个没找到合适的例子
<7> 物理层
实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。
快递寄送过程中的交通工具,就相当于我们的物理层,例如汽车,火车,飞机,船。
4、通信特点:对等通信
对等通信,为了使数据分组从源传送到目的地,源端OSI模型的每一层都必须与目的端的对等层进行通信,这种通信方式称为对等层通信。在每一层通信过程中,使用本层自己协议进行通信。
二、TCP/IP五层模型
TCP/IP五层协议和OSI的七层协议对应关系如下。
在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的。
在每一层实现的协议也各不同,即每一层的服务也不同.下图列出了每层主要的协议。其中每层中具体的协议,我会在后面的逐一学习。
参考文献:
https://blog.csdn.net/wdkirchhoff/article/details/43915825