Warstwa transportowa - Protokoły kontroli przesyłu informacji

Transkrypt

Warstwa transportowa - Protokoły kontroli przesyłu informacji
Warstwa transportowa
Model OSI
Model TCP/IP
Aplikacji
Prezentacji
zapewnienie poprawnego transportu
danych w komunikacji ze zdalnym
komputerem ;
podział danych na segmenty
Aplikacji
Sesji
Transportowa
Transportowa
Sieciowa
Sieciowa
Łącza danych
Fizyczna
Dostępu
do sieci
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Funkcje warstwy transportowej
zestawienie logicznego kanału przesyłu informacji między końcowymi systemami komunikacji (end-to-end)
SIEĆ IP
kontrola przepływu informacji
ok, zwalniam
wysyłanie
zwolnij wysyłanie...
nie jestem w stanie
przetworzyć tyle
informacji na raz...
niezawodność przesyłu informacji
nie dostałem
trzeciego
segmentu..
retransmituj
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Prosty, teoretyczny model kontroli
przepływu : stop-and-wait
prostota
● niski poziom wykorzystania
pasma zależny od odległości
pomiedzy nadajnikiem a
odbiornikiem oraz szybkości
transmisji
● niska efektywność w realnych
warunkach (błędy transmisji,
medium współdzielone,
ograniczone bufory nadajnika i
odbiornika
●
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Mechanizmy kontroli błędów i
retransmisji - “go-back-N”
dostałem
zbiorcze
potwierdzenie
za 3 segmenty
ponawiam
transmisję od
5 segmentu
0
1
2
3
4
5
6
7
5
6
7
wysyłam
zbiorcze
potwierdzenie
za 3 segmenty
brakuje
poprzedniego
segmentu!
informuję
nadawcę i
odrzucam
wszystkie
nadchodzące
segmenty
dopóki nie
dostanę
brakującego...
prostota
implementacji
● ograniczone
wymagania bufora
odbiornika
●
wysyłam
zbiorcze
potwierdzenie
za 3 segmenty
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Mechanizmy kontroli błędów i
retransmisji - “selective ack” (c.d.)
0
dostałem
zbiorcze
potwierdzenie
za 3 segmenty
ponawiam
transmisję
tylko 5
segmentu
1
2
3
4
5
6
7
5
8
9
wysyłam
zbiorcze
potwierdzenie
za 3 segmenty
brakuje
segmentu nr 5!
informuję
nadawcę i
przyjmuję dalej
wszystkie
nadchodzące
segmenty
wysyłam
zbiorcze
potwierdzenie
za 3 segmenty
Bardziej wydajne od
wersji go-back-N
● minimalizacja ilości
retransmisji
●konieczność
zwiększenia bufora
odbiornika
● komplikacja
odbiornika
(uporządkowanie
otrzymanych ramek)
● komplikacja
nadajnika (wysyłanie
ramek poza
kolejnością)
●
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Mechanizm przesuwnego okna
(ang. sliding-window)
ostatni
wysłane
potwierdzony
segmenty
segment
... 0 1 2 3 4 5 6 7 0 1 2
3 4 5 6 7 ...
aktualna szerokość okna
maksymalna szerokość okna
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Pola nagłówka protokołu TCP
0
4
8
12
16
20
port źródłowy
24
28
32
port docelowy
numer sekwencyjny
numer potwierdzający
przesunięcie
danych
zarezerwowane
bity sterujące
suma kontrolna nagłówka
rozmiar okna
wskaźnik danych pilnych
opcje
dopełnienie
dane
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Nawiązanie, negocjacja,
zamknięcie połączenia w sesji TCP
0
4
8
12
16
20
24
28
32
inne pola...
numer sekwencyjny
numer potwierdzający
przesunięcie danych
zarezerwowane
bity sterujące
rozmiar okna
inne pola...
10
11
12
13
14
15
16
URG | ACK | PSH | RST | SYN | FIN
INICJUJĘ POŁĄCZENIE:
●
wysyłam segment z nastawionym bitem SYN
●
nastawiam nr sekwencyjny na X
●
określam rozmiar okna na A
POTWIERDZAM POŁĄCZENIE:
●
wysyłam segment z nastawionym bitem ACK
●
nastawiam nr potwierdzający na Y+1
FIN
SYN
SYN+ACK
FIN+ACK
(RST)
ACK
ACK
INICJUJĘ
POŁĄCZENIE:
● wysyłam segment z
nastawionym bitem
SYN+ACK
nastawiam nr
sekwencyjny na Y
● nastawiam nr
potwierdzający na X+1
● określam rozmiar
okna na B
●
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Diagram stanów gniazd TCP
źródło: htttp://wikipedia.org
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Bity sterujące TCP (c.d.)
0
4
8
12
16
20
24
28
32
inne pola...
bity sterujące
zarezerwowane
przesunięcie danych
suma kontrolna nagłówka
rozmiar okna
wskaźnik danych pilnych
inne pola...
10
11
12
13
14
15
16
URG | ACK | PSH | RST | SYN | FIN
bez bitu PSH:
bufor
danych
aplikacji
z bitem PSH:
bufor
danych
aplikacji
wskaźnik
do danych
pilnych
bufor
danych
aplikacji
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Algorytmy kontroli przepływu w TCP i
sterowania wielkości okna
wielkość
okna
TCP Tahoe
TCP Westwood
wielkość
okna
W max
T)
W max
f 1(
RT
ss_thr1
TT
R
(
f2
ss_thr2
)
ss_thr1
t[s]
wielkość
okna
TCP Reno
t[s]
wielkość
okna
TCP Vegas
W max
W max
ss_thr1
f(RTT)
ss_thr2
t[s]
t[s]
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Logiczne kanały przesyłu
informacji między hostami.
Mechanizm portów
0
4
8
12
16
20
port źródłowy
24
28
32
port docelowy
inne pola...
43214
80
60112
55521
25
22
21655
4667
7778
5222
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Pola opcji nagłówka TCP
0
4
8
12
16
20
24
28
32
inne pola...
opcje
dopełnienie
inne pola...
●
●
●
●
●
●
●
Maksymalny rozmiar segmentu (MSS)
Skalowanie rozmiaru okna
Wybiórcze potwierdzenia (SACK)
Datownik
Tranzakcyjny TCP (T/TCP)
NOP
EOL
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Bezpołączeniowy protokół UDP
(User Datagram Protocol)
0
4
8
12
16
20
24
28
port źródłowy
port docelowy
długość
suma kontrolna nagłówka
32
dane
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej
Podsumowanie – porównanie
protokołów TCP i UDP
cecha
UDP
TCP
rodzaj protokołu
zawodność
kolejność odbieranych
segmentów
fałszerstwo adresu
nadawcy
szybkość
skomplikowanie,
wymagania sprzętowe
bezpołączeniowy
połączeniowy
zawodny
niezawodny
dowolna
sekwencyjna
możliwe
niemożliwe
większa
mniejsza
mniejsze
większe
(c) mgr inż. Adam Mencwal, Katedra Informatyki Stosowanej