一種二層網絡鏈路計算的方法與設備的制造方法【專利摘要】本申請的目的是提供一種二層網絡鏈路計算方法與設備。與現有技術相比,本申請通過獲取SNMP管理的設備的對應表的數據,其中,所述設備包括三層交換機、二層交換機;并根據所述對應表的數據,獲取三層交換機和二層交換機的IP地址所對應的接口信息,以及確定SNMP管理的設備的根設備和邊緣設備;然后,基于所述接口信息確定二層域,并根據所述邊緣設備、根設備獲取所述二層域中的設備信息;進而,基于所述設備信息,確定二層域內設備間的上下級關系;最后,基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。本申請采用SNMP管理與二層網絡設備鏈路計算算法的方法,可以精確地獲取二層網絡環境下的設備之間的鏈路情況,為維護網絡安全帶來便利。【專利說明】-種二層網絡鏈路計算的方法與設備
技術領域:
[0001]本申請設及計算機領域,尤其設及一種二層網絡鏈路計算的技術。【
背景技術:
】[0002]當前信息產業的發展進入了新的階段,大型企事業單位紛紛利用信息技術來降低成本、提高效率,W更好的適應時代和市場的要求。隨著信息產業的發展,信息化辦公、安全性辦公的需求大量增加,與此同時,網路環境的安全越來越受到重視。如何準確反映當前網絡環境,尤其是二層網絡環境中設備的鏈路情況,對于網路環境安全的維護來說尤為重要。但現有技術中,并無精確的鏈路計算技術,而二層網絡環境中的鏈路計算技術,更為罕見。【
發明內容】[0003]本申請的一個目的是提供一種二層網絡鏈路計算的方法與設備。[0004]根據本申請的一個方面,提供了一種二層網絡鏈路計算方法,其中,該方法包括:[0005]獲取SNMP管理的設備的對應表的數據,其中,所述設備包括=層交換機、二層交換機;[0006]根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備;[0007]基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;[000引基于所述設備信息,確定二層域內設備間的上下級關系;[0009]基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。[0010]根據本申請的另一個方面,還提供了一種二層網絡鏈路計算設備,其中,該計算設備包括:[0011]第一裝置,用于獲取SNMP管理的設備的對應表的數據,其中,所述設備包括=層交換機、二層交換機;[0012]第二裝置,用于根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備;[0013]第=裝置,用于基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;[0014]第四裝置,用于基于所述設備信息,確定二層域內設備間的上下級關系;[0015]第五裝置,用于基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。[0016]與現有技術相比,本申請通過獲取SNMP管理的設備的對應表的數據,其中,所述設備包括=層交換機、二層交換機;并根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備;然后,基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;進而,基于所述設備信息,確定二層域內設備間的上下級關系;最后,基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。本申請采用SNMP管理與二層網絡設備鏈路計算算法的方法,可W精確地獲取二層網絡環境下的設備之間的鏈路情況,為維護網絡安全帶來便利。【附圖說明】[0017]通過閱讀參照W下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:[0018]圖1示出根據本申請一個方面的一種二層網路鏈路計算的方法流程圖;[0019]圖2示出根據本申請另一個方面的一種二層網絡鏈路計算設備的示意圖;[0020]圖3示出根據本申請一個實施例的一個二層域內的上下級關系圖。[0021]附圖中相同或相似的附圖標記代表相同或相似的部件。【具體實施方式】[0022]下面結合附圖對本申請作進一步詳細描述。[0023]在本申請一個典型的配置中,終端、服務網絡的設備和可信方均包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。[0024]內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(RCM)或閃存(flashRAM)。內存是計算機可讀介質的示例。[0025]計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可W由任何方法或技術來實現信息存儲。信息可W是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器化EPROM)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(CD-ROM)、數字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可W被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitorymedia),如調制的數據信號和載波。[0026]圖1示出根據本申請一個方面的一種二層網路鏈路計算的方法流程圖,其中,該方法包括步驟Sl1、步驟Sl2、步驟Sl3、步驟Sl4和步驟Sl5。具體的,在步驟Sl1中,計算設備獲取SNMP管理的設備的對應表的數據,其中,所述設備包括=層交換機、二層交換機;在步驟S12中,計算設備根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備;在步驟S13中,計算設備基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;在步驟S14中,計算設備基于所述設備信息,確定二層域內設備間的上下級關系;在步驟S15中,計算設備基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。[0027]在此,所述計算設備除前述提及的二層交換機、=層交換機之外,還可W包括路由器等。當然,本領域技術人員應能理解上述計算設備僅為舉例,其他現有的或今后可能出現的計算設備如可適用于本申請,也應包含在本申請保護范圍W內,并在此W引用方式包含于此。[0028]在步驟Sll中,計算設備獲取挪MP管理的設備的對應表的數據,其中,所述設備包括=層交換機、二層交換機。[0029]具體地,計算設備根據SNMP所管理的設備類型的不同,將分別獲取不同設備的對應表中的數據。比如說,若SNMP所管理的某一設備為路由器的話,則獲取路由器所對應的接口表iftable(ifstable)、IP地址表ipaddress、路由表iproutetable和地址轉換表ipnettomediatable中的數據;若SNMP所管理的某一設備為二層交換機的話,則獲取二層交換機所對應的接口表1的日1316(1;1!'別日1316)、1?地址表19日(1化633、基地址表6日3邱01'1:和抑8地址表中的數據;若SNMP所管理的某一設備為=層交換機,則獲取=層交換機所對應的接口表iftable(ifxtable)、IP地址表ipaddress、路由表iproutetable、地址轉換表ipnettomedia化ble、基地址表bas邱OTt和抑B地址表中的數據。在實際應用場景中,對于一些特殊的二層或S層交換機,例如Cisco公司或者3Com公司的某些交換機,計算設備在獲取二層或=層交換機中上述對應表中的數據的同時,還需要獲取二層或=層交換機所對應的Vlan表中的數據。[0030]在步驟S12中,計算設備根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備。[0031]具體地,計算設備根據所述對應表之間的關聯關系,規整獲取到每一個=層交換機和每一個二層交換機的IP地址所對應的接口信息。在此,所述接口信息包括每一個設備IP所對應的接口索引、接口索引所對應的接口描述、接口類型、設備在接口索引下學習到的MAC、所述MAC對應的IP地址W及所述MAC對應的IP地址所對應的設備類型。其中,接口類型包括僅學習到一個PC的MAC的接口化ort,學習到多個PC的MAC,但是未學習到交換機的MAC的接口化orts,學習到交換機的MAC的接口Spod和僅學習到一個路由MAC的接口化ort。另夕h在MAC對應的IP地址所對應的設備類型中,若設備類型無法判斷出來的話,則均默認設備為PC。[0032]比如說,根據SNMP管理的設備的對應表的數據,規整出如下表格數據:[0033][0034]優選地,在步驟S12中,所述S醒P管理的設備包括路由器;根據所述SNMP管理的設備的對應表的數據,若所述SNMP管理的設備包含路由器,則確定所述路由器為邊緣設備,并且確定所述路由器下聯的第一個設備為根設備;若所述SNMP管理的設備包含開啟路由功能且具有多個IP地址的=層交換機,則確定所述=層交換機為邊緣設備和根設備;若基于前述條件無法判斷出根設備,則W網絡中抑B表最多且學習到路由器的設備為根設備;若二層網絡中沒有路由器和=層交換機,則WFDB表最多的二層交換機為邊緣設備和根設備。[0035]比如說,若SNMP所管理的設備中包含有路由器1和路由器2,且路由器1下聯的第一個設備為二層交換機A,路由器2下聯的第一個設備為=層交換機M的話,則確定路由器1和路由器2為邊緣設備,并確定二層交換機A和=層交換機M為根設備;若SNMP所管理的設備中不包含路由器,但是包含有開啟路由功能并且有多個IP地址的=層交換機N和=層交換機Q的話,則確定=層交換機N和=層交換機Q為邊緣設備,同時也將=層交換機N和=層交換機Q確定為根設備;再比如說,若SNMP所管理的設備中包含有路由器3和能學習到路由器3的二層交換機B與C,但不包含有=層交換機,并且無法判斷出路由器3下聯的第一個設備的話,則確定路由器3為邊緣設備,并確定二層交換機B與C的抑B地址表中地址最多的一個為根設備,例如,二層交換機B的抑B地址表中有10個地址,而二層交換機C的抑B地址表中只有9個,則確定二層交換機B為根設備;再比如說,若SNMP所管理的設備中既沒有路由器也沒有=層交換機的話,則確定抑B地址表中地址最多的二層交換機D為邊緣設備和根設備。[0036]在步驟S13中,計算設備基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息。[0037]具體地,在二層交換機和=層交換機中均W每一個接口作為一個二層域,并根據前述確定的邊緣設備與根設備,確定每一個二層域中的邊緣設備與根設備,同時根據每一個二層域中根設備的接口信息獲取該二層域中的所有設備信息。比如說,在某一個二層域中確定的邊緣設備、根設備如下,則可W依據所述根設備的接口信息獲得該二層域中的所有設備信息,并規整出如下數據表格:[00;3引[0039」優選地,計算巧備在基于所述接口信懇確定二層域,并根據所述二層域中的巧緣設備、根設備獲取所述二層域中的所有設備信息之后,計算設備還確定R接口與非財妾口,其中,所述R接口為所述二層域中學習到邊緣設備的接口,所述非財妾口為所述二層域中未學習到邊緣設備的接口;并基于所述財妾口或非R接口確定RSlist、RPlist、DSlist和DPlist,其中,所述RSliSt為R接口學習到的交換機的列表,所述RPliSt為R接口學習到的PC的列表,所述DSlist為非R接口學習到交換機的列表、所述DPlist為非R接口學習到的PC的列表。[0040]也就是說,在步驟Sl3中,計算設備在基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息之后,還將獲取所述二層域中每個設備中學習到邊緣設備的R接口學習到的交換機的列表RSlist、R接口學習到的PC列表RPlist、非R接口學習到交換機的列表DSlist、非R接口學習到的PC列表DPlist。[0041]比如說,在某一個二層域中有兩設備,二層交換機1和=層交換機2,計算設備首先確定所述二層域的二層交換機1和=層交換機2中學習到邊緣設備的R接口,W及所述二層域的二層交換機1和=層交換機2中未學習到邊緣設備的非R接口,然后基于此獲取所述二層域的二層交換機1和S層交換機2中的R接口索引、R接口學習到的交換機的列表RSliSt、R接口學習到的PC列表RPlist、非R接口學習到交換機的列表DSlist、非R接口學習到的PC列表DPlist,可W規整得到如下表格數據信息,其中,所述設備、學習到的PC列表和交換機列表均WIP地址來表示:[0042][0043]在步驟S14中,計算設備基于所述設備信息,確定二層域內設備間的上下級關系。[0044]具體地,在步驟S14中,計算設備基于預設的上下級關系的判斷方法和所述設備信息,確定二層域內設備間的上下級關系,其中,所述預設的上下級關系的判斷方法包括:[0045]若第一設備與第二設備之間的關系滿足a、b、c中任一種情況,且第一設備與第二設備之間的關系不滿足d和e中的任一種情況,則確定第一設備是第二設備的上級,第二設備是第一設備的下級;若第一設備與第二設備之間的關系滿足a、b、c中的任一種情況,且第一設備與第二設備之間的關系也滿足d、e中的任一種情況,則確定第一設備與第二設備不在一個路徑上;若第一設備與第二設備之間不滿足a、b、c中的任一種情況,則確認第一設備與第二設備不在一個路徑上。[0046]其中,所述a情況為第一設備的某個下聯接口能學習到第二設備的情況;所述b情況為第一設備的某個接口學習到的IP終端與第二設備的下聯IP終端相同,并且第一設備的非財妾口學習到的PC的列表DPlist與交換機的列表DSlist的集合大于第二設備的非R接口學習到的PC的列表DPlist與交換機的列表DSlist的集合的情況;所述C情況為第二設備的上聯接口能學習到的PC的列表與第一設備的某個下聯接口學習到的PC列表沒有交集,并且第二設備的上聯接口能學習到的PC列表與第一設備的某個下聯接口學習到的PC列表的集合大于整個二層域中的PC列表的情況;所述d情況為第一設備的上聯接口能學習到第二設備的情況;所述e情況為第一設備的上聯接口能學習到的PC列表與第二設備的下聯接口學習到的PC列表之間無交集的情況。[0047]比如說,如果A設備的第一個下聯接口能學習到B設備,并且A設備的上聯接口學習到的PC列表與B設備的下聯接口學習的PC列表之間無交集,同時A設備的上聯接口不能學習至化設備,則確定A設備是B設備的上級,用1表示,B設備是A設備的下級,用2表示。再比如說,如果C設備的第二個下聯接口能學習到B設備,并且C設備的上聯接口也能學習到B設備,貝U確定C設備與的受備不在一個路徑上,用O表示。還比如說,D設備的接口I學習到的IP終端與E設備的下聯IP終端相同,D設備中未學習到邊緣設備的非R接口學習到的PC的列表DPlist與交換機的列表DSlist的集合大于E設備中未學習到邊緣設備的非R接口學習到的PC的列表DPlist與交換機的列表DSlist的集合,并且D設備的上聯接口不能學習到E設備,同時D設備的上聯接口學習到的PC列表與E設備的下聯接口學習到的PC列表之間無交集,則確定D設備是E設備的上級,用1表示,E設備是的受備的下級,用2表示。[0048]在步驟S15中,計算設備基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。[0049]具體地,在步驟S15中,計算設備確定與其他所有設備之間的關系為2或者0的葉子設備;并從所述葉子設備開始,確定與所述葉子設備之間的關系為2的所有設備;然后,在所確定的與葉子設備之間的關系為2的所有設備中,確定一個與葉子設備關系為1,且與其他所有設備之間的關系為2或者0的第=設備;最后,若所述第=設備中的某一接口滿足下列任一條件,則在所述接口與葉子設備中學習到邊緣設備的接口之間建立一條鏈路:1.所述接口學習到的交換機包括所述葉子設備或者所述葉子設備的下聯交換機;2.所述接口學習到的PC列表與葉子設備的下聯接口學習到的PC列表之間有交集;3.所述接口學習到的PC列表與葉子設備中學習到邊緣設備的接口學習到的PC列表之間無交集。再W第S設備為葉子,重復上述判斷規則,并建立相應的鏈路關系,依次循環下去,直至將所有交換機的鏈路連接關系建立。[0050]其中,1表示第一設備是第二設備的上級;2表示第二設備是第一設備的下級;0是表示第一設備與第二設備不在一個路徑上。[0051]比如說,圖3是根據前述條件已判斷出上下級關系的某一個二層域,則可W將所述二層域中設備間的上下級關系用如下二維表來表示:「0化21[0053]其中,-1表示的是不需要進行上下級關系的確定。[0054]那么在該二層域內設備間的鏈路判斷規則如下:[0055]首先,找到葉子節點設備F;然后,從葉子節點設備F開始,找到與其關系為2的所有設備A、B、D;其次,在所找到的所有與葉子節點設備F關系為2的A、B、D設備中找到與葉子節點設備F關系為1,與其他所有設備關系為2或者0的設備D;最后,從設備D中找到一個接口U,如果該接口U學習到的交換機包括所述葉子節點設備F,或者接口U學習到的PC列表與葉子節點設備F的下聯接口學習到的PC列表之間有交集,又或者接口U學習到的PC列表與葉子節點設備F中學習到邊緣設備的接口學習到的PC列表之間無交集,貝帷接口U和葉子節點設備F中學習到邊緣設備的接口之間建立一條鏈路。[0056]此后,再WD為葉子節點設備,首先,找到與葉子節點設備D關系為2的所有節點設備A、B;其次,在所找到的所有與葉子節點設備D關系為2的A、B設備中找到與葉子節點設備D關系為1,與其他所有設備關系為2或者0的設備B;最后,從設備B中找到一個接口V,如果該接口V學習到的交換機包括所述葉子節點設備D或者D的下聯交換機,或者接口V學習到的PC列表與葉子節點設備D的下聯接口學習到的PC列表之間有交集,又或者接口V學習到的PC列表與葉子節點設備D中學習到邊緣設備的接口學習到的PC列表之間無交集,則在接口V和葉子節點設備D中學習到邊緣設備的接口之間建立一條鏈路。[0057]之后再WB為葉子節點設備,依次類推下去,可W將所有交換機的直接連接關系和鏈路建立起來。[0058]圖2示出根據本申請一個方面的一種二層網路鏈路計算設備的示意圖,其中,該計算設備包括第一裝置11、第二裝置12、第=裝置13、第四裝置14和第五裝置15。具體的,所述第一裝置11獲取SNMP管理的設備的對應表的數據,其中,所述設備包括=層交換機、二層交換機;所述第二裝置12根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備;所述第=裝置13基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;所述第四裝置14基于所述設備信息,確定二層域內設備間的上下級關系;所述第五裝置15基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。[0059]在此,所述計算設備除前述提及的二層交換機、=層交換機之外,還可W包括路由器等。當然,本領域技術人員應能理解上述計算設備僅為舉例,其他現有的或今后可能出現的計算設備如可適用于本申請,也應包含在本申請保護范圍W內,并在此W引用方式包含于此。[0060]所述第一裝置11獲取挪MP管理的設備的對應表的數據,其中,所述設備包括S層交換機、二層交換機。[0061]具體地,所述第一裝置11根據SNMP所管理的設備類型的不同,將分別獲取不同設備的對應表中的數據。比如說,若SNMP所管理的某一設備為路由器的話,則獲取路由器所對應的接口表iftable(ifstable)、IP地址表ipacMress、路由表iproutetable和地址轉換表ipnettomediatable中的數據;若SNMP所管理的某一設備為二層交換機的話,則獲取二層交換機所對應的接口表1的日1316(1;1!'別日1316)、1?地址表19日(1化633、基地址表6日3邱01'1:和抑8地址表中的數據;若SNMP所管理的某一設備為=層交換機,則獲取=層交換機所對應的接口表iftable(ifxtable)、IP地址表ipaddress、路由表iproutetable、地址轉換表ipnettomedia化ble、基地址表bas邱OTt和抑B地址表中的數據;在實際應用場景中,對于一些特殊的二層或S層交換機,例如Cisco公司或者3Com公司的某些交換機,計算設備在獲取二層或=層交換機中上述對應表中的數據的同時,還需要獲取二層或=層交換機所對應的Vlan表中的數據。[0062]所述第二裝置12根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備。[0063]具體地,所述第二裝置12根據所述對應表之間的關聯關系,規整獲取到每個=層交換機和每個二層交換機的IP地址所對應的接口信息。在此,所述接口信息包括每個設備IP所對應的接口索引、接口索引所對應的接口描述、接口類型、設備在接口索引下學習到的MAC、所述MAC對應的IP地址W及所述MAC對應的IP地址所對應的設備類型。其中,接口類型包括僅學習到一個PC的MAC的接口化ort,學習到多個PC的MAC,但是未學習到交換機的MAC的接口化orts,學習到交換機的MAC的接口Spod和僅學習到一個路由MAC的接口化ort。另夕h在MAC對應的IP地址所對應的設備類型中,若設備類型無法判斷出來的話,則均默認設備為PC。[0064]比如說,根據SNMP管理的設備的對應表的數據,規整出如下表格數據:[00化][0066]優選地,所述SNMP管理的設備包括路由器;所述第二裝置12根據所述S醒P管理的設備的對應表的數據,若所述SNMP管理的設備包含路由器,則確定所述路由器為邊緣設備,并且確定所述路由器下聯的第一個設備為根設備;若所述SNMP管理的設備包含開啟路由功能且具有多個IP地址的=層交換機,則確定所述=層交換機為邊緣設備和根設備;若基于前述條件無法判斷出根設備,則W網絡中FDB表最多且學習到路由器的設備為根設備;若二層網絡中沒有路由器和=層交換機,則WFDB表最多的二層交換機為邊緣設備和根設備。[0067]比如說,若SNMP所管理的設備中包含有路由器1和路由器2,且路由器1下聯的第一個設備為二層交換機A,路由器2下聯的第一個設備為=層交換機M的話,則確定路由器1和路由器2為邊緣設備,并確定二層交換機A和=層交換機M為根設備;若SNMP所管理的設備中不包含路由器,但是包含有開啟路由功能并且有多個IP地址的=層交換機N和=層交換機Q的話,則確定=層交換機N和=層交換機Q為邊緣設備,同時也將=層交換機N和=層交換機Q確定為根設備;再比如說,若SNMP所管理的設備中包含有路由器3和能學習到路由器3的二層交換機B與C,但不包含有=層交換機,并且無法判斷出路由器3下聯的第一個設備的話,則確定路由器3為邊緣設備,并確定二層交換機B與C的抑B地址表中地址最多的一個為根設備,例如,二層交換機B的抑B地址表中有10個地址,而二層交換機C的抑B地址表中只有9個,則確定二層交換機B為根設備;再比如說,若SNMP所管理的設備中既沒有路由器也沒有=層交換機的話,則確定抑B地址表中地址最多的二層交換機D為邊緣設備和根設備。[0068]所述第=裝置13基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的設備信息。[0069]具體地,在二層交換機和=層交換機中均W每一個接口作為一個二層域,并根據前述確定的邊緣設備與根設備,找出每一個二層域中的邊緣設備與根設備,同時根據每一個二層域中根設備的接口信息獲取該二層域中的所有設備信息。比如說,在某一個二層域中確定的邊緣設備、根設備如下,則可W依據所述根設備的接口信息獲得該二層域中的所有設備信息,規整出數據表格如下:[0070][0071]優選地,所述第=裝置13,在基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息之后,還確定R接口與非R接口,其中,所述R接口為所述二層域中學習到邊緣設備的接口,所述非財妾口為所述二層域中未學習到邊緣設備的接口;并基于R接口或非財妾口確定RSlist、RPlist、DSlist和DPlist,其中,所述RSlist為R接口學習到的交換機的列表,所述RPlist為R接口學習到的PC的列表,所述DSlist為非R接口學習到交換機的列表、所述DPlist為非R接口學習到的PC的列表。[0072]也就是說,所述第=裝置13,還獲取所述二層域中每個設備中學習到邊緣設備的R接口學習到的交換機的列表RSliSt、R接口學習到的PC列表RPliSt、非R接口學習到交換機的列表DSlist、非R接口學習到的PC列表DPlist。[0073]比如說,在某一個二層域中有兩設備,二層交換機1和=層交換機2,所述第=裝置13首先確定所述二層域的二層交換機1和=層交換機2中學習到邊緣設備的R接口,W及所述二層域的二層交換機1和=層交換機2中未學習到邊緣設備的非R接口,然后基于此獲取所述二層域的二層交換機1和=層交換機2中的R接口索引、R接口學習到的交換機的列表RSlist、R接口學習到的PC列表RPlist、非R接口學習到交換機的列表DSlist、非R接口學習到的PC列表DPlist,可W規整得到如下表格的數據信息,其中,所述設備、學習到的PC列表和交換機列表均WIP地址來表示:[0074][0075]所述第四裝置14基于所述設備信息,確定二層域內設備間的上下級關系。[0076]具體地,所述第四裝置14基于預設的上下級關系的判斷方法和所述設備信息,確定二層域內設備間的上下級關系,其中,所述預設的上下級關系的判斷方法包括:[0077]若第一設備與第二設備之間的關系滿足a、b、c中任一種情況,且第一設備與第二設備之間的關系不滿足d和e中的任一種情況,則確定第一設備是第二設備的上級,第二設備是第一設備的下級;若第一設備與第二設備之間的關系滿足a、b、c中的任一種情況,且第一設備與第二設備之間的關系也滿足d、e中的任一種情況,則確定第一設備與第二設備不在一個路徑上;若第一設備與第二設備之間不滿足a、b、c中的任一種情況,則確認第一設備與第二設備不在一個路徑上。[0078]其中,所述a情況為第一設備的某個下聯接口能學習到第二設備的情況;所述b情況為第一設備的某個接口學習到的IP終端與第二設備的下聯IP終端相同,并且第一設備的非R接口學習到的PC的列表DPlist和學習到的交換機的列表DSlist的集合大于第二設備的非R接口學習到的PC的列表DPliSt和學習到的交換機的列表DSliSt的集合的情況;所述C情況為第二設備的上聯接口能學習到的PC的列表與第一設備的某個下聯接口學習到的PC列表沒有交集,并且第二設備的上聯接口能學習到的PC列表與第一設備的某個下聯接口學習到的PC列表的集合大于整個二層域中的PC列表的情況;所述d情況為第一設備的上聯接口能學習到第二設備的情況;所述e情況為第一設備的上聯接口能學習到的PC列表與第二設備的下聯接口學習到的PC列表之間無交集的情況。[0079]比如說,如果A設備的第一個下聯接口能學習到B設備,并且A設備的上聯接口學習到的PC列表與B設備的下聯接口學習的PC列表之間無交集,同時A設備的上聯接口不能學習至化設備,則確定A設備是B設備的上級,用1表示,B設備是A設備的下級,用2表示。再比如說,如果C設備的第二個下聯接口能學習到B設備,并且C設備的上聯接口也能學習到B設備,貝U確定C設備與的受備不在一個路徑上,用0表示。還比如說,D設備的接口1學習到的IP終端與E設備的下聯IP終端相同,D設備中未學習到邊緣設備的非R接口學習到的PC的列表DPlist與交換機的列表DSlist的集合大于E設備中未學習到邊緣設備的非R接口學習到的PC的列表DPlist與交換機的列表DSlist的集合,并且D設備的上聯接口不能學習到E設備,同時D設備的上聯接口學習到的PC列表與E設備的下聯接口學習到的PC列表之間無交集,則確定D設備是E設備的上級,用1表示,E設備是的受備的下級,用2表示。[0080]所述第五裝置15基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。[0081]具體地,所述第五裝置15確定與其他所有設備之間的關系為2或者0的葉子設備;并從所述葉子設備開始,確定與所述葉子設備之間的關系為2的所有設備;然后,在所確定的與葉子設備之間的關系為2的所有設備中,確定一個與葉子設備關系為1,且與其他所有設備之間的關系為2或者0的第=設備;最后,若所述第=設備中的某一接口滿足下列任一條件,則在所述接口與葉子設備中學習到邊緣設備的接口之間建立一條鏈路:1.所述接口學習到的交換機包括所述葉子設備或者所述葉子設備的下聯交換機;2.所述接口學習到的PC列表與葉子設備的下聯接口學習到的PC列表之間有交集;3.所述接口學習到的PC列表與葉子設備中學習到邊緣設備的接口學習到的PC列表之間無交集。[0082]再W第=設備為葉子設備,重復上述判斷規則,并建立相應的鏈路關系,依次循環下去,直至將所有交換機的鏈路連接關系建立。[0083]其中,1表示第一設備是第二設備的上級;2表示第二設備是第一設備的下級;0是表示第一設備與第二設備不在一個路徑上。[0084]比如說,圖3是根據前述條件已判斷出上下級關系的某一個二層域,則可W將所述二層域中設備間的上下級關系用如下二維表來表示:[0086]其中,-1表示的是不需要進行上下級關系的確定。[0087]那么在該二層域內設備間的鏈路判斷規則如下:[0088]首先,找到葉子節點設備F;然后,從葉子節點設備F開始,找到與其關系為2的所有設備A、B、D;其次,在所找到的所有與葉子節點設備F關系為2的A、B、D設備中找到與葉子節點設備F關系為1,與其他所有設備關系為2或者0的設備D;最后,從設備D中找到一個接口U,如果該接口U學習到的交換機包括所述葉子節點設備F,或者接口U學習到的PC列表與葉子節點設備F的下聯接口學習到的PC列表之間有交集,又或者接口U學習到的PC列表與葉子節點設備F中學習到邊緣設備的接口學習到的PC列表之間無交集,貝帷接口U和葉子節點設備F中學習到邊緣設備的接口之間建立一條鏈路。[0089]此后,再WD為葉子節點設備,首先,找到與葉子節點設備D關系為2的所有節點設備A、B;其次,在所找到的所有與葉子節點設備D關系為2的A、B設備中找到與葉子節點設備D關系為1,與其他所有設備關系為2或者0的設備B;最后,從設備B中找到一個接口V,如果該接口V學習到的交換機包括所述葉子節點設備D或者D的下聯交換機,或者接口V學習到的PC列表與葉子節點設備D的下聯接口學習到的PC列表之間有交集,又或者接口V學習到的PC列表與葉子節點設備D中學習到邊緣設備的接口學習到的PC列表之間無交集,則在接口V和葉子節點設備D中學習到邊緣設備的接口之間建立一條鏈路。[0090]之后再WB為葉子節點設備,依次類推下去,可W將所有交換機的直接連接關系和鏈路建立起來。[0091]與現有技術相比,本申請通過獲取SNMP管理的設備的對應表的數據,其中,所述設備包括=層交換機、二層交換機;并根據所述對應表的數據,獲取=層交換機和二層交換機的IP地址所對應的接口信息,W及確定SNMP管理的設備的邊緣設備和根設備;然后,基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;進而,基于所述設備信息,確定二層域內設備間的上下級關系;最后,基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。本申請采用SNMP管理與二層網絡設備鏈路計算算法的方法,可W精確地獲取二層網絡環境下的設備之間的鏈路情況,為維護網絡安全帶來便利。[0092]需要注意的是,本申請可在軟件和/或軟件與硬件的組合體中被實施,例如,可采用專用集成電路(ASIC)、通用目的計算機或任何其他類似硬件設備來實現。在一個實施例中,本申請的軟件程序可W通過處理器執行W實現上文所述步驟或功能。同樣地,本申請的軟件程序(包括相關的數據結構)可W被存儲到計算機可讀記錄介質中,例如,RAM存儲器,磁或光驅動器或軟磁盤及類似設備。另外,本申請的一些步驟或功能可采用硬件來實現,例如,作為與處理器配合從而執行各個步驟或功能的電路。[0093]另外,本申請的一部分可被應用為計算機程序產品,例如計算機程序指令,當其被計算機執行時,通過該計算機的操作,可W調用或提供根據本申請的方法和/或技術方案。而調用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質中,和/或通過廣播或其他信號承載媒體中的數據流而被傳輸,和/或被存儲在根據所述程序指令運行的計算機設備的工作存儲器中。在此,根據本申請的一個實施例包括一個裝置,該裝置包括用于存儲計算機程序指令的存儲器和用于執行程序指令的處理器,其中,當該計算機程序指令被該處理器執行時,觸發該裝置運行基于前述根據本申請的多個實施例的方法和/或技術方案。[0094]對于本領域技術人員而言,顯然本申請不限于上述示范性實施例的細節,而且在不背離本申請的精神或基本特征的情況下,能夠W其他的具體形式實現本申請。因此,無論從哪一點來看,均應將實施例看作是示范性的,而且是非限制性的,本申請的范圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和范圍內的所有變化涵括在本申請內。不應將權利要求中的任何附圖標記視為限制所設及的權利要求。此夕h顯然"包括"一詞不排除其他單元或步驟,單數不排除復數。裝置權利要求中陳述的多個單元或裝置也可W由一個單元或裝置通過軟件或者硬件來實現。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。【主權項】1.一種二層網絡鏈路計算方法,其中,該方法包括:獲取SNMP管理的設備的對應表的數據,其中,所述設備包括三層交換機、二層交換機;根據所述對應表的數據,獲取三層交換機和二層交換機的IP地址所對應的接口信息,以及確定SNMP管理的設備的邊緣設備和根設備;基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;基于所述設備信息,確定二層域內設備間的上下級關系;基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。2.根據權利要求1所述的方法,其中,獲取SNMP管理的設備的對應表的數據,包括:獲取SNMP管理的三層交換機和二層交換機的FDB表的數據。3.根據權利要求2所述的方法,其中,根據所述對應表的數據,獲取三層交換機和二層交換機的IP地址所對應的接口信息,以及確定SNMP管理的設備的根設備和邊緣設備,包括:根據所述對應表的數據,獲取三層交換機和二層交換機的IP地址所對應的接口索引、接口描述、接口類型、接口學習到的MAC、MAC對應的IP地址以及IP地址對應的設備類型;所述SNMP管理的設備包括路由器,根據所述對應表的數據,若所述設備為路由器,則確定所述路由器為邊緣設備,并且確定所述路由器下聯的第一個設備為根設備;若所述設備為開啟路由功能且具有多個IP地址的三層交換機,則確定所述三層交換機為邊緣設備和根設備;若基于前述條件無法判斷出根設備,則以網絡中FDB表最多且學習到路由器的設備為根設備;若二層網絡中沒有路由器和三層交換機,則以roB表最多的二層交換機為邊緣設備和根設備。4.根據權利要求3所述的方法,其中,基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息,包括:將三層交換機和二層交換機的每一個接口確定為一個二層域,并根據所述二層域中的邊緣設備、根設備確定所述二層域中的所有設備信息。5.根據權利要求4所述的方法,其中,在基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息之后,還包括:獲取所述二層域中每個設備中學習到邊緣設備的R接口學習到的交換機的列表RSlist、R接口學習到的PC列表RPlist、非R接口學習到交換機的列表DSlist、非R接口學習到的PC列表DPIist。6.根據權利要求5所述的方法,其中,基于所述設備信息,確定二層域內設備間的上下級關系,包括:基于預設的上下級關系的判斷方法和所述設備信息,確定二層域內設備間的上下級關系,其中,所述預設的上下級關系的判斷方法包括:若第一設備與第二設備之間的關系滿足a、b、c中任一種情況,且第一設備與第二設備之間的關系不滿足d和e中的任一種情況,則確定第一設備是第二設備的上級,第二設備是第一設備的下級;若第一設備與第二設備之間的關系滿足a、b、c中的任一種情況,且第一設備與第二設備之間的關系也滿足d、e中的任一種情況,則確定第一設備與第二設備不在一個路徑上;若第一設備與第二設備之間不滿足a、b、c中的任一種情況,則確認第一設備與第二設備不在一個路徑上;其中,所述a情況為第一設備的某個下聯接口能學習到第二設備的情況;所述b情況為第一設備的某個接口學習到的IP終端與第二設備的下聯IP終端相同,并且第一設備的非R接口學習到的PC的列表DPlist和學習到的交換機的列表DSlist的集合大于第二設備的非R接口學習到的PC的列表DPlist和學習到的交換機的列表DSlist的集合的情況;所述c情況為第二設備的上聯接口能學習到的PC的列表與第一設備的某個下聯接口學習到的PC列表沒有交集,并且第二設備的上聯接口能學習到的PC列表與第一設備的某個下聯接口學習到的PC列表的集合大于整個二層域中的PC列表的情況;所述d情況為第一設備的上聯接口能學習到第二設備的情況;所述e情況為第一設備的上聯接口能學習到的PC列表與第二設備的下聯接口學習到的PC列表之間無交集的情況。7.根據權利要求6所述的方法,其中,基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系,包括:確定與其他所有設備之間的關系為2或者0的葉子設備;從所述葉子設備開始,確定與所述葉子設備之間的關系為2的所有設備;在所確定的與葉子設備之間的關系為2的所有設備中,確定一個與葉子設備關系為1,且與其他所有設備之間的關系為2或者0的第三設備;若所述第三設備中的某一接口滿足下列任一條件,則在所述口與葉子設備中學習到邊緣設備的接口之間建立一條鏈路:所說接口學習到的交換機包括所述葉子設備或者所述葉子設備的下聯交換機;所述接口學習到的PC列表與葉子設備下聯接口學習到的PC列表之間有交集;所述接口學習到的PC列表與葉子設備中學習到邊緣設備的接口學習到的PC列表之間無交集;再以第三設備為葉子,重復上述判斷規則,并建立相應的鏈路關系,依次循環下去,直至將所有交換機的鏈路連接關系建立;其中,1表示第一設備是第二設備的上級;2表示第二設備是第一設備的下級;0是表示第一設備與第二設備不在一個路徑上。8.-種二層網絡鏈路計算設備,其中,該計算設備包括:第一裝置,用于獲取SNMP管理的設備的對應表的數據,其中,所述設備包括三層交換機、二層交換機;第二裝置,用于根據所述對應表的數據,獲取三層交換機和二層交換機的IP地址所對應的接口信息,以及確定SNMP管理的設備的邊緣設備和根設備;第三裝置,用于基于所述接口信息確定二層域,并根據所述二層域中的邊緣設備、根設備獲取所述二層域中的所有設備信息;第四裝置,用于基于所述設備信息,確定二層域內設備間的上下級關系;第五裝置,用于基于所述設備間的上下級關系,計算二層域內設備間的鏈路連接關系。9.根據權利要求8所述的計算設備,其中,所述第一裝置,獲取S匪P管理的三層交換機和二層交換機的FDB表的數據。10.根據權利要求9所述的計算設備,其中,所述第二裝置,根據所述對應表的數據,獲取三層交換機和二層交換機的IP地址所對應的接口索引、接口描述、接口類型、接口學習到的MAC、MAC對應的IP地址以及IP地址對應的設備類型;所述SNMP管理的設備包括路由器,根據所述對應表的數據,若所述設備為路由器,則確定所述路由器為邊緣設備,并且確定所述路由器下聯的第一個設備為根設備;若所述設備為開啟路由功能且具有多個IP地址的三層交換機,則確定所述三層交換機為邊緣設備和根設備;若基于前述條件無法判斷出根設備,則以網絡中FDB表最多且學習到路由器的設備為根設備;若二層網絡中沒有路由器和三層交換機,則以roB表最多的二層交換機為邊緣設備和根設備。11.根據權利要求10所述的計算設備,其中,所述第三裝置,將三層交換機和二層交換機的每一個接口確定為一個二層域,并根據所述二層域中的邊緣設備、根設備確定所述二層域中的所有設備信息。12.根據權利要求11所述的方法,其中,所述第三裝置,還獲取所述二層域中每個設備中學習到邊緣設備的R接口學習到的交換機的列表RSIist、R接口學習到的PC列表RP1ist、非R接口學習到交換機的列表DSlist、非R接口學習到的PC列表DPlist。13.根據權利要求12所述的計算設備,其中,所述第四裝置,基于預設的上下級關系的判斷方法和所述設備信息,確定二層域內設備間的上下級關系,其中,所述預設的上下級關系的判斷方法包括:若第一設備與第二設備之間的關系滿足a、b、c中任一種情況,且第一設備與第二設備之間的關系不滿足d和e中的任一種情況,則確定第一設備是第二設備的上級,第二設備是第一設備的下級;若第一設備與第二設備之間的關系滿足a、b、c中的任一種情況,且第一設備與第二設備之間的關系也滿足d、e中的任一種情況,則確定第一設備與第二設備不在一個路徑上;若第一設備與第二設備之間不滿足a、b、c中的任一種情況,則確認第一設備與第二設備不在一個路徑上;其中,所述a情況為第一設備的某個下聯接口能學習到第二設備的情況;所述b情況為第一設備的某個接口學習到的IP終端與第二設備的下聯IP終端相同,并且第一設備的非R接口學習到的PC的列表DPlist和學習到的交換機的列表DSlist的集合大于第二設備的非R接口學習到的PC的列表DPlist和學習到的交換機的列表DSlist的集合的情況;所述c情況為第二設備的上聯接口能學習到的PC的列表與第一設備的某個下聯接口學習到的PC列表沒有交集,并且第二設備的上聯接口能學習到的PC列表與第一設備的某個下聯接口學習到的PC列表的集合大于整個二層域中的PC列表的情況;所述d情況為第一設備的上聯接口能學習到第二設備的情況;所述e情況為第一設備的上聯接口能學習到的PC列表與第二設備的下聯接口學習到的PC列表之間無交集的情況。14.根據權利要求13所述的計算設備,其中,所述第五裝置,確定與其他所有設備之間的關系為2或者0的葉子設備;從所述葉子設備開始,確定與所述葉子設備之間的關系為2的所有設備;在所確定的與葉子設備之間的關系為2的所有設備中,確定一個與葉子設備關系為1,且與其他所有設備之間的關系為2或者0的第三設備;若所述第三設備中的某一接口滿足下列任一條件,則在所述口與葉子設備中學習到邊緣設備的接口之間建立一條鏈路:所說接口學習到的交換機包括所述葉子設備或者所述葉子設備的下聯交換機;所述接口學習到的PC列表與葉子設備下聯接口學習到的PC列表之間有交集;所述接口學習到的PC列表與葉子設備中學習到邊緣設備的接口學習到的PC列表之間無交集;再以第三設備為葉子,重復上述判斷規則,并建立相應的鏈路關系,依次循環下去,直至將所有交換機的鏈路連接關系建立;其中,1表示第一設備是第二設備的上級;2表示第二設備是第一設備的下級;0是表示第一設備與第二設備不在一個路徑上。【文檔編號】H04L12/24GK105978808SQ201610296431【公開日】2016年9月28日【申請日】2016年5月6日【發明人】李夢雅,許景棟,蔡明偉【申請人】上海上訊信息技術股份有限公司