*インターネットソフトウェア(2日目) スイッチネットワーク構築演習 [#ya43f5f5]
 
 【目次】
 
 #contents
 
 -------
 
 **注意事項 [#s3d3a873]
 
 +この演習は4名1組のグループ単位で行う。(最大9グループまで)
 
 **到達目標 [#leb19290]
 
 この演習は、以下の項目に関するスキルを習得することを目標とする。
 
 +スイッチの基本設定の理解
 ++コンソールを使った設定
 ++ポートベースVLANの設定
 ++タグVLANの設定
 ++STPの設定
 +LANケーブルの作成
 +ネットワーク構築のトラブルシューティング
 
 **事前準備 [#k32e305d]
 
 ***使用機材 [#t6c48832]
 
 この演習では、以下のネットワーク機材を使用する。
 
 -スイッチングハブ
 
 --Fujitsu SR-S308TL1 一式
 
 -その他
 
 --USBシリアル変換ケーブル
 --ロールオーバーケーブル
 --LANケーブル(UTPケーブル) *自己所有のLANケーブルを持参すること。
 
 --LANケーブル作成工具キット
 --LANケーブル・テスター
 
 ***USBシリアル変換ケーブルのデバイスドライバーのインストール [#dd60b003]
 
 USBシリアル変換ケーブルは以下の2種類がある。使用するケーブルのドライバーをインストールする。
 
 -RATOC REX-USB60F *実験で使用するのはこのケーブルです。
 --http://www.ftdichip.com/Drivers/VCP.htm~
 ([[こちら:https://n-lab.info/~nagayan/lib/ccna/driver/FTDIUSBSerialDriver_v2_2_18.dmg]] からもダウンロードできます)
 
 -BUFFALO BHC-US01/GP *不足した場合の予備ケーブルです。
 --http://www.prolific.com.tw/eng/downloads.asp?ID=31~
 (現在、上記のサイトは閉鎖されているので、[[こちら:https://n-lab.info/~nagayan/lib/ccna/driver/PL2303_1.4.0.dmg]] からダウンロードして下さい)
 
 *1 スイッチングハブ [#wf530d8b]
 
 **1.1 スイッチングハブの概要 [#g91ef384]
 
 ''スイッチングハブ''は、LANネットワークを中継する装置のことである。従来は、同様の役割を果たすものとして''リピータハブ''があった。スイッチングハブは、あるポートに接続されたデバイスから送信されたイーサーネットフレームを、そのヘッダー情報に含まれる送信先MACアドレス(__M__edia __A__ccess __C__ontrol address)のデバイスが接続されたポートのみに転送するが、リピータハブは、全てのポートにコピーを転送する。
 ''スイッチングハブ''は、LANネットワークを中継する装置のことである。従来は、同様の役割を果たすものとして''リピータハブ''があった。スイッチングハブは、あるポートに接続されたデバイスから送信されたイーサネットフレームを、そのヘッダー情報に含まれる送信先MACアドレス(__M__edia __A__ccess __C__ontrol address)のデバイスが接続されたポートのみに転送するが、リピータハブは、全てのポートにコピーを転送する。
 
 リピータハブは、イーサーネットフレームが送信元ポート以外の全てのポートに転送されるため、効率が悪いだけではなく、関係のないデバイスにも転送されるため、セキュリティ上の問題がある。また、リピータハブは、半二重通信しか行えない。一方、スイッチングハブは、これらのリピータハブの問題がないほか、全二重通信が行える。
 リピータハブは、イーサネットフレームが送信元ポート以外の全てのポートに転送されるため、効率が悪いだけではなく、関係のないデバイスにも転送されるため、セキュリティ上の問題がある。また、リピータハブは、半二重通信しか行えない。一方、スイッチングハブは、これらのリピータハブの問題がないほか、全二重通信が行える。
 
 スイッチングハブとリピータハブの動作イメージを図1.1に示す。
 
 CENTER:&ref(img1-1.png);~
 【図1.1: スイッチングハブとリピータハブの動作イメージ】
 
 スイッチングハブに接続されたデバイスは、イーサーネットフレームを送信する前に、ARP(__A__ddress __R__esoluton __P__rotocol)パケットをブロードキャストして、スイッチングハブに接続されているデバイスのMACアドレスを調べる。スイッチングハブに接続されているデバイスがARPパケットに応答した場合は、ARPパケットの送信元デバイスはその情報を自身のARPテーブル(デバイスのIPアドレスとMACアドレスの対応表)に保存する。送信元デバイスは、このARPテーブルに基づいて送信先デバイスのIPアドレスをMACアドレスに変換し、送信先デバイスのMACアドレス宛てにイーサーネットフレームを転送する。また、MACアドレスが不明なデバイス宛てのイーサーネットフレームについては転送しない。
 スイッチングハブに接続されたデバイスは、イーサネットフレームを送信する前に、ARP(__A__ddress __R__esoluton __P__rotocol)パケットをブロードキャストして、スイッチングハブに接続されているデバイスのMACアドレスを調べる。スイッチングハブに接続されているデバイスがARPパケットに応答した場合は、ARPパケットの送信元デバイスはその情報を自身のARPテーブル(デバイスのIPアドレスとMACアドレスの対応表)に保存する。送信元デバイスは、このARPテーブルに基づいて送信先デバイスのIPアドレスをMACアドレスに変換し、送信先デバイスのMACアドレス宛てにイーサネットフレームを転送する。また、MACアドレスが不明なデバイス宛てのイーサネットフレームについては転送しない。
 
 スイッチングハブは、自身の各ポートに接続されたデバイスのMACアドレスを学習してMACアドレステーブル(MACアドレスと接続ポートの対応表)を作成し、これに基づいてイーサーネットフレームを送信先デバイスに転送する。
 スイッチングハブは、自身の各ポートに接続されたデバイスのMACアドレスを学習してMACアドレステーブル(MACアドレスと接続ポートの対応表)を作成し、これに基づいてイーサネットフレームを送信先デバイスに転送する。
 
 スイッチングハブは、イーサーネットの通信方式である[[CSMA/CD>csmacd-memo]](__C__arrier __S__ense __M__ultiple __A__ccess with __C__ollision __D__etection:搬送波感知多重アクセス/衝突検出)による通信帯域の効率利用の制約を解消(同一スイッチングハブのポート間の通信でコリジョン(衝突)が起こらない)するメリットもある。
 スイッチングハブは、イーサネットの通信方式である[[CSMA/CD>csmacd-memo]](__C__arrier __S__ense __M__ultiple __A__ccess with __C__ollision __D__etection:搬送波感知多重アクセス/衝突検出)による通信帯域の効率利用の制約を解消(同一スイッチングハブのポート間の通信でコリジョン(衝突)が起こらない)するメリットもある。
 
 **1.2 インテリジェント・スイッチングハブ [#be297779]
 
 スイッチングハブには、''インテリジェント・スイッチングハブ''と呼ばれるグレードの装置がある。インテリジェント・スイッチングハブは、通常のスイッチングハブに対して、(1)ポートベースVLAN、(2)タグVLAN、(3)STP、などの機能があり、必要に応じてこれらの機能を設定して利用することができる。
 
 本実験テーマでは、インテリジェント・スイッチングハブの設定演習を行う。また、これ以降は、インテリジェント・スイッチングハブをスイッチングハブと略称する。
 
 *2 スイッチングハブの基本設定 [#ba24aca3]
 
 **2.1 準備 [#d82f4e09]
 
 以下のものを箱から取り出して下さい。
 
 +スイッチングハブ本体
 +電源ケーブル&br;
 (これ以外のものは箱に入れたままにして下さい)
 
 USBシリアル変換ケーブル、ロールオーバーケーブルは別途配布します。
 
 **2.2 コンソールを使ってスイッチングハブを設定する方法 [#yccd656b]
 
 -PCのUSBポートにUSBシリアル変換ケーブルを接続し、スイッチングハブのCONSOLEポートに接続する。&br;
 ここで、ロールオーバーケーブルをジョイントケーブルとして使用する。
 
 -スイッチングハブのコンソールを表示するには、PCのターミナルを起動して以下のコマンドを実行する。
 
  [書式]
  screen {デバイスファイル名}
  [実行例]
  screen /dev/cu.usbserial-(英数文字列) (REX-USB60Fの場合)
  screen /dev/cu.usbserial (BHC-US01/GPの場合)
 
 上記の通りscreenコマンドを実行すると、スイッチングハブのコンソールにアクセスすることができる。
 
 スイッチングハブのコンソールにアクセスすると、ログインIDとパスワードの入力を求められる。
 
 -以下の通り、ログインIDは"admin"、パスワードはナシでログインする。
 
  Login: admin
  Password: (何も入力せずにEnterキーを押す)
  SR-S308TL1#
  *正常にログインできるとプロンプト"SR-S308TL1#"が表示される。
 
 **2.3 設定モードに入る方法 [#pde955a3]
 
 スイッチングハブを設定するには「設定モード」に入る必要がある。
 
 -設定モードに入るには、以下のコマンドを実行する。
 
  SR-S308TL1# configure (con)
  SR-S308TL1(config)#
  *設定モードに入るとプロンプトが"SR-S308TL1#"から"SR-S308TL1(config)#"に変わる。
  *()は省略形
 
 -設定した内容を有効化するには、以下のコマンドを実行する。
 
  SR-S308TL1(config)# commit (com)
  *()は省略形
 
 -設定モードから抜けるには、以下のコマンドを実行する。
 
  SR-S308TL1(config)# end (en)
  SR-S308TL1#
  *()は省略形
 
 **2.4 設定内容を確認する方法 [#udddecd4]
 
 -現在の設定内容を確認するには、以下のコマンドを実行する。
 
  SR-S308TL1# show running-config (s r)
  *"show"コマンドの後ろに様々な引数をつけることでスイッチングハブの状態を調べることができる。
  *()は省略形
 
 **2.5 その他 [#qd60dab8]
 
 -その時点で実行可能なコマンドや引数の候補リストを表示するには、以下のコマンドを実行する。
 
  SR-S308TL1# (Tabキー)
  *ログインモードで実行できるコマンドの候補リストを表示する例。
 
  SR-S308TL1# show (Tabキー)
  *showコマンドの後ろにつける引数の候補リストを表示する例。
 
 *3 VLAN [#vcbc303f]
 
 **3.1 VLANの概要 [#cc60d1d3]
 
 ''VLAN(__V__irtual __LAN__)''とは、物理的な装置構成によって別々のLANセグメントを構成するのではなく、スイッチングハブなどを使って、仮想的にLANセグメントを構成する技術のことである。
 
 VLANを利用する主な目的は、LANネットワークを仮想的に分割することで、ネットワークの利用方法やセキュリティレベルが異なるデバイス同士を論理的に直接通信させないことである。また、複数のLANセグメントを構成したい場合、装置構成を変更せずに柔軟にLANセグメント構成を変更できるため、コスト的なメリットもある。
 
 **3.2 ポートベースVLAN [#nf156537]
 
 ***3.2.1 ポートベースVLANの概要 [#d5d0bb69]
 
 スイッチングハブは、同一スイッチングハブのポートをグルーピングして、グループごとに異なるLANセグメントを作ることができる。これを、''ポートベースVLAN''と呼ぶ。
 
 例えば、図3.1では、ポートNo.1〜4、ポートNo.5〜7、ポートNo.8は、それぞれ異なるLANセグメントになっている。
 
 CENTER:&ref(img3-1.png);~
 【図3.1: ポートベースVLANのモデル構成】
 
 ポートベースVLANでは、VLANごとにMACアドレステーブルが独立しており、異なるVLAN同士が直接通信することはできない。つまり、同一装置の中に、別々のスイッチングハブを仮想的に作ることができる。
 
 ***3.2.2 ポートベースVLANの設定 [#p5d9c263]
 
 図3.1の通りにスイッチングハブにポートベースVLANを設定する。
 
 -初期状態の各ポートのVLAN設定状況を確認する。
 
  SR-S308TL1# show vlan (s v)
  *()は省略形
 
 上記のコマンドを実行すると、以下のような結果が表示されるはずである。
 
  VID  Interface          Tag           Type     Description
  ---- ------------------ ------------- -------- --------------------------------
  1    ether1             untagged      port     default
       ether2             untagged
       ether3             untagged
       ether4             untagged
       ether5             untagged
       ether6             untagged
       ether7             untagged
       ether8             untagged
       ether9             untagged
  
  Category          Count
  ----------------- -----
  Port VLAN             1
  Protocol VLAN         0
  ----------------- -----
  Total                 1
 
 上記の結果の意味は、以下の通りである。
 
 +全てのポートがVLAN-ID(VID):1に所属している。
 +全てのポートがuntaggedモードである。
 +定義されているVLANの種類はトータルで1つである。
 
 -設定モードに入り、ポートNo.1〜4にuntagモードでVLAN-ID:10を設定する。
 
  SR-S308TL1(config)# ether 1 vlan untag 10 (et 1 v u 10)
  SR-S308TL1(config)# ether 2 vlan untag 10 (et 2 v u 10)
  SR-S308TL1(config)# ether 3 vlan untag 10 (et 3 v u 10)
  SR-S308TL1(config)# ether 4 vlan untag 10 (et 4 v u 10)
  (or)
  SR-S308TL1(config)# ether 1-4 vlan untag 10 (et 1-4 v u 10)
  *()は省略形
 
 -同じく、ポートNo.5〜7にuntagモードでVLAN-ID:20を設定する。
 
  SR-S308TL1(config)# ether 5 vlan untag 20 (et 5 v u 20)
  SR-S308TL1(config)# ether 6 vlan untag 20 (et 6 v u 20)
  SR-S308TL1(config)# ether 7 vlan untag 20 (et 7 v u 20)
  (or)
  SR-S308TL1(config)# ether 5-7 vlan untag 20 (et 5-6 v u 20)
  *()は省略形
 
 -設定した内容を有効化し、設定モードから抜ける。
 
  SR-S308TL1(config)# commit (com)
  SR-S308TL1(config)# end (en)
  *()は省略形
 
 -VLAN設定状況を確認する。
 
  SR-S308TL1# show vlan (s v)
  *()は省略形
 
 上記のコマンドを実行すると、以下のような結果が表示されるはずである。
 
  VID  Interface          Tag           Type     Description
  ---- ------------------ ------------- -------- --------------------------------
  1    ether8             untagged      port     default
       ether9             untagged
  10   ether1             untagged      port     v10
       ether2             untagged
       ether3             untagged
       ether4             untagged
  20   ether5             untagged      port     v20
       ether6             untagged
       ether7             untagged
  
  Category          Count
  ----------------- -----
  Port VLAN             3
  Protocol VLAN         0
  ----------------- -----
  Total                 3
 
 上記の結果の意味は、以下の通りである。
 
 +ポートNo.1〜4がVLAN-ID(VID):10、ポートNo.5〜7がVLAN-ID(VID):20、ポートNo.8,9がVLAN-ID(VID):1に所属している。
 +全てのポートがuntaggedモードである。
 +定義されているVLANの種類はトータルで3つである。
 
 ここまでで、以下の設定になっていればok。
 
 --[[Fujitsu SR-S308TL1の設定>srs308tl1-conf1]]
 
 ***3.2.3 動作確認 [#r9aeee1b]
 
 ポートベースVLANの設定が正しく行えているか確認する。
 
 -2台のPCに以下のネットワーク設定を行う。
 
  (PC1)
  IPアドレス: 192.168.0.1
  ネットマスク: 255.255.255.0
  (デフォルトゲートウェイは設定する必要はない)
 
  (PC2)
  IPアドレス: 192.168.0.2
  ネットマスク: 255.255.255.0
  (デフォルトゲートウェイは設定する必要はない)
 
 ポイント: PC1とPC2は同じサブネットに所属している。(=同一LANセグメントのポートに接続すれば相互に疎通確認できるはず)
 
 -確認事項
 
 +PC1,PC2をLAN1セグメントのポートに接続した場合に、相互にpingの応答があるか?
 +PC1をLAN1セグメント、PC2をLAN2セグメントのポートに接続した場合に、相互にpingの応答があるか?
 +PC1,PC2をLAN2セグメントのポートに接続した場合に、相互にpingの応答があるか?&br;
 (ネゴシエーションに時間を要するため、スイッチングハブにPCを接続してから20〜30秒経ってからpingを実行してみること)
 
 **3.3 タグVLAN [#l2ce0419]
 
 ***3.3.1 タグVLANの概要 [#ec554517]
 
 スイッチングハブは、複数のスイッチングハブをまたいでそれぞれのポートをグルーピングして、グループごとに異なるLANセグメントを作ることができる。これを、''タグVLAN''と呼ぶ。
 
 例えば、図3.2では、スイッチ[1]とスイッチ[2]のポートNo.1〜4、スイッチ[1]とスイッチ[2]のポートNo.5〜7は、それぞれ同じLANセグメントになっており、スイッチ[1]とスイッチ[2]のポートNo.8は2つのスイッチ間でVLAN情報を共有して通信するためのトランクポートになっている。
 
 CENTER:&ref(img3-2.png);~
 【図3.2: タグVLANのモデル構成】
 
 タグVLANは、ポートベースVLANと同様に、VLANごとにMACアドレステーブルが独立しており、異なるVLAN同士が直接通信することはできない。つまり、複数のスイッチングハブをまたいで、別々のスイッチングハブを仮想的に作ることができる。
 
 ***3.3.2 タグVLANの設定 [#n97d0a24]
 
 図3.2の通りにスイッチングハブにタグVLANを設定する。
 
 -スイッチ[1][2]とも、3.2.2節で行った設定に加えて、以下の設定をする。&br;
 設定モードに入り、ポートNo.8にtagモードでVLAN-ID:10,20を設定する。(スイッチ[1][2]とも同様)
 
  SR-S308TL1(config)# ether 8 vlan tag 10,20 (et 8 v t 10,20)
  *()は省略形
 
 -設定した内容を有効化し、設定モードから抜ける。
 
  SR-S308TL1(config)# commit (com)
  SR-S308TL1(config)# end (en)
  *()は省略形
 
 -VLAN設定状況を確認する。
 
  SR-S308TL1# show vlan (s v)
  *()は省略形
 
 -上記のコマンドを実行すると、以下のような結果が表示されるはずである。(スイッチ[1][2]とも同様)
 
  VID  Interface          Tag           Type     Description
  ---- ------------------ ------------- -------- --------------------------------
  1    ether9             untagged      port     default
  10   ether1             untagged      port     v10
       ether2             untagged
       ether3             untagged
       ether4             untagged
       ether8             dot1q-tagged
  20   ether5             untagged      port     v20
       ether6             untagged
       ether7             untagged
       ether8             dot1q-tagged
  
  Category          Count
  ----------------- -----
  Port VLAN             3
  Protocol VLAN         0
  ----------------- -----
  Total                 3
 
 上記の結果の意味は、以下の通りである。
 
 +ポートNo.1〜4がVLAN-ID(VID):10、ポートNo.5〜7がVLAN-ID(VID):20、ポートNo.9がVLAN-ID(VID):1に所属している。
 +ポートNo.8以外がuntaggedモードである。
 +ポートNo.8はdot1q-taggedモード(trank port)である。 *ポイント
 +定義されているVLANの種類はトータルで3つである。
 
 ここまでで、以下の設定になっていればok。
 
 --[[Fujitsu SR-S308TL1の設定(スイッチ[1][2])>srs308tl1-conf2]]
 
 ***3.3.3 動作確認 [#q8e1b117]
 
 タグVLANの設定が正しく行えているか確認する。
 
 -2台のPCに以下のネットワーク設定を行う。(3.2.3節と同様)
 
  (PC1)
  IPアドレス: 192.168.0.1
  ネットマスク: 255.255.255.0
  (デフォルトゲートウェイは設定する必要はない)
 
  (PC2)
  IPアドレス: 192.168.0.2
  ネットマスク: 255.255.255.0
  (デフォルトゲートウェイは設定する必要はない)
 
 ポイント: PC1とPC2は同じサブネットに所属している。(=同一LANセグメントのポートに接続すれば相互に疎通確認できるはず)
 
 -スイッチ[1][2]のポート8同士を接続する。
 
 -確認事項
 
 +PC1をスイッチ[1]のLAN1セグメント、PC2をスイッチ[2]のLAN1セグメントのポートに接続した場合に、相互にpingの応答があるか?
 +PC1をスイッチ[1]のLAN1セグメント、PC2をスイッチ[2]のLAN2セグメントのポートに接続した場合に、相互にpingの応答があるか?
 +PC1をスイッチ[1]のLAN2セグメント、PC2をスイッチ[2]のLAN2セグメントのポートに接続した場合に、相互にpingの応答があるか?
 +PC1をスイッチ[1]のLAN2セグメント、PC2をスイッチ[2]のLAN1セグメントのポートに接続した場合に、相互にpingの応答があるか?&br;
 (ネゴシエーションに時間を要するため、スイッチングハブにPCを接続してから20〜30秒経ってからpingを実行してみること)
 
 *4 STP [#a8bcd452]
 
 **4.1 STPの概要 [#q054787f]
 
 イーサーネットでは、同一LANセグメントのポート同士を接続すると、ループ(閉路)ができる。
 
 ループの例を図4.1、図4.2に示す。
 
 CENTER:&ref(img4-1.png);~
 【図4.1: ループの例(1)】
 
 CENTER:&ref(img4-2.png);~
 【図4.2: ループの例(2)】
 
 LANセグメント上にループができると、次の例ような問題が生じる。
 
 図4.3において、LAN1セグメントに所属するデバイスAが、同じくLAN1セグメントに所属するデバイスBにイーサーネットフレームを送信することを例に説明する。1.1節で説明した通り、まず、デバイスAは、デバイスBのMACアドレスを調べるために、ARPパケットをブロードキャストする。次に、デバイスAからのARPパケットを受信したスイッチ[1]は、ARPパケットを受信したポート以外のLAN1セグメントの全てのポートにARPパケットを転送する。ここで、2つのスイッチのLAN1セグメントは、ポートNo.2とポートNo.8の間でループができているが、スイッチ同士はループの存在を知らないため、受け取ったARPパケットは無条件に受け取ったポート以外の全てのポートに転送してしまい、ポートNo.2とポートNo.8の間でARPパケットの無限増殖が始まってしまう。これを、''ブロードキャストストーム''と呼ぶ。
 
 CENTER:&ref(img4-3.png);~
 【図4.3: ループの例(3)】
 
 ブロードキャストストームが発生すると、通信帯域やスイッチの処理能力を大量に消費することになり、ループがあるLANセグメントだけでなく、関係のない他のLANセグメントの通信にも影響を与える場合がある。
 
 以上で述べたループによる問題を防止するために、スイッチングハブで''STP(__S__panning __T__ree __P__rotocol)''を用いる。
 
 **4.2 STPの動作プロセス [#f4fe9c1f]
 
 STPでは、スイッチングハブ同士の接続状態をスパニング木(閉路を持たないグラフ)で表すことによって、論理的にループを解消することができる。
 
 具体的には、BPDU(__B__ridge __P__rotocol __D__ata Unit)をスイッチ間で交換し合うことでスパニング木を形成する。そして、ループがあった場合は、論理的にブロックするポート(ブロッキングポート)とフォワードするポート(フォワーディングポート)を決定する。
 
 STPの動作プロセスは、次の通りである。
 
 ***4.2.1 ルートブリッジ(スパニング木の根(root))の選出 [#d4fb25d6]
 
 まず、LANネットワーク上の全てのスイッチ間でBPDUを交換し、最終的に、最小のBID(__B__rdge __ID__)値を持つスイッチングハブをルートブリッジとして選出する。
 
 BIDは、
 
  BID = ブリッジ優先度(範囲:0-65535,デフォルト:32768)(2バイト) + そのスイッチの代表MACアドレス(6バイト) (計8バイト)
 
 の値を取る。
 
 ルートブリッジは、上記の式の通り、デフォルトの設定では、MACアドレスが小さいデバイスが選出される。なお、STPでは、全てのスイッチの状態が収束するのにデフォルトの設定では最大50秒かかる(収束するまでスイッチングハブはイーサネットフレームを転送できない)。通常はデフォルトの設定でSTPを運用しても問題ないケースが殆どであるが、大規模なネットワークにおいて、頻繁にネットワークから離脱や復帰を繰り返すスイッチングハブがルートブリッジに選定された場合は、ネットワーク全体が不安定になる(頻繁にSTPの再計算が起こる)。このため、意図的にブリッジ優先度を設定して、あらかじめルートブリッジになるスイッチングハブを決めておくことができる。
 
 ***4.2.2 ルートポートの選出 [#d27c4547]
 
 次に、ルートブリッジではないスイッチでは、ルートブリッジへの最小コストのポート(1つ)をルートポートとして選出する。なお、コストは基本的にポートの帯域幅で決定される(帯域が大きいほど優先される)。また、ポートの帯域が同一の場合は、ポート番号が小さいポートが優先される。
 
 ***4.2.3 指定ポートの選出 [#e1d45640]
 
 次に、ルートブリッジではないスイッチでは、LANセグメントごとに、ルートブリッジへの最小コストのポート(1つ)を指定ポート(Designated Port)として選出する。なお、コストは基本的にポートの帯域幅で決定される(帯域が大きいほど優先される)。また、ポートの帯域が同一の場合は、ポート番号が小さいポートが優先される。
 
 また、ルートブリッジの全てのポートは自動的に指定ポートになる。
 
 ***4.2.4 ブロッキングポートの決定 [#b4452e91]
 
 最後に、ルートポートにも指定ポートにも選出されなかったポートを閉塞する。
 
 以上でスパニング木が形成され、STPによるスパニング木の形成プロセスが収束する。
 
 なお、これ以降も定期的にスイッチ間でBPDUを交換し、ネットワークトポロジーに変更があれば、随時、上記のプロセスが再実行される。
 
 **4.3 ブロードキャストストームの観察 [#k75eccb5]
 
 スイッチにSTP設定をする前に、実際にブロードキャストストームの発生の様子を観察する。
 
 -まず、図4.3におけるスイッチ[1][2]について、3.3.2節で行った設定をする。(この時点では、PCを接続する2本のLANケーブルはスイッチから抜く(接続しない)こと)
 
 -次に、デフォルトで有効になっているSTPを無効化する。&br;
 設定モードに入り、以下の設定をする。(スイッチ[1][2]とも同様)
 
  SR-S308TL1(config)# stp mode disable (stp mo d)
  *()は省略形
 
 -設定した内容を有効化し、設定モードから抜ける。
 
  SR-S308TL1(config)# commit (com)
  SR-S308TL1(config)# end (en)
  *()は省略形
 
 -ここで、図4.3の通りにスイッチングハブ同士を2本のLANケーブルで接続する。
 
 ここまでで、以下の設定になっていればok。
 
 --[[Fujitsu SR-S308TL1の設定(スイッチ[1][2])>srs308tl1-conf3]]
 
 -確認事項
 
 +PC1をスイッチ[1]の1番ポート,PC2をスイッチ[2]の1番ポートに接続した場合に、ブロードキャストストームが発生するか?&br;
 (PCをスイッチに接続するだけでブロードキャストストームが発生するはずである)&br;
 (PCにはIPアドレスを設定する必要はない)
 
 -ブロードキャストストームの確認方法
 
 +スイッチングハブのポートのステータスランプの点滅状況を確認する。
 +以下のコマンドを実行して、スイッチングハブのポートのパケットカウンタの増加状況を確認する。
 
  SR-S308TL1# show ether statistics (s e s)
  (or)
  SR-S308TL1# show ether utilization (s e u)
  *()は省略形
  
 **4.4 STPの設定 [#cc143b6f]
 
 図4.3におけるスイッチ[1][2]について、それぞれSTPを設定する。
 
 ここで、スイッチ[1]が必ずルートブリッジに選出されるように、BIDを意図的に調整することとする。
 
 -スイッチ[1][2]とも、4.3節で行った設定に加えて、以下の設定をする。(この時点では、PCを接続する2本のLANケーブルはスイッチから抜く(接続しない)こと)&br;
 設定モードに入り、STPを有効化する。(スイッチ[1][2]とも同様)
 
  SR-S308TL1(config)# stp mode stp (stp mo s)
  *()は省略形
 
 -さらに、スイッチ[1]では、BIDを最小とするため、ブリッジ優先度を"0"に設定する。(スイッチ[1]のみ)
 
  SR-S308TL1(config)# stp domain 0 priority 0 (stp do 0 p 0)
  *()は省略形
 
 -設定した内容を有効化し、設定モードから抜ける。(スイッチ[1][2]とも同様)
 
  SR-S308TL1(config)# commit (com)
  SR-S308TL1(config)# end (en)
  *()は省略形
 
 ここで、図4.3の通りにスイッチングハブ同士を2本のLANケーブルで接続する。
 
 各スイッチのSTP設定状況を確認する。
 
 -スイッチ[1][2]で、以下のコマンドを実行する。
 
  SR-S308TL1# show spanning-tree bridge (s sp b)
  *()は省略形
 
 上記のコマンドを実行すると、以下のような結果が表示されるはずである。
 
  (スイッチ[1])
  Bridge ID   Priority    0
              Address     8c:73:6e:a1:07:80 <-筐体ごとに異なる
              Hello Time 2sec  Max Age 20sec  Forward Delay 15sec
              BPDU Mode off
              STP Mode stp
 
  (スイッチ[2])
  Bridge ID   Priority    32768
              Address     8c:73:6e:a1:07:30 <-筐体ごとに異なる
              Hello Time 2sec  Max Age 20sec  Forward Delay 15sec
              BPDU Mode off
              STP Mode stp
 
 上記の結果の意味は、以下の通りである。
 
 (スイッチ[1])
 +ブリッジ優先度は"0"である。
 +スイッチのMACアドレスは"8c:73:6e:a1:07:30"である。
 +STP無効時にBPDUは転送しない。
 +BPDU送信間隔は"2秒"、BPDU最大有効時間は"20秒"、BPDU最大中継遅延は"15秒"である。
 +STPのモードは"STP"である。
 
 (スイッチ[2])
 +ブリッジ優先度は"32768"である。
 +スイッチのMACアドレスは"8c:73:6e:a1:07:80"である。
 +STP無効時にBPDUは転送しない。
 +BPDU送信間隔は"2秒"、BPDU最大有効時間は"20秒"、BPDU最大中継遅延は"15秒"である。
 +STPのモードは"STP"である。
 
 -次に、スイッチ[1][2]で、以下のコマンドを実行する。
 
  SR-S308TL1# sh spanning-tree active (s sp a)
  *()は省略形
 
 上記のコマンドを実行すると、以下のような結果が表示されるはずである。
 
  (スイッチ[1])
  
  eth2 is Forwarding  Port Version 0(STP)
      Port path cost 20000(auto), Port priority 128, Port Identifier 128.2
      Port role is Designated
      Designated root has priority 0, address 8c:73:6e:a1:07:80
      Designated bridge has priority 0, address 8c:73:6e:a1:07:80
      Designated port is  128.2, Designated path cost 0
      BPDU statistics:
        Config BPDU: sent 82, sent error 0
                     received 0, discarded 0
        TCN BPDU:    sent 0, sent error 0
                     received 1, discarded 0
        Other error: bad protocol 0, bad version 0
                     bad BPDU type 0
  
  eth8 is Forwarding  Port Version 0(STP)
      Port path cost 20000(auto), Port priority 128, Port Identifier 128.8
      Port role is Designated
      Designated root has priority 0, address 8c:73:6e:a1:07:80
      Designated bridge has priority 0, address 8c:73:6e:a1:07:80
      Designated port is  128.8, Designated path cost 0
      BPDU statistics:
        Config BPDU: sent 636, sent error 0
 
  (スイッチ[2])
  
  eth2 is Forwarding  Port Version 0(STP)
      Port path cost 20000(auto), Port priority 128, Port Identifier 128.2
      Port role is Root
      Designated root has priority 0, address 8c:73:6e:a1:07:80
      Designated bridge has priority 0, address 8c:73:6e:a1:07:80
      Designated port is  128.2, Designated path cost 0
      BPDU statistics:
        Config BPDU: sent 1, sent error 0
                     received 25, discarded 0
        TCN BPDU:    sent 1, sent error 0
                     received 0, discarded 0
        Other error: bad protocol 0, bad version 0
                     bad BPDU type 0
  
  eth8 is Blocking  Port Version 0(STP)
      Port path cost 20000(auto), Port priority 128, Port Identifier 128.8
      Port role is Blocking
      Designated root has priority 0, address 8c:73:6e:a1:07:80
      Designated bridge has priority 0, address 8c:73:6e:a1:07:80
      Designated port is  128.8, Designated path cost 0
      BPDU statistics:
        Config BPDU: sent 1, sent error 0
 
 上記の結果の意味は、以下の通りである。
 
 (スイッチ[1])
 +eth2(ether2)はフォワードポートである。
 +eth2(ether2)は指定ポートである。
 +eth8(ether8)はフォワードポートである。
 +eth8(ether8)は指定ポートである。
 
 (スイッチ[2])
 +eth2(ether2)はフォワードポートである。
 +eth2(ether2)はルートポートである。
 +eth8(ether8)はブロックポートである。
 
 ここで、今回使用しているスイッチングハブ(SR-S308TL1)では、ポートの帯域が同一の場合は、ポート番号が小さい順にポート指定されることに注意が必要である。
 
 上記の結果、形成されたスパニング木は、図4.4のようなイメージになる。
 
 CENTER:&ref(img4-4.png);~
 【図4.4: スパニング木のイメージ】
 
 ここまでで、以下の設定になっていればok。
 
 --[[Fujitsu SR-S308TL1の設定(スイッチ[1])>srs308tl1-conf4-1]]
 --[[Fujitsu SR-S308TL1の設定(スイッチ[2])>srs308tl1-conf4-2]]
 
 **4.5 動作確認 [#j4dc8cef]
 
 STPの設定が正しく行えているか確認する。
 
 -2台のPCに以下のネットワーク設定を行う。(3.2.3節と同様)
 
  (PC1)
  IPアドレス: 192.168.0.1
  ネットマスク: 255.255.255.0
  (デフォルトゲートウェイは設定する必要はない)
 
  (PC2)
  IPアドレス: 192.168.0.2
  ネットマスク: 255.255.255.0
  (デフォルトゲートウェイは設定する必要はない)
 
 ポイント: PC1とPC2は同じサブネットに所属している。(=同一LANセグメントのポートに接続すれば相互に疎通確認できるはず)
 
 -確認事項
 
 +PC1をスイッチ[1]の1番ポート、PC2をスイッチ[2]の1番ポートに接続した場合に、相互にpingの応答があるか?
 +PC1をスイッチ[1]の6番ポート、PC2をスイッチ[2]の6番ポートに接続した場合に、相互にpingの応答があるか?&br;
 (後者はping応答がないはずである。なぜでしょう?)&br;
 (ネゴシエーションに時間を要するため、スイッチングハブにPCを接続してから20〜30秒経ってからpingを実行してみること)
 
 **4.6 STPの補足 [#x29a2c0d]
 
 STPの他にスイッチ間のループを論理的に防止する方法として、''RSTP(__R__apid __S__panning __T__ree __P__rotocol)''や''MSTP(__M__ultiple __S__panning __T__ree __P__rotocol)''がある。RSTPは、STPに比べてネットワークトポロジーの収束が高速(数秒程度)でSTPとの互換性がある(共存できる)というメリットがある。また、MSTPは、複数のLANセグメント(VLAN)ごとにSTPを形成することで、LANセグメントごとのスイッチの負荷を分散することができる。
 
 ネットワークの規模や複雑度に応じて、これらのループ防止の機能を使い分けることが重要である。
 
 *5 LANケーブル(UTPケーブル)の作成 [#ge827240]
 
 **5.1 LANケーブルの種類 [#ge0cc9ff]
 
 LANケーブルは、大きく分けて以下の3つの種類がある。
 
 まず、''同軸ケーブル''がある。同軸ケーブルは、導体を絶縁体で囲み、その外側を被覆したケーブルである。引き回しが難しく高速化にも向かないため、現在ではほとんど使用されていない。10BASE5、10BASE2などで使用される。
 
 次に、''ツイストペアケーブル''がある。ツイストペアケーブルは、細い銅線をポリエチレンで被覆し、撚り合わせたものである。引き回しが容易で安価であり、1〜10Gbpsの高速通信が可能であるため、現在最も普及している。ツイストケーブルは、さらに、''STP(__S__hielded __T__wist __P__air)ケーブル''と''UTP(__U__nshielded __T__wist __P__air)''に分類される。STPケーブルは導体がシールドされておりノイズに強いが、コストが高いことから、一般的にはUTPケーブルが利用されている。ツイストペアケーブルは、専用の工具を使って簡単に作成することができる。10BASE-T、100BASE-TX、1000BASE-T、10GBASE-Tなどで使用される。
 
 最後に、''光ファイバケーブル''がある。光ファイバケーブルは、ガラスやプラスチックでできたケーブルに光を入射し、透明なケーブルの中を光が伝播することで信号を伝送する。1〜10Gbps以上の高速通信が可能であり、長距離通信が可能であるが、ツイストペアケーブルに比べてコストが高く、扱いが難しいことから、フロア内の配線ではなく、建物間やフロア間、あるいは、遠隔接続用に使用されている。100BASE-FX、1000BASE-SX、1000BASE-LX、10GBASE-SR、10GBASE-LR、10GBASE-ERなどで使用される。
 
 **5.2 UTPケーブルの種類 [#m69adc42]
 
 UTPケーブルには、''ストレートケーブル''、''クロスオーバーケーブル''、''ロールオーバーケーブル''の3種類がある。
 
 まず、ストレートケーブルは、コンピューターとスイッチングハブ、ルーターとスイッチングハブなど、異なる種類のデバイス同士を接続するために用いるケーブルである。
 
 次に、クロスオーバーケーブルは、コンピューターとコンピューター、ルーターとルーター、スイッチングハブとスイッチングハブなど、同種のデバイス同士を接続するために用いるケーブルである。
 
 最後に、ロールオーバーケーブルは、ルーターやスイッチングハブのシリアルポートにコンソール接続するために用いるケーブルである。
 
 なお、最近のネットワークデバイスは、ストレート、クロスオーバーを自動認識する機能(Auto-MDIx機能)が備わっているものが多く、同種のデバイス同士の接続でもストレートケーブルを使うことができる場合がある。
 
 **5.3 UTPケーブルの結線 [#s2874818]
 
 本実験テーマでは、UTPケーブルを実際に作成してみる。
 
 UTPケーブルの結線を図5.1に示す。(TIA/EIA568Bの場合)
 
 CENTER:&ref(img5-1.png);~
 【図5.1: LANケーブル(UTPケーブルの結線図(TIA/EIA568Bの場合)】&br;
 ※左上の図は、導線挿入口は奥側である。
 
 まず、ストレートケーブルの結線は、両端で同じ並び(ストレート結線)となる。
 
 次に、クロスオーバーケーブルは、片側がストレート結線、もう片側がクロス結線となる。
 
 最後にロールオーバーケーブルは、片側がストレート結線、もう片側がストレート結線を完全に逆にした結線となる。
 
 **5.4 UTPケーブルの作成 [#ce845c0a]
 
 -各グループごとに、UTPケーブルを作成してみる。&br;
 どのタイプのケーブルを作成するかは、教員の指示に従って下さい。
 
 -以下の材料及び工具をグループごとに受け取って下さい。
 
 ++UTPケーブル
 ++RJ45コネクタ
 ++LANケーブル作成キット
 ++LANケーブルテスター
 
 -ケーブル作成手順
 
 ++皮むき工具を使ってUTPケーブルの端の外被を2cm程度むく。&br;
 このとき、ケーブルの中の導線や被膜を傷つけないように注意する。(図5.2)
 LEFT:&ref(img5-2.png);~
 【図5.2】
 ++1本1本の導線を決められた結線の通りに並べる。(図5.3)
 LEFT:&ref(img5-3.png);~
 【図5.3】*写真はまだ結線を並べる前である。
 ++ケーブルカッターを使い、導線の長さを均一(12mm程度)にそろえる。(図5.4)
 LEFT:&ref(img5-4.png);~
 【図5.4】
 ++結線の並びが崩れないように注意しながら導線をRJ45コネクタに差し込む。&br;
 このとき、RJ45コネクタの上下の向きを間違えないように注意する。
 ++全ての導線がRJ45コネクタの最深部まで差し込まれているか確認する。&br;
 また、ケーブルの外被がRJ45コネクタの圧着爪に押さえつけられる位置にあるか確認する。(図5.5)
 LEFT:&ref(img5-5.png);~
 【図5.5】
 ++かしめ工具を使ってRJ45コネクタとケーブルをかしめる。(図5.6)
 LEFT:&ref(img5-6.png);~
 【図5.6】
 ++以上の作業をもう一方の端でも同様に行う。
 ++ケーブルテスターを使って結線状態をチェックする。(図5.7)
 LEFT:&ref(img5-7.png);~
 【図5.7】
 
 -最後に、教員又はTAに作成したケーブルのチェックを受ける。
 
 *6 実技テスト [#y8bbb4fd]
 
 **6.1 実技テストの内容 [#lad4dfa9]
 
 +この演習の理解度を確認するため、実技テストを行う。
 +実技テストはグループ単位で行う。
 
 -実技テスト課題 &ref(is2017-exam-1.pdf); *印刷版も配布します。
 
 **6.2 片づけ [#vfca8747]
 
 機材を片付ける前に、スイッチングハブの設定を初期化する。
 
 -スイッチングハブにログインして、以下のコマンドを実行する。
 
  SR-S308TL1# reset clear
 
 各機材は、同梱品を含めて紛失がないように取り扱うこと。&br;
 (片付ける際は、本体は箱に貼られた番号の通りに箱詰めすること)
 
 USBシリアル変換ケーブル、ロールオーバーケーブル、貸出LANケーブルは別回収です。(スイッチングハブの箱に入れないこと)
 
 *7 最後に [#k8ef6020]
 
 システムエンジニアにとって、ネットワーク構築技術は、サーバー構築やプログラミング技術と並んで、最も重要なスキルの一つである。
 学生のうちに、IPアドレス設計を始め、ルータやスイッチングハブの基本的な動作原理や設定方法を理解しておくと、将来必ず役に立つはずである。
 実習機材は、実験室(403)に保管されているので、興味のある者は積極的に事後学習で活用してほしい。
 
 -------
 
 *メモ [#ne35e95d]
 
 -[[Fujitsu SR-S308TL1マニュアル >http://n-lab.info/lib/infonet/2/sr-s308tl1-manual/]]
 
 -[[Cisco教材(CCNA v3.1.1)>ccna-material]]
 
 -[[CSMA/CDに関する補足資料>csmacd-memo]]
 
 #back(Back,right,0,)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS