Layer2基礎学習

宛先MACアドレスを理解して対象のポートから送出する。

 

エージング
L2スイッチは一定時間が経過すると学習していたMACアドレスMACアドレステーブルから削除が行われる。
Catalystでは300秒。

宛先となるMACアドレスを学習していない場合と
ブロードキャストを受信した場合はフラッディングをする。
フラッディングは同じVLANを割り当てられたポートのみ。


#スイッチング方式

 

・カットスルー方式
宛先MACアドレスのみ保存・確認してすぐに宛先へフレーム(データ)を転送する。

 

・ストアアンドフォワード方式
現在、利用されている転送方式になり、フレーム(データ)のすべてを保存・確認して転送する。

 

・フラグメントフリー方式
ストアアンドフォワード方式が開発されたばかりの時、処理スピードに時間がかかり、
障害が起きていないのにもかかわら通信不能になることがあった。
これを回避するためフラグメントフリーが開発された。
その後ハードウェアの技術が上がり、現在はストアアンドフォワードが実装されている。


#MACアドレステーブル
CatalystスイッチはデフォルトでMACアドレス学習/転送機能を行う。
Catalystスイッチは受信したフレームのMacアドレスを参照し、受信したポートと送信元MACアドレスマッピングして学習する。
これにより、どの端末がどのポートに接続されているかを確認することができる。
このMACアドレス学習機能により受信したフレームを転送すべきポートのみから出力し、無駄なフレームが転送されるのを防ぐことができる。
CatalystスイッチはMACアドレステーブル(MACアドレス)と呼ばれるテーブルを保持し、学習したMACアドレスと受信ポートのマッピングをこのMACアドレステーブルに登録する。

 

#VLAN基礎学習

・TPID
IEEE802.1qフレームであることを示す

PCP
フレームの優先度を示す

・CFI
アドレス形式を示す

・VID
VLAN IDを示す。(12bit(0 ~ 4095))

 

・ネイティブVLAN
トランクポートで唯一、タグをつけない
デフォルトはVLAN 1

 

・ポートVLAN
タグのつかないトラフィック

 

・タグVLAN
タグ付きパケットが出入り

 

・メーカー ポートVLAN タグVLAN *
・シスコアクセスポート トランクポート*
・その他 アンタグポート タグポート *

 

#STPの仕組み

1:BPDUの送信
2:ルートブリッジの選択
3:ルートポートの選択
4:指定ポート(Designated Port)、ブロックポート(NDP)の選択

 

1、BPDUの送信
スイッチは、ネットワーク参加すると同時にBPDUと呼ばれるHelloパケットをすべてのポートから送信します。
BPDUはお互いのスイッチの存在や通常に動作しているかを確認するキープアライブの役目を持っている。
マルチキャスト転送をし、2秒ごとに送信される。
複数のスイッチがある場合、すべてのスイッチがBPDUを送信し、お互いのBPDUを受信する。

・BPDUの内容
ブリッジID
パスコスト

ブリッジIDはプライオリティ値とMACアドレスで構成されている。デフォルトのプライオリティ値は「32768」。
このブリッジIDがスイッチを識別する番号になる。プライオリティ値が同じ場合にはMACアドレス

・パスコスト
10Gbps:コスト2
1Gbps:コスト4
100Mbps:コスト19
10Mbps:コスト100

 

2、ルートブリッジの選択
BPDUを送信、受信してネットワーク内のすべてのスイッチを確認すると、リーダースイッチになるルートブリッジを選ぶ。
ルートブリッジには、最小値のブリッジIDを持つスイッチが選ばれる。

 

3、ルートポートの選択
ルートブリッジが選出されると、次にパスコストをもとにルートポートが選出される。
ルートブリッジにパスコストが小さいポートが1つ選択されルートポートになる。

 

4、指定ポート(Designated Port)、ブロックポート(NDP)の選択
指定ポートは各リンク(セグメント)でルートブリッジに最も近いポート。
各リンクごとに1ポートが指定ポートになる。
ルートブリッジの全てのポートは必ず指定ポートになる。
指定ポートは「最も小さいルートパスコストのRPを持つスイッチ側のポート」が指定ポートになる。
ルートパスコストとブリッジIDが同じ値の場合インターフェース番号が若い方が指定ポートになる。


#STPのコンバージェンス

 

・ブロック状態(ブロッキング)
スイッチがネットワークに参加するとデータ転送ができないよう一度すべてのポートをブロックポートにしてSTPの計算を始める。
最大エージタイマーは20秒。

 

・リスニング状態
ブロックポートの選出を行う。
転送遅延タイマーは15秒。

 

・ラーニング状態
MACアドレステーブルの作成を行う。フレームの転送は行われない。
転送遅延タイマーは15秒。

・転送状態
フレームの転送が開始され、コンバージェンスした状態。


#高速なコンバージェンス技術
STPではコンバージェンスに最大50秒かかる。この時間を短縮するための技術が以下。
下の3つはCisco独自の機能。ほかのベンダでも利用できる標準の機能に、RSTPがある。

 

・PortFast(SW(config-if)#spanning-tree portfast)
スイッチに接続するデバイスがPCやサーバの場合、ループは発生しないのでSTPの計算が不要。
この場合、STPの計算を行わず、すぐに転送状態にする。
PortFastはポート単位で設定を行う。
スパニングツリーを無効にするわけではないので、BPDUの送信は行われる。

 

・UplinkFast(SW(config)#spanning-tree uplinkfast)
ブロックポートをルートポートのバックアップとして用意しておく。
ブロックポートは代替ポートと呼ばれる。障害が起きた際にブロックポートをすぐに空け、ルートポートに変更する。
UplinkFastは、ブロックポートを持つスイッチに設定が可能。
ブロックポートを持たないスイッチに設定しても意味がない。

 

・BackboneFast(SW(config)#spanning-tree backbonefast)
バックボーンファストは、ネットワーク上のすべてのスイッチに設定する必要がある。
RLQ(Route Link Query)というメッセージによって最大エージタイマーの分だけ省略することができる。


#ラピッドスパニングツリープロトコル(RSTP)
RSTP(IEEE802.1Wで定義)は、STP(IEEE802.1Dで定義)の改良版で、PortFast、UplinkFast、BackboneFastの機能が組み合わさったプロトコル
STPとの互換性があり、一緒に使用することができる。とポロ時に変更があった場合、
STPは50秒未満で収束するのに対してRSTPは1秒未満で高速収束する。

 

#STPとRSTPのポートステータス対比

 

・STP ・RSTP ・MACアドレス学習
Disabled Discarding No
Blocking Discarding No
Listening Discarding No
Learnin Learning Yes
Forwarding Forwarding Yes

 

・ポートの役割
RSTPには、ルートポート、指定ポート、バックアップポート、代替ポートの4つの役割がある。
STPには、ルートポート、指定ポート、ブロッキングポートの3つの役割がある。
STPのブロッキングポートが、RSTPではバックアップポートと代替ポートに分割された。


#STP BPDU補足

 

・BPDUガード
PortFastの設定されているポートでBPDUを受信したとき、そのポートをerror-disableにする機能。
PortFastに設定されているポートでは、PCやサーバなどが接続されることをいみする。
また、BPDUの受信はスイッチが接続されたことを意味することからLayer2ループを防ぐためにも実装すべき推奨コマンド。

 

・BPDUフィルタリング
PortFastの設定されているポートで、CatalystがBPDUの送受信を防止する機能。
PortFastが設定されたポートでは通常PC等が接続されるが、PCはSTPに参加しないため受信したBPDUを破棄する。
この機能により、不要なBPDUがPCへ送信されることを防ぐ。
々I/FでBPDUガードとBPDUフィルタリングの設定を有効にすると、フィルタリングが優先される。


#VTP(VLAN Trunking Protocol)
トランクポートからVTPアドバタイズメントと呼ばれるメッセージ
を送信して、スイッチネットワーク全体で設定されているVLAN情報の同期をとるシスコ独自のプロトコル
VTPを利用することで、管理者は1台のスイッチに対してVLANの追加、名前変更、削除などを行うだけで
同じグループ( 同じVTPドメイン )の全てのスイッチにVLANの追加、変更、削除の情報が通知される。
VTPアドバタイズメントには①VTPドメイン名 ②VTPパスワード ③VLAN情報 ④コンフィグレーションリビジョン番号の4つの情報が含まれる。
Catalystスイッチのデフォルトはサーバモード。
自身の保持するリビジョン番号よりこの値が大きい場合には、VTPにより通知されたVLAN情報が最新であると判断して、VLANの設定情報を置き換え

 

#VTPモード

 

・サーバ
VLAN作成:〇
VTP通知:〇
VTP転送:〇
同期:〇

 

・クライアント
VLAN作成:×
VTP通知:×
VTP転送:〇
同期:〇

 

・トランスペアレント
VLAN作成:〇
VTP通知:×
VTP転送:〇
同期:×

#VTPのバージョン
VTP バージョン 1 およびバージョン 2 は、標準範囲の VLAN(VLAN ID 1 ~ 1005)だけをサポートします。
VTP バージョン 3 は、VLAN 範囲全体(VLAN 1 ~ 4094)をサポートする。
拡張範囲 VLAN(VLAN 1006 ~ 4094)は、VTP バージョン 3 でだけサポートされます。
拡張 VLAN がドメインに設定されている場合は、VTP バージョン 3 から VTP バージョン 2 に変換できません。

#VTPプルーニング
VTPプルーニングはトランクリンク上で不要なVLANトラフィックの伝送を動的に止める機能。
VTP バージョン 1 および 2 では、VTP サーバでプルーニングをイネーブルにすると、その VTP ドメイン全体でプルーニングがイネーブルになる。
VTP バージョン 3 では、ドメイン内の各スイッチ上で手動によってプルーニングをイネーブルにする必要がある。
トランク ポート上で VLAN 2 ~ 1001 がプルーニング可能。専用の VLAN および拡張範囲 VLAN をプルーニングすることはできません。

#VTPの設定
「vtp version { 1 | 2 | 3 }」コマンドで設定
「show vtp status」コマンドでVTPバージョンがEnableになっていることを確認
「vtp domain <domain-name>」コマンドでvtpドメインを設定。VTPを動作させるには<domain-name>を各機器で同じにする必要がある。