TCP MODEL OSI


Aby zrozumieć czym jest i jak funkcjonuje rodzina protokołów TCP/IP w pierwszym rzędzie omówimy podstawowe pojęcia związane z funkcjonowaniem sieci komputerowych.

    Sieć komputerowa jest systemem komunikacyjnym służącym przesyłaniu danych, łączącym dwa lub więcej komputerów i urządzenia peryferyjne. Składa się z zasobów obliczeniowych i informacyjnych, mediów transmisyjnych i urządzeń sieciowych.

    Do łączenia komputerów w sieci stosuje się zwykle tzw. sieci z wymianą pakietów (ang. packet-switched). Oznacza to, że dane które trzeba przesłać w sieci dzieli się na małe porcje zwane pakietami i przesyła za pośrednictwem multipleksowanych szybkich łączy między komputerami. Aby taki pakiet dotarł do właściwego odbiorcy musi posiadać informację identyfikacyjną, dzięki której sprzęt sieciowy wie, jak dostarczyć dany pakiet pod wskazany adres. Duży plik musi być podzielony na wiele pakietów, które są pojedynczo przesyłane przez sieć. U odbiorcy pakiety ponownie składa się w jeden plik. Największą zaletą takiego sposobu przesyłania danych jest możliwość równoczesnej obsługi wielu połączeń między komputerami, podczas których łącza są współdzielone pomiędzy porozumiewającymi się komputerami, wadą zaś możliwość przeciążenia łącza, w sytuacji gdy zbyt wiele maszyn nawiązuje łączność. Pomimo tej wady sieci z wymianą pakietów zyskały ogromną popularność. W dalszej części pracy używając słowa sieć będziemy mieli na myśli sieci z wymianą pakietów.

    Poszczególne urządzenia wchodzące w skład sieci mogą być rozmieszczone w jednym pomieszczeniu, w jednym budynku, lub być rozproszone na dużej przestrzeni. Zazwyczaj jeśli poszczególne urządzenia umieszczone są "w jednym miejscu", np. w tym samym budynku - sieć nazywana jest siecią lokalną LAN (ang. Local Area Network). W takim przypadku urządzenia sieciowe są zwykle połączone jednym rodzajem kabla transmisyjnego. Jeżeli rozproszenie urządzeń sieciowych jest znaczne - to wtedy sieć taka jest zorganizowana jako połączenie ze sobą kilku sieci lokalnych i nazywana rozległą siecią komputerową WAN (ang. Wide Area Network).

    Zapewnienie współdziałania elementów składowych sieci jest złożonym problemem technicznym. W związku z tym stosuje się model warstwowy,
w którym każda warstwa świadczy określony poziom usług: jedna zajmuje się transferem danych, inna pakowaniem/rozpakowaniem komunikatów, jeszcze inna świadczy usługi na rzecz aplikacji końcowej itd.

    Należy tu podkreślić, że chociaż warstwy sieci stanowią niezależne całości, to jednak nie mogą wykonywać żadnych widocznych zadań w odosobnieniu od pozostałych poziomów.

    Komunikacja pomiędzy komputerami odbywa się zawsze na poziomie odpowiadających sobie warstw. Warstwy komunikują się ze sobą zgodnie z określonymi zasadami nazywanymi protokołem. Rozwiązanie takie ułatwia analizę procesów zachodzących w sieci i w efekcie upraszcza ich projektowanie.

Model OSI (Open Systems Interconnection)

    Aby umożliwić współpracę urządzeń pochodzących od różnych dostawców konieczne stało się opracowanie zasad opisujących sposoby ich komunikowania się. Standardy takie tworzą międzynarodowe organizacje finansowane przez producentów sprzętu sieciowego. Do najbardziej znanych należą ISO (International Standard Organization) i IEEE (Institute of Electrical and Electronic Engineers). Chociaż ich postanowienia nie mają mocy prawnej, wiele rządów czyni z nich obowiązujące standardy.    Jednym z najszerzej stosowanych standardów jest model odniesienia ISO. Jest on zbiorem zasad komunikowania się urządzeń sieciowych. Podzielony jest na siedem warstw, z których każda zbudowana jest na bazie warstwy poprzedniej tzn. do usług sieciowych świadczonych przez poprzednie warstwy, bieżąca warstwa dodaje swoje, itd.    Model ten nie określa fizycznej budowy poszczególnych warstw, a koncentruje się na sposobach ich współpracy. Takie podejście do problemu sprawia, że każda warstwa może być implementowana przez producenta na swój sposób, a urządzenia sieciowe od różnych dostawców będą poprawnie współpracować.    Poszczególne warstwy sieci stanowią niezależne całości i chociaż nie potrafią wykonywać żadnych widocznych zadań w odosobnieniu od pozostałych warstw, to z programistycznego punktu widzenia są one odrębnymi poziomami.

    Model odniesienia ISO

    Komunikacja pomiędzy komputerami odbywa się na poziomie odpowiadających sobie warstw i dla każdej z nich powinien zostać stworzony własny protokół komunikacyjny.     W rzeczywistej sieci komputerowej komunikacja odbywa się wyłącznie na poziomie warstwy fizycznej (linia ciągła na rysunku). W tym celu informacja każdorazowo przekazywana jest do sąsiedniej niższej warstwy, aż do dotarcia do warstwy fizycznej. Tak więc pomiędzy wszystkimi warstwami z wyjątkiem fizycznej istnieje komunikacja wirtualna (linie przerywane na rysunku), możliwa dzięki istnieniu połączenia fizycznego.

0x01 graphic

     W modelu ISO jak również w opisie TCP/IP pojawia się wiele terminów wywodzących się z języka angielskiego, często nie mających bezpośredniego odpowiednika w języku polskim. Ponadto niektóre terminy w mowie potocznej mają zbliżone, czy wręcz takie samo znaczenie. Ważne jest więc przyswojenie sobie i rozróżnianie tych terminów dla uniknięcia nieporozumień, podczas lektury różnych pozycji czy studiowania firmowych dokumentacji.

    Zadania Warstwy Fizycznej

    Warstwa fizyczna odpowiada za transmisję sygnałów w sieci. Realizuje ona konwersję bitów informacji na sygnały, które będą przesyłane w kanale z uwzględnieniem maksymalizacji niezawodności przesyłu. W warstwie fizycznej określa się parametry amplitudowe i czasowe przesyłanego sygnału, fizyczny kształt i rozmiar łączy, znaczenie ich poszczególnych zestyków i wartości napięć na nich występujących, sposoby nawiązywania połączenia i jego rozłączania po zakończeniu transmisji.

    Zadania Warstwy Łącza Danych

    Warstwa łącza danych odpowiedzialna jest za odbiór i konwersję strumienia bitów pochodzących z urządzeń transmisyjnych w taki sposób, aby nie zawierały one błędów. Warstwa ta postrzega dane jako grupy bitów zwane ramkami. Warstwa łącza danych tworzy i rozpoznaje granice ramki. Ramka tworzona jest przez dołączenie do jej początku i końca grupy specjalnych bitów. Kolejnym zadaniem warstwy jest eliminacja zakłóceń, powstałych w trakcie transmisji informacji po kanale łączności. Ramki, które zostały przekazane niepoprawnie, są przesyłane ponownie. Ponadto warstwa łącza danych zapewnia synchronizację szybkości przesyłania danych oraz umożliwia ich przesyłanie w obu kierunkach.

    Zadania Warstwy Sieciowej

    Warstwa sieciowa steruje działaniem podsieci transportowej. Jej podstawowe zadania to przesyłanie danych pomiędzy węzłami sieci wraz z wyznaczaniem trasy przesyłu, określanie charakterystyk sprzęgu węzeł - komputer obliczeniowy, łączenie bloków informacji w ramki na czas ich przesyłania a następnie stosowny ich podział. W najprostszym przypadku określanie drogi transmisji pakietu informacji odbywa się w oparciu o stałe tablice opisane w sieci. Istnieje również możliwość dynamicznego określania trasy na bazie bieżących obciążeń linii łączności. Stosując drugie rozwiązanie mamy możliwość uniknięcia przeciążeń sieci na trasach, na których pokrywają się drogi wielu pakietów.

    Zadania Warstwy Transportowej

    Podstawową funkcją warstwy transportowej jest obsługa danych przyjmowanych z warstwy sesji. Obejmuje ona opcjonalne dzielenie danych na mniejsze jednostki, przekazywanie zblokowanych danych warstwie sieciowej, otwieranie połączenia stosownego typu i prędkości, realizacja przesyłania danych, zamykanie połączenia. Ponadto mechanizmy wbudowane w warstwę transportową pozwalają rozdzielać logicznie szybkie kanały łączności pomiędzy kilka połączeń sieciowych. Możliwe jest także udostępnianie jednego połączenia kilku warstwom sieciowym, co może obniżyć koszty eksploatacji sieci. Celem postawionym przy projektowaniu warstwy transportowej jest zapewnienie pełnej jej niezależności od zmian konstrukcyjnych sprzętu.

    Zadania Warstwy Sesji

    Warstwa sesji określa parametry sprzężenia użytkowników. Po nawiązaniu stosownego połączenia warstwa sesji pełni szereg funkcji zarządzających, związanych m. in. z taryfikacją usług w sieci. W celu otwarcia połączenia pomiędzy komputerami (sesji łączności) poza podaniem stosownych adresów, warstwa sprawdza, czy obie warstwy (nadawcy i odbiorcy) mogą otworzyć połączenie. Następnie obie komunikujące się strony muszą wybrać opcje obowiązujące w czasie trwania sesji. Dotyczy to na przykład rodzaju połączenia (simpleks, dupleks) i reakcji warstwy na zerwanie połączenia (rezygnacja, ponowne odtworzenie). Przy projektowaniu warstwy zwraca się uwagę na zapewnienie bezpieczeństwa przesyłanych danych. Przykładowo, jeżeli zostanie przerwane połączenie, którego zadaniem była aktualizacja bazy danych, to w rezultacie tego zawartość bazy może okazać się niespójna. Warstwa sesji musi przeciwdziałać takim sytuacjom.

    Zadania Warstwy Prezentacji

    Zadaniem warstwy prezentacji jest obsługa formatów danych. Odpowiada ona więc za kodowanie i dekodowanie zestawów znaków oraz wybór algorytmów, które do tego będą użyte. Przykładową funkcją realizowaną przez warstwę jest kompresja przesyłanych danych, pozwalająca na zwiększenie szybkości transmisji informacji. Ponadto warstwa udostępnia mechanizmy kodowania danych w celu ich utajniania oraz konwersję kodów w celu zapewnienia ich mobilności.

    Zadania Warstwy Aplikacji

    Zadaniem warstwy aplikacji jest zapewnienie programom użytkowym usług komunikacyjnych. Określa ona formaty wymienianych danych i opisuje reakcje systemu na podstawowe operacje komunikacyjne. Warstwa stara się stworzyć wrażenie przezroczystości sieci. Jest to szczególnie ważne w przypadku obsługi rozproszonych baz danych, w których użytkownik nie powinien wiedzieć, gdzie zlokalizowane są wykorzystywane przez niego dane lub gdzie realizowany jest jego proces obliczeniowy.

0x01 graphic

TCP/IP a model OSI

    Protokół TCP/IP jest “programowym protokołem komunikacji sieciowej” (ang. software-based communications protocol used in networking). Termin TCP/IP oznacza znacznie więcej niż tylko prostą kombinację protokołów TCP (ang. Transmission Control Protocol) i IP (ang. Internet Protocol). Oznacza on rozbudowany zestaw oprogramowania udostępniającego różnorodne usługi sieciowe. Protokół TCP/IP udostępnia metody przesyłania informacji pomiędzy poszczególnymi maszynami w sieci, zapewniając wiarygodne przesyłanie danych, obsługując pojawiające się błędy czy generując związane z transmisją informacje dodatkowe.

    Protokół TCP/IP umożliwia rozpatrywanie zagadnień dotyczących komunikacji niezależnie od sprzętu sieciowego.     TCP/IP ma również strukturę warstwową i ma do niego zastosowanie większość filozofii modelu OSI. Jednak podstawowe założenia są na tyle różne, że warto rozróżnić te dwa przypadki.

 

0x01 graphic

 

    Oprogramowanie TCP/IP jest zorganizowane w cztery koncepcyjne warstwy, które stanowią nadbudowę nad piątą warstwą sprzętu.

    Warstwa Programów Użytkowych

    Na najwyższym poziomie użytkownicy wywołują programy użytkowe, które mają dostęp do usług TCP/IP. Programy użytkowe współpracują z jednym z protokołów na poziomie warstwy transportu i wysyłają lub odbierają dane w postaci pojedynczych komunikatów lub strumienia bajtów. Programy użytkowe przekazują do warstwy transportowej dane w wymaganym formacie, aby mogły one zostać dostarczone w odpowiednie miejsce.

    Warstwa Transportowa

    Jej podstawowym zadaniem jest zapewnienie komunikacji między jednym programem użytkownika a drugim. Warstwa ta może regulować przepływ informacji. Może też zapewnić pewność przesyłania - dane przychodzą bez błędów i we właściwej kolejności. W tym celu protokół transportowy organizuje wysyłanie przez odbiorcę potwierdzenia otrzymania pakietów oraz ponowne wysyłanie pakietów utraconych. Oprogramowanie transportowe dzieli strumień transmitowanych danych na porcje (czasami zwane pakietami) i przesyła każdy pakiet wraz z adresem odbiorcy do następnej warstwy aby został wysłany. Ponieważ komputery ogólnego użytku mogą mieć wiele programów użytkowych, które korzystają z sieci w tym samym czasie, warstwa transportowa musi przyjmować dane od kilku programów i wysyłać je do niższej warstwy. Dodaje ona do każdego pakietu pewne informacje, które obejmują kody identyfikujące program użytkowy wysyłający te dane, program, który powinien je odebrać oraz sumę kontrolną.

   

Warstwa Intersieci

    Odpowiada za obsługę komunikacji jednej maszyny z drugą. Przyjmuje ona pakiety z warstwy transportowej razem z informacjami identyfikującymi maszynę - odbiorcę, kapsułkuje pakiet w datagramie IP, wypełnia jego nagłówek, sprawdza za pomocą algorytmu trasowania czy wysłać datagram wprost do odbiorcy czy też do routera i przekazuje datagram do odpowiedniego interfejsu sieciowego, który ma dokonać transmisji. Warstwa ta zajmuje się także datagramami przychodzącymi, sprawdzając ich poprawność i stwierdzając przy pomocy algorytmu trasowania czy należy je przesłać dalej czy też przetwarzać na miejscu. W przypadku datagramów adresowanych do maszyny lokalnej oprogramowanie tej warstwy kasuje nagłówek datagramu i wybiera jeden z kilku protokołów transportowych - ten, który go będzie dalej obsługiwał. Warstwa ta wysyła też komunikaty kontrolne i komunikaty o błędach oraz obsługuje komunikaty przychodzące.

    Warstwa interfejsu sieciowego

    Warstwa ta odbiera datagramy IP i przesyła je przez daną sieć. Interfejs sieciowy może składać się ze sterownika urządzenia (np. gdy sieć jest siecią lokalną, do której maszyna jest bezpośrednio podłączona) lub ze skomplikowanego podsystemu, który wykorzystuje własny protokół łącza.

Adresy IP

    Do rozróżniania komputerów TCP/IP używa 32 bitowej liczby całkowitej, nazywanej adresem IP. Pomysłowość tego systemu adresowania polega na tym, że umożliwia on efektywne wyznaczanie tras pakietów. Jest to możliwe dzięki temu, że adres IP zawiera informację o tym do jakiej sieci jest włączony dany komputer oraz jednoznaczny adres komputera w tej sieci. Adres IP jest używany przy wszystkich operacjach związanych z wymianą informacji z daną maszyną.

    Ogólnie przyjętym sposobem zapisu adresu IP w sposób czytelny dla użytkownika jest format bajtowo-dziesiętny - adres zapisywany jest w postaci czterech liczb dziesiętnych, które oddzielone są kropkami, przy czym każda liczba dziesiętna odpowiada 8 bitom adresu IP. Taki zapis nosi nazwę “notacji dziesiętnej z kropkami” (ang. dotted quad notation). Zapis taki jest z pewnością o wiele bardziej czytelny dla człowieka niż zapis bitowy.

Np. 32 bitowy adres:

10000000

00001010

00000010

00011110

jest zapisany jako:

128.

10.

2.

30

    Istnieją cztery klasy adresów IP, różniące się podziałem poszczególnych bitów pomiędzy identyfikację samej sieci i identyfikację urządzeń w tej sieci.

 

0x01 graphic

     Obserwując najstarsze bity adresu możemy stwierdzić do jakiej klasy należy dany adres, w efekcie możemy stwierdzić ile bitów będzie adresowało sieć, ile zaś sam komputer. Zwróćmy uwagę, że aby określić przynależność do jednej z trzech zasadniczych klas (A, B, C) wystarczą dwa pierwsze bity.

    Łatwo zauważyć, że adresów klasy A wykorzystywanych przez duże sieci jest niewiele (na adres sieci przeznaczone jest 7 bitów, więc sieci takich jest 27=127) ale w każdej z sieci tej klasy może być ponad 16 milionów komputerów (na adres maszyny przeznaczone jest 24 bity więc otrzymujemy 224 maszyn).

    Klasa B przeznaczona jest dla sieci średniej wielkości mających od 28 (tj. 256) do 216 maszyn - 14 bitów określa sieć, zaś 16 bitów komputer. W efekcie otrzymujemy 16384 sieci, które mogą mieć do 65535 komputerów każda.

    W klasie C sieć adresowana jest za pomocą 21 bitów - daje to 221 sieci (ponad 2 miliony) ale w każdej z nich może być co najwyżej 28=256 maszyn.

    Adres klasy D (ang. multicast address) ma specjalne znaczenie - jest używany w sytuacji gdy ma miejsce jednoczesna transmisja do większej liczby urządzeń.

    Postać adresu IP umożliwia szybkie określenie zawartego w nim adresu sieci i adresu maszyny. Wykorzystują to routery, które wymagają możliwości sprawnego wyróżnienia tego adresu w celu szybkiej pracy.    Jak wspomnieliśmy, adresy zamiast w postaci bitowej, zwykle zapisuje się w postaci czterech liczb dziesiętnych. Wówczas podział na klasy wygląda następująco:

 

Klasa

Najniższy adres

Najwyższy adres

A

0.1.0.0

126.0.0.0

B

128.0.0.0

191.255.0.0

C

192.0.1.0

223.255.255.0

D

224.0.0.0

239.255.255.255

E

240.0.0.0

247.255.255.255

     Adres IP każdego urządzenia, które może być połączone z intersiecią musi być unikalny w skali światowej. W celu zapewnienia jednoznaczności identyfikatorów sieci, wszystkie adresy przydzielane są przez jedną organizację. Zajmuje się tym Internet Network Information Center (INTERNIC). Przydziela ona adresy sieci, zaś adresy maszyn w ramach sieci administrator może przydzielać bez potrzeby kontaktowania się z organizacją. Organizacja ta przydziela adresy tym instytucjom, które są lub będą przyłączone do ogólnoświatowej sieci INTERNET.

. Adresowanie fizyczne

    Ważne jest aby zrozumieć, że intersieć nie jest siecią fizyczną. Jest to metoda łączenia sieci fizycznych, tak aby możliwa była komunikacja między komputerami. Chociaż jednak sprzęt sieciowy nie odgrywa najważniejszej roli w całym projekcie, to jednak “współpracuje” z protokołami TCP/IP i wpływa na niektóre rozwiązania zaimplementowane w tych protokołach.

    W każdej technice sieciowej istnieje określony mechanizm adresowania, którego używają komputery w celu określenia miejsca, do którego należy dostarczyć dany pakiet. Każdy komputer przyłączony do sieci posiada unikatowy adres, będący zwykle liczbą naturalną. W każdym pakiecie istnieje pole adresu docelowego, które zawiera adres odbiorcy. Nadawca musi znać adres odbiorcy i musi umieścić go w odpowiednim polu, zanim pakiet zostanie wysłany.

    Każda technika sprzętowa określa sposób przydzielania adresów komputerom. Niektóre techniki mają zgodne ze sobą sposoby adresowania, jednak dla wielu z nich istotnie różnią się one między sobą. TCP/IP radzi sobie jednak z tymi różnicami.

    Mechanizm adresowania fizycznego przypomnimy na przykładzie popularnego rodzaju sieci LAN z wymianą pakietów tj. sieci Ethernet.

    Ethernet wykorzystuje adresy 48-bitowe. Każdy komputer przyłączony do sieci Ethernet dostaje unikatowy 48-bitowy numer nazywany adresem eternetowym przypisany w procesie produkcji interfejsom sieciowym. Ponieważ adres ten związany jest ze sprzętem sieciowym nazywamy go adresem sprzętowym lub adresem fizycznym. Przestrzeń adresowa i przydzielanie adresów poszczególnym producentom sprzętu są zarządzane przez IEEE, dzięki temu żadne dwie karty interfejsu nie mają takiego samego adresu eternetowego. Ponieważ adres jest związany z interfejsem to przeniesienie karty sieciowej do innego komputera lub wymiana karty uszkodzonej w komputerze powoduje zmianę jego adresu fizycznego. Także i tego typu problemy rozwiązują protokoły TCP/IP.

    Dane przesyłane przez sieć Ethernet są dzielone na ramki (ang. frame). Ramki Ethernetu mają zmienną długość - od 64 do 1518 oktetów (oktet = 8 bitów). Jak we wszystkich sieciach z wymianą pakietów, każda ramka Ethernetu zawiera m.in. pole, w którym znajduje się adres odbiorcy i adres nadawcy.

Preambuła

8 oktetów

Adres odbiorcy

6 oktetów

Adres nadawcy

6 oktetów

Typ ramki

2 oktety

Dane ramki

64-1500 oktetów

CRC

4 oktety

    Z punktu widzenia Internetu interesujące jest pole typ ramki, gdyż dzięki niemu ramki są samoopisujące. System operacyjny komputera po otrzymaniu ramki na podstawie pola “typ ramki” decyduje, do którego z modułów oprogramowania obsługi protokołów należy ją skierować. Podstawowa zaleta ramek samoopisujących polega na tym, że umożliwiają one używanie przez jeden komputer wielu różnych protokołów przez tę samą sieć bez wzajemnych zakłóceń. Protokoły TCP/IP również wykorzystują samoopisujące się ramki do rozróżniania wielu różnych protokołów.

9



Wyszukiwarka

Podobne podstrony:
Wstęp do sieci model osi tcp ip
model OSI, Informatyka, Sieci Komputerowe
model osi 2
sieci model OSI ISO
Model OSI 2
WAiNS Wykład 5 Sieci komputerowe model OSI
002 model osi
Model OSI
wstęp, model osi i tcpip, html i www IIU2H5EYPMSYUWXAKYH2V2LUKUJGGJNVDCMXEMI
Model OSI-ISO, komputery, sieci komputerowe, Podstawy sieci komputerowych, OSI-ISO
model osi osika
Wykład1 model OSI
Model OSI
Model OSI, !!!Uczelnia, wsti, materialy, I SEM, uzytkowanie sieci
2.3.3 Model OSI, 2.3 Modele działania sieci komputerowych
model OSI, Pomoce naukowe, studia, informatyka
model osi wip
Model OSI

więcej podobnych podstron