Megosztás a következőn keresztül:


MLD és IGMP Windows Sockets használatával

A Windows-szoftvercsatornák lehetővé teszik az IPv6-on futó csoportos küldésű figyelőfelderítést (MLD) és az IPv4 internetcsoport-kezelési protokollját (IGMP) a csoportos küldésű alkalmazásokhoz a szoftvercsatorna-beállítások és az IOCTL-ek használatával. Ez az oldal ismerteti a csoportos küldési programozást lehetővé tevő szoftvercsatornák beállításait, és ismerteti a használatuk módját. Az egyes szoftvercsatornákra vonatkozó definíciókat a Szoftvercsatorna beállításai lapon találhatja meg.

További információ az IOCTLs csoportos küldésű programozáshoz való használatáról, lásd a Final-State-Based Csoportos küldésű programozás e szakasz későbbi részében.

Windows Vista és újabb rendszereken az IPv6- és IPv4-címeket támogató multicast programozáshoz elérhetők a socket beállítások. Ezek a szoftvercsatorna-beállítások IP-agnosztikusak, és IPv6-on és IPv4-en is használhatók. Az IPv6 esetén ezek a csatlakozási opciók az MLDv2-t használják. IPv4-en ezek a socket opciók az IGMPv3-at használják. Ezek az IP-agnosztikus socket opciók a csoportos üzenetküldéshez preferáltak Windows Vista és újabb verziókon. A Windows Socketek a következő socket lehetőségeket használják:

Csatlakozási opció Argumentum típusa
MCAST_BLOCK_SOURCE GROUP_SOURCE_REQ szerkezet
MCAST_JOIN_GROUP GROUP_REQ struktúra
MCAST_JOIN_SOURCE_GROUP GROUP_SOURCE_REQ szerkezet
Csoportelhagyás_utasítás GROUP-REQ struktúra
MCAST_KILÉPÉS_FORRÁSCSOPORTBÓL GROUP_SOURCE_REQ szerkezet
MCAST_UNBLOCK_SOURCE GROUP_SOURCE_REQ szerkezet

 

A multicastinghez szükséges socketbeállítások elérhetők, amelyek csak IPv6-címeket támogatnak. Ezek a socket opciók az MLDv1 vagy az MLDv2 protokollt használják. A használt MLD-verzió a Windows verziójától függ. Az MLDv2 Windows Vista és újabb rendszereken támogatott. A Windows-szoftvercsatornák a következő szoftvercsatorna-beállításokat használják:

Socket beállítás Argumentum típusa
IPV6_ADD_MEMBERSHIP ipv6_mreq struktúra
IPV6_DROP_MEMBERSHIP ipv6_mreq szerkezet

 

Csoportos küldést támogató programozáshoz elérhető egy socket opciók készlet, amely csak IPv4-címeket támogat. Ezek a socket beállítások az IGMPv3 vagy az IGMPv2 protokollt használják. A használt IGMP-verzió a Windows verziójától függ. Az IGMPv3 támogatott Windows Vista és újabb rendszereken. A Windows Socketek a következő socket-beállításokat használják:

Socket opció Argumentum típusa
IP_ADD_MEMBERSHIP ip_mreq struktúra
IP_ADD_SOURCE_MEMBERSHIP ip_mreq_source szerkezet
IP_BLOKKOLÁS_FORRÁS ip_mreq_source szerkezet
IP_DROP_MEMBERSHIP ip_mreq struktúra
Forrás tagsági megszüntetése IP-cím alapján ip_mreq_source szerkezet
IP_FORRÁS_FELSZABADÍTÁSA ip_mreq_source szerkezet

 

Ha az IGMPv3 elérhető, a IP_ADD_SOURCE_MEMBERSHIP, IP_BLOCK_SOURCE, IP_DROP_SOURCE_MEMBERSHIP és IP_UNBLOCK_SOURCE lehetőségek hatékonyabban kezelhetők, mivel az útválasztó képes kezelni a szűrést. Ha csak az IGMPv2 érhető el, a gazdagépnek kell kezelnie a szűrést.

Két kategória van, amelyekbe a legtöbb alkalmazás valószínűleg esni fog: bármilyen forrásból és szabályozott forrásból.

  • Bármely forrású alkalmazás alapértelmezés szerint elfogadja az összes forrást, így az egyes források szükség szerint ki vannak kapcsolva. Bármely forrásalkalmazásra példa egy videokonferencia-hívás, amely minden címzett számára lehetővé teszi a részvételt.
  • szabályozott forrású alkalmazások egy adott listára, például egy internetes rádióállomásra vagy egy jelentős esemény közvetítésére korlátozzák a forrásokat. A socket beállítások használatának folyamata mindegyik esetben kissé eltérő.

Windows Vista és újabb rendszereken a következő lépések vonatkoznak minden forrásalkalmazásra:

  • A MCAST_JOIN_GROUP használatával csatlakozhat egy csoporthoz.
  • Ha szükséges, a MCAST_BLOCK_SOURCE használatával kapcsoljon ki egy adott forrást.
  • Ha szükséges, a MCAST_UNBLOCK_SOURCE használatával engedélyezze újra a letiltott forrást.
  • A csoport elhagyásához használd a MCAST_LEAVE_GROUP.

Windows Vista és újabb rendszereken a következő lépések vonatkoznak a szabályozott forrású alkalmazásokra:

  • A MCAST_JOIN_SOURCE_GROUP használatával csatlakozhat az egyes csoportokhoz/forráspárokhoz.
  • A MCAST_LEAVE_SOURCE_GROUP használatával elhagyhatja az egyes csoportokat/forrásokat, vagy MCAST_LEAVE_GROUP használatával az összes forrást elhagyhatja, ha az összes forrás ugyanazt a csoportcímet használja.

A következő lépések minden forrásalkalmazásra vonatkoznak:

  • A IP_ADD_MEMBERSHIP használatával csatlakozhat egy csoporthoz (IPV6_ADD_MEMBERSHIP az IPv6-hoz).
  • Ha szükséges, a IP_BLOCK_SOURCE használatával kapcsoljon ki egy adott forrást.
  • Ha szükséges, a IP_UNBLOCK_SOURCE használatával engedélyezze újra a letiltott forrást.
  • A IP_DROP_MEMBERSHIP használatával lépjen ki a csoportból (IPV6_DROP_MEMBERSHIP az IPv6-hoz).

A szabályozott forrású alkalmazásokra a következő lépések vonatkoznak:

  • A IP_ADD_SOURCE_MEMBERSHIP használatával csatlakozzon az egyes csoportokhoz/forráspárokhoz.
  • Ha az összes forrás ugyanazt a csoportcímet használja, IP_DROP_SOURCE_MEMBERSHIP hagyhatja el az egyes csoportokat/forrásokat, vagy IP_DROP_MEMBERSHIP használatával hagyhatja el az összes forrást.

A socket beállítások sorrendjének van egy társított szabályrendszere. A multicast foglalat opciókra vonatkozó információkért és a hibaelhárítási információkért lásd a Multicast foglalat opció viselkedéserészt.