DHCP原理详解

DHCP原理详解

一. DHCP协议概述

连接到Internet的计算机需要在发送或接收数据报前,知道其IP地址和其他信息,如网关地址、使用的子网掩码和域名服务器的地址。常用的地址分配方式有2种:

  • 1、手动配置ip地址、网关、DNS等信息。
  • 2、使用DHCP协议动态分配ip地址、网关、DNS等。

在以下场合通常利用 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 服务器来完成 IP地址分配:

  • 1、网络规模较大,手工配置需要很大的工作量,并难以对整个网络进行集中管理。
  • 2、网络中主机数目大于该网络支持的 IP 地址数量,无法给每个主机分配一个固定的 IP 地址,且对同时接入网络的用户数目也有限制(比如,Internet 接入服务提供商即属于这种情况),大量用户必须通过 DHCP 服务动态获取IP 地址。
  • 3、网络中只有少数主机需要固定的IP 地址,大多数主机没有固定 IP 地址的需求。

在启动 DHCP功能时,才打开 DHCP使用的 UDP 67和 UDP 68端口。

二. DHCP的基本概念
DHCP Server

DHCP服务的提供者,通过 DHCP 报文与 DHCP客户端交互,为各种类型的客户端分配合适的IP 地址,并可以根据需要为客户端分配其它网络参数。

DHCP Client

客户端是整个DHCP过程的触发者和驱动者,通过 DHCP 报文和DHCP 服务器交互,得到 IP 地址和其他网络参数。

DHCP Relay

DHCP报文的中继转发者。它在处于不同网段间的DHCP 客户端和服务器之间承担中继服务,解决了DHCP 客户端和 DHCP 服务器必须位于同一网段的问题。

三.DHCP工作过程
DHCP Server-Client模式
1、动态分配地址过程

DHCP 客户端从DHCP 服务器动态获取 IP 地址,主要通过四个阶段进行:

  • 1 发现阶段:DHCP客户端寻找DHCP 服务器的阶段。客户端以广播方式发送 DISCOVER 报文。
  • 2 提供阶段:DHCP服务器提供 IP 地址的阶段。DHCP 服务器接收到客户端的DISCOVER 报文后,根据 IP 地址分配的优先次序选出一个IP地址,与其他参数一起通过OFFER报文发送给客户端。
  • 3 选择阶段:DHCP客户端选择IP地址的阶段。如果有多台DHCP 服务器向该客户端发来OFFER报文 ,客户端只接受第一个收到的OFFER 报文,然后以广播方式发送 REQUEST 报文,该报文中包含DHCP 服务器在OFFER 报文中分配的 IP 地址。同时该报文中包含Option 54(服务器标识选项),即它选择的DHCP服务器的IP地址信息。
  • 4 确认阶段:DHCP服务器确认IP 地址的阶段。DHCP 服务器收到DHCP 客户端发来的 REQUEST 报文后,只有DHCP 客户端选择的服务器会进行如下操作:如果确认地址分配给该客户端,则返回 ACK 报文;否则将返回NAK 报文,表明地址不能分配给该客户端。客户端收到服务器返回的ACK 确认报文后,会以广播的方式发送ARP 报文(目的地址是被分配到的地址)进行地址探测,如果在规定的时间内没有收到回应,客户端才使用此地址。
2、复用之前地址过程

DHCP客户端每次重新登录网络时,不需要再发送DISCOVER报文,而是直接发送包含前一次分配的IP地址的REQUEST请求报文,即报文中的Option 50 (请求的IP地址选项)字段填入曾经使用过的IP地址。DHCP服务器收到这一报文后,判断DHCP客户端是否可以使用请求的地址。

  • 如果地址可用,则执行如下过程:


如果地址不可用,则重新执行discover过程:

3、更新ip地址租约

如果采用动态地址分配策略,则 DHCP 服务器分配给客户端的 IP 地址有一定的租借期限,当租借期满后服务器会收回该 IP 地址。

  • 1、IP 租约期限达到一半(T1)时,DHCP 客户端会自动以单播的方式,向 DHCP 服务器发送 REQUEST 报文,请求更新 IP 地址租约。如果收到 ACK 报文,则租约更新成功;如果收到 NAK 报文,则重新发起申请过程。
  • 2、到达租约期限的 87.5%(T2)时,如果仍未收到 DHCP 服务器的应答,DHCP 客户端会自动向 DHCP 服务器发送更新其 IP 租约的广播报文。如果收到ACK 报文,则租约更新成功;如果收到NAK 报文,则重新发起申请过程。 如图8所示,为租约达到87.5%,广播发送REQUEST报文后,收到DHCP服务器回应的ACK报文,租约更新成功的情况。

更新租约成功流程:

4、客户端主动释放地址

DHCP客户端不再使用分配的IP地址时,会主动向DHCP服务器发送RELEASE报文,通知DHCP服务器释放IP地址的租约。DHCP服务器会保留这个DHCP客户端的配置信息,以便该客户端重新申请地址时,重用这些参数。

DHCP Server-Relay-Client模式

原始的DHCP协议要求客户端和服务器只能在同一个子网内,不可以跨网段工作。因此,为进行动态主机配置需要在所有网段上都设置一个DHCP服务器,这显然是不经济的。 DHCP中继(DHCP Relay)的引入解决了这一问题,它在处于不同网段间的DHCP客户端和服务器之间承担中继服务,将DHCP协议报文跨网段中继到目的DHCP服务器,于是不同网络上的DHCP客户端可以共同使用一个DHCP服务器。

DHCP中继的工作过程如图所示:

DHCP option82

option 82是 DHCP报文中的中继代理信息选项(Relay Agent Information option)。是 DHCP报文中 option内容的一部分。option 82中可以包含最多255个sub-option, 若定义了option 82,至少要定义一个 sub-option。目前 option 82中常用 sub-option 1、sub-option2。

  • sub-option 1:代理电路 ID(即Circuit ID)子项。子选项通常在 DHCP 中继设备上配置,定义了在传输报文的时候要携带 DHCP 客户端所连接端口的端口信息。通常 sub-option 1 与 sub-option 2 子选项要共同使用来标识 DHCP源端的信息。
  • sub-option 2:代理远程 ID(即Remote ID)子项。该子选项也通常在 DHCP中继设备上配置,定义了在传输报文的时候要携带中继设备的 MAC地址信息。通常与 sub-option 1子选项要共同使用来标识 DHCP源端的信息。

DHCP中继支持 option 82时的工作机制如下图所示:

1、DHCP Relay收到Client请求报文,若报文中没有option82,则 DHCP中继设备将 option 82选项添加到报文中后转发给 DHCP服务器;若报文中已有option82,处理策略有4种,分别是丢弃、保持、移除、替换。

  • DROP丢弃:直接丢弃报文。
  • KEEP保持:持报文原有的 option 82,然后将报文发给服务器。
  • REMOVE移除:移除option 82,然后将报文发给服务器。
  • REPLACE替换:用中继设备本身的option 82项替代报文中原有的option 82,然后将报文发给服务器。

2、DHCP服务器收到 DHCP中继设备转发的 DHCP请求报文后,将记录报文中option选项所携带的信息,然后将携带 DHCP配置信息以及 option 82信息的报文发给 DHCP中继。

3、DHCP中继收到 DHCP服务器的返回报文后,需要判断option82选项是否为本设备添加,如果是则剥离报文中的 option 82信息,然后将带有 DHCP配置信息的报文转发给 DHCP客户端;否则,直接将包转发给用户。

四、DHCP option

DHCP 利用 Option 字段传递控制信息和网络配置参数,实现地址的动态分配,为客户端提供更加丰富的网络配置信息。DHCP选项格式如图所示:

1、常用option选项
选项含义
Option 3路由器选项,用来指定为客户端分配的网关地址。
Option 6DNS 服务器选项,用来指定为客户端分配的 DNS 服务器地址。
Option 51IP 地址租约选项。
Option 53DHCP 消息类型选项,标识 DHCP 消息的类型。
Option 55请求参数列表选项。客户端利用该选项指明需要从服务器获取哪些网络配置参数。该选项内容为客户端请求的参数对应的选项值。
Option 66TFTP 服务器名选项,用来指定为客户端分配的TFTP 服务器的域名。
Option 67启动文件名选项,用来指定为客户端分配的启动文件名。
Option 150TFTP 服务器地址选项,用来指定为客户端分配的TFTP 服务器的地址。
Option 121无分类路由选项。该选项中包含一组无分类静态路由(即目的地址的掩码为任意值,可以通过掩码来划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。
Option 33静态路由选项。该选项中包含一组有分类静态路由(即目的地址的掩码固定为自然掩码,不能划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果存在 Option 121,则忽略该选项。
2、自定义option选项

1、中继代理信息选项(Option 82)

option 82是 DHCP报文中的中继代理信息选项(Relay Agent Information option)。

2、厂商特定信息选项(Option 43)

Option 43 称为厂商特定信息选项。DHCP 服务器和 DHCP 客户端通过 Option 43 交换厂商特定的信息。当DHCP 服务器接收到请求 Option 43 信息的 DHCP 请求报文(Option 55 中带有43 参数)后,将在回复报文中携带 Option 43,为DHCP 客户端分配厂商指定的信息。

五、典型应用组网
DHCP Server

DHCP Relay

六、参考文档
  • RFC2131:Dynamic Host Configuration Protocol
  • RFC2132:DHCP options and BOOTP Vendor Extensions
  • RFC1542:Clarifications and Extensions for the Bootstrap Protocol
  • RFC3046:DHCP Relay Agent Information option
  • RFC5969:IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) – Protocol Specification
  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: IPv6 DHCP池是用于IPv6网络中分配IPv6地址和其他配置参数的资源池。DHCP是动态主机配置协议,它允许设备在加入网络时自动获取各种网络配置。 IPv6 DHCP池包含了一组可用的IPv6地址和其他配置参数,比如网关、DNS服务器和域名等。当设备加入网络时,它可以向DHCP服务器发送一个请求,从这个池中获取一个可用的IPv6地址和其他配置参数。 IPv6 DHCP池的详解包括以下内容: 1. IPv6地址分配:DHCP服务器从IPv6地址池中选择一个可用的IPv6地址分配给设备。IPv6地址池通常包含一系列连续的IPv6地址,DHCP服务器按顺序从中选择一个地址分配给设备。 2. 其他配置参数:除了IPv6地址之外,DHCP服务器还可以为设备提供其他配置参数。这些参数可以包括默认网关、DNS服务器、域名、MTU和其他自定义选项等。设备可以使用这些配置参数来正确配置自己的网络连接。 3. 地址回收和再分配:当设备离开网络或释放IPv6地址时,该地址将会被收回并重新加入IPv6地址池中。这样,当新设备加入网络时,它可以获取到一个之前被释放的地址,提高了地址资源的利用率。 4. 配置控制:DHCP服务器可以通过控制IPv6地址池中可用地址的数量来限制网络中设备的数量。通过配置控制,管理员可以确保网络资源的合理分配和管理。 可以说,IPv6 DHCP池为IPv6网络中设备的自动配置提供了一种简单而有效的方法。管理员可以通过配置和管理IPv6 DHCP池来确保设备能够获得正确的网络配置,并提高IP地址资源的利用率。 ### 回答2: IPv6 DHCP池是一种IPv6地址分配管理工具,它允许网络管理员为使用IPv6协议的设备动态分配全局唯一的IPv6地址。 IPv6 DHCP池包含一系列IP地址,这些地址可以被DHCP服务器分配给设备。DHCP服务器首先为设备分配一个IPv6地址,然后为其分配其他网络配置信息,例如子网掩码、默认网关和DNS服务器地址等。 IPv6 DHCP池的详解包括以下几个方面: 1. 子网和地址范围:管理员需要指定一个包含IPv6地址的子网,并为其中的地址范围设置起始地址和结束地址。DHCP服务器将从此范围内为设备动态分配IPv6地址。 2. 端口配置:DHCP服务器需要配置网络接口,以便接收和发送IPv6 DHCP消息。通常,服务器的端口将与需要进行地址分配的子网进行绑定。 3. 地址分配策略:管理员可以根据实际需求设置不同的分配策略。例如,管理员可以选择按照设备的MAC地址、设备类型或其他标识符来分配IPv6地址。 4. 地址池选项:管理员可以配置其他选项,如掩码长度、地址预留、地址重用等。这些选项可以根据网络需求进行调整。 5. 协议支持:IPv6 DHCP池通常支持各种IPv6协议,如SLAAC(Stateless Address Autoconfiguration)和DHCPv6(Dynamic Host Configuration Protocol for IPv6)。DHCPv6提供了更灵活的地址分配和配置选项。 总之,IPv6 DHCP池是一种用于动态分配IPv6地址和配置信息的工具,可以方便地为使用IPv6的设备提供网络连接。通过合理配置不同的参数和选项,管理员可以根据网络需求实现灵活和高效的IPv6地址分配。 ### 回答3: IPv6 DHCP池是用于分配IPv6地址的一组地址范围。DHCP代表动态主机配置协议,它是一种网络协议,允许设备自动获得IP地址和其他网络配置信息,而无需手动配置。IPv6是下一代互联网协议,提供了更大的地址空间和更好的网络性能。 当IPv6 DHCP服务配置为DHCP池模式时,它会将一组IPv6地址范围分配给设备。池中的每个地址范围都可以包含多个可用的IPv6地址。当设备连接到网络时,它会向DHCP服务器发送一个地址请求,DHCP服务器会从池中选择一个可用的IPv6地址并将其分配给设备。这个过程使得网络管理员能够轻松地管理和分配IPv6地址,而无需手动为每个设备配置地址。 IPv6 DHCP池的一些常见配置选项包括: - IPv6地址范围:指定用于分配的IPv6地址范围。这个范围可以是连续的地址段,也可以是多个不连续的地址段。 - 地址租期:指定分配给设备的IPv6地址的有效期。设备在租期到期之前必须续约或重新请求地址。 - DNS服务器:指定分配给设备的DNS服务器的IPv6地址。这样设备就可以解析域名和访问互联网。 - 默认网关:指定设备的IPv6默认网关的地址。默认网关用于将设备的数据发送到其他网络。 - 附加选项:可以添加其他自定义配置选项,例如IPv6前缀长度或其他网络参数。 使用IPv6 DHCP池可以简化IPv6地址分配过程,提高网络管理效率。它允许网络管理员集中管理大量设备的IPv6地址,并自动分配这些地址给设备。此外,IPv6 DHCP池还可以通过指定其他网络配置选项,如DNS服务器和默认网关,为设备提供更好的网络连接和互联网访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值