merge errors discovered

This commit is contained in:
nbillard 2022-12-15 18:46:13 +01:00
parent a2ec7ce772
commit 06d0e2858f

91
tp.md
View file

@ -8,17 +8,20 @@ Choix arbitraire du port : 5678
### avec TCP ### avec TCP
Sur la machine puit On lance la commande suivante sur la machine puits:
```sh ```sh
tsock -p 5678 tsock -p 5678
``` ```
Sur la machine source ensuite on execute tsock sur la machine source:
```sh ```sh
tsock -s insa-20155 5678 tsock -s insa-20155 5678
``` ```
Sur la machine puit, on observe Sur la machine puits, on observe:
``` ```
PUITS: lg_buf_appli=30, port=5678, nb_buf_appli=infini, TP= tcp PUITS: lg_buf_appli=30, port=5678, nb_buf_appli=infini, TP= tcp
PUITS: socket PUITS: socket
@ -35,7 +38,7 @@ PUITS: Reception n° 10 ( 30) [ 10jjjjjjjjjjjjjjjjjjjjjjjjj]
``` ```
Sur la machine source, on observe Sur la machine source, on observe:
``` ```
SOURCE: lg_buf_appli=30, port=5678, nb_buf_appli=10, TP= tcp -> insa-20155 SOURCE: lg_buf_appli=30, port=5678, nb_buf_appli=10, TP= tcp -> insa-20155
@ -57,7 +60,7 @@ SOURCE: Envoi n° 10 ( 30) [ 10jjjjjjjjjjjjjjjjjjjjjjjjj]
*Observation* : *Observation* :
- désequencement: pas de déséquencement car sur un même réseau local + TCP qui garantit l'ordre - déséquencement: pas de déséquencement car sur un même réseau local + TCP qui garantit l'ordre
- pertes: TCP garantit la fiabilité (non perte de données) - pertes: TCP garantit la fiabilité (non perte de données)
### avec UDP ### avec UDP
@ -89,7 +92,7 @@ SOURCE: Envoi n° 9 ( 30) [ 9iiiiiiiiiiiiiiiiiiiiiiiii]
SOURCE: Envoi n° 10 ( 30) [ 10jjjjjjjjjjjjjjjjjjjjjjjjj] SOURCE: Envoi n° 10 ( 30) [ 10jjjjjjjjjjjjjjjjjjjjjjjjj]
``` ```
Dans le puit, on observe Dans le puits, on observe
``` ```
PUITS: lg_buf_appli=30, port=5678, nb_buf_appli=infini, TP= udp PUITS: lg_buf_appli=30, port=5678, nb_buf_appli=infini, TP= udp
@ -207,7 +210,7 @@ errno=111
``` ```
On lance la commande suivant sur la machine puits : On lance la commande suivante sur la machine puits :
```sh ```sh
tsock -p 5678 tsock -p 5678
``` ```
@ -304,8 +307,6 @@ Quand on envoie des données TCP avec un puits présent, on observe
``` ```
09:08:17.635928 IP insa-20154.insa-toulouse.fr.51189 > insa-20155.insa-toulouse.fr.5678: Flags [S], seq 601705128, win 64240, options [mss 1460,sackOK,TS val 4131103046 ecr 0,nop,wscale 10], length 0 09:08:17.635928 IP insa-20154.insa-toulouse.fr.51189 > insa-20155.insa-toulouse.fr.5678: Flags [S], seq 601705128, win 64240, options [mss 1460,sackOK,TS val 4131103046 ecr 0,nop,wscale 10], length 0
09:08:17.636037 IP insa-20155.insa-toulouse.fr.5678 > insa-20154.insa-toulouse.fr.51189: Flags [S.], seq 4035589501, ack 601705129, win 65160, options [mss 1460,sackOK,TS val 621274796 ecr 4131103046,nop,wscale 10], length 0 09:08:17.636037 IP insa-20155.insa-toulouse.fr.5678 > insa-20154.insa-toulouse.fr.51189: Flags [S.], seq 4035589501, ack 601705129, win 65160, options [mss 1460,sackOK,TS val 621274796 ecr 4131103046,nop,wscale 10], length 0
09:08:17.636081 IP insa-20155.insa-toulouse.fr.5678 > insa-20154.insa-toulouse.fr.51189: Flags [S.], seq 4035589501, ack 601705129, win 65160, options [mss 1460,sackOK,TS val 621274796 ecr 4131103046,nop,wscale 10], length 0
09:08:17.636155 IP insa-20154.insa-toulouse.fr.51189 > insa-20155.insa-toulouse.fr.5678: Flags [.], ack 1, win 63, options [nop,nop,TS val 4131103047 ecr 621274796], length 0
09:08:17.636155 IP insa-20154.insa-toulouse.fr.51189 > insa-20155.insa-toulouse.fr.5678: Flags [.], ack 1, win 63, options [nop,nop,TS val 4131103047 ecr 621274796], length 0 09:08:17.636155 IP insa-20154.insa-toulouse.fr.51189 > insa-20155.insa-toulouse.fr.5678: Flags [.], ack 1, win 63, options [nop,nop,TS val 4131103047 ecr 621274796], length 0
09:08:17.636244 IP insa-20154.insa-toulouse.fr.51189 > insa-20155.insa-toulouse.fr.5678: Flags [P.], seq 1:31, ack 1, win 63, options [nop,nop,TS val 4131103047 ecr 621274796], length 30 09:08:17.636244 IP insa-20154.insa-toulouse.fr.51189 > insa-20155.insa-toulouse.fr.5678: Flags [P.], seq 1:31, ack 1, win 63, options [nop,nop,TS val 4131103047 ecr 621274796], length 30
09:08:17.636271 IP insa-20155.insa-toulouse.fr.5678 > insa-20154.insa-toulouse.fr.51189: Flags [.], ack 31, win 63, options [nop,nop,TS val 621274809 ecr 4131103047], length 0 09:08:17.636271 IP insa-20155.insa-toulouse.fr.5678 > insa-20154.insa-toulouse.fr.51189: Flags [.], ack 31, win 63, options [nop,nop,TS val 621274809 ecr 4131103047], length 0
@ -354,7 +355,25 @@ Quand on envoie des données UDP avec puits ou sans puit, on observe
09:10:25.057001 IP insa-20154.insa-toulouse.fr.32851 > insa-20155.insa-toulouse.fr.5678: UDP, length 30 09:10:25.057001 IP insa-20154.insa-toulouse.fr.32851 > insa-20155.insa-toulouse.fr.5678: UDP, length 30
``` ```
### Observations Qu'il y ait un puits ou pas, UDP envoie des données contrairement à TCP.\
On voit donc que UDP n'établit pas de connexion.
S'il n'y a pas de puits, TCP n'envoie pas de données.\
S'il y a un puits, en regardant les drapeaux, on retrouve l'établissement de la connexion:
- S = Syn pour la demande de connexion
- S. = Syn-Ack pour validation de la connexion et demande d'une connexion dans l'autre sens\
- . = Ack validation de la connexion
- R = Reset pour finir la connexion une fois toutes les données envoyées
Empiriquement, on se rend compte que le protocole TCP est un protocole avec connexion.
Dans l'échange de données ci-dessus, on observe deux nouveaux drapeaux (P = packet et FP = final packet) responsables de l'envoi de données.\
On voit aussi que TCP n'envoie que deux trames de données alors que tsock en a envoyé dix.\
TCP ne conserve pas la frontière des messages, il se contente d'envoyer des octets.
*Observations*
- Mettre en évidence que UDP est sans connexion - Mettre en évidence que UDP est sans connexion
- Mettre en évidence que TCP est avec connexion - Mettre en évidence que TCP est avec connexion
@ -379,22 +398,22 @@ __Reprendre la Question 1 et capturer les trammes Ethernet avec `tcpdump`__
sudo tcpdump -xx port 5678 sudo tcpdump -xx port 5678
``` ```
Trame TCP Trame TCP (numéro de protocole 6)
0x0000: 1866 da44 b21f 1866 da44 b5ac 0800 4500\ 0x0000: 1866 da44 b21f 1866 da44 b5ac 0800 4500\
0x0010: 0052 ffb4 4000 4006 2483 0a01 0136 0a01\ 0x0010: 0052 ffb4 4000 40<span style="color:red">06</span> 2483 0a01 0136 0a01\
0x0020: 0137 82d5 162e 71c3 ecc9 8136 b67a 8018\ 0x0020: 0137 82d5 162e 71c3 ecc9 8136 b67a 8018\
0x0030: 003f 307c 0000 0101 080a f647 4eb2 2513\ 0x0030: 003f 307c 0000 0101 080a f647 4eb2 2513\
0x0040: 93ec 2020 2020 3161 6161 6161 6161 6161\ 0x0040: 93ec 2020 2020 3161 6161 6161 6161 6161\
0x0050: 6161 6161 6161 6161 6161 6161 6161 6161 0x0050: 6161 6161 6161 6161 6161 6161 6161 6161
Trame UDP Trame UDP (numéro de protocole 17)
0x0000: 1866 da44 b21f 1866 da44 b5ac 0800 4500\ 0x0000: 1866 da44 b21f 1866 da44 b5ac 0800 4500\
0x0010: 003a 5137 4000 4011 d30d 0a01 0136 0a01\ 0x0010: 003a 5137 4000 40<span style="color:red">11</span> d30d 0a01 0136 0a01\
0x0020: 0137 9535 162e 0026 3b9e 2020 2020 3161\ 0x0020: 0137 9535 162e 0026 3b9e 2020 2020 3161\
0x0030: 6161 6161 6161 6161 6161 6161 6161 6161\ 0x0030: 6161 6161 6161 6161 6161 6161 6161 6161\
0x0040: 6161 6161 6161 6161 0x0040: 6161 6161 6161 6161
@ -402,42 +421,46 @@ Trame UDP
### Analyse des résultats ### Analyse des résultats
Adresse Ethernet de la source: 18:66:da:44:b2:1f Adresse Ethernet de la source: 18:66:da:44:b5:ac
Adresse IP de la source: 10.1.1.54 Adresse IP de la source: 10.1.1.54
Port de la source: 33493
0x0000: <span style="color:red">1866 da44 b21f</span> 1866 da44 b5ac 0800 4500\
0x0010: 0052 ffb4 4000 4006 2483 <span style="color:red">0a01 0136 </span>0a01\
0x0020: 0137 82d5 162e 71c3 ecc9 8136 b67a 8018\
0x0030: 003f 307c 0000 0101 080a f647 4eb2 2513\
0x0040: 93ec 2020 2020 3161 6161 6161 6161 6161\
0x0050: 6161 6161 6161 6161 6161 6161 6161 6161
Pour l'adresse Ethernet du puits: 18:66:da:44:b5:ac
Adresse IP du puits: 10.1.1.54
0x0000: 1866 da44 b21f <span style="color:red">1866 da44 b5ac </span>0800 4500\ 0x0000: 1866 da44 b21f <span style="color:red">1866 da44 b5ac </span>0800 4500\
0x0010: 0052 ffb4 4000 4006 2483 0a01 0136 <span style="color:red">0a01</span>\ 0x0010: 0052 ffb4 4000 4006 2483 <span style="color:red">0a01 0136 </span>0a01\
0x0020: <span style="color:red">0137</span> 82d5 162e 71c3 ecc9 8136 b67a 8018\ 0x0020: 0137 <span style="color:red">82d5</span> 162e 71c3 ecc9 8136 b67a 8018\
0x0030: 003f 307c 0000 0101 080a f647 4eb2 2513\ 0x0030: 003f 307c 0000 0101 080a f647 4eb2 2513\
0x0040: 93ec 2020 2020 3161 6161 6161 6161 6161\ 0x0040: 93ec 2020 2020 3161 6161 6161 6161 6161\
0x0050: 6161 6161 6161 6161 6161 6161 6161 6161 0x0050: 6161 6161 6161 6161 6161 6161 6161 6161
Information sur le type de trame transmise (UDP ou TCP) Adresse Ethernet du puits: 18:66:da:44:b2:1f
- trouver le numéro de port utilisé par le puits 5678 Adresse IP du puits: 10.1.1.55
- trouver le numéro de port utilisé par la source (D'où vient-il ?) 38197 puis 496 Port du puits: 5678
0x0000: <span style="color:red">1866 da44 b21f</span> 1866 da44 b5ac 0800 4500\
0x0010: 0052 ffb4 4000 4006 2483 0a01 0136 <span style="color:red">0a01</span>\
0x0020: <span style="color:red">0137</span> 82d5 <span style="color:red">162e</span> 71c3 ecc9 8136 b67a 8018\
0x0030: 003f 307c 0000 0101 080a f647 4eb2 2513\
0x0040: 93ec 2020 2020 3161 6161 6161 6161 6161\
0x0050: 6161 6161 6161 6161 6161 6161 6161 6161
tsock en mode source choisi un port au hasard probablement entre 1024 et 65535 (non spécifié dans le manuel)
## Question 5 ## Question 5
### Qu'est que le mode broadcast __Qu'est que le mode broadcast ?__
Le mode broadcast permet de transmettre des trames à toutes les machines sur le réseau.
### Trouver l'adresse broadcast physique du réseau ### Trouver l'adresse broadcast physique du réseau
```sh ```sh
sudo tcpdump -xx broadcast sudo tcpdump -xx broadcast
``` ```
0x0000: ffff ffff ffff f8a2 d66e dac3 0806 0001\ Adresse de broadcast: ff:ff:ff:ff:ff:ff
0x0000: <span style="color:red">ffff ffff ffff</span> f8a2 d66e dac3 0806 0001\
0x0010: 0800 0604 0001 f8a2 d66e dac3 0a20 2965\ 0x0010: 0800 0604 0001 f8a2 d66e dac3 0a20 2965\
0x0020: 0000 0000 0000 a9fe a9fe 0000 0000 0000\ 0x0020: 0000 0000 0000 a9fe a9fe 0000 0000 0000\
0x0030: 0000 0000 0000 0000 0x0030: 0000 0000 0000 0000