1、计算机学科专业基础综合计算机网络-10 及答案解析(总分:100.00,做题时间:90 分钟)一、综合应用题(总题数:25,分数:100.00)1.设 TCP 使用的最大窗口为 64KB,而传输信道的带宽可认为是不受限制的。若报文段的平均往返时延为20ms,问所能得到的最大吞吐率是多少? (分数:4.00)_2.在主机 1 上的一个进程被分配端口 x,在主机 2 上的一个进程被分配端口 y。试问,在这两个端口之间是否可以同时有两条或更多条 TCP 连接? (分数:4.00)_3.假定 TCP 载荷是 1500B,最大分组存活时间是 120s,那么要使得 TCP 报文段的序列号不会循环回来而重叠
2、,允许的最快线路速度是多大? (分数:4.00)_4.通信信道带宽为 1Gbps,端到端时延为 10ms。TCP 的发送窗口为 65535B。试问:可能达到的最大吞吐率是多少?信道的利用率是多少? (分数:4.00)_5.一个 TCP 连接使用 256kbps 的链路,其端到端延时为 128ms。经测试发现吞吐率只有 128kbps。试问窗口是多少?忽略 PDU 封装的协议开销以及接收方应答分组的发射时间(假定应答分组长度很小)。 (分数:4.00)_6.数据报的分片和重组由 IP 控制,并且对于 TCP 不可见。这是不是意味着 TCP 不必担心到达数据的失序问题? (分数:4.00)_7.考
3、虑一个简单的应用级协议,它建立在 UDP 上,允许客户机检索一个驻留在周知的地址上的远程服务器上的一个文件。客户机首先发送一个带有文件名的请求,服务器用一系列数据分组应答,包含被请求文件的不同部分。为保证可靠性和有序投递,客户机和服务器使用停-等协议。忽略明显的性能问题,你看这个协议有什么问题吗?请仔细考虑处理崩溃的可能性。 (分数:4.00)_8.一个应用程序使用 UDP,到了 IP 层将数据报再划分为 4 个数据报片发送出去。结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传数据报,而 IP 层仍然划分为 4 个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在
4、目的站能否将这两次传输的 4 个数据报片组装成为完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。 (分数:4.00)_9.为什么在 TCP 头部有一个表示头部长度的偏移段,而 UDP 的头部就没有这个段? (分数:4.00)_10.一个 UDP 用户数据报的数据字段为 8192B,要使用以太网来传送。试问应当划分为几个 IP 数据报片?说明每一个 IP 数据报片的数据字段长度和片段偏移字段的值。 (分数:4.00)_11.若一个应用进程使用传输层的 UDP,但继续向下交给 IP 层后又封装成 IP 数据报。既然都是数据报,是否可以跳过 UDP 而直接交给 IP 层?
5、有哪些功能 UDP 提供了而 IP 没有提供? (分数:4.00)_12.假定你测量接收一个 TPDU 的时间。当中断发生时,你以毫秒为单位读取系统时钟。当该 TPDU 得到完全处理时,你再次读取时钟。你 270000 次测得 0 毫秒,730000 次测得 1 毫秒,问接收一个 TPDU 花多长时间? (分数:4.00)_13.假定 TCP 拥塞窗口被置成 18KB,并且发生了超时事件。如果接下来的 4 个进发量传输都是成功的,那么该窗口将是多大?假定最大报文段长度是 1KB。 (分数:4.00)_14.如果收到的报文段无差错,只是未按序号,则 TCP 对此未作明确规定,而是让 TCP 的实
6、现者自行确定。试讨论两种可能的方法的优劣。 (1)将不按序的报文段丢弃。 (2)先将不按序的报文段暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层。 (分数:4.00)_15.解释为什么重置释放 TCP 连接可能会丢失用户数据,而使用 TCP 的妥善释放连接方法就可保证不丢失数据。 (分数:4.00)_16.简述从发送方的高层协议通过 TCP 到达接收方的高层协议的数据传输的完整过程。 (分数:4.00)_17.什么是带外数据?TCP 是如何提供带外数据服务的? (分数:4.00)_18.一个 WWW 网站点有 1000 万个页面,平均每个页面有 10 个超链接,读取一个页面平均要
7、100ms。试计算检索整个站点所需的最少时间。 (分数:4.00)_19.MIME 与 SMTP 的关系是怎样的?什么是 quoted-printable 编码和 base64 编码? (分数:4.00)_20.试将数据 11001100 10000001 00111000 进行 base64 编码,并得出最后传送的 ASCII 数据。 (分数:4.00)_21.试将数据 01001100 10011101 00111001 进行 quoted-printable 编码,并得出最后传送的 ASCII 数据。这样的数据用 quoted-printable 编码后,其编码开销有多大? (分数:4.
8、00)_22.试述邮局协议 POP3 的工作过程。在电子邮件中,为什么必须使用 POP3 和 SMTP 这两个协议? (分数:4.00)_23.DNS 使用 UDP 而不是 TCP。如果一个 DNS 分组丢失了,没有自动恢复。这会引起问题吗?如果会,如何解决? (分数:4.00)_24.试述电子邮件的最主要的组成部件。用户代理 UA 的作用是什么?没有 UA 行不行? (分数:4.00)_25.电子邮件的信封和内容在邮件的传送过程中起什么作用?和用户的关系如何? (分数:4.00)_计算机学科专业基础综合计算机网络-10 答案解析(总分:100.00,做题时间:90 分钟)一、综合应用题(总题
9、数:25,分数:100.00)1.设 TCP 使用的最大窗口为 64KB,而传输信道的带宽可认为是不受限制的。若报文段的平均往返时延为20ms,问所能得到的最大吞吐率是多少? (分数:4.00)_正确答案:()解析:在平均往返时延 20ms 时间内,发送的最大数据量为最大窗口值,即 641024B。 641024(2010 -3 )8=26.2(MbPs)。 因此,所能得到的最大吞吐率是 26.2Mbps。2.在主机 1 上的一个进程被分配端口 x,在主机 2 上的一个进程被分配端口 y。试问,在这两个端口之间是否可以同时有两条或更多条 TCP 连接? (分数:4.00)_正确答案:()解析:
10、不可以。一条连接仅仅用它的套接口标识。因此,(1,x)-(2,y)是在这两个端口之间唯一可能的连接。3.假定 TCP 载荷是 1500B,最大分组存活时间是 120s,那么要使得 TCP 报文段的序列号不会循环回来而重叠,允许的最快线路速度是多大? (分数:4.00)_正确答案:()解析:目标是在 120s 内最多发送 2 32 B,即每秒 35791394B 的载荷。TCP 报文段载荷是 1500B,那么可以发送 23861 个报文段。TCP 开销是 20B,IP 开销是 20B,以太网开销是 26B。这就意味着对于 1500B 的载荷,必须发送 1566B。1566823861299(Mb
11、ps)。 因此允许的最快线路速度是 299Mbps。比这速度更快,就会有在同一时间不同的 TCP 报文段具有相同的序列号的风险。4.通信信道带宽为 1Gbps,端到端时延为 10ms。TCP 的发送窗口为 65535B。试问:可能达到的最大吞吐率是多少?信道的利用率是多少? (分数:4.00)_正确答案:()解析:10ms2=20ms。 每 20ms 可以发送一个窗口大小的交通量,每秒 50 个窗口(1000ms20ms=50) 65535850=26.214(Mbps) 26.214Mbps1000Mbps2.6% 所以,最大吞吐率是 26.214Mbps,信道利用率约为 2.6%。5.一个
12、 TCP 连接使用 256kbps 的链路,其端到端延时为 128ms。经测试发现吞吐率只有 128kbps。试问窗口是多少?忽略 PDU 封装的协议开销以及接收方应答分组的发射时间(假定应答分组长度很小)。 (分数:4.00)_正确答案:()解析:来回路程的时延等于 256ms(=128ms2)。 设窗口值为 X(注意:以字节为单位)。 假定一次最大发送量等于窗口值,且发射时间等于 256ms,那么,每发送一次都得停下来期待再次得到下一窗口的确认,以得到新的发送许可。这样,发射时间等于停止等待应答的时间,结果,测到的平均吞吐率就等于发送速率的一半,即 128kbps。 8X(2561000)
13、=2560.001 X=25610002560.0018=25632=8192 所以,窗口值为 8192。6.数据报的分片和重组由 IP 控制,并且对于 TCP 不可见。这是不是意味着 TCP 不必担心到达数据的失序问题? (分数:4.00)_正确答案:()解析:尽管到达的每个数据报都是完整的,但可能到达的数据报顺序是错误的,因此,TCP 必须准备适当地重组报文的各个部分。7.考虑一个简单的应用级协议,它建立在 UDP 上,允许客户机检索一个驻留在周知的地址上的远程服务器上的一个文件。客户机首先发送一个带有文件名的请求,服务器用一系列数据分组应答,包含被请求文件的不同部分。为保证可靠性和有序投
14、递,客户机和服务器使用停-等协议。忽略明显的性能问题,你看这个协议有什么问题吗?请仔细考虑处理崩溃的可能性。 (分数:4.00)_正确答案:()解析:客户有可能得到错误的文件。假定客户 A 发送一个对文件 f1 的请求,然后崩溃。接下来跟 A 在同一台机器上运行(具有同样的 IP 地址)的另一个客户 B,把它的 UDP 套接口绑定到跟先前的客户 A 使用的端口相同的端口,请求文件 f2。如果客户 B 的请求丢失了,当服务器对 A 的请求的应答到达时,客户 B将接收它,并把它看成是对自己的请求的应答。8.一个应用程序使用 UDP,到了 IP 层将数据报再划分为 4 个数据报片发送出去。结果前两个
15、数据报片丢失,后两个到达目的站。过了一段时间应用程序重传数据报,而 IP 层仍然划分为 4 个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的 4 个数据报片组装成为完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。 (分数:4.00)_正确答案:()解析:不行。重传时,IP 数据报的标识字段会有另一个标识符。只有标识符相同的 IP 数据报片才能组装成一个 IP 数据报。前两个 IP 数据报片的标识符与后两个 IP 数据报片的标识符不同,因此不能组装成一个 IP 数据报。9.为什么在 TCP 头部有一个表示头部长度的偏移段,而 U
16、DP 的头部就没有这个段? (分数:4.00)_正确答案:()解析:TCP 头部除固定长度部分外,还有选项,因此 TCP 头长是可变的,在其头部需要有一个偏移段来说明头的总长度。而 UDP 头部长度是固定的,在其头中就没有必要设立这个段。10.一个 UDP 用户数据报的数据字段为 8192B,要使用以太网来传送。试问应当划分为几个 IP 数据报片?说明每一个 IP 数据报片的数据字段长度和片段偏移字段的值。 (分数:4.00)_正确答案:()解析:以太网帧的数据段的最大长度是 1500B。UDP 用户数据报的头部是 8B。假定 IP 数据报无选项,头部长度都是 20B。IP 数据报的片段偏移指
17、出一个片段在原 IP 分组中的相对位置,偏移的单位是 8B。UDP用户数据报的数据字段为 8192B,加上 8B 的头部,总长度是 8200B。应当划分为 6 个 IP 报片。IP 报片的数据字段的长度:前 5 个是 1480B(对应的 IP 报片的长度是 1500B),最后一个是 800B(对应的 IP 报片的长度是 820B)。报片偏移字段的值分别是:0,185,370,555,740 和 925。11.若一个应用进程使用传输层的 UDP,但继续向下交给 IP 层后又封装成 IP 数据报。既然都是数据报,是否可以跳过 UDP 而直接交给 IP 层?有哪些功能 UDP 提供了而 IP 没有提
18、供? (分数:4.00)_正确答案:()解析:虽然都是数据报,但是应用进程不可以跳过 UDP 而直接交给 IP 层,因为 IP 数据报只能找到目的主机而无法找到目的进程。UDP 提供 IP 所不提供的对应用进程的复用和分离功能;UDP 可以对数据报做包括数据段在内的差错检测,而 IP 只对其头部做差错检测。12.假定你测量接收一个 TPDU 的时间。当中断发生时,你以毫秒为单位读取系统时钟。当该 TPDU 得到完全处理时,你再次读取时钟。你 270000 次测得 0 毫秒,730000 次测得 1 毫秒,问接收一个 TPDU 花多长时间? (分数:4.00)_正确答案:()解析:计算平均值:(
19、2700000+7300001)(270000+730000)=73000010000000.73(ms), 因此,接收一个 TPDU 花 730s 的时间。13.假定 TCP 拥塞窗口被置成 18KB,并且发生了超时事件。如果接下来的 4 个进发量传输都是成功的,那么该窗口将是多大?假定最大报文段长度是 1KB。 (分数:4.00)_正确答案:()解析:在因特网的拥塞控制算法中,除了使用慢启动的接收窗口和拥塞窗口外,还使用第 3 个参数,即门槛值,开始置成 64KB。当发生超时的时候,该门槛值被设置成当前拥塞窗口值的一半,而拥塞窗口则重置成一个最大报文段长。然后再使用慢启动的算法决定网络可以
20、接受的进发量,一直增长到门槛值为止。从这一点开始,成功的传输取决于线性地增加拥塞窗口,即每一次进发传输后只增加一个最大报文段,而不是每个报文段传输后都增加一个最大报文段的窗口值。现在由于发生了超时,下一次传输将是 1 个最大报文段,然后是 2 个、4 个和 8 个最大报文段,所以在 4 次进发量传输后,拥塞窗口将是 8KB。14.如果收到的报文段无差错,只是未按序号,则 TCP 对此未作明确规定,而是让 TCP 的实现者自行确定。试讨论两种可能的方法的优劣。 (1)将不按序的报文段丢弃。 (2)先将不按序的报文段暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层。 (分数:4.00)_
21、正确答案:()解析:第一种方法将不按序的报文段丢弃,会引起被丢弃报文段的重复传送,增加对网络带宽的消耗,但由于用不着将该报文段暂存,因此可避免对接收方缓冲区的占用。 第二种方法先将不按序的报文段暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层;这样有可能避免发送方对已经被接收方收到的不按序的报文段的重传,减少对网络带宽的消耗,但增加了接收方缓冲区的开销。15.解释为什么重置释放 TCP 连接可能会丢失用户数据,而使用 TCP 的妥善释放连接方法就可保证不丢失数据。 (分数:4.00)_正确答案:()解析:重置释放 TCP 连接可能会丢失用户数据,这是因为应用程序已经交给传输实体的数据
22、可能有一部分没有发送完,仍然在缓冲区中等待;已经被传输实体发送出去的数据可能有一部分还在网络中传送,没有到达接收方;已经到达接收方传输实体的数据也可能仍然存在于其缓冲区中,尚未能够递交给应用进程。显然,在这样的情况下,突然的非正常中止,突然释放供连接使用的所有相关资源,就可能会丢失用户数据。因为 TCP 连接的妥善释放在通信的两个方向上分别进行,让双方把需要发送的数据都发送完再启动释放过程;而且,在任一方向上,发出释放请求的一方必须在得到对方的确认后才能完成在该方向上的释放。因此,使用 TCP 的妥善释放连接方法就可保证不丢失数据。16.简述从发送方的高层协议通过 TCP 到达接收方的高层协议
23、的数据传输的完整过程。 (分数:4.00)_正确答案:()解析:(1)发送方的高层协议发出一个数据“流”给它的 TCP 实体进行传输。 (2)TCP 将此数据流分成段。可能提供的传输措施包括:全双工的定时重传、顺序传递、安全性指定和优先级指定、流量控制、错误检测等。然后将这段报文交给 IP。 (3)IP 对这些报文段执行它的服务过程,包括创建 D 分组、数据报分割等,并在 IP 分组通过数据链路层和物理层后经过网络传给接收方的 IP。 (4)接收方的 IP 在计算检验和以及可能的重组片段的工作后,将分组中的报文段送给上层的 TCP。 (5)接收方的 TCP 完成它自己的服务,将报文段恢复成它原
24、来的数据“流”形式,送给高层协议。17.什么是带外数据?TCP 是如何提供带外数据服务的? (分数:4.00)_正确答案:()解析:带外数据指的是不属于正在传输的 TCP 流中的普通数据,而需要发送端和接收端做紧急处理的特别数据。例如,当使用 TCP 进行远程登录会话时,用户可能决定发送一个键盘序列,去中断或终止在另一端的程序。 为了提供带外数据服务,TCP 允许发送者把数据指定成是紧急的,意味着发送程序需要立即发送紧急数据,而不用等待连接的另一端上的程序消耗完数据流中正在传输的数据。接收程序应被尽可能快地通知紧急数据到达,而不管紧急数据处在流中什么位置。当发现紧急数据时,接收方的 TCP 便
25、通知与连接相关的应用程序进入“紧急”方式。在所有紧急数据都被消耗完毕之后,TCP 又告诉应用程序返回正常运行方式。 当在一个报文段中发送紧急数据时,用于标志紧急数据的机制由编码位段中的 URG 位和紧急指针段组成。当 URG 位置 1 时,紧急指针指出窗口中紧急数据结束的位置。紧急指针的值是从序列号段值开始算起的数据段中的正偏移。将紧急指针值与序列号相加就得到最后一个紧急数据字节的编号。18.一个 WWW 网站点有 1000 万个页面,平均每个页面有 10 个超链接,读取一个页面平均要 100ms。试计算检索整个站点所需的最少时间。 (分数:4.00)_正确答案:()解析:每个页面都要被访问。
26、每个页面需要 100 毫秒,得到所有的页面要花 100 万秒的时间,这大约等于11.6 天。跟每个页面上的链接数目是无关的,因为散列表保证每个页面仅被访问一次。19.MIME 与 SMTP 的关系是怎样的?什么是 quoted-printable 编码和 base64 编码? (分数:4.00)_正确答案:()解析:通用因特网邮件扩充 MIME 并非改变或取代 SMTP。MIME 继续使用 RFC822 格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。也就是说,MIME 邮件可在已有的电子邮件和协议下传送。quoted-printable 编码方法适用于所传送的数据中只
27、有少量的非 ASCII 码(例如汉字)的情况。这种编码的要点是对于所有可打印的 ASCII 码,除特殊字符等号“=”外,都不改变。等号“=”和不可打印的ASCII 码以及非 ASCII 码的数据的编码方式是:先将每个字节的二进制代码用两个十六进制数字表示,然后在前面加上一个等号“=”。例如,汉字“系统”的二进制编码是:11001111 10110101 11001101 10110011(共有 32 位,但这四个字节都不是 ASCII 码),其十六进制数字表示为:CFB5CDB3。用 quoted-printable 编码表示为:=CF=B5=CD=B3,把这 12 个字符用可打印的 ASCI
28、I 编码,其二进制编码需要 96 位,和原来的 32 位相比,开销达 200%。再如,等号“=”的二进制代码是 00111101,即十六进制的 3D,因此等号“=”的 quoted-printable 编码为“=3D”。 对于任意的二进制文件,可用 base64 编码。这种编码方法是先将二进制代码划分为一个 24 位长的单元,然后将每一个 24 位单元划分为 4 个 6 位组。每一个 6 位组按以下方法转换成 ASCII 码。6 位的二进制代码共有 64 种不同的值,从 0 到 63。用“A”表示 0,用“B”表示 1,等等。26 个大写字母排列完毕后,接下去再排 26 个小写字母,再后面是
29、10 个数字(09),最后用“+”表示 62,用“/”表示 63。再用两个连在一起的等号“=”和一个等号“=”分别表示最后一组的代码只有 8 位或 16 位。例如,假设有二进制代码,共 24 位:01001001 001100010111100l。先划分为 4 个 6 位组,即 010010 010011 000101 111001。对应的 base64 编码为:STF5。最后,将 STF5 用 ASCII 编码发送,即 01010011 01010100 01000110 00110101。显然,24 位的二进制代码采用 base64 编码后成了 32 位,开销为 25%。然而,当需要传送的
30、数据大部分都是 ASCII 码时,最好还是采用 quoted-printable 编码。20.试将数据 11001100 10000001 00111000 进行 base64 编码,并得出最后传送的 ASCII 数据。 (分数:4.00)_正确答案:()解析:(1)将每一个 24 位单元划分为 4 个 6 位组:110011 001000 000100 111000; (2)将每一个 6 位组转换成 ASCII 码:zIE4; (3)zIE4 的 ASCII 编码是 01111010 01001001 01000101 001101000 因此,最后传送的 ASCII 数据是 0111101
31、0 01001001 01000101 00110100。21.试将数据 01001100 10011101 00111001 进行 quoted-printable 编码,并得出最后传送的 ASCII 数据。这样的数据用 quoted-printable 编码后,其编码开销有多大? (分数:4.00)_正确答案:()解析:01001100 和 00111001 是可打印的 ASCII 编码(“L”和“9”),不改变。将 10011101 用两个十六进制数字表示成 9D,在前面加上等号得到“=9D”。字符串“=9D”的 ASCII 编码是 00111101 00111001 010001000
32、 因此,最后传送的 ASCII 数据是 01001100 00111101 00111001 01000100 00111001。对于字节10011101 做 quoted-printable 编码的开销为:2(2+1)66.7%。22.试述邮局协议 POP3 的工作过程。在电子邮件中,为什么必须使用 POP3 和 SMTP 这两个协议? (分数:4.00)_正确答案:()解析:POP3 客户向 POP3 服务器发送命令并等待响应,POP3 命令采用命令行形式,用 ASCII 码表示。服务器响应是由一个单独的命令行或多个命令行组成,响应的第一行以 ASCII 文本“+OK”或“-ERR”指出相
33、应的操作状态是成功还是失败。 一般在电子邮件软件的帐号属性上要设置一个 POP3 服务器的 URL(比如 )以及邮箱的帐号和密码。当按下电子邮件软件中的收取键后,电子邮件软件首先会调用 DNS 协议解析 POP3 服务器的 IP 地址。当 IP 地址被解析出来后,邮件程序便开始使用 TCP 协议连接邮件服务器的 110 端口。当邮件程序成功地连上 POP3 服务器后,首先会使用 USER 命令将邮箱的帐号传给 POP3 服务器,然后使用 PASS 命令将邮箱的身份验证信息传给服务器。当完成这一认证过程后,邮件程序使用 STAT 命令请求服务器返回邮箱的统计资料,比如邮件总数和总字节数等。接着
34、LIST 命令会返回邮件数量和每个邮件的大小。然后邮件程序会使用 RETR 命令接收邮件,接收一封后便使用 DELE 命令将邮件服务器中的邮件置为删除状态。当使用QUIT 时,邮件服务器便会把置为删除标志的邮件删除掉。 邮件服务器使用 SMTP 协议只能向其他邮件服务器传输电子邮件,使用 POP3 协议才能向用户提供邮箱内容的信息。类似地,用户代理使用 SMTP 协议把邮件传送给发送端邮件服务器,还需要使用 POP3 协议,把自己的邮件从接收端邮件服务器的用户信箱中取回。所以必须使用 POP3 和 SMTP 这两个协议。23.DNS 使用 UDP 而不是 TCP。如果一个 DNS 分组丢失了,
35、没有自动恢复。这会引起问题吗?如果会,如何解决? (分数:4.00)_正确答案:()解析:属于应用层的 DNS 使用传输层的 UDP 而不是 TCP,因为它不需要使用 TCP 在发生传输错误时执行的自动重传功能。实际上,对于 DNS 服务器的访问,一个操作不会修改状态信息,并且每次操作的时候都返回同样的结果,即做多次和做一次的效果是一样的。因此,DNS 操作可以重复执行。当一个进程做一个DNS 请求时,它启动一个定时器。如果定时器期满,它就再请求一次。这样做不会有害处。24.试述电子邮件的最主要的组成部件。用户代理 UA 的作用是什么?没有 UA 行不行? (分数:4.00)_正确答案:()解析:电子邮件有 3 个主要组成部件,这就是用户代理 UA、邮件服务器和电子邮件使用的协议(如 SMTP和 POP3 等)。用户代理 UA 就是用户与电子邮件系统的接口,它使用户能够通过一个很
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1