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
Sur la machine puit
On lance la commande suivante sur la machine puits:
```sh
tsock -p 5678
```
Sur la machine source
ensuite on execute tsock sur la machine source:
```sh
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: 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
@ -57,7 +60,7 @@ SOURCE: Envoi n° 10 ( 30) [ 10jjjjjjjjjjjjjjjjjjjjjjjjj]
*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)
### avec UDP
@ -89,7 +92,7 @@ SOURCE: Envoi n° 9 ( 30) [ 9iiiiiiiiiiiiiiiiiiiiiiiii]
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
@ -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
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.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.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
@ -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
```
### 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 TCP est avec connexion
@ -379,22 +398,22 @@ __Reprendre la Question 1 et capturer les trammes Ethernet avec `tcpdump`__
sudo tcpdump -xx port 5678
```
Trame TCP
Trame TCP (numéro de protocole 6)
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\
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
Trame UDP
Trame UDP (numéro de protocole 17)
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\
0x0030: 6161 6161 6161 6161 6161 6161 6161 6161\
0x0040: 6161 6161 6161 6161
@ -402,42 +421,46 @@ Trame UDP
### 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
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
Port de la source: 33493
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>\
0x0020: <span style="color:red">0137</span> 82d5 162e 71c3 ecc9 8136 b67a 8018\
0x0010: 0052 ffb4 4000 4006 2483 <span style="color:red">0a01 0136 </span>0a01\
0x0020: 0137 <span style="color:red">82d5</span> 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
Information sur le type de trame transmise (UDP ou TCP)
- trouver le numéro de port utilisé par le puits 5678
- trouver le numéro de port utilisé par la source (D'où vient-il ?) 38197 puis 496
Adresse Ethernet du puits: 18:66:da:44:b2:1f
Adresse IP du puits: 10.1.1.55
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
### 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
```sh
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\
0x0020: 0000 0000 0000 a9fe a9fe 0000 0000 0000\
0x0030: 0000 0000 0000 0000