《MPLSVPN笔记》word版_第1页
《MPLSVPN笔记》word版_第2页
《MPLSVPN笔记》word版_第3页
《MPLSVPN笔记》word版_第4页
《MPLSVPN笔记》word版_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MPLSMPLS-multiprotocol label switchMPLS是IP的承载层,但与实际的L2链路层还是有区别,所以定义为2.5层MPLS包头结构:32bitLabel-20bit保留-3bit 通常用作COSS-1bit 标明是否是栈底,标明MPLS标签可以嵌套TTL-8bit 防环(万一IP出现环路怎么办)MPLS最有魅力之处:理论上无限制嵌套MPLS术语:Label-FEC-转发等价类(强调的是一种动作,例如这个接口进那个接口出就是一个动作,这个动作就称作一个FEC,或者从某个接口进打上什么标做什么QOS,这个动作可能就是另一个FEC,作为厂商:最好是一条路由对应一个FEC

2、,而FEC就绑定label,所以可以有一条路由对应一个label)LSP-标签交换通道( 假设一条路由从A网段来,到B网段去,那么沿途的路由器如果有该路由的话都会维护相同的FEC,这样就会有一条路径产生,这条路径就是LSP,一个FEC的数据流)LSP很像frame-relay里的PVC概念LSR-标签交换路由器 LSR是MPLS网络的核心交换机,提供标签交换和标签分发(分配标签)功能LER-标签交换边缘路由器 LER在MPLS的网络边缘 进到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签 提供更多的功能,涉及到进流量打标签,出流量弹标签链路层协议收到MPLS报文,如何

3、判断这是一个MPLS报文,应该送给MPLS处理,而不是像普通IP报文那样直接送给IP层处理?以太网中:回顾802.3以太网帧头部有个type字段,如果是0800则表明上层是IP报文,如果是0 x8847(单播)0 x8848(组播)则表明链路层承载的是MPLS报文PPP中:增加了一种新的NCP:MPLSCP,用0 x8281来标识LDP(label distribution protocol)标签分发协议Label的转发很容易,如何生成label则很难,LDP就是一个动态生成label的协议LDP消息:先UDP发现邻居,再TCP形成会话Discovery:用于通告和维护网络中的LSR的存在Se

4、ssion:用于建立,维护和结束LDP对等实体间的会话连接Advertisement:用于创建,改变和删除特定FEC标签绑定Notification: 用于提供消息通告和差错通知LDP标签分配方式:DOD:(不再使用的方式)下游按需标记分发,即上游向下游请求DU:下游自主标记分发 16以下label值为保留,其中3label是ELSR给倒数第二跳(ELSR的上游LSR)的特殊label,当该LSR收到3label就隐含知道自己是倒数第二跳,当数据(数据层面)传到自己时直接弹出(PHP)label,变成了纯数据交给ELSR直接做路由转发,而不需要等到数据到了ELSR,ESLR发现自己已经没有出l

5、abel了,即刻做弹出,再做IP路由转发,这样浪费一个周期是不明智的,PHP的价值就在于数据到了自己就弹出,给ESLR的数据已经没有label了,直接由ELSR做IP路由转发上游与下游:在一条LSR上,数据层面看:相邻LSR分别叫上游LSR和下游LSR,下游是路由的始发者(控制层面)自己产生的label是IN label 收到的label都是out label心法口诀:入标签是我分给别人的,出标签是别人分给我的 我分配的标签是给别人用的,我不会添加到报文中LDP标签保留方式:(常用的是自由方式,保留所有label)自由方式:保留(来自邻居所有发送来的label)-lsp收敛快保守方式:丢弃(所

6、有非下一跳邻居发来的label)-lsp收敛慢LDP标签控制方式:(常用有序方式)有序方式:独立方式:MPLS的衰落:还是基于一种软件转发,当硬件转发出现后(基于ASIC ,NP)MPLS的这种转发模式似乎没有起到多大的效能提升。VPNOverlay VPN:是一种基于tunnel的VPN,安全里面所涉及的VPN全部是overlay VPN (ipsecVPN,GREVPN)Peer-to-peer VPN:一种动态VPN的建立VPN角色:CE(custom edge):客户边缘设备-主要负责跟ISP去连接PE(provider edge):营运商边缘路由器-负责接入客户P (provider

7、 router):营运商核心路由器-负责骨干网中的转发OverlayVPN:1.其隧道建立是在CE上建立的:跟ISP的网络环境没有任何关系,ISP只会把这个当成普通路由而已(例如:GRE,ipsec)-这种VPN是一种非动态的,维护性较差(例如再增加一个VPN站点就存在一个N平方的问题)需要在客户方(CE设备上)进行配置,通常客户方不愿意也没这个能力2.其隧道建立在PE上建立的:在PE上为每个VPN用户建立相应GRE隧道,路由信息在PE于PE之间传递,公网中的P设备不知道私网的路由信息-这种相当于客户把VPN的创建及维护完全交给ISP,但不同的VPN用户不能共享相同的地址空间Overlay V

8、PN的本质:一种“静态”VPN,无法反映网络的实时变化,新增VPN结点后存在N平方问题如果tunnel建在CE上:必须客户自己建立并维护如果tunnel建在PE上:无法解决地址冲突问题Peer-to-peer VPN:指CE-to-PE间交换私网路由信息,然后由PE将这些私网路由在P网络中传播(动态路由协议),这样这些私网路由会自动传播到其他PE上-解决了“动态”问题,但没有用到tunnel技术,私网路由会泄露到公网上,此时需做严格的路由控制才行1.共享PE方式:解决了“动态”问题,但仍然没有解决地址冲突和tunnel问题,而且为了防止连接在同一台PE上的不同CE间互通,需在PE上配置大量AC

9、L2.专用PE方式:解决了“动态”问题,无需配任何ACL,但是代价太高, 新加一个VPN用户就需要一台专用PE,而且也没有解决地址冲突问题和tunnel问题Peer-to-peer VPN 本质:虽然解决“动态”问题,但不是一种tunnel技术,造成私网路由会泄露到公网,还是无法解决地址冲突问题以上VPN的各种局限性总结:1.要想保障安全性,需要tunnel技术2.GRE,ipsec都是一种静态tunnel技术,无法解决“动态性”3.地址冲突的问题是以上任何一种VPN技术无法解决的使用VPN一定要解决的问题:1.如何提供一种动态建立的tunnel技术?2.如何解决不同VPN地址冲突问题?解决动

10、态建立tunnel技术的问题:MPLS的PHP技术可以提供一种动态建立的tunnel技术,其LSP就是一种天然的tunnel并且基于LDP,这种协议又恰恰是一种动态的标签生成协议分析:解决地址冲突问题:必须是一种协议具有良好扩展性-基于TLV元素的 满足的的协议为:eigrp bgp isis而eigrp太私有化,isis则不是基于TCP/IP开发的,所以只剩下bgp了BGP的优势:第一:BGP支持大量路由,满足网络中VPN路由数量大第二:IBGP中可以满足不直连的路由器间建邻居特性,在设计时假设两个不直连的路由器是都是一个AS内的边界,他们之间可建邻居,但AS内的其他路由器可只运行IGP帮其

11、传BGP的路由(这里指VPN信息)但自身不用包含VPN路由,这些路由器在设计时可选为P路由器-只传递VPN路由,但不包含VPN路由信息第三:AS内的两台边缘路由器选作PE路由器后,BGP可运载附加在路由后的任何信息(作为可选BGP属性),其他不了解这些属性的BGP路由器都将透明的转发这些带可选BGP属性的路由,使得PE路由器间能简单的传播路由(这里可以是带VPN信息的路由)至此,仍然未解决地址冲突问题,三大难关:识别,传输,转发解决思路:1.可将一台PE模拟成多个虚拟的专用PE理论:VRF(VPN 路由转发实例) 每个VRF可看做一个虚拟路由器,即一台专用PE(包括独立路由表,独立地址空间,属

12、于该VRF的接口集合,只用于本VRF的路由协议)RT的本质:每个VRF表达自己的路由取舍及喜好的方式 分两部分:Export target:表示我发出的路由的属性Import target: 表示我对哪些路由感兴趣RT很好的解决了地址冲突的问题,但RT能否作为传递时的标识呢?理论上可以但是:RT实际就是一个路由属性,不是与IP前缀放在一起,而RD则是在IP前缀之前的,相当于和IP前缀在一起,很好的起到在路由传递过程的区分问题,更重要的是:BGP在撤销路由的时候是不带属性的,尽管更新的时候可以使用RT,但在撤销路由的时候,RT作为community属性,不知道到底撤销哪个VPN,所以必须用到RD

13、2.RD的本质:(解决传递中的区分问题)IPV4地址加上RD后变成VPN-IPv4地址族,每个VRF配一个RD,并保证全球唯一,通常为每个VPN配相同的RD,如果两个VRF中存在相同的地址,但是RD不同,则两个VRF一定不能互访,间接互访也不成。RD不影响不同VRF间的路选择以及VPN的形成,这些事情由RT搞定PE从CE接收的是标准IPV4路由,当需要发布给其他的PE路由器时打上RD,变成VPN-IPV4地址仅在ISP网络内部传递,到了接收PE路由器后,该路由器将接收的路由放入本地路由表,用于后来接收的路由进行比较,CE从开始,到路由穿越ISP骨干传给另一个CE,都不知道使用的是VPN-IPV

14、4地址3.MPLS的嵌套解决路由的转发问题总结:以上所有技术都是为实现动态VPN而设计的 通过MBGP解决了本地路由的冲突和路由传递时的冲突问题 通过MPLS解决了数据包在发送时区分的问题(通过label实现)通过MBGP和MPLS就实现了动态VPN技术,称之为MPLS/MBGP/VPNRT用来导入导出路RD用来区分CE的相同路由MP-IBGP用来传递VPN私有路由信息,该VPN私有路由信息已被加上RD,RT和私有label(加在VPN的IP路由头部,那么VPN的私有IPV4路由变成了VPNV4路由,BGP能很好支持不同协议,所以VPN私有路由信息便在公网中传递到另一端的PE路由器中)如果再对

15、SP内的路由器全部开启MPLS转发方式,那么在SP内部无需做IBGP的full-mesh,因为数据包的转发不用再查路由表而是通过MPLS转发,不用担心路由黑洞的发生(即使发生也不怕,因为不查路由表),通过MPLS的转发方式只用知道下一跳就行了,在SP内部经过PHP和最后一个PE,MPLS的label(即公网label)被弹出,露出私网label,最后一个PE通过不同的私网label将数据转发到相应的CERT,RD是为控制层面服务的,而私网label和公网label是为数据层面服务的实例:私网label:是通过MBGP随机分配的,主要是为了对方在收到一条路由后,对方可以转发数据包了,此时对于数据

16、来说是通过私网label来区分如何到达正确的VPN即-私网label是由MBGP分配做数据转发区分VPN而用的,私网label在内层通过MBGP随机分配的私网label,RT,RD就构成了VPN的三要素,其中的私网label就是为了区分数据是给哪个VPN的公网label:主要是为了强调如何到达BGP的下一跳,通过LDP算出来的,公网label嵌套在最外层,当数据转发时充分利用了PHP(倒数第二跳弹出)原理,当数据传到PHP路由器时,外层的公网label被弹出,剩下内层的私网label,而私网label正好可以判定如何到达正确的VPN 配置步骤:1. 预配。常见VRF,配置相应的route-target,RD;将接口加入VRF中,配置IP address(注意:如果接口本身之前有ip地址,然后再把接口加入到VRF中,之前的ip地址将被抹掉,所以要注意先后顺序),routing protocol(CE-PE)2. 验证CE-PE的路由信息3. 在PE和P路由器上起BG

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论