计算机网络:流量控制与可靠传输机制

简介: 计算机网络:流量控制与可靠传输机制

流量控制、可靠传输与滑动窗口机制

在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载。

流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的方式有两种:停止——等待协议滑动窗口协议

1.停止-等待流量控制基本原理

发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧,因而传输效率很低。

2.滑动窗口流量拉制基本原理

在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口

同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口

发送窗口用来对发送方进行流量控制,而发送窗口的大小$W_T$代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。

接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧。

发送窗口

接收窗口

发送端每收到一个确认帧,发送窗口就向前滑动一个帧的位置,没有可发送时就停止,收到确认帧后再继续发送。

接收端收到数据帧后,将窗口向前移一个位置,并发回确认帧,若收到的数据帧的序号落在接收窗口之外,则一律丢弃。

滑动窗口特性:

  1. 只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才一定)向前滑动。
  2. 从滑动窗口的概念看,停止-等待协议、后退N帧协议和选择重传协议只在发送窗口大小与接收窗口大小上有所差别:

    停止-等待协议:发送窗口大小=1,接收窗口大小= 1。

    后退N帧协议:发送窗口大小>1,接收窗口大小=1。

    选择重传协议:发送窗口大小>1,接收窗口大小>1。

  3. 接收窗口的大小为1时,可保证帧的有序接收
  4. 数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的(注意与传输层的滑动窗口协议的区别)。

3.可靠传扮机制

数据链路层的可靠传输通常使用确认超时重传两种机制来完成。

确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认

超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。

自动重传请求(Automatic Repeat reQuest,ARQ通过接收方请求发送方重传出错的数据帧来恢复出错的帧。

传统自动重传请求分为三种,即停止-等待(Stop-and-Wait)ARQ、后退N帧(Go-Back-N)ARQ和选择性重传(Selective Repeat)ARQ。又称其为连续ARQ 协议。注意,在数据链路层中流量控制机制和可靠传输机制是交织在一起的。

单帧滑动窗口与停止-等待协议

停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。在停止-等待协议中,除数据帧丢失外,还可能出现以下两种差错。

到达目的站的帧可能已遭破坏,接收站利用前面讨论过的差错检测技术检出后,简单地将该帧丢弃。为了对付这种可能发生的情况,源站装备了计时器。超时重发。

另一种可能的差错是数据帧正确而确认帧被破坏,此时接收方已收到正确的数据帧,但发送方收不到确认帧,因此发送方会重传已被接收的数据帧,接收方收到同样的数据帧时会丢弃该帧,并重传一个该帧对应的确认帧。发送的帧交替地用0和1来标识,确认帧分别用ACK0和 ACK1来表示,收到的确认帧有误时,重传己发送的帧。

此外,为了超时重发和判定重复帧的需要,发送方和接收方都须设置一个帧缓冲区。发送端在发送完数据帧时,必须在其发送缓存中保留此数据帧的副本,这样才能在出差错时进行重传。只有在收到对方发来的确认帧ACK时,方可清除此副本。

多帧滑动窗口与后退N帧协议(GBN)

接收方只允许按顺序接收帧

在后退N帧式ARQ中,发送方可以连续发送帧。

  • 接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;
  • 发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方重传该出错帧及随后的N个帧。

源站每发送完一帧就要为该帧设置超时计时器。为了减少开销,GBN协议还规定可以在连续收到好几个正确的数据帧后,才对最后一个数据帧发确认信息,或者可在自己有数据要发送时才将对以前正确收到的帧加以捎带确认。

接收端虽然丢弃了这些不按序的无差错帧,但应重复发送已发送的最后一个确认帧ACK1(这是为了防止已发送的确认帧ACK1丢失)。

后退 N 帧协议的接收窗口为 1 , 可以保证按序接收数据帧。若采用 n 比特对帧编号, 则其发 送窗口的尺寸 $W_{\mathrm{T}}$ 应满足 $1 \leq W_{\mathrm{T}} \leq 2^{n}-1$ 。若发送窗口的尺寸大于 $2^{n}-1$ , 则会造成接收方无法分辨新帧和旧帧 (请参考本章疑难点 3 )。

一方面因连续发送数据帧而提高了信道的利用率,另一方面在重传时又必须把原来已传送正确的数据帧进行重传,这种做法又使传送效率降低。若信道的传输质量很差导致误码率较大时,后退N帧协议不一定优于停止-等待协议。

多帧滑动窗口与选择重传协议(SR)

为进一步提高信道的利用率,可设法只重传出现差错的数据帧或计时器超时的数据帧,但此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。这就是选择重传ARQ协议。

在选择重传协议中,每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。另外,该协议使用了比上述其他协议更有效的差错处理策略,即一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传.

注意这里,收到2后加上缓冲的帧,直接返回ack8。

选择重传协议的接收窗口尺寸 $W_{R}$ 和发送窗口尺寸 $W_{\mathrm{T}}$ 都大于 1 ,一次可以发送或接收多个帧。 在选择重传协议中, 接收窗口和发送窗口的大小是相同的, 且最大值都为序号范围的一半, 采用 n 比特对帧编号, 则需要满足: $W_{\operatorname{Tmax}}=W_{R \max }=2^{(n-1)}$ 。

因为如果不满足该条件, 即窗口大小大于序号范围一半, 当一个或多个确认帧丢失时, 发送方就会超时重传之前的数据帧, 但接收方无法分辨是新的数据帧还是重传的数据帧。

选择重传协议可以避免重复传送那些本已正确到达接收端的数据帧,所需缓冲区的数目等于窗口的大小。

信道的效率,也称信道利用率。可从不同的角度来定义信道的效率,这里给出一种从时间角度的定义:信道效率是对发送方而言的,是指发送方在一个发送周期的时间内,有效地发送数据所需要的时间占整个发送周期的比率。

发送方从开始发送数据到收到第一个确认帧为止,称为一个发送周期设为T,发送方在这个周期内共发送L比特的数据,发送方的数据传输速率为C,则发送方用于发送有效数据的时间为L/C,在这种情况下,信道的利用率为(L/C)/T。

信道吞吐率=信道利用率×发送方的发送速率。

参考资料:

谢希仁.计算机网络(第8版)[M].北京:电子工业出版社,2021.

James F.Kurose,Keith W.Ross.计算机网络:自顶向下方法[M].北京:机械工业出版社,2019.

2023年王道计算机复习指导[M].北京:电子工业出版社,2021.

目录
相关文章
|
1月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
155 7
|
23天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
51 11
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
84 3
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
网络协议 网络架构
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
【第三期】计算机网络常识/网络分层模型与数据包封装传输过程
53 0
|
2月前
|
移动开发 网络协议 测试技术
Mininet多数据中心网络拓扑流量带宽实验
Mininet多数据中心网络拓扑流量带宽实验
73 0
|
4天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
41 17
|
14天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
15天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
39 10
|
17天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
44 10