■構成
[PC1 Windows8] ---- [HP-SW 5120] ---- [PC2 WindowsXP]
※Windows8には、設定は何もしないし、HP-SWも設定は不要。デフォルトでIPv6通信が許可される。
WindowsXPだけは、設定が必要で、「netsh int ipv6 install」をコマンドプロンプトから実行する。

■PC1(Windows8)からのコマンドプロンプトによる確認
(1)IPアドレスの確認
C:\Windows>ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::9c41:391a:ad03:66dc%12
   自動構成 IPv4 アドレス. . . . . . . .: 169.254.102.220
   サブネット マスク . . . . . . . . . .: 255.255.0.0
   デフォルト ゲートウェイ . . . . . . .:
・%12の意味は、スコープID。IFの番号と思ってもいいだろう。
・リンクローカルアドレスのプレフィックスは常にfe80::/64 
・後半の64bitのインターフェースIDはランダムに設定される

(2)自分のIPv6アドレスにPing
当然、飛ぶ
C:\Windows>ping fe80::9c41:391a:ad03:66dc
fe80::9c41:391a:ad03:66dc に ping を送信しています 32 バイトのデータ:
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc からの応答: 時間 <1ms
fe80::9c41:391a:ad03:66dc の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
     
(3)通信相手のIPアドレスの確認
その前に、WindowsXPなので、IPv6対応にする
C:\>netsh int ipv6 install
OK
C:\>ipconfig
Ethernet adapter ローカル エリア接続:
        Connection-specific DNS Suffix  . :
        Autoconfiguration IP Address. . . : 169.254.32.106
        Subnet Mask . . . . . . . . . . . : 255.255.0.0
        IP Address. . . . . . . . . . . . : fe80::223:8bff:fe18:d3b5%5
        Default Gateway . . . . . . . . . :
※IPv4のアドレスは設定していない。

(4)通信相手にIPv6でPing
C:\Windows>ping fe80::223:8bff:fe18:d3b5
fe80::223:8bff:fe18:d3b5 に ping を送信しています 32 バイトのデータ:
fe80::223:8bff:fe18:d3b5 からの応答: 時間 =1ms
fe80::223:8bff:fe18:d3b5 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms

(5)スコープIDをつけたらどうだろう
スコープIDは、自分のIFの番号と考えればよい。
sef4 


普通のPingではIFを指定しませんよね?




そうですね。ルーティングテーブルがあるから、それに従って、どのIFから出るかがわかります。
リンクローカルアドレスに関しては、同一セグメントでしか届かないアドレスで、ルーティングテーブルが存在しない。だから、IFを指定してあげるのが親切です。

では、やってみましょう。相手のIPアドレスは「fe80::223:8bff:fe18:d3b5%5」なので、これにping
C:\Windows>ping fe80::223:8bff:fe18:d3b5%5
fe80::223:8bff:fe18:d3b5%5 に ping を送信しています 32 バイトのデータ:
ping: 転送に失敗しました。一般エラーです。
ping: 転送に失敗しました。一般エラーです。
ping: 転送に失敗しました。一般エラーです。
ping: 転送に失敗しました。一般エラーです。
fe80::223:8bff:fe18:d3b5%5 の ping 統計:
    パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)
1

あれ?
エラーだ
どのIF番号からpingを打つかなので、自分のスコープID%12を指定しなければいけない。
C:\Windows>ping fe80::223:8bff:fe18:d3b5%12
fe80::223:8bff:fe18:d3b5%12 に ping を送信しています 32 バイトのデータ:
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 =1ms
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 =1ms
fe80::223:8bff:fe18:d3b5%12 からの応答: 時間 <1ms
fe80::223:8bff:fe18:d3b5%12 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 1ms、平均 = 0ms
今度はうまくいった。