excite光をつかってたので、移行が楽な excite MEC光 という IPoE サービスにしてみました。IPv6 ネイティブかつ DS-Lite による IPv4 接続サービスです。

事前に調べてもさっぱりわからない点があったのでまずそれを検証しました。

ルーターの挙動

  • 貸与ルーター (Aterm WG1810HP) の挙動
    • LAN側は IPv6 ネイティブ接続されるのか? → される。ルーターがRA+DHCPv6 stateless をやってくれる。グローバルIPアドレスが割り当てされる。
    • LAN側の IPv4 アドレスはどうなるのか? → ルータで設定したプライベートIPアドレスがDHCPでくばられる。
    • これまで通りに IPv4 PPPoE セッションははれるのか?
      • レンタルルータだとそもそも設定がなくて貼れない。PPPoE 接続情報自体 excite からもらえない。

この Aterm WG1810HP(MF) は DS-Lite 対応品となっている。DS-Lite 対応ルーターなら他のものも利用可となっているが、このルーターは常に強制的にレンタルする必要がある。

強制レンタルはまぁ許せるけど、それならレンタル料金 (100円/月) を月額料金に含めて書けよと思う。

DS-Lite IPv4 で UPnP のポート解放はできるか

答: できない

DS-Lite では NAT が自宅内ルーターではなく VNE ゲートウェイ (AFTR) 側で行われる (CGN/キャリガグレードナット)ので、手動でポート解放というのが原理的に不可能。それでは UPnP には対応しているのか?という疑問

iijmio ひかりでも答えている。「IPoE接続サービスのDS-Lite方式でのIPv4サービスでは、UPnPによる外部ホストからお客様宅のコンピュータへの通信路確立は行えません。外部へのサービス公開が必要な場合、PPPoE接続を併用されるか、IPv6の利用をご検討ください。」

Mac

デュアルスタック

インターフェイスで IPv6 を有効にすればそれだけで IPv6 ネイティブで繋がるようになる。

なぜか設定でリンクローカルだけの割当になっている端末があったのが罠かった。

Android

デュアルスタック

ZenFone3 (Android 8.0.0)

無線LAN経由で IPv6 接続される。特に設定はなし。

PS4

IPv4 接続

NATタイプ: 2

Nintendo Switch

IPv4 接続

NAT タイプ: B

nasne

IPv4 接続

torne mobileアプリから自宅nasneへ直接接続する機能があるが、機能するか?

アプリから nasne 設定を開くと「通信モード」が表示される。これがNATの状況っぽい? これまでの PPPoE だと通信モードA だった。

IPoE/DS-Lite だとにした直後は通信モード Cで、視聴不可だったが、同一ネットワークから一度つないだら通信モードBになって見れるようになった。

  1. トップ
  2. tech
  3. IPv6 ネイティブ環境に移行 (IPoE + DS-Lite)

おおざっぱにいうと

  • 家庭内のルーター(B4)で IPv4 パケットを IPv6 にカプセル化 (IP IP tunnel)
  • IPv4 ネットワーク接続点 (AFTR) でカプセル化を解き、アドレス変換 (NAT) をして外にアクセスする

だけ。

細かいところで疑問点があったので RFC6333 を見てみた

AFTRのNATの挙動

RFC6333 の B.1.2. Translation Details あたりにAFTR のNATとしての挙動が書いてある。

  • B4 は IPv4 パケットを、AFTR 向け IPv6 パケットにする
  • AFTR は IPv6 パケットから IPv4 パケットをとりだす
  • AFTR はB4グローバルIPv6アドレス・プライベートIPv4アドレスと、グローバルIPv4アドレス・ポートなどをマッピングする
  • AFTR はパケットのIPv4ヘッダを書きかえて IPv4 ネットワークで送信する
  • AFTR はやってくるパケットの宛先グローバルIPアドレス・ポートをもとに、マッピングテーブルから送信すべき B4 IPv6 アドレス・プライベートIPv4アドレスなどを得る
  • AFTR はパケットのIPv4ヘッダを書きかえて、IPv6 パケットにして B4 へ送信する
  • B4 は IPv6 パケットから IPv4 パケットをとりだす
  • B4 は IPv4 パケットを LAN に送信する

NATテーブルは例は RFC6333に書いてあるので引用しておく。結局一番知りたいのはこれだった。

        +------------------------------------+--------------------+
        |         Softwire-Id/IPv4/Prot/Port | IPv4/Prot/Port     |
        +------------------------------------+--------------------+
        | 2001:db8:0:1::1/10.0.0.1/TCP/10000 | 192.0.2.1/TCP/5000 |
        +------------------------------------+--------------------+

            Dual-Stack Lite Carrier-Grade NAT Translation Table

B4側のプライベートIPv4アドレスは勝手に決めていいのか

だいたいいいけど、 DS-Lite では 192.0.0.0/29 が予約されているので、ルーターのLAN側のDHCPでこのレンジが払出されないようにしないとまずいっぽい。

DS-Lite ルーターがデフォルトで 192.168.10.0/24 とかになっているのはこのへんの事情なんだろう。

  1. トップ
  2. tech
  3. DS-Lite の挙動の理解

スペック

  • Wi-Fi は 802.11ac(2.4 GHz / 5 Ghz)1x2 MISO Wi-Fi
  • イーサネット (ACアダプタにある) は 100Mbps

MISO は Multi Input Single Output。ダウンロードだけ2本のストリームという意味っぽい?

802.11ac 最低だと1ストリームあたり86.7Mbpsなので、2本だと 173.4Mbps。実際 Chromecast Ultra がどこまで対応しているのか謎。

スペック的には実は Wi-Fi のほうが高いが、Wi-Fi は AP と接続している端末が増えるほど遅くなるのでなんともいえない。専用の AP を立てられて、電波が空いてるなら Wi-Fi のほうが早い可能性がある。

ちなみにうちでは有線LAN接続してる。

  • 既存のインターフェイスを妨げない
    • 今まで使えるものはそのままにする。アクチュエーターが既存の操作の邪魔をしないこと
    • 「生活」に持ちこむ学習コストを最小限にする。少しずつ便利にする
  • 必要ないならインターフェイスを変えない
    • 今までと似た体験にする。アフォーダンス (形の意味) を変えない
    • 必要がないならインターフェイスを追加しない (ゼロクリックを動くことを目指す)
  • それ手でやればよくない?
    • 意味がないことを自動化しても意味がない。家族にも便利であること

インターフェイスの罠としては「定期的に音声で通知する」みたいなのは意外と使えない。というのも、人間だんだん慣れてきて、同じ音が定期的に鳴っていても聞こえなくなるため。視覚に訴えるほうがいいのかも?

  1. トップ
  2. tech
  3. おうちハックで必要なこと

自分が加害者にならないという自信がある発言をよくあって、それが不思議。その発言自体が加害的なのに、法律的には罪にはないから、マウントが成立する。他人に倫理観を問う人は倫理観がないパターンと感じる。

社会が自分を配慮してくれないのに、自分が社会に配慮する必要はあるのか? 誰だって後ろ盾というか、味方がゼロだったらヤケになるのではないのか?

自殺者を迷惑と叩くような人も同じようなパターンなんだろうと思う。自分がそうならないという不思議な自信があるんだろう。

被害者にならないためにはということよりも、加害者にならないためにはということに興味がある。人間の行動は自動的であるので、そういう状況に追いこまれたら、そういうことになる。直接的に加害されて反抗したら正当防衛になるけど、間接的なら罪になる。広く薄く加害する人に対して、合法的にできることはなにもない。

被害にあわないためには目立たないこと、というのも同意できない。自分への被害は防げるかもしれないけど、他人への被害は減らない。加害を減らすことに繋がらない。社会的なリスクが減らない。社会に対する行動なので、社会で対応しないといけない。個人の問題じゃない。