LDP配置注意事项
1.每台设备上都需要到对端的路由,也就是说以上拓扑上R1,R2,R3都需要有到VLAN20的去往路由与回包路由,LDP协议依据路由也就是MPLS中的FEC来分配tunnel ID,使用tunnel ID将FIB表与MPLS中的ILM表和NHFLE表互相关联。
2.MPLS LSR-ID之间需要能互通,一般使用LOOPBACK地址,也就是说LOOPBACK地址需要邻居间互通,这样才能建立邻居关系,并通过TCP协议进行MPLS中的FEC、标签等交互,且接口下也需要使能LDP协议,LDP协议通过组播发送,组播地址(224.0.0.2)以此来宣告自身,下面实验中抓包查看。
3.ILM表,NHFLE表,FIB表的作用如下
ingress设备(入设备也就是拓扑中的AR1)进来报文首先查看FIB表中FEC对应的tunnle是否为0,不为0则查找tunnle对应的NHFLE表(包含标签的动作,下一跳,出标签,)按照NHFLE执行动作
transit设备(中间设备也就是拓扑中的AR2)收到ingress发送过来的报文后根据报文中携带的入标签查找ILM表(包含入标签,入接口,tunnel,标签执行动作)找到对应的tunnel,通过tunnel查找对应的NHFLE表,按照NHFLE表执行动作
egress设备(出口设备也就是拓扑中的AR3)收到transit设备发送过来的报文后根据报文中携带的入标签查找对应的ILM表,此时的ILM表中(包含入标签,入接口,tunnel,标签执行动作)如果是pop,则表明弹出标签则不需要查看NHFLE表,弹出后查fib进行路由转发
配置开始
基础配置略过(配置地址、VLAN、静态路由等),AR1/AR2上配置PC的网关地址
MPLS配置
AR1上:
mpls lsr-id 1.1.1.1
ip route-static 2.2.2.2 32 10.0.0.2 //使lsr id可以互通
mpls //全局开启MPLS
lsp-trigger all //mpls试图下开启为所有路由分配LSP,默认只为目的地址32位路由分配
mpls ldp //全局开启LDP协议
int g0/0/1
mpls
mpls ldp //接口下开启MPLS LDP
AR2上:
mpls lsr-id 2.2.2.2
ip route-static 1.1.1.1 32 10.0.0.1 //使lsr id可以互通
ip route-static 3.3.3.3 32 10.0.0.6 //与R3通信
mpls //全局开启MPLS
lsp-trigger all //mpls试图下开启为所有路由分配LSP,默认只为目的地址32位路由分配
mpls ldp //全局开启LDP协议
int g0/0/0
mpls
mpls ldp //接口下开启MPLS LDP
int g0/0/1
mpls
mpls ldp //接口下开启MPLS LDP
AR3上与AR1类似,略过
配置完成
验证
1.首先查看邻居建立是否正常
AR2上:
dis mpls ldp session
状态:活跃
标签分发模式:DU(标签分发模式可以自行配置,缺省为DU)
抓包查看邻居报文
AR2上G0/0/0口抓包
接口在224.0.0.2下宣告自己
MPLS lsr-id 通过单播发送keep alive保活保文维护上图中的邻居状态
MPLS lsr-id 通过TCP 646端口进行信息交互(TCP有重传机制和确认机制比较靠谱)
2.查看LSP路径表和FIB表
LSP路径表
FIB表
看到tunnel 已经不为00,通过随机生成的tunnel来对应ILM表和NHFLE表
3.ping包 查看是否带标签
验证结束