background image

SIECI KOMPUTEROWE 

STOS PROTOKOŁÓW TCP/IP. ADRESACJA IP

 

Stos protokołów TCP/IP  

(ang. Transmission Control Protocol/Internet Protocol) 

W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie 

uzupełniające się protokoły: połączeniowy TCP i bezpołączeniowy IP. Protokoły te służą do łączenia 

oddzielnych fizycznie sieci w jedną sieć logiczną. Wykorzystywane są w systemach UNIXowych, 

sieciach lokalnych i rozległych.  

Najistotniejsze zalety protokołów TCP/IP: 

  otwartość i niezależność od specyfikacji sprzętowo-programowej systemów 

komputerowych, 

  możliwość integracji wielu różnych rodzajów sieci komputerowych, 

  wspólny schemat adresacji pozwalający na jednoznaczne zaadresowanie każdego 

użytkownika, 

  istnienie standardowych protokołów warstw wyższych . 

 

Współcześnie protokoły TCP/IP to zestaw wielu protokołów przeznaczonych m.in. do: 

  transferu danych: IP, TCP, UDP (User Datagram Protocol), 

  kontroli poprawności połączeń: ICMP (Internet Control Message Protocol), 

  zarządzania siecią: SNMP (Simple Network Management Protocol), 

  zdalnego włączania się do sieci: TELNET, 

  usług aplikacyjnych, np. przesyłanie plików: FTP (File Transfer Protocol), 

 

Architektura protokołów TCP/IP jest czterowarstwowa (w odróżnieniu od siedmiowarstwowej 

architektury ISO/OSI). Wyróżniamy w niej następujące warstwy: 

1. aplikacji, 

2. transportową, 

3. Internet, 

4. dostępu do sieci 

 

 

1

background image

SIECI KOMPUTEROWE 

STOS PROTOKOŁÓW TCP/IP. ADRESACJA IP

 

Jak w każdym modelu warstwowym, dane generowane przez programy aplikacyjne są 

przekazywane w dół stosu, kiedy mają być wysłane przez sieć i w górę stosu przy odbiorze. Każda 

warstwa stosu dodaje do danych przekazywanych z warstwy wyższej informacje sterujące w postaci 

nagłówków. Nagłówek dodany w warstwie wyższej jest traktowany jako dane w warstwie niższej.  

 

Nazewnictwo struktur danych w zależności od wykorzystywanego protokołu transportowego 

przedstawia poniższy schemat 

 

 TCP UDP 

warstwa aplikacji 

strumień  (ang. stream)  wiadomość (ang. message) 

warstwa transportowa 

segment pakiet 

warstwa Internet 

datagram datagram 

warstwa dostępu do sieci 

ramka (ang. frame) 

ramka (ang. frame) 

 

 

FUNKCJE POSZCZEGÓLNYCH WARSTW: 

warstwa dostępu do sieci  

- najniższa w hierarchii architektury protokołów TCP/IP.  Jej funkcje odpowiadają w przybliżeniu 

funkcjom trzech najniższych warstw modelu ISO/OSI.  

Do komunikacji w sieciach rozległych lub przez łącza szeregowe wykorzystuje m.in. takie protokoły 

jak: X.25 (w sieciach pakietowych), PPP (Point-to-Point Protocol) lub SLIP (Serial Line IP).  

 

warstwa Internet  

-  podstawowym protokołem tej warstwy jest IP, który jest odpowiedzialny za przesyłanie pakietów 

zwanych datagramami między użytkownikami sieci. Jest to protokół bezpołączeniowy, tzn., że 

datagramy są przesyłane przez sieć bez kontroli poprawności ich dostarczenia. W efekcie datagram 

może zostać zgubiony w sieci, przekłamany lub zniekształcony. Protokół IP jest przeznaczony do sieci o 

bardzo dobrej jakości i niezawodności łączy transmisyjnych.  

Drugim protokołem tej warstwy jest ICMP ściśle związany z IP. Służy on do przesyłania komunikatów 

o nieprawidłowościach w pracy sieci. Protokół pozwala na przesyłanie wiadomości sterujących między 

węzłami sieci. Wiadomości te dotyczą sterowania przepływem, testowania połączeń, wskazania 

alternatywnych połączeń i wykrywania niedostępnych użytkowników. 

 

 

2

background image

SIECI KOMPUTEROWE 

STOS PROTOKOŁÓW TCP/IP. ADRESACJA IP

 

warstwa transportowa  

- zapewnia bezpośrednie połączenie między końcowymi użytkownikami (systemami) wymieniającymi 

informacje. Najważniejsze protokoły tej warstwy to TCP oraz UDP.  

Protokół TCP jest protokołem połączeniowym umożliwiającym wykrywanie błędów na obu końcach 

połączenia. Ma on możliwość ustanowienia i utrzymania połączenia wirtualnego między dwoma 

użytkownikami w celu przesyłania danych, sterowania przepływem, przesyłania potwierdzeń oraz 

kontroli i korekcji błędów.  

Protokół UDP jest protokołem bezpołączeniowym, nie posiada mechanizmów sprawdzania 

poprawności dostarczenia danych do miejsca przeznaczenia.  

Segmenty TCP jak i pakiety UDP w celu ich dalszego przesłania są umieszczane wewnątrz datagramu 

IP. 

 

warstwa aplikacji  

- protokoły tej warstwy dostarczają  użytkownikom różnych usług wykorzystując jako protokołów 

transportowych TCP lub UDP.  

Najbardziej znane protokoły warstwy aplikacji korzystające z TCP to: 

  TELNET – umożliwia zdalne łączenie z systemem, 

  FTP -  przesyłanie plików przez sieć, 

  SMTP (Simple Mail Transfer Protocol) dla wymiany poczty elektronicznej, Natomiast do 

bardziej znanych protokołów warstwy aplikacji korzystających z protokołu UDP należą: 

  DNS (Domain Name Service) – odpowiada za zamianę adresów IP na tzw. adresy 

domenowe, 

  RIP (Routing Information Protocol) - wymiana informacji związanych z aktualizacją reguły 

doboru tras w węzłach sieci (routing), 

  NFS (Network File System) - współdzielenie plików przez wiele komputerów dołączonych 

do sieci.  

 

ROUTERY, HOSTY, GNIAZDA 

Protokoły TCP/IP wyróżniają dwa typy urządzeń sieciowych: routery (lub gatewaye) oraz 

hosty (czyli komputery). Routery służą do przesyłania pakietów między sieciami, a na hostach 

instalowane jest oprogramowanie aplikacyjne użytkowników.

 

 

 

3

background image

SIECI KOMPUTEROWE 

STOS PROTOKOŁÓW TCP/IP. ADRESACJA IP

 

 

4

FTP SMTP NFS DNS

TCP

UDP

IP (ICMP)

interfejs A

(np. PPP)

FTP SMTP NFS DNS

TCP

UDP

IP (ICMP)

interfejs A

(np. PPP)

sieć A

sieć B

IP (ICMP)

interfejs A
(np. PPP)

interfejs B

(np. PPP)

Router

lub

Gateway

warstwa
aplikacji

warstwa
transportowa

warstwa
Internet

warstwa dostępu
do sieci

host A

host B

 

  
 

Każda aplikacja korzystająca z protokołów TCP/IP jest identyfikowana za pomocą  numeru 

portu. (W systemach UNIX numery portów dla odpowiednich aplikacji zapisane są w pliku 

/etc/services).  Z kolei protokoły transportowe są określone za pomocą  numerów protokołów. (W 

UNIXie numery protokołów zapisane są w pliku /etc/protocols). Wykorzystanie numerów portów i 

numerów protokołów pozwala łączyć dane generowane przez różne aplikacje z kilkoma protokołami 

transportowymi i dalej te protokoły z protokołem IP. Podejście takie daje możliwość tzw. multipleksacji 

danych, czyli np. umożliwia równoczesną komunikację wielu aplikacji z TCP.  

W Internecie niektóre numery portów są zarezerwowane i wstępnie przypisane do tzw. dobrze 

znanych usług (mogą przyjmować numery od 0 do 255). Dobrze znane usługi to np. takie protokoły 

sieciowe jak FTP: porty 20 i 21, TELNET: 23, SMTP: 25, POP3: 110.  

Protokoły TCP/IP używają również pojęcia gniazdo. 

Gniazdo to kombinacja adresu IP i 

numeru portu.

 W związku z tym gniazdo jednoznacznie określa proces w Internecie, czy zakończenie 

logicznego  łącza komunikacyjnego między dwiema aplikacjami. Jeśli aplikacje realizowane są na 

dwóch różnych komputerach, to para odpowiadających im gniazd definiuje połączenie w protokole 

połączeniowym TCP. 

 

PROTOKÓŁ IP 

Protokół bezpołączeniowy, co oznacza, że nie sprawdza on poprawności dostarczenia 

datagramów do miejsc przeznaczenia. Podstawowe funkcji protokołu IP: 

a) określenie struktury datagramu, 

b) określenie schematu adresacji, 

c)  kierowanie ruchem datagramów w sieci, 

d) dokonywanie fragmentacji datagramu i odtwarzanie z fragmentów oryginalnego 

datagramu. 

background image

SIECI KOMPUTEROWE 

STOS PROTOKOŁÓW TCP/IP. ADRESACJA IP

 

 

Adresy IP v.4 

W sieciach wykorzystujących protokoły TCP/IP wykorzystywane są, zdefiniowane 

w IP v.4,  

4-bajtowe adresy jednoznacznie określające sieć oraz komputer dołączony do tej sieci

. Istnieje 5 

podstawowych klas adresów zdefiniowanych przez IP v. 4: A, B, C, D, E. Struktura binarna adresów w 

tych klasach przedstawiona jest na rysunku poniżej. Dla rozszerzenia zakresów adresów zdefiniowano 

protokół IP v.6, w którym adresy są 16-bajtowe . 

 

A.

0

 

 

 

 

         

B

1 0

 

 

 

 

         

C

1 1 0

 

 

 

 

         

D

1 1 1 0

 

 

 

 

         

E

1 1 1 1 0  

 

 

 

         

 

A: 

    

1

.0.0.0 – 

127

.0.0.0    

 

 

 

-  numer sieci w I-ym bajcie  

- 1 

sieć- ok. 1,6 mln hostów 

B: 

128.0.

0.0 – 

191.255.

0.0  

 

 

-  numer sieci w 2 pierwszych bajtach  

-  16320 sieci o 65024 hostach w każdej 

C:  

192.0.0.

0 – 

223.255.255.

0  

 

-  numer sieci w 3 pierwszych bajtach  

-  ok. 2 mln sieci po 254 hosty 

D, E, F:

 224.0.0.0 – 254.0.0.0  

 

-  adresy eksperymentalne, zarezerwowane do zastosowań specjalnych, nie 

określają żadnej sieci; 

przykład wykorzystania: transmisja grupowa IP (ang. IP multicasting) – 

usługa pozwalająca na przesłanie danych do wielu miejsc w Internecie 

jednocześnie.

 

 

Adresy IP umożliwiają tworzenie sieci logicznych w jednej dużej sieci fizycznej posiadającej 

jeden adres IP. Można tego dokonać korzystając z bitów części identyfikującej komputer w adresie IP 

oraz 32-bitowej maski podsieci.

  

 

5

background image

SIECI KOMPUTEROWE 

STOS PROTOKOŁÓW TCP/IP. ADRESACJA IP

 

PODSIECI – MASKA SIECI 

1. Podział jest już widoczny w wyodrębnieniu w adresach IP części sieciowej i 

części hosta.  

Domyślnie sieć przeznaczenia jest uzyskiwana z części sieciowej adresu IP 

 

hosty o identycznych numerach sieci  IP powinny znajdować się w tej samej sieci 

2.  Wewnątrz sieci można zastosować podobny schemat wyodrębnić mniejsze sieci 

⇒ 

podział na 

podsieci.

 

 

Podsieć:  

 jest rozszerzeniem pojęcia podziału pól bitowych, jak w klasach A, B i C, 

 część sieciowa jest rozszerzana tak, by zawierała niektóre bity z części hosta, 

 liczba bitów, interpretowana jako numer podsieci, jest określona przez tzw. 

maskę 

podsieci

 lub 

maskę sieci,

 

maska podsieci = 

32-bitowa liczba określająca maskę bitową dla części 

sieciowej adresu IP, 

 jeśli bit w masce jest jedynką, to odpowiadający mu bit w adresie IP jest 

interpretowany jako bit adresu sieci, 

 jeżeli bit maski wynosi zero, oznacza, że należy do części adresu określającej 

komputer, 

 odpowiada za dostarczanie datagramów do pewnego zakresu adresów IP, 

 podsieci są generowane przez administratora, 

 określają wewnętrzny podział sieci (administracyjny, lokalizacyjny, itp.) – nie są 

widoczne z zewnątrz. 

 

Przykład zastosowania podsieci: 

Sieć klasy B:    

 

149.76.

0.0  

Maska dla tej sieci:   

255.255.

0.0 

 

Możliwy podział na 254 podsieci:    

     149.76.

1

.0  

-  

149.76.

254

.0 

Maska dla podsieci:  255.255.

255

.0 

 

6

background image

SIECI KOMPUTEROWE 

STOS PROTOKOŁÓW TCP/IP. ADRESACJA IP

 

Klasa B:  

część sieciowa

 

 

 

część hosta

 

149 

76 

12 

 

Klasa B z podsiecią: 

część sieciowa

 

 

 

      

podsieć    

  

    

część hosta

 

149 

76 

12 

 

W związku z nieustanną redukcją puli adresów IP v.4 wprowadzono IP v.6 oraz 

wykorzystuje się tzw. adresy nierutowalne. Zakresy adresów IP zarezerwowanych dla sieci 

prywatnych, wewnętrznych: 

A:  

10.0.0.0 - 

 10.255.255.255 

B:  

172.16.0.0 

-  

172.31.0.0 

C:  

192.168.0.0  -  

192.168.255.0 

 

7