有關計算機網絡對等安全通信技術的探索
1 局域網環境下的對等安全通信技術及其應用
1.1基于網卡NIC的編程控制用戶直接通過網卡N1C中的寄存器實現編程控制過程,可以正確發送或者接收數據分組。以NE2000為例,是16位的適用于ISA總線中的網卡,其功能主要包括連接器、接口電路、站地址ProM、緩沖RAM、DP8390、DP8391和DP8392等若干部分。其中,以DP8390作為重要的網絡接口控制電路NIC,可以適應IEEE802.3標準,內部包括微機對網卡的狀態控制、檢測和收發數據的緩沖。
另外,有關網卡中緩沖RAM 的讀寫控制,用戶可以通過控制NE2000網卡通信中的命令寄存器編程而實現,該項技術簡單、可操作,不需要復雜的網絡軟件支撐,具有良好的使用性能。但是,編程不具備針對性,移植性能較差,其適用范圍有限。
1.2基于NETBios的編程控制主要利用IBM 公司的NETBios或者仿真系統.實現文時性的數據服務。NETBios作為網絡編程的接口模式,一般處于會話層和表示層之間的位置,接口程序和較低一層之間的活動呈隔離狀態:在NETBios IAN適配器中,通過網絡的多個名稱來區分,每一個網絡名包括16個字符;但是注意名稱的第一個字符不能為2進制或者符號“※”;對于NETBios來說,其自身并不具備路由的功能,但是可以依賴“TCP/IP” 的路由特征.將NETBios的名稱解釋為IP地址形式。以此實現遠程控制與訪問目標;但是利用NETBios不能和互聯網實現連接,這主要由于其名字的單一制限制。在利用NETBios進行通信過程巾,首先由程序發出監聽的信號.對名字表中的某個特定名字進行訪問:其次構建一個虛電路,以此搭建數據發送與接收的通道,也就是面向連接的通信方法另外,應用NETBios還可以通過普通股數據包或者, ‘播數據包的形式,完成無連接通信過程。但是采用該種通信方法,不具備差錯控制功能,效率相對較低;但是編程過程較為簡單、易實現;但是在網絡繁忙的狀態下,可能出錯率較高。
1.3基于微機網絡的編程控制利于微機網絡技術.實現實時通信的`編程接口運千于,構建實時對等安全通信的運行環境。在NovEll的網絡操作系統巾,給用戶提供了多元化的服務支持,其中涉及的Ipx協議,提供了網絡層的數據報接口,實現和服務器、工作站等設備的連接,支持數據的發送與接收。
在Ipx數據報中,主要包括包頭和數據兩大部分,其中包頭通過分組的長度、傳輸手段等實行控制:其中也包括分組的類型、分組的目的、節點地址等;在數據部分,應控制在546字節范圍內:Ipx協議則包括工作點節點地址、網絡號、應用程序等構成,這也是發送或者接收數據的重要通道。通過事件控制塊的作用,Ipx可以實現數據的偵聽、發送、調度以及管理等功能,同時也可以發送或者接收ECB,二者添加的內容不同,但是結構相同;遵循“先入先出” 的原則,在Ipx中對ECB隊列實行有序管理,完成整個通信過程;其中,Ipx提供了主動性的服務,如數據包的發送、數據包的打開、關閉或者取消事件等。
如果出現異步通信中斷問題,那么有關接收數據的實時處理.就可以通過調用事件服務的例程EsR來實現:在ESR中,將ESR Handdler項掛接到Ipx事件中,以EsR作為應用程序中的定義例程,可以在事件發生之后及時中斷或者調用。因此,Ipx在兩個工作站之間完成了對等通信過程,確保局域網內的安全運行。
2 互聯網環境下的對等安全通信技術及其應用
當前,WinSock已經在Windows XX和Windows NT中實現集成作用,并且支持互聯網運行過程的TCP/IP協議實現;利用Socket完成通信過程,一般包括以下兩種形式:其一,面向連接流。在兩個應用通信程序之間如果需要構建虛擬化的連接關系,就需要使用連接號,而套接字Socket實際上也就是通過連接號構成的管道;在數據分組中,雖然不帶有目的性的地址,但是收發數據過程的內容和順序保持一致。也就是說,在流方式作用下,以TCP協議運行為主.可較好地保障通信的有序發送和到達:同時,在數據中進行了重發與校驗,進一步增強數據文件的安全性、可靠性。其二,采取無連接的方式完成數據報過程。對于每一個數據來說,在分組時都需要附加目的地址,但是不能確保數據傳輸過程的安全、完整或者保持數據正確、順序無誤等?梢,在數據報中.以UDP協議為主 在TCP/IP應用過程中,在啟動客戶機進程之前就切人服務器進程,直到客戶機的響應結束為止,其流程如圖2所示。
在Winsock程序中,提供了約為100個通信函數,但是在流程圖中卻不能一一列出:對于個別函數來說,如接收連接Accept()或者尋求連接 Coect()中,在執行時可能遇到系統繁忙或者通信信道被占用現象,造成數據不能及時返回:為了更好地支持非阻塞通信過程,在Winsock程序中.可以實現異步選擇函數的過程,利用某一函數注冊網絡事件,如果發現接收的緩沖區為滿員狀態,則可以發送數據:當發生請求連接事件之后,應用程序就可以接收相關信息,但是在使用應用程序Windows Socket S DLL之前.需要啟動函數WSAstartup();如果應用程序已經終止,就需要調用WSACleanup()函數,即可在DLL中完成注銷:如果當前運行的線程出現操作錯誤,需要調用WSAGetLastError() 數,當調用失敗之后,可以返回錯誤的代碼。
在TCP/IP協議以及Winsock編程接口中.二者實現對等通信程序,可采用當前較為普遍的Java語言實現,在Java中提供了較為強大的網絡支持體制.而API接口可以面向的類形式中,提供了不同層次的網絡支持體系,一種為通過Socket實現的客戶機/服務器通信模式;另一種為通過URL實現的網絡資源類庫。在Java程序中,通過面向對象的形式,在用戶中提供了不受平臺干擾的使用接口。在客戶機與服務器之間,各個通信組件具有相通性,一般都由“地址+端口號”的方法識別,每個地址最多保留65535個端口,不通過的服務器程序提供了不同的端口服務模式,如果客戶機需要運用該程序,就需要保持相關的端口號,一般保留0.1024作為網絡系統端口,1024以上的任意端口則由程序員自行挑選。
3 對等網絡的安全管理技術
在實行網絡通信時,涉及到鏈路加密、端對端加密等形式,其中端對端加密狀態下.被保護數據的中間節點往往不通過明文的方式出現;如果在傳輸層下端實行加密,那么網絡層的數據分組以密文形式為主,通信子網不能通過密文方式傳輸。因此,若想真正保障數據的安全性、可靠性,必須加強對傳輸層的控制與管理。