Uploaded by Denisa Emilia Bigiu

curs 7

advertisement
Protocoale pentru Internet
Virgil Dobrota
Universitatea Tehnica din Cluj-Napoca, Romania
Virgil.Dobrota@com.utcluj.ro
Copyright © Virgil Dobrota 2023-2024, All rights reserved
1
Curs 7 - Cuprins
Protocoale de strat transport
15. Protocolul UDP: structura antetului
16. Protocolul SCTP: structura antetului
17. Arhitecturi client-server
Copyright © Virgil Dobrota 2023-2024, All rights reserved
2
15. Protocolul UDP: structura
antetului
Copyright © Virgil Dobrota 2023-2024, All rights reserved
3
Structura antetului UDP (I)
Caracteristicile protocolului UDP
-> RFC 768 (valid din 1980 !!!), autor Jon Postel (19431998), considerat un fel de “God of the Internet”, vezi:
https://tools.ietf.org/html/rfc768
-> strat 4 (transport)
-> neorientat pe conexiune CL (Connectionless)
-> f`r` confirmare de primire
-> protocol cap-la-cap (end-to-end)
-> nu asigur` controlul fluxului
-> transmisie nefiabil` (unreliable)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
4
Structura antetului UDP (II)
◼
Port surs` (Source Port): TSAP pe 16 bi]i (0 c=nd nu este utilizat)
◼
Port destina]ie (Destination Port): TSAP pe 16 bi]i
Lungime (Length): 16 bi]i, con]ine lungimea \n octe]i a segmentului UDP
(antet + date). Lungimea minim` este 8 (antet, f`r` date).
◼
Copyright © Virgil Dobrota 2023-2024, All rights reserved
5
Structura antetului UDP (III)
Pseudo-antet UDP peste IPv4
Suma de control (Checksum): se aplic` asupra antetului UDP (8 octe]i), a
datelor [i a pseudo-antetului UDP (12 octe]i, vezi figura de mai sus) astfel:
1.
2.
3.
4.
5.
Valoarea ini]ial` a “sumei de control” pe 16 bi]i este 0000H.
Dac` lungimea c=mpului de date este impar`, se adaug` un octet 00H.
Se adun` cuvintele pe 16 bi]i \n complement fa]` de 1.
Complementul fa]` de 1 al rezultatului este “suma de control”.
Pseudo-antetul UDP nu se adaug` la segmentul UDP (se folose[te
doar pentru calculul sumei de control) .
Copyright © Virgil Dobrota 2023-2024, All rights reserved
6
Structura antetului UDP (IV)
Pseudo-antet UDP peste IPv6
Pseudo-antet UDP peste IPv6 =
16 octe]i adresa IPv6 surs` + 16 octe]i
adresa IPv6 destina]ie + 4 octe]i
lungime segment date strat superior + 3
octe]i \n 0 + 1 octet urm`torul antet =
40 octe]i [RFC8200]
Suma de control (Checksum): se aplic` asupra antetului UDP (8 octe]i), a
datelor [i a pseudo-antetului UDP (40 octe]i, vezi figura de mai sus) astfel:
1.
2.
3.
4.
5.
Valoarea ini]ial` a “sumei de control” pe 16 bi]i este 0000H.
Dac` lungimea c=mpului de date este impar`, se adaug` un octet 00H.
Se adun` cuvintele pe 16 bi]i \n complement fa]` de 1.
Complementul fa]` de 1 al rezultatului este “suma de control”.
Pseudo-antetul UDP nu se adaug` la segmentul UDP (se folose[te
doar pentru calculul sumei de control) .
Copyright © Virgil Dobrota 2023-2024, All rights reserved
7
Structura antetului UDP (V)
OBSERVA}II:
-> Dac` suma calculat` este 0000H, se va trimite FFFFH
(complementul fa]` de 1 al ei!)
-> C=nd se completeaz` c=mpul cu valoarea 0000H, rezult` c`
emi]`torul nu a generat sum` de control, ea fiind ignorat`.
Copyright © Virgil Dobrota 2023-2024, All rights reserved
8
16. Protocolul SCTP: structura
antetului
Copyright © Virgil Dobrota 2023-2024, All rights reserved
9
Structura antetului SCTP (I)
Caracteristicile protocolului SCTP
-> SCTP = Stream Control Transmission Protocol
-> strat 4 (transport), orientat pe conexiune CO (Connection-Oriented), cu
confirmare de primire
-> similar cu TCP, este un protocol cap-la-cap (end-to-end) care asigur`:
controlul fluxului (flow control)
transmisia fiabil` (reliability)
->
propus de grupul de lucru IETF SIGTRAN (Signaling Transport over
IP) pentru transport semnaliz`ri, pentru a \nlocui TCP \n aplica]ii de
telefonie prin Internet
Copyright © Virgil Dobrota 2023-2024, All rights reserved
10
Structura antetului SCTP (II)
Tunelare SCTP/ UDP/ IPv4
Dac` sistemul de operare nu suport` SCTP, se tuneleaz` SCTP peste UDP
[i apoi peste IPv4 sau IPv6.
[Sursa: RFC6951]
Copyright © Virgil Dobrota 2023-2024, All rights reserved
11
Structura antetului SCTP (III)
Tunelare SCTP/ UDP/ IPv6
[Sursa: RFC6951]
Copyright © Virgil Dobrota 2023-2024, All rights reserved
12
Structura antetului SCTP (IV)
Dezavantajele utiliz`rii TCP pentru semnaliz`ri \n
telecomunica]ii
• suma de control \n complement fa]` de 1: prea simpl` pentru re]elele de
telecomunica]ii bazate pe SS7
• secven]ialitatea datelor nu este cerut` totdeauna de semnaliz`rile din
telefonie (doar dac` se refer` la acela[i apel). La pierderea unui
segment TCP, s-ar retransmite [i semnaliz`ri ulterioare referitoare la
alte apeluri
• este orientat de octe]i [i nu pe mesaje
• este vulnerabil la atacuri: de exemplu DoS (Denial of Service)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
13
Structura antetului SCTP (V)
Dezavantajele utiliz`rii UDP pentru semnaliz`ri \n
telecomunica]ii
•
•
•
•
nu ofer` transmisii fiabile
nu garanteaz` secven]ialitatea datelor recep]ionate
mecanismele de control al congestiei sunt greu de implementat
are un avantaj: este implementat \n orice sistem de operare
=> aplica]iile care ruleaz` peste UDP, corect=nd aceste dezavantaje,
ar fi mai repede implementate (dec=t cele care ar merge \n kernel
sau peste IP).
Copyright © Virgil Dobrota 2023-2024, All rights reserved
14
Structura antetului SCTP (VI)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
15
Structura antetului SCTP (VII)
• Tag de verificare (Verification Tag): receptorul va valida sursa
pachetului SCTP. La emisie valoarea trebuie s` fie = Initiate Tag
recep]ionat de la cel`lalt terminal \n faza de ini]ializare a asocierii.
Excep]ii:
-> Tag = 0 pentru INIT chunk
-> Tag = Tag din SHUTDOWN-ACK chunk pentru un pachet care
con]ine
SHUTDOWN-COMPLETE chunk, cu bit T =1
-> Tag = Tag din pachetul care a generat ABORT chunk
• Suma de control (Checksum): algoritmul Adler-32, \nlocuit apoi cu
CRC-32
• Tip de chunk (Chunk type): 0…255, identific` tipul de informa]ie din
date chunk. Valorile 63, 127 [i 255 sunt rezervate pentru extinderi
viitoare.
Copyright © Virgil Dobrota 2023-2024, All rights reserved
16
Structura antetului SCTP (VIII)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
17
Structura antetului SCTP (IX)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
18
Structura antetului SCTP (X)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
19
Structura antetului SCTP (XI)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
20
Structura antetului SCTP (XII)
• Flags (Chunk Flags) (8 bi]i) \n func]ie de tip chunk. Se pun \n 0 c=nd
trebuie ignora]i.
• Lungime chunk (16 bi]i)
• Date chunk: lungime variabil`.
BIBLIOGRAFIE SUPLIMENTAR~:
[Fai20] G. Fairhurst, T. Jones, M. Tüxen, I. Rüngeler, T. Völker, “Packetization
Layer Path MTU Discovery for Datagram Transports”, IETF, September
2020, https://tools.ietf.org/html/rfc8899
[Ste10] R. Stewart, P. Amer, “SCTP”, University of Delaware, USA, 2010
https://el.el.obs.utcluj.ro/pi/pdf/bsdasia_sctp_intro.pdf
[Ste18] Randall Stewart' Home Page, 2018, https://people.freebsd.org/~rrs/
[Ste22] R. Stewart (Netflix, Inc.), M. Tüxen, K. Nielsen, “Stream Control
Transmission Protocol”, RFC 9260, IETF, June 2022
https://www.rfc-editor.org/rfc/rfc9260.html
[Tux13] M. Tüxen, R.Stewart, “UDP Encapsulation of Stream Control
Transmission Protocol (SCTP) Packets for End-Host to End-Host
Communication”, IETF, May 2013, https://tools.ietf.org/html/rfc6951
Copyright © Virgil Dobrota 2023-2024, All rights reserved
21
17. Arhitecturi client-server
Copyright © Virgil Dobrota 2023-2024, All rights reserved
22
Arhitecturi client-server (I)
Clientul
• aplica]ie care ini]iaz` o comunica]ie pereche-pereche (peerto-peer).
• de fiecare dat` c=nd se execut`, contacteaz` un server, trimite
o cerere [i a[teapt` un r`spuns
• c=nd r`spunsul sose[te, clientul continu` procesarea
OBSERVA}II:
-> mai u[or de construit dec=t serverele
-> nu necesit` privilegii de sistem speciale
Copyright © Virgil Dobrota 2023-2024, All rights reserved
23
Arhitecturi client-server (II)
server TCP
server UDP
-> se sincronizeaz` emisia cu
recep]ia
-> nu se sincronizeaz` emisia cu
recep]ia
-> se numeroteaz` pachetele
-> nu se numeroteaz` pachetele
-> se verific` secven]ialitatea la
recep]ie
-> nu se verific` secven]ialitatea la
recep]ie
-> se elimin` pachetele duplicate
-> cererea de la un client sau
r`spunsul de la un server pot fi
pierdute/ duplicate/ \nt=rziate/
trimise la alt` destina]ie
-> se retransmit segmentele
eronate/lips`
-> nu se fac retransmisii
-> feedback pentru client [i server
dac` re]eaua devine inoperabil`
-> nu exist` feedback dac` re]eaua
devine inoperabil`
Copyright © Virgil Dobrota 2023-2024, All rights reserved
24
Arhitecturi client-server (III)
Socket stream
(TCP)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
25
Arhitecturi client-server (IV)
Socket datagram
(UDP)
-> vezi aplica]ii laborator + mini-proiect
Copyright © Virgil Dobrota 2023-2024, All rights reserved
26
Concluzii
Avantaje TCP:
 comunicare fiabil` pentru orice tip de re]ea
 u[or de programat
Dezavantaje TCP:
 mai lent pentru aplica]ii \n timp real
 supra-antete
Avantaje UDP:
 aplica]ii \n timp real, care nu suport` supra-antete
Deazavantaje UDP
 comunicare nefiabil` (fiabil` doar dac` rata erorilor este mic`)
 fiabilitatea r`m=ne \n sarcina stratului aplica]ie
 mai greu de programat
Copyright © Virgil Dobrota 2023-2024, All rights reserved
27
Test grila curs 7 (I)
TEST GRIL~ CURS 7
1. Ce dimensiune are antetul UDP?
a) 8 octe]i
b) 32 octe]i
c) 64 octe]i
d) 320 bi]i
2. Ce rol au bi]ii SYN [i ACK din antetul UDP?
a) Pentru stabilirea unei conexiuni
b) Pentru eliberarea unei conexiuni
c) Acela[i rol ca [i \n protocolul TCP
d) Se folose[te doar bitul SYN pentru sincronizare \ntruc=t nu exist` confirmare
3. Ce deosebiri sunt \ntre SCTP [i TCP?
a) Suma de control cu CRC-32 \n loc de complement fa]` de 1
b) Este orientat pe conexiune dar f`r` confirmare de primire
c) Folose[te 4-WAY HANDSHAKE \n loc de 3-WAY HANDSHAKE
d) Porturile surs`, respectiv destina]ie sunt pe 32 bi]i
Copyright © Virgil Dobrota 2023-2024, All rights reserved
28
Test grila curs 7 (II)
REZOLVARE TEST GRIL~ CURS 7
1. a)
2. 3. a), c)
Copyright © Virgil Dobrota 2023-2024, All rights reserved
29
Download