? 1、添加撥號上網
? ? 1.1、PPPoE撥號連接
? 2、添加DNS解析
? 3、添加內網DHCP服務器
? ? 3.1、添加IP地址池
? ? 3.2、添加DHCP服務器
? ? 3.3、添加DHCP服務器信息
? 4、添加Mangle標記
? ? 4.1、進入防火墻
? ? 4.2、添加PCC連接標記1
? ? 4.3、添加PCC路由標記1
? ? 4.4、添加PCC連接標記2
? ? 4.5、添加PCC路由標記2
? 5、添加路由信息
? ? 5.1、添加默認路由
? ? 5.2、添加PCC標記路由
? 6、添加NAT地址偽裝
? ? 6.1、進入防火墻
? ? 6.2、添加NAT規則1
? ? 6.3、添加NAT規則2
? ? NAT規則
? 7、測試
? ? ? 1、點擊Winbox左邊菜單中的Interfaces,
? ? ? 2、點擊Interfaces list窗口左上角的+號,
? ? ? 3、選擇最底下的PPPoE Client,新建一個撥號客戶端,
? ? ? 4、在新窗口的General選項卡中選中用來撥號的端口,這里選Wan_1,新建第二個撥號上網時選擇其他對應的端口,
? ? ? 5、切換至Dial Out選項卡,
? ? ? 6、將上網賬號、密碼分別填入,
? ? ? 7、這里后續需要單獨建立路由信息,全部取消勾選Use Peer DNS、Add Default Route
? ? ? 8、點擊OK,
? ? ? 9、重復上面2~8的步驟再次建立一個撥號客戶端。
撥號狀態信息
可以看到新建的兩個賬號的撥號狀態,最左邊的R表示撥號成功。
? ? ? 1、點擊Winbox左邊菜單中的IP,
? ? ? 2、在彈出的列表中選中DNS,打開DNS設置窗口,
? ? ? 3、在新窗口中Server中寫入192.168.101.1,223.5.5.5用戶內網DNS服務器地址,可以點擊右邊的三角箭頭正價或者刪除行數,
? ? ? 4、勾選上allow remote requests,啟用DNS的緩存功能,
? ? ? 5、點擊OK。
? ? ? 1、點擊Winbox左邊菜單中的IP,
? ? ? 2、在彈出的列表中選中Pool,打開IP地址池設置窗口,
? ? ? 3、點擊地址池設置窗口左上角+號,
? ? ? 4、配置DHCP地址池名稱,配置IP地址范圍,
? ? ? 5、點擊OK。
? ? ? 1、點擊Winbox左邊菜單欄的IP,
? ? ? 2、彈出的列表中選中DHCP Server選項卡,打開DHCP Server界面,
? ? ? 3、點擊DHCP Server界面左上角的+號,
? ? ? 4、設置DHCP服務器名稱及設置DHCP服務器的接口,
? ? ? 5、選擇上面新建的地址池名稱,用于給內網設備分配IP地址,
? ? ? 6、點擊OK。
? ? ? 1、點擊DHCP Server界面的Networks選項卡,
? ? ? 2、點擊DHCP Server界面左上角的+號,
? ? ? 3、配置DHCP網絡的網絡信息,網關,網絡長度,
? ? ? 4、配置DHCP網絡的DNS服務器地址,
? ? ? 5、點擊OK。
? ? ? 1、點擊Winbox左邊菜單中的IP,
? ? ? 2、彈出的列表中選中Firewall選項卡,打開防火墻界面,
? ? ? 3、選擇Mangle選項卡,點擊界面左上角的+號,新建一個標記,
? ? ? 1、選擇新窗口中的General選項卡,
? ? ? 2、Chain中選中prerouting,Sac.Address中輸入內網地址段:192.168.101.0/24,
? ? ? 3、切換至Advanced選項卡,
? ? ? 4、Per Connection Classifier中選擇both addresses,并填寫2/0的參數,
? ? ? 5、切換至Extra選項卡,
? ? ? 6、修改Dst.Address Type參數為local,勾選Invert,用于排除目的地址為本地的網絡地址,
? ? ? 7、切換至Action選項卡,
? ? ? 8、Action中選擇make connection,
? ? ? 9、Nwe Connection Mark中新建一個名稱,這里使用:PCC_Conn_1,
? ? ? 10、點擊OK。
? ? ? 1、再新建一個的標記窗口中選擇General選項卡,
? ? ? 2、Chain中選中prerouting,Sac.Address中輸入內網地址段:192.168.101.0/24,
? ? ? 3、Connection Mark中選擇上面新建的PCC_Conn_1,
? ? ? 4、切換至Action選項卡,
? ? ? 5、Action中選擇make routing,
? ? ? 6、Nwe Routing Mark中新建一個名稱,這里使用:PCC_route_1,
? ? ? 7、點擊OK。
? ? ? 1、選擇新窗口中的General選項卡,
? ? ? 2、Chain中選中prerouting,Sac.Address中輸入內網地址段:192.168.101.0/24,
? ? ? 3、切換至Advanced選項卡,
? ? ? 4、Per Connection Classifier中選擇both addresses,并填寫2/1的參數,
? ? ? 5、切換至Extra選項卡,
? ? ? 6、修改Dst.Address Type參數為local,勾選Invert,用于排除目的地址為本地的網絡地址,
? ? ? 7、切換至Action選項卡,
? ? ? 8、Action中選擇make connection,
? ? ? 9、Nwe Connection Mark中新建一個名稱,這里使用:PCC_Conn_1,
? ? ? 10、點擊OK。
? ? ? 1、再新建一個的標記窗口中選擇General選項卡,
? ? ? 2、Chain中選中prerouting,Sac.Address中輸入內網地址段:192.168.101.0/24,
? ? ? 3、Connection Mark中選擇上面新建的PCC_Conn_2,
? ? ? 4、切換至Action選項卡,
? ? ? 5、Action中選擇make routing,
? ? ? 6、Nwe Routing Mark中新建一個名稱,這里使用:PCC_route_2,
? ? ? 7、點擊OK。
? ? ? 可以查看到一個有4條添加好的標記信息,分別對應2條連接標記,2條路由標記
? ? ? 1、點擊Winbox左邊菜單中的IP,
? ? ? 2、在彈出的列表中選中Routes,打開Routes設置窗口,
? ? ? 3、點擊Routes List界面左上角的+號,新建一條路由信息,
? ? ? 4、在New Route窗口中,Gateway選擇第一條撥號上網的線路,這里是pppoe-out1,第二條則選擇pppoe-out2,
? ? ? 5、Distance路由距離設置為1,
? ? ? 6、點擊OK,
? ? ? 7、重復3~6的步驟新建第二條默認路由信息。
? ? ? 1、再次新建一條路由信息,Gateway選擇第一條撥號上網的線路,這里是pppoe-out1,第二條則選擇pppoe-out2,
? ? ? 2、Check Gateway選擇Ping,
? ? ? 3、Distance第一條設置為1,第二條設置為2,
? ? ? 4、Routing Make選擇PCC_route_1,第二條選擇PCC_route_2,
? ? ? 5、點擊OK,
? ? ? 6、重復1~5的步驟新建第二條標記路由信息。
? ? ? 1、接著在Winbox界面的左邊點擊IP,
? ? ? 2、在彈出的列表中選中Firewall,打開防火墻設置窗口,
? ? ? 3、選中防火墻中的NAT選項卡。
? ? ? 1、在NAT選項卡中點擊左上角+號新增一個規則,
? ? ? 2、在NAT規則卡中選擇General,
? ? ? 3、在Chain規則中選擇srcnat,
? ? ? 4、Src.Address地址中填寫內網地址段,這里填寫192.168.101.0/24,
? ? ? 5、Out.Interface中選擇PPPoe-out1,
? ? ? 6、再切換至Action的選項卡中,
? ? ? 7、將Action中的規則選擇masquerade,
? ? ? 8、點擊OK。
? ? ? 1、在NAT選項卡中點擊左上角+號新增一個規則,
? ? ? 2、在NAT規則卡中選擇General,
? ? ? 3、在Chain規則中選擇srcnat,
? ? ? 4、Src.Address地址中填寫內網地址段,這里填寫192.168.101.0/24,
? ? ? 5、Out.Interface中選擇PPPoe-out2,
? ? ? 6、再切換至Action的選項卡中,
? ? ? 7、將Action中的規則選擇masquerade,
? ? ? 8、點擊OK。
? ? ? 電腦端開啟測速網站進行網速測試,可以看到兩條撥號上網線路都有數據在跑。
#謝謝#
本文作者:Vespa
對于速度的渴求是我們與生俱來的天性,在這個千兆入戶光纖開始普及,5G移動網絡即將上線的時代,內網千兆鏈路100MB/S左右的傳輸性能,對于NAS等網絡存儲設備的用戶而言已不能滿足日益膨脹的速度需求。
高端玩家們開始嘗試利用光纖內網、萬兆銅纜、InfiniBand等一些企業級的技術手段提升傳輸性能;但是對于大多數普通玩家而言,技術入門、配置摸索的學習成本就讓人頭痛;設備、和線路改造的資金投入更加無法接受。好在技術的升級往往會跨越設備的壁壘,今天我們就來聊聊微軟為我們帶來的福利,利用Windows 最新SMB3實現簡單易用的多通道帶寬疊模式。
對于不想看詳細內容,只關心使用方法的朋友,簡單概括如下:
1、多通道帶寬疊無需任何專用設備支持,普通集成網卡、傻瓜交換機均可實現,只要客戶機、服務器、交換機上的網口足夠就可以隨意疊加。
2、多通道帶寬疊基于軟件功能,無需任何專業設置,即插即用,方便穩定。但是需要服務器和客戶機安裝Windows 8、Server 2012以上操作系統,或者內置固件支持此特性。
本文涉及SMB 3和多通道帶寬疊加均已安裝Windows 10系統的PC或者DIY NAS系統為例,對于成品NAS各大廠家的多通道帶寬疊功能目前還在測試階段,群暉已經可以通過SSH命令手動開啟,但是實際使用效果還不穩定,所以這次暫時不做分享。
只要滿足以上兩方面,即可插上網線開始享受帶寬疊加帶來的高速快感。而對于想詳細了解這一功能與性能測試的朋友,請繼續看如下介紹和測試:
技術背景
本文所分享的多通道帶寬疊功能均基于使用SMB3協議進行的內網數據傳輸,通俗的來說就是Windows下通過共享的網絡驅動器進行的數據交換。對于FTP、NFS這些傳輸協議都是無效的。
SMB協議是微軟與Intel共同開發的網絡文件共享協議,通過該協議可以讓應用程序讀取和寫入文件以及從計算機網絡中的服務器程序請求服務。
SMB 協議可在其 TCP/IP 協議或其他網絡協議上使用。使用 SMB 協議時,應用程序(或應用程序用戶)可訪問遠程服務器上的文件或其他資源。這讓應用程序可以讀取、創建和更新遠程服務器上的文件。它還可以與任何設置為接收 SMB 客戶端請求的服務器程序通信,這種協議被廣泛的應用在NAS存儲中。
基于SMB 3的多帶寬疊加早已不是什么新鮮的技術了,早在Windows 8發布之初與之配套的SMB3.0規范便已實現,現在的Windows 10已經更新到3.1.1;我在2015年便有分享相關經驗的想法,卻一直拖拖拉拉直到現在才總算完成。對于一直催我更新的值友們這里先說聲抱歉了。。。。
目前基于傳統RJ45網絡接口+銅纜網線的有線網絡環境中,目前最常用的方法就是帶寬疊加,將多條獨立的千兆鏈接進行聚合、疊加,以實現總帶寬的擴容。目前常用的有鏈路聚合疊加(Link Aggregation Control Protocol)和SMB3多通道帶寬疊加(SMB 3 Multichannel)兩種方式,我們先看下他們之間的區別。
鏈路聚合疊加(Link Aggregation Control Protocol)
鏈路聚合(LACP)是基于IEEE802.3ad標準的網絡傳輸協議,指將多個物理端口匯聚在一起,形成一個邏輯端口,以實現出/入流量吞吐量在各端口的負載均衡并增加帶寬。
鏈路聚合最大的優勢在于屬于硬件層面的端口聚合,不局限于某一種操作系統或者傳輸協議,這對于企業級較為復雜的網絡環境有著不可替代的作用。
在NAS產品大量涌現的當下,鏈路聚合等相關技術為了眾多廠商的宣傳亮點之一。支持鏈路聚合的NAS產品都具備2個以上的LAN接口,按照廠家的宣傳,通過將網口聚合,可以達到2Gbps以上的傳輸帶寬。
從技術本質上來說廠家的描述沒有什么問題,只不過因為大多數消費者都并非精通網絡技術,所以對于鏈路聚合產生了不切實際的幻想。
實際使用情況以下圖為例:
當存儲服務器與交換機均支持LACP相關協議并完成設置后,兩者之間的網絡連接就實現了帶寬聚合。若服務器有兩個網口,則聚合后的總帶寬為2Gbps。兩臺客戶端使用千兆有線鏈路連接交換機同時存取服務器上的數據時,兩者均可達到1Gbps的讀寫速度;此時服務器端網絡總吞吐帶寬也達到了2Gbps。
但是如果按照下圖,單客戶端加兩條千兆有線鏈路連接交換機存取服務器上的數據,則有效傳輸帶寬依然為1Gpbs,無法利用疊加后的2Gpbs帶寬。
所以這里需要強調,鏈路聚合是帶寬疊加技術的一種,但是他只對于交換機-交換機、交換機-服務器之間的鏈路進行疊加,無法提升點對點的傳輸帶寬。
SMB3多通道帶寬疊加(SMB 3 Multichannel)
多通道帶寬疊是SMB3規范眾多新功能中的一項,以下圖為例:
假設服務器與客戶機均配有多網卡,如啟用SMB多通道模式,系統則會利多通道技術,會對每個會話建立多個TCP/IP連接,這樣就可以充分提高整個鏈路的吞吐而實現物理帶寬的疊加。不過這種帶寬疊加僅僅支持使用SMB3規范的數據傳輸,對于其他數據傳輸協議均無效。
兩種技術之間的具體區別如下:
對于網絡系統規模較小、應用較為單一的個人、家庭用戶而言,使用SMB3的多通道功能來提升內網傳輸速度,無論在投入的設備成本、學習成本還是實際效果表現來看都遠高于傳統的LACP鏈路聚合技術。唯一對于操作系統方面的限制在Windows10已經廣泛普及的當下也已不再是障礙。
硬件選購
實現SMB3規范下的多通道帶寬疊加功能是不需要添加任何專用設備的,不過為了實現帶寬疊加就需要更多的網口來接通更多的傳輸鏈路,所以假如這方面硬件規格不足的朋友還是需要增加一些基礎設備的。
網卡
對于帶寬要求不高,且服務器和客戶機上已經集成雙網卡的用戶,其實并不需要在單獨采購網卡。對于像我一樣希望使用更高帶寬的用戶可能需要再選購一塊多端口網卡
正規渠道的多端口千兆網卡價格都很貴。淘寶上有拆機的二手網卡,價格低廉,但存在假貨的風險,所以建議了解清楚情況后再下手。我最終通過HP代理購入了2塊NC364T 四端口千兆網卡。
交換機我選用NETGEAR GS316 16口千兆交換機,非網關傻瓜交換機,做工優良,價格便宜。假如對于帶寬要求不朋友也可以使用更加實惠的8口交換機,甚至路由器附帶的LAN接口。
美國網件(NETGEAR)GS316 16口全千兆非網管交換機 中小型企業商用以太網交換機429元京東
去購買
NETGEAR GS316采用網口平鋪布局,體型扁平且小巧,便于在我狹小的書房中安裝與布線;而16個千兆接口也讓我足夠使用盡情折騰。
功能配置
實現SMB3的多通道功能非常簡單,只需滿足以下條件即可
1、服務器與客戶端基于Windows8以上操作系統,或者支持SMB 3;
不同Windows系統組合之間所能夠支持的最高的SMB版本
2、服務器和客戶端的所有網線都在同一網關下的內網中,最好都接于同一臺服務器。
當以上條件條件都滿足,且兩者間存在一條以上網絡鏈接,便可自動實現帶寬疊加功能,無需進行任何相關系統參數配置。
實際使用時由于存在多個網絡端口,服務器和客戶機會存在多個IP地址,但用戶無需考慮這些,直接使用服務器主機名或者服務器任意IP地址進行文件瀏覽和數據傳輸,都可享受多通道功能帶來的網速疊加體驗。
性能測試
測試環境
服務器與客戶端相關硬件規格
服務器我使用主板集成網卡和PCI-E 4端口千兆網卡建立了達到6Gbps的疊加帶寬,主客戶機則一共使用了5個千兆網口,總疊加帶寬為5Gbps。
服務器與客戶端所用硬盤測試性能如下:
客戶機所用三星 SM951 256G硬盤因為使用M.2接口使用NVME接口規范,所以讀寫速度對于網絡傳輸負載來說不存在任何瓶頸。
服務器所用的Sandisk Extreme II 480G屬于較早期產品,所以速度不及支持NVME規范的產品,實際讀取551MB/S、寫入427MB/S對于高帶寬疊加還是存在一定瓶頸,尤其是寫入性能。
雙鏈路帶寬疊加
首先測試一下雙鏈路下的帶寬疊加,此狀態下服務器與客戶機只需具備雙網口即可實現。這對于很多用戶來說這是最容易實現也最為有效的提速方式。
雙路網絡鏈接總帶寬2Gpbs,理論傳輸速度為256MB/S。客戶機通過SMB協議復制服務器中的數據時,點對點的實際傳輸帶寬輕松突破220MB/S傳輸速度。因為傳輸速度均在兩端SSD硬盤的讀寫性能范圍之內,所以傳輸曲線相當平滑,兩條千兆鏈路均處于滿負荷吞吐狀態。
三鏈路帶寬疊加:
服務器與客戶機之間增加一條千兆有線鏈路,理論帶寬為3Gbps。
實際傳輸速度338MB/S,曲線平穩,三條千兆鏈路依然處于滿負荷吞吐狀態。可以看出似乎只要在兩端硬盤讀寫性能之內,疊加的帶寬就可以全力釋放出接近與理論帶寬的傳輸性能。
五鏈路帶寬疊加:
接下來我不打算依次增加鏈路數量,直接將我客戶機與服務器上網絡端口全部開啟,共計5條千兆鏈路實現了5Gbps的理論數據帶寬,數據帶寬已經達到服務器上SSD硬盤讀寫性能極限;而此時網絡端口的占用也達到了10個,所以這種模式作為極限狀態測試。我詳細測試客戶機從服務器讀取數據和客戶機向服務器寫入數據兩種傳輸模式下的性能表現。
服務器向客戶端傳輸數據,此時服務器端硬盤為讀取狀態,客戶端硬盤為寫入狀態。
此時網絡傳輸帶寬與服務器端的SSD的讀取性能基本相當,傳輸曲線變不如前兩次測試那樣平滑了,不過平均速度依然維持在480MB/S的水平,這對于網絡傳輸算是相當可觀的性能了。
客戶端向服務器傳輸數據,此時服務器端硬盤為寫入狀態,客戶端硬盤為讀取狀態。
網絡傳輸性能超過服務器SSD的寫入性能,傳輸曲線出現比較劇烈的波動,這應該是SSD主控芯片滿負荷運行時產生的。最終平均傳輸速度穩定為410MB/S,這也與之前測試的數據基本吻合。
而且通過這次測試還可以看出,當總體傳輸出現波動時,每塊網卡同樣隨之波動,而且5快網卡的大致波形基本吻合,這也印證了SMB3網絡多條通道中的負載均衡功能發揮了作用。
功能體驗
鏈路冗余
首先以5條千兆鏈路同時工作開始數據傳輸,初始傳輸速度約480MB/S,然后我開始依次拔掉交換機上的網線接口,以模擬網絡出現故障時的狀態,最終我只保留一條網線來保持連接。然后我再依此插回網線,繼續模擬網絡恢復。最終完成測試后的數據傳輸曲線如下:
可以看出當進行帶寬疊加的端口組中,如果有一個或幾個帶寬出現故障時,系統會自動將剩余端口繼續傳輸數據;而當網絡恢復后系統也會立即將其加入到正在進行的數據傳輸中。整體都是動態進行調整的,一部分端口的故障或者恢復均不會影響整體數據傳輸的連貫性。
同時我們可以看出,每次端口增加或者減少后,整體的傳輸曲線只會成臺階狀的整體上升、下降,并不會出現劇烈的波動,這也可以驗證出在單客戶端傳輸環境下,負載均衡機制很好的發揮了作用,使網絡傳輸更加穩定。
多客戶端負載均衡
我找了兩臺客戶端來進行測試,一臺配備了5個千兆網絡接口,與服務器實現5鏈路聚合;而另一臺僅適用單千兆網口與服務器相連。兩臺客戶端同時與服務器進行數據傳輸時,實際效果如下:
首先服務器優先滿足了低帶寬客戶端的帶寬需求,使之滿速運行,最終傳輸速度穩定在113MB/S的千兆網絡傳輸極限速度。
然后再將剩余4個網絡端口進行聚合,向高帶寬客戶端傳輸數據。由于受到服務器硬盤讀取性能限制,最終傳輸速度穩定在343MB/S。
而當低帶寬客戶端結束數據傳輸后,高帶寬客戶端也隨即恢復了滿負荷傳輸狀態。
使用感受
穩定性
基于SMB3規范的帶寬疊加,無需專用設備;無需繁雜的系統設置,搭建的成本相當低廉,而獲得的效果也非常出眾。
除了點對點完美實現了多寬帶傳輸速度疊加之外,原先基于端口匯聚的線路冗余、負載均衡都功能也一應俱全。對于小規模網絡使用的個人用戶基本可以舍棄技術和裝備門檻都高很多的端口匯聚了。
實際使用效果也非常穩定可靠,只要網絡設備穩定,存儲系統性能達標,就可以獲得持續穩定的高速鏈接。我在使用的3年時間里從未出現過失效或者不穩定情況。
可用性
這項應用,使用雙千兆帶寬疊加模式是收益最大、性價比最高的使用模式
對于狂熱追求高速的玩家來說
3寬帶以上的網速疊加,可以最大程度上發揮和利用NAS設備上高端SSD倉庫盤的讀寫速度。這對于SSD的基本性能也提出了更高的要求,對于大多數中低端大容量SSD,雖然標稱性能都很可觀,測試成績也很優秀,但是這些很可能只是基于容量有限的緩存的成績,而實際在進行大塊數據讀寫存儲時往往就會出現如下圖的傳輸曲線。
所以在實際使用前一定要區分清楚廠家標稱的讀寫速度是持續是所謂的“緩存讀寫速度”還是真實的“持續讀寫速度”
對于追求性價比的普通用戶
一臺傻瓜型的八口交換機就可以負擔兩臺客戶端與一臺服務器的鏈接,對于設備上已經集成雙網口的用戶來說,基于SMB3.規范的帶寬疊加可以說是白送的福利,而且就算增加一塊千兆網卡花費也相當低廉。
對于使用普通大容量HDD的存儲系統的用戶來說,得益于單盤容量的不斷增大,平均讀寫速度也早已不再局限于100MB/S的性能水平了。以我目前正在使用的希捷酷狼 8T HDD為例,讀、寫的最低速度都已經超過100MB/S,平均速度達到了180MB/S,在這樣的性能下使用雙千兆帶寬疊加,可以說是胃腸有效的性能提升手段
實際測試性能如下,140MB/S的傳輸速度已經超過單千兆網卡的帶寬限制。
而且因為機械磁盤存儲載體為旋轉的圓形磁碟,所以雖然硬盤的轉速恒定,但是隨著磁頭從碟片的外圈向內心移動就會持續降低線速度,因此磁盤外圈的傳輸率最高;內圈則傳輸率最低。所以實際傳輸速度與數據存儲的扇區位置有很大的關系,對于存儲在靠近外圈的數據理論上還可以獲得更高的傳輸速度。
實用性
對于我現在所用的5千兆帶寬疊加,其實屬于性能嚴重過剩的浪費模式,因為在一般工作和家用環境中很少有軟件需要如此大的網絡傳輸帶寬,而我現在唯一能夠受益的也只有大容量視頻渲染后的存出輸出。
所以這種模式更多的只是對于極限性能的追求和發燒的折騰,一般用戶完全無需照搬使用。但是由于實現起來非常方便,這也可以看作一種技術的儲備,日后如有用武之地便可立即投入使用。