Protocole de communication et programmation des sockets sous Unix

Protocole de communication

–La mise en œuvre des communications entre systèmes nécessite des protocoles de communication
-Protocole = un ensemble d ’ accords sur
• la représentation des bits
• détection de la fin d ’ un message
• acheminement des message
• représentation des nombres, des caractères
• etc…
• Il faut un accord à plusieurs niveaux, depuis les détails de bas niveau de la transmission des bits jusqu ’ à ceux de plus haut niveau de la représentation des données

Internet Protocol: Généralités

–Un peu d ’ histoire
• Mis au point par l ’ agence DARPA
• Le réseau concerné à l ’ origine était ARPANET devenu INTERNET
• Unix BSD 4.x premier a avoir intégré IP
–Ensemble de protocoles des couches 3 à 7
• permettant l ’ interconnexion de différents types de machines et de réseaux

Les Sockets

–Lessockets= API (Application Program Interface)
• interface entre les programmes d applications et les couches réseaux
• le terme Socket désigne aussi un canal de communication par lequel un processus peut envoyer ou recevoir des données
–L ’ API Socket s’ approche de l ’ API Fichier d ’ Unix
• Descripteur de socket dans la table des descripteurs du processus
• Primitives read(), write(), close(), ioctl(), fnctl(),select()
• Signaux SIGIO, SIGPIPE …
• Les descripteurs peuvent être partagés par les descendants de son créateur
–Un peu d ’ histoire
• Proposé par le système Unix BSD
• implémentationWinSockdeTrumpetpour Windows 3.x

LIRE AUSSI :  Exercice Linux 5 corrigé protection des fichiers

Création d ’ un Socket

#include<sys/types.h>
#include<sys/socket.h>
int socket(int domaine, int type, int protocole);
• crée un socketet retourne son numéro de descripteur dans la table des descripteurs du processus
• -1 si erreur (errnoest positionné)
• cependant le socket n ’ est pas lié (bounded) à un socket distant
• ce qui est nécessaire pour le mode connecté
• ce qui n ’ est pas nécessaire pour le mode non connecté

Création d ’ un socket

–Domaine d ’ adresse:
• Internet AF_INET, Unix AF_UNIX
• mais aussi AF_OSI, AF_NS, AF_SNA, AF_CCITT, AF_APPLETALK,

— Type
• au niveau bas du protocole (exemple :datagrammeIP) SOCK_RAW
• en mode non connecté SOCK_DGRAM, SOCK_RDM,SOCK_SEGPACKET
• en mode connecté SOCK_STREAM
–Protocole :
• par défaut à 0, le système choisit le protocole
• IPPROTO_UDPpour UDP avec les socketsde type SOCK_DGRAM,SOCK_RDM, SOCK_SEGPACKET
• IPPROTO_TCPpour TCP avec une socket de type SOCK_STREAM
• il existe d ’ autres protocoles
• dans le domaine AF_UNIX, il n ’ y a pas de protocole

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Programmation des sockets sous Unix (225 KO) (Cours PDF)
Programmation des sockets sous Unix

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *