主题
第七章 从输入网址到页面显示:一次完整的请求
1. 为什么要有这一章
前六章把网络切成一层层单独讲,这是学习的需要;但真实世界里,你在浏览器敲下 www.example.com 回车的那一瞬间,所有层、所有协议是同时协作的。"从输入网址到页面显示发生了什么"也因此成为面试和考试的经典综合题——它一道题就能检查你整个知识体系有没有连成网。
这一章就以这次回车为主线,把 DHCP、DNS、ARP、TCP、TLS、HTTP 全部串起来。每一步都标注:它属于哪一层,用到第几章的知识。
先看全程总图,后面逐段拆解:
2. 阶段零:DHCP——上网资格是怎么来的(应用层,第五章)
故事其实在你回车之前就开始了。设备刚连上 WiFi 时一无所有:没有 IP 地址,不知道网关是谁,也不知道 DNS 服务器在哪。它靠 DHCP 四步广播对话取得"上网套餐":
- 发现:设备广播"有没有 DHCP 服务器?"(此时没有 IP,只能广播,源地址填 0.0.0.0)。
- 提供:DHCP 服务器(通常就是家用路由器)回应"我这有个 192.168.1.100 你要不要"。
- 请求:设备广播"我要这个地址"。
- 确认:服务器确认,并附赠三样关键配置——子网掩码、默认网关地址、DNS 服务器地址。
这四样东西正好对应后面每一步:掩码用来判断目标在不在本网段(第三章),网关是出网的必经之门(第三章),DNS 地址马上就要用(第五章)。DHCP 基于 UDP(第四章:还没有 IP 时谈不上建立连接)。
为什么第三步还要广播?因为局域网里可能有多台 DHCP 服务器同时给出提供,设备广播"我选了某台的地址",既通知被选中的服务器确认,也让落选的服务器收回各自的候选地址。地址是租来的(有租期),到期前设备要续租——所以叫"发牌",不叫"卖断"。
