2006年02月20日

リンクアグリゲーション。

どうもお久しぶりです、のKyoです。
前代未聞の大スランプをなんとか抜けまして・・・。
自分のページをまとめサイト(こちらはまだ秘密。)にUPしていてようやくネタを探してきました…。

Catalyst3550はBridge and Switchという(ingついてたかも)セクションで出てくるのですが、この
セクションはほぼ100%でクリアしないといけません。
L2のReachablityがなければL3(IGPs以下)は無理ですもんね・・・。

今日はLink Aggregationについて学んでいきます。
といっても実はあまり説明に自信が無い^^;
遠慮なく間違いを指摘していただけたらと思います。

CiscoといえばEtherChannelという言葉がありますが。リンクアグリゲーションとの違いは何でしょう。
どちらも複数の回線を一本に論理的に見せるというイメージがありますが。

EtherchannelとはCisco独自の規格であり、リンクアグリゲーションはIEEE802.3adとして標準された規格だと思っていたのですが・・・ちょっと違うようです。
IEEEE802.3adはあくまでリンクアグリゲーションで用いるLACP(Link Aggregation Control Protocol)のことらしく。
リンクアグリゲーションのことを単にCiscoがEtherchanelと呼んでいるだけ、らしいですよ。
ちなみにCisco独自のプロトコルはPAgP(Port Aggregation Protocol)といいます。
LACPやPAgPを使って、論理的に束ねられた回線を作るわけですね。なお、この論理的なインターフェイスはポートチャネルと呼びます。

ポートチャネルを構成する物理インターフェイスは同じ速度のものを使用します。
Catalyst3550-24EMIの場合は以下の2種類ですね。

FastEthernetを最大8本集約する「FEC」
GigabitEthernetを2本集約する「GEC](*1)

(*1)もちろん、インターフェイスがある機種なら8本集約することができます。

とりあえず、基本的な設定を見てみましょうか。

interface portchannel 1
switchport trunk encapsulation dot1q
switchport mode dynamic desireable
interface range fastethernet0/23 - 24
switchport trunk encapsulation dot1q
switchport mode dynamic desireble
channel-group 1 mode on

物理ポートにchannel-group (ポートチャネル番号)を追加するだけでOKです。
そして論理インターフェイス(portchannel)を作ってあげます。
重要になるのはmode ***の部分でしょうか。
先ほどいったLACPやPAgPを使って対向のSwitchとリンクアグリゲーションをする
(変な表現だなー。うちらは「あぐる」とか「あぐっちゃう」とかいいますケド(笑))
のですが、以下のようなオプションになります。

Desirable・・・PAgPを送信して、リンクアグリゲーションに参加しようとします。
Auto・・・PAgPを受信した場合、リンクアグリゲーションに参加します。
Active・・・LACPを使ってリンクアグリゲーションに参加しようとします。
Passive・・・LACPを受信した場合、リンクアグリゲーションに参加します。
On・・・LACP/PAgPを使うことなく、リンクアグリゲーションに参加します。
Off・・・リンクアグリゲーションに参加しない。

PAgPとLACPに互換性はないので、双方のスイッチで異なるプロトコルを使用しても動作しません。
上記で考えると、Desireable(Active)とAuto(Passive)なら動作しますね。
On同士も動作します。Desirable同士でも動作しそうです。逆にAuto同士だとリンクアグリゲーションは
動作しなさそうです。
OnとAutoだとどうなるでしょう?Onだと強制的にリンクアグリゲーションします。ところがAuto側は
PAgPを受信しないのでリンクアグリゲーションに参加しません。つまり、片側だけリンクアグリゲーション
するという状態になります。

さて、めでたくリンクアグリゲーションが成立すると、ロードバランスするわけですが。
これが完全なロードバランスというわけではないのです。
100Mbpsを2本束ねて完全に200Mbpsになるわけではないのですね。
つまり。何を基準にどっちの物理インターフェイスを使うか・・・ということです。
実はデフォルトだとSrc-Macつまり送信元のMACアドレスによってきまります。
つまり

サーバ---SW==SW---クライアントたくさん

だとリンクアグリゲーションしている意味がなくなってしまいます。このような場合は

port-channel load-balance dst-mac

としてあげる必要があります。ちなみにいいL3SwだとIPアドレスとかsrc-dst-macとかが指定
できるはずです。

別Nw--ルータ--Sw==Sw--ルータ--別Nw

MACベースだと上記のようなネットワークだとリンクアグリゲーションの意味がまったく無くなって
しまいますからねー。

さて、トラフィックの負荷分散のお話をしましたが。
注意しなければならないことが1つ。
CCIELABの問題でSwitchの負荷分散をしなさい、とあったら必ずしもリンクアグリゲーションとは限りません。
たとえばVLAN10はfa0/23を通して、VLAN20はfa0/24を通す。
fa0/23がダウンしたらVLAN10もfa0/24を通す。
みたいな問題があったらどうしましょう。

これはリンクアグリゲーションでは解決できませんよね?
ふふ。。

By kyo @ 09:59 PM | BCMSN(CCNP) | コメント (1) | トラックバック (0)

コメント

はじめまして。Masaki と申します。
先ほど、今年の1月と勘違いして、昨年1月の記事にコメントして
しまいました。(Catalyst3550 のえみちゃんの件です)

改めてこちらにコメントさせていただきます。
IEEE802.3ad の位置づけについては、前者の方が正しいですよ。
(リンクアグリゲーションはIEEE802.3adとして標準された規格)

802.3ad = LACP ではなく、802.3ad > LACP という感じですね
(802.3ad を構成する一部分)。
例として適切ではないかもしれませんが、802.1d = STP ではなく、
802.1d > STP なのと同じイメージです。

Link Aggregation に必要な機能は、あるポートで受信したフレーム
を、Link Aggregation 内の他のポートから送信してしまわないよう
にする、とか、指定されたDistribution アルゴリズムに従って、
特定のフローは必ず同じポートから送信する、とか、上位層(Bridge
のFrame 転送機能など)に対してひとつのポートとして認識させる、
といったことです。

つまり、本来は対向機器と協調動作するための規格ではなく、基本は
あくまでスイッチ単体の機能なんです(LACP やMarker Protocol と
いった、対向機器と協調動作するプロトコルもオプションで付随して
いますが)。
802.3ad で定義しているのも、この部分です。
ベンダー間で動的なLAG を組むための手段として、LACP がおまけ
(というのは言いすぎですが)としてついてる感じですね。

802.3ad 以前は、Link Aggregation という統一用語がなかったので、
メーカ毎に名前をつけていました(DEC のHunt Group やCabletron の
SmartTrunk など)。
Cisco のEtherChannel もそのひとつです。
なので、Cisco に限って言えば、EtherChannel = Link Aggregation
ですね。
動的にLAG を組むためのプロトコルとして、PAgP を使おうがLACP を
使おうが、Cisco であればどちらもEtherChannel なわけです。


HSRP やUDLD など、ニッチなプロトコルをディープに解説という
コンセプトで、「ネットワークエンジニアになろう」というサイトを
作っています。
こちらのブログを紹介させていただきました。
差し支えなければ、相互リンクをお願いできないでしょうか。
http://www.smartnetworks.jp/

By Masaki | 2006年02月25日 22:04


コメントを書く







名前、アドレスを登録しますか?




トラックバック

このエントリーのトラックバックURL:
http://www.n-study.com/mt/mt-tb.cgi/1004