我們看路由表的時候經常能看到下一跳有多個的路由條目。比如:
那么去往默認路由的下一跳有兩個,一個是172.16.30.177,一個是172.16.30.181。那么一個數據包去往目的地址的時候是走哪個下一跳呢?下面做個實驗來觀察觀察:
在R2上看4.4.4.1 和 4.4.1.1的路由:
在R2上ping 4.4.1.1
<Huawei>ping -a 2.2.2.1 -c 10000 4.4.4.1
通過抓包,我們發現流量走到了R1上
在R2上ping 4.4.1.1
<Huawei>ping -a 2.2.2.1 -c 10000 4.4.1.1
我們發現流量走到了R3上
這就是根據目的網絡進行負載分擔的方式。如果網絡里的數據流足夠多,不同的數據流會采用不同的下一跳。比如去往A網段的流量走第一跳,去往B網段的流量走第二跳,去往C網段的流量走第一跳。流量足夠多的時候兩條負載鏈路就能平分流量。
還有一種負載方式是根據數據包進行流量負載分擔,即同一條流量第一個數據包走第一條鏈路,第二個數據包走第二個鏈路,第三個數據包走第一條鏈路。這樣即使流量很單一的網絡,流量也可以平分到兩個鏈路里。
但是我沒有找到相關命令,不知道模擬器里不支持。。。
但是這種情況會造成來回路徑不一致的情況,需要額外注意。