网络通信安全技术ppt

上传人:tia****nde 文档编号:71414129 上传时间:2019-01-20 格式:PPT 页数:52 大小:445.31KB
返回 下载 相关 举报
网络通信安全技术ppt_第1页
第1页 / 共52页
网络通信安全技术ppt_第2页
第2页 / 共52页
网络通信安全技术ppt_第3页
第3页 / 共52页
网络通信安全技术ppt_第4页
第4页 / 共52页
网络通信安全技术ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《网络通信安全技术ppt》由会员分享,可在线阅读,更多相关《网络通信安全技术ppt(52页珍藏版)》请在金锄头文库上搜索。

1、,5.1 拥塞控制与流量控制,5.2 差错控制技术,5.3 应用实例,第5章 网络通信安全技术,5.1 拥塞控制与流量控制,本节内容 5.1.1 网络拥塞的基本概念 5.1.2 网络拥塞控制技术 5.1.3 流量控制技术,5.1.1 网络拥塞的基本概念 当加载到某个网络上的载荷超过其处理能力时,就会出现拥塞现象。 拥塞现象应用物理层的规则便可以得到控制,这个规则即分组保持规则。就是只有当一个旧的分组被发送出去后再向网络注入新的分组。TCP试图通过动态地控制滑动窗口的大小达到这一目的。 控制拥塞首先要做的是检测。分组丢失而造成超时有两个原因:一个是由于传输线路上的噪声干扰;另一个是拥塞的路由器丢

2、失分组。 由于传输错误造成分组丢失的情况相对较少,因为大多数长距离的主干线都是光纤。因此,Internet上发生的超时现象大多数都是由于拥塞造成的。Internet上所有的TCP算法都假设分组传输超时是由拥塞造成的,并且以监控定时器超时作为出现问题的信号。 当数据从一个大的管道向一个较小的管道(比如一个是高速局域网而另一个是低速的广域网)发送数据时便会发生拥塞。当多个输入流到达一个路由器,而路由器的输出流小于这些输入流的总和时也会发生拥塞。,通过上述分析,我们知道网络产生拥塞的根本原因在于用户提供给网络的负载超过了网络的存储和处理能力,表现为无效数据包增加、报文时延增加与丢失、服务质量降低等。

3、如果不能采取有效的检测和控制手段,就会导致拥塞逐渐加重,甚至造成系统崩溃,在一般情况下形成网络拥塞的三个直接原因是: 路由器存储空间不足。几个输入数据流需要同一个输出端口,如果入口速率之和大于出口速率,就会在这个端口上建立队列。如果没有足够的存储空间,数据包就会被丢弃,对突发数据流更是如此。增加存储空间在表面上似乎能解决这个矛盾,有研究表明,如果路由器有无限存储量时,拥塞只会变得更坏,这是因为,该路由器缓冲区中将会有越来越多的数据包在排队而无法传送出去。 带宽容量相对不足。直观地说,当数据总的输入带宽大于输出带宽时,在网络低速链路处就会形成带宽瓶颈,网络就会发生拥塞,相关证明可参考香农信息理论

4、。 处理器处理能力较弱。如果路由器的CPU在执行排队缓存、更新路由表等操作时,处理速度跟不上高速链路,会产生拥塞。同理,低速链路对高速处理器也会产生拥塞。,5.1.2 网络拥塞控制技术 1.慢启动算法 综上所述,我们知道,在Internet上存在网络的容量和接收方的容量两个潜在问题,它们需要分别进行处理。为此,每个发送方均保持两个窗口:接收方承认的窗口和拥塞窗口。每个窗口都反映出发送方可以传输的字节数。取两个窗口的最小值作为可以发送的字节数。这样,有效窗口便是发送方和接收方分别认为合适的窗口中最小的一个窗口。 当建立连接时,发送方将拥塞窗口大小初始化为该连接所有最大报文段的长度值,并随后发送一

5、个最大长度的报文段。如果该报文段在定时器超时之前得到了确认,那么发送方在原拥塞窗口的基础上再增加一个报文段的字节值,使其为两倍最大报文段的大小,然后发送。当这些报文段中的每一个都被确认后,拥塞窗口大小就再增加一个最大报文段的长度。,当拥塞窗口是N个报文段的大小时,如果发送的所有N个报文段都被及时确认,那么将拥塞窗口大小增加N个报文段所对应的字节数目。 拥塞窗口保持指数规律增大,直到数据传输超时或者达到接收方设定的窗口大小。也就是说,如果发送的数据长度序列,如1024、2048和4096字节都能正常工作,但发送8192字节数据时出现定时器超时,那么拥塞窗口应设置为4096以避免出现拥塞。只要拥塞

6、窗口保持为4096字节,便不会再发送超过该长度的数据量,无论接收方赋予多大的窗口空间亦是如此。这种算法是以指数规律增加的,通常称为慢启动算法。所有的TCP实现都必须支持这种算法。,慢启动算法工作过程如下: 慢启动为发送方的TCP增加了一个窗口,即拥塞窗口。当与另一个网络的主机建立TCP连接时,拥塞窗口被初始化为1个报文段(即另一端通告的报文段大小)。每收到1个 ACK,拥塞窗口就增加1个报文段(拥塞窗口以字节为单位,但是慢启动以报文段大小为单位进行增加)。发送方取拥塞窗口与接收方窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制,而接收方窗口则是接收方使用的流量控制。 在某些点上可能达

7、到了互联网的容量,于是中间路由器开始丢弃分组,并通知发送方其固有的拥塞窗口开得过大,应缩小发送窗口。,2.拥塞避免算法 慢启动算法不能解决的问题是:数据传输达到中间路由器的极限时,分组将被丢弃。拥塞避免算法是一种处理丢失分组的最佳方法。 该算法假定由于分组受到损坏引起的丢失是极少的,因此分组丢失就表明在源主机和目的主机之间的某处网络上发生了拥塞。 常用的拥塞避免算法如下: (1)先进先出算法FIFO(First In First Out) 传统的先进先出策略是目前Internet上使用最广泛的一种服务模型。它的最大优点是便于实施,但由于FIFO本质上是一种“去尾”(Drop-tail)的算法,

8、所以当突发性数据到达时容易出现包丢失现象,其公平性较差,对上层的TCP快速恢复的效率也较低。 (2)随机早期检测算法RED(Random Early Detection) RED算法是按一定概率丢弃进入路由器的数据包。RED的早期设计思路是避免丢弃属于同一连接的连续数据包,从而提高连接的吞吐量。通过分摊包丢失率,RED可以在各连接之间获得较好的公平性,对突发业务的适应性较强。RED也存在一些不足,例如可能会引起网络的不稳定,而且选择合适的配置参数也不是一件容易的事。近年来,研究者提出了许多RED的改进算法,这些算法都在一定程度上,从不同方面改善了RED的性能。,(3)显示拥塞指示算法ECN(E

9、xplicit Congestion Notification) 前面两种拥塞控制算法都是通过包丢失来告诉端系统,网络已经发生拥塞。而显示拥塞指示算法通过明确的拥塞提示(RFC2481)来实现拥塞控制,对一次性大批量数据传输的效果比较理想,但对时延有一定要求。 该算法在源端数据包中嵌入ECN,由路由器根据网络情况设置CE(Congestion Experienced)比特位。源端接收到从网络中反馈回来的这种CE置位数据包后,将随后发出的数据包标记为可丢弃的数据包。ECN的优势在于不需要超时重传,也不依赖于粗粒度的TCP定时,所以在对时延有一定要求的应用场合性能较好。在此基础上还提出了另一种改进

10、算法,它通过调整拥塞窗口的大小,纠正有长时间RTT的TCP连接的偏差,来改进共享瓶颈处带宽的公平性。,(4)公平排队算法FQ(Fair Queuing) 在FQ算法中路由器对每个输出线路都建有一个排队队列。当一条线路空闲时,路由器就来回扫描所有队列,依次将每队的第一个包发出。FQ的带宽分配独立于数据包大小,各种服务在队列中几乎同时开始。因此在没有牺牲统计复用的情况下提供了另外的公平性,与端到端的拥塞控制机制可以较好地协同工作。它的缺点在于实现起来很复杂,需要每个数据流的排队处理、每个流的状态统计、数据包的分类以及包调度的额外开销等。 (5)加权公平排队算法WFQ(Weighted Fair Q

11、ueuing) 加权公平排队算法是FQ的改进算法。根据不同数据流及不同带宽的要求,对每个排队队列采用加权方法分配缓存资源,从而增加FQ对不同应用的适应性,该算法还有其他一些改进算法。,(6)加权随机先期检测WRED(Weighted Random Early Detection) 是将随机先期检测与优先级排队结合起来,这种结合为高优先级分组提供了优先通信服务能力。当某个接口开始出现拥塞时,它有选择丢弃优先级较低的分组,而不是随机丢弃分组。 (7)定制排队 定制排队是为允许具有不同最低带宽和延迟要求的应用程序共享网络而设计的。定制排队为不同协议分配不同的队列空间,并以循环方式处理队列,当特定协议

12、的数据流被分配了较大的队列空间,也就获得了较优先的服务,定制排队比优先级队列更为公平。定制排队可以保证每一个特定的通信类型得到固定的可用带宽,同时在链路紧张的情况下,避免了数据流企图超出预分配量限制的可能。,3.慢启动算法+拥塞避免算法 拥塞避免算法和慢启动算法是目的不同的、独立无关的算法。但是当拥塞发生时,为了降低分组进入网络的传输速率,可使用调用慢启动来解决拥塞。在实际中应用中,这两个算法通常在一起使用,其使用技术描述如下: l 对一个给定的连接,初始化拥塞窗口为1个报文段,门限为65535字节。 l TCP输出例程的输出不能超过拥塞窗口和接收方窗口的大小。拥塞避免是发送方使用的流量控制,

13、而接收方窗口则是接收方进行的流量控制。前者是发送方对网络拥塞的估计,而后者则与接收方在该连接上的可用缓存大小有关。 l 当拥塞发生时(超时或收到重复确认),门限被设置为当前窗口大小的一半(拥塞窗口和接收方窗口大小的最小值,但最少为2个报文段)。此外,如果是超时引起了拥塞,则拥塞窗口被设置为1个报文段(这就是慢启动)。 l 当新的数据被对方确认时,就增加拥塞窗口,但增加的方法依赖于是否正在进行慢启动或拥塞避免。如果拥塞窗口小于或等于门限,则正在进行慢启动;否则正在进行拥塞避免。 慢启动一直持续到当拥塞发生之初所处窗口大小的一半时才停止,然后才转去执行拥塞避免。 慢启动只是采用了比引起拥塞更慢些的

14、分组传输速率,但在慢启动期间进入网络的分组数的速率仍然在增加。只有在达到门限拥塞避免算法起作用时,这种速率才会慢下来。,4.快速重传与快速恢复算法 如果连续收到3个或3个以上的重复确认信号ACK,就表明有一个报文段丢失了。于是还需重传丢失的数据报文段,而无须等待超时定时器溢出。这就是快速重传算法。 由于接收方只有在收到另一个相同的报文段时才产生重复的ACK,而该报文段已经离开了网络并进入了接收方的缓存。也就是说,在收、发两端之间仍然有流动的数据,而不执行慢启动来突然减少数据流。 快速重传与快速恢复算法步骤如下: 步骤1:当收到第3个重复的ACK时,将门限设置为当前拥塞窗口的一半,同时,重传丢失

15、的报文段。设置拥塞窗口为门限加上3倍的报文段大小。 步骤2:每次收到另一个重复的ACK时,拥塞窗口增加1个报文段大小,并发送1个分组(如果新的拥塞窗口允许发送)。 步骤3:当下一个确认数据的ACK到达时,设置拥塞窗口为门限(在步骤1中设置的值)。这个ACK应该是在进行重传后的一个往返时间内对步骤1中重传的确认。另外,这个ACK也应该是对丢失的分组和收到的第1个重复的ACK之间的所有中间报文段的确认。 这一步骤采用的是拥塞避免算法,因为当分组丢失时该算法能将当前的速率减半。,5.1.3 流量控制技术 在数据链路层及高层协议中,一个最重要的控制技术就是流量控制技术。所谓流量控制,就是如何处理发送方

16、的发送能力比接收方的接收能力大的问题,即是当发送方是在一个相对快速或负载较轻的网络上运行,而接收方是在一个相对慢速或负载较重的网络上运行时。如果发送方不断地高速将数据包发出,最终会“淹没”接收方的数据包(即后传来的包会“冲掉”前面已接收但还未来得及处理的数据包),即便传输过程毫无差错,到一定的时刻,接收方将无能力处理刚收到的包,就会发生信息“丢失”的现象,因此,我们必须采取有效的技术与措施来防止这种丢失包的情况发生。 最常见的方法是引入流量控制来限制发送方发出的数据流量,使其发送速率不超过接收方处理的速率。这种限制流量需要某种反馈机制,使发送方了解接收方的处理速度是否能够跟上发送方发送包的速度。 流量控制协议中包括一些定义完整的规则,这些规则描写了接收方在什么时候接收下一包,在未获得接收方直接或间接允许之前,发送方禁止发出包。,5.2 差错控制技术,本节内容 5.2.1 差错的基本概念 5.2.2 差错控制技术,5.2.1 差错的基本概念 1.差

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号