亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種清除快速轉發(fā)表項的方法和裝置與流程

文檔序號:11148095閱讀:392來源:國知局
一種清除快速轉發(fā)表項的方法和裝置與制造工藝

本申請涉及網(wǎng)絡通信技術領域,特別涉及一種清除快速轉發(fā)表項的方法和裝置。



背景技術:

在相關技術中,為了實現(xiàn)報文的快速轉發(fā),轉發(fā)設備可以將首次接收到的報文上送至CPU,CPU在對上送的報文進行路由信息查找,并基于查找到的路由信息轉發(fā)完成后,通常可以利用該報文的會話信息以及該路由信息建立快速轉發(fā)表項。后續(xù)轉發(fā)設備再次接收到同一會話的報文時,則可以將該報文與創(chuàng)建完成的快速轉發(fā)表項進行匹配,然后基于匹配的快速轉發(fā)表項來轉發(fā)該報文,而不再需要將該報文上送至CPU進行查表轉發(fā)。由快速轉發(fā)表項生成快速轉發(fā)表,然后將接收到的報文基于匹配中的快速轉發(fā)表項轉發(fā)出去。

然而,在實際應用中,由于快速轉發(fā)表項是基于路由信息生成的,因而當路由信息發(fā)生變化時,與該路由信息相關的所有的快速轉發(fā)表項也需要更新,如果未及時更新快速轉發(fā)表項,仍然按照原來的快速轉發(fā)表項轉發(fā)報文,可能會造成某些特殊應用的報文(比如某些UDP協(xié)議的計費報文)命中未及時更新的快速轉發(fā)表而轉發(fā)錯誤。



技術實現(xiàn)要素:

有鑒于此,本申請?zhí)峁┮环N清除快速轉發(fā)表項的方法和裝置,應用于轉發(fā)設備。

具體地,本申請是通過如下技術方案實現(xiàn)的:

一種清除快速轉發(fā)表項的方法,應用于轉發(fā)設備,包括:

將接收到的報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配;

基于匹配中的快速轉發(fā)表項中記錄的信息,判斷與所述報文對應的路由信息是否發(fā)生變化;

如果與所述報文對應的路由信息發(fā)生變化,則在所述報文的目的端口命中指定端口時,清除與該報文對應的快速轉發(fā)表項。

一種清除快速轉發(fā)表項的裝置,應用于轉發(fā)設備,包括:

匹配單元,用于將接收到的報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配;

判斷單元,用于基于匹配中的快速轉發(fā)表項中記錄的信息,判斷與所述報文對應的路由信息是否發(fā)生變化;

清除單元,用于如果與所述報文對應的路由信息發(fā)生變化,則在所述報文的目的端口命中指定端口時,清除與該報文對應的快速轉發(fā)表項。

由以上本申請示出的技術方案可見,通過將接收到的報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配;然后基于匹配中的快速轉發(fā)表項中記錄的信息,判斷與所述報文對應的路由信息是否發(fā)生變化;如果與所述報文對應的路由信息發(fā)生變化,則在所述報文的目的端口命中指定端口時,清除與所述報文對應的快速轉發(fā)表項,從而

轉發(fā)設備在接收到的與指定端口對應的應用發(fā)出的報文時,如果與該報文對應的路由信息發(fā)生變化,及時將與該報文匹配的快速轉發(fā)表項清除,從而避免該報文命中未及時更新的快速轉發(fā)表項而造成錯誤轉發(fā)。

附圖說明

圖1為本申請一示例性實施例示出的一種清除快速轉發(fā)表項的方法流程圖;

圖2為本申請一示例性實施例示出的一種清除快速轉發(fā)表項的裝置所在的轉發(fā)設備的硬件結構圖;

圖3為本申請一示例性實施例示出的一種清除快速轉發(fā)表項的裝置。

具體實施方式

這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。

在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。

應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。

在相關技術中,轉發(fā)設備可以將首次接收到的報文上送至CPU,CPU可以對該報文進行路由查找。CPU查找到對應于該報文的路由信息后,可以將該報文基于該路由信息進行轉發(fā)。然后轉發(fā)設備可以基于該報文的路由信息,以及該報文的會話信息;比如,該會話信息可以是該報文的五元組(源IP,源端口,目的IP,目的端口,協(xié)議號),生成對應的快速轉發(fā)表項。此時生成的快速轉發(fā)表項中,記錄了報文轉發(fā)時的封裝信息、接口信息以及下一跳信息等。

當生成了快速轉發(fā)表項后,可以將生成的快速轉發(fā)表項添加至快速轉發(fā)表中,當轉發(fā)設備再次接收到同一會話下的后續(xù)報文后,可以基于該快速轉發(fā)表對接收到的報文進行匹配,如果匹配中快速轉發(fā)表中的某條表項時,可以根據(jù)該匹配中的表項中所對應的轉發(fā)信息,將該報文進行轉發(fā),而不必需要將該報文上送至CPU進行查表轉發(fā),從而可以加快報文轉發(fā)的速度。

然而,由于所述快速轉發(fā)表與路由表中的路由信息相關,如果路由信息發(fā)生改變,此時快速轉發(fā)表中與該路由信息相關的所有快速轉發(fā)表項未及時更新,在這樣的情況下,如果將命中未及時更新的快速轉發(fā)表項的報文,仍然按照原來的快速轉發(fā)表項進行報文轉發(fā),那么會造成某些特殊應用的報文;比如,某些UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)的計費報文命中未及時更新的快速轉發(fā)表項而轉發(fā)錯誤。

為了解決相關技術中的問題,本申請?zhí)峁┝艘环N清除快速轉發(fā)表項的方法,應用于轉發(fā)設備,通過將接收到的報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配;然后基于匹配中的快速轉發(fā)表項中記錄的信息,判斷與所述報文對應的路由信息是否發(fā)生變化;如果與所述報文對應的路由信息發(fā)生變化,則在所述報文的目的端口命中指定端口時,清除與所述報文對應的快速轉發(fā)表項。

如果轉發(fā)設備在接收到的與指定端口對應的應用發(fā)出的報文時,如果與該報文對應的路由信息發(fā)生變化,及時將與該報文匹配的快速轉發(fā)表項清除,從而避免該報文命中未及時更新的快速轉發(fā)表項而造成錯誤轉發(fā)。

請參見圖1,圖1為本申請一示例性實施例示出一種清除快速轉發(fā)表項的方法流程圖,應用于轉發(fā)設備,具體執(zhí)行以下步驟:

步驟101:將接收到的報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配;

在轉發(fā)設備接收到目標應用的首次報文時,可以將該報文上送至CPU,然后CPU可以根據(jù)該報文查找路由表中的路由信息,將該報文基于查找到的路由信息轉發(fā)出去。該報文轉發(fā)出去之后,可以根據(jù)該報文對應的路由信息,以及該報文的會話信息;比如,該會話信息可以是該報文的五元組(源IP,源端口,目的IP,目的端口,協(xié)議號),創(chuàng)建快速轉發(fā)表項,然后將該快速轉發(fā)表項添加至快速轉發(fā)表。

當轉發(fā)設備再次接收到同一會話下的后續(xù)報文時,可以將該報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配,然后按照匹配中快速轉發(fā)表項中記錄的轉發(fā)信息(出接口,下一跳,封裝信息等)將該報文直接轉發(fā)出去,不需要再將該報文上送至CPU,再進行軟件層面的處理。

由于所述快速轉發(fā)表中的快速轉發(fā)表項是根據(jù)路由表中的路由信息來創(chuàng)建的,因此為了保證快速轉發(fā)表中的快速轉發(fā)表項的時效性,可以通過檢測路由信息是否發(fā)生變化,并在路由信息發(fā)生變化時,及時地對與該路由信息對應的快速轉發(fā)表項進行更新。

在本例中,為了標識每一條快速轉發(fā)表項對應的路由信息的變化情況,轉發(fā)設備為每一條路由信息分別設置一個魔術字寄存器。該魔術字寄存器用于存儲魔術字的取值,該魔術字的取值與所述路由信息同步變化。

在示出的一種實施方式中,本端轉發(fā)設備可以運行路由學習協(xié)議,基于路由學習周期,主動地向相鄰轉發(fā)設備學習路由信息,然后根據(jù)當前路由周期學習到的路由信息,以及上一路由周期學習到的路由信息,將這兩個路由周期學習到的路由信息進行比較,然后判斷相鄰路由周期學習到的路由信息,是否發(fā)生變化。

如果學習到的路由信息發(fā)生變化,則可以更新與該路由信息對應的魔術字寄存器中記錄的魔術字的取值,并將路由表中原來的路由信息進行刪除,將當前路由學習周期學習到的路由信息添加至路由表中。如果學習到的路由信息沒有發(fā)生變化,則可以將當前路由學習周期學習到的路由信息刪除,保持路由表中的路由信息不變。

在本例中轉發(fā)設備還可以在快速轉發(fā)表項中添加魔術字字段,所述魔術字字段用于存儲生成該快速轉發(fā)表項所使用的路由信息對應的魔術字寄存器中存儲的初始魔術字的取值。

當轉發(fā)設備接收到報文時,可以將該報文與快速轉發(fā)表中的表項進行一一匹配,如果該報文沒有命中快速轉發(fā)表中任一快速轉發(fā)表項,則可以將該報文上送至CPU,然后由CPU查找與該報文對應的路由信息,接著根據(jù)查找到的路由信息,以及該報文的會話信息(比如五元組信息),創(chuàng)建與該報文對應的快速轉發(fā)表項,然后讀取與該路由信息對應的魔術字寄存器中記錄的魔術字的取值,并將讀取到的魔術字的取值記錄至該快速轉發(fā)表項中的魔術字字段中,然后將該快速轉發(fā)表項添加至快速轉發(fā)表中。

步驟102:基于匹配中的快速轉發(fā)表項中記錄的信息,判斷與所述報文對應的路由信息是否發(fā)生變化;

當轉發(fā)設備接收到的報文,匹配中快速轉發(fā)表中的某一個快速轉發(fā)表項時可以讀取該快速轉發(fā)表項的魔術字字段中記錄的取值,然后將該取值與生成該快速轉發(fā)表項時所使用的路由信息對應的魔術字寄存器中存儲的魔術字的取值進行比較,從而來判斷所述報文對應的路由信息是否發(fā)生了變化。

在示出的一種實施方式中,當轉發(fā)設備接收到的報文與快速轉發(fā)表中的表項匹配完之后,如果該報文匹配中快速轉發(fā)表中的某一個快速轉發(fā)表項,轉發(fā)設備可以讀取該報文匹配中的快速轉發(fā)表項的魔術字字段中記錄的取值。

轉發(fā)設備提取出該快速轉發(fā)表項的魔術字字段中記錄的魔術字的取值后,與生成該快速轉發(fā)表項時所使用的路由信息對應的魔術字寄存器中的魔術字的取值進行比較,判斷該快速轉發(fā)表項中記錄的魔術字的取值,與生成該快速轉發(fā)表項時所使用的路由信息對應的魔術字寄存器中的魔術字的取值是否相等。

如果該快速轉發(fā)表項中記錄的魔術字的取值,與生成該快速轉發(fā)表項時所使用的路由信息對應的魔術字寄存器中的魔術字的取值相等,則表明生成該快速轉發(fā)表項時所使用的路由信息沒有發(fā)生變化,即與轉發(fā)設備接收到的報文對應的路由信息沒有發(fā)生變化。

如果該快速轉發(fā)表項中記錄的魔術字的取值,與生成該快速轉發(fā)表項時所使用的路由信息對應的魔術字寄存器中的魔術字的取值不相等,則表明生成該快速轉發(fā)表項時所使用的路由信息發(fā)生了變化,即與轉發(fā)設備接收到的報文對應的路由信息發(fā)生了變化。

步驟103:如果與所述報文對應的路由信息發(fā)生變化,則在所述報文的目的端口命中指定端口時,清除與該報文對應的快速轉發(fā)表項。

其中,在本實施例中,轉發(fā)設備可以預先申請了一個寄存器,定義為特殊端口寄存器,所述特殊端口寄存器中存儲了若干指定端口;

例如,如果想要在路由信息發(fā)生變化時,對若干特殊應用發(fā)出的報文所對應的快速轉發(fā)表項及時清除,則可以將該若干特殊應用的目的端口設置為指定端口,然后將該若干指定端口存儲至該特殊端口寄存器中;比如某些特殊應用發(fā)出的基于UDP端口的計費報文,這些報文為單向流量,對于這些報文的目的端口,需要被放入特殊端口寄存器中。

當轉發(fā)設備接收到的報文命中快速轉發(fā)表中的某一個快速轉發(fā)表項,且生成該快速轉發(fā)表項時所使用的路由信息發(fā)生了變化時,可以將該報文的目的端口與所述特殊端口寄存器中存儲的指定端口進行匹配,然后判斷該報文的目的端口命中所述特殊端口寄存器中的指定端口時,可以清除與該報文對應的快速轉發(fā)表項。

在示出的一種實施方式中,如果與轉發(fā)設備接收到的報文對應的路由信息發(fā)生變化,可以將該報文的目的端口與所述特殊端口寄存器中存儲的指定端口進行匹配,判斷該報文的目的端口是否命中所述特殊端口寄存器中存儲的指定端口。

如果該報文的目的端口命中所述特殊端口寄存器中存儲的指定端口,則可以將該報文匹配中的快速轉發(fā)表項清除。

通過這種方式,當與指定端口對應的應用所發(fā)出的報文命中快速轉發(fā)表中的快速轉發(fā)表項,且生成該快速轉發(fā)表項時所使用的路由信息發(fā)生變化時,可以及時地將該快速轉發(fā)表項進行清除,比如某些特殊應用發(fā)出的基于UDP端口的計費報文,及時將該計費報文匹配中的快速轉發(fā)表項進行清除,可以避免該計費報文的錯誤轉發(fā)。

在本例中,當轉發(fā)設備將與該報文對應的快速轉發(fā)表項清除后,可以將該報文上送至CPU,由CPU查找對應于該報文的路由信息對該報文進行轉發(fā)處理,在該報文進行轉發(fā)之后,可以基于CPU查找到的與該報文對應的路由信息,以及該報文的會話信息,為該報文重新創(chuàng)建新的快速轉發(fā)表項;

一方面,當為該報文重新創(chuàng)建新的快速轉發(fā)表項后,可以將與該報文對應的路由信息所對應的魔術字寄存器中存儲的魔術字的當前取值,記錄至該新創(chuàng)建的快速轉發(fā)表項中;

另一方面,當將魔術字寄存器中存儲的魔術字的當前取值,記錄至該新創(chuàng)建的快速轉發(fā)表項中后,可以將該新創(chuàng)建的快速轉發(fā)表項下發(fā)至快速轉發(fā)表中,以完成對快速轉發(fā)表中的表項的及時更新。

通過這種方式,轉發(fā)設備可以將未及時更新的快速轉發(fā)表項清除,然后將該報文上送至CPU,由CPU查找與該報文對應的路由信息,然后基于查找的路由信息將該報文進行轉發(fā)。該報文轉發(fā)之后,轉發(fā)設備可以基于該路由信息,以及該報文的會話信息,重新創(chuàng)建新的快速轉發(fā)表項。創(chuàng)建完對應于該報文的快速轉發(fā)表項之后,CPU可以將該快速轉發(fā)表項下發(fā)至快速轉發(fā)表中,從而可以在路由信息發(fā)生變化時,及時地更新與該路由信息對應的快速轉發(fā)表項。當然,如果與轉發(fā)設備接收到的報文對應的路由信息發(fā)生變化,且該報文的目的端口沒有命中所述特殊端口寄存器中的指定端口,則可以基于所述快速轉發(fā)表中該報文匹配中的快速轉發(fā)表項,對該報文進行轉發(fā)。

由以上本申請示出的技術方案可見,通過將接收到的報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配;然后基于匹配中的快速轉發(fā)表項中記錄的信息,判斷與所述報文對應的路由信息是否發(fā)生變化;如果與所述報文對應的路由信息發(fā)生變化,則在所述報文的目的端口命中指定端口時,清除與所述報文對應的快速轉發(fā)表項。

如果轉發(fā)設備在接收到的與指定端口對應的應用發(fā)出的報文時,如果與該報文對應的路由信息發(fā)生變化,及時將與該報文匹配的快速轉發(fā)表項清除,從而避免該報文命中未及時更新的快速轉發(fā)表項而造成錯誤轉發(fā)。與前述一種清除快速轉發(fā)表項的方法的實施例相對應,本申請還提供了一種清除快速轉發(fā)表項的裝置的實施例。

本申請一種清除快速轉發(fā)表項的裝置的實施例可以應用在轉發(fā)設備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在轉發(fā)設備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。從硬件層面而言,如圖2所示,為本申請一種清除快速轉發(fā)表項的裝置所在轉發(fā)設備的一種硬件結構圖,除了圖2所示的處理器、內存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的轉發(fā)設備通常根據(jù)該清除快速轉發(fā)表項的實際功能,還可以包括其他硬件,對此不再贅述。

請參考圖3,圖3為本申請一示例性實施例示出的一種清除快速轉發(fā)表項的裝置,應用于轉發(fā)設備,所述裝置包括,匹配單元310,判斷單元320,清除單元330。

其中,所述匹配單元310,用于將接收到的報文與快速轉發(fā)表中的快速轉發(fā)表項進行匹配;

所述判斷單元320,用于基于匹配中的快速轉發(fā)表項中記錄的信息,判斷與所述報文對應的路由信息是否發(fā)生變化;

所述清除單元330,用于如果與所述報文對應的路由信息發(fā)生變化,則在所述報文的目的端口命中指定端口時,清除與該報文對應的快速轉發(fā)表項。

在本實施例中,所述轉發(fā)設備中針對路由信息分別預設了對應的魔術字寄存器;所述魔術字寄存器中存儲的魔術字的取值與所述路由信息同步變化。

所述裝置還包括:

學習單元,用于基于路由學習周期,向相鄰設備主動學習路由信息;

比較單元,用于將當前路由學習周期學習到的路由信息,與上一路由學習周期學習到的路由信息進行比較,以判斷學習到的路由信息是否發(fā)生變化;

更新單元,用于如果該路由信息發(fā)生變化,則更新與該路由信息對應的魔術字寄存器中存儲的魔術字的取值。

在這樣的情況下,所述判斷單元320,具體用于:

讀取匹配中的快速轉發(fā)表項中記錄的魔術字的取值;

判斷所述轉發(fā)表項中的記錄的魔術字的取值,與生成所述快速轉發(fā)表項所使用的路由信息對應的魔術字寄存器中存儲的當前魔術字的取值是否相等;

如果不相等,確定所述報文對應的路由信息發(fā)生變化;

如果相等,確定所述報文對應的路由信息未發(fā)生變化。

另外,所述裝置還包括:

上送單元,用于在清除與所述報文對應的快速轉發(fā)表項后,將該報文上送至CPU,由CPU查找對應于該報文的路由信息對該報文進行轉發(fā)處理;

創(chuàng)建單元,用于基于CPU查找到的路由信息,以及該報文的會話信息,為所述報文重新創(chuàng)建新的快速轉發(fā)表項;以及

將與該路由信息對應的魔術字寄存器中存儲的魔術字的當前取值記錄至所述新的快速轉發(fā)表項中。

轉發(fā)單元,用于如果與所述報文對應的路由信息發(fā)生變化,且該報文的目的端口未命中所述指定端口,則基于所述快速轉發(fā)表項針對該報文進行轉發(fā)。

上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。

對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1