计算机网络习题:应用层

一、基本协议:HTTP、FTP、DNS等协议

【1】

HTTP和DNS的综合题

计算机网络习题:应用层
本题考察HTTP工作流程、DNS查询等知识。

计算机网络习题:应用层
HTTP请求一个html耗费的总时间是RTT,且我们知道一次DNS查询是UDP协议会耗费1个RTT。

本题中忽略递归查询的时间,但本地域名服务器查询其他域名服务器的时间要计算在内。

最短时间:主机在本地域名服务器中查询到了,只需要消耗2个RTT进行HTTP查询。

最长时间:主机未能在本地域名服务器查询到,本地域名服务器会进行3次迭代查询,故最终耗费时间为:20ms + 10 * 3ms = 50ms


【2】

HTTP报头

计算机网络习题:应用层
本题考察http协议首部的字段含义

持续链接使用的是keep-alive关键字,这里是close。


【3】
计算机网络习题:应用层
ARP和UDP肯定是会用到的,路由协议RIP中就用到了UDP来传递路由信息,而且DNS解析过程中也会用到UDP协议。

PPP协议一般用于家庭局域网和ISP的点对点连接。可以这样想象,没有PPP协议,我们就无法与ISP连通,那么就无法访问互联网,因为在中国,任何访问互联网的数据包都是要从ISP走出去的,我们的IP地址也是从ISP分配的,这个协议也是必然会被用到的。

而SMTP协议,是发送邮件中的协议,POP3是解析邮件的协议,在访问Web的流程中,是不会用到的。

选D


【4】

DNS协议的递归查询和迭代查询

计算机网络习题:应用层
在递归查询中,每一个服务器都只发送一条查询请求。
而在迭代查询中,大量的查询工作都放在了本地域名服务器身上。


【5】

FTP的工作原理

计算机网络习题:应用层
解析:
首先我们要理解FTP的工作原理,如上图。每次服务器和客户机会建立一个控制连接和一个数据连接。控制连接使用的往往是服务器的21端口,数据连接往往是服务器的20端口。控制连接在整个会话过程中一直打开,直到双方确定交互完成,断开所有连接后才销毁;而数据连接每一次传完数据就关闭,然后再传数据时,又重新建立。

因此A对,B对,C错,D对

注意:客户端的端口是随机分配的,这个无从得知,我们只能确定服务器端的端口是21和20


二、综合大题:

【1】
这一题汇总了以太网帧首部、ip帧首部格式、HTTP交互流程等知识,有一定综合性,需要考生熟知以太帧、IP、TCP这三大数据首部的格式

计算机网络习题:应用层

计算机网络习题:应用层

第一问):

在ip数据包的目的ip地址那一项中,就存着服务器的ip地址。

那怎么看呢?

我们知道:以太网数据帧封装了ip数据包。因此,以太网数据帧中的数据部分就是ip数据包。

那么又因为以太网数据帧前面有14个字节的首部信息,所以从第14个字节开始才是ip数据包的内容

计算机网络习题:应用层

那么我们下一步再找目的ip地址在ip数据包的哪一个位置。

计算机网络习题:应用层
可以看到,目的ip地址,就在ip分组的第17—20个字节。所以总的来讲,我们只要从以太网帧的第31个字节开始往后数4个字节就是目的ip地址了。

计算机网络习题:应用层
如上图,从第31个字节开始,40-aa-62-20就是十六进制形式的目的ip地址。

转成十进制数就是:计算机网络习题:应用层


第一问还要求默认网关的MAC地址,其实也可以直接看出来。

计算机网络习题:应用层
显然,目的MAC地址就是默认网关的MAC地址。还是由上图可知,目的MAC地址肯定在以太网帧的前6个Byte中。

所以我们顺着数6个字节:
计算机网络习题:应用层

因此默认网关的MAC地址为: 00-21-27-21-51-ee


第二问

计算机网络习题:应用层

显然是用的ARP协议


第三问

计算机网络习题:应用层
计算机网络习题:应用层

http/1.1协议,是一个典型的持续连接方式,与http/1.0不同。1.0协议,每传一次数据都需要重新建立、断开tcp连接,而1.1协议,可以长时间维持连接,直到所有数据传完为止。显然使用http1.1,时延会更小,不用频繁建立连接。

画出本题的分析图:
计算机网络习题:应用层

注意:题中问的是发出Web请求开始,一直到接收完毕,而不是从握手开始。所以是6个RTT。

如果是从建立连接请求开始,那么就是7个RTT。


第四问

计算机网络习题:应用层

我们知道,每经过一个路由器,TTL生命值得减1、源ip地址也得改变一下。计算机网络习题:应用层

注意:还有一个字段——首部检验和,它也需要修改,因为TTL、源ip都发生了变化,因此校验和也得发生改变,才能应对新的变化。