【職業訓練CCNA32日目】OSPFを改めて。
32日目です。
改めてOSPFです。
OSPF:Open shortesut Path First
マルチベンダ環境をサポート
いろんなメーカーにおいて設定できる。
スケーラブル
エリアの概念で階層型設計を採用しており、非常に大規模なネットワークに拡張可能
RIP:中小規模
OSPF:大規模
EIGRP:大規模
階層型ルーティング
大規模の際、エリアに基づくLSA
障害を一つのエリアに留めることができる。
エリアの分割と経路集約が可能で、負荷が減る。
リンク情報の交換(リンクステート型)
ルータ同士がインターフェースの情報=リンクを交換します。
リンクステート情報と呼び、リンクステートデータベースに格納される。
SPFアルゴリズム
ダイクストラアルゴリズムで最短パスの計算を行う。
トポロジ全体を把握
ループフリーで効率的なパスを個別に選択できる。全ルータが把握している。
イベントトリガーアップデート
ネットワークの変更、障害をトリガーとして変更部分のみをアップデート。または定期的に30分ごとにフラッディング。
認証機能
MD5とシンプルパスワードをサポート。
信頼できるルータとだけ情報の交換をできる。
動作フロー
①Helloパケットの交換→隣接関係(ネイバーテーブル)の確立
②隣接関係同士LSAの交換→LSDB(トポロジーテーブル)に格納
③LSDBからトポロジマップを作成
④SPFアルゴリズムにより最適経路(optimum path)計算→ルーティングテーブルに登録
⑤トポロジ変更時→トリガーアップデートでLSAを含むLSUを送信→SPF再計算
↓
結果
ループが発生しない
高速コンバージェンス(スペックHighのルータを使用)
ホップ数を考えない
①Helloパケットの交換
隣接関係(neigbour table)の確立
隣のルータが誰なのかを把握する。
ネイバーを確立
②隣接関係同士(アジャセンシー)のLSAの交換(~30minおき) :LSA type 1を送信
LSAをLSDB(topology table)に格納
LSAの中身:(IP add, Mask,Metric)
LSAのtype 1がアドレス、マスク、メトリック
ほかにもたくさんある
7までがversion2で5まで覚えとくとよい
8,9はversion3
③LSDBからトポロジマップを作成
全ルータが把握する。
④トポロジマップを基にSPFアルゴリズムによって最適経路を計算
routingテーブルに登録。
⑤トポロジ変更時
変更のあった差分のみをトリガーアップデート
LSU(Link State Update)の通知。
dead time後に消去される
OSPFパケットフォーマット
・OSPFのパケットはIP上のプロトコル番号 89 を使用(IPヘッダ)
・バージョン
・タイプ(OSPFパケットタイプ)
・パケット長
・ルータID
・エリアID
・チェックサム
・認証タイプ
・認証
OSPFパケットタイプ
・Hello:ネイバー関係の確立維持,224.0.0.5 Deadインターバル
・DBD:Database Description:LSAの要約情報.DBの動機チェックを行う
・LSR:リンクステート情報を要求
・LSU:リンクステート情報を送信する
・LSAck:LSUパケットの確認
Helloパケットの中身
ネットワークマスク:Helloパケットを送出するインターフェースのネットマスク
Hello間隔:ネイバー関係の確立維持,224.0.0.5 Deadインターバル
オプション:8つある。スタブエリアを意味するフラグ値を格納
ルータプライオリティ:DR/BDRの選択に使用される 8 ビット。0~255。0 の値はDR/BDRになれない。
Dead間隔:ネイバールータをダウンとみなす間隔。常にHello間隔の4倍。
DRのIPアドレス:ネットワーク上でDRが存在しない場合は 「 0.0.0.0 」
BDRのIPアドレス:ネットワーク上でBDRが存在しない場合は 「 0.0.0.0 」
ネイバー:関係が確立済みである全てのネイバールータのルータIDの一覧
OSPFネイバーを確立するためには次の項目を一致させる必要がある。
① エリアID
② 認証 ( 認証が有効な場合 )
③ ネットワークマスク
④ Helloインターバル
⑤ Deadインターバル
⑥ スタブエリアフラグ ( オプション値 )
⑦ 隣接するI/FのMTUサイズ
OSPFのプロセス遷移
①DOWN状態:Helloパケットを受信していない初期状態
↓
②INIT状態:Helloパケットを受信したが対抗はまだ自身を認識していない状態
↓
③2WAY状態:お互いを認識しあう。(DROTHER同士はここから進まない)
↓
④DR/BDRの選出
↓
⑤EXSTART状態(マスターとスレイブを決める)
↓
⑥EXCHANG状態(足りないものを交換し合う)LsACKなどを送ったり
↓
⑦LOADING状態(LSR,LSUの送信)足りないものを確認しあい、送りあう
↓
FULL状態=アジャセンシー
Hello intavalの送信(keep-alive)
障害が発生するとネイバーダウンとみなす(Dead intervalによる)
ネイバー:同じセグメント上に接続されているOSPFルータ同士の関係
アジャセンシー:ネイバーの中で実際にLSAを交換し、LSDBの同期をとる関係
DROTHER同士以外がLSAを交換し合う!
・ルータID
ドメイン内で各ルータを一意に識別するための番号。
32bitでIPv4のようにオクテットで区切る
重複してはいけない
優先度
①router-idコマンド
②アクティブなリンクしているなかでループバックインターフェイスの中で最大のIPアドレス
③アクティブな(リンクアップしている)インターフェイスの中で最大のIPアドレス(デフォルト)
router idコマンド > loopback IF > アクティブインターフェース
・メトリック
帯域に基づいてルートを決める。
各リンクコストの合計値が最小であるパスを最適ルートとする。
コスト = 100,000,000 ÷ 帯域幅(bps)
cost = 100Mbps / 帯域幅
メトリックは小さいほうを選ぶ
・DR/BDR/DRO
選出することでトラフィックが減少し、効率よくLSAの交換が行える。(隣接関係数が減少)
DR:Designated Router
LSAの交換を取りまとめる代表のルータ
BDR:Backup Router
DRのバックアップ
DROTHER:
その他のルータ
隣接関係の数はn(n-1) ÷2
サブネット(セグメント)ごとに一台ずつ決定される
DRO同士はLSAは交換しない!
OSPFプライオリティ値
0~255の範囲
デフォルトは1
OSPFが有効な各インターフェイスごとに設定できます。
Helloパケット内に含まれる。
選出方法 値が大きいものが選出される
プライオリティ値が最大のルータがDR
プライオリティ値が二番目に大きいルータがBDR
プライオリティ値0のルータはDR/BDRになれない(DROTHERに固定)
プライオリティ値が同じ場合、ルータIDが最大のルータがDR、二番目に大きいルータがBDR
DR.BDR選出は、OSPFプロセスを起動した順番に影響する。
後からプライオリティ値が最大のものをネットワークに追加してもすぐにはDRにはなれない。
現在のDRを削除してからではないとなれない。
サブネットごとに選出される。
選出にはマルチキャスト224.0.0.5 or 224.0.0.6が使用される
ループバックインターフェイス
管理者が自由に作成できる仮想的なインターフェース
作成時にデフォルトで有効でno shutはいらない。shutdownはできる
決してダウンすることのないインターフェース
interface loopback <number>
1.2.3.4/32
何個でも設定可能
マルチエリアOSPF
複数のエリアに分割
同一のLSDBを保持、ほかのエリアに関しては要約したネットワーク情報だけを持つ
二層の階層構造になる
メリット
DBのサイズ縮小
SPFの計算頻度の減少
ルーティングテーブルのサイズの小型化
バックボーンエリア(エリア0)
エリア間のトラフィックを中継するエリア。通過エリア。
エリア0を設定すると認識される。
各エリアは エリア0に隣接することが原則
標準エリア
バックボーンエリア以外のエリア。
必ずバックボーンエリアに接続している
ルータの役割
内部ルータ
すべてのインターフェースが同じエリアに所属している
バックボーンルータ
一つ以上のインターフェイスがバックボーンエリアに所属しているルータ
ABR(Area Border Router)
エリア境界ルータ。複数のエリアを相互に接続するルータ、所属するすべてのエリアのLSDBを持っている
多くのCPUとメモリを消費する。必ず通る道となる。
ASBR:Autonomous System
自律システム境界ルータ。一つ以上のインターフェースが非OSPFネットワークに所属している
OSPFルーティングプロセスへ ルート再配布することでASBRが動作する
ルート情報を集約できるのはABR & ASBRのみ
ABRは経路集約したものをバックボーンへ送信している
他エリア情報を内部へ送信
外部AS = 非OSPFドメイン
LSAの種類
single area LSA type 1,2
Multi area(ABR) LSA type: 1,2,3
Multi area(ABR + ASBR):LSA type 1,2,3,4,5,7
LSDBの構成要素
LSAには種類がある
LSAタイプ1:ルータLSA
直接接続しているリンクの状態を表現する
すべてのOSPFルータが生成。
ルータID
リンク数
すべてのリンクの詳細情報(メトリック)
ABR(B),ASBR(E)に所属しているかどうか
発生したエリアのみフラッディング
ルート情報にはルーティングテーブルでOSPFエリア内ルートを示す0というコードがつく
LSAタイプ2:ネットワークLSA
DRが生成する。
DRのIP
マルチアクセスネットワークに接続されているルータのリスト
ネットワークのサブネットマスク
そのエリア内でのみフラッディング
LSAタイプ3 ネットワーク集約LSA
エリア内に存在するネットワークアドレスを他のエリアへ通知するためのLSA
ABRによって生成
ABRはデフォルトですべてのサブネットに関するルート情報をアドバタイズ
自律システム全体にフラッディング
ルート情報にはルーティングテーブルでOSPFエリア間ルートを示し0 1Aというコードがつく
LSAタイプ4:ASBR集約LSA
ABRが生成
ASBRの情報を他のエリアに通知するためのもの
ASBRのルータID
ASBRに到着するまでのメトリックが含まれる
非OSPFネットワークが接続され、ASBRルート情報をOSPFに再配布している場合にABRが生成
自律システム
LSAタイプ5:AS外部LSA
非OSPFネットワークのネットワークアドレスをOSPFドメインへアドバタイズするためのLSA
非OSPFネットワークのネットワークアドレス
サブネットマスク
メトリック
転送アドレスが含まれる
ASBRが生成(非OSPFに接続、ルート情報をOSPFに再配布している場合)
ASBRはデフォルトですべてのサブネットに関するネットワークアドレスをアドバタイズ
大規模ネットワークにおいて効率的なOSPFルーティングを行うにはASBRで明示的にルート集約を設定する
自律システム全体にフラッディング
コードは 0 E1 or 0 E2
・ネットワークタイプ
①ポイントツーポイントネットワーク
二台のルータのみで接続
シリアルインターフェイスのカプセル化タイプがPPP or HDLC→デフォルトのネットワークタイプ
DR/BDRの選出はしない
マルチキャスト224.0.0.5
neighbour自動検出
Hello,Dead間隔は10,40sec
②ブロードキャストマルチアクセスネットワーク
Ethernetを使用(LANケーブル)デフォルトのネットワークタイプ
スイッチから一つのサブネット
バス型と間違わないように
ブロードキャスト・マルチキャストをサポート
DR/BDRを選出
ネイバー自動検出
Hello/Dead = 10/40 sec
将来的により多くの台数が接続する可能性がある。
③ノンブロードキャストマルチアクセスネットワーク(NBMA)
現在使われていない。
ハブ側でネイバーを指定 neighborコマンド
フレームリレー関係。
Hello Dead interval = 30,120 sec
マルチキャスト、ブロードキャストへ対応していない