Ryo's Log

26才(現在31才)が一回人生を仕切り直して始めていくブログです。主に技術ログ。

【CCNA職業訓練28日目】VirtualBoxのUbuntuTFTPがうまくいかない。

28日目です。

 

SSH通信がうまくいったので、今度はTFTPでデータを送れたらいいなと思いました。

世の中的にはクラウドがあるので出来なくても困りませんが・・・。

 

なので検索検索!・・・

blog.livedoor.jp

 

さぁやってみる。

 

vimでの編集がまだ慣れないですね。

www.sejuku.net

jsapachehtml.hatenablog.com

 

 

やってみたものの、うまくいかない。

通信が始まりそうなところまでは行くのだが、データが送れていない。

 

調べてみる。。。。

 

とここで

qiita.com

 

TeraTermでsshさえ繋がれば、データが遅れるとのこと。

 

しかし、できるまでやりたいので、また今度。

 

 

 

 

 

 

 

本日は

・STPについて

を学びました。

 

 

講義内容

 

STP(Spanning Tree Protocol)

複数台の中で代表のスイッチを決め(ルートブリッジの決定)、そこを起点に理想的なツリー構造を形成する。(ルートから最も遠いポートをブロッキング状態にする)

 

・IEEE802.1D 

・レイヤ2プロトコル
・自動的にスイッチングループの防止
・defaultで有効
・自動的にループの検出
・ループフリーな冗長NWの維持

・目的はblocking,forwarding状態のポートを決めること

 

L2ループ(スイッチングループ)
冗長化することでホストからのフレームが二つのセグメントに伝送され起きる。
ブロードキャストストームが起きる。

 

ブロードキャストストームが起きる理由

f:id:aiukao:20180712233917p:plain

 

ループフリーとは

ループが起きないようになっているネットワーク。

冗長化した際は片方が通信できるときはもう一方は通信できない状態とみなしてループフリーとする。

f:id:aiukao:20180712234031p:plain

 

 

 

STA(Spanning Tree Alogorithm)
①同じフレームが流れるセグメントを複数検出→
最適経路の決定
ほかのポートをblocking状態にする

②forwarding状態のポートに障害が発生→
自動的にblocking状態のポートをforwarding状態にしてリンクを回復

 

BPDU(Bridge Protocols Data Unit)
STPを有効にしたスイッチ同士で定期的にマルチキャスト(01-80-C2-00-00-00)で交換されるメッセージ。

・STPが有効な場合はすべてのスイッチに流れる。
・各スイッチの状態を決定したり、ループの検出を行う。

 

BPDUのフォーマット

f:id:aiukao:20180712234603p:plain

 

ブリッジID

f:id:aiukao:20180712234831p:plain

ブリッジIDは重複しない
Min BID = 最小のブリッジIDをもっているものがルートブリッジになる

 

 

 

 

パスコスト

f:id:aiukao:20180712234755p:plain

 

STPの動作の流れ

①全スイッチ
 ・STPの有効(default)
 ・BPDUの交換→トポロジを認識する

②ループの検出後
 ・STPの中心となるスイッチ(RB)から最も遠いポートがblocking状態になる

③障害発生後
 ・自動的にそのポートがblocking状態
 ・②でblocking状態にしたポートをforwarding状態になる

 

f:id:aiukao:20180712234456p:plain

 

 

 


STPの動作
①ルートブリッジの選出
②ルートポートの選出
③指定ポート(フォワーディング状態のポート)の選出
④非指定ポート(ブロッキング状態のポート)の決定

 

①ルートブリッジ(RB)

起動時に最もブリッジIDの少ないスイッチ

 

②ルートポート(RP)
ルートブリッジに最も近いポート。(非RBに一つ)

 

③指定ポート(DP)
セグメント上で最もルートブリッジに近いポートで、BPTUの送信を行う。(各セグメントに一つ)


④非指定ポート(NDP)
ルートポートでもなく、指定ポートでもないポート。ブロッキング状態になる。
(BPTUの送信は行う)


最後には収束状態になる。

 

 

 

 

 

 

f:id:aiukao:20180712235608p:plain

3台スイッチによるSTPの動作 ABC間での通信

①起動時
すべてのPRIORITY値は最初:32768
(AB間は通信速度が速いとする)

 

②macアドレスが一番小さい値のものがRBとなる。

 

③ルートポートの選出
非ルートブリッジはBとCのスイッチになる。
パスコストを使う。

・Bのポート1,2のどちらかがなるとする。
・帯域を確認する。 コストの累積値
・1GB=4 ,100MB = 19となる
・A-B間は=4 A-C-B間は38となる。
・双方の値を比べて値が小さいほうがルートポートになる

 

④DPの選出
RBのすべてのポートは必ずDP(パスコスト0)
RBを起点として、まだ選ばれていないポートまでのコストを計算する
Bのポート2 4+0=4 Cのポート2 19+0=19 (セグメントなので0がプラスされる)

0以外が足されることはあるのか?

(上記の方法で決まらない場合は②送信元BIDの値が小さいもの、③送信元ポートIDが小さいもの)


⑤NDPの選出
選ばれなかったポートを選出
Cの2ポートが選ばれる。

 

 

STPのポート状態

STPのコンバージェンス(収束)が落ち着く過程でリスニング状態とラーニング状態がある。STPでは5つのポートステートを定義している。

 

f:id:aiukao:20180712235742p:plain

 

 

STPのポート状態遷移とタイマー

 

f:id:aiukao:20180712235813p:plain

間接リンクと直接リンク障害の違いによってコンバージェンス時間が変わる


間接リンク障害
障害があった部分の隣接スイッチから離れているスイッチでのこと

Scにおいて
Max Age(20)後に再計算→リスニング(15)→ラーニング(15) = 50秒かかる(収束時間)


直接リンク障害
障害があった部分に隣接しているスイッチでのこと

Scにおいて
リスニング(15)→ラーニング(15)=30秒かかる

 

 

コンバージェンスの高速化
STP (IEEE802.1D)はタイマー値によって動作するためコンバージェンスが遅い。
RSTP(IEEE 802.1w)によって解決されている。

 

 

 

PVST+

catalystスイッチではSTPにPVST+を組み合わせることでVLAN単位でSTPを動作できる。ブリッジプライオリティをVLANごとに決めることができる

 

 

CST(Common Spaning Tree)
複数のVLANがまたがって構成する際、通常802.1q trunkで接続。100個のVLAN通信を単一のケーブルで行われるためスイッチのCPU負荷は軽減されるが、冗長トポロジの
特定リンクをブロッキング状態にするため、ロードバランシング機能がなくなります。

また一部のVLAN経路が遠回りになる場合もある。

 

 

PVST+(Per VLAN Spanining Tree Protocols)
VLANごとに異なるスイッチをルートブリッジとして設定することができる。

シスコ独自。過去にISLサポートのPVSTがありましたが、dot1qのサポートをしたPVST+ができた

 

 

拡張システムID

VLANごとにSTPインスタンス(ルートブリッジ)が決まる。ブリッジIDにVLAN IDを含む必要がある。16ビットのブリッジプライオリティの後半12ビットにVLAN IDをセットする。

拡張システムIDに対応させるため先頭4ビットは0または4096単位で指定する。
例:4096,8192.....

デフォルトは32768+VLAN ID

catalystスイッチはデフォルトで
・STP有効
・PVST+
なので
32768+1なので
32769がデフォルトの値になっているはず。
sh spanning -tree = sh spで見れる。

 

 

VLAN IDの範囲
0,4095:システム内部で使用
1:シスコのイーサネットのデフォルトVLAN
2~1001:イーサネットの標準VLAN ID
1002~1005:トークンリング/FDDIのデフォルトVLAN
1006~4094:イーサネットの拡張VLAN