论文部分内容阅读
1、引言
随着信息网络技术的飞速发展,用户对于信息网络的依赖性也越来越强, 对网络服务质量要求也越来越高。特别是大型企业网络中需要同时实现VOIP、视频会议、办公系统、远程视频监控等业务,且通过专线方式组网的成本高、维护管理难度大,而MPLS-VPN技术可以兼备三层无连接路由和面向连接的二层转发机制优点。本文通过搭建基于MPLS-VPN技术的专用网络,为用户提供语音、视频、数据等统一平台,探讨提供区别服务的QOS实现方案,满足各类客户的不同需求。
2、MPLS- VPN技术相关知识
MPLS-VPN网络主要由P、PE和CE等3部分组成(如图1 ):实现按需分配,提供高可靠性和高可用性的網络环境。其主要优点表现在以下几个方面。
(1)可扩展性强:由于MPLS-VPN是采用隧道方式提供VPN,用户就好像使用的是一个全新的IP网络,在用户侧可以任意规划网络路由协议及连接方式来实现扩展。
(2)VPN创建的便捷度高:网络的隔离功能由骨干网络提供,几乎不需要用户参与核心配置,骨干网络的配置由专门的技术人员负责,可快速实现VPN业务开通。
(3)安全性高:MPLS-VPN提供了和面向连接的VPN(如帧中继和ATM)相同的安全级别。安全性是在骨干网络边界提供的,保证了从一个用户接收到的数据包传送到正确的VPN。在骨干网上,VPN的数据流量是隔离的。用户的数据包必须从特定的接口或子接口上接收,并且打上了惟一的VPN标签。另外根据VPN的任务和性质还可以在用户侧使用IPSEC VPN等措施提高安全级别。
(4)用户IP地址分配灵活:每个VPN用户可以规划自已的地址分配,和其他用户的地址不会冲突。也便于融合现存的各种IP网络,提高方案的可行性。
(5)能够提供端到端的优先级服务:利用MPLS 标签中的EXP字段,可以与VPN中的IP优先级进行匹配,实现真正的端到端的QoS(Quality of Service,服务质量)解决方案,使得骨干网络可以根据不同的业务提供差别服务等级保证。
3、MPLS -VPN 中QoS的实现方案
为了保证MPLS-VPN中用户数据能够使用到稳定的带宽,就需要区分骨干网络中的各种数据流的性质,对不同类的流进行不同带宽约束,实施差别服务的流量工程,并对VPN实施端到端的QoS保证,也就是CE到CE的QoS保证。
根据MPLS-VPN模型,CE-CE间又分为三段,CE-PE、PE-PE和PE-CE。其中CE-PE和PE-CE的QoS解决方案类似,可以归为一类进行探讨。
3.1 CE-PE(PE-CE)QoS的应用
由于CE-PE间不用启用MPLS,只是普通的IP路由通信,故在此段主要考虑流的分类以及IP优先级的确定。例如根据应用程序的端口号、源地址、目的地址、MAC地址或IP协议等信息对流进行分类。具体操作是在CE的入口对报文分类,同时设置报文IP头的ToS字段中的优先级位。这样,就可以为MPLS-VPN中的差别服务提供分类标准。
目前在网络中使用的优先级分为两种,一种是IP Precedence、另一种是DSCP。它们只是两种标准定义不同的结果。根据RFC1122的定义,使用IPv4报头中ToS的最高3比特(第0~3比特),DSCP?由RFC2474定义,它重新命名了IPv4报头中TOS字节,新的名字称为DS字段(Differentiated Services Field)。其中前3比特与IP Precedence的定义是相同的。
我们可以根据上文提到的分类情况,分别将第一类数据的IP?Precedence设置为4,DSCP设置为32;第二类数据IP?Precedence根据业务的不同分别设置为设置为3、2、1,DSCP分别设置为24、16、8;第三类数据不作设置。
3.2 PE-PE QoS的应用
PE到PE运行的是MPLS,其提供差别服务的依据来源于结构中的EXP字段,其QoS保证可分两步来实现:第一步,在PE的入口处实现IP优先级到MPLS优先级的映射,即IP?Precedence或DSCP值与MPLS中EXP字段的对应。第二步,在PE的出口和骨干网络中为相应级别的数据流提供有区别的时延和带宽保证。主要遵循保证带宽、及时抢占、优先级和速率限制等原则:
MPLS中EXP字段值可以根据骨干网络中对各类流的分类情况来匹配,第一类业务对应EXP的值为4,第二类业务对应EXP的值分别为3、2、1,第三类业务对应EXP的值为缺省的0,当然具体的对应关系可以根据具体配置来决定,只需要全网有一个统一的定义规则。对于第一类业务采用优先级队列,对第二类业务采用基于分类的加权公平队列和加权随机早期检测)的方式以及分别预留25%和10%的带宽给予保证,确保骨干网络为主要业务提供绝对优先等级服务,对剩余业务采用加权轮循方式分享带宽,并通过WRED丢包机制,实现QoS等级的MPLS包转发。
4、信息网络融合方案的模拟实现
由于设备的在网运行等实际限制,现依托DynamipsGUI、SecureCRT及VMware Workstation软件对MPLS-VPN 融合方案进行模拟。
4.1 模拟实验环境介绍
路由器模拟软件使用DynamipsGUI v2.7,一共模拟5台路由器,均使用C7200-P.BIN的IOS版本。其中R1(CE1)、R5(CE2)模拟VPN用户侧的接入路由器,R2(PE1)模拟昆明某地区节点,R3(P)模拟昆明骨干路由器,R4(PE2)模拟成都主干路由器。
主机模拟软件使用VMware Workstation V10.0简体中文版,一共模拟3台主机(加上本机共4台),系统为Win2003_SP2版本,均采用网卡桥接的方式接入模拟网络。 路由器之间及路由器和主机之间除R2、R3采用2M Serial口连接外,其余均采用以太网自适应方式接入。R2(PE1)、R3(P)、R4(PE2)为骨干网络区域采用OSPF路由,区域为0,R2(PE1)与R4(PE2)建立MP-IBGP邻居,CE1与R2、CE2与R4采用静态路由。连接关系及IP地址分配如下图2所示。其中VM3共设置了4个IP地址:103.103.103.103/24模拟级别较高的视频、电视电话会议等应用,103.103.103.201/24~103.103.103.203/24模拟了其它不同服务级别的VPN应用。
4.2 MPLS-VPN平台的搭建
(1) CE1、CE2及P路由器的配置。
CE1、CE2及P路由器的配置相當简单,CE1、CE2路由器只需要配置好相应端口地址并启用端口、配置一条缺省路由即可,P路由器还需要在相应端口启用MPLS,正常配置OSPF路由即可,这里不再详述。
(2)PE1、PE2路由器的配置。
PE1、PE2路由器的配置相似,以PE1为例,其配置如下:
R2_KMDQ_PE1(config)#ip cef /启用MPLS协议
R2_KMDQ_PE1(config)#mpls label range 16 100 /设置mpls标签号范围
R2_KMDQ_PE1(config)#ip vrf xzx /启用VPN路由转发实例a
R2_KMDQ_PE1(config-vrf)#rd 100:1 /配置VPN路由区别符
R2_KMDQ_PE1(config-vrf)# route-target both 100:1 /配置路由目标,以便将相同VPN站点的路由导入,过滤不同VPN站点路由
R2_KMDQ_PE1(config)#int e1/0 /进入接口模式
R2_KMDQ_PE1(config-if)#ip vrf forwarding xzx /将接口E1/0划分在路由转发实例xzx下
R2_KMDQ_PE1(config-if)#ip add 12.12.12.2 255.255.255.0
/配置接口IP地址和子网掩码
R2_KMDQ_PE1(config)#int lo0 /启用环回口
R2_KMDQ_PE1(config-if)#ip add 2.2.2.2 255.255.255.255
/配置接口IP地址和子网掩码
E1(config)#int s2/0 /进入接口模式
R2_KMDQ_PE1(config-if)#ip add 23.23.23.2 255.255.255.0
/配置接口IP地址和子网掩码
R2_KMDQ_PE1(config-if)#mpls ip /开启mpls功能
R2_KMDQ_PE1(config)#r ip route vrf xzx 101.101.101.0 255.255.255.0 12.12.12.1
/将CE1用户的静态路由指向R1
R2_KMDQ_PE1(config)#router ospf 100 /开启OSPF协议
R2_KMDQ_PE1(config-router)# redistribute connected subnets
/重分布直连路由到ospf路由中
R2_KMDQ_PE1(config-router)# redistribute static subnets
/重分布静态路由到ospf路由中
R2_KMDQ_PE1(config-router)#network 23.23.23.0 0.0.0.255 area 0
/通告链路网段并设置ospf区域
R2_KMDQ_PE1(config-router)#network 2.2.2.2 0.0.0.0 area 0
/通告环回地址并设置ospf区域
R2_KMDQ_PE1(config)#router bgp 28 /开启BGP路由协议,AS号为28
R2_KMDQ_PE1(config-router)#no bgp default ipv4-unicast
/关闭ipv4 BGP进程
R2_KMDQ_PE1(config-router)#neighbor 4.4.4.4 remote-as 28
/指定BGP邻居
R2_KMDQ_PE1(config-router)#neighbor 4.4.4.4 update-source lo0
/指定邻居更新接口
R2_KMDQ_PE1(config-router)#address-family vpnv4
/进入到VPNv4路由实例中
R2_KMDQ_PE1(config-router-af)#neighbor 4.4.4.4 activate
/激活VPNv4邻居
R2_KMDQ_PE1(config-router-af)#neighbor 4.4.4.4 send-community both
/启用发送团体属性
R2_KMDQ_PE1(config-router)# address-family ipv4 vrf xzx
/进入虚拟路由实例xzx中 R2_KMDQ_PE1(config-router-af)# redistribute connected
/重分布直连路由到BGP路由中
R2_KMDQ_PE1(config-router-af)# redistribute static
/重分布静态路由到BGP路由中
(3)验证MPLS-VPN平台
利用show ip cef vrf xzx detail命令查看PE1路由器上的FIB表,可以看出,去往目的地103.103.10.0/24的数据包会被压上双层标签:外层标签303和内层标签204。当源CE1站点发起对CE2站点目的地103.103.103.0/24访问的时候,一个纯IP数据包进入PE1时,就会被压上双层标签,一个为外层标签303:这个标签就是P路由器分配的BGP下一跳PE2的标签。另一个为外层标签204,也就是PE2分配给目的站点103.103.103.0/24的标签。数据包被PE1压上双层标签后,转发给P路由器,P路由器根据数据包的外层标签,查看LFIB表并弹出最外层标签,转发给PE2路由器。PE2路由器收到数据包后,弹出最后一层标签,数据包就是一个纯IP包了,然后查询路由表,转发给相应的路由器CE2即可。
利用PING命令在VM1上分别PING VM3和VM2
通过PING测试我们发现:VM1只与VM3建立了正常通信,这说明VM1已经成功的与VM3建立起了MPLS VPN通道,并与公网用户VM2实现了隔离,MPLS VPN建立成功。
4.3 为MPLS-VPN 提供QoS保证
通过上文分析得知为MPLS-VPN提供QoS保证首先需要对数据流进行分类,其次对不同类别的数据采用不同的带宽、队列及早期检测机制来保证特殊业务通信需求。
(1)CE2路由器的配置
CE2路由器模拟的是靠近提供服务端的路由器,其下的业务共分为四类。
建立匹配不同类别数据流的ACL
R5_CE2(config)#access-list 101 permit ip host 103.103.103.201 any
R5_CE2(config)#access-list 102 permit ip host 103.103.103.202 any
R5_CE2(config)#access-list 103 permit ip host 103.103.103.203 any
R5_CE2(config)#access-list 104 permit ip host 103.103.103.103 any
建立class-map匹配相應的ACL
R5_CE2(config)#class-map match-any SP
R5_CE2(config-cmap)#match access-group 104
R5_CE2(config)#class-map match-any CLASS2
R5_CE2(config-cmap) #match access-group 102
R5_CE2(config)#class-map match-any CLASS3
R5_CE2(config-cmap) #match access-group 103
R5_CE2(config)#class-map match-any CLASS1
R5_CE2(config-cmap) #match access-group 101
建立policy-map为不同的class-map设置相应的IP优先级
R5_CE2(config)#policy-map CEin
R5_CE2(config-pmap)#class SP
R5_CE2(config-pmap-c)#set precedence 4
R5_CE2(config-pmap)#class CLASS1
R5_CE2(config-pmap-c)#set precedence 1
R5_CE2(config-pmap)#class CLASS2
R5_CE2(config-pmap-c)#set precedence 2
R5_CE2(config-pmap)#class CLASS3
R5_CE2(config-pmap-c)#set precedence 3
将policy-map应用到相应端口上
R5_CE2(config)#interface FastEthernet0/0
R5_CE2(config-if)#service-policy input CEin
(2) PE2(模拟成都主干)路由器的配置
在入方向建立class-map匹配相应的IP优先级及DSCP优先级,建立policy-map 将IP优先级映射成MPLS优先级并应用到端口。
建立class-map
R4_CD_PE2(config)#class-map match-any SP
R4_CD_PE2(config-cmap)#match ip precedence 4
R4_CD_PE2(config-cmap)#match dscp 32
R4_CD_PE2(config)#class-map match-all CLASS2 R4_CD_PE2(config-cmap)#match precedence 2
R4_CD_PE2(config-cmap)#match dscp 16
R4_CD_PE2(config)#class-map match-all CLASS3
R4_CD_PE2(config-cmap)#match dscp 24
R4_CD_PE2(config-cmap)#match precedence 3
R4_CD_PE2(config)#class-map match-all CLASS1
R4_CD_PE2(config-cmap)#match precedence 1
R4_CD_PE2(config-cmap)#match dscp 8
建立policy-map
R4_CD_PE2(config-pmap)#policy-map PEin
R4_CD_PE2(config-pmap)#class SP
R4_CD_PE2(config-pmap-c)#set mpls experimental 4
R4_CD_PE2(config-pmap)#class CLASS3
R4_CD_PE2(config-pmap-c)#set mpls experimental 3
R4_CD_PE2(config-pmap)#class CLASS2
R4_CD_PE2(config-pmap-c)#set mpls experimental 2
R4_CD_PE2(config-pmap)#class CLASS1
R4_CD_PE2(config-pmap-c)#set mpls experimental 1
将policy_map应用到端口
R4_CD_PE2(config)#interface Ethernet1/1
R4_CD_PE2(config-if)#service-policy input PEin
在出方向建立class-map比配相应的MPLS优先级,建立policy-map将不同的数据流加入不同的队列、设置不同的带宽保证及拥塞预防机制并应用到端口。
建立class-map
class-map match-any PQ
match mpls experimental 4
match ip precedence 4
match dscp 32
class-map match-any SP
match ip precedence 4
match dscp 32
class-map match-any CQ
match mpls experimental 3
match mpls experimental 2
match mpls experimental 1
建立policy-map
policy-map PEout
class PQ
priority percent 25
class CQ
bandwidth percent 10
random-detect
class class-default
random-detect
將policy_map应用到端口
R4_CD_PE2(config)#interface Ethernet1/0
R4_CD_PE2(config-if)#service-policy input PEout
(3) P(模拟昆明骨干)、PE1(模拟昆明某地区节点)路由器的配置
P路由器的配置与PE路由器的出口方向配置相同,只需将相应的policy_map应用到出和入两个端口即可。
PE1配置与PE2配置相同,建立其数据流的双向QoS保证,其配置略。
4.4 验证MPLS-VPN QoS
利用show policy-map interface 查看PE2、P相应端口的QoS策略, 我们可以看出CE2路由器将VPN中不同用户数据流进行了区分,并成功的进行了IP优先级的标记,在PE2的入方向也成功的将IP优先级匹配到了MPLS优先级上,在PE2的出方向和P路由器上成功地将数据流分成了两个队列:一个是PQ(优先级队列),给予了最短时延和25%的带宽保证,另一个是CBWFQ(基于分类的加权公平队列),采用了WRED(加权随机早期检测)机制并给予了10%的带宽保证,从而实现了MPLS VPN用户在骨干网络中的差别服务,提供了按需的QoS保证。
采用MPLS-VPN技术是解决现有信息网络融合的一种可行方案,能够实现资源的集中管理和集约化使用,大大地节约人力物力成本。
5 小结
本文围绕当前企业信息网络存在的问题,引入MPLS-VPN技术相关理论,针对信息网络的现实需求以及未来的发展动态,设计了一个安全可靠、可扩展、易于管理的基于MPLS-VPN的信息网络融合方案。随后,通过模拟实验详细数据分析,进一步验证了基于MPLS-VPN技术的信息网络融合方案是安全可靠、可扩展、易于管理的。
作者简介
夏哲学(1979-),男,工程师,研究方向:计算机网络
随着信息网络技术的飞速发展,用户对于信息网络的依赖性也越来越强, 对网络服务质量要求也越来越高。特别是大型企业网络中需要同时实现VOIP、视频会议、办公系统、远程视频监控等业务,且通过专线方式组网的成本高、维护管理难度大,而MPLS-VPN技术可以兼备三层无连接路由和面向连接的二层转发机制优点。本文通过搭建基于MPLS-VPN技术的专用网络,为用户提供语音、视频、数据等统一平台,探讨提供区别服务的QOS实现方案,满足各类客户的不同需求。
2、MPLS- VPN技术相关知识
MPLS-VPN网络主要由P、PE和CE等3部分组成(如图1 ):实现按需分配,提供高可靠性和高可用性的網络环境。其主要优点表现在以下几个方面。
(1)可扩展性强:由于MPLS-VPN是采用隧道方式提供VPN,用户就好像使用的是一个全新的IP网络,在用户侧可以任意规划网络路由协议及连接方式来实现扩展。
(2)VPN创建的便捷度高:网络的隔离功能由骨干网络提供,几乎不需要用户参与核心配置,骨干网络的配置由专门的技术人员负责,可快速实现VPN业务开通。
(3)安全性高:MPLS-VPN提供了和面向连接的VPN(如帧中继和ATM)相同的安全级别。安全性是在骨干网络边界提供的,保证了从一个用户接收到的数据包传送到正确的VPN。在骨干网上,VPN的数据流量是隔离的。用户的数据包必须从特定的接口或子接口上接收,并且打上了惟一的VPN标签。另外根据VPN的任务和性质还可以在用户侧使用IPSEC VPN等措施提高安全级别。
(4)用户IP地址分配灵活:每个VPN用户可以规划自已的地址分配,和其他用户的地址不会冲突。也便于融合现存的各种IP网络,提高方案的可行性。
(5)能够提供端到端的优先级服务:利用MPLS 标签中的EXP字段,可以与VPN中的IP优先级进行匹配,实现真正的端到端的QoS(Quality of Service,服务质量)解决方案,使得骨干网络可以根据不同的业务提供差别服务等级保证。
3、MPLS -VPN 中QoS的实现方案
为了保证MPLS-VPN中用户数据能够使用到稳定的带宽,就需要区分骨干网络中的各种数据流的性质,对不同类的流进行不同带宽约束,实施差别服务的流量工程,并对VPN实施端到端的QoS保证,也就是CE到CE的QoS保证。
根据MPLS-VPN模型,CE-CE间又分为三段,CE-PE、PE-PE和PE-CE。其中CE-PE和PE-CE的QoS解决方案类似,可以归为一类进行探讨。
3.1 CE-PE(PE-CE)QoS的应用
由于CE-PE间不用启用MPLS,只是普通的IP路由通信,故在此段主要考虑流的分类以及IP优先级的确定。例如根据应用程序的端口号、源地址、目的地址、MAC地址或IP协议等信息对流进行分类。具体操作是在CE的入口对报文分类,同时设置报文IP头的ToS字段中的优先级位。这样,就可以为MPLS-VPN中的差别服务提供分类标准。
目前在网络中使用的优先级分为两种,一种是IP Precedence、另一种是DSCP。它们只是两种标准定义不同的结果。根据RFC1122的定义,使用IPv4报头中ToS的最高3比特(第0~3比特),DSCP?由RFC2474定义,它重新命名了IPv4报头中TOS字节,新的名字称为DS字段(Differentiated Services Field)。其中前3比特与IP Precedence的定义是相同的。
我们可以根据上文提到的分类情况,分别将第一类数据的IP?Precedence设置为4,DSCP设置为32;第二类数据IP?Precedence根据业务的不同分别设置为设置为3、2、1,DSCP分别设置为24、16、8;第三类数据不作设置。
3.2 PE-PE QoS的应用
PE到PE运行的是MPLS,其提供差别服务的依据来源于结构中的EXP字段,其QoS保证可分两步来实现:第一步,在PE的入口处实现IP优先级到MPLS优先级的映射,即IP?Precedence或DSCP值与MPLS中EXP字段的对应。第二步,在PE的出口和骨干网络中为相应级别的数据流提供有区别的时延和带宽保证。主要遵循保证带宽、及时抢占、优先级和速率限制等原则:
MPLS中EXP字段值可以根据骨干网络中对各类流的分类情况来匹配,第一类业务对应EXP的值为4,第二类业务对应EXP的值分别为3、2、1,第三类业务对应EXP的值为缺省的0,当然具体的对应关系可以根据具体配置来决定,只需要全网有一个统一的定义规则。对于第一类业务采用优先级队列,对第二类业务采用基于分类的加权公平队列和加权随机早期检测)的方式以及分别预留25%和10%的带宽给予保证,确保骨干网络为主要业务提供绝对优先等级服务,对剩余业务采用加权轮循方式分享带宽,并通过WRED丢包机制,实现QoS等级的MPLS包转发。
4、信息网络融合方案的模拟实现
由于设备的在网运行等实际限制,现依托DynamipsGUI、SecureCRT及VMware Workstation软件对MPLS-VPN 融合方案进行模拟。
4.1 模拟实验环境介绍
路由器模拟软件使用DynamipsGUI v2.7,一共模拟5台路由器,均使用C7200-P.BIN的IOS版本。其中R1(CE1)、R5(CE2)模拟VPN用户侧的接入路由器,R2(PE1)模拟昆明某地区节点,R3(P)模拟昆明骨干路由器,R4(PE2)模拟成都主干路由器。
主机模拟软件使用VMware Workstation V10.0简体中文版,一共模拟3台主机(加上本机共4台),系统为Win2003_SP2版本,均采用网卡桥接的方式接入模拟网络。 路由器之间及路由器和主机之间除R2、R3采用2M Serial口连接外,其余均采用以太网自适应方式接入。R2(PE1)、R3(P)、R4(PE2)为骨干网络区域采用OSPF路由,区域为0,R2(PE1)与R4(PE2)建立MP-IBGP邻居,CE1与R2、CE2与R4采用静态路由。连接关系及IP地址分配如下图2所示。其中VM3共设置了4个IP地址:103.103.103.103/24模拟级别较高的视频、电视电话会议等应用,103.103.103.201/24~103.103.103.203/24模拟了其它不同服务级别的VPN应用。
4.2 MPLS-VPN平台的搭建
(1) CE1、CE2及P路由器的配置。
CE1、CE2及P路由器的配置相當简单,CE1、CE2路由器只需要配置好相应端口地址并启用端口、配置一条缺省路由即可,P路由器还需要在相应端口启用MPLS,正常配置OSPF路由即可,这里不再详述。
(2)PE1、PE2路由器的配置。
PE1、PE2路由器的配置相似,以PE1为例,其配置如下:
R2_KMDQ_PE1(config)#ip cef /启用MPLS协议
R2_KMDQ_PE1(config)#mpls label range 16 100 /设置mpls标签号范围
R2_KMDQ_PE1(config)#ip vrf xzx /启用VPN路由转发实例a
R2_KMDQ_PE1(config-vrf)#rd 100:1 /配置VPN路由区别符
R2_KMDQ_PE1(config-vrf)# route-target both 100:1 /配置路由目标,以便将相同VPN站点的路由导入,过滤不同VPN站点路由
R2_KMDQ_PE1(config)#int e1/0 /进入接口模式
R2_KMDQ_PE1(config-if)#ip vrf forwarding xzx /将接口E1/0划分在路由转发实例xzx下
R2_KMDQ_PE1(config-if)#ip add 12.12.12.2 255.255.255.0
/配置接口IP地址和子网掩码
R2_KMDQ_PE1(config)#int lo0 /启用环回口
R2_KMDQ_PE1(config-if)#ip add 2.2.2.2 255.255.255.255
/配置接口IP地址和子网掩码
E1(config)#int s2/0 /进入接口模式
R2_KMDQ_PE1(config-if)#ip add 23.23.23.2 255.255.255.0
/配置接口IP地址和子网掩码
R2_KMDQ_PE1(config-if)#mpls ip /开启mpls功能
R2_KMDQ_PE1(config)#r ip route vrf xzx 101.101.101.0 255.255.255.0 12.12.12.1
/将CE1用户的静态路由指向R1
R2_KMDQ_PE1(config)#router ospf 100 /开启OSPF协议
R2_KMDQ_PE1(config-router)# redistribute connected subnets
/重分布直连路由到ospf路由中
R2_KMDQ_PE1(config-router)# redistribute static subnets
/重分布静态路由到ospf路由中
R2_KMDQ_PE1(config-router)#network 23.23.23.0 0.0.0.255 area 0
/通告链路网段并设置ospf区域
R2_KMDQ_PE1(config-router)#network 2.2.2.2 0.0.0.0 area 0
/通告环回地址并设置ospf区域
R2_KMDQ_PE1(config)#router bgp 28 /开启BGP路由协议,AS号为28
R2_KMDQ_PE1(config-router)#no bgp default ipv4-unicast
/关闭ipv4 BGP进程
R2_KMDQ_PE1(config-router)#neighbor 4.4.4.4 remote-as 28
/指定BGP邻居
R2_KMDQ_PE1(config-router)#neighbor 4.4.4.4 update-source lo0
/指定邻居更新接口
R2_KMDQ_PE1(config-router)#address-family vpnv4
/进入到VPNv4路由实例中
R2_KMDQ_PE1(config-router-af)#neighbor 4.4.4.4 activate
/激活VPNv4邻居
R2_KMDQ_PE1(config-router-af)#neighbor 4.4.4.4 send-community both
/启用发送团体属性
R2_KMDQ_PE1(config-router)# address-family ipv4 vrf xzx
/进入虚拟路由实例xzx中 R2_KMDQ_PE1(config-router-af)# redistribute connected
/重分布直连路由到BGP路由中
R2_KMDQ_PE1(config-router-af)# redistribute static
/重分布静态路由到BGP路由中
(3)验证MPLS-VPN平台
利用show ip cef vrf xzx detail命令查看PE1路由器上的FIB表,可以看出,去往目的地103.103.10.0/24的数据包会被压上双层标签:外层标签303和内层标签204。当源CE1站点发起对CE2站点目的地103.103.103.0/24访问的时候,一个纯IP数据包进入PE1时,就会被压上双层标签,一个为外层标签303:这个标签就是P路由器分配的BGP下一跳PE2的标签。另一个为外层标签204,也就是PE2分配给目的站点103.103.103.0/24的标签。数据包被PE1压上双层标签后,转发给P路由器,P路由器根据数据包的外层标签,查看LFIB表并弹出最外层标签,转发给PE2路由器。PE2路由器收到数据包后,弹出最后一层标签,数据包就是一个纯IP包了,然后查询路由表,转发给相应的路由器CE2即可。
利用PING命令在VM1上分别PING VM3和VM2
通过PING测试我们发现:VM1只与VM3建立了正常通信,这说明VM1已经成功的与VM3建立起了MPLS VPN通道,并与公网用户VM2实现了隔离,MPLS VPN建立成功。
4.3 为MPLS-VPN 提供QoS保证
通过上文分析得知为MPLS-VPN提供QoS保证首先需要对数据流进行分类,其次对不同类别的数据采用不同的带宽、队列及早期检测机制来保证特殊业务通信需求。
(1)CE2路由器的配置
CE2路由器模拟的是靠近提供服务端的路由器,其下的业务共分为四类。
建立匹配不同类别数据流的ACL
R5_CE2(config)#access-list 101 permit ip host 103.103.103.201 any
R5_CE2(config)#access-list 102 permit ip host 103.103.103.202 any
R5_CE2(config)#access-list 103 permit ip host 103.103.103.203 any
R5_CE2(config)#access-list 104 permit ip host 103.103.103.103 any
建立class-map匹配相應的ACL
R5_CE2(config)#class-map match-any SP
R5_CE2(config-cmap)#match access-group 104
R5_CE2(config)#class-map match-any CLASS2
R5_CE2(config-cmap) #match access-group 102
R5_CE2(config)#class-map match-any CLASS3
R5_CE2(config-cmap) #match access-group 103
R5_CE2(config)#class-map match-any CLASS1
R5_CE2(config-cmap) #match access-group 101
建立policy-map为不同的class-map设置相应的IP优先级
R5_CE2(config)#policy-map CEin
R5_CE2(config-pmap)#class SP
R5_CE2(config-pmap-c)#set precedence 4
R5_CE2(config-pmap)#class CLASS1
R5_CE2(config-pmap-c)#set precedence 1
R5_CE2(config-pmap)#class CLASS2
R5_CE2(config-pmap-c)#set precedence 2
R5_CE2(config-pmap)#class CLASS3
R5_CE2(config-pmap-c)#set precedence 3
将policy-map应用到相应端口上
R5_CE2(config)#interface FastEthernet0/0
R5_CE2(config-if)#service-policy input CEin
(2) PE2(模拟成都主干)路由器的配置
在入方向建立class-map匹配相应的IP优先级及DSCP优先级,建立policy-map 将IP优先级映射成MPLS优先级并应用到端口。
建立class-map
R4_CD_PE2(config)#class-map match-any SP
R4_CD_PE2(config-cmap)#match ip precedence 4
R4_CD_PE2(config-cmap)#match dscp 32
R4_CD_PE2(config)#class-map match-all CLASS2 R4_CD_PE2(config-cmap)#match precedence 2
R4_CD_PE2(config-cmap)#match dscp 16
R4_CD_PE2(config)#class-map match-all CLASS3
R4_CD_PE2(config-cmap)#match dscp 24
R4_CD_PE2(config-cmap)#match precedence 3
R4_CD_PE2(config)#class-map match-all CLASS1
R4_CD_PE2(config-cmap)#match precedence 1
R4_CD_PE2(config-cmap)#match dscp 8
建立policy-map
R4_CD_PE2(config-pmap)#policy-map PEin
R4_CD_PE2(config-pmap)#class SP
R4_CD_PE2(config-pmap-c)#set mpls experimental 4
R4_CD_PE2(config-pmap)#class CLASS3
R4_CD_PE2(config-pmap-c)#set mpls experimental 3
R4_CD_PE2(config-pmap)#class CLASS2
R4_CD_PE2(config-pmap-c)#set mpls experimental 2
R4_CD_PE2(config-pmap)#class CLASS1
R4_CD_PE2(config-pmap-c)#set mpls experimental 1
将policy_map应用到端口
R4_CD_PE2(config)#interface Ethernet1/1
R4_CD_PE2(config-if)#service-policy input PEin
在出方向建立class-map比配相应的MPLS优先级,建立policy-map将不同的数据流加入不同的队列、设置不同的带宽保证及拥塞预防机制并应用到端口。
建立class-map
class-map match-any PQ
match mpls experimental 4
match ip precedence 4
match dscp 32
class-map match-any SP
match ip precedence 4
match dscp 32
class-map match-any CQ
match mpls experimental 3
match mpls experimental 2
match mpls experimental 1
建立policy-map
policy-map PEout
class PQ
priority percent 25
class CQ
bandwidth percent 10
random-detect
class class-default
random-detect
將policy_map应用到端口
R4_CD_PE2(config)#interface Ethernet1/0
R4_CD_PE2(config-if)#service-policy input PEout
(3) P(模拟昆明骨干)、PE1(模拟昆明某地区节点)路由器的配置
P路由器的配置与PE路由器的出口方向配置相同,只需将相应的policy_map应用到出和入两个端口即可。
PE1配置与PE2配置相同,建立其数据流的双向QoS保证,其配置略。
4.4 验证MPLS-VPN QoS
利用show policy-map interface 查看PE2、P相应端口的QoS策略, 我们可以看出CE2路由器将VPN中不同用户数据流进行了区分,并成功的进行了IP优先级的标记,在PE2的入方向也成功的将IP优先级匹配到了MPLS优先级上,在PE2的出方向和P路由器上成功地将数据流分成了两个队列:一个是PQ(优先级队列),给予了最短时延和25%的带宽保证,另一个是CBWFQ(基于分类的加权公平队列),采用了WRED(加权随机早期检测)机制并给予了10%的带宽保证,从而实现了MPLS VPN用户在骨干网络中的差别服务,提供了按需的QoS保证。
采用MPLS-VPN技术是解决现有信息网络融合的一种可行方案,能够实现资源的集中管理和集约化使用,大大地节约人力物力成本。
5 小结
本文围绕当前企业信息网络存在的问题,引入MPLS-VPN技术相关理论,针对信息网络的现实需求以及未来的发展动态,设计了一个安全可靠、可扩展、易于管理的基于MPLS-VPN的信息网络融合方案。随后,通过模拟实验详细数据分析,进一步验证了基于MPLS-VPN技术的信息网络融合方案是安全可靠、可扩展、易于管理的。
作者简介
夏哲学(1979-),男,工程师,研究方向:计算机网络