• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SNMP的鐵路信號監(jiān)督系統(tǒng)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法

      2018-12-01 07:04:56磊,馬
      鐵路計算機(jī)應(yīng)用 2018年11期
      關(guān)鍵詞:網(wǎng)橋網(wǎng)絡(luò)拓?fù)?/a>路由器

      王 磊,馬 亮

      (西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 611756)

      鐵路信號的集中監(jiān)測(CSM,Centralized Signaling Monitoring) 系統(tǒng)是面向高速鐵路及普速鐵路信號領(lǐng)域的綜合性維護(hù)支持和信息監(jiān)控網(wǎng)絡(luò)平臺[1]。根據(jù)鐵路部門運營管理結(jié)構(gòu),CSM系統(tǒng)應(yīng)用“三級四級”的體系結(jié)構(gòu)進(jìn)行系統(tǒng)部署,鐵路局采用交換機(jī)組網(wǎng),車站局域網(wǎng)采用交換機(jī)或者集線器組網(wǎng),電務(wù)段子系統(tǒng)則是整個網(wǎng)絡(luò)信息與服務(wù)的匯集地[2]。這些網(wǎng)絡(luò)設(shè)備大多布置在信號機(jī)房內(nèi),規(guī)模龐大復(fù)雜,設(shè)備之間接口眾多,而信號與通信設(shè)備若各自獨立則不利于進(jìn)行故障診斷,因此,需要對CSM系統(tǒng)中的網(wǎng)絡(luò)設(shè)備進(jìn)行集中監(jiān)測及管理。在信息系統(tǒng)中網(wǎng)絡(luò)設(shè)備之間的通信狀態(tài)監(jiān)測依賴于網(wǎng)絡(luò)拓?fù)鋄3],目的是通過拓?fù)鋱D直觀地反映網(wǎng)絡(luò)中設(shè)備的連接狀況,并且可基于網(wǎng)絡(luò)拓?fù)鋵崿F(xiàn)故障定位、分析和維修[4],因此,在CSM系統(tǒng)中網(wǎng)絡(luò)拓?fù)浼夹g(shù)是關(guān)鍵。文獻(xiàn)[1]中使用CSM平臺對信號設(shè)備進(jìn)行集中監(jiān)控和智能分析,為鐵路信號設(shè)備實施“狀態(tài)修”創(chuàng)造了有利條件,但是,需要對CSM平臺本身的網(wǎng)絡(luò)設(shè)備進(jìn)行監(jiān)測與維護(hù)。文獻(xiàn)[5]設(shè)計了信息系統(tǒng)綜合監(jiān)控平臺,使用ARP表結(jié)合ping掃描的方法實現(xiàn)信息系統(tǒng)網(wǎng)絡(luò)拓?fù)涞淖詣影l(fā)現(xiàn),但是網(wǎng)絡(luò)拓?fù)渖蓵r間較長,影響監(jiān)測的實時性和準(zhǔn)確性,而且如果某些設(shè)備關(guān)閉ping掃描功能,可能會導(dǎo)致掃描不完整,影響拓?fù)渖傻耐暾浴?/p>

      本文以保障CSM系統(tǒng)運行可靠性,提高自動拓?fù)鋾r效性、完整性和準(zhǔn)確性為目的,基于SNMP協(xié)議,采用網(wǎng)際控制報文協(xié)議(ICMP)結(jié)合端口掃描的方法全面地探測活動節(jié)點,從而能夠更有效地發(fā)現(xiàn)CSM系統(tǒng)中各網(wǎng)絡(luò)設(shè)備之間的拓?fù)潢P(guān)系,并可依照生成樹原理分析冗余的物理連接,實現(xiàn)自動發(fā)現(xiàn)的拓?fù)渑c實際網(wǎng)絡(luò)拓?fù)湟恢拢罱K通過C#語言編程實現(xiàn)拓?fù)渥詣影l(fā)現(xiàn)算法。

      1 網(wǎng)絡(luò)拓?fù)浣榻B

      1.1 SNMP協(xié)議及表單獲取

      SNMP稱為簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol)[6],是最早的網(wǎng)絡(luò)管理協(xié)議之一。由于SNMP被設(shè)計成與協(xié)議無關(guān),因而得到了眾多廠商和網(wǎng)絡(luò)管理平臺的支持,對它進(jìn)行分析具有重要的意義。SNMP是一種基于用戶數(shù)據(jù)報協(xié)議 (User Datagram Protocol,UDP)的協(xié)議[7],可通過SNMP協(xié)議從路由器中的MIBⅡ信息庫或交換機(jī)、網(wǎng)橋中的VLAN-MIB、Bridge-MIB[8]信息庫中獲取路由設(shè)備列表或主機(jī)列表,從而構(gòu)造網(wǎng)絡(luò)拓?fù)洹?/p>

      本文中主要通過SNMP獲取管理信息庫(MIB)變量,目的是通過相關(guān)的MIB對象判斷網(wǎng)絡(luò)中設(shè)備的真實(物理)連接情況,拓?fù)浒l(fā)現(xiàn)過程中需要獲取的MIB中的對象詳細(xì)見表1~表3。表1主要是得到網(wǎng)絡(luò)中路由器的MAC地址以及IP地址,表2得到交換機(jī)轉(zhuǎn)發(fā)表中MAC地址及對應(yīng)的端口號,表3是獲得交換機(jī)生成樹協(xié)議中的端口號、根橋等信息。

      表1 ipNetToMediaTable表對象及說明

      表2 dot1dTpFdbTable表對象及說明

      表3 dot1dStpPortTable表對象及說明

      為了方便得到MIB變量,在C#中可調(diào)用針對SNMP協(xié)議封裝的類庫SnmpSharpNet.dll,通過GetSNMPTable方法調(diào)用封裝類庫。

      關(guān)鍵代碼如下:

      //配置設(shè)備的團(tuán)體名,IP地址,版本號等信息。

      OctetString community = new OctetString(comm);

      IpAddress agent = new IpAddress(ip);

      AgentParameters param = new AgentParameters(community);

      param.Version = SnmpVersion.Ver1;

      UdpTarget target = new UdpTarget((IPAddress)agent, 161, 2000, 1)

      //根據(jù)Oid找對應(yīng)的值Oid rootOid = new Oid(oid);

      Oid lastOid = (Oid)rootOid.Clone();

      //采用GetNext方式獲取,并暫時保存在temp_list中

      Pdu Table_pdu_next = new Pdu(PduType.Get-Next);

      List<string> temp_list=new List<string>();

      while(lastOid!=null)

      {

      temp_list.Add(Table_result.Pdu.VbList[0].Value.ToString());

      //找完指定表之后,lastOid賦值null

      }

      1.2 生成樹協(xié)議介紹

      生成樹協(xié)議(STP, Spanning Tree Protocol)是一個網(wǎng)橋到網(wǎng)橋的協(xié)議[9],它隨后被IEEE802 委員會修訂并發(fā)布在802.1d 規(guī)范[10]中。STP生成樹的使用既保障網(wǎng)橋之間的冗余連接,同時又可避免網(wǎng)絡(luò)環(huán)路在交換鏈路中的出現(xiàn)。STP基本術(shù)語包括:

      (1)網(wǎng)橋協(xié)議數(shù)據(jù)單元(BPDU):STP中的“hello數(shù)據(jù)包”,間隔一定時間(該時間可配置)發(fā)送,該消息在各網(wǎng)橋之間交換;

      (2)網(wǎng)橋號(Bridge ID):由2字節(jié)優(yōu)先級與6字節(jié)MAC地址組成,為網(wǎng)絡(luò)中每一臺交換機(jī)標(biāo)識身份, 優(yōu)先級為 0–65535,缺省為 32768;

      (3)根網(wǎng)橋(RB):具有最小網(wǎng)橋號,根網(wǎng)橋并且所有端口都處于轉(zhuǎn)發(fā)狀態(tài);

      (4)指定網(wǎng)橋(DB):指到根網(wǎng)橋的累計路徑花費最小的網(wǎng)橋;

      (5)根端口(RP):網(wǎng)絡(luò)中在非根網(wǎng)橋上,指定連接到根橋路徑最短的端口;

      (6)指定端口(DP):非根網(wǎng)橋為每個需要連接的網(wǎng)段選出一個指定端口,根網(wǎng)橋上的端口都是指定端口;

      (7)非指定端口(BP):非指定端口將處于阻塞狀態(tài),不轉(zhuǎn)發(fā)任何用戶數(shù)據(jù)。

      STP的主要思想是每個網(wǎng)橋定時發(fā)送BPDU,在冗余網(wǎng)絡(luò)連接中維持一個無回路的網(wǎng)絡(luò),阻塞一個或者多個冗余的接口。當(dāng)網(wǎng)絡(luò)中某條鏈接故障或者添加新的鏈接,能夠快速發(fā)現(xiàn)網(wǎng)絡(luò)鏈接變化,按照STP配置交換機(jī)接口,避免丟失鏈接或新的回路出現(xiàn)。

      1.2.1 STP工作過程

      (1)進(jìn)行根橋的選?。好颗_交換機(jī)定時向鄰接交換機(jī)發(fā)送BPDU,選出Bridge ID最小的網(wǎng)橋作為網(wǎng)絡(luò)中的根橋;

      (2) 確定交換機(jī)指定端口及根端口:通過計算非根橋的交換機(jī)到根橋的最小路徑開銷,找出根端口(最小的發(fā)送方網(wǎng)橋ID)和指定端口(最小的端口ID);

      (3) 裁剪冗余端口:阻塞非根網(wǎng)橋上非指定端口以裁剪冗余的環(huán)路,構(gòu)造一個無環(huán)路的拓?fù)浣Y(jié)構(gòu)。

      如圖1所示,根橋(S1)選作為樹干,在處于穩(wěn)定狀態(tài)的網(wǎng)絡(luò)中,BPDU從根橋沿著無環(huán)的樹枝傳送到網(wǎng)絡(luò)的各個網(wǎng)段,沒被裁剪的活動鏈路作為向外輻射的樹枝,原本S2與S3之間有一條鏈接,圖中虛線為阻塞環(huán)路,此時S2的端口4或者S3的端口2為阻塞狀態(tài)。經(jīng)過裁剪冗余之后,生成一顆樹結(jié)構(gòu),樹結(jié)構(gòu)是沒有環(huán)路的。

      圖1 STP協(xié)議得到生成樹示意圖

      1.2.2 STP操作規(guī)則

      STP操作之后,最終確定唯一的生成樹,如圖2所示,A為根交換機(jī),每個網(wǎng)絡(luò)中只有一個根橋,根橋上的接口全是指定端口(黃色圈),對于其他非根橋,每個根橋只有一個根端口(黑色圈);并且每個段只有一個指定端口,其他接口為非指定端口,在圖2中,C交換機(jī)到A交換機(jī),可以通過C-A鏈路,還可以C-B-A鏈路,STP生成樹之后,C的端口2阻塞,那么就只能C-A,此時該段就只有A交換機(jī)的2端口為指定端口。指定端口才可以轉(zhuǎn)發(fā)數(shù)據(jù),非指定端口(阻塞端口)不能轉(zhuǎn)發(fā)數(shù)據(jù)。

      圖2 STP工作過程示意圖

      2 網(wǎng)絡(luò)拓?fù)浞椒ㄔO(shè)計

      2.1 數(shù)據(jù)庫表單構(gòu)造

      通常在發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)溥^程中會涉及到很多表單,甚至有的表單會多次處理使用,由于各個設(shè)備性能也存在差異,如果直接使用SNMP協(xié)議反復(fù)獲取路由器、交換機(jī)的網(wǎng)絡(luò)信息表單就會占用更多的網(wǎng)絡(luò)資源,并且會增加構(gòu)造拓?fù)涞臅r間,雖然我們是在局域網(wǎng)中發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)?,但是需要獲取多個設(shè)備表單。針對該情況,本文采用本地表單的形式,在數(shù)據(jù)庫中保存當(dāng)前活動節(jié)點以及所有活動節(jié)點的網(wǎng)絡(luò)信息。

      (1)需要保存已經(jīng)探測到的活動節(jié)點,表項包括:設(shè)備IP、類型及活動節(jié)點標(biāo)志,用于存放已經(jīng)被ICMP探測或端口掃描出的節(jié)點信息;(2)需要一張表存放ICMP沒有探測到的節(jié)點,可用于端口多次掃描使用,表項包括:設(shè)備IP,掃描次數(shù)標(biāo)記。

      針對路由器,我們需要獲取表1中的對象,與該路由器設(shè)備ID,IP生成表(設(shè)備ID,路由器IP,節(jié)點IP,節(jié)點MAC地址)。

      交換機(jī)需要獲取表2及表3中的對象,構(gòu)造轉(zhuǎn)發(fā)表(設(shè)備ID,交換機(jī)IP,節(jié)點MAC地址,節(jié)點端口號,節(jié)點狀態(tài))和STP生成樹表(設(shè)備ID,設(shè)備IP,Bridge ID,端口號,端口狀態(tài),根橋Bridge ID,指定橋Bridge ID,指定端口ID)。

      2.2 ICMP探測及端口掃描

      系統(tǒng)采用ICMP結(jié)合端口掃描的方式作為拓?fù)浒l(fā)現(xiàn)的探測機(jī)制,避免少數(shù)設(shè)備屏蔽了ICMP功能之后不能被正常發(fā)現(xiàn),導(dǎo)致拓?fù)洳粔蛲暾膯栴},所以需要通過端口掃描作為輔助方法,結(jié)合這兩種方式可以更加快速完整地發(fā)現(xiàn)搜索范圍內(nèi)的所有活動節(jié)點。

      設(shè)備活動節(jié)點的搜索過程如下:

      (1)按照管理員要求配置搜索范圍,接著由程序通過多個線程同時使用基于ICMP的Ping方法,針對此范圍內(nèi)的活動節(jié)點進(jìn)行發(fā)現(xiàn),把探索到的節(jié)點存入活動節(jié)點表中;

      (2)針對不響應(yīng)ICMP的節(jié)點,進(jìn)一步使用端口掃描,按照配置文件中的參數(shù)可以重復(fù)掃描的次數(shù),如果達(dá)到掃描次數(shù)的上限仍然沒有響應(yīng)就應(yīng)該放棄此節(jié)點,如果在某次掃描中響應(yīng),則此節(jié)點應(yīng)該當(dāng)作被發(fā)現(xiàn)的活動節(jié)點,加入活動節(jié)點表中,待后續(xù)數(shù)據(jù)處理使用?;顒庸?jié)點的掃描流流程如圖3所示。

      圖3 掃描流程圖

      采用這樣的方法可以有效地探測活動節(jié)點設(shè)備。端口使用了全TCP連接的掃描方式,與探測主機(jī)搭建一個能夠被識別的對應(yīng)端口的連接,為了節(jié)約搜索等待的時間,搜索子模塊可同時開啟多個線程來進(jìn)行掃描,并且將搜索發(fā)現(xiàn)的活動節(jié)點信息全部保存在活動節(jié)點表中。

      2.3 物理連接判斷方法

      2.3.1 物理連接判斷

      通過 SNMP協(xié)議獲取路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備的路由表、轉(zhuǎn)發(fā)表數(shù)據(jù),雖然轉(zhuǎn)發(fā)表記錄了節(jié)點的 MAC地址,但是若多臺交換機(jī)同在一個交換域內(nèi),不管節(jié)點是否物理連接此交換機(jī),整個交換域內(nèi)MAC地址都會被保存在當(dāng)前交換機(jī)中,所以單純地根據(jù)交換機(jī)上的轉(zhuǎn)發(fā)表還無法區(qū)分此交換機(jī)與其他設(shè)備是直連的還是非直連的關(guān)系[11],所以需要進(jìn)一步通過分析生成樹協(xié)議,按照生成樹的方式來判斷設(shè)備直連關(guān)系。

      局域網(wǎng)絡(luò)中活動節(jié)點探測完成后,需要先對各節(jié)點進(jìn)行區(qū)分找出各自的類型,并將類型保存在活動節(jié)點表單類型中。根據(jù)設(shè)備類型,可以直接通過SNMP協(xié)議訪問對應(yīng)需要的MIB信息庫,也就是得到各路由器ARP表及各交換機(jī)的轉(zhuǎn)發(fā)表和STP生成樹表。

      從上文1.2.2中已經(jīng)知道STP操作的規(guī)則,可以得出下面幾條結(jié)論。根據(jù)這些STP總結(jié)的結(jié)論,能夠確定出根交換機(jī)、交換機(jī)與交換機(jī)、路由器之間的物理端口連接情況。

      結(jié)論1:設(shè)交換機(jī)S1的端口標(biāo)識為S1i,它的指定網(wǎng)橋為S2,若在指定網(wǎng)橋上的端口(指定端口)為S2j,則S2必為交換機(jī),且交換機(jī)S1、S2 通過接口S1i、S2j設(shè)備直連,并且可以確定S1的端口S1i是根端口。

      結(jié)論2:若端口上獲得節(jié)點的MAC地址是通過非根交換機(jī)的指定端口或者根端口獲得,則該MAC地址對應(yīng)的設(shè)備屬于非直連設(shè)備;如果是通過別的端口(處于轉(zhuǎn)發(fā)狀態(tài))獲取,則屬于直連設(shè)備。因為根交換機(jī)所有端口都是指定端口,所以還需要判斷是不是與交換機(jī)根端口連接,若是,則不是直連,反之則是直連。

      結(jié)論3:若阻塞接口的指定網(wǎng)橋是除自身以外的其它交換機(jī),那么該接口必定與其他交換機(jī)存在作為備份使用的冗余鏈路。

      結(jié)論4:設(shè)交換機(jī)S 的接口p的轉(zhuǎn)發(fā)表記為ASp。對于物理直接連接的交換機(jī)S、K 的兩接口a、b,若ASa∩AKb≠φ,則交換機(jī)S與交換機(jī)K是通過集線器間接連接,反之,交換機(jī)S、K 是通過接口a、b直連。

      2.3.2 網(wǎng)絡(luò)拓?fù)洳襟E

      使用C#語言開發(fā)程序,在內(nèi)存中使用存儲格式如下。

      設(shè)備類:

      網(wǎng)絡(luò)拓?fù)洳襟E如下:

      (1)根據(jù)交換機(jī)STP生成樹表,找到根交換機(jī),再由結(jié)論1,通過查看表單中的指定網(wǎng)橋,可知道對應(yīng)的根端口,這樣初步找到所有交換機(jī)的直連關(guān)系,再根據(jù)結(jié)論3找到阻塞端口構(gòu)成冗余的連接關(guān)系;

      (2)通過步驟(1)已經(jīng)找到所有交換機(jī)之間的物理連接關(guān)系,接下來需要將主機(jī)加入到各交換機(jī)端口上,根據(jù)結(jié)論2,結(jié)合交換機(jī)轉(zhuǎn)發(fā)表中的端口號和MAC地址,找到直連的主機(jī),到這里物理拓?fù)浠旧贤瓿桑?/p>

      (3)完成步驟(2)之后,可根據(jù)結(jié)論4找到交換機(jī)之間是否存在集線器連接,并在內(nèi)存的設(shè)備信息類中修改設(shè)備直連關(guān)系。

      2.4 實現(xiàn)

      根據(jù)電務(wù)段生產(chǎn)力的調(diào)整,未來鐵路信息化有著更大的需求,依據(jù)以數(shù)據(jù)為中心、通信為依靠的布局,建立網(wǎng)絡(luò)通信與信號設(shè)備為一體的鐵路信號綜合監(jiān)測系統(tǒng)??吹贸鼍钟蚓W(wǎng)絡(luò)的正常對各設(shè)備之間的通信是至關(guān)重要,因此需要對網(wǎng)絡(luò)中的交換機(jī)、路由器等關(guān)鍵設(shè)備進(jìn)行網(wǎng)絡(luò)拓?fù)洌瑘D4是在該系統(tǒng)中應(yīng)用該方法得到的網(wǎng)絡(luò)拓?fù)湫Ч故緢D片。用該方法能夠快速有效地發(fā)現(xiàn)網(wǎng)絡(luò)中路由設(shè)備與各交換機(jī)、交換機(jī)與各關(guān)鍵設(shè)備的物理連接關(guān)系,通過拓?fù)鋱D直觀了解網(wǎng)絡(luò)設(shè)備的狀況,便于維護(hù)人員對設(shè)備進(jìn)行故障分析。

      3 結(jié)束語

      本文通過基于SNMP的ICMP探測并結(jié)合端口掃描的方法,實現(xiàn)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn),可減少網(wǎng)絡(luò)開銷,實現(xiàn)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn),完整地發(fā)現(xiàn)網(wǎng)絡(luò)中所有的活動節(jié)點,結(jié)合STP生成樹協(xié)議能夠準(zhǔn)確地發(fā)現(xiàn)設(shè)備之間的物理連接鏈路,包括冗余鏈路的發(fā)現(xiàn)。但是由于項目需求,本文的方法也存在不足,目前可用于局域網(wǎng)內(nèi)的拓?fù)浒l(fā)現(xiàn),要想對廣域網(wǎng)拓?fù)浒l(fā)現(xiàn)還需要進(jìn)一步研究,并結(jié)合其他技術(shù)手段來實現(xiàn)。針對目前實現(xiàn)的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn),下一步將基于該網(wǎng)絡(luò)拓?fù)浞椒ㄑ芯烤W(wǎng)絡(luò)故障定位,實現(xiàn)綜合監(jiān)測平臺的智能故障診斷。

      圖4 在實際中網(wǎng)絡(luò)拓?fù)涞男Ч故?/p>

      猜你喜歡
      網(wǎng)橋網(wǎng)絡(luò)拓?fù)?/a>路由器
      買千兆路由器看接口參數(shù)
      科教新報(2022年24期)2022-07-08 02:54:21
      基于通聯(lián)關(guān)系的通信網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法
      電子制作(2018年23期)2018-12-26 01:01:16
      網(wǎng)橋技術(shù)在海外工程項目中的應(yīng)用
      探析網(wǎng)橋優(yōu)先級
      勞斯萊斯古斯特與魅影網(wǎng)絡(luò)拓?fù)鋱D
      電測與儀表(2016年5期)2016-04-22 01:13:46
      你所不知道的WIFI路由器使用方法?
      “軟隔離”網(wǎng)橋造成的麻煩
      無線路由器輻射可忽略
      潜山县| 巴青县| 临颍县| 黄骅市| 阿勒泰市| 永顺县| 玉屏| 和龙市| 汶川县| 论坛| 乡宁县| 会昌县| 临夏市| 安新县| 龙岩市| 双流县| 贡嘎县| 繁峙县| 温州市| 盐城市| 湄潭县| 华亭县| 图木舒克市| 陵川县| 布尔津县| 襄垣县| 石嘴山市| 龙胜| 景洪市| 山阳县| 华亭县| 武陟县| 定远县| 德钦县| 遂溪县| 松阳县| 磴口县| 盈江县| 临桂县| 龙泉市| 阿坝|