轶哥

妄图改变世界的全栈程序员。

win10链路聚合,双网卡带宽叠加负载均衡

设备具有两个及以上网卡就有可能实现链路聚合,进行带宽叠加。windows平台提供了一些链路聚合的实现方案。

链路聚合方案

  1. 双网卡都设置同样的跃点数(Metric)。需要符合链接速度,参阅
  2. NetSwitchTeam(推荐)
  3. NIC 组合(仅windows server平台)
  4. Intel® PROSet(仅用于Intel部分网卡,需要驱动支持。详见官方文档,不再赘述)

方案说明

设置相同跃点数

任务管理器中看到两个网卡都有数据流量,这并非说明操作系统支持自动带宽叠加,这是默认策略导致的。

例如操作系统会发送简单的请求以判断网络连接的可用性。这就可能导致看到两个网卡都有少量的数据流量。

在默认情况下,无论路由优先级(Metric)如何,所有的操作系统都会优先访问对应网卡默认网关所在的网段。例如网卡1的默认网关是192.168.1.1,网卡2的默认网关是10.10.10.1,而子网掩码都是255.255.255.0,此时我们访问10.10.10.2,则系统默认直接由网卡2进行访问。这就是路由表的默认规则。因此我们设置外网使用哪个网卡,就是设置到指定网关地址Metric最低的网卡即可。

在windows操作系统中,如果两个网卡速率相同,设置相同跃点数的方案可以实现负载均衡和外网带宽叠加,但是点对点速率不会有提升。例如内网传输文件到NAS的速度不会有叠加,但是在迅雷下载的时候速度会有明显提升。如果希望内网传输文件到NAS的速度进行叠加,可以在NAS和win10中同时启用SMB3.0实现多通道负载均衡。

%E8%B7%83%E7%82%B9%E6%95%B0.png

若要配置跃点数,请执行以下操作:

  1. 右下角网络图标右键或打开系统设置界面,点击 "网络和Internet",选择 "更改适配器选项"
  2. 右键单击网络接口,然后选择"属性"。
  3. 单击 INTERNET 协议版本4 (TCP/IPv4),然后选择"属性"。
  4. 在"常规" 选项卡上,选择 "高级"。
  5. 若要指定跃点数,请在 "IP设置" 选项卡上清除 "自动跃点" 复选框,然后在 "接口跃点数" 字段中输入 您需要的指定的跃点数

通过Windows PowerShell(管理员)执行route print,可以查询路由表,其中明确标明了各个接口的跃点数

NetSwitchTeam

NetSwitchTeam是实现win10链路聚合的推荐方案。同样的,该方案不会叠加内网点对点传输的速率。

通过Windows PowerShell(管理员),执行Get-NetAdapter查看当前网卡列表详情。

NetAdapter.png

创建一个NetSwitchTeam

PS C:\>New-NetSwitchTeam -Name "SwitchTeam01" -TeamMembers "Ethernet 2","Ethernet 3"

Ethernet 2Ethernet 3就是Get-NetAdapter得到的Name值,可以是中文,例如以太网 4

image.png

此时访问网络连接状态,可以看到SwitchTeam01的速度是2.0Gbps

SwitchTeam01.png

此时通过外网测速能够看到明显的叠加效果。

360.JPG

删除switch team

PS C:\>Remove-NetSwitchTeam -Name "SwitchTeam01"

更多

NIC 组合可以获得更佳的网络负载均衡和故障转移能力。但是目前只适用于windows server服务器操作系统。如果有兴趣可以研究在win10中进行实现。

无论何种带宽叠加方案,都依赖于上层设备带宽支持。例如将两个1G的网卡进行链路聚合,需要交换机至少为2.5G交换机。

打赏
交流区

暂无内容

尚未登陆
发布
  上一篇 (Json Schema定义“既可以是对象,又可以是数组”)
下一篇 (brew安装python2)  

评论回复提醒