Internet

Banner

Fonctionnement Internet

France Herry, Katalin Pinter, Clémence Grégoire

1TIE1 - Structure ordinateur et réseau

Border

DNS

About frame About

1. Rôle

1.1Qu'appelle-t-on DNS ?

Chaque ordinateur directement connecté à internet possède au moins une adresse IP propre. Pour éviter de devoir travailler avec des adresses numériques tel que 194.54.85.1, ces adresses sont associées à des adresses plus explicites , comme www.monsite.be. Il est possible d'associer ces adresses en langage courant aux adresses numériques grâce au système appelé DNS.
Pour résumé, à la base, le DNS stocke des associations « nom symbolique » <=> « adresse IP », et répond à des questions comme « Quel est le nom symbolique de 194.54.85.1 ? » ou encore « Quelle est l'IP de www.monsite.be ? ». La première question s'appelle résolution d'adresse et la seconde résolution de nom.

1.2 Brève histoire

La croissance rapide d'Internet fait naître le besoin d'un système automatisé de maintenance et de distribution de la table de correspondance entre nom symbolique et adresse numérique. En 1983, Paul Mockapetris conçut alors le système de noms de domaine ( DNS ). En 1984, Arpanet, divisée en un réseau militaire et un réseau public, compte 4 millions de « nœuds » et 1000 ordinateurs. S'acharner à distribuer le petit fichier HOSTS n'est plus raisonnable ( même si le mécanisme HOSTS existe toujours dans tous les systèmes d'exploitation, est toujours utilisé et prioritaire. ). La même année, quatre étudiants de l'Université de Californie Berkeley écrivent la première implémentation DNS pour Unix, appelé BIND ( pour Berkeley Internet Name Domain Server ). En 1985, la mise en œuvre de BIND sera révisée. BIND sera maintenu durant les années suivantes et est encore aujourd'hui le logiciel de DNS le plus utilisé, notamment sous les systèmes Unix.
NB : Nœud : Extrémité d'une connexion, qui peut être une intersection de plusieurs connexions ou équipements. HOSTS : Le fichier HOSTS est un fichier utilisé par le système d'exploitation d'un ordinateur lors de l'accès à Internet. Son rôle est d'associer des noms d'hôtes à des adresses IP. Ce fichier est consulté avant l'accès au serveur DNS et permet donc au système de connaître l'adresse IP associée au nom de domaine sans avoir recours à une requête DNS.

2. Structure

2.1 TLD ( Top Level Domain ) ou domaine de premier niveau

Dans une adresse telle que fr.monsite.org, le .org est le TLD. Les plus fréquents sont .com .net et .org À l'origine, il étaient indiqués « .org. », le dernier point indiquait la fin du nom de domaine. Par simplicité, dans la vie courante, il est coutume de ne plus l'indiquer. Il peut toutefois être nécessaire dans la configuration de certains serveurs spécifiques. Le point précédant le domaine de premier niveau sert à séparer le domaine de premier niveau du sous-domaine.

2.2 Structure arborescente

La structure du DNS est une arborescence inversée.
Dans cette arborescence sont définis des domaines de niveaux supérieurs, les TLD qui se trouvent juste en dessous de la racine « . ».
Ensuite viennent les noms de domaines, comme google, wikipedia, monsite...
Enfin, l'extrémité d'une branche est appelée hôte, et correspond à une machine ou une entité du réseau. Le nom d'hôte qui lui est attribué doit être unique dans le domaine ou sous domaine considéré. Par exemple, le serveur Web d'une entité accessible par internet porte souvent le nom de « www ».
On appelle souvent « domaine » tout ce qui précède le nom d'hôte, par exemple monsite.be est un domaine dont www est l'hôte.
Le FQDN ( Fully qualified domain name - nom de domaine complètement qualifié) est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence DNS. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le FQDN est ponctué par un point final. Dans ce cas ci, le FQDN est « www.monsite.be. »

3. Résolution de nom

Le mécanisme consistant à trouver l'adresse IP correspondant au nom symbolique est appelé « résolution de nom ». Quand un serveur DNS doit trouver l'adresse IP de fr.monsite.com, un processus itératif démarre pour consulter la hiérarchie DNS. Ce serveur demande aux serveurs DNS appelés serveurs racines quels serveurs peuvent lui répondre pour la zone com. Parmi ceux-ci, le serveur va en choisir un pour savoir quels serveurs sont capables de lui répondre pour la zone monsite.com. C'est un de ces derniers qui pourra lui donner l'adresse IP de fr.monsite.com. S'il se trouve qu'un serveur ne répond pas, un autre serveur de la liste sera consulté.

NB : Le processus itératif est une séquence d'instructions destinée à être exécutée plusieurs fois et autant de fois qu'on peut en avoir besoin.

Quelques liens utiles

http://www.commentcamarche.net/contents/518-dns-systeme-de-noms-de-domaine
http://sebsauvage.net/comprendre/dns/
http://assiste.com/Hosts_et_DNS_un_peu_d_histoire.html

Border

URL - HTTP(s)

About frame About

1. URL

1.1. Définition

Les adresses de page Web sont appelées « URL ».
Une URL (Uniform Resource Locator) est un format universel pour désigner une ressource sur Internet et qui se décompose en 5 parties.
La première, est le protocole. Le plus utilisé est le protocole HTTP.
La deuxième est l’identifiant et le mot de passe qui servent à accéder à un serveur sécurisé.
La troisième est le nom du serveur, notamment le nom de domaine.
La quatrième est le numéro de port et la dernière est le chemin d’accès à la ressource. Tous ceci, va nous permettre d’ouvrir une page internet.

1.2. Usage

Sur Internet, chaque page web a sa propre adresse et 2 documents ne peuvent avoir la même adresse. De cette façon, tout le monde peut trouver n’importe quel document au monde très rapidement.

1.3. Fonctionnement

L’URL est une adresse universelle puisque partout dans le monde nous utilisons la même forme d’adressage comme par exemple ; www.heaj.be/fr/infographie La première partie de l’adresse www.heaj.be est appelée le nom de domaine de l’ordinateur où se trouve le fichier.
L’autre partie de l’adresse « /fr/infographie » est appelée le chemin, car elle indique l’endroit où se trouve le fichier dans l’ordinateur.
Les URL commencent toujours avec des caractères bien spécifiques qui indiquent le mode de transmission de la page internet. Ces caractères sont ; http://, https:// ou ftp://. Les adresses web sont la base des hyperliens du Web.

2. HTTP

2.1. Définition

HTTP a été inventé par Tim Berners-Lee dès 1990 avec les adresses Web et le langage HTML pour créer le World Wide Web.
HTTP (HyperText Transfer Protocol) est un protocole de transfert hypertexte. Celui-ci est un protocole de communication client-serveur développé pour le WWW.  

2.2. Fonctionnement

C’est un protocole de niveau application suffisamment léger et rapide pour la transmission de documents distribués et multimédia à travers un système d’information multi-utilisateurs.
Ce protocole réseau est utilisé par les navigateurs Web, tel que Google Chrome, Safari, Firefox, … et les serveurs Web comme Apache, IIS,… pour communiquer entre eux. C’est grâce à lui que nous pouvons poster un formulaire Internet, obtenir un fichier HTML ou une image. Il est donc au cœur de l’internet.
Ce protocole est de la couche application. Il fonctionne sur n’importe quelle connexion fiable et s’appuie sur les protocoles plus bas niveau TCP et IP. Nous utilisons le protocole TCP comme couche de transport. Un serveur HTTP utilise par défaut le port 80 et 443 pour HTTPS. Le port correspond à la couche du transport du modèle OSI.
Googlebot, un des robots des moteurs de recherches utilise également le protocole http pour communiquer avec les serveurs Web en explorant les sites internet.

6 étapes pour comprendre la communication entre un navigateur et un serveur Web avec le protocole HTTP:
1) L’internaute donne une URL telle que https://www.heaj.be/fr/infographie au navigateur.
2) Le navigateur en extrait le nom de domaine www.heaj.be et à partir de cette information, il trouve le serveur Web distant grâce à une opération DNS lookup qui résout un nom de domaine en une adresse IP.
3) Ensuite, une connexion basée sur les protocoles TCP/IP est établie entre le navigateur et le serveur web distant.
4) Une requête HTTP demandant la ressource « /fr/infographie » est transmise par le navigateur.
5) Le serveur Web trouve la ressource correspondante et en renvoie le contenu dans une réponse HTTP.
6) Le navigateur est désormais capable d’afficher le fichier HTML à l’internaute.

2.2.1. En tête HTTP d’une requête

Un exemple d’entête de requête envoyé par un navigateur tel que Safari :
GET /fr/infographie.html HTTP/1.1[CRLF]
Host: www.heaj.be[CRLF]
User-Agent: Mozilla/5.0 Safari/531.9[CRLF]
[CRLF]

La première ligne contient toujours le type de requête, la partie chemin de l’URL de la ressource cible et enfin la version du protocole (1.0 ou 1.1). Les 2 types de requêtes les plus connus sont :
GET : Obtenir une ressource.
POST : Envoyer le contenu d’un formulaire HTML
Les [CRLF] signifient une séquence ASCII [10-13] et appelée Carriage Return – Line Feed. C’est un délimiteur utilisé par le protocole http pour séparer les lignes de l’en-tête.
Les lignes suivantes sont des champs HTTP, toujours écrites de la manière suivante « NomChamps : Valeur ». Tout ceci constitue l’en-tête de la requête.
Pour les POST, il peut y avoir un corps « body » pour la requête.

2.2.2. En-tête HTTP d’une réponse

Un exemple d’entête de réponse renvoyé par un serveur Web tel que Apache :
HTTP/1.1 200 OK[CRLF]
Date: Fri, 10 Apr 2015 14:26:24 GMT[CRLF]
Server: Apache/2.2.3[CRLF]
Content-Length: 7234[CRLF]
Content-Type: text/html; charset=UTF-8[CRLF]
[CRLF]

[ici se trouve le corps (body) de la réponse]
La première ligne de la réponse contient toujours le code http indiquant si la requête a réussi ou pas. Ensuite, nous retrouvons les lignes des champs http comme pour l’en-tête de la requête.
Tout ceci constitue l’en-tête de la réponse. Ensuite, se trouve le corps de la réponse, qui dans le cas d’un GET d’un fichier HTML contient le code HTML de la page visée par exemple.

2.2.3. Quelques codes HTTP

Code HTTP Explication
Code HTTP 200 : Ok Cela signifie que tout va bien et que le serveur Web renvoie le contenu d'une ressource dans le corps (body) de la réponse
Code HTTP 301 : Moved Permanently Redirection permanente vers une URL indiquée dans la réponse (champs 'Location'). Cette redirection est considéree comme 'Google Friendly' et n'affecte pas votre référencement naturel
Code HTTP 302 : Moved temporarily Redirection temporaire vers une URL indiquée. C'est moins apprécié par Google
Code HTTP 400 : Bad request La requête reçue par le serveur Web ne respecte pas le format défini par le protocole HTTP
Code HTTP 401 : Unauthorized L'accès à l'URL est sécurisé. Le serveur Web vous demande ainsi de lui indiquer un login/mot de passe
Code HTTP 403 : Forbidden Un login/mot de passe invalide a été donnée pour accéder à une URL sécurisée
Code HTTP 404 : File not found Le serveur Web n'a pas trouvé de ressource correspondant à l'URL indiquée
Code HTTP 500 : Internal Error Le serveur Web n'a pas été capable de traiter la requête HTTP. Cela peut indiquer un problème très sérieux.

2.3. HTTPS

2.3.1. Définition

HTTPS, avec le « S » pour sécuriser et est la variante du HTTP sécurisée par l’usage des protocoles SSL ou TSL. Il est utilisé pour les transactions de paiements en ligne par exemple.

2.3.2. SSL

SSL (Secure Socket Layer) est un système qui permet d’échanger des informations entre 2 ordinateurs de façon sûre. SSL assure 3 choses :
1) La confidentialité : il est impossible d’espionner les informations échangées
2) L’intégrité : Il est impossible de truquer les informations échangées
3) L’authentification : Il permet de s’assurer de l’identité du programme, de la personne ou de l’entreprise avec laquelle on communique.
SSL est un complément au TCP/IP et permet de sécuriser n’importe quel programme ou protocole utilisant TCP/IP.
Pour résumé, le HTTPS est l’addition de HTTP avec SSL. Ce protocole est inclus dans pratiquement tous les navigateurs.
Ainsi, nous pouvons sécuriser n’importe quels protocoles en créant des tunnels SSL. Une fois ce tunnel mis en place, nous pouvons faire passer tous les protocoles que nous souhaitons dedans comme le SMTP, POP3, HTTP, … et toutes nos données échangées sont automatiquement chiffrées.

Quelques liens utiles

http://www.w3.org/Addressing/URL/url-spec.html
http://abcdrfc.free.fr/rfc-vf/rfc1945.html
http://www.sebsauvage.net/comprendre/ssl/

Border

Hébergement virtuel - PING

About frame About

1. Hébergement virtuel ou « virtual hosting »

1.1 Définition

L’hébergement virtuel est utilisé par les serveurs (tels que les serveurs web) pour accueillir plus d’un nom de domaine sur le même ordinateur, la même adresse IP, tout en gérant séparément chacun de ces noms. Ainsi, les ressources du serveur sont partagées équitablement entre les sites. Mais cela ne s’applique pas qu’aux serveurs Web, les serveurs sont aussi utilisés pour d’autres services sur internet.
Les ressources du serveur sont la mémoire, le processeur, la RAM,…
La bande passante désigne le débit binaire maximal d'un canal de communication. La ligne de transmission jusqu'à l'usager est le composant déterminant.

1.2 Types d’hébergement virtuel

Il existe différents types d’hébergement virtuel : basés sur le nom. L’hébergement virtuel basé sur le nom utilise le nom d’hôte donné par le client. Ce qui permet une économie d’adresse IP et d’administration car plus d’un nom de domaine peut être accueilli sur le même ordinateur sur la même adresse IP. Chaque machine doit être recensée sous plusieurs noms différents sur le DNS. Plusieurs noms DNS sont associés à une seule adresse IP. Ensuite, ceux basés sur le port, très peu utilisé en pratique car pas assez ergonomique pour les utilisateurs. Il permet d’utiliser un serveur web en précisant le port qu’il utilise. Si rien n’est précisé, aucune connexion ne se fait. Chaque serveur est adressé par une requête HTTP à l’aide d’un numéro de port différent. Et pour finir, les hébergements virtuels basés sur l’adresse IP utilisent une adresse IP séparée pour chaque nom d’hôte, possible avec n’importe quel protocole. Mais cela nécessite une adresse IP dédiée pour chaque nom de domaine servi. Pour les serveurs Apache et DNS, ce type d'hébergement permet, tout en associant deux adresses IP à une interface, de se connecter aux pages associées à chaque adresse IP. Soit le serveur est doté de plusieurs interfaces réseau, soit de plusieurs adresses IP associées à une seule interface réseau. On parlera d’IP aliasing pour ce dernier cas.

1.3 Fonctionnement

Pour héberger un site web, il faut disposer d’un espace disque sur un ordinateur. Il est possible d’héberger son site dans un ordinateur personnel chez soi, ou dans les locaux d’une entreprise. Les utilisateurs se tournent plus couramment vers des sociétés spécialisées dans l’hébergement pour des raisons de coûts, de compétences techniques et de praticité. Pour gérer son serveur, linux est plus optimisé que Windows.

1.4 Usage

Actuellement, les hébergeurs proposent plusieurs types d’offres en fonction des besoins de l’utilisateur (la bande passante, l’ espace disque, le langage de programmation (PHP,ASP,..) les bases de données et la garantie de rétablissement en cas de panne…).

2. PING

2.1 Définition

Le Ping (acronyme de Packet INternet Groper) est le nom d'une commande informatique permettant de tester l'accessibilité ou la connectivité de couche réseau TCP/IP sur l’ordinateur hôte local ou sur un autre périphérique dans le réseau grâce à l’envoi de « paquets » (en octets). La commande mesure également le temps mis pour recevoir une réponse, appelé round-trip time (temps aller-retour).

2.2 Utilisation et fonctionnement

Il est disponible sous Windows, Linux et IOS. Cet utilitaire a été créé par Mike Muss en 1983. La commande PING est un test de connectivité. Par exemple : lorsqu’un navigateur Web ne parvient pas à se connecter à un serveur Web, on utilise la commande PING pour localiser où se situe le problème entre le client et le serveur.
L’opération ping est simple. L’ordinateur source envoie une requête d’écho ICMP à la destination. Cette dernière répond avec une réponse d’écho. En cas d’interruption entre la source et la destination, il est possible qu’un routeur réponde avec un message ICMP qui indique que l’hôte ou le réseau de destination est inconnu.
La commande ping permet ainsi de connaître : l’adresse IP du nom de la machine distante et le temps de propagation en boucle (la durée en millisecondes d’un aller-retour entre la machine source et la machine cible, généralement inférieur à 200 ms).

2.3 Autres utilisations du terme

Le terme ping est parfois utilisé comme synonyme de Round trip time dans les jeux en ligne. Dans les jeux fortement interactifs, un délai élevé (désigné par lag ou latence) peut constituer un désavantage pour un joueur.
Certains autres protocoles de la couche application utilisent le nom ping quand il s'agit de déterminer un délai avec une cible. Sur la plupart des clients IRC par exemple, la commande /ping pour connaître le temps de réponse d'un utilisateur ou d'un salon de discussion.

Quelques liens utiles

http://www.vulgarisation-informatique.com/ping.php
https://www.kinamo.be/fr/kb/qu-est-ce-que-l-hebergement-web
http://www.ivision.fr/hebergement-mutualise-dedie-vps-quelles-differences/

Border