(1)HTTP
来自湖科大计算机网络微课堂:
① HTTP/1.0采用非持续连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接当收到响应后就立即关闭连接。
每请求一个文档就要有两倍的RTT的开销。若一个网页上有很多引用对象(例如图片等),那么请求每一个对象都需要花费2RTT的时间。
为了减小时延,浏览器通常会建立多个并行的TCP连接同时请求多个对象。但是,这会大量占用万维网服务器的资源,特别是万维网服务器往往要同时服务于大量客户的请求,这会使其负担很重。
② HTTP/1.1采用持续连接方式。在该方式下,万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。这并不局限于传送同一个页面上引用的对象,而是只要这些文档都在同一个服务器上就行。
为了进一步提高效率,HTTP/1.1的持续连接还可以使用流水线方式工作,即浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文。这样的一个接一个的请求报文到达服务器后,服务器就发回一个接一个的响应报文。这样就节省了很多个RTT时间,使TCP连接中的空闲时间减少提高了下载文档的效率。
例题:
注:看到MSS,一定要想到慢开始,拥塞避免算法。
2011年统考真题:
(2)DNS
① 若主机不知道本地域名服务器的MAC地址,会通过ARP查询,查询本地域名服务器的MAC地址。
注:通常情况下,网络管理员会手动为DNS服务器指定一个或多个固定的IP地址。
② 一旦用户的设备知道域名服务器的MAC地址,它就会构造一个DNS查询请求发送到域名服务器。这个DNS查询请求包含用户想要解析的域名。
③ 域名服务器收到DNS查询请求后,会查找其缓存或进行递归/迭代查询以确定域名的IP地址。一旦找到IP地址,域名服务器就会将结果(即域名的IP地址)返回给用户的设备。
④ 用户的设备收到DNS查询响应后,现在知道了它想要访问的网站的IP地址。
用户的设备可以使用这个IP地址来与网站服务器建立TCP/IP连接,并发送HTTP请求以获取网页内容。(这里知道网站IP地址,仍须通过ARP协议得到其MAC地址)
补充:注意区别浏览器的缓存和本地域名服务器缓存
浏览器缓存:浏览器缓存DNS查询结果,以便在后续访问相同域名时能够快速获取IP地址,而无需再次进行DNS查询。
本地域名服务器缓存:本地域名服务器缓存是存在于本地网络中的DNS服务器上的一种缓存机制。当用户尝试访问某个域名时,本地域名服务器会首先检查自己的缓存中是否已解析过该域名。如果已解析过且结果仍然有效(即未过期),本地域名服务器会直接将对应的IP地址返回给用户设备,而无需向更高级别的DNS服务器发起查询。
例题:
解析:
极易错的题:
应注意的点:
① 忽略其他各种时延,只计internet上各服务器往返时延
② 首先要建立TCP连接,才能进行资源访问。