發布時間:2023-01-10 文章來源:深度系統下載 瀏覽:
網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 故障分析一起典型的網絡環路故障,用協議分析工具Sniffer抓了這么多的數據包,經過一番分析卻沒看出問題來。顯然,第一眼看到大量的SYN包讓我們產生了錯覺,想當然地就以為是SYN Flood攻擊。事后,我們就這起網絡環路故障排除過程做了檢討,重新仔細地分析抓回來的這些數據包,據此解釋一下前面提到這些數據包所具有的5個共同特征,以便今后遇到同類問題時能及時做出正確的反應。 先看前4個特征:匯聚交換機是網絡層設備,該大樓所屬VLAN的網絡層接口就設置在這臺匯聚交換機上,出于實施網絡管理策略的需要,對已注冊或沒注冊的IP地址都進行了MAC地址的綁定。TCP連接要經過3次握手才能建立起來,在這里發起連接的SYN包長度為28字節,加上14字節的以太幀頭部和20字節的IP報頭,由Sniffer捕獲到的幀長度共為62字節(不包含4字節的差錯檢測FCS域)。恰巧當時訪問該VLAN的單播幀來自外網的TCP請求包,根據以太網橋的轉發機制,通過CRC正確性檢測后,因已做靜態ARP配置,這臺匯聚交換機會將該單播幀的源MAC地址轉換成本機的MAC地址,其目的MAC地址依據綁定參數來更換,并重新計算CRC值,更新FCS域,經過這樣重新封裝后,再轉發到那棟樓的接入交換機。 再看最后1個特征:我們把圖2所示的拓撲圖抽象為如圖3所示的由網橋A、B、C和D構成的拓撲圖。網橋是一種存儲轉發設備,用來連接相似的局域網。這些網橋在所有端口上監聽著傳送過來的每一個數據幀,利用橋接表作為該數據幀的轉發依據。橋接表是MAC地址和用于到達該地址的端口號的一個“MAC地址-端口號”列表,它利用數據幀的源MAC地址和接收該幀的端口號來刷新。網橋是這樣來使用橋接表的:當網橋從一個端口接收到一個數據幀時,會先刷新橋接表,再在其橋接表中查找該幀的目的MAC地址。如果找到,就會從對應這個MAC地址的端口轉發該幀(如果這個轉發端口與接收端口是相同的,就會丟棄該幀)。如果找不到,就會向除了接收端口以外的其他端口轉發該幀,即廣播該幀。這里假定在整個轉發過程中,網橋A、B、C和D都在其橋接表中查找不到該數據幀的目的MAC地址,即這些網橋都不知道應該從哪個端口轉發該幀。當網橋A從上聯端口接收到一個來自上游網絡的單播幀時,會廣播該幀,網橋B、C收到后也會廣播該幀,網橋D收到分別來自網橋B、C的這個單播幀,并分別經網橋C、B傳送回網橋A,到此網橋A收到了該單播幀的兩個副本。在這樣的循環轉發過程中,網橋A不停地在不同端口(這時已經不涉及上聯端口了)接收到相同的幀,由于接收端口在改變,橋接表也在改變“源MAC-端口號”的列表內容。前面已經假定網橋的橋接表中沒有該幀的目的MAC地址,網橋A在分別收到這兩個單播幀后,都只能再次向除了接收端口以外的其他端口廣播該幀,故該幀也會向上聯端口轉發。 就每個單播幀而言,網橋A重復前面提到的過程,理論上,廣播一次會收到21個幀,廣播兩次就會收到22個幀……廣播到第n次就會收到2n個幀。總之,網橋A照這樣轉發下去,很快就會形成廣播風暴,這個單播幀的副本最終會消耗完100BASE-X端口帶寬。盡管在這期間上聯端口會有許多數據幀在相互碰撞而變的不完整,令Sniffer捕獲不到,但可以想象得到,這個單播幀的重復出現次數仍然會非常多。我們再次檢查那些抓回來的數據包,幾乎都發現有當時沒有注意到的重復標志(Retransmission of Frame n,這里的n是整數,表示接收到的第幾個幀,見圖1)。按64字節包長來計算,以太網交換機的100BASE-FX端口轉發線速可達144000pps。在這種網絡環路狀態下,Sniffer完全有可能每秒抓到10萬多個包長為66字節的數據包。 基于上述理由,由于當時那4臺交換機(如圖2所示)的橋接表中都沒有該包的目的MAC地址,處于上游網絡的這臺匯聚交換機向該大樓發送了一個TCP請求包后,就會不斷地收到由該大樓接入交換機轉發回來的該TCP包的副本,而且數量非常多(形成大流量),然而,它并不會把接收到的這些包重發回去;Internet的網絡應用是基于請求/應答模式的,只有發送/接收兩條信道都暢通,才能進行端到端的通信。一旦本次網絡應用中有一條信道被堵塞了,就會使得該應用因無法進行而結束。網絡應用結束后,一般來說,發起請求一方不會就本次應用再次自動發出請求包。于是,在網絡環路狀態中普遍會有一條信道有大流量,另一條信道幾乎沒有流量的現象。因為VLAN有隔離廣播域的功能,這些大流量不會穿越網絡層,所以不會對匯聚交換機造成很大壓力。 事實上,由于這種網絡環路是數據鏈路層上的故障,只涉及到源MAC地址和目的MAC地址,不管高層封裝的是什么類型的包都有可能引起廣播風暴。也就是說,當時用Sniffer抓到各種各樣的數據包都是有可能的。 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |