专利名称::网络地址预查方法
技术领域:
:本发明是有关于一种网络地址预查(pre-lookup)方法,且特别有关于一种可以在专用集成电路(ASIC,ApplicationSpecificIntegratedCircuit)层中,直接将会接受预设处理(defaultprocess)的目的地址先进行过滤的网络地址预查方法。网络交换器(switch)的主要功能是将不同的网络(network)进行连接,且在此不同的网络之间进行信息传递。即当切换器接收到因特网(internet)包(packet)时,则将此包进行一路由选择(routing)处理,并将此包依据路由选择处理结果由交换器上的一转接口(port)传递出去。对于第3层交换器(layer3switch)上的路由选择处理,主要是将接受到的包中所指定的目的地址(destinationaddress)与路由选择表(routingtable)进行比对,其中,此路由选择表记录对应不同网络地址所应该转送包的转接端口,之后则依照路由选择表中比对相同的网络地址的相应转接口将此包进行传送。接下来,图1是显示一习知网络地址查询方法的操作流程。首先,系统中提供一散列表(hashtable)(步骤S102),其中此散列表记录路由选择表中较常比对到的网络地址与相应的转接口。然后,接收一含有一目的地址的包(步骤S104),且将此目的地址与散列表进行比对(步骤S106),若此目的地址存在于散列表中,则将此包直接传送至散列表中比对相同的网络地址的相应转接口(步骤S108),而若此目的地址不存在于散列表中,则将此包进行一软件路由选择(softwarerouting)处理(即比对路由选择表)(步骤S110)。在上述习知网络地址查询方法之中,由于散列表为求快速执行路由选择处理,因此可由硬件来实现(即可于专用集成电路层中实现)。然而,实际情况下受限于整体处理芯片尺寸的小型化需求,不可能提供散列表无限的实现空间。因此,系统则需要较强的中央处理单元(CPU)处理能力,以应付许多未知的目的地址的软件路由选择处理。然而,在实际的情况中,由于路由选择表中所能涵盖的网络地址只有很小的一部份,因此,对于大部分的目的地址而言,通常一系统既定的预设处理方式即是其应进行的处理方式。有鉴于此,本发明主要目的为提供一可以在专用集成电路层中,直接将会接受预设处理的网络地址先进行过滤的网络地址预查方法,因此,在经过过滤之后,系统只需针对路由选择表中所记录的网络地址进行处理即可,可以达到减少系统处理软件路由选择负荷与提高包传送的速率。为了达成本发明上述目的,可藉由本发明所提供的一种适用于具有路由选择表与散列表的因特网包传送系统的网络地址预查方法。首先,于此系统中提供一路径选择表,还提供包括多个预查位的一预查表,其中每一预查位对应一转换地址,且当任一转换地址所对应的网络地址存在于路由选择表时,则对应此转换地址的预查位为有效。然后,接收包括一目的地址的包,且于预查表中,检查与此目的地址的有效地址相同的转换地址所对应的预查位。当与此目的地址的有效地址相同的转换地址所对应的预查位为无效时,则将此包直接进行一预设处理。而当与此目的地址的有效地址相同的转换地址所对应的预查位为有效时,则将目的地址与散列表进行比对,找寻一符合项目。且若此符合项目存在于散列表时,则将此包由此符合项目的转接端口传出,而若此符合项目不存在于散列表时,则将此包进行一软件路由选择。为了达成本发明上述目的,还可藉由本发明所提供的适用于因特网包传送系统的另一种网络地址预查方法,该方法首先提供一路由选择表与一散列表;提供包括多个预查位的一预查表,其中这些预查位的每一个对应一转换地址,且当该转换地址所对应的任一网络地址存在于该路由选择表时,则对应该转换地址的该预查位为有效;接收包括一目的地址的包;将该目的地址与该散列表进行比对,找寻一符合项目;于该预查表中,检查与该目的地址的有效地址相同的该转换地址所对应的该预查位;以及若与该目的地址的有效地址相同的该转换地址所对应的该预查位为无效,则将该包进行一预设处理。通过本发明所提供的适用于因特网包传送系统的网络地址预查方法,提供一可以在专用集成电路层中,直接将会接受预设处理的网络地址先进行过滤的网络地址预查方法,因此,在经过过滤之后,系统只需针对路由选择表中所记录的网络地址进行处理即可,可以达到减少系统处理软件路由选择负荷与提高包传送的速率。为使本发明的上述目的、特征和优点能更明显易懂,下文特举一实施例,并配合所附图标,作详细说明如下图1是显示一习知网络地址查询方法的操作流程。图2是显示一依据本发明实施例的网络地址预查方法的操作流程。<整体操作流程>接下来,图2是显示一依据本发明实施例的网络地址预查方法的操作流程。参考图2,本发明实施例将详细说明如下。本发明实施例的一种网络地址预查方法,是适用于因特网包传送系统,首先,系统中提供一路由选择表(routingtable),用以记录对应不同网络地址所应该转送包的转接口与一散列表(hashtable),用以记录路由选择表中部分较常比对到的网络地址与相应的转接口(步骤S202)。此外,系统中也提供一包括多个预查位的预查表(pre-lookuptable)(步骤S204)。其中每一预查位对应一转换地址,且当任一转换地址所对应的网络地址存在于路由选择表时(即路由选择表中记录有此网络地址),则对应此转换地址的预查位为有效(valid)。转换地址与网络地址之间关系则可为一对多映像关系,举例来说,如果此转换地址为16位且地址值为10.10(十进制表示),则其网络地址则可以是32位且地址值是由10.10.1.1至10.10.255.255的所有地址。因此,如果路由选择表中有记录一个地址数据为10.10.50.1时,则此预查表中转换地址10.10的相应预查位被设为有效。接着,当系统接收包括一目的地址(destinationaddress)与一源地址(sourceaddress)的包(步骤S206)时,则于预查表中,检查与此包内的目的地址的有效地址相同的转换地址所对应的预查位(步骤S208)。其中,目的地址与有效地址之间关系则可为多对一映像关系,举例来说,如果此目的地址为32位且地址值为10.10.50.1(十进制表示),则其有效地址则可以是此32位数据的前面16位数据且地址值是为10.10。如果与此目的地址的有效地址相同的转换地址所对应的预查位为无效(即表示路由选择表中没有记录此转换地址的所有网络地址),则将此包进行一预设处理(defaultprocess)(步骤S210)。其中此预设处理可以是直接将此包经由一特定口传出或是将此包直接丢弃,系统可以依照当时所处状态进行选择。另一方面,如果与此目的地址的有效地址相同的转换地址所对应的预查位为有效(即表示路由选择表中记录有此转换地址的至少一个网络地址),则系统进行地址学习(addresslearning),将此包内的源地址与接收到此包的接收端口(incomingport)记录至散列表中(步骤S212)。接着,系统将此目的地址与散列表进行比对,找寻一与此目的地址相同的符合项目(步骤S214)。若此符合项目存在于散列表中的话,则将此包由符合项目中所记录的转接端口传出(步骤S216);而若此符合项目不存在于散列表中的话,则最后将此包进行一软件路由选择(softwarerouting)(步骤S218),即将此目的地址与路由选择表进行比对且找出此包应该转送的转接口。在本发明实施例上述操作流程之中,检查预查表中的预查位(步骤S208)以及与散列表进行比对(步骤S214)的动作亦可以同时进行,只有当预查位为有效时,与散列表比对的结果方可使用。<路由选择表更新>对于路由选择表更新方面而言,系统中可以提供一包括多个计数器(counter)的更新表(updatetable),其中每一计数器是对应预查表中每一预查位所对应的转换地址,即有与预查表中预查位相同数目的计数器,且每一计数器与预查位对应一转换地址。当路由选择表中要增加一第一地址与转接端口数据时,则将更新表中对应此第一地址的第一有效地址所涵盖的转换地址的计数器加一。举例来说,假设第一有效地址的位数为h位且预查表中转换地址为k位,当此第一地址表示为a0a1a2…ag,其中ai∈{0,1}。如果h>k,则更新表中对应a0a1…ak-1转换地址的计数器加一;而如果h≤k,则更新表中对应a0a1…ah-10..0至a0a1…ah-11..1的转换地址的计数器都必须加一。举一实例说明,假设k为16位,如果要增加一8位有效(h=8)的第一地址10.0.0.0(十进制表示)的话,则更新表中对应转换地址10.0至10.255的计数器都必须加一;而如果要增加一16位有效(h=16)的第一地址10.10.10.0的话,则更新表中对应转换地址10.10的计数器加一。此外,并将预查表中对应这些转换地址的预查位设为有效。另一方面,当路由选择表中要删除一第二地址与转接端口数据时,则将更新表中对应此第二地址的第二有效地址所涵盖的转换地址的计数器减一。举例来说,假设第二有效地址的位数为h位且预查表中转换地址为k位,当此第二地址表示为a0a1a2…ag,其中ai∈{0,1}。如果h>k,则更新表中对应a0a1…ak-1转换地址的计数器减一;而如果h≤k,则更新表中对应a0a1…ah-10..0至a0a1…ah-11..1的转换地址的计数器都必须减一。此外,若对应这些转换地址的计数器等于零时,则将预查表中对应这些转换地址的预查位设为无效。另外,路由选择表中修改的情况可以视为先进行删除动作再进行增加动作,因此路由选择表中修改的操作情行在此省略。在本发明实施例中,由于预查表是提供于专用集成电路层中,因此,可以藉由预查表中转换地址与网络地址之间一对多的映像关系,达到节省芯片尺寸的目的。然而,如果芯片尺寸不是必要的考虑因素,则预查表中转换地址与网络地址之间则可以是一对一的映像关系。此外,为了达到节省芯片尺寸的目的,本发明实施例所提供的更新表可以利用软件形式记录,而不需以硬件形式(即设计于专用集成电路层中)设计。然而,相同地如果芯片尺寸不是必要的考虑因素,则更新表更可与预查表结合一起,并设计于专用集成电路层之中。因此,因特网包传送系统在进行包快速传送时,则可藉由本发明的网络地址预查方法,在专用集成电路层中,直接将会接受预设处理的网络地址先进行过滤。在经过过滤之后,系统仅需针对路由选择表中所记录的网络地址进行处理,可同时减少系统处理软件路由选择的负荷与提高包传送的速率。虽然本发明已以最佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技术的人,在不脱离本发明的精神和范围内,当可做些许改动与润饰,因此本发明的保护范围当视后附的权利要求书范围所界定者为准。权利要求1.一种网络地址预查方法,适用于因特网包传送系统,该方法包括下列步骤提供一路由选择表;提供包括多个预查位的一预查表,其中这些预查位的每一个对应一转换地址,且当该网络地址所对应的任一网络地址存在于该路由选择表时,则对应该转换地址的该预查位为有效;接收包括一目的地址的包;于该预查表中,检查与该目的地址的有效地址相同的该转换地址所对应的该预查位;以及若与该目的地址的有效地址相同的该转换地址所对应的该预查位为无效,则将该包进行一预设处理。2.如权利要求1所述的方法,其中还包括提供一散列表;以及若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效,则将该目的地址与该散列表进行比对,找寻一符合项目。3.如权利要求2所述的方法,其中还包括若该符合项目存在于该散列表时,则将该包由该符合项目的转接端口传出;以及若该符合项目不存在于该散列表时,则将该包进行一软件路由选择。4.如权利要求2所述的方法,其中该包还包括一源地址,且若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效时,则将该源地址与一接收到该包的接收端口记录至该散列表中。5.如权利要求1所述的方法,其中还包括提供一包括多个计数器的更新表,其中这些计数器的每一个是对应该预查表中这些预查位的每一个所对应的该转换地址;若该路由选择表中增加一第一地址时,则将该更新表中对应该第一地址的第一有效地址所涵盖的该转换地址的该计数器加一,且将该预查表中对应该转换地址的该预查位设为有效;以及若该路由选择表中删除一第二地址时,则将该更新表中对应该第二地址的第二有效地址所涵盖的该转换地址的该计数器减一,且若该计数器等于零,则将该预查表中对应该转换地址的该预查位设为无效。6.如权利要求1所述的方法,其中该预设处理为直接将该包经由一特定口传出。7.如权利要求1所述的方法,其中该预设处理为将该包丢弃。8.一种网络地址预查方法,适用于因特网包传送系统,该方法包括下列步骤提供一路由选择表与一散列表;提供包括多个预查位的一预查表,其中这些预查位的每一个对应一转换地址,且当该转换地址所对应的任一网络地址存在于该路由选择表时,则对应该转换地址的该预查位为有效;接收包括一目的地址的包;将该目的地址与该散列表进行比对,找寻一符合项目;于该预查表中,检查与该目的地址的有效地址相同的该转换地址所对应的该预查位;以及若与该目的地址的有效地址相同的该转换地址所对应的该预查位为无效,则将该包进行一预设处理。9.如权利要求8所述的方法,其中还包括若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效,且该符合项目存在于该散列表时,则将该包由该符合项目的转接端口传出;以及若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效,且该符合项目不存在于该散列表时,则将该包进行一软件路由选择。10.如权利要求8所述的方法,其中该包还包括一源地址,且若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效时,则将该源地址与一接收到该包的接收端口记录至该散列表中。11.如权利要求8所述的方法,其中还包括提供一包括多个计数器的更新表,其中这些计数器的每一个是对应该预查表中这些预查位的每一个所对应的该转换地址;若该路由选择表中增加一第一地址时,则将该更新表中对应该第一地址的第一有效地址所涵盖的该转换地址的该计数器加一,且将该预查表中对应该转换地址的该预查位设为有效;以及若该路由选择表中删除一第二地址时,则将该更新表中对应该第二地址的第二有效地址所涵盖的该转换地址的该计数器减一,且若该计数器等于零,则将该预查表中对应该转换地址的该预查位设为无效。12.如权利要求8所述的方法,其中该预设处理为直接将该包经由一特定口传出。13.如权利要求8所述的方法,其中该预设处理为将该包丢弃。全文摘要一种网络地址预查方法,适用于具有路由选择表与散列表的因特网包传送系统。首先,此系统中提供包括多个预查位的一预查表,其中每一预查位对应一转换地址,且当任一转换地址所对应的网络地址存在于路由选择表时,则对应此转换地址的预查位为有效。然后,接收包括一目的地址的包,且于预查表中,检查与此目的地址的有效地址相同的转换地址所对应的预查位。当与此目的地址的有效地址相同的转换地址所对应的预查位为无效时,则将此包直接进行预设处理。文档编号H04L12/28GK1390009SQ01119780公开日2003年1月8日申请日期2001年6月1日优先权日2001年6月1日发明者陈俊儒,王耀宗申请人:普邦科技股份有限公司