查缺补漏----用户上网过程(HTTP,DNS与ARP)

(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连接,才能进行资源访问。

相关推荐
shykevin4 小时前
python开发Streamable HTTP MCP应用
开发语言·网络·python·网络协议·http
tmacfrank5 小时前
网络编程中的直接内存与零拷贝
java·linux·网络
数据与人工智能律师7 小时前
虚拟主播肖像权保护,数字时代的法律博弈
大数据·网络·人工智能·算法·区块链
purrrew7 小时前
【Java ee初阶】HTTP(2)
网络·网络协议·http
火星数据-Tina8 小时前
从HTTP轮询到WebSocket:如何让体育API性能提升100倍?
websocket·网络协议·http
hgdlip10 小时前
怎么快速换电脑浏览器的ip:方法与注意事项
网络·网络协议·tcp/ip·电脑
可怜的Tom被玩弄于股掌之中10 小时前
BUUCTF——Nmap
网络·安全·web安全·网络安全
今儿敲了吗11 小时前
计网| 网际控制报文协议(ICMP)
网络·智能路由器
南棱笑笑生12 小时前
20250515测试飞凌的OK3588-C的核心板在Linux R4下适配以太网RTL8211F-CG时跑iperf3的极速
linux·服务器·网络
Think Spatial 空间思维12 小时前
【HTTPS基础概念与原理】TLS握手过程详解
数据库·网络协议·https