愛伊米

改橋接後速度反而沒有光貓快?

還是從評論內容說起吧:

在光貓直連或撥號的文章裡面,有粉絲有這樣的留言:

其實要是看過iN之前的文章,就基本上沒有這些問題了。——網路速度的快慢取決硬體效能,同時也取決於系統通道是否達標。

咱們再細緻地說說吧。

這種現象主要會發生在軟路由和膝上型電腦上。

膝上型電腦的問題很好解釋,例如iN手頭恰好有一臺膝上型電腦,你如果開啟它的裝置管理器,你就會看到這臺電腦使用的是一個叫做 intel 82579V的網絡卡

改橋接後速度反而沒有光貓快?

所有人都會覺得這是一“網絡卡”,其實如果你能熟悉一些IC知識的話,你會發現intel自己標註的82579V的全稱是“Intel 82579V Gigabit Ethernet PHY”很明顯——這是一網路第一層的裝置,也就是物理層(PHY)的收發器。網路計算的大部分功能都是依靠CPU來完成的。這也就可以被認為是一個“軟網絡卡”。

改橋接後速度反而沒有光貓快?

它的效能嚴重的依賴CPU,自身的處理能力相當有限。

改橋接後速度反而沒有光貓快?

與intel所推崇的各種先進技術大部分無緣。不僅是沒有什麼先進技術,同時在處理資料的時候還會因為CPU的佔用率導致網路效能的下降。

當然了,這還是相對不錯的intel網路PHY收發器。如果是螃蟹的效能上的損失就更大了。

但為什麼一旦PPPOE任務從路由器上轉到筆記本上網路效能就下降了呢?

其實這件事不應該是PPPOE來背鍋。

改橋接後速度反而沒有光貓快?

PPPOE的建立過程是在客戶端沒有合法IP地址的時候,啟動PPPOE的探索程序(Discovery),在網路上尋找PPPOE伺服器並進行認證,一旦找到後就會建立一個PPPOE的會話(Session),在session中只有兩種資料在跑,一個PPPOE的連結維護報文,這是一個相當小的資料包,對網路傳輸的效能影響幾乎是0,另外一個就是你上網的資料傳輸資料包了。網速高低都是由這種資料包傳輸的速率決定的。

如果PPPOE不背鍋那麼速度降低的鍋是誰來背呢?

速度降低的問題就得從交換機原理上來看了:

從理論上講,你可以不經過任何裝置,把三臺或三臺以上的計算機透過它們各自的一個網口連成網路——只要你把網線按照一定規則匯合連線起來就可以。

改橋接後速度反而沒有光貓快?

利用這種方法可以省去大量的裝置。這也是乙太網的一個基本技術。在這個基本技術基礎上就產生了一個裝置叫做集線器(HUB)。比手工把網線彙集的優勢就是集線器帶有訊號再生和放大功能。

改橋接後速度反而沒有光貓快?

當一個計算機發送資料包的時候,在集線器上會形成廣播發送到這個集線器上的所有連線裝置上。

裝置收聽到廣播後,根據自己的IP地址來判斷資料是不是發給自己的,如果是就做處理;如果不是就拋棄掉不與理會。

從這個設計上不難看出,接在集線器上的裝置在某個時間段內只有一個裝置可以有效地發出資料,效率很低。

改進後的東西叫做交換機,不同於集線器這種物理層(Physical layer)裝置,交換機是鏈路層裝置(Data link layer),它的主要工作是依靠MAC地址來處理資料幀。

在交換機中最重要的功能是MAC地址表,在地址表中標定了某個MAC地址出現在交換機的哪個埠上。

在裝置上開啟這個表你會發現是這樣的:

改橋接後速度反而沒有光貓快?

正因為有MAC地址表,交換可以做到將資料包直接投放到特定的埠上。

改橋接後速度反而沒有光貓快?

這時候一個埠上的資料收發就不會導致另外的一個埠等待,而是可以同時進行了。你得知道查MAC地址表雖然是一個很簡單的操作,但每一幀資料都得查詢。這個操作在交換機中有專門的晶片來負責處理,而你讓計算機撥號的時候,這個操作就挪到了計算機上來做。它和計算機直接插了一根網線到交換機是完全不同的。

正是因為這種操作再加上你的筆記本是一個軟網絡卡,一些配置相對較低的筆記本網路效能就絕對拼不過幾百塊錢價格但是帶有交換機控制晶片的光貓了。

那麼配置低的筆記本不行,軟路由行不行呢?這個話得分兩頭來說了,很多現在市面上賣的軟路由本身配置比筆記本還低,只不過用的作業系統是專門的路由器作業系統,摒棄了很多類似於Windows 、Mac OS這樣系統的使用者介面、系統處理等額外的對於路由器沒有什麼用處的處理功能。但從架構上來看和你的PC機並沒有什麼太大的變化。只不過是增加了很多的“網絡卡”而已。

改橋接後速度反而沒有光貓快?

例如現在的很多軟路由上標稱說是intel i211的網絡卡。你如果查一查你會發現這個晶片並不帶有intel的高階功能:

改橋接後速度反而沒有光貓快?

其實也很好理解,很多軟路由廠商利用的就是小白們的一知半解,覺得intel的網絡卡好,於是就給你的產品中配備了intel的網絡卡,但型號……嘖嘖,不言而喻吧?

同時這種軟路由也不帶有交換晶片,所有的MAC地址表任務依舊是靠CPU來完成的,在低配的軟路由上效能的侷限還是很大的,當然,在這種裝置上堆砌CPU的效能可以達到一個理想的目標,但問題回來了,你購買一臺幾千塊錢的軟路由真的值得嗎?

至於為什麼還有這種軟路由的主機板存在,更多的原因是,這些主機板的生產目的並不是用來做路由器的,而是作為工控產品設計的,能做路由器其實就是軟路由廠商的腦洞和發揮而已。