本科毕业设计说明书
题 目:MPLS网络的设计与实现 院 (部):计算机科学与技术学院 专 业:网络工程 班 级:网络xxx 姓 名:xx
学 号:2010111xx 指导教师:xx xx
完成时间:2014年5月30日
I
目 录
摘 要 ........................................................... IV ABSTRACT ......................................................... V 1.前 言 .......................................................... 1
1.1 MPLS的历史与未来 ............................................................. 1 1.2 MPLS的必要性 ................................................................. 2 1.3 MPLS VPN在运营商的应用 ....................................................... 2 1.4 论文研究的主要内容和成果 ..................................................... 3
2.需求分析 ....................................................... 3
2.1 整体方案的分析 ............................................................... 3 2.2方案的详细的分析 .............................................................. 4 2.2.1 结构的需求分析 ............................................................. 4 2.2.2 网络的性能需求分析 ......................................................... 4 2.2.3 网络的管理的需求分析 ....................................................... 4 2.2.4实用性需求分析 .............................................................. 4 2.2.5 网络安全需求分析 ........................................................... 5 2.2.6 可靠性需求分析 ............................................................. 5 2.2.7 可扩展性需求分析 ........................................................... 5 2.3 MPLS的优势分析 ............................................................. 6
3.MPLS的技术分析 ................................................ 7
3.1 MPLS的定义 ................................................................... 7 3.2 MPLS 相关知识介绍 ............................................................ 8 3.2.1 标签结构 ................................................................... 8 3.2.2 MPLS Architecture .......................................................... 9 3.2.3 LDP协议原理与配置 ......................................................... 11 3.2.4 LDP基本配置命令、部署建议、标签映射消息的格式、LDP分配标签的三大定律...... 12
II
3.2.5 LDP协议的“标签行为” ..................................................... 14 3.2.6 LDP会话保护 ............................................................... 14 3.2.7 MPLS MTU .................................................................. 15 3.2.8 MPLS TTL .................................................................. 15 3.3 MPLS VPN实现原理 ............................................................ 16 3.3.1 基本模型 .................................................................. 16 3.3.2 虚拟路由转发 .............................................................. 17 3.3.3 MP-BGP .................................................................... 18 3.3.4 PE-CE间运行OSPF .......................................................... 19
4.详细方案的设计与实现 .......................................... 21
4.1 MPLS拓扑图和分析 ............................................................ 21 4.2 详细设计命令及分析 .......................................................... 23 4.2.1 LDP和BGP交互 ............................................................. 56 4.2.2 VRF 中RD与RT ............................................................. 56 4.2.3 PE路由器之间IGP可达 ...................................................... 59 4.2.4 建立基本的BGP连接 ........................................................ 60 4.2.5协议的互相重分发 ........................................................... 61
5.测试结果及分析 ................................................ 63
5.1 MPLS VPN 的控制层面 ......................................................... 63 5.2 工程项目中的TCP连接查看并分析 .............................................. 64 5.3 查看PE端的vrf .............................................................. 66 5.4 查看 bgp vpnv4的邻居关系,及其路由。 ........................................ 67 5.5 测试vrf ..................................................................... 70 5.6 MPLSVPN的数据层面 ........................................................... 72 5.7 标签转发表项 ................................................................ 73 5.8 LDP邻居关系 ................................................................. 75 5.9方案设计中问题分析: ......................................................... 76
6 结论 .......................................................... 78
III
谢 词 ........................................................... 79 参考文献 ........................................................ 80
摘 要
随着Internet网络的飞速发展,越来越多的企业利用Internet开展各种商务活动。对于大部分的企业以及政府机构,在不同省市地区都有各自的办事机构或者分公司,在这种情况下,为了让分支机构的员工能够与总部实时交互数据信息,企业得向ISP租赁网络提供服务,但公网上容易受到各种安全攻击,导致数据信息极度不安全。租赁专线业务的价格又非常昂贵。而VPN的引入则刚好解决了这些问题,它是利用公用网络来连接到企业私有网络。在VPN中,用安全机制来保障数据机密性,安全真实性和完整性的严格访问控制。这样就在公网中建立了一个逻辑上虚拟的私有网络。
基于多协议标签交换(MPLS)的虚拟专网覆盖VNP模型的优点(如隔离性和安全性) 和对等VPN模型的优点(路由简单、容易提供以及可扩展性更好)于一身。
多协议标签交换(MPLS)是以中新技术,能提供高性能的分组转发,其当前最为广泛的应用是在虚拟专网(VPN)方面。MPLS-enabled VPN的推出,使得网络设计人员能够更好地扩展网络。
MPLS-VPN以其良好的安全性、可靠性、扩展性、灵活性、经济性、可管理性等独特优势,赢得了众多企业青睐。
关键词:Internet;企业;安全;可靠;MPLS;VPN
IV
山东建筑大学毕业设计说明书
The Design And Implementation Of MPLS
ABSTRACT
With the rapid development of the Internet, more and more enterprises carry out various business activities by the Internet .For the majority of enterprises, institutions and government agencies , they have their own offices or branches in different provinces and cities. In this case, in order to make the employees in the branch offices exchange the real-time data with headquarters , enterprises have to ask the network to provide service by the ISP. But the public Internet is easily got the various security attacks, resulting in the data information is extremely unsafe. However, the price of leased private line services is very high . Fortunately, the introduction of the VPN is just to solve these problems, which is to use the public network to connect to the corporate private network. In the VPN, the security mechanisms protect and strictly control the data confidentiality, making them security authenticity and integrity. So in the public network, it establishes a logical and virtual private network.
Virtual Private Networks (VPNs) based on Multiprotocol Label Switching (MPLS) combine the benefits of the overlay VPN model, such as isolation and security, with the benefits of the peer-to-peer VPN model, such as simplified routing, easier provisioning, and better scalability.
Multiprotocol Label Switching (MPLS) is an innovative technique for high-performance packet forwarding. The most widely deployed usage of MPLS today is the enabling of Virtual Private Networks (VPNs). With the introduction of MPLS-enabled VPNs, network designers can better scale their networks than with the methods available in the past.
In all the VPN technology, the MPLS-VPN has its own special advances of good security、reliability、scalability、economy and manageability ,which win the popular in many enterprises.
Key words:Internet; Enterprise; Security; Reliability; MPLS ;VPN
V
山东建筑大学毕业设计说明书
1.前 言
1.1 MPLS的历史与未来
多协议标签交换(Multi-Protocol Label Switching,简称MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。多协议的含义是指MPLS不但可以支持多种网络层层面上的协议,还可以兼容第二层的多种链路层技术。它的价值在于能够在一个无连接的网络中引入连接模式的特性;其主要优点是减少了网络复杂性,兼容现有各种主流网络技术,能降低网络成本,在提供IP业务时能确保QoS和安全性,具有流量工程能力。此外,MPLS能解决VPN扩展问题和维护成本问题。MPLS属于第三代网络架构,是新一代的IP高速骨干网络交换标准,由IETF所提出,由Cisco、ASCEND、3Com等网络设备大厂所主导。采用MPLS的数据包只须在OSI第二层(数据链结层)执行硬件式交换(取代第三层(网络层)软件式routing),它集成了IP选径与第二层标记交换为单一的系统,因此可以解决Internet路由的问题,使数据包传送的延迟时间减短,增加网络传输的速度,更适合多媒体讯息的传送。因此,MPLS最大技术特色为可以指定数据包传送的先后顺序。MPLS使用标记交换(Label Switching),网络路由器只需要判别标记后即可进行转送处理。MPLS这项技术的前身是由美国加州的IPSilon公司在1996年提出的一项技术转变而成,即IP SWITCHING。该技术就是通过在ATM交换机上增加一个额外的引擎,采用的数据驱动的方式转发IP地址,当IP匹配以后,ATM就在自己的交换表中记录下来,为到达目的建立一条ATM专线,达到快速转发的目的。
1996年秋,思科对IP switching 做了进一步的改进,推出了一项新的技术,tag switching,即标签交换。路由器在收到了路由以后不执行ip查找,而是执行标签查找,更大的提高了路由器转发的速度。
1996年底,IETF正式的将各大厂家的这种类似的技术标准化,到1997年初,将其命名为MPLS(多协议标签转发) 。
网络的发展,MPLS逐渐走向成熟,MPLS的最初的快速的转发已经没有意义了,而现在MPLS能够支持不仅仅是ipv4,还支持IPV6,IPX等多种协议,并广泛的应用于运营商。本方案研究MPLS VPN的技术,运用该技术实现虚拟专用网,实现不同的VPN之
1
山东建筑大学毕业设计说明书
间的隔离。
1.2 MPLS的必要性
随着目前网络的不断发展,人们对网络的需求越来越复杂,这样运用MPLS VPN能够在网络复杂化的情况下更好的实现网络的简单化:
1) 对不断增加的流量需求。当前的局域网,城域网,广域网对于网络的流量要求越来越
大,人们需要能够在实现接入到运营商的时候能够方便,快捷,安全,而对于运营商的 要求越来越高,越来越趋于苛刻。
2) 对不同的接入方式的需求。越来越多的用户对于接入方式有着不同的需求,不同的用
户希望能够实现与自己的分公司通信的时候还能同时实现访问internet。即用户需要L2 VPN,L3层VPN,专线技术等。
3)对用户的实现简单化的需求。用户想要保证安全性,就必须采用独特的方式,现在成
熟的技术有很多,但是这些技术需要用户需要在本地运用加密方案和加密设备保证安全,同时需要所有的分支都支持VPN。
4)对用户的开销的需求。网络中的越来越多的攻击,越来越多的病毒入侵无疑的带给了
客户端极大的压力,因此它们需要花费极大的费用去防止来自网络中的各种不同的威胁,势必花费巨大的耗资在实现安全的策略上。
1.3 MPLS VPN在运营商的应用
1)MPLS VPN应用在骨干网。当未出现MPLS的时候运营商需要在骨干网中实现各种不同的接入方式,如用PSTN承载骨干网承载语音流量,用FR骨干网承载FR的数据流量,用ATM骨干网承载ATM流量。并且还要将这些骨干网能够很好的融合。给运营商造成了管理的难度和实施技术的难度。
2)MPLS VPN应用在城域网。在城域网中要求能够实现不同的业务需求。并且要求城域网具有很好的扩展性,安全性,可靠性和可运营性。它们需要不同业务开通不同VPN业务,这一特点决定了运营商必须同时支持L2层MPLS VPN,和三层MPLS VPN。一些企业同时对流量也有着不同的需求。城域网中的应用方式多种多样,需求也多种多样,实现MPLS VPN
2
山东建筑大学毕业设计说明书
技术就显得比较重要。
3)MPLS VPN应用在专用网。当采用专用网的时候不采用MPLS VPN,那么用户必须管理自己的VPN,对不同的业务需求建立不同的专用网,这样导致业务的协调将存在很大的问题。
1.4 论文研究的主要内容和成果
本文介绍了MPLS VPN的基本原理和实现技术,应用虚拟路由器的方式,通过标签转发,最后利用MP-BGP传递路由,实现CE路由器之间的安全通信。从最开始阐述了MPLS的历史意义,实现技术的必须性,对方案的需求分析。同时需要做到的是对整体的方案有一个清晰的思路,方案的详细介绍,以及实现方案的原理及步骤的阐释,最后完成测试和测试说明等一系列的内容。
本论文最后完成的工作是为企业与企业之间,企业与用户之间建立一条类似专线的通信链路,基于ip的基础上对不同路由的路径进行合理的控制,同时对来自不同用户的不同的路由协议的很好的一个融合。用户可以应用灵活的接入方式连接到MPLS VPN的骨干网而无需再做更多安全性的策略,还可以享受等同于内部访问的方式发送机密的文件不需要担心泄漏出去。本文设计方案基本实现了上述的几个要求,但是在复杂的现实网络中仍有很多的不足之处需要改进。
2.需求分析
2.1 整体方案的分析
本方案的整体设计是为了面向运营商和广大的用户的需求,为了能够让企业将自己的总公司和全国各个分公司统一的网络规划和连接。企业需要和自己的分公司实现互访,那么最重要的几个因素就是安全,接入方便,可靠,可扩展性强。基于上述几个因素,方案设计思想是将不同的用户之间的信息完全的隔离开来。现在我们假设一个公司想要将旗下的公司统一管理,那么他不可能将自己的公司和公司之间连接的方式通过internet,除非做专线,但是这种方案实施和管理显得相当的繁琐,管理起来很麻烦且价格昂贵。那么他就想寻找一种途径怎么才能让自己能够单独的和自己公司进行私密的交互,并且能够将繁琐的事情简单化,杂乱无章的管理统一化,于是运营商就发现这一特点,将不同的用户划入
3
山东建筑大学毕业设计说明书
虚拟路由器,通过MP-BGP技术承载路由,运用标签传递,这些都是很本方案需要解决的问题。
2.2方案的详细的分析
采用专线或者是传统的VPN的技术管理不同的业务,这些传统的VPN存在安全性,经济性,实用性,扩展性,灵活性等特点,根据上述的要求而引入MPLS VPN技术。 2.2.1 结构的需求分析
由于用户对接入后的稳定性要求比较严格,所以就必须对网络中的路由器的电源,链路等方面考虑冗余备份,一旦节点发生故障或者是电源断电,就必须快速的切换到备用的链路去,而当链路恢复的时候链路再切回主用链路。另一方面为了保证结构的稳定性考虑用环回口建立BGP的对等体的关系。 2.2.2 网络的性能需求分析
路由器必须采用更高性能,足以支撑流量达到峰值的时候还能保证低延迟,低抖动的性能。而相对于CE路由器要求就没有P路由器那么高,它只需要满足能够支撑用户接入端所有的流量即可,这也是相对于企业的大小而言,企业相对较大还是可以采用高性能路由器连接到PE路由器。
2.2.3 网络的管理的需求分析
将企业的需求与实现统一进行管理,从它们之间的不同接入的网络实行规范化,统一化,灵活化。用户不需要自己分散的管理来自各个分支之间的流量,不用考虑通性的安全。只需要将用户的管理的权限交付给ISP,由它们代替用户管理,从而达到管理的简单化。 2.2.4实用性需求分析
企业网的要求设计具有一定的实用性。实用性是指的在网络的构建过程中必须从实际情况出发去考虑,切勿未考虑到用户的实际因素而随便做出结论,实际的因素多种多样,例
4
山东建筑大学毕业设计说明书
如环境因素,建筑结构因素,布线因素等等。需要更好的满足用户的各方面的需求,这样的网络才具备实用性。
为了提高网络的实用性,本方案考虑如下几个方面:
1)采取总体设计、分步实施的技术方案,在总体设计的前提下,方案实施时先进行业务处理层及低层管理,稳步向中高层管理及全面自动化过渡。这样做可以使系统始终与业务实际需求紧密连在一起,不但增加了网络的实用性,而且可使网络建设保持很好的连贯性; 2)设计上要充分考虑当前各业务层次、各环节管理中数据处理的便利和可行,把满足用户业务管理作为第一要素进行考虑;
3)自动化的管理设计充分考虑不同使用者的实际需要; 2.2.5 网络安全需求分析
企业网之间要满足各个分支机构能够互相通信,而在通信过程中流量交互非常大,业务需求各有不同,连接的节点多,对企业来说安全性就显得至关重要。在构建网络的时候应该将网络与信息安全紧密的结合起来,最大限度的保证各种不同的攻击。从物理方面可以从OSI的七层模型中去考虑,即物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。提高它们的安全防护机制。 2.2.6 可靠性需求分析
可靠性分为两种,一种是物理设备的可靠性,二是实际方案可靠。物理的设备可靠指的是物理的设备稳定,具有很好的应急措施,具有很强的故障切换能力,即冗余备份,这些可靠的条件可以是电源冗余,设备冗余等。方案的可靠性是骨干网通过可靠的传输协议传送路由,保证流量正常的到达对端。 2.2.7 可扩展性需求分析
为了满足企业现在和未来的业务变化的需求,方案的设计必须对未来的网络的架构具有扩展性,当企业因为某种原因的需求不同或者是整体的结构发生了变化,设计的网络结构要能够很好的应对企业的变动,变动的过程中尽可能将损失减到很小,更重要的是不要因为变动而引起网络与原有的网络结构完全不符,造成彻底将原有的网络结构淘汰。所以保证在网络结构发生变化的时候能够通过升级网络或者是在原有的基础之上稍微变动更好的
5
山东建筑大学毕业设计说明书
满足来自企业的不断增加的需求。
2.3MPLS的优势分析 1)解决IBGP黑洞路由
在运行IBGP的路由中,为了防止环路,将BGP的TTL设置为1跳,那么从BGP邻居收到的路由将不会传送给另一个BGP的邻居,这样就必须将所有的BGP全互联,在核心的路由器都需要运行BGP,然而目前世界上有大约16万条路由前缀,路由器不得不消耗大量的资源去中转这些流量,但是这些路由器实际不需要得知外部路由的信息,这样就造成了极大的浪费。运行MPLS的好处是能够通过给BGP的路由打上标签,并且它的下一跳总是远端BGP路由,中转路由器无需再运行BGP,大大减小了资源的浪费。 2)更优的数据传输
传统的帧中继和ATM必须使用专门的虚链路的方式转发路由,并且需要手工配置虚链路,这样就是使得用户必须进行复杂的手动配置实现二层之间的通信。而利用的MPLS VPN技术将变得非常简单,它只需要将自己的路由传递给PE路由器,不再手工去配置大量的路由条目。将端到端的传递变得更加简单化。 3)流量工程
网络中的基本路由的选路是根据ip决策成本最低的链路作为到达目的端最优路径,这样的坏处就是当主用链路的流量非常大时,备用链路基本没有流量,根据选路的规则还是会走主用链路。那么主用链路的延迟,抖动将变得非常高,这种基于拓扑的选路是不合理的。通过实施流量工程,可以从特定的前缀或者是特定的服务质量实施从源到目的之间的策略,将这些流量分散到可用的链路上,实现流量的负载。充分的利用了链路的资源,解决的链路中流量不均衡的问题。 4)对等体到对等体的覆盖模型
在引入MPLS VPN之前,一般的运营商到客户VPN都属于覆盖型VPN,它的缺点是只能够为这些客户建立虚链路,不知道客户的路由情况,而MPLS VPN实现了对等体之间的覆盖模型,它能够看到客户的信息,通过客户的要求为它们转发流量的时候采用不同的决策路径,极大的提高的转发的效率。
6
山东建筑大学毕业设计说明书
3.MPLS的技术分析
3.1 MPLS的定义
MPLS(Multiple Protocol Label Switching)称为多协议标签交换,路由器通过在其之间通告MPLS标签来创建标签到标签的映射关系。这些标签都粘连在IP报文中,使得路由器可以通过标签查找来转发数据流量,而不再通过目的IP地址。这样一来,这些报文都是通过标签交换来进行转发的,而不是通过IP交换①。
它可以说是一项技术,也可以说是一种实现网络的路由传输的一种手段。可以将MPLS定义为一种2.5层协议,它脱离了传统基于ip路由查找的方式,转换为基于标签交换。它可以承载多种不同的协议,如rip,eigrp,ospf,bgp,is-is等,它在ip头部之上封装标签,转发路由时只需要查找去往目的标签,逐跳的转发路由。
多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由地址、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制。
在MPLS 中,数据传输发生在标签交换路径(LSP)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。现今使用着一些标签分发协议,如标签分发协议(LDP)、RSVP 或者建于路由协议之上的一些协议,如边界网关协议(BGP)及OSPF。因为固定长度标签被插入每一个包或信元的开始处,并且可被硬件用来在两个链接间快速交换包,所以使数据的快速交换成为可能。
MPLS 主要设计来解决网路问题,如网路速度、可扩展性、服务质量(QoS)管理以及流量工程,同时也为下一代IP 中枢网络解决宽带管理及服务请求等问题。
①
Lue De Gheih:《MPLS技术架构》,人民邮电出版社2008年版,第2页
7
山东建筑大学毕业设计说明书
3.2 MPLS 相关知识介绍
3.2.1 标签结构
MPLS标签是一个32bit的值,前20bit 是不能够随便定义的,它的作用是为路由分配标签值,20bit到22bit是EXP位,用于做QOS,实现MPLS 性能路由的传输,第23bit为栈底位,它用于在标签交换中到达最后一跳路由器的一个标识,当发现该值被置为1的时候,表明是最后的一跳,则弹出,执行三层的路由查找。最后的8bit用作MPLS的TTL,它与IP报头中的TTL值的功能完全相同,当TTL为0以后,它将不再转发该报文,直接将报文丢弃。TTL主要是用来做环路防范机制,每经过一个路由器它的TTL值就会减一,直到减为0。 1)
图3.1 MPLS标签结构
2)标签可以封装不同的二层协议和3层协议之间:
8
山东建筑大学毕业设计说明书
图3.2 标签封装的位置②
如3.2图所示,MPLS的标签可以位于PPP,Ethernet,帧中继,ATM等,提供给了标签交换广泛利用的途径。
根据二层协议字段(协议域)进行判断所受到的报文是MPLS标签报文。 以太网:0x8847 PPP: 0x8281
图3.3 协议域
3.2.2 MPLS Architecture :Control Plane (控制层面) Data Plane(数据层面)
②
van Pepelnjak:《MPLS和VPN体系结构卷1》,人民邮电出版社2010年版,第24页
9
山东建筑大学毕业设计说明书
图3.4 Control Plane
控制层面有IGP路由协议(rip 、eigrp 、ospf ),其组成路由转发表,LEP包括LDP与TDP协议,工业标准为LDP协议,思科默认开启CEF(思科快速转发),通过路由协议download为FIB(路由转发信息库),LDP协议依靠igp协议分发标签,结合FIB形成LFIB(标签信息转发表项)。
图3.5 Data Plane
LFIB分为两个平面:控制平面和数据平面
控制平面中各种IP路由协议通过自己的邻居表获取邻居路由器的信息,每个路由器都
10
山东建筑大学毕业设计说明书
会维护一张邻居表,通过邻居表接收来自邻居传过来的路由,经过自己的路由的算法算出最优的去往下一跳的路由,不同的IGP的算法各不相同,可以将IGP定义为两种大的方向,一种是距离矢量,一种是链路状态,距离矢量同步所有的路由表,而链路状态最典型的代表就是OSPF同步LSA。再根据路由表加上标签,生成的标签都存入LIB表,LIB可以实现与其它路由器的交换标签绑定。在控制平面将LIB表下载到FLIB,通过入站含有标签的数据包在标签转发表中通过标签交换,转发给下一跳路由器的时候带有MPLS标签。
当一IP包进入IP区域,查询路由表download的CEF表项,当一个IP数据包进入MPLS区域时,CEF表中会有从LFIB拷贝过来的标签信息,直接查询CEF表项,在MPLS骨干中进行标签的SWAP时,查询LFIB。当从MPLS区域进入IP区域时,默认会执行次末跳弹出,到对方PE直接查询路由信息转发表项,这样省去查询标签表项,减少延迟,以及硬件资源的利用。
3.2.3 LDP协议原理与配置 ①LDP协议简介
②Lable Distribution Protocol:标签分发协议 ③在RFC3036 中详细定义
④LDP建立邻居分为两个阶段:发现邻居阶段、会话建立阶段。
⑤LDP协议报文除Hello报文基于UDP外,其他报文都是在TCP之上,端口号646。这种基于TCP的可靠连接使得协议状态机较为简单。
11
山东建筑大学毕业设计说明书
图3.6 UDP报文发现LDP邻居
图3.7LDP邻居建立过程
图3.8抓包分析邻居建立过程
LDP在分配标签的时候,0-15是有特殊含义的,标签3为隐式空,0为显示空。 Mpls 使用transport-address 建立TCP连接,默认transport-address为mpls ldp route-id。
3.2.4 LDP基本配置命令、部署建议、标签映射消息的格式、LDP分配标签的三大定律。 ①全局模式
Ip cef (思科路由器必须开启,默认也是开启的) Mpls Lable protocol ldp
12
山东建筑大学毕业设计说明书
Mpls ldp router-id Mpls ip
Mpls label range (该命令实验环境分析用) 接口模式 Mpls ip ②部署建议
首先部署IGP路由协议
必须保证LDP的router id 路由可达(建立TCP连接) ③标签映射消息的格式
一个LDP报文中会承载多个标签映射消息,每个标签映射消息包含两要素:FEC TLV和Lable TLV
图3.9标签映射消息的格式
④LDP分配标签的三大定律
LDP为Igp路由分配标签(静态、动态、直连),为自己直连路由分配pop标签。 LDP不为bgp路由分配标签(只会为bgp路由下一跳地址所对应的igp路由分配标签)。 到目前为止LDP不为ipv6的igp路由分配标签。
13
山东建筑大学毕业设计说明书
3.2.5 LDP协议的“标签行为” ①分配模式:Lable Allocation
独立控制模式(Independent Control):只要本地通过igp学习到的路由前缀,就会为这条路由前缀分配标签(本地也会为直连路由分配pop标签)。
有序控制模式(Odered Control)本地通过igp学习到路由前缀,但必须改路由前缀的下一跳路由器将该前缀所对应的标签映射消息通告给本地本地才会为该前缀分配标签。 ②分发模式:Lable Distribution
下游主动模式:(Downstream Unsolicited)本地会将所生成的标签映射消息通告给所有的LDP邻居。
下游按需模式(Downstream on Demand)只有邻居向本地请求某条前缀的标签映射消息,本地才会通告标签映射消息给邻居。 ③保留模式:Lable Retention
自由模式:(Liberal Retention)本地将从邻居接受到的所有标签映射消息都保存在数据库中。
保守模式:(Conservative Retention)本地仅保存最优路由下一跳邻居所通告到的该路由前缀的标签映射消息。 ④标签空间:Lable Space 基于平台:(Per-Platform) 基于接口:(Per-interface)
思科路由器默认行为:独立控制模式,下游主动模式,自由模式,基于平台。 3.2.6 LDP会话保护
IGP邻居关系和LDP的会话都是以链路为单位建立,如果链路不稳定,LDP session也不稳定,LDP session也不稳定。如果链路断掉,LDP session 要重建,并且不得不再次交换标签绑定。
要避免重建LDP会话,可以对会话进行保护,只要路由可达,LDP session就可得到保护。
14
山东建筑大学毕业设计说明书
解决方案:在LDP邻居两端启用target ldp session ,实现跨越多跳来维持session。
3.2.7 MPLS MTU
MPLS MTU和IP MTU很类似,在给路由分配标签的时候,会在ip报文中附加上一个标签,这个标签上述提到过,是32bit,4个字节。当给路由打上一层标签的时候,MTU由原来的1500变为1504,当有两个标签的时候就是1508,随着标签的增长,ip报头就会不断的增长,这样就会导致一个现象,当超过了1500字节的时候就会对数据包进行分片。为了避免这样的情况发生,采用了MPLS MTU,它的实现就是将MPLS的MTU改为你所期望的值,假设你预测拓扑中需要对路由最多打上几层标签,你就将MPLS的MTU改为1500+n*4,当打上MPLS标签的路由到达入站LSR的时候,就不会将数据进行分片转发。
图4.0 mpls 接口mtu
3.2.8 MPLS TTL
在MPLS中的TTL的用法和IP 报头中的TTL用法相同,当IP包进入到MPLS域的时候,TTL的字段会被复制到MPLS中,但是有一个原则就是ip报头中的TTL的值比MPLS中的TTL值大才对其进行复制,否则就会造成路由环路,TTL的值将永远不能减小到0。在复制进入到MPLS中,执行标签交换,MPLS的TTL经过一个路由器就会减小1,而IP报头封装在了里层。故TTL的值不会发生变化。到达出站LSR,MPLS又会将自己的TTL值复制出来,再复制到ip报头中去。
15
山东建筑大学毕业设计说明书
图4.1TTL
3.3 MPLS VPN实现原理 3.3.1 基本模型
VPN的定义很宽泛,我们所了解的有ipsec/ssl、 mpls-vpn 、专线、帧中继(pvc)等。VNP分为overlay VPN 和peer-to-peer VPN。 三层MPLS/VPN的功能组件:
VRF(Virtual Routing and Forwarding)每个VRF可以理解为一台虚拟逻辑路由器,每台支持VRF的路由器可以创建多个VRF,默认情况下VRF之间、VRF与主路由器之间是物理隔离。
16
山东建筑大学毕业设计说明书
一台PE路由器分配多个VRF来连接不同的客户设备,实现同一PE下的不同客户网络信息的隔离需求。
3.3.2 虚拟路由转发
为了实现客户与客户之间属于不同的VPN路由之间不能够通信,于是人们就想出了一个方法去解决这个问题,即VRF(虚拟路由转发)。它实现的原理是在PE路由器上虚拟出一个路由器来,这个路由器只能从特定的CE收到路由。为了达到这个目的,它不得不将来自不同路由器的路由区分开来。就有了以下两个名词RT和RD:
RD是用来唯一的标识一个路由器,传送路由过程中根据RD识别路由器。
RT是用来区分发送和接收的路由,接收方和对方发送RT值相同,则接收该路由,如果RT值不同,那么将拒绝接收。也是MPLS VPN实现的最核心的技术。
MP-BGP:可以理解为多地址族BGP,我们通常用到的是ipv4的,而在MPLS VPN中我们用到的是vpnv4地址族。不同的地址族具有不同的作用与特点。 RD的作用:
CE的IPv4路由进入全局的VPNv4地址簇时,在32位的IPv4路由前面增加一个8个字节的RD,变成VPNv4路由前缀。
即使客户CE的路由是重叠的,但是可以通过添加唯一的RD,形成独一无二的VPNv4路由
17
山东建筑大学毕业设计说明书
前缀,以解决重叠客户路由的通告问题。
同一个PE上RD一定是不相同的,RD区分本地不同的VRF,RD只有一个,RT作为VPNv4的路由扩展属性出现,RT通常是成对出现的,分为出站RT和入站RT,RT可以有多个。 3.3.3 MP-BGP
将CE的路由引入到PE上的全局BGP的VPNv4地址簇中
将PE上接受到的VPNv4前缀通告给正确的CE设备。
18
山东建筑大学毕业设计说明书
3.3.4 PE-CE间运行OSPF MPLS/VP网络成为Super Backbone
在MPLS VPN中,PE-CE端的路由可以有很多种,比如静态路由、RIPv2、EIGRP、ISIS、BGP和OSPF,比较常见的就是用OSPF来实现CE路由的导入和导出,如果你不经意你会发现,当我们将OSPF路由通过MP-BGP导入到PE的VRF后,CE端看到OSPF的路由有的时候OE类型的外部路由,有的时候是OIA的内部区域间路由,其实仔细观察发现这种现象并不是偶然现象。产生这个问题的原因主要是在MPLS VPN中针对OSPF有个Domain-ID的问题,如果两端PE的Domain-ID不同,那么从一侧导入另一侧的时候就当成外部路由来看待,这样我们从CE端看到的就是OE的外部路由,这就使得OSPF本身自有的属性都消失了,在客户看来VPN两端的网络这好像并不是一个公司网络,倒像是两个网络通过再发布来实现路由互通,如果经过我们的MPLS VPN让客户觉得他们的网络是被VPN隔开的,而并非是一个整体这当然不好,这样造成的结果可能客户对另外一端的网络一无所知了。当然如果客户觉得VPN两边通就可以,对OE或者OIA无任何要求,那我们就省事多了,可是什么方法能实现VPN的两端看起来是一个网络,路由是通过OIA来标识的呢?
19
山东建筑大学毕业设计说明书
其实很简单,在MPLS VPN中,OSPF把MPLS VPN的域看做是一个Superbackbone,所以,PE与CE之间做OSPF的时候,你可以把直连的区域宣告到任意一个区域中,比如area 1 甚至是area 0,都可以。因为在MPLS VPN看来superbackbone是最高级的。
在做PE与CE之间OSPF的时候,PE上面的ospf进程号默认情况下就是我们所说的Domain-ID了,比如,如果在router ospf 1 vrf vpna那么这个PE OSPF的domain-id就是0.0.0.1,而另外一个PE如果用router ospf 2 vrf vpna,那么domain-id就是0.0.0.2,当他们从MP-BGP导入OSPF路由的时候就会把路由的domain-id与自己的domain-id相比较,如果两个domian-id相同那么就认为是一个域的,传递过去的就是以OIA的形式,在对端看来就是一个区域间路由,如果domian-id不同那么就认为是一个外部路由,传递过去的就是OE路由,是一个外部类型5的路由。所以,你在PE上面配置OSPF的时候还是挺有说到的,你把他们的进程号设置的相同,domain-id就相同,那么如果我们都以配置好了OSPF,不能对此修改有没有办法可以把domian-id设置成一样呢?这个当然可以,我们可以在OSPF的VRF路由模式下操作,例如: router ospf 2 vrf a domain-id 0.0.0.1
修改成两端一样就可以啦!这样我们从CE端看到的路由就是OIA的路由了,这里面要说的不是所有的路由都是OIA类型的,比如CE2端有个RIP再发布进OSPF形成类型5的路由,这样通过我们VPN到达CE1端的时候依然是类型5的路由,说白了就是domain-id相同的情况下,我们保证OSPF在通过VPN的时候原来的属性是没有变化的。
还有,在MP-BGP下把ospf vrf的路由再发布的时候记得match啊,如果你不加match,默认只把internal路由再发布到MP-BGP,如果想把external 1 external 2的也通过MP-BGP传递到对端CE的话,我们必须要加个match参数:
r1(config-router-af)#redistribute ospf 1 vrf a match internal external 1 external
20
山东建筑大学毕业设计说明书
4.详细方案的设计与实现
4.1 MPLS拓扑图和分析 1)MPLS VPN的拓扑:
该拓扑运用的5个路由器做CE路由器,4个路由器作为PE路由器,R2为路由器反射器,每一个CE路由器与它自己的PE路由器相连。本方案利用的路由反射器减少了建立BGP所需的TCP连接。该方案设计有两个公司,甲公司分布在上海、北京、福州,乙公司分布在路由器R9、R10所在位置。本案例实现上海、北京、福州之间存在VPN(CE运行的是ospf协议),R9、R10之间存在VPN(CE运行的路由协议为BGP)。 图上标明了VRF中RD与RT的详细规划。
21
山东建筑大学毕业设计说明书
2)设备要求:CE为3700系列思科路由器 PE为7200系列思科路由器 其他线缆及其机架设备
3)设备分布:CE R4、R5、R8任意两者之间都存在VPN,运行的是ospf协议,CE R9、R10
之间存在VPN,运行的是bgp协议。R2是路由反射器。R6、R3、R7分别为客户端。R1、R6、R2、R3、R7,为mpls骨干区域。运行的ospf协议,模拟的真实现网环境,R1与R2,R1与R3之间存在ospf虚链路。
4) 设备功能:CE路由器为公司的用户,直接连接PE路由器,只需运行IGP PE路由器负责传递VRF路由,运行BGP的ipv4的vpnv4地址族
RR(路由发射器)实现IBGP路由反射,减少BGP的TCP连接,打破水平分
割原则
5) IP编址: 本案例为了更好地理解MPLS VPN的基本理论,采取了简单明了的IP地址方
案,每个设备都有回环地址,XX.1.1.1/32 XX为路由器编号,列如R6回环地址为66.1.1.1/32,设备之间为XY.1.1.X/24、XY.1.1.Y/24,列如R1与R2之间,12.1.1.1/24 、12.1.1.2/24,在实际的现网中,为了避免IP地址的浪费,都会做合理的规划,通常用/30,这样节约IP地址。
22
山东建筑大学毕业设计说明书
4.2 详细设计命令及分析 R1#
Building configuration...
Current configuration : 1576 bytes !
upgrade fpd auto version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R1 !
boot-start-marker boot-end-marker !
logging message-counter syslog
!
no aaa new-model ip source-route ip cef !
no ip domain lookup no ipv6 cef
23
山东建筑大学毕业设计说明书
!
multilink bundle-name authenticated
mpls label range 100 199 /MPLS标签在分配的时候范围为100 199,该标签是哪路由器分配的。
mpls label protocol ldp /MPLS分配标签的协议定义为LDP archive log config hidekeys
interface Loopback0
ip address 11.1.1.1 255.255.255.255 ip ospf 100 area 1/把接口宣告到ospf区域1 !
interface FastEthernet0/0 no ip address shutdown duplex half !
interface FastEthernet1/0
ip address 16.1.1.1 255.255.255.0
ip ospf network point-to-point/多路访问环境ospf需要选择DR、BDR,为了加快拓扑收敛。
ip ospf 100 area 2 duplex auto speed auto
mpls ip/接口下要开启MPLS IP !
interface FastEthernet1/1
ip address 12.1.1.1 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 1
24
山东建筑大学毕业设计说明书
duplex auto speed auto mpls ip !
interface FastEthernet2/0
ip address 13.1.1.1 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 1 duplex auto speed auto mpls ip !
interface FastEthernet2/1 no ip address shutdown duplex auto speed auto !
router ospf 100 router-id 11.1.1.1 log-adjacency-changes
area 1 virtual-link 22.1.1.1 /该骨干区域拓扑,area2没有直接和area0相连接,我们需要做虚链路,两条为了冗余可靠。 area 1 virtual-link 33.1.1.1 !
ip forward-protocol nd no ip http server no ip http secure-server logging alarm informational !
25
山东建筑大学毕业设计说明书
mpls ldp router-id Loopback0 force !
control-plane gatekeeper shutdown ! !
line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1 line vty 0 4 login ! end R2#
Building configuration...
Current configuration : 2536 bytes !
upgrade fpd auto version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R2
26
山东建筑大学毕业设计说明书
!
boot-start-marker boot-end-marker !
logging message-counter syslog !
no aaa new-model ip source-route ip cef
no ip domain lookup
ip vrf SITE1 /定义VRF ,CE R9为SITE1,RD9:9 route-target export 9:10 /出站RT route-target import 9:10 /入站RT !
no ipv6 cef !
multilink bundle-name authenticated mpls ldp explicit-null mpls label range 200 299 mpls label protocol ldp archive log config hidekeys
interface Loopback0
ip address 22.1.1.1 255.255.255.255 ip ospf 100 area 0 !
interface FastEthernet0/0 no ip address shutdown
27
山东建筑大学毕业设计说明书
duplex half !
interface FastEthernet1/0
ip address 12.1.1.2 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 1 duplex auto speed auto mpls ip !
interface FastEthernet1/1
ip address 27.1.1.2 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 0 duplex auto speed auto mpls ip !
interface FastEthernet2/0
ip address 23.1.1.2 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 0 duplex auto speed auto mpls ip !
interface FastEthernet2/1 ip vrf forwarding SITE1
ip address 29.1.1.2 255.255.255.0 duplex auto
28
山东建筑大学毕业设计说明书
speed auto !
router ospf 100 router-id 22.1.1.1 log-adjacency-changes
area 1 virtual-link 11.1.1.1 /区域虚链路ospf !
router bgp 100
bgp router-id 22.1.1.1
no bgp default ipv4-unicast / 关闭bgp ipv4单播功能 bgp log-neighbor-changes neighbor 33.1.1.1 remote-as 100
neighbor 33.1.1.1 update-source Loopback0 neighbor 66.1.1.1 remote-as 100
neighbor 66.1.1.1 update-source Loopback0 /建立BGP邻居关系 neighbor 77.1.1.1 remote-as 100
neighbor 77.1.1.1 update-source Loopback0 !
address-family vpnv4 neighbor 33.1.1.1 activate
neighbor 33.1.1.1 send-community extended /此句默认生成,但特别重要。RT值是扩展属性,如果没
neighbor 33.1.1.1 route-reflector-client /有传递过去,在对端PE上将不会有路由出现。
neighbor 66.1.1.1 activate
neighbor 66.1.1.1 send-community extended
neighbor 66.1.1.1 route-reflector-client /路由反射器 neighbor 77.1.1.1 activate
neighbor 77.1.1.1 send-community extended neighbor 77.1.1.1 route-reflector-client
29
山东建筑大学毕业设计说明书
exit-address-family !
address-family ipv4 vrf SITE1 / ipv4 VRF SITE1 bgp地址族下 neighbor 29.1.1.9 remote-as 777 / 与ce建立bgp邻居关系。 neighbor 29.1.1.9 activate
no synchronization /同步也是默认被关闭的 exit-address-family !
ip forward-protocol nd no ip http server no ip http secure-server
logging alarm informational
mpls ldp router-id Loopback0 force /该句有两层含义,定义route-id,该地址也是transport-address,用来建立TCP连接。
control-plane ! !
gatekeeper shutdown ! !
line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1
30
山东建筑大学毕业设计说明书
line vty 0 4 login ! End
R3#show run
Building configuration...
Current configuration : 2647 bytes !
upgrade fpd auto version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R3 !
boot-start-marker boot-end-marker !
logging message-counter syslog !
no aaa new-model ip source-route ip cef
no ip domain lookup ip vrf SITE2 rd 10:10
31
山东建筑大学毕业设计说明书
route-target export 9:10 route-target import 9:10 !
ip vrf beijing rd 8:8
route-target export 8:8 route-target import 4:4 route-target import 5:5 !
no ipv6 cef !
multilink bundle-name authenticated mpls ldp explicit-null / 显示空标签 mpls label range 300 399 archive log config hidekeys !
interface Loopback0
ip address 33.1.1.1 255.255.255.255 ip ospf 100 area 0 !
interface FastEthernet0/0 no ip address shutdown duplex half !
interface FastEthernet1/0
ip address 23.1.1.3 255.255.255.0 ip ospf network point-to-point
32
山东建筑大学毕业设计说明书
ip ospf 100 area 0 duplex auto speed auto mpls ip !
interface FastEthernet1/1
ip address 13.1.1.3 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 1 duplex auto speed auto mpls ip !
interface FastEthernet2/0
ip address 37.1.1.3 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 0 duplex auto speed auto mpls ip !
interface FastEthernet2/1 ip vrf forwarding beijing ip address 38.1.1.3 255.255.255.0 duplex auto speed auto !
interface FastEthernet3/0 ip vrf forwarding SITE2
ip address 130.1.1.3 255.255.255.0
33
山东建筑大学毕业设计说明书
duplex auto speed auto !
interface FastEthernet3/1 no ip address shutdown duplex auto speed auto !
router ospf 38 vrf beijing log-adjacency-changes redistribute bgp 100 subnets network 38.1.1.3 0.0.0.0 area 0 !
router ospf 100 router-id 33.1.1.1 log-adjacency-changes area 1 virtual-link 11.1.1.1 !
router bgp 100
bgp router-id 33.1.1.1 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor 22.1.1.1 remote-as 100
neighbor 22.1.1.1 update-source Loopback0 !
address-family vpnv4 neighbor 22.1.1.1 activate
neighbor 22.1.1.1 send-community extended exit-address-family
34
山东建筑大学毕业设计说明书
!
address-family ipv4 vrf beijing redistribute ospf 38 vrf beijing no synchronization exit-address-family !
address-family ipv4 vrf SITE2 neighbor 130.1.1.10 remote-as 777 neighbor 130.1.1.10 activate neighbor 130.1.1.10 as-override no synchronization exit-address-family !
ip forward-protocol nd no ip http server no ip http secure-server !
logging alarm informational
mpls ldp router-id Loopback0 force !
control-plane
gatekeeper shutdown ! !
line con 0 exec-timeout 0 0 logging synchronous
35
山东建筑大学毕业设计说明书
stopbits 1 line aux 0 stopbits 1 line vty 0 4 login ! end R4#
Building configuration...
Current configuration : 972 bytes !
version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R4 !
boot-start-marker boot-end-marker ! !
no aaa new-model memory-size iomem 5 ip cef !
no ip domain lookup
ip auth-proxy max-nodata-conns 3
36
山东建筑大学毕业设计说明书
ip admission max-nodata-conns 3 !
multilink bundle-name authenticated archive log config hidekeys
interface Loopback0
ip address 44.1.1.1 255.255.255.255 ip ospf 47 area 0 !
interface FastEthernet0/0
ip address 46.1.1.4 255.255.255.0 ip ospf 47 area 0 duplex auto speed auto !
interface FastEthernet0/1 no ip address shutdown duplex auto speed auto !
router ospf 47 router-id 44.1.1.1 log-adjacency-changes !
ip forward-protocol nd ! !
37
山东建筑大学毕业设计说明书
no ip http server no ip http secure-server !
control-plane line con 0 exec-timeout 0 0 logging synchronous line aux 0 line vty 0 4 login ! ! end
R5#show run
Building configuration...
Current configuration : 952 bytes !
version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R5 !
boot-start-marker boot-end-marker ! !
38
山东建筑大学毕业设计说明书
no aaa new-model memory-size iomem 5 ip cef !
no ip domain lookup
ip auth-proxy max-nodata-conns 3 ip admission max-nodata-conns 3 !
multilink bundle-name authenticated ! archive log config hidekeys ! !
interface Loopback0
ip address 55.1.1.1 255.255.255.255 ip ospf 47 area 0 !
interface FastEthernet0/0
ip address 57.1.1.5 255.255.255.0 ip ospf 47 area 0 duplex auto speed auto !
interface FastEthernet0/1 no ip address
39
山东建筑大学毕业设计说明书
shutdown duplex auto speed auto !
router ospf 47
log-adjacency-changes !
ip forward-protocol nd ! !
no ip http server no ip http secure-server ! !
control-plane !
line con 0 exec-timeout 0 0 logging synchronous line aux 0 line vty 0 4 login ! ! End
R6#show run
Building configuration...
40
山东建筑大学毕业设计说明书
Current configuration : 1929 bytes !
upgrade fpd auto version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R6 !
boot-start-marker boot-end-marker !
vrf definition shanghai rd 4:4 !
address-family ipv4 route-target export 4:4 route-target import 8:8 route-target import 5:5 exit-address-family !
logging message-counter syslog !
no aaa new-model ip source-route ip cef
no ip domain lookup no ipv6 cef
41
山东建筑大学毕业设计说明书
!
multilink bundle-name authenticated mpls label range 600 699 mpls label protocol ldp ! archive log config hidekeys !
interface Loopback0
ip address 66.1.1.1 255.255.255.255 ip ospf 100 area 2 !
interface FastEthernet0/0 no ip address shutdown duplex half !
interface FastEthernet1/0 vrf forwarding shanghai
ip address 46.1.1.6 255.255.255.0 duplex auto speed auto !
interface FastEthernet1/1
ip address 16.1.1.6 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 2 duplex auto
42
山东建筑大学毕业设计说明书
speed auto mpls ip !
router ospf 47 vrf shanghai log-adjacency-changes redistribute bgp 100 subnets network 46.1.1.6 0.0.0.0 area 0 !
router ospf 100 router-id 66.1.1.1 log-adjacency-changes !
router bgp 100
bgp router-id 66.1.1.1 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor 22.1.1.1 remote-as 100
neighbor 22.1.1.1 update-source Loopback0 !
address-family vpnv4 neighbor 22.1.1.1 activate
neighbor 22.1.1.1 send-community extended exit-address-family !
address-family ipv4 vrf shanghai redistribute ospf 47 vrf shanghai no synchronization exit-address-family !
ip forward-protocol nd
43
山东建筑大学毕业设计说明书
no ip http server no ip http secure-server !
logging alarm informational !
mpls ldp router-id Loopback0 force !
control-plane !
gatekeeper shutdown ! !
line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1 line vty 0 4 login
!
End
R7#show run
Building configuration...
Current configuration : 2096 bytes !
44
山东建筑大学毕业设计说明书
upgrade fpd auto version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R7 !
boot-start-marker boot-end-marker !
logging message-counter syslog !
no aaa new-model ip source-route ip cef !
no ip domain lookup ip vrf fuzhou rd 5:5
route-target export 5:5 route-target import 4:4 route-target import 8:8 !
no ipv6 cef !
multilink bundle-name authenticated mpls label range 700 799 mpls label protocol ldp !
45
山东建筑大学毕业设计说明书
archive log config hidekeys !
interface Loopback0
ip address 77.1.1.1 255.255.255.255 ip ospf 100 area 0 !
interface FastEthernet0/0 no ip address shutdown duplex half !
interface FastEthernet1/0
ip address 27.1.1.7 255.255.255.0 ip ospf network point-to-point ip ospf 100 area 0 duplex auto speed auto mpls ip !
interface FastEthernet1/1 ip vrf forwarding fuzhou
ip address 57.1.1.7 255.255.255.0 duplex auto speed auto !
interface FastEthernet2/0
ip address 37.1.1.7 255.255.255.0
46
山东建筑大学毕业设计说明书
ip ospf network point-to-point ip ospf 100 area 0 duplex auto speed auto mpls ip !
interface FastEthernet2/1 no ip address shutdown duplex auto speed auto !
router ospf 47 vrf fuzhou log-adjacency-changes redistribute bgp 100 subnets network 57.1.1.7 0.0.0.0 area 0 !
router ospf 100 router-id 77.1.1.1 log-adjacency-changes !
router bgp 100
bgp router-id 77.1.1.1 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor 22.1.1.1 remote-as 100
neighbor 22.1.1.1 update-source Loopback0 !
address-family vpnv4 neighbor 22.1.1.1 activate
47
山东建筑大学毕业设计说明书
neighbor 22.1.1.1 send-community extended exit-address-family !
address-family ipv4 vrf fuzhou redistribute ospf 47 vrf fuzhou no synchronization exit-address-family !
ip forward-protocol nd no ip http server no ip http secure-server !
logging alarm informational ! !
mpls ldp router-id Loopback0 force !
control-plane !
gatekeeper shutdown ! !
line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1
48
山东建筑大学毕业设计说明书
line vty 0 4 login ! End
R8#show run
Building configuration...
Current configuration : 972 bytes !
version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R8 !
boot-start-marker boot-end-marker ! !
no aaa new-model memory-size iomem 5 ip cef !
no ip domain lookup
ip auth-proxy max-nodata-conns 3 ip admission max-nodata-conns 3 !
49
山东建筑大学毕业设计说明书
multilink bundle-name authenticated archive log config hidekeys !
interface Loopback0
ip address 88.1.1.1 255.255.255.255 ip ospf 38 area 0 !
interface FastEthernet0/0
ip address 38.1.1.8 255.255.255.0 ip ospf 38 area 0 duplex auto speed auto !
interface FastEthernet0/1 no ip address shutdown duplex auto speed auto !
router ospf 38 router-id 88.1.1.1 log-adjacency-changes !
ip forward-protocol nd ! !
no ip http server
50
山东建筑大学毕业设计说明书
no ip http secure-server !
control-plane !
line con 0 exec-timeout 0 0 logging synchronous line aux 0 line vty 0 4 login ! ! End
R9#show run
Building configuration...
Current configuration : 1117 bytes !
version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R9 !
boot-start-marker boot-end-marker !
51
山东建筑大学毕业设计说明书
no aaa new-model memory-size iomem 5 ip cef !
no ip domain lookup
ip auth-proxy max-nodata-conns 3 ip admission max-nodata-conns 3 !
multilink bundle-name authenticated ! archive log config hidekeys ! !
interface Loopback0
ip address 99.1.1.1 255.255.255.255 !
interface FastEthernet0/0
ip address 29.1.1.9 255.255.255.0 duplex auto speed auto !
interface FastEthernet0/1 no ip address shutdown duplex auto speed auto !
router bgp 777
52
山东建筑大学毕业设计说明书
no synchronization bgp router-id 99.1.1.1 bgp log-neighbor-changes
network 29.1.1.0 mask 255.255.255.0 network 99.1.1.1 mask 255.255.255.255 neighbor 29.1.1.2 remote-as 100 neighbor 29.1.1.2 allowas-in no auto-summary !
ip forward-protocol nd !
no ip http server no ip http secure-server !
control-plane !
line con 0 exec-timeout 0 0 logging synchronous line aux 0 line vty 0 4 login ! ! end
R10#show run
Building configuration...
53
山东建筑大学毕业设计说明书
Current configuration : 1174 bytes !
version 12.4
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption !
hostname R10 !
boot-start-marker boot-end-marker !
no aaa new-model memory-size iomem 5 ip cef !
no ip domain lookup
ip auth-proxy max-nodata-conns 3 ip admission max-nodata-conns 3 !
multilink bundle-name authenticated ! archive log config hidekeys ! !
interface Loopback0
ip address 110.1.1.1 255.255.255.255
54
山东建筑大学毕业设计说明书
!
interface FastEthernet0/0
ip address 130.1.1.10 255.255.255.0 duplex auto speed auto !
interface FastEthernet0/1 no ip address shutdown duplex auto speed auto !
router bgp 777
bgp router-id 110.1.1.1 bgp log-neighbor-changes neighbor 130.1.1.3 remote-as 100 !
address-family ipv4
neighbor 130.1.1.3 activate no auto-summary no synchronization
network 110.1.1.1 mask 255.255.255.255 network 130.1.1.0 mask 255.255.255.0 exit-address-family !
ip forward-protocol nd !
no ip http server no ip http secure-server !
55
山东建筑大学毕业设计说明书
control-plane
line con 0 exec-timeout 0 0 logging synchronous line aux 0 line vty 0 4 login ! ! end
4.2.1 LDP和BGP交互
Ldp不为bgp前缀分配标签,而是为bgp前缀的next-hop分配标签,通过标签交换,可以消除路由黑洞。传统的路由转发工作方式,要求经过的每1跳路由器都有对应的路由,一旦出现
不可路由,则将数据包丢弃,因此需要建立全互联的BGP对等体关系,或者路由器反射器,以将路由同步到整个网络。在MPLS网络里,使用标签交换的方式,可以在中间路由器没有对应路由表的情形下,利用标签交换,将数据报文送达目的地。
当数据包从IP域进入MPLS域的时候,如果依据BGP条目转发数据包,打上的标签值为BGP条目下一跳路由的标签,这样可以带来几个好处。1. 标签转发表变小;2. 不需要全网运行BGP条目并避免路由黑洞,减轻核心路由器的压力。
4.2.2 VRF 中RD与RT
1)设计思路:我们引用了一种机制为VRF,它是通过在定义一个VRF ,指明RT和RD的值,在接口下通过ip vrf forward +名字调用。这样就实现了它们之间即使直连在同一个路由器也不能够通信。这个隔离广播域的路由器是虚拟出来的。而为了实现上述效果最为关键
56
山东建筑大学毕业设计说明书
的因素是我们在PE端宣告路由时候必须在VRF的地址族下宣告本地与CE路由器相连的路由,在CE端不需要在地址族VRF中宣告,因为它根本就不知道PE路由器上的信息,它只是作为一个接入端进入到ISP,它对于PE和P路由器的所有信息全然不知,这对于ISP来说也是一个非常好的效果。有效的避免了来自客户或者是非客户的一系列的攻击。
2)实现效果:实现PE路由器和CE路由器的通信,同时阻止了不同VPN路由器之间的通信,保证安全性。
方案设计部分代码如下:
下述代码作用是将R6的f1/0口加入到虚拟转发路由器中去,同时在为虚拟路由器设置RD4:4,RT export 4:4,RT import 8:8,RT import 5:5 interface FastEthernet1/0
vrf forwarding shanghai/将接口加入到VRF上海中 ip address 46.1.1.6 255.255.255.0 duplex auto speed auto !
vrf definition shanghai rd 4:4 !
address-family ipv4 route-target export 4:4 route-target import 8:8 route-target import 5:5 exit-address-family
下述代码是在R6上开启它的ospf的进程,在ipv4 ospf的地址族下面将于R3直连的路由宣告进去。
router ospf 47 vrf shanghai log-adjacency-changes
57
山东建筑大学毕业设计说明书
redistribute bgp 100 subnets network 46.1.1.6 0.0.0.0 area 0 !
下述代码作用是将R7的f1/1口加入到虚拟转发路由器中去,同时在为虚拟路由器设置RD5:5 RT export 5:5,RT import 4:4,RT import 8:8. ip vrf fuzhou rd 5:5
route-target export 5:5 route-target import 4:4 route-target import 8:8 !
interface FastEthernet1/1 ip vrf forwarding fuzhou
ip address 57.1.1.7 255.255.255.0 duplex auto speed auto !
下述命令是在R7上开启它的ospf的进程,在ospf地址族下面将于R4直连的路由宣告进去 。 !
router ospf 47 vrf fuzhou log-adjacency-changes redistribute bgp 100 subnets network 57.1.1.7 0.0.0.0 area 0 !
下述命令作用是将R3的f2/1口加入到虚拟转发路由器中去,同时在为虚拟路由器设置RD8:8 RT export 8:8,RT import 5:5.
58
山东建筑大学毕业设计说明书
ip vrf beijing rd 8:8
route-target export 8:8 route-target import 4:4 route-target import 5:5 !
interface FastEthernet2/1 ip vrf forwarding beijing ip address 38.1.1.3 255.255.255.0 duplex auto speed auto
下述代码是在R3上开启它的ospf的进程,并且宣告。 router ospf 38 vrf beijing log-adjacency-changes redistribute bgp 100 subnets network 38.1.1.3 0.0.0.0 area 0 !
4.2.3 PE路由器之间IGP可达
1)设计思路:为了能够保证MPLS VPN的之间能够正常的通信和标签的正常转发,必须在MPLS VPN骨干网之间运行IGP,这里运行了OSPF协议作为底层协议。运行OSPF协议通过network命令或者接口下宣告将路由宣告到网络中,当然我们也可以在底层运行其它的IGP,如rip,eigrp, IS-IS,甚至可以运行静态路由协议,不过一般不考虑静态路由的方式,实现静态路由将给网络管理人员带来相当大的配置命令量,静态路由协议一般用在比较小型的网络。同时在网络出现故障的时候排错的工作量相当大,这也是为了本方案使用动态路由的原因。
59
山东建筑大学毕业设计说明书
2)ospf路由做底层最主要的设计思想有两个:(1)只要路由可达就可以建立邻居关系,上层不用关心邻居是怎么可达的,更不需要维护路由可达。(2)为了mpls分配标签:当在接口下开启了mpls功能,路由转发的开始会查看CEF表,发现CEF表中已经打上了标签,那么就执行标签查找,在执行标签查找的先决条件就是必须有LDP邻居,有了LDP邻居才能给自己本地和其它路由器传送过来的路由打上标签,那么LDP邻居建立的先决条件就是要IGP可达,所以必须运行IGP协议。
3)实现效果:PE路由器及其P设备能够互相收到来自对方路由前缀。 4.2.4 建立基本的BGP连接
1)设计思想:在PE路由器上为了能够将VRF中的信息传递到对方,必须用到BGP的VPNV4,而要将信息传送过去它首先应该建立TCP会话,建立PE之间的TCP可达关系,通过在BGP进程中指定neighbor+对方的ip地址,BGP实现的方式是通过单播更新。而对方的IP地址可以连接的物理地址或者是环回地址。而本方案设计不采用指定物理地址去建立连接的原因是环回地址建立IBGP邻居的时候更稳定,即使是物理接口down了,环回接口依然有效。 但是EBGP属于不同的AS系统,底层的路由是没有的,只好用物理接口建立。
2)路由反射器的设计,路由反射器顾名思义就是为了反射路由而用,在IBGP中因为从BGP收到的路由不会传递给自己的IBGP邻居,这也是一项很好的防环机制,但是同样也带来了很大的问题,就是BGP必须采用全互联的方式,这对于大规模的BGP无疑是大大的增大了配置量,同时也加重了BGP路由器的负担。本方案采用了路由反射器,它打破了IBGP的规则,它能够实现将收到的BGP路由传递给自己的IBGP邻居。它的优点很明显,减少了配置量,减小了BGP路由器的压力。
3)实现效果:IBGP能够收到来自对方路由器的前缀。路由反射器则实现了配置量的简化,减少了设备的资源消耗。
4)方案设计部分代码如下: R2:
60
山东建筑大学毕业设计说明书
router bgp 100
bgp router-id 22.1.1.1 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor 33.1.1.1 remote-as 100
neighbor 33.1.1.1 update-source Loopback0 neighbor 66.1.1.1 remote-as 100
neighbor 66.1.1.1 update-source Loopback0 neighbor 77.1.1.1 remote-as 100
neighbor 77.1.1.1 update-source Loopback0 !
address-family vpnv4 neighbor 33.1.1.1 activate
neighbor 33.1.1.1 send-community extended neighbor 33.1.1.1 route-reflector-client neighbor 66.1.1.1 activate
neighbor 66.1.1.1 send-community extended neighbor 66.1.1.1 route-reflector-client neighbor 77.1.1.1 activate
neighbor 77.1.1.1 send-community extended neighbor 77.1.1.1 route-reflector-client exit-address-family !
4.2.5协议的互相重分发
1)设计思想:所有的步骤都已经实施完成以后,我们发现还是没有实现互通,那么就是在PE路由器上没有执行双向重分发。为什么非要执行双向重分发?因为在要想把CE路由器上的路由经过VPNV4路由传递到目的网络,现在VRF中的路由运行的是rip,eigrp,ospf,
61
山东建筑大学毕业设计说明书
那么它和BGP的路由不能够识别对方,因为处于不同的协议,因此,必须在PE执行双向重分发。这里双向重分发必须都是在vrf的地址族下面,因为它是传递的vrf中的路由。明确说明,把CE端的路由重分布到ipv4地址族的bgp中,ipv4 bgp和vpnv4 bgp能私通,ipv4 bgp路由,加上RDRT值就是vpnv4路由。
2)实现效果:在CE路由器端能够看到从BGP重分发过来的路由。相反,在VPNV4路由中同样能够看到IGP发送过来的路由。
3)方案设计的部分代码如下: R6:
router ospf 47 vrf shanghai log-adjacency-changes redistribute bgp 100 subnets network 46.1.1.6 0.0.0.0 area 0 !
address-family ipv4 vrf shanghai redistribute ospf 47 vrf shanghai no synchronization exit-address-family R3:
router ospf 38 vrf beijing log-adjacency-changes redistribute bgp 100 subnets network 38.1.1.3 0.0.0.0 area 0 !
address-family ipv4 vrf beijing redistribute ospf 38 vrf beijing no synchronization exit-address-family !
62
山东建筑大学毕业设计说明书
R7:
router ospf 47 vrf fuzhou log-adjacency-changes redistribute bgp 100 subnets network 57.1.1.7 0.0.0.0 area 0 !
address-family ipv4 vrf fuzhou redistribute ospf 47 vrf fuzhou no synchronization exit-address-family !
5.测试结果及分析
5.1 MPLS VPN 的控制层面
前面理论知识及其分析已经做了详细的阐述,后面着重介绍测试结果及其一些排错的思路,我们首先从路由层面说明。
图5.1 上海路由
63
山东建筑大学毕业设计说明书
图5.2 北京路由
图5.3福州路由
图5.4R9路由
图5.5 R10路由
分析:以上截图很明显的可以分析出所有的CE都已经学到路由,对于上海、北京、福州的ospf路由有的是OIA,有的是OE2,在理论部分做了详细的阐述,CER9R10运行的是BGP协议,ipv4bgp和vpnv4bgp具有私通的特性,所以是不用做双向重分布的,但是R9,R10属于同一个AS,bgp有AS-path属性,默认会开启防止环路。我们可以用CE端allow-in或者PE端as-override解决。
5.2 工程项目中的TCP连接查看并分析。
TCP是与UDP不同,是面向连接的,其需要三次握手,传输控制协议(Transmission Control Protocol, TCP)是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF
64
山东建筑大学毕业设计说明书
的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。在现网中查看TCP连接对于排错以及查看控制层面很重要。
图5.6 R2TCP连接
图5.7 R1 TCP连接
图5.8 有TCP连接的路由器截图
分析:我们从以上截图可以很清晰的看出,TCP连接的源IP及其端口号,目的IP及其端口号,以及他们连接的state,高位端口号是TCP连接的发起方,端口号646,179,这是我们所熟悉的LDP和BGP协议。
65
山东建筑大学毕业设计说明书
5.3 查看PE端的vrf
66
山东建筑大学毕业设计说明书
图5.9PE端的vrf
分析:以上截图为VRF的detail,RD、RT以及该VRF的接口,我们也能清晰的看出。RD只有一个,RT可以有多个。
5.4 查看 bgp vpnv4的邻居关系,及其路由。
图6.0路由反射器R2
67
山东建筑大学毕业设计说明书
图6.1R2的vpnv4路由
图6.2R6的vpnv4路由
68
山东建筑大学毕业设计说明书
69
山东建筑大学毕业设计说明书
图6.3路由层面
分析:怎么让它们之间的CE路由器之间实现通信?这里需要用到的技术是MP-BGP,即多协议BGP。在做第三步的时候,我们必须保证MP-BGP中能够收到CE的路由,显然,在PE路由器下的VRF中执行双向重分发。 5.5 测试vrf
70
山东建筑大学毕业设计说明书
图6.4VRF路由截图及测试
71
山东建筑大学毕业设计说明书
分析:PE端VRF表项中是ipv4 bgp路由,是对端VPNV4的路由转换而来,然后重分布到igp,这样CE就会学到对端CE的路由,双向重分布不再阐述。 5.6 MPLSVPN的数据层面
72
山东建筑大学毕业设计说明书
图6.5CE之间相互测试
分析:CE收到IP数据包,查找全局路由表转发,转发至PE的VRF接口。PE VRF接口收到IP数据包,查找VRF路由表,压入私网标签和公网标签。P设备收到MPLS数据包,查找标签转发表,交换公网标签,倒数第二跳收到MPL数据包,查找标签转发表,弹出公网标签。 5.7 标签转发表项
73
山东建筑大学毕业设计说明书
图6.6标签转发表项
74
山东建筑大学毕业设计说明书
图6.7LSP
5.8 LDP邻居关系
75
山东建筑大学毕业设计说明书
图6.8LDP邻居关系
5.9方案设计中问题分析:
当路由学到之后,数据层面无法通行,我们检查数据层面的问题,再测试lsp通道的时候发现标签断裂,这样就会导致不通。
76
山东建筑大学毕业设计说明书
77
山东建筑大学毕业设计说明书
图6.9 Ospf数据库、标签转发、路由表
分析:66.1.1.1/32在配置的时候不小心配置成了24位,但是邻居学到的时候仍是32的,ospf把其当做a stub network,这样会出现问题,igp路由不同步。上面的no lable标签,这样两层标签都会弹出的,而pop标签是不会的,当你查看标签转发表项的时候,你也发现有一个explicit-n这是显示空标签。
6 结论
基于多协议标签交换(MPLS)的虚拟专网覆盖VPN模型的优点(隔离性和安全性)和对等VPN模型的优点(路由简单、容易提供以及可扩展性更好)于一身。为成功的实现所有这些目标,需要许多种机制。在每个PE路由器中,每个VPN都需要一个单独的VPN路由选择和转发实例(VRF),以保证隔离性,并能够使用未经调整的私有IP地址。为支持重叠VPN拓扑,VRF的粒度可能比VPN更小,并可同时参与到多个VPN中,为标示特定VRF参与的VPN组,需要一个名叫路由目标的属性。入口PE路由器使用一个两级MPLS标签栈,来标记VPN分组。其中一个标签是有出口PE路由器分配的;另一个是标识PE路由器的IGP标签,是通过常规MPLS标签分发机制分配的。标签被加入到VPN分组的前面,并跨越IP网络转发MPLS分组。
随着企业业务地不断扩大,对整体网络性能要求也越来越高,因此,建设一个更加高效、安全、灵活、完善的企业网络也势在必行。要实现这些需求,就必须要有相应完备的技术支持,而MPLS-VPN技术的引入,恰好解决了这些需求,为企业的动态发展提供了良好的支撑。通过利用PE路由器上的RT来灵活控制VPN的互访和隔离,实现了网络的安全隔离。加上MPLS强大的流量工程功能,为企业的数据稳定快速传输提供了强有力的后盾。说明MPLS技术是今后大规模IP数据网络应用的发展方向。
MPLS-VPN技术基于网络服务提供商(NSP)的主干网络提供的一种高性能的虚拟网络技术,基于MPLS的虚拟网技术可以大大提高ISP之间的竞争能力,同时又为用户提供更多的选择、更低的成本、更好的服务。特别是在安全可靠性、可扩展性等方面,MPLS-VPN以其独特的优势赢得了众多企业的亲睐。随着信息化服务地不断提高,企业的业务系统对网络的安全可靠等、低成本、可扩展等性能能要求越来越高,故将来越来越多的企业将会采用基于MPLS的虚拟网络。
78
山东建筑大学毕业设计说明书
谢 词
通过几个月的总结与努力,我完成了毕业设计论文,时间如白驹过隙,我们已经走过了大学生活,通过四年的学习和努力,我体会到了生活的苦乐顺逆,但我也学会了如何拥有通达乐观的人格,在大学期间通过努力获得了第一个ccie认证,我对网络技术及其发展有了初步的认识与见解。
毕业设计是检验四年以来的学习的成果,通过这次毕业设计,我收获了很多东西,学到了很多知识。从方案的材料的收集,方案的设计和实施,到网络模型的建立,这将为以后工程项目中的实施奠定基础。
首先要感谢本次论文的导师,是他给了我大力的支持与帮助,耐心的辅导与解惑,其专业知识渊博,治学态度严谨。我们不仅是师生关系,也是真诚的朋友,无论在学习还是人生的方向上都起到指引作用,我少走了很多弯路,使我的目标更加明确。
然后感谢我的父母这些年默默支持,失败时候的鼓励,生活上的关心。感谢在大学期间所有传授我知识的老师们,以及在一起奋斗,在一起学习的同学们。
最后祝愿老师们身体健康、工作顺利,同学朋友们找到心仪的工作,让我们共同创造幸福美好生活!
79
山东建筑大学毕业设计说明书
参考文献
[1]Ivan Pepelnjak .MPLS和VPN体系结构(第1卷)北京.人民邮电出版社,2010.03. [2] Ivan Pepelnjak .MPLS和VPN体系结构(第2卷).北京.人民邮电出版社,2010.08. [3]Jeff Doyle .TCP/IP路由技术(第一卷)(第二版).北京.人民邮电出版社.2007.09. [4]Jeff Doyle .TCP/IP路由技术(第二卷).北京.人民邮电出版社.2009.12. [5]Eric Osborne .基于MPLS的流量工程.北京.人民邮电出版社.2003.09.
[6] CCIE Routing and Switching Practical Labs (Duggan, Gorito, ISBN# 1587051478) [7]W.Richard Stevens.TCP/IP协议详解卷1:协议.北京.机械工业出版社.2000.03. [8]David Hucaby.CCNP SWITCH认证考试指南(642-813).北京.人民邮电出版社.2010.05 [9] Wendell Odom.CCNP ROUTE认证考试指南(642-902).北京.人民邮电出版社.2010.07 [10] Lue De Ghein.MPLS技术架构 人民邮电出版社.2008.01
[11] Andrew S.Tanenbaum.Computer Networks, Fourth Edition.北京:清华大学出版社, 2004.08. [12]James Kurose,Keith W.Ross,Computer Networking.高等教育出版社,2005. [13] Todd Lammle, CCNA 4.0 Study Guide, SYBEX Inc,2004.
80
因篇幅问题不能全部显示,请点此查看更多更全内容