淺讀DHCP中繼代理
DHCP中繼代理內(nèi)容一直是我們關(guān)注的重點(diǎn)內(nèi)容,那么通過這方面的了解,我們也能夠進(jìn)一步深化DHCP的學(xué)習(xí)。這里我們就針對這方面的知識來進(jìn)行一下說明。中繼代理是在不同子網(wǎng)上的客戶端和服務(wù)器之間中轉(zhuǎn) DHCP/BOOTP 消息的小程序。根據(jù)征求意見文檔 (RFC),一種描述協(xié)議設(shè)計(jì)和相關(guān)操作的標(biāo)準(zhǔn)文檔,DHCP/BOOTP 中繼代理是 DHCP 和 BOOTP 標(biāo)準(zhǔn)和功能的一部分。
DHCP/BOOTP 路由器支持
在 TCP/IP 網(wǎng)絡(luò)中,路由器用于連接稱作“子網(wǎng)”的不同物理網(wǎng)段上使用的硬件和軟件,并在每個(gè)子網(wǎng)之間轉(zhuǎn)發(fā) IP 數(shù)據(jù)包。要在多個(gè)子網(wǎng)上支持和使用 DHCP 服務(wù),連接每個(gè)子網(wǎng)的路由器應(yīng)符合 RFC 1542 中所描述的BOOTP/DHCP中繼代理能力。
要符合 RFC 1542 并提供中繼代理支持,每個(gè)路由器必須能識別 BOOTP 和 DHCP 協(xié)議消息并相應(yīng)處理(中轉(zhuǎn))這些消息。由于路由器將 DHCP 消息解釋為 BOOTP 消息(例如通過相同的 UDP 端口編號發(fā)送并包含共享消息結(jié)構(gòu)的 UDP 消息),具有 BOOTP 中繼代理能力的路由器中轉(zhuǎn)網(wǎng)絡(luò)上發(fā)送的 DHCP 數(shù)據(jù)包和任何 BOOTP 數(shù)據(jù)包。
如果路由器不能作為 DHCP/BOOTP 中繼代理運(yùn)行,則每個(gè)子網(wǎng)都必須有在該子網(wǎng)上作為中繼代理運(yùn)行的 DHCP 服務(wù)器或另一臺計(jì)算機(jī)。在不切實(shí)際地或不可能地配置路由器以支持 DHCP/BOOTP 中繼的情況下,您可以配置運(yùn)行 Windows NT Server 4.0 或更高版本的計(jì)算機(jī)通過安裝 DHCP 中繼代理服務(wù)來充當(dāng)中繼代理。
大多數(shù)情況下,路由器支持 DHCP/BOOTP 中繼。如果您的路由器不支持,則應(yīng)與路由器制造商或供應(yīng)商聯(lián)系以查明是否有軟件或固件升級提供對該功能的支持。
DHCP中繼代理的工作原理
中繼代理將它連接的其中一個(gè)物理接口(如網(wǎng)卡)上廣播的 DHCP/BOOTP 消息中轉(zhuǎn)到其他物理接口連至的其他遠(yuǎn)程子網(wǎng)。下例顯示了子網(wǎng) 2 上的客戶機(jī) C 如何從子網(wǎng) 1 上的 DHCP 服務(wù)器 1 獲得 DHCP 地址租約。
1.DHCP 客戶機(jī) C 在子網(wǎng) 2 上使用眾所周知的 UDP 服務(wù)器端口 67 以用戶數(shù)據(jù)報(bào)協(xié)議 (UDP) 數(shù)據(jù)報(bào)形式廣播 DHCP/BOOTP 探索消息 (DHCPDISCOVER),服務(wù)器端口號 67 是為 BOOTP 和 DHCP 服務(wù)器通信保留和共享的。
2.中繼代理,在 DHCP/BOOTP 允許中繼的路由器的情況下,檢測 DHCP/BOOTP 消息頭中的網(wǎng)關(guān) IP 地址字段。如果該字段有 0.0.0.0 的 IP 地址,則此代理程序填入中繼代理或路由器的 IP 地址并將此消息轉(zhuǎn)發(fā)到 DHCP 服務(wù)器所在的遠(yuǎn)程子網(wǎng) 1。
3.遠(yuǎn)程子網(wǎng)上 1 的 DHCP 服務(wù)器 1 接收到此消息時(shí),會檢查 DHCP 服務(wù)器用于提供 IP 地址租約的 DHCP 作用域的網(wǎng)關(guān) IP 地址字段。
4.如果 DHCP 服務(wù)器 1 有多個(gè) DHCP 作用域,則網(wǎng)關(guān) IP 地址字段 (GIADDR) 中的地址標(biāo)識將提供 IP 地址租約的 DHCP 作用域。
例如,如果網(wǎng)關(guān) IP 地址 (GIADDR) 字段有 10.0.0.2 的 IP 地址,則 DHCP 服務(wù)器檢查其地址作用域范圍的可用地址作用域集合,地址作用域范圍與包含作為主機(jī)的網(wǎng)關(guān)地址的 A 類 IP 網(wǎng)絡(luò)匹配。在這種情況下,DHCP 服務(wù)器將對 10.0.0.1 和 10.0.0.254 之間的地址作用域進(jìn)行檢查。如果存在匹配的作用域,則 DHCP 服務(wù)器從匹配的作用域中選擇可用地址以便在對客戶端的 IP 地址租約提供響應(yīng)時(shí)使用。
5.當(dāng) DHCP 服務(wù)器 1 接收到 DHCPDISCOVER 消息時(shí),它處理并直接將 IP 地址租約 (DHCPOFFER) 發(fā)送給在網(wǎng)關(guān) IP 地址 (GIADDR) 字段中標(biāo)識的中繼代理。
6.路由器然后將地址租約 (DHCPOFFER) 轉(zhuǎn)發(fā)給 DHCP 客戶端。
客戶端的 IP 地址仍舊無人知道,所以它必須在本地子網(wǎng)上廣播。同樣,根據(jù) RFC 1542,DHCPREQUEST 消息從客戶機(jī)轉(zhuǎn)發(fā)到服務(wù)器,DHCPACK 消息從服務(wù)器轉(zhuǎn)發(fā)到客戶機(jī)。
那么DHCP中繼代理的內(nèi)容我們就講解到這里了。希望對大家能夠有一個(gè)參考。