2022年计算机网络第六版课后习题参考答案第五章.docx
精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆第五章 传输层501试说明运输层在协议栈中的位置和作用,运输层的通信和网络层的通信有什么重要区分?为什么运输层是必不行少的?答:运输层处于面对通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层供应服务运输层为应用进程之间供应端到端的规律通信,但网络层是为主机之间供应规律通信(面对主机,承担路由功能,即主机寻址及有效的分组交换);各种应用进程之间通信需要“ 牢靠或尽力而为”的两类服务质量,必需由运输层以复用和分用的形式加载到网络层;502 网络层供应数据报或虚电路服务对上面的运输层有何影响?答:网络层供应数据报或虚电路服务不影响上面的运输层的运行机制;但供应不同的服务质量;503当应用程序使用面对连接的TCP 和无连接的IP 时,这种传输是面对连接的仍是面向无连接的?答:都是; 这要在不同层次来看,在运输层是面对连接的,在网络层就是无连接的;504 试用画图说明运输层的复用;画图说明很多个运输用户复用到一条运输连接上,而这条运输连接有复用到 IP 数据报上;505 试举例说明有些应用程序情愿采纳不行靠的 UDP ,而不用采纳牢靠的 TCP ;答: VOIP :由于语音信息具有肯定的冗余度,人耳对 受度,但对传输时延的变化较敏锐;VOIP 数据报缺失由肯定的承有差错的 UDP 数据报在接收端被直接抛弃,TCP 数据报出错就会引起重传,可能带来较大的时延扰动;名师归纳总结 因此 VOIP 宁可采纳不行靠的UDP ,而不情愿采纳牢靠的TCP;第 1 页,共 11 页- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆506接收方收到有差错的UDP 用户数据报时应如何处理?答:丢弃507假如应用程序情愿使用UDP 来完成牢靠的传输,这可能吗?请说明理由IP 层;UDP 508答:可能,但应用程序中必需额外供应与TCP 相同的功能;为什么说 UDP 是面对报文的,而TCP 是面对字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界;接收方UDP 对 IP 层交上来的UDP 用户数据报, 在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文;发送方 TCP 对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆 /合并),但维护各字节509 端口的作用是什么?为什么端口要划分为三种?答:端口的作用是对TCP/IP 体系的应用进程进行统一的标志,使运行不同操作系统的运算机的应用进程能够相互通信;熟知端口,数值一般为 登记端口号,数值为01023.标记常规的服务进程;102449151,标记没有熟知端口号的特别规的服务进程;510 试说明运输层中伪首部的作用;答:用于运算运输层数据报校验和;511某个应用进程使用运输层的用户数据报UDP ,然而连续向下交给IP 层后,又封装成 IP 数据报;既然都是数据报,可否跳过UDP 而直接交给IP 层?哪些功能UDP供应了但 IP 没提供应?答:不行跳过UDP 而直接交给IP 层IP 数据报 IP 报承担主机寻址,供应报头检错;只能找到目的主机而无法找到目的进程;UDP 供应对应用进程的复用和分用功能,以及供应对数据差分的差错检验;512 一个应用程序用 UDP ,到 IP 层把数据报在划分为 4 个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站;过了一段时间应用程序重传 UDP ,而 IP层仍旧划分为 4 个数据报片来传送;结果这次前两个到达目的站而后两个丢失;试问:在目的站能否将这两次传输的4 个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍旧储存在目的站的缓存中;答:不行重传时, IP 数据报的标识字段会有另一个标识符;仅当标识符相同的 IP 数据报片才能组装成一个 IP 数据报;前两个 IP 数据报片的标识符与后两个 IP 数据报片的标识符不同,因此不能组装成 一个 IP 数据报;名师归纳总结 - - - - - - -第 2 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆513一个 UDP 用户数据的数据字段为8192 季节;在数据链路层要使用以太网来传送;试问应当划分为几个IP 数据报片?说明每一个IP 数据报字段长度和片偏移字段的值;答: 6 个数据字段的长度:前5 个是 1480 字节,最终一个是800 字节;片偏移字段的值分别是:0,1480,2960, 4440,5920 和 7400. 514一 UDP 用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17.试求源端口、目的端口、用户数据报的总长度、数据部分长度;这个用户数据报是从客户发送给服务器发送给客户?使用UDP 的这个服务器程序是什么?解:源端口1586,目的端口 69,UDP 用户数据报总长度28 字节,数据部分长度20字节;515此 UDP 用户数据报是从客户发给服务器(由于目的端口号<1023,是熟知端口) 、服务器程序是TFFTP ;UDP 在传送数据文件时会使用 TCP 对实时话音数据的传输有没有什么问题?使用有什么问题?答:假如语音数据不是实时播放(边接受边播放)就可以使用 TCP,由于 TCP 传输牢靠;接收端用 TCP 讲话音数据接受完毕后,可以在以后的任何时间进行播放;但假定是实时传输,就必需使用 UDP ;UDP 不保证牢靠交付,但UCP 比 TCP 的开销要小很多;因此只要应用程序接受这样的服务质量就可以使用 UDP;516 在停止等待协议中假如不使用编号是否可行?为什么?答 :分组和确认分组都必需进行编号,才能明确哪个分就得到了确认;517 在停止等待协议中,假如收到重复的报文段时不予理会(即静静地丢弃它而其他什么也没做)是否可行?试举出详细的例子说明理由;答:收到重复帧不确认相当于确认丢失名师归纳总结 - - - - - - -第 3 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆518假定在运输层使用停止等待协议;发送发在发送报文段M0 后再设定的时间内未收到确认,于是重传M0 ,但 M0 又迟迟不能到达接收方;不久,发送方收到了迟到的对 M0 的确认,于是发送下一个报文段 M1 ,不久就收到了对 M1 的确认;接着发送方发送新的报文段 M0 ,但这个新的 M0 在传送过程中丢失了;正好,一开头就滞留在网络中的 M0 现在到达接收方;接收方无法辨论 M0 是旧的;于是收下M0 ,并发送确认;明显,接收方后来收到的M0 是重复的,协议失败了;试画出类似于图 5-9 所示的双方交换报文段的过程;答:旧的 M0 被当成新的 M0;519试证明:当用n 比特进行分组的编号时,如接收到窗口等于1(即只能按序接收分组),当仅在发送窗口不超过2n-1 时,连接ARQ 协议才能正确运行;窗口单位是分组;解:见课后答案;520 在连续 ARQ 协议中,如发送窗口等于 7,就发送端在开头时可连续发送 7 个分组;因此, 在每一分组发送后,都要置一个超时计时器;现在运算机里只有一个硬时钟;设这 7 个分组发出的时间分别为 t0,t1 t6,且 tout 都一样大;试问如何实现这 7 个超时计时器(这叫软件时钟法)?解:见课后答案;521 假定使用连续 ARQ 协议中, 发送窗口大小事 3,而序列范畴 0,15,而传输媒体保证在接收方能够按序收到分组;在某时刻,接收方,下一个期望收到序号是 5. 试问:(1)在发送方的发送窗口中可能有显现的序号组合有哪几种?的确认分组可能(2)接收方已经发送出去的、但在网络中 (即仍未到达发送方)有哪些?说明这些确认分组是用来确认哪些序号的分组;522主机 A 向主机 B 发送一个很长的文件,其长度为L 字节;假定TCP 使用的 MSS有 1460 字节;名师归纳总结 ( 1)在 TCP 的序号不重复使用的条件下,L 的最大值是多少?第 4 页,共 11 页( 2)假定使用上面运算出文件长度,而运输层、网络层和数据链路层所使用的- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆首部开销共66 字节,链路的数据率为10Mb/s ,试求这个文件所需的最短发送时间;解:(1)L_max 的最大值是 232=4GB,G=230. 2 满载分片数 Q=L_max/MSS 取整 =2941758 发送的总报文数N=Q*MSS+66+(L_max-Q*MSS )+66=4489122708+682=4489123390 总字节数是N=4489123390字节,发送4489123390 字节需时间为:N*8/(10*106 )=3591.3 秒,即 59.85 分,约 1 小时;523主机 A 向主机 B 连续发送了两个TCP 报文段,其序号分别为70 和 100;试问:( 1)第一个报文段携带了多少个字节的数据?180,试问 A 发( 2)主机 B 收到第一个报文段后发回的确认中的确认号应当是多少?( 3)假如主机B 收到其次个报文段后发回的确认中的确认号是送的其次个报文段中的数据有多少字节?( 4)假如 A 发送的第一个报文段丢失了,但其次个报文段到达了B;B 在其次个报文段到达后向A 发送确认;试问这个确认号应为多少?解:(1)第一个报文段的数据序号是(2)确认号应为 100. (3)80 字节;(4)70 70 到 99,共 30 字节的数据;524一个 TCP 连接下面使用256kb/s 的链路,其端到端时延为128ms;经测试, 发觉吞吐量只有 120kb/s;试问发送窗口 收等发出确认的时机) ;解:W 是多少?(提示:可以有两种答案,取决于接来回路程的时延等于 256ms=128ms× 2.设窗口值为 X 留意 :以字节为单位 ,假定一次最大发送量等于窗口值 ,且发射时间等于 256ms,那么 ,每发送一次都得停下来期望再次得到下一窗口的确认,以得到新的发送许可.这样 ,发射时间等于停止等待应答的时间 , 结果 ,测到的平均吞吐率就等于发送速率的一半 ,即8X÷ 256 ×1000=256 ×0.001 X=8192 所以 ,窗口值为 8192. 525为什么在 TCP 首部中要把TCP 端口号放入最开头的4 个字节?TCP答:在 ICMP 的差错报文中要包含IP 首部后面的8 个字节的内容, 而这里面有首部中的源端口和目的端口;定是哪条连接出了差错;当 TCP 收到 ICMP 差错报文时需要用这两个端口来确名师归纳总结 - - - - - - -第 5 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆526为什么在TCP 首部中有一个首部长度字段,而UDP 的首部中就没有这个这个字段?答: TCP 首部除固定长度部格外,仍有选项,因此TCP 首部长度是可变的;UDP首部长度是固定的;527 一个 TCP 报文段的数据部分最多为多少个字节?为什么?假如用户要传送的数据的字节长度超过 TCP 报文字段中的序号字段可能编出的最大序号,问仍能否用 TCP来传送?答: 65495 字节,此数据部分加上 TCP 首部的 20 字节,再加上 IP 首部的 20 字节,正好是 IP 数据报的最大长度 65535.(当然,如 IP 首部包含了挑选,就 IP 首部长度超过 20 字节,这时 TCP 报文段的数据部分的长度将小于 65495 字节;)数据的字节长度超过 TCP 报文段中的序号字段可能编出的最大序号,通过循环使用序号,仍能用 TCP 来传送;528 主机 A 向主机 B 发送 TCP 报文段, 首部中的源端口是 m 而目的端口是 n;当 B 向A 发送回信时,其TCP 报文段的首部中源端口和目的端口分别是什么?答:分别是 n 和 m;529 在使用 TCP 传送数据时,假如有一个确认报文段丢失了,也不肯定会引起与该确认报文段对应的数据的重传;试说明理由;答:仍未重传就收到了对更高序号的确认;530设 TCP 使用的最大窗口为65535 字节,而传输信道不产生差错,带宽也不受限制;如报文段的平均来回时延为20ms,问所能得到的最大吞吐量是多少. 答:在发送时延可忽视的情形下,最大数据率 =最大窗口 *8/ 平均来回时间 =26.2Mb/s ;531通信信道带宽为1Gbs,端到端时延为10ms;TCP 的发送窗口为65535 字节;试问 :可能达到的最大吞吐量是多少.信道的利用率是多少. 答:名师归纳总结 - - - - - - -第 6 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆L=65536 × 8+40× 8=524600 C=109b/s L/C=0.0005246s Td=10× 10-3s 0.02104864 Throughput=L/L/C+2 × Td=524600/0.0205246=25.5Mb/s Efficiency=L/C/L/C+2× D=0.0255 最大吞吐量为 25.5Mb/s ;信道利用率为 25.5/1000=2.55% 532 什么是 Karn 算法 .在 TCP 的重传机制中,如不采纳 Karn 算法,而是在收到确认 时都认为是对重传报文段的确认,那么由此得出的来回时延样本和重传时间都会偏 小;试问:重传时间最终会减小到什么程度 . RTT 时,只要报文段重传了,就不采纳其来回 答:Karn 算法: 在运算平均来回时延时延样本;设新来回时延样本 Ti RTT( 1)=a*RTT (i-1) +(1-a)*T (i);RTT (i) =a* RTT (i-1)+(1-a) *T (i) /2;RTT( 1)=a*0+1-a*T1= 1-a*T1; RTT (1)=a*0+1-a*T1/2= RTT(1)/2 RTT( 2)= a*RTT ( 1)+(1-a) *T (2; RTT (2)= a*RTT (1)+( 1-a)*T ( 2/2; = a*RTT (1)/2+(1-a)*T (2/2= RTT (2)/2 RTO=beta*RTT, 在统计意义上,重传时间最终会减小到使用karn 算法的 1/2. 533 假定 TCP 在开头建立连接时,发送方设定超时重传时间是 RTO=6s ;(1)当发送方接到对方的连接确认报文段时,测量出 RTT 样本值为 1.5s;试运算现在的 RTO 值;(2)当发送方发送数据报文段并接收到确认时,测量出 RTT 样本值为2.5s;试运算现在的 RTO 值;答:(1)据 RFC2988 建议, RTO=RTTs+4*RTTd ;其中 RTTd 是 RTTs 的偏差加权均值;初次测量时, RTTd (1)= RTT (1) /2;后续测量中, RTTd (i)=(1-Beta)* RTTd (i-1 )+Beta* RTTs- RTT (i) ;Beta=1/4 依题意, RTT(1)样本值为 1.5 秒,就RTTs(1) =RTT(1)=1.5s RTTd1=RTT1/2=0.75s RTO1=RTTs1+4RTTd1=1.5+4*0.75=4.5s (2)RTT(2)=2.5 RTTs(1)=1.5s RTTd (1)=0.75s RTTd (2)=(1-Beta)* RTTd (1)+Beta* RTTs (1)- RT (2)=0.75*3/4+1.5-2.5/4=13/16 RTO2=RTTs( 1)+4RTTd (2)=1.5+4*13/16=4.75s 名师归纳总结 - - - - - - -第 7 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆534已知第一次测得TCP 的来回时延的当前值是30 ms;现在收到了三个接连的确认报文段,它们比相应的数据报文段的发送时间分别滞后的时间是:26ms,32ms 和24ms;设 =09;试运算每一次的新的加权平均来回时间值 RTTs;争论所得出的结果;答: a=0.1, RTTO=30 RTT1=RTTO*1-a +26*a=29.6 RTT2=RTT1*a+321-a=29.84 RTT3=RTT2*a+24 (1-a)=29.256 三次算出加权平均来回时间分别为29.6,29.84 和 29.256ms;535可以看出, RTT 的样本值变化多达20%时,加权平均来回5 段链路程中有2 段是卫试运算一个包括5 段链路的运输连接的单程端到端时延;星链路, 有 3 段是广域网链路; 每条卫星链路又由上行链路和下行链路两部分组成;可以取这两部分的传播时延之和为 250ms;每一个广域网的范畴为 1500km,其传播时延可按 150000km s来运算;各数据链路速率为 48kbs,帧长为 960 位;答: 5 段链路的传播时延=250*2+ (1500/150000)*3*1000=530ms 5365 段链路的发送时延=960/(48*1000 )*5*1000=100ms 150ms;所以 5 段链路单程端到端时延=530+100=630ms 重复 5-35 题,但假定其中的一个陆地上的广域网的传输时延为答: 760ms 537在 TCP 的拥塞掌握中,什么是慢开头、拥塞防止、快重传和快复原算法. .这里每一种算法各起什么作用. “ 乘法减小 ” 和“ 加法增大 ” 各用在什么情形下答:慢开头:在主机刚刚开头发送报文段时可先将拥塞窗口 cwnd 设置为一个最大报文段 MSS的数值; 在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个 MSS 的数值;用这样的方法逐步增大发送端的拥塞窗口 加合理;拥塞防止:cwnd,可以分组注入到网络的速率更当拥塞窗口值大于慢开头门限时,停止使用慢开头算法而改用拥塞防止算法;拥塞防止算法使发送的拥塞窗口每经过一个来回时延RTT 就增加一个MSS 的大小;快重传算法规定:发送端只要一连收到三个重复的ACK即可肯定有分组丢失了,就应当立刻重传丢手的报文段而不必连续等待为该报文段设置的重传计时器的超时;快复原算法:当发送端收到连续三个重复的 ACK 时,就重新设置慢开头门限 ssthresh 与慢开头不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为 ssthresh 如收到的重复的 AVK 为 n 个( n>3),就将 cwnd 设置为 ssthresh 如发送窗口值仍容许发送报文段,就按拥塞防止算法连续发送报文段;如收到了确认新的报文段的 乘法减小:ACK ,就将 cwnd 缩小到 ssthresh 名师归纳总结 - - - - - - -第 8 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆是指不论在慢开头阶段仍是拥塞防止阶段,只要显现一次超时(即显现一次网络拥塞),就把慢开头门限值ssthresh 设置为当前的拥塞窗口值乘以0.5;当网络频繁显现拥塞时,组数;加法增大:ssthresh 值就下降得很快,以大大削减注入到网络中的分是指执行拥塞防止算法后,在收到对全部报文段的确认后(即经过一个来回时间),就把拥塞窗口 cwnd 增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早显现拥塞;538设 TCP 的 ssthresh的初始值为8单位为报文段 ;当拥塞窗口上升到12 时网络发生了超时, TCP 使用慢开头和拥塞防止;试分别求出第1 次到第 15 次传输的各拥塞窗口大小;你能说明拥塞掌握窗口每一次变化的缘由吗?答:拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2, 4,6,7,8, 9. 539TCP 的拥塞窗口cwnd 大小与传输轮次n 的关系如下所示:37 38 39 cwnd 1 2 4 8 16 32 33 34 35 36 n 1 2 3 4 5 6 7 8 9 10 11 12 13 cwnd 40 41 42 21 22 23 24 25 26 1 2 4 8 n 14 15 16 17 18 19 20 21 22 23 24 25 26 (1)试画出如图5-25 所示的拥塞窗口与传输轮次的关系曲线;(2)指明 TCP 工作在慢开头阶段的时间间隔;(3)指明 TCP 工作在拥塞防止阶段的时间间隔;(4)在第 16 轮次和第22 轮次之后发送方是通过收到三个重复的确认仍是通过超市检测到丢失了报文段?(5)在第 1 轮次,第 18 轮次和第 24 轮次发送时,门限(6)在第几轮次发送出第 70 个报文段?ssthresh分别被设置为多大?(7)假定在第 26 轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口 cwnd 和门限 ssthresh应设置为多大?答:(1)拥塞窗口与传输轮次的关系曲线如下列图(课本后答案):(2) 慢开头时间间隔: 【1,6】和【 23,26】(3) 拥塞防止时间间隔: 【6,16】和【 17,22】(4) 在第 16 轮次之后发送方通过收到三个重复的确认检测到丢失的报文段;在第22 轮次之后发送方是通过超时检测到丢失的报文段;(5) 在第 1 轮次发送时,门限 ssthresh 被设置为 32 在第 18 轮次发送时,门限 ssthresh 被设置为发生拥塞时的一半,即 21. 在第 24 轮次发送时,门限 ssthresh 是第 18 轮次发送时设置的 21 (6) 第 70 报文段在第 7 轮次发送出;(7) 拥塞窗口 cwnd 和门限 ssthresh 应设置为 8 的一半,即 4. 540 TCP 在进行流量掌握时是以分组的丢失作为产生拥塞的标志;有没有不是因拥塞而引起的分组丢失的情形 .如有,请举出三种情形;答:名师归纳总结 - - - - - - -第 9 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆当 Ip 数据报在传输过程中需要分片,但其中的一个数据报未能准时到达终点,而终点组装IP 数据报已超时, 因而只能丢失该数据报;IP 数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃;541用 TCP 传送 512 字节的数据; 设窗口为100 字节,而 TCP 报文段每次也是传送100字节的数据;再设发送端和接收端的起始序号分别选为100 和 200,试画出类似于图 5-31 的工作示意图;从连接建立阶段到连接释放都要画上;542在图 5-32 中所示的连接释放过程中,主机B 能否先不发送ACK=x+1 的确认 . 因为后面要发送的连接释放报文段中仍有 答:ACK=x+1 这一信息 假如 B 不再发送数据了,是可以把两个报文段合并成为一个,即只发送FIN+ACK 报文段;但假如 B 仍有数据报要发送,而且要发送一段时间,那就不行,由于 A 迟迟收不到确认,就会以为刚才发送的 FIN 报文段丢失了, 就超时重传这个FIN 报文段,铺张网络资源;543在图 5-33中,在什么情形下会发生从状态LISTEN到状态 SYN_SENT ,以及从状态 SYN_ENT 到状态 SYN_RCVD的变迁 . 答:当 A 和 B 都作为客户,即同时主动打开TCP 连接;这时的每一方的状态变迁都是: CLOSED-SYN-SENT-SYN-RCVD-ESTABLISHED 544 试以详细例子说明为什么一个运输连接可以有多种方式释放;可以设两个相互通信的用户分别连接在网络的两结点上;答:设 A,B 建立了运输连接;协议应考虑一下实际可能性:A 或 B 故障,应设计超时机制,使对方退出,不至于死锁;A 主动退出, B 被动退出B 主动退出, A 被动退出545说明为什么突然释放运输连接就可能会丢失用户数据,而使用TCP 的连接释放方法就可保证不丢失数据;答:当主机 1 和主机 2 之间连接建立后, 主机 1 发送了一个 TCP 数据段并正确抵达主机 2,接着主机 1 发送另一个 TCP 数据段,这次很不幸, 主机 2 在收到其次个 TCP数据段之前发出了释放连接恳求,假如就这样突然释放连接,明显主机 1 发送的第二个 TCP 报文段会丢失;而使用 TCP 的连接释放方法,主机 2 发出了释放连接的恳求,那么即使收到主机 1的确认后, 只会释放主机 2 到主机 1 方向的连接, 即主机 2 不再向主机 1 发送数据,而仍旧可接受主机1 发来的数据,所以可保证不丢失数据;546试用详细例子说明为什么在运输连接建立时要使用三次握手;说明如不这样做可能会显现什么情形;名师归纳总结 - - - - - - -第 10 页,共 11 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆答:3 次握手完成两个重要的功能,既要双方做好发送数据的预备工作(双方都知道彼此已预备好) ,也要答应双方就初始序列号进行协商,被发送和确认;这个序列号在握手过程中假定 B 给 A 发送一个连接恳求分组,A 收到了这个分组,并发送了确认应答分组;根据两次握手的协定,A 认为连接已经胜利地建立了,可以开头发送数据分组;可是, B 在 A 的应答分组在传输中被丢失的情形下,将不知道 A 是否已预备好,不知道 A 建议什么样的序列号,B 甚至怀疑 A 是否收到自己的连接恳求分组,在这种情形下, B 认为连接仍未建立胜利,将忽视 认应答分组;A 发来的任何数据分组,只等待连接确而 A 发出的分组超时后,重复发送同样的分组;这样就形成了死锁;547一个客户向服务器恳求建立TCP 连接;客户在TCP 连接建立的三次握手中的最终一个报文段中捎带上一些数据,恳求服务器发送一个长度为L 字节的文件;假定:(1)客户和服务器之间的数据传输速率是 R 字节 /秒,客户与服务器之间的来回时间是 RTT (固定值);(2)服务器发送的TCP 报文段的长度都是M 字节,而发送窗口大小是nM 字节;(3)全部传送的报文段都不会出错(无重传)准时发送确认;,客户收到服务器发来的报文段后就( 4)全部的协议首部开销都可忽视,全部确认报文段和连接建立阶段的报文段的长度都可忽视(即忽视这些报文段的发送时间);试证明, 从客户开头发起连接建立到接收服务器发送的整个文件多需的时间 T 是:T=2RTT+L/R 当 nM>RRTT+M 或 T=2RTT+L/R+K-1M/R+RTT-nM/R 当 nM<RRTT+M 其中, K=L/nM ,符号 x表示如 x 不是整数,就把 x 的整数部分加 1;解:发送窗口较小的情形,发送一组 续发送;共需 K=L/nM 个周期:其中nM 个字节后必需停顿下来,等收到确认后继前 K-1 个周期每周期耗时 M/R+RTT, 共耗时( K-1 )(M/R+RTT )第 K 周期剩余字节数 Q=L- (K-1 )*nM ,需耗时 Q/R 总耗时 =2*RTT+K-1M/R+RTT+Q/R=2*RTT+L/R+K-1 M/R+RTT-nM/R 名师归纳总结 - - - - - - -第 11 页,共 11 页