首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络:路由器会破坏端到端的原理吗?

网络:路由器会破坏端到端的原理吗?
EN

Stack Overflow用户
提问于 2012-12-19 18:43:50
回答 2查看 3.2K关注 0票数 0

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

端到端连接是因特网的一个属性,它允许网络的所有节点向网络的所有其他节点发送数据包,而不需要中间网络元素来进一步解释它们。

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

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

谢谢:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-20 03:56:06

路由器有一个特殊的工作,因为它必须促进端到端的原则.

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

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

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

现在,NAT中断端到端,因为它进一步解释和转换包.例如,NAT可能会更改数据包的源地址。在这种情况下,由于另一台因特网主机无法识别发送数据包的特定主机,所以您已经中断了端到端。他们只能识别NAT的源地址。

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

代码语言:javascript
复制
o Transport Layer
   The Transport Layer provides end-to-end communication services.

..。

代码语言:javascript
复制
   TCP is a reliable connection-oriented transport service that
   provides end-to-end reliability, resequencing, and flow control.

..。

代码语言:javascript
复制
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节中,它接着指出:

代码语言:javascript
复制
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“打破端到端”操作在传输层,而不是简单的互联网层,并保持了太多的状态关于每一个连接。

希望这是有意义的。我知道这会让人困惑。

票数 5
EN

Stack Overflow用户

发布于 2012-12-19 19:02:47

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

端到端原则规定,特定于应用程序的功能应该驻留在网络的终端主机中,而不是驻留在中间节点中--只要它们能够在最终主机中“完全而正确地”实现。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13958970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档