Czasami przesyłamy przez sieć tylko małe pliki. Jednak od czasu do czasu chcemy przesyłać przez sieć większe pliki lub nawet nieskończone strumienie. W tym momencie możemy mieć duży problem. Jak upewnić się, że wszyscy klienci znajdujący się w tej samej części sieci pobiorą plik o rozmiarze na przykład 50 GB?
Podam przykład z koszyckiej firmy. Był piątek rano, godzina 10:00. W dwunastym wszystkie stacje klienckie musiały zostać ponownie zainstalowane, aby działały na nowym systemie operacyjnym Windows 8. Mówimy o tysiącach komputerów. Jeśli przeprowadzimy obliczenia, na serwerze wewnętrznym będziemy mieli zapasowy obraz o rozmiarze (tylko) 10 GB. Spróbujcie obliczyć, z jaką szybkością musielibyśmy przepuścić w sieci 10 TB w dwie godziny, czyli 5 TB na godzinę, czyli naprawdę dużo. Problem w tym, że żadna macierz dyskowa nam tego nie da. Nawet gdybyśmy kupili w tej chwili najszybszą od EMC, to by nie zadziałała. Bo musielibyśmy dać prawie 1,5 GB/sekundę, czego nie oddamy. Problem w tym, że te macierze dyskowe są zbudowane na przepustowość od 200 Mb/s do 300 Mb/s, ale to wszystko, co daje ta macierz. A i tak musimy przejść przez linię 10 Gb/s, żeby w ogóle przeszło przez Fibrechannel. Ale tego nie zrobimy. Jak więc to zrobić, skoro nie możemy sobie pozwolić na chwilowe zamknięcie firmy?
W Multicast możemy zastosować podstawową metodę transmisji, która działa w zupełnie inny sposób niż normalny ruch sieciowy. W normalnym przypadku klient pobiera dane z serwera. W przypadku multiemisji serwer przesyła coś do klientów. To połączenie serwer „wypycha” do kilku klientów jednocześnie. To nie byłoby nic dziwnego. Dziwne jest to, że używasz tylko jednego pakietu dla wszystkich klientów. I to jest dziwne!
Multicast jest używany dla trzech typów ruchu sieciowego:
Cały multicast polega na tym, że nie ma połączenia TCP z potwierdzeniem. Trudno jest nam połączyć serwer z wieloma klientami równolegle. Właśnie dlatego w transmisji strumieniowej wykorzystuje się multiemisję - taką jak VoIP lub IPTV. Kiedy będziemy drukować treść klientom, nie możemy podać połączenia TCP, ale np. UDP.
Marián Knězek