Stos protokołów
Stos protokołów lub stos sieciowy jest implementacją zestawu protokołów sieci komputerowej lub rodziny protokołów . Niektóre z tych terminów są używane zamiennie, ale ściśle rzecz biorąc, pakiet to definicja protokołów komunikacyjnych , a stos to ich programowa implementacja.
Poszczególne protokoły w ramach pakietu są często projektowane z myślą o jednym celu. Ta modularyzacja upraszcza projektowanie i ocenę. Ponieważ każdy moduł protokołu zwykle komunikuje się z dwoma innymi, powszechnie wyobraża się je jako warstwy stosu protokołów. Najniższy protokół zawsze zajmuje się interakcją niskiego poziomu ze sprzętem komunikacyjnym. Każda wyższa warstwa dodaje dodatkowe możliwości. Aplikacje użytkownika zwykle obsługują tylko najwyższe warstwy.
Ogólny opis zestawu protokołów
T ~ ~ ~ T [A] [B]_____[C]
Wyobraź sobie trzy komputery: A , B i C . Zarówno A , jak i B mają sprzęt radiowy i mogą komunikować się za pośrednictwem fal radiowych, korzystając z odpowiedniego protokołu sieciowego (takiego jak IEEE 802.11 ). B i C są połączone kablem, wykorzystując go do wymiany danych (znowu za pomocą protokołu, na przykład protokołu Point-to-Point ). Jednakże żaden z tych dwóch protokołów nie będzie w stanie przesyłać informacji z A do C , ponieważ koncepcyjnie komputery te znajdują się w różnych sieciach. Jakiś Do ich połączenia wymagany jest protokół międzysieciowy .
Można połączyć oba protokoły, tworząc trzeci, potężny, obsługujący zarówno transmisję kablową, jak i bezprzewodową, ale dla każdej możliwej kombinacji protokołów potrzebny byłby inny superprotokół. Łatwiej jest zostawić protokoły podstawowe w spokoju i zaprojektować protokół, który będzie działał na każdym z nich ( przykładem jest protokół internetowy ). Spowoduje to utworzenie dwóch stosów po dwa protokoły każdy. Protokół międzysieciowy będzie komunikował się z każdym protokołem podstawowym w jego prostszym języku; protokoły podstawowe nie będą ze sobą bezpośrednio rozmawiać.
Żądanie wysłania fragmentu danych do komputera C jest realizowane przez wyższy protokół, który (w jakikolwiek sposób) wie, że C jest osiągalny przez B. Dlatego instruuje protokół bezprzewodowy, aby wysłał pakiet danych do B. Na tym komputerze procedury obsługi niższej warstwy przekażą pakiet do protokołu międzysieciowego, który po rozpoznaniu, że B nie jest miejscem docelowym, ponownie wywoła funkcje niższego poziomu. Tym razem protokół kablowy służy do przesyłania danych do C . Tam odebrany pakiet jest ponownie przekazywany do wyższego protokołu, który (gdzie C jest miejscem docelowym) przekaże go do wyższego protokołu lub aplikacji na C.
W praktyce stosy protokołów są często podzielone na trzy główne sekcje: media, transport i aplikacje. Konkretny system operacyjny lub platforma często ma dwa dobrze zdefiniowane interfejsy oprogramowania: jeden między warstwami mediów i transportu oraz drugi między warstwami transportu i aplikacjami. Interfejs media-to-transport definiuje, w jaki sposób oprogramowanie protokołu transportowego wykorzystuje określone typy nośników i sprzętu oraz jest powiązany ze sterownikiem urządzenia . Na przykład ten poziom interfejsu będzie definiował sposób, w jaki TCP/IP będzie komunikować się z siecią kontroler interfejsu sieciowego . Przykładami takich interfejsów są ODI i NDIS w środowisku Microsoft Windows i DOS . Interfejs aplikacji do transportu definiuje, w jaki sposób programy aplikacji korzystają z warstw transportowych. Na przykład ten poziom interfejsu będzie definiował sposób, w jaki przeglądarka internetowa będzie komunikować się z oprogramowaniem transportowym TCP/IP. Przykładami tych interfejsów są gniazda Berkeley i STREAMS Systemu V w środowiskach typu Unix oraz Winsock dla Microsoftu Windows.
Przykłady
Protokół | Warstwa |
---|---|
HTTP | Aplikacja |
TCP | Transport |
IP | Internet lub sieć |
Ethernetu | Łącze lub łącze danych |
IEEE 802.3ab | Fizyczny |
Warstwa rozciągająca
Ważną cechą wielu społeczności interoperacyjności opartych na wspólnym stosie protokołów jest warstwa rozpinająca , termin ukuty przez Davida Clarka
„Niektóre protokoły zaprojektowano z myślą o niwelowaniu różnic w niższych warstwach, tak że nie są tam wymagane wspólne porozumienia. Zamiast tego warstwa zapewnia definicje, które umożliwiają translację pomiędzy szeregiem usług lub technologii wykorzystywanych poniżej. Zatem, w pewnym sensie abstrakcyjnie, na i nad taką warstwą wspólne standardy przyczyniają się do interoperacyjności, podczas gdy poniżej warstwy stosuje się translację. W tym artykule taka warstwa nazywana jest „warstwą rozpinającą”. W praktyce rzeczywistą interoperacyjność osiąga się poprzez definicja i wykorzystanie efektywnych warstw rozpinających. Istnieje jednak wiele różnych sposobów tworzenia warstw rozpinających.
W stosie protokołów internetowych pakiet protokołów internetowych stanowi warstwę obejmującą, która definiuje usługę best-effort dla globalnego routingu datagramów w warstwie 3 . Internet jest wspólnotą współdziałania opartą na tej rozpiętej warstwie .
Zobacz też
- Optymalizacja międzywarstwowa
- DECnet
- Hierarchiczny model sieci
- Wojny protokołów
- Rekurencyjna architektura sieci
- Warstwa usług
- System Sygnalizacji nr 7
- Architektura sieci systemów
- Bezprzewodowy protokół aplikacji
- X.25
-
^
„Co to jest stos protokołów?” . WEBOPEDIA. 24 września 1997 . Źródło: 21.02.2010 .
[Stos protokołów to] zestaw warstw protokołów sieciowych, które współpracują ze sobą. Model referencyjny OSI , który definiuje siedem warstw protokołów, jest często nazywany stosem, podobnie jak zestaw protokołów TCP/IP definiujących komunikację w Internecie.
-
^
Georg N. Strauß (09.01.2010). „Model OSI, część 10. Warstwa aplikacji” . Ika-Reutte. Zarchiwizowane od oryginału w dniu 20.03.2012 r . Źródło: 21.02.2010 .
Warstwa aplikacji jest najwyższą warstwą modelu OSI i zapewnia usługi bezpośrednio obsługujące aplikacje użytkownika, takie jak dostęp do baz danych, poczta e-mail i przesyłanie plików.
- ^ Davida Clarka (1997). Interoperacja, otwarte interfejsy i architektura protokołów . Nieprzewidywalna pewność: białe księgi . Krajowa Rada ds. Badań. ISBN 9780309060363 .