こんにちは!ネットワークの世界へようこそ。インフラエンジニアの主筆ライターとして、日夜パケットたちのドラマを追いかけている私です。
ネットワークの勉強を始めると、スイッチングハブやレイヤー2スイッチといった機器が、どうやって宛先を判断してパケットを届けているのか、不思議に思いますよね。「あのパソコンはあっちのポートにいる」と覚えている頭脳、それがMACアドレステーブルです。
今回は、このMACアドレステーブルの影の立役者である「エージングタイマー(自動お掃除タイマー)」と、ネットワークの形が変わったときのドタバタ劇(トポロジ変更)について、身近な例えを交えながら一歩ずつ優しく紐解いていきましょう!
—
1. 郵便配達員さんの「宛先メモ帳」の仕組み
スイッチ(L2スイッチ)が、ピカピカの郵便配達員さんだと想像してください。
彼らは、オフィスビルの中を行ったり来たりしながら、手紙(イーサネットフレーム)を正しい机(端末)へ届けています。
配達員さんは、手紙が届くたびにこんなメモ帳をつけています。
> 「Aさんのパソコンから手紙が来たぞ。あいつは【ポート1】の席に座っているな」
これが、MACアドレステーブルの正体です。MACアドレス(端末の固有ID)と、スイッチのポート番号をセットで覚えているんですね。
でも、もしAさんが席を移動したら…?
もしAさんが部署異動で【ポート5】に引っ越したとします。新しい席から手紙を出せば、配達員さんは「おっ、Aさんはポート5に引っ越したんだな!」とメモをサッと書き換えます。
では、Aさんが会社を退職してしまったらどうなるでしょう?
いつまでも「ポート1にAさんがいる」とメモし続けたら、古い情報でメモ帳がいっぱいになってしまいますよね。新しい人がその席に座ったときに困ってしまいます。
ここで登場するのが、今回の主役である「エージングタイマー(タイムアウト処理)」です!
—
2. エージングタイマーってなに?(デフォルト値の秘密)
エージングタイマーとは、いわば「メモ帳の有効期限スタンプ」です。
スイッチは、MACアドレステーブルに覚えた情報に対して、心の中でこうつぶやいています。
> 「最後にこの端末から通信があった時間から、一定時間が経っても新しい通信が来なかったら、このメモは忘れちゃおう(削除しよう)」
この「一定時間」のことをエージングタイム(Aging Time)と呼びます。
多くのメーカー製スイッチ(Cisco Systemsなど)では、このデフォルト値が「300秒(つまり5分)」に設定されています。
- 5分間、その端末から何の音沙汰もない = 「もういなくなったのかな?」と判断してテーブルから削除(エイジングアウト)
- 5分以内に通信があった = 「まだ元気に使っているな!」とタイマーをリセットして延長
この仕組みがあるおかげで、スイッチのメモリが古い情報でパンクすることなく、常にオフィスの最新の座席表を保つことができるのです。
—
3. ネットワークの形が変わるとき(トポロジ変更のドラマ)
さて、ここからが少しスリリングなお話です。
会社の中で、LANケーブルが抜けてしまったり、新しい予備のスイッチが接続されたりして、ネットワークの形(トポロジ)がガラリと変わることがあります。これをトポロジ変更と呼びます。
通常、ループ(輪っか)を防ぐために、ネットワークの世界ではスパニングツリープロトコル(STP)という賢い仕組みが働いています。もしどこかのケーブルが切れて別の迂回路(バックアップルート)に切り替わると、パケットが流れる道筋がガラリと変わります。
ここで問題発生です!
「さっきまでポート1経由で届いていたBさんのパソコンが、道が変わったせいで今度はポート3経由で届くようになったぞ!」
エージングタイマーのデフォルト値(5分)をそのまま待っていたら…?
もし道が変わったのに、スイッチが古いメモ(Bさんはポート1にいる)を5分間ずっと信じ込んでいたらどうなるでしょう? パケットは間違ったポートへ送り続けられ、通信が5分間もストップしてしまいます。ビジネスの現場では致命傷ですよね。
そこで、ネットワークの形が変わった瞬間、スイッチたちはこう叫びます。
> 「大変だ!道が変わったぞ! 今までの古いメモ帳は当てにならないから、エージングタイムを急ピッチで短くして、一掃しようぜ!」
Ciscoのスイッチなどの世界では、トポロジ変更を検知すると、通常は300秒あるエージングタイマーを、一時的に「フォワーディングディレイ時間(通常15秒程度)」まで短縮します。これにより、古い記憶が速やかに消去され、新しい正しい経路での通信がすぐに再開されるようになっているのです。パケットの世界も、なかなかに気転が利く仕組みですよね。
—
4. 実務で触れる!スイッチの設定と確認
「百聞は一見にしかず」ということで、実際のネットワーク機器(Cisco Catalystスイッチを想定)で、このエージングタイマーを確認・変更する方法を覗いてみましょう。現場のエンジニアたちがよく使うコマンドです。
MACアドレステーブルのエージングタイムを確認・変更する
現在の設定や、エージングタイムを例えば「600秒(10分)」に変更したい場合、次のような設定を行います。
! 現在のMACアドレステーブルのエージングタイムを確認するコマンド
Switch# show mac address-table aging-time
Global Aging Time: 300
! グローバルコンフィギュレーションモードに入り、エージングタイムを600秒に変更する
Switch# configure terminal
Switch(config)# mac address-table aging-time 600
! 設定が正しく反映されたか再度確認する
Switch# do show mac address-table aging-time
Global Aging Time: 600
- 日本語解説:
show mac address-table aging-timeコマンドで、現在スイッチが何秒で記憶を消去する設定になっているかを確認できます。mac address-table aging-time 600のように指定することで、環境の特性(端末の出入りが激しい、あるいは安定している等)に合わせてタイマーの秒数をチューニングすることが可能です。
現在覚えているMACアドレスのリストを覗いてみる
スイッチが今、誰をどこに覚えているのかをリアルタイムで確認するには、次のコマンドを使います。
! スイッチが学習しているMACアドレステーブルを表示する
Switch# show mac address-table
Mac Address Table
----------------------------------------------------------------
Vlan Mac Address Type Ports
----------------------------------------------------------------
1 aabb.cc00.1111 DYNAMIC Gi0/1
1 aabb.cc00.2222 DYNAMIC Gi0/2
- 日本語解説:
Type欄にDYNAMICと表示されているものが、エージングタイマーの管理下にある動的なエントリです。- ここに表示されている端末が一定時間通信を行わないと、自動的にこのリストからスルスルと消えていきます。
—
まとめ
今回は、MACアドレステーブルのエージングタイマーと、トポロジ変更時の挙動について解説しました。
- エージングタイマーは、古い不要なメモを自動で消してくれる「お掃除タイマー」(デフォルトは300秒が主流)。
- トポロジ変更時は、ネットワークの道が変わったことに素早く追従するため、一時的にタイマーが短縮されて古い記憶がリフレッシュされる。
普段何気なく使っているインターネットや社内LANも、こうした細やかなタイマー処理や、機器同士の連携のおかげでスムーズに動いています。インフラの仕組みが少し身近に感じられたでしょうか?
一歩ずつ、こうしてネットワークの深淵を覗いていくと、エンジニアとしての面白さがどんどん広がっていきますよ。それではまた次回の技術解説でお会いしましょう!
コメント