第一章
R1. “主机”和“端系统”之间有什么不同?列举几种不同类型的端系统。Web服务器是一种端系统吗?
主机和端系统没有什么区别。
端系统包括电脑、手机、工作站、网络服务器等。
Web服务器是端系统。
R4.列出6种接入技术。将它们分类为住宅接入、公司接入或广域无线接入。
(1)通过电话线的拨号调制解调器:住宅接入
(2)数字用户线DSL:住宅接入
(3)电缆因特网接入:住宅接入
(4)100Mbps以太网:公司接入
(5)WiFi:家庭或企业
(6)3G、4G、5G:广域无线接入
R7.以太LAN的传输速率是多少?
以太LAN的传输速率包括10Mbps、100Mbps、1Gbps、10Gbps
R10.描述今天最为流行的无线因特网接入技术。对它们进行比较和对照。
(1)WiFi:属于无线局域网,WiFi用户必须位于接入点的几十米范围内。
(2)3G、4G、5G:属于广域无线接入网,通过电信服务商提供的基站连接。可以提供基站数万米范围内的无线网。
R12.与分组交换网络相比,电路交换网络有哪些优点?在电路交换网络中,TDM比FDM有哪些优点?
分组交换不适合实时服务,因为它的端到端时延是可变的和不可预测的。而电路交换网络可以在响应时间内保证一定端到端的时延。
对于TDM,时间被划分为固定期间的帧,每个帧被划分为固定数量的时隙。TDM与FDM相比,TDM更适用于数字信号传输。
R20.假定端系统A要向端系统B发送一个大文件。在一个非常高的层次上,描述端系统怎样从该文件生成分组。当这些分组之一到达某分组交换机时,该交换机使用分组中的什么信息来决定将该分组转发到哪一条链路上?因特网中的分组交换为什么可以与驱车从一个城市到另一个城市并沿途询问方向相类比?
A将大文件拆分为块,并向每一个块中添加文件头信息,从而生成多个数据包。数据包的头部信息包含目标B的IP地址信息。
交换机通过数据包中的目的IP地址来决定将该分组转发到哪一条链路。
车根据特定的路线到达另一个城市,而分组交换的数据包根据其头部数据中的目的IP地址决定被转发到哪里。
R23. 因特网协议栈中的5个层次有哪些?在这些层次中,每层的主要任务是什么?
应用层:网络应用程序及他们的应用层协议存储的地方。
运输层:在应用程序端点之间传送应用层报文。
网络层:将称为数据报的网络层分组从一台主机移动到另一台主机。
链路层:将网络层的分组从一个节点(主机或路由器)移动到路径上的下一个节点。
物理层:将链路层的帧中的一个个比特从一个节点移动到下一个节点。
P2.式(1-1)给出了经传输速率为R的N段链路发送长度L的一个分组端到端时延。对于经过N段链路一个接一个地发送P个这样的分组,一般化地表示出这个公式。
第⼀个分组到达⽬的地的时间为:N ∗ (L/R),全部P个分组到达⽬的地的时间为:N ∗ (L/R) + (P − 1) ∗ (L/R) = (N + P −1) ∗ (L/R)
P7.在这个习题中,我们考虑从主机A向主机B通过分组交换网发送语音(VoIP)。主机A将模拟语音转换为传输中的64kbps数字比特流。然后主机A将这些比特分为56字节的分组。A和B之间有一条链路:它的传输速率是2Mbps,传播时延是10ms。一旦A收集了一个分组,就将它向主机B发送。一旦主机B接收到一个完整的分组,它将该分组的比特转换成模拟信号。从比特产生(从位于主机A的初始模拟信号起)的时刻起,到该比特被解码(在主机B上作为模拟信号的一部分),花了多少时间?
主机 A 产⽣ 56 字节的分组需要:56 ∗ 8b/64kbps = 7ms
传输时延:56 ∗ 8b/2Mbps = 0.224ms
总时间:7ms + 10ms + 0.224ms = 17.224ms
P13.
a.假定有N个分组同时到达一条当前没有分组传输或排队的链路。每个分组长为L,链路传输速率为R。对N个分组而言.其平均排队时延是多少?
b.现在假定每隔LN/R秒有N个分组同时到达链路。一个分组的平均排队时延是多少?
(a)第⼀个分组的排队时延为 0, 第⼆个 L/R,第三个 2L/R,第N个(N − 1)L/R
因此平均排队时延为(L/R + 2L/R + … + (N − 1)L/R)/N = (N − 1)L/2R
(b)当下⼀批N个分组到达时,上⼀批已经传完,因此平均排队时延为 (N − 1)L/2R
P17.
a对于不同的处理速率、传输速率和传播时延,给岀1.4.3节中式(1-2)的一般表达式。
b.重复(a),不过此时假定在每个节点有平均排队时延dqueue .
(a)
d=∑_(q=1)^N〖d_proc+d_trans+d_prop 〗
(b)
d=∑_(q=1)^N〖d_proc+d_trans+d_prop +d_queue〗
P20.考虑对应于图1-20b吞吐量的例子。现在假定有M对客户-服务器而不是10对。用Rs、Rc和R分别表示服务器链路、客户链路和网络链路的速率。假设所有的其他链路都有充足容量,并且除了由这M对客户-服务器产生的流量外,网络中没有其他流量。推导出由Rs、Rc和R和M表示的通用吞吐量表达式。
min{Rs, Rc, R/M}
P31.在包括因特网的现代分组交换网中,源主机将长应用层报文(如一个图像或音乐文件)分段为较小的分组并向网络发送。接收方则将这些分组重新装配为初始报文。我们称这个过程为报文分段.图1-27显示了一个报文在报文不分段和报文分段情况下的端到端传输。考虑一个长度为8x106比特的报文,它在图1-27中从源发送到目的地。假定在该图中的每段链路都是2Mbps。忽略传播排队和处理时延。
a.考虑从源到目的地发送该报文且没有报文分段。从源主机到第一台分组交换机移动报文需要多长时间?记住,每台交换机均使用存储转发分组交换,从源主机移动该报文到目的主机需要多长时间?
b.现在假定该报文被分段为800个分组,每个分组10 000比特长。从源主机移动第一个分组到第一台交换机需要多长时间?从第一台交换机发送第一个分组到第二台交换机,从源主机发送第二个分组到第一台交换机各需要多长时间?什么时候第二个分组能被第一台交换机全部收到?
c.当进行报文分段时,从源主机向目的主机移动该文件需要多长时间?将该结果与(a)的答案进行比较并解释之。
d.除了减小时延外,使用报文分段还有什么原因?
e.讨论报文分段的缺点。
(a)8 ∗ 106 /2Mbps = 4s
3 ∗ 4s = 12s
(b) 1 ∗ 104 b/2Mbps = 5 ∗ 10−3s
2 ∗ 5 ∗ 10−3s = 10−2s
(c)(800 + 3 − 1) ∗ 0.5 ∗ 10−2 = 4.01s
可以看到,(c)⽐ (a) 快⾮常多
(d)报文分段便于检测错误并重传,若没有报文分段,出现错误时,整个报文都要重传;
分组转发时,路由器一般优先转发较大的文件,若没有报文分段,可能导致小的文件延迟过高。
(e)在目的端,需要将分组后的数据重新排序、组合成原文件;
报文分段需要为每个分组添加头部信息,会导致要传输的数据变多。
第二章
R3.对两进程之间的通信会话而言,哪个进程是客户,哪个进程是服务器?
客户:发起通信的进程
服务器:等待被联系的进程
R5.运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程?
⽬标主机的IP地址和⽬标进程的套接字端⼝号。
R24. CDN通常采用两种不同的服务器放置方法之一。列举并简单描述它们。
(1)深入。通过在遍及全球的接入ISP中部署服务器集群来深入到ISP的接入网中。
(2)邀请做客。通过自少量关键位置建造大集群来邀请到ISP家做客。不是将集群放在接入ISP中,这些CDN通常将他们的集群放置在因特网交换点。
R26. 2. 7节中所描述的UDP服务器仅需要一个套接字,而TCP服务器需要两个套接字。为什么?如果TCP服务器支持几个并行连接,每条连接来自不同的客户主机,那么TCP服务器将需要多少个套接字?
UDP服务器,没有欢迎套接字,来⾃不同客户端的所有数据都通过这个套接字进⼊服务器。
对于TCP服务器,有⼀个欢迎套接字,每次客户端启动到服务器的连接时,都会创建⼀个新的套接字。因此,为了⽀持n个同时连接,服务器需要n+1个套接字。
P3.考虑一个要获取给定URL的Web文档的HTTP客户。该HTTP服务器的IP地址开始时并不知道。在这种情况下,除了 HTTP外,还需要什么运输层和应用层协议?
运输层协议:UDP,TCP
应⽤层协议:DNS和HTTP
P17.考虑用POP3访问你的电子邮件.
a. 假定你已经配置以下载并删除模式运行的POP邮件客户。完成下列事务:
C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: blah blah . . .
S: . . . . . . . . . . blah
S: .
?
?
b. 假定你已经配置以下载并保持模式运行的POP邮件客户。完成下列事务:
C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: blah blah . . .
S: . . . . . . . . . . blah
S: .
?
?
c.假定你已经配置以下载并保持模式运行的POP邮件客户。使用(b)中的记录,假定你检索报文1和2,退出POP, 5分钟以后,你再访问POP以检索新电子邮件。假定在这5分钟间隔内,没有新报文发送给你。给出第二种POP会话的记录。
(a)
C: dele 1
C: retr 2
S: blah blah …
S: ……… ..blah
S: .
C: dele 2
C: quit
S: +OK POP3 server signing off
(b)
C: retr 2
S: blah blah …
S: ………..blah
S:
C: quit
S: +OK POP3 server signing off
(c)
C: list
S: 1 498
S: 2 912
S:
C: retr 1
S: blah …..
S: ….blah
S:
C: retr 2
S: blah blah …
S: ………..blah
S:
C: quit
S: +OK POP3 server signing off
P20.假定你能够访问所在系的本地DNS服务器中的缓存。你能够提出一种方法来粗略地确定在你所在系的用户中最为流行的Web服务器(你所在系以外)吗?解释原因。
可以定期查看DNS缓存。越流行的Web服务器被访问的越频繁,出现在DNS缓存的频率就越高。
第三章
R3.考虑在主机A和主机B之间有一条TCP连接。假设从主机A传送到主机B的TCP报文段具有源端口号x和目的端口号y。对于从主机B传送到主机A的报文段,源端口号和目的端口号分别是多少?
源端⼝号:y
⽬的端⼝号:x。
R7.假定在主机C上的一个进程有一个具有端口号6789的UDP套接字。假定主机A和主机B都用目的端口号6789向主机C发送一个UDP报文段。这两台主机的这些报文段在主机C都被描述为相同的套接字吗?如果是这样的话,在主机C的该进程将怎样知道源于两台不同主机的这两个报文段?
是相同的套接字。
可以根据源IP地址来确定。
R15.假设主机A通过一条TCP连接向主机B发送两个紧接着的TCP报文段。第一个报文段的序号为90, 第二个报文段序号为110。
a.第一个报文段中有多少数据?
b.假设第一个报文段丢失而第二个报文段到达主机B。那么在主机B发往主机A的确认报文中, 确认号应该是多少?
(a) 20 bytes
(b) 确认号为90
R17.假设两条TCP连接存在于一个带宽为R bps的瓶颈链路上。它们都要发送一个很大的文件(以相同方向经过瓶颈链路),并且两者是同时开始发送文件。那么TCP将为每条连接分配什么样的传输速率?
每条连接的传输速率为R/2
P2.考虑图3-5。从服务器返回客户进程的报文流中的源端口号和目的端口号是多少?在承载运输层报文段的网络层数据报中,IP地址是多少?
假设主机A、B和C的IP地址分别为a、b、c。
主机A:源端⼝=80,源IP地址=b,⽬的端⼝=26145,⽬的IP地址=a
到主机C,左进程:源端⼝=80,源IP地址=b,⽬的端⼝=7532,⽬的IP地址=c
到主机C,右进程:源端⼝=80,源IP地址=b,⽬的端⼝=26145,⽬的IP地址=c。
P21. 假定我们有两个网络实体A和B。B有一些数据报文要通过下列规则传给A。当A从其上层得到一个请求,就从B获取下一个数据(D)报文。A必须通过A—B信道向B发送一个请求(R)报文。仅当B收到一个R报文后,它才会通过B—A信道向A发送一个数据(D)报文。A应当准确地将每份D报文的副本交付给上层。R报文可能会在A-B信道中丢失(但不会损坏);D报文一旦发出总是能够正确交付。两个信道的时延未知且是变化的。设计一个协议(给出FSM描述),它能够综合适当的机制,以补偿会丢包的A—B信道,并且实现在A实体中向上层传递报文。只采用绝对必要的机制。
A—B信道可能丢失消息,因此A需要在超时的时候重新发送消息。由于信道时延未知且会变化,因此A可能会发送重复的消息,这就需要设置序列号。
P28.主机A和B直接经一条100Mbps链路连接。在这两台主机之间有一条TCP连接。主机A经这条连接向主机B发送一个大文件。主机A能够向它的TCP套接字以高达120Mbps的速率发送应用数据,而主机B能够以最大50Mbps的速率从它的TCP接收缓存中读岀数据。描述TCP流量控制的影响。
由于链路容量的限制,A发送的速率最高为100 Mbps。当缓冲区已满时,主机B通过设置RcvWindow = 0向主机A发送停⽌发送数据的信号。然后主机A 停⽌发送,直到接收到RcvWindow > 0的TCP段为⽌。
P30. 考虑在3. 6. 1节中显示在第二种情况下的网络。假设发送主机A和B具有某些固定的超时值。
a. 证明增加路由器有限缓存的长度可能减小吞吐量λ out
b. 现在假设两台主机基于路由器的缓存时延,动态地调整它们的超时值(像TCP所做的那样)。增加缓存长度将有助于增加吞吐量吗?为什么?
(a)若超时值是固定的,⼀些包即使没有丢失也被重新传输.
(b)如果动态调整它们的超时值(像TCP所做的那样),那么增加缓存长度肯定有助于提⾼该路由器的吞吐量。
P40.考虑图3-58.假设TCP Reno是一个经历如上所示行为的协议,回答下列问题。在各种情况中,简要论证你的回答。
a.指出TCP慢启动运行时的时间间隔。
b.指出TCP拥塞避免运行时的时间间隔。
c.在第16个传输轮回之后,报文段的丢失是根据3个冗余ACK还是根据超时检测岀来的?
d.在第22个传输轮回之后,报文段的丢失是根据3个冗余ACK还是根据超时检测出来的?
e.在第1个传输轮回里,ssthresh的初始值设置为多少?
f.在第18个传输轮回里,ssthresh的值设置为多少?
g.在第24个传输轮回里,ssthresh的值设置为多少?
h.在哪个传输轮回内发送第70个报文段?
i.假定在第26个传输轮回后,通过收到3个冗余ACK检测出有分组丢失,拥塞的窗口长度和ssthresh的值应当是多少?
j.假定使用TCP Tahoe (而不是TCP Reno),并假定在第16个传输轮回收到3个冗余ACK。在第19个传输轮回,ssthresh和拥塞窗口长度是什么?
k.再次假设使用TCP Tahoe,在第22个传输轮回有一个超时事件。从第17个传输轮回到第22个传输轮回(包括这两个传输轮回),一共发送了多少分组?
(a)TCP 慢启动运行时的时间间隔:[1,6]和[23,26]
(b)TCP拥塞避免运行时的时间间隔:[6,16]和[17,22]
(c)根据3个冗余ACK检测出来的
(d)根据超时检测出来的
(e)ssthresh的值设置为32
(f)ssthresh的值设置为21
(g)ssthresh的值设置为14
(h)在第1次传输循环期间,数据包1被发送;数据包2-3在第2次发送中发送传输循环;数据包4-7在第3传输循环中发送;数据包8-15在第4个传输回合中发送;数据包16-31在第5个传输中发送数据包32-63在第6个传输回合中发送;数据包64-96被发送在第7次传输循环中。因此,在第7发送循环中发送分组70。
(i)拥塞的窗口长度为7,ssthresh的值为4
(j)ssthresh的值为21,拥塞的窗口长度为1
(k)一共发送了52个分组
第四章
R2. 我们注意到网络层功能可被大体分成数据平面功能和控制平面功能。数据平面的主要功能是什么? 控制平面的主要功能呢?
(1)数据平⾯,即网络层中每台路由器的功能。数据平面功能决定到达路由器输入链路之一的数据报如何转发到该路由器的输出链路之一。
(2)控制平⾯,即网络范围的逻辑。控制平面的功能控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。
R3.我们对网络层执行的转发功能和路由选择功能进行区别。路由选择和转发的主要区别是什么?
路由选择是指确定分组从源到目的地所采取的端到端路径的网络范围处理过程。路由选择发生的时间尺度长的多,通常用软件来实现。
转发是指将分组从一个输入链路端口转移到适当的输出链路接口的路由器本地动作。转发发生的时间尺度很短,通常用硬件实现。
R4.路由器中转发表的主要作用是什么?
路由器检查到达分组首部的一个或多个字段值,进而使用这些首部值在其转发表中索引,通过这种方法来转发分组。
R7.讨论为什么在高速路由器的每个输入端口都存储转发表的影子副本。
使用在每个输⼊端⼝处的阴影副本,转发决策能在每个输入输出端口本地做出,无需基于每个分组调用集中式路由选择处理器,因此避免了集中式处理的瓶颈。
R8.基于目的地转发意味着什么?这与通用转发有什么不同(假定你已经阅读4.4节,两种方法中哪种是软件定义网络所采用的)?
基于⽬的地的转发意味着到达路由器的数据报将仅基于数据报的最终⽬的地转发到输出接⼝。在通用转发中,一张匹配加动作表将基于目的地的转发表一般化了。因为能够使用网络层或链路层源和目的地址做出转发决定,所以转发设备更为准确地描述为“分组交换机”而不是第三层“路由器”或第二层“交换机”。
软件定义的⽹络采⽤通用转发。
R12. 描述在输出端口会出现分组丢失的原因。通过提高交换结构速率,能够防止这种丢失吗?
假设输⼊和输出线路速度相同,如果数据包到达单个输出端⼝的速率超过线路速度,则仍可能发⽣丢包。如果这种速率不匹配仍然存在,队列将变得越来越⼤,并最终溢出输出端⼝缓冲区,从⽽导致数据包丢失。请注意,提⾼开关结构的速度并不能防⽌此问题的发⽣。
R21.路由器有IP地址吗?如果有,有多少个?
每个接⼝都有⼀个IP地址。
R22. IP地址223. 1.3.27的32比特二进制等价形式是什么?
11011111 00000001 00000011 00011100
R24.假设在一个源主机和一个目的主机之间有3台路由器。不考虑分片,一个从源主机发送给目的主机的IP数据报将通过多少个接口?为了将数据报从源移动到目的地需要检索多少个转发表?
8接⼝;3个转发表。
R27. “路由聚合” 一词意味着什么?路由器执行路由聚合为什么是有用的?
(1)单个网络前缀通告多个网络的能力,称为路由聚合。
(2)路由聚合很有⽤,因为ISP可以使⽤这种技术向Internet的其他部分宣传ISP拥有的多个⽹络的单⼀前缀地址。
R32.通用转发与基于目的地转发有何不同?
基于⽬的地的转发意味着到达路由器的数据报将仅基于数据报的最终⽬的地转发到输出接⼝。在通用转发中,一张匹配加动作表将基于目的地的转发表一般化了。因为能够使用网络层或链路层源和目的地址做出转发决定,所以转发设备更为准确地描述为“分组交换机”而不是第三层“路由器”或第二层“交换机”。
P2. 假设两个分组在完全相同的时刻到达一台路由器的两个不同输入端口。同时假设在该路由器中没有其他分组。
a. 假设这两个分组朝着两个不同的输出端口转发。当交换结构使用一条共享总线时,这两个分组可能在相同时刻通过该交换结构转发吗?
b.假设这两个分组朝着两个不同的输岀端口转发。当交换结构使用经内存交换时,这两个分组可能在相同时刻通过该交换结构转发吗?
c.假设这两个分组朝着相同的输出端口转发。当交换结构使用纵横式时,这两个分组可能在相同时刻通过该交换结构转发吗?
(a)不能在相同时刻通过该交换结构转发。在共享总线上,⼀次只能发送⼀个数据包。
(b)不能在相同时刻通过该交换结构转发,因为⼀次只能进⾏⼀次内存读取或写⼊。
(c)不能在相同时刻通过该交换结构转发。
P4. 考虑下列交换机。假设所有数据报具有相同长度,交换机以一种分时隙、同步的方式运行,在一个 时隙中一个数据报能够从某输入端口传送到某输岀端口。其交换结构是纵横式的,因此在一个时隙中至多一个数据报能够传送到一个给定输出端口,但在一个时隙中不同的输出端口能够接收到来自不同输入端口的数据报,从输入端口到它们的输岀端口传送所示的分组,所需的时隙数量最小是多少?此时假定使用你所需要的任何输入排队调度方法(即此时没有HOL阻塞)。假定采用你能够设计的最差情况下的调度方案,且非空输入队列不会空闲,所需的时隙数量最大是多少?
所需的最⼩时隙数为3。
假定采用能够设计的最差情况下的调度方案,且非空输入队列不会空闲,所需的时隙数量最大是4个。
P6.考虑使用8比特主机地址的某数据报网络。假定一台路由器使用最长前缀匹配并具有下列转发表: 对这4个接口中的每个,给出相应的目的主机地址的范围和在该范围中的地址数量。
接⼝0的地址数量=26 = 64个 IP地址范围:00000000 - 00111111
接⼝1的地址数量=25 = 32个 IP地址范围:01000000 - 01011111
接⼝2的地址数量=26 + 25 = 64 + 32 = 96个 IP地址范围:01100000 – 01111111 ,10000000 - 10111111
接⼝3的地址数量=26 = 64个 IP地址范围:11000000 - 11111111
P8.考虑互联3个子网(子网1、子网2和子网3)的一台路由器。假定这3个子网的所有接口要求具有前缀223.1.17/24。还假定子网1要求支持多达60个接口,子网2要求支持多达90个接口,子网3要求支持多达12个接口。提供3个满足这些限制的网络地址(形式为a. b.c.d/x
223.1.17.0/26
223.1.17.128/25
223.1.17.192/28
P11.考虑一个具有前缀128. 119. 40. 128/26的子网。给出能被分配给该网络的一个IP地址(形式为xxx.xxx. xxx. xxx)的例子。假定一个ISP拥有形式为128. 119. 40. 64/26的地址块。假定它要从该地址块生成4个子网,每块具有相同数量的IP地址。这4个子网(形式为a. b. c. d/x)的前缀是什么?
128.119.40.128 - 128.119.40.191范围都可以被分配
前缀:128.119.40.64/28,128.119.40.80/28,128.119.40.96/28, 128.119.40.112/28.
P15. 假定在源主机A和目的主机B之间的数据报被限制为1500字节(包括首部)。假设IP首部为20字节,要发送一个5MB的MP3文件需要多少个数据报?解释你的答案是如何计算的。
每个TCP段也有20个字节的首头信息。因此,每个数据报可以携带1500-40=1460字节的MP3⽂件。
需要的数据报数为 5×106 /1460=3425。
P16.考虑在图4-25中建立的网络。假定ISP现在为路由器分配地址24.34.112.235,家庭网络的网络地址是 192. 168. 1/24。
a.在家庭网络中为所有接口分配地址。
b.假定每台主机具有两个进行中的TCP连接,所有都是针对主机128.119. 40. 86的80端口的。在NAT转换表中提供6个对应表项。
(a) 家庭地址:192.168.1.1、192.168.1.2、192.168.1.3,路由器接⼝为192.168.1.4
(b)
WAN | LAN |
---|---|
24.34.112.235, 4000 | 192.168.1.1, 3345 |
24.34.112.235, 4001 | 192.168.1.1, 3346 |
24.34.112.235, 4002 | 192.168.1.2, 3445 |
24.34.112.235, 4003 | 192.168.1.2, 3446 |
24.34.112.235, 4004 | 192.168.1.3, 3545 |
24.34.112.235, 4005 | 192.168.1.3, 3546 |
P19. 考虑显示在图4-30中的SDN OpenFlow网络。假定对于到达s2的数据报的期望转发行为如下:
来自主机h5或h6并且发往主机h1或h2的任何数据报应当通过输出端口2转发到输入端口1。
来自主机h1或并且发往主机h5或h6的任何数据报应当通过输出端口1转发到输入端口2。
任何在端口 1或2到达并且发往主机h3或h4的数据报应当传递到特定的主机。
主机h3和h4应当能够向彼此发送数据报。
详述实现这种转发行为的s2中的流表项。
S2 Flow Table | |
---|---|
Match | Action |
Ingress Port = 1; IP Src = 10.3.. ; IP Dst = 10.1.. | Forward (2) |
Ingress Port = 2; IP Src = 10.1.. ; IP Dst = 10.3.. | Forward (1) |
Ingress Port = 1; IP Dst = 10.2.0.3 | Forward (3) |
Ingress Port = 2; IP Dst = 10.2.0.3 | Forward (3) |
Ingress Port = 1; IP Dst = 10.2.0.4 | Forward (4) |
Ingress Port = 2; IP Dst = 10.2.0.4 | Forward (4) |
Ingress Port = 4 | Forward (3) |
Ingress Port = 3 | Forward (4) |
第五章
R2. 基于逻辑上集中控制的控制平面意味着什么?在这种有情况下,数据平面和控制平面是在相同的设备或在分离的设备中实现的吗?请解释。
逻辑集中控制是指逻辑集中控制器计算并分发转发表以供每台路由器使用的情况。
在逻辑集中控制的情况下,数据平⾯和控制平⾯在单独的设备中实现;
控制平⾯在中央服务器或多个服务器上实现,数据平⾯在每个路由器中实现。
R4. 比较和对照链路状态和距离矢量这两种路由选择算法。
(1)链路状态算法:具有全局状态信息的算法
(2)距离矢量算法:一种迭代的、异步的、分布式的算法。每个节点维护到网络中所有其他节点的距离估计的向量。
R10.定义和对比下列术语:子网、前缀和BGP路由。
(1)⼦⽹是较⼤⽹络的⼀部分;⼦⽹不包含路由器;其边界由路由器和主机接⼝定义。
(2)每个前缀表示一个子网或一个子网的集合。
(3)当路由器通过BGP连接通告前缀时,它在前缀中包含一些BGP属性。用BGP术语来说,前缀及其属性称为路由。
R13.是非判断题:当BGP路由器从它的邻居接收到一条通告的路径时,它必须对接收路径增加上它自己的标识,然后向其所有邻居发送该新路径。解释理由。
错误。
因为BGP是⼀种基于策略的路由选择协议,因此BGP路由器可以选择不将⾃⼰的标识添加到接收到的通告的路径中,然后将新路径发送到其所有邻居。
R14.描述在SDN控制器中的通信层、网络范围状态管理层和网络控制应用程序层的主要任务。
(1)通信层:SDN控制器和受控网络设备之间的通信。
(2)⽹络范围状态管理层:由SDN控制平面所做出的最终控制决定,将要求控制器具有有关网络的主机、链路、交换机和其他SDN控制设备的最新状态信息。
(3)⽹络控制应⽤程序层:控制器通过它的“北向“接口与网络控制应用程序交互。
R19.列举4种不同类型的ICMP报文。
回显回答(对Ping的回答):类型0,代码0
⽬的⽹络不可达:类型3,代码0
目的主机不可达:类型3,代码1
目的协议不可达:类型3,代码2
R20. 在发送主机执行Traceroute程序,收到哪两种类型的ICMP报文?
ICMP告警报文(类型11代码0)
目的端口不可达(类型3代码3)。
R23. SNMP陷阱报文的目的是什么?
SNMP陷阱报文用于通知管理服务器,一个异常情况(例如一个链路接口启动或关闭)已经导致了MIB对象值的改变。
P3. 考虑下面的网络。对于标明的链路开销,用Dijkstra的最短路算法计算出从兀到所有网络节点的最短路径。通过计算一个类似于5-1的表,说明该算法是如何工作的。
step | N | D(t),p(t) | D(u),p(u) | D(v),p(v) | D(w),p(w) | D(y),p(y) | D(z),p(z) |
---|---|---|---|---|---|---|---|
0 | x | ∞ | ∞ | 3,x | 6,x | 6,x | 8,x |
1 | xv | 7,v | 6,v | 3,x | 6,x | 6,x | 8,x |
2 | xvu | 7,v | 6,v | 3,x | 6,x | 6,x | 8,x |
3 | xvuw | 7,v | 6,v | 3,x | 6,x | 6,x | 8,x |
4 | xvuwy | 7,v | 6,v | 3,x | 6,x | 6,x | 8,x |
5 | xvuwyt | 7,v | 6,v | 3,x | 6,x | 6,x | 8,x |
6 | xvuwytz | 7,v | 6,v | 3,x | 6,x | 6,x | 8,x |
P4.考虑习题P3中所示的网络,使用Dijkstra算法和一个类似5-1的表,说明你做的工作。
a.计算出从t到所有网络节点的最短路径。
b.计算出从u到所有网络节点的最短路径。
c.计算出从v到所有网络节点的最短路径。
d.计算出从w到所有网络节点的最短路径。
e.计算出从y到所有网络节点的最短路径。
(a)
step | N | D(x),p(x) | D(u),p(u) | D(v),p(v) | D(w),p(w) | D(y),p(y) | D(z),p(z) |
---|---|---|---|---|---|---|---|
0 | x | ∞ | 2,t | 4,t | ∞ | 7,t | ∞ |
1 | xv | ∞ | 2,t | 4,t | 5,u | 7,t | ∞ |
2 | xvu | 7,v | 2,t | 4,t | 5,u | 7,t | ∞ |
3 | xvuw | 7,v | 2,t | 4,t | 5,u | 7,t | ∞ |
4 | xvuwy | 7,v | 2,t | 4,t | 5,u | 7,t | 15,x |
5 | xvuwyt | 7,v | 2,t | 4,t | 5,u | 7,t | 15,x |
(b)
step | N | D(x),p(x) | D(t),p(t) | D(v),p(v) | D(w),p(w) | D(y),p(y) | D(z),p(z) |
---|---|---|---|---|---|---|---|
0 | x | ∞ | 2,u | 3,u | 3,u | ∞ | ∞ |
1 | xv | ∞ | 2,u | 3,u | 3,u | 9,t | ∞ |
2 | xvu | 6,v | 2,u | 3,u | 3,u | 9,t | ∞ |
3 | xvuw | 6,v | 2,u | 3,u | 3,u | 9,t | ∞ |
4 | xvuwy | 6,v | 2,u | 3,u | 3,u | 9,t | 14,x |
5 | xvuwyt | 6,v | 2,u | 3,u | 3,u | 9,t | 14,x |
6 | xvuwytz | 6,v | 2,u | 3,u | 3,u | 9,t | 14,x |
(c)
step | N | D(x),p(x) | D(u),p(u) | D(t),p(t) | D(w),p(w) | D(y),p(y) | D(z),p(z) |
---|---|---|---|---|---|---|---|
0 | v | 3,v | 3,v | 4,v | 4,v | 8,v | ∞ |
1 | vx | 3,v | 3,v | 4,v | 4,v | 8,v | 11,x |
2 | vxu | 3,v | 3,v | 4,v | 4,v | 8,v | 11,x |
3 | vxut | 3,v | 3,v | 4,v | 4,v | 8,v | 11,x |
4 | vxutw | 3,v | 3,v | 4,v | 4,v | 8,v | 11,x |
5 | vxutwy | 3,v | 3,v | 4,v | 4,v | 8,v | 11,x |
6 | vxutwyz | 3,v | 3,v | 4,v | 4,v | 8,v | 11,x |
(d)
step | N | D(x),p(x) | D(u),p(u) | D(v),p(v) | D(t),p(t) | D(y),p(y) | D(z),p(z) |
---|---|---|---|---|---|---|---|
0 | w | 6,w | 3,w | 4,w | ∞ | ∞ | ∞ |
1 | wu | 6,w | 3,w | 4,w | 5,u | ∞ | ∞ |
2 | wuv | 6,w | 3,w | 4,w | 5,u | 12,v | ∞ |
3 | wuvt | 6,w | 3,w | 4,w | 5,u | 12,v | ∞ |
4 | wuvtx | 6,w | 3,w | 4,w | 5,u | 12,v | 14,x |
5 | wuvtxy | 6,w | 3,w | 4,w | 5,u | 12,v | 14,x |
6 | wuvtxyz | 6,w | 3,w | 4,w | 5,u | 12,v | 14,x |
(e)
step | N | D(x),p(x) | D(u),p(u) | D(v),p(v) | D(w),p(w) | D(t),p(t) | D(z),p(z) |
---|---|---|---|---|---|---|---|
0 | y | 6,y | ∞ | 8,y | ∞ | 7,y | 12,y |
1 | yx | 6,y | ∞ | 8,y | 12,x | 7,y | 12,y |
2 | yxt | 6,y | 9,t | 8,y | 12,x | 7,y | 12,y |
3 | yxtv | 6,y | 9,t | 8,y | 12,x | 7,y | 12,y |
4 | yxtvu | 6,y | 9,t | 8,y | 12,x | 7,y | 12,y |
5 | yxtvuw | 6,y | 9,t | 8,y | 12,x | 7,y | 12,y |
6 | yxtvuwz | 6,y | 9,t | 8,y | 12,x | 7,y | 12,y |
P5. 考虑下图所示的网络,假设每个节点初始时知道到它的每个邻居的开销。考虑距离向量算法,并显示在节点z中的距离表表项。
P7. 考虑下图所示的网络段。x只有两个相连邻居w与y。w有一条通向目的地u(没有显示)的最低开销路径,其值为5, y有一条通向目的地u的最低开销路径,其值为6。从w与y到u (以及w与y之间)的完整路径未显示出来。网络中所有链路开销皆为正整数值。
a.给出x对目的地w、y和u的距离向量。
b.给出对于c(x, w)或c(x, y)的链路开销的变化,使得执行了距离向量算法后,x将通知其邻居有一条通向u的新最低开销路径。
c.给出对c(x, w)或c(x, y)的链路开销的变化,使得执行了距离向量算法后,x将不通知其邻居有一条通向x的新最低开销路径。
(a)Dx(w) = 2, Dx(y) = 4, Dx(u) = 7
(b)如果c(x,y)变⼤或变⼩(只要c(x,y) >= 1),那么从x到u的最低开销路径仍然⾄少要花费7。因此c(x,y)的改变(如果c(x,y) >= 1)不会使x通知其邻居。
如果c(x,y) < 1,那么最低开销路径现在通过y,最低开销为 c(x,y) + 6。
如果c(x,w) < 1,那么u的最低开销路径将继续通过w,其成本将更改为5 + c(x,w)。x将通知它的邻居这个新的链路开销。如果c(x,w) > 6,那么最低开销路径现在经过y并花费了11;x将再次通知它的邻居这个新的开销。
(c) c(x,y) >= 1中的任何更改都不会导致x通知其邻居关于u的新的最⼩成本路径。
P14.考虑下图所示的网络。假定AS3和AS2正在运行OSPF作为其AS内部路由选择协议。假定AS1和AS4正在运行RIP作为其AS内部路由选择协议。假定AS间路由选择协议使用的是eBGP和iBGP。假定最初在AS2和AS4之间不存在物理链路。
a.路由器3c从下列哪个路由选择协议学习到了前缀x: OSPF、RIP, eBGP或iBGP?
b.路由器3a从哪个路由选择协议学习到了前缀x?
c.路由器1c从哪个路由选择协议学习到了前缀x?
d.路由器1d从哪个路由选择协议学习到了前缀x?
(a) eBGP
(b) iBGP
(c) eBGP
(d) iBGP
P15.参考前面习题P14,一旦路由器1d知道了x的情况,它将一个表项(x,I)放入它的转发表中。
a.对这个表项而言,I将等于I1还是I2?用一句话解释其原因。
b.现在假定在AS2和AS4之间有一条物理链路,显示为图中的虚线。假定路由器1d知道经AS2以及经AS3能够访问到x。I将设置为I~1~还是I~2~?用一句话解释其原因。
c.现在假定有另一个AS,它称为AS5,其位于路径AS2和AS4之间(没有显示在图中)。假定路由器1d知道经AS2 AS5 AS4以及经过AS3 AS4能够访问到x。I将设置为I~1~还是I~2~?用一句话解释其原因。
(a)I1,因为这个接⼝开始从1d到⽹关路由器1c的最低成本路径。
(b)I2。这两种路由都有相等的路径⻓度,但I2开始的路径有最近的下⼀跳路由器。
(c)I1。I1开始具有最短路径的路径。
第六章
R3.链路层协议能够向网络层提供哪些可能的服务?在这些链路层服务中,哪些在IP中有对应的服务? 哪些在TCP中有对应的服务?
成帧:在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧邓庄起来。
链路接入:媒体访问控制协议(MAC)规定了帧在链路上传输的规则。
可靠交付:当链路层协议提供可靠交付服务时,它保证无差错地经链路层移动每个网络层数据报。
TCP也提供可靠交付服务。
差错检测和纠正:许多链路层协议提供一种机制来检测比特差错。 IP和TCP也提供有限形式的差错检测,即因特网校验和。链路层的差错检测更复杂,并能准确地确定帧中的差错出现位置,并因此纠正这些错误。
R4.假设两个节点同时经一个速率为R的广播信道开始传输一个长度为L的分组。用dprop表示这两个节点之间的传播时延。如果dprop < L/R、会出现碰撞吗?为什么?
会发生碰撞。
R9. MAC地址空间有多大? IPv4的地址空间呢? IPv6的地址空间呢?
MAC地址空间:2^48
IPv4地址空间:2^32
IPv6地址空间:2^128
R11. ARP査询为什么要在广播帧中发送呢? ARP响应为什么要在一个具有特定目的MAC地址的帧中发送呢?
ARP査询在广播帧中发送的原因是,查询主机没有将哪个适配器地址对应于所述的IP地址。ARP响应的发送节点在发送时,已经知道目的MAC地址,因此不需要发送⼴播帧
R13.比较10BASE-T, 100BASE-T和吉比特以太网的帧结构。它们有什么不同吗?
帧结构相同
P3.假设某分组的信息部分(图6-3中的D)包含10字节,它由字符串“Networking”的8比特无符号二进制ASCII表示组成。对该数据计算因特网检验和。
01011101 11110011
P4.考虑前一个习题,但此时假设这10字节包含:
a数字1到10的二进制表示。
b.字母B到K (大写)的ASCII表示。
c.字母b到k (小写)的ASCII表示。
计算这些数据的因特网检验和。
P14.如图6-33所示,考虑通过两台路由器互联的3个局域网。
a.对所有的接口分配IP地址。对子网1使用形式为192. 168. 1. xxx的地址,对子网2使用形式为192.168. 2. xxx的地址,对子网3使用形式为192. 16& 3. xxx的地址。
b.为所有的适配器分配MAC地址。
c.考虑从主机E向主机B发送一个IP数据报。假设所有的ARP表都是最新的。就像在6.4.1节中对单路由器例子所做的那样,列举出所有步骤。
d.重复(c),现在假设在发送主机中的ARP表为空(并且其他表都是最新的)。
P15.考虑图6-33.现在我们用一台交换机代替子网网1和子网2之间的路由器,并且将子网2 和子网3之间的路由器标记为R1.
a.考虑从主机E向主机F发送一个IP数据报。主机E将请求路由器R1帮助转发该数据报吗?为什么?在包含IP数据报的以太网帧中,源和目的IP和MAC地址分别是什么?
b.假定E希望向B发送一个IP数据报,假设E的ARP缓存中不包含B的MAC地址。E将执行ARP查询来发现B的MAC地址吗?为什么?在交付给路由器R1的以太网帧(包含发向B的IP数据报)中,源和目的IP和MAC地址分别是什么?
(a)不会。E和F处于同一局域网内。
源IP=E的IP地址
⽬的地IP=F的IP地址
源MAC=E的MAC地址
⽬的地MAC=F的MAC地址
(b) 不会。因为它们不在同⼀个局域⽹上。
源IP=E的IP地址
⽬的地IP=B的IP地址
源MAC=E的MAC地址
⽬的地MAC=连接到⼦⽹的R1接⼝的MAC地址
P22.现在假定在图6-33最左边的路由器被一台交换机替换。主机A、B, C和D和右边的路由器以星形方式与这台交换机相连。当在下列场合传输该帧时,给出在封装该IP数据报的帧中的源和目的MAC地址:(i)从A到左边路由器;(ii)从左边路由器到右边的路由器;(iii)从右边的路由器到F。还要给出到达每个点时封装在该帧中的IP数据报中源和目的IP地址。
i)从A到交换机:
源MAC地址:00-00-00-00-00-00
⽬的地MAC地址:55-55-55-55-55-55
源IP:111.111.111.001
⽬的地IP:133.333.333.003
ii)从交换机到右路由器:
源MAC地址:00-00-00-00-00-00
⽬的地MAC地址:
55-55-55-55-55-55
源IP: 111.111.111.001
⽬的地IP: 133.333.333.003
iii)从右路由器到F:
源MAC地址: 88-88-88-88-88-88
⽬的地MAC地址:
99-99-99-99-99-99
源IP:
111.111.111.001
⽬的地IP: 133.333.333.003
P28.考虑图6-25中的单个交换VLAN,假定一台外部路由器与交换机端口 1相连。为EE和CS的主机和路由器接口分配IP地址。跟踪从EE主机向CS主机传送一个数据报时网络层和链路层所采取的步骤(提示:重读课文中对图6-19的讨论)。
P32.考虑在图6-30中具有等级拓扑的数据中心网络。假设现在有80对流,在第1和第9机架之间有10个流,在第2和第10机架之间有10个流,等等。进一步假设网络中的所有链路是10Gbps,而主机和TOR交换机之间的链路是1Gbps.
a.每条流具有相同的数据率;确定一条流的最大速率。
b.对于相同的流量模式,对于图6-31中高度互联的拓扑,确定一条流的最大速率。
c.现在假设有类似的流量模式,但在每个机架上涉及20台主机和160对流。确定对这两个拓扑的最大流速率。
(a)每个流均匀分布⼀个链路的容量,然后80个流通过B到接⼊路由器10Gbps链路,每条流的速率为10Gbps/80 = 125Mbps。
(b)在图5.31的拓扑中,第⼀层和第三层2交换机之间有四个不同的路径,⼀起为从机架1~4到机架9~12的流量提供40Gbps。类似地,第⼆层和第四层2交换机之间有四个链路,⼀起为来⾃机架5~8到13~16的业务提供40Gbps。因此,总的总带宽是80Gbps,每个流的速率为1Gbps。
(c)20台主机需要在TOR交换机对之间共享1Gbps带宽。因此,主机到主机的流速率为0.5Gbps。
第七章
R2. 在7.1节的分类法中,所确定的四种无线网络类型各是什么?你已经使用的是这些无线网络类型中的哪一种?
(a)单跳,基于基础设施
(b)单跳,无基础设施
(c)多跳,基于基础设施
(d)多跳,无基础设施
R4.随着移动节点离开基站越来越远,为了保证传送帧的丢失概率不增加,基站能够采取的两种措施是什么?
(1)增加传输功率
(2)降低传输率
R7.为什么802. 11中使用了确认,而有线以太网中却未使用?
当无线LAN中某站点发送一个帧时,该帧会由于多种原因不能无损地到达目的站点,为了除了这种不可忽略的故障情况,802.11 MAC使用链路层确认。
R11. 7. 3. 4节讨论了 802. 11移动性,其中无线站点从一个BSS到同一子网中的另一个BSS。当AP是通过交换机互连时,为了让交换机能适当地转发帧,一个AP可能需要发送一个带有哄骗的MAC地址的帧,为什么?
在新的帧形成后,让AP2以H1的源地址向交换机发送一以太网广播帧。当交换机收到该帧后,更新其转发表,使得H1可以通过AP2到达。
R19.永久地址与转交地址之间的区别是什么?谁指派转交地址?
1)永久地址:移动结点在从一个网络移动到另一个网络时保持其地址不变。
转交地址:由外部代理为移动节点创建的转交地址。
2)转交地址由外部代理指派。
P5.假设有两个ISP在一个特定的咖啡馆内提供WiFi接入,并且每个ISP有其自己的AP和IP地址块。
a.进一步假设,两个ISP都意外地将其AP配置运行在信道11。在这种情况下,802. 11协议是否将完全崩溃?讨论一下当两个各自与不同ISP相关联的站点试图同时传输时,将会发生什么情况。
b.现在假设一个AP运行在信道1,而另一个运行在信道11。你的答案将会有什么变化?
(a)不会。当两个各自与不同ISP相关联的站点试图同时传输时,会发生冲突。
(b)运行在不同的信道,不会发生冲突。
第八章
P19.考虑下面对于某SSL会话的一部分的Wireshark输出。
a.Wireshark分组112是由客户还是由服务器发送的?
b.服务器的IP地址和端口号是什么?
c.假定没有丢包和重传,由客户发送的下一个TCP报文段的序号将是什么?
d.Wireshark分组112包含了多少个SSL记录?
e.分组112包含了一个主密钥或者一个加密的主密钥吗?或者两者都不是?
f.假定握手类型字段是1字节并且每个长度字段是3字节,主密钥(或加密的主密钥)的第一个和最后一个字节的值是什么?
g.客户加密的握手报文考虑了多少SSL记录?
(a)由客户发出
(b)IP地址:216.75.194.220,端口:443
(c)283
(d)3个SSL记录
(e)包含一个加密的密钥。
(f)第一个字节:bc;最后一个字节:29
(g)6个SSL记录
P25.对于尽可能限制但能实现下列功能的一台有状态防火墙,提供一张过滤器表和一张连接表:
a. 允许所有的内部用户与外部用户创建会话。
b.允许外部用户冲浪公司位于222. 22. 0.12的Web站点。
c.否则阻挡所有入流量和出流量。内部网络为222.22/16。
在你的答案中,假设连接表当前缓存了 3个从内向外的连接。你需要虚构适当的IP地址和端口号。
筛选表:
行为 | 源地址 | 目标地址 | 协议 | 源端口 | 目标端口 | 标志位 | 校验连接 |
---|---|---|---|---|---|---|---|
允许 | 222.22/16 | 除了222.22/16 | TCP | > 1023 23 | any | ||
允许 | 除了 222.22/16 | 222.22/16 | TCP | 23 | > 1023 | ACK | x |
允许 | 除了 222.22/16 | 222.22.0.12 | TCP | >1023 | 80 | Any | |
允许 | 222.22.0.12 | 除了222.22/16 | TCP | 80 | >1023 | Any | |
拒绝 | All | all | all | all | all | All |
连接表:
源地址 | 目标地址 | 源端口 | 目标端口 |
---|---|---|---|
222.22.1.7 | 37.96.87.123 | 12699 | 23 |
222.22.93.2 | 199.1.205.23 | 37654 | 23 |
222.22.65.143 | 203.77.240.43 | 48712 | 23 |