网络通信基础:IP协议、ARP协议、DHCP

目录

一、网络通信基础:IP协议

IP的主要作用

IP地址表示

子网划分

二、ARP

为什么要有ARP协议?

ARP基本配置命令

[跨网段通信完整流程(IP 寻址 + ARP 解析)](#跨网段通信完整流程(IP 寻址 + ARP 解析))

ARP代理

三、DHCP服务

一、核心作用

二、日常场景

三、简单工作流程(四步)

四、DHCP实战

[port link-mode bridge /route 区别](#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 拿到目标 IP 192.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:路由器接收数据包,路由转发(三层转发)

  1. 路由器收到帧,解封装二层头部,读取IP 头部 的目的 IP 192.168.2.20
  2. 查询路由表 :得知该网段从右接口192.168.2.1 出去可达
  3. 保留IP 头部原地址不变 (源 / 目 IP 全程不变),准备重新封装二层帧

步骤 5:路由器右接口 发起 ARP

路由器要把数据发给192.168.2.20,执行 ARP:

  1. 查看自身 ARP 缓存,无对应条目
  2. 192.168.2.0/24网段发送 ARP 广播请求
  3. 服务器 Server 收到广播,匹配自身 IP,返回 ARP 单播应答 ,告知 MAC=MAC-S
  4. 路由器将 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中继了

一、核心作用

  1. 自动分配 IP 地址
    当手机、电脑、电视连上路由器 或者 内网时,不用手动填 IP、子网掩码、网关、DNS,DHCP 服务器自动下发全套网络参数,插上就能上网。
  2. 统一管理内网地址
    避免多台设备IP 冲突(两台设备同 IP 会断网)。
  3. 地址租期管理
    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-alloc

2、跨网段,PC机通过DHCP中继方式获取IP地址

第一步:配置三层交换机;第二步:开启路由器的DHCP服务

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地址
相关推荐
Geeys1 小时前
淘宝电商运营新手入门完整教程|零基础开店引流
大数据·网络·人工智能
FlightYe2 小时前
FFmpeg移动端硬解机制
linux·网络·ffmpeg·音视频·实时音视频·视频编解码
七夜zippoe3 小时前
OpenClaw 实战案例:数据分析平台构建
服务器·网络·数据分析·openclaw·平台构建
huainingning3 小时前
锐捷ACL单向TCP互通组网-使用TCP三次握手SYN包置位为1实现
服务器·网络·tcp/ip
AI科技星4 小时前
拓扑生命系统确定性理论:基于32维流形的遗传密码起源与衰老动力学( 中英双语顶刊终稿·标准数学符号)
开发语言·网络·人工智能·算法·机器学习·乖乖数学·全域数学
想你依然心痛4 小时前
RT-Thread组件生态:SAL网络框架与AT组件实战——网络抽象、AT指令
网络·arm开发·at·sal
2401_841585184 小时前
防破 · 稳定 · 易用——文心云网络验证,为您的软件商业化保驾护航
网络
星恒讯工业路由器4 小时前
公网IP、NAT、端口映射:外网访问家里的“通关攻略”
网络·智能路由器·信息与通信·nat·端口映射·公网ip
前端炒粉5 小时前
个人简历面经总结二
前端·网络·vue.js·react.js·面试