所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

S7700, S7900, S9700 V200R012(C00&C10) 配置指南-IP业务

本文档介绍了IP业务的配置,具体包括IP地址配置、ARP配置、DHCP配置、DNS配置、mDNS网关配置、mDNS中继配置、UDP Helper配置、IP性能优化配置、IPv6基础配置、DHCPv6配置、IPv6 DNS配置、IPv6 over IPv4隧道配置和IPv4 over IPv6隧道配置。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
DHCP服务器给首次接入网络的客户端分配网络参数的工作原理

DHCP服务器给首次接入网络的客户端分配网络参数的工作原理

下面分别从无中继和有中继两个场景介绍DHCP客户端首次接入网络的工作原理:

无中继场景时DHCP客户端首次接入网络的工作原理

DHCP客户端首次接入网络时,通过图3-4所示的四个阶段与DHCP服务器交互DHCP报文,从而获取到IP地址等网络参数。

说明:

DHCP报文是基于UDP协议传输的。DHCP客户端向DHCP服务器发送报文时采用68端口号,DHCP服务器向DHCP客户端发送报文时采用67端口号。

图3-4  无中继场景时DHCP客户端首次接入网络的报文交互示意图

  1. 发现阶段,即DHCP客户端发现DHCP服务器的阶段。

    DHCP客户端发送DHCP DISCOVER报文来发现DHCP服务器。由于DHCP客户端不知道DHCP服务器的IP地址,所以DHCP客户端以广播方式发送DHCP DISCOVER报文(目的IP地址为255.255.255.255),同一网段内所有DHCP服务器或中继都能收到此报文。DHCP DISCOVER报文中携带了客户端的MAC地址(DHCP DISCOVER报文中的chaddr字段)、需要请求的参数列表选项(Option55中填充的内容,标识了客户端需要从服务器获取的网络配置参数)、广播标志位(DHCP DISCOVER报文中的flags字段,表示客户端请求服务器以单播或广播形式发送响应报文)等信息。

    • DHCP DISCOVER报文中的Option字段定义了网络参数信息,不同Option值代表了不同的参数。例如,Option3表示客户端的网关地址选项(当客户端发送的DHCP DISCOVER报文的Option55中填充了选项值3,就表示客户端希望从服务器获取网关地址);Option53表示DHCP报文类型(例如,DHCP DISCOVER报文)。Option选项分为知名选项和自定义选项,关于知名选项的含义请参见RFC2132。除了RFC2132里面定义的知名选项,不同厂商可以根据需求自己定义自定义选项,例如,Option43为厂商特定信息选项。Option选项的详细介绍请参见DHCP Options字段选项

    • RFC2131中定义了DHCP报文的广播标志字段(flags),当标志字段的最高位为0时,表示客户端希望服务器以单播方式发送DHCP OFFER/DHCP ACK报文;当标志字段的最高位为1时,表示客户端希望服务器以广播方式发送DHCP OFFER/DHCP ACK报文。设备作为客户端时,此字段为1。

  2. 提供阶段,即DHCP服务器提供网络配置信息的阶段。

    位于同一网段的DHCP服务器都会接收到DHCP DISCOVER报文,每个DHCP服务器上可能会部署多个地址池,服务器通过地址池来管理可供分配的IP地址等网络参数。服务器接收到DHCP DISCOVER报文后,选择跟接收DHCP DISCOVER报文接口的IP地址处于同一网段的地址池,并且从中选择一个可用的IP地址,然后通过DHCP OFFER报文发送给DHCP客户端。DHCP OFFER报文里面携带了希望分配给指定MAC地址客户端的IP地址(DHCP报文中的yiaddr字段)及其租期等配置参数。

    通常,DHCP服务器的地址池中会指定IP地址的租期,如果DHCP客户端发送的DHCP DISCOVER报文中携带了期望租期,服务器会将客户端请求的期望租期与其指定的租期进行比较,选择其中时间较短的租期分配给客户端。

    DHCP服务器会把地址池中IP地址根据不同状态分成不同的IP地址列表:把未分配出去的IP地址放在可分配的IP地址列表中;把已经分配出去的IP地址放在正在使用IP地址列表中;把处于冲突状态的IP地址放在冲突IP地址列表中;把不能分配的IP地址放在不能分配IP地址列表中。DHCP服务器在地址池中为客户端选择IP地址的优先顺序如下:
    1. DHCP服务器上已配置的与客户端MAC地址静态绑定的IP地址。
    2. 客户端发送的DHCP DISCOVER报文中Option50字段(请求IP地址选项)指定的地址。
    3. DHCP服务器上记录的曾经分配给客户端的IP地址。
    4. 在地址池内随机查找可供分配的IP地址。
    5. 如果未找到可供分配的IP地址,则依次查询超过租期、处于冲突状态的IP地址,如果找到可用的IP地址,则进行分配;否则,发送DHCP NAK报文作为应答,通知DHCP客户端无法分配IP地址。DHCP客户端需要重新发送DHCP DISCOVER报文来申请IP地址。

    设备支持在地址池中排除某些不能通过DHCP机制进行分配的IP地址。例如,客户端所在网段已经手工配置了地址为192.168.1.100/24的DNS服务器,DHCP服务器上配置的网段为192.168.1.0/24的地址池中需要将192.168.1.100的IP地址排除,不能通过DHCP分配此地址,否则,会造成地址冲突。

    为了防止分配出去的IP地址跟网络中其他客户端的IP地址冲突,DHCP服务器在发送DHCP OFFER报文前通过发送源地址为DHCP服务器IP地址、目的地址为预分配出去IP地址的ICMP ECHO REQUEST报文对分配的IP地址进行地址冲突探测。如果在指定的时间内没有收到应答报文,表示网络中没有客户端使用这个IP地址,可以分配给客户端;如果指定时间内收到应答报文,表示网络中已经存在使用此IP地址的客户端,则把此地址列为冲突地址,然后等待重新接收到DHCP DISCOVER报文后按照前面介绍的选择IP地址的优先顺序重新选择可用的IP地址。

    说明:

    此阶段DHCP服务器分配给客户端的IP地址不一定是最终确定使用的IP地址,因为DHCP OFFER报文发送给客户端等待16秒后如果没有收到客户端的响应,此地址就可以继续分配给其他客户端。通过下面的选择阶段和确认阶段后才能最终确定客户端可以使用的IP地址。

  3. 选择阶段,即DHCP客户端选择IP地址的阶段。

    因为DHCP DISCOVER报文是广播发送的,所以如果同一网段内存在多个DHCP服务器,接收到DHCP DISCOVER报文的服务器都会回应DHCP OFFER报文。如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文,则DHCP客户端一般只接收第一个收到的DHCP OFFER报文,然后以广播方式发送DHCP REQUEST报文,该报文中包含客户端想选择的DHCP服务器标识符(即Option54)和客户端IP地址(即Option50,填充了接收的DHCP OFFER报文中yiaddr字段的IP地址)。

    以广播方式发送DHCP REQUEST报文,是为了通知所有的DHCP服务器,它将选择某个DHCP服务器提供的IP地址,其他DHCP服务器可以重新将曾经分配给客户端的IP地址分配给其他客户端。

    说明:

    设备作为DHCP客户端,如果网络中有多个DHCP服务器,DHCP客户端会根据收到DHCP OFFER报文的顺序对DHCP服务器进行轮询,在前一个DHCP服务器分配IP地址失败时,选择下一个DHCP服务器分配IP地址。

  4. 确认阶段,即DHCP服务器确认所分配IP地址的阶段。

    当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,DHCP服务器回应DHCP ACK报文,表示DHCP REQUEST报文中请求的IP地址(Option50填充的)分配给客户端使用。

    DHCP客户端收到DHCP ACK报文,会广播发送免费ARP报文,探测本网段是否有其他终端使用服务器分配的IP地址,如果在指定时间内没有收到回应,表示客户端可以使用此地址。如果收到了回应,说明有其他终端使用了此地址,客户端会向服务器发送DECLINE报文,并重新向服务器请求IP地址,同时,服务器会将此地址列为冲突地址。当服务器没有空闲地址可分配时,再选择冲突地址进行分配,尽量减少分配出去的地址冲突。

    当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后,如果DHCP服务器由于某些原因(例如协商出错或者由于发送REQUEST过慢导致服务器已经把此地址分配给其他客户端)无法分配DHCP REQUEST报文中Option50填充的IP地址,则发送DHCP NAK报文作为应答,通知DHCP客户端无法分配此IP地址。DHCP客户端需要重新发送DHCP DISCOVER报文来申请新的IP地址。

有中继场景时DHCP客户端首次接入网络的工作原理

DHCP客户端首次接入网络时,通过图3-5所示的四个阶段与DHCP中继、DHCP服务器交互DHCP报文,从而获取到IP地址等网络参数。DHCP客户端和DHCP服务器工作原理跟无中继场景相同,此处不详细介绍,具体请参考无中继场景时DHCP客户端首次接入网络的工作原理。下面仅针对DHCP中继的工作原理进行介绍。

图3-5  有中继场景时DHCP客户端首次接入网络的报文交互示意图

  1. 发现阶段

    DHCP中继接收到DHCP客户端广播发送的DHCP DISCOVER报文后,进行如下处理:
    1. 检查DHCP报文中的hops字段,如果大于16,则丢弃DHCP报文;否则,将hops字段加1(表明经过一次DHCP中继),并继续下面的操作。

      DHCP报文中的hops字段表示DHCP报文经过的DHCP中继的数目,该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。hops字段的作用是限制DHCP报文所经过的DHCP中继的数目。目前,设备最多支持DHCP客户端与服务器之间有存在16个中继。

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

      DHCP报文中的giaddr字段标识客户端网关的IP地址。如果服务器和客户端不在同一个网段且中间存在多个DHCP中继,当客户端发出DHCP请求时,第一个DHCP中继会把自己的IP地址填入此字段,后面的DHCP中继不修改此字段内容,DHCP服务器会根据此字段来判断出客户端所在的网段地址,从而为客户端分配该网段的IP地址。

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

    如果DHCP客户端与DHCP服务器之间存在多个DHCP中继,后面的中继接收到DHCP DISCOVER报文的处理流程同前面所述。

  2. 提供阶段

    DHCP服务器接收到DHCP DISCOVER报文后,选择与报文中giaddr字段为同一网段的地址池,并为客户端分配IP地址等参数(选择原则同无中继场景时DHCP客户端首次接入网络的工作原理),然后向giaddr字段标识的DHCP中继单播发送DHCP OFFER报文。

    DHCP中继收到DHCP OFFER报文后,会进行如下处理:
    • 检查报文中的giaddr字段,如果不是接口的地址,则丢弃该报文;否则,继续下面的操作。

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

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

  4. 确认阶段

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

翻译
下载文档
更新时间:2018-09-03

文档编号:EDOC1100038451

浏览量:5069

下载量:259

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页