馮 毅
(天津商務職業(yè)學院,天津 300221)
網絡協議是較抽象的概念,在網絡的整個發(fā)展過程中屬于重要的體系集合。網絡協議的完全理解及掌握對于管理者而言是存在較大困難的。因此,構建實現一個完善的網絡協議管理仿真系統是必需的。網絡協議管理仿真系統可以借助于直觀的方法描述協議的內涵及工作流程,讓管理者通過對數據包的發(fā)送流程觀察協議在網絡中的運行機制,從而提升對網絡協議的掌握程度。本文就是重點研究如何通過網絡及計算機技術實現網絡協議管理系統軟件的仿真。
網絡驅動程序接口規(guī)范(NDIS, Network Driver Interface Specification)是標準的API,可以借助于不同的通信協議實現網絡的連接,涉及到:TCP/IP協議、IPX協議以及NetBIOS協議等。
NDIS可以將網絡驅動程序進行抽象化,維護驅動相關的狀態(tài)信息以及核心參數,可支持的三種驅動程序為:小端口驅動程序;中間驅動程序以及協議驅動程序。其中,協議驅動程序一般情況下是基于最底層來實現的,可以借助于協議的接口實現驅程序數據包的傳輸。
擴展標記語言(XML,Extensible Markup Language)是基于SGML發(fā)展而來的,屬于元標記類語言,能夠依據需求對標記語言進行針對性的定義。XML的最主要特點體現在:可以分開實現信息描述與處理;具備自我描述性;可以實現無限量的標記定義;可以擴展標記的可用范圍。
XML的語法格式為:〈標簽〉文本內容〈標簽〉。其中,文本內容就是需要進行描述的數據對象。不管標簽內的文本內容有多復雜,XML都可以實現元素的再次嵌套,從而形成等級化的結構特征。
NetBIOS屬于局域網內的應用程序編程接口,可以提供請求服務的命令集。NetBIOS最多可以含有16個阿爾法數字字母,可以根據網絡程序方法實現數據的傳輸通信,幾乎所有的局域網都是基于NetBIOS進行工作的。
NetBIOS會話服務是屬于面向連接的可靠性服務,涉及到雙重的信息服務。會話的建立必須是客戶端與服務器端雙方的有效合作。當一個終端程序處于listen狀態(tài)時,其他終端程序才能夠進行call命令的發(fā)送。當call命令獲得成功后,就可以得到一個會話id作為確認信息。而數據的操作就借助于send和receive命令完成的。當會話服務結束后,所有終端程序都會執(zhí)行掛起命令。
網絡協議管理系統是由硬件和軟件兩大部分所組成的,其拓撲結構如圖1所示。
圖1 網絡協議管理系統的拓撲結構示意圖
其中,主控設備是服務器,主要實現應用層的相關協議服務,涉及到:FTP協議、HTTP協議、SMTP協議以及POP3協議等;仿真/監(jiān)控系統是基于采集器實現的,主要是采集網絡數據,其屬于分流設備,能夠實現將仿真機的網絡數據按照上行以及下行的分類方法進行采集,最終將采集的數據發(fā)送到監(jiān)控機進行有效的分析和統計處理。另外,仿真機以及監(jiān)控機都是安裝有協議編輯器的服務器,可以負責網絡協議的發(fā)送、分析。
首先,協議編輯器可以為系統用戶提供編輯以及數據包發(fā)送的多種方式。用戶通過選擇一個幀序列,并進行任一單幀MAC層至應用層相關屬性的修改。同時,協議編輯器如果獲得的數據包存在錯誤,系統就會給出相關錯誤提示。當用戶在編輯的時候,系統就會根據用戶選擇的協議顯示其層次結構以及模型,從而讓用戶對協議的層次有直觀的了解。當用戶將選擇的幀進行發(fā)送時,發(fā)送過程中所涉及到的時間間隔可以進行自定義處理。
其次,協議編輯器還可以實現圖形化編輯協議腳本,在此基礎上,用戶能夠實現協議的擴展。此外,還提供觸發(fā)器的功能,當數據包與設置好的觸發(fā)條件相匹配時,就可以觸發(fā)預先設置好的響應事件。用戶也能夠根據觸發(fā)器所提供的向導模式,生成擴展規(guī)則。
當系統調用XML進行網絡協議解析時,也可以獲得一個標準的節(jié)點,且是Cnode類型的。必須注意的是,這個Cnode類型的節(jié)點是根節(jié)點,涉及到相關的結構以及屬性方面的信息,整個網絡協議解析的過程如圖2所示:
圖2 整個網絡協議解析過程的示意圖
其中,對協議某字段進行解析的過程如下描述:
1)對協議字段進行過程函數的調用(ApplyDataItem函數),并針對協議控制結構的關鍵字進行協議字段的狀態(tài)刷新處理。
2)狀態(tài)刷新完成后,就獲取該協議字段的下一子字段結構,再進行重復的解析處理。直至所有子字段都處理完成為止。
3)系統會生成一個樹狀結構的節(jié)點序列,同時也有一個相對應的列表結構。需要注意的是,最初的協議頭部結構是不變的。
針對本文研究的網絡協議管理系統,服務程序主要在管理用機上運行,負責發(fā)送、接收已經安裝網絡協議管理系統的終端主機名、物理地址以及IP地址等相關信息。各個管理終端機之間的通信方式是多播,數據單元為消息。針對通信的流程,消息主要有兩種,分別是:“請求式”消息與“回應式”消息。
當主機需要獲得信息時,首先通過多播模式進行“請求式”消息的發(fā)送。接收到“請求式”消息的主機都會發(fā)送一個“回應式”消息?!罢埱笫健毕⒅杏姓埱笳呖赡艿却臅r間值,如果“回應式”消息到達的間隔時間過久,已經超過了這個時間值,請求者是無法接收這個“回應式”消息的。其中涉及到的主要類結構如下描述:
Typedef struct // MAC地址及IP地址信息的定義
{
MAC_ADDRESS mac ; //MAC地址
Union {
IPV4_ADDRESS ipv4 ; } ; //IP地址
Dword Ipv4basedInx ;
} ADDTE_Info ;
Class ClientHtInfomation { //系統主機的相關信息
Public:
ClientHtInfomation (void) ;
~ ClientHtInfomation( void) ;
Public:
BOOL GIPv4Address ( OUTstd:.vetor 〈ADDTE_Info 〉 & o_vaddteinfo ) ;
// IP地址的獲取
BOOL GclientInf ( OUT Client_IN & o_clientin ) ;
BOOL GTCPInf( OUT PO_Inf & o_poInf ) ; // TCP連接狀態(tài)的獲取
BOOL G c l i e n t N m(O U T std::string & o_strclientNm) ; //本地主機名的獲取
} ;
網絡協議管理系統可以讓管理者真正掌握網絡協議的各個方法,為網絡管理提供了新的手段,其實現的主要特色體現在以下三個方面:
首先,本系統不同于傳統的管理系統,它能夠提供全新的管理模式,實現開放性與自主性的結合。其次,本系統具備良好的管理質量,為切實提升管理質量奠定基礎。最后,本系統可以讓管理者對于網絡協議的各個方面知識有個全面的掌握。
通過前期詳盡的需求分析,本系統充分考慮到了管理員的反饋信息,并體現人性化的軟件界面,讓管理者更容易接受。其中,網絡協議數據包編輯與分析功能的仿真實現如圖3所示。
為了充分體現本系統的優(yōu)勢,我們在仿真實現時增加了“自定義協議”功能。系統管理員可以通過“自定義協議”功能對協議進行改寫或者擴充。該功能可以加深管理員對于網絡協議的深層理解,也適合于那些想對網絡協議進行深入管理的用戶。
圖3 網絡協議數據包編輯與分析功能的仿真實現圖
圖4 觸發(fā)條件及事件的向導設置模式的仿真實現圖
此外,為了提升系統的易操作性,本系統又增加了觸發(fā)器功能。觸發(fā)器就是指在網絡協議工作時,對于一些數據包可以預先設置一些觸發(fā)條件,而這些觸發(fā)條件又分別對應著不同的響應事件。觸發(fā)器功能的增加,可以將一些復雜的網絡協議實驗簡單化。從本質上講,觸發(fā)器類似于一個簡單的模擬單元,可以模擬協議工作流程,讓管理者對于協議運作方式有了個更為直觀的理解。為了方便系統管理用戶的使用,本系統借助于向導模式實現觸發(fā)條件及事件的預先設置,其仿真實現的界面如圖4所示。
網絡協議管理仿真系統是計算機網絡管理的一個有效的輔助平臺,可以很好地解決網絡協議管理過程中涉及到的太過于抽象、不方便實踐等問題??傊?,通過該仿真系統的應用,可以使網絡協議知識更加直觀化,有助于用戶的管理操作領會。
本系統通過在某些網絡管理中心的試運行,取得了較好的效果??梢宰尮芾韱T對于網絡協議的內部結構以及工作流程有了一個更為全面、更為直觀的理解與掌握,可以借助于網絡協議的編輯與解析讓管理員更深入掌握網絡的內部原理,也有助于網絡協議的有效管理,得到了系統管理用戶的好評。
[1] 謝水珍,高光勇.網絡協議仿真管理系統的構建與設計[J].電腦知識與技術(學術交流).
[4] 蔣志平,謝波.一種純軟件模式的網絡協議仿真管理系統設計[J].中國科技信息,2010,(07).
[5] 董春玲.網絡協議管理中NS仿真實驗平臺的應用[J].山東行政學院.山東省經濟管理干部學院學報,2010,(05).