1. 程式人生 > >為什麼一條普通的100M有線網路要優於1000M無線?

為什麼一條普通的100M有線網路要優於1000M無線?

如今這年代,很多家庭裝修的時候,把無線網路覆蓋範圍作為第一選擇,而裝修公司也總是忽悠使用者無線多方便多美觀啊,無線用用好了,有線網路只是補充,但是本人一直強調,一條普通的百M有線網路要勝過你千兆無線網路,無線只是為了方便使用,為什麼呢?今天解釋以下原理.

我們不使用千兆有線網路和千兆無線網路對比,為什麼呢,因為這種對比下千兆無線幾乎完敗啊,很多使用者不知道,路由器宣稱的千兆無線是總的無線連線傳輸理論頻寬的總和,而千兆有線網路,一個連線就可以實現1000M,如果和無線一樣進行總和累加,那是N倍的理論差距. 有線網路,無論是千兆還是百兆,只要不是那種雜牌,實際上都可以很穩定的達到標稱速度;但是無線傳輸就不同了,它的千兆是實驗室資料,兩個裝置之間沒有障礙,彼此靠近的情況下的資料,而我們普通家庭,幾乎一半以上的家庭是沒有這方面知識的,把無線路由器放到做在角落弱電箱裡,箱蓋是個障礙,然後房門櫃子什麼的,都在你裝置和路由器無線訊號路徑中間,然後,你覺的無線還能達到什麼速度?

硬體上的區別上面已經基本解釋了,下面我們來解釋最最重要的網路協議了.

我們當前使用的電子裝置,比如手機,比如平板,比如電腦,用來刷淘寶,看微信,瀏覽各種網站,下載軟體,使用支付寶或者微信支付,使用的都是TCP/IP網路協議,它主要包括可靠傳輸的TCP協議和不可靠傳輸UDP協議,什麼區別呢,TCP協議,你傳送一個問候字元給對方,比如 "你好", 首先必須聯絡對方[連線],然後底層網路會負責一直嘗試投送直到對方明確回答收到了或者徹底失敗,而UDP呢,你傳送"你好",不需要聯絡對方[連線],只是想當然的傳送一次資訊給對方,不管對方是否能收到,也不管是否中途丟失, 我們日常生活中接觸到的,除了部分網路遊戲,幾乎全是TCP協議.

TCP協議的傳輸流程如下:

我們以寧波的A快遞公司要傳送貨物到上海的B快遞公司為例子來比喻

[1] 在貨物正式運輸前,要彼此確定雙方之間交通是通的,這就是TCP的連線過程. 這個過程裡,無線和優線傳輸區別不大.

[2] 重點來了,在連線完成後, 寧波的A快遞公司要傳輸1到100編號的貨物去上海公司,但是因為公司場地有限,所以只能一批批的收取貨物,然後運輸出去,比如每批10個編號,按次序,編號1的車先上路,然後依次是2,3,4,5,6,7,8,9,10號,然後要等待上海快遞公司派回來的送信員確認這些編號的車正確達到了上海快遞公司.

這裡有個問題,寧波快遞公司去上海的車,可能走跨海大橋[預設的最短捷徑],有可能沒出寧波就遇到了交通癱瘓,有可能是走杭甬高速再去上海,也有可能各種因素比如颱風導致沿海地區道路封閉然後去內陸比如西安饒一圈再去上海,當然也有可能中間遇到自然災害車子徹底損壞,滅失了; 而上海快遞公司派出的送信員也同樣有可能被堵在路上或者乾脆開小差了.

寧波的快遞公司是不知道這些快遞車到底走的是什麼路徑,也不知道是否發生了意外,是否已經送達? 所以寧波的快遞公司使用了一個定時器,如果每個到上海的快遞車,不能在之前成功送達的快遞車加信使報信的平均時間的2倍時間裡,完成確認,那麼寧波快遞公司就認為是快遞車出了意外,那麼它就會再派一個車,裝載丟失的編號內容去上海,並繼續等待2倍成功時間,然後,它會認為是道路發生了擁堵,那麼我們就減少每批次傳送的數量,比如原來是每批10車,那麼現在就減少一半,改成每批5車. 這時候,傳送速度就降低了一半,如果後續還發生延遲丟失,那麼繼續減少,直到每批一車. 而恢復呢,就比較慢了,比如每次增加一半,從10到5是減少一半,而從5增加一半是7,要兩個迴圈才能恢復到每批10車.

那麼,現在你可能已經看出來了,TCP/IP網路本身是為超低丟包的網路環境設計的,寧波到上海快遞公司傳輸的效率最關鍵的是: 不能中間出現快遞車意外[也就是網路丟包],出現一次意外,後續傳送都被阻塞,而且等待時間是兩倍的常規等待時間加上重新發送確認的等待時間,同時會導致寧波快遞公司減少每批發車數量,是一個嚴重連鎖反應,而後的恢復卻很慢.

[3]有線傳輸,從裝置端到路由器的傳輸丟包率幾乎是0,而無線網路,家庭或者辦公場所,合理距離內室內無阻隔的無線傳輸[2G頻段]的丟包率[差錯率]大概在2%-5%左右,而一旦中間有了阻隔,丟包率[差錯率]會急劇上升到7%-20%,而5G頻段就更糟糕了[實現千兆無線主要就是靠的它],由於波長太短,它的障礙物穿透率要遠遠低於2G頻段,出現隔一道牆無線上網就不流暢是很正常的事情,所以,儘管你理論上是享受著千兆無線[假設只有你一臺裝置使用],但是實際使用起來,你可能感覺上網什麼的有點卡,不流暢,中間的丟包就是最大的原因.

[4]那為什麼用有時候瀏覽網頁卡,但是玩網路遊戲反而不卡呢?這是因為一方面網路遊戲通常採用UDP而不是TCP來傳送實時資料[可丟失],TCP只負責可靠資料,另外遊戲本身已經考慮到了網路延遲對遊戲的影響,會在畫面等方面做出補償,所以你就會覺得玩遊戲沒問題,但是瀏覽網頁卻不流暢.

[5]難道不能在tcp/ip層針對無線網路的丟包問題做優化嗎? 回答是目前無法優化,因為作為獨立的網路層,是根本無法區分到底是無線還是有線,是裝置無關的實現,在可以預計的將來,也不會有本質的改變。

好了,解釋了這麼多,當你的電子裝置可以同時支援有線網路和無線網路的時候,要穩定流暢的使用,有線網路是不二的選擇. 常常看見朋友抱怨自己家裡的電視盒看網路電視卡卡卡,除了伺服器和線路本身原因,影響最大的就是你用無線網路連線的電視盒而不是有線網路,如果你的房子還沒有裝修,那麼恭喜你,不要聽設計師的誤導,應該儘可能以有線網路設計為主,一句話,無線網路是用來移動休閒的,而真正用來幹活的是有線網路.