欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)包處理的方法及裝置的制作方法

文檔序號(hào):7552065閱讀:194來源:國(guó)知局

專利名稱::數(shù)據(jù)包處理的方法及裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明屬于計(jì)算機(jī)
技術(shù)領(lǐng)域
,尤其涉及一種數(shù)據(jù)包處理的方法及裝置。
背景技術(shù)
:連接跟蹤(conntrack),就是跟蹤并且記錄連接狀態(tài)。Linux(是一種自由和開放源碼的類Unix操作系統(tǒng))為每一個(gè)經(jīng)過網(wǎng)絡(luò)堆棧的數(shù)據(jù)包,生成一個(gè)新的連接記錄項(xiàng)(Connectionentry),該連接記錄可由ip_conntrack結(jié)構(gòu)表示。此后,所有屬于此連接的數(shù)據(jù)包都被唯一地分配給這個(gè)連接,并標(biāo)識(shí)連接的狀態(tài)。連接跟蹤是防火墻模塊的狀態(tài)檢測(cè)的基礎(chǔ),同時(shí)也是地址轉(zhuǎn)換中實(shí)現(xiàn)SNAT(SourceNetworkAddressTranslation,源地址轉(zhuǎn)換)和DNAT(DestinationNetworkAddressTranslation,目的地址轉(zhuǎn)換)的前提。目前應(yīng)用協(xié)議(例如P2P協(xié)議、頂協(xié)議、Email協(xié)議等)控制的通常方法是基于連接狀態(tài)的數(shù)據(jù)包檢測(cè)。數(shù)據(jù)包從網(wǎng)卡進(jìn)來后被分割為獨(dú)立的連接,通過識(shí)別該連接屬于何種應(yīng)用層協(xié)議之后,再對(duì)這條連接上所有的數(shù)據(jù)包打上對(duì)應(yīng)的標(biāo)簽(mark)。通過維護(hù)此條連接的上下行數(shù)據(jù)包以及字節(jié)計(jì)數(shù),實(shí)現(xiàn)對(duì)該協(xié)議類型的流量統(tǒng)計(jì)。然而,現(xiàn)有技術(shù)沒有實(shí)現(xiàn)在不同的應(yīng)用環(huán)境中使用不同的優(yōu)先級(jí)配置進(jìn)行數(shù)據(jù)包的輸出,例如:在協(xié)議識(shí)別時(shí)確保數(shù)據(jù)量較大的協(xié)議的輸出順序的優(yōu)先級(jí)較高,數(shù)據(jù)量小并且使用不廣泛的協(xié)議的輸出順序的優(yōu)先級(jí)較低。
發(fā)明內(nèi)容鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的數(shù)據(jù)包處理的方法及裝置,以實(shí)現(xiàn)根據(jù)數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)來控制數(shù)據(jù)包的輸出順序。依據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)包處理的方法,通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理;目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理;在所述數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理;以及獲取所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制所述數(shù)據(jù)包的輸出順序。根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)包處理的裝置,目的地址轉(zhuǎn)換模塊,用于通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理;路由模塊,用于在源地址轉(zhuǎn)換處理后目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理;源地址轉(zhuǎn)換模塊,用于在所述數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理;以及輸出模塊,用于獲取所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制所述數(shù)據(jù)包的輸出順序。根據(jù)本發(fā)明的數(shù)據(jù)包處理的方法和數(shù)據(jù)包處理的裝置,數(shù)據(jù)包在輸出之前在內(nèi)核空間中僅需通過三個(gè)鉤子函數(shù)的處理,相對(duì)于現(xiàn)有技術(shù)中需經(jīng)過五個(gè)鉤子函數(shù)的處理,有效減少了數(shù)據(jù)包通過鉤子函數(shù)的數(shù)量,其次可通過數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)來控制數(shù)據(jù)包的輸出順序,例如數(shù)據(jù)量較大的數(shù)據(jù)包的輸出順序的優(yōu)先級(jí)較高,數(shù)據(jù)量小且使用不廣泛的數(shù)據(jù)包的輸出順序的優(yōu)先級(jí)較低,最后,本發(fā)明實(shí)施例的可擴(kuò)展性較強(qiáng),可根據(jù)識(shí)別數(shù)據(jù)包的需求配置協(xié)議識(shí)別模塊。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)包處理的方法100的流程圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)包的處理示意圖;圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的ipNAC協(xié)議識(shí)別模塊的包處理的流程示意圖;圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的鏈表數(shù)據(jù)管理各模塊的示意圖;圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的協(xié)議識(shí)別模塊注冊(cè)的示意圖;以及圖6示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例數(shù)據(jù)包處理的裝置600結(jié)構(gòu)示意圖。具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。本發(fā)明的實(shí)施例提出的數(shù)據(jù)包處理的方法,通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理;目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理;在數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理;最后獲取數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制數(shù)據(jù)包的輸出順序。下面結(jié)合圖1具體說明根據(jù)本發(fā)明一個(gè)實(shí)施例的、適于解決上述問題的數(shù)據(jù)包處理的方法100的流程圖。如圖1所示,本發(fā)明的方法100的步驟始于步驟SI10,在步驟SI10中,通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理。在本發(fā)明的一些實(shí)施例中,Netfilter是Linux內(nèi)核中的一個(gè)通用架構(gòu),由一系列基于協(xié)議棧的鉤子(Hook)函數(shù)組成,這些鉤子都對(duì)應(yīng)于某一具體的協(xié)議。Netfilter防火墻的內(nèi)核模塊為了對(duì)內(nèi)核TCP/IP協(xié)議棧的不同類型的數(shù)據(jù)包能夠以多種手段的控制和處理,在數(shù)據(jù)包經(jīng)過協(xié)議棧的游歷路線之中,可設(shè)置三個(gè)掛載點(diǎn),該三個(gè)掛載點(diǎn)可分別命名為PREROUTING(路由前)、F0RWARD和P0STR0UTING(路由后),其中每個(gè)掛載點(diǎn)上可掛載一個(gè)鉤子函數(shù),由于本發(fā)明實(shí)施例中數(shù)據(jù)包僅經(jīng)過三個(gè)鉤子函數(shù)的處理,相對(duì)于現(xiàn)有技術(shù)中的五個(gè)鉤子函數(shù),有效減少了數(shù)據(jù)包通過的鉤子函數(shù)的數(shù)量。可選地,在第一個(gè)掛載點(diǎn)(PREROUTING)上掛載的第一鉤子函數(shù)為NF_IP_PRE_ROUTING函數(shù)。在本發(fā)明實(shí)施例中從網(wǎng)卡進(jìn)入系統(tǒng)的數(shù)據(jù)包首先到達(dá)第一掛載點(diǎn),由NF_IP_PRE_R0UTING函數(shù)對(duì)進(jìn)入網(wǎng)絡(luò)層的數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換。隨后,在步驟S130中,目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理??蛇x地,在第二掛載點(diǎn)(FORWARD)上掛載的第二鉤子函數(shù)為NF_IP_F0RWARD函數(shù)。在本發(fā)明實(shí)施例中該NF_IP_F0RWARD函數(shù)可對(duì)數(shù)據(jù)包進(jìn)行路由處理,使得數(shù)據(jù)包到達(dá)另外另一個(gè)接口。具體地,首先獲取數(shù)據(jù)包的路由規(guī)則,然后根據(jù)路由規(guī)則,通過第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理。在步驟S130之前,可選地,將用于協(xié)議識(shí)別的ip_NAC協(xié)議識(shí)別模塊掛載在內(nèi)核空間中的ip_c0nntrack連接跟蹤模塊上,路由規(guī)則可設(shè)置在ip_NAC協(xié)議識(shí)別模塊中,例如路由規(guī)則可通過ip_table模塊傳遞到ip_NAC協(xié)議識(shí)別模塊中。上述ip_table模塊作為L(zhǎng)inux內(nèi)核防火墻netfilter的用戶管理工具,用于對(duì)模塊添加、移動(dòng)或編輯規(guī)則。這些規(guī)則通過netfilter框架及其相關(guān)模塊發(fā)生作用。ip_table模塊提供了三種策略規(guī)則表:用于數(shù)據(jù)包過濾的filter表、用于網(wǎng)絡(luò)地址轉(zhuǎn)換的nat和用于數(shù)據(jù)包重構(gòu)的managle表。可選地,通過注冊(cè)函數(shù)(例如ipt_dissecoR_registor)將用于識(shí)別P2P協(xié)議的P2P協(xié)議識(shí)別模塊、用于識(shí)別IM協(xié)議的IM協(xié)議識(shí)別模塊和/或用于識(shí)別電子郵件協(xié)議的電子郵件協(xié)議識(shí)別模塊掛載到ip_NAC協(xié)議識(shí)別模塊上。隨后,在步驟S150中,在數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理??蛇x地,在第三掛載點(diǎn)(P0STR0UTING)上掛載的第三鉤子函數(shù)為NF_IP_P0ST_ROUTING函數(shù)。在本發(fā)明實(shí)施例中該NF_IP_P0ST_R0UTING函數(shù)對(duì)輸出且經(jīng)過路由判斷之后的數(shù)據(jù)包進(jìn)行處理,具有源地址轉(zhuǎn)換功能。隨后,在步驟S170中,獲取數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制數(shù)據(jù)包的輸出順序。例如,數(shù)據(jù)量較大的數(shù)據(jù)包優(yōu)先級(jí)較高,數(shù)據(jù)量小并且使用不廣泛的數(shù)據(jù)包優(yōu)先級(jí)較低,使得數(shù)據(jù)量較大的數(shù)據(jù)包的輸出順序較高,數(shù)據(jù)量小且使用不廣泛的數(shù)據(jù)包的輸出順序較低。也就是,在步驟S170中通過數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)對(duì)數(shù)據(jù)包進(jìn)行流量控制(TrafficControl,TC),例如:通過如下過程實(shí)現(xiàn)流量控制。首先,在TC網(wǎng)絡(luò)接口處綁定一個(gè)隊(duì)列,并為這個(gè)隊(duì)列創(chuàng)建多個(gè)分類,用于管理和調(diào)度待發(fā)的數(shù)據(jù)包,TC將流經(jīng)網(wǎng)絡(luò)接口的數(shù)據(jù)包放入一個(gè)隊(duì)列中,對(duì)數(shù)據(jù)包進(jìn)行分類,并根據(jù)過濾規(guī)則把數(shù)據(jù)包放入每個(gè)分類的分隊(duì)列中。其次,TC為每個(gè)分類設(shè)置一條或多條過濾規(guī)則。當(dāng)數(shù)據(jù)包進(jìn)入分類后,相應(yīng)的過濾規(guī)則根據(jù)數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)進(jìn)行匹配。當(dāng)數(shù)據(jù)包被匹配后就會(huì)對(duì)它執(zhí)行相應(yīng)的處理,決定這個(gè)數(shù)據(jù)包發(fā)送順序。最后,TC按照不同優(yōu)先級(jí)到每個(gè)隊(duì)列中取出數(shù)據(jù)包,交給網(wǎng)絡(luò)接口進(jìn)行發(fā)送。TC通過控制每個(gè)分隊(duì)列數(shù)據(jù)包發(fā)送的優(yōu)先級(jí),達(dá)到控制流量的目的。需要說明的是,圖1所示的方法并不限定按所示的各步驟的順序進(jìn)行,可以根據(jù)需要調(diào)整各步驟的先后順序,另外,所述步驟也不限定于上述步驟劃分,上述步驟可以進(jìn)一步拆分成更多步驟也可以合并成更少步驟。參見圖2,為本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)包的處理示意圖,在步驟S210中,數(shù)據(jù)包由入口INGRESS進(jìn)入。隨后,在步驟S230中,通過第一鉤子函數(shù)(NF_IP_PRE_ROUTING)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換,其中ip_conntrack模塊是內(nèi)核自帶的模塊,可對(duì)ip_conntrack內(nèi)核模塊進(jìn)行擴(kuò)展和修改,ip_NAC協(xié)議識(shí)別模塊掛載在ip_conntrack內(nèi)核模塊上,隨著系統(tǒng)啟動(dòng)自動(dòng)掛載。隨后,在步驟S250中,第二鉤子函數(shù)(NF_IP_F0RWARD)判斷是否需要路由,路由規(guī)則可通過ip_table模塊傳遞到ip_NAC協(xié)議識(shí)別模塊中,ip_tables模塊是防火墻的核心模塊,負(fù)責(zé)維護(hù)防火墻的規(guī)則表,通過這些規(guī)則,實(shí)現(xiàn)防火墻的核心功能。隨后,在步驟S270中,第三鉤子函數(shù)(NF_IP_P0ST_R0UTING)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理。隨后,在步驟S290中,EGRESS出口使用TC進(jìn)行帶寬管理,EGRESS出口根據(jù)數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)進(jìn)行帶寬控制操作。圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在圖2中的步驟S230中IP_NAC協(xié)議識(shí)別模塊的數(shù)據(jù)包處理的流程示意圖。在步驟S301中,數(shù)據(jù)包進(jìn)入ip_NAC協(xié)議識(shí)別模塊之前,需要判斷連接跟蹤表conntrack的mark字段是否設(shè)置了相應(yīng)的mark值(優(yōu)先級(jí)標(biāo)識(shí)),其中mark值屬于用戶自定義,可以通過配置文件修改。如果設(shè)定,進(jìn)入步驟S317。如果沒有設(shè)定,進(jìn)入步驟S303,在步驟S303中,根據(jù)五元組鏈表對(duì)數(shù)據(jù)包進(jìn)行五元組分析,其中五元組包括:源IP、目的IP、源端口、目的端口和data數(shù)據(jù)。隨后在步驟S305中,判斷是否找到對(duì)應(yīng)特征,如果是,進(jìn)入到步驟S317。如果沒有找到對(duì)應(yīng)特征,進(jìn)入到步驟S307,在步驟S307中分析數(shù)據(jù)包是TCP包還是UDP包,如果數(shù)據(jù)包是TCP包,進(jìn)入步驟S311,在步驟S311中遍歷TCPdissector鏈表對(duì)TCP包進(jìn)行解析;如果數(shù)據(jù)包是UDP包,則進(jìn)入步驟S309,在步驟S309中遍歷UDPdissector鏈表對(duì)UDP包進(jìn)行解析。隨后進(jìn)入步驟S313,在步驟S313中,判斷是否能夠識(shí)別協(xié)議的類型,如果不能識(shí)別,進(jìn)入步驟S315,在步驟S315中,放棄分類,將連接標(biāo)示為unknown類型。如果能識(shí)別,進(jìn)入步驟S317,在步驟S317中,正確設(shè)定conntrack的mark字段和skb的nfmark字段,隨后在步驟S319中,返回ipt_continue,繼續(xù)遍歷netfilter其他規(guī)則。圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的鏈表數(shù)據(jù)管理各模塊的示意圖,針對(duì)不同的協(xié)議模塊,可通過不同的dissector(解析器)來處理,使得協(xié)議識(shí)別模塊的擴(kuò)展性較好。如p2p_dissector內(nèi)核模塊41負(fù)責(zé)處理p2p相關(guān)協(xié)議的識(shí)別,通過ipt_dissecoR_registor注冊(cè)模塊42掛載到ip_NAC協(xié)議識(shí)別模塊43上。p2p_dissector內(nèi)核模塊41、IM_dissector內(nèi)核模塊42和Email_dissector內(nèi)核模塊43的處理優(yōu)先順序可以通過配置文件進(jìn)行管理。圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的模塊注冊(cè)示意圖,ipt_nac_cfg配置文件51導(dǎo)入用戶自定義以及系統(tǒng)初始化默認(rèn)的配置信息,通過ip_table模塊53把配置文件信息導(dǎo)入到ip_NAC協(xié)議識(shí)別模塊43,ip_NAC協(xié)議識(shí)別模塊43根據(jù)配置導(dǎo)入配置信息,決定是否啟動(dòng)ipt_dissector_registor注冊(cè)模塊57。由此實(shí)現(xiàn)一組dissector以獨(dú)立模塊實(shí)現(xiàn),可以動(dòng)態(tài)加載和卸載,可以配置哪些協(xié)議需要被分類出來,配置分類的精確度。下面結(jié)合圖6說明根據(jù)本發(fā)明一個(gè)實(shí)施例的、適于解決上述問題的一種數(shù)據(jù)包處理的裝置600。如圖6所示,數(shù)據(jù)包處理的裝置包括:目的地址轉(zhuǎn)換模塊601、路由模塊603、源地址轉(zhuǎn)換模塊605和輸出模塊607,其中目的地址轉(zhuǎn)換模塊601用于通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理;路由模塊603用于在源地址轉(zhuǎn)換處理后目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理;源地址轉(zhuǎn)換模塊605用于在所述數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理;輸出模塊607用于獲取所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制所述數(shù)據(jù)包的輸出順序。可選地,該裝置600還包括:掛載模塊,用于將用于協(xié)議識(shí)別的ip_NAC協(xié)議識(shí)別模塊611掛載在內(nèi)核空間中的ip_conntrack連接跟蹤模塊609上,路由規(guī)則設(shè)置在ip_NAC協(xié)議識(shí)別模塊611上??蛇x地,路由模塊603包括:獲取單元和路由單元,其中獲取單元用于獲取ip_NAC協(xié)議識(shí)別模塊611上的路由規(guī)則;路由單元用于根據(jù)所述路由規(guī)則對(duì)數(shù)據(jù)包進(jìn)行路由處理??蛇x地,裝置600還包括:注冊(cè)模塊613,用于通過注冊(cè)函數(shù)將用于識(shí)別P2P協(xié)議的P2P協(xié)議識(shí)別模塊、用于識(shí)別IM協(xié)議的IM協(xié)議識(shí)別模塊和/或用于識(shí)別電子郵件協(xié)議的電子郵件協(xié)議識(shí)別模塊掛載到ip_NAC協(xié)議識(shí)別模塊611上。根據(jù)本發(fā)明的數(shù)據(jù)包處理的方法和數(shù)據(jù)包處理的裝置,數(shù)據(jù)包在內(nèi)核空間中僅需通過三個(gè)鉤子函數(shù)的處理,相對(duì)于現(xiàn)有技術(shù)有效減少了數(shù)據(jù)包通過鉤子函數(shù)的數(shù)量,其次通過數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)來控制數(shù)據(jù)包的輸出順序,例如數(shù)據(jù)量較大的數(shù)據(jù)包優(yōu)先級(jí)較高,數(shù)據(jù)量小且使用不廣泛的數(shù)據(jù)包優(yōu)先級(jí)較低。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)包處理的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。權(quán)利要求1.一種數(shù)據(jù)包處理的方法,其特征在于,包括:通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理;目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理;在所述數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理;以及獲取所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制所述數(shù)據(jù)包的輸出順序。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)包路由之前,所述方法還包括:將用于協(xié)議識(shí)別的ip_NAC協(xié)議識(shí)別模塊掛載在內(nèi)核空間中的ip_conntrack連接跟蹤模塊上,路由規(guī)則設(shè)置在所述ip_NAC協(xié)議識(shí)別模塊上。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理的步驟包括:獲取所述ip_NAC協(xié)議識(shí)別模塊上的路由規(guī)則;所述第二鉤子函數(shù)根據(jù)所述路由規(guī)則對(duì)數(shù)據(jù)包進(jìn)行路由處理。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:通過注冊(cè)函數(shù)將用于識(shí)別P2P協(xié)議的P2P協(xié)議識(shí)別模塊、用于識(shí)別IM協(xié)議的IM協(xié)議識(shí)別模塊和/或用于識(shí)別電子郵件協(xié)議的電子郵件協(xié)議識(shí)別模塊掛載到所述ip_NAC協(xié)議識(shí)別模塊上。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述通過注冊(cè)函數(shù)將用于識(shí)別P2P協(xié)議的P2P協(xié)議識(shí)別模塊、用于識(shí)別IM協(xié)議的IM協(xié)議識(shí)別模塊和用于識(shí)別電子郵件協(xié)議的電子郵件協(xié)議識(shí)別模塊掛載到所述ip_NAC協(xié)議識(shí)別模塊上的步驟包括:獲取用戶自定義以及系統(tǒng)初始化默認(rèn)的配置信息;將所述配置信息導(dǎo)入到所述ip_NAC協(xié)議識(shí)別模塊中;所述ip_NAC協(xié)議識(shí)別模塊根據(jù)配置信息啟動(dòng)所述注冊(cè)函數(shù),以將所述P2P協(xié)議識(shí)別模塊、IM協(xié)議識(shí)別模塊或電子郵件協(xié)議識(shí)別模塊掛載到所述ip_NAC協(xié)議識(shí)別模塊上。6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:設(shè)置所述P2P協(xié)議識(shí)別模塊、IM協(xié)議識(shí)別模塊和電子郵件協(xié)議識(shí)別模塊的協(xié)議識(shí)別的優(yōu)先級(jí)順序。7.一種數(shù)據(jù)包處理的裝置,其特征在于,所述裝置包括:目的地址轉(zhuǎn)換模塊,用于通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理;路由模塊,用于在源地址轉(zhuǎn)換處理后目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理;源地址轉(zhuǎn)換模塊,用于在所述數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理;以及輸出模塊,用于獲取所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)所述數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制所述數(shù)據(jù)包的輸出順序。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括:掛載模塊,用于將用于協(xié)議識(shí)別的ip_NAC協(xié)議識(shí)別模塊掛載在內(nèi)核空間中的ip_conntrack連接跟蹤模塊上,路由規(guī)則設(shè)置在所述ip_NAC協(xié)議識(shí)別模塊上。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述路由模塊包括:獲取單元,用于獲取所述ip_NAC協(xié)議識(shí)別模塊上的路由規(guī)則;路由單元,用于根據(jù)所述路由規(guī)則對(duì)數(shù)據(jù)包進(jìn)行路由處理。10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括:注冊(cè)模塊,用于通過注冊(cè)函數(shù)將用于識(shí)別P2P協(xié)議的P2P協(xié)議識(shí)別模塊、用于識(shí)別IM協(xié)議的IM協(xié)議識(shí)別模塊和/或用于識(shí)別電子郵件協(xié)議的電子郵件協(xié)議識(shí)別模塊掛載到所述ip_NAC協(xié)議識(shí)別模塊上。全文摘要本發(fā)明公開了一種數(shù)據(jù)包處理的方法及裝置,其中,該方法包括通過內(nèi)核空間中注冊(cè)的第一鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行目的地址轉(zhuǎn)換處理;目的地址轉(zhuǎn)換處理后,通過內(nèi)核空間中注冊(cè)的第二鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行路由處理;在數(shù)據(jù)包路由處理之后,通過內(nèi)核空間中注冊(cè)的第三鉤子函數(shù)對(duì)數(shù)據(jù)包進(jìn)行源地址轉(zhuǎn)換處理;以及獲取數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí),并根據(jù)數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)控制數(shù)據(jù)包的輸出順序。數(shù)據(jù)包在內(nèi)核空間中僅需通過三個(gè)鉤子函數(shù)的處理,相對(duì)于現(xiàn)有技術(shù)有效減少了數(shù)據(jù)包通過鉤子函數(shù)的數(shù)量,其次可通過數(shù)據(jù)包的優(yōu)先級(jí)標(biāo)識(shí)來控制數(shù)據(jù)包的輸出順序。文檔編號(hào)H04L12/865GK103152268SQ20131004801公開日2013年6月12日申請(qǐng)日期2013年2月6日優(yōu)先權(quán)日2013年2月6日發(fā)明者李偉,鄧振波,蘇云琳申請(qǐng)人:北京奇虎科技有限公司,奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万州区| 壤塘县| 和硕县| 图们市| 万安县| 东安县| 长治市| 颍上县| 广宁县| 通榆县| 凌海市| 筠连县| 平乐县| 昌都县| 台中市| 康乐县| 泾源县| 司法| 耒阳市| 达孜县| 禄劝| 普兰店市| 湘潭市| 阜南县| 岳普湖县| 武宁县| 治多县| 安新县| 鄂伦春自治旗| 石城县| 昌图县| 安福县| 溧水县| 年辖:市辖区| 牙克石市| 永兴县| 柞水县| 安徽省| 河曲县| 重庆市| 榆社县|