基于GLBP与PBR的校园网改造

2021-03-19 05:56孙光懿宋立巍
关键词:数据包网关路由

孙光懿,宋立巍

(1.天津音乐学院,天津 300171;2.天津市宁河区城乡居民基本医疗保险服务中心,天津 301500)

校园网用户对校园网依赖度呈现逐年攀升的趋势。为保证校园网能够高效、稳定地服务于日常教学、办公及科研工作,对其进行改造迫在眉睫。本文基于某校园网进行了3 方面的改造。首先,在原有中国教育科研网一条出口链路的基础上,新增中国联通、中国电信2 条互联网运营商出口链路。这样既可以增加校园网出口带宽,又可以使校园网出口链路多元化。其次,在校园网核心层中(某校园网为大二层架构,由核心层及接入层所构成)部署2 台高性能思科7206 路由器,二者之间运行网关负载均衡协议[1−4](gateway load balancing protocol,GLBP)。这样既可以实现校园网三层网关备份又可以实现流量负载均衡。选择运行GLBP协议的原因是它最大限度地弥补了现有的冗余路由器协议(VRRP 和HSRP)的局限性。具体表现为:1)GLBP 协议虽为思科私有协议,但它可最大限度地提高设备的利用率,以循环负载分担算法实现流量负载均衡,当用户主机发送ARP 请求三层网关MAC 地址时,所有可用路由器的 MAC 地址,都被按顺序放入地址解析响应中,并作为默认网关IP 地址对应的MAC 地址返回给客户端,而VRRP 和HSRP 协议只能通过建立多个VRRP 或HSRP 组来实现流量负载均衡,并且需要用户指向不同的网关;2)GLBP 协议更便于网络管理者部署使用,GLBP 组中的路由器均为活动路由器,参与流量转发,更适合部署在内部服务器较多的场景,而HSRP 和VRRP 协议必须手动指定活动路由器。最后,在核心层2 台思科7206 路由器子接口处,应用策略路由(policy based routing,PBR)技术。这样校园网用户在访问互联网资源的数据包时,不是使用路由表,进行基于目的地址的路由,而是按照网络管理者预先制定的最优路径策略,以超越传统路由协议的方式进行转发。

1 相关技术

1.1 GLBP 协议

GLBP 与HSRP 协议同属思科公司私有协议,是为弥补HSRP 协议在功能上的不足而开发设计的。GLBP 协议同样可以为用户提供三层网关备份及流量负载均衡服务,最多可支持建立1024个组。需要注意的是:1)GLBP 组会选择优先级最高的路由器作为自己的虚拟活跃网关(active virtual gateway,AVG),优先级次之的路由器作为备用AVG,其余路由器则时刻处于监听状态,一旦AVG 发生故障,备用AVG 就会通过抢占机制成为新的AVG,AVG 的主要职责是为组内每个成员分配一个虚拟MAC 地址,但是并不参与IP 数据包的转发,转发IP 数据包的工作,实际上是由活跃虚拟转发者(active virtual forwarder,AVF)来负责实施的;2)每个GLBP 组只能拥有1 个AVG,最多可以拥有4 个AVF,每个AVF 对应1 个虚拟MAC 地址;3)GLBP组内路由器可以既是AVG,又是AVF;4)GLBP 组成员之间的通信,是以3 s/次的频率向组播地址224.0.0.102 发送Hello 数据包来实现的;5)AVF 也具有类似AVG 的抢占机制,只是AVF 抢占机制依据的是加权,而AVG 抢占机制所依据的是优先级;6)与HSRP 协议不同,GLBP 协议只可以跟踪对象,而不能跟踪接口;7)与HSRP 协议相类似,GLBP 协议也支持明文认证和MD5 认证。

1.2 策略路由

策略路由技术[5 − 6]是为解决传统路由方式转发IP 数据包的形式单一、灵活性不足这一缺陷而设计的。应用策略路由,可使网络管理者能够按照既定策略更灵活、方便地控制IP 数据包的转发,而不是简单地依靠路由表进行基于目的IP 地址的选路。网络管理者若在路由器中应用策略路由,必须先为其定义路由图。路由图有一条或多条策略所构成,每条策略对应着一条或多条匹配规则以及相应的动作。策略路由规则可根据数据包的源IP 地址、目标IP 地址、TCP 或UDP 源端口、TCP 或UDP 目的端口、IP 数据包长度、协议类型、IP 优先级、VLAN ID等上述特征信息灵活设置。当路由器的接口应用策略路由后,该接口收到的所有IP 数据包均会被检查过滤。如果数据包符合路由图中的某条策略,那么数据包就按照该策略所定义的相应动作来进行处理。如果数据包不符合路由图中的任何一条策略,那么数据包就会被按照传统路由方式进行转发处理。在应用策略路由时,需要注意的是:1)在路由器中应用策略路由技术,一般须将其设置在数据包的入接口方向;2)策略路由属于IP 数据包转发层面的行为,虽然检查过滤的是数据包,但是匹配的是数据流。

2 校园网仿真拓扑设计

当前某校园网共有VLAN10(校园一卡通所在网段)、VLAN20(办公区所在网段)、VLAN30(学生宿舍区所在网段)3 个网段,每个网段终端设备之间可以互联互通。位于校园网核心层的路由器R1、R2 承担处理上述3 个网段用户数据包的任务。2 台路由器不仅分别与中国教育科研网、中国联通、中国电信等互联网运营商边界路由器相连接,而且它们之间还通过运行GLBP 协议,为校园网用户提供三层网关备份和流量负载均衡服务。在校园网运行正常的情况下,路由器R1、R2 组成GLBP10、GLBP20、GLBP30 等3 个GLBP 组,每个组分别有2 个活跃虚拟转发者(AVF)。路由器R1 由于在每个GLBP 组中拥有最高的优先级,因此通过选举成为GLBP 组的AVG,除负责向组内全体成员分发虚拟MAC 地址外,还负责响应校园网用户针对三层网关的ARP 请求。与此同时,路由器R1 还是每个GLBP 组中Forwarder 1 的活跃路由器及Forwarder 2 的备用路由器。当Forwarder 2的活跃路由器出现故障时,路由器R1 就成为其新的活跃路由器。这也就意味着路由器R1 还承担着对校园网用户发往虚拟MAC 地址的数据包进行转发的重任。对于路由器R2 来说,不仅是每个GLBP 组的备用AVG,而且是每个GLBP 组中Forwarder 1 的备用路由器及Forwarder 2 的活跃路由器。一旦AVG 出现故障,路由器R2 就会通过抢占机制成为GLBP 组内新的AVG。当Forwarder 1的活跃路由器出现故障时,路由器R2 就成为其新的活跃路由器。这也就意味着路由器R2 与路由器R1 一样,也需要承担对校园网用户发往虚拟MAC 地址的数据包进行转发的重任。

另外,为使校园网用户访问外网资源的数据包能够按照最优路径进行转发,在路由器R1、R2 子接口处应用了策略路由技术。当校园网用户访问教育网资源时,数据包默认经中国教育科研网出口链路去往目标地址。一旦中国教育科研网出口链路发生故障,数据包就改经中国联通出口链路去往目标地址。当校园网用户访问中国联通资源时,数据包默认经中国联通出口链路去往目标地址。一旦中国联通出口链路出现故障,数据包就改经中国电信出口链路去往目标地址。当校园网用户访问中国电信资源时,数据包默认经中国电信出口链路去往目标地址。一旦中国电信出口链路出现故障,数据包就改经中国教育科研网出口链路去往目标地址。当校园网用户访问其他互联网运营商网络资源时,数据包统一经中国联通出口链路去往目标地址。校园网网络拓扑[7 − 11]如图1 所示。

图1 校园网网络拓扑

3 网络配置

3.1 相关网络设备IP 地址分配

校园网路由器R1 的e1/0、e1/1、e1/2 接口分别与中国教育科研网边界路由器R3 的e1/0 接口、中国联通边界路由器R4 的e1/1 接口、中国电信边界路由器R5 的e1/2 接口互联。校园网路由器R2的e1/1、e1/2、e1/3 接口分别与中国教育科研网边界路由器R3 的e1/1 接口、中国联通边界路由器R4 的e1/2 接口、中国电信边界路由器R5 的e1/3 接口互联。需要注意的是:在互联网运营商边界路由器R3、R4、R5 中均建有回环接口。其中,loopback1 接口用于模拟中国教育科研网所在网段,loopback2 接口用于模拟中国联通所在网段,loopback3 接口用于模拟中国电信所在网段。另外,为使校园网中每个GLBP 组成员之间能够正常通信,接入交换机SW1 的f0/0 与f0/1 的2 个接口划分为trunk 接口,其余接口划分为 access 接口。SW1 的f0/0 接口与路由器R1的f0/0 接口互联,f0/1 接口与路由器R2 的f0/0 接口互联。校园网相关网络设备IP 地址分配方案如图2 所示。

图2 校园网相关网络设备IP 地址分配方案

3.2 设置单臂路由

为实现校园网各网段终端用户之间的互联互通,也为了最大限度地节省路由器R1、R2 物理接口的使用,在2 台路由器的f0/0 物理接口中分别建立f0/0.1(对应VLAN10 网段)、f0/0.2(对应VLAN20网段)、f0/0.3(对应VLAN30 网段)3 个子接口。需要注意的是:1)子接口是一种逻辑接口,它随物理接口的关闭而关闭;2)子接口中的数据在物理链路中传输时,通常使用标准的802.1Q 协议进行封装(思科网络设备也可使用其私有的ISL 协议进行封装)。在这里给出路由器R1 的相关配置命令[12−13]。

3.3 在校园网核心层路由器中设置NAT 地址转换

为保证校园网用户对互联网资源的正常访问(当前校园网内各网段终端主机均使用私有IP 地址),选择在校园网核心层的2 台路由器R1、R2 中应用端口多路复用 (port address translation,PAT)的方式做NAT 地址转换。选择PAT 的方式,主要基于以下2 点:1)可最大限度地节省校园网公网IP 地址资源,只须占用一个公网IP 地址;2)可有效防范来自互联网的恶意攻击。另外,在设置NAT地址转换前,网络管理者还须先为其指定内、外网接口。通常连接内部网络的接口被设置为内网接口,连接外部网络的接口被设置为外网接口。以路由器R1 为例,由于其物理接口e1/0、e1/1、e1/2 分别与中国教育科研网、中国联通、中国电信等互联网运营商的边界路由器互联,因此上述物理接口被设置为外网接口;由于其子接口f0/0.1、f0/0.2、f0/0.3分别连接校园网VLAN10、VLAN20、VLAN30 等3 个网段,因此上述子接口被设置为内网接口。这里给出路由器R1 的相关配置命令。

3.4 在校园网核心层路由器中设置策略路由

将策略路由分别应用在路由器R1、R2 的3 个子接口f0/0.1、f0/0.2、f0/0.3 中,这样不仅校园网用户访问外网资源的数据包时能够按照预先制定的策略进行灵活转发,而且可有效提高校园网出口链路的可靠性,当某条出口链路出现故障时,数据包还可经另一条出口链路访问互联网资源。需要注意的是:由于在路由器R1、R2 中设置了NAT地址转换,因此当校园网用户访问互联网资源时,无须管理员再为其配置回程路由。这里给出路由器R1 的相关配置命令[14]。

197.1 202.63.52.1//当校园网用户访问中国教育科研网资源时,数据包经中国教育科研网出口链路去往目标地址。如果中国教育科研网出口链路出现故障,数据包改经中国联通出口链路去往目标地址。

R1(config-route-map)#set ip next-hop verifyavailability//测试校园网用户数据包下一跳的可达性,如可达,则将其路由到该地址。

52.1 //当校园网用户访问其他互联网运营商网络资源时,数据包走中国联通出口链路。

3.5 在校园网核心层路由器部署GLBP 协议

3.5.1 配置三层网关冗余

在校园网核心层2 台路由器R1、R2 中运行GLBP 协议[15],实现三层网关冗余,可提高校园网的可靠性与稳定性。二者所组成的GLBP10、GLBP20、GLBP30 组分别被部署在各自的子接口f0/0.1、f0/0.2、f0/0.3 下。其中,GLBP10 组的虚拟IP 地址即为VLAN10 网段的网关地址,GLBP20 组的虚拟IP 地址即为VLAN20 网段的网关地址,GLBP30 组的虚拟IP 地址即为VLAN30 网段的网关地址。这里给出路由器R1 的相关配置命令。

3.5.2 配置优先级

GLBP 组中AVG 的选举是由路由器的优先级(1-255,默认为100)所决定的,拥有最高优先级的路由器将成为AVG。如果在GLBP 组中出现成员间优先级相同的情况,那么拥有最高IP 地址的那台路由器将被选举成为AVG。为保证路由器R1成为GLBP10、GLBP20、GLBP30 组中的AVG,分别将路由器R1、R2 在上述GLBP 组中的优先级设置为180 和150,路由器R1 的优先级>路由器R2 的优先级。这里给出路由器R1 的相关配置命令。

3.5.3 配置抢占机制

网络管理者在部署GLBP 协议时,须为GLBP组中的每个成员配置抢占机制。这主要是基于以下2 点原因:1)确保GLBP 组中拥有最高优先级的路由器,从故障中恢复后重新成为AVG;2)当GLBP 组中的AVG 出现故障时,确保备用AVG 能够成为新的AVG。这里给出路由器R1 的相关配置命令。

3.5.4 配置加权和门限值

与HSRP 和VRRP 协议只存在一个门限值不同,GLBP 协议拥有更灵活的双门限值机制,即高门限值和低门限值。当GLBP 组中某台路由器的加权值低于网络管理者所设定的低门限值时,该路由器就不会再成为AVF,从而停止转发用户数据包。只有当其加权值超过网络管理者所设定的高门限值时,该路由器才会恢复AVF 的角色,并重新开始转发用户数据包。由此可见,一台GLBP 路由器能否成为AVF,是由其加权值所决定的。这里给出路由器R1 的相关配置命令。

R1(config-if)#glbp 10 weighting 190 lower 150 upper 170//设置路由器R1 在glbp 10 组中的加权值以及高、低门限值。

3.5.5 配置负载均衡策略

本文使用GLBP 协议默认的循环负载分担算法,为具有相同默认网关的IP 地址提供流量负载均衡服务。这里给出路由器R1 的相关配置命令。

4 网络测试

4.1 在校园网运行正常情况下进行网络测试

首先,以校园网核心层路由器R1 为例,使用sh glbp 命令查看其GLBP 协议的工作状态。其次,以校园网终端计算机C1 为例,使用trace 命令和sh arp 命令分别查看其访问中国教育科研网DNS 服务器地址202.114.0.123 的路由过程,以及自身的ARP 表。最后,以校园网终端计算机C4 为例,使用trace 命令和sh arp 命令分别查看其访问中国联通DNS 服务器地址202.99.96.68 的路由过程,以及自身的ARP 表。需要注意的是:终端计算机C1、C4 均属于VLAN10 网段。

1)使用sh glbp 命令查看路由器R1 中GLBP协议的工作状态。这里给出路由器R1 中GLBP 10 组的工作状态,GLBP 20 组和GLBP 30 组的工作状态与其类似。

2)使用trace 命令查看终端计算机C1 访问中国教育科研网DNS 服务器地址202.114.0.123 的路由过程。

3)使用sh arp 命令查看终端计算机C1 的ARP 表。

4)使用trace 命令查看终端计算机C4 访问中国联通DNS 服务器地址202.99.96.68 的路由过程。

5)使用sh arp 命令查看终端计算机C4 的ARP 表。

通过测试,得出3 点结论。1)校园网实现了三层网关备份和流量负载均衡。路由器R1、R2 组成GLBP10、GLBP20、GLBP30 等3 个GLBP 组,每个GLBP 组均采用轮询负载分担算法,由组内的2 个AVF,分别为具有相同默认网关的IP 地址提供流量负载均衡服务。路由器R1 即为 Forwarder 2(MAC 地址为:0007.b400.0a02)的活跃路由器,又为Forwarder 1(MAC 地址为:0007.b400.0a01)的备用路由器。路由器R2 即为 Forwarder 2(MAC 地址为:0007.b400.0a02)的备用路由器,又为Forwarder 1(MAC 地址为:0007.b400.0a01)的活跃路由器。可将其理解为:路由器R1 负责处理校园网用户发往Forwarder 2 的数据包;路由器R2 负责处理校园网用户发往Forwarder 1 的数据包。由于终端计算机C1、C4 默认网关(IP:192.168.10.1/24)所对应的MAC地址分别与Forwarder 2、Forwarder 1 的MAC 地址相一致,因此终端计算机C1 访问中国教育科研网资源的数据包由路由器R1 负责处理,终端计算机C4 访问中国联通资源的数据包由路由器R2 负责处理。2)由于路由器R1 在每个GLBP 组内拥有最高优先级,因此路由器R1 为每个GLBP 组的AVG,路由器R2 为每个GLBP 组的备用AVG。3)校园网用户访问互联网资源的数据包能够按照网络管理者预先制定的最优路径策略进行转发。当校园网用户(终端计算机C1)访问中国教育科研网资源时,数据包默认下一跳地址为中国教育科研网边界路由器R3 接口地址211.68.197.1;当校园网用户(终端计算机C4)访问中国联通资源时,数据包默认下一跳地址为中国联通边界路由器R4 接口地址202.63.52.2。

4.2 在校园网出现故障的情况下进行测试

手动关闭路由器R2、R3,模拟校园网核心层网络设备以及中国教育科研网边界路由器出现故障的情况。首先,使用sh glbp brief 命令查看路由器R1 中GLBP 协议的工作状态。其次,以校园网终端计算机C4 为例,使用trace 命令查看其访问中国教育科研网DNS 服务器地址202.114.0.123 的路由过程。

1)使用sh glbp brief 命令查看路由器R1 中GLBP协议的工作状态。其结果如图3 所示。

图3 路由器R1 中GLBP 协议的工作状态

2)使用trace 命令查看终端计算机C4 访问中国教育科研网DNS 服务器地址202.114.0.123 的路由过程。

通过测试,发现:1)当路由器R2 出现故障后,路由器R1 不仅成为每个GLBP 组的AVG,而且成为每个GLBP 组Forwarder 1 与Forwarder 2 的活跃路由器,这意味着今后校园网用户访问互联网资源的数据包均由路由器R1 负责转发;2)当路由器R3 出现故障后,校园网用户(终端计算机C4)访问中国教育科研网资源的数据包,改经中国联通边界路由器R4 到达目的地址,这说明校园网实现了三层网关与出口链路的备份,即使核心层某台网络设备出现故障或校园网某条出口链路出现故障,用户仍可正常对互联网资源进行访问。

5 结束语

校园网改造,加快了智慧校园建设的步伐,有效提升了学校信息化建设的整体水平。改造后的校园网不仅实现了出口链路多元化,提高了用户网速,而且实现了三层网关冗余和流量负载均衡。校园网用户访问互联网资源的数据包时可以按照网络管理者预先制定的最优路径策略进行转发,即使某条出口链路出现故障,也不会影响校园网用户对互联网资源的正常访问。

猜你喜欢
数据包网关路由
智能燃气表物联网运行体系网关技术研究
基于FPGA的工业TSN融合网关设计
二维隐蔽时间信道构建的研究*
大规模低轨卫星网络移动性管理方案
一种主从冗余网关的故障模式分析与处理
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
数据通信中路由策略的匹配模式
OSPF外部路由引起的环路问题
路由重分发时需要考虑的问题
C#串口高效可靠的接收方案设计