diff --git a/tp.md b/tp.md new file mode 100644 index 0000000..d6aa328 --- /dev/null +++ b/tp.md @@ -0,0 +1,150 @@ +# 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 +``` +