网络通信基础:IP协议、ARP协议、DHCP
目录
一、网络通信基础:IP协议
IP的主要作用
IP地址表示
子网划分
二、ARP
为什么要有ARP协议?
ARP基本配置命令
跨网段通信完整流程(IP 寻址 + ARP 解析)
ARP代理
三、DHCP服务
一、核心作用
二、日常场景
三、简单工作流程(四步)
四、DHCP实战
port link-mode bridge /route 区别
一、网络通信基础:IP协议
IP协议规定了数据的封装方式,网络节点的标识方法,用于网络上数据的端到端的传递
IP的主要作用
1、标识节点和链路
用唯一的IP地址标识每一个节点
用唯一的IP网络号标识每一个链路
2、寻址和转发
确定节点所在网络的位置,进而确定节点所在的位置
IP路由器选择适当的路径将IP包转发到目的节点
3、适应各种数据链路
根据链路的MTU对IP包进行分片和重组
为了通过实际的数据链路传递信息,须建立IP地址到数据链路层地址的映射
IP地址表示
32位二进制数:网络号+主机号;网络号标识主机所在网络,主机号标识该主机
点分十进制:每 8 位 的二进制数转换为十进制数
A类地址:前一个字节是网络号(网络号:1~126)去掉全0和全1
B类:前两个字节是网络号(128.1~191.255)
C类:前三个字节是网络号(192.0.1~223.255.255)
D类:多播地址(组播地址)
子网划分
1、按自然分类的子网划分
2、无类域间路由,用斜线法表示网络前缀长度
二、ARP
为什么要有ARP协议?
IP地址是一个逻辑地址,不能被物理网络所识别 IP 负责跨网络找目标,MAC 负责物理链路里精准投递;硬件只认 MAC,所以说 IP 无法被物理网络直接识别。
ARP的作用:将主机的网络地址动态映射为MAC地址,只有将三层逻辑 IP 转换为二层硬件 MAC,才能在以太网帧中完成数据转发。
主机只知道目标 IP,不知道对应 MAC 时,触发 ARP 流程;
每台设备维护ARP 缓存表,临时存储 IP-MAC 对应关系
反向协议 RARP:MAC→IP
ARP基本配置命令
手工添加静态ARP表项,永久生效 [Router]arp static IP地址 MAC地址 删除静态ARP表项 [Router]undo arp IP地址 显示ARP的运行信息 <Router> display arp扩展:跨网段通信完整流程(IP 寻址 + ARP 解析)
步骤 1:PC 做 IP 寻址判断(核心:判断是否同网段)
PC 拿到目标 IP192.168.2.20,结合自身 IP + 子网掩码计算网络号:
- 自身网络号:
192.168.1.0 - 目标网络号:
192.168.2.0
✅ 结论:不属于同一网段,跨网段通信,数据包必须先发给默认网关(路由器),而非直接找目标主机。
步骤 2:PC 发起 ARP(解析网关 IP → 网关 MAC)
因为PC 需要先把数据发给网关192.168.1.1,但网卡只认 MAC,所以先发送ARP 广播请求,拿着网关的IP地址去找网关的MAC地址,之后路由器回复ARP 单播应答:我的 IP 是192.168.1.1,MAC=MAC-R1,PC 将192.168.1.1 ↔ MAC-R1写入 ARP 缓存。
步骤 3:PC 封装数据帧,发给路由器
网络层 IP 头部(全程不变)
- 源 IP:
192.168.1.10(PC) - 目的 IP:
192.168.2.20(Server)
数据链路层帧头部(二层地址,每经过一台设备就改写)
- 源 MAC:
MAC-A(PC) - 目的 MAC:
MAC-R1(路由器左接口)
PC 将帧发出,交换机根据 MAC 转发给路由器。
步骤 4:路由器接收数据包,路由转发(三层转发)
- 路由器收到帧,解封装二层头部,读取IP 头部的目的 IP
192.168.2.20 - 查询路由表:得知该网段从右接口
192.168.2.1出去可达 - 保留IP 头部原地址不变(源 / 目 IP 全程不变),准备重新封装二层帧。
步骤 5:路由器右接口 发起 ARP
路由器要把数据发给192.168.2.20,执行 ARP:
- 查看自身 ARP 缓存,无对应条目
- 在
192.168.2.0/24网段发送ARP 广播请求 - 服务器 Server 收到广播,匹配自身 IP,返回ARP 单播应答,告知 MAC=
MAC-S - 路由器将
192.168.2.20 ↔ MAC-S存入 ARP 缓存。
步骤 6:路由器重新封装帧,发给目标服务器(解析目标IP → 目标MAC)
网络层 IP 头部:依旧不变
源 IP=192.168.1.10,目的 IP=192.168.2.20
数据链路层帧头部:二层地址被改写
- 源 MAC:
MAC-R2(路由器右接口) - 目的 MAC:
MAC-S(服务器)
帧转发到服务器,服务器解封装,收到数据,通信完成。
注意:
- IP 地址(三层):端到端全程不变,负责跨网段寻址。
- MAC 地址(二层):链路到链路不断改写,只用于当前物理网段转发。
- ARP 触发规则
- 同网段:ARP 直接解析目标主机 IP
- 跨网段:源主机只 ARP 解析网关 IP;网关再 ARP 解析最终目标 IP (源主机→终主机)
- 广播域隔离:ARP 广播无法穿过路由器,每个网段的 ARP 请求仅在本网段生效。
思考:跨网段为什么要网关才能通信
首先一开始主机A会拿着目标IP和自己的掩码比对得到网络地址,发现不一致,判定对方跨网段。就不能不能直接 ARP 找目标主机,因为广播不能跨网段。此时就需要网关,帮它出网段。
ARP代理
什么是ARP代理?
ARP代理就是不给路由器配置网关或者静态路由,依然实现跨网段通信
如果给路由器配置了 ARP 代理,路由器可以像二层交换机一样转发 ARP报文。
做法:分别在两个端口开启ARP代理功能即可
在 RTA 上配置 ARP 代理: [RTA]interface GigabitEthernet0/0 [RTA-GigabitEthernet0/0] proxy-arp enable [RTA]interface GigabitEthernet0/1 [RTA-GigabitEthernet0/1] proxy-arp enable之后PCA可以直接ping通PCB
在 PCA 上查看 ARP 表项 <PCA>display arp 在路由器上查看ARP表项 <RAT>display arp all在PCA上查看ARP表项,发现PCB对应的MAC地址与RTA 接口 G0/0的 MAC地址相同。也就是说,在 PCA 看来,RTA 的接口 G0/0 就是 PCB,以为是同一个网段。实际上,是 RTA 的接口 G0/0 执行了 ARP 代理功能,为 PCA 发出的 ARP 请求提供了代理应答。
同理,PCB 也会认为 RTA 的接口 G0/1 就是 PCA。在 PCB 上查看 ARP 表项
RTA 的ARP 表项中的“Aging”含义:老化时间,表示这条ARP表项(IP->MAC映射)还能存活多久。单位一般是秒,如果表为0,设备就会删除这条ARP表项。
三、DHCP服务
DHCP是什么,有什么作用?
DHCP全称:动态主机配置协议,是局域网里自动给设备分配 IP 地址的网络服务。
如果跨网段就需要借助DHCP中继了
一、核心作用
- 自动分配 IP 地址
当手机、电脑、电视连上路由器 或者 内网时,不用手动填 IP、子网掩码、网关、DNS,DHCP 服务器自动下发全套网络参数,插上就能上网。 - 统一管理内网地址
避免多台设备IP 冲突(两台设备同 IP 会断网)。 - 地址租期管理
IP 不是永久绑定,到期自动续约 / 回收,节约 IP 资源。
二、日常场景
家里 / 公司路由器默认就是 DHCP 服务器:
- 连 WiFi → 路由器 DHCP 自动分配 IP → 直接上网
- 关闭 DHCP → 设备必须手动填 IP,否则无法联网
三、简单工作流程(四步)
发现:设备广播找 DHCP 服务器,发送DHCP Discover报文
提供:服务器拿出空闲 IP,发送DHCP Offer 报文给客户端
请求:设备请求要用这个 IP,发送DHCP Request报文给服务器
确认:服务器确认正式分配,发送DHCP ACK报文给客户端
扩展:
如果客户端接收报文后,如果发现自己已经有这个IP了,就发送DHCP Decline
用户主动断开网络、关机前手动释放 IP:则发送DHCP Release释放
DHCP Inform:表示只要部分参数(如DNS、网关、域名),不要IP
四、DHCP实战
1、在一个局域网中,路由器配置DHCP服务的方式
路由器开启dhcp→配禁止分配的网关ip→建立待分配的ip地址池→配地址池的网关→配网络地址和掩码→在自己端口上配ip地址,否则无法访问
配置好路由器之后,PC机就能直接通过路由器获取IP地址
[RTA]dhcp enable #启动DHCP服务 [RTA]dhcp server forbidden-ip 172.16.0.1 如上配置命令的含义是:禁止DHCP服务器分配172.16.0.1这个地址 [RTA]dhcp server ip-pool 1 如上命令中数值1的含义是:创建编号为1的DHCP地址池 [RTA-dhcp-pool-pool1]network 172.16.0.0 mask 255.255.255.0 [RTA-dhcp-pool-pool1]gateway-list 172.16.0.1 配置完成后,通过display current-configuration命令查看配置的正确性模拟器中用路由器充当PC来获取ip的方法是: [H3C-GigabitEthernet0/0] ip add dhcp-alloc2、跨网段,PC机通过DHCP中继方式获取IP地址
第一步:配置三层交换机;第二步:开启路由器的DHCP服务
拓展:port link-mode bridge /route 区别
1. port link-mode bridge(桥接模式,默认模式)
二层接口,工作在数据链路层,转发依据是MAC地址
接口不能配置 IP 地址
作用:同网段设备互通、接入终端、划分 VLAN,支持 access/trunk/hybrid
2. port link-mode route(路由模式)
三层接口,工作在网络层,转发依据是IP地址
可以直接配置 IP 地址,相当于路由器接口
作用:不同网段之间路由互通,不支持 VLAN 相关命令
常用场景:交换机上实现跨网段转发,连接外网
第一步:配置中间的三层交换机配置:
法一:不划分vlan,直接在接口上配网关(单纯实验、测试)
[H3C] dhcp enable [H3C] interface GigabitEthernet 0/1 # 改为三层路由模式(关键) [H3C-GigabitEthernet0/1] port link-mode route # 配置本网段网关IP [H3C-GigabitEthernet0/1] ip address 2.2.2.1 255.255.255.0 # 启用DHCP中继 [H3C-GigabitEthernet0/1] dhcp select relay # 指定远端DHCP服务器IP [H3C-GigabitEthernet0/1] dhcp relay server-address 1.1.1.1 [H3C-GigabitEthernet0/1] quit [H3C] interface GigabitEthernet 0/2 [H3C-GigabitEthernet0/2] port link-mode route [H3C-GigabitEthernet0/2] ip address 1.1.1.2 255.255.255.0 [H3C-GigabitEthernet0/2] quit法二:划分vlan(企业多部门、多网段、隔离广播)
dhcp enable # 创建 VLAN 10 并直接加入 PC 接口 G0/1 vlan 10 port GigabitEthernet 0/1 quit # 给 VLAN 配网关(关键:相当于网关) 注意:现在在bridge模式下 interface Vlan-interface 10 ip address 2.2.2.1 255.255.255.0 dhcp select relay dhcp relay server-address 1.1.1.1 quit # 接 DHCP 服务器的接口(改route模式直接配接口IP) interface GigabitEthernet 0/2 port link-mode route ip address 1.1.1.2 255.255.255.0 quit# 或者创建好vlan后,再进入相应接口划分valn [H3C]vlan 10 [H3C-vlan10] quit # 2. 把接PC的GE0/1加入VLAN 10 [H3C] interface GigabitEthernet 0/1 [H3C-GigabitEthernet0/1] port access vlan 10 [H3C-GigabitEthernet0/1] quit第二步:配置路由器DHCP:
[RTA]dhcp enable [RTA]dhcp server forbidden-ip 2.2.2.1 [RTA]dhcp server ip-pool 1 [RTA-dhcp-pool-pool1]network 2.2.2.0 mask 255.255.255.0 [RTA-dhcp-pool-pool1]gateway-list 2.2.2.1 [RTA-dhcp-pool-pool1]quit [RTA]interface GigabitEthernet 0/0 [RTA-GigabitEthernet0/0]ip add 1.1.1.1 255.255.255.0 [RTA-GigabitEthernet0/0]quit 注意:跨网段,需要配一个静态路由 [RTA]ip route-static 2.2.2.0 24 1.1.1.2 静态路由:ip route-static 目的网段(网络地址) 24 下一跳直连ip地址