习题解答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开始,经一段链路传送到一台分组交换机,并从该分组交换机经第二段链路传送到目的端系统。令di、si和Ri表示链路i的长度、传播速度和传输速率(i=1,2)。该分组交换机对每个分组的时延为dproc。假定没有排队时延,根据di、si、Ri(i=1,2)和L,该分组总的端到端时延是什么?现在假定该分组是1,000字节,分组交换机的处理时延是1ms,第一段链路的长度是4,000km,并且最后一段链路的长度是1,000km。对于这些值,该端到端时延为多少?答:21(//)iiiprociLRdsd2-3讲1.奈奎斯特公式与香农公式在数据通信中的意义是什么?比特/每秒和码元/每秒有何区别和联系?答:奈奎斯特公式给出了任何实际的信道所能传输的最大数据传输速率,而香农公式则指出信道的极限信息传输速率。比特/每秒和码元/每秒可以相互转换,前者是从信息量角度描述信息传输速率,而后者是从码元角度衡量数据传输速率。如果每个码元仅有1比特信息,则两者在数值上是相等的;如果每个码元有n比特信息,则码元/每秒在数值上等于n倍比特/每秒。2.常用的传输媒体有哪几种类型?它们的主要特点是什么?其中的多模光纤和单模光纤各适用于什么场合?答:常用的传输媒体可分为两大类,即导向传输媒体和非导向传输媒体。在导向传输媒体中,电磁波被导向沿着固体媒体(铜线或光纤)传播,而非导向传输媒体通常指自由空间,在非导向传输媒体中电磁波的传输常称为无线传输。光脉冲在多模光纤中传输时会逐渐展宽,造成失真,故多模光纤只适合于短距离传输。单模光纤可使光线一直向前传播,而不会产生多次反射,损耗较小,可进行高速率远距离传输。3.与有线链路相比,无线链路通信有哪些重要的区别特征?答:与有线链路相比,无线链路通信的特征是:a.衰减的信号强度:当电磁波穿过物体时,信号强度将减弱;b.来自其他源的干扰:在同一个频段发送信号的电波源将相互干扰。此外,环境中的电磁噪声也会形成干扰;c.多径传播:当电磁波的一部分受物体和地面反射,在发送方和接收方之间走了不同长度的路径,则会出现多径传播。这使得叠加后的信号变得时强时弱,难以控制。2-4讲1.假定用户共享一条2Mbps链路。同时假定当每个用户传输时连续以1Mbps传输,但每个用户仅传输20%的时间。a.当使用电路交换时,能够支持多少用户?b.对于该问题的遗留问题,假定使用分组交换。为什么如果两个或更少的用户同时传输的话,在链路前面基本上没有排队时延?为什么如果3个用户同时传输的话,将有排队时延?c.求出某指定用户正在传输的概率。d.假定现在有3个用户。求出在任何给定的时间,所有3个用户在同时传输的概率。求出排队增长的时间比率。答:a.当使用电路交换时,信道带宽需要用户独占,最多智能支持2个用户。b.因为2Mbps链路仅能容纳两个或更少的用户同时以1Mbps连续传输时,这时统计上会有资源富余,而当3个用户同时传输时,统计上便会出现供不应求的现象,导致排队时延。c.每个用户仅可能有20%的时间在传输,因此正在传输的概率是p=0.2。d.其中传输概率由二项式公式决定:nnppn3)1(3,其中n≤3为传输用户数。当n=3时,上式=0.23×0.80=0.008。因为仅当n=3时排队才会增长,因此排队增长的时间比率也为0.008。2.ADSL的上下行带宽为何设计为不对称?答:因为家庭用户较多将信息取回家,较少向网络提供信息。3.当前无线接入所使用的WiFi技术基于何种标准?为何3G技术经常要与WiFi技术配合使用?答:当前无线接入所使用的WiFi技术基于IEEE802.11。3G技术的通信速率较低,约为几百kbps,上网费用高;而WiFi的通信速率为54Mbps或以上,且上网费用低。因此,在有WiFi的地方,就尽可能地使用WiFi,而在没有WiFi的地方就使用3G技术。3-5讲1.链路层协议能够向网络层提供哪些可能的服务?举例说明链路层协议相应的服务。答:链路层协议能够向网络层提供的服务包括:成帧、差错检测、可靠交付、媒体访问、流量控制。例如,HDLC协议提供了数据链路层的成帧和CRC检测功能等。2.考虑4bit的生成多项式G(x)=x3+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如下图所示:等待来自下层的0extract(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的接收方FSMrdt_rcv(rcvpkt)&¬corrupt(rcvpkt)&&has_seq1(rcvpkt)等待来自下层的1extract(rcvpkt,data)deliver_data(data)sndpkt=make_pkt(ACK,0,chksum)udt_send(sndpkt)oncethru=1rdt_rcv(rcvpkt)&¬corrupt(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,500byte,发送时延:915008/4.82.510transLbitpkttsRbps当一次仅传输一个分组,信道的利用率仅为:/0.00480.000137/35.0048LRURTTLR如果要使信道的利用率超过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],所以肯定收到了ACKk-N-1,根据累积确认原理,接收方一旦对k-N-1进行确认,则不会再对小于k-N-1号分组确认,故而ACK范围[k-N-1,k-1]。4.在SR协议中,如果报文在窗口中,发送方就会不等待确认而传输报文。考虑设计一种新的SR协议,一次发出一对报文,而且只有在知道第一对报文中的两个报文都正确到达后才发送第二对报文。答:这种新的SR协议可描述为下图:WaitforpairofACKs(rdt_rcv(rcvpkt)&&corrupt(rcvpkt))||(rdt_rcv(rcvpkt)&¬corrupt(rcvpkt)&&has_not_ACK(seqnum)&&has_not_ACK(seqnum+1))timeoutudt_send(sn