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

一種流量引導(dǎo)方法和系統(tǒng)與流程

文檔序號(hào):12789698閱讀:352來(lái)源:國(guó)知局
本發(fā)明涉及網(wǎng)絡(luò)流量引導(dǎo)
技術(shù)領(lǐng)域
:,特別涉及一種流量引導(dǎo)方法和系統(tǒng)。
背景技術(shù)
::隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)技術(shù)已成為人類生活的重要組成部分。用戶對(duì)網(wǎng)絡(luò)的傳輸速率及用戶請(qǐng)求的反饋速度要求越來(lái)越大。在最初的技術(shù)架構(gòu)中,用戶的請(qǐng)求數(shù)據(jù)直接發(fā)送到服務(wù)端,服務(wù)端根據(jù)用戶請(qǐng)求進(jìn)行處理后,再直接返回給用戶。由于用戶和服務(wù)端之間可能存在地理位置距離遠(yuǎn)、歸屬不同的網(wǎng)絡(luò)運(yùn)營(yíng)商、線路受損、線路過(guò)載等問(wèn)題,用戶與服務(wù)端之間的通信會(huì)出現(xiàn)傳輸慢、反饋慢、費(fèi)用高、傳輸中斷等現(xiàn)象。如此一來(lái),不僅影響了用戶的上網(wǎng)體驗(yàn),也增加了內(nèi)容提供商的成本,甚至帶來(lái)其他不可預(yù)估的損失。隨著技術(shù)的改良和進(jìn)步,現(xiàn)有技術(shù)中,通過(guò)在用戶和服務(wù)端之間增加代理服務(wù)器來(lái)進(jìn)行數(shù)據(jù)傳輸路徑的優(yōu)化,代理服務(wù)器接收用戶向服務(wù)端發(fā)出的請(qǐng)求,并根據(jù)網(wǎng)絡(luò)狀態(tài)選擇較佳路徑進(jìn)行傳輸,發(fā)送至服務(wù)端。代理服務(wù)器上運(yùn)行的代理服務(wù)程序的功能就是為用戶請(qǐng)求選擇較佳路徑。在對(duì)代理服務(wù)器進(jìn)行測(cè)試時(shí),需要至少一臺(tái)測(cè)試機(jī)通過(guò)路由器與代理服務(wù)器連接,并在測(cè)試機(jī)上部署客戶端程序,客戶端程序向服務(wù)端發(fā)起的請(qǐng)求通過(guò)路由器傳送到代理服務(wù)器上,代理服務(wù)器上的代理服務(wù)程序?qū)蛻舳顺绦虬l(fā)往服務(wù)端的請(qǐng)求進(jìn)行路徑選擇,并通過(guò)選擇的路徑發(fā)送到服務(wù)端。上述測(cè)試方法的缺點(diǎn)是:(1)需要提供測(cè)試機(jī),增加了設(shè)備成本;(2)測(cè)試時(shí)需要為測(cè)試機(jī)引導(dǎo)流量配置路由;(3)測(cè)試工作涉及多臺(tái)設(shè)備,操作繁瑣。技術(shù)實(shí)現(xiàn)要素:為了解決上述技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種流量引導(dǎo)方法和系統(tǒng)。所述技術(shù)方案如下:一種流量引導(dǎo)方法,包括以下步驟:在代理服務(wù)器上部署客戶端程序,用于向服務(wù)端發(fā)送請(qǐng)求;配置代理服務(wù)器上的iptables規(guī)則,使得客戶端程序所發(fā)出的請(qǐng)求被識(shí)別,并被代理服務(wù)器上的代理服務(wù)程序接收;代理服務(wù)程序接收請(qǐng)求,獲取請(qǐng)求的原始目的IP(InternetProtocol,網(wǎng)絡(luò)協(xié)議)地址和原始目的端口,并向請(qǐng)求的原始目的IP地址和原始目的端口發(fā)送請(qǐng)求。本發(fā)明一較佳實(shí)施例中,在配置iptables規(guī)則步驟前更包含步驟:指定客戶端程序的組標(biāo)識(shí)。本發(fā)明一較佳實(shí)施例中,配置iptables規(guī)則步驟包含:將屬于客戶端程序的組標(biāo)識(shí)的TCP(TransmissionControlProtocol,傳輸控制協(xié)議)請(qǐng)求的目的IP地址和目的端口重定向?yàn)榇矸?wù)程序監(jiān)聽(tīng)的IP地址和TCP端口。本發(fā)明一較佳實(shí)施例中,代理服務(wù)程序通過(guò)getsockopt函數(shù)獲取所述請(qǐng)求的原始目的IP地址和原始目的端口。本發(fā)明一較佳實(shí)施例中,配置iptables規(guī)則的步驟包含:將屬于所述客戶端程序的組標(biāo)識(shí)的UDP(UserDatagramProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)請(qǐng)求通過(guò)透明代理來(lái)建立與所述代理服務(wù)程序的聯(lián)系,并對(duì)所述UDP協(xié)議請(qǐng)求進(jìn)行標(biāo)記。本發(fā)明一較佳實(shí)施例中,所述UDP協(xié)議請(qǐng)求通過(guò)所述透明代理注冊(cè)一個(gè)target到netfilter,所述target使得所述UDP協(xié)議請(qǐng)求能夠被所述代理服務(wù)程序監(jiān)聽(tīng)的端口所接收。本發(fā)明一較佳實(shí)施例中,配置iptables規(guī)則的步驟包含:將屬于客戶端程序的組標(biāo)識(shí)的ICMP(InternetControlMessageProtocol,互聯(lián)網(wǎng)控制報(bào)文協(xié)議)請(qǐng)求進(jìn)行標(biāo)記。本發(fā)明一較佳實(shí)施例中,配置iptables規(guī)則步驟之前,更包含步驟:在所述代理服務(wù)器上配置策略路由,指定所述被標(biāo)記請(qǐng)求所要查找的路由表,并在所述代理服務(wù)器上配置路由,在所述路由表中添加默認(rèn)路由規(guī)則,把所述被標(biāo)記的請(qǐng)求發(fā)往本地還回接口,從而被所述代理服務(wù)程序接收。此外本發(fā)明還提供一種流量引導(dǎo)系統(tǒng),包括:代理服務(wù)器,用于把部署在代理服務(wù)器上的客戶端程序向服務(wù)端發(fā)送的數(shù)據(jù)包重定向到部署在代理服務(wù)器的代理服務(wù)程序上,再由代理服務(wù)程序來(lái)訪問(wèn)服務(wù)端;服務(wù)端,與代理服務(wù)器連接,用于接收代理服務(wù)器發(fā)來(lái)的請(qǐng)求。進(jìn)一步的,代理服務(wù)器具體包括:配置模塊,包含組標(biāo)識(shí)單元,用于指定所述客戶端程序的組標(biāo)識(shí);iptables配置單元,用于對(duì)所述代理服務(wù)器上的iptables規(guī)則進(jìn)行配置;策略路由及路由配置單元,用于對(duì)所述代理服務(wù)器上的策略路由和路由進(jìn)行配置,以識(shí)別所述客戶端程序向所述服務(wù)端發(fā)送的請(qǐng)求,并使所述請(qǐng)求被所述代理服務(wù)程序接收。本發(fā)明所提供的技術(shù)方案中,客戶端程序和代理服務(wù)程序均部署在同一代理服務(wù)器上,通過(guò)對(duì)iptables規(guī)則進(jìn)行配置,使得客戶端程序所發(fā)出的請(qǐng)求流量的傳送路徑,由原先的直接從代理服務(wù)器的輸出端口發(fā)出到服務(wù)端,被引導(dǎo)至代理服務(wù)程序所監(jiān)聽(tīng)的端口,并被代理服務(wù)程序接收,進(jìn)而按照代理服務(wù)程序所選擇的優(yōu)選路徑傳輸至服務(wù)端。,如此一來(lái),代理服務(wù)器上的客戶端程序可直接用于代理服務(wù)程序的測(cè)試,客戶端程序向服務(wù)端發(fā)送的請(qǐng)求被代理服務(wù)程序監(jiān)聽(tīng)并接收,代理服務(wù)程序?qū)λ邮盏降恼?qǐng)求進(jìn)行路徑選擇和轉(zhuǎn)發(fā),從而實(shí)現(xiàn)代理服務(wù)功能的測(cè)試。由此可見(jiàn),本發(fā)明所提供的技術(shù)方案,較于現(xiàn)有技術(shù)中的測(cè)試方式而言,省卻了測(cè)試機(jī)及連接設(shè)備,不僅節(jié)省了設(shè)備資源和維護(hù)成本,而且無(wú)需單獨(dú)再為測(cè)試機(jī)引導(dǎo)流量配置路由,簡(jiǎn)化了測(cè)試架構(gòu),節(jié)約了開(kāi)發(fā)成本。值得注意的是,在本發(fā)明所提供的技術(shù)方案主要實(shí)現(xiàn)了代理服務(wù)器上的客戶端程序的請(qǐng)求流量的重定向,使得同一代理服務(wù)器上的代理服務(wù)程序能對(duì)其進(jìn)行監(jiān)聽(tīng)和接收,并轉(zhuǎn)發(fā),這一技術(shù)方案不僅可用于代理服務(wù)程序的測(cè)試,還可以用于其他需求場(chǎng)景,故本說(shuō)明書(shū)雖以本發(fā)明在測(cè)試中的應(yīng)用場(chǎng)景為切入點(diǎn)對(duì)技術(shù)方案進(jìn)行說(shuō)明,但并不以此為限。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一較佳實(shí)施例所提供的流量引導(dǎo)方法流程圖;圖2為本發(fā)明另一較佳實(shí)施例所提供的流量引導(dǎo)方法流程圖;圖3是本發(fā)明再一較佳實(shí)施例的所提供的流量引導(dǎo)方法流程圖;圖4是本發(fā)明又一較佳實(shí)施例所提供的流量引導(dǎo)方法流程圖;圖5是本發(fā)明一較佳實(shí)施所提供的流量引導(dǎo)系統(tǒng)示意圖。具體實(shí)施方式以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的具體實(shí)施方式加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說(shuō)明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。需要說(shuō)明的是,以下實(shí)施例中所提供的圖示僅以示意方式說(shuō)明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。首先,對(duì)本發(fā)明說(shuō)明書(shū)中的技術(shù)詞匯進(jìn)行解釋說(shuō)明。以下說(shuō)明是對(duì)本發(fā)明技術(shù)的解釋,但本發(fā)明并不以此為限。代理服務(wù)器,架設(shè)在用戶和服務(wù)端之間,提供代理服務(wù)的服務(wù)器,其中,代理服務(wù)器所提供的代理服務(wù)可實(shí)現(xiàn)的內(nèi)容較多,本發(fā)明不再一一贅述,本說(shuō)明書(shū)中以路徑選擇服務(wù)為例進(jìn)行說(shuō)明,路徑選擇服務(wù)主要是對(duì)用戶的訪問(wèn)請(qǐng)求的傳輸路徑進(jìn)行優(yōu)化,具體而言,用戶A向服務(wù)端B發(fā)送請(qǐng)求,該請(qǐng)求先被代理服務(wù)器接收,代理服務(wù)器根據(jù)請(qǐng)求的目的地址進(jìn)行傳輸路徑的選擇,并轉(zhuǎn)發(fā)至服務(wù)端B,在為該請(qǐng)求選擇較優(yōu)路徑進(jìn)行傳輸時(shí),較優(yōu)路徑的判斷,可基于線路是否通暢、鏈路時(shí)延、地理位置、網(wǎng)絡(luò)運(yùn)營(yíng)商歸屬等方面進(jìn)行考量,本發(fā)明并不對(duì)此進(jìn)行限制??蛻舳顺绦颍瑸橛脩籼峁┓?wù)操作的應(yīng)用程序,例如視頻播放、購(gòu)物、音樂(lè)、直播等應(yīng)用程序。用戶可通過(guò)客戶端程序向服務(wù)提供商的服務(wù)端發(fā)送內(nèi)容的請(qǐng)求,服務(wù)端接收客戶端程序請(qǐng)求,并根據(jù)請(qǐng)求進(jìn)行回源。代理服務(wù)程序,實(shí)現(xiàn)代理服務(wù)器業(yè)務(wù)功能的應(yīng)用程序,以路徑選擇為例,代理服務(wù)程序可通過(guò)其所監(jiān)聽(tīng)的端口獲取請(qǐng)求流量,并對(duì)其進(jìn)行路徑選擇和轉(zhuǎn)發(fā)。IP地址,是指互聯(lián)網(wǎng)協(xié)議地址(英語(yǔ):InternetProtocolAddress,又譯為網(wǎng)際協(xié)議地址)。IP地址是IP協(xié)議提供的一種統(tǒng)一的地址格式,它為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址,以此來(lái)屏蔽物理地址的差異。iptables是與Linux內(nèi)核集成的IP信息包過(guò)濾系統(tǒng),該系統(tǒng)有利于在Linux系統(tǒng)上更好地控制IP信息包過(guò)濾和防火墻配置。Iptables是工作在用戶空間中,定義規(guī)則的工具,本身并不算是防火墻。它定義的規(guī)則,可以讓在內(nèi)核空間當(dāng)中的netfilter(網(wǎng)絡(luò)過(guò)濾器)來(lái)讀取,并且實(shí)現(xiàn)讓防火墻工作。iptables工作在內(nèi)核當(dāng)中,用來(lái)設(shè)置、維護(hù)和檢查L(zhǎng)inux內(nèi)核的IP包過(guò)濾規(guī)則,可以將規(guī)則組成一個(gè)列表,實(shí)現(xiàn)絕對(duì)詳細(xì)的訪問(wèn)控制功能。iptables可以定義不同的表,每個(gè)表都包含幾個(gè)內(nèi)部的鏈,也能包含用戶定義的鏈。每個(gè)鏈都是一個(gè)規(guī)則列表,對(duì)對(duì)應(yīng)的包進(jìn)行匹配:每條規(guī)則指定應(yīng)當(dāng)如何處理與之相匹配的包,也可以跳向同一個(gè)表內(nèi)的用戶定義的鏈。組標(biāo)識(shí),英文groupid,Linux系統(tǒng)中的用戶分組標(biāo)識(shí),通過(guò)該標(biāo)識(shí)可識(shí)別用戶所在組別及相應(yīng)權(quán)限。getsockopt函數(shù),用于獲取任意類型、任意狀態(tài)套接口的選項(xiàng)當(dāng)前值,并把結(jié)果存入optval。透明代理,是指客戶端根本不需要知道有代理服務(wù)器的存在,它改變你的requestfields(報(bào)文),并會(huì)傳送真實(shí)IP。netfilter,是由RustyRussell提出的Linux2.4內(nèi)核防火墻框架,該框架既簡(jiǎn)潔又靈活,可實(shí)現(xiàn)安全策略應(yīng)用中的許多功能,如數(shù)據(jù)包過(guò)濾、數(shù)據(jù)包處理、地址偽裝、透明代理、動(dòng)態(tài)網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressTranslation,NAT),以及基于用戶及媒體訪問(wèn)控制(MediaAccessControl,MAC)地址的過(guò)濾和基于狀態(tài)的過(guò)濾、包速率限制等。它提供了一個(gè)抽象、通用化的框架,作為中間件,為每種網(wǎng)絡(luò)協(xié)議(IPv4、IPv6等)定義一套鉤子函數(shù)。Ipv4定義了5個(gè)鉤子函數(shù),這些鉤子函數(shù)在數(shù)據(jù)報(bào)流過(guò)協(xié)議棧的5個(gè)關(guān)鍵點(diǎn)被調(diào)用,也就是說(shuō),IPv4協(xié)議棧上定義了5個(gè)“允許垂釣點(diǎn)”。在每一個(gè)“垂釣點(diǎn)”,都可以讓netfilter放置一個(gè)“魚(yú)鉤”,把經(jīng)過(guò)的網(wǎng)絡(luò)包(Packet)釣上來(lái),與相應(yīng)的規(guī)則鏈進(jìn)行比較,并根據(jù)審查的結(jié)果,決定包的下一步命運(yùn),即是被原封不動(dòng)地放回IPv4協(xié)議棧,繼續(xù)向上層遞交;還是經(jīng)過(guò)一些修改,再放回網(wǎng)絡(luò);或者干脆丟棄掉。target,指的是通過(guò)iptables注冊(cè)到netfilter的規(guī)則所對(duì)應(yīng)的操作,也就是要對(duì)規(guī)則匹配到的數(shù)據(jù)包進(jìn)行的操作,比如ACCEPT(接受)、DROP(丟棄)等。rawsocket,即原始套接字,可以接收本機(jī)網(wǎng)卡上的數(shù)據(jù)幀或者數(shù)據(jù)包,用于監(jiān)聽(tīng)網(wǎng)絡(luò)的流量和分析。本發(fā)明提供的流量引導(dǎo)方法的一種實(shí)施方式,請(qǐng)參照?qǐng)D1,圖1為本發(fā)明一較佳實(shí)施例所提供的流量引導(dǎo)方法流程圖。如圖1所示,本實(shí)施例中的流量引導(dǎo)方法包括以下步驟:步驟S101,在代理服務(wù)器上部署客戶端程序??蛻舳顺绦蛴糜谙蚍?wù)端發(fā)送各種協(xié)議類型的請(qǐng)求,包括TCP(TransmissionControlProtocol,傳輸控制協(xié)議)請(qǐng)求、UDP(UserDatagramProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)請(qǐng)求和ICMP(InternetControlMessageProtocol,互聯(lián)網(wǎng)控制報(bào)文協(xié)議)請(qǐng)求等。步驟S102,配置代理服務(wù)器上的iptables規(guī)則,使得客戶端程序所發(fā)出的請(qǐng)求被識(shí)別,并被代理服務(wù)器上的代理服務(wù)程序監(jiān)聽(tīng)。在代理服務(wù)器上根據(jù)不同的協(xié)議請(qǐng)求配置不同的iptables規(guī)則,客戶端程序向服務(wù)端發(fā)出請(qǐng)求后,根據(jù)請(qǐng)求的協(xié)議類型,按照對(duì)應(yīng)的iptables規(guī)則識(shí)別請(qǐng)求,并對(duì)請(qǐng)求進(jìn)行處理,使所述請(qǐng)求先進(jìn)入代理服務(wù)器上的代理服務(wù)程序,被代理服務(wù)程序監(jiān)聽(tīng)。本實(shí)施例中,代理服務(wù)器通過(guò)為客戶端設(shè)置指定組標(biāo)識(shí),并根據(jù)組標(biāo)識(shí)來(lái)識(shí)別客戶端所發(fā)出的請(qǐng)求,故在本實(shí)施例中,更進(jìn)一步的,在步驟S102前更包含步驟:指定客戶端程序的組標(biāo)識(shí)??梢岳斫獾氖?,本發(fā)明的其他實(shí)施例中,也可使用其他本領(lǐng)域技術(shù)人員所習(xí)知的技術(shù)手段來(lái)實(shí)現(xiàn)客戶端請(qǐng)求的識(shí)別,并不以此為限。步驟S103,代理服務(wù)程序接收請(qǐng)求,獲取請(qǐng)求的原始目的IP(InternetProtocol,網(wǎng)絡(luò)協(xié)議)地址和原始目的端口,并向請(qǐng)求的原始目的IP地址和原始目的端口發(fā)送請(qǐng)求。本發(fā)明的實(shí)施例中,針對(duì)不同協(xié)議類型的客戶端請(qǐng)求所配置的iptables規(guī)則有所差別,以下將分別針對(duì)協(xié)議類型為T(mén)CP、UDP和ICMP的請(qǐng)求的流量引導(dǎo)方法實(shí)施例進(jìn)行說(shuō)明。TCP類型的客戶端請(qǐng)求的流量引導(dǎo)方法請(qǐng)參照?qǐng)D2,圖2為本發(fā)明另一較佳實(shí)施例所提供的流量引導(dǎo)方法流程圖,如圖2所示,本實(shí)施例的流量引導(dǎo)方法包含以下步驟:步驟S201,在代理服務(wù)器上部署客戶端程序??蛻舳顺绦蛴糜谙蚍?wù)端發(fā)送請(qǐng)求。步驟S202,指定客戶端程序的組標(biāo)識(shí)。為代理服務(wù)器上部署好的客戶端程序配置指定的組標(biāo)識(shí)。步驟S203,配置代理服務(wù)器上的iptables規(guī)則,使得客戶端程序所發(fā)出的TCP協(xié)議請(qǐng)求被識(shí)別,并被代理服務(wù)器上的代理服務(wù)程序監(jiān)聽(tīng)。具體而言,通過(guò)對(duì)代理服務(wù)器上的iptables規(guī)則進(jìn)行配置,代理服務(wù)器可通過(guò)組標(biāo)識(shí)來(lái)識(shí)別客戶端程序所發(fā)出的請(qǐng)求并判斷請(qǐng)求的協(xié)議類型,當(dāng)請(qǐng)求的協(xié)議類型為T(mén)CP時(shí),將該請(qǐng)求的目的IP地址和目的端口重定向(redirect)為代理服務(wù)程序監(jiān)聽(tīng)的IP地址和TCP端口,從而實(shí)現(xiàn)客戶端程序的TCP請(qǐng)求被代理服務(wù)程序監(jiān)聽(tīng)并接收。步驟S204,代理服務(wù)程序接收所述請(qǐng)求,獲取所述請(qǐng)求的原始目的IP地址和原始目的端口,并向所述請(qǐng)求的原始目的IP地址和原始目的端口發(fā)送所述請(qǐng)求。具體而言,代理服務(wù)程序通過(guò)其所監(jiān)聽(tīng)的IP地址和TCP端口獲取請(qǐng)求數(shù)據(jù),并通過(guò)getsockopt函數(shù)獲取請(qǐng)求的原始目的IP地址和原始目的端口,進(jìn)行相應(yīng)的代理服務(wù),例如,傳輸路徑選擇,并將所述請(qǐng)求發(fā)送至原始目的IP地址和原始目的端口。對(duì)客戶端程序所發(fā)出的請(qǐng)求實(shí)現(xiàn)代理服務(wù)功能。UDP類型的客戶端請(qǐng)求的流量引導(dǎo)方法請(qǐng)參照?qǐng)D3,圖3為本發(fā)明又一較佳實(shí)施例所提供的流量引導(dǎo)方法流程圖,如圖3所示,本實(shí)施例的流量引導(dǎo)方法包含以下步驟:步驟S301,在代理服務(wù)器上部署客戶端程序。客戶端程序用于向服務(wù)端發(fā)送請(qǐng)求。步驟S302,指定客戶端程序的組標(biāo)識(shí)。為代理服務(wù)器上部署好的客戶端程序配置指定的組標(biāo)識(shí)。步驟S303,配置代理服務(wù)器上的iptables規(guī)則,使得客戶端程序所發(fā)出的請(qǐng)求被識(shí)別,并被代理服務(wù)器上的代理服務(wù)程序監(jiān)聽(tīng)。具體而言,通過(guò)對(duì)代理服務(wù)器上的iptables規(guī)則進(jìn)行配置,代理服務(wù)器可通過(guò)組標(biāo)識(shí)來(lái)識(shí)別客戶端程序所發(fā)出的請(qǐng)求并判斷請(qǐng)求的協(xié)議類型,當(dāng)請(qǐng)求的協(xié)議類型為UDP時(shí),通過(guò)透明代理(tproxy)來(lái)建立與代理服務(wù)程序的聯(lián)系,并對(duì)所述UDP協(xié)議請(qǐng)求進(jìn)行標(biāo)記M1。具體而言,客戶端的UDP協(xié)議請(qǐng)求通過(guò)透明代理注冊(cè)一個(gè)target到netfilter,該target使得該請(qǐng)求能夠被代理服務(wù)程序監(jiān)聽(tīng)的端口所接收,從而建立了請(qǐng)求與代理服務(wù)程序之間的聯(lián)系。為了代理服務(wù)程序能夠接收到該請(qǐng)求,本實(shí)施例更包含步驟S304,對(duì)代理服務(wù)器上的策略路由和路由進(jìn)行配置,具體而言,在代理服務(wù)器上配置策略路由,指定被標(biāo)記為M1的請(qǐng)求所要查找的路由表,并在代理服務(wù)器上配置路由,在路由表中添加默認(rèn)路由規(guī)則,把被標(biāo)記為M1的請(qǐng)求發(fā)往本地還回接口,從而被所述代理服務(wù)程序接收。步驟S305,代理服務(wù)程序接收所述請(qǐng)求,獲取所述請(qǐng)求的原始目的IP地址和原始目的端口,并向所述請(qǐng)求的原始目的IP地址和原始目的端口發(fā)送所述請(qǐng)求。具體而言,透明代理把客戶端UDP協(xié)議請(qǐng)求的原始目的IP地址和原始目的端口與代理服務(wù)程序建立了一個(gè)聯(lián)系,請(qǐng)求被發(fā)到被代理服務(wù)程序所監(jiān)聽(tīng)的本地還回接口以后,就可以通過(guò)這種聯(lián)系,把使請(qǐng)求被代理服務(wù)程序接收,并進(jìn)行相應(yīng)的代理服務(wù),例如傳輸路徑選擇,并將所述請(qǐng)求發(fā)送至原始目的IP地址和原始目的端口,對(duì)客戶端程序所發(fā)出的請(qǐng)求實(shí)現(xiàn)代理服務(wù)功能。值得注意的是,由于并未對(duì)UDP協(xié)議請(qǐng)求的原始目的IP地址和原始目的端口進(jìn)行任何修改,故代理服務(wù)程序可直接從請(qǐng)求信息中獲取其原始目的IP地址和原始目的端口。ICMP類型的客戶端請(qǐng)求的流量引導(dǎo)方法請(qǐng)參照?qǐng)D4,圖4為本發(fā)明再一較佳實(shí)施例所提供的流量引導(dǎo)方法流程圖,如圖4所示,本實(shí)施例的流量引導(dǎo)方法包含以下步驟:步驟S401,在代理服務(wù)器上部署客戶端程序??蛻舳顺绦蛴糜谙蚍?wù)端發(fā)送請(qǐng)求。步驟S402,指定客戶端程序的組標(biāo)識(shí)。為代理服務(wù)器上部署好的客戶端程序配置指定的組標(biāo)識(shí)。步驟S403,配置代理服務(wù)器上的iptables規(guī)則,使得客戶端程序所發(fā)出的請(qǐng)求被識(shí)別,并被代理服務(wù)器上的代理服務(wù)程序監(jiān)聽(tīng)。具體而言,通過(guò)對(duì)代理服務(wù)器上的iptables規(guī)則進(jìn)行配置,代理服務(wù)器可通過(guò)組標(biāo)識(shí)來(lái)識(shí)別客戶端程序所發(fā)出的請(qǐng)求并判斷請(qǐng)求的協(xié)議類型,當(dāng)請(qǐng)求的協(xié)議類型為ICMP時(shí),對(duì)所述ICMP協(xié)議請(qǐng)求進(jìn)行標(biāo)記M2。步驟S404,對(duì)代理服務(wù)器上的策略路由和路由進(jìn)行配置,具體而言,在代理服務(wù)器上配置策略路由,指定被標(biāo)記為M2的請(qǐng)求所要查找的路由表,并在代理服務(wù)器上配置路由,在路由表中添加默認(rèn)路由規(guī)則,把被標(biāo)記為M2的請(qǐng)求發(fā)往本地還回接口,從而被所述代理服務(wù)程序接收。由于ICMP使用的是rawsocket,只要把ICMP協(xié)議請(qǐng)求路由到本地還回接口以后,由于本地還回接口被代理服務(wù)程序所監(jiān)聽(tīng),代理服務(wù)器程序就能夠通過(guò)rawsocket接收到這個(gè)請(qǐng)求。步驟S405,代理服務(wù)程序接收所述請(qǐng)求,獲取所述請(qǐng)求的原始目的IP地址和原始目的端口,并向所述請(qǐng)求的原始目的IP地址和原始目的端口發(fā)送所述請(qǐng)求。具體而言,客戶端的ICMP協(xié)議請(qǐng)求被發(fā)到本地還回接口以后,代理服務(wù)程序通過(guò)rawsocket接收,并進(jìn)行相應(yīng)的代理服務(wù),例如,傳輸路徑選擇,并將所述請(qǐng)求發(fā)送至原始目的IP地址和原始目的端口。對(duì)客戶端程序所發(fā)出的請(qǐng)求實(shí)現(xiàn)代理服務(wù)功能。值得注意的是,由于并未對(duì)UDP協(xié)議請(qǐng)求的原始目的IP地址和原始目的端口進(jìn)行任何修改,故代理服務(wù)程序可直接從請(qǐng)求信息中獲取其原始目的IP地址和原始目的端口。由此可見(jiàn),本發(fā)明所提供的流量引導(dǎo)方法可使代理服務(wù)程序接收到部署在同一代理服務(wù)器上的客戶端程序所發(fā)送的TCP協(xié)議請(qǐng)求、UDP協(xié)議請(qǐng)求和ICMP協(xié)議請(qǐng)求進(jìn)行接收,并進(jìn)行代理服務(wù)。這一技術(shù)可應(yīng)用代理服務(wù)器的代理功能測(cè)試中,從而省卻了測(cè)試設(shè)備,簡(jiǎn)化了測(cè)試環(huán)境部署工作,節(jié)省開(kāi)發(fā)成本。本發(fā)明還提供了一種流量引導(dǎo)系統(tǒng),請(qǐng)參照?qǐng)D5,圖5為本發(fā)明一較佳實(shí)施所提供的流量引導(dǎo)系統(tǒng)示意圖,如圖5所示,流量引導(dǎo)系統(tǒng)1包括代理服務(wù)器100和服務(wù)端200。代理服務(wù)器100部署有客戶端程序110和代理服務(wù)程序120,服務(wù)端200,與代理服務(wù)器100連接,接收代理服務(wù)器100發(fā)來(lái)的請(qǐng)求,客戶端程序110向服務(wù)端200發(fā)出的請(qǐng)求被代理服務(wù)程序120接收,代理服務(wù)程序120對(duì)該請(qǐng)求就行代理服務(wù),并將該請(qǐng)求發(fā)送給服務(wù)端200。代理服務(wù)器100更包含配置模塊130,其中配置模塊130包含組標(biāo)識(shí)單元131,用于指定客戶端程序110的組標(biāo)識(shí);iptables配置單元132,用于對(duì)代理服務(wù)器100上的iptables規(guī)則進(jìn)行配置;策略路由及路由配置單元133,用于對(duì)代理服務(wù)器100上的策略路由和路由進(jìn)行配置,通過(guò)配置模塊130中各單元的配置可使代理服務(wù)器100識(shí)別客戶端程序110向服務(wù)端200發(fā)送的請(qǐng)求,并使該些請(qǐng)求述代理服務(wù)程序120接收。具體而言,客戶端程序110部署在代理服務(wù)器100上,可向服務(wù)端200發(fā)送請(qǐng)求,該些請(qǐng)求包含不同的協(xié)議類型,協(xié)議類型主要包括TCP(TransmissionControlProtocol,傳輸控制協(xié)議)、UDP(UserDatagramProtocol,用戶數(shù)據(jù)報(bào)協(xié)議)和ICMP(InternetControlMessageProtocol,互聯(lián)網(wǎng)控制報(bào)文協(xié)議)等。配置模塊130的組標(biāo)識(shí)單元131為客戶端程序配置指定的組標(biāo)識(shí),如此一來(lái),客戶端程序所發(fā)出的請(qǐng)求信息中包含該指定的組標(biāo)識(shí),通過(guò)iptables配置單元132對(duì)代理服務(wù)器100上的iptables規(guī)則的配置,使得代理服務(wù)器100可根據(jù)指定的組標(biāo)識(shí)識(shí)別出客戶端程序所發(fā)出的請(qǐng)求,并根據(jù)不同協(xié)議類型的請(qǐng)求進(jìn)行相應(yīng)的處理,使得代理服務(wù)程序120接收到客戶端程序110所發(fā)送的請(qǐng)求。針對(duì)上述三種協(xié)議類型的請(qǐng)求,分別進(jìn)行以下配置:(1)TCP協(xié)議請(qǐng)求:將客戶端程序110發(fā)出的TCP請(qǐng)求的目的IP地址和目的端口重定向?yàn)榇矸?wù)程序120所監(jiān)聽(tīng)的IP地址和TCP端口。(2)UDP協(xié)議請(qǐng)求:將客戶端程序110發(fā)出的UDP請(qǐng)求通過(guò)透明代理來(lái)建立與代理服務(wù)程序120的聯(lián)系,并對(duì)所述UDP協(xié)議請(qǐng)求進(jìn)行標(biāo)記。具體而言,UDP協(xié)議請(qǐng)求通過(guò)透明代理注冊(cè)一個(gè)target到netfilter,所述target使得所述UDP協(xié)議請(qǐng)求能夠被代理服務(wù)程序120監(jiān)聽(tīng)的端口所接收。(3)ICMP協(xié)議請(qǐng)求:將客戶端程序發(fā)出的ICMP請(qǐng)求進(jìn)行標(biāo)記。通過(guò)上述iptables規(guī)則的配置,客戶端程序110發(fā)出的TCP協(xié)議請(qǐng)求可被代理服務(wù)程序120監(jiān)聽(tīng)并接收,但UDP協(xié)議請(qǐng)求和ICMP協(xié)議請(qǐng)求還無(wú)法被代理服務(wù)程序120所接收,還需通過(guò)策略路由及路由配置單元133對(duì)代理服務(wù)器100上的策略路由和路由進(jìn)行配置。策略路由及路由配置單元133在對(duì)代理服務(wù)器上的策略路由進(jìn)行配置,指定被標(biāo)記請(qǐng)求所要查找的路由表,并在代理服務(wù)器100上配置路由,在路由表中添加默認(rèn)路由規(guī)則,把被標(biāo)記的請(qǐng)求發(fā)往本地還回接口,從而被所述代理服務(wù)程序120接收。經(jīng)過(guò)配置模塊130中的各配置單元的配置,代理服務(wù)器100上的客戶端程序110所發(fā)出的三種協(xié)議類型的請(qǐng)求都能被代理服務(wù)程序120所接收,客戶端程序110所發(fā)出的請(qǐng)求流量的傳送路徑,由原先的直接從代理服務(wù)器100的輸出端口發(fā)出到服務(wù)端200,被引導(dǎo)至代理服務(wù)程序120所監(jiān)聽(tīng)的端口,并被代理服務(wù)程序120接收,進(jìn)而按照代理服務(wù)程序120所選擇的優(yōu)選路徑傳輸至服務(wù)端200。綜上所述,本發(fā)明所提供的技術(shù)方案中,客戶端程序和代理服務(wù)程序均部署在同一代理服務(wù)器上,將客戶端程序向服務(wù)端發(fā)起的請(qǐng)求引導(dǎo)到代理服務(wù)程序上,由代理服務(wù)程序來(lái)訪問(wèn)服務(wù)端。該技術(shù)可應(yīng)用于代理服務(wù)程序的測(cè)試,去掉了現(xiàn)有方法中的測(cè)試機(jī),節(jié)省測(cè)試機(jī)的設(shè)備資源和維護(hù)成本,無(wú)需單獨(dú)再為測(cè)試機(jī)引導(dǎo)流量配置路由,可以在一臺(tái)設(shè)備上完成測(cè)試操作。同時(shí)現(xiàn)有技術(shù)方案所使用的應(yīng)用程序也無(wú)需修改即可使用,節(jié)約了開(kāi)發(fā)成本。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
虹口区| 富川| 本溪| 赤水市| 永仁县| 县级市| 九寨沟县| 永州市| 桑植县| 同江市| 扬中市| 朝阳市| 驻马店市| 宁化县| 郴州市| 绵阳市| 汝南县| 上饶市| 龙江县| 孝昌县| 长顺县| 化州市| 奉新县| 土默特左旗| 河北省| 丁青县| 新安县| 云安县| 时尚| 民县| 昌宁县| 松桃| 盐山县| 宝山区| 大丰市| 安丘市| 视频| 武穴市| 东莞市| 喀什市| 青阳县|