W komunikacji internetowej wyróżnia się dwa podstawowe formaty danych: strumień
i komunikat. Różnice między nimi zostały przedstawione w tabelce.
Tabelka. Dwa formaty danych wykorzystywane w aplikacjach internetowych.
Strumień | Komunikat |
---|---|
Charakter połączeniowy | Charakter bezpołączeniowy |
Komunikacja jeden-do-jednego | Komunikacja jeden-do-wielu |
Sekwencja pojedynczych bajtów | Sekwencja pojedynczych komunikatów |
Dowolna długość przekazu | Ograniczenie każdego komunikatu do 64 bajtów |
Wykorzystanie w większości aplikacji | Wykorzystanie w aplikacjach multimedialnych |
Zastosowanie protokołu TCP | Zastosowanie protokołu UDP |
Transport strumieni
Termin strumień odnosi się do mechanizmu, w którym jedna aplikacja dostarcza do innej
aplikacji zbiór bajtów o określonej kolejności. W praktyce przesyłane są dwa strumienie
danych między komunikującymi się jednostkami - po jednym w każdym kierunku. Na
przykład, gdy przeglądarka wykorzystuje usługę strumieniowania do komunikacji z serwerem
WWW, wysyła żądanie dostarczenia strony do serwera, a serwer odpowiada, przekazując
do komputera odpowiednią stronę. Sieć umożliwia wprowadzenie danych z dowolnej
aplikacji i zapewnia dostarczenie ich do drugiego programu.
Mechanizm strumieniowania przenosi sekwencje bajtowe bez nadawania im jakiegokolwiek
znaczenia i bez wyznaczania granic zakresów. Aplikacja nadawcza może w danej
chwili wygenerować pojedynczy bajt lub blok bajtów. Sieć z kolei dostosowuje we własnym
zakresie liczbę bajtów przekazywanych w określonej chwili. Oznacza to, że zdarza się połączenie
mniejszych bloków bajtów w jeden większy zbiór, a także podział dużych bloków
na mniejsze fragmenty. Ogólne założenie jest następujące:
Choć wszystkie bajty są dostarczane we właściwej kolejności, mechanizm strumieniowania
nie gwarantuje, że porcje danych rejestrowane przez aplikację odbiorczą
odpowiadają zbitkom generowanym przez program nadawczy.
Transport komunikatów
Alternatywny mechanizm komunikacji internetowej bazuje na transporcie komunikatów
odbieranych przez sieć i dostarczanych do odległej stacji. Każdy komunikat dostarczony
do odbiorcy odpowiada dokładnie komunikatowi wygenerowanemu po stronie nadawcy -
sieć nigdy nie przekazuje częściowych komunikatów ani nie łączy kilku bloków w większy
zbiór. Zatem jeśli nadawca formuje komunikat o n bajtach, odbiorca otrzyma dokładnie
n bajtów w nadchodzącym komunikacie.
Dostarczanie komunikatów jest realizowane na zasadzie emisji pojedynczej (ang. unicast),
multiemisji (ang. multicast) lub w sposób rozgłoszeniowy (ang. broadcast). Oznacza
to, że informacja wygenerowana w jednym komputerze jest przekazywana tylko do jednego
komputera docelowego, do grupy komputerów odbiorczych lub do wszystkich jednostek
w danej sieci. Ponadto aplikacje działające w wielu jednostkach mogą przesyłać komunikaty
do jednej wybranej aplikacji. Zatem transport komunikatów pozwala na komunikację
typu jeden-do-jednego, jeden-do-wielu oraz wiele-do-jednego.
Usługa dostarczania komunikatów nie gwarantuje poprawnej kolejności odbioru tychże
komunikatów, a nawet dostarczenia ich do jednostki zdalnej . Dopuszczalne są więc:
- Utrata komunikatów (tj. komunikaty nie są dostarczane).
- Duplikowanie komunikatów (dostarczana jest więcej niż jedna kopia komunikatu).
- Dostarczanie w przypadkowej kolejności.
Programista korzystający z mechanizmu przekazywania komunikatów musi zapewnić,
że aplikacja będzie działała poprawnie nawet wówczas, gdy pakiety zostaną utracone
lub będą odbierane w niewłaściwej kolejności. Ponieważ większość aplikacji wymaga
gwarancji dostarczenia danych, programiści zazwyczaj korzystają z usług strumieniowych.
Wyjątkami są na przykład operacje transmisji wideo, w których niezbędna jest multiemisja,
a programy obsługujące przekaz są przystosowane do reagowania na niewłaściwą
kolejność pakietów lub ich utratę. Z tego względu dalsze rozważania dotyczą mechanizmu
strumieniowania.
Źródła i Literatura:
Comer Earl Douglas - "Sieci Komputerowe i intersieci-kompendium wiedzy każdego administratora" Wydanie V, Wydawnictwo Helion 2012, ISBN: 978-83-246-3607-5.
Polish language edition published by HELION S.A. Copyright© 2012
Copyright© 2012 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)
Copyright© 2012 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)