网工 流量控制协议

以下是一些常见的流量控制协议和技术:

1. TCP 流量控制

  • 滑动窗口机制 (Sliding Window): TCP 使用滑动窗口机制来控制发送方发送数据的速度。发送方会根据接收方的确认来调整发送速率,以避免接收方缓冲区溢出。
  • 拥塞控制 (Congestion Control): TCP 还使用拥塞控制算法(如慢启动、拥塞避免、快速重传和快速恢复)来动态调整发送速率,防止网络拥塞。

2. IP 流量控制

  • IP 优先级 (IP Precedence): 在 IP 报头中有一个字段可以用来标识数据包的优先级,网络设备可以根据这个优先级来处理数据包。
  • DSCP (Differentiated Services Code Point): DSCP 是 IP Precedence 的扩展,提供了更多的服务质量(QoS)级别,可以用来区分不同类型的流量并分配不同的优先级。

3. ICMP 流量控制

  • ICMP 消息 (ICMP Messages): ICMP 协议可以发送控制消息,例如“目标不可达”或“超时”,这些消息可以用来通知发送方减慢发送速度或采取其他措施。

4. 链路层流量控制

  • 停-等协议 (Stop-and-Wait): 最简单的流量控制机制之一,发送方发送一个数据帧,等待接收方的确认后再发送下一个数据帧。
  • 回退 N 协议 (Go-Back-N): 发送方连续发送多个数据帧,如果其中一个帧丢失或损坏,发送方需要重新发送该帧及其之后的所有帧。
  • 选择重传 (Selective Repeat): 发送方只重传那些被确认丢失或损坏的数据帧,而不是整个序列。

5. ATM 流量控制

  • 信元丢失优先级 (Cell Loss Priority, CLP): 在 ATM 网络中,每个信元(cell)有一个 CLP 位,用于指示信元是否可以被丢弃以缓解拥塞。
  • 资源预留协议 (Resource Reservation Protocol, RSVP): RSVP 用于在端到端路径上预留资源,以保证特定的服务质量。

6. 网络设备层面的流量控制

  • 端口限速 (Port Rate Limiting): 交换机和路由器可以限制端口的带宽使用。
  • 队列管理 (Queue Management): 网络设备可以使用不同的队列策略来管理数据包的发送顺序,例如优先队列、加权公平队列(WFQ)等。

7. 其他技术

  • 流标记 (Flow Marking): 为特定流量分配标签或标记,以便进行优先级处理。
  • 流量整形 (Traffic Shaping): 限制特定流量的最大速率,以避免拥塞或确保关键流量的质量。
  • 负载均衡 (Load Balancing): 分散流量到不同的路径或设备上,以优化整体网络性能。

示例

若采用后退 N 帧 ARQ 协议进行流量控制,帧编号字段为 7 位,则发送窗口最大长度为( 127)。 

参考链接:https://blog.csdn.net/FriendshipTang/article/details/119703631

数据链路层差错控制与流量控制

知识点总结:
差错控制小结
1)停等ARQ协议:
   发送站发出一帧后必须等待应答信号。有3种接收情况:收到肯定应答信号ACK后继续发送下一帧、收到否定应答信号NAK后重发该帧、若在一定的时间间隔内没有收到应答信号也必须重发。

2)连续ARQ协议
   连续ARQ协议是将滑动窗口技术和自动请求重发技术相结合。根据出错帧和丢失帧处理上的不同,连续ARQ协议分为选择重发ARQ协议和后退N帧ARQ协议。
使用选择重发ARQ协议会重发出错。
使用后退N帧ARQ协议ARQ协议会重发出错帧以及后续帧。
   为了避免帧编号识别错误,解决的方法就是缩小窗口。根据不同的协议,窗口大小W与帧编号字段k的关系为:
选择重发ARQ协议的窗口大小为:W<=2^(k-1)
后退N帧ARQ协议的窗口大小为:W<=2^k -1

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

  1. 停止-等待流量控制基本原理
    发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待。每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低
  2. 滑动窗口流量控制基本原理
    在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口
    • 发送窗口用来对发送方进行流量控制,而发送窗口的大小W代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧
    • 同理,在接收端设置接收窗口为了控制可以接收哪些数据帧和不可以接收哪些帧。在接收方,只有收到的数据帧的序号落入接收窗口内时,才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。

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

无差错

有差错

确认字符丢失

ACK 迟到

信道利用率

⋆注:TD​为发送时延,RTT为往返时延,TA​为确认时延

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

滑动窗口的长度

选择题

1.从滑动窗口的观点看,当发送窗口为1、接收窗口也为1时,相当于ARQ的(c)方式.
A.回退N帧ARQ
B.选择重传ARQ
C.停止-等待
D.连续ARQ
解析:停止-等待协议的工作原理是:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待。

2.在简单的停止等待协议中,当帧出现丢失时,发送端会永远等待下去,解决这种死锁现象的办法是(d).
A.差错校验
B.帧序号
c. NAK机制
D.超时机制
解析:在停止-等待协议中,发送端设置了计时器,在一个帧发送之后,发送端等待确认,如果在计时器计满时仍未收到确认,那么再次发送相同的帧,以免陷入永久的等待。

3.一个信道的数据传输速率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,那么要求的数据帧长度至少为().
A.160bit
B.320bit
C.560bit
D.960bit
解析:设C为数据传输速率,L为帧长,R为单程传播时延,2R为往返传播时延(RTT),停止-等待协议的信道最大利用率为

4.数据链路层采用后退N帧协议方式,进行流量控制和差错控制,发送方已经发送了编号0~6的帧。计时器超时时,只收到了对1、3和5号帧的确认,发送方需要重发的帧的数是(A).
A.1
B.2
C.5
D.6
解析:GBN一般采用累计确认,因此收到了对5号帧的确认意味着接收方已收到1~5号帧,因此发送方仅需要重传6号帧。

5.【2009统考真题】数据链路层采用了后退N帧(GBN)协议,发送方已经发送了编号为0~7的帧。计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是(C).
A.2
B.3
C.4
D.5
解析:在后退N帧协议中,当接收方检测到某个帧出错后,会简单地丢弃该帧及所有的后续帧,发送方超时后需重传该数据帧及所有的后续帧。这里应注意,连续ARQ 协议中,接收方一般采用累计确认的方式,即接收方对按序到达的最后一个分组发送确认,因此本题中收到3的确认帧就表示编号为0,1,2,3的帧已接收,而此时发送方未收到1号帧的确认只能代表确认帧在返回的过程中丢失,而不代表1号帧未到达接收方。因此需要重传的帧为编号是4,5,6,7的帧。

6.数据链路层采用了后退N帧的(GBN)协议,如果发送窗口的大小是32,那么至少需要(C)位的序列号才能保证协议不出错.
A.4
B.5
C.6
D.7
解析:在后退N帧的协议中,序列号个数不小于MAX_SEQ+1,题中发送窗口的大小是32,那么序列号个数最少应该是33个。所以最少需要6位的序列号才能达到要求。

7.【2012统考真题】两台主机之间的数据链路层采用后退N帧协议(GBN)传输数据,数据传输速率为16kb/s,单向传播时延为270ms,数据帧长度范围定128~512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序列的比特数至少为(B).
A.5
B.4
C.3
D.2
解析:数据帧长度是不确定的,范围是128~512B,但在计算至少窗口大小时,为了保证无论数据帧长度如何变化,信道利用率都能达到最高,应以最短的帧长计算。如果以512B计算,那么求得的最小帧序号数在128B的帧长下,达不到最高信道利用率。首先计算出发送一帧的时间128 × 8 / ( 16 × 1 0 3 ) = 64 m s 128×8/(16×10^3)=64ms128×8/(16×103)=64ms;发送一帧到收到确认为止的总时间为64 + 270 × 2 + 64 = 668 m s 64+270×2+64=668ms64+270×2+64=668ms;这段时间总共可以发送668 / 64 = 10.4 帧 668/64 = 10.4帧668/64=10.4帧,发送这么多帧至少需要用4位比特进行编号

8.若采用后退N帧的ARQ协议进行流量控制,帧编号字段为7位,则发送窗口的最大长度为(C).
A.7
B.8
C.127
D.128
解析:接收窗口整体向前移动时,新窗口中的序列号和旧窗口的序列号产生重叠,致使接收方无法区别发送方发送的帧是重发帧还是新帧,因此在后退N帧的ARQ协议中,发送窗口W T ≤ 2 n − 1 W_T≤ 2^n-1WT​≤2n−1.本题中n=7,因此发送窗口的最大长度是127。

9.【2011统考真题】数据链路层采用选择重传协议(SR)传输数据.发送方已发送0~3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是(B)
A.1
B.2
C.3
D.4
解析:选择重传协议中,接收方逐个确认正确接收的分组,不管接收到的分组是否有序,只要正确接收就发送选择ACK分组进行确认。因此选择重传协议中的ACK分组不再具有累积确认的作用。对于这一点,要特别注意与GBN协议的区别。此题中只收到1号帧的确认,0、2号帧超时,由于对1号帧的确认不具累计确认的作用,因此发送方认为接收方未收到0、2号帧,于是重传这两帧。

10.一个使用选择重传协议的数据链路层协议,如果采用了5位的帧序列号,那么可以选用的最大接收窗口是(B).
A.15
B.16
C.31
D.32
解析:在选择重传协议中,若采用n比特对帧进行编号,为避免接收端向前移动窗口后,新的窗口与旧的窗口产生重叠,接收窗口的最大尺寸应该不超过序号范围的一半,即W R ≤ 2 ( n − 1 ) = 2 ( 5 − 1 ) = 2 4 = 16 W_R≤2^{(n-1)}=2^{(5-1)}=2^4=16WR​≤2(n−1)=2(5−1)=24=16。因此选B。

11.对于窗口大小为n的滑动窗口,最多可以有(B)帧已发送但没有确认。
A.0
B.n-1
C.n
D.n/2
解析:在连续ARQ协议中,发 送 窗 口 的 大 小 ≤ 窗 口 总 数 − 1 发送窗口的大小≤窗口总数-1发送窗口的大小≤窗口总数−1。例如,窗口总数为8,编号为0~7,假设这8个帧都已发出,下一轮又发出编号0 ~ 7的8个帧,接收方将无法判断第二轮发的8个帧到底是重传帧还是新帧,因为它们的序号完全相同。另一方面,对于回退N帧协议,发 送 窗 口 的 大 小 可 以 等 于 窗 口 总 数 − 1 发送窗口的大小可以等于窗口总数-1发送窗口的大小可以等于窗口总数−1,因为它的接收窗口大小为1,所有的帧保证按序接收。因此对于窗口大小为n的滑动窗口,其发送窗口大小为n-1,即最多可以有n-1帧已发送但没有确认。

12.对无序接收的滑动窗口协议,若序号位数为n,则发送窗口最大尺寸为(D).


解析:本题并未直接告知使用的是选择重传协议,而是通过间接方式给出的。题目说无序接收的滑动窗口协议,说明接收窗口大于1,所以得出数据链路层使用的是选择重传协议,而选择重传协议的发送窗口最大尺寸为

13.采用滑动窗口机制对两个相邻结点A(发送方)和B(接收方)的通信过程进行流量控制。假定帧的序号长度为4,发送窗口和接收窗口的大小都是7,使用累计确认。当A发送编号为0、1、2、3这四个帧后,而B接收了这4个帧,但仅应答了0、3两个帧,此时发送窗口将要发送的帧序号为(C);
若滑动窗口机制采用选择重传协议来进行流量控制,则允许发送方在收到应答之前连续发出多个帧;若帧的序号长度为k比特,那么接收窗口的大小W(<=)2的k-1次方
如果发送窗口的上边界对应的帧序号为U,那么发送窗口的下边界对应的帧序号为(③).

14.【2014统考真题】主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播时延是50ms,则甲可以达到的最大平均数据传输速率约为().
A.10Mb/s
B.20Mb/s
C.80Mb/s
D.100Mb/s

15.【2015统考真题】主机甲通过128kb/s卫星链路,采用滑动窗口协议向主机乙发送数据,链路单向传播时延为250ms,帧长为1000字节。不考虑确认帧的开销,为使链路利用率不小于80%,帧序号的比特数至少是().
A.3
B.4
C.7
D.8
解析:从发送周期思考,开始发送帧到收到第一个确认帧为止,用时为T = 第 一 个 帧 的 传 输 时 延 + 第 一 个 帧 的 传 播 时 延 + 确 认 帧 的 传 输 时 延 + 确 认 帧 的 传 播 时 延 T=第一个帧的传输时延+第一个帧的传播时延+确认帧的传输时延+确认帧的传播时延T=第一个帧的传输时延+第一个帧的传播时延+确认帧的传输时延+确认帧的传播时延,这里忽略确认帧的传输时延。因此T = 1000 B / 128 k b / s + R T T = 0.5625 s T=1000B/128kb/s+ RTT=0.5625sT=1000B/128kb/s+RTT=0.5625s,接着计算在T内需要发送多少数据才能满足利用率不小于80%。设数据大小为L字节,则( L / 128 k b / s ) / T ≥ 0.8 (L/128kb/s)/T≥0.8(L/128kb/s)/T≥0.8,得L ≥ 7200 B L≥7200BL≥7200B,即在一个发送周期内至少发7.2个帧才能满足要求,设需要编号的比特数为n,则2 n − 1 ≥ 7.2 2^n-1≥7.22n−1≥7.2,因此n至少为4。

16.【2018统考真题】主机甲采用停止-等待协议向主机乙发送数据,数据传输速率是3kb/s,单向传播时延是200ms,忽略确认帧的传输时延。当信道利用率等于40%时,数据帧的长度为().
A.240比特
B.400比特
C.480比特
D.800比特
解析:信 道 利 用 率 = 传 输 帧 的 有 效 时 间 / 传 输 帧 的 周 期 信道利用率=传输帧的有效时间/传输帧的周期信道利用率=传输帧的有效时间/传输帧的周期。假设帧的长度为x比特。对于有效时间,应该用帧的大小除以数据传输速率,即x / ( 3 k b / s ) x/(3kb/s)x/(3kb/s)。对于帧的传输周期,应包含4部分:帧在发送端的发送时延、帧从发送端到接收端的单程传播时延、确认帧在接收端的发送时延、确认帧从接收端到发送端的单程传播时延。这4个时延中,由于题目中说“忽略确认帧的传输时延”,因此不计算确认帧的发送时延(注意区分传输时延和传播时延的区别,传输时延也称发送时延,和传播时延只有一字之差)。所以帧的传输周期由三部分组成:首先是帧在发送端的发送时延x / ( 3 k b / s ) x/(3kb/s)x/(3kb/s),其次是帧从发送端到接收端的单程传播时延200ms,最后是确认帧从接收端到发送端的单程传播时延200ms,三者相加可得周期为x / ( 3 k b / s ) + 400 m s x/(3kb/s)+400msx/(3kb/s)+400ms。代入信道利用率的公式,求出x = 800 b i t x=800bitx=800bit。答案选D。

17.【2019统考真题】对于滑动窗口协议,若分组序号采用3比特编号,发送窗口大小为5,则接收窗口最大是().
A.2
B.3
C.4
D.5
解析:从滑动窗口的概念来看,停止等待协议:发送窗口大小= 1,接收窗口大小=1;后退N协议:发送窗口大小>1,接收窗口大小=1;选择重传协议:发送窗口大小>1,接收窗口大小>1。在选择重传协议中,需要满足:发送窗口大小+接收窗口大小≤2 n 2^n2n;接收窗口大小不应超过发送窗口大小,因此接收窗口大小不应超过序号范围的-一半,即≤ 2 n − 1 ≤ 2^{n-1}≤2n−1。根据以上规则,采用3比特编号,发送窗口大小为5,接收窗口大小应≤3.

18.【2020统考真题】假设主机甲采用停–等协议向主机乙发送数据帧,数据帧长与确认帧长均为1000B,数据传输速率是10kb/s,单项传播延时是200ms。则甲的最大信道利用率为( )。
A.80%
B.66.7%
C.44.4%
D.40%
解析:发送数据帧和确认帧的时间均为t = 1000 × 8 b / 10 k b / s = 800 m s t=1000×8b/10kb/s = 800mst=1000×8b/10kb/s=800ms.发送周期为T = 800 m s + 200 m s + 800 m s + 200 m s = 2000 m s T= 800ms + 200ms + 800ms + 200ms = 2000msT=800ms+200ms+800ms+200ms=2000ms.信道利用率为t / T × 100 % = 800 / 2000 = 40 % t/T×100\%=800/2000= 40\%t/T×100%=800/2000=40%。

应用题

1.在选择ARQ协议中,设编号用3bit,发送窗口W T = 6 W_T=6WT​=6,接收窗口W T = 3 W_T=3WT​=3。试找出一种情况,使得在此情况下协议不能正确工作。
解析:
对于选择重传协议,接收窗口和发送窗口的尺寸需满足:接 收 窗 口 尺 寸 W R + 发 送 窗 口 尺 寸 W T ≤ 2 n 接收窗口尺寸W_R+发送窗口尺寸W_T≤2^n接收窗口尺寸WR​+发送窗口尺寸WT​≤2n,而题目中给出的数据是W T + W R = 9 ≥ 2 3 W_T+W_R=9≥2^3WT​+WR​=9≥23,所以是无法正常工作的。
举例如下:

发送方0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0
接收方0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0

发送方发送0~5号共6个数据帧时,因发送窗口已满,发送暂停。接收方收到所有数据帧,对每个帧都发送确认帧,并期待后面的6、7、0号帧。若所有的确认帧都未到达发送方,经过发送方计时器控制的超时时间后,发送方再次发送之前的6个数据帧,而接收方收到0号帧后,无法判断是新的数据帧还是旧的重传的数据帧

2.假设一个信道的数据传输速率为5kb/s,单向传输时延为30ms,那么帧长在什么范围内才能使用于差错控制的停止-等待协议的效率至少为50%?
解析:
设帧长为L。在停止-等待协议中,协议忙的时间为数据发送的时间L/B,协议空闲的时间为数据发送后等待确认返回的时间2R。要使协议的效率至少为50%,要求信道利用率u至少为50%而信道利用率=数据发送时延/(传播时延+数据发送时延),则L / B ( L / B + 2 R ) ≥ 50 % \frac{L/B}{(L/B+2R)}\ge50\%(L/B+2R)L/B​≥50%
可得L ≥ 2 R B = 2 × 5000 × 0.03 b i t = 300 b i t L≥2RB= 2×5000×0.03bit= 300bitL≥2RB=2×5000×0.03bit=300bit。
因此,当帧长大于等于300bit时,停止-等待协议的效率至少为50%。

3.假定卫星信道的数据率为100kb/s,卫星信道的单程传播时延为250ms,每个数据帧的长度均为2000位,并且不考虑误码、确认帧长、头部和处理时间等开销,为达到传输的最大效率,试问帧的顺序号应为多少位?此时信道利用率是多少?
解析:
R T T = 250 × 2 = 500 m s = 0.5 s RTT=250×2 = 500ms = 0.5sRTT=250×2=500ms=0.5s。
一个帧的发送时间等于2000 b i t / ( 100 k b / s ) = 20 × 1 0 − 3 s 2000bit/(100kb/s) = 20×10^{-3}s2000bit/(100kb/s)=20×10−3s.
一个帧发送完后经过一个单程时延到达接收方,再经过一个单程时延发送方收到应答,从而可以继续发送,因此要达到传输效率最大,就是不用等确认也可继续发送帧。设窗口值等于x,令
2000 b i t × x / ( 100 k b / s ) = 20 × 1 0 − 3 s + R T T = 20 × 1 0 − 3 s + 0.5 s = 0.52 s 2000bit×x/(100kb/s)= 20×10^{-3}s+ RTT= 20×10^{-3}s+0.5s = 0.52s2000bit×x/(100kb/s)=20×10−3s+RTT=20×10−3s+0.5s=0.52s得x = 26 x=26x=26。
要取得最大信道利用率,窗口值是26即可,因为在此条件下,可以不间断地发送帧,所以发送速率保持在100kb/s。
由于2 4 = 16 < 26 < 32 = 2 5 2^4=16<26<32=2^524=16<26<32=25,帧的顺序号应为5 55位。在使用后退N帧ARQ的情况下,最大窗口值是最 大 帧 长 − 1 = 32 − 1 = 31 , 大 于 26 最大帧长-1=32-1=31,大于26最大帧长−1=32−1=31,大于26,可以不间断地发送帧,此时信道利用率是100%。

4.在数据传输速率为50kb/s的卫星信道上传送长度为 1kbit 的帧,假设确认帧总由数据帧捎带,帧头的序号长度为3bit,卫星信道端到端的单向传播延迟为270ms。对于下面三种协议,信道的最大利用率是多少?
1)停止-等待协议。
2)后退N帧协议。
3)选择重传协议(假设发送窗口和接收窗口相等).
解析:
最大信道利用率即每个传输周期内每个协议可发送的最大帧数。由题意,数据帧的长度为1kbit,信道的数据传输速率为50kb/s,因此信道的发送时延为1/50s = 0.02s,另外信道端到端的传播时延=0.27s。本题中的确认帧是捎带的(通过数据帧来传送),因此每个数据帧的传输周期为( 0.02 + 0.27 + 0.02 + 0.27 ) s = 0.58 s (0.02+0.27+0.02+0.27)s =0.58s(0.02+0.27+0.02+0.27)s=0.58s,
1)在停止-等待协议中,发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧。其中用于发送数据帧的时间为0.02s。因此,信道的最大利用率为0.02 / 0.58 = 3.4 0.02/0.58=3.4%0.02/0.58=3.4。
2)在后退N帧协议中,接收窗口尺寸为1,若采用n比特对帧编号,则其发送窗口的尺寸W满足1 < W ≤ 2 n − 1 1<W≤2^n-11<W≤2n−1。发送方可以连续再发送若干数据帧,直到发送窗口内的数据帧都发送完毕。如果收到接收方的确认帧,那么可以继续发送。若某个帧出错,则接收方只是简单地丢弃该帧及所有的后续帧,发送方超时后需重传该数据帧及所有的后续数据帧。根据题目条件,在达到最大传输速率的情况下,发送窗口的大小应为2 n − 1 = 7 2^n-1=72n−1=7,此时在第一帧的数据传输周期0.58s内,实际连续发送了7帧(考虑极限情况,0.58s后接收方只收到0号帧的确认,此时又可以发出一个新帧,这样依次下去,取极限即是每个传输周期0.58s内发送了7帧),因此此时的最大信道利用率为7 × 0.02 / 0.58 = 24.1 7×0.02/0.58=24.1%7×0.02/0.58=24.1。
3)选择重传协议的接收窗口尺寸和发送窗口尺寸都大于1,可以–次发送或接收多个帧。若采用n比特对帧编号,则窗口尺寸应满足:接 收 窗 口 尺 寸 + 发 送 窗 口 尺 寸 ≤ 2 n 接收窗口尺寸+发送窗口尺寸≤2^n接收窗口尺寸+发送窗口尺寸≤2n,当发送窗口与接收窗口尺寸相等时,应有接 收 窗 口 尺 寸 ≤ 2 n − 1 接收窗口尺寸≤2^n-1接收窗口尺寸≤2n−1且发 送 窗 口 尺 寸 ≤ 2 n − 1 发送窗口尺寸≤2^n-1发送窗口尺寸≤2n−1。发送方可以连续发送若干数据帧,直到发送窗口内的数据帧都发送完毕。如果收到接收方的确认帧,那么可以继续发送。若某个帧出错,则接收方只是简单地丢弃该帧,发送方超时后需重传该数据帧。
和2)问中的情况类似,唯一不同的是为达到最大信道利用率,发送窗口大小应为2 n − 1 = 4 2^{n-1}=42n−1=4,因此,此时的最大信道利用率为4 × 0.02 / 0.58 = 13.8 % 4×0.02/0.58= 13.8\%4×0.02/0.58=13.8%。

5.对于下列给定的值,不考虑差错重传,非受限协议(无须等待应答)和停止-等待协议的有效数据率是多少?(即每秒传输了多少真正的数据,单位为b/s.)
R=传输速率(16 M b / s 16Mb/s16Mb/s)
S=信号传播速率(200 m / μ s 200m/\mu s200m/μs)
D=接收主机和发送主机之间传播距离(200m)
T=创建帧的时间(2 μ s 2\mu s2μs)
F=每帧的长度(500bit)
N=每帧中的数据长度(450bit)
A一确认帧ACK的帧长(80bit)
解析:
1)非受限协议
有效数据率N T + F R = 450 b i t 2 μ s + 500 b i t 16 b i t s / μ s ≈ 13.53 M b / s \frac{N}{T+\frac{F}{R}}=\frac{450bit}{2\mu s+\frac{500bit}{16bits/\mu s}}\approx13.53Mb/sT+RF​N​=2μs+16bits/μs500bit​450bit​≈13.53Mb/s
2)停止等待协议
有效数据率N 2 × ( T + D / S ) + F + A R = 450 b i t 2 × ( 2 μ s + 200 m 200 m / μ s ) + 500 b i t 16 b i t s / μ s ≈ 10.65 b i t / μ s ≈ 10.65 M b / s \frac{N}{2×(T+D/S)+\frac{F+A}{R}}=\frac{450bit}{2×(2\mu s+\frac{200m}{200m/\mu s})+\frac{500bit}{16bits/\mu s}}\approx10.65bit/\mu s\approx10.65Mb/s2×(T+D/S)+RF+A​N​=2×(2μs+200m/μs200m​)+16bits/μs500bit​450bit​≈10.65bit/μs≈10.65Mb/s

6.在某个卫星信道上,发送端从一个方向发送长度为512B的帧,且发送端的数据发送速率为64kb/s,接收端在另一端返回一个很短的确认帧。设卫星信道端到端的单向传播延时为270ms,对于发送窗口尺寸分别为1、7、17和117的情况,信道的吞吐率分别为多少?
解析:
这里要注意题目中的单位。数据帧的长度为512B,即512 × 8 b i t = 4.096 k b i t 512×8bit =4.096kbit512×8bit=4.096kbit,一个数据帧的发送时延为4.096 / 64 = 0.064 s 4.096/64=0.064s4.096/64=0.064s。因此-一个发送周期时间为0.064 + 2 × 0.27 = 0.604 s 0.064+2×0.27=0.604s0.064+2×0.27=0.604s。
因此当窗口尺寸为1时,信道的吞吐率为1 × 4.096 / 0.604 = 6.8 k b / s 1×4.096/0.604=6.8kb/s1×4.096/0.604=6.8kb/s;当窗口尺寸为7时,信道的吞吐率为7 × 4.096 / 0.604 = 47.5 k b / s 7×4.096/0.604= 47.5kb/s7×4.096/0.604=47.5kb/s。
由于一个发送周期为0.604 s 0.604s0.604s,发送一个帧的发送延时是0.064 s 0.064s0.064s,因此当发送窗口尺寸大于0.604 / 0.064 0.604/0.0640.604/0.064,即大于等于10时,发送窗口就能保证持续发送。因此当发送窗口大小为17和117时,信道的吞吐率达到完全速率,与发送端的数据发送速率相等,即64 k b / s 64kb/s64kb/s。

7.【2017统考真题】甲乙双方均采用后退N帧协议(GBN)进行持续的双向数据传输,且双方始终采用捎带确认,帧长均为1000B。S x , y S_{x,y}Sx,y​和R x , y R_{x,y}Rx,y​分别表示甲方和乙方发送的数据帧其中x是发送序号,y是确认序号(表示希望接收对方的下一帧序号),数据帧的发送序号和确认序号字段均为3比特。信道传输速率为100Mb/s,RTT=0.96ms。下图给出了甲方发送数据帧和接收数据帧的两种场景,其中t 0 t_0t0​为初始时刻,此时甲方的发送和确认序号均为0,t 1 t_1t1​时刻甲方有足够多的数据待发送.

Index