Open Shortest Path First (OSPF)

NOTE

基本

ip ospf area

network area

  • OSPFを有効にする
  • Attached via でnetwork コマンドかip ospf X area Y が分かる
Router#show ip ospf interface
FastEthernet0 is up, line protocol is up
  Internet Address 192.168.0.1/24, Area 5, Attached via Network Statement
  Process ID 1, Router ID 192.168.1.1, Network Type BROADCAST, Cost: 1
  Topology-MTID    Cost    Disabled    Shutdown      Topology Name
        0           1         no          no            Base

FastEthernet1 is up, line protocol is up
  Internet Address 192.168.1.1/24, Area 7, Attached via Interface Enable
  Process ID 1, Router ID 192.168.1.1, Network Type BROADCAST, Cost: 1
  Topology-MTID    Cost    Disabled    Shutdown      Topology Name
        0           1         no          no            Base

ip ospf priority

  • DR/BDR選出に必要な優先度

auto-cost

  • auto-cost reference-bandwidth でコスト計算式の分子を変更
  • 使うなら全ルータで設定が必要

ip ospf cost

  • 手動コスト変更

router-id

経路選択

 

Network Type

ip ospf network

neighbor (OSPF)

  • ip ospf network broadcast
  • ip ospf network non-broadcast
    – 要neighbor
    – ネイバ単位でのコスト指定が可能
  • ip ospf network point-to-point
    – Loopbackに入れることでホストルートを止める
  • ip ospf network point-to-multipoint
    – ホストルートで広告する
  • ip ospf network point-to-multipoint non-broadcast
    – 要neighbor
    – ネイバ単位でのコスト指定が可能

 

 

  • OSPFではHello Packetを受信するとIPヘッダとOSPFパケットのヘッダの有効性をチェックし、次にMask、Hello、Deadを比較チェックする。但し、PtoPとVirtual-linkではMaskは無視される。

 

認証

ip ospf authentication

ip ospf authentication-key

ip ospf message-digest-key md5

area authentication

area virtual-link

  • IF単位
!!! text
interface Ethernet1/0.68
 ip ospf authentication
 ip ospf authentication-key cisco

!!! MD5
interface Ethernet1/0.68
 ip ospf authentication message-digest
 ip ospf message-digest-key 1 md5 cisco

 

  • Area単位(PWの設定はIFで行う)
!!! text
router ospf 65000
 area 0 authentication

interface Ethernet1/0.68
 ip ospf authentication-key cisco

!!! MD5
router ospf 65000
 area 0 authentication message-digest

interface Ethernet1/0.68
 ip ospf message-digest-key 1 md5 cisco

 

  • area X authentication を使うと対象IF全てで認証を有効化できる。その代わりにネイバーが認証に対応していないとネイバーを張れない。ip ospf authentication null を入れると該当IFでは認証を無効にできる。
!!! Null
interface Ethernet1/0.68
 ip ospf authentication null

 

  • 一つのIF上で複数使える
interface Ethernet1/0.68
  ip ospf authentication message-digest

  ip ospf message-digest-key 1 md5 MD5KEY1
  ip ospf message-digest-key 2 md5 MD5KEY2
  ip ospf message-digest-key 3 md5 MD5KEY3

 

 

key chain OSPF-CHAIN
 key 1
  key-string cisco
  cryptographic-algorithm hmac-sha-256

interface Ethernet1/0.68
 ip ospf authentication key-chain OSPF-CHAIN

 

  • Virtual Link IFレベル
!!! text
router ospf 65000
 area 17 virtual-link 10.0.0.1 authentication authentication-key cisco

!!! MD5
router ospf 65000
 area 17 virtual-link 10.0.0.1 authentication message-digest
 area 17 virtual-link 10.0.0.1 message-digest-key 1 md5 cisco

 

  • Virtual Link Area単位の場合はVirtual LinkはArea 0になる
  • またぐarea ではなく、area 0にする
!!! text
router ospf 65000
 area 0 authentication
 area 17 virtual-link 10.0.0.1 authentication-key cisco
 
!!! MD5
router ospf 65000
 area 0 authentication message-digest
 area 17 virtual-link 10.0.0.1 message-digest-key 1 md5 cisco

 

タイマー

ip ospf hello-interval

ip ospf dead-interval

ip ospf retransmit-interval

ip ospf transmit-delay

  • deadはhelloの4倍
  • retransmitはLSAを再送する時間
  • transmit-delayはLSAを送信する時にLSAに付加する時間
    – 相手が受信してからLSageが増加する為、回線を通過する時の時間を足す必要がある
  • ip ospf dead-interval minimal hello-multiple
    – Helloの指定は秒単位のためにミリ秒での設定ができない
    – Deadを1秒に設定し、その1秒間に何個のhelloを送るかを指定することで結果的にhelloをミリ秒単位でやりとりできる

 

デフォルトルート

default-information originate (OSPF)

area stub

area nssa

area default-cost

  • staticの再配送はできない。staticでデフォルトを持ちながら、default-information originateを使う。
  • default-information originate always を使うとstaticデフォルトがなくても流せるようになる。
  • default-information originate route-map XXXX でルートマップを条件に真の時だけデフォルトを流させる
  • alwaysつけても、ルートマップ条件つけると、条件を満たさないと止まる
  • default-information originate はType 5扱い
  • stub、stub no-summary はType 3扱い
  • nssa no-summary はType 3扱い
  • nssa default-information-originate はType 7扱い
    – この時はルーティングテーブルにデフォルトルートが無くても生成OK
  • NSSA内でABR 2台たて、異なるデフォルートを広報して冗長が取れる
  • stub, stub no-summary にarea XX default-costでコスト付与
  • nssa はno-summary, default-information-originate どちらにも付与できる
  • default-information-originate は続けてmetric でも付与できる
  • metric とdefault-cost はmetric の付与が勝つ
  • NSSA ABRが default-information-originateを使う時はルーティングテーブルにデフォルトルートが無くても生成OK
  • NSSA ASBRが default-information-originateを使う時はルーティングテーブルにデフォルトルートが必要

 

フィルタリング

distribute-list in (IP)

  • LSAは受け取るがルーティングテーブルに載せないようにする

distribute-list out (IP)

  • 他プロトコルからOSPFに再配送する時にOSPF側に取り込まない

area filter-list

  • エリア間経路(タイプ3)
    – ABRがIA として持っている経路についてフィルタする
    – in = 他エリアから指定エリアに入れる/入れない
    – out = 指定エリアから他エリアに出す/出さない

ip ospf database-filter all out

neighbor database-filter all out

  • 同一エリア内(タイプ1)
    – 指定のIFからLSAをフラッディングしない

area range

summary-address (OSPF)

  • not-advertiseでフィルタと同等のことができる
  • not-advertiseするとnull0は作成されない

distance ospf

distance (OSPF)

distance weight [ ip-address wildcard-mask [ access-list name ] ]

  • IPアドレスはネイバーのアドレスではないのでLSDBのADV Router を確認する。

集約

area range
summary-address (OSPF)

discard-route

  • ABRでIntra の集約は area range
  • [参考] OSPF area range
  • 集約時のCostは最小経路のもの
    – area X range ~ cost で手動設定も可
    – [参考] OSPF area range cost
  • ASBRでExternal の集約は summary-address
  • NSSAに限ってはABRでもsummary-addressを使ってnssa-external を集約できる。さらにnot-advertiseでNSSA内にある経路をNSSA外に出さないようにできる。

 

Stub & NSSA

area stub

area nssa

  • P bit = 1 で変換、P bit = 0 で変換しない
  • NSSAでのno-summaryとno-redistributionの使い方は覚えておく。
  • ABRのno-summaryで流すデフォルトを受け取るのはnssaルータだけ。ABRが2台あり、1台だけでno-summaryした場合、残りのABRはデフォルトルートをルーティングテーブルに持たない。

area X nssa  no-summary no-redistribution

  • 設計によってはABRとASBRが同じになることがある。
  • NSSA側はデフォルトルート(no-summary)さえあればよいので、ASBRが流すタイプ7を抑制して(no-redistribution)オーバヘッドを減らす。
  • エリア0側にはExternal で再配送される。

area nssa translate

area X nssa translate type7 suppress-fa

  • NSSA ABRがForwarding Addressを0.0.0.0にセットする
    – 本来の転送先がASBRではなく、ABRになる
    – FAが0.0.0.0の場合、Advertising Router宛に送るようになる

 

カスタマイズ、最適化、その他

timers throttle spf

timers throttle lsa all

timers lsa arrival

timers pacing flood

timers pacing retransmission

timers pacing lsa-group

capability transit

  • Virtual Link使用時にコスト的に優先される経路があればそれを使う
  • [参考] OSPF capability transit

max-metric router-lsa

  • 一時的にルータLSAのメトリックを最大値にして自身のLSA計算に使わせない。
  • パス選択から外れるので、メンテ時のリロード前などに使える

max-metric router-lsa on-startup announce-time

  • 起動時に指定秒間だけ最大値のLSAを配布する

max-metric router-lsa on-startup wait-for-bgp

  • BGPが収束するまでの間、最大値のLSAを配布する

ip ospf demand-circuit

  • HelloとLSDBのリフレッシュを抑制する、但しネイバーは維持
  • ISDNのような従量課金回線での発呼を抑える
  • PtoPで使う

ip ospf flood-reduction

  • ip ospf demand-circuitと違いhelloは抑制しない
  • LSDBリフレッシュは抑制する
  • 定期的なリフレッシュによって低速回線の回線効率を落としてしまわないようにする

max-lsa

  • OSPFで扱うLSAの最大数

redistribute maximum-prefix

  • 再配送時に扱うLSAの最大数(再配送する経路数)

ispf (incremental SPF)

  • トポロジの変化に対して、全体を再計算するのではなく、影響のある部分だけを計算する
  • 同じNWにISPF有効ルータ、無効ルータが混在するのは問題無し(時間がかかるが全体を計算すればよいだけ)

fast-reroute per-prefix enable (OSPF)

  • 予め代替え経路を計算しておき高速な切り替えをおこなう

prefix-suppression

ip ospf prefix-suppression

  • Type 1,Type 2の広報を抑制する
  • Loopback, Secondary, Passive-interfaceは除外

ignore lsa mospf

  • Type 6(MOSPF) を受信した際にsyslog生成せずに無視

ip ospf mtu-ignore

  • MTU不一致検出を無効化する

ip ospf name-lookup

  • show コマンドでの表示の際にDNSを参照してホスト名で表示

 

REFERENCE

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です