キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

IOS における Static route の install 基準と使用上の注意

static route には3種類の記載方法がありますが、記載方法によって routing table に install される条件など、動作に注意すべき点がございます。

1) next-hop interface のみを記載する
ip route 10.1.1.0 255.255.255.0 ethernet1/0

2) next-hop interface と address を併記する
ip route 10.1.1.0 255.255.255.0 ethernet1/0 172.20.1.2

3) next-hop address のみを記載する
ip route 10.1.1.0 255.255.255.0 172.20.1.2
 

1. Next-hop interface の指定を含む static route の場合

1) 及び 2) の形式は、指定した interface が up となっていれば routing table に install されます。

1-1. Next-hop interface のみを指定する場合の注意事項
特に 1) の形式は connected route と認識されるという特徴があります。
この 1) の形式を使用する場合で、next-hop interface が Ethernet 等の broadcast media の場合には特に注意が必要です。

1) の形式の場合、指定された interface に設定されたアドレス・サブネットにかかわらず、通信が発生した際にレイヤ 2 アドレスの解決を試みるため、パケットの宛先アドレスに対する ARP を送信します。

-----------------------------------------------------------------------------------------------------------------------------

(設定例)

interface Ethernet1/0
ip address 172.20.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 Ethernet1/0

-----------------------------------------------------------------------------------------------------------------------------

(Routing table 出力例)

S*    0.0.0.0/0 is directly connected, Ethernet1/0
        172.20.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.20.1.0/24 is directly connected, Ethernet1/0
L        172.20.1.1/32 is directly connected, Ethernet1/0

-----------------------------------------------------------------------------------------------------------------------------

(通信の実施例)

#ping 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

00:18:32: IP ARP: creating incomplete entry for IP address: 192.168.1.1 interface Ethernet1/0
00:18:32: IP ARP: sent req src 172.20.1.1 aabb.cc00.6501,
                dst 192.168.1.1 0000.0000.0000 Ethernet1/0.
(skip)
#show arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  133.160.139.65          -   aabb.cc00.6500  ARPA   Ethernet0/0
Internet  172.20.1.1              -   aabb.cc00.6501  ARPA   Ethernet1/0
Internet  192.168.1.1             0   Incomplete      ARPA
#
(Ethernet1/0 の subnet は 172.20.1.0/24 だが、192.168.1.1 に対する ARP request を送信している)

-----------------------------------------------------------------------------------------------------------------------------

default-route に 1) 形式の static を使用し、next-hop interface 上に proxy arp が有効となっている機器が存在する場合、パケットの宛先に対する ARP entry が順次作成され、結果として ARP table のサイズが意図せず大きくなってしまうことがございますのでご注意ください。

next-hop interface に broadcast media を使用する場合、特に理由がない場合 2) の形式で設定いただければ、このような問題を回避することができます。

2.Next-hop address のみを指定する static route の場合

3) の形式は、特に recursive static と呼ばれ、原則として指定した next-hop に到達可能な経路を学習している場合に routing table に install されます。interface が down しても static が残ってしまうというお問い合わせをよくいただきますが、大抵の場合この形式の static を使用しており、なおかつ next-hop に到達可能な経路を学習している状況です。

ここで「原則」と記載しているのはいくつか例外があるためです。以下にその例を紹介します。

2-1. 循環参照となってしまう場合
-----------------------------------------------------------------------------------------------------------------------------

ip route 10.1.0.0 255.255.0.0 10.1.1.1
-----------------------------------------------------------------------------------------------------------------------------

この static のみが存在する場合、10.1.1.1 に到達するためには 10.1.0.0/16 を参照し、その next-hop は 10.1.1.1 .....という形で参照が続いてしまいます。結果としてパケット転送には使用できない状態のため、この場合は routing table に install されません。

この static が install されるには、10.1.1.1 に対して 10.1.0.0/16 よりも mask の長い経路が必要になります。例えば、次のような場合には、この static も

routing table に install されます。

-----------------------------------------------------------------------------------------------------------------------------

(設定例)
interface Ethernet1/0
ip address 172.20.1.1 255.255.255.0
!
ip route 10.0.0.0 255.255.0.0 10.1.1.1
ip route 10.1.1.1 255.255.255.255 172.20.1.2

-----------------------------------------------------------------------------------------------------------------------------

(Routing table 出力例)

     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
S        10.1.0.0/16 [1/0] via 10.1.1.1
S        10.1.1.1/32 [1/0] via 172.20.1.2
     
172.20.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.20.1.0/24 is directly connected, Ethernet1/0
L        172.20.1.1/32 is directly connected, Ethernet1/0

-----------------------------------------------------------------------------------------------------------------------------

この例の場合、10.1.0.0/16 が使用したい next-hop 10.1.1.1 に対する経路が 10.1.1.1/32 として別に存在します。10.1.1.1/32 が使用する next-hop の経路は connected 経由で学習している状態です。
そのため、循環参照とはならず、どちらの static も routing table へと install されています。

もし、172.20.1.0/24 の学習元である Connected の Ethernet1/0 が down すると、すべての static が消えることになります。

2-2. Next-hop が使用する経路が、自身の経路を含む(maskが短い)static の場合

-----------------------------------------------------------------------------------------------------------------------------

(設定例)

interface Ethernet1/0
ip address 172.20.1.1 255.255.255.0
!
ip route 10.0.0.0 255.0.0.0 172.20.1.2
ip route 10.0.0.0 255.255.0.0 10.1.1.1

-----------------------------------------------------------------------------------------------------------------------------

(Routing table 出力例)

S     10.0.0.0/8 [1/0] via 172.20.1.2
      172.20.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.20.1.0/24 is directly connected, Ethernet1/0
L        172.20.1.1/32 is directly connected, Ethernet1/0

-----------------------------------------------------------------------------------------------------------------------------

この設定方法の場合、循環参照にもならず両方の static が routing table に install されそうですが、実際には 2 つ目の static が install されません

これは、1 つ目の 10.0.0.0/8 が 2 つ目の 10.0.0.0/16 も含む形であり、パケット転送時に複数回の参照を避けるためです。

 

同様の理由で、next-hop が使用する経路が default-route の場合も、その static は install されません。

-----------------------------------------------------------------------------------------------------------------------------

(設定例)

interface Ethernet1/0
ip address 172.20.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 Ethernet1/0 172.20.1.2
ip route 10.0.0.0 255.255.0.0 10.1.1.1

-----------------------------------------------------------------------------------------------------------------------------

(Routing table 出力例)

S*    0.0.0.0/0 [1/0] via 172.20.1.2, Ethernet1/0
      172.20.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.20.1.0/24 is directly connected, Ethernet1/0
L        172.20.1.1/32 is directly connected, Ethernet1/0

-----------------------------------------------------------------------------------------------------------------------------

 

バージョン履歴
改訂番号
1/1
最終更新:
‎04-12-2012 09:27 PM
更新者:
 
ラベル(1)