Re:Must, Should, Don't Care: TCP Conformance in the Wild
by linkdd on Sunday April 05, 2020 @10:42AM
(#22785806)
Funny how your comment also use "should" and "may" :)
Anyway, those key words are used to allow flexibility in the implementation. Remember that a RFC is specific to a single version of a single protocol.
Thus splitting everything in multiple RFCs will still implies complexity in the implementation, just not the same kind of complexity (what versions to use and when?).
> Imperatives of the type defined in this memo must be used with care and sparingly.
> In particular, they MUST only be used where it is actually required for interoperation or to limit behavior which has potential for causing harm (e.g., limiting retransmisssions)
> For example, they must not be used to try to impose a particular method on implementors where the method is not required for interoperability.
Anyway, those key words are used to allow flexibility in the implementation. Remember that a RFC is specific to a single version of a single protocol.
Thus splitting everything in multiple RFCs will still implies complexity in the implementation, just not the same kind of complexity (what versions to use and when?).
> Imperatives of the type defined in this memo must be used with care and sparingly. > In particular, they MUST only be used where it is actually required for interoperation or to limit behavior which has potential for causing harm (e.g., limiting retransmisssions)
> For example, they must not be used to try to impose a particular method on implementors where the method is not required for interoperability.
Source: https://www.ietf.org/rfc/rfc2119.txt