ルータの機能とルーティング【ルータの設定】


CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。

1. ルータの基本

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コマンドの使い方の記事参照

関連投稿記事

ルータの機能とルーティング【ルーティングの設定】