Linux双网卡链路聚合

Linux双网卡链路聚合

Linux双网卡链路聚合共有两种方式,bond模式与team模式。

1.bond

链路聚合(英语:Link Aggregation)将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担。

网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。bond的七种模式介绍:

mode=0(balance-rr)(平衡抡循环策略)

mode=1(active-backup)(主-备份策略)

mode=2(balance-xor)(平衡策略)

mode=3(broadcast)(广播策略)

mode=4(802.3ad)(IEEE 802.3ad 动态链接聚合)

mode=5(balance-tlb)(适配器传输负载均衡)

mode=6(balance-alb)(适配器适应性负载均衡)

bond模式介绍(支持多块网卡聚合)

mode=0(balance-rr)交换机需要配置链路聚合

表示负载分担,并且是轮询的方式,比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕。

优点:流量提高一倍

缺点:需要接入交换机做端口聚合,否则可能无法使用

mode=1(active-backup)

同时只有1块网卡在工作。

优点:冗余性高

缺点:链路利用率低,两块网卡只有1块在工作

mode=2(balance-xor)(平衡策略)交换机需要配置链路聚合

表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy,需要交换机配置port channel)

特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力

mode=3(broadcast)(广播策略)

表示所有包从所有网络接口发出,这个不均衡,只有冗余机制,但过于浪费资源。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。需要和交换机的聚合强制不协商方式配合。

特点:在每个slave接口上传输每个数据包,此模式提供了容错能力mode=4(802.3ad)(IEEE 802.3ad 动态链接聚合)不常用,且不同厂商的LCAP报文协商不成功

表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy).标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。

特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。

外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应性。

必要条件:

条件1:ethtool支持获取每个slave的速率和双工设定

条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation 条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式mode=5(balance-tlb)(适配器传输负载均衡)

是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。

特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave 上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

应用拓扑同mode 0,和mode 2一样,不过这种模式除了配置port channel 之外还要在port channel聚合口下开启LACP功能,成功协商后,两端可以正常通信。否则不能使用

mode=6(balance-alb)(适配器适应性负载均衡)

在5的tlb基础上增加了rlb(接收负载均衡receive load balance).不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的.

特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。来自服务器端的接收流量也会被均衡。当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来。当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。

使用ARP协商进行负载均衡的一个问题是:每次广播ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新(ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。

当新的slave加入到bond中时,或者某个未激活的slave重新激活时,接收流量也要重新分布。接收的负载被顺序地分布(round robin)在bond 中最高速的slave上

当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个

client发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答不会被switch(交换机)阻截。

必要条件:

条件1:ethtool支持获取每个slave的速率;

条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个bond 中的slave都有一个唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址将会被新选出来的curr_active_slave接管其实mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量。

总结:

mode 1、5、6不需要交换机设置

mode 0、2、3、4需要交换机设置

常用的模式 mode 0 1 6

2.team

team模式介绍(最大支持2-8块网卡聚合)

team模式的工作模式与bond模式不同,有5种,分别是"broadcast"广播容错、"roundrobin"平衡轮询、"activebackup"主备和"loadbalance"负载均衡,以及lacp。

在添加team模式时命令中的工作模式命令也不同,team模式的命令格式是’{“runner”:{“name”:“工作模式”}}’,这点需要注意。

runner 方式:

【mode 0】roundrobin负载均衡 (balance-rr)

特点:

1)从头到尾顺序的在每一个slave接口上面发送数据包,轮询方式往每条链路发送报文,基于per packet方式发送。服务上ping 一个相同地址:

1.1.1.1 双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式,进行轮询发送。

2)提供负载均衡和容错的能力,当有链路出问题,会把流量切换到正常的链路上。交换机端需要配置聚合口。

【mode 1】activebackup活动-备份(主备)策略

特点:一个端口处于主状态,一个处于从状态,所有流量都在主链路上处理,从链路不会有任何流量。当主端口down掉时,从端口接手主状态。不需要交换机端支持。

【mode 2】loadbalance限定流量

特点:该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。

如果所有流量是通过单个路由器(比如“网关”型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。),那该模式就不是最好的选择。

和balance-rr一样,交换机端口需要能配置为“port channel”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。交换机端需要配置聚合口。

【mode 3】broadcast广播策略

特点:这种模式一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。

此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题

适用于拓扑,两个接口分别接入两台交换机,并且属于不同的vlan,当一边的网络出现故障不会影响服务器另一边接入的网络正常工作。而且故障过程是0丢包

【mode 4】lacp (implements the 802.3ad Link Aggregation ControlProtocol)

特点:802.3ad模式是IEEE标准,因此所有实现了802.3ad的对端都可以很好的互操作。802.3ad 协议包括聚合的自动配置,因此只需要很少的对交换机的手动配置(要指出的是,只有某些设备才能使用802.3ad)。802.3ad 标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。

总结

mode 0 3 4 需要交换机配置

mode 1 不需要交换机配置

常用模式 mode 0 1

1、网卡链路聚合配置

网卡配置参数解读:

MASTER=bond0 指定虚拟网口的名字(主人)

SLAVE=yes 备用(从设备)

con-name 指定连接名字,没有特殊要求,

ipv4.methmod 指定获取IP地址的方式

ifname 指定网卡设备名,既就是次配置所生效的网卡

autoconnect 指定是否自动启动

ipv4.addresses 指定IPv4地址

gw4指定网关

前提:

a.检查linux环境是否支持bonding

modinfo bonding

b.加载bonding模块(重启系统后就不用手动加载了)

modprobe bonding

c.确认模块是否加载成功

lsmod | grep bonding

链路聚合配置:

1.查询网卡连接状态,两种状态,连接或者未连接

nmcli device status

2.查询网口带宽

ethtool ens33 | grep -i speed

3. 创建一块虚拟网卡bond0,并配置模式

设置bond模式mode=1,设置链路检测时间miimon=100ms.

a.不设置链路检测时间,执行如下命令,默认为0ms

nmcli connection add con-name bond0 ifname bond0 type bond mode 1

b.如果要设置链路检测时间,执行如下命令

nmcli connection add con-name bond0 ifname bond0 type bond mode 1 miimon 100

4. 将接口ens38、ens39加到bond0里去

网卡配置文件目录:cd /etc/sysconfig/network-scripts

a:网卡已有配置文件,执行下面命令, 将接口ens33、ens37加到bond0里去

nmcli connection add type bond-slave ifname ens38 master bond0 nmcli connection add type bond-slave ifname ens39 master bond0

b:网卡无配置文件,执行下面命令, 为ens224和ens256两块网卡创建配置文件并将两块网卡作为bond0网卡的slave

nmcli connection add con-name bond0-port1 ifname ens224 type bond-slave master bond0

nmcli connection add con-name bond0-port2 ifname ens256 type bond-slave master bond0

5.配置bond0口静态ip地址、网关

nmcli connection modify bond0 ipv4.addresses 192.168.3.201/24 ipv4.gateway 192.168.3.1

6.将IP地址获取方式改为手动(manual)获取

nmcli connection modify bond0 ipv4.method manual

7.重载并激活bond0网卡

nmcli connection reload bond0

nmcli connection up bond0

8.验证是否成功

a.查看bond0网卡的带宽

ethtool bond0 | grep -i speed

b.查看bond0网卡的ip地址和两块物理网卡的状态

ip add

c.nmcli connection show

d.查看bond0的详细信息

cat /proc/net/bonding/bond0

2、删除网卡链路聚合

1.直接删除bond0网卡配置文件,以及产生的虚拟网卡配置文件。也可nmtui 图形化直接删除。

rm -f ifcfg-bond0

rm -f ifcfg-bond-slave-ens38

rm -f ifcfg-bond-slave-ens39

2.之后重启网络服务。

修改链路检测时间

直接nmtui图形化修改或者配置bond0网卡时添加参数。

windows XP及Linux下双网卡配置方案

Windows XP下双网卡配置方案一、软硬件需求 ●硬件: 一台带有双网卡的PC,其中一个连接internet;另一个接局域网hub。 其中节局域网地址为:192.168.0.1/255.255.255.0 ●软件: 操作系统:windows XP 代理软件:CCProxy 二、设置CCProxy: 1、服务器的安装 运行下载后的Ccproxysetup.exe 安装本软件 (注:现在的最新版本为CCProxy-v6.6,推荐下载网站:霏凡) 安装完成后,桌面有一个CCProxy的绿色图标:双击即可启动CCProxy了(如附图)。绿色的网格坐标将会出现,黄色的曲线表示网络数据流量。 2、客户端设置前的准备工作 1)确认客户端与服务器是连通的,能够互相访问。

2)确定代理服务器地址。代理服务器地址就是安装代理服务器的机器的 网络地址。 这个地址,是指服务器在局域网中的本地IP地址。本地IP地址可以从CCProxy的设置对话框中得到。设置对话框中 的本地IP地址一般情况下可以用"自动检测"得到。如果服务器安装了双 网卡,则需要手工选取:取消"自动检测", 从列表中选取。如果不能确认服务器的IP地址,也可以用服务器的机器 名作为代理服务器地址。 3、局域网机器设置: ※对TCP/IP协议的属性进行设置: 方法:右击“网上邻居”,选择“属性”,双击网卡对应的“TCP/IP协议”,选择“DNS”标签。设置如下:选中“启用DNS”;“主机”中填入服务器名称;并在下面的“DNS服务器搜索顺序”中填入服务器的IP地址,本例为“192.168.0.1”,然后单击[填加];单击[确定]结束DNS设置;再次单击[确定],结束对网络属性的设置。这时需要重新启动计算机。 ※重新启动后,设置IE浏览器代理上网 1)流程: IE浏览器->菜单"工具"->"Internet选项"->"连接"->"局域网设置"->选中"使用代理服务器"->"高级"->"代理服务器设置"。取消"对所有协议均使用相同的代理服务器"。 在"HTTP"中填上代理服务器地址,端口为808; 在"Secure"中填上代理服务器地址,端口为808; 在"FTP"中填上代理服务器地址,端口为808; 在"Gopher"中填上代理服务器地址,端口为808; 在"Socks"中填上代理服务器地址,端口为1080。 2)图示: IE菜单“工具”->“Internet 选项”: “代理设置”选择

LINUX系统下双网卡双网关设置

由于电信和网通之间互联互通的问题,很多人选择双线路机房,所谓双线路机房就是拥有两条出口,一条电信一条网通。最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为Linux。计划配置为双IP,双域名,使得浏览者通过电信和网通两条线路都能正常访问服务器,而且各走各的,互不影响。在配置网络的时候遇到了问题,由于Linux默认只有一个网关,在网络上查询了很久,找到一个解决方案,因此整理了一下。感谢原文作者jac003ke。 服务器操作系统RedHat linux 9,设置两张路由表 1. vi /etc/iproute2/rt_tables,增加网通和电信两个路由表 251 tel 电信路由表 252 cnc 网通路由表 2. 给网卡绑定两个地址用于电信和网通两个线路 ip addr add 192.168.0.2/24 dev eth0 ip addr add 10.0.0.2/24 dev eth1 3、分别设置电信和网通的路由表 电信路由表: #确保找到本地子网 ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table tel #内部回环网络 ip route add 127.0.0.0/8 dev lo table tel #192.168.0.1为电信网络默认网关地址 ip route add default via 192.168.0.1 dev eth0 table tel 网通线路路由表: #确保找到本地子网 ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc #内部回环网络 ip route add 127.0.0.0/8 dev lo table cnc #10.0.0.1是网通的默认网关 ip route add default via 10.0.0.1 dev eth1 table cnc 4、电信和网通各有自己的路由表,制定策略,让192.168.0.2的回应数据包走电信的路由表路由,10.0.0.2的回应数据包走网通的路由表路由 ip rule add from 192.168.0.1 table tel ip rule add from 10.0.0.1 table cnc

Linux双网卡(源地址路由)

在Discuz! Board 看到这篇文章,挺好的,COPY下来. linux双网卡怎么设置我就不说了,我这里说的是linux双网卡的流量问题... 可能这个问题很偏们..你们也许用不上..我还是要说.. 问题描述,一个linux主机,上面两个网卡.. route -n的输出是这样的. 代码: [复制到剪贴板] Destination Gateway Genmask Flags Metric Ref Use Iface 61.132.43.128 0.0.0.0 255.255.255.192 U 0 0 0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 61.132.43.134 0.0.0.0 UG 0 0 0 eth0 这里解释一下...第一行是说,你要访问61.132.43.128这个网段,掩码是255.255.255.192 的话..从eth1这个网卡出去.. 第二行是关于本机的,访问自己从lo这个虚拟的本地网卡走.. 第三行是说你要去任何地方的话..从网关61.132.43.134出去.并且网卡是eth0 到这里我们看到了..我们除了去61.132.43.128这个网络是从eth1走以外..去其他地方都是从eth0走... 这样是不是很浪费了双网卡??没错..是很浪费..因为不论你用那种监测工具查看流量..都 是eth0有..而其他网卡没有...天哪...为此我是煞费苦心..甚至怀疑网卡是不是坏了..因为在win2k上这种事情是不可能发生的.. 那我们怎么解决这个问题呢?有人也许会说给个不同网关让另一块网卡用其他网关不就可以..是这个是可以..但是问题是我的ip都是在同一个网段..那来的不同网关.?网关就一个61.132.43.134... 还好linux系统给我们提供了一个很好的路由套件---iproute2 我们来熟悉一下..iproute2由几个常见的命令.. ip ro ls ip就是ip命令啦,ro就是route的所写,ls是list的缩写... 整个命令就是列出系统的路由表..这个可和route -n的效果差不多..但是更为清楚系统的route是如何的.. 我们来看看吧: 代码: [复制到剪贴板] [root@localhost root]# ip ro ls 61.132.43.128/26 dev eth1 proto kernel scope link src 61.132.43.136 127.0.0.0/8 dev lo scope link default via 61.132.43.134 dev eth0 是不是一样呢?由几个地方不同..第一条多了一个src,增加了对源数据包的选择,而且子网 掩码也变成/26的形式..(参考ip地址的书籍) 最后一个仍然是网关... 现在我们只要稍稍动手把从61.132.43.136出来的流量让他不要从eth0出去..然他走eth1 我们加一条自定义的路由表 代码: [复制到剪贴板] ip ro add default via 61.132.43.134 table 200 这里只是加了一条默认路由到一个自定义的路由表200中,最大数值是255,但是你不要用

linux双网卡绑定

一、L inux bonding研究及实现 Linux Bonding 本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现。 Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。这项技术在Sun和Cisco中分别被称为Trunking和Etherchannel技术,在Linux的2.4.x及其以后的内核则称为Bonding技术。 bonding的前提条件:网卡应该具备自己独立的BIOS芯片,并且各网卡芯片组型号相同。同一台服务器上的网卡毫无疑问是是符合这个条件的。 Bonding原理 bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。然后把相应的数据帧传送给bond驱动程序处理。 为方便理解bonding的配置及实现,顺便阐述一下Linux的网络接口及其配置文件。在Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于/etc/sysconfig/netwrok-scripts/ 目录下。网络

接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。接口配置文件的名称通常类似于ifcfg-,其中 与配置文件所控制的设备的名称相关。在所有的网络接口中,最常用的就是以太网接口ifcfg-eth0,它是系统中第一块网卡的配置文件。虽然在不同的系统之间,文件的类型和数量并不一定相同,但各种的网络设备都需要用到这些文件保证设备的正常运作。bonding技术,就是通过配置文件建立绑定接口,从而实现多个物理网卡绑定到一个虚拟网卡。 测试环境 本次作业环境中,使用的是CentOS5.6,其系统信息如下: [root@support ~]# cat /etc/issue CentOS release 5.6 (Final) Kernel \r on an \m [root@support ~]# uname -a Linux support 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:13 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux 可以通过modinfo bonding命令查看Linux是否支持bonding,据资料介绍,RHEL4已默认支持了,RHEL5、CentOS5毫无疑问也是支持的。系统有类似下面的信息输出,就说明已支持了。 [root@support ~]# modinfo bonding filename: /lib/modules/2.6.18-238.9.1.el5/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@https://www.360docs.net/doc/6518986626.html, and many others

Linux双网卡链路聚合

Linux双网卡链路聚合 Linux双网卡链路聚合共有两种方式,bond模式与team模式。 1.bond 链路聚合(英语:Link Aggregation)将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担。 网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。bond的七种模式介绍: mode=0(balance-rr)(平衡抡循环策略) mode=1(active-backup)(主-备份策略) mode=2(balance-xor)(平衡策略) mode=3(broadcast)(广播策略) mode=4(802.3ad)(IEEE 802.3ad 动态链接聚合) mode=5(balance-tlb)(适配器传输负载均衡) mode=6(balance-alb)(适配器适应性负载均衡) bond模式介绍(支持多块网卡聚合) mode=0(balance-rr)交换机需要配置链路聚合 表示负载分担,并且是轮询的方式,比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕。 优点:流量提高一倍 缺点:需要接入交换机做端口聚合,否则可能无法使用 mode=1(active-backup) 同时只有1块网卡在工作。 优点:冗余性高 缺点:链路利用率低,两块网卡只有1块在工作 mode=2(balance-xor)(平衡策略)交换机需要配置链路聚合

linux下网卡bond配置

Linux 7.x OS bond配置 一、bonding技术 bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。 bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持. # modinfo bonding filename: /lib/modules/2.6.32-642.1.1.el6.x86_64/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@https://www.360docs.net/doc/6518986626.html, and many others description: Ethernet Channel Bonding Driver, v3.7.1 version: 3.7.1 license: GPL alias: rtnl-link-bond srcversion: F6C1815876DCB3094C27C71 depends: vermagic: 2.6.32-642.1.1.el6.x86_64 SMP mod_unloadmodversions parm: max_bonds:Max number of bonded devices (int) parm: tx_queues:Max number of transmit queues (default = 16) (int) parm: num_grat_arp:Number of peer notifications to send on failover event (alias of num_unsol_na) (int) parm: num_unsol_na:Number of peer notifications to send on failover event (alias of num_grat_arp) (int) parm: miimon:Link check interval in milliseconds (int) parm: updelay:Delay before considering link up, in milliseconds (int) parm: downdelay:Delay before considering link down, in milliseconds (int) parm: use_carrier:Usenetif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default) (int) parm: mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp) parm: primary:Primary network device to use (charp) parm: primary_reselect:Reselect primary slave once it comes up; 0 for always (default), 1 for only if speed of primary is better, 2 for only on active slave failure (charp) parm: lacp_rate:LACPDUtx rate to request from 802.3ad partner; 0 for slow, 1 for fast (charp) parm: ad_select:803.ad aggregation selection logic; 0 for stable (default), 1 for bandwidth, 2 for count (charp) parm: min_links:Minimum number of available links before turning on carrier (int)

linux链路聚合配置命令

linux链路聚合配置命令 Linux链路聚合是一种网络技术,可以将多个物理网络接口绑定在一起,形成一个更高带宽的聚合链路,提高网络性能和可靠性。下面介绍一些常用的Linux链路聚合配置命令。 1. ifconfig命令 ifconfig命令可以用来查看和配置网络接口,包括链路聚合接口。通过ifconfig命令可以设置接口的IP地址、子网掩码、MAC 地址等信息。例如,如下命令可以创建一个名为bond0的链路聚合接口,并将eth0和eth1两个物理接口绑定在一起: ifconfig bond0 192.168.1.100 netmask 255.255.255.0 up ifconfig eth0 up ifconfig eth1 up ifenslave bond0 eth0 eth1 2. modprobe命令 modprobe命令可以用来向系统加载内核模块。在使用链路聚合技术时,需要加载bonding内核模块。例如,如下命令可以加载bonding内核模块: modprobe bonding 3. /etc/network/interfaces文件 /etc/network/interfaces文件是Debian系列Linux系统中的网络配置文件,可以用来配置网络接口。通过编辑该文件可以设置链路聚合接口的IP地址、子网掩码、网关、DNS等信息。例如,如

下内容可以配置一个名为bond0的链路聚合接口: auto bond0 iface bond0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 bond-slaves eth0 eth1 bond-mode active-backup bond-miimon 100 4. bondctl命令 bondctl命令可以用来查看和配置链路聚合接口的状态。通过bondctl命令可以查看当前链路聚合接口的状态、绑定的物理接口、链路聚合模式等信息。

linux lacp协议开源代码

linux lacp协议开源代码 LACP(Link Aggregation Control Protocol)是一种用于将多个网络链路绑定为一个高可用、高带宽的聚合链路的协议。它是IEEE 802.3ad标准中定义的一种链路聚合技术,旨在提供对物理链路进行统一管理、灵活配置和动态故障恢复的能力。作为一种开源协议,LACP的代码可以在很多Linux发行版的内核源代码中找到。在本文中,我们将一步一步地了解LACP协议的开源代码。 第一步,我们需要找到Linux内核的源代码。这可以通过访问Linux内核官方网站( 第二步,下载并解压缩Linux内核源代码。在Linux内核官方网站上,我们可以找到最新版本的.tar.gz或.tar.xz格式的内核源代码包。选择合适的版本并将其下载到本地计算机上。然后,使用相应的解压缩工具将源代码文件解压缩到一个合适的目录中。 第三步,浏览源代码目录结构。在解压缩后的源代码目录中,我们可以看到许多子目录和文件。其中,与网络相关的代码通常位于net文件夹下。进入net文件夹,我们可以找到许多与LACP相关的源代码文件。 第四步,继续深入研究LACP代码。在net文件夹下,我们可以找到名为bonding的子文件夹,该文件夹包含了Linux内核中LACP协议的实现代

码。进入bonding文件夹,我们可以看到多个与LACP和链路聚合相关的源代码文件。 第五步,阅读和理解LACP协议的实现代码。在bonding文件夹中,我们可以找到一个名为bond_main.c的文件,该文件包含了LACP协议的主要实现代码。打开该文件,我们可以看到详细的注释和实现细节,了解LACP协议的具体功能和实现方式。 第六步,编译和安装内核。完成对LACP代码的研究后,我们可以继续编译和安装内核。根据Linux内核的编译指南和相应的命令,我们可以将修改后的内核源代码编译成可执行的内核映像文件。然后,使用相应的命令将内核映像文件安装到计算机的启动路径中。 第七步,验证LACP的功能。完成内核的编译和安装后,我们可以重新启动计算机并验证LACP协议的功能。通过配置适当的网络设备和配置文件,我们可以使用LACP协议将多个网络链路聚合为一个高可用、高带宽的聚合链路。通过监控网络传输的性能和状态,我们可以确定LACP协议是否正常工作。 总结起来,通过以上步骤,我们可以了解和研究LACP协议的开源代码。从查找和下载Linux内核源代码到编译和安装内核,再到验证LACP协议

链路聚合 设置范例

链路聚合设置范例 在网络通信中,链路聚合是一种将多个物理链路捆绑在一起,形成一个逻辑上更大的链路的技术。这种技术可以提高带宽、提高可靠性和实现负载均衡。在实际设置范例中,我们可以以Linux系统为例,来演示如何进行链路聚合的设置。 在Linux系统中,链路聚合可以通过使用网络设备绑定(Network Bonding)来实现。以下是一个简单的设置范例,假设我们有两个以太网接口eth0 和eth1 需要进行链路聚合。 1. 首先,安装ifenslave 工具,该工具是Linux 系统中用于网络设备绑定的工具。 ``` sudo apt-get install ifenslave ``` 2. 确认系统支持网络设备绑定 ``` modprobe bonding lsmod | grep bonding ``` 3. 编辑网络配置文件,例如/etc/network/interfaces,添加以下配置: ``` auto bond0 iface bond0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 slaves eth0 eth1 bond_mode balance-rr bond_miimon 100 bond_downdelay 200 bond_updelay 200 ``` 在上面的配置中,我们创建了一个名为bond0 的虚拟网络接口,指定了其IP 地址、子网掩码、网关等信息。然后指定了eth0 和eth1 作为其从属接口,使用了balance-rr 模式进行链路聚合。 4. 重新启动网络服务 ``` sudo /etc/init.d/networking restart

linux lacp协议开源代码 -回复

linux lacp协议开源代码-回复 LACP (Link Aggregation Control Protocol) 是一种用于在网络中实现链路聚合的协议。也称为IEEE 802.3ad 标准,它的作用是将多个物理链路聚合成一个逻辑链路,提供更高的带宽、提高网络的可靠性和冗余性。在Linux 系统中,有多个开源项目提供了LACP 的实现,这篇文章将一步一步地回答关于Linux LACP 协议开源代码的内容。 第一步:LACP 协议简介 在开始介绍LACP 协议的开源代码之前,让我们先了解一下LACP 协议的基本原理。LACP 是一种协商协议,用于在交换机和服务器之间协商并设置链路聚合。它通过发送LACP 数据帧来协商链路的参数和状态,并确保所有链路都处于相同的状态。其中,链路聚合组(LAG)是由多个链路组成的逻辑连接,通过LACP 协议进行管理。 第二步:Linux 内核的LACP 实现 Linux 内核中的LACP 实现主要基于两个项目:bonding 和teaming。Bonding 项目是Linux 内核中的一个模块,用于实现链路聚合的功能。它可以将多个物理链路聚合为一个虚拟的链路,为用户提供高带宽和冗余性。

Teaming 项目是Red Hat 公司为RHEL(Red Hat Enterprise Linux)中开发的一套工具,用于网络链路的聚合和负载均衡。它是通过将多个NIC 配置为一个团队来实现链路聚合,支持LACP 协议和其它链路聚合协议。 第三步:Bonding 项目的开源代码 Bonding 项目的开源代码可以在Linux 内核源代码中找到。它的主要代码位于drivers/net/bonding 目录下。该目录中包含了bonding.c、bond_3ad.c 等文件,这些文件实现了LACP 协议的相关功能。 在bonding.c 文件中,定义了用于管理链路聚合信息的数据结构和函数。它包括了对链路聚合组的创建、维护和删除的函数,以及链路聚合状态的更新和链路故障处理的函数。 在bond_3ad.c 文件中,实现了LACP 协议的相关功能。其中包括对LACP 控制帧的处理、链路聚合组成员的状态机和状态转换的函数等。这些代码实现了LACP 协议的基本功能和逻辑。 第四步:Teaming 项目的开源代码 Teaming 项目的开源代码可以在Github 上找到。它的主要代码位于

双网卡合并

双网卡合并.下载速度叠加.FNET Gateway Soho 详细教程(以修改) 本帖最后由 owysaibb 于 2009-9-5 11:15 编辑 FNET Gateway Soho能让多名网络用户在同一时间内共享两条因特网连接线路 支持2条对外连线,并具备频宽合并及线路备份功能.软路由:用3张网卡实现两条ADSL 合并 注册码:HAW66FSG464FKWFCKXHKTP49 在网上找了一个宽带叠加软件.经过本人测试 (内置inter(R) PRO/Wireless 2200BG Network connection下载速度30KB/S USB网卡 RT73 USB Wireless LAN Card230KB/S). 下载速度合并后260KB/S 下载测试时间均为2分钟.取平均速度..因为这个软件是将在电脑里面虚拟一个网卡.然后两张网卡连接上这个虚拟网卡,所以显示的IP会有变化, 如果使用的时候出现了问题.重启电脑问题方口解决.如果还是未能解决就请放手此软件,另寻出路.

这两种选择依据你的要求.你可以选择你觉得最好的选项.建议应第一种.这样就自动获得了.如果你发现在为合并之前DNS就是网关地址的话.建议用第二项, 详细地址查看方法

设置好后WAN1 WAN2 会有数据传输

注: 这个只针对有两张无线网卡设置的.并且都可以正常收发信号. 视网卡和环境等因素的影响不一定合并后下载速度就会叠加. 看了坛友们的留言,我那是相当的感动.看来我些的不是很详细.但是现在又没时间.我会尽量的抽出时间.写一份傻瓜式教程,让坛友们乐乐 下面的图不用管他.删除不掉.

双网卡汇聚详细图文教程

双网卡汇聚详细图文教程 双网卡汇聚详细图文教程首先先看下我汇聚好的设备管理器图 集成的两块网卡都是INTEL 82574L的安装最新的网卡驱动会自动把INTEL分组的功能集成进去 因为服务器正在带机运行所以不能为大家做各个步骤的详细图 1、安装INTEL的网卡驱动(我安装的是14.4) 2、驱动完毕后在设备管理器里右键点INTEL的网卡,选属性 3、属性里选分组 4、选与其他适配器分区,选新组 5、组名随便添,例如:易游无盘分组,下一步 6、钩选你要搭建负载的网卡,下一步 7、选择组模式,模式选适应性负载平衡,如果你的交换机支持链路聚合,选静态链路聚合也可以(我的交换机支持所以我选择的是静态交换机型号H3C S5024P) 8、设置你的组,选择主、从卡 有些朋友汇聚好后问为什么汇聚好的是1G而不是2G 别急交换机那里还需要设置的不过首先你的交换机要支持聚合功能 下面来看看交换机 注:新建端口汇聚时,汇聚端口类型应设为一致,而且端口的工作速率不能设为自协商,且不同速率的端口不能配置为同一个汇聚组,聚合组中的所有端口必须为全双工(FULL)。开始我就犯了这个错误没有调整结果百试不成功 我的服务器在交换机上接口为6 and 23 在端口设置里设置如图

两个端口都设置好后转到端口汇聚功能页勾选你刚才设置的两个端口到汇聚组1 如图 H3C有4种汇聚算法: 1:SA(源MAC地址)2:D A(目的MAC地址)3:SA+DA4:SA+DA+IP 每中汇聚方法适应不同类型网络,需要根据实际情况做出选择。否则将会导致严重的网络问题。端口名:对应端口的名称普通组:设置该端口为非汇聚组汇聚组:设置该端口为汇聚组我这里使用的是第三种算法SA+DA 也就是源MAC地址+目的MAC地址 这样我们就完成了交换机的汇聚功能配置 在选择组类型时候会出现很多类型下面给大家列出各种类型的说明 高级网络服务(ANS) 组类型 适配器容错 适应性负载平衡 静态链接聚合 IEEE 802.3ad 动态链接聚合

网卡链路聚合 简单设置实现双倍带宽解析

网卡链路聚合简单设置实现双倍带宽 电脑爱好者 2016-02-19 09:01 如今所有主板至少自带一个千兆以太网端口,有些高档主板带有两个端口。很多用户都不知道家用环境下双网卡主板如何充分利用两个网口,其实使用链路聚合(Link aggregation)就是一个好思路。 双倍带宽的链路聚合 链路聚合是指将两条或多条物理以太网链路聚合成一条逻辑链路。所以,如果聚合两个1Gb/s端口,就能获得2GB/s的总聚合带宽(图1)。聚合带宽和物理带宽并不完全相同,它是通过一种负载均衡方式来实现的。在用户需要高性能局域网性能的时候很有帮助,而局域网内如果有NAS则更是如此。比如说我们在原本千兆(1Gb/s)网络下PC和NAS之间的数据传输只能达到100MB/s左右,在链路聚合的方式下多任务传输速度可以突破200MB/s,这其实是一个倍增。 01 链路聚合原本只是一种弹性网络,而不是改变了总的可用吞吐量。比如说如果你通过一条2Gb聚合链路将文件从一台PC传输到另一台PC,就会发现总的最高传输速率最高为1Gb/s。然而如果开始传输两个文件,会看到聚合带宽带来的好处。

简而言之链路聚合增加了带宽但并不提升最高速度,但如果你在使用有多个以太网端口的NAS,NAS就能支持链路聚合,速度的提升是显而易见的。 目前家用的局域网环境不论是线缆还是网卡多数都停留在1Gb/s的水平,如果你想要真正的更高吞吐量改用更高的带宽比如10Gb/s网卡,但对于大多数家庭用户万兆网卡是不太可能的。就算我们使用普通单千兆网卡主板,通过安装外接网卡来增添一个网络端口就能实现效果。 链路聚合准备工作 首先你的PC要有两个以太网端口,想要连接的任何设备同样要有至少两个端口。除了双千兆(或一集成一独立)网卡的主板外,我们还需要一个支持链路聚合(LACP或802.1ad等)的路由器。遗憾的是很多家用路由器不支持链路聚合,选择时要注意路由器具体参数,或者干脆选择一个支持链路聚合的交换机。 除了硬件方面的要求,还需要一款支持链路聚合的操作系统。我们目前广泛使用的Windows 7并没有内置的链路聚合功能,一般微软要求我们使用Windows Server,但其实Windows 8.1和10已经提供了支持了。其实如果操作系统不支持可以考虑使用厂商提供的具有链路聚合功能的驱动程序,比如英特尔PROSet 工具。另外操作系统Linux和OS X都有内置的链路聚合功能,满足了所有先决条件后下面介绍如何实现。 测试平台 主板华硕Rampage IV 处理器英特尔酷睿i7-3970X 内存三星DDR3 32GB 硬盘三星850Pro 1TB(RAID 0) 交换机网件ProSAFE XS708E 10GbE 网卡双端口10GBASE-T P2E10G-2-T 线缆 CAT7

服务器多网卡绑定及交换机链路聚合对接探讨

效劳器多网卡绑定 与交换机链路聚合对接探讨 --综合支持部王光明目前效劳器的多网卡绑定技术在企业网中得到了广泛应用,常见为双网卡绑定,绑定后既能增加网络带宽,同时又能做相应的冗余,可以说是好处多多。因为linux下的双网卡绑定无需第三方的驱动支持,所以一般企业都会使用linux操作系统下自带的网卡绑定模式。当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定〔例如intel网卡驱动〕。 以下我们对linux多网卡绑定的原理及交换机那么需要作的配置进展探讨。 linux有七种网卡绑定模式: 1.round robin 2.active-backup 3.load balancing (xor) 4.fault-tolerance (broadcast) https://www.360docs.net/doc/6518986626.html,cp〔802.3ad〕 6.transmit load balancing 7.adaptive load balancing。

第一种:mode 0 Round robin 标准文档定义: round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance. 特点: 所有链路处于负载均衡状态,轮询方式往每条链路发送报文,基于per packet方式发送。 这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。 多网卡采用同一个IP,同一个MAC工作。因为是per packet方式,所以当数据到达对端可能会产生乱序。为了尽量防止乱序,此模式只允许一样速率的网卡进展绑定。 对应交换机的配置: 从实现原理上看,两条链路所使用的是同一个IP,同一个MAC,那么交换机记录表项时,必须将两个物理口当做一个口来记录,所以需要配置静态的链路聚合〔port channel或port trunk〕来与效劳器配合。 第二种:mode 1 active-backup 标准文档定义: Active-backup policy: Only one slave in the bond is active. A different slave

双网卡增加带宽及负载均衡

实现双网卡增加带宽并且负载均衡 在操作过程中所遇到的问题: 1,网线,两条网线的规格必须是一样的,这个可以在交换机上用show 接口可以查看,假如规格不一样,交换机上show 端口的时候会显示接口on协议dowm; 2,服务器的网卡驱动必须支持这种情况,如果查看网卡驱动显示该网卡驱动没有数字签名的那个驱动,会出现加不成功team的现象;〔就因为这个问题,搞到我第一次加班加到那么晚且没打到卡,满满的都是泪呀〕 3,咱这边用ncu软件做双网卡,〔HP Network Configuration Utility〔以下简称NCU〕网卡绑定工具,用户可以通过该工具很方便的把服务器的多个网卡捆绑到一起以达到容错和增加可用带宽的目的。〕我这边选择的模式是 (交换机已经配好了telnet,密码都是fsmeeting) 启动NCU 更新后可以正常启动NCU不再会有报错信息 启动后可以看到机器带有2个以太网接口

分别点击2个网卡接口可以选中 点击Team 选项可以把2个网口捆绑到一起

点击HP Network Team #1选择Properties,可以看到对于整个网卡组的配置。

点击Team Type Selection通过图中我们可以看到NCU中可以设置7种工作模式 常用的分别为NFT,TLB,SLB三个模式 NFT〔Network Fault Tolerant〕: 这种模式下一个网口处于Active状态,另外一个网口处于Standby状态,可以把2个网线连接到不同的交换机上面达到容错目的。 在NFT之外还有一种是Network Fault Tolerance with Preference Order模式,该模式为NFT的增强版。就是带有优先级的NFT模式,比如服务器分别连接到2台交换机上,一台交换机为千兆,一台交换机为百兆。那么连接千兆交换机的网口为Active 状态,连接百兆交换机的网口为Standby状态。 TLB(Transmit Load Balance with Fault Tolerance):服务器向外发送的数据包根据一定规如此分别从2个网口向外发送,发送带宽为双倍,接收还是默认的一个网卡带宽。并且也带有容错功能。 TLB之外也和NFT一样也有一个增强模式为:TransmitLoad Balance with Fault Tolerance and Preference Order原理同Network Fault Tolerance with Preference Order一样。

Linux双网卡双IP设置

Linux双网卡双IP设置 电信: IP:61.147.67.189 网关:61.147.67.161 网通: IP:122.195.134.157 网关:122.195.134.129 1)添加路由表 修改/etc/iproute2/rt_tables,添加内容: 252 tel 电信路由表 251 cnc 网通路由表 2)如创建一个配置文件/etc/iproute.sh,文件权限要设置成可执行,内容如下#!/bin/sh ip route flush table tel ip route add default via 61.147.67.193 dev eth0 src 61.147.67.200 table tel ip rule add iif ethX table tel ip route flush table cnc ip route add default via 122.195.134.129 dev eth1 src 122.195.134.136 table cnc ip rule add iif ethX table cnc #说明:ethX 代表IP配置的网卡,比如eth0 是电信, 3 /etc/wtiproute.sh #!/bin/sh route add -net 1.24.0.0 netmask 255.248.0.0 gw 122.195.134.129 route add -net 1.56.0.0 netmask 255.248.0.0 gw 122.195.134.129 route add -net 1.188.0.0 netmask 255.252.0.0 gw 122.195.134.129 route add -net 14.204.0.0 netmask 255.254.0.0 gw 122.195.134.129 route add -net 27.8.0.0 netmask 255.248.0.0 gw 122.195.134.129 route add -net 27.36.0.0 netmask 255.252.0.0 gw 122.195.134.129 route add -net 27.40.0.0 netmask 255.248.0.0 gw 122.195.134.129 route add -net 27.50.128.0 netmask 255.255.128.0 gw 122.195.134.129 route add -net 27.54.192.0 netmask 255.255.224.0 gw 122.195.134.129 route add -net 27.98.224.0 netmask 255.255.224.0 gw 122.195.134.129 route add -net 27.106.128.0 netmask 255.255.192.0 gw 122.195.134.129

相关主题
相关文档
最新文档