目录

简介

问题

解决方案

简介

本文档介绍IOS-XE路由器上的组播枝叶回收消除(mLRE)功能。

问题

如果主机连接在多个接口上并请求路由器上的组播流量。路由器必须制作组播流量的副本，并且必须在请求该特定组播组的组播流量的所有接口上发送该副本。如果数据包是按顺序处理的，这意味着一个接一个的数据包，则它有助于路由器提高性能。但是，由于其性质，它会在不同的节点造成不公平的延迟。组播流量的这种串行处理在组播路由器中称为LRE，默认情况下在取决于其IOS版本和型号的路由器上启用。

即使连续处理数据包会导致相邻处理的数据包之间的差异为4-12微秒。

如果有大量枝叶节点请求组播流量，可能会在Trading公司等时间关键型环境中造成显着延迟。

此图显示了拓扑图，以便更好地理解这一点。

如您所见，我们有4台主机连接到LHR，它们正在请求组播组239.1.1.1的流量。

如果Packet Tracer在LHR上运行，则会发现从源接收的数据包被LHR以静默方式使用，然后它创建了4个类似的数据包并将其转发到连接到主机的每个接口。

LHR#show platform packet-trace summary

Pkt   Input             Output            State  Reason

0     Gi2               <none>            CONS   Packet Consumed Silently     <<< recieved packet from sender

1     Gi2               Gi6               FWD                                 <<< first replicated packet sent to int gig6

2     Gi2               Gi5               FWD                                 <<< first replicated packet sent to int gig5

3     Gi2               Gi4               FWD                                 <<< first replicated packet sent to int gig4

4     Gi2               Gi3               FWD                                 <<< first replicated packet sent to int gig3

如果已打开捕获数据包的详细信息，您可以看到每个数据包的开始时间和结束时间。

LHR#show platform packet-trace packet 0

Packet: 0           CBUG ID: 85

Summary

Input     : GigabitEthernet2

Output    : <none>

State     : CONS Packet Consumed Silently

Timestamp

Start   : 37067929596524 ns (05/27/2020 02:43:56.203649 UTC)

Stop    : 37067929669545 ns (05/27/2020 02:43:56.203722 UTC)

LHR#show platform packet-trace packet 1

Packet: 1           CBUG ID: 85

Summary

Input     : GigabitEthernet2

Output    : GigabitEthernet6

State     : FWD

Timestamp

Start   : 37067929722925 ns (05/27/2020 02:43:56.203776 UTC)

Stop    : 37067929750941 ns (05/27/2020 02:43:56.203804 UTC)

LHR#show platform packet-trace packet 2

Packet: 2           CBUG ID: 85

Summary

Input     : GigabitEthernet2

Output    : GigabitEthernet5

State     : FWD

Timestamp

Start   : 37067929752437 ns (05/27/2020 02:43:56.203805 UTC)

Stop    : 37067929759667 ns (05/27/2020 02:43:56.203812 UTC)

LHR#show platform packet-trace packet 3

Packet: 3           CBUG ID: 85

Summary

Input     : GigabitEthernet2

Output    : GigabitEthernet4

State     : FWD

Timestamp

Start   : 37067929760929 ns (05/27/2020 02:43:56.203814 UTC)

Stop    : 37067929766997 ns (05/27/2020 02:43:56.203820 UTC)

LHR#show platform packet-trace packet 4

Packet: 4           CBUG ID: 85

Summary

Input     : GigabitEthernet2

Output    : GigabitEthernet3

State     : FWD

Timestamp

Start   : 37067929768236 ns (05/27/2020 02:43:56.203821 UTC)

Stop    : 37067929774283 ns (05/27/2020 02:43:56.203827 UTC)

如果比较前面提到的输出的开始和结束时间，可以理解数据包处理是按顺序进行的。

Start   : 37067929722925 ns (05/27/2020 02:43:56.203776 UTC)  << packet1

Stop    : 37067929750941 ns (05/27/2020 02:43:56.203804 UTC)

Start   : 37067929752437 ns (05/27/2020 02:43:56.203805 UTC)  << packet 2

Stop    : 37067929759667 ns (05/27/2020 02:43:56.203812 UTC)

Start   : 37067929760929 ns (05/27/2020 02:43:56.203814 UTC)  << packet 3

Stop    : 37067929766997 ns (05/27/2020 02:43:56.203820 UTC)

Start   : 37067929768236 ns (05/27/2020 02:43:56.203821 UTC)  << packet 4

Stop    : 37067929774283 ns (05/27/2020 02:43:56.203827 UTC)

如果比较数据包1(02:43:56.203804)和数据包4(02:43:56.203821)的停止时间，您会看到时间差为17微秒。

在某些时间紧迫型组织中，这种延迟可能不可接受，因此需要减少。

解决方案

为避免此时间延迟，请在路由器上禁用LRE功能。

如果LRE功能被禁用，则用于复制组播流量的不同接口的数据包处理彼此独立并并行处理。

要禁用mLRE功能，请使用以下命令： outer(config)# platform multicast lre off