A communication protocol specifies the format and meaning of exchanged messages and the permitted behaviour of participants. Compatibility requires agreement about both message syntax and the state changes that messages cause.
An application-layer acknowledgement confirms a condition specified by an application's communication protocol. Receipt, successful processing and durable storage are different conditions. A Transmission Control Protocol acknowledgement of received bytes does not itself establish any stronger application promise; the relevant endpoint must establish that promise.[ref]
End-to-end arguments in system design by Jerome H. Saltzer and others. Printed p. 7: the SWALLOW example distinguishes message delivery from safe storage
A communication endpoint is a participant at the boundary of a specified communication function. Always identify the level: a TLS peer, a transport endpoint and an application endpoint need not represent the same boundary of correctness or trust.
Protocol ossification occurs when deployed implementations or intermediaries make established behaviour difficult to change, for example by rejecting an unfamiliar transport format or assuming fields will never evolve. Endpoint support alone may then be insufficient for deployment over real paths.[ref]
Report from the IAB Workshop on Stack Evolution in a Middlebox Internet (RFC 7663). §§2–5: interface and middlebox constraints on evolution
Articles by others on the same topic
There are currently no matching articles.