CCIE ISP
MPLS
MPLS VPN
MPLS L2VPN
MPLS TE
QoS
IPv6
Multicast
MPLS的概述(Multiple protocol label switching)多协议标签交换
标签交换基于2.5层转发流量
路由技术基于3层转发流量
标签交换依据是标签表一次查找一次转发
路由技术依据是路由表多次查找一次转发(递归)
MPLS标签交换更具拓展性可以满足运营商网络的后续发展
MPLS功能:
基础功能:打标签,生成标签表,标签交换
拓展功能:MPLS VPN、QoS、MPLS TE、Multicast
MPLS层次
MPLS协议(LDP)(用来传标签的)是基于应用层通信的
MPLS Label 是基于2.5层的
MPLS VPN 是基于3层的
MPLS L2VPN 是基于2层的
MPLS Domain MPLS域
谁发数据包,谁就是上游(Upstream)
谁收数据包,谁就是下游(Downstream)
Edge LSR
Control Plane(控制层面:策略,协议,表项)
Routing Protocol --- IP Routing Table --- LDP/MPLS
Data Plane(数据层面:转发)
IP Forwarding Table(FIB/Route Table)
LFIB
LSP ---- PVC
FEC 转发等价类(Forwarding Equivalence Class)
转发过程中以等价的方式处理的一组数据分组或者被打上相同标签的一组路由条目
标签分发或路由传递的方向与数据转发的方向刚好是相反的(上下游对调)
Lable格式(32位)
20bit 标签 1-15保留 为数据打上标签
3bit 实验字段 用于实现QoS
1bit 栈底指示(0表示后面没有标签,1表示后面没有标签)
8bit TTL MPLS 的TTL值会改变而IP内的TTL不会变化,等到标签解开的时候IP TTL会同步MPLS的TTL
MPLS报文转发
插入标签
交换标签
弹出标签(弹出一层)
去掉标签(全部弹出)
包要给谁就发谁的标签
次末跳弹出(Penultimate Hop Poping)
优化了MPLS性能(可减少一次LFIB查询)弹出或空标签使用一个保留的值,但被通告给邻居的时候
MPLS标签协议(应用层 基于UDP/TCP 646端口)
LDP定义(Label Distribution Protocol)标签分发协议 前身是TDP
LDP功能
生成标签,绑定标签,交互标签
生成标签邻居表,标签数据库,标签转发表
LDP原理
路由协议生成路由表(软件存储-内存)RIB
开启硬件转发,生成硬件转发表FIB/CEF表(硬件存储-专门的转发硬件)
运行LDP协议,对FIB表的路由进行标签分配
与所有的LDP邻居进行标签交换,生成标签数据库LIB
LDP协议根据LIB和原有的FIB表,生成标签转发表LFIB
RIB:路由表IP+interface 软件存储
FIB:硬件路由表
LIB:标签数据库
LFIB:标签转发表
LDP分组
Hello UDP 646
Initial message
Keep alive message
Address label mapping message(留意包内FEC Element以及Generic Label的内容)
标签模式
标签分发、控制、保留
标签分发 标签控制 标签保留
帧模式 自主(下游主动向上游发起标记映射消息)有序自由
信源模式 按需(上游向下游发送请求)独立保守
有序:除非LSR是路由的始发节点,否则LSR必须等收到下一跳的标记映射才能向上游发出标记映射
独立:LSR可以向上游发出标记映射,而不必等待来自LSR下一跳的标记映射信息
自由:保守来自邻居的所有发送来的标签()
保守:只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签
在建立邻居的过程中为LDP为TCP协议
MPLS基本部署
mpls label range 200 299 定义标签范围 如果已经mpls ip 的话需要重启才会生效范围
mpls label protocol ldp 定义标签协议
mpls ldp router-id lookback 1 定义LDP RID
int s0/1 进入接口
mpls ip 开启MPLS
show mpls ldp nei 查看MPLS邻居
show mpls ldp bind 查看LIB标签数据库
show mpls forwarding-table 查看LFIB标签转发表
clear mpls ldp nei * 刷新LDP邻居
show ip cef detail 查看详细cdf
邻居认证
指定对方环回接口
mpls ldp nei 2.2.2.2 password cisco
抓包可以在TCP包中的option值内查看MD5信息
LDP自动配置
mpls ldp autoconfig area 0 在OSPF进程下部署,RIP与EIGRP都不可以
MPLS防环机制
1.将MPLS TTL设置为255
2.即便IP TTL为1,在核心路由器也不会返回ICMP EXCEED
no mpls ip propagate-ttl
VPN 虚拟私有网络
三层 GRE/IPSec VPN/MPLS VPN
二层 FR
一层 E1/T1
Overlay VPN 覆盖型VPN (运营商只提供物理链路,不参与客户路由服务)
服务提供商在客户站点间提供虚拟的点对点链路联接服务
分类
二层 VPN (X.25 FR ATM)
三层 VPN (GRE IPSec)
Peer-to-Peer 点对点VPN (运营商参与客户的路由选举过程,保证客户内网联通)
服务提供商参与客户间的路由信息传输
分类
ACLs(Shared Router)
Split Routeing (Dedicated Router)
MPLS VPN
MPLS VPN 技术架构
CE--PE--P
接入--汇聚--核心
VRF--面向对象:用户
怎么解决用户安全隔离(虚拟路由转发)
VRF相当于一个虚拟路由器,拥有独立的接口,独立的协议,独立的表项,独立的策略,不同VRF之间相互隔离不通信
RD--面向对象:路由
怎么解决路由的冲突(类似于BGP的团体属性)
RD路由区分:
重新分配客户端地址使得它们不重叠
64位RD附在IPV4的地址之上,使它变成全球唯一
附加RD后的地址即是VPNv4地址
VPNv4地址在PE路由器间通过BGP路由协议进行交换
能够支持IPV4地址外的地址家族的BGP协议被称为MPBGP(多协议边界网关协议)MPBGP能够隔空建邻居
RT--面向对象:VPN
怎么解决VPN互访和对接问题 RT
Route Targets(路由目标)
某些站点可能需要参与多个VPN的通信
RD不能被其他VPN识别或参与
RTs在MPLS VPN体系结构中提出用于支持复杂的VPN拓扑
RTs是一个附加的属性,附加在VPNv4 BGP路由中指示VPN成员组
RT不同不能互访
RT带方向,import RT / export RT 没有给方向就是双向
要互访的话RT必须要一样的,不一样会获取不到对方的路由
CE--PE IGP和MPLS
PE--P 路由协议
PE--PE MPBGP
配置PE的BGP与IGP路由重分发
单标签解决方案
双标签解决方案
解决两个问题:
1、核心路由器压根没有客户的路由,何来标签
只要让中间的核心设备具备边缘设备环回口的标签信息,中间设备就一定能出去
2、即便核心路由器有客户的标签,数据到达PE,PE也如何将IP数据包发送给特定的客户
通过MPBGP传递VRF标签,引入栈底标签的概念,到达边缘处弹掉外部标签
外部标签解决数据包如何通过城域网核心
内部标签(栈底标签)用于解决数据包到达PE后,PE如何将数据转发给特定的VRF,栈底标签是由MP-BGP自动分配并交互的
X给我的Y路由,使用X的环回口外部标签,用Y的栈底标签
拓扑设计,解决安全解决冲突解决对接
路由设计,解决路由传递
数据转发,解决打标签
配置PE与P之间的IGP和MPLS
mpls label range 200 299 定义标签范围
mpls label protocol ldp 定义标签协议
mpls ldp router-id lookback 1 定义LDP RID
int s0/1 进入接口
mpls ip 开启MPLS
配置PE与CE之间的路由协议
创建vrf
ip vrf A
rd 1:100
route-target 1:100
把接口放进vrf中
int s0/1
ip vrf forward A
ip add 192.168.12.2 255.255.255.0 (先写上面的地址会导致地址消失)
写入RIP协议
router rip
ver 2
no au
add ipv4 vrf A
network 192.168.12.0
(如果是静态路由则写 ip route vrf a 1.1.1.1 255.255.255.255 s0/0)
show ip vrf detail
show ip router vrf A
ping vrf A 1.1.1.1
配置PE-PE之间的MP-BGP
router bgp 1
no syn
no au
no bgp default ipv4-unicast
nei 5.5.5.5 remote-as 1
nei 5.5.5.5 update-source lo1
address-family v4 可以交互VPN路由 进入地址家族
nei 5.5.5.5 active 激活邻居
nei 5.5.5.5 send-community extended 发送标签信息 否则RD RT无法出去
配置PE的BGP与IGP路由重分发 (两头的PE都要做)
router bgp 1
address-family ipv4 vrf A
redistribute rip metric 5
router rip
address-family ipv4 vrf A
redistribute bgp 1 metric transparent
show ip bgp 查看bgp路由
show ip vrf A detail
show ip route vrf A (查看vrf A 的路由表)
show ip protocols vrf A
show ip bgp v4 all (查看路由)
show ip bgp v4 all summary (注意与show ip bgp summary的区别)
show ip bgp v4 all labels 查看MPBGP栈底标签 (in label 本地绑的标签,out label 对方的PE绑的标签)
show ip bgp v4 vrf A labels
show ip cef summary
show ip cef detail
show ip cef 1.1.1.1 detail
show mpls interface
show mpls ldp neighbor 查看邻居表
show mpls ldp bindings 查看内部ldp标签
show mpls ldp discovery detail
show mpls forwarding-table 查看转发表
outgoing
untagged 把标签完全弹掉 [V]代表栈底标签
aggregate 汇聚,直连的弹出
配置PE-P之间的IGP和MPLS
int lo1
ip add 2.2.2.2 255.255.255.255
int s0/1
no sh
ip add 10.1.12.2 255.255.255.0
router ospf 1
network 2.2.2.2 0.0.0.0 area 0
network 10.1.12.2 0.0.0.0 area 0
int s0/1
mpls ip
配置PE-CE之间的EBGP邻居
针对VRF-B
router bgp 1
address-family ipv4 vrf B
neighbor 192.168.27.7 remote-as 78
netghbor 192.168.27.7 active
neighbor 192.168.27.7 as-override (不加这条的话,会导致同一AS号内无法学到路由信息) 1 78 i
配置PE-PE之间的MP-BGP
router bgp 1
no au
no syn
no bgp default ipv4-unicast
neighbor 5.5.5.5 remote-as 1
neighbor 5.5.5.5 update-source lo1
address-family v4
neighbor 5.5.5.5 active
neighbor 5.5.5.5 send-community extended
router bgp 78
no syn
no au
bgp router-id 7.7.7.7
network 7.7.7.7 mask 255.255.255.255
neighbor 192.168.27.2 remote-as 1
neighbor 192.168.27.2 allowas-in 5 (最多可以部署十个)1 1 i
AS防环机制
BGP不会学习路由--夹带本地AS号
部署:发送者部署as-overrid 接收者部署allowas-in
neighbor 192.168.27.7 as-override
neighbor 192.168.58.5 allowas-in 5
OSPF式的部署
router bgp 1
address-family ipv4 vrf A
redistribute ospf 200 match internal external nssa-exteral
router ospf 200 vrf A
redistribute bgp 1 subnets
OSPF模式
超级骨干OSPF
O IA O E2 看起来更友善 跟RIP 加transparent
Domain-id(域ID)
影响LSA
3类LSA -O IA
5类LSA - O E2
格式:0.0.0.X X为进程号
进程号一致3类,不一致5类
通过Domain-id手工修改
默认情况下,DID值由两边的卡客户进程号PE决定,若双方DID一致,则通告O IA 路由否则O E2路由
为了使两边的路由为O IA类型,可以通过手工方式在客户OSPF进程下PE修改其DID值
clear ip ospf process
3类LSA Down Bit
router ospf 1 vrf A
capability vrf-lite 关闭DN位
5类LSA Tag Field
用于放环,可以在清空ospf路由后查看update包中的option 查看DN位是否设置
shame-link 伪链路
R2配置
定义伪链路的源IP
int lo 100
ip vrf forwarding A
ip add 10.1.25.2 255.255.255.255
学习双方的IP地址
Router bgp 1
address-family ipv4 vrf A
network 10.1.25.2 mask 255.255.255.255 通告的是自己的路由
建立伪链路
router ospf 200 vrf A
area 0 sham-link 10.1.25.2 10.1.25.5 (伪链路所达到的效果便是将城域网路由变成O路由)
R1配置
修改cost值
int f1/0
ip ospf cost 65535
MPLS VPN 的互联网接入(集成服务)
实现不同分支的互联,实现互联网访问
解决方案一
super VPN (将互联网也看成一个客户)
默认情况下只需要将所有路由都export出来
要跟谁通信,就将对方的RT import进来
MPLS VPN功能,技能保证安全性,又要实现适度互访
解决方案二
Routing Leaking(路由泄露)
条件:
1.CE具备到Internet路由
2.Internet具备到CE的返回路由
3.运营商具备CE到Internet的双向泄漏
有公网的路由 ip route 0.0.0.0 0.0.0.0 s0/0
有私网到公网泄露 ip route vrf A 0.0.0.0 0.0.0.0 29.1.1.9 global
有私网的路由 router bgp 1 network 1.1.1.1 mask 255.255.255.255
有公网到私网泄露 ip route 1.1.1.1 255.255.255.255 s0/0 192.168.12.1
MPLS VPN 的跨域AS
解决方案一:背靠背方式 VRF to VRF
router ospf 1 vrf A
capability vrf-lite 关闭DN位检测
解决方案二:单跳EBGP方式
router bgp 1
no bgp default route-target filter (关闭RT信息)
注明:没有部署VRF就没有RT,默认情况下,无RT的话,不接受任何BGP路由
关闭RT后ASBR能接收并传递BGP路由
解决方案三:多跳EBGP方式(考虑TTL以及环回口)
neighbor 1.1.1.1 ebgp-multihop 255
MPLS VPN的CsC (客户运营商)
部署一级运营商网络,并且保证二级运营商内部所有路由器通信
在二级运营商的PE端建立MP-BGP协议,传递最终路由
测试最终用户连通性
三层标签,pop一个 untag 一个,保证还有标签可以传输