RIP 再配送 – Next Hop 020

今回はRIPへのルート情報の再配送の際に登場するNext Hopフィールドについて解説致します。

 

座学

RIPのNext Hopフィールド

RIPのルート情報を広報する際に使用されるResponseメッセージにはNext Hopと呼ばれるフィールドが存在します。
このNext Hopフィールドは、ある状況下において、最適なルーティングを実現するために使用されます。

 

一般的に、上記のNext Hopフィールドには0.0.0.0が格納されます。もし、RIP経由でルート情報を学習し、かつ、Next Hopフィールドが0.0.0.0の場合、そのルート情報のネクストホップには、ルート情報の広報元のアドレスを使用します。

 

以下の値が同じルート情報を広報する場合に、Next Hopフィールドに0.0.0.0以外が格納されます。

  • RIPに再配送したルート情報のネクストホップインタフェース
  • RIPでルート情報を広報する際に使用するインタフェース

 

例えば、下図では、R2においてRIPに再配送した10.2.2.0/24をR1に広報しています。この際、もし、R2が10.2.2.0/24のNext Hopフィールドに0.0.0.0を格納して、R1に対してルート情報を広報した場合、R1は10.2.2.0/24のネクストホップは10.1.1.2と認識します。この結果、R1は10.2.2.0/24宛のパケットをR3に直接転送せず、R2に転送してしまうため、非効率なルーティングが発生してしまいます。(この様な非効率なルーティングのことを、Suboptimal Routingと呼びます。)

 

上図の様な構成で、最適なルーティングを実現するために、Next Hopフィールドは使用されます。R2はR1に対して、10.2.2.0/24を広報する際、Next Hopフィールドに10.1.1.3を格納することで、R1は10.2.2.0/24のネクストホップを10.1.1.3と認識できます。この結果、R1は10.2.2.0/24宛のパケットをR3に直接転送できるため、非効率なルーティングの発生を回避可能です。

 

実機での動作確認

検証内容

R1とR2でRIPv2を動作させ、ルート情報を交換します。
R2のg2でRIPのSplit Horizonを無効にします。(Split Horizonが有効な場合、R2はg2がネクストホップインタフェースの10.2.2.0/24をg2から広報できないため)
R2でネクストホップに10.1.1.3を指定した10.2.2.0/24宛のスタティックルートを設定します。
R2でRIPに対してスタティックルートを再配送します。

R1が10.2.2.3と通信する際、R2を経由しないことを確認します。

 

初期設定


interface GigabitEthernet2
 ip address 10.1.1.1 255.255.255.0
!
router rip
 version 2
 network 10.0.0.0
            


interface GigabitEthernet2
 ip address 10.1.1.2 255.255.255.0
 no ip split-horizon
!
ip route 10.2.2.0 255.255.255.0 10.1.1.3
!
router rip
 version 2
 redistribute static
 network 10.0.0.0
           


interface Loopback0
 ip address 10.2.2.3 255.255.255.0
!
interface GigabitEthernet2
 ip address 10.1.1.3 255.255.255.0
            

 

R2のRIP Databaseの確認

R2のRIP Database内の10.2.2.0/24のネクストホップが10.1.1.3であることが確認できます。。

R2

R2#show ip rip database
10.0.0.0/8    auto-summary
10.1.1.0/24    directly connected, GigabitEthernet2
10.2.2.0/24    redistributed
    [1] via 10.1.1.3, from 0.0.0.0,
            

 

R2がRIP経由でルート情報を広報する際の動作確認

R2がRIP経由で広報している10.2.2.0/24のNext Hopフィールドに10.1.1.3が格納されていることが確認できます。

R2

R2#debug ip rip
*Apr 16 10:40:29.192: RIP: build update entries
*Apr 16 10:40:29.192: 10.1.1.0/24 via 0.0.0.0, metric 1, tag 0
*Apr 16 10:40:29.192: 10.2.2.0/24 via 10.1.1.3, metric 1, tag 0
            

 

以下はR2が送信したRIPv2のResponseメッセージになります。10.2.2.0/24のNext Hopフィールドに10.1.1.3が格納されていることが確認できます。

 

R1がRIP経由でルート情報を受信した際の動作確認

R1がRIP経由で学習した10.2.2.0/24のNext Hopフィールドが10.1.1.3であることが確認できます。

R1

R1#debug ip rip
*Apr 16 11:17:30.244: RIP: received v2 update from 10.1.1.2 on GigabitEthernet2
*Apr 16 11:17:30.244:      10.1.1.0/24 via 0.0.0.0 in 1 hops
*Apr 16 11:17:30.244:      10.2.2.0/24 via 10.1.1.3 in 1 hops
            

 

R1のRIP Databaseの確認

R1のRIP Databaseに存在する10.2.2.0/24のネクストホップが10.1.1.3であることが確認できます。

R1

R1#show ip rip database
10.0.0.0/8 auto-summary
10.1.1.0/24 directly connected, GigabitEthernet2
10.2.2.0/24
    [1] via 10.1.1.3, from 10.1.1.2, 00:00:08, GigabitEthernet2
            

 

R1のルーティングテーブルの確認

R1のルーティングテーブル内の10.2.2.0/24のネクストホップが10.1.1.3であることが確認できます。

R1

R1#show ip route rip
      10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
R        10.2.2.0/24 [120/1] via 10.1.1.3, 00:00:18, GigabitEthernet2
            

 

疎通確認

R1から10.2.2.3へTracerouteを実行すると、R1はR2ではなく、R3に直接パケットを転送していることが確認できます。

R1

R1#traceroute 10.2.2.3 source 10.1.1.1 probe 1
Type escape sequence to abort.
Tracing the route to 10.2.2.3
VRF info: (vrf in name/id, vrf out name/id)
  1 10.1.1.3 1 msec
            

コメント

タイトルとURLをコピーしました