《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于SNMP的IPMAC綁定系統(tǒng)的研究與設計
基于SNMP的IPMAC綁定系統(tǒng)的研究與設計
來源:微型機與應用2011年第17期
洪 詩,,李曉強
(上海大學 計算機工程與科學學院,上海 200072)
摘要: 針對當前網(wǎng)絡中IP地址管理混亂的狀況,,根據(jù)網(wǎng)絡管理需求,,設計并實現(xiàn)了IP-MAC-PORT綁定系統(tǒng),。通過簡單網(wǎng)絡管理協(xié)議(SNMP)定期對路由及交換設備進行數(shù)據(jù)采集和分析,對網(wǎng)絡進行實時監(jiān)控,,追蹤并定位出IP地址異常主機的具體位置,,然后利用交換機支持端口管理的特性,實現(xiàn)對IP盜用者的有效網(wǎng)絡隔離,。
Abstract:
Key words :

摘  要: 針對當前網(wǎng)絡中IP地址管理混亂的狀況,,根據(jù)網(wǎng)絡管理需求,設計并實現(xiàn)了IP-MAC-PORT綁定系統(tǒng),。通過簡單網(wǎng)絡管理協(xié)議(SNMP)定期對路由及交換設備進行數(shù)據(jù)采集和分析,,對網(wǎng)絡進行實時監(jiān)控,追蹤并定位出IP地址異常主機的具體位置,,然后利用交換機支持端口管理的特性,,實現(xiàn)對IP盜用者的有效網(wǎng)絡隔離。
關鍵詞: 簡單網(wǎng)絡管理協(xié)議,;管理信息庫,;代理

 Internet的迅速發(fā)展和企業(yè)網(wǎng)絡系統(tǒng)的不斷擴展推動了基于IP協(xié)議的通信量的巨增,隨之而來的是IP地址管理問題,,特別是局域網(wǎng)內部IP地址管理,,而IP地址管理中最重要的就是網(wǎng)絡安全問題。影響網(wǎng)絡安全的因素有很多,,IP盜用或地址欺騙就是其中一個常見且危害極大的因素,。如果缺乏有效的管理,就會導致網(wǎng)絡可用性和服務質量的下降,,甚至網(wǎng)絡的崩潰,。面對這種情況,本文在研究簡單網(wǎng)絡管理協(xié)議SNMP(Simple Network Management Protocol)網(wǎng)絡管理模型的基礎上設計并實現(xiàn)了IPMAC綁定系統(tǒng),。該系統(tǒng)能實時監(jiān)控網(wǎng)絡的運行狀態(tài),,能及時、準確地發(fā)現(xiàn)網(wǎng)絡中IP,、MAC和端口之間的異常變動并發(fā)出報警信息,,便于網(wǎng)絡管理人員及時處理安全隱患,,提高了網(wǎng)絡的安全性。
1 相關概念
1.1 SNMP的管理模型

 SNMP是為基于TCP/IP的多廠商異構互連網(wǎng)的管理而設計的,。它作為工業(yè)標準,,已被廣泛接受,其應用已擴展到其他協(xié)議組,。
 SNMP的網(wǎng)絡管理模型[1]由多個管理代理,、至少一個管理工作站、一種通用的網(wǎng)絡管理協(xié)議,、一個或多個管理信息庫MIB(Management Information Base)等組成[2],,其模型如圖1所示。

 管理者(Manager)可以是工作站,、個人計算機等,,它負責發(fā)出管理操作的指令,并接收來自代理的信息,。
代理(Agent)駐留在被管對象中,,對來自管理者的請求進行應答,并隨機為管理者報告一些重要的意外事件,。
管理信息MIB是對通過網(wǎng)絡管理協(xié)議可以訪問信息的精確定義,,通常就是被管理設備的數(shù)據(jù)庫。
網(wǎng)絡管理協(xié)議是管理者與代理之間通信的協(xié)議,,它提供一種訪問任何廠商生產的網(wǎng)絡設備并獲得一系列標準值的一致性方式,。
1.2 SNMP協(xié)議
 SNMP是一種應用層協(xié)議,它只要求使用無連接服務的數(shù)據(jù)傳送服務,,自身具有糾錯能力,,因此減少了網(wǎng)絡負擔。SNMP的基本功能包括:監(jiān)視網(wǎng)絡性能,、監(jiān)測并恢復網(wǎng)絡故障以及配置網(wǎng)絡設備等,。SNMP的協(xié)議體系結構由SMI、MIB和SNMP本身三部分構成,。SMI描述了互連網(wǎng)中受管對象的識別方案和結構,;MIB描述了SNMP所用到的管理信息庫的結構以及其中變量的定義,SMI和MIB都是用OSI的ASN.1定義的,;SNMP的MIB用于存放網(wǎng)絡元素的各種管理參數(shù),,SNMP本身提供在網(wǎng)絡管理站和被管對象之間交換管理信息的方法。
 網(wǎng)絡管理站和被管對象之間通過發(fā)送SNMP報文來彼此通信,。實現(xiàn)SNMP協(xié)議有兩種操作:取值和設置值,。為此,SNMP協(xié)議定義了5種PDU(Protocol Data Unit)[3],,即:GetRequest-PDU,、GetNextRequest-PDU,、SetRequest-PDU、GetReponse-PDU和Trap-PDU,。其中,,GetRequest-PDU用于訪問代理,并從MIB中獲得變量值,;GetNextRequest-PDU取下1條MIB值,,它提供了一種連續(xù)讀取MIB變量的方法;SetRequest-PDU用于設置MIB中變量的值,;GetReponse-PDU用于對上述3個請求的響應;Trap-PDU用于代理報告一些異常事件,,如系統(tǒng)重新初始化,、局部鏈路失效、鏈路功能恢復以及鄰居沒有響應等,。
每個SNMP報文被封裝成一個UDP數(shù)據(jù)報,,并通過IP層發(fā)送出去。協(xié)議指定在161端口接收除“Trap”以外的所有報文,,而在162端口接收“Trap”報文,。這5種報文的操作如圖2所示。
1.3 IP冒用
 IP冒用是指使用者使用未經(jīng)授權的IP地址來配置網(wǎng)上的計算機,。由于IP地址是一個協(xié)議邏輯地址,,需要用戶設置并隨時修改其值,因此無法限制用戶修改本機的IP地址,。如果用戶在配置或修改配置時,,使用的不是合法獲得的IP地址,就形成了IP冒用,。
1.4 IP-MAC捆綁技術
 交換機是局域網(wǎng)的主要網(wǎng)絡設備,,它工作在數(shù)據(jù)鏈路層,基于MAC地址來轉發(fā)和過濾數(shù)據(jù)包,。因此,,每個交換機均維護著一個與端口對應的MAC地址表。任何與交換機直接相連或處于同一廣播域的主機的MAC地址均會被保存到交換機的MAC地址表中,。因此,,可以在交換機上使用IP-MAC綁定,在交換機上形成一個靜態(tài)的IP-MAC對應表,,以達到非法MAC無法通過交換機登錄網(wǎng)絡的目的,。
1.5 多層B/S結構
 多層B/S體系結構的優(yōu)越性體現(xiàn)在以下幾點:將表現(xiàn)與功能進一步分離,可獨立優(yōu)化各層以提高系統(tǒng)的可伸縮性與綜合性能,;平臺通用性強,,功能模塊可重用,;對客戶端的要求與限制大大減低,維護與升級方便,;開發(fā)過程的有限并行等,。同時,中間件技術也被引進來,,它是一些獨立的代碼封裝體,,提供特定的服務[3]。
2 系統(tǒng)總體設計
2.1 設計思路

 以太網(wǎng)交換機根據(jù)端口號與節(jié)點MAC地址的對應關系建立“端口號/MAC地址映射表”,。當有幀從某端口到達交換機時,,交換機的交換控制中心將根據(jù)“端口號/MAC地址映射表”的對應關系找出對應幀目的地址的輸出端口號,為輸入端口到輸出端口建立連接,,這種端口之間的連接可以根據(jù)需要同時建立多條,。根據(jù)以太網(wǎng)交換機工作原理可知,在整個網(wǎng)絡中,,某個確定節(jié)點的MAC地址與交換機端口號的對應關系只可能出現(xiàn)在下列兩種情況中:(1)出現(xiàn)在與之直接相連的交換機的“端口號/MAC地址映射表”中,,且其對應的交換機端口號必為該節(jié)點物理連接的端口號;(2)出現(xiàn)在與之不直接相連的交換機的“端口號/MAC地址映射表”中,,則其對應的交換機端口號必為該交換機與其他交換機的級連端口上,。而如果交換機的某個端口用于級連,也就是不接主機,,顯然不引入安全問題,,這種情況不用考慮。因此,,如果在所有交換機的“端口號/MAC地址映射表”中出現(xiàn)兩個或兩個以上非級連端口與某個確定主機的MAC地址對應,,說明必然有人使用了他人主機的MAC地址(修改了其本機的MAC地址)。也就是說,,如果能夠動態(tài)獲得整個網(wǎng)絡中各交換機非級連端口與節(jié)點MAC的映射表,,就可以發(fā)現(xiàn)異常MAC地址。
 在TCP/IP網(wǎng)絡中,,主機的IP地址只是主機在網(wǎng)絡層中的地址,,不能直接用來進行通信。若要將網(wǎng)絡層中傳送的數(shù)據(jù)包交給目的主機,,必須知道該主機的MAC地址,。因此,必須在IP地址和主機MAC地址之間進行轉換,。在以太網(wǎng)上,,IP地址到MAC地址的轉換由地址轉換協(xié)議(ARP)來完成。為了找出與某個IP地址對應的MAC地址,,主機要采用MAC廣播地址發(fā)送ARP請求包,,帶有MAC廣播地址的幀到達本地網(wǎng)絡的每個網(wǎng)絡接口,。ARP請求包基本詢問這樣一個問題“我這里擁有IP地址所對應的MAC地址是什么?”,,一般只有與指定IP地址一致的主機才響應這個ARP請求,,其他主機一概忽視該ARP請求。ARP請求的目標主機將發(fā)送一個數(shù)據(jù)包作為接收到的IP數(shù)據(jù)包的答復,?;卮鹦枰私釧RP廣播請求包發(fā)送者的IP地址及MAC地址的聯(lián)系。為了加速IP地址解析的過程,,每一個主機都有一個ARP Cache,,里面保存了一些最近訪問的一些節(jié)點的IP與MAC地址的對應信息。如果能夠獲得這些IP與MAC地址的對應信息,,就可以發(fā)現(xiàn)異常IP地址,。監(jiān)聽出口路由器的ARR Cache,可以找到網(wǎng)絡上活動節(jié)點的IP地址和MAC地址的對應信息,,但這可能會增加路由器的負擔,影響出口速度,,最好能從各交換機獲取活動IP與MAC的對應信息,。
 通過對Internet MIB和SNMP的研究,發(fā)現(xiàn)MIB中的管理對象有一個IP地址翻譯實體(AT組),,其MIB對象標識為iso-org-dod-internet-mgmt-mib2-at-atTable (oid=1.3.6.1.2.1.3.1.1.2),。為了進行一步了解交換機的MIB,本設計通過編程獲取了Intel Express 500T Ethernet Switch的MIB,,并對此MIB進行了分析,,發(fā)現(xiàn)交換機的每個端口均有一個IP地址翻譯實體,其對象標識為: 1.3.6.1.2.1.3.1.1.2.x(x為端口號),。定時查詢網(wǎng)絡上每個交換機的非級連端口的IP地址翻譯實體,,便可以動態(tài)獲取各交換機端口號-主機MAC地址映射及主機IP地址-主機MAC地址映射信息。對Intel交換機MIB的進一步分析后發(fā)現(xiàn),,與端口工作狀態(tài)有關的MIB對象標識為1.3.6.1.2.1.2.2.1.7.x(x為端口號),,該值為1時,該端口啟用,,該值為2時,,該端口禁用。MIB對象的命名方法[4]如圖3所示,。

 

 

2.2 系統(tǒng)業(yè)務流程
 本系統(tǒng)實現(xiàn)了以下4個業(yè)務:
 (1)實時IP-MAC-PORT信息的顯示,。獲取整個網(wǎng)絡中的實時表。實時表主要包含設備IP,、MAC,、上聯(lián)端口索引等信息,。管理員可對某一IP地址范圍進行查詢,對已獲取的實時表可執(zhí)行同步到基準,,或刪除操作,。
 (2)基準IP-MAC-PORT信息的顯示。該業(yè)務主要用于對基準信息的維護及管理(注:系統(tǒng)首次初始化時基準IP-MAC-PORT信息由實時表同步得到,,并保存在數(shù)據(jù)庫中),,具體包含對基準信息的查詢、修改,、刪除以及設置基準的比較狀態(tài),。
 (3)接口下聯(lián)設備列表顯示。用于查詢接口的實時狀態(tài),。
 (4)IPMAC定位,。管理員可以根據(jù)IP或MAC迅速定位設備在網(wǎng)絡中的具體位置。
 系統(tǒng)整體的業(yè)務流程為:系統(tǒng)啟動,,系統(tǒng)初始化并開始輪詢整個網(wǎng)絡的FDB和ARP信息(系統(tǒng)啟動后默認設置是每隔5 min輪詢一次),,將獲取到的信息生成實時IP-MAC-PORT表,將實時表與基準表做差異判斷,,如有不同信息則生成差異表并根據(jù)系統(tǒng)已設置的方式報警通知管理員,,以便能及時做出處理,圖4為IPMAC系統(tǒng)的整體業(yè)務流程,。

2.3 功能模塊設計與實現(xiàn)
 本系統(tǒng)由參數(shù)設置,、數(shù)據(jù)采集、數(shù)據(jù)分析,、配置管理和信息發(fā)布5個模塊組成,。
2.3.1 參數(shù)設置模塊
 參數(shù)設置模塊用于設置和修改系統(tǒng)運行所需的參數(shù),包括:數(shù)據(jù)采集的時間間隔,,需要監(jiān)測的交換機非級連端口信息(每個端口信息由所在交換機的IP地址和端口號組成),,發(fā)現(xiàn)異常對應,是否禁用發(fā)現(xiàn)異常的交換機端口,。這些參數(shù)設置保存在文本文件(ipman.sys)中,,系統(tǒng)運行時讀入內存。
2.3.2 數(shù)據(jù)采集模塊
 數(shù)據(jù)采集模塊按預定的時間間隔從各交換機的MIB采集非級連端口的ARP Cache數(shù)據(jù),,并將采集的數(shù)據(jù)生成實時表保存在內存中,,它由交換機IP地址、交換機端口號,、主機IP地址,、與該IP地址對應的MAC地址等信息組成。
2.3.3 數(shù)據(jù)分析模塊
 當采集模塊完成某次數(shù)據(jù)采集并與各交換機斷開連接后,系統(tǒng)自動啟動數(shù)據(jù)分析模塊,。數(shù)據(jù)分析模塊從實時表讀取采集模塊最近一次采集的數(shù)據(jù),,將每條記錄與基準表比較,判斷是否存在IP地址-MAC地址或MAC地址-交換機端口號異常對應,,如存在異常對應,,將異常信息生成差異表,它由差異描述,、差異分類,、時間、操作等數(shù)據(jù)項組成,。其中,,異常的類別有IP變更、新增終端和終端變更三種,。如果發(fā)現(xiàn)異常,,該模塊將向管理員發(fā)送報警電子郵件(提示聲或短信),并根據(jù)系統(tǒng)設置是否禁用該端口,。
2.3.4 配置管理模塊
 當異常排除后,,網(wǎng)管人員可用配置管理模塊開啟某個交換機的端口,管理員也可用此模塊來對交換機端口的一些參數(shù)進行配置,。
2.3.5 信息發(fā)布
 采用CGI程序從差異表中讀取數(shù)據(jù),,將差異表異常信息通過IIS 4.0發(fā)布,這樣網(wǎng)絡管理人員可隨時隨地瀏覽查看IP地址安全管理日志,。
3 系統(tǒng)測試
 在一個擁有50多臺終端的局域網(wǎng)中對IPMAC綁定系統(tǒng)做了監(jiān)控與管理測試,該局域網(wǎng)中包括了各種型號的路由器,、交換機,、多種平臺的服務器等標準SNMP設備,測試的結果符合真實網(wǎng)絡運行中包含多種網(wǎng)絡設備的實際情況,。圖5所示為系統(tǒng)在運行期間獲得的差異表,。
 從圖5可以看出,無論是網(wǎng)絡中新增加一個設備,、把設備移到別的端口下,,還是修改了設備的IP地址,系統(tǒng)都能及時,、準確地發(fā)現(xiàn)并報警,。這就使得網(wǎng)絡管理人員能及時地發(fā)現(xiàn)網(wǎng)絡中出現(xiàn)的異常變動,便于對可能出現(xiàn)的網(wǎng)絡安全隱患采取相應的措施,。系統(tǒng)在運行期間是全自動的,,網(wǎng)絡管理人員即使不在電腦旁也能通過系統(tǒng)發(fā)送的短信報警信息及時發(fā)現(xiàn)網(wǎng)絡的常異變動,這就極大提高了網(wǎng)絡的可維護性和安全性,減輕了網(wǎng)絡管理人員的負擔,。

 針對當前網(wǎng)絡運行和管理中存在的IP地址理管混亂,、IP冒用等問題,本文在研究SNMP網(wǎng)絡管理模型的基礎上,,仔細探討了IPMAC綁定系統(tǒng)的設計與實現(xiàn),,并通過在局域網(wǎng)中的使用測試得到了良好的預期效果:
 (1)系統(tǒng)能有效地發(fā)現(xiàn)和阻止IP地址及MAC地址盜用,提高了網(wǎng)絡的安全性和管理水平,。
 (2)IPMAC系統(tǒng)具有網(wǎng)絡配置工作量小,、用戶透明、對網(wǎng)絡的性能影響小等優(yōu)點,。
 (3)隨著計算機網(wǎng)絡規(guī)模不斷擴大以及復雜度的不斷提高,,SNMP在提高網(wǎng)絡系統(tǒng)的可管理性、可靠性和安全性等方面將發(fā)揮越來越大的作用,。
參考文獻
[1] WALDBUSSER S. RFC1757-Remote network monitoring management information base[DB/OL]. Camegie  Mellon University,, 1995,2.
[2] 于小紅.網(wǎng)絡管理軟件的選擇和應用[J].計算機應用研究,,2001(2):25-28.
[3] 岑賢道,,安常青.網(wǎng)絡管理協(xié)議及應用開發(fā)[M].北京:清華大學出版社,1999.
[4] STEVEN W R.TCP/IP詳解卷1:協(xié)議[M].北京:機械工業(yè)出版社,,2008.

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。