專(zhuān)利名稱(chēng):全狀態(tài)路由器及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于IP數(shù)據(jù)包的連接狀態(tài)進(jìn)行路由的路由器,特別是公開(kāi)一種全狀態(tài)路由器及其實(shí)現(xiàn)方法,其應(yīng)用領(lǐng)域在于網(wǎng)絡(luò)通信。
數(shù)據(jù)鏈路層信息包括IP數(shù)據(jù)包的物理地址等。
網(wǎng)絡(luò)層信息還包括源地址、片偏移,數(shù)據(jù)包長(zhǎng)度,協(xié)議和流量的統(tǒng)計(jì)特性等。
傳輸層信息又可分為tcp、udp和icmp三種協(xié)議的信息,其中tcp和udp協(xié)議信息包括源端口和目的端口,icmp協(xié)議信息包括類(lèi)型和代碼等。
應(yīng)用層信息包括特殊字符串及其統(tǒng)計(jì)信息,傳輸?shù)膬?nèi)容,病毒和相關(guān)的其它通道的連接狀態(tài)等。
相關(guān)的其它通道的連接狀態(tài)是指這樣的含義大多數(shù)媒體協(xié)議和其他的一些協(xié)議都涉及到了多通道,如ftp,netmeeting,rpc,和SQL*Net.當(dāng)其中一個(gè)通道(如ftp控制通道)在連接過(guò)程中會(huì)根據(jù)要求建立其它通道(如ftp-data數(shù)據(jù)通道)的連接,那么其它通道的是如何建立連接,何時(shí)建立,何時(shí)結(jié)束,及其傳輸?shù)膬?nèi)容等信息就是它們的連接狀態(tài)。
由全狀態(tài)路由器實(shí)現(xiàn)方法形成的全狀態(tài)路由器,它包括路由查詢(xún)模塊,其特征在于路由查詢(xún)模塊中含有狀態(tài)路由模塊,所述的狀態(tài)路由模塊由狀態(tài)匹配模塊、動(dòng)作模塊、相關(guān)處理模塊組成;IP數(shù)據(jù)包進(jìn)入狀態(tài)匹配模塊,它的狀態(tài)信息與路由的規(guī)則的匹配條件進(jìn)行狀態(tài)匹配,如果匹配成功,進(jìn)入動(dòng)作模塊,以完成對(duì)數(shù)據(jù)包的動(dòng)作;主動(dòng)作的結(jié)果要求接受IP數(shù)據(jù)包時(shí),就設(shè)置下一跳地址和輸出接口網(wǎng)卡;主動(dòng)作非接受IP數(shù)據(jù)包時(shí),就進(jìn)入與主動(dòng)作相關(guān)的處理流程,最后退出路由模塊。
狀態(tài)匹配模塊在結(jié)構(gòu)上又分為主匹配和一系列的擴(kuò)展匹配,由n個(gè)擴(kuò)展匹配和一個(gè)主匹配構(gòu)成一條狀態(tài)匹配鏈,這里整數(shù)n≥0;當(dāng)n=0時(shí),意味著沒(méi)有擴(kuò)展匹配;主匹配是必需的,也是內(nèi)制的;擴(kuò)展匹配是可選的。
動(dòng)作模塊在結(jié)構(gòu)上又分為主動(dòng)作和一系列的擴(kuò)展動(dòng)作,由m個(gè)擴(kuò)展動(dòng)作和1個(gè)主動(dòng)作構(gòu)成了一條動(dòng)作鏈,這里整數(shù)m≥0;當(dāng)m=0時(shí),意味著沒(méi)有擴(kuò)展動(dòng)作;主動(dòng)作是必需的,所有的擴(kuò)展動(dòng)作是可選的。
與主動(dòng)作相關(guān)的處理流程除了能處理主動(dòng)作返回的拋棄、回絕、參數(shù)錯(cuò)誤和借用這幾種情況外,還可擴(kuò)展處理其它需要的情形,這正是該全狀態(tài)路由器的實(shí)現(xiàn)機(jī)制具有處理擴(kuò)展性的原因。
狀態(tài)匹配就是對(duì)上述連接狀態(tài)的匹配,如對(duì)數(shù)據(jù)包的原地址,目的地址,協(xié)議,tcp或udp的原端口及目的端口,icmp的類(lèi)型和代碼,硬件地址,數(shù)據(jù)中的字符特征如病毒,流量的統(tǒng)計(jì)特性等連接狀態(tài)特征的匹配。
動(dòng)作包括對(duì)數(shù)據(jù)包的接受,審計(jì),回絕,拋棄,參數(shù)或內(nèi)容的變換,派生輔助規(guī)則和刪除輔助規(guī)則等功能。其中參數(shù)或內(nèi)容的變換包括原地址或目的地址轉(zhuǎn)換,數(shù)據(jù)包的加解密,去病毒等等,以實(shí)現(xiàn)負(fù)載平衡,虛擬服務(wù)器,殺毒,虛擬專(zhuān)用網(wǎng)等功能。當(dāng)多通道協(xié)議建立其它通道時(shí),派生輔助規(guī)則是為了讓其它通道在需要時(shí)通過(guò),而這些通道結(jié)束連接后,再刪除輔助規(guī)則。
由上可知,如果該全狀態(tài)路由器的路由選擇僅僅依靠目的地址(和服務(wù)類(lèi)型),并且動(dòng)作的結(jié)果總是接受IP數(shù)據(jù)包時(shí),它就退化為無(wú)狀態(tài)路由器。事實(shí)上,無(wú)狀態(tài)路由器自身并沒(méi)有上述動(dòng)作概念,它只能通過(guò)在路由系統(tǒng)的外面增加其它模塊才能實(shí)現(xiàn)這里的部分動(dòng)作功能。全狀態(tài)路由器是通過(guò)在路由系統(tǒng)中引入動(dòng)作的概念得以緊驟地實(shí)現(xiàn)了上述功能,提高了系統(tǒng)的效率。因此,該全狀態(tài)路由器是無(wú)狀態(tài)路由器的廣義形式,它擴(kuò)展了路由選擇方式,增加了動(dòng)作的概念及功能。
本發(fā)明提出的全狀態(tài)路由器還具有一種可擴(kuò)展的框架體系結(jié)構(gòu),在框架中,可插入任何匹配模塊以實(shí)現(xiàn)期望的匹配條件,可插入任何動(dòng)作模塊以實(shí)現(xiàn)期望的動(dòng)作功能。下面結(jié)合附圖
及實(shí)施例來(lái)進(jìn)一步說(shuō)明。
圖2.狀態(tài)路由器的路由查詢(xún)流程。
圖3.狀態(tài)匹配模塊的結(jié)構(gòu)。
圖4.動(dòng)作模塊的結(jié)構(gòu)。
圖5.主動(dòng)作的相關(guān)處理流程。
本發(fā)明的產(chǎn)品,該全狀態(tài)路由器具有如圖2所述的結(jié)構(gòu)和路由查詢(xún)流程,其特征在于3大模塊,即狀態(tài)匹配模塊,動(dòng)作模塊,相關(guān)處理模塊,它們被標(biāo)志于小虛框之內(nèi)。
IP數(shù)據(jù)包進(jìn)入路由查詢(xún)系統(tǒng)后開(kāi)始循環(huán)查詢(xún)路由表,每次查詢(xún)時(shí)狀態(tài)匹配模塊負(fù)責(zé)將IP數(shù)據(jù)包的狀態(tài)信息與當(dāng)前路由的規(guī)則的匹配條件進(jìn)行狀態(tài)匹配。如果匹配不成功,進(jìn)入下一個(gè)循環(huán),以與下一條路由的規(guī)則的匹配條件進(jìn)行匹配;如果匹配成功,進(jìn)入動(dòng)作模塊,以完成對(duì)數(shù)據(jù)包的動(dòng)作。如果動(dòng)作的結(jié)果要求接受IP數(shù)據(jù)包時(shí),就設(shè)置下一跳地址和輸出接口網(wǎng)卡,否則進(jìn)行與主動(dòng)作相關(guān)的處理,相關(guān)處理的流程如圖5所示。最后退出圖2中所示的路由查詢(xún)模塊。
這里的狀態(tài)匹配在結(jié)構(gòu)上又分為主匹配和一系列的擴(kuò)展匹配,如圖3所示。其特征在于由n個(gè)擴(kuò)展匹配和一個(gè)主匹配構(gòu)成一條狀態(tài)匹配鏈。這里整數(shù)n≥0;當(dāng)n=0時(shí),意味著沒(méi)有擴(kuò)展匹配;主匹配是必需的,也是內(nèi)制的;擴(kuò)展匹配是可選的。
主匹配中的匹配內(nèi)容包括源地址、目標(biāo)地址、協(xié)議類(lèi)型、是否分片、服務(wù)類(lèi)型以及進(jìn)入路由器的網(wǎng)絡(luò)接口等等;擴(kuò)展匹配包括了TCP、UDP、ICMP包的信息的匹配,硬件地址(MAC)的匹配,用戶(hù)身份的匹配,TTL值的匹配,特殊字符串的匹配,以及規(guī)則符合頻率的匹配等前述連接狀態(tài)信息。
只有當(dāng)所有匹配都成功,總的狀態(tài)匹配(鏈)才是成功的;否則,其中如果某一個(gè)匹配不成功,就不再進(jìn)行下一步匹配,那么總的狀態(tài)匹配(鏈)是不成功的。
動(dòng)作模塊在結(jié)構(gòu)上又分為主動(dòng)作和一系列的擴(kuò)展動(dòng)作,如圖4所示。其特征在于由m個(gè)擴(kuò)展動(dòng)作和1個(gè)主動(dòng)作構(gòu)成了一條動(dòng)作鏈,這里整數(shù)m≥0;當(dāng)m=0時(shí),意味著沒(méi)有擴(kuò)展動(dòng)作;主動(dòng)作是必需的,所有的擴(kuò)展動(dòng)作是可選的。
主動(dòng)作決定一個(gè)包的命運(yùn),它實(shí)現(xiàn)對(duì)數(shù)據(jù)包的接受,回絕,拋棄,借用,參數(shù)或內(nèi)容的變換等功能,其中參數(shù)或內(nèi)容的變換包括原地址或目的地址轉(zhuǎn)換,數(shù)據(jù)包的加解密(如用于虛擬專(zhuān)用網(wǎng)),殺毒,以及負(fù)載平衡(Load balancing),虛擬服務(wù)器等功能。
擴(kuò)展動(dòng)作定義了在決定一個(gè)包的命運(yùn)前后對(duì)該包進(jìn)行的輔助動(dòng)作,如只對(duì)IP數(shù)據(jù)包進(jìn)行日志,審計(jì)或探測(cè)而不能夠決定包的命運(yùn)。整個(gè)動(dòng)作鏈的最終結(jié)果由主動(dòng)作結(jié)果決定。當(dāng)主動(dòng)作是過(guò)濾器時(shí),它是內(nèi)制的;否則,它是通過(guò)主動(dòng)作模塊來(lái)實(shí)現(xiàn)的。
對(duì)于圖3所示的狀態(tài)匹配模塊的結(jié)構(gòu),其特征還在于,擴(kuò)展匹配是通過(guò)擴(kuò)展匹配模塊來(lái)實(shí)現(xiàn)的,在狀態(tài)匹配鏈中,它們可以根據(jù)用戶(hù)需要來(lái)增加,減少和擴(kuò)展功能,以實(shí)現(xiàn)期望的擴(kuò)展匹配條件。這是該全狀態(tài)路由器的實(shí)現(xiàn)機(jī)制具有匹配擴(kuò)展性的原因。
對(duì)于圖4所示的動(dòng)作模塊的結(jié)構(gòu),其特征還在于,擴(kuò)展動(dòng)作是通過(guò)擴(kuò)展動(dòng)作模塊來(lái)實(shí)現(xiàn)的,在動(dòng)作鏈中,這些模塊都可以根據(jù)用戶(hù)需要來(lái)增加,減少和擴(kuò)展功能,以實(shí)現(xiàn)期望的擴(kuò)展動(dòng)作。此外,主動(dòng)作模塊也可以根據(jù)用戶(hù)需要來(lái)定制功能,以實(shí)現(xiàn)期望的主動(dòng)作,如源地址轉(zhuǎn)換,目的地址轉(zhuǎn)換,虛擬服務(wù)器,內(nèi)部地址掩藏,加密(用于虛擬專(zhuān)用網(wǎng)),殺毒等。這是該全狀態(tài)路由器的實(shí)現(xiàn)機(jī)制具有動(dòng)作擴(kuò)展性的原因。
對(duì)于圖5所示的主動(dòng)作的相關(guān)處理流程,其特征還在于,除了能處理主動(dòng)作返回的拋棄,回絕,參數(shù)錯(cuò)誤和借用這幾種情況外,還可擴(kuò)展處理其它需要的情形,圖中用省略號(hào)表示。這是該全狀態(tài)路由器的實(shí)現(xiàn)機(jī)制具有處理擴(kuò)展性的原因。
由上可知,本發(fā)明提出的全狀態(tài)路由器具有一種可擴(kuò)展的框架體系結(jié)構(gòu)。事實(shí)上正是上述匹配擴(kuò)展性,動(dòng)作擴(kuò)展性和處理擴(kuò)展性是保證該路由器具有全狀態(tài)特性的基石。因?yàn)槿缜八龅倪B接狀態(tài)的信息眾多,不可能用少數(shù)幾個(gè)模塊來(lái)全部實(shí)現(xiàn),只能利用可擴(kuò)展性來(lái)實(shí)現(xiàn)用戶(hù)希望的功能。
實(shí)施例根據(jù)上述匹配和動(dòng)作在功能上的不同組合,可以容易地將該全狀態(tài)路由器派生為表1中網(wǎng)絡(luò)服務(wù)器。
表1.可由全狀態(tài)路由器派生的網(wǎng)絡(luò)產(chǎn)品
從該表中可見(jiàn),無(wú)狀態(tài)路由器僅僅是該全狀態(tài)路由器的一個(gè)特例。
我們的路由器除了有路由功能外,還具有防火墻的一切功能。傳統(tǒng)防火墻是與路由模塊相分離的,而我們的路由器是與防火墻同為一體,因此具有更高的效率。
權(quán)利要求
1.一種全狀態(tài)路由器的實(shí)現(xiàn)方法,包括根據(jù)數(shù)據(jù)包的目的地址、有的還根據(jù)服務(wù)類(lèi)型,確定發(fā)出網(wǎng)卡和下一跳路徑的路由方式,其特征在于該方法包括基于全部連接狀態(tài)的路由選擇方式和動(dòng)作,其路由選擇的過(guò)程是,基于IP數(shù)據(jù)包的連接狀態(tài)進(jìn)行匹配,簡(jiǎn)稱(chēng)為狀態(tài)匹配;當(dāng)狀態(tài)匹配成功時(shí)才進(jìn)行動(dòng)作;其動(dòng)作的功能是決定IP數(shù)據(jù)包的命運(yùn),它也可根據(jù)要求改變IP數(shù)據(jù)包的連接狀態(tài);只有當(dāng)動(dòng)作的結(jié)果是接受IP數(shù)據(jù)包時(shí)才確定發(fā)出網(wǎng)卡和下一跳路徑;否則就進(jìn)行其它的相關(guān)處理,如拋棄或回絕該IP數(shù)據(jù)包(告述發(fā)送方該包不到達(dá));這里的連接狀態(tài)包括tcp/ip協(xié)議中物理層之上的全部層次的信息,即數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層和應(yīng)用層。
2.根據(jù)權(quán)利要求1所述的全狀態(tài)路由器的實(shí)現(xiàn)方法,其特征在于所述的數(shù)據(jù)鏈路層信息包括IP數(shù)據(jù)包的物理地址。
3.根據(jù)權(quán)利要求1所述的全狀態(tài)路由器的實(shí)現(xiàn)方法,其特征在于所述的網(wǎng)絡(luò)層信息還包括源地址、片偏移,數(shù)據(jù)包長(zhǎng)度,協(xié)議和流量的統(tǒng)計(jì)特性。
4.根據(jù)權(quán)利要求1所述的全狀態(tài)路由器的實(shí)現(xiàn)方法,其特征在于所述的傳輸層信息又可分為tcp、udp和icmp三種協(xié)議的信息,其中tcp和udp協(xié)議信息包括源端口和目的端口,icmp協(xié)議信息包括類(lèi)型和代碼。
5.根據(jù)權(quán)利要求1所述的全狀態(tài)路由器的實(shí)現(xiàn)方法,其特征在于所述的應(yīng)用層信息包括特殊字符串及其統(tǒng)計(jì)信息,傳輸?shù)膬?nèi)容,病毒和相關(guān)的其它通道的連接狀態(tài)。
6.根據(jù)權(quán)利要求1或5所述的全狀態(tài)路由器的實(shí)現(xiàn)方法,其特征在于所述的相關(guān)的其它通道的連接狀態(tài)是指這樣的含義大多數(shù)媒體協(xié)議和其他的一些協(xié)議都涉及到了多通道,如ftp,netmeeting,rpc,和SQL*Net.當(dāng)其中一個(gè)通道(如ftp控制通道)在連接過(guò)程中會(huì)根據(jù)要求建立其它通道(如ftp-data數(shù)據(jù)通道)的連接,那么其它通道的是如何建立連接,何時(shí)建立,何時(shí)結(jié)束,及其傳輸?shù)膬?nèi)容等信息就是它們的連接狀態(tài)。
7.由權(quán)利要求1~6全狀態(tài)路由器實(shí)現(xiàn)方法形成的全狀態(tài)路由器,它包括路由查詢(xún)模塊,其特征在于路由查詢(xún)模塊中含有狀態(tài)路由模塊,所述的狀態(tài)路由模塊由狀態(tài)匹配模塊、動(dòng)作模塊、相關(guān)處理模塊組成;IP數(shù)據(jù)包進(jìn)入狀態(tài)匹配模塊,它的狀態(tài)信息與路由的規(guī)則的匹配條件進(jìn)行狀態(tài)匹配,如果匹配成功,進(jìn)入動(dòng)作模塊,以完成對(duì)數(shù)據(jù)包的動(dòng)作;主動(dòng)作的結(jié)果要求接受IP數(shù)據(jù)包時(shí),就設(shè)置下一跳地址和輸出接口網(wǎng)卡;主動(dòng)作非接受IP數(shù)據(jù)包時(shí),就進(jìn)入與主動(dòng)作相關(guān)的處理流程,最后退出路由模塊。
8.根據(jù)權(quán)利要求7所述的全狀態(tài)路由器,其特征在于所述的狀態(tài)匹配模塊在結(jié)構(gòu)上又分為主匹配和一系列的擴(kuò)展匹配,由n個(gè)擴(kuò)展匹配和一個(gè)主匹配構(gòu)成一條狀態(tài)匹配鏈,這里整數(shù)n≥0;當(dāng)n=0時(shí),意味著沒(méi)有擴(kuò)展匹配;主匹配是必需的,也是內(nèi)制的;擴(kuò)展匹配是可選的。
9.根據(jù)權(quán)利要求7所述的全狀態(tài)路由器,其特征在于所述的動(dòng)作模塊在結(jié)構(gòu)上又分為主動(dòng)作和一系列的擴(kuò)展動(dòng)作,由m個(gè)擴(kuò)展動(dòng)作和1個(gè)主動(dòng)作構(gòu)成了一條動(dòng)作鏈,這里整數(shù)m≥0;當(dāng)m=0時(shí),意味著沒(méi)有擴(kuò)展動(dòng)作;主動(dòng)作是必需的,所有的擴(kuò)展動(dòng)作是可選的。
10.根據(jù)權(quán)利要求7所述的全狀態(tài)路由器,其特征在于所述的與主動(dòng)作相關(guān)的處理流程除了能處理主動(dòng)作返回的拋棄、回絕、參數(shù)錯(cuò)誤和借用這幾種情況外,還可擴(kuò)展處理其它需要的情形。
全文摘要
本發(fā)明涉及一種基于IP數(shù)據(jù)包的連接狀態(tài)進(jìn)行路由的路由器及其實(shí)現(xiàn)機(jī)制。該路由器稱(chēng)為全狀態(tài)路由器,這里的連接狀態(tài)包括tcp/ip協(xié)議中物理層之上的全部層次,即數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層和應(yīng)用層。本發(fā)明提出一套具有良好擴(kuò)展性的框架機(jī)制來(lái)實(shí)現(xiàn)它。在該框架下只需要插入功能模塊就可實(shí)現(xiàn)不同的功能,如包過(guò)濾,地址轉(zhuǎn)換和殺毒等。通過(guò)不同功能的組合,該全狀態(tài)路由器可以容易地派生出網(wǎng)絡(luò)服務(wù)器,如防火墻。同傳統(tǒng)路由器相比,該全狀態(tài)路由器功能強(qiáng)大,擴(kuò)展性好,可以作為高效的防火墻使用。
文檔編號(hào)H04Q3/00GK1479498SQ02136658
公開(kāi)日2004年3月3日 申請(qǐng)日期2002年8月26日 優(yōu)先權(quán)日2002年8月26日
發(fā)明者桑濤, 桑 濤 申請(qǐng)人:桑濤, 桑 濤