弱者は決して許すことができない。許しは強者の態度である── ガンディー
ネットワーク

2 本の線を、1 つのポートに見せる

スイッチ 2 台の間の物理ポート 2 本を論理ポート Po1 に束ねると、STP から 1 本に見えて輪にならない。束ね方と振り分け方、1 本切れたときを 1 枚の図で見る

ぴぐおv1人の校閲なし(AI のみ)訂正なし
ネットワークetherchannellacpconcept
目次

図 14 の STP は、輪ができたら口を 1 か所止める道具でした。 EtherChannel は同じ「壊れても止まらない」の塊の続きで、そもそも輪にしない道具です。 線は 2 本のまま、スイッチには 1 本に見せます。 前提は図 14 の続きで、スイッチ 1 が根(ルートブリッジ)です。ただし 2 台の間の線は 1 Gb/s を 2 本にしてあります。

この連載は、ネットワークの言葉を 3 つの層に置いて読みます。 もの(物理か論理か)、結びつき(人が設定で付ける手動か、機器が学習する自動か、製造時に決まる固定か)、通信フロー(1 本の通信がそれらを順に通る道筋)の 3 つです。

登場するもの

物理ポート

差込口そのものです。ここでは Gi0/1 と Gi0/2 にケーブルが 2 本刺さっています。

論理ポート Po1

論理のもので、設定で作る「1 つに見える口」です。 スイッチの設定にも STP にも MAC アドレステーブルにも、この Po1 が 1 つのポートとして出てきます。

モード

論理・手動です。 LACP なら active と passive、PAgP なら desirable と auto があります。 片側は自分から確かめ合いを始める側(active か desirable)でないと、束ねる話が始まりません。

結びつき

  • 物理ポート ⇄ Po1 は手動です。両側の物理ポートに、チャネル番号とモードを設定します。
  • ただし設定しただけでは入りません。LACP や PAgP のフレームを出し合って合意できた物理ポートだけが、自動で Po1 に入ります。
  • フレーム ⇄ どの物理ポートから出すかは自動です。宛先や送信元のアドレスから計算した値で 1 本を選びます。

通信フロー

① 束ねたい物理ポートに、チャネル番号とモードを設定します。片側だけに設定しても束ねられません。

② 設定した物理ポートから LACP のフレームを出し合い、束ねてよいかを確かめ合います。両側とも受け身のモードだと、確かめ合いが始まりません。

③ 合意できた物理ポートが束ねられ、Po1 が up になります。STP は Po1 を 1 つのポートとして扱うので、この 2 本については輪にならず、どちらもブロックされません。

④ フレームを送るとき、アドレスから計算した値で束ねた中の 1 本を選びます。同じ組合せは毎回同じ線を通ります。

⑤ 1 本が切れると、その物理ポートが Po1 から外れます。Po1 自体は残るので、通信は残りの線へ移ります。

束ねる前は、STP が根から遠い側の 1 つをブロックしていました。束ねた後は、そのブロックが要りません。

図 15

図の上半分が束ねる前と後の形、中ほどが振り分けとモードの組合せ、下半分が各表示の推移と通信の中身の推移です。

EtherChannel:物理ポート 2 本を、論理ポート 1 本(Po1)に束ねる。輪にならないので、どちらの線も使える 図 14 の STP は「輪ができたら片方を止める」道具だった。こちらは「そもそも輪にしない」道具。線は 2 本のまま、スイッチには 1 本に見せる 束ねる前:物理ポート 2 本を、そのまま 2 本として扱う(図 14 の状態) スイッチ 1 が根(図 14 のまま)。2 台の間は 1 Gb/s の線 2 本(図 14 は 100 Mb/s だった) スイッチ 1 根(ルートブリッジ) Gi0/1・Gi0/2 スイッチ 2 物理ポート Gi0/1・Gi0/2 Gi0/1 ⇄ Gi0/1(FWD=通す) Gi0/2 ⇄ Gi0/2(スイッチ 2 側が BLK=STP が止めている。止まるのは根から遠い側の 1 つだけ) 輪ができるので、使えるのは 1 本 スイッチ 1 → スイッチ 2 → スイッチ 1 の輪ができる STP が根から遠い側の 1 つを BLK にする。そこは予備 帯域は 1 本ぶんのまま。2 本ぶんにはならない 束ねた後:2 本を 1 つの論理ポート Po1 にまとめる。両側に設定が要る 1 両側の物理ポートに「チャネル番号」と「モード」を設定する(手動) 2 設定した物理ポートから LACP のフレーム(LACPDU)を出し合い、束ねてよいかを確かめ合う 3 合意できた物理ポートだけが Po1 に入り、Po1 が up になる スイッチ 1 Po1(論理ポート) 中身 Gi0/1・Gi0/2 mode active スイッチ 2 Po1(論理ポート) 中身 Gi0/1・Gi0/2 mode passive 論理ポート Po1 2 2 物理 2 本とも LACP を出し合う STP からは 1 本のポートに見える STP は束ねたグループを 1 つのポートとして扱う この 2 本については輪にならず、どちらもブロックされない 帯域の表示は足し算になる(勉強会の画面で確認。一次資料は未確認) 1 本抜けても Po1 は残る(勉強会の表示も Po1(SU) のままだった) ④ どの線を通るかは、アドレスから計算した値で決まる スイッチ 1 Po1 スイッチ 2 Po1 4 通信 1: PC-A ⇄ PC-B 4 通信 2: PC-D ⇄ PC-E 何を材料に計算するかは機種と設定による。同じ組合せは毎回同じ 1 本を通る 1 つの通信は 1 本ぶんの速さしか出ない。合計が増えるのは複数の通信があるとき 両側のモードの組合せ(片側は積極側でないと始まらない) LACP active passive active ○ ○ passive ○ × PAgP desirable auto desirable ○ ○ auto ○ × 受け身どうし(passive 同士・auto 同士)は束ねられない。 どちらも確かめ合いを始めないため、いつまでも合意しない ⑤ 1 本が切れたとき 抜けた物理ポートは down(D)になり、Po1 から外れる Po1 自体は残る(勉強会の表示は Po1(SU) のまま) 通信は残りの線へ移り、帯域の表示は 1 本ぶんに戻る STP の再計算が起きるかどうかは未検証(下の注を参照) 両側でそろえないと束ねられない 速度とデュプレックス(半二重/全二重)をそろえる トランクなら、許可する VLAN の範囲をそろえる プロトコルをそろえる(片方 LACP・片方 PAgP は組めない) LACP は最大 16 ポート登録で 8 本が現用・8 本が待機。PAgP は最大 8 フロー ① 束ねたい物理ポートに、チャネル番号とモードを設定する(手動)。片側だけに設定しても束ねられない ② 設定した物理ポートから LACP のフレームを出し合い、相手と束ねてよいかを確かめ合う。両側とも受け身のモードだと、確かめ合いが始まらない ③ 合意できた物理ポートが束ねられ、Po1 が up になる。STP は Po1 を 1 つのポートとして扱うので、この 2 本については輪にならず、どちらもブロックされない ④ フレームを送るとき、宛先や送信元のアドレスから計算した値で、束ねた中の 1 本を選ぶ(何を材料にするかは機種と設定による)。同じ組合せは毎回同じ線を通る ⑤ 1 本が切れると、その物理ポートが Po1 から外れる。Po1 自体は残るので、通信は残りの線へ移る(勉強会でも Po1 は up のままだった) 増えたもの 論理ポート Po1(Port-channel)。スイッチの設定にも、STP にも、MAC アドレステーブルにも、この Po1 が「1 つのポート」として出てくる 3 層で見ると もの:物理ポート Gi0/1・Gi0/2(物理。差込口)/論理ポート Po1(論理。設定で作る、1 つに見える口) 結びつき:物理ポート ⇄ Po1(手動。両側で設定する。ただし合意できた口だけが自動で入る)/フレーム ⇄ どの物理ポートから出すか(自動。アドレスから計算) フロー:図 14 の「輪ができたので片方を止める」が要らなくなる。図 4 のトランクの区間が、そのまま Po1 の上に乗る(通信の中身は変わらない) 各テーブル・各表示の推移(○番のフローで変わる行) 前提: PC-A と PC-B の ARP は済んでいて、両スイッチの MAC アドレステーブルも学習済み(この図の主題は束ね方) スイッチ 1: EtherChannel の状態 ③ 追加: Po1(SU) プロトコル LACP ③ 追加: Gi0/1(P) Gi0/2(P)=束ねられている ⑤ 抜いた側が Gi0/2(D)。Po1(SU) は残る スイッチ 2: STP のポートの役割 束ねる前: 根(スイッチ 1)に近い Gi0/1 が ルートポート、遠い Gi0/2 は BLK ③ 後: Po1 だけが載り FWD(物理ポートは出ない) スイッチ 1: MAC アドレステーブル (前提どおり学習済み)出口の表記が Gi0/2 ではなく Po1 になる:MAC B → Po1 ※この表は勉強会で確認していない(未検証) スイッチ 2: EtherChannel の状態 ③ 追加: Po1(SU) プロトコル LACP こちら側のモードは passive 片側が active なら合意できる Po1 の帯域の表示 束ねる前: 1Gbit(物理 1 本ぶん) ③ 後: 2Gbit(足し算の表示) ⑤ 後: 1Gbit に戻る 勉強会の画面で確認。一次資料は未確認 両側でそろえるもの(そろわないと束ねられない) 速度・デュプレックス トランクなら許可 VLAN の範囲 プロトコル(LACP か PAgP か) 通信の中身の推移(フローごとのフレーム/パケット) ① PC-A → スイッチ 1(アクセス区間・タグなし) 宛先 MAC MAC B 送信元 MAC MAC A 宛先 IP 192.168.10.20 送信元 IP 192.168.10.10 データ ping フレーム=全部。ただしスイッチが見るのは MAC とタグの部分だけ パケット=この部分。ルータはここ(IP)を見る ② スイッチ 1 → スイッチ 2(束ねた 2 本のうち 1 本を通る。トランクならタグ付き) 宛先 MAC MAC B 送信元 MAC MAC A タグ(VLAN 番号) 10 宛先 IP 192.168.10.20 送信元 IP 192.168.10.10 データ ping ③ 束ねても通信の中身は変わらない 宛先 MAC・送信元 MAC・タグ・IP は図 4 と同じ。変わるのは「束ねた 2 本のどちらの物理ポートから出すか」だけ ④ LACP のフレーム(束ねる相談。データとは別に流れる) 設定した物理ポートから出る。相手の名前と、束ねてよいかを確かめ合う。合意できた物理ポートだけが Po1 に入る 出典: Cisco「EtherChannel Configuration Guide」(モードの組合せ・ポート数の上限・そろえる条件・STP の扱い) https://www.cisco.com/c/en/us/td/docs/switches/lan/c9000/lyr2-fwd/etherchannel/etherchannel-configuration-guide/m_ethernetchannel.html 同ガイドの原文:「A port in the passive mode cannot form an EtherChannel with another port that is also in the passive mode」 (auto 同士も同じ理由で組めない)/「Up to eight ports can be active, and up to eight ports can be in standby mode」 同ガイドの原文:「PAgP adds the group to the spanning tree as a single device port」= STP からは 1 つのポートに見える 同ガイドの原文:「Configure all ports in an EtherChannel to operate at the same speeds and duplex modes」 出典(振り分け): Cisco「Understand EtherChannel Load Balance and Redundancy on Catalyst Switches」 https://www.cisco.com/c/en/us/support/docs/lan-switching/etherchannel/12023-4.html 同ページの原文:「The algorithm is deterministic; if you use the same addresses and session information, you always hash to the same port in the channel」=同じ組合せなら毎回同じ 1 本 規格番号について: Cisco の文書は LACP を「defined under the IEEE 802.3ad standard」と書いている。現行のリンクアグリゲーションの規格は IEEE 802.1AX IEEE 802.1AX-2020 は IEEE GET Program で無償入手できる(有料ではない) https://standards.ieee.org/ieee/802.1AX/6768/ 「The PDF of this standard is available at no cost compliments of the IEEE GET program」 同ページの概要:「This standard defines the MAC independent Link Aggregation capability」。802.3ad からの移管の経緯は、規格本文を読めていないため未確認 未検証: 勉強会で観測した「1 本抜いても連続 ping が 1〜2 発落ちる程度」の秒数は機器と設定による。ここでは秒数を書かない 「輪にならない」のは束ねた 2 本についての話。別の経路でできる輪は、引き続き STP が切る 未検証: 1 本外れたときに STP の再計算が起きるかどうかは、一次資料を見つけられなかった(束の帯域が変われば経路コストも変わりうる) 未検証: MAC アドレステーブルの出口が Po1 になることは、勉強会では確認していない(帯の表は「そうなるはず」の書き方) 正直に書くこと: 帯域が 2 倍に「見える」のは Po1 の表示。1 つの通信は 1 本の線しか使わないので、 1 つのファイル転送が 2 倍速くなるとは限らない(勉強会の測定でも、そこは各自の実測にゆだねられていた) ## 図 4・図 14 との接続

図 4 のトランクの区間が、そのまま Po1 の上に乗ります。 通信の中身(宛先 MAC・送信元 MAC・タグ・IP)は図 4 と 1 つも変わりません。変わるのは、束ねた 2 本のどちらの物理ポートから出すかだけです。

図 14 で「輪ができたので片方を止める」と書いた状況は、この 2 本については起きなくなります。

次の図 16 では、止まらないようにする対象が、スイッチ同士の線からデフォルトゲートウェイに移ります。

未検証・注意

  • 「輪にならない」のは、束ねた 2 本についての話です。別の経路でできる輪は、引き続き STP が切ります。
  • 帯域の表示が足し算になることは勉強会の画面で見た事実で、一次資料は確認していません。1 つの通信は 1 本の線しか使わないので、1 つのファイル転送が 2 倍速くなるとは限りません。合計が増えるのは、同時に複数の通信があるときです。
  • 振り分けの材料(送信元 MAC だけを使う、送信元と宛先の IP を使う、など)は機種と設定によります。
  • 1 本外れたときに STP の再計算が起きるかどうかは、一次資料を見つけられませんでした(未検証)。束の帯域が変われば経路のコストも変わりえます。
  • MAC アドレステーブルの出口が Po1 になることは、勉強会では確認していません(未検証)。
  • 1 本抜いたときの切替の速さ(連続 ping が 1〜2 発落ちる程度)は機器と設定によるので、秒数は書いていません。
  • チャネル番号を両側で同じにする必要があるかどうかは、一次資料で確認していないため書いていません。
  • Cisco の文書は LACP を IEEE 802.3ad の規格として書いています。現行のリンクアグリゲーションの規格は IEEE 802.1AX-2020 です。図には IEEE GET Program で無償入手できると書いていますが、今回 IEEE のページを取り直したところ、802.1AX-2020 の項にその一文を見つけられませんでした(GET Program での入手経路のリンクはあります)。無償かどうかと、802.3ad から移った経緯は未検証です。

出典

関連

この記事の校閲記録

誰が・いつ・どの版の・どの段落を・何の観点で見て、何と言ったかを全件そのまま出す(追記のみ・削除しない)。

段落 30 のうち出典つき 12・出典なし 18

v1 1 件
  • AIAI (claude-fable-5) が AI 確認未解決

    出典 URL 3 本を再取得した。受け身のモード同士が組めないこと(neither port starts LACP negotiation)、LACP は 16 ポートまで登録して 8 本が現用・8 本が待機、PAgP は Cisco-proprietary、LACP は IEEE 802.3ad、PAgP adds the group to the spanning tree as a single device port、速度とデュプレックスをそろえることを Cisco の EtherChannel 設定ガイドで、振り分けが deterministic であることを Load Balance のページで確認した。IEEE 802.1AX-2020 のページは到達できたが、802.1AX-2020 の項に「無償で入手できる」旨の一文を見つけられなかったため、無償かどうかを未検証として本文に書いた。帯域の足し算の表示・MAC アドレステーブルの出口が Po1 になること・1 本外れたときの STP 再計算は、一次資料が無いため未検証として残した。校正チェックリストを通し、例え話・体言止め・結論の先取りを検査した。守秘: 実名・社名・会場名・地名・金額なし

参考文献

更新履歴

  • 連載のトピックを「ネットワーク基礎」から「ネットワーク」へ改名(32 本+目次。slug と URL は不変)
  • 公開: 連載「ネットワーク基礎」図 8〜24 の記事 17 本と目次の更新

機械可読の記録