專利名稱::一種路由表容量調節(jié)裝置的制作方法
技術領域:
:本實用新型涉及一種路由表容量調節(jié)裝置,屬于數據通信
技術領域:
。
背景技術:
:隨著互聯網技術的普及和壯大,路由設備已經成為不可缺少的網絡設備。路由設備支持的協議也越來越多,如開》支式最短;洛徑優(yōu)先(OpenShortestPathFirst,簡稱0SPF)協議(有3個版本),路由信息協議(RoutingInformationProtocol,簡稱RIP)(有2個版本),因特網組管理協議(InternetGroupManagementProtocol,簡稱IGMP),組播偵聽者發(fā)現(MulticastListenerDiscovery,簡稱MLD)協議等。這些路由協議可以橫向的分為單播路由協議(如0SPF和RIP)和組播路由協議(如IGMP),而縱向的又可分為互聯網協議第四版(InternetProtocolversion4,簡稱IPv4)協議(如0SPF中的第一和第二版本(筒稱0SPFvl/v2),IGMP)和互聯網協議第六版(InternetProtocolversion6,簡稱IPv6)協議(如0SPF的第三版本(簡稱0SPFv3),MLD),分析各種協議的異同,那么從路由表實現技術上劃分,可以將各種路由技術劃分為IPv4單播(0SPFvl/v2,RIP),IPv4組播(IGMP),IPv6單播(0SPFv3,下一代路由信息協議(RIPforIPv6,簡稱RIPng))和IPv6組播(MLD)。^口下表所示<table>tableseeoriginaldocumentpage4</column></row><table>可以說,各種路由協議,都是在這4種技術的基礎上,針對各種需求(如性能或規(guī)模的要求)而演變的。因此各種網絡設備,特別是由專用芯片來實現這些技術的網絡設備,如三層交換機,大都為這4種技術分別預留了相應大小容量的路由表資源。例如支持1024條IPv4單播路由,256條IPv4組播路由,512條IPv6單播路由和128條IPv6組播路由。那么相應的0SPFvl協議只能產生最多1024條IPv4路由,IGMP只能產生最多256條IPv4組播組,0SPFv3只能產生最多512條的IPv6單播路由,同樣MLD也只能產生128條的IPv6組播路由。但在一個具體的網絡中,不一定會同時啟用所有的協議。例如只啟用了IPv4單播和IPv6單播,那么IPvA組播和IPv6組播占用的資源就被閑置了。通過以下分析,會發(fā)現這些閑置資源可以被重新分配給其它需要資源的路由功能。下面以一款專用芯片的路由表為例,介紹多協議共享路由表情況。圖1為某款專用芯片的路由表表項結構示意圖,圖中Array代表列,Row代表行,Entry表示表項單元,32比特數據(32-bitdata)用于存儲IP地址,32比特掩碼(32-bitmask)用于存儲網絡掩碼,48比特數據(48-bitdata)用于存儲IP地址和表項標識(ID),48比特掩碼(48-bitmask)用于存儲網絡掩碼,有效比特(validbit)表示該表項是否有效,1為有效,O為無效,類型比特(Typebit)表示本行是否是用于存儲IPv6前綴。下面以圖l為例介紹IPv4單播,IPv4組播,IPv6單播,及IPv6組播如何利用這張路由表。對于IPv4單播,圖1中共有4096個單元,每個單元都可以存儲一個32位的IP地址,及對應的掩碼。因此可以存儲4096條IPv4單播路由。專用芯片接收到IPv4單播報文后,提取報文的目的IP地址,并與表中的所有有效單元對比,如果匹配成功,則說明表中有對應的路由。對于IPv4組播,有(*,G)和(S,G)模式之分(區(qū)別在于如何識別組播組,前者只識別才艮文的目的IP地址,后者除了識別目的IP地址外,還要求識別源IP地址),其中G代表組播-路由的目的IP地址,S代表組播路由的源IP地址,(*,G)模式與IPv4單播匹配路由表的情況相同,這里只分析(S,G)模式。在(S,G)模式下,除了對比目的IP地址外,還要比對源IP地址,專用芯片匹配到目的IP地址后,會得到目的IP地址在表中的表項ID,再使用此ID和源IP地址作為索引與表中Arrayl和Array2的單元匹配。對于IPv4組播,其源IP地址只能存儲在Arrayl和Array2中,因為需要存儲對應的目的IP地址前綴對應的ID,其中此ID就是存儲在Arrayl或Array2的高16bit(低32bit用于存儲源IP地址)。因此,對于IPv4組^番,支持的i各由表項最多為2048條。對于IPv6單播,因為IPv6地址是16字節(jié)的,因此上表中,每一行只能存儲一條IPv6前綴。專用芯片通過識別Type位是否為1,得知這一行是否是用于存儲IPv6前綴。因此,IPv6單播路由容量最多是1024條。對于IPv6組播,同樣也有(*,G)和(S,G)模式之分,",G)模式與IPv6單播相同,這里也只分析(S,G)模式。在(S,G)模式下,除了對比目的IP地址外,還要比對源IP地址,專用芯片匹配到目的IP地址后,會得到目的IP地址在表中的表項ID,再使用此ID和源IP地址作為索引與表中每一行匹配,其中ID在Arrayl的存儲空間是高16bit匹配(Array2的高16位為0)。因此,對于IPv6組播,一條(S,G)模式的組播路由,需要2行的存儲空間,G(目的IP地址)一行,S(源IP地址)一行,所以支持的最多路由表項是512條。專用芯片收到IPv4報文后,會從表的第一個單元檢索到最后一個單元;收到IPv6報文會從表的第一行片企索到最后一行,因此理論上,可以不做固定分區(qū),即可以采用先到先得的原則分配資源。但這種機制復雜,容易產生碎片。因此普遍采用固定分區(qū)的做法(一個版本的軟件只能有一種分區(qū)方案),即在系統(tǒng)初始化時,將路由表進行劃分,如圖2所示1024單元到1279單元,和2048單元到2303單元,共512個單元用于存儲IPv4組播的源IP地址,即第(M亍到255行,都用于IPv4組l番,共支持512條IPv4組播。第256行到511行用于IPv6組播,共128條表項。第512行到767行用于IPv6單播,共256條表項。第768行到1023行用于IPv4單播,共256x4=1024條表項。如果沒有嚴格的分區(qū),那么IPv4單播的前綴有可能存儲到路由表的任意地方,經過一系列的添加刪除操作后,必然會出現碎片。例如首先添加8條IPv4前綴,分別填在0單元,1024單元,2048單元,3072單元,l單元,1Q25單元,2Q49單元,3G73單元,2單元,1026單元,.2050單元,3074單元,3單元,1027單元,2051單元,3075單元。再刪除其中的0單元,1025單元,2050單元,3075單元,那么這時再添加一條IPv6單播前綴就不能添加在第O行到第3行中了。而實際上經過碎片整理后,是可以的,但增加碎片整理模塊,會導致系統(tǒng)復雜度增加,并且也會增加系統(tǒng)的消耗。如果采用固定分區(qū)法對路由表進行劃分,則不用考慮碎片問題,因為在指定的區(qū)域內,申請和釋放的資源塊大小都是相等的。但是,在沒有全部使用各項功能情況下,就會導致部分資源不能被充分的利用。例如只使用IPv4單播時,IPv4組播,IPv6單播,IPv6組播等功能占用的資源將無法得到利用。
實用新型內容本實用新型的目的是提供一種路由表調節(jié)裝置,可以根據實際網絡需要靈活調整各種路由表容量,提高路由表的資源利用率。為了實現上述目的,本實用新型提供了一種路由表容量調節(jié)裝置,包括參數接收單元、參數保存單元、存儲單元、參數解析單元和參數配置單元;7所述參數接收單元用于接收輸入的路由表容量調節(jié)參數的設置參數值;所述參數保存單元與參數接收單元連接,用于將所述設置參數值保存在配置文件中;所述存儲單元與參數保存單元連接,用于存儲配置文件;所述參數解析單元與存儲單元連接,用于讀取配置文件內容,并根據所述配置文件內容解析出路由表容量調節(jié)參數的解析參數值;所述參數配置單元與參數解析單元連接,用于才艮據所述解析參數值配置路由表容量。本實用新型通過設置路由表容量調節(jié)參數對路由表共享區(qū)間的容量進行調節(jié),采用一種可變分區(qū)方法,綜合了固定分區(qū)和無分區(qū)方法的優(yōu)點,既提高了路由表的資源利用率,又保持了較低的系統(tǒng)復雜度和避免碎片整理對系統(tǒng)資源的額外消耗。圖1為路由表表項結構示意圖圖2為路由表空間劃分示意圖圖3為本實用新型路由表空間劃分示意圖圖4為本實用新型一種路由表容量調節(jié)裝置實施例一示意圖圖5為本實用新型一種路由表容量調節(jié)裝置實施例二示意圖圖6為本實用新型一種路由表容量調節(jié)裝置實施例三示意圖圖7為本實用新型一種路由表容量調節(jié)裝置實施例四示意圖圖8為本實用新型一種路由表容量調節(jié)裝置實施例五示意圖具體實施方式對網絡設備使用習慣分析,可以發(fā)現一個網絡中運行的協議是比較穩(wěn)定的,很少出現今天啟用IPv4組播,明天又停止使用的情況。基于這個特點,我們引入對路由表進行容量調節(jié)的裝置,在每次系統(tǒng)初始化過程中,完成從配置文件讀取路由表容量調節(jié)參數,對路由表重新進行容量劃分,使得用戶可自行調整設定各種路由表容量。例如2臺同樣型號的設備,出廠時路由表容量缺省分配如圖2所示IPv4單播1024條,IPv4組播512條,IPv6單播256條,IPv6組播128條。而用戶A只需要使用IPv4單播路由和IPv4組播,并且對IPv4單播容量要求較大,則路由表容量可以調節(jié)成如圖3所示。而對用戶B只需要IPv豸單播路由,那么IPv々單播路由表容量可以達到4096條。以下結合附圖對本實用新型進行具體的說明。圖4為本實用新型一種路由表容量調節(jié)裝置實施例一示意圖,包括參數接收單元M1、參數保存單元M2、存儲單元M3、參數解析單元M4和參數配置單元M5;所述參數接收單元Ml用于接收輸入的路由表容量調節(jié)參數的設置參數值;所述路由表容量調節(jié)參數可以包括IPv4單播路由表容量、IPv4組播路由表容量、IPv6單播路由表容量和IPv6組播路由表容量中的任意三個。由于IPv4單播路由占用路由表的一個單元、IPv4組播路由占用路由表的兩個單元、IPv6單播路由占用路由表的四個單元,IPv6組播路由占用路由表的八個單元,因此它們之間的關系如下IPv4單播路由表容量+IPv4組播路由表容量*2+IPv6單播路由表容量*4+1¥6組播路由表容量*8=路由表總容量由于總容量是固定的,因此只需要設置其中三個容量大小,則剩余的一個容量可以通過上面的公式推算出來。例如參數接收單元M1可以接收管理員根據提示輸入的IPv4組播路由表容量大小,或IPv6單播路由表容量大小,或IPv6組播路由表容量大小作為設置參數值。我們認為一個較優(yōu)實施方式是由用戶配置指定IPv4組播、IPv6單播和IPv6組播容量大小,系統(tǒng)自動計算出剩余的空間都用于IPv4單播。這種方式是最多用戶的使用習慣,當然也可以改選其它3個參數組合作為輸入,或者固定了某個不能修改,如限定IPv4組播只能是256條,其它容量可以調整等等稍加變化的輸入參數方式。另外需要注意的是不同的型號的專用芯片路由表被多個功能共享的情況會有所差異,比如除了被IPvA單播、IPv4組播、IPv6單播和IPv6組纟番共享外,還有被路由的隧道技術共享等情況,也可以在此基礎上做簡單的擴展,即可實現本案的目標。所述參數保存單元M2與參數接收單元Ml連接,用于將所述設置參數值保存在配置文件中;所述存儲單元M3與參數保存單元M2連接,用于存儲配置文件;具體操作時,可以先將設置參數值保存到相應的變量中,例如將輸入的IPv4組播路由表容量大小寫入變量g-mc4,將輸入的IPv6單播路由表容量大小寫入變量g—uc6,將輸入的IPv6組播路由表容量大小寫入變量g-mc6。然后可由管理員輸入保存配置的命令,將這些變量中的參數值保存到指定的配置文件中。由于參數很少,可以單獨使用一個配置文件存儲參數,即只需要二進制的格式的文件即可,在三個參數的情況下,每個參數占4個字節(jié),一共只需12字節(jié)。用戶配置后新的路由表容量調節(jié)參數不會馬上生效,需要保存配置,并且復位后才能生效。所述參數解析單元M4與存儲單元M3連接,用于讀耳又配置文件內容,并根據所述配置文件內容解析出路由表容量調節(jié)參數的解析參數值;具體操作時,可以在系統(tǒng)初始化的過程中讀取配置文件中的數據,并根據事先設置的路由表容量調節(jié)參數與配置文件中數據的對應關系,解析出路由表容量調節(jié)參數的值,填入g-mc4,g-uc6,g-mc6三個變量中。所述配置文件可以是獨立的,即不與其它功能的配置項混合在一個配置文件中,并且是10二進制格式,因此只需調用文件讀取接口即可。文件讀取接口是每個計算機系統(tǒng)必需的接口,在這里不做詳細說明。所述配置文件也可以采用同其它配置文件混用的方案。所述參數配置單元M5與參數解析單元M4連接,用于根據所述解析參數值配置路由表容量。參數解析完成后,還需要調用系統(tǒng)初始化中路由表相關的接口,根據解析出的參數值配置相應的路由表容量。不同系統(tǒng)的初始化接口大都不同,但功能類似,本領域的相關技術員應能理解相應接口的功能和使用方法,因此這里不做詳細說明。圖5為本實用新型一種路由表容量調節(jié)裝置實施例二示意圖,本實施例除了包括裝置實施例一的結構特征外,還包括參數判斷單元M6,與參數接收單元Ml和參數保存單元M2連接,用于判斷所述設置參數值是否為有效值,如果是則調用參數保存單元將所述設置參數值保存在配置文件中,否則提示錯誤并結束操作。圖6為本實用新型一種路由表容量調節(jié)裝置實施例三示意圖,本實施例除了包括裝置實施例二的結構特征外,還有如下特征所述參數判斷單元M6包括有效值判斷單元M61,用于根據當前配置文件中的路由表容量調節(jié)參數的保存參數值判斷所述設置參數值是否為有效值。例如,路由表總容量大小為4096,路由表容量調節(jié)參數包括IPv4組播路由表容量、IPv6單播路由表容量和IPv6組播路由表容量,初始時配置文件中保存了這三個參數出廠設置值??捎晒芾韱T輸入IPv4組播路由表容量大小,可以根據以下的公式計算出IPv4組播路由表容量的最大允許值IPv4組播路由表容量的最大允許值=(4096-IPv6單播路由表容量在配置文件中的保存參數值*4-IPv6組播路由表容量在配置文件中的保存參數值*8)/2ii如果輸入的IPv4組播路由表容量大小即設置參數值小于等于IPv4組播路由表容量的最大允許值,則所述設置參數值為有效值。后續(xù)操作會將設置參數值保存在配置文件中,更新配置文件中相應的^f呆存參數值??捎晒芾韱T輸入IPv6單播路由表容量大小時,可以根據以下的公式計算出IPv6單播路由表容量的最大允許值IPv6單播路由表容量的最大允許值=(4096-IPvA組播路由表容量在配置文件中的保存參數值*2-IPv6組播路由表容量在配置文件中的保存參數值*8)/4如果輸入的IPv6單播路由表容量大小即設置參數值小于等于IPv6單播路由表容量的最大允許值,則所述設置參數值為有效值。后續(xù)操作會將設置參數值保存在配置文件中,更新配置文件中相應的保存參數值??捎晒芾韱T輸入IPv6組播路由表容量大小時,可以根據以下的公式計算出IPv6組播路由表容量的最大允許值IPv6組播路由表容量的最大允許值=(4096-IPv4組播路由表容量在配置文件中的保存參數值*2-IPv6單播路由表容量在配置文件中的保存參數值*4)/8如果輸入的IPv6組播路由表容量大小即設置參數值小于等于IPv6組播路由表容量的最大允許值,則所述設置參數值為有效值。后續(xù)操作會將設置參數值保存在配置文件中,更新配置文件中相應的保存參數值。也可以同時輸入兩個設置參數值,例如同時輸入IPv4組播路由表容量大小,即IPv4組播路由表容量的設置參數值,和IPv6單播路由表容量大小,即IPv6單播路由表容量的設置參數值,判斷下面的不等式是否成立IPv4組播路由表容量的設置參數值*2+IPv6單播路由表容量的設置參數值*4+176組播路由表容量在配置文件中的保存參數值*8<=4096如果上述等式成立,則表示兩個設置參數值為有效值。后續(xù)操作會將設置參數值保存在配置文件中,更新配置文件中相應的保存參數值。12輸入其它情況的兩個設置參數值的判斷方法與上述方法類似,在些不再贅述。也可以同時輸入三個設置參數值,即IPv4組播路由表容量的設置參數值、IPv6單播路由表容量的設置參數值和IPv6組播路由表容量的設置參數值,判斷下面的不等式是否成立IPv4組播路由表容量的設置參數值*2+IPv6單播路由表容量的設置參數值*4+IPv6組播路由表容量的設置參數值W<=4096如果上述等式成立,則表示三個設置參數值為有效值。后續(xù)操作會將設置參數值保存在配置文件中,更新配置文件中相應的保存參數值。需要說明的是,路由表總容量大小并不限于為4096的情況。圖7為本實用新型一種路由表容量調節(jié)裝置實施例四示意圖,本實施例除了包括裝置實施例一的結構特征外,還包括參數提示單元M7,用于接收輸入的路由表容量調節(jié)參數的可配置有效值范圍請求,根據當前配置文件中的路由表容量調節(jié)參數的保存參數值計算出路由表容量調節(jié)參數的可配置有效值范圍,并輸出所述可配置有效值范圍。實際操作時,可由管理員輸入路由表容量調節(jié)參數的可配置有效值范圍請求,例如輸入對IPv4組播路由表容量的可配置有效值范圍的請求,仍以路由表總容量大小為4096為例,具體有效值范圍的計算公式如下IPv4組播路由表容量的可配置有效值范圍=(4096-IPv6單播路由表容量在配置文件中的保存參數值*4-IPv6組播路由表容量在配置文件中的保存參數值*8)/2將根據上述公式計算出的結果輸出。在輸入其它路由表容量調節(jié)參數的可配置有效值范圍請求時,計算公式類似,在此不再贅述。本實施例也可以在裝置實施例二或裝置實施例三的基礎上進行上述擴展。圖8為本實用新型一種路由表容量調節(jié)裝置實施例五示意圖,本實施例除了包括裝置實施例一的結構特征外,還將參數解析單元M4分解為讀取判斷單元M41和參數設置單元M42;所述讀取判斷單元M41用于判斷讀取配置文件內容是否成功;所述參數設置單元M42與讀取判斷單元M41連接,用于在讀取配置文件內容成功時從所述配置文件內容中解析出路由表容量調節(jié)參數的值作為解析參數值,在讀取配置文件內容失敗時將所述解析參數值設置為出廠設置值。本實施例也可以在裝置實施例二,或裝置實施例三,或裝置實施例四的基礎上進行上述擴展。本實用新型通過設置路由表容量調節(jié)參數對路由表共享區(qū)間的容量進行調節(jié),采用一種可變分區(qū)方法,綜合了固定分區(qū)和無分區(qū)方法的優(yōu)點,既提高了路由表的資源利用率,又保持了較低的系統(tǒng)復雜度和避免碎片整理對系統(tǒng)資源的額外消耗。需要說明的是,路由器不同芯片共享的內容可能不完全相同,但原理相同。例如有些路由表只是IPv4單播和IPv4組^番共享。此外不同芯片的數據組織結構也可能不同,如路由表另一種常見的類樹結構,IPv4單播路由表,即IPv4組播路由表、IPv6單播路由表、IPv6組播路由表等都是單獨的一個多叉樹結構,但都存儲在同一個存儲器件中,這種情況同樣存在路由表資源分配的問題,因此本實用新型也適用于這些情況。最后應說明的是以上實施例僅用以說明本實用新型的4支術方案,而非對其限制;盡管參照前述實施例對本實用新型進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本實用新型各實施例技術方案的精神和范圍。權利要求1.一種路由表容量調節(jié)裝置,其特征在于,包括參數接收單元、參數保存單元、存儲單元、參數解析單元和參數配置單元;所述參數接收單元用于接收輸入的路由表容量調節(jié)參數的設置參數值;所述參數保存單元與參數接收單元連接,用于將所述設置參數值保存在配置文件中;所述存儲單元與參數保存單元連接,用于存儲配置文件;所述參數解析單元與存儲單元連接,用于讀取配置文件內容,并根據所述配置文件內容解析出路由表容量調節(jié)參數的解析參數值;所述參數配置單元與參數解析單元連接,用于根據所述解析參數值配置路由表容量。2.根據權利要求1所述的路由表容量調節(jié)裝置,其特征在于,還包括參數判斷單元,與參數接收單元和參數保存單元連接,用于判斷所述設置參數值是否為有效值,如果是則調用參數保存單元將所述設置參數值保存在配置文件中,否則提示錯誤并結束操作。3.根據權利要求1或2所述的路由表容量調節(jié)裝置,其特征在于,所述路由表容量調節(jié)參數包括互聯網協議第四版IPv4單插J各由表容量、IPv4組播路由表容量、互聯網協議第六版IPv6單播路由表容量和IPv6組播路由表容量中的任意三個。4.根據權利要求2所述的路由表容量調節(jié)裝置,其特征在于,所述參數判斷單元包括有效值判斷單元,用于根據當前配置文件中的路由表容量調節(jié)參數的保存參數值判斷所述設置參數值是否為有效值。5.根據權利要求1、2或4所述的任一路由表容量調節(jié)裝置,其特征在于,還包括參數提示單元,用于接收輸入的路由表容量調節(jié)參數的可配置有效值范圍請求,根據當前配置文件中的路由表容量調節(jié)參數的保存參數值計算出路由表容量調節(jié)參數的可配置有效值范圍,并輸出所述可配置有效值范圍。6.根據權利要求1、2或4所述的任一路由表容量調節(jié)裝置,其特征在于,所述參數解析單元包括讀:f又判斷單元和參數設置單元;所述讀取判斷單元用于判斷讀取配置文件內容是否成功;所述參數設置單元與讀取判斷單元連接,用于在讀取配置文件內容成功時從所述配置文件內容中解析出路由表容量調節(jié)參數的值作為解析參數值,在讀取配置文件內容失敗時將所述解析參數值設置為出廠設置值。專利摘要本實用新型提供了一種路由表容量調節(jié)裝置。所述裝置包括參數接收單元、參數保存單元、存儲單元、參數解析單元和參數配置單元;所述參數接收單元用于接收輸入的路由表容量調節(jié)參數的設置參數值;所述參數保存單元與參數接收單元連接,用于將所述設置參數值保存在配置文件中;所述存儲單元與參數保存單元連接,用于存儲配置文件;所述參數解析單元與存儲單元連接,用于讀取配置文件內容,并根據所述配置文件內容解析出路由表容量調節(jié)參數的解析參數值;所述參數配置單元與參數解析單元連接,用于根據所述解析參數值配置路由表容量。本實用新型可以根據實際網絡需要靈活調整各種路由表容量,提高路由表的資源利用率。文檔編號H04L12/56GK201414137SQ200920107909公開日2010年2月24日申請日期2009年5月6日優(yōu)先權日2009年5月6日發(fā)明者高興福申請人:北京星網銳捷網絡技術有限公司