Stos TCP/IP

Ostatnio aktualizowano 12 marca 2006 r.

Teoria:

Model warstwowy
Model OSI dzieli procesy sesji komunikacyjne na siedem rozłącznych warstw funkcjonalnych. Odpowiadają one pewnemu naturalnemu ciągowi zdarzeń występującemu w trakcie sesji.

|----------------|----------------|
|  Nazwa modelu  |      Numer     |
|  odniesienia   |     warstwy    |
|      OSI       |       OSI      |
|----------------|----------------|
|    Aplikacji   |        7       |
|----------------|----------------|
|   Prezentacji  |        6       |
|----------------|----------------|
|      Sesji     |        5       |
|----------------|----------------|
|  Transportowa  |        4       |
|----------------|----------------|
|      Sieci     |        3       |
|----------------|----------------|
|  Łącza danych  |        2       |
|----------------|----------------|
|     Fizyczna   |        1       |
|----------------|----------------|

* Warstwa 1 - fizyczna - najniższa warstwa zwana warstwą fizyczną odpowiedzialna jest za wysyłanie lub odbieranie strumienia bitów. Warstwa ta dosłownie rozróżnia tylko zera i jedynynki , nie określa znaczenia wysyłanych lub otrzymywanych bitów.

* Warstwa 2 - łącza danych- pakowanie instrukcji, danych itd. w ramki. Ramka jest strukturą charakterystyczną dla warstwy łacza danych. Ramka jako taka zawiera informacje gwarantujące pomyślne przesłanie danych przez sieć do miejsca przeznaczenia. Dotarcie ramki do miejsca docelowego w stanie nienaruszonym oznacza pomyślne dostarczenie ramki. W takim razie musi być sprawdzana integralność zawartości ramki po jej dostarczeniu.

Warstwa łącza danych odpowiada za:
+ wykrywanie i naprawę błędów powstałych podczas procesu przesyłania + składanie ramek z binarnych strumieni danych odbieranych z warswty fizycznej

* Warstwa 3 - sieciowa - odpowiedzialna za ustalanie drogi ( trasy ) między komputerem wysyłającym a docelowym.

* Warstwa 4 - transportowa - odpowiada za integralność transmisji między dwoma punktami końcowymi. Badanie integralności przesłanych danych upodabnia tą wartwę do warstwy 2, jednak warstwa transportowa wysyła żądania ponownej transmisji danych, które zostały uznane za błędne, ustala także kolejność pakietów, których porządek dostarczenia może być naruszona z powodu przesłania ich różnymi trasami.

* Warstwa 5 - sesji - odpowiada za zarządzanie przepływem komunikacji w trakcie połączenia dwóch systemów komputerowych. Przepływ danych między systemami nosi właśnie nazwę sesji.

* Warstwa 6 - prezentacji - odpowiada za zarządzanie sposobem kodowania danych, np.: tłumaczy dane zapisane w systemie kodowania ASCII na system kodowania EBCDIC, może także wykonywać usługi szyfrowania danych.

* Warstwa 7 - aplikacji - mimo , iż ma nazwę pozwalającą sądzić iż związana jest z aplikacją użytkownika tak nie jest, tworzy zaś interfej między nim a usługami sieciowymi.

Protokół IP - Skrót IP oznacza Internet Protocol, skrót ten tłumaczony jest jako "protokół internetowy" lub według opracowań "protokół międzysieciowy".

Można powiedzieć, że protokół IP jest pierwszym poziomem abstrakcji, dzięki czemu protokoły wyższych warstw takie jak TCP czy UDP mogą traktować sieć jako pewne środowisko w którym komunikacja między komputerami opiera się tylko i wyłącznie o możliwości jakie udostępnia protokół IP.

Stawiamy tezę, iż protokół IP jest pewnym poziomem abstrakcji, "sieć IP" ma charakter bezpołączeniowy, oddziela nas w pewien sposób od warstwy fizycznej i łącza danych dając nam pewien rodzaj "interfejsu" w sposobach przesyłania danych. Z faktu, iż protokół IP jest protokołem bezpołączeniowym wynika, iż każdy datagram IP jest przekazywany niezależnie ( zawiera adres źródłowy nadawcy i docelowy adres odbiorcy, routery, które uczestniczą w transmisji danych między węzłami źródłowym i docelowym wykorzystują adres docelowy aby przekazać datagram do odpowiedniego węzła sieci ) istnieje więc prawdopodobieństwo, iż kolejne datagramy będą docierać do docelowego węzła IP różnymi drogami. Różne drogi przekazywania skutkują opóźnieniami transmisji pomiędzy węzłami, zdarzyć się może więc, iż datagramy dostarczane są do węzła docelowego w odmiennej kolejności niż zostały wysłane. Problemem dostarczania pakietów w odpowiedniej kolejności ( tzw.: problem sekwencjonowania - sequencing ) zajmują się protokoły wyższych warstw.

Dane przenoszone są za pomocą pakietów IP ( nazywanych także datagramami IP ). Datagram IP zwiera specjalny nagłówek, który identyfikuje po częsci sam pakiet jak i w pewien sposób jego zawartość ( np.: priorytet wiadomości, czy wiadomość jest sfragmentowana etc ) oraz dane pochodzące z protokołów warstwy wyższej, należy sobie uświadomić, iż nagłówek zawiera informacje niezbędne do korzystania z warstwy IP.

Format Datagramu IP:
Hierarchiczna struktura

Zawartość nagłówka IP:

Nagłówek IP

* Wersja ( Version Number - 4 bity ) - wskazuje wersję protokołu IP, wykorzystywaną przez pakiet ( Tym samym format i strukturę nagłówka ). Obecnie stosuje się IPv4 ( Czwarta wersja protokołu ). Pole wersji jest na bierząco kontrolowane przez system odbierający pakiety, jeżeli system ten nie obsługuje danej wersji protokołu to odrzuca pakiet.

* Długość nagłówka ( IHL - Internet Header Length ) ( 4 bity )- informuje komputer odbierający dane kiedy ma zakończyć czytanie nagłówka i zacząć czytanie danych. Liczba ta wskazuje początek danych. Na długość wpływają opcje i wypełnienie, których wielkość ulega zmianie.

* Typ obsługi (TOS - Type of service - 8 bitów) - zwykle nie jest wykorzystywane, określa znaczenie pakietu za pomocą pewnej wartości liczbowej, im wyższa liczba tym większy priorytet obsługi. Dokładniej choć za pomocą mniej naukowych słów, pole to określa, żądaną jakość usługi, z jaką zostaną przesłane dane. Pole Type of Service dzieli się na 5 podpól:

Bity 0-2:  Pierszeństwo
Bit    3:  0 = Zwykłe Opóźnienie,    1 = Niskie Opóźnienie
Bity   4:  0 = Zwykła Przepustowość, 1 = Wysoka Przepustowość
Bity   5:  0 = Zwykła Niezawodność,  1 = Wysoka Niezawodność
Bit  6-7:  Zarezerwowane dla późniejszych zastosowań
   0     1     2     3     4     5     6     7
+-----+-----+-----+-----+-----+-----+-----+-----+
|                 |     |     |     |     |     |
|   Pierszeństwo  |  O  |  P  |  N  |  Z  |  Z  |
|                 |     |     |     |     |     |
+-----+-----+-----+-----+-----+-----+-----+-----+
Pierszeństwo:
111 - Network Control - Sterowanie sieciowe
110 - Internetwork Control - Sterowanie międzysieciowe
101 - CRITIC/ECP - Krytyczny
100 - Flash Override - Błyskawiczny - priorytetowy
011 - Flash - Błyskawiczny
010 - Immediate - Natychmiastowy
001 - Priority - Priorytetowy
000 - Routine - Zwykły

* Długość całkowita ( Total Length - 16 bitów ) - całkowita długość pakietu w bajtach, jeżeli przekroczy ona 65535 bajtów system odbierający uzna pakiet za uszkodzony

* Identyfikacja ( Identification - 16 bitów ) - jeżeli istnieją przynajmniej dwa pakiety, zawartość tego pola identyfikuje kolejności pakietu, pakiety afragmentowane zachowują oryginalne numery identyfikacyjne

* Znaczniki ( określane inaczej jako Flagi - Flags - 3 bity ) - pierwszy bit jest całkowicie ignorowany, gdy ustawiony jest znacznik DF ( Do not fragment ) fragmentacja pliku jest uniemożliwiona, zaś gdy ustawiony jest znacznik MF ( More Fragments ) oznacza to, że nadejdą kolejne fragmenty pakietu, w ostatnim fragmencie, który nadejdzie bit ten jest ustawiony na 0. Do lepszego obrazu całości przydaje się poniższa lista:
- Bit 0: zarezerwowany, musi być ustawiony na zero.
- Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment.
- Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments.

* Przesunięcie ( Offset - 13 bitów ) - wskazuje gdzie powinien być usytuowany dany fragment pakietu. Innymi słowy gdzie jest miejsce tego fragmentu w datagramie.

* Czas życia ( TTL - Time To live ) - czas ten wyznacza maksymalny okres, w którym pakiet pozostaje w stanie przesyłania. W przypadku odrzucenia lub utraty pakietu w trakcie przesyłania do komputera wysyłającego zwracany jest wskaźnik wystąpienia utraty. Komputer wysyłający może wówczas ponownie wysłać pakiet. Jeżeli w polu ustawione jest 0 datagram musi zostać zniszczony, głównym zamysłem stworzenia pola TTL było stworzenie pewnych granic, życia pakietu w sieci.

Protokół ( Protocol ) ( 8 bitów ) - określa jaki protokół z innego poziomu obsługuje ten pakiet ( informacja o protokole warstwy wyższej ).

* Suma kontrolna ( Header Checksum - 16 bitów )- wartość weryfikująca poprawność nagłówka i tylko nagłówka. Należy pamiętać, że skoro część nagłówka się zmienia ( np.: TTL ), suma kontrolna musi być przeliczana na każdym etapie gdzie takie zmiany wystąpiły.

* Adres źródłowy ( Source Adress - 32 bity ) - pole wskazujące adress komputera wysyłającego

* Adres docelowy ( Destination Adress - 32 bity ) - pole wskazujące adres komputera odbierającego

* Opcje i wypełnienie ( Options and Padding ) - jest to nieobowiązkowe pole, lecz wykorzystywane kiedy chcemy wskazać: zabezpieczenia, źródłowy wybór trasy ( dokładny czy swobodny ), rekord trasy i posługiwanie się znacznikami czasu.


Protokół ICMP (Internet Control Message Protocol) - jest integralną częścią protokołu IP, jego zadaniem jest sygnalizacja błędów oraz diagnostyka sieci. Komunikat ICMP jest zapakowany w datagram IP, dlatego też jak UDP jest protokołem bezpołączeniowym i nie gwarantuje dostarczenia komunikatu. Widać wyraźnie pewną sprzeczność bowiem protokół ICMP wykorzystuje wsparcie protokołu IP tak jakby był "wysokopoziomowym" protokołem lecz jest jego integralną częścią. Komunikaty ICMP wysyłane są w kilku sytuacjach: dla przykładu kiedy datagram nie może dotrzeć do swojego miejsca przeznaczenia. Aby nie powodować powstawania komunikatów o komunikatach, za pomocą tego protokołu przesyłane są jedynie informacje o kłopotach z datagramami IP.

Komunikaty ICMP wysyłane są za pomocą zwykłego nagłówka IP, pierwszy oktet "porcji" danych to pole typu ICMP, to pole informuje o formacie pozostałych danych datagramu ( identyfikuje komunikat ). Drugie 8 bitowe pole kod przechowuje dalsze informacje na temat komunikatu. Ostatnie pole datagramu ICMP to suma kontrolna odnoszaca się jednak tylko do komunikatu ICMP. Trzeba zauważyć, że pole Protocol jest ustawione na ICMP = 1. Adres źródłowy zawiera adres bramy która stworzyła komunikat ICMP. Adres docelowy zawiera adres bramki lub jednostki do której powinna zostać wysłana wiadomość. Oprócz tego komunikaty ICMP oznajmiające o błędach zawsze zawierają nagłówek i pierwsze 64 bity danych datagramu, z którym były problemy.

Typy komunikatów ICMP oraz ich opis:

* Echo Reply ( Typ 0 ) oraz Echo Request ( Typ 8 ) - służą do testowania kanału komunikacyjnego pomiędzy dwoma komputerami. Odbiorca datagramu ICMP Echo Request jest proszony o odpowiedź na tzw. ping. Odpowiedź jest formułowana za pomocą datagramu ICMP Echo Reply. Dzięki temu nadawca może stwierdzić czy jest możliwość nawiązania połączenia z odbiorcą, oraz sprawdzić bieżącą kondycję połączenia z odbiorcą.

* Destination Unreachable ( Typ 3) - tego typu komunikatu używa się w sytuacjach gdy: router lub bramka nie potrafią ustalić kierunku w którym powinien być wysłąny pakiet, gdy parametr TTL zostanie zmniejszony do 0, gdy pakiet musi zostać podzielony na fragmenty, ale ma ustawioną flagę Don't Fragment, gdy określony protokół lub aplikacja w miejscu przeznaczenia pakietu jest nieaktywna, gdy odległość do sieci docelowej wynosi nieskończoność. Kody jakie w tym wypadku będzie mogł zawierać komunikat ICMP to:
+ 0 = net unreachable ( sieć nieosiągalna )
+ 1 = host unreachable ( docelowa stacja robocza nieosiągalna )
+ 2 = protocol unreachable ( protokół niedostępny )
+ 3 = port unreachable ( port nieosiągalny )
+ 4 = fragmentation needed and DF set ( potrzeba fragmentacji, ustawiona flaga DF )
+ 5 = source route failed

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

* Route Redirect ( Typ 5 ) - informacje o bieżącej topologii sieci są co pewien czas odświeżane i wysyłane do sąsiednich sieci, co pozwala na zachowanie aktualnych tablic routingu. Gdy tylko router zidentyfikuje nadawcę używającego niewłaściwej trasy dla swoich pakietów, po przetworzeniu pakietu wysyła do nadawcy datagram ICMP Route Redirect informujący o istnieniu lepszej trasy dla jego pakietów.

* Datagram Time Exceeded ( Typ 11 ) komunikat ten jest wysyłany przez router albo bramkę w sytuacji gdy napotkają one datagram z parametrem TTL równym 0. Urządzenie napotykające datagram TTL = 0 ma obowiązek go porzucić, a następnie wysłać do nadawcy komunikat ICMP Datagram Time Exceeded. Gdy urządzenie składające zfragmentowane datagramy nie może złożyć datagramu w czasie na to przewidzianym. Kody jakie zawiera ten komunikat ICMP:
+ 0 = time to live exceeded in transit ( podczas przesyłania pakietu TTL został obniżony do 0 - wysyłane przez router lub bramkę )
+ 1 = fragment reassembly time exceeded ( czas na złożenie pakietu minął - wysyłane przez stacje roboczą )

* Datagram Parameter Problem ( Typ 12 ) używany jest w wyniku napotkania datagramu, którego nagłówek utrudnia, lub uniemożliwia jego dalsze przetwarzanie. W tym przypadku datagram jest porzucany, a jego nadawcy zwracany jest komunikat ICMP Datagram Parameter Problem. Potencjalnym powodem takiego komunikatu, mogą być niewłaściwe argumenty w opcjach nagłówka IP. Komunikat zwraca wskazanie na parametr pakietu, który spowodował problem.

* Timestamp Request ( Typ 13 ) i Timestamp Reply ( Typ 14 )- używa się ich do synchronizowania zegarów komputerów w sieci.

* Information Request ( Typ 15 ) oraz Information Reply ( Typ 16 ) - za ich pomocą komputer może uzyskać adres IP w sieci, w której się znajduje. W celu realizacji rozprzestrzeniany jest datagram ICMP Inforamtion Request zawierający jedynie część adresu opisującą sieć do której należy komputer, oczekując odpowiedzi w postaci ICMP Information Reply zawierającą pozostałą część adresu IP tego komputera. Jest to sposób dla komputera do poznania sieci w której się znajduje.

* Adress Mask Request ( Typ 17 ) oraz Adress Mask Reply ( Typ 18 ) - komunikaty te używane są 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.


Transmission Control Protocol ( TCP - Protokół Sterowania Transmisją ) - jest bardzo ważną usługą, metodą gwarantowanego dostarczenia danych. Mechanizm niezawodnościowy komunikacji TCP obejmuje całą drogę transmisji danych pomiędzy dwoma procesami aplikacyjnymi, pracującymi w dwóch różnych systemach komputerowych. Jego realizacja opiera się na usługach będących nadbudową funkcji protokołu IP. Protokół IP ma charakter bezpołączeniowy i nie gwarantuje dostarczenia pakietów. Architektura TCP opiera się na dość słusznym założeniu, że protokół IP jest zawodny i obudowuje go w usługi zapewniające powodzenie komunikacji. Podczas gdy protokół IP jest implementowany na stacjach i routerach, protokół TCP jest standardowo obsługiwany wyłącznie przez stacje - jako punkty końcowe wymagające niezawodnego mechanizmu transmisji. Protokoły TCP i UDP położone są w ISO/OSI w warstwie 4 - transportowej.

Połączenie - zanim jakiekolwiek dane zostaną przesłane przy użyciu protokołu TCP, proces aplikacyjny musi ustanowić połączenie. W kilku słowach połączenia "łączą" numery portów nadawcy i odbiorcy - jest to pewien mechanizm identyfikacji punktów końcowych połączenia, więc punkt końcowy połączenia definiowany jest jako para wartości, obejmująca adres IP i numer portu ( służy on do identyfikacji aplikacji ). Dane pary punktów końcowych całkowicie identyfikują połączenie, każde połączenie może przenosić dane w obu kierunkach - jest więc połączeniem pełnodupleksowym.

Aplikacje komunikują się z modułem TCP przy użyciu następujących wywołań systemowych:
+ OPEN- otwórz połączenie
+ CLOSE - zamknij połączenie
+ SEND - wyślij dane przez otwarte połączenie
+ RECEIVE - odbieraj dane przez otwarte połączenie
+ STATUS - podaj informacje o połączeniu

Wywołania te implementowane są przez system operacyjny, dostęp do modułu TCP realizowany jest jak dostęp do plików, na takim modelu oparty jest interfejs Sockets systemu BSD i nowe generacje interfejsu Winsock firmy Microsoft. Dane połączenia są przekazywane funkcji OPEN, operującej na lokalnym porcie TCP. Opisują one zdalny punkt końcowy komunikacji,. Funkcja zwraca krótką wartość całkowitą - uchwyt wykorzystywany przez proces aplikacyjny w kolejnych wywołaniach. Dane połączenia przechowywane są w strukturze danych : TCB ( Transmission Control Block ) - Blok Sterowania Transmisją. Uchwyt umożliwa dostęp do informacji w bloku TCB.

Protokół TCP przewiduje dwa rodzaje wywołań OPEN Active oraz Passive. Otwarcie aktywne wymaga zainicjowania ustanawiania połączenia. Otwarcie pasywne sygnalizuje zamiar odebrania połączenia inicjowanego przez drugi punkt końcowy. Jeżeli oba procesy wywołają funkcje otwarcia aktywnego jednocześnie, również zostaną poprawnie połączone, bowiem oba składniki mogą pracować wzajemnie asynchronicznie.

Format komunikatu TCP - komunikaty te są wykorzystywane do otwierania/zamykania połączeń.

Nagłówek TCP

Dla całego procesu nawiązywania i zamykania połączeń istotne są znaczniki ( URG, ACK, PSH, RST, SYN, FIN ).
- Ustawiony znacznik ACK informuje, że pole numeru potwierdzenia zostało wykorzystane
- Ustawiony znacznik SYN sygnalizuje otwieranie obwodu wirtualnego połączenia
- Znacznik FIN służy do zakończenia połączenia
- Bit RST służy do zamykania obwodu wirtualnego ze względu na niemożliwe do skorygowania błędy.
- Ustawienie znacznika PSH nakazuje TCP natychmiastowe dostarczenie komunikatu do procesu warstwy wyższej.
- Znacznik URG służy do przesyłania danych pozapasmowych, bez oczekiwania na przetwarzanie przez odbiorcę oktetów włączonych już do strumienia danych.

Otwarcie połączeń TCP wymaga trójstopniowej procedury wymiany potwierdzeń. Kolejno wykorzystywane są następujące kombinacje znaczników SYN i ACK:
SYN = 1 i ACK = 0 - Pakiet otwarcia połączenia
SYN = 1 i ACK = 1 - Potwierdzenie żądania połączenia
SYN = 0 i ACK = 1 - Pakiet danych lub pakiet ACK ( potwierdzenia )

Zamykanie połączenia - Kiedy połączenie TCP ma być zamknięte, przesyłany jest znacznik FIN, nie powoduje to natychmiastowego rozłączenia. Znacznik przesłany przez obie strony jako sygnał zgody na zakończenie komunikacji. Taki sposób zakończenia połączenia określa się jako zamknięcie łagodne ( graceful close ) co podkreśla że obie strony uzgodniły zamiar. Gdyby jeden z uczestników komunikacji zakończył połączenie nie informując drugiego, tamten mógłby w nieskończoność podejmować próby retransmisji danych, które nigdy nie zostałby odebrane.

Przerwanie połączenia TCP - może nastąpić to kiedy komputer zdalny lub łącze ulegają awarii, jak wygląda wykrycie i zwolnienie zasobów, otóż może zostać odebrany komunikat ICMP, informujący o braku komunikacji ze stacją docelową. Przed zgłoszeniem aplikacji, że doszło do takiej sytuacji moduł TCP kilkakrotnie ponawia próby transmisji. Co się dzieje, gdy komunikaty ICMP nie zostaną odebrane z powodu zakłóceń przesyłania? Moduł TCP ponawia próby komunikacji do czasu osiągnięcia pierwszego progu ograniczającego liczbę retransmisji. Wówczas do modułu IP przekazywane jest powiadomienie, prowadzące do ustalenia, czy problem spowodowało przerwanie trasy lub awaria routera. Warstwa IP ponownie próbuje ustalić trasę. W tym samym czasie moduł TCP ponawia próby transmisji aż do drugiej wartości progowej liczby retransmisji. Wówczas połączenie zostaje uznane za przerwane. W takiej sytuacji zwalniane są wszystkie związane z nim zasoby, bufor i blok sterowania transmisją.

Mechanizm Okna - W schemacie formatu komunikatu TCP występuje pole rozmiaru okna, które jest elementem mechanizmu kontroli przepływu, wypełnia to pole odbiorca. To informacja dla nadawcy o możliwościach odbiorczych modułu TCP.


User Datagram Protocol ( UDP - Protokół Datagramów Użytkownika ) - nie zapewnia niezawodności tak jak TCP, ale stosowany jest wszędzie tam gdzie potrzebny jest jedynie protokół transportowy, który poprawnie zidentyfikuje aplikację docelową i przeprowadzi podstawową kontrolę poprawności transmisji. Protokół UDP pracuje w trybie datagramowym, wysyłanie więc polega na opatrzeniu danych nagłówkiem UDP i przekazaniu do warstwy IP. UDP nie zapewnie sekwencjonowania danych znaczy to tyle, że mogą one dotrzeć do odbiorcy w innej kolejności niż zostały wysłane. UDP ma zastosowanie w aplikacjach pracujących w trybie polecenie odpowiedź i w takich, w których każde polecenie lub odpowiedź mogą zostać przesłane jako pojedynczy datagram. Protokół UDP świetnie nadaje się do dystrybucji rozgłoszeniowej danych, bowiem do 1000 stacji nie musi nawiązywać 1000 połączeń, kończyć ich itd. Co powodowało by większe narzuty czasu jeżeli wykorzystany byłby protokół TCP.

Nagłówek protokołu UDP:

+--------+--------+--------+--------+
|  Port źródłowy  |   Port docelowy |
+--------+--------+--------+--------+
|     Długość     |  Suma kontrolna |
+--------+--------+--------+--------+
|                Dane               |
+--------+--------+--------+--------+

Nagłówek ma stałą długość 8 oktetów.Port źródłowy to pole 16 bitowe i nie musi być wypełnione. Zasadniczo można przyjąć następujące znaczenie tego pola:
+ jest tam przechowywany port procesu wysyłającego
+ na ten numer portu powinna zostać wysłana odpowiedź ( o ile inne dane nie wskazują innego portu )

Trzeba zauważyć, że wartość 0 tego pola sygnalizuje, że port nie został podany. Proces pracujący na stacji docelowej na porcie docelowym otrzyma przesyłane w pakiecie dane. Jeżeli do niewykorzystywanego portu zostanie wysłany datagram, wygenerowany zostanie komunikat ICMP nieosiągalności portu, a sam datagram zosyanie odrzucony.

Pole długośći zawiera liczbę oktetów datagramu UOP (razem oktety nagłówka i danych). Najniższą wartością tego pola może być 8. Oznacza to, iż nie ma pola danych. Tworzony jest także pseudonagłówek dołączony do obliczenia sumy konyrolnej.

0      7 8     15 16    23 24    31 
+--------+--------+--------+--------+
|          adres źródłowy           |
+--------+--------+--------+--------+
|          adres docelowy           |
+--------+--------+--------+--------+
|  zero  |protokół| długosć nag. UDP|
+--------+--------+--------+--------+

Uwzględnianie tych dodatkowych dznych z pseudonagłowka pozwala na wykrycie dztagramów dostarczonych do niewłaściwuych stacji. Pseudonagłówek ma stałą długość 12 oktetów.

Mimo iż TCP i UDP wykorzystująadresowanie i powiązanie z procesami aplikacyjnymi za pomocą portów to jednak przestrzeń adresowa portów UDP jest niezależna od przestrzeni adresów portów TCP.


Adresy IP

Adres - pierwotna czwarta wersja protokołu IP opiera się na 32 bitowych adresach dwójkowych. Każdy adres składa się z 4 liczb 8 bitowych rozdzielonych kropkami. Liczby te noszą nazwę oktetów. Przyjęto konwersję adresów dwójkowych na przyjazne dla człowieka, zdefiniowane za pomocą notacji dziesiętnej z kropkami. Wynika stąd, iż adresy IP miesza się w przedziale 0.0.0.0 - 255.255.255.255 Te graniczne wartości są jednak zarezerwowane i nie można przypisywać ich żadnym systemom końcowym. Adresy IP podzielono na klasy przystosowane do obsługi sieci dużych, średmich i małych (5 klas od A do E). Adres IP dzielony jest bowiem na fragment odpowiedzialny za adres sieci i za adres stacji.
+ Adresy klasy A - w adresie klasy A adres sieci zajmuje pierwszy oktet. Pierwszy bit adresu klasy A jest zgaszony ( zawsze równy 0 ). Ogranicza to największąliczbę sieci IP klasy A do 127. Dopuszczalny zakres jest nod 1.0.0.0 do 126.255.255.255
+ Adresy klasy B - pierwsze dwa bity tego oktetu wynoszą 10 co oznacza, że zakres tej klasy obejmuje adrsy od 128.0.0.0 do 191.255.255.255
+ Adresy klasy C - pirwsze trzy bity pierwszego oktetu wunoszą 110 to daje zakres adresówod 192.0.0.0 - 223.255.255.255
+ Adresy klasy D - Pierwsze 4 bity pierwszego oktetu wynoszą 1110 co daje zakres adresów od 224.0.0.0 do 239.255.255.254
+ Adresy klasy E - eksperymentalna klasa zarezerwowana przez IETF do badań naukowych. Zakres od 240.0.0.0 do 255.255.255.255

* Podział na podsieci - dwupoziomowa struktura sieci Internet okazała się zbyt przestarzała . Różne organizacje zaczęły mieć więcej niż jedną sieć, dlatego nie wystarczało im im tylko jedno połączenie do internetu. Zaproponowano podział na podsieci. Od tej pory każda sieć tworzona przez jakąś organizację mogła być traktowana jako podsieć.
W środowiskach wielosieciowych każdą podsieć można pdłączyć do Internetu za pomocą routera. Podziałna podsieci pozwala na podział sieci IP ( dowolnej klasy: A, B l ub C ) na mniejsze jednostki organizacyjne.
Adres IP w podsieci składa się z :
- adresu sieci
- adresu podsieci
- adresu stacji

Możliwośc podziału na podsieci zależy od typu wykorzystywanego adresu IP. Im więcej bitów stacji w adresie IP, tym więcej możliwych podsieci do uzyskania. Określanie w ten sposób podsieci zmniejszaliczbę możliwych do zaadresowania stacji. Podsieci identyfikuje się za pomocą maski podsieci.

* Maska podsieci - 32 bitowa liczba dwójkowa wyrażana także w przyjaznej notacji dziesieej. Maska informuje o liczbie bitów adresów IP stosowanych do identyfikacji sieci i podsieci. Bity nazywane są rozszerzonym przedrostkiem sieci. Reszta bitów identyfikuje stacje w podsieci. Bity maski identyfikujące część sieciową zawierają jedynki, natomiast bity określające stacje zawierają zera.
Weźmy przykład:
Maska 255.255.255.192 w postaci dwójkowej 1111 1111.1111 1111.1111 1111.1100 0000 daje nam 64 teoretycznie możliwe adresy stacji, gdyż jeśli przyjrzymy się bliżej 4 oktetowi : 1100 0000 to zauważymy, że taka jest suma wartości 6 bitów ustawionych na 0 czyli 2 ^5+ 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 64 adresy. Jednak korzysta sie 62 adresów, bowiem dwa adresy 1100 0000 oraz 1111 1111 sa zarezerwowane.

* Brama domyślna - jeśli komputer ma się komunikować z sieciami zdalnymi lub z segmentami sieci LAN oddzielonymi routerem , powinien posiadać adres domyślnej bramy . Jest to router przekazujący pakiety do odpowiedniego miejsca przeznaczenia lub nastepnego miejsca w trasie

* Tablica routingu - jak zapewne łatwo się domyślić jedną z najważniejszych funkcji sieci IP jest wyznaczanie tras ( routing ), proces ten polega na odkrywaniu, porównywaniu i wyborze ścieżek prowadzących do żądanego adresu IP. Do wyznaczania tras służą dwie metody:
+ statyczne wyznaczanie tras
+ dynamiczne wyznaczanie tras

Najprościej mowiac, jest to obszar pamieci na routerze (komputerze laczacym co najmniej dwie sieci fizyczne i przekazujacym datagramy miedzy nimi), w którym to obszarze przechowywane sa adresy IP sieci oraz odleglosc do nich (ilosc routerow na drodze do danej sieci). Dzieki tej tablicy router wie dokad kierowac przychodzace datagramy. Podstawowa tablica routingu znajduje się na każdej stacji roboczej.

Na linuksie tablica routingu znajduje się w pliku /etc/sysconfig/network, adresy dns-ow nalezy podac wpisując je do pliku /etc/resolv.conf . Aby otrzymać informacje na temat tablicy routingu zarówno w prezypadku systemu Windows jaki i Linux należy wydać w konsoli polecenie route z odpowiednimi parametrami. Poniżęj znajduje się tablica routingu komputera pod kontrolą systemu Linux.

# route
Kernel IP routing table
Destination	 Gateway	    Genmask	        Flags	Metric	Ref	Use	Iface	
213.25.2.25	 *	            255.255.255.255	U	    0	    0	0	ppp0	
192.168.0.0	 *	            255.255.255.0	U	    0	    0	0	eth0	
127.0.0.0	 *	            255.0.0.0	    U	    0	    0	0	lo	
default	     213.25.2.25	0.0.0.0	        UG	    0	    0	0	ppp0

* Adresy specjalne - część adresów z puli specjalnej IP została wydzielona jako adresy zarezerwowane. Dokument RFC o numerze 1700 opisuje te adresy za pomocą

             
Adres - IP : := { < Numer - sieci >, < Numer_stacji > }

Wartość numeru sieci lub numeru stacji określana jest za pomocą: 
+ "-1" - identyfikator złożony w całośći z samych binarnych jedynek
+ "0" - identyfikator złożony z samych zer

+ Adres sieci - nie może być przypisany identyfikator złożony z samych zer, ponieważ tak są zbudowane identyfikatory oznaczające całą sieć. Składnia adresu IP jest nsatępująca:

{ < Numer - sieci >, 0 }

+ Adres 137.53.0.0 ( klasy B ) w klasie B < Numer - sieci > zbudowany jest z 16 bitów ( czyli 2 oktety ) i nie może być używany jako źródłowy lub docelowy adres IP. + Ukierunkowany adres rozgłaszania ( directed broadcast ) - może to być docelowy adres komunikacji. Format adresu:

{ < Numer - sieci >, -1 }

Adres 137.53.255.255 - odbiorcami wiadomości wysłanej pod ten adres są wszystkie stacje w sieci.

+ Lokalny adres rozgłaszania - ( local lub limited broadcast address ) czyli 255.255.255.255 - w użytej przez nas notacji został ten adres zapisany jako:

{ -1, -1 }

Rozgłoszenia lokalne są propagowane w sieci lokalnej i ignorowane przez routery. Adres ten może być wykorzystywany jako adres docelowy komunikatów.

+ Adres zerowy - jest to adres o postaci:

{ 0,0 } 

< Numer - sieci > ma wartość zero co oznacza sieć lokalną < Numer stacji > to również 0, co oznacza sieć lokalną. Wykorzystywane przez stacje nawiązujące komunikacje IP w celu pobrania przydzielonego im adresu określane były dawniej jako lokalny adres rozgłaszania.

Adres sieci lokalnej - w naszej notacji oznaczony jest jako:

{ 0, < Numer - styacji > }.

Dzięki takiej konstrukcji pakiety mogą być przesylane wyłącznie wewnątrz sieci lokalnej.

+ Pętla zwrotna ( loopback address ) - adres specjalny opisany jako

{ 127, < dowolny > }

Każdy pakiet przesyłany na adres 127.X.X.X ( X - dowolna wartość z zakresu 0 do 255 ) jest zwracany do aplikacji wysyłającej bez przekazywania do sprzętowej warstwy sieci. Wynika z tego, iż pakiet jest jedynie kopiowany pomiędzy buforem nadania a buforem odbierania tego samego komputera. Adres ten służy do testowania poprawności konfiguracji oprogramowania, serwerów etc.

* NAT - sieć prywatna, która chroniona jest zaporą ogniową nie musi stosować się do unikatowości globalnej adresów. Specjalny mechanizm translacji adresów sieciowych ( NAT ) zastępuje w pakietach przekazywanych przez zaporę adresy prywatne adresem przyłącza publicznego. Dla sieci prywatnych wyróżnione zostały odrębne pule adresów:
+ A ( 10.0.0.0 ) - jedna sieć
+ B ( 172.16.00 - 172.31.0.0 ) - 16 sieci
+ C ( 192.168.00 - 192.168.255.0 ) - 256 sieci

* Zarządcy adresw IP - stabilność internetu zależy od niepowtarzalności publicznie stosowanych adresów sieci. Opiekę nad tym sprawuje korporacja ICANN. ICANN ( Internet Corporation for Assigned Names and Numbers ) - Korporacja Internetowa ds. Przypisywanych Numerów i Nazw. Powstanie takiej korporacji jest próbą umiędzynarodowienia administrowania domenami. Drugą organizacją o podobnym zakresie działań jest RIPE ( Reseaux IP Europeens )co można dosłownie przetłumaczyć na Europejski Ośrodejk Koordynacji Sieci. Więcej informacji na temat obu organizacji można znaleźć na:
http://ripe.net
http://www.icann.org/

* Bibliografia: + "TCP/IP Księga Eksperta"
+ "Sieci Komputerowe Księga Eksperta"
+ Wybrane dokumenty RFC z http://www.rfc-editor.org/
+ Support Microsoft.com


Praktyka:

1) Za pomocą programów ping, pathping, tracert zbadać komputery: a) z sieci laboratoryjnej, b) z sieci SZSK poza laboratorium, c) w dowolnym miejscu w Polsce, d) w dowolnym miejscu poza Polską. Ustalić zarządców tych adresów.
2) Zbadać i zmodyfikować ustawienia protokołu IP na własnym stanowisku korzystając zarówno z narzędzi Panelu Sterowania Windows, jak i polecenia ipconfig.
3) Zbadać tablicę rutingu (w szczególności bramę domyślną) na własnym stanowisku korzystając z polecenia route.
4) Zbadać nasłuchujące porty TCP i UDP oraz nawiązane połączenia TCP wykorzystując polecenie netstat. Utworzyć połączenie TCP (np. przeglądarką WWW, klientem poczty, telnet czy ssh) i wykazać jego obecność poleceniem netstat.

* ping - Weryfikuje łączność na poziomie protokołu IP z innym komputerem obsługującym protokół TCP/IP, wysyłając komunikaty żądania echa protokołu ICMP (Internet Control Message Protocol). Potwierdzenia odpowiednich komunikatów odpowiedzi echa są wyświetlane razem z czasami opóźnienia.

* pathping - Zapewnia informacje dotyczące czasu oczekiwania w sieci i strat sieciowych podczas przeskoków pośrednich między lokalizacją źródłową i lokalizacją docelową. Polecenie pathping wysyła wiele komunikatów żądań echa do poszczególnych routerów znajdujących się między lokalizacją źródłową i lokalizacją docelową w określonym czasie, a następnie oblicza wyniki na podstawie pakietów zwróconych przez poszczególne routery.

* tracert - Ustala ścieżkę do lokalizacji docelowej przez wysłanie komunikatów protokołu ICMP (Internet Control Message Protocol) typu Echo Request lub komunikatów ICMPv6 do lokalizacji docelowej, stopniowo zwiększając wartości pola czasu wygaśnięcia (TTL, Time to Live). Wyświetlana ścieżka jest listą bliskich interfejsów routerów znajdujących się na ścieżce między hostem źródłowym a lokalizacją docelową.

* ipconfig - Wyświetla wszystkie bieżące wartości konfiguracji sieci protokołu TCP/IP oraz odświeża ustawienia protokołu dynamicznej konfiguracji hosta (DHCP, Dynamic Host Configuration Protocol) i systemu DNS (Domain Name System). Polecenie ipconfig użyte bez parametrów powoduje wyświetlenie adresów IPv6 lub adresu IPv4, maski podsieci i bramy domyślnej dla wszystkich kart.

* route - Wyświetla tabelę routingu protokołu IP i dodaje lub usuwa trasy IP.

* netstat - Wyświetla aktywne połączenia protokołu TCP, porty, na których komputer nasłuchuje, statystykę sieci Ethernet, tabelę routingu protokołu IP, statystykę protokołu IPv4 (dla protokołów IP, ICMP, TCP i UDP) oraz statystykę protokołu IPv6 (dla protokołów IPv6, ICMPv6, TCP przez IPv6 i UDP przez IPv6).


1) Badanie komputerów za pomocą polecenia ping:
a) W sieci lokalnej:
W konsoli zostało wydane polecenie ping 10.4.18.7

Badanie 10.4.18.7 z użyciem 32 bajtów danych:
Odpowiedź z 10.4.18.7: bajtów=32 czas=1ms TTL=128
Odpowiedź z 10.4.18.7: bajtów=32 czas<10ms TTL=128
Odpowiedź z 10.4.18.7: bajtów=32 czas<10ms TTL=128
Odpowiedź z 10.4.18.7: bajtów=32 czas<10ms TTL=128
Statystyka badania dla 10.4.18.7:
    Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0 (0% utraconych),
Szacunkowy czas błądzenia pakietów w millisekundach:
    Minimum = 0ms, Maksimum =  1ms, średnia =  0ms

b) W sieci szsk spoza labolatorium:
Wydane zostalo polecenie ping zskl.zsk.p.lodz.pl

Badanie zskl.zsk.p.lodz.pl [172.16.0.3] z użyciem 32 bajtów danych:
Upłynął limit czasu żądania.
Upłynął limit czasu żądania.
Upłynął limit czasu żądania.
Upłynął limit czasu żądania.
Statystyka badania dla 172.16.0.3:
    Pakiety: Wysłane = 4, Odebrane = 0, Utracone = 4 (100% utraconych),
Szacunkowy czas błądzenia pakietów w millisekundach:
    Minimum = 0ms, Maksimum =  0ms, średnia =  0ms

c) W dowolnym miejscu w Polsce:
Wydaliśmy polecenie ping wp.pl

Badanie wp.pl [212.77.100.101] z użyciem 32 bajtów danych:
Odpowiedź z 212.77.100.101: bajtów=32 czas=13ms TTL=121
Odpowiedź z 212.77.100.101: bajtów=32 czas=16ms TTL=121
Odpowiedź z 212.77.100.101: bajtów=32 czas=12ms TTL=121
Odpowiedź z 212.77.100.101: bajtów=32 czas=12ms TTL=121
Statystyka badania dla 212.77.100.101:
    Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0 (0% utraconych),
Szacunkowy czas błądzenia pakietów w millisekundach:
    Minimum = 12ms, Maksimum =  16ms, średnia =  13ms

Właścicielem jest WIRTUALNA POLSKA S.A. UL. TRAUGUTTA 115c

d) W dowolnym miejscu poza Polską
Wydaliśmy polecenie ping microsoft.com

Badanie microsoft.com [207.46.130.108] z użyciem 32 bajtów danych:
Upłynął limit czasu żądania.
Upłynął limit czasu żądania.
Upłynął limit czasu żądania.
Upłynął limit czasu żądania.
Statystyka badania dla 207.46.130.108:
    Pakiety: Wysłane = 4, Odebrane = 0, Utracone = 4 (100% utraconych),
Szacunkowy czas błądzenia pakietów w millisekundach:
    Minimum = 0ms, Maksimum =  0ms, średnia =  0ms

1) Badanie komputerów za pomocą polecenia tracert:
a) W sieci lokalnej
W konsoli zostało wydane polecenie tracert 10.4.18.7

Trasa śledzenia do LAB18HOST7 [10.4.18.7]
przewyższa maksymalną liczbę przeskoków 30
  1   <10 ms   <10 ms   <10 ms  LAB18HOST7 [10.4.18.7] 
śledzenie zakończone.

b) W sieci szsk spoza labolatorium:
Wydane zostalo polecenie tracert zskl.zsk.p.lodz.pl

Trasa śledzenia do zskl.zsk.p.lodz.pl [172.16.0.3]
przewyższa maksymalnż liczbę przeskoków 30
  1     *        *        *     Upłynął limit czasu żądania.
  2     *        *        *     Upłynął limit czasu żądania.
  3     *        *        *     Upłynął limit czasu żądania.
  4     *        *        *     Upłynął limit czasu żądania.
  5     *        *        *     Upłynął limit czasu żądania.
  6     *        *        *     Upłynął limit czasu żądania.
  7     *        *        *     Upłynął limit czasu żądania.
  8     *        *        *     Upłynął limit czasu żądania.
  9     *        *        *     Upłynął limit czasu żądania.
 10     *        *        *     Upłynął limit czasu żądania.
 11     *        *        *     Upłynął limit czasu żądania.
 12     *        *        *     Upłynął limit czasu żądania.
 13     *        *        *     Upłynął limit czasu żądania.
 14     *        *        *     Upłynął limit czasu żądania.
 15     *        *        *     Upłynął limit czasu żądania.
 16     *        *        *     Upłynął limit czasu żądania.
 17     *        *        *     Upłynął limit czasu żądania.
 18     *        *        *     Upłynął limit czasu żądania.
 19     *        *        *     Upłynął limit czasu żądania.
 20     *        *        *     Upłynął limit czasu żądania.
 21     *        *        *     Upłynął limit czasu żądania.
 22     *        *        *     Upłynął limit czasu żądania.
 23     *        *        *     Upłynął limit czasu żądania.
 24     *     

c) W dowolnym miejscu w Polsce:
Wydaliśmy polecenie tracert wp.pl

Trasa śledzenia do www.wp.pl [212.77.100.101] przewyższa maksymalną liczbę przeskoków 30  
1     1 ms    <1 ms    <1 ms  192.168.2.1   
2    16 ms     8 ms    24 ms  10.1.255.254   
3    55 ms     9 ms    26 ms  router.smrw.lodz.pl [195.225.70.254]   
4    16 ms    92 ms    10 ms  ntwklan-62-233-181-69.devs.futuro.pl [62.233.181.69]   
5    15 ms    17 ms    33 ms  ldz-pb1-poz-br1.devs.futuro.pl [62.233.147.1]   
6    26 ms    43 ms    44 ms  profuturo-task-gw.task.gda.pl [153.19.0.178]   
7    38 ms    31 ms    70 ms  ci-wp-rtr.wp.pl [153.19.102.1]   
8    27 ms    24 ms    32 ms  zew.rtrd2.adm.wp-sa.pl [212.77.105.29]   
9    45 ms    33 ms    77 ms  www.wp.pl [212.77.100.101] 
Śledzenie zakoäczone.

d) W dowolnym miejscu poza Polską
Wydaliśmy polecenie tracert microsoft.com

Trasa śledzenia do lb1.www.ms.akadns.net [207.46.199.60] 
przewyższa maksymalną liczbę przeskoków 30  
1     1 ms    <1 ms    <1 ms  192.168.2.1   
2    30 ms    43 ms    10 ms  10.1.255.254   
3    21 ms     7 ms    32 ms  router.smrw.lodz.pl [195.225.70.254]   
4    39 ms    26 ms    21 ms  ntwklan-62-233-181-69.devs.futuro.pl [62.233.181.69]   
5    18 ms    23 ms    40 ms  ldz-pb1-poz-br1.devs.futuro.pl [62.233.147.1]   
6    37 ms    27 ms    41 ms  war-b3-geth2-2-1.telia.net [213.248.79.45]   
7     *        *        *     Upłynął limit czasu żądania.  
8    31 ms    34 ms    78 ms  hbg-bb2-pos7-3-0.telia.net [213.248.65.50]   
9    48 ms    50 ms    58 ms  adm-bb2-pos7-0-0.telia.net [213.248.65.161]  
10    53 ms    50 ms    82 ms  ldn-bb2-pos7-2-0.telia.net [213.248.65.157]  
11   115 ms   118 ms   121 ms  nyk-bb2-pos0-2-0.telia.net [213.248.65.94]  
12   159 ms   157 ms   151 ms  chi-bb1-pos7-0-0-0.telia.net [213.248.80.73]  
13   183 ms   180 ms   181 ms  sjo-bb1-pos1-0-0.telia.net [213.248.80.26]  
14   185 ms   221 ms   206 ms  microsoft-110312-sjo-bb [213.248.86.70]  
15   195 ms   208 ms   191 ms  207.46.43.1  
16   197 ms   235 ms   207 ms  pos4-1.tuk-76cb-1a.ntwk.msn.net [207.46.34.162]  
17   208 ms   197 ms   231 ms  pos1-0.iuskixcpxc1202.ntwk.msn.net [207.46.36.146]  
18   214 ms   198 ms   214 ms  pos1-0.tke-12ix-1b.ntwk.msn.net [207.46.155.5]  
19   205 ms   196 ms   206 ms  po13.tuk-65ns-mcs-1b.ntwk.msn.net [207.46.224.217]  
20     *        *        *     Upłynął limit czasu żądania. 
21     *        *        *     Upłynął limit czasu żądania.
22     *        *        *     Upłynął limit czasu żądania. 
23     *        *        *     Upłynął limit czasu żądania. 
24     *        *        *     Upłynął limit czasu żądania. 
25     *        *        *     Upłynął limit czasu żądania. 
26     *        *        *     Upłynął limit czasu żądania. 
27     *        *        *     Upłynął limit czasu żądania. 
28     *        *        *     Upłynął limit czasu żądania. 
29     *        *        *     Upłynął limit czasu żądania. 
30     *        *        *     Upłynął limit czasu żądania.
Śledzenie zakończone.

1) Badanie komputerów za pomocą polecenia pathping:
a) W sieci lokalnej
W konsoli zostało wydane polecenie pathping 10.4.18.7

Śledzenie trasy do LAB18HOST7 [10.4.18.7]
z maksymalną liczbą 30 przeskoków:
  0  LAB18HOST4.zsk.p.lodz.pl [10.4.18.4] 
  1  LAB18HOST7 [10.4.18.7] 
Wyliczanie statystyk dla 25 sekund...
            Źródło   Ten węzeł/łącze
Przeskok  RTT    Zgubione/wysłane = Pct  Zgubione/wysłane = adres Pct
  0                                           LAB18HOST4.zsk.p.lodz.pl [10.4.18.4] 
                                0/ 100 =  0%   |
  1    0ms     0/ 100 =  0%     0/ 100 =  0%  LAB18HOST7 [10.4.18.7] 
Śledzenie zakończone.

b) W sieci szsk spoza labolatorium:
Wydane zostalo polecenie pathping zskl.zsk.p.lodz.pl

Śledzenie trasy do zskl.zsk.p.lodz.pl [172.16.0.3]
z maksymalną liczbą 30 przeskoków:
  0  LAB18HOST4.zsk.p.lodz.pl [10.4.18.4] 
  1  
Wyliczanie statystyk dla 25 sekund...
            Źródło   Ten węzeł/łącze
Przeskok  RTT    Zgubione/wysłane = Pct  Zgubione/wysłane = adres Pct
  0                                           LAB18HOST4.zsk.p.lodz.pl [10.4.18.4] 
                              100/ 100 =100%   |
  1  ---     100/ 100 =100%     0/ 100 =  0%  LAB18HOST4.zsk.p.lodz.pl [0.0.0.0] 
Śledzenie zakończone.

c) W dowolnym miejscu w Polsce:
Wydaliśmy polecenie pathping wp.pl

Śledzenie trasy do www.wp.pl [212.77.100.101]
z maksymalną liczbĽ 30 przeskoków:
  0  ra88-comp.RA88-GROUP [192.168.2.100] 
  1  192.168.2.1 
  2  10.1.255.254 
  3  router.smrw.lodz.pl [195.225.70.254] 
  4  ntwklan-62-233-181-69.devs.futuro.pl [62.233.181.69] 
  5  ldz-pb1-poz-br1.devs.futuro.pl [62.233.147.1] 
  6  profuturo-task-gw.task.gda.pl [153.19.0.178] 
  7  ci-wp-rtr.wp.pl [153.19.102.1] 
  8  zew.rtrd2.adm.wp-sa.pl [212.77.105.29] 
  9  www.wp.pl [212.77.100.101] 

Wyliczanie statystyk dla 225 sekund...
            Źródło   Ten węzeł/łącze
Przeskok  RTT    Zgubione/wysłane = Pct  Zgubione/wysłane = adres Pct
  0                                           ra88-comp.RA88-GROUP [192.168.2.100] 
                                0/ 100 =  0%   |
  1    1ms     0/ 100 =  0%     0/ 100 =  0%  192.168.2.1 
                                0/ 100 =  0%   |
  2   21ms     0/ 100 =  0%     0/ 100 =  0%  10.1.255.254 
                                0/ 100 =  0%   |
  3   25ms     0/ 100 =  0%     0/ 100 =  0%  router.smrw.lodz.pl [195.225.70.254] 
                                0/ 100 =  0%   |
  4   31ms     0/ 100 =  0%     0/ 100 =  0%  ntwklan-62-233-181-69.devs.futuro.pl [62.233.181.69] 
                                0/ 100 =  0%   |
  5   32ms     0/ 100 =  0%     0/ 100 =  0%  ldz-pb1-poz-br1.devs.futuro.pl [62.233.147.1] 
                                0/ 100 =  0%   |
  6   38ms     0/ 100 =  0%     0/ 100 =  0%  profuturo-task-gw.task.gda.pl [153.19.0.178] 
                                0/ 100 =  0%   |
  7   41ms     0/ 100 =  0%     0/ 100 =  0%  ci-wp-rtr.wp.pl [153.19.102.1] 
                                0/ 100 =  0%   |
  8   46ms     0/ 100 =  0%     0/ 100 =  0%  zew.rtrd2.adm.wp-sa.pl [212.77.105.29] 
                                1/ 100 =  1%   |
  9   42ms     1/ 100 =  1%     0/ 100 =  0%  www.wp.pl [212.77.100.101] 

Śledzenie zakończone.

d) W dowolnym miejscu poza Polską
Wydaliśmy polecenie pathping microsoft.com

Śledzenie trasy do lb1.www.ms.akadns.net [207.46.19.30]
z maksymalną liczbą 30 przeskoków:
  0  ra88-comp.RA88-GROUP [192.168.2.100] 
  1  192.168.2.1 
  2  10.1.255.254 
  3  router.smrw.lodz.pl [195.225.70.254] 
  4  ntwklan-62-233-181-69.devs.futuro.pl [62.233.181.69] 
  5  ldz-pb1-poz-br1.devs.futuro.pl [62.233.147.1] 
  6  war-b3-geth2-2-1.telia.net [213.248.79.45] 
  7  hbg-bb1-pos6-2-0.telia.net [213.248.96.1] 
  8  hbg-bb2-pos0-0-0.telia.net [213.248.64.222] 
  9  ldn-bb2-link.telia.net [80.91.249.14] 
 10  nyk-bb2-pos7-0-0.telia.net [213.248.65.210] 
 11  chi-bb1-pos7-0-0-0.telia.net [213.248.80.73] 
 12  sjo-bb1-pos1-0-0.telia.net [213.248.80.26] 
 13     *        *        *     
 
Wyliczanie statystyk dla 325 sekund...
            Źródło   Ten węzeł/łącze
Przeskok  RTT    Zgubione/wysłane = Pct  Zgubione/wysłane = adres Pct
  0                                           ra88-comp.RA88-GROUP [192.168.2.100] 
                                0/ 100 =  0%   |
  1    1ms     0/ 100 =  0%     0/ 100 =  0%  192.168.2.1 
                                0/ 100 =  0%   |
  2   22ms     0/ 100 =  0%     0/ 100 =  0%  10.1.255.254 
                                0/ 100 =  0%   |
  3   25ms     1/ 100 =  1%     1/ 100 =  1%  router.smrw.lodz.pl [195.225.70.254] 
                                0/ 100 =  0%   |
  4   28ms     0/ 100 =  0%     0/ 100 =  0%  ntwklan-62-233-181-69.devs.futuro.pl
                                0/ 100 =  0%   | [62.233.181.69] 
  5   29ms     0/ 100 =  0%     0/ 100 =  0%  ldz-pb1-poz-br1.devs.futuro.pl [62.233.147.1] 
                                0/ 100 =  0%   |
  6   30ms     0/ 100 =  0%     0/ 100 =  0%  war-b3-geth2-2-1.telia.net [213.248.79.45] 
                                0/ 100 =  0%   |
  7   45ms     0/ 100 =  0%     0/ 100 =  0%  hbg-bb1-pos6-2-0.telia.net [213.248.96.1] 
                                0/ 100 =  0%   |
  8   44ms     0/ 100 =  0%     0/ 100 =  0%  hbg-bb2-pos0-0-0.telia.net [213.248.64.222] 
                                0/ 100 =  0%   |
  9   58ms     0/ 100 =  0%     0/ 100 =  0%  ldn-bb2-link.telia.net [80.91.249.14] 
                                0/ 100 =  0%   |
 10  126ms     0/ 100 =  0%     0/ 100 =  0%  nyk-bb2-pos7-0-0.telia.net [213.248.65.210] 
                                0/ 100 =  0%   |
 11  150ms     0/ 100 =  0%     0/ 100 =  0%  chi-bb1-pos7-0-0-0.telia.net [213.248.80.73] 
                                0/ 100 =  0%   |
 12  198ms     0/ 100 =  0%     0/ 100 =  0%  sjo-bb1-pos1-0-0.telia.net [213.248.80.26] 
                              100/ 100 =100%   |
 13  ---     100/ 100 =100%     0/ 100 =  0%  ra88-comp [0.0.0.0] 

Śledzenie zakończone.

2) Badanie ustawienia protokołu IP na stanowisku:
Aby zbadać ustawienia protokołu IP na stanowisku w konsoli wprowdziliśmy polecenie ipconfig

Windows 2000 - konfiguracja IP
Karta Ethernet  Połączenie lokalne:
	Sufiks DNS konkretnego połączenia:zsk.p.lodz.pl
	Adres IP. . . . . . . . . . . . . : 10.4.18.4
	Maska podsieci. . . . . . . . . . : 255.255.0.0
	Brama domyślna. . . . . . . . . . : 10.4.0.1

Aby otrzymać dokładniejsze informacje użyliśmy polecenia ipconfig /all

Windows 2000 - konfiguracja IP
	Nazwa hosta . . . . . . . . . . . : LAB18HOST4
	Sufiks podstawowej domeny DNS:zsk.p.lodz.pl
	Typ węzła . . . . . . . . . . . . : Transmisja

	Routing IP włączony . . . . . . . : Nie

	Serwer proxy WINS włączony. . . . : Nie

	Lista przeszukiwania sufiksów DNS : zsk.p.lodz.pl
	                                    p.lodz.pl
	                                    lodz.pl

Karta Ethernet  Połączenie lokalne:
	Sufiks DNS konkretnego połączenia:zsk.p.lodz.pl
	Opis . . . . . . . . . . . : DAVICOM 9102/A PCI Fast Ethernet Adapter 
	Adres fizyczny. . . . . . . . . : 00-D0-09-17-87-27

	DHCP włączone . . . . . . . . . . : Tak

	Autokonfiguracja włączona . . . . : Tak
	Adres IP. . . . . . . . . . . . . : 10.4.18.4
	Maska podsieci. . . . . . . . . . : 255.255.0.0
	Brama domyślna. . . . . . . . . . : 10.4.0.1
	Serwer DHCP . . . . . . . . . . . : 172.16.0.12
	Serwery DNS . . . . . . . . . . . : 172.16.0.12
	                                    172.16.0.3
	                                    212.51.220.2
	Dierżawa uzyskana. . . . . . . . . . : 7 marca 2006 19:26:33
	Dzierżawa wygasa . . . . . . . . . . : 8 marca 2006 19:26:33

3) Badanie nasłuchujących portów TCP i UDP:
W konsoli wywołaliśmy polecenie netstat

Aktywne połączenia

  Protok˘ˆ  Adres lokalny          Obcy adres             Stan
  TCP       ra88-comp:1126         ra88-comp:1127         USTANOWIONO
  TCP       ra88-comp:1127         ra88-comp:1126         USTANOWIONO
  TCP       ra88-comp:1062         rekin4.go2.pl:http     OCZEKIWANIE_ZAMKN
  TCP       ra88-comp:1069         jabberpl.org:5223      USTANOWIONO
  TCP       ra88-comp:1070         s1.tlen.pl:https       USTANOWIONO
  TCP       ra88-comp:1078         unused-217017045143.atman.pl:8074  USTANOWIONO
  TCP       ra88-comp:1101         s9.de.sisco.pl:http    OCZEKIWANIE_ZAMKN

Uruchomionym testowanym programem byl komunikator konnekt. Stad widoczne polaczenia z serwerami tlen i jabber oraz unused-217017045143.atman.pl:8074 to otwarta rozmowa z kolega (gadu-gadu).

4) Badanie tablicy routingu:
W konsoli na komputerze domowym wywolalismy polecenie route PRINT

Tabela tras IPv4
===========================================================================
Lista interfejsów
0x1 ........................... MS TCP Loopback interface
0x10003 ...4c 00 10 54 3d e1 ...... Karta Realtek RTL8139 Family PCI Fast Ethernet NIC
===========================================================================
===========================================================================
Aktywne trasy:
Miejsce docelowe w sieci      Maska sieci      Brama      Interfejs      Metryka
          0.0.0.0          0.0.0.0      192.168.2.1    192.168.2.100     20
        127.0.0.0        255.0.0.0        127.0.0.1        127.0.0.1      1
      192.168.2.0    255.255.255.0    192.168.2.100    192.168.2.100     20
    192.168.2.100  255.255.255.255        127.0.0.1        127.0.0.1     20
    192.168.2.255  255.255.255.255    192.168.2.100    192.168.2.100     20
        224.0.0.0        240.0.0.0    192.168.2.100    192.168.2.100     20
  255.255.255.255  255.255.255.255    192.168.2.100    192.168.2.100      1
Domyœlna brama:      192.168.2.1.
===========================================================================
Trasy trwałe:
  Brak

Wiedza tylko wtedy jest wiedzą, kiedy zdobyta została wysiłkiem własnej myśli, a nie wyłącznie dzięki pamięci.

Poprawny XHTML 1.0! Poprawny styl CSS!hacker emblem open source emblem