麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

流量引導(dǎo)方法和裝置與流程

文檔序號:11234572閱讀:1487來源:國知局
本發(fā)明涉及計算機網(wǎng)絡(luò)數(shù)據(jù)
技術(shù)領(lǐng)域
:,特別涉及一種流量引導(dǎo)方法和裝置。
背景技術(shù)
::隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,對客戶端流量的疏導(dǎo)需求日益膨脹,透明代理是用于流量疏導(dǎo)的常用技術(shù)之一。透明代理是指客戶端根本不需要知道有代理服務(wù)器的存在,即用戶不用做任何設(shè)置,客戶端請求的流量在通過透明代理的設(shè)備,比如路由器之類的,能夠獲取客戶端訪問的目的網(wǎng)際協(xié)議地址(ip)和端口,然后回源,多用于路由器的網(wǎng)絡(luò)地址轉(zhuǎn)換(nat)轉(zhuǎn)發(fā)。現(xiàn)有的透明代理技術(shù)存在有以下一些問題:(1)現(xiàn)有技術(shù)在流量轉(zhuǎn)發(fā)方面只能進(jìn)行回源處理;(2)現(xiàn)有的透明代理功能過于單一,沒有流量識別和流量疏導(dǎo)功能。技術(shù)實現(xiàn)要素:為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種流量引導(dǎo)方法和裝置。所述技術(shù)方案如下:一方面,一種流量引導(dǎo)方法,包括以下步驟:導(dǎo)入流量至第一代理服務(wù)器的代理服務(wù)模塊;所述代理服務(wù)模塊對所述流量進(jìn)行識別,并根據(jù)識別結(jié)果選擇對應(yīng)的引導(dǎo)規(guī)則對所述流量進(jìn)行引導(dǎo);其中所述引導(dǎo)規(guī)則包含引導(dǎo)所述流量直接回源,引導(dǎo)所述流量到流量處理服務(wù)器,引導(dǎo)所述流量到第二代理服務(wù)器,以及丟棄所述流量進(jìn)一步的,當(dāng)所述第一代理服務(wù)器的運行模式為本地代理服務(wù)模式時,所述導(dǎo)入流量至第一代理服務(wù)器的代理服務(wù)模塊包含通過交換機或網(wǎng)橋?qū)⒖蛻舳税l(fā)送的流量引導(dǎo)到本地,再通過所述第一代理服務(wù)器的流量劫持模塊將所述流量導(dǎo)入至所述代理服務(wù)模塊;當(dāng)所述第一代理服務(wù)器的運行模式為遠(yuǎn)端代理服務(wù)模式時,所述導(dǎo)入流量至第一代理服務(wù)器的代理服務(wù)模塊包含根據(jù)所述引導(dǎo)規(guī)則引導(dǎo)所述流量至所述代理服務(wù)模塊。具體的,流量劫持模塊將流量導(dǎo)入至代理服務(wù)模塊的具體方法包括:對于傳輸控制協(xié)議流量,通過配置iptables規(guī)則,重定向所述傳輸控制協(xié)議流量到所述代理服務(wù)模塊;對于用戶數(shù)據(jù)報協(xié)議流量,通過配置iptables規(guī)則,并使用透明代理和配置路由規(guī)則引導(dǎo)所述用戶數(shù)據(jù)報協(xié)議流量到所述代理服務(wù)模塊;對于網(wǎng)絡(luò)控制報文協(xié)議流量或通用路由封裝協(xié)議流量,通過配置iptables規(guī)則,并設(shè)置標(biāo)記和配置路由規(guī)則引導(dǎo)所述網(wǎng)絡(luò)控制報文協(xié)議流量或通用路由封裝協(xié)議流量到本地還回接口,并被所述代理服務(wù)模塊獲取。進(jìn)一步的,所述代理服務(wù)模塊對所述流量進(jìn)行識別之前更包括步驟:對所述流量進(jìn)行前置引導(dǎo)規(guī)則匹配,若匹配成功,所述流量則按照前置引導(dǎo)規(guī)則對應(yīng)的流量引導(dǎo)規(guī)則進(jìn)行引導(dǎo);若匹配不成功,則對所述流量進(jìn)行識別。具體的,前置引導(dǎo)規(guī)則包括:網(wǎng)際協(xié)議地址引導(dǎo)規(guī)則,端口引導(dǎo)規(guī)則和冷熱網(wǎng)際協(xié)議地址規(guī)則。具體的,第一代理服務(wù)器和第二代理服務(wù)器通過私有多路復(fù)用協(xié)議進(jìn)行通信。具體的,第二代理服務(wù)器的運行模式為遠(yuǎn)端代理服務(wù)模式。具體的,所述第二代理服務(wù)器接收到所述流量后,對其進(jìn)行識別,并根據(jù)識別結(jié)果對應(yīng)的流量引導(dǎo)規(guī)則對所述流量進(jìn)行引導(dǎo)。具體的,所述第一代理服務(wù)器和所述第二代理服務(wù)器的運行系統(tǒng)內(nèi)核為linux內(nèi)核。另一方面,一種流量引導(dǎo)裝置,包括:第一代理服務(wù)器,第二代理服務(wù)器,源站服務(wù)器和流量處理服務(wù)器,所述第一代理服務(wù)器和所述第二代理服務(wù)器相互連接,并且分別連接于源站服務(wù)器和流量處理服務(wù)器,其中,所述第一代理服務(wù)器包含流量劫持模塊和代理服務(wù)模塊,所述流量劫持模塊導(dǎo)入所述流量至所述代理服務(wù)模塊,所述代理服務(wù)模塊對所述流量進(jìn)行識別和引導(dǎo)。進(jìn)一步的,所述第一代理服務(wù)器與客戶端之間通過交換機或網(wǎng)橋連接。進(jìn)一步的,所述交換機或所述網(wǎng)橋?qū)碜运隹蛻舳说牧髁繉?dǎo)入至所述第一代理服務(wù)器,所述流量劫持模塊將所述流量導(dǎo)入至所述代理服務(wù)模塊。進(jìn)一步的,所述代理服務(wù)模塊包含流量識別單元、協(xié)議規(guī)則單元和流量引導(dǎo)單元,所述代理服務(wù)模塊獲取所述流量后,所述流量識別單元對所述流量進(jìn)行識別,所述流量引導(dǎo)單元根據(jù)識別結(jié)果從所述協(xié)議規(guī)則單元獲取對應(yīng)的流量引導(dǎo)規(guī)則,并按照所述流量引導(dǎo)規(guī)則對所述流量進(jìn)行引導(dǎo)。進(jìn)一步的,所述流量識別單元包含http子單元、p2p子單元、game子單元和pptp子單元,所述流量經(jīng)過所述子單元的識別得出識別結(jié)果。進(jìn)一步的,所述協(xié)議規(guī)則單元中保存有針對各種流量識別結(jié)果對應(yīng)的流量引導(dǎo)規(guī)則,所述流量引導(dǎo)規(guī)則包含引導(dǎo)所述流量直接回源,引導(dǎo)所述流量到流量處理服務(wù)器,引導(dǎo)所述流量到第二代理服務(wù)器,以及丟棄所述流量。進(jìn)一步的,所述代理服務(wù)模塊更包含前置引導(dǎo)單元,所述代理服務(wù)模塊獲取所述流量后,所述前置引導(dǎo)單元對所述流量進(jìn)行前置引導(dǎo)規(guī)則匹配,若匹配成功,所述流量則進(jìn)入所述流量引導(dǎo)單元進(jìn)行引導(dǎo)處理;若匹配失敗,所述流量進(jìn)入所述流量識別單元進(jìn)行識別,所述流量引導(dǎo)單元根據(jù)識別結(jié)果對所述流量進(jìn)行引導(dǎo)。進(jìn)一步的,所述第一代理服務(wù)器與所述第二代理服務(wù)器之間通過私有多路復(fù)用協(xié)議進(jìn)行通信。本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:本發(fā)明使用iptables截獲流量并用重定向和透明代理的方法把客戶端發(fā)出的流量引導(dǎo)到本地代理服務(wù)中;本地代理服務(wù)可對截獲的流量做流量識別,并根據(jù)配置規(guī)則對識別出的不同流量做相應(yīng)的疏導(dǎo),可疏導(dǎo)到不同的代理服務(wù)器上、在本地直接回源或直接丟棄。本發(fā)明基于透明代理技術(shù),并在此基礎(chǔ)上實現(xiàn)了流量的智能疏導(dǎo),不僅無需客戶端進(jìn)行任何額外的配置,而且解決傳統(tǒng)透明代理中只能做網(wǎng)絡(luò)地址轉(zhuǎn)換回源,功能單一、無法對流經(jīng)的流量做識別以及智能疏導(dǎo)的問題。附圖說明為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一較佳實施例提供的流量引導(dǎo)方法流程圖;圖2為本發(fā)明另一較佳實施例提供的流量引導(dǎo)方法流程圖;圖3是本發(fā)明一較佳實施例提供的流量引導(dǎo)裝置結(jié)構(gòu)圖;圖4是圖3所示實施例中代理模塊的一種結(jié)構(gòu)圖;圖5是圖3所示實施例中代理模塊的另一種結(jié)構(gòu)圖;具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實施方式加以實施或應(yīng)用,本說明書中的各項細(xì)節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施例中的特征可以相互組合。以下實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。首先,對本發(fā)明說明書中的技術(shù)詞匯進(jìn)行解釋說明。以下說明是對本發(fā)明技術(shù)的解釋,但本發(fā)明并不以此為限。ip地址,是指互聯(lián)網(wǎng)協(xié)議地址(英語:internetprotocoladdress,又譯為網(wǎng)際協(xié)議地址)。ip地址是ip協(xié)議提供的一種統(tǒng)一的地址格式,它為互聯(lián)網(wǎng)上的每一個網(wǎng)絡(luò)和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。iptables是與linux內(nèi)核集成的ip信息包過濾系統(tǒng),該系統(tǒng)有利于在linux系統(tǒng)上更好地控制ip信息包過濾和防火墻配置。iptables是工作在用戶空間中,定義規(guī)則的工具,本身并不算是防火墻。它定義的規(guī)則,可以讓在內(nèi)核空間當(dāng)中的netfilter(網(wǎng)絡(luò)過濾器)來讀取,并且實現(xiàn)讓防火墻工作。iptables工作在內(nèi)核當(dāng)中,用來設(shè)置、維護(hù)和檢查linux內(nèi)核的ip包過濾規(guī)則,可以將規(guī)則組成一個列表,實現(xiàn)絕對詳細(xì)的訪問控制功能。iptables可以定義不同的表,每個表都包含幾個內(nèi)部的鏈,也能包含用戶定義的鏈。每個鏈都是一個規(guī)則列表,對對應(yīng)的包進(jìn)行匹配:每條規(guī)則指定應(yīng)當(dāng)如何處理與之相匹配的包,也可以跳向同一個表內(nèi)的用戶定義的鏈。透明代理,是指客戶端根本不需要知道有代理服務(wù)器的存在,它改變你的requestfields(報文),并會傳送真實ip。target,指的是通過iptables注冊到netfilter的規(guī)則所對應(yīng)的操作,也就是要對規(guī)則匹配到的數(shù)據(jù)包進(jìn)行的操作,比如accept(接受)、drop(丟棄)等。rawsocket,即原始套接字,可以接收本機網(wǎng)卡上的數(shù)據(jù)幀或者數(shù)據(jù)包,用于監(jiān)聽網(wǎng)絡(luò)的流量和分析。如圖1所示,圖1繪示本發(fā)明一較佳實施例所提供的流量引導(dǎo)方法,該流量引導(dǎo)方法包括以下步驟:步驟s101,導(dǎo)入流量至第一代理服務(wù)器的代理服務(wù)模塊。具體而言,本發(fā)明實施例中的第一代理服務(wù)器包含兩種運行模式,分別為本地代理服務(wù)模式和遠(yuǎn)端代理服務(wù)模式。在本地代理服務(wù)模式下,導(dǎo)入至第一代理服務(wù)器的流量是通過交換機策略路由、ospf動態(tài)路由或網(wǎng)橋直連的方式將客戶端的流量引導(dǎo)至本地,第一代理服務(wù)器的的流量劫持模塊把流量引導(dǎo)到第一代理服務(wù)器的代理服務(wù)模塊,具體而言,流量劫持模塊將截獲的流量轉(zhuǎn)發(fā)至代理服務(wù)模塊監(jiān)聽的端口,再由代理服務(wù)模塊通過其監(jiān)聽端口接收。在本發(fā)明的實施例中,流量劫持模塊根據(jù)不同的流量類型,采用相應(yīng)方法將流量導(dǎo)入至代理服務(wù)模塊:對于傳輸控制協(xié)議(transmissioncontrolprotocol,tcp)流量,通過配置iptables規(guī)則,重定向tcp流量到本地理服務(wù)模塊。具體而言,通過對本地linux系統(tǒng)中的iptables規(guī)則進(jìn)行配置,將協(xié)議類型為tcp的流量的目的網(wǎng)際協(xié)議地址(internetprotocoladdress,ip)和目的端口重定向為代理服務(wù)模塊監(jiān)聽的ip地址和tcp端口,從而實現(xiàn)導(dǎo)入本地的tcp流量被代理服務(wù)模塊監(jiān)聽并接收。對于用戶數(shù)據(jù)報協(xié)議(userdatagramprotocol,udp)流量,通過配置iptables規(guī)則,并使用透明代理引導(dǎo)udp流量到代理服務(wù)模塊。具體而言,通過對本地linux系統(tǒng)中的iptables規(guī)則進(jìn)行配置,將協(xié)議類型為udp的流量通過透明代理來建立與代理服務(wù)模塊的聯(lián)系,并對該udp流量進(jìn)行標(biāo)記,并配置本地策略路由,通過指定被標(biāo)記請求所要查找的路由表,再配置本地路由,在路由表中添加默認(rèn)路由規(guī)則,把被標(biāo)記udp流量往本地還回接口,從而被代理服務(wù)模塊接收。對于網(wǎng)絡(luò)控制報文協(xié)議(internetcontrolmessageprotocol,icmp)流量和通用路由封裝協(xié)議(genericroutingencapsulation,gre)流量,通過配置iptables規(guī)則,并設(shè)置標(biāo)記和配置路由規(guī)則引導(dǎo)icmp流量或gre流量到本地還回接口,并被代理服務(wù)模塊獲取。具體而言,通過對本地linux系統(tǒng)中的iptables規(guī)則進(jìn)行配置,對協(xié)議類型為icmp或gre的流量進(jìn)行標(biāo)記,同時配置本地策略路由和路由規(guī)則,指定被標(biāo)記的流量所要查找的路由表,把被標(biāo)記的流量發(fā)往本地還回接口,從而被本地代理服務(wù)模塊接收。由于icmp流量或gre流量使用的是rawsocket,只要把icmp流量或gre流量路由到本地還回接口以后,本地還回接口被本地代理服務(wù)模塊所監(jiān)聽,代理服務(wù)模塊就能夠通過rawsocket接收到這個流量。由此可見,當(dāng)?shù)谝淮矸?wù)器處于本地代理服務(wù)運行模式時,第一代理服務(wù)器接收到的流量是由本地流量劫持模塊轉(zhuǎn)發(fā)客戶端流量到相應(yīng)監(jiān)聽端口的流量。當(dāng)?shù)谝淮矸?wù)器的運行模式為遠(yuǎn)端代理服務(wù)模式時,導(dǎo)入遠(yuǎn)端第一代理服務(wù)器的代理服務(wù)模塊的流量則是由其他代理服務(wù)器引導(dǎo)而來的流量,代理服務(wù)模塊是通過對相應(yīng)端口的監(jiān)聽,來接收該些流量。遠(yuǎn)端代理服務(wù)模式和本地代理模式的區(qū)別在于,代理服務(wù)器所接收的流量來源不同,本地代理代理服務(wù)模式中,代理服務(wù)器接收到的是由客戶端直接發(fā)出的流量,而在遠(yuǎn)端代理服務(wù)模式中,代理服務(wù)器接收到的流量,則是經(jīng)過其他代理服務(wù)器進(jìn)行處理過的流量,所以當(dāng)代理服務(wù)模塊處于不同的運行模式時,其所監(jiān)聽的端口是不同的。在本實施例的流量引導(dǎo)方法中,第一代理服務(wù)器的運行模式可能是本地代理服務(wù)模式,也可能是遠(yuǎn)端代理服務(wù)模式,而第二代理服務(wù)器的運行模式一定為遠(yuǎn)端代理服務(wù)模式。步驟s102,代理服務(wù)模塊對流量進(jìn)行識別,并根據(jù)識別結(jié)果選擇對應(yīng)的引導(dǎo)規(guī)則對流量進(jìn)行引導(dǎo)。代理服務(wù)模塊收到導(dǎo)入的流量后,識別流量為http流量、p2p流量、game流量或pptp流量或默認(rèn)流量,根據(jù)識別結(jié)果,選擇對應(yīng)的引導(dǎo)規(guī)則,根據(jù)引導(dǎo)規(guī)則對流量進(jìn)行引導(dǎo),包括引導(dǎo)流量直接回源、引導(dǎo)流量到流量處理服務(wù)器、引導(dǎo)流量到第二代理服務(wù)器或丟棄流量。本實施例中,將流量識別為http流量、p2p流量、game流量、pptp流量或默認(rèn)流量,每種識別結(jié)果都有對應(yīng)的引導(dǎo)規(guī)則,該些引導(dǎo)規(guī)則是預(yù)先設(shè)定好的,也是根據(jù)實際需求進(jìn)行設(shè)置的,如此一來,代理模塊不僅可對流量進(jìn)行識別區(qū)分,還能根據(jù)不同的流量類型進(jìn)行分類引導(dǎo),從而更加智能化的對流量進(jìn)行疏導(dǎo),不僅如此,不同流量類型對應(yīng)的引導(dǎo)規(guī)則也可以分別進(jìn)行設(shè)置,從而可以更加清晰準(zhǔn)確的對流量進(jìn)行疏導(dǎo),并根據(jù)實際需求進(jìn)行相應(yīng)調(diào)整。值得注意的是,本發(fā)明的實施例中,對流量進(jìn)行識別的規(guī)則是可以實際需求調(diào)整的,例如在某些實施例中,僅對http流量和game流量進(jìn)行識別,并設(shè)置相應(yīng)的引導(dǎo)規(guī)則,其他流量則按照設(shè)置的規(guī)則進(jìn)行統(tǒng)一引導(dǎo),不僅如此,還可以對識別的類型進(jìn)行設(shè)置,例如可將流量識別為tcp流量、udp流量等,從其他維度對流量進(jìn)行識別,從而更好的滿足應(yīng)用場景的實際需求。本發(fā)明的實施例中,第一代理服務(wù)器與第二代理服務(wù)器中間通過私有多路復(fù)用協(xié)議進(jìn)行通信,從而可以實現(xiàn)多個請求在單個tcp通道中傳輸,節(jié)省端口的使用。流量處理服務(wù)器包含但不限于squid服務(wù)器和p2pcs緩存服務(wù)器。由此可見,本發(fā)明提供的流量引導(dǎo)方法,不僅可以對流量進(jìn)行識別,還能對識別后的流量分別進(jìn)行引導(dǎo),而且引導(dǎo)的方式也可以按需設(shè)置,解決了傳統(tǒng)透明代理中只能做網(wǎng)絡(luò)地址轉(zhuǎn)換回源,功能單一、無法對流經(jīng)的流量做識別以及智能疏導(dǎo)的問題。在本發(fā)明的另一較佳實施例中,如圖2所示,與圖1所示的實施例區(qū)別在于步驟s102前,還包括:步驟s103,對流量進(jìn)行前置引導(dǎo)規(guī)則匹配。當(dāng)流量通過步驟s101導(dǎo)入到第一代理服務(wù)器的代理服務(wù)模塊后,根據(jù)預(yù)設(shè)的前置引導(dǎo)規(guī)則對流量進(jìn)行匹配,若匹配成功,則進(jìn)入步驟s104,若匹配不成功,則進(jìn)入步驟s102。具體而言,對流量進(jìn)行前置引導(dǎo)規(guī)則匹配可以對一些特定的流量進(jìn)行預(yù)先過濾處理,例如,對所訪問的ip為熱度ip的流量可直接進(jìn)行引導(dǎo),而無需經(jīng)過識別,或者對一些錯誤的訪問或攻擊性的流量,可通過前置引導(dǎo)規(guī)則匹配預(yù)先進(jìn)行攔截,并對其進(jìn)行相應(yīng)的處理,簡而言之,前置引導(dǎo)規(guī)則匹配步驟的設(shè)定,是為了進(jìn)一步完善流量的疏導(dǎo)方法,使得一些特定的流量可以直接進(jìn)行特定處理,從而提升整體性能和智能性。其中,前置引導(dǎo)規(guī)則為預(yù)先設(shè)置在代理服務(wù)模塊中的規(guī)則,主要包括包括:ip地址引導(dǎo)規(guī)則,端口引導(dǎo)規(guī)則和冷熱ip地址規(guī)則,其中,ip地址引導(dǎo)規(guī)則是通過流量請求的源ip地址或是目的ip地址進(jìn)行引導(dǎo);端口引導(dǎo)規(guī)則是通過請求的目的端口來引導(dǎo);冷熱ip地址規(guī)則是通過歷史數(shù)據(jù)計算出客戶流量的行為,比如訪問哪些目的ip地址最頻繁,從而形成一套冷熱ip地址的引導(dǎo)方案。可以理解的是,前置引導(dǎo)規(guī)則可以按照實際需求進(jìn)行設(shè)定,并不受限于本說明書中的描述。步驟s104,按照前置引導(dǎo)規(guī)則對應(yīng)的流量引導(dǎo)規(guī)則進(jìn)行引導(dǎo)。流量經(jīng)過前置引導(dǎo)規(guī)則匹配成功后,將根據(jù)預(yù)設(shè)的前置引導(dǎo)規(guī)則對應(yīng)的流量引導(dǎo)規(guī)則進(jìn)行引導(dǎo),引導(dǎo)的方式主要包括引導(dǎo)流量直接回源、引導(dǎo)流量到流量處理服務(wù)器、引導(dǎo)流量到第二代理服務(wù)模塊或丟棄流量。可以理解的是,該流量引導(dǎo)規(guī)則是預(yù)先設(shè)定在代理服務(wù)模塊中的,并且是可以根據(jù)實際需求進(jìn)行設(shè)定的,并不受限于本說明書中的描述。在本較佳實施例中,步驟s101與步驟s102的及其他內(nèi)容與圖1所示實施例相同,故不再贅述。本較佳實施例中,通過增設(shè)了前置引導(dǎo)規(guī)則配合,可對一些特定的流量進(jìn)行特別處理,從而更進(jìn)一步的提升了流量引導(dǎo)方法的智能性,從而更好的滿足應(yīng)用場景的實際需求。此外,本發(fā)明還提供的一種流量引導(dǎo)裝置1,如圖3所示,包括:第一代理服務(wù)器10、第二代理服務(wù)器20、源站服務(wù)器30和流量處理服務(wù)器40。第一代理服務(wù)器10和第二代理服務(wù)器20相互連接,并且分別連接于源站服務(wù)器30和流量處理服務(wù)器40。第一代理服務(wù)器10包含流量劫持模塊11和代理服務(wù)模塊12。第一代理服務(wù)器10包含兩種運行模式,分別為本地代理服務(wù)模式和遠(yuǎn)端代理服務(wù)模式。在本地代理服務(wù)模式下,流量劫持模塊11引導(dǎo)流量到代理服務(wù)模塊12,該些流量是通過交換機策略路由、ospf動態(tài)路由或網(wǎng)橋直連的方式將客戶端的流量引導(dǎo)至第一代理服務(wù)器10,并被流量劫持模塊11截獲的流量。具體而言,流量劫持模塊11將截獲的流量轉(zhuǎn)發(fā)至代理服務(wù)模塊12監(jiān)聽的端口,代理服務(wù)模塊12通過其監(jiān)聽端口接收。在本發(fā)明的實施例中,流量劫持模塊11根據(jù)不同的流量類型,采用不同的方法將流量導(dǎo)入至代理服務(wù)模塊12:對于傳輸控制協(xié)議(transmissioncontrolprotocol,tcp)流量,通過配置iptables規(guī)則,重定向tcp流量到代理服務(wù)模塊12。具體而言,通過對本地系統(tǒng)中的iptables規(guī)則進(jìn)行配置,將協(xié)議類型為tcp的流量的目的網(wǎng)際協(xié)議地址(internetprotocoladdress,ip)和目的端口重定向為代理服務(wù)模塊12監(jiān)聽的ip地址和tcp端口,從而實現(xiàn)導(dǎo)入本地的tcp流量被代理服務(wù)模塊12監(jiān)聽并接收。對于用戶數(shù)據(jù)報協(xié)議(userdatagramprotocol,udp)流量,通過配置iptables規(guī)則,并使用透明代理引導(dǎo)udp流量到代理服務(wù)模塊12。具體而言,通過對本地系統(tǒng)中的iptables規(guī)則進(jìn)行配置,將協(xié)議類型為udp的流量通過透明代理來建立與代理服務(wù)模塊12的聯(lián)系,并對該udp流量進(jìn)行標(biāo)記,并配置本地策略路由,通過指定被標(biāo)記請求所要查找的路由表,再配置本地路由,在路由表中添加默認(rèn)路由規(guī)則,把被標(biāo)記udp流量發(fā)往本地還回接口,從而被代理服務(wù)模塊12接收。對于網(wǎng)絡(luò)控制報文協(xié)議(internetcontrolmessageprotocol,icmp)流量和通用路由封裝協(xié)議(genericroutingencapsulation,gre)流量,通過配置iptables規(guī)則,并設(shè)置標(biāo)記和配置路由規(guī)則引導(dǎo)icmp流量或gre流量到本地還回接口,并被代理服務(wù)模塊12獲取。具體而言,通過對本地系統(tǒng)中的iptables規(guī)則進(jìn)行配置,對協(xié)議類型為icmp或gre的流量進(jìn)行標(biāo)記,同時配置本地策略路由和路由規(guī)則,指定被標(biāo)記的流量所要查找的路由表,把被標(biāo)記的流量發(fā)往本地還回接口,從而被代理服務(wù)模塊12接收。由于icmp流量或gre流量使用的是rawsocket,只要把icmp流量或gre流量路由到本地還回接口以后,本地還回接口被代理服務(wù)模塊12所監(jiān)聽,代理服務(wù)模塊12就能夠通過rawsocket接收到這個流量。由此可見,當(dāng)?shù)谝淮矸?wù)器10處于本地代理服務(wù)運行模式時,代理服務(wù)模塊12接收到的流量是由流量劫持模塊11轉(zhuǎn)發(fā)客戶端流量到相應(yīng)監(jiān)聽端口的流量。當(dāng)?shù)谝淮矸?wù)器10的運行模式為遠(yuǎn)端代理服務(wù)模式時,第一代理服務(wù)器10也可稱為遠(yuǎn)端代理服務(wù)器,導(dǎo)入代理服務(wù)模塊12的流量則是由其他本地或遠(yuǎn)端代理服務(wù)器引導(dǎo)而來的流量,代理服務(wù)模塊12也是通過對相應(yīng)端口的監(jiān)聽,來接收該些流量。由此本發(fā)明的實施例中,代理服務(wù)器在不同的運行模式下,代理服務(wù)模塊12所監(jiān)聽端口也會相應(yīng)進(jìn)行調(diào)整。如圖3所示,本實施例中,第一代理服務(wù)器10通過交換機策略路由或ospf動態(tài)路由或網(wǎng)橋直連的方式(圖未視)連接于客戶端2,客戶端2發(fā)出的流量由第一代理服務(wù)器10接收;而第二代理服務(wù)器20所接收到的流量則是來自第一代理服務(wù)器10,而不是直接來自于客戶端2,故本實施例中,第一代理服務(wù)器10的當(dāng)前運行模式為本地代理服務(wù)模式,第二代理服務(wù)器20的當(dāng)前運行模式為遠(yuǎn)端代理服務(wù)模式。值得注意的是,本實施例中的代理服務(wù)器的運行模式可以隨實際需求進(jìn)行調(diào)整,而不限于某一固定運行模式。如圖4所示,圖4繪示了本實施例中第一代理服務(wù)器10的代理服務(wù)模塊12的具體結(jié)構(gòu)圖。第一代理服務(wù)模塊12包含流量識別單元121a、流量引導(dǎo)單元122a和協(xié)議規(guī)則單元123a,第一代理服務(wù)模塊12接收到流量后,識別單元121a對流量進(jìn)行識別,并將流量及識別結(jié)果發(fā)送至流量引導(dǎo)單元122a,流量引導(dǎo)單元122a接收流量,并根據(jù)識別結(jié)果從協(xié)議規(guī)則單元123a獲取對應(yīng)的引導(dǎo)規(guī)則,對流量進(jìn)行引導(dǎo)。具體而言,流量識別單元121a包含http子單元1211a、p2p子單元1212a、game子單元1213a和pptp子單元1214a,流量識別單元121a在對流量進(jìn)行識別時,是經(jīng)過該些子單元對流量進(jìn)行識別而得出的結(jié)果,例如http子單元1211a先對流量進(jìn)行識別,識別其是否符合http流量特征,若符合,則識別該流量為http流量,并將該流量及識別結(jié)果發(fā)送至流量引導(dǎo)單元122a;若不符合,則傳入其他子單元進(jìn)行識別;若該些子單元都無法對流量給出識別結(jié)構(gòu),則給定該流量的識別結(jié)果為默認(rèn)流量,并發(fā)送至流量引導(dǎo)單元122a。在本發(fā)明的實施例中,可根據(jù)實際需求對該些子單元分別進(jìn)行開啟和關(guān)閉的設(shè)置,例如只開啟http子單元和game子單元,關(guān)閉p2p子單元和pptp子單元,那么流量識別單元121a給定的識別結(jié)果則包含http流量、或game流量、或默認(rèn)流量。協(xié)議規(guī)則單元123a中包含各流量識別結(jié)果對應(yīng)的流量引導(dǎo)規(guī)則,該些流量引導(dǎo)規(guī)則包含:引導(dǎo)流量直接回源(即轉(zhuǎn)發(fā)至源站服務(wù)器40)、引導(dǎo)流量到流量處理服務(wù)器30、引導(dǎo)流量到第二代理服務(wù)模塊20或丟棄流量。舉例而言,若流量的識別結(jié)果為http流量,那么根據(jù)流量引導(dǎo)規(guī)則,該可能會對該流量直接回源,或者將該流量引導(dǎo)至流量處理服務(wù)器,或引導(dǎo)到第二代理服務(wù)模塊或丟棄,具體的引導(dǎo)結(jié)果也是根據(jù)設(shè)置的規(guī)則進(jìn)行選定的,例如,設(shè)置目的ip是訪問百度網(wǎng)址的,則直接進(jìn)行回源。可以理解的是,協(xié)議規(guī)則單元123a中的流量引導(dǎo)規(guī)則可根據(jù)實際需求進(jìn)行設(shè)定,也就是說,各識別結(jié)果的流量對應(yīng)的引導(dǎo)規(guī)則相互之間是相互獨立設(shè)定的,并無關(guān)聯(lián),而且每種識別結(jié)果對應(yīng)的具體引導(dǎo)規(guī)則所包含的內(nèi)容也并非一定是統(tǒng)一的,例如,識別結(jié)果為http流量的,對應(yīng)的引導(dǎo)規(guī)則可包含上述四種,而識別結(jié)果為默認(rèn)流量的,對應(yīng)的引導(dǎo)規(guī)則可僅為丟棄流量。由此可見,本發(fā)明實施例中,針對不同的流量識別結(jié)果對應(yīng)的流量引導(dǎo)規(guī)則可按實際需求分別設(shè)定,從而更進(jìn)一步的提升了流量疏導(dǎo)的智能性,使其更加貼合實際需求。圖5繪示圖3所示實施例中代理服務(wù)模塊的另一種具體結(jié)構(gòu)圖。如圖5所示,代理服務(wù)模塊12包含流量識別單元121b,流量引導(dǎo)單元122b,協(xié)議規(guī)則單元123b和前置引導(dǎo)單元124,代理服務(wù)模塊12獲取流量后,先由前置引導(dǎo)單元124對流量進(jìn)行前置引導(dǎo)規(guī)則匹配,若匹配成功,流量則進(jìn)入流量引導(dǎo)單元122b進(jìn)行引導(dǎo)處理;若匹配失敗,流量進(jìn)入流量識別單元121b進(jìn)行識別,并將流量及識別結(jié)果發(fā)送至流量引導(dǎo)單元122b,流量引導(dǎo)單元122b接收流量,并根據(jù)識別結(jié)果從協(xié)議規(guī)則單元123b獲取對應(yīng)的引導(dǎo)規(guī)則,對流量進(jìn)行引導(dǎo)。具體而言,前置引導(dǎo)單元124通過對流量進(jìn)行前置引導(dǎo)規(guī)則匹配,并將匹配成功的流量直接發(fā)送給流量引導(dǎo)單元122b,流量引導(dǎo)單元122b根據(jù)協(xié)議規(guī)則123b中對應(yīng)的流量引導(dǎo)規(guī)則對流量進(jìn)行引導(dǎo),而匹配不成功的流量則進(jìn)入識別單元121b進(jìn)行流量識別。前置引導(dǎo)單元124對流量進(jìn)行前置引導(dǎo)規(guī)則匹配是為了能對一些特定的流量進(jìn)行預(yù)先過濾并直接發(fā)送給流量引導(dǎo)單元122b進(jìn)行流量引導(dǎo),例如,對所訪問的ip為熱度ip的流量可直接進(jìn)行引導(dǎo),而無需經(jīng)過識別,或者對一些錯誤的訪問或攻擊性的流量,可通過前置引導(dǎo)規(guī)則匹配預(yù)先進(jìn)行攔截,并對其進(jìn)行相應(yīng)的處理,簡而言之,前置引導(dǎo)規(guī)則單元124的設(shè)定,是為了進(jìn)一步完善流量引導(dǎo)裝置對流量的疏導(dǎo),使得一些特定的流量可以直接進(jìn)行特定處理,從而提升整體性能和智能性。其中,前置引導(dǎo)規(guī)則為預(yù)先設(shè)置在代理服務(wù)模塊中的規(guī)則,主要包括包括:ip地址引導(dǎo)規(guī)則,端口引導(dǎo)規(guī)則和冷熱ip地址規(guī)則,其中,ip地址引導(dǎo)規(guī)則是通過流量請求的源ip地址或是目的ip地址進(jìn)行引導(dǎo);端口引導(dǎo)規(guī)則是通過請求的目的端口來引導(dǎo);冷熱ip地址規(guī)則是通過歷史數(shù)據(jù)計算出客戶流量的行為,比如訪問哪些目的ip地址最頻繁,從而形成一套冷熱ip地址的引導(dǎo)方案。可以理解的是,前置引導(dǎo)規(guī)則可以按照實際需求進(jìn)行設(shè)定,并不受限于本說明書中的描述。在本發(fā)明的實施例中,對于前置引導(dǎo)單元124匹配成功的流量,其前置引導(dǎo)規(guī)則匹配結(jié)果可包含進(jìn)一步的匹配結(jié)果,例如匹配該流量為熱門ip請求流量,或為攻擊性流量,該些匹配結(jié)果會一并發(fā)送至流量引導(dǎo)單元122b,流量引導(dǎo)單元122b將根據(jù)匹配結(jié)果相應(yīng)的引導(dǎo)規(guī)則對該流量進(jìn)行引導(dǎo)。流量識別單元121b包含http子單元1211b、p2p子單元1212b、game子單元1213b和pptp子單元1214b,流量識別單元121b接收由前置引導(dǎo)單元124發(fā)送來的匹配不成功的流量,并對該流量進(jìn)行識別,在對流量進(jìn)行識別時,是經(jīng)過該些子單元對流量進(jìn)行識別而得出的結(jié)果,例如http子單元1211b先對流量進(jìn)行識別,識別其是否符合http流量特征,若符合,則識別該流量為http流量,并將該流量及識別結(jié)果發(fā)送至流量引導(dǎo)單元122b;若不符合,則傳入其他子單元進(jìn)行識別;若該些子單元都無法對流量給出識別結(jié)構(gòu),則給定該流量的識別結(jié)果為默認(rèn)流量,并發(fā)送至流量引導(dǎo)單元122b。在本發(fā)明的實施例中,可根據(jù)實際需求對該些子單元分別進(jìn)行開啟和關(guān)閉的設(shè)置,例如只開啟http子單元和game子單元,關(guān)閉p2p子單元和pptp子單元,那么流量識別單元121b給定的識別結(jié)果則包含http流量、或game流量、或默認(rèn)流量。協(xié)議規(guī)則單元123b中包含前置引導(dǎo)規(guī)則匹配結(jié)果對應(yīng)的流量引導(dǎo)規(guī)則,和各流量識別結(jié)果對應(yīng)的流量引導(dǎo)規(guī)則,該些流量引導(dǎo)規(guī)則包含:引導(dǎo)流量直接回源(即轉(zhuǎn)發(fā)至源站服務(wù)器40)、引導(dǎo)流量到流量處理服務(wù)器30、引導(dǎo)流量到第二代理服務(wù)模塊20或丟棄流量。舉例而言,若流量的識別結(jié)果為http流量,那么根據(jù)流量引導(dǎo)規(guī)則,可能會對該流量直接回源,或者將該流量引導(dǎo)至流量處理服務(wù)器,或引導(dǎo)到第二代理服務(wù)模塊或丟棄,具體的引導(dǎo)結(jié)果也是根據(jù)設(shè)置的規(guī)則進(jìn)行選定的,例如,設(shè)置目的ip是訪問百度網(wǎng)址的,則直接進(jìn)行回源。可以理解的是,協(xié)議規(guī)則單元123b中的流量引導(dǎo)規(guī)則可根據(jù)實際需求進(jìn)行設(shè)定,也就是說,匹配結(jié)果和各識別結(jié)果的流量對應(yīng)的引導(dǎo)規(guī)則相互之間是相互獨立設(shè)定的,并無關(guān)聯(lián),而且每種識別結(jié)果對應(yīng)的具體引導(dǎo)規(guī)則所包含的內(nèi)容也并非一定是統(tǒng)一的,例如,識別結(jié)果為http流量的,對應(yīng)的引導(dǎo)規(guī)則可包含上述四種,而識別結(jié)果為默認(rèn)流量的,對應(yīng)的引導(dǎo)規(guī)則可僅為丟棄流量。在本實施例中,通過增設(shè)前置引導(dǎo)單元124對流量進(jìn)行前置引導(dǎo)規(guī)則匹配可對一些特定的流量進(jìn)行特別處理,從而更進(jìn)一步的提升了流量引導(dǎo)方法的智能性,從而更好的滿足應(yīng)用場景的實際需求。本發(fā)明的實施例中,第一代理服務(wù)器、第二代理服務(wù)器所包含的結(jié)構(gòu)是相同的,所能實現(xiàn)的功能也相同,區(qū)別在于,在當(dāng)前場景中的運行模式不同,圖3所示實施例中,第一代理服務(wù)器10的運行模式為本地代理服務(wù)模式,故其直接接收來自客戶端2的流量,而第二代理服務(wù)器20則接收的是來自第一代理服務(wù)器10轉(zhuǎn)發(fā)而來的流量。而在不同運行模式下,第一代理服務(wù)器10和第二代理服務(wù)器20的具體規(guī)則設(shè)置不同,例如流量識別單元中的識別規(guī)則、協(xié)議規(guī)則單元中的流量引導(dǎo)規(guī)則可能會存在差異。本發(fā)明的實施例中,第一代理服務(wù)器10與第二代理服務(wù)器20中間通過私有多路復(fù)用協(xié)議進(jìn)行通信,從而可以實現(xiàn)多個請求在單個tcp通道中傳輸,節(jié)省端口的使用。流量處理服務(wù)器30包含但不限于squid服務(wù)器和p2pcs緩存服務(wù)器。本發(fā)明使用iptables截獲流量并用重定向和透明代理的方法把流量引導(dǎo)到本地代理服務(wù)中;對截獲的流量做流量識別,并根據(jù)配置規(guī)則做相應(yīng)的疏導(dǎo),可疏導(dǎo)到不同的代理服務(wù)器上、在本地直接回源或直接丟棄。本發(fā)明解決傳統(tǒng)透明代理中只能做網(wǎng)絡(luò)地址轉(zhuǎn)換回源,功能單一、無法對流經(jīng)的流量做識別以及智能疏導(dǎo)的問題。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 尼木县| 邻水| 凤庆县| 慈溪市| 胶南市| 阿巴嘎旗| 甘南县| 苍山县| 若尔盖县| 吴堡县| 习水县| 惠水县| 隆子县| 甘洛县| 沙田区| 醴陵市| 饶平县| 钟祥市| 双牌县| 惠来县| 平邑县| 衡水市| 阿图什市| 通州市| 双城市| 张家港市| 修文县| 吴江市| 贡嘎县| 静乐县| 名山县| 东方市| 滨海县| 同德县| 虞城县| 巩留县| 吴川市| 安国市| 丰都县| 临江市| 沅陵县|