多层交换及路由场景的数据切换
SW2
二层配置
vlan
vlan batch 10 20
access
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
trunk
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
SW1配置
二层
valn
vlan batch 10 20 30
trunk
interface GigabitEthernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
access
interface GigabitEthernet0/0/1
port link-type access
port default vlan 30
三层
vlanif 接口 作为PC1和PC2的网关
interface Vlanif10
ip address 192.168.10.254 24
interface Vlanif20
ip address 192.168.20.254 24
interface Vlanif30
ip address 12.1.1.10 24
配置去PC3上的静态路由
SW1
三层交换机上的出接口是vlanif 不是 G0/0/0之类的
ip route-static 192.168.30.0 24 Vlanif30 12.1.1.1
AR1配置
interface GigabitEthernet0/0/0
ip address 12.1.1.1 24
interface GigabitEthernet0/0/1
ip address 192.168.30.254 24
配置回PC1和PC2上的静态路由
ip route-static 192.168.10.0 24 GigabitEthernet0/0/0 12.1.1.10
ip route-static 192.168.20.0 24 GigabitEthernet0/0/0 12.1.1.10
三层交换下的 同网段 和 跨网段 的数据转发 及设备查表过程
同网段数据转发
测试方法:PC1 —>ping PC2 192.168.10.2
- PC1 封装一个 ICMP数据
2. PC1触发ARP请求, 请求192.168.10.2对应的MAC地址.
3.PC1-1 回复ARP请求
4.PC1 能够顺利封装 去往 PC1-1的 icmp数据
5.交换机收到数据帧,学习源MAC地址, 查看目标MAC地址和MAC地址表,目标MAC是XX,将XX从它所对应的接口转发出去
跨网段数据转发
- PC1 封装一个 ICMP数据
- PC1 触发ARP请求,请求网关 192.168.10.254的MAC地址
3. 交换机SW2收到ARP请求
- SW2解封装数据链路层,
- 学习源MAC地址 :
75-9E--- E0/0/1
- 学习源MAC地址 :
b.交换机查看目标MAC地址为FFFF
,
于是将 ARP请求报文从 E0/0/2 转发给PC1-1
PC1-1 接收ARP请求,查看ARP请求内容:将 192.168.10.1 和 75-9E 写到自己的ARP缓存表
将 ARP请求报文从G0/0/1发出, ARP报文携带一个 vlan-id=10的tag, 被SW1的G0/0/1接口接收到,SW1解封装该ARP请求报文的数据链路层:
a. 学习源MAC地址,丰富到 vlan 10的MAC地址表
b.查看目标MAC地址为全FF,如果该交换机还存在vlan10的 其他access接口或允许vlan10通过的Trunk接口,则会从这些接口转发出去. 但该实验不存在,则不需要考虑
SW1 读取ARP请求报文:
- 将
192.168.10.1 --- 75-9E
这一对应关系 写入自己的ARP缓存表. - 对这一ARP请求做出回复
4.网关回复ARP请求
ARP 回复报文内容如下:
- SW2接收 ARP回复报文:
SW2接收到ARP回复包,解封装数据链路层,学习源MAC地址, 将网关的MAC地址和接口G0/0/1的对应关系丰富到 vlan10的 MAC地址表中
交换机SW2查看目标MAC地址为 75-9E,查MAC地址表, 从ETH0/0/1接口转发出去,发送给PC1.
- PC1接收到该ARP回复报文,解封装数据链路层,查看源MAC地址和自己相同,说明该数据帧是发给自己的,然后继续解封装ARP内容,将网关IP地址 192.168.10.254 和 7F-29的对应关系,丰富到自己的ARP缓存表
此时, PC1 可以完成封装目标IP地址为 192.168.30.1
的 ICMP请求数据帧并发出,被SW2的E0/0/1接收.
- SW2接收从PC1发出的ICMP数据帧,解封装数据链路层,学习源MAC地址,
查看目标MAC地址为7F-29,将数据从G0/0/1发出,并标记vlan10的tag.
- SW1接收数据帧,解封装数据链路层,学习源MAC地址,
根据目标MAC地址 7F-29, 将数据发送给 vlanif 10. vlanif10 接收解封装掉数据链层的数据包,查看目的IP地址为192.168.30.1, 查看路由表,找到转发接口即 vlanif12
于是SW1将数据包丢给 vlanif 12
- vlanif 12接口要封装数据包的数据链路层,会以自己的MAC地址为源MAC地址,以下一跳 12.1.1.1 的MAC地址为目标MAC地址.此时要封装目标MAC地址,查询ARP缓存表.
发现ARP缓存表中没有 12.1.1.1 的MAC地址,此时会向 12.1.1.1 发送ARP请求
- R1的G0/0/0接口接收该ARP请求报文,将 12.1.1.10 和 7F-29的对应关系丰富到自己的ARP缓存表:
- R1向 12.1.1.10 做出ARP回复,报文内容如下:
- SW1接收来自R1的ARP报文,解封装数据链路层,学习源MAC地址 45-6C和G0/0/2接口的对应关系,填写到vlan12的MAC地址表中
13.此时,vlanif12 查询MAC地址表中有了12.1.1.1
的MAC地址
可以完整封装 ICMP的请求报文,根据目标MAC地址为45-6C,查询MAC地址表,并从vlan12下的G0/0/2发出了
14. AR1接收该ICMP请求报文,
解封装数据链路层,查看目标MAC地址,45-6C是自己的,则继续解封装网络层,查看目标IP地址为192.168.30.0,查看路由表,目标网段为自己的G0/0/1接口所在网段,走直连路由:
- AR1从G0/0/1接口封装ICMP数据帧
16. AR1的G0/0/1接口触发ARP请求,请求PC3的MAC地址,ARP报文内容如下:
17. PC3就收该ARP请求, 解封装数据链路层,目标MAC地址为全FF,则继续解封装到ARP数据部分,读取sender ip和sender MAC的对应关系,填写到自己的ARP缓存表:
18. PC3对该ARP请求做出回应:
19.AR1的G0/0/1接口接收该ARP报文,读取ARP报文数据,丰富到自己的ARP缓存表:
20. 此时,AR1的G0/0/1接口可以完成 icmp request请求报文的封装,并发送至PC3
21. PC3接收该ICMP请求报文,查看目标MAC地址为自己的 MAC地址,则继续解封装网络层,目标IP地址也是自己的IP地址,继续解封装ICMP数据部分并做出ICMP回应…
网关冗余
技术背景
单网关缺陷
缺省网关地址 即 默认网关地址
VRRP概述
VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个 虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。
VRRP协议报文:
只有一种报文:Advertisement报文;其目的IP地址是 224.0.0.18(VRRP的组播地址),目的MAC地址是01-00-5e-00-00-12,协议号是112。
VRRP结构
虚拟路由器(Virtual Router):又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。如RouterA和RouterB共同组成了一个虚拟路由器。
Master路由器(Virtual Router Master):承担转发报文任务的VRRP设备,如RouterA。
Backup路由器(Virtual Router Backup):一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备,如RouterB。
Priority:设备在备份组中的优先级,取值范围是0~255。0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时;255则保留给IP地址拥有者,无法手工配置;设备缺省优先级值是100。
vrid:虚拟路由器的标识,如图中RouterA和RouterB组成的虚拟路由器的vrid为1,需手工指定,范围1-255。
虚拟IP地址(Virtual IP Address):虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。如RouterA和RouterB组成的虚拟路由器的虚拟IP地址为10.1.1.254/24。
IP地址拥有者(IP Address Owner):如果一个VRRP设备将真实的接口IP地址配置为虚拟路由器IP地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,则它将一直成为Master。
虚拟MAC地址(Virtual MAC Address):虚拟路由器根据vrid生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{vrid} 。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如RouterA和RouterB组成的虚拟路由器的vrid为1,因此这个VRRP备份组的MAC地址为00-00-5E-00-01-01。
状态机
VRRP主备份工作过程
选举出Master:
VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送 免费ARP 报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
选举规则:比较优先级的大小,优先级高者当选为Master设备。当两台设备优先级相同时,如果已经存在Master,则其保持Master身份,无需继续选举;如果不存在Master,则继续比较接口IP地址大小,接口IP地址较大的设备当选为Master设备。
抢占模式(Preemption Mode):
控制具有更高优先级的备用路由器是否能够抢占具有较低优先级的Master路由器,使自己成为Master。缺省为抢占模式
抢占延迟时间,默认为0,即立即抢占。
图中RouterA故障恢复后,立即抢占可能会导致流量中断,因为RouterA的上行链路的路由协议可能未完成收敛,这种情况则需要配置Master设备的抢占延时。
负载分担方式与主备备份方式配置思路一致,以单个VRRP备份组为例,Master设备配置:
vrrp vrid 1 virtual-ip 10.0.0.10 //配置vrid1中的虚拟IP地址。
vrrp vrid 1 priority 120 //配置在vrid1中的优先级为120,其他设备优先级未手动指定,缺省为100,则本设备为Master。
vrrp vrid 1 preempt-mode timer delay 20 //配置Master设备的抢占时延为20秒。
vrrp vrid 1 track interface GigabitEthernet0/0/0 reduce 30 //跟踪上行接口G0/0/0的状态,如果端口出现故障,则Master设备VRRP优先级降低30。
Backup设备配置:
vrrp vrid 1 virtual-ip 10.0.0.10 //配置vrid1中的虚拟IP地址。
MSTP+VRRP 经典组网架构
链路和设备冗余备份
流量负载分担
让SW1成为vlan10 用户的根网桥,SW2作为根网桥和网关备份
让SW2成为vlan20 用户的根网桥,SW1作为根网桥和网关备份,实现链路和设备冗余备份+流量负载分担
二层配置:
vlan trunk mstp
接入层
SW3
vlan batch 10
trunk
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10
trunk
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10
access
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
SW4
vlan batch 20
trunk
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 20
trunk
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 20
access
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
SW1
vlan batch 10 20
trunk
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10
trunk
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10
trunk
interface GigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
SW2
vlan batch 10 20
trunk
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 20
trunk
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 20
trunk
interface GigabitEthernet0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
MSTP
#在SW1上的配置,SW2/SW3/SW4复制即可
stp region-configuration
region-name Huawei
instance 1 vlan 10
instance 2 vlan 20
active region-configuration
#让SW1成为实例1的 primary root, 成为实例2 的secondary root
#让SW2成为实例1的 primary root, 成为实例1 的secondary root
在SW1上
stp instance 1 root primary
stp instance 2 root secondary
在SW2上
stp instance 1 root secondary
stp instance 2 root primary
三层配置:
vlanif 接口 VRRP 【静态路由(如果有)】
SW1
interface Vlanif10
ip address 192.168.10.253 24
interface Vlanif20
ip address 192.168.20.253 24
SW2
interface Vlanif10
ip address 192.168.10.252 24
interface Vlanif20
ip address 192.168.20.254 24
VRRP SW1 Vlanif10----Master Vlanif20------Buckup
SW2 Vlanif20----Master Vlanif10------Buckup
SW1
interface Vlanif10
ip address 192.168.10.253 24
vrrp vrid 1 virtual-ip 192.168.10.254
vrrp vrid 1 priority 120
vrrp vrid 1 preempt-mode timer delay 20
interface Vlanif20
ip address 192.168.20.253 24
vrrp vrid 2 virtual-ip 192.168.20.254
SW2
interface Vlanif10
ip address 192.168.10.252 24
vrrp vrid 1 virtual-ip 192.168.10.254
interface Vlanif20
ip address 192.168.20.254 24
vrrp vrid 2 virtual-ip 192.168.20.254
vrrp vrid 2 priority 120
vrrp vrid 2 preempt-mode timer delay 20
检查 SW1 和 SW2的 VRRP
[SW1]dis vrrp brief
VRID State Interface Type Virtual IP
1 Master Vlanif10 Normal 192.168.10.254
2 Backup Vlanif20 Normal 192.168.20.254
Total:2 Master:1 Backup:1 Non-active:0
[SW1]
dis vrrp brief
VRID State Interface Type Virtual IP
1 Backup Vlanif10 Normal 192.168.10.254
2 Master Vlanif20 Normal 192.168.20.254
Total:2 Master:1 Backup:1 Non-active:0
让PC1 ping—>PC2 看能够ping通