概述:
由于手动配置IP地址及其他信息过于繁琐,且可能会出现人工错误情况;因此,在生活的绝大多数情况下我们会使用DHCP/动态主机配置协议,让电脑为我们生成一个随机的IP地址及其他信息。
工作流程:
应用层协议;
传输层使用UDP协议进行数据封装,端口号67/68 其中68代表客户端;67代表服务端。
- 报文类型:
报文类型--八种--学6种--常用4种
discover报文---发现报文,用来发现网络中的DHCP服务器
offer报文------服务器回复:当收到discover报文后,并且服务器本地存在可用IP地址,则回复信息
request报文----正式向服务器请求IP地址
ack报文--------服务器同意使用该IP地址
decline报文----当客户端检测到IP地址冲突时,发送给服务器用以告知IP不可用
nak报文--------服务器拒绝客户端使用该IP地址(一般看不到)
release报文----客户端主动释放IP地址
-
数据包
-
初次获取
初次获取IP地址
1.DHCP客户端向DHCP服务器去要地址(广播-数据包)
DHCP-discover包:
SIP:0.0.0.0 我没有IP还要有一个IP来表示自己的身份--此处表示全没有;
DIP:255.255.255.255
受限广播地址:在本广播域之内进行广播(无IP地址就不能通过网关进行跨网段传输);
SMAC
DMAC:全F-广播MAC地址:强制交换器进行广播
S端口:68
D端口:67
2.DHCP服务器收到后,向DHCP客户端进行回复:
DHCP-offer包/单播or广播
这个数据包中会携带一个临时有效的IP地址,并且暂时作为DHCP客户端使用
SIP:DHCP服务器
DIP:待分配的IP地址
3.DHCP客户端收到offer包后向DHCP服务器发送:
DHCP-request包/广播
告知所有服务器我已有IP地址(一个广播域中可能有多个DHCP服务器发送offer包)
SIP:0.0.0.0----需等到DHCP服务器发送ack确认包后才拥有IP地址
DIP:255.255.255.255
SMAC
DMAC:全F-广播MAC地址:广播告知DHCP服务器:我已有IP地址
4.DHCP服务器向DHCP客户端发送:
DHCP-ACK包/单播or广播
表示:确认-->DHCP客户端拥有临时IP地址
-
冲突检测
冲突检测:
1.DHCP客户端获取到临时IP地址后,发送ARP请求包(3次)进行冲突检测;
2.当检测发现IP地址冲突时,DHCP客户端停止使用IP并向服务器发送decline包进行告知;
3.服务器进行"ping IP"操作进行核实,若核实属实则从本地去除该IP地址;
4.DHCP客户端重新进行申请操作
-
再次获取--续租
再次获取IP地址
1.DHCP客户端向DHCP服务器发送DHCP-request包
(想要再次获取之前的IP地址)
2-1.如果DHCP服务器还存留之前下发的IP地址:
DHCP服务器向DHCP客户端发送DHCP-ACK包;
2-2.DHCP服务器不能续租/已经将前者的IP地址下发给了其他设备:
DHCP服务器向DHCP客户端发送DHCP-NAK包(拒绝)
(还要获取IP地址则重新进行申请操作)
DHCP租期:24h(华为默认)
T1--租期的50%:12h----DHCP客户端向DHCP服务器发送:DHCP-request包--单播 续租;
T2--租期的87.5%:21h--DHCP客户端向DHCP服务器发送:DHCP-request包--广播 续租;
DHCP实验:
- 拓扑图:
- 基础配置
1.设置192.168.1.0/24和192.168.2.0/24两个网段
2.配置网关IP
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.10 24
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.10 24
- 对路由器进行DHCP配置:
1.以192.168.1.0/24网段为例:
[Huawei]dhcp enable ----启动DHCP服务
Info: The operation may take a few seconds. Please wait for a moment.done.
[Huawei]ip pool A----创建名为A的IP地址池塘
Info: It's successful to create an IP address pool.
[Huawei-ip-pool-A]network 192.168.1.0 mask 24---在池塘中放入IP地址的网段信息
[Huawei-ip-pool-A]gateway-list 192.168.1.10---在池塘中放入IP地址的网关信息
[Huawei-ip-pool-A]dns-list 8.8.8.8---在池塘中放入DNS服务器的IP地址-可不填
[Huawei]interface g 0/0/0
[Huawei-GigabitEthernet0/0/0]dhcp select global
将池塘与接口进入联动,告诉路由器池塘的信息属于哪个接口所连接的广播域
2.同理设置192.168.2.0/24网段
- DHCP拓展配置:
[Huawei-ip-pool-A]excluded-ip-address 192.168.1.254 192.168.1.254
在192.168.1.0/24这个地址池中,将192.168.1.254地址排除:后续服务器在分配IP地址时
将不会分配192.168.1.254这个地址信息----起始IP、截止IP
[Huawei-ip-pool-A]lease day 0 hour 0 minute 1 ---修改租期时间--不建议用
- 查看地址池内容:
[Huawei]display ip pool name ? ---查看具体某个地址池塘内容
STRING<1-64> Pool name
[Huawei]display ip pool name A
- 对PC端进行DHCP协议配置:
输入:ipconfig命令查看IP信息-这时路由器已自动为我们分配了一个IPV4地址
- 进行ping通测试:
综上:我们就掌握DHCP相关知识点啦!