概要

Ciscoのレイヤ2スイッチ(スイッチングハブ)のMACアドレスの学習について確認するための演習です。受信したイーサネットフレームの送信元MACアドレスをMACアドレステーブルに登録することで、レイヤ2スイッチは接続されているデバイスを認識します。

ネットワーク構成

図 レイヤ2スイッチの動作 ネットワーク構成
図 レイヤ2スイッチの動作 ネットワーク構成

初期設定

SW1/SW2はホスト名のみを設定しています。そして、PC1からPC4には、次のIPアドレスを設定している状態から開始します。

機器名IPアドレス
PC1192.168.1.1/24
PC2192.168.1.2/24
PC3192.168.1.3/24
PC4192.168.1.4/24
表 PCのIPアドレス

演習で利用するコマンド

この演習では、以下のコマンドを利用します。

コマンド概要
#show mac-address-table dynamicレイヤ2スイッチのMACアドレステーブルのうち、受信したイーサネットフレームから動的に学習したMACアドレスを表示します。
> show ip(VPCS) VPCSのIPアドレスやMACアドレスを確認します。
> ping <ip-address>(VPCS) VPCSでPingを実行します。
表 利用するコマンド

演習の手順

Step1:PC1~PC4のMACアドレスの確認

SW1/SW2のMACアドレステーブルに登録されることになるPC1からPC4のMACアドレスを確認します。GNS3のVPCSのMACアドレスはshow ipコマンドで確認できます。PC1のshow ip コマンドの出力は以下のようになります。

PC1 MACアドレスの確認

PC1> show ip

NAME        : PC1[1]
IP/MASK     : 192.168.1.1/24
GATEWAY     : 255.255.255.0
DNS         :
MAC         : 00:50:79:66:68:00
LPORT       : 10022
RHOST:PORT  : 127.0.0.1:10023
MTU:        : 1500

ダウンロードしたGNS3プロジェクトでは、PC1~PC4のMACアドレスは以下のようになっています。

機器名MACアドレス
PC100:50:79:66:68:00
PC200:50:79:66:68:01
PC300:50:79:66:68:02
PC400:50:79:66:68:03
表 PCのMACアドレス

GNS3のVPCSのMACアドレスはプロジェクトに配置した順番で自動的に割り当てられます。VPCSを配置する順番が異なると、この表の通りのMACアドレスになるとは限りません。

Step2:PC間でPingを実行

レイヤ2スイッチは受信したイーサネットフレームの送信元MACアドレスをMACアドレステーブルに登録します。そこで、レイヤ2スイッチがイーサネットフレームを受信するように、PC間でPingを実行します。PC1からPC2/PC3/PC4へPingします。

PC1からPing

PC1> ping 192.168.1.2
84 bytes from 192.168.1.2 icmp_seq=1 ttl=64 time=92.623 ms
84 bytes from 192.168.1.2 icmp_seq=2 ttl=64 time=0.632 ms
84 bytes from 192.168.1.2 icmp_seq=3 ttl=64 time=0.619 ms
84 bytes from 192.168.1.2 icmp_seq=4 ttl=64 time=0.801 ms
84 bytes from 192.168.1.2 icmp_seq=5 ttl=64 time=1.040 ms

PC1> ping 192.168.1.3
84 bytes from 192.168.1.3 icmp_seq=1 ttl=64 time=1.205 ms
84 bytes from 192.168.1.3 icmp_seq=2 ttl=64 time=0.729 ms
84 bytes from 192.168.1.3 icmp_seq=3 ttl=64 time=1.095 ms
84 bytes from 192.168.1.3 icmp_seq=4 ttl=64 time=1.311 ms
84 bytes from 192.168.1.3 icmp_seq=5 ttl=64 time=0.807 ms

PC1> ping 192.168.1.4
84 bytes from 192.168.1.4 icmp_seq=1 ttl=64 time=1.019 ms
84 bytes from 192.168.1.4 icmp_seq=2 ttl=64 time=0.759 ms
84 bytes from 192.168.1.4 icmp_seq=3 ttl=64 time=1.165 ms
84 bytes from 192.168.1.4 icmp_seq=4 ttl=64 time=0.813 ms
84 bytes from 192.168.1.4 icmp_seq=5 ttl=64 time=1.064 ms

Pingの通信は双方向なので、これでPC1からPC4のMACアドレスがL2SW1/L2SW2のMACアドレステーブルに登録されるようになるはずです。たとえば、次の図のようにPC1からPC4へPingを実行すると、SW1/SW2のMACアドレステーブルにはPC1とPC4のMACアドレスが登録されます。

図 PC1からPC4へPingしたときのMACアドレスの登録 Pingリクエスト
図 PC1からPC4へPingしたときのMACアドレスの登録 Pingリクエスト

 図 PC1からPC4へPingしたときのMACアドレスの登録 Pingリプライ
図 PC1からPC4へPingしたときのMACアドレスの登録 Pingリプライ

Step3:L2SW1/L2SW2のMACアドレステーブルを確認

SW1/SW2のMACアドレステーブルにPC1からPC4のMACアドレスが登録されていることを確認します。以下のコマンドでMACアドレステーブルのうち、受信したイーサネットフレームの送信元MACアドレスから登録したMACアドレスのみを表示します。

#show mac-address-table dynamic

SW1でのコマンド出力は以下の通りです。

SW1 show mac-address-table dynamic

L2SW1#show mac-address-table dynamic
Non-static Address Table:
Destination Address  Address Type  VLAN  Destination Port
-------------------  ------------  ----  --------------------
0050.7966.6800          Dynamic       1     FastEthernet1/1
0050.7966.6801          Dynamic       1     FastEthernet1/2
0050.7966.6803          Dynamic       1     FastEthernet1/3
0050.7966.6802          Dynamic       1     FastEthernet1/3

GNS3上ではMACアドレスの情報はすぐに消えてしまいます。MACアドレスの情報が登録されていなかったら、再度Step2のPC間のPingを実行してください。

上記の出力のように、SW1にはPC1からPC4のMACアドレスが登録されていることがわかります。SW2でも同様です。そして、こうして学習したMACアドレスに基づいて適切なインタフェースにのみイーサネットフレームを転送できるようにしています。

動画解説

レイヤ2スイッチの仕組み