Compte_TP_Network/tp.md
2022-12-15 08:49:41 +01:00

150 lines
2.5 KiB
Markdown

# TP Réseau
## Question 1
__Réaliser un échange de données via TCP et UDP__
Choix arbitraire du port : 5678
### avec TCP
Sur la machine puits
```sh
tsock -p 5678
```
Sur la machine source
```sh
tsock -s getip102-03 5678
```
*Observation* :
* désequencement: pas de déséquencement car sur un même réseau local + TCP qui garantit l'ordre
* pertes: TCP garantit les pertes
### avec UDP
Sur la machine puits
```sh
tsock -p -u 5678
```
Sur la machine source
```sh
tsock -s -u getip102-03 5678
```
*Observation* :
* désequencement: pas de déséquencement
* pertes: pas de pertes sur des petits messages
#### Proposition d'experience pour montrer la non-fiabilité
```sh
tsock -p -u -t 10 5678
```
```sh
tsock -s -u -n 20 getip102-03 5678
```
> On peut aussi enlever l'affichage et augmenter le nombre de messages
*Observation* :
* pertes quand le buffer du puit est plein
## Question 2
__Même chose en changeant l'ordre du puit et de la source__
### avec TCP
Sur la machine source
```sh
tsock -s getip102-03 5678
```
Sur la machine puits
```sh
tsock -p 5678
```
*Observation* :
* La connexion échoue -> pas de données échangées
### avec UDP
Sur la machine source
```sh
tsock -s -u getip102-03 5678
```
Sur la machine puits
```sh
tsock -p -u 5678
```
*Observation* :
* Des données sont reçues quand la source envoi beaucoup de données, sinon on n'observe aucune donnée
## Question 3
__Capturer l'échange avec `tcpdump`__
Ici, on suppose que l'on va sur la machine hôte insa-20155
```sh
ssh tcpdump@insa-20155
```
Lancer tcpdump en tant que root
```sh
sudo tcpdump port 5678
```
### Observations
* Mettre en évidence que UDP est sans connexion
* Mettre en évidence que TCP est avec connexion
* Trouver les différentes phases de la connexion de TCP
#### Faire une expérience pour montrer que les frontières des trames ne sont pas conservées
remplacer 30 par un grand nombre.
```sh
tsock -s -l 30 getip102-03 5678
```
## Question 4
__Reprendre la Question 1 et capturer les trammes Ethernet avec `tcpdump`__
```sh
sudo tcpdump -xx port 5678
```
### Analyse des résultats
* trouver les adresses Ethernet et IP de la source et du puit
* Information sur le type de trame transmise (UDP ou TCP)
* trouver le numéro de port utilisé par le puit
* trouver le numéro de port utilisé par la source (D'où vient-il ?)
## Question 5
### Qu'est que le mode broadcast
### Trouver l'adresse broadcast physique du réseau
```sh
sudo tcpdump -xx broadcast
```