Protokoly1.doc

(107 KB) Pobierz
Protokoły – warstwa aplikacji

5

 

Protokoły

Protokół sieciowy to zbiór reguł, którym podlegają komunikujące się ze sobą komputery. Określają sposób adresowania informacji, dzielenia na fragmenty, zwane pakietami oraz kontrolowania poprawności transmisji danych.
 


Protokoły transmisji pełnią w sieciach rolę kontrolera czuwającego nad uporządkowanym przesyłaniem danych. Dane przesyłane są w różnych formach: komórek, ramek czy pakietów. W życiu codziennym chcąc wysłać list, musimy spełnić niezbędne wymagania, aby dotarł on do adresata. List zatem należy włożyć do koperty, prawidłowo zaadresować i umieścić w skrzynce, z której powędruje dalej. Proces ten można właśnie porównać do protokołu. Medium transmisyjnym będzie dla niego droga kolejowa lub lotnicza. W sieciach komputerowych przesyłanych jest bardzo wiele różnego rodzaju danych i za pomocą różnego rodzaju mediów, stąd mnogość protokołów transmisji.

Najistotniejsza różnica pomiędzy protokołem transmisyjnym a technologią przesyłu danych jest taka, ze ten pierwszy nawiązuje łączność pomiędzy komputerami i dba o jej utrzymanie, a ta druga przesyła odpowiednio „zapakowane” dane po wyznaczonych protokołem kanałach transmisji. Porównując zagadnienie do transportu kołkowego, protokół to grupa ludzi znajdująca się wyznaczaniem drugi, określeniem jej długości i czasu pokonania ze wskazaniem ewentualnych objazdów. Technologia przesyłu danych to z kolei grupa ludzi zajmująca przygotowaniem przesyłki, zapakowaniem i zaadresowaniem jej, załadunkiem w miejscu nadania i jej rozładunkiem w miejscu odbioru. Należy wiedzieć o tym, że połączenie się dwóch komputerów w celu przesyłania określonej porcji danych wymaga działania wielu protokołów.

A każdy z nich jest odpowiedzialny za inną cześć tej złożonej operacji.

 

Protokoły – warstwa sieciowa

IP (Internet Protocol); IPv4/ protokół IP; Protokół Międzysieciowy; Protokół Internetu /

Jeden z podstawowych protokołów obowiązujących w Internecie. Opracowany pod koniec lat 70-tych na zlecenie Departamentu Obrony USA, miał za zadanie połączyć różne rodzaje wojskowych sieci WAN w jedną zunifikowaną sieć ARPANet. W następnych latach został przyjęty jako główny protokół warstwy sieci dla Internetu oraz sieci lokalnych.

 

IP dostarcza procedur wystarczających do przesyłania danych między maszynami znajdującymi się w połączonych sieciach. Definiuje strukturę i format »pakietów oraz sposób ich adresowania. Nie realizuje jednak żadnych funkcji związanych z poprawnością transmisji, w szczególności nie identyfikuje pakietów, które mają być przesłane ponownie (retransmitowane). Nie potrafi także wykonywać wielu procesów związanych z odtwarzaniem prawidłowej sekwencji pakietów (pakiety podróżujące różnymi drogami mogą docierać do celu w innej kolejności niż zostały nadane). Tym samym jest więc protokołem bezpołączeniowym – nie zapewnia stałego kanału komunikacyjnego.

Dopiero współpraca protokołu IP oraz jednego z protokołów warstwy wyższej (»warstwy transportu) umożliwia wygodne przesyłanie danych na duże odległości. Przykładami protokołów, które podczas transmisji korzystają z protokołu IP, są TCP i UDP. W takich przypadkach, określając dwa współdziałające protokoły, używa się ich nazw rozdzielonych ukośnikiem „/” – np. TCP/IP, UDP/IP. W przypadku TCP komunikacja połączeniowa symulowana jest w kanale bezpołączeniowym poprzez wymianę pakietów i potwierdzeń ich odbioru.

W celu identyfikacji sieci, urządzeń sieciowych oraz hostów protokół IP wykorzystuje binarny schemat adresowania. 32-bitowy adres IP składa się z czterech, oddzielonych kropkami 8-bitowych liczb, np. 195.120.26.10. Ponieważ ARPANet miał łączyć co najwyżej kilkadziesiąt instytucji, przyjęta 32-bitowej przestrzeń adresową wydawała się rozwiązaniem nowoczesnym i przyszłościowym. Dzisiaj wiemy już, że rozwój Internetu przekroczył najśmielsze oczekiwania. Liczba wolnych adresów IP zaczęła w pewnym momencie gwałtownie maleć, co pociągnęło za sobą konieczność opracowanie nowej wersji protokołu IP. Następcą IPv4 stał się »IPv6, nazywany także IPng (Internet Protocol Next Generation)

 

ICMP (ang. Internet Control Message Protocol, internetowy protokół komunikatów kontrolnych) – protokół warstwy sieciowej OSI/DoD wykorzystywany w diagnostyce sieci oraz routingu. Pełni on przede wszystkim funkcję kontroli transmisji w sieci, ale ma też zastosowania, w których używany jest tylko on - ping oraz traceroute.

IPsec/ IPsec /

Stosunkowo nowy protokół mający na celu zabezpieczanie informacji przesyłanych sieciami komputerowymi.

 

IPsec zapewnia potwierdzenie tożsamości nadawcy i odbiorcy pakietu oraz szyfrowanie danych. Działając niezależnie od aplikacji funkcjonujących w wyższych warstwach, IPsec nie zastępuje stosowanych w nich procedur bezpieczeństwa, jedynie je uzupełniając.

 

NAT (ang. Network Address Translation), nazywany też w jednej ze swych odmian maskarada (z ang. masquerade) - technika translacji adresów sieciowych.

Zastosowanie NAT

Wraz ze wzrostem liczby komputerów w Internecie, zaczęła zbliżać się groźba wyczerpania puli dostępnych adresów internetowych IPv4. Aby temu zaradzić, lokalne sieci komputerowe, korzystające z tzw. adresów prywatnych (specjalna pula adresów tylko dla sieci lokalnych), mogą zostać podłączone do Internetu przez jeden komputer (lub router), posiadający mniej adresów internetowych niż komputerów w tej sieci.

Router ten, gdy komputery z sieci lokalnej komunikują się ze światem, dynamicznie tłumaczy adresy prywatne na adresy zewnętrzne, umożliwiając użytkowanie Internetu przez większą liczbę komputerów niż posiadana liczba adresów zewnętrznych.

NAT jest często stosowany w sieciach korporacyjnych (w połączeniu z proxy) oraz sieciach osiedlowych.

Można wyróżnić 2 podstawowe typy NAT:

·         SNAT (Source Network Address Translation) to technika polegająca na zmianie adresu źródłowego pakietu IP na jakiś inny. Stosowana często w przypadku podłączenia sieci dysponującej adresami prywatnymi do sieci Internet. Wtedy router, przez który podłączono sieć, podmienia adres źródłowy prywatny na adres publiczny (najczęściej swój własny).

·         DNAT (Destination Network Address Translation) to technika polegająca na zmianie adresu docelowego pakietu IP na jakiś inny. Stosowana często w przypadku, gdy serwer, który ma być dostępny z Internetu ma tylko adres prywatny. W tym przypadku router dokonuje translacji adresu docelowego pakietów IP z Internetu na adres tego serwera.

Szczególnym przypadkiem SNAT jest maskarada, czyli sytuacja, gdy router ma zmienny adres IP (np. otrzymuje go w przypadku połączenia modemowego dodzwanianego). Wtedy router zmienia adres źródłowy na taki, jak adres interfejsu, przez który pakiet opuszcza router.

 

 

Protokół NetBEUI Zaprojektowany przez IBM i Microsoft protokół NetBEUI (NetBIOS Extended User Interface)

 został włączony do systemów Windows i umożliwia komunikację w małych sieciach lokalnych. pozwala na

nawiązanie łączności i przesyłanie danych w sieciach zamkniętych. Jest pozbawiany warstwy sieciowej

modelu OSI, a więc także możliwości znajdowania trasy w sieci rozległej (routingu). Za jego pomocą

 nie da się utrzymać połączeń międzysieciowych, dlatego zastępowany jest protokołem TCP/IP. Jednym

z zadań protokołu NetBEUI jest przypisywanie nazw komputerom przyłączonym do sieci. Nazwy mają do

15 znaków i jednoznacznie identyfikują urządzenia. Po nazwaniu wszystkich komputerów NetBEUI może

ustanowić pomiędzy nimi połączenia logiczne lub sesje wymiany danych.

IPX (ang. Internetwork Packet Exchange) to protokół warstwy sieciowej (trzeciej warstwy modelu OSI) będący częścią stosu IPX/SPX opracowanego przez firmę Novell na potrzeby środowiska sieciowego NetWare. Wzorowany na protokole IDP stosu protokołów XNS firmy Xerox.

Zorientowany na bezpołączeniowe przesyłanie danych. Nie posiada mechanizmów kontroli transmisji i nie gwarantuje, że wszystkie pakiety dotrą na miejsce.

Bardzo popularny w latach dziewięćdziesiątych, aktualnie wyparty przez protokół IP ze stosu TCP/IP.

Protokoły – warstwa transportowa

TCP (ang. Transmission Control Protocol - protokół kontroli transmisji) – strumieniowy protokół komunikacji między dwoma komputerami. Został stworzony przez Vintona Cerfa i Roberta Kahna.

Jest on częścią większej całości określanej jako stos TCP/IP. W modelu OSI TCP odpowiada warstwie Transportowej.

Charakterystyka protokołu

W przeciwieństwie do UDP, TCP zapewnia wiarygodne połączenie dla wyższych warstw komunikacyjnych przy pomocy sum kontrolnych i numerów sekwencyjnych pakietów, w celu weryfikacji wysyłki i odbioru. Brakujące pakiety są obsługiwane przez żądania retransmisji. Host odbierający pakiety TCP porządkuje je według numerów sekwencyjnych tak, by przekazać wyższym warstwom modelu OSI pełen, złożony segment.

Chociaż protokół definiuje pakiet TCP, to z punktu widzenia wyższej warstwy oprogramowania, dane płynące połączeniem TCP należy traktować jako ciąg oktetów. W szczególności – jednemu wywołaniu funkcji API (np. send()) nie musi odpowiadać wysłanie jednego pakietu. Dane z jednego wywołania mogą zostać podzielone na kilka pakietów lub odwrotnie – dane z kilku wywołań mogą zostać połączone i wysłane jako jeden pakiet (dzięki użyciu algorytmu Nagle'a). Również funkcje odbierające dane (recv()) w praktyce odbierają nie konkretne pakiety, ale zawartość bufora stosu TCP/IP, wypełnianego sukcesywnie danymi z przychodzących pakietów.

Charakterystyczny dla TCP jest moment nawiązania połączenia, nazywany ang. three-way handshake. Host inicjujący połączenie wysyła pakiet zawierający segment TCP z ustawioną flagą SYN (synchronize). Host odbierający połączenie, jeśli zechce je obsłużyć, odsyła pakiet z ustawionymi flagami SYN i ACK (acknowledge – potwierdzenie). Inicjujący host powinien teraz wysłać pierwszą porcję danych, ustawiając już tylko flagę ACK (gasząc SYN). Jeśli host odbierający połączenie nie chce lub nie może odebrać połączenia, powinien odpowiedzieć pakietem z ustawioną flagą RST (Reset). Prawidłowe zakończenie połączenia polega na wysłaniu flagi FIN.

Zastosowania

Aplikacje, w których zalety TCP przeważają nad wadami (większy koszt związany z utrzymaniem sesji TCP przez stos sieciowy) to m.in. HTTP, SSH, FTP czy SMTP/POP3 i IMAP4.

 

RTP (ang. Real-time Transport Protocol) - protokół transmisji w czasie rzeczywistym. Pakiet protokołu RTP zawiera informację o typie przesyłanych danych, numerze seryjnym pakietu oraz zawiera znacznik czasu. RTP nie gwarantuje jakości usługi (QoS).

SPX (ang. Sequenced Packet Exchange) to protokół warstwy transportowej (czwartej warstwy modelu OSI) będący częścią stosu IPX/SPX opracowanego przez firmę Novell na potrzeby środowiska sieciowego NetWare. Wzorowany na protokole SPP stosu protokołów XNS firmy Xerox.

Zapewnia komunikację połączeniową pomiędzy węzłami sieci i gwarantuje bezbłędne dostarczenie przesłanych danych.

Bardzo popularny w latach dziewięćdziesiątych, aktualnie wyparty przez zestaw protokołów TCP/IP, gdzie jego odpowiednikiem jest protokół TCP.

UDP (ang. User Datagram Protocol - Datagramowy Protokół Użytkownika) – jeden z podstawowych protokołów internetowych. Umieszcza się go w warstwie czwartej (transportu) modelu OSI.

Jest to protokół bezpołączeniowy, więc nie ma narzutu na nawiązywanie połączenia i śledzenie sesji (w przeciwieństwie do TCP). Nie ma też mechanizmów kontroli przepływu i retransmisji. Korzyścią płynącą z takiego uproszczenia budowy jest większa szybkość transmisji danych i brak dodatkowych zadań, którymi musi zajmować się host posługujący się tym protokołem. Z tych względów UDP jest często używany w takich zastosowaniach jak wideokonferencje, strumienie dźwięku w Internecie i gry sieciowe, gdzie dane muszą być przesyłane możliwie szybko, a poprawianiem błędów zajmują się inne warstwy modelu OSI. Innym przykładem może być protokół DNS lub VoIP.

UDP udostępnia mechanizm identyfikacji różnych punktów końcowych (np. pracujących aplikacji, usług czy serwisów) na jednym hoście dzięki portom (porównaj: socket). UDP zajmuje się dostarczaniem pojedynczych pakietów, udostępnionych przez IP, na którym się opiera. Kolejną cechą odróżniającą UDP od TCP jest możliwość transmisji do kilku adresów docelowych na raz (tzw. multicast).

Pakiety UDP (zwane też datagramami) zawierają oprócz nagłówków niższego poziomu nagłówek UDP. Składa się on z pól zawierających sumę kontrolną, długość pakietu oraz porty: źródłowy i docelowy.

Podobnie jak w TCP, porty UDP zapisywane są na dwóch bajtach (szesnastu bitach), więc każdy adres IP może mieć przypisanych 65536 różnych zakończeń. Z przyczyn historycznych, porty 0-1023 zarezerwowane są dla dobrze znanych usług sieciowych - dla aplikacji użytkownika przydziela się porty od 1024.

SCTP (ang. Stream Control Transmission Protocol) - czyli Protokół Sterowania Transmisją Strumieniową to protokół internetowy został zdefiniowany w 2000 roku przez IETF (RFC 2960) a dokładnie przez jej Signaling Transport (SIGTRAN) working group. Jako protokół transmisyjny, SCTP jest bardzo podobny do protokołów TCP i UDP. Zapewnia on działanie takich samych usług jak TCP - zapewnienie wytrzymałego, uporządkowanego transportu informacji z kontrolą zatłoczenia. Podczas gdy TCP jest protokołem strumieniowym przesyłającym pakiety bitów, SCTP służy do przesyłania pakietów z ukształtowanymi wiadomościami.

 

Protokoły

...

Zgłoś jeśli naruszono regulamin