Junos AS-PATH 正则表达式

网络工程 bgp 瞻博网络
2021-07-19 15:42:27

我正在寻找与以下情况匹配的特定 AS-PATH 正则表达式:“仅接受邻居并且它是直接对等方”。

即,我的邻居是 AS 20,并且有 101、102 作为直接对等方。

作为路径“20+ .?” 正确匹配以下内容:

20
20 101
20 102
20 20 20 101

但如果 AS 101 正在执行 AS 前置(即 20 101 101 101),则它不起作用。

有没有办法实现这一目标?(如果我没记错的话,在 Cisco IOS 中我可以使用 \1)

谢谢斯特凡诺

2个回答

这在 JunOS 上是不可能的,因为 AS-Path 正则表达式不支持反向引用(将(部分)匹配的表达式插入回正则表达式本身)。

因此,如果我解释您的问题有误,或者没有意义,请纠正我 - 我很乐意更新我的答案。

您想匹配您的邻居 (AS20),无论 AS20 是否在前面,以及 AS20 的任何邻居。您的正则表达式需要是:

20+ .*  ## Path of any length that begins with 1 or more occurrences of AS20.

分解:

20+     ## One or more occurrences of AS20.
.*      ## Any length AS_Path, of any AS number.

这是你所拥有的,你很接近:

20+     ## One or more occurrences of AS20.
.?      ## Zero or one occurrences of any AS number (after the first statement).  

.?就是为什么您看不到 AS20 的相邻 AS 是否在先处理的原因。