ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:66.38KB ,
资源ID:157436      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/157436.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(马宏伟《计算机网络A》Chapter3-作业解答.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

马宏伟《计算机网络A》Chapter3-作业解答.docx

1、第三章 作业及解答1. 两个应用进程使用 UDP 交换数据。设发送端传输三个字节数据给接收端进程,三个字节数据为:(01010101 10101010 00110011)2。假设发送端进程的端口号为 1024,接收端进程的端口号为 80。为简化问题,我们假设只有 UDPSegment 的头部和数据两部分参与校验和的计算(实际上,UDP 校验和计算中还包括一个伪头部)。1) 以十六进制形式描述计算校验和之前的 UDPSegment。注意,UDPSegment 总长度必须是偶数。不足的,补一个全零字节。答:根据 RFC768-User Datagram Protocol 规定,如果 UDP Seg

2、ment 的总长度为奇数字节,需要补一个全零的填充字节,以使参与 Checksum 运算的字节数为偶数。但 UDP Segment 头部的 Length 字段的值为 Segment 的实际长度,并不包含这个填充字节(填充字节只用做 Checksum 计算)。源端口号为 1024,即(00000100 00000000)2,(0400)hex;目的端口号为 80,即(00000000 01010000)2,(0050)hex;长度为 11 字节(8 字节头部,3 字节数据),即(0000000000001011)2,(000B)hex;Checksum 全为 0,即(00000000 00000

3、000)2,(0000)hex; 三字节数据加上一个填充字节,Segment 的数据部分为(01010101 10101010 00110011 00000000)2,(55AA3300)hex因此,在计算 Checksum 前,Segment 的十六进制形式为:04000050000B000055AA33002) UDP Segment 校验和的计算过程及结果。00000100 00000000源端口号00000000 01010000目的端口号00000100 0101000000000000 00001011Segment 长度答: 第一步,求和:00000100 01011011000

4、00000 00000000校验和字段(其实加不加对结果没影响)00000100 0101101101010101 10101010前两个字节的数据01011010 0000010100110011 00000000第三字节数据和填充字节10001101 00000101第二步:对和按位取反,得到校验和:0111001011111010 注意:UDP 计算 checksum 的方法如下:1) 决定是否需要在数据最后添加一个全 0 字节,以便使 UDPSegment 的总长度为偶数字节。但添加的这个字节并不计入总长度;2) Checksum 字段的值初始化为(0000) hex;3) 将整个 S

5、egment(包含头部和数据)分成 2 字节(16 位)的单元;4) 求所有 2 字节单元的和,产生的进位要加在和上;5) 将最终求得的和按位取反,得到 checksum。2. 假设,主机 C 中 Web 服务器进程的端口号为 80,该 Web 服务器使用持续(persistent)连接,正在接收来自不同主机 A 和 B 的请求。这些请求是被发向主机 C 的同一个 Socket 吗?如果是发向不同的 Socket,这些 Socket 均使用端口80 吗?讨论并解释。答:对于每个持续连接,Web 服务器将创建单独的“connection socket”。每个connection socket 由

6、四元组(源地址,源端口号,目的地址,目的端口)标识。当主机 C 收到一个 IP 数据报(datagram),将检查数据报中这四个字段的值来确定将 Segment 交给哪个 Socket。因此,A 和 B 的请求将被交给不同的 Socket。两个 Socket 的标识有一个共同点:即两个 socket 的目的端口号相同,均为 80,但两个 Socket 的源 IP 地址不同,两个 Socket 的源端口号通常情况也不同(由于这两个 Socket 分别位于主机 A 和 B)。3. 一个简单的同步消息交换协议。考虑两个网络实体(A 和 B)之间使用完美的双向信道连接(发送的任意消息将被正确地接收,分

7、组不会损坏、丢失、乱序)。A 和 B 交替地向对方发送数据消息:最初,A 向 B 发送消息;然后 B 必须向A 发送消息;然后 A 必须向 B 发送消息,以此类推。画出该协议的 FSM(A 和B 分别描述)。不用考虑可靠传输机制,主要描述反映两个实体同步行为的FSM。可以使用下述的事件和动作,它们与课本第 138 页的 rdt1.0 的含义相同。rdt_send(data),packet=make_pkt(data), udt_send(packet); rdt_rcv(packet),extract(packet, data), delver_data(data)。协议必须保证 A 和 B

8、发送消息的严格交替关系,以及指明 A 和 B 的 FSM的初始状态。答:4. 课本第 192 页,习题 14。答:设信道的利用率为 Usender,信道的折返时间为 RTT 秒,分组长度为 L(bits), 信道的传输速率为 R (bps),窗口长度为 N。则信道利用率 Usender 为:U sender= N * L / R RTT + L / R如果要求 Usender=0.9,则 N*L/R/(RTT+L/R)=0.9即:N =0.9(RTT*R/L + 1)根据题意,RTT=30ms=0.03s,分组长度 L 为 8000bits,链路速率为109bps。将这些数值代入上式,得到:N

9、 =0.9(0.03*109/8000+1)N =3375.9因此,如果要使信道利用率超过 0.9,窗口长度至少为 3376 个分组。注意:窗口长度的单位是分组的数量。5. 课本第192 页,习题 18。答:假设窗口长度为 N,本题中 N=3。a) 考虑两种极端情况:(1) 根据题意,Receiver 正在等待第 k 号分组,意味着 k-1 及以前的分组已经被 Receiver 成功收到,并且对第 k-1,k-2,k-3 号的确认已经发送。极端情况下,在时刻 t,Sender 还未收到对 k-1,k-2,k-3 分租的确认。则此时,Sender 窗口中等待确认的分组序号是 k-3,k-2,k-

10、 1;(2) 另外一种极端情况是,假设在时刻 t,Sender 已经收到了对 k-3,k- 2,k-1 号分组的确认。由于窗口大小为 3,Sender 可以再发送 3 个分组,在窗口中的序号便为 k,k+1,k+2。综上,Sender 的发送窗口中的可能分组序号为 k-3,k-2,k-1,k,k+1,k+2。一般化,t 时刻发送窗口中的可能分组序号为K-N,K+N-1中的连续的三个值。b) 根据题意,在 t 时刻,Receiver 希望接收 k 号分组,意味着序号=k-1 的分组均已经被成功收到,并且发送了对序号=k-1 分组的确认。但是, 这些确认可能还在向 Sender 传输的过程中,还没

11、有到达 Sender。因此,正在传输但还未到达 Sender 的 ACK 可能的确认号为 k-3,k-2,k-1。正在向 Sender 返回的 ACK 不可能是对 k-4 号分组的确认。否则,Sender 不可能发送 k-1 号分组,进而 Receiver 不可能正在等待 k 号分组。6. 课本第193 页,习题 23。答:A.32 位序号,最大序号为 232-1=4294967295B. L 的最大值就是 232 字节C. Segment 的数量为: 232 1460 232 因此,附加的头部共长1460 * 66 = 194156028bytes传输的数据和头部总长:232+194,156

12、,028(bytes)=3591*107(bits)在 10Mbps 链路上传输,需要 3591 秒。7. 主机 A 和 B 通过 TCP 连接进行通信。主机 B 已经从 A 收到了序号 144 及以前的所有字节。假设 A 然后向 B 背靠背(连续)发送了两个 segment,其中第一个包含 20 字节的数据,第 2 个包含 40 字节数据。第一个 Segment 的序号为145,源端口号为 303,目的端口号为 80。主机 B 在收到 A 发送的 Segment 后立即发送确认。1) A 向 B 发送的第二个 Segment 的序号、源端口号、目的端口号是多少?答:A 向 B 发送的第二个

13、Segment 的序号为 165,源端口号为 303,目的端口号为 80。2) 如果第一个 Segment 在第二个 Segment 前到达 B,B 发送的确认中,源端口、目的端口和确认号分别为多少?答:收到第一个 Segment 后,B 向 A 发送确认。则该确认的确认号为165,源端口号为 80,目的端口号为 303。3) 如果第二个 Segment 在第一个 Segment 之前到达 B,则接收方 B 对第一个 Segment 的确认中,确认号是多少?答:如果第二个 Segment 先于第一个 Segment 到达 B,则 B 向 A 发送确认的确认号为 145。4) 假设 A 发送的两

14、个 Segment 按顺序到达 B。第一个确认丢失,但第二个确认在第一个 Segment 的超时间隔后到达 A,如下图所示。将下图补充完整,给出所有 segment 和 ACK 的发送和接收情况(假设没有其他的分组丢失)。对每个在图中增加的 Segment,提供其序号、数据长度;对每个添加的 ACK 提供其确认号。答:由于 B 对第一个 Segment 的确认丢失,且对第二个 Segment 的确认在第一个 Segment 超时前没有到达 A。则 A 重传第一个 Segment(在图中增加的一个 Segment,标号为),当 B 收到重传的 Segment 后,会产生一个确认(在图中增加的一个

15、 Segment,标号为)。标号为的 Segment:序号为 145,数据长度为 20 字节; 标号为的 Segment,即 ACK,确认号为 205。8. TCP 的拥塞控制。考虑通过一个无丢失 TCP 连接发送一个大文件的情况。1) 假定 TCP 采用没有慢启动的 AIMD 作为拥塞控制机制。假设每隔RTT,CongWin 增加一个 MSS,且 RTT 时间恒定。则 CongWin 从1MSS 增大到 5MSS 需要多长时间(假设没有丢失,RTT 为常量)?答:发送一个大文件,意味着发送方总是有数据等待传输。假设连接刚建立时的时间为 t,此时,CongWin=1MSS。则: 到 t+RTT 时, CongWin 增大为 2MSS;到 t+2RTT 时,CongWin 增大为 3MSS; 到 t+3RTT 时,CongWin 增大为 4MSS; 到 t+4RTT 时,CongWin 增大为 5MSS。因此,CongWin 从 1MSS 增大到 5MSS 共需要 4RTT 时间。2) 到时间=4RT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1