用于在網絡環境中發現多點端點的系統和方法
【專利摘要】一種示例方法被提供并且可以包括:在覆蓋網絡中組播發現分組,所述覆蓋網絡包括越過第3層網絡的第2層方案;以及基于各個端點對所述發現分組的響應來識別所述端點,其中所述端點跨越組播骨干被耦合。在更具體的實施例中,所述方法可以包括基于缺少來自已斷開端點的響應識別所述覆蓋網絡中的已斷開端點。
【專利說明】用于在網絡環境中發現多點端點的系統和方法
【技術領域】
[0001]本公開一般地涉及通信領域,并且更特別地,涉及用于在網絡環境中發現多點端點的系統和方法。
【背景技術】
[0002]信息技術(IT)界中的虛擬化趨勢正在驅使許多虛擬化技術的開發。一個這樣的技術涉及服務器虛擬化。服務器虛擬化已在諸如在數據中心內的許多網絡環境中贏得突出優勢。服務器虛擬化能夠掩蓋實際服務器用戶的服務器資源(例如,掩蓋各個物理服務器、處理器以及操作系統(OS)的數目和身份)。服務器管理員使用軟件應用來將一個物理服務器劃分成一個或多個隔離的虛擬環境(常常被稱為虛擬機)。服務器虛擬化能夠有效地被用來消除服務器蔓延、幫助災難恢復、用于測試和開發、更高效地利用服務器資源、提供服務器可用性、以及使服務器管理集中化。
【專利附圖】
【附圖說明】
[0003]為了提供對本公開及其特征和優點的更透徹理解,對結合附圖進行的以下描述進行參考,其中同樣的附圖標記表示同樣的部分,在附圖中:
[0004]圖1是圖示根據一個實施例用于在網絡環境中發現多點端點的系統的簡化框圖;
[0005]圖2是圖示依 照一個實施例的系統的示例細節的簡化框圖;
[0006]圖3是圖示可以與系統的實施例相關聯的示例操作的簡化流程圖;
[0007]圖4是可以與系統的實施例相關聯的簡化示例顯示屏幕;以及
[0008]圖5是圖示可以與系統的實施例相關聯的示例操作的簡化流程圖。
【具體實施方式】
[0009]概沭
[0010]提供了示例方法,該方法可以包括:在覆蓋網絡中組播發現分組,所述覆蓋網絡包括第3層網絡之上的的第2層方案;以及基于各個端點對發現分組的響應來識別端點,其中端點跨越組播骨干被耦合。在更具體的實施例中,該方法可以包括基于缺少來自已斷開端點的響應在覆蓋網絡中識別斷開的端點。
[0011 ] 端點可以是被配置成支持一個或多個虛擬機(VM)的虛擬以太網模塊(VEM)。發現分組能夠被以類型長度值(TLV)格式提供并且包括識別覆蓋網絡的段的標識符。發現分組可以是思科發現協議(⑶P)分組、鏈路層發現協議(LLDP)分組等。
[0012]覆蓋網絡可以是虛擬可擴展局域網(VXLAN);網絡虛擬化通用路由封裝(NV-GRE)網絡;或媒體訪問控制(MAC)-1n-MAC網絡。覆蓋網絡可以是包括由對應的VXLAN段標識符(VNI)來識別的一個或多個段的多租戶VXLAN。在更具體的實施例中,該方法可以包括將響應聚合成多點信息;以及顯示所述多點信息。
[0013]示例實施例[0014]轉向圖1,圖1是圖示用于在網絡環境中發現多點端點的系統10的簡化框圖。在特定實施方式中,圖1的架構被配置成提供在用于為網絡問題的后續故障診斷的組播覆蓋環境中發現端點的框架。圖1包括將一個或多個交換機14連接到多個服務器16a、16b以及16c的覆蓋網絡12。術語“覆蓋網絡”簡單地指的是被提供在另一網絡之上的計算機或通信網絡,諸如提供在第3層網絡之上的第2層覆蓋方案。這樣的覆蓋網絡的示例能夠包括(但不限于)虛擬可擴展局域網(VXLAN)、網絡虛擬化通用路由封裝(NV-GRE)、媒體訪問控制(MAC)-1n-MAC等。覆蓋網絡12可以支持一個或多個組播網絡,其提供封裝方案以致力于在存在虛擬機(VM)的情況下(例如,在多租戶環境中)的第2層和第3層數據中心網絡基礎設施。在特定實施方式中,服務器16a、16b以及16c可以分別提供有虛擬以太網模塊(VEM) 17a、17b以及17c。VEM17a、17b以及17c分別將高級聯網能力提供給一個或多個VM18、20 以及 22。
[0015]交換機14可以提供有虛擬管理機模塊(VSM) 24,其將一個或多個VEM(例如,VEMl7a-c)控制為一個模塊化交換機。VSM24被配置成支持分別在物理服務器16a_c內部的軟件中所提供的多個VEM17a-c。VEMl7a-c的配置可以通過VSM24來提供并且自動地傳播到VEM。VEM17a、17b以及17c利用來自VSM24的配置信息,執行第2層交換,并且提供高級聯網功能,諸如端口通道、服務質量(QoS)、安全(例如,專用虛擬局域網(VLAN)、端口安全等)以及監控(例如,網絡流、交換機端口分析器(SPAN)、封裝式遠程SPAN等)。網絡管理員能夠根據耦合到VMS24的單個接口來定義關于所有VEM17a-c的配置。VSM24可以提供有調試引擎26,所述調試引擎26被配置成檢查覆蓋網絡12上的鏈路連通性。在圖1中所圖示的實施例中,VSM24可以與服務器28集成在一起,服務器28提供單個控制臺來操作并且管理VSM24。 [0016]注意,分配給圖1的元件的數字和字母符號表示不暗示任何類型的層次;符號表示是任意的并且已被僅用于教導的目的。這樣的符號表示不應該被以任何方式解釋成限制它們在可能受益于系統10的特征的潛在環境中的能力、功能性或應用。為了便于描述,僅兩個代表性服務器場被圖示。替換地,可以在覆蓋網絡12中連接任何數目的服務器場和交換機。
[0017]出于圖示系統10的技術和能力的目的,重要的是理解給定系統中的通信。以下基本信息可以被視為本公開內容可以根據其被適當地說明的基礎。這樣的信息被真實地提供僅用于說明的目的,并且因此,不應該被以任何方式解釋成限制本公開內容及其潛在應用的廣泛范圍。在組播網絡中,若干節點(還被稱為主機或端點)可以通過虛擬或物理網絡中的網際協議(IP)基礎設施來互連以使得能實現一對多和多對多網絡遞送服務。“節點”可以是任何電子設備(例如,機器設備或移動設備)、客戶端、服務器、對等體、服務、應用、VEM、VM,或能夠在網絡中通過通信通道來發送、接收或者轉發信息的其它對象。如本文所用的“端點”包含在網絡流中發起數據分組的任何節點,和/或作為網絡流中的數據分組的目的地的任何節點。因此,端點能夠與客戶端、客戶、手持式設備或希望經由一些網絡在系統10中啟動通信的終端用戶相關聯。術語“端點”包括用來啟動通信的設備,諸如接收機、計算機、路由器、網關、網絡裝置、專有設備、機頂盒、因特網無線電設備(IRD)、手機、任何種類的智能電話、平板電腦、個人數字助理(PDA)、iPhone、iPad、谷歌Droid或任何其它設備、組件、元件,或能夠在系統10內啟動語音、音頻、視頻、媒體或數據交換的對象。端點還可以包括適于人類用戶的接口,諸如顯示器、鍵盤、觸摸板、遠程控制或其它終端設備。端點還可以是尋求代表另一實體或元件來啟動通信的任何設備,諸如程序、數據庫或任何其它組件、設備、元件,或能夠在系統10內啟動交換的對象。如在本文檔中本文所用的那樣,數據指的是任何類型的數字、語音、視頻、媒體或腳本數據,或任何類型的源代碼或目標代碼,或可以被從一個點傳遞到另一點的具有任何適當的格式的任何其它適合的信息。
[0018]端點還可以包括跨越組播骨干(例如,包括由物理或虛擬通信鏈路所連接的主機、路由器、交換機(聚合交換機、接入交換機、核心交換機等)以及其它網絡設備的網絡的虛擬網絡骨干)連接到彼此的VEM。在這種意義上,組播骨干包含任何這樣的骨干可能性,其能夠用作網絡中的端點和各種其它網絡元件的鏈路。組播骨干中的端點和網絡元件典型地用組播協議來啟用以用于數據同時地到多個接收機的高效遞送。
[0019]組播能夠為諸如視頻會議之類的應用并且為應該被同時地遞送到數個其它主機的音頻提供一對多和多對多網絡遞送服務。如本文所用的那樣,“組播”指的是(例如,同時地在單個傳輸中)將消息(例如,數據分組)從發送者遞送到一組接收者。如本文所用的那樣,術語“發送者”包含將數據分組發送到接受者的節點,以及術語“接收者”包含從發送者接收數據分組的節點。組播通過不需要許多接收者如何存在的現有知識按大的接收者群體縮放。即使數據分組將被遞送到大量接收者,組播也通過從發送者發送數據分組僅一次來高效地使用網絡基礎設施。
[0020]在組播網絡中,發送者通常不知道誰接收數據分組。發送者僅僅將數據分組發送到組播地址(例如,224.0.0.0,239.255.255.255,01:00:0c:cc:cc:cc、01:80:c2:00:
00:0e、01:80x2:00:00:03,01:80:c2:00:00:00等)。組播地址典型地與一組感興趣的接 收者相關聯。組播骨干中的中間路由器做出數據分組的拷貝并且將它們發送到已加入組播組的適當的接收者。當主機希望加入具有特定組播地址的組播組時,主機發出因特網組管理協議(IGMP)請求。然后用于該子網的組播路由器能夠通知其它路由器,使得到所述組的組播數據分組可以最終被放置在該主機的局域網(LAN)上。
[0021]另外,服務器虛擬化使傳統的(或物理的)服務器訪問網絡設計的數個假設無效。例如,一個這樣的假設是每個網絡訪問端口都對應于運行單個映像的單個物理服務器,并且映像與網絡之間的關系是靜態的。服務器虛擬化高效地使得OS映像能夠變得移動。這種級別的移動性對網絡的結果不是無價值的,并且它們的影響可以延伸超越僅僅接入層。
[0022]在虛擬化使得多個OS能夠共享單個物理服務器的情況下,可能期望或者甚至有必要對于虛擬化服務器重復傳統的安全和分割,因為虛擬化可以創建含糊的且不確定的安全邊界。虛擬化網絡可能不得不支持諸如商業或租戶的多個線路之類的許多特征:其中的每一個都需要受保護且信任的虛擬計算環境。其它特征能夠包括工作負荷彈性,其中虛擬服務器被實例化成解決增加的工作負荷并且周期性地停止或者去除以支持數據中心效率和綠色計算。進一步其它的特征能夠解決對于高可用性和可伸縮性的升高的要求。
[0023]在虛擬化環境中,組播網絡中的端點(例如,主機)能夠被一般地分布在網絡上。存在這樣的技術,其中相同的L2域中的端點能夠使用覆蓋網絡橫跨數據中心。像通用路由封裝(GRE)和最近的VXLAN這樣的一些技術將組播用作覆蓋來展開第2層(L2)域。將組播用作覆蓋,能夠潛在地創建許多隧道,其中端點可以是不可知論者。在這樣的環境中識別實際的端點可能是一種挑戰。此外,網絡中的故障診斷問題(由于組播問題而導致)可能是有問題的。
[0024]現今存在的組播查驗和mtrace協議發現組播網絡中的端點。例如,終端主機能夠查驗組播組,并且該組播組的成員可以對查驗回應。然而,這種方法無法提供應用級可見性,因為相同的組播組能夠被用于像GRE、VXLAN這樣的不同應用或通用組播業務,因為組播空間是有限的。此外,如果僅屬于特定GRE密鑰/VXLAN網絡標識符(VNI)等的終端主機將被識別則這樣的方法無法工作。
[0025]關于覆蓋網絡,VXLAN實施方式在此在本說明書中致力于討論系統10的一些能力。[迫切要注意的是,雖然本公開內容的實施例可以被應用于任何種類的覆蓋網絡(例如,NV-GRE、MAC-1n-MAC等),但是這樣的討論不應該被以任何方式解釋成限制本公開內容及其潛在應用的廣泛范圍。]VXLAN是可以被用來將第2層網絡覆蓋在第3層網絡上的隧道方案。每個覆蓋都是VXLAN段。在相同的VXLAN段內的VM能夠與彼此進行通信。每個VXLAN段都可以由其VNI來識別,所述VNI可以是24位段ID。VXLAN隧道的端點(被稱作虛擬隧道端點或VTEP)可以包括在包括VM的服務器上的VEM。因此,VNI和VXLAN相關的隧道僅為VTEP (而不為諸如VM之類的其它實體)所知。
[0026]VTEP 一般地旨在處于網絡的邊緣,典型地將接入交換機(虛擬的或物理的)連接到IP傳輸網絡。預期VTEP功能性將被內置到接入交換機中,但它邏輯上與接入交換機分離。VTEP可以表現為用于它所被連接到的IP網絡的IP主機。IP網絡可以包括組播骨干。每個VTEP都可以基于其IP接口所被連接到的子網而配置有IP地址。VTEP能夠使用這種IP接口來與其它VTEP交換攜帶封裝的以太網幀的數據分組。VTEP還可以通過使用IGMP來加入IP組播組而作為IP主機。
[0027]VXLAN典型地通過一個或多個服務器而被部署在虛擬化主機(例如,VM)上的數據中心中。服務器可以是 相同的(例如,第2層)網絡或不同的(例如,第3層)網絡的一部分。VXLAN段被重疊在第2層或第3層網絡之上。VM不知道覆蓋網絡和傳輸方法,因為封裝和解封裝在相應服務器上的VTEP處透明地發生。VXLAN可以被部署在其中所有主機理解VXLAN協議的網絡上。替換地,VXLAN可以被部署在其中僅主機中的一些理解VXLAN協議的網絡上。例如,在VXLAN覆蓋網絡上的節點可能需要與可能是基于VLAN的舊網絡上的節點進行通信。為了使得能實現通信,網絡能夠包括VXLAN網關,所述VXLAN網關轉發VXLAN和非VXLAN環境之間的業務。配置網關從傳入幀剝離VXLAN報頭并且基于內以太網幀的目的地MAC地址將它們轉發到物理端口。在相反方向上,針對非VXLAN接口的傳入幀基于幀中的VLAN ID被映射到特定VXLAN覆蓋網絡。
[0028]采用VXLAN,當VM發送幀時,它連同VNI —起被封裝在用戶數據報協議(UDP)數據分組中,所述VNI唯一地識別VXLAN段。傳統的IEEE802.1Q交換在該段內發生。代替像在未知單播的情況下那樣廣播幀,UDP數據分組被組播到在相同的VXLAN段上具有VM的VEM組。當在現有VXLAN上提出新的VM時,從VM的相應VEM發送針對VXLAN組播組的IGMP加入。組播組地址被用來封裝來自VXLAN VM的廣播、組播以及未知單播業務。包括VXLAN VNI的報頭被插入在組播數據分組開頭。組播數據分組被發出(即,被組播)到VXLAN在其上被實現的組播組。接收者端點使用IP單播來發送標準地址解析協議(ARP)響應。在VEM已學習到虛擬機針對其所被定位的IP地址之后,數據分組能夠在沒有組播支持的情況下被直接地發送到目的地VEM。[0029]在云環境中,VXLAN能夠橫跨多個端點并且每個VEM能夠屬于多個VXLAN。VXLAN能夠依賴于物理基礎設施的組播骨干。因為VXLAN能夠在集群內并且橫跨集群,所以這種環境中的任何故障可以影響VXLAN的網絡基礎設施,從而使調試/故障診斷變得困難。例如,轉向圖1的覆蓋網絡12,假定VM18、20以及22是在具有VNI為5000的相同VXLAN上并且屬于具有地址225.1.1.1的組播組。可能存在其中VM18和VM20正在與彼此很好地進行通信、但是VM18和VM22不能夠交換通信的情形。網絡管理員沒有關于問題是在相應的VM、交換機14還是上游設備(例如物理基礎設施的物理網絡交換機和路由器)中的線索。在另一情況下,單播業務可能在VM17a-c之間良好,但組播業務可能被中斷。這樣的場景費力地難以調試,其中這樣的調試活動性質上是乏味的。附加地,在組播查驗中,僅傳送路徑是組播數據分組,然而返回路徑是來自端點的單播。因此,不能夠保證雙向組播路徑驗證。
[0030]系統10被配置成在提供用于在網絡環境中發現多點端點的系統和方法時解決這些問題(和其它問題)。根據各種實施例,調試引擎26能夠針對在覆蓋網絡12中有VXLAN能力的虛擬接口(例如,虛擬機內核網絡接口卡(VMKNIC))上的每個VXLAN啟用發現分組。如本文所用的那樣,術語“發現分組”包含任何適合的鏈路層(例如,在第2層中的數據鏈路層)網絡協議數據分組。能夠可選地以類型長度值(TLV)幀格式提供發現分組,所述類型長度值幀格式可以被用來共 享關于網絡中的節點的信息(例如,身份、IP地址、能力等)。因此,發現分組可以與諸如思科發現協議(CDP)、鏈路層發現協議(LLDP)、極端發現協議(EDP)、網捷發現協議(FDP)、北電網絡發現協議(NDP) ,SynOptics網絡管理協議(SONMP)等協議相關聯。在不背離本公開內容的廣泛范圍的情況下,可以在系統10中使用任何鏈路層發現協議。為了便于說明,并且不作為限制,CDP協議將在本文中被描述來說明本公開內容的特定能力和特征。
[0031]CDP是被典型地用來共享與其它直連節點相關聯的信息(例如,操作系統版本和IP地址)的數據鏈路層網絡協議。支持⑶P的網絡設備將⑶P通告發送到組播目的地址
01:00:0c:cc:cc =CCo這些組播數據分組可以由其它直連節點(其支持⑶P)在它們連接的網絡接口處接收。支持CDP的每個節點都將從其它節點接收到的信息存儲在表中,所述表能夠使用諸如show⑶P neighbors命令之類的適當的命令來查看。包含在⑶P通告中的信息可以包括操作系統版本、主機名、來自配置于CDP幀被發送的端口上的(一個或多個)所有協議的IP地址、通告從其被發送的端口標識符、設備類型和型號、雙工設定、VTP域、本機VALN、功耗(針對以太網供電設備)以及其它設備特定信息。
[0032]典型地,⑶P分組能夠被用來獲得一般網絡(不必實施VXLAN技術或等效覆蓋方案)中的鄰近設備的協議地址。CDP不能夠被用來提供關于未被直接地連接的設備的信息,因為⑶P分組是第2層數據分組。路由器在默認情況下一般地不轉發第2層業務;交換機將由⑶P所用的MAC組播地址識別為特殊地址并且將不從其它接口轉發分組。因此,僅直連鄰居接收CDP分組。然而,系統10的實施例能夠被配置成使用CDP分組(或具有其它鏈路層格式的發現分組)以便獲得關于無法通過諸如VXLAN之類的覆蓋網絡直接地連接的端點的信息。
[0033]本公開內容的詳細資料提供在使用適當地配置的發現分組來實現覆蓋方案的網絡環境中跨越組播骨干發現端點。因為VXLAN(和其它類似的覆蓋方案)在每個VXLAN段中呈現第2層網絡(而不管端點是否被直接地連接),所以可以在VXLAN段中的節點之間交換發現分組(諸如CDP分組)以排除連通性故障。
[0034]根據本公開內容的實施例,在接收到發現分組之后,每個VEM17a_c都可以驗證發現分組上的TLV參數。每個VEM17a-c都可以將發送者識別為鄰近設備,并且適當地響應。發現分組中的應用TLV能夠被用來至少交換遠程VEM的VNI和IP地址(例如,VMKNIC IP)以便驗證點對點連通性。命令行接口(CLI)能夠為調試提供過濾器(例如,每VXLAN)。由系統10所提供的操作和基礎設施能夠適用于諸如VXLAN、NV-GRE以及MAC_in_MAC之類的封裝解決方案,以及支持這樣的封裝解決方案的虛擬或物理設備。系統10的實施例能夠使得網絡管理員能夠清楚地使上游(例如,組播骨干)問題與虛擬交換機或VM問題隔離。系統10的實施例能夠使得易于跨越多個分布式虛擬交換機(DVS)在大數據中心部署中故障診斷并且提供用來發現VXLAN段的主機的機制。
[0035]系統10的實施例還能夠在隧道環境中例如在任何組播覆蓋網絡中發現端點。在數據中心環境(諸如正由覆蓋網絡12所提供的數據中心環境)中,網絡管理員能夠提供CLI以從VSM24觸發發現。VSM24可以引導VEM17a-c發送發現分組。端點(例如,VEM17a)能夠將發現分組(其可以使用組播覆蓋來封裝)發送到覆蓋網絡12中的所有其它端點(例如,VEM17b和17c)。其它端點(例如,VEM17b和17c)從而能夠學習到源端點(例如,VEMl7a)的存在。這種信息能夠被推送給VSM24,其能夠聚合來自所有端點的信息并且將所發現的端點提供(例如,顯示)給網絡管理員。
[0036]如果在VXLAN段中存在連通性問題,則該問題可能位于在下列中的一個或多個處:(1) 一個或多個VM;(2)在VM與VEM之間;以及(3)在VEM之間。使用發現分組可以使得網絡管理員能夠高效地(例如,使用CLI上的一個或多個命令)確定連通性問題是否是在VEM之間,并且如果是這樣的話,則確定哪些VEM受該連通性問題影響。 [0037]而且,使用發現分組的優點(在TLV被啟用情況下)可以是應用特定TLV可以被插入到發現分組中。例如,端點能夠被每應用隔離。應用TLV能夠攜帶特定GRE密鑰/VNI (或任何其它標識符),并且僅可以發現攜帶這種特定識別信息的那些端點。進一步地,各種實施例可以將組播MAC地址用作目的地MAC地址,從而驗證雙向組播路徑。能夠在VSM24處使用適合的顯示機制查看所發現的多點信息。
[0038]應用特定TLV還能夠被用來故障診斷覆蓋網絡12中的問題,其中上游連通性(例如,配置)中的問題可以由這種方法容易地識別。例如,服務器管理員可以識別兩個VM(例如,一個為VM18,一個為VM20)不在與彼此對話,并且可以相應地通知網絡管理員。網絡管理員能夠識別VM18和20被托管在其上的VEM(例如,VEMl7a和17b),并且然后驗證上游組播連通性的工作條件。兩個端點之間的路由能夠通過在發現分組中放入端點標識符(例如,在VXLAN的情況下為VMKNIC IP地址)使得僅該特定端點應答(例如,VEMl7b或17a)來驗證。網絡管理員因此能夠容易地推斷出問題是否是因為上游連通性。
[0039]轉向系統10的基礎設施,網絡拓撲能夠包括任何數目的服務器、VM、DVS、虛擬路由器、VSM以及被互連以形成大且復雜的虛擬覆蓋網絡12的其它節點。更具體地,調試引擎26、服務器16a-c、VEM17a-c、交換機14、VSM24和/或服務器28可以被配置成執行本文中所討論的特定活動(或者與彼此協作)。此外,這些設備是能夠促進本文中所討論的許多處理、通信和/或發現活動的網絡元件。如本說明書中所用的那樣,術語“網絡元件”旨在包含路由器、服務器、交換機、電纜盒、網關、橋接器、負載平衡器、防火墻、聯機服務節點、代理、處理器、模塊或任何其它適合的設備、組件、元件、專有裝置、用戶設備,或可操作來在網絡環境中交換信息的對象。這些網絡元件可以包括任何適合的硬件、軟件、組件、模塊、接口,或促進其操作的對象。這可以包括允許數據或信息的有效交換實現的適當的算法和通協議。
[0040]圖1的元件可以通過采用任何適合的連接(有線或無線)的一個或多個接口被耦合到彼此,所述連接為電子通信提供可行的路徑。附加地,這些元件中的任何一個或多個可以基于特定配置需要被組合或者從架構去除。系統10可以包括有能夠用于數據分組在網絡中的電子傳輸或接收的傳輸控制協議/網際協議(TCP/IP)通信的配置。系統10還可以在適當情況下并且基于特定需要與用戶數據報協議/IP(UDP/IP)或任何其它適合的協議相結合地操作。此外,網關、路由器、交換機以及任何其它適合的節點(物理的或虛擬的)可以被用來促進網絡中的各種節點之間的電子通信。
[0041]示例網絡環境可以被配置在可以包括一個或多個網絡的物理基礎設施之上,并且進一步地,可以以任何形式加以配置,所述任何形式包括但不限于局域網(LAN)、無線局域網(WLAN)、VLAN、城域網(MAN)、廣域網(WAN)、VPN、內部網、外聯網、任何其他適當的架構或系統,或促進網絡中的通信的其任何組合。在一些實施例中,通信鏈路可以表示支持LAN環境的任何電子鏈路,諸如例如電纜、以太網、無線技術(例如,IEEE802.llx)、ATM、光纖等或其任何適合的組合。在其它實施例中,通信鏈路可以表示通過任何適當的介質(例如,數字訂戶線路(DSL)、電話線路、Tl線路、T3線路、無線、衛星、光纖、電纜、以太網等或其任何組合)和/或通過諸如廣域網(例如,因特網)之類的任何附加的網絡的遠程連接。
[0042]轉向圖2,圖2是圖示根據本公開的實施例的系統10的附加細節的簡化框圖。調試引擎26可以包括消息生成器40、發現模塊42、輸出生成器44、處理器46以及存儲器48。調試引擎26可以通過覆蓋網絡12被連接到組播骨干50。組播骨干50互連托管‘η’個VM70-82的‘m’個VE M(還被稱為端點)60-66。組播骨干50可以包括交換機、路由器、鏈路以及促進覆蓋網絡12中的各種節點之間的通信的其它網絡設備。每個VEM都可以包括一個或多個VM。例如,VEM60包括VM70和72。VEM62包括VM74和76。VEM64包括VM78和80。VEM66包括VM82。一個或多個VM可以是能夠由對應的VNI來識別的VXLAN段的一部分。例如,VM70、72以及74是VXLAN段90的一部分,并且VM76、78、80以及82是VXLAN段92的一部分。調試引擎26可以被連接到管理機94,所述管理機可以通過諸如顯示器96上的CLI之類的適合的用戶接口來控制。在一個實施例中,管理機94可以是VSM24的一部分。
[0043]出于討論的目的,做出了 VEM60中的VM70不正在與VEM62中的VM74交互的假設。缺少連通性的原因可以包括組播骨干50(例如,在VEM60與VEM74之間的通信鏈路)的問題,或個別地VM70或VM74的問題,或在VM與VEM之間(例如,在VM60與VEM60之間或在VM74與VEM62之間)的問題。根據本公開的實施例,調試引擎26可以使發現分組被發送到適當的端點,所述適當的端點在這個示例場景中包括VEM60和VEM62使得連通性問題可以被解析(或者至少變窄)。
[0044]根據各種實施例,調試引擎26可以在覆蓋網絡12中組播發現分組。發現分組可以被配置成發現跨越組播骨干50連接的并且屬于覆蓋網絡12的一段(例如,具有對應VNI的VXLAN段)的端點。消息生成器40可以生成包括適當的TLV信息和適當的標識符的發現分組,所述適當的標識符諸如與VM70和74所屬于的VXLAN段90相對應的VNI。在一些實施例中,可以以周期性時間間隔規則地(例如,例如每五分鐘)生成發現分組。在其它實施例中,發現分組可以由用戶視需要或情況而定來生成。自動輪詢可以使網絡泛洪并且對于VEM(例如,VEM60-66)和管理機94引入不必要的處理。在用戶觸發的選項中,用戶出于諸如調試網絡之類的特定目的而觸發發現分組。發現模塊42可以將發現分組組播到覆蓋網絡12中屬于適當的VXLAN段90的端點。在本文中所描述的示例中這樣的端點是VEM60和62。在一個實施例中,覆蓋網絡12是跨越第3層網絡的第2層覆蓋方案,發現分組是第2層數據分組,并且分發的方法是組播。因此,端點可以對第2層發現分組做出響應,而不管它們被直接地還是間接地連接到調試引擎26。
[0045]發現模塊42可以等待來自各種VEM(例如,VEM60和62)的響應或超時并且聚合所接收到的信息(還在此被稱為發現的多點信息)。如果連通性問題是在組播骨干50處,則取決于哪一個鏈路具有連通性問題VEM60或62 (或兩者)可能未能對發現分組做出響應。因此,響應可以超時,并且發現模塊42可以記錄這樣的超時。視情況而定,輸出生成器44可以引起所發現的多點信息在顯示器96上的顯示。在其中連通性問題是在組播骨干50(例如,將VEM64與組播骨干50連接的鏈路)處的情況下,輸出可以指示VEM62沒有正在響應。
[0046]在另一示例場景中,網絡管理員可能想要發現VXLAN段(例如,VXLAN段92)中的所有VEM。網絡管理員可以使調試引擎26將發現分組組播到VXLAN段92中的端點(因為仍然未知)。消息生成器40生成包括適當的TLV信息和適當的標識符(例如,與VXLAN段92相對應的VNI或GRE密鑰)的發現分組。發現模塊42可以將發現分組組播到覆蓋網絡12中屬于VXLAN段92的所有端點。VEM64-66可以適當地對發現分組做出響應。發現模塊42可以聚合所發現的多點信息。所發現的多點信息可以包括做出響應的所有VEM的VEM識別(諸如IP地址)。輸出生成器44可以引起所發現的多點信息在顯示器96上的顯示。因此,可以基于對來自相應端點的發現分組的響應來識別有關端點。
[0047]在各種實施例中 ,調試引擎26可以位于管理機94上,所述管理機和與VEM60-66分離的專用服務器(例如,服務器28)和虛擬交換機相關聯。在其它實施例中,調試引擎26可以位于與覆蓋網絡12中的一個或多個服務器(例如,收容VEM60-66的服務器)相關聯的虛擬交換機上。例如,調試引擎26可以位于收容VEM60的相同服務器上。在又一個示例實施例中,調試引擎26可以位于與VSM24相關聯的虛擬服務裝置上。調試引擎26的各種其它配置在覆蓋網絡12的虛擬化環境中是可能的。注意在各種實施例中,處理器46和存儲器48可以是可以物理上與調試引擎26的其它組件分離的網絡元件(例如,消息生成器40、發現模塊42等)的一部分。在各種實施例中,調試引擎26的組件可以被一起耦合在一個物理設備上,或者它們可以基于特定需要位于單獨的物理設備上并且以任何適合的組合邏輯上互連到調試引擎26中。
[0048]轉向圖3,圖3是圖示可以與本公開的實施例相關聯的操作的簡化流程圖100。當調試引擎26被激活時,操作可以在102處開始。在104處,多點端點消息由消息生成器40來生成。在106處,消息例如通過插入適合的TLV信息使得發現分組被創建而被適當地封裝。在108處,可以通過發現模塊42在組播覆蓋之上發送具有信息密鑰(例如,VNI等)的已封裝消息。在110處,發現模塊42可以等待響應(或替換地,來自接收者的超時)。在112處,發現模塊42可以聚合所接收到的信息并且輸出生成器40可以引起所發現的多點信息在顯示器96上的顯示。當端點已被發現時,過程在116處結束。[0049]轉向圖4,圖4是圖示根據本公開的實施例的示例輸出屏幕200。輸出屏幕200可以顯示由發現模塊42所接收到的多點信息。多點信息可以包括VEM(例如,由VEM名稱或適合的ID來識別)、VEM IP地址等的列表。能夠被獲得(和顯示)的多點信息能夠包括任何設備、系統或用來識別特定網絡中的VEM的網絡信息。多點信息可以由輸出生成器44基于CLI上的適合的命令自動地顯示,或者由事件觸發器(諸如與VXLAN段的VEM斷開)造成。
[0050]例如,諸如“cinquedia(config)#show cdp neighbors”之類的適合的命令可以提出屬于覆蓋網絡12的VEM的列表。輸出屏幕200能夠指示四個VEM(例如,VEM1、VEM2、VEM3 以及 VEM4)在 VXLAN 中被連接。諸如 “cinquedia (config) #show cdp neighborsvxlan5000”之類的另一適合的命令可以提出屬于相同VXLAN段(例如,由所對應的VNI5000來識別)的VEM的列表。輸出屏幕200指示VEMl和VEM3屬于VXLAN段5000。諸如“cinquedia(config)#show cdp neighbors verifyl72.23.231.100172.23.231.200”之類的又一個適合的命令可以驗證兩個VEM (例如,在IP地址172.23.231.100和172.23.231.200處)之間的點對點組播連通性。輸出屏幕200能夠指示雖然從發送者到接收者的連接不具有問題,但是返回連接已失敗。注意,本文中所列舉的多點信息的命令和集合僅用于示例目的。可以基于特定主機設備、管理機軟件或功能性、軟件開發套件(SDK)、版本等來配置命令。本文中所列舉的多點信息的命令和集合不旨在以任何方式限于本公開內容的廣泛范圍。
[0051]轉向圖5,圖5是圖示可以與本公開的實施例相關聯的示例操作步驟的簡化流程圖300。當調試引擎26被激活時,操作可以在步驟302處開始。在304處,可以識別具有連通性問題的VM。在一個實施例中,網絡管理員可以識別VM。在另一實施例中,VM可以由相應的VEM來自動地識別。在306處,可以確定受影響的VM的VXLAN段。在各種實施例中,每個VM都可以屬于多個VXLAN段。在308處,受影響的VXLAN段可以被選擇成被測試。在一個實施例中,選擇 可以是隨機的。在另一實施例中,選擇可以是基于網絡策略、企業策略或可能是基于特定需要的其它適合的準則。
[0052]在310處,發現分組可以被調試引擎26發送到所選VXLAN段中的VEM。在312處,發現模塊26可以等待響應或超時。在314處,調試引擎26可以聚合來自VEM的響應。在316處,調試引擎26可以視需要而定顯示所發現的多點信息。在一個實施例中,多點信息可以被顯示在屏幕上。在另一實施例中,多點信息可以被插入到報告中。在又一個實施例中,可以打印多點信息。在318處,可以做出VXLAN段中的所有VEM是否已經響應并且它們是否已被包括在多點信息中的確定。如果VEM中的至少一些具有連通性問題,則這樣的VEM將未被包括在多點信息中。在320處,可以識別這樣斷開的VEM并且過程在322處結束,其中可以執行后續的集中式故障診斷。
[0053]替換地,如果VXLAN段中的所有VEM都被包括在多點信息中,如在318處所確定的那樣,則在324處做出所有有關的VXLAN段是否已被測試的后續確定。如果所有VXLAN段已被測試,則它可以指示在組播骨干中沒有連通性問題,并且連通性問題可以與各個VM相關聯,或者在受影響的VM與相應的VEM之間。可以在322處結束過程。注意,如果所有有關的VXLAN段尚未被測試,則操作可以進行到步驟326,其中下一個VXLAN段可以被選取用于測試。隨后,可以針對在306處所識別的每個有關的VXLAN段重復步驟310至320。[0054]在示例實施方式中,本文中所概述的活動中的至少一些部分可以用在例如調試引擎26、服務器16a-c、VEM17a-c、交換機14、VSM24和/或服務器28中所提供的軟件加以實現。在一些實施例中,所討論的特征中的一個或多個可以用在這些元件外部提供的硬件加以實現,或者以任何適當的方式合并來實現所預定的功能性。另外地,調試引擎26、服務器16a-c、VEM17a-c、交換機14、VSM24和/或服務器28可以包括能夠協調以便實現如本文中所概述的操作的軟件(或往復軟件)。在仍然其它的實施例中,這些元件可以包括任何適合的算法、硬件、軟件、組件、模塊、接口或促進其操作的對象。停止
[0055]此外,本文中所描述并示出的調試引擎26、服務器16a_c、VEM17a_c、交換機14、VSM24和/或服務器28 (和/或它們關聯的結構)還可以包括用于在網絡環境中接收、傳送和/或以其它方式傳遞數據或信息的適合的接口。另外地,與各種節點相關聯的處理器和存儲器中的一些可以被去除或者以其它方式合并,使得單個處理器和單個存儲器位置負責特定活動。在一般意義上,圖中所描繪的布置在它們的表示方面可能是更有邏輯的,然而物理架構可以包括這些元件的各種排列、組合和/或混合。必須注意的是,無數可能的設計配置能夠被用來實現在這里所概述的操作目標。因此,所關聯的基礎設施具有無數的組成布置、設計選擇、設備潛力、硬件配置、軟件實施方式、設備選項等。
[0056]在示例實施例中的一些中,一個或多個存儲器(例如,存儲器48)能夠存儲用于本文中所描述的操作的數據。這包括能夠存儲被執行來執行本說明書中所描述的活動的指令(例如,軟件、邏輯、代碼等)的存儲器。處理器能夠執行與數據相關聯的任何類型的指令以實現在本說明書中此處所詳述的操作。在一個示例中,處理器46能夠將元件或物品(例如,數據)從一個狀態或事物變換為另一狀態或事物。在另一示例中,本文中所概述的活動可以用固定邏輯或可編程邏輯(例如,由處理器所執行的軟件/計算機指令)來實現,并且本文中所識別的元件 可以是某種類型的可編程處理器、可編程數字邏輯(例如,現場可編程門陣列(FPGA)、可擦可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲器(EEPROM))、包括數字邏輯、軟件、代碼、電子指令的ASIC、閃速存儲器、光盤、⑶-ROM、DVD ROM、磁或光學卡、適合于存儲電子指令的其它類型的機器可讀介質,或其任何適合的組合。
[0057]系統10中的組件中的任一個都能夠包括一個或多個存儲器(例如,存儲器48)以用于存儲在實現如本文中所概述的操作時要被使用的信息。這些設備可以進一步將信息保持在任何適合類型的非暫時性存儲介質(例如,隨機存取存儲器(RAM)、只讀存儲器(ROM)、現場可編程門陣列(FPGA)、可擦可編程只讀存儲器(EPROM)、電可擦可編程ROM(EEPROM)等)、軟件、固件中,或者在適當情況下并且基于特定需要保持在任何其它適合的組件、設備、元件或對象中。能夠基于特定需要和實施方式在任何數據庫、寄存器、表、高速緩存、隊列、控件列表或存儲結構中提供在系統10中被跟蹤、發送、接收或存儲的信息,其全部都能夠在任何適合的時間系中被參考。本文中所討論的存儲器術語中的任一個應該被解釋為被包含在廣義術語“存儲器”內。類似地,本說明書中所描述的潛在的處理元件、模塊以及機器中的任一個都應該被解釋為被包含在廣義術語“處理器”內。
[0058]同樣重要的是要注意,參考前面的圖所描述的操作和步驟僅圖示可以被或者在系統內執行的可能場景中的一些。可以在適當情況下刪除或者去除這些操作中的一些,或者在不背離所討論的構思的范圍的情況下,可以大量地修改或者改變這些步驟。此外,這些操作的定時可以被大量地變更并且仍然實現本公開內容中所教導的結果。已經出于示例和討論的目的提供了前面的操作流程。必要靈活性由系統以該任何適合的布置、年表、配置來提供,并且在不背離所討論的構思的教導的情況下可以提供定時機制。
[0059]盡管已經參考特定布置和配置詳細地描述了本公開內容,但是在不背離本公開內容的范圍的情況下,可以顯著地改變這些示例配置和布置。例如,盡管已經參考牽涉特定網絡接入和協議的特定通信交換對本公開內容進行了描述,但是系統10可以適用于其它交換或路由協議。而且,盡管已經參考促進通信過程的特定元件或操作圖示了系統10,但是這些元件和操作可以用實現系統10的預定功能性的任何適合的架構或過程代替。
[0060]注意在本說明書中,對包括在“一個實施例”、“示例實施例”、“實施例”、“另一實施例”、“一些實施例”、“各種實施例”、“其它實施例”、“替代實施例”等等中的各種特征(例如,元件、結構、模塊、組件、步驟、操作、特性等)的參考旨在意味著任何這樣的特征被包括在本公開內容的一個或多個實施例中,但是可以或者可能未必被組合在相同的實施例中。此外,單詞“優化”、“最佳化”以及 相關術語是指的是規定的結果的速度和/或效率方面的改進的術語,并且不意味著指示用于實現所規定的結果的過程已實現了,或者能夠實現“最佳的”或完全快速的/完全高效的狀態。
[0061]許多其它改變、替換、變化、變更以及修改可以被本領域的技術人員想到,并且意圖是,本公開包含如落入所附權利要求的范圍內的所有這樣的改變、替換、變型、變更以及修改。為了幫助美國專利商標局(USPTO)并且另外地,幫助對本申請頒布的任何專利的任何讀者解釋所附權利要求, 申請人:希望注意本 申請人::(a)除非單詞“用于…的裝置”或“用于…的步驟”被具體地用在特定權利要求中,否則不打算所附權利要求中的任一個援引美國法典第35條112節的第六(6)段因為它于其申請日存在;以及(b)不通過本說明書中的任何聲明旨在以在所附權利要求中未被以其它方式反映的任何方式限制本公開內容。
【權利要求】
1.一種方法,包括: 在覆蓋網絡中組播發現分組,所述覆蓋網絡包括越過第3層網絡的第2層方案;以及 基于各個端點對所述發現分組的響應來識別所述端點,其中所述端點跨越組播骨干被耦合。
2.根據權利要求1所述的方法,進一步包括: 基于缺少來自已斷開端點的響應識別所述覆蓋網絡中的已斷開端點。
3.根據權利要求1所述的方法,其中所述端點是被配置成支持一個或多個虛擬機(VM)的虛擬以太網模塊(VEM)。
4.根據權利要求1所述的方法,其中所述發現分組被以類型長度值(TLV)格式提供并且包括識別所述覆蓋網絡的段的標識符。
5.根據權利要求1所述的方法,其中所述覆蓋網絡是一組網絡中的選擇的一個,所述一組網絡包括: a)虛擬可擴展局域網(VXLAN); b)網絡虛擬化通用路由封裝(NV-GRE)網絡;以及 c)媒體訪問控制(MAC)-1n-MAC網絡。
6.根據權利要求1所述的方法,其中所述覆蓋網絡是包括由對應的VXLAN段標識符(VNI)來識別的一個或多個段的多租戶VXLAN。
7.根據權利要求1所述的方法,進一步包括: 將所述響應聚合成多點信息;以及 顯示所述多點信息。
8.根據權利要求1所述的方法,其中所述發現分組是思科發現協議(CDP)分組和鏈路層發現協議(LLDP)分組中的選擇的一個。
9.在包括用于執行的指令的非暫時性媒體中被編碼并且當被處理器執行時可操作來執行操作的邏輯,所述操作包括: 在覆蓋網絡中組播發現分組,所述覆蓋網絡包括越過第3層網絡的第2層方案;以及 基于各個端點對所述發現分組的響應來識別所述端點,其中所述端點跨越組播骨干被耦合。
10.根據權利要求9所述的邏輯,所述操作進一步包括: 基于缺少來自已斷開端點的響應識別所述覆蓋網絡中的已斷開端點。
11.根據權利要求9所述的邏輯,其中所述端點是被配置成支持一個或多個虛擬機(VM)的虛擬以太網模塊(VEM)。
12.根據權利要求9所述的邏輯,其中所述發現分組被以類型長度值(TLV)格式提供并且包括識別所述覆蓋網絡的段的標識符。
13.根據權利要求9所述的邏輯,其中所述覆蓋網絡是一組網絡中的選擇的一個,所述一組網絡包括: a)虛擬可擴展局域網(VXLAN); b)網絡虛擬化通用路由封裝(NV-GRE)網絡;以及 c)媒體訪問控制(MAC)-1n-MAC網絡。
14.根據權利要求9所述的邏輯,其中所述覆蓋網絡是包括由對應的VXLAN段標識符(VNI)來識別的一個或多個段的多租戶VXLAN。
15.根據權利要求9所述的邏輯,所述操作進一步包括: 將所述響應聚合成多點信息;以及 顯示所述多點信息。
16.根據權利要求9所述的邏輯,其中所述發現分組是思科發現協議(CDP)分組和鏈路層發現協議(LLDP)分組中的選擇的一個。
17.一種裝置,包括: 調試引擎; 存儲器,其用于存儲指令;以及 處理器,其可操作來執行所述指令使得所述裝置被配置用于: 在覆蓋網絡中組播發現分組,所述覆蓋網絡包括越過第3層網絡的第2層方案;以及基于各個端點對所述發現分組的響應來識別所述端點,其中所述端點跨越組播骨干被耦合。
18.根據權利要求17所述的裝置,其中所述裝置被進一步配置用于: 基于缺少來自已斷開端點的響應識別所述覆蓋網絡中的已斷開端點。
19.根據權利要求17所述的裝置,其中所述裝置被進一步配置用于: 將所述響應聚合成多點信息;以及 顯示所述多點信息。
20.根據權利要求17所述的裝置,其中所述發現分組被以類型長度值(TLV)格式提供并且包括識別所述覆蓋網絡的段的標識符。
【文檔編號】H04L12/46GK104025508SQ201280065228
【公開日】2014年9月3日 申請日期:2012年12月11日 優先權日:2011年12月30日
【發明者】勞倫斯·克里格, 薩拉齊·內里卡爾, 蘇達爾莎娜·坎達徹爾·司理得哈拉·姚, 尤達亞瑪卡爾·斯瑞尼瓦桑, 阿奴瑞格·米塔爾, 里連·西爾維婭·費爾南德斯 申請人:思科技術公司