Couche Applicative

But

Nous savons envoyer des données à un ordinateur sur internet, examinons d'abord quelques utilisations classique de la chose. Pour illustrer les choses nous utiliserons le fichier filius à télécharger.

Le web

Si pour le grand publique internet se limite au web (et aux mails), il ne fut crée que beaucoup plus tard (année 1990 soit 20 ans après Arpanet) par Tim Berners-Lee

. Il est inutile de parler du succès et de la transformation du modèle économique qui l'accompagne.

Tim Berners-Lee closeup Wikimedia Foundation Servers-8055 35

Le web est basé sur un modèle client serveur, vous faites une demande à une machine distante (qui peut être un simple ordinateur) qui exécute un programme appelé lui aussi serveur (pour être précis serveur web) (apache est un serveur très connu). Le client (en clair vous à travers votre demande de votre navigateur) faites une demande au serveur web via un protocole HTTP ou HTTPS (sécurisé), le serveur réceptionne votre demande et va envoyer le fichier html qui correspond (il peut très bien le créer en direct) avec PHP.

La messagerie

Pour le messagerie il faut s'incrire à un service de messagerie et récupèrer une adresse mail.

Le problème de la messagerie (les e-mail ou courriel en français) est séparé en deux :

Présentons le fonctionnement à l'aide d'un exemple : Alain (adresse alain@ac-paris.fr) veut envoyer un courrier électronique à benoit@ac-strasbourg.fr, il va d’abord envoyer le courrier au serveur d envoie de son service (soit celui associé à ac-paris.fr) de là le courrier va être transféré à au serveur de réception de ac-strasbourg.fr. Benoit doit alors se connecter au serveur de réception de ac-strasbourg.fr pour récupérer son courrier.

Remarques

un gros problème des courriels est le spam, il est relativement simple d'envoyer de créer un serveur d'envoie puis de générer des messages.

Le transfert de fichier.

Si un jour vous devez héberger votre site sur un serveur mail tier, vous allez devoir envoyer vos pages vers ce serveur, pour cela vous allez installer un logiciel (FileZilla par exemple) pour envoyer des fichiers à un autre ordinateur en utilisant le protocole FTP (File transfert protocole), la aussi on se retrouve avec un modèle client serveur. Le serveur est la machine qui va recevoir les fichiers.

Le peer to peer (P2P).

Dans le pair à pair, chaque ordinateur est à la fois client et serveur, on peut choisir de partager des fichiers avec la communauté du même réseau P2P (qui possède le même logiciel de partage). Comme on peut choisir de partager des fichiers soumis à des droits d'auteurs, les réseaux P2P ont souvent des problèmes avec la justice.

Les serveurs DNS.

Pour l'instant nous utilisons l'adresse IPv4 ou IPv6 pour se connecter à un ordinateur distant, pourtant vous n'avez sans doute jamais utilisé cette adresse pour vous connecter sur le net, comme l'usage d'un IPv4 n'est pas pratique on utilise des serveurs dit DNS (Domain Name System) pour faire correspondre un nom avec une adresse.

Un serveur DNS fait donc correspondre une adresse en caractère avec son adresse numérique, comme un gros annuaire telephonique.

Donc au moment de faire une requete pour aller sur un site, votre navigateur va d'abord faire une requete auprès d'un serveur DNS distant qui va lui retourner l'adresse Ip enfin la requete va se faire vers le bon endroit.

Socket

Quand une application veut communiquer des données sur le réseau elle crée un socket (ou en français une prise). Une prise de courant permet de relier un appareil au réseau électrique et bien le socket permet de relier l'application au réseau (sauf que la connexion est logicielle et pas physique). Au socket elle donne son adresse IP, et un numéro appelé port qui va identifier les données qui lui sont adressées.

Le port est codé sur 16 bits (= 2 octets) et on a donc 216 = 65 536 numéros possibles, on peut voir le port comme une boite qui contient les données à la fin de la partie transport (où au début si on désire envoyer).

L'application a aussi le choix entre deux façons de transférer les données, UDP et TCP.

Un peu de pratique

Nous allons voir comment communiquer entre deux ordinateurs en python, pour être précis un ordinateur (le client) va envoyer du texte à l'autre. (le serveur).

Le serveur d'écoute :


	

Le client :


	

Vous remarquez que l'on donne le port et l'adresse IP du service qui écoute, ici la communication est dans un sens, le client va envoyer au serveur d'écoute, comme il n'y a pas de réponses on n' pas besoin d'avoir l'adresse IP de départ.

Remarques

Pour le faire marcher chez vous :

Un morpion