自宅にひかりTVを導入したらIPV6のブロードキャストが溢れて大変だったけどNTTのひかり電話ルータを入れたらなんとかなった件

NetflixやAmazon Prime Videoが全盛の世の中ですが、テレビ番組を勝手に垂れ流してくれたり最新？ニュースを垂れ流してくれて、ながら観できるテレビサービスはまだまだ必要だし、なんならリビング以外でもwifi経由でスマホでTV番組観たいので、ひかりTVを契約したのですが、まともに動くまで意外と大変でした。同じように困る人が結構いると思うのでメモしておきます。

# なんかおかしいな
ひかりTVのSTBは申し込んで次の日に届いたので早速セットアップしてTVにつなげて、ヨッシャちゃんと観れるし録画もできるしこれで快適なTVライフが送れる～～～...と意気込んでいました。

スマホでwifi接続してひかりTV観ようかな、とおもって設定すると、どうもwifiが不安定。
ルータを再起動してもなおらない。

しかも、パソコンを再起動するとなぜかひかりTVの画像が乱れる。（再現性あり）


なんだこれはー！とおもって、ふと有線のL2SWに目を遣ると、すべてのLEDが勢いよくチラついているではありませんか。

誰だ！！我がネットワーク内にブロードキャストしまくってるのは！！機関のハッキングか！！それとも、ループやらかしたのか。

とりあえずつながってる機器のLANケーブルを一個ずつ抜いて誰が犯人かみてみると。
ひかりTVのSTBを抜いたあとしばらくすると収まる...ルータの根本を抜くと収まる...という感じだった。
(ここがけっこう不可解で、STBを抜いてもブロードキャストするんですよね。ルータの向こう側から来てる？）

ということで、[色々](https://yabe.jp/gadgets/mld-snooping-on-edgeswitch/)[調べて](http://nodoka.org/%E3%81%B2%E3%81%8B%E3%82%8Atv-ipv6%E5%95%8F%E9%A1%8C/)みると
 - ひかりTVのSTBはIPv6のマルチキャストを使用していて
 - マルチキャスト機能を正しく利用するには、MLD Snooping という機能が必要で
 - これに対応してないルータはマルチキャストではなくブロードキャストしてしまう
 - ブロードキャストしてしまうのでLEDが鬼点滅しているし、wifiにもブロードキャスト配ってるのでwifiも巻き添えで不安定になる

ということらしい。

え、なんで？？
理屈はわかるけど、ひかりTVつかってるとネットワークが不安定になるし、wifiも不安定になるのがデフォなの？？？欠陥商品じゃね？？ってかスマホでTVみれねーじゃん！！っておもって怒り心頭でした。

とまあ、色々やって鬼ブロードキャストはとまったので、メモしておきます。

ちなみに、PCでwiresharkを使ってパケットキャプチャしてみたのですが、ひかりTV関連と思われるブロードキャストパケットをたくさん受信していました。

# 回線の種類とネットワーク構成
 - アクセス回線: NTT西日本の「フレッツ光ネクスト　マンション・スーパーハイスピードタイプ隼」。
 - プロバイダ: OCN。IPv6対応。インターネット接続はPPPoEにしています。
 - wifi_ap: IODATA WN-AX2033GR2
 - ひかりTV_STB: ST-3400



# どうしたらうまくいたのか
ひとことでいうと、ネットワーク構成を変更してNTTからレンタルしていた「ひかり電話対応」ルータを使ったら鬼ブロードキャストがなくなりましたし、wifiも安定しました。スマホでひかりTV観れましたあ。この状態を「うまくいった」と定義します。

ネットワーク構成は下記のとおりです。
[ONU]-->[ひかり電話ルータ]-->[wifi_ap(APモード)/l2sw]--->[PC]
　　　　　　　　　|　　　　　　　　|
　　　　　　　　　|　　　　　　　　+--[スマホ]
　　　　　　　　　+------[ひかりTV_STB]


# うまくいくまでの試行錯誤
いろいろ考えながら構成変えて試行錯誤したので、メモしておきます。

## ダメダメだった構成
ブロードキャストが出まくりのダメダメ構成は次のとおりでした。
素直にwifiルータにひかりTVのSTBを接続しただけの構成です。

[ONU]-->[wifi_ap(ルータモード)]-->[l2sw]-->[PC]
　　　　　　　|　　　　　　　　　　　　|
　　　　　　　|　　　　　　　　　　　　+------[ひかりTV_STB]
　　　　　　　|
　　　　　　　+----[スマホ]

つまり、ひかり電話ルータを使ってない。ということです。

ひかりTVのSTBを使用してTVを視聴すると、家中のL2SWはすべてLEDが鬼点滅していました。wifiの接続は不安定でした。twitterも見れないくらいに不安定だし、気づくとwifi切断されている始末....しかも、wifiルータがかなり熱くなっていました。
このままブロードキャストパケットが出続けるということは、ネットワーク機器がフルパワーで動き続けるってことだよな。しかもwifiにも電波配りまくる....うーん、これはやばい。

ひかりTV入れるとこんな感じになるの？？？？
世の中のひかりTVユーザはこんな仕打ちを受けているの？？？
仕組み上仕方ないとはいえ、こんなにネットワークが荒れるなら使い物にならないしリコールものではないか...
とおもいネットを調べてみても、同じような症状なそんなに報告されていない。

普通の人はどうやって耐えているのか不思議でした。この時点では....

## ちょっとマシだったけどwifiでTV見れないよ！！な構成
次に試してみたのが、ひかりTV_STBをONUに直差し（wifiルータとはL2SWで分岐）する設定。

[ONU]-->[L2SW]-->[ひかりTV_STB]
　　　　　　|
　　　　　　+------[wifi_ap(ルータモード)]-->[PC]
　　　　　　　　　　　　｜
　　　　　　　　　　　　+----[スマホ]

ブロードキャストは出なくなったし、ひかりTVはテレビで見れる。録画もできました。

しかし、この構成だとwifiでひかりTVを観ることはできません。スマホを接続するネットワークがwifi_apの内側だから当然ですね。
悩ましい構成です。

## もう一つの構成(番外編)
封印してあったASUS RT-AC68Uをひっぱりだしてきて、色々いじってると"IPTVポート"という設定があったので適当に設定してみたら、ひかりTVは観れたのですがwifiでひかりTVが視聴できませんでした。

残念ですが再度封印しました。

# 結局なにがダメだったのか
ひかりTVをつかうと、ひかりTVのSTBがIPv6のマルチキャストパケットを配るようです。このマルチキャストパケットを正しく取り扱うには、ルータ(L2SW)がMLD Snooping機能に対応している必要があるようです。この機能は安価なルータやL2SWには備わっていないようです。私が使っていたIODATAのルータも対応していないようでした。

もし、ルータやL2SWがMLD Snoopingに対応していない場合は、ネットワーク内に接続されているすべてのネットワーク機器にブロードキャストするようです。

# 根本的な対策
なので、結局はMLD Snoopingに対応したルータやL2SWをひかりTVのSTBに接続する必要があるようです。
すべてのL2SWをMLD Snooping対応にする必要があるのかはわかりません。

今回、NTTのひかり電話対応ルータをONUに接続し、その後にひかりTVのSTBに接続して功を奏したのですが、おそらくひかり電話対応ルータがMLD Snoopingに対応しているのだと思います。
※ひかり電話ルータついては、[こちらに記載](https://web116.jp/shop/hikari_r/rt_500mi/rt_500mi_00.html)がありますが、MLD Snoopingの機能には言及がありません。

ネットワークの根本からMLD Snooping対応するようになったということでしょうか。それで、うまく行ったのだと思います。

ここで疑問なのは、途中でMLD Snooping対応のL2SWを導入したとき、そのほかのL2SWもすべてMLD Snooping対応に統一する必要があるのか...です。

とまあ、こんな感じで概ね所望のネットワーク構成とすることができましたとさ。

めでたしめでたし。