前段時間我寫了思科路由器DHCP以及DHCP中繼配置的簡單示例,文章中用到了一個命令來實現了DHCP轉發,但這個功能究竟是如何實現的呢? 現在我們來進一步瞭解這個命令。
當終端設備和DHCP伺服器不在同一廣播域內的時候,中繼裝置就需要指定一個位址來將廣播包轉發出去,即需要設定helper_address來實現中繼。
而事實上,在企業中一般只需要一個或者兩個DHCP伺服器提供冗余就已足夠,完全沒有必要在每一個廣播域單獨設置一台DHCP伺服器,這樣做既增加了成本,也更不利於管理。
要知道這個功能如何實現,我們先來瞭解一下DHCP伺服器的簡單運行原理:
- DHCP伺服器想要給終端設備分配IP資訊,需要獲取兩個重要的資訊,終端所在的網段(即遮罩)、對應設備的MAC位址。
- DHCP依靠前者來判斷應當給對應設備分配那個位址集區中的位址,然後依靠後者來維護IP和MAC之間的映射好以此來保證不會出現IP位址衝突。
瞭解了DHCP的簡單運行原理,我們再來說配置了ip helper-address命令之後的路由器工作過程:
- DHCP用戶端發送請求,由於沒有ip位址,所以自己的源IP位址為0.0.0.0,而且也不知道目的DHCP伺服器的位址,所以為廣播255.255.255.255,即源IP為0.0.0.0;目的IP位址為255.255.255.255;源MAC位址為自己MAC位址;目的MAC位址為FF:FF:FF:FF:FF:FF
- 當路由器接收到該資訊,則對其進行替換,用自己的介面位址(接收到資料包的介面,也就是終端所在網段閘道)來取代源位址0.0.0.0,並且用ip help-address 命令中指定的位址來取代目的位址255.255.255.255,即源IP為(閘道位址);目的IP位址為(ip helper-address指定位址);源MAC位址為終端MAC位址;目的MAC位址為(ip helper-address指定位址對應MAC位址)
- 如此,當DHCP伺服器接收到路由器轉發來的資訊後,同樣可以獲得相應的資訊來確定網段和MAC位址與IP位址的映射,故而可以讓終端獲得相應的資訊。
另外,ip helper-address功能不僅僅可以用於DHCP轉發,其實通過全域命令 ip forward-protocol它可以轉發任意UDP廣播!當你開啟了這個命令,預設開啟了8個缺省UDP轉發埠。
它們分別是是:TFTP(69)、DNS(53)、時間(37)、NETBIOS服務 (137)、N ETBIOS資料包服務(138)、BOOTP伺服器(67)、BOOTP客戶機(68)和終端存取控制器存取控制系統TACACS(49)
最後,如果你只用來轉發DHCP,那預設開啟不必要的埠很可能造成路由器超載,所以,請先使用全域命令來關掉所有的UDP轉發,然後再單獨開啟DHCP轉發
1 2 3 4 5 |
Router(config)#no ip forward-protocol udp Router(config)#ip forward-protocol udp bootps Router(config)#ip forward-protocol udp bootpc |
好了,就這麼多吧! 轉載請注明來自落格固定連結: HTTP://www.logcg.com/archives/241.html
另外,如果你想深入瞭解相關的內容,請點擊以下連結參考:
HTTP://baike.baidu.com/view/2287054.htm
HTTP://www.net527.cn/a/luyoujiaohuan/Ciscojishu/13468.html
HTTP://en.wikipedia.org/wiki/UDP_Helper_Address
HTTP://www.vlan9.com/cisco-tech/p003003161.html
HTTP://zh.wikipedia.org/zh/DHCP
本文由 落格博客 原創撰寫:落格博客 » 思科IP輔助地址詳解
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/241.html