网络技术基础(16)——DHCP中继

简介: 【3月更文挑战第3天】刚加完班又去南京出差了,实在是太忙了。。。。网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记。

一般情况下中小型网络中DHCP服务器和客户端是同一个局域网也就是一个网段,但是在大型网络中可能是服务器在另外一个广播域中,我们知道DHCP通过广播寻找服务器,但是跨广播域就无法进行请求和分配了,因此出现了DHCP中继的概念。

DHCP中继概述

DHCP Relay即DHCP中继,它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的,提供了对DHCP广播报文的中继转发功能,能够把DHCP客户端的广播报文“透明地”传送到其它广播域的DHCP服务器上,同样也能够把DHCP服务器端的应答报文“透明地”传送到其它广播域的DHCP客户端。

简单讲就是相当于一个中转代理的功能,前提是中继和DHCP能够正常通信,路由可达。

image.png

DHCP报文格式

DHCP Relay主要负责转发DHCP客户端与DHCP服务器之间的DHCP报文,所以DHCP Relay的报文格式只是把DHCP的报文部分字段做了相应的修改,报文格式没有发生变化,如下图所示:

image.png

Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。Hops字段的作用是限制DHCP报文所经过的DHCP中继数目。服务器和客户端之间的DHCP中继数目不能超过16个,也就是Hops值不能大于16,否则DHCP报文将被丢弃。

Giaddr(gateway ip address):表示第一个DHCP中继的IP地址。当客户端发出DHCP请求时,第一个DHCP中继在将DHCP请求报文转发给DHCP服务器时,会把自己的IP地址填入此字段。

DHCP中继的工作原理

image.png

发现阶段:DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。

提供阶段:DHCP服务器根据DHCP DISCOVER报文中的Giaddr字段选择地址池为客户端分配相关网络参数,DHCP中继收到DHCP OFFER报文后,以单播或组播方式发送给DHCP Client。

选择阶段:中继接收到来自客户端的DHCP REQUEST报文的处理过程同“发现阶段”。

确认阶段:中继接收到来自服务器的DHCP ACK报文的处理过程同“提供阶段”。

DHCP中继收到DHCP DISCOVER报文后,处理规则为:

  • 检查DHCP报文中的Hops字段,如果大于16,则丢弃DHCP报文;否则,将Hops字段加1(表明经过一次DHCP中继),并继续下面的操作。

  • 检查DHCP报文中的Giaddr字段。如果是0,将Giaddr字段设置为接收DHCP DISCOVER报文的接口IP地址。如果不是0,则不修改该字段,继续下面的操作。

  • 将DHCP报文的目的IP地址改为DHCP服务器或下一跳中继的IP地址,源地址改为中继连接客户端的接口地址,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。

DHCP服务器接收到DHCP DISCOVER报文后,选择与报文中Giaddr字段为同一网段的地址池,并为客户端分配IP地址等参数,然后向Giaddr字段标识的DHCP中继单播发送DHCP OFFER报文,DHCP中继收到DHCP OFFER报文后,会进行如下处理:

  • 检查报文中的Giaddr字段,如果不是接口的地址,则丢弃该报文;否则,继续下面的操作。

  • DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP OFFER报文广播发送给DHCP客户端;否则将DHCP OFFER报文单播发送给DHCP客户端。

DHCP中继配置

DHCP Server配置:

# 正常配置全局地址池
# 全局DHCP
dhcp enable

# 配置路由
ip route-static 192.168.1.0 24 45.1.1.5

# 配置全局地址池
ip pool ippool
 gateway-list 192.168.1.254 
 network 192.168.1.0 mask 255.255.255.0  
 excluded-ip-address 192.168.1.253 
 lease day 0 hour 8 minute 0 
 dns-list 8.8.8.8 114.114.114.114

# 在接口选择全局应用
interface GigabitEthernet0/0/1
 ip address 45.1.1.4 255.255.255.0 
 dhcp select global

DHCP Relay中继配置:

# 全局开启dhcp
dhcp enable

# 配置接口,在隔离广播域接口(接近客户端侧)
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0 
 dhcp select relay     # 开启中继代理
 dhcp relay server-ip 45.1.1.4 # 设置服务器地址

# 配置接口
interface GigabitEthernet0/0/1
 ip address 45.1.1.5 255.255.255.0

image.pngDHCP中继报文

设置代理服务器有两种方式,上面直接使用IP地址。

也可以设置DHCP服务器组:

# 创建DHCP服务器组,可以设置多个DHCP服务器IP
dhcp server group AR4 
 dhcp-server 45.1.1.4 0
 quit

# 接口配置
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0 
 dhcp select relay
 dhcp relay server-select AR4

总结

DHCP中继在两个网段间代理客户端和服务器请求,中继服务器也需要开启DHCP功能,然后路由可达。大概就是中继服务器在客户端广播域监听信息,然后讲信息转发给另外广播域的DHCP服务器,接收DHCP服务器的回复,转发给客户端实现地址获取。 如果觉得文章感兴趣欢迎关注公众号:不喜欢热闹的孩子

相关文章
|
10天前
|
Linux 网络安全 Windows
网络安全笔记-day8,DHCP部署_dhcp搭建部署,源码解析
网络安全笔记-day8,DHCP部署_dhcp搭建部署,源码解析
|
12天前
|
网络协议 网络安全 数据库
DHCP的interface(接口),global(全局)配置以及DHCP relay(中继),DHCP snooping,DHCP option
DHCP的interface(接口),global(全局)配置以及DHCP relay(中继),DHCP snooping,DHCP option
16 0
|
12天前
|
网络虚拟化 网络架构
|
12天前
|
监控 负载均衡 网络协议
|
12天前
|
网络协议 Linux iOS开发
|
12天前
|
监控 安全 网络虚拟化
|
12天前
|
安全 网络虚拟化 网络架构
中继配置详解:网络设计的桥梁
【4月更文挑战第22天】
34 1
|
12天前
|
网络协议 网络架构
DHCP中继实验
DHCP中继实验
|
12天前
|
缓存 网络协议 网络虚拟化
网络技术基础(15)——DHCP简介与配置
【3月更文挑战第3天】刚加完班又去南京出差了,实在是太忙了。。。。网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记。
|
7天前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜