merge errors discovered
This commit is contained in:
parent
a2ec7ce772
commit
06d0e2858f
1 changed files with 57 additions and 34 deletions
91
tp.md
91
tp.md
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue