Networking 端到端属性
我从麻省理工学院的经典论文中理解了端到端的原理,该论文指出,在两个远程节点之间执行函数并不取决于节点之间的状态 但什么是端到端加密、端到端保证、端到端协议等等。。。?我找不到端到端的精确定义。这个词似乎用得太多了Networking 端到端属性,networking,system,distributed-computing,Networking,System,Distributed Computing,我从麻省理工学院的经典论文中理解了端到端的原理,该论文指出,在两个远程节点之间执行函数并不取决于节点之间的状态 但什么是端到端加密、端到端保证、端到端协议等等。。。?我找不到端到端的精确定义。这个词似乎用得太多了 换句话说,当我们将系统属性X描述为端到端时,它意味着什么?端到端的对立面是什么?我不认为端到端被过度使用了。它只是说财产从一端持有到另一端。“端”可以是计算堆栈中的节点或层 考虑三个节点:A、B和C。节点A希望与C对话。B位于A和C之间并在它们之间转发消息。例如,B是负载平衡器或网关
换句话说,当我们将系统属性X描述为端到端时,它意味着什么?端到端的对立面是什么?我不认为端到端被过度使用了。它只是说财产从一端持有到另一端。“端”可以是计算堆栈中的节点或层 考虑三个节点:A、B和C。节点A希望与C对话。B位于A和C之间并在它们之间转发消息。例如,B是负载平衡器或网关 如果B无法读取和篡改从A发送到C的消息,则加密是端到端的。具体示例如下:A是您的笔记本电脑,C是您家庭或工作网络中的远程机器。B是一个VPN网关。这里的加密不是端到端的,因为只有A和B之间的链接是真正加密的。坐在B和C之间的攻击者可以读取明文。这在实践中可能是好的,但不是端到端的 另一个例子。假设我们不关心加密,而是关心可靠的消息传输。您知道网络可能会损坏一些消息。因此,TCP和其他协议都有一个校验和字段,每当收到消息时都会对该字段进行检查。但这些校验和的保证不一定是端到端的
如果一个依赖于TCP校验和的消息M发送到C,位于中间的一个节点B会以不可察觉的方式破坏消息。抽象大多数细节,节点B基本上(1)接收m,(2)检查m的校验和,(3)找到到C的路由并使用m的有效负载创建新消息,(4)计算m的新校验和,(5)发送m(使用新校验和)。现在,如果节点B在(2)之后但在步骤(4)之前损坏消息,到达C的结果消息已损坏,但无法通过查看m的校验和来检测!因此,这种校验和不是端到端的。节点B甚至不必是恶意的。这种损坏可能是由硬件错误引起的,更可能是由节点B中的bug引起的。例如,在AmazonS3服务中,这种情况已经发生过几次:和
显然,解决方案是使用端到端的应用程序级校验和。这里,在计算下层校验和之前,将m的有效载荷的校验和附加到有效载荷