ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:206.16KB ,
资源ID:10935541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10935541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(BGPMPLSIPVPN基本原理.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

BGPMPLSIPVPN基本原理.docx

1、BGPMPLSIPVPN基本原理BGP&MPLS IP VPN基本原理一.MP-BGPVPN为什么使用MP-BGP前面提过,传统的BGP-4(RFC1771)只能管理IPv4的路由信息,无法正确处理地址空间重叠的VPN的路由。为了正确处理VPN路由,VPN使用RFC2858(Multiprotocol Extensions for BGP-4)中规定的MP-BGP,即BGP-4的多协议扩展。MP-BGP实现了对多种网络层协议的支持,在Update报文中,将网络层协议信息反映到NLRI(Network Layer Reachability Information)及Next Hop。MP-BGP

2、采用地址族(Address Family)来区分不同的网络层协议,既可以支持传统的IPv4地址族,又可以支持其它地址族(比如VPN-IPv4地址族、IPv6地址族等)。关于地址族的一些取值可以参考RFC1700(Assigned Numbers)。说明:VRP实现多种MP-BGP扩展应用,包括对VPN的扩展、对IPv6的扩展等,不同的扩展应在各自的地址族视图下配置。默认情况下,对于IPv4地址族,只要指定了对等体的地址及其所在的AS,本端就自动具备与对等体建立会话能力。但是对于其他地址族,需要手工使能。MP-BGP能够在PE路由器之间传播VPN组成信息和VPN-IPv4路由,是通过在BGP中引

3、入扩展团体属性来实现的。MP-BGP中引入了两个新的路径属性:MP_REACH_NLRIMP_UNREACH_NLRI这两个属性都是可选非过渡(Optional non-transitive)的,不提供多协议能力的BGP发言者将忽略这两个属性的信息,不把它们传递给其它邻居。因此,在VPN中,提供多协议能力的PE设备将把VPN路由信息通过MP-BGP发布给具备该能力的对端PE或作为ASBR的PE。不具备该能力的其他BGP对等体将忽略该属性,也就不会识别和保存VPN路由信息。说明可选非过渡是BGP的一种属性类型。如果BGP路由器不支持此类属性,则相应的Update消息会被忽略,且不会通告给其他对等

4、体。下面介绍这两个属性:二.MP_REACH_NLRIMP_REACH_NLRI(Multiprotocol Reachable NLRI),即多协议可达NLRI,用于发布可达路由及下一跳信息。该属性由一个或多个三元组组成,格式如下:图1-1 MP_REACH_NLRI属性的格式1.地址族信息(Address Family Information)域:由2字节的地址族标识AFI(Address Family Identifier)和1字节的子地址族标识SAFI(Subsequent Address Family Identifier)组成。AFI标识网络层协议,对应RFC1700的“Addre

5、ss Family Number”所定义的地址族值。例如IPv4的值是1,IPv6的值是2。SAFI表示NLRI的类型。AFI值为1,SAFI值为128表示NLRI中的地址为MPLS-labeled VPN-IPv4地址。2.下一跳信息(Next Hop Network Address Information)域:由一字节的下一跳网络地址长度和可变长度的下一跳网络地址组成。下一跳网络地址是指去往目的系统的路径上的下一个路由器网络地址。MP-BGP中,BGP发言者在向EBGP对等体发布MP_REACH_NLRI属性时,会把下一跳网络地址设置为本地与对端连接的接口地址。BGP发言者在向IBGP对等

6、体发布MP_REACH_NLRI属性时,保持下一跳网络地址不变。3.网络层可达性信息(NLRI)域:由一个或多个三元组组成。其格式如下:图1-2 携带标签的NLRI格式长度域:标签域和前缀域的总比特数。标签域:标签域由一个或多个标签组成,每个标签长度为3字节。标签的格式与MPLS中定义的一样,最高位表示是否为栈底,接下来三位为0,后面20位是标签值。关于标签的详细介绍请参见VRP 特性描述 MPLS。前缀域:在BGP/MPLS IP VPN中,前缀域由RD和IPv4地址前缀组成。当两个PE(或ASBR PE)之间交换VPN路由信息时,在Update消息中携带MP_REACH_NLRI属性。一个

7、Update消息可以携带多条具有相同路由属性的可达路由信息。三.MP_UNREACH_NLRIMP_UNREACH_NLRI(Multiprotocol Unreachable NLRI),即多协议不可达NLRI,用于通知对等体删除不可达的路由。该属性的格式如下:图1-1 MP_UNREACH_NLRI属性的格式1.地址族标识AFI:与MP_REACH_NLRI属性中的相同,用于标识网络层协议,对应RFC1700的“Address Family Number”所定义的地址族值。2.子地址族标识SAFI:与MP_REACH_NLRI属性中的相同,表示NLRI的类型。3.撤销路由(Withdraw

8、n Routes):不可达路由列表,也是由一个或多个NLRI组成。BGP发言者可以通过在撤销路由域中携带与之前发布的可达路由中相同的NLRI来撤销路由。BGP发言者通过携带MP_UNREACH_NLRI属性的Update消息来撤销VPN-IPv4路由。一个Update消息可以携带多条不可达路由信息。当撤销路由时,如果指定了标签,只有指定的标签被撤销;如果没有指定标签,只有不带标签的路由被撤销。携带MP_UNREACH_NLRI属性的Update消息不再携带其他路径属性。因为不同的路径分配的标签不同,对端只需根据标签来删除对应的路由。三.MP-BGP能力协商BGP路由器通过Open消息协商能力,

9、通过查看OPEN消息中的能力参数来确定对等体所具有的能力(如使用多协议扩展来携带标签映射信息的能力)。BGP路由器如果支持某功能,并且确定对方也具备该能力,那么该BGP路由器将使用该功能与对等体交互。Open消息包含可选的能力协商参数Capabilities,由一个或多个三元组组成。其格式如图6-11。图1-1 BGP可选能力协商参数格式1.Capability Code:唯一标识了该能力的类型。该值为1表示BGP发言者具备MP-BGP能力。2.Capability Length:表示能力值域的长度。MP-BGP能力参数中,能力值域的长度为4。3.Capability Value:能力值域,可

10、变长度,决定于Capability Code。MP-BGP能力参数中,能力值域的格式如图6-12。其中,AFI(2字节)和SAFI(1字节)的含义与MP_REACH_NLRI中的相同。Res.为保留域(1字节)。发送方应将其置0;接收方应忽略该域信息。图1-2 MP-BGP能力值域的格式目前BGP不支持动态能力协商。BGP发言者发布了一个携带可选能力参数后,1.如果收到对端回应的Notification消息,表明对端不支持能力发布。此时BGP发言者将中断与该对等体的会话,发送一个不携带任何可选能力参数的Open消息,试图重新建立BGP连接。2.如果对端支持能力发布,但该可选能力参数是未知的或不

11、支持的,则协商失败。此时BGP发言者将中断与该对等体的会话,发送一个不携带该可选能力参数的Open消息(可能还携带其他可选能力参数),试图重新建立BGP连接。因此BGP能力的变化,如使能或禁止标签路由能力、使能或禁止某地址族能力(如IPv4、IPv6、VPNv4、VPNv6)、使能GR能力等,BGP发言者都会中断与该邻居的会话,之后重新进行邻居能力协商。BGP路由交互的条件MP-BGP对等体之间进行路由交互,必须具备如下条件:1.MP-BGP对等体之间有互相到对方的可达路由BGP的运行是通过消息驱动的,这些消息通过TCP协议进行传播(端口号是179)。为了在对等体之间建立TCP连接,MP-BG

12、P对等体之间必需有到对方的可达路由。BGP对等体不一定就是相邻的路由器,利用逻辑链路也可以建立BGP对等体关系。为了增强BGP连接的稳定性,使用32位掩码的Loopback接口地址建立连接。BGP不会自己去发现和计算AS内部的路由信息,一般通过引入IGP路由、静态配置的路由或直连路由到BGP路由表中。MP-BGP对等体之间建立和维持BGP会话连接Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。对等体在接收到Open消息后,将发送Keepalive消息确认并保持连接的有效性。确认后,对等体间才进行其他类型消息的交换。因此MP-BGP对等体之间必须建立和维持BG

13、P会话连接。四.VPN-IPv4路由更新请求以下几种情况,PE设备需要向对等体请求重传BGP Update消息来刷新路由:本端入口策略发生变化本端新增或删除VPN-Instance实例本端VPN-Instance的VPN-Target属性的添加或删除当需要向对等体请求重传BGP Update消息时,PE向已经和自己成功进行能力协商的邻居发送Route Refresh消息,其中携带AFI和SAFI。邻居收到Route-Refresh消息会重传满足特定AFI和SAFI的所有路由。五.PE上的VPN路由选择私网路由交叉两台PE之间通过MP-BGP传播的路由是VPNv4路由。当接收到VPNv4路由,P

14、E先进行如下处理:1.检查其下一跳是否可达。如果下一跳不可达,该路由被丢弃。2.对于RR发送过来的VPNv4路由,如果本地已有该路由,需检查其Cluster ID是否相同。如果相同,丢弃该路由。3.进行BGP的路由策略过滤,如果不通过,拒丢弃该路由。之后,PE把没有丢弃的路由与本地的各个VPN实例的Import Target属性匹配。VPNv4路由与本地VPN实例的VPN-Target进行匹配的过程称为私网路由交叉。PE在收到VPNv4路由后,既不进行优选,也不检查隧道是否存在,直接将其与本地的VPN实例进行交叉。PE上有种特殊的路由来自本地CE的属于不同VPN的路由。对于这种路由,如果其下一

15、跳直接可达或可迭代成功,PE也将其与本地的其他VPN实例的Import Target属性匹配,该过程称为本地交叉。要使本地交叉成功,需要在被交叉的路由所属VPN对应的BGP-VPN实例地址族下引入直连路由。说明为了能够将报文正确转发出去,BGP路由器必须先找到一个直接可达的地址,通过这个地址到达路由表中指示的下一跳。在上述过程中,去往直接可达地址的路由被称为依赖路由,BGP路由依赖于这些路由指导报文转发。根据下一跳地址找到依赖路由的过程就是路由迭代。在PE上执行display ip routing-table vpn-instance vpn-instance-name verbose命令可查

16、看该PE上交叉成功的私网路由和来自本地CE的路由。该命令的显示结果中,只有对应的状态带有“Active”的路由才被放入VPN实例路由表。VPN实例路由表的查看方法是执行不带参数verbose的display ip routing-table vpn-instance vpn-instance-name命令。隧道迭代为了将私网流量通过公网传递到另一端,需要有一条公网隧道承载这个私网流量。因此私网路由交叉完成后,需要根据目的IPv4前缀进行路由迭代,查找合适的隧道(本地交叉的路由除外);只有隧道迭代成功,该路由才被放入对应的VPN实例路由表。将路由迭代到相应的隧道的过程叫做隧道迭代。隧道迭代成功后

17、,保留该隧道的标识符(Tunnel ID),供后续转发报文时使用。Tunnel ID用于唯一标识一条隧道。VPN报文转发时根据Tunnel ID查找对应的隧道,然后从隧道上发送出去。display ip routing-table vpn-instance vpn-instance-name verbose命令的显示结果中,路由的状态带有“GotQ”表示隧道迭代成功;带有“WaitQ”表示隧道迭代不成功。隧道迭代成功的交叉路由对应的隧道标识符(Tunnel ID)不为0x0。如果交叉路由的隧道标识符为0x0,表示隧道迭代不成功。去往本地CE的报文不从隧道转发,因此本地CE路由和本地交叉路由对应

18、的隧道标识符都是0x0。私网路由的选择规则经过路由交叉和隧道迭代的路由并不是全部被放入VPN实例路由表。从本地CE收到的路由和本地交叉路由也不是全部被放入VPN实例路由表。对于到同一目的地址的多条路由,如果不进行路由的负载分担,按如下规则选择其中的一条:同时存在直接从CE收到的路由和交叉成功后的同一目的地址路由,则优选从CE收到的路由。同时存在本地交叉路由和从其他PE接收并交叉成功后的同一目的地址路由,则优选本地交叉路由。对于到同一目的地址的多条路由,如果进行路由的负载分担,则:优先选择从本地CE收到的路由。只有一条从本地CE收到的路由而有多条交叉路由的情况下,也只选择从本地CE收到的路由。只

19、在从本地CE收到的路由之间分担或只在交叉路由之间分担,不会在本地CE收到的路由和交叉路由之间分担。选择了交叉路由进行负载分担后,一旦从本地CE收到VPN路由,PE选择从本地CE收到的路由之间进行负载分担。负载分担的AS-PATH属性必须完全相同。六.VPNv4路由发布PE设备通过MP-BGP发布给对端PE的VPNv4路由分为两种情况:从本地CE接收的IPv4路由没有配置负载分担时,从CE收到的路由直接转换为VPNv4的路由发送所有对等体配置了负载分担后,从CE收到的路由优选后条数发生了变化,但发送给对等体的只有一条,下一跳为本PE设备。配置负载分担和取消负载分担的配置都会使PE重新发布这条VP

20、Nv4路由。从其他对等体接收过来的VPNv4路由PE把VPNv4路由向别的对等体发送前,需要检查是否从该对等体收到了RD相同的同一条路由:如果没有收到就发送给该对等体;如果收到了,则不再发送。MP-BGP的VPN-IPv4路由发布策略仍与普通BGP相同:存在多条有效路由时,BGP Speaker只将最优的路由发布给对等体。BGP Speaker只把自己使用的路由发布给对等体。BGP Speaker从EBGP获得的路由会向它所有BGP对等体发布(包括EBGP对等体和IBGP对等体)。BGP Speaker从IBGP获得的路由不向它的IBGP对等体发布。BGP Speaker从IBGP获得的路由发

21、布给它的EBGP对等体(在不使能BGP与IGP同步特性的情况下)。连接一旦建立,BGP Speaker把自己所有BGP路由发布给新对等体。七.应用于BGP/MPLS IP VPN的隧道BGP/MPLS IP VPN中常用的隧道有:LSP隧道使用标签转发,是应用于BGP/MPLS IP VPN中常见的隧道。使用LSP隧道作为BGP/MPLS IP VPN的公网隧道,骨干网在转发VPN数据转发时,只在PE设备分析IP报文头,而不用在VPN报文经过的每一台设备都分析IP报文头。这样,节约了对VPN报文的处理时间,可降低VPN报文时延。另外,标签能够被任意的链路层所支持。LSP在功能上与ATM和帧中继

22、的虚电路相同,其安全性与ATM和帧中继网络相当。因此,如果传输BGP/MPLS IP VPN报文的骨干网设备都支持MPLS,建议使用LSP或MPLS TE(Traffic Engineered)作为公网隧道。GRE隧道如果网络边缘的PE路由器具备MPLS功能,但骨干网核心路由器(P路由器)只提供纯IP功能,不具备MPLS功能。这样,就不能使用LSP作为公网隧道。此时,可以使用GRE隧道替代LSP作为VPN骨干网隧道。GRE的详细介绍请参见“GRE协议”。L2TP隧道对于出差用户,不可能总是可以直接接入到MPLS骨干网的PE设备上。这样就无法通过Internet或者是IP骨干网直接访问MPLS

23、VPN内部的站点。此时可以采用L2TP协议来解决此问题。这种技术也称为L2TP接入三层VPN技术。详细介绍请参见“L2TP协议”。MPLS TE隧道MPLS TE是MPLS技术与TE流量工程相结合的技术,通过建立到达指定路径的LSP隧道进行资源预留,使网络流量绕开拥塞节点,达到平衡网络流量的目的。MPLS TE中用到的这种LSP隧道就称为MPLS TE隧道,也是应用于BGP/MPLS IP VPN中常见的隧道。除了具备LSP隧道的优势外,MPLS TE隧道在解决网络拥塞问题方面有着自己的优势。利用MPLS TE隧道,服务提供商能够充分利用现有的网络资源,提供多样化的服务。同时可以优化网络资源,

24、进行科学的网络管理。在MPLS VPN业务中,运营商往往需要为VPN用户的各种业务类型(如语音业务、视频业务、关键数据业务、普通上网业务)提供端到端的QoS保证。为满足用户需求,可以使用MPLS TE隧道,为用户创建具有QoS保证的隧道。此外,使用MPLS TE隧道,运营商还可以根据VPN用户的不同服务要求,通过一定的策略构建各种有QoS保证的VPN服务,具体请参见VPN QoS。八.MP-BGP标签分配在BGP/MPLS IP VPN中,PE通过MP-BGP发布给骨干网的其他相关的PE前,需要将私网路由与MPLS标签关联。当用户数据包在骨干网传输时,携带MPLS标签。每个PE在分配标签前,需

25、要发布一个标识自己的路由。该路由需要通过IGP发布给骨干网的其他PE节点,使其他节点根据该路由为PE分配标签。为了减少全网LSP数量,推荐使用只对32位掩码的Loopback接口的路由分配标签,一般与BGP会话使用同一个Loopback接口。PE分配标签的方法有多种。VRP实现如下两种方法:基于路由的MPLS标签分配:默认情况下,VRP为VPN路由表的每一条路由分配一个标签(one label per route)。这种方式的缺点是:当路由数量比较多时,路由器入标签映射表ILM(Incoming Label Map)需要维护的表项也会增多,从而提高了对路由器容量的要求。基于VPN的MPLS标签

26、分配:为整个VPN实例分配一个标签,该VPN实例里的所有路由都共享一个标签。使用这种分配方法的好处是节约了标签。运营商的运营商(Carriers Carrier)中采用基于路由的MPLS标签分配方式,在目前的VRP版本中,不能在运营商的运营商组网中使用基于VPN的MPLS标签分配。九基本BGP/MPLS IP VPN的路由发布概述在基本BGP/MPLS IP VPN组网中,VPN路由信息的发布涉及CE和PE,P路由器只维护骨干网的路由,不需要了解任何VPN路由信息。PE路由器一般只维护自身接入的VPN的路由信息,不维护所有VPN路由。VPN路由信息的发布过程包括三部分:本地CE到入口PE入口P

27、E到出口PE出口PE到远端CE完成这三部分后,本地CE与远端CE之间建立可达路由,VPN路由信息能够在骨干网上发布。下面分别对这三部分进行介绍。本地CE到入口PE的路由信息交换CE与直接相连的PE建立邻居或对等体关系后,把本站点的VPN路由发布给PE。CE与PE之间可以使用静态路由、RIP、OSPF、IS-IS或BGP。无论使用哪种路由协议,CE发布给PE的都是标准的IPv4路由。PE上的各VPN路由转发表之间相互隔离,并与公网路由转发表相互独立。PE从CE学习路由信息时,PE需要区分该路由应注入哪个路由转发表。通常的静态路由和路由协议自身并不具备这种区分能力,必须使用手工配置实现:1.如果C

28、E与PE之间使用静态路由,需要在配置静态路由时指定VPN实例(使用命令ip route-static vpn-instance)。通常情况下,静态路由用于stub VPN的CE与PE间交换路由,或者CE是个主机或者交换机的情况。如果CE是台主机或者交换机,通常在与之相连的PE上配置到该CE所在site的静态路由,无需使用路由协议。说明:如果一个VPN接收本VPN以外的、非PE发布的路由,并将这些路由发布给PE,这类VPN称为过渡VPN(transit VPN)。只接收本VPN路由以及PE发布的路由的VPN称为stub VPN。PE与CE之间采用静态路由的好处是配置简单,并且可以避免因CE设备的

29、路由振荡影响骨干网PE设备的BGP VPNv6路由的稳定性。2.如果CE与PE之间使用IGP,每个VPN单独使用一个进程,不同的VPN使用不同的进程。此时需要在配置IGP进程时指定VPN实例(例如,ospf process-id vpn-instance vpn-instance-name)。当CE与PE之间使用IGP交换路由信息时,如果站点内包括后门连接(backdoor link)时,处理相对复杂,具体请参见OSPF VPN扩展。另外,在Hub&Spoke组网中IGP在CE与PE之间的使用也有一定的限制,具体请参见Hub-CE与Hub-PE使用IGP,Spoke-PE与Spoke-CE使用

30、EBGP。说明后门连接是指两个Site之间的连接,该连接不经过VPN骨干网。这两个site的流量主要通过VPN骨干网的链路传输,后门连接作为备份链路。3.如果CE与PE之间运行EBGP,需要在相应的BGP VPN实例视图下使能MP-EBGP对等体。从技术角度看,使用BGP是较好的选择:BGP是一种外部网关协议,可以用来实现不同AS之间传递路由信息。使用BGP,CE更易于传递路由属性(如AS-PATH)给PE。BGP提供了丰富的路由策略,能够对VPN路由实现灵活的过滤和选择。如果站点内包括backdoor,BGP也能正确处理,而使用IGP的处理相对复杂。如果PE和CE之间运行EBGP,由于BGP

31、使用AS号检测路由环路,为保证路由信息的正确发送,需要为物理位置不同的节点分配不同的AS号。但VPN站点使用的是私有AS号,不同VPN的站点可能使用相同的AS号。Transit VPN站点使用的AS号要求全局唯一。Stub VPN站点可以复用相同的私有AS号,此时需要在PE上使用BGP的AS号替换功能。入口PE到出口PE的路由信息交换入口PE到出口PE的路由信息交换过程可分为三部分:1.PE从CE学到VPN路由信息后,为这些标准IPv4路由增加RD和VPN Target属性,形成VPN-IPv4路由,存放到VPN实例中。2.入口PE通过MP-BGP的Update报文把VPN-IPv4路由发布给出口PE。Update报文中还携带RD、VPN-Target属性及MPLS标签。BGP发布的VPN-IPv4路由,首先通过策略路由的过滤,然后通过BGP路由策略的过滤,才能被下一跳PE接收到。出口PE收到VPN-IPv4路由后,进行本地交叉、隧道迭代和路由优选,决定是否将该路由加入到VPN实例的路由表。从其他PE接收的并被加入到VPN路由表的路由,本地PE为其保留如下信息以供后续转发报文时使用:MP-BGP Update消息中携带的MPLS标签值隧道迭代成功后的Tunnel ID

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1