在一個(gè)網(wǎng)絡(luò)中,作為網(wǎng)絡(luò)工程師或者網(wǎng)絡(luò)管理員,需要隨時(shí)了解網(wǎng)絡(luò)的各種狀態(tài),以判斷網(wǎng)絡(luò)是否處于健康狀態(tài)或者隨時(shí)了解網(wǎng)絡(luò)的流量、每個(gè)路由器的流量、每個(gè)交換機(jī)端口的流量…,以供年度報(bào)告時(shí)向上級(jí)領(lǐng)導(dǎo)提供詳實(shí)的數(shù)據(jù)及圖形報(bào)告。在這里,我先把自己有關(guān)如何獲取網(wǎng)絡(luò)流量的方法向大家講解一下,如果有必要,您可以立即動(dòng)手,自己做一個(gè)公司的網(wǎng)絡(luò)流量監(jiān)控圖出來(lái)。網(wǎng)絡(luò)流量的監(jiān)控需要涉及到SNMP、PERL、MRTG和一點(diǎn)網(wǎng)頁(yè)的相關(guān)知識(shí),現(xiàn)在我就 STEP BY STEP給大家講解怎么具體實(shí)施。我的水平有限,如有錯(cuò)誤或者更好的解決辦法,還懇請(qǐng)大家提出,謝謝!
注:文中有部份資料從Internet網(wǎng)絡(luò)收集。
目錄
在WINDOWS下安裝MRTG全攻略--網(wǎng)絡(luò)流量監(jiān)控 1
代序 1
目錄 1
SNMP簡(jiǎn)介 2
MRTG簡(jiǎn)介 4
STEP BY STEP教您安裝PERL 7
STEP BY STEP教您設(shè)置SNMP 11
STEP BY STEP教您安裝MRTG 14
把流量圖加入您的網(wǎng)站 19
SNMP簡(jiǎn)介
一個(gè)網(wǎng)絡(luò)管理系統(tǒng)一般要包含以下幾個(gè)元素:①若干個(gè)(可能很多個(gè))需要被管理的網(wǎng)絡(luò)設(shè) 備節(jié)點(diǎn),如 路由器、服務(wù)器等設(shè)備,每個(gè)節(jié)點(diǎn)上都運(yùn)行著一個(gè)稱為設(shè)備代理(agent)的應(yīng) 用進(jìn)程,其實(shí)現(xiàn)對(duì)被管理設(shè) 備的各種被管理對(duì)象的信息如流量等的搜集和對(duì)這些被管對(duì)象 的訪問(wèn)的支持;②至少一個(gè)管理工作站,該 管理站運(yùn)行著管理平臺(tái)應(yīng)用系統(tǒng),實(shí)現(xiàn)為管理 員提供對(duì)被管設(shè)備的可視化的圖形界面,從而使管理員可以 方便的進(jìn)行管理;③一個(gè)管理 協(xié)議,用來(lái)定義設(shè)備代理和管理工作站之間管理信息傳送的規(guī)程。其中管理 協(xié)議的操作是 在管理框架下進(jìn)行的,管理框架定義了和安全相關(guān)的認(rèn)證,授權(quán),訪問(wèn)控制和加密策略等各 種安全防護(hù)框架。
在運(yùn)行TCP/IP協(xié)議的互聯(lián)網(wǎng)環(huán)境中,管理協(xié)議標(biāo)準(zhǔn)是簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol,SNMP),其定義了傳送管理信息的協(xié)議消息格式及管理站和設(shè)備代 理相互之間進(jìn)行消息傳送的規(guī) 程。
出于業(yè)界對(duì)網(wǎng)絡(luò)管理協(xié)議標(biāo)準(zhǔn)化的迫切要求的驅(qū)動(dòng),IETF于1990發(fā)布了SNMPv1的正式RFC 文檔;其設(shè) 計(jì)思想重點(diǎn)放在保證協(xié)議的簡(jiǎn)單性、靈活性和可擴(kuò)展性上,并希望把SNMP作為 一個(gè)過(guò)渡性的網(wǎng)管協(xié)議來(lái)作 為實(shí)現(xiàn)對(duì)互連的網(wǎng)絡(luò)設(shè)備進(jìn)行管理時(shí)遵循的標(biāo)準(zhǔn),待OSI的網(wǎng) 絡(luò)管理協(xié)議—CMIP的開發(fā)、實(shí)現(xiàn)和標(biāo)準(zhǔn)化成 熟和完善到可以在業(yè)界推廣之后,再用CMIP來(lái) 替換SNMP。但是由于各種的原因,CMIP并沒(méi)有替代SNMP,而 SNMP發(fā)展為業(yè)界的標(biāo)準(zhǔn)。
SNMP一共發(fā)展有3個(gè)主版本,分別為SNMPv1 ,SNMPv2和SNMPv3。其中SNMPv2又分為若干個(gè) 子版本,其中 SNMPv2c應(yīng)用最為廣泛:
SNMPv1: 是第一個(gè)正式協(xié)議版本,在RFC1155-RFC1158中定義,該版本采用了基于共同體 名的安全機(jī)制;
SNMPv2c: 這個(gè)版本被稱為基于共同體名的SNMPv2,使用基于共同體名的安全機(jī)制和 SNMPv2p做出的協(xié)議操 作方面的擴(kuò)充,由RFC1901-RFC1906定義;
SNMPv3: 該協(xié)議版本采用基于用戶的安全機(jī)制,其安全機(jī)制是在SNMPv2u和SNMPv2*基礎(chǔ)上 進(jìn)行大量的評(píng)議 以后進(jìn)行了更新,并且對(duì)協(xié)議機(jī)的邏輯功能模塊的進(jìn)行了劃分而保證了良 好的可擴(kuò)充性,由RFC2271- RFC2275所定義。
運(yùn)行SNMP管理系統(tǒng)的原理及SNMP協(xié)議
使用SNMP協(xié)議的網(wǎng)絡(luò)管理系統(tǒng)管理結(jié)構(gòu)工作一般包括:管理進(jìn)程通過(guò)定時(shí)向各個(gè)設(shè)備的設(shè) 備代理進(jìn)程 發(fā)送查詢請(qǐng)求消息(以輪詢方式),來(lái)跟蹤各個(gè)設(shè)備的狀態(tài);而當(dāng)設(shè)備出現(xiàn)異常 事件如設(shè)備冷啟動(dòng)等時(shí),設(shè) 備代理進(jìn)程主動(dòng)向管理進(jìn)程發(fā)送陷阱消息,匯報(bào)出現(xiàn)的異常事 件。這些輪詢消息和陷阱消息的發(fā)送和接受 規(guī)程及其格式定義都是由SNMP協(xié)議定義的;而 被管理設(shè)備將其各種管理對(duì)象的信息都存放在一個(gè)稱為管理 信息庫(kù)(Management Information Base)庫(kù)結(jié)構(gòu)中。
其中SNMP協(xié)議是運(yùn)行在UDP協(xié)議之上,它利用的是UDP協(xié)議的161/162端口。其中161端口被 設(shè)備代理監(jiān) 聽,等待接受管理者進(jìn)程發(fā)送的管理信息查詢請(qǐng)求消息;162端口由管理者進(jìn) 程監(jiān)聽等待設(shè)備代理進(jìn)程發(fā) 送的異常事件報(bào)告陷阱消息,如Trap。
設(shè)備的所有的需要被管理的信息被看作一個(gè)各種被管理對(duì)象的集合,這些被管理對(duì)象由 OSI定義在一 個(gè)被稱作管理信息庫(kù)(Management Information Base,MIB)的虛擬的信息庫(kù) 中。
管理對(duì)象庫(kù)MIB
MIB 是一個(gè)按照層次結(jié)構(gòu)組織的樹狀結(jié)構(gòu)(定義方式類似于域名系統(tǒng)),管理對(duì)象為定義 為樹中的相 應(yīng)葉子節(jié)點(diǎn)。管理對(duì)象是按照模塊的形式組織,每個(gè)對(duì)象的父節(jié)點(diǎn)表示該種對(duì) 象屬于上層的哪一個(gè)模塊。 而且OSI為樹中每一層的每個(gè)節(jié)點(diǎn)定義唯一的一個(gè)數(shù)字標(biāo)識(shí), 每層中的該數(shù)字標(biāo)識(shí)從1開始遞增,這樣樹中 的每個(gè)節(jié)點(diǎn)都可以用從根開始到目的節(jié)點(diǎn)的 相應(yīng)的標(biāo)識(shí)對(duì)應(yīng)的一連串的數(shù)字來(lái)表示,如1.3.6.1.2.1.1表 示了MIBII中系統(tǒng)組子樹,而 1.3.6.1.2.1.1.1.0表示系統(tǒng)組中的系統(tǒng)描述(sytem Descrption)對(duì)象。每個(gè) 對(duì)象的一連 串?dāng)?shù)字表示被稱為對(duì)象標(biāo)識(shí)符(Object Indentifier,OID)。
相關(guān)的一組對(duì)象的集合被定義為一個(gè)MIB模塊。這些模塊使用OSI的抽象語(yǔ)法標(biāo)記 (Abstract Syntax Notation One,ASN.1)的一個(gè)子集寫成。該子集被定義為管理信息結(jié) 構(gòu)(Management Information,SMI)。
SNMP的消息在發(fā)送和傳輸時(shí)消息是采用基本編碼規(guī)則(BER)對(duì)消息進(jìn)行編碼。
SNMP基本的標(biāo)準(zhǔn)MIB庫(kù)是MIBII,具體請(qǐng)參考RFC 1213。
SNMP協(xié)議操作
SNMP提供有三類操作,分別為Get,Set和Trap。
Get操作實(shí)現(xiàn)對(duì)被管理對(duì)象所表示的管理信息的讀操作。在SNMPv1中,GET操作具體一共有 兩種形式
Get 和GetNext操作: Get操作指示直接讀取操作參數(shù)指定的OID所表示的被管理對(duì)象的管 理信息 值。GetNext操作指示讀取操作參數(shù)指定的OID所表示的被管理對(duì)象在MIB樹中按照 字典順序的下一個(gè)被管 理對(duì)象的管理信息的值。在SNMPv2中,增加了一種GetBulk操作, 其是Get和GetNext的綜合,是為了提高 對(duì)被管理信息的訪問(wèn)的效率而增加的。
Set操作實(shí)現(xiàn)對(duì)被管理對(duì)象的管理信息進(jìn)行寫操作,其實(shí)現(xiàn)直接對(duì)操作參數(shù)指定的OID所表 示的被管理 對(duì)象對(duì)應(yīng)的管理信息的值的設(shè)置。
前面幾種消息是由管理工作站主動(dòng)實(shí)現(xiàn)對(duì)被管理設(shè)備進(jìn)行輪詢?cè)L問(wèn)時(shí)發(fā)出以得到被管理設(shè) 備的各種信 息;而在被管理設(shè)備出現(xiàn)異常事件需要及時(shí)向管理工作站報(bào)告時(shí),就需要Trap 操作,該操作實(shí)現(xiàn)被管理設(shè) 備向管理工作站報(bào)告設(shè)備上出現(xiàn)的異常事件,如網(wǎng)絡(luò)接口出現(xiàn) 故障或恢復(fù)工作,設(shè)備重新啟動(dòng)等信息。另 外在SNMPv2中新增加了一種Inform操作來(lái)實(shí)現(xiàn) 管理站與管理站之間的通信。
其中上述操作的消息都可以在操作參數(shù)中一次指定一個(gè)或多個(gè)管理對(duì)象OID信息,也就是 說(shuō)一個(gè)消息 一次可以實(shí)現(xiàn)對(duì)多個(gè)被管理對(duì)象的操作。
SNMPv1和SNMPv2c采用了一種簡(jiǎn)單的基于共同體名的安全機(jī)制:
管理站和被管設(shè)備上都存儲(chǔ)有該充當(dāng)密碼作用的共同體名;消息發(fā)送者(一般是管理者)在 要發(fā)送的消 息中的共同體名字段中填入對(duì)應(yīng)于接收者的共同體名,然后以明文方式在網(wǎng)絡(luò) 上發(fā)送消息,接收方(被管 理設(shè)備)接收到消息以后,如果消息格式是正確的,則讀取該字 段,與自身保存的共同體名相比較,來(lái)實(shí) 現(xiàn)對(duì)發(fā)送消息者的認(rèn)證。在一些實(shí)現(xiàn)中,對(duì)應(yīng)于 每個(gè)共同體名還有一個(gè)機(jī)器地址列表,來(lái)表示只有地址在 這個(gè)列表中的機(jī)器使用該共同體 名發(fā)送的消息才認(rèn)為是可信的。這里的共同體名就擔(dān)任密碼的作用。同時(shí) 對(duì)應(yīng)于每個(gè)共同 體名都有一個(gè)訪問(wèn)控制權(quán)限,可能值為讀或讀寫。只有請(qǐng)求的操作和使用的共同體名的權(quán) 限一致才允許進(jìn)行。
詳細(xì)情況請(qǐng)參考RFC 1157、RFC 1902、RFC 2273、RFC 2274。