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.