思科IP MPLS VPN

上一篇 / 下一篇  2006-12-29 13:34:06 / 精华(1) / 置顶(1) / 个人分类:Cisco专栏

多协议标签交换虚拟专用网(MPLS VPN)推出了一种对等模式,可以支持大规模IP VPN实施。这种模式极大地简化了VPN客户和服务供应商的路由和可管理性,与此同时,确保了VPN间的正确隔离。为实施该模式,MPLS VPN需要现有IP路由协议扩展和一个MPLS传输网络Cisco IOS软件版本12.0(28)S及更高版本都支持思科IP MPLS VPN,它采用了与MPLS VPN相同的功能,但是用IP传输替代了MPLS传输。VPN流量由IP隧道,而非MPLS标签交换路径(LSP)传输。该特性使IP网络上实现了在MPLS上无法支持的MPLS VPN服务。

 

应用、服务和架构

 

无论是在IPMPLS骨干网上实施,思科IP MPLS VPN都保有相同的应用和服务特征。例如,公司可以利用该技术IP网络分段,以在其架构中支持不同的群组,或者为其他服务方提供专用IP服务。这种分段支持重叠地址和灵活的流量转发拓扑结构。在另外一种情况下,网络工程师可以利用该技术构建一种集中服务器基础设施,由多个VPN共享。

 

思科IP MPLS VPNVPN服务供应商和用户提供了全新的应用和服务机遇。例如,MPLS VPN服务供应商可以利用自治系统间配置,将其服务扩展至非MPLS支持的网络。同样,两家供应商可以就MPLS VPN服务达成对等协议,即使他们采用的是IP传输。在另一个案例中,MPLS VPN用户可以将VPN服务分区,以便创建其自身的内部VPN服务。由于在用户和供应商间几乎无需协调,所以,这种应用为分级VPN配置的实施提供了更高的灵活性。图1对采用思科IP MPLS VPN的两种示范应用进行了介绍。

 

思科IP MPLS VPN采用多点IP隧道集合和一个独立地址空间,扩展了原始MPLS VPN架构。每个供应商边缘(PE)都拥有一个多点隧道接口,用于连接PE和其他所有享有VPN服务的PE。该隧道可以转发VPN分组至相应的目的地PE,且同时使VPN分组传输对于中间节点保持透明。每个PE可以通过隧道自动搜索其他可访问的PE(即隧道终端)。

 

1采用思科IP MPLS VPN的两种示范应用:VPN服务扩展和分层VPN

2采用思科IP MPLS VPN的网络逻辑视图

 

采用思科IP MPLS VPN的网络逻辑视图

 

PE搜索过程利用了边界网关协议(BGP)多点协议的简单扩展,它构建于早已应用于各种MPLS VPNBGP扩展之上。多点隧道的独立地址空间为VPN流量提供了隔离功能。这种架构保有与传统MPLS VPN服务相同的可扩展性,并可扩展以支持多项IP隧道技术(见图2)。

 

流量转发和封装

思科MPLS VPN的基本分组转发功能独立于所选的骨干网传输方式(MPLSIP)。在这两种情况下,利用PE支持的各个VPN的虚拟路由和转发(VRF)实例功能,VPN流量可以在PE内保持独立。但是,根据思科MPLS VPN中传输网络的不同,分组封装也有所差异。当使用IP传输时,有两个封装组件:隧道报头和VPN报头。隧道报头负责传输分组至输出PE,而VPN报头则负责确定该位置的相应VPN分组处理流程。

思科IP MPLS VPN当前的实施采用了第二层隧道协议版本3 (L2TPv3)作为IP隧道技术。隧道报头利用L2TPv3进程ID字段识别需要MPLS VPN处理流程的IP VPN分组,并利用Cookie字段提供电子欺骗保护。作为封装的最后部分,VPN报头采用了与MPLS传输中MPLS VPN所用相同的VPN标签。图3对不同传输中提供的MPLS VPN服务封装进行了比较。

L2TPv3VPN流量提供了针对外部攻击的内置保护。一位恶意用户可能会向PE发送VPN封装分组,从而试图向VPN输入分组。在使用MPLS传输时,一般可通过拒绝客户访问接口上来自VPN用户的MPLS分组,来防御这类攻击。在实施IP MPLS VPN传输时,PE设备一般更易于受到IP电子欺骗攻击。网络边界或PE本身需特殊配置和额外处理(如访问控制列表,即ACL等)来识别和阻塞伪装的VPN分组。通过直接在PE中采用强大的电子欺骗防御功能,L2TPv3在接近客户的地点提供电子欺骗防御。所以,无论有无IP ACLL2TPv3都可防止特定VPN上的外部电子欺骗攻击,这是因为每个PE利用预先加密的随机64Cookie来转发分组。

100Mpps的攻击速率下,要想针对思科IP MPLS VPN部署实施一次成功的盲目电子欺骗攻击,将需要至少6000年。恶意用户需知道入口和出口PEIP地址、L2TPv3进程IDCookie,以及VPN标签,才能从外部向VPN输入流量。猜测出随机(64位)L2TPv3 Cookie值的巨大投入消除了成功攻击的可能性。其他字段几乎不会提供超出L2TPv3 Cookie的额外保护,因为它们不能以随机加密方式选择,因此其规模不够庞大,无法阻止一位坚定的攻击者进行猜测。

当需要非加密解决方案时,MPLS VPN可使用其他IP隧道封装,如IP MPLS或通用路由封装(GRE)。采用普通IP隧道封装(IP MPLS)的MPLS VPN实施是最简单的,但最易受攻击。假设一位恶意用户已发现了PE的源和目的地IP地址,该用户只需猜测一个正确的VPN标签(20位)。即便在低攻击速率(数千pps)的情况下,可能在几秒内就会发生安全违背。

第二种方式是使用GRE协议,它有一个未定义的保留密钥(32位)字段。但即使此密钥以类似于L2TPv3 Cookie的方式使用(即填充加密随机值),它仍无法提供足够的防电子欺骗保护。在相对较低的攻击速率下,数小时后就可能出现安全违背(100,000pps时不到12小时)。因此,GRE对此应用意义不大,且会因为需检查和验证各种可选字段而带来不必要的开销。

3IP网络上提供的MPLS VPN服务与MPLS网络上提供的MPLS VPN服务的具体封装比较

VPN路由分发,隧道终端发现

无论采用什么骨干传输(IPMPLS),MPLS VPN都使用相同的VPN路由分发机制。但VPN路由解析在思科IP MPLS VPNMPLS上的MPLS VPN中的运行方式不同。在处理输入VPNv4 BGP更新时,MPLS VPN一般需要PEBGP下一跳执行回归式路由查询。当采用MPLS骨干时,PE将把下一跳与现有LSP匹配。当采用IP骨干时,PE将把下一跳与现有隧道终端相匹配。

成功的匹配可选出作为分组输出接口的多点隧道。该过程保证分组能正确地通过隧道、以正确的封装转发。为正确地进行解析,BGP下一跳被分解为与隧道相关的独立地址空间。否则就会针对全球路由空间尝试解析,以搜索不存在的LSP

思科IP MPLS VPN提供自动隧道终端发现和隧道参数标记。在能进行正确的VPNv4 BGP下一跳解析之前,每个PE都需要知道可通过多点隧道访问其他哪些PE(终端)。此外,每个PE需知道其他PE希望使用的L2TPv3进程IDCookie,以便VPN分组能准确封装。此信息的手动配置不可扩展;随着PE数目的增加,隧道简单的多点特性就会被破坏。

PE利用现有多协议BGP(MP-BGP)基础设施来分发隧道终端信息。思科IP MPLS VPNMP-BGP中定义了一个新的隧道地址系列扩展。此地址系列可用于标记L2TPv3隧道地址、进程IDCookieL2TPv3只可用作封装机制。本地L2TPv3控制面板不起作用。因为已需MP-BGP来分发VPNv4路由信息,此扩展的运行和处理影响极低。相反,当MPLS用作传输机制时,终端发现与VPNv4广播相关联,不标记封装类型(MPLS)及其(LSP)参数。有关通过MP-BGP了解的隧道终端信息,请访问cisco.com/packet/171_5c1

思科IP MPLS VPNL2TPv3用作IP隧道技术,提供了纯IPGRE均缺乏的防电子欺骗保护。控制面板操作得到了扩展,可支持隧道终端发现和通过隧道的VPNv4下一跳解析。凭借思科IP MPLS VPN,现在MPLS VPN能以一种可扩展、安全的方式,部署于任意IP网络之上。

 


TAG: Cisco专栏

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者