加入收藏
举报
02-06 10:59
#0
文件名称:
计网C重点习题.md
所在目录:
计算机网络
文件大小:
30.18 KB
下载地址:
andream7/cuit_sharing
   
免责声明:本网站仅提供指向 GitHub 上的文件的链接,所有文件的版权归原作者所有,本网站不对文件内容的合法性、准确性或安全性承担任何责任。
文本预览:
# 单位换算
1B=8bit,kgm表示 $10^3,10^6,10^9$,KGM表示 $2^{10},2^{20},2^{30}$
# 1-03
试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。
解答:电路交换的主要特点:
(1)通信之前先要建立连接,通信完毕后要释放连接。也就是说,通信一定要有三个阶段:建立连接、通信、释放连接。
(2)在整个通信过程中,通信的双方自始至终占用着所使用的物理信道。
因此,对于计算机通信,由于计算机数据是突发性的,因此,从通信线路的利用率来考虑,电路交换的效率就比较低。此外,当通信双方占用的通信线路由很多段链路(通过若干个交换机把这些链路连通)组成时,只有在每一段链路都能接通(每一段链路都有空闲的信道资源还没有被其他用户占用,即有可用资源)时,整个的连接建立才能完成(哪怕只有一段链路没有空闲的信道可供使用,连接建立也无法完成)。当通信网的业务量很繁忙时,电路交换无法保证用户的每一个呼叫都能接通。如果第一阶段的连接建立不能完成,那么后续阶段的通信过程当然也就无法进行。
在电路交换的通信过程中,只要在整个连接中有一个环节(如某段链路或某个交换机)出了故障,那么整个连接就不复存在,接着就是通信的中断。若要重新进行通信,必须重新建立连接。如果能够绕过刚才的故障链路或故障交换机而建立新的连接,那么就可以开始新的通信。这就是说,电路交换系统不能自动从故障中进行恢复。
但电路交换有一个最主要的优点,就是只要连接能够建立,那么双方通信所需的传输带宽就已经分配好而不会再改变。这叫作静态分配传输带宽。通信双方愿意占用通信资源多久,就占用多久(对于公用网,只要按规定付费即可),而不受网络中的其他用户的影响。当网络发生拥塞时,网络中的其他用户很可能反复呼叫都无法建立连接,但这些动作都不会影响已经占用了通信资源的用户的通信质量(除非发生了通信网中的故障,影响到正在进行通信的连接)。
目前最常用的分组交换使用无连接的IP协议。这种分组交换以分组作为传输的单位,采用存储转发技术,并且没有连接建立和连接释放这两个阶段,因此传送数据比较迅速。在传输数据的过程中,动态分配传输带宽,对通信链路是逐段占用的。这就是说,若某段链路的带宽较高,分组的传输速率就较快;若另一段链路的带宽较低,传输速率就较慢。不像电路交换那样,从源点到终点都是同样的传输速率。可见,分组交换能够比较合理而有效地利用各链路的传输带宽。
分组交换采用分布式的路由选择协议。当网络中的某个节点或链路出现故障时,分组传送的路由可以自适应地动态改变,使数据的传送能够继续下去。传送数据的源点和接收数据的终点甚至不会感觉到网络中所发生的故障。因此分组交换网络有很好的生存性。
分组交换也有一些缺点。例如,分组在各路由器存储转发时需要排队,这就会造成一定的时延。此外,由于分组交换无法确保通信时端到端所需的带宽,因此当分组交换网的通信量突然增大时,可能会在网络中的某处产生拥塞,从而延长数据的传送时间。当网络拥塞非常严重时,整个网络也可能会瘫痪。分组交换的另一个问题是各分组必须携带控制信息,这也造成了一定的开销。整个分组交换网还需要专门的管理和控制机制。当然,电路交换网也需要网络管理,但电路交换网的交换机都具有很强的网络管理功能,能够对网络进行很有效的管理。分组交换网中的路由器比较简单,无法对整个网络进行管理。必须在网络中由专门的主机来运行专门的网络管理软件,对整个网络进行管理。
报文交换也采用存储转发技术,不同的是,报文交换不再把报文划分为更小的分组,而是把整个报文在网络的节点中存储下来,然后再转发出去。这样做,省去了划分小的分组的步骤,也省去了在终点把分组重装成报文的过程。但报文交换在灵活性上不如分组交换,传送数据的时延较大。本来报文交换是用来传送电报的。现在已经很少有人打电报了,因此报文交换已经很少使用了。
# 1-29
有一个点对点链路,长度为 $50km$ 。若数据在此链路上的传播速率为 $2\times10^8m/s$ ,
试问链路的带宽应为多少才能使传播时延和发送 $100$ 字节的分组的发送时延一样大?如果发送的是 $512$ 字节长的分组,结果又应如何?
解答:整条链路的传播时延是 $50km/(2\times10^8m/s)= 250 \mu s$
如果在 $250\mu s$ 把 $100$ 字节发送完,则发送速率应为 $800bit/(250\mu s)=3.2Mbit/s$。这也是链路带宽应有的数值
如果改为发送 $512$ 字节的分组,则发送速率应为 $512\times8bit/(250\mu s)=16.38Mbit/s$。这也是链路带宽应有的数值
# 1-36
主机A到主机B的路径上有三段链路,其速率分别为 $2 Mbit/s$, $1 Mbit/s$ 和 $500 kbit/s$。
现在A向B发送一个大文件。试计算该文件传送的吞吐量。设文件长度为 $10 MB$,而网络上没有其他的流量。试问该文件从A传送到B大约需要多少时间?为什么这里只是计算大约的时间?
解答:文件传送的吞吐量由瓶颈链路决定。因此吞吐量是 $500 kbit/s$。
文件长度为 $10 MB$。但文件长度的M不是 $10^6$ 而是 $2^{20}$。$1B=8 bit$。因此文件长度为 $10\times8\times2^{20} bit = 83886080 bit$。
文件的传送时间=文件长度÷吞吐量 $=83886080bit÷500 kbit/s =167.77s$,即约为 $168s$。这就是大约的传送时间,因为有很多细节都没有考虑,如划分为多大的分组、每个分组首部的开销,在链路上的传播时延,在每个节点的处理时延和排队时延,等等。
# 2-04
试解释以下名词:数据、信号、模拟数据、模拟信号、基带信号、带通信号、数字数据、数字信号、码元、单工通信、半双工通信、全双工通信、串行传输、并行传输。
解答:各名词含义如下。
数据:是运送消息的实体。
信号:是数据的电气或电磁表现。
模拟数据:即连续数据,数据的变化是连续的。例如,我们人说话的声音数据((声波)就是连续变化的。
模拟信号:即连续信号,其特点是代表消息的参数的取值是连续的。当我们打电话时,模拟数据(声波)通过电话机的话筒后,变成了连续变化的电信号(模拟信号)。
基带信号:即来自信源的信号,也就是基本频带信号。计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。
带通信号:把基带信号的频率范围搬移到较高的频段以便在信道中传输。经过载波调制后的信号称为带通信号。这种信号仅在一段频率范围内(即频带)能够通过信道。
数字数据:即离散数据,数据的变化是不连续的(离散的)。例如,计算机键盘输出的就是数字数据。但在经过调制解调器后,就转换成模拟信号(连续信号)了。
数字信号:即离散信号,其特点是代表消息的参数的取值是离散的。
码元:码(code)是信号元素和字符之间的事先约定好的转换。例如,A的ASCII码的表示就是1000001,而这里的每一个二进制数字(1或0)都可称为码元(code element)。码元实际上就是码所包含的元素。上面的例子说明A的ASCII码包含7个码元。在采用最简单的二进制编码时,一个码元就是一个比特。但在比较复杂的编码中,一个码元可以包含多个比特。
单工通信:又称为单向通信,即只有一个方向的通信而没有反方向的交互。无线电广播或有线电广播以及电视广播就属于这种类型。
半双工通信:又称为双向交替通信,即通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。这种通信方式是一方发送另一方接收,过一段时间后再反过来。
全双工通信:又称为双向同时通信,即通信的双方可以同时发送和接收信息。
串行传输:数据在传输时是逐个比特按照时间顺序依次传输的。
并行传输:数据在传输时采用了n个并行的信道。在每一个信道上,数据仍然是串行传输的,即逐个比特按照时间顺序依次传输。但把这n个信道放在一起观察时,就可看出,数据的传输是每次n个比特。
# 2-07
假定某信道受奈氏准则限制的最高码元速率为20000码元/秒。如果采用振幅调制,把码元的振幅划分为16个不同等级来传送,那么可以获得多高的数据率(bit/s)?
解答:如果我们用二进制数字来表示这16个不同等级的振幅,那么需要使用4个二进制数字,即 0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111。可见现在用一个码元就可以表示4个比特。因此,当码元速率为20000码元/秒时,我们得到的数据率就是4倍的码元速率,即80000 bit/s。
# 2-08
假定要用3 kHz带宽的电话信道传送64 kbit/s的数据(无差错传输),试问这个信道应具有多高的信噪比(分别用比值和分贝来表示)﹖这个结果说明什么问题?
解答:将以上数据代入香农公式,得出:$C= 3 kHz \times \log_2(1+ S/N)= 64 kbit/s$
解出$1+S/N= 2^{64/3}$
$S/N=2.64×10^6$
或用分贝表示:$(S/N)_{dB} =10 \log_{10}(2.64×10^6) = 64.2 dB$
这个结果说明:这个信道应该是个信噪比很高的信道。
# 2-14
试写出下列英文缩写的全称,并进行简单的解释。
FDM,FDMA,TDM,TDMA,STDM,WDM,DWDM,CDMA,SONET,SDH,STM-1,oC-48。
解答:简单解释如下。
FDM (Frequency Division Multiplexing,频分复用):给每个信号分配唯一的载波频率并通过单一媒体来传输多个独立信号的方法。组合多个信号的硬件称为复用器,分离这些信号的硬件称为分用器。这里只强调了复用的方式,而并不关心复用的这些信道是来自多个用户还是来自一个用户。
FDMA(Frequency Division Multiple Access,频分多址):强调这种复用信道可以让多个用户(可以在不同地点)使用不同频率的信道接入到复用信道。这里当然采用了复用技术,只不过省略了“复用”二字。如果把译名改为“频分复用多址”,就太不简练了。因此,“频分多址”强调多址;译名中虽然没有提到“复用”,但是使用了频分复用技术。
TDM(Time Diyision Multiplexing,时分复用):把多个信号复用到单个硬件传输信道,它允许每个信号在一个很短的时隙使用信道,接着的时隙再让下一个信号使用。这里只是说明了复用的方式,而并不关心复用的每个时隙的信号是来自多个用户还是来自一个用户。
TDMA(Time Division Multiple Access,时分多址):强调这种复用信道可以让多个用户(可以在不同地点〉使用不同的时隙接入到复用信道,即强调的是多址;译名中虽然没有提到“复用”,但是使用了时分复用技术。
STDM(Statistic TDM,统计时分复用):又称为异步时分复用,是一种改进的时分复用,它能明显地提高信道的利用率。STDM 帧不是固定分配时隙,而是按需动态地分配时隙。因此统计时分复用可以提高线路的利用率。
WDM ( Wavelength Division Multiplexing,波分复用):就是光的频分复用。人们借用传统的载波电话的频分复用的概念,就能做到使用一根光纤来同时传输多个频率很接近的光载波信号。这样就使光纤的传输能力成倍地提高了。由于光载波的频率很高,因此习惯上用波长而不用频率来表示所使用的光载波。
DWDM (Dense WDM,密集波分复用):是波分复用的一种具体表现形式。DWDM的波长间隔很小,不到2 nm,甚至小于0.8 nm。因此现在可以把几十路甚至一百多路的光载波信号复用到一根光纤中来传输。由于DWDM的普及应用,现在人们谈论的WDM系统几乎全都是DWDM 系统。
CDMA (Code Division Multiple Access,码分多址):使用码分复用的一种共享信道的多址方法。每一个用户可以在同样的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,各用户之间并不会造成干扰,因此这种系统发送的信号有很强的抗干扰能力。译名中虽然没有提到“复用”,但是使用了码分复用技术。
SONET (Synchronous Optical Network,同步光纤网):美国在1988年首先推出的一个数字传输标准。整个同步网络的各级时钟都来自一个非常精确的主时钟。SONET为光纤传输系统定义了同步传输的线路速率等级结构,其传输速率以51.84 Mbit/s为基础倍增。当这个倍数是768时,传输速率近似为40 Gbit/s。
SDH (Synchronous Digital Hierarchy,同步数字系列):ITU-T以美国标准SONET为基础制定出的国际标准。SDH 的基本速率为155.52 Mbit/s,称为STM-1。
STM-1 (Synchronous Transfer Module-1,第1级同步传递模块):通过光纤传输数据的一系列标准。SDH标准规定第1级同步传递模块(即STM-1)的传输速率是155.52 Mbits,然后把n倍的速率记为STM-n。
OC-48(Optical Carrier-48) : OC (Optical Carrier)的意思就是光载波,是SONET标准的表示方法。此标准规定第1级光载波(即OC-1)的传输速率是51.84 Mbit/s,然后把n倍的速率记为OC-n。例如,OC-48的传输速率是48倍的OC-1速率,即2488.32 Mbit/s,一般写为2.5Gbit/s。
# 3-03
网络适配器的作用是什么?网络适配器工作在哪一层?
解答:适配器又称为网络接口卡或简称为“网卡”。在适配器上面装有处理器和存储器(包括RAM和 ROM)。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的IO总线以并行传输方式进行的。因此,适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储器。若在主板上插入适配器时,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后就会告诉适配器,应当从存储器的什么位置把多长的数据块发送到局域网,或者应当在存储器的什么位置把局域网传送过来的数据块存储下来。适配器还要能够实现以太网协议。
适配器接收和发送各种帧时不使用计算机的CPU。这时CPU可以处理其他任务。当适配器收到有差错的帧时,就把这个帧丢弃而不必通知计算机。当适配器收到正确的帧时,它就使用中断来通知该计算机并交付协议栈中的网络层。当计算机要发送P数据报时,就由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。
# 3-08
要发送的数据为101110。采用CRC的生成多项式是 $P(X)=X^3+1$。试求应添加在数据后面的余数。
解答:CRC的生成多项式是 $P(X)=X^3+1$,因此用二进制表示的除数P=1001。除数是4位,在数据后面要添加3个0。
进行CRC运算后,得出余数R=011。
![a1](a1.png)
# 3-18
试说明10BASE-T中的“10”“BASE”和“T”所代表的意思。
解答:“10”代表这种以太网具有10 Mbit/s的数据率,BASE 表示连接线上的信号是基带信号,T代表双绞线(Twisted-pair)
# 3-20
假定1 km长的CSMA/CD网络的数据率为1 Gbit/s。设信号在网络上的传播速率为200000 km/s。求能够使用此协议的最短帧长。
解答:1 km长的CSMA/CD网络的端到端传播时延 $\tau=(1 km)/ (200000 km/s)= 5\mu s$
$2\tau = 10\mu s$,在此时间内要发送$(1 Gbit/s)×(10\mu s)= 10000 bit$
只有经过这样一段时间后,发送端才能收到碰撞的信息(如果发生碰撞的话),也才能检测到碰撞的发生。
因此,最短帧长为10000 bit,或1250字节。
# 3-27
有10个站连接到以太网上。试计算以下三种情况下每一个站所能得到的带宽。
(1) 10个站都连接到一个10 Mbit/s 以太网集线器。
(2)10个站都连接到一个100 Mbit/s 以太网集线器。
(3)10个站都连接到一个10 Mbit/s 以太网交换机。
解答:每一个站所能得到的带宽如下:
(1)假定以太网的利用率基本上达到100%,那么10个站共享10 Mbit/s,即平均每一个站可得到1 Mbit/s 的带宽。
(2)假定以太网的利用率基本上达到100%,那么10个站共享100 Mbit/s,即平均每一个站可得到10 Mbit/s的带宽。
(3)每一个站独占交换机的一个接口的带宽10 Mbit/s。这里我们假定这个交换机的总带宽不小于100 Mbit/s。
# 4-07
试说明IP地址与MAC地址的区别。为什么要使用这两种不同的地址?
解答:从层次的角度看,MAC地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)。
由于全世界存在着各式各样的网络,它们使用不同的MAC 地址。要使这些异构网络能够互相通信就必须进行非常复杂的MAC地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。但统一的P地址把这个复杂问题解决了。连接到互联网的主机只需拥有统一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便。当需要把IP地址转换为MAC地址时,调用ARP的复杂过程都由计算机软件自动进行,而用户是看不见这种调用过程的。因此,在虚拟的IP网络上用IP地址进行通信给广大的计算机用户带来很大的方便。
# 4-25
一个自治系统分配到的IP地址块为30.138.118/23,包括5个局域网,其连接图如图所示,每个局域网上的主机数标注在图上。试给出每一个局域网的地址块(包括前缀)。
![a2](a2.png)
解答:分配网络前缀时应先分配地址数较多的前缀。题目没有说 $LAN_1$上有几个主机,但至少需要3个地址给3个路由器用。本题的解答有很多种,下面给出两组不同的答案。
LAN|第一组答案|第二组答案
---|---|---|
$LAN_1$|30.138.119.192/29|30.138.118.192/27
$LAN_2$|30.138.119.0/25|30.138.118.0/25
$LAN_3$|30.138.118.0/24|30.138.119.0/24
$LAN_4$|30.138.119.200/29|30.138.118.224/27
$LAN_5$|30.138.119.128/26|30.138.118.128/27
![a3](a3.png)
# 4-26
一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24。公司的网络布局如图所示。总部共有5个局域网,其中的 $LAN_1 - LAN_4$ 都连接到路由器 $R_1$ 上,$R_1$ 再通过 $LAN_5$ 与路由器 $R_2$ 相连。$R_2$ 和远地的三个部门的局域网 $LAN_6-LAN_8$ 通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络前缀。
![a4](a4.png)
解答:50个主机的 $LAN_1$,需要前缀/26(主机号6位,62个主机号,$R_1$ 的接口占用一个号码),28个主机的 $LAN_3$ 需要前缀/27(主机号5位,30个主机号,$R_1$ 的接口占用一个号码),10个主机的 $LAN_2$ 和 $LAN_4$ 各需要一个前缀/28(主机号4位,14个主机号,$R_1$ 的接口占用一个号码)。
$LAN_6-LAN_8$ (加上路由器)各需要一个前缀/27(主机号5位,30个主机号,$R_1-R_5$ 的接口各占用一个号码)。3个WAN各有两个端点,各需要一个前缀/30(主机号2位,2个主机号)。$LAN_5$ 需要前缀/30(主机号2位,用2个号码分配给路由器 $R_1$ 和 $R_2$ 的一个接口),考虑到以太网上可能还要再接几个主机,故留有余地,可分配一个前缀/29(主机号3位,6个主机号)。
本题的解答有很多种,下面给出其中的一种答案:
$LAN_1:192.77.33.0/26$
$LAN_3:192.77.33.64/27$
$LAN_6:192.77.33.96/27$
$LAN_7:192.77.33.128/27$
$LAN_8: 192.77.33.160/27$
$LAN_2:192.77.33.192/28$
$LAN_4:192.77.33.208/28$
$LAN_5:192.77.33.224/29$(考虑到以太网上可能还要再接几个主机,故留有余地。)
$WAN_1:192.77.33.232/30$
$WAN_2:192.77.33.236/30$
$WAN_3:192.77.33.240/30$
# 4-34
IGP和 EGP这两类协议的主要区别是什么?
解答:IGP是内部网关协议,即在一个自治系统内部使用的路由选择协议,而这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如RIP和 OSPF协议。
EGP是外部网关协议。若源主机和目的主机处在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议),当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。目前使用最多的外部网关协议是BGP的版本4(BGP-4)。
# 4-36
RIP使用UDP,OSPF使用IP,而 BGP使用TCP。这样做有何优点?为什么RIP周期性地和邻站交换路由信息而 BGP却不这样做?
解答:
RIP只和邻站交换信息,UDP虽不保证可靠交付,但开销小,可以满足RIP的要求。OSPF使用可靠的洪泛法,并直接使用IP,好处是灵活性好、开销更小。
BGP需要交换整个路由表(在开始时)和更新信息,TCP提供可靠交付以减少带宽的消耗。
RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息,才能使路由信息及时得到更新。但 BGP使用保证可靠交付的TCP,因此不需要这样做。
# 4-47
某单位分配到一个地址块 $14.24.74.0/24$。该单位需要用到三个子网,它们对三个子地址块的具体要求是:子网 $N_1$ 需要120个地址,子网 $N_2$ 需要60个地址,子网 $N_3$ 需要10个地址。请给出地址块的分配方案。
解答:这个单位的地址块的网络前缀是24位,因此主机号有8位,即一共有256个地址。可以拿总地址的一半(128个)分配给子网N,(实际上可以使用的地址数是126个)。这个地址块的网络前缀是25位。
再将剩下地址的一半(64个)分配给子网 $N_2$ (实际上可以使用的地址数是62个)。这个地址块的网络前缀是26位。
还剩下64个地址,可以拿出1/4(即16个地址)分配给子网 $N_3$ (实际上可以使用的地址数是14个)。这个地址块的网络前缀是28位。
最后剩下48个地址留给以后再用。
这样,分配给子网 $N_1$ (/25)的首地址是 $14.24.74.0$,末地址是 $14.24.74.127$。分配给子网 $N_2$ (/26)的首地址是 $14.24.74.128$,末地址是 $14.24.74.191$。分配给子网 $N_3$ (/28)的首地址是 $14.24.74.192$,末地址是 $14.24.74.207$
![a5](a5.png)
# 5-09
端口的作用是什么?为什么端口号要划分为三种?
解答:端口是应用层的各种协议进程与运输实体进行层间交互的地点。
不同的系统,具体实现端口的方法可以是不同的(取决于系统使用的操作系统)。TCP/IP的运输层用一个16位端口号来标志一个端口。但端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在互联网中不同的计算机中,相同的端口号是没有关联的。这种在协议栈层间的抽象的协议端口是软件端口,和路由器或交换机上的硬件端口是完全不同的概念。硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。
两个计算机中的进程要互相通信,不仅必须知道对方的P地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。
端口号有三种。不同的端口号有其特殊的用途。例如,客户端是通信的发起方,而服务器是服务的提供方。它们对端口的使用要求是不同的。这三种端口号是:
(1)熟知端口号或系统端口号,数值为0~1023。这些数值可在网址 www.iana.org查到。IANA把这些端口号指派给了TCP/IP最重要的一些应用程序,让所有的用户都知道。
(2)登记端口号,数值为1024~49151。这种端口号是为没有熟知端口号的应用程序使用的。使用这种端口号必须按照IANA规定的手续登记,以防止重复。
上面两种端口号是服务器端使用的端口号。下面的一种是客户端使用的端口号。
(3)短暂端口号,数值为49152~65535。这种端口号仅在客户进程运行时才动态选择,是留给客户进程暂时使用的。
# 5-14
一个UDP用户数据报的首部的十六进制表示是:06 32 00 45 00 1C E2 17。试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器还是从服务器发送给客户?使用UDP的这个服务器程序是什么?
解答:把 UDP首部8个字节的数值写成二进制表示的数值,如下所示:
-|-
---|---|
00000110 | 00110010
00000000 | 01000101
00000000 | 00011100
11100010 | 00010111
源端口00000110 00110010,其十进制表示是1024+512+32+16+2=1586。
目的端口00000000 01000101,其十进制表示是64+4+1= 69。
UDP用户数据报总长度00000000 00011100,其十进制表示是16+8+4=28字节。
数据部分长度是UDP总长度减去首部长度=28-8=20字节。
此UDP用户数据报是从客户发给服务器的(因为目的端口号<1023,是熟知端口)。服务器程序是 TFTP《从教材5.1.3节的熟知端口号的表可查出)。
# 5-49
下面是以十六进制格式存储的一个UDP首部:
CB84000D001CO01C
试问:
(1)源端口号是什么?
(2)目的端口号是什么?
(3)这个用户数据报的总长度是多少?
(4)数据长度是多少?
(5)这个分组是从客户到服务器方向的,还是从服务器到客户方向的?
(6)客户进程是什么?
解答:分别回答如下:
(1)源端口号是最前面的四位十六进制数字($CB84_{16}$),算出十进制的源端口号是 $12×16^3+11×16^2+8×16^1+4×16^0= 49152+2816+128+4=52100$。
(2)目的端口号是第二个四位十六进制数字($000D_{16}$),算出十进制的目的端口号是13。
(3)第三个四位十六进制数字($001C_{16}$)定义了整个UDP分组的长度,转换成十进制数
是 $1×16^1+ 12×16^0=28$ 字节。
(4)数据的长度是整个分组的长度减去首部的长度,也就是28-8=20字节。
(5)因为目的端口号是13(熟知端口),所以这个分组是从客户到服务器的。
(6)从RFC 867可以得知,这个客户进程是Daytime。当Daytime服务器收到客户发送的UDP用户数据报后,就把现在的日期和时间以ASCII码字符串的形式返回给客户。
# 5-62
TCP连接处于ESTABLISHED状态。以下的事件相继发生:
(1)收到一个FIN报文段。
(2)应用程序发送“关闭”报文。
在每一个事件之后,连接的状态是什么?在每一个事件之后发生的动作是什么?
解答:
(1)处于ESTABLISHED状态又能够收到一个FIN报文段的,只有TCP的服务器端而不会是客户端。当这个服务器收到FIN报文段时,服务器就向客户端发送ACK报文段,并进入到CLOSE-WAIT状态。这是被动关闭。请注意,这时客户端不会再发送数据了,但服务器端如还有数据要发送给客户端,那么还是可以继续发送的。
(2)应用程序发送“关闭”报文给服务器,表明没有数据要发送了。这时服务器就应当发送FIN报文段给客户,然后转换到LAST-ACK状态,并等待来自客户端的最后的确认。
# 5-64
TCP连接处于FIN-WAIT-1状态。以下的事件相继发生:
(1)收到ACK报文段。
(2)收到FIN报文段。
(3)发生了超时。
在每一个事件之后,连接的状态是什么?在每一个事件之后发生的动作是什么?
解答:
(1)处于FIN-WAIT-1状态的只有TCP的客户。当收到ACK报文段后,TCP客户不发送任何报文段,只是从FIN-WAIT-1状态进入到FIN-WAIT-2状态。
(2)在收到FIN报文段后,TCP客户发送ACK报文段,并进入到TIME-WAIT状态。
(3)当发生超时时,也就是经过了2MSL时间后,TCP客户进入到CLOSED状态
# 6-08
解释以下名词。各英文缩写词的原文是什么?
www,URL,HTTP,HTML
解答:
www (World Wide Web)是万维网的英文缩写词。万维网并非某种特殊的计算机网络,它是一个大规模的、联机式的信息储藏所,英文简称为 Web。万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点(也就是所谓的“链接到另一个站点”),从而可以获取丰富的信息。
URL (Uniform Resource Locator)是统一资源定位符的英文缩写词。万维网使用URL来标志万维网上的各种文档,并使每一个文档在整个互联网的范围内具有唯一的标识符URL。
HTTP (HyperText Transfer Protocol)是超文本传送协议的英文缩写词。HTTP是万维网客户程序与万维网服务器程序之间进行交互时必须遵守的协议。
HTML (HyperText Markup Language)是超文本标记语言的英文缩写词。它使得万维网页面的设计者,可以很方便地使用链接,从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的主机屏幕上将这些页面显示出来。
# 6-10
假定要从已知的URL 获得一个万维网文档。若该万维网服务器的P地址开始时并不知道。试问:除HTTP外,还需要什么应用层协议和运输层协议?
解答:应用层协议需要的是DNS。
运输层协议需要的是UDP (DNS使用)和 TCP (HTTP使用)。
点赞 回复
回帖
支持markdown部分语法 ?