Routing 什么是邻近路由?它与近邻选择有何不同?

Routing 什么是邻近路由?它与近邻选择有何不同?,routing,distributed-system,Routing,Distributed System,什么是邻近路由?它与近邻选择有何不同 你能用一个定义或一个例子来解释一下吗?一个是邻居的选择,另一个是路由-很明显:)-好的,基于一个分布式哈希表(DHT)的例子,有更多的细节: 邻近邻居选择: 在DHT中,您需要与邻居建立联系。通常这是随机进行的,但是,如果选择邻近邻居,您将考虑其他邻居的位置。这可以通过测量它们之间的延迟或类似的延迟来实现。除了只与你的邻居建立联系外,你还与一个或两个更远的邻居建立联系。这样,您将创建一个。例如,近邻/本地邻居可以是: 在同一台物理机器上(当您在虚拟机上运行

什么是邻近路由?它与近邻选择有何不同


你能用一个定义或一个例子来解释一下吗?

一个是邻居的选择,另一个是路由-很明显:)-好的,基于一个分布式哈希表(DHT)的例子,有更多的细节:

邻近邻居选择: 在DHT中,您需要与邻居建立联系。通常这是随机进行的,但是,如果选择邻近邻居,您将考虑其他邻居的位置。这可以通过测量它们之间的延迟或类似的延迟来实现。除了只与你的邻居建立联系外,你还与一个或两个更远的邻居建立联系。这样,您将创建一个。例如,近邻/本地邻居可以是:

  • 在同一台物理机器上(当您在虚拟机上运行时)-非常高的局部性,非常不可能
  • 在数据中心的同一机架/同一交换机上-无需路由即可直接连接
  • 在同一个数据中心中,与互联网相比,具有强大的互联网络
  • IP地址或基于GPS的位置-相互靠近的节点/数据中心的延迟比您需要穿越大西洋或太平洋时要低
在你有了邻居之后,你可以开始接近路由

邻近路由 最初执行邻近邻居选择是不必要的,但会使生活更轻松。在DHT接近路由中,当你不把请求转发到可能最好的节点(你知道的——这就是为什么先建立连接),而应该考虑两件事:

  • 我是否知道我的近邻(本地)中有一个节点会知道另一个节点转发到那里
  • 我是否知道目标附近(本地)有另一个节点转发到那里
  • 通过这种方式,您可能不会总是获得跳数方面的最佳解决方案,但会获得更高的吞吐量,因为您在邻近邻居之间拥有更高的带宽。近似布线的一个很好的例子是