CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。
- ルータの基本
1-1.ルータとは?
ルータは、異なるネットワークを橋渡しする機器です。
異なるネットワーク間の通信を実現する為に、ルータは最適なルートを選択して
パケットを転送する処理を行います。これをルーティングといいます。
1-2.ルータとスイッチの違い
■ 1-2-1.スイッチ
スイッチは、レイヤ2(データリンク層)で動作する機器で、転送先をMACアドレスによって
選択します。フレームのイーサネッヘッダト内に記述されている宛先MACアドレスを確認し、
自身の持っているMACアドレステーブルを参照して、転送先を決定します。
また、スイッチはLANを構成するために使うネットワーク機器で、LANに参加するコンピュータを
つないで、コンピュータ同士が通信できるようにするもの。つまり、同じネットワーク内の通信を
可能にするものです。
■ 1-2-2.ルータ
ルータは、レイヤ3(ネットワーク層)で動作する機器で、転送先をIPアドレスによって
選択します。ルーターはパケットの転送先を判断する為にルーティングテーブルを保持して
います。ルーティングの際には、パケットのIPヘッダ内の宛先IPアドレスを確認し、
自身の持っているルーティングテーブルを参照して、転送先を決定します。
ルータは、LAN同士をつなぐために使うネットワーク機器で、
それぞれのLANにつながっているコンピュータ同士が通信できるようにするもの。
つまり異なるネットワーク間の通信を可能にするもの。
スイッチはIPアドレスの設定をしなくても動作しますが、ルーターは、
IPアドレスの設定なしでは動作しません。
1-3.ルーティングテーブル
ルーティングテーブルには宛先ネットワーク、ネクストホップ※1、及び送信インターフェース※2などが
登録されていて、それを基に宛先のネットワークに向かう為の最適なルートを選択します。
※1 ネクストホップとは、宛先に向かう為に経由する次に転送すべき隣接ルータの事。
※2 インターフェイスとは、コンピュータで、異なる機器・装置のあいだを接続して、
交信や制御を可能にする装置やソフトウェア。
1-4.ルータの基本設定
■ 1-4-1.IPアドレスの設定
IPアドレスの設定について「IPアドレスの設定」前投稿記事参照
■ 1-4-2.シリアルインターフェイスの設定
fastEthernet や Gigabit Ethernet等以外にも、Serial(シリアル)と呼ばれるタイプの、
インターフェイスがあります。
シリアルインターフェイス※3は、主にWANの接続で利用します。
※3 シリアルインターフェイスとは、1本の信号線や回線を使いデータを1ビットずつ順番に
送信する方式の事です。
WANを接続する場合、通信事業者のサービスを利用する事になります。
通信事業者のネットワークに接続するには、DCEと呼ばれる機器が必要です。
そして、実際に利用者のデータを送信する機器の方を、DTEといいます。
ルータやパソコンがこれにあたります。
通常、WAN接続において、ルータ側はDTEになり、通信事業者側がDCEとなります。
なので、通常、DCE側がクロック信号をDTEに送ってタイミングを合わせるので、ルータに
クロックレート※4の設定は必要ありません。
※4 クロックレートとは、シリアルインタフェースがレイヤー2の信号をやりとりするタイミング(速度)のこと。
しかし、通信事業者側の機器を使用せず、2台のルータをシリアルケーブルで直接つなげた場合、
どちらかのルータがDCEの役割をする必要性があります。このように、ルータをシリアルケーブルで
直接つなげる事を、Back-to-Back接続といいます。
Back-to-Back接続の為のシリアルケーブルには、DCEとDTEの表記があり、
DCEコネクトが接続された方にクロックレートの設定を行う必要があります。
また、直接ケーブルから確認出来ない場合は下記のコマンドから確認します。
特権EXECモードで次のshow controllers serialコマンドを実行します。
# show controllers serial < 番号 >
<番号>は、インターフェイス番号を指定します。
そして、クロックレートの設定するには、インターフェイスコンフィグレーションモードで
次の clock rateコマンドを実行します。
(config-if)# clock rate < クロックレート値 >
<クロックレート値>の単位は、bpsとなります。
■ 1-4-3.インターフェイスの通信モードと通信速度の設定
Cisco製のルータのイーサネットインターフェイスでは、オートネゴシエーション機能が、
デフォルトで有効になっています。
通信モードのオートネゴシエーション機能の有効・無効を設定するには、
インターフェイスコンフィグレーションモードで次の duplexコマンドを実行します。
(config-if)# duplex < auto | full | half >
<auto>を選択すると、オートネゴシエーション機能が有効になる
<full>を選択すると、オートネゴシエーション機能が無効になり、全二重の通信モードになる
<half>を選択すると、オートネゴシエーション機能が無効になり、半二重の通信モードになる
また、通信速度のオートネゴシエーション機能の有効・無効を設定するには、
インターフェイスコンフィグレーションモードで次のspeedコマンドを実行します。
(config-if)# speed < 10 | 100 | 1000 | auto >
<10>等の数字を指定すると、その通信速度で動作します
<auto>を指定すると、オートネゴシエーション機能が有効になる
■ 1-4-4.インターフェイスの確認
インターフェイスを設定した際や、通信が出来なくなった場合、
インターフェイスの状態の確認をする必要があります。インターフェイスの状態の確認するには、
特権EXECモードで次のshow interfacesコマンドを実行します。
# show interfaces [< インターフェイス >]
インターフェイスを指定ぜずに実行した場合、全てのインターフェイスが表示されます。
特定のインターフェイスを表示させる為には、指定するインターフェイスで、「Serial 0」と形で
指定します。
■ 1-4-5.インターフェイスのIPに関する情報の確認
インターフェイスのIPに関する情報の確認するには、特権EXECモードで
次の show ip interfaceコマンドを実行します。
show interfacesコマンドとは異なりIPに関する情報に特化して確認出来ます。
# show ip interface [brief] 【<インターフェイス>】
[ brief ]を付けた場合は、インターフェイスの状態が簡易的に表示されます
下記の画像がコマンドの実行例
コマンドで確認出来る項目の説明
ー interface
インターフェイス名を表示
ー IP-Address
IPアドレスを表示
unassignedは、IPアドレスが設定されていない
ー Method
unsetは、設定されていない
manualは、手動で設定されている
その他にも
NVRAMは、設定後、メモリに保存している
DHCPは、DHCPで自動設定されている
ー Status
administratively downは、シャットダウン状態(有効化していない状態)
upは、正常な状態
downは、機能していない
ー Protocol
upは、正常な状態
downは、正常ではない状態
■ 1-4-6.インターフェイスの正常確認方法
show interfaceコマンドの表示項目のなかで最も重要なのは、最初の1行目の部分です。
この1行目の「Serial1/0 is administratively down, line protocol is down」の、
down等の組み合わせで、そのインターフェースが物理層とデータリンク層で、正常であるかどうかを、
判断することができます。
Status | Protocol | インターフェイスの状態 |
---|---|---|
administratively down※5 | down | Interfaceがshutdownされている状態。no shutdownにより有効にする必要がある。 |
down | down | ケーブルが接続されていない、断線している。相手側のInterfaceがシャットダウン状態である。 |
up | down | クロックレートが設定されていない。カプセル化のタイプが双方で異なっている状態。 |
up | up | Interfaceが有効に機能している状態。 |
※5 インターフェイスが、"shutdown"された状態であることを意味する。
1-5.接続性の確認
機器間で通信が出来るか確認するコマンドとして#pingコマンドや#tracerouteコマンドが
あります。
■ 1-5-1.pingコマンド
pingは、ネットワーク疎通を確認するためのコマンドです。
疎通を確認したいホストに対して、IPパケットを発行して、そのパケットが相手に届いて返答が、
戻ってくるかどうかで接続性を確認するためのコマンドです。
こうしたネットワークの疎通確認に用いるコマンド/ツールは、ICMPの性質をうまく利用しています。
⚫️ ICMPとは?
もともとICMPは、ネットワークに障害があり正常な通信が行えない場合に、
経路に位置するルーターやホストが、送信元ホストへその障害を知らせるためのプロトコルである。
そのため、エラー報告プロトコルとも呼ばれている。
IP自体は到達信頼性の低いプロトコルだが、仮に途中でパケットが破棄されたとしても、
再送などによりエラーをハンドリングすることは可能だ。
しかし永続的な障害などの場合には、非常に効率が悪い結果となる。そこで、ICMPによって、
エラーを通知することで、復旧やエラーハンドリングの効率を上げる目的を持っている。
こうした障害時通知など特殊な目的のためには、より詳細な情報が通知できるように設計されている。
※ネットワークの疎通を確認するには?という記事参照
■ 1-5-2.標準pingコマンドと拡張pingコマンド
pingコマンドには、標準pingコマンドと拡張pingコマンドがあります。
⚫️ 標準pingコマンド
標準pingコマンドはユーザーEXECモードまたは特権EXECモードで、
次の pingコマンドを実行します。
# ping < IPアドレス | ホスト名 >
⚫️ 拡張pingコマンド
標準pingコマンドでは、ICMPエコー要求の回数などが決まっていますが、拡張pingコマンドを
使用すると回数だけでなくパケットのサイズの送信元となるIPアドレスを変更して送信する事が
出来ます。
拡張pingコマンドは特権EXECモードで、次の pingコマンドを実行します。
# ping
標準pingコマンドとは異なり、ホスト名等を指定せずに実行します。
拡張pingコマンドを使用して変更出来るフィールドの一部
|フィールド |説明 |
|:---|:---|:---|
|Protocol [ip]:|サポートされているプロトコルを入力。 appletalk、clns、ip、novell、apollo、vines、decnet、または xns を入力します。 デフォルトは ipです。|
|Target IP address:|宛先の IPアドレスまたはホスト名を入力。デフォルトは none です。|
|Repeat count [5]:|宛先アドレスに送信されるICMPパケットの送信回数。デフォルトは 5です。|
|Datagram size [100]:|送信するデータのサイズ。デフォルトは 100バイトです。|
|Timeout in seconds [2]:|タイムアウトとみなすまでの時間。 デフォルトは、2(秒)です。|
|Extended commands [n]:|さらに詳細な設定を行うかどうか。yを入力すると、送信元のインターフェイスなどを指定出来る。|
|Source address or interface:|送信元のインターフェイスの変更が出来る。|
|Sweep range of sizes [n]:|パケットのサイズを変更。デフォルトは noです。|
※詳しくは、拡張pingおよび拡張tracerouteコマンドの使用の記事参照
■ 1-5-3.送信元インターフェイスの変更
拡張pingコマンドでは、「Source address or interface:」項目で送信元インターフェイスの
IPアドレスもしくは、インターフェイス名を指定出来ます。
標準pingコマンドでも同様に、送信元インターフェイスをデフォルトから変更出来ます。
特権EXECモードで次の sourceオプションを付けたpingコマンドを実行します。
# ping < IPアドレス | ホスト名 > source < IPアドレス | インターフェイス名 >
■ 1-5-4.pingコマンド実行結果の意味
フィールド | 説明 |
---|---|
! | 応答が受信出来た事を表す |
.(ピリオド) | 応答が一定時間内に受信出来なかった事を表す |
U | 応答として宛先到達不能が返ってきた事を表す |
Q | 応答として宛先が輻輳中が返ってきた事を表す |
M | 応答としてフラグメント不可が返ってきた事を表す |
? | パケットタイプが不明な事を表す |
& | パケットの生存時間TTLを超過してしまった事を表す |
■ 1-5-5.tracerouteコマンド(トレースルート コマンド)
tracerouteコマンドでは、宛先に届くかどうかの確認だけでなく、どのルーターを経由して
宛先に到達したのか確認する事が出来ます。
また、実行結果を見ることによって、通信相手までどの様な経路を通ってたどり着くのかもわかるので、
通信トラブル際、どこに原因があるかを切り分ける時に役立ちます。
tracerouteコマンドを実行するには、特権EXECモードで次の tracerouteコマンドを実行します。
# traceroute < IPアドレス | ホスト名 >
⚫️ tracerouteコマンドの動作
tracerouteコマンドでは、IPヘッド内の生存期間を表すTTLを使います。
TTLとは、ルータを通過する度に1ずつ減らされ、TTLが0になったパケットはその時点で破棄されます。
TTLを設定することを指して「パケットの寿命を設定する」と表現する事もあります。
また、パケットが破棄されると同時にパケットを破棄したルータは送信元に応答として、
ICMP時間超過パケットを返します。この返って来た送信元IPから、IPアドレスを判別します。
図で確認すると下記のような感じになります。
tracerouteコマンドを実行すると、コンピュータは指定した通信相手を宛先とした、
エコー要求パケットTTLを 1に設定して送信します。
パケットが「ルーター1」に届くと、TTLは1減らされTTLは0になります。
「ルーター1」はパケットの有効期限切れと判断し、送信元のコンピュータに「時間超過パケット」を、
送り返します。
TTLを1ずつ増やしながら、宛先からエコー応答パケットが届くまでこれを続けます。
※tracertコマンドの使い方の記事参照