查缺补漏----用户上网过程(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连接,才能进行资源访问。

相关推荐
数据知道30 分钟前
MongoDB投影:如何只查询需要的字段,减少网络传输开销?
网络·数据库·mongodb
EmmaXLZHONG2 小时前
分布式系统概念与设计笔记(Notes of Distributed Systems Concepts and Design)
笔记·分布式·网络协议·计算机网络
2401_849339172 小时前
LVS实验
服务器·网络·lvs
Emotional。3 小时前
AI Agent 开发实战:用 LangChain 构建智能邮件助手
linux·服务器·网络·人工智能·python·langchain
国科安芯3 小时前
实战验证:ASM1042S2S CANFD收发器的质子单粒子效应试验与在轨性能
网络·人工智能·单片机·嵌入式硬件·物联网·fpga开发
无水先生4 小时前
python应用的参数管理(2):argparse 函数的用法
网络·数据库·python
国科安芯4 小时前
ASP4644S电源芯片引脚功能与参考设计输出电压计算方法
网络·单片机·嵌入式硬件·fpga开发·性能优化
郝学胜-神的一滴4 小时前
Python中的del语句与垃圾回收机制深度解析
服务器·开发语言·网络·python·算法
bonnyandsky4 小时前
X86 RouterOS 7.18 设置笔记十一:ROS更新方法及更新后IPTV组播转单播失效的解决方法
网络·笔记
国科安芯5 小时前
抗辐照MCU芯片在核工业水下探测耐辐照数字摄像机中的应用研究
网络·单片机·嵌入式硬件