Packet TracerでスイッチとPCを接続してみた

# 背景・目的

以前、下記の通りPacket Tracerをインストールしました。今回は簡単に動作を試します。

https://qiita.com/zumax/items/57cc6530698698296813


# 概要
これからPacket Tracerをあれこれ操作するにあたり、あらためてネットワークの基礎的な用語を整理しておきます。

## ノードとリンク
- NWの構成要素を大別して分けるとノードとリンクがある

### ノード
- NWを構成する機器
- PC、サーバ、プリンタ・各種NWがある

### リンク
- ノード間を結ぶ線を指す
- ケーブル、無線など

## インターフェイス
- ノードとノードを接続するリンクを形成するための接点
- それぞれのノード同士を接続してリンクを形成するには、ケーブルの差込口、無線の送受信機が必要になる
- この外部と接続するための部分をインターフェイスという
- インターフェイスをポートと呼ぶこともある
- インターフェイス（ポート）は、ケーブル差込口やPCに内蔵されているインターフェイスもある

## ハブとスイッチ
- PCを2台でつなぐなら、PCに同士を直接ケーブルで接続すれば問題ないが、3台以上で接続すると、ケーブルの差込口が一箇所しかないため問題が生じる
- PC間にハブ・スイッチを接続する

## ルーター
- ハブやスイッチに接続された複数の機器は同じグループに所属する特徴がある
- ルーターは、接続している機器のグループを分割できる
    - 〇〇部単位など
- ルーターによって分割されたグループ


## カプセル化と非カプセル化
### カプセル化
- 送信側の機器が通信データを送信可能な形に変換する
- 上位層のデータに対してヘッダーを付与して行く

### 非カプセル化
- 受信側から送られてきた通信の中から必要な情報を取り出していく
- 下位層から渡されたデータからヘッダーを外していく

### ペイロード
- 上位層から渡されたデータをペイロードという

### PDU
- Protocol Data Unit
- ヘッダーとペイロードを合わせた、そのレイヤで作成された塊のデータの単位
- ヘッダー＋ペイロード
- レイヤーごとに名前が異なる
    - レイヤ4:セグメント、データグラム
    - レイヤ3: パケット
    - レイヤ2:フレーム
    - レイヤ1: ビット

## ユニキャスト・ブロードキャスト・マルチキャスト
### ユニキャスト
- 特定の1つの宛先に対してのみ送信する方式
- 1:1の通信

### ブロードキャスト
- 同じNW内のすべての機器に対して通信を送信する方式
- 1:N通信

### マルチキャスト
- 特定のグループに含まれる危機に対して通信を送信する

## ストレートケーブルとクロスケーブル
- LANケーブルにはストレートとクロスケーブルの2種類がある
- ストレートケーブル
    - ケーブル内の8本の同線が平行に配線されている
    - ケーブルの両端で同じピンの並びになっている
- クロスケーブル
    - 8本の同線のいち部が交差されている
    - ケーブルの両端では異なるピンの並びになっている

### MDIとMDI-X
- LANケーブルに接続される機器のポートの種類
- 8ピンで構成されている
- MDI
    - 1番目と2番目を送信
    - 3番目と6番目を受信
    - PCやルーターで使用されている
- MDI-X
    - 1番目と2番目を受信
    - 3番目と6番目を送信
    - スイッチ、ハブで使用されている

### ケーブルの使い分け
- PCとスイッチの場合
    - PCがMDIポート、スイッチがMDI-X
    - ストレートケーブルで受信と送信を接続できる
- PCとルーターの場合
    - どちらもMDIポート
    - 送信と受信がつながるようにクロスケーブルとする

## ARP
- Address Resolution Protocol
- 宛先IPから宛先MACアドレスを調べるプロトコル
- 同一NW内では、MACアドレスを確認するためにARP要求を出したあとで通信する
- 異なるNWでは
    - デフォルトゲート（ルーター）にMACアドレスを聞く
    - ルーターのMACアドレスを宛先MACアドレスにして通信をルーターに送信する
    - ルーターからARPを送りMACアドレスを聞く
    - ルーターが、新しい送信元と宛先のMACアドレスを付け替えて通信する

## ICMP
- NW上の通信状態の確認、通信エラー時のエラーメッセージの転送を行う
- pingとtracerouteがある

### Ping
- PC、NW機器で実行できるコマンド
- 指定した宛先の機器と通信ができるか確認するためのコマンド
- エコー要求とエコー応答の2種類のICMPを互いに送信し合う

### traceroute
- 通信経路を示すために通過するルーターのIPアドレスを一覧表示する

## ルーティングテーブル
- ルータで保持している一覧
- 下記の情報が登録されている
    - 宛先NWが自身のどのインタフェイス（ポート）の先にあるのか
    - 宛先NWが遠くにある場合、次にどのルーターを経由するか

### インターフェイス
- スイッチやスイッチングハブは通信を行うための設定は特に必要ない（ケーブルを差せば使える）
- ルーターは、インタフェイスの設定が必要
    1. IPアドレスを設定する
        - NWの出入り口になるため、その出入り口に住所を必ず設定する
    1. インターフェイスを有効化する
        - Ciscoルーターは、起動直後の状態では機器自体は起動していても、それぞれのインターフェイスはダウン状態になっている
        - インターフェイスを有効化する（シャットダウン路を解除する）ことでインターフェイスの通信が可能になる

### スタッティクルーティング、ダイナミックルーティング
- ルーティングの設定方法
- スタティックルーティング
    - 手動でルート情報を1つずつ登録する
- ダイナミックルーティング
    - ルーター同士が自身の保持しているNW情報を交換しルーティングテーブルを自動で作成・登録する
    - RIP・OSPF・EIGRPなどのダイナミックルーティングの種類がある


### デフォルトルート
- ルーターはルーティングテーブルに載っていない宛先を受信した場合、その通信を破棄する
- ルーターにデフォルトルートを設定し破棄することなく転送する（例えばプロバイダーのルーターや、他社のルーターなど）

## Cisco機器
### コンソールケーブル
- スイッチやルーターには画面やキーボードはない
- PCと接続しPCの画面上から操作・設定する
- 初期状態のスイッチやルーターを操作するにはコンソールケーブルというケーブルを使用する
- 機器を設定するための専用ケーブル
- コンソールケーブルは、両端のケーブルの形状が異なる
    - LANケーブルと同様のRJ45コネクタ側をスイッチやルーターのCONSOLEと記載されているコンポーネントに接続する
    - 反対にシリアルコネクタがついているものは、PCと接続させるが、USB変換ケーブルをつなげる
- 他のポートに接続しても操作はできない

### コマンド設定
- 操作するためにターミナルを用意する
- Tera TermやPuTTYなどを利用する


### Cisco機器の操作モード
- Ciscoでは設定の参照や変更に必要なモードが別れている

|モード|カテゴリ|内容|
|:--|:--|:--|
|ユーザ|確認|一部の設定確認|
|特権|確認|すべての設定確認|
|グローバルコンフィギュレーション|ルーターの名称変更やスタティックルーティング|機器全体に関する設定|
|インターフェイスコンフィギュレーション|IPアドレスの設定やインタフェイスの有効化|インターフェイスに関する設定|
|ルーティングコンフィギュレーション|ダイナミックルーティング|ルーティングに関する設定|

### インターフェイスの設定
- インターフェイスの名称は、インターフェイスの種類+番号でつけられている
- インターフェイスの種類は、下記の通りイーサネットの規格に対応している
    - Ethernet：10Mbps
    - FastEthernet：100Mbps
    - GigabitEthernet：1Gbps
- 番号は機器により変わるが
    - 0、1、2・・・
    - 0/0、0/1、0/2・・・
- interface {インターフェイスの種類＋番号}を実行し設定する
- 有効化する場合は、no shutdown（シャットダウン状態を解除する）

### スタティックルーティングの設定
- スタティックルーティングの設定
- ip routeコマンド
    - `ip route 宛先のネットワークアドレス サブネットマスク ネクストホップアドレス`で設定


# 実践

## 前提
下記を利用しています。
- MacOS 15.3
- Packet Tracer 8.2.2

### 起動
1. Cisco Packet Tracer をクリックします
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/113ae0ca-8e6d-928d-8635-d7ac5e0f40bc.png" width=400 />

1. 表示されました
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ad3ed5c4-3d30-6c2e-e4a6-e94723b2af14.png)



## スイッチとPCの配置
1. 画面左下でSwitchを選択し、ワークスペースへドラッグ＆ドロップします
    - ①：Network Devices
    - ②：Switches
    - ③：3560-24PS
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/880581de-3a3c-1aed-6247-22b41cd4d65b.png)

1. 画面左下でPCを選択し、ワークスペースへドラッグ＆ドロップします
    - ①：End Devices
    - ②：End Devices
    - ③：PC
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/6feec4aa-7582-69b1-2ad3-9740f9c34a4a.png)

1. 配置された状態は下記のとおりです
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/5613a57e-29fe-e2cd-4512-4027c484585d.png)

### デバイスの接続
1. 画面左下でCooper Straight-Throughを選択し、Switchにくっつけます
    - ①：Connections
    - ②：Connections
    - ③：Cooper Straight-Through
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/0f7dd633-f704-4003-608f-390be7ad4882.png)

1. SwitchのFastEhternet0/1を選択します
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/f1ead138-a9ab-efac-f072-bdb0cd28f676.png" width=300 />

1. PCのFastEhternet0を選択します
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/f874d4b4-d88d-1a98-82ac-157567ec6388.png" width =300 />

1. 配置された状態は下記のとおりです
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/3cdb8a6b-32de-8e28-131e-fc46473868d3.png)

## スイッチ設定
1. スイッチを選択します
    <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/61842527-b093-00ca-5c51-73117b126dd3.png" width=150 />

1. 「CLI」タブをクリックします

### ホストネームの設定
1. 特権モードへモードを変更します
    ```bash
    Switch>
    Switch>
    Switch>
    Switch>
    Switch>enable
    Switch#
    ```
1. グローバルコンフィギュレーションモードに切り替えます
    ```bash
    Switch#configure terminal 
    Enter configuration commands, one per line.  End with CNTL/Z.
    Switch(config)#
    Switch(config)#
    Switch(config)#
    ```
1. ホスト名を変更します。プロンプトが変更されました
    ```bash
    Switch(config)# hostname SW1
    SW1(config)#
    ```
1. 一度 exitして特権モードに切り替えて、変更されたか確認します
    ```bash
    sw1(config)#exit
    sw1#
    %SYS-5-CONFIG_I: Configured from console by console
    sw1#show running-config | include hostname
    hostname sw1
    sw1#
    ```
1. 再起動後もホスト名の変更を保持するために、保存します
    ```bash
    sw1#copy running-config startup-config 
    Destination filename [startup-config]? 
    Building configuration...
    [OK]
    sw1#
    ```
### IPアドレスの設定
1. 特権モードからグロバールコンフィギュレーションモードに切り替えます
    ```bash
    sw1#configure terminal 
    Enter configuration commands, one per line.  End with CNTL/Z.
    sw1(config)#
    ```
1. インターフェイスコンフィギュレーションモードに切り替えます
    ```bash
    sw1(config)#interface vlan 1
    sw1(config-if)#
    ```

1. IPアドレスを設定します
    ```bash
    sw1(config)#interface vlan 1
    sw1(config-if)#
    sw1(config-if)#

    # 　======================下記から　======================
    
    sw1(config-if)#ip address 192.168.1.1 255.255.255.0
    sw1(config-if)#no shutdown
    
    sw1(config-if)#
    %LINK-5-CHANGED: Interface Vlan1, changed state to up
    
    %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
    
    sw1(config-if)#exit
    sw1(config)#
    sw1(config)#exit
    sw1#
    %SYS-5-CONFIG_I: Configured from console by console
    
    sw1#
    ```

1. 特権モードで、`show ip interface brief`で設定を確認します
    ```bash
    sw1#show ip interface brief
    Interface              IP-Address      OK? Method Status                Protocol 
    FastEthernet0/1        unassigned      YES unset  up                    up 
    FastEthernet0/2        unassigned      YES unset  down                  down 
    FastEthernet0/3        unassigned      YES unset  down                  down 
    FastEthernet0/4        unassigned      YES unset  down                  down 
    FastEthernet0/5        unassigned      YES unset  down                  down 
    FastEthernet0/6        unassigned      YES unset  down                  down 
    FastEthernet0/7        unassigned      YES unset  down                  down 
    FastEthernet0/8        unassigned      YES unset  down                  down 
    FastEthernet0/9        unassigned      YES unset  down                  down 
    FastEthernet0/10       unassigned      YES unset  down                  down 
    FastEthernet0/11       unassigned      YES unset  down                  down 
    FastEthernet0/12       unassigned      YES unset  down                  down 
    FastEthernet0/13       unassigned      YES unset  down                  down 
    FastEthernet0/14       unassigned      YES unset  down                  down 
    FastEthernet0/15       unassigned      YES unset  down                  down 
    FastEthernet0/16       unassigned      YES unset  down                  down 
    FastEthernet0/17       unassigned      YES unset  down                  down 
    FastEthernet0/18       unassigned      YES unset  down                  down 
    FastEthernet0/19       unassigned      YES unset  down                  down 
    FastEthernet0/20       unassigned      YES unset  down                  down 
    FastEthernet0/21       unassigned      YES unset  down                  down 
    FastEthernet0/22       unassigned      YES unset  down                  down 
    FastEthernet0/23       unassigned      YES unset  down                  down 
    FastEthernet0/24       unassigned      YES unset  down                  down 
    GigabitEthernet0/1     unassigned      YES unset  down                  down 
    GigabitEthernet0/2     unassigned      YES unset  down                  down 
    Vlan1                  192.168.1.1     YES manual up                    up
    sw1#
    ```

1. swの設定を保存します
    ```bash
    sw1#copy running-config startup-config 
    Destination filename [startup-config]? 
    Building configuration...
    [OK]
    sw1#
    ```
## PCの設定
1. PCを選択します
1. 「Desktop」タブをクリックします
1. 「IP Configuration」をクリックします
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/dc0d4fc9-a4bd-5297-e90a-c8e33cfff3d1.png)

1. IP Configurationで下記を選択します
    - Static
    - IPv4 Address：192.168.1.10
    - Subnet Mask：255.255.255.0
    - Default Gateway：192.168.1.1
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/b2a70d0e-5f0a-df5f-bd92-afe2c32298de.png)

## 接続確認
1. PCの「Desktop」タブから「Command Prompt」を開きます
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/24066ff3-55a1-29fd-169e-1d43b19ed036.png)

1. スイッチにpingを打ちます。つながっているようです
    ```bash
    Cisco Packet Tracer PC Command Line 1.0
    C:\>ping 192.168.1.1
    
    Pinging 192.168.1.1 with 32 bytes of data:
    
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.1.1: bytes=32 time=1ms TTL=255
    Reply from 192.168.1.1: bytes=32 time<1ms TTL=255
    
    Ping statistics for 192.168.1.1:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    
    C:\>
    ```


## ワークスペースの保存
最後にワークスペースを保存します

1. ファイルをクリックし、Saveをクリックし名前をつけて保存します

# 考察
今回、Packet TracerでスイッチとPCを接続してみました。
最近、Ciscoのスイッチを触る機会があり自習で切る環境がありがたいです。引き続き試してみます。

# 参考

https://qiita.com/zumax/items/57cc6530698698296813

https://contenthub.netacad.com/legacy/CCNA/ITN/5.03/jp/course/files/2.3.2.5%20Packet%20Tracer%20-%20Implementing%20Basic%20Connectivity%20Instructions.pdf