Multicasting
Multicasting liknar sändning, men överför endast information till specifika användare. Den används för att effektivt sända streaming media och andra typer av datum till flera användare samtidigt.
Det enkla sättet att skicka data till flera användare samtidigt är att överföra enskilda kopior av data till varje användare. Detta är dock mycket ineffektivt, eftersom flera kopior av samma data skickas från källan via en eller flera nätverk. Multicasting gör det möjligt att dela upp en enda sändning mellan flera användare, vilket avsevärt minskar behovet bandbredd.
Multicasts som äger rum över Internet kallas IP-multicasts, eftersom de använder internetprotokollet (IP) för att överföra data. IP-multicasts skapar "multicast-träd", som tillåter en enda överföring att förgrena sig till enskilda användare. Dessa filialer skapas på Internet routrar där det behövs. Till exempel, om fem användare från fem olika länder begär åtkomst till samma ström skulle filialer skapas nära den ursprungliga källan. Om fem användare från samma stad begär åtkomst till samma ström skulle filialerna skapas nära användarna.
IP-multicasting fungerar genom att kombinera två andra protokoll med internetprotokollet. Den ena är Internet Group Management Protocol (IGMP), som tillåter användare eller klient system använder för att begära åtkomst till en ström. Den andra är Protocol Independent Multicast (PIM), som används av nätverksroutrar för att skapa multicast-träd. När en router får en begäran om att gå med i en ström via IGMP använder den PIM för att dirigera dataströmmen till rätt system.
Multicasting har flera olika applikationer. Det används ofta för streaming medium via Internet, till exempel live-TV och internetradio. Den stöder också videokonferenser och webbsändningar. Multicasting kan också användas för att skicka andra typer av data över Internet, till exempel nyheter, aktiekurser och till och med digitala kopior av programvara. Oavsett applikation hjälper multicasting till att minska användningen av internetbredd genom att tillhandahålla ett effektivt sätt att skicka data till flera användare.