实现IPv6 Anycast

我试图用4台PC(运行CentOs 5.0,称为PC1-PC4)和两台Cisco 2800系列路由器创build一个小的IPv6任播networking。

设置是这样的:PC1,PC2将在子网2001 :: 0/127和PC3,PC4将在2001 :: 2/127。 路由器将连接两个子网,目的是使PC1,PC2能够通过任意广播连接到PC3或PC4。

我不清楚如何去实现这一点。 在阅读之前的SF查询时 ,我遇到了为DNS实现的IPv4 Anycast。 我可以重复相同的IPv6设置吗? 你能提供足够的细节来实现吗?

将post

IPv6 Anycast的工作原理与IPv4中的相同。 最简单的forms是,一个独立的子网由多个独立的路由器通告。 客户端试图联系该子网上的节点的效果将达到离它们最近的路由器(通过networking跳数)。

设置它实际上非常简单,只需要在不同的networking中build立相同的IP子网,并且在networking中最好的部分,并且连接到这些子网的路由器通告该子网。 上游路由器将汇总路由通告,并将stream量发送到最靠近上游路由器的路由器/子网。 试图联系该子网上的IP地址的机器将因此到达较近的一组机器。

你的问题听起来不像这样。 这听起来像是由同一个路由器连接的两个子网,根据定义,这将是简单的单播

对话从Anycast子网到Anycast子网是非常棘手的,应该避免。 以此示例为例,2001 :: 3/126是在14个不同位置托pipe的Anycast子网,2001 :: 4/126是仅托pipe于3的另一个Anycast子网。为了简单起见,假定两个子网均匀分布任播networking。

  1. 2001年6月3/126子网中的一台机器开始连接到2001 :: 4/126
  2. 由于路由表,这个SYN包最终被发送到第三个2001 :: 4/126子网。
  3. 在2001年3月4/126子网中的机器将ACK数据包发回到2001 :: 3/126
  4. 由于路由表,这个ACK包最终被发送到第二个2001 :: 3/126子网。
  5. 第二个2001 :: 3/126子网中的机器没有连接正在启动的logging,所以丢弃数据包。
  6. 2001年6月3日/ 3/126子网中的机器从来没有收到它期望的ACK。

单播 – >任播工作得很好,因为只有一条path到达源,而且networkingpath是双向的。

任播 – >单播工作得很好,因为只有一条path到达目的地,并且networkingpath是相同的。

Anycast – > Anycast是有问题的,因为可以有多个path,并且networkingpath可以完全不同。