文档库 最新最全的文档下载
当前位置:文档库 › 计算机网络习题解答

计算机网络习题解答

计算机网络习题解答
计算机网络习题解答

习题解答

1-1讲

1.网络有哪些构件?主机之间互联有哪几种方式?端系统上的现代操作系统通

常定义了哪些编程开发接口?

答:网络实体可以被抽象为两种基本构件:结点和链路。

主机之间互联有3种方式:①直接连接的方式,②间接连接的网络云方式;

(3) 间接连接的网络云互联方式。

端系统上的现代操作系统通常定义了两种编程开发接口:①系统与通信网连接的硬件接口,位于网络层与链路层之间,用以开发与各种不同的通信网连接的网络适配器的驱动程序;②操作系统与应用程序的接口,位于运输层与应用层之间,为编程人员提供了一套API以进行网络应用程序的开发。

2.参见图1-11,因特网具有大致分层的ISP等级结构。由此回答:为何说因特

网是网络的网络?每层ISP是否大致与地理范围对应?内容提供商正在以何种方式改变因特网的结构?

答:从ISP等级结构图可以看到,因特网由众多ISP网络互连而成,因此因特网可以称为网络的网络。

每层ISP大致与地理范围有对应关系:第一层ISP连接各个国家之间,覆盖洲际范围;第二层ISP连接各本地ISP,覆盖国家或区域范围;本地ISP直接连接用户,覆盖一个城市。

内容提供商如谷歌公司在全世界部署了一个专用的TCP/IP网络,用以连接约50个数据中心。每个数据中心具有几十万台到几百台不等的服务器,每时每刻会产生巨大的网络流量。谷歌专网不仅与第一层ISP相连,而且直接与更低层ISP相连,从而改变了因特网的结构。

3.什么叫做网络协议?构成协议的几个要素是什么?是否可以缺失其中的某个

要素?请举例说明原因。

答:网络协议是指为进行网络中的数据交换而建立的规则、标准或约定。

网络协议包括三个要素:语法、语义和定时。语法描述了数据与控制信息的结构或格式,语义定义了需要发出何种控制信息、完成何种动作以及做出何种响应等,定时给出了事件实现顺序的详细说明。

网络协议的三要素缺一不可,缺失语法则无法对分组进行解析,缺失语义则无法完成相应的动作,缺失定时则无法保证协议的正确执行。

举例来说:一组侦察兵约定下午5点到某高地集结。语法是中文,语义正确:有时间有地点有任务,但是缺少定时。万一有人在预定时间没有到达,如何办?因此,需要增加一条定时约束,如“过时自行返回”。

1-2讲

1.数据在各层之间的传递过程中,各层协议的首部起着什么作用?“水平的”协

议和“垂直的”服务之间有什么关系?

答:每层协议的首部定义了本层协议进行交互时需要的控制信息。

协议是控制(水平的)对等实体之间进行通信所需要的规则。协议的实现一方面需要利用(垂直的)下一层为其提供的服务,另一方面又能够为上一层提供服务。

2.TCP/IP体系结构具有哪些层次?该体系结构的主要特点是什么?

答:TCP/IP的体系结构层次自上而下是应用层、运输层、网络层和网络接口层。其中应用层可以定义各种网络应用协议,运输层提供可靠字节流服务和不可靠数据报服务两种服务,网络层只有一个网际协议IP,支持互联多种网络技术以形成一个逻辑网络,网络接口层包括诸如以太网、电话网等多种通信网络。

TCP/IP体系结构的特点包括:协议栈呈沙漏形状,IP作为体系结构的细腰,一方面IP之上可以通过运输层协议,为多种应用程序提供不同的信道抽象,即一切运行在IP之上;其次,多种异构网络可以通过IP实现互联互通,及IP运行在一切网络之上。这一设计理念能够使高层应用和底层通信网技术独立发展,大大提高了因特网的灵活性。

3.考虑一个长度为L的分组从端系统A开始,经一段链路传送到一台分组交换

机,并从该分组交换机经第二段链路传送到目的端系统。令d i、s i和R i表示链路i的长度、传播速度和传输速率(i=1,2)。该分组交换机对每个分组的时延为d proc。假定没有排队时延,根据d i、s i、R i (i=1,2)和L,该分组总的端到端时延是什么?现在假定该分组是1,000字节,分组交换机的处理时延是1 ms,第一段链路的长度是4,000km,并且最后一段链路的长度是1,000km。对于这些值,该端到端时延为多少?

答:

2

1(//)

i i i proc

i

L R d s d =

++

2-3讲

1.奈奎斯特公式与香农公式在数据通信中的意义是什么?比特/每秒和码元/每

秒有何区别和联系?

答:奈奎斯特公式给出了任何实际的信道所能传输的最大数据传输速率,而香农公式则指出信道的极限信息传输速率。

比特/每秒和码元/每秒可以相互转换,前者是从信息量角度描述信息传输速率,而后者是从码元角度衡量数据传输速率。如果每个码元仅有1比特信息,则两者在数值上是相等的;如果每个码元有n比特信息,则码元/每秒在数值上等于n倍比特/每秒。

2.常用的传输媒体有哪几种类型?它们的主要特点是什么?其中的多模光纤和

单模光纤各适用于什么场合?

答:常用的传输媒体可分为两大类,即导向传输媒体和非导向传输媒体。

在导向传输媒体中,电磁波被导向沿着固体媒体(铜线或光纤)传播,而非导向传输媒体通常指自由空间,在非导向传输媒体中电磁波的传输常称为无线传输。

光脉冲在多模光纤中传输时会逐渐展宽,造成失真,故多模光纤只适合于短距离传输。单模光纤可使光线一直向前传播,而不会产生多次反射,损耗较小,可进行高速率远距离传输。

3.与有线链路相比,无线链路通信有哪些重要的区别特征?

答:与有线链路相比,无线链路通信的特征是:

a. 衰减的信号强度:当电磁波穿过物体时,信号强度将减弱;

b. 来自其他源的干扰:在同一个频段发送信号的电波源将相互干扰。此外,环境中的电磁噪声也会形成干扰;

c. 多径传播:当电磁波的一部分受物体和地面反射,在发送方和接收方之间走了不同长度的路径,则会出现多径传播。这使得叠加后的信号变得时强时弱,难以控制。

2-4讲

1.假定用户共享一条2 Mbps链路。同时假定当每个用户传输时连续以1 Mbps传输,但每个用户仅传输20%的时间。

a. 当使用电路交换时,能够支持多少用户?

b. 对于该问题的遗留问题,假定使用分组交换。为什么如果两个或更少的

用户同时传输的话,在链路前面基本上没有排队时延?为什么如果3个用户同时传输的话,将有排队时延?

c.求出某指定用户正在传输的概率。

d. 假定现在有3个用户。求出在任何给定的时间,所有3个用户在同时传输的概率。求出排队增长的时间比率。

答:

a. 当使用电路交换时,信道带宽需要用户独占,最多智能支持2个用户。

b. 因为2Mbps 链路仅能容纳两个或更少的用户同时以1Mbps 连续传输时,这时统计上会有资源富余,而当3个用户同时传输时,统计上便会出现供不应求的现象,导致排队时延。

c. 每个用户仅可能有20%的时间在传输,因此正在传输的概率是p=0.2。

d. 其中传输概率由二项式公式决定:n

n p p n --?

??? ??3)1(3,其中n ≤3为传输用户数。当n=3时,上式=0.23×0.80=0.008。因为仅当n=3时排队才会增长,因此排队增长的时间比率也为0.008。

2. ADSL 的上下行带宽为何设计为不对称?

答:因为家庭用户较多将信息取回家,较少向网络提供信息。

3. 当前无线接入所使用的WiFi 技术基于何种标准?为何3G 技术经常要与WiFi 技术配合使用?

答:当前无线接入所使用的WiFi 技术基于IEEE 802.11。3G 技术的通信速率较低,约为几百kbps ,上网费用高;而WiFi 的通信速率为54Mbps 或以上,且上网费用低。因此,在有WiFi 的地方,就尽可能地使用WiFi ,而在没有WiFi 的地方就使用3G 技术。

3-5讲

1. 链路层协议能够向网络层提供哪些可能的服务?举例说明链路层协议相应的服务。

答:链路层协议能够向网络层提供的服务包括:成帧、差错检测、可靠交付、媒体访问、流量控制。

例如,HDLC 协议提供了数据链路层的成帧和CRC 检测功能等。

2. 考虑4 bit 的生成多项式G(x)=x 3+1,假设数据M(x)的值为10101010。附加比特R(x)的值是什么?

答:R(x)=101(需要过程)。

3. 在SW3协议中,从接收方向发送方流动的ACK 分组没有设置序号。为什么这些ACK 分组不需要序号呢?

答:在SW3协议中,发送方需要序号以便让接收方判断是否出现了分组冗余,而ACK 与发送的数据分组一一对应,不会出现ACK 的冗余,故ACK 分组不需要序号。

3-6讲

1. 在课件中给出了SW3的发送方FSM ,请画出协议SW3的接收方的FSM 。 答:协议SW3的接收方的FSM 如下图所示:

等待来自下层的0

extract(rcvpkt,data)deliver_data(data)

sndpkt = make_pkt(ACK1, chksum)udt_send(sndpkt)

rdt_rcv(rcvpkt) && (corrupt(rcvpkt) || has_seq1(rcvpkt))If(oncethru==1)udt_send(sndpkt)

SW3和SW2的接收方FSM

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) 等待来自下层的1

extract(rcvpkt,data)deliver_data(data)

sndpkt = make_pkt(ACK,0, chksum)udt_send(sndpkt)oncethru=1

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt)

&& has_seq1(rcvpkt) rdt_rcv(rcvpkt) && (corrupt(rcvpkt) || has_seq0(rcvpkt))

udt_send(sndpkt)

注意:SW2接收方与SW3接收方协议是相同的(SW3发送方协议的与SW2发送方协议的差异在于增加了超时机制。超时机制的引入增加了发送方到接收方数据流中冗余分组的可能性。然而,SW2接收方已经能够处理冗余分组了。即如果接收方发送的ACK 丢失,则在SW2接收方侧将出现冗余,发送方则会重传旧分组。)。

2. 考虑讨论流水线时的例子,网络跨越国家的例子。窗口长度设置成多少时,才能使该信道的利用率超过90%?

答:对于2.5Gbps 光传输系统,RTT 为35ms 。分组长L =1,500 byte ,发送时延:

9

15008/ 4.82.510trans

L bit pkt

t s R bps μ?===?

当一次仅传输一个分组,信道的利用率仅为:

/0.0048

0.000137

/35.0048L R U RTT L R =

==+

如果要使信道的利用率超过90%,窗口长度至少要大于:0.9/0.000137=6570,即一个发送窗口中,为得到应答的分组数量要大于6570个。

3. 考虑一种GBN 协议,其发送方窗口为3,序号范围为1,024。假设在时刻t ,接收方期待的下一个有序分组的序号是k 。假设媒体不会对报文重新排序。回答以下问题:

a. 在t 时刻,发送方窗口内的报文序号可能是多少?为什么?

b. 在t 时刻,在当前传播回到发送方的所有可能报文中,ACK 字段中所有可能值是多少?为什么?

答:一般而言,发送方窗口为N (本题中N=3)。

a. 一种情况是,接收方收到k-1号分组,并且对之前接收到的所有分组都进行了确认,且确认正确到达了发送方,那么发送方的窗口[k,k+N-1]。如果处于另一种极端,发送方未收到任何ACK ,窗口[k-N,k-1]。因此,窗口始于[k-N,k]中某一点,大小为3。

b. 接收方等待分组k ,收到和确认了k-1及其以前所有分组,如果这N 个ACK 未到达发送方,ACK 范围[k-N,k-1],由于发送方已经发送分组[k-N,k-1],所以肯定收到了ACK k-N-1,根据累积确认原理,接收方一旦对k-N-1进行确认,则不会再对小于k-N-1号分组确认,故而ACK 范围[k-N-1,k-1]。

4. 在SR 协议中,如果报文在窗口中,发送方就会不等待确认而传输报文。考虑设计一种新的SR 协议,一次发出一对报文,而且只有在知道第一对报文中的两个报文都正确到达后才发送第二对报文。

答:这种新的SR 协议可描述为下图:

Wait for pair of ACKs

(rdt_rcv(rcvpkt) && corrupt(rcvpkt)) ||(rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_not_ACK(seqnum)&& has_not_ACK(seqnum+1))

timeout

udt_send(sndpkt,seqnum)udt_send(sndpkt,seqnum+1)

Start_timer

Wait for odd ACK

(rdt_rcv(rcvpkt) && corrupt(rcvpkt)) ||(rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_ACK(seqnum))

timeout

udt_send(sndpkt,seqnum+1)Start_timer

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_ACK(seqnum)

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_ACK(seqnum+1)

seqnum = seqnum+2udt_send(sndpkt,seqnum)udt_send(sndpkt,seqnum+1)Start_timer

Wait for even ACK

timeout

udt_send(sndpkt,seqnum+1)Start_timer

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_ACK(seqnum+1)

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_ACK(seqnum)seqnum = seqnum+2udt_send(sndpkt,seqnum)udt_send(sndpkt,seqnum+1)Start_timer

(rdt_rcv(rcvpkt) && corrupt(rcvpkt)) ||(rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_ACK(seqnum+1))

发送方

Wait for pair of data

rdt_rcv(rcvpkt) && corrupt(rcvpkt)

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt)

&& has_seq(x)&& x!=seqnum && x!=seqnum+1

udt_send(ACK,x)

Wait for odd data

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq(seqnum)rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq(seqnum)

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq(seqnum+1)udt_send(sndpkt,seqnum+1)seqnum = seqnum+2

Wait for even data

rdt_rcv(rcvpkt) && corrupt(rcvpkt)

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq(seqnum+1)rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq(seqnum)udt_send(ACK,seqnum)seqnum = seqnum+2

rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq(seqnum+1)

接收方

udt_send(ACK,seqnum+1)

udt_send(ACK,seqnum)

rdt_rcv(rcvpkt) && corrupt(rcvpkt)

udt_send(ACK,seqnum+1)

udt_send(ACK,seqnum)

3-7讲

1. 在分析多路访问协议时进行了哪些假设?现有的几十种多路访问协议是如何分类的?这种分类的方法与结点数量和结点访问信道的频率是否有关?

答:分析多路访问协议时的假设有:

a. 结点。N 个独立结点,彼此独立地产生数据帧。在一个长度为Δt 时隙中生成一个帧的概率是λΔt ,其中λ是新帧的到达速率。

b. 单一信道。单一信道速率R bps 为所有发送方所用。所有结点能够在信道上发送和接收帧。结点的硬件为等同的,而协议软件可以为它们分配不同的优

先权。

c. 碰撞。如果两个帧同时传输,它们在时间上将重叠,导致碰撞帧的信号纠缠在一起无法分清。该事件被称为碰撞。所有结点都能够检测到碰撞。碰撞的帧必须在以后再次传输。

d. 时间。对于连续时间,能够在任意时刻开始传输帧。对于时隙时间,时间分为离散间隔(时隙)。帧总是在时隙起始时传输。一个时隙包含0、1 或多个帧,分别对应着空闲、成功传输或碰撞时隙。

e. 侦听。如果使用载波侦听,在试图使用信道前,结点能够分辨出信道是否正在使用。如果侦听到信道正在忙,任何结点将等待信道空闲后才会尝试使用它。如果不使用载波侦听,结点将直接传输帧,传输以后再来确定此次传输是否成功。

现有的几十种多路访问协议分为下列三类:信道划分协议、轮流协议和随机接入协议。

这种分类方法与结点数量和结点访问信道的频率有关系:当许多用户都有大量信息要发时,可使用信道划分协议;当许多用户都以较低概率发送信息时,可使用随机接入协议;而使用轮流协议的情况,介于这两种情况之间。

2. 我们讨论了时隙ALOHA 效率推导。本习题将继续这个推导。 (a)当有N 个活跃结点时,时隙ALOHA 的效率是1

(1)N Np p --。 求出使这个

表达式最大化的p 值。

(b)使用在(a)中求出的p 值,令N 接近于无穷,求出时隙ALOHA 的效率。(提

示:当N 接近于无穷时,(11/)N

N -接近于1/e 。)

(c)进一步说明纯ALOHA 的最大效率是1/(2)e 。

答:(a )当有N 个活跃结点时,时隙ALOHA 的效率是Np(1-p)N-1。对该式求导,并令导数为0,可得N(1-p)N-1-Np(N-1)(1-p)N-2 = 0。故使表达式最大化时,p=1/N 。

(b )代入p=1/N ,则Np(1-p)N-1=(1-1/N)N-1。当N 趋向于无穷时,上式的极限为1/e 。

(c )N 个活跃结点时,ALOHA 的效率是Np(1-p)2(N-1)。对该式取极限,得协议最大效率为:1/(2e)。

3-8讲

1. 考虑某让所有结点直接与一个集线器相连的100 Mbps 的100BASE-T 以太网。为了获得0.5的效率,结点和集线器之间的最大距离是多少?假设帧长为64 byte 并且中间没有转发器。这个最大距离也确保正在传输的结点A 能够检测出当A 在传输时是否有其他任何结点在传输吗?为什么?你得到的最大距离和实际的100 Mbps 标准比较将有什么结论?

答:根据因特网的效率公式

01

0.515T τ=

+ ,因为传输一个帧 的时间为

0 5.76s T μ=,故有 1.152s τμ=,结点和集线器之间的最大距离d 为:

8d 1.152s*2*10/230.4m s m μ==。

又025T ττ<=,故能检测出其他在传输的结点。

最大距离远大于实际的100Mbps 标准200m ,说明理论是实践的参考,需考虑实际传输时的损耗等因素的影响。

2. 考虑在图3-26环境中的交换机的情况。假定①A 向D 发送一个帧,②D 向A 回答一个帧,③C 向D 发送一个帧,④D 向C 回答一个帧。该交换机表初始为空。显示在这些时间的前后该交换机表的状态。对于这些事件的每个,确定传输的帧在上面的转发的链路,并简要地论证你的答案。

答:对各接口编号如图所示,且假设过程中记录未发生超时。

路由器

结点C

适配器

交换机

至广域网

结点B

结点A

结点E

适配器

结点D

12

3

4

5

6

地址 接口 时间 MAC A

1

T1

由于初始表空,交换机接收到来到A 的帧后,首先记录MAC A 与接口1的对应关系,然后洪泛,向接口2、3、4转发。

地址接口时间

MAC A 1 T1

MAC D 4 T2

交换机接收到来到D对A的响应帧后,首先记录MAC D与接口4的对应关系,然后向接口1转发。

地址接口时间

MAC A 1 T1

MAC D 4 T2

MAC C 3 T3 交换机接收到来到C帧后,首先记录MAC C与接口3的对应关系,然后查表得到D对应接口4,便向接口4转发。

交换机接收到来到D对C的回答后,查表得到C对应接口3,便向接口3转发。

3-9讲

1.在IEEE 80

2.11 LAN体系结构中,有哪些重要的构件?能否将WLAN技术用于网络主干?

答:802.11体系结构的基本构件模块是基本服务集BBS。在一个BBS中通常包含一个或多个无线站点、一个接入点AP和无线信道。

由于无线信道速率较低且不够稳定,目前通常不将WLAN技术用于网络主干。

2.试描述IEEE 802.11CSMA/CA协议。假设IEEE 802.11 RTS和CTS帧与标准的DATA数据和ACK帧一样长,使用CTS和RTS帧还会有好处吗?为什么?

答:

(1)IEEE 802.11CSMA/CA协议可描述为:

如果信道中站点都能监听到其他站点之间的通信,则

a. 如果初始时某站点监听到信道空闲,它等待一个被称作分布式帧间间隔的短时间段后发送该帧。

b. 否则,站点选取一个随机回退值。当侦听到信道空闲时,递减该值;当侦听到信道忙时,计数值保持不变。

c. 当计数值减为0 时,站点发送整个数据帧并等待确认。

d. 如果收到确认,传输站点的得知其帧已被目的站正确接收了。如果该站点要发送另一帧,它将跳转第一步重新开始。如果未收到确认,传输站点将重新进入第二步中的回退阶段,并选取一个更大的范围的随机值。

如果信道中站点无法监听到其他站点之间的通信,则

a. 当发送方要发送一DATA 帧时,它能够首先向AP 发送一个RTS 帧,指出传输DATA 帧和确认帧需要的总时间。

b. 当AP 收到RTS 帧后,它广播一个CTS 帧作为响应,以给发送方明确的发送允许,也指示其他站点在预约期内不要发送。

c. 如果当两个站点RTS 发生碰撞,则不会在预定时间内收到CTS ,则站点可随机延迟后再重新发送RTS 预约信道。

(2)若RTS 和CTS 帧与标准的DATA 数据帧和ACK 帧一样长,则使用CTS 和RTS 帧预约信道就不再具有原先的优点了。设计CTS 和RTS 采用短帧就是要用短帧碰撞来代替长数据帧碰撞,即使产生了短帧的碰撞也不致浪费过大,从而提高了协议利用率。

3. 802.11帧中有4个地址字段。试画出这4个地址分别对应的802.11无线LAN 的环境。

答:802.11帧中有4个地址字段分别为:

地址1是接收该帧的无线主机或AP 的MAC 地址;地址2是传输该帧的无线主机或AP 的MAC 地址;地址3是与AP 连接的路由器接口的MAC 地址;地址4是仅用于自组织模式。

对应的802.11无线LAN 的环境图示如下:

因特网

路由器

AP

H1

R1AP MAC 地址H1 MAC 地址R1 MAC 地址地址1

地址2

地址3802.11

R1 MAC 地址AP MAC 地址目的地地址

源地址

802.3帧

4-10讲

1.根据图4-1,为什么说IP网络是一个虚拟网络?如果IP网络不实际传输分组,那么它的作用是什么?

答:直接连接的网络是能够实际传送分组的通信网,但它们通常覆盖区域较小、协议异构且没有统一的地址,无法互联互通。设计了具有统一IP地址和规格的IP协议,其他异构网络通过IP网络转换了格式进行中继,使得它们能够网络互联互通。因此,IP网络相当于在异构的直接连接的网络之上构建的一个虚拟网络,它仅仅提供在各个异构子网之间全局性路由选择和转发功能,而下面网络则提供了分组实际的通信功能。

2.根据图4-2,试填写出路由器R3的转发表内容。

答:路由器R3的转发表内容如下:

目的网络N 下一跳R(或输出接口)

30.0.0.0 接口1(直接交付)

40.0.0.0 接口2(直接交付)

10.0.0.0 接口1(间接交付)

20.0.0.0 接口1(间接交付)

3.分组的直接交付和间接交付有什么区别与联系?在交付过程中,它们分别要用到哪些层次的地址?

答:直接交付:两台端系统在一个直接连接的网络上,分组从一台主机上直接传送到另一台主机的过程。

间接交付:两台端系统不在同一个直接连接的网络上时,源主机必须先把分组先发给一个路由器的过程。

直接交付和间接交付的区别是:直接交付是分组在直接连接的网络中传送,而间接交付是分组在不同的直接连接的网络中传送;两者的联系是直接交付是间接交付的最后一跳。

在直接交付过程中,用到MAC地址,而间接交付过程中,要用到MAC地址和IP地址。

4-11讲

1.从IP协议支持网络层编址和转发两大功能的角度看,IP协议数据报首部至少要包括哪些字段?这些字段应当包括什么内容?

答:为支持网络层编制功能,即设计特定的IP地址结构支持高效完成分组

转发任务,因此协议数据报首部至少要包括目的地址字段,而源地址是为接收方提供回应的地址,因此也要包括源地址字段。

转发是将分组从路由器的输入移动到适当的路由器输出,为防止IP数据报无休止地转发,要具有寿命字段;为使不同服务类型具有较好质量,要具有服务类型字段;为使不同长度的数据块能够转发,要具有标识符、标志和段偏移字段。

为了使网络层编址和转发两大功能正确,还需要有互联网检验和字段。

互联网检验和字段中放置互联网检验和。当IP分片时,标志字段除最后一片为0外,其他均为1;而段偏移字段指示本片数据在长数据报中的位置(字节数除以8)。而其他字段均放置二进制序列。

2.考虑使用8 bit主机地址的数据报网络。假定一台路由器使用最长前缀匹

配并具有下列转发表:

前缀匹配接口

1 0

11 1

111 2

其他 3

对这4个接口,给出相关的目的主机地址的范围和在该范围中的地址数量。

答:如果使用最长前缀匹配,匹配的地址的前几位必定要与前缀相同,而前缀后1位必定要不同,由此给出下表:

接口目的主机地址范围地址量

0 1000 0000 ~ 1011 1111 26=64

1 1100 0000 ~ 1101 1111 25=32

2 1110 0000 ~ 1110 1111 24=16

3 0000 0000 ~ 0111 1111 27=128

3.在4-14网络环境中,若内网有30台主机从172.16.0.0/24地址块中分配

地址,公网地址为150.20.20.1。当内网主机浏览公网Web网站(用80端口)和用FTP下载文件(用20端口)时,NAT的端口随机申请。试填入NAT转换表的值。

答:NA T转换表的值可以是(注意答案不唯一):

NA T转换表

专网端公网端

172.16.0.1, 12345 150.20.20.1, 3000

172.16.0.2, 21211 150.20.20.1, 3501

……

4-12讲

1.在图4-17所示的网络中,端系统A要与端系统E通信。试简述它们之间具体的通信过程。

答:

a. A比较E的网络地址,发现不在相同网络,就送往路由器R左端口

10.101.10.4;

b. A的ARP表中没有R左端口MAC地址,使用ARP从10.10.10.4得到R 的MAC地址;

c. A生成以R左端口的MAC地址作为目的地的链路层帧,帧包含A到E IP 数据报;

d. A的适配器发送帧,R的适配器接收帧;

e. R知道目的地是E,使用选路协议确定路由器右端口10.101.11.4;

f. R出端口将E的IP地址与本网络地址相比,发现网络地址匹配,就进行直接交付;发现ARP表中没有发现E的MAC地址,用ARP得到E的MAC地址;

g. R适配器生成包含A到E IP数据报的帧向E发送;

h. E收到来自A的IP分组。

2.设计ICMP用于处理网络管理问题的基本思路是什么?Traceroute程序的工作原理符合这个基本思路吗?

答:设计ICMP用于处理网络管理问题的基本思路是允许端系统或路由器报告差错情况,为网管人员提供适当的工具以查询网络结点的信息。

Traceroute程序的工作原理符合这个基本思路。首先它构造TTL=1的ICMP 数据报,使第一台路由器报错,从而获得其入口IP地址,接下来构造TTL=2,3,…的ICMP数据报,从而获得其沿途的路由器不断报错,依次获得了它们的入口地址。因此,traceroute利用了ICMP的工作机制。

3.与IPv4相比,IPv6在其数据报格式中出现的主要差异是什么?

答:IPv6数据报扩大地址容量;首部固定长度40字节;不允许分段;完全去除“检查和”,以减小每跳的处理时间;允许“选项”,但在首部之外,由“下一

个首部”字段指示等。

4-13讲

1. 考虑图4-27上的网络。试用距离矢量算法给出结点b 的距离表表项。 答:距离矢量算法通过邻居之间交换路由选择报文,根据Bellman-Ford 方程进行迭代得到距离表表项的。在如下图所示网络中,第一轮时各结点只知道各自的邻居情况;第二轮时各结点收到其他邻居结点的路由选择报文,更新自己的表信息;经过三轮,各结点已经找到最优路径。

结点b 表

代价到

a b c d 来a 自b c d ∞ ∞ ∞ ∞ 5

3

11

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 结点a 表

代价到

a b c d 来a 自b c d 0

5

10 ∞

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 结点c 表

代价到

a b c d 来a 自b c d

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 10 3

2

∞ ∞ ∞ ∞ 结点d 表

代价到

a b c d 来a 自b c d

∞ ∞ 0

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 11 2

2. 考虑图4-27的网络。用Dijkstra 的最短路算法计算出从b 到所有网络结点的最短路径。通过计算一个类似于表4-10的表,给出该算法的工作过程。

代价到

a b c d 来a 自b c d

0 5 10 ∞ 5

3 5 10 3

2 ∞ 11 2 0

代价到

a b c d 来a 自b c d 0 5 10 ∞ 5 0 3 11 8

3

2 ∞ 11 2

代价到

a b c d 来a 自b c d

0 5 8 12 5 0 3 5 8

3

2 12 11 2

代价到

a b c d 来a 自b c d 0 5 8 10 5 0 3 5 8

3

2 12 11 2

代价到

a b c d 来a 自b c d 0 5 8 12 5

3 11 10 3

2 ∞ 11 2

代价到

a b c d 来a 自b c d 0 5 10 12 5 0 3 5 8

3

2 12 11 2

代价到

a b c d 来a 自b c d

0 5 10 12 5 0 3 5 8

3

2 10 11 2

代价到

a b c d 来a 自b c d

0 5 10 ∞ 5

3 11 10 3

2 12 11 2 0

答:结点b建立转发表的过程如下表。

步骤证实表试探表注释

1 (b,0,-) 因为b是证实表中唯一的新成员,等待链路状态报

2 (b,0,-) (a,5,a)

(c,3,c)

(d,11,d) 链路状态报文告诉b,可以费用5通过a到达a,可以费用3通过c到达c,可以费用11通过d到达d,因此将其加入试探表。同理c也加入

3 (b,0,-)

(c,3,c) (a,5,a)

(d,11,d)

将试探表中费用最小的记录费用3通过c到达c是

表中最好的路径,c加入证实表中。检查证实表中

新成员c的链路状态报文

4 (b,0,-)

(c,3,c)

(a,5,a)

(d,5,c)

(a,10,c)

用费用5到达a为最好,a加入证实表中。

通过c到达d的费用是2,记录(d,11,d)被替换为

(d,5,c); c的链路状态报文告知可以费用10到达a

5 (b,0,-)

(c,3,c)

(a,5,a)

(d,5,c) (a,10,c) 把试探表中费用最小的记录d加入证实表中,观察d的链路状态报文,没有更好的路径

4-14讲

1.BGP有哪些主要功能。描述在BGP中是如何检测路径中的环路的。

答:BGP是AS之间提供可达路径的分层路由选择协议。BGP具有以下功能:①从相邻AS处获得子网可达性信息;②向本AS内部的所有路由器传播这些可达性信息;③基于可达性信息和AS策略,决定到达子网的“好”路由。BGP 从相邻AS获得子网可达性信息,基于自己的策略,决定是否向其他AS通告,一旦通告就承诺向该子网转发数据报;BGP还向本AS内部的所有路由器传播相关可达性信息。

在AS-PATH属性包含了传递前缀的通告所经过的AS,由此可以判断是否存在环路。

2.观察图4-30所示的路由器体系结构。如何体现出路由器具有互联异构网络、转发和选择路由等几项关键功能。

答:互联异构网络:不同异构通信子网中的分组经过路由器的物理层、链路层和网络层功能转换,在IP层实现地址和报文结构的统一,能够进行统一寻址。

转发:分组进入路由器不同输入接口卡后,通过将分组目的地址与转发表进

行比较,经过交换结构后,由输出接口卡输出到不同路由器不同接口。

路由选择:路由器接收来自不同路由器的路由选择报文,通过执行路由选择协议,更新了转发表内容,使分组能够到达正确的输出端口。这些功能由路由器的控制器卡提供,包括路由计算与更新、拓扑和地址信息交换。

4-15讲

1.考虑在一个具有一个外部代理的外部网络中的两个移动结点。在移动IP 中,这两个移动结点是否可能使用相同的转交地址?为什么?

答:使用移动IP方案时,移动结点通常有永久IP地址和一个转交地址。该转交地址实际上是由归属代理所使用的。当通信者给移动结点的永久IP地址发送分组时,归属代理会将该数据报截获并用转交地址转发给移动用户。因此,两个不同的移动结点如果位于相同子网中时,完全有可能使用相同的转交地址。

当收到具有转交地址的分组时,外部代理将根据两个移动结点的注册信息,通过它们不同的MAC地址与之进行直接连接的网络通信。

2.试讨论MPLS在流量工程中的作用。它是否能够弥补IP的不足?

答:IP技术通过路由器端口是与某种通信网相连的,而这些通信网要以自己的方式传送路由器交付的数据报,直至它们到达与通信网另一端连接的路由器。这种方式不足之处包括:首先,通信网通常不具备以IP方式转发IP数据报的能力,多次转换格式将降低系统的效率。其次,预先计算的路径不一定与IP路由选择协议确定的路径相匹配。第三,无法支持某种类型的虚拟专用网络。

MPLS通过采用一个固定长度的标签达到改善IP路由器的转发速率的目的,并且能够提供多条非IP路由的路径,提供特定的虚拟专用网络,从而弥补了IP 的不足。

5-16讲

1.根据网络应用的时延和可靠性可以将它们分为几类?运输层是否应当由此设计几种不同的协议?因特网的运输层协议能够为网络应用提供哪些服务?不能够提供哪些服务?

答:根据对时延和可靠性,可以将网络应用分为两类:一类是传统的弹性网络应用,它们具有可靠传输但对时延要求并不很高的特点;另一类是多媒体网络应用,它们具有时延敏感和丢包容忍的特点。

TCP/IP的运输层设计了两种运输层协议即UPD和TCP。TCP能够支持弹性网络应用,而UDP也具有时延较小的特点,不过这两种协议对时延都没有保证。两者并不与上述两类网络应用形成一一对应。

TCP能够提供多路复用/分解、面向连接、可靠数据传输和拥塞控制服务,而UDP则提供无连接的、不可靠的传输服务,具有多路复用/分解和差错检测功能。但两者都没有提供带宽和时延保证,也不提供安全性服务等。

2.可以认为端口号是一种地址吗?如果是,它是标识什么的地址?将端口号分为周知端口号和一般端口号有什么好处,这与网络应用的模式有关系吗?

答:IP地址标识了因特网上的每台主机的接口,而端口标识了网络主机上的每个进程,这样才能支持网络应用进程之间的交互。因此端口号是一种地址。

运输层的端口号分为两部分,一部分是周知端口号,另一部分是用户可自行分配的端口号。由于UDP套接字和TCP套接字均与目的/源端口号有关,每个进程之间的通信链必须是唯一的,端口号错误将造成连接链的混乱。周知端口号范围为0~1023,通常保留用于如HTTP、FTP和DNS等著名的应用服务器的端口号的,由因特网管理机构统一分配。1023以上部分的端口号可由用户自行使用,这就大大降低了出处差错的可能性。

一般在C/S模式中,服务器端口通常使用周知端口好,而且必须要长期处于打开状态,因此端口号划分与网络设计模式有关。

3.给出标识图5-5中TCP套接字的所有四元组。与UDP套接字忽略了源端的标识信息相比,TCP的套接字标识能力是增强了还是削弱了?

答:图5-5中TCP套接字的所有四元组包括:(IPA,1212;IPB,80)、(IPA,2323;IPB,80)、(IPA,3434;IPC,80)、(IPC,4545;IPA,5656)。

TCP通过四元组来表示一个进程,相对于UDP的二元组,TCP的套接字标识能力更强。

5-17讲

1.简单解释TCP的如下特性:面向连接的端到端、点对点、全双工数据、可靠的交付服务、客户/服务器模式、面向字节流、流量控制和拥塞控制。

答:面向连接的端到端是指用三次握手方式建立连接,且TCP运行在两个端系统上;点对点是指TCP只有一个发送方和一个接收方;全双工数据是指同一连接上双向数据流同时通信;可靠的交付服务是指保证套接字之间数据无差错、不丢失、不重复、且按序地到达;客户/服务器模式是指服务器被动打开而客户主动打开;面向字节流是指TCP之间的数据以无结构的字节流方式;流量控制是指发送方不能淹没接收方;拥塞控制是指抑止发送方速率来防止过分占用网络资源。

2.主机A和B经一条TCP连接通信,并且主机B已经收到了来自A的到

字节248的所有字节。假定主机A 随后向主机B 发送两个紧接着的报文段。第一个和第二个报文段分别包含了40和60 byte 的数据。在第一个报文段中,序号是249,源端口号是503, 目的地端口号是80。无论何时主机B 接收到来自主机A 的报文段,它都会发送确认。

a. 在从主机A 发往B 的第二个报文段中,序号、源端口号和目的端口号各是什么?

b. 如果第一个报文段在第二个报文段之前到达,在第一个到达报文段的确认中,确认号、源端口号和目的端口号各是什么?

c. 如果第二个报文段在第一个报文段之前到达,在第一个到达报文段的确认中,确认号是什么?

d. 假定由A 发送的两个报文段按序到达B 。第一个确认丢失了而第二个确认在第一个超时间隔之后到达,如在下一页上的图中所显示的那样。画出时序图,显示这些报文段和发送的所有其他报文段和确认。(假设没有其他分组丢失。)对于你图上每个报文段,标出序号和数据的字节编号;对于你增加的每个应答,标出确认号。

答:a.在第二个报文段中,序号为289,源端口号为503,目的端口号为80。 b. 如果第一个报文段在第二个报文段前到达,在确认报文中,确认号为289,目的端口为503,源端口为80。

c. 如果第二个报文段在第一个报文段之前到达,在第一个到达的报文段的确认中,确认号是249,指示该接收端仍然在等待序号为249的报文的到达。

d. 时序图如下。其中当主机B 收到主机A 因超时发送的冗余报文后,对最后一个字节349进行确认(累计确认)。

主机A 主机B

S e q =24

9, 4

0b y t e

s

S e q =

249,

40b y

t e s

Ack=289S e q =

289,

60b y

t e s Ack=349Ack=349

时间

时间

{

{

超时

间隔

超时间隔

3. 一旦网络出现丢包时,RTT 估值算法就要修正,否则可能出错。请阐述可能出现的问题,以及针对这些问题的修正算法。

答:一旦网络出现丢包时,无法判断收到的确认报文段是对原来报文的确认

还是对重传报文的确认,这样会使得RTT估计值与实际RTT的误差很大。Karn 算法提出估算RTT时,只要报文重传,就不再采用其往返时延的样本了。

Karn算法仍存在问题:一旦网络恰好现在此时时延持续变大,将将进入死循环。为此,Karn修正算法指出:报文段每重传一次,就将超时时限增大一倍,而保持RTT估计值不变;当报文段不再重传时再计算RTT估值。

4.简要说明TCP连接与网络层的虚电路的区别。

答:(1)TCP连接是运输层的一种逻辑连接,而虚电路是网络层的逻辑连接。(2)TCP的连接信息仅保存和维护在端系统中,对于下面的路由器而言是透明的;网络层的虚电路不仅在端系统而且在所经过的沿途所有路由器中,都必须保存和维护虚电路的状态信息。

5-18讲

1.观察图5-9所示的TCP报文段结构,其中哪些字段分别与多路复用/分解功能有关?哪些字段分别与可靠数据传输功能有关?哪些字段分别与流量控制功能有关?哪些字段分别与拥塞控制传输功能有关?

答:所谓多路复用/分解是指运输层担负着将多个应用进程的报文通过同一个网络层传输通道传输,并正确地交给某个应用进程的任务的功能。

源TCP报文段结构中,端口和目的端口号字段与多路复用/分解功能有关;序号、确认号、检验和字段与可靠数据传输有关;接收窗口号与流量控制有关;序号和确认号与拥塞控制有关。

2.TCP创建连接采用了三次握手过程。分析第三次握手有何作用?试举例说明之。当TCP一端释放连接后,这端是否还能够发送报文段?此时,另一端是否还能够继续发送报文段?

答:在TCP创建连接的三次握手过程中,第三次握手表明第一次握手的确是自己发送的,以防止第一次握手是以前遗留的连接。举例来说,如图所示的一个连接没有成功,该失效的A的连接请求报文段突然出现在TCP服务器B处了,B将回送第二次握手报文,但A看到该第二次握手报文将意识到这是一次错误的连接,就不会再发送第三次握手报文,从而防止了这次错误。

相关文档
相关文档 最新文档