2015-05-14 73 views
0

儘管在DHCP客戶端初始化階段通過廣播方式發送DHCP請求消息,但可以以廣播和單播方式發送DHCP答覆。將使用哪種發送方法取決於DHCP服務器或DHCP中繼代理以及DHCP客戶端的要求。如何由DHCP服務器或DHCP中繼代理單播DHCP答覆?

DHCP客戶端可以請求廣播DHCP答覆,以防其自身的IP協議實現軟件無法接收單播IP數據包,直到它具有配置的有效IP地址,並且初始化階段就是這種情況。在這種情況下,它將特別要求DHCP服務器或中繼代理通過廣播將DHCP請求消息中的標誌fleld的廣播位設置爲1來發送DHCP答覆。 在DHCP客戶端可以接收單播IP數據包的情況下沒有配置IP地址,廣播位未設置(0),由DHCP服務器或中繼代理決定是否通過單播或廣播發送DHCP答覆。單播是一種可以減少網絡流量並提高客戶端功能的偏向優先方法。

爲了發送數據包/幀,發送者需要知道IP地址和MAC地址。 DHCP服務器或中繼代理知道IP地址和MAC地址,IP地址,因爲它提供了一個MAC地址,因爲它包含在DHCP請求消息中。但是,標準發送數據包過程要求使用ARP協議獲得MAC地址,並且由於尚未配置IP地址,DHCP客戶端無法響應ARP數據包,因此無法顯着工作。 問題是,DHCP服務器或中繼代理如何通過單播發送DHCP答覆?是否有訪問ARP表並直接添加ARP條目的機制?

回答

0

DHCP服務器可以生成一個原始數據包並將MAC和IP地址添加到該數據包中。發送原始數據包時,操作系統不會對ARP條目或其他任何內容進行任何檢查。因此,即使客戶端無法回答ARP,並且服務器在ARP表中沒有任何內容,數據包也將是有效的單播UDP數據包。

+0

因此,DHCP應用層可以直接訪問數據鏈路層,它可以發送原始數據包發送....感謝Sami的答案。 –

+0

@VedranSmoljanovic如果這是足夠的信息,請選擇答案,如果這是足夠的信息 –

+0

我想知道更多關於發送原始數據包,所以我會研究更多關於它,無論如何,我只是想知道它是如何工作的,你的答案告訴我如何。 –