DoD, a OSI


Z Wikipedii, wolnej encyklopedii.

Model DoD (ang. akronim Department of Defense, czyli Departament Obrony USA) - teoretyczny model warstwowej struktury protokołów komunikacyjnych. Model DoD został stworzony w latach 70-tych XX wieku, w DARPA, aby pomóc w tworzeniu odpornych na atak sieci komputerowych. Potem stał się on podstawą struktury Internetu.



Model DoD


Podstawowym założeniem modelu DoD jest podział całego zagadnienia komunikacji sieciowej na szereg współpracujących ze sobą warstw (ang. layers).
Każda z nich może być tworzona przez programistów zupełnie niezależnie, jeżeli narzucimy pewne protokoły według, których wymieniają się one informacjami.
Założenia modelu DoD są pod względem organizacji warstw zbliżone do modelu OSI. Jednak ilość warstw jest mniejsza i bardziej odzwierciedla prawdziwą strukturę Internetu.
Model DoD składa się z czterech warstw.
1.Warstwa aplikacji
Warstwa procesowa czy warstwa aplikacji (ang. process layer) to najwyższy poziom, w którym pracują użyteczne dla człowieka aplikacje takie jak, np. serwer WWW czy przeglądarka internetowa. Obejmuje ona zestaw gotowych protokołów, które aplikacje wykorzystują do przesyłania różnego typu informacji w sieci.
2.Warstwa transportowa
Warstwa transportowa (ang. host-to-host layer) zapewnia pewność przesyłania danych oraz kieruje właściwe informacje do odpowiednich aplikacji. Opiera się to na wykorzystaniu portów określonych dla każdego połączenia. W jednym komputerze może istnieć wiele aplikacji wymieniających dane z tym samym komputerem w sieci i nie nastąpi wymieszanie się przesyłanych przez nie danych. To właśnie ta warstwa nawiązuje i zrywa połączenia między komputerami oraz zapewnia pewność transmisji.
3.Warstwa sieciowa
Warstwa sieciowa lub warstwa protokołu internetowego (ang. internet protocol layer) to sedno działania Internetu. W tej warstwie przetwarzanie są pakiety posiadające adresy IP. Ustalana jest odpowiednia droga do docelowego komputera w sieci. Niektóre urządzenia sieciowe posiadają tą warstwę jako najwyższą. Są to routery, które zajmują się kierowaniem ruchu w Internecie, bo znają topologię sieci. Proces odnajdywania przez rutery właściwej drogi określa się jako routing.
4.Warstwa dostępu do sieci
Warstwa dostępu do sieci lub warstwa fizyczna (ang. network access layer) jest najniższą warstwą i to ona zajmuje się przekazywaniem danych przez fizyczne połączenia między urządzeniami sieciowymi. Najczęściej są to karty sieciowe lub modemy. Dodatkowo warstwa ta jest czasami wyposażona w protokoły do dynamicznego określania adresów IP.
Model DoD a Internet
Każdy protokół sieciowy można przyporządkować do określonej warstwy modelu DoD. Pewną szczególną cechą rodziny protokołów TCP/IP używanej w internecie jest podział protokołów z warstwy aplikacyjnej i połączeniowej. Niektóre protokoły z warstwy aplikacji wykorzystują tylko pewne protokoły z warstwy transportowej.
Protokoły TCP/IP a model DoD
-warstwa aplikacji: protokoły ADSP, APPC, Appletalk, AFP, DAP, DLC, DNS, ED2K, FTAM, FTP, HTTP, HTTPS, IMAP, IRC, Named Pipes, NCP, NetBIOS, NWLink, NBT, NTP, PAP, POP3, RPC, SMTP, SMB, SSH, TDI, Telnet, X.400, X.500, XDR, ZIP.
-warstwa transportowa: protokoły AEP, ATP, NBP, NetBEUI, RTMP, RTP, SPX, SSL, TCP, UDP.
-warstwa sieciowa: protokoły ARP, IP, ICMP, IPsec, NAT, NWLink, NetBEUI, DDP.
-warstwa dostępu do sieci: protokoły 10BASE-T, 802.11 WiFi, ADSL, DHCP, Ethernet, EtherTalk, Fibre Channel, ISDN, LocalTalk, NDIS, ODI, PPP, RS-232, SLIP, Token Ring, TokenTalk, V.90.

Protokoły DNS, NTP wykorzystują tylko protokół UDP z warstwy transportowej.
Protokoły FTP, SMTP, POP3, SSH, IRC posługują się tylko TCP.
Natomiast ED2k czy SMB używają obu protokołów.
Protokół SSL ma szczególną rolę. Może zostać umieszczony pomiędzy każdym połączeniowym protokołem warstwy aplikacji, a TCP. Dzięki jego wykorzystaniu dane przesyłane przez aplikacje mogą zostać zaszyfrowane.
Niektóre protokoły z warstwy aplikacji, jak np. SMB nie działają zwykle w Internecie. Są wykorzystane w sieciach lokalnych do udostępniania usług, jak np. zdalne drukarki czy dyski.
W systemie Linux dokładną listę protokołów transportowych można znaleźć w pliku /etc/protocols, a listę protokołów z warstwy aplikacji w pliku /etc/services.

Od ogólnego modelu DoD są w Internecie wyjątki. Przykładem może być tutaj usługa ping, w której aplikacja wysyła bezpośrednio pakiety ICMP w celu ustalenia jakości połączenia z innym komputerem.

OSI


OSI (ang. Open System Interconnection) lub Model OSI to zdefiniowany przez organizacje ISO oraz ITU-T standard opisujący strukturę komunikacji sieciowej. Model OSI jest traktowany jako model odniesienia dla większości rodzin protokołów komunikacji.
Najpopularniejszy to model OSI-RM (ang. OSI Reference Model). Podstawowym założeniem modelu jest podział systemów sieciowych na 7 całkowicie niezależnych warstw (ang. layers).
Dla Internetu sformułowano uproszczony Model DoD, który ma tylko 4 warstwy.

Organizacja warstwowa
Model OSI definiuje jakie zadania oraz rodzaje informacji mogą być przesyłane między warstwami w całkowitym oderwaniu od ich fizycznej i algorytmicznej realizacji. Mimo iż, każda z warstw sama nie jest funkcjonalna, to możliwe jest projektowanie warstwy w całkowitym oderwaniu od pozostałych. Jest to prawdziwe, jeżeli wcześniej zdefiniuje się protokoły wymiany informacji pomiędzy poszczególnymi warstwami.

Warstwy górne
Wyróżniamy trzy warstwy górne, czyli warstwę aplikacji, prezentacji i sesji.
Ich zadaniem jest współpraca z oprogramowaniem realizującym zadania zlecane przez użytkownika systemu komputerowego. Tworzą one pewien interfejs, który pozwala na komunikację z warstwami niższymi. Ta sama warstwa realizuje dokładnie odwrotne zadanie w zależności od kierunku przepływu informacji. Dla przyjęcia uwagi załóżmy, że informacja porusza się w dół Modelu OSI, kiedy płynie od użytkownika do urządzeń sieciowych oraz w górę w przeciwnym wypadku.
1.Warstwa aplikacji
Warstwa aplikacji jest warstwą najwyższą. Kiedy użytkownik korzystając z oprogramowania chce przesłać dane poprzez urządzenia sieciowe, to trafiają one właśnie do warstwy aplikacji. W tej warstwie znajdują się oba te programy. Podczas ruchu informacji w górę, to warstwa aplikacji pozwala użytkownikowi na odebranie potrzebnej mu informacji.
2.Warstwa prezentacji
Podczas ruchu w dół zadaniem warstwy prezentacji jest przetworzenie danych od aplikacji do postaci kanonicznej (ang. canonical representation) zgodnej ze specyfikacją OSI-RM, dzięki czemu niższe warstwy zawsze otrzymują dane w tym samym formacie. Kiedy informacje płyną w górę, warstwa prezentacji tłumaczy format otrzymywanych danych na zgodny z wewnętrzną reprezentacją systemu docelowego. Wynika to ze zróżnicowania systemów komputerowych, które mogą w różny sposób interpretować te same dane. Dla przykładu bity w bajcie danych w niektórych procesorach są interpretowane w odwrotnej kolejności niż w innych.
3.Warstwa sesji
Warstwa sesji otrzymuje od różnych aplikacji dane, które muszą zostać odpowiednio zsynchronizowane. Warstwa sesji "wie", która aplikacja łączy się z którą, dzięki czemu może zapewnić właściwy kierunek przepływu informacji. W nowoczesnych systemach sieciowych może równolegle pracować kilkadziesiąt aplikacji. Wymieszanie się ze sobą przesyłanych przez nie informacji zakończyłoby się katastrofą. Podczas ruchu w górę, ważne jest zadbanie o właściwą kolejność danych przesyłanych do warstwy prezentacji. Dolne warstwy często prowadzą do fragmentacji oraz przemieszania danych wysyłanych nie po kolei.
Warstwa sesji jest ogniwem synchronizującym aplikacje pracujące w warstwie najwyższej na różnych maszynach. Dzięki posiadanemu przez warstwę sesji zbiorowi danych zwanemu punktem synchronizacji (ang. synchronization point) warstwa sesji potrafi stwierdzić, czy jedna aplikacja dostarczyła już dane potrzebne dla drugiej.

Warstwy dolne
Najniższe warstwy zajmują się odnajdywaniem odpowiedniej drogi do celu, gdzie ma być przekazana konkretna informacja. Dzielą również dane na odpowiednie dla urządzeń sieciowych pakiety okraślane często skrótem PDU (ang. Protocol Data Unit). Dodatkowo zapewniają weryfikację bezbłędności przesyłanych informacji. Ważną cechą warstw dolnych jest całkowite ignorowanie sensu przesyłanych informacji. Dla warstw dolnych aplikacje nie istnieją. Jedynym ich zainteresowaniem cieszą się pakiety (ramki) danych, którymi to właśnie one się zajmują. Warstwy dolne to warstwa transportowa, sieciowa, łącza danych oraz fizyczna.
4.Warstwa transportowa
Warstwa transportowa dba o poprawność przesyłania danych. W tej warstwie standardowa paczka danych oznaczana jest jako TPDU (ang. Transport Protocol Data Unit). Aby informacje mogły zostać przesłane w dół, często muszą zostać podzielone na mniejsze fragmenty. Jeżeli informacji nie uda się przesłać poprawnie za pierwszym razem, warstwa transportowa próbuje to zrobić, aż do wyczerpania limitu przekazów. Ważnym zadaniem warstwy transportowej jest szeregowanie przekazywanych informacji według priorytetów i przydzielanie im określonego pasma transmisji. Jeżeli wydajność niższych warstw sieciowych jest zbyt mała w stosunku do ilości przekazywanych z góry informacji, to warstwa transportowa układa je w określonych kolejkach według priorytetu. W ostateczności, kiedy kolejki się przepełniają warstwa transportowa zwraca do góry komunikaty o ich zapełnieniu i usuwa nadmiarowe dane. Warstwa transportowa rejestruje również komunikaty o przerwaniu połączenia i pozwala na bezpieczne zakończenie komunikacji.
5.Warstwa sieciowa
Warstwa sieciowa jako jedyna dysponuje wiedzą dotyczącą fizycznej topologię sieci. Rozpoznaje jakie drogi łączą poszczególne komputery (ang. routing) i decyduje ile informacji należy przesłać jednym z połączeń a ile innym. Jeżeli danych do przesłania jest zbyt wiele, to warstwa sieciowa po prostu je ignoruje. Ona nie musi zapewniać pewności transmisji, więc w razie błędu pomija niepoprawne pakiety danych. Standardowa paczka danych w tej warstwie czasami oznaczana jest jako NPDU (ang. Network Protocol Data Unit). Często w maszynie warstwa sieciowa jest najwyższa, co oznacza, że to urządzenie jest ruterem. Nie znajdują się w nim żadne użyteczne dla ludzi aplikacje. Jedyne jego zadanie, to zapewnienie sprawnej łączności między bardzo odległymi punktami sieci. Rutery są podstawą budowy rozległych sieci informatycznych takich jak Internet, bo potrafią odnaleźć najlepszą drogę do przekazania informacji. Warstwa sieciowa podczas ruchu w dół umieszcza dane wewnątrz pakietów zrozumiałych dla warstw niższych (enkapsulacja).
6.Warstwa łącza danych
Warstwa łącza danych jest czasami nazywana warstwą liniową. Ma ona nadzorować jakość przekazywanych informacji. Nadzór ten dotyczy wyłącznie warstwy niższej. Warstwa łącza danych ma możliwość zmiany parametrów pracy warstwy fizycznej, tak aby obniżyć ilość pojawiających się podczas przekazu błędów. Podczas ruchu w dół w warstwie łącza danych zachodzi enkapsulacja pakietów z warstwy sieciowej tak, aby uzyskać ramki zgodne ze standardem. Czasami są one oznaczane jako LPDU (ang. data Linki Protocol Data Unit).
7.Warstwa fizyczna
Warstwa fizyczna to konkretny układy elektroniczne tworzący kanał komunikacyjny poprzez medium fizyczne (kabel miedziany, światłowód, fale radiowe, itd.) pozwalający na wymianę informacji pomiędzy urządzeniami sieciowymi. Warstwa fizyczna musi być tak skonstruowana, aby większość przesyłanych nią danych bez zniekształceń trafiła do odbiorców. Warstwa ta często posiada własny system identyfikacji poszczególnych uczestników komunikacji, całkowicie przezroczysty dla warstw wyższych.
W niektórych zastosowaniach dodatkowym celem warstwy fizycznej jest ochrona informacji przed zmianą lub podsłuchem przez niepowołane osoby. Zwykle zabezpieczenia te mają charakter fizyczny, a nie algorytmiczny.

Praktyczne znaczenie Modelu OSI
W praktyce Model OSI został częściowo zmodyfikowany. Najczęstszą zmianą było połączenie warstwy fizycznej (7) oraz łącza danych (6) w jedną. Wynikało to z praktycznych cech tych warstw, które powodowały, że nie dało się odseparować ich pracy od siebie.
Nie należy mylić Modelu OSI-RM z Modelem DoD.
Mimo pewnego podobieństwa, oba te modele nie są w pełni zgodne.

Komplet protokołów sieci Internet


Komplet protokołów sieci Internet
Warstwa aplikacjiFTP, HTTP, IRC, SMTP, SNMP, SSH, Telnet ...
Warstwa transportowa:RTP, TCP, UDP, SCTP ...
Warstwa sieciowa:ARP, IPv4, IPv5, IPv6, IPX ...
Warstwa dostępu do sieci:802.11 WiFi, Ethernet, FDDI, Token ring ...

do góry