專利名稱:一種路由創建方法、轉發芯片及三層交換機的制作方法
技術領域:
本發明涉及一種數據網絡通信技術,尤其涉及一種路由創建方法、轉發 芯片及三層交換機。
背景技術:
三層交換機是一種帶有路由功能的交換機,既具有三層路由功能,又具
有二層交換功能。三層交換機的主要結構如圖1所示包括CPU和交換芯 片。交換芯片接收到IP報文后,會依據IP報文中的關鍵字段,查詢內建 的各種表,如々某體訪問控制(Media Access Control,筒稱MAC)地址表、 路由表、策略表等等,從而得知應該如何處理該IP報文,如是從某個或 某幾個端口輸出該IP報文,還是將其送到CPU; CPU則根據協議和管理的 需要,配置交換芯片,維護交換芯片內建的各種表。
三層交換機執行路由功能時,交換芯片需要對路由表進行查詢,以獲得 三層轉發決策。現有路由表的一條路由表項所描述的信息可以稱為一條路 由,如圖2所示, 一條路由表項主要包括如下字段
前綴字段,是路由表項的索引,用于確定IP報文是對應于哪條路由表 項,通常由IP地址和掩碼表示,也可以稱為路由前綴;
行為字段,用于確定對IP報文的處理策略,如送CPU、丟棄或者轉 發等,只有當行為為轉發時,輸出端口號和下一跳MAC地址才有效;
輸出端口號字^a,用于確定對應匹配的輸出端口;
下一跳MAC地址字段,用于修改輸出IP報文的目的MAC地址字段。 以下舉例說明現有三層交換機對IP才艮文的路由過程。假設有如圖3所示的一張路由表,其中顯示了三條路由信息。路由1 中"192.168.100.100/32"表示IP地址為"192.168.100.100",掩碼 中的所有位均為1,即掩碼為"255.255.255.255 ";路由2中 "192.168.100.100/24"表示IP地址為"192.168.100.100",掩碼中 的前24位為1,即掩碼為"255.255.255.0";路由3中的掩碼中的所有 位均為0。
當轉發芯片接收到一個IP報文時,將IP報文的目的IP地址與前綴字 段中的掩碼相與,然后再與前綴字段中的IP地址相比較,若相等,則該 IP報文匹配中該條路由。 一個IP報文可能匹配中掩碼長度(掩碼長度指 掩碼為l的前若干位的長度)不同的多條路由,此時,按照"最長匹配原 則",選擇掩碼長度最長的那條路由。假設接收到的IP報文的目的IP地 址為192.168.200.100,則只能匹配中路由3,根據路由3的行為字段,該 IP報文被丟棄;假設接收到的IP報文的目的IP地址為192.168.100.200, 則能匹配中路由2和路由3,由于路由2的掩碼長度更長,所以根據路由2 的行為字段,該IP報文被送CPU;若接收到的IP報文的目的IP地址為 192.168.100.100,則能匹配中路由l、路由2及路由3,由于路由1的掩 碼長度最長,所以根據路由1的行為字段,該IP報文被轉發。
假設圖3所示的路由表中尚未創造路由2和路由3時,則可以根據現 有技術執行對三層交換機直連路由的添加過程,主要包括以下步驟
(1) 三層交換機的路由表中有前綴為全0的缺省路由,即圖3中的路 由3;
(2) 三層交換機創建一個網絡接口,該網絡接口具有IP地址,用于進 行三層轉發;例如,將該網絡接口標識為R口,其IP地址及掩碼表示為 192. 168. 100. 1/24,其中,掩碼為24表示IP地址的前24位為網絡地址, 標識所在網絡,后面8位為主機地址,標識主機在網絡中的位置。
此時會在路由表中添加一條直連網絡路由,其中的前綴字段所表示的網絡是三層交換機的直連網絡,行為字段為送CPU,即圖3中的路由2;(3)當轉發芯片從非R 口的網絡接口收到目的IP地址為 192. 168. 100. 100的IP報文時,匹配中路由2,被送到CPU; CPU通過R 口往直連網絡192. 168. 100. 0/24發送目的IP為192. 168. 100. 100的地址 解斗斤十辦i義(Address Resolution Protocol,簡考爾ARP) i青求才艮文以獲取 網絡節點192.168.100.100的MAC地址;若直連網絡中存在IP地址為 192.168.100.100的網絡節點,那么三層交換機會收到相應的ARP應答報 文,并往路由表中添加一條直連主機路由,其前綴字段所表示的網絡節點 與上述直連網絡屬于同一個網段,行為字段為轉發,輸出端口號為R口, 下一跳MAC地址從ARP應答報文中獲得,即路由1。上述建立路由1的過程即可稱為路由打通過程。在路由打通后,再收到 目的IP地址為192. 168. 100. 100的IP報文,將會直接選擇路由1進行轉 發,而不再送CPU。在路由打通之前,被送到CPU的IP報文的目的是為了 進行路由打通,因此稱為路由打通報文。IP掃描攻擊是較常見的網絡攻擊方式,主要是通過發送目的IP地址 不斷變化的攻擊報文對三層交換機的端口進行掃描,利用三層交換機會將 匹配中路由表直連網絡路由的IP報文作為路由打通報文送CPU的特點,將 大量的攻擊報文送CPU,致使CPU忙于處理這些攻擊報文,占用了大量的 CPU資源。尤其是對于一些目的IP地址根本就不存在的攻擊報文,如目的 地址為192. 168. 200. 255的IP報文,由于一般的網絡不會存在255臺主機, 所以192. 168. 200. 255 —般情況下是不會存在的,這樣一來,這種攻擊報 文必然會導致路由打通失敗,從而會一直送往CPU,占用大量的CPU資源。現有三層交換機為了保護CPU不受到攻擊, 一般會提供有CPU保護功能, 其主要原理是基于報文分類,對送往CPU的IP單播報文以及其他類型報文 分別進行限速。如將IP單播報文限速為500pps(每秒報文數),在一秒內, 送往CPU的路由打通報文超過500個,超過的部分將會被丟棄;將屬于其他類型報文的橋協議數據單元(Bridge Protocol Data Unit,簡稱BPDU) 報文限速為1000pps。由于路由打通報文與BPDU報文分別屬于不同的報文 類型,因此在進行限速時彼此不會相互影響。然而,現有技術的缺陷在于IP單播報文除了上面所描述的路由打通 報文以外,還通常包括管理報文。管理報文的特點是目的IP地址為三層交 換機某個網絡接口的IP地址,用于向CPU發送管理信息。在開啟CPU保護 功能后,路由打通報文和管理報文在CPU保護功能中被作為同一種報文, 即IP單播報文進行限速。由于在限速時,不能將作為路由打通報文的攻擊 報文與正常的管理報文進行區分,從而會對管理報文的正常傳輸產生影響, 進而導致三層交換機的管理功能失效。假設管理報文具體為遠程登錄報文(telnet報文),用于跨越網絡遠程 登錄到 一個非本地的三層交換機,以實現對該三層交換機的控制管理功能。 此時,所有遠程登錄報文的目的IP地址均為三層交換機某個網絡接口的主 機地址。假設此時的網絡中還存在由于IP掃描攻擊而產生的路由打通報 文,由于遠程登錄報文與路由打通報文均屬于IP單播報文,因此,交換芯 片會將這些報文均送到CPU,并利用CPU保護功能將這些IP單播報文限速 到500pps。如圖4所示,假設交換芯片每秒收到攻擊報文1000000個,每秒收到 遠程登錄報文為200個。三層交換機收到的IP單播報文速率大大高于限速, 而且其中每收到5000個攻擊報文才有可能收到1個遠程登錄報文。因此, 根據限速,在交換芯片每秒送往CPU的500個報文中,很有可能一個遠程 登錄報文都沒有,即相當于遠程登錄報文基本上都被丟棄了,從而造成遠 程登錄功能無法正常運行。發明內容本發明的目的是提供一種路由創建方法及裝置,使得轉發芯片可以根據所創建的路由將接收到的IP報文區分成路由打通報文和管理報文,通 過對路由打通報文和管理報文分別進行限速,可以消除IP掃描攻擊對管理 功能的影響。為了實現上述目的,本發明的 一個實施例提供了 一種路由創建方法,其中包括為三層交換機的直連網絡創建網絡接口 ;為所述直連網絡創建直連網絡路由,并為所述直連網絡路由設定第一 標識;為所述網絡接口創建網關主機路由,并為所述網關主機路由設定第二 標識。為了實現上述目的,本發明的另一個實施例提供了一種轉發芯片,其 中包括存儲模塊,用于保存路由表,該路由表中具有為三層交換機直連網絡 創建的具有第 一標識的直連網絡路由,和具有第二標識的網關主機路由;匹配模塊,用于當接收到IP報文時,根據該IP報文的目的IP地址與 存儲模塊中保存的路由表進行匹配;獲取模塊,用于獲取由匹配模塊匹配中的路由的標識,并將該標識攜 帶于接收到的所述IP報文中;限速模塊,用于對攜帶有不同標識的IP報文分別進行限速。 為了實現上述目的,本發明的又一個實施例提供了一種三層交換機, 包括本發明所述的轉發芯片,并且還包括CPU,其中所述CPU包括 接收模塊,用于接收經所述轉發芯片限速后的IP報文; 管理模塊,用于在所述轉發芯片中創建和維護路由表。 通過本發明,由于針對新創建的直連網絡路由又創建了相應的網關主 機路由,使得轉發芯片可以在后續的報文匹配過程中,根據所創建的路由 將接收到的IP報文區分成對路由打通報文和管理報文,通過對路由打通報文和管理報文分別進行限速,從而既可以防止IP掃描攻擊對三層交換機CPU資源的大量占用,又可以防止限速后對三層交換機的管理功能的影響, 完善了現有CPU保護功能在防止IP掃描攻擊時還會影響正常管理功能的缺陷。下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
圖1為現有三層交換機的主要結構示意圖;圖2為現有路由表中一個路由表項的結構示意圖;圖3為現有路由表舉例示意圖;圖4為現有三層交換機受到IP掃描攻擊時的CPU保護功能實現示意圖;圖5為本發明方法實施例所述路由創建方法的流程圖;圖6為采用本發明所述路由創建方法后的IP報文傳輸示意圖;圖7為采用本發明所述路由創建方法后的CPU保護功能實現示意圖;圖8為本發明裝置實施例所述三層交換機的結構示意圖。
具體實施方式
首先需要i兌明的是,以下各實施例僅以普通的32位IP地址及掩碼進行 說明,對于其他長度的如128位的IP地址及掩碼,本發明的技術方案也同樣 適用,此處不再贅述。方法實施例本實施例提供了一種路由創建方法,如圖5所示,包括如下步驟 步驟IOI,為三層交換機的直連網絡創建直連網絡路由,并為該直連 網絡路由設定第 一標識。具體地,首先為該直連網絡創建網絡接口并配置IP地址和掩碼;然后 創建對應于該網絡接口的直連網絡路由,并為該直連網絡路由設定第 一標識。其中,網絡接口是指可觸發路由的符合網絡層協議的接口。創建所述直 連網絡路由時,可以在路由表中生成對應于所述直連網絡路由的第一路由 表項。在第一路由表項中,路由前綴的IP地址為該網絡接口所在網絡的IP地址;掩碼為該網絡接口的掩碼。第一標識用于在CPU保護功能中為匹 配中該路由的報文設定報文類型。該第一標識也可以記錄在第一路由表項 中,只有當行為字段為送CPU時才生效,上述創建過程可以由管理員通過 三層交換機的CPU完成。例如,所配置的網絡接口的IP地址為192. 168. 100. 1,掩碼為 255. 255. 255. 0,其對應的直連網絡路由的前綴可以表示為 192.168.100.0/24;行為字段為送CPU;輸出端口號字段和下一跳MAC地 址字段無效。步驟102,根據為所述網絡接口配置的IP地址,為所述網絡接口創建 網關主機路由,并為該網關主機路由設定第二標識。具體地,創建所述網關主4幾路由時,可以在路由表中生成對應于所述 網關主機路由的第二路由表項,將所述配置的IP地址作為路由表中路由前 綴的IP地址,掩碼的各個碼位均改為1,即掩碼長度為32,相應的路由前 綴可以表示為192.168.100.1/32,從而生成網關主機路由。行為字段仍然 為送CPU;輸出端口號字段和下一跳MAC地址字段無效。與第一標識類似,第二標識也用于在CPU保護功能中為匹配中該路由 的報文設定報文類型。該第二標識也可以記錄在第一路由表項中,只有當 行為字段為送CPU時才生效,上述創建過程可以由管理員通過三層交換機 的CPU完成。步驟103,當轉發芯片接收到IP報文時,根據該IP報文的目的IP地 址與路由表進4亍匹配。具體地,可以根據路由表項中的前綴字段進行匹配,每個路由表項表示一條路由,若匹配中多條路由,則根據"最長匹配原則,,選擇掩碼長度 最長的路由表項作為匹配中的路由。若該匹配中的路由所對應的路由表項的行為字段為送CPU,則執行步驟104;否則,與本發明所要解決的技術問 題無關,可以采用現有技術進行處理,此處不再贅述。此處需要說明的是,轉發芯片接收到一個報文后,在進行路由表匹配 之前還可以首先判斷該IP報文是否觸發路由。若要觸發路由,則需要滿足 兩個條件條件一,接收到的報文的端口屬于三層交換機的網絡接口,即 是可觸發路由的接口;條件二,接收到的該報文是IP報文,并且其目的 MAC地址為接收到報文的網絡接口的MAC地址。若接收到的報文觸發路由, 則執行本步驟104;否則,對該報文進行的處理與本發明無關,可以采用 現有技術進行處理,此處不再贅述。步驟104,轉發芯片獲取匹配中的路由的標識,并將該標識攜帶于接 收到的IP報文中。具體地,如果匹配中的路由為直連網絡路由,則該IP報文攜帶第一標 識;如果匹配中的路由為網關主機路由,則該IP報文攜帶第二標識。此后, 轉發芯片繼續通過步驟104及105所述方法,使接收到的其他IP報文攜帶 相應的標識。步驟105,對攜帶有不同標識的IP報文分別進行限速后,發送給所述 三層交換機的CPU。具體地,攜帶有第一標識的IP報文被轉發芯片識別為路由打通報文; 攜帶有第二標識的IP報文被轉發芯片識別為管理報文;報文被分類為管理 報文。完成管理報文和路由打通報文這兩種IP單播報文的類型區分后,分 別為這兩類報文進行限速。以下舉例i兌明如圖6所示,路由表中的路由1具有第二標識,表明該路由為網關主 機路由;路由2具有第一標識,表明該路由為直連網絡路由;路由3為缺省路由。如果轉發芯片接收到的IP報文為目的IP地址為192. 168. 100. 1 的IP單播報文,則會匹配中路由l,并攜帶第二標識,被指定類型為管理 報文;如果轉發芯片接收到的IP報文為目的IP地址為192.168.100.255 的IP單播報文,則會匹配中路由2,并攜帶第一標識,被設定類型為路由 打通纟艮文。如圖7所示,開啟CPU保護功能后,管理報文和路由打通報文作為不 同類型的IP單播報文被分別進行限速。以遠程登錄報文為例,其作為管 理報文被限速為500pps。假設此時存在IP掃描攻擊,攻擊報文作為路由 打通報文被限速為200pps。若正常的遠程登錄報文每秒會收到500個,根 據其限速,全部的500個遠程登錄報文均會被送到CPU。而攻擊報文不管 接收速度有多大,經過CPU保護功能的限速后,每秒送往CPU的只能有200 個,因此,CPU將有充分的資源可以處理所有送到的報文,從而保證了三 層交換機的管理功能運行正常。本實施例所述方法,通過對路由打通報文和管理報文進行類型區分, 并分別進行限速,從而既可以防止IP掃描攻擊對三層交換才幾CPU資源的大 量占用,又可以防止限速后對三層交換機的管理功能的影響,完善了現有 CPU保護功能在防止IP掃描攻擊時還會影響正常管理功能的缺陷。另外,與現有技術相比,現有的三層交換機在創建網絡接口時,只會 創建一條直連網絡路由而不會創建網關主機路由,因此,匹配中直連網絡 路由的IP報文,包括管理報文和路由打通報文均會被送往CPU。而本實施 例所創建的網關主機路由,匹配中的行為也是送CPU,僅從結果上說,這 條網關主機路由是多余的,因此會額外占用一定的路由表資源。但是,由 于通常的三層交換機的網絡接口一般都不會太多,通常為十幾個甚至更少, 這相對于三層交換機一般的幾千條路由表項相比,這種額外占用的影響微 乎其微。因此,用額外的十幾條路由表項換來CPU管理的穩定性仍然是非 常值得的。本實施例提供了一種三層交換機,如圖8所示,該三層交換機100包括 轉發芯片10和CPU20,其工作原理如下轉發芯片10中設置有存儲模塊11,用于保存路由表,該路由表中具 有為三層交換機100直連網絡創建的具有第一標識的直連網絡路由和具有 第二標識的網關主機路由。其中,直連網絡路由和網關主機路由都是根據 為網絡接口配置的IP地址創建的。路由表可以由管理員通過CPU20的管理 模塊22進行創建和維護。路由表中的一個路由表項表示一條路由,其具體 結構如圖2所示,此處不再贅述。當轉發芯片IO接收到IP報文時,匹配模塊12根據該IP報文的目的 IP地址與存儲模塊中保存的路由表進行匹配。若匹配中多條路由,則根據"最長匹配原則"選擇掩碼長度最長的路由表作為匹配中的路由。然后, 轉發芯片10的獲取模塊13獲取由匹配模塊12匹配中的路由的標識,并將 該標識攜帶于接收到的所述IP報文中。此處需要說明的是,該轉發芯片 10中還可以設置判斷模塊15,在匹配模塊12匹配中路由表項之后,判斷 該匹配模塊12匹配中的路由表項的行為字段是否為送CPU,當該行為字段 為送CPU時,獲取模塊13才開始獲取匹配中的路由表項的標識。若匹配模 塊12匹配中的路由所對應的路由表項的行為字段不是送CPU,則與本發明 要解決的問題無關,可以采用現有技術進行處理,此處不再贅述。然后,轉發芯片10的限速模塊14對攜帶有不同標識的IP報文分別進 行限速。具體地,是將攜帶有第一標識的IP報文識別為路由打通報文;將 攜帶有第二標識的IP報文識別為管理報文;對所述路由打通報文和管理報 文分別進行限速。CPU20中的接收模塊21用于接收經轉發芯片10限速后的發送過來的 IP報文。然后由CPU20根據其中的管理報文實現相關的管理功能;根據路 由打通報文執行相關的路由打通操作等。本實施例所述裝置,通過對路由打通報文和管理報文進行類型區分,并分別進行限速,從而既可以防止IP掃描攻擊對三層交換機CPU資源的大量占用,又可以防止限速后對三層交換機的管理功能的影響,完善了現有CPU保護功能在防止IP掃描攻擊時還會影響正常管理功能的缺陷。本領域普通技術人員可以理解實現上述方法實施例的全部或部分步驟 可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀 取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述 的存儲介質包括R0M、 RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。 最后應說明的是以上實施例僅用以說明本發明的技術方案,而非對其 限制;盡管參照前述實施例對本發明進行了詳細的iJL明,本領域的普通技術 人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或 者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。
權利要求
1、一種路由創建方法,其特征在于包括為三層交換機的直連網絡創建網絡接口;為所述直連網絡創建直連網絡路由,并為所述直連網絡路由設定第一標識;為所述網絡接口創建網關主機路由,并為所述網關主機路由設定第二標識。
2、 根據權利要求1所述的路由創建方法,其特征在于還包括 當所述三層交換機的轉發芯片接收到IP報文時,根據該IP報文的目的IP地址與路由表進行匹配;獲取匹配中的路由的標識,攜帶于接收到的所述IP報文中; 將攜帶有所述標識的IP報文發送給所述三層交換機的CPU。
3、 根據權利要求2所述的路由創建方法,其特征在于將所述IP報文發 送給所述CPU之前還包括對攜帶有不同標識的IP報文分別進行限速。
4、 根據權利要求1所述的路由創建方法,其特征在于為所述直連網絡 創建直連網絡路由包括為所述網絡接口配置IP地址和掩碼;根據配置的IP地址和掩碼,創建對應于該網絡接口的直連網絡路由; 將所述直連網絡路由對應的路由表項的行為字段設置為送CPU; 所述網絡接口創建網關主機路由包括將為所述網絡接口配置的IP地址設置為該網關主機路由的IP地址; 將各個碼位均為1的掩碼設置為該網關主機路由的掩碼; 將所述網關主機路由對應的路由表項的行為字段設置為送CPU。
5、 根據權利要求2或3所述的路由創建方法,其特征在于根據所述IP 報文的目的IP地址與路由表進行匹配包括當匹配到多條路由時,選擇掩 碼長度最長的路由作為匹配中的路由。
6、 根據權利要求2所述的路由創建方法,其特征在于獲取匹配中的路 由表項的標識包括判斷匹配中的路由表項的行為字段是否為送CPU; 當所述行為字段為送CPU時,獲取匹配中的路由表項的標識。
7、 根據權利要求3所述的路由創建方法,其特征在于對攜帶有不同標識的IP報文分別進行限速包括將攜帶有第 一標識的IP報文識別為路由打通報文; 將攜帶有第二標識的IP報文識別為管理報文;對所述路由打通才良文和管理才艮文分別進行限速。
8、 一種轉發芯片,其特征在于包括存儲模塊,用于保存路由表,該路由表中具有為三層交換機直連網絡 創建的具有第 一標識的直連網絡路由,和具有第二標識的網關主機路由;匹配模塊,用于當接收到IP報文時,根據該IP報文的目的IP地址與 存儲模塊中保存的路由表進行匹配;獲取模塊,用于獲取由匹配模塊匹配中的路由的標識,并將該標識攜 帶于接收到的所述IP報文中;限速模塊,用于對攜帶有不同標識的IP報文分別進行限速。
9、 根據權利要求8所述的轉發芯片,其特征在于還包括判斷模塊,用于判斷所述匹配模塊匹配中的路由表項的行為字段是否 為送CPU;當所述行為字段為送CPU時,所述獲取模塊才開始獲取匹配中 的路由表項的標識。
10、 一種三層交換機,包括權利要求8或9所述的轉發芯片,其特征 在于還包括CPU,所述CPU包括接收模塊,用于接收經所述轉發芯片限速后的IP報文; 管理模塊,用于在所述轉發芯片中創建和維護路由表。
全文摘要
本發明涉及一種路由創建方法、轉發芯片及三層交換機,其中方法包括為三層交換機的直連網絡創建網絡接口;為直連網絡創建直連網絡路由,為網絡接口創建網關主機路由,并分別為所述路由設定第一標識和第二標識;轉發芯片接收到IP報文時,進行路由表匹配;獲取匹配中的路由的標識,攜帶于接收到的IP報文中;對攜帶有不同標識的IP報文分別進行限速后,發送給CPU。通過本發明,既可以防止IP掃描攻擊對三層交換機CPU資源的大量占用,又可以防止限速后對三層交換機的管理功能的影響,完善了現有CPU保護功能在防止IP掃描攻擊時還會影響正常管理功能的缺陷。
文檔編號H04Q11/00GK101325554SQ20081011774
公開日2008年12月17日 申請日期2008年8月4日 優先權日2008年8月4日
發明者濤 陳 申請人:北京星網銳捷網絡技術有限公司