Windows 双网卡链路聚合解决方案

news2024/12/27 12:20:15

Windows 双网卡链路聚合解决方案

  • 链路聚合
  • 方案1:Metric
    • 介绍
    • 操作
  • 方案2:NetSwitchTeam
    • 介绍
    • 操作
  • 方案3:NIC
    • 介绍
    • 操作
  • 方案4:Intel® PROSet

链路聚合

指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。

方案1:Metric

介绍

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

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

  • 在默认情况下,无论路由优先级(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实现多通道负载均衡。

操作

  • 首先在本地电脑查看路由信息,拿win10系统举例子,在左下角开始菜单,点击右键,打开命令窗口。
    在这里插入图片描述

  • 在命令窗口输入:route print 查看它的跃点数,如果两个数不一样,说明电脑只是用了一个网卡。我的一个是55,一个是25。
    在这里插入图片描述

  • 修改成相同的跃点数,系统就让两个网卡一起工作,带宽叠加使用,网速起飞。

    • 右击鼠标属性;
    • 选择internet版本协议IPv4;
    • 再点击属性;
    • 弹窗选择高级;
    • 取消勾选;
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 同样的方法,把第二个网卡跃点数也改成跟之前网卡相同的跃点数即可。

  • 再次命令窗口输入:route print 查看它的跃点数,两个网卡的就会相同。

  • 在任务管理器中查看性能,有线和WIFI在同时工作。

在这里插入图片描述
在这里插入图片描述

方案2:NetSwitchTeam

介绍

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

操作

  • 通过Windows PowerShell(管理员),执行Get-NetAdapter查看当前网卡列表详情。
  • 创建一个NetSwitchTeam:
New-NetSwitchTeam -Name "SwitchTeam01" -TeamMembers "Ethernet 2","Ethernet 3"

Ethernet 2和Ethernet 3就是Get-NetAdapter得到的Name值,可以是中文,例如以太网 4。
在这里插入图片描述

  • 此时访问网络连接状态,可以看到SwitchTeam01的速度是2.0Gbps。
    在这里插入图片描述

  • 此时通过外网测速能够看到明显的叠加效果。
    在一个SwitchTeam以内的两个网卡是自动相互协助的,不需要再点击切换到Team。

  • 删除聚合使用

Remove-NetSwitchTeam –Name "SwitchTeam01"

方案3:NIC

介绍

  • 此方案仅支持 Windows Server 平台

  • 什么是NIC组合
    简单来讲,NIC组合就是把同一台服务器上的多个物理网卡通过软件绑定成一个虚拟的网卡,也就是说,对于外部网络而言,这台服务器只有一个可见的网卡。对于任何应用程序,以及本服务器所在的网络,这台服务器只有一个网络链接或者说只有一个可以访问的IP地址。 微软NIC组合,也称为负载平衡/故障转移 (LBFO),允许多个网络适配器组合成一个,这样做的目的可以带来带宽聚合、解决网络连接失败过程中的故障转移;它应用于Windows Server 2012的所有版本中,包括核心版和图形界面完全版;NIC组合在 Windows 8 中是不可用的,但是 NIC组合的用户界面和 NIC组合的 Windows PowerShell Cmdlet命令行 都可以运行 Windows 8, 以便于 Windows 8 PC 可以用于管理一个或多个 Windows Server 2012主机上的NIC组合。利用NIC组合技术,除了可以提高网络速度以外,还可以实现不同网卡之间的负载均衡(Load balancing)和网卡冗余(Fault tolerance)。如图所示,NIC实现的具体功能:
    1)带宽聚合提高网络速度并在不同网卡之间进行负载均衡
    2)进行流量故障转移,以防止在网络组件发生故障时失去连接。
    在这里插入图片描述

  • NIC组合要求:
    NIC 组合允许多个网络适配器组合成一个,该适配器可以用于分离使用 VLAN 的流量,对于集群服务器可支持多组(比如业务组和私网心跳组)。通过故障转移提供故障保护的所有模式都至少需要两个以太网网络适配器。Windows Server 2012 在一个组中可支持多达 32 个网络适配器

  • 成组模式:

    • 静态成组(IEEE 802.3ad draft v1):此模式配置交换机和主机之间需要哪种链接组合形式,由于这是一个静态配置的解决方案有任何附加协议,所以就不会因为交换机或主机因为电缆的插入错误或其它错误而导致组合的形成。此种模式中,网卡可以工作于不同的速度,就是说可以用不通速度的网卡建立组合, 但同样要求交换机完全支持IEEE 802.3ad 标准,一般情况下,服务器级别的交换机通常支持此模式。

    • 交换机独立:这是配置时的默认值,此模式不要求交换机参与组合配置,由于独立模式下的交换机不知道网卡是主机上组合一部分,网卡可以连接到不同的交换机。

    • LACA动态组合(IEEE 802.1ax, LACP):LACA动态组合是到同一台交换机的链路聚合,只不过不是静态配置的,而是动态构成(也就是自动协商)的。它是通过一种智能的链路协商协议LACP (Link Aggregation Control Protocol)来实现的。LACP原本用于交换机和交换机之间的链路聚合,启用了LACP协议的2台交换机会相互发送LACP的协商报文,当发现2者之间有多条可用的链路的时候,自动将这些链路组合成一条带宽更大的逻辑链路,从而利用负载均衡来实现加宽交换机间链路带宽的目的。

  • 负载平衡模式:

    • 地址哈希:默认,这是一个基于哈希算法的处理负载平衡的模式。
      可以指定哈希函数的输入包括以下组件:
      源和目的MAC地址
      源和目标IP地址
      源和目的TCP端口和源IP和目的IP地址、
      启用该方式后,数据包到达Teaming后,会根据目的地址信息(MAC地址,IP地址和端口号)执行哈希算法,通过算法的结果,NIC Team决定由哪块物理网卡发送数据包。这种方式无法控制流量的走向,如果有大量数据是流向一个目标地址,那么只会通过一块物理网卡来发送。

    • Hyper-v端口:
      由于虚拟机有独立的 MAC 地址,它的MAC地址或端口可以根据流量将它连接到的Hyper-V交换机,使用这个方案的虚拟化还有一个优势,因为相邻的交换机总是能看到一个特定的MAC地址对一个且只有一个连接的端口,交换机将基于目标 MAC (VM MAC) 地址的多个链路上分发入口负载(通信量从交换机到主机),如果主机只有几台虚拟机,当虚拟机的队列(VMQs)被用作一个队列可以放置在特定的达到流量预期NIC上,这是特别有用的,此模式对负载平衡来说,十分精确。这种模式也总是将限制在一个单独的 VM (亦即,从单个交换机端口的通信量) 到一个单一的界面上的可用带宽。Windows Server 2012以Hyper-V 交换机端口作为标识符,而不是源MAC地址,在某些情况下,在交换机上的端口上,虚拟机可以使用一个以上的MAC地址。
      Hyper-V的模式,与无法控制的地址哈希相比,这种方式效率更高,数据会通过绑定虚拟网卡的不同物理网卡传输,同时这种绑定是基于每个虚拟网卡,而不是每台虚拟机的。如果是使用Hyper-V外部虚拟交换机建议选择这种方式。

    • 动态
      这种方式是在Windows Server 2012 R2中新引入的方式,也是最优化的方式,数据会被平分到所有的成员网卡上,最大效率的利用带宽。
      其它属性——备用适配器:
      可以让其中的一个网卡当备用网卡;也可以让所有网卡都处于活动状态。

操作

* 默认情况下,NIC组合是禁用的,如下:

wKiom1f44aqCcGl7AABNuG9Chug638.jpg

wKiom1f44aqCcGl7AABNuG9Chug638.jpg

  • 将其启用,然后进行新建NIC组合

wKioL1f44gnj7rycAAAp2uqNLok615.jpg

  • 点击组中“任务”—新建。选择需要组合的网卡,其他属性中,设定交换机独立及哈希地址。

wKioL1f44pWD72cuAACBJzfQdxM566.jpg-wh_50

  • 配置成功后:

在这里插入图片描述

  • 我们再来看一下网络连接情况:两个以太网变成了 NEW NIC,即NIC组合。

在这里插入图片描述

  • 然后再设置NEW NIC的IP地址、掩码和网关等信息就可以正常通信联网了。
    另外Windows Server 2012 R2 中的网卡捆绑还能用于虚拟机。这样虚拟机即可通过虚拟网络适配器连接到多个 Hyper-V 交换机,就算该交换机下的一个网络适配器断开也能维持连接。在使用单根 I/O 虚拟化(SR-IOV)等功能时,这一特性尤为重要,因为 SR-IOV 通讯并不通过 Hyper-V 交换机传输,因此无法受到 Hyper-V 交换机中网卡捆绑的保护。通过对虚拟机本身进行捆绑,管理员可设置最多两个 Hyper-V 交换机,每个连接到一个支持 SR-IOV 的专用网络适配器。这样即可实现:

    • 每个虚拟机通过支持 SR-IOV 的一个或多个网络适配器安装虚拟 Function,随后一旦有网络适配器断开,虚拟机依然可从主要虚拟 Function 故障转移到后备虚拟 Function。

    • 或者虚拟机可通过一个网络适配器获得一个虚拟 Function,并通过非虚拟 Function 网络适配器连接到其他交换机。如果关联虚拟 Function 的网络适配器断开,通讯即可不断开直接故障转移到其他交换机。

  • 备用适配器下,默认为“无(所有网络适配器处于活动状态,即active-active)”
    如果管理员希望网络接口具有VLAN功能,则点击“默认VLAN”以打开VLAN对话框以便选择相应的VLAN ID

  • 最后就是使用Windows PowerShell也可以创建NIC Teaming

    • 以管理员身份打开Windows PowerShell
    • 使用“Get-NetAdapter”查询当前主机所有网卡信息

在这里插入图片描述

- 使用“New-NetLbfoTeam”命令将NIC1和NIC2添加到NIC组“AppNIC”中

在这里插入图片描述

- 使用“Get-NetLbfoTeam”查看NIC Teaming信息

在这里插入图片描述

- 使用“Set- NetLbfoTeam”修改NIC Teaming成组模式

在这里插入图片描述

- 使用“Set- NetLbfoTeam”修改NIC Teaming负载平衡模式

在这里插入图片描述

- 使用一下命令设置NIC Teaming的模式为交换机独立模式,负载平衡模式为Transporports(地址哈希)

在这里插入图片描述

- 使用“Get-NetLbfoTeammember”查看NIC Teaming网络适配器状态,当前显示的active-active

在这里插入图片描述

- 使用“Set-NetLbfoTeammember”修改NIC为standby模式

在这里插入图片描述

方案4:Intel® PROSet

* 右键网卡的属性,打开配置,点击分组,进行设置-模式的话一般选择下面的三个选项:
   1.负载均衡(次选)英文名称为Load Balance   
   2.动态链路聚合(优选)英语:Dynamic Link Aggregation
   3.静态链路聚合

* 选择好模式之后,选择主设备和副设备,然后确定即可。

    设置好分组之后,要更新对应网卡英特尔官网驱动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1375600.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Overleaf Docker编译复现计划

Overleaf Docker编译复现计划 Overleaf Pro可以支持不同年份的Latex镜像自由选择编译,这实在是一个让人看了心痒痒的功能。但是很抱歉,这属于Pro付费功能。但是我研究了一下,发现其实和Docker编译相关的代码,社区版的很多代码都没…

Windows下Python+PyCharm+miniconda+Cuda/GPU 安装步骤

1. 官网安装Python 3.9 Python Release Python 3.9.0 | Python.org 2. 安装pycharm https://download.jetbrains.com/python/pycharm-professional-2023.3.2.exe 3. 安装miniconda Miniconda — miniconda documentation 4. 安装完miniconda 创建虚拟环境 conda create …

吴飞教授 人工智能 模型与算法 启发式搜索课件发散分析

一、文章介绍 本文是针对吴飞教授在MOOC课程 :《人工智能:模型与算法》 2.1节 启发式搜索的课前发散 在课程2.1节 启发式搜索章节中,吴飞教授以如何计算城市地图两点之间最短路径为例,重点讲授了贪婪最佳优先搜索和A*搜索算法&a…

Android 集成firebase 推送(FCM)

1,集成firebase 基础 1>googleService文件 2>项目级gradle 3>app级gradle 4>setting 2,推送相关 重点: 源文档:设置 Firebase Cloud Messaging 客户端应用 (Android) (google.com) /*** 监听推送的消息* 三种情况…

php中常用的几个安全函数

1. mysql_real_escape_string() 这个函数对于在PHP中防止SQL注入攻击很有帮助,它对特殊的字符,像单引号和双引号,加上了“反斜杠”,确保用户的输入在用它去查询以前已经是安全的了。但你要注意你是在连接着数据库的情况下使用这个…

抵御爬虫的前线护盾:深度解读验证码技术的演变历程

一.前言 在当今信息技术迅速发展的背景下,网站和在线服务面临着日益增长的自动化访问威胁,这些大多来自于各类爬虫程序。这种大量的自动化访问不仅对网站的正常运行构成压力,还可能导致敏感数据的泄露,甚至被用于不正当竞争和恶意…

微内核、宏内核、混合内核,三者到底有什么区别?

最近几年,随着国内大厂纷纷发布自研操作系统,大家对这些操作系统的出身和相貌吵得不可开交。然而,本文并不打算陷入这种无尽的争论之中。 在计算机技术的发展历程中,所有的技术都是在不断的迭代和发展中形成的,无论是…

win10在启动游戏时报错,提示“d3dx9_25.dll文件丢失”,怎么办?d3dx9_25.dll丢失如何自动修复

一、d3dx9_25.dll文件是什么? d3dx9_25.dll是DirectX的一部分,DirectX是一种由微软开发的专门处理与多媒体、游戏程序和视频相关的应用程序接口。d3dx9_25.dll文件是DirectX9中一个重要的dll文件,主要负责处理3D图形程序,作用是帮…

python高校舆情分析系统+可视化+情感分析 舆情分析+Flask框架(源码+文档)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

图片双线性插值原理解析与代码 Python

一、原理解析 图片插值是图片操作中最常用的操作之一。为了详细解析其原理,本文以 33 图片插值到 55 图片为例进行解析。如上图左边蓝色方框是 55 的目标图片,右边红色方框是 33 的源图片。上图中,蓝/红色方框是图片,图片中的蓝/红…

记录误删除docker中极狐gitlab容器恢复过程

如题一次误操作导致删除了docker中极狐gitlab容器恢复过程 情况说明 创建容器时,我是用的是极狐官网推荐安装的步骤,具体按照官网步骤走就行 sudo docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish …

java通过okhttp方式实现https请求的工具类(绕过证书验证)

目录 一、引入依赖包二、okhttp方式实现的https请求工具类2.1、跳过证书配置类2.2、okhttp方式的 https工具类 三、测试类 一、引入依赖包 引入相关依赖包 <!--okhttp依赖包--> <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>…

书生·浦语大模型实战营-学习笔记2

目录 轻松玩转书生浦语大模型趣味Demo1. 大模型及 InternLM 模型介绍2. InternLM-Chat-7B 智能対话 Demo3. Lagent 智能体工具调用 Demo4. 浦语•灵笔图文创作理解 Demo5. 通用环境配置实验记录6. 课后作业 视频地址&#xff1a; (2)轻松玩转书生浦语大模型趣味Demo 文档教程&a…

Java电影购票小程序在线选座订票电影

Java电影购票小程序 功能&#xff1a;注册用户可已查看电影场次评价选座订票退票&#xff0c;影院管理员可以排片退款在线卖票和管理演播室等。超级管理员可管理电影排片电影院用户管理等。 演示视频 小程序&#xff1a; https://www.bilibili.com/video/BV11W4y1A7mK/?shar…

2.【CPP】入门(宏||内联函数||拷贝构造||析构函数||构造函数)

0x01.引言 1.实现一个宏函数ADD #define ADD(x,y) ((x)(y))//宏是预编译阶段完成替换&#xff0c;注意括号2.宏的优缺点 优点&#xff1a; 1.增强代码的复用性 2.宏函数不用建立栈帧&#xff0c;提高性能 缺点&#xff1a; 1.不方便调试 2.没有安全检查 0x02.内联函数 1.以空…

一起学习python类的属性装饰器@property

之前文章我们介绍了class的一些通用功能&#xff0c;比如类属性/类方法/实例属性/实例方法等&#xff0c;之前的属性可以直接修改和访问&#xff08;设置私有属性&#xff0c;不能直接访问,可通过对象名._[类名][属性名]的方式访问&#xff09;&#xff0c;没有一些权限的控制逻…

Linux第24步_安装windows下的VisualStudioCode软件

Visual Stuio Code是一个编辑器&#xff0c;简称 为 VSCode&#xff0c;它是微软出的一款免费编辑器。 VSCode有 Windows、 Linux和 macOS三个版本的&#xff0c;是一个跨平台的编辑器。VSCodeUserSetup-x64-1.50.1是Windows系统中的VSCode软件&#xff0c;而“code_1.50.1-160…

大创项目推荐 深度学习手势识别算法实现 - opencv python

文章目录 1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估 6 识别效果7 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习手势识别算法实现 - opencv python 该项目较为新颖…

212. 单词搜索 II(字典树的另一种类型)

大致思路是&#xff1a; 根据words列表建立字典树&#xff0c;其中注意在单词末尾&#xff0c;将原来的isEnd变量换成存储这个单词的变量&#xff0c;方便存储到ans中&#xff0c;另外&#xff0c;字典树的字节点由原来的Trie数组变为hashmap&#xff0c;方便检索字母。 建立…

React之自定义路由组件

开篇 react router功能很强大&#xff0c;可以根据路径配置对应容器组件。做到组件的局部刷新&#xff0c;接下来我会基于react实现一个简单的路由组件。 代码 自定义路由组件 import {useEffect, useState} from "react"; import React from react // 路由配置 e…