IPv6 URPF處理流程概述
IPv6 URPF(Unicast Reverse Path Forwarding,單播逆向路徑轉發)是一種IPv6單播報文檢查判斷技術,用于防止基于源地址欺騙的網絡攻擊行為。
IPv6 URPF用在IPv6網絡中,通過獲取交換機收到的IPv6報文的IPv6地址和入接口,以源IPv6地址為目的地址在路由表中查找路由。如果查到的路由出接口和接收該報文的入接口不匹配,交換機認為該報文的IPv6源地址是偽裝的,丟棄該報文。隨著對IPv6的需求越來越強烈,支持IPv6的URPF將在未來的安全應用方面具有的很好的應用前景。
交換機收到IPv6單播報文,通過獲取報文的源IPv6地址和入接口,交換機以源IPv6地址為目的地址在路由表中查找路由,如果查到的路由出接口和接收該報文的入接口不匹配,交換機認為該報文的源地址是偽裝的,丟棄該報文。通過軟件的方法實現URPF效率比較低,我們要實現硬件上實現數據包過濾機制。通過軟件啟動URPF功能,然后通過硬件實現。
IPv6 URPF通過遍歷單播路由表以及監視單播路由表的變化,發現IPv6數據的源地址跟一個或多個IPv6網段A={A|X:X::X:X/m1,X1:X1::X1:X1/m2, …}的對應關系,并根據這個關系定義規則來過濾IPv6報文。這個對應關系我們稱之為IPv6 URPF對應關系。即目的地址為A路由表項的出端口為P,則URPF的功能則是:在P端口只允許源IPv6地址為A的IPv6報文進入,否則一律丟棄(路由協議報文除外)。
如下圖所示, 接口vlan1的IPv6 URPF對應關系為:源地址2001::1和2002::2網段的IPv6數據包從vlan1接口進入,與路由表匹配,轉發數據包。而從vlan2進入的報文的源地址為2001::3與路由表不匹配,丟棄該報文。