要約
- RFC 3021は、31-bit maskを持つIPv4 point-to-point linkではhost部0と1の両方をendpoint addressとして解釈するよう求めた。
/31は一link当たりの消費を4 addressから2 addressへ減らしたが、その表記自体は二者topology、両端の実装一致、到達や受信を証明しない。
通常のIPv4 subnetでは、host部がすべて0の値はnetworkを示し、すべて1の値はdirected broadcastに使われた。二つのrouter interfaceを番号付けするために /30 を割り当てると、四つの値のうち実際にinterfaceへ配れるのは二つだった。
point-to-point linkにはlocal hostの集合がない。可能な相手は一つだけで、一端が送ったpacketはもう一端へ届く。そこでRFC 3021はhost部を1 bitに縮め、0と1をともにhost addressとした。500本のlinkなら、2,000ではなく1,000 addressで済む。
重要なのは、古い意味をIPv4全体から削除しなかったことである。linkの形が厳密に限定される場所へ、別の意味を加えた。
prefixはtopologyを作らない
operatorが /31 を設定しても、shared mediumが自動的に二者関係へ変わるわけではない。RFCは他のinterface typeへの影響を検討対象外と明記した。三番目の参加者が存在するなら、二つの値を二つのendpointへ割り当てる前提が崩れる。
両端のcodeも同じ例外を実装しなければならない。RFC 3021は、一端だけが31-bit prefixをsupportするlinkは正しく動作しない可能性があると警告した。新しいrouterはall-ones valueを隣接hostとして受け取る。古いpeerはbroadcastとして扱うかもしれない。設定票が一致しても、running codeの分類は一致しない。
二つの値を使い切るとdirected broadcastは消える
/31には二つの番号しかなく、双方がendpointになる。link向けdirected broadcastを置く値は残らない。broadcast trafficが必要な場合はlimited broadcastを使う。遠方のrouterはclassless routeとして転送し、直接接続したrouterがendpointとしての意味を適用する。
この性質はsmurf型amplificationの一経路を減らした。RFC 2644はdirected broadcastをdefaultで無効にする方向を既に定めていた。RFC 3021は対象linkからそのaddress自体をなくした。ただしpeer authentication、routing protocol security、DoS全般の防止を提供したわけではない。
既存規則への局所的な修正
RFC 950は1-bit host fieldの可能性に触れながら、0と1がspecial valueである問題を示した。RFC 1122とRFC 1812はhostとrouterがall-zero、all-one形式をどう扱うか定めていた。RFC 3021は、31-bit maskのpoint-to-point endpointである場合に限ってsource addressとして使い、local addressとして受理できるよう文言を更新した。
別のlink typeでは従来のdiscardやbroadcastの規則が残る。「network addressとbroadcast addressを無理にhostへ流用した」とだけ表現すると、標準が追加した条件を失う。意味を変えた根拠は、不要になった役割をtopologyが保証したことにある。
adjacencyは最後のreceiptではない
RFCは複数vendorのbeta codeと、少なくとも三つのISPによるOSPF、IS-IS、BGP、EIGRPの肯定的な試験を報告した。これは当時のfeasibility evidenceであり、全製品のsupportや現在のdeploymentを示す統計ではない。
routing adjacencyはcontrol messageが往復した証拠になり得る。management toolが二つの値を受理したこと、filterが特別扱いしないこと、全data pathが双方向に動くこと、applicationがpayloadを受信したことは別途確かめなければならない。
情報源
- RFC 3021のRFC Editor記録
- RFC 3021 HTML
- RFC 3021 text
- RFC 950のRFC Editor記録
- RFC 950 HTML
- RFC 1122のRFC Editor記録
- RFC 1122 HTML
- RFC 1812のRFC Editor記録
- RFC 1812 HTML
- RFC 2644のRFC Editor記録
- RFC 2644 HTML
- RFC 6164のRFC Editor記録
- RFC 6164 HTML
- Lu Heng: Running-Code Primacy
- Lu Heng: Minimum Initial Specification
- Lu Heng: Reality Layers
Lu HengはRFC 3021の著者でも支持者でもない。本稿では開示した分析lensとしてのみ参照する。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
