DHCP和RARP的區別

RARP在功能上有點類似於DHCP協議,確切的說DHCP是BOOTP協議的升級,而BOOTP在某種意義上又是RARP協議的升級。BOOTP和RARP的區別在於RARP是在數據鏈路層實現的,而BOOTP實在應用層實現的,作爲BOOTP的升級版DHCP也是在應用層實現的。這種實現層面的差別也從RARP和BOOTP/DHCP的報文封裝格式的差別上體現出來了,RARP直接封裝在以太網幀中,協議類型置爲0x0800以標識這個報文是ARP/RARP報文,BOOTP/DHCP報文是直接封裝在UDP報文中,作爲UDP的數據段出現的。

從功能上說,RARP只能實現簡單的從MAC地址到IP地址的查詢工作,RARP server上的MAC地址和IP地址是必須事先靜態配置好的。但DHCP卻可以實現除靜態分配外的動態IP地址分配以及IP地址租期管理等等相對複雜的功能。

RARP是早期提供的通過硬件地址獲取ip的解決方案,但它有自己的侷限性,比如RARP客戶與RARP服務器不在同一網段,中間有路由器等設備連接,這時候利用RARP就顯得無能爲力,因爲RARP請求報文不能通過路由器,BOOTP/DHCP提供了很好的解決方法。

RARP、BOOT和DHCP都是動態學習IP地址的協議。起初,客戶端主機要發送一個廣播以啓動發現進程,有一臺專門的服務器負責監聽這些請求並提供IP地址給客戶端主機。
RARP使用的是和ARP相同的消息,只不過它的消息中列出的目標MAC地址是其自己的MAC地址,而目標IP地址是0.0.0.0。預先配置好的RARP服務器(必須處於客戶端同一子網中)接收請求並進行查詢。如果目標MAC地址的匹配到,RARP服務器就發送ARP響應(包含配置的IP地址在其源IP地址字段中)
BOOTP可以提升RARP的地址分配範圍。它使用的是完全不同的消息集(在RFC 951中定義),其命令封裝在IP和UDP包頭中。只要路由器配置好了,BOOTP消息包可以轉發到其它子網。此外,BOOTP還支持其他信息(如子網掩碼、默認網關等)的分配。不過,BOOTP仍然沒有解決RARP的配置負擔,它還是需要爲每個客戶端定義MAC地址和IP地址的映射。
DHCP大大減輕了配置工作,因爲它是動態分配的。在DHCP中,不需要預先配置MAC地址,你只需要配置一個地址池,DHCP會動態地在地址池中選擇地址進行分配。在路由器上配置ip helper-address dhcp_server_address可以跨子網使用DHCP協議(DHCP中繼代理)。另一種方法是將路由器配置爲DHCP服務器,其步驟如下:
1)配置一個DHCP池
2)配置路由器在DHCP池中排除自身地址(ip dhcp excluded-address)
3)屏蔽DHCP衝突日誌(no ip dhcp conflict-logging)或配置一個DHCP數據庫代理(ip dhcp database)

RARP、BOOTP和DHCP的比較

DHCP和RARP的區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章