IPv6路由查找顺序

时间:2012-04-04 10:19:55

标签: networking ipv6

bash-3.00# /usr/sbin/ip -6 route show
default via fdc6:3001:8e20:9ce9::1 dev int0  metric 1024  expires 2133437sec mtu 1500 advmss 1440 metric10 4294967295
unreachable default dev lo  proto none  metric -1  error -101 metric10 255
unreachable default dev lo  proto none  metric -1  error -101 metric10 255
unreachable default dev lo  proto none  metric -1  error -101 metric10 255
fdc6:3001:8e20:b06::/64 dev ext0  metric 256  expires 2132985sec mtu 1500 advmss 1440 metric10 4294967295
fdc6:3001:8e20:9ce9::/64 dev int0  metric 256  expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
fe80::/64 dev int0  metric 256  expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
fe80::/64 dev ext0  metric 256  expires 2132985sec mtu 1500 advmss 1440 metric10 4294967295
default via fe80::226:88ff:fee2:5d01 dev int0  proto kernel  metric 1024  expires 154sec mtu 1500 advmss 1440 metric10 64
default via fe80::226:88ff:fee2:5d02 dev ext0  proto kernel  metric 1024  expires 175sec mtu 1500 advmss 1440 metric10 64
default via fdc6:3001:8e20:b06::1 dev ext0  metric 1024  expires 2133059sec mtu 1500 advmss 1440 metric10 4294967295
unreachable default dev lo  proto none  metric -1  error -101 metric10 255
ff00::/8 dev int0  metric 256  expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
ff00::/8 dev ext0  metric 256  expires 2132985sec mtu 1500 advmss 1440 metric10 4294967295
unreachable default dev lo  proto none  metric -1  error -101 metric10 255

在上面的输出中,路线的顺序是否表示查找路线的顺序?或者'hoplimit'(最后一列)是否会影响查找的顺序? 'hoplimit'和'metric'之间有什么区别,哪两个影响查找顺序?

谢谢!

3 个答案:

答案 0 :(得分:3)

  1. 首先通过最长匹配查找路线。因此,如果存在/ 64路由,/ 48路由和所有与数据包目的地匹配的默认路由(/ 0),将使用/ 64路由,其他路由将被忽略。

    示例:给出目的地 fdc6:3001:8e20:9ce9:1:2:3:4 以及以下路线:

    default via fdc6:3001:8e20:9ce9::1 dev int0  metric 1024  expires 2133437sec mtu 1500 advmss 1440 metric10 4294967295
    fdc6:3001:8e20:9ce9::/64 dev int0  metric 256  expires 2132977sec mtu 1500 advmss 1440 metric10 4294967295
    

    将始终选择/ 64路线。

    尽管您的评论意味着其他原因,但仍然如此。您在评论中描述的内容不应该发生。请提供有问题的数据包的确切源和目标IP地址以及源和目标MAC地址,以便进一步诊断。

  2. 如果有多条到目的地的路由具有相同的前缀长度,则首选具有最佳度量的路由。

    您的路由表中没有任何以度量标准打破关系的示例。您需要具有相同目的地和前缀长度但指标不同的路线。

  3. 如果仍有多条路线,则会对每条可用路径进行负载均衡。

  4. 路径查找过程中根本不使用hoplimit。它用于在选择路由后设置本地发起的输出数据包的跳数限制。

答案 1 :(得分:0)

IPv6的路由查找与传统IPv4没有根本区别。

IP堆栈将找到与目标IP最匹配(即最长前缀)且具有最低度量标准的路由。

跳跃限制不会影响路由决策。 该指标表示费用'的路线。它应该根据到达目的地的跳数和路线的带宽,延迟,价格等来设置。 跳跃限制仅用于预先设置IPv6报头中的跳跃限制字段。

答案 2 :(得分:0)

您正在查看重定向ICMP消息的效果。

ip -6 route flush cache让你的路由再次工作。

sysctl -w net.ipv6.conf.all.accept_redirects=0忽略将来的重定向。

最可能的原因是启动/重启时路由不完整的网关。您可能想告诉该系统不要发送重定向数据包。