LDP的工作过程和LDP下的标签过滤方式

LDP协议工作的两个阶段

  • 邻居发现(neighbor discovery)—— Hello发向224.0.0.2,UDP端口号为646(源和目的端口都是);
  • 会话建立(session established)—— 向邻居建立TCP端口号为646的连接(源端口是随机的,目的端口是646)。

LDP邻居关系建立分两种:

LDP所使用到的两个IP地址

  • RID —— Router ID,LDP标识(跟OSPF、BGP等路由协议的router-id一样仅仅只是一个标识);
  • Transport IP address —— LDP邻居建立所用到的IP地址(默认情况下使用RID进行LDP的邻居建立)。

修改Transport IP address为本接口:

R2(config-if)#int e0/0.23
R2(config-subif)#mpls ldp discovery transport-address interface

LDP工作目的

在邻居之间通过TCP会话传递标签信息库(只有本地标签才能传递给邻居)。

show mpls ldp binding local —— 查看本地分配的标签信息
show mpls ldp neighbor —— 本地LDP邻居关系(也是本地标签信息的同步对象)

关于“某个前缀在本地的标签数”的统计方式

LDP路由器中关于某个前缀的标签数等于N+1(N代表邻居个数,每个邻居分配一个标签;1代表本地,本地也会分配一个标签)。

show mpls ldp binding —— 查看LDP的标签绑定表

标签过滤方式

Frame-Mode的标签空间是自由保留,所以很多情况下会消耗内存保留一些无用的标签。为此Frame-Mode提供了以下两种标签过滤的方式:

方法一:不发

MPLS实验环境
MPLS实验环境

上述拓扑中,只把R5上关于5.5.5.5、6.6.6.6和56.1.1.0这三条路由的标签发给R4:

R5(config)#access-list 10 permit host 5.5.5.5
R5(config)#access-list 10 permit host 6.6.6.6
R5(config)#access-list 10 permit host 56.1.1.0
R5(config)#access-list 4 permit 4.4.4.4

R5(config)#mpls ldp advertise-labels for 10 to 4  // for 10:access-list为10中过滤了一些标签,只有这些标签才能发送给LDP邻居;to 4:access-list为4中过滤了一些LDP邻居,只有这些LDP邻居才能收到上述过滤好的标签;将“10”中过滤好的标签通告给路由器“4”

R5(config)#no mpls ldp advertise-labels  // 上述命令必须由该命令触发,如果单独用会过滤所有标签

mpls-ldp-1

方法二:不收

上述拓扑中, R4只从R5接收5.5.5.5、6.6.6.6和56.1.1.0这三条路由的标签:

R4(config)#ip access-list standard F5
R4(config-std-nacl)#permit host 5.5.5.5
R4(config-std-nacl)#permit host 6.6.6.6
R4(config-std-nacl)#permit host 56.1.1.0

R4(config)#mpls ldp neighbor 5.5.5.5 labels accept F5

mpls-ldp-1

打赏作者
这里是 “ CCIE 工程师社区 ” 官方的捐款通道,您是否可以考虑请我们喝杯咖啡呢?

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

This site uses Akismet to reduce spam. Learn how your comment data is processed.