MPLS学习笔记

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 一个,保证还有标签可以传输

你可能感兴趣的:(MPLS学习笔记)