1、计算机网络课程作业与参考答案一、计算机网络基本概念1在 OSI 的第几层分别处理下面的问题?a. 将待传送的比特流化分成帧 b. 决定使用哪一条路径通过子网c. 传输线路上的位流信号同步d. 两端用户间传输文件2一个系统的协议结构有 N 层。应用程序产生 M 字节的报文。网络软件在每层都加上 h 字节长的协议头。那么,网络带宽中有多大比率用于协议头信息的传输?3有确认服务和无确认服务之间的差别是什么?在下列情况下,请说出哪些可能是有确认服务或无确认服务?哪些两者皆可?哪些两者皆不可?a. 连接建立b. 数据传输c. 连接释放4参照下图回答问题。图中的每个方框表示一个网络结点。以星号标注的圆圈表
2、示你的终端。a.你的本地结点是哪一个?b.哪些结点是你的本地结点的相邻结点?c.对你的本地结点来说,哪些结点是远程结点?d.哪些结点是终端结点(END NODES)?e.哪些结点是路由结点(ROUTING NODES)?f.从结点 F 到 G 的最短通路有多少跳段(HOPS)?习题解答1a.第二层(数据链路层)将待传输的比特流化分为帧b.第三层(网络层)决定使用哪条路径通过子网c.第一层(物理层)d.第七层(应用层)2总共有 N 层,每层加 h 字节,在每个报文上附加的头字节的总数等于 hN,因此,头消耗的有关空间所占的网络带宽的比率为 hN/(M+hN) 。3在有确认服务中,作为对请求原语的
3、反应,接收方要发出一个明确的响应原语。具体的说,有确认服务包括请求,指示,响应和证实 4 个原语,而无确认服务则只有请求和指示 2 个原语。连接服务总是有确认服务,因为远程对等实体必须同意才能建立连接。在所给出的 3 个例子中,a 必须是有确认服务;取决于网络设计者的选择,b 和 c 可以是有确认服务,也可以是无确认服务。4 a. Cb. A 和 Gc. A,B,D,E,F,G 和 Hd. D,F,G 和 He. A,B,C 和 Ef. 5二、物理层1一个用于发送二进制信号的 3kHz 信道,其信噪比为 20dB,可以取得的最大数据速率是多少?2比较在一个电路交换网和在一个(负载轻的) 分组交
4、换网上将 x(bit)报文沿 k 个跳段传输的通路传输的延迟.假定电路建立时间是 s,每跨段上的传输延迟为 d,分组大小为 p(bit),数据传输速率是 b(b/s).在什么情况下 ,分组交换网的延迟更短?(忽略分组头的开销)3在两个 DTE 之间传送 1000bit 的数据块.试对下列类型的链路分别计算传播延迟对发射延迟的比率.a. 100m 的双绞线和 10kb/s 的发射速率.b. 10km 的同轴电缆和 1Mb/s 的发射速率.c. 50000km 的自由空间 (卫星链路)和 10Mb/s 的发射速率。假定在每种类型的电缆内电信号的传播速率时 2 108 m/s,在自由空间内信号的传播
5、速率时3 108m/s。参考答案1 20=10lg100仙农极限是 3log(1+100 ) =36.66=19.98kb/s奈魁斯特极限是 6kb/s显然,瓶颈是奈魁斯特极限,最大数据速率是 6kb/s。2对于电路交换,t=s 时电路就会建立起来;t=s+x/b 时报文的最后一位发送完毕;t=s+x/b+kd 时报文到达目的地。而对于分组交换,最后一位在 t=x/b 时发送完毕。为到达最终的目的地,最后 1 个分组必须被中间的路由器重发 k-1 次,每次重发花时间 p/b(一个分组的所有比特都接收齐了,才能开始重发,因此最后 1 位在每个中间结点的停滞时间为最后一个分组的发送时间) ,所以总
6、的延迟为:x/b+(k-1)p/b+kd为使分组交换比电路交换快,令:x/b+(k-1)p/b+kd (k-1)p/b当满足此条件时,分组交换网得延迟更短。3 (a) TP = S / V = 100 /2108 = 510-7 sTX = N / R = 1000 / 10103 = 0.1 sa = TP / TX = 510-7 / 0.1 = 510-6(b) TP = S / V = 10103 / 2108 = 510-5 sTX = N / R = 1000 / 1106 = 110-3 sa = TP /TX = 510-5 / 110-3 = 510-2(c) TP = S
7、/ V = 5107 / 3108 = 1.6710-1 sTX = N / R = 1000 / 10106 = 110-4 sa = TP / TX = 1.6710-1 /110-4 = 1.67103三、数据链路层1为提供比使用单个奇偶位可能得到的更大可靠性,一种检错编码方案使用一个奇偶位检测所有的奇数位,用第二个奇偶位检测所有的偶数位。那么此代码的海明距离时多少?2信息有效数据 m 是每个字符用 7bit 字节编码的 ASCII 码串“well ”,即 m 长 28 位,其中,w=1110111,e=1100101,l=1101100,取多项式 CRC-12=X 做循环冗余检验编码,
8、求该码串的冗余部分 r(要求写出主要的计算步骤) 。3一个信道的比特率是 4kb/s,传输延迟为 20ms,那么帧的大小在什么范围内,停 -等协议才有至少 50%的效率?4一个 3000km 长的 T1 干线被用来传输采取后退 n 帧错误重传滑动窗口协议的长度都是 64 字节的数据链路帧。如果传播速度是每公里 6 微秒,那么序列号应该是多少位?5假定在一条无错线路上运行采用选择性重传的滑动窗口协议,线路速率是 1Mb/s,最大帧长度是 1000bit。每一秒产生一个新帧。超时间隔是 10ms。如果删除 ACK 超时机制,将会发生不必要的超时事件。平均每个报文要传送多少次?6在一个 1Mb/s
9、的卫星信道上发送 1000bit 长的帧。确认总是捎带在数据帧中。帧头很短,使用 3 位序列号。对以下协议而言,可以取得的最大信道利用率是多少?(a)停- 等协议(b)回退 N 滑动窗口协议(c)选择性重传滑动窗口协议7使用选择性重传滑动窗口协议,在有重负载的 50kb/s 的卫星信道上,传输包括 40位的头部和 3960 个数据位的数据帧,ACK 帧从未发生过,NAK 帧长 40 位,数据帧的错误率是 1%,NAK 的传输错误率可忽略不计,序列号长度是 8 位。试计算花在开销(头和重传)上的带宽的比例。8使用一个 64kb/s 的无错卫星通道发送 512 字节的数据帧(在一个方向上) ,而在
10、另一个方向上返回很短的确认帧。对于窗口大小 1,7,15,和 127 的最大吞吐率是多少?参考答案: 1. 由于奇偶位性质,对任何有效码字做一个改变不会产生另一个有效码字。对偶数位做两个改变或对奇数位做两个改变将产生另一个有效码字,因此海明距离是 2。2. 用被除数 = 1110111 1100101 1101100 1101100 000000000000除数 = 1100 0000 01111做二进制除法,得到商 = 1011010 1010101 1001000 1010110余数 r = 1111 0001 0010,因此该码串的冗余部分 r 就等于 1111 0001 00103.
11、当发送一帧的时间等于信道的传播延迟的 2 倍时,信道的利用率是 50%。或者说,当发送一帧的时间等于来回路程的传播延迟时,效率将是 50%。20ms2 = 40ms现在发送的速率是每秒 4000bit,即发送一位需 0.25ms40ms0.25ms/bit = 160bit所以当帧大于 160 位停-等协议才有至少 50%的效率。4.为了有效运行,序列空间(实际就是发送窗口的大小)必须足够大,以允许发送方在收到第 1 个确认应答之前可以不断发送。63000 = 18000 us 传播时间是 18000us,即 18ms。在 T1 速率,即:8248000 = 1.536106b/s (不包括每
12、个物理帧中的 1 个帧位)发送 64 字节的帧需花时间:6481.536333 us, 即 0.333 ms, 约等于 0.3ms。因此,第一个帧从开始发送起,18.3ms 后完全到达接收方。确认应答又花了回程18ms 加上很少的(可以忽略)发送时间,就可以完全收到。这样,加在一起的总时间为 36.3ms。发送方应该有足够的窗口空间,从而能够连续发送 36.3ms。36.30.3 = 121也就是说,为充满管道需要 121 帧,因此序列号应该是 7 位。5. 发送 1 位用时间 1us,发送 1000bit 的最长帧花时间 1ms。由于超时间隔是 10ms,而 1s才能产生一个新的数据帧,所以
13、超时是不可避免的。假定 A 站向 B 站发送一个帧,正确到达接收方,但较厂时间无反向交通。不久,A 站发生超时事件,导致重发已发过的一帧。B站发现收到的帧的序列号错误,因为该序列号小于所期待接收的序列号。因此 B 站将发送一个 NAK,该 NAK 会携带一个确认号,导致不再重发该帧。结果是,每个帧都被发送两次。6. 对应三种协议的窗口大小值分别是 1,7 和 4。使用卫星信道端到端的传输延迟是 270ms。以 1Mb/s 发送, 1000bit 长的帧的发送时间是 1ms。我们用 t = 0 表示传输开始时间,那么在 t = 1ms 时,第一帧发送完毕。 t = 271ms,第一帧完全到达接收
14、方。t = 272ms 时,对第一个帧的确认帧发送完毕。 t = 542ms 时带有确认的帧完全到达发送方。因此周期是 542ms。如果在 542ms 内可以发送 k 个帧, (每个帧发送用1ms 时间) ,则信道的利用率是 k/542,因此:(a)k = 1,最大信道利用率 = 1/542 = 0.18%(b)k = 7,最大信道利用率 = 7/542 = 1.29%(c)k = 4,最大信道利用率 = 4/542 = 0.74%7. 使用选择性重传滑动窗口协议,序列号长度是 8 位。窗口大小为 282 = 128。卫星端到端的传输延迟是 270ms。以 50kb/s 发送,4000bit(
15、3960+40 = 4000)长的数据帧的发送时间是0.024000 = 80ms。我们用 t = 0 表示传输开始时间,那么在 t = 80ms 时,第一帧发送完毕。t =279+80 = 350ms 时,第一帧完全到达接收方。t = 350+80 = 430ms 时,对第一帧做捎带确认的反向数据帧可能发送完毕。t = 430+270 = 700ms 时,带有确认的反向数据帧完全到达发送方。因此周期是 700ms。在 700ms 内可以发送 128 帧, 80ms128 = 1024ms。显然,1024ms700ms 意味着传输管道总是充满的。每个帧重传的概率是 0.01,对于 3960 个
16、数据位,头位开销 40 位,平均重传位数是 40000.01 = 40 位,传送 NAK 的平均位数是401/100 = 0.40 位,所以每 3960 个数据位的总开销是 80.4 位。因此开销所占带宽比例等于 80.4(3960+80.4) 1.99% 。8. 使用卫星信道端到端的传输延迟是 270ms,以 64kb/s 发送, 512 字节长的数据帧占据通道的时间是 512864000 = 64ms。我们用 t = 0 表示传输开始时间,那么在 t = 64ms 时,第一帧发送完毕。t = 64+270 = 334,第一帧完全到达接收方,并开始返回很短的确认帧(发射时间忽略不记) ,t
17、=334+270 = 604ms,确认帧完全到达发送方。因此,周期等于 604ms,我们需要窗口大小为60464 9 个帧才能保持通道的不空。对于窗口值 1,每 604ms 可发送 4096 位,吞吐率为 40960.604 6781b/s。对于窗口值 7,吞吐率为 67817 = 47637b/s,约为 47.5kb/s。对于窗口值超过 9 帧, (包括 15 帧和 127 帧的情况) ,吞吐率达到完全速率 64kb/s。四、介质访问子层1.一组 N 个站点共享一个 56kb/s 的纯 ALOHA 信道。每个站点平均每 100 秒输出一个1000bit 的帧,即使前一个帧还没有发送完也依旧进
18、行。N 的最大值是多少?2.一个 1km 长的 10Mb/s 的 CSMA/CD 局域网(不是 802.3) ,其传播速度是每微秒 200米。数据帧的长度是 256bit,其中包括用于帧头部,检验和以及其他开销的 32bit。传输成功后的第一个时槽被留给接收方,用来捕获信道并发送一个 32bit 的确认帧。假定没有冲突发生,有效数据速率(不包括开销)是多少?3.有一个重负荷的 1km 长的 10Mb/s 的令牌环网,其传输速率是 200 米每微秒,50 个站空间上均匀绕环分布。数据帧 256 位,其中包括 32 位开销,确认应答捎带在数据帧中,因此是包括在数据帧内备用的位中,而不占用额外的时间
19、。令牌是 8 位。请问,这个环的有效数据速率比 CSMA/CD 网是高还是低?4.一个用作城域网的光纤令牌环长 200km,并且以 100Mb/s 速率运行。在发送一帧之后,一个站在重新产生令牌之前把该帧从环上清除。在光纤中的信号传播速率示每秒 20万 km,且最大帧长 1000 字节。问该环的最大效率示多少?(忽略所有其他的开销来源)5.一个大学计算机系由 3 个以太子网用两个透明网桥连成一个线形网络。有一天,管理员有事临时由他人代替,这个新的管理员注意到网络两端没连,便用一个新的透明网桥进行连接组成一个环。请问回发生什么情况? 参考答案:1对于纯 ALOHA,可用的带宽是: 0.18456
20、Kb/s=10.304b/s每个站需要的带宽是: 1000100=10b/s因此, N=10304101030所以,最多可以有 1030 个站,即 N 的最大值是 1030。2电缆的来回路程传播时间是 10us(=10002002) 。一个完整的传输有 4 个阶段:发送方获取电缆(10us) ; 发送数据帧(25.6us) ;接收方获取电缆(10us) ; 发送确认帧(3.2us) 。4 个阶段的时间总和是 48.8us,在这期间共发送 224 个数据比特。22448.84.6Mb/s。因此,有效数据速率约为 4.6Mb/s。3从获取到令牌的时刻开始计量,发送一个分组需要 0.1256 = 2
21、5.6us。此外,必须发送一个令牌,需要 0.18 = 0.8us 的时间。令牌必须传输 20(=100050)m ,经过时间20200 = 0.1us 才能到下一站。此后,下一站又可以再发送数据帧。因此,我们在26.5(=25.6+0.8+0.1)us 内发送了 224(=256-32)位的数据,数据速率等于22426.58.5Mb/s,而 10Mb/s 的 CSMA/CD 在重负荷 50 个站的情况下的有效数据率不超过 3Mb/s。显然,该令牌环强于以太网的有效带宽。4由环长 200km 和传播速率每秒 20 万 km,可知 1bit 绕环一周的时间是200(2010 4) = 10-3s
22、,即 1ms。发送速率是 100Mb/s,因此发送 1bit 的时间是 0.01us。发送最长帧 1000 字节需要的时间是 0.0110008 = 80us,即 0.08ms。当一个站抓到了令牌时,它发送数据帧用 0.08ms,然后等待最后 1 位绕环一周用 1ms。当它再放出一个闲令牌时,下一站通过把令牌中的 1 个令牌位置 1 就可以立即把该令牌转换成一个常规数据帧的开头 3 个字节,从而又抓住了令牌,开始发送数据帧。5将不会发生什么特殊情况。新的桥接器在网上宣告自己的存在,生成树算法为新的配置计算一个生成树。新的拓扑会把其中的一个桥接器设置成备用方式,它将在其他桥接器失效的情况下投入工
23、作。这种类型的配置以附加的代价提供附加的可靠性,但并非不正常。它不会引起任何的问题,因为无论你连接多少个桥接器,结果总是以生成树的形式运行网络。五、网络层1考虑下图所示的子网。使用距离向量路由选择,下列向量刚刚被路由器 C 收到:来自 B:(5,0,8, 12,6,2)来自 D:(16,12,6 ,0,9,10)来自 E:(7,6,3,9,0,4)路由器 C 测量得到的到达 B,D ,和 E 的延时分别等于 6,3 和 5。试问路由器 C 的新的路由表是什么?请给出所使用的输出线路和所预期的延时。2一个 6Mb/s 网络上的一台计算机受到令牌桶的交通管制。假定令牌填入速率为 1Mb/s,开始时
24、漏桶装填的容量是 8Mb。那么,计算机可以用完全速率 6Mb/s 发送多长时间?3 假定 IP 的 B 类地址不是使用 16 位而是使用 20 位作为 B 类地址的网络号部分,那么将会有多少个 B 类网络?4 在因特网上的一个 B 类网络具有子网掩码 255.255.240.0。问每个子网中的最大主机数目是多少?参考答案:1通过 B 给出(11,6,14, 18,12,8 )通过 D 给出( 19,15,9,3,12,13) 通过 E 给出(12,11,8,14,5,9)取到达每一目的地的最小值(C 除外)得到:(11,6,0,3,5,8)输出线路是:(B,B,-,D,E,B)2我们使用公式
25、S = C/(M-P) ,这里的 S 表示以秒计量的突发时间长度, M 表示以每秒字节计量的最大输出速率,C 表示以字节计量的桶的容量,P 表示以每秒字节计量的令牌到达率。将 C = 81068 =106,M = 610 68,P = 11068 代入公式得到: S = 1.6s。因此,计算机可以用完全速率 6Mb/s 发送 1.6s 的时间。3除去 2 位作为前缀,将剩下的 18 位表示网络。从概念上讲,网络数目可以有 218 个,即 262144 个。然而全 0 和全 1 是特别地址,所以只有 262142 个可提供分配。4对于一个 B 类网络,高端 16 位形成网络号,低端 16 位是子
26、网或主机域。在子网掩码的低端 16 位中,最高有效 4 位是 1111,因此剩下 12 位(第 3 字节低 4 位和第 4 字节)用于主机号。因此,存在 4096 个主机地址,但由于然而全 0 和全 1 是特别地址,因此最大主机数目是 4094 个。六、传输层1 数据报的分片和重组由 IP 控制,并且对于 TCP 不可见。这是不是意味着 TCP 不必担心到达数据的失序问题?2一台 TCP 机器在 1Gb/s 的通道上使用 65535 字节的发送窗口,单程延迟时间等于10ms。问可以取得的最大吞吐率是多少?线路效率是多少?3考虑在一条具有 10ms 来回路程时间的线路上采用慢启动拥塞控制而不发生
27、网络拥塞情况下的效应。接收窗口 24KB,且最大段长 2KB。那么,需要多长时间才能够发送第一个完全窗口?4假定 TCP 拥塞窗口被置成 18K 字节,并且发生了超时事件。如果接着的 4 个突发量传输都是成功的,那么该窗口将是多大?假定最大报文段长度是 1KB。5一个 TCP 链接使用 256kb/s 的链路,其端到端延时为 128ms。经测试发现吞吐量只有128kb/s。试问窗口大小是多少?忽略 PDU 封装的协议开销以及接收方应答分组的发射时间(假定应答分组长度很小) 。参考答案1尽管到达的每个数据报都是完整的,但可能到达的数据报顺序是错误的,因此,TCP 必须准备适当地重组报文的各个部分
28、。210ms2=20ms每 20ms 可以发送一个窗口大小的交通量,每秒 50 个窗口(100020=50 ) 。65535850=26.214Mb/s26.214Mb/s 1000Mb/s=2.6%所以,最大吞吐率是 26.214Mb/s,线路效率约为 2.6%。3慢启动拥塞控制考虑了两个方面的问题,即网络容量和接收方容量,并且分别处理了每一个问题。为此,每个发送方都维持两个窗口,即接收方准许的窗口和拥塞窗口。发送方可以发送的字节数是这两个窗口中的最小值。当建立一条连接的时候,发送方把拥塞窗口初始化为在该连接上使用的最大报文段尺寸,然后它发送一个最大报文段。如果这个报文段在超时之前得到确认,
29、发送方就把拥塞窗口增加到两个最大报文段长,并发送两个报文段。当发出的每个报文段被确认时,拥塞窗口都要增加一个最大报文段长。因此,当拥塞窗口是 n 个报文段时,如果所有 n 个报文段都及时得到确认,那么拥塞窗口将增加相当于 n 个最大报文段的字节数。事实上,每一次突发性连续报文段都会使拥塞窗口加倍。拥塞窗口继续按指数型增长,直到超时发生,或者到了接受方窗口的边界。其思想是,如果突发量 1024,2048 和 4096 字节工作得很好,但 8192 字节的突发量引起超时,那么,拥塞窗口应该设置为 4096 以避免拥塞。只要拥塞窗口保持在 4096,不管接受方准许什么样的窗口空间,都不会发送大于 4
30、096 字节的突发量。这种算法就被称为慢启动。当然,它根本不是慢的意思。现在所有的 TCP 实现都需要支持这个算法。现在,最大的段长是 2KB,开始的突发量分别是 2K,4K,8K 和 16K 字节,下面是 24KB,即第一个完全窗口。10ms4=40ms。因此,需要 40ms 才能发送第一个完全窗口。4在 Internet 的拥塞控制算法中,除了使用慢启动的接收窗口和拥塞窗口外,还使用第 3个参数,即门槛值,开始置成 64K。当发生超时的时候,该门槛值被设置成当前拥塞窗口值的一半,而拥塞窗口则重置成一个最大报文段长。然后再使用慢启动的算法决定网络可接受的突发量,一直增长到门槛值为止。从这一点
31、开始,成功的传输线性地增加拥塞窗口,即每一次突发传输后只增加一个最大报文段,而不是每个报文段传输后都增加一个最大报文段的窗口值。现在由于发生了超时,下一次传输将是 1 个最大报文段,然后是 2 个,4 个和 8个最大报文段,所以 在 4 次突发量传输后,拥塞窗口将是 8K 字节。5来回路程的时延等于 256ms(1282) 。设窗口值为 X(注意:以字节为单位)假定依次最大发送量等于窗口值,且发送时间等于 256ms,那么每发送依次都得停下来期待再次得到下一窗口的确认,以得到新的发送许可。这样,发送时间等于停止等待应答的时间,结果,测到的平均吞吐率就等于发送速率的一半,即 128ms。8X(2561000)=2560.001X=25610002560.0018=25632=8192所以,窗口值为 8192。