Protokoły komunikacyjne.doc

(32 KB) Pobierz
Protokoły komunikacyjne

Protokoły komunikacyjne.


Hi all..

Nie będę pisał o TCP/IP, bo już jest o tym art. na hax.

Zacznę od ARP/RARP

ARP (Adress Resolution Protocol) to pakiet, który jest rozsyłany do wszystkich interfejsów sieci fizycznej, zawierający adres IP interfejsu, z którym nadawca chce się komunikować, a pozostałe komputery nie zwracają uwagi na owy pakiet. Zapamiętują tylko powiązanie adresu IP z adresem sprzętu nadawcy. Komputer - odbiorca w odpowiedzi podaje swój adres sprzętowy w celu zapisania go w buforze pamięci. Przyszłe pakiety będą już wysyłane na właściwy adres fizyczny.
Adres ARP nie jest protokołem internetowym, nie wychodzi poza sieć lokalną, więc nie musi być routowany. ARP jest rozsyłany do wszystkich interfejsów sieci lokalnej za pomocą pakietów.

RARP Protokół RARP jest w pewnym sensie odwrotnością protokołu ARP. RARP rozprzestrzenia adres sprzętowy komputerów w sieci oczekując, że demon serwera zarządzającego adresami w sieci lokalnej odpowie, podając wolny adres IP. Dzięki temu bezdyskowe komputery i urządzenia sieciowe mogą otrzymywać własne IP. Komunikaty RARP i ARP są rozprzestrzeniane za pomocą bramek ethernetowych do każdego interfejsu w sieci lokalnej.

Demon RARP (RARPd) jest usługą odpowiadającą na zapytania RARP. RARP jest zazwyczaj używany przez bezdyskowe systemy podczas uruchamiania systemu operacyjnego do wysyłania zapytań o ich adresy sieciowy. W zapytaniu tym zostaje umieszczony 48-bitowy sprzętowy adres interfejsu sieciowego (MAC - Media Acces Control), po czym zostaje ono wysyłane do każdego dostępnego w sieci lokalnej komputera. Zadaniem demona RARP jest odpowiadanie na tego typu zapytania. Jeśli demon znajdzie u siebie lub w serwerze DNS odpowiedni rekord, kojarzący podany adres sieciowy z adresem IP, umieszcza go w odpowiedzi.

Podmienianie pakietów protokołów RARP oraz ARP (spoofing) daje hackerowi możliwość pobierania adresu IP oraz korzystania z sieci w sposób bardzo trudny do wykrycia dla pozostałych użytkowników.

UDP - User Datagram Protocol

Protokół UDP działa w sposób bezpołączeniowy. Oznacza to, że zapewnia ten sam zawodny sposób dostarczania pakietów co protokół IP. W protokole UDP na początku transmisji nie są wysyłane pakiety SYN/ACK, aby zapewnić niezawodność transmisji (odwrotnie niż w TCP). W protokole UDP nie uwzględniono jakiejkolwiek kontroli transmisji czy korekcji błędów. W konsekwencji pakiety UDP mogą się zgubić, zduplikować, lub przybyć w innej kolejności, lecz ponieważ UDP wykorzystuje znacznie mniejsze nagłówki, pozwala lepiej wykorzystać przepustowość łączy oraz szybciej przetwarzać pakiety, niż ma to miejsce w przypadku protokołu TCP.

UDP jest wykorzystywane głównie w sytuacjach, gdy kontrola transmisji jest zapewniona przez protokoły wyższych warstw. Przykładowymi usługami wykorzystującymi UDP są NFS, SNMP, TFTP i DNS.

Pakiety protokołu UDP nazywane są datagramami. Datagramy te transportowane są przez Internet za pomocą protokołu IP i zawierają nagłówek UDP oraz dane. W uproszczeniu - UDP dołąza nagłówek do danych wysyłanych przez użytkownika, a następnie przesyła je dalej do IP, gdzie dodawany jest kolejny nagłówek, po czym całość jest umieszczana w ramce i wysyłana Internetem.

UDP stosuje tzw. Multiplexing (metoda jednoczesnego przesyłania wielu sygnałów za pomocą jednego kanału informacyjnego) oraz odwrotny do niego demulitiplexing (proces rozdzielania strumieni danych połączonych uprzednio w jeden strumień za pomocą miltiplexingu) pomiędzy warstwą protokołu i oprogramowaniem użytkowym. Pozwala to na jednoczesne wykorzystywanie protokołu UDP przez wiele par aplikacji. Do miltuplexingu i demultiplexingu datagramów protokołu UDP wykorzystywane są porty UPD.

Każda aplikacja, jeśli chce wysłać jakikolwiek datagram UDP, musi oprócz adresu docelowego znać numer portu UDP. Po stronie odbiorcy następuje sprawdzenie czy numer portu, na który został wysłany datagram, jest przypisany nasłuchującej aplikacji. Jeśli tak - zostanie jej niezwłocznie przekazany, w przeciwnym wypadku zwrócona zostanie na adres i port nadawcy o błedzie (ICMP terror message).

ICMP - Internet Control Message Protocol

ICMP jest protokołem służącym do przesyłania różnego rodzaju pakietów informujących o błędach i innych ważnych sytuacjach oraz do kontrolowania kondycji połączenia. Przykładem może być jakże dobrze znane i przydatne nam polecenie ping.

Transportowanie pakietów ICMP jest procesem dwustopniowym. Najpierw komunikat ICMP dołącza się do pakietu IP, który jest przez Internet umieszczany i transportowany w postaci ramki. W zasadzie protokół ICMP używa takiego samego, zawodnego sposobu komunikowania się co datagramy UDP. Oznacza to więc, że komunikaty ICMP mogą również zostać pogubione i powielone.

Datagram ICMP może zawierać jeszcze nagłówek i dane pakietu, który spowodował jego wysłanie (np. po błedzie). Pomaga to ustalić aplikację i protokół które stały się przyczyną błędu.

Jest wiele typów komunikatów ICMP:

Echo Reply (0) oraz Echo Request (8) Służą do testowania kanału komunikacyjnego między dwoma komputerami. Odbiorca datagramu ICMP Echo Request jest proszony o odpowiedź na ping. Odpowiedź jest  formułowana za pomocą ICMP Echo Reply. Znaczenie tego jest chyba wiadome, więc nie muszę go wyjaśniać..

Destination Unreachable (3) Używa się tego typu komunikatu ICMP w przypadkach: gdy router lub bramka nie potrafią ustalić kierunku, w którym powinien być wysłany pakiet, gdy parametr TTL pakietu zostanie zmniejszony do 0, gdy określony protokól lub aplikacja w miejscu przeznaczenia pakietu jest nieaktywna.

Source Quench (4) Gdy bufor odebranych danych wypełni się, to pakiet, który się w nim nie zmieści, zostanie porzucony. Dla każdego z tych pakietów wygenerowany jest datagram ICMP Source Quench, który dla nadawcy porzuconych pakietów jest sygnałem do zwolnienia strumienia wysyłanych danych.

Route Redirect (5) Informacje o bieżącej topologii sieci są co pewien czas odświeżane i rozsyłane do sąsiednich sieci, co pozwala zachować aktualność tablic routingu. Gdy router zidentyfikuje nadawcę używającego niewłaściwej trasy dla swoich pakietów, po przetworzeniu pakietu wysyła do jego nadawcy datagram ICMP Route Redirect informujący o istnieniu lepszej trasy dla jego pakietów. Routery mogą powiadamiać w ten sposób komputery jedynie podłączone bezpośrednio z nimi.

Datagram Time Exceeded (11) Komunikat tego typu zostaje wysłany przez router lub bramkę w sytuacji, gdy napotkają one datagram z parametrem TTL (time to live) równym 0. Parametr ten jest ustawiany w momencie wysyłania pakietu, a następnie zmniejszany sukcesywnie przy przejściu przez każdy router lub bramkę. Urządzenie napotykające datagram, którego TTL=0, ma obowiązek go porzucić, a następnie wysłać do nadawcy komunikat ICMP Datagram Time Exceeded.

Datagram Parametr Problem (12) Używany jest w wyniku napotkania datagramu, którego nagłówek utrudnia lub uniemożliwia jego dalsze przetwarzanie. Datagram jest w takim przypadku porzucany, po czym nadawcy zwracany jest komunikat ICMP Datagram Parametr Problem.

Timestamp Request (13) oraz Timestamp Reply (14) Komunikaty te używane są do synchronizowania zegarów komputerowych w sieci

Information Request (1) oraz Information Reply (16) Używane jako rozwiązanie alternatywne dla RARP. Za ich pomocą komputer może uzyskiwać adres IP z sieci, w którek sięznajduje. W celu realizacji rozprzestrzeniany jest datagram ICMP Information Request zawierający jedynie część adresu opisującą sieć do której należy komputer, oczekując odpowiedzi w postaci ICMP Information Reply zawierającej pozostałą część adresu.

Adress Mask Request (17) oraz Adress Mask Reply (18)
Komunikaty tego typu używane są, podobnie jak Information Request/Reply, do otrzymania maski podsieci, w której znajduje się komputer. ICMP Adress Mask Request może być wysyłany bezpośrednio do urządzenia, które udzieli tej informacji (router, bramka) lub też jest rozprzestrzeniany w całej sieci lokalnej.

Nieodpowiednie użycie pakietu ICMP Route Redirect w stosunku do komputera w sieci może zaktualizować nieprawidłowo informacje w tabeli routingu routera. Jeśli ten komputer ponadto jest routerem lub bramką, możliwe jest dowolne skierowanie przetwarzanych przez niego datagramów.

To tyle.. mam nadzieję, że komuś się to na coś przyda.

Pozdro

...
Zgłoś jeśli naruszono regulamin