999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

交換式局域網(wǎng)物理拓?fù)浒l(fā)現(xiàn)系統(tǒng)的研究與設(shè)計

2008-04-12 00:00:00崔婧昱董小國
現(xiàn)代電子技術(shù) 2008年18期

摘 要:物理拓?fù)浒l(fā)現(xiàn)對于網(wǎng)絡(luò)管理及性能分析具有重要的作用。給出生成樹協(xié)議與地址轉(zhuǎn)發(fā)表相結(jié)合的到主機(jī)的物理拓?fù)浒l(fā)現(xiàn)算法。并針對大部分網(wǎng)絡(luò)設(shè)備是CISCO產(chǎn)品的網(wǎng)絡(luò),提出運(yùn)用CDP協(xié)議和子網(wǎng)內(nèi)ping技術(shù)相結(jié)合的開發(fā)方法。此方法既提高開發(fā)效率又增強(qiáng)了拓?fù)浒l(fā)現(xiàn)的完整性,為進(jìn)一步的網(wǎng)絡(luò)管理提供詳細(xì)的可視化物理拓?fù)浣Y(jié)構(gòu)。

關(guān)鍵詞:物理拓?fù)浒l(fā)現(xiàn);生成樹協(xié)議;地址轉(zhuǎn)發(fā)表;CDP

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:B 文章編號:1004373X(2008)1809703

Research and Design of Physical Topology Discovery System in Switched LAN

CUI Jingyu,DONG Xiaoguo

(College of Information Science and Technology,Beijing University of Chemical Technology,Beijing,100029,China)

Abstract:Physical topology discovery for network management and performance analysis has an important role to play.This paper proposes hostlevel algorithm combining Spanning Tree Protocol(STP) and Address Forwarding Table(AFT).For the environment mainly networked by CISCO equipments,this paper introduces a development method combining CDP and subnet ping technology.This method not only improves the efficiency of development but also enhances the integrity of topology discovery,for further network management provides detailed visual physical topology.

Keywords:physical topology discovery;spanning tree protocol;address forwarding table;CDP

1 引 言

為了提高局域網(wǎng)的性能,以交換機(jī)互聯(lián)和集群技術(shù)為支撐的交換式局域網(wǎng)\\已經(jīng)成為當(dāng)前局域網(wǎng)互連技術(shù)的主流,物理拓?fù)浣Y(jié)構(gòu)也已成為局域網(wǎng)拓?fù)浒l(fā)現(xiàn)結(jié)構(gòu)的骨干,其目標(biāo)是建立網(wǎng)絡(luò)內(nèi)各種設(shè)備之間的物理連接關(guān)系,從而為快速、高效的網(wǎng)絡(luò)管理提供基礎(chǔ)。

對物理拓?fù)浒l(fā)現(xiàn)而言,雖然IETF于2000年推出物理拓?fù)銶IB(Management Information Base)\\,試圖解決網(wǎng)絡(luò)層以下拓?fù)浣Y(jié)構(gòu)的發(fā)現(xiàn)問題,但是由于沒有確定獲取這些MIB對象的機(jī)制,因此有待更多的研究。目前最常用是利用地址轉(zhuǎn)發(fā)表和生成樹協(xié)議(Spanning Tree Protocol)的方法來獲取物理拓?fù)湫畔?,另外很多廠商開發(fā)了基于數(shù)據(jù)鏈路層的鄰居發(fā)現(xiàn)協(xié)議,如CISCO的CDP(Cisco Discovery Protocol)協(xié)議等,在特定設(shè)備環(huán)境下可以快速高效地進(jìn)行物理拓?fù)浒l(fā)現(xiàn)系統(tǒng)的開發(fā)。

本文結(jié)合地址轉(zhuǎn)發(fā)表和生成樹協(xié)議的特點(diǎn),給出以生成樹協(xié)議為主,地址轉(zhuǎn)發(fā)表為輔的到主機(jī)層次的局域網(wǎng)物理拓?fù)浒l(fā)現(xiàn)算法。并根據(jù)自身局域網(wǎng)的特點(diǎn),選取CDP協(xié)議,運(yùn)用SNMP++軟件包,借助Visual C++ 6.0開發(fā)工具,進(jìn)行主干網(wǎng)物理拓?fù)浒l(fā)現(xiàn)系統(tǒng)的快速開發(fā),并結(jié)合子網(wǎng)內(nèi)ping技術(shù),達(dá)到主機(jī)層次的拓?fù)浒l(fā)現(xiàn),為進(jìn)一步的網(wǎng)絡(luò)管理提供了詳細(xì)的可視化物理拓?fù)浣Y(jié)構(gòu)。

2 物理拓?fù)浒l(fā)現(xiàn)算法的研究

2.1 生成樹協(xié)議與地址轉(zhuǎn)發(fā)表相結(jié)合的算法

目前對于物理拓?fù)浒l(fā)現(xiàn)最常用的辦法是讀取地址轉(zhuǎn)發(fā)表信息,通過分析,找出端口與MAC地址的映射。有冗余連接的網(wǎng)絡(luò)則使用生成樹協(xié)議(Spanning Tree Protocol),使所有位于生成樹葉節(jié)點(diǎn)位置的交換機(jī)僅含有單個網(wǎng)段的端口信息,而它的上一級交換機(jī),則會包含下連交換機(jī)的所有MAC信息,配合根端口、根網(wǎng)橋MAC地址等,獲得拓?fù)渌枰男畔ⅰ?/p>

結(jié)合地址轉(zhuǎn)發(fā)表和生成樹協(xié)議的特點(diǎn),下面分別給出了交換機(jī)與交換機(jī)之間,交換機(jī)與路由器之間以及交換機(jī)與主機(jī)之間的連接關(guān)系的確立。

2.1.1 交換機(jī)與交換機(jī)的連接關(guān)系

SNMP BRIDGE MIBⅡ\\提供實現(xiàn)生成樹協(xié)議所需的交換機(jī)的MIB變量。算法主要涉及到的MIB變量見表1。

算法的描述如下:

(1) 深度優(yōu)先遍歷管理域中所有設(shè)備,讀取MIB變量sysServices及ipForwarding,若sysServices=2^(2-1)=2并且ipForwarding=2,則判斷該設(shè)備為交換機(jī),將其加入交換機(jī)集合中;

(2) 廣度優(yōu)先遍歷交換機(jī)集合中的每一臺交換機(jī),讀取MIB變量dotldStpDesignatedRoot(指定根網(wǎng)橋),將值相同的歸于同一類,由生成樹協(xié)議可知,它們處于同一交換域。然后在每一個交換域里,找出各交換機(jī)之間的關(guān)系;

(3) 遍歷交換域中每一臺交換機(jī),讀取變量dotldStpRootPort的值,得到其根端口號;

(4) 讀取dotldStpPortDesignatedBridge的值查找根端口對應(yīng)的指定網(wǎng)橋;

(5) 讀取變量dotldStpPortDesignatedPort的值,查找與根端口對應(yīng)的指定端口,從而得到交換機(jī)與交換機(jī)的連接關(guān)系。

2.1.2 交換機(jī)與路由器的連接關(guān)系

(1) 在深度優(yōu)先遍歷管理域中所有設(shè)備讀取sysServices時,若sysServices=2^(3-1)=4,則判斷該設(shè)備為路由器,將其加入路由器集合中;

(2) 讀取路由器ifPhysAddress,獲得所有路由器MAC地址;

(3) 讀取所有交換機(jī)端口地址轉(zhuǎn)發(fā)表dotldTpFdbAddress;

(4) 根據(jù)路由器R與交換機(jī)Si的端口Sij直接連接的充要條件是Sij是直連端口,且Sij的地址轉(zhuǎn)發(fā)表中包含路由器R的MAC地址,判斷交換機(jī)和路由器的連接關(guān)系。

2.1.3 交換機(jī)與主機(jī)之間的連接關(guān)系

(1) 在深度優(yōu)先遍歷管理域中所有設(shè)備讀取sysServices時,若sysServices=2^(4-1)+2 ^(7- 1)=72,則判斷該設(shè)備為主機(jī),將其加入主機(jī)集合中;

(2) 讀取交換機(jī)dotldTpFdbAddress中關(guān)于各端口的地址轉(zhuǎn)發(fā)表,經(jīng)交換機(jī)進(jìn)行數(shù)據(jù)幀轉(zhuǎn)發(fā)和過濾得到端口接入設(shè)備物理地址表;

(3) 讀取交換機(jī)的ipNetMediaTable表中保存所有該設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)包的MAC地址;

(4) 從上述2表可以導(dǎo)出端口接入設(shè)備信息表。該表包括端口號、IP地址和物理地址,從而得到交換機(jī)與主機(jī)之間的連接關(guān)系。

2.2 基于CDP的算法研究

本文基于網(wǎng)絡(luò)中大部分設(shè)備為CISCO設(shè)備的特點(diǎn),運(yùn)用CDP協(xié)議(Cisco Discovery Protocol)進(jìn)行拓?fù)浒l(fā)現(xiàn),它的特點(diǎn)是發(fā)現(xiàn)和本設(shè)備直接連接的網(wǎng)絡(luò)設(shè)備,并保存相關(guān)設(shè)備的一些基本信息。

CISCOCDPMIB文件中定義了被管理對象,包含所有可以從命令行得到的關(guān)于CDP的信息。在這個MIB文件中,定義了一個表,表示設(shè)備的CDP鄰居所有信息。運(yùn)行期間,表的每一個行實例表示一臺鄰居設(shè)備。下面列出幾個關(guān)鍵的被管理對象,見表2。

網(wǎng)絡(luò)中的每一條物理連接,兩端的設(shè)備保存有2條獨(dú)立的CDP條目。而確定一個物理連接,

只要一條信息就夠了。約定:任意一個節(jié)點(diǎn),只保存它的父節(jié)點(diǎn)的連接信息,不保存它的子節(jié)點(diǎn)的連接信息,掃描過程如圖1。

3 拓?fù)浒l(fā)現(xiàn)系統(tǒng)的設(shè)計

因為本局域網(wǎng)中大部分網(wǎng)絡(luò)設(shè)備是CISCO產(chǎn)品,利用CDP協(xié)議,運(yùn)用SNMP++軟件包,借助Visual C++ 6.0開發(fā)工具,進(jìn)行主干網(wǎng)物理拓?fù)浒l(fā)現(xiàn)系統(tǒng)的快速開發(fā)。

根據(jù)系統(tǒng)實現(xiàn)的功能,將整個系統(tǒng)分為5個部分:界面、拓?fù)湫畔⒌牟杉?、拓?fù)湫畔⒌奶幚?、拓?fù)鋱D形的繪制以及圖形修正。

3.1 拓?fù)湫畔⒌牟杉?/p>

本模塊首先實現(xiàn)一個新類MySnmp,利用它完成大部分SNMP操作,其中SNMP++的VC++實現(xiàn)流程如圖2所示,同時定義幾個主要的數(shù)組與函數(shù),它們的名稱與功能如下:

CStringArray Oid;//保存OID的數(shù)組

CStringArray Value;//保存值的數(shù)組

CString err;//定義錯誤字符串

CString GetOid(int index);//獲得指定索引處的OID的字符串

CString GetValue(int index);//獲得指定索引處的值的字符串

Void clear();//清除數(shù)組

3.2 拓?fù)湫畔⒌奶幚?/p>

該模塊為算法的主要實現(xiàn)模塊,其中有一個重要的節(jié)點(diǎn)結(jié)構(gòu)體:

struct NodeData

{

CString ip;//節(jié)點(diǎn)的IP地址;

CString sysDescr;//節(jié)點(diǎn)描述;

bool link;//表示節(jié)點(diǎn)是否已有連接關(guān)系;

int level;//表示節(jié)點(diǎn)在網(wǎng)絡(luò)拓?fù)渲兴幍膶哟危?/p>

int position;//表示節(jié)點(diǎn)相對于其他兄弟節(jié)點(diǎn)的位置;

int type;//表示節(jié)點(diǎn)的類型,交換機(jī)或者路由器;

CMyImage *pImage;//指向圖形控件的指針,用于可視化顯示;

};

每條CDP條目處理后分配一個NodeData結(jié)構(gòu)類型變量,在Tree Control中增加一個表示該設(shè)備的節(jié)點(diǎn),節(jié)點(diǎn)data屬性指向NodeData結(jié)構(gòu)類型變量,同時在數(shù)組中保存該節(jié)點(diǎn)的句柄。在和新增加節(jié)點(diǎn)關(guān)聯(lián)的NodeData結(jié)構(gòu)類型變量中,將本次被掃描設(shè)備作為一個鄰居設(shè)備,保存到它的物理連接信息,這樣,每次新增加的節(jié)點(diǎn)保存到它父節(jié)點(diǎn)的連接信息,而父節(jié)點(diǎn)中不保存到子節(jié)點(diǎn)的連接信息,這樣便獲得各個節(jié)點(diǎn)的連接關(guān)系,為后面的圖形化顯示提供依據(jù)。

3.3 拓?fù)鋱D形的繪制

拓?fù)鋱D形不僅能夠靜態(tài)顯示,而且允許設(shè)備的移動,因此在頭文件中需要定義幾個主要變量:

bool move;//控制是否移動的邏輯變量;

int init_x,init_y;//保存原始坐標(biāo)位置,設(shè)備移動時使用;

CPoint Pos;//坐標(biāo)位置信息,繪制連接線時使用;

CString ip;//表示網(wǎng)絡(luò)設(shè)備的IP地址;

HTREEITEM HSelf;//表示設(shè)備在生成樹中節(jié)點(diǎn)的句柄;

同時定義OnPaint( )函數(shù),在設(shè)備圖標(biāo)被拖動、顯示窗體被移動后,重新繪制各個圖形控件之間的連接線,以保持正確的圖形。

3.4 圖形修正

獲取的網(wǎng)絡(luò)拓?fù)湫畔⒖赡艽嬖谄?,如設(shè)備遺漏和設(shè)備重復(fù),因此圖形修正可以通過增加設(shè)備和合并設(shè)備來完成,其流程如圖3所示。

4 主干網(wǎng)系統(tǒng)實現(xiàn)情況

使用Visual C++ 6.0開發(fā)工具,進(jìn)行的主干網(wǎng)物理拓?fù)浒l(fā)現(xiàn)系統(tǒng)的實現(xiàn)情況如圖4所示,左邊為樹狀關(guān)系列表,右邊為圖形化顯示。該主干網(wǎng)物理拓?fù)浒l(fā)現(xiàn)系統(tǒng)實現(xiàn)了對本校園局域網(wǎng)內(nèi)所有主干網(wǎng)絡(luò)設(shè)備的拓?fù)浒l(fā)現(xiàn)。

5 子網(wǎng)內(nèi)ping功能的研究與實現(xiàn)

上述系統(tǒng)實現(xiàn)了對網(wǎng)絡(luò)主干設(shè)備的物理拓?fù)浒l(fā)現(xiàn),在此基礎(chǔ)上結(jié)合ICMP協(xié)議的ping功能,可以實現(xiàn)主機(jī)的檢測,以加強(qiáng)網(wǎng)絡(luò)拓?fù)涞耐暾浴?/p>

對網(wǎng)絡(luò)中骨干設(shè)備在適當(dāng)?shù)臅r機(jī)進(jìn)行子網(wǎng)搜索,以獲取子網(wǎng)內(nèi)其他活動設(shè)備的地址、類型及狀態(tài)等信息。最直接有效的方法便是群ping某網(wǎng)段,以獲得該網(wǎng)段的主機(jī)信息。使用異步過程調(diào)用技術(shù)[4](APC)并基于微軟庫函數(shù)IcmpSendEcho2的實現(xiàn)方式流程圖如圖5所示。

某子網(wǎng)段的群ping結(jié)果圖6所示。

6 結(jié) 語

物理網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)對于網(wǎng)絡(luò)管理以及網(wǎng)絡(luò)性能分析具有重要的作用,本文給出以生成樹協(xié)議為主,地址轉(zhuǎn)發(fā)表為輔的到主機(jī)的局域網(wǎng)物理拓?fù)浒l(fā)現(xiàn)算法,并根據(jù)自身局域網(wǎng)的特點(diǎn),選取CDP協(xié)議完成自身局域網(wǎng)拓?fù)浒l(fā)現(xiàn)系統(tǒng)的設(shè)計和實現(xiàn),且結(jié)合子網(wǎng)內(nèi)ping功能,實現(xiàn)了到主機(jī)層次的檢測,使網(wǎng)絡(luò)拓?fù)涞耐暾源蟠蠹訌?qiáng),為進(jìn)一步的網(wǎng)絡(luò)管理提供了詳細(xì)的可視化物理拓?fù)浣Y(jié)構(gòu)。

參 考 文 獻(xiàn)

[1]Andrew S Tanenbaum.計算機(jī)網(wǎng)絡(luò)[M].3版.熊桂喜,譯.北京:清華大學(xué)出版社,1998.

[2]Bierman A,Jones K.RFC 2922.Physical Topology MIB [S].2000.

[3]Decker E,Langille P.Definitions of Managed Objects for Bridges[S].RFC 1493,1993.

[4]鄭洪方,王玉峰,王光興,等.基于IP網(wǎng)絡(luò)的物理拓?fù)渥詣影l(fā)現(xiàn)算法[J].小型微型計算機(jī)系統(tǒng),2006,27(1):1721.

作者簡介 崔婧昱 女,1983年出生,碩士研究生。研究方向為網(wǎng)絡(luò)與數(shù)據(jù)庫。

主站蜘蛛池模板: 亚洲人成影院午夜网站| 欧美午夜视频| 亚洲精品中文字幕午夜| www.91中文字幕| 一区二区理伦视频| 就去吻亚洲精品国产欧美| 综合社区亚洲熟妇p| 免费人成网站在线观看欧美| 亚洲av综合网| 热re99久久精品国99热| 久久久受www免费人成| 国产精品美人久久久久久AV| 欧美成人在线免费| 国产欧美精品一区aⅴ影院| 天天激情综合| 国产欧美高清| 日韩a在线观看免费观看| 亚洲首页在线观看| 亚洲AⅤ波多系列中文字幕| 九色视频线上播放| 白浆视频在线观看| a级毛片网| 久久综合九色综合97婷婷| 国产激情在线视频| 全免费a级毛片免费看不卡| 欧美在线综合视频| 日韩精品一区二区三区免费| 国产一二三区视频| 国产真实乱子伦精品视手机观看| 无码人中文字幕| 国产成年无码AⅤ片在线| 久草美女视频| 国产剧情伊人| 波多野结衣一区二区三区88| 看国产一级毛片| 中文字幕第4页| 欧美综合成人| 亚洲成人福利网站| 国产精品污污在线观看网站| 国产成人高清精品免费软件| 中文字幕亚洲电影| 亚洲视屏在线观看| 精品无码视频在线观看| 亚洲国产成人超福利久久精品| 久久国产V一级毛多内射| 无码高清专区| 四虎影视库国产精品一区| 日韩小视频网站hq| 一级一级特黄女人精品毛片| 国产成人免费视频精品一区二区 | 六月婷婷激情综合| 欧美日韩综合网| 国产视频欧美| 亚洲AV无码一区二区三区牲色| 18禁高潮出水呻吟娇喘蜜芽| 综合色在线| 日本国产精品一区久久久| 中文字幕第1页在线播| 又大又硬又爽免费视频| 国产高清在线精品一区二区三区| 国产一级无码不卡视频| 亚洲视频黄| 97se亚洲综合| 亚洲第一视频网| 精品国产免费观看一区| 国产在线视频二区| 日韩精品一区二区深田咏美| 欧美成人aⅴ| A级毛片高清免费视频就| 久久人搡人人玩人妻精品一| 日本不卡在线播放| 99热亚洲精品6码| 色AV色 综合网站| 国产精品xxx| 国产女人在线观看| 久久久久亚洲AV成人网站软件| 99国产精品一区二区| 亚洲黄网在线| 国产精品乱偷免费视频| 国产偷倩视频| 999国产精品| 亚洲成年人片|