2. 湖南大学, 长沙 410082;
3. 湖南师范大学, 长沙 410012
2. Hunan University, Changsha 410082, China;
3. Hunan Normal University, Changsha 410012, China
随着企业业务的发展, 越来越多的企业采用VPN(virtual private network, 虚拟私有网)的方式保障企业总部与各分支机构及业务合作伙伴数据的交互. 而随着企业分支机构、业务合作伙伴呈爆炸式的增长, 传统VPN如GRE[1]、L2TP[2]、IPSEC[3]方式构建的VPN由于隧道需静态建立, 每一个分支机构、业务合作伙伴需要分别构建其隧道, 使得隧道的建立呈平方增长, 这种静态隧道的部署方式配置繁杂、管理困难、业务数据的隔离实现复杂, 已满足不了企业发展的需要[4].
而MPLS (multi-protocol label switching, 多协议标签交换[5])的LDP (label distribution protocol, 标签分发协议)根据公网路由信息能动态生成标签转发表, 其标签转发表的形成为私网数据穿越公网提供了通道. 对于企业各分支机构或合作伙伴业务数据的隔离, 由于 BGP (border gateway protocol, 边界网关协议)[6]可以为不同的业务数据打“标记”, 并根据其“标记”来识别与控制业务数据的访问. 因此, 越来越多的企业青睐于采用MPLS构建天然隧道, 采用BGP控制数据的访问与隔离, 目前MPLS与BGP技术构建的VPN应用越来越广泛[7-9].
然而, 随着企业接入的分支机构及合作伙伴爆炸式增长, 对运行MPLS与BGP技术的设备性能是一大考验. 因为该设备处于公网与私网的交界处, 不但要处理来自公网的数据, 而且需要处理来自各分支机构的私网数据. 当需处理的数据量超过设备所承载的范围, 会影响到数据的正常交互, 严重时导致设备宕机[10, 11].
IRF (intelligent resilient framework)[12]是一种基于云计算的网络设备虚拟化技术, 该技术可以将多台物理设备虚拟成一台逻辑设备, 逻辑设备融合了所有物理设备的资源, 可以多台物理设备对数据进行分布式的处理与负载均衡. 因此, 本文将该技术与MPLS与BGP技术相结合, 采用IRF实现数据的分布式的处理与负载均衡; 采用MPLS构建隧道, 为私网数据穿越公网提供通道; 采用BGP实现数据的访问控制与隔离, 进而为企业构建一个稳定、可靠、安全的虚拟私有网, 为企业稳步发展保驾护航[13-15].
2 方案设计为了更好地阐释该设计方案相比传统方式的优越性, 方案构建了两个网络拓扑, 一个是采用传统方式构建的网络拓扑, 另外一台是采用网络设备虚拟化技术构建的网络拓扑. 图1是采用传统方式构建的网络拓扑. 在图1所示的网络拓扑中, 在公网的边缘设备A、公网设备、边缘设备B上构建一条隧道, 并在边缘设备上分别给分支机构A设备与企业总部机构A设备、分支机构B设备与企业总部机构B设备构建其独立的虚拟私有网, 分别是VPNA与VPNB. 通过隧道来传输分支机构A与企业总部机构A、分支机构B与企业总部机构B的私网数据.
而采用网络设备虚拟化技术构建的网络拓扑如图2所示. 该网络拓扑为了后续描述的方便, 将传统方式拓扑图中的分支机构A与分支机构B分别表示branch1、branch2; 企业总部机构A与企业总部机构B称之为h1、h2; 连接分支机构A与分支机构B的两台边缘设备表示为ed1、ed2, 两台边缘设备虚拟化后的设备表示为v1; 连接企业总部机构A与企业总部机构B的边缘设备分别称之为ed3、ed4, 两台边缘设备虚拟化后的设备表示为v2. 在该网络拓扑中, 分支机构A与分支机构B、企业总部机构A与企业总部机构B采用了相同的私网地址, 而通过方案的访问控制与隔离技术, 即使采用了相同的地址, 也不会引起地址的冲突.
实现branch1与branch2、h1与h2业务数据的隔离, 由v1、v2分别负载分担branch1与branch2、h1与h2业务数据, 以及branch1与h1、branch2与h2的私网数据穿越公网, 保障其私网数据的交互, 其方案的设计理念如图2所示.
(1)首先采用网络设备虚拟化技术IRF将ed1与ed2、ed3与ed4分别虚拟成v1与v2, 为分布式处理与负载分担branch1与branch2、h1、h2的私网数据奠定基础. 虚拟化部署成功后, 采用多进程与虚拟路由技术相结合的方式实现branch1与branch2、h1与h2私网数据的本地隔离, 进而加强数据的安全性.
(2)其次在v1、p、v2设备上, 部署MPLS技术, 生成标签转发表, 根据标签转发表来构建动态隧道. 为branch1与branch2、h1与h2私网数据穿越公网提供通道.
(3)最后在v1与v2设备上, 部署BGP技术, 借助其BGP的LABEL属性为branch1与branch2、h1与h2私网数据打上不同的“标记”, 即使branch1与branch2、h1与h2采用了相同的私网地址, 根据其标记也可以识别. 同时部署BGP的RT (route target)属性控制其branch1的私网数据穿越公网后, 只能与h1进行业务数据的交互, 不能与h2进行业务数据的交互. 同理, branch2的私网数据只能与h2交互, 不能与h1交互. 通过上述两种BGP属性实现私网数据的访问控制及私网数据的隔离, 保障了数据的安全.
3 方案实现为了验证设计理念的可行性与优越性, 借助其实验室的网络设备, 搭建设计理念图2所需的环境, 通过网络资源池的构建、隧道的建立、私网数据的控制与隔离完成方案的部署.
(1)网络资源池的构建
图2中ed1与ed2能否虚拟成v1, 直接影响能对branch1与branch2进行分布式处理与负载分担. 而实现图2拓扑中ed1与ed2的虚拟化, 需将两台设备规划于一个域中进行管理, 并保障两台设备在域内成员编号的唯一性. 同时, 分别在两台物理设备上创建其对应的逻辑端口, 将两台设备相连的物理端口与逻辑端口绑定. 上述部署完成后, 在两台设备运行irf-port-configuration active指令使两台物理设备ed1与ed2进行竞争选举, 竞选胜出的一方成为该资源池中的主设备, 另外一台成为从设备, 在资源池中对主设备的部署都会同步到从设备. 图3是采用上述方法部署后, 在ed1上查看网络设备虚拟化的情况, 从图3的结果说明已将ed1与ed2两台物理设备成功虚拟为一台逻辑设备. 而对于ed3与ed4设备的虚拟, 其方法与ed1与ed2相同, 在此不再赘述.
(2)网络资源池上隧道的建立
网络资源池的构建使ed1与ed2、ed3与ed4能对branch1与branch2、h1与h2私网数据进行分布式处理与负载分担. 而branch1与h1, branch2与h2私网数据的交互需在图中的网络资源池上构建一条穿越公网的隧道. MPLS技术的标签分配协议分配的标签转发表是一种天然隧道. 因此, 在该方案中, 在v1、p、v2设备上采用MPLS技术, 为图2中的v1的3.3.3.1、p设备的3.3.3.2、v2的3.3.3.3分配标签. 其标签的分配分为两步完成, 第一是启动3台设备的MPLS功能, 并在3台设备上通过mpls lsr-id指令给3台设备标识其身份; 第二是在3台设备相连的接口下启动MPLS与MPLS LDP协议的功能, 让设备能交互MPLS协议报文, 并生成标签转发表, 形成转发私网数据的路径. 图4是采用上述策略后, ed1设备生成的标签转发表情况.
图4生成的标签转发表, 当私网数据需要穿越公网时, 采用标签转发表中的标签来封装私网数据, 将私网数据封装在标签里面, 根据标签来完成数据的转发, 进而使得私网数据成功穿越公网.
(3)私网数据的访问控制与隔离
为了更好地验证该设计方案能实现私网数据的访问控制与数据隔离, branch1与branch2、h1与h2采用了相同的私网地址, 如方案不能实现对私网数据的访问控制与隔离, branch1与branch2、h1与h2私网数据到达v1与v2时, 会产生地址冲突.
图5为ed1主设备给branch1与branch2私网路由分配的label与RT值. 如图5所示, ed1主设备给branch1设备的172.16.1.1分配的label属性值是1 279, 而给branch2设备的172.16.1.1分配的label属性值是1 276, 进而通过label属性值区分172.16.1.1属于branch1, 还是属于branch2的私网数据.
4 方案评估
(1)方案测试
为了评估方案的有效性, 从可用性、安全性、数据分布式处理与负载均衡量方面对方案进行相应的测试.
1) 可用性测试
在branch1上运行tracert命令与ping命令去访问企业总部机构A, 其测试结果如图6所示.
图6的tracert与ping命令测试结果充分表明, branch1到达企业总部机构A的路径通畅, 而且能相互访问.
在branch2上运行tracert命令与ping命令去访问企业总部机构B, 其测试结果如图7所示.
图7的测试结果与图6一样, 图6和图7的测试结果说明branch1与h1, branch2与h2的私网数据成功穿越公网, 并能进行私网数据的交互.
2) 数据访问控制与隔离测试
考虑到数据的安全性, 企业不同分支机构的私网数据及总部不同业务部门的业务数据不能让其相互访问, 在ed1通过运行dis ip routing-table vpn-instance vpna protocol ospf与dis ip routing-table vpn-instance vpnb protocol ospf命令后显示的结果如图8所示, 不同分支机构在ed1上的私网数据分别导入到各自的实例路由表中, 实现了不同分支机构数据的隔离, 并避免了地址的冲突, 使地址可以重复利用. 而总部不同业务部门的数据隔离, 测试方法相同, 在此不再赘述.
3)分布式处理与负载均衡量的测试
传统方式采用一台边缘设备承载不同分支机构的私网数据, 而随着接入的分支机构的增多, 边缘设备的负载越来越重, 当负载达到边缘设备的极限时, 会影响私网数据的正常交互. 而该设计方案, 采用多台物理设备虚拟成一台逻辑设备, 形成一个网络资源池, 资源池所有的设备资源能进行统一的调度与管理, 由多台设备共同承载不同分支机构的私网数据, 通过分布式处理的方式减轻设备的负载. 图9是通过抓包软件Wireshark, 抓取branch1的地址172.16.1.1访问h1的10.3.1.1的情况; 图10是branch2的地址172.16.1.1访问10.4.1.1的情况, 图9表明ed1承载branch1访问h1的数据, 图10显示ed2承载branch2访问h2的数据, 进而实现了数据的分布式处理与负载分担.
(2)性能对比
该设计思想采用多台边缘设备分担不同分支机构的私网数据, 实现了私网数据的分布式处理与负载均衡. 该设计理念相比传统方式, 还存在如表1的优势.
表1从10个维度将本文方案与传统方式进行了对比, 对比情况表明, 本文方案从可靠性、扩展性、可管理性等方面要优于传统方式.
5 结束语
方案为了解决随着边缘设备接入的分支机构越来越多, 使得边缘设备需要处理的私网数据与公网数据暴增, 进而导致边缘设备负载过重, 影响其数据的正常交互, 进而提出了网络设备虚拟化技术IRF与MPLS和BGP技术深度融合的解决方案. 同时, 利用实验室设备实证了方案的可行性, 对方案进行了可用性、安全性、可靠性的测试, 并与传统方式构建的VPN进行了对比分析, 从测试与对比结果表明, 该方案能实现数据的分布式处理与负载分担, 相比传统方式存在有一定的优势, 是一种有效VPN解决方案. 因实验室条件有限, 无法对方案的吞吐量、并发数进行测试. 下一步准备购买相关设备, 测试本文方案与传统方案的吞吐量与并发数, 并对测试结果进行对比分析, 总结出本方案的优势.
[1] |
段小焕. GRE over IPSec VPN技术实现异地WLAN统一管理. 电子技术与软件工程, 2020(6): 15-17. |
[2] |
彭治湘. L2TP over IPSec VPN NAT穿越技术研究与实验仿真. 信息技术与信息化, 2020(10): 204-206. DOI:10.3969/j.issn.1672-9528.2020.10.065 |
[3] |
李超凡, 刘伟, 吴响, 等. 高性能IPSec VPN工程设计与仿真. 实验技术与管理, 2021, 38(2): 73-77. |
[4] |
张翔宇, 魏国伟. 基于GRE和IPSec的MPLS L2层VPN技术研究与实现. 网络空间安全, 2020, 11(5): 85-90. DOI:10.3969/j.issn.1674-9456.2020.05.013 |
[5] |
李洁, 陈震, 孙蔚, 等. 基于MPLS的VPN技术应用于企业网络出局线路备份的构想. 通信技术, 2019, 52(5): 1167-1173. DOI:10.3969/j.issn.1002-0802.2019.05.022 |
[6] |
宋高俊, 胡成, 周芳. 基于分层PE技术的MPLS-VPN架构优化. 计算机工程, 2017, 43(6): 66-72. DOI:10.3969/j.issn.1000-3428.2017.06.011 |
[7] |
董旭源, 常鹏, 王宝亮, 等. 校园网MPLS VPN系统的设计研究. 计算机应用与软件, 2017, 34(10): 209-213. DOI:10.3969/j.issn.1000-386x.2017.10.036 |
[8] |
王广泽, 汪鹏, 罗智勇, 等. 一种MPLS VPN的分散校区图书馆教育网组建模型. 哈尔滨理工大学学报, 2017, 22(3): 31-35. |
[9] |
李永芳. 一种跨域铁路数据网综合组网设计与仿真. 实验室研究与探索, 2021, 40(2): 102-108, 126. |
[10] |
圣文顺, 周诚, 孙艳文. MPLS VPN在企业网络中的应用. 计算机技术与发展, 2020, 30(11): 117-122. DOI:10.3969/j.issn.1673-629X.2020.11.022 |
[11] |
陶骏, 匡磊, 徐旺, 等. 基于MPLS VPN和MSDP的跨域组播网络设计. 计算机科学, 2017, 44(S1): 263-265, 287. |
[12] |
鲍磊磊, 唐红昇, 姜淑杨, 等. 基于IRF2和LACP MAD的气象网络设计研究. 计算机应用与软件, 2019, 36(1): 37-141. |
[13] |
王进文, 张晓丽, 李琦, 等. 网络功能虚拟化技术研究进展. 计算机学报, 2019, 42(2): 185-206. |
[14] |
周伟林, 杨芫, 徐明伟. 网络功能虚拟化技术研究综述. 计算机研究与发展, 2018, 55(4): 675-688. DOI:10.7544/issn1000-1239.2018.20170937 |
[15] |
杨仕博, 张磊, 王华, 等. 大型企业资源池网络设备边界防护关键技术及设计. 网络安全技术与应用, 2018(10): 106-108. DOI:10.3969/j.issn.1009-6833.2018.10.057 |