Eth-trunk(链路聚合)
定义 可以将多条物理链路从逻辑上捆绑成一条逻辑链路 作用
- 实现防环
- 提升链路资源的利用率
- 提升链路带宽
实现
1、手工负载(默认模式) 最多捆绑链路8条,没有活动链路、非活动链路之分,一旦一个接口被绑进eth-trunk,马上进入转发状态;不交互报文
配置
代码语言:javascript复制[S1]interface Eth-Trunk 1 //创建逻辑接口
[S1-Eth-Trunk1]trunkport GigabitEthernet 0/0/3 0/0/4 //捆绑物理接口进逻辑接口,方法1;
interface GigabitEthernet0/0/4
eth-trunk 1 //捆绑物理接口进逻辑接口,方法2;
display eth-trunk 1 //查看eth-trunk的状态
缺陷
不交互报文,无法感知误绑链路,最终可能导致丢包 无法实现主/备
优点
不交互报文,节省链路资源
2、静态lacp 最大捆绑链路11条,最大活动链路8条,交互报文;
工作过程
- 选举lacp主动端; 2.选举活动链路;
lacp主动端
选举规则:越小越优
- 优先级(默认32768)
- mac地址
作用
用于管理eth-trunk组,只需要在主动端进行管理配置,比如调整负载模式
选举活动链路
选举规则:越小越优
- 接口优先级(默认32768)
- 端口号
配置
代码语言:javascript复制interface Eth-Trunk1
mode lacp-static //修改模式
lacp preempt enable //开启活动链路的抢占,默认不开启
max active-linknumber 1 //调节最大活动链路
lacp preempt delay 10 //调节活动链路抢占延时,默认为30s
interface GigabitEthernet0/0/4
eth-trunk 1 //捆绑链路
lacp priority 0 //调整接口优先级
[S1]lacp priority 0 //调整lacp优先级,用于选举lacp主动端;
注意
切换模式前,需要把所有物理链路解除捆绑: 配置:进入物理接口:undo eth-trunk
负载模式
- 逐流负载
(1)基于源目ip实现(默认) (2)基于源目mac (3)基于源ip (4)基于源mac (5)基于目的ip (6)基于目的mac 缺陷:有可能导致链路资源利用率不高; 2、逐包负载 同一流量,部分数据包走1链路、部分数据包走其他链路;. 缺陷:有可能导致数据包接受乱序,接收端需要耗费设备开销来重组;
配置
代码语言:javascript复制[S1-Eth-Trunk1]load-balance src-dst-mac //调整负载模式
广播域:一个广播可以传递的最大范围,默认一个vlan;
vlan(虚拟局域网)
作用:缩减广播域; 原理:将一个局域网(网段),从逻辑上划分成多个虚拟局域网(网段),一个虚拟局域网对应为一个广播域; 标识:数字(范围0~4095,其中0、4095无法使用) 划分:交换机基于接口划分,默认交换机的所有接口均属于vlan 1 不同vlan默认无法进行通信;
创建
- [S2]vlan 30 //单个创建
- [S2]vlan batch 20 30 40 50 //批量创建
- vlan batch 2 to 100 //连续创建
带tag帧
tag中的vlan id用于标识该数据帧来自哪个vlan 交换机内部只能够处理带tag的帧
无tag帧
PC、路由器发出的数据帧默认都是不带tag,并且PC、路由器只可以识别不带tag的数据帧 PVID(接口的vlan id):用于划分vlan,划分vlan的本质就是调整接口的PVID,默认情况下,所有接口的PVID为1
端口类型
- access
应用:一般用于对接终端、路由器; 收发规则: 收: (1)不带tag帧:会根据接口自身的pvid为该数据帧打上一个tag,再进入到交换机内部 数据进入到交换机内部后,根据dmac、tag综合查表,找得到则转发,找不到表项则在同一vlan内泛洪
(2)带tag帧:会判断收到数据帧tag跟本接口的pvid是否一致,一致则接收,不一致不收
发:access发送数据之前把tag剥离后发送;
总结:access只可以允许一个vlan通过,该vlan为接口的pvid;
配置
代码语言:javascript复制interface GigabitEthernet0/0/2
port link-type access //配置接口类型为access
port default vlan 10 //修改PVID
2、trunk 应用:一般用于对接交换机 收发规则: 发: trunk口发送数据帧时,需要先判断数据帧的tag,是否存在于允许通过列表中,存在则发送,不存在则不发;发送之前,还需要检查tag跟pvid是否一致,一致则将tag剥离后发送,不一致则直接发送; 收: (1)带tag帧:检查tag是否在接口的允许通过列表中,在则接收,不在则不收; (2)不带tag帧:根据接口的pvid打上tag,再检查tag是否在接口的允许通过列表中,在则接收,不在则不收;
配置
代码语言:javascript复制interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 //配置允许通过列表
总结:可以允许多个vlan通过,只允许一个vlan不带tag通过;
配置
代码语言:javascript复制port trunk allow-pass vlan 10 //修改接口PVID
Q:为什么trunk口的PVID不能乱改? A:因为有可能导致同一vlan设备无法通信,不同vlan可以通信
3、hybrid(华为专属,华为默认) 实现灵活控制vlan互访,实现vlan间的互访; 应用:既可以对接路由器、PC,也可以对接交换机 收发规则: 收:跟trunk口一样
发:发送数据帧时,需要先判断数据帧的tag,是否存在于允许通过列表中,存在则发送,不存在则不发;发送之前,看接口的处理动作,如果是untagged,则将tag剥离后发送,如果是tagged,则直接发送
配置
代码语言:javascript复制interface GigabitEthernet0/0/3
port hybrid pvid vlan 10 //修改接口的pvid
port hybrid untagged vlan 10 //设置接口的允许通过列表,并且设置发送动作
总结:可以允许多个vlan通过,可以允许多个vlan不带tag通过
mux-vlan
作用:可以实现不同vlan设备间的互访,同vlan设备的隔离 主vlan 从vlan:互通型vlan(可以有多个)、隔离型vlan(只能有一个);
通信规则:
- 主vlan可以跟所有从vlan通信,互通型vlan内的设备可以正常通信,隔离型vlan内的设备无法正常通信
- 从vlan间无法通信
配置
代码语言:javascript复制vlan 100 //进入主vlan
mux-vlan //将vlan 100设为主vlan
subordinate separate 20 //将vlan 20设为隔离型vlan
subordinate group 10 //将vlan 10设为互通型vlan
interface GigabitEthernet0/0/2
port mux-vlan enable //与终端相连的接口开启mux-vlan
端口隔离
作用:可以实现同vlan设备的隔离 原理:将接口划分进隔离组,同组设备无法通信;
配置
代码语言:javascript复制interface GigabitEthernet0/0/3
port-isolate enable group 10
vlan间通信
- trunk口配置不同的pvid
- hybrid口
- mux—vlan
不同vlan、不同网段间的通信(vlan间路由)
解决方案
- 通过三层互通,打破二层隔离
- 双上行链路
配置
【交换机】
代码语言:javascript复制interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 20
【路由器】
代码语言:javascript复制interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 192.168.2.254 255.255.255.0
缺陷:耗费路由器接口,成本高
2、单臂路由 将一个物理接口从逻辑上划分成多个子接口,让不同的子接口作为不同vlan的网关
配置
【交换机】
代码语言:javascript复制interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
【路由器】
代码语言:javascript复制interface GigabitEthernet0/0/0.1
dot1q termination vid 10 //使该子接口可以接收带tag 10的帧,并且发送数据时可以打上tag10
ip address 192.168.1.254 255.255.255.0
arp broadcast enable //开启ARP,子接口默认不开启ARP
#
interface GigabitEthernet0/0/0.2
dot1q termination vid 20
ip address 192.168.2.254 255.255.255.0
arp broadcast enable
缺陷
配置麻烦 物理接口负担大
三层交换机
- 创建vlanif接口(虚拟的三层接口),一个vlanif接口跟接口下的vlan对应
- 当交换机配置了vlanif,相当于一台路由器
配置
代码语言:javascript复制interface Vlanif10
ip address 192.168.1.254 255.255.255.0
#
interface Vlanif20
ip address 192.168.2.254 255.255.255.0
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20