150 lines
2.5 KiB
Markdown
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
|
|
```
|
|
|