Bonding是一种技术,它允许将多个类似以太网的接口聚合到一个虚拟链路中,从而获得更高的数据速率并提供故障转移。
接口绑定不会创建链路速率更大的接口。接口绑定可以创建一个虚拟接口,对多个接口的流量进行负载分担。详情请参阅LAG接口和负载均衡页面。
CRS3xx、CRS5xx系列交换机和CCR2116、CCR2216路由器通过绑定接口支持桥接硬件卸载。雷竞技官网网站下载只有802.3广告
而且balance-xor
绑定模式是硬件卸载,其他绑定模式将使雷竞技官网网站下载用CPU的资源。T内置交换芯片将始终使用Layer2+Layer3+Layer4作为传输哈希策略,手动更改传输哈希策略将不起作用。详情请参阅CRS3xx、CRS5xx、CCR2116、CCR2216开关芯片功能.
假设每个路由器(Router1和Router2)上都有两个以太网接口,并希望获得这两个路由器之间的最大数据速率。要做到这一点,请遵循以下步骤:
在Router1上增加绑定接口和IP地址:
/接口绑定add slave =ether1,ether2 name=bond1 /ip地址add address=172.16.0.1/24 interface=bond1
在Router2上做同样的事情:
/接口绑定add slave =ether1,ether2 name=bond1 /ip地址add address=172.16.0.2/24 interface=bond1
测试来自Router1的链路:
[admin@Router1] > ping 172.16.0.2 SEQ HOST SIZE TTL TIME STATUS 0 172.16.0.2 56 64 0ms 1 172.16.0.2 56 64 0ms 2 172.16.0.2 56 64 0ms sent=3 received=3 packet-loss=0% min-rtt=0ms avg-rtt=0ms max-rtt=0ms
绑定接口需要几秒钟来获得与其对等点的连接。
启用其中一个可用的链路监视选项非常重要。在上面的例子中,如果其中一个绑定链路发生故障,绑定驱动程序仍将继续在故障链路上发送数据包,这将导致网络退化。RouterOS的Bol雷竞技nding功能目前支持MII和ARP两种监控从机链路状态的方案。由于绑定驱动程序中的限制,不可能同时使用这两种方法。
ARP监控发送ARP查询,并使用响应作为链路正常运行的指示。ARP应答不被验证,从接口收到的任何报文都将被认为是激活的。这保证了流量实际上是在链路上流动的。如果配置了“balance-rr”和“balance-xor”模式,则交换机应该配置为在所有链路上均匀分配报文。否则,来自ARP目标的所有应答都将在同一链路上收到,这可能导致其他链路故障。通过设置三个属性使能ARP监控功能link-monitoring,arp-ip-targets而且arp-interval。本文后面将描述每个选项的含义。在高可用性设置中可以指定多个有用的ARP目标。如果只设置了一个目标,目标本身可能会下降。使用额外的目标可以提高ARP监视的可靠性。
启用Router1的ARP监控功能。
. /interface bonding set [find name=bond1] link-monitoring=arp arp-ip-targets=172.16.0.2
和Router2:
/interface bonding set [find name=bond1] link-monitoring=arp arp-ip-targets=172.16.0.1
我们不会改变的arp-interval值在我们的例子中,RouterOS setsl雷竞技arp-interval默认为100ms。拔下一根电缆来测试链路监控是否正常工作,您可能会注意到一些ping超时,直到arp监控检测到链路故障。
[admin@雷竞技网站MikroTik] > ping 172.16.0.2 SEQ HOST SIZE TTL TIME STATUS 0 172.16.0.2 56 64 0ms 1 172.16.0.2 56 64 0ms 2 172.16.0.2 56 64 0ms 3 172.16.0.2 56 64 0ms 4 172.16.0.2 timeout 5 172.16.0.2 56 64 0ms 6 172.16.0.2 56 64 0ms sent=7 received=6 packet-loss=14% min-rtt=0ms avg-rtt=0ms max-rtt=0ms
为了使ARP监控正常工作,设备上不需要任何IP地址,无论在任何接口上设置了什么IP地址,ARP监控都将正常工作。
当使用ARP监控功能时,即使在同一个子网的VLAN接口上设置了IP地址,bonding slave也会发送不带VLAN tag的ARP请求arp-ip-targets
MII监控只监控本端接口的状态。MII类型1—设备驱动程序决定链路是up还是down。如果设备驱动程序不支持这个选项,那么链接将一如既往地显示。主要的缺点是,MII监控无法判断链路是否可以实际通过数据包,即使链路被检测到处于正常状态。MII监控通过设置变量-进行配置link-monitoring和mii-interval。
启用Router1和Router2的MII Type1监控。
. /interface bonding set [find name=bond1] link-monitoring=mii
我们会离开mii-interval到其默认值(100ms)。当拔下其中一条电缆时,与ARP链路监控相比,故障几乎可以立即检测到。
802.3ad模式是IEEE标准,也称为链路聚合控制协议(LACP)。它包括聚合的自动配置,因此需要交换机的最小配置。该标准还要求帧将按顺序交付,并且连接不应该看到包的错误顺序。该标准还要求集合中的所有设备必须以相同的速度和双工模式运行。
LACP基于散列协议头信息平衡活动端口的传出流量,并接受来自任何活动端口的传入流量。该散列包括以太网源地址和目的地址,如果可用,还包括VLAN标签,以及IPv4/IPv6源地址和目的地址。这是怎么计算的取决于transmit-hash-policy参数。由于LACP对端设备的哈希策略,ARP应答可能只到达一个从口,因此不建议进行ARP链路监控。这可能导致传输流量不平衡,因此建议使用MII链路监控。
的layer-3-and-4传输哈希模式与LACP不完全兼容。详情见https://www.kernel.org/doc/Documentation/networking/bonding.txt
该模式基于散列协议头信息平衡活动端口的传出流量,并接受来自任何活动端口的传入流量。模式非常相似LACP除了它不是标准化的,并且与layer-3-and-4哈希的政策。该模式可与静态的LAG (Link Aggregation Group)接口配合使用。
如果设置该模式,报文将按照从第一个可用slave到最后一个可用slave的顺序传输。balance-rr是跨属于同一个TCP/IP连接的多个接口发送数据包的唯一模式。当使用多个发送和多个接收链路时,数据包通常会被乱序接收,从而导致段重传,对于其他协议(如UDP),如果客户端软件能够容忍乱序数据包,这就不是问题。雷电竞app下载官方版苹果如果使用交换机聚合链路,则需要适当的交换机端口配置,但许多交换机不支持balance-rr。快速安装指南演示“balance-rr”绑定模式的使用。如您所见,它的设置非常简单。Balance-rr对于绑定多个无线链路也很有用,但是,它要求所有绑定链路的带宽相等。如果一个绑定链路的带宽下降,则绑定链路的总带宽将等于最慢的绑定链路的带宽。
这种模式只使用一个活动slave来传输报文。只有当主从服务器失败时,附加从服务器才会激活。绑定接口的MAC地址显示在活动端口上,以避免交换机混淆。Active-backup是具有多个互连交换机的高可用性设置中的最佳选择。
如果两台路由器是直连的,这种模式下的ARP监控将无法正常工作。在这样的设置中,信息产业部必须使用监控或在路由器之间放置交换机。
当端口配置为广播模式时,所有从端口向目的端发送相同的报文,以提供容错功能。该模式不支持负载均衡。
该模式通过对等体对出方向的流量进行均衡。每条链路可以是不同的速度和双工模式,不需要像其他模式那样进行特定的交换机配置。缺点是只支持MII链路监控(配置时忽略ARP链路监控),入方向流量不均衡。传入流量将使用配置为“主”的链路。
让我们假设路由器有两个链路-ether1最大带宽为10Mbps和ether2最大带宽为5Mbps。第一个链路有更多的带宽,所以我们将它设置为主链路:
/接口绑定添加模式=balance-tlb slaves=ether1,ether2 primary=ether1
交换机无需额外配置。上图说明了如何做到这一点balance-tlb模式工作。正如你所看到的,路由器可以用两条链路的总带宽(15Mbps)与连接到交换机的所有客户端通信。但是正如您已经知道的,balance-tlb并没有平衡传入的流量。在我们的例子中,客户端可以用主链路的总带宽(在我们的配置中是10Mbps)与路由器通信。
该模式与balance-tlb模式基本相同,但同样对IPv4入流量进行均衡。接收负载均衡是通过ARP协商实现的。绑定驱动程序在发送时拦截本地生成的ARP消息,并使用绑定中一个slave的唯一地址覆盖源硬件地址,以便不同的对等体使用不同的硬件地址。雷竞技官网网站下载只支持MII链路监控(配置时忽略ARP链路监控),这种模式的另一个缺点是它需要设备驱动程序的能力来更改MAC地址。模式不兼容local-proxy-arp设置。
上图说明了如何做到这一点balance-alb模式工作。相比balance-tlb模式下,来自客户端的流量也可以使用辅助链路与路由器通信。
从Routel雷竞技rOS 6.48版本开始,可以对绑定接口和绑定端口进行监控。为802.3广告
绑定模式,可提供更详细的监控选项。
/interface bonding monitor [find] mode: 802.3ad active-backup active-ports: ether4 ether6 ether5 inactive-ports: ether7 lacp-system-id: CC:2D:E0:11:22:33 lacp-system-priority: 65535 lacp-partner-system-id: B8:69:F4:44:55:66
财产 | 描述 |
---|---|
模式(802.3ad | active-backup | balance-alb | balance-rr | balance-tlb | balance-xor | broadcast) | 使用的绑定模式 |
活动端口(接口) | 显示激活的绑定端口 |
inactive-ports(接口) | 显示未激活的绑定端口(例如禁用或备份接口) |
lacp-system-id(MAC地址) | 显示本地LACP系统ID |
lacp-system-priority(整数) | 显示本地LACP优先级 |
lacp-partner-system-id(MAC地址) | 显示合作伙伴LACP系统ID |
要监视单个绑定端口,请使用monitor-slaves
命令。
/interface bonding monitor-slaves bond1 Flags: A- active, P - partner AP port=ether4 key=17 Flags ="A- gscd——" partner-sys-id=D4:CA:6D:12:06:65 partner-sys-priority=65535 partner-key=9 partner- Flags ="A- gscd——" partner-sys-id=D4:CA:6D:12:06:65 partner-sys-priority=65535 partner-key=9 partner- Flags ="A- gscd——"
财产 | 描述 |
---|---|
港口(接口) | 使用的绑定端口 |
关键(整数) | 显示本地LACP聚合键。低6位自动分配基于个别端口链路速度和双工。属性可以手动指定上面的10位lacp-user-key 设置(仅在RouterOS v7.3之后可用)。l雷竞技 |
旗帜(字符串) | 显示本地LACP标志: A -活动(链接是主动的,否则是被动的) |
partner-sys-id(MAC地址) | 显示合作伙伴LACP系统ID |
partner-sys-priority(整数) | 显示合作伙伴LACP优先级 |
partner-key(整数) | 显示合作伙伴LACP聚合键 |
partner-flags(字符串) | 显示合作伙伴LACP标志 |
介绍绑定的相关设置。
财产 | 描述 |
---|---|
arp(Disabled |使能| proxy-arp | reply-only;默认值:启用) | 地址解析接口的协议。
|
arp-interval(时间;默认值:00:00:00.100) | 以毫秒为单位的时间定义了监视ARP请求的频率 |
arp-ip-targets(IP地址;默认值:) | IP被监控的目标地址link-monitoring设置为arp。可以指定多个IP地址,IP地址之间用逗号分隔 |
评论(字符串;默认值:) | 接口的简短描述 |
禁用(是|不是;默认值:没有) | 更改是否禁用绑定接口 |
down-delay(时间;默认值:00:00:00) | 如果检测到链路故障,则禁用绑定接口一个down-delay时间。该值应该是的倍数mii-interval,否则,它将向下舍入到最接近的值。此属性仅在以下情况下有效link-monitoring 设置为信息产业部 . |
forced-mac-address(MAC地址;默认值:没有一个) | 缺省情况下,绑定接口使用第一个选择的从接口的MAC地址。此属性允许为绑定接口配置静态MAC地址(所有零,广播或组播地址将不适用)。l雷竞技RouterOS会自动更改从接口的MAC地址,并且在/以太网接口 配置导出 |
lacp-rate(1秒| 30秒;默认值:30秒) | 链路聚合控制协议速率指定绑定对等体之间交换lacpdu报文的频率。用于确定链路是否正常或网络中是否发生了其他变化。LACP试图通过提供故障转移来适应这些更改。 |
lacp-user-key(整数:0 . . 1023;默认值:0) | 指定端口密钥的前10位。低6位自动分配基于个别端口链路速度和双工。该设置仅在RouterOS v7.3之后可用。l雷竞技 |
link-monitoring(Arp | mii |无;默认值:信息产业部) | 用于监视链路(是up还是down)的方法。
|
min-links(整数:0 . . 1 - 4294967295;默认值:0) | 需要多少个活跃的从链接才能使绑定变得活跃 |
mii-interval(时间;默认值:00:00:00.100) | 多长时间监控一次链路故障(该参数仅用于iflink-monitoring信息产业部) |
mlag-id(整数:0 . . 1 - 4294967295;默认值:) | 修改绑定接口的MLAG ID。如果要成功创建一个MLAG,两端设备上必须使用相同的MLAG ID。详情请参阅MLAG. |
模式(802.3ad | active-backup | balance-alb | balance-rr | balance-tlb | balance-xor | broadcast;默认值:balance-rr) | 指定一条绑定策略
|
mtu(整数;默认值:1500) | 最大传输单位(字节)。必须小于或等于绑定从的最小L2MTU值。绑定接口的L2MTU由从接口中最小的L2MTU值决定 |
名字(字符串;默认值:) | 绑定接口名称 |
主要的(字符串;默认值:没有一个) | 控制active从端口之间的主接口,仅在active-backup、balance-tlb和balance-alb模式下有效。对于active-backup模式,它控制哪个运行接口应该发送和接收流量。在“balance-tlb”模式下,它控制由哪个运行接口接收所有流量;在“balance-alb”模式下,它控制由哪个运行接口接收非均衡流量(即非ipv4流量)。当没有一个接口被选择为主接口时,设备将自动选择配置为首选接口的接口。 |
奴隶(字符串;默认值:没有一个) | 至少两个类似以太网的接口,用逗号分隔,用于绑定 |
up-delay(时间;默认值:00:00:00) | 如果链路已经启动,绑定接口将被禁用up-delay时间,并在此时间之后启用它。该值应该是的倍数mii-interval,否则,它将舍入到最接近的值。此属性仅在以下情况下有效link-monitoring 设置为信息产业部 . |
transmit-hash-policy(二层|二层3 |三层4;默认值:层2) | 在balance-xor和802.3ad模式中选择用于从选的传输散列策略
|