GVKun编程网logo

计算机网络谢希仁第七版 第四章 答案(计算机网络谢希仁第七版 第四章 课后答案)

11

本文将分享计算机网络谢希仁第七版第四章答案的详细内容,并且还将对计算机网络谢希仁第七版第四章课后答案进行详尽解释,此外,我们还将为大家带来关于《计算机网络·自顶向下方法》第七版第一章课后习题与问题答案

本文将分享计算机网络谢希仁第七版 第四章 答案的详细内容,并且还将对计算机网络谢希仁第七版 第四章 课后答案进行详尽解释,此外,我们还将为大家带来关于《计算机网络·自顶向下方法》第七版 第一章 课后习题与问题 答案、《计算机网络·自顶向下方法》第七版 第三章 课后习题与问题 答案、《计算机网络自顶向下方法 - 第七版》第二章总结、《计算机网络自顶向下方法-第七版》第一章总结的相关知识,希望对你有所帮助。

本文目录一览:

计算机网络谢希仁第七版 第四章 答案(计算机网络谢希仁第七版 第四章 课后答案)

计算机网络谢希仁第七版 第四章 答案(计算机网络谢希仁第七版 第四章 课后答案)

计算机网络谢希仁第七版 第四章 网络层

 

计算机网络 第七版 谢希仁 答案

 扫一扫关注网页最下方 回复 计算机网络谢希仁答案  获取全部完整答案

1.网络层向上提供的服务有哪两种?是比较其优缺点。网络层向运输层提供 面向连接虚电路(Virtual Circuit)服务或无连接数据报服务前者预约了双方通信所需的一切网络资源。优点是能提供服务质量的承诺。即所传送的分组不出错、丢失、重复和失序(不按序列到达终点),也保证分组传送的时限,缺点是路由器复杂,网络成本高;后者无网络资源障碍,尽力而为,优缺点与前者互易

2.网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决?

 网络互联可扩大用户共享资源范围和更大的通信区域

进行网络互连时,需要解决共同的问题有:

不同的寻址方案不同的最大分组长度

不同的网络接入机制

不同的超时控制

不同的差错恢复方法

不同的状态报告方法

不同的路由选择技术

不同的用户接入控制

不同的服务(面向连接服务和无连接服务)

不同的管理与控制方式

 

3.作为中间设备,转发器、网桥、路由器和网关有何区别?

 中间设备又称为中间系统或中继(relay)系统。

物理层中继系统:转发器(repeater)

数据链路层中继系统:网桥或桥接器(bridge)

网络层中继系统:路由器(router)

网桥和路由器的混合物:桥路器(brouter)

网络层以上的中继系统:网关(gateway)。  

4.试简单说明下列协议的作用:IPARPRARPICMP

 IP协议:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IPTCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有四个协议。

ARP协议:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。

RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址的映射问题。

ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会

因特网组管理协议IGMP:用于探寻、转发本局域网内的组成员关系。

 

5.IP地址分为几类?各如何表示?IP地址的主要特点是什么?分为ABCDE 5;每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。各类地址的网络号字段net-id分别为12300字节;主机号字段host-id分别为3字节、2字节、1字节、4字节、4字节。特点:(1IP 地址是一种分等级的地址结构。分两个等级的好处是:第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。(2)实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。 (3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id(4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。6.试根据IP地址的规定,计算出表4-2中的各项数据。解:1A类网中,网络号占七个bit, 则允许用的网络数为27次方,为128,但是要

除去0127的情况,所以能用的最大网络数是126,第一个网络号是1,最后一个网络号是 126。主机号占24bit, 则允许用的最大主机数为224次方,为16777216,但是也要除 去全0和全1的情况,所以能用的最大主机数是167772142B类网中,网络号占14bit,则能用的最大网络数为214次方,为16384,第 一个网络号是128.0,因为127要用作本地软件回送测试,所以从128开始,其点后的还可

容纳28次方为256,所以以128为开始的网络号为128.0~~128.255,共256个,以此类 推,第16384个网络号的计算方法是:16384/256=64128+64=192,则可推算出为191.255。主机号占16个  bit, 则允许用的最大主机数为216次方,为65536,但是也要除去全0和全 1的情况,所以能用的最大主机数是655343C类网中,网络号占21bit, 则能用的网络数为221次方,为2097152,第一个 网络号是  192.0.0,各个点后的数占一个字节,所以以  192  为开始的网络号为192.0.0~~192.255.255,共256*256=65536,以此类推,第2097152个网络号的计算方法是: 2097152/65536=32192+32=224,则可推算出为223.255.255。主机号占8bit, 则允许用的最大主机数为28次方,为256,但是也要除去全0和全1的情况,所以能用的最大主机数是2547.试说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址? IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。从而把整个因特网看成为一个单一的、抽象的网络在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。

MAC地址在一定程度上与硬件一致,基于物理、能够标识具体的链路通信对象、IP地址给予逻辑域的划分、不受硬件限制。

8.IP地址方案与我国的电话号码体制的主要不同点是什么?于网络的地理分布无关

9.1)子网掩码为255.255.255.0代表什么意思?

有三种含义

 其一是一个A类网的子网掩码,对于A类网络的IP地址,前8位表示网络号,后24位表示主机号,使用子网掩码255.255.255.0表示前8位为网络号,中间16位用于子网段的划分,最后8位为主机号。第二种情况为一个B类网,对于B类网络的IP地址,前16位表示网络号,后16位表示主机号,使用子网掩码255.255.255.0表示前16位为网络号,中间8位用于子网段的划分,最后8位为主机号。

第三种情况为一个C类网,这个子网掩码为C类网的默认子网掩码。

2)一网络的现在掩码为255.255.255.248,问该网络能够连接多少个主机? 255.255.255.24811111111.11111111.11111111.11111000.     每一个子网上的主机为(2^3)=6 台     掩码位数29,该网络能够连接8个主机,扣除全1和全0后为6台。

3)一A类网络和一B网络的子网号subnet-id分别为16181,问这两个子网掩码有何不同?

A类网络:11111111   11111111   11111111   00000000

给定子网号(16“1”)则子网掩码为255.255.255.0

B类网络    11111111   11111111   11111111   00000000

给定子网号(8“1”)则子网掩码为255.255.255.0但子网数目不同

4)一个B类地址的子网掩码是255.255.240.0。试问在其中每一个子网上的主机数最多是多少?

24010=128+64+32+1610=111100002     Host-id的位数为4+8=12,因此,最大主机数为: 2^12-2=4096-2=4094

11111111.11111111.11110000.00000000    主机数2^12-2

(5)A类网络的子网掩码为255.255.0.255;它是否为一个有效的子网掩码?是  10111111   11111111 00000000 11111111

(6)某个IP地址的十六进制表示C2.2F.14.81,试将其转化为点分十进制的形式。这个地址是哪一类IP地址? C2   2F 14  81--à(12*16+2).(2*16+15).(16+4).(8*16+1)---à194.47.20.129   C2  2F   14  81  ---à11000010.00101111.00010100.10000001   C类地址

(7)C类网络使用子网掩码有无实际意义?为什么?

有实际意义.C类子网IP地址的32位中,24位用于确定网络号,8位用于确定主机号.如果划分子网,可以选择后8位中的高位,这样做可以进一步划分网络,并且不增加路由表的内容,但是代价是主机数相信减少.

10.试辨认以下IP地址的网络类别。

 1128.36.199.3    221.12.240.17   3183.194.76.253     4

192.12.69.248  589.3.0.1        6200.3.6.2

(2)(5)A,(1)(3)B,(4)(6)C.

11. IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?

在首部中的错误比在数据中的错误更严重,例如,一个坏的地址可能导致分组被投寄到错误的主机。许多主机并不检查投递给他们的分组是否确实是要投递给它们,它们假定网络从来不会把本来是要前往另一主机的分组投递给它们。数据不参与检验和的计算,因为这样做代价大,上层协议通常也做这种检验工作,从前,从而引起重复和多余。因此,这样做可以加快分组的转发,但是数据部分出现差错时不能及早发现。

12.当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码?答案:纠错控制由上层(传输层)执行   IP首部中的源站地址也可能出错请错误的源地址重传数据报是没有意义的   不采用CRC简化解码计算量,提高路由器的吞吐量

13.IP数据报使用固定首部,其各字段的具体数值如图所示(除IP地址外,均为十进制表示)。试用二进制运算方法计算应当写入到首部检验和字段中的数值(用二进制表示)。

4 5 0 28   1 0 0    4 17 10.12.14.5  12.6.7.9

1000101  00000000  00000000-00011100

   00000000   00000001  00000000-00000000

   00000100  00010001   xxxxxxxx  xxxxxxxx

   00001010  00001100   00001110  00000101

   00001100  00000110   00000111  00001001  作二进制检验和(XOR)   01110100   01001110取反码   10001011  10110001

14. 重新计算上题,但使用十六进制运算方法(没16位二进制数字转换为4个十六进制数字,再按十六进制加法规则计算)。比较这两种方法。

01000101  00000000 00000000-00011100   4  5  0  0   0  0  1  C

00000000  00000001 00000000-00000000   0  0  0  1   0   0  0  0   00000100  000010001  xxxxxxxx  xxxxxxxx  0  4  1  1  0  0  0  0

00001010  00001100 00001110  00000101   0  A  0  C  0  E  0  5

00001100  00000110  00000111  00001001  0  C  0  6  0  7  0   9

01011111  00100100  00010101  00101010  5   F  2  4  1  5  2  A

5 F  2  4    1  5   2  A   7  4   4  E-à8  B  B  1

15.什么是最大传送单元MTU?它和IP数据报的首部中的哪个字段有关系?答案IP层下面数据链里层所限定的帧格式中数据字段的最大长度,与IP数据报首部中的总长度字段有关系

16.在因特网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报片通过一个网络就进行一次组装。是比较这两种方法的优劣。在目的站而不是在中间的路由器进行组装是由于:

  1)路由器处理数据报更简单些;效率高,延迟小。

  2)数据报的各分片可能经过各自的路径。因此在每一个中间的路由器进行组装可能总会缺少几个数据报片;

  3)也许分组后面还要经过一个网络,它还要给这些数据报片划分成更小的片。如果在中间的路由器进行组装就可能会组装多次。

  (为适应路径上不同链路段所能许可的不同分片规模,可能要重新分片或组装)

17. 一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的数据当然指的是局域网看见的数据)?

答案:第二个局域网所能传送的最长数据帧中的数据部分只有1200bit,即每个IP数据片的数据部分<1200-160(bit),由于片偏移是以8字节即64bit为单位的,所以IP数据片的数据部分最大不超过1024bit,这样3200bit的报文要分4个数据片,所以第二个局域网向上传送的比特数等于(3200+4×160),共3840bit

18.1)有人认为:“ARP协议向网络层提供了转换地址的服务,因此ARP应当属于数据链路层。这种说法为什么是错误的?因为ARP本身是网络层的一部分,ARP协议为IP协议提供了转换地址的服务,数据链路层

使用硬件地址而不使用IP地址,无需ARP协议数据链路层本身即可正常运行。因此ARP不再数据链路层。

  2)试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置的太大或太小会出现什么问题?

答案:考虑到IP地址和Mac地址均有可能是变化的(更换网卡,或动态主机配置)

      1020分钟更换一块网卡是合理的。超时时间太短会使ARP请求和响应分组的通信量太频繁,而超时时间太长会使更换网卡后的主机迟迟无法和网络上的其他主机通信。

  3)至少举出两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的硬件地址)。在源主机的ARP高速缓存中已经有了该目的IP地址的项目;源主机发送的是广播分组;源主机和目的主机使用点对点链路。19.主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?   6次,主机用一次,每个路由器各使用一次。

20.设某路由器建立了如下路由表:

目的网络          子网掩码            下一跳

128.96.39.0      255.255.255.128      接口m0

128.96.39.128    255.255.255.128     接口m1

128.96.40.0      255.255.255.128      R2

192.4.153.0      255.255.255.192      R3

*(默认)         ——             R4

 现共收到5个分组,其目的地址分别为:

1128.96.39.10

2128.96.40.12

3128.96.40.151

4192.153.17

5192.4.153.90

1)分组的目的站IP地址为:128.96.39.10。先与子网掩码255.255.255.128相与,得128.96.39.0,可见该分组经接口0转发。

2)分组的目的IP地址为:128.96.40.12

与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0

与子网掩码255.255.255.128相与得128.96.40.0,经查路由表可知,该项分组经R2转发。

3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128相与后得128.96.40.128,与子网掩码255.255.255.192相与后得128.96.40.128,经查路由表知,该分组转发选择默认路由,经R4转发。

4)分组的目的IP地址为:192.4.153.17。与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.0,经查路由表知,该分组经R3转发。

5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.64,经查路由表知,该分组转发选择默认路由,经R4转发。

21某单位分配到一个BIP地址,其net-id129.250.0.0.该单位有4000台机器,分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网掩码号,并算出每个地点主机号码的最小值和最大值4000/16=250,平均每个地点250台机器。如选255.255.255.0为掩码,则每个网络所连主机数=28-2=254>250,共有子网数=28-2=254>16,能满足实际需求。可给每个地点分配如下子网号码

地点: 子网号(subnet-id) 子网网络号   主机IP的最小值和最大值

1:    00000001           129.250.1.0    129.250.1.1---129.250.1.254   

2:    00000010           129.250.2.0    129.250.2.1---129.250.2.254

3:    00000011           129.250.3.0    129.250.3.1---129.250.3.254

4:    00000100           129.250.4.0    129.250.4.1---129.250.4.254

5:    00000101           129.250.5.0    129.250.5.1---129.250.5.254

6:    00000110           129.250.6.0    129.250.6.1---129.250.6.254

7:    00000111           129.250.7.0    129.250.7.1---129.250.7.254

8:    00001000           129.250.8.0    129.250.8.1---129.250.8.254

9:    00001001           129.250.9.0    129.250.9.1---129.250.9.254

10:  00001010           129.250.10.0   129.250.10.1---129.250.10.254

11:  00001011           129.250.11.0   129.250.11.1---129.250.11.254

12:  00001100           129.250.12.0   129.250.12.1---129.250.12.254

13:  00001101           129.250.13.0   129.250.13.1---129.250.13.254

14:  00001110           129.250.14.0   129.250.14.1---129.250.14.254

15:  00001111           129.250.15.0   129.250.15.1---129.250.15.254

16:  00010000           129.250.16.0   129.250.16.1---129.250.16.254

22..一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够   传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值? IP数据报固定首部长度为20字节

总长度(字节) 数据长度(字节) MF 片偏移

原始数据报 4000 3980 0 0

数据报片1 1500 1480 1 0

数据报片2 1500 1480 1 185

数据报片3 1040 1020 0 370

23 分两种情况(使用子网掩码和使用CIDR)写出因特网的IP成查找路由的算法。见课本P134P139

24.试找出可产生以下数目的A类子网的子网掩码(采用连续掩码)。

  12,(26,(330,(462,(5122,(6250.

1255.192.0.0,(2255.224.0.0,(3255.248.0.0,(4255.252.0.0,(5255.254.0.0,(6255.255.0.0

25.以下有4个子网掩码。哪些是不推荐使用的?为什么?

1176.0.0.0,(296.0.0.0,(3127.192.0.0,(4255.128.0.0

只有(4)是连续的1和连续的0的掩码,是推荐使用的

26.有如下的4/24地址块,试进行最大可能性的聚会。

212.56.132.0/24

212.56.133.0/24

212.56.134.0/24

212.56.135.0/24

 212=11010100256=001110002

132=100001002

133=100001012

134=100001102

135=100001112

所以共同的前缀有22位,即11010100 00111000 100001,聚合的CIDR地址块是: 212.56.132.0/22

27.有两个CIDR地址块208.128/11208.130.28/22。是否有那一个地址块包含了另一个地址?如果有,请指出,并说明理由。

 208.128/11的前缀为:11010000 100

208.130.28/22的前缀为:11010000 10000010 000101,它的前11位与208.128/11的前缀是一致的,所以208.128/11地址块包含了208.130.28/22这一地址块。

28.已知路由器R1的路由表如表4—12所示。表4-12 习题4-28中路由器R1的路由表地址掩码 目的网络地址 下一跳地址 路由器接口

/26 140.5.12.64 180.15.2.5 m2

/24 130.5.8.0 190.16.6.2 m1

/16 110.71.0.0 …… m0

/16 180.15.0.0 …… m2

/16 196.16.0.0 …… m1

默认 默认 110.71.4.5 m0

试画出个网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情应该指明。图形见课后答案P380

29.一个自治系统有5个局域网,其连接图如图4-55示。LAN2LAN5上的主机数分别为:

91150315.该自治系统分配到的IP地址块为30.138.118/23。试给出每一个局域网的地址块(包括前缀)。  30.138.118/23--à30.138.0111 011

分配网络前缀时应先分配地址数较多的前缀题目没有说LAN1上有几个主机,但至少需要3个地址给三个路由器用。

本题的解答有很多种,下面给出两种不同的答案:

                      第一组答案            第二组答案   

LAN1       30.138.119.192/29       30.138.118.192/27

LAN2       30.138.119.0/25         30.138.118.0/25

LAN3       30.138.118.0/24         30.138.119.0/24

LAN4       30.138.119.200/29       30.138.118.224/27

LAN5       30.138.119.128/26       30.138.118.128/27

30. 一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24.公司的网络布局如图4-56示。总部共有五个局域网,其中的LAN1-LAN4都连接到路由器R1上,R1再通过LAN5与路由器R5相连。R5和远地的三个部门的局域网LAN6LAN8通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络的前缀。见课后答案P380

31.以下地址中的哪一个和86.32/12匹配:请说明理由。

   186.33.224123:(286.79.65.216;(386.58.119.74; (4) 86.68.206.154

 86.32/12  è  86.00100000  下划线上为12位前缀说明第二字节的前4位在前缀中。

给出的四个地址的第二字节的前4位分别为:0010 0100 00110100。因此只有(1)是匹配的。

32.以下地址中的哪一个地址2.52.90140匹配?请说明理由。   (10/4;(232/4;(34/64152.0/11

 前缀(1)和地址2.52.90.140匹配

2.52.90.140  è  0000 0010.52.90.140

0/4   è  0000 0000

32/4  è  0010 0000

4/6   è  0000 0100

80/4  è  0101 0000

33.下面的前缀中的哪一个和地址152.7.77.159152.31.47.252都匹配?请说明理由。   (1152.40/13;(2153.40/9;(3152.64/12;(4152.0/11

前缀(4)和这两个地址都匹配

34. 与下列掩码相对应的网络前缀各有多少位?

   1192.0.0.0;(2240.0.0.0;(3255.254.0.0;(4255.255.255.252

1/2 ; (2) /4 ; (3) /11 ; (4) /30

35.  已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址? 140.120.84.24  è  140.120.(0101 0100).24

     最小地址是       140.120.(0101 0000).0/20  (80)

     最大地址是       140.120.(0101 1111).255/20 (95)

     地址数是4096.相当于16C类地址。

36.已知地址块中的一个地址是190.87.140.202/29。重新计算上题。

 190.87.140.202/29  è  190.87.140.(1100 1010)/29

     最小地址是           190.87.140.(1100 1000)/29  200

     最大地址是           190.87.140.(1100 1111)/29  207

     地址数是8.相当于1/32C类地址。

37. 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:

       1)每一个子网的网络前缀有多长?

       2)每一个子网中有多少个地址?

       3)每一个子网的地址是什么?

  4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

1)每个子网前缀28位。

2)每个子网的地址中有4位留给主机用,因此共有16个地址。

3)四个子网的地址块是:

第一个地址块136.23.12.64/28,可分配给主机使用的

   最小地址:136.23.12.01000001136.23.12.65/28

   最大地址:136.23.12.01001110136.23.12.78/28

第二个地址块136.23.12.80/28,可分配给主机使用的

   最小地址:136.23.12.01010001136.23.12.81/28

   最大地址:136.23.12.01011110136.23.12.94/28

第三个地址块136.23.12.96/28,可分配给主机使用的

   最小地址:136.23.12.01100001136.23.12.97/28

   最大地址:136.23.12.01101110136.23.12.110/28

第四个地址块136.23.12.112/28,可分配给主机使用的

   最小地址:136.23.12.01110001136.23.12.113/28

   最大地址:136.23.12.01111110136.23.12.126/28

38. IGPEGP这两类协议的主要区别是什么?

IGP:在自治系统内部使用的路由协议;力求最佳路由

EGP:在不同自治系统便捷使用的路由协议;力求较好路由(不兜圈子)

EGP必须考虑其他方面的政策,需要多条路由。代价费用方面可能可达性更重要。

IGP:内部网关协议,只关心本自治系统内如何传送数据报,与互联网中其他自治系统使用什么协议无关。

EGP:外部网关协议,在不同的AS边界传递路由信息的协议,不关心AS内部使用何种协议。

注:IGP主要考虑AS内部如何高效地工作,绝大多数情况找到最佳路由,对费用和代价的有多种解释。

39. 试简述RIPOSPFBGP路由选择协议的主要特点。

主要特点 RIP OSPF BGP

网关协议 内部 内部 外部

路由表内容 目的网,下一站,距离 目的网,下一站,距离 目的网,完整

路径

最优通路依据 跳数 费用 多种策略

算法 距离矢量 链路状态 距离矢量

传送方式 运输层UDP IP数据报 建立TCP连接

其他 简单、效率低、跳数为16不可达、好消息传的快,坏消息传的慢 效率高、路由器频繁交换信息,难维持一致性 规模大、统一度量为可达性

40. RIP使用UDPOSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和临站交换路由器由信息而BGP却不这样做?

 RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求; OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小;

BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗; RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及时得到更新。但BGP使用保证可靠交付的TCP因此不需要这样做。

41. 假定网络中的路由器B的路由表有如下的项目(这三列分别表示目的网络距离下一跳路由器

                  N1        7        A

                  N2        2        B

                  N6        8        F

                  N8        4        E

                  N9        4        F

现在B收到从C发来的路由信息(这两列分别表示目的网络”“距离):

                  N2        4

                  N3        8

                  N6        4

                  N8        3

                  N9        5

试求出路由器B更新后的路由表(详细说明每一个步骤)。

  路由器B更新后的路由表如下:

N1   7  A    无新信息,不改变

N2   5  C    相同的下一跳,更新

N3   9  C    新的项目,添加进来

N6   5  C    不同的下一跳,距离更短,更新

N8   4  E    不同的下一跳,距离一样,不改变

N9   4  F    不同的下一跳,距离更大,不改变

42. 假定网络中的路由器A的路由表有如下的项目(格式同上题):

            N1          4          B

            N2          2          C

            N3          1          F

            N4          5          G

   现将A收到从C发来的路由信息(格式同上题):

            N1          2

            N2          1

            N3          3

            N4          7

试求出路由器A更新后的路由表(详细说明每一个步骤)。

 路由器A更新后的路由表如下:

N1   3  C    不同的下一跳,距离更短,改变

N2   2  C    不同的下一跳,距离一样,不变

N3   1  F    不同的下一跳,距离更大,不改变

N4   5  G    无新信息,不改变

43.IGMP协议的要点是什么?隧道技术是怎样使用的?

 IGMP可分为两个阶段:

     第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。

  第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。隧道技术:多播数据报被封装到一个单播IP数据报中,可穿越不支持多播的网络,到达另一个支持多播的网络。

44. 什么是VPNVPN有什么特点和优缺点?VPN有几种类别?

P171-173

45. 什么是NAT?NAPT有哪些特点?NAT的优点和缺点有哪些?NAT的优点和缺点有哪些? P173-174

计算机网络第七版第五章答案  

计算机网络第七版第六章答案

 

《计算机网络·自顶向下方法》第七版 第一章 课后习题与问题 答案

《计算机网络·自顶向下方法》第七版 第一章 课后习题与问题 答案

非官方答案,本人已尽最大努力,使结果正确,如有错误,请大佬指出

<br><br><br>

正文: ###1.1节 ####R1 在计算机网络中,主机就是端系统 举例:PC,手机,服务器,网络电视 WEB服务器是一种端系统 ####R2 A protocol is a rule which describes how an activity should be performed, especially in the field of diplomacy. In diplomatic services and governmental fields of endeavor protocols are often unwritten guidelines. Protocols specify the proper and generally accepted behavior in matters of state and diplomacy, such as showing appropriate respect to a head of state, ranking diplomats in chronological order of their accreditation at court, and so on. One definition is:

Protocol is commonly described as a set of international courtesy rules. These well-established and time-honored rules have made it easier for nations and people to live and work together. Part of protocol has always been the acknowledgment of the hierarchical standing of all present. Protocol rules are based on the principles of civility.

大体意思就是说,外交协议是指在外交事务中,一种非书面形式的,被各国认为是适当的并普遍接受的一种国际礼节规则,有助于各国人民和谐共处 ####R3 如果两个端系统发送和接受信号的标准不同,双方可能并不能正常通信。这样会导致网络中的各个端系统不能互联。 同理,如果是两个局域网中使用的标准不同,那么两个网络也可能不能正常通信。(事实上IP可能会屏蔽这种差异,目前还没学到这一块,今后会回来补充) 由此可见,协议规定的标准是互联网协议能够正常运作的保证。

###1.2节 ####R4 书中一共介绍了以下接入技术: 数字用户线(DSL)、电缆、光纤到户(FTTH)、拨号、卫星、以太网、WIFI、蜂窝移动网络 数字用户线(DSL)、电缆、光纤到户(FTTH)、拨号、卫星、以太网、WIFI为家庭接入 以太网、WIFI为企业接入 蜂窝移动网络为广域接入 ####R5 HFC 混合光纤同轴 在HFC中,用户间的传输速率是共享的。 下行信道中不会发生碰撞,因为只有电缆头端发出信号 但是上行信道中可能发生碰撞,需要一个分布式多路访问协议来协调传输和避免碰撞(P11) ####R6 懒得查 不得不说,我家WiFi确实不太行,英雄联盟100ms的延迟,只能下下棋了 这是我家WIFI的上网方式设置,找了半天这个管理页面也没给我什么有用的信息,也不敢乱点。。。 WIFI ####R7 这个题应该是超纲了,第一章没有详细介绍这一点 不过还是能找到一两句话回答这个问题: 基于IEEE 802.11技术的无线LAN接入,今天提供了高达100Mbps的共享传输速率 显而易见的是,不同的协议与技术提供的传输速率是不同的。 ####R8 以太网是一种局域网技术,既然如此,只要可以同于局域网的物理媒体应该都可以答上吧: 双绞铜线、同轴电缆、光纤、陆地无线电信道应该都可以,但是目前我还不知道他们具体应用在那些地方 但是可以肯定他们都存在于局域网中 百度百科:网线是连接局域网必不可少的。在局域网中常见的网线主要有双绞线、同轴电缆、光缆三种。 而使用WIFI的话,肯定会用到陆地无线电信道 ####R9 ●拨号调制解调器在书里应该没出现过,有兴趣的网友自己去查一下 ●HFC:DOCSIS2.0定义了42.8Mbps的下行速率和30.7Mbps的上行速率 ●DSL:[ITU 1999]定义了12Mbps的下行速率和1.8Mbps的上行速率 [ITU 2006]定义了55Mbps的下行速率和15Mbps的上行速率 ●FTTH:书上没写,我也就不采用网上的说法了,但是按照常识,FTTH一般比以上三者都要快

总结一下,不同的技术之间,有相对的快慢关系,但是具体来说,还是要看各个技术使用的协议版本,实际一点来说,你交给ISP的钱,也决定了你的网速。 还有一个问题就是传输速率是共享还有专用的,我认为并没有一项技术可以使传输速率完全专用,即使在用户端,相当一段物理距离的信道被用户单独占有,但是当分组发送到网络中心时,总要与他人共享信道。 ####R10 最为流行的当然是WIFI和蜂窝移动网络了。

name WIFI 蜂窝移动网络
范围 局域网 广域网
速率 100Mbps 20Gbps(5G)
物理媒体 陆地无线电信道 陆地无线电信道
价格 较低 较高

###1.3节 ####R11 存储转发分组方式是指交换机转发分组的第一个比特之前,必须先获得整个分组 所以答案是: $L/R_1+L/R_2$ ####R12 贴一段百度知道的回答:电路交换网络的优点 (1)数据直达传输,延迟小,具有很强的实时性。 (2)双方通信是有序的,不存在失序问题。 (3)该种交换方式既可以用于传输模拟信号,也可用于传输数字信号。(?) 第三点看起来有道理,但是书上找不到佐证了

TDM对于FDM的优点 (1)TDM对于带宽的利用更加灵活(需要更加灵活的时隙分配方案) (2)干扰更少(我猜的,别轻信) ####R13 a.2 b.两个用户刚好占满带宽 c.20% d. $0.20.20.2=0.008$ ####R14 为了减少支付给提供商ISP的费用 IXP怎么赚钱?可能是收过路费吧,但是如果这样,那和那些提供商ISP有什么区别。各级ISP本来就是为了少交钱才建立的IXP。。。 ####R15 (1)减少向顶层ISP缴纳的费用 (2)对自身的服务有了更多的控制 ###1.4节 ####R16 处理时延:与分组长度,路由器的运算速度有关 排队时延:与所在路由器的队列长度和路由器的运算速度(决定了队列的前进速度)有关 传输时延:与分组长度,路由器之间的链路传输速率有关 传播时延:与物理媒介有关 ####R17 翻译本上没找到注册需要的访问码,无法拿到小程序 更可恨的是,求助于百度网盘都没用 ####R18 传播时延:2500000/250000000=0.01s 传输时延:1000*8/2000000=0.004s 不考虑排队时延和处理时延的话那就是0.014s了 很疑惑为什么大家都忽略那0.004s了 注意这里k取到了1000,而不是1024

一般情况下 $t=L/R+d/s$ 显然是有关的 但是有人说问的是传播时延,但是看翻译本确实看不出这个意思 ####R19 a.首先我们知道,吞吐量是瓶颈链路的传输速率,所以如果这三段是串联(借用一下其他学科的词汇吧)的话,那么吞吐量显然应该是$500kbps$。 b.$4MB8/500kbps=64s$ c.吞吐量变为$100kps$,$t=4MB8/100kbps=320s$ ####R20 端系统将大文件分为许多小块,为每一块小块添加头部信息,便成为了分组。分组上会有接收端的地址,分组交换机的缓存中包含了,要让分组交付到接收端,应该交付的,下一个交换机的地址 如果驱车时,进入一个城市,便根据目的地点,询问一次下一个城市应该是哪一个的话,这样的操作和分组的转发实际上是一样的。 ####R21

###1.5节
####R22      
此题无法保证答案正确性:
差错控制,转发分组,封装数据,流量控制,添加参数    
这些都由某一层独立完成,不能由两个层次合作完成,但是不同的层次可以各做一遍(如应用层,运输层都可以提供差错控制服务)
####R23
(1)应用层
网络应用程序及其用户层协议,是产生数据和接收数据的源头
(2)运输层
提供了可靠的传输服务和拥塞控制(TCP)或者是无连接的服务(UDP)
(3)网络层
通过IP地址,将**数据报**转发到对应的主机上
(4)链路层
沿着路径将数据转发给下一个节点
(5)物理层                 
将链路层的整个帧从一个网络元素移动到邻近的网络元素
####R24                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
**应用层报文**是指位于应用层,一个端系统中的应用程序与另一个端系统中的应用程序,在某种协议下的信息分组
**运输层报文段**是指运输层为应用层报文添加上相应头部的分组,在此过程中,应用层报文可能被分割为短报文(TCP)
**网络层数据报**是指将运输层报文段添加IP头部的分组
**链路层帧**是链路层的分组,为网络层提供不同的服务
####R25
路由器:物理层,数据链路层,网络层
链路层交换机:物理层,数据链路层
主机:全部五层
###1.6节
####R26
病毒需要用户交互,才能感染用户设备,蠕虫不需要
####R27
僵尸网路是被感染恶意软件,做着各种不正当的工作的主机的统称。
利用僵尸网络的主机(多个源),向目标发起DoS攻击,就是DDoS攻击
####R28
获取Alice,Bob的个人信息,包括网络账号,真实姓名,聊天记录甚至相关密码,通过这些信息,Trudy可以窥探他人隐私,甚至可以依次勒索受害用户,或者贩卖这些信息来牟利

《计算机网络·自顶向下方法》第七版 第三章 课后习题与问题 答案

《计算机网络·自顶向下方法》第七版 第三章 课后习题与问题 答案

非官方答案,本人已尽最大努力(包括参考官方答案),使结果正确,如有错误,请大佬指出

正文: ###3.1~3.3节 ####R1 a.如果只是简单想把信件送到,那么所有的头部信息只需要一个目的地址就够了,题目给出端口号四个字节,所有分组的头部那就只需四个字节 此协议规定,运输层的全部任务就是,将应用层的数据,切成最大1196字节的块,把每一块加上目的主机对应程序的端口号,并将得到的分组交付给网络层 在接收方,运输层将网络层报文取回,去掉头部信息,将数据拼接成应用层需要的信息,根据端口号交付给应用层即可 不过话说回来,没有序号的话,运输层应该不能将数据拼回来。。。所以剪切数据的活可以让应用层完成,运输层不接收超过1196字节的分组,这样就更简单了 反正要保证本层最简单,把活给其他人干,或者干脆不干就行了 b.头部加四个字节,源端口号,交付给应用层的时候把这个源端口号一起交付给应用层 c.众所周知,运输层生活在网络边缘,所以网络核心的工作它不用干

####R2 a.这些信一定要提供信的接收者信息,而不是题目说的不用,倒是信封上确实不用说明 在这个模型中,邮局是网络层及其以下层次,负责收集分发的家庭成员是运输层,其他家庭成员是应用层 就如同我们常做的,信封上只写上了收件人的地址,而在新的开头写上收件人的名字,信的结尾写上自己的名字 如果严格按照计算机网络的工作范围而言,这两个名字并不是写信的人写上去的,而是负责收集分发的家庭成员为其填上的。 同样,信封也是负责收集分发的家庭成员制作的,并且将信放入正确的信封,交给邮局 在接收方,负责收集分发的家庭成员拆开信封,读取了信件开头的收件人姓名,并将报文交付给收件人 b.不需要,邮局提供家到家的服务就行了

####R3 y,x

####R4 较高的时延对这些应用来说难以接受,而且他们可以接受一部分数据丢失

####R5 答案说很多防火墙会阻止UDP,而放行TCP 但是不得不说,TCP由于其可靠的服务,是当前语音和图像选择它的主要理由,显而易见,如果UDP足够优秀,防火墙也不会设置成这个样子。

####R6 可能,在应用层完成UDP没有提供而TCP提供了的服务

####R7 报文段恐怕很难被描述成套接字,是或不是我就不回答了,建议如果英语不是差到跟我一样,不要读翻译本 UDP报文首部包含了源端口号,而网络层报文中包含了源IP,根据源端口号和源IP接收方可以分辨数据从哪里来

####R8 既然是链接,那我姑且认为你是在问TCP吧 TCP的socket有四个标志字段:源端口号,源IP,目的端口号,目的IP 显然这两个请求含有不同的IP,所以发送的请求不会通过相同的套接字 这两个套接字端口号的目的端口号都是80,源端口号不一定

###3.4节 ####R9 序号是在讨论rdt(reliable data transfer)2.0的时候引入的,背景是,下层信道可能造成数据损坏,除此之外完全可靠 当接收方收到一个完好的报文,它将发送一个ACK报文作为响应,然而,这个ACK报文可能在传输过程中损坏。 当发送方收到一个损坏的ACK报文,它无法分辨这是损坏的ACK还是NAK,所以,要么询问接收方,这个到底是个啥,要么,重发报文 重新询问的话,询问报文有可能也会出问题,而且影响效率,所以发送方选择了,接收到损坏的响应报文,就把数据重发一遍 然而对于接受方来说,它之前已经接收到了一份数据,下次应该接收下一份数据。 然而接收方下一次还是接收到了这一份数据,也就是说,在这种情况下,接收方根本不知道自己收到的是发送方第一次发送的,还是重发的数据 于是在报文中引入序号,使得接收方能够分辨报文的是发送方第一次发送的,还是重发的

####R10 在rdt2.0的基础上,下层信道可能会丢包 这个时候需要设置计时器,来判断下层信道有没有丢包

####R11 仍然需要 时延是否固定,已知与是否需要计时器没有关系,但是会影响定时器设定的值及其运算过程

####R12 小程序地址

a.五个分组全部重传了 b.在第二个ACK到达时,第一个分组也就被确认到达了,毁掉第一个ACK没有任何影响 c.发送窗口只有五,不能一次发送六个

####R13 注意在这里没有用到累计确认 a.只重传了第一个分组 b.重传了第二个分组 c.发送窗口只有五,不能一次发送六个

###3.4节 ####R14 a.false 会发送一个没有数据的报文来进行确认 b.false $rwnd = RcvBuffer - [LastByteRcvd - LastByteRead]$ c.true d.false 这条报文可能是重发 e.false 我认为应该是通过握手时确认的RcvBuffer 和数据传输时的最后发送的数据编号和最后确认的数据编号来确定的 但是答案给了true。。。 f.false 不是必定哦,之前的SampleRTT也有一定的权值 g.false 确认号用于确认自己接收的数据,而不是发出的 ####R15 a.20 b.90 ####R16 3个 第一段: seq = 43, ack =80; 第二段: seq = 80, ack = 44; 第三段:seq = 44, ack = 81 ###3.7节 ####R17 一开始这两个TCP都将占有一个MSS的cwnd,随后二者都将进入慢启动,拥塞避免,快速恢复阶段,具体的变化过程与RTT等其他因素有关,但是最后的传输速率都会相等,即R/2 ####R18 false 被设置成cwnd的一半 ####R19

《计算机网络自顶向下方法 - 第七版》第二章总结

《计算机网络自顶向下方法 - 第七版》第二章总结

2 Principle of Network Applications

2.2 The Web and HTTP

HTTP 协议定义了 Client 和 Server 之间如何交换信息以及信息的格式。一个网页由多个 object 构成,一般包含一个 base HTML file,其中包含了其他 object 的 URL。URL 由两部分组成,存储 object 的 Server 的 Hostname + object 的所在路径。

HTTP 底层依赖 TCP 协议,Client 发起与 Server 的 TCP 连接,Client 发送 HTTP Request Message,接收 HTTP Response Message,Server 则相反。事实上 HTTP 是一个无状态协议,Server 并不会保存与其交互的 Client 的状态,这能够简化 Server 的设计,但是有时候对 Client 进行标记是必要的,可以用 Cookie 解决该问题。

Client 可能连续向 Server 发起一系列 Request,如果为每个 Request 建立 TCP 连接,则称为 Non-persistent Connection,这种方式的弊端为:建立大量的 HTTP 连接会消耗大量的系统资源并且建立每个 TCP 连接都需要额外的一个 RTT,增加了延时。与之相反的是,默认的 HTTP 协议都会利用单一的 TCP 连接传输连续的 Request,直到给定时间没有接收到 Request 之后,Server 会将 TCP 连接关闭。这种方式称为 Persistent Connection。

 

HTTP Request Message 如下所示:

GET /somedir/page.html HTTP/1.1  // Request Line
Host: www.someschool.edu      // Header Lines
Connection: close
User-agent: Mozilla/5.0
Accept-language: fr

  

Request Message 由 Request line,Header lines 以及 Entity body 组成,Header lines 与 Entity body 之间存在一个空行。在如上所示的 Header Lines 中,Host 字段并不多余,因为它可以被 Client 与 Server 中间的 Web Cache 所使用。而 Connection 字段,则是 Client 用于通知 Server 不必建立 Persistent Connection。User-agent 则标示了发送 Request 的浏览器类型,Server 可能对于不同的浏览器发送同一个 object 的不同版本。

HTTP Response Message 如下所示:

HTTP/1.1 200 OK    // Response Line
Connection: close   // Header Line
Date: Tue, 18 Aug 2015 15:44:04 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 18 Aug 2015 15:11:03 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data ...)

  

Response Message 类似地由 Response line,Header lines 以及 Entity body 组成。Header lines 中的 Date 字段表明 Server 构建以及发送 Response 的时间。Last-Modified 字段则表示获取的 object 上一次修改的时间,它可以用于检测缓存的对象是否需要更新。几种常用的返回状态如下:

200 OK:Request 成功并且在 Response 中包含了所需的信息

301 Move Permanently:请求的 object 已经被永久转移了,但是 Response Header 中的 Location 字段表明了 object 新的 URL,Client 可以根据该 URL 再次发起请求

400 Bad Request:常用的错误码,表明 Server 不理解请求的含义

505 HTTP Version Not Supported:Server 并不支持请求中的 HTTP 版本

 

HTTP 是无状态服务,因此需要 Cookie 为 Server 端对 Client 进行标记,获取 Cookie 及使用的过程如下:

1)Client 首次向一个 Server 发起 HTTP Request,Server 为该 Client 创建一个唯一的 ID,以该 ID 为 Key 在后端数据库建立表项,并在 HTTP Response 中包含一个额外的 Header,例如:"Set-cookie: 1678"

2)Client 接受到 HTTP Response,将其中的 Cookie 提出,把 Set-cookie 中的 ID 以及 Server 的 Hostname,存储到 Cookie file 中

3)当 Client 再次访问该 Server 时,会首先查询 Cookie file,若存在相应的 Cookie,则在 Request Header 中增加 Cookie Header,例如:"Cookie: 1678"

4)Server 根据 Request 中的 Cookie Header,可以对该请求进行特定的操作

事实上,Cookie 可以在无状态的 HTTP 协议之上创建一个 User Session Layer。

 

Web Cache 位于 Client 和 Server 之间,Client 可经过配置之后,直接访问 Web Cache,若相应的 object 不存在,则由 Web Cache 从 Server 进行获取并缓存。而 Web Cache 的优势主要包含两点:1)Web Cache 可极大地减少 Client 的访问延时,特别是 Client 和 Server 间的网络带宽远远小于 Client 和 Web Cache 之间的网络带宽。2)Web Cache 也可以极大地减少整个互联网的流量压力,重复的请求可以直接在接入网之前进行处理。而 Web Cache 的代表就是 CDN,通过在边缘架设一系列的 CDN 可以将多数流量进行本地化,从而避免远程访问。

 

如果 GET 请求中包含了 "If-Modified-Since:" 这种 Header,则称该请求为 The Conditional GET。当 Web Cache 需要检查某个 object 是否为最新时,可以对该 object 发起 GET 请求,并包含 "If-Modified-Since: TIME" 这一 Header,而 TIME 就是上文中在 HTTP Response 的 "Last-Modified" 这个 Header 的内容。若 object 自 TIME 以来未经修改,则 HTTP Response 返回的状态码为 "304 Not Modified" 且不包含 object,因为这是不必要的,完全是浪费带宽,而且对于大的 object 还会增加响应延时。

2.4 DNS-The Internet''s Directory Service

Internet 中的一台主机既可以用 Hostname 表示,也可以用 IP 表示,Hostname 由人类使用,但是由于其长度不定,因此其难以被路由器处理,而且其中包含的定位信息很少,例如,只能从后缀.cn 表示主机在中国。相反,IP 易于被路由器处理并且是一个层级结构,从左到右能逐渐对主机进行更精准的定位。

Domain Name System(DNS)就是 Internet 中用于提供 Hostname 和 IP 转换服务的系统。DNS 本质上由两部分组成:1)一个由层级 DNS Server 构成的分布式数据库,2)一个运行主机对该分布式数据库进行查询的应用层协议,该协议基于 UDP 实现,一般绑定 53 号端口,通常被 HTTP 等其余应用层协议调用。

DNS 除了提供 Hostname 到 IP 的转换服务以外,还能提供以下服务:

1) Host aliasing:通常一个主机包含多个 Hostname,其中一个为 Canonical Hostname,因此 DNS 还提供根据一个 Alias Name 查询 Canonical Hostname 以及 IP 地址的服务

2) Mail Server Aliasing:DNS 可以被 Mail Application 调用获取相应的 Canonical Hostname。事实上,DNS 中的 MX Record 允许一个公司的 Mail Server 和 Web Server 有着同样的(Aliased)Hostname。比如,一个公司的 Web Server 和 Mail Server 都可以为 enterprise.com

3) Load Distribution:一个 Hostname 往往可以和多个 IP 地址相对应,对于这样的 Hostname,DNS Reply 会将所有的 IP 地址返回,用户通常会选择其中第一个 IP 地址进行访问,因此为了能够在多个 IP 地址间进行负载均衡,DNS Reply 会对这些 IP 地址的排列顺序进行轮转,保证每个 IP 都能等概率地被访问。

DNS 系统由大量分布在全球的 DNS Server 构成,且可以将这些 Server 分成 Root DNS Server,Top-Level-Domain(TLD)Server 和 Authoritative DNS Server 三类并依次从上到下形成一个层级结构:

Root DNS Server:全球的 Root Name Server 由 13 个组织控制,它用于提供相应的 TLD Server 的 IP 地址

TLD Server:包含 com,org,edu 等顶级域名,它用于提供相应的 Authoritative DNS Server 的地址

Authoritative DNS Server:如果一个组织有主机提供对外服务,则它需要提供自己的 Authoritative DNS Server,用于转换该组织自己的 Hostname 和 IP 地址。

Local DNS Server:该类型的 Server 准确地说并不在上述层级体系中,它一般在主机连入的时候由 Residential ISP 提供,它可以作为 Proxy,用于接收相邻主机的 DNS 请求,再由它来访问上述层级体系,获取目标 IP 地址。关于 Local DNS Server 的作用,一方面它可以对 DNS Reply 进行缓存,从而提高访问速度,另外因为它是固定的,因此能够选择对最近的 Root DNS Server,TLD Server 以及 Authoritative DNS Server 进行访问,减小延迟。

DNS Records and Messages

全球的 DNS Server 组成了一个分布式数据库,其中存储的条目称为 Resource Records(RR),每一个 DNS Reply 可以包含一个或多个 Resource Records。一个 RR 由(Name,Value,Type,TTL)四部分组成并且分为以下四种类型:

1)Type = A:提供标准的 Hostname 到 IP 的映射,其中 Name 为 Hostname,Value 为 IP

2)Type = NS:根据 Hostname 查询相应的 Authoritative DNS Server,例如(foo.com,dns.foo.com,NS),这种类型的 RR 一般还需要跟一个 A 类型的 RR,用于描述 dns.foo.com 和它的 IP 之间的映射

3)Type = CNAME:提供 Alias Hostname 和 Canonical Hostname 之间的映射

4)Type = MX:提供 Alias Hostname 到 Mail Server 的 Canonical Hostname 之间的映射,如果要获取 Web Server 的 Canonical Hostname 则获取 CNAME 类型的 RR,对于 Mail Server 则获取 MX 类型的 RR

一般来说 DNS 协议只包含 Query 和 Reply 两种类型的 Message,且两种类型报文的格式相同。报文主要可分为 12 字节的 Header 和一系列的 RR 组成。Header 包含了 ID,一系列的 Flag 以及 Questions,Answer RRs,Authority RRs 以及 Additional RRs 的数量。Questions 包含查询的 Name 以及 Type,Answer RRs 返回相应的 RR,Authority RRs 返回 Authority Server 的 Records,最后的 Additional RRs 用于,对于一个 MX 类型的 Query,会返回 Mail Server 的 Canonical Hostname 并且会在 Additional 中包含 Canonical Hostname 到 IP 的 A 型 RR。

DNS Security

对于 DNS Server 的 DDos 攻击,由于缓存的存在,Root DNS Server 其实很少被直接访问,攻击 TLD DNS Server 是更有效的方式。对于 DNS Poisoning Attach,攻击者可以发送给 DNS Server 错误的 Reply,诱使其对它进行缓存,从而让用户访问攻击者指定的网站。不过上述攻击造成的影响都很有限,DNS 已经被证明是一个鲁棒性非常强的系统。

关于如何在 DNS 中注册新域名以及对其进行访问的例子:

1)例如一个初创公司决定其域名为 abc.com,首先需要向 Registrar 注册域名,保证其唯一性,同时需要提供对应的 Authoritative DNS Server 的 Name 和 IP 地址,例如,dns.abc.com,212.2.212.1,Registrar 会向 TLD Server 中插入两条 Resource Record,如下:

(abc.com,dns.abc.com,NS),(dns.abc.com,212.2.212.1,A)

同时需要确保:Web Server www.abc.com 的 A 类资源和 Mail Server mail.abc.com 的 MX 类资源已经写入 Authoritative DNS Server 中

2)例如 Alice 需要对 www.abc.com 进行访问,首先将 DNS 请求发送到 Local DNS Server,Local Server 访问 Root DNS Server 获取 com 的 TLD Server 的 IP 地址(若有缓存,则可跳过此步骤),再对 com TLD Server 进行访问并获取在步骤 1 中插入的两条 Resource Record,然后访问 dns.abc.com 获取 www.abc.com 的类型 A 资源,最后 Local DNS Server 将结果返回 Alice。

2.5 Peer-to-Peer File Distribution

对于 Client-Server 架构总是需要 Server 始终运行,但是 P2P 架构对于 Server 始终运行的要求能降到最低。下面以文件分发作为例子,对 Client-Server 架构以及 P2P 架构的扩展性进行对比:

设需要分发的文件的大小为 F,Server 的上传速度为 Us,共有 N 个 peers,第 i 个 peer 的上传速度为 Ui,下载速度为 Di。

因此对于 Client-Server 模式,最小的分发时间 Tcs 的下界为 max {NF/Us, F/Dmin},Dmin 表示 Peer 中最小的下载速度,可以证明如果 Server 能对分发的流量进行合理的调度,这一下界是能够达到的。对于扩展性,可见随着 N 的增大,Tcs 也将线性增长

对于 P2P 模式,其分发时间的估算是非常复杂的,这取决于 Peer 之间如何对已有的部分文件进行分发,但是我们仍然能对其分发时间的下界 Tp2p 进行估算,得到的结果为 max {F/Us, F/Dmin, NF/(Us + 对 Ui 求和)}。如果 Peer 在收到一个 bit 之后能马上对其进行分发,则可以找到一种分发方式达到这一下界。不过事实上,文件都是按照块而非 bit 进行分发的。但这一结果也能对分发时间进行很好的近似。假设 Ui 都相等为 U,则理想情况下,不管 N 多大,P2P 模式下的分发时间不会超过 F/U。显然,P2P 模式具有非常好的自扩展性。

BitTorrent

所有加入文件分发的 Peer 构成一个 Torrent,文件一般被切分为大小为 256KB 的块在 Peer 间分发。

在 Torrent 中有一个特殊的节点称为 Tracker,它记录了 Torrent 中所有 Peer 的信息。例如,当 Alice 想要加入 Torrent 进行文件下载时,她首先需要在 Tracker 中进行注册并阶段性地向 Tracker 发送心跳。Tracker 会将 Torrent 中一部分 Peer 的信息发送给 Alice,Alice 将与这些 Peer 建立连接,当然之后可能也会有 Peer 主动与 Alice 建立连接。在每个时刻,每个 Peer 都会有待传输的文件的一个子集且各个 Peer 间的子集并不相同。因此 Alice 会阶段性地向与其相连的 Peer 发送请求,获取它们已有数据块的列表,再与自己已有的数据块列表进行匹配,发送请求获取自己还没有的数据块。

在与 Peer 互相传输数据块时,Alice 需要考虑如下两个问题:

1)对于自己还没有的数据块,应该优先请求哪些数据块?

2)对于向自己发出请求的 Peer,应该向它们中的哪些发送数据块?

对于上述两个问题的解决方案如下:

1)Rarest First:即优先获取在 Alice 以及与其相连 Peer 的数据块 List 中副本数最少的数据块,从而增加这些数据块的分发,确保数据块副本数量的均衡

2)对于如何应答 Peer 的请求,Alice 每隔十秒会对各个连接的 Peer 传输数据给她的速率进行计算并选取其中的前四名,满足它们的请求。同时,每隔 30 秒,Alice 会随机选择一个 Peer 进行应答,这就给了新加入的 Peer 进行传输的机会。上述机制的实现,保证了整个系统的正常运行,否则每个 Peer 都会成为只下载而不上传的 Freerider。

P2P 架构的另一种应用是 Distributed Hash Table(DHT),DHT 事实上就是一个简单的数据库,其中的条目被分布式地记载在 P2P 系统的 Peer 中。

2.6 Video Streaming and Content Distribution Networks

Video 一个非常重要的特性是它可以压缩,现有的压缩算法能够将 Video 压缩到任意的 Bit Rate,显然 Bit Rate 越大,压缩的程度越小,用户体验也就越好。对于 Video Streaming 这一场景下,最重要的性能指标是端到端的吞吐量。因此,对于同一 Video 可以根据压缩程度的不同制作多个版本,根据用户的带宽传输相应的版本。

Dynamic Adaptive Streaming over HTTP(DASH),Client 会动态地获取一系列的块,计算下载速率,并根据算法选择下一次下载的块的数目。DASH 允许 Client 在一次会话过程中,根据带宽的不同在各个 Video Version 之间进行切换。每个版本的 Video 都存储在 HTTP Server 中,用不同的 URL 表示。Client 最开始需要从 Server 中获取一个 Manifest,其中包含各个版本的 URL 以及下载它们所需的 Bit Rate。

Content Distribution Networks

如果将所有的 Video 存储在单个数据中心中并为所有 Client 提供 Streaming Video 服务则会存在以下三个问题:

1) 数据中心距离 Client 太远,因此两者之间的交互可能会跨越多个 ISP,不同的 ISP 甚至可能在不同的大洲,如果中间某条链路的吞吐量太小,则会对整体造成巨大的延迟

2)对于流行的 Video,它可能会播放很多次,因此对于同一链路,会对该 Video 进行多次重复的传输,这不仅是对 Internet 整体带宽的浪费,Video Company 也需要为这些重复的流量付费

3)单点故障

Content Distribution Networks(CDN)通过将服务器分布到不同的地理位置并将用户的请求转发到能够提供最佳体验的 CDN Location 用以解决上述问题。

CDN 通常有如下两种部分方式:

1)Enter Deep:将服务器部署在尽量多的 Access ISP,通过减少用户和服务器之间的距离降低延迟。但同时由于如此广泛的部署,对于如此大量分散的服务器的维护将变得非常困难

2)将大规模的服务器部署在 Internet Exchange Points(IXP),从而降低维护成本,但伴随着更高的延迟和更低的吞吐量

事实上 CDN 不会将所有的 Video 预先复制到所有的 Cluster 中,而是会采用一种简单拉取的策略:如果 Client 向一个 Cluster 拉取一个 Video,若该 Video 不存在,则 Cluster 会一边从 Central Repository 或者其他 Cluster 拉取 Video 缓存到本地,一边向 Client 发送数据流。

那么如何将用户的请求截取并转发至 CDN Server?例如要观看 www.abc.com 的 Video,则 Local DNS Server 会向 abc Authoritative DNS Server 发送 DNS 请求,但是 abc Authoritative DNS Server 并不会直接返回 IP,而是会返回例如 King CDN 的 Authoritative DNS Server,之后 Local DNS Server 再向 King CDN 的 Authoritative 发起 DNS 请求,获取 DNS Server 的 IP,从而实现请求的转发。

Cluster Selection Strategies

如何为某个 Client 选择 CDN 中最优的 Cluster 是整个 CDN 体系中最为核心的问题,已知 CDN 能够获知 Local DNS Server 的 IP 地址,因此有如下几种策略:

1)在大多数情况下,选择地理上距离 Local DNS Server 最近的 Cluster 即可,但是对于某些情况下,地理距离上的最近并不代表网络距离上的最近,而且有的 Client 可能会使用远程的 Local DNS Server,另外这种相对固定的策略并没有考虑到网络的延迟和带宽会随着时间的推移而发生变化。

2)另一种方法是 CDN 会让它所有的 Cluster 定期地给全世界的 Local DNS Server 发送心跳,从而对两者之间的延迟进行实时地测量,从而动态地对 Client 和 CDN Cluster 进行匹配,但这种方法的问题是,并不是所有 Local DNS Server 都会对 Cluster 的心跳作出回应。

 

《计算机网络自顶向下方法-第七版》第一章总结

《计算机网络自顶向下方法-第七版》第一章总结

1. 什么是Internet

1.1.1 Internet概述

Internet用于将世界上各种各样的终端设备(hosts或者end systems)连接到一起,各种设备通过communication links以及packet switches进行连接。communication links具有各种不同的材质,因而有着不同的传输速率,packet switch从coming communication links获取数据包并发送到一个outgoing communication link中。packet switch分为link-layer switches和router两种,前者主要用于access network,后者主要用于network core。

各个终端系统通过residential ISP加入Internet,每个residential ISP都是一个由communication links和packet switch组成的network,如果要让全世界的终端都能互相连接,还需要让更上层的ISP将residential ISP互联,上层的ISP由高速router以及光纤互联,每个ISP network都独自运行管理。

最后,终端系统以及packet switch收发数据包需要协议进行控制,当前主流的协议即TCP/IP。

1.1.2 A Services Description

从另一个角度来说,我们可以把Internet看作为运行在终端系统中的应用提供服务的基础设施,连接到Internet中的终端系统为运行其上的应用提供了一系列标准接口,即Socket Interface,通过调用它们,运行在一个终端系统上的应用能利用Internet基础设施将数据发送到另一个终端上的应用。

1.1.3 协议是什么?

协议定义了两个或多个通信实体之间进行交互的消息的格式和顺序,以及当收到或者发送消息以及其他事件之后,应该采取的行动。

1.2 Network Edge

1.2.1 Access Networks

Access Networks是指将终端系统连接到第一个router(也称edge router)的network,access network可以根据使用场景进行划分,每种场景下又有多种技术可供选择,具体如下:

Home Access:DSL, Cable, FTTH, Dial-up and Satellite

DSL:利用了原有的电话系统,DSL modem将数字信号转换为模拟信号,连同电话数据传输到电话公司的Central Office(CO),CO的DSLAM将两种信号进行分流,分别流入Internet和电话网络,同时接收端也有Splitter用来分流。信道根据频率被划分为三部分,分别为普通的双向电话信道,网络数据的上传信道以及下传信道。DSL仅适用于近距离传输。

Cable:和DSL类似,Cable利用了已有的Cable Television的基础实施,大概五百到五千户家庭通过Coaxial Cable连接到一个Fiber Node,Fiber Node再通过Fiber Cable传输到CMTS,CMTS和DSL中的DSLAM类似,用于将模拟信号转换为数字信号并转入Internet,当然Cable也有cable modems和PC相连。Cable Internet Access一个非常重要的属性是它其实是一种共享的广播介质,它的上传以及下载的信道都是所有用户共享的。因此在上传时需要Multiple Access Protocol用于协调传输并且避免冲突。

FTTH:根据架构可分为Active Optical Networks(AONs)和Passive Optical Networks(PONs),AON实际上就是switched Ethernet。对于PON,每家都有一个叫ONT的设备,用户可以将home router连接到ONT上从而访问Internet。多个家庭的ONT再通过Optical Splitter连接到一条光纤并连向CO,CO中有一个叫OLT的设备将光信号转换为电信号,并且通过telco router连接到Internet。

 

关于计算机网络谢希仁第七版 第四章 答案计算机网络谢希仁第七版 第四章 课后答案的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于《计算机网络·自顶向下方法》第七版 第一章 课后习题与问题 答案、《计算机网络·自顶向下方法》第七版 第三章 课后习题与问题 答案、《计算机网络自顶向下方法 - 第七版》第二章总结、《计算机网络自顶向下方法-第七版》第一章总结的相关知识,请在本站寻找。

本文标签: