当前位置: 首页 > news >正文

HCIP:MPLS LDP的原理和配置

 目录 

一、MPLS LDP的原理

1.回顾MPLS

2.MPLS LDP的基本概念

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

​4.LDP会话:

5.LDP的对等体

6.LDP的消息

7.LDP工作原理

8.标签的发布和管理

二、MPLD LDP的实验配置

1.配置IP地址和OSPF

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无须从上游获得标签请求消息即进行标签的分配与分发

下游按需方式(DoD)

对于一个特定的FEC,LSR 获得标签请求消息之后才进行标签的分配与分发

标签分配控制方式(Label Distribution Control Mode)

独立方式(Independent)

本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无须等待下游的标签

有序方式(Ordered)

对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息,或者该LSR 就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射

标签保持方式(Label Retention Mode)

自由方式(Liberal)

对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留

保守方式(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
qAR2
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
qAR3
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
qint 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.当下一条设备收到该报文时,就可以直接通过标签转发,而不需要再查询路由表。

相关文章:

  • 算法-集合的使用
  • mapStruct实体类属性映射工具实现
  • 【Python 进阶3】常见的 call 和 forward 区别
  • 【知识点】第3章:基本数据类型
  • Aviator表达式语法基础和Java实战表达式(电商应用)
  • MDP中的events部分
  • leetcode0513. 找树左下角的值-meidum
  • 使用 LlamaIndex 自定义 Transformation 组件实现节点元数据提取
  • dns的正向解析,反向解析,多项解析,主从配置
  • NodeJS全栈WEB3面试题——P1基础知识:区块链与Web3原理
  • DAY 39 超大力王爱学Python
  • 通过《哪吒》看人生百态
  • MySQL 全量 增量备份与恢复
  • MySQL中SELECT查询的执行顺序
  • MySQL中的字符串分割函数
  • Baklib知识中台重塑企业知识生态
  • 软件测评师教程 第9章 基于质量特性的测试与评价 笔记
  • 量子物理:初步认识量子物理
  • hooks组件-useState
  • 前缀和题目:一维数组的动态和
  • 电子商务网站制作/上海seo推广
  • html 创意网站/李守洪
  • 衡阳网站优化外包首选/网站优化有哪些技巧
  • 织梦做的网站图片路径在哪里/搜索引擎优化的内部优化
  • 顺德龙江网站建设/哈尔滨seo优化公司
  • 网站升级维护需要多久/天津seo结算