主要功能是防止基於源地址欺騙的網絡攻擊。
路由器接口一旦使能URPF功能,當該接口收到數據報文時,首先會對數據報文的源地址進行合法性檢查,對於源地址合法性檢查通過的報文,才會進一步查找去往目的地址的轉發表項,進入報文轉發流程;否則,將丟棄報文。
URPF檢查分為嚴格(strict)和松散性(loose)兩種。
嚴格型:不但要求路由器的轉發表中存在去往報文源地址的路由,還要求報文的入接口與轉發表中去往源地址路由的出接口一致,只有同時滿足上述兩個條件的報文才被認為是合法報文。對非對稱路徑下嚴格型檢查會錯誤丟棄報文。
松散型:要求路由器的轉發表中存在去往報文的源地址路由即可。
嚴格型和松散型檢查是URPF兩個基本檢查機制;部分設備在此基礎上,還進一步增加了缺省路由檢查以及ACL檢查功能,進而將URPF檢查實現的更靈活和全面。
特別情況下,設備在嚴格型URPF檢查的基礎上再增加鏈路層檢查,即在確認路由轉發表中存在去往源地址的路由以及出接口后,再增加檢查ARP表項,確保報文的源MAC地址和查到的ARP表項中的MAC地址一樣才允許報文通過。鏈路層檢查功能對於運營商用單個三層以太網接口接入大量PC機用戶時較適合部署。
四、 小結
諸如TCP Syn Flood、UDP flood 和ICMP flood等攻擊,都可能通過借助源地址欺騙的方式攻擊目標設備或者主機,造成被攻擊者系統性能嚴重的降低,甚至導致系統崩潰。URPF就是網絡設備為了防范此類攻擊而使用的一種常用技術。
不同廠家的不同產品對URFP功能的支持情況有所不同,具體應用中,請查看相關產品手冊,以確認設備的實現情況。
在DHCP的情況下DISCOVER包的源地址全0,目的地址為全F,目的在全網環境下查找有無DHCP Server。
松散型流程圖: 嚴格型流程圖:


