路由方法和路由系统的制作方法

文档序号:7934330阅读:198来源:国知局
专利名称:路由方法和路由系统的制作方法
技术领域
本发明有关于一种路由方法和路由系统,特别有关一种路由前缀高速缓存的具体实现方案,其利用多个不同但固定长度的路由前缀路由表,以增加路由高速缓存器(Cache Memory)效能,并加快网络设备寻径速度的方法和装置。
背景技术
国际互联网(Internet)已明显地影响了人类的生活,各式网络应用亦正蓬勃地被发展当中,因此需要更高品质的网络传输能力,例如具有较大吞吐量(Throughput)及较短的延迟(Delay)等。然而在网络设备传送网络数据包的过程中,路由查询(Routing-Lookup)是最耗时的部份,路由系统必须为每一个接收到的网络互连协议(Internet Protocol,下文简称IP)数据包,在其路由表中寻找IP数据包中目的端地址的“最长符合的路由前缀”(Longest Matching Prefix),再依照相对应的路由数据递送该数据包,但这个程序却相当耗时。
为解决上述的问题,一种高速缓存路由前缀(Routing Prefix)的路由方法被提出。由于一个路由前缀可以解答此路由前缀所对应的多个目的端地址的路由查询,因此若以路由高速缓存器高速缓存路由前缀,而非高速缓存目的端地址的路由结果(Routing Result),等同大小的路由高速缓存器便能解答较多的路由查询,而此方法则称为路由前缀高速缓存(Pretix Caching)。由于路由前缀高速缓存所需的储存单元的数目较一般目的端地址高速缓存(Destination Caching)为少,所以实作路由前缀高速缓存的路由高速缓存器可具有较佳的利用率(Utilization),而加快网络设备路由查询的速度。
然而对于每一个目的端地址而言,皆仅有一“最长符合的路由前缀”,而其对应的路由数据才是该目的端地址正确的传送路径。因此,若有多个路由前缀涵盖同一目的端地址,则须找出其“最长符合的路由前缀”以获得正确的路由结果。为此,路由前缀高速缓存必须再加上找出“最长符合的路由前缀”的机制。

发明内容
有鉴于此,本发明的主要目的在于提出一种新的路由方法,在采用复数路由高速缓存器,但各路由高速缓存器皆只需储存某一选定比特长度的路由前缀的设计下,实作路由前缀高速缓存。而由于各路由高速缓存器皆只需储存某一选定比特长度的路由前缀,故各路由高速缓存器可选用一般的二进制内容寻址储存器(Binary ContentAddressable Memory)。
本发明的另一目的在于提出一种新的路由系统,其具有复数路由高速缓存器,利用上述新的路由方法及一高速缓存更新方法,以实作路由前缀高速缓存,藉此提高路由高速缓存器的利用率,而加快网络设备路由查询的速度。
为达成上述目的,本发明提供一种路由方法,其用于一路由系统中,其包括下列步骤。首先,选择m个路由前缀长度,分别为L1比特、L2比特、L3比特、…、Lm比特,其中m、L1、L2、L3、…、Lm为正整数且L1<L2<L3<…<Lm。接着,将该路由系统所应处理之复数路由前缀,依其路由前缀长度分为m个群组,分别为0~L1比特、L1+1~L2比特、L2+1~L3比特、…、Lm-1+1~Lm比特,并分别建立对应的第1~第m路由表;其中,当所应处理的一路由前缀的路由前缀长度为j比特,且介于(Li-1+1)~Li比特,而属于第i群组时,使用一扩展模块将该路由前缀扩展为2Li-j个Li比特的路由前缀,并将此扩展后的路由前缀与其对应的路由数据,储入该第i路由表,其中i与j为正整数且2≤i≤m,L1+1≤j≤Lm。此外,该路由系统并同时维持一高速缓存路由表,该高速缓存路由表储存复数路由前缀长度为L1比特的路由前缀及其所对应的复数路由数据。
而在接收一Lm比特的目的端地址的网络数据包,依据该目的端地址的前L1比特在该高速缓存路由表中寻找和该目的端地址的前L1比特相同的路由前缀;同时依据该目的端地址的前L2比特在该第二路由表中寻找和该目的端地址的前L2比特相同的路由前缀;依此类推,同时依据该目的端地址的所有Lm比特在该第m路由表中寻找和该目的端地址的所有Lm比特相同的路由前缀。而于上述搜寻比对中有一至多个相符合的路由前缀时,则由该等相符合的路由前缀中选出具最大比特长度者,并取出其所对应的路由数据,并依据该路由数据将该网络数据包传出。而于上述搜寻比对中无任何一个相符合的路由前缀时,在该第一路由表中搜寻并取出该目的端地址的前L1比特所对应的路由数据,并依据该路由数据将该网络数据包传出,并将该目的端地址的前L1比特以及该路由数据,交由该高速缓存路由表储存。或者,于上述搜寻比对中无任何一个相符合的路由前缀时,在一全路由表中搜寻并取出该目的端地址所对应的路由数据,并依据该路由数据,将该网络数据包传出,并将该目的端地址的前L1比特以及该路由数据,交由该高速缓存路由表储存。其中该全路由表储存所有该路由系统所应处理的复数路由前缀及所对应的复数路由数据。
配合上述路由方法,本发明另外提出一种路由系统,其包括一第一路由装置及一第二路由装置。该第一路由装置包括一接收单元、路由前缀长度处理器、复数路由高速缓存器、一扩展模块及一选择传送单元。第二路由装置包括一第一路由表或一全路由表。


图1表示本发明实施例中建立路由表的处理过程的示意图。
图2表示本发明实施例的路由方法的处理过程的示意图。
图3表示本发明实施例中对于无法在路由高速缓存器中找到该目的端地址所对应的路由数据时的处理过程的示意图。
图4表示本发明实施例的路由系统一范例的方框图。
图5表示本发明实施例的路由系统另一范例的方框图。
{Ad}~路由前缀;
20~目的端地址;80、480、580~高速缓存路由表;50、450~第一路由表;60、460、560~第二路由表;70、470、570~第三路由表;550~全路由表;22、404、504~选择传送单元;R1、R2、R3、R4、Rcache~搜寻结果;10、408、508~路由前缀长度处理器;12a、12b、410、510~扩展模块;406a、406b、406c、506a、506b、506c~二进制内容寻址储存器;400a、400b、500a、500b~路由器;402、502~接收单元。
具体实施例方式
本发明所揭露的路由高速缓存器,主要用于网络设备的路由技术,所以称作路由高速缓存器(routing cache),以有别于一般用于计算机技术的高速缓存器(Memory Cache)。以下配合图式,详细说明本发明的最佳实施例。
图1表示本发明实施例中建立路由表的处理过程的示意图。在此实施例中,选择3个路由前缀长度分别24、28以及32比特,并分别建立第一路由表50、第二路由表60以及第三路由表70。首先,将该路由系统应处理的复数路由前缀{Ad}送入路由前缀长度处理器10,路由前缀长度处理器10则依照路由前缀{Ad}的比特长度进行分组。
当路由前缀{Ad}的长度为0~24比特时,将路由前缀{Ad}及其路由数据储入路由系统中的第一路由表50。当路由前缀{Ad}的长度为25~28比特时,经由扩展模块12a将路由前缀{Ad}依下列规则扩展为1至8个长度为28比特的路由前缀当路由前缀{Ad}的长度为25比特时,于路由前缀{Ad}尾端分别附加8个长度为3比特的样式,分别为000、001、010、011、100、101、110及111,而成为8个长度为28比特的路由前缀;当路由前缀{Ad}的长度为26比特时,于路由前缀{Ad}尾端分别附加4个长度为2比特的样式,分别为00、01、10及11,而成为4个长度为28比特的路由前缀;当路由前缀{Ad}的长度为27比特时,于路由前缀{Ad}尾端分别附加2个长度为1比特的样式,分别为0及1,而成为2个长度为28比特的路由前缀;当路由前缀{Ad}的长度为28比特时,则无需进行附加动作,直接输出该路由前缀{Ad}。并将扩展模块12a输出的长度皆为28比特的路由前缀及路由前缀{Ad}的路由数据,储入第二路由表60。
而当路由前缀{Ad}的长度为29~32比特时,经由扩展模块12b将路由前缀{Ad}依下列规则扩展为1至8个长度为32比特的路由前缀当路由前缀{Ad}的长度为29比特时,于路由前缀{Ad}尾端分别附加8个长度为3比特的样式,分别为000、001、010、011、100、101、110及111,而成为8个长度为32比特的路由前缀;当路由前缀{Ad}的长度为30比特时,于路由前缀{Ad}尾端分别附加4个长度为2比特的样式,分别为00、01、10及11,而成为4个长度为32比特的路由前缀;当路由前缀{Ad}的长度为31比特时,于路由前缀{Ad}尾端分别附加2个长度为1比特的样式,分别为0及1,而成为2个长度为32比特的路由前缀;当路由前缀{Ad}的长度为32比特时,无需进行附加动作,直接输出该路由前缀{Ad}。并将扩展模块12b输出的长度皆为32比特的路由前缀及路由前缀{Ad}的路由数据,储入第三路由表70。
图2表示本发明实施例的路由方法的处理过程的示意图。首先,依照图1的处理流程建立第一路由表50(图中未显示)、第二路由表60及第三路由表70,并维持一高速缓存路由表80。高速缓存路由表80储存复数24比特的路由前缀及对应的路由数据。高速缓存路由表80采用一路由高速缓存器,且该路由高速缓存器采用一更新算法(Algorithm)以更新高速缓存路由表80,而该更新算法可为最久不使用(Least-Recently-Used,LRU)、随机(Random)或先入先出(First-In-First-Out,FIFO)等算法。第二路由表60和第三路由表70亦分别采用路由高速缓存器,但此二路由高速缓存器不采用更新算法,而分别仅能为前述图1的扩展模块12a与12b所更新。
接着,当路由系统接收一网络数据包,而该网络数据包的目的端地址20为32比特时,分别将该目的端地址20的前24比特、前28比特及所有32比特,分别送至高速缓存路由表80、第二路由表60及第三路由表70以进行搜寻。当在高速缓存路由表80中找到与该目的端地址20的前24比特相同的路由前缀时,输出该路由前缀所对应的路由数据R1;而当在高速缓存路由表80中找不到与该目的端地址20的前24比特相同的路由前缀时,不输出搜寻结果。当在第二路由表60中找到与该目的端地址20的前28比特相同的路由前缀时,输出该路由前缀所对应的路由数据R2;而当在第二路由表60中找不到与该目的端地址20的前28比特相同的路由前缀时,不输出搜寻结果。当在第三路由表70中找到与该目的端地址20所有32比特相同的路由前缀时,输出该路由前缀所对应的路由数据R3;而当在第三路由表70中找不到与该目的端地址20所有32比特相同的路由前缀时,不输出搜寻结果。
接着,将高速缓存路由表80、第二路由表60以及第三路由表70的搜寻结果,由选择传送单元22依照第三路由表70优先、第二路由表60其次、高速缓存路由表80最后的顺序,选出该目的端地址的“最长符合的路由前缀”的路由数据Rcache,并依据该路由数据Rcache将该网络数据包传出。如果在高速缓存路由表80、第二路由表60及第三路由表70中,皆无法找到该目的端地址20所对应的路由数据时,亦即皆没有输出搜寻结果时,那么在该路由系统的第一路由表50中,搜寻该目的端地址20所对应的路由数据(参阅图3的说明)。
图3表示本发明实施例中,当在高速缓存路由表80、第二路由表60及第三路由表70中,皆无法找到该目的端地址20所对应的路由数据时,其处理过程的示意图。当在图2中的高速缓存路由表80、第二路由表60及第三路由表70皆没有输出搜寻结果时,将该目的端地址20的前24比特送至该路由系统的第一路由表50。由于第一路由表50储存了路由前缀长度为0~24比特间的复数路由前缀及其对应的路由数据,因此在第一路由表50中搜寻该目的端地址20的前24比特,一定可找到对应于该目的端地址20的前24比特的“最长符合的路由前缀”,并输出该路由前缀所对应的路由数据R4。并依据该路由数据R4将该网络数据包传出(图中未显示)。并将该目的端地址20的前24比特与路由数据R4送至高速缓存路由表80,而由高速缓存路由表80所采用的路由高速缓存器的更新算法决定是否应储存此笔数据,而该更新算法可为最久不使用、随机或先入先出等算法。
若该路由系统有一全路由表(未显示于图1中),而该全路由表储存了路由前缀长度为0~32比特间(亦即所有的路由前缀长度)所有路由前缀及其对应的路由数据,则在图2中,当在高速缓存路由表80、第二路由表60及第三路由表70中,皆无法找到该目的端地址20所对应的路由数据时,亦可将目的端地址20的所有32比特送至此全路由表(此部份并未在此实施例中以图标说明)。由于此全路由表储存了路由前缀长度为0~32比特间的所有路由前缀及其对应的路由数据,因此在此全路由表中搜寻该目的端地址20的所有32比特,一定可找到对应于该目的端地址20的所有32比特的“最长符合的路由前缀”,并输出该路由前缀所对应的路由数据。并依据该路由数据将该网络数据包传出。并将该目的端地址20的前24比特与该路由数据送至高速缓存路由表80,而由高速缓存路由表80所采用的路由高速缓存器的更新算法决定是否应储存此笔数据。
图4表示本发明实施例的路由系统一范例的方框图。如图所示,路由系统在此实施例中包括第一路由器400a以及第二路由器400b;第一路由器400a包括接收单元402、选择传送单元404、路由高速缓存器406a~406c、路由前缀长度处理器408以及扩展模块410;第二路由器400b包括第一路由表450。
在此实施例中,路由高速缓存器406a~406c为二进制内容寻址储存器(Binary Content Addressable Memory),且在二进制内容寻址储存器406a中存有第二路由表460,在二进制内容寻址储存器406b中存有第三路由表470,在二进制内容寻址储存器406c中存有高速缓存路由表480。二进制内容寻址储存器406c采用一更新算法以更新高速缓存路由表480中储存的数据,该更新算法可为最久不使用、随机、先入先出等更新算法。但第二路由表460和第三路由表470仅由路由前缀长度处理器408与扩展模块410建立于二进制内容寻址储存器406a和406b中,而二进制内容寻址储存器406a和406b不决定是否更新第二路由表460和第三路由表470。
路由前缀长度处理器408则依照路由前缀{Ad}的比特长度进行分组。当路由前缀{Ad}的长度为0~24比特时,将路由前缀{Ad}及其路由数据储入该路由系统的第一路由表450。当路由前缀{Ad}的长度为25~28比特时,经由扩展模块410将路由前缀{Ad}依下列规则扩展为1至8个长度为28比特的路由前缀当路由前缀{Ad}的长度为25比特时,于路由前缀{Ad}尾端分别附加8个长度为3比特的样式,分别为000、001、010、011、100、101、110及111,而成为8个长度为28比特的路由前缀;当路由前缀{Ad}的长度为26比特时,于路由前缀{Ad}尾端分别附加4个长度为2比特的样式,分别为00、01、10及11,而成为4个长度为28比特的路由前缀;当路由前缀{Ad}的长度为27比特时,于路由前缀{Ad}尾端分别附加2个长度为1比特的样式,分别为0及1,而成为2个长度为28比特的路由前缀;当路由前缀{Ad}的长度为28比特时,则无需进行附加动作,直接输出该路由前缀{Ad}。并将扩展模块410输出的长度皆为28比特的路由前缀及路由前缀{Ad}的路由数据,储入第二路由表460。
而当路由前缀{Ad}的长度为29~32比特时,经由扩展模块410将路由前缀{Ad}依下列规则扩展为1至8个长度为32比特的路由前缀当路由前缀{Ad}的长度为29比特时,于路由前缀{Ad}尾端分别附加8个长度为3比特的样式,分别为000、001、010、011、100、101、110及111,而成为8个长度为32比特的路由前缀;当路由前缀{Ad}的长度为30比特时,于路由前缀{Ad}尾端分别附加4个长度为2比特的样式,分别为00、01、10及11,而成为4个长度为32比特的路由前缀;当路由前缀{Ad}的长度为31比特时,于路由前缀{Ad}尾端分别附加2个长度为1比特的样式,分别为0及1,而成为2个长度为32比特的路由前缀;当路由前缀{Ad}的长度为32比特时,无需进行附加动作,直接输出该路由前缀{Ad}。并将扩展模块410输出的长度皆为32比特的路由前缀及路由前缀{Ad}的路由数据,储入第三路由表470。
接收单元402接收具有32比特的目的端地址的IP数据包,并将IP数据包的目的端地址送入二进制内容寻址储存器406a~406c中。而在二进制内容寻址储存器406a~406c中,分别依据该目的端地址的前24比特、前28比特和所有32比特,分别在高速缓存路由表480、第二路由表460以及第三路由表470中查询。
选择传送单元404耦接至二进制内容寻址储存器406a~406c,依据在高速缓存路由表480、第二路由表460以及第三路由表470输出的搜寻结果,由选择传送单元404依照第三路由表470优先、第二路由表460其次、高速缓存路由表480最后的顺序,选出对应该目的端地址的“最长符合的路由前缀”的路由数据,并依据该路由数据将该网络数据包传出。
当在高速缓存路由表480、第二路由表460及第三路由表470皆无法找到对应该目的端地址的“最长符合的路由前缀”的路由数据时,亦即皆没有输出搜寻结果时,在该路由系统的第一路由表450中,搜寻对应该目的端地址的“最长符合的路由前缀”的路由数据。该路由系统将该目的端地址的前24比特送至第一路由表450,而在第一路由表450中搜寻该目的端地址的前24比特所对应的路由数据,并依据搜寻到的路由数据将该IP数据包传出。并将该目的端地址的前24比特与该路由数据,送至高速缓存路由表480,而由高速缓存路由表480所采用的路由高速缓存器的更新算法决定是否应储存此笔数据,该更新算法可为最久不使用、随机或先入先出等算法。
图5表示本发明实施例的路由系统另一范例的方框图。如图所示,路由系统在此实施例中包括第一路由器500a以及第二路由器500b;第一路由器500a包括接收单元502、选择传送单元504、路由高速缓存器506a~506c、路由前缀长度处理器508以及扩展模块510;第二路由器500b包括全路由表550。
在此实施例中,路由高速缓存器506a~506c为二进制内容寻址储存器,且在二进制内容寻址储存器506a中存有第二路由表560,在二进制内容寻址储存器506b中存有第三路由表570,在二进制内容寻址储存器506c中存有高速缓存路由表580。
二进制内容寻址储存器506c采用一更新算法以更新高速缓存路由表580中储存的数据,该更新算法可为最久不使用、随机、先入先出等更新算法。但第二路由表560和第三路由表570仅由路由前缀长度处理器508与扩展模块510建立于二进制内容寻址储存器506a和506b中,而二进制内容寻址储存器506a和506b并不决定是否更新第二路由表560和第三路由表570。
全路由表550用以储存路由前缀长度为0~32比特间(亦即所有路由前缀长度)的所有路由前缀及其对应的路由数据。路由前缀长度处理器508则依照路由前缀{Ad}的比特长度进行分组。当路由前缀{Ad}的长度为0~32比特时,将路由前缀{Ad}及其路由数据储入该路由系统的全路由表550。当路由前缀{Ad}的长度为25~28比特时,经由扩展模块510将路由前缀{Ad}依下列规则扩展为1至8个长度为28比特的路由前缀当路由前缀{Ad}的长度为25比特时,于路由前缀{Ad}尾端分别附加8个长度为3比特的样式,分别为000、001、010、011、100、101、110及111,而成为8个长度为28比特的路由前缀;当路由前缀{Ad}的长度为26比特时,于路由前缀{Ad}尾端分别附加4个长度为2比特的样式,分别为00、01、10及11,而成为4个长度为28比特的路由前缀;当路由前缀{Ad}的长度为27比特时,于路由前缀{Ad}尾端分别附加2个长度为1比特的样式,分别为0及1,而成为2个长度为28比特的路由前缀;当路由前缀{Ad}的长度为28比特时,则无需进行附加动作,直接输出该路由前缀{Ad}。并将扩展模块510输出的长度皆为28比特的路由前缀及路由前缀{Ad}的路由数据,储入第二路由表560。
而当路由前缀{Ad}的长度为29~32比特时,经由扩展模块510将路由前缀{Ad}依下列规则扩展为1至8个长度为32比特的路由前缀当路由前缀{Ad}的长度为29比特时,于路由前缀{Ad}尾端分别附加8个长度为3比特的样式,分别为000、001、010、011、100、101、110及111,而成为8个长度为32比特的路由前缀;当路由前缀{Ad}的长度为30比特时,于路由前缀{Ad}尾端分别附加4个长度为2比特的样式,分别为00、01、10及11,而成为4个长度为32比特的路由前缀;当路由前缀{Ad}的长度为31比特时,于路由前缀{Ad}尾端分别附加2个长度为1比特的样式,分别为0及1,而成为2个长度为32比特的路由前缀;当路由前缀{Ad}的长度为32比特时,无需进行附加动作,直接输出该路由前缀{Ad}。并将扩展模块510输出的长度皆为32比特的路由前缀及路由前缀{Ad}的路由数据,储入第三路由表570。
接收单元502接收具有32比特的目的端地址的IP数据包,并将IP数据包的目的端地址送入二进制内容寻址储存器506a~506c中。而在二进制内容寻址储存器506a~506c中,分别依据该目的端地址的前24比特、前28比特和所有32比特,分别在高速缓存路由表580、第二路由表560以及第三路由表570中查询。
选择传送单元504耦接至二进制内容寻址储存器506a~506c,依据在高速缓存路由表580、第二路由表560以及第三路由表570输出的搜寻结果,由选择传送单元504依照第三路由表570优先、第二路由表560其次、高速缓存路由表580最后的顺序,选出对应该目的端地址的“最长符合的路由前缀”的路由数据,并依据该路由数据将该IP数据包传出。
当在高速缓存路由表580、第二路由表560及第三路由表570皆无法找到对应该目的端地址的“最长符合的路由前缀”的路由数据时,亦即皆没有输出搜寻结果时,在该路由系统的全路由表550中,搜寻对应该目的端地址的“最长符合的路由前缀”的路由数据。该路由系统将该目的端地址的所有32比特送至全路由表550,而在全路由表550中搜寻该目的端地址的所有32比特所对应的路由数据,并依据搜寻到的路由数据将该IP数据包传出。并将该目的端地址的前24比特与该路由数据送至高速缓存路由表580,而由高速缓存路由表580所采用的路由高速缓存器的更新算法决定是否应储存此笔数据,该更新算法可为最久不使用、随机或先入先出等算法。
权利要求
1.一种路由方法,用于一路由系统中,其特征是,包括下列步骤选择m个路由前缀长度,分别为L1比特、L2比特、L3比特、…、Lm比特,其中m、L1、L2、L3、…、Lm为正整数且L1<L2<L3<…<Lm;将该路由系统所应处理的复数路由前缀依其路由前缀长度分为m个群组,分别为0~L1比特、L1+1~L2比特、L2+1~L3比特、…、Lm-1+1~Lm比特,并分别建立对应的第2~第m路由表,该路由系统同时维持一高速缓存路由表;其中当所应处理的一路由前缀的路由前缀长度为j比特,且介于(Li-1+1)~Li比特,而属于第i群组时,使用一扩展模块将该路由前缀扩展为2Li-j个Li比特的路由前缀,并将此扩展后的路由前缀与其对应的路由数据,储入该第i路由表,其中i与j为正整数,且2≤i≤m,L1+1≤j≤Lm;该高速缓存路由表储存复数路由前缀长度为L1比特的路由前缀及其所对应的复数路由数据;接收一目的端地址为Lm比特的网络数据包;依据该目的端地址的前L1比特在该高速缓存路由表中寻找和该目的端地址的前L1比特相同的路由前缀,同时依据该目的端地址的前L2比特在该第二路由表中寻找和该目的端地址的前L2比特相同的路由前缀,依此类推,同时依据该目的端地址的所有Lm比特在该第m路由表中寻找和该目的端地址的所有Lm比特相同的路由前缀;以及于上述搜寻比对中有一至多个相符合的路由前缀,则由该等相符合的路由前缀中选出具最大比特长度者,并取出其所对应的路由数据,以依据该路由数据传送该IP数据包。
2.如权利要求1所述的路由方法,其特征是,更包括下列步骤将该路由系统所应处理的复数路由前缀中,长度为0~L1比特者,建立一第一路由表;并于上述搜寻比对无任何一个相符合的路由前缀时,在该第一路由表中搜寻并取出对应该目的端地址的前L1比特的路由前缀中,路由前缀长度最长者所对应的路由数据;以及依据该路由数据传送该IP数据包,并将该目的端地址的前L1比特以及该路由数据,交由该高速缓存路由表储存。
3.如权利要求1所述的路由方法,其特征是,更包括下列步骤将该路由系统所应处理的复数路由前缀中,路由前缀长度为0~Lm比特者,建立一全路由表;并于上述搜寻比对无任何一个相符合的路由前缀时,在该全路由表中搜寻并取出对应该目的端地址的所有Lm比特的路由前缀中,路由前缀长度最长者所对应的路由数据;以及依据该路由数据传送该IP数据包,并将该目的端地址的前L1比特以及该路由数据,交由该高速缓存路由表储存。
4.如权利要求1所述的路由方法,其特征是,其中m为3,而L1为24、L2为28且L3为32。
5.如权利要求1所述的路由方法,其特征是,其中m为4,而L1为24、L2为48、L3为64且L4为128。
6.一种路由系统,其特征是,该系统包括一第一路由装置,其包括一接收单元,其接收目的端地址为r比特的IP数据包;一路由前缀长度处理器,用以将所应处理的复数路由前缀,依其路由前缀长度分为m个群组,分别为0~L1比特、L1+1~L2比特、L2+1~L3比特、…、Lm-1+1~Lm比特,其中m、L1、L2、L3、…、Lm为正整数且L1<L2<L3<…<Lm;复数路由高速缓存器,其耦接至该接收单元,接收该IP数据包的目的端地址,其包括复数路由表,分别为第2~第m路由表,依据该目的端地址的前L2比特在该第二路由表中寻找和该目的端地址的前L2比特相同的路由前缀,依此类推,同时依据该目的端地址的所有Lm比特在该第m路由表中寻找和该目的端地址的所有Lm比特相同的路由前缀;及一高速缓存路由表,用于储存复数L1比特的路由前缀,及所对应的复数路由数据,同时依据该目的端地址的前L1比特在该高速缓存路由表中寻找和该目的端地址的前L1比特相同的路由前缀;一扩展模块,用以在路由前缀长度为j比特,且介于(Li-1+1)~Li比特时,将该路由前缀扩展为2Li-j个Li比特的路由前缀,并将此扩展后的路由前缀与其对应的路由数据,储入该第i路由表,其中i与j为正整数且2≤i≤m,L1+1≤j≤Lm;及一选择传送单元,其耦接至上述路由高速缓存器,于上述搜寻比对有一至多个相符合的路由前缀,由该等相符路由前缀中选出最大比特长度者及其对应的路由数据,并依据该路由数据将IP数据包传出;以及一第二路由装置,其包括一第一路由表,其耦接至该选择传送单元、该高速缓存路由表以及该前缀长度处理器,该第一路由表储存该路由系统所应处理的复数路由前缀,长度为0~L1比特,及所对应的复数路由数据;于上述搜寻比对无任何一个相符合的路由前缀时,在该第一路由表中搜寻并取出对应该目的端地址的前L1比特的路由前缀中,路由前缀长度最长者所对应的路由数据;并依据该路由数据,将该IP数据包传出;并将该目的端地址的前L1比特以及该路由数据,交由该高速缓存路由表储存。
7.如权利要求6所述的路由方法,其特征是,其中m为3,而L1为24、L2为28且L3为32。
8.如权利要求6所述的路由装置,其特征是,其中上述路由高速缓存器采用二进制内容寻址储存器。
9.一种路由系统,其特征是,该系统包括一第一路由装置,其包括一接收单元,其接收目的端地址为r比特的IP数据包;一路由前缀长度处理器,用以将所应处理的复数路由前缀,依其路由前缀长度分为m个群组,分别为0~L1比特、L1+1~L2比特、L2+1~L3比特、…、Lm-1+1~Lm比特,其中m、L1、L2、L3、…、Lm为正整数且L1<L2<L3<…<Lm;复数路由高速缓存器,其耦接至该接收单元,接收该IP数据包的目的端地址,其包括复数路由表,分别为第2~第m路由表,依据该目的端地址的前L2比特在该第二路由表中寻找和该目的端地址的前L2比特相同的路由前缀,依此类推,同时依据该目的端地址的所有Lm比特在该第m路由表中寻找和该目的端地址的所有Lm比特相同的路由前缀;及一高速缓存路由表,用于储存复数L1比特的路由前缀及上述路由前缀所对应的复数路由数据,同时依据该目的端地址的前L1比特在该高速缓存路由表中寻找和该目的端地址的前L1比特相同的路由前缀;一扩展模块,用以在路由前缀长度为j比特,且介于(Li-1+1)~Li比特时,将该路由前缀扩展为2Li-j个Li比特的路由前缀,并将此扩展后的路由前缀与其对应的路由数据,储入该第i路由表,其中i与j为正整数且2≤i≤m,L1+1≤j≤Lm;及一选择传送单元,其耦接至上述路由高速缓存器,于上述搜寻比对有一至多个相符合的路由前缀,由该等相符路由前缀中选出最大比特长度者及其对应的路由数据,并依据该路由数据将IP数据包传出;以及一第二路由装置,其包括一全路由表,其耦接至该选择传送单元、该高速缓存路由表以及该前缀长度处理器,该全路由表储存该路由系统所应处理的所有路由前缀,及所对应的复数路由数据;于上述搜寻比对无任何一个相符合的路由前缀时,在该全路由表中搜寻并取出对应该目的端地址的所有r比特的路由前缀中,路由前缀长度最长者所对应的路由数据;并依据该路由数据,将该IP数据包传出;并将该目的端地址的前L1比特以及该路由数据,交由该高速缓存路由表储存。
10.如权利要求9所述的路由方法,其特征是,其中m为3,而L1为24、L2为28且L3为32。
11.如权利要求9所述的路由装置,其特征是,其中上述路由高速缓存器采用二进制内容寻址储存器。
全文摘要
一种路由方法,其包括下列步骤。首先,选择m个路由前缀长度,分别为L
文档编号H04L12/56GK1494276SQ02146628
公开日2004年5月5日 申请日期2002年10月28日 优先权日2002年10月28日
发明者吴承崧, 侯延昭, 徐伟伦 申请人:智邦科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1