設問2
OSPFへデフォルトルートを導入する
OSPFはリンクステートルーティングプロトコルであり、基本は network コマンド等で有効化したインターフェースの直接接続ネットワークやLSAを交換する仕組み。他の経路(スタティックルートなど)をOSPFの世界に持ち込むには、明示的な「再配送」や今回のデフォルトルート広告のような設定が必要になる。
router ospf 1
default-originate information [always]設問3
(1)ルーティングテーブルサイズを小さくする
👇ルーティングテーブルを小さくする3大メリット
- ① ルータのメモリ(リソース)の節約
ルータはルーティングテーブルをメモリ(RAM)上に保持する。細かい経路をそのまま全部持っているとメモリを消費するが、集約してエントリ数を減らせば、機器への負荷を抑えられる。 - ② パケット転送(ルックアップ)の高速化
ルータはパケットが届くたびにルーティングテーブルから宛先を探す(最長一致検索)。テーブルの行数が少なくなれば検索にかかる時間が短縮され、転送処理の高速化(遅延の防止)につながる。 - ③ 経路フラッピング(障害・変動)の影響を抑える(一番重要!)
これが実務や試験で最も重視されるポイント。例えば、支社のなかで特定の回線が「チカチカと切れたり繋がったり(フラッピング)」を繰り返したとき、細かい経路がそのまま上位に広告されていると、その都度上位のルータで「SPF計算(経路の再計算)」が走りまくり、ネットワーク全体のCPUが爆発する。あらかじめ経路を集約しておけば、末端の細かい変動が上位に伝わらなくなるため、ネットワーク全体の安定性が爆上がりする。
今回の場合では、このようなコマンドを使う。
router ospf 1
area 1 range 172.16.0.0 255.255.0.0設問4
(2)機器:①ルータ②L3SW1 設定内容:OSPF仮想リンクの接続設定を行う
バックボーンが分断された場合はABR間で仮想リンクを構成する。なので、答えは、L3SW1とルータとなる。
L3SW6(エリア0)ーーー L3SW1(エリア0とエリア1) ーーーーー 本社のルータ(エリア1とエリア0)実際のコマンド👇
#テンプレ
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パケットを作成。 - 経路:
- パケットはまず支店のL2SWおよびL3SWを通過し、広域イーサ網(図1の
g)を経由して本社へと転送される。 - 本社に到着したパケットは、本社のルータに到達する。
- パケットはまず支店のL2SWおよびL3SWを通過し、広域イーサ網(図1の
- 本社のルータの判断: 本社のルータは、「
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)が付与される。
- このとき、外側のIPヘッダーには、本社のFWのグローバルIPアドレス(
- 送出: 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 Interval | Hello を送る間隔(例: 10秒) | 一致が必須 不一致だと、show ip ospf で表示すらされない |
| Dead Interval | ネイバー障害とみなす時間(例: 40秒) | 一致が必須 不一致だと、show ip ospf で表示すらされない |
| Router Priority | DR/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を比較し、大きなほうがマスターになる。
③スレーブはシーケンス番号をマスターに合わせる
▼詳細
[ ルータ 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のデフォルト参照帯域幅の変更方法
Router# configure terminal
Router(config)# router ospf 1
Router(config-router)# auto-cost reference-bandwidth 1000auto-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 Gbps | 20兆 ÷ 10億 | 20,000 |
| 10 Gbps | 20兆 ÷ 100億 | 2,000 |
| 100 Gbps | 20兆 ÷ 1000億 | 200 |
| 400 Gbps | 20兆 ÷ 4000億 | 50 |
👇コマンド
#パスコスト算出方法を変更
spanning-tree pathcost method [long/short]▼まとめ
| リンク帯域幅 | ショート方式 | ロング方式 |
|---|---|---|
| 10 Mbps | 100 | 2,000,000 |
| 100 Mbps | 19 | 200,000 |
| 1 Gbps | 4 | 20,000 |
| 10 Gbps | 2 | 2,000 |
| 100 Gbps | 1 | 200 |
| 400 Gbps | 1 | 50 |
p.12 Q.バックボーンが分断されるとどうなるの?

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

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

