MPLS
多协议标签交换MPLS,是一种IP骨干网技术。它将三层路由技术和二层交换技术相结合,属于数据链路层和网络层之间的一个2.5层协议。
MPLS并不是业务或者应用,它是一种隧道技术,这种技术不仅支持多种高层协议和业务,而且在一定程度上可以保证信息传输的安全性。
MPLS的网络结构
MPLS基于标签进行转发,进行MPLS标签交换和报文转发的网络设备称为标签交换路由器LSR(Label Switching Router);由LSR构成的网络区域称为MPLS域(MLS Domain)。位于MPLS域边缘、连接其他网络的LSR称为边缘路由器LER(Label Edge Router),区域内部的LSR称为核心LSR(Core LSR)。
LSP的入口称为入节点(Ingress),位于LSP中间LSR称为中间节点(Transit);LSP的入口LER称为出节点(Egress)。一条LSP可以有0个,1个或者多个中间节点,但有且只有一个入节点。
根据LSP方向,MPLS报文由Ingress发往Egress,此时,Ingress是Transit的上游节点,Transit是Ingress的下游节点。同理,Transit是Egress的上游节点,Egress是Transit的下游节点。
MPLS的体系结构
MPLS的体系结构由控制平面和转发平面组成。
控制平面:负责产生和维护路由信息以及标签信息。
- 路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。
- 标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。
- 标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。
转发平面:负责普通IP报文的转发以及带MPLS标签报文的转发。
- 转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
- 标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发。
MPLS中的重要设备:
P(Provider):MPLS网络核心设备,一般由运营商提供,相当于(LSR)。
PE(ProviderEdge):核心网络的边缘设备,运营商骨干边缘设备,相当于(LER),连接P和CE路由器,是最重要的网络结点。
CE(CustomerEdge):用户边缘设备,运营商连接的用户设备,为用户提供服务接入。
MPLS标签
MPLS将具有相同特征的报文归为一类,称为转发等价类FEC(Forwarding Equivalence Class),属于相同FEC的报文在转发过程中被LSR以相同方式处理。FEC可以根据源地址、目的地址、源端口、目的端口、VPN等要素进行划分。
VRF(虚拟转发表)
作用:让不同客户的路由以及数据在穿越运营商时,路由可以相互隔离。
Show ip route vrf 名字 //查看虚拟转发表中的路由
RD:路由区分符号
作用:用来区分不同客户的路由(当不同的VPN客户存在相同的ipv4地址空间时,可以通过设置不同的RD来保证路由的唯一性)。
表示方法:AS:NN(常用) ip-address : NN
RT:路由控制符
作用:控制路由的收发
Export:控制路由的发出
Import:控制路由接收
MPLS配置实验
配置前提
- 配置接口地址
- 配置运营商内部OSPF互通
- 配置运营商内部网络BGP全互联
可能会花一些时间,做完上述操作之后,基本只需要在PE上做文章就可以了
第一步:PE学习自己客户的路由
suzhou_PE:
ip vrf SZ // 创建VRF
rd 1:1
interface Ethernet0/0
ip vrf forwarding SZ // 将连接客户的接口划入到VRF中
ip address 200.100.12.2 255.255.255.0
router bgp 100
neighbor 200.100.12.1 remote-as 200
yangzhou_PE:
ip vrf YZ
rd 2:2
interface Ethernet0/2
ip vrf forwarding YZ
ip address 200.100.71.7 255.255.255.0
router bgp 100
neighbor 200.100.71.1 remote-as 300
neighbor 200.100.72.2 remote-as 300
najing_PE:
ip vrf NJ
rd 3:3
interface Ethernet0/1
ip vrf forwarding NJ
ip address 200.100.81.8 255.255.255.0
router bgp 100
neighbor 200.100.81.1 remote-as 400
suzhou_CE:
router bgp 200
neighbor 200.100.12.2 remote-as 100
network 1.1.1.1 mask 255.255.255.255
其他CE同理
检查:suzhou_PE:show ip route vrf SZ 查看是否存在1.1.1.1的路由
第二部:搭建PE之间的VPN隧道
suzhou_PE:
router bgp 100
address-family vpnv4
neighbor 7.7.7.7 activate // 在vpnv4地址簇下激活和7.7.7.7(扬州)的邻居
neighbor 8.8.8.8 activate
yangzhou_PE:
router bgp 100
address-family vpnv4
neighbor 2.2.2.2 activate
nanjing_PE:
router bgp 100
address-family vpnv4
neighbor 2.2.2.2 activate
检查:suzhou_PE:show ip bgp all summary
第三步:PE学习对端客户路由
suzhou_PE:
ip vrf SZ
route-target export 1:1
route-target import 3:3
route-target import 2:2
yangzhou_PE:
ip vrf NJ
route-target export 3:3
route-target import 1:1
nanjing_PE:
ip vrf YZ
route-target export 2:2
route-target import 1:1
检查:sushou_PE:show ip route vrf SZ 看有没有CE的路由
第四步:客户学习对端客户的路由
由于客户和PE之间运行的是BGP协议,因此无需再PE路由器上做重分发,直接学习到对端客户的路由。
CE设备检查:show ip route
第五步:配置中间运营商区域的MPLS
Ip cef //开启快速转发
Mpls label protocol ldp //mpls标签使用LDP协议
Mpls ldp router-id lo0 force //用lo0建立ldp的邻居
接口下:
Mpls ip
Show mpls ldp nei //检查LDP标签邻居
Show mpls forwarding //检查标签转发表