本技術涉及通信,尤其涉及一種驗證信息發送方法、驗證表項獲取方法、裝置及設備。
背景技術:
1、通常情況下,網絡中的設備接收到報文后,獲取報文的目的地址,針對目的地址查找轉發路由,如果查找到則進行正常的轉發,否則丟棄該報文。由此得知,在轉發報文時,網絡中的設備并不關心報文的源地址,給源地址欺騙攻擊有了可乘之機。其中,源地址欺騙攻擊是指入侵者通過構造一系列帶有偽造源地址的報文,頻繁訪問目的地址所在設備或者主機,即使受害主機或設備的回應報文不能返回到入侵者,也會對被攻擊對象造成一定程度的破壞。
2、為防止基于源地址的網絡攻擊行為,提出了一種源地址驗證方案,例如單播反向路由查找(unicast?reverse?path?forwarding,urpf)。urpf通過獲取報文的源地址和入接口,以源地址為目的地址,在轉發表中查找源地址對應的接口是否與入接口匹配。如果不匹配,認為源地址是偽裝的,丟棄該報文。通過這種方式,urpf能夠有效地防范網絡中通過修改源地址而進行的惡意攻擊行為的發生。由于urpf需要依賴轉發表,當網絡中存在路由不對稱情況時,容易出現錯誤丟棄報文的情況。基于此,提出了分布式源地址驗證(distributed?source?address?validation,dsav)方案,在執行該方案時,用于驗證源地址的設備將建立記錄源地址和對應合法入接口的源地址驗證表(source?addressvalidation,sav)。如果報文的入接口與報文源地址對應的合法入接口不一致,則認為該報文的源地址是偽造的,則丟棄該報文。然而,當在不同的自治域(autonomous?system,as)進行源地址驗證時,可能會涉及大量的as,帶來較大的計算開銷和通信開銷。
技術實現思路
1、本技術提供了一種驗證信息發送方法、驗證表項獲取方法、裝置及設備,以實現域間源地址驗證時降低通信開銷。
2、在本技術第一方面,提供了一種驗證信息發送方法,該方法包括:第一網絡設備獲取其所屬的第一as的驗證信息以及用于驗證的第二as的鄰居as;第一網絡設備向第二as發送驗證信息和鄰居as。其中,鄰居as為從第一as到第二as的方向上第二as的上一跳。即,在本技術中,第一as可以向驗證as發送驗證信息和驗證as對應的鄰居as,而無需向以第一as為始發as的路徑上的所有as發送驗證信息,從而減少通信開銷。
3、其中,第一網絡設備可以為第一as中的控制器、邊界網絡設備或路由反射器(route?reflector,rr)。例如,邊界網絡設備可以為自治系統邊界路由器(autonomoussystem?boundary?router,asbr)。驗證信息可以包括第一as對應的源前綴和/或第一as的標識。當驗證信息包括第一as的標識時,第二as在獲取到驗證信息后,將根據第一as的標識獲取需要驗證的源前綴。
4、具體地,第一網絡設備可以通過以下方式獲取鄰居as:
5、一種,第一網絡設備獲取以第一as為端點的第一as路徑,該第一as路徑包括第二as;第一網絡設備基于第一as路徑獲取第二as的鄰居as。
6、在快速重路由或負載分擔的應用場景下,存在主/備用路徑,或實現負載分擔的路徑,為避免誤過濾合法報文的情況。基于此,第一網絡設備在獲取第二as的鄰居as時,還將可以獲取以第一as為端點的第二as路徑,該第二as路徑包括第二as,且該第二as路徑為第一as路徑對應的備用路徑和/或負載分擔路徑。
7、一種,第一網絡設備接收第一as的邊界網絡設備發送的第二as的鄰居as。其中,第一as的邊界網絡設備所發送的第二as的鄰居as是第一as中的邊界網絡設備根據自身路由表和/或重定向路徑所確定的as。
8、一種,第一網絡設備根據自身路由表、重定向路徑或者as拓撲庫其中至少一項獲取第二as的鄰居as,as拓撲庫包括具有鄰居關系的as的標識。
9、在一種可能的實現方式中,所述第一網絡設備接收所述第一as中的邊界網絡設備發送的所述第二as的鄰居as,包括:所述第一網絡設備接收所述第一as中的邊界網絡設備發送的第一報文,所述第一報文包括所述第二as的標識以及所述鄰居as的標識。
10、在一種可能的實現方式中,所述第一報文還包括第一序列號以及所述第一as中的邊界網絡設備的標識,所述第一網絡設備向所述第二as發送所述驗證信息和所述鄰居as之前,所述方法還包括:所述第一網絡設備基于所述第一as中的邊界網絡設備的標識以及第一對應關系獲得所述第二序列號,所述第一對應關系包括所述第一as的邊界網絡設備的標識以及所述第二序列號;所述第一網絡設備確定所述第一序列號大于所述第二序列號。由于基于第一報文中的序列號校驗第一報文的合法性,相當于第一網絡設備在確認第一報文是最新報文的情況下,才向第二網絡設備通告第一報文中的鄰居as,使得第一網絡設備通告的鄰居as具有時效性,第一網絡設備通告的鄰居as是最新的鄰居as,從而降低由于第一網絡設備將失效過期的鄰居as通告至第二網絡設備導致第二網絡設備獲得的源地址驗證表項不準確甚至引起誤丟棄報文的風險。
11、在一種可能的實現方式中,第一網絡設備向第二as發送驗證信息和鄰居as,可以包括:第一網絡設備獲取第二as中的第二網絡設備的地址;第一網絡設備根據第二網絡設備的地址,向第二網絡設備發送驗證信息和鄰居as。其中,第二網絡設備可以為第二as中的控制器、rr或邊界網絡設備。也就是,當第一網絡設備向第二as中發送驗證信息和鄰居as時,可以先獲取第二網絡設備的地址,然后向該地址所指示的網絡設備發送驗證信息和鄰居as。
12、在一種可能的實現方式中,所述驗證信息包括第一as的標識,所述第一網絡設備根據所述第二網絡設備的地址,向所述第二網絡設備發送所述驗證信息和所述鄰居as,包括:所述第一網絡設備向所述第二網絡設備發送第二報文,所述第二報文包括所述第一as的標識以及所述鄰居as的標識。
13、在一種可能的實現方式中,所述第二報文還包括第三序列號以及所述第一網絡設備的標識。
14、在一種可能的實現方式中,第一網絡設備還可以向第二網絡設備發送第三報文,該第三報文中包括第一as的標識、第二as的標識以及鄰居as的標識。
15、具體地,該第三報文可以包括始發as標識字段、驗證as標識字段以及鄰居as標識字段,其中,始發as標識字段包括第一as的標識,驗證as標識字段包括第二as的標識以及鄰居as的標識字段包括鄰居as的標識。
16、在一種可能的實現方式中,第一網絡設備在向第二as發送驗證信息和鄰居as之前,還可以獲取第二as的標識和下一跳的地址。其中,下一跳的地址可以為第二as中的控制器、第二as中的邊界網絡設備或第二as中的路由反射器。在具體實現時,可以預先第一網絡設備上配置第二as的標識和下一跳的地址。
17、在一種可能的實現方式中,所述方法還包括:所述第一網絡設備獲取第三as的標識,所述第三as為所述第一as的下游as;所述第一網絡設備向所述目標as發送所述第三as的標識,所述目標as包括所述第二as或/和所述第一as的鄰居as。第一網絡設備通過向本設備能夠感知的第三as的標識的as標識通告給目標as,有助于解決第三as成為驗證as的隱藏as,驗證as無法感知第三as導致前綴白名單(驗證表項)中缺失第三as的始發前綴,進而造成驗證as中驗證表項不準確、來自第三as的流量傳輸失敗的問題。
18、在一種可能的實現方式中,所述第一網絡設備獲取第三as的標識,包括:所述第一網絡設備基于第一as集合以及第二as集合,獲得第三as的標識,所述第一as集合包括所述第一網絡設備歷史接收到的as的標識以及所述第一as的標識,所述第二as集合包括所述第一網絡設備已向所述目標as發送的as的標識,所述第一as集合包括所述第三as的標識且所述第二as集合不包括所述第三as的標識。第一as集合包括且第二as集合不包括的as號相當于本端能感知但歷史沒有通告的as,通過將這些as確定為隱藏as,從而提高隱藏as的識別準確性,使得驗證as能夠感知到隱藏as的存在。
19、在一種可能的實現方式中,所述第一網絡設備向所述目標as發送所述第三as的標識,包括:所述第一網絡設備獲得并向所述目標as發送第四報文,所述第四報文包括所述第三as的標識以及所述第三as的屬性,所述第三as的屬性包括所述第三as的標識的來源、所述第三as的標識的目的方、原因類型以及連接關系標志中至少一項,原因類型表示歷史時間段未通告所述第三as的標識的原因,所述連接關系標志指示所述第三as與所述第一as之間的連接關系。通過上送第三as的屬性中至少一項,有助于驗證as基于第三as的屬性構建可視化的拓撲。
20、在一種可能的實現方式中,所述第四報文包括bgp?undate報文,所述bgp?undate報文包括多協議可達性網絡層路由信息mp_reach_nlri字段,所述mp_reach_nlri字段包括地址族標識、子地址族標識以及網絡層路由信息nlri字段,所述地址族標識或所述子地址族標識用于指示生成驗證表項或者通告as,所述nlri字段包括所述第三as的標識以及所述第三as的屬性,所述nlri字段封裝于所述地址族標識或所述子地址族標識的內層。
21、在一種可能的實現方式中,所述第四報文包括bgp?route-refresh報文,所述bgproute-refresh報文包括地址族標識、子地址族標識、所述第三as的標識以及所述第三as的屬性,所述地址族標識或所述子地址族標識用于指示生成驗證表項或者通告as。
22、在一種可能的實現方式中,所述第一網絡設備獲取第三as的標識,包括:所述網絡設備接收來自所述第三as的第五報文,所述第五報文包括所述第三as的標識、所述第三as對應的地址前綴以及no-export屬性;所述第一網絡設備獲得并向所述目標as發送第四報文,包括:所述網絡設備基于所述第五報文獲得并向所述目標as發送第四報文,所述目標as包括所述第三as的標識以及路徑屬性,所述路徑屬性包括第一標記,所述第一標識指示所述第三as的標識用于生成驗證表項。
23、在一種可能的實現方式中,所述第一網絡設備向所述目標as發送所述第三as的標識之前,所述方法還包括:所述第一網絡設備獲得bgp?open報文,所述bgp?open報文包括能力標識,所述能力標識指示支持通告下游as;所述第一網絡設備向所述目標as發送所述bgpopen報文。
24、在本技術第二方面,提供了一種驗證表項獲取方法,該方法包括:用于驗證的第二as中的第二網絡設備接收第一as中的第一網絡設備發送的第一as的驗證信息和第二as的鄰居as;第二網絡設備基于驗證信息和鄰居as獲得驗證表項。其中,驗證表項包括第一as對應的源前綴和用于與鄰居as通信的入接口。即,位于驗證as中的第二網絡設備,在接收到第一網絡設備發送的驗證信息和鄰居as后,將利用驗證信息和鄰居as生成驗證表項,以便利用驗證表項對接收的業務報文的合法性進行驗證。
25、在一種可能的實現方式中,當第二as中包括邊界網絡設備時,第二網絡設備還可以向邊界網絡設備發送所接收的驗證信息和鄰居as,以使得各邊界網絡設備均可以基于驗證信息和鄰居as獲得驗證表項。
26、其中,驗證信息可以包括源前綴和/或第一as的標識。若驗證信息包括源前綴,第二網絡設備可以通過以下方式獲得驗證表項:第二網絡設備獲取與接口通信的第三網絡設備所屬的as;若第三網絡設備所屬的as為鄰居as,第二網絡設備確定該接口為入接口;第二網絡設備基于源前綴和入接口獲得驗證表項。
27、若驗證信息包括第一as的標識,第二網絡設備可以通過以下方式驗證表項:第二網絡設備獲取與接口通信的第三網絡設備所屬的as;若第三網絡設備所屬的as為鄰居as,所述第二網絡設備確定該接口為入接口;第二網絡設備基于第一as的標識和對應關系獲得源前綴;第二網絡設備基于源前綴和入接口獲得所述驗證表項。其中,對應關系包括第一as的標識和源前綴。
28、在一種可能的實現方式中,第二網絡設備還可以執行以下操作:第二網絡設備接收業務報文,該業務報文包括源互聯網協議ip地址;第二網絡設備根據驗證表項、源ip地址以及接收業務報文的接口確定業務報文的合法性。例如,當第二網絡設備接收到業務報文后,根據該業務報文中的源ip地址確定源前綴,并通過該源前綴從驗證表項中查找與該源前綴對應的入接口,如果該入接口與第二網絡設備接收業務報文所使用的接口匹配,則可以表明該業務報文為合法報文。
29、在一種可能的實現方式中,所述方法還包括:所述第二網絡設備接收來自所述第一網絡設備的第三as的標識,所述第三as為所述第一as的下游as;所述第二網絡設備基于所述第三as的標識獲得第二驗證表項,所述第二驗證表項包括所述第三as對應的地址前綴以及所述第二as的用于與所述第三as通信的入接口。
30、在本技術第三方面,提供了一種驗證信息發送裝置,該裝置應用于第一網絡設備,該裝置包括:處理單元,用于獲取其所屬的第一自治域as的驗證信息以及用于驗證的第二as的鄰居as,所述鄰居as為從所述第一as到所述第二as的方向上所述第二as的上一跳;發送單元,用于向所述第二as發送所述驗證信息和所述鄰居as。
31、在一種可能的實現方式中,所述處理單元,具體用于獲取以所述第一as為端點的第一as路徑,所述第一as路徑包括所述第二as;基于所述第一as路徑獲取所述第二as的鄰居as。
32、在一種可能的實現方式中,所述處理單元,具體用于獲取以所述第一as為端點的第二as路徑,所述第二as路徑包括所述第二as,所述第二as路徑為所述第一as路徑的備用路徑或負載分擔路徑。
33、在一種可能的實現方式中,所述處理單元,具體用于接收所述第一as中的邊界網絡設備發送的所述第二as的鄰居as,所述第一as中的邊界網絡設備所發送的第二as的鄰居as是所述第一as中的邊界網絡設備根據自身路由表和/或重定向路徑所確定的as。
34、在一種可能的實現方式中,所述處理單元具體用于接收所述第一as中的邊界網絡設備發送的第一報文,所述第一報文包括所述第二as的標識以及所述鄰居as的標識。
35、在一種可能的實現方式中,所述第一報文還包括第一序列號以及所述第一as中的邊界網絡設備的標識,所述處理單元還用于基于所述第一as中的邊界網絡設備的標識以及第一對應關系獲得所述第二序列號,所述第一對應關系包括所述第一as的邊界網絡設備的標識以及所述第二序列號;確定所述第一序列號大于所述第二序列號。
36、在一種可能的實現方式中,所述處理單元,具體用于所述第一網絡設備根據自身路由表和/或重定向路徑獲取所述第二as的鄰居as。
37、在一種可能的實現方式中,所述第一網絡設備為控制器、rr或邊界網絡設備。
38、在一種可能的實現方式中,所述發送單元,具體用于獲取所述第二as中的第二網絡設備的地址,所述第二網絡設備為控制器、rr或邊界網絡設備;根據所述第二網絡設備的地址,向所述第二網絡設備發送所述驗證信息和所述鄰居as。
39、在一種可能的實現方式中,所述驗證信息包括第一as的標識,所述發送單元,用于向所述第二網絡設備發送第二報文,所述第二報文包括所述第一as的標識以及所述鄰居as的標識。
40、在一種可能的實現方式中,所述第二報文還包括第三序列號以及所述第一網絡設備的標識。
41、在一種可能的實現方式中,所述發送單元,還用于向所述第二網絡設備發送第三報文,所述第三報文包括所述第一as的標識、所述第二as的標識以及所述鄰居as的標識。
42、在一種可能的實現方式中,所述第三報文中的始發as標識字段包括所述第一as的標識,所述第三報文中的驗證as標識字段包括所述第二as的標識,所述第三報文中的鄰居as標識字段包括所述鄰居as的標識。
43、在一種可能的實現方式中,所述處理單元,還用于獲取所述第二as的標識和下一跳的地址,所述下一跳為所述第二as中的控制器、所述第二as中的邊界網絡設備或所述第二as中的路由反射器中的一個。
44、在一種可能的實現方式中,所述驗證信息包括所述第一as對應的源前綴和所述第一as的標識中的至少一個。
45、在一種可能的實現方式中,所述裝置還包括:
46、所述處理單元,還用于獲取第三as的標識,所述第三as為所述第一as的下游as;
47、所述發送單元,還用于向所述目標as發送所述第三as的標識,所述目標as包括所述第二as或/和所述第一as的鄰居as。
48、在一種可能的實現方式中,所述處理單元,用于基于第一as集合以及第二as集合,獲得第三as的標識,所述第一as集合包括所述第一網絡設備歷史接收到的as的標識以及所述第一as的標識,所述第二as集合包括所述第一網絡設備已向所述目標as發送的as的標識,所述第一as集合包括所述第三as的標識且所述第二as集合不包括所述第三as的標識。
49、在一種可能的實現方式中,所述發送單元,用于獲得并向所述目標as發送第四報文,所述第四報文包括所述第三as的標識以及所述第三as的屬性,所述第三as的屬性包括所述第三as的標識的來源、所述第三as的標識的目的方、原因類型以及連接關系標志中至少一項,原因類型表示歷史時間段未通告所述第三as的標識的原因,所述連接關系標志指示所述第三as與所述第一as之間的連接關系。
50、在一種可能的實現方式中,所述第四報文包括bgp?undate報文,所述bgp?undate報文包括多協議可達性網絡層路由信息mp_reach_nlri字段,所述mp_reach_nlri字段包括地址族標識、子地址族標識以及網絡層路由信息nlri字段,所述地址族標識或所述子地址族標識用于指示生成驗證表項或者通告as,所述nlri字段包括所述第三as的標識以及所述第三as的屬性,所述nlri字段封裝于所述地址族標識或所述子地址族標識的內層;或者
51、所述第四報文包括bgp?route-refresh報文,所述bgp?route-refresh報文包括地址族標識、子地址族標識、所述第三as的標識以及所述第三as的屬性,所述地址族標識或所述子地址族標識用于指示生成驗證表項或者通告as。
52、在本技術第四方面,提供了一種驗證表項獲取裝置,所述裝置設于驗證的第二as中的第二網絡設備,所述裝置包括:接收單元,用于接收第一as中的第一網絡設備發送的所述第一as的驗證信息和所述第二as的鄰居as;處理單元,用于基于所述驗證信息和所述鄰居as獲得驗證表項,所述驗證表項包括所述第一as對應的源前綴和用于與所述鄰居as通信的入接口。
53、在一種可能的實現方式中,所述裝置還包括:發送單元;該發送單元,用于向所述第二as中的邊界網絡設備發送所述驗證信息和所述鄰居as。
54、在一種可能的實現方式中,所述驗證信息包括所述源前綴,所述處理單元,具體用于獲取與接口通信的第三網絡設備所屬的as;若所述第三網絡設備所屬的as為所述鄰居as,確定所述接口為所述入接口;基于所述源前綴和所述入接口獲得所述驗證表項。
55、在一種可能的實現方式中,所述驗證信息包括所述第一as的標識,所述處理單元,具體用于獲取與接口通信的第三網絡設備所屬的as;若所述第三網絡設備所屬的as為所述鄰居as,確定所述接口為所述入接口;基于所述第一as的標識和對應關系獲得所述源前綴,所述對應關系包括所述第一as的標識和所述源前綴;基于所述源前綴和所述入接口獲得所述驗證表項。
56、在一種可能的實現方式中,所述接收單元,還用于接收業務報文,所述業務報文包括源互聯網協議ip地址;所述處理單元,還用于根據所述驗證表項、所述源ip地址以及接收所述業務報文的接口,確定所述業務報文的合法性。
57、在一種可能的實現方式中,所述接收單元還用于接收來自所述第一網絡設備的第三as的標識,所述第三as為所述第一as的下游as;
58、所述處理單元還用于基于所述第三as的標識獲得第二驗證表項,所述第二驗證表項包括所述第三as對應的地址前綴以及所述第二as的用于與所述第三as通信的入接口。
59、在本技術第五方面,提供了一種網絡設備,所述網絡設備包括:處理器和存儲器;
60、所述存儲器,用于存儲指令或計算機程序;
61、所述處理器,用于執行所述存儲器中的所述指令或計算機程序,以使得所述網絡設備執行第一方面或第一方面中任一種可能的實現方法,或者執行第二方面或第二方面中任一種可能的實現方法。
62、在本技術第六方面,提供了一種網絡系統,所述系統包括:第一網絡設備和第二網絡設備;所述第一網絡設備,用于執行第一方面或第一方面中任一種可能的實現方法;所述第二網絡設備,用于執行第二方面或第二方面中任一種可能的實現方法。
63、在本技術第七方面,提供了一種計算機可讀存儲介質,包括指令,當其在計算機上運行時,使得計算機執行第一方面或第一方面中任一種可能的實現方法,或者執行第二方面或第二方面中任一中可能的實現方法。
64、在本技術第八方面,提供了一種計算機程序產品,所述計算機程序產品包含程序,當所述程序在處理器上運行時,使得計算機或網絡設備執行第一方面或第一方面中任一種可能的實現方法,或者執行第二方面或第二方面中任一種可能的實現方法。
65、通過本技術提供的技術方案,作為始發as的第一as中的第一網絡設備,獲取第一as對應的驗證信息以及用于驗證的第二as對應的鄰居as。其中,鄰居as是指從第一as到達第二as的方向上該第二as的上一跳as。第一網絡設備向第二as發送驗證信息和鄰居as,進而由驗證as基于驗證信息和鄰居as對接收的業務報文的源地址進行驗證。即,本技術中第一as可以向驗證as發送驗證信息和驗證as對應的鄰居as,而無需向以第一as為始發as的路徑上的所有as發送驗證信息,從而減少通信開銷。