Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
Appunti
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Gianluca Mastrolonardo
Appunti
Commits
7dac446a
Commit
7dac446a
authored
9 months ago
by
Gianluca
Browse files
Options
Downloads
Patches
Plain Diff
da finireee
parent
fe842ee5
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Reti/Teoria/Domande_Reti.md
+49
-3
49 additions, 3 deletions
Reti/Teoria/Domande_Reti.md
with
49 additions
and
3 deletions
Reti/Teoria/Domande_Reti.md
+
49
−
3
View file @
7dac446a
...
...
@@ -408,6 +408,52 @@ Come è composto l’header di un pacchetto TCP e che compito svolgono i campi?
per esempio per il protocollo HTTP utilizziamo la porta 80, per l'SMTP utilizzeremo
25.
+
Sequence Number, ACK Number: questi due campi servono al protocollo TCP per
tenere traccia dei pacchetti inviati dalla sorgente e ricevuti dalla destinazione.
In particolare abbiamo che
+
Sequence Number, ACK Number, ACK Flag: questi due campi servono al
protocollo TCP per tenere traccia dei pacchetti inviati dalla
sorgente e ricevuti dalla destinazione.
In particolare abbiamo che il sequence number è il numero
del primo byte di dati nel segmento TCP
corrente inviato dalla sorgente,
invece l'ACK è il numero del prossimo byte che
il destinatario si aspetta di ricevere, indicando implicitamente che tutti
i byte fino a quel numero sono stati ricevuti correttamente (ACK cumulativo).
Quando il reciver deve spedire al sender
il valore dell'ACK, oltre a spedire il valore imposta il flag ACK ad 1.
All'inizio vengono impostati dei valori di SEQ number e ACK
casuali, evitando così di essere confusi con segmenti vecchi.
+
Header length: questo campo assume la dimensione dell'header,
che dato che può essere variabile va specificata la dimensione.
+
Unused: nel protocollo TCP sono presenti alcuni bit che non sono
ancora stati utilizzati, ma utilizzabili con nuovi aggiornamento del protocollo.
+
CWR, ECE, URG, ACK, PSH, RST, SYN, FIN Flags:
+
CWR ed ECE: vengono utilizzati quando la connessione è congestionata.
_Non visti a lezione._
+
URG: se ad 1 significa che il pacchetto è urgente e quindi con maggiore
priorità.
+
ACK: come discusso prima, serve al sender per capire che il receiver ha ricevuto
correttamente le informazioni fino al valore dell'ACK.
+
PSH: utilizzato per pushare il pacchetto direttamente al layer applicativo,
senza nessun controllo del checksum.
+
RST: utilizzato per resettare la connessione, quindi terminarla immediatamente.
+
SYN: utilizzato durante il 3-way Handshake
per inizializzare una connessione TCP.
+
FIN: utilizzato per chiudere una connessione TCP.
+
Receive Window: è la dimensione della receive window del receiver, grazie a questa
informazione possiamo evitare di sovraccaricare il buffer del receiver e
quindi evitare
ritrasmissioni di pacchetti.
+
Checksum: è il checksum del pacchetto calcolato del sender. Questo valore deve essere
confrontato con il checksum appena calcolato dal receiver, e se uguali il receiver
restituisce al sender l'ACK, sennò scarta il pacchetto senza restituire nulla.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment