计算机网络(第三版)蔡皖东西安电子科技大学出版社第二章资料课件_第1页
计算机网络(第三版)蔡皖东西安电子科技大学出版社第二章资料课件_第2页
计算机网络(第三版)蔡皖东西安电子科技大学出版社第二章资料课件_第3页
计算机网络(第三版)蔡皖东西安电子科技大学出版社第二章资料课件_第4页
计算机网络(第三版)蔡皖东西安电子科技大学出版社第二章资料课件_第5页
已阅读5页,还剩100页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12023/7/20§第二章网络体系结构第二章22023/7/20第二章主要内容2.1引言2.2物理层2.3数据链路层2.4网络层2.5传输层2.6应用层32023/7/20物理层

物理层涉及通信信道上传输的原始数据位。举例来说,在物理层设计的时候,必须要保证,当一方发送了“1”时,在另一方接收到的也是“1”,而不是“0”。物理层涉及到的一些典型问题为:应该用多少伏的电压表示“1”,多少伏的电压表示“0”。每一位持续多少纳秒;选择何种传输介质,信号调制及复用方式;42023/7/20物理层

传输过程是否在两个方向上同时进行;初始连接如何建立;传输结束后,如何撤销连接;网络连接器有多少针,以及每一针的用途是什么。必须通过物理层接口协议,解决如上问题,以保证各制造厂家,按统一的物理层接口标准生产出来的通信设备,能够完全兼容。52023/7/20物理层

物理层的功能的定义:利用物理的、电气的、功能的和规程的特性在DTE和DCE之间实现对物理链路的建立、保持和拆除功能。

DTE数据终端设备:是指输入/输出设备、计算机等终端设置;

DCE数据电路端接设备:是指自动呼叫应答设备、交换机以及其他一些中间装置的集合。62023/7/20DTE、DCE与通信线路的连接DTEDCEDCE串行比特传输信号线与控制线用户环境通信环境用户设施通信设施DTE信号线与控制线用户设施用户环境72023/7/20物理层(续)

物理层的主要任务为,确定DTE与DCE以及传输媒体接口有关的机械、电气、功能、规程特性,这些特性包括:

机械特性:指明物理接口连接器的尺寸、插针数目、排列方式、插头尺寸、插座尺寸以及电缆长度和电缆所含导线的数目等;

电气特性:说明了数据交换信号以及有关电路的特性。例如,最大数据传输率的说明;指明在接口电缆的各条线上出现的电压范围等;82023/7/20物理层(续)

功能特性:指明某条线上出现的某一电平的电压表示何种意义;

规程特性:指明对于不同功能的各种可能事件的出现顺序。通过上述特性的标准设定,保证了各个制造厂家,按统一的物理层接口标准生产出来的通信设备,能够完全兼容。92023/7/20第二章主要内容2.1引言2.2物理层2.3数据链路层2.4网络层2.5传输层2.6应用层102023/7/20数据链路层

数据链路层:提供了数据链路的流量控制和差错控制功能,将不可靠的物理链路变成可靠的数据链路,为网络层提供传送数据的功能和过程。112023/7/20链路与数据链路

链路(link):从一个节点到相邻节点的一条物理线路段,称为一段链路,中间没有任何其他的交换节点。在进行数据通信时,两个计算机之间的通信路径,往往要经过许多段这样的链路。一条链路只是一条通路的一个组成部分。122023/7/20链路与数据链路(续)

数据链路(datalink)

:除了物理线路外,还必须有通信协议来控制数据在链路上的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。有时也采用另外的术语,把链路分为物理链路和逻辑链路。物理链路就是指前述的“链路”,逻辑链路是指“数据链路”。132023/7/20数据链路层模型

常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。

早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。节点节点帧帧142023/7/20数据链路层模型局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3电话网局域网主机

H1

向

H2

发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动152023/7/20数据链路层模型(续)

主机H1

向H2

发送数据时,从协议的层次上看,主机H1

和H2都有完整的五层协议,但路由器在转发分组时使用的协议只有下面的三层,数据进入路由器后要先从物理层上到网络层,在转发表中找到下一跳的地址后,再下到物理层转发出去。

数据从主机H1

传送到主机H2

需要在路径中的各节点的分层中,向上和向下流动多次。162023/7/20数据链路层模型(续)

当我们专门研究数据链路层问题时,在许多情况下,我们可以只关心在水平方向的各数据链路层,数据的传输情况。于是,当主机H1

向主机H2

发送数据时,我们可以想象为:数据就是在数据链路层从左向右沿水平方向传送。172023/7/20数据链路层模型局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3电话网局域网主机

H1

向

H2

发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动182023/7/20HDLC规程中的帧结构

帧是数据链路层传输的基本数据单位。

HDLC规程中,帧的基本格式包括如下字段,各字段含义为:192023/7/20HDLC规程中的帧结构(续)

标志(F):表示一个帧的开始和结束,其位为01111110。在一个帧的中间不允许出现与标志相同的位,通常采用位插入的方法来避免这种情况的发生。

地址(A):对于命令帧,该字段为对方的站地址;对于响应帧,则该字段指出的是本站地址。

控制(C):用于定义帧类型。202023/7/20HDLC规程中的帧结构(续)

信息(I):用于传送用户数据。信息字段的长度是可变的,在理论上是不限长度的,但在实际中要受到FCS(帧校验)校验能力、站点缓冲区大小等具体因素的限制。

帧校验(FCS):通常采用16位的循环冗余校验码,其生成多项式为x16+x12+x5+1。212023/7/20流量控制算法

流量控制是一种协调发送站的发送速率和接收站的接收速率一致性的数据传输同步技术。

发送速率是指生成和发送帧的速率,它是以每秒发送的帧数(f/s)为速率单位的;接收站接收到的数据帧先暂时存放在接收缓冲区中,然后再进行必要的处理,如帧头有关字段处理、数据组装处理等。接收速率是指从接收缓冲区取出帧进行处理的速率,它以每秒处理的帧数(f/s)为速率单位的。222023/7/20流量控制算法(续)

如果发送速率大于接收速率,接收站就会来不及处理接收到的数据帧而产生接收缓冲区溢出,造成数据帧丢失,这种现象称为同步失调;如果发送速率远小于接收速率,接收站就会一直处于等待状态,造成介质空闲,使介质利用率过低。通过流量控制技术可以有效解决同步失调和高效利用介质问题;通常的流量控制算法有停止-等待协议和滑动窗口协议。232023/7/20停止-等待协议

在该协议中,同步失调问题主要采用应答机制来解决;

应答机制是指:发送站发送一个帧后,要停下来等待接收站的应答帧,只有接收到应答帧后,才发送下一个帧;接收站的接收缓冲区容量只能存放一个数据帧,在处理完一个数据帧后,才发送应答帧,提示发送站发送下一个帧。这种基于应答机制的通信协议称为停止-等待协议。242023/7/20停止-等待协议(续)

在发送站点:

(1)从高层获得数据,生成数据帧。

(2)将数据帧送到数据链路层的发送缓存。

(3)将发送缓存中的数据帧发送出去。

(4)等待。

(5)若收到由接收结点发过来的应答信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转到(2)。252023/7/20停止-等待协议发送流程图262023/7/20停止-等待协议(续)

在接收站点:

(1)等待。

(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存。

(3)将接收缓存中的数据帧上交高层。

(4)向发送结点发一应答信息,表示数据帧已经上交给高层。

(5)转到(1)。272023/7/20停止-等待协议接收流程图282023/7/20停止-等待协议(续)ABDATADATADATADATA送主机B送主机B送主机B送主机B时间不进行流量控制ABDATA送主机BDATA送主机B进行流量控制292023/7/20滑动窗口协议

停止-等待协议中的应答机制虽然解决了通信双方的同步问题,但一帧一应答的同步方法的通信效率过低,不能充分利用介质带宽;为了提高介质利用率,可以采用多帧一应答的同步方法;基于这种多帧应答机制的通信协议称为滑动窗口协议。302023/7/20差错控制算法

通信规程必须提供适当的差错控制机制,以保证在有噪信道上数据传输的正确性。差错控制机制包含:差错检测:校验码:奇偶校验码;循环冗余校验码。差错纠正:

肯定应答;超时重发;帧编号312023/7/20差错纠正

差错纠正:差错纠正机制涉及如下几个关键问题:

肯定应答:当接收站对接收到的数据帧校验正确无误后向发送站回送一个肯定式应答帧,表示已经正确地接收了该帧,发送站可以继续发送下一个数据帧。ACK:确认字符;NAK:否定应答。接收站的应答可采用两种方式实现:一种是单独应答方式,即接收站使用特定的应答帧进行单独应答;一种是捎带应答方式,即接收站如果也有数据要发送给对方,可以通过数据帧中的接收序号字段进行捎带应答。322023/7/20差错纠正(续)

超时重发:发送站在发出一个数据帧后开始计时,如果在规定的时间内没有收到该帧的应答帧,则认为该帧出错或丢失,并重新发送该帧。(超时计时器)332023/7/20超时计时器

节点A发送完一个数据帧时,就启动一个超时计时器(timeouttimer)。超时计时器又称为定时器。若到了超时计时器所设置的重传时间tout而仍收不到节点B的任何确认帧,则节点A就重传前面所发送的这一数据帧。一般可将重传时间选为略大于“从发完数据帧到收到确认帧所需的平均时间”。342023/7/20停止-等待协议(续)时间ABDATA0送主机ACKDATA1送主机ACK(a)正常情况ABDATA0DATA0送主机ACK(c)数据帧丢失重传tout丢失!ABDATA0送主机ACKDATA0丢弃ACK(d)确认帧丢失重传tout丢失!ABDATA0NAKDATA0送主机ACK(b)数据帧出错重传出错四种情况352023/7/20差错纠正(续)

帧编号:每个帧都要顺序地进行编号。因为接收站在正确接收到一个数据帧后回送一个应答帧,然而应答帧在传输过程中可能发生丢失,发送站超时后会重新发送该帧。这时,接收站将接收到两个完全相同的数据帧,这也是一种差错现象。所以,接收站必须通过数据帧的编号来排除重复帧,保持数据帧的惟一性,并通过带编号的应答帧指出它是对哪个数据帧作出的应答。362023/7/20帧编号

使每一个数据帧带上不同的发送序号。每发送一个新的数据帧就把它的发送序号加1。若节点B收到发送序号相同的数据帧,就表明出现了重复帧。这时应丢弃重复帧,因为已经收到过同样的数据帧并且也交给了主机B。但此时节点B还必须向A发送确认帧ACK,因为B已经知道A还没有收到上一次发过去的确认帧ACK。372023/7/20帧编号(续)

任何一个编号系统的序号所占用的比特数一定是有限的。因此,经过一段时间后,发送序号就会重复。序号占用的比特数越少,数据传输的额外开销就越小。对于停止-等待协议,由于每发送一个数据帧就停止等待,因此用一个比特来编号就够了:一个比特可表示0和1两种不同的序号。382023/7/20帧编号(续)

数据帧中的发送序号以0和1交替的方式出现在数据帧中。每发一个新的数据帧,发送序号就和上次发送的不一样。用这样的方法就可以使收方能够区分开新的数据帧和重传的数据帧了。392023/7/20带有差错控制的停止-等待协议(续)402023/7/20本次课主要内容网络层:路由选择算法网络层:拥塞控制算法数据链路层:差错控制算法网络层:数据传输服务412023/7/20第二章主要内容2.1引言2.2物理层2.3数据链路层2.4网络层2.5传输层2.6应用层422023/7/20网络层

网络层的主要功能是:完成网络中任意主机之间的数据传输;其关键问题是:如何将分组从原主机路由到目的主机

。中间节点的网络层必须提供存储转发、路由选择、拥塞控制以及网络互连等功能。

网络层协议定义了这些功能。本节主要介绍网络层协议的核心技术:数据传输服务、路由选择算法和拥塞控制算法。432023/7/20数据传输服务局域网广域网主机

H1主机

H2路由器

R1路由器

R2路由器

R3电话网局域网主机

H1

向

H2

发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动442023/7/20数据传输服务(续)

网络层的数据传输单位是分组,每个分组由分组头和分组数据两部分组成:分组头中包含了寻址信息和说明信息等。

寻址信息指出了通信双方的网络层服务访问点(NetworkServiceAccessPoint,NSAP)地址,NSAP地址定义了通信双方的通信子网地址和子网中的节点地址;

说明信息描述了数据传输时的某些特性,如服务类型、生存期等。452023/7/20数据传输服务(续)

网络层分组将封装在数据链路层的数据帧中,作为数据帧的数据部分进行传输。462023/7/20数据传输服务(续):地址

NSAP地址是一种由网络层定义的逻辑地址,它连同分组一起封装在数据帧中。在数据帧中,帧头中的节点地址才是在物理网络上标识实际节点的地址,称为物理地址,它是由数据链路层协议定义的。472023/7/20数据传输服务(续):节点

为了在互联网络上实现数据传输,网络层协议定义了两类节点:端节点和中间节点。

端节点是一个具有通信功能的计算机系统,也称主机,包括源端节点和目的端节点。一次数据传输是从源端节点发送数据开始到数据被目的端节点全部正确接收而结束。482023/7/20数据传输服务(续):节点

源端节点主要完成下列功能:

(1)数据分段。

(2)地址解析。将NSAP地址转换成物理地址,并提交给数据链路层,以便数据链路层协议构造数据帧,实现数据帧在物理网络上的传输。NSAP地址转换成物理地址是由地址解析协议实现的,这一过程称为地址解析。目的端节点主要完成数据组装功能。492023/7/20数据传输服务(续)

中间节点是路由器或交换机,为端到端的数据通信提供数据转发和路由选择服务,源端节点发送的数据分组通过各个中间节点的转发到达目的端节点。因此,路由选择和拥塞控制是网络层协议的重要功能。

路由选择算法负责确定:一个进来的分组,应该被传送到哪条输出线路上。可以认为路由器内有两个进程。502023/7/20路由选择算法

在互联网模型中,端节点主要完成数据的分段和组装;中间节点则基于存储-转发技术,负责选择适当的路由来转发这些数据分组。路由选择是中间节点网络层的重要功能之一。对于面向连接的传输方式,中间节点只是在建立连接时,选择一次路由,以后每个数据分组,都沿着该路由进行传输;对于无连接的传输方式,中间节点要为每个数据分组选择路由,每个数据分组的传输路径可能是不同的。512023/7/20路由选择的主要工作原理

每个中间节点都维持一个路由表来记录有关路由信息,如端节点地址与线路对应关系、路由开销等;在转发数据分组时,路由器将根据数据分组的目的地址,来查找路由表以获取有关路由信息,并采用所支持的某种路由选择算法,计算最佳路由,然后按该路由转发数据分组。路由选择的质量关键在于路由选择算法。路由选择算法有很多种,大致可分成静态算法和动态算法两大类。522023/7/20静态路由选择算法

静态路由选择算法是指采用某种路由选择算法预先计算出每个路由器的路由表,再在路由器加电启动时加载到路由器中。在路由器工作过程中,路由表内容保持不变。如果网络拓扑结构或其他网络参数发生变化,则需要重新预先计算出各个路由器的路由表,并重新加载到路由器中。

静态路由选择算法也称固定路由选择算法。有最短路径选择算法(SP)和基于流量的路由选择算法(FR)等。532023/7/20最短路径选择算法(续)

在最短路径选择算法中,根据网络拓扑结构将一个通信网络表示成一个加权无向图:(a)加权无向图;(b)最短路径542023/7/20最短路径选择算法(续)

节点代表网络中的路由器;

连线代表通信线路;连线上标注的数字代表线路的权值;权值可以用线路长度、通信费用、队列长度以及拥有的可用资源数量等加权函数计算出来。

SP算法就是根据线路的加权值寻找出最短路径。552023/7/20最短路径选择算法(续)

SP算法是一个逐步搜索过程:

(1)设在第m步已经搜索到一个最短路径,该路径上有n个距离源节点最近的节点,他们构成了一个节点集合N;

(2)在第m+1步,继续搜索不属于N的距离源节点最近的节点,并将搜索到搜索到的节点加入到N中;

(3)继续搜索,直至到达目的节点,N中的节点集合便是从源节点到目的节点的最短路径。562023/7/20基于流量的路由选择算法(续)

SP算法主要是根据网络拓扑结构计算最短路径,而没有考虑通信流量或负载。

FR算法则考虑网络拓扑结构和通信流量两方面的因素进行路由选择。

使用FR算法的理由:在一些网络中,节点之间的通信流量是相对稳定和可预测的。如果在预先知道节点之间平均通信流量的条件下,采用适当的算法对通信流量进行数学分析,则可以优化路由选择。572023/7/20基于流量的路由选择算法(续)

FR算法的基本条件是:必须知道网络拓扑结构;必须知道节点之间平均通信流量;必须知道各条线路的容量;582023/7/20基于流量的路由选择算法(续)

FR算法的基本原理是:对于一个给定的线路,如果已知该线路的负荷量和平均流量,则可以用队列理论计算出该线路的平均分组延迟。由所有的线路平均延迟可直接计算出流量加权平均值,从而得到整个网络的平均分组延迟。于是,路由选择问题就可归结为如何找出产生网络最小延迟的路由选择算法。所有计算是预先脱机进行的,可以不考虑计算开销和费时问题。592023/7/20动态路由选择算法

网络的拓扑结构和通信量是动态变化的:如路由器的加入或退出,网络发生拥挤或阻塞等。如果路由器能够及时获得这些网络动态变化情况,并以此作为路由选择的依据,则会有助于路由选择的优化。

动态路由选择算法就是采用这一机理进行路由选择的,也被称为自适应路由选择算法。常用的动态路由选择算法有距离矢量路由选择算法和链路状态路由选择算法。602023/7/20链路状态路由选择算法

链路状态路由选择算法广泛应用于现代网络系统中,该算法主要执行如下四步过程:

发现相邻路由器,获取其网络地址。

当一个路由器加入到网络后,首先向每个相邻路由器发送一个特殊的Hello分组,目的是声明它的存在,并希望得到相邻路由器的响应。各个相邻路由器接收到Hello分组后,都回应一个包含本路由器地址的响应分组。每个路由器地址应是一个全局惟一的地址。612023/7/20链路状态路由选择算法(续)

测量到各个相邻路由器的时间延迟或线路开销。一个路由器可通过发送Echo分组来测量到各个相邻路由器的延迟:各个相邻路由器接收到Echo分组后,都回应一个包含时间标记的响应分组。从发送Echo分组开始到接收到响应分组所经历时间除以2,便是该线路的延迟时间估算值。此延迟时间估算值反映了线路当前可用带宽状况,线路当前可用带宽越大,延迟时间越小;反之,线路当前可用带宽越小,延迟时间越大。622023/7/20链路状态路由选择算法(续)

将测量值通告给其他的路由器。路由器在获得有关路由器和链路状态的信息后,构造一个特殊的链路状态(LinkState,LS)分组来发布链路状态信息,该分组包含有发送者地址、序号、生存期以及各个相邻路由器地址和对应的延迟时间估算值等信息。该分组可以周期性地发送,也可以在网络发生重大事件时发送,并采用如下的传递机制:

a、路由器采用扩散法周期地向所有的线路广播LS分组,每发送一个新的LS分组,分组的序号加1。632023/7/20链路状态路由选择算法(续)b、相邻路由器接收到LS分组后,通过核对发送者地址和序号来判断LS分组是否是重复的或过时的。如果是新的LS分组,则在路由表中记录新的链路状态信息,并向除输入线路之外的所有线路扩散,传播给其他的路由器;如果是重复的LS分组,说明它已从其他的路径接收到了该分组,则丢弃该分组;如果LS分组的序号小于以前曾收到的来自同一发送者的LS分组序号,说明该分组是一个过时的LS分组,则丢弃该分组。为了避免序号冲突问题,分组的序号采用较长位数,如32位。642023/7/20链路状态路由选择算法(续)c、链路状态信息以软状态方式保存在路由器中:路由器定期地(如每隔1秒钟)检查它所记录的LS分组的生存期,并减1。如果一个LS分组的生存期减至0,则删除来自该LS分组的链路状态信息。这样就避免了无效的或出错的链路状态信息长期占据路由器的存储空间。这样,一个路由器所测量的链路状态信息通过上述传递机制就发布给了网络中所有的路由器。每个路由器用接收到的LS分组来建立和更新其路由表。652023/7/20链路状态路由选择算法(续)

计算网络最短路径。各个路由器在建立路由表后,可采用最短路径选择算法计算到达目的节点的最短路径,并按该路径转发数据分组。662023/7/20拥塞控制算法

在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞。出现资源拥塞的条件:对资源需求的总和>可用资源若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而急剧下降。

拥塞控制算法,包含避免拥塞的方法,拥塞的确定方法,拥塞后的反馈方法等关键技术。672023/7/20拥塞控制与流量控制的关系

拥塞控制主要用于保证网络通畅地传送数据。拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。当然,在拥塞控制反馈机制中,也包括降低发送端的发送速率。

流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。682023/7/20拥塞控制算法的分类

拥塞控制算法大致可分为开环控制和闭环控制两大类。

开环控制算法:通过良好的网络系统设计避免拥塞。在网络运行中,何时接收新分组,何时丢弃分组以及丢弃哪些分组都是事先规划好的,并不考虑当前的网络流量状况。

闭环控制算法:通过反馈机制来调整当前网络流量,使网络流量与网络可用资源相协调,从而使网络拥塞问题得到解决。显然闭环算法使得网络利用效率更高。692023/7/20闭环控制算法的关键技术

检索机制根据当前网络状况来监视网络是否发生了拥塞。判断的依据或基准参数主要有:因缺少缓冲区空间而丢弃的分组数量、平均分组队列长度、超时重发分组的数量、平均分组延迟时间等。如果基准参数超过临界值,则意味着可能发生了网络拥塞。702023/7/20闭环控制算法的关键技术(续)

反馈机制将发生拥塞的信息从检查点传送到控制点。反馈方式有显式反馈和隐式反馈两种。

显式反馈采用由检查点向控制点反馈一个警告分组的方式来通告网络已发生了拥塞;

隐式反馈采用由控制点通过观察应答分组返回所用时间进行推断的方式来判断网络是否发生了拥塞。712023/7/20闭环控制算法的关键技术(续)

调整机制通过检查点和控制点相互协作来共同努力解决拥塞问题。

控制点通过降低载荷,即降低分组发送速率来缓解拥塞;

检查点通过载荷脱落,即丢弃一些分组来疏导交通,或者通过增加系统资源(如增加附加的线路或提高线路带宽)来提高流量通过能力,这显然要求系统能够提供后备的资源。在拥塞控制算法中,根据数据交换方式(虚电路或数据报)的不同,采用不同的控制策略。722023/7/20面向虚电路的拥塞控制算法

在虚电路交换中,首先由发送者通过中间的路由器节点与接收者建立一条虚连接。在建立连接时,在发送者的建立连接请求分组中包含了用于说明传输模式的数据流说明信息,如最大分组长度、最大传输速率以及其他流量说明信息。该分组经过各个路由器时,路由器要记录流说明信息。732023/7/20面向虚电路的拥塞控制算法(续)

接收者则要根据流说明信息来确定它所能够接受的流量传输模式,然后通过应答分组传送给发送者,应答分组经过各个路由器时,对路由器所记录的发送者流说明信息进行确认。这样,在建立虚电路连接的同时,发送者、路由器和接收者可以协商该连接的流量传输模式,并最终达成一致。742023/7/20本次课主要内容网络层:面向虚电路的拥塞控制算法网络层:面向数据报的拥塞控制算法传输层:多路复用应用层传输层:数据传输服务传输层:流量控制752023/7/20面向虚电路的拥塞控制算法(续)

在数据传输过程中,路由器将根据协商好的传输模式对该连接上的交通进行整形。所谓交通整形,就是调整数据传输的平均速率,使数据按照传输模式规定的速率进行传输,以尽量避免因突发性增大通信量而导致产生拥塞问题。交通整形主要采用两种算法:漏桶算法和令牌桶算法。762023/7/20漏桶算法

漏桶算法是将交通整形操作形象地比喻成一个底部带有一个小孔的水桶,不管流入桶中的水速多大,从底部小孔流出的水速是恒定的。如果桶中无水,则速率为0;如果桶中水满,则流入桶中的水将从桶边溢出,而流失掉。漏桶算法相当于在路由器内部实现一个有限长度队列,路由器将以恒定速率从队列中取出分组发送出去,而进入路由器的分组被排到队列的尾部,一旦队列饱和,新来的分组将被丢弃。772023/7/20令牌桶算法

令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。令牌桶控制机制,基于令牌桶中是否存在令牌来指示什么时候可以发送流量。令牌桶中的每一个令牌都代表一个分组。如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。因此,如果突发门限被合理地配置并且令牌桶中有足够的令牌,那么流量就可以以峰值速率发送。782023/7/20令牌桶算法(续)

令牌桶算法的基本过程如下:假如用户配置的平均发送速率为r,则每隔1/r秒一个令牌被加入到桶中;假设令牌桶中最多可以存发b个令牌。如果令牌到达时令牌桶已经满了,那么这个令牌会被丢弃;当一个包含n个分组的数据包到达时,就从令牌桶中删除n个令牌,并且数据包被发送到网络;算法允许最长b个分组的突发,但从长期运行结果看,数据包的速率被限制成常量r。792023/7/20两种算法的主要区别

两种算法的主要区别在于:“漏桶算法”限制数据的传输速率,即使网络中不存在资源冲突(没有发生拥塞),漏桶算法也不能使某一个单独的流突发到端口速率,因此不能够有效地使用网络资源。“令牌桶算法”在能够限制数据的平均传输数据外,还允许某种程度的突发传输。在“令牌桶算法”中,只要令牌桶中存在令牌,那么就允许突发地传输数据直到达到用户配置的门限,因此它适合于具有突发特性的流量。802023/7/20面向数据报的拥塞控制算法

路由器负责检测并警告:路由器一旦检测到系统可用资源(如线路利用率或队列长度)超过临界值,就会向源端主机发送一个抑制分组,警告网络可能发生拥塞。

源端主机调整通信量:源端主机定期地侦听抑制分组,如果在侦听期内收到抑制分组,则会逐步减少发送给特定目的主机的数据量。当减至在侦听期内不再收到抑制分组后,可以再逐渐增加通信量。812023/7/20面向数据报的拥塞控制算法(续)

在广域网环境下,由于距离远,反应慢,采取完全由远程的源端主机减少通信量来缓解拥塞的方法并不是很有效,此时,抑制分组通过的各个路由器都要控制通信量,这时,需要路由器提供一定数量的缓冲区空间,用于暂存过量的分组。优点;缺点。当网络发生严重阻塞时,路由器往往需要采取载荷脱落,即丢弃分组的方法来疏导交通。822023/7/20第二章主要内容2.1引言2.2物理层2.3数据链路层2.4网络层2.5传输层2.6应用层832023/7/20传输层

传输层服务的对象是用户应用进程;传输层是在网络层所提供服务的基础上,为两个主机上的用户进程提供一种通信机制。传输层屏蔽了各种通信子网接口的差异和某些缺陷,为应用程序提供一种统一的和可靠的编程接口。842023/7/20传输层

传输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到传输层,再往下就共用网络层提供的服务。为了实现用户进程之间的通信,传输层有两种不同的传输协议,即面向连接的传输控制协议TCP

,和面向无连接的用户数据报协议UDP。

传输层服务的对象是用户应用进程;852023/7/20传输层实现应用进程间的通信主机A主机B路由器1路由器2AP1LAN2WANAP2AP3AP4LAN1传输层协议的作用范围54321传输层提供应用进程间的逻辑通信应用进程应用进程IP层AP1AP2AP4端口端口AP354321862023/7/20数据传输服务

传输层的数据传输单位是分组。传输层分组封装在网络层分组中,作为网络层分组的数据部分。872023/7/20数据传输服务

传输层每个分组由分组头和分组数据两部分组成,分组头中包含了寻址信息、控制信息和说明信息等。

寻址信息指出了通信双方的传输层服务访问点(TSAP)地址,定义了使用传输层协议进行通信的用户进程。

控制信息规定了某种传输协议的控制操作,如建立连接、拆除连接等操作。

说明信息描述了数据传输时的某些特性,如服务质量、窗口尺寸等。882023/7/20数据传输服务

网络层NSAP地址,定义了通信双方的通信子网地址和子网中的节点地址,而传输层TSAP地址,定义了在节点上的用户进程。这样,通过NSAP和TSAP地址,也就唯一地定义了通信双方的通信子网、子网中的节点和节点上的用户进程。

面向连接的传输层协议:三个阶段;通过流量控制和差错控制算法保证算法的可靠性。

与数据链路层的比较:有相似,但更复杂。892023/7/20建立连接

一般情况下,建立连接的思路是:传输层实体发出连接请求(CR)分组,然后等待对方的接受连接(CA)应答分组。如果接收到CA分组,则表明这个连接已建立起来,可以进行数据传输了。由于CR分组要通过通信子网进行传输,因此,如果通信子网比较拥挤,则CR分组会产生很大的延迟。若发送者超时,则会重发CR分组,其结果是造成在通信子网中存在着延迟的重复CR分组。这种重复CR分组既会可能会浪费网络资源,而且对数据交换的安全性也是十分有害的。902023/7/20建立连接(续)

传输层协议在建立连接时必须解决被延迟的重复CR分组问题,以保证数据交换的安全性和可靠性。解决该问题的方法有很多,通常采用在建立连接时进行双方认证的方法,即三次握手法。所谓三次握手法,是指在建立连接时,发送方发送CR分组请求建立一个连接,接收方收到CR分组后发送一个应答分组,在应答分组中包含了建立一个反向连接的请求,发送方收到应答分组后对反向连接请求进行应答。这样,一个连接才能建立起来:可看做是两个单向连接。912023/7/20

用三次握手建立连接

CR(seq=x)CLOSEDCLOSED主动打开被动打开AB客户服务器A的客户进程向B发出连接请求,并选择序号seq=x,表明传送数据时的第一个分组的序号是x。922023/7/20CR(seq=x)CLOSEDCLOSED主动打开被动打开AB客户服务器CA(seq=y,ACK=x)B的传输层进程收到连接请求后,如同意,则发回确认,同时请求建立反向连接,并选择序号为seq=y。

用三次握手建立连接

932023/7/20CR(seq=x)CA(ACK=y)CLOSEDCLOSED主动打开被动打开AB客户服务器CA(seq=y,ACK=x)A收到此分组后向B给出确认应答。

A的传输层通知上层应用进程,连接已经建立。942023/7/20CLOSEDCLOSED数据传送主动打开被动打开AB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论