inf sc w2


Protokoły sieciowe, TCP/IP: warstwy, związek z modelem OSI, przypomnienie
schematu adresowania. Warstwa internetowa: IP, budowa pakietu. Protokół ARP,
ICMP, IGMP.

Model ISO OSI
Utworzony w Międzynarodowej Organizacji Normalizacyjnej (ISO International
Organization for Standardization w Genewie).

OSI (Open Systems Interconnection)
połączenie systemów otwartych, model
referencyjny (wzorcowy).
Jest to globalny standard określania warstw funkcjonalnych otwartych
(wielosystemowych) połączeń sieciowych.

Model OSI to standard, nie implementacja!

Model OSI dzieli procesy zachodzące podczas komunikacji w sieci na siedem
funkcjonalnych warstw, zorganizowanych według naturalnej sekwencji zdarzeń.

Numer warstwy
Nazwa warstwy
7
Aplikacji
6
Prezentacji
5
Sesji
4
Transportu
3
Sieci
2
Łącza danych
1
Fizyczna











Każdą z warstw można rozpatrywać w aspekcie dwóch zasadniczych funkcji:
odbierania i nadawania.

Warstwa fizyczna (physical layer) opisuje standard połączenia fizycznego,
przekształcania danych w strumień impulsów elektrycznych. Warstwa 1 określa też
charakterystyki wydajnościowe nośników (medium transmisyjnego) i zakłada, że są
one spełnione, ale same media transmisyjne pozostają poza dziedziną jej
zainteresowania (czasem określane są terminem warstwa zerowa).
Warstwa łącza danych (data link layer) jest odpowiedzialna za grupowanie danych
wejściowych (z warstwy fizycznej) w bloki zwane ramkami danych (data frames).
Ramka zawiera informacje umożliwiające pomyślne przesłanie danych do miejsca
docelowego (na ogół poprzez sieć lokalną), m.in. tzw. adresy fizyczne.
W warstwie 2 opisane są również mechanizmy kontroli poprawności transmisji.
Warstwa sieci (network layer) jest odpowiedzialna za określenie trasy
przesyłania danych między komputerami poza lokalnym segmentem sieci LAN. W
warstwie tej określone są protokoły trasowane takie jak IP (ze stosu protokołów
TCP/IP), IPX (Novell IPX/SPX), DDP (AppleTalk). Protokoły te wykorzystują
adresowanie logiczne. Warstwa ta wykorzystywana jest przy komunikacji
komputerów znajdujących się w różnych segmentach sieci przedzielonych
routerem.
Warstwa transportu (transport layer) zapewnia kontrolę błędów i przepływu
danych poza lokalnymi segmentami LAN. Protokoły tej warstwy to np. TCP oraz UDP
(z TCP/IP), SPX (Novell IPX/SPX), ATP, NBP, AEP (AppleTalk).
Warstwa sesji (session layer) obejmuje zarządzanie przebiegiem komunikacji
podczas połączenia między komputerami (sesji). Rzadziej używana. Pierwotnie
przeznaczona do obsługi zdalnego dostępu przy pomocy terminala.
Warstwa prezentacji (presentation layer) jest odpowiedzialna za kompresję,
kodowanie i translację między niezgodnymi schematami kodowania oraz
szyfrowanie.
Warstwa aplikacji (application layer) obejmuje interfejs między aplikacjami a
usługami sieci.

Uwaga. W zasadzie w modelu ISO nie występuje termin "ramka", tylko "jednostka
danych usług warstwy fizycznej", ale termin ramka jest powszechnie stosowany.

Określona sesja komunikacyjna nie musi wykorzystywać wszystkich warstw modelu.

Przy nadawaniu dane kierowane są od warstwy 7 do 1, w każdej z warstw następuje
opakowanie danych - dołączenie nagłówka warstwy. Przy odbiorze następuje proces
odwrotny. Z punku widzenia implementacji protokołu jednej warstwy program
nadawcy otrzymuje te same obiekty co program odbierający.

Przy opisie wielu zestawów protokołów używane są inne modele warstwowe
(najczęściej z mniejszą liczba warstw, ale z odpowiednikami z modelu OSI).

Zestaw protokołów TCP/IP.

Zestaw protokołów określany skrótowo jako TCP/IP składa się z większej liczby
protokołów, które stanowią obecnie podstawę działania Internetu. TCP/IP stał
się standardem również w komunikacji sieciowej MS Windows od wersji 2000.
Oto niektóre protokoły TCP/IP: TCP, UDP, IP, ARP ,RARP, ICMP, IGMP.

Najczęściej do opisu TCP/IP stosuje się model czterowarstwowy (są też inne
podejścia, np. trójwarstwowy i pięciowarstwowy).


Warstwy modelu TCP/IP a model OSI:


Warstwa TCP/IP
Warstwa modelu OSI

Aplikacji

Aplikacji

Prezentacji

Sesji
Transportu
Transportu
Internetowa
(sieci, intersieci)
Sieci
Dostępu do sieci (interfejsu sieciowego)
Łącza danych

Fizyczna












Protokoły warstwy aplikacji to między innymi: FTP (File Transfer Protocol),
TELNET, DNS (Domain Name System) związany z usługą DNS (Domain Name Service)
Na warstwę aplikacji składają się komponenty programowe sieci, wysyłające i
odbierające informacje przez tzw. porty TCP lub UDP (z warstwy transportu). O
portach będzie jeszcze na następnych wykładach.

Protokoły warstwy transportu to TCP oraz UDP. Będą dokładniej omówione na
następnych wykładach.

Najważniejszy protokół warstwy internetowej to IP. Inne ważne to ICMP
(komunikaty o problemach), IGMP (komunikacja grupowa), ARP (tłumaczy adresy
między warstwą internetową a warstwą interfejsu sieciowego, czasami zaliczany
do tej ostatniej warstwy).

Warstwie dostępu do sieci będzie poświęcony osobny wykład. Warstwa ta jest
niemal niewidoczna dla zwykłego użytkownika sieci.


Dane przechodząc w dół stosu protokołów TCP/IP są opakowywane i otrzymują
odpowiedni nagłówek. Przyjęto, że porcje danych (pakiety) przesyłane w dół
stosu mają różne nazwy:
Komunikat to pakiet danych utworzony w warstwie aplikacji i przesłany do
warstwy transportu.
Pakiet danych utworzony przez TCP w warstwie transportu (zawierający w sobie
komunikat) nazywany jest segmentem.
Pakiet danych utworzony przez UDP w warstwie transportu (zawierający w sobie
komunikat) nazywany jest datagramem.
Datagramem nazywany jest również pakiet danych utworzony w warstwie
internetowej (zawiera w sobie segment z warstwy transportu).
Pakiet danych utworzony na poziomie dostępu do sieci nazywany jest ramką.

Przykładowa sekwencja zdarzeń przy wysłaniu danych:
Aplikacja przesyła dane do warstwy transportu.
Dalszy dostęp do sieci realizowany jest przez TCP lub UDP.
* TCP realizuje tzw. niezawodne połączenia i kontroluje przepływ danych
zapewniając niezawodne dostarczenie danych (nawet, gdyby zaginęły w sieci

wówczas zostają przesyłane jeszcze raz).
* UDP nie zapewnia niezawodności, ale jest szybszy.
Segment danych przesyłany jest do warstwy IP, gdzie protokół IP (a właściwie
jego implementacja) dołącza między innymi informacje o adresach IP źródła i
celu tworząc datagram.
Datagram z IP przechodzi do warstwy interfejsu sieciowego, gdzie tworzone są
ramki. W sieci LAN ramki zawierają adres fizyczny (przypisany do karty
sieciowej) otrzymany z ARP. Adresy fizyczne rozpoznawane są przez sprzęt
sieciowy (karty). Ramka przekształcana jest następnie w ciąg bitów (sygnałów),
który zostaje przesłany przez sieć.

W dalszej części tego wykładu zajmiemy się warstwą internetową.





Warstwa internetowa.

Protokół IP.

Implementacja IP to oprogramowanie spełniające różne funkcje. Oprogramowanie to
jest odpowiedzialne za adresowanie IP, tworzenie datagramów i kierowanie ich w
sieci z punktu początkowego do punktu docelowego.

Datagram IP składa się z nagłówka i bloku danych.
Nagłówek dzięki informacjom w nim zawartym umożliwia obsługę routingu,
identyfikację bloku danych, określenie rozmiaru nagłówka i datagramu oraz
obsługę fragmentacji (są też opcje rozszerzające). Nagłówek IP ma zmienną
długość (20 do 60 bajtów, co 4 bajty).
Blok danych może mieć długość od 8 do 65515 bajtów.

Struktura nagłówka IP:

Wersja (4 bity)
Długość nagłówka IP (IHL
Internet Header Length) (4 bity)
Typ usługi (8 bitów)
Długość całkowita (16 bitów)
Identyfikator (16 bitów)
Flagi (3 bity)
Przesunięcie fragmentu (13 bitów)
Czas życia (TTL) (8 bitów)
Protokół (bitów)
Suma kontronla nagłówka (16 bitow)
Adres IP źródła (32 bity)
Adres IP docelowy (32 bity)
Dodatkowe opcje i wypełnienie (32 bity + ew. więcej).

Krótki opis pól w nagłówku IP.
Wersja
4 dla podstawowego obecnie Ipv4 (0100 binarnie).
Długość nagłówka
liczbę 4-bajtowych bloków. Najczęściej nagłówek ma 20
bajtów, a więc 5 bloków (0101 binarnie).
Typ usługi
zawiera dodatkowe informacje używane w routingu, np. priorytet,
niezawodość. Składa się z 5 pól.
Całkowita długość
podana w bajtach, na podstawie tego pola oraz pola Długość
nagłówka można określić wielkość bloku danych.
Identyfikacja
identyfikacja kolejnych datagramów.
Flagi
3 bity tworzące dwie flagi używane przy fragmentacji datagramów.
Przesunięcie fragmentu
używane przy fragmentacji datagramów.
Czas życia (TTL
Time to Live)
określa przez ile łączy może przejść datagram
zanim zostanie odrzucony przez router. Jest to licznik, zmniejszany o 1 przez
każdy router na drodze datagramu. Host docelowy nie sprawdza TTL. Jeśli TTL=0,
wówczas pakiet jest odrzucany i wysyłany jest komunikat ICMP "Time Expired

TTL Expired". TTL zabezpiecza przed długimi pętlami. TTL dotyczy licznika
połączeń a nie przeskoków. Na przykład jeśli komputer docelowy oddzielony jest
od źródłowego przez 4 routery, to liczba połączeń wynosi 5. Datagram wysłany
między tymi komputerami z ustawionym TTL na 4 zostanie odrzucony przez czwarty
router.
TTL jest ustawiany przez system operacyjny lub aplikację. Standardowo np. dla
Windows 2000 TTL wynosi 128.
Protokół. To pole w nagłówku określa do jakiego protokołu warstwy wyższej
należy przekazać datagram. Przykładowe wartości to 1
ICMP, 6
TCP, 17

UDP.
Suma kontrolna nagłówka. Zawiera informację kontrolną dla nagłówka (nie
danych).
Adres źródła
adres IP komputera źródłowego.
Adres docelowy
adres IP komputera docelowego.

Przypomnienie schematu adresowania w TCP/IP.


ARP (Address Resolution Protocol
protokół rozpoznawania adresu fizycznego).

Zadaniem ARP jest otrzymanie adresu fizycznego na podstawie adresu IP. W sieci
np. Ethernet adres fizyczny określany jako MAC (Media Access Control) jest to
unikalny numer nadany karcie sieciowe w fabryce (6 bajtów). Protokół IP zakłada
niezależność od warstwy interfejsu sieciowego, stąd w przesyłanym adresie nie
ma informacji o fizycznym adresie docelowym warstwy interfejsu sieciowego.
Ze względu na możliwość wymiany karty sieciowej w komputerze o raz określonym
IP (tak naprawdę IP przypisany jest do karty sieciowej tego komputera) ARP musi
być dynamiczny.

ARP jest protokołem opartym na metodzie rozgłoszeniowej i zasadzie żądania i
odpowiedzi.
ARP najpierw sprawdza w pamięci (cache) tablicę przyporządkowującą adresy MAC
adresom IP. Jeśli dane nie zostaną znalezione, wówczas zostaje przesłana ramka
tzw. ARP Request Message. Jest to ramka rozgłoszeniowa docierająca do
wszystkich węzłów (komputerów
kart sieciowych) fizycznego segmentu sieci, do
którego przyłączony jest nadawca. Węzeł wysyłający nazywany jest ARP
requestor.
Węzeł o adresie zgodnym z IP przesłanym w ARP Request wysyła ramkę ARP Reply
pod adres MAC, z którego przyszło żądanie. Węzeł wysyłający ARP Reply określany
jest jako ARP responder. Po wymianie ramek zarówno nadawca jak i odbiorca mają
uaktualnione tablice cache. Po otrzymaniu ARP Request uaktualniane sa również
tablice cache w komnputerach, które otrzymały tę ramkę. Wpisy w ARP cache są
usuwane po okresie nieużywania rzędu kilku minut (w przypadku użycia cache czas
ten może wzrosnąć, lecz nie więcej niż pewna wartość np. 10 minut).
Do sprawdzenia cache służy program o nazwie arp.

ICMP (Internet Control Message Protocol).

Cel
raportowanie routingu, dostarczanie informacji o błędach podczas
przesyłania ze źródła do komputera docelowego.
Komunikaty ICMP wysyłane są w datagramach IP. W efekcie w ramce (warstwa
dostępu do sieci) znajduje się nagłówek IP, nagłówek ICMP oraz dane komunikatu
ICMP.

Typy komunikatów ICMP:
0 Odpowiedź echa
3 Miejsce docelowe nieosiągalne
4 Tłumienie źródła
5 Przekierowanie
8 Żądanie echa
9 Ogłoszenie routera
10 Wybór routera
11 przekroczenie czasu
12 Problem parametru.

Krótkie omówienie wybranych typów komunikatów ICMP.
Żądanie i odpowiedź echa - wysłanie komunikatu do węzła IP i odebranie echa
(odpowiedzi). Użyteczne przy usuwaniu problemów w sieci. Korzysta z tych
komunikatów program ping.
Miejsce docelowe nieosiągalne
podaje dodatkowo w polu kod dokładniejszą
informację.
Tłumienie źródła
przy takim zwiększeniu ruchu, w którym router zaczyna
odrzucać datagramy.
Przekroczenie czasu
po zmniejszeniu TTL do 0.

Programy typu ping, tracert, traceroute.




























Wyszukiwarka