From: Ned Freed [mailto:ned(_dot_)freed(_at_)mrochek(_dot_)com]
Keith, while I agree with your general point that
applications have no choice but to be aware of lower layer
semantics in many if not most cases, this last is not a good
example of that. There is really no difficulty running SMTP
or any other stream oriented protocol on top of a
record-based protocol - all you have to do is ignore the
record boundaries and make sure your buffer isn't larger than
the maximum record size. Not only did our SMTP implementation
require nothing more than a change of low-level network
primitives to work over DECnet, it interoperated fine with
several other SMTP over DECnet implementations back in the
day with no need to agree on any sort of additional semantics.
Quite, and HTTP runs happily on DECNET.
The converse is not true, however - you cannot simply slap a
protocol that depends on record boundaries onto a stream
protocol and expect it to work, such as MAIL-11 over TCP (not
that anyone in their right mind would use MAIL-11 this
way...).
Which of course is true and in my view indicates a flawed network architecture.
If the application layer is required to take notice of what is going on at the
lower levels its because the layering was botched.
The Internet stack is petty clean and that is one of its major advantages over
other schemes.
Of course you have to log IP addresses etc for logging purposes. And there are
rare cases where you want to break the layering model and take notice of an IP
address for issues such as login attempt throtling. These are not actions that
others need to depend on being done in particular ways.
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf