行き帰りの経路があまりにも違う

そろそろ制作したv6のスタックもインターネットの荒波に揉まれなければということで、すこしづつ下準備。今日は、あろうことがピアキャッシュの更新処理に大変な間違いを発見してしまったので相当の延期だけれども。。
本題。
電通大(というかSINET)のIPv6が何故かすごく経路が非対称なことになっている。

電通大→feel6→DION(au one net)ADSLの場合

この経路は正常に思える。

 1  rise  0.255 ms  0.249 ms  0.173 ms
 2  v6gw.cc.uec.ac.jp  0.778 ms  0.797 ms  0.745 ms
 3  2001:2f8:1::69  8.621 ms  8.690 ms  8.732 ms
 4  tokyo1-dc-R-GE-5-3-0-153-inet6.sinet.ad.jp  9.678 ms  9.535 ms  9.467 ms
 5  TYO3-IX1-XGE-3-1-inet6.sinet.ad.jp  38.012 ms  10.115 ms  9.893 ms
 6  2001:200:0:fe00::1253:0  10.001 ms  9.987 ms  9.904 ms
 7  lan-gate.jpnap.otemachi4.v6.dti.ad.jp  10.261 ms  9.991 ms  9.967 ms
 8  2001:7fa:7:1:0:1:13:1  251.594 ms  251.521 ms  251.250 ms
 9  2001:3e0:0:c:21d:a2ff:feb4:2d83  237.809 ms  237.897 ms  242.548 ms
10  2001:3e0:0:30:203:e4ff:fed6:d01b  252.873 ms  252.749 ms  252.461 ms
11  2001:3e0:5d7::2  262.961 ms  262.761 ms  260.651 ms
12  2001:3e0:5d7:eeee::3  263.844 ms  262.629 ms  262.948 m

つまり、サークル棟内部ネットワーク→電通大情報基盤センタ→SINET→DTI→インターネットマルチフィード→feel6。

DION→feel6→SINET→電通大の場合

こちらがおかしい。

 1  2001:3e0:5d7:eeee::2 (2001:3e0:5d7:eeee::2) [AS10013]  1.603 ms
 2  2001:3e0:0:30:203:e4ff:fed6:d01b (2001:3e0:0:30:203:e4ff:fed6:d01b) [AS10013]  70.694 ms
 3  2001:3e0:0:30:21d:a2ff:feb4:2d82 (2001:3e0:0:30:21d:a2ff:feb4:2d82) [AS10013]  72.582 ms
 4  2001:3e0:0:c:204:4eff:fea0:7854 (2001:3e0:0:c:204:4eff:fea0:7854) [AS10013]  73.515 ms
 5  fa-2-1.r01.tokyjp01.jp.b6.gin.ntt.net (2001:218:2000:5000::5) [AS2914]  75.117 ms
 6  ge-8-1.a14.tokyjp01.jp.ra.gin.ntt.net (2001:218:2000:2000::8d) [AS2914]  76.024 ms
 7  xe-4-1-0.r20.tokyjp01.jp.bb.gin.ntt.net (2001:218:0:6000::10d) [AS2914]  76.906 ms
 8  as-1.r20.newthk01.hk.bb.gin.ntt.net (2001:218:0:2000::5a) [AS2914]  185.962 ms
 9  xe-1-2.a04.newthk01.hk.ra.gin.ntt.net (2001:218:0:6000::176) [AS2914]  186.854 ms
10  2001:7fa:0:1::ca28:a1ed (2001:7fa:0:1::ca28:a1ed) [*]  187.787 ms
11  2001:320:1b00:1::2 (2001:320:1b00:1::2) [*]  290.653 ms
12  iplgng-kreonet2.abilene.ucaid.edu (2001:468:ff:12c2::1) [*]  317.914 ms
13  so-1-3-0.0.rtr.newy32aoa.net.internet2.edu (2001:468:ff:206::2) [*]  321.868 ms
14  2001:2f8:1:ff::d (2001:2f8:1:ff::d) [AS2907]  333.444 ms
15  tokyo1-dc-R-P-2-3-0-11-inet6.sinet.ad.jp (2001:2f8:0:22a::1) [AS2907]  322.717 ms
16  v6-2-GE-0-1-inet6.sinet.ad.jp (2001:2f8:0:222::2) [AS2907]  326.035 ms
17  v6gw.cc.uec.ac.jp (2001:2f8:26::1) [AS2907]  286.107 ms

feel6→NTT(?)→インターネットマルチフィード→2001:320:1b00:1::2(?)→Internet2(!)→SINET

とすごい大回りになっている。

ソースルーティングなりなんなりの手法を使えばどうにかなる可能性はあるが試していない。

結論

Internet2を経由したければ今すぐIPv6

補足

以前dev-j日記にも書いたが、ipコマンドを使う限りはipv6-in-ipv4のトンネルのためのTTLとHop Limitが連動してしまうので、コマンドで明示的に指定する必要がある。そうでなければ、tracerouteは(トンネルまでの経路による)ICMPv4を受けとることになり正常に動作しない。
つまり、

ip tunnel add mode sit ttl 32 remote 43.244.255.36

または、

ip tunnel add mode sit ttl 32 remote 43.244.255.37

のようにする。もちろん、43.244.255.36はトンネルの対象に置き換える。feel6のトンネルには.36と.37の2種類があるので、間違えたほうにトンネルを確立しても通信は成立しない。正しいトンネルのアドレスはDTCP接続の中で通知される。