私はCONFIG_IP_MULTICAST=y
現在マルチキャストについて学んでいますが、IPネットワークに2つの一般的なマルチキャストプロトコルがIP
あります。 Wi-Fiアダプタ情報を照会した結果、マルチキャストがサポートされていることがわかりました。PIM SS
PIM DS
$ ip link show dev wlp2s0
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
問題は、デバイスがどのマルチキャストプロトコルを使用しているかです。
答え1
PIM SSとPIM DSはマルチキャストです。ルーティング規約。特定のマルチキャストストリームをあるネットワークセグメントから別のネットワークセグメントに転送する必要があるタイミング/不在を決定する必要があるマルチキャスト対応ルータにのみ適用されます。マルチキャストを他のルーターにルーティングできる必要があるルーターとしてLinuxシステムを設定していない場合は、気にする必要はありません。
Marcus Müllerが述べたように、一般的なNICはIEEE 802.3(イーサネット)/ 802.11(WiFi)アドレスにのみ興味があります。特定のマルチキャストイーサネットアドレスを持つマルチキャストパケットのみを受信するように設定できるハードウェアマルチキャストフィルタがある場合とない場合があります。ただし、一部のネットワークカードにはこの機能がなく、IPマルチキャストアドレスとイーサネットマルチキャストアドレス間のマッピングが完全ではないため、オペレーティングシステムはデータパックに関係なく、マルチキャストIPアドレスで受信したマルチキャストをフィルタリングする準備ができている必要があります。 。
マルチキャスト処理に関して、デフォルトでは、イーサネットNICのハードウェア実装には3つのレベルがあります。
- オペレーティングシステムおよび/またはアプリケーションが受信するマルチキャストアドレスに基づいてドライバ/オペレーティングシステムで自動的に設定できるマルチキャストフィルタ
- より単純なすべてまたは完全なマルチキャストフィルタ(既存/安価な10/100M NIC):回線に到着するすべてのマルチキャストパケットを受信したり、マルチキャストをまったく受信しないようにハードウェアを設定できます。
- または、マルチキャストをまったくサポートしないでください(デフォルトでは非常に古い低速10MイーサネットNIC)。これらのカードの場合、ドライバはマルチキャストを受信するためにカードを無差別モード(=すべてのハードウェアレベルの受信フィルタリングを無効にする)に設定する必要があります。
オペレーティングシステムレベルでは、IGMPはIPv6用のIPv4ホスト用の重要なマルチキャスト管理プロトコルであり、マルチキャスト管理はすべてICMPv6の一部です。これは、一般的な(ルーターではなく)ホストが興味を持っているはずです。
WiFi インターフェイスでは通常、暗号化が使用されます。カップルユニキャストキーとグループキーマルチキャストおよびブロードキャストに使用されます。ほとんどのWiFiインターフェイスには、NICハードウェア/ファームウェアの暗号化とキー管理のサポートが少なくともいくつか含まれています。 WiFi APだけがマルチキャストメッセージをホストに直接送信できます。ホストがマルチキャストメッセージを送信したい場合は、まずそれをAPに送信し、APはそれをグループにブロードキャスト/マルチキャストします。グループキーはAPによって生成および管理され、必要に応じてペアキーを使用してグループキーを安全に配布します。
答え2
IPは、ネットワークカードが興味を持っているよりも1レベル高いです。したがって、答えは両方です。
どちらのプロトコルもカードに拘束されません。マルチキャストを実行するデバイスのIPスタックは、デフォルトのIEEE 802.11アドレッシングを使用してパケットを正しいステーションに転送する方法を知る必要があります。