admin管理员组文章数量:1642212
DHCP工作原理:
-
DHCP客户端动态获取IP地址的四步交互过程
-
DHCP客户端首次登录网络时,主要通过四个阶段与DHCP服务器建立联系。
-
发现阶段,即DHCP客户端寻找DHCP服务器的阶段。
在发现阶段,DHCP客户端通过发送DHCP DISCOVER报文来寻找DHCP服务器。由于DHCP服务器的IP地址对于客户端来说是未知的,所以DHCP客户端以广播方式发送DHCP DISCOVER报文。所有收到DHCP DISCOVER报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。
-
提供阶段,即DHCP服务器提供IP地址的阶段。
网络中接收到DHCP DISCOVER报文的DHCP服务器,会从地址池选择一个合适的IP地址,连同IP地址租约期限和其他配置信息(如网关地址、域名服务器地址等)通过DHCP OFFER报文发送给DHCP客户端。
-
选择阶段,即DHCP客户端选择IP地址的阶段。
如果有多台DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端只接收第一个收到的DHCP OFFER报文。然后以广播方式发送DHCP REQUEST请求报文,该报文中包含服务器标识选项(Option54),即它选择的DHCP服务器的IP地址信息。
以广播方式发送DHCP REQUEST请求报文,是为了通知所有的DHCP服务器,它将选择Option54中标识的DHCP服务器提供的IP地址,其他DHCP服务器可以重新使用曾提供的IP地址。
-
确认阶段,即DHCP服务器确认所提供IP地址的阶段。
当DHCP服务器收到DHCP客户端回答的DHCP REQUEST报文后,DHCP服务器会根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录。如果有,则向客户端发送包含它所提供的IP地址和其它设置的DHCP ACK确认报文。DHCP客户端收到该确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。
如果DHCP服务器收到DHCP REQUEST报文后,没有找到相应的租约记录,或者由于某些原因无法正常分配IP地址,则发送DHCP NAK报文作为应答,通知DHCP客户端无法分配合适IP地址。DHCP客户端需要重新发送DHCP DISCOVER报文来申请新的IP地址。
DHCP Client获得IP地址后,上线之前会检测正在使用的网关的状态,如果网关地址错误或网关设备故障,DHCP客户端将重新使用四步交互方式请求新的IP地址。
-
-
DHCP客户端重用曾经分配的IP地址
-
DHCP客户端重用曾经分配的IP地址的两步交互过程
-
DHCP客户端重新登录网络时,主要通过以下几个步骤与DHCP服务器建立联系:
-
重新登录网络是指客户端曾经分配到可用的IP地址,再次登录网络时IP地址还在相应的租期之内。客户端不需要再发送DHCP DISCOVER报文,而是直接发送包含前一次分配的IP地址的DHCP REQUEST请求报文,即报文中的Option50(请求的IP地址选项)字段填入曾经使用过的IP地址。
-
DHCP服务器收到DHCP REQUEST报文后,如果客户端申请的地址没有被分配,则返回DHCP ACK确认报文,通知该DHCP客户端继续使用原来的IP地址。
-
如果此IP地址无法再分配给该DHCP客户端使用(例如已分配给其它客户端),DHCP服务器将返回DHCP NAK报文。客户端收到后,重新发送DHCP DISCOVER报文请求新的IP地址。
-
-
DHCP客户端更新租约
DHCP客户端向服务器申请地址时可以携带期望租期,服务器在分配租约时把客户端期望租期和地址池中租期配置比较,分配其中一个较短的租期给客户端。
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP地址的租约(如延长IP地址租约)。
当DHCP客户端获得IP地址时,会进入到绑定状态,客户端会设置3个定时器,分别用来控制租期更新、重绑定和判断是否已经到达租期。DHCP服务器为客户分配IP地址时,可以为定时器指定确定的值。若服务器没有设置定时器的值,客户端就使用缺省值。定时器的缺省值如表1所示。
-
DHCP客户端更新租约过程
-
DHCP客户端更新租约,主要通过以下几个步骤与DHCP服务器建立联系:
- IP租约期限达到50%(T1)时,DHCP客户端会自动以单播的方式,向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租约。如果收到DHCP ACK报文,则租约更新成功;如果收到DHCP NAK报文,则重新发起申请过程。
- IP租约期限达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动向DHCP服务器发送更新其IP租约的广播报文。如果收到DHCP ACK报文,则租约更新成功;如果收到DHCP NAK报文,则重新发起申请过程。
- 如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。
-
DHCP客户端主动释放IP地址
DHCP客户端不再使用分配的IP地址时,会主动向DHCP服务器发送DHCP RELEASE报文,通知DHCP服务器释放IP地址的租约。DHCP服务器会保留这个DHCP客户端的配置信息,以便该客户端重新申请地址时,重用这些参数。
DHCP物理拓扑:
-
DHCP配置
-
[DHCP_Server]
-
dhcp enable
-
#
interface GigabitEthernet0/0/1
ip address 10.1.1.10 255.255.255.0
dhcp select global -
#
ip pool dhcp_pool
gateway-list 10.1.1.10
network 10.1.1.0 mask 255.255.255.0
dns-list 114.114.114.114
# -
[DHCP_Client]
-
dhcp enable
-
#
interface GigabitEthernet0/0/1
ip address dhcp-alloc
# -
检查测试
-
[DHCP_Client]dis ip int brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 2
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 2Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 unassigned down down
GigabitEthernet0/0/1 10.1.1.254/24 up up -
[DHCP_Client]ping 10.1.1.10
PING 10.1.1.10: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.10: bytes=56 Sequence=1 ttl=255 time=190 ms
Reply from 10.1.1.10: bytes=56 Sequence=2 ttl=255 time=50 ms
Reply from 10.1.1.10: bytes=56 Sequence=3 ttl=255 time=40 ms
Reply from 10.1.1.10: bytes=56 Sequence=4 ttl=255 time=50 ms
Reply from 10.1.1.10: bytes=56 Sequence=5 ttl=255 time=60 ms--- 10.1.1.10 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 40/78/190 ms -
DHCP Relay工作原理: -
DHCP Relay即DHCP中继,它实现了不同网段间的DHCP服务器和客户端之间的报文交互。DHCP中继承担处于不同网段间的DHCP客户端和服务器之间中继服务,将DHCP协议报文跨网段透传到目的DHCP服务器,最终使网络上的DHCP客户端可以共同使用一个DHCP服务器
-
DHCP中继的工作过程如图1所示。DHCP客户端发送请求报文给DHCP服务器, DHCP中继收到该报文并适当处理后,以单播形式发送给指定的位于其它网段上的DHCP服务器。服务器根据请求报文中提供的必要信息,通过DHCP中继将配置信息返回给客户端,完成对客户端的动态配置。
- DHCP中继接收到DHCP DISCOVER或DHCP REQUEST报文后,将进行如下处理:
- 为防止DHCP报文形成环路,抛弃报文头中hops字段的值大于限定跳数的DHCP请求报文。否则,继续进行下面的操作。将hops字段增加1,表明又经过一次DHCP中继。
- 检查giaddr字段。如果是0,需要将giaddr字段设置为接收请求报文的接口IP地址。如果接口有多个IP地址,可选择其一。以后从该接口接收的所有请求报文都使用该IP地址。如果giaddr字段不是0,则不修改该字段。
- 将请求报文的TTL设置为DHCP中继设备的TTL缺省值(255),而不是原来请求报文的TTL减1。对中继报文的环路问题和跳数限制问题都可以通过hops字段来解决。
- DHCP请求报文的目的地址修改为DHCP服务器或下一个DHCP中继的IP地址,从而将DHCP请求报文转发给DHCP服务器或下一个DHCP中继。
- DHCP服务器根据Relay Agent IP Address字段为客户端分配IP地址等参数,并将DHCP应答报文发送给Relay Agent IP Address字段标识的DHCP中继。DHCP中继接收到DHCP应答报文后,会进行如下处理:
- DHCP中继假设所有的应答报文都是发给直连的DHCP客户端。Relay Agent IP Address字段用来识别与客户端直连的接口。如果Relay Agent IP Address字段不是本地接口的地址,DHCP中继将丢弃应答报文。
- DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP应答报文广播发送给DHCP客户端;否则将DHCP应答报文单播发送给DHCP客户端,其目的地址为Your (Client) IP Address字段内容,链路层地址为Client Hardware Address字段内容。
- DHCP客户端经过首次正确登录网络后,只需直接向上次为它分配IP地址的DHCP服务器直接以单播的形式发送DHCP REQUEST报文。
- DHCP服务器直接向客户端发送单播的确认响应报文或者拒绝响应报文。
-
DHCP Relay支持向DHCP服务器发送Release报文
在网络中可以在DHCP中继上直接向服务器发送Release报文请求释放服务器给某客户端分配的IP地址,而不需要由客户端发起Release请求。可以通过在DHCP中继上配置Relay释放命令实现服务器对客户端的地址释放操作。
-
DHCP Relay 物理拓扑
-
DHCP Relay配置
-
[DHCP_Server]
#
sysname DHCP_Server
#
dhcp enable
#
dhcp snooping enable -
ip pool dhcp_pool
gateway-list 10.1.1.10
network 10.1.1.0 mask 255.255.255.0
dns-list 114.114.114.114
# -
#
interface GigabitEthernet0/0/1
ip address 172.16.1.1 255.255.255.252
dhcp select global
# -
ip route-static 10.1.1.0 255.255.255.0 172.16.1.2 配置与DHCP Client通信路由
-
[DHCP_Relay]
sysname DHCP_Relay
#
vlan batch 10
#
dhcp enable
#
dhcp snooping enable -
#
vlan 1
dhcp snooping enable
vlan 10
dhcp snooping enable
# -
#
interface Vlanif1
ip address 172.16.1.2 255.255.255.252
#
interface Vlanif10
ip address 10.1.1.10 255.255.255.0
dhcp select relay
dhcp relay server-ip 172.16.1.1 -
#
interface GigabitEthernet0/0/1
dhcp snooping trusted
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10 -
ip route-static 0.0.0.0 0.0.0.0 172.16.1.1 默认路由
-
<DHCP_Client>
sysname DHCP_Client -
dhcp enable
-
interface GigabitEthernet0/0/1
ip address dhcp-alloc -
检查测试
-
<DHCP_Client>dis ip int brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 2
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 2Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 unassigned down down
GigabitEthernet0/0/1 10.1.1.254/24 up up
GigabitEthernet0/0/2 unassigned down down
NULL0 unassigned up up(s) -
测试与DHCP_Server通信
-
<DHCP_Client>ping 172.16.1.1
PING 172.16.1.1: 56 data bytes, press CTRL_C to break
Reply from 172.16.1.1: bytes=56 Sequence=1 ttl=254 time=100 ms
Reply from 172.16.1.1: bytes=56 Sequence=2 ttl=254 time=60 ms
Reply from 172.16.1.1: bytes=56 Sequence=3 ttl=254 time=30 ms
Reply from 172.16.1.1: bytes=56 Sequence=4 ttl=254 time=60 ms
Reply from 172.16.1.1: bytes=56 Sequence=5 ttl=254 time=50 ms--- 172.16.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/60/100 ms -
DHCPv6简介
-
DHCPv6基础配置命令
address prefix
//IPv6地址池视图下配置网络前缀和生命周期。
//infinite:指定生命周期为无穷大。
//生命周期默认值为86400,即1天。
capwap-ac ipv6-address
//在IPv6地址池视图下配置AC的IPv6地址。
conflict-address expire-time expire-time
//配置IPv6地址池下冲突地址老化时间。
//缺省情况下,地址池下的冲突地址老化时间是172800秒,即2天。
dhcpv6 client information-request
//使能接口以DHCPv6无状态自动分配方式获取网络配置参数
//(不包括IPv6地址)的功能。
dhcpv6 client pd
//配置DHCPv6 PD客户端功能。
//hint ipv6-address:指定期望申请的IPv6地址
//hint ipv6-prefix/ipv6-prefix-length:
// 指定期望申请的IPv6地址前缀和前缀长度。
//rapid-commit:指定客户端以两步交互申请IPv6地址前缀。
//unicast-option:指定客户端以单播方式申请IPv6地址前缀。
//union-mode:指定客户端使用一个报文同时获取IPv6地址和前缀。
dhcpv6 duid { ll | llt | duid }
//配置DHCPv6设备的唯一标识符DUID。
//缺省情况下,设备以ll的方式生成DUID。
//ll:指定设备采用链路层地址(即MAC地址)方式生成DUID。
//llt:指定设备采用链路层地址(即MAC地址)加时间的方式生成DUID。
dhcpv6 client renew
//手动更新DHCPv6客户端申请到的IPv6地址/前缀。
renew-time-percent rebind-time-percent
//配置IPv6地址池的续租时间和重绑定时间占优先生命周期的百分比。
//缺省情况下,IPv6地址池的续租时间占优先生命周期的50%
//重绑定时间占优先生命周期的80%。
dhcpv6 interface-id format { default | user-defined text }
//配置DHCPv6报文中Interface-ID选项的格式。
dhcpv6 packet-rate
//使能DHCPv6报文限速功能,并配置速率抑制值。
//缺省情况下,DHCPv6报文限速功能处于未使能状态。
dhcpv6 packet-rate drop-alarm enable
//使能DHCPv6报文限速丢弃告警功能。
dhcpv6 packet-rate drop-alarm threshold 100
//配置DHCPv6报文限速丢弃告警阈值.缺省值为100包
dhcpv6 pool pool-name
//创建IPv6/IPv6 PD地址池或进入IPv6/IPv6 PD地址池视图
dhcpv6 relay destination
//使能接口的DHCPv6中继代理功能
//并配置DHCPv6服务器或下一跳中继代理的IPv6地址。
dhcpv6 relay server-select group-name
//来配置DHCPv6中继所对应的DHCPv6服务器组。
dhcpv6 relay source-interface
//配置接口地址作为报文源IPv6地址。
dhcpv6 remote-id format
//配置DHCPv6报文中Remote-ID选项的格式。
dhcpv6 remote-id insert enable
//使能在DHCPv6中继报文中插入remote-id选项的功能。
dhcpv6 server
//使能DHCPv6服务器或DHCPv6 PD服务器功能。
dhcpv6-server ipv6-address
//配置在DHCPv6服务器组中添加DHCPv6服务器或下一跳中继的成员。
dhcpv6 server database
//使能DHCPv6数据保存功能。
//write-delay :指定DHCPv6数据保存的时间间隔。
dhcpv6 server group group-name
//创建一个DHCPv6服务器组并进入DHCPv6服务器组视图
dns-domain-name
//配置DHCPv6服务器为DHCPv6客户端分配的域名后缀。
dns-server ipv6-address
//配置DNS服务器IPv6地址。
excluded-address
//配置IPv6地址池中不参与自动分配的IPv6地址范围。
information-refresh time
//设置无状态DHCPv6方式分配给客户端的配置信息刷新时间。
//缺省情况下,IPv6地址池配置信息刷新时间86400秒,即24小时。
ipv6 address auto dhcp命
//使能接口通过DHCPv6协议自动获取IPv6地址及其他网络配置参数。
link-address
//在IPv6地址池视图下配置网络前缀。
lock
//锁定IPv6地址池。
nis-domain-name
//配置DHCPv6服务器为DHCPv6客户端分配的NIS域名后缀
nisp-domain-name
//配置DHCPv6服务器为DHCPv6客户端分配的NISP域名后缀。
prefix-delegation
//配置地址池视图下的代理前缀。
static-bind prefix
//在DHCPv6地址池下静态绑定地址前缀与DHCPv6 PD客户端。
import all
//使能设备向DHCPv6客户端动态分配DNS服务器和SNTP服务器配置信息的功能。 -
定义
IPv6动态主机配置协议DHCPv6(Dynamic Host Configuration Protocol for IPv6)是针对IPv6编址方案设计,为主机分配IPv6地址/前缀和其他网络配置参数。
目的
IPv6协议具有地址空间巨大的特点,但同时长达128比特的IPv6地址又要求高效合理的地址自动分配和管理策略。IPv6无状态地址配置方式是目前广泛采用的IPv6地址自动配置方式。配置了该协议的主机只需相邻设备开启IPv6路由通告功能,即可以根据通告报文包含的前缀信息自动配置本机地址。
无状态地址配置方案中设备并不记录所连接的IPv6主机的具体地址信息,可管理性差。而且当前无状态地址配置方式不能使IPv6主机获取DNS服务器的IPv6地址等配置信息,在可用性上有一定缺陷。对于互联网服务提供商来说,也没有相关的规范指明如何向设备自动分配IPv6前缀,所以在部署IPv6网络时,只能采用手动配置的方法为设备配置IPv6地址。
DHCPv6技术解决了这一问题。DHCPv6属于一种有状态地址自动配置协议。
与其他IPv6地址分配方式(手工配置、通过路由器通告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点:
- 更好地控制IPv6地址的分配。DHCPv6方式不仅可以记录为IPv6主机分配的地址,还可以为特定的IPv6主机分配特定的地址,以便于网络管理。
- DHCPv6支持为网络设备分配IPv6前缀,便于全网络的自动配置和网络层次性管理。
- 除了为IPv6主机分配IPv6地址/前缀外,还可以分配DNS服务器IPv6地址等网络配置参数。
-
DHCPv6概述
-
DHCPv6是一种运行在客户端和服务器之间的协议,与IPv4中的DHCP一样,所有的协议报文都是基于UDP的。但是由于在IPv6中没有广播报文,因此DHCPv6使用组播报文,客户端也无需配置服务器的IPv6地址。
IPv6地址分配类型
IPv6协议具有地址空间巨大的特点,但同时长达128比特的IPv6地址又要求高效合理的地址自动分配和管理策略。
目前IPv6地址的分配方法有以下几种:
- 手动配置。手动配置IPv6地址/前缀及其他网络配置参数(DNS、NIS、SNTP服务器地址等参数)。
- 无状态自动地址分配。由接口ID生成链路本地地址,再根据路由通告报文RA(Router Advertisement)包含的前缀信息自动配置本机地址。
- 有状态自动地址分配,即DHCPv6方式。DHCPv6又分为如下两种:
- DHCPv6有状态自动分配。DHCPv6服务器自动分配IPv6地址/PD前缀及其他网络配置参数(DNS、NIS、SNTP服务器地址等参数)。
- DHCPv6无状态自动分配。主机IPv6地址仍然通过路由通告方式自动生成,DHCPv6服务器只分配除IPv6地址以外的配置参数,包括DNS、NIS、SNTP服务器等参数。
-
DHCPv6基本协议架构中,主要包括以下三种角色:
-
-
- DHCPv6 Client:
DHCPv6客户端,通过与DHCPv6服务器进行交互,获取IPv6地址/前缀和网络配置信息,完成自身的地址配置功能。
- DHCPv6 Relay:
DHCPv6中继代理,负责转发来自客户端方向或服务器方向的DHCPv6报文,协助DHCPv6客户端和DHCPv6服务器完成地址配置功能。一般情况下,DHCPv6客户端通过本地链路范围的组播地址与DHCPv6服务器通信,以获取IPv6地址/前缀和其他网络配置参数。如果服务器和客户端不在同一个链路范围内,则需要通过DHCPv6中继代理来转发报文,这样可以避免在每个链路范围内都部署DHCPv6服务器,既节省了成本,又便于进行集中管理。
- DHCPv6 Server:
DHCPv6服务器,负责处理来自客户端或中继代理的地址分配、地址续租、地址释放等请求,为客户端分配IPv6地址/前缀和其他网络配置信息。
-
目前,CE系列交换机仅支持作为DHCPv6 Relay和DHCPv6 Server
-
DHCPv6基本概念
- 组播地址
- 在DHCPv6协议中,客户端不用配置DHCPv6 Server的IPv6地址,而是发送目的地址为组播地址的Solicit报文来定位DHCPv6服务器。
- 在DHCPv4协议中,客户端发送广播报文来定位服务器。为避免广播风暴,在IPv6中,已经没有了广播类型的报文,而是采用组播报文。DHCPv6用到的组播地址有两个:
- FF02::1:2(All DHCP Relay Agents and Servers):所有DHCPv6服务器和中继代理的组播地址,这个地址是链路范围的,用于客户端和相邻的服务器及中继代理之间通信。所有DHCPv6服务器和中继代理都是该组的成员。
- FF05::1:3(All DHCP Servers):所有DHCPv6服务器组播地址,这个地址是站点范围的,用于中继代理和服务器之间的通信,站点内的所有DHCPv6服务器都是此组的成员。
- UDP端口号
- DHCPv6报文承载在UDPv6上。
- 客户端侦听的UDP目的端口号是546。
- 服务器、中继代理侦听的UDP端口号是547。
- DHCPv6唯一标识符(DUID)
- DHCPv6设备唯一标识符DUID(DHCPv6 Unique Identifier),每个服务器或客户端有且只有一个唯一标识符,服务器使用DUID来识别不同的客户端,客户端则使用DUID来识别服务器。
- 客户端和服务器DUID的内容分别通过DHCPv6报文中的Client Identifier和Server Identifier选项来携带。两种选项的格式一样,通过option-code字段的取值来区分是Client Identifier还是Server Identifier选项。
- 身份联盟(IA)
- 身份联盟IA(Identity Association)是使得服务器和客户端能够识别、分组和管理一系列相关IPv6地址的结构。每个IA包括一个IAID和相关联的配置信息。
- 客户端必须为它的每一个要通过服务器获取IPv6地址的接口关联至少一个IA。客户端用给接口关联的IA来从服务器获取配置信息。每个IA必须明确关联到一个接口。
- IA的身份由IAID唯一确定,同一个客户端的IAID不能出现重复。IAID不应因为设备的重启等因素发生丢失或改变。
- IA中的配置信息由一个或多个IPv6地址以及T1和T2生存期组成。IA中的每个地址都有首选生存期和有效生存期。
- 一个接口至少关联一个IA,一个IA可以包含一个或多个地址信息。
- DHCPv6 Client:
-
DHCPV6物理拓扑:
DHCPv6配置:
[DHCPv6_Server]ipv6
#
dhcpv6 pool dhcpv6_pool
address prefix 2000::/64 //配置IPv6地址前缀
excluded-address 2000::1
#
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2000::1/64
undo ipv6 nd ra halt //使能路由器向主机发送路由通告信息
ipv6 nd autoconfig managed-address-flag //命令用来设置RA报文中的有状态自动配置地址的标志位。
ipv6 nd autoconfig other-flag //命令用来设置RA(Router Advertisement,路由器通告)报文中的有状态自动配置其他信息的标志位。
dhcpv6 server dhcpv6_pool
检查测试:
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe1f:134e
IPv6 address......................: 2000::2 / 128
IPv6 gateway......................: fe80::2e0:fcff:fe98:73da
IPv4 address......................: 0.0.0.0
Subnet mask.......................: 0.0.0.0
Gateway...........................: 0.0.0.0
Physical address..................: 54-89-98-1F-13-4E
DNS server........................:
PC>
PC>ping 2000::1
Ping 2000::1: 32 data bytes, Press Ctrl_C to break
From 2000::1: bytes=32 seq=1 hop limit=64 time=78 ms
From 2000::1: bytes=32 seq=2 hop limit=64 time=47 ms
From 2000::1: bytes=32 seq=3 hop limit=64 time=32 ms
From 2000::1: bytes=32 seq=4 hop limit=64 time=46 ms
From 2000::1: bytes=32 seq=5 hop limit=64 time=32 ms
DHCPv6中继原理:
DHCPv6中继工作交互过程如下:
1.DHCPv6客户端向所有DHCPv6服务器和DHCPv6中继发送目的地址为FF02::1:2(组播地址)的请求报文。
2.根据DHCPv6中继转发报文有如下两种情况:
如果DHCPv6中继和DHCPv6客户端位于同一个链路上,即DHCPv6中继为DHCPv6客户端的第一跳中继,中继转发直接来自客户端的报文,此时DHCPv6中继实质上也是客户端的IPv6网关设备。DHCPv6中继收到客户端的报文后,将其封装在Relay-Forward报文的中继消息选项(Relay Message Option)中,并将Relay-Forward报文发送给DHCPv6服务器或下一跳中继。
如果DHCPv6中继和DHCPv6客户端不在同一个链路上,中继收到的报文是来自其他中继的Relay-Forward报文。中继构造一个新的Relay-Forward报文,并将Relay-Forward报文发送给DHCPv6服务器或下一跳中继。
3.DHCPv6服务器从Relay-Forward报文中解析出DHCPv6客户端的请求,为DHCPv6客户端选取IPv6地址和其他配置参数,构造应答消息,将应答消息封装在Relay-Reply报文的中继消息选项中,并将Relay-Reply报文发送给DHCPv6中继。
4.DHCPv6中继从Relay-Reply报文中解析出DHCPv6服务器的应答,转发给DHCPv6客户端。如果DHCPv6客户端接收到多个DHCPv6服务器的应答,则根据报文中的服务器优先级选择一个DHCPv6服务器,后续从该DHCPv6服务器获取IPv6地址和其他网络配置参数。
DHCPv6中继物理拓扑:
DHCPv6中继配置:
[DHCPv6_Server]
sysname DHCPv6_Server
#
ipv6
#
dhcp enable
#
dhcpv6 pool dhcpv6_pool
address prefix 2001::/64 //地址池
excluded-address 2001::1 //保留地址
#
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 3001::1/64
dhcpv6 server dhcpv6_pool
#
ipv6 route-static 2001:: 64 3001::2 //配置与客户端网段通信路由
#
return
[DHCPv6_Server]
[DHCP_Relay]
#
sysname DHCP_Relay
#
ipv6
#
vlan batch 10
#
interface Vlanif1
ipv6 enable
ipv6 address 3001::2/64 //与服务器互联地址
#
interface Vlanif10
ipv6 enable
ipv6 address 2001::1/64
undo ipv6 nd ra halt
ipv6 nd autoconfig managed-address-flag
ipv6 nd autoconfig other-flag
dhcpv6 relay destination 3001::1
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
#
ipv6 route-static :: 0 3001::1
#
return
[DHCP_Relay]
检查测试:
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe1f:134e
IPv6 address......................: 2001::2 / 128
IPv6 gateway......................: fe80::4e1f:ccff:fe25:1d07
IPv4 address......................: 0.0.0.0
Subnet mask.......................: 0.0.0.0
Gateway...........................: 0.0.0.0
Physical address..................: 54-89-98-1F-13-4E
DNS server........................:
DHCPv6服务器连通性测试
PC>ping 3001::1
Ping 3001::1: 32 data bytes, Press Ctrl_C to break
From 3001::1: bytes=32 seq=1 hop limit=63 time=32 ms
From 3001::1: bytes=32 seq=2 hop limit=63 time=31 ms
From 3001::1: bytes=32 seq=3 hop limit=63 time=32 ms
From 3001::1: bytes=32 seq=4 hop limit=63 time=31 ms
From 3001::1: bytes=32 seq=5 hop limit=63 time=47 ms
--- 3001::1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/34/47 ms
参考文档:华为HedEx文档
版权声明:本文标题:华为设备DHCPDHCP中继及DHCPv6DHCPv6中继详解 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729328705a1196100.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论