專利名稱::處理網(wǎng)絡(luò)封包的裝置及方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種處理網(wǎng)絡(luò)封包的機(jī)制,尤指一種預(yù)先檢查網(wǎng)絡(luò)封包的因特網(wǎng)協(xié)議地址是否符合一范圍來處理網(wǎng)絡(luò)封包以及利用精簡的儲存方式來支持多種動作的執(zhí)行的裝置及其相關(guān)方法。
背景技術(shù):
:存取控制列表(AccessControlList,簡稱ACL)已經(jīng)普遍使用在各種系統(tǒng)或各種通訊裝置中。當(dāng)系統(tǒng)或通訊裝置接收到網(wǎng)絡(luò)封包時,會利用存取控制列表來過濾網(wǎng)絡(luò)封包,并據(jù)以將網(wǎng)絡(luò)封包分配至各目的地。請參閱圖1,圖1是現(xiàn)有存取控制列表100的示意圖。假設(shè)存取控制列表100包含有8個條目(entry)以及3個項目,8個條目為EnOEn7,3個項目為媒體存取控制地址(MediaAccessControlAddress,簡稱MACAddress)、因特網(wǎng)協(xié)議地址QnternetProtocolAddress,簡稱IPAddress)與動作(Action)。現(xiàn)有網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù)流(datastream),在其處理過程中,如果數(shù)據(jù)流到達(dá)了存取控制列表100的處理模塊時,那么該處理模塊首先會用存取控制列表100來檢查網(wǎng)絡(luò)封包是否允許進(jìn)入該處理模塊,并根據(jù)檢查的結(jié)果采取相應(yīng)的處理,舉例來說,對于符合規(guī)則的網(wǎng)絡(luò)封包的處理,就是對網(wǎng)絡(luò)封包執(zhí)行相對應(yīng)的動作,而動作可能是使網(wǎng)絡(luò)設(shè)備將網(wǎng)絡(luò)封包丟棄(deny)或者允許網(wǎng)絡(luò)設(shè)備進(jìn)一步處理網(wǎng)絡(luò)封包(permit)。如圖1所示,網(wǎng)絡(luò)設(shè)備會從網(wǎng)絡(luò)封包中提取出其因特網(wǎng)協(xié)議地址和媒體存取控制地址字段的值,在條目EnO中,首先會檢查網(wǎng)絡(luò)封包的媒體存取控制地址是否為0090c3000001,并檢查因特網(wǎng)協(xié)議地址是否為192.168.1.10。當(dāng)網(wǎng)絡(luò)封包的媒體存取控制地址為0090c3000001且因特網(wǎng)協(xié)議地址為192.168.1.10時,則執(zhí)行動作0001(例如將網(wǎng)絡(luò)封包丟棄);反之,則不執(zhí)行動作0001,同理,在條目Enl中,首先會檢查網(wǎng)絡(luò)封包的媒體存取控制地址是否為0080cl000008,并檢查因特網(wǎng)協(xié)議地址是否為192.168.1.10。當(dāng)網(wǎng)絡(luò)封包的媒體存取控制地址為0080cl000008且因特網(wǎng)協(xié)議地址為192.168.1.10時,則執(zhí)行動作0010(例如進(jìn)一步處理該網(wǎng)絡(luò)封包);反之,則不執(zhí)行動作0010。以此類推,直到所有條目(EnOEn7)比對結(jié)束或者有某條條目匹配。有些存取控制列表100的處理模塊也可以設(shè)計成在找到匹配的規(guī)則并執(zhí)行相對應(yīng)的動作之后,還會繼續(xù)往下進(jìn)行比對,從而針對一個網(wǎng)絡(luò)封包執(zhí)行多個動作。此外,隨著網(wǎng)絡(luò)應(yīng)用的日益豐富,要求網(wǎng)絡(luò)設(shè)備能夠更精細(xì)的對數(shù)據(jù)流進(jìn)行處理,導(dǎo)致網(wǎng)絡(luò)設(shè)備所要處理的存取控制列表條目增多,這進(jìn)一步增加了對存取控制列表處理模塊的處理速度的要求。如果比對的速度太慢,則影響數(shù)據(jù)流的轉(zhuǎn)發(fā)速度,網(wǎng)絡(luò)設(shè)備難免會成為數(shù)據(jù)傳輸效能的瓶頸。因此,需要更具有擴(kuò)展性的做法,例如使用并行比較的方法,意艮口,將封包中的所需的信息提取出來,按照期望的格式排列,一次性就與所有的存取控制列表規(guī)則進(jìn)行比對,再遴選出比對的結(jié)果。并行比較的方法目前普遍采用三態(tài)內(nèi)容尋址內(nèi)存(TernaryContentAddressableMemory,TCAM)或內(nèi)容尋址內(nèi)存(ContentAddressable4Memory,CAM)來存儲存取控制列表規(guī)則,再針對三態(tài)內(nèi)容尋址內(nèi)存或內(nèi)容尋址內(nèi)存的比對結(jié)果來處理,然而,三態(tài)內(nèi)容尋址內(nèi)存以及內(nèi)容尋址內(nèi)存只能一個位一個位的對提取出來的信息進(jìn)行比對,因此,很難利用檢查封包的某個特征是否屬于某個范圍內(nèi)的值,來做到范圍檢驗(rangecheck)的概念。另一方面,對網(wǎng)絡(luò)設(shè)備的功能要求日益增強(qiáng),針對網(wǎng)絡(luò)封包處理的動作便出現(xiàn)了更多的處理類型,例如加密(Encryption)、內(nèi)部虛擬網(wǎng)絡(luò)辨識碼(VirtualLANID,VID)轉(zhuǎn)換、外部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換、頻寬管制(rate-limit)、重新定向(re-direct)以及丟棄(Drop)等。目前業(yè)界的作法則是擴(kuò)展存取控制列表中的動作,來直接提供更多的處理方式,以針對網(wǎng)絡(luò)封包作出適當(dāng)處理。目前常見的實現(xiàn)方式有兩種一種是每個存取控制列表規(guī)則只能對應(yīng)一種動作,如果要對網(wǎng)絡(luò)封包做多種處理,則必須使用多條存取控制列表規(guī)則;而另一種則是為每條存取控制列表規(guī)則都提供了所有的動作,以通過設(shè)定來使某些動作生效。兩種方法各有利弊,對于前者來說,存取控制列表規(guī)則所需提供的訊息較少,因此單條存取控制列表規(guī)則所需的成本較低(例如使用的位較少),但是對同一類網(wǎng)絡(luò)封包進(jìn)行多樣化處理時,則需要提供多條存取控制列表規(guī)則,由于每條提供一種動作,因此會額外耗費較多的存取控制列表規(guī)則。對于后者來說,每條存取控制列表規(guī)則都能夠提供足夠的訊息,因此如果對同一類網(wǎng)絡(luò)封包有多種處理需求,則一條存取控制列表規(guī)則即可以滿足需求,但是由于每條存取控制列表規(guī)則需要提供所有可能的動作,故單條存取控制列表規(guī)則的成本較高(例如使用的位較多),且實際應(yīng)用中,每個數(shù)據(jù)流通常并不會同時用到所有的動作,導(dǎo)致位空間的浪費。因此,如何能提供足夠的訊息并降低成本或加速對存取控制列表處理模塊的處理速度便是一個很重要的課題。
發(fā)明內(nèi)容本發(fā)明的目的之一在于提供處理網(wǎng)絡(luò)封包的裝置及其相關(guān)的方法,以解決先前技術(shù)中的問題。本發(fā)明的實施例揭露了一種處理一網(wǎng)絡(luò)封包的裝置,包含有一擷取單元、一對照表供應(yīng)單元、一預(yù)先處理單元以及一控制單元。該擷取單元用來從該網(wǎng)絡(luò)封包中擷取一信息,該對照表供應(yīng)單元用來提供一對照表,該預(yù)先處理單元耦接于該擷取單元以及該對照表供應(yīng)單元,用來比較該信息以及該對照表來產(chǎn)生一比較結(jié)果,該控制單元耦接于該預(yù)先處理單元,用來依據(jù)該比較結(jié)果選取一處理規(guī)則來對該網(wǎng)絡(luò)封包進(jìn)行處理。本發(fā)明的另一實施例揭露了一種處理一網(wǎng)絡(luò)封包的裝置,包含有一擷取單元、一預(yù)先處理單元、一搜尋單元、一解碼單元以及一執(zhí)行單元。該擷取單元用來從該網(wǎng)絡(luò)封包中擷取一信息;該預(yù)先處理單元耦接于該擷取單元,用來比較該信息以及一對照表來產(chǎn)生一比較結(jié)果;該搜尋單元用以依據(jù)該比較結(jié)果來決定對應(yīng)該比較結(jié)果的一編碼數(shù)據(jù);該解碼單元耦接于該搜尋單元,用來解碼該編碼數(shù)據(jù)以決定對應(yīng)該比較結(jié)果的該處理規(guī)則所指定的該至少一動作;以及該執(zhí)行單元耦接于該解碼單元,用以執(zhí)行對應(yīng)該比較結(jié)果的該處理規(guī)則所指定的該至少一動作來對該網(wǎng)絡(luò)封包進(jìn)行處理。本發(fā)明的另一實施例揭露了一種處理一網(wǎng)絡(luò)封包的方法,包含有下列步驟從該網(wǎng)絡(luò)封包中擷取一信息;提供一對照表;比較該信息以及該對照表來產(chǎn)生一比較結(jié)果;以及依據(jù)該比較結(jié)果選取一處理規(guī)則來對該網(wǎng)絡(luò)封包進(jìn)行處理。本發(fā)明的另一實施例揭露了一種處理一網(wǎng)絡(luò)封包的方法,包含有下列步驟從該網(wǎng)絡(luò)封包中擷取一信息;比較該信息以及一對照表來產(chǎn)生一比較結(jié)果;依據(jù)該比較結(jié)果來決定對應(yīng)該比較結(jié)果的一編碼數(shù)據(jù);解碼該編碼數(shù)據(jù)以決定對應(yīng)該比較結(jié)果的該處理規(guī)則所指定的該至少一動作;以及對應(yīng)該比較結(jié)果的該處理規(guī)則所指定的該至少一動作來對該網(wǎng)絡(luò)封包進(jìn)行處理。圖1是現(xiàn)有存取控制列表的示意圖。圖2為本發(fā)明處理一網(wǎng)絡(luò)封包的裝置的第一實施例的示意圖。圖3是對照表供應(yīng)單元所提供一對照表的一實施例的示意圖。圖4是本發(fā)明的三態(tài)內(nèi)容尋址內(nèi)存的示意圖。圖5為本發(fā)明處理一網(wǎng)絡(luò)封包的裝置的第二實施例的示意圖。圖6利用存取控制列表規(guī)則處理一網(wǎng)絡(luò)封包的一實施例的示意圖。圖7為本發(fā)明處理一網(wǎng)絡(luò)封包的裝置的第三實施例的示意圖。圖8為本發(fā)明處理一網(wǎng)絡(luò)封包的方法的一操作范例的流程圖。圖9為本發(fā)明處理一網(wǎng)絡(luò)封包的方法的另一操作范例的流程圖。圖10為本發(fā)明處理一網(wǎng)絡(luò)封包的方法的再另一操作范例的流程圖。主要組件符號說明100存取控制列表300對照表401、402、403、610、620字段600存取控制列表規(guī)則550、750搜尋單元560、760解碼單元200、500、700裝置210擷取單元220對照表供應(yīng)單元230預(yù)先處理單元240、540、740控制單元245三態(tài)內(nèi)容尋址內(nèi)存246、570、770執(zhí)行單元605動作選項具體實施例方式請參照圖2,圖2為本發(fā)明處理一網(wǎng)絡(luò)封包P_IN的裝置200的第一實施例的示意圖。如圖2所示,裝置200包含有(但不局限于)一擷取單元210、一對照表供應(yīng)單元220、一預(yù)先處理單元230以及一控制單元M0。擷取單元210用來從網(wǎng)絡(luò)封中擷取一信息SI,例如在本實施例中,信息SI是以從網(wǎng)絡(luò)封包P_IN的相對應(yīng)字段中擷取的一來源因特網(wǎng)協(xié)議地址來作說明,但此并非本發(fā)明的限制條件,在其它實施例中,信息SI亦可以是一來源MAC地址、一虛擬網(wǎng)絡(luò)辨識碼或一傳輸控制協(xié)議(TransmissionControlProtocol,TCP)/用戶數(shù)據(jù)報協(xié)議(UserDatagramProtocol,UDP)端口。對照表供應(yīng)單元220用來提供一對照表300,而預(yù)先處理單元230耦接于擷取單元210以及對照表供應(yīng)單元220,用來比較信息SI以及對照表300來產(chǎn)生一比較結(jié)果CR??刂茊卧?40耦接于預(yù)先處理單元230,用來依據(jù)比較結(jié)果CR選取一處理規(guī)則來對網(wǎng)絡(luò)封包P_IN進(jìn)行處理。本實施例中,控制單元240包含有一三態(tài)內(nèi)容尋址內(nèi)存M5以及一執(zhí)行單元M6,三態(tài)內(nèi)容尋址內(nèi)存M5,具有至少一內(nèi)存條目,用來儲存比較結(jié)果CR,而執(zhí)行單元246則是用來自該內(nèi)存條目讀取比較結(jié)果CR,并執(zhí)行對應(yīng)比較結(jié)果CR的該處理規(guī)則所指定的至少一動作來對網(wǎng)絡(luò)封包P_IN進(jìn)行處理。請參照圖3,圖3是圖2所示的對照表供應(yīng)單元220所提供的對照表300的一實施例的示意圖。如第3圖所示,對照表300具有多個對照表條目(tableentry),分別記錄多個信息范圍,在本實施例中,對照表300中以包含8個對照表條目(ΤΕ0TE7)為例,此外,對照表300記載來源因特網(wǎng)協(xié)議地址的范圍,然而,這些并非本發(fā)明的限制條件。如第3圖所示,對照表條目TEO記錄來源因特網(wǎng)協(xié)議地址的范圍為[192.168.1.0,192.168.2.123],對照表條目TEl設(shè)定的范圍是[172.29.2.0,172.34.0.111],而其它對照表條目TE2TE7目前則沒有設(shè)定。裝置200的操作詳述如下。請同時參照圖2以及圖3,首先,當(dāng)網(wǎng)絡(luò)封包P_IN到達(dá)裝置200時,擷取單元210對網(wǎng)絡(luò)封包P_IN的相對應(yīng)字段中擷取一來源因特網(wǎng)協(xié)議地址,預(yù)先處理單元230比較該來源因特網(wǎng)協(xié)議地址以及8個對照表條目(ΤΕ0TE7)來產(chǎn)生比較結(jié)果CR,其中比較結(jié)果CR以每個對照表條目對應(yīng)一個位(bit)來表示該來源因特網(wǎng)協(xié)議地址是否落在該對照表條目的設(shè)定范圍內(nèi),舉例來說,該位的內(nèi)容如果是“0”,則表示網(wǎng)絡(luò)封包P_IN的來源因特網(wǎng)協(xié)議地址不在該對照表條目的設(shè)定范圍內(nèi),反之,如果該位的內(nèi)容是“1”,則表示網(wǎng)絡(luò)封包P_IN的該來源因特網(wǎng)協(xié)議地址落在該對照表條目的設(shè)定范圍內(nèi)。如果網(wǎng)絡(luò)封包P_IN的該來源因特網(wǎng)協(xié)議地址是192.168.2.1,則比較結(jié)果CR為0x01;如果網(wǎng)絡(luò)封包P_IN的該來源因特網(wǎng)協(xié)議地址是172.29.2.3,則比較結(jié)果CR是0x02;如果網(wǎng)絡(luò)封包P_IN的該來源因特網(wǎng)協(xié)議地址是224.0.0.1,則比較結(jié)果CR便是0x00。控制單元240會把比較結(jié)果CR、網(wǎng)絡(luò)封包本身的訊息(例如一傳輸控制協(xié)議來源端口(TCPSOURCEPORT))以及處理過程中所產(chǎn)生的其它訊息(例如所對應(yīng)的動作)等儲存在三態(tài)內(nèi)容尋址內(nèi)存M5的一內(nèi)存條目中。請參閱圖4,圖4是圖2所示的三態(tài)內(nèi)容尋址內(nèi)存M5的一實施例的示意圖。每一內(nèi)存條目(例如MEOME2)均會有一字段401用來儲存比較結(jié)果CR、一字段402用來儲存?zhèn)鬏斂刂茀f(xié)議來源端口的信息、一字段403用來儲存所對應(yīng)的動作。在本實施例中,預(yù)先設(shè)定一處理規(guī)則是要設(shè)定只允許符合[192.168.1.0,192.168.2.123]這個來源因特網(wǎng)協(xié)議地址范圍的網(wǎng)絡(luò)封包通過,以及來源因特網(wǎng)協(xié)議地址屬于[172.29.2.0,172.34.0.111]范圍內(nèi)的網(wǎng)絡(luò)封包都要執(zhí)行頻寬管制(rate-limit),而其它的網(wǎng)絡(luò)封包則不允許通過,基于三態(tài)內(nèi)容尋址內(nèi)存對5的設(shè)定,對于符合放行條件的網(wǎng)絡(luò)封包,其會匹配到內(nèi)存條目ΜΕ0,因此執(zhí)行單元246便執(zhí)行內(nèi)存條目MEO對應(yīng)的動作,以允許網(wǎng)絡(luò)封包通過來進(jìn)一步處理該網(wǎng)絡(luò)封包;對于來源因特網(wǎng)協(xié)議地址落在[172.29.2.0,172.34.0.111]范圍內(nèi)的網(wǎng)絡(luò)封包,會對應(yīng)到內(nèi)存條目MEl,因此執(zhí)行單元246執(zhí)行內(nèi)存條目MEl對應(yīng)的動作,來對網(wǎng)絡(luò)封包進(jìn)行頻寬管制。對于其它的網(wǎng)絡(luò)封包,會對應(yīng)到內(nèi)存條目ME2,而相應(yīng)的動作則會是不允許網(wǎng)絡(luò)封包通過。請參照圖5,圖5為本發(fā)明處理一網(wǎng)絡(luò)封包的裝置500的第二實施例的示意圖。圖5所示的裝置500與圖2所示的裝置200相似,而兩者不同之處在于控制單元540包含有一搜尋單元550、一解碼單元560以及一執(zhí)行單元570。如圖5所示,搜尋單元550用以依據(jù)比較結(jié)果CR來決定對應(yīng)比較結(jié)果CR的一編碼數(shù)據(jù),而解碼單元560耦接于搜尋單元550,用來解碼該編碼數(shù)據(jù)以決定對應(yīng)比較結(jié)果CR的處理規(guī)則所指定的至少一動作,另外,執(zhí)行單元570耦接于解碼單元560,用以執(zhí)行對應(yīng)比較結(jié)果CR的處理規(guī)則所指定的該至少一動作來對網(wǎng)絡(luò)封進(jìn)行處理。請注意,于本實施例中,每一編碼數(shù)據(jù)以及每一編碼數(shù)據(jù)所決定的相對應(yīng)動作的內(nèi)容以一固定位長度來儲存。請參照圖6,圖6是本發(fā)明處理一網(wǎng)絡(luò)封包的一實施例的示意圖。如圖6所示,圖6包含有動作選項605以及存取控制列表規(guī)則600,存取控制列表規(guī)則600中每一條目包含有一動作選擇字段610以及一動作信息字段620。一般而言,每一網(wǎng)絡(luò)封包通常都要求能夠同時做多種處理,在本實施例中,以加密、內(nèi)部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換、外部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換、頻寬管制、重新定向以及丟棄6個動作為例,如動作選項605所示,每個動作以一個位表示,因此本實施例中是6個位,其中最低位為丟棄、最高位為加密,而其它順序如圖6所示,本領(lǐng)域技術(shù)人員應(yīng)可輕易了解。如果相對應(yīng)的位選擇為“1”,則表示動作信息字段620中提供了相對應(yīng)動作的訊息,反之,則表示動作信息字段620沒有提供相對應(yīng)動作的訊息。每個動作信息字段620都可以被解讀成任意可以支持的動作的格式,本實施例中的存取控制列表規(guī)則600的每一條目最多支持三個動作,但這并非本發(fā)明的限制條件,在本發(fā)明的其它實施例中,支持更多的動作也是可行的。如圖6所示,條目REO中,當(dāng)搜尋單元550依據(jù)比較結(jié)果CR而決定出對應(yīng)比較結(jié)果CR的動作選擇字段610中一編碼數(shù)據(jù)為OxlA時,解碼單元560解碼該編碼數(shù)據(jù)(亦即OxlA)以決定對應(yīng)比較結(jié)果CR的處理規(guī)則所指定的至少一動作為內(nèi)部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換、外部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換、以及重新定向,動作信息字段620便提供內(nèi)部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換、外部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換以及重新定向的訊息,如果搜尋單元550依據(jù)比較結(jié)果CR決定出對應(yīng)比較結(jié)果CR的動作選擇字段610中一編碼數(shù)據(jù)為OxM時,解碼單元560解碼該編碼數(shù)據(jù)(亦即OxM)以決定對應(yīng)比較結(jié)果CR的處理規(guī)則所指定的至少一動作為加密以及頻寬管制,動作信息字段620便提供加密以及頻寬管制的訊息,以此類推。請注意,在本實施例中,動作選擇字段610中的每一編碼數(shù)據(jù)以及動作信息字段620中每一編碼數(shù)據(jù)所決定的相對應(yīng)動作的內(nèi)容以一固定位長度來儲存,舉例來說,在一般情況下,虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換需要提供新的虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換,因此至少需要12位,故內(nèi)部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換以及外部虛擬網(wǎng)絡(luò)辨識碼轉(zhuǎn)換總共就是M位;重新定向一般需要提供目的端口數(shù)目,以48端口為例,至少也需要6位;頻寬管制則需要提供頻寬的設(shè)定,本實施例假設(shè)需要10位;加密需要提供密鑰(Key),假設(shè)需要16位;丟棄假設(shè)需要2位。如果采用全部展開的方式來實現(xiàn)處理規(guī)則條目,則至少需要16+12+12+10+6+2=58位,值得注意的是,在本實施例中,每條動作信息字段620最多只需支持3種動作為例,則需要提供16+12+12=40位,再加上動作選擇字段610的長度,總共只要46位就可以支持六種動作(六種動作選用三種),相較現(xiàn)有技術(shù)降低了20%左右的使用空間。如此一來,便可以減少存取控制列表規(guī)則中的使用空間,進(jìn)而可降低成本。請注意,在本實施例中,動作選擇字段610以及動作信息字段620整合在同一條目中,但此非本發(fā)明的限制條件,于其它實施例中將動作選擇字段610以及動作信息字段620分開,亦符合本發(fā)明的精神。請參照圖7,圖7為本發(fā)明處理一網(wǎng)絡(luò)封包的裝置700的第三實施例的示意圖。圖7所示的裝置700與圖5所示的裝置500相似,兩者不同之處在于,裝置700中比裝置500少了對照表供應(yīng)單元220以及預(yù)先處理單元230。于圖7所示的實施例中,控制單元740耦接8于擷取單元210,用來依據(jù)擷取單元210所輸出的信息SI選取一處理規(guī)則來對網(wǎng)絡(luò)封包P_IN進(jìn)行處理,然而,于圖5所示的實施例中,控制單元540則耦接于預(yù)先處理單元230,用來依據(jù)比較結(jié)果CR選取一處理規(guī)則來對網(wǎng)絡(luò)封包P_IN進(jìn)行處理,也就是說,裝置700不需預(yù)先檢查網(wǎng)絡(luò)封包的一信息是否符合一范圍,而搜尋單元750、解碼單元760與執(zhí)行單元770的運(yùn)作原理與圖5中的搜尋單元550、解碼單元560與執(zhí)行單元570相似,本領(lǐng)域技術(shù)人員依據(jù)上述圖5以及圖6的操作說明應(yīng)可輕易了解裝置700基于圖6所示的動作選項605及存取控制列表規(guī)則600來處理網(wǎng)絡(luò)封包的操作原理,為簡潔起見,在此便不再贅述。請參考圖8,圖8為本發(fā)明處理一網(wǎng)絡(luò)封包的方法的一操作范例的流程圖,其包含以下的步驟步驟S8OO:開始。步驟S810從一網(wǎng)絡(luò)封包中擷取一信息。步驟S820提供一對照表。步驟S830比較該信息以及該對照表來產(chǎn)生一比較結(jié)果。步驟S840利用一三態(tài)內(nèi)容尋址內(nèi)存中的至少一內(nèi)存條目來儲存該比較結(jié)果。步驟S850自該內(nèi)存條目讀取該比較結(jié)果,并執(zhí)行對應(yīng)該比較結(jié)果的一處理規(guī)則所指定的至少一動作來對該網(wǎng)絡(luò)封包進(jìn)行處理。搭配圖8所示的各步驟以及圖2所示的各組件即可得知相關(guān)的操作細(xì)節(jié),為簡潔起見,故于此不再贅述。請參考圖9,圖9為本發(fā)明處理一網(wǎng)絡(luò)封包的方法的另一操作范例的流程圖,其包含以下的步驟步驟S900:開始。步驟S910從一網(wǎng)絡(luò)封包中擷取一信息。步驟S920提供一對照表。步驟S930比較該信息以及該對照表來產(chǎn)生一比較結(jié)果。步驟S940依據(jù)該比較結(jié)果來決定對應(yīng)該比較結(jié)果的一編碼數(shù)據(jù)。步驟S950解碼該編碼數(shù)據(jù)以決定對應(yīng)該比較結(jié)果的處理規(guī)則所指定的至少一動作。步驟S960執(zhí)行對應(yīng)該比較結(jié)果的該處理規(guī)則所指定的該至少一動作來對該網(wǎng)絡(luò)封包進(jìn)行處理。搭配圖9所示的各步驟以及圖5所示的各組件即可得知相關(guān)的操作細(xì)節(jié),為簡潔起見,故于此不再贅述。請參考圖10,圖10為本發(fā)明處理一網(wǎng)絡(luò)封包的方法的再另一操作范例的流程圖,其包含以下的步驟步驟S1000開始。步驟S1010從一網(wǎng)絡(luò)封包中擷取一信息。步驟S1020依據(jù)該信息來決定對應(yīng)該信息的一編碼數(shù)據(jù)。步驟S1030解碼該編碼數(shù)據(jù)以決定對應(yīng)該信息的一處理規(guī)則所指定的至少一動作。步驟S1040執(zhí)行對應(yīng)該信息的該處理規(guī)則所指定的該至少一動作來對該網(wǎng)絡(luò)封包進(jìn)行處理。搭配圖10所示的各步驟以及圖7所示的各元件即可得知相關(guān)的操作細(xì)節(jié),為簡潔起見,故于此不再贅述。由上可知,本發(fā)明提供一種處理網(wǎng)絡(luò)封包的裝置及其相關(guān)方法,可利用預(yù)先檢查封包的一信息是否符合一范圍來處理網(wǎng)絡(luò)封包,以減少對存取控制列表項目的使用,此外,通過對動作進(jìn)行編碼,來提供足夠的動作訊息并減少存取控制列表規(guī)則中的使用空間,進(jìn)而達(dá)成降低成本的目的。以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。權(quán)利要求1.一種處理一網(wǎng)絡(luò)封包的裝置,包含有一擷取單元,用來從所述網(wǎng)絡(luò)封包中擷取一信息;一對照表供應(yīng)單元,用來提供一對照表;一預(yù)先處理單元,耦接于所述擷取單元以及所述對照表供應(yīng)單元,用來比較所述信息以及所述對照表來產(chǎn)生一比較結(jié)果;以及一控制單元,耦接于所述預(yù)先處理單元,用來依據(jù)所述比較結(jié)果選取一處理規(guī)則來對所述網(wǎng)絡(luò)封包進(jìn)行處理。2.根據(jù)權(quán)利要求1所述的裝置,其中,所述對照表具有多個對照表條目(tableentry),分別記錄多個信息范圍,以及所述預(yù)先處理單元用來比較所述信息以及所述多個信息范圍以產(chǎn)生所述比較結(jié)果。3.根據(jù)權(quán)利要求2所述的裝置,其中,所述控制單元包含有一三態(tài)內(nèi)容尋址內(nèi)存(TernaryContentAddressableMemory,TCAM),具有至少一內(nèi)存條目,用來儲存所述比較結(jié)果;以及一執(zhí)行單元,用來自所述內(nèi)存條目讀取所述比較結(jié)果,并執(zhí)行對應(yīng)所述比較結(jié)果的所述處理規(guī)則所指定的至少一動作來對所述網(wǎng)絡(luò)封包進(jìn)行處理。4.根據(jù)權(quán)利要求1所述的裝置,其中,所述控制單元包含有一搜尋單元,用以依據(jù)所述比較結(jié)果來決定對應(yīng)所述比較結(jié)果的一編碼數(shù)據(jù);一解碼單元,耦接于所述搜尋單元,用來解碼所述編碼數(shù)據(jù)以決定對應(yīng)所述比較結(jié)果的所述處理規(guī)則所指定的至少一動作;以及一執(zhí)行單元,耦接于所述解碼單元,用以執(zhí)行對應(yīng)所述比較結(jié)果的所述處理規(guī)則所指定的所述至少一動作來對所述網(wǎng)絡(luò)封包進(jìn)行處理。5.根據(jù)權(quán)利要求4所述的裝置,其中,每一編碼數(shù)據(jù)以及每一編碼數(shù)據(jù)所決定的相對應(yīng)動作的內(nèi)容是以一固定位長度來儲存。6.根據(jù)權(quán)利要求1所述的裝置,其中,所述信息是一來源因特網(wǎng)協(xié)議地址(InternetProtocolAddress,IPAddress)、一來源MAC地址、一虛擬網(wǎng)絡(luò)辨識碼、或一傳輸控制協(xié)議(TransmissionControlProtocol,TCP)/用戶數(shù)據(jù)報協(xié)議(UserDatagramProtocol,UDP)端□。7.一種處理一網(wǎng)絡(luò)封包的裝置,包含有一擷取單元,用來從所述網(wǎng)絡(luò)封包中擷取一信息;以及一控制單元,耦接于所述擷取單元,用來依據(jù)所述信息選取一處理規(guī)則來對所述網(wǎng)絡(luò)封包進(jìn)行處理,所述控制單元包含有一搜尋單元,用以依據(jù)所述信息來決定對應(yīng)所述信息的一編碼數(shù)據(jù);一解碼單元,耦接于所述搜尋單元,用來解碼所述編碼數(shù)據(jù)以決定對應(yīng)所述信息的所述處理規(guī)則所指定的至少一動作;以及一執(zhí)行單元,耦接于所述解碼單元,用以執(zhí)行對應(yīng)所述信息的所述處理規(guī)則所指定的所述至少一動作來對所述網(wǎng)絡(luò)封包進(jìn)行處理。8.根據(jù)權(quán)利要求7所述的裝置,其中,每一編碼數(shù)據(jù)以及每一編碼數(shù)據(jù)所決定的相對應(yīng)動作的內(nèi)容以一固定位長度來儲存。9.根據(jù)權(quán)利要求7所述的裝置,其中,所述信息是一來源因特網(wǎng)協(xié)議地址、一來源MAC地址、一虛擬網(wǎng)絡(luò)辨識碼、或一傳輸控制協(xié)議/用戶數(shù)據(jù)報協(xié)議端口。10.一種處理一網(wǎng)絡(luò)封包的方法,包含有從所述網(wǎng)絡(luò)封包中擷取一信息;提供一對照表;比較所述信息以及所述對照表來產(chǎn)生一比較結(jié)果;以及依據(jù)所述比較結(jié)果選取一處理規(guī)則來對所述網(wǎng)絡(luò)封包進(jìn)行處理。11.根據(jù)權(quán)利要求10所述的方法,其中,所述對照表具有多個對照表條目,分別記錄多個信息范圍,以及依據(jù)所述比較結(jié)果選取所述處理規(guī)則來對所述網(wǎng)絡(luò)封包進(jìn)行處理的步驟包含有比較所述信息以及所述多個信息范圍,以產(chǎn)生所述比較結(jié)果。12.根據(jù)權(quán)利要求11所述的方法,其中,依據(jù)所述比較結(jié)果選取所述處理規(guī)則來對所述網(wǎng)絡(luò)封包進(jìn)行處理的步驟包含有利用一三態(tài)內(nèi)容尋址內(nèi)存中的至少一內(nèi)存條目來儲存所述比較結(jié)果;以及自所述內(nèi)存條目讀取所述比較結(jié)果,并執(zhí)行對應(yīng)所述比較結(jié)果的所述處理規(guī)則所指定的至少一動作來對所述網(wǎng)絡(luò)封包進(jìn)行處理。13.根據(jù)權(quán)利要求11所述的方法,其中,依據(jù)所述比較結(jié)果選取所述處理規(guī)則來對所述網(wǎng)絡(luò)封包進(jìn)行處理的步驟包含有依據(jù)所述比較結(jié)果來決定對應(yīng)所述比較結(jié)果的一編碼數(shù)據(jù);解碼所述編碼數(shù)據(jù)以決定對應(yīng)所述比較結(jié)果的所述處理規(guī)則所指定的至少一動作;以及執(zhí)行對應(yīng)所述比較結(jié)果的所述處理規(guī)則所指定的所述至少一動作來對所述網(wǎng)絡(luò)封包進(jìn)行處理。14.根據(jù)權(quán)利要求13所述的方法,其中,每一編碼數(shù)據(jù)以及每一編碼數(shù)據(jù)所決定的相對應(yīng)動作的內(nèi)容以一固定位長度來儲存。15.根據(jù)權(quán)利要求10所述的方法,其中,所述信息是一來源因特網(wǎng)協(xié)議地址、一來源MAC地址、一虛擬網(wǎng)絡(luò)辨識碼或一傳輸控制協(xié)議/用戶數(shù)據(jù)報協(xié)議端口。16.一種處理一網(wǎng)絡(luò)封包的方法,包含有從所述網(wǎng)絡(luò)封包中擷取一信息;依據(jù)所述信息來決定對應(yīng)所述信息的一編碼數(shù)據(jù);解碼所述編碼數(shù)據(jù)以決定對應(yīng)所述信息的所述處理規(guī)則所指定的至少一動作;以及對應(yīng)所述信息的所述處理規(guī)則所指定的所述至少一動作來對所述網(wǎng)絡(luò)封包進(jìn)行處理。17.根據(jù)權(quán)利要求16所述的方法,其中,每一編碼數(shù)據(jù)以及每一編碼數(shù)據(jù)所決定的相對應(yīng)動作的內(nèi)容以一固定位長度來儲存。18.根據(jù)權(quán)利要求16所述的方法,其中,所述信息是一來源因特網(wǎng)協(xié)議地址、一來源MAC地址、一虛擬網(wǎng)絡(luò)辨識碼或一傳輸控制協(xié)議/用戶數(shù)據(jù)報協(xié)議端口。全文摘要本發(fā)明公開了處理網(wǎng)絡(luò)封包的裝置及方法。一種處理一網(wǎng)絡(luò)封包的裝置,包含有一擷取單元、一對照表供應(yīng)單元、一預(yù)先處理單元以及一控制單元。該擷取單元用來從該網(wǎng)絡(luò)封包中擷取一信息,該對照表供應(yīng)單元用來提供一對照表,該預(yù)先處理單元耦接于該擷取單元以及該對照表供應(yīng)單元,用來比較該信息以及該對照表來產(chǎn)生一比較結(jié)果,該控制單元耦接于該預(yù)先處理單元,用來依據(jù)該比較結(jié)果選取一處理規(guī)則來對該網(wǎng)絡(luò)封包進(jìn)行處理。文檔編號H04L1/00GK102480424SQ201010568219公開日2012年5月30日申請日期2010年11月30日優(yōu)先權(quán)日2010年11月30日發(fā)明者張春貴,杜呈偉,許鴻鈞,鄭振益申請人:瑞昱半導(dǎo)體股份有限公司