2009年5月21日(初版)
TAC SR Collection |
主な問題 | Cisco Catalyst シリーズ LAN スイッチにおいて、MAC Address Table に学習された MAC Address が、設定された Aging Time を経過した後も Table に存在しつづけ、暫くすると Age Out するという現象がいくつかのケースで報告されています。 MAC Address Table の Aging Time は、エントリが最後に参照されてから Age Out するまでの時間を定めた物ではなく、各エントリが Age Out すべきかどうかを判定する処理のインターバルであり、この現象は Layer2 Switch における正しい動作となります。 MAC Address Table にはそのエントリごとに参照された事を示すフラグが用意されています。これはそのアドレスが始めに学習された際とそれ以降、エントリが参照されるたびにセットされます。(ここで参照とは、そのエントリの Mac Address を Source Address に持つフレームがそのエントリと同一のポートで受信され、既知のエントリかどうかを確認する事を意味します。)一方、Aging Time ごとの判定処理では、各 MAC Address エントリのフラグを確認し、セットされている物はリセットされます。その際に、すでにフラグのリセットされているエントリが存在したらそのエントリが Age Out の対象となります。 Default の Aging Time である300秒の場合を例として、以下に説明します。 |<---- 300秒 ---->|<---- 300秒 ---->|<---- 300秒 ----->| 時間
-------A----------B------C-----------------D------------------E------>>
| | |
| | +--- 判定処理
| | (フラグがリセットされている
| | エントリをAge Out)
| |
| +--- 判定処理(フラグをリセット)
|
+--- エントリ作成(学習、フラグをセット)
1) B のタイミングで Frame を受信すると、学習した Source Address を MAC Address Table に登録し、フラグをセットします。 2) C のタイミングで判定処理が発生し、セットされていたフラグをリセットします。 3) 300 秒経過すると、D のタイミングで判定処理が発生し、フラグがリセットされているエントリを Age Out させます。 もし C と D との間に参照が行われるとフラグは再度セットされるので、D のタイミングでは Age Out されません。 以上の事から、学習された MAC Address がその後一度も Source Address をキーとして参照されなかった場合、Age Out するまでに要する時間は 300秒+α(ただし、600 秒未満)である事が分かります。 最短時間 = 300 + 1 秒 ------>> 判定処理の直前に学習した場合 最長時間 = 600 - 1 秒 ------>> 判定処理の直後に学習した場合 但し、上記の動作は Supervisor 720 搭載の Catalyst 6500 シリーズには当てはまりません。Aging 方法が変更され、以下のようになります。 最短時間 = 300 + 1 秒 ------>> 判定処理の直前に学習した場合 最長時間 = 360 - 1 秒 ------>> 判定処理の直後に学習した場合 |
備考
TechNews 2004 年 4 月号 No.0404-0008