Home Tags 無線網絡

Tag: 無線網絡

超能課堂(323):為什麼WiFi實際速率只有標稱速率的一半?

在我們的實際測試中,標稱速率為1000Mbps的有線網卡往往可以輕松跑出900Mbps或更高水平的平均速率,但標稱速率為1200Mbps的WiFi 6無線網卡,實際測試下來的平均速率大都是800Mbps以內的水準。因此時至今日,千兆級有線網絡的實際使用體驗,相比標稱速率更高的WiFi 6甚至WiFi 6E無線網絡,很多時候反而能略勝一籌。那為什麼會出現這樣的狀況呢?這就要從數據是如何在網絡上傳遞說起了。 協議速率與實際速率有何不同? 我們在作業系統直接看到的網絡連接速率其實是「標稱速率」,又名為「協議速率」,可以簡單地理解為理論上可以達到的最大速率。我們在實際應用中體現出來的網絡速率是無法超過協議速率的,因為數據在網絡上的傳輸是以數據封包,也可以稱為數據幀的形式進行。 顧名思義,數據封包就是將很多不同的數據打包成一個固定格式包裹,就像我們發快遞一樣,發往同一個地址的不同貨物,是可以打包在一個快遞箱里面的。一個數據封包就是一個數據幀, 以千兆有線網絡為例,其單個數據幀包括有18位元組分別為目的地址(6位元組)、源地址(6位元組)、類型(2位元組)、標簽(4位元組),而且在數據幀傳輸之時,前部還有再加上7個字節的前導碼和1個字節的開始符,另有4位元組的冗餘檢驗和12位元組的幀間距,因此有線網絡里每傳輸一個數據幀,實際傳輸的信息容量就是88位元組到1542位元組,而當中只有46位元組到1500位元組是我們需要的數據。 無線網絡的工作方式也是類似的,只是傳輸數據幀的載體從電纜變成了電磁波,封包的結構也稍有變化,其每一個數據幀中,儲存有效數據空間為最大2312位元組,而用來控制幀、管理幀、地址幀、校驗幀等非有效數據的組成,需要總計34位元組,也就是說每個數據幀最大容量為2346位元組。由於在實際應用中展現出來的網絡速率,往往只會統計數據幀當中的有效數據,而不會統計額外加入的封包信息,因此無論是有線網絡又或者是無線網絡,其實際網絡速率都是不會超過協議速率的。 然而從封包信息以及有效數據的容量比例來看,無線網絡的數據幀中,有效數據的比例並不比有線網絡的要低,很顯然單單依靠「封包信息」的說法,還是無法解釋為何無線網絡的實際速率與協議速率相差很大的狀況。這時我們就需要說到兩個專有名詞,那就是「全雙工」與「半雙工」。 什麼是「全雙工」與「半雙工」? 如果我們把一條數據通道當成一條連接A與B的道路,那麼「全雙工」就代表著這條道路可以同時實現A-B與B-A的通行,而「半雙工」則代表著這條道路雖然可以實現A-B或B-A的通行,但同一時刻只能讓其中一個方向通行,另一個方向必須等待。與「全雙工」以及「半雙工」對應的自然就是「單工」,即道路只能單向通行,A-B或B-A二選一,因此「半雙工」也就相當於「可切換方向的單工」。 目前 千兆級的有線網絡基本上都是運用全雙工的工作模式,而WiFi無線網絡則都是使用半雙工的工作模式,因此對於有線網絡來說,其在發送數據的同時也能接受數據,兩個方向的數據包幾乎不會干擾對方的工作。得意於此,如果有線網絡需要雙向傳輸數據時,那兩個方向的傳輸都能同時進行且均能達到千兆級的速率,實際吞吐量就相當於是兩個千兆網絡疊加,相當於2000Mbps的水準。 而採用半雙工模式的WiFi無線網絡則做不到這一點,由於其在同一時間只能接受數據或發送數據, 因此當其兩個方向同時傳輸數據的時候,網卡實際上是在「接受模式」和「發送模式」之間反復切換,實際吞吐量就不會超過協議速率,而且為了確保無線網卡能夠正確地切換模式,數據幀的傳輸時會增加幀間隔時間,這就意味著在單位時間里傳輸的有效數據實際上會更低。 當然從 理論上說,如果網絡可以一直維持單向傳輸,那麼半雙工是可以沒有幀間隔,實際速率上的表現會更接近協議速率。但實際情況是,即便在表面上看只需要單向傳輸數據,例如我們通過網絡進行下載操作,那系統在接受到數據包後,也是需要給出相應的反饋信號,更別說此時網絡中可能還存在別的進程需要上傳數據。因此半雙工的WiFi網絡 在實際應用中必須按照協議的安排來發送或接受數據包,幀間隔不可避免,而且發送與接受的數據幀也會存在各種差異,這就進一步拉大了有線網絡實際速率與協議速率之間的距離。 無線網絡與有線網絡的抗干擾能力不在一個級別 除了全雙工與半雙工帶來的實際速率差異外,有線網絡與無線網絡的載體也對兩者的實際性能帶來了明顯的影響。目前千兆有線網絡的載體是雙絞線,比較常見的是Cat.5E也就超五類線以及Cat.6也就是六類線,兩種線材在基本結構上是接近的,只是後者帶有金屬箔屏蔽層以及線內支架,能更好地降低內部與外部的干擾,有利於實現更高的傳輸速率。但無論是超五類線還是六類線,在我們的日常使用環境中,外界是幾乎無法在不接觸線材的情況下,直接干擾其內部的數據傳輸,因此只要路由器與網卡之間的網線是正常的,那基本上無論什麼時候都能提供最佳的傳輸速率。 而無線網絡使用的是電磁波作為載體,其「特點」就是很容易受到外接的干擾,包括傳輸路徑是否有障礙物,外接是否存在頻率接近的其他電磁波等等,而且傳輸距離也是明顯受制於發射功率。這就使得無線網絡在傳輸數據的時候,很容會因為外界的干擾而影響了數據幀的完整性。當客戶端接收到不完整的數據時,其將返回一個重發數據幀的信號,路由器便需要重發數據,這就相當於是降低有效數據的比例,表現出來就是實際速率遠低於協議速率了。 另外我們在連接WiFi無線網絡的時候,往往還需要輸入密碼,這就意味著WiFi無線網絡是經過加密的,因此設備與路由器在發送和接受數據的時候,將需要對相應的數據幀進行加密和解密,一定程度上也會影響數據的傳輸速率。當然相比於此前提到的因素,加密帶來的影響實際上市比較小的,考慮到安全方面的需求,這點速率犧牲還是很有必要的。 無線網絡與有線網絡其實是相輔相成的 雖然WiFi無線網絡的實際速率往往只有協議速率的50%左右,但隨著技術的發展,目前已經逐步普及的WiFi 6以及WiFi 6E實際上已經給用戶帶去了接近於千兆級有線網絡使用體驗。只是有線網絡與無線網絡畢竟存在著明顯的差異,前者在當前依然具有網絡延遲上的優勢,在各種場合下的穩定性也要有更好的表現,而且隨著2.5Gbps、5Gbps、10Gbps有線網絡的逐步普及,速率上的優勢也是也來越明顯,使得有線網絡依然是很多對網絡性能有較高要求的發燒級用戶的首選。 而WiFi無線網絡則勝在部署方便,而且在大部分應用場合中都可以提供足夠的效能來滿足用戶的使用,因此對於多數家庭用戶來說無線網絡會是一個「真香」的存在。而且從目前的技術發展來看,無線網絡顯然更有未來的氣息,其與有線網絡更多地會是一種互補、相輔相成的存在,而並不是「誰取代誰」的關系,已經在無線網絡中有較好體驗的用戶,大可不必為了追尋「測試結果上的數字差異」,而花大價錢去做有線網絡的改造。 ...

超能課堂(282):WiFi無線網絡打網游真的會有很高延遲嗎?

遊戲的延遲有很多種存在方式,但表現出來的模式大體上是相同,那就是從我們進行操作到遊戲發出響應會存在時間差,只是這個時間差一般來說非常的短,大多數時候只有數十毫秒的。然而對於電競遊戲來說,數十毫秒的差異可能就是勝負之分了,因此盡可能地降低遊戲中的延遲成了很多電競選手乃至遊戲玩家的追求,而且他們還樂此不疲。 但正如開頭所說,遊戲存在著不同方式的延遲,而不同的延遲降低的方法是不一樣的,例如NVIDIA就通過Reflex技術來降低系統延遲,盡可能縮短玩家操作到遊戲畫面作出響應的時間。不過我們今天要講的並不是NVIDIA Reflex技術涉及的系統延遲,而是要講很多網遊玩家都非常關注的網絡延遲。 網絡延遲是怎麼來的? 網絡延遲是怎麼來的,這個就得從網絡延遲是什麼說起。通俗來說,網絡延遲就是你通過網絡來傳輸數據,數據從發送端發出到接收端接收到,這期間花的時間就是網絡延時。在網路遊戲中的網絡延遲則要更復雜一些,一般來說是你作出操作,相應的數據通過網絡傳輸到伺服器,然後伺服器作出響應和運算,並將相應的結果回傳給你所需要的時間。 而我們的數據在傳輸的過程中,並不一定是直接發送到伺服器的,在傳送過程中大多數是一個節點到另一個節點的方式,這里可能存在跨區域、跨運營商的情況,因此最後反饋到我們眼里就是遠高於系統延遲的網絡延遲時間,有時可以高達數百毫秒。然而這一個傳輸過程我們無法直接干預或者進行物理上的優化,能做的只有使用網絡加速器等軟體,通過特殊的轉運節點,讓我們的遊戲數據在網絡上少走一點彎路,盡快到達伺服器。 但是對於區域網的線路或者說區域網的延遲,這部分我們是可以進行控制的,因此很多玩家會嘗試在這里改善網絡延遲,其中就有一個很經典說法,那就是「打網游不能用無線網絡」,原因就是無線網絡的延遲比有線網絡更大。 這個說法不無道理,從有線網絡和無線網絡的工作方式來看,有線網絡是全雙工模式,也就是上傳數據的同時也能下載數據,而且線路相比封閉,一般家庭環境中難以被外界干擾,信號的傳輸也不存在電磁轉換過程,都是直接的電信號傳播,速度非常快;而無線網絡則是半雙工模式,雖然數據通道可以用來上傳和下載數據,但同一時刻只能是上傳或下載,不能雙向同步進行,而且處於開放空間,即便是家用環境也會存在外界的干擾,再加上傳輸中存在電信號轉換為電磁場的過程,自然在穩定性和響應速度上比不過有線網絡了。 因此有不少玩家為了玩好網路遊戲,他們不惜花時間和精力去布置有線網絡。如果無法使用有線網絡進行遊戲,一旦失利的時候他們甚至會認為這就是無線網絡的鍋。難道說無線網絡在網游領域的表現真的那麼不堪嗎? 無線網絡和有線網絡的延遲差異真的很大嗎? 差距很明顯?其實就是數毫秒 那麼無線網絡和有線網絡之間的延遲差異真的很大嗎?我們不妨來看一下理論測試,這次測試我們用到了華碩的RT-AC82U路由器以及英特爾的AC8260和AX200無線網卡,此外還有現在多數主板都包含有的千兆有線網卡,以及市場上幾乎稱得上是隨手可得的USB接口WiFi 4無線網卡(2.4GHz頻段,150Mbps速率),測試時AC8260與AX200網卡使用的是5GHz頻段網絡。 首先我們使用Ixchariot軟體測試參測四款網卡的實際網絡延遲,測試使用了兩台主機,分別命名為A/B,其中A通過有線網絡連接到路由器上,作為伺服器端,B則通過不同的網卡連接到路由器上,作為客戶端,通過A/B兩端的相互通信來測試網絡延遲的高低。具體測試結果如下表所示。 如果是從百分比的角度來看,那有線網絡相比無線網絡在延遲上的優勢是很大的,但是放到絕對值上來看,兩者的差異其實只有數毫秒之分,這在絕大部分的網路遊戲當中都難以造成質的影響,除非你是那種以毫秒計算差異的職業電競選手,不然你能獲得的遊戲體驗基本上是一致的。 當然我們也不是說有線網絡相比無線網絡在延遲上就沒有優勢,除卻這數毫秒的差異外,有線網絡在延遲的穩定性上可以說是碾壓無線網絡的,在我們的測試中有線網絡平均延遲1毫秒,最高延遲也是1毫秒,而無線網絡的平均延遲雖然只有2毫秒到7毫秒,但是最高延遲卻達到18毫秒,波動相對來說比較明顯。 在實際遊戲中的影響其實更不明顯 不過上面的終究是理論測試,在實際遊戲中又是怎樣的表現呢?其實在實際遊戲中的影響更小。以《絕地求生》為例,在使用網游加速器的情況下,《絕地求生》的實際網絡延遲一般能控制在30ms到50ms的區間,無論使用有線網絡和無線網絡都是相同的水平。我連續進行了5盤《絕地求生》遊戲,並記錄下前三個籃圈每一圈結束後遊戲所顯示的網絡延遲數值,然後把對應的最大值作為最終成績,並製成下表。 實際上可以看到,雖然說總體而言有線網絡的延遲表現是要比無線網絡好一點,但實際上也確實只是數毫秒的差距,並沒有帶來本質的變化,AC8260網卡與AX200網卡的表現是非常接近的,相比之下USB網卡的延遲在數值上是最高的,但也沒有超出正常的范圍。 相比之下關掉網游加速器後帶來的影響才稱得上質的變化,因為遊戲延遲會上升至200ms的水平,而且還會存在數據丟包的現象,數據丟包也就以為著你做出來的操作未必會被伺服器所接受,你在這里風騷地走位,但是在另一端的敵人可能只看見你在原地反復摩擦,最後只能落個成盒的下場。 總結:其實你無需在意無線網絡的延遲 很多玩家都說「打網游不能用無線網絡,因為延遲大」,這話並不完全錯誤,因為從測試結果來看無線網絡相比有線網絡確實有更高的延遲。但是無線網絡真的不能打網游嗎?那也並非如此,無線網絡的延遲雖然相對有線網絡高一些,延遲波動也更大一些,但終究只是數毫秒的差別,相比之下跨區域遊戲、跨運營商遊戲所帶來的影響要更為明顯,後者對遊戲體驗的影響才稱得上是「質的差異」。 其實「無線網絡不適合打網游」這個說法更多地是從聯機遊戲仍然以區域網為主的年代開始的,那個時候的無線網絡本來就只是剛剛解決了有無的問題,還沒到講究體驗的水平,而且區域網聯機遊戲本身的延遲就很低,當時無線網絡的延遲帶來的影響自然被進一步放大,有線網絡的優勢也就非常明顯了。但是現在的網游多數是通過網際網路聯機,本身延遲就遠高於區域網聯機,在加上無線網絡的技術進步,其與有線網絡之間的數毫秒延遲差異早已不值一提。 低延遲總歸是有利於遊戲的 只是從減少網絡延遲的角度來說,有線網絡確實是最佳選則,因此如果玩家本身具備相應的使用環境,或者可以很簡單地就完成相應使用環境的設置,那自然就沒有無線網絡什麼事情了。但如果不具備遊戲網絡的使用環境,或者布置有線網絡的代價很大,那麼使用無線網絡對於你的遊戲體驗來說也不會有質的影響,完全可以放心使用。 當然了如果你確實要使用無線網絡進行遊戲的話,我們這里也建議你花點心思去進行布置,例如盡可能讓路由器與無線網卡之間的距離短一點,無線網卡盡量不要使用USB接口產品,盡量選擇WiFi 6/WiFi 6E級別的無線網卡和路由器,這些措施不一定能改善無線網絡的延遲,但起碼不會讓無線網絡成為拖後腿的存在。 ...