CN1390009A - 网络地址预查方法 - Google Patents

网络地址预查方法 Download PDF

Info

Publication number
CN1390009A
CN1390009A CN01119780A CN01119780A CN1390009A CN 1390009 A CN1390009 A CN 1390009A CN 01119780 A CN01119780 A CN 01119780A CN 01119780 A CN01119780 A CN 01119780A CN 1390009 A CN1390009 A CN 1390009A
Authority
CN
China
Prior art keywords
address
advance
look
effective
bag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN01119780A
Other languages
English (en)
Inventor
陈俊儒
王耀宗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PUBANG SCIENCE AND TECHNOOGY CO Ltd
Original Assignee
PUBANG SCIENCE AND TECHNOOGY CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PUBANG SCIENCE AND TECHNOOGY CO Ltd filed Critical PUBANG SCIENCE AND TECHNOOGY CO Ltd
Priority to CN01119780A priority Critical patent/CN1390009A/zh
Publication of CN1390009A publication Critical patent/CN1390009A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种网络地址预查方法,适用于具有路由选择表与散列表的因特网包传送系统。首先,此系统中提供包括多个预查位的一预查表,其中每一预查位对应一转换地址,且当任一转换地址所对应的网络地址存在于路由选择表时,则对应此转换地址的预查位为有效。然后,接收包括一目的地址的包,且于预查表中,检查与此目的地址的有效地址相同的转换地址所对应的预查位。当与此目的地址的有效地址相同的转换地址所对应的预查位为无效时,则将此包直接进行预设处理。

Description

网络地址预查方法
本发明是有关于一种网络地址预查(pre-lookup)方法,且特别有关于一种可以在专用集成电路(ASIC,Application Specific Integrated Circuit)层中,直接将会接受预设处理(default process)的目的地址先进行过滤的网络地址预查方法。
网络交换器(switch)的主要功能是将不同的网络(network)进行连接,且在此不同的网络之间进行信息传递。即当切换器接收到因特网(internet)包(packet)时,则将此包进行一路由选择(routing)处理,并将此包依据路由选择处理结果由交换器上的一转接口(port)传递出去。
对于第3层交换器(layer 3 switch)上的路由选择处理,主要是将接受到的包中所指定的目的地址(destination address)与路由选择表(routing table)进行比对,其中,此路由选择表记录对应不同网络地址所应该转送包的转接端口,之后则依照路由选择表中比对相同的网络地址的相应转接口将此包进行传送。
接下来,图1是显示一习知网络地址查询方法的操作流程。首先,系统中提供一散列表(hash table)(步骤S102),其中此散列表记录路由选择表中较常比对到的网络地址与相应的转接口。然后,接收一含有一目的地址的包(步骤S104),且将此目的地址与散列表进行比对(步骤S106),若此目的地址存在于散列表中,则将此包直接传送至散列表中比对相同的网络地址的相应转接口(步骤S108),而若此目的地址不存在于散列表中,则将此包进行一软件路由选择(software routing)处理(即比对路由选择表)(步骤S110)。
在上述习知网络地址查询方法之中,由于散列表为求快速执行路由选择处理,因此可由硬件来实现(即可于专用集成电路层中实现)。然而,实际情况下受限于整体处理芯片尺寸的小型化需求,不可能提供散列表无限的实现空间。因此,系统则需要较强的中央处理单元(CPU)处理能力,以应付许多未知的目的地址的软件路由选择处理。
然而,在实际的情况中,由于路由选择表中所能涵盖的网络地址只有很小的一部份,因此,对于大部分的目的地址而言,通常一系统既定的预设处理方式即是其应进行的处理方式。
有鉴于此,本发明主要目的为提供一可以在专用集成电路层中,直接将会接受预设处理的网络地址先进行过滤的网络地址预查方法,因此,在经过过滤之后,系统只需针对路由选择表中所记录的网络地址进行处理即可,可以达到减少系统处理软件路由选择负荷与提高包传送的速率。
为了达成本发明上述目的,可藉由本发明所提供的一种适用于具有路由选择表与散列表的因特网包传送系统的网络地址预查方法。
首先,于此系统中提供一路径选择表,还提供包括多个预查位的一预查表,其中每一预查位对应一转换地址,且当任一转换地址所对应的网络地址存在于路由选择表时,则对应此转换地址的预查位为有效。
然后,接收包括一目的地址的包,且于预查表中,检查与此目的地址的有效地址相同的转换地址所对应的预查位。当与此目的地址的有效地址相同的转换地址所对应的预查位为无效时,则将此包直接进行一预设处理。
而当与此目的地址的有效地址相同的转换地址所对应的预查位为有效时,则将目的地址与散列表进行比对,找寻一符合项目。且若此符合项目存在于散列表时,则将此包由此符合项目的转接端口传出,而若此符合项目不存在于散列表时,则将此包进行一软件路由选择。
为了达成本发明上述目的,还可藉由本发明所提供的适用于因特网包传送系统的另一种网络地址预查方法,该方法首先提供一路由选择表与一散列表;提供包括多个预查位的一预查表,其中这些预查位的每一个对应一转换地址,且当该转换地址所对应的任一网络地址存在于该路由选择表时,则对应该转换地址的该预查位为有效;接收包括一目的地址的包;将该目的地址与该散列表进行比对,找寻一符合项目;于该预查表中,检查与该目的地址的有效地址相同的该转换地址所对应的该预查位;以及若与该目的地址的有效地址相同的该转换地址所对应的该预查位为无效,则将该包进行一预设处理。
通过本发明所提供的适用于因特网包传送系统的网络地址预查方法,提供一可以在专用集成电路层中,直接将会接受预设处理的网络地址先进行过滤的网络地址预查方法,因此,在经过过滤之后,系统只需针对路由选择表中所记录的网络地址进行处理即可,可以达到减少系统处理软件路由选择负荷与提高包传送的速率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举一实施例,并配合所附图标,作详细说明如下:
图1是显示一习知网络地址查询方法的操作流程。
图2是显示一依据本发明实施例的网络地址预查方法的操作流程。
<整体操作流程>
接下来,图2是显示一依据本发明实施例的网络地址预查方法的操作流程。参考图2,本发明实施例将详细说明如下。
本发明实施例的一种网络地址预查方法,是适用于因特网包传送系统,首先,系统中提供一路由选择表(routing table),用以记录对应不同网络地址所应该转送包的转接口与一散列表(hash table),用以记录路由选择表中部分较常比对到的网络地址与相应的转接口(步骤S202)。
此外,系统中也提供一包括多个预查位的预查表(pre-lookup table)(步骤S204)。其中每一预查位对应一转换地址,且当任一转换地址所对应的网络地址存在于路由选择表时(即路由选择表中记录有此网络地址),则对应此转换地址的预查位为有效(valid)。
转换地址与网络地址之间关系则可为一对多映像关系,举例来说,如果此转换地址为16位且地址值为10.10(十进制表示),则其网络地址则可以是32位且地址值是由10.10.1.1至10.10.255.255的所有地址。因此,如果路由选择表中有记录一个地址数据为10.10.50.1时,则此预查表中转换地址10.10的相应预查位被设为有效。
接着,当系统接收包括一目的地址(destination address)与一源地址(sourceaddress)的包(步骤S206)时,则于预查表中,检查与此包内的目的地址的有效地址相同的转换地址所对应的预查位(步骤S208)。
其中,目的地址与有效地址之间关系则可为多对一映像关系,举例来说,如果此目的地址为32位且地址值为10.10.50.1(十进制表示),则其有效地址则可以是此32位数据的前面16位数据且地址值是为10.10。
如果与此目的地址的有效地址相同的转换地址所对应的预查位为无效(即表示路由选择表中没有记录此转换地址的所有网络地址),则将此包进行一预设处理(default process)(步骤S210)。其中此预设处理可以是直接将此包经由一特定口传出或是将此包直接丢弃,系统可以依照当时所处状态进行选择。
另一方面,如果与此目的地址的有效地址相同的转换地址所对应的预查位为有效(即表示路由选择表中记录有此转换地址的至少一个网络地址),则系统进行地址学习(address learning),将此包内的源地址与接收到此包的接收端口(incoming port)记录至散列表中(步骤S212)。
接着,系统将此目的地址与散列表进行比对,找寻一与此目的地址相同的符合项目(步骤S214)。若此符合项目存在于散列表中的话,则将此包由符合项目中所记录的转接端口传出(步骤S216);而若此符合项目不存在于散列表中的话,则最后将此包进行一软件路由选择(software routing)(步骤S218),即将此目的地址与路由选择表进行比对且找出此包应该转送的转接口。
在本发明实施例上述操作流程之中,检查预查表中的预查位(步骤S208)以及与散列表进行比对(步骤S214)的动作亦可以同时进行,只有当预查位为有效时,与散列表比对的结果方可使用。<路由选择表更新>
对于路由选择表更新方面而言,系统中可以提供一包括多个计数器(counter)的更新表(update table),其中每一计数器是对应预查表中每一预查位所对应的转换地址,即有与预查表中预查位相同数目的计数器,且每一计数器与预查位对应一转换地址。
当路由选择表中要增加一第一地址与转接端口数据时,则将更新表中对应此第一地址的第一有效地址所涵盖的转换地址的计数器加一。
举例来说,假设第一有效地址的位数为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的转换地址的计数器都必须减一。此外,若对应这些转换地址的计数器等于零时,则将预查表中对应这些转换地址的预查位设为无效。
另外,路由选择表中修改的情况可以视为先进行删除动作再进行增加动作,因此路由选择表中修改的操作情行在此省略。
在本发明实施例中,由于预查表是提供于专用集成电路层中,因此,可以藉由预查表中转换地址与网络地址之间一对多的映像关系,达到节省芯片尺寸的目的。然而,如果芯片尺寸不是必要的考虑因素,则预查表中转换地址与网络地址之间则可以是一对一的映像关系。
此外,为了达到节省芯片尺寸的目的,本发明实施例所提供的更新表可以利用软件形式记录,而不需以硬件形式(即设计于专用集成电路层中)设计。然而,相同地如果芯片尺寸不是必要的考虑因素,则更新表更可与预查表结合一起,并设计于专用集成电路层之中。
因此,因特网包传送系统在进行包快速传送时,则可藉由本发明的网络地址预查方法,在专用集成电路层中,直接将会接受预设处理的网络地址先进行过滤。在经过过滤之后,系统仅需针对路由选择表中所记录的网络地址进行处理,可同时减少系统处理软件路由选择的负荷与提高包传送的速率。
虽然本发明已以最佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技术的人,在不脱离本发明的精神和范围内,当可做些许改动与润饰,因此本发明的保护范围当视后附的权利要求书范围所界定者为准。

Claims (13)

1、一种网络地址预查方法,适用于因特网包传送系统,该方法包括下列步骤:
提供一路由选择表;
提供包括多个预查位的一预查表,其中这些预查位的每一个对应一转换地址,且当该网络地址所对应的任一网络地址存在于该路由选择表时,则对应该转换地址的该预查位为有效;
接收包括一目的地址的包;
于该预查表中,检查与该目的地址的有效地址相同的该转换地址所对应的该预查位;以及
若与该目的地址的有效地址相同的该转换地址所对应的该预查位为无效,则将该包进行一预设处理。
2、如权利要求1所述的方法,其中还包括:
提供一散列表;以及
若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效,则将该目的地址与该散列表进行比对,找寻一符合项目。
3、如权利要求2所述的方法,其中还包括:
若该符合项目存在于该散列表时,则将该包由该符合项目的转接端口传出;以及
若该符合项目不存在于该散列表时,则将该包进行一软件路由选择。
4、如权利要求2所述的方法,其中该包还包括一源地址,且若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效时,则将该源地址与一接收到该包的接收端口记录至该散列表中。
5、如权利要求1所述的方法,其中还包括:
提供一包括多个计数器的更新表,其中这些计数器的每一个是对应该预查表中这些预查位的每一个所对应的该转换地址;
若该路由选择表中增加一第一地址时,则将该更新表中对应该第一地址的第一有效地址所涵盖的该转换地址的该计数器加一,且将该预查表中对应该转换地址的该预查位设为有效;以及
若该路由选择表中删除一第二地址时,则将该更新表中对应该第二地址的第二有效地址所涵盖的该转换地址的该计数器减一,且若该计数器等于零,则将该预查表中对应该转换地址的该预查位设为无效。
6、如权利要求1所述的方法,其中该预设处理为直接将该包经由一特定口传出。
7、如权利要求1所述的方法,其中该预设处理为将该包丢弃。
8、一种网络地址预查方法,适用于因特网包传送系统,该方法包括下列步骤:
提供一路由选择表与一散列表;
提供包括多个预查位的一预查表,其中这些预查位的每一个对应一转换地址,且当该转换地址所对应的任一网络地址存在于该路由选择表时,则对应该转换地址的该预查位为有效;
接收包括一目的地址的包;
将该目的地址与该散列表进行比对,找寻一符合项目;
于该预查表中,检查与该目的地址的有效地址相同的该转换地址所对应的该预查位;以及
若与该目的地址的有效地址相同的该转换地址所对应的该预查位为无效,则将该包进行一预设处理。
9、如权利要求8所述的方法,其中还包括:
若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效,且该符合项目存在于该散列表时,则将该包由该符合项目的转接端口传出;以及
若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效,且该符合项目不存在于该散列表时,则将该包进行一软件路由选择。
10、如权利要求8所述的方法,其中该包还包括一源地址,且若与该目的地址的有效地址相同的该转换地址所对应的该预查位为有效时,则将该源地址与一接收到该包的接收端口记录至该散列表中。
11、如权利要求8所述的方法,其中还包括:
提供一包括多个计数器的更新表,其中这些计数器的每一个是对应该预查表中这些预查位的每一个所对应的该转换地址;
若该路由选择表中增加一第一地址时,则将该更新表中对应该第一地址的第一有效地址所涵盖的该转换地址的该计数器加一,且将该预查表中对应该转换地址的该预查位设为有效;以及
若该路由选择表中删除一第二地址时,则将该更新表中对应该第二地址的第二有效地址所涵盖的该转换地址的该计数器减一,且若该计数器等于零,则将该预查表中对应该转换地址的该预查位设为无效。
12、如权利要求8所述的方法,其中该预设处理为直接将该包经由一特定口传出。
13、如权利要求8所述的方法,其中该预设处理为将该包丢弃。
CN01119780A 2001-06-01 2001-06-01 网络地址预查方法 Pending CN1390009A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN01119780A CN1390009A (zh) 2001-06-01 2001-06-01 网络地址预查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN01119780A CN1390009A (zh) 2001-06-01 2001-06-01 网络地址预查方法

Publications (1)

Publication Number Publication Date
CN1390009A true CN1390009A (zh) 2003-01-08

Family

ID=4663716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01119780A Pending CN1390009A (zh) 2001-06-01 2001-06-01 网络地址预查方法

Country Status (1)

Country Link
CN (1) CN1390009A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
WO2015180125A1 (en) * 2014-05-30 2015-12-03 Qualcomm Incorporated Multi-table hash-based lookups for packet processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
WO2015180125A1 (en) * 2014-05-30 2015-12-03 Qualcomm Incorporated Multi-table hash-based lookups for packet processing

Similar Documents

Publication Publication Date Title
US6377984B1 (en) Web crawler system using parallel queues for queing data sets having common address and concurrently downloading data associated with data set in each queue
Partridge et al. A faster UDP (user datagram protocol)
US6819670B1 (en) Data packet routing for mobile networks
US6442617B1 (en) Method and system for filtering multicast packets in a peripheral component environment
US20050111455A1 (en) VLAN server
US8207876B2 (en) Memory efficient indexing for disk-based compression
CN1606294A (zh) 改进的用于路由器的访问控制列表机制
CN101009656A (zh) 路由系统及其管理规则条目的方法
CN101459576B (zh) 一种ip acl归并优化处理的实现方法
CN1848814A (zh) 在交换机的输入端口处过滤帧
US5881241A (en) System for transmitting data packet after matching data packet&#39;s routing pattern with predetermined data routes stored in a route table
CN112367278A (zh) 基于可编程数据交换机的云网关系统及其报文处理方法
CN1852253A (zh) 一种arp报文处理方法
US9218356B2 (en) Systems and methods for accelerating networking functionality
US20040076121A1 (en) Method for an internet communication
CN1390009A (zh) 网络地址预查方法
CN101079799A (zh) 一种基于硬件加速的动态端口控制装置
US20020163917A1 (en) Pre-lookup method for internet addressing
CN1411218A (zh) 分片报文的网络访问控制方法
EP1461722B1 (en) Multi-feature classification memory structure for associative matching
JPH05241934A (ja) 計算機システム
CN1152542C (zh) 一种多任务操作系统中任务进程的保护方法
CN1270256C (zh) 实现销售点终端多应用的方法和系统
JPH09107377A (ja) ルーティングテーブル検索方法
Stevens On the classification of reducible curve singularities

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
C20 Patent right or utility model deemed to be abandoned or is abandoned