1. 路由環(huán)導(dǎo)致網(wǎng)絡(luò)丟包
這是一個實際發(fā)生的分析網(wǎng)絡(luò)大量丟包原因的案例,用戶的網(wǎng)絡(luò)丟包現(xiàn)象很嚴(yán)重,給用戶造成了很大的困擾,我們試圖通過流量分析的手段來分析造成網(wǎng)絡(luò)丟包的原因。
1.1. 網(wǎng)絡(luò)環(huán)境
用戶的網(wǎng)絡(luò)是一個覆蓋全省的網(wǎng)絡(luò)環(huán)境,包括省中心局域網(wǎng)和跨地市的廣域網(wǎng)構(gòu)成,并同全國的廣域網(wǎng)絡(luò)相連。
1.2. 網(wǎng)絡(luò)異?,F(xiàn)象描述
該網(wǎng)絡(luò)丟包現(xiàn)象嚴(yán)重,如果通過省局域網(wǎng)向地市網(wǎng)絡(luò)或全國網(wǎng)絡(luò)發(fā)包,每發(fā)出 10 個 PING 包將只能收到 7 個 REPLY 包,丟包率在 30% 左右,這樣,網(wǎng)絡(luò)丟報對一些網(wǎng)絡(luò)應(yīng)用運行產(chǎn)生很大的影響,應(yīng)用運行緩慢,甚至有些應(yīng)用無法正常運行。
在此期間,網(wǎng)絡(luò)設(shè)備的運行沒有發(fā)現(xiàn)異常,局域網(wǎng)和廣域網(wǎng)的物理鏈路也未發(fā)現(xiàn)異常。
1.3. 分析手段
造成網(wǎng)絡(luò)丟包可能的原因很多,包括鏈路層原因和網(wǎng)絡(luò)層問題,而網(wǎng)絡(luò)擁塞也是造成網(wǎng)絡(luò)丟包非??赡艿脑?。為了分析是否是由于網(wǎng)絡(luò)擁塞引起的網(wǎng)絡(luò)丟包,我們采用流量分析的手段進行分析定位。
我們對省局域網(wǎng)交換機到二級網(wǎng)路由器鏈路的網(wǎng)絡(luò)流量進行了監(jiān)控,其中二級網(wǎng)路由器的局域網(wǎng)絡(luò)接口為10M,我們在局域網(wǎng)交換機上設(shè)置鏡像口(SPANPORT),將該鏈路流量鏡像到一個百兆網(wǎng)絡(luò)接口上,并用Sniffer協(xié)議分析儀接入該鏡像口,監(jiān)控分析該鏈路的網(wǎng)絡(luò)流量來確定是否存在流量異?,F(xiàn)象。
1.4. 網(wǎng)絡(luò)流量分析過程
1. 網(wǎng)絡(luò)總體流量監(jiān)控
我們首先通過Sniffer Pro的History Samples(歷史抽樣)功能監(jiān)控該鏡像鏈路上的網(wǎng)絡(luò)利用率狀況,我們得到如下結(jié)果:
該鏈路到利用率情況
該鏈路每秒鐘實際傳輸數(shù)字
從以上的監(jiān)控結(jié)果中我們可以看到,在大約每 40 秒的周期內(nèi),該鏈路中的網(wǎng)絡(luò)流量會出現(xiàn)15秒的峰值,而且非常規(guī)律,峰值流量大約為20Mb/s,考慮到路由器同交換機的接口為 10Mb/s (全雙工工作時為 20Mb/s ),則我們看到這時的網(wǎng)絡(luò)利用率為100%!
通過 Sniffer 對該鏈路流量進行監(jiān)控分析,我們很直觀的可以看到該鏈路出現(xiàn)周期性的網(wǎng)絡(luò)擁塞,而這個周期和網(wǎng)絡(luò)的丟包時間規(guī)律非常吻合,我們可以非常肯定的認(rèn)定,這種流量的異常峰值是導(dǎo)致網(wǎng)絡(luò)中大量的丟包的重要原因。
2. 找出產(chǎn)生網(wǎng)絡(luò)流量的主機
當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時,我們需要對造成擁塞的原因進行分析,一般首先我們先分析產(chǎn)生流量的主機,我們利用 Sniffer 的 Host Table 功能,將該網(wǎng)絡(luò)所有計算機產(chǎn)生的網(wǎng)絡(luò)流量按照發(fā)出數(shù)據(jù)包的包數(shù)多少進行排序。
Host Table分析每臺主機到流量
從中我們看到, IP 地址為 10.22.0.25 的主機發(fā)出數(shù)據(jù)包最多,遠(yuǎn) 3. 分析這臺主機的網(wǎng)絡(luò)流量
確定該主機大量發(fā)送流量是造成網(wǎng)絡(luò)擁塞的主要原因后,我們需要進一步對該主機的流量進行分析,也就是對他在網(wǎng)絡(luò)中正在做什么進行分析,可以稱為對他的網(wǎng)絡(luò)行為進行分析。
首先我們分析該主機的網(wǎng)絡(luò)流量流向,也就是分析它在向誰發(fā)包,我們利用Sniffer 的 Matrix 功能來監(jiān)控。
主機的會話
通過Sniffer的Matrix,我們發(fā)現(xiàn)IP地址為10.22.0.25的主機發(fā)出的數(shù)據(jù)包很分散,我們調(diào)查了一下,發(fā)現(xiàn)IP地址為10.22.0.25的主機為該網(wǎng)絡(luò)的網(wǎng)絡(luò)管理系統(tǒng)主機,而它發(fā)包的對象是該網(wǎng)絡(luò)中地市級路由器的IP地址,也就是說網(wǎng)絡(luò)的網(wǎng)管主機向地市路由器發(fā)出大量的網(wǎng)絡(luò)包,導(dǎo)致網(wǎng)絡(luò)流量異常并導(dǎo)致網(wǎng)絡(luò)大量丟包,使網(wǎng)絡(luò)處于不穩(wěn)定狀態(tài)。
在發(fā)現(xiàn)這個問題后,我們將該網(wǎng)管主機的網(wǎng)絡(luò)連接解除,發(fā)現(xiàn)網(wǎng)絡(luò)馬上恢復(fù)到了正常狀態(tài),不在有丟包現(xiàn)象發(fā)生,看起來這個網(wǎng)絡(luò)的問題完全是由這臺網(wǎng)管主機引起的一樣,但這種現(xiàn)象非常難以理解,為什么網(wǎng)管主機會造成網(wǎng)絡(luò)問題呢。
我們利用Sniffer的Decode功能將捕獲到的網(wǎng)絡(luò)流量解碼,來分析網(wǎng)管主機發(fā)出的數(shù)據(jù)包的內(nèi)容,看看到底它發(fā)出了什么樣的數(shù)據(jù)包,從而進行進一步的網(wǎng)絡(luò)行為分析。
解碼分析其發(fā)送到網(wǎng)絡(luò)流量
我們通過Sniffer的Decode發(fā)現(xiàn)這臺網(wǎng)絡(luò)主機向網(wǎng)絡(luò)中地市路由器發(fā)送大量的ICMP Echo數(shù)據(jù)包,也就是Ping包,我們對其向10.22.127.246發(fā)送的ICMP Echo包進行分析,發(fā)現(xiàn)了奇怪的現(xiàn)象。
我們對我們捕獲的由 10.22.0.25 向 10.22.127.246 發(fā)送的 ICMP Echo 包其中相鄰的數(shù)據(jù)包進行解碼分析,其發(fā)出的第739個數(shù)據(jù)包,其發(fā)出的第740個數(shù)據(jù)包,我們發(fā)現(xiàn)這兩個包的IP Identification是一樣的,都是 15633 ,每個 IP 包都會有一個特定的 Identification 來標(biāo)志其性,這說明我們捕獲到的這兩個數(shù)據(jù)包其實是同一個IP包。
解碼分析
而捕獲到的這個數(shù)據(jù)包的Time to live也就是TTL值一個為251,另一個為250,TTL為IP包的生存時間,每經(jīng)過一個路由處理,TTL值就會被減一,直至到0后被路由器丟掉。
我們看到其他的數(shù)據(jù)包也是同樣的情況,這個 IP ID 為 15663 的數(shù)據(jù)包不斷在網(wǎng)絡(luò)中出現(xiàn),直到TTL值減到0,這種現(xiàn)象清楚的表明,網(wǎng)絡(luò)里存在著路由環(huán),發(fā)向10.22.127.246的數(shù)據(jù)包是在路由器間不斷的互相傳遞,最終被丟掉,這種現(xiàn)象也可以成為路由乒乓現(xiàn)象,出現(xiàn)路由環(huán)后,一個數(shù)據(jù)包將重復(fù)在網(wǎng)絡(luò)中傳送,而且瞬時流量會異常的大,造成網(wǎng)絡(luò)異常,這正和該網(wǎng)絡(luò)的網(wǎng)絡(luò)異?,F(xiàn)象相吻合。
為什么會出現(xiàn)路由環(huán)呢,我們對其網(wǎng)絡(luò)進行了詳細(xì)的了解,發(fā)現(xiàn)其在路由器中設(shè)置了大量的靜態(tài)路由其路由設(shè)置。
從中我們可以看出,如果二級網(wǎng)路由器同地市網(wǎng)絡(luò)路由器之間的DDN網(wǎng)絡(luò)連接一旦中斷,二級網(wǎng)路由器中所設(shè)的指向地市網(wǎng)絡(luò)路由器的靜態(tài)路由就會由于端口狀態(tài)問題而無效,而其到各地市網(wǎng)段的路由指向就會采用缺省路由指向而指回省局域網(wǎng)交換機,這樣路由的乒乓現(xiàn)象就形成了。
事實上當(dāng)時的地市網(wǎng)絡(luò)并未調(diào)通,但網(wǎng)絡(luò)的路由都已經(jīng)設(shè)置完成了,同時各地市路由器的 IP 地址已經(jīng)添加到了網(wǎng)管系統(tǒng)中,網(wǎng)管系統(tǒng)在固定的時間間隔內(nèi)向這些路由器發(fā)出ICMP包,驗證這些路由器是否能夠訪問到,而這些ICMP包卻在省局域網(wǎng)交換機和二級網(wǎng)路由器間被放大形成乒乓現(xiàn)象,造成網(wǎng)絡(luò)丟包現(xiàn)象嚴(yán)重。
這個案例告訴我們,在配置靜態(tài)路由時要非常小心,不要在網(wǎng)絡(luò)配置中采用靜態(tài)路由。
這是一個實際發(fā)生的分析網(wǎng)絡(luò)大量丟包原因的案例,用戶的網(wǎng)絡(luò)丟包現(xiàn)象很嚴(yán)重,給用戶造成了很大的困擾,我們試圖通過流量分析的手段來分析造成網(wǎng)絡(luò)丟包的原因。
1.1. 網(wǎng)絡(luò)環(huán)境
用戶的網(wǎng)絡(luò)是一個覆蓋全省的網(wǎng)絡(luò)環(huán)境,包括省中心局域網(wǎng)和跨地市的廣域網(wǎng)構(gòu)成,并同全國的廣域網(wǎng)絡(luò)相連。
1.2. 網(wǎng)絡(luò)異?,F(xiàn)象描述
該網(wǎng)絡(luò)丟包現(xiàn)象嚴(yán)重,如果通過省局域網(wǎng)向地市網(wǎng)絡(luò)或全國網(wǎng)絡(luò)發(fā)包,每發(fā)出 10 個 PING 包將只能收到 7 個 REPLY 包,丟包率在 30% 左右,這樣,網(wǎng)絡(luò)丟報對一些網(wǎng)絡(luò)應(yīng)用運行產(chǎn)生很大的影響,應(yīng)用運行緩慢,甚至有些應(yīng)用無法正常運行。
在此期間,網(wǎng)絡(luò)設(shè)備的運行沒有發(fā)現(xiàn)異常,局域網(wǎng)和廣域網(wǎng)的物理鏈路也未發(fā)現(xiàn)異常。
1.3. 分析手段
造成網(wǎng)絡(luò)丟包可能的原因很多,包括鏈路層原因和網(wǎng)絡(luò)層問題,而網(wǎng)絡(luò)擁塞也是造成網(wǎng)絡(luò)丟包非??赡艿脑?。為了分析是否是由于網(wǎng)絡(luò)擁塞引起的網(wǎng)絡(luò)丟包,我們采用流量分析的手段進行分析定位。
我們對省局域網(wǎng)交換機到二級網(wǎng)路由器鏈路的網(wǎng)絡(luò)流量進行了監(jiān)控,其中二級網(wǎng)路由器的局域網(wǎng)絡(luò)接口為10M,我們在局域網(wǎng)交換機上設(shè)置鏡像口(SPANPORT),將該鏈路流量鏡像到一個百兆網(wǎng)絡(luò)接口上,并用Sniffer協(xié)議分析儀接入該鏡像口,監(jiān)控分析該鏈路的網(wǎng)絡(luò)流量來確定是否存在流量異?,F(xiàn)象。
1.4. 網(wǎng)絡(luò)流量分析過程
1. 網(wǎng)絡(luò)總體流量監(jiān)控
我們首先通過Sniffer Pro的History Samples(歷史抽樣)功能監(jiān)控該鏡像鏈路上的網(wǎng)絡(luò)利用率狀況,我們得到如下結(jié)果:
該鏈路到利用率情況
該鏈路每秒鐘實際傳輸數(shù)字
從以上的監(jiān)控結(jié)果中我們可以看到,在大約每 40 秒的周期內(nèi),該鏈路中的網(wǎng)絡(luò)流量會出現(xiàn)15秒的峰值,而且非常規(guī)律,峰值流量大約為20Mb/s,考慮到路由器同交換機的接口為 10Mb/s (全雙工工作時為 20Mb/s ),則我們看到這時的網(wǎng)絡(luò)利用率為100%!
通過 Sniffer 對該鏈路流量進行監(jiān)控分析,我們很直觀的可以看到該鏈路出現(xiàn)周期性的網(wǎng)絡(luò)擁塞,而這個周期和網(wǎng)絡(luò)的丟包時間規(guī)律非常吻合,我們可以非常肯定的認(rèn)定,這種流量的異常峰值是導(dǎo)致網(wǎng)絡(luò)中大量的丟包的重要原因。
2. 找出產(chǎn)生網(wǎng)絡(luò)流量的主機
當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時,我們需要對造成擁塞的原因進行分析,一般首先我們先分析產(chǎn)生流量的主機,我們利用 Sniffer 的 Host Table 功能,將該網(wǎng)絡(luò)所有計算機產(chǎn)生的網(wǎng)絡(luò)流量按照發(fā)出數(shù)據(jù)包的包數(shù)多少進行排序。
Host Table分析每臺主機到流量
從中我們看到, IP 地址為 10.22.0.25 的主機發(fā)出數(shù)據(jù)包最多,遠(yuǎn) 3. 分析這臺主機的網(wǎng)絡(luò)流量
確定該主機大量發(fā)送流量是造成網(wǎng)絡(luò)擁塞的主要原因后,我們需要進一步對該主機的流量進行分析,也就是對他在網(wǎng)絡(luò)中正在做什么進行分析,可以稱為對他的網(wǎng)絡(luò)行為進行分析。
首先我們分析該主機的網(wǎng)絡(luò)流量流向,也就是分析它在向誰發(fā)包,我們利用Sniffer 的 Matrix 功能來監(jiān)控。
主機的會話
通過Sniffer的Matrix,我們發(fā)現(xiàn)IP地址為10.22.0.25的主機發(fā)出的數(shù)據(jù)包很分散,我們調(diào)查了一下,發(fā)現(xiàn)IP地址為10.22.0.25的主機為該網(wǎng)絡(luò)的網(wǎng)絡(luò)管理系統(tǒng)主機,而它發(fā)包的對象是該網(wǎng)絡(luò)中地市級路由器的IP地址,也就是說網(wǎng)絡(luò)的網(wǎng)管主機向地市路由器發(fā)出大量的網(wǎng)絡(luò)包,導(dǎo)致網(wǎng)絡(luò)流量異常并導(dǎo)致網(wǎng)絡(luò)大量丟包,使網(wǎng)絡(luò)處于不穩(wěn)定狀態(tài)。
在發(fā)現(xiàn)這個問題后,我們將該網(wǎng)管主機的網(wǎng)絡(luò)連接解除,發(fā)現(xiàn)網(wǎng)絡(luò)馬上恢復(fù)到了正常狀態(tài),不在有丟包現(xiàn)象發(fā)生,看起來這個網(wǎng)絡(luò)的問題完全是由這臺網(wǎng)管主機引起的一樣,但這種現(xiàn)象非常難以理解,為什么網(wǎng)管主機會造成網(wǎng)絡(luò)問題呢。
我們利用Sniffer的Decode功能將捕獲到的網(wǎng)絡(luò)流量解碼,來分析網(wǎng)管主機發(fā)出的數(shù)據(jù)包的內(nèi)容,看看到底它發(fā)出了什么樣的數(shù)據(jù)包,從而進行進一步的網(wǎng)絡(luò)行為分析。
解碼分析其發(fā)送到網(wǎng)絡(luò)流量
我們通過Sniffer的Decode發(fā)現(xiàn)這臺網(wǎng)絡(luò)主機向網(wǎng)絡(luò)中地市路由器發(fā)送大量的ICMP Echo數(shù)據(jù)包,也就是Ping包,我們對其向10.22.127.246發(fā)送的ICMP Echo包進行分析,發(fā)現(xiàn)了奇怪的現(xiàn)象。
我們對我們捕獲的由 10.22.0.25 向 10.22.127.246 發(fā)送的 ICMP Echo 包其中相鄰的數(shù)據(jù)包進行解碼分析,其發(fā)出的第739個數(shù)據(jù)包,其發(fā)出的第740個數(shù)據(jù)包,我們發(fā)現(xiàn)這兩個包的IP Identification是一樣的,都是 15633 ,每個 IP 包都會有一個特定的 Identification 來標(biāo)志其性,這說明我們捕獲到的這兩個數(shù)據(jù)包其實是同一個IP包。
解碼分析
而捕獲到的這個數(shù)據(jù)包的Time to live也就是TTL值一個為251,另一個為250,TTL為IP包的生存時間,每經(jīng)過一個路由處理,TTL值就會被減一,直至到0后被路由器丟掉。
我們看到其他的數(shù)據(jù)包也是同樣的情況,這個 IP ID 為 15663 的數(shù)據(jù)包不斷在網(wǎng)絡(luò)中出現(xiàn),直到TTL值減到0,這種現(xiàn)象清楚的表明,網(wǎng)絡(luò)里存在著路由環(huán),發(fā)向10.22.127.246的數(shù)據(jù)包是在路由器間不斷的互相傳遞,最終被丟掉,這種現(xiàn)象也可以成為路由乒乓現(xiàn)象,出現(xiàn)路由環(huán)后,一個數(shù)據(jù)包將重復(fù)在網(wǎng)絡(luò)中傳送,而且瞬時流量會異常的大,造成網(wǎng)絡(luò)異常,這正和該網(wǎng)絡(luò)的網(wǎng)絡(luò)異?,F(xiàn)象相吻合。
為什么會出現(xiàn)路由環(huán)呢,我們對其網(wǎng)絡(luò)進行了詳細(xì)的了解,發(fā)現(xiàn)其在路由器中設(shè)置了大量的靜態(tài)路由其路由設(shè)置。
從中我們可以看出,如果二級網(wǎng)路由器同地市網(wǎng)絡(luò)路由器之間的DDN網(wǎng)絡(luò)連接一旦中斷,二級網(wǎng)路由器中所設(shè)的指向地市網(wǎng)絡(luò)路由器的靜態(tài)路由就會由于端口狀態(tài)問題而無效,而其到各地市網(wǎng)段的路由指向就會采用缺省路由指向而指回省局域網(wǎng)交換機,這樣路由的乒乓現(xiàn)象就形成了。
事實上當(dāng)時的地市網(wǎng)絡(luò)并未調(diào)通,但網(wǎng)絡(luò)的路由都已經(jīng)設(shè)置完成了,同時各地市路由器的 IP 地址已經(jīng)添加到了網(wǎng)管系統(tǒng)中,網(wǎng)管系統(tǒng)在固定的時間間隔內(nèi)向這些路由器發(fā)出ICMP包,驗證這些路由器是否能夠訪問到,而這些ICMP包卻在省局域網(wǎng)交換機和二級網(wǎng)路由器間被放大形成乒乓現(xiàn)象,造成網(wǎng)絡(luò)丟包現(xiàn)象嚴(yán)重。
這個案例告訴我們,在配置靜態(tài)路由時要非常小心,不要在網(wǎng)絡(luò)配置中采用靜態(tài)路由。