0

这是end-to-end principle来自维基百科的部分

端到端连接是 Internet 的一种属性,它允许网络的所有节点将数据包发送到网络的所有其他节点,而无需中间网络元素进一步解释它们。

但是你应该注意到路由器(中间设备)总是在终端节点之间。因此,end-to-end principle如上所述,不仅NAT,而且通常网络也有中断end-to-end principle

是真的吗?如果不是,请为我解释为什么,通常带有路由器的网络不会破坏端到端原则。

谢谢 :)

4

2 回答 2

5

路由器有一项特殊的工作,它必须促进端到端的原则。

基本上,路由器的工作是解释目标 IP 地址并确定将其发送到的下一个路由器(或终端节点)。路由器通常做两件事:

  • 减少 TTL
  • 根据目的IP地址查找下一跳

一般来说,它不应该进一步解释数据包。

现在,NAT 会破坏端到端,因为它会进一步解释和转换数据包。例如,NAT 可能会更改数据包的源地址。在这种情况下,您已经破坏了端到端,因为另一个 Internet 主机将无法识别发送数据包的特定主机。他们只能识别 NAT 的源地址。


编辑RFC 1812在第 2.2.1 节中明确说明了这一点,其中描述了分层职责:

o Transport Layer
   The Transport Layer provides end-to-end communication services.

...

   TCP is a reliable connection-oriented transport service that
   provides end-to-end reliability, resequencing, and flow control.

...

o Internet Layer
   All Internet transport protocols use the Internet Protocol (IP) to
   carry data from source host to destination host.  IP is a
   connectionless or datagram internetwork service, providing no
   end-to-end delivery guarantees.

在第 2.2.3 节中,它继续指出:

Routers provide datagram transport only, and they seek to minimize
the state information necessary to sustain this service in the
interest of routing flexibility and robustness.

“普通”路由器根本不处理“端到端”原则。它的工作只是在 Internet 层传递数据包,根据定义,这就是“不提供端到端传递保证”。这就是传输层的工作。NAT 通过在传输层而不是简单的 Internet 层上运行来“打破端到端”,并为每个连接保留过多的状态。

希望这是有道理的。我知道这可能会令人困惑。

于 2012-12-20T03:56:06.860 回答
1

我浏览了维基百科中的文章,发现它有一个条件,即它仅适用于特定于应用程序的工作,不适用于由中间路由器执行的其他支持性任务,如地址转换或重定向、NAT 等......这里是那篇文章的一部分

端到端原则指出,应用程序特定的功能应该驻留在网络的终端主机中,而不是在中间节点中——前提是它们可以在终端主机中“完全且正确地”实现。

因此,保留该原则,因为中间路由器不处理特定于应用程序的功能,而是执行这些功能的终端路由器(节点)。

于 2012-12-19T19:02:47.430 回答