您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机网络书后习题解答
计算机网络书后习题解答第六章习题习题28:考虑在一条具有10毫秒来回路程时间的线路上采用慢启动拥塞控制而不发生网络拥塞情况下的效应。此时,接收窗口为24KB,且最大数据段长为2KB。请问,需要多长时间才能发送第一个完全窗口。解题思路:本题主要的考点在于传输层慢启动拥塞控制的原理。慢启动拥塞控制算法使得传输层的发送方在每次向网络发送数据时都要考虑两个潜在的问题,即网络容量和接收方容量。为此,每个发送方都维持两个窗口,接收窗口和拥塞窗口。而发送方每次可以发送的字节数是由这两个窗口的最小值决定的。当建立一条连接时,发送方要确定接收窗口的初始值和拥塞窗口的初始值。其中,接收窗口初始值=由接收方通过TCP头部的窗口域告知=24KB(本题);拥塞窗口初始值=1个TCP报文=2KB(1个报文的长度)。因为,拥塞窗口接收窗口,所以,发送方将采用拥塞窗口规定的2KB开始发送数据。有了上述的初始工作,就可以开始解题了。解题如下:T=0,第1次发送,发送窗口=拥塞窗口=2KB(1个TCP报文),发送2KB;t=10毫秒,得到确认(题目中提示不发生网络拥塞),所以拥塞窗口变为=4KB(2个TCP报文);T=10毫秒,第2次发送,发送窗口=4KB;t=20毫秒,得到确认,拥塞窗口变为8KB(4个TCP报文);t=20毫秒,第3次发送,发送窗口=8KB;t=30毫秒,得到确认,拥塞窗口变为16KB(8个TCP报文);t=30毫秒,第4次发送,发送窗口=16KB;t=40毫秒,得到确认,拥塞窗口变为32KB(8个TCP报文);t=40毫秒,第5次发送,发送窗口=MIN(拥塞窗口,接收窗口)=24KB,因此,需要40毫秒才能发送第一个完全窗口。习题29:假设TCP的拥塞窗口被设置为18KB,并且发生了一个超时。如果接下来的4次传输全部成功的话,则窗口将是多大?假设最大数据段长度为1KB。解题思路:在TCP的慢启动拥塞控制算法中,除了使用慢启动的接收窗口和拥塞窗口外,还使用了第3个参数,阈值(常规情况下,初始值为64KB)。当发生超时时,阈值=当前拥塞窗口值的一半,而拥塞窗口则重新=1个最大TCP报文。阈值的作用是,发送窗口=阈值,则发送窗口=拥塞窗口以指数方式增长;发送窗口阈值,则发送窗口=拥塞窗口以线性方式增长。本题将先利用上面的分析,重新确定发生超时后,拥塞窗口和阈值的取值,然后再利用习题28的解题思路就可以完成了。解答如下:发生超时,则阈值=发生超时时拥塞窗口值/2=18KB/2=9KB;拥塞窗口=1个TCP报文=1KB。重新发送,第1次,发送窗口=1KB,得到确认后拥塞窗口=2KB;第2次,发送窗口=2KB,得到确认后拥塞窗口=4KB;第3次,发送窗口=4KB,得到确认后拥塞窗口=8KB;第4次,发送窗口=8KB,得到确认后拥塞窗口=9KB;则4次发送后,窗口=8KB。习题31:一台TCP机器在1Gbps的通道上使用65535字节的发送窗口,单程延迟时间等于10ms。请问可以得到的最大吞吐率是多少?线路效率是多少?解答如下:先算发送一次的时间=10ms×2=20ms;每20ms可以发送一个窗口大小的数据(包括确认),则每秒50个窗口。最大吞吐率(在IP层上计算):65535×8×50=26.214Mbps线路的利用率:26.214Mbps/1Gbps=2.6%习题32:一台主机在一条线路上发送1500字节的TCP净荷,其中最大分组生存期为120s,要想不让序号回绕,该线路的最快速度为多少?将TCP、IP和以太网的开销都考虑进去,假设以太网帧可以被连续发送。解题思路:需要考虑的问题有:1)重复TCP数据报文:由于TCP中,是面向字节流的传送,即编号也是按照字节分发的,所以对于32位的序列号空间,有232个字节可以在一轮中被编号。如果在120s的生存期内,由于发送速度太快使得需要回绕,则就会有相同编号的两个字节出现在网络中,继而引发网络问题。所以,在120s内,最大只能出现232个字节。2)开销问题:在传输层,TCP固定头部=20字节;在网络层,IP头部=20字节;在数据链路层,以太网开销=26个字节;总开销=66字节。解答如下:在120s内,最多只能出现232个字节;在1s内,最多只能出现(232字节)/120=35791394个字节;本题中,一个TCP净荷长度为1500个字节,所以上述字节可以被分成23861个TCP净荷。考虑到开销,则在1s内,共有23861个数据帧,而每个帧的长度为1566个字节;所以,速度=1566×8×23861=299Mbps。允许的最大速度是299Mbps,比这个速度快,就要有在同一时间里出现两个序号相同的TCP报文的危险。习题33:在一个网络中,最大的TPDU长度为128字节,最大的TPDU生存期为30s,序号为8位,请问每个连接的最大数据率是多少?解题思路:本题区别于习题32,因为本题不是TCP协议,因此不是采用按字节进行编号方式,而是给每个TPDU进行编号。解答如下:在30s内,最多只能出现28个TPDU;在1s内,最多只能出现28/30个TPDU,每个TPDU=128字节,所以速率=128×(28/30)×8=8704bps。最大速率=8.704Kbps。第五章习题习题6:假设所有的路由器和主机都正常工作,并且它们的软件也都没有错误,请问一个分组被递交到错误目的地的可能性有没有(无论可能性有多少)?解答如下:有可能。习题9:考虑图5.13(a)中的子网。该子网使用了距离矢量路由算法,下面的矢量刚刚到达路由器C;来自B的矢量为(5,0,8,12,6,2);来自D的矢量为(16,12,6,0,9,10);来自E的矢量为(7,6,3,9,0,4)。经测量,到B,D和E的延迟分别为6,3和5。请问C的新路由表将会怎么样?请给出将使用的输出线路以及期望的延迟。解题思路:按照下面的步骤来计算路由表。1)对于C先放弃原有的路由表;2)C开始测量到邻居节点的延迟;3)利用邻居节点发过来的矢量,计算路由表。矢量表的格式如下,以从B获得的矢量表为例。目的地ABCDEF延迟5081262特点是,邻居B只告诉C,它能到达A,B,C,D,E,F以及分别的延迟是多少,而通过那个路由器到达没有告诉C。矢量表的这种格式,决定了C只是“傻傻”地接收了信息,而计算出的路由表可能是带有回路错误的。4)不断操作3),最后计算出新路由表,格式如下:路由表的格式如下,目的地ABCDEF延迟1160358下一跳BB-DEB特点是,比矢量表多来转发项(下一条)。可以看出每个路由器发给邻居的矢量表,就是在自己的老路由表基础上,去掉转发项(下一跳)后产生的。解答如下:1)C将原有的路由表,去掉转发项变成矢量表后,发给它的邻居;然后删除这个路由表;2)从题目已知中获得,到达邻居B的延迟=6,到D=3,到E=5;3)利用B发过来的矢量表,得到路由表路由表的格式如下,目的地ABCDEF延迟1161418128下一跳BBBBBB利用D发过来的矢量表,得到路由表路由表的格式如下,目的地ABCDEF延迟1915931213下一跳DDDDDD利用E发过来的矢量表,得到路由表路由表的格式如下,目的地ABCDEF延迟121181459下一跳EEEEEE从上述路由表中找出最小值,(包括C到达自己)得到新路由表路由表的格式如下,目的地ABCDEF延迟1160358下一跳BB-DEB习题10:假设在一个50台路由器的网络中,用8比特记录延迟信息,并且每秒钟交换延迟矢量两次,请问,分布式路由算法需要在每条(全双工)线路上消耗多少带宽?假设每台路由器有三条线路连接到其他的路由器。解答如下:路由器每次将矢量表发送给其邻居节点,根据习题9的介绍,矢量表格的结构使得本题中每次发送的矢量表表项应该有50个,每个8bit,所以矢量表的大小=40×8=400bit;在一条线路上,因为是全双工的,所以在每个方向上都能发和收。在一个方向上,每秒发送两次延迟,每次400bit,所以共发送400×2=800比特。习题22:一个数据报子网允许路由器在必要的时候丢弃分组。一台路由器丢弃一个分组的概率为P。请考虑这样的情形:源主机连接到源路由器,源路由器连接到目标路由器,然后目标路由器连接到目标主机。如果任一台路由器丢掉了一个分组,则源主机最终会超时,然后再重试发送。如果主机至路由器以及路由器至路由器之间的线路都计为一跳,那么:(a)一个分组每次传输中的平均跳数是多少?(b)一个分组的平均传输次数是多少?(c)每个接收到的分组平均要求多少跳?解答如下:先画出之间的连接图,然后分析:(a)一个分组每次传输中的平均跳数是多少?一个分组,从主机发送出来,可能到源路由器时就被丢弃了,则跳数为1跳,概率为P;一个分组,从主机发送出来,过了源路由器(概率为(1-P)),到目标路由器时就被丢弃了,则跳数为2跳,概率为(1-P)P;一个分组,从主机发送出来,经过源路由器转发(概率1-P),到目标路由器也未被丢弃(概率为(1-P)),成功到达目的主机,则跳数为3跳,概率为(1-P)2;则利用加权平均,计算出平均跳数=1×P+2×(1-P)P+3×(1-P)2=P2-3P+3;(b)一个分组的平均传输次数是多少?一个分组,如果一次成功的到达目的地主机,必然要经过3跳,概率=(1-P)2;令A=(1-P)2;则两次才成功的概率为(1-A)A;3次才成功的概率为(1-A)2A利用加权平均,计算一个分组的平均发送次数(传输次数)TT=A+2(1-A)A+3(1-A)2A+…=1/(1-P)2;(c)每个接收到的分组平局要求多少跳?平均跳数=平均发送次数×平均跳数=(P2-3P+3)/(1-P)2;习题27:在一个6Mbps的网络上,有一台主机通过一个令牌桶进行流量调整。令牌桶的令牌到达速率为1Mbps。初始时候它被填充到8Mb的容量。请问该计算机以6Mbps的全速率可以传输多长时间?解题思路:本题就是考察同学们对令牌桶原理的理解。解这类题可从下面的步骤进行分析计算:当大量突发性数据到来时,如果令牌桶是满的,并且到来的数据令牌桶容量,则:1)先以全速率发送,利用公式S=C/(M-P)可计算机出全速的发送时间;2)当令牌桶中的令牌全部用完,而还有数据剩下要发送,则剩下的发送速率将=令牌到达的速率匀速发送。本题只用到了第一个步骤就可以了。解答如下:套用公式S=C/(M-P)=1.6s;习题28:与习题27解题思路类似,略。习题34:假设主机A被连接到一台路由器R1上,R1又连接到另一台路由器R2上,R2又被连接到主机B。假定一条TCP消息包含900字节的数据和20字节的TCP头,现在该消息被传递给主机A的IP代码,请它递交给主机B。请写出在三条链路上传输的每个分组中IP头部的Totallenghth、Identification、DF、MF和Fragmentoffset域。假定链路A-R1可以支持的最大帧长度为1024字节,其中包括14字节的帧头;链路R1---R2可以支持的最大帧长度为512字节,其中包括8字节的帧头;链路R2-B可以支持的最大帧长度为512字节,其中包括12字节的帧头。解题思路:本题其实考察的是同学们网络的体系结构运行模式以及对分片的理解。1)先分析网络的体系结构:这是一个典型的应用层-TCP传输层-IP网络层-数据链路层-物理层的模型,其中在应用层和物理层不需要考虑头部的开销,其他层都需要。通过数据链路层给出的条件,例如:A――R1的链路:最大帧长度=1024字节,去掉头部14字节,则可得出净荷部分=IP的数据包最大长度=1024-14=1010字节;同理:R1-R2净荷部分=IP的数据包最大长度=512-8=504字节;R2-B净荷部分=IP的数据包最大长度=512-12=500字节;上面得到的各个链路的最大IP数据包长度,是进行分片的重要依据。另外,用户数据在传输层的数据包长度=净荷+头部=900+20=920;交给IP网络层后,IP数据包长度=IP头部+净荷(TCP数据包长度)=20+
本文标题:计算机网络书后习题解答
链接地址:https://www.777doc.com/doc-4151271 .html