ルーティングの基本(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はクラスフルなルーティングプロトコルですが、このような特殊な状況においては疑似クラスレスな動きをします。

今回は以上となります。