網路為什麼會塞車

網路塞車

連放了9天的年假終於結束了,在這的一年開頭,相信有許多人外出遇到了各種的塞車,尤其是高速公路在年初四更是創下了有史以來單日的最大流量,相同的情形也是會發生在網路的世界,只是不是發生在過年期間而已,至於網路塞車的原因事實上跟高速公路的塞車也是有異曲同工之妙,你可曾想到嗎?

車多的地方就塞

網路塞車

首先大家都會講:「就是車太多了才會塞」,那到底要多少才算多呢?塞車還是有一些經驗法則可以遵循,網路的塞車也是一樣。

像平常大家上下班的交通尖峰時段,那種的塞車真的就是車太多了:實際的流量超出設計的流量許多。那是一定會塞的,例如一個網站的連線頻寬只允許1萬人同時上線瀏覽,但是瞬間湧入了幾十萬人,那肯定整個網站就癱在那裡,像樂透開獎、大學聯考放榜、或是像之前微軟開放Windows 7下載,就是這種的原因,遇到這種的塞車你只有慢慢等人潮退去就沒事了,你也不可能指望這些網站為了偶發的事件而去擴充頻寬,那樣子也不符合經濟效益的。

另外一種就是像日常上下班的塞車,網路也有所謂的「尖峰」和「離峰」時段,像一般在晚上的9點到午夜都是大家上網的時段,這個時候只要有了一點的小差錯可能就會感覺塞的很嚴重,但是如果不是在尖峰時段的話,有可能出問題了你都不太有感覺,就好像下面的原因就是造成塞車的原因之一:

車道縮減

網路塞車

這種塞車就好像高速公路施工、進出收費站或是遇到車禍,原來三線道突然變成了兩線道甚至只有單線道,這種的情形如果在不是交通尖峰的時段並不一定會引起塞車,但是如果原來的流量已經要滿線了,那就一定會塞。

這種情形的塞車純粹只是供給與需求的一時失衡所致,同樣的也是等影響的因素消失(施工撤除),或是流量減少就自動恢復正常了。

可能有人會問:「網路也有分幾線道嗎?」答案當然是沒有,但是網路的線路有分頻寬等級的,就好像你家裡用的ADSL也有分1M/2M/8M一樣,在網路的主幹線如果有一條大頻寬的線路出了問題,就會影響很大。還有國內目前許多連外的頻寬還是走中華電信的線路,所以中華電信的連外出問題也是可能會有很大的影響。

道路施工

網路塞車

如果一條主要的線路出了問題,因為網路有自己找路的特性,這個就好像「侏儸紀公園」裡面的一句經典台詞:「生命會自己找出路」,所以就會自動繞過有問題的線路另找他路,這就像是塞車時你會找「替代道路」一樣,這樣子流量當然會集中到沒有故障的線路上,而這時候如果連「替代道路」也塞了,那又會找另外的「替代道路」,可是惡性循環的結果就是整個網路都塞死了,有開車的人應該可以體會這種「盛況」吧!

此路不通

網路塞車

最糟的情形就是所有的線路都不通了,那大家就只能乾瞪眼的份了,這種情形的機會不多,但是在實際的例子中還是可以看到,類似的案例就是921那一年的「全台大停電」事件,已經是10年前的往事了,不知道各位還記得嗎?

那一次的停電是因為台電南北主幹線的一個輸電鐵塔倒了,造成全台灣的電力系統瞬間跳脫,好像花了一兩天的時間才恢復正常吧!

保護裝置

造成那一次的停電,是因為那個時候全台灣只有一條南北的主幹線,所以連「替代道路」的方案都沒有呢!還好有了這樣子的經驗之後,台灣的電力供應系統就有了很大的改革。

但是會造成全台大停電的主因卻是「保護裝置」啟動的結果,原來為了避免設備受損,在設計之初一定會有自我保護的措施,一旦超過設定的條件,整個就會自動停止服務,而網路他會有這種現象,如果一條線路突然湧入異常的流量,那保護裝置就會自動啟動,而這種情形很多是因為「DOS」或「DDOS」(服務阻斷攻擊)所引起的,像去年HiNet DNS當機事件很可能就是這樣的原因(不過大家還是沒有聽到任何HiNet官方的說辭,真是...唉!)。

只出不進

還有一種不算塞車但是情況跟塞車很像,那就是「上傳頻寬不足」,一般人只會注意到你的ADSL線路的「下載頻寬」,很少人會去在意「上傳頻寬」,而事實上網路的訊號是雙向的,平常的時候上傳頻寬只有傳送「已收到」這樣子的確認訊號,所以用量不會很大,但是當你用P2P程式在下載檔案的時候,你的「上傳」就是別人的「下載」,別人可是從你的電腦抓他要的資料的,而一些設計不良(或是說故意)的P2P程式,例如Foxy,它可沒有讓你設定上傳頻寬的地方,所以你下載是很快沒錯,但是就算你沒下載了,只要程式還開著,它就會用「全速」毫無保留地供別人下載,這樣子就會影響你一整個下載的速度,因為「確認」的訊號無法有效地送出去,這樣子你就會感覺整個網路「卡卡的」。

類似的情形也發生在許多人共用一條對外連線的學生宿舍或是網咖中,只要有人用使用這種高頻寬需求的程式,或者是總體的上傳頻寬不夠那麼多台電腦使用的話,就會出現類似塞車的狀況。

網站也會塞

像高登的網站是架在主機商那裡,如果同一台主機或是使用同一條網路線的許多網站當中,只要其中有一個網站有太高的不正常流量的話,不是頻寬被吃盡就是會觸發保護機制,使得整個在同一台主機的網站終統統受影響,而這種情形就要看主機商的因應能力了。

順帶一提這種的現象往往都是網站被植入惡意程式所致,這就是一般所稱的「掛馬」,這些惡意的程式可能是用來發送垃圾郵件,或者是利用你的主機當跳板來攻擊其他的網路主機,千萬不可掉以輕心!

高登儘量用一些日常生活中淺顯易懂的例子來說明網路塞車的現象,看了這些的說明你對網路為什麼會塞車有了更深一層的了解嗎?

0 留言:

張貼留言