P22. 考虑一个 GBN 协议,其发送方窗口为 4,序号范围为 1024。假设在时刻 t,接收方期待的下一个有序分组的序号是 k。假设媒体不会对报文重排序。回答以下问题: a. 在 t 时刻,发送方窗口内的报文序号可能是多少?论证你的回答。 b. 在 t 时刻,在当前传播回发送方的所有可能报文中,ACK 字段的所有可能值是多少?论证你的回答。 a. b. // TODO 答案是 [k - N - 1, k - 1] 答案似乎在为难我胖虎... P23. 考虑 GBN 协议和 SR 协议。假设序号空间的长度为 k,那么为了避免出现图 3-27 中的问题。对于这两种协议中的每一种,允许的发送窗口最大为多少? 由上图可知,序号范围需要大于发送方和接收方窗口长度的最大使用范围,即 Range of Sequence Number > k + N - 1 - (k - N) => 2N - 1,即序号范围需要至少是窗口长度的两倍。 P24. 对于下面的问题判断是非,并简要地论证你的回答。 a. 对于 SR 协议,发送方可能会收到落在当前窗口之外的分组的 ACK。 b. 对于 GBN 协议,发送方可能会收到落在其当前窗口之外的分组的 ACK。 c. 当发送方和接收方窗口长度都为 1 时,比特交替协议与 SR 协议相同。 d. 当发送方和接收方窗口长度都为 1 时,比特交替协议与 GBN 协议相同。 a. ✅ 例如,发送方所发送的分组都已经正确到达接收方,接收方回传了所有确认 ACK,但发送方提前超时,又重传了一遍所有未确认的分组,那么当第一组 ACK 到达发送方后,发送方的滑动窗口已经移动,下一组冗余 ACK 到达时,就算作了落在当前窗口之外。 b. ✅ 讨论同 a 小问。 c. ✅ 原来如此....比特交替协议就是窗口长度为 1 的 SR 和 GBN。 d. ✅