这是维基百科end-to-end principle的一部分
端到端连接是因特网的一个属性,它允许网络的所有节点向网络的所有其他节点发送数据包,而不需要中间网络元素来进一步解释它们。
但是您应该注意到路由器(中间设备)总是在终端节点之间。因此,就像上面的end-to-end principle一样,不仅仅是NAT,而且通常网络中也有中断end-to-end principle。
是真的吗?如果没有,请为我解释为什么,通常网络路由器不会破坏端到端的原则.
谢谢:)
发布于 2012-12-20 03:56:06
路由器有一个特殊的工作,因为它必须促进端到端的原则.
路由器的工作,基本上是解释目的地的IP地址,并确定下一个路由器(或终端节点)发送给它。路由器通常做两件事:
一般来说,它不应进一步解释该包。
现在,NAT中断端到端,因为它进一步解释和转换包.例如,NAT可能会更改数据包的源地址。在这种情况下,由于另一台因特网主机无法识别发送数据包的特定主机,所以您已经中断了端到端。他们只能识别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.一个“正常”路由器根本不处理“端到端”原则。它的工作仅仅是在互联网层传送数据包,按照定义,这就是“不提供端到端的传递保证”。这是传输层的工作。NAT“打破端到端”操作在传输层,而不是简单的互联网层,并保持了太多的状态关于每一个连接。
希望这是有意义的。我知道这会让人困惑。
发布于 2012-12-19 19:02:47
我翻阅了维基百科的这篇文章,发现它有一个条件,那就是它只适用于特定于应用程序的工作,而不适用于由中间路由器执行的其他支持性任务,如地址转换或重定向、NAT等。这是那篇文章的一部分
端到端原则规定,特定于应用程序的功能应该驻留在网络的终端主机中,而不是驻留在中间节点中--只要它们能够在最终主机中“完全而正确地”实现。
因此,由于中间路由器不处理特定于应用程序的功能,执行这些功能的是终端路由器(节点),因此保留了这一原则。
https://stackoverflow.com/questions/13958970
复制相似问题