時間:2023-03-17 17:56:30
序論:好文章的創(chuàng)作是一個不斷探索和完善的過程,我們?yōu)槟扑]十篇數(shù)據(jù)通信論文范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。
二、數(shù)據(jù)通信的應(yīng)用及發(fā)展前景
(一)移動數(shù)據(jù)通信在業(yè)務(wù)上的應(yīng)用
1.移動數(shù)據(jù)通信的應(yīng)用是利用移動通信的系統(tǒng)進(jìn)行數(shù)據(jù)通信,它不僅可以作為固定的數(shù)據(jù)通信,還能夠?qū)崿F(xiàn)移動的圖文傳真、計算機(jī)聯(lián)網(wǎng)、遠(yuǎn)距離傳輸?shù)取S捎谝苿訑?shù)據(jù)的通信設(shè)備具有個性化的特點,因此數(shù)據(jù)傳輸?shù)臅r候往往會由于一個網(wǎng)絡(luò)端口會被人們多次使用,所以會經(jīng)常出現(xiàn)擁堵的情況,由此便造成了多個連接終端不順利進(jìn)數(shù)據(jù)傳輸。但是移動數(shù)據(jù)通信就不會出現(xiàn)這種情況,我們只需要根據(jù)正常的程序進(jìn)行,一個終端只負(fù)責(zé)一個用戶,提高了數(shù)據(jù)傳輸?shù)男省3酥猓苿訑?shù)據(jù)通信還能夠?qū)崿F(xiàn)電腦與電腦之間的遠(yuǎn)程操作和簡單的數(shù)據(jù)傳送,這樣就利于人們在業(yè)務(wù)頻繁的時候,可以隨時隨地的進(jìn)行數(shù)據(jù)傳輸,從而達(dá)到省時高效的目的。由此可以發(fā)現(xiàn),移動數(shù)據(jù)的通信可以使用戶及時的收發(fā)消息。
2.幀中繼技術(shù)應(yīng)用。所謂的幀中繼應(yīng)用,主要是指使用光纖作為主要的傳輸方式,由于幀中繼由于具有出錯率低的技術(shù)特點,從而受到了人們的廣泛關(guān)注。目前為止,這種技術(shù)被作為主要的寬帶數(shù)據(jù)接口,也是交換數(shù)據(jù)的一種手段。但是這種方式不適用語音或者是視頻這類傳輸,其具有特定的服務(wù)特性。
2西門子CP544的通訊協(xié)議
CP544卡是西門子S5系列的專門的點對點串口通訊卡。它有3種通訊協(xié)議,分別是RK512、3964和OPENDRIVER協(xié)議。其中前兩種協(xié)議因為需要設(shè)置西門子PLC能識別的目的地址,所以只能在西門子系列的設(shè)備中使用。要與電能表進(jìn)行通訊,只能采用OPENDRIVER協(xié)議。該協(xié)議的特點是不管通訊設(shè)備的地址,只需確定西門子PLC側(cè)的發(fā)送地址和接收地址即可。圖3為西門子PLC通過CP544卡與電能表通訊的示意圖。在圖3中,PLC程序?qū)⒅付ǖ陌l(fā)送數(shù)據(jù)塊通過SEND發(fā)送程序塊,在物理上經(jīng)CP544通訊卡與新電能表進(jìn)行串口通訊,將請求報文發(fā)送給電能表。而電能表中的數(shù)據(jù)報文也通過串口通訊方式經(jīng)CP544卡再經(jīng)過RECEIVE-ALL接收程序塊存放到指定的接收數(shù)據(jù)塊中。串口通訊一個最基本的要求就是通訊雙方的通訊參數(shù)設(shè)置必須一致。根據(jù)電能表的要求,CP544卡有以下設(shè)置。通訊基本參數(shù):通訊模式選擇:MODE2Variableusefuldatalength(endcharacter)波特率:2400b/s數(shù)據(jù)位:8位停止位:1位奇偶校驗:無流量控制:無字節(jié)傳送監(jiān)控時間:20ms第一個結(jié)束識別字節(jié)(endcharacter1):03H(這個非常關(guān)鍵,設(shè)置03是為了與電能表的報文終止位相適應(yīng),否則通訊不能成功)第二個結(jié)束識別字節(jié)(endcharacter2):00H另外數(shù)據(jù)接收地址也在CP544卡設(shè)置軟件中進(jìn)行設(shè)置如表2:在表2中,分別設(shè)置了CP544卡兩個通訊接口的接收地址分別為DB11和DB12,接收字長最大為64個字。通訊接口從CP544卡到RS485/232轉(zhuǎn)換器,再到電能表的通訊鏈路的通訊接口接線如圖4所示。
3通訊程序編寫
按照前面部分所述的報文收發(fā)格式及CP544的相關(guān)協(xié)議要求,對西門子PLC與電能表通訊的控制程序進(jìn)行了重新編寫和調(diào)試,在程序的編寫調(diào)試過程中,解決了電能表報文應(yīng)答式收發(fā)存儲、電能表數(shù)據(jù)CRC校驗碼解碼、不同數(shù)制格式的轉(zhuǎn)換和臨界數(shù)據(jù)顯示不穩(wěn)定等幾個技術(shù)難點,實現(xiàn)了新的電能表與PLC的數(shù)據(jù)通訊,使得電度值在上位機(jī)上得以重新顯示并自動打印。
2USB設(shè)備驅(qū)動程序及應(yīng)用程序的設(shè)計
WindowsZO00/XP驅(qū)動程序。以Windows2000操作系統(tǒng)為例,Windows2000系統(tǒng)可以使用多種驅(qū)動程序,圖2中顯示了其中幾種。WDM驅(qū)動程序的分層。WDM采用分層驅(qū)動的方法,即在用戶應(yīng)用程序和硬件設(shè)備之間存在著幾個不同的驅(qū)動程序,每個驅(qū)動程序?qū)?yīng)一層,且不同層上的驅(qū)動程序可以相互調(diào)用。為適用于即插即用系統(tǒng),WDM重新定義了驅(qū)動程序的分層結(jié)構(gòu),其主要包含如下三種類型的驅(qū)動程序,即總線驅(qū)動程序、功能驅(qū)動程序和過濾驅(qū)動程序。WDM驅(qū)動程序的組成。簡單地說,驅(qū)動程序是一些例程的集合,它們被動地存在,等待主機(jī)系統(tǒng)軟件(PnP管理器、I/O管理器、電源管理等)來調(diào)用或激活它們。具體驅(qū)動程序不同,其所包含的例程也不同。驅(qū)動程序入口例程:處理驅(qū)動程序的初始化。DriverEntry例程是驅(qū)動程序入口點,由FO管理器在驅(qū)動程序加載時調(diào)用它負(fù)責(zé)執(zhí)行一些初始化操作,主要工作是設(shè)置驅(qū)動程序?qū)ο?DriverEniry)中指向各種例程的指針。在其驅(qū)動程序中必須包括這些例程的具體函數(shù)實現(xiàn),以便主機(jī)系統(tǒng)軟件的調(diào)用。即插即用例程:處理PnP設(shè)備的添加!刪除和停止。從用戶的角度來看,即插即用是很容易理解的,當(dāng)連接某個新設(shè)備時,Windows會自動識別,并提示用戶選擇正確的驅(qū)動程序,之后它就可以被使用了;當(dāng)設(shè)備被斷開時,Windows將檢測到這個事件并作相關(guān)處理,不需要用戶的干預(yù)。USB設(shè)備驅(qū)動程序的設(shè)計。Windows下的USB設(shè)備驅(qū)動程序遵循WDM標(biāo)準(zhǔn),其主要分為三個層次:最高層,是用戶開發(fā)的被稱為USB設(shè)備驅(qū)動程序;中間層為USB類驅(qū)動程序,在Windows98中為us-bd.sys;最低層為主機(jī)控制器驅(qū)動程序,有兩種主機(jī)控制器驅(qū)動程序,即通用主機(jī)控制器驅(qū)動程序和開放主機(jī)控制器接口。
2數(shù)據(jù)通信的分類
1)有線數(shù)據(jù)通信。①數(shù)字?jǐn)?shù)據(jù)網(wǎng)(DDN),主要由四部分組成,分別是用戶環(huán)路、DDN節(jié)點、數(shù)字信道及網(wǎng)絡(luò)控制管理中心。DDN是一種數(shù)字通信網(wǎng)絡(luò),它把數(shù)字通信技術(shù)、數(shù)據(jù)通信技術(shù)、光遷通信技術(shù)以及數(shù)字交叉連接技術(shù)有機(jī)的結(jié)合在一起。②分組交換網(wǎng)(PSPDN),又稱為X.25網(wǎng),采用CCITTX.25協(xié)議。PSPDN采用存儲—轉(zhuǎn)發(fā)的方式,將用戶傳來的報文分割成一定長度的數(shù)據(jù)段,并在各數(shù)據(jù)段上添加控制信息,構(gòu)成一個能在網(wǎng)上傳輸?shù)膸в械刂返姆纸M組合群體。PSPDN的主要優(yōu)點是為了達(dá)到多用戶同時使用,可同時開放多條虛通路于一條電路上,并具有先進(jìn)的誤碼檢錯功能和動態(tài)路由選擇功能,但通信性能較差。③幀中繼網(wǎng),起源于X.25分組交換技術(shù),主要包括存取設(shè)備、交換設(shè)備、公共幀中繼服務(wù)網(wǎng)三部分。幀中繼網(wǎng)它可在幀中繼幀中將不同長度的用戶數(shù)據(jù)組包封,并在網(wǎng)絡(luò)傳輸前添加控制及尋址信息。2)無線數(shù)據(jù)通信。無線數(shù)據(jù)通信是以有線數(shù)據(jù)通信為基礎(chǔ),而采用無線電波傳送數(shù)據(jù)的通信方式,也可稱為移動數(shù)據(jù)通信,它是計算機(jī)網(wǎng)絡(luò)與數(shù)據(jù)通信相結(jié)合的產(chǎn)物,可實現(xiàn)網(wǎng)絡(luò)計算機(jī)之間或人與計算機(jī)終端之間的通信。無線數(shù)據(jù)通信也是依靠有線數(shù)據(jù)網(wǎng)將網(wǎng)路應(yīng)用擴(kuò)展至便攜式用戶。
3網(wǎng)絡(luò)及其協(xié)議
1.2過程變量應(yīng)用層接口1)過程變量標(biāo)識符在一個設(shè)備內(nèi),過程變量由其所在的數(shù)據(jù)集(DS_Name)和其在數(shù)據(jù)集中的位偏移量(Var_Offset)來標(biāo)識[6]。通過總線傳送時,過程變量由邏輯地址和被傳送的數(shù)據(jù)集的位偏移量來識別。2)AVI原語應(yīng)用變量接口AVI定義了變量提供給總線的服務(wù)。應(yīng)用變量接口原語只訪問通信存儲器的端口,并沒有觸發(fā)總線的通信。在應(yīng)用變量接口中,過程變量是單個訪問的,屬于數(shù)據(jù)集的一部分。為了提高傳輸效率,屬于同一個數(shù)據(jù)集的過程變量作為一個堅固的整體進(jìn)行傳送和存儲。過程變量和其所在數(shù)據(jù)集的刷新定時器一起在一次不可分割的操作中獲取[7]。應(yīng)用變量接口AVI原語分為3類:單個變量訪問,集合訪問,群集訪問。
2過程數(shù)據(jù)通信設(shè)計思路
2.1過程數(shù)據(jù)鏈路層的設(shè)計
2.1.1過程數(shù)據(jù)鏈路層數(shù)據(jù)結(jié)構(gòu)設(shè)計在鏈路層傳輸?shù)臄?shù)據(jù)屬于數(shù)據(jù)集的一部分,數(shù)據(jù)集由其DS_Name來標(biāo)識。
2.1.2過程數(shù)據(jù)鏈路層接口函數(shù)設(shè)計此函數(shù)用于實現(xiàn)過程數(shù)據(jù)模塊的初始化功能。首先,讀取配置文件建立相應(yīng)的端口屬性表來建立初值。然后進(jìn)行差錯判斷,分為通信存儲器標(biāo)識和端口地址的判斷,如果超出了系統(tǒng)設(shè)定的最大值,那么初始化過程失敗。只有在以上條件為真的情況下,才初始化強(qiáng)制變量表和數(shù)據(jù)集預(yù)定表。2)過程“l(fā)p_put_dataset”此函數(shù)用于數(shù)據(jù)集的發(fā)送,從應(yīng)用拷貝一個數(shù)據(jù)集到通信存儲器中的端口。首先,要對輸入?yún)?shù)的合法性進(jìn)行檢查,主要是對通信存儲器和端口地址進(jìn)行檢查,判斷是否在系統(tǒng)設(shè)定的范圍內(nèi)。在完成參數(shù)檢查后,開始進(jìn)行數(shù)據(jù)的發(fā)送,將數(shù)據(jù)拷入相應(yīng)的端口中,同時,前一次的數(shù)據(jù)集將被覆蓋。3)過程“l(fā)p_get_dataset”此函數(shù)用于接收數(shù)據(jù)集,即從端口拷貝一個數(shù)據(jù)集和其刷新定時器到應(yīng)用層。首先,要檢查輸入?yún)?shù)的合法性,分別是對通信存儲器標(biāo)識和端口地址的值的判斷。然后,根據(jù)相應(yīng)的端口屬性表,將端口中的數(shù)據(jù)集和刷新定時器拷貝到應(yīng)用提供的內(nèi)存中。
2.2過程變量應(yīng)用層的設(shè)計
2.2.1過程變量應(yīng)用層數(shù)據(jù)結(jié)構(gòu)設(shè)計1)單個變量數(shù)據(jù)結(jié)構(gòu)設(shè)計對于單個變量,利用結(jié)構(gòu)體PV_NAME來描述一個變量,如下:2)集合變量數(shù)據(jù)結(jié)構(gòu)集合變量使用結(jié)構(gòu)體PV_SET來標(biāo)識同一個數(shù)據(jù)集的一組變量,包括每個變量拷入(或拷出)的內(nèi)存地址以及整個數(shù)據(jù)集的刷新定時器。3)群集變量數(shù)據(jù)結(jié)構(gòu)群集結(jié)構(gòu)體PV_Cluster標(biāo)識一組PV_Set,由通信存儲器進(jìn)行排序。
2.2.2過程數(shù)據(jù)應(yīng)用層接口函數(shù)設(shè)計1)函數(shù)“ap_put_variable”此函數(shù)用于單個變量的發(fā)送,從應(yīng)用內(nèi)存地址空間拷貝一個單個過程變量及檢查變量到通信存儲器。首先,檢查PV_NAME參數(shù)的合法性,從PV_NAME中獲取數(shù)據(jù)集DS_NAME的信息,接著調(diào)用lp_get_dataset函數(shù)從相應(yīng)的端口讀取數(shù)據(jù)集,然后根據(jù)PV_NAME中var_type類型,分7種情況進(jìn)行數(shù)組元素個數(shù)和數(shù)據(jù)派生類型的計算,根據(jù)計算結(jié)果將過程變量和檢查變量拷貝到數(shù)據(jù)集中,變量上一次的值被覆蓋。在上述過程完成后,調(diào)用lp_put_dataset函數(shù)將數(shù)據(jù)集拷貝到宿端口中。2)函數(shù)“ap_get_variable”此函數(shù)用于單個變量的接收,從通信存儲器拷貝一個過程變量及檢查變量和刷新定時器到應(yīng)用內(nèi)存的地址空間。首先,要對PV_NAME進(jìn)行參數(shù)檢查,然后根據(jù)PV_NAME獲取的端口信息,調(diào)用lp_get_dataset函數(shù)從相應(yīng)的端口獲取數(shù)據(jù)集。接著就根據(jù)算法從數(shù)據(jù)集中獲取過程變量和檢查變量。3)函數(shù)“ap_put_set”此函數(shù)用于集合變量的發(fā)送,在一次不可分割的操作中,從應(yīng)用內(nèi)存地址空間拷貝集合變量到端口。首先,獲取PV_LIST中DS_NAME信息,根據(jù)相應(yīng)的ts_id和port_address調(diào)用lp_get_dataset函數(shù)獲取數(shù)據(jù)集。接著,將變量寫進(jìn)數(shù)據(jù)集中,在進(jìn)行此操作前,先對PV_LIST進(jìn)行參數(shù)的檢查。在檢查完成后,調(diào)用lp_put_dataset函數(shù)將數(shù)據(jù)集拷貝至相應(yīng)的端口。4)函數(shù)“ap_get_set”此函數(shù)用于集合變量的接收,在一次不可分割的操作中,從端口拷貝屬于同一個集合中的過程變量到應(yīng)用內(nèi)存地址空間。首先,對PV_LIST進(jìn)行參數(shù)的檢查,檢查通過后,根據(jù)PV_LIST中DS_NAME的信息,調(diào)用lp_get_dataset函數(shù)獲取數(shù)據(jù)集,然后根據(jù)算法將數(shù)據(jù)集中的變量進(jìn)行提取,實現(xiàn)群集變量接收的功能。5)函數(shù)“ap_put_cluster”此函數(shù)用于群集變量的發(fā)送,從應(yīng)用拷貝一個變量群集到通信存儲器中,屬于同一個PV_SET的變量一起拷貝。其實現(xiàn)的過程和函數(shù)ap_put_set相同,只是在參數(shù)檢查上改為對PV_SET的檢查。6)函數(shù)“ap_get_cluster”此函數(shù)用于群集變量的接收,從通信存儲器拷貝過程變量的一個群集到本地用戶實體。其實現(xiàn)的過程和函數(shù)ap_get_set基本相同,不同點在于參數(shù)檢查是對PV_SET的檢查。
3過程數(shù)據(jù)實時協(xié)議通信測試驗證
3.1測試驗證平臺由于變量服務(wù)對于MVB和WTB通信存儲器的訪問原理和實現(xiàn)過程相同,因此測試基于MVB設(shè)備間的過程數(shù)據(jù)通信來驗證鏈路層和應(yīng)用層接口功能[8]。本測試連接以D113為核心的MVB主設(shè)備、UIC網(wǎng)關(guān)A、B兩組的MVB通信板以及MVB協(xié)議分析設(shè)備,組成擁有一主、三從的MVB通信網(wǎng)絡(luò),如圖3所示,連接無誤后各套設(shè)備上電準(zhǔn)備,UIC網(wǎng)關(guān)的兩組從設(shè)備分別與電腦主機(jī)通過以太網(wǎng)相連,MVB協(xié)議分析設(shè)備通過USB與電腦主機(jī)相連。
3.2過程數(shù)據(jù)鏈路層測試及驗證首先啟動D113MVB板卡的PC104核心模塊進(jìn)入winxp系統(tǒng),啟動UIC網(wǎng)關(guān)MVB板下位機(jī)VxWorks系統(tǒng)。然后啟動上位機(jī)Tornado集成開發(fā)環(huán)境,運行FTP服務(wù)器程序Tftpd32,建立連接后,下載MVB實時協(xié)議棧代碼。接著就開始進(jìn)行端口配置,在測試中,配置0x001,0x002,0x005為源端口,接收來自D113MVB板卡發(fā)出的數(shù)據(jù),3個端口功能碼分別為0,1,4,接收字節(jié)數(shù)為2,4,32,配置0x008,0x009,0x00a為宿端口,向D113MVB板發(fā)送數(shù)據(jù),功能碼為2,接收的字節(jié)數(shù)為8,測試結(jié)果如圖4,圖5所示。鏈路層接口向上層應(yīng)用提供數(shù)據(jù)集的讀寫操作,對于應(yīng)用是不可見的,因此,為了測試的可視性,在上層應(yīng)用中設(shè)計了兩個函數(shù)ap_get_dataset和ap_put_dataset,這兩個函數(shù)調(diào)用了鏈路層lp_put_dataset和lp_get_dataset這兩個收發(fā)數(shù)據(jù)集的函數(shù),測試時能實時反應(yīng)出收發(fā)數(shù)據(jù)的情況。通過以上兩個結(jié)果圖可以看出,D113板卡和UIC網(wǎng)關(guān)的MVB板卡能準(zhǔn)確地互相接收和發(fā)送數(shù)據(jù),驗證了過程數(shù)據(jù)鏈路層能正常的進(jìn)行數(shù)據(jù)通信,功能得以實現(xiàn)。
3.3過程數(shù)據(jù)應(yīng)用層測試及驗證應(yīng)用層的測試針對集合和群集變量的收發(fā)進(jìn)行了試驗。在進(jìn)行集合變量測試時,配置主設(shè)備端口0x004為源端口,功能碼為4,從設(shè)備配置相應(yīng)的宿端口。群集變量測試配置0x003端口,數(shù)據(jù)0x10和0xAA在數(shù)組1中,0xA1A2在數(shù)組2中,兩個數(shù)組整合成一個變量集合發(fā)送。測試結(jié)果如圖6~8所示。根據(jù)圖6~8,集合變量和群集變量能準(zhǔn)確的收發(fā)和接收,驗證了實時協(xié)議變量應(yīng)用層接口能正常使用,功能得以驗證。
數(shù)據(jù)報分為報文頭部和數(shù)據(jù)部兩部分,其格式如圖2所示。報文頭部由6字節(jié)組成,第1、2字節(jié)AB表示報文長度,即報文頭部長度加上數(shù)據(jù)部長度;第3、4字節(jié)CD表示整個報文的校驗和;第5、6字節(jié)XX表示應(yīng)答ACK;第7、8字節(jié)GH表示報文序號。數(shù)據(jù)報長度AB范圍為0~65535,所以一個報文最大為8KB。數(shù)據(jù)部長度等于報文長度(AB)減去報文頭長度(8B)。2.2數(shù)據(jù)處理與報文處理數(shù)據(jù)處理包括分割上層應(yīng)用提供的數(shù)據(jù),以及從報文還原拼接數(shù)據(jù);報文處理包括格式化報文以提供給串口發(fā)送以及從串口讀取報文、校驗報文、提取數(shù)據(jù)。
1.2.1數(shù)據(jù)分割
協(xié)議從應(yīng)用程序接口獲取應(yīng)用程序提供的數(shù)據(jù)并以流式數(shù)據(jù)寫入發(fā)送方數(shù)據(jù)緩沖區(qū);然后以事先設(shè)定的數(shù)據(jù)分割長度取數(shù)據(jù),長度不足的部分則全部取出,取數(shù)據(jù)指針移動相應(yīng)距離。
1.2.2報文組裝
報文的組裝過程如下:
(1)計算取出數(shù)據(jù)的長度,填入報文第1、2字節(jié);
(2)報文第3~6字節(jié)全部置0;
(3)計算報文序號GH;
(4)計算校驗和,從第1字節(jié)開始,每兩個字節(jié)為一個單元進(jìn)行分割,末尾不足兩字節(jié)則在其后補(bǔ)0,再將這些單元進(jìn)行二進(jìn)制反碼求和,結(jié)果存在檢驗和字段中第3、4字節(jié);
(5)將取出的數(shù)據(jù)接在報文頭部后面,將整個報文寫入報文緩沖區(qū)。
1.2.3報文拆分
報文拆分的具體步驟如下:
(1)從報文緩沖區(qū)按報文長度獲取報文數(shù)據(jù);
(2)計算校驗和,方法同報文組裝里的計算方法:如果校驗和不為0xFFFF,則傳輸過程中發(fā)生差錯,丟棄此報文;如果校驗和為0xFFFF,取出報文長度及報文序號,計算數(shù)據(jù)部長度,取出數(shù)據(jù)。
1.2.4數(shù)據(jù)拼接
將從報文取出的數(shù)據(jù)填入接收方數(shù)據(jù)緩沖區(qū),寫數(shù)據(jù)指針移動相應(yīng)距離;接收完最后一個數(shù)據(jù)后,協(xié)議將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)提供給上層應(yīng)用程序,寫數(shù)據(jù)指針恢復(fù)初始值。
1.3數(shù)據(jù)報傳輸過程
數(shù)據(jù)報傳輸情況分為考慮定時器超時和不考慮定時器超時兩種,定時器超時處理應(yīng)屬于中斷調(diào)用。
1.3.1傳輸過程數(shù)據(jù)報傳輸過程如下:
(1)在進(jìn)行數(shù)據(jù)報傳輸前,發(fā)送方將數(shù)據(jù)分割并裝進(jìn)報文,ACK置為0x0000,計算報文序號,再將報文送入報文緩沖區(qū)。
(2)開始發(fā)送時,串口按已經(jīng)設(shè)定的工作方式和波特率工作,從報文緩沖區(qū)獲取報文數(shù)據(jù)并發(fā)送。
(3)發(fā)送方發(fā)送完畢一個數(shù)據(jù)報后,停止發(fā)送,啟動定時器計時,準(zhǔn)備接收響應(yīng)。
(4)接收方串口接收數(shù)據(jù)并填入報文緩沖區(qū)。
(5)接收方從報文緩沖區(qū)獲取報文數(shù)據(jù),進(jìn)行校驗:
①若接收方校驗結(jié)果為正確,則取出數(shù)據(jù);若接收的ACK=0x0011并且收到的序號等于前面一個報文的序號,則將數(shù)據(jù)覆蓋到前一塊數(shù)據(jù),否則將數(shù)據(jù)填入數(shù)據(jù)緩沖區(qū);記錄報文序號,發(fā)送數(shù)據(jù)部為空、ACK=0x1111的報文。
②若接收方校驗結(jié)果為錯誤,則丟棄數(shù)據(jù)報,發(fā)送數(shù)據(jù)部為空、ACK=0x1110的報文,通知發(fā)送方重發(fā)。
(6)接收方每次處理完數(shù)據(jù)報均初始化并啟動定時器計時,剛收到數(shù)據(jù)報時關(guān)閉定時器。
(7)發(fā)送方收到響應(yīng)報文,校驗通過則關(guān)閉定時器,獲取ACK,若ACK=0x1111,則發(fā)送下一個數(shù)據(jù)報;若ACK=0x1110,則重發(fā)當(dāng)前數(shù)據(jù)報(ACK置0x0011)。如果校驗不通過就丟棄此數(shù)據(jù)報,仍保持定時器計時。
(8)雙方重復(fù)以上步驟直到最后一個報文發(fā)送完畢。
(9)發(fā)送方發(fā)送最后一個報文完成后,發(fā)送數(shù)據(jù)部為空、ACK=0x0001的報文提示數(shù)據(jù)傳輸完畢,若此報文發(fā)送后收到重傳響應(yīng),則重發(fā)此數(shù)據(jù)報(ACK仍置0x0001)。
1.3.2定時器超時處理
若發(fā)送方定時器達(dá)到發(fā)送方超時等待時間仍未收到響應(yīng)報文,則重傳當(dāng)前數(shù)據(jù)報(ACK置0x0011),連續(xù)超時三次還沒收到應(yīng)答則停止發(fā)送數(shù)據(jù)報,清空報文緩沖區(qū)和數(shù)據(jù)緩沖區(qū),并向應(yīng)用程序返回通信失敗。若接收方定時器達(dá)到接收方超時等待時間仍未收到報文,清空報文緩沖區(qū)和數(shù)據(jù)緩沖區(qū),關(guān)閉定時器,并向上層應(yīng)用程序返回通信失敗。
中國移動、中國電信、中國聯(lián)通三大運營商IP數(shù)據(jù)骨干網(wǎng),基本覆蓋了所有省會節(jié)點和大部分地市節(jié)點,采用核心、匯聚和接入3層結(jié)構(gòu)。它們基本都采用BGPMPLSVPN承載業(yè)務(wù),建立了服務(wù)質(zhì)量保證(QoS)體系,在全網(wǎng)部署了IGP/LDP快速收斂功能,并部署了MPLSTEFRR鏈路保護(hù)功能,域內(nèi)路由協(xié)議采用IS-IS,并通過MP-iBGP傳播MPLSVPN路由信息。
1.2鐵路既有IP數(shù)據(jù)網(wǎng)
鐵路數(shù)據(jù)通信網(wǎng)由建設(shè)于不同時期的客運專線數(shù)據(jù)網(wǎng)、鐵通公司劃轉(zhuǎn)的專用數(shù)據(jù)網(wǎng)及鐵路綜合計算機(jī)網(wǎng)(TMIS數(shù)據(jù)網(wǎng))3個相對獨立的網(wǎng)絡(luò)構(gòu)成。客運專線數(shù)據(jù)網(wǎng)目前已經(jīng)覆蓋了鐵路總公司,各鐵路局的調(diào)度中心,京滬、京石武、武廣、甬臺溫、溫福、鄭西、滬寧、滬杭等已建成的客運專線沿線站段、動車所等業(yè)務(wù)節(jié)點。鐵路局區(qū)域網(wǎng)絡(luò)由核心節(jié)點、匯聚節(jié)點、接入節(jié)點構(gòu)成。骨干網(wǎng)絡(luò)暫采用北京、武漢、西安、上海局區(qū)域網(wǎng)絡(luò)的核心節(jié)點路由器作為臨時域間數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點,滿足各鐵路局對總公司區(qū)域網(wǎng)絡(luò)間,以及各鐵路局區(qū)域網(wǎng)絡(luò)間數(shù)據(jù)路由轉(zhuǎn)發(fā)需求。客運專線數(shù)據(jù)網(wǎng)采用MPLSVPN實現(xiàn)對業(yè)務(wù)的承載。既有普速線數(shù)據(jù)網(wǎng)大部分為鐵通公司劃轉(zhuǎn)鐵路之前的鐵通建設(shè),目前各鐵路局網(wǎng)進(jìn)行基礎(chǔ)通信網(wǎng)改造工程,在改造完成后基本實現(xiàn)了對既有普速線所有車站的覆蓋,并實現(xiàn)了與客運專線數(shù)據(jù)網(wǎng)的整合。鐵路綜合計算機(jī)網(wǎng)為2層網(wǎng)絡(luò)結(jié)構(gòu),覆蓋鐵路總公司、鐵路局及部分車站。隨著網(wǎng)絡(luò)安全工程的實施,鐵路總公司、鐵路局機(jī)關(guān)局域網(wǎng)實行三網(wǎng)分離,即局域網(wǎng)被分割成內(nèi)部服務(wù)網(wǎng)、安全生產(chǎn)網(wǎng)、外部服務(wù)網(wǎng)3個邏輯子網(wǎng),分屬于不同的安全域。TMIS網(wǎng)絡(luò)以路局為分界點,路局以上是骨干網(wǎng),路局以下是基層網(wǎng),總公司至各路局為星形組網(wǎng)。目前TMIS數(shù)據(jù)網(wǎng)與客運專線數(shù)據(jù)網(wǎng)(即鐵路數(shù)據(jù)通信網(wǎng))未實現(xiàn)整合。
2鐵路數(shù)據(jù)通信網(wǎng)網(wǎng)絡(luò)建設(shè)
鐵路數(shù)據(jù)通信網(wǎng)建設(shè)的目標(biāo)為以既有數(shù)據(jù)網(wǎng)為基礎(chǔ),整合成一張綜合的IP數(shù)據(jù)網(wǎng),實現(xiàn)對不涉及行車安全及資金往來的鐵路信息系統(tǒng)和通信數(shù)據(jù)業(yè)務(wù)的承載,采用適合鐵路需求的技術(shù)策略,提高數(shù)據(jù)網(wǎng)絡(luò)運行效率。
2.1骨干網(wǎng)建設(shè)方案
骨干網(wǎng)絡(luò)由匯接節(jié)點、轉(zhuǎn)發(fā)節(jié)點和接入節(jié)點組成。骨干網(wǎng)匯接節(jié)點設(shè)置在鐵路總公司;轉(zhuǎn)發(fā)節(jié)點設(shè)置在北京、西安、武漢、上海、成都;接入節(jié)點設(shè)置在各鐵路局。每個節(jié)點設(shè)置2臺路由器。骨干網(wǎng)為一個獨立自治域。北京、武漢、西安轉(zhuǎn)發(fā)節(jié)點間構(gòu)成半網(wǎng)狀連接方式,相鄰骨干網(wǎng)轉(zhuǎn)發(fā)節(jié)點間互聯(lián),每個轉(zhuǎn)發(fā)節(jié)點與總公司節(jié)點間直聯(lián),實現(xiàn)全網(wǎng)流量在骨干網(wǎng)層面轉(zhuǎn)發(fā);骨干網(wǎng)接入節(jié)點同時與2個大區(qū)轉(zhuǎn)發(fā)節(jié)點互聯(lián)。骨干網(wǎng)節(jié)點間采用10GEWAN接口互聯(lián)。
2.2區(qū)域網(wǎng)絡(luò)建設(shè)方案
每個鐵路局區(qū)域網(wǎng)絡(luò)均作為一個獨立的自治域,區(qū)域網(wǎng)絡(luò)間的互訪通過骨干網(wǎng)絡(luò)實現(xiàn)。鐵路局區(qū)域網(wǎng)絡(luò)由鐵路局所在地的核心節(jié)點、業(yè)務(wù)相對集中的匯聚節(jié)點和接入節(jié)點組成。接入節(jié)點到匯聚節(jié)點間、匯聚節(jié)點到核心節(jié)點間的連接,在城市范圍內(nèi)或有需求的節(jié)點,采用星形或環(huán)形方式接入上層節(jié)點,在鐵路沿線范圍,接入節(jié)點采用鏈型雙歸方式接入?yún)R聚節(jié)點。對于接入節(jié)點,采用分層PE技術(shù),在大型車站部署SPE節(jié)點,小型站段或工區(qū)部署UPE節(jié)點。
2.3既有數(shù)據(jù)網(wǎng)整合方案
由于TMIS數(shù)據(jù)網(wǎng)承載著貨票、確報、調(diào)度、車號自動識別、行車安全監(jiān)控(5T)、鐵路辦公自動化、統(tǒng)計、工務(wù)、財務(wù)核算等多個應(yīng)用系統(tǒng),因此,鐵路數(shù)據(jù)網(wǎng)與TMIS網(wǎng)絡(luò)的整合要分步驟實施。第一步:TMIS數(shù)據(jù)網(wǎng)業(yè)務(wù)之間存在大量互通需求,因此沒有對承載業(yè)務(wù)做嚴(yán)格的訪問隔離,而鐵路數(shù)據(jù)通信網(wǎng)采用VPN方式實現(xiàn)業(yè)務(wù)接入,為避免對TDMS廣域網(wǎng)承載業(yè)務(wù)造成影響,第一步將承載的全部業(yè)務(wù)以一個統(tǒng)一VPN接入鐵路數(shù)據(jù)網(wǎng)。第二步:新的信息業(yè)務(wù)直接接入鐵路數(shù)據(jù)網(wǎng),TMIS既有業(yè)務(wù)逐步向鐵路數(shù)據(jù)網(wǎng)割接,業(yè)務(wù)割接后TMIS網(wǎng)絡(luò)設(shè)備根據(jù)性能及配置情況,融入鐵路數(shù)據(jù)網(wǎng)各類節(jié)點中,實現(xiàn)一張統(tǒng)一的數(shù)據(jù)網(wǎng),實現(xiàn)信息資源共享。
2.4技術(shù)策略
鐵路數(shù)據(jù)通信網(wǎng)采用骨干網(wǎng)絡(luò)及區(qū)域網(wǎng)絡(luò)二級構(gòu)建,在區(qū)域網(wǎng)絡(luò)接入節(jié)點,采用分層PE構(gòu)建。鐵路數(shù)據(jù)通信網(wǎng)骨干網(wǎng)絡(luò)鏈路由OTN承載,采用10GE接口;鐵路局區(qū)域網(wǎng)絡(luò)核心、匯聚節(jié)點間的鏈路及接入節(jié)點到匯聚節(jié)點間的鏈路,主要由OTN承載,采用GE接口;接入節(jié)點間的鏈路主要由光纖承載,采用GE接口。為保證數(shù)據(jù)網(wǎng)對業(yè)務(wù)承載的可靠性,數(shù)據(jù)網(wǎng)要求OTN承載網(wǎng)啟用保護(hù)機(jī)制,并利用傳輸網(wǎng)絡(luò)保護(hù)機(jī)制、數(shù)據(jù)網(wǎng)故障檢測恢復(fù)機(jī)制及兩者的協(xié)調(diào)配合,來共同保證數(shù)據(jù)網(wǎng)的可靠性。數(shù)據(jù)網(wǎng)通過lay-er3MPLSVPN實現(xiàn)對業(yè)務(wù)的承載,保證不同業(yè)務(wù)組的安全隔離,采用OptionB方式實現(xiàn)VPN跨域互通;將layer2MPLSVPN作為補(bǔ)充,提供基于MartiniVLL業(yè)務(wù)。采用區(qū)分業(yè)務(wù)(DiffServ)同時結(jié)合CBQ以及CAR等多種技術(shù)方式,來保證各類業(yè)務(wù)的QoS。骨干網(wǎng)絡(luò)依靠高帶寬的設(shè)計提供網(wǎng)絡(luò)的輕載來保證SLA,采用IPDSCP、IPTOS和MPLSEXP字段標(biāo)識QoS等級;在PE路由器實現(xiàn)QoS的等級化標(biāo)記,根據(jù)初始業(yè)務(wù)類型提供6類服務(wù)等級對應(yīng)6種隊列;部分關(guān)鍵業(yè)務(wù),如GSM-R/GPGS、會議電視、軟交換等,考慮直接在區(qū)域網(wǎng)核心節(jié)點下設(shè)置獨立的PE接入設(shè)備,基于物理端口進(jìn)行分類和標(biāo)識。在全網(wǎng)部署路由快速收斂功能,啟用BFD完成快速鏈路故障探測,先期在骨干網(wǎng)絡(luò)轉(zhuǎn)發(fā)節(jié)點間對重要業(yè)務(wù)(如GSM-R/GPRS業(yè)務(wù))進(jìn)行MPLS-TEFRR的部署。域內(nèi)路由協(xié)議采用IS-IS,并通過MP-iBGP傳播MPLSVPN路由信息,域間協(xié)議采用E-BGP。骨干網(wǎng)絡(luò)及各區(qū)域網(wǎng)絡(luò)均為獨立AS。在骨干網(wǎng)接入路由器部署流量采集設(shè)備,在鐵路總公司節(jié)點設(shè)置流量分析與統(tǒng)計服務(wù)器,對各鐵路局引入骨干網(wǎng)流量進(jìn)行統(tǒng)計分析,并對異常流量進(jìn)行告警。數(shù)據(jù)網(wǎng)為鐵路專網(wǎng)綜合IP網(wǎng),與公眾互聯(lián)網(wǎng)采用物理隔離;全網(wǎng)通過實施MPLSVPN,完成各業(yè)務(wù)系統(tǒng)的隔離;網(wǎng)絡(luò)支持分域、分權(quán)管理;對于網(wǎng)絡(luò)設(shè)備的服務(wù)配置,遵循最小化服務(wù)原則,關(guān)閉網(wǎng)絡(luò)設(shè)備不需要的物理端口及服務(wù);對網(wǎng)絡(luò)設(shè)備實行交互式訪問安全措施;支持對接入業(yè)務(wù)限速處理;在IS-IS、BGP等協(xié)議中啟用校驗和認(rèn)證功能;網(wǎng)管區(qū)域的防火墻具有入侵檢測功能;在網(wǎng)絡(luò)互聯(lián)端口開啟I-SISHello的MD5認(rèn)證;在區(qū)域網(wǎng)出口限制BGP對等體(peer)以外IP地址對179端口的訪問。在MPLS環(huán)境下向IPv6演進(jìn),在所有IPv6業(yè)務(wù)不需隔離時,可采用6PE技術(shù)實現(xiàn);在IPv6業(yè)務(wù)需隔離的情況下,可采用6VPE技術(shù)實現(xiàn)。
有效保障數(shù)據(jù)通信網(wǎng)絡(luò)的穩(wěn)定性和安全性,就必須充分發(fā)揮技術(shù)人力資源的作用,積極構(gòu)建起健全完善的數(shù)據(jù)通信平臺,并積極對系統(tǒng)平臺的安全性進(jìn)行科學(xué)的全面的評估。作為一名合格具備專業(yè)化技術(shù)的人員,應(yīng)按照相關(guān)制度要求和標(biāo)準(zhǔn)流程,設(shè)置科學(xué)的評估方式,對整個網(wǎng)絡(luò)環(huán)境進(jìn)行系統(tǒng)的評估,并適時給予安全調(diào)整,準(zhǔn)確分析潛在的用戶群體以及信息源,并對他們進(jìn)行安全評估和識別,充分了解數(shù)據(jù)通信網(wǎng)絡(luò)的發(fā)展實際,以此為出發(fā)點開展系統(tǒng)安全性的分析活動。
1.2及時排查隱存的安全威脅
定期開展網(wǎng)絡(luò)安全的檢查與維修活動,以及時確保數(shù)據(jù)信息的可靠性與真實性得到有效的安全確認(rèn),避免服務(wù)器的終端設(shè)備以及信息網(wǎng)中的硬件設(shè)備和軟件設(shè)備受到惡意破壞,防止系統(tǒng)網(wǎng)絡(luò)受到不法分子的嚴(yán)重攻擊,達(dá)到對數(shù)據(jù)庫內(nèi)部的信息進(jìn)行保密的目的。所以這就要求專業(yè)化的技術(shù)人員需以對網(wǎng)絡(luò)安全性的有效評估為前提,全面仔細(xì)存在的隱形的安全威脅,積極設(shè)置高效的網(wǎng)管設(shè)置等形式,不斷優(yōu)化系統(tǒng)漏洞,拒絕一切不法分析用戶的對網(wǎng)絡(luò)系統(tǒng)的入侵和攻擊,降低安全風(fēng)險的發(fā)生。
2路由器與交換機(jī)漏洞的發(fā)現(xiàn)和防護(hù)
作為通過遠(yuǎn)程連接的方式實現(xiàn)網(wǎng)絡(luò)資源的共享是大部分用戶均會使用到的,不管這樣的連接方式是利用何種方式進(jìn)行連接,都難以避開負(fù)載路由器以及交換機(jī)的系統(tǒng)網(wǎng)絡(luò),這是這樣,這些設(shè)備存在著某些漏洞極容易成為黑客的攻擊的突破口。從路由器與交換機(jī)存在漏洞致因看,路由與交換的過程就是于網(wǎng)絡(luò)中對數(shù)據(jù)包進(jìn)行移動。在這個轉(zhuǎn)移的過程中,它們常常被認(rèn)為是作為某種單一化的傳遞設(shè)備而存在,那么這就需要注意,假如某個黑客竊取到主導(dǎo)路由器或者是交換機(jī)的相關(guān)權(quán)限之后,則會引發(fā)損失慘重的破壞。縱觀路由與交換市場,擁有最多市場占有率的是思科公司,并且被網(wǎng)絡(luò)領(lǐng)域人員視為重要的行業(yè)標(biāo)準(zhǔn),也正因為該公司的產(chǎn)品普及應(yīng)用程度較高,所以更加容易受到黑客攻擊的目標(biāo)。比如,在某些操作系統(tǒng)中,設(shè)置有相應(yīng)的用于思科設(shè)備完整工具,主要是方便管理員對漏洞進(jìn)行定期的檢查,然而這些工具也被攻擊者注意到并利用工具相關(guān)功能查找出設(shè)備的漏洞所在,就像密碼漏洞主要利用JohntheRipper進(jìn)行攻擊。所以針對這類型的漏洞防護(hù)最基本的防護(hù)方法是開展定期的審計活動,為避免這種攻擊,充分使用平臺帶有相應(yīng)的多樣化的檢查工具,并在需要時進(jìn)行定期更新,并保障設(shè)備出廠的默認(rèn)密碼已經(jīng)得到徹底清除;而針對BGP漏洞的防護(hù),最理想的辦法是于ISP級別層面處理和解決相關(guān)的問題,假如是網(wǎng)絡(luò)層面,最理想的辦法是對攜帶數(shù)據(jù)包入站的路由給予嚴(yán)密的監(jiān)視,并時刻搜索內(nèi)在發(fā)生的所有異常現(xiàn)象。
3交換機(jī)常見的攻擊類型
3.1MAC表洪水攻擊
交換機(jī)基本運行形勢為:當(dāng)幀經(jīng)過交換機(jī)的過程會記下MAC源地址,該地址同幀經(jīng)過的端口存在某種聯(lián)系,此后向該地址發(fā)送的信息流只會經(jīng)過該端口,這樣有助于節(jié)約帶寬資源。通常情況下,MAC地址主要儲存于能夠追蹤和查詢的CAM中,以方便快捷查找。假如黑客通過往CAM傳輸大量的數(shù)據(jù)包,則會促使交換機(jī)往不同的連接方向輸送大量的數(shù)據(jù)流,最終導(dǎo)致該交換機(jī)處在防止服務(wù)攻擊環(huán)節(jié)時因過度負(fù)載而崩潰。
3.2ARP攻擊
這是在會話劫持攻擊環(huán)節(jié)頻發(fā)的手段之一,它是獲取物理地址的一個TCP/IP協(xié)議。某節(jié)點的IP地址的ARP請求被廣播到網(wǎng)絡(luò)上后,這個節(jié)點會收到確認(rèn)其物理地址的應(yīng)答,這樣的數(shù)據(jù)包才能被傳送出去。黑客可通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙,能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞,ARP欺騙過程如圖1所示。
3.3VTP攻擊
以VTP角度看,探究的是交換機(jī)被視為VTP客戶端或者是VTP服務(wù)器時的情況。當(dāng)用戶對某個在VTP服務(wù)器模式下工作的交換機(jī)的配置實施操作時,VTP上所配置的版本號均會增多1,當(dāng)用戶觀察到所配置的版本號明顯高于當(dāng)前的版本號時,則可判斷和VTP服務(wù)器實現(xiàn)同步。當(dāng)黑客想要入侵用戶的電腦時,那他就可以利用VTP為自己服務(wù)。黑客只要成功與交換機(jī)進(jìn)行連接,然后再本臺計算機(jī)與其構(gòu)建一條有效的中繼通道,然后就能夠利用VTP。當(dāng)黑客將VTP信息發(fā)送至配置的版本號較高且高于目前的VTP服務(wù)器,那么就會致使全部的交換機(jī)同黑客那臺計算機(jī)實現(xiàn)同步,最終將全部除非默認(rèn)的VLAN移出VLAN數(shù)據(jù)庫的范圍。
4安全防范VLAN攻擊的對策
4.1保障TRUNK接口的穩(wěn)定與安全
通常情況下,交換機(jī)所有的端口大致呈現(xiàn)出Access狀態(tài)以及Turnk狀態(tài)這兩種,前者是指用戶接入設(shè)備時必備的端口狀態(tài),后置是指在跨交換時一致性的VLAN-ID兩者間的通訊。對Turnk進(jìn)行配置時,能夠避免開展任何的命令式操作行為,也同樣能夠?qū)崿F(xiàn)于跨交換狀態(tài)下一致性的VLAN-ID兩者間的通訊。正是設(shè)備接口的配置處于自適應(yīng)的自然狀態(tài),為各項攻擊的發(fā)生埋下隱患,可通過如下的方式防止安全隱患的發(fā)生。首先,把交換機(jī)設(shè)備上全部的接口狀態(tài)認(rèn)為設(shè)置成Access狀態(tài),這樣設(shè)置的目的是為了防止黑客將自己設(shè)備的接口設(shè)置成Desibarle狀態(tài)后,不管以怎樣的方式進(jìn)行協(xié)商其最終結(jié)果均是Accese狀態(tài),致使黑客難以將交換機(jī)設(shè)備上的空閑接口作為攻擊突破口,并欺騙為Turnk端口以實現(xiàn)在局域網(wǎng)的攻擊。其次是把交換機(jī)設(shè)備上全部的接口狀態(tài)認(rèn)為設(shè)置成Turnk狀態(tài)。不管黑客企圖通過設(shè)置什么樣的端口狀態(tài)進(jìn)行攻擊,這邊的接口狀態(tài)始終為Turnk狀態(tài),這樣有助于顯著提高設(shè)備的可控性[3]。最后對Turnk端口中關(guān)于能夠允許進(jìn)出的VLAN命令進(jìn)行有效配置,對出入Turnk端口的VLAN報文給予有效控制。只有經(jīng)過允許的系類VLAN報文才能出入Turnk端口,這樣就能夠有效抑制黑客企圖通過發(fā)送錯誤報文而進(jìn)行攻擊,保障數(shù)據(jù)傳送的安全性。
4.2保障VTP協(xié)議的有效性與安全性
VTP(VLANTrunkProtocol,VLAN干道協(xié)議)是用來使VLAN配置信息在交換網(wǎng)內(nèi)其它交換機(jī)上進(jìn)行動態(tài)注冊的一種二層協(xié)議,它主要用于管理在同一個域的網(wǎng)絡(luò)范圍內(nèi)VLANs的建立、刪除以及重命名。在一臺VTPServer上配置一個新的VLAN時,該VLAN的配置信息將自動傳播到本域內(nèi)的其他所有交換機(jī),這些交換機(jī)會自動地接收這些配置信息,使其VLAN的配置與VTPServer保持一致,從而減少在多臺設(shè)備上配置同一個VLAN信息的工作量,而且保持了VLAN配置的統(tǒng)一性。處于VTP模式下,黑客容易通過VTP實現(xiàn)初步入侵和攻擊,并通過獲取相應(yīng)的權(quán)限,以隨意更改入侵的局域網(wǎng)絡(luò)內(nèi)部架構(gòu),導(dǎo)致網(wǎng)絡(luò)阻塞和混亂。所以對VTP協(xié)議進(jìn)行操作時,僅保存一臺設(shè)置為VTP的服務(wù)器模式,其余為VTP的客戶端模式。最后基于保障VTP域的穩(wěn)定與安全的目的,應(yīng)將VTP域全部的交換機(jī)設(shè)置為相同的密碼,以保證只有符合密碼相同的情況才能正常運作VTP,保障網(wǎng)絡(luò)的安全。
2當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)通信中存在的主要安全隱患
2.1網(wǎng)絡(luò)病毒
當(dāng)前,Internet已經(jīng)成為了各種計算機(jī)網(wǎng)絡(luò)病毒的最大傳播途徑,一旦用戶終端被網(wǎng)絡(luò)病毒感染,就可能造成與其進(jìn)行數(shù)據(jù)通信的其他用戶終端被連帶感染,特別是當(dāng)前病毒的破壞形式多種多樣,能在不被發(fā)現(xiàn)的情況下對傳輸數(shù)據(jù)進(jìn)行復(fù)制、篡改和毀壞,也可以通過侵入終端內(nèi)部對系統(tǒng)數(shù)據(jù)進(jìn)行攻擊,從而造成數(shù)據(jù)通信質(zhì)量下降或中斷。在政府機(jī)構(gòu)或企業(yè)中,一些非法分子出于經(jīng)濟(jì)或政治目的,通過對政府機(jī)關(guān)網(wǎng)或企業(yè)局域網(wǎng)的服務(wù)器植入病毒,造成機(jī)密信息外泄,從而造成不可估量的損失,嚴(yán)重時還可能威脅到國家安全和社會穩(wěn)定。
2.2黑客攻擊
正常的網(wǎng)絡(luò)通信是通過合法訪問的形式實現(xiàn)的,而在現(xiàn)實中,一些網(wǎng)絡(luò)黑客出于不同的目的,在未經(jīng)允許的情況下就利用網(wǎng)絡(luò)傳輸協(xié)議、服務(wù)器以及操作系統(tǒng)上的安全漏洞進(jìn)行非法訪問,使得系統(tǒng)內(nèi)部的信息和數(shù)據(jù)被盜取或刪改等,從而造成系統(tǒng)崩潰、重要信息丟失或泄露等嚴(yán)重事件。
2.3管理缺失
在實際工作中,很多用戶在利用網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信時沒有充分重視安全方面的問題。一方面沒有投入先進(jìn)的網(wǎng)絡(luò)硬件設(shè)備,或者投入時只重視服務(wù)器、交換機(jī)等硬件設(shè)備的性能而忽略了安全防護(hù)性;另一方面由于相關(guān)技術(shù)人員和管理人員缺乏,使得信息的使用和傳輸非常隨意,再加上對傳輸和終端設(shè)備的入網(wǎng)安全性檢測工作不嚴(yán),容易被不法分子在設(shè)備內(nèi)部設(shè)置后門,從而給數(shù)據(jù)通信安全造成威脅。
3網(wǎng)絡(luò)數(shù)據(jù)通信中的安全防范技術(shù)措施
3.1對網(wǎng)絡(luò)入侵進(jìn)行檢測
網(wǎng)絡(luò)數(shù)據(jù)通信一般都是基于TCP/IP等網(wǎng)絡(luò)通信協(xié)議的基礎(chǔ)上完成的,在這個過程中可以加強(qiáng)對網(wǎng)絡(luò)訪問行為的監(jiān)視和分析,判斷其是否屬于合法訪問的范疇。一旦發(fā)現(xiàn)其存在違反安全策略的行為,就要立即對訪問實施攔截,同時發(fā)出報警,提示相關(guān)工作人員進(jìn)行進(jìn)一步的處理。
3.2實施訪問控制
首先,對不同的訪問用戶設(shè)置不同的安全權(quán)限。通過設(shè)置不同的安全權(quán)限可以有效防止未經(jīng)授權(quán)的用戶訪問敏感信息,避免了機(jī)密信息數(shù)據(jù)的外泄。其次,局域網(wǎng)用戶還應(yīng)做好內(nèi)部訪問外網(wǎng)的控制,通過部署網(wǎng)絡(luò)版防火墻等方式杜絕外部病毒和木馬程序順著訪問路徑入侵。最后,采用認(rèn)證技術(shù)來限制用戶訪問網(wǎng)絡(luò)。用戶只有通過門戶網(wǎng)站或客戶端的形式完成認(rèn)證步驟,才能實施對外部網(wǎng)絡(luò)的訪問。
3.3進(jìn)行數(shù)據(jù)加密將信息數(shù)據(jù)在傳輸前進(jìn)行加密,被接收之后通過解密機(jī)進(jìn)行還原,從而有效提高數(shù)據(jù)在傳輸過程中的安全性。目前常用的數(shù)據(jù)加密技術(shù)有兩種:
(1)端到端加密技術(shù)。在數(shù)據(jù)信息的發(fā)送端和接收端同時以加密的形式存在。
(2)鏈路加密技術(shù)。在數(shù)據(jù)信息的傳輸過程中以加密的形式存在。在實際應(yīng)用中,這兩種加密技術(shù)一般混合采用,以提高數(shù)據(jù)信息的安全性。
2命令/應(yīng)答式通信協(xié)議
2.1協(xié)議框架
V8_Loader(監(jiān)控主機(jī),PC)與V8_Agent(目標(biāo)機(jī))之間采用命令/應(yīng)答式通信協(xié)議進(jìn)行命令、數(shù)據(jù)、狀態(tài)等信息的傳送.通信過程總是由監(jiān)控主機(jī)首先向目標(biāo)機(jī)發(fā)送一個命令包,目標(biāo)機(jī)在收到命令包后,執(zhí)行相應(yīng)讀寫操作,再根據(jù)通信協(xié)議向監(jiān)控主機(jī)回送相應(yīng)的狀態(tài)應(yīng)答包.因為遠(yuǎn)程監(jiān)控系統(tǒng)對于不同命令的反應(yīng)實效性是不一樣的,為了便于管理,將協(xié)議命令分為三種類型,包括立即命令、緩沖命令和數(shù)據(jù)命令.立即命令信息量短,用于需要馬上執(zhí)行的命令;緩沖命令用于對可延時命令進(jìn)行延時管理,主要是對數(shù)據(jù)包進(jìn)行管理;數(shù)據(jù)命令主要是用來對大量數(shù)據(jù)信息進(jìn)行數(shù)據(jù)包裝.三種命令的具體定義如下:(1)立即命令:目標(biāo)機(jī)接收到立即命令后進(jìn)行校驗,如果正確則立即執(zhí)行,完成相應(yīng)控制和狀態(tài)查詢等功能,并回送狀態(tài)應(yīng)答包.若校驗不正確,則不進(jìn)行處理和響應(yīng).(2)緩沖命令:目標(biāo)機(jī)接收到緩沖命令后,首先存儲在緩沖區(qū)中,并不立即執(zhí)行,當(dāng)監(jiān)控主機(jī)發(fā)送執(zhí)行命令后才執(zhí)行緩沖區(qū)中的命令;執(zhí)行完成后,也不立即向監(jiān)控主機(jī)回送狀態(tài)應(yīng)答包,而是將執(zhí)行結(jié)果存儲在緩沖區(qū)中,當(dāng)接收到監(jiān)控主機(jī)發(fā)來的查詢命令時,才將緩沖區(qū)中的狀態(tài)應(yīng)答信息作為查詢命令的應(yīng)答包回送給監(jiān)控主機(jī).(3)數(shù)據(jù)命令:目標(biāo)機(jī)接收到數(shù)據(jù)命令后,將數(shù)據(jù)放在緩沖區(qū)中,同時進(jìn)行校驗,根據(jù)校驗結(jié)果設(shè)置數(shù)據(jù)緩沖區(qū)的狀態(tài),數(shù)據(jù)包接收后不回送狀態(tài)應(yīng)答包給監(jiān)控主機(jī).
2.2協(xié)議包格式
協(xié)議包從傳輸方向上分為兩類:上行協(xié)議包,由監(jiān)控主機(jī)發(fā)送,目標(biāo)機(jī)接收;下行協(xié)議包,由目標(biāo)機(jī)發(fā)送,監(jiān)控主機(jī)接收.其中上行協(xié)議包又包括立即命令包、緩沖命令包和數(shù)據(jù)命令包三種類型;下行協(xié)議包又包括狀態(tài)應(yīng)答包和數(shù)據(jù)應(yīng)答包兩種類型.各種協(xié)議包的格式如下:(1)立即命令包:監(jiān)控主機(jī)發(fā)送的立即命令,包括前導(dǎo)字符、命令長度、命令內(nèi)容和校驗字節(jié)等部分.立即命令的類型包括很多種,具體使用中可以根據(jù)需要添加和擴(kuò)展.(2)緩沖命令包:監(jiān)控主機(jī)發(fā)送的緩沖命令,也是實際的功能命令,包括前導(dǎo)字符、命令長度、命令內(nèi)容和校驗字節(jié)等部分.緩沖命令包從功能上分為擦除命令、上傳命令、下載命令、轉(zhuǎn)移命令等,根據(jù)需要可以添加不同的功能命令.(3)數(shù)據(jù)命令包:監(jiān)控主機(jī)發(fā)送的數(shù)據(jù)命令,用來向目標(biāo)機(jī)的接收數(shù)據(jù)緩沖區(qū)注入一個數(shù)據(jù)塊,包括前導(dǎo)字符、數(shù)據(jù)塊長度、數(shù)據(jù)塊內(nèi)容和校驗字節(jié)等部分.(4)狀態(tài)應(yīng)答包:目標(biāo)機(jī)發(fā)送的狀態(tài)應(yīng)答信息,對來自監(jiān)控主機(jī)的立即命令進(jìn)行響應(yīng),包括長度、狀態(tài)數(shù)據(jù)和校驗字節(jié)等部分,長度表示狀態(tài)數(shù)據(jù)的字節(jié)數(shù),狀態(tài)數(shù)據(jù)根據(jù)立即命令的不同而不同,從而給宿主機(jī)發(fā)送不同的狀態(tài)響應(yīng).(5)數(shù)據(jù)應(yīng)答包:目標(biāo)機(jī)發(fā)送的數(shù)據(jù)信息,數(shù)據(jù)應(yīng)答包是功能命令的數(shù)據(jù)塊,包括長度、數(shù)據(jù)塊和校驗字節(jié)等部分,長度表示數(shù)據(jù)塊的字節(jié)數(shù),數(shù)據(jù)塊是從宿主機(jī)接收到的具體數(shù)據(jù)信息.
3軟件實現(xiàn)方法
遠(yuǎn)程監(jiān)控系統(tǒng)軟件具體實現(xiàn)分為兩部分,分別為目標(biāo)機(jī)上運行的V8_Agent,監(jiān)控主機(jī)上運行的V8_Loader程序.本文按照圖2所示的系統(tǒng)體系結(jié)構(gòu)模型,采用模塊化的設(shè)計方法進(jìn)行了實現(xiàn).軟件整體設(shè)計框圖如圖3所示[9].下面分別從目標(biāo)機(jī)和監(jiān)控主機(jī)兩個方面對該系統(tǒng)的軟件實現(xiàn)進(jìn)行說明.
3.1V8_Agent的實現(xiàn)
V8_Agent主要完成各種通信協(xié)議命令的解析、執(zhí)行,在V8_Loader的控制下,將數(shù)據(jù)傳送到目標(biāo)機(jī)的指定區(qū)域,或?qū)⒛繕?biāo)機(jī)指定區(qū)域的數(shù)據(jù)傳給V8_Loader.圖4給出了目標(biāo)機(jī)解析命令的運行過程,主要分為以下幾個步驟執(zhí)行:(1)初始化所有通信端口和緩沖區(qū),轉(zhuǎn)步驟(2),進(jìn)入通信端口選擇過程;(2)采用自動識別方法對通信端口進(jìn)行識別,按照預(yù)先設(shè)定的通道順序查詢各端口,首先查到數(shù)據(jù)的端口將被選擇為臨時端口;如果從臨時端口接收到一個正確的命令,則認(rèn)為收到該命令的通信通道就是當(dāng)前選擇的通信通道,將當(dāng)前通道選擇標(biāo)志送給通信通道選擇標(biāo)志,完成通信通道的選擇;(3)識別到可用通信端口后,執(zhí)行命令解析過程;由所接收信息包的第一個字符確定監(jiān)控主機(jī)送來的包類型;如果是緩沖命令包則執(zhí)行步驟(4),數(shù)據(jù)命令包執(zhí)行步驟(5),立即命令包執(zhí)行步驟(6),其他轉(zhuǎn)步驟(7);(4)接收到緩沖命令包后,將接收到的數(shù)據(jù)暫存到命令接收緩沖區(qū),當(dāng)監(jiān)控主機(jī)確認(rèn)目標(biāo)機(jī)正確接收了緩沖命令后,再將其切換到命令執(zhí)行緩沖區(qū),并設(shè)置命令執(zhí)行緩沖區(qū)狀態(tài)為命令就緒狀態(tài)后轉(zhuǎn)步驟(7);(5)接收到數(shù)據(jù)命令包后,將接收到的數(shù)據(jù)暫存到數(shù)據(jù)接收緩沖區(qū),當(dāng)監(jiān)控主機(jī)確認(rèn)目標(biāo)機(jī)正確接收了該包數(shù)據(jù)后,設(shè)置數(shù)據(jù)接收緩沖區(qū)狀態(tài)為數(shù)據(jù)就緒狀態(tài)后轉(zhuǎn)步驟(7);(6)接收到立即命令包后,根據(jù)命令包類型執(zhí)行不同的功能命令,同時給監(jiān)控主機(jī)回送一個應(yīng)答包,并轉(zhuǎn)步驟(7);如果接收的是執(zhí)行緩沖區(qū)中命令的命令,則執(zhí)行命令緩沖區(qū)中存儲的緩沖命令,執(zhí)行完畢后轉(zhuǎn)步驟(7);(7)結(jié)束本次通信命令解析過程,轉(zhuǎn)步驟(2)
3.2V8_Loader的實現(xiàn)
V8_Loader軟件在監(jiān)控主機(jī)上運行,采用Vis-ualC++6.0進(jìn)行開發(fā).V8_Loader完成通信接口選擇、文件管理、數(shù)據(jù)打包等功能,并按照通信協(xié)議與V8_Agent進(jìn)行通信,完成數(shù)據(jù)上下傳.考慮到未來擴(kuò)展應(yīng)用功能方面的需求,遠(yuǎn)程監(jiān)控系統(tǒng)在實現(xiàn)時不僅需要提供如前面應(yīng)用說明中的完整功能,還需要為未來的嵌入式應(yīng)用提供其它方面的支持.因此V8_Loader在實現(xiàn)時,采用了如圖5所示的多層次結(jié)構(gòu)進(jìn)一步細(xì)化了軟件的層次結(jié)構(gòu),增強(qiáng)軟件的可擴(kuò)展性,提高軟件的廣泛適應(yīng)性.界面管理層直接向用戶提供文件上傳、數(shù)據(jù)下載等用戶界面管理,完成對文件的管理操作.文件上傳是要將指定數(shù)據(jù)文件或程序文件的內(nèi)容上傳到目標(biāo)機(jī)指定區(qū)域,而數(shù)據(jù)下載則是從目標(biāo)機(jī)指定區(qū)域下載的指定長度二進(jìn)制數(shù)據(jù)保存到主機(jī)的文件中.此外界面管理層還向用戶提供了轉(zhuǎn)移執(zhí)行、FLASH擦除等功能.線程處理層完成基于文件和控制界面的監(jiān)控功能處理.它將上傳文件、下載數(shù)據(jù)區(qū)分成若干個包,通過調(diào)用功能處理層的上、下傳支持函數(shù)來完成文件數(shù)據(jù)的上傳和數(shù)據(jù)下載功能.線程處理層同時完成對界面上的進(jìn)度條的實時處理與更新,完成與用戶之間的信息交換,完成文件數(shù)據(jù)的讀取與存儲功能.功能處理層是真正的上傳、下載、轉(zhuǎn)移等功能的處理模塊,按照協(xié)議規(guī)定通過通信管理層與V8_A-gent之間進(jìn)行協(xié)議命令及上下傳數(shù)據(jù)的交互,完成規(guī)定大小數(shù)據(jù)的上傳與下載.通信管理層提供各種通信功能到不同總線接口的映射.在總線驅(qū)動程序的基礎(chǔ)上,完成通信字符到協(xié)議包的簡單轉(zhuǎn)換工作.總線驅(qū)動層可以根據(jù)實際的通信端口添加相應(yīng)的驅(qū)動程序,可以很方便的擴(kuò)展其他通信總線,從而完成對通信端口的底層管理.