簡介
本檔案介紹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