Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 端到端属性_Networking_System_Distributed Computing - Fatal编程技术网

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的有效载荷的校验和附加到有效载荷