原理分析:由于MPLS ×××涉及到两个层面,一个是控制层面的MPBGP行为,包括传递×××V4路由;另一个是转发层面的MPLS行为,包括LDP标签管理、MPLS转发等。每个层面均按照3层网络分层模型进行分析:

(一)控制层面(Routing Information Distributing)

1、接入层

接入层指的是客户接入二级ISP的网络。单纯观察这一层,如同 MPLS ×××的PE-PE模型。R7、R8使用分属不同VRF的三层接口连接Corp_A和Corp_B的4个网段,并由VRF的RD对上述网段的路由分别进行标识。同时R7、R8成为MP-iBGP peer,并相互交换×××v4路由信息。本实验里,R7使用5678:71标识C1、使用5678:72标识C3;R8使用5678:81标识C2、使用5678:82标识C4。因此,C1、C2、C3、C4的路由为:

C1

5678:71:192.168.7.0

C2

5678:81:172.16.7.0

C3

5678:72:192.168.8.0

C4

5678:82:172.16.8.0

R7#show ip bgp ***v4 all

Route Distinguisher: 5678:71 (default for vrf ×××_A)

*>i172.16.7.0/24    8.8.8.8                  0    100      0 i

*> 192.168.7.0      0.0.0.0                  0         32768 i

Route Distinguisher: 5678:72 (default for vrf ×××_B)

*>i172.16.8.0/24    8.8.8.8                  0    100      0 i

*> 192.168.8.0      0.0.0.0                  0         32768 i

Route Distinguisher: 5678:81

*>i172.16.7.0/24    8.8.8.8                  0    100      0 i

Route Distinguisher: 5678:82

*>i172.16.8.0/24    8.8.8.8                  0    100      0 i

由于接入层使用LDP进行标签分发,LDP为上述路由分配1、2层标签:

2、分配层

分配层指的是二级ISP内部和二级ISP接入一级ISP的网络。单纯观察这一层,如同MPLS ×××的CE-PE模型。首先,二级ISP内部只是简单的IPv4 routing+MPLS网络,传递的路由协议也是AS 5678内部路由,这从R5的RIB中可以看到;

R5#show ip route

5.0.0.0/32 is subnetted, 1 subnets

C        5.5.5.5 is directly connected, Loopback0

6.0.0.0/32 is subnetted, 1 subnets

B        6.6.6.6 [20/0] via 35.0.0.3, 01:18:15

7.0.0.0/32 is subnetted, 1 subnets

O        7.7.7.7 [110/65] via 57.0.0.7, 01:17:48, Serial1/1

8.0.0.0/32 is subnetted, 1 subnets

B        8.8.8.8 [20/0] via 35.0.0.3, 01:16:00

35.0.0.0/8 is variably subnetted, 3 subnets, 2 masks

C        35.0.0.0/24 is directly connected, Serial1/0.503

C        35.0.0.3/32 is directly connected, Serial1/0.503

L        35.0.0.5/32 is directly connected, Serial1/0.503

57.0.0.0/8 is variably subnetted, 2 subnets, 2 masks

C        57.0.0.0/24 is directly connected, Serial1/1

L        57.0.0.5/32 is directly connected, Serial1/1

68.0.0.0/24 is subnetted, 1 subnets

B        68.0.0.0 [20/0] via 35.0.0.3, 01:16:00

R5#show ip bgp ***v4 all

% Uninitialized context

与MPLS ×××模型中的CE不同的是,二级ISP内部使用了MPLS,这一点区别很重要,因为涉及到一个非常重要的配置。由于这个区别影响的是转发层面的问题,将在后面讨论。

对于一级ISP的PE,也与一般的PE-CE模型PE相仿。但这里要注意的是,一级ISP的PE所建VRF不是针对二级ISP所建VRF的,而是针对二级ISP本身的。因此,该VRF需要导入的Route-Target应该是需要建立MPiBGP peer的二级ISP所接入PE的VRF,与二级ISP的VRF无关。这句话比较绕口,请看:

R3#show ip vrf detail

VRF CSC_××× (VRF Id = 1); default RD 13:3; default ×××ID <not set>

Interfaces:

Se1/0.305

VRF Table ID = 1

Export ××× route-target communities

RT:24:4                  RT:13:3

Import ××× route-target communities

RT:24:4                  RT:13:3

No import route-map

No export route-map

VRF label distribution protocol: BGP

VRF label allocation mode: per-prefix

同时,二级ISP的路由以作为×××v4路由进行信息交换:

R3#show ip bgp ***v4 all

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 13:1

*>i6.6.6.6/32       1.1.1.1                  0    100      0 24 5678 ?

*>i8.8.8.8/32       1.1.1.1                  0    100      0 24 5678 ?

*>i68.0.0.0/24      1.1.1.1                  0    100      0 24 5678 ?

Route Distinguisher: 13:3 (default for vrf CSC_×××)

*> 5.5.5.5/32       35.0.0.5                 0             0 5678 ?

*>i6.6.6.6/32       1.1.1.1                  0    100      0 24 5678 ?

*> 7.7.7.7/32       35.0.0.5                65             0 5678 ?

*>i8.8.8.8/32       1.1.1.1                  0    100      0 24 5678 ?

*> 57.0.0.0/24      35.0.0.5                 0             0 5678 ?

*>i68.0.0.0/24      1.1.1.1                  0    100      0 24 5678 ?

3、核心层

核心层指一级ISP的内部网络和一级ISP之间的级联网络。这也是体现出Option AB的结合Option B的易扩展性优点。首先,ASBR之间使用MP-eBGP建立BGP会话,并交换×××v4路由。ASBR可就每个不同的下级ISP建立带CSC特性的OptionAB VRF。该VRF特性如下:

Specifies the VRF as an Option AB VRF, which has the following effects:

Routes imported to this VRF can be advertised to Option AB peers and ×××v4 iBGP peers.

When routes received from Option AB peers and are imported into the VRF, the next hop table ID of the route is set to the table ID of the VRF.

If the csc keyword is not used, a per-VRF label is allocated for imported routes.

When routes are received from Option AB peers and are imported next into the VRF, the learned out label can be installed only in forwarding when the csc keyword is used.The csc keyword implies the following:

A per-prefix label is allocated for imported routes.

For routes received from Option AB peers that are imported into the VRF, the learned out label is installed in forwarding.​

简单的说,eBGP peer除了通过一个三层接口建立BGP会话外,还有若干三层子接口,分别处于不同的Option AB VRF内。而这些Option AB VRF在设置时,需要设置一个next-hop,指向属于该VRF的子接口对端。

若BGP收到RT为非OptionAB VRF的×××v4路由时,使用建立BGP会话的接口进行转发(该接口自动生成mpls bgp forwarding命令分配标签);

若BGP收到RT为某OptionAB VRF的×××v4路由时,自动把该路由的next-hop设置为该VRF所设置的next-hop。若该VRF是CSC属性的,则子接口使用MPLS转发数据包(同时在接口处使用mpls bgp forwarding),否则子接口使用IPv4转发。

R1#show ip vrf de 
VRF CSC_××× (VRF Id = 1); default RD 13:1; default ×××ID <not set>
  Interfaces:
    Se1/0.192               
VRF Table ID = 1
  Export ××× route-target communities
    RT:13:3                  RT:24:4                 
  Import ××× route-target communities
    RT:13:3                  RT:24:4                 
  No import route-map
  No export route-map
  VRF label distribution protocol: not configured
  VRF label allocation mode: per-prefix
  Inter AS Hybrid mode configured, with CSC, next-hop 192.168.12.2

R1#show run in s1/0.192
Building configuration...

Current configuration : 173 bytes
!
interface Serial1/0.192 point-to-point
 ip vrf forwarding CSC_×××
 ip address 192.168.12.1 255.255.255.0
 mpls bgp forwarding
 frame-relay interface-dlci 192 IETF   
end

(二)转发层面(MPLS FORWARDING)

转发层面使用一个traceroute命令输出作为解释:

R7>trace vrf ×××_A 172.16.7.1

1 57.0.0.5 [MPLS: Labels 19/17 Exp 0] 176 msec 204 msec 184 msec

2 35.0.0.3 [MPLS: Labels 21/17 Exp 0] 272 msec 192 msec 292 msec

3 13.0.0.1 [MPLS: Labels 22/17 Exp 0] 352 msec 212 msec 260 msec

4 192.168.12.2 [MPLS: Labels 23/17 Exp 0] 284 msec 216 msec 236 msec

5 24.0.0.4 [MPLS: Labels 0/18/17 Exp 0] 272 msec 264 msec 228 msec

6 46.0.0.6 [MPLS: Labels 16/17 Exp 0] 276 msec 240 msec 204 msec

7 172.16.7.1 208 msec *  200 msec

1、接入层

在接入层,MPLS为每个二级ISP ×××内的路由分配2层标签,内层标签指示×××内路由,外层标签指示MPiBGP PEER(8.8.8.8/32)。

R7#show mpls ip bind 
--omited--    
  8.8.8.8/32 
 in label:     20        
 out label:    19        lsr: 5.5.5.5:0        inuse​

R8#show mpls ip binding all
--omited--

VRF ×××_A:
  172.16.7.0/24 
 in label:     17

可见接入层(包括二级ISP)使用双层MPLS标签进行转发,外层标签指定PE,内层标签指定PE内的VRF。

2、汇聚层

数据包进入R5后,继续交换外层标签,保持内层标签不变。

R5#show mpls ip bind

8.8.8.8/32

in label:     19

out label:    20        lsr: 7.7.7.7:0

ICMP包交换到PE后,由PE进行MPLS交换。这里需要注意的是,对于一般的PE-CE模型,考虑到P没有CE的内部路由,因此PE需要使用双层标签分别表示×××路由和内部路由;而由于BGP对所有×××v4的路由分配标签,因此一级ISP骨干即使没有二级ISP的内部路由,但依然可以使用同一层标签进行MPLS转发:

R3#show mpls ip bind

R3#show ip bgp ***v4 all label

Network Next Hop In label/Out label

Route Distinguisher: 13:3 (CSC_×××)

8.8.8.8/32 1.1.1.1 22/23

同理,从R4转发MPLS数据包到R6时,也将pop出

由于一级ISP使用不同的vrf区分不同的二级ISP,因此PE(R3、R4)使用vrf CSC_×××标识连接二级ISP的接口:

R3#show run in s1/0.305

interface Serial1/0.305 point-to-point

ip vrf forwarding CSC_×××

ip address 35.0.0.3 255.255.255.0

mpls bgp forwarding

frame-relay interface-dlci 305

end

R4#show run in s1/0.406

interface Serial1/0.406 point-to-point

ip vrf forwarding CSC_×××

ip address 46.0.0.4 255.255.255.0

mpls bgp forwarding

frame-relay interface-dlci 406

end

3、核心层

上面说到,骨干PE(R3、R4)将在vrf端口处接收到带有mpls标签的数据包。回想原CE-PE模型,PE处MPLS将为每条×××内的路由生成2层标签,内层标签标识VRF,外层标签标识PE。这里R3、R4接收到的本身就是2层MPLS数据包,情况将如何呢?

PE将交换原MPLS数据包的外层标签,然后再添加1层标签,作为骨干中指示本PE的标签。这样子,从PE(R3)中交换到R1的MPLS数据包封装理论上将带有3层标签:[R1][R8][172.168.7.1][数据包内容]。由于本拓扑没有P路由器,基于PHP机制,R3赋予[R1]的标签应为implic-null标签,因此从R3交换到R1的标签应为:[R8][172.16.7.1]。

从R1到R2,才是Inter-AS CSC Option AB的重点。控制层面已经说过,R1和R2之间将根据VRF的设置,决定使用何种方式转发数据包。首先,ASBR(R1、R2)之间除了一条直连的三层链路外,还要根据Option AB VRF的数量建立子链路,并在Option AB VRF内使用参数inter-as csc next-hop指定对端的IP地址。此外,ASBR之间使用MP-BGP进行标签分配。MP-BGP根据×××v4路由所属VRF,分别使用不同的next-hop作为其NLRI。假如VRF是Option AB的,MP-BGP使用Option AB VRF中指定的next-hop;假如VRF不是Option AB的,MP-BGP使用建立BGP peer IP作为下一跳。

由于下一跳不相同,因此mpls将不会把不同vrf之间的数据作为相同的fec(转发等价类),也就使用不同的标签进行转发。这样子就可以实现基于VRF的QoS了。

转载于:https://blog.51cto.com/golehuang/823534

MPLS ××× Carrier Supporting Carrier Option AB(二)相关推荐

  1. MPLS ××× Carrier Supporting Carrier Option AB(一)

    inter-AS MPLS ×××的构建与单一AS MPLS ×××构建稍有不同.关于MPLS ××× Inter-AS互联,可参考RFC 4364中Multi-AS backbones一章.里面提及 ...

  2. 跨域MPLS Option B(RR)

    实验需求 本实验使用Option B完成跨域的MPLS-VPN,R9/10是CE,R1/7是PE,R3/5是ASBR,R2/6是P设备,R4/8是反射器RR. 所有涉及到Router-id的协议,全部 ...

  3. 对Carrier IQ木马的综合分析报告

    2019独角兽企业重金招聘Python工程师标准>>> 出处: 安天实验室 2011年12月4日 v1.1 ( PDF报告下载 ) {PDF文档阅读软件下载} 报告修订记录 修订日期 ...

  4. BGP MPLS VPN(OPTION B)实验笔记

    1.实验说明 (1) 实验目的 配置BGP MPLS VPN OPTION A,使得总部与分公司私网互通,分公司与总部之间可互访,但分公司之间不能互访. (2) 实验拓扑 (3) 地址说明 业务地址段 ...

  5. BPG MPLS option ABC 方案整理

    跨域将网络分为三个部分:市.省.市-省 在市网络中存在一个ASBR-PE,该设备用于和省进行连接,省的设备也是ASBR-PE BGP MPLS VPN跨域方案,用于需要建立BGP MPLS VPN的网 ...

  6. 开务分布式数据库 Tracing(二)—— 源码解析

    按照[开务数据库 Tracing(一)]介绍的使用opentracing要求,本文着重介绍开务数据库(原:云溪数据库)Tracing模块中是如何实现Span,SpanContexts和Tracer的. ...

  7. mpls 笔记 part 1

    MPLS 骨干网络视频课程 mpls,优势于传统路由,在于,如果有两个目的地,使用了同样的网段,传统路由无法区分,而mpls可以使用标签轻松转发,而相互不受影响, 只在入口,进行fec的查找和匹配,进 ...

  8. 【华为】MPLS及MPLS VPN概念

    文章目录 MPLS(多协议标签交换) 设计初衷 当前路由器转发机制 FEC 前言 MPLS 1.1 标签值 LDP/TDP研究: TDP LDP MPLS 环路检测 MPLS TTL环路检测 LDP环 ...

  9. 2023-01-20 网工进阶(三十九)MPLS 虚拟专用网络---概述、路由交互、CE接入PE方法、基本组网方案详解、团体属性、防环、MCE组网、伪连接方案、跨域组网详解、各种组网方案配置举例

    概述 VPN(Virtual Private Network,虚拟专用网络)指的是在一个公共网络中实现虚拟的专用网络,从而使得用户能够基于该专用网络实现通信的技术.MPLS VPN也是VPN技术中的一 ...

最新文章

  1. 设计模式--外观模式
  2. java把字符串变代码,Java/javaScript将字符串转变成可执行的语句
  3. 《转》每天起床时,优秀创业者都会问自己这3个问题
  4. 方差分析的MATLAB实现(单因子)
  5. 在ASP.NET Core中使用百度在线编辑器UEditor
  6. HDU2612(BFS算法)
  7. 看完动画你还敢说不会 快速排序
  8. 精选5个酷毙的Python工具
  9. 【Flink】Flink key 应该分配到哪个 KeyGroup 以及 KeyGroup 分配在哪个subtask
  10. php数组循环转为对象,php中循环实现(字符串,对象,或者数组)编码相互转换
  11. linux yum 安装软件
  12. 知识图谱可视化工具选型
  13. Kaggle账号的注册
  14. macbook proa1708_Macbook pro2017 a1708转接卡更换大容量硬盘
  15. GPU驱动、CUDA和cuDNN之间的版本匹配与下载
  16. js 编写一个函数,计算任意两个数字之间所能组成的奇数个数
  17. ugui 转轮_【Unity插件】FingerGestures 插件使用
  18. 创业时全力以赴和留有后路的结果相同吗?
  19. O365 Multi-Geo测试报告
  20. win安装nacos

热门文章

  1. GIT创建公钥,并放置远程库
  2. python+flask编写一个简单的登录接口例子
  3. Set集合框架(HashSet and TreeSet)
  4. Linux 简单的shell实现
  5. oracle 定时器时间分区_Oracle数据库之oracle按时间分区以及自动分区
  6. mysql5.7.14启动教程_mysql5.7.14安装配置方法图文详细教程
  7. 宁夏2021高考成绩查询,宁夏教育考试院:2021年宁夏高考成绩查询入口、查分系统...
  8. 键盘向上箭头代码中怎么表示_Altium Designer中的快捷键汇总(收藏必备)
  9. 数字图像识别笔记(第三章-灰度变换与空间滤波)
  10. python-opencv使用摄像头