Ipv6
IPv6 鏈路本地路由
路由器不轉發具有鏈路本地地址的數據包。
我想知道的是:如果目標是連結本地地址,那是有道理的,但是如果我有一個只有連結本地地址的盒子試圖到達全域/站點範圍地址怎麼辦?流量可以返回,還是會失敗,因為返回的數據包將發往鏈路本地地址?
路由器永遠不會轉發具有源單播鏈路本地 IPv6 地址的數據包。
請看一下這個例子:只有連結本地地址的 linux 機器試圖 ping ipv6.google.com(google 的全域範圍 ipv6 地址):
root@u1010:~# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:0c:29:2d:ff:26 inet addr:172.16.1.130 Bcast:172.16.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe2d:ff26/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:408884 errors:0 dropped:0 overruns:0 frame:0 TX packets:43885 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:151390854 (151.3 MB) TX bytes:6098973 (6.0 MB) Interrupt:19 Base address:0x2000 root@u1010:~# ping6 ipv6.google.com PING ipv6.google.com(pw-in-x68.1e100.net) 56 data bytes From fe80::223:33ff:fe71:6827 icmp_seq=1 Destination unreachable: Beyond scope of source address From fe80::223:33ff:fe71:6827 icmp_seq=2 Destination unreachable: Beyond scope of source address From fe80::223:33ff:fe71:6827 icmp_seq=3 Destination unreachable: Beyond scope of source address From fe80::223:33ff:fe71:6827 icmp_seq=4 Destination unreachable: Beyond scope of source address
並在路由器上調試 ipv6 數據包顯示以下內容…
Mar 5 14:14:17.240: IPv6: Looking up 2001:XXXX:20::2 [Source FE80::20C:29FF:FE2D:FF26] in FIB Mar 5 14:14:17.240: IPv6: FIB lookup for 2001:XXXX:20::2 succeeded. if=Tunnel0, nexthop 2001:XXXX:20::2 Mar 5 14:14:17.240: IPV6: source FE80::20C:29FF:FE2D:FF26 (Vlan200) Mar 5 14:14:17.240: dest 2001:XXXX:20::2 (Tunnel0) Mar 5 14:14:17.240: traffic class 0, flow 0x0, len 81+14, prot 17, hops 63, forwarding Mar 5 14:14:17.240: IPv6-Fwd: Beyond scope of source address