シナプスの技術部ネットワーク課の福山と申します。
CiscoスイッチでEtherChannelを使用し、複数の物理ポートを束ねて1つの論理ポートとして扱うことができます。 実際に送信されるポートはEtherChannelのロードバランス方式に基づいて負荷分散されますが、 今回、どの物理ポートから出力されるか確認できるコマンドがあったので、試しにテストしてみました。 ※実際に使えるコマンドはIOSにより異なります。
検証環境
WS-C3850-12XS IOS XE 16.6.5
Te1/0/1, Te1/0/2, Te1/0/3, Te1/0/4でEtherChannelを構成
負荷分散テストコマンド
EtherChannelの構成において、どの物理インターフェースからパケットが送信されるかを確認するコマンドは、下記となります。
#show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.1 192.168.2.1
「switch」の後に入力する引数の確認方法
#show platform software fed switch ? <1-9> Switch number active Active instance standby Standby instance
#show switch Switch/Stack Mac Address : 1234.5678.9abc - Local Mac Address Mac persistency wait time: Indefinite H/W Current Switch# Role Mac Address Priority Version State ------------------------------------------------------------------------------------- *1 Active 1234.5678.9abc 1 V03 Ready
「Switch」の「1」、もしくは「Role」の「active」
「etherchannel」の後に入力する引数の確認方法
#show platform software fed switch active etherchannel ? <1-128> Etherchannel group number
#show etherchannel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use f - failed to allocate aggregator M - not in use, minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 1 Po1(SU) - Te1/0/1(P) Te1/0/2(P) Te1/0/3(P) Te1/0/4(P)
channel-group番号の「1」
テスト条件の入力内容
#show platform software fed switch 1 etherchannel 1 load-balance ? extended Extended Load Balance Methods ip Input Src/Dest IP addresses mac Input Src/Dest MAC addresses port Input Src/Dest port
送信元IP:192.168.1.1, 宛先IP:192.168.2.1
ロードバランス方式 src-mac でテスト
今回は送信元IPと宛先IPを変更してテストしてみます。 検証環境のデフォルトのロードバランス方式は src-mac(送信元MACアドレスに基づいてトラフィックを分散)です。そのため、送信元IPや宛先IPがかわっても分散されません。
現在のロードバランス方式の確認
#show etherchannel load-balance EtherChannel Load-Balancing Configuration: src-mac EtherChannel Load-Balancing Addresses Used Per-Protocol: Non-IP: Source MAC address IPv4: Source MAC address IPv6: Source MAC address
送信元IPと宛先IPを変更してテスト
#show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.1 192.168.2.1 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.2 192.168.2.2 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.3 192.168.2.3 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.4 192.168.2.4 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.5 192.168.2.5 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.6 192.168.2.6 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.7 192.168.2.7 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.8 192.168.2.8 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.9 192.168.2.9 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.10 192.168.2.10 Dest Port: : TenGigabitEthernet1/0/1
全て Te1/0/1から出力されている
ロードバランス方式 src-dst-ip でテスト
ロードバランス方式を src-dst-ip(送信元と宛先IPアドレスに基づいてトラフィックを分散) に変更して試してみると、分散されているのがわかります。
変更可能なロードバランス方式の確認
(config)#port-channel load-balance ? dst-ip Dst IP Addr dst-mac Dst Mac Addr dst-mixed-ip-port Dst IP Addr and TCP/UDP Port dst-port Dst TCP/UDP Port extended Extended Load Balance Methods src-dst-ip Src XOR Dst IP Addr src-dst-mac Src XOR Dst Mac Addr src-dst-mixed-ip-port Src XOR Dst IP Addr and TCP/UDP Port src-dst-port Src XOR Dst TCP/UDP Port src-ip Src IP Addr src-mac Src Mac Addr src-mixed-ip-port Src IP Addr and TCP/UDP Port src-port Src TCP/UDP Port
ロードバランス方式を src-dst-ipに変更
(config)#port-channel load-balance src-dst-ip
- 確認
#show etherchannel load-balance EtherChannel Load-Balancing Configuration: src-dst-ip EtherChannel Load-Balancing Addresses Used Per-Protocol: Non-IP: Source XOR Destination MAC address IPv4: Source XOR Destination IP address IPv6: Source XOR Destination IP address
送信元IPと宛先IPを変更してテスト
#show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.1 192.168.2.1 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.2 192.168.2.2 Dest Port: : TenGigabitEthernet1/0/3 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.3 192.168.2.3 Dest Port: : TenGigabitEthernet1/0/4 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.4 192.168.2.4 Dest Port: : TenGigabitEthernet1/0/4 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.5 192.168.2.5 Dest Port: : TenGigabitEthernet1/0/3 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.6 192.168.2.6 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.7 192.168.2.7 Dest Port: : TenGigabitEthernet1/0/2 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.8 192.168.2.8 Dest Port: : TenGigabitEthernet1/0/1 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.9 192.168.2.9 Dest Port: : TenGigabitEthernet1/0/2 #show platform software fed switch 1 etherchannel 1 load-balance ip 192.168.1.10 192.168.2.10 Dest Port: : TenGigabitEthernet1/0/4
送信元IPと宛先IPを100回変更してテスト
ロードバランス方式は src-dst-ipで、送信元IPと宛先IPを100回変更してテストしてみました。
4つの物理ポートでEtherChannelを組んだ場合
結構均等に分散されているようです。
出力されるポート | 送信元IPのみ変更 | 宛先IPのみ変更 | 送信元IPと宛先IPを変更 |
---|---|---|---|
Te1/0/1 | 25 | 24 | 25 |
Te1/0/2 | 24 | 25 | 25 |
Te1/0/3 | 25 | 25 | 26 |
Te1/0/4 | 26 | 26 | 24 |
3つの物理ポートでEtherChannelを組んだ場合
今度は3つの物理ポートでEtherChannelを組んでテストしてみました。 結果としては4つの時よりも分散にばらつきがあるようです。
出力されるポート | 送信元IPのみ変更 | 宛先IPのみ変更 | 送信元IPと宛先IPを変更 |
---|---|---|---|
Te1/0/1 | 32 | 32 | 31 |
Te1/0/2 | 35 | 35 | 37 |
Te1/0/3 | 33 | 33 | 32 |
まとめ
あくまでもテスト用のコマンドですが、ロードバランス方式やEtherChannelを組む数で どのように負荷分散するか確認できたのはおもしろかったです。
実際には各物理ポートのトラフィックを監視して、適切なロードバランス方式を選択する 必要があると思います。