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 2

    Interface                         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 2

      Interface                         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物理拓扑:

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文档

华为设备DHCP/DHCP中继及DHCPv6/DHCPv6中继详解相关推荐

  1. 华为设备BFD实战,双向转发检测BFD详解,理论+实战+抓包分析

    一.BFD 双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测.监控网络中链路或者IP路由的转发连通状况.[毫秒级] 二. ...

  2. 华为ensp交换机vlan划分三种接入模式详解-----网络通信原理

    华为ensp交换机vlan划分三种接入模式详解 冲突域.交换机.广播域 VLAN概述 VLAN帧格式 access端口 Trunk端口 Hybrid端口 冲突域.交换机.广播域 定义:在一个网络范围内 ...

  3. 【华为云计算产品系列】云上迁移工具RainBow实战详解

    [华为云计算产品系列]云上迁移工具RainBow实战详解 1. 迁移方案 2.迁移流程 3. 迁移实验 3.1. Windows系统迁移 3.2. Linux系统迁移 3.3. 存储层迁移 1. 迁移 ...

  4. 计算机网络工程师题库华为,近五年华为各类工程师面试精典题库及答案详解.pdf...

    近五年华为各类工程师面试精典题库及答案详解 近五年华为各类工程师面试精典题 近五年华为各类工程师面试精典题 近近五五年年华华为为各各类类工工程程师师面面试试精精典典题题 库及答案详解 库及答案详解 库 ...

  5. 华为笔记本如何从U盘启动?(详解)

    华为笔记本如何从U盘启动?(详解) 一.问题描述:华为笔记本怎么设置U盘启动? 二.华为笔记本U盘启动步骤 1.插入UEFI U盘启动盘调出启动菜单 2.选择识别到的EFI USB Device进入U ...

  6. 2.中继镜(增距镜)详解

    目录 1.中继镜         (1)为什么使用增距镜?         (2)什么是增距镜? 2.中继镜基本参数         (1)WDR(WDC)         (2)WDV        ...

  7. 华为手机摄影从入门到精通_最全的华为手机摄影教程~最全的手机相机使用方法详解...

    华为的手机拍摄功能什么高像素啊,双摄像头啊这些优势在此不做陈述,主要介绍一下它强大各种功能如何应用. 把手机摄影的拍摄模式分为三类常规拍摄.自拍模式.专业模式. 常规拍摄:即打开相机的首界面直接进行的 ...

  8. 思科与华为设备中DHCP配置命令(超详细~~!!)

    目录 一.DHCP相关配置命令 1.思科设备配置命令 (1)开启DHCP服务 (2)创建DHCP地址池 (3)配置DHCP服务器要分配的网络和掩码 (4)配置分配给客户端的默认网关 (5)配置分配给客 ...

  9. 配置DHCPv6服务器实验详解

    配置DHCPv6服务器示例 组网需求 如果大量的企业用户IPv6地址都是手动配置,那么网络管理员工作量大,而且可管理性很差.管理员希望实现公司用户IPv6地址和网络配置参数的自动获取,便于统一管理,实 ...

  10. 华为鸿蒙系统前身,鸿蒙OS四大看点详解!华为的野心不止手机,而是“一统江湖”...

    华为开发者大会于今日在东莞松山湖召开,会上,华为消费者业务正式推出了其全新的基于微内核的面向全场景的分布式操作系统--鸿蒙OS. 华为消费者业务CEO余承东在主体演讲上表示,在过去的传统模式下,每一类 ...

最新文章

  1. dedecms部分文章出现读取附加信息出错的解决办法
  2. 一些算法入门应该明白的东西
  3. redis 管理工具_Redis的跨平台GUI 桌面管理工具
  4. ironpython不想要可以卸载吗_IronPython的致命弱点
  5. 44.Linux/Unix 系统编程手册(下) -- 管道和 FIFO
  6. 使用readLine()方法遇到的坑
  7. 最好的git教程,没有之一
  8. HTML URL 编码参考手册:ASCII 编码参考手册
  9. linux编译 __stdcall,Linux中是否有STDCALL?
  10. 50个查询系列-第七个查询:查询学过“叶平”老师所教的所有课的同学的学号、姓名...
  11. 美面魔心伊莉丝:会有蜘蛛之神制裁你
  12. PowerBI实用技巧:案例五(巧用Switch函数展现指标RGB颜色)
  13. 计算机会计试题原型法的优缺点,《计算机会计学》1..doc
  14. 【漏洞复现】CVE-2020-0796永恒之黑漏洞复现
  15. ubuntu18.04 安装flash。
  16. 蓝桥杯刷题-入门题(终章一)
  17. POI 导入带公式的EXCEL 精度出问题
  18. centos测试主机网络极限速度
  19. 应用层协议的设计与实现
  20. 对面向过程,对象,接口,切面的理解

热门文章

  1. 计算机学的是苹果系统,苹果电脑装windows7教程 苹果电脑装windows7方法
  2. 非主流文字转换_一篇搞定微信公众号文字排版(全干货,推荐收藏)
  3. 运用matlab求黑塞矩阵,用matlab求黑塞矩阵
  4. git2.23.0下载git2.25.0下载git2.27.0下载百度云
  5. Git 64位安装包下载
  6. GeoServer发布矢量地图服务
  7. 自定义Xshell高亮
  8. Redis 实战场景
  9. 结构梁配筋最牛插件_结构工程师应该了解的一些基本概念知识
  10. nmake comment