是什么
局域网内主机与外部通信依赖底层协议协同:DHCP(动态主机配置协议,应用层)负责让新主机“即插即用”自动获取 IP、掩码与网关;ARP(地址解析协议,网络层)负责通过已知的目的 IP 寻找对应的物理 MAC 地址;默认网关(Default Gateway) 是主机跨网段访问外部网络(如 Internet)的必经出口。
基础知识必备(底层机制讲透)
1. DHCP 协议全流程与地址状态
-
定位:运行在 UDP 之上(端口 67 为服务端,端口 68 为客户端)的应用层协议。
-
DHCP 核心四步交互(四报文):
-
DHCP Discover(发现):主机刚开机,没有 IP 也不知道 DHCP 服务器在哪,在局域网内广播喊人。
-
源 IP:==
0.0.0.0==(本机尚未获得合法 IP,表示未知) -
目的 IP:==
255.255.255.255==(受限广播地址,局域网内广播,路由器不转发) -
目的 MAC:
FF-FF-FF-FF-FF-FF
-
-
DHCP Offer(提供):DHCP 服务器拟定一个可用 IP,广播或单播回发给主机。
-
DHCP Request(请求):主机正式向选中的 DHCP 服务器申请该 IP,依然广播通知(顺便告诉其他 DHCP 服务器释放保留的 IP)。
-
DHCP ACK(确认):服务器确认绑定,将 IP、子网掩码、默认网关、DNS 服务器地址一并打包给主机。
-
-
动态地址池规则:
局域网内已被服务器接口、交换机管理口、固定服务器等 静态配置占用的 IP,绝对不能放入 DHCP 动态地址池,否则会引发严重 IP 冲突。
2. ARP 协议到底是什么?
-
本质:“通过已知 IP 地址,解析获取对应的硬件 MAC 地址”。
-
为什么需要它?
网络层通信看 IP,但数据在以太网物理链路传输时,网卡只认 MAC(48 位,6 个字节)。
-
ARP 工作流程(两步):
-
ARP 请求(广播):如果主机的 ARP 缓存表为空,它不知道目的 IP 对应的 MAC,就发送一个以太网广播帧(目的 MAC 为 ==
FF-FF-FF-FF-FF-FF==),向全网询问:“IP 为 X.X.X.X 的机器,请告诉我你的 MAC!” -
ARP 应答(单播):拥有该 IP 的主机收到广播后,直接向发起方单播回复:“我就是 X.X.X.X,我的 MAC 是
xx-xx-xx-xx-xx-xx”。 -
缓存记录:发起主机将结果存入本机的 ARP 缓存表,后续发数据直接查表封装。
-
3. 同网段直接交付 vs 跨网段间接交付(默认网关的作用)
主机发数据前,会用本机的子网掩码与目的 IP 进行“按位与运算”:
-
情况 A:目的 IP 与自己在同一子网(同局域网)
-
不需要路由器!不经过默认网关。
-
直接发送 ARP 请求获取目的主机的 MAC 地址,数据帧经以太网交换机直接送到目的设备(直接交付)。
-
结论:即使网关配错、网关关机,同局域网内的主机互访完全不受影响。
-
-
情况 B:目的 IP 与自己不在同一子网(访问外部网络/Internet)
-
主机自身无法直接把二层帧传到外网,必须借道 默认网关(即路由器的内网接口)(间接交付)。
-
数据帧封装规则:
-
IP 数据报:源 IP 是自己,目的 IP 依然是外网目标服务器的 IP(端到端不变)。
-
以太网帧首部:源 MAC 是自己,目的 MAC 必须填默认网关(路由器接口)的 MAC 地址(逐跳改变)。
-
-
结论:跨网访问时,ARP 解析的目标是网关路由器的 MAC,而不是外网服务器的 MAC;若网关配错,跨网通信必然失败。
-
公式 & 适用条件
1. DHCP 可用地址池计算公式
-
适用条件:
-
先剔除主机号全 0(网络地址)和全 1(广播地址)。
-
必须扣除题干中所有明确指出的静态设备 IP(路由器接口、服务器、指定主机等)。
-
2. ARP 解析目标判定规则
-
适用条件:
-
源端根据本地掩码做与运算判断子网归属后执行。
-
怎么用(解题步骤)
-
审清静态 IP,划定 DHCP 范围:
-
先算网段可用全集(如
/24即.1 ~ .254)。 -
逐一排查拓扑图中所有被“静态手工配置”占用的地址(路由器端口、DNS、DHCP、Web服务器、主机1等)。
-
从可用全集里把这些 IP 全部挖掉,剩下的连续段即为 DHCP 动态分配池。
-
-
写出 DHCP Discover 报文参数:
-
源 IP 必须写 ==
0.0.0.0==。 -
目的 IP 必须写受限广播 ==
255.255.255.255==。
-
-
区分“发出首帧”与“封装数据帧”的 MAC:
-
若 ARP 表为空:主机发出的第一个以太网帧必须是 ARP 请求广播帧,目的 MAC 为 ==
FF-FF-FF-FF-FF-FF==。 -
数据真正发送时:
-
如果是内网通信,目的 MAC 填内网目的主机 MAC。
-
如果是访问 Internet,目的 MAC 填 默认网关(路由器内网接口)的 MAC。
-
-
-
诊断配置错误下的连通性:
-
第一步算子网:将访问目标与本机做掩码与运算。
-
同子网 二层交换机转发 能通(与网关配置正确与否无关)。
-
跨子网 必须依靠网关转发 检查网关是否配成了非路由器设备(如配成普通服务器) 普通设备无路由能力 不能通。
-
例题
-
题目:
某网络拓扑中,路由器内网接口(
111.123.15.1/24,MAC:00-a1-a1-a1-a1-a1)、DHCP 服务器(111.123.15.2/24,MAC:00-b1-b1-b1-b1-b1)、WWW 服务器(111.123.15.3/24)与主机 1(111.123.15.4/24)均采用静态 IP 地址配置;主机 通过 DHCP 动态获取配置。-
DHCP 服务器可为主机 动态分配 IP 地址的最大范围是什么?主机 2 使用 DHCP 获取 IP 过程中,发送的封装 DHCP Discover 报文的 IP 分组源 IP 和目的 IP 分别是多少?
-
若主机 2 的 ARP 表为空,则该主机访问 Internet 时,发出的第一个以太网帧的目的 MAC 是什么?封装主机 2 发往 Internet 的 IP 分组的以太网帧目的 MAC 是什么?
-
若主机 1 的子网掩码和默认网关分别配置为
255.255.255.0和111.123.15.2,则该主机是否能访问 WWW 服务器?是否能访问 Internet?说明理由。
-
-
解题过程:
-
DHCP 分配范围与首包构建:
网络号为
111.123.15.0/24,总可用范围为111.123.15.1 ~ 111.123.15.254。扣除静态配置占用的
.1(路由器)、.2(DHCP)、.3(WWW)、.4(主机1),动态分配最大范围为:111.123.15.5 ~ 111.123.15.254。主机 2 刚启动无合法 IP,其发送的 DHCP Discover 报文源 IP 为
0.0.0.0,目的 IP 为广播地址255.255.255.255。 -
跨网访问与 ARP 解析:
主机 2 访问外网需通过默认网关(
111.123.15.1)。因其 ARP 表为空,必须先广播发送 ARP 请求获取网关的 MAC 地址,故发出的第一个以太网帧为广播帧,目的 MAC 为FF-FF-FF-FF-FF-FF。获得网关 MAC 后,实际封装发往 Internet 数据的以太网帧目的 MAC 应为网关内网口 MAC,即
00-a1-a1-a1-a1-a1。 -
错误网关连通性分析:
-
能访问 WWW 服务器:WWW 服务器(
111.123.15.3)与主机 1 处于同一子网,通信属于局域网内直接交付,只需通过以太网交换机完成二层转发,不通过默认网关。 -
不能访问 Internet:访问 Internet 属于跨网段通信,必须将分组发送给网关由其路由。主机 1 误将网关配置为 DHCP 服务器(
111.123.15.2),而 DHCP 服务器不具备路由转发功能,无法将分组转入 Internet。
-
-
-
结论:
DHCP 分配范围为
111.123.15.5 ~ 111.123.15.254;Discover 报文源为0.0.0.0、目的为255.255.255.255;首帧目的 MAC 为FF-FF-FF-FF-FF-FF,数据帧目的 MAC 为00-a1-a1-a1-a1-a1;主机 1 能访问 WWW 服务器但不能访问 Internet。
⚠️ 易错点
Warning
动态地址池漏扣静态设备:只扣了路由器和 DHCP 服务器,漏掉题目明确标注静态配置的 Web 服务器(.3)和主机 1(.4)。动态池若包含静态已占 IP,会造成冲突判错。
首帧目的 MAC 误写为网关 MAC:题目有关键前提“若主机 2 的 ARP 表为空”。没有 MAC 地址就不能直接封装数据,必须先发 ARP 请求,因此首帧目的 MAC 必须写广播 MAC ==
FF-FF-FF-FF-FF-FF==,而不是网关的 MAC。跨网通信目的 MAC 误写为目标外网服务器的 MAC:数据跨网传输时,以太网帧目的 MAC 填写的是 默认网关(路由器接口)的 MAC。主机根本不知道也不可能直接填写远端外网服务器的 MAC。
误认为网关配错就导致局域网内部断网:默认网关是跨子网的出口,局域网内同网段通信压根不走网关,只要在同一个交换机下,内网访问依然正常。
速记
无IP时源零(0.0.0.0)放全一(255.255.255.255);ARP表空广播起(FF-FF-FF-FF-FF-FF);出门外网找网关(目的MAC填网关),内网互访不经它。