前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇icmp協(xié)議范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

關(guān)鍵詞:單片機(jī);I2C總線協(xié)議;EEPROM;SCL;SDA
中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2010)18-4888-02
The Communication Technology Based on I2C Bus Protocol between the Single Chip Processor and EEPROM
LI Jing1, WANG De-xing2, LI Xing-hui1
(1.College of Computer Engineering, Qingdao Technological University, Qingdao 266033, China; 2.Institute of Modern Communication Technology of Qingdao Technological University, Qingdao 266033, China)
Abstract: This article introduces the principle, working mode and mode of data transmission of I2C Bus, elaborated on the specific process of EEPROM read and write operations. And then specifically describe the communication between the STC MCU and EEPROM for an application example. Pointed out the problem which should pay attention to in application. Finally, proposed the future prospects for the I2C device development.
Key words: The single Chip Processor; I2C Bus Protocol; EEPROM; SCL; SDA
在現(xiàn)代電子系統(tǒng)中,一個系統(tǒng)中有眾多的IC需要進(jìn)行相互之間以及與外界的通信。元件與芯片之間短距離通信的物理線路往往會比較多,這樣不僅增加了硬件系統(tǒng)設(shè)計(jì)的難度,而且也不利于系統(tǒng)的穩(wěn)定性,為了提高硬件的效率和簡化電路的設(shè)計(jì),PHILIPS開發(fā)了一種用于內(nèi)部IC控制的、簡單的雙向兩線串行總線I2C,用于連接微控制器及其設(shè)備。
I2C總線自從出現(xiàn)以后,得到了廣泛的應(yīng)用,近年來,各公司設(shè)計(jì)制造了很多種的支持I2C總線的器件,而且I2C總線的規(guī)范也得到了擴(kuò)展。
1 I2C總線的工作原理、工作方式、數(shù)據(jù)傳送格式
I2C總線采用二進(jìn)制傳輸,一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL,所有的I2C器件都連接在同名端的SDA和SCL上,每一個器件都有唯一的地址。
I2C總線支持多主和主從兩種工作方式。
多主方式,即總線上可以有多個主機(jī)的工作方式。I2C總線需通過硬件和軟件仲裁主機(jī)對總線的控制權(quán)。在主從工作方式中,系統(tǒng)中只有一個主機(jī),總線上的其它器件都是具有I2C總線接口的從器件,總線上只有主機(jī)對I2C總線從器件的讀寫訪問,沒有總線的競爭等問題。
I2C總線上進(jìn)行一次數(shù)據(jù)傳輸?shù)耐ㄐ鸥袷饺缦?
1)起始信號
當(dāng)SCL為高電平,數(shù)據(jù)線SDA出現(xiàn)由高到低的電平變化是,啟動I2C總線。
2)尋址信號
主機(jī)發(fā)送了起始信號之后,再發(fā)尋址信號,以選擇從器件。器件地址有7位和10位兩種,這里主要介紹7位地址尋址方式。尋址信號由一個字節(jié)構(gòu)成,其中高7位為地址位,最低位為方向位,用來表明主機(jī)與從器件的數(shù)據(jù)傳送方向。方向位為“0”時,表明是主機(jī)對從器件的寫操作,方向位為“1”時,表明是主機(jī)對從器件的讀操作。
3)數(shù)據(jù)傳輸
主機(jī)發(fā)送尋址信號并得到從器件應(yīng)答后,就可進(jìn)行數(shù)據(jù)傳輸,每次一個字節(jié),但每次傳輸都必須在得到應(yīng)答信號后再傳送下一字節(jié)。
4)應(yīng)答信號
I2C總線協(xié)議規(guī)定,在數(shù)據(jù)傳輸時,包括地址及命令字,每傳送一個字節(jié)數(shù)據(jù)后,都要有一個應(yīng)答信號以確定數(shù)據(jù)傳送的是否正確。I2C總線上第9個時鐘脈沖對應(yīng)于應(yīng)答位。相應(yīng)數(shù)據(jù)線上低電平時為“應(yīng)答”信號,高電平時為“非應(yīng)答”信號。當(dāng)主機(jī)為接收設(shè)備時,主機(jī)對最后一個字節(jié)不應(yīng)答,以向發(fā)送設(shè)備表示數(shù)據(jù)傳輸結(jié)束。
5)停止信號
當(dāng)全部數(shù)據(jù)傳送完后,主機(jī)發(fā)停止信號,即在SCL位高電平期間,SDA上產(chǎn)生一個上升沿信號。
2 EEPROM芯片F(xiàn)M24C32概況
FM24C32是美國仙童公司推出的具有I2C串行接口的EEPROM,它提供了32kbit存儲容量,它有很高的可靠性,數(shù)據(jù)保存時間長達(dá)40年。
FM24C32芯片的基本操作包括寫操作和讀操作,寫操作是主機(jī)向FM24C32寫數(shù)據(jù),可有兩種方式:寫字節(jié)和寫頁面。
在一次寫字節(jié)操作中,主機(jī)向FM24C32寫入啟動信號和芯片尋址信號后,將會收到FM24C32給出的低電平應(yīng)答信號,然后繼續(xù)向FM24C32寫入1字節(jié)的EEPROM內(nèi)部地址尋址字節(jié)(Slave Address),內(nèi)部地址尋址字節(jié)也稱器件的控制字節(jié),其中高四位作為器件類型識別符(不同類型的芯片定義不同,EEPROM一般為1010),接著三位為片選位,最后一位是讀寫位,當(dāng)讀寫位為“1”時為讀操作,為“0”時為寫操作。在收到FM24C32的低電平應(yīng)答信號后,主機(jī)繼續(xù)向FM24C32寫入兩個字節(jié)的EEPROM內(nèi)部地址尋址字節(jié),收到FM24C32的應(yīng)答信號后,主機(jī)向FM24C32寫入數(shù)據(jù),數(shù)據(jù)傳送完畢后主機(jī)發(fā)結(jié)束信號終止此次寫字節(jié)操作,FM24C32收到結(jié)束信號后,便進(jìn)入了內(nèi)部寫周期,在此期間FM24C32對外界輸入不作響應(yīng),如圖1所示。
寫頁面的過程和寫字節(jié)十分相似,也是由啟動信號、芯片尋址字節(jié)、一個字節(jié)的內(nèi)部地址尋址字節(jié)、數(shù)據(jù)字節(jié)、結(jié)束信號和FM24C32的應(yīng)答信號組成,所不同的是寫頁面的一個字節(jié)的內(nèi)部地址尋址字節(jié)是起始地址,在寫完1個字節(jié)的數(shù)據(jù)后還能繼續(xù)向FM24C32中寫入多個字節(jié),每寫入一個字節(jié)FM24C32產(chǎn)生一個應(yīng)答信號,內(nèi)部地址指針累加1。
讀操作:用于主機(jī)從FM24C32讀取數(shù)據(jù),讀操作的過程與寫操作類似,只是芯片尋址字節(jié)的R/ 位不同。讀操作有三種方式:當(dāng)前地址讀、任意地址讀、連續(xù)讀。在讀當(dāng)前地址內(nèi)的數(shù)據(jù)時,FM24C32內(nèi)部的地址指針會指向最后一次讀寫操作的地址,讀命令就是從此地址內(nèi)讀出數(shù)據(jù),并將內(nèi)部的地址指針累加1,向FM24C32寫入啟動信號和芯片尋址字節(jié)后,主機(jī)將收到FM24C32給出的應(yīng)答信號和一個字節(jié)的數(shù)據(jù),收到數(shù)據(jù)后主機(jī)向FM24C32寫入結(jié)束信號。具體過程如圖2所示。
任意地址讀用于讀取FM24C32內(nèi)的任一地址的數(shù)據(jù),在讀之前,主機(jī)必須先進(jìn)行一次“空寫”操作,即給出起始信號和芯片尋址字節(jié),并給出所讀單元的字地址。收到應(yīng)答信號后,再用讀當(dāng)前地址內(nèi)的數(shù)據(jù)方式從中讀出數(shù)據(jù),連續(xù)讀可由當(dāng)前地址讀或任意地址讀啟動,讀第一個字節(jié)的操作與前兩種方式相同,不同的是此時主機(jī)會做應(yīng)答,表示還要接收數(shù)據(jù),FM24C32每收到一個應(yīng)答就會輸出一個數(shù)據(jù),直到主機(jī)不再應(yīng)答或產(chǎn)生停止條件為止。
3 STC單片機(jī)通用I/O端口作為I2C總線接口
選用STC11F16XE單片機(jī)的P2^1作為SCL串行時鐘線,P2^2作為SDA串行數(shù)據(jù)線,兩者都需要上拉電阻接至正電源,以保證在總線空閑期間內(nèi)SCL、SDA均為高電平。A0~A2為片選地址引腳,當(dāng)有多個EEPROM時,通過芯片地址來選擇當(dāng)前I2C總線上工作的芯片,因此這三個引腳必須接Vss或Vcc來確保在多EEPROM下對每個EEPROM的選擇。WP為寫保護(hù)引腳,該引腳接Vss可以對FM24C32芯片正常讀寫。
4 結(jié)束語
由于I2C總線硬件結(jié)構(gòu)簡單,在智能控制、單芯片控制、LCD驅(qū)動器、遠(yuǎn)程I/O控制,尤其是在日益流行的視聽系統(tǒng)、多媒體系統(tǒng)、家庭影院得到了廣泛應(yīng)用,已經(jīng)成為了一種工業(yè)標(biāo)準(zhǔn),相信隨著數(shù)字化時代的飛速發(fā)展,I2C器件一定會有更廣闊的發(fā)展前景,一定會得到更好的應(yīng)用。
參考文獻(xiàn):
[1] 戴佳,戴衛(wèi)恒.51單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2006(4):399-407.
[2] 蘇建志,王冰峰.I2C總線及其應(yīng)用[J].現(xiàn)代電子技術(shù),2004(22).
[3] 張志偉,張靈,王愛樂.I2C總線原理及其通信的初步實(shí)現(xiàn)[J].機(jī)械管理開發(fā),2004,4(2).
[4] 趙輝,董德存.I2C總線技術(shù)及其應(yīng)用實(shí)例[J].微型電腦應(yīng)用,2005(4).
Windows操作系統(tǒng)誰都知道比較危險,原因就是漏洞實(shí)在很多。單靠打補(bǔ)丁就已經(jīng)足夠煩惱了,要是萬一被黑客盯上或者病毒破壞那后果就更嚴(yán)重了。往往利用系統(tǒng)自身的缺陷來進(jìn)行各種入侵向來就是黑客常得手的重要途徑。隨著寬帶互聯(lián)網(wǎng)的普及,家家戶戶使用網(wǎng)絡(luò)已經(jīng)漸漸增多。由此帶來的安全問題也威脅著計(jì)算機(jī)的安全。懂得網(wǎng)絡(luò)的人都知道我們常用Ping命令來檢查網(wǎng)絡(luò)是否暢通,可是這個Ping也能給Windows系統(tǒng)帶來嚴(yán)重的后果,那就是Ping入侵即是ICMP(Internet Control and Message Protocal是因特網(wǎng)控制消息錯誤報(bào)文協(xié)議)入侵,原理是通過Ping大量的數(shù)據(jù)包使得計(jì)算機(jī)的CPU使用率居高不下而崩潰,通常在一個時段內(nèi)連續(xù)向計(jì)算機(jī)發(fā)出大量請求而導(dǎo)致CPU處理不及而死機(jī)。
二、防范措施
步驟1:在電腦桌面,右鍵點(diǎn)擊“網(wǎng)上鄰居屬性本地連接屬性Internet協(xié)議(TCP/IP)屬性高級選項(xiàng)-TCP/IP篩選-屬性”。
步驟2:你看到一個窗口是關(guān)于“TCP/IP篩選”的,先點(diǎn)擊選中“啟用TCP/IP篩選(所有適配器)”。然后分別在“TCP端口、UDP端口和IP協(xié)議”的添加框上,點(diǎn)擊“只允許”,再按添加按鈕,然后在跳出的對話框輸入端口,通常我們用來上網(wǎng)的端口是80、8080,而郵件服務(wù)器的端口是25、110,F(xiàn)TP的端口是20、21,同樣地進(jìn)行UDP端口和IP協(xié)議的添加。
步驟3:打開“控制面板管理工具本地安全策略”,然后右擊“IP安全策略,在本地機(jī)器”選“管理IP篩選器和IP篩選器操作”,在管理IP篩選器和IP篩選器操作列表中添加一個新的過濾規(guī)則,名稱輸入“防止ICMP攻擊”,然后按添加,在源地址選任何IP地址,目標(biāo)地址選我的IP地址,協(xié)議類型為ICMP,設(shè)置完畢。
步驟4:在“管理篩選器操作”中,取消使用“添加向?qū)А保砑樱诔R?guī)中輸入名字“Deny的操作”,安全措施為“阻止”。這樣我們就有了一個關(guān)注所有進(jìn)入ICMP報(bào)文的過濾策略和丟棄所有報(bào)文的過濾操作了。
步驟5:點(diǎn)擊“IP安全策略,在本地機(jī)器”,選擇“創(chuàng)建IP安全策略下一步輸入名稱為ICMP過濾器”,通過增加過濾規(guī)則向?qū)В褎倓偠x的“防止ICMP攻擊”過濾策略指定給ICMP過濾器,然后選擇剛剛定義的“Deny的操作”,右擊“防止ICMP攻擊”并啟用。
引言
Internet現(xiàn)已成為社會重要的信息流通渠道。如果嵌入式系統(tǒng)能夠連接到Internet上面,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個地方。可以預(yù)言,嵌入式設(shè)備與Internet的結(jié)合代表著嵌入式系統(tǒng)和網(wǎng)絡(luò)技術(shù)的真正未來。隨著IPv6的應(yīng)用,設(shè)備都可能獲得一個全球唯一的IP地址,通過IP地址和互聯(lián)網(wǎng)相連成為一個網(wǎng)絡(luò)設(shè)備。但是傳統(tǒng)的TCP/IP協(xié)議在實(shí)現(xiàn)實(shí)時性方面做得不夠好,它把大量的精力花在保證數(shù)據(jù)傳送的可靠性以及數(shù)據(jù)流量的控制上。而在實(shí)時性要求比較高的嵌入式領(lǐng)域中,傳統(tǒng)的TCP/IP不能滿足其實(shí)時要求。另外,傳統(tǒng)TCP/IP的實(shí)現(xiàn)過于復(fù)雜,需占用大量系統(tǒng)資源,而嵌入式應(yīng)用的系統(tǒng)資源往往都很有限。因此,需要把傳統(tǒng)TCP/IP在不違背協(xié)議標(biāo)準(zhǔn)的前提下加以改進(jìn)實(shí)現(xiàn),使其實(shí)現(xiàn)性得到提高,占用的存儲空間盡可能少,以滿足嵌入式應(yīng)用的要求。
在大型企業(yè)自動化系統(tǒng)中,上層企業(yè)管理層和生產(chǎn)監(jiān)控層一般采用的都是以太網(wǎng)和PC機(jī),而在下層車間現(xiàn)場都是采用現(xiàn)場總線和單片機(jī)測控設(shè)備。上下兩層的溝通,通常采用工業(yè)控制機(jī)加以太網(wǎng)卡,再加上PC機(jī)插槽上的接口卡和并行打印口EPP接口卡來實(shí)現(xiàn)。這種連接方式成本高,開發(fā)周期長。針對這些情況,本文提出了一種單獨(dú)的嵌入式CAN-以太網(wǎng)網(wǎng)關(guān)互連系統(tǒng)的設(shè)計(jì)方案,成功地實(shí)現(xiàn)以太網(wǎng)和現(xiàn)有的CAN總線網(wǎng)的直接數(shù)據(jù)傳輸。
1 異構(gòu)網(wǎng)絡(luò)互聯(lián)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
CAN總線是一個設(shè)備互連總線型控制網(wǎng)絡(luò)。在CAN總線上可以掛接多達(dá)110個設(shè)備節(jié)點(diǎn),各設(shè)備間可以自主相互通信,實(shí)現(xiàn)復(fù)雜網(wǎng)絡(luò)控制系統(tǒng)。但設(shè)備信息層無法直接到達(dá)信息管理層,要想設(shè)備信息進(jìn)入信息管理層就要通過一種數(shù)據(jù)網(wǎng)關(guān)。
這里設(shè)計(jì)了一個SX52網(wǎng)關(guān),用于CAN總線與以太網(wǎng)的互連。圖1所示的系統(tǒng)總體結(jié)構(gòu)分為三部分:現(xiàn)場測控網(wǎng)絡(luò)(CAN網(wǎng)絡(luò))、嵌入式透明SX52網(wǎng)關(guān)和以太網(wǎng)信息管理終端(如監(jiān)控平臺和網(wǎng)絡(luò)數(shù)據(jù)庫等)。以太網(wǎng)信息管理終端與CAN總線上的CAN節(jié)點(diǎn)通過Ethernet、SX52網(wǎng)關(guān)、CAN總線相互通信,其中SX52網(wǎng)關(guān)起核心異構(gòu)網(wǎng)絡(luò)的互連作用。
協(xié)議轉(zhuǎn)換是異構(gòu)網(wǎng)絡(luò)互連的技術(shù)關(guān)鍵和難點(diǎn)。協(xié)議轉(zhuǎn)換一般遙相呼應(yīng)采用分層轉(zhuǎn)換的方法,自低向上逐層進(jìn)行。目前互連大都是在網(wǎng)絡(luò)層或網(wǎng)絡(luò)層展開的,因而必須對互連層以下各層協(xié)議逐層向上轉(zhuǎn)換。這種轉(zhuǎn)換方法的依據(jù)是協(xié)議分層的基本原理,即低層支持高層,高層調(diào)用低層,低層斷開連接后,高層連接也隨之?dāng)嚅_,但高層斷開連接卻不會影響低層。從網(wǎng)絡(luò)的分層結(jié)構(gòu)上來看我們設(shè)計(jì)的互連系統(tǒng)具有如圖2所示的分層結(jié)構(gòu)。以太網(wǎng)上運(yùn)行TCP/IP協(xié)議,它具有應(yīng)用層、傳輸層、網(wǎng)絡(luò)層以太網(wǎng)數(shù)據(jù)鏈路層和物理層;CAN總線具有應(yīng)用層、數(shù)據(jù)鏈路層和物理層,其中應(yīng)用層由用戶自己定義,數(shù)據(jù)鏈路層和物理層由CAN協(xié)議所定義;SX52數(shù)據(jù)網(wǎng)關(guān)具有物理層、數(shù)據(jù)鏈路層和應(yīng)用層,其應(yīng)用層也就是Ethernet與CAN的信息數(shù)據(jù)交換層,SX52微控制器在此層相互解釋并轉(zhuǎn)發(fā)這兩種不同協(xié)議的數(shù)據(jù)。
在本設(shè)計(jì)中,SX52網(wǎng)關(guān)被設(shè)計(jì)成了一個透明數(shù)據(jù)網(wǎng)關(guān)。也就是在以太網(wǎng)應(yīng)用層構(gòu)建和解析完整的CAN協(xié)議數(shù)據(jù)包。CAN協(xié)議數(shù)據(jù)包作為TCP/IP網(wǎng)絡(luò)的應(yīng)用層的數(shù)據(jù)進(jìn)行傳輸。對通信數(shù)據(jù)的具體實(shí)際意義不做任何解釋。
透明式網(wǎng)關(guān)由通信處理器、CAN總線控制器和以太網(wǎng)控制器三個部分組成。其中SX52單片機(jī)為核心處理器,實(shí)現(xiàn)CAN控制網(wǎng)絡(luò)與以太網(wǎng)之間的協(xié)議轉(zhuǎn)換。以太網(wǎng)信息管理 層的控制指令發(fā)送到嵌入式透明SX52網(wǎng)關(guān),經(jīng)過它將TCP/IP協(xié)議包數(shù)據(jù)轉(zhuǎn)換為CAN協(xié)議形式發(fā)送至CAN控制網(wǎng)絡(luò)中的指定設(shè)備節(jié)點(diǎn),完成信息管理層對現(xiàn)場設(shè)備層的控制。同樣地,當(dāng)CAN網(wǎng)絡(luò)上的設(shè)備數(shù)據(jù)(如定時采樣數(shù)據(jù)或報(bào)警信息)要傳輸?shù)叫畔⒐芾韺訒r,可將數(shù)據(jù)發(fā)送到嵌入式透明SX52網(wǎng)關(guān),再通過網(wǎng)關(guān)協(xié)議轉(zhuǎn)換程序?qū)AN協(xié)議數(shù)據(jù)封裝成TCP/IP協(xié)議的以太網(wǎng)數(shù)據(jù)幀發(fā)送至以太網(wǎng)上的監(jiān)控計(jì)算機(jī)。
2 SX52中TCP/IP協(xié)議棧的設(shè)計(jì)
按照層次結(jié)構(gòu)思想,對計(jì)算機(jī)網(wǎng)絡(luò)模塊化的研究結(jié)果是,形成了一組從上到下單向依賴關(guān)系的協(xié)議棧(protocol stack),也叫協(xié)議族。在標(biāo)準(zhǔn)的TCP/IP協(xié)議族中有很多協(xié)議。這里SX52中TCP/IP協(xié)議棧層次結(jié)構(gòu)如圖3所示。
2.1 SX52 ARP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
地址解析協(xié)議ARP(Address Resolution Protocol)可以實(shí)現(xiàn)邏輯地址到物理地址的動態(tài)映射。它提供了一種使以太網(wǎng)絡(luò)節(jié)點(diǎn)可以傳輸一個IP數(shù)據(jù)包到目的地址的映射機(jī)制。
在SX52中,ARP協(xié)議是通過一個“IP地址對應(yīng)以太網(wǎng)地址”的單登記實(shí)現(xiàn)的。當(dāng)遠(yuǎn)程主機(jī)需要知道它的物理地址時,遠(yuǎn)程主機(jī)會向它發(fā)送ARP請求。這時它就會響應(yīng)這個遠(yuǎn)程主機(jī)的請求,告訴對方自己的物理地址。當(dāng)然,當(dāng)應(yīng)用層需要傳輸IP數(shù)據(jù)包時,SX52 ARP協(xié)議也可以請求遠(yuǎn)程目的物理地址。
要傳輸?shù)腎nternet數(shù)據(jù)包在以太網(wǎng)控制器的發(fā)送緩沖區(qū)中被構(gòu)建,它使用最近接收到的數(shù)據(jù)包的目的以太網(wǎng)地址作為發(fā)送數(shù)據(jù)包的目的地址。當(dāng)然,這可能不是正確的以太網(wǎng)地址,因此,在實(shí)際發(fā)送數(shù)據(jù)包之前,ARP協(xié)議將檢查發(fā)送數(shù)據(jù)包中的IP地址是否存在于ARP核中。如果發(fā)送數(shù)據(jù)中包中的IP地址在這個核中,在以太網(wǎng)發(fā)送緩沖區(qū)中的數(shù)據(jù)包將使用ARP核中的以太網(wǎng)地址更新;如果不在,ARP協(xié)議將發(fā)送一個ARP請求包,然后等待一個應(yīng)答。一旦這個ARP應(yīng)答接收到,這個ARP核將使用剛接收到的目標(biāo)以太網(wǎng)地址更新,接著,等待發(fā)送的數(shù)據(jù)包也將使用這個以太網(wǎng)地址更新,然后被發(fā)送出去。如果發(fā)送的ARP請求包沒有應(yīng)答,導(dǎo)致ARP定時器超時,這時等待發(fā)送的數(shù)據(jù)包將被廢棄,正常的協(xié)議棧繼續(xù)運(yùn)行。使用的變量有:ARP核中的IP地址{hostlIP3,hostlIP2,hostlIP1,host1IP0};ARP核中的以太網(wǎng)物理地址{host1Eth0,host1Eth1,host1Eth2,host1Eth3,host1Eth4,host1Eth5};ARP協(xié)議的定時器{arpTimerMSB,arpTimerLSB}等。使用涉及的函數(shù)有:ARPInit(),ARPCheckCache(),ARPSendResponse(),ARPUpdateEthAddr(),ARPCheckIfIs(),ARPCompare4(),ARPSendStPacket(),ARPSendCommon(),ARPSendRequest()。
2.2 SX52 IP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UDP、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報(bào)格式傳輸。IP提供不可靠、無連接的數(shù)據(jù)報(bào)傳送服務(wù)。本設(shè)計(jì)中的IP協(xié)議是針對特殊的應(yīng)用環(huán)境下的合理簡化。CAN總線的控制網(wǎng)絡(luò)是一種短幀(每個數(shù)據(jù)幀為8字節(jié))的實(shí)時網(wǎng)絡(luò),所以,IP數(shù)據(jù)包無須分片(MF=DF=0),同時,設(shè)置IP為服務(wù)類型為一般類型,其頭長為20字節(jié),壽命TTL設(shè)置為64。使用的變量有:目的IP地址{remoteIP3,remoteIP2,remoteIP1,remoteIP0};源IP地址{myIP3,myIP2,myIP1,myIP0};IP校驗(yàn)和{ipCheckSumMSB,ipCheckSumLSB};IP數(shù)據(jù)包長度{ipLengthMSB,}ipLengthLSB};上層使用的協(xié)議ipProtocol,IP標(biāo)識{ipIdentMSB,ipIdentLSB}。使用涉及的函數(shù)有:TCPIPInit(),CheckIPDatagram(),CheckIPDestAddr(),IPStartPktOut()等。
2.3 SX52 ICMP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
為了讓互聯(lián)網(wǎng)中的路由器報(bào)告或提供有關(guān)意外情況的信息,在TCP/IP協(xié)議系列中加入了一個專門用于發(fā)送差錯報(bào)文的協(xié)議——互聯(lián)網(wǎng)控制報(bào)文協(xié)議ICMP(Internet Control Message Protocol)。ICMP是IP的一部分在每個IP實(shí)現(xiàn)中都必須用到它。像其它所有的通信業(yè)務(wù)一樣,ICMP報(bào)文是放在一個IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分中傳送的。ICMP報(bào)文的最終目的不是應(yīng)用程序或目的機(jī)器上的用戶,而是該機(jī)上處理它的Internet協(xié)議軟件模塊。也就是說:Internet控制報(bào)文協(xié)議允許路由器向其它路由器或主機(jī)發(fā)送差錯或控制報(bào)文;ICMP在兩臺主機(jī)的Internet協(xié)議軟件之間提供通信。
每個ICMP報(bào)文都以相同的3個字節(jié)開始:1個8位整數(shù)的報(bào)文類型(TYPE)字段用來識別報(bào)文,1個8位代碼(CODE)字段提供有關(guān)報(bào)文類型的進(jìn)一步信息,1個16位校驗(yàn)和字段。此外,ICMP報(bào)文還總是包括產(chǎn)生問題的數(shù)據(jù)報(bào)首部及其開頭的64位數(shù)據(jù)。
ICMP使用IP來傳送每一個差錯報(bào)文。當(dāng)路由器有一個ICMP報(bào)文要傳遞時,它會創(chuàng)建一個IP數(shù)據(jù)報(bào)并將ICMP報(bào)文封裝其中,也就是說,ICMP報(bào)文被置于IP數(shù)據(jù)報(bào)的數(shù)據(jù)區(qū)中,然后這一數(shù)據(jù)報(bào)像通常一樣被轉(zhuǎn)發(fā)。即整個數(shù)據(jù)報(bào)被封裝進(jìn)幀中進(jìn)行傳遞。
每一個ICMP報(bào)文的產(chǎn)生總是對應(yīng)于一個數(shù)據(jù)報(bào)。路由器將一個ICMP報(bào)文將回給產(chǎn)生數(shù)據(jù)報(bào)的主機(jī)。在這里,只實(shí)現(xiàn)了ICMP的回應(yīng)請求/應(yīng)答服務(wù),主要用于PING程序測試通信鏈路的暢通性,即只處理接收的報(bào)文類型為0x08的ICMP幀,發(fā)送的ICMP報(bào)文類型為0x00。它沒有自己專有的變量,涉及的函數(shù)也只有ICMPGenCheckSum()和ICMPProcPktIn()。
2.4 SX52 UDP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
UDP是一個簡單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議:進(jìn)程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報(bào),并組裝成一份待發(fā)送的IP數(shù)據(jù)報(bào)。UDP不提供可靠性,它把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達(dá)目的地。由于缺乏可靠性,我們似乎覺得要避免使用UDP,而使用一種可靠的協(xié)議,如TCP。但分析發(fā)現(xiàn),UDP在我們的互連設(shè)計(jì)中有很多的優(yōu)點(diǎn):其一,UDP協(xié)議傳輸效率高,無須TCP通信前的連接開銷;第二,UDP協(xié)議簡單,無須復(fù)雜的狀態(tài)機(jī)傳輸機(jī)制,可以很好地避免SX52網(wǎng)關(guān)死機(jī)復(fù)位后由于狀態(tài)不一致而無法正常通信,且上層協(xié)議又很難發(fā)現(xiàn)的危險。因此,可以使用UDP來實(shí)現(xiàn)通信(避免TCP連接的開銷),而讓許多需要的特征(如動態(tài)超和重傳、擁塞避免、查錯等)放置在應(yīng)用層設(shè)計(jì)和實(shí)現(xiàn)。使用的變量有:
UDP接收數(shù)據(jù)報(bào)的源端口{udpRxSrcPortMSB,udpRxSrcPortLSB};
UDP接收數(shù)據(jù)報(bào)的目的端口{udpRxDestPortMSB,udpRxDestPortLSB};
UDP接收數(shù)據(jù)報(bào)的長度{udpRxDataLenMSB,udpRxDataLenLSB};
UDP發(fā)送數(shù)據(jù)報(bào)的源端口{udpTxSrcPortMSB,udpTxSrcPortLSB};
UDP發(fā)送數(shù)據(jù)報(bào)的目的端口{udpTxDestPortMSB,udpTxDestPortLSB};
UDP發(fā)送數(shù)據(jù)報(bào)的長度{udpTxDataLenMSB,udpTxDataLenLSB}。
設(shè)計(jì)的相關(guān)函數(shù)有:UDPAppInit(),DPGenCheckSum(),UDPStartPktOut(),UDPProcPktIn(),UDPEndPktOut(),UDPAppProcPktIn(),UDPAppProcPktOut()等。
2.5 SX52 TCP協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
傳輸控制協(xié)議TCP(Transmission Control Protocol)是傳輸層的重要協(xié)議。它提供一個完全可靠的(沒有數(shù)據(jù)重復(fù)或丟失)、面向連接的、全雙工的流傳輸服務(wù)。本設(shè)計(jì)中,對復(fù)雜的TCP協(xié)議做了合理的簡化:①因?yàn)镃AN網(wǎng)絡(luò)傳輸速度較快,數(shù)據(jù)量小且10Mbps的以太網(wǎng)傳輸一般不會發(fā)生阻塞,以太網(wǎng)上的主機(jī)也會有足夠的能力及時處理通信數(shù)據(jù),所以可以固定超時與重傳的時間為5s。②RTL8019AS上有兩個1500字節(jié)的接收緩沖區(qū),且CAN網(wǎng)絡(luò)為控制網(wǎng),信息量小,所以可以固定接收窗口為1400字節(jié)。③因?yàn)槲覀儾捎靡话愕腡CP服務(wù)就可以滿足應(yīng)用,所以可以忽略緊急指針和選項(xiàng)及填充字段的值。通過上述三點(diǎn)簡化,實(shí)際上大大簡化了TCP協(xié)議的實(shí)現(xiàn)。因?yàn)門CP的超時與重傳時間的確定和窗口大小的控制有著較復(fù)雜的算法和實(shí)現(xiàn)機(jī)制。
它的實(shí)現(xiàn)變量有:tcpState,{tcpTmpSeq4,tcpTmpSeq3,tcpTmpSeq2,tcpTmpSeq1},{tcpTmpAck4,tcpTmpAck3,tcpTmpAck2,tcpTmpAck1},{tcpUnAckMSB,tcpUnAckLSB},tcpRxFlags,{tcpCheckSumMSB,tcpCheckSumLSB},{tcpLengthMSB,tcpLengthLSB},{tcpTmpMSB,TcpTmpLSB},{tcbLocalPortMSB,tcbLocalPortLSB},{tcbRemotePortMSB,tcbRemotePortLSB},{tcbSndUna4,tcbSndUna3,tcbSndUna2,tcbSndUnal},{tcbRcvNxt4,tcbRcvNxt3,tcbRcvNxt2,tcbRcvNxt1},tcbOffset,tcbFlags,{tcbSendWinMSB,tcbSendWinLSB},{tcpTimerMSB,tcpTimerLSB}等。
相關(guān)函數(shù)有:TCPIPInit(),TCPRxHeader(),TCPProcPktIn(),TCPTransmit(),TCPReTransmit(),TCPAppPassiveOpen(),TCPAppActiveOpen(),CPAppClose(),TCPAddRcvNxt(),TCPIncRcvNxt(),TCPIncSndUna(),TCPCopySeqToNxt(),TCPAckUpdate(),TCPUpdateSeq(),TCPChkSeq(),TCPRestorePrev(),TCPCmpNxtSeq(),TCPSendEmptyPkt(),TCPSendReset(),TCPSendSyn(),TCPSendISN(),TCPSendSynAck()TCPSendAck(),TCPSendFin(),TCPCheckSuminit(),CPCheckSumAcc(),TCPCheckSumAddHdr(),CPTxByte(),TCPStartPktOut(),TCPAppInit(),TCPAPPTxBytes(),TCPAPPTxData(),TCPAPPTxDone(),TCPAppRxBytes(),TCPAppRxData(),等。
2.6 TCP和IP傳輸層協(xié)議的選擇
把TCP/IP協(xié)議應(yīng)用到控制網(wǎng)絡(luò)中如何選擇傳輸層協(xié)議類型很關(guān)鍵。如果要與現(xiàn)有的應(yīng)用程序通信,必須使用與其相同的協(xié)議類型。在實(shí)際應(yīng)用時,從可靠性來說,TCP提供了可靠的數(shù)據(jù)連接,UDP和直接訪問IP的一些協(xié)議是不可靠的,數(shù)據(jù)報(bào)可能會丟失、損壞或重復(fù);從性能上講,UDP的性能最快,可靠性、流量控制重組包和連接維護(hù)等附加開銷降低了TCP的性能。對于速度比較慢的系統(tǒng)來說,如溫度、濕度傳感器,選擇TCP或UDP都無所謂,對于不太重要的傳感器選用UDP就可以了;對于可靠性要求較高的傳感器,應(yīng)該選用TCP協(xié)議;對于實(shí)時性要求高的網(wǎng)絡(luò)設(shè)備,如網(wǎng)絡(luò)會議系統(tǒng)、IP音響、實(shí)時播放的電視等設(shè)備,數(shù)據(jù)傳輸率較高,應(yīng)該選用UDP協(xié)議;有些有嚴(yán)格要求的同步系統(tǒng)應(yīng)采用UDP;數(shù)據(jù)監(jiān)控系統(tǒng)傳輸?shù)目煽啃砸筝^高,應(yīng)采用TCP;Web和Email也應(yīng)采用了TCP。總之,要根據(jù)實(shí)際情況來確定選用何種協(xié)議。
[論文摘要]主要論述網(wǎng)管系統(tǒng)中一個重要的功能網(wǎng)絡(luò)拓?fù)涞淖詣影l(fā)現(xiàn)。闡述相關(guān)的理論知識,并具體討論基于SNMP和基于ICMP的拓?fù)浒l(fā)現(xiàn),最后對算法所適用范圍加以說明。雖然這種方法能夠較好的發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)洌撬枰加么罅康膸捹Y源。
隨著計(jì)算機(jī)網(wǎng)絡(luò)的普及,人們對計(jì)算機(jī)網(wǎng)絡(luò)的依賴性大大加強(qiáng)了。在現(xiàn)有的技術(shù)條件下,人們希望有一個更加穩(wěn)定可靠的網(wǎng)絡(luò)環(huán)境。計(jì)算機(jī)網(wǎng)絡(luò)管理系統(tǒng)就是應(yīng)這樣的需求而產(chǎn)生的。它對網(wǎng)絡(luò)上的各種設(shè)備進(jìn)行管理,通過監(jiān)視和控制這些設(shè)備。及時地向管理人員報(bào)告網(wǎng)絡(luò)狀態(tài),并且簡化網(wǎng)絡(luò)故障的處理,減少故障造成的損失,提高網(wǎng)絡(luò)的服務(wù)質(zhì)量和效率。在我國,人們開始認(rèn)識到網(wǎng)絡(luò)管理的重要性。
一、網(wǎng)絡(luò)管理中傳統(tǒng)的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法
網(wǎng)絡(luò)拓?fù)涞陌l(fā)現(xiàn),實(shí)際上就是根據(jù)網(wǎng)絡(luò)上節(jié)點(diǎn)連接情況,構(gòu)造出來一個反映這種連接關(guān)系的圖。網(wǎng)絡(luò)節(jié)點(diǎn)可以是網(wǎng)關(guān),也可以是子網(wǎng):網(wǎng)關(guān)節(jié)點(diǎn)是與子網(wǎng)和其它網(wǎng)關(guān)節(jié)點(diǎn)相鄰的節(jié)點(diǎn);子網(wǎng)節(jié)點(diǎn)可被認(rèn)為只與網(wǎng)關(guān)節(jié)點(diǎn)相鄰,至少與它的缺省網(wǎng)關(guān)相鄰。各子網(wǎng)通過各目的網(wǎng)關(guān)與其他子網(wǎng)通信,這些子網(wǎng)可以是一個局域網(wǎng),也可以是某個局域網(wǎng)的一部分,它們都連接到網(wǎng)關(guān)的一個端口上。網(wǎng)關(guān)的端口可以連接子網(wǎng),也可以同其他路由器相連。
主拓?fù)渲傅氖欠从吵鲫P(guān)鍵設(shè)備包括路由器,它們的接口和子網(wǎng)的連接關(guān)系,即路由器一路由器、路由器一子網(wǎng)、接口的關(guān)系。這些信息需要對網(wǎng)絡(luò)進(jìn)行搜索而獲得:一般只需要對連接設(shè)備進(jìn)行遍歷就可以得到主拓?fù)浣Y(jié)構(gòu)。當(dāng)前的網(wǎng)管軟件都是通過對網(wǎng)絡(luò)設(shè)備的MIB庫進(jìn)行訪問,所以這種方法又被稱為基于SNMP的拓?fù)浒l(fā)現(xiàn)。經(jīng)過上述的遍歷過程,可以得到網(wǎng)絡(luò)拓拓?fù)鋱D的整體構(gòu)成,知道了網(wǎng)絡(luò)主干通道情況。但是子網(wǎng)內(nèi)部的具體設(shè)備以及連接狀態(tài)尚不可知。這就需要依靠子網(wǎng)發(fā)現(xiàn)來做進(jìn)一步的工作。子網(wǎng)發(fā)現(xiàn)完成的任務(wù)是確定子網(wǎng)內(nèi)各網(wǎng)絡(luò)設(shè)備的狀態(tài)、類型以及網(wǎng)絡(luò)接口。
遍歷的定義是:對于無向圖,以圖中某一點(diǎn)為出發(fā)點(diǎn),沿著邊依次訪問圖的其余節(jié)點(diǎn),如果圖是連通的,則從圖的任一點(diǎn)出發(fā)按一定的順序沿著某些邊可以訪問圖中的所有節(jié)點(diǎn),而且每個節(jié)點(diǎn)僅被訪問一次,這一過程稱為圖的遍歷。在網(wǎng)絡(luò)上,一個節(jié)點(diǎn)可以和很多的節(jié)點(diǎn)連接,所以當(dāng)進(jìn)行網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)現(xiàn)的時候,有可能會訪問已經(jīng)被發(fā)現(xiàn)過的節(jié)點(diǎn)。因此,在遍歷的時候,必須對每一個節(jié)點(diǎn)設(shè)置一個標(biāo)志。當(dāng)節(jié)點(diǎn)未被訪問過時,相應(yīng)的標(biāo)志為0,否則,就置為1。
二、改進(jìn)的網(wǎng)絡(luò)拓?fù)渌惴?/p>
前面基于SNMP的拓?fù)渌惴ㄔ谝欢ǔ潭壬鲜欠浅S行У模負(fù)涞乃俣纫卜浅?臁5嬖谝粋€缺陷。那就是,在一個特定的域中,所有的子網(wǎng)的信息都依賴于設(shè)備具有SNMP的特性,如果系統(tǒng)不支持SNMP,則這種方法就無能為力了。還有對網(wǎng)絡(luò)管理的不重視,或者考慮到安全方面的原因,人們往往把網(wǎng)絡(luò)設(shè)備的SNMP功能關(guān)閉,這樣就難于取得設(shè)備的MIB值,就出現(xiàn)了拓?fù)涞牟煌暾裕瑖?yán)重影響了網(wǎng)絡(luò)管理系統(tǒng)的功能。針對這一的問題,下面討論本文對上述算法的改進(jìn)一基于ICMP協(xié)議的拓?fù)浒l(fā)現(xiàn)。
(一)ICMP報(bào)文的格式
ICMP被認(rèn)為是IP層的一個組成部分。它傳遞差錯報(bào)文以及其他需要注意的信息。網(wǎng)際協(xié)議CIP沒有出錯報(bào)告或出錯校正機(jī)制,它依靠網(wǎng)際控制報(bào)文協(xié)議(ICMP)模塊來報(bào)告數(shù)據(jù)處理過程,井提供管理和狀態(tài)信息。ICMP報(bào)文在傳送時被封裝在IP數(shù)據(jù)報(bào)中,使用IP協(xié)議發(fā)送,但I(xiàn)CEP不看作是高層協(xié)議的內(nèi)容。
回應(yīng)請求與應(yīng)答均以IP數(shù)據(jù)報(bào)的形式在網(wǎng)間傳輸,假如成功地收到一個應(yīng)答(應(yīng)答中的數(shù)據(jù)拷貝與請求中的任選數(shù)據(jù)完全一致),不但說明信宿機(jī)可以到達(dá),而且說明數(shù)據(jù)報(bào)傳輸系統(tǒng)的相應(yīng)部分工作正常,至少信源機(jī)和信宿機(jī)的ICMP軟件和IP軟件工作正常,請求與應(yīng)答經(jīng)過中間網(wǎng)關(guān)也在正常工作。在許多TCP/IP實(shí)現(xiàn)中,用戶命令Ping便是利用ICMP回應(yīng)請求/應(yīng)答報(bào)文測試信宿機(jī)的可到達(dá)性的。
(二)PING的實(shí)現(xiàn)
PING的主要操作是發(fā)送報(bào)文,并簡單地等待回答。PING之所以如此命名,是因?yàn)樗且粋€簡單的回顯協(xié)議,使用ICMP響應(yīng)請求與響應(yīng)應(yīng)答報(bào)文。PING主要由系統(tǒng)程序員用于診斷和調(diào)試。一般的,PING的功能有:
LOOP BACK PING用于驗(yàn)證TCP/IP軟件的操作。
PIN G地址確定能否尋址物理網(wǎng)絡(luò)設(shè)備。
PING遠(yuǎn)程IP地址驗(yàn)證能否尋址網(wǎng)絡(luò)。
PING遠(yuǎn)程主機(jī)名驗(yàn)證主機(jī)上某個服務(wù)器的操作。
實(shí)現(xiàn)PING的過程主要是:首先向目的機(jī)器發(fā)送一個響應(yīng)請求的ICMP報(bào)文,然后等待目的機(jī)器的應(yīng)答,直到超時。如收到應(yīng)答報(bào)文,貝以報(bào)告目的機(jī)器運(yùn)行正常,程序退出。
(三)traceroute的實(shí)現(xiàn)
在IP頭的結(jié)構(gòu)中,存在一個ip_ttl域,即生存時間(time to_live,TTL)。TTL參數(shù)用于測量數(shù)據(jù)報(bào)在網(wǎng)際存在多長時間。網(wǎng)絡(luò)中的每個路由器都檢查該域,如果TTL值為0,路由器就拋棄該數(shù)據(jù)報(bào)。路由器還必須對它處理的每個數(shù)據(jù)報(bào)的該域進(jìn)行減I操作。在實(shí)際執(zhí)行中,TTL域是一個反映跳段的值。所以,當(dāng)數(shù)據(jù)報(bào)穿過一個IP節(jié)點(diǎn)(網(wǎng)關(guān))時。TTL域中的值就減1。
traceroute的功能就是利用IP頭中的TTL域。開始時信源設(shè)置IP頭的TTL值為0,發(fā)送報(bào)文給信宿,第一個網(wǎng)關(guān)收到此報(bào)文后,發(fā)現(xiàn)TTL值為0,它丟棄此報(bào)文,并發(fā)送一個類型為超時的ICMP報(bào)文給信源。信源接收到此報(bào)文后對它進(jìn)行解析,這樣就得到了路由中的第一個網(wǎng)關(guān)地址。然后信源發(fā)送TTL值為1的報(bào)文給信宿,第一個網(wǎng)關(guān)把它的TTL值減為0后轉(zhuǎn)發(fā)給第二個網(wǎng)關(guān),第二個網(wǎng)關(guān)發(fā)現(xiàn)報(bào)文TTL值為0,丟棄此報(bào)文并向信源發(fā)送超時ICMP報(bào)文。這樣就得到了路由中和第二個網(wǎng)關(guān)地址。如此循環(huán)下去,直到報(bào)文正確到達(dá)信宿,這樣就得到了通往信宿的路由。
(四)網(wǎng)絡(luò)拓?fù)涞陌l(fā)現(xiàn)算法
具體實(shí)現(xiàn)的步驟:
1、于給定的IP區(qū)間,利用PING依次檢測每個IP地址,將檢測到的IP地址記錄到IP地址表中。
2、對第一步中查到的每個IP地址進(jìn)行traceroute操作,記錄到這些IP地址的路由。并把每條路由中的網(wǎng)關(guān)地址也加到IP表中。
3、對IP地址表中的每個IP地址,通過發(fā)送掩碼請求報(bào)文與接收掩碼應(yīng)答報(bào)文,找到這些IP地址的子網(wǎng)掩碼。
4、根據(jù)子網(wǎng)掩碼,確定對應(yīng)每個IP地址的子網(wǎng)地址,并確定各個子網(wǎng)的網(wǎng)絡(luò)類型。把查到的各個子網(wǎng)加入地址表中。
關(guān)鍵詞:SNMP(簡單網(wǎng)絡(luò)管理協(xié)議);ICMP(PING)協(xié)議;網(wǎng)絡(luò)設(shè)備監(jiān)測
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)19-4403-04
近年來,在局和臺統(tǒng)一部署和努力下,我臺的信息化建設(shè)取得了可喜的成績。隨著我臺信息化技術(shù)不斷發(fā)展,自動化規(guī)模越來越大,各類業(yè)務(wù)系統(tǒng)的應(yīng)用,對網(wǎng)絡(luò)運(yùn)行的穩(wěn)定性和可靠性提出了更高的要求。網(wǎng)絡(luò)系統(tǒng)設(shè)備是實(shí)現(xiàn)發(fā)射機(jī)自動化重要的信息基礎(chǔ)設(shè)施,我臺網(wǎng)絡(luò)由于業(yè)務(wù)特點(diǎn),決定了其網(wǎng)絡(luò)是分布式的,點(diǎn)多面廣,結(jié)構(gòu)復(fù)雜,分支網(wǎng)絡(luò)在地理上分散于兩個臺區(qū)的多個機(jī)房內(nèi)。用人工的方式去查看網(wǎng)絡(luò)系統(tǒng)中各個設(shè)備的運(yùn)行參數(shù),不僅費(fèi)時費(fèi)力,而且難以全面及時地掌握各業(yè)務(wù)系統(tǒng)的業(yè)務(wù)狀況。
目前比較流行的網(wǎng)絡(luò)管理軟件有IBM公司的Net View,HP公司的Open View,以及Cisco公司的Cisco Works等。但這些軟件以管理主干路由器為主,或者是建立在獨(dú)立廠商各自設(shè)備的基礎(chǔ)之上,對于我臺網(wǎng)絡(luò)結(jié)構(gòu)并不能完全適用。而網(wǎng)絡(luò)設(shè)備正常運(yùn)行與否,直接關(guān)系到發(fā)射機(jī)的播出情況,進(jìn)一步導(dǎo)致不良的政治后果。為了解決目前的困難,實(shí)現(xiàn)一個高效的、實(shí)時的、智能的、合適的網(wǎng)絡(luò)設(shè)備監(jiān)控系統(tǒng),已經(jīng)被提到了一個空前的高度上。
因此,我臺計(jì)劃建設(shè)信息化IT運(yùn)維管理平臺,實(shí)現(xiàn)對網(wǎng)絡(luò)系統(tǒng)、服務(wù)器、數(shù)據(jù)庫、機(jī)房環(huán)境等信息基礎(chǔ)的設(shè)施的全程自動監(jiān)控;改變以往被動的、孤立的、分散的管理模式,主動及全面發(fā)現(xiàn)系統(tǒng)中存在的問題[1],以流程貫穿整個運(yùn)維管理過程;減少運(yùn)維人員的勞動強(qiáng)度,提高效率,切實(shí)保障各業(yè)務(wù)系統(tǒng)可靠、穩(wěn)定、高效的運(yùn)行,進(jìn)一步信息化為全臺的服務(wù)質(zhì)量。
1 基于ICMP和SNMP協(xié)議網(wǎng)絡(luò)運(yùn)維系統(tǒng)設(shè)計(jì)
ICMP是(Internet Control Message Protocol)Internet控制報(bào)文協(xié)議。它是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息。控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息[2]。本系統(tǒng)正是利用了“是否可達(dá)”功能來檢測目標(biāo)主機(jī)是否處于聯(lián)網(wǎng)狀態(tài)。
SNMP,Simple Network Management Protocol,即簡單網(wǎng)絡(luò)管理協(xié)議[3],是有IETF定義的一套基于SGMP(簡單網(wǎng)關(guān)監(jiān)視協(xié)議)的網(wǎng)絡(luò)管理協(xié)議。在SNMP為技術(shù)的網(wǎng)絡(luò)管理系統(tǒng)中,管理工作站利用SNMP進(jìn)行遠(yuǎn)程監(jiān)控管理網(wǎng)絡(luò)上的所有支持這種協(xié)議的設(shè)備:如計(jì)算機(jī)工作站、終端、路由器、Hub、網(wǎng)絡(luò)打印機(jī)等,主要負(fù)責(zé)監(jiān)視設(shè)備狀態(tài)、修改設(shè)備配置、接受事件警告等。本系統(tǒng)正是利用了這些功能,對網(wǎng)絡(luò)中的設(shè)備進(jìn)行各設(shè)備狀態(tài)的實(shí)時監(jiān)視。
本次系統(tǒng)開發(fā),結(jié)合我臺實(shí)際應(yīng)用,采用SNMP及ICMP(PING)兩種方式,實(shí)時采集網(wǎng)絡(luò)中設(shè)備的相關(guān)數(shù)據(jù),比對預(yù)設(shè)閾值,進(jìn)行告警管理,并實(shí)時保存數(shù)據(jù)等功能。由于兩種協(xié)議都會一定程度上增加網(wǎng)絡(luò)帶寬,所以系統(tǒng)在設(shè)計(jì)之初就提出了時間間隔的概念,即兩次執(zhí)行PING和SNMP的時間間隔。
本系統(tǒng)的ICMP協(xié)議采用了PING方式實(shí)現(xiàn)。管理主機(jī)向目標(biāo)主機(jī)執(zhí)行一次PING命令時,在預(yù)設(shè)的時間內(nèi)沒有完成本次PING,則系統(tǒng)會認(rèn)為管理主機(jī)與目標(biāo)主機(jī)之間的鏈路出現(xiàn)了問題,將會產(chǎn)生語音、文字及圖像報(bào)警信息,通知維護(hù)人員前往處理故障。表若PING成功,表示目標(biāo)主機(jī)可達(dá),即主機(jī)處于正常聯(lián)網(wǎng)狀態(tài),系統(tǒng)將繼續(xù)執(zhí)行SNMP協(xié)議相關(guān)功能。
SNMP協(xié)議在PING成功后執(zhí)行,獲取相應(yīng)設(shè)備的參數(shù)信息,與預(yù)先設(shè)置的閾值進(jìn)行比對,若超出閾值,同樣的會生成語音、文字及圖像的報(bào)警信息來通知維護(hù)人員。兩種協(xié)議實(shí)現(xiàn)流程如圖1所示。
2 網(wǎng)絡(luò)運(yùn)維系統(tǒng)結(jié)構(gòu)和功能
建立網(wǎng)絡(luò)設(shè)備監(jiān)測系統(tǒng)[4],實(shí)現(xiàn)傳統(tǒng)的被動式故障處理方式向前瞻式管理方式的轉(zhuǎn)變,既要使網(wǎng)絡(luò)中出現(xiàn)的危險和漏洞降到最低,防范于未然;又要減輕我臺面臨著巨大的運(yùn)維壓力,降低信息管理的難度。因此,整個系統(tǒng)以事件為核心,將IT資源監(jiān)控管理系統(tǒng)與流程管理系統(tǒng)有機(jī)地整合在一起。采用統(tǒng)一事件管理系統(tǒng),對整個系統(tǒng)內(nèi)的所有事件進(jìn)行收集、關(guān)聯(lián)分析和處理。
通過統(tǒng)一的管理系統(tǒng)對管轄范圍內(nèi)IT對象的運(yùn)行狀況和系統(tǒng)性能進(jìn)行實(shí)時的監(jiān)控,并以類visio圖形化的方式直觀地展現(xiàn)出來。對于系統(tǒng)運(yùn)行的異常表現(xiàn)及時采用文字、圖形及語音的方式報(bào)警。
本網(wǎng)絡(luò)運(yùn)維系統(tǒng)主要是應(yīng)對我臺現(xiàn)有的網(wǎng)絡(luò)設(shè)備,而我臺需要監(jiān)測對象有:服務(wù)器、交換機(jī)、路由器、防火墻、存儲設(shè)備、終端主機(jī)、UPS等終端,所以此次系統(tǒng)設(shè)計(jì)也主要針對這此設(shè)備展開。根據(jù)我臺維護(hù)人員歷來的經(jīng)驗(yàn),在故障處理過程中,主要針對設(shè)備 ICMP (PING)延遲,內(nèi)存利用率,硬盤利用率,CPU利用率,網(wǎng)口流量,設(shè)備持續(xù)運(yùn)行時間,會話數(shù),電壓狀態(tài)等參數(shù)信息判斷網(wǎng)絡(luò)運(yùn)行情況,所以軟件功能也由此展開。圖2顯示出了本系統(tǒng)的主要監(jiān)測對象及功能:
圖2