版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 计算机网络通信,一、绪论,计算机网络利用通信电缆将分散在各地的自治的计算机系统连接在一起,在通信协议的支持下,实现资源共享。,1、计算机网络的产生背景 是 20 世纪 60 年代美苏冷战时期的产物; 60 年代初,美国国防部领导的远景研究规划局提出要研制一种生存性很强的网络; 传统的电路交换的电信网有一个缺点:正在通信的电路中有一个交换机或有一条链路被炸毁,则整个通信电路就要中断; 如要改用其他迂回电路,必须重新拨号建立连接,延时较长。,新型计算机网络的特点 网络用于计算机之间的数据传送; 网络能够连接不同类型的计算机,不局限于单一类型的计算机; 所有的网络结点都同等重要,因而大大提高
2、网络的生存性; 计算机在进行通信时,必须有冗余的路由; 网络的结构应当尽可能地简单,同时还能够非常可靠地传送数据。,2、计算机网络的发展 (1)电路交换:把一条信号线转接到另一条信号线,使它们连通起来,动态分配传输线路资源。,结点增多时,优点: 通信线路为通信双方专用,传输数据的时延小; 通信双方之间的物理通路建立后可以随时通信,实时性强; 双方通信时按发送顺序传送数据,不存在失序问题; 电路交换既适用于传输模拟信号,也适用于传输数字信号; 电路交换的交换的交换设备(交换机等)及控制均较简单。,缺点: 电路交换的平均连接建立时间对计算机通信来说嫌长; 电路交换连接建立后,物理通路被通信双方独占
3、,即使线路空闲,也不能供其他用户使用,信道利用低; 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。,(2)报文交换: 20 世纪 40 年代,电报通信采用了报文交换,以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在结点交换机采用存储转发的传输方式。 优点: 报文交换不需要预先建立专用通信线路,不存在连接建立时延; 由于采用存储转发的传输方式,使之具有下列优点:,便于设置代码检验和数据重发设施,交换结点还具有路径选择,某条传输线路故障时,可重新选择其它线路传输数据,提高了传输的可靠性; 在存储转发中容易实现代码转换和速率匹配
4、,便于类型、规格和速度不同的计算机之间进行通信; 提供多目标服务,一个报文可同时发送到多个目的地址; 允许建立数据传输的优先级,优先级高的报文优先转换。 通信双方不是固定占有一条通信线路,而是在不同的时间段、部分占有物理线路,提高了通信线路的利用率。,缺点: 数据进入交换结点后要经历存储、转发过程,从而引起转发时延(包括接收报文、检验正确性、排队、发送时间等),网络的通信量愈大,造成的时延就愈大,因此报文交换的实时性差,不适合传送实时或交互式业务的数据; 报文交换只适用于数字信号; 报文长度没有限制,而每个中间结点都要完整地接收整个报文,当输出线路不空闲时,还可能要存储几个完整报文等待转发,要
5、求网络中每个结点有较大的缓冲区。为了降低成本,减少结点的缓冲存储器的容量,有时要把等待转发的报文存在磁盘上,进一步增加了传送时延。,(3)分组交换: 分组交换也采用存储转发传输方式,但将报文先分割为若干个较短的分组,然后逐个发送分组(携带源、目的地址和编号信息)。 分组交换除了具有报文交换的优点外,还具有以下优点: 加速了数据在网络中的传输。分组是逐个传输,可以使后一个分组的存储操作与前一个分组的转发操作并行,减少了报文的传输时间。此外,传输分组所需的缓冲区比报文小得多;,简化了存储管理。分组的长度固定,缓冲区的大小也固定,交换结点中存储器的管理比较容易; 减少了出错机率和重发数据量。分组较短
6、,出错机率减少,每次重发的数据量大大减少,提高了可靠性,减少了传输时延; 分组短小,更适用于采用优先级策略,及时传送一些紧急数据,对于计算机间的突发式数据通信,分组交换更合适,缺点: 尽管分组交换比报文交换的传输时延少,但仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力; 分组交换与报文交换一样,每个分组都要加上源、目的地址和分组编号等信息,使传送的信息量大约增大5%10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加; 当分组交换采用数据报服务时,可能出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,三种交换方式的比较,A B C D,
7、A B C D,报文交换,分组交换,t,(4) 计算机网络的发展的三个阶段: 第一阶段: ARPA 研究多种网络互连的技术,产生第一个分组交换网 ARPANET; 1983 年 TCP/IP 协议成为标准协议; 19831984 年,形成了因特网 Internet。 第二阶段: 1986 年,NSF 建立了国家科学基金网 NSFNET,它是一个三级计算机网络:主干网、地区网、校园网 1991 年,美国政府决定将因特网的主干网转交给私人公司来经营,并开始对接入因特网的单位收费。,1993 年因特网主干网的速率提高到 45 Mb/s(T3 速率) 第三阶段: 从1993年开始,NSFNET逐渐被若
8、干个商用的 ISP 网络所代替; 1994 年开始创建了 4 个网络接入点 NAP分别由 4 个电信公司经营。 NAP 就是用来交换因特网上流量的结点。在NAP 中安装有性能很好的交换设施。 从 1994 年到现在,因特网逐渐演变成多级结构网络,(5) 计算机网络的分类 1)按交换功能分类 2)按作用范围进行分类 电路交换 广域网 WAN (Wide Area Network) 报文交换 局域网 LAN (Local Area Network) 分组交换 城域网 MAN (Metropolitan Area Network) 混合交换 接入网 AN (Access Network),城域网,城
9、域网,接入网,接入网,接入网,接入网,接入网,接入网,广域网,局域网,局域网,校园网,企业网,二、计算机网络的体系结构,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的工作;,“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理;,为进行网络中的数据交换而建立的规则、标准或约定即网络协议(network protocol),简称为协议,包括如下要素: (1)语法:数据与控制信息的结构或格式 。 (2)语义:需要发出何种控制信息,完成何种动作以及做出何种响应。 (3)同步:事件实现顺序的详细说明。,划分层次的概念举例,计算机 1
10、 向计算机 2 通过网络发送文件,可以将要做的工作进行如下的划分; 第一类工作与传送文件直接有关: 确信对方已做好接收和存储文件的准备。 双方协调好一致的文件格式。 两个计算机将文件传送模块作为最高的一层 ,剩下的工作由下面的模块负责。,再设计一个通信服务模块,文件传送模块,计算机 1,计算机 2,文件传送模块,只看这两个通信服务模块 好像可直接把文件 可靠地传送到对方,把文件交给下层模块 进行发送,把收到的文件交给 上层模块,通信服务模块,通信服务模块,再设计一个网络接入模块,文件传送模块,计算机 1,计算机 2,文件传送模块,通信服务模块,通信服务模块,网络接入模块,网络接入模块,通信网络
11、,网络 接口,网络 接口,网络接入模块负责做与网络接口细节有关的工作 例如,规定传输的帧格式,帧的最大长度等。,分层的优点: 各层之间独立; 灵活性好; 结构上可分割开; 易于实现和维护; 能促进标准化工作。 层数的选择: 层数太少,会使每一层的协议太复杂; 层数太多,在描述和综合各层功能的系统工程任务时遇到较多的困难。,1、计算机网络的体系结构,计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合; 体系结构就是这个计算机网络及其部件所应完成的功能的精确定义; 实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题; 体系
12、结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。,(1)OSI七层参考模型,数据链路层,5 会话层,4 传输层,3 网络层,2 数据链路层,1 物理层,6 表示层,7 应用层,数据链路层,5 应用层,4 传输层,3 网络层,2 数据链路层,1 物理层,计算机1向2发送数据,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,应 用 程 序 数 据,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,应 用 程 序 数 据,应 用 程 序 数 据,应用层 PDU 再传送到传输层,加上传输层首部,成为传输层报文,5,4,3,2
13、,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,应 用 程 序 数 据,应 用 程 序 数 据,传输层报文再传送到网络层,加上网络层首部,成为 IP 数据报(或分组),5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,应 用 程 序 数 据,应 用 程 序 数 据,IP 数据报再传送到数据链路层,加上链路层首部和尾部,成为数据链路层帧,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,应 用 程 序 数 据,应 用 程 序 数 据,数据链路层帧再传送到物理层,最下面的物理层把比特流传送到物理媒体,1010011010
14、0101 比 特 流 110101110101,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,计算机 2 的物理层收到比特流后交给数据链路层,10100110100101 比 特 流 110101110101,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,数据链路层剥去帧首部和帧尾部后 把帧的数据部分交给网络层,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,网络层剥去分组首部后把分组的数据部分交给传输层,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,传输层剥去
15、报文首部后把报文的数据部分交给应用层,应 用 程 序 数 据,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,应用层剥去应用层 PDU 首部后把应用程序数据交给应用进程,5,4,3,2,1,5,4,3,2,1,计算机 1,AP2,AP1,计算机 2,AP2收到 AP1 发来的应用程序数据!,2、实体、协议、服务和服务访问点,实体(entity) 表示任何可发送或接收信息的硬件或软件进程; 协议是控制两个对等实体进行通信的规则的集合; 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务; 要实现本层协议,还需要使用下层所提供的服务; 本层的服务用户只
16、能看见服务而无法看见下面的协议; 下面的协议对上面的服务用户是透明的;,协议是“水平的”,即协议是控制对等实体之间通信的规则; 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的; 同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。,协议必须将各种不利的条件事先都估计到,而不能假定一切情况都是很理想和很顺利的。 必须非常仔细地检查所设计协议能否应付所有的不利情况。 应当注意:事实上难免有极个别的不利情况在设计协议时并没有预计到。在出现这种情况时,协议就会失败。因此实际上协议往往只能应付绝大多数的不利情况。 协议的例子:白军、兰军问
17、题,3、OSI 与 TCP/IP体系结构的比较,应用层,传输层,网络层,表示层,会话层,数据链路层,物理层,7 6 5 4 3 2 1,OSI 的体系结构,应用层,网络接口层,网际层 IP,(各种应用层协议如 TELNET, FTP, SMTP 等),传输层(TCP 或 UDP),TCP/IP 的体系结构,无连接分组交付服务,传输服务 (可靠或不可靠),TCP/IP 的三个服务层次,TCP/IP 四层协议网络,应用层 传输层 网际层 网络 接口层,主机A,主机B,路由器,网络 2,网络 1,应用层 传输层 网际层 网络 接口层,网际层 网络 接口层,4 3 2 1,沙漏计时器形状的TCP/IP
18、协议族,HTTP,SMTP,DNS,RTP,TCP,UDP,IP,网际层,网络接口层,传输层,应用层,网络接口 1,网络接口 2,网络接口 3,Everything over IP IP 可为各式各样的应用程序提供服务,IP over Everything IP 可应用到各式各样的网络上,4、 TCP/IP应用层的客户-服务器方式,在 TCP/IP 的应用层协议使用的是 客户-服务器方式 客户(client)和服务器(server)都是指通信中所涉及的两个应用进程; 客户-服务器方式所描述的是进程之间服务和被服务的关系,客户是服务请求方,服务器是服务提供方; 计算机的进程(process)就是
19、运行着的计算机程序,为解决具体应用问题而彼此通信的进程称为“应用进程”; 应用层的具体内容就是规定应用进程在通信时所遵循的协议。,客户软件的特点 在进行通信时临时成为客户,同时可在本地进行其他计算; 被用户调用并在用户计算机上运行,在打算通信时主动向远地服务器发起通信; 可与多个服务器进行通信; 不需要特殊的硬件和很复杂的操作系统; 服务器软件的特点 专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求; 在共享计算机上运行。当系统启动时即自动调用并一直不断地运行着; 被动等待并接受来自多个客户的通信请求; 一般需要强大的硬件和高级的操作系统支持;,三、数据链路层,1、数据链路层的基
20、本概念 链路(link): 一条无源的点到点的物理线路段,中间没有任何其他的交换结点。是物理概念 数据链路(data link): 实现数据传输的通信协议+链路 ,是逻辑概念 数据链路层类似数字管道: 在两个对等的数据链路层之间的连线称为数字管道,其上传输的数据单位是帧。,数据链路层的模型,主机A,主机B,结点A,结点,结点B,传输层协议,数据链路层协议,数据链路层协议,数据虚通路,数据虚通路,数据实通路,数据实通路,数据链路/逻辑链路 = (物理)链路 + 通信规程,数据链路层提供的数字信道,物理层提供的无源点到点物理线路段,数据链路层协议,数据链路层向网络层提供的服务, 基本服务: 将源结
21、点的网络层数据可靠地传输到相邻的 目的结点的网络层 三种服务: 1. 无确认的无连接服务:目的结点不作确认,差错由上层负责 2. 有确认的无连接服务:目的结点对收到的帧要作确认,发送 结点可以知道已发出的帧是否安全到达目的结点;误帧重传 3. 面向连接服务:可靠地传送数据的服务,即提供在网络实体间 建立、维持和释放数据链路的功能 服务原语: 连接建立阶段: DL-CONNECT.request, DL-CONNECT.indication, DL-CONNECT.response, DL-CONNECT.confirm 维持阶段: DL-DATA.request, DL-DATA.indica
22、tion 释放阶段: DL-DISCONNECT.request, DL-DISCONNECT.indication,2、数据链路层的主要功能 (1) 链路管理 (2) 帧定界 (3) 流量控制 (4) 差错控制 (5) 将数据和控制信息区分开 (6) 透明传输 所谓透明传输就是不管所传输的数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧出现了与某一个控制信息完全一样时,必须有可靠的措施,使收方不会将这种比特组合的数据误认为是某种控制信息。只要能做到这点,使数据链路层的传输就被称为是透明的。 (7) 寻址,3、停止等待协议 完全理想化的数据传输所基于的两个假定: 假定
23、 1: 链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。 假定 2: 不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。 这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。,(1)具有最简单流量控制的数据链路层协议 保留第一个假定,即信道是无差错的理想信道; 去掉第二个假定,由收方控制发方的数据流,这是计算机网络中流量控制的一个基本方法。 发送方: 1) 从主机取一个数据帧; 2) 将数据帧送到数据链路层的发送缓存; 3) 将发送缓存中的数据帧发送出去; 4) 等待; 5) 若收到由接收结点发过来的信息,则从主机取一个新的数据帧,然
24、后转到(2);,接收方: 1) 等待; 2) 若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存; 3) 将接收缓存中的数据帧上交主机; 4) 向发送结点发一信息,表示数据帧已经上交给主机; 5) 转到(1);,(2)实现可靠传输的数据链路层协议 发送方:超时、错误重传 发送完一个数据帧时,就启动一个超时计时器; 若到了超时计时器所设置的重传时间 tout而仍收不到确认帧,或收到否认帧(帧CRC检验),则重传前面所发送的数据帧。 一般重传时间略大于“从发完数据帧到收到确认帧所需的平均时间”。 接收方:解决重复帧问题 使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送
25、序号加 1; 收到序号相同的数据帧,就表明出现了重复帧,应丢弃; 但此时 还必须 发送确认帧 ACK,因为发送方没有收到上一次发过去的确认帧 ACK。,帧的编号问题: 任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复; 对于停止等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来对帧编号即可。 数据帧中的发送序号 N(S) 以 0 和 1 交替的方式出现在数据帧中; 每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。,(3)停止等待协议算法 确认帧带有序号n。 按照习惯的表示法,ACKn
26、 表示“第n1号帧已经收到,现在期望接收第 n 号帧”。 ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”; ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。,发送方: (1) 从主机取一个数据帧(2) V(S)取0 发送状态变量初始化 (3) 令N(S)等于V(S); 将发送状态变量的数值写入发送序号 将数据帧送交发送缓冲区(4) 将发送缓冲区中的数据帧发送出去(5) 设置超时定时器 选择适当的超时时间t (6) 等待 等待以下三个事件中最先出现的一个 (7) 若收到确认帧ACK,则 从主机取一个新的数据帧;令V(S)等于1-V(S); 更新发送状态变量
27、,变为下一个序号 转到(3)(8) 若接收到否认帧NAK,则转到(4) 重发数据帧 (9) 若超时定时器时间到,则转到(4) 重发数据帧,接收方: (1) V(R)取0 接收状态变量初始化,其数值等于欲接收的数据帧的发序号 (2) 等待(3) 当收到一个数据帧,就检查有无传输差错产生(如用CRC)。若检查结果正确无误,则执行后续算法;否则转到(8)(4) 若N(S)等于V(R),则执行后续算法; 否则转到(7)(5) 将收到的数据帧中的数据部分送交主机(6) 令V(R)等于1-V(R) 更新接收状态变量,准备接收下一个 数据帧 (7) 发送确认帧ACK,并转到(2)(8) 发送否认帧NAK,并
28、转到(2),要点: 发送方只有收到序号正确的确认帧 ACKn 后,才更新发送状态变量 V(S)一次,并发送新的数据帧。 接收方接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较。 若二者相等就表明是新的数据帧,就收下,并发送确认; 否则为重复帧,就必须丢弃。但这时仍须向发送端发送确认帧 ACKn,而接收状态变量 V(R) 和确认序号 n 都不变; 连续出现相同发送序号的数据帧,表明发送端进行了超时重传。连续出现相同序号的确认帧,表明接收端收到了重复帧。 发送端在发送完数据帧时,必须在其发送缓存中暂时保留这个数据帧的副本。这样才能在出差错时进行重传。只有确认对方已经
29、收到这个数据帧时,才可以清除这个副本。 实用的 CRC 检验器由硬件完成;CRC 检验器能够自动丢弃检测到的出错帧。因此所谓的“丢弃出错帧”,对上层软件或用户来说都是透明的。 发送端对出错的数据帧进行重传是自动进行的,因而这种差错控制体制常简称为 ARQ (Automatic Repeat reQuest),直译是自动重发请求,但意思是自动请求重发。,(4)停止等待协议的定量分析 设 tf 是一个数据帧的发送时间,且数据帧的长度是固定不变的。显然,数据帧的发送时间 tf 是数据帧的长度 lf (bit)与数据的发送速率 C (bit/s)之比,即 tf = lf /C = lf /C (s)
30、发送时间 tf 也就是数据帧的发送时延; 数据帧沿链路传到结点B还要经历一个传播时延 tp; 接收方 收到数据帧要花费时间进行处理,称为处理时间 tpr; 发送确认帧 ACK 的发送时间为 ta。,A,B,DATA,DATA,ACK,传播时延 tp,处理时间 tpr,确认帧发送时间 ta,传播时延 tp,处理时间 tpr,时间,两个成功发送的 数据帧之间的 最小时间间隔,数据帧的 发送时间,tf,设置的 重传时间,tout,重传时间的设定,重传时间的作用是:数据帧发送完毕后若经过了这样长的时间还没有收到确认帧,就重传这个数据帧。 为方便起见,设重传时间为 tout = tp + tpr+ ta
31、 + tp + tpr 设上式右端的处理时间 tpr 和确认帧的发送时间 ta 都远小于传播时延 tp,因此可将重传时间取为两倍的传播时延,即 tout = 2tp,两个发送成功的数据帧之间的最小时间间隔是 tT = tf + tout = tf + 2tp 设数据帧出现差错(包括帧丢失)的概率为 p,但假设确认帧不会出现差错。 设正确传送一个数据帧所需的平均时间 tav tav = tT ( 1 + 一个帧的平均重传次数) 一帧的平均重传次数 = 1 P重传次数为 1 + 2 P重传次数为 2 + 3 P重传次数为 3 + = 1 P第 1 次发送出错 P第 2 次发送成功 + 2 P第 1
32、, 2 次发送出错 P第 3 次发送成功 + 3 P第 1, 2, 3 次发送出错 P第 4 次发送成功 + = p(1 p) + 2p2(1 p) + 3p3(1 p) + 这里 PX 是出现事件 X 的概率。,得出正确传送一个数据帧所需的平均时间: tav=tT+(1-p)iipitT=tT/(1-p) 当传输差错率增大时,tav 也随之增大。当无差错时,p = 0, tav = tT; 每秒成功发送的最大帧数就是链路的最大吞吐量 max,显然, max = 1/tav = (1 p) / tT,(5)停止等待协议的优缺点 优点:简单 ; 缺点:通信信道的利用率不高,也就是说,信道还远远没
33、有被数据比特填满; 为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ;,4、连续ARQ协议 (1) 工作原理 在发送完一个数据帧后,不是停下来等待确认帧,而是连续再发送若干个数据帧; 如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧; 由于减少了等待时间,整个通信的吞吐量就提高了;,ACK1 确认 DATA0,ACK2 确认 DATA1,DATA2 出错,丢弃,DATA3 不按序,丢弃,重传 ACK2,DATA4 不按序,丢弃,重传 ACK2,DATA5 不按序,丢弃,重传 ACK2,ACK3 确认 DATA2,ACK4 确认 DATA3,超 时 重 传 时
34、 间,A,B,tout,送交主机,送交主机,?,(2)要点 接收端只按序接收数据帧:如:在有差错的 2号帧之后收到正确的 3 个数据帧,接收端也将这些帧丢弃,并重复发送已发送过的最后一个确认帧(防止确认帧丢失)。 ACK1 表示确认 0 号帧 DATA0,并期望收到 1 号帧;ACK2 表示确认 1 号帧 DATA1,并期望收到 2 号帧,等等; 结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器, 在超时时间内收到确认帧,将超时计时器清零; 若在超时时间内未收到确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。 例如:在等不到 2 号帧的确认而重传 2 号数据帧时,虽然已经发完了
35、 5 号帧,但仍将 2号帧及其以后的各帧全部进行重传。连续 ARQ 又称为Go-back-N ARQ,意思是当出现差错必须重传时,要回走 N 个帧,然后再开始重传。,(3)滑动窗口 发送端和接收端分别设定发送窗口和接收窗口 。 发送窗口用来对发送端进行流量控制。 发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。,接收端设置接收窗口 为了控制哪些数据帧可以接收而哪些帧不可以接收,在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下; 若接收到的数据帧落在接收窗口之外,则一律将其丢弃; 在连续 ARQ 协议中,接收窗口的大小 WR = 1
36、。 只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。 每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。,不允许接收这些帧,0,1,2,3,4,5,6,7,0,1,2,WR,准备接收 0 号帧,(a),滑动窗口的重要特性 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动; 收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议; 当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议; 当用 n 个比特进行编号时,若接收窗口的大小为 1,则只有在发送窗口的大小 WT 2n 1时,连续 ARQ
37、 协议才能正确运行。例如,当采用 3 bit 编码时,发送窗口的最大值是 7 而不是 8。,信道利用率,由于每个数据帧都必须包括一定的控制信息(如帧的序号、地址、同步信息以及其他的一些控制信息),所以即使连续不停地发送数据帧,信道利用率(即扣除全部的控制信息后的数据率与信道容量之比)也不可能达到 100 %; 当出现差错时(这是不可避免的),数据帧的不断重传将进一步使信道利用率降低; 若数据帧的帧长取得很短,那么控制信息在每一帧中所占的比例就增大,因而额外开销增大,这就导致信道利用率的下降; 若帧长取得太长,则数据帧在传输过程中出错的概率就增大,重传次数将增大,也会使信道利用率下降; 由此可见
38、,存在一个最佳帧长,在此帧长下信道的利用率最高。,5、选择重传 ARQ 协议 为了进一步提高信道的利用率,可以设法只重传出现差错的数据帧或者是定时器超时的数据帧。此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到之后再一并送交主机。这就是选择重传ARQ协议 选择重传 ARQ 协议可避免重复传送那些本来已经正确到达接收端的数据帧; 但我们付出的代价是在接收端要设置具有相当容量的缓存空间; 对于选择重传 ARQ 协议,若用 n 比特进行编号,则接收窗口的最大值受下式的约束 WR 2n/2,6、 面向比特的链路控制协议 HDLC,HDLC产生的背景
39、:1面向字符型数据链路层协议的缺点: 报文格式不一样; 传输透明性不好; 等待发送方式,传输效率低。2面向比特型协议的设计目标: 以比特作为传输控制信息的基本单元; 数据帧与控制帧格式相同; 传输透明性好; 连续发送,传输效率高。,(1)HDLC 协议概述,1974年,IBM 公司推出了面向比特的规程SDLC (Synchronous Data Link Control)。 随后, ISO 把 SDLC 修改后称为 HDLC (High-level Data Link Control),译为高级数据链路控制,作为国际标准ISO 3309。 CCITT 则将 HDLC 再修改后称为链路接入规程
40、LAP (Link Access Procedure)。不久,HDLC 的新版本又把 LAP 修改为 LAPB,“B”表示平衡型(Balanced),所以 LAPB 叫做链路接入规程(平衡型)。,站的类型 (1)主站(Primary Station):指负责控制链路运行的站。它发出命令帧,接收响应帧。 (2)次站(Secondary Station):在主站控制下运行,配合主站参与控制的站。它接收主站发来的命令帧,向主站发回响应帧。 (3)复合站(Combined Station):兼有主站与次站的功能。可以发出命令帧,也可以接收命令帧;既可接收响应帧又可以发出响应帧,对链路实行控制。,链路的
41、结构 HDLC有三种链路结构形式: (a)为非平衡配置的点-点式链路结构; (b)为非平衡配置的点-多点式结构,一个主站,多个次站; (c)为平衡配置点-点式结构,两端都是复合站,左右平衡。,主站,次站,命令,响应,(a),命令,响应,(b),复合站,命令,响应,(c),主站,次站,次站,复合站,(2) HDLC 的帧结构,1)标志字段 F (Flag) : 6 个连续 1 加上两边各一个 0 共 8 bit。在接收端只要找到标志字段就可确定一个帧的位置。,比特,8,8,8,可变,16,8,信息 Info,标志 F,标志 F,地址 A,控制 C,帧检验序列 FCS,透明传输区间,FCS 检验区
42、间,零比特填充法,HDLC 采用零比特填充法使一帧中两个 F 字段之间不会出现 6 个连续 1。 在发送端,当一串比特流数据中有 5 个连续 1 时,就立即填入一个 0。 在接收帧时,先找到 F 字段以确定帧的边界。接着再对比特流进行扫描。每当发现 5 个连续 1 时,就将其后的一个 0 删除,以还原成原来的比特流。,数据中某一段比特组合恰好 出现和 F 字段一样的情况,0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0,会被误认为是 F 字段,透明传输,采用零比特填充法就可传送任意组合的比特流,或者说,就可实现数据链路层的透明传输。 当连续传输两个帧时,前一个帧的结束标志字段
43、 F 可以兼作后一帧的起始标志字段。 当暂时没有信息传送时,可以连续发送标志字段,使收端可以一直和发端保持同步。,2) 地址段(A) 对于命令帧,(A)段应当填写接收该命令帧的次站或者复合站的地址; 对于响应帧,(A)段应当填写发送该响应帧的次站或者复合站地址; 当多个次站共用同一地址标识,这同一地址被称为组地址; 若主站发出帧的(A)段填写了全1,则称为广播地址,主站用广播地址发送的帧将被链路上所有的次站接收。 HDLC协议规定还可以使用扩展地址:当一个8位地址的最低位为1时,表示整个地址段结束,当8位地址的最低位为0时,表示地址段未完待续。 3)控制段(C):是各段中最复杂的一段。HDLC
44、协议的命令、响应及其它重要功能都是依靠(C)控制段实现的。通常(C)段为8位,在需要时可扩展为16位。,4 )信息段(I):仅在信息帧及某些无编号帧出现。该段可包含任意长度的比特序列,HDLC协议未对长度作规定,但一般某种具体实现都会把长度限定在一个最大值之下。(I)段位数必须为8位的整数倍。 5 )帧校验序列(FCS):为帧提供了除首尾标志之外的全帧比特的CRC-16校验。生成多项式为 G(x)=x16+x12+x5+1 在帧长度很长,对可靠性要求较高的场合,应选用CRC-32检验码。,(3) HDLC 的帧结构 1)帧的分类,2)信息帧:当控制段(C)b1位为0时,对应的帧为信息帧 信息段
45、(I)中放着用户数据 控制段N(S)(b2b3b4)表示该信息帧的序号 N(R)(b6b7b8)表示期待接收的下一帧的序号。控制段设置N(R),使得信息帧可兼作对所接收数据的响应,有利于全双工通信 信息帧控制段P/F(b5)位称为探询/结束位。在正常响应方式,主站发出命令帧中若P=1,则表示主站用探询命令要求次站发送数据,次站则用信息帧作为响应帧,当信息帧有好几个时,前面几个的F=0,而最后一个响应帧的F=1以表示帧结束。,3)监督帧(S帧):当控制段(C)b1b2=10时,其对应的帧称为监督帧 监督帧没有信息段(I),只用来进行流控制及差错控制; 监督帧共有4种,由S= b3b4位的取值决定
46、:,监督帧也可以作为命令帧使用,这时要由P/F位配合 RR帧(REJ,SREJ)的P/F位置1,表示主站探询次站,允许次站发送数据; 主站(复合站)可以用RNR帧令P/F=1来要求次站(复合站)处于接收状态。如果该站可以接收信息帧,则用RR帧P/F=1作为响应;如果该站很忙,无法接收信息帧,则用RNR帧的P/F=1响应。,4)无编号帧(U帧):b1b2=11,对应的帧称为无编号帧。无编号帧的控制段(C)中不带N(S),N(R)这样的编号。U帧中M=b3b4b6b7b8,不同取值可得到32种帧,其中20种已经作了定义,可以分为以下四类: 模式设定命令与响应 信息传送命令与响应 恢复命令与响应 其
47、它命令与响应,7、 因特网中的数据链路层协议 点对点协议 PPP(1)PPP 协议的工作原理,现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。,用户拨号入网的示意图,路由器,调制解调器,调制解调器,因特网服务提供者(ISP),用户家庭,拨号电话线,使用 TCP/IP 的 PPP 连接,路由选择 进程,至 因 特 网,PC 机,1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订,现在的 PPP 协议已成为因特网的正式标准RFC 1661。 PPP协议
48、有三个组成部分 类似HDLC成帧,一个将 IP 数据报封装到串行链路的方法。 链路控制协议 LCP (Link Control Protocol)。 网络控制协议 NCP (Network Control Protocol)。,PPP 的帧格式和 HDLC 的相似。 标志字段 F 仍为 0 x7E (符号“0 x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)。 地址字段 A 只置为 0 xFF。地址字段实际上并不起作用。 控制字段 C 通常置为 0 x03。 PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。,(2)PPP 协议的帧格式,PPP
49、 协议的帧格式,PPP 有一个 2 个字节的协议字段。 当协议字段为 0 x0021 时,PPP 帧的信息字段就是IP 数据报。 若为 0 xC021, 则信息字段是 PPP 链路控制数据。 若为 0 x8021,则表示这是网络控制数据。,IP 数据报,1,2,1,1,字节,1,2,不超过 1500 字节,PPP 帧,先发送,7E,FF,03,F,A,C,FCS,F,7E,协议,信 息 部 分,首部,尾部,当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。 当 PPP 用在异步传输时,就使用一种特殊的字符填充法: 将信息字段中出现的每一个 0 x7E
50、字节转变成为 2 字节序列(0 x7D, 0 x5E)。 若信息字段中出现一个 0 x7D 的字节, 则将其转变成为 2 字节序列(0 x7D, 0 x5D)。 若信息字段中出现 ASCII 码的控制字符(即数值小于 0 x20 的字符),则在该字符前面要加入一个 0 x7D 字节,同时将该字符的编码加以改变。,(3)透明传输问题,PPP 协议之所以不使用序号和确认机制是出于以下的考虑: 在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。 在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。 帧检验序列 F
51、CS 字段可保证无差错接受。,(4)不提供使用序号和确认的可靠传输机制,当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。 PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。 这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。,(5)PPP 协议的工作状态,PPP 协议的状态图,建立,失败,失败,NCP 配置,鉴别成功
52、,通信 结束,载波 停止,检测到 载波,双方协商 一些选项,鉴别,网络,打开,终止,静止,四、网络层,网络层的功能主要包括: 实现报文与报文分组的交换 支持不同网络的互连并向传输层提供透明的数据传输 在一个计算机网络中,两个要通信的端点间有多种可能的连结,网络层通过路径选择找到合适的网络连结,并采用虚电路或数据报方式实现报文分组的传送。,1、路由器在网际互连中的作用,(1) 路由器的构成 当主机 A 要向另一个主机 B 发送数据报时,先要检查目的主机 B 是否与源主机 A 连接在同一个网络上。 如果是,就将数据报直接交付给目的主机 B 而不需要通过路由器。 但如果目的主机与源主机 A 不是连接
53、在同一个网络上,则应将数据报发送给本网络上的某个路由器,由该路由器按照转发表指出的路由将数据报转发给下一个路由器。这就叫作间接交付。,直接交付和间接交付,间接交付,间接交付,间接交付,A,B,C,直接交付,直接交付,直接交付不需要使用路由器 但间接交付就必须使用路由器,典型的路由器的结构,路由 选择,路由选择处理机,路由选择协议,路由表,3,输入端口,3,交换结构,输入端口,输出端口,分组 转发,转发表,分组处理,输出端口,1,1,1,3,3,1,2,2,2,2,3网络层 2数据链路层 1物理层,“转发”和“路由选择”的区别,“转发”(forwarding)就是路由器根据转发表将用户的 IP
54、数据报从合适的端口转发出去。 “路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。 路由表是根据路由选择算法得出的。而转发表是从路由表得出的。 在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,,输入端口对线路上收到的分组的处理,数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理。这会产生一定的时延。,物理层处理,数据链路层 处理,网络层处理 分组排队,交 换 结 构,输入端口的处理,从 线 路 接 收 分 组,查表和转发,输出端口将交换结构传送来的分组发送到线路,把交换结构传送过来的分组先进行缓存。
55、数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。,物理层处理,数据链路层 处理,网络层处理 分组排队,输出端口的处理,向 线 路 发 送 分 组,缓存管理,交 换 结 构,分组丢弃,若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。,(2)交换结构,I1,I3,I2,I1,I3,I2,O1,O3,(a) 通过存储器,(c) 通过互连网络,(b) 通过总线,互连网络,(2)交换结构,互连在一起的网络要进行通信,会遇到许多问
56、题需要解决,如: 不同的寻址方案 不同的最大分组长度 不同的网络接入机制 不同的超时控制 不同的差错恢复方法 不同的状态报告方法 不同的路由选择技术 不同的用户接入控制 不同的服务(面向连接服务和无连接服务) 不同的管理与控制方式,中间设备又称为中间系统或中继(relay)系统。 物理层中继系统:转发器(repeater)。 数据链路层中继系统:网桥或桥接器(bridge)。 网络层中继系统:路由器(router)。 网桥和路由器的混合物:桥路器(brouter)。 网络层以上的中继系统:网关(gateway)。,网络互相连接起来要使用一些中间设备,当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。 网关由于比较复杂,目前使用得较少。 互联网都是指用路由器进行互连的网络。 由于历史的原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关。为区别起见,称做IP网关。,网络互连使用路由器,互连网络与虚拟互连网络,网络,网络,网络,网络,网络,(a) 互连网络,(b) 虚拟互连网络,路由器,虚拟互连网络 (IP 网),虚拟互连网络的意义,所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热奄包治疗知识测试题目与答案
- 树元教育考试试题及答案展示
- 2026年供用电营业人员测试卷及答案
- 焊接缺陷练习题及精准答案
- 2026年低压电工实操业务考试试卷试题及答案
- 2026年超限超载风险管控考试试卷试题及答案
- 2026年不合格品处置流程考核考试试卷试题及答案
- 2026年危险化学品从业人员安全培训考试题库及答案
- 2026年特种设备安全员考试题(附答案)
- 2026年数据库运维考核试题(附答案)
- 2026秋季开学教师大会政教(德育)副校长讲话:立德树人守初心笃行实干启新程
- 2025年德阳市消防救援支队招录消防文员考试试卷真题
- 2026广东佛山市顺德区(家电)知识产权快速维权中心招聘事业编制人员3人笔试题库(培优)附答案详解
- 2026年秋季新版五年级语文上册教学计划
- 2026年二级建造师水利水电工程真题及答案(完整版)
- 2025年卫生高级职称面审答辩(儿童保健)副高面审综合能力测试题及答案
- 2026广西南宁市邕宁区中医医院第二次岗位招聘21人笔试参考题库及答案详解
- 卫生高级职称面审答辩指南2026
- 2026船长面试题及答案大全集
- 河南省汤阴县2026年上半年公开招聘城市协管员试题(含答案)
- T∕CHCIA 014-2023 液体香氛安全要求
评论
0/150
提交评论