概述
英文版教材第三章 1、2、3、4、6、7、9、11、14、15、16, 补充题1
-
一个上层分组(数据包)被分为 10 帧,每帧有 80%可能无损到达。如果在数据链路层没有差错控制,该报文要平均传送多少次才能正确交付?
考点:概率中的乘法和加法原理
答:整个报文无差错的到达接受端的概率 A = 0. 8 10 = 0.107 A=0.8^{10}=0.107 A=0.810=0.107,因此成功发送1个报文平均需要传输的概率 = 1 0.107 = 9.3 =frac{1}{0.107}=9.3 =0.1071=9.3
正规解法:假设第 k 帧发送成功,前面 k-1 帧全部失败,则平均传输次数 = Σ k = 0 ∞ k A ( 1 − A ) k − 1 = 9.3 =Sigma_{k=0}^{∞}kA(1-A)^{k-1}=9.3 =Σk=0∞kA(1−A)k−1=9.3 -
在一个数据流中有下列数据片段: A B ESC C ESC FLAG FLAG D,使用字节填充方法,填充之后的结果是什么?
考点:字节填充法
答:A B ESC ESC C ESC ESC ESC FLAG ESC FLAG D
-
试问字节填充算法的最大开销是多少?
考点:字节填充法中转义字符的处理
答:如果数据部分只有 FLAG 和 ESC 字符,则经过填充之后,原数据字符数和转义字符个数相同,因此开销 = 转义字符数/数据字符数 = 100%
-
使用位填充时,是否可能出现单比特差错(丢失、插入或者修改等),而通过校验和无法查出?如果不会,为什么?如果会,什么情况下会出现?校验和长度对此是否有影响?
考点:校验和概念和能力的理解
答:有可能。当使用位填充时,如果有单比特数据在传输的过程中发生改变,对于 n 位校验和,有 1 2 n frac{1}{2^n} 2n1 的概率无法查出错误,即被判断为校验和字段的 n 位数据的值恰好是使得对数据部分校验正确的值。校验和的位数越长,错误被忽略的概率越低。
-
为增强单比特校验的可靠性,一个差错检测编码使用一个校验位来检查所有奇数位,使用第二个校验位来检查所有偶数位。此编码的汉明距离是多少?
考点:海明距离的理解
答:增加了 2 位校验位后,编码的汉明距离是 2(数据中 1 个不同,则校验中 1 个不同)
-
假定利用海明码传送 16bit 报文,则需要添加多少 bit 的检查位才能确保接受方能够检测并纠正单个 bit 错误?如果传送 1101001100110101 的报文,在使用偶数校验方式,请给出传送的位模式。
考点:纠错码(海明码)
答:根据公式 m + r + 1 ≤ 2 r m+r+1≤2^r m+r+1≤2r,当 m = 16 m=16 m=16 时,r 最小为 5。因此需要添加 5bit 的检查位。
利用编码简便法有:码字中为1的位号为 b3, b5, b7, b11, b12, b15, b17, b19, b21,表示为二进制码并按模2求和,得到校验码 P 5 P 4 P 3 P 2 P 1 = 01011 P_5P_4P_3P_2P_1=01011 P5P4P3P2P1=01011,因此发送的位模式为 111010110011001010101 -
一种检测差错的方法是把数据分成 n 行 k 列的数据块来传输,每行一个校验位,每列一个校验位,右下角的校验位对其所在行和列进行校验。这种方法可以检查出所有单比特差错吗?能检查出所有双比特差错吗?三比特差错呢?证明这种方法不能检查出某些四比特差错。
考点:行列同时校验方法的原理
答:可检查出所有单比特差错,一个单比特差错导致所在行列都出现校验错误。也可以检查出所有双比特差错,即使出错的两个比特在同行或者同列,也能查出。对于 3 比特差错, 如果在同行或同列,则该行或列的奇偶校验将检测出错误。 如果同行中有两个错误,则至少其中一个的列奇偶校验将检测到错误。 同列中有2个错误同理。对于 4 比特差错,如果出错的四个点正好位于矩形的 4 个顶点,则无法检查出差错。
-
假定数据以 1000 比特成块发送,可能发生 1 比特差错,出错的概率是独立的且重传不出错。误码率为多少时,采用奇偶校验检错并重传的方法要好于汉明码直接纠错?
考点:两种差错控制方法的理解及其开销的计算
答:若采用海明码直接纠错,根据不等式 m + r + 1 ≤ 2 r m+r+1 ≤ 2^r m+r+1≤2r 可得到海明码校验位长度为 10,共需传输 1010 位;若采用奇偶校验并重传的方式,只需 1 位校验位,但需要计算重传开销。假设出错率为 p,采用检测重传的方式的开销 = 1001 + 1000 p × 1001 < 1010 =1001+1000p×1001<1010 =1001+1000p×1001<1010,解得 p < 8.99 × 1 0 − 6 p<8.99×10^{-6} p<8.99×10−6
-
What is the remainder obtained by dividing x 7 + x 5 + 1 x^7 + x^5 + 1 x7+x5+1 by the generator polynomial x 3 + 1 x^3 + 1 x3+1?
考点:检错码(CRC)
答:将 M ( x ) = x 7 + x 5 + 1 M(x)=x^7 + x^5 + 1 M(x)=x7+x5+1 表示为2进制为 10100001,由题意知 r = 3 r=3 r=3,将 M ( x ) M(x) M(x) 左移 3 位得到:10100001000, R ( x ) = 10100001000 % G ( x ) = 111 R(x)=10100001000%G(x)=111 R(x)=10100001000%G(x)=111 -
位流 10011101 使用教材中描述的标准 CRC 方法来进行校验。生成多项式是 x 3 + 1 x^3+1 x3+1。写出实际传输的位串。假定在传输中第三位被反转,证明在接收方能检测出差错。举例说明接收方不能检测出位差错的情形。
考点:CRC 校验原理的理解和计算
答:由生成多项式得到 r = 3 r=3 r=3,因此将 M ( x ) M(x) M(x) 左移 3 位得到 10011101000,将得到的结果 % G ( x ) = 10011101000 % 1001 = 100 %G(x)=10011101000%1001=100 %G(x)=10011101000%1001=100,将 100 接在 M ( x ) M(x) M(x) 后得到实际传输的位串 10011101100。
第三位被反转,则收到的位串为 10111101100,在接受端进行检错,将收到的位串 % G ( x ) = 10111101100 % 1001 = 100 ≠ 0 %G(x)=10111101100%1001=100≠0 %G(x)=10111101100%1001=100=0,则检测出错误。
当第 3 位和第 9 位同时发生反转时,即收到的位串为 10111101 000,此时校验的结果为 0,即接收方无法检测出错误。补充题1:已知数据位流为1101 0110,采用 CRC 校验, G ( x ) = x 3 + 1 G(x)=x^3+1 G(x)=x3+1,计算出校验位。
考点:CRC 校验的计算
答:由 G ( x ) G(x) G(x) 可知 r = 3 r=3 r=3,因此将数据左移 3 位得到 1001 0110 000,将得到的结果 % G ( x ) = 10010110000 % 1001 = 111 %G(x)=1001 0110000%1001=111 %G(x)=10010110000%1001=111,得到的结果即为校验位 111。
英文版教材第三章17, 18, 20, 27, 28, 29, 30, 31, 32, 33,补充题2-5
-
在 3.3.3 节讨论的 ARQ 协议中,概述了一种情况:由于 ACK 帧丢失,对每一帧接收方都收到两次。如果数据帧和 ACK 都不丢失,接收方是否有可能收到重复的帧?
考点:ARQ 协议中出现重复帧情形的理解
答:有可能。例如某帧正确到达,但接收方因为 CPU 忙、处理速度慢等原因而推迟了 ACK 的发送,导致发送方的定时器超时,重发数据帧。此时,接收方将收到重复帧。
注意:出错帧不算重复帧
-
某信道的数据率是 4 kbps,传播时延是 20 毫秒,帧长为多少时,停等协议的效率能至少能达到 50%?
考点:停等协议的信道利用率
答:由题意知: T f = L 4 k b p s , T d = 20 m s T_f=frac{L}{4kbps},T_d=20ms Tf=4kbpsL,Td=20ms,信道利用率 C r = T f T f + 2 T d ≥ 50 % Cr=frac{T_f}{T_f+2T_d}≥50% Cr=Tf+2TdTf≥50%,代入得 L ≥ 160 b i t L≥160bit L≥160bit -
一条 3000 公里长的 T1 中继线路使用协议 5 来传输 64 字节长的数据帧。如果传播速度为 6 微妙/公里,需要多少位序列号?
考点:对于 Gobackn 协议性能的理解和计算;T1 的发送速率
答:假定序号为 n 位,Gobackn 协议的最大发送窗口 W S = 2 n − 1 W_S=2^n-1 WS=2n−1,应使信道利用率 C r = W S × T f T f + 2 T d = 100 % Cr=frac{W_S×T_f}{T_f+2T_d}=100% Cr=Tf+2TdWS×Tf=100%。
传播时延 T d = 3000 × 6 = 18 m s T_d=3000×6=18ms Td=3000×6=18ms,发送时延 T f = 64 × 8 / 1.536 M b p s = 0.3 m s T_f= 64×8/1.536Mbps = 0.3ms Tf=64×8/1.536Mbps=0.3ms,代入上式求得 W S ≥ 121 W_S≥121 WS≥121,则对应的 n ≥ 7 n≥7 n≥7,需要 7 位序号。总结:滑动窗口协议不会发生序号回转问题,当题目要求计算序号位数时,只考虑信道利用率。
-
在带宽为 1Mbps 的无差错链路上使用协议 6 进行通信,设最大帧长为 1000 位,网络层每秒产生一个新的数据包,重传超时间隔为 10ms。如果不使用 ACK 定时器,将产生不必要的重传。求一帧的平均重传次数。
考点:选择重传协议的工作原理和流程
答:确定是否会发生超时:传输时间 = 1000 b 1 M b p s = 1 m s =frac{1000 b}{1Mbps}=1ms =1Mbps1000b=1ms,而 10 + 1 m s ≪ 1 s 10+1ms≪1s 10+1ms≪1s,所以超时不可避免;
确定是否会产生 NAK 帧:超时后发送端会重发帧,接收端发现重复,回 NAK,然后发送端可发新帧(序号滚动)。
因此,平均每帧传送2次。 -
协议 6 中,MAX_SEQ = 2 n − 1 =2^n − 1 =2n−1. 很明显这个条件有利于帧头字段的有效使用,但我们没有说明这个条件是必须的。对于 MAX_SEQ = 4,协议是否能正确工作?请举例说明。
考点:MAX_SEQ 和
arrived[]
在协议6中的作用,与模运算的关系;情景假设答:若 MAX_SEQ=4,则模 = 5 , W s = W r = 5 2 = 2 =5, Ws=Wr=frac{5}{2}=2 =5,Ws=Wr=25=2,则只有两个缓冲区
in_buf[0]
和in_buf[1]
,序号从0-4开始轮回,0,2,4使用in_buf[0]
,1,3使用in_buf[1]
。假设0,1,2,3都正确收到并已回复ACK,则下一步发送4,0。若4丢失但0成功接收时,0号帧会占用in_buf[0]
,此时arrive[0]=true
,则while
中的数据发生错序上交。 -
在 1Mbps 的卫星信道上发送多个长度为 1000 位的帧。从地面到卫星的传播时延是 270 毫秒,采用捎带确认(piggybacking)方式。帧头很短,且使用 3 位序号。请分别计算采用下列协议的最大信道利用率:
(a) 停等协议
(b) 协议 5
(c ) 协议 6考点:信道利用率的计算(单个信道),一定画出时序图:
答:因为总是使用捎带应答技术,因此信道利用率 C r = T f 2 T f + 2 T d Cr=frac{T_f}{2T_f+2T_d} Cr=2Tf+2TdTf,信道传播时延 t 传 = 1 k 1 M b p s = 1 m s t_传=frac{1k}{1Mbps}=1ms t传=1Mbps1k=1ms
(a) C r = 1 2 × 1 + 2 × 270 = 0.185 % Cr=frac{1}{2×1+2×270}=0.185% Cr=2×1+2×2701=0.185%。
(b) W s = 2 3 − 1 = 7 Ws=2^3-1=7 Ws=23−1=7,则 C r = 1 × 7 2 × 1 + 2 × 270 = 1.29 % Cr=frac{1×7}{2×1+2×270}=1.29% Cr=2×1+2×2701×7=1.29%
(c) W s = 2 3 − 1 = 4 Ws=2^{3-1}=4 Ws=23−1=4,则 C r = 1 × 4 2 × 1 + 2 × 270 = 0.738 % Cr=frac{1×4}{2×1+2×270}=0.738% Cr=2×1+2×2701×4=0.738%其他同类考题: W s Ws Ws为多少时效率能达到100%? W s > W s m a x Ws>Ws_{max} Ws>Wsmax 时效率为多少(还是100%)?
-
在 64kbps 的无差错卫星信道上单方向发送多个长度为 512 字节的数据帧,反向会送较短的 ACK 帧。地面-卫星的传播时延是 270 毫秒。当发送窗口分别为 1、7、15、127 时,最大吞吐量各是多少?
考点:极限信道利用率与吞吐量的计算
答:512 字节数据帧发送时延 = 512 × 8 b i t 64 k b p s = 64 m s =frac{512×8bit}{64kbps}=64ms =64kbps512×8bit=64ms。接受端回一个很短的 ack(不计发送时间),因此时序图如下:
信道利用率达到 100% 时有 W S ⋅ T f ≥ 2 T d + T f W_S·T_f≥2T_d+T_f WS⋅Tf≥2Td+Tf,所以在 W S ≥ 9.4375 W_S≥9.4375 WS≥9.4375,即 W S > 10 W_S>10 WS>10 时,吞吐量 = 64 k b p s =64kbps =64kbps。当窗口大小 = n ( n ≤ 9 ) =n(n≤9) =n(n≤9) 时,吞吐率 = 64 n 64 + 2 × 270 =frac{64n}{64+2×270} =64+2×27064n。当 n = 1 , 7 , 15 , 127 n=1,7,15,127 n=1,7,15,127 时代入上式,得到结果为(吞吐量=吞吐率×带宽):
窗口大小 W W W | 1 | 7 | 15 | 127 |
---|---|---|---|---|
吞吐量 | 6.78kbps | 47.5kbps | 64kbps | 64kbps |
-
在一条 100 公里长的电缆上采用 T1 速率来发送数据,电缆的传播时延是真空中光速的 2/3。请问多少位数据可以充满电缆?
考点:时延带宽积的计算
答:电缆的传输速率 = 2 3 × 3 × 1 0 8 = 2 × 1 0 8 m / s =frac{2}{3}×3×10^8=2×10^8 m/s =32×3×108=2×108m/s,则传播时延 = 100 k m 2 × 1 0 8 m / s = 5 × 1 0 − 4 s =frac{100km}{2×10^8 m/s}=5×10^{-4} s =2×108m/s100km=5×10−4s,T1的带宽 = 1.544 M b p s =1.544Mbps =1.544Mbps,则电缆中容纳的比特(时延带宽积) = 5 × 1 0 − 4 × 1.544 M b p s = 772 b i t =5×10^{-4}×1.544Mbps=772bit =5×10−4×1.544Mbps=772bit
-
为什么 PPP 使用字节填充而不使用位填充?请写出至少一个原因。
考点:PPP的特点
答:①PPP是由软件实现的,而位填充在硬件协议中实现,对于软件实现,字节操作比位操作更简单;②PPP是设计用于调制解调器的,调制解调器接收和传送数据的单位是字符而不是位。
-
在 PPP 帧中承载 IP 数据包的最小开销是多少?只计算 PPP 本身的开销,不考虑 IP 包头。最大开销是多少?
考点:PPP帧的数据结构
答:最小开销是:每帧有2个标志字节、1个协议字节和2个校验字节,每帧总共5字节开销;
最大开销是:2个标志字节、1个地址字节、1个控制字节、2个协议字节和4个校验字节,一共10字节开销。补充题:The following character encoding is used in a data link protocol:
A: 01000111 B: 11100011 FLAG: 01111110 ESC: 11100000
Show the bit sequence transmitted (in binary) for the four-character frame A B ESC FLAG when each of the following framing methods is used:
(a) Byte count.
(b) Flag bytes with byte stuffing.
(c ) Starting and ending flag bytes with bit stuffing.考点:3种成帧方式
答:(a)00000100 01000111 11100011 11100000 01111110(4 A B ESC FLAG)
(b)01111110 01000111 11100011 11100000 11100000 11100000 01111110 01111110(FLAG A B ESC ESC ESC FLAG FLAG)
(c)01111110 01000111 110100011 111000000 011111010 (A B ESC FLAG)
注意:考试经常反向考(给HDLC帧,还原数据) -
Data link protocols almost always put the CRC in a trailer rather than in a header. Why?
考点:计算机网络的串行通信
答:串行通信,接受完帧后可直接看校验位,节省存储,加速;否则要额外存储 CRC,效率降低
-
如果Go back N 中的between函数检查的条件是 a ≤ b ≤ c a≤b≤c a≤b≤c 而不是 a ≤ b < c a≤b<c a≤b<c,则对于协议的正确性和效率有影响吗?
考点:理解GBN的流程和原理;假设场景,利用错误样例来推翻题目中的假设
答:有影响。 考虑以下情况(3bit举例):先发送7号帧,成功接收并返回ACK;接着连发0-6号帧,但发生丢失。接收端等不到 ACK,触发timeout事件,重新发送刚才的帧,此时携带的 ACK=7。发送端检测到7满足 a ≤ b ≤ c a≤b≤c a≤b≤c,误认为 0-6 号帧成功发送。在未收到0-6号帧时,发送端未进行回退,导致帧顺序出错。
-
在一个负载很重的 50Kbps 的卫星信道上使用协议6,数据帧包含 40bit 的头和 3960bit 的数据,请计算一下浪费在头部和重传的开销占多少比例?
假设从地球到卫星的信号传输时间为270ms。
ACK 帧永远不会发生;
NAK 帧为40bit。
数据帧的错误率为1%,NAK帧的错误率忽略不计。
序号位为8位。
考点:根据已知条件和协议分析,画出时序图
答:帧长度 = 40 + 3960 = 4000 b i t =40+3960=4000bit =40+3960=4000bit,发送时延 = 4000 50 k b p s = 80 m s =frac{4000}{50kbps}=80ms =50kbps4000=80ms,因为未发送 ack,则一定采用了捎带应答技术,由此画出时序图:
成功发送一帧的时间 = 2 × 80 + 2 × 270 = 700 m s =2×80+2×270=700ms =2×80+2×270=700ms.已知序号位为8位,则 W s = 2 n − 1 = 2 7 = 128 Ws=2^{n-1}=2^7=128 Ws=2n−1=27=128,对应的发送时延 = 128 × 80 = 10240 m s > > 700 m s =128×80=10240ms>>700ms =128×80=10240ms>>700ms,则此时的链路利用率是100%,管道中充满了比特。
每个帧重传开销 = 4000 × 1 % = 40 b i t =4000×1%=40bit =4000×1%=40bit
每个帧 nak 开销 = 40 × 1 % = 0.4 b i t s =40×1%=0.4bits =40×1%=0.4bits
协议头40bit,因此总的开销 = 40 + 0.4 + 40 = 80.4 b i t =40+0.4+40=80.4bit =40+0.4+40=80.4bit,所占比例 = 80.4 80.4 + 3960 = 1.99 % =frac{80.4}{80.4+3960}=1.99% =80.4+396080.4=1.99%补充题1:一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?
考点:字节填充的理解
答:由于PPP的字节填充法规定:
0x7E转换为(0x7D, 0x5E);0x7D转换为(0x7D, 0x5D)
补充题2:在网络中截获了一串数据,用十六进制表示为:06 7E 25 7D 5E 16 7D 5D 7E A8 FF,其中包含一个完整的PPP帧,请以十六进制写出该PPP帧的内容(不包含首尾标志)
考点:对字节填充首尾标志法的理解
答:PPP帧的帧头、帧尾都是 7E,因此完整的传输帧是 7E 25 7D 5E 16 7D 5D 7E,去掉帧头帧尾和填充字节,帧中的内容是:25 7E 16 7D补充题3. 采用 3 比特序号的选择重传(SR)协议,若接收窗口为5,则发送窗口的最大值是多少?
考点:选择重传协议中发送窗口和接收窗口的个数之间关系
答:使用 n 位序号的选择重传协议的滑动窗口个数应满足 W S + W R ≤ 2 n W_S+W_R≤2^n WS+WR≤2n,对于 3 位序号, W S + W R ≤ 8 , W R = 5 W_S+W_R≤8,W_R=5 WS+WR≤8,WR=5,则 W S ≤ 3 W_S≤3 WS≤3
补充题4. 50-kbps 的卫星信道,往返时延为 500ms,帧长为 1000 位,使用捎带确认(搭载ACK)的SR协议,若使效率达到50%,序号的比特数至少是多少?
补充题5. 数据链路层采用GBN(回退N步) 协议,发送方已经发送了编号为0-7 的帧,当计时器超时时,若发送方只收到0、4、5 号帧的确认,则发送方需要重发的帧数是多少?
考点:累积确认
答:对 5 号帧的确认说明 5 号帧及以前的帧全部正确接收,因此发送方需要重发未确认的 6 号和 7 号帧,即需要重发的帧数是 2。
补充题6. 两台计算机的数据链路层协议实体采取滑动窗口机制利用16kbps 的卫星信道传输长度为128 字节的数据帧,信道传播时延为270ms。
(1) 计算使用停等协议的信道利用率;
(2) 计算使用发送窗口为7 的GBN 协议的信道利用率;
(3) 计算使用发送窗口为15 的GBN 协议的信道利用率;
(4) 为使信道利用率达到最高,使用GBN 协议时序号的比特数最少为多少位?
最后
以上就是稳重小蜜蜂为你收集整理的计算机网络 第三章 课后题答案的全部内容,希望文章能够帮你解决计算机网络 第三章 课后题答案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复