Ile poziomów zawiera podstawowy model systemów otwartych? Model wzajemnych połączeń systemów otwartych (OSI).

Ten materiał jest poświęcony referencjom siedmiowarstwowy model sieci OSI. Tutaj znajdziesz odpowiedź na pytanie, dlaczego administratorzy systemu muszą rozumieć ten model sieci, rozważone zostaną wszystkie 7 poziomów modelu, a także poznasz podstawy modelu TCP/IP, który został zbudowany w oparciu o model referencyjny OSI.

Kiedy zacząłem interesować się różnymi technologiami informatycznymi i zacząłem pracować w tej dziedzinie, oczywiście nie wiedziałem o żadnym modelu, nawet o tym nie myślałem, ale bardziej doświadczony specjalista poradził mi, żebym się uczył, lub raczej po prostu zrozum ten model, dodając, że „ jeśli zrozumiesz wszystkie zasady interakcji, znacznie łatwiej będzie zarządzać, konfigurować sieć i rozwiązywać wszelkiego rodzaju problemy sieciowe i inne" Ja oczywiście go posłuchałem i zacząłem szperać w książkach, Internecie i innych źródłach informacji, jednocześnie sprawdzając w istniejącej sieci, czy to wszystko prawda.

We współczesnym świecie rozwój infrastruktury sieciowej osiągnął tak wysoki poziom, że bez budowy nawet małej sieci przedsiębiorstwo ( w tym i mały) nie będą mogli po prostu normalnie istnieć, dlatego administratorzy systemów stają się coraz bardziej poszukiwani. Aby zapewnić wysoką jakość budowy i konfiguracji dowolnej sieci, administrator systemu musi zrozumieć zasady modelu referencyjnego OSI, aby nauczyć się rozumieć interakcję aplikacji sieciowych, a nawet zasady transmisji danych w sieci, spróbuję przedstawienie tego materiału w sposób przystępny nawet dla początkujących administratorów.

Model sieci OSI (Podstawowy model odniesienia dotyczący wzajemnych połączeń systemów otwartych) to abstrakcyjny model interakcji komputerów, aplikacji i innych urządzeń w sieci. Krótko mówiąc, istotą tego modelu jest to, że organizacja ISO ( Międzynarodowa Organizacja Normalizacyjna) opracował standard działania sieci, aby każdy mógł na nim polegać, a także aby istniała kompatybilność wszystkich sieci i interakcja między nimi. Jednym z najpopularniejszych protokołów komunikacji sieciowej, stosowanym na całym świecie, jest protokół TCP/IP, który zbudowany jest w oparciu o model referencyjny.

No cóż, przejdźmy bezpośrednio do samych poziomów tego modelu, a najpierw zapoznajmy się z ogólnym obrazem tego modelu w kontekście jego poziomów.

Porozmawiajmy teraz bardziej szczegółowo o każdym poziomie, zwyczajowo opisuje się poziomy modelu referencyjnego od góry do dołu, na tej ścieżce zachodzi interakcja, na jednym komputerze od góry do dołu oraz na komputerze, na którym dane są odbierane od dołu do góry, tj. dane przechodzą sekwencyjnie przez każdy poziom.

Opis poziomów modelu sieci

Warstwa aplikacji (7) (warstwa aplikacji) to punkt początkowy i jednocześnie końcowy danych, które chcesz przesłać przez sieć. Warstwa ta odpowiada za interakcję aplikacji w sieci, tj. Aplikacje komunikują się w tej warstwie. To najwyższy poziom i trzeba o tym pamiętać rozwiązując pojawiające się problemy.

HTTP, POP3, SMTP, FTP, TELNET i inni. Innymi słowy, aplikacja 1 wysyła żądanie do aplikacji 2 za pomocą tych protokołów i aby dowiedzieć się, że aplikacja 1 wysłała żądanie do aplikacji 2, musi istnieć między nimi połączenie i to właśnie protokół jest za to odpowiedzialny połączenie.

Warstwa prezentacyjna (6)– ta warstwa odpowiada za zakodowanie danych, aby można je było później przesłać siecią i odpowiednio je z powrotem przekonwertować, aby aplikacja zrozumiała te dane. Po tym poziomie dane dla pozostałych poziomów stają się takie same, tj. nie ma znaczenia, jakiego rodzaju dane to są, czy jest to dokument Word, czy wiadomość e-mail.

Na tym poziomie działają następujące protokoły: PROW, LPP, NDR i inni.

Poziom sesji (5)– odpowiada za utrzymanie sesji pomiędzy transferami danych, tj. Czas trwania sesji różni się w zależności od przesyłanych danych, dlatego należy ją utrzymać lub zakończyć.

Na tym poziomie działają następujące protokoły: ASP, L2TP, PPTP i inni.

Warstwa transportowa (4)– odpowiada za niezawodność transmisji danych. Dzieli również dane na segmenty i składa je z powrotem, ponieważ dane mają różne rozmiary. Na tym poziomie istnieją dwa dobrze znane protokoły: TCP i UDP. Protokół TCP gwarantuje dostarczenie danych w całości, natomiast protokół UDP tego nie gwarantuje, dlatego wykorzystywane są do różnych celów.

Warstwa sieciowa (3)– ma na celu określenie ścieżki, jaką powinny podążać dane. Routery działają na tym poziomie. Odpowiada także za: tłumaczenie adresów i nazw logicznych na fizyczne, wyznaczanie krótkiej trasy, przełączanie i routing, monitorowanie problemów z siecią. To na tym poziomie to działa Protokół IP i protokoły routingu, np. RIP, OSPF.

Warstwa łącza (2)– zapewnia interakcję na poziomie fizycznym, na tym poziomie Adresy MAC urządzeń sieciowych, tutaj również monitorowane i korygowane są błędy, tj. wysyła ponowne żądanie dotyczące uszkodzonej ramki.

Warstwa fizyczna (1)– jest to bezpośrednia konwersja wszystkich ramek na impulsy elektryczne i odwrotnie. Inaczej mówiąc, fizyczny transfer danych. Działają na tym poziomie piasty.

Tak wygląda cały proces przesyłania danych z punktu widzenia tego modelu. Jest on referencyjny i ujednolicony, dlatego też na nim opierają się inne technologie i modele sieciowe, w szczególności model TCP/IP.

Model protokołu TCP i IP

Model TCP/IP różni się nieco od modelu OSI, a konkretnie model ten łączy w sobie pewne poziomy modelu OSI, a jest ich tylko 4:

  • Stosowany;
  • Transport;
  • Sieć;
  • Kanał.

Zdjęcie pokazuje różnicę między obydwoma modelami, a także po raz kolejny pokazuje, na jakich poziomach działają dobrze znane protokoły.

O modelu sieci OSI, a konkretnie o interakcji komputerów w sieci, można mówić długo i nie zmieści się to w jednym artykule, a będzie trochę niejasne, dlatego tutaj starałem się przedstawić podstawy tego modelu oraz opis wszystkich poziomów. Najważniejsze jest, aby zrozumieć, że to wszystko jest naprawdę prawdą, a plik przesłany przez sieć przechodzi po prostu „ ogromny„ścieżkę przed dotarciem do użytkownika końcowego, ale dzieje się to tak szybko, że tego nie zauważasz, w dużej mierze dzięki rozwiniętym technologiom sieciowym.

Mam nadzieję, że to wszystko pomoże Ci zrozumieć interakcję sieci.

Pojęcie „systemu otwartego” i problemy normalizacji

Uniwersalna teza o korzyściach płynących ze standaryzacji, obowiązująca we wszystkich gałęziach przemysłu, nabiera szczególnego znaczenia w sieciach komputerowych. Istotą sieci jest połączenie różnych urządzeń, co oznacza, że ​​problem kompatybilności jest jednym z najpoważniejszych. Bez przyjęcia przez wszystkich producentów ogólnie przyjętych zasad budowy sprzętu postęp w kwestii „budowy” sieci byłby niemożliwy. Dlatego cały rozwój branży komputerowej ostatecznie znajduje odzwierciedlenie w standardach - każda nowa technologia uzyskuje status „legalny” dopiero wtedy, gdy jej treść jest zapisana w odpowiednim standardzie.

W sieciach komputerowych ideologiczną podstawą standaryzacji jest wielopoziomowe podejście do rozwoju narzędzi interakcji sieciowej. To właśnie w oparciu o to podejście opracowano standardowy siedmiopoziomowy model interakcji systemów otwartych, który stał się swoistym uniwersalnym językiem specjalistów sieciowych.

Podejście wielopoziomowe. Protokół. Interfejs. Stos protokołów

Organizowanie interakcji między urządzeniami w sieci jest złożonym zadaniem. Jak wiadomo, do rozwiązywania złożonych problemów stosuje się uniwersalną technikę - dekompozycję, czyli rozbicie jednego złożonego problemu na kilka prostszych modułów zadań (ryc. 1.20). Procedura dekompozycji obejmuje jasną definicję funkcji każdego modułu, który rozwiązuje odrębny problem, oraz interfejsów między nimi. W rezultacie uzyskuje się logiczne uproszczenie zadania, a dodatkowo możliwa staje się modyfikacja poszczególnych modułów bez zmiany reszty systemu.

Dekompozycja często wykorzystuje podejście wielopoziomowe. Jest następująco. Wszystkie liczne moduły są podzielone na poziomy. Poziomy tworzą hierarchię, to znaczy istnieją poziomy nadrzędne i leżące u podstaw (ryc. 1.21). Zbiór modułów tworzących każdy poziom jest utworzony w taki sposób, że aby wykonać swoje zadania, wysyła żądania tylko do modułów bezpośrednio sąsiadującego poziomu bazowego. Natomiast wyniki pracy wszystkich modułów należących do danego poziomu można przenieść jedynie do modułów sąsiedniego wyższego poziomu. Ten hierarchiczny rozkład problemu wymaga jasnego zdefiniowania funkcji każdego poziomu i interfejsów między poziomami. Interfejs definiuje zestaw funkcji, które warstwa podstawowa udostępnia warstwie wyższej. W wyniku dekompozycji hierarchicznej uzyskuje się względną niezależność poziomów, a co za tym idzie możliwość ich łatwej wymiany.

W tym przypadku moduły niższego poziomu mogą na przykład rozwiązać wszystkie problemy związane z niezawodną transmisją sygnałów elektrycznych pomiędzy dwoma sąsiednimi węzłami. Moduły wyższego poziomu organizują transport komunikatów w obrębie całej sieci, wykorzystując środki wspomnianego niższego poziomu. A na najwyższym poziomie znajdują się moduły zapewniające użytkownikom dostęp do różnych usług - plików, drukowania itp. Oczywiście to tylko jedna z wielu możliwych opcji podziału ogólnego zadania organizacji interakcji sieciowych na prywatne podzadania.

Wielopoziomowe podejście do opisu i realizacji funkcji systemu dotyczy nie tylko narzędzi sieciowych. Ten model działania stosowany jest np. w lokalnych systemach plików, gdy przychodzące żądanie dostępu do pliku jest przetwarzane sekwencyjnie przez kilka poziomów programu (ryc. 1.22). Żądanie jest najpierw analizowane przez wyższy poziom, który sekwencyjnie analizuje złożoną symboliczną nazwę pliku i określa unikalny identyfikator pliku. Następny poziom wyszukuje po unikalnej nazwie wszystkie główne cechy pliku: adres, atrybuty dostępu itp. Następnie na niższym poziomie sprawdzane są prawa dostępu do tego pliku, a następnie po obliczeniu współrzędnych obszaru pliku zawierającego wymaganych danych, fizyczna wymiana odbywa się z urządzeniem zewnętrznym za pomocą sterownika dysku.

Wielopoziomowa reprezentacja środków interakcji sieciowej ma swoją specyfikę ze względu na fakt, że obejmuje proces wymiany komunikatów dwa maszyny, czyli w tym przypadku konieczne jest zorganizowanie skoordynowanej pracy dwóch „hierarchii”. Przesyłając wiadomości, obaj uczestnicy wymiany sieciowej muszą zaakceptować wiele umów. Muszą na przykład uzgodnić poziomy i kształt sygnałów elektrycznych, sposób określenia długości komunikatów, uzgodnić metody sprawdzania niezawodności itp. Innymi słowy, należy dokonać uzgodnień dla wszystkich poziomów, zaczynając od najniższego – najniższego. poziom transferu bitów - na najwyższy, realizując usługę dla użytkowników sieci.

Na ryc. Rysunek 1.23 przedstawia model interakcji pomiędzy dwoma węzłami. Po każdej stronie środki interakcji są reprezentowane przez cztery poziomy. Procedurę interakcji pomiędzy tymi dwoma węzłami można opisać jako zbiór reguł interakcji każdej pary odpowiednich poziomów obu zaangażowanych stron.

Sformalizowane reguły określające kolejność i format komunikatów wymienianych pomiędzy elementami sieci znajdującymi się na tym samym poziomie, ale w różnych węzłach, nazywane są protokół.

Moduły realizujące protokoły warstw sąsiednich, zlokalizowane w tym samym węźle, również współdziałają ze sobą zgodnie z jasno określonymi zasadami i przy wykorzystaniu ustandaryzowanych formatów komunikatów. Zasady te są zwykle nazywane interfejs. Interfejs definiuje zestaw usług, które dana warstwa udostępnia warstwie sąsiedniej.

W istocie protokół i interfejs wyrażają tę samą koncepcję, ale tradycyjnie w sieciach przypisano im różne zakresy działania: protokoły definiują zasady interakcji modułów tego samego poziomu w różnych węzłach, a interfejsy definiują zasady interakcja modułów sąsiednich poziomów w tym samym węźle.

Narzędzia każdego poziomu muszą działać, po pierwsze, na własnym protokole, a po drugie, na interfejsach z sąsiednimi poziomami.

Nazywa się hierarchicznie zorganizowany zestaw protokołów wystarczający do zorganizowania interakcji węzłów w sieci stos protokołów komunikacyjnych.

Protokoły komunikacyjne można zaimplementować zarówno w oprogramowaniu, jak i sprzęcie. Protokoły niższego poziomu są często wdrażane przy użyciu kombinacji oprogramowania i sprzętu, podczas gdy protokoły wyższego poziomu są zwykle wdrażane wyłącznie w oprogramowaniu.

Moduł oprogramowania, który implementuje określony protokół, dla zwięzłości nazywany jest często także „protokołem”. Co więcej, związek pomiędzy protokołem – formalnie zdefiniowaną procedurą, a protokołem – modułem oprogramowania, który implementuje tę procedurę, jest podobny do związku pomiędzy protokołem algorytm rozwiązania określonego problemu i program rozwiązujący ten problem.

Oczywiste jest, że ten sam algorytm można zaprogramować z różnymi stopniami efektywności. W ten sam sposób protokół może mieć kilka implementacji oprogramowania. Dlatego przy porównywaniu protokołów należy brać pod uwagę nie tylko logikę ich działania, ale także jakość rozwiązań programowych. Co więcej, na efektywność interakcji pomiędzy urządzeniami w sieci wpływa jakość całego zestawu protokołów tworzących stos, w szczególności sposób racjonalnego rozłożenia funkcji pomiędzy protokołami różnych poziomów oraz to, jak dobrze zdefiniowane są interfejsy między nimi .

Model OSI

To, że protokół jest umową przyjętą przez dwa współdziałające ze sobą podmioty, w tym przypadku dwa komputery pracujące w sieci, nie oznacza, że ​​jest to koniecznie standard. Jednak w praktyce przy wdrażaniu sieci zwykle korzystają ze standardowych protokołów. Mogą to być standardy zastrzeżone, krajowe lub międzynarodowe.

Na początku lat 80. wiele międzynarodowych organizacji normalizacyjnych - ISO, ITU-T i kilka innych opracowało model, który odegrał znaczącą rolę w rozwoju sieci. Ten model nazywa się model interakcji systemów otwartych (otwarty System Korelacja, OSI) lub model OSI. Model OSI definiuje różne warstwy interakcji systemu, nadaje im standardowe nazwy i określa, jakie funkcje powinna spełniać każda warstwa. Model OSI powstał w oparciu o bogate doświadczenia zdobyte przy tworzeniu sieci komputerowych, głównie globalnych, w latach 70-tych. Pełny opis tego modelu zajmuje ponad 1000 stron tekstu.

W modelu OSI (ryc. 1.25) środki komunikacji podzielone są na siedem poziomów:

    Stosowany

    Przedstawiciel

    Sesja

    Transport

    Sieć

    Kanał

    Fizyczny.

Każda warstwa zajmuje się jednym konkretnym aspektem interakcji urządzeń sieciowych.

Model OSI opisuje jedynie komunikację systemową realizowaną przez system operacyjny, narzędzia systemowe i sprzęt systemowy. Model nie obejmuje środków interakcji z aplikacją użytkownika końcowego. Aplikacje realizują własne protokoły komunikacyjne poprzez dostęp do narzędzi systemowych. Dlatego konieczne jest rozróżnienie warstwy interakcji aplikacji od warstwy aplikacji.

Należy także pamiętać, że aplikacja może przejąć funkcje niektórych wyższych warstw modelu OSI. Na przykład niektóre systemy DBMS mają wbudowane możliwości zdalnego dostępu do plików. W tym przypadku aplikacja podczas uzyskiwania dostępu do zdalnych zasobów nie korzysta z usługi plików systemowych: omija górne warstwy modelu OSI i uzyskuje bezpośredni dostęp do narzędzi systemowych odpowiedzialnych za transport wiadomości w sieci, które zlokalizowane są w niższych warstwach modelu OSI. Model OSI.

Załóżmy, że aplikacja wysyła żądanie do warstwy aplikacji, takiej jak usługa plikowa. Na podstawie tego żądania oprogramowanie poziomu aplikacji generuje komunikat w standardowym formacie. Typowa wiadomość składa się z nagłówka i pola danych. Nagłówek zawiera informacje o usługach, które muszą zostać przesłane przez sieć do warstwy aplikacji maszyny docelowej, aby poinformować ją o pracy, którą należy wykonać. W naszym przypadku nagłówek oczywiście musi zawierać informację o lokalizacji pliku i rodzaju operacji, jaką należy na nim wykonać. Pole danych komunikatu może być puste lub zawierać pewne dane, np. dane, które należy zapisać w zdalnym pliku. Aby jednak dostarczyć tę informację do miejsca przeznaczenia, pozostaje jeszcze wiele zadań do rozwiązania, za które odpowiedzialność ponoszą niższe szczeble.

Po wygenerowaniu komunikatu warstwa aplikacji przekazuje go w dół stosu do warstwy reprezentatywnej. Reprezentatywny protokół warstwy, w oparciu o informacje otrzymane z nagłówka warstwy aplikacji, wykonuje wymagane działania i dodaje do wiadomości własną informację serwisową - reprezentatywny nagłówek warstwy, który zawiera instrukcje dla reprezentatywnego protokołu warstwy maszyny docelowej. Powstały komunikat jest przekazywany do warstwy sesji, która z kolei dodaje jej nagłówek itp. (Niektóre implementacje protokołów umieszczają informację o usłudze nie tylko na początku wiadomości w postaci nagłówka, ale także na końcu, w w formie tzw. „trailera” -.) W końcu wiadomość dociera do dolnej, fizycznej warstwy, która faktycznie przekazuje ją liniami komunikacyjnymi do maszyny odbiorcy. W tym momencie wiadomość jest „zarośnięta” nagłówkami wszystkich poziomów (rys. 1.26).

Kiedy wiadomość dociera przez sieć do maszyny docelowej, jest odbierana przez jej warstwę fizyczną i sekwencyjnie przechodzi z warstwy na warstwę. Każdy poziom analizuje i przetwarza nagłówek swojego poziomu, wykonując funkcje odpowiadające temu poziomowi, a następnie usuwa ten nagłówek i przekazuje komunikat na wyższy poziom.

Wraz z terminem wiadomość (wiadomość) Istnieją inne terminy używane przez specjalistów sieciowych do oznaczania jednostek danych w procedurach wymiany. Normy ISO używają wspólnej nazwy do określenia jednostek danych, którymi zajmują się protokoły na różnych poziomach: blok protokołu dane ( Protokół Dane Jednostka , PDU ). Aby wyznaczyć bloki danych określonych poziomów - Często używane są nazwy specjalne: ramka, pakiet, datagram, segment.

Model OSI rozróżnia dwa główne typy protokołów: Protokoły z nawiązaniem połączenia (połączenie- zorientowany) Przed wymianą danych nadawca i odbiorca muszą najpierw nawiązać połączenie i ewentualnie wybrać parametry protokołu, którymi będą się posługiwać przy wymianie danych.Po zakończeniu rozmowy muszą zakończyć to połączenie . Telefon jest przykładem interakcji , oparte na połączeniu .

Drugą grupą protokołów są protokoły bez uprzedniego nawiązania połączenia (bezpołączeniowy). Takie protokoły są również nazywane datagram protokoły. Nadawca po prostu przesyła wiadomość, gdy jest ona gotowa. Wrzucenie listu do skrzynki pocztowej jest przykładem komunikacji bez uprzedniego nawiązania połączenia. Podczas interakcji komputerów używane są oba typy protokołów.

Warstwy modelu OSI

Warstwa fizyczna

Warstwa fizyczna zajmuje się transmisją bitów fizycznymi kanałami komunikacyjnymi, takimi jak kabel koncentryczny, skrętka komputerowa, kabel światłowodowy lub cyfrowy obwód terytorialny. Poziom ten jest związany z charakterystyką fizycznych mediów transmisji danych, taką jak szerokość pasma, odporność na zakłócenia, impedancja charakterystyczna i inne. Na tym samym poziomie określa się charakterystykę sygnałów elektrycznych przekazujących informację dyskretną, na przykład nachylenie zboczy impulsu, poziom napięcia lub prądu przesyłanego sygnału, rodzaj kodowania i prędkość transmisji sygnału. Ponadto ujednolicono tutaj rodzaje złączy i przeznaczenie każdego styku.

Funkcje warstwy fizycznej są zaimplementowane we wszystkich urządzeniach podłączonych do sieci. Po stronie komputera funkcje warstwy fizycznej realizowane są poprzez kartę sieciową lub port szeregowy.

Przykładem protokołu warstwy fizycznej jest specyfikacja 1OBase - Technologia Ethernet, która definiuje używany kabel jako nieekranowaną skrętkę kategorii 3 o impedancji charakterystycznej 100 omów, złączu RJ-45, maksymalnej długości segmentu fizycznego wynoszącej 100 metrów, kodzie Manchester do reprezentacji danych w kablu, a także niektórych inne cechy otoczenia i sygnały elektryczne.

Warstwa łącza danych

Warstwa fizyczna po prostu przesyła bity. Nie uwzględnia to faktu, że w niektórych sieciach, w których linie komunikacyjne są wykorzystywane (współdzielone) naprzemiennie przez kilka par współdziałających ze sobą komputerów, fizyczne medium transmisyjne może być zajęte. Dlatego jednym z zadań warstwy łącza danych jest sprawdzenie dostępności medium transmisyjnego. Kolejnym zadaniem warstwy łącza jest implementacja mechanizmów wykrywania i korygowania błędów.W tym celu warstwa łącza grupuje bity w zestawy zwane ramki (ramki). Warstwa łącza zapewnia poprawność transmisji każdej ramki, umieszczając na początku i na końcu każdej ramki specjalną sekwencję bitów w celu jej rozróżnienia, a także oblicza sumę kontrolną, przetwarzając w określony sposób wszystkie bajty ramki i dodając sumę kontrolną do ramy. Kiedy ramka dociera do sieci, odbiornik ponownie oblicza sumę kontrolną odebranych danych i porównuje wynik z sumą kontrolną ramki. Jeżeli są zgodne, ramkę uważa się za prawidłową i zaakceptowaną. Jeśli sumy kontrolne nie są zgodne, rejestrowany jest błąd. Warstwa łącza potrafi nie tylko wykryć błędy, ale także je skorygować poprzez retransmisję uszkodzonych ramek. Należy zaznaczyć, że funkcja korekcji błędów nie jest obowiązkowa dla warstwy łącza danych, dlatego niektóre protokoły na tym poziomie jej nie posiadają, np. Ethernet i Frame Relay.

Protokoły warstwy łącza stosowane w sieciach lokalnych zawierają pewną strukturę połączeń między komputerami i metody ich adresowania. Chociaż warstwa łącza danych zapewnia dostarczanie ramek pomiędzy dowolnymi dwoma węzłami sieci lokalnej, robi to tylko w sieci o bardzo specyficznej topologii połączeń, dokładnie takiej, dla której została zaprojektowana. Typowe topologie obsługiwane przez protokoły warstwy łącza LAN obejmują magistralę, pierścień i gwiazdę, a także wywodzące się z nich struktury wykorzystujące mosty i przełączniki. Przykładami protokołów warstwy łącza są Ethernet, Token Ring, FDDI, lOOVG-AnyLAN.

W sieciach lokalnych protokoły warstwy łącza są używane przez komputery, mosty, przełączniki i routery. W komputerach funkcje warstwy łącza są realizowane dzięki wspólnym wysiłkom kart sieciowych i ich sterowników.

W sieciach rozległych, które rzadko mają regularną topologię, warstwa łącza danych często zapewnia komunikację tylko między dwoma sąsiadującymi komputerami połączonymi indywidualnym łączem. Przykładami protokołów punkt-punkt (jak często nazywa się takie protokoły) są szeroko stosowane protokoły PPP i LAP-B. W takich przypadkach do dostarczania komunikatów pomiędzy węzłami końcowymi w całej sieci wykorzystywane są urządzenia warstwy sieciowej. Tak zorganizowane są sieci X.25. Czasami w sieciach globalnych trudno jest wyizolować funkcje warstwy łącza w czystej postaci, ponieważ są one połączone z funkcjami warstwy sieci w tym samym protokole. Przykładami takiego podejścia są protokoły technologii ATM i Frame Relay.

Ogólnie rzecz biorąc, warstwa łącza to bardzo potężny i kompletny zestaw funkcji do przesyłania wiadomości między węzłami sieci. W niektórych przypadkach protokoły warstwy łącza okazują się samowystarczalnymi narzędziami transportowymi i mogą umożliwiać działanie protokołów lub aplikacji warstwy aplikacji bezpośrednio na nich, bez angażowania środków sieci i warstw transportowych. Na przykład istnieje implementacja protokołu zarządzania siecią SNMP bezpośrednio przez Ethernet, chociaż domyślnie protokół ten działa na protokole sieciowym IP i protokole transportowym UDP. Oczywiście zastosowanie takiej implementacji będzie ograniczone - nie nadaje się ona do sieci złożonych różnych technologii, na przykład Ethernet i X.25, a nawet do sieci, w której Ethernet jest używany we wszystkich segmentach, ale istnieją pętle kształtowe połączenia pomiędzy segmentami. Jednak w dwusegmentowej sieci Ethernet połączonej mostem implementacja protokołu SNMP w warstwie łącza danych będzie całkiem wykonalna.

Aby jednak zapewnić wysoką jakość transportu wiadomości w sieciach o dowolnej topologii i technologii, funkcje warstwy łącza nie są wystarczające, dlatego w modelu OSI rozwiązanie tego problemu przypisano dwóm kolejnym warstwom - sieci i transport.

Warstwa sieci

Warstwa sieciowa służy do tworzenia jednolitego systemu transportowego , łączący kilka sieci, a sieci te mogą wykorzystywać zupełnie inne zasady przesyłania komunikatów pomiędzy węzłami końcowymi i mieć dowolną strukturę połączeń. Funkcje warstwy sieciowej są dość zróżnicowane. Zacznijmy je rozważać na przykładzie łączenia sieci lokalnych.

Protokoły warstwy łącza sieci lokalnej zapewniają dostarczanie danych pomiędzy dowolnymi węzłami tylko w sieci o odpowiedniej topologii standardowej, np. hierarchicznej topologii gwiazdy. Jest to bardzo rygorystyczne ograniczenie, które nie pozwala na budowanie sieci o rozwiniętej strukturze, np. sieci łączących kilka sieci korporacyjnych w jedną sieć lub sieci o dużej niezawodności, w których występują redundantne połączenia między węzłami. Możliwe byłoby uczynienie protokołów warstwy łącza bardziej złożonymi, aby obsługiwały zapętlone połączenia redundantne, ale zasada rozdziału odpowiedzialności pomiędzy warstwami prowadzi do innego rozwiązania. Aby z jednej strony zachować prostotę procedur przesyłu danych dla topologii standardowych, a z drugiej strony umożliwić stosowanie dowolnych topologii, wprowadzono dodatkową warstwę sieciową.

Na poziomie sieci sam termin internet obdarzony konkretnym znaczeniem. W tym przypadku przez sieć rozumie się zbiór komputerów połączonych ze sobą zgodnie z jedną ze standardowych typowych topologii i wykorzystujących do przesyłania danych jeden z protokołów warstwy łącza zdefiniowanych dla tej topologii.

Wewnątrz sieci dostarczanie danych zapewnia odpowiednia warstwa łącza, natomiast przesyłaniem danych pomiędzy sieciami zajmuje się warstwa sieciowa, która umożliwia prawidłowy wybór trasy transmisji komunikatów nawet wtedy, gdy struktura połączeń pomiędzy sieciami składowymi ma charakter różni się od przyjętego w protokołach warstwy łącza.

Sieci są połączone ze sobą za pomocą specjalnych urządzeń zwanych routerami. Routera - Jest to urządzenie, które zbiera informacje o topologii połączeń międzysieciowych i na ich podstawie przekazuje pakiety warstwy sieciowej do sieci docelowej. Aby przesłać wiadomość od nadawcy znajdującego się w jednej sieci do odbiorcy znajdującego się w innej sieci, należy wykonać określoną liczbę transmisje tranzytowe pomiędzy sieciami, lub chmiel (od chmiel - skok), za każdym razem wybierając odpowiednią trasę. Zatem trasa to sekwencja routerów, przez które przechodzi pakiet.

Na ryc. Rysunek 1.27 przedstawia cztery sieci połączone trzema routerami. Pomiędzy węzłami A i B tej sieci istnieją dwie trasy: pierwsza przez routery 1 i 3, a druga przez routery 1, 2 i 3.

Problem wyboru najlepszej ścieżki nazywa się rozgromienie, a jego rozwiązanie jest jednym z głównych zadań na poziomie sieci. Problem ten komplikuje fakt, że najkrótsza ścieżka nie zawsze jest najlepsza. Często kryterium wyboru trasy jest czas transmisji danych na tej trasie; zależy to od przepustowości kanałów komunikacyjnych i intensywności harmonogramu, który może zmieniać się w czasie. Niektóre algorytmy routingu próbują dostosować się do zmian obciążenia, podczas gdy inne podejmują decyzje na podstawie średnich długoterminowych. Trasę można wybrać w oparciu o inne kryteria, takie jak niezawodność transmisji.

Ogólnie rzecz biorąc, funkcje warstwy sieciowej są szersze niż funkcje przesyłania komunikatów po połączeniach o niestandardowej strukturze, co zbadaliśmy teraz na przykładzie połączenia kilku sieci lokalnych. Warstwa sieciowa rozwiązuje także problemy harmonizacji różnych technologii, upraszcza adresowanie w dużych sieciach oraz tworzy niezawodne i elastyczne bariery dla niepożądanego ruchu pomiędzy sieciami.

Zwykle nazywane są komunikaty warstwy sieciowej pakiety (pakiety). Organizując dostarczanie pakietów na poziomie sieci, stosuje się koncepcję „numeru sieci”. W tym przypadku adres odbiorcy składa się z większej części – numeru sieci i mniejszej części – numeru węzła w tej sieci. Wszystkie węzły w tej samej sieci muszą mieć tę samą wyższą część adresu, dlatego terminowi „sieć” na poziomie sieci można nadać inną, bardziej formalną definicję: sieć to zbiór węzłów, których adres sieciowy zawiera ten sam numer sieci .

W warstwie sieciowej zdefiniowane są dwa typy protokołów. Pierwszy typ - protokoły sieciowe (protokoły routowane) - wdrożyć promocję pakietów w sieci. Są to protokoły, które zwykle mają na myśli, gdy ludzie mówią o protokołach warstwy sieciowej. Jednakże w warstwie sieciowej często zawarty jest inny typ protokołu, nazywany protokołem wymiany informacji o routingu lub po prostu protokoły routingu (rozgromienie protokoły). Korzystając z tych protokołów, routery zbierają informacje o topologii połączeń międzysieciowych. Protokoły warstwy sieciowej są implementowane przez moduły oprogramowania systemu operacyjnego oraz oprogramowanie i sprzęt routerów.

W warstwie sieciowej działa inny rodzaj protokołu, który odpowiada za mapowanie adresu hosta wykorzystywanego w warstwie sieciowej na adres sieci lokalnej. Takie protokoły są często nazywane protokoły rozpoznawania adresów - Protokół rozpoznawania adresów, ARP. Czasami klasyfikuje się je nie jako warstwę sieciową, ale jako warstwę kanałową, chociaż subtelności klasyfikacji nie zmieniają ich istoty.

Przykładami protokołów warstwy sieciowej są protokół międzysieciowy stosu TCP/IP i protokół międzysieciowy stosu Novell IPX.

Warstwa transportowa

W drodze od nadawcy do odbiorcy pakiety mogą zostać uszkodzone lub utracone. Chociaż niektóre aplikacje mają własną obsługę błędów, inne wolą od razu zająć się niezawodnym połączeniem. . Warstwa transportowa zapewnia aplikacjom lub wyższym warstwom stosu – aplikacji i sesji – przesyłanie danych z wymaganym przez nie stopniem niezawodności. Model OSI definiuje pięć klas usług świadczonych przez warstwę transportową. Tego typu usługi wyróżniają się jakością świadczonych usług: pilnością, możliwością przywrócenia przerwanej komunikacji , obecność środków multipleksowania wielu połączeń pomiędzy różnymi protokołami aplikacji poprzez wspólny protokół transportowy, a co najważniejsze, możliwość wykrywania i korygowania błędów transmisji, takich jak zniekształcenia, utrata i duplikacja pakietów.

O wyborze klasy usług warstwy transportowej decyduje z jednej strony stopień, w jakim problem zapewnienia niezawodności jest rozwiązywany przez aplikacje i protokoły poziomów wyższych niż transportowy, z drugiej strony wybór ten zależy od jak niezawodny jest system transportu danych w sieci zapewniany przez warstwy znajdujące się poniżej transportu – sieciową, kanałową i fizyczną. Jeśli więc np. jakość kanałów komunikacyjnych jest bardzo wysoka, a prawdopodobieństwo wystąpienia błędów niewykrytych przez protokoły niższego poziomu małe, wówczas zasadne jest skorzystanie z jednej z usług warstwy lekkiego transportu, która nie jest obarczona licznymi kontrolami, uścisk dłoni i inne techniki zwiększające niezawodność. Jeżeli pojazdy niższych poziomów są początkowo bardzo zawodne, wówczas wskazane jest skorzystanie z najbardziej rozwiniętej usługi warstwy transportowej, która działa przy wykorzystaniu maksymalnych środków w celu wykrycia i wyeliminowania błędów - poprzez wstępne ustanowienie połączenia logicznego, kontrolę dostarczenia wiadomości przez sumy kontrolne i cykliczne numerowanie pakietów, ustawianie limitów czasu dostawy itp.

Z reguły wszystkie protokoły, począwszy od warstwy transportowej wzwyż, implementowane są przez oprogramowanie końcowych węzłów sieci – elementy ich sieciowych systemów operacyjnych. Przykłady protokołów transportowych obejmują protokoły TCP i UDP stosu TCP/IP oraz protokół SPX stosu Novella.

Protokoły czterech dolnych warstw nazywane są ogólnie transportem sieciowym lub podsystemem transportowym, ponieważ całkowicie rozwiązują problem transportu komunikatów o danym poziomie jakości w sieciach złożonych o dowolnych topologiach i różnych technologiach. Pozostałe trzy górne poziomy rozwiązują problem świadczenia usług aplikacyjnych w oparciu o istniejący podsystem transportowy.

Warstwa sesji

Warstwa Sesja zapewnia kontrolę dialogu: rejestruje, która strona jest aktualnie aktywna i zapewnia narzędzia do synchronizacji. Te ostatnie umożliwiają wstawianie punktów kontrolnych do długich transferów, dzięki czemu w przypadku niepowodzenia można wrócić do ostatniego punktu kontrolnego, zamiast zaczynać wszystko od nowa. W praktyce niewiele aplikacji wykorzystuje warstwę sesyjną i rzadko jest ona implementowana jako osobne protokoły, chociaż funkcje tej warstwy często są łączone z funkcjami warstwy aplikacji i realizowane w jednym protokole.

Poziom reprezentacyjny

Warstwa prezentacji zajmuje się formą prezentacji informacji przesyłanych siecią, bez zmiany jej treści. Dzięki warstwie prezentacyjnej informacja przekazywana przez warstwę aplikacyjną jednego systemu jest zawsze zrozumiała dla warstwy aplikacyjnej innego systemu. Za pomocą tej warstwy protokoły warstwy aplikacji mogą przezwyciężyć różnice składniowe w reprezentacji danych lub różnice w kodach znaków, takich jak kody ASCII i EBCDIC. Na tym poziomie można przeprowadzić szyfrowanie i deszyfrowanie danych, dzięki czemu zapewniona jest poufność wymiany danych dla wszystkich usług aplikacji jednocześnie. Przykładem takiego protokołu jest protokół Secure Socket Layer (SSL), który zapewnia bezpieczne przesyłanie komunikatów dla protokołów warstwy aplikacji w stosie TCP/IP.

Warstwa aplikacji

Warstwa aplikacji to tak naprawdę zbiór różnych protokołów, za pomocą których użytkownicy sieci uzyskują dostęp do współdzielonych zasobów, takich jak pliki, drukarki, czy hipertekstowe strony WWW, a także organizują swoją współpracę, np. za pomocą protokołu elektronicznego poczta. Jednostka danych, na której działa warstwa aplikacji, nazywa się zwykle wiadomość (wiadomość).

Istnieje bardzo szeroka gama usług warstwy aplikacji. Weźmy jako przykład przynajmniej kilka najpopularniejszych implementacji usług plikowych: NCP w systemie operacyjnym Novell NetWare, SMB w Microsoft Windows NT, NFS, FTP i TFTP, które wchodzą w skład stosu TCP/IP.

Poziomy zależne od sieci i niezależne od sieci

Funkcje wszystkich warstw modelu OSI można podzielić na dwie grupy:

albo do funkcji zależnych od konkretnej technicznej implementacji sieci, albo do funkcji zorientowanych na współpracę z aplikacjami.

Trzy niższe warstwy – fizyczna, łącze danych i sieć – są zależne od sieci, to znaczy protokoły tych poziomów są ściśle powiązane z techniczną realizacją sieci i używanym sprzętem komunikacyjnym. Przykładowo przejście na sprzęt FDDI oznacza całkowitą zmianę protokołów warstwy fizycznej i łącza danych we wszystkich węzłach sieci.

Trzy górne warstwy – aplikacyjna, reprezentatywna i sesyjna – są zorientowane na aplikacje i w niewielkim stopniu zależą od technicznych cech budowy sieci. Na protokoły w tych warstwach nie mają wpływu żadne zmiany w topologii sieci, wymiana sprzętu ani przejście na inną technologię sieciową. Tym samym przejście z Ethernetu na szybką technologię lOOVG-AnyLAN nie będzie wymagało żadnych zmian w oprogramowaniu realizującym funkcje poziomu aplikacji, reprezentacyjnego i sesyjnego.

Warstwa transportowa jest warstwą pośrednią, ukrywa wszystkie szczegóły funkcjonowania niższych warstw przed górnymi. Pozwala to na tworzenie aplikacji niezależnych od technicznych środków bezpośredniego przesyłania wiadomości.

Na ryc. Rysunek 1.28 przedstawia poziomy modelu OSI , na których działają różne elementy sieci. Komputer z zainstalowanym sieciowym systemem operacyjnym współdziała z innym komputerem, korzystając z protokołów wszystkich siedmiu poziomów, a komputery realizują tę interakcję pośrednio poprzez różne urządzenia komunikacyjne: koncentratory, modemy, mosty, przełączniki, routery, multipleksery. W zależności od typu urządzenie komunikacyjne może pracować albo tylko w warstwie fizycznej (repeater), albo na poziomie fizycznym i łączu (most), albo na poziomie fizycznym, łączu i sieci, czasami przechwytując także warstwę transportową (router).

Na ryc. Rysunek 1.29 przedstawia zgodność funkcji różnych urządzeń komunikacyjnych z poziomami modelu OSI .

Model OSI, choć bardzo ważny, jest tylko jednym z wielu modeli komunikacji. Modele te i powiązane z nimi stosy protokołów mogą różnić się liczbą warstw, ich funkcjami, formatami wiadomości, usługami obsługiwanymi w wyższych warstwach i innymi parametrami.

Model referencyjny OSI

Dla przejrzystości proces sieciowy w modelu referencyjnym OSI podzielony jest na siedem warstw. Dzięki tej konstrukcji teoretycznej dość złożone koncepcje są łatwiejsze do nauczenia się i zrozumienia. Na górze modelu OSI znajduje się aplikacja potrzebująca dostępu do zasobów sieciowych, na dole samo środowisko sieciowe. W miarę przenoszenia danych z warstwy na warstwę protokoły działające w tych warstwach stopniowo przygotowują je do transmisji w sieci. Po dotarciu do systemu docelowego dane przemieszczają się w górę przez warstwy, przy czym te same protokoły wykonują te same czynności, tylko w odwrotnej kolejności. W 1983 r Międzynarodowa Organizacja Normalizacyjna(Międzynarodowa Organizacja Normalizacyjna, ISO) i Sektor normalizacyjnytelekomunikacja Międzynarodowego Związku Telekomunikacyjnego(Sektor Normalizacji Telekomunikacji Międzynarodowego Związku Telekomunikacyjnego, ITU-T) opublikował dokument „Podstawowy model referencyjny dla wzajemnych połączeń systemów otwartych”, w którym opisano model dystrybucji funkcji sieciowych pomiędzy 7 różnymi poziomami (rys. 1.7). Ta siedmiowarstwowa struktura miała stanowić podstawę dla nowego stosu protokołów, jednak nigdy nie została wdrożona w formie komercyjnej. Zamiast tego model OSI jest używany z istniejącymi stosami protokołów jako narzędzie szkoleniowe i referencyjne. Większość popularnych dziś protokołów poprzedza rozwój modelu OSI, więc nie są one dokładnie zgodne z jego siedmiowarstwową strukturą. Często jeden protokół łączy funkcje dwóch lub nawet kilku poziomów modelu, a granice protokołów często nie odpowiadają granicom warstw OSI. Jednakże model OSI pozostaje doskonałą pomocą wizualną przy badaniu procesów sieciowych, a profesjonaliści często kojarzą funkcje i protokoły z określonymi warstwami.

Enkapsulacja danych

Zasadniczo interakcja protokołów działających na różnych poziomach modelu OSI objawia się tym, że każdy protokół dodaje tytuł(nagłówek) lub (w jednym przypadku) przyczepa(stopka) do informacji, które otrzymała z poziomu wyższego. Na przykład aplikacja generuje żądanie do zasobu sieciowego. To żądanie przesuwa się w dół stosu protokołu. Kiedy dociera do warstwy transportowej, protokoły tej warstwy dodają do żądania własny nagłówek, składający się z pól zawierających informacje specyficzne dla funkcji tego protokołu. Pierwotne żądanie samo w sobie staje się polem danych (ładunek) dla protokołu warstwy transportowej. Po dodaniu nagłówka protokół warstwy transportowej przekazuje żądanie do warstwy sieciowej. Protokół warstwy sieciowej dodaje swój własny nagłówek do nagłówka protokołu warstwy transportowej. Zatem w przypadku protokołu warstwy sieciowej ładunek staje się oryginalnym żądaniem i nagłówkiem protokołu warstwy transportowej. Cała ta konstrukcja staje się ładunkiem protokołu warstwy łącza, który dodaje do niej nagłówek i zwiastun. Efektem tej działalności jest plastikowa torba(pakiet), gotowy do transmisji w sieci. Gdy pakiet dotrze do miejsca przeznaczenia, proces jest powtarzany w odwrotnej kolejności. Protokół każdej kolejnej warstwy stosu (teraz od dołu do góry) przetwarza i usuwa nagłówek równoważnego protokołu systemu wysyłającego. Po zakończeniu procesu pierwotne żądanie trafia do aplikacji, dla której było przeznaczone, w tej samej formie, w jakiej zostało wygenerowane. Proces dodawania nagłówków do żądania (rysunek 1.8) generowanego przez aplikację nazywa się enkapsulacja danych(hermetyzacja danych). W istocie procedura ta przypomina proces przygotowania listu do wysłania pocztą. Prośba jest samym listem, a dodanie nagłówków jest równoznaczne z włożeniem listu do koperty, napisaniem adresu, ostemplowaniem go i faktycznym wysłaniem.

Warstwa fizyczna

Na najniższym poziomie modelu OSI - fizyczny(fizyczne) - określa się charakterystykę elementów wyposażenia sieciowego - środowisko sieciowe, sposób instalacji, rodzaj sygnałów wykorzystywanych do przesyłania danych binarnych w sieci. Ponadto warstwa fizyczna określa, jaki typ karty sieciowej należy zainstalować na każdym komputerze i jakiego rodzaju koncentratora użyć (jeśli to konieczne). Na poziomie fizycznym mamy do czynienia z kablem miedzianym, światłowodowym lub jakimś rodzajem połączenia bezprzewodowego. W sieci LAN specyfikacje warstwy fizycznej są bezpośrednio powiązane z protokołem łącza danych używanym w sieci. Po wybraniu protokołu warstwy łącza należy użyć jednej ze specyfikacji warstwy fizycznej obsługiwanych przez ten protokół. Na przykład protokół warstwy łącza Ethernet obsługuje kilka różnych opcji warstwy fizycznej — jeden z dwóch typów kabla koncentrycznego, dowolną skrętkę komputerową lub kabel światłowodowy. Parametry każdej z tych opcji powstają na podstawie licznych informacji o wymaganiach warstwy fizycznej, np. o rodzaju kabla i złączy, dopuszczalnej długości kabli, liczbie koncentratorów itp. Spełnienie tych wymagań jest konieczne do normalne działanie protokołów. Przykładowo w przypadku zbyt długiego kabla system Ethernet może nie zauważyć kolizji pakietów, a jeśli system nie jest w stanie wykryć błędów, nie może ich skorygować, co skutkuje utratą danych. Nie wszystkie aspekty warstwy fizycznej są zdefiniowane przez standard protokołu warstwy łącza. Niektóre z nich są definiowane oddzielnie. Jedna z najczęściej stosowanych specyfikacji warstwy fizycznej jest opisana w standardzie okablowania telekomunikacyjnego budynków komercyjnych, znanym jako EIA/TIA 568A. Jest publikowany wspólnie Amerykański Narodowy Instytut Stanurzutki(Amerykański Narodowy Instytut Normalizacyjny, ANSI), Stowarzyszenia odbranże elektroniczne(Stowarzyszenie Przemysłu Elektronicznego, EIA) i Stowarzyszenie Przemysłu Łączności(Stowarzyszenie Przemysłu Telekomunikacyjnego, TIA). Dokument ten zawiera szczegółowy opis kabli do sieci danych w środowiskach przemysłowych, w tym minimalne odległości od źródeł zakłóceń elektromagnetycznych i inne wytyczne dotyczące okablowania. Obecnie układanie kabli w dużych sieciach najczęściej powierza się wyspecjalizowanym firmom. Wynajęty wykonawca powinien dokładnie znać EIA/TIA 568A i inne podobne dokumenty, a także przepisy budowlane w miastach. Kolejnym elementem komunikacyjnym zdefiniowanym w warstwie fizycznej jest rodzaj sygnału służącego do transmisji danych w medium sieciowym. W przypadku kabli z rdzeniem miedzianym sygnałem tym jest ładunek elektryczny, w przypadku kabla światłowodowego jest to impuls świetlny. Inne typy środowisk sieciowych mogą wykorzystywać fale radiowe, impulsy podczerwieni i inne sygnały. Oprócz charakteru sygnałów warstwa fizyczna ustala sposób ich transmisji, czyli kombinację ładunków elektrycznych lub impulsów świetlnych używanych do kodowania informacji binarnej generowanej przez warstwy wyższe. Systemy Ethernet wykorzystują schemat sygnalizacji znany jako Kodowanie Manchesteru(kodowanie Manchester), a w systemach Token Ring jest stosowane mechanizm różnicowyManchester(Różnicowy schemat Manchesteru).

Warstwa łącza danych

Protokół kanał Poziom (łącza danych) zapewnia wymianę informacji pomiędzy sprzętem komputera podłączonego do sieci a oprogramowaniem sieciowym. Przygotowuje dane przesyłane do niego przez protokół warstwy sieciowej do wysłania do sieci oraz przesyła dane odebrane przez system z sieci do warstwy sieciowej. Podczas projektowania i budowy sieci LAN zastosowany protokół warstwy łącza jest najważniejszym czynnikiem przy wyborze sprzętu i sposobu jego instalacji. Do implementacji protokołu warstwy łącza wymagany jest następujący sprzęt i oprogramowanie: adaptery interfejsu sieciowego (jeśli adapter jest oddzielnym urządzeniem podłączonym do magistrali, nazywany jest kartą interfejsu sieciowego lub po prostu kartą sieciową); sterowniki karty sieciowej; kable sieciowe (lub inne media sieciowe) i pomocniczy sprzęt łączący; koncentratory sieciowe (w niektórych przypadkach). Zarówno karty sieciowe, jak i koncentratory są zaprojektowane dla określonych protokołów warstwy łącza. Niektóre kable sieciowe są również dostosowane do określonych protokołów, ale istnieją również kable odpowiednie dla różnych protokołów. Oczywiście dzisiaj (jak zawsze) najpopularniejszym protokołem warstwy łącza jest Ethernet. Daleko w tyle pozostaje Token Ring, a za nim plasują się inne protokoły, takie jak FDDI (Fiber Distributed Data Interface). Specyfikacja protokołu warstwy łącza zawiera zazwyczaj trzy główne elementy: format ramki (tj. nagłówek i końcówka dodawane do danych warstwy sieciowej przed transmisją do sieci); mechanizm kontroli dostępu do środowiska sieciowego; jedna lub więcej specyfikacji warstwy fizycznej używanych w danym protokole.

Format ramki

Protokół warstwy łącza dodaje nagłówek i końcówkę do danych otrzymanych z protokołu warstwy sieciowej, przekształcając je w rama(rama) (ryc. 1.9). Używając ponownie analogii z pocztą, nagłówek i zwiastun stanowią kopertę, w której wysyłany jest list. Zawierają adresy systemów wysyłających i odbierających pakiet. W przypadku protokołów LAN, takich jak Ethernet i Token Ring, adresy te są 6-bajtowymi ciągami szesnastkowymi przypisywanymi fabrycznie do kart sieciowych. W przeciwieństwie do adresów stosowanych na innych poziomach modelu OSI, są to tzw aplikacja adresy wojskowe(adres sprzętowy) lub adresy MAC (patrz poniżej).

Notatka Protokoły w różnych warstwach modelu OSI mają różne nazwy struktur, które tworzą, dodając nagłówek do danych pochodzących z wyższego protokołu. Na przykład to, co protokół warstwy łącza nazywa ramką, byłoby datagramem dla warstwy sieciowej. Bardziej ogólna nazwa jednostki strukturalnej danych na dowolnym poziomie to plastikowa torba.

Ważne jest, aby zrozumieć, że protokoły warstwy łącza zapewniają komunikację tylko między komputerami w tej samej sieci LAN. Adres sprzętowy w nagłówku zawsze należy do komputera w tej samej sieci LAN, nawet jeśli system docelowy znajduje się w innej sieci. Inne ważne funkcje ramki warstwy łącza to identyfikacja protokołu warstwy sieci, który wygenerował dane w pakiecie oraz informacje umożliwiające wykrycie błędów. Warstwa sieciowa może korzystać z różnych protokołów, więc ramka protokołu warstwy łącza zwykle zawiera kod, którego można użyć do zidentyfikowania, który protokół warstwy sieciowej wygenerował dane w tym pakiecie. Kierując się tym kodem, protokół warstwy łącza komputera odbierającego przekazuje dane do odpowiedniego protokołu swojej warstwy sieciowej. Aby wykryć błędy, system przesyłający wykonuje obliczenia cykliczny wskaż nadmiarowy kod(cykliczna kontrola redundancji, CRC) ładunku i zapisuje go do naczepy ramki. Po odebraniu pakietu komputer docelowy wykonuje te same obliczenia i porównuje wynik z zawartością zwiastuna. Jeśli wyniki są zgodne, informacja została przesłana bez błędów. W przeciwnym wypadku odbiorca przyjmuje, że przesyłka jest uszkodzona i jej nie przyjmuje.

Media Access Control

Komputery w sieci LAN zazwyczaj współdzielą medium sieciowe półdupleksowe. W takim przypadku jest całkiem możliwe, że dwa komputery rozpoczną transmisję danych jednocześnie. W takich przypadkach następuje swego rodzaju kolizja pakietów, kolizja(kolizja), w wyniku której następuje utrata danych w obu pakietach. Jedną z głównych funkcji protokołu warstwy łącza danych jest kontrola dostępu do mediów (MAC), czyli kontrolowanie transmisji danych przez każdy komputer i minimalizowanie kolizji pakietów. Mechanizm kontroli dostępu do mediów jest jedną z najważniejszych cech protokołu warstwy łącza. Ethernet wykorzystuje mechanizm wykrywania nośnej i wykrywania kolizji (Carrier Sense Multiple Access with Collision Detection, CSMA/CD) w celu kontrolowania dostępu do medium. Niektóre inne protokoły, takie jak Token Ring, wykorzystują przekazywanie tokenów.

Specyfikacje warstwy fizycznej

Protokoły warstwy łącza stosowane w sieciach LAN często obsługują więcej niż jedno medium sieciowe, a standard protokołu obejmuje jedną lub więcej specyfikacji warstwy fizycznej. Łącze danych i warstwy fizyczne są ze sobą ściśle powiązane, ponieważ właściwości medium sieciowego znacząco wpływają na sposób, w jaki protokół kontroluje dostęp do medium. Można zatem powiedzieć, że w sieciach lokalnych protokoły warstwy łącza realizują także funkcje warstwy fizycznej. Sieci WAN korzystają z protokołów warstwy łącza, które nie zawierają informacji o warstwie fizycznej, na przykład SLIP (protokół internetowy linii szeregowej) i PPP (protokół punkt-punkt).

Warstwa sieci

Na pierwszy rzut oka może się tak wydawać sieć Warstwa (sieciowa) powiela niektóre funkcje warstwy łącza danych. Ale to nieprawda: za „odpowiedzialne” są protokoły warstwy sieciowej koniec końców(od końca do końca), podczas gdy protokoły warstwy łącza działają tylko w sieci LAN. Innymi słowy, protokoły warstwy sieciowej całkowicie zapewniają transmisję pakietu od źródła do systemu docelowego. W zależności od rodzaju sieci nadawca i odbiorca mogą znajdować się w tej samej sieci LAN, w różnych sieciach LAN w tym samym budynku lub w sieciach LAN oddzielonych tysiącami kilometrów. Na przykład, gdy komunikujesz się z serwerem w Internecie, pakiety generowane przez Twój komputer w drodze do niego przechodzą przez dziesiątki sieci. Protokół warstwy łącza zmieni się kilka razy, aby dostosować się do tych sieci, ale protokół warstwy sieci pozostanie taki sam przez cały czas. Podstawą zestawu protokołów TCP/IP (Transmission Control Protocol/Internet Protocol) i najczęściej używanym protokołem warstwy sieciowej jest protokół internetowy (IP). Novell NetWare ma własny protokół sieciowy IPX (Internetwork Packet Exchange), a małe sieci Microsoft Windows zazwyczaj korzystają z protokołu NetBEUI (NetBIOS Enhanced User Interface). Większość funkcji przypisanych do warstwy sieciowej jest zdeterminowana możliwościami protokołu IP. Podobnie jak protokół warstwy łącza, protokół warstwy sieciowej dodaje nagłówek do danych otrzymanych z wyższej warstwy (rysunek 1.10). Element danych utworzony przez protokół warstwy sieciowej składa się z danych warstwy transportowej i nagłówka warstwy sieciowej i jest nazywany datagram(datagram).


Adresowanie

Nagłówek protokołu warstwy sieciowej, podobnie jak nagłówek protokołu warstwy łącza, zawiera pola z adresami systemów źródłowego i docelowego. Jednakże w tym przypadku docelowy adres systemowy należy do końcowego miejsca docelowego pakietu i może różnić się od adresu docelowego w nagłówku protokołu warstwy łącza. Na przykład, gdy wpiszesz adres witryny internetowej w pasku adresu przeglądarki, pakiet wygenerowany przez Twój komputer określa adres docelowego systemu na poziomie sieci jako adres serwera WWW, podczas gdy w warstwie łącza adres routera w Twojej sieci LAN, który zapewnia dostęp do Internetu. IP korzysta z własnego systemu adresowania, który jest całkowicie niezależny od adresów warstwy łącza. Każdemu komputerowi w sieci IP przypisywany jest ręcznie lub automatycznie 32-bitowy adres IP, który identyfikuje zarówno sam komputer, jak i sieć, w której się znajduje. W IPX adres sprzętowy służy do identyfikacji samego komputera, dodatkowo specjalny adres służy do identyfikacji sieci, w której znajduje się komputer. NetBEUI rozróżnia komputery na podstawie nazw NetBIOS przypisanych do każdego systemu podczas instalacji.

Podział

Datagramy warstwy sieciowej muszą w drodze do miejsca docelowego przechodzić przez wiele sieci, napotykając specyficzne właściwości i ograniczenia różnych protokołów warstwy łącza. Jednym z takich ograniczeń jest maksymalny rozmiar pakietu dozwolony przez protokół. Na przykład ramka Token Ring może mieć rozmiar do 4500 bajtów, podczas gdy ramki Ethernet mogą mieć rozmiar do 1500 bajtów. Kiedy duży datagram wygenerowany w sieci Token Ring jest przesyłany do sieci Ethernet, protokół warstwy sieciowej musi podzielić go na kilka fragmentów o rozmiarze nie większym niż 1500 bajtów. Proces ten nazywa się podział(podział). Podczas procesu fragmentacji protokół warstwy sieciowej dzieli datagram na fragmenty, których rozmiar odpowiada możliwościom wykorzystywanego protokołu warstwy łącza danych. Każdy fragment staje się niezależnym pakietem i kontynuuje swoją ścieżkę do docelowego systemu warstwy sieciowej. Datagram źródłowy powstaje dopiero wtedy, gdy wszystkie fragmenty dotrą do miejsca docelowego. Czasami w drodze do systemu docelowego fragmenty, na które datagram jest rozbity, muszą zostać ponownie pofragmentowane.

Rozgromienie

Rozgromienie(routing) to proces wybierania najbardziej wydajnej trasy w Internecie do przesyłania datagramów z systemu wysyłającego do systemu odbierającego. W złożonych sieciach, takich jak Internet lub duże sieci korporacyjne, często istnieje wiele ścieżek prowadzących z jednego komputera do drugiego. Projektanci sieci celowo tworzą nadmiarowe łącza, aby ruch mógł dotrzeć do miejsca docelowego nawet w przypadku awarii jednego z routerów. Routery służą do łączenia poszczególnych sieci LAN będących częścią Internetu. Zadaniem routera jest akceptowanie ruchu przychodzącego z jednej sieci i przekazywanie go do określonego systemu w innej. W sieciach internetowych wyróżnia się dwa typy systemów: terminal(systemy końcowe) i mediator(systemy pośrednie). Systemy końcowe są nadawcami i odbiorcami pakietów. Router jest systemem pośrednim. Systemy końcowe wykorzystują wszystkie siedem warstw modelu OSI, natomiast pakiety docierające do systemów pośrednich nie wznoszą się ponad warstwę sieciową. Tam router przetwarza pakiet i wysyła go w dół stosu w celu transmisji do następnego systemu docelowego (rysunek 1.11).


Aby poprawnie skierować pakiet do celu, routery przechowują w pamięci tablice z informacjami o sieci. Informacje te mogą zostać wprowadzone ręcznie przez administratora lub zebrane automatycznie z innych routerów przy użyciu specjalistycznych protokołów. Typowy wpis w tablicy routingu zawiera adres innej sieci i adres routera, przez który pakiety muszą podróżować do tej sieci. Ponadto element tablicy routingu zawiera metryka trasy - warunkowa ocena jego skuteczności. Jeśli do systemu prowadzi wiele tras, router wybiera najbardziej wydajną i wysyła datagram do warstwy łącza danych w celu transmisji do routera określonego we wpisie tabeli z najlepszą metryką. W dużych sieciach routing może być niezwykle złożonym procesem, ale najczęściej odbywa się automatycznie i niezauważalnie przez użytkownika.

Identyfikacja protokołu warstwy transportowej

Tak jak nagłówek warstwy łącza określa protokół warstwy sieci, który wygenerował i przesłał dane, tak nagłówek warstwy sieci zawiera informacje o protokole warstwy transportowej, z którego odebrane zostały dane. Na podstawie tych informacji system odbierający przekazuje przychodzące datagramy do odpowiedniego protokołu warstwy transportowej.

Warstwa transportowa

Funkcje realizowane przez protokoły transport(transportowa), uzupełniają funkcje protokołów warstwy sieciowej. Często protokoły tych poziomów wykorzystywane do transmisji danych tworzą ze sobą połączoną parę, co widać na przykładzie protokołu TCP/IP: protokół TCP działa w warstwie transportowej, IP w warstwie sieciowej. Większość zestawów protokołów ma dwa lub więcej protokołów warstwy transportowej, które wykonują różne funkcje. Alternatywą dla protokołu TCP jest UDP (protokół datagramów użytkownika). Zestaw protokołów IPX obejmuje także kilka protokołów warstwy transportowej, w tym NCP (NetWare Core Protocol) i SPX (Sequenced Packet Exchange). Różnica pomiędzy protokołami warstwy transportowej z określonego zestawu polega na tym, że niektóre są zorientowane na połączenie, a inne nie. Systemy korzystające z protokołu zorientowane połączenie(połączeniowe), przed przesłaniem danych wymieniają komunikaty w celu nawiązania komunikacji między sobą. Dzięki temu systemy są włączone i gotowe do pracy. Na przykład protokół TCP jest zorientowany na połączenie. Gdy łączysz się z serwerem internetowym za pomocą przeglądarki, przeglądarka i serwer najpierw wykonują tzw trzystopniowy uścisk dłoni(trójstronny uścisk dłoni). Dopiero wtedy przeglądarka przesyła adres żądanej strony internetowej do serwera. Po zakończeniu przesyłania danych systemy wykonują tę samą procedurę uzgadniania, aby zakończyć połączenie. Ponadto protokoły połączeniowe wykonują dodatkowe działania, takie jak wysyłanie sygnału potwierdzenia pakietu, segmentacja danych, kontrolowanie przepływu oraz wykrywanie i korygowanie błędów. Zwykle protokoły tego typu służą do przesyłania dużych ilości informacji, które nie mogą zawierać ani jednego bitu błędu, takich jak pliki danych lub programy. Dodatkowe cechy protokołów połączeniowych zapewniają prawidłowy transfer danych. Dlatego często nazywane są te protokoły niezawodny(niezawodny). Niezawodność w tym przypadku jest terminem technicznym i oznacza, że ​​każdy przesłany pakiet jest sprawdzany pod kątem błędów, a system wysyłający jest powiadamiany o dostarczeniu każdego pakietu. Wadą tego typu protokołu jest znaczna ilość danych sterujących wymienianych pomiędzy obydwoma systemami. Po pierwsze, dodatkowe komunikaty są wysyłane po nawiązaniu i zakończeniu komunikacji. Po drugie, nagłówek dodany do pakietu przez protokół zorientowany połączeniowo jest znacznie większy niż nagłówek protokołu bezpołączeniowego. Na przykład nagłówek protokołu TCP/IP ma 20 bajtów, a nagłówek UDP ma 8 bajtów. Protokół, nie zorientowany na połączenie(bezpołączeniowy), nie nawiązuje połączenia pomiędzy dwoma systemami przed przesłaniem danych. Nadawca po prostu przekazuje informację do systemu docelowego, nie martwiąc się o to, czy jest on gotowy na przyjęcie danych i czy system w ogóle istnieje. Zwykle systemy korzystają z protokołów bezpołączeniowych, takich jak UDP, w przypadku krótkich transakcji składających się wyłącznie z żądań i sygnałów odpowiedzi. Sygnał odpowiedzi z odbiornika pośrednio pełni funkcję sygnału potwierdzenia transmisji.

Notatka Protokoły połączeniowe i bezpołączeniowe nie ograniczają się do warstwy transportowej. Na przykład protokoły warstwy sieciowej zwykle nie są zorientowane na połączenie, ponieważ polegają na warstwie transportowej w celu zapewnienia niezawodności komunikacji.

Protokoły warstwy transportowej (a także warstwy sieci i łącza danych) zwykle zawierają informacje z wyższych warstw. Na przykład nagłówki TCP i UDP zawierają numery portów identyfikujące aplikację, z której pochodzi pakiet, oraz aplikację, do której jest on przeznaczony. NA sesja(sesji), zaczyna się znacząca rozbieżność pomiędzy faktycznie używanymi protokołami a modelem OSI. W przeciwieństwie do niższych warstw, nie ma dedykowanych protokołów warstwy sesji. Funkcje tej warstwy są zintegrowane z protokołami, które realizują również funkcje warstwy reprezentatywnej i aplikacji. Za faktyczną transmisję danych w sieci odpowiadają warstwy transportowa, sieciowa, łącze danych i fizyczne. Protokoły sesji i poziomów wyższych nie mają nic wspólnego z procesem komunikacji. Warstwa sesji obejmuje 22 usługi, z których wiele określa sposób wymiany informacji pomiędzy systemami w sieci. Najważniejszymi usługami są zarządzanie dialogiem i separacja dialogu. Nazywa się wymianą informacji pomiędzy dwoma systemami w sieci dialog(dialog). Zarządzanie dialogiem(sterowanie dialogiem) polega na wyborze trybu, w jakim systemy będą wymieniać komunikaty. Istnieją dwa takie tryby: półdupleks(dwukierunkowa alternatywa, TWA) i dupleks(dwukierunkowa symultaniczna, TWS). W trybie półdupleksu oba systemy przesyłają również tokeny wraz z danymi. Informacje można przesłać jedynie do komputera, na którym aktualnie znajduje się token. Pozwala to uniknąć kolizji komunikatów po drodze. Model dupleksowy jest bardziej skomplikowany. Nie ma w nim żadnych znaczników; oba systemy mogą przesyłać dane w dowolnym momencie, nawet jednocześnie. Dzielący dialog(separacja dialogowa) polega na włączeniu do strumienia danych punkty kontrolne(punkty kontrolne), które umożliwiają synchronizację pracy dwóch systemów. Stopień trudności podziału dialogu zależy od trybu, w jakim jest on prowadzony. W trybie półdupleksu systemy wykonują niewielką synchronizację poprzez wymianę komunikatów w punktach kontrolnych. W trybie pełnego dupleksu systemy wykonują pełną synchronizację przy użyciu tokena głównego/aktywnego.

Poziom wykonawczy

NA przedstawiciel Warstwa prezentacji pełni jedną funkcję: tłumaczenie składni pomiędzy różnymi systemami. Czasami komputery w sieci używają różnych składni. Warstwa reprezentatywna pozwala im „uzgodnić” wspólną składnię wymiany danych. Nawiązując połączenie w warstwie prezentacji, systemy wymieniają się komunikatami o tym, jaką mają składnię i wybierają tę, której będą używać podczas sesji. Oba systemy biorące udział w połączeniu mają abstrakcyjnyskładnia(składnia abstrakcyjna) jest ich „rodzimą” formą komunikacji. Abstrakcyjne składnie różnych platform komputerowych mogą się różnić. Podczas procesu koordynacji systemu wspólne składnia transferudane(składnia przeniesienia). System nadawczy konwertuje swoją składnię abstrakcyjną na składnię przesyłania danych, a system odbierający po zakończeniu przesyłania robi odwrotnie. W razie potrzeby system może wybrać składnię przesyłania danych z dodatkowymi funkcjami, takimi jak kompresja danych czy szyfrowanie.

Warstwa aplikacji

Warstwa aplikacji to punkt wejścia, przez który programy uzyskują dostęp do modelu OSI i zasobów sieciowych. Większość protokołów warstwy aplikacji zapewnia usługi dostępu do sieci. Na przykład protokół SMTP (Simple Mail Transfer Protocol) jest używany przez większość programów pocztowych do wysyłania wiadomości. Inne protokoły warstwy aplikacji, takie jak FTP (File Transfer Protocol), same w sobie są programami. Protokoły warstwy aplikacji często zawierają funkcje warstwy sesji i prezentacji. W rezultacie typowy stos protokołów zawiera cztery oddzielne protokoły działające w warstwach aplikacji, transportu, sieci i łącza danych.

Aby tworzyć nowe (i modernizować stare) sieci komputerowe bez napotykania problemów z kompatybilnością i interakcją różnych urządzeń sieciowych, opracowano specjalne standardy - modele sieci. Istnieją różne modele sieci, ale najbardziej popularne i ogólnie akceptowane to: OSI i . Modele te opierają się na zasadzie podziału sieci na warstwy.

Model referencyjny OSI

Początkowy etap rozwoju sieci LAN, MAN i WAN był pod wieloma względami chaotyczny. Na początku lat 80. XX w. wielkość sieci i ich liczba gwałtownie wzrosły. Gdy firmy zdały sobie sprawę, że mogą zaoszczędzić znaczne pieniądze i zwiększyć wydajność, korzystając z technologii sieciowych, tworzyły nowe sieci i rozbudowywały istniejące tak szybko, jak pojawiały się nowe technologie sieciowe i nowy sprzęt.

Jednak w połowie lat 80. te same firmy zaczęły doświadczać trudności w rozbudowie istniejących sieci. Sieci korzystające z różnych specyfikacji i wdrażane na różne sposoby stawały się coraz trudniejsze w komunikowaniu się ze sobą. Firmy, które znalazły się w takiej sytuacji, jako pierwsze zdały sobie sprawę, że należy odejść od używania prawnie zastrzeżony systemy sieciowe.

Aby rozwiązać problem niekompatybilnych sieci i ich niezdolności do wzajemnej komunikacji, Międzynarodowa Organizacja Normalizacyjna (ISO) opracowała różne schematy sieciowe, takie jak DECnet, architektura sieci systemów (SNA) i stos protokołów TCP IP. Celem tworzenia takich schematów było opracowanie wspólnego dla wszystkich użytkowników zbioru zasad funkcjonowania sieci. W wyniku tych badań ISO opracowało model sieci, który może pomóc producentom sprzętu w tworzeniu sieci, które będą ze sobą kompatybilne i skutecznie współdziałają. Proces rozkładania złożonego problemu komunikacji sieciowej na mniejsze zadania można porównać do procesu składania samochodu.
Proces projektowania, produkcji części i montażu samochodu rozpatrywanego jako całość jest bardzo złożony. Jest mało prawdopodobne, aby istniał specjalista, który byłby w stanie rozwiązać wszystkie wymagane zadania podczas montażu samochodu: złożyć samochód z losowo wybranych części lub, powiedzmy,
w wytwarzaniu produktu końcowego bezpośrednio z rudy żelaza. Z tego powodu inżynierowie-konstruktorzy zajmują się projektowaniem samochodu, inżynierowie odlewnicy projektują formy do części odlewniczych, a inżynierowie i technicy zajmujący się montażem zajmują się montażem komponentów i samochodu z gotowych części.

Model referencyjny OSI (Model referencyjny OSI), ogłoszony w 1984 r., był schematem opisowym stworzonym przez organizację ISO. Ten model referencyjny zapewnił producentom sprzętu zestaw standardów, które umożliwiły większą i bardziej efektywną interoperacyjność pomiędzy różnymi technologiami sieciowymi i sprzętem produkowanym przez wiele firm na całym świecie.
Podstawowym modelem stosowanym jako model referencyjny OSI jest model referencyjny OSI
podstawy komunikacji sieciowej.
Chociaż istnieją inne modele, większość producentów sprzętu i oprogramowania polega na modelu referencyjnym OSI, zwłaszcza gdy chcą szkolić użytkowników w zakresie swoich produktów. Model referencyjny OSI jest obecnie uważany za najlepsze dostępne narzędzie uczące użytkowników, jak działają sieci oraz mechanizmy wysyłania i odbierania danych w sieci.

Model referencyjny OSI definiuje funkcje sieci realizowane przez każdą z jej warstw. Co ważniejsze, zapewnia podstawę do zrozumienia sposobu przepływu informacji w sieci. Ponadto model OSI opisuje, w jaki sposób informacje lub pakiety danych przemieszczają się z aplikacji programów (takich jak arkusze kalkulacyjne lub edytory tekstu) przez sieciowe medium transmisyjne (takie jak kable) do innych aplikacji działających na innym komputerze w tej sieci. jeśli nadawca i odbiorca korzystają z różnych rodzajów mediów transmisyjnych.

Warstwy modelu sieci OSI (zwanego także modelem referencyjnym OSI)

Model sieciowy OSI składa się z siedmiu ponumerowanych warstw, z których każda pełni w sieci swoje własne, specyficzne funkcje.

  • Poziom 7- poziom aplikacji.
  • Poziom 6- poziom prezentacji danych.
  • Poziom 5- poziom sesji.
  • Poziom 4- poziom transportu.
  • Poziom 3- poziom sieci.
  • Poziom 2- poziom kanału.
  • Poziom 1- poziom fizyczny.

Diagram warstwowy modelu sieci OSI

Taki podział funkcji realizowanych przez sieć nazywa się warstwowaniem. Podział sieci na siedem warstw zapewnia następujące korzyści:

  • proces komunikacji sieciowej dzieli się na mniejsze i prostsze etapy;
  • elementy sieci są ustandaryzowane, co umożliwia wykorzystanie i obsługę w sieci sprzętu różnych producentów;
  • podział procesu wymiany danych na warstwy umożliwia komunikację pomiędzy różnymi typami sprzętu i oprogramowania;
  • zmiany na jednym poziomie nie wpływają na funkcjonowanie pozostałych poziomów, co pozwala na szybki rozwój nowego oprogramowania i produktów sprzętowych;
  • Komunikacja sieciowa jest podzielona na mniejsze elementy, co ułatwia ich badanie.

Warstwy modelu sieci OSI i ich funkcje

Aby przesyłać pakiety danych przez sieć od nadawcy do odbiorcy, każda warstwa modelu OSI musi wykonywać swój własny zestaw funkcji. Funkcje te opisano poniżej.

Warstwa 7: Warstwa aplikacji

Warstwa aplikacji jest najbliżej użytkownika i obsługuje jego aplikacje. Różni się od innych warstw tym, że nie świadczy usług innym warstwom; zamiast tego świadczy usługi tylko aplikacjom spoza modelu referencyjnego OSI. Przykładami takich aplikacji są arkusze kalkulacyjne (takie jak Excel) lub edytory tekstu (takie jak Word). Warstwa aplikacji określa wzajemną dostępność partnerów komunikacyjnych, a także synchronizuje komunikację i ustala procedury odzyskiwania danych w przypadku błędów oraz procedury dotyczące integralności danych. Przykłady aplikacji warstwy siódmej obejmują protokoły Telnet I HTTP.

Warstwa 6: Warstwa prezentacji danych

Zadanie warstwa prezentacji polega na tym, aby informacje warstwy aplikacji przesyłane przez jeden system (nadawca) mogły zostać odczytane przez warstwę aplikacji innego systemu (odbiorca). W razie potrzeby warstwa prezentacji konwertuje dane do jednego z wielu istniejących formatów obsługiwanych przez oba systemy. Kolejnym ważnym zadaniem tej warstwy jest szyfrowanie i deszyfrowanie danych. Typowymi standardami graficznymi poziomu szóstego są PICT, TIFF i JPEG. Przykładami standardów szóstego poziomu modelu referencyjnego opisujących format prezentacji audio i wideo są standardy MIDI i MPEG.

Poziom 5: Poziom sesji

Jak sama nazwa tego poziomu wskazuje, warstwa sesji ustanawia, zarządza i kończy sesję komunikacyjną pomiędzy dwiema stacjami roboczymi. Warstwa sesji udostępnia swoje usługi warstwie prezentacji. Synchronizuje także dialog pomiędzy warstwami prezentacyjnymi obu systemów i zarządza wymianą danych. Oprócz swojej podstawowej, ciągłej funkcji zarządzania, warstwa sesji zapewnia wydajny transfer danych, wymaganą klasę usług i alerty awaryjne w przypadku problemów w warstwie sesji, warstwie prezentacji lub warstwie aplikacji. Przykłady protokołów warstwy 5 obejmują Network File System (NFS), X-Window System i AppleTalk Session Protocol (ASP).

Warstwa 4: Warstwa transportowa

Warstwa transportowa segmentuje dane ze stacji nadawczej i ponownie składa je w jedną całość po stronie odbiorczej. Granicę między warstwą transportową a warstwą sesji można traktować jako granicę między protokołami aplikacji a protokołami danych. Podczas gdy warstwy aplikacji, prezentacji i sesji zajmują się aspektami komunikacyjnymi związanymi z uruchamianiem aplikacji, cztery dolne warstwy zajmują się transportem danych w sieci. Warstwa transportowa stara się świadczyć usługę przesyłania danych w sposób ukrywający szczegóły procesu przesyłania danych przed warstwami wyższymi. W szczególności zadaniem warstwy transportowej jest zapewnienie niezawodnego przesyłu danych pomiędzy dwoma stacjami roboczymi.
Świadcząc usługę komunikacyjną, warstwa transportowa ustanawia, utrzymuje i kończy obwody wirtualne, jeśli jest to konieczne. Aby zapewnić niezawodność usługi transportowej, stosuje się wykrywanie błędów transmisji i zarządzanie przepływem informacji. Przykłady protokołów warstwy 4 obejmują protokół kontroli transmisji (TCP), protokół datagramów użytkownika (UDP) i sekwencyjną wymianę pakietów (SPX).

Warstwa 3: Warstwa sieciowa

Warstwa sieci to złożony poziom zapewniający wybór trasy i połączenie dwóch stacji roboczych, które mogą być zlokalizowane w sieciach geograficznie odległych od siebie. Ponadto warstwa sieciowa rozwiązuje problemy z adresowaniem logicznym. Przykłady protokołów warstwy 3 obejmują protokół internetowy (IP), internetową wymianę pakietów (IPX) i AppleTalk.

Warstwa 2: Warstwa łączy

Warstwa łącza danych zapewnia niezawodną transmisję danych kanałem fizycznym. Jednocześnie warstwa łącza danych rozwiązuje problemy adresowania fizycznego (a nie logicznego), analizy topologii sieci, dostępu do sieci, powiadamiania o błędach, uporządkowanego dostarczania ramek i kontroli przepływu.

Warstwa 1: Warstwa fizyczna

Warstwa fizyczna Definiuje specyfikacje elektryczne, proceduralne i funkcjonalne umożliwiające, konserwujące i wyłączające fizyczne połączenia między systemami końcowymi. Specyfikacje warstwy fizycznej definiują poziomy napięcia, czas zmian napięcia, fizyczne szybkości transmisji danych, maksymalne zasięgi transmisji, połączenia fizyczne i inne podobne parametry.

P.S. Nie bez powodu model sieci OSI uznawany jest za model referencyjny, gdyż... pozwala na standaryzację różnych technologii sieciowych, zapewnia interakcję urządzeń sieciowych i aplikacji na różnych poziomach. Jasne zrozumienie podziału na poziomy daje pełne zrozumienie organizacji sieci komputerowych. Jeśli coś nie jest teraz jasne, musisz teraz wypełnić tę lukę, ponieważ nauka bardziej skomplikowanych rzeczy będzie bardzo trudna.
W praktyce stosuje się prostszy, który ma 4 poziomy.

W nauce o sieciach, podobnie jak w każdej innej dziedzinie wiedzy, istnieją dwa podstawowe podejścia do uczenia się: przejście od ogółu do szczegółu i odwrotnie. No cóż, nie jest tak, że w życiu ludzie stosują te podejścia w czystej postaci, ale jednak na początkowych etapach każdy uczeń wybiera dla siebie jeden z powyższych kierunków. W przypadku szkolnictwa wyższego (przynajmniej modelu (post)sowieckiego) bardziej typowa jest pierwsza metoda, w przypadku samokształcenia najczęściej druga: osoba pracowała w sieci, od czasu do czasu rozwiązując drobne zadania administracyjne dla pojedynczego użytkownika i nagle zapragnął dowiedzieć się, jak właściwie, jak to wszystko działa?

Celem tego artykułu nie są jednak filozoficzne dyskusje na temat metodologii nauczania. Chciałbym zwrócić uwagę początkujących networkerów na to ogólny i co najważniejsze, z którego jak z pieca można tańczyć do najbardziej wyrafinowanych prywatnych sklepów. Rozumiejąc siedmiowarstwowy model OSI i ucząc się „rozpoznawać” jego warstwy w technologiach, które już znasz, możesz z łatwością pójść do przodu w dowolnym kierunku wybranej branży sieciowej. Model OSI stanowi ramy, na których będzie opierać się każda nowa wiedza o sieciach.

Model ten jest wspominany w ten czy inny sposób w prawie każdej współczesnej literaturze dotyczącej sieci, a także w wielu specyfikacjach konkretnych protokołów i technologii. Nie czując potrzeby wymyślania koła na nowo, zdecydowałem się opublikować fragmenty prac N. Olifera, V. Olifera (Centrum Technologii Informacyjnych) pt. „Rola protokołów komunikacyjnych i cel funkcjonalny głównych typów sprzętu w sieciach korporacyjnych ”, którą uważam za najlepszą i najbardziej wszechstronną publikację na ten temat.

redaktor naczelny

Model

To, że protokół jest umową pomiędzy dwoma oddziałującymi na siebie podmiotami, w tym przypadku dwoma komputerami pracującymi w sieci, nie oznacza, że ​​koniecznie jest to standard. Jednak w praktyce przy wdrażaniu sieci zwykle korzystają ze standardowych protokołów. Mogą to być standardy zastrzeżone, krajowe lub międzynarodowe.

Międzynarodowa Organizacja Normalizacyjna (ISO) opracowała model, który jasno definiuje różne poziomy interakcji między systemami, nadaje im nazwy standardowe i określa, jaką pracę powinien wykonywać każdy poziom. Model ten nazywany jest modelem połączenia międzysystemowego systemu otwartego (OSI) lub modelem ISO/OSI.

W modelu OSI komunikacja jest podzielona na siedem warstw lub warstw (rysunek 1.1). Każdy poziom dotyczy jednego konkretnego aspektu interakcji. Zatem problem interakcji rozkłada się na 7 szczegółowych problemów, z których każdy można rozwiązać niezależnie od pozostałych. Każda warstwa utrzymuje interfejsy z warstwami powyżej i poniżej.

Ryż. 1.1. Model wzajemnych połączeń systemów otwartych ISO/OSI

Model OSI opisuje jedynie komunikację systemową, a nie aplikacje użytkownika końcowego. Aplikacje wdrażają własne protokoły komunikacyjne, uzyskując dostęp do obiektów systemu. Należy mieć na uwadze, że aplikacja może przejąć funkcje niektórych wyższych warstw modelu OSI, w takim przypadku w razie konieczności intersieciacji uzyskuje bezpośredni dostęp do narzędzi systemowych realizujących funkcje pozostałych niższych warstw modelu OSI. Model OSI.

Aplikacja użytkownika końcowego może wykorzystywać narzędzia interakcji systemowej nie tylko do organizowania dialogu z inną aplikacją działającą na innym komputerze, ale także po prostu do korzystania z usług określonej usługi sieciowej, na przykład uzyskiwania dostępu do zdalnych plików, odbierania poczty lub drukowania na wspólną drukarkę.

Załóżmy, że aplikacja wysyła żądanie do warstwy aplikacji, takiej jak usługa plikowa. Na podstawie tego żądania oprogramowanie na poziomie aplikacji generuje komunikat w standardowym formacie, który zawiera informacje serwisowe (nagłówek) i ewentualnie przesłane dane. Wiadomość ta jest następnie przekazywana na poziom przedstawicielski. Warstwa prezentacji dodaje swój nagłówek do wiadomości i przekazuje wynik do warstwy sesji, która z kolei dodaje nagłówek i tak dalej. Niektóre implementacje protokołów zapewniają, że wiadomość zawiera nie tylko nagłówek, ale także zwiastun. Ostatecznie komunikat dociera do najniższej, fizycznej warstwy, która faktycznie przesyła go liniami komunikacyjnymi.

Kiedy wiadomość dociera do innego komputera przez sieć, przechodzi sekwencyjnie z poziomu na poziom. Każdy poziom analizuje, przetwarza i usuwa nagłówek swojego poziomu, wykonuje funkcje odpowiadające temu poziomowi i przekazuje komunikat na wyższy poziom.

Oprócz terminu wiadomość istnieją inne nazwy używane przez specjalistów sieciowych do określenia jednostki wymiany danych. Normy ISO dotyczące protokołów dowolnego poziomu używają terminu „jednostka danych protokołu” – jednostka danych protokołu (PDU). Ponadto często używane są nazwy ramka, pakiet i datagram.

Funkcje warstwy modelu ISO/OSI

Warstwa fizyczna: ta warstwa zajmuje się transmisją bitów kanałami fizycznymi, takimi jak kabel koncentryczny, skrętka komputerowa lub kabel światłowodowy. Poziom ten jest związany z charakterystyką fizycznych mediów transmisji danych, taką jak szerokość pasma, odporność na zakłócenia, impedancja charakterystyczna i inne. Na tym samym poziomie określane są charakterystyki sygnałów elektrycznych, takie jak wymagania dotyczące zboczy impulsu, poziomy napięcia lub prądu przesyłanego sygnału, rodzaj kodowania, prędkość transmisji sygnału. Ponadto ujednolicono tutaj rodzaje złączy i przeznaczenie każdego styku.

Funkcje warstwy fizycznej są zaimplementowane we wszystkich urządzeniach podłączonych do sieci. Po stronie komputera funkcje warstwy fizycznej realizowane są poprzez kartę sieciową lub port szeregowy.

Przykładem protokołu warstwy fizycznej jest specyfikacja technologii 10Base-T Ethernet, która definiuje kabel stosowany jako nieekranowana skrętka dwużyłowa kategorii 3 o impedancji charakterystycznej 100 omów, złącze RJ-45, maksymalna długość odcinka fizycznego 100 metrów, Kod Manchester do reprezentowania danych w kablu i innych cech otoczenia oraz sygnałów elektrycznych.

Warstwa łącza danych: Warstwa fizyczna po prostu przesyła bity. Nie uwzględnia to faktu, że w niektórych sieciach, w których linie komunikacyjne są wykorzystywane (współdzielone) naprzemiennie przez kilka par współdziałających ze sobą komputerów, fizyczne medium transmisyjne może być zajęte. Dlatego jednym z zadań warstwy łącza jest sprawdzenie dostępności medium transmisyjnego. Kolejnym zadaniem warstwy łącza jest implementacja mechanizmów wykrywania i korygowania błędów. W tym celu w warstwie łącza danych bity są grupowane w zestawy zwane ramkami. Warstwa łącza zapewnia poprawność transmisji każdej ramki, umieszczając na początku i na końcu każdej ramki specjalną sekwencję bitów w celu jej oznaczenia, a także oblicza sumę kontrolną, sumując w określony sposób wszystkie bajty ramki i dodając sumę kontrolną do ramy. Po nadejściu ramki odbiornik ponownie oblicza sumę kontrolną odebranych danych i porównuje wynik z sumą kontrolną z ramki. Jeżeli są zgodne, ramkę uważa się za prawidłową i zaakceptowaną. Jeśli sumy kontrolne nie są zgodne, rejestrowany jest błąd.

Protokoły warstwy łącza stosowane w sieciach lokalnych zawierają pewną strukturę połączeń między komputerami i metody ich adresowania. Chociaż warstwa łącza danych zapewnia dostarczanie ramek pomiędzy dowolnymi dwoma węzłami sieci lokalnej, robi to tylko w sieci o bardzo specyficznej topologii połączeń, dokładnie takiej, dla której została zaprojektowana. Typowe topologie obsługiwane przez protokoły warstwy łącza LAN obejmują współdzieloną magistralę, pierścień i gwiazdę. Przykładami protokołów warstwy łącza są Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

W sieciach lokalnych protokoły warstwy łącza są używane przez komputery, mosty, przełączniki i routery. W komputerach funkcje warstwy łącza są realizowane dzięki wspólnym wysiłkom kart sieciowych i ich sterowników.

W sieciach globalnych, które rzadko mają regularną topologię, warstwa łącza danych zapewnia wymianę komunikatów pomiędzy dwoma sąsiadującymi komputerami, połączonymi indywidualną linią komunikacyjną. Przykładami protokołów punkt-punkt (jak często nazywa się takie protokoły) są szeroko stosowane protokoły PPP i LAP-B.

Poziom sieci Ten poziom służy do utworzenia jednolitego systemu transportowego, który łączy kilka sieci o różnych zasadach przesyłania informacji między węzłami końcowymi. Przyjrzyjmy się funkcjom warstwy sieciowej na przykładzie sieci lokalnych. Protokół warstwy łącza sieci lokalnej zapewnia dostarczanie danych pomiędzy dowolnymi węzłami tylko w sieci o odpowiednich parametrach typowa topologia. Jest to bardzo rygorystyczne ograniczenie, które nie pozwala na budowanie sieci o rozwiniętej strukturze, np. sieci łączących kilka sieci korporacyjnych w jedną sieć lub sieci o dużej niezawodności, w których występują redundantne połączenia między węzłami. Aby z jednej strony zachować prostotę procedur przesyłania danych dla topologii standardowych, a z drugiej strony umożliwić stosowanie dowolnych topologii, stosuje się dodatkową warstwę sieciową. Na tym poziomie wprowadzone zostaje pojęcie „sieci”. W tym przypadku przez sieć rozumie się zbiór komputerów połączonych ze sobą zgodnie z jedną ze standardowych typowych topologii i wykorzystujących do przesyłania danych jeden z protokołów warstwy łącza zdefiniowanych dla tej topologii.

Zatem w sieci dostarczanie danych jest regulowane przez warstwę łącza danych, ale dostarczanie danych między sieciami jest obsługiwane przez warstwę sieci.

Zwykle nazywane są komunikaty warstwy sieciowej pakiety. Przy organizowaniu dostarczania pakietów na poziomie sieci stosuje się tę koncepcję "numer sieciowy". W tym przypadku adres odbiorcy składa się z numeru sieci i numeru komputera w tej sieci.

Sieci są połączone ze sobą za pomocą specjalnych urządzeń zwanych routerami. Routera to urządzenie, które zbiera informacje o topologii połączeń międzysieciowych i na ich podstawie przekazuje pakiety warstwy sieciowej do sieci docelowej. Aby przesłać wiadomość od nadawcy znajdującego się w jednej sieci do odbiorcy znajdującego się w innej sieci, należy wykonać szereg transferów tranzytowych (przeskoków) pomiędzy sieciami, za każdym razem wybierając odpowiednią trasę. Zatem trasa to sekwencja routerów, przez które przechodzi pakiet.

Problem wyboru najlepszej ścieżki nazywa się rozgromienie a jego rozwiązanie jest głównym zadaniem na poziomie sieci. Problem ten komplikuje fakt, że najkrótsza ścieżka nie zawsze jest najlepsza. Często kryterium wyboru trasy jest czas transmisji danych na tej trasie, uzależniony jest on od przepustowości kanałów komunikacyjnych i natężenia ruchu, które mogą zmieniać się w czasie. Niektóre algorytmy routingu próbują dostosować się do zmian obciążenia, podczas gdy inne podejmują decyzje na podstawie średnich długoterminowych. Trasę można wybrać na podstawie innych kryteriów, na przykład niezawodności transmisji.

Na poziomie sieci zdefiniowano dwa typy protokołów. Pierwszy typ odnosi się do definicji zasad przesyłania pakietów danych węzła końcowego z węzła do routera i pomiędzy routerami. Są to protokoły, które zwykle mają na myśli, gdy ludzie mówią o protokołach warstwy sieciowej. Warstwa sieciowa obejmuje także inny rodzaj protokołu, tzw protokoły wymiany informacji o routingu. Korzystając z tych protokołów, routery zbierają informacje o topologii połączeń międzysieciowych. Protokoły warstwy sieciowej są implementowane przez moduły oprogramowania systemu operacyjnego, a także oprogramowanie i sprzęt routera.

Przykładami protokołów warstwy sieciowej są protokół międzysieciowy stosu TCP/IP i protokół międzysieciowy stosu Novell IPX.

Warstwa transportowa: W drodze od nadawcy do odbiorcy pakiety mogą zostać uszkodzone lub utracone. Chociaż niektóre aplikacje mają własną obsługę błędów, inne wolą od razu zająć się niezawodnym połączeniem. Zadaniem warstwy transportowej jest zapewnienie, że aplikacje lub górne warstwy stosu – aplikacja i sesja – przesyłają dane z wymaganym stopniem niezawodności. Model OSI definiuje pięć klas usług świadczonych przez warstwę transportową. Tego typu usługi wyróżniają się jakością świadczonych usług: pilnością, możliwością przywrócenia przerwanej komunikacji, dostępnością środków do multipleksowania wielokrotnych połączeń pomiędzy różnymi protokołami aplikacji poprzez wspólny protokół transportowy, a co najważniejsze, możliwością wykrywania i korygować błędy transmisji, takie jak zniekształcenia, straty i duplikacje pakietów.

O wyborze klasy usług warstwy transportowej decyduje z jednej strony stopień, w jakim problem zapewnienia niezawodności jest rozwiązywany przez aplikacje i protokoły poziomów wyższych niż transportowy, z drugiej strony wybór ten zależy od jak niezawodny jest cały system przesyłania danych online. Jeśli więc np. jakość kanałów komunikacyjnych jest bardzo wysoka, a prawdopodobieństwo wystąpienia błędów niewykrytych przez protokoły niższego poziomu małe, wówczas zasadne jest skorzystanie z jednej z lekkich usług warstwy transportowej, która nie jest obarczona licznymi kontrolami , uścisk dłoni i inne techniki zwiększające niezawodność. Jeśli pojazdy są początkowo bardzo zawodne, zaleca się skorzystanie z najbardziej rozwiniętej usługi poziomu transportu, która działa przy użyciu maksymalnych środków w celu wykrywania i eliminowania błędów - poprzez wstępne ustanowienie połączenia logicznego, monitorowanie dostarczania wiadomości za pomocą sum kontrolnych i cykliczne numerowanie pakietów, ustalanie limitów czasu dostawy itp.

Z reguły wszystkie protokoły, począwszy od warstwy transportowej wzwyż, implementowane są przez oprogramowanie końcowych węzłów sieci – elementy ich sieciowych systemów operacyjnych. Przykłady protokołów transportowych obejmują protokoły TCP i UDP stosu TCP/IP oraz protokół SPX stosu Novella.

Warstwa sesji: Warstwa sesji zapewnia zarządzanie rozmowami w celu rejestrowania, która strona jest aktualnie aktywna, a także zapewnia funkcje synchronizacji. Te ostatnie umożliwiają wstawianie punktów kontrolnych do długich transferów, dzięki czemu w przypadku niepowodzenia można wrócić do ostatniego punktu kontrolnego, zamiast zaczynać wszystko od nowa. W praktyce niewiele aplikacji korzysta z warstwy sesyjnej i rzadko jest ona implementowana.

Warstwa prezentacji: ta warstwa zapewnia, że ​​informacje przekazywane przez warstwę aplikacji zostaną zrozumiane przez warstwę aplikacji w innym systemie. W razie potrzeby warstwa prezentacji konwertuje formaty danych na jakiś powszechny format prezentacji, a na recepcji odpowiednio wykonuje konwersję odwrotną. W ten sposób warstwy aplikacji mogą przezwyciężyć na przykład różnice składniowe w reprezentacji danych. Na tym poziomie można przeprowadzić szyfrowanie i deszyfrowanie danych, dzięki czemu zapewniona jest poufność wymiany danych dla wszystkich usług aplikacji jednocześnie. Przykładem protokołu działającego w warstwie prezentacji jest protokół Secure Socket Layer (SSL), który zapewnia bezpieczne przesyłanie komunikatów dla protokołów warstwy aplikacji stosu TCP/IP.

Warstwa aplikacji Warstwa aplikacji to tak naprawdę zbiór różnych protokołów, za pomocą których użytkownicy sieci uzyskują dostęp do współdzielonych zasobów, takich jak pliki, drukarki czy strony hipertekstowe, a także organizują swoją współpracę, na przykład za pomocą protokołu poczty elektronicznej. Jednostka danych, na której działa warstwa aplikacji, nazywa się zwykle wiadomość .

Istnieje bardzo szeroka gama protokołów warstwy aplikacji. Jako przykłady podamy przynajmniej kilka najczęstszych implementacji usług plikowych: NCP w systemie operacyjnym Novell NetWare, SMB w Microsoft Windows NT, NFS, FTP i TFTP, które wchodzą w skład stosu TCP/IP.

Model OSI, choć bardzo ważny, jest tylko jednym z wielu modeli komunikacji. Modele te i powiązane z nimi stosy protokołów mogą różnić się liczbą warstw, ich funkcjami, formatami wiadomości, usługami zapewnianymi w wyższych warstwach i innymi parametrami.

Charakterystyka popularnych stosów protokołów komunikacyjnych

Zatem interakcja komputerów w sieciach odbywa się zgodnie z pewnymi zasadami wymiany wiadomości i ich formatów, to znaczy zgodnie z określonymi protokołami. Hierarchicznie zorganizowany zestaw protokołów rozwiązujący problem interakcji między węzłami sieci nazywany jest stosem protokołów komunikacyjnych.

Istnieje wiele stosów protokołów szeroko stosowanych w sieciach. Są to stosy będące standardami międzynarodowymi i krajowymi oraz stosy autorskie, które stały się powszechne ze względu na powszechność sprzętu konkretnej firmy. Przykłady popularnych stosów protokołów obejmują stos IPX/SPX firmy Novell, stos TCP/IP używany w Internecie i wielu sieciach opartych na systemie operacyjnym UNIX, stos OSI Międzynarodowej Organizacji Normalizacyjnej, stos DECnet firmy Digital Equipment Corporation i kilka inni.

Zastosowanie określonego stosu protokołów komunikacyjnych w sieci w dużej mierze determinuje oblicze sieci i jej charakterystykę. Mniejsze sieci mogą używać tylko jednego stosu. W dużych sieciach korporacyjnych, które łączą różne sieci, zwykle używanych jest kilka stosów równolegle.

Sprzęt komunikacyjny implementuje protokoły niższej warstwy, które są bardziej ujednolicone niż protokoły wyższej warstwy, co jest warunkiem udanej współpracy między urządzeniami różnych producentów. Lista protokołów obsługiwanych przez dane urządzenie komunikacyjne jest jedną z najważniejszych cech tego urządzenia.

Komputery implementują protokoły komunikacyjne w postaci odpowiednich elementów oprogramowania sieciowego systemu operacyjnego, na przykład protokoły na poziomie łącza są zwykle implementowane w postaci sterowników kart sieciowych, a protokoły wyższego poziomu są implementowane w postaci komponentów serwera i klienta usług sieciowych.

Zdolność do dobrej pracy w określonym środowisku systemu operacyjnego jest ważną cechą sprzętu komunikacyjnego. W reklamach adapterów sieciowych lub koncentratorów często można przeczytać, że zostały one zaprojektowane specjalnie do pracy w sieci NetWare lub UNIX. Oznacza to, że twórcy sprzętu zoptymalizowali jego charakterystykę pod kątem protokołów używanych w tym sieciowym systemie operacyjnym lub dla danej wersji ich implementacji, jeśli protokoły te są używane w różnych systemach operacyjnych. Ze względu na specyfikę implementacji protokołów w różnych systemach operacyjnych, jedną z cech sprzętu komunikacyjnego jest jego certyfikacja zdolności do pracy w środowisku danego systemu operacyjnego.

Na niższych poziomach – fizycznym i łącza danych – prawie wszystkie stosy korzystają z tych samych protokołów. Są to dobrze ustandaryzowane protokoły: Ethernet, Token Ring, FDDI i kilka innych, które pozwalają na użycie tego samego sprzętu we wszystkich sieciach.

Protokoły sieciowe i protokoły wyższych warstw istniejących standardowych stosów są bardzo zmienne i generalnie nie są zgodne z warstwami zalecanymi przez model ISO. W szczególności w tych stosach funkcje warstwy sesji i prezentacji są najczęściej łączone z warstwą aplikacji. Rozbieżność ta wynika z faktu, że model ISO powstał w wyniku uogólnienia stosów już istniejących i faktycznie wykorzystywanych, a nie odwrotnie.

Stos OSI

Należy dokonać rozróżnienia pomiędzy stosem protokołów OSI a modelem OSI. Podczas gdy model OSI koncepcyjnie definiuje procedurę interakcji systemów otwartych, rozkładając zadanie na 7 warstw, standaryzuje przeznaczenie każdej warstwy i wprowadza standardowe nazwy dla warstw, stos OSI jest zbiorem bardzo specyficznych specyfikacji protokołów, które tworzą spójną stos protokołów. Ten stos protokołów jest wspierany przez rząd USA w programie GOSIP. Wszystkie rządowe sieci komputerowe zainstalowane po 1990 r. muszą albo bezpośrednio obsługiwać stos OSI, albo zapewniać możliwość migracji do stosu w przyszłości. Jednak stos OSI jest bardziej popularny w Europie niż w USA, ponieważ w Europie zainstalowano mniej starszych sieci korzystających z własnych protokołów. Istnieje również duże zapotrzebowanie na wspólny stos w Europie, ponieważ istnieje wiele różnych krajów.

Jest to międzynarodowy, niezależny od producenta standard. Może umożliwić współpracę pomiędzy korporacjami, partnerami i dostawcami. Ta interakcja jest skomplikowana ze względu na rozwiązywanie problemów, nazewnictwo i bezpieczeństwo danych. Wszystkie te problemy zostały częściowo rozwiązane w stosie OSI. Protokoły OSI wymagają dużej mocy obliczeniowej procesora, co czyni je bardziej odpowiednimi dla wydajnych maszyn niż sieci komputerów osobistych. Większość organizacji dopiero planuje przejście na stos OSI. Wśród osób pracujących w tym kierunku jest Departament Marynarki Wojennej Stanów Zjednoczonych i sieć NFSNET. Jednym z największych producentów obsługujących OSI jest AT&T. Jej sieć Stargroup jest w całości oparta na stosie OSI.

Z oczywistych powodów stos OSI, w odróżnieniu od innych standardowych stosów, jest w pełni zgodny z modelem połączeń OSI, zawiera specyfikacje dla wszystkich siedmiu warstw modelu połączeń systemów otwartych (rysunek 1.3).


Ryż. 1.3. Stos OSI

NA Stos OSI obsługuje protokoły Ethernet, Token Ring, FDDI, a także protokoły LLC, X.25 i ISDN. Protokoły te zostaną szczegółowo omówione w innych rozdziałach podręcznika.

Usługi sieć, transport i sesja poziomy są również dostępne na stosie OSI, ale nie są zbyt powszechne. Warstwa sieciowa implementuje zarówno protokoły bezpołączeniowe, jak i oparte na połączeniach. Protokół transportu stosu OSI, zgodny z funkcjami zdefiniowanymi dla niego w modelu OSI, ukrywa różnice pomiędzy usługami sieciowymi połączeniowymi i bezpołączeniowymi, dzięki czemu użytkownicy otrzymują pożądaną jakość usług niezależnie od podstawowej warstwy sieci. Aby to zapewnić, warstwa transportowa wymaga od użytkownika określenia pożądanej jakości usługi. Zdefiniowano 5 klas usług transportowych, od najniższej klasy 0 do najwyższej klasy 4, które różnią się stopniem tolerancji błędów i wymaganiami dotyczącymi odtwarzania danych po błędach.

Usługi poziom aplikacji obejmują przesyłanie plików, emulację terminala, usługi katalogowe i pocztę. Spośród nich najbardziej obiecujące są usługi katalogowe (standard X.500), poczta elektroniczna (X.400), protokół terminala wirtualnego (VT), protokół przesyłania plików, dostępu i zarządzania (FTAM), protokół przesyłania i zarządzania zadaniami (JTM) . W ostatnim czasie ISO skoncentrowało swoje wysiłki na usługach na najwyższym poziomie.

X.400

to rodzina zaleceń Międzynarodowego Komitetu Konsultacyjnego ds. Telegrafii i Telefonii (CCITT), które opisują systemy elektronicznego przekazywania wiadomości. Obecnie najpopularniejszym protokołem przesyłania wiadomości są zalecenia X.400. Zalecenia X.400 opisują model systemu przesyłania wiadomości, protokoły interakcji pomiędzy wszystkimi komponentami tego systemu, a także wiele typów wiadomości i możliwości, jakie posiada nadawca w przypadku każdego typu wysyłanej wiadomości.

Zalecenia X.400 definiują następujący minimalny zestaw usług, które mają być świadczone użytkownikom: kontrola dostępu, utrzymanie unikalnych identyfikatorów wiadomości systemowych, powiadomienie o dostarczeniu lub niedostarczeniu wiadomości z podaniem przyczyny, wskazanie rodzaju treści wiadomości, wskazanie konwersji treści wiadomości, transmisja i sygnatury czasowe doręczenia, wybór kategorii doręczenia (pilne, niepilne, normalne), doręczenie multiemisji, doręczenie opóźnione (do określonego momentu), przekształcanie treści tak, aby współpracowała z niekompatybilnymi systemami pocztowymi, takimi jak usługi teleksowe i faksowe, sprawdzanie, czy dostarczono określoną wiadomość, listy mailingowe, które mogą mieć strukturę zagnieżdżoną, środki ochrony wiadomości przed nieuprawnionym dostępem, oparte na asymetrycznym kryptosystemie klucza publicznego.

Cel zaleceń X.500 jest rozwój globalnych standardów help desku. Proces dostarczania wiadomości wymaga znajomości adresu odbiorcy, co jest problemem w dużych sieciach, dlatego konieczne jest posiadanie działu pomocy technicznej, który pomoże uzyskać adresy nadawców i odbiorców. Ogólnie rzecz biorąc, usługa X.500 to rozproszona baza danych zawierająca nazwiska i adresy. Wszyscy użytkownicy mogą potencjalnie logować się do tej bazy danych przy użyciu określonego zestawu atrybutów.

Na bazie nazw i adresów definiowane są następujące operacje:

  • czytanie - uzyskanie adresu o znanej nazwie,
  • żądanie - uzyskanie nazwy na podstawie znanych atrybutów adresowych,
  • modyfikacja polegająca na usuwaniu i dodawaniu rekordów w bazie danych.

Główne wyzwania związane z wdrażaniem zaleceń X.500 wynikają ze skali tego projektu, który ma być ogólnoświatową usługą referencyjną. Dlatego oprogramowanie implementujące zalecenia X.500 jest bardzo kłopotliwe i stawia wysokie wymagania wydajności sprzętowej.

Protokół VT rozwiązuje problem niezgodności pomiędzy różnymi protokołami emulacji terminala. Obecnie użytkownik komputera osobistego kompatybilnego z komputerem IBM PC, aby móc jednocześnie pracować z komputerami VAX, IBM 3090 i HP9000, musi zakupić trzy różne programy emulujące terminale różnych typów i korzystające z różnych protokołów. Gdyby każdy komputer hosta miał oprogramowanie protokołu emulacji terminala ISO, użytkownik potrzebowałby tylko jednego programu obsługującego protokół VT. W swoim standardzie ISO zgromadziło szeroko stosowane funkcje emulacji terminala.

Przesyłanie plików to najpopularniejsza usługa komputerowa. Dostępu do plików, zarówno lokalnych, jak i zdalnych, potrzebują wszystkie aplikacje – edytory tekstu, poczta elektroniczna, bazy danych czy programy do zdalnego uruchamiania. ISO zapewnia taką usługę w protokole FTAM. Wraz ze standardem X.400 jest to najpopularniejszy standard stosu OSI. FTAM zapewnia możliwości lokalizowania i uzyskiwania dostępu do zawartości plików oraz zawiera zestaw dyrektyw dotyczących wstawiania, zastępowania, rozszerzania i czyszczenia zawartości plików. FTAM zapewnia również możliwości manipulowania plikiem jako całością, w tym tworzenie, usuwanie, odczytywanie, otwieranie, zamykanie pliku i wybieranie jego atrybutów.

Protokół spedycji i kontroli pracy JTM Umożliwia użytkownikom przesyłanie dalej prac, które należy wykonać na komputerze hosta. Język kontroli zadań, który umożliwia przesyłanie zadań, informuje komputer hosta, jakie działania należy wykonać na jakich programach i plikach. Protokół JTM obsługuje tradycyjne przetwarzanie wsadowe, przetwarzanie transakcji, zdalne wprowadzanie zadań i dostęp do rozproszonych baz danych.

Stos TCP/IP

Stos TCP/IP, zwany także stosem DoD i stosem internetowym, jest jednym z najpopularniejszych i najbardziej obiecujących stosów protokołów komunikacyjnych. Jeśli obecnie jest on rozpowszechniany głównie w sieciach z systemem operacyjnym UNIX, to jego implementacja w najnowszych wersjach sieciowych systemów operacyjnych dla komputerów osobistych (Windows NT, NetWare) jest dobrym warunkiem wstępnym szybkiego wzrostu liczby instalacji protokołu TCP/ Stos IP.

Stos został opracowany z inicjatywy Departamentu Obrony Stanów Zjednoczonych (DoD) ponad 20 lat temu w celu połączenia eksperymentalnej sieci ARPAnet z innymi sieciami satelitarnymi w postaci zestawu wspólnych protokołów dla heterogenicznych środowisk obliczeniowych. Sieć ARPA wspierała programistów i badaczy w dziedzinach wojskowych. W sieci ARPA komunikacja pomiędzy dwoma komputerami odbywała się za pomocą protokołu internetowego (IP), który do dziś jest jednym z głównych w stosie TCP/IP i widnieje w nazwie stosu.

Uniwersytet Berkeley wniósł znaczący wkład w rozwój stosu TCP/IP, wdrażając protokoły stosu w swojej wersji systemu operacyjnego UNIX. Powszechne przyjęcie systemu operacyjnego UNIX doprowadziło również do powszechnego przyjęcia protokołu IP i innych protokołów stosu. Stos ten zasila także Internet, którego grupa zadaniowa ds. inżynierii internetowej (IETF) wnosi główny wkład w rozwój standardów stosu publikowanych w formie specyfikacji RFC.

Ponieważ stos TCP/IP został opracowany przed pojawieniem się modelu połączeń między systemami otwartymi ISO/OSI, chociaż ma również strukturę wielopoziomową, zgodność poziomów stosu TCP/IP z poziomami modelu OSI jest raczej warunkowa .

Strukturę protokołów TCP/IP pokazano na rysunku 1.4. Protokoły TCP/IP są podzielone na 4 warstwy.

Ryż. 1.4. Stos TCP/IP

Najniższy ( poziom IV ) - poziom interfejsów sieciowych - odpowiada poziomom fizycznym i łączem danych modelu OSI. Poziom ten w protokołach TCP/IP nie jest regulowany, lecz obsługuje wszystkie popularne standardy warstwy fizycznej i łącza danych: dla kanałów lokalnych są to Ethernet, Token Ring, FDDI, dla kanałów globalnych – własne protokoły do ​​pracy na połączeniach analogowych. up i dzierżawione łącza SLIP/PPP, które ustanawiają połączenia punkt-punkt za pośrednictwem łączy szeregowych WAN i protokołów WAN X.25 i ISDN. Opracowano także specjalną specyfikację, która definiuje zastosowanie technologii ATM jako transportu warstwy łącza danych.

Następny poziom ( poziom III ) to warstwa intersieci zajmująca się transmisją datagramów z wykorzystaniem różnych sieci lokalnych, sieci lokalnych X.25, linii ad hoc itp. Stos wykorzystuje protokół IP, który pierwotnie został zaprojektowany jako protokół do przesyłania pakietów w sieciach złożonych składających się z dużej liczby sieci lokalnych połączonych połączeniami lokalnymi i globalnymi. Dlatego protokół IP sprawdza się w sieciach o złożonej topologii, racjonalnie wykorzystując obecność w nich podsystemów i oszczędnie wykorzystując przepustowość łączy komunikacyjnych o niskiej prędkości. Protokół IP jest protokołem datagramowym.

Poziom intersieci obejmuje również wszystkie protokoły związane z kompilacją i modyfikacją tablic routingu, takie jak protokoły do ​​gromadzenia informacji o routingu ROZERWAĆ.(Routingowy protokół internetowy) i OSPF(Najpierw otwórz najkrótszą ścieżkę), a także protokół komunikatów kontroli Internetu ICMP(Protokół komunikatów kontroli Internetu). Ten ostatni protokół przeznaczony jest do wymiany informacji o błędach pomiędzy routerem a bramą, systemem źródłowym i systemem docelowym, czyli do organizowania informacji zwrotnej. Przy użyciu specjalnych pakietów ICMP zgłaszana jest niemożność dostarczenia pakietu, przekroczenie czasu życia lub czasu składania pakietu z fragmentów, nieprawidłowe wartości parametrów, zmiana trasy przesyłania i rodzaju usługi, stan systemu itp.

Następny poziom ( poziom II) nazywa się podstawowym. Na tym poziomie działa protokół kontroli transmisji TCP(Protokół kontroli transmisji) i protokół datagramów użytkownika UDP(Protokół datagramów użytkownika). Protokół TCP zapewnia stabilne wirtualne połączenie pomiędzy zdalnymi procesami aplikacji. Protokół UDP zapewnia transmisję pakietów aplikacji metodą datagramową, czyli bez nawiązywania połączenia wirtualnego, dlatego wymaga mniejszego narzutu niż TCP.

Najwyższy poziom ( poziom I) nazywa się zastosowanym. W ciągu wielu lat użytkowania w sieciach różnych krajów i organizacji stos TCP/IP zgromadził dużą liczbę protokołów i usług na poziomie aplikacji. Należą do nich tak szeroko stosowane protokoły, jak protokół kopiowania plików FTP, protokół emulacji terminala telnet, protokół pocztowy SMTP używany w internetowej poczcie e-mail i jej rosyjskim oddziale RELCOM, usługi hipertekstowe umożliwiające zdalny dostęp do informacji, takie jak WWW i wiele innych. Przyjrzyjmy się bliżej niektórym z nich, które są najbardziej powiązane z tematyką tego kursu.

Protokół SNMP(Simple Network Management Protocol) służy do organizacji zarządzania siecią. Problem zarządzania dzieli się tutaj na dwa problemy. Pierwsze zadanie wiąże się z przekazywaniem informacji. Protokoły przesyłania informacji kontrolnych określają procedurę interakcji pomiędzy serwerem a programem klienckim działającym na hoście administratora. Definiują formaty wiadomości wymieniane między klientami i serwerami, a także formaty nazw i adresów. Drugie wyzwanie wiąże się z kontrolowanymi danymi. Standardy regulują, jakie dane powinny być przechowywane i gromadzone w bramkach, nazwy tych danych oraz składnię tych nazw. Standard SNMP definiuje specyfikację bazy danych zawierającej informacje dotyczące zarządzania siecią. Specyfikacja ta, znana jako baza informacji zarządczych (MIB), definiuje elementy danych, które host lub brama musi przechowywać, oraz dozwolone operacje na nich.

Protokół Przesyłania Plików FTP(File Transfer Protocol) implementuje zdalny dostęp do plików. Aby zapewnić niezawodny transfer, FTP wykorzystuje jako transport protokół połączeniowy - TCP. Oprócz protokołu przesyłania plików FTP oferuje inne usługi. Daje to użytkownikowi możliwość interaktywnej interakcji ze zdalną maszyną, na przykład może wydrukować zawartość jej katalogów, FTP pozwala użytkownikowi określić typ i format danych, które mają być przechowywane. Wreszcie FTP uwierzytelnia użytkowników. Przed uzyskaniem dostępu do pliku protokół wymaga od użytkowników podania nazwy użytkownika i hasła.

W stosie TCP/IP FTP oferuje najbardziej wszechstronny zestaw usług plikowych, ale jest także najbardziej skomplikowany w programowaniu. Aplikacje, które nie wymagają wszystkich możliwości FTP, mogą korzystać z innego, bardziej ekonomicznego protokołu - Simple File Transfer Protocol TFTP(Trywialny protokół przesyłania plików). Protokół ten realizuje jedynie transfer plików, a używanym transportem jest prostszy niż TCP, protokół bezpołączeniowy – UDP.

Protokół telnetu zapewnia transfer strumienia bajtów pomiędzy procesami, a także pomiędzy procesem a terminalem. Najczęściej protokół ten służy do emulacji zdalnego terminala komputerowego.

Stos IPX/SPX

Stos ten jest oryginalnym stosem protokołów firmy Novell, który został opracowany dla sieciowego systemu operacyjnego NetWare na początku lat 80-tych. Protokoły Internetwork Packet Exchange (IPX) i Sequenced Packet Exchange (SPX), od których wzięła się nazwa stosu, są bezpośrednimi adaptacjami protokołów XNS firmy Xerox, które są znacznie mniej powszechne niż IPX/SPX. Pod względem instalacji prym wiodą protokoły IPX/SPX, a wynika to z faktu, że sam system NetWare OS zajmuje wiodącą pozycję z udziałem instalacji na całym świecie wynoszącym około 65%.

Rodzinę protokołów Novella i ich zgodność z modelem ISO/OSI przedstawiono na rysunku 1.5.

Ryż. 1,5. Stos IPX/SPX

NA poziomie fizycznym i łącza danych Sieci Novella wykorzystują wszystkie popularne protokoły tych poziomów (Ethernet, Token Ring, FDDI i inne).

NA poziom sieci protokół działa na stosie Novella IPX, a także protokoły wymiany informacji o routingu ROZERWAĆ. I NLSP(analogicznie do protokołu OSPF stosu TCP/IP). IPX to protokół zajmujący się adresowaniem i routingiem pakietów w sieciach Novella. Decyzje dotyczące routingu IPX opierają się na polach adresowych w nagłówku pakietu, a także na informacjach z protokołów wymiany informacji o routingu. Na przykład protokół IPX wykorzystuje informacje dostarczane przez protokół RIP lub NLSP (NetWare Link State Protocol) do przekazywania pakietów do komputera docelowego lub następnego routera. Protokół IPX obsługuje wyłącznie datagramową metodę wymiany komunikatów, dzięki czemu oszczędnie zużywa zasoby obliczeniowe. Zatem protokół IPX zapewnia trzy funkcje: ustawianie adresu, ustalanie trasy i wysyłanie datagramów.

Warstwa transportowa modelu OSI w stosie Novella odpowiada protokołowi SPX, który realizuje transfer komunikatów zorientowany połączeniowo.

Na szczycie poziomy aplikacji, prezentacji i sesji Protokoły NCP i SAP działają. Protokół KPK(NetWare Core Protocol) to protokół interakcji pomiędzy serwerem NetWare a powłoką stacji roboczej. Ten protokół warstwy aplikacji implementuje architekturę klient-serwer w wyższych warstwach modelu OSI. Korzystając z funkcji tego protokołu, stacja robocza łączy się z serwerem, odwzorowuje katalogi serwera na litery dysków lokalnych, skanuje system plików serwera, kopiuje pliki zdalne, zmienia ich atrybuty itp., a także udostępnia drukarkę sieciową pomiędzy stacjami roboczymi.

(Service Advertising Protocol) - protokół reklamowania usług jest koncepcyjnie podobny do protokołu RIP. Podobnie jak protokół RIP umożliwia routerom wymianę informacji o routingu, SAP umożliwia urządzeniom sieciowym wymianę informacji o dostępnych usługach sieciowych.

Serwery i routery używają SAP do reklamowania swoich usług i adresów sieciowych. Protokół SAP pozwala urządzeniom sieciowym na bieżąco aktualizować informacje o tym, jakie usługi są aktualnie dostępne w sieci. Podczas uruchamiania serwery używają systemu SAP do powiadamiania reszty sieci o swoich usługach. Kiedy serwer się wyłącza, za pomocą systemu SAP powiadamia sieć o zaprzestaniu świadczenia usług.

W sieciach Novell serwery NetWare 3.x co minutę wysyłają pakiety rozgłoszeniowe SAP. Pakiety SAP znacznie zatykają sieć, dlatego jednym z głównych zadań routerów uzyskujących dostęp do globalnej komunikacji jest filtrowanie ruchu z pakietów SAP i pakietów RIP.

Cechy stosu IPX/SPX wynikają z cech systemu operacyjnego NetWare, a mianowicie orientacji jego wczesnych wersji (do 4.0) na pracę w małych sieciach lokalnych składających się z komputerów osobistych o skromnych zasobach. Dlatego Novell potrzebował protokołów wymagających minimalnej ilości pamięci RAM (ograniczonej w komputerach kompatybilnych z IBM z systemem MS-DOS do 640 KB) i szybko działających na procesorach o niskim poborze mocy. W rezultacie protokoły stosu IPX/SPX do niedawna działały dobrze w sieciach lokalnych, a nie tak dobrze w dużych sieciach korporacyjnych, ponieważ przeciążały powolne łącza globalne pakietami rozgłoszeniowymi, które są intensywnie wykorzystywane przez kilka protokołów w tym stosie (na przykład do nawiązać komunikację pomiędzy klientami i serwerami).

Ta okoliczność, a także fakt, że stos IPX/SPX jest własnością firmy Novell i wymaga licencji na jego wdrożenie, przez długi czas ograniczały jego dystrybucję wyłącznie do sieci NetWare. Jednak do czasu wypuszczenia NetWare 4.0 firma Novell wprowadziła i nadal wprowadza poważne zmiany w swoich protokołach, mające na celu dostosowanie ich do pracy w sieciach korporacyjnych. Obecnie stos IPX/SPX jest zaimplementowany nie tylko w NetWare, ale także w kilku innych popularnych sieciowych systemach operacyjnych - SCO UNIX, Sun Solaris, Microsoft Windows NT.

Stos NetBIOS/SMB

Microsoft i IBM współpracowały nad narzędziami sieciowymi dla komputerów osobistych, więc stos protokołów NetBIOS/SMB jest ich wspólnym pomysłem. Narzędzia NetBIOS pojawiły się w 1984 roku jako sieciowe rozszerzenie standardowych funkcji podstawowego systemu wejścia/wyjścia (BIOS) komputera IBM PC dla programu sieciowego PC Network firmy IBM, który na poziomie aplikacji (rys. 1.6) wykorzystywał SMB ( Server Message Block) protokół służący do implementacji usług sieciowych.

Ryż. 1.6. Stos NetBIOS/SMB

Protokół NetBIOS-u działa na trzech poziomach modelu interakcji systemów otwartych: sieć, transport i sesja. NetBIOS może zapewnić wyższy poziom usług niż protokoły IPX i SPX, ale nie ma możliwości routingu. Zatem NetBIOS nie jest protokołem sieciowym w ścisłym tego słowa znaczeniu. NetBIOS zawiera wiele przydatnych funkcji sieciowych, które można przypisać warstwom sieciowym, transportowym i sesyjnym, ale nie można go używać do trasowania pakietów, ponieważ protokół wymiany ramek NetBIOS nie wprowadza takiego pojęcia jak sieć. Ogranicza to użycie protokołu NetBIOS do sieci lokalnych, które nie są podzielone na podsieci. NetBIOS obsługuje zarówno komunikację datagramową, jak i opartą na połączeniach.

Protokół MŚP, odpowiadający aplikacjom i reprezentatywnym poziomom modelu OSI, reguluje interakcję stacji roboczej z serwerem. Funkcje SMB obejmują następujące operacje:

  • Zarządzanie sesją. Utworzenie i zerwanie kanału logicznego pomiędzy stacją roboczą a zasobami sieciowymi serwera plików.
  • Dostęp do plików. Stacja robocza może kontaktować się z serwerem plików z żądaniami tworzenia i usuwania katalogów, tworzenia, otwierania i zamykania plików, odczytywania i zapisywania plików, zmiany nazw i usuwania plików, wyszukiwania plików, pobierania i ustawiania atrybutów plików oraz blokowania rekordów.
  • Usługa poligraficzna. Stacja robocza może kolejkować pliki do druku na serwerze i uzyskiwać informacje o kolejce wydruku.
  • Usługa przesyłania wiadomości. SMB obsługuje proste przesyłanie wiadomości za pomocą następujących funkcji: wysyłanie prostych wiadomości; wysłać wiadomość rozgłoszeniową; wyślij początek bloku wiadomości; wyślij tekst bloku wiadomości; wyślij koniec bloku wiadomości; przekaż nazwę użytkownika; anulować przesyłkę; uzyskać nazwę maszyny.

Ze względu na dużą liczbę aplikacji korzystających z funkcji API udostępnianych przez NetBIOS, wiele sieciowych systemów operacyjnych implementuje te funkcje jako interfejs do swoich protokołów transportowych. NetWare posiada program emulujący funkcje NetBIOS w oparciu o protokół IPX, istnieją także emulatory programowe dla NetBIOS dla Windows NT i stosu TCP/IP.

Dlaczego potrzebujemy tej cennej wiedzy? (redakcyjny)

Kiedyś kolega zadał mi podchwytliwe pytanie. No cóż – mówi – wiadomo, co to jest model OSI… A po co Ci to, jaka jest praktyczna korzyść z tej wiedzy: chyba, że ​​będziesz się popisywać przed manekinami? To nieprawda, korzyściami płynącymi z tej wiedzy jest systematyczne podejście do rozwiązywania wielu praktycznych problemów. Na przykład:

  • rozwiązywanie problemów (
rozwiązywanie problemów)

Użytkownik (tylko znajomy) przychodzi do Ciebie jako administrator (doświadczony networker) i mówi – „nie łączy się” ze mną tutaj. Nie ma sieci – mówi – i tyle. Zaczynasz to rozumieć. Zatem na podstawie moich doświadczeń z obserwacji sąsiadów zauważyłem, że działania osoby „nieświadomej w swoim sercu modelu OSI” charakteryzują się charakterystycznym chaotycznym zachowaniem: albo szarpie za drut, albo nagle majstruje przy czymś w przeglądarce. A to często prowadzi do tego, że poruszając się bez kierunku, taki „specjalista” będzie ciągnął za wszystko i wszędzie z wyjątkiem obszaru problemu, marnując mnóstwo czasu własnego i innych. Kiedy uświadomimy sobie istnienie poziomów interakcji, ruch będzie bardziej spójny. I choć punkt wyjścia może być inny (w każdej książce, z którą się spotkałem, zalecenia były nieco inne), ogólne logiczne założenie rozwiązywania problemów jest następujące – jeśli na poziomie X interakcja przebiega prawidłowo, to na poziomie X-1 najczęściej prawdopodobnie też wszystko jest w porządku. Przynajmniej dla każdego konkretnego za chwilę czas. Rozwiązując problemy w sieciach IP, osobiście zaczynam „kopać” od drugiego poziomu stosu DOD, czyli trzeciej warstwy OSI, czyli protokołu internetowego. Po pierwsze dlatego, że najłatwiej jest przeprowadzić „powierzchowne badanie pacjenta” (pacjent częściej pinguje niż nie), a po drugie, jeśli dzięki Bogu pinguje, można pominąć nieprzyjemne manipulacje przy testowaniu kabli, karty sieciowe i demontaże itp. przyjemne rzeczy ;) Chociaż w szczególnie ciężkich przypadkach nadal będziesz musiał zacząć od pierwszego poziomu i to w najpoważniejszy sposób.

  • wzajemne zrozumienie z kolegami

Aby zilustrować tę kwestię, podam przykład z życia. Któregoś dnia znajomi z małej firmy zaprosili mnie do odwiedzenia, aby pomóc ustalić, dlaczego sieć nie działa dobrze i przekazać pewne zalecenia w tej kwestii. Przychodzę do biura. I okazuje się, że mają tam nawet administratora, zwanego według starej dobrej tradycji „programistą” (a tak naprawdę zajmuje się głównie FoxPro;) - starego przedpierestrojkowego informatyka. No cóż, pytam go, jaką masz sieć? On: "Co masz na myśli? Cóż, tylko sieć." Sieć, ogólnie rzecz biorąc, jest jak sieć. Cóż, mam kilka pytań przewodnich: jaki protokół jest używany na poziomie sieci? On: „GDZIE to jest?” Wyjaśniam: „No cóż, IP lub IPX, czy cokolwiek tam masz…” „Och” – mówi – „wydaje się, że tak: IPX/coś innego!” Swoją drogą „jest-coś jeszcze”, jak zapewne zauważyłeś, znajduje się nieco wyżej od poziomu sieci, ale nie o to chodzi… Typowe jest to, że on tę sieć zbudował i nawet słabo ją utrzymywał . Nic dziwnego, że uschło... ;) Gdybym wiedział o OSI, w 5 minut nabazgrałbym diagram - od 10Base-2 po programy użytkowe. I nie trzeba będzie czołgać się pod stołem, aby sprawdzić przewody koncentryczne.

  • uczyć się nowych technologii

Wspomniałem już o tym ważnym aspekcie we wstępie i powtórzę to jeszcze raz: studiując nowy protokół, należy przede wszystkim zrozumieć a) do jakiego stosu(ów) protokołu należy oraz b) do której części stosu i z kim oddziałuje od dołu, a kto z nim na górze... :) A to zapewni Ci pełną jasność w głowie. Istnieją różne formaty wiadomości i interfejsy API - cóż, to kwestia technologii :)