MPLS实验

实验要求

如图
要求:
R1与R5 用mplsvpn,R1这个私网用rip协议跑通,R5用ospf获取路由
R7和R8 用mplsvpn,R7写静态路由到R8,R8也用静态路由写到R7
R8可以访问R2/3/4环回
在这里插入图片描述

mpls简介

MPLS:是多协议标签交换
多协议:可以基于多种不同的3层协议来生成2.5层的标签信息;

包交换
原始的包交换:数据包进入路由器后,路由器需要查询本地的路由表(RIB-路由信息数据库),再基于下一跳或者目标ip查询本地的ARP表,才能进行数据的转发。
快速的包交换:一次路由多次交换;每个数据流中的第一个包将被基于原始包交换规则转发;过程中生成缓存列表,记录整个通讯过程,该数据流量剩余数据包仅查询缓存记录即可。
特快的包交换:无需路由,直接交换; CEF-cisco特快交换,为cisco私有技术;非cisco厂商设备均存在和cef转发机制相同的技术。

标签交换
数据包在进入到的MPLS的域内后,将在第2层和3层中间压入标签号;使得域内的路由器在转发该数据包时,基于2.5层的标签号仅需要查询本地的一张LFIB表(标签转发信息数据库)
最初在包交换仅支持原始交换时,标签的意义在于更快的查询;但随着包交换的加速,使用标签交换失去了快速查表的优势;

当下MPLS存在的意义:
1、解决BGP的路由黑洞
2、MPLS VPN
3、MPLS TE 流量工程

mpls工作过程

控制层面
1)在没有MPLS时控制层面仅生成RIB(路由表)和FIB(转发信息数据库);FIB是基于RIB生成;
2)MPLS协议会启动TDP(cisco私有)或LDP(公有),直连设备间将建立邻居关系;
3)MPLS在建立邻居关系后,生成邻居表;LDP协议再基于FIB表中学习到的路由条目生成标签号
4)标签号生成后,将存储于本地的LIB表-标签信息数据库;LIB表将在邻居间共享; LIB表中装载本地及邻居为每条路由分发的标签号;
5)运行MPLS协议的设备,将LIB和FIB进行结合,将标签号和最佳路径的关系映射生成LFIB表(标签转发信息数据库)

数据层面
1)当流量进入到第一台pe设备时, 在没有特快交换之前,路由器基于目标IP地址查询本地的RIB;
在LIB表中对应确定流量是否应该压入标签,需要两张表的查询;
2)在存在特快交换时,流量进入第一pe时,直接查询FIB表,表中关联标签号,将直接确定是否压入标签;
3)流量再到P路由器,接收到流量中若存在标签基于LFIB表转发,若没有标签基于FIB表即可;流量从最后一台边界离开MPLS 域时将弹出标签;

实验的配置

基本的ip配置,环回配置均已经完成,不再写上,地址全部为192.168…/24的,图中对应的已经标出。R1 R2 R3 R4 R5环回分别为:
192.1681.1/24, 2.2.2.2/24, 3.3.3.3/24, 4.4.4.4/24, 192.168.4.1/24

环回的配置

[R1]int LoopBack 0     R1的
[R1]ip address 192.168.1.1 24
[R2]int LoopBack 0   R2的
[R2-LoopBack0]ip add 2.2.2.2 24
[R3]int LoopBack 0   R3的
[R3-LoopBack0]ip ad 3.3.3.3 24
[R4]int LoopBack 0   R4的
[R4-LoopBack0]ip address 4.4.4.4 24
[R5]int LoopBack 0    R5的
[R5-LoopBack0]ip address 192.168.4.1 24

R1和R5之间

大概总体思路:
1,先将公网基本ip配置配好,再用ospf让公网互通
2,R2和R4设备作为pe设备,也是EBGP设备,运行bgp协议建立邻居
3,在标签经过的接口运行mpls-ldp协议
4,创建对应vrf空间,并且将rip路由和bgp,ospf路由两两双向重发布

公网的ospf配置

[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 34.1.1.2 0.0.0.0

[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 23.1.1.2 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 34.1.1.1 0.0.0.0

[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 23.1.1.1 0.0.0.0

配置mpls-ldp

配置成功的前题是公网部分已经通了。
只需要在贴标签的路由接口上开启对应的mpls即可,该实验需要开启的接口是下面的四个:
R2-g/0/0/1
R3-g/0/0/0
R3-g/0/0/1
R4-g/0/0/0

配置:
[r2]mpls lsr-id 2.2.2.2 先用真实环回建立,且邻居可达,因为该地址用于建立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]mpls lsr-id 3.3.3.3
[r3]mpls
[r3-mpls]mpls ldp
[r3]interface GigabitEthernet 0/0/1
[r3-GigabitEthernet0/0/1]mpls
[r3-GigabitEthernet0/0/1]mpls ldp
[r3]interface GigabitEthernet 0/0/0
[r3-GigabitEthernet0/0/0]mpls
[r3-GigabitEthernet0/0/0]mpls ldp

[r4]mpls lsr-id 4.4.4.4
[r4]mpls
[r4-mpls]mpls ldp
[r4]interface GigabitEthernet 0/0/0
[r4-GigabitEthernet0/0/0]mpls
[r4-GigabitEthernet0/0/0]mpls ldp

如下,查看建立tcp会话后的tcp状态
在这里插入图片描述

配置R1和R5间的mplsvpn

1、 CE将私有路由传递到PE端

2、 PE端在收到不同CE发送过来的相同网段路由时,使用RD值进行区分—格式X:X 32位

3、 PE端将附上RD的私有路由不能直接装载于本地公有路由表中,需要放置到对应的VRF(虚拟路由转发)空间内;之后再路由付RT值,用于传递到对端PE设备,对端区分信息;VPNV4路由=普通IPV4路由+RD+RT

4、 VPNV4路由需要MP-BGP来进行传递;对端基于RT值,将路由装载到对应的VRF空间内,再共享给对应的CE;

5、 控制层面工作完成后,数据层面需要基于MPLS来工作,由于数据层面不能携带RD/RT值;
故mpls将在数据包中压入两层标签,外层标签用于穿越中间设备,打破BGP路由黑洞;内层标签用于对应VRF空间;

配置:
[R2]ip vpn-instance a 创建名为a的vrf空间
[R2-vpn-instance-a]ipv4-family 进入IPV4的家族配置模式下
[R2-vpn-instance-a-af-ipv4]route-distinguisher 1:1 RD值
[R2-vpn-instance-a-af-ipv4]vpn-target 1:1 RT值 必须对端的PE端一致
[r2]interface GigabitEthernet 0/0/0 进入链接CE端的接口
[r2-GigabitEthernet0/0/0]ip binding vpn-instance a 关联到vrf空间a

[R4]ip vpn-instance a
[R4-vpn-instance-a]ipv4-family
[R4-vpn-instance-a-af-ipv4]route-distinguisher 1:1
[R4-vpn-instance-a-af-ipv4]vpn-target 1:1
[r4]interface GigabitEthernet 0/0/1
[r4-GigabitEthernet0/0/1]ip binding vpn-instance a

此时pe R2上直接ping192.168.2.1ping不通,因为,R2作为的是公网不会直接存储192.168.2.1这个网段地址,而是存在vrf空间的。需要用在空间a里面的路由表ping
在这里插入图片描述
用空间a里面的来ping
在这里插入图片描述

私网的rip及ospf的宣告配置

在R1上面正常配置即可:
[R1]rip 1
[R1-rip-1]version 2
[R1-rip-1]network 192.168.1.1 0.0.0.0
[R1-rip-1]network 192.168.2.1 0.0.0.0

[R2]rip 1 vpn-instance a
[R2-rip-1]v 2
[R2-rip-1]network 192.168.2.0
这时R2 vrf空间学习到了rip路由

[R5]ospf 2
[R5-ospf-2]area 0
[R5-ospf-2-area-0.0.0.0]network 192.168.4.1 0.0.0.0
[R5-ospf-2-area-0.0.0.0]network 192.168.3.2 0.0.0.0

[r4]ospf 2 vpn-instance a 在空间a中配置
[r4-ospf-2]area 0
[r4-ospf-2-area-0.0.0.0]network 192.168.3.1 0.0.0.0
这时R4 vrf空间学习到了ospf路由

公网mp-bgp的建立

[r2]bgp 1
[r2-bgp]router-id 2.2.2.2
[r2-bgp]pe 4.4.4.4 as-number 2 和对端R4建立邻居
[r2-bgp]pe 4.4.4.4 connect-interface LoopBack 0 用环回作为源
[r2-bgp]pe 4.4.4.4 next-hop-local 为了传递路由时条目优秀,将下一跳改为本地
同时还需要再在IPV4的家族模式中,与对端建立一个VPNV4的关系,用于传递VPNV4路由(mp-bgp关系)
[r2-bgp]ipv4-family vpnv4
[r2-bgp-af-vpnv4]peer 4.4.4.4 enable

[r4]bgp 1
[r4-bgp]router-id 4.4.4.4
[r4-bgp]pe 2.2.2.2 as-number 2
[r4-bgp]pe 2.2.2.2 connect-interface LoopBack 0
[r4-bgp]pe 2.2.2.2 next-hop-local
[r4-bgp]ipv4-family vpnv4
[r4-bgp-af-vpnv4]peer 2.2.2.2 enable

查看mp-bgp邻居关系
在这里插入图片描述

R2和R4上面的双向重发布

为了将R1和5通,需要将rip重发布到bgp,bgp重发布到rip,ospf重发布到bgp,bgp重发布到ospf。
重发布后EBGP会将自己通过任何协议学习到的路由条目传递到邻居

[R2]rip 1 vpn-instance a 到空间a里面导入bgp路由
[R2-rip-1]import-route bgp
[R2-rip-1]q
[R2]bgp 1
[R2-bgp]ipv4-family vpn-instance a 到空间里面导入rip
[R2-bgp-a]import-route rip 1

[R4]ospf 2 vpn-instance a
[R4-ospf-2]import-route bgp
[R4-ospf-2]q
[R4]bgp 1
[R4-bgp]ipv4-family vpn-instance a
[R4-bgp-a]import-route ospf 2

查看vrf空间里面的路由表发现R4有到1.0 和2.0 的路由了
在这里插入图片描述
测试:用R1pingR5环回成功
在这里插入图片描述

R7和R8之间

大概总体思路:
1,前面公网bgp环境配置已经好了。只需要在以上操作中做出一些添加就可以了,过程相似

创建R7和R8间的mplsvpn

[R2]ip vpn-instance b 再创建名为b的vrf空间用于R7和R8建立mpls-vpn
[R2-vpn-instance-a]ipv4-family 进入IPV4的家族配置模式下
[R2-vpn-instance-a-af-ipv4]route-distinguisher 2:2 RD值
[R2-vpn-instance-a-af-ipv4]vpn-target 2:2 RT值 必须对端的PE端一致
[r2]interface GigabitEthernet 0/0/2 进入链接CE端的接口
[r2-GigabitEthernet0/0/2]ip binding vpn-instance b 关联到vrf空间b

[R4]ip vpn-instance b
[R4-vpn-instance-a]ipv4-family
[R4-vpn-instance-a-af-ipv4]route-distinguisher 2:2
[R4-vpn-instance-a-af-ipv4]vpn-target 2:2
[r4]interface GigabitEthernet 0/0/2
[r4-GigabitEthernet0/0/2]ip binding vpn-instance b

配置静态路由及环回

[R7]ip route-static 192.168.4.0 24 192.168.5.2 手写去往R8的ip
[R7]ip route-static 192.168.6.0 24 192.168.5.2
[R7]int LoopBack 0
[R7-LoopBack0]ip ad 192.168.2.1

[R2]ip route-static vpn-instance b 192.168.2.0 24 192.168.5.1 在空间b中手写到R7的环回ip

[R8]ip route-static 192.168.2.0 24 192.168.6.1
[R8]ip route-static 192.168.5.0 24 192.168.6.1
[R7]int LoopBack 0
[R8-LoopBack0]ip ad 192.168.4.2

[R4]ip route-static vpn-instance b 192.168.4.0 24 192.168.6.2

重发布

[R2]bgp 1
[R2-bgp]ipv4-family vpn-instance b 在空间b中将直连路由和静态路由重发布到bgp
[R2-bgp-b]import-route direct
[R2-bgp-b]import-route static

[R4-bgp]bgp 1
[R4-bgp]ipv4-family vpn-instance b
[R4-bgp-b]import-route direct
[R4-bgp-b]import-route static

最后R2和R4的vrf b空间就有到R7 R8的路由了

pingR8的环回测试成功
在这里插入图片描述

<think>嗯,用户需要了解eNSP静态MPLS实验原理的简要分析。从用户提供的引用内容看,引用[1]详细解释了MPLS的LSP建立过程,特别是静态LSP的手工配置特点,这正是回答的核心依据。用户之前可能在学习MPLS基础,现在聚焦在eNSP仿真环境下的静态实现。 用户可能是个网络工程学习者,正在用华为eNSP做实验。ta特意要求"简要分析",说明需要原理精炼而非操作细节。考虑到MPLS涉及底层转发机制,需要把标签转发流程讲透,但避开动态协议部分。 重点应该放在:1) 与传统IP转发的区别;2) 静态LSP三大要素(标签/接口/下一跳)的配置逻辑;3) 报文转发时标签操作的关键步骤。引用[1]提到"下游分配标签"的特性很重要,但静态场景实际是人工指定上下游标签,这点要修正说明。 实验拓扑方面,引用[2]的企业网结构很典型,可以用R1-R2-R3简化模型示意。标签分配示例用1600-1700区间符合华为设备惯例,避免用16以下保留值。transit点的双标签替换过程必须用文字+公式呈现,$Label_{in}/Label_{out}$的数学表达能清晰对应物理操作。 需要强调控制平面和转发平面的分离:虽然IP路由表存在(引用[3]静态路由命令),但MPLS转发完全依赖标签转发表。最后补充应用场景时,引用[1]的流量工程应用要关联说明,毕竟这是静态MPLS的主要价值。 </think>以下是eNSP静态MPLS实验原理的简要分析,结合MPLS基础工作机制: ### 一、核心原理 1. **静态LSP建立** 通过**手工配置标签**(而非动态协议)实现路径固定,控制平面不依赖路由协议[^1]。 ```markdown [R1] static-lsp ingress LSP1 destination 3.3.3.3 32 nexthop 10.1.12.2 out-label 100 [R2] static-lsp transit LSP1 incoming-interface Gig0/0/1 in-label 100 nexthop 10.1.23.3 out-label 200 [R3] static-lsp egress LSP1 incoming-interface Gig0/0/0 in-label 200 ``` 2. **标签转发机制** - **Ingress LSR**:为IP报文压入标签(如$Label=100$) - **Transit LSR**:根据标签转发表执行交换($Label_{in}=100 \rightarrow Label_{out}=200$) - **Egress LSR**:弹出标签并执行IP路由 3. **控制与转发分离** ```mermaid graph LR A[IP报文] --> B{Ingress LSR} B -->|压入标签| C[标签报文] C --> D{Transit LSR} D -->|标签交换| E[新标签报文] E --> F{Egress LSR} F -->|弹出标签| G[IP报文] ``` ### 二、关键配置要素 | 节点类型 | 配置要点 | 作用 | |------------|-----------------------------------|----------------------| | Ingress | 指定目的IP、出标签、下一跳 | 发起标签封装 | | Transit | 配置入/出标签、入/出接口 | 执行标签交换 | | Egress | 配置入标签 | 剥离标签还原IP报文 | ### 三、实验验证要点 1. **基础连通性** 先确保底层IP可达(如通过`ping`验证) 2. **标签转发表** 使用`display mpls static-lsp`查看状态 3. **抓包分析** 在链路捕获报文,观察标签值变化(如Wireshark解析MPLS头部) > ⚠️ **静态LSP局限性**:需全程手工维护标签一致性,无法适应拓扑变化,适用于小型稳定网络或特定流量工程场景[^1]。 --- ### 相关问题 1. 静态LSP与动态LDP建立的LSP有何本质区别? 2. 如何在eNSP中验证MPLS标签的压入和弹出过程? 3. 当静态LSP路径中出现链路故障时会发生什么? 4. MPLS标签的TTL处理机制与IP TTL有何关联?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Fy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值