计算机网络 第三章 课后题答案
英文版教材第三章 1、2、3、4、6、7、9、11、14、15、16, 补充题1
一个上层分组(数据包)被分为 10 帧,每帧有 80%可能无损到达。如果在数据链路层没有差错控制,该报文要平均传送多少次才能正确交付?
考点:概率中的乘法和加法原理
答:整个报文无差错的到达接受端的概率A=0.810=0.107A=0.8^{10}=0.107A=0.810=0.107,因此成功发送1个报文平均需要传输的概率=10.107=9.3=\frac{1}{0.107}=9.3=0.1071=9.3
正规解法:假设第 k 帧发送成功,前面 k-1 帧全部失败,则平均传输次数=Σk=0∞kA(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 位校验和,有 12n\frac{1}{2^n}2n1 的概率无法查出错误,即被判断为校验和字段的 n 位数据的值恰好是使得对数据部分校验正确的值。校验和的位数越长,错误被忽略的概率越低。
为增强单比特校验的可靠性,一个差错检测编码使用一个校验位来检查所有奇数位,使用第二个校验位来检查所有偶数位。此编码的汉明距离是多少?
考点:海明距离的理解
答:增加了 2 位校验位后,编码的汉明距离是 2(数据中 1 个不同,则校验中 1 个不同)
假定利用海明码传送 16bit 报文,则需要添加多少 bit 的检查位才能确保接受方能够检测并纠正单个 bit 错误?如果传送 1101001100110101 的报文,在使用偶数校验方式,请给出传送的位模式。
考点:纠错码(海明码)
答:根据公式 m+r+1≤2rm+r+1≤2^rm+r+1≤2r,当 m=16m=16m=16 时,r 最小为 5。因此需要添加 5bit 的检查位。
利用编码简便法有:码字中为1的位号为 b3, b5, b7, b11, b12, b15, b17, b19, b21,表示为二进制码并按模2求和,得到校验码 P5P4P3P2P1=01011P_5P_4P_3P_2P_1=01011P5P4P3P2P1=01011,因此发送的位模式为 111010110011001010101一种检测差错的方法是把数据分成 n 行 k 列的数据块来传输,每行一个校验位,每列一个校验位,右下角的校验位对其所在行和列进行校验。这种方法可以检查出所有单比特差错吗?能检查出所有双比特差错吗?三比特差错呢?证明这种方法不能检查出某些四比特差错。
考点:行列同时校验方法的原理
答:可检查出所有单比特差错,一个单比特差错导致所在行列都出现校验错误。也可以检查出所有双比特差错,即使出错的两个比特在同行或者同列,也能查出。对于 3 比特差错, 如果在同行或同列,则该行或列的奇偶校验将检测出错误。 如果同行中有两个错误,则至少其中一个的列奇偶校验将检测到错误。 同列中有2个错误同理。对于 4 比特差错,如果出错的四个点正好位于矩形的 4 个顶点,则无法检查出差错。
假定数据以 1000 比特成块发送,可能发生 1 比特差错,出错的概率是独立的且重传不出错。误码率为多少时,采用奇偶校验检错并重传的方法要好于汉明码直接纠错?
考点:两种差错控制方法的理解及其开销的计算
答:若采用海明码直接纠错,根据不等式 m+r+1≤2rm+r+1 ≤ 2^rm+r+1≤2r 可得到海明码校验位长度为 10,共需传输 1010 位;若采用奇偶校验并重传的方式,只需 1 位校验位,但需要计算重传开销。假设出错率为 p,采用检测重传的方式的开销=1001+1000p×1001<1010=1001+1000p×1001<1010=1001+1000p×1001<1010,解得 p<8.99×10−6p<8.99×10^{-6}p<8.99×10−6
What is the remainder obtained by dividing x7+x5+1x^7 + x^5 + 1x7+x5+1 by the generator polynomial x3+1x^3 + 1x3+1?
考点:检错码(CRC)
答:将 M(x)=x7+x5+1M(x)=x^7 + x^5 + 1M(x)=x7+x5+1 表示为2进制为 10100001,由题意知 r=3r=3r=3,将 M(x)M(x)M(x) 左移 3 位得到:10100001000,R(x)=10100001000%G(x)=111R(x)=10100001000\%G(x)=111R(x)=10100001000%G(x)=111位流 10011101 使用教材中描述的标准 CRC 方法来进行校验。生成多项式是 x3+1x^3+1x3+1。写出实际传输的位串。假定在传输中第三位被反转,证明在接收方能检测出差错。举例说明接收方不能检测出位差错的情形。
考点:CRC 校验原理的理解和计算
答:由生成多项式得到 r=3r=3r=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)=x3+1G(x)=x^3+1G(x)=x3+1,计算出校验位。
考点:CRC 校验的计算
答:由 G(x)G(x)G(x) 可知 r=3r=3r=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%?
考点:停等协议的信道利用率
答:由题意知:Tf=L4kbps,Td=20msT_f=\frac{L}{4kbps},T_d=20msTf=4kbpsL,Td=20ms,信道利用率 Cr=TfTf+2Td≥50%Cr=\frac{T_f}{T_f+2T_d}≥50\%Cr=Tf+2TdTf≥50%,代入得 L≥160bitL≥160bitL≥160bit一条 3000 公里长的 T1 中继线路使用协议 5 来传输 64 字节长的数据帧。如果传播速度为 6 微妙/公里,需要多少位序列号?
考点:对于 Gobackn 协议性能的理解和计算;T1 的发送速率
答:假定序号为 n 位,Gobackn 协议的最大发送窗口WS=2n−1W_S=2^n-1WS=2n−1,应使信道利用率 Cr=WS×TfTf+2Td=100%Cr=\frac{W_S×T_f}{T_f+2T_d}=100\%Cr=Tf+2TdWS×Tf=100%。
传播时延 Td=3000×6=18msT_d=3000×6=18msTd=3000×6=18ms,发送时延 Tf=64×8/1.536Mbps=0.3msT_f= 64×8/1.536Mbps = 0.3msTf=64×8/1.536Mbps=0.3ms,代入上式求得 WS≥121W_S≥121WS≥121,则对应的 n≥7n≥7n≥7,需要 7 位序号。总结:滑动窗口协议不会发生序号回转问题,当题目要求计算序号位数时,只考虑信道利用率。
在带宽为 1Mbps 的无差错链路上使用协议 6 进行通信,设最大帧长为 1000 位,网络层每秒产生一个新的数据包,重传超时间隔为 10ms。如果不使用 ACK 定时器,将产生不必要的重传。求一帧的平均重传次数。
考点:选择重传协议的工作原理和流程
答:确定是否会发生超时:传输时间=1000b1Mbps=1ms=\frac{1000 b}{1Mbps}=1ms=1Mbps1000b=1ms,而 10+1ms≪1s10+1ms≪1s10+1ms≪1s,所以超时不可避免;
确定是否会产生 NAK 帧:超时后发送端会重发帧,接收端发现重复,回 NAK,然后发送端可发新帧(序号滚动)。
因此,平均每帧传送2次。协议 6 中,MAX_SEQ =2n−1=2^n − 1=2n−1. 很明显这个条件有利于帧头字段的有效使用,但我们没有说明这个条件是必须的。对于 MAX_SEQ = 4,协议是否能正确工作?请举例说明。
考点:MAX_SEQ 和
arrived[]
在协议6中的作用,与模运算的关系;情景假设答:若 MAX_SEQ=4,则模=5,Ws=Wr=52=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考点:信道利用率的计算(单个信道),一定画出时序图:
答:因为总是使用捎带应答技术,因此信道利用率 Cr=Tf2Tf+2TdCr=\frac{T_f}{2T_f+2T_d}Cr=2Tf+2TdTf,信道传播时延 t传=1k1Mbps=1mst_传=\frac{1k}{1Mbps}=1mst传=1Mbps1k=1ms
(a)Cr=12×1+2×270=0.185%Cr=\frac{1}{2×1+2×270}=0.185\%Cr=2×1+2×2701=0.185%。
(b)Ws=23−1=7Ws=2^3-1=7Ws=23−1=7,则 Cr=1×72×1+2×270=1.29%Cr=\frac{1×7}{2×1+2×270}=1.29\%Cr=2×1+2×2701×7=1.29%
(c)Ws=23−1=4Ws=2^{3-1}=4Ws=23−1=4,则 Cr=1×42×1+2×270=0.738%Cr=\frac{1×4}{2×1+2×270}=0.738\%Cr=2×1+2×2701×4=0.738%其他同类考题:WsWsWs为多少时效率能达到100%?Ws>WsmaxWs>Ws_{max}Ws>Wsmax 时效率为多少(还是100%)?
在 64kbps 的无差错卫星信道上单方向发送多个长度为 512 字节的数据帧,反向会送较短的 ACK 帧。地面-卫星的传播时延是 270 毫秒。当发送窗口分别为 1、7、15、127 时,最大吞吐量各是多少?
考点:极限信道利用率与吞吐量的计算
答:512 字节数据帧发送时延=512×8bit64kbps=64ms=\frac{512×8bit}{64kbps}=64ms=64kbps512×8bit=64ms。接受端回一个很短的 ack(不计发送时间),因此时序图如下:
信道利用率达到 100% 时有 WS⋅Tf≥2Td+TfW_S·T_f≥2T_d+T_fWS⋅Tf≥2Td+Tf,所以在 WS≥9.4375W_S≥9.4375WS≥9.4375,即 WS>10W_S>10WS>10 时,吞吐量=64kbps=64kbps=64kbps。当窗口大小 =n(n≤9)=n(n≤9)=n(n≤9) 时,吞吐率=64n64+2×270=\frac{64n}{64+2×270}=64+2×27064n。当 n=1,7,15,127n=1,7,15,127n=1,7,15,127 时代入上式,得到结果为(吞吐量=吞吐率×带宽):
窗口大小 WWW | 1 | 7 | 15 | 127 |
---|---|---|---|---|
吞吐量 | 6.78kbps | 47.5kbps | 64kbps | 64kbps |
在一条 100 公里长的电缆上采用 T1 速率来发送数据,电缆的传播时延是真空中光速的 2/3。请问多少位数据可以充满电缆?
考点:时延带宽积的计算
答:电缆的传输速率=23×3×108=2×108m/s=\frac{2}{3}×3×10^8=2×10^8 m/s=32×3×108=2×108m/s,则传播时延=100km2×108m/s=5×10−4s=\frac{100km}{2×10^8 m/s}=5×10^{-4} s=2×108m/s100km=5×10−4s,T1的带宽=1.544Mbps=1.544Mbps=1.544Mbps,则电缆中容纳的比特(时延带宽积)=5×10−4×1.544Mbps=772bit=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≤ca≤b≤ca≤b≤c 而不是 a≤b<ca≤b<ca≤b<c,则对于协议的正确性和效率有影响吗?
考点:理解GBN的流程和原理;假设场景,利用错误样例来推翻题目中的假设
答:有影响。 考虑以下情况(3bit举例):先发送7号帧,成功接收并返回ACK;接着连发0-6号帧,但发生丢失。接收端等不到 ACK,触发timeout事件,重新发送刚才的帧,此时携带的 ACK=7。发送端检测到7满足 a≤b≤ca≤b≤ca≤b≤c,误认为 0-6 号帧成功发送。在未收到0-6号帧时,发送端未进行回退,导致帧顺序出错。
在一个负载很重的 50Kbps 的卫星信道上使用协议6,数据帧包含 40bit 的头和 3960bit 的数据,请计算一下浪费在头部和重传的开销占多少比例?
假设从地球到卫星的信号传输时间为270ms。
ACK 帧永远不会发生;
NAK 帧为40bit。
数据帧的错误率为1%,NAK帧的错误率忽略不计。
序号位为8位。
考点:根据已知条件和协议分析,画出时序图
答:帧长度=40+3960=4000bit=40+3960=4000bit=40+3960=4000bit,发送时延=400050kbps=80ms=\frac{4000}{50kbps}=80ms=50kbps4000=80ms,因为未发送 ack,则一定采用了捎带应答技术,由此画出时序图:
成功发送一帧的时间=2×80+2×270=700ms=2×80+2×270=700ms=2×80+2×270=700ms.已知序号位为8位,则 Ws=2n−1=27=128Ws=2^{n-1}=2^7=128Ws=2n−1=27=128,对应的发送时延=128×80=10240ms>>700ms=128×80=10240ms>>700ms=128×80=10240ms>>700ms,则此时的链路利用率是100%,管道中充满了比特。
每个帧重传开销=4000×1%=40bit=4000×1\%=40bit=4000×1%=40bit
每个帧 nak 开销=40×1%=0.4bits=40×1\%=0.4bits=40×1%=0.4bits
协议头40bit,因此总的开销=40+0.4+40=80.4bit=40+0.4+40=80.4bit=40+0.4+40=80.4bit,所占比例=80.480.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 位序号的选择重传协议的滑动窗口个数应满足 WS+WR≤2nW_S+W_R≤2^nWS+WR≤2n,对于 3 位序号,WS+WR≤8,WR=5W_S+W_R≤8,W_R=5WS+WR≤8,WR=5,则 WS≤3W_S≤3WS≤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 协议时序号的比特数最少为多少位?
计算机网络 第三章 课后题答案相关推荐
- 计算机网络 第六章 课后题答案
英文版教材第六章 8.10.11.18.19.21.22.25.26.27.28.补充题 比较传输层与数据链路层的区别(此处数据链路层不包含MAC子层) 比较网络层的端到端和传输层的端到端的区别. 传 ...
- 编译原理陈火旺版第三章课后题答案
下面答案仅供参考! 1.编写一个对于 Pascal 源程序的预处理程序.该程序的作用是,每次被调用时都将 下一个完整的语句送进扫描缓冲区,去掉注解行,同时要对源程序列表打印. 答:以下是一个简单的预处 ...
- 李航老师《统计学习方法》第二版第三章课后题答案
其他章节答案请参考我的汇总统计学习方法答案汇总,都是自己写的. 1.参照图3.1,在二维空间中给出实例点,画出 kkk 为1和2时的 kkk 近邻法构成的空间划分,并对其进行比较,体会 kkk 值的选 ...
- 基于案例的软件构造教程第三章课后题答案
2.用C.Java等编程语言,(1)定义ADT Stack.ADT Queue.ADT List:(2)编程实现上面定义的ADT:(3)设计测试用例,并用JUnit测试. class Stack {p ...
- 数据库原理与应用第三版何玉洁第三章课后题答案
1 关系模型的结构 关系操作 关系的完整性约束 2 1 笛卡尔积实际上就是一个二维表 2 主键也称为主关键字,时表中的属性或属性组,用于唯一的确定一个元组 3 候选键,一个属性或属性集能够唯一表示一个 ...
- 《计算机网络技术》第三章课后习题答案(全)
<计算机网络技术>第三章课后习题答案(全) 1.网络协议包括的三要素是什么? 答: 语法.语义和时序关系. 2.在计算机网络中使用分层的思想有哪些好处? 答: (1)各层次之间可相互独立: ...
- 计算机网络第三章数据链路层习题答案
计算机网络第三章数据链路层习题答案 3-02数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透 ...
- 西安电子科技大学计算机网络技术,计算机网络技术与应用课后题答案(西安电子科技大学).doc...
计算机网络技术与应用课后题答案(西安电子科技大学) <计算机网络应用基础>试题(1) 题目 项目 第一大题 第二大题 第三大题 第四大题 总 分 得 分 评卷人 一.填空题(每空1分,共2 ...
- 大学计算机西安电子科技大学答案,计算机网络技术与应用课后题答案(西安电子科技大学)...
计算机网络技术与应用课后题答案(西安电子科技大学) <计算机网络应用基础>试题(1) 一.填空题(每空1分,共24分,答案写在横线上) 1.按逻辑组成划分,计算机网络是由和两部分组成的. ...
最新文章
- C语言打印100-200之间的素数
- java implements interface_Java 接口 interface implements
- 行业观察丨激荡二十年——货代软件1999—2019
- 3 汪博士解读pmp_备考两月,我顺利通过PMP考试
- CentOS安装crontab及使用方法
- ES6基础2(块级作用域、数组对象解构)-学习笔记
- 一张图看懂阿里云网络产品[十二]云企业网
- Mysql8.0的安装
- 【Elasticsearch】Elasticsearch 热点线程 hot_threads
- svn 中 版本回退
- 软件设计师学习1——计算机系统知识
- web服务-Axis2的安装
- paip.提升用户体验之全角半角
- Git 下载与安装教程
- JMeter 远程启动报错:java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
- lua深拷贝一个table
- cocos 安卓打包相关
- 安装Windows11需要满足哪些要求
- 为什么机器人不会抢走你的工作?
- ueditor 取消工具栏悬浮