# XCAST

La multi-unidifusió explícita (Xcast) és una variant de multicast que suporta un nombre molt gran de sessions multicast petites. Ho aconsegueix afegint totes les adreces IP de destinació al camp de direccions del paquet IP, en comptes d'utilitzar una adreça de grup multicast. Els esquemes de difusió selectiva (en anglès multicast) tradicionals sobre IP són escalables per grups multicast molt grans, però tenen problemes d'escalabilitat per un nombre elevat de grups diferents.
Els esquemes multicast es poden utilitzar per minimitzar el consum d'amplada de banda. Xcast es pot utilitzar per minimitzar el consum d'amplada de banda per petits grups i a més a més, elimina la senyalització i la informació d'estat per cada sessió dels esquemes multicast tradicionals permetent-li suportar un gran nombre de sessions.

## Funcionament

En Xcast, el node font manté totes les destinacions del canal multicast a través del qual es volen enviar els paquets. La font codifica la llista de destinacions en la capçalera Xcast, i envia el paquet a l'encaminador. Cada encaminador fa una consulta a la taula d'encaminament per determinar els següents salts de cada paquet IP, analitza la capçalera, particiona el camp de les destinacions basant-se en el pròxim salt de cada destinació i fa tantes còpies de paquets com camins diferents hagin de seguir. Tot seguit en fa avançar les còpies del paquet amb la capçalera Xcast adequada a cada un dels següents salts. En l'últim salt, quan no cal fer cap més copia i només hi ha una direcció en l'apartat destinacions de la capçalera el paquet es pot tractar com un paquet unicast normal i la xarxa el tractarà com a tal. Això s'anomena X2U (Xcast to Unicast).

## Xcast respecte multicast

Els esquemes IP multicast tradicionals van ser dissenyats per tractar amb grups molt grans. Funciona bé quan s'intenta fer una distribució amb canals similars als de la radiodifusió, però té problemes d'escalabilitat quan hi ha un nombre de grups molt gran. En els protocols multicast, els encaminadors mantenen informació sobre l'estat de la connexió, és a dir, mantenen taules d'encaminament que relacionen la direcció dels grups multicast amb la dels nodes. En alguns casos aquestes taules poden esdevenir molt grans, per això alguns esquemes alternatius intenten rebaixar la quantitat d'informació a mantenir. També hi ha protocols que per anunciar la font o per encaminar entre dominis. Dur a terme tots aquests protocols té un cost que no surt a compte quan es tracta de grups petits com és el cas de videoconferències, jocs... És en aquests casos quan Xcast surt a compte.
Xcast manté un dels principis que tan bé han funcionat a Internet i li han permès créixer tant: mantenir el centre de la xarxa simple i realitzar les operacions complicades als extrems.

### Avantatges

* Els encaminadors no han de mantenir informació per cada sessió o canal. Això fa a Xcast molt escalable pel que fa al nombre de sessions que pot suportar.*
* No cal fer cap assignació de cap direcció videoconferències.
* No necessiten protocols d'encaminament multicast, s'encaminen correctament gràcies als protocols unicast corrents.
* No hi ha cap node crític. Xcast minimitza les latències de la xarxa de telecomunicacions i maximitza l'eficiència.
* No calen camins simètrics. Els protocols d'encaminament IP multicast tradicionals creen arbres amb camins que no són els més curts si els camins no són simètrics. Un camí és simètric entre dos nodes quan aquest camí és el més curt en les dues direccions. Això és un avantatge perquè es preveu un increment dels camins asimètrics.
* En els protocols d'encaminament IP multicast tradicionals, és necessari establir una comunicació entre els protocols d'encaminament unicast i multicast. Això provoca una recuperació lenta a errors en enllaços. Xcast reacciona immediatament a canvis de ruta unicast.
* Facilitats en seguretat i registre. En Xcast totes les fonts coneixen els membres del canal i qualsevol encaminador pot conèixer els cops que s'ha duplicat cada paquet IP en el seu domini.
* Els receptors poden ser heterogenis doncs Xcast permet que cada receptor pugui tenir diferents requeriments de servei en un sol canal multicast.
* Simplicitat a l'hora d'implementar protocols fiables per sobre d'Xcast.
* Flexibilitat: unicast, multicast i Xcast representen costs d'amplada de banda, senyalització i processat respectivament. Depenent de com estigui construïda o com es trobi la xarxa en un moment donat interessarà utilitzar un sistema o un altre. Xcast dona una altra alternativa.
* Fàcil transició entre diferents mecanismes.

### Inconvenients

* Tenen capçaleres massa grans. Cada paquet IP conté totes les destinacions restants.
* Requereix un processament de capçalera més complex. Cada direcció necessita una consulta a la taula d'encaminament, per tant, es necessita el mateix nombre de consultes que es necessitarien si la transmissió es fes amb unicast, i a més a més, s'ha de generar una nova capçalera després de cada salt. No obstant:
** Xcast està pensat per sessions amb pocs usuaris i en molts encaminadors les capçaleres només contindran una direcció.
** La construcció de la capçalera es pot reduir a una operació molt senzilla, sobreescriure un mapa de bits.
** Quan el paquet entra en una regió on l'amplada de banda no està limitada, el paquet es pot transformar en un X2U prematur.
* Limita a un petit nombre d'usuaris cada sessió.

## Vegeu també

* Difusió general
* Unidifusió

## Enllaços externs

* XCAST Arxivat 2013-03-24 a Wayback Machine.: A commercial MediaWiki-powered website based in Japan (English-language), devoted to Explicit Multicast technology.