ルーティングの基本(RIP編)
資料:https://drive.google.com/open?id=1EDU-LGcUsWOpaKHGENBozVT9mditnpPf
RIP version1を使ってルーティングの動きを確認します。
環境:EVE-NG & IOS Ver15.0台
RIPの特徴
- クラスフル
- IGP & ディスタンスベクタ型に分類される
- 経路選択にホップ数(経由したルータの数)を採用
- 最大ホップ数は15。(16以上は無限大扱い)
- 大規模なネットワークには向いていない
- UDP520番を利用
- デフォルト値では Update30秒、Expire180秒
やってみましょう1(ルータ2台でシンプルな構成を組む)
R1投入Config
conf t interface GigabitEthernet0/0 ip address 192.168.2.1 255.255.255.0 no shut ! interface GigabitEthernet0/1 ip address 192.168.1.1 255.255.255.0 no shut ! router rip network 192.168.1.0 network 192.168.2.0 !
R2投入Config
conf t interface GigabitEthernet0/0 ip address 192.168.2.2 255.255.255.0 no shut ! interface GigabitEthernet0/1 ip address 192.168.3.2 255.255.255.0 no shut ! router rip network 192.168.2.0 network 192.168.3.0 !
正常にルーティングされ、対向のルータがもっているネットワークへPingが通ります。
やってみましょう2 (ルータ4台)
R1投入Config
conf t interface Ethernet0/0 ip address 192.168.2.1 255.255.255.0 no shut ! interface Ethernet0/1 ip address 192.168.5.1 255.255.255.0 no shut ! interface Ethernet0/2 ip address 192.168.1.1 255.255.255.0 no shut ! router rip network 192.168.1.0 network 192.168.2.0 network 192.168.5.0 !
R2投入Config
conf t interface Ethernet0/0 ip address 192.168.2.2 255.255.255.0 no shut ! interface Ethernet0/1 ip address 192.168.3.2 255.255.255.0 no shut ! router rip network 192.168.2.0 network 192.168.3.0 !
R3投入Config
conf t interface Ethernet0/0 ip address 192.168.3.3 255.255.255.0 no shut ! interface Ethernet0/1 ip address 192.168.4.3 255.255.255.0 no shut ! router rip network 192.168.3.0 network 192.168.4.0 !
R4投入Config
conf t interface Ethernet0/0 ip address 192.168.5.4 255.255.255.0 no shut ! interface Ethernet0/1 ip address 192.168.6.4 255.255.255.0 no shut ! router rip network 192.168.5.0 network 192.168.6.0 !
こちらも正常にルーティングされています。 経由するルータの数(ホップ数)が変わっていることが見て取れます。
やってみましょう3 (ルータ2台でR1のLAN側をクラスBアドレスにする)
「やってみましょう1」をベースにR1の設定を変更。
R1投入Config
conf t interface GigabitEthernet0/0 ip address 172.16.10.1 255.255.0.0 ! router rip network 172.16.0.0 no network 192.168.1.0 !念の為削除 !
即時反映したい場合は
clear ip route *
でルーティングテーブルをクリアします。
R2に172.16.0.0が受信されていることがわかります。
R2# sh ip route ~省略~ R 172.16.0.0/16 [120/1] via 192.168.2.1, 00:00:25, GigabitEthernet0/0
やってみましょう4 (クラスBのアドレスをクラスCにサブネット分割してみる)
R1投入Config
interface GigabitEthernet0/1 ip address 172.16.10.1 255.255.255.0 ! router rip network 172.16.10.0 !
投入Configでnetwork 172.16.10.0
と指定しても、Config上は172.16.0.0
となります。これはRIPがクラスフルなプロトコルなためです。
RIPのパケットフォーマットにはサブネットマスクの領域がありません。そのため、172.16.0.0という仕様通りのクラスフルなネットワークとして認識されます。
参考) R2上でデバッグをかけたときのメッセージ
*Jul 26 09:36:27.079: RIP-DB: adding 172.16.0.0/0 (metric 1) via 192.168.2.1 on GigabitEthernet0/0 to RIP database
やってみましょう5 (R1とR2のLAN側をクラスレスにする)
R2投入Config
interface GigabitEthernet0/1 ip address 172.16.20.2 255.255.255.0 ! router rip network 172.16.20.0 no network 192.168.3.0 !
くどいようですが、投入Configでnetwork 172.16.20.0
と指定しても、Config上は172.16.0.0
となります。
この場合、クラスレスを扱えないRIPなので、当然ルーティングテーブルに、サブネット分割した172.16.10.0と172.16.20.0は載ってきません。R1とR2ともに172.16.X.XはConnected扱いとなるため、RIPで受信した172.16.0.0/16は無視されます。
やってみましょう6 (R1とR2の間のネットワークをクラスレスにする)
ここで、R1とR2が保持するネットワークをすべて172.16.X.0/24の体系に変えてみます。
R1投入Config
interface GigabitEthernet0/0 ip address 172.16.30.1 255.255.255.0 ! router rip no network 192.168.2.0
R2投入Config
interface GigabitEthernet0/0 ip address 172.16.30.2 255.255.255.0 ! router rip no network 192.168.2.0
そうすると、クラスレスなアドレス体系なはずなのに、R1とR2のルーティングテーブルにはサブネット分割された172.16.X.0/24が載ってきます。
R1#sh ip route ~省略~ R 172.16.20.0/24 [120/1] via 172.16.30.2, 00:00:01, GigabitEthernet0/0
R2#sh ip route ~省略~ R 172.16.10.0/24 [120/1] via 172.16.30.1, 00:00:08, GigabitEthernet0/0
これは、受信したインタフェースと同等のサブネット分割されたネットワークにおいては、インタフェースのサブネットマスクを適用するという動きをするためです。
RIPはクラスフルなルーティングプロトコルですが、このような特殊な状況においては疑似クラスレスな動きをします。
今回は以上となります。