APP下载

基于RSTP+HSRP的双通道负载均衡的研究与仿真

2022-07-25李春平

现代计算机 2022年9期
关键词:数据包链路路由

李春平

(广东白云学院大数据与计算机学院,广州 510000)

0 引言

HSRP(hot standby router protocol)即热备份路由器协议,是思科专有协议,为IPv4 主机提供第一跳冗余。所谓第一跳冗余是指在末节网络中为用户主机提供网关冗余。HSRP 是实现第一跳冗余的专有协议,它的主要原理是将多个三层设备(路由器或三层交换机)关联在一起组成一个虚拟的路由器,用虚拟路由器的IP 充当网关。当有数据包需要转发时,活动的HSRP路由器将承担路由转发功能,向本地网络中的用户主机提供默认网关服务。如果活动路由器不能正常工作时,备用路由器将自动激活,接管活动路由器的角色,用户不需要对主机进行任何配置更改。

在网络中,链路上会承载不同的用户、不同的业务、不同的工作任务形成的数据流量。负载均衡是将这些数据流量均摊到不同的链路单元上操作执行,实现数据流的协同处理,以此提高网络承载能力,增加数据吞吐量,加快响应速度,增强网络的灵活性和可用性。

在不同的RSTP 快速生成树协议类型中,PVST+协议是思科专有协议,它支持在每个VLAN 上启用RSTP,可以为不同的VLAN 组配置2个或更多根交换机,并利用冗余链路实现负载均衡。

1 典型网络应用

以一个中小型局域网为例,该网络按照典型的网络设计原则进行分层。接入层交换机收集来自用户终端的数据流量,并将响应数据流返回给用户。中间通过汇集层交换机进一步汇聚流量,再往上通过核心层交换机连接到边界路由器,边界路由器通过Internet 接入网再连接到外网。中间的汇聚层由具有路由功能的三层交换机担任数据流转发任务。在汇聚交换机上,为了防止单点链路故障,配备了双通道,即由两台三层交换机组成。同时,为了防止环路,需要启用生成树协议。双通道中,采用HSRP热备份协议实现冗余路由,为了提高链路利用率和数据同行效率,双通道可同时工作,承担数据流的传输,实现负载均衡。

1.1 拓扑设计

网络拓扑由3 台三层交换机、1 台路由器、1台服务器、若干台终端客户机组成,采用以太网形式组网。拓扑设计如图1所示。

图1 网络拓扑图

1.2 网路地址参数及VLAN规划

根据网络拓扑图设计,参照各设备的邻居关系,建立拓扑数据库,如表1所示。

表1 拓扑数据库

网络中VLAN 规划、RSTP 优先级、HSRP参数及状态如表2所示。

表2 VLAN规划及相关参数

路由器及终端客户机配置参数如表3所示。

表3 路由器及终端客户机IP地址参数

2 仿真过程

2.1 VLAN及其TRUNK中继链路创建

2.1.1 VTP的作用

在大型的园区网中,网络拓扑较为复杂,在进行网络规划时,需要将网络进行逻辑分段,根据组织结构或不同功能需求划分不同的VLAN,以方便网络管理和提高网络安全性。由于在接入层和汇聚层涉及到的交换机较多,如果在每台设备上手工去划分VLAN,不仅会给网络工程师带来工作量增加的困扰,同时也可能因配置错误,导致全网地址规划一致性出现冲突。因此,在VLAN 配置时引入VTP 机制,可有效解决这一类问题。

VTP 可以实现VTP 域内VLAN 的同步,以client-server 的模式工作。在服务器上配置的VLAN信息,可以完整地传递给VTP域内的所有处于客户机工作模式的交换机,从而减轻VLAN的重复配置形成的工作量。VTP 服务器维护整个网络上同一个VTP 域的VLAN 的添加和重命名工作,确保配置的一致性。

2.1.2 配置VTP

VTP 的配置主要包括定义VTP 域、版本号、工作模式、密码等。本例中,域名设置为byxy,版本号为2,S1-lcp 交换机工作在服务器模式,S2-lcp、S3-lcp交换机工作在客户机模式,密码统一设置为123456。

(1)S1-lcp交换机作为VTP服务器

S1-lcp(config)#vtp domain byxy

S1-lcp(config)#vtp version 2

S1-lcp(config)#vtp mode server

S1-lcp(config)#vtp password 123456

(2)S2-lcp交换机作为VTP客户端

S2-lcp(config)#vtp domain byxy

S2-lcp(config)#vtp mode client

S2-lcp(config)#vtp password 123456

(3)S3-lcp交换机作为VTP客户端

S3-lcp(config)#vtp domain byxy

S3-lcp(config)#vtp mode client

S3-lcp(config)#vtp password 123456

2.1.3.配置trunk

S1-lcp、S2-lcp、S3-lcp 交换机之间的链路设置为TRUNK 中继链路模式,VLAN 封装格式为dot1q 即802.1q,端口禁止协商,防止链路自动协商为TRUNK模式。

(1)S1-lcp交换机配置

S1-lcp(config)#interfaceerface range f0/23-24

S1-lcp(config-if-range)# switchport trunk encapsulation dot1q

S1-lcp(config-if-range)# switchport mode trunk

S1-lcp(config-if-range)# switchport trunk native vlan 199

S1-lcp(config-if-range)# switchport nonegotiate

(2)S2-lcp交换机配置

S2-lcp(config)#interfaceerface range f0/22,f0/24

S2-lcp(config-if-range)# switchport trunk encapsulation dot1q

S2-lcp(config-if-range)# switchport mode trunk

S2-lcp(config-if-range)# switchport trunk native vlan 199

S2-lcp(config-if-range)# switchport nonegotiate

(3)S3-lcp交换机配置

S3-lcp(config)#interfaceerface range f0/22-23

S3-lcp(config-if-range)#switchport trunk encapsulation dot1q

S3-lcp(config-if-range)# switchport mode trunk

S3-lcp(config-if-range)# switchport trunk native vlan 199

S3-lcp(config-if-range)# switchport nonegotiate

配置完成后,可在交换机里查看端口的TRUNK 模式。使用show interfaceerfaces trunk 命令查看S1-lcp 交换机的端口TRUNK 模式参数与状态如下:

(4)查看端口TRUNK

S1-lcp#show interfaceerfaces trunk

Port Mode Encapsulation Status Native vlan

Fa0/23 on 802.1q trunking 199

Fa0/24 on 802.1q trunking 199

Port Vlans allowed on trunk

Fa0/23 1-1005

Fa0/24 1-1005

2.1.4 VTP服务器上创建VLAN

S1-lcp 交换机已经配置VTP 服务器,作为主控节点,为全网VLAN 创建、修改和重命名提供服务,确保VLAN配置一致性。

S1-lcp(config)#vlan 2

S1-lcp(config-vlan)#name V2

S1-lcp(config-vlan)#exit

S1-lcp(config)#vlan 3

S1-lcp(config-vlan)#name v3

S1-lcp(config-vlan)#exit

S1-lcp(config)#vlan 10

S1-lcp(config-vlan)#name v10

S1-lcp(config-vlan)#exit

S1-lcp(config)#vlan 20

S1-lcp(config-vlan)#name v20

S1-lcp(config-vlan)#exit

其它交换机配置为同一域名内的客户端,自动接受VTP 服务器的VLAN 配置,因此不需要在客户端上做VLAN 配置。在S3-lcp 交换机上检验VTP 状态,显示为byxy 域内的一台客户端。

S3-lcp#show vtp status

VTP Version capable:1 to 3

VTP version running :2

VTP Domain Name:byxy

VTP Pruning Mode:Disabled

VTP Traps Generation:Disabled

Device ID:00D0.BA44.9200

Configuration last modified by 0.0.0.0 at 3-1-93 01:00:53

Feature VLAN:

--------------

VTP Operating Mode:Client

Maximum VLANs supported locally:1005

Number of existing VLANs:9

Configuration Revision:11

MD5 digest: 0x1F 0x75 0xB7 0x77 0x2C 0xC8 0x0B 0xBE 0xF9 0x20 0x16 0xF6 0x8F 0x11 0x8F 0x57

在S3-lcp 交换机上检查VLAN 的摘要信息,显示VLAN2、VLAN3、VLAN10、VLAN20 已经创建好了。

2.1.5 VLAN端口划分

为VLAN 添加接口成员,设置接口模式为访问(access)模式。

(1)S1-lcp交换机配置

S1-lcp(config)#interface f0/1

S1-lcp(config-if)#switchport mode access

S1-lcp(config-if)#switchport access vlan 10

(2)S2-lcp交换机配置

S2-lcp(config)#interface f0/1

S2-lcp(config-if)#switchport mode access

S2-lcp(config-if)#switchport access vlan 20

(3)S3-lcp交换机配置

S3-lcp(config)#interface f0/1

S3-lcp(config-if)#switchport mode access

S3-lcp(config-if)#switchport access vlan 2

S3-lcp(config-if)#exit

S3-lcp(config)#interface f0/2

S3-lcp(config-if)#switchport mode access

S3-lcp(config-if)#switchport access vlan 3

(4)查看VLAN摘要信息

从VLAN 摘要信息里可以看出,VLAN2和VLAN3里已经有活动成员了。

2.1.6 配置SVI

参照前面表2 VLAN 规划及相关参数配置里的内容,配置交换机各个虚拟接口即VLAN 的IP地址和子网掩码参数。

(1)S1-lcp交换机配置

S1-lcp(config)#interface vlan 10

S1-lcp(config-if)#ip address 10.45.12.2 255.255.255.0

S1-lcp(config-if)#exit

S1-lcp(config)#interface vlan 2

S1-lcp(config-if)#exit

S1-lcp(config)#interface vlan 3

S1-lcp(config-if)#ip address 10.45.3.252 255.255.255.0

S1-lcp(config-if)#exit

(2)S2-lcp交换机配置

S2-lcp(config)#interface vlan 20

S2-lcp(config-if)#ip address 10.45.13.2 255.255.255.0

S2-lcp(config-if)#exit

S2-lcp(config)#interface vlan 2

S2-lcp(config-if)#ip address 10.45.2.253 255.255.255.0

S2-lcp(config-if)#exit

S2-lcp(config)#interface vlan 3

S2-lcp(config-if)#ip address 10.45.3.253 255.255.255.0

2.2 生成树协议

由于网络拓扑中存在冗余链路,如果不加处理,将导致链路形成环路,容易导致重复帧、MAC 地址表不稳定以及形成广播风暴,从而给网络带来不稳定。生成树协议主要用来防止环路的出现。生成树协议会将网络中的冗余链路修剪成一棵树的形态,将冗余链路上的端口阻塞掉,从而避免环路形成对网络带来的不利影响。当主链路上的端口不能正常工作时,备份端口将自动激活变为转发状态,承担链路中的数据帧转发功能。

2.2.1 配置RSTP

采用RSTP 快速生成树协议,以提高收敛速度。使用spanning-tree vlan vlan-id priority value命令配置的作用是将流量在汇聚层分流。本例中,来自VLAN2的流量将通过S1-lcp转发,来自VLAN3 的流量将通过S2-lcp 转发,从而实现负载均衡。同时,在边缘端口上启用了bpdu 防护,该端口在连接PC 时将立即进入转发状态,当该端口连接到其它交换机上时,该端口将被禁止。具体配置如下:

(1)S1-lcp交换机配置

S1-lcp(config)#spanning-tree mode rapid-pvst

S1-lcp(config)#spanning-tree vlan 2 priority 4096

S1-lcp(config)#spanning-tree vlan 3 priority 8192

S1-lcp(config)#interface f0/1

S1-lcp(config-if)#spanning-tree portfast

S1-lcp(config-if)#spanning-tree bpduguard enable

(2)S2-lcp交换机配置

S2-lcp(config)#spanning-tree mode rapid-pvst

S2-lcp(config)#spanning-tree vlan 2 priority 8192

S2-lcp(config)#spanning-tree vlan 3 priority 4096

S2-lcp(config)#interface f0/1

S2-lcp(config-if)#spanning-tree portfast

S2-lcp(config-if)#spanning-tree bpduguard enable

(3)S3-lcp交换机配置

S3-lcp(config)#spanning-tree mode rapid-pvst

S3-lcp(config)#interface ran f0/1-2

S3-lcp(config-if-range)#spanning-tree portfast

S3-lcp(config-if-range)#spanning-tree bpduguard enable

2.2.2 检验生成树参数及状态

RSTP 中端口状态有禁止(discarding)、学习(learning)和转发(forwarding)3种状态。查看S3-lcp 交换机生成树协议状态,可以看到里面相关端口已经处于转发状态了。

2.3 路由协议

本网络中采用RIPV2 动态路由协议实现全网路由分布与自动更新,具体配置过程如下:

2.3.1 各设备RIPV2协议部署

R1-lcp(config)#router rip

R1-lcp(config-router)#version 2

R1-lcp(config-router)#no auto-summary

R1-lcp(config-router)#network 10.45.0.0

S1-lcp(config)#ip routing

S1-lcp(config)#router rip

S1-lcp(config-router)#version 2

S1-lcp(config-router)#no auto-summary

S1-lcp(config-router)#network 10.45.0.0

S2-lcp(config)#router rip

S2-lcp(config-router)#version 2

S2-lcp(config-router)#no auto-summary

S2-lcp(config-router)#network 10.45.0.0

2.3.2 检查路由协议工作状况

R1-lcp#show ip route rip

10.0.0.0/8 is variably subnetted,8 subnets,2 masks

R 10.45.2.0/24[120/1]via 10.45.13.2,00:00:14,GigabitEthernet0/1

[120/1]via 10.45.12.2,00:00:14,GigabitEthernet0/0

R 10.45.3.0/24[120/1]via 10.45.13.2,00:00:14,GigabitEthernet0/1

[120/1]via 10.45.12.2,00:00:14,GigabitEthernet0/0

S1-lcp#show ip route rip

10.0.0.0/24 is subnetted,5 subnets

R 10.45.4.0[120/1]via 10.45.12.1,00:00:20,Vlan10

R 10.45.13.0[120/1]via 10.45.2.253,00:00:17,Vlan2

[120/1]via 10.45.3.253,00:00:17,Vlan3

[120/1]via 10.45.12.1,00:00:20,Vlan10

S2-lcp#show ip route rip

10.0.0.0/24 is subnetted,5 subnets

R 10.45.4.0[120/1]via 10.45.13.1,00:00:22,Vlan20

R 10.45.12.0[120/1]via 10.45.13.1,00:00:22,Vlan20

[120/1]via 10.45.2.252,00:00:28,Vlan2

[120/1]via 10.45.3.252,00:00:28,Vlan3

通过查看路由表,各设备上的路由表已建立,路由表项中的路由是完备的,工作正常。

2.4 第一跳冗余协议

采用HSRP协议作为冗余路由,实现第一跳冗余路由备份。具体实现过程如下:

(1)S1-lcp交换机配置

S1-lcp(config)#interface vlan 2

S1-lcp(config-if)#standby 2 ip 10.45.2.254

S1-lcp(config-if)#standby 2 priority 105

S1-lcp(config-if)#standby 2 preempt

S1-lcp(config-if)#standby 2 track FastEthernet0/1

S1-lcp(config)#interface vlan 3

S1-lcp(config-if)#standby 3 ip 10.45.3.254

S1-lcp(config-if)#standby 3 preempt

(2)S2-lcp交换机配置

S2-lcp(config)#interface vlan 2

S2-lcp(config-if)#standby 2 ip 10.45.2.254

S2-lcp(config-if)#standby 2 preempt

S2-lcp(config)#interface vlan 3

S2-lcp(config-if)#standby 3 ip 10.45.3.254

S2-lcp(config-if)#standby 3 priority 105

S2-lcp(config-if)#standby 3 preempt

S2-lcp(config-if)#standby 3 track f0/1

(3)查看standby摘要信息

在S1-lcp、S2-lcp 交换机上分别执行show standby brief 命令,查看standby 摘要信息,在S1-lcp交换机上,Vl2被编入第2组虚拟路由器,其优先级为105,处于活动状态,活动路由器为本地,其IP 地址是10.45.2.252,备用路由器为10.45.2.253,虚拟路由器IP 为10.45.2.254;Vl3被编入第3 组虚拟路由器,其优先级为默认100, 处 于 备 用 状 态, 虚 拟 路 由 器IP 为10.45.3.254。而在S3-lcp交换机上,情况正好相反,Vl2 所在的第2 组虚拟路由器优先级比Vl3所在的第3 组虚拟路由器优先级低,因此第2 组处于备用状态,第3组处于活动状态。

3 测试与分析

3.1 抢占测试与分析

在S1-lcp交换机上,第2组虚拟路由器的优先级为105,第3 组虚拟路由器的优先级为默认值100,Grp2 的优先级比Grp3 的优先级高,因此Grp2 处于活动状态,Grp3 处于备用状态。为了测试链路断开,HSRP 的抢占情况,不妨主动将S1-lcp上的f0/1端口关闭。

(1)f0/1 端口关闭之前,查看S1 的standby摘要信息,显示Grp2 处于活动状态,Grp3 处于备用状态。

(2)f0/1 端口关闭之后,再次查看S1-lcp 的standby摘要信息,显示Grp2和Grp3均处于备用状态。

由于VLAN2 的Grp2 上设置了跟踪f0/1 端口的状态,当f0/1 端口关闭时,这个状态变化会被S1-lcp 捕获到,HSRP 的优先级会发生变化,链路断开将使优先级减10,链路重新恢复优先级加10。测试过程表明,Grp2 的状态变成了Standby,即备用状态。

为了继续验证抢占过程,重新激活f0/1 端口,这个时候Grp2 的优先级重新恢复到了105,变成了活动状态,接管了VLAN2 流量的转发任务。

3.2 负载均衡测试与分析

将PC1 的IP 地址和默认网关分别设置为10.45.2.100和10.45.2.254,PC2的IP地址和默认网关分别设置为10.45.3.100和10.45.3.254。

3.2.1 客户端ARP缓存情况

ARP 缓存的作用是,将主机IP 地址和MAC地址建立映射并暂存,当与外部主机通信时,在数据封装时就不需要通过广播去查询IP 地址对应的MAC 地址,从而提高数据封装和发送的速度。

(1)PC1访问服务器

C:>ping 10.45.4.100

Pinging 10.45.4.100 with 32 bytes of data:

Reply from 10.45.4.100:bytes=32 time<1ms TTL=126

Reply from 10.45.4.100:bytes=32 time<1ms TTL=126

Reply from 10.45.4.100:bytes=32 time<1ms TTL=126

Reply from 10.45.4.100:bytes=32 time<1ms TTL=126

(2)查询ARP缓存情况

C:>arp-a

Internet Address Physical Address Type

10.45.2.253 0090.219e.8d01 dynamic

10.45.2.254 0000.0c07.ac02 dynamic

(3)PC2访问服务器

C:>ping 10.45.4.100

Pinging 10.45.4.100 with 32 bytes of data:

Reply from 10.45.4.100:bytes=32 time<1ms TTL=126

Reply from 10.45.4.100:bytes=32 time<1ms TTL=126

Reply from 10.45.4.100:bytes=32 time<1ms TTL=126

Reply from 10.45.4.100:bytes=32 time=1ms TTL=126

(4)查询ARP缓存情况

C:>arp-a

Internet Address Physical Address Type

10.45.3.252 0001.4204.4902 dynamic

10.45.3.254 0000.0c07.ac03 dynamic

通过查询ARP 缓存,两台PC 机里各有两个映射,其中一个IP 地址是虚拟路由器IP,另一个则是虚拟路由器组中的VLAN的IP。

3.2.2 双通道负载均衡检验分析

(1)由于在RSTP 快速生成树协议中对不同的VLAN 设置了不同的优先级,因此,来自不同VLAN 的流量会沿着不同的通道传输。在PC1上使用tracert 跟踪数据包传输路径:

C:>tracert 10.45.4.100

Tracing route to 10.45.4.100 over a maximum of 30 hops:

1 6 ms 0 ms 0 ms 10.45.2.252

2 0 ms 0 ms 0 ms 10.45.12.1

3 0 ms 1 ms 0 ms 10.45.4.100

Trace complete.

通过tracert 跟踪数据包,不难发现,数据包传输路径为PC1→S3-lcp→S1-lcp→R1-lcp→Server0。由于PC1 被分配在VLAN2,因此在链路不发生故障的情况下,来自VLAN2的流量将沿这条路径传输。

(2)再通过PC2 观察,跟踪数据包传输路径:

C:>tracert 10.45.4.100

Tracing route to 10.45.4.100 over a maximum of 30 hops:

1 0 ms 0 ms 0 ms 10.45.3.253

2 0 ms 0 ms 0 ms 10.45.13.1

3 0 ms 0 ms 0 ms 10.45.4.100

Trace complete.

通过tracert 跟踪数据包,不难发现,数据包传输路径为PC2→S3-lcp→S2-lcp→R1-lcp→Server0。由于PC2被分配在VLAN3,因此在链路不发生故障的情况下,来自VLAN3的流量将沿这条路径传输。

上述两台终端主机向同一个目的主机10.45.4.100 发送探测数据包,由于流量来自不同的VLAN,因此数据包分别沿不同的路径传输,抵达目的地,验证了链路上双通道负载均衡的实现。

4 结语

在部署企业网络时,通常需要考虑到VLAN规划、备份链路、冗余路由以及负载均衡等问题。在具体实施过程中,可采用VTP 对VLAN及其TRUNK 实现配置统一性管理;采用RSTP快速生成树协议解决冗余链路形成的环路问题,同时利用冗余链路实现负载均衡;采用HSRP实现热备份路由,为用户提供透明的冗余路由服务。仿真实验研究表明,文中综合应用HSRP和RSTP 实现双通道负载均衡,获得了较好的应用效果。在中大型园区网中,可以通过部署多通道实现大流量的负载均衡,增加数据处理能力,减少网络拥塞的发生,提高网络使用效率,保证网络的可用性。

猜你喜欢

数据包链路路由
基于时隙ALOHA与NOMA的通信系统性能分析
一种移动感知的混合FSO/RF 下行链路方案*
数据通信中路由策略的匹配模式
一种用于6LoWPAN的多路径路由协议
OSPF外部路由引起的环路问题
C#串口高效可靠的接收方案设计
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
基于热备份提升微波站点传输稳定性
网络数据包的抓取与识别