链路捆绑/链路聚合/链路汇聚/ Etherchannel/以太网通道 -定义 将多个类似的链路,捆绑在一起,将其看作是一个端口来配置与使用 从而增加设备之间的互联带宽,以实现降低数据转发延迟和丢包率等 问题。 -背景 随着网络规模的发展,有可能我们在两个设备之间传输的数据量越来越大, 所以,就需要增加设备之间的互联带宽,否则就会出现数据转发延迟或者 丢包的情况。但是通过购买端口模块、板卡或者是更换硬件的方式会带来 很大的成本开销。 所以,我们通过“链路捆绑” 技术,将设备之间的多个物理链路,捆绑在一 起,将其当做一个端口来使用,从而就可以实现“增加设备互联带宽”的目的
-优点/好处 1、增加了设备之间的互联带宽(减少数据延迟、降低丢包率) 2、增加了设备之间的互联稳定性 - 链路备份 3、增加了设备之间的数据承载力 - 链路负载均衡 -类型 基于配置方式 静态 动态 -PAgP:port aggregate protocol,端口聚合协议,思科私有协议; auto:自动,表示被动,即只能被动的接收对方发送来的 PAGP报文; 不能主动的发送 PAGP 报文; desirable:动态期望,表示主动,即可以主动的发送和接收对方设备 的 PAGP 报文; -LACP: link aggregate control protocol,链路聚合控制协议;公有标准协议; passive:被动,表示的是只能被动的接收对方发送来的 LACP 报文; 不能主动的发送; active:活动,表示主动,即可以主动的发送和接收对方设备的 LACP报文
基于成员类型
2层链路捆绑
所有成员链路都是2层链路,捆绑之后的虚拟链路,还是2层的
3层链路捆绑
所有成员链路都是3层链路,捆绑之后的虚拟链路,还是3层的
-配置思路【思科】 1、确定相似的端口/链路 -速率相同(speed) 10Mbps 100Mbps 1Gbps 10Gbps -双工相同(duplex) 全双工 半双工 -功能相似(建议:每个成员端口都恢复为默认配置)
2、加入到指定的 etherchannel
-静态(两端设备都要进行如下操作)
interface fas0/1 --> 进入成员端口
channel-group 1 mode on --> 静态加入 group 1 ;
interface fas0/2 --> 进入成员端口
channel-group 1 mode on -->同样加入 group 1;
-动态
interface fas0/1 -->进入指定的成员端口
channel-protocol pagp / lacp
channel-group 1 mode auto / passive
desirable / active
interface fas0/2 -->进入指定的成员端口
channel-protocol pagp / lacp
channel-group 1 mode auto / passive
desirable / active
注意:
1、动态建立 channel 时,必须都是动态模式,不能有静态模式;
2、动态建立 channel 时,必须不能都是“被动";
3、动态建立 channel 时,两边使用的协议,必须相同;
3、为创建好的 etherchannel 虚拟端口进行功能性配置(access/trunk/ip-address等)
show ip interface brief
---- 在最后,可以看到多了一个port-channel 1 ;
这个虚拟的口,就是捆绑之后的虚拟端口;
interface port-channel 1 --->将捆绑之后的虚拟端口配置为 trunk。
switchport mode trunk
4、验证与测试
show etherchannel summary
---- 可以查看到 channel的成员端口以及状态
show interface trunk
---- 查看此时的 port-channel 1 是trunk,
而不是2个独立的物理端口。
删除 etherchannel : 1、在每个成员端口下,删除与 etherchannel 相关的命令; 2、删除之前虚拟出来的 prot-channel x ,比如 port-channel 1, no interface port-channel 1 ;
链路捆绑 - 华为
在思科中,我们将链路捆绑称之为 etherchannel,
在华为中,我们将链路捆绑称之为 eth-trunk 。称呼有所不同!
本质是相同的。
配置思路【华为】 1、选择相似的端口 -速率相同 -双工相同 -建议在使用这些端口之前,将端口恢复默认配置 clear configuration interface gi0/0/1 //表示将端口恢复初始化配置,但是端口的状态 会进入到 shutdown 状态,下次使用必须首先 进行 undo shutdown 。 2、创建虚拟端口 - eth-trunk [SW1]interface eth-trunk 10 // 在SW1上,首先创建一个 eth-trunk 10 ; 这个虚拟端口,相当于思科上面的 port-channel; 3、将端口加入到指定的 eth-trunk 两种加入方法: -将成员端口拉入到 eth-trunk 中 [SW1]interface eth-truk 10 [SW1-ethtrunk10]trunkport gi0/0/1 -->将 gi0/0/1拉入到 eth-truk 10 中; -在成员端口中,主动加入到 eth-truk 中 [SW1]interface gi0/0/1 --->首先登录到成员端口中 [SW1-gi0/0/1] eth-truk 10 -->该端口主动加入到了 eth-truk 10 中 4、为捆绑之后的虚拟端口 eth-truk 进行功能性配置 [SW1]interface eth-truk 10 -->将 eth-trunk 10 配置为 trunk; [SW1-ethtrunk10]port link-type trunk [SW1-ethtrunk10]port trunk allow-pass vlan all 5、验证与测试 [SW1]display eth-truk //查看 eth-truk 成员信息; [SW1]display trunkmembership eth-trunk 10 // 查看 eth-trunk 成员信息;
-------------- 动态建立 Eth-trunk(华为) ---------------
动态协议(华为仅仅支持这一个) -LACP: link aggregate control protocol,链路聚合控制协议; 公有标准协议; -模式: passive:被动,表示的是只能被动的接收对方发送来的 LACP 报文; 不能主动的发送; active:活动,表示主动,即可以主动的发送和接收对方设备 的 LACP报文
-配置 1、选择相似的端口 2、创建虚拟端口 - eth-trunk 3、指定虚拟端口使用的协议为 LACP interface eth-truk 10 mode lacp-static 4、将端口加入到指定的 eth-trunk 中,并指定模式 5、为虚拟端口进行功能性配置 6、验证与测试 display eth-trunk
在华为设备,批量配置端口 port-group group-member gi0/0/1 to gi0/0/3 ->同时进入 gi0/0/1 , gi0/0/2 , gi0/0/3 端口;
在链路上使用LACP协议的时候,基于平台和使用的软件有关系,
有些端口是无法明确的指定端口 Active 或 passive 状态, 那么此时,每个参与 LACP 协议中的端口,默认都是 active 状态。 主从关系。从设备对成员链路的选择,完全是跟随主设备的决定的; 主从关系的确定,是通过比较 LACP 交换机上的以下信息: 系统优先级和系统ID 系统优先级默认是 32768 ,取值范围是 0 --- 65535 系统ID是 MAC 地址的形式,其实是 eth-trunk(20) 端口的 MAC 地址。 比较原则是: #首先比较优先级,越小越好; #如果相同,则比较 MAC地址,越小越好。 当设备之间的成员链路数据量多余"活动链路数量"时,那"主设备"会 在所有的成员链路中,选择“比较好”的成员链路,作为活动链路使用。 选择原则是: #首先比较每个端口的优先级,默认是 32768,值越小越好; #如果端口优先级相同,则比较端口的 PortNo 参数;值越小越好; 配置命令如下: -修改交换机的额 LACP 优先级 [SW1]lacp priority 0 --> -修改端口的 LACP 优先级 [SW1]interface gi0/0/1 [SW1-gi0/0/1] lacp priority 40000 -启用 Eth-trunk 上的“抢占功能" (建议都开启) [SW1]interface eth-trunk 20 [SW1-eth-trunk] lacp preempt enable --> 开启;默认是关闭的; [SW1-eth-trunk] lacp preempt delay 10 --> 默认是30s
验证命令: display eth-trunk display trunkmembership eth-trunk 20