HCIP:MPLS LDP的原理和配置

目录

[一、MPLS LDP的原理](#一、MPLS LDP的原理)

1.回顾MPLS

[2.MPLS LDP的基本概念](#2.MPLS LDP的基本概念)

3.LDP的工作过程主要分为两部分

​4.LDP会话:

5.LDP的对等体

6.LDP的消息

7.LDP工作原理

8.标签的发布和管理

[二、MPLD LDP的实验配置](#二、MPLD LDP的实验配置)

1.配置IP地址和OSPF

[2.配置MPLS LDP](#2.配置MPLS LDP)

3.查看各个设备的LDP会话建立情况

4.查看LDP动态建立的LSP

5.在AR1设备测试3.3.3.3的连通性,并且抓包

一、MPLS LDP的原理

1.回顾MPLS

MPLS是一种根据标签报文携带的短而定长的标签来转发数据的技术。MPLS 的一个基本概念就是两台LSR必定对在它们之间转发的数据标签使用上"达成共识"。

2.MPLS LDP的基本概念

LDP是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。

3.LDP的工作过程主要分为两部分

第一部分:LSR之间建立LDP会话;

第二部分:LSR之间基于LDP会话动态交换标与FEC的映射信息,并根据标签信息建立LSP。

4.LDP会话:

LDP会话用于LSR之间交换标签映射、释放等消息。只有存在对等体才能建立LDP会话,LDP会话分为以下两种:

(1)本地LDP会话(local LDP Session):建立会话的两个LSR之间是直连的。

(2)远程LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连,也可以是非直连的。

5.LDP的对等体

LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签消息的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签。

6.LDP的消息

运行LDP协议的LSR之间通过交换机LDP消息来实现邻居发现、会话建立与维护以及标签管理等功能。

LDP协议主要使用四类消息:

发现(Discovery)消息 :用于通告和维护网络中LSR的存在,如Hello消息。

会话(Session)消息 :用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。

通告(Advertisement)消息 :用于创建、改变和删除FEC的标签映射。

通知(Notification)消息 :用于提供建议性的消息和差错通知。

为保证LDP消息的可靠发送,除了Discovery消息使用UDP(User Datagram Protocol)传输外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP(Transmission Control Protocol)传输。

7.LDP工作原理

LDP会话建立:

LDP使用5种状态描述LDP会话状态机

LDP Session协商过程可以分为通过状态机来描述。如上图所示,有5中状态,分别是Non-Existent、initialized、opensent、Operational

Non-Existent状态:该状态为LDP Session最初的状态,在此状态双方发送HELLO消息,选举主动方,在收到TCP连接建立成功事件的触发后变为initialized状态。

Initialized状态:该状态下分为主动方和被动方两种情况,主动方将主动发送Initialization消息,转向OpenSent 状态,等待回应的Initialization消息;被动方在此状态等待主动方发给自己的Initialization消息,如果收到的Initialization消息的参数可以接受,则发送Initialization和KeepAlive转向OpenRec状态。主动方和被动方在此状态下收到任何非Initialization消息或等待超时时,都会转向Non-Existent状态。

OpenSent 状态:此状态为主动方发送Initialization消息后的状态,在此状态等待被动方回答Initialization消息和KeepAlive消息,如果收到的Initialization消息中的参数可以接受则转向OpenRec状态,如果参数不能接受或Initialization消息超时则断开TCP连接转向Non-Existent状态。

OpenRec状态:在此状态不管主动方还是被动方都是发出KeepAlive后的状态,在等待对方回应KeepAlive,只要收到KeepAlive消息就转向Operational状态;如果收到其它消息或KeepAlive超时则转向Non-Existent状态。

Operational状态:该状态是LDP Session成功建立的标志。在此状态下可以发送和接收所有其它的LDP消息。在此状态如果KeepAlive超时或收到致命错误的Notification消息(Shutdown消息)或者自己主动发送Shutdown消息主动结束会话,都会转向Non-Existent状态。

LDP会话的建立过程

(1)两个LSR之间互相发送Hello消息。

Hello消息中携带传输地址(即设备的IP地址),双方使用传输地址建立LDP会话。

(2)传输地址较大 的一方作为主动方,发起建立TCP连接。

如图所示,LSR_1作为主动方发起建立TCP连接,LSR_2作为被动方等待对方发起连接。

(3)TCP连接建立成功后,由主动方LSR_1发送初始化消息,协商建立LDP会话的相关参数。

LDP会话的相关参数包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。

(4)被动方LSR_2收到初始化消息后,LSR_2接受相关参数,则发送初始化消息,同时发送Keepalive消息给主动方LSR_1。

如果被动方LSR_2不能接受相关参数,则发送Notification消息终止LDP会话的建立。

初始化消息中包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。

(5)主动方LSR_1收到初始化消息后,接受相关参数,则发送Keepalive消息给被动方LSR_2。

如果主动方LSR_1不能接受相关参数,则发送Notification消息给被动方LSR_2终止LDP会话的建立。

当双方都收到对端的Keepalive消息后,LDP会话建立成功。

8.标签的发布和管理

|-------------------------------------------|--------------------|------------|--------------------------------------------------------------------------------------|
| 内容 | 名称 | 默认 | 含义 |
| 标签发布方式(Label Advertisement Mode) | 下游自主方式(DU) | 是 | 对于一个特定的FEC,LSR无须从上游获得标签请求消息即进行标签的分配与分发。 |
| 标签发布方式(Label Advertisement Mode) | 下游按需方式(DoD) | 否 | 对于一个特定的FEC,LSR 获得标签请求消息之后才进行标签的分配与分发。 |
| 标签分配控制方式(Label Distribution Control Mode) | 独立方式(Independent) | 否 | 本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无须等待下游的标签。 |
| 标签分配控制方式(Label Distribution Control Mode) | 有序方式(Ordered) | 是 | 对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息,或者该LSR 就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。 |
| 标签保持方式(Label Retention Mode) | 自由方式(Liberal) | 是 | 对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。 |
| 标签保持方式(Label Retention Mode) | 保守方式(Conservative) | 否 | 对于从邻居LSR 收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。 |

二、MPLD LDP的实验配置

1.配置IP地址和OSPF

复制代码
AR1
int g0/0/0
ip add 12.1.1.1 24
q	
int LoopBack 0
ip add 1.1.1.1 32
q
ospf 
area 0
network 12.1.1.0 0.0.0.255
network 1.1.1.1 0.0.0.0
q

AR2
int g0/0/1
ip add 12.1.1.2 24
q
int g0/0/0
ip add 23.1.1.1 24
q
int LoopBack 0
ip add 2.2.2.2 32
q
ospf
area 0
network 12.1.1.0 0.0.0.255
network 23.1.1.0 0.0.0.255
network 2.2.2.2 0.0.0.0
q

AR3
int g0/0/1
ip add 23.1.1.2 24
q
int g0/0/0
ip add 34.1.1.1 24
int LoopBack 0
ip add 3.3.3.3 32
q
ospf
area 0
network 23.1.1.0 0.0.0.255
network 34.1.1.0 0.0.0.255
network 3.3.3.3 0.0.0.0
q

int g0/0/1
ip add 34.1.1.2 24
q
int LoopBack 0
ip add 4.4.4.4 32
q
ospf
area 0
network 4.4.4.4 0.0.0.0
network 34.1.1.0 0.0.0.255
q

2.配置MPLS LDP

复制代码
[AR1]mpls lsr-id 1.1.1.1                //配置MPLS LSR-ID
[AR1]mpls                               //全局开启MPLS
[AR1-mpls]q
[AR1]mpls ldp                            //全局开启MPLS LDP协议
[AR1-mpls-ldp]q
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]mpls           //在接口下开启MPLS
[AR1-GigabitEthernet0/0/0]mpls ldp       //在接口下开启MPLS LDP
[AR1-GigabitEthernet0/0/0]q

[AR2]mpls lsr-id 2.2.2.2
[AR2]mpls
Info: Mpls starting, please wait... OK!
[AR2-mpls]mpls ldp
[AR2-mpls-ldp]q
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]mpls
[AR2-GigabitEthernet0/0/0]mpls ldp
[AR2-GigabitEthernet0/0/0]q
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]mpls
[AR2-GigabitEthernet0/0/1]mpls ldp
[AR2-GigabitEthernet0/0/1]q
[AR2]

[AR3]mpls lsr-id 3.3.3.3
[AR3]mpls
Info: Mpls starting, please wait... OK!
[AR3-mpls]mpls ldp
[AR3-mpls-ldp]q
[AR3]int g0/0/1
[AR3-GigabitEthernet0/0/1]mpls
[AR3-GigabitEthernet0/0/1]mpls ldp
[AR3-GigabitEthernet0/0/1]q
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]mpls
[AR3-GigabitEthernet0/0/0]mpls ldp
[AR3-GigabitEthernet0/0/0]q
[AR3]

[AR4]mpls lsr-id 4.4.4.4
[AR4]mpls
Info: Mpls starting, please wait... OK!
[AR4-mpls]mpls ldp
[AR4-mpls-ldp]q
[AR4]int g0/0/1
[AR4-GigabitEthernet0/0/1]mpls
[AR4-GigabitEthernet0/0/1]mpls ldp
[AR4-GigabitEthernet0/0/1]q
[AR4]

3.查看各个设备的LDP会话建立情况

AR1

AR2

AR3

AR4

从上面的图可以看到各个设备都与它邻居建立了LDP会话关系

其中,peerID表示对等体的LDP标识符,格式为<LSR ID>:<标签空间>。其中

"0"表示全局标签空间;

"1"表示接口标签空间;

4.查看LDP动态建立的LSP

可以看到,设备每一个32位的主句地址分配了标签,并且动态地建立LSP隧道。

5.在AR1设备测试3.3.3.3的连通性,并且抓包

抓包的结果可以发现,当AR1访问3.3.3.3时,设备会查看MPLS LDP,其中MPLS LDP中的出标签位1025,因此设备在发送数据时会为数据包封装一层MPLS头部,并且携带标签为1025.当下一条设备收到该报文时,就可以直接通过标签转发,而不需要再查询路由表。

相关推荐
明金同学6 小时前
电脑wifi显示已禁用怎么点都无法启用
运维·服务器·网络
秋水丶秋水7 小时前
GlobalSign、DigiCert、Sectigo三种SSL安全证书有什么区别?
运维·服务器·网络
电鱼智能的电小鱼7 小时前
虚拟现实教育终端技术方案——基于EFISH-SCB-RK3588的全场景国产化替代
linux·网络·人工智能·分类·数据挖掘·vr
你无法关注此用户8 小时前
华为设备OSPF配置与实战指南
运维·网络
qq_430908578 小时前
华为ICT和AI智能应用
人工智能·华为
试剂界的爱马仕9 小时前
软珊瑚成分 CI-A:靶向口腔癌细胞的 “氧化利剑” 与 ERK 密码
网络·人工智能·科技·机器学习·ci/cd·ai写作
gadiaola9 小时前
【计算机网络】第3章:传输层—面向连接的传输:TCP
网络·网络协议·tcp/ip·计算机网络
安全系统学习11 小时前
【网络安全】漏洞分析:阿帕奇漏洞学习
java·网络·安全·web安全·系统安全
小邓儿◑.◑12 小时前
C++初阶 | 模板
网络·c++·windows
链上Sniper12 小时前
Python 区块链开发实战:从零到一构建智能合约
开发语言·网络·python·架构·区块链·php·智能合约