APP下载

VRRP和BGP在校园网中的应用研究

2020-07-31孙光懿

关键词:核心层网段数据流

孙光懿 刘 睿

(1.天津音乐学院网络安全和信息化办公室,天津 300171;2.天津音乐学院人事处,天津 300171)

0 引 言

随着教育信息化近20 a的发展,当今校园网已成为各院校重要的基础教学设施.不仅各类应用系统需要依托其运行(如在线教学平台、教务和自动化办公等系统),而且其还对广大师生日常的生活、学习以及教学方式产生了深远影响.当前天津音乐学院(以下简称天音)校园网虽已初具规模,但也存在着如下急需解决的问题:(1)作为校园网枢纽中心的核心层存在明显的单点故障(目前只有1台路由器),一旦出现故障必然造成整个校园网瘫痪.(2)校园网出口链路单一(只有中国教育科研网1条出口链路)且带宽不足,已无法满足广大校园网用户对互联网资源进行访问的需求.(3)校园网对网络故障的自适应能力较差,无论出口链路发生故障或核心层网络设备发生故障,都极有可能造成校园网用户数据流发生堵塞,从而出现访问互联网资源延迟较大甚至无法正常访问的现象.

为了有效解决上述问题,同时也为了最大限度的保证校园网能够安全稳定运行,拟计划采取如下措施:首先,在校园网出口处分别引入中国教育科研网和中国联通2条出口链路(每条链路带宽为500 M);其次,在校园网核心层部署2台高性能路由器;最后,在校园网核心层中联合实施基于虚拟路由冗余协议(virtual router redundancy protocol,VRRP[1-5])和边界网关协议(border gateway protocol,BGP)的网络设计方案.应用VRRP主要是为了实现3层网关冗余与流量负载均衡(在网络正常情况下,校园网内不同网段用户的数据流转发任务,将分别由不同的路由器来负责;如果某台路由器出现故障,那么另一台路由器将承担起全网用户数据流转发任务),从而有效提高校园网核心层的可靠性和2台路由器的利用率.而应用BGP主要是为了对校园网用户数据流进行路由.这样做既可以使网络管理人员更便捷地对校园网用户访问互联网资源的数据流进行有效控制(按照目标地址来选择出口链路),进而提高校园网用户访问互联网资源的速度,又可以大幅提高校园网出口链路的可靠性.

1 VRRP简介

VRRP是一种在局域网中广泛应用的标准网关容错协议,可有效提高3层网关的可靠性.其工作原理与思科私有协议(HSRP)相类似,也是将1组路由器虚拟成1台路由器,并将这台虚拟路由器的IP地址(该IP地址既可以与VRRP组中路由器的真实IP地址相同,又可不同)作为该网段各终端主机的默认网关.通常VRRP具有如下几个特点:(1)与HSRP不同,VRRP是一种开放标准协议,拥有更高的可扩展性与兼容性.如可将VRRP部署在多厂商网络设备环境中,而HSRP只能将其部署在思科网络设备中.(2)VRRP最多可支持建立255个VRRP组,但是每个VRRP组只允许有1台活跃路由器(该路由器负责处理发送到虚拟路由器上的数据包和数据帧),而备用路由器则没有具体数量限制(1台或多台均可以).(3)VRRP拥有较高的安全性,不仅支持明文认证而且还支持IP头认证(IP头认证可有效防止报文在传输过程中被修改).需要特别注意的是,VRRP组中的路由器只有先建立邻接关系,备用路由器才会收到活跃路由器发送的公告.

2 BGP简介[6-9]

现实中的互联网是由多自治系统互联所构成的,而自治系统之间的通信则是通过 BGP来实现的.BGP是一种运行于TCP上的域间路由协议,具有高可靠性、高可扩展性、支持无类域间路由、可变长子网掩码和增量更新等特点.其主要任务就是确保自治系统之间能够在无环路的情况下交换路由信息.BGP按照运行位置的不同又可进一步划分为EBGP和IBGP.二者的主要区别在于:(1)EBGP无法传递本地优先级属性,而 IBGP可以传递;(2)EBGP不涉及 BGP同步问题,而 IBGP需要考虑BGP同步问题;(3)EBGP邻居路由器之间必须存在物理链接,而IBGP邻居路由器之间只需存在逻辑链接即可;(4)二者避免路由环路所采取的措施不同(IBGP通过不允许将从IBGP邻居学到的路由再转发给其他IBGP邻居这条规则来避免路由环路;而EBGP则是通过AS路径属性来避免路由环路).需要特别注意的是:网络管理人员在实际部署BGP时,不仅要考虑路由器CPU及内存的负载能力(是否能满足日常处理BGP更新的需要),而且还要考虑自身对BGP的掌握程度.

3 仿真实验

3.1 网络拓扑构建

通过GNS3网络仿真平台,虚拟构建出拥有天音校园网(AS32)、中国教育科研网(AS30)、中国联通(AS31)3个自治系统的大型网络.其中,天音校园网自治系统由2台核心路由器 R3、R4,1台2层交换机SW1以及2台终端计算机C1、C2所组成;中国教育科研网自治系统由其1台边界路由器R1所组成;中国联通自治系统由其1台边界路由器R2所组成.网络拓扑如图1所示.从该网络拓扑中不难看到:首先,校园网内共有 VLAN100、VLAN101 2个网段且各网段用户之间可以正常通信.核心层路由器R3、R4之间不仅运行 VRRP,而且还采用全互联的方式运行IBGP.需要说明的是:通过运行VRRP,路由器 R3成为VLAN100网段的活跃路由器,同时又成为VLAN101网段的备用路由器.路由器R4成为VLAN101网段的活跃路由器,同时又成为VLAN100网段的备用路由器.在校园网正常情况下,VLAN100网段用户数据包的转发任务由核心层路由器R3来负责,而VLAN101网段用户数据包的转发任务则由核心层路由器R4来负责.采用全互联的方式运行IBGP可以有效地避免路由黑洞、减少校园网中IGP传播的路由,最大限度地节省校园网带宽.其次,ISP边界路由器与校园网核心层2台路由器之间通过物理直连的方式运行EBGP.之所以要运行 EBGP主要是为了让上述3个自治系统能够相互交换各自路由信息.另外,为了实现对校园网用户访问互联网资源的数据流进行有效控制(在出口链路正常的情况下:当校园网用户访问中国教育科研网资源时,数据流经中国教育科研网边界路由器R1对目标地址进行访问;当校园网用户访问其他互联网资源时,数据流经中国联通边界路由器R2对目标地址进行访问.在某条出口链路出现故障的情况下:校园网用户访问互联网资源的数据流会从另一条出口链路对目标地址进行访问).因此,还需在校园网核心层IBGP路由器中修改本地优先级及权重属性.

图1 校园网网络拓扑

3.2 相关设备IP地址分配

本次仿真实验校园网核心层路由器R3的S2/0接口与S2/1接口,分别与路由器 R1的S2/0接口和路由器R2的S2/1接口相连;核心层路由器R4的S2/1接口与 S2/3接口,分别与路由器 R1的 S2/1接口和路由器R2的S2/3接口相连.相关设备IP地址分配方案如表1所示.

表1 相关设备IP地址分配方案

3.3 在校园网核心层路由器中部署VRRP[10-12]

3.3.1 建立VRRP组

在校园网核心层路由器R3、R4中部署VRRP,并随之建立了VRRP100组与VRRP101组.需要说明的是:VRRP100组的IP地址既为VLAN100网段用户的默认网关地址,同理 VRRP101组的 IP地址既为VLAN101网段用户的默认网关地址.当校园网用户对外发起访问时,首先需将数据包发往所属网段的默认网关,而后会由VRRP组中的活跃路由器对这些数据包进行进一步的处理.本文给出路由器R3中的VRRP协议配置过程(路由器R4的配置过程与其类似,故省略):

R3(config-if)#int f0/0.1

R3(config-subif)#vrrp 100 ip 192.168.100.1/设置VLAN 100的网关地址

R3(config-if)#int f0/0.2

R3(config-subif)#vrrp 101 ip 192.168.101.1/设置VLAN 101的网关地址

3.3.2 配置VRRP优先级和抢占特性

为了实现3层网关冗余及流量负载均衡,在这里分别将路由器R3、R4设置为 VRRP100组与 VRRP101组的活跃路由器,同时又分别将二者设置为VRRP101组与VRRP100组的备用路由器.这样不仅校园网3层网关的可靠性有了大幅度提高,而且校园网流量也实现了负载均衡.另外,为了避免当VRRP组中活跃路由器出现故障时,拥有最高优先级的备用路由器无法成为活跃路由器情况的出现.因此,有必要为 VRRP组中的路由器配置抢占特性.在这里只给出路由器 R3的配置过程(路由器R4的配置过程与其类似,故省略):

R3(config-subif)#vrrp 100 priority 110//路由器R3上的vrrp 100组优先级为110

R3(config-subif)#vrrp 100 preempt//配置抢占特性

R3(config-subif)#vrrp 101 priority 105//路由器R3上的vrrp 101组优先级为105

R3(config-subif)#vrrp 101 preempt//配置抢占特性

上述配置完成后,查看路由器R3中VRRP组的工作状态(图2).

可得以下结论:(1)在VRRP100组中,由于路由器R3的优先级(110)高于路由器R4的优先级(105),因此路由器R3成为校园网VLAN100网段的活跃路由器;而在VRRP101组中,由于路由器R3的优先级(105)低于路由器R4的优先级(110),因此路由器R3成为校园网VLAN101网段的备用路由器.(2)校园网VLAN100与VLAN101网段用户的默认网关地址分别为192.168.100.1和192.168.101.1.

图2 路由器R3中VRRP组的工作状态

3.4 配置BGP[13-15]

3.4.1 建立EBGP邻居

校园网核心层路由器R3、R4与中国教育科研网边界路由器R1及中国联通边界路由器R2之间采用物理直连的方式运行EBGP.之所以采用该方式运行EBGP,主要是从2台路由器之间能够顺利建立EBGP邻接关系角度所考虑的.EBGP规定,必须要满足以下3项条件路由器之间才可建立EBGP邻接关系:(1)EBGP邻居分别位于不同自治系统之中.(2)EBGP邻居之间必要先建立TCP会话,再互相交换BGP路由表.(3)neighbor命令中的IP地址必须是可达的.在这里只给出路由器 R3与 R1、路由器R3与 R2之间的EBGP配置过程,路由器 R4与R1、路由器R4与 R2之间的EBGP配置过程与其类似,故省略.

(1)配置路由器R3.

R3(config)#router bgp 32

R3(config-router)#neigh 11.1.1.1 remote-as 30//指定 EBGP邻居

R3(config-router)#neigh 12.1.1.1 remote-as 31

R3(config-router)#neigh 11.1.1.1 updatesource s2/0//指定EBGP分组的源IP地址

R3(config-router)#neigh 12.1.1.1 updatesource s2/1

(2)配置路由器R1.

R1(config)#router bgp 30

R1(config-router)#neigh 11.1.1.2 remote-as 32//指定 EBGP邻居

R1(config-router)#neigh 11.1.1.2 updatesource s2/0//指定EBGP分组的源IP地址

(3)配置路由器R2.

R2(config)#router bgp 31

R2(config-router)#neigh 11.1.1.2 remote-as 32//指定 EBGP邻居

R2(config-router)#neigh 11.1.1.2 updatesource s2/1//指定EBGP分组的源IP地址

3.4.2 建立IBGP邻居

受互联网BGP路由表包含路由条目数量众多的影响,在实际部署 BGP的过程中,往往不会将其重分发到IGP中.通常的做法是在自治系统内的所有路由器中运行IBGP并禁用BGP同步.在这里只给出路由器R3配置IBGP邻居的过程(路由器R4配置IBGP邻居的过程与其类似,故省略).

R3(config)#router bgp 32

R3(config-router)#neigh 13.1.1.1 remote-as 32//指定路由器R4为IBGP邻居

R3(config-router)#neigh 13.1.1.1 updatesource s2/2

R3(config-router)#no synchronizat //关闭BGP同步

3.4.3 修改BGP下一跳属性

下一跳属性是BGP的公认强制属性,因此该属性必须出现在BGP路由更新之中.需要注意的是:BGP默认的下一跳与IGP默认的下一跳有所不同.BGP默认的下一跳为去往目标地址的下一个自治系统入口IP地址,而IGP默认的下一跳为去往目标地址的下一个路由器接口IP地址.举例来说,如果目标地址位于外部自治系统内,那么本自治系统内的IBGP路由器去往目标地址的下一跳就应为外部自治系统入口IP地址.但是这样以来,就极有可能出现IBGP路由器丢掉前往目标分组的情况(IBGP路由器的IP路由表中不存在去往外部自治系统入口IP地址的路由).因此,在部署BGP的过程中有必要修改其下一跳属性,将路由更新的源IP地址作为其下一跳地址.在这里只给出在路由器R3中修改BGP下一跳属性的配置过程:

R3(config-router)#neigh 11.1.1.1 next-hop-self//将路由更新的源IP地址作为下一跳地址

R3(config-router)#neighbor 12.1.1.1 nexthop-self

R3(config-router)#neighbor 13.1.1.1 nexthop-self

3.4.4 修改本地优先级属性

为了实现对路由器R3中校园网用户访问互联网资源的数据流进行有效控制,利用路由映射表技术,根据目标地址的不同对其本地优先级属性进行了相应修改.对于来自中国教育科研网所属目标网段(例如:211.68.192.0/24)的BGP路由更新,路由器R3将本地优先级设置为110;对于来自其他目标网段的BGP路由更新,路由器R3将本地优先级设置为180.路由器R3的详细配置如下所示:

R3(config-router)#neighbor 11.1.1.1 route-map skk in

R3(config-router)#neighbor 12.1.1.1 route-map lzz in

R3(config)#route-map skk permit 10

R3(config-router-map)#match ip add 10

R3(config-router-map)#set local-prefer 110 //修改本地优先级值为110

R3(config)#route-map skk permit 16

R3(config)#access-list 10 permit 211.68.192.0 0.0.0.255

R3(config)#route-map lzz permit 10

R3(config-router-map)#match ip add 11

R3(config-router-map)#set local-prefer 180 //修改本地优先级值为180

R3(config)#access-list 11 deny 211.68.192.0 0.0.0.255 R3(config)#access-list 11 permit any

修改本地优先级属性后,路由器R3的BGP路由表如图3所示.路由器R3去往中国教育科研网目标网段211.68.192.0/24时,共有3条路由可供选择.其中本地优先级为110且下一跳地址为11.1.1.1(该地址为中国教育科研网自治系统入口IP地址)的这条路由被选为最佳路由;而去往其他目标网段如202.99.96.0/24时,同样共有3条路由可供选择.其中本地优先级为180且下一跳地址为12.1.1.1(该地址为中国联通自治系统入口IP地址)的这条路由被选为最佳路由.

图3 路由器R3的BGP路由表

3.4.5 修改权重属性

BGP有自己独特的路由选择过程,它会首选权重值最高的BGP路由为最佳路由.为了实现对路由器R4中校园网用户访问互联网资源的数据流进行有效控制,利用路由映射表技术,根据目标地址的不同对其权重属性进行了相应修改.对于来自路由器R1的中国教育科研网所属目标网段(例如:211.68.192.0/24)的 BGP路由更新,路由器 R4将权重值设置为300;对于来自路由器R1其他网段的BGP路由更新,路由器R4将采用默认权重值;对于来自路由器R2的中国教育科研网所属目标网段(例如:211.68.192.0/24)的BGP路由更新,路由器R4将权重值设置为101;对于来自路由器R2其他网段的BGP路由更新,路由器R4将权重值设置为600.路由器R4的详细配置如下所示:

R4(config)#access-list 14 permit 211.68.192.0 0.0.0.255

R4(config-router)#neighbor 15.1.1.2 route-map kk in

R4(config-router)#neighbor 14.1.1.2 route-map kl in

R4(config)#route-map kk permit 10

R4(config-router-map)#match ip add 14

R4(config-router-map)#set weig 300 //修改权重值为300

R4(config)#route-map kk permit 13

R4(config)#route-map kl permit 10

R4(config-router-map)#match ip add 14

R4(config-router-map)#set weig 101 //修改权重值为101

R4(config)#route-map kl permit 18

R4(config-router-map)#set weig 600 //修改权重值为600

修改权重属性后,路由器 R4的 BGP路由表图4所示.路由器R4去往中国教育科研网目标网段211.68.192.0/24同样有3条路由可供选择,其中权重值为300且下一跳地址为15.1.1.2(该地址为中国教育科研网自治系统入口IP地址)的这条路由被选为最佳路由;而去往其他目标网段如202.99.96.0/24时,其中权重值为600且下一跳地址为14.1.1.2(该地址为中国联通自治系统入口IP地址)的这条路由被选为最佳路由.

图4 路由器R4的BGP路由表

4 仿真测试[16]

4.1 网络正常情况下测试

首先,使用PING命令测试校园网终端计算机C1与C2之间的连通性;其次,以终端计算机C1为例,使用 trace命令分别测试访问目标地址211.68.192.11/24与202.99.96.68/24的路由过程.最后,使用sh ip route命令分别查看路由器 R3及路由器R4的路由表.

(1)测试终端计算机C1与C2之间的连通性.

VPCS[1]>ping 192.168.101.20

192.168.101.20 icmp_seq=1 ttl=254 time=94.566 ms

192.168.101.20 icmp_seq=2 ttl=254 time=84.387 ms

192.168.101.20 icmp_seq=2 ttl=254 time=63.829 ms

(2)使用trace命令分别测试访问中国教育科研网所属目标地址211.68.192.11/24和中国联通所属目标地址202.99.96.68/24的路由过程.

VPCS[1]>trace 211.68.192.11

trace to 211.68.192.11,8 hops max,press Ctrl+C to stop

1 192.168.100.2 63.904 ms 10.193 ms 12.603 ms

2 11.1.1.1 59.091 ms

VPCS[1]>trace 202.99.96.68

trace to 202.99.96.68,8 hops max,press Ctrl+C to stop

1 192.168.100.2 41.704 ms 45.793 ms 31.513 ms

2 12.1.1.1 77.004 ms

(3)使用sh ip route命令查看路由器 R3的路由表(图5).

(4)使用sh ip route命令查看路由器 R4的路由表(图6).

图5 路由器R3的路由表

图6 路由器R4的路由表

测试后可得以下结论:(1)校园网VLAN100网段所属终端计算机C1与VLAN101网段所属终端计算机C2之间可以实现正常通信.(2)实现了校园网3层网关冗余与流量负载均衡,校园网核心层路由器R3不仅是VLAN100网段的活跃路由器,而且还是 VLAN101网段的备用路由器,另一台校园网核心层路由器R4不仅是VLAN100网段的备用路由器,而且还是VLAN101网段的活跃路由器.(3)实现了对校园网用户访问互联网资源的数据流进行有效控制.当终端计算机C1访问中国教育科研网资源时,数据流会先被发往VLAN100网段的活跃路由器R3,而后经中国教育科研网边界路由器R1到达目标地址.而当终端计算机 C1访问其他互联网资源时,虽然数据流也会先被发往VLAN100网段的活跃路由器R3,但是需经中国联通边界路由器R2到达目标地址.同理,当终端计算机C2访问中国教育科研网资源时,数据流会先被发往VLAN101网段的活跃路由器R4,而后经中国教育科研网边界路由器R1到达目标地址.而当终端计算机C2访问其他互联网资源时,虽然数据流也会先被发往VLAN101网段的活跃路由器R4,但是需经中国联通边界路由器R2到达目标地址.

4.2 网络故障情况下测试

在这里模拟中国教育科研网边界路由器R1出现故障.与此同时以终端计算机C1为例,对其与终端计算机C2的连通性以及访问目标地址211.68.192.11/24与202.99.96.68/24的路由过程进行再次测试,并查看校园网核心层路由器 R3、R4中VRRP组的工作状态.

测试后可得以下结论:(1)VLAN100网段所属终端计算机C1与VLAN101网段所属终端计算机C2之间仍然可以实现正常通信.(2)校园网核心层路由器R3、R4中VRRP组的工作状态未发生任何变化.(3)校园网用户仍然可对互联网资源进行正常访问.当终端计算机C1访问互连网资源时,数据流会先被发往VLAN100网段的活跃路由器R3,而后经中国联通边界路由器R2到达目标地址.同理,当终端计算机C2访问互联网资源时,数据流会先被发往VLAN101网段的活跃路由器R4,而后经中国联通边界路由器R2到达目标地址.

5 结束语

通过在校园网核心层中联合部署虚拟路由冗余协议和边界网关协议,不仅提高了3层网关与出口链路的可靠性,而且还实现了对校园网用户访问互联网资源数据流的有效控制.即使校园网内某台核心交换机或某条出口链路发生故障,校园网用户对互联网资源的访问也不会受到任何影响.校园网经过此次改造后,用户的满意度也有了明显的提升.

猜你喜欢

核心层网段数据流
汽车维修数据流基础(上)
汽车维修数据流基础(下)
单位遭遇蠕虫类病毒攻击
配置局域网访问方式
可变编组动车组制动系统TCN网络信号传输需求研究*
油田光纤化改造核心层建设方案的探讨
浅谈宽带IP城域网结构规划和建设
校园网核心层设计探究
政府办公区域无线网络覆盖的设计
基于数据流聚类的多目标跟踪算法