ARPテーブルを手動で設定しない限り、同じWiFiネットワーク上の2つのデバイスはお互いを認識できません

ARPテーブルを手動で設定しない限り、同じWiFiネットワーク上の2つのデバイスはお互いを認識できません

最近、ローカル WiFi ネットワーク上のラップトップ デバイス (Ubuntu 22.04 を実行) が 2 台の別々の Android デバイス (両方とも SSHelper を実行) に接続できないという問題が発生し始めました。最初の試みでは、ラップトップから android1 に ping を実行しようとしたときに、「宛先ホストに到達できません」というエラーが繰り返し表示されました。しかし、同じエラー メッセージが 5 回または 10 回表示された後、android1 からラップトップに ping を実行しようとしたところ、突然動作するようになりました。

しかし、その後、ラップトップから Android2 に同じアプローチを試したところ、うまくいきませんでした。いろいろ考えた後、Android2 の MAC アドレスをラップトップの ARP テーブルに手動で追加してみようと思いつきました (arp -s)。すると突然、うまくいきました。数時間後、ラップトップから Android2 に接続しようとしましたが、またうまくいきませんでした。ARP テーブルは、まだ同じ状態でした。今回は、ラップトップの MAC アドレスを Android2 の ARP テーブルに追加することで、うまくいきました。(幸い、Android2 はルート化可能なデバイスです!)

これは、なぜ機能しないのかを突き止めるまでの回避策ですが、長期的には問題を解決しません。さらに、私が見つけた回避策はどれもしばらくすると機能しなくなるようで、試すことがほとんどありません。この問題をどのようにトラブルシューティングすればよいですか? すべてのデバイスを再起動することはすでに試しました (これは実際に最初に試したことです。過去には機能していたように思います)。ネットワーク ルート、サブネット マスク、ARP テーブル (手動で強制するまでは「不完全」と表示されます) を確認しました。ブロードキャスト パケットか何かに問題があるように感じます。WiFi ネットワークに問題がある可能性はありますか?

答え1

ARP が失敗する原因としては、おそらくマルチキャスト (Wi-Fi のコンテキストではブロードキャストを含む) が、Android デバイスの Wi-Fi ドライバーまたは AP (ワイヤレス ルーター) のバグのある実装によって失敗していることが考えられます。マルチキャストは Wi-Fi では扱いにくく、AP とクライアントの両方でバグのある実装が数多く存在しています。

さまざまなクライアントからサブネット ブロードキャスト アドレスまたは全ホスト マルチキャスト アドレス (224.0.0.1) に ping を実行し、それぞれの場合に応答するクライアントと応答しないクライアントを確認すると、マルチキャストが機能しているかどうかがわかる場合があります (注意: 残念ながら、Windows はポリシー上の理由からブロードキャスト ping またはマルチキャスト ping に常に応答するわけではありません。そのため、Windows デバイスから応答がない場合は驚かないでください)。

マルチキャストが実際に壊れている場合は、AP を再起動すると、再び問題が発生するまでしばらくの間問題が解決する可能性があります。バグがクライアントにある場合でも、AP を再起動するとクライアントが再接続され、しばらくの間リセットされる可能性があります。

もう 1 つのテストは、一時的にワイヤレス セキュリティなしで実行することです。Wi-Fi でのマルチキャストの最も難しい部分は、セキュリティ暗号化に関係しています。したがって、セキュリティを無効にすると (一時的ではなく) 問題が解消される場合は、WPA2 の実装にバグがあることを示しています。セキュリティを再びオンにするときは、必ず WPA2 (またはそれ以降) を使用してください。のみつまり、AES-CCMPのみオリジナルの WPA (TKIP) は、いかなる方法でも有効化したり、利用したりしないでください。WEP についても同様です。

マルチキャストが壊れているがセキュリティに問題がない場合は、AP のマルチキャスト レート設定に問題がある可能性があります。ネットワーク上のすべてのデバイスが確実に受信できるほど低いレートに設定されていることを確認してください。または、一時的に可能な限り低いレート (2.4GHz b/g/n/ax では 1Mbps、5GHz a/n/ac/ax では 6Mbps) に設定してください。

Wi-Fi でマルチキャストが途切れる最後の原因として考えられるのは、マルチキャスト トラフィックが多すぎることです。有線イーサネット LAN で何らかのマルチキャスト ストリーミングを行っている場合は、AP の「IGMP スヌーピング」機能を有効にして、Wi-Fi ネットワークへのマルチキャスト トラフィックの氾濫を防止してください。

関連情報