Odpowiedź z 195.164.175.66: bajtów=32 czas=1033ms TTL=53
Transkrypt
Odpowiedź z 195.164.175.66: bajtów=32 czas=1033ms TTL=53
MODEL OSI A INTERNET W Internecie przyjęto bardziej uproszczony model sieci. W modelu tym nacisk kładzie się na warstwy sieciową i transportową. Pozostałe warstwy łączone są w dwie warstwy - warstwę dostępu do sieci i aplikacji MODEL OSI A PRZESYŁ DANYCH W praktyce do nielicznych przypadków należą sieci oparte na pojedynczym nośniku fizycznym. Większość sieci składa się z wielu podsieci połączonych ze sobą urządzeniem sieciowym. O tym jakie to będzie urządzenie decyduje rodzaj obydwu podsieci i funkcje dodatkowe jaki powinno spełniać urządzenie Pojedynczy system sieciowy Połączenie systemów sieciowych ADRESACJA IPv4 Struktura adresu IP: ADRES IP = ADRES SIECI + ADRES HOSTA ODWZOROWYWANIE ADRESÓW WARSTWY 2 I 3 ARP (ang. Address Resolution Protocol) W schemacie adresowania TCP/IP każdy komputer ma przypisany 32-bitowy adres jednoznacznie identyfikujący go w sieci. Jednak dwie maszyny mogą się komunikować tylko wtedy kiedy znają nawzajem swoje adresy fizyczne. Zachodzi więc potrzeba przekształcenia adresu IP na adres fizyczny tak aby informacja mogła być poprawnie przesyłana. Gdy komputer A chce odwzorować adres IP komputera B, wówczas rozgłasza za pomocą protokołu ARP specjalny pakiet, w którym prosi komputer o podanym adresie IP, aby dał odpowiedź zawierającą jego adres fizyczny. Wszystkie komputery w sieci otrzymują tę prośbę, ale tylko komputer B rozpoznając swój adres IP wysyła odpowiedź która zawiera jego adres fizyczny. DZIAŁANIE PROTOKOŁU ARP PROTOKÓŁ RARP RARP (ang. Reverse Address Resolution Protocol) Adres IP jest zwykle przechowywany w pamięci zewnętrznej komputera, skąd jest pobierany w trakcie ładowania systemu operacyjnego. Komputery bez dysku twardego pobierają adres IP z maszyny uprawnionej do świadczenia usług RARP, po przesłaniu zapytania z własnym adresem fizycznym. Komputer A rozgłasza zapytanie o swój adres IP do wszystkich komputerów wraz ze swoim adresem fizycznym, wskazując siebie jako odbiorcę. Zapytanie dociera do wszystkich komputerów w sieci, ale przetwarzają je i udzielają odpowiedzi tylko maszyny uprawnione do świadczenia usług RARP. PROTOKÓŁ IP – PODSTAWY IP (ang. Internet Protocol) definiuje mechanizm zawodnego przenoszenia bez użycia połączenia. Zawiera trzy podstawowe grupy definicji: definicję podstawowej jednostki przesyłanych danych (ang. PDU) definicję operacji trasowania (ang. Routing) wykonywanej przez oprogramowanie IP (wybieranie trasy, przez którą będą przesyłane PDU) definicje reguł służących do realizacji idei zawodnego przenoszenia pakietów ( opis, w jaki sposób routery powinny przetwarzać pakiety, jak powinny być generowane komunikaty o błędach, kiedy pakiety mogą być porzucone itp) PROTOKÓŁ IP – PODSTAWY IP jest przykładem sieci protokołu bezpołączeniowego co oznacza, że jest w stanie obsługiwać wymianę danych pomiędzy dwoma hostami z pominięciem fazy uprzedniego nawiązywania połączenia. IP nie zapewnia żadnej korekcji błędów, nie jest też w stanie zapewnić w skrajnym przypadku, że część pakietów w ogóle nie zaginie. IP ukrywa strukturę sieci przed użytkownikiem co oznacza, że z punktu widzenia użytkownika tworzy sieć wirtualną pomiędzy jego komputerem a komputerem, z którym wymieniane są dane; „przezroczystość” sieci uzyskuje się poprzez tzw. enkapsulacje. Pozwala to na łatwą instalację i konfigurację sieci opartych o IP szczególnie w przypadku podłączania wielu różnych sieci do gatway’a. IP obsługuje tzw. fragmentację czyli transmitowane PDU na mniejsze jednostki. dzieli poszczególne DATAGRAM IPv4 Słowo 32 bitowe Słowo 16 bitowe bajt Słowo 16 bitowe bajt 4 bity 4 bity Wersja protokołu IP Długość nagłówka n*4 Bajty 3 bity Czas życia Datagramu TTL Długość całkowita datagramu w bajtach Typ usługi TOS Identyfikacja 13 bitów Przesunięcie fragmentacji Znaczniki Protokół przesyła-jący dane Suma kontrolna nagłówka Adres źródłowy datagramu - aaa.bbb.ccc.ddd Adres docelowy datagramu - xxx.yyy.zzz.vvv Opcje nagłówka (mogą nie występować) Dane przesyłane w pakiecie DATAGRAM IPv4 - cd Słowo 32 bitowe Słowo 16 bitowe bajt 4 bity Wersja protokołu IP Słowo 16 bitowe bajt 4 bity Długość nagłówka n*4 Bajty 3 bity Typ usługi TOS 13 bitów Długość całkowita datagramu w bajtach Obecna wersja – 4 Docelowo – IPv6 z m.in. 128 bitowym adresem, oraz mechanizmami QoS TOS – type of service 3 bitowy wskaźnik priorytetu danych (0-7) Flagi optymalizacji trasy: „minimalne opóźnienia”,„maksymalna przepustowość”, „najlepsza poprawność”,”najniższy koszt połączenia” DATAGRAM IPv4 - cd Słowo 32 bitowe Słowo 16 bitowe bajt 4 bity Słowo 16 bitowe bajt 4 bity Identyfikacja Numer „seryjny” utworzonego przez nadawcę datagramu. Wraz jego adresem IP jednoznacznie identyfikuje każdy datagram w całym Intenecie. 3 bity 13 bitów Znaczniki Przesunięcie fragmentacji Umożliwia przesłanie datagramów przez podsieci o różnych MTU Używane są dwie flagi: Nie fragmentować Pakiet zfragmentowany DATAGRAM IPv4 - cd Słowo 32 bitowe Słowo 16 bitowe bajt 4 bity Słowo 16 bitowe bajt 4 bity Czas życia Datagramu TTL 3 bity Protokół przesyłający dane 13 bitów Suma kontrolna nagłówka Zmniejszany po każdym przejściu przez węzeł Zabezpiecza przed zapętleniem datagramu w sieci Użyteczny przy próbach śledzenia trasy (traceroute) ICMP (Internet Control Message Protocol) IGMP (Internet Group Management Protocol) UDP (User Datagram Protocol) TCP (Transmission Control Protocol) Zabezpiecza przed pojedynczymi i seryjnymi błędami w nagłówku. Prosty algorytm (suma modulo 2) DATAGRAM IPv4 - cd Słowo 32 bitowe Słowo 16 bitowe bajt 4 bity Słowo 16 bitowe bajt 4 bity 3 bity 13 bitów Opcje nagłówka (mogą nie występować) To pole nagłówka o zmiennej długości w zamierzeniach autorów umożliwiało uzyskanie m.in. następujących funkcji: ograniczenia dotyczące bezpieczeństwa, zapisu trasy podróży przez sieć, zapisu czasu wyjścia datagramu z danego węzła sieci (router), ustalenie swobodnej trasy routowania - lista węzłów przez które datagram musi przejść (pomiędzy nimi droga może być wybierana dowolnie), ustalenie dokładnej trasy routowania – datagram nie może przejść inną drogą niż wskazana na liście ANALIZA ZAWARTOŚCI DATAGRAMU Procedury te są przeprowadzane na każdym, otrzymanym przez gateway datagramie IP. Procedury te odnoszą się wyłącznie do określonych miejsc w datagramie sprawdzenie długości nagłówka sprawdzenie wersji użytego protokołu IP sprawdzenie długości komunikatu IP sprawdzenie czy wartość TTL >0 Jeżeli w wyniku tych testów uzyskano negatywny rezultat to datagram jest unieważniany Jeżeli wynik jest pozytywny to sprawdzany jest adres docelowy Jeżeli adres docelowy wskazuje na tego gateway’a to następuje odpowiednie przetwarzanie datagramu. Jeśli nie to datagram zostaje przekazany do procedury obsługującej dalszy routing PROTOKÓŁ ICMP Protokół ICMP (ang. Internet Control Message Protocol) umożliwia ruterom wysyłanie do innych węzłów komunikatów o błędach i komunikatów kontrolnych – zapewnia komunikację między oprogramowaniem IP na jednej maszynie a oprogramowaniem IP na innej. Podobnie jak ruch innego rodzaju, komunikaty ICMP podróżują w intersieciach w częściach datagramów IP przeznaczonych na dane. Datagram IP 20 bajtów Nagłówek IP Komunikat ICMP UWAGA: Gdy datagram powoduje błąd, ICMP może jedynie powiadomić pierwotnego nadawcę o przyczynie. Nadawca musi otrzymaną informację przekazać danemu programowi użytkownika albo podjąć inne działanie mające na celu uporanie się z tym problemem. PROTOKÓŁ ICMP - cd Komunikaty protokołu ICMP są przesyłane wewnątrz datagramów IP. Każdy komunikat ma własny format. Jednak wszystkie rozpoczynają się takimi samymi polami: typ, kod oraz suma kontrolna Dalsze pola zależą od typu komunikatu ICMP. Bajty. 1 Typ 2 Kod 3 4 Suma kontrolna pole typ - określa jeden z 15 typów komunikatu pole kod - opisuje kod błędu pole suma kontrolna - zawiera szesnastobitowe jedynkowe uzupełnienie słów komunikatu ICMP. Uwaga: komunikaty o błędach ICMP nie są nigdy generowane jako odpowiedzi na datagram, którego adres źródłowy jest zerowy, jest adresem loopback, adresem typu brodcast lub multicast lub wysłany pod adres typu broadcast lub multicast. KOMUNIKATY ICMP KOMUNIKATY ICMP - cd PROGRAM PING Nazwa ping jest skrótem od Packet InterNet Groper. Program ping wysyłający zapytanie o echo nazywany jest klientem, a host, który jest pingowany, określany jest mianem serwera. UWAGA: Podobnie jak w przypadku innych komunikatów ICMP zawierających zapytanie, serwer musi odpowiedzieć wykorzystując pola identyfikator i numer sekwencyjny. Ponadto wszystkie opcjonalne dane wysłane przez klienta muszą być umieszczone w odpowiedzi. Numer sekwencyjny rozpoczyna się od 0 i jest zwiększany za każdym razem, kiedy wysyłane jest kolejne zapytanie o echo. Polecenie ping wyświetla numer sekwencyjny każdego z powracających pakietów, pozwalając na stwierdzenie braku pakietów, przemieszania się pakietów lub ich powielania. PROGRAM PING - cd ping kik.pcz.czest.pl SUKCES Badanie kik.pcz.czest.pl [195.164.175.66] z użyciem 32 bajtów danych: Odpowiedź z 195.164.175.66: bajtów=32 czas=1033ms TTL=53 Odpowiedź z 195.164.175.66: bajtów=32 czas=1222ms TTL=53 Odpowiedź z 195.164.175.66: bajtów=32 czas=480ms TTL=53 Odpowiedź z 195.164.175.66: bajtów=32 czas=170ms TTL=53 Statystyka badania dla 195.164.175.66: Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0 (0% utraconych), Szacunkowy czas błądzenia pakietów w milisekundach: Minimum = 170ms, Maksimum = 1222ms, Średnia = 726ms ping ftp.task.gda.pl NIEPOWODZENIE Badanie korweta.task.gda.pl [153.19.253.204] z użyciem 32 bajtów danych: Odpowiedź z 153.19.253.204: bajtów=32 czas=70ms TTL=251 Upłynął limit czasu żądania. Odpowiedź z 153.19.253.204: bajtów=32 czas=110ms TTL=251 Upłynął limit czasu żądania. OPCJA ZAPISU TRASY Wykonanie polecenie ping -R powoduje, że każdy ruter, który obsługuje datagram, dodaje do pola opcji swój adres IP. Kiedy datagram osiągnie punkt docelowy, lista adresów IP powinna zostać przekopiowana do wysyłanej odpowiedzi ICMP. Wszystkie rutery, obsługujące datagram odpowiedzi, również dodają swoje adresy do tej listy. Kiedy ping odbierze odpowiedź, wyświetla listę adresów IP. PROGRAM TRACEROUTE Program Traceroute wykorzystuje pola ICMP i TTL w nagłówku IP. Pole TTL (czas życia) jest polem 8-bitowym, które wysyłający otwiera, nadając mu pewną wartość. Zalecaną wartością początkową jest 64. Każdy ruter, który obsługuje datagram na jego trasie w sieci, musi zmniejszyć tę wartość TTL o liczbę sekund, zazwyczaj jeden, w czasie których ruter przetrzymuje datagram. Ponieważ większość ruterów przetrzymuje datagram przez mniej niż jedną sekundę, pole TTL, zmniejszane za każdym razem o jeden, staje się dość dokładnym licznikiem przeskoków. W normalnych warunkach żaden system nie powinien otrzymać datagramu z TTL równym 0. Zamiast obsługiwać takie datagramy, host zwraca je temu hostowi, który był źródłem komunikatu ICMP „time exceeded". PROGRAM TRACEROUTE - cd tracert pingwin.icm.edu.pl Śledzenie trasy do pingwin.icm.edu.pl [193.219.28.245] 1 2 3 4 5 6 7 8 <10 ms <10 ms <10 ms defgate.matinf.pcz.czest.pl [195.164.172.65] <10 ms <10 ms <10 ms access.pcz.czest.pl [195.164.172.34] 1242 ms 811 ms 631 ms Katowice-gw2-a3.nask.pl [193.59.205.25] 1232 ms 701 ms 1052 ms Katowice-gw-s1-4.nask.pl [194.92.0.113] * 2323 ms 1362 ms Warszawa-gw-hssi5-1.nask.pl [193.59.202.50] 1192 ms 1141 ms * NIX-r1-atm0-0-5.nask.pl [195.187.0.250] 691 ms 281 ms 440 ms nask-icm.icm.edu.pl [148.81.175.250] 221 ms 1141 ms 1552 ms pingwin.icm.edu.pl [193.219.28.245] Śledzenie zakończone.