链路聚合,bond相关知识学习

本文简要摘取以下连接的部分内容,更多详细可以查看以下链接。
1.链路聚合
https://www.cnblogs.com/641055499-mozai/p/11662401.html
https://blog.csdn.net/qq_42248536/article/details/89294301
2.bond
https://www.cnblogs.com/dkblog/p/3613407.html
https://www.cnblogs.com/yanling-coder/p/11867123.html
https://zhuanlan.zhihu.com/p/115163338
3.vlan
https://blog.csdn.net/qq_42248536/article/details/96334232
https://blog.csdn.net/imliuqun123/article/details/79664248

背景

在企业网络中,所有设备的流量在转发到其他网络前都会汇聚到核心层,再由核心区设备转发到其他网络,或者转发到外网。因此,在核心层设备负责数据的高速交换时,容易发生拥塞。
采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,来达到增加链路带宽的目的。

链路聚合简介

聚合链路也被称为Eth-Trunk链路,聚合端口也被称为Eth-Trunk端口。
聚合后得到的逻辑链路/端口称为聚合链路/端口,把其中的每一条物理链路/端口称为成员链路/端口。

1.手动负载均衡模式

在此模式下,Eth-Trunk的建立,成员接口的加入由手工配置。该模式下的所有活动链路都参与数据的转发,平均分担流量。如果某条活动链路出现故障,则自动在剩余的活动链路中平均分担流量。适用于两直连设备之间,既需要大量的带宽,也不支持LACP协议时。可以基于MAC地址与IP地址进行负载均衡。此时所有链路都始终参与流量传输。

2.LACP(链路聚合控制协议)模式

在此模式下,Eth-Trunk的建立,成员接口的加入由手工配置。链路两端的设备会相互发送LACP报文,协商聚合参数,从而选举出活动链路和非活动链路。
  活动成员链路(M):用于在负载均衡模式中的数据转发。
  非活动成员链路(N):用于冗余备份。如果一条活动成员链路出现故障,非活动成员链路中优先级最高的将代替出现故障的活动链路。状态由非活动链路变为活动链路。
  在此会有一些链路充当备份链路,并不始终参与流量传输。

VLAN简介

虚拟局域网(Virtual Local Area Network,VLAN)指突破了设备或用户的物理位置的限制,将局域网设备从逻辑上划分成新的分组区段,每一个区段都可看作一个新的局域网,它们各自形成一个小的广播域。这样避免了发生广播风暴对全网产生影响,从而造成传输速率和传输质量的下降情况,在交换机中被广泛使用。

1.两种情况:

1.局域网规模太大以至广播域太大,使用VLAN可以把一个大的广播域划分成若干个小的广播域,把广播报文限制在一个VLAN内,以减小广播报文对整个网络带宽的占用。
2.局域网中存在各种不同安全要求的群体,使用VLAN可以将其相互隔离。

2.四种方式:
1.基于端口的划分:

此划分方法利用网络设备的端口来决定虚拟工作组的成员, 网络管理员针对于网络设备的交换端口进行重新分配,然后将其组合在不同的逻辑网段中。基于端口的VLAN的划分是最简单、最常用也是最有效的VLAN划分方法,特别适用于连接位置比较固定的用户。
以太网交换机的端口链路类型可以分为Access、Trunk、 Hybrid三种,不同的端链路口在加入VLAN和对报文进行转发时会进行不同的处理。
1.Access类型:端口只能属于1个VLAN,一般用于交换机与终端用户之间的连接。
2.Trunk类型:端口可以属于多个VLAN,可以接收和发送多个VLAN 的报文,一般用于交换机之间的连接。
3.Hybrid类型: 端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接终端用户的计算机。

2、基于MAC地址的划分

这种划分方法的优点就是只要主机的网卡不更换,即使用户的物理位置发生改变也不需要重新配置其所属的VLAN。

3、基于协议的划分

通过配置基于协议的VLAN,交换机可以对端口上收到的报文进行分析,根据不同的封装格式及特殊字段的数值将 报文与用户设定的协议模板相匹配,为匹配成功的报文添加相应的VLAN 标识,实现动态将属于指定协议的数据划分到特定的VLAN中传输。

4、基于IP组播的划分

基于IP组播划分VLAN认为一个IP组播组就是一个VLAN。 这种划分的方法将VLAN扩大到了广域网。这种方法更灵活, 很容易通过路由器进行扩展,主要是用来跨广域网划分 VLAN,但这种方法在局域网中使用的话效率太低。

跨VLAN交流

跨交换机的VLAN之间数据要进行转发,就必须得在交换机间建立起主干链路,交换机在链路上识别出帧的VLAN成员关系。交换机链路主要作用就是判断数据帧是属于哪个VLAN,并将其正确的转发到 对应的VLAN或者相应的交换机的端口中。
三层交换是在网络交换机中引入路由模块而取代 传统路由器实现交换与路由相结合的网络技术。可以根据实际应用时的情况,灵活地在网络第二层或者第三 层进行网络分段。
单臂路由实现:https://www.cnblogs.com/yyd-sun/p/11923807.html

bond简介

bong可以将多个网卡绑定到一起,可以让两个或多个接口作为一个接口,同时提高带宽,并提供网络链路的冗余,当有其中一块网卡故障的时候,不会中断服务器的业务。

bond模式
1.mod=0 (balance-rr) Round-robin policy

特点:依次传输数据包(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力。其中服务器所绑定的网卡被修改成相同的MAC地址。
缺点:一个连接或者会话的数据包从不同的接口发出并经过不同的链路,在客户端很有可能会出现数据包无序到达的问题。而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。

2.mod=1 (active-backup) Active-backup policy

特点:双网卡时为主(master)从(slave)状态设置,始终只有一个设备处于活动状态,当主设备失效后另一个马上由备份转换为主设备。mac地址外部可见,所以从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。因此交换机对应的两个端口建议配置在同一个VLAN。
缺点:资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。

3.mod=2 (balance-xor) XOR policy

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

4.mod=3 broadcast

特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。采用两台交换机对接且配置在不同VLAN,服务器的多网卡对于同一份报文会复制两份分别从两个端口传输。建议使用两台交换机,且配置不同VLAN与之对接。

5.mod=4 (802.3ad) IEEE 802.3ad Dynamic link aggregation

特点:创建一个聚合组,它们共享同样的速率和双工设定。需要配置LACP模式,根据802.3ad规范将多个slave工作在同一个激活的聚合体下。外出流量的slave基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。
缺点:不是所有的传输策略都是802.3ad适应的,不同的实现可能会有不同的适应性。
必要条件:
条件1:ethtool支持获取每个slave的速率和双工设定
条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式

6.mod=5 (balance-tlb) Adaptive transmit load balancing

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

7.mod=6 (balance-alb) Adaptive load balancing

特点:包含了mod5模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何switch(交换机)的支持。
1.接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。
2.来自服务器端的接收流量也会被均衡。当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来。当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。
3.每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后会导致接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新 (ARP应答)来解决,应答中包含他们唯一的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新激活时,接收流量也要重新分布。接收的负载被顺序地分布在bond中最高速的slave上;当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个client发起ARP应答。
updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答不会被switch(交换机)阻截。
必要条件:
条件1:ethtool支持获取每个slave的速率;
条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个curr_active_slave使用bond的硬件地址,并保证每个bond 中的slave都有一个唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址将会被新选出来的 curr_active_slave接管。

mod=6与mod=0的区别:mod=6先把eth0流量占满,再占eth1,….ethX;而mod=0多个口的流量都很稳定,基本一样的带宽。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值