交換機在網(wǎng)絡(luò )中的故障診斷
到了4層交換,就更加復雜了,出現了更高級的轉發(fā)和負載均衡技術(shù),故障診斷故障診斷和解決就需要更多的交換機配置知識。
在安裝完一臺交換機后,每個(gè)交換機的半雙工端口就構成了一個(gè)沖突域。如果該端口連接了一個(gè)集線(xiàn)器,集線(xiàn)器下面連接若干站點(diǎn),那么沖突域會(huì )擴大。但隨著(zhù)交換產(chǎn)品的價(jià)格下跌,現在大多數新建的網(wǎng)絡(luò )每個(gè)交換端口都只連接一個(gè)站點(diǎn)。因此,在半雙工連接情況下,沖突域僅針對一個(gè)單獨的電纜鏈路。
本文引用地址:http://dyxdggzs.com/article/201706/357009.htm交換機通常是一個(gè)獨立廣播域的一部分,包括串連或者并連的任意數目的其他交換機。如果使用了OSI|0">OSI模型3層的功能,就可以創(chuàng )建多廣播域,廣播域的數目與VLAN數目相等。最極限的情況,如果交換機功能允許,每個(gè)端口可以配置為一個(gè)獨立的廣播域??梢园堰@種情況描述為路由到桌面。為每個(gè)端口創(chuàng )建一個(gè)獨立的廣播域后,故障診斷就會(huì )嚴格受限。但是如果我們把每個(gè)端口設置為一個(gè)單獨的廣播域,交換機在轉發(fā)流量的時(shí)候,每個(gè)端口都需要路由服務(wù),這會(huì )占用交換機CPU的有限資源。在網(wǎng)絡(luò )環(huán)境中,對每個(gè)單獨的端口進(jìn)行路由請求和應答是非常困難的,我們應該避免這樣的配置。不幸的是,這種情況在實(shí)際情況中非常常見(jiàn),網(wǎng)絡(luò )中經(jīng)常發(fā)現服務(wù)器全部在一個(gè)子網(wǎng)或者廣播域中,所有的客戶(hù)在另外的子網(wǎng)或者廣播域中。在這種情況下,所有的請求都必須路由。如果維護行為限制在一個(gè)單獨的服務(wù)器群里,那么考慮把服務(wù)器放進(jìn)單獨的VLAN里。然后把使用這臺服務(wù)器的用戶(hù)放到同一個(gè)VLAN。這樣就可以使用2層交換的橋接方式來(lái)交換流量,只有很少的請求需要路由。如果服務(wù)器支撐多于一個(gè)用戶(hù)區,可以在服務(wù)器上多裝一塊網(wǎng)卡來(lái)實(shí)現到用戶(hù)的2層交換連接。
對交換機進(jìn)行故障診斷的5種技術(shù)
可以采取5種基本方式來(lái)透視交換機。每一種方法都不同,都有積極或者消極的一面。類(lèi)似在網(wǎng)絡(luò )中遇到的其他問(wèn)題一樣,沒(méi)有一個(gè)最好的答案。最合適的方案往往取決于您手中可以利用到的資源(什么工具可以使用或者以前安裝過(guò)什么工具),而且使用這些技術(shù)有可能造成服務(wù)中斷。
即使把這些方式組合起來(lái),也不能監測到所連接的網(wǎng)絡(luò ),在交換的環(huán)境里面,也不像集線(xiàn)器那樣方便監測。我們幾乎不可能看到通過(guò)一個(gè)交換機的全部流量。大多數的故障診斷會(huì )假設流量會(huì )在站點(diǎn)和所連接的服務(wù)器之間或經(jīng)過(guò)故障診斷交換機uplink口通過(guò)。而實(shí)際上如果2臺主機直接傳輸信息的話(huà),就不會(huì )使用交換機的uplink口或者任何其他的端口來(lái)交換流量。除非你知道具體用到哪個(gè)端口,否則是監測不到的。
舉個(gè)例子,如圖1,一臺服務(wù)器接入一臺交換機。在反映有問(wèn)題的用戶(hù)中,一部分是直接與這臺交換機相連,另外的一部分用戶(hù)是由這臺交換機的uplink口從其他路由器或者交換機連接上來(lái)的。故障報告是訪(fǎng)問(wèn)服務(wù)器“慢”,這樣的故障報告對技術(shù)支持工程師來(lái)說(shuō)基本上沒(méi)有任何價(jià)值。

圖一、一個(gè)最基本的交換機環(huán)境
方法1:通過(guò)TELNET或者串行口接入服務(wù)器
高級的網(wǎng)絡(luò )技術(shù)支持工程師或其他知道交換機密碼的人在進(jìn)行故障診斷時(shí)可以選擇通過(guò)TELENET或者交換機的串口登陸,來(lái)檢查交換機的配置。(如圖2)

圖 2、使用RS-232 控制端口
交換機配置可以通過(guò)上面提到的2種方法查看,雖然問(wèn)題不一定是配置引起的。不管問(wèn)題是操作系統有BUG還是配置不完善,都不能從配置列表中輕易的查看出。配置信息在定位交換機是否像預期的那樣運行上比較有用,但針對故障診斷就不是了。為了驗證交換機的配置,往往需要使用多種的交換機故障診斷方法配合。
很多交換機都帶有實(shí)時(shí)的故障診斷工具,因為交換機生產(chǎn)廠(chǎng)家和型號的不同,這些故障解決工具的特征也各不相同。但是要使用好這些工具,必須依靠一定的理論知識和實(shí)際經(jīng)驗。
方法2:連接到一個(gè)空閑端口
最簡(jiǎn)單的故障診斷方法是在交換機的空閑端口接入一個(gè)監測工具,例如協(xié)議分析儀。

圖3、從任意端口監測
把監測工具接入交換機的一個(gè)空閑端口,不用中斷服務(wù)就可以查看所屬廣播域。該監測工具與廣播域里的其他站點(diǎn)一樣有相同的權限。
不幸的是,交換機(做為一個(gè)多端口的橋接設備)幾乎不轉發(fā)流量到監測端口。因為橋接設備就是這樣設計的,流量直轉發(fā)到所屬的目的端口,不會(huì )去其他的端口。協(xié)議分析儀因此幾乎監測不到流量。

圖4、交換機在源端口和目的端口之間轉發(fā)流量。非常少的流量會(huì )轉到其他端口。站點(diǎn)和服務(wù)器之間可能每秒鐘會(huì )轉發(fā)幾千個(gè)幀,但是監測端口每分鐘只能看到幾個(gè)幀。
轉發(fā)到監測端口的流量幾乎全部都是廣播,包含一些零星的目的地址不明的幀。這些零星的幀是由于路由轉發(fā)表老化的結果,經(jīng)常是目的端口不明的幀。一些經(jīng)驗不夠的技術(shù)人員看到這么高的廣播(接近100%),卻沒(méi)有注意到端口利用率很低,就誤判網(wǎng)絡(luò )出現了廣播風(fēng)暴,其實(shí)不是。
這樣查看交換網(wǎng)絡(luò )幾乎沒(méi)有用,因為監測工具必須獲取流量。獲得的流量或者對廣播域的查詢(xún)對網(wǎng)絡(luò )搜索和發(fā)現其他類(lèi)型問(wèn)題是有很有幫助的,但對解決用戶(hù)連接慢的問(wèn)題并沒(méi)有多大的幫助。
對大多數交換機來(lái)說(shuō),都有一個(gè)更好的選擇,可以把需要監測的端口流量備份到一個(gè)專(zhuān)門(mén)的空閑口。這種技術(shù)通常稱(chēng)為端口鏡像。
大多數交換機廠(chǎng)家都提供備份或鏡像流量的功能,可以把監測工具接入交換機一個(gè)專(zhuān)門(mén)配置過(guò)的端口。老的交換機必須指定一個(gè)專(zhuān)門(mén)的監測口做為鏡像口,但現在大多數新的交換機可以指定任何一個(gè)端口做為鏡像口。
雖然交換機廠(chǎng)家實(shí)現鏡像的方式各不相同,但是有一些基本相同的監測選項。值得注意的是,幾乎在所有的情況下,交換機在轉發(fā)流量到鏡像口的時(shí)候,同時(shí)把錯誤都過(guò)濾掉了。對于故障診斷來(lái)說(shuō),這意味著(zhù)同時(shí)過(guò)濾掉了有用的信息。
此外,實(shí)際操作當中需要我們通過(guò)控制口(交換機的RS232端口),或者Telnet進(jìn)程來(lái)配置鏡像。這意味著(zhù)除了監測工具之外,我們通常還需要帶一臺電腦或者終端來(lái)對交換機進(jìn)行配置。
鏡像端口經(jīng)常只是一個(gè)“監聽(tīng)”端口,不過(guò)很多交換機廠(chǎng)家允許把該端口配置成全雙工的。配置了鏡像口,監測工具就可以查看報告連接慢的主機和服務(wù)器之間的實(shí)際流量的備份。鏡像口可以只監測交換機的任意一個(gè)端口,甚至可以是Uplink口,也可以同時(shí)監測交換機的多個(gè)端口。但是同時(shí)監測的端口很多的話(huà),過(guò)高的流量就有可能會(huì )超過(guò)鏡像口的接收能力。
監測端口的輸出能力是一個(gè)很重要的問(wèn)題。鏡像口可以收,也可以發(fā)。在配置的時(shí)候,經(jīng)常關(guān)掉了鏡像口發(fā)的功能。但不管有沒(méi)有關(guān)掉鏡像口發(fā)的功能(不管鏡像口是全雙工或者不是),鏡像口的接收能力都是有限制的。如果被監測的全雙工端口的速率和鏡像口是一樣的話(huà),交換機在轉發(fā)流量的時(shí)候很容易就會(huì )丟包,但是交換機不會(huì )通知您。
假設您在監測一個(gè)以100M全雙工速率連接到交換機的服務(wù)器的話(huà),那么服務(wù)器在全雙工工作的時(shí)候,服務(wù)器的收發(fā)速率都是100M,那么總共就有了200M。然而交換機的100M鏡像口最多只能接收100M的流量。所以任何交換機的端口(全雙工的)利用率超過(guò)50%的時(shí)候,鏡像口接收到的包就會(huì )有丟失。
如果把多個(gè)端口鏡像到一個(gè)端口,丟包的問(wèn)題就會(huì )更加的嚴重。因為大多數交換機都工作在低容量,這個(gè)問(wèn)題并不會(huì )被立刻注意到。大多數用戶(hù)連接的平均利用率都很低。只是偶爾會(huì )有流量的突發(fā)。
如果選擇一個(gè)高速的鏡像口,就可以減少丟包的問(wèn)題。例如把圖6中的100M鏡像口換成1000M,那么就可以很容易的接收200M的監測流量。
使用集線(xiàn)器很具有戰略意義。對很多網(wǎng)絡(luò )來(lái)說(shuō),大多數發(fā)送和接收的流量都來(lái)源于文件服務(wù)器之類(lèi)的共享設備。在交換機端口和文件服務(wù)器中間接入一個(gè)集線(xiàn)器,再把分析儀接入集線(xiàn)器,實(shí)際上就把分析儀和文件服務(wù)器接入了同一個(gè)廣播域。如圖7所示。使用這種方法,技術(shù)支持人員就可以看到文件服務(wù)器所有進(jìn)出的流量,幫助技術(shù)支持人員解決一系列的問(wèn)題,包括用戶(hù)登陸失敗、性能低效、連接丟失等。

圖5、使用集線(xiàn)器監測交換機端口
接入集線(xiàn)器的方法很多時(shí)候都不實(shí)用,特別是在需要監測多個(gè)服務(wù)器的時(shí)候。在哪里接入集線(xiàn)器合適?所有的服務(wù)器都要連接嗎?如果是用一個(gè)集線(xiàn)器,換來(lái)?yè)Q去連接的話(huà),您一定不希望您的網(wǎng)絡(luò )這樣頻繁地被干擾。連接集線(xiàn)器所帶來(lái)的時(shí)延,經(jīng)常會(huì )帶來(lái)連接的丟失。另外,很多時(shí)候監測工具并不支持服務(wù)器所采用的技術(shù)或者連接速率。
使用共享集線(xiàn)器監測一條鏈路上的所有流量和錯誤仍然是一個(gè)有效的方法。這幾乎是唯一一種可以在交換網(wǎng)絡(luò )環(huán)境中實(shí)際查看和分析MAC層錯誤的方法。使用SNMP來(lái)發(fā)現這些錯誤也可以。但是,為了更好地進(jìn)行錯誤分析,還是用監測工具直接查看最直接。
接入集線(xiàn)器的方法有2種主要缺陷。服務(wù)器鏈路有可能不是全雙工的,或者和集線(xiàn)器的端口雙工狀態(tài)不匹配,這會(huì )給監測帶來(lái)更多的不愿意看到的錯誤結果。而且使用這種方法時(shí),手頭必須要有一個(gè)共享集線(xiàn)器?,F在很多新型的集線(xiàn)器都類(lèi)似于交換機,而不是共享的轉發(fā)設備。接入這種新型的集線(xiàn)器,相當于接入了一個(gè)新的交換機,您會(huì )看不到想要查看的流量,對監測起不到什么作用。安恒公司如果接入的是雙速率的集線(xiàn)器,例如10M/100M雙速率的,可能每個(gè)速率都提供了一個(gè)廣播域,兩個(gè)速率之間再進(jìn)行轉發(fā)。在這種情況下,需要確認被監測鏈路和監測工具運行在相同速率,才能夠使用這種雙速率集線(xiàn)器。還有一些集線(xiàn)器提供在所有端口之間轉發(fā)的功能,更因此把自己標榜為價(jià)格便宜的交換機,給人造成誤解。他們都不能用在這種監測方法上。
方法4:使用一個(gè)TAP(監測接口盒)或者分流器
這種方法類(lèi)似于加了一個(gè)共享集線(xiàn)器,不同點(diǎn)是TAP鏈路只是接收流量,不允許監測工具發(fā)出流量。
TAP和分流器這2個(gè)詞有時(shí)候可以互換,雖然分流器通常應用于光纖鏈路。在光纖鏈路上,分流器會(huì )把光在初始路徑和監測路徑上進(jìn)行分光。典型的分光比率包括80:20、70:30以及50:50。以80:20為例,80%的光通過(guò)分光器繼續傳送到原始路徑,20%的光轉發(fā)到監測路徑。如果光纖本來(lái)就有問(wèn)題,或者傳輸的距離很長(cháng)的話(huà),光分流器帶來(lái)的20%光丟失,很容易造成鏈路出現問(wèn)題。分流器在光纖鏈路上很容易就會(huì )帶來(lái)3 dB的衰減。有些分流器要耐用一些,因此即使在鏈路的一端安裝分流器造成鏈路中斷,還可以將其換到另一端去安裝,讓鏈路正常工作。光分流器不需要電源就可以工作。需要注意的是,分流器是帶內(Inbound)監測設備,所以分流器的線(xiàn)纜正確連接就非常重要。
電口的TAP也會(huì )帶來(lái)信號丟失的問(wèn)題,因為T(mén)AP需要信號來(lái)識別通過(guò)的流量。對電纜來(lái)說(shuō),這相當于增加了衰減,如果鏈路本身已經(jīng)有一定問(wèn)題或者鏈路很長(cháng)的話(huà),TAP的引入有可能會(huì )造成連接中斷。電口的TAP工作需要電源,信號被恢復并重傳到監測端口。如果設計的好,在TAP掉電的時(shí)候,鏈路應該也不會(huì )中斷。
對鏈路使用TAP進(jìn)行監測的方式是一個(gè)很好的查看鏈路流量的方法。一旦安裝成功,TAP對被監測的設備來(lái)說(shuō)就是透明的,可以隨時(shí)使用,而且不會(huì )帶來(lái)更多干擾。不幸的是,在接入TAP的時(shí)候,鏈路必須暫時(shí)中斷。此外,TAP或者分流器會(huì )按照2個(gè)獨立的方向提供流量。也就是說(shuō),發(fā)送和接收是分開(kāi)的。
為了同時(shí)監測通過(guò)TAP鏈路的請求及響應,需要一個(gè)帶兩個(gè)輸入口的監測工具。雙端口的監測工具可以分別監測每個(gè)方向,也可以把兩個(gè)方向的鏈路集中在一起分析。您也可以選擇每次只監測一個(gè)方向的流量,但這樣分析起來(lái)會(huì )比較困難。對TAP來(lái)說(shuō),監測全雙工鏈路和半雙工鏈路,操作上沒(méi)有什么區別,都可以監測。您可以選擇一個(gè)單端口的監測工具,監測單一的方向,或者選擇一個(gè)雙端口的監測工具,同時(shí)的監測兩個(gè)方向。
方法5:用SNMP查詢(xún)交換機
對一個(gè)交換網(wǎng)絡(luò )進(jìn)行故障診斷的最有效辦法,應該是通過(guò)直接詢(xún)問(wèn)交換機來(lái)查看網(wǎng)絡(luò )的狀況。這可以通過(guò)SNMP或者連接到交換機的控制口實(shí)現。顯然,直接連接到交換機的控制口不是理想的辦法,因為這就需要對網(wǎng)絡(luò )中的每臺交換機都有物理上的連接。稍微理想一點(diǎn)的替代方法是搭建連接到交換機控制口的終端服務(wù)器。安恒公司SNMP是一個(gè)更好的選擇,它可以在交換網(wǎng)絡(luò )帶內的任何地方進(jìn)行查詢(xún),不需要附加的硬件。如果您部署了網(wǎng)管系統,還可以配置當利用率、錯誤、或者其他參數超過(guò)門(mén)限的時(shí)候,交換機主動(dòng)發(fā)出SNMP陷阱。然后利用網(wǎng)管或者監測工具,研究是什么原因造成了門(mén)限超出。
事實(shí)上幾乎所有的交換機都提供SNMP功能,哪怕是最便宜的交換機。它們之間主要的區別就是提供的信息多少。一些價(jià)格便宜的交換機只提供簡(jiǎn)單的SNMP信息,且是針對整個(gè)交換機的;而那些價(jià)格貴一些的交換機,還可以提供交換機每個(gè)端口的詳細信息。
SNMP可能是監測交換網(wǎng)絡(luò )最常用和干擾最少的辦法。SNMP控制臺不需要非??拷槐O測的設備,只要求有路由可達就可以了,同時(shí)交換機的安全配置允許控制臺與交換機的代理進(jìn)行通信。

圖6、使用SNMP監測交換機安
雖然交換機可以識別到錯誤,但交換機本身并不定時(shí)地報告錯誤,所以使用SNMP查詢(xún)或許是最好的辦法。
支持SNMP的交換機有不同的MIB庫(管理信息庫)。每一種MIB都不同。除了某些對自己的交換機提供支持的私有MIB庫,標準的MIB庫對交換網(wǎng)絡(luò )的監測也非常有用。下面是對故障診斷非常有用的一些MIB庫。
RFC 1213 – MIB II
RFC 1643 – Ethernet-Like Interface MIB
RFC 2819 – RMON Ethernet
RFC 2021 – RMON 2
RFC 2613 – SMON
很多RFC生成之后就不斷地在更新和增強。因此我們要檢查最近更新的RFC。例如RFC1213,至少更新和增強了五次,生成了5個(gè)新的RFC(2011,2012,2013,2358和2665)。除了定義利用率和錯誤的RFC之外,有關(guān)橋接的MIB(RFC1493)也是非常有用的。
使用SNMP監測網(wǎng)絡(luò )的時(shí)候,必須注意安全性。如果SNMP代理沒(méi)有限制,那么潛在的任何地方的任何人都可以監測到您的網(wǎng)絡(luò )動(dòng)態(tài)或修改交換機配置。交換機售出的時(shí)候默認打開(kāi)了SNMP,并且使用的是一個(gè)非常通用的密碼。SNMP密碼叫做通信字符串,使用明文傳播,這帶來(lái)了潛在的危險。SNMP V3提供對通信字符串的加密,減少了這種危險,但是SNMP V3還沒(méi)有廣泛使用。最常用的通信字符串是public?,F在,使用public,很多Internet上的SNMP代理都可以被接入。
我們應該立即修改通信字符串。SNMP代理應該為不同的字符串配置不同的接入級別,不同的IP地址、不同的子網(wǎng)也有不同的接入級別?;蛘吒鶕渌呐渲脕?lái)限制接入的級別。通過(guò)路由器接入SNMP代理可能會(huì )對SNMP的限制帶來(lái)一些影響。防火墻也有可能完全阻止SNMP。即使您能夠通過(guò)SNMP接入代理,也要求代理支持您所要查詢(xún)的MIB庫。大部分廠(chǎng)家完全支持標準的MIB庫。然而,也有一些廠(chǎng)家不支持。有時(shí)候為了支持期望的MIB,還需要先對交換機的操作系統進(jìn)行升級。這種方法還有一個(gè)問(wèn)題,如果SNMP代理執行的MIB不正確的話(huà),那么響應就完全是錯誤的了。雖然這并不是經(jīng)常發(fā)生的,但有時(shí)候程序設計的錯誤,會(huì )帶來(lái)錯誤的響應。
交換機不響應SNMP的查詢(xún)有很多原因。一旦這些問(wèn)題都解決了,SNMP就能夠提供非常有效的監測和趨勢分析。
結論
故障診斷的一個(gè)普遍方法是等待用戶(hù)的投訴。這個(gè)方法雖然簡(jiǎn)單,但是非常有效。用戶(hù)能夠感知到網(wǎng)絡(luò )正常的性能是怎樣的。一旦有性能下降,網(wǎng)絡(luò )支持中心就會(huì )很快收到客戶(hù)的投訴。有了用戶(hù)投訴,您就應該從他的接入點(diǎn)開(kāi)始做故障診斷了。這種方法的缺點(diǎn)是完全是被動(dòng)的,不具有前瞻性的。
理想的方法是使用前瞻性地監測。包括定期地查詢(xún)每個(gè)交換機、監測每個(gè)交換端口的流量、流量的趨勢,同時(shí)檢測其他的相關(guān)網(wǎng)段。把問(wèn)題解決從故障診斷方式變成故障預防方式。
評論