Protocol in Code · OSPF Session 11

Area Boundaries Rewrite The View

Session 11 では areas.py を読み、area boundary を越える route view が summary によってどう書き換わるかを見ます。

IntermediateSession 11areasOSPF

Bridge

Session 10 の best internal routes を area boundary で書き換える

Session 10 の出力は area 内で recompute された best internal routes でした。Session 11 ではその route view を source area から target area へ持ち出すために、summary object へ書き換えます。

Read The Source

summary metric と local cost-to-ABR を分けて持つ

SummaryLSA(
    prefix=route.prefix,
    summary_metric=route.total_cost,
    source_area=source_area,
    target_area=target_area,
)

この session の中心は「source area の best route view」が target area では summary object になることです。受信側の inter-area route cost は `cost to ABR + summary metric` として計算し、summary object 自体は LSDB/SPF の置き換えではなく post-SPF の別段階として読みます。

Walkthrough

summary metric に local cost-to-ABR を足す

cd protocol-in-code
PYTHONPATH=src python3 examples/ospf/session_11_walkthrough.py

walkthrough では source area の 2 prefix から summary を作り、受信側で `cost to ABR` を足した inter-area route cost を見ます。

Done Check

Session 11 を終えたと言える条件

  • route object と summary object を分けて説明できる
  • source area と target area の view が同一ではないと説明できる
  • ABR-like summary step を toy model として理解できる

Next Session

最後に speaker loop へ戻します

Session 12 では Hello, database exchange completion, Router-LSA receive, flooding scope, recompute, summary import を 1 つの speaker object にまとめます。