■ EtherChannel
さてさて、STPの話が続いているわけだが。
今回は、そのSTPの拡張技術というか、STPに関連のある技術を2つ説明しよう。
2つッスね。まず最初はなんです?
それを説明する前に、下の図を見てもらおう。
[FigureSW13-01:2つのリンク]
2つのスイッチを2つのリンクで接続している。さて、どうなる?
どうなるって。このままだとループが発生しますから、STPでフォワードとブロックを決めますよね。
[FigureSW13-02:STPによるループの防止]
そうだな。つまり、スイッチ間のリンクはどんな場合であれ、ループを防止するために必ず1本のリンクでなければいけない、ということだな。
そうなりますよね。
では、スイッチ間のリンクが1本ではどうしても帯域幅が不足したり、複数のリンクを使って負荷分散をしたい場合はどうする?
どうするっていわれても。
スイッチ間を複数のリンクで結ぶとループが発生しちゃうんでしょ? STP使ったら1本のリンクしかフォワードにならないし…。
そうだ。なので、複数の物理リンクを1本の論理リンクとして扱う。
そうすることにより、複数のリンクを使っていてもループの問題を回避することができる。
[FigureSW13-03:EtherChannel]
ん〜。実際のリンクは2本だけど、論理上は1本として運用するってことですか?
そうだ。この方法をEtherChannelという。
いーさちゃねる?
イーサネットのチャンネル、イーサネットの通信経路、ですか。
うむ。イーサネットといっても、FastかGigabitでしか使えない。
Fast Ethernetで行うFast EtherChannel、Gigabit Ethernetで行う、Gigabit Etherchannelと呼ばれる。
そのまんまですね。
まぁ、そうだな。
特徴は、まずわかると思うが、複数の物理リンクをまとめたことによる広帯域の実現だな。
2本Fast Etherをまとめれば200Mbpsですか。ちなみに何本ぐらいまとめられるんですか?
半二重なら200Mbpsだな。全二重の場合、2本Fast Etherをまとめれば、100(Mbps) × 2(本) × 2(全二重) で400Mbpsになる。
ともかく、何本まとめられるかは製品によって違いがあるのでなんともいえん。
そうなんですか。
まぁ、大体は8本程度らしい。
もう1つの特徴として、負荷分散が上げられる。
ろーどばらんしんぐ?
複数のリンクにフレームを分散して送るってことですか?
いやいや、1つのフレームを分解して送るわけではない。
アドレスにより、使用するリンクを分けて送ることができるのだよ。
は〜。
ついでに冗長性も保たれる。1つの物理リンクがダウンした場合でも、他の物理リンクが生きていることになるからな。
[FigureSW13-04:EtherChannelの負荷分散]
なるほど。広帯域かつ負荷分散ですね。
■ PAgP
さて、このEtherChannelだが、実装にはいくつか条件がある。
条件?
うむ。列挙しよう。
- チャネルのすべてのポートは同じVLANか、トランクであること
- トランクの場合、双方のスイッチで同じトランクプロトコルを使用すること
- すべてのリンクは同じモード(半二重・全二重)で、同じ速度であること
- Dynamic VLANポートとしてはいけない
まぁ、基本的にはこのぐらいだな。
はぁ、つまり両方のスイッチで同じ設定を手動でしろ、と。
そういうことだな。
設定が手動で面倒という人には、自動で行う方法もある。
自動? スイッチが勝手に「このポートまとめちゃえ〜」とかやるんですか?
う〜む、そういうわけではなくて、双方の設定を合わせ、Channelを形成しようとするわけだな。
さて、ネット君。何かにつけて自動化しようと思うならば、何を行う?
へ?
つまりだ、2つの機器の間で設定を自動化しようとするならば、どうする? と聞いているのだよ。
例えば、STP、ルーティングなどの設定。まぁ、他にもあるが、そういう場合何を使う?
STPやルーティング?
え〜、え〜、え〜っと。……情報を交換する?
その通り。つまりプロトコルが必要なわけだ。
今回の場合、EtherChannelの自動化にはPAgPと呼ばれるプロトコルを使う。
ぴーえーじーぴー。
ぽーとあぐりげーしょんぷろとこる? アグリゲーションってなんでしたっけ?
「集合」だな。まとまる、という意味だ。
インタフェースはPAgPパケットで情報を交換し、自動的に集約を行う、というわけだ。
ははぁ。
PAgPはインタフェースにPAgPモードを設定する。
モードが一致すれば、EtherChannelとして動作する、という形になる。
モード | 意味 | 対向スイッチのモード | |||
---|---|---|---|---|---|
off | on | auto | desirable | ||
off | Channel、PAgPを使用しない | - | - | - | - |
on | Channelを強制的に使用する。PAgPを使用しない | - | ○ | - | - |
auto | PAgPを受動的に使用する。対向の設定次第。 | - | - | - | ○ |
desirable | PAgPを能動的に使用する。 | - | - | ○ | ○ |
[TableSW13-01:PAgPモード]
○の時、自動的にChannelが形成されることになる。
なるほど。
■ Port Fast
さて、ネット君。次の話をしよう。
こういう場合のことを考えてくれたまえ。
[FigureSW13-05:STP再計算時間の問題]
は〜。でもこれってしょうがないことなんじゃないんですか?
まぁ、確かにそうだが、いくらなんでも30秒という時間は長すぎる。
例えば、新しく接続したPCで、スイッチと接続後にDHCP DISCOVERを送ったとする。どうなる?
どうなる? え〜っと、スイッチは30秒間は通信をブロックしちゃうから…。
DISCOVERの返答がない、ということでDHCPによるIPアドレス取得をあきらめてしまう。
WindowsOSならAPIPAとか使う、という形になってしまうわけだな。
は〜。
アプリケーションによっては結構困ることになることがあるわけだ。
なので、このBlock → Listening → Learning → Fowardingという30秒かかる遷移を短縮する。
短縮。どのくらいにです?
ほぼゼロに、だ。
つまり、ブロックから即フォワーディングにする。この技術をPort Fastという。
ぽーとふぁすと。
え? でも、そんなことしちゃったらSTPがなんでわざわざ30秒もつかうんだって話になりません?
うむ。なので、PC・ワークステーションと接続するポートのみにPort Fastを設定する。
ループの発生する可能性のあるポートにPortFastを設定してはいけない。
そうですよね、ブロックから即フォワードってことだと、他のスイッチと接続している場合ループが発生しちゃいますからね。
えっと、確認ですけど、PortFastってポートごとに設定するんですよね?
そうだ。ポート単位にPortFastにするかしないか設定する。
ですよね。
ちなみにPC・ワークステーションと接続しているポートだからといっても、下のような図の場合はダメだ。
[FigureSW13-06:PortFastの設定ミス]
SW-Aのハブに接続しているポートは確かにPCとワークステーションとのみ接続しているように見えるが、SW-Bとハブが接続していることにより、ループが発生する可能性がある。
ははぁ。ほんとにPCやワークステーションとの一対一だけに設定するんですね。
そういうことだな。
でも博士。
もし、万が一、PortFastのポートに間違ってスイッチとかを接続しちゃったらどうするんですか?
あぁ、確かにネット君ならやりかねんな。
そういうネット君が使っても大丈夫なようにすることもできる。
うぅぅ。
その手段としては、PortFast BPDUガード機能を有効にする。
[FigureSW13-07:PortFast BPDUガード機能]
BPDUを受け取るとシャットダウン?
そうだ、そのシャットダウンだ。ブロックではなく完全にダウンしてしまう。
この状態を直すためには手動で設定を変更しなければならない。つまり、設定を見直せ、ということになるわけだな。
はぁ、それがErrDisableという状態なわけですか。
そうだな、Fowarding、Learning、Listening、Block、Disableの5つのSTPポート状態以外の、エラーによる無効化(Error Disable)状態というわけだ。
エラーによる無効化、なるほど。
さて、今回はこれぐらいにしておこう。
あい。
まだまだまだ次回もSTPの話が続く。
了解ッス。
30分間ネットワーキングでした〜♪
- EtherChannel
-
Cisco社の独自規格。
一般的にはリンク集約[Link Aggregation]で知られる。
- 呼ばれる
- 省略する場合は、FEC、GECと記述する。
- PAgP
- [Port Aggregation Protocol]
- APIPA
-
[Automatic Private IP Addressing]
DHCPによるIPアドレスができなかった場合、自動でアドレスを決定する機能。
アドレスは169.254.0.0/16のうち、任意のアドレスを使う。
- ネット君が使っても大丈夫
- フールプルーフ[Fool Proof]ならぬ、ネット君プルーフ[Assistant Net Proof]。
- 手動で設定を変更
- 一定時間後、ErrDisableを解除するという自動化設定もできる。
- ハイパーネット君の今日のポイント
-
- 複数のリンクを1つの論理リンクとして使用する技術がEtherChannel。
- 1つの論理リンクとして扱われるので、ループが発生しない。
- 広帯域や負荷分散が必要な場合に有効。
- STP再計算の時間を短縮させる方法の1つがPortFast。
- PCやワークステーションとの1対1接続につかう。
- PortFastが有効なポートは再計算の場合、BlockからFowardへ即移行する。
- 複数のリンクを1つの論理リンクとして使用する技術がEtherChannel。