连接到Internet的计算机需要在发送或接收数据报前,知道其IP地址和其他信息,如网关地址、使用的子网掩码和域名服务器的地址。常用的地址分配方式有2种:
在以下场合通常利用 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 服务器来完成 IP地址分配:
在启动 DHCP功能时,才打开 DHCP使用的 UDP 67和 UDP 68端口。
DHCP服务的提供者,通过 DHCP 报文与 DHCP客户端交互,为各种类型的客户端分配合适的IP 地址,并可以根据需要为客户端分配其它网络参数。
客户端是整个DHCP过程的触发者和驱动者,通过 DHCP 报文和DHCP 服务器交互,得到 IP 地址和其他网络参数。
DHCP报文的中继转发者。它在处于不同网段间的DHCP 客户端和服务器之间承担中继服务,解决了DHCP 客户端和 DHCP 服务器必须位于同一网段的问题。
DHCP 客户端从DHCP 服务器动态获取 IP 地址,主要通过四个阶段进行:
DHCP客户端每次重新登录网络时,不需要再发送DISCOVER报文,而是直接发送包含前一次分配的IP地址的REQUEST请求报文,即报文中的Option 50 (请求的IP地址选项)字段填入曾经使用过的IP地址。DHCP服务器收到这一报文后,判断DHCP客户端是否可以使用请求的地址。
如果地址不可用,则重新执行discover过程:
如果采用动态地址分配策略,则 DHCP 服务器分配给客户端的 IP 地址有一定的租借期限,当租借期满后服务器会收回该 IP 地址。
更新租约成功流程:
DHCP客户端不再使用分配的IP地址时,会主动向DHCP服务器发送RELEASE报文,通知DHCP服务器释放IP地址的租约。DHCP服务器会保留这个DHCP客户端的配置信息,以便该客户端重新申请地址时,重用这些参数。
原始的DHCP协议要求客户端和服务器只能在同一个子网内,不可以跨网段工作。因此,为进行动态主机配置需要在所有网段上都设置一个DHCP服务器,这显然是不经济的。 DHCP中继(DHCP Relay)的引入解决了这一问题,它在处于不同网段间的DHCP客户端和服务器之间承担中继服务,将DHCP协议报文跨网段中继到目的DHCP服务器,于是不同网络上的DHCP客户端可以共同使用一个DHCP服务器。
DHCP中继的工作过程如图所示:
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。
DHCP中继支持 option 82时的工作机制如下图所示:
1、DHCP Relay收到Client请求报文,若报文中没有option82,则 DHCP中继设备将 option 82选项添加到报文中后转发给 DHCP服务器;若报文中已有option82,处理策略有4种,分别是丢弃、保持、移除、替换。
2、DHCP服务器收到 DHCP中继设备转发的 DHCP请求报文后,将记录报文中option选项所携带的信息,然后将携带 DHCP配置信息以及 option 82信息的报文发给 DHCP中继。
3、DHCP中继收到 DHCP服务器的返回报文后,需要判断option82选项是否为本设备添加,如果是则剥离报文中的 option 82信息,然后将带有 DHCP配置信息的报文转发给 DHCP客户端;否则,直接将包转发给用户。
DHCP 利用 Option 字段传递控制信息和网络配置参数,实现地址的动态分配,为客户端提供更加丰富的网络配置信息。DHCP选项格式如图所示:
选项 | 含义 |
---|---|
Option 3 | 路由器选项,用来指定为客户端分配的网关地址。 |
Option 6 | DNS 服务器选项,用来指定为客户端分配的 DNS 服务器地址。 |
Option 51 | IP 地址租约选项。 |
Option 53 | DHCP 消息类型选项,标识 DHCP 消息的类型。 |
Option 55 | 请求参数列表选项。客户端利用该选项指明需要从服务器获取哪些网络配置参数。该选项内容为客户端请求的参数对应的选项值。 |
Option 66 | TFTP 服务器名选项,用来指定为客户端分配的TFTP 服务器的域名。 |
Option 67 | 启动文件名选项,用来指定为客户端分配的启动文件名。 |
Option 150 | TFTP 服务器地址选项,用来指定为客户端分配的TFTP 服务器的地址。 |
Option 121 | 无分类路由选项。该选项中包含一组无分类静态路由(即目的地址的掩码为任意值,可以通过掩码来划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。 |
Option 33 | 静态路由选项。该选项中包含一组有分类静态路由(即目的地址的掩码固定为自然掩码,不能划分子网),客户端收到该选项后,将在路由表中添加这些静态路由。如果存在 Option 121,则忽略该选项。 |
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 客户端分配厂商指定的信息。