探測路由下一跳mac地址的方法及其路由設備的製作方法
2023-11-11 20:49:17 2
專利名稱:探測路由下一跳mac地址的方法及其路由設備的製作方法
技術領域:
本發明涉及寬帶網絡通信領域,尤其涉及數據包轉發的方法和路由設備。
背景技術:
隨著internet技術的迅速發展,網絡應用使用給我們生活帶來了巨大的變化,伴隨而來的是網絡數據流量在不斷的增長,因而,對網絡設備處理數據效率也提出了更高的要求。目前,具備路由功能的三層交換機和路由器,是常見的網絡路由設備,基於硬體轉發的路由設備主要由協議控制面和硬體轉發麵兩個部分構成,如圖I所示,即協議控制裝置和硬體轉發裝置。其中,協議控制面的路由服務模塊主要用於運行各種協議,通過協議報文的交互來進行路由學習,並生成核心軟體路由表,並將學習到的核心軟體路由表項信息 通告到硬體轉發麵;而硬體轉發麵由一塊或多塊交換晶片構成,當網絡數據流到達路由設備時,在交換晶片上完成路由查找和線速轉發。當三層交換機或路由器收到一個IP數據包後,如果查找硬體路由表中存在下一跳的MAC地址,則IP數據包封裝成數據幀直接走硬體轉發。如果此時硬體路由表中並沒有下一跳的MAC地址,也無法找到目的地址對應的硬體MAC地址,硬體路由表項查找失敗;IP數據包報文會上送協議控制面的CPU ;而上CPU後的報文進入TCP/IP網絡協議棧去查找核心軟體路由表,當核心軟體路由表查找成功之後,TCP/IP網絡協議棧會通過ARP (AddressResolution Protocol,地址解析協議)協議,發送ARP請求報文去獲取下一跳對應的物理硬體地址;ARP學習後將對應的下一跳IP位址與獲取的物理硬體地址寫入ARP高速緩存;與此同時轉發模塊會激活下發寫硬體路由表項。如果收到同一個目的IP數據包,會查找硬體路由表,直接走硬體轉發。上述在沒有獲取到下一跳物理硬體地址之前,IP數據報文需要上CPU查找核心軟體路由表,這樣會耗費協議控制面的CPU資源。而CPU報文處理的效率不高,尤其當出現大量的報文上CPU時,可能會影響其他協議的正常工作。
發明內容本發明需解決的技術問題是提供一種快速探測路由下一跳MAC地址的方法,從而在數據轉發時,不需要佔用CPU資源,節約CPU資源。為解決上述的技術問題,本發明設計了一種探測路由下一跳MAC地址的方法,其包括以下的步驟Step I :路由設備的協議控制裝置中的路由服務模塊自動學習或手動配置產生一條到達目的地的路由表項,該路由表項包括目的地IP位址和下一跳IP位址;Step 2 :檢查路由表項的活動性,如果該路由表項是活動的,則將該路由表項寫入核心軟體路由表中;如果該路由表項是非活動的,則需要等其活動後,再將其寫入核心路由表中;
Step 3 :在路由設備的協議控制裝置內配置一探測模塊,通過探測模塊定時發送ARP請求報文去探測下一跳IP位址的可達性;Step 4 :被請求設備收到ARP請求報文後,判斷目的地址是自己,向路由設備回復ARP應答報文;Step 5 :路由設備收到ARP應答報文,會根據ARP應答報文得到下一跳MAC地址,寫入ARP高速緩存中,並停止發送ARP請求報文,如果路由設備未收到ARP應答報文,探測設備繼續發送廣播的ARP請求報文;同步,探測模塊向硬體路由表下發下一跳MAC地址,觸發硬體路由表項更新,硬體路由表中寫入該目的網絡依賴該下一跳的所有的硬體路由表項。作為本發明進一步改進,ARP請求報文是廣播報文,目的MAC地址為ffffffff ;目的IP位址為下一跳的IP位址。
本發明還提供了一種路由設備,包括協議控制裝置和硬體轉發裝置,所述協議控制裝置內設有一探測模塊,所述探測模塊自動發送探測報文去探測下一跳IP位址的可達性從而請求下一跳地址的硬體MAC地址,以及觸發硬體轉發裝置的硬體路由表更新。本發明通過探測模塊得到下一跳MAC地址,從而使需要轉發的IP數據包的目的硬體路由表項查找成功,IP數據包只需要走硬體轉發,保證數據達到線速轉發,大大的提高了IP數據包處理效率;且不需要佔用CPU資源進行處理,節約了 CPU資源。
圖I是現有的路由設備的I旲型不意圖;圖2是本發明路由設備的模型示意圖;圖3是本發明探測路由下一跳MAC地址的方法的流程示意圖。
具體實施方式下面結合附圖和實施方式對本發明作進一步說明。如圖2所示,為本發明路由設備的一種實施例。按照邏輯劃分,本發明路由設備包括協議控制面和硬體轉發控制面,即,協議控制裝置和硬體轉發裝置。所述協議控制裝置內設有一探測模塊,該探測模塊主要實現三個功能一、接收路由變化信息當協議控制面的核心軟體路由表項變化,探測模塊可以自動接收路由變化信息;二、自動發送探測報文,去探測下一跳IP位址的可達性從而請求下一跳的MAC地址;三、獲得下一跳的MAC地址並觸發硬體轉發裝置的硬體路由表更新,硬體路由表寫入下一跳的MAC地址,數據包則可通過硬體線速轉發。本發明探測路由下一跳MAC地址的方法,如圖2所示,包括如下的步驟Step I :首先,路由設備的協議控制裝置中的路由服務模塊通過動態路由協議會自動學習產生一條到達目的地的路由表項,或靜態手動配置生成一條到達目的地址的路由表項。路由表項中包括目的地的IP位址和為達到目的地所要經過的下一跳IP位址,還包括有一個附加欄位包含了子網掩碼或掩碼長度。Step 2 :檢查路由表項的活動性,即確定下一跳IP位址對應本地鏈路在位,且本地接口的IP位址是否屬於同一網絡。如果該路由表項是活動的,則將該路由表項寫入核心軟體路由表中;如果該路由表項是非活動的,則需要等其活動後,再將其寫入核心路由表中。Step I和Step 2均是在路由設備的路由服務模塊自動學習和完成的,只要當核心軟體路由表項中寫入活動的下一跳IP位址,才能通過該下一條IP位址才能去請求該下一跳MAC地址。Step 3 :在路由設備的協議控制裝置內配置一探測模塊,通過探測模塊定時發送ARP請求報文去探測下一跳IP位址的可達性。在本實施例中,ARP請求報文是廣播報文,目的MAC地址為ffffffff ;目的IP位址為下一跳的IP位址。即,向路由設備連接的網絡設備發送廣播的ARP請求報文,報文中的目的IP為路由設備的下一跳IP位址。Step 4 :被請求設備收到ARP請求報文後,判斷目的地址是自己,向路由設備回復ARP應答報文,該ARP應答報文是單播報文,其目的MAC地址為ARP請求報文的源MAC地址,目的IP位址為發送ARP請求報文的接口 IP位址,而其源MAC地址和源IP位址即為路由設備的下一跳MAC地址和IP位址。
Step 5 :路由設備收到ARP應答報文,取出ARP應答報文的源MAC地址和源IP位址寫入ARP高速緩存中,並停止發送ARP請求報文;如果路由設備未收到ARP應答報文,探測設備繼續發送廣播的ARP請求報文。同步,探測模塊向硬體路由表下發下一跳MAC地址,觸發硬體路由表項更新,硬體路由表中寫入該目的網絡依賴該下一跳的所有的硬體路由表項。此時,硬體路由表中配置了路由設備的下一跳MAC地址,則同一目的網絡的數據流達到時,直接通過硬體路由表查找而進行高速有效的轉發。本發明通過探測模塊得到下一跳MAC地址,從而使需要轉發的IP數據包的目的硬體路由表項查找成功,IP數據包只需要走硬體轉發,保證數據達到線速轉發,大大的提高了IP數據包處理效率;且不需要佔用CPU資源進行處理,節約了 CPU資源。以上所述的僅是本發明的實施方式,在此應當指出,對於本領域的普通技術人員來說,在不脫離本發明創造構思的前提下,還可以做出改進,但這些均屬於本發明的保護範圍。
權利要求
1.ー種路由設備,包括協議控制裝置和硬體轉發裝置,其特徵在於所述協議控制裝置內設有ー探測模塊,所述探測模塊自動發送探測報文去探測下一跳IP位址的可達性從而請求下一跳地址的硬體MAC地址,以及觸發硬體轉發裝置的硬體路由表更新。
2.一種探測路由下一跳MAC地址的方法,其特徵在於,包括以下的步驟 Step I :路由設備的協議控制裝置中的路由服務模塊自動學習或手動配置產生一條到達目的地的路由表項,該路由表項包括目的地IP位址和下一跳IP位址; Step 2 :檢查路由表項的活動性,如果該路由表項是活動的,則將該路由表項寫入核心軟體路由表中;如果該路由表項是非活動的,則需要等其活動後,再將其寫入核心路由表中; Step 3 :在路由設備的協議控制裝置內配置一探測模塊,通過探測模塊定時發送ARP請求報文去探測下ー跳IP位址的可達性; Step 4 :被請求設備收到ARP請求報文後,判斷目的地址是自己,向路由設備回復ARP應答報文; Step 5 :路由設備收到ARP應答報文,會根據ARP應答報文得到下一跳MAC地址,寫入ARP高速緩存中,並停止發送ARP請求報文,如果路由設備未收到ARP應答報文,探測設備繼續發送廣播的ARP請求報文;同歩,探測模塊向硬體路由表下發下ー跳MAC地址,觸發硬體路由表項更新,硬體路由表中寫入該目的網絡依賴該下一跳的所有的硬體路由表項。
3.根據權利要求I所述的探測路由下一跳MAC地址的方法,其特徵在幹,ARP請求報文是廣播報文,目的MAC地址為ffffffff ;目的IP位址為下一跳的IP位址。
全文摘要
本發明提供了一種路由設備,包括協議控制裝置和硬體轉發裝置,所述協議控制裝置內設有一探測模塊,所述探測模塊自動發送探測報文去探測下一跳IP位址的可達性從而請求下一跳地址的硬體MAC地址,以及觸發硬體轉發裝置的硬體路由表更新。本發明通過探測模塊得到下一跳MAC地址,從而使需要轉發的IP數據包的目的硬體路由表項查找成功,IP數據包只需要走硬體轉發,保證數據達到線速轉發,大大的提高了IP數據包處理效率;且不需要佔用CPU資源進行處理,節約了CPU資源。
文檔編號H04L12/741GK102857427SQ201210308410
公開日2013年1月2日 申請日期2012年8月27日 優先權日2012年8月27日
發明者吳兵, 張百元, 車任秋 申請人:上海斐訊數據通信技術有限公司