# 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 ```