1、第2篇 计算机网络体系结构,这一篇主要从立面上观察计算机网络的层次结构 和工作原理。实践证明,按照层次结构建立的系 统具有较高的稳定性和可管理性。 第四章 ISO/OSI参考模型 第五章 IEEE 802 模型与局域网 第六章 Internet与TCP/IP结构 第七章 ATM网络,第4章 ISO/OSI参考模型,4.1 关于网层次结构的基本概念 4.2 ISO/OSI参考模型结构,4.1关于网层次结构的基本概念,4.1.1 分层原则 4.1.2 服务与接口4.1.3 各层设计中的流量控制,网络体系结构,为了完成计算机间的通信合作,把每个计算机互连的功能划分成定义明确的层次,并规定了同层次进程
2、通信的协议及相邻层之间的接口和服务,这样的层次结构模型和通信协议统称为网络体系结构。,网络采用层次结构的优点:,(1)各层之间相互独立,高层不需要知道低层是如何实现的,而仅知道该层通过层间的接口所提供的服务。 (2)灵活性好。某层的改变,只要层间接口不变,则不影响上下层。 (3)结构上可分割,各层都可采用最合适的技术来实现。 (4) 这种结构使得系统的实现和维护变得容易控制。 (5)这有利于促进标准化工作。,分层原则,每层的功能应当明确、各层相对独立,使得当某层的方法变更时,只要保持接口关系不变,不会影响其他层的结构和方法; 各层功能的确定,应当有助于网络协议国际标准的制定; 层间接口要清晰,
3、尽量减少跨越接口的信息量; 层数适当:,4.1.2 服务与接口,A.服务和协议 在对等层间形成虚拟通信。 第N层向第N+1层提供服务,称为N服务 对等层之间的虚拟通信是通过执行(N)功能实现的。,网络协议,网络协议就是计算机网络中相互通信的对等实体间交换信息或者数据所共同遵守的规则标准或约定的集合。网络协议三个要素: 语法,数据与控制信息的结构或格式。 语义,需要发出何种控制信息,完成何种动作以及做 出何种应答。 同步,实体通信实现顺序的说明,涉及速度匹配和排序,B .接口,接口是协议中不同功能层之间的通信规约,是数据流穿越功能层界 面的约定,是实体之间的连接部分接口在相邻层之间,层间通过接口
4、联系,并将服务功能细节对上层屏蔽,上下层间通过接口交换信息,C.服务原语,原语的概念“有证实”服务和“无证实”服务原语的参数,原语的概念,服务在形式上由一组原语描述。 原语规定了应完成的功能,并用于传送数据以及控制信息,它们供用户和其他实体访问该服务时调用。 它们通知服务提供者采取某些行动或报告某个对等实体的活动。,ISO/OSI定义的4种类型的服务原语,“有证实”服务和“无证实”服务,有证实服务包括请求、指示、响应和证实4个原语。无证实服务只包括请求、指示2个原语。,CONNECT.request,拨号(请求),响铃(指示),CONNECT.indication,CONNECT.respon
5、se,摘机(响应),听到摘机(证实),CONNECT.confirm,张方,李方,(N)服务用户,(N)服务用户,(N)服务提供者,DATA.request,“今晚8时在会议室开会” (请求),“知道了”(响应),听到通知声(指示),DATA.indication,DATA.response,DATA.confirm,听到回答(证实),DISCONNECT.request,挂机(请求),听到已挂机(指示),DISCONNECT. indication,证实服务和无证实服务的交互过程,原语的参数,例如:连接请求的参数:目的地,服务类别,报文长度;,D 协议与服务的关系,服务定义了相邻两层之间的接
6、口关系,上层是服务的用户,下层是服务的提供者,并用一组原语描述服务内容下层能够为它的上层给予的支持。协议是同层实体之间的数据交换的规则。实体利用协议来实现它们的服务的定义,4.1.3 各层设计中的流量控制,拥塞与死锁 流量控制的基本原理流量控制的级别 用户资源需求限制策略,拥塞与死锁,网络拥塞:网络的吞吐量随输入负载的增大而下降的现象 网络死锁:网络吞吐量随输入负载大到一定程度,引起网络不能工作 流量控制功能。防止网络因过载而引起的吞吐率下降和延时的增加。减少拥塞、避免死锁。在互相竞争的用户之间公平合理地分配资源,流量控制的基本原理,从原理上说,拥塞和死锁是网上可用资源不能满足各用户资源需求造
7、成的 防止拥塞和死锁的办法是流量控制。流量控制的基本策略: 增加用户可用资源 限制用户资源需求,流量控制的级别,计算机网络流量控制从两种角度来研究从网络的组成环节上看,涉及段级、入口出口级、主机与节点间和主机间的流量控制;从网络的体系结构上看,涉及到物理层、链路层、网络层和传输层。,流量控制级别, 相邻结点控制维持一个均匀平滑的流量,避免产生局部拥塞和死锁 源结点和目的结点防止目的结点因缺少缓冲区而产生拥塞,办法是源结点向目的结点预约缓冲区,保证每份报文都有相应的分组存储空间 主机与源结点的控制控制进网的总通信量(网络访问流量控制) 原主机与目的主机控制防止用户缓冲区出现拥塞,流量控制的级别,
8、用户资源需求限制策略拥塞控制,1)缓冲区预分配法(面向连接) 建立虚电路,使经过交换结点的每条虚电路都有足够的缓冲空间2)分组丢弃法(无连接) 发结点有分组就发,接收结点若无缓冲区就将分组丢弃3) 抑制分组法(降低网络吞吐量)为每条输出链路规定一个利用率值,每个结点监控其每条输出链路的利用率。大于阀值, 进入“警告” 4)许可证法(保证分组数目不会超过设定值),数据单元丢弃法 :当目的主机有缓冲区时就接收数据单元,无缓冲区时就将数据单元丢弃,被丢弃的数据单元由于源主机得不到确认而重发。许可证法 :网络初启时,给每个节点各分配一定数量的许可证;一个节点上的主机要发送数据,必须从该节点获得一个许可
9、证,将许可证与数据一起发送。,4.2 ISO/OSI参考模型结构,国际标准化组织(International standards organization)于1982年4月制定的一个开放系统互联的草案OSI/RM国际标准草案。OSI/RM是一个七层模型,应用层,应用层,表示层,表示层,会话层,会话层,传输层,传输层,网络层,网络层,数据链路层,数据链路层,物理层,物理层,物理层,物理层,数据链路层,数据链路层,网络层,网络层,通信子网,进程间通信,主机A,主机B,应用层协议,系统间数据传输,传输介质,表示层协议,会话层协议,传输层协议,网络层协议,数据链路层协议,物理层协议,开放系统互联参考模
10、型,OSI的低层OSI的高层传输层OSI/RM各层中的数据流动,ISO/OSI参考模型结构,4.2.1 OSI的低层,物理层数据链路层网络层,物理层,物理层的功能是解决“物理连接”的标准问题: 机械特性:插头尺寸、各脚位置 电气特性:表示“1”和“0”的电压各为多少,一个比特的宽度 功能特性:某一根线上出现某一电平所代表的意义 规程特性:不同功能的各种可能事件出现的顺序,常用的物理层协议,EIA RS-232C 用于数据终端设备(DTE)/数据电路端接设备(DCE)之间的接口。机械特性 25芯连接器,DTE为插头,DCE为插座。电气特性低于-3V为“1”,高于+4V为0”,最大20Kbps,最
11、长15m。规程特性 适合单工、半双工、全双工、同步、异步 EIA-232-D V.35 X.21,数据链路层,链路_指一条中间没有任何交换结点的点到点的物理线路段(物理链路),它是构成计算机网络的一个基本单元 。数据链路_是在链路上加具有数据传输协议的软/硬件 。设置该层的目的是屏蔽传输介质不可靠的因素,数据链路层的功能,组帧_把物理层送来的比特流分割成帧 进行数据链路层的差错控制和流量控制 向网络层提供可靠透明的数据传输服务实现相邻结点间正确的数据传输,功能实现的途径,1、帧定界与同步。帧由若干个字段构成,字段之间如何标识就是定界,目的是为了利于差错控制,如有错,只须发对应的帧。同步是如何使
12、收、发双方取得一帧的开始与结束 2、差错控制。接收端对收到的帧进行效验,以决定是否重发3、流量控制4、链路管理。面向连接的服务,通信前,要确知对方已处于准备好状态,对帧编号初始化,建立连接、维持和释放 。,一般帧格式,数据链路层提供的服务,数据链路层提供的服务分两类:基本服务、具体服务 基本服务: 将源结点数据正确地传送到相邻结点 具体服务 无确认的无连接服务 两点不建立连接、帧不做确认,通信完后也无需链路释放过程。(适用于链路误码率低)有确认的无连接服务 两点发送独立帧,接收回送确认帧,超时重发。(适用于不可靠的通信场合)面向连接的服务 两点通信前必建立连接,且发送的每一帧都被加上编号,并保
13、证每帧只收到一次且不乱帧,完毕释放,网络层,特 性:是通信子网的最高层,最能体现网 络的概念需解决问题:如何解决数据在通信子网中的传输路径完成的任务: 1) 控制通信子网中的数据流量,防止拥塞2) 提供建立、维护和终止网络连接的手段,网络层提供的服务和功能,1、服 务:为两个传送实体之间提供透明的数据传送,为此它须屏蔽由不同子网技术而引起的差异 2、功 能。向传输层提供面向(无)连接服务。按上层需要动态地建立、维持、拆除网络连接。提供网络连接在数据链路上的多路复用功能。实现数据的分组和组装,提供差错和恢复,实现流量 控制和有序服务网络层中有代表性的标准协议有:ITU-T的X.25 Intern
14、et中使用的IP协议,4.2.2 OSI的高层,OSI的高层包括会话层、表示层和应用层,属于资源的分配和处理的部分,通常称为资源子网部分。,会话层,是建立在用户与网络间的接口(高层与通信服务之间的接口),其功能主要由软件实现主要处理通信双方的建立、组织,并协调、控制会话的进行 基本作用: 为上层提供管理与控制所传送数据流的手段,同时使表示层无须涉及调用传输服务的细节 功 能: 建立会话连接并顺序传送数据流,同时将其结构化,以实施管理 SSL协议(Secure Socket Layer,安全套接层),表示层,功 能:。处理两个应用实体间数据交换的语法和语义问题。解决数据交换中存在的数据格式不一样
15、和表示方法不同等问题。表示层还进行加密、压缩或终端仿真的处理 具体任务: 把源端机器的数据编码变成适合于传输的编码,传送到目的端后再进行解码,应用层,应用层包含大量人们普遍需要的协议,直接为用户服务主要进行应用管理、系统管理、文件传输、电子邮件、远程作业输入、名录查询和其他各种通用和专用的功能 特 点:。位于顶部(上方是真正的用户),由用户选用软件构成。概念上应用层与具体操作系统无关,但实际具体的软件必需在某个操作系统中运行,向用户提供服务 常用协议:,4.2.3 传输层,是唯一负责总体数据传输和控制的一层是通信服务及数据处理服务的桥梁,提供的是端到端的进程通信服务处理的是主机间的数据通信(源
16、目的),具体考虑问题: 1) 两个主机间的数据传输方式(与连接有关否) 。与连接有关的数据传输服务(打电话) 。与连接无关的数据传输服务(寄信件)2) 分 组 如何把数据分割 成数据包并进行分组,两种数据传输服务比较,传输模型,对等层之间交换的信息报文统称为协议数据单元,PDU由协议控制信息(协议头)和数据(SDU)组成,传输层提供的服务,主要功能是增强和优化网络层提供的服务质量。具体有端到端传输、可靠传输、寻址、流量控制、差错控制及多路复用 1)端到端传输 网络层将每个报文分组看做一独立实体,即使它们属同一报文,也看不到它们之间的任何联系 。传输层则不同,它传送的是一个完整的报文,所以说它是
17、监督整个报文从源到目的端到端的传送 2)可靠传输 差错控制、顺序控制(分段和连接、序列编号)、丢失控制、重复控制,传输层的任务,传输层差错控制,传输层的差错处理机制是差错检测和数据重传与数据链路层的区别:数据链路层仅仅检查链路起始和终止之间是否有差错 。 传输层必须要有端到端的错误检查,以保证数据端到端的正确传输 图例,传输层的基本开发思想,网络层向上提供服务的方式不同,代表了两种建网思想,即将报文的差错、顺序控制等复杂问题是放在通信子网中解决,还是放在主机(传输层)中解决 两种建网的代表:。Internet(面向无连接) 复杂问题放在主机中,通信子网不可靠。ATM(面向连接) 复杂问题放在通
18、信子网中传输层也提供面向连接和无连接两种服务,传输层协议类型与网络层服务质量的关系,该层协议建立在网络层之上,网络层服务的完善程度直接影响传输层协议的复杂性,网络层服务越差传输层协议就越复杂 网络服务按质量可分为三种类型A级:提供完善的服务,分组的丢失、重复和错序极少C级:服务几乎是不可靠的,会出现分组丢失和重复分组B级:网络服务介于A级和C级之间,网络层的服务等级与传输层协议类型,传输服务过程,建立连接数据传输 释放连接 连接表,a 建立连接,与远端的固定传输地址的连接 与非固定传输地址的连接 TSAP地址和NSAP地址结构,与远端的固定传输地址的连接,源主机上的进程需要查询时间时,发出连接
19、请求源传输地址为8号TSAP,目标地址为123号TSAP。 源主机传输层收到连接请求后,在源主机和目标主机上选择NSAP,并在它们之间建立一个网络连接。 源主机上的传输实体利用上述连接,将服务质量参数通知目的主机上的传输实体。 目的主机上的传输实体发送连接指示给时间进程 .如果时间进程同意,就发出连接响应原语。 源主机的传输实体收到确认信号,连接便建立。,与非固定传输地址的连接,首先与注册进程连接(在ARPA网中称为初始连接)相当于先接通秘书的电话 请求进程给注册进程发消息,说明要服务的程序相当于告诉对方秘书要找谁 注册进程按照消息要求产生一个新的进程运行该服务进程,并为它分配一个未用地址 注
20、册进程将分配的传输地址发给远端请求进程,并释放与请求进程的传输连接 5. 请求进程收到传输地址后,释放与注册进程的连接相当于也挂机 6. 请求进程与服务进程连接相当于再拨给欲联系者的临时电话。,TSAP地址和NSAP地址结构,一般地,通用TSAP地址具有下面的层次结构:实际上,也就是: TSAP地址 = NSAP地址(即IP地址)+ 因此,当一个传输实体收到一个TSAP地址并想与之连接时,只要使用TSAP地址中的NSAP地址,就可以首先建立一个网络连接,进而到达适当的远端传输实体。,b 数据传输,两个要通信的传输服务用户进程一旦建立了连接,便可以立即开始数据传输。数据传输过程中要处理的一些问题
21、: 数据封装 拼接和分割 多路复用和分流 流量控制和缓冲管理,1. 数据封装,在源端,传输层接收来自高层的服务数据单元TSDU,然后加上报头进行封装,使之成为传输层的协议数据单元TPDU。如果报文太长,则应将其分段;如果报文太短,应将它们组装。与之对应,在目的端再恢复原状。,2. 拼接和分割,从传输层往下看,TPDU实际上是要通过网络层进行实际的数据传输。为此,要按网络层的NPDU大小,对传输层的TPDU进行拼接或分割。随着分组一层一层地向下层传输,数据分组被进行一层一层地封装,最后到达物理层按比特流传输。,分组头,帧头,TPDU有效载荷,分组有效载荷,帧有效载荷,TPDU头,图4.12 TP
22、DU的层层封装过程,3.多路复用和分流,为提高传输效率,传输层设置了多路复用功能 复用包括两个方面:向上复用和向下复用。向上复用就是多个传输层连接复用到一个网络层上。向下复用就是一个传输层连接使用多个网络层上,4. 流量控制和缓冲管理,传输层流量控制使用滑动窗口技术,窗口可随缓冲区大小变化。滑动窗口是面向字节,不是帧,C 释放连接,当数据传输完毕或出现异常情况时,都需 要释放连接。,d 连接表,传输实体要维护一个称为“连接表”的一维 数组,来记录连接号与连接端点的对应关 系。在该一维数组中,每一个数组元素都 是一个称为“连接表项”的结构体: 状态,远端网络地址,远端端口,本地网络地址,本地端口
23、,工作区指针 ,下面对各连接表项加以说明 : 远端/本地网络地址与远端/本地端口 : 远端/本地网络地址用于区分远端/本地计算机;远端/ 本地端口用于区分远端/本地计算机上的应用进程。 工作区指针 工作区包括一个报文段缓冲区、发送序号变量、确认 序号变量、总长度变量、偏移变量等。该工作区是动 态分配的。,传输服务原语,传输服务原语的参数 传输服务原语的类型 传输服务原语使用的时序,传输服务原语的参数,在传输服务原语中,要涉及如下参数: callee,被呼方传输实体使用的地址(即被呼方TSAP的地址) caller,呼叫方传输实体使用的地址(即呼叫方TSAP的地址) exp_wanted,是否加
24、快数据发送(布尔值) qos,希望的服务质量 user_data,传输服务用户数据 responder,目标方作为响应的传输地址 reason,连接释放原因,传输服务原语的类型,面向连接的传输服务原语 无连接的传输服务原语,连接服务原语 T_CONNECT.request(callee,caller,exp_wanted,qos,user_data) T_CONNECT.indication(callee,caller,exp_wanted,qos,user_data) T_CONNECT.response(qos,responder,exp_wanted,user_data) T_CONNE
25、CT.confirm(qos,responder,exp_wanted,user_data) 连接释放服务原语 T_DISCONNECT.request(user_data) T_DISCONNECT.indication(respon, user_data) 数据正常传输服务原语 T_DATA.request(user_data) T_DATA.indication(user_data) 数据加速传输服务原语 T_EXPEDITED_DATA.request(user_data) T_ EXPEDITED_DATA.indication(user_data),传输服务原语使用的时序,图4.1
26、3表示了几种典型的传输服务过程的 原语时序关系。图中,两条竖线将空间分 为3部分:中间为传输服务提供者,两侧为 进行通信的两个传输服务用户。,T-DISCONNECTrequest,T-DISCONNECTindication,(d) 正常释放连接,T-CONNECTrequest,T-CONNECTindication,T-CONNECTresponse,T-CONNECTconfirm,(a) 正常连接,T-CONNECTrequest,T-CONNECTindication,T-DISCONNECTrequest,T-DISCONNECTindication,(c) 远端拒绝连接,T-C
27、ONNECTrequest,T-DISCONNECTindication,(b) 传输服务提供者拒绝,T-DISCONNECTrequest,(e) 双方同时释放连接,T-DISCONNECTrequest,(f) 传输服务提供者向双方同时释放连接请求,T-DISCONNECTindication,T-DISCONNECTindication,T-DATArequest,T-DATAindication,(g) 正常数据传送,T-EXPEDITED-DATArequest,T-EXPEDITED -DATAindication,(h) 加快数据传送,T-DISCONNECTrequest,T-DISCONNETindication,(i) 没有收到释放指示前由传输服务提供者发出释放指示,图4.13 几种典型的传输服务过程的原语时序关系,4.2.4 OSI/RM各层中的数据流动,从OSI/RM中还可以看出,在每一层中数据 的格式是不相同的。从用户应用程序进程 将数据送入应用层开始,直到在物理层中 按比特流进行实际传送,数据在各层中是 被所在层的协议加工、流动的过程。,OSI各层中传输的数据格式,OSI环境数据传输变化特征,协议控制信息,