ここからはじめる OSPF 研修コースに参加してみた
今回参加した研修コースは ここからはじめる OSPF です。
OSPF * は支店などを繋いでネットワークを構築するときによく使われるプロトコルで、 CCNA Routing and Swiching でも出題されるテーマの1つです。
参加してみると、なぜ、その設定が必要なのか、コマンドを打つだけにとどまらない仕組みをわかりやすく理解できました! 書籍などでは膨大な量が記述されるテーマですが、書籍著者の Gene さんらしい、順番よく、 3 時間でポイントをおさえた内容でした。
*OSPF : Open Shortest Path First の略
ルーティングを設定するネットワークエンジニアの方や、 CCNA 取得をお考えでルーティングをしっかり学びたい方には、とてもオススメです!
では、どんな内容だったのかレポートします!
もくじ
コース情報
想定している受講者 |
|
---|---|
受講目標 | OSPF の動作の仕組みを踏まえて、企業ネットワークで OSPF を利用するための基礎知識を習得する |
講師紹介
自身の学習体験で生まれた「?」から「ネットワーク技術をわかりやすく解説する」
学習サイト「ネットワークのおべんきょしませんか?」を開設して 20 年。著書も多数
「おうちで学べるネットワークのきほん」(翔泳社刊)
「ルーティング&スイッチング標準ハンドブック 一番大切な知識と技術が身につく」(SB クリエイティブ刊)
ちなみに、たまにスクリーンに映る Gene さんのデスクトップ背景はフェラーリでした!!
今日の内容
- あらためて IP ルーティングをおさらいましょう
- OSPF でルーティングテーブルをどのように自動生成しているのか理解しましょう
- たくさんの用語・略語があるので、しっかり理解しましょう
- OSPF は大規模向けと言わますが、しっかり設定しないと使えないので、背景を理解しましょう
- Cisco ルータで OSPF を設定して、ネットワーク構成図を作るところを見てみましょう
IP ルーティングのおさらい
まずルーティングがどのように行われているのか理解し、 OSPF が何を解決しているのか解説します。
ルーティングテーブルに転送先が無いとパケットは捨てられます。
OSPF を使えば、このルーティングテーブルを自動作成・自動更新するため、設定すれば、障害が発生しても影響範囲を最小限におさえ、復旧も早めることが来ます。
とてもわかりやすい例え方でした。
この例えで OSPF を考えると、遅延や事故があった場合、 OSPF が自動検知して、自動で迂回ルートを計算・設定すると言えそうです。とても便利ですね。
ルーティングテーブルとは?
- ルート情報 (経路情報) を載せている
# show ip route
でルーティングテーブルが出てくる- ルート情報に載っていること
- どうやって、このルートを登録したのか
- どれぐらいの距離、メトリックなのか
- どの住所、アドレスなのか
ルーティングテーブルに情報を載せるには、直接繋がっているルータであれば、 IP アドレスを登録するだけで簡単にできます。
ここで問題になるのが、直接つながってないリモートネットワークをどう登録するかです。
- スタティックルートとはいちいち人がコマンドを打って登録するやり方
- めちゃくちゃ面倒..
- そこで自動で簡単に設定できるダイナミックルートですよ
- ダイナミックルートには RIP や OSPF などのプロトコルがある
RIP にあった問題を解決したのが OSPF で、現在はこれが主流になっています。
- 最適ルートは単純にメトリックで比較しても導かれない
- そこでアドミニストレイティブディスタンスが登場
- Cisco 独自のもので単位を換算して、比較できるようにした
ネットワークの速さに繋がるルートを決める上で、距離の問題はとても重要です。が、これだけ計測方法が違うと、この単位換算のチューニングはかなり難しいものに見えます。
- 32 ビットのアドレス情報を全部なめない
- サブネットマスクまでのチェックで終わる
その他、インターネットの構成や BGP というプロトコルについても解説し、ルーティングのおさらいが完了です。
次から OSPF です。前段の説明が少し長く感じるかも知れませんが、これが理解できなていないと以降の話がまったくわからないので、とても重要でした。
OSPF とは
ルーティングのおさらいと OSPF の登場背景を理解したところで、具体的に OSPF というプロトコルにどんな特徴があるのか、解説してもらいました。
- リンクステート情報 ( LSA : Link State Advertisement ) という、 OSPF が有効になっているルータの接続情報を、ルータ同士で交換する
- その LSA を集めて LSDB (Link State DataBase) を作成する
- 最適ルートの計算に SPF というアルゴリズムを採用している
- なので OSPF という名前
- LSDB でネットワーク構成を把握できる!
OSPF の仕組み ~ LSA によるネイバー情報の更新
ここからは、どのように OSPF が LSA を収集して、 LSDB を作り、更新しているのかというお話です。
- OSPF のパケット、 Hello パケットをルータ同士で転送して、 LSA を収集
- 32 ビットのルータ ID を使って、 OSPF を使っているルータなのか分かるようになってる
- 繋がっている OSPF ルータ (ネイバー) を見つけていく
- ネイバーを見つけたら、 LSA を交換して、 LSDB を更新する
- ただイーサネットのようなマルチアクセスネットワークだと、それぞれのルータ同士で LSA を交換するのは効率がよくない
- そこで DR ( Designated Router ) という代表ルータを作って、そこにLSAを集約する
- マルチアクセスネットワークのときは DR との間のみで LSA を交換して、 LSDB を更新する
- ネイバー情報の更新
- 定期的に Hello パケットを送り合ってる
- その定期の間隔を Hello / dead [生きてない] インターバル で設定している
- 設定値は 2 つあるが、いまは 10 秒 / 40 秒で設定するのがほとんど
- OSPF のメトリック計測方法をもとに最適ルートを計算
- 30 年前に作られたプロトコルなので、 100 Mbps を超えると計算しない。いまはギガの時代
- なので計算式を変える必要があるんです
- ポイントはメトリックを累積で計算しているところ
- OSPF のステータスの読み方
- 2WAY: ネイバー見つけたよ
- FULL: 同期取れたよ // LSDB が一致したよ
- 他のステータスが出たら詰まったサインなので調べてね
OSPF を設定すれば、あとは Hello パケットがよしなにやってくれて、人間はとても楽を出来ますね。
まったく話が違いますが、カーナビ同士がインターフェイスをもって最適ルートを計算するのに似ていて、自律システムはモデルが同じなのかも知れません。
OSPF で大規模ネットワーク構築 ~ エリアの接続
いよいよ OSPF を大規模ネットワークに適用します。ただ、そのままでは問題があります。
では、どのような問題があるのでしょう?
その解決方法であるエリアと、実際にどのようにルータを配置するのか、解説していただきました。
- LSA そのものは小さいが、 LSDB のサイズ、ルーティングテーブルも肥大化する
- 小さいところでもルータが障害を起こすと、全体の LSDB を更新してしまうときがある
- エリアを分けて、疎結合にすることで影響範囲を狭める
- エリアの種類とルータのタイプ
- 内部ルータ (エリア内の標準)
- バックボーンルータ (エリア代表)
- ABR
- エリア同士を繋ぐルータ (バックボーンルータとバックボーンルータを繋ぐ)
- バックボーンルータが LSDB を持っているのではなく、 ABR が持っている
- なお、ここは冗長化したほうが良い
- 実際に OSPF で生成される LSDB とはどのようなものなのか
- エリア内のネットワーク構成
- エリア外のネットワークアドレス
- OSPF を使ってないネットワークアドレス
- ちなみにエリア内で障害が発生すれば、 LSDB を再計算する
- でもエリア外はその障害エリアを捨てるというだけでよい
ルータのタイプ毎に LSA も変わり、どのルータがどの LSA を共有しているのかも重要です。
ちなみに、タイプ 8 , 9 もあって、それが IPv6 で使われるものです。
OSPF 設定 (デモンストレーション)
最後に実際どのように Cisco ルータで設定するのか、 Gene さんがデモされました。
デモしたこと
- OSPF はネイバーを見つけないと始まらないので、ルータ毎にネイバーを見つける設定をやる。とはいえ、簡単 3 つの設定
- OSPF を有効化するコマンドを打つ
- ルータ ID を決めるコマンドを打つ
- インターフェイスで OSPF を有効化するコマンドを打つ
- 設定後、 Hello パケットを流し始める
- Hello / dead インターバルを変える
- デフォルト 40 秒だと遅いので変更コマンドを打つ
- 重要なのは、インターバルを変えれば、他のルータ全部もやる
- メトリック (コスト) 計算方法を変える
- コスト = 100 / BM // 100 は 100 Mbps なので、この 100 を変える
- Hello インターバルと同じで、ルータ全部やらないとダメ
- ネイバー認証を設定する
- 勝手にルータつないで、 LSDB とか変えるとマズイですからね
- 動作を確認するコマンド
- 思ったとおりに動作しているか確認するコマンド
そして最後に LSDB と LSA を実際見てみました。
実際に設定して、# show ip ospf dabase [router]
のコマンド一発でネットワーク構成が出てくると、ネットワークエンジニアのやりがい「繋がった」感がありそうです!
まとめ
OSPF という大規模ネットワークで主流のプロトコルについて、何を解決するもので、どんなプロトコルで、どんな動作をするのかがわかり、最後にコマンドを見ることが出来ました。
Tips としては最後のコマンドのみでも OK かも知れませんが、なぜその設定をするのか分かると、忘れることもミスすることもありませんね。
これからネットワークを実際に構築する、 CCNA の受験対策で OSPF を詳しく知っておきたい、という方には 3 時間で体系を一通り学べるので、とてもオススメです!
なお、最後のデモでは 1 台 1 台コマンドで設定していましたが、これを自動で設定できるように、徐々に浸透する SDN, OpenFlow の話に繋がっていくことを教えていただけました。
基礎をしっかり理解していると、新しいものが出てきたときにも、その便利さにいち早く気づけて試せるのかも知れません。
SEプラスにしかないコンテンツや、研修サービスの運営情報を発信しています。