From 67e3484364dd141f64c1b12410d4843ee0ac659f Mon Sep 17 00:00:00 2001 From: Philippe Latu Date: Mon, 27 Feb 2012 11:51:36 +0100 Subject: [PATCH] =?UTF-8?q?Initiation=20au=20d=C3=A9veloppement=20Qt=20sur?= =?UTF-8?q?=20les=20sockets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Version intermédiaire support avec copies d'écran Corrections typos sur l'utilisation de la constante MAX_MSG sur le support sur le Langage C. --- common/inetdoc.urls.xml | 3 + dev/Makefile | 6 +- dev/biblio-dev.xml | 8 + dev/socket-c/files/tcp-client.c | 4 +- dev/socket-c/files/udp-client.c | 4 +- dev/socket-c/socket-c.xml | 14 +- dev/socket-qt/.gitignore | 6 + dev/socket-qt/Makefile | 25 + dev/socket-qt/images/qt-architecture.png | Bin 0 -> 70860 bytes .../images/qt-creator-nogui-udp-receiver.png | Bin 0 -> 122552 bytes dev/socket-qt/socket-qt.xml | 805 ++++++++++++++++++ 11 files changed, 862 insertions(+), 13 deletions(-) create mode 100644 dev/socket-qt/.gitignore create mode 100644 dev/socket-qt/Makefile create mode 100644 dev/socket-qt/images/qt-architecture.png create mode 100644 dev/socket-qt/images/qt-creator-nogui-udp-receiver.png create mode 100644 dev/socket-qt/socket-qt.xml diff --git a/common/inetdoc.urls.xml b/common/inetdoc.urls.xml index 0258a1ef..2af10eaa 100644 --- a/common/inetdoc.urls.xml +++ b/common/inetdoc.urls.xml @@ -250,6 +250,9 @@ Initiation au développement C sur les sockets'> +Code du programme udp-client.c'> + diff --git a/dev/Makefile b/dev/Makefile index 91ab519a..643cee47 100644 --- a/dev/Makefile +++ b/dev/Makefile @@ -6,14 +6,16 @@ ABSTRACT_FILE = transform_output/abstract.xml # Liste des répertoires à traiter à partir de ce niveau SUBDIRS = \ - socket-c + socket-c \ + socket-qt # Type(s) de traitement PROCESS = subdirs xml2xhtml xml2pdf XML_FILES = \ biblio-dev.xml \ - socket-c/$(ABSTRACT_FILE) + socket-c/$(ABSTRACT_FILE) \ + socket-qt/$(ABSTRACT_FILE) all: $(PROCESS) diff --git a/dev/biblio-dev.xml b/dev/biblio-dev.xml index d3c8473d..49f02e82 100644 --- a/dev/biblio-dev.xml +++ b/dev/biblio-dev.xml @@ -3,6 +3,7 @@ "/usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd"[ + ]>
@@ -19,6 +20,13 @@ &socket-c.abstract; + + + + Les sockets en Langage C++ avec Qt + &socket-qt.abstract; + +
diff --git a/dev/socket-c/files/tcp-client.c b/dev/socket-c/files/tcp-client.c index 90021f20..e75568c0 100644 --- a/dev/socket-c/files/tcp-client.c +++ b/dev/socket-c/files/tcp-client.c @@ -67,8 +67,8 @@ int main() puts("\nEntrez quelques caractères au clavier."); puts("Le serveur les modifiera et les renverra."); puts("Pour sortir, entrez une ligne avec le caractère '.' uniquement."); - puts("Si une ligne dépasse MAX_MSG caractères,"); - puts("seuls les MAX_MSG premiers caractères seront utilisés.\n"); + puts("Si une ligne dépasse "xstr(MAX_MSG)" caractères,"); + puts("seuls les "xstr(MAX_MSG)" premiers caractères seront utilisés.\n"); // Invite de commande pour l'utilisateur et lecture des caractères jusqu'à la // limite MAX_MSG. Puis suppression du saut de ligne en mémoire tampon. diff --git a/dev/socket-c/files/udp-client.c b/dev/socket-c/files/udp-client.c index c50a58a3..d786d30c 100644 --- a/dev/socket-c/files/udp-client.c +++ b/dev/socket-c/files/udp-client.c @@ -61,8 +61,8 @@ int main() puts("\nEntrez quelques caractères au clavier."); puts("Le serveur les modifiera et les renverra."); puts("Pour sortir, entrez une ligne avec le caractère '.' uniquement."); - puts("Si une ligne dépasse MAX_MSG caractères,"); - puts("seuls les MAX_MSG premiers caractères seront utilisés.\n"); + puts("Si une ligne dépasse "xstr(MAX_MSG)" caractères,"); + puts("seuls les "xstr(MAX_MSG)" premiers caractères seront utilisés.\n"); // Invite de commande pour l'utilisateur et lecture des caractères jusqu'à la // limite MAX_MSG. Puis suppression du saut de ligne en mémoire tampon. diff --git a/dev/socket-c/socket-c.xml b/dev/socket-c/socket-c.xml index c227519b..04920331 100644 --- a/dev/socket-c/socket-c.xml +++ b/dev/socket-c/socket-c.xml @@ -101,7 +101,7 @@ . - + Instructions de compilation Il est possible de compiler les deux programmes @@ -151,8 +151,8 @@ Entrez le numéro de port du serveur : Entrez quelques caractères au clavier. Le serveur les modifiera et les renverra. Pour sortir, entrez une ligne avec le caractère '.' uniquement. -Si une ligne dépasse MAX_MSG caractères, -seuls les MAX_MSG premiers caractères seront utilisés. +Si une ligne dépasse 100 caractères, +seuls les 100 premiers caractères seront utilisés. Saisie du message : texte avec tabulation et espaces @@ -790,8 +790,8 @@ Entrez le numéro de port du serveur : Entrez quelques caractères au clavier. Le serveur les modifiera et les renverra. Pour sortir, entrez une ligne avec le caractère '.' uniquement. -Si une ligne dépasse MAX_MSG caractères, -seuls les MAX_MSG premiers caractères seront utilisés. +Si une ligne dépasse 100 caractères, +seuls les 100 premiers caractères seront utilisés. Saisie du message : message de test UDP @@ -868,8 +868,8 @@ Entrez le numéro de port du serveur : Entrez quelques caractères au clavier. Le serveur les modifiera et les renverra. Pour sortir, entrez une ligne avec le caractère '.' uniquement. -Si une ligne dépasse MAX_MSG caractères, -seuls les MAX_MSG premiers caractères seront utilisés. +Si une ligne dépasse 100 caractères, +seuls les 100 premiers caractères seront utilisés. Saisie du message : message de test TCP diff --git a/dev/socket-qt/.gitignore b/dev/socket-qt/.gitignore new file mode 100644 index 00000000..7d69c44e --- /dev/null +++ b/dev/socket-qt/.gitignore @@ -0,0 +1,6 @@ +author.xml +legal.xml +inetdoc.urls.xml +transform_output +*.css +*.html diff --git a/dev/socket-qt/Makefile b/dev/socket-qt/Makefile new file mode 100644 index 00000000..3cc6ed57 --- /dev/null +++ b/dev/socket-qt/Makefile @@ -0,0 +1,25 @@ +ifndef $(MAIN_DIR) +MAIN_DIR = $(HOME)/inetdoc +endif + +# Liste des répertoires à traiter à partir de ce niveau +#SUBDIRS = \ + files + +# Type(s) de traitement +PROCESS = subdirs symlink xml2xhtml xml2pdf + +SYMLINKS = \ + $(MAIN_DIR)/common/author.xml \ + $(MAIN_DIR)/common/legal.xml \ + $(MAIN_DIR)/common/inetdoc.urls.xml + +XML_FILES = \ + socket-qt.xml \ + author.xml \ + legal.xml \ + inetdoc.urls.xml + +all: $(PROCESS) + +include $(MAIN_DIR)/common/Makefile.Rules diff --git a/dev/socket-qt/images/qt-architecture.png b/dev/socket-qt/images/qt-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..644618372a5c19dc7d57df40562e0614020bc272 GIT binary patch literal 70860 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 N002ovPDHLkV1ir8)sp}K literal 0 HcmV?d00001 diff --git a/dev/socket-qt/images/qt-creator-nogui-udp-receiver.png b/dev/socket-qt/images/qt-creator-nogui-udp-receiver.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e11182f7a1f7b1f339877ce1716118fc3e07fc GIT binary patch literal 122552 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

N&;=w9!MD~Ts=Ra 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 >qtIKF$s2#B^*pZxeUEm3+mpYofY@P*{rjWP9 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 DWs6)_ literal 0 HcmV?d00001 diff --git a/dev/socket-qt/socket-qt.xml b/dev/socket-qt/socket-qt.xml new file mode 100644 index 00000000..35e53bf7 --- /dev/null +++ b/dev/socket-qt/socket-qt.xml @@ -0,0 +1,805 @@ + + + + + +%inetdoc_urls; + +]> + +

+ + + Initiation au développement Qt sur les sockets + + &author; + + Ce support est la suite de l'initiation au développement en Langage C + sur les sockets. L'objectif est à nouveau le même ; utiliser un code + minimaliste accessible aux débutants. Les bibliothèques Qt présentent un + grand intérêt lorsque l'on souhaite produire du code indépendant du système + d'exploitation sous-jacent. On aborde aussi la programmation orientée objet + avec ces bibliothèques. + + + GNU + Linux + inetdoc + socket + udp + tcp + client + serveur + qt + qtcreator + + + + + &legal; + + + Meta-information + + Cet article est écrit avec DocBook XML + sur un système Debian + GNU/Linux. Il est disponible en version imprimable au + format PDF : __printbasename__. + + + + + + Contexte de développement + + Comme ce support est la suite de celui sur le Langage C, on reprend le + même découpage en deux programmes distincts : un serveur et un client. À la + différence du support précédent, on ne présente pas le code des deux + programmes. Dans le but de limiter le volume du document, on introduit + uniquement le code de la partie serveur qui reçoit le message, le traite et + le réexpédie au client. On peut très bien réutiliser le programme client déjà + développé en Langage C : &url.socket-c.udp-client; + + Le principe d'illustration des communications réseau reste le même : + l'échange de chaînes de caractères. Le client émet un + message que le serveur traite et retransmet vers le + client. Le traitement est toujours aussi minimaliste ; + le serveur convertit la chaîne de caractères en + majuscules. + + + Bibliothèques Qt + + Le diagramme ci-dessous présente l'architecture des bibliothèques Qt. + Il met en évidence l'indépendance entre les développements et les systèmes + d'exploitation cibles. + + + + + + + + + + Architecture Qt - source qt.nokia.com + + + + Dans notre contexte, on utilise le Langage C++ et l'environnement de + développement intégré Qt Creator. Cet environnement de + développement intègre les bibliothèques Qt réseau dont nous avons + besoin. + + On se propose de développer le programme serveur en deux temps. + + + + Une version sans graphisme mettant en évidence les appels de + bibliothèques propres à l'utilisation des + sockets. + + + Une version avec une fenêtre graphique dans laquelle on affiche les + messages reçus depuis un programme client ainsi que l'adresse + IP et le numéro de port utilisés par ce programme + client. + + + + + + Instructions d'exécution + + On exécute le programme client déjà développé en + Langage C dans un Shell alors que le programme + serveur est géré directement par l'environnement + Qt Creator. On peut exécuter ces deux programmes sur + le même hôte en utilisant l'interface de boucle locale pour les + communications réseau. + + + + Le programme serveur + nogui-udp-receiver + + + + + + + + + + + Qt Creator - exécution du programme serveur + + + + + Déplacer le pointeur de la souris sur l'image, clicker sur le + bouton droit et lancer «Afficher l'image» pour lire les messages. + + + C'est dans la partie inférieure droite de la copie d'écran que l'on + retrouve en rouge les messages échangés entre les programmes + client et serveur. Le code + utilisé ici correspond à la version sans graphisme du programme + serveur. + + + + + Le programme client + udp-client.o + +$ ./udp-client.o +Entrez le nom du serveur ou son adresse IP : +127.0.0.1 +Entrez le numéro de port du serveur : +8888 + +Entrez quelques caractères au clavier. +Le serveur les modifiera et les renverra. +Pour sortir, entrez une ligne avec le caractère '.' uniquement. +Si une ligne dépasse 100 caractères, +seuls les 100 premiers caractères seront utilisés. + +Saisie du message : + texte de test avec tabulation et espaces +Message traité : TEXTE DE TEST AVEC TABULATION ET ESPACES +Saisie du message : +_exit_ +Message traité : _EXIT_ +Saisie du message : +serveur arrêté +** Le serveur n'a répondu dans la seconde. +Saisie du message : +. + + + + + Lorsque le programme serveur est en cours + d'exécution, il est possible de visualiser la correspondance entre le + processus en cours d'exécution et le numéro de port en écoute à l'aide de la + commande netstat. + +$ netstat -aup | grep -e Proto -e 8888 +(Tous les processus ne peuvent être identifiés, les infos sur les processus +non possédés ne seront pas affichées, vous devez être root pour les voir toutes.) +Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name +udp 0 0 *:8888 *:* 3321/QtCreator_UDP + + Dans l'exemple ci-dessus, le numéro de port 8888 + apparaît dans la colonne et processus numéro + 3321 correspond bien au programme + QtCreator_UDP_receiver dans la colonne . + + + + Bibliothèques utilisées + + Les bibliothèques standards du Langage C utilisées par le programme + client sont présentées dans le document &url.socket-c;. + On ne s'intéresse ici qu'à l'utilisation de la «brique» réseau des + bibliothèques Qt. + + + + libc6-dev + netdb.h + + Opérations sur les bases de données réseau. Ici, c'est la fonction + gethostbyname() qui est utilisée. Elle renvoie une + structure de type hostent pour l'hôte + name. La chaîne name est + soit un nom d'hôte, soit une adresse IPv4, soit une + adresse IPv6. Pour obtenir plus d'informations, il + faut consulter les pages de manuels : man + gethostbyname. + + + + libc6-dev + netinet/in.h + + Famille du protocole Internet. Ici, plusieurs fonctions sont + utilisées à partir du paramètre de description de socket + sockaddr_in. Les quatre fonctions importantes + traitent de la conversion des nombres représentés suivant le format hôte + (octet le moins significatif en premier sur processeur Intel x86) ou + suivant le format défini dans les en-têtes réseau (octet le plus + significatif en premier). Ici le format hôte fait référence à + l'architecture du processeur utilisé. Cette architecture est dite + «petit-boutiste» pour les processeurs de marque + Intel majoritairement utilisés dans les + ordinateurs de type PC. À l'inverse, le format défini + dans les en-têtes réseau est dit «gros-boutiste». Cette définition + appelée Network Byte Order provient à la fois du + protocole IP et de la couche liaison du modèle + OSI. + + + htonl() et + htons() : conversion d'un entier long et d'un + entier court depuis la représentation hôte (octet le moins significatif + en premier ou Least Significant Byte First) + vers la représentation réseau standard (octet le plus significatif en + premier ou Most Significant Byte + First). + + + ntohl() et + ntohs() : fonctions opposées aux précédentes. + Conversion de la représentation réseau vers la représentation + hôte. + + + + + + libstdc++6-dev + stdio.h + + Opérations sur les flux d'entrées/sorties de base tels que l'écran + et le clavier. Ici, toutes les opérations de saisie de nom d'hôte, + d'adresse IP, de numéro de port ou de texte sont + gérées à l'aide des fonctions usuelles du langage C. + + Les fonctions d'affichage sans formatage puts + et fputs ainsi que la fonction d'affichage avec + formatage printf sont utilisées de façon + classique. + + En revanche, la saisie des chaînes de caractères à l'aide de la + fonction scanf est plus singulière. Comme le but des + communications réseau évaluées ici est d'échanger des chaînes de + caractères, il est nécessaire de transmettre ou recevoir des suites de + caractères comprenant aussi bien des espaces que des tabulations. + + La syntaxe usuelle de saisie d'une chaîne de caractère est : + +scanf("%s", msg); + + Si on se contente de cette syntaxe par défaut, la chaîne saisie est + transmise par le programme client mot par mot. En + conséquence, le traitement par le programme serveur + est aussi effectué mot par mot. + + Pour transmettre une chaîne complète, on utilise une syntaxe du + type suivant : + +scanf(" %[^\n]%*c", msg); + + Le caractère espace situé entre les guillemets de gauche et le + signe pourcentage a pour but d'éliminer les caractères ' + ', '\t' et '\n' qui + subsisteraient dans la mémoire tampon du flux d'entrée standard + stdin avant la saisie de nouveaux caractères. + + La syntaxe [^\n] précise que tous les caractères + différents du saut de ligne sont admis dans la saisie. On évite ainsi que + les caractères ' ' et '\t' soient + considérés comme délimiteurs. + + L'ajout de %*c permet d'éliminer le + délimiteur '\n' et tout caractère situé après dans la + mémoire tampon du flux d'entrée standard. + + Enfin, pour éviter tout débordement de la mémoire tampon du même + flux d'entrée standard, on limite le nombre maximum des caractères saisis + à la quantité de mémoire réservée pour stocker la chaîne de caractères. + La «constante» MAX_MSG définie via une directive de + préprocesseur est introduite dans la syntaxe de formatage de la saisie. + Pour cette manipulation, on fait appel à une fonction macro qui renvoie + la valeur de MAX_MSG comme nombre maximum de + caractères à saisir. + + On obtient donc finalement le formatage de la saisie d'une chaîne + de caractères suivant : + +scanf(" %"xstr(MAX_MSG)"[^\n]%*c", msg); + + + + + D'une manière générale, toutes les fonctions sont documentées à l'aide + des pages de manuels Unix classiques. Soit on entre directement à la console + une commande du type : man inet_ntoa, soit on + utilise l'aide du gestionnaire graphique pour accéder aux mêmes informations + en saisissant une URL du type suivant à partir du + gestionnaire de fichiers : man:/inet_ntoa. + + + + Choix du premier protocole de transport étudié + + Au dessus du protocole de couche réseau IP, on doit + choisir entre deux protocoles de couche transport : + TCP ou UDP. + + Dans l'ordre chronologique, le protocole TCP est le + premier protocole à avoir été développé. Il «porte la moitié» de la + philosophie du modèle Internet. Cette philosophie veut que la couche + transport soit le lieu de la fiabilisation des communications. Ce protocole + fonctionne donc en mode connecté et contient tout les outils nécessaires à + l'établissement, au maintien et à la libération de connexion. De plus, des + numéros de séquences garantissent l'intégrité de la transmission et le + fenêtrage de ces numéros de séquences assure un contrôle de flux. Tout ces + mécanismes ne sont pas évidents à appréhender pour un public débutant. + + Le protocole UDP a été développé après + TCP. La philosophie de ce mode de transport suppose que le + réseau de communication est intrinsèquement fiable et qu'il n'est pas + nécessaire de garantir l'intégrité des transmissions et de contrôler les + flux. On dit que le protocole UDP n'est pas orienté + connexion ; ce qui a pour conséquence d'alléger considérablement les + mécanismes de transport. + + L'objectif du présent document étant d'initier à l'utilisation des + sockets, on s'appuie dans un premier temps sur le protocole de transport le + plus simple : UDP. Les programmes «client» et + «serveur» sont repris dans un second temps en utilisant le protocole + TCP. En termes de développement, les différences de mise + en œuvre des sockets sont minimes. C'est à l'analyse réseau que la différence + se fait sachant que les mécanismes de fonctionnement des deux protocoles sont + très différents. + + Pour plus d'informations, consulter le support . + + + + Sockets & protocole de transport UDP + + Le schéma ci-dessous présente les sous-programmes sélectionnés côté + client et côté serveur pour la mise en œuvre des sockets avec le protocole de + transport UDP. + + Les appels de sous-programmes avec les passages de paramètres sont + détaillés dans les sections suivantes. + + + + Serveur : + + + + + + + + + + + + Socket et protocole UDP + + + + + + Sockets & protocole de transport TCP + + Le schéma ci-dessous présente les sous-programmes sélectionnés côté + client et côté serveur pour la mise en œuvre des sockets avec le protocole de + transport TCP. + + Les appels de sous-programmes avec les passages de paramètres sont + détaillés dans les sections suivantes. + + + + Serveur : + + + + + + + + + + + + Socket et protocole TCP + + + + + + + Programme serveur UDP + + + Utilisation des sockets avec le serveur UDP + + Au niveau du serveur, l'objectif est aussi + d'ouvrir un nouveau socket ; ce qui revient aussi à + ouvrir un canal de communication réseau avec la fonction + socket. + + + int listenSocket; + +<snipped/> +listenSocket = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); +if (listenSocket < 0) { + fputs("Impossible de créer le socket en écoute", stderr); + exit(EXIT_FAILURE); + } + + Cette étape ne présentant aucune différence avec le niveau client, on + relie le numéro de socket avec le numéro de port choisi. + + + int listenSocket; + struct sockaddr_in serverAddress; + +<snipped/> +serverAddress.sin_family = PF_INET; +serverAddress.sin_addr.s_addr = htonl(INADDR_ANY); +serverAddress.sin_port = htons(listenPort); + +if (bind(listenSocket, + (struct sockaddr *) &serverAddress, + sizeof(serverAddress)) < 0) { + fputs("Impossible de lier le socket en écoute", stderr); + exit(EXIT_FAILURE); + } + + + + spécifie que le programme est en écoute + sur toutes les adresses IP sources. + + + contient le résultat de l'appel de + la fonction socket ; le numéro du canal de + communication entre le programme et la pile des protocoles réseau. + + + et + correspondent à la structure de + désignation de l'adresse IP et du numéro de port du + serveur puis à la taille de cette structure. + + + + Une fois la liaison en place, le programme attend les datagrammes + provenant du client. + + int listenSocket; + struct sockaddr_in clientAddress; + char line[(MAX_MSG+1)]; + +<snipped/> +listen(listenSocket, 5); + +<snipped/> +if (recvfrom(listenSocket, msg, MAX_MSG, 0, + (struct sockaddr *) &clientAddress, + &clientAddressLength) < 0) { + fputs("Problème de réception du messsage", stderr); + exit(EXIT_FAILURE); + } + + + + La fonction listen «active» l'utilisation du + canal de communication initié avec la fonction + socket. Le second paramètre définit + le nombre maximal de demandes de «connexions» en attente. + + + Les paramètres et + correspondent au datagramme et à sa longueur. + + + + Enfin, les émissions de datagramme du serveur vers le client utilisent + exactement les mêmes appels à la fonction sendto que les + émissions du client vers le serveur. + + + + Code source complet + + Code du programme udp-server.c : + + + + + + + Programme serveur TCP + + + Utilisation des sockets avec le serveur TCP + + Comme dans le cas du programme client, le fait que le protocole + TCP soit un service orienté + connexion entraîne un changement important dans le code source du + programme serveur précédent. Le contrôle d'erreur est directement intégré + dans la couche transport. + + Si le client fait appel à la fonction connect pour + demander l'établissement d'une connexion, le serveur fait appel à la fonction + accept pour recevoir les nouvelles demandes de + connexion. + + int socketDescriptor; + struct sockaddr_in serverAddress; + +<snipped/> +connectSocket = accept(listenSocket, + (struct sockaddr *) &clientAddress, + &clientAddressLength); + +if (connectSocket < 0) { + fputs("Impossible d'accepter une connexion", stderr); + close(listenSocket); + exit(EXIT_FAILURE); + } + + En cas d'échec de l'ouverture du socket de réception des demandes + d'établissement de connexion, on abandonne le traitement. + + + + Patch code source + + Patch du programme tcp-server.c : + + + + + + + Analyse réseau avec Wireshark + + L'analyse réseau présente un grand intérêt dans la validation des + développements. Elle permet de contrôler le bon fonctionnement des + communications suivant les jeux de protocoles utilisés. Ici, on peut + différencier le fonctionnement des deux protocoles de la couche transport en + analysant les échanges entre les deux programmes client + et serveur. + + L'utilisation de l'analyseur wireshark est + présentée dans le support &url.intro.analyse;. + + Les analyses présentées ci-après ont été réalisées dans les conditions + suivantes : + + + + Le programme serveur est exécuté sur l'hôte + ayant l'adresse IP 192.200.0.1. Ce programme est toujours en + écoute sur le port 4000. + + + Le programme client est exécuté sur l'hôte ayant + l'adresse IP 192.200.0.30. + + + + Voici deux captures réseau d'échange de datagramme entre un client avec + l'adresse IP 192.168.1.1 et un serveur avec l'adresse + IP 192.168.1.101. Le serveur est en + écoute sur le port 4000. + + + Analyse avec le protocole UDP + + Avant de passer à l'analyse, voici les copies d'écran de l'exécution + des programmes. + + + + Côté serveur : + +$ ./udp-server.o +Entrez le numéro de port utilisé en écoute (entre 1500 et 65000) : +4000 +Attente de requête sur le port 4000 +>> depuis 192.200.0.30:45686 + Message reçu : message de test UDP +^C + + + Côté client : + +$ ./udp-client.o +Entrez le nom du serveur ou son adresse IP : +192.200.0.1 +Entrez le numéro de port du serveur : +4000 + +Entrez quelques caractères au clavier. +Le serveur les modifiera et les renverra. +Pour sortir, entrez une ligne avec le caractère '.' uniquement. +Si une ligne dépasse MAX_MSG caractères, +seuls les MAX_MSG premiers caractères seront utilisés. + +Saisie du message : + message de test UDP +Message traité : MESSAGE DE TEST UDP +Saisie du message : +. + + + + Dans la copie d'écran ci-dessous, on retrouve l'ensemble des éléments + énoncés auparavant. + + + + Chaîne de caractères traitée dans la partie données de la couche + application. + + + Numéros de ports utilisés dans les en-têtes de la couche transport. + + + Adresses IP utilisées dans les en-têtes de la + couche réseau. + + + + + + + + + + + + Wireshark et protocole UDP + + + + Enfin, le fait que la capture se limite à deux échanges illustre la + principale caractéristique du protocole UDP : un service + de datagramme non orienté connexion qui suppose un réseau sous-jacent fiable + et sans erreur. + + + + Analyse avec le protocole TCP + + Comme dans le cas précédent, voici les copies d'écran de l'exécution + des programmes avant de passer à l'analyse réseau. + + + + Côté serveur : + +$ ./tcp-server.o +Entrez le numéro de port utilisé en écoute (entre 1500 et 65000) : +4000 +Attente de connexion TCP sur le port 4000 +>> connecté à 192.200.0.30:59490 + -- message de test TCP + -- nouveau message avant clôture de la connexion +Attente de connexion TCP sur le port 4000 +^C + + + Côté client : + +$ ./tcp-client.o +Entrez le nom du serveur ou son adresse IP : +192.200.0.1 +Entrez le numéro de port du serveur : +4000 + +Entrez quelques caractères au clavier. +Le serveur les modifiera et les renverra. +Pour sortir, entrez une ligne avec le caractère '.' uniquement. +Si une ligne dépasse MAX_MSG caractères, +seuls les MAX_MSG premiers caractères seront utilisés. + +Saisie du message : +message de test TCP +Message traité : MESSAGE DE TEST TCP +Saisie du message : +nouveau message avant clôture de la connexion +Message traité : NOUVEAU MESSAGE AVANT CLôTURE DE LA CONNEXION +Saisie du message : +. + + + + Dans la copie d'écran ci-dessous, on retrouve l'ensemble des éléments + déjà connus : chaîne de caractères traitée, numéros de port en couche + transport et adresses IP en couche réseau. + + + + + + + + + + Wireshark et protocole TCP + + + + Cette copie d'écran se distingue de la précédente, par le nombre de + trames capturées alors que le traitement effectué est quasiment le même. La + capture réseau fait apparaître les phases d'établissement, de maintien et de + libération d'une connexion. On illustre ainsi toutes les fonctions de + fiabilisation apportées par le protocole TCP. + + À partir de ces quelques trames, on peut reprendre l'analyse de la + poignée de main à trois voies, de l'évolution des numéros de séquence et de + l'évolution de la fenêtre d'acquittement. + + + + + Documents de référence + + + + Modélisations réseau + + &url.modelisations; : présentation et comparaison des + modélisations OSI et Internet. + + + + + Adressage IPv4 + + &url.adressage.ipv4; : support complet sur l'adressage du + protocole de couche réseau de l'Internet + (IP). + + + + + Configuration d'une interface réseau + + &url.config.interface.lan; : support sur la configuration des + interfaces réseau. Il permet notamment de relever les adresses + IP des hôtes en communication. + + + + +