令和3年(2021年)ネスペ午後Ⅰ 問Ⅱ 解答解説

設問2

OSPFへデフォルトルートを導入する

OSPFはリンクステートルーティングプロトコルであり、基本は network コマンド等で有効化したインターフェースの直接接続ネットワークやLSAを交換する仕組み。他の経路(スタティックルートなど)をOSPFの世界に持ち込むには、明示的な「再配送」や今回のデフォルトルート広告のような設定が必要になる。

Hjson
router ospf 1
 default-originate information [always]

設問3

(1)ルーティングテーブルサイズを小さくする

👇ルーティングテーブルを小さくする3大メリット

  • ① ルータのメモリ(リソース)の節約
    ルータはルーティングテーブルをメモリ(RAM)上に保持する。細かい経路をそのまま全部持っているとメモリを消費するが、集約してエントリ数を減らせば、機器への負荷を抑えられる。
  • ② パケット転送(ルックアップ)の高速化
    ルータはパケットが届くたびにルーティングテーブルから宛先を探す(最長一致検索)。テーブルの行数が少なくなれば検索にかかる時間が短縮され、転送処理の高速化(遅延の防止)につながる。
  • ③ 経路フラッピング(障害・変動)の影響を抑える(一番重要!)
    これが実務や試験で最も重視されるポイント。例えば、支社のなかで特定の回線が「チカチカと切れたり繋がったり(フラッピング)」を繰り返したとき、細かい経路がそのまま上位に広告されていると、その都度上位のルータで「SPF計算(経路の再計算)」が走りまくり、ネットワーク全体のCPUが爆発する。あらかじめ経路を集約しておけば、末端の細かい変動が上位に伝わらなくなるため、ネットワーク全体の安定性が爆上がりする。

今回の場合では、このようなコマンドを使う。

Hjson
router ospf 1
 area 1 range 172.16.0.0 255.255.0.0

設問4

(2)機器:①ルータ②L3SW1 設定内容:OSPF仮想リンクの接続設定を行う

バックボーンが分断された場合はABR間で仮想リンクを構成する。なので、答えは、L3SW1とルータとなる。

Hjson
L3SW6(エリア0)ーーー L3SW1(エリア0とエリア1) ーーーーー 本社のルータ(エリア1とエリア0)

実際のコマンド👇

Hjson
#テンプレ
area トランジットするエリア virtual-link 相手のRouterID

#本社ルータの設定
router ospf 1
 area 1 virtual-liink <L3SW1のRouter ID>
 
 
#L3SW1側の設定
router ospf 1
 area 1 virtual-liink <本社ルータのRouter ID>

例題👇
Q. R1(area0)ーー R2(area0とarea1) ーー R3(area1とarea2)ーー R4(area2)の構成の場合、どこにどのような設定をすべきか?
A. R2でarea 1 vritual-link R3のRouterID
  R3でarea 1 virtual-link R2のRouterID




p.8 Q.VPCって何?

VPC(Virtual Private Cloud)とはクラウド上に自分のネットワーク空間を持てますよねっていうサービスのこと。

Q.D社PCからG社VPC仮想サーバまではどういうフローなの?

1. 名前解決(DNSによるIPアドレスの取得)

  • 動作: 社内のPC(例えば支店や本社のPC)から、VPC内にある仮想サーバーのホスト名(URLなど)に対してアクセスを試みると、まずは社内のDNSサーバー等を使って名前解決が行われる。
  • 結果: これにより、VPC内の仮想サーバーに割り当てられているプライベートIPアドレス(例: 192.168.1.x)がPCに返される。

2. 社内ネットワーク内でのルーティング(本社ルータまでの転送)

  • 動作: PCは宛先IPアドレスを「192.168.1.x」としたIPパケットを作成。
  • 経路:
    1. パケットはまず支店のL2SWおよびL3SWを通過し、広域イーサ網(図1の g)を経由して本社へと転送される。
    2. 本社に到着したパケットは、本社のルータに到達する。
  • 本社のルータの判断: 本社のルータは、「192.168.1.0/24(G社VPCのセグメント)宛てのパケットなら、ファイアウォール(FW)の方へ投げればいい」というルーティング情報を持っている。そのため、パケットは本社ルータからL2SW7を経由してFWへと送られる。

3. FWでのIPsec VPNカプセル化(インターネットへの送り出し)

  • 動作: パケットがFWに到着。
  • ルールの適用: 記述(4)および(5)にある通り、FWとG社VPCの門番である「VPC GW」の間にはIPsecトンネルが常時張られている。
  • カプセル化: FWは、PCから送られてきたプライベートIPパケット(宛先: 192.168.1.x)を丸ごとIPsecでカプセル化(暗号化&トンネリング)する。
    • このとき、外側のIPヘッダーには、本社のFWのグローバルIPアドレス(t.u.v.5)と、G社VPC GWのグローバルIPアドレス(x.y.z.1)が付与される。
  • 送出: FWは、インターネット(図1の m のセグメント)に向けてこのパケットを送出。

4. インターネット経由の転送

  • 動作: カプセル化されたパケットは、通常のインターネット上のルータ群を経由して、G社VPCの入り口である VPC GW(グローバルIP: x.y.z.1)まで転送。

5. VPC GWでのカプセル解除と内部配信

  • 動作: パケットがG社VPCの VPC GW に到着。
  • デカプセル化(トンネル終端): VPC GWがIPsecの包み(外側のヘッダー)を剥がす。
  • 内部ルーティング: 中から、PCが最初に送信した元のプライベートIPパケット(宛先: 192.168.1.x)が現れる。
  • 最終到達: VPC GWは、そのパケットをVPC内の仮想セグメント(n:192.168.1.0/24)へ流し込み、目的の仮想サーバーに到達する。

Q.OSPFのフロー(Down~FULL)

前提:
・同一セグメントに10台以上のルータが存在する環境
・ネットワークタイプはBroadcast
0.Down
相手からHelloパケットが1度も届いていない状態
1.Helloパケットの送信(Init)
ルータを起動すると、まずは224.0.0.5宛てのマルチキャストを送信する。
▼Helloパケットには以下の情報が含まれる

パケット内のフィールド内容ネイバー成立のチェック
Router ID送信元ルータの ID一致するとエラー(重複不可)
重複すると、show ip ospf neighborで2way以上には進まない
Area ID所属するエリア番号(例: 0)一致が必須
Network Mask送信元インターフェースのサブネットマスク一致が必須(※P2P除く)
Hello IntervalHello を送る間隔(例: 10秒)一致が必須
不一致だと、show ip ospf で表示すらされない
Dead Intervalネイバー障害とみなす時間(例: 40秒)一致が必須
不一致だと、show ip ospf で表示すらされない
Router PriorityDR/BDR 選出用の優先度(デフォルト 1)チェックなし(選出に使用)
Designated Router (DR)現在認識している DR の IP アドレスチェックなし(情報共有)
Backup DR (BDR)現在認識している BDR の IP アドレスチェックなし(情報共有)
Neighbor自分(送信元)が受信を確認した相手の Router ID リストここに自分のIDがあれば 2-Way
Options (E/N bit)スタブエリアなどのオプション機能フラグ一致が必須
Authentication認証タイプおよびパスワード等一致が必須

2.2WAY
同一セグメントからのHelloパケットのNeighborフィールドに自身のルータIDが記載されている場合、相互認識完了。
ここで、DRとBDRを選出する

DRとBDRが決まったので、以降の通信はマルチキャストではなくユニキャストで実行される
▼選出基準
①プライオリティ(デフォルトは1)が1番大きいルータがDRに、2番目がBDRになる
②①が同一の場合はルータIDで決める
*ルータIDは重複が禁止なのでこの2ステップで確実に決まる

3.EXstrat
マスターとスレーブを決める。
▼選出方法
①DBDパケット(ルータID、MTU、制御フラグ、シーケンス番号が格納)を送信する
*MTUが不一致だとshow ip ospf neighbor 時にExstartで止まる
②ルータIDを比較し、大きなほうがマスターになる。

③スレーブはシーケンス番号をマスターに合わせる
▼詳細

Wolfram
[ ルータ A (RID: 1.1.1.1) ]                       [ ルータ B (RID: 2.2.2.2) ]

 1) 「僕がマスターだ!(MS=1)」 ── (ユニキャスト) ──>  「僕がマスターだ!(MS=1)」
    (RID: 1.1.1.1, Seq: 100)                         (RID: 2.2.2.2, Seq: 500)
                              <── (ユニキャスト) ──

 2)  ルータ A は「相手(2.2.2.2)の方が RID が大きい!」と気づき、スレーブ(Slave)を認める。
     ルータ B は「自分(2.2.2.2)の方が RID が大きい!」と確信し、マスター(Master)になる。

 3) スレーブ(ルータ A)が折れて、相手の Seq: 500 を使って返事をする:
    「了解、君がマスターね。(MS=0)」 ───>  「よし、じゃあ僕(マスター)から目録を送るね!」
    (Seq: 500 で返信)                         (ここから Exchange ステートへ移行!)
    
    
 #制御フラグ
 M(More)ビット:1→まだ続きがあるよ。1回でLSA目次が入りきらなかったら使う
 MS(Master/Slave)ビット:1→俺がマスターだよ!
 I(Init)ビット:1→これが最初のDBDだよ!つまりExstartを意味する(このDBDはデータベース要約情報を交換するDBDではなくネゴシエーション開始時のDBDですよと明示する)
 

4.Exchange
お互いのLSDB情報を同期するためのフェーズがExchange。お互いのLSAの差分の有無によって挙動が変わる。
▼Exchange詳細フロー
①マスターがDBDにLSAの概要を載せてスレーブへ送信する
②スレーブも、マスターへDBDにLSAの概要を載せて送信する
③Mビットが0になるまでお互い交互にDBDを送り合う
*Mビット:1がまだ続きがあるよ!の意。0がLSAの目次送り切りましたよ!と伝えるフラグ
送り合っている最中も自分のLSDBと相手のDBDを見比べて差分をLSRリスト(後で要求するLSAのリスト)を作成しておく。
→Mビットが0になった時点で差分がない場合はLoadingをスキップしてFULLへ
→Mビットが0になった時点で差分がある場合はLoadingへ
5.Loading
LSRリストをもとに欲しい情報を取得してLSDBを完成させるというプロセスを担うのがLoading。基本的にはLSR→LSU→LSAckという流れで進んでいく。では、詳細を見ていこう!
▼Loading詳細フロー
①LSR(LinkStateReques)の送信
Exchangeステートで準備しておいたLSRリストをもとに、「このLSAの詳細をください」と請求するLSRパケットを送信する

②LSU(LinkStateUpdate)の送信
LSRを受信した相手は、請求されたLSAの詳細データを詰め込んだLSUパケットを返す。
(1つのLSUに複数のLSA詳細データをまとめて送れる)
③LSAck(LinkStateAcknowledgment)
LSUを受け取ったら自身のLSDBに保存する。保存が完了したら「LSUを受け取ったよ!」という確認メッセージであるLSAckパケットを返す。
④LSRリストが空になったらFULLへ移行
LSRリスト内のLSAをすべて受け取り、手元のLSRリストが完全に0件になったらFullへ移行

6.FULL
・FULLになったら、あとはタイマーに従ってHelloパケットを送信し合う。
FULLになった後に経路の追加、削除が検知されると、検知したルータがLSUをDR/BDRにマルチキャスト(224.0.0.6)送信する。それをDR/BDRがマルチキャスト(224.0.0.5)して全体に広がる。
▼経路削除
当該LSAを「シーケンスを+1にする&Maxageを3600」にしてLSUを送る。

*MaxageはLSAを保持する期間。これが切れると削除されるので、3600でLSUを送ると自動的に相手側から削除される
▼経路追加
通常のLSUを送る流れでパケット送信する

以上がOSPFのフロー説明である。
完了!!!

Q.OSPFのコスト

OSPFでは、当該ルートまでの最小コストとなるルートを最適経路として登録する。

Ciscoデフォルトの参照帯域幅: 100 Mbps (108bps)

OSPFのコストの具体例(デフォルト設定の場合)👇

10 Mbps 回線: 100 ÷ 10 = 10
100 Mbps 回線: 100 ÷ 100 = 1
1 Gbps 回線: 100 ÷ 1000 = 0.1 (※小数点は切り捨てられるため、「1」になる)
100Mbps以上の1 Gbps / 10 Gbps 回線: すべて 「1」 になる

OSPFのデフォルト参照帯域幅の変更方法

Hjson
Router# configure terminal
Router(config)# router ospf 1
Router(config-router)# auto-cost reference-bandwidth 1000

auto-cost reference-bandwidth 1000の単位はMbps。そのため、現在の環境においては、100Gbps(100,000Mbps)までを想定した方がよいので、100000を指定することも多い。

SPFコストの整理

OSPFコストとSPFコストはぐちゃぐちゃしてややこしくなる。なので、ここで整理しておこう!
👇STPのコストには、次のような規格(表現方法)がある。

  • ショートコスト(IEEE 802.1D / レガシー):
    • 10 Mbps = 100
    • 100 Mbps = 19
    • 1 Gbps = 4
    • 10 Gbps = 2
    • 100 Gbps = 1
    • (※100Gbps以上になると「1」が下限となり、それ以上差がつかなくなるため、高速回線に対応できなくなりました)
  • ロングコスト(IEEE 802.1t / モダン):
    • 高速な回線(1Gbpsや10Gbpsなど)でも細かい差をつけられるよう、より大きな数値(標準で最大200,000など)を使うように改良された規格です。
    • ロングコストの場合は、参照帯域幅を20兆(2×1013)としている。👇が計算式である。
帯域幅計算コスト
1 Gbps20兆 ÷ 10億20,000
10 Gbps20兆 ÷ 100億2,000
100 Gbps20兆 ÷ 1000億200
400 Gbps20兆 ÷ 4000億50

👇コマンド

Hjson
#パスコスト算出方法を変更
spanning-tree pathcost method [long/short]

▼まとめ

リンク帯域幅ショート方式ロング方式
10 Mbps1002,000,000
100 Mbps19200,000
1 Gbps420,000
10 Gbps22,000
100 Gbps1200
400 Gbps150

p.12 Q.バックボーンが分断されるとどうなるの?

Hjson
L3SW6(エリア0) ーー L3SW1(エリア0とエリア1)ーールータ(エリア1とエリア0)

このような構成がある場合、L3SW1はL3SW6,ルータともにネイバとして出力することは可能。👇

しかし、ルート情報を見ると正常に伝達できていないことが確認できる👇
*Oから始まる経路が登録されていないことが確認できる。

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