我从“SDN时代的MPLS”一书中读到了MPLS选项C。在此基础上,建立了PEs与ASBRs之间、RR与ASBR only.No之间、PEs与RR之间的BGP窥视。
在PEs和RRs之间只有VPNv4 BGP窥视。
作者在要点中提到这一点的原因如下(抄录自“SDN时代的MPLS”一书):
RRs不反映BGP前缀.他们协商IPv4 4-LU地址家族的唯一原因是为了实现RR可达性。
有人能解释一下为什么RRs不反映BGP前缀吗?非常感谢

发布于 2019-12-12 07:18:06
让我试着回答这个问题。我想,作者之所以只在RR <- ASBR和PE - ASBR之间配置BGP会话是有原因的。我认为原因是已经在AS中运行IGP和一些标签分发协议。因此,我们也可以在RR和其他路由器之间建立BGP会话,就像正常的路由反射器一样。
现在RR将与PEs和ASBRs进行BGP会话。RR也会让IPv4和VPNv4对PEs进行窥视。我们可以配置PEs,将它们的回送IP作为BGP-LU路由(BGP + Label)发布到RR中,以便将此路由反映到与其他路由器相同的位置。
在这种情况下,RR不会反映PEs回送is,因为BGP-LU路由是因为路由偏好而不是通过BGP。因此,为了避免PEs和RRs之间的额外对等(BGP),只有PEs和RR需要BGP与ASBR进行窥视,因为ASBR会将BGP路由作为到ASBR的BGP路由做广告,并在CEF/FIB中创建MPLS标签输入/输出条目。可以建立RR和PE之间的BGP窥视(没有问题),但使用的LSP将是依赖于IGP而不是BGP的LDP/RSVP。
因为事实上,在选项C中只有BGP在ASBR之间窥视。
但是,如果RR与AS中的其他PEs和ASBR有BGP会话,RR仍然会公告它从ASBR接收到的BGP路由(路由本身属于另一个AS),因为在这种情况下,RR将在其路由表中只有一个条目,它将反映在其AS中的所有PE中。
发布于 2019-11-25 11:12:36
为了简化解释,让我们假设只有RR1和RR3存在(让我们暂时忘记RR2和RR4 )。
同样,让我们假设ASBR1和ASBR3是惟一的ASBR(让我们暂时忘记ASBR2和ASBR4 )。
在RR1和RR3之间有一个EBGP会话,用于在两个ASs之间交换IP路由。
这意味着RR1和RR3之间存在TCP连接。
这意味着需要在RR1和RR3之间实现IP可达性: RR1需要有一个IP路由到RR3的回送,这是在另一个AS中。反之亦然。
AS 65100和AS 65101只是相互交换标记的单播路由。
这意味着ASBR1必须为RR1到ASBR3的标记单播路由做广告。
类似地,ASBR3必须为RR3到ASBR1的标记单播路由做广告。
实现这一目标的最干净的方法是,如果RR1为自己的回送ASBR1做标记单播路由广告,如果RR3为自己的回送ASBR3做标记单播路由广告的话。
这样,我们就有一个标记的单播路由,从RR1一直到RR3,反之亦然。
我还没有建立一个实验室来验证这一点,但我不认为绝对需要有一个标记的单播会话从RR1到ASBR1,从RR3到ASBR3。它只会使事情变得更一致和更干净。
如果您只在RR1和ASBR1 (以及RR3和ASBR3)之间有一个正常的IP单播会话,我强烈怀疑事情还会继续工作。在这种情况下,我们只会将BGP TCP会话的数据包标记为直到ASBR为止,然后从那里进行正常转发。ASBR可以从RR接收一个正常的IP单播路由,绑定一个标签内(这可能是PHP隐式空标签),并将该路由作为标签单播传播到上游。
但是,就像我说的,我创建了一个测试实验室来验证这种怀疑。
https://networkengineering.stackexchange.com/questions/59866
复制相似问题