本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種互訪信息的獲取方法及系統(tǒng)。
背景技術(shù):
業(yè)務(wù)支撐系統(tǒng)是各大電信運(yùn)營(yíng)商提供全網(wǎng)業(yè)務(wù)運(yùn)營(yíng)的支撐系統(tǒng),一般是從互為備份的負(fù)載均衡設(shè)備起始,經(jīng)過多臺(tái)web服務(wù)器、多臺(tái)中間件服務(wù)器以及多臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,最后進(jìn)入數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)。隨著業(yè)務(wù)支撐系統(tǒng)的日益復(fù)雜,虛擬化資源之間的動(dòng)態(tài)分配技術(shù)和高可用技術(shù)都得到了快速的發(fā)展,獲取不同服務(wù)器之間、服務(wù)器與負(fù)載均衡設(shè)備之間、以及不同服務(wù)器上運(yùn)行的軟件之間的互訪信息就變得越來越困難;其中,所述互訪信息包括源ip地址、目標(biāo)ip地址、源端口和目標(biāo)端口。
配置項(xiàng)(configurationitem,ci)可以指負(fù)載均衡設(shè)備、web服務(wù)器、中間件服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器等硬件設(shè)備,也可以指在上述硬件設(shè)備中運(yùn)行的軟件對(duì)象,例如數(shù)據(jù)庫(kù)、應(yīng)用或進(jìn)程等。配置項(xiàng)節(jié)點(diǎn)是指配置項(xiàng)所在的網(wǎng)絡(luò)節(jié)點(diǎn),所以,當(dāng)配置項(xiàng)為負(fù)載均衡設(shè)備、中間件服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器等硬件設(shè)備時(shí),所述配置項(xiàng)節(jié)點(diǎn)就是硬件設(shè)備本身,當(dāng)配置項(xiàng)為數(shù)據(jù)庫(kù)、應(yīng)用或進(jìn)程等軟件對(duì)象時(shí),所述配置項(xiàng)節(jié)點(diǎn)即為運(yùn)行該軟件對(duì)象的硬件設(shè)備。獲取業(yè)務(wù)支撐系統(tǒng)中配置項(xiàng)之間的互訪信息可以實(shí)現(xiàn)以下常見的功能:1)、確定業(yè)務(wù)支撐系統(tǒng)中哪些業(yè)務(wù)節(jié)點(diǎn)不可用,從而提醒網(wǎng)絡(luò)維護(hù)人員盡快修復(fù)這些不可用節(jié)點(diǎn);而且還可以通過配置項(xiàng)之間的互訪信息,準(zhǔn)確評(píng)估網(wǎng)絡(luò)故障的影響范圍;2)、確定業(yè)務(wù)支撐系統(tǒng)中哪些業(yè)務(wù)節(jié)點(diǎn)需要變更或者是上線發(fā)布,配置項(xiàng)之間的互訪信息也是重要的參考依據(jù)。所以獲取配置項(xiàng)之間的互訪信息就變得非常重要。
為了獲取配置項(xiàng)之間的互訪信息,通常采用如下兩種方法:
第一種,首先,負(fù)載均衡配置服務(wù)器獲取負(fù)載均衡設(shè)備的靜態(tài)配置信息,節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器利用節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)技術(shù)獲取除負(fù)載均衡設(shè)備以外的其他配置項(xiàng)節(jié)點(diǎn)的靜態(tài)互訪信息;然后,將負(fù)載均衡配置服務(wù)器獲取到的靜態(tài)配置信息和節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器獲取到的靜態(tài)互訪信息結(jié)合起來進(jìn)行聚合分析,從而獲得業(yè)務(wù)支撐系統(tǒng)中全部配置項(xiàng)之間的互訪信息。
第二種,首先通過業(yè)務(wù)支撐系統(tǒng)中各個(gè)配置項(xiàng)節(jié)點(diǎn)中的日志記錄每個(gè)配置項(xiàng)節(jié)點(diǎn)的互訪信息,然后日志服務(wù)器采集各個(gè)配置項(xiàng)節(jié)點(diǎn)的日志,通過分析獲得業(yè)務(wù)支撐系統(tǒng)中全部配置項(xiàng)之間的互訪信息。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
在現(xiàn)有第一種互訪信息的獲取方法中,通過負(fù)載均衡配置服務(wù)器和節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器分別獲取到的配置信息和互訪信息都是靜態(tài)的,也就是說,該互訪信息只能表示某一個(gè)時(shí)段內(nèi)配置項(xiàng)之間的互訪關(guān)系,因此現(xiàn)有第一種互訪信息的獲取方法不能實(shí)時(shí)地獲取業(yè)務(wù)支撐系統(tǒng)中配置項(xiàng)之間的互訪信息。并且,在現(xiàn)有第二種互訪信息的獲取方法中,通過日志服務(wù)器獲取到的日志也是靜態(tài)的,該日志也只能表示某一個(gè)時(shí)段內(nèi)配置項(xiàng)之間的互訪關(guān)系,因此,現(xiàn)有第二種互訪信息的獲取方法也不能實(shí)時(shí)地獲取業(yè)務(wù)支撐系統(tǒng)中配置項(xiàng)之間的互訪信息。由此可見,由于現(xiàn)有的兩種互訪信息的獲取方法都不能實(shí)時(shí)地獲取配置項(xiàng)之間的互訪信息,所以,當(dāng)業(yè)務(wù)支撐系統(tǒng)中配置項(xiàng)之間的互訪信息發(fā)生變化時(shí),利用現(xiàn)有的兩種互訪信息的獲取方法就不能準(zhǔn)確地獲知當(dāng)前配置項(xiàng)之間的互訪關(guān)系。
更進(jìn)一步的,在現(xiàn)有的兩種互訪信息的獲取方法中,都是通過配置項(xiàng)節(jié)點(diǎn)獲取配置項(xiàng)之間的互訪信息,由于業(yè)務(wù)支撐系統(tǒng)中的配置項(xiàng)節(jié)點(diǎn)數(shù)量較多,因此利用現(xiàn)有的互訪信息的獲取方法花費(fèi)時(shí)間比較長(zhǎng),而且流程比較復(fù)雜,可推廣性較差。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實(shí)施例期望提供一種互訪信息的獲取方法及 裝置,能夠?qū)崟r(shí)地獲取配置項(xiàng)之間的互訪信息。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例提供一種互訪信息的獲取方法,包括:
在流量采集設(shè)備發(fā)送的以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包;
所述當(dāng)前以太網(wǎng)包包括ip協(xié)議包時(shí),在所述ip協(xié)議包中獲取互訪信息的源ip地址和目標(biāo)ip地址;
所述ip協(xié)議包中包括tcp協(xié)議包時(shí),在所述tcp協(xié)議包中獲取所述互訪信息的源端口和目標(biāo)端口。
上述實(shí)施例中,在所述tcp協(xié)議包中獲取所述互訪信息的源端口和目標(biāo)端口之后,所述方法還包括:當(dāng)所述tcp協(xié)議包中的同步序列號(hào)(synchronizesequencenumber,syn)為1且確認(rèn)ack比特為0時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器;當(dāng)所述tcp協(xié)議包中的syn為1且所述ack比特為1時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
上述實(shí)施例中,在所述tcp協(xié)議包中獲取所述互訪信息的源端口和目標(biāo)端口之后,所述方法還包括:獲取所述tcp協(xié)議包數(shù)據(jù)中的報(bào)文類型;根據(jù)所述報(bào)文類型確定所述當(dāng)前以太網(wǎng)包的發(fā)送方向。
上述實(shí)施例中,在所述tcp協(xié)議包中獲取所述互訪信息的源端口和目標(biāo)端口之后,所述方法還包括:統(tǒng)計(jì)所述源ip地址和所述源端口相同,且所述目標(biāo)ip地址或目標(biāo)端口不同的以太網(wǎng)包的第一數(shù)量;當(dāng)所述第一數(shù)量大于第一預(yù)設(shè)閾值時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
在上述實(shí)施例中,所述方法還包括:當(dāng)所述第一數(shù)量不大于所述第一預(yù)設(shè)閾值時(shí),統(tǒng)計(jì)所述源ip地址或所述源端口不同,且所述目標(biāo)ip地址和所述目標(biāo)端口相同的以太網(wǎng)包的第二數(shù)量;當(dāng)所述第二數(shù)量大于第二預(yù)設(shè)閾值時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器。
本發(fā)明實(shí)施例提供一種互訪信息的獲取裝置,包括:
接收單元,用于接收流量采集設(shè)備發(fā)送的以太網(wǎng)包數(shù)據(jù)流,將所述以太網(wǎng)包數(shù)據(jù)流發(fā)送給獲取單元;
所述獲取單元,用于從所述以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包,當(dāng)所述當(dāng)前以太網(wǎng)包包括ip協(xié)議包時(shí),在所述ip協(xié)議包中獲取互訪信息的源ip地址和目標(biāo)ip地址,還用于當(dāng)所述ip協(xié)議包中包括tcp協(xié)議包時(shí),在所述tcp協(xié)議包中獲取所述互訪信息的源端口和目標(biāo)端口。
在上述實(shí)施例中,所述裝置還包括:判斷單元;
所述獲取單元,還用于獲取所述tcp協(xié)議包中的syn和確認(rèn)ack比特,并將所述syn和所述ack比特發(fā)送給所述判斷單元;所述判斷單元,用于當(dāng)所述syn為1且所述ack比特為0時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器,還用于當(dāng)所述tcp協(xié)議包中的syn為1且所述ack比特為1時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
在上述實(shí)施例中,所述裝置還包括:所述獲取單元,還用于獲取所述tcp協(xié)議包數(shù)據(jù)中的報(bào)文類型,將所述報(bào)文類型發(fā)送給所述判斷單元;所述判斷單元,還用于根據(jù)所述報(bào)文類型確定所述當(dāng)前以太網(wǎng)包的發(fā)送方向。
在上述實(shí)施例中,所述裝置還包括:統(tǒng)計(jì)單元;
所述獲取單元,還用于將所述源ip地址、所述目標(biāo)ip地址、所述源端口和所述目標(biāo)端口發(fā)送給所述統(tǒng)計(jì)單元;所述統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述源ip地址和所述源端口相同,且所述目標(biāo)ip地址或目標(biāo)端口不同的以太網(wǎng)包的第一數(shù)量,將所述第一數(shù)量發(fā)送給所述判斷單元;所述判斷單元,還用于當(dāng)所述第一數(shù)量大于第一預(yù)設(shè)閾值時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
在上述實(shí)施例中,所述裝置還包括:
所述統(tǒng)計(jì)單元,還用于當(dāng)所述第一數(shù)量不大于所述第一預(yù)設(shè)閾值時(shí),統(tǒng)計(jì)所述源ip地址或所述源端口不同,且所述目標(biāo)ip地址和所述目標(biāo)端口相同的以太網(wǎng)包的第二數(shù)量,將所述第二數(shù)量發(fā)送給所述判斷單元;所述判斷單元,還用于當(dāng)所述第二數(shù)量大于第二預(yù)設(shè)閾值時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器。
由此可見,在本發(fā)明實(shí)施例的技術(shù)方案中,首先,實(shí)時(shí)地在流量采集設(shè)備 發(fā)送的以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包,然后,通過對(duì)該以太網(wǎng)包數(shù)據(jù)流中的每一個(gè)當(dāng)前以太網(wǎng)包進(jìn)行判斷和分析,就可以實(shí)時(shí)地獲取包括源ip地址、目標(biāo)ip地址、源端口和目標(biāo)端口的互訪信息;而且,在本發(fā)明實(shí)施例的技術(shù)方案中,無需在業(yè)務(wù)支撐系統(tǒng)中部署負(fù)載均衡配置服務(wù)器和節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器,也無需各個(gè)配置項(xiàng)節(jié)點(diǎn)通過日志記錄互訪信息。而在現(xiàn)有技術(shù)中,需要在業(yè)務(wù)支撐系統(tǒng)中部署負(fù)載均衡配置服務(wù)器和節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器,或者需要各個(gè)配置項(xiàng)節(jié)點(diǎn)通過日志記錄互訪信息;而且,在現(xiàn)有的互訪信息的獲取方法中只能獲取配置項(xiàng)之間的靜態(tài)互訪信息。因此,和現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例提出的互訪信息的獲取方法和裝置,不僅能夠?qū)崟r(shí)地獲取配置項(xiàng)之間的互訪信息;并且,實(shí)現(xiàn)起來簡(jiǎn)單方便,便于普及,適用范圍更廣。
附圖說明
圖1為本發(fā)明實(shí)施例中互訪信息的獲取方法的實(shí)現(xiàn)流程示意圖;
圖2為現(xiàn)有技術(shù)中以太網(wǎng)包的組成結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例中確定當(dāng)前以太網(wǎng)包發(fā)送方向的第一種實(shí)現(xiàn)方法流程示意圖;
圖4為本發(fā)明實(shí)施例中確定當(dāng)前以太網(wǎng)包發(fā)送方向的第二種實(shí)現(xiàn)方法流程示意圖;
圖5為本發(fā)明實(shí)施例中確定當(dāng)前以太網(wǎng)包發(fā)送方向的第三種實(shí)現(xiàn)方法流程示意圖;
圖6為本發(fā)明實(shí)施例中互訪信息的獲取裝置的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
圖1為本發(fā)明實(shí)施例中互訪信息的獲取方法的實(shí)現(xiàn)流程示意圖,如圖1所示,互訪信息的獲取方法包括以下步驟:
步驟101、在流程采集設(shè)備發(fā)送的以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包。
在本發(fā)明的具體實(shí)施例中,可以在業(yè)務(wù)支撐系統(tǒng)中設(shè)置一個(gè)配置服務(wù)器。在本步驟中,所述配置服務(wù)器可以實(shí)時(shí)地接收流量采集設(shè)備發(fā)送的以太網(wǎng)包的數(shù)據(jù)流。具體地,所述流量采集設(shè)備可以是業(yè)務(wù)支撐系統(tǒng)中的以太網(wǎng)交換機(jī),也可以是在業(yè)務(wù)支撐系統(tǒng)中設(shè)置的其他流量采集設(shè)備。
目前,端口鏡像(portmirroring)是一種監(jiān)控和分析進(jìn)出網(wǎng)絡(luò)的所有數(shù)據(jù)包的方法,廣泛應(yīng)用于信息安全,故障定位,以及數(shù)據(jù)測(cè)試中。因此在本發(fā)明的具體實(shí)施例中,以太網(wǎng)交換機(jī)可以應(yīng)用端口鏡像技術(shù)將進(jìn)出該以太網(wǎng)交換機(jī)一個(gè)或多個(gè)端口的以太網(wǎng)包都進(jìn)行復(fù)制并發(fā)送到配置服務(wù)器中。
在本步驟中,配置服務(wù)器首先從接收到的以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包。具體地,配置服務(wù)器可以按照先進(jìn)先出的原則在以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包,也可以按照其他預(yù)設(shè)的選擇策略從以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包。
步驟102、當(dāng)前以太網(wǎng)包包括ip協(xié)議包時(shí),在ip協(xié)議包中獲取互訪信息的源ip地址和目標(biāo)ip地址。
在本步驟中,配置服務(wù)器判斷當(dāng)前以太網(wǎng)包是否包括ip協(xié)議包,當(dāng)所述當(dāng)前以太網(wǎng)包包括ip協(xié)議包時(shí),在ip協(xié)議包中獲取互訪信息的源ip地址和目標(biāo)ip地址;否則,丟棄當(dāng)前以太網(wǎng)包。圖2為現(xiàn)有技術(shù)中以太網(wǎng)包的組成結(jié)構(gòu)示意圖,如圖2所示,一個(gè)以太網(wǎng)包由5個(gè)字段組成,分別為:目的mac地址、源mac地址、類型、數(shù)據(jù)和幀檢驗(yàn)序列。其中,第三個(gè)字段是2個(gè)字節(jié)的類型字段,用來標(biāo)志上一層使用的是什么協(xié)議,例如,當(dāng)類型字段的值為0x0800時(shí),就表示上層使用的是ip協(xié)議,此時(shí)配置服務(wù)器可以判斷出所述當(dāng)前以太網(wǎng)包包括ip協(xié)議包,配置服務(wù)器在ip協(xié)議包中獲取互訪信息的源ip地址和目標(biāo)ip地址;否則,丟棄當(dāng)前以太網(wǎng)包。
在tcp/ip標(biāo)準(zhǔn)中,一個(gè)ip協(xié)議包由首部和數(shù)據(jù)兩部分組成。其中,首部的前一部分是固定部分,共20字節(jié),是所有ip協(xié)議包必須具有的。所述固定部分的第13~16個(gè)字節(jié)為源ip地址,第17~20個(gè)字節(jié)為目標(biāo)ip地址。因此, 在本步驟中,配置服務(wù)器可以根據(jù)ip協(xié)議包的數(shù)據(jù)格式,在ip協(xié)議包中獲取互訪信息的源ip地址和目標(biāo)ip地址。需要說明的是,此時(shí)獲取到的ip地址是一個(gè)4字節(jié)的32位的整型,通過每8位的移位運(yùn)算可以獲取可讀的ip地址,例如,10.70.240.72。
步驟103、ip協(xié)議包中包括tcp協(xié)議包時(shí),在tcp協(xié)議包中獲取互訪信息的源端口和目標(biāo)端口。
根據(jù)tcp/ip標(biāo)準(zhǔn),在ip協(xié)議包的首部中,除了包括源ip地址和目標(biāo)ip地址之外,還包括:版本、首部長(zhǎng)度、服務(wù)類型、總長(zhǎng)度、標(biāo)識(shí)、標(biāo)志、片偏移、生存空間、協(xié)議和首部校驗(yàn)和。其中,協(xié)議字段指出此ip協(xié)議包攜帶的數(shù)據(jù)是使用哪種協(xié)議,以便使目的主機(jī)的ip層知道應(yīng)將數(shù)據(jù)部分上交給哪個(gè)過程處理。例如,當(dāng)協(xié)議字段的值為0x06時(shí),就表示上層使用的是tcp協(xié)議。因此,配置服務(wù)器可以根據(jù)ip協(xié)議包中的協(xié)議字段判斷ip協(xié)議包中是否包括tcp協(xié)議包。當(dāng)ip協(xié)議包中包括tcp協(xié)議包時(shí),配置服務(wù)器在tcp協(xié)議包中獲取互訪信息的源端口和目標(biāo)端口;否則,丟棄當(dāng)前以太網(wǎng)包。
根據(jù)tcp/ip標(biāo)準(zhǔn),一個(gè)tcp協(xié)議包包括首部和數(shù)據(jù)兩部分。其中,tcp協(xié)議包首部的前20個(gè)字節(jié)是固定的。源端口和目標(biāo)端口各占2個(gè)字節(jié)。源端口占第0~1個(gè)字節(jié),目標(biāo)端口占第2~3個(gè)字節(jié)。因此,在本步驟中,配置服務(wù)器可以根據(jù)tcp協(xié)議包的數(shù)據(jù)格式,在tcp協(xié)議包中獲取互訪信息的源端口和目標(biāo)端口。
在本發(fā)明的具體實(shí)施方式中,互訪信息包括:以太網(wǎng)包的源ip地址、目標(biāo)ip地址、源端口和目標(biāo)端口。由此可見,通過上述的步驟,配置服務(wù)器可以獲取到配置項(xiàng)之間的互訪信息。例如,假設(shè)節(jié)點(diǎn)1的ip地址為a,端口為x,節(jié)點(diǎn)2的ip地址為b,端口為y。當(dāng)節(jié)點(diǎn)1訪問節(jié)點(diǎn)2時(shí),通過本發(fā)明的技術(shù)方案可以得到:a:x->b:y。反之,當(dāng)節(jié)點(diǎn)2訪問節(jié)點(diǎn)1時(shí),可以得到:b:y->a:x。
根據(jù)上述的描述可知,由于配置服務(wù)器是實(shí)時(shí)地在流量采集設(shè)備發(fā)送的以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包,然后通過對(duì)該以太網(wǎng)數(shù)據(jù)流中的每一個(gè)當(dāng)前以太網(wǎng)包進(jìn)行判斷和分析,就可以實(shí)時(shí)地獲取包括源ip地址、目標(biāo)ip地址、 源端口和目標(biāo)端口的互訪信息。而且,在本發(fā)明實(shí)施例的技術(shù)方案中,無需在業(yè)務(wù)支撐系統(tǒng)中部署負(fù)載均衡配置服務(wù)器和節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器,也無需各個(gè)配置項(xiàng)節(jié)點(diǎn)通過日志記錄互訪信息,因此,本發(fā)明實(shí)施例提出的互訪信息的獲取方法,不僅能夠?qū)崟r(shí)地獲取配置項(xiàng)之間的互訪信息;并且,實(shí)現(xiàn)起來簡(jiǎn)單方便,便于普及,適用范圍更廣。
在本發(fā)明的具體實(shí)施例中,配置服務(wù)器在獲取到當(dāng)前以太網(wǎng)數(shù)據(jù)包的源ip地址、目標(biāo)ip地址、源端口和目標(biāo)端口之后,就可以獲知哪兩個(gè)配置項(xiàng)之間存在互訪關(guān)系。但是通過上述的步驟101~步驟103,還無法確定當(dāng)前以太網(wǎng)包的發(fā)送方向,即無法確定當(dāng)前以太網(wǎng)包是服務(wù)器(server)發(fā)送給客戶端(client)的,還是客戶端發(fā)送給服務(wù)器的。例如:假設(shè)節(jié)點(diǎn)1的ip地址為a,端口為x,節(jié)點(diǎn)2的ip地址為b,端口為y。當(dāng)節(jié)點(diǎn)1訪問節(jié)點(diǎn)2時(shí),通過本發(fā)明的技術(shù)方案可以得到:a:x->b:y。但是此時(shí)還無法確定節(jié)點(diǎn)1和節(jié)點(diǎn)2誰是服務(wù)器,誰是客戶端。
較佳地,在本發(fā)明的具體實(shí)施例中,配置服務(wù)器在tcp協(xié)議包中獲取到互訪信息的源端口和目標(biāo)端口之后,配置服務(wù)器還可以確定當(dāng)前以太網(wǎng)包的發(fā)送方向。圖3為本發(fā)明實(shí)施例中確定當(dāng)前以太網(wǎng)包發(fā)送方向的第一種實(shí)現(xiàn)方法流程示意圖,如圖3所示,在本發(fā)明的具體實(shí)施例中,確定當(dāng)前以太網(wǎng)包發(fā)送方向的方法進(jìn)一步包括如下步驟:
步驟301、當(dāng)tcp協(xié)議包中的syn為1時(shí),判斷tcp協(xié)議包中的確認(rèn)ack比特是否為0,若是,執(zhí)行步驟302;否則,執(zhí)行步驟303。
在tcp/ip標(biāo)準(zhǔn)中,tcp是面向連接的協(xié)議,tcp連接的建立和釋放是每一次面對(duì)連接的通信中必不可少的過程。因此,整個(gè)tcp連接可以分為三個(gè)階段:連接建立、數(shù)據(jù)傳輸和連接釋放。其中,tcp連接的建立采用客戶端服務(wù)器的方式。主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)程叫做客戶端,而被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器。具體地,在連接建立階段,客戶端向服務(wù)器發(fā)送syn,等待服務(wù)器確認(rèn),即當(dāng)syn=1,而ack=0時(shí),表明這是一個(gè)連接請(qǐng)求報(bào)文。服務(wù)器若同意建立連接,則應(yīng)在響應(yīng)的報(bào)文中使syn=1和ack=1。客戶端收 到服務(wù)器發(fā)送的syn+ack后,向服務(wù)器發(fā)送確認(rèn)信號(hào)ack。如此完成三次握手,建立連接。
由于syn是在連接建立時(shí)用來同步序號(hào)的,因此,當(dāng)syn=1而ack=0時(shí),表明這是一個(gè)連接請(qǐng)求的報(bào)文,即該報(bào)文是客戶端發(fā)送給服務(wù)器的。在本發(fā)明的具體實(shí)施例中,當(dāng)tcp協(xié)議包中的syn為1時(shí),判斷tcp協(xié)議包中的ack是否為0,若是,執(zhí)行步驟302;否則,執(zhí)行步驟303。
步驟302、判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器,結(jié)束當(dāng)前處理流程。
在本發(fā)明的具體實(shí)施例中,當(dāng)前以太網(wǎng)包的發(fā)送方向包括:客戶端到服務(wù)器,以及服務(wù)器到客戶端。
在本步驟中,當(dāng)syn=1且ack=0時(shí),表明這是一個(gè)客戶端請(qǐng)求服務(wù)器建立連接的報(bào)文,因此可以判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器,此時(shí)結(jié)束當(dāng)前處理流程。
步驟303、判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
在本步驟中,當(dāng)syn=1且ack=1時(shí),表明這是一個(gè)服務(wù)器響應(yīng)客戶端的報(bào)文,因此可以判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
圖4為本發(fā)明實(shí)施例中確定當(dāng)前以太網(wǎng)包發(fā)送方向的第二種實(shí)現(xiàn)方法流程示意圖,如圖4所示,在本發(fā)明的具體實(shí)施例中,確定當(dāng)前以太網(wǎng)包發(fā)送方向的方法進(jìn)一步包括如下步驟:
步驟401、獲取tcp協(xié)議包數(shù)據(jù)中的報(bào)文類型。
在本發(fā)明的具體實(shí)施例中,當(dāng)配置服務(wù)器根據(jù)tcp協(xié)議包首部中的字段無法判斷出當(dāng)前以太網(wǎng)包的發(fā)送方向時(shí),配置服務(wù)器還可以獲取tcp協(xié)議包數(shù)據(jù)中的報(bào)文類型。其中,所述報(bào)文類型包括:請(qǐng)求報(bào)文和響應(yīng)報(bào)文。以常見的http(hypertexttransferprotocol,超文本傳輸協(xié)議)為例,http有兩種報(bào)文:請(qǐng)求報(bào)文和響應(yīng)報(bào)文。http的請(qǐng)求報(bào)文和響應(yīng)報(bào)文都是由三部分組成,即:開始行、首部行和實(shí)體主體(entitybody)。其中,開始行是用于區(qū)分是請(qǐng)求報(bào)文還是響應(yīng)報(bào)文。在請(qǐng)求報(bào)文中的開始行叫做請(qǐng)求行,而在響應(yīng)報(bào)文中的開始行 叫做狀態(tài)行。其中,請(qǐng)求行包括:方法、url和版本;而狀態(tài)行包括:版本、狀態(tài)碼和短語。
步驟402、根據(jù)報(bào)文類型確定當(dāng)前以太網(wǎng)包的發(fā)送方向。
在本發(fā)明的具體實(shí)施例中,當(dāng)報(bào)文類型為請(qǐng)求報(bào)文時(shí),確定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器;當(dāng)報(bào)文類型為響應(yīng)報(bào)文時(shí),確定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
根據(jù)上述的描述可知,當(dāng)配置服務(wù)器根據(jù)tcp協(xié)議包首部中的字段無法判斷出當(dāng)前以太網(wǎng)包的發(fā)送方向時(shí),在本發(fā)明的具體實(shí)施例中,配置服務(wù)器還可以獲取tcp協(xié)議包數(shù)據(jù)中的報(bào)文類型,然后根據(jù)tcp協(xié)議包數(shù)據(jù)中的報(bào)文類型,確定當(dāng)前以太網(wǎng)包的發(fā)送方向。
圖5為本發(fā)明中實(shí)施例確定當(dāng)前以太網(wǎng)包發(fā)送方向的第三種實(shí)現(xiàn)方法流程示意圖,如圖5所示,在本發(fā)明的具體實(shí)施例中,確定當(dāng)前以太網(wǎng)包發(fā)送方向的方法進(jìn)一步包括如下步驟:
步驟501、統(tǒng)計(jì)源ip地址和源端口相同,且目標(biāo)ip地址或目標(biāo)端口不同的以太網(wǎng)包的第一數(shù)量。
在本步驟中,配置服務(wù)器統(tǒng)計(jì)源ip地址和源端口相同,且目標(biāo)ip地址或目標(biāo)端口不同的以太網(wǎng)包的第一數(shù)量。例如,配置服務(wù)器可以統(tǒng)計(jì)源ip地址均為a,源端口均為x,且目標(biāo)ip地址或目標(biāo)端口不同的以太網(wǎng)包的第一數(shù)量。
步驟502、判斷第一數(shù)量是否大于第一預(yù)設(shè)閾值,若是,執(zhí)行步驟503;否則,執(zhí)行步驟504。
在本步驟中,當(dāng)?shù)谝粩?shù)量大于第一預(yù)設(shè)閾值時(shí),執(zhí)行步驟503;否則,執(zhí)行步驟504。
步驟503、判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端,結(jié)束當(dāng)前處理流程。
通常情況下,服務(wù)器的端口是固定的,而客戶端的端口則是隨機(jī)分配的,因此在本發(fā)明的具體實(shí)施例中,配置服務(wù)器可以統(tǒng)計(jì)源ip地址和源端口相同,且目標(biāo)ip地址或目標(biāo)端口不同的當(dāng)前以太網(wǎng)包的第一數(shù)量,當(dāng)?shù)谝粩?shù)量大于第 一預(yù)設(shè)閾值時(shí),判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
步驟504、統(tǒng)計(jì)源ip地址或源端口不同,且目標(biāo)ip地址和目標(biāo)端口相同的以太網(wǎng)包的第二數(shù)量。
在本步驟中,配置服務(wù)器統(tǒng)計(jì)源ip地址或源端口不同,且目標(biāo)ip地址和目標(biāo)端口相同的以太網(wǎng)包的第二數(shù)量。例如,配置服務(wù)器可以統(tǒng)計(jì)目標(biāo)ip地址均為b,目標(biāo)端口均為y,且源ip地址或源端口不同的以太網(wǎng)包的第二數(shù)量。
步驟505、判斷第二數(shù)量是否大于第二預(yù)設(shè)閾值,若是,執(zhí)行步驟506;否則,執(zhí)行步驟507。
在本步驟中,當(dāng)?shù)诙?shù)量大于第二預(yù)設(shè)閾值時(shí),執(zhí)行步驟506;否則,執(zhí)行步驟507。
步驟506、判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器,結(jié)束當(dāng)前處理流程。
在本步驟中,當(dāng)?shù)诙?shù)量大于第二預(yù)設(shè)閾值時(shí),配置服務(wù)器判定當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器。
步驟507、結(jié)束確定當(dāng)前以太網(wǎng)包發(fā)送方向的流程。
本發(fā)明實(shí)施例提出的互訪信息的獲取方法,不僅可以實(shí)時(shí)地獲取包括源ip地址、目標(biāo)ip地址、源端口和目標(biāo)端口的互訪信息,而且無需在業(yè)務(wù)支撐系統(tǒng)中部署負(fù)載均衡配置服務(wù)器和節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器,也無需各個(gè)配置項(xiàng)節(jié)點(diǎn)通過日志記錄互訪信息。因此,和現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例提出的互訪信息的獲取方法,不僅能夠?qū)崟r(shí)地獲取配置項(xiàng)之間的互訪信息;并且,實(shí)現(xiàn)起來簡(jiǎn)單方便,便于普及,適用范圍更廣。
圖6為本發(fā)明實(shí)施例中互訪信息的獲取裝置的組成結(jié)構(gòu)示意圖,如圖6所示,該獲取裝置包括:接收單元601、獲取單元602;其中,
接收單元601,用于接收流量采集設(shè)備發(fā)送的以太網(wǎng)包數(shù)據(jù)流,將所述以太網(wǎng)包數(shù)據(jù)流發(fā)送給所述獲取單元602;
所述獲取單元602,用于從所述以太網(wǎng)包數(shù)據(jù)流中獲取當(dāng)前以太網(wǎng)包,當(dāng)所述當(dāng)前以太網(wǎng)包包括ip協(xié)議包時(shí),在所述ip協(xié)議包中獲取互訪信息的源ip 地址和目標(biāo)ip地址,還用于當(dāng)所述ip協(xié)議包中包括tcp協(xié)議包時(shí),在所述tcp協(xié)議包中獲取所述互訪信息的源端口和目標(biāo)端口。
進(jìn)一步的,該裝置還包括:判斷單元603;
所述獲取單元602,還用于獲取所述tcp協(xié)議包中的同步序列號(hào)syn和確認(rèn)ack比特,并將所述syn和所述ack比特發(fā)送給所述判斷單元603;
所述判斷單元603,用于當(dāng)所述syn為1且所述ack比特為0時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器,還用于當(dāng)所述syn為1且所述ack比特為1時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
進(jìn)一步的,所述獲取單元602,還用于獲取所述tcp協(xié)議包數(shù)據(jù)中的報(bào)文類型,將所述報(bào)文類型發(fā)送給所述判斷單元603;
所述判斷單元603,還用于根據(jù)所述報(bào)文類型確定所述當(dāng)前以太網(wǎng)包的發(fā)送方向。
進(jìn)一步的,該裝置還包括:統(tǒng)計(jì)單元604;
所述獲取單元602,還用于將所述源ip地址、所述目標(biāo)ip地址、所述源端口和所述目標(biāo)端口發(fā)送給所述統(tǒng)計(jì)單元604;
所述統(tǒng)計(jì)單元604,用于統(tǒng)計(jì)所述源ip地址和所述源端口相同,且所述目標(biāo)ip地址或目標(biāo)端口不同的以太網(wǎng)包的第一數(shù)量,將所述第一數(shù)量發(fā)送給所述判斷單元603;
所述判斷單元603,還用于當(dāng)所述第一數(shù)量大于第一預(yù)設(shè)閾值時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榉?wù)器到客戶端。
進(jìn)一步的,所述統(tǒng)計(jì)單元604,還用于當(dāng)所述第一數(shù)量不大于所述第一預(yù)設(shè)閾值時(shí),統(tǒng)計(jì)所述源ip地址或所述源端口不同,且所述目標(biāo)ip地址和所述目標(biāo)端口相同的以太網(wǎng)包的第二數(shù)量,將所述第二數(shù)量發(fā)送給所述判斷單元603;
所述判斷單元603,還用于當(dāng)所述第二數(shù)量大于第二預(yù)設(shè)閾值時(shí),判定所述當(dāng)前以太網(wǎng)包的發(fā)送方向?yàn)榭蛻舳说椒?wù)器。
在實(shí)際應(yīng)用中,所述接收單元601、獲取單元602、判斷單元603和統(tǒng)計(jì)單 元604均可由位于配置服務(wù)器的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號(hào)處理器(dsp)、或現(xiàn)場(chǎng)可編程門陣列(fpga)等實(shí)現(xiàn)。
本發(fā)明實(shí)施例提出的互訪信息的獲取裝置,不僅可以實(shí)時(shí)地獲取包括源ip地址、目標(biāo)ip地址、源端口和目標(biāo)端口的互訪信息,而且無需在業(yè)務(wù)支撐系統(tǒng)中部署負(fù)載均衡配置服務(wù)器和節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)服務(wù)器,也無需各個(gè)配置項(xiàng)節(jié)點(diǎn)通過日志記錄互訪信息。因此,和現(xiàn)有技術(shù)相比,本發(fā)明提出的互訪信息的獲取裝置,不僅能夠?qū)崟r(shí)地獲取配置項(xiàng)之間的互訪信息;并且,實(shí)現(xiàn)起來簡(jiǎn)單方便,便于普及,適用范圍更廣。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè) 流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。