專利名稱::網絡地址預查方法
技術領域:
:本發明是有關于一種網絡地址預查(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日發明者陳俊儒,王耀宗申請人:普邦科技股份有限公司