• 300.16 KB
  • 2022-04-22 11:37:35 发布

《计算机网络自顶向下》课后习题答案(第四章_中文版).pdf

  • 10页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'4复习题1.网络层的分组名称是数据报.路由器是根据包的IP地址转发包;而链路层是根据包的MAC地址来转发包.2.数据报网络中网络层两个最重要的功能是:转发,选路.虚电路网络层最重要的三个功能是:转发,选路,和呼叫建立.3.P200转发是当一个分组到达路由器的一条输入链路时,该路由器将该分组移动到适当的输出链路.选路是当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径.4.是,都使用转发表,要描述转发表,请参考4.2节.在虚电路网络中,该网络的路由器必须为进行中的连接维持连接状态信息。每当跨越一台路由器则创建一个新连接,一个新的连接项必须加到该路由器转发表中;每当释放一个连接,必须从该表中删除该项。注意到即使没有VC号转换,仍有必要维持连接状态信息,该信息将VC号与输出接口号联系起来。每当一个端系统要发送分组时,它就为该分组加上目的地端系统的地址,然后将该分组推进网络中。完成这些无需建立任何虚电路。在数据报网络中的路由器不维护任何有关虚电路的状态信息。每个路由器有一个将目的地址影射到链路接口的转发表;当分组到达路由器时,该路由器使用该分组的目的地址在该转发表中查找适当的输出链路接口。然后路由其将该分组项该输出链路接口转发。虽然在数据报网络中不维持连接状态信息,它们无论如何在其转发表中维持了转发状态信息。在数据报网络中的转发表是由选录算法修改的,通常每1到5分钟左右更新转发表。在虚电路网络中,无论何时通过路由器拆除一条现有的连接,路由器中的转发表就更新。5.P202单个分组:确保交付;具有延时上界的确保交付.分组流:有序分组交付;确保最小带宽;确保最大时延抖动.因特网的网络层不提供这些服务.ATM的CBR(恒定比特率)服务同时提供确保交付和计时.ABR(可用比特率)不提供该假想服务.6.交互式实时多媒体应用,如:IP电话和视频会议.这些应用都得益于ATM的CBR服务的实时性.7.正是由于有影子拷贝,在每个输入端口的转发都由本地决定,而不用调用中心选路处理器.这种分散的转发方式避免了在路由器的某一个节点出现转发处理的瓶颈.8.P211(1)经内存交换:在输入和输出端口之间的交换是在CPU控制下完成的.输入与输出端口的作用就像在传统操作系统中的I/O设备一样.一个分组到达一个输入端口,该端口会先通过中断方式向选路处理器发出信号.于是,该分组就被拷贝到处理器内存中.选路处理器从分组首部中取出目的地址,在转发表中找出适当的输出端口,并将该分组拷贝到输出端口的缓存中.(2)经一根总线交换:输入端口经一根总线将分组直接传送到输出端口,不需要选路处理器的干预.由于总线是共享的,故一次只能有一个分组通过总线传送.(3)经一个互联网络交换:使用一个纵横的网络,是一个由2n条总线组成的互联网络,它将n个输出端口和n个输入端口连接,一个到达某个端口的分组沿着连到输出端口的水平总线穿行,直至该水平总线与连到所希望的输出端口的垂直总线之交点.9.P213如果在输入端口因为交换结构速率慢而引起队列长度的加大,最终将路由器的缓存空间耗尽,就会出现“分组丢失”.如果交换结构速率大于线路速率的n倍(n是输入端口的数量)就可以消除分组丢失的问题.10.因为输出线速率慢而导致输出端队列长度加大,最终将耗尽输出端口的存储空间,在这样的情况下,分组就被丢弃了。11.HOL阻塞是在一个输入队列中的一个分组因为被位于线头的另一个分组阻塞,即使输出端口是空闲的,也必须等待线头分组发送完了才能通过交换结构发送.(中文版P215图4-11)它发生在输入端口.12.有,每个接口都有一个IP地址.13.11011111.00000001.00000011.0001101114.电脑上试验?不会考吧,略„„15.通过8个接口,要检索3次转发表.16.P218首部占50%(一般数据报承载共40字节首部(20字节IP首部加上20字节TCP首部)。17.IP数据报内的8个bit的协议字段包含了目标主机应该将报文段交给传输层哪个协议的信息.18.P225典型的无线路由器都包含一个DHCP(动态主机配置协议)服务,DHCP可以用来为这5台PC机自动分配地址以及路由器接口.是的,无线路由器也用NAT(网络地址转换)来从ISP获得唯一的IP地址.因为处于无线路由器覆盖下的主机的移动性比较大,使用了NAT后使局域网作为一个封闭的网络,其出口IP地址只有一个,在局域网内部NAT路由器在使用DHCP为局域网中的主机分配IP地址。这样处于一个路由器下的主机不会因为主机数的增减而频繁的向ISP申请IP地址。增加了其适用性和扩展性。19.P230流量类型:该8比特字段与我们在IPv4中看到的TOS(服务类型)字段的含义相似。下一个首部:该字段标识该数据报中内容(数据字段)需要交付给那个协议(如TCP或UDP)。该字段使用与IPv4首部中协议字 段相同的值。20.同意,因为整个IPv6数据报(包括首部字段)在通过IPv4隧道时都是被一个IPv4数据报包裹着的.21.链路状态选路算法:是用完整的、全局性的网络信息来计算从源到目的地直接的最低费用路径.距离向量选路算法:以迭代的、分布式的方式计算出最低费用路径,每个节点只能算出到达它要发给分组报文的相邻节点的最低费用路径,然后通过迭代计算出到达目的节点的最低费用路径.22.每个自治系统由一组在相同管理者控制下的路由器组成,在相同的AS内所有路由器运行同样的自治系统内部选路算法.不同AS的网关路由器运行自治系统间选路协议,以决定不同AS之间的选路路由,而AS内部路由器只需要知道到达其它内部路由器以及网关路由器的路由路径,因此网络的规模扩展问题得以解决.23.不必要,每个AS系统都有路由管理自治权(内部运行同样的算法即可).不同AS的网关路由器运行自治系统间选路协议以一决定不同AS之间的选路路由。各个AS内运行不同的自治系统内选路算法不会影响不同AS网关路由器的选路路由。24.注:此题的图应该是P248图4-32、33、34。不会改变.因为来自A的通告告知D如果通过路由器A到达Z需要11跳,而D通过B到达Z只需要7跳,因此没有必要修改转发表中到达Z的相应条目.而如果通告指出A通过C只需要4跳就可以到达Z,那么D的转发表就应该做相应的修改.25.使用OSPF(开放最短路径优先)时,一个路由器周期性向自治系统内所有的其它路由器广播选路信息,而不仅仅是向其相邻路由器广播.这个由路由器发出的路由信息中,该路由器到每个邻近路由器的距离信息都显示为一个相应的条目.使用RIP(选路信息协议)时,一个路由器只向邻近的路由器发送通告,通告中包括该路由器到AS内所有目的子网全部网络的信息(经过哪个路由器,需要多少跳到达目的子网).26.路径上ASs的顺序.27.因为AS内部选路和AS间选路存在选路目标上的差别(1)策略:在AS之间,策略问题时至关重要的,而AS内部,一切都是以相同的管理控制名义进行的,因此策略问题在AS内部不太重要;(2)规模:一个选路算法及其数据结构在处理大量网络的选路或大量网络之间的选路时的适应能力是AS间选路的一个关键问题,而在AS内部,可缩扩性是第二关心的问题;(3)性能:由于AS间选路是面向策略的,因此所用路由质量(如性能)通常是次要关心的问题,而在AS内部,选路要考虑的问题更多的集中在一条路由实现的性能级别上.28.ISPC可以通过BGP的MED建议ISPB从东岸对等点路径到达ISPD.例如,ISPC的东岸BGP路由器可以提供一个到IPSD的MED值为5的路由,而ISPC的西岸可以提供一个到ISPD的MED值为10的路由,由于是基于低代价选择路由,ISPB知道ISPC选择从东岸接收通信.实际上,路由器可以忽略MED值,因此ISPB也可以用热土豆选路法从ISPC的西岸对等点向ISPD发送通信.(以上纯属直译,本人不知所云,晕ing).29.子网:是一个大网络中的一部分,一个子网内是不含路由器的,它的边界由路由器和主机端口决定.前缀:是一个CDIR化的地址的网络部分,地址写成a.b.c.d/x的形式,一个前缀覆盖一个或多个子网.BGP路由:当一个路由器通过BGP会话通告一个前缀时,它随着前缀包括一些BGP属性.用BGP的术语来说,带有属性的前缀被称为一个BGP路由.30.NEXT-HOP属性标明一条给定前缀的通告路径(在AS外接收通告)上的第一个路由器的IP地址.路由器在配置转发表时使用NEXT-HOP属性.AS-PATH:路由器使用AS-PATH属性来检测和防止循环通告,路由器也使用AS-PATH属性对相同的前缀在多条路径中进行选择.31.一个第一层的ISPB不会去传送其它两个第一层ISP(A和C)之间的通信流,这是由于B有同等的协议.要实现这一策略,ISPB不会经过C发送到A路由的通告,也不会经过A发送到C路由的通告.32.N次单播有几个缺点:(1)效率:同一个分组的多份拷贝需经过同一条链路发送到可能的多个链路上.这样,源节点必须生成同一分组的多分拷贝.(2)寻址:源节点必须找到所有接收方的地址.33.(a)无控制洪泛:真;控制洪泛:真;生成树广播:假.(b)无控制洪泛:真;控制洪泛:假;生成树广播:假.34.不用.35.IGMP(互联网组管理协议)是只运行在一台主机和与其直接相连的多播路由器(第一跳多播路由器)之间的协议.IGMP允许一个主机指定(到第一条多播路由器)一个想加入的多播组.然后,该多播路由器与其它多播路由器一起工作(也就是运行一个多播路由协议),以确保主机与所加入组相应的最后一跳路由器之间正常的数据通信.36.一棵组共享树,所有的发送者用同一个路由选择树来发送它们的多播通信.而一棵基于源的树,来自给定源的多播数据报通过一个专门为这个源建立的路由选择树选择路由.如此,每个源都会有一个不同的基于源的树,而路由器必须了解多个所给多播组的基于源的树. 习题1.a.对于一个面相连接的网络来说,路由器故障会影响到这个连接的所有路由.至少需要出现故障的路由器上游的路由器重新建立一个新的到目标节点的下行部分的路径,同时,发出一个信息,该信息包含所有与建立一个新的路径有关要求.而且,先前路径中出现故障的路由器下游的所有路由器都必须拆除这个故障连接,同时发出另一个信息,包含了与所要做的事情有关的所有要求.对于面向无连接的数据报网络来说,不会需要用于建立一个新的下行路径或者拆除一个旧的下行路径信令.然而我们知道,由于要考虑到出故障的路由器,路由表将需要更新(不论是用链路状态算法还是距离向量算法).我们知道运用距离向量算法,我们有时可以把路由表的变化定位在出故障的路由器附近的范围内.因此,数据报网络是更可取的.b.为了让路由器能够确定一条输出链路的延时(或延时的界限),就需要知道通过这条链路传输的所有会话通信的特性.也就是说,路由器必须知道内部每一个会话的状态,这对于一个面相连接的网络是有可以能的,但是对于一个面向无连接的网络则不可能.此时面向连接的网络更加可取.162.a.一个链路能够承载的最大虚电路数量=2=65536b.中心节点可以从0到65535中任取一个VC号.这种情况下,进行中的虚电路数量小于65536而没有相同的未用VC号是不可能的.c.每一个链路可以自由的从0到65535中分配一个VC号.因此,很可能一个虚电路每一个链路在它的路径上都有各不相同的VC号.而虚电路路径上的每一个路由器都需要为到达的分组更换一个与输出链路有关的VC号.3.虚电路转发表中,分别为:入接口,入VC码,出接口,出VC码.数据报网络转发表中,分别为:目标地址,出接口.4.a.不能为新的虚电路分配VC号.4b.每个链路有2个可用的VC号,共4条链路,因此共有2=16种不同的组合.5.在一个虚电路网络中,,存在一条端到端的连接,而这条路径上的每个路由器都必须保持这个连接状态,因此术语称作连接服务.在一个基于无连接网络层的面向连接运输服务中(如基于IP的TCP传输)由终端系统保持连接状态,而路由器并不清楚是怎么样连接的,因此,术语中称作面相连接服务.6.为解释为什么会这样,让我们来看一个实际的设计实例.为简要起见,假设所有的分组都是相同大小的.交换系统是基于时分复用的:时间被分为帧,而每一帧又分为n个时隙,而每个时隙结构中需要交换一个分组,每一条输入线路对应一帧中的一个时隙,由于输入线路中的每一帧最多只有一个分组到达,因此交换结构可以处理每一帧的所有分组.7.前缀匹配接口11100000011100001000000001111000012其它3第一个目的地址:3;第二个:1;的三个:2.8.目标地址范围接口00000000到00111111001000000到01111111110000000到10111111211000000到1111111136每个范围内地址的数量=2=64个9.目标地址范围接口10000000到10111111(64)011000000到11011111(32)111100000到11111111(32)200000000到01111111(128)3P22010.223.1.17.0/25223.1.17.128/26223.1.17.192/2611.目标地址接口 200.23.16/210200.23.24/241200.23.24/212其它312.目标地址接口224/80225.0/161225/82其它313.101.101.101.65到101.101.101.127中任何一个都可以四个子网分别为:101.101.101.64/28;101.101.101.80/28;101.101.101.96/28;101.101.101.112/2814.a.子网A:214.97.255/24(256个地址)子网B:214.97.254.0/25到214.97.254.0/29(128-8=120个地址)子网C:214.97.254.128/25(128个地址)子网D:214.97.254.0/31(2个地址)子网E:214.97.254.2/31(2个地址)子网F:214.97.254.4/30(4个地址)b.为了简要起见,假设没有报文是以路由器为目标终点的,路由器1最长前缀匹配出口110101100110000111111111子网A1101011001100001111111100000000子网D110101100110000111111110000001子网F路由器2最长前缀匹配出口1101011001100001111111100000000子网D1101011001100001111111100子网B1101011001100001111111100000001子网E路由器3最长前缀匹配出口110101100110000111111110000001子网F1101011001100001111111100000001子网E1101011001100001111111101子网C15.P219报文段的最大尺寸为480(20bytesIP首部),因此产生的报文段的个数=[(3000-20)/480]=7([]表示取整)每个报文段都会有一个标识码为422.除了最后一个报文段,每个报文段的大小都为500bytes(包括IP首部).最后一个报文段大小为120bytes(包括IP首部).这7个报文段的偏移量分别为0,60,120,180,240,300,360.前6个报文段flag=1;最后一个报文段flag=0.16.MP3文件大小为4000000bytes.假设用TCP分段传送数据,而每个TCP报文段都会有20bytes的包头,所以每个数据报可以传送1500-40=1460bytes的MP3文件.所需数据报数量=[4000000/1460]=2740个.除了最后一个数据报,其它所有数据报大小都为1500bytes,最后一个数据报为1060+40=1100bytes.偏移量跨度为185.17.a.本地地址:192.168.0.1192.168.0.2192.168.0.3路由器接口地址192.168.0.4NAT转换表WAN侧LAN侧126.13.89.67,4000???192.168.0.1,3345128.119.40.86,4000192.168.0.1,3345128.119.40.86,4001192.168.0.1,3346128.119.40.86,4002192.168.0.2,3445128.119.40.86,4003192.168.0.2,3446 128.119.40.86,4004192.168.0.3,3545128.119.40.86,4005192.168.0.3,354618.a.我们来分析一下当Arnold试图与Bernard建立一个TCP连接的时会发生什么.Arnold发出一个TCPSYN分组,带有目标地址138.76.29.7以及一些目标端口号,如x.当NAT网收到这个TCPSYN分组时,由于没有条目指明如何从WAN侧建立连接,NAT不知道应该将这个分组送到内网的哪个主机.因此,NAT会丢弃这个SYN分组.b.在Arnold和Candy,Candy和Bernard之间已经存在了TCP连接,通过这两个TCP连接,Arnold可以给Bernard发送一条信息,更确切的说,Arnold可以要求Bernard申请建立一条直接从Bernard到Arnold的TCP连接.由于是Bernard要求发起连接,因此,可以经过Barnard的NAT建立这个连接.只要在Arnold和Barnard之间建立了这条直接的TCP连接,Arnold就可以要求Bernard通过这个直接的TCP连接传送文件了.19.不可能设计出这种技术.为了直接在Arnold与Barnard之间建立TCP连接,必须由Arnold和Bernard之一申请建立他们之间的TCP连接,而覆盖Arnold和Bernard的NAT会将从WAN侧到达的SYN分组丢弃,因此如果Arnold和Bernard都在NAT之后,则他们都不能申请建立一个TCP连接.20.21.22. 23. 24.这个问题的用词是模棱两可的.我们对它的理解是“从算法第一次进行计算开始的迭代次数”(也就是说,假设某个节点最初只知道到达它的邻节点的费用).我们假设算法是同步进行的(也就是说,从同一时刻起,所有节点同时计算出它们的距离表,并交换表).每一次迭代,节点与它的邻节点交换距离表.因此,假设你是节点A,你的邻节点是B,在一次迭代之后,所有B的邻节点(都是距离你1到2跳的节点)都会知道通向你的1跳或2跳的最少费用路径(在B告诉它的所有邻节点要到达你所需的费用之后).用d表示网络的直径----网络中任意两个节点之间非环路的最长路径的长度.经过d-1次迭代后,所有的节点都会知道一个到达所有其它节点需要d跳或更少跳的最短路径.由于任何多于d跳的路径必定含有环路(含有环路的路径比不含环路的路径费用更大),因此,该算法最多经过d-1次迭代后结束.另外,除非特别指定了链路费用的限制,否则因为链路费用变化而调用DV算法,不会影响到完成迭代计算所需迭代次数的限制.25.a.Dx(y)=4;Dx(w)=1;Dx(u)=6.b.首先考虑如果c(x,y)变化.不论c(x,y)变大或者变小(只要c(x,y)大于0),从x到u的最小费用路径仍然为经过W,所需费用为6.所以,c(x,y)发生变化x不用通知任何邻节点发生了变化.现在考虑c(x,w)变化时:如果c(x,w)=m<=5,那么到u的最小费用路径仍然为经过w,而费用变为5+m.x将通知它的邻节点这一费用变化.如果c(x,y)=n>5,那么最小费用路径变为经过y,费用为10;x将通知它的邻节点这一费用变化.c.c(x,y)发生任何变化,执行距离向量算法后,x将不通知其邻节点有一条通向u的新的最低费用路径.26. 27.由于在BGP中从AS到目标点的路径信息是可以得到的,路径环路的检测就很简单了-如果一个BGP对等点收到一个路径中包含它自己AS号的路由,那么使用该路由就会产生环路.28.C要使B处理所有东岸的B到D流量的一个方法是,C只从它的东岸对等点公布到D的路由.29.在上图解答中,由于x收到的到达y和到达w的路由中都不包含AC之间的链接,因此x看不见AC之间的连接(也就是说,x收到的到达目的节点路由公告中没有同时出现ASA和ASC的).w的同理.30.最低费用树为:s到t(费用1),u到t(费用2),v到u(费用1),w到v(费用1),y到v(费用1).我们可以对该树为最小费用的原因做如下的非形式化的讨论:u,v,w,和y之间相互连接所需的最小费用为3,要将s连接到u,v,w,y中最小费用为3(通过t).31.如图所示: 32个用户通过路由器二叉树连接到发送方.采用网络层广播的话,消息拷贝在每个链路中只传播以一次.一共有62(2+4+8+16+32)个链路交叉(所以费用为64).采用单播模拟的话,发送方将信息拷贝发送到任意一个接收方都要经过一条5跳的路径.一共有160(5*32)个链路交叉(费用160).所有接收方连成一线,发送方在线的一侧,这种网络拓扑使单播模拟与真正的网络层广播产生的费用相差最大.32.图中粗线指出了从A到所有目标节点的最短路径树.还可能有其它的解决方法.在这一树中,B没有到达C或D的路由.33.34.所给网络拓扑的基于中心的树为:将A连到D,B连到C,E连到C,F连到C(都是直接连接).这个基于中心的树与最小费用树不相同.35.如图:运用Dijkstra算法,将A作为源,则最低单播费用路径树为连接AC,AB,和BD,总费用为20.而最低费用路径树为:连接AB,BD,DC,费用只有11.t-136.1个时间步后3个拷贝被发送,2个时间不后6个,3个时间步后12个„„t个时间步后3*2拷贝在那个时间步被发送. 37.协议必须在应用层建立.例如:一个应用程序将向所有的其它组员以应用层信息的方式循环广播它的标识.38.一个简单的应用层协议将使所有的所有组员知道其它组员的标识,应用在任何情况下都会发出一个包括对于其它所有节点标识的多播信息.由于多播信道在多播应用本身的数据同时分发标识信息,因此这个协议是带内传输的.用现存的多播分发机制完成信号的带内传输使得这个设计变的十分简单.39.32-4=28bits可以用于多播地址,所以,多播地址的数量为:N=2的28次方个.所以-9两个多播组地址冲突的几率为:1/N=2的-28次方=3.73*101000个多播组的就直接看英语答案吧,最后那句话的大概的意思是:“忽略cross-productterm(不知道是什么东西„„)的话,近似结果为:„„”(终于翻完了,哈哈,由于时间仓促,有错误还请见谅)'