MPLS技术实验思路和步骤

2020-02-24 16:12:07 云杰通信 103

MPLS技术实验思路和步骤

简单的地说VPN就是利用公网去传输私网数据与路由。对于数据传输来说,公网应该是不安全的。但是VPN可以利用隧道,加密,认证等技术来确保数据的透传,外界是很难窥视加密后的数据内容的,形象地说从源到目的端就形成了一条数据安全传输的隧道。专线是一种安全性最高的企业通信方法,但使用VPN来解决通信问题,安全性姑且不谈,最大的优点就是节约企业网络构建成本。

按应用来分:Intranet VPN、Extranet VPN、Access VPN

二层VPN:L2TP-PN、PPTP-VPN,L2F-VPN

三层VPN:IPSec VPN、MPLS-VPN(主要是三层)、SSL VPN、GRE VPN、EZ VPN、DM VPN等。

下面简单地介绍下MPLS

MPLS包头:共32bit,前20Bit用作标签,21到23Bit的EXP(用于QOS),1Bit的BOS(标识是否为栈底,1为栈底)、最后8Bit是TTL。

LSP:源到目的需要经过的路径

LSR:能够理解MPLS标签并根据标签转发数据包的路由器称为LSR

上游和下游:在一条LSP上,沿数据包传送的方向,相邻的LSR分别叫上游和下游,下游就是路由的始发者。换句话说数据源就是上游,目的地就是下游。

LDP:标签分发协议

简单地说就是用来为MPLS分发标签的,提高数据的转发速率。

LDP分配方式:DU(下游主动发给上游)、DOD(上游向下游发送请求)

16以下的标签数值为系统保留

LDP标签保留方式:自由(保留)这个比较常用、保守(丢弃)

LDP标签控制方式:有序,这个比较常用、独立(必需等LSR下一跳的标记)

VRF:VPN路由转发实例

1、一张独立的路由表,包括独立的地址空间

2、一组归属于这个VRF的接口的集合

3、一组只用于本VRF的路由协议

RD:(Route-Distinguisher)顾名思义就是路由区分用的,其实就是当地址相同的时候RD才起区分的作用,实际上只需要保证存在相同地址的两个VRF的RD不同即可,这只有在发路由撤消时才能真正体会到RD的价值。PE从CE接收到IPV4路由加上RD后再发给其他PE。IPV4加上RD后变成了VPN-IPV4地址族(64Bit),建议为每个VPN都配置相同的RD。

格式一般采用ASN:nn

ASN代表As号码,nn代表数字,另外一种是address:nn。

RT:(Route-Target)它决定VPN路由的收发和过滤,PE依靠RT属性区分不同VPN之间路由。简单地说就是控制路由表只能有什么样的路由或者只能出去什么样的路由。有import和export之分,一般只采用both。

标签分发:MPLS提供两层标签,公网由LDP分发,私网由MP-BGP来分配。

粗略的实验思路和步骤,仅供参考。

1、保证IGP的可通性,将必要的loopback口(用于mpls邻居发现的Routed

ID或叫transport

IP)宣告进路由进程,否则必需在相连接口上强制启用 mpls ldp router-id serial 1/1 force

2、在相应的MPLS区域及相应的接口上启用LDP,也可以全局启用

r1(config-if)#mpls label protocol ldp

3、在设备相应接口发hello包查找邻居

r1(config-if)#mpls ip

4、在两端PE上配置普通BGP

r1(config)#router bgp 100

rR1(config-router)#nei 3.3.3.3 remote-as 100

R1(config-router)#nei 3.3.3.3 update-source lo 0

5、在PE上创建VRF(将需要VPN服务的对象放入虚拟路由表)

需要通信的两个用户网络之间VRF和RD值最好保持一致

r1(config)#ip vrf vpn1

r1(config-vrf)#rd 100:1

6、在PE上将连接CE的接口划入VRF,其数据的转发决策取决于VRF路由表

r1(config)#int s1/1

r1(config-if)#ip vrf forwarding vpn1

% Interface Serial1/1 IP address 14.1.1.1 removed

due to enabling VRF vpn1

r1(config-if)# ip add 14.1.1.1

255.255.255.0

划入VRF的接口上IP地址会消失,需重新输入

7、在两端的PE上分别创建MP-BGP

r1(config)#router bgp 100

r1(config-router)#address-family vpnv4

创建address-family为vpnv4

r1(config-router-af)#neighbor 3.3.3.3

activate

将正常的BGP邻居在vpnv4里面激活

r1(config-router-af)#neighbor 3.3.3.3

send-community both

强制发送扩展属性

8、为MP-BGP创建VRF

r1(config)#router bgp 100

r1(config-router)#address-family ipv4 vrf

vpn1

9、配置RT控制VRF路由表

r1(config)#ip vrf vpn1

r1(config-vrf)#route-target both 100:1

允许RD为100:1的路由进出

10、配置PE-CE的路由协议

PE-CE启用路由协议,让PE获知用户的路由信息,并导入MP-BGP的VRF表以传递

r1(config)#router rip

r1(config-router)#version 2

r1(config-router)#no auto-summary

r1(config-router)#address-family ipv4 vrf vpn1

PE发布路由都是在address-family中进行的

r1(config-router-af)#no auto-summary

r1(config-router-af)#network 14.0.0.0

r1(config-router-af)#redistribute bgp 100 metric

1

将MP-BGP重发布进rip中,metric设为1,让用户知道远程想要通信的路由

对端PE-CE之间路由协议为OSPF时的重分布配置

r3(config)#router ospf 100 vrf vpn1

r3(config-router)#router-id 36.1.1.3

r3(config-router)#network 36.1.1.3 0.0.0.0 area

0

r3(config-router)#redistribute bgp 100

subnets

对端CE上的OSPF配置为正常的OSPF配置

11、将PE-CE间的路由重分布进MP-BGP

r1(config)#router bgp 100

r1(config-router)#address-family ipv4 vrf

vpn1

进入相应的address-family中重分布

r1(config-router-af)#redistribute rip

到此,PE上的VRF路由表已经有了远程用户的路由,不出意外是可以通信的。

下面是一些测试截图

1、启用LDP与mpls ip之后查看标签分发

2、查看两端PE上的普通BGP建立

3、在PE上查看创建的VRF

划入VRF的接口路由已从全局路由表中消失

4、查看MP-BGP的建立

5、PE-CE运行路由协议,并将MP-BGP重分布进二者之间协议时,PE上的VRF路由表

成功获取到用户内部的路由

6、在PE上将PE-CE运行的IGP协议手工重分布进MP-BGP

查看PE上MP-BGP的VRF路由表

7、两协议重分布完成后在PE上再次查看VRF路由表

成功获取到远程的192.168.1.0路由

8、查看CE上的全局路由

拥有直连和远程用户的路由

9、CE成功与远程用户通信

10、跟踪路由,标签正常分发

11、PE与CE间的通信