HCIP—第十五天总结 2022-5-18

MPLS —— 多协议标签交换

包交换 — 数据组成数据包,在网络中的各个节点传递,最终到达目标 — 路由转发的过程

1,查两张表 — 路由表和ARP缓存表
2,路由表的匹配原则 — 最长匹配原则
3,递归查找
4,IP包头可边长 — 则只能通过软件进行处理

标签交换

在二层封装和三层封装之间,添加一个和路由条目存在映射关系的标 签,之后,维护一张记录对应关系和转发接口表,之后,携带标签的数据来到设备上,将先看到标签,之后基于维护的表进行转发,而不再看三层 发IP数据。 ----- 因为标签本身短小且定长,所有,转发效率会高于包交换。 ---- 但是,由于标签交换过程需要由压入标签和弹出标签的动 作,所以,整体对包交换效率的提升并不明显。

包交换的优化过程:
1,进程交换:最早期的包交换 — 就是每个数据包来到设备都需要去基于目标IP查看路由表及ARP缓存表来进行转发。
2,快速包交换:基于流的包交换 ---- 一次路由多次交换 ---- 只有第一个数据包需要执行包交换的过程
3,思科的特快交换(Cisco Express Forwading)— CEF — 对路由表和ARP缓存表中的内容进行预读取(路由表中需要递归查找的先递归好)记录在CEF表中。并且这个CEF表可以支持硬件处理。虽然CEF是思科的私有技术,但是,各个厂商结合原理也都开发出了自己的特快交换技术。华为设备在进行数据转发时,就查看的不是路由表,而是FIB表(转发信息数据库),该表支持硬件处理转发。

当下MPLS存在的意义

  • 1、解决BGP的路由黑洞
  • 2、MPLS VPN
  • 3、MPLS TE 流量工程

在这里插入图片描述
所有运行MPLS设备组成的网络,我们可以称为是一个MPLS域。域中所有运行MPLS的设备都可以被称为LSR(标签交换路由器)。
这个标签是每台路由器基于自己路由表中的路由条目生成的,是路由器的个人行为。
包交换

控制层面 :路由协议的数据流的流动方向,目的是为了获取未知网 段的路由信息,生成路由表。
数据层面 :基于设备已完善的路由表(FIB),来转发具体的数据到 达目标网段。其方向正好和控制层面相反。

标签交换

控制层面:基于FEC分配标签,并且获取其他LSR对相同FEC分配的标 签。记录在本地LIB表中,再结合FIB表生成LFIB表。(控制层面的功 能可以通过静态手工配置来完成,也可以通过动态协议来完成 — LDP协议:标签分发协议。)
数据层面:设备基于LFIB表,根据标签进行转发

结合上面的图来分析:
R1这台设备为进入MPLS域中的数据压入标签,所以,这样的设备我们称为 — 入站LSR(Ingress LSR)
在这个过程中,R2完成了一次标签的置换动作,这样的LSR我们称为 — 中转LSR(transit LSR)
R4是MPLS域的一个边界,完成的是标签的弹出动作,这样的LSR我们称为 — 出站LSR(egress LSR)

在这里插入图片描述
LABEL — 20位 — 取值范围为0 - 2的20次方。我们把标签的取值范围称为标签空间,每台设备的标签空间是独立了。

0 - 15 ---- 特殊标签值,我们在分配时一般不用这些标签,因为他们具有特殊含义
16 - 1023 ---- 一般用于静态LSP搭建使用
1023 - 2的20次方 ---- LDP等可以动态分配标签的协议使用的标签号的范围

EXP — 占3位 — 主要做策略用的。一般情况下为 000 ,可以理解为优先级,数值越大,优先级越高,可以优先转发。
S — 占1位 — 栈底位 — 我们把标签头部组成有序序列称为标签栈。 ---- 该位为1,则代表是最后一个标签,为0,则代表还有后续标签需要处理。
TTL — 相当于讲TTL值换了个位置进行计数,作用和目的都是一样的。

LDP — 标签分发协议

LDP ---- 分配标签,传递标签
分配标签:激活LDP后,LDP会在本设备上为FEC分配标签 ---- 注意,并不是对所有的FEC都分配标签,他只对如果自己是某个FEC的出站LSR是,才主动为这个FEC分配标签。
分配方式
有序方式:只有自己是某个FEC的出站LSR时才会主动分配标签,其他设备分配标签需要先收到FEC和标签的对应关系,之后进行检查(检查自己路由表中是否存在到达这个FEC的路由,以及下一跳和通告者是否相同),检查通过后才去分配标签 ----- 华为设备默认采用的是有序分配方式。
独立方式:设备可以自己自主对FEC分配标签而不需要
等待其他设备的通告。
传递标签
R4将标签和FEC的映射关系传递给R3的前提条件是 ---- R4和R3必须是LDP对等体关系,而建立对等体关系的前提是R3和R4之间必须建立LDP会话。
工作过程

1,先在LSR上激活LDP协议,我们LSR的接口将开始周期发送hello包来发现LDP对等体。
2,双方收到彼此交互的hello包之后,获取到对方的传输地址,之后,基于传输地址,去建立TCP会话。为了避免重复建立TCP会话,LDP会选择传输地址大的一方作为主动方,主动发起TCP会话连接请求。
3,完成TCP会话建立之后,传输地址更大的一方将优先发送初始化报文,中将携带LDP相关的参数,对端收到后,将对这些参数进行检查,如果认可,则将发送自己的初始话报文,同时还会发送一个keeplive报文,代表确认收到的参数。对端收到初始化报文后,如果认可其中的参数,则也将反馈一个keeplive报文作为确认。双方都收到对端的keeplive报文后,则将代表LDP会话建立完成。

PLS的次末跳 – 倒数第二跳 默认执行
边界LSR(pe)将本地的直连网段传递给MPLS域内邻居后,LDP分配标签号为3,告知倒数第二跳设备它的身份;导致倒数第二跳设备在查询LFIB表后,已知转发路径的前提下提前弹出标签,使得最后一跳路由器均只需要查询FIB表; 否则最后一跳路由器在查询LFIB表后,弹出标签还需要查询FIB;

MPLS的配置

1、 IP可达— 使用路由协议全网可达
2、 配置MPLS – LDP

[r2]mpls lsr-id 2.2.2.2    必须先定义mpls的router-id,要为本地设备的真实ip地址,且邻居可达,因为该地址将用于建立TCP会话,建议使用环回地址
[r2]mpls             再开启mpls协议
[r2-mpls]mpls ldp      再激活LDP协议

  注意:之后需要在所有标签经过的接口上开启协议
[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]mpls    先开启MPLS
[r2-GigabitEthernet0/0/1]mpls ldp   再激活LDP协议

[r3]display  fib  ---查看FIB表
[r4]display  mpls ldp  lsp    ---查看LIB表,装载本地和邻居为各条路由分配的标签号
[r4]display mpls lsp --- 查看LFIB表

注:默认华为仅针对32位主机路由分配标签
[r3]mpls 
[r3-mpls]lsp-trigger all   开启功能,将针对fib表中所有路由进行标签号的分配
[r2]tracert -v -a 2.2.2.2 56.1.1.2

使用mpls解决BGP的路由黑洞
MPLS协议并不会为通过BGP协议学习的路由条目分配标签号;
开启bgp标签的分发

[Huawei]mpls 
[Huawei-mpls]lsp-trigger bgp-label-route

而是在访问这些BGP路由目标网段时,在流量中压入到达这些网段的BGP下一跳设备地址的标签号;
注:华为设备默认不为BGP协议执行下一跳标签机制,cisco默认执行;
华为设备需要开启 route recursive-lookup tunnel 路由基于隧道进行递归查找

MPLS VPN

在这里插入图片描述

1、 CE将私有路由传递到PE端
2、 PE端在收到不同CE发送过来的相同网段路由时,使用RD值进行区分—格式X:X 32位
3、 PE端将附上RD的私有路由不能直接装载于本地公有路由表中,需要放置到对应的VRF vpn实例(虚拟路由转发)空间内;之后再路由付RT值,用于传递到对端PE设备,对端区分信息;
VPNV4路由=普通IPV4路由+RD+RT
4、 VPNV4路由需要MP-BGP来进行传递;对端基于RT值,将路由装载到对应的VRF空间内,再共享给对应的CE;
5、 控制层面工作完成后,数据层面需要基于MPLS来工作,由于数据层面不能携带RD/RT值;
故mpls将在数据包中压入两层标签,外层标签用于超越中间设备,打破BGP路由黑洞;
内层标签用于对应VRF空间;

配置MPLS VPN

[r2]ip vpn-instance a    创建名为a的vrf空间
[r2-vpn-instance-a]route-distinguisher 100:100 --- 配置RD值
[r2-vpn-instance-a-af-ipv4]vpn-target 100:1 export-extcommunity --- 配置出站RT
[r2-vpn-instance-a-af-ipv4]vpn-target 100:2 import-extcommunity --- 配置入站RT
[r2]interface GigabitEthernet 0/0/0    进入链接CE端的接口
[r2-GigabitEthernet0/0/0]ip binding vpn-instance a  关联到vrf空间
[r2-GigabitEthernet0/0/0]ip address 192.168.2.2 24   配置私有ip地址
注:在关联到vrf空间前不能配置接口ip,否则该地址的直连路由将进入公有路由表;
[r2]display  ip routing-table vpn-instance a    查看空间内的私有路由表
[r2]ping -vpn-instance  a  192.168.2.1   正常测试将在公有路由表中查询记录;该命令为基于VRF空间
a进行路由查询

PE与PE间建立MP-BPG邻居关系
[r2]bgp 2 
[r2-bgp]router-id 2.2.2.2
先和对端建立正常BGP邻居关系,可用于传递正常的公网路由
 [r2-bgp]pe 4.4.4.4 as-number 2 
 [r2-bgp]pe 4.4.4.4 connect-interface LoopBack 0
 [r2-bgp]pe 4.4.4.4 next-hop-local     
 同时还需要再在IPV4的家族模式中,与对端建立一个VPNV4的关系,用于传递VPNV4路由
 [r2-bgp]ipv4-family vpnv4 
 [r2-bgp-af-vpnv4]peer 4.4.4.4 enable
[r2-bgp]display bgp vpnv4 all peer  查看mp-bgp邻居关系

CE端与PE端交互路由
静态
CE端直接编写静态路由即可;
PE端编写到VRF空间内的静态路由
[r2]ip route-static vpn-instance  a 192.168.1.0 24 192.168.2.1
 将本地vrf空间内的静态和直连路由重发布到BGP协议传递到对端的PE
[r2]bgp 2
[r2-bgp]ipv4 vpn-instance a
 [r2-bgp-a]import-route direct 
 [r2-bgp-a]import-route static
<r4>display  bgp vpnv4 vpn-instance a routing-table  查看mp-bpg的BGP表

RIP
[r2]rip 1 vpn-instance a ---- 在VRF空间中启动RIP进程
[r2-rip-1]v 2
[r2-rip-1]network 192.168.2.0

OSPF
CE端正常启动OSPF即可
PE端,启动VPNV4专用的ospf协议
[r4]ospf 2 vpn-instance a
[r4-ospf-2]area  0
[r4-ospf-2-area-0.0.0.0]network 192.168.3.1 0.0.0.0
之后使用双向重发布,实现路由共享
[r4]bgp 2 
[r4-bgp]ipv4-family vpn-instance a
[r4-bgp-a]import-route ospf  2 
[r4]ospf 2 vpn-instance a
[r4-ospf-2]import-route bgp  

[r4]display  mpls lsp vpn-instance a  查看双层标记的内层标签号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值