報文轉發(fā)方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及網絡通信技術領域,尤其涉及一種報文轉發(fā)方法及裝置。
【背景技術】
[0002]目前,實現報文轉發(fā)的方式通常包括普通路由表、策略路由表以及默認路由表等轉發(fā)方式,策略路由表包括優(yōu)先級及匹配條件均不同的前策略路由表和后策略路由表。
[0003]其中,后策略路由表是對不能命中前策略路由表和普通路由表的報文執(zhí)行指定的操作。現有技術中,對于后策略路由表的匹配通常通過具有微代碼的轉發(fā)芯片來實現,但是有些轉發(fā)芯片不支持微代碼編程,因而無法識別沒有命中IPdnternet Protocol,互聯網協議)路由表,也稱之為普通路由表,即沒有在普通路由表中查找到相匹配的路由表項的報文。
【發(fā)明內容】
[0004]本發(fā)明提供報文轉發(fā)方法及裝置,以解決現有技術中不能夠識別沒有命中普通路由表的報文的問題。
[0005]根據本發(fā)明實施例的第一方面,提供一種報文轉發(fā)方法,所述方法應用在網絡設備上,所述方法包括:
[0006]確定接收到的報文是否命中普通路由表,若否,確定所述報文命中默認路由表;
[0007]為所述報文記錄預先設定的、且作為第一策略路由表的唯一匹配條件的標識信息;
[0008]基于所述標識信息確定所述報文命中所述第一策略路由表;
[0009]基于所述第一策略路由表的優(yōu)先級高于所述默認路由表的優(yōu)先級,依據所述第一策略路由表對所述報文進行轉發(fā)。
[0010]根據本發(fā)明實施例的第二方面,提供一種報文轉發(fā)裝置,所述裝置應用在網絡設備上,所述裝置包括:
[0011]普通路由表判斷單元,用于確定接收到的報文是否命中普通路由表;
[0012]默認路由表命中單元,用于所述普通路由表判斷單元的判斷結果為否時,確定所述報文命中默認路由表;
[0013]記錄單元,用于為所述報文記錄預先設定的、且作為第一策略路由表的唯一匹配條件的標識信息;
[0014]第一策略路由表命中單元,用于基于所述標識信息確定所述報文命中所述第一策略路由表;
[0015]轉發(fā)單元,用于基于所述第一策略路由表的優(yōu)先級高于所述默認路由表的優(yōu)先級,依據所述第一策略路由表對所述報文進行轉發(fā)。
[0016]由本發(fā)明實施例可見,對于確定為命中默認路由表的報文,為該報文記錄預先設定的,作為第一策略路由表的唯一匹配條件的標識信息,并基于該標識信息確定報文命中第一策略路由表,基于優(yōu)先級較高的第一策略路由表對該報文進行轉發(fā)。從而,不僅實現了通過第一策略路由表能夠識別出沒有命中普通路由表的報文,而且降低了芯片成本,并且只需要一條第一策略匹配規(guī)則就可以識別全部未命中普通路由表的報文,簡化了第一策略路由表的軟件處理流程。
【附圖說明】
[0017]圖1是本發(fā)明報文轉發(fā)實施例的應用場景示意圖;
[0018]圖2是本發(fā)明報文轉發(fā)方法的一個實施例流程圖;
[0019]圖3是本發(fā)明報文轉發(fā)方法中配置默認路由表的一個實施例示意圖;
[0020]圖4是本發(fā)明報文轉發(fā)方法中配置默認路由表的另一個實施例示意圖;
[0021]圖5是本發(fā)明報文轉發(fā)裝置所在設備的一種硬件結構圖;
[0022]圖6是本發(fā)明報文轉發(fā)裝置的一個實施例框圖。
【具體實施方式】
[0023]為了使本技術領域的人員更好地理解本發(fā)明實施例中的技術方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明實施例中技術方案作進一步詳細的說明。
[0024]現有方案中,基于普通路由表的報文轉發(fā)通常是網絡設備根據報文的目的IP地址查找普通路由表,根據查找結果來對報文進行轉發(fā)的方式。當普通路由表中沒有與報文的目的IP地址相匹配的表項時,則采用默認路由表的方式對報文進行處理。
[0025]基于前策略路由表的報文轉發(fā)是指由網絡設備判斷報文中設定段的內容,如用戶自定義規(guī)則,報文的目的MAC (Media Access Control,媒體訪問控制)地址、端口信息等是否與前策略ACL(Access Control List,訪問控制列表)規(guī)則相匹配,如果匹配則對該報文執(zhí)行前策略指定的操作。
[0026]基于后策略路由表的報文轉發(fā)則是對不能命中前策略路由表和普通路由表的報文執(zhí)行指定的操作。通常通過具有微代碼編程功能的轉發(fā)芯片來實現,該轉發(fā)芯片可以對報文轉發(fā)流程進行編程以識別沒有命中普通路由表的報文,在配置后策略ACL規(guī)則的時候可以匹配所編程的信息,從而基于后策略路由表進行報文的轉發(fā)。
[0027]現有技術中,對報文通常按照以下方式進行判斷和轉發(fā):
[0028]第一種方式:先判斷報文是否命中普通路由表,對于未命中普通路由表的報文,確定命中默認路由表;然后再判斷報文是否命中前策略路由表及后策略路由表;在判斷過程中,記錄報文的命中結果,例如某報文既命中了前策略路由表也命中了普通路由表,某報文既命中了后策略路由表也命中了默認路由表,某報文僅命中了默認路由表等;最后基于報文的命中結果、前策略路由表的優(yōu)先級高于普通路由表的優(yōu)先級、以及后策略路由表的優(yōu)先級高于默認路由表的優(yōu)先級對報文進行轉發(fā),其中默認路由表的轉發(fā)結果為丟棄。
[0029]第二種方式:先判斷報文是否命中前策略路由表,然后判斷報文是否命中普通路由表,對于未命中普通路由表的報文,確定命中默認路由表;之后再判斷報文是否命中后策略路由表;在判斷過程中,同樣記錄報文的命中結果;最后基于報文的命中結果、前策略路由表的優(yōu)先級高于普通路由表的優(yōu)先級、以及后策略路由表的優(yōu)先級高于默認路由表的優(yōu)先級對報文進行轉發(fā),其中默認路由表的轉發(fā)結果為丟棄。
[0030]在上述轉發(fā)過程中,當用于實現后策略路由表的轉發(fā)芯片不支持微代碼編程時,由于邏輯流程已固化,因而無法識別沒有命中普通路由表的報文,導致報文無法按照實際需求進行轉發(fā);而且即使預先將轉發(fā)芯片配置了能夠識別沒有命中普通路由表的報文的流程,也需要很高的成本。
[0031]參見圖1,為本發(fā)明報文轉發(fā)實施例的應用場景示意圖,在該網絡架構中,網絡設備一端連接網絡,另一端連接終端,例如PC (Personal Computer,個人計算機),也可以連接服務器。圖1中僅示出了一臺網絡設備,實際應用中可以包含連接的若干網絡設備。該網絡設備可以具體為網絡中的交換機、路由器等用于轉發(fā)報文的設備,用于將來自網絡或終端的報文進行轉發(fā)。
[0032]參見圖2,為本發(fā)明報文轉發(fā)方法的一個實施例流程圖,該方法從網絡設備側描述,該方法包括如下步驟:
[0033]步驟201、確定接收到的報文是否命中普通路由表,若否,確定所述報文命中默認路由表。
[0034]本實施例中,對于接收到的報文,可以根據該報文的IP地址查找普通路由表,如果普通路由表中沒有對應于該報文的路由表項,則確定該報文命中默認路由表。如果在普通路由表中有對應于該報文的路由表項,則確定該報文命中普通路由表。
[0035]在一個可能的實現方式中,記錄報文的命中結果:確定報文命中默認路由表之后,將默認路由表的標識與該報文對應的進行記錄,以表明該報文命中了默認路由表。確定報文命中普通路由表之后,將普通路由表的標識與該報文對應的進行記錄,以表明該報文命中了普通路由表。
[0036]步驟202、為該報文記錄預先設定的、且作為第一策略路由表的唯一匹配條件的標識信息。
[0037]本實施例中,第一策略路由表可以為前述后策略路由表。該作為后策略路由表的唯一匹配條件的標識信息可以為:保留的等價組ID、保留的下一跳ID,還可以為數字等標識。也就是說,確定報文命中默認路由表之后,除了記錄默認路由表的標識,還記錄該作為后策略路由表的唯一匹配條件的標識信息,用于與后策略路由表進行匹配,從而使命中默認路由表的報文命中后策略路由表。
[0038]對于默認路由表,網絡設備可以預先通過讀取配置文件來確定是否已配置默認路由表,例如在開機時網絡設備就可以進行判斷。
[0039]在一個可選的實現方式中,網絡設備通過讀取自身的配置文件并查找配置文件中是否有對應于默認路由表的命令行來進行判斷。如果能夠查找到該對應的命令行,則網絡設備判斷為預先配置有默認路由表,如果查找不到該對應的命令行,則網絡設備判斷為沒有預先配置默認路由表。
[0040]如果判斷為未配置默認路由表,則網絡設備可以生成默認路由表并下發(fā)該默認路由表,那么在本步驟中,確定報文命中該下發(fā)的默認路由表。無論報文命中預先配置的默認路由表還是命中下發(fā)的默認路由表,都為該報文記錄默認路由表的標識以及預先設定的、作為后策略路由表的唯一匹配條件的標識信息。
[0041]在一個可選的實現方式中,發(fā)往該標識信息的下一跳地址的報文都會被丟棄,以此防止報文默認轉發(fā)。<