問題タブ [igmp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - RedHat 5.1 (Tikanga) での IGMP バージョンの設定
RedHat バージョン 5.1 (Tikanga) を実行しています。uname -a は、次のバージョン情報を生成します。 [root@bar foo]# uname -a Linux bar 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 i686 i386 GNU/Linux
上記のように構成された 4 台のマシンがあります。マルチキャスト機能を利用するアプリケーションに取り組んでおり、4 台のマシンのうちの 1 台は IGMP バージョン 3 を実行しています。他のマシンは IGMP バージョン 2 を実行しています。必要なのは IGMP バージョン 2 です。
「sysctl net.ipv4」オプションをすべて調べましたが、IGMP に関連するものもありますが、IGMP バージョンを設定することはできません。実際、IGMP バージョン 3 を実行しているマシンでの「sysctl net.ipv4」の出力は、他の 3 つのマシンの出力と同じです。
したがって、sysctl は IGMP バージョンを設定する方法ではないようです。間違っている場合は修正してください。
IGMP バージョン 2 で実行する必要があるこのマシンを構成する方法を知っている人がいますか? ありがとうございました!
java - Netty 4 は IGMPv3 で UDP マルチキャストをサポートしていますか?
ドキュメントで IGMPv3 を使用した UDP マルチキャストをサポートする Netty 4 への参照を見つけることができませんでした。
これがサポートされているかどうかを明確にすることはできますか?
udp - ルーターはどのようにマルチキャスト リスナーをスケジュールしますか?
ルーターがマルチキャスト リスナーをスケジュールする方法を知りたいです。たとえば、2 つのホストがルーターに接続されていて、同じマルチキャスト サーバーをリッスンしたい場合、2 つのホストのどちらが最初にマルチキャスト パケットを取得しますか?
sockets - ホスト上のすべての有効な Ipv4Addr を一覧表示する
ホストで使用可能なすべてのアドレスで同じマルチキャスト UDP パケットを送信する必要があります。localhost
/127.0.0.1
とに送信する必要があり239.255.0.1
ます。Rust のstd
lib は、バージョン 1.2 以降、マルチキャストの動作を非推奨にしています。とにかく、必要な特異性を得るには、より完全な .xml に切り替える必要がありますnet2
。
API には、私が探している API を提供するUDP 拡張機能net2
がたくさんあります。特に興味があるのは
しかし、multiaddr と interface で何をすべきかわかりません。127.0.0.1
multiaddr を指定するだけだと思ってい239.255.0.1
ましたが、パラメーターの有効な IPv4 を見つけるにはどうすればよいinterface
ですか? を提供できるRust関数はどこかにありVec<Ipv4Addr>
ますか?の出力を解析する必要がありifconfig
ますか?
これは、私のパブリック インターフェイスを送信するスタンドアロン プログラムです (その192.168.0.102
アドレスを手動で見つける必要がありました)。
それが違いを生むなら、私はナイトリーでコンパイルしています。
sql - 2 つの特定のプロトコルを実行する IP アドレスを返す SQL ステートメント
長さ 50 万行、幅 10 列の CSV ファイルがあります。
2 つの特定のプロトコル (UDP と IGMP) を持つ一般的な IP アドレスを取り出し、関連付けられたプロトコルが 1 つしかない他のすべての IP アドレスを除外する必要があります。これが私のテーブルのデータの例です:
したがって、このクエリが実行され、次のように出力されます。
UDP のみを持つサーバーではなく、UDP と IGMP の両方を持つ IP/サーバーを返します。これどうやってするの?これは、約 11,000 の一意の IP を持つ 510,000 以上の回線に対して実行する必要があります。
c - IGMPv3 フレームをリッスンする方法
このために IGMPv3 フレームを取得する必要があります。次のようなソケットを使用しています。
問題は、私のプログラムが IGMPv3 フレームをフィルタリングしていることです。理由がわかりません!! Wireshark を使用しているときに IGMP フレームを取得していますが、取得していません。私も使用しようとしました:
しかし、IGMP フレームではなく、ICMP フレームしか取得できませんでした。PS: 私は自分のプログラムを別のマシンで試してみましたが、うまくいきました。問題は私のカーネルにあると思います。
コード全体は次のとおりです。
初期化するアドレス mac は、wireshark の IGMP フレームから取得したアドレスであることに注意してください。このコードでは、実際には ICMP フレームのみを検出できます。
使用時:
それ以外の:
私は何も得られません!Wireshark では、IGMP や ICMP など、必要なすべてのフレームを取得しています!!
android - 一部の Android 端末でマルチキャスト受信が動作しないのはなぜですか?
一部の Android 端末でマルチキャスト受信が動作しないようです。13 台中 4 台のテスト端末でマルチキャストを受信できません。これらの 4 つのデバイスでは、アプリがマルチキャスト グループに参加するための IGMP 要求を送信していないようです。
マルチキャストを受信するコードは次のようになります。
アプリには次の権限があります。
問題を実証するために、GitHub で上記のコードを使用して小さなテスト プロジェクトを作成しました: MulticastTest。
私のコードに問題はありますか? 私は許可を逃しますか?
編集 1 : この問題は、特定の Android バージョンに関連していないようです。Android 4.x、5.x、および 6.x で動作を再現できます。
EDIT 2 : 関連する質問があります。
c# - System.ServiceModel.DiscoveryClient で IGMP を使用するにはどうすればよいですか?
2 つの VLAN (10.104. .および 192.168 .. ) を備えた D-Link DGS-1210-10P があります。各ネットワークにビデオ カメラがあり、各ネットワークのコンピュータに 2 つの NIC があります。
D-Link で IGMP をオフにすると、Microsoft DiscoveryClient と、マルチキャスト メッセージを送信する NIC を指定できるカスタム エンドポイントを使用して、両方のカメラを検出できます。IGMP をオンにすると、10.104 ネットワークしか表示されません。
Wireshark に IGMP メッセージが表示されます (送信元はどちらも自分のコンピュータで、送信先は正しいマルチキャスト アドレスです)。
私の質問は次のとおりです: DiscoveryClient は自動的に IGMP グループに参加し、正常に動作するはずですか? 基本的な IGMP の理解が欠けているか、D-Link ルーターの設定が不足していると思われます。