楊莉莉,蔣生飛,張 宇,隆文喜
(國網(wǎng)青海省電力公司信息通信公司,青海 西寧810007)
IP 地址是網(wǎng)絡(luò)中的一個代碼[1]。當(dāng)網(wǎng)絡(luò)中出現(xiàn)非法行為時,通過對IP 地址的搜索可以找到非法用戶的具體位置,從而防止非法用戶的具體位置。IP 地址是一個32位二進制數(shù)字,通常分為四個“8位二進制數(shù)字”。在因特網(wǎng)上,IP地址是對主機尋址的一種方式,也稱為跨網(wǎng)絡(luò)協(xié)議地址。通用IP地址,分為IPv4和IPv6兩類。
隨著網(wǎng)絡(luò)中用戶行為數(shù)據(jù)的產(chǎn)生,IP 地址的配置和分配也在實時變化。為了保證每個用戶節(jié)點能夠在IP地址和IP 協(xié)議的支持下實現(xiàn)通信和Internet 接入功能,有必要對IP地址的整個使用過程進行分析。
針對目前IP地址系統(tǒng)存在的問題,詳細(xì)分析了IP地址使用過程中各個環(huán)節(jié)的行為,并對每個環(huán)節(jié)進行了優(yōu)化,提高了網(wǎng)絡(luò)環(huán)境的安全性和系統(tǒng)性。
為了實現(xiàn)對IP 地址使用行為全流程的精準(zhǔn)分析,以基本的網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),對原有網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化,在已有A記錄的基礎(chǔ)上,增加一類新的資源記錄,建立并分析IP地址空間體系,具體的結(jié)構(gòu)分布情況如圖1所示。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)示意圖
如圖1所示,網(wǎng)絡(luò)包括一個主干和兩個用戶網(wǎng),其中主干的兩個邊緣端口的IPv6 地址用Loc-A 和Loc-B 表示,在兩個用戶網(wǎng)中分別設(shè)置了一個網(wǎng)關(guān)RMT-A 和RMT-B,用戶網(wǎng)的主機IP地址用EID-A和EID-B分別標(biāo)識。網(wǎng)絡(luò)環(huán)境中,如圖1所示,需要在主干網(wǎng)和用戶網(wǎng)的連接處設(shè)置一個特殊網(wǎng)關(guān)設(shè)備。這個網(wǎng)關(guān)設(shè)備主要完成3 個功能,分別是域名解析器,映射和隧道封裝和拆封。在已有A記錄的基礎(chǔ)上,增加一類新的資源記錄,即B 記錄,B 記錄和A 記錄一樣,都是IP 地址類型。A 記錄表示用戶網(wǎng)絡(luò)中通信設(shè)備的身份,B 記錄表示骨干中相應(yīng)的LocatorIP 地址。一條DNS 注冊記錄中,可能有一條或多條B 記錄,對應(yīng)于網(wǎng)絡(luò)用戶上游ISP 的一條或多條連接。
IP 網(wǎng)絡(luò)用戶行為分析是一個復(fù)雜的動態(tài)過程。首先,隨著互聯(lián)網(wǎng)的發(fā)展,用戶的上網(wǎng)習(xí)慣和消費習(xí)慣不斷演變,對用戶行為分析的需求也在不斷變化。其次,由于電信運營商和信息提供商對網(wǎng)絡(luò)的控制,以及業(yè)務(wù)發(fā)展戰(zhàn)略,用戶的上網(wǎng)習(xí)慣可能會發(fā)生變化。有時,用戶行為分析沒有清晰的視野。在數(shù)據(jù)分析和處理過程中,實際分析要求可能會逐步提高[4]。因此,IP網(wǎng)絡(luò)用戶的每一種行為都被視為一種不同信息量的通信行為,分為需求提出、業(yè)務(wù)數(shù)據(jù)收集、數(shù)據(jù)分析和結(jié)果評估四個階段。圖2顯示了IP網(wǎng)絡(luò)用戶通信過程的時序情況。
圖2 IP網(wǎng)絡(luò)通信過程時序圖
主機A在用戶網(wǎng)A中發(fā)起與用戶網(wǎng)B中主機B的通信,主機A 通過RMT-A 查詢主機B 的域名。當(dāng)滿足公式(1)時,RMT-A 將EID-B 直接返回給A 主機,并且EID-B與主機之間的通信不涉及IP網(wǎng),因此RMT-A和Loc-A之間的通信是一致的。
如果公式(1)中的表達(dá)式不成立,則表示通信雙方不在同一個用戶網(wǎng)內(nèi),需要通過IP網(wǎng)傳送數(shù)據(jù)包。RMT-A從PIP 地址池中獲取私有地址PIP-A,然后將PIP-A 返回給主機A,同時將Loc-B、EID-B、PIP-A和EID-A等參數(shù)存儲到映射數(shù)據(jù)庫中[5]。對原有IP網(wǎng)進行優(yōu)化,由原來的一種封裝方式更新為兩種封裝方式,分別采用Loc-B和Loc-A兩種封裝方式,分別向RMT-A發(fā)送普通IPv4數(shù)據(jù)包,由主機A 接收并發(fā)送RMT-A。當(dāng)RMT-B 接收到主機B 返回主機A 的數(shù)據(jù)包時,RMT-B 將接收到的數(shù)據(jù)包中的源地址和目的地址進行交換,即用PIP-B和EID-B分別作為目標(biāo)地址和源地址來組裝數(shù)據(jù)包。根據(jù)以上描述,可以得到網(wǎng)絡(luò)內(nèi)部用戶在一次交互行為中的變化情況。而且在用戶接入網(wǎng)絡(luò)時,還需要對IP 網(wǎng)絡(luò)進行配置,并結(jié)合每個IP 網(wǎng)絡(luò)的工作流程來設(shè)置和修改IP地址。
將獲取網(wǎng)卡IP 地址的方法優(yōu)化為DHCP 方法,用戶的網(wǎng)卡IP地址由DHCP服務(wù)器來分配,此時,用戶獲取的IP地址是動態(tài)的。然而,DHCP服務(wù)器提供了MAC地址和IP 地址的綁定功能,通過對MAC 地址和IP 地址進行綁定,可以實現(xiàn)固定IP 地址分配給用戶[6]。在此基礎(chǔ)上,設(shè)計了一種用戶機IP地址配置協(xié)議,在此協(xié)議的約束下,實現(xiàn)了對用戶機IP地址的初始注入,其基本結(jié)構(gòu)見圖3。
圖3 用戶機IP地址配置協(xié)議基本結(jié)構(gòu)圖
在用戶機IP 地址配置協(xié)議中,地址配置處理模塊由三部分組成:地址配置啟動模塊、地址配置模塊和地址釋放模塊。在該系統(tǒng)中,地址配置啟動模塊用于喚醒節(jié)點中的IP 地址自動配置過程,并根據(jù)節(jié)點獲取的周圍節(jié)點的信息來決定下一步如何進行。此時,網(wǎng)絡(luò)有兩種狀態(tài)。一種是網(wǎng)絡(luò)的初始化狀態(tài),即節(jié)點是網(wǎng)絡(luò)中唯一的節(jié)點。二是網(wǎng)絡(luò)的規(guī)模狀態(tài),即網(wǎng)絡(luò)中已有合適的節(jié)點。節(jié)點加入網(wǎng)絡(luò)后,即請求節(jié)點加入網(wǎng)絡(luò)后,需要定期檢測其相鄰節(jié)點。在接收到探測消息后,鄰居向請求節(jié)點發(fā)送一個應(yīng)答消息[7]。當(dāng)請求節(jié)點接收到這些消息時,將鄰居節(jié)點的IP 地址存儲在鄰居地址池中,然后隨機選擇一個節(jié)點作為配置節(jié)點通知。在接收到請求配置消息后,配置節(jié)點將在其可用地址池中隨機選擇一個地址,并通知合適節(jié)點該地址是否可用。如果是這樣,它將為請求節(jié)點配置地址并廣播地址同步消息。如果地址不可用,則在地址可用之前重新選擇。當(dāng)合適性節(jié)點接收到此地址同步消息時,它將更新其可用和已使用的地址池。地址釋放模塊允許節(jié)點發(fā)布地址,使網(wǎng)絡(luò)中合適的節(jié)點更新其地址空間,同時節(jié)點完成網(wǎng)絡(luò)通信,即將離開通過綁定包源地址及其轉(zhuǎn)發(fā)路徑的物理和邏輯信息,實現(xiàn)對接入網(wǎng)源地址的過濾驗證[8]。
實際工作中,可以通過多種途徑完成會計核算工作,比如建立賬本,對各類支出收益進行統(tǒng)一記錄和整理;還可以通過填制和審核憑證、成本預(yù)估和計算、財產(chǎn)清點以及編寫會計報表等等,都是非常有效的方法。
對已有IP 地址分配步驟進行優(yōu)化,當(dāng)一個新節(jié)點被添加到網(wǎng)絡(luò)中時,會隨機生成一個IP地址作為臨時地址,并向鄰居發(fā)送報文包,同時啟動鄰居請求響應(yīng)計時器和鄰居請求計數(shù)器。當(dāng)鄰居請求應(yīng)答計時器過期時,如果鄰居收到應(yīng)答,則其IP 地址將寫入其鄰居請求應(yīng)答計時器表,并清除鄰居請求應(yīng)答計時器;如果鄰居請求響應(yīng)時計時器仍未收到鄰居請求響應(yīng)計時器,則鄰居請求響應(yīng)計時器,并將請求計時器與鄰居、鄰居發(fā)送請求消息、重新啟動鄰居請求響應(yīng)計數(shù)器,按照上述步驟重新啟動鄰居請求響應(yīng)計數(shù)器,直到鄰居請求響應(yīng)計數(shù)器達(dá)到指定值后,不再發(fā)送鄰居請求報文包,此時節(jié)點會認(rèn)為自己是第一個節(jié)點網(wǎng)絡(luò),選擇一個IP 地址池作為當(dāng)前網(wǎng)絡(luò)地址可用池,并從地址池中選擇一個IP 地址作為該節(jié)點的IP地址。如果新節(jié)點不是網(wǎng)絡(luò)中的第一個節(jié)點,圖4顯示了該節(jié)點的IP地址分配。
圖4 非首個節(jié)點的IP地址分配流程圖
當(dāng)新增節(jié)點接收到鄰居的IP 地址并形成鄰居表,表示鄰居關(guān)系已經(jīng)建立時,向鄰居表中的每個鄰居發(fā)送可用地址池范圍檢測消息,并啟動可用地址池范圍檢測消息計時器。當(dāng)用戶接收到請求節(jié)點發(fā)送可用地址池時,檢測到鄰居會將自己的可用地址池,回復(fù)到請求節(jié)點,而請求節(jié)點則可以接收到地址池,檢測到消息時會接收到鄰居地址池過期,寫入鄰居可用地址池,回復(fù)消息在表和可用地址池中,檢測到消息計時器過期后,鄰居地址可用池,不再接收到回復(fù)消息。請求節(jié)點是鄰居的池,根據(jù)可用地址的大小,選擇一個地址池,較大的鄰居,然后發(fā)送給鄰居“可用地址池請求消息”,鄰居收到“可用地址請求消息”后,查看其地址池是否可用,并向請求者發(fā)送“可用地址池的回復(fù)消息”,將可用地址的一半分配給請求節(jié)點池,同時更新自己的地址池以供鄰居使用。請求節(jié)點獲得可用地址池后,從自己的IP 地址中選擇一個最大的IP地址,并保存獲得的可用地址池。請求節(jié)點確定IP 地址后,將其鄰居表和可用地址池發(fā)送給鄰居表中的鄰居,以回收被迫離開時的地址池。
原有IP 地址無法識別其他用戶的盜用行為,對其優(yōu)化后,IP 地址管理器可對IP 地址盜用進行有效的管理和防范。通過SNMP管理站與SNMP代理在各交換機之間的通信,可以得到每個交換機所保存的與該端口相對應(yīng)的MAC地址表,從而形成一個實時的Switch端口MAC對應(yīng)表,與Switch端口事先取得的合法完整的Switch端口MAC表相比較,可以更快地發(fā)現(xiàn)交換機端口上是否存在非法MAC地址,進而判斷是否存在IP地址盜用行為。
通過對IP地址和實體地理位置的映射,完成對IP地址定位系統(tǒng)的優(yōu)化,能夠得到網(wǎng)絡(luò)用戶端的具體地理位置。該定位操作利用了通信過程中的相對延遲,從而得到相應(yīng)的位置信息。對A 和B 兩個地標(biāo)節(jié)點而言,當(dāng)路由器R在從探測源P路由A到B的路徑上同時出現(xiàn)時,可將節(jié)點A和B之間的相對延遲表示為:
上式中RTT(P,A)、RTT(P,B)和RTT(P,R)分別為探測源P到A、B和R的往返時延。利用公式(3)來度量相對時延與實體距離之間的關(guān)系,并以此來衡量網(wǎng)絡(luò)的連通性。
式中de和di分別為節(jié)點間的時延和節(jié)點間的距離,D(de)和D(di)分別對應(yīng)的是時延和距離的方差,cov(de,di)表示de和di的協(xié)方差,公式(3)最終的計算結(jié)果為de和di的相關(guān)系數(shù)。由于已知地標(biāo)的位置,在獲得地標(biāo)與目標(biāo)之間最近的公共路由器以及地標(biāo)與目標(biāo)之間的時延估計后,利用余弦定理計算路由器轉(zhuǎn)發(fā)分組時延和距離約束的轉(zhuǎn)換系數(shù)。在已知最小公共路由器的時延和距離約束系數(shù)后,利用公式(4)定位IP地址。
上式中(lat1,lng1)、(lat2,lng2)和(lat3,lng3)分別表示的是地標(biāo)A、B 和C 的緯度和經(jīng)度,r1、r2和r3分別為R 與A、B 和C 的距離,(x,y)即為最近共同路由器R 的緯度和經(jīng)度。
針對不同的IP地址類型,采用不同的修改方法,即將公共地址改為同當(dāng)前網(wǎng)段的其他IP 方法,只需在操作系統(tǒng)層進行修改。通過命令“crsctlstop cluster-all”,用戶可以直接使用grid 用戶來關(guān)閉網(wǎng)絡(luò)集群。在該集群的所有公共主機IP地址被修改之前,請使用操作系統(tǒng)命令,修改所有主機節(jié)點上重新定義的公共主機IP 地址,并在/etc/hosts文件中修改相應(yīng)的主機名。然后用grid用戶執(zhí)行命令“crsctlstart cluster-all”來重新啟動網(wǎng)絡(luò)集群。在將公用地址更改為其他網(wǎng)段IP時,需要刪除諸如集群配置信息中的原始端口等網(wǎng)絡(luò)定義信息,并寫入新配置。修改集群VIP 地址時,需要執(zhí)行命令“srvctlconfignodeapps-a”來查看VIP 地址信息,執(zhí)行命令“crsctlstatusres-t”來檢查VIP狀態(tài),然后使用命令來停止資源,然后用戶更改定義的新VIP地址、子網(wǎng)、掩碼和VIP主機名,確認(rèn)/etc/hosts文件被修改為新的地址。
為了驗證IP地址全流程行為使用分析方法的實際應(yīng)用情況,選擇某個局域網(wǎng)為研究實例,將其研究的分析方法應(yīng)用其中,得出該實例的IP 地址全流程行為使用分析結(jié)果。
選擇某個小型的局域網(wǎng)作為實例研究對象,該網(wǎng)絡(luò)環(huán)境中共設(shè)置20 個服務(wù)器和200 個用戶,網(wǎng)絡(luò)用戶的形式包括移動用戶和PC 機用戶兩種。另外測試用到的IP來源主要有兩個,一個是網(wǎng)絡(luò)環(huán)境下已經(jīng)注冊完成的用戶具有的IP 地址,另外一種是新加入到局域網(wǎng)中用戶網(wǎng)絡(luò)節(jié)點的IP地址。
此次實例分析主要分為兩個部分,一個是觀察利用設(shè)計的IP地址全流程行為使用分析方法能否得出對應(yīng)的分析結(jié)果,另一個部分就是將該分析方法應(yīng)用到IP 地址的管理工作或網(wǎng)絡(luò)的通信傳輸工作中,對網(wǎng)絡(luò)環(huán)境的影響情況。此次實例分析過程就是讓各個網(wǎng)絡(luò)用戶讀取相同的一個網(wǎng)絡(luò)界面,訪問此頁時,用戶讀取到measure.ph p,然后按照measure.ph p 的說明,首先測量服務(wù)器獲取需要測量的參考測量點列表;measurePoint.ph p根據(jù)用戶主機IP 情況選擇需要測量的參考測量點,然后將參考測量點列表返回給用戶主機;用戶主機完成測量后,將數(shù)據(jù)返回給測量服務(wù)器,result.ph p 將結(jié)果記錄到數(shù)據(jù)庫中,這也是利用IP 地址全流程行為使用分析方法收集數(shù)據(jù)的方式。在該實驗環(huán)境下,分別執(zhí)行網(wǎng)絡(luò)用戶行為的全過程,并得出IP地址的實時變化結(jié)果。
首先將新的網(wǎng)絡(luò)用戶接入到局域網(wǎng)環(huán)境中,并利用設(shè)計的使用分析方法得出IP 地址注入的分析結(jié)果,根據(jù)該用戶節(jié)點在網(wǎng)絡(luò)中的應(yīng)用需求和實際位置,進行IP 地址的配置,得出的配置分析結(jié)果如圖5所示。
圖5 IP地址設(shè)置界面
在用戶處于通信狀態(tài)的情況下,IP 地址發(fā)生動態(tài)更改,在這種情況下利用設(shè)計的IP 地址全流程行為使用分析方法得出IP 地址的實體定位結(jié)果為初始數(shù)據(jù)為196.258.1.254,經(jīng)過配置后得出的分析結(jié)果為196.258.1.255,在通信狀態(tài)下分析得出的IP地址未發(fā)生變化,且IP 地址的最終實體定位分析結(jié)果為東經(jīng)112°42′-114°14′、北緯34°16′-34°58′,通過IP 地址管理未發(fā)現(xiàn)IP地址出現(xiàn)盜用行為。
將設(shè)計的IP地址全流程行為使用分析方法應(yīng)用到通信網(wǎng)絡(luò)中,并根據(jù)分析結(jié)果對通信線程進行調(diào)整,得出該方法應(yīng)用前后,網(wǎng)絡(luò)通信程序的往返時延比較結(jié)果如表1所示。
表1 IP地址全流程行為使用分析方法應(yīng)用效果數(shù)據(jù)表
從表1中的數(shù)據(jù)結(jié)果中可以看出,應(yīng)用IP 地址全流程行為使用分析方法后,通信網(wǎng)絡(luò)的時延情況得到了明顯的改善,平均網(wǎng)絡(luò)延時降低了2.46s。
綜上所述,IP 地址全流程行為使用分析方法可以按照用戶在網(wǎng)絡(luò)中的實時運行情況進行分析,并得出相應(yīng)的分析結(jié)果。然而在實例分析過程中只針對一個網(wǎng)絡(luò)樣本進行研究和分析,且在應(yīng)用性能上只分析了分析方法對時延的影響,因此得出的應(yīng)用分析結(jié)果缺少一定的說服力,需要在今后的研究中進一步鞏固分析。