Datagram
Datagram – podstawowa jednostka przekazu powiązana z siecią komutacyjną pakietów. Datagramy zwykle są zbudowane z sekcji nagłówka i ładunku.
Datagramy dostarczają możliwość bezpołączeniowej komunikacji w sieci komutacyjnej pakietów. Dostarczenie, czas dostarczenia i kolejność datagramów nie musi być gwarantowana przez sieć.
Historia
Wyrażenie „datagram” pojawiło się pierwotnie wraz z projektem CYCLADES, czyli siecią zmieniających się pakietów, stworzone w 1970 roku i przedstawione przez Louisa Pouzina jest kombinacją słów „dane” (ang. data) i „telegram”. CYCLADES było pierwszą siecią, która zrzucała odpowiedzialność rzetelnego przekazu danych na hosty, a nie na samą sieć, używając niesolidnych datagramów i powiązanego mechanizmu „end-to-end”.
„Inspiracją dla datagramów były dwa źródła. Pierwsze to badania Donalda Daviesa. Stworzył on bowiem symulacje sieci datagramów, mimo że żadnej nie zbudował, technicznie wyglądała ona wykonalnie do funkcjonowania. Druga to: lubię proste rzeczy. Nie widziałem żadnego sensu, by narzucać dwa poziomy protokołów „end-to-end”. Myślałem, że jeden wystarczał.’’
~ Louis Pouzin
Te pomysły były potem przyjęte do stworzenia Protokołu internetowego (IP) i innych sieciowych protokołów.
Definicja
RFC1594 definiuje określenie datagram następująco:
„Samodzielna, niezależna jednostka danych niosąca wystarczalną informację, kierowaną od źródła do wybranego komputera bez pośrednictwa wcześniejszych wymian między źródłem, destynowanym komputerem, a siecią transportową.”
~ RFC 1594
Datagram musi być samodzielny i niewspierany wcześniejszymi wymianami, ponieważ nie ma tu żadnego łączenia z ustalonym czasem trwania między dwoma komunikującymi się punktami, jak np. w wielu konwersacjach telefonicznych.
Sieć datagramów jest często porównywana do serwisu mailowego; użytkownik przekazuje jedynie adres przeznaczenia i nie otrzymuje gwarancji dostarczenia i potwierdzenia udanego przekazania e-maila. Datagramy są więc uznawane jako niegodne polegania na sobie. Serwis datagramów rozrzuca je bez wcześniejszego ustalenia ich ścieżki. Jest więc uznawana za bezpołączeniową. Nie przywiązuje się również uwagi do kolejności, w jakiej inne datagramy są wysyłane lub otrzymywane. Te same datagramy mogą podróżować różnymi ścieżkami, zanim dotrą do identycznego miejsca docelowego.
Struktura
Każdy datagram składa się z dwóch składników: nagłówka i ładunku danych. Nagłówek zawiera wszystkie niezbędne informacje do transportu pierwotnego zestawu do miejsca przeznaczenia bez konieczności wcześniejszych wymian, między zestawem a siecią. Nagłówki mogą zawierać adresy źródła i miejsca docelowego, ale również typowane pola. Ładunek to dane, które mają zostać przetransportowane. Proces zagnieżdżania się ładunku danych w oznaczonym nagłówku nazywany jest kapsułkowaniem.
Protokół internetowy
Protokół internetowy definiuje standardy dla kilku typów datagramów.
Warstwa internetowa to serwis datagramów dostarczana przez IP np. UDP jest napędzane przez serwis datagramów w warstwie internetowej. IP jest bezpołączeniowym, dostępnym, niesolidnym serwisem dostarczania informacji. TCP jest wyższym poziomem protokołem działającym na szczycie IP, który dostarcza rzetelny łączeniowo-zorientowany serwis.
Określenie datagram jest często używane, jako synonim pakietu, ale są to niuanse. Słowo datagram jest generalnie zarezerwowane dla pakietów z niesolidnych serwisów, które nie mogą określić nadawcy, gdy przesyłanie się nie powiodło. Z kolei termin pakiet przypisany jest dla jakiegokolwiek pakietu, zaufanego, lub niezaufanego. Datagramy to pakiety IP szybką i niepewną usługę jak UDP. Wszystkie pakiety IP są datagramami, aczkolwiek w warstwie DCP, to co jest określane segmentem TCP, jest czasem potrzebnym fragmentem IP z datagramu. To jednak odnosi się do pakietów.
Zobacz też
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.