-
ポステルのロバストネス原則
-
Be liberal in what you accept, and conservative in what you send
- RFC 1123 - Requirements for Internet Hosts - Application and Support
- http://tools.ietf.org/html/rfc1123#page-7
-
In general, an implementation must be conservative in its sending behavior, and liberal in its receiving behavior.
- RFC 791 - Internet Protocol
- https://tools.ietf.org/html/rfc791#section-3.2
-
TCP implementations will follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others.
- RFC 793 - Transmission Control Protocol
- http://tools.ietf.org/html/rfc793#section-2.10
-
最初から「送信も受信も厳密に規格通り」を要求した場合、ネットワークへの参入障壁が上がってしまう。
-
そこで「送信と受信では、送信が厳密であることがより重要」「受信側は多少規格から外れたものでも許容できる範囲で受け入れよ」という大方針を示したもの。
-
これが原因で明文化された標準ではないが多くのプレイヤーが許容したことによって「事実上の標準」(デファクトスタンダード)が発生した。
-
そのことを指して「ポステルの法則の失敗だ」とする人もいるが、筆者は複数の人間がネットワークを形成したらデファクトスタンダードは当然生まれるものだと考えている。
- 成功して大きなネットワークが形成され、そのネットワーク内に複雑さがあることを理由にして、ネットワーク成功前の意思決定に問題があったとするのは、怪しい考え方。後知恵?
- ポステルの法則が導入されて、IPやTCPは大きな成功をおさめた。導入されなかった場合に成功しなかったかどうかは観測できない。
- ポステルの法則は成功の確率を上げる効果があった。