这是end-to-end principle维基百科的一部分
端到端连接是因特网的属性,其允许网络的所有节点将分组发送到网络的所有其他节点,而不需要中间网络元件来进一步解释它们.
但是你应该注意到路由器(中间设备)总是在端节点之间.所以,end-to-end principle如上所述,不仅如此NAT,而且通常网络end-to-end principle也会中断.
这是真的吗?如果没有,请解释为什么,通常网络路由器不会破坏端到端的原则.
谢谢 :)
路由器有一项特殊的工作,它必须促进端到端的原则.
路由器的工作基本上是解释目的地IP地址并确定要发送给它的下一个路由器(或终端节点).路由器通常做两件事:
通常,它不应该进一步解释该分组.
现在,NAT会端到端地断开,因为它会进一步解释和转换数据包.例如,NAT可能会更改数据包的源地址.在这种情况下,您已经破坏了端到端,因为另一个互联网主机将无法识别发送数据包的特定主机.他们只能识别NAT的源地址.
编辑:RFC 1812在第2.2.1节中对此进行了说明,其中描述了分层职责:
o Transport Layer
The Transport Layer provides end-to-end communication services.
Run Code Online (Sandbox Code Playgroud)
...
TCP is a reliable connection-oriented transport service that
provides end-to-end reliability, resequencing, and flow control.
Run Code Online (Sandbox Code Playgroud)
...
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.
Run Code Online (Sandbox Code Playgroud)
在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.
Run Code Online (Sandbox Code Playgroud)
"普通"路由器根本不涉及"端到端"原则.它的工作就是简单地在Internet层传递数据包,根据定义,它"不提供端到端的传输保证".那是传输层的工作.NAT通过在传输层操作而不是简单地在Internet层上操作来"端到端",并且保持关于每个连接的过多状态.
希望这是有道理的.我知道这可能令人困惑.