• Aucun résultat trouvé

Création de site web Réseaux et protocoles

N/A
N/A
Protected

Academic year: 2022

Partager "Création de site web Réseaux et protocoles"

Copied!
35
0
0

Texte intégral

(1)

Création de site web Réseaux et protocoles

Damien Nouvel

(2)

Réseaux et protocoles Plan

Les couches du réseau

Suite de protocoles TCP/IP

Protocoles applicatifs pour les sites web

Requêtes HTTP

(3)

Réseaux et protocoles Plan

Les couches du réseau

Suite de protocoles TCP/IP

Protocoles applicatifs pour les sites web

Requêtes HTTP

(4)

Réseaux et protocoles Les couches du réseau

Modèle simple de la (télé)communication :

En réalité, évidemment plus complexe :

Tu as vu les L1 aujourd'hui ?

Émetteur Message Récepteur

Canal

(5)

Réseaux et protocoles Les couches du réseau

Nécessité de formaliser le modèle

Interconnexion de systèmes « ouverts » (canal bruité)

Modèle OSI (« Open Systems Interconnection », 1980)

Spécification par couches (« Pour Le Réseau Tout Se Passe Automatiquement »)

Application Présentation

Session Transport

Réseau Liaison Physique

Application Présentation

Session Transport

Réseau Liaison Physique Liaison

Physique

(6)

Réseaux et protocoles Les couches du réseau

Modèle OSI

Application (DNS, DHCP, HTTP, FTP, SSH, POP3, IMAP, VoIP) : gère les données selon le « logiciel » utilisé

Présentation (Videotex) : peu utilisée en pratique

Session (Telnet, NetBios, SSL / TLS) : historique / sécurisation

Transport (TCP, UDP, RTP) : type de communication

Réseau (IPv4, IPv6, DHCP, IPX) : gestion des interconnexions entre machines sur une réseau

Liaison (Ethernet, PPP, FDDI, IEEE 802.11) : gestion liée au média utilisé pour transporté la donnée

Physique (Manchester, coaxial, 100BASE-TX, RNIS, ADSL, IrDA, USB, IEEE 1394 / FireWire, Wireless USB, Bluetooth, Wi-Fi) : modulation / démodulation du signal

(7)

Réseaux et protocoles Les couches du réseau

Principe de l'encapsulation :

Les données de la couche supérieure sont « encapsulées » par une couche inférieure :

Ainsi les couches transmettent l'information de manière transparente (cachée), indépendante des autres couches

Principe du « tunnel » (VPN, SSH)

Données

application Données

session Données

transport Données

réseau Données

liaison Couche

physique

(8)

Réseaux et protocoles Les couches du réseau

Couche physique

Passage du signal analogique au numérique (binaire) :

Caractéristiques selon le média (support) :

Baud : nombre de symboles par seconde ≃ bits / seconde

Débit Avantages Inconvénients Modem analogique 56 Kb Toutes lignes Lent

ADSL 20 Mb Fiable Structure du réseau Wifi 54 Mb Pas de fil Distance émetteur Fibre optique 100 Mb Rapide Coûteux

(9)

Réseaux et protocoles Les couches du réseau

Couche liaison

Unités de données : les « trames »

Plusieurs « stations » peuvent émettre sur un même canal (Wifi, Bluetooth, cable Token Ring) : éviter les collisions

Contrôle d'accès au support (MAC)

Adresses MAC : 6 octets, uniques par matériel (≃3.1011 possibles)

Contrôle logique (LLC) : acquittements, contrôle d'erreurs

Couche réseau :

Transport / acheminement des « paquets »

Les paquets sont transmis par des routeurs

Recherche du « meilleur » chemin (best-effort)

(10)

Réseaux et protocoles Les couches du réseau

Couche transport :

Communications entre processus (logiciels) sur les machines

Peut inclure une prise en charge pour l'application :

Accusés de réception (acquittements)

Contrôle / correction d'erreurs

Deux modes principaux :

Connecté : les informations sont fragmentées dans divers message qui sont numérotés et dont on s'assure la bonne réception

Plus fiable

Permet d'avoir un historique, une « session »

Déconnecté : les informations sont de petite tailles (max. un paquet) et peuvent arriver dans un ordre dispersé

Plus rapide

(11)

Réseaux et protocoles Les couches du réseau

Couche session :

Essentiellement utilisée pour la sécurisation des données, via un mécanisme de « transactions »

Utilisation de SSL (Secure Sockets Layer) / TLS (Transport Layer Security) :

Authentification du serveur (autorités de certification)

Envoi de certificat client et de clé par chiffrement asymétrique

Soient des nombres premiers p, q, soit e premier avec f = (p-1)*(q-1)

Clé publique : (p*q, e), clé privée (n, d) t.q. e*d = 1 mod(f)

Chiffrement : C = Me mod(n), déchiffrement Cd = Med = M mod(n)

Utilisation de la clé pour chiffrer les transmissions de données

Couche application :

Le logiciel (pages Web, téléphonie / vidéo, chat, jeux, fichiers)

(12)

Réseaux et protocoles Plan

Les couches du réseau

Suite de protocoles TCP/IP

Protocoles applicatifs pour les sites web

Requêtes HTTP

(13)

Réseaux et protocoles

Suite de protocoles TCP/IP

Modèle de communication pour Internet

Plus pragmatique / moins théorique

Ensemble de « protocoles » permettant d'uniformiser les

communications selon une version réduite des couches OSI : physique, liaison, réseau (IP), transport (TCP / UDP),

application (HTTP)

Différents protocoles selon les médias et les applications :

Ethernet + IP

+ TCP + HTTP 802.11 + IP + UDP + VoIP

PPPoA + IP

(14)

Réseaux et protocoles

Suite de protocoles TCP/IP

Internet Protocol (IP)

A l'origine (1977) : protocole pour uniformiser le principe de routage des paquets

Adressage unique sur Internet : adresses IPv4, sur 4 octets (0.0.0.0 à 255.255.255.255), 4.109 adresses disponibles

Encapsulation du message fourni par la couche supérieure (transport) avec un « entête » :

Message (de transport)

(15)

Réseaux et protocoles

Suite de protocoles TCP/IP

Internet Protocol (IP) (suite)

Transport / acheminement des « paquets »

Recherche du chemin le plus « court » (best-effort)

Les paquets sont acheminés par des routeurs, transmis :

Si disponible, à la destination demandée

Sinon au routeur qui « préfixe » la destination demandée

(16)

Réseaux et protocoles

Suite de protocoles TCP/IP

Internet Protocol (IP) (suite)

Des questions se posent sur les adresses IP

Confidentialité / anonymat des adresses IP

Attribution des adresses (ICANN/IANA) géographique :

Passage de IPv4 à la version IPv6

Derniers lot d'adresses IPv4 attribuées le 04/02/2011 !

Nouvelle version : 16 octets pour l'adresse (au lieu de 4) Migration... en cours !

(17)

Réseaux et protocoles

Suite de protocoles TCP/IP

Spécification de ports par la couche transport

Identifiant, « portes d'entrées » vers une machine

Généralement associés à des applications

80 : navigation web (HTTP)

443 : navigation web sécurisée (HTTPS)

25, 110, 143 : envoi / réception d'emails (SMTP, POP, IMAP)

1863, 194 : messagerie en ligne (MSN, IRC)

53 : contacter un site web (DNS)

21 : transfert de fichiers (FTP)

22 : exécution de commandes à distance (SSH)

...

Peuvent être configurés au besoin (emails)

(18)

Réseaux et protocoles

Suite de protocoles TCP/IP

User Datagram Protocol (UDP)

Mode déconnecté, « datagrammes »

Encapsulation du message fourni par la couche supérieure (application) avec un « entête » de quatre champs

Port source (≃ application serveur)

Port destination (≃ application cliente)

Longueur (taille du message)

Somme de contrôle (correction d'erreur)

Utilisation par des applications où la rapidité est plus importante que la fiabilité :

Streaming (audio, vidéo)

Jeux en réseau DNS

(19)

Réseaux et protocoles

Suite de protocoles TCP/IP

Transmission Control Protocol (TCP)

Mode connecté, « segments » d'un flux d'octets

Une connexion est une « session » qui fonctionne par phases : connexion, transfert de données, déconnexion

Encapsulation du message fourni par la couche supérieure (application) avec un « entête » comprenant les champs

Port source (≃ application serveur)

Port destination (≃ application cliente)

Numéro de message

Numéro d'acquittement

Type de paquet (données, synchronisation, acquittement, fin)

Longueur (taille du message)

Somme de contrôle (correction d'erreur)

(20)

Réseaux et protocoles

Suite de protocoles TCP/IP

Transmission Control Protocol (TCP) (suite)

Connexion :

Transfert :

Déconnexion :

SYN SYN ACK

ACK

Message 1 : Salut, Message 2 : comment

Message 3 : ça va ? ACK 1/2/3

FIN ACK FIN

FIN ACK FIN

(21)

Réseaux et protocoles Plan

Les couches du réseau

Suite de protocoles TCP/IP

Protocoles applicatifs pour les sites web

Requêtes HTTP

(22)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Architectures réseau pour les sites web

Client / serveur (requêtes / réponses)

Diffusion (multicast)

Client

Serveur

Serveur

TCP / UDP TCP / UDP

Client

Client Client

UDP Client

Client UDP

UDPUDP UDP

UDP UDP

(23)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Lors de la création d'un site web, divers protocoles sont en jeu (dont applicatifs) :

Développement

Utilisateurs IP + TCP + HTTP

IP + UDP + DNS IP + TC

P + HTTP IP + TCP + FTP

IP + TCP + SSH IP + TCP + HTTP

IP + TCP + HTTP

Serveur

Serveur

(24)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Protocole DNS

Domain Name System (Paul Mockapetris, 1983)

Permet de connaître à partir d'une URL une IP :

L'utilisateur entre une URL (http://www.monsite.net)

Le navigateur demande au serveur DNS quelle est l'IP associée

Le serveur DNS renvoie l'IP (25.183.53.7)

Le navigateur contacte l'IP pour demander la page web

Système d'adresses géré par :

ICANN (US) : tout le système, 13 serveur racines

Problématique à divers point de vue (sécurité, politique, scientifique)

Verisign (US, par délégation) : .com, .net

AFNIC (FR, par délégation) : .fr

(25)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Protocole HTTP (par défaut, port 80)

HyperText Transfert Protocol (non crypté)

Protocole « pendant » du HTML pour demander des pages :

HTTP : transfert des pages (client ↔ serveur)

HTML : affichage des pages (par le navigateur)

Inventés conjointement (T. Berners-Lee, R. Cailliau, 1989)

Interrogation de serveurs web par les navigateurs

Protocole à base de commandes :

Méthode : ce que l'on souhaite faire sur le serveur

URL : ressource affectée par la commande

HTTPS : version sécurisée, HTTP + SSL/TLS

Également utilisé par les robots d'indexation, aspirateurs

(26)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Le rôle de l 'équipe de développement :

Étant donné des spécifications (client, designers, chef de projets, etc.), l'équipe de développement détermine

conjointement :

Les outils éditoriaux adaptés au site envisagé

Le mode d'implémentation de l'arborescence

L'architecture technique du site

Le mode d'hébergement du site

Généralement, l'hébergement est réalisé sur un serveur distant qui répondra aux requêtes des clients, il faut :

Configurer le serveur pour qu'il héberge le site

Mettre en ligne le site sur le serveur

Pouvoir mettre à jour le site « à la demande »

(27)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Hébergement du site

Architecture « logicielle »

Fiabilité

Disponibilité

LAMP / WAMP

L / W : Linux / Windows

A : Apache, serveur HTTP (70%)

M : MySQL, base de données

P : PhP, langage serveur

Microsoft SharePoint / Exchange

IIS (Internet Information Services), serveur HTTP (20%)

SQL Server, base de données

ASP .Net / C#, langage serveur

Apache / IIS

MySQL / SQL Server

PHP / ASP .Net /

C#

(28)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

L'équipe de développement intervient sur le serveur

Modifications locales sur le serveur (fichiers, interfaces)

Modifications distantes :

Transfert de fichiers (FTP)

Exécution de commandes (SSH)

Interfaces graphiques web (HTTP)

Interfaces graphiques distantes

Test du site (HTTP)

Dans ce cours, simplifié :

Apache

HTML CSS Images Développement ...

IP + TCP + SSH

IP + TCP + FTP Programmeur

IP + TCP + HTTP

(29)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Protocole FTP (par défaut, port 21)

File Transfert Protocol

Nom d'utilisateur / mot de passe

Déposer / retirer des fichiers

Interface graphique, comme les dossiers de Windows

Deux « vues » : dossier local, dossier distant (serveur)

Transfert (copie) de fichiers de l'un vers l'autre

Ligne de commande, même principe

Naviguer dans les dossiers : ls, pwd, cd,

Modifier les dossiers : mkdir, rmdir

Transférer des fichiers : put, get

Non crypté : les fichiers peuvent être interceptés (ou FPTS)

(30)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Protocole FTP (par défaut, port 21) (suite)

Quelques logiciels gratuits : FileZilla, Core FTP LE, FTP Commander, FTP Upload, Ftp-it (...)

Interface graphique (généralement) :

Vue locale des dossiers et fichiers :

- naviguer dans les dossiers,

- créer, effacer, supprimer des dossiers et fichiers.

Vue distante (serveur) des dossiers et fichiers : - naviguer dans les

dossiers,

- effacer, supprimer des dossiers et fichiers.

Commandes de transfert Menu logiciel

(31)

Réseaux et protocoles

Protocoles applicatifs pour les sites web

Protocole SSH (par défaut, port 22)

Secure SHell

Nom d'utilisateur / mot de passe

Shell : interpréteur de commandes, console

Mode texte (mais peut-être utilisé par un logiciel graphique)

Commandes de base : ls, pwd, cd, mkdir, rmdir, cp, mv, rm (...)

Sous Unix (Linux / POSIX / Mac OS X / Android / ...)

Exécution de commandes, donc utilisations multiples

Démarrer, arrêter un programme (par ex. : Apache , MySL)

Éditer des fichiers à distance (mode texte)

Créer des fichiers / dossiers

Transfert des fichiers (SCP, Secure CoPy)

Crypté : les fichiers ne peuvent être (facilement) interceptés

(32)

Réseaux et protocoles Plan

Les couches du réseau

Suite de protocoles TCP/IP

Protocoles applicatifs pour les sites web

Requêtes HTTP

(33)

Réseaux et protocoles Requêtes HTTP

Le navigateur effectue les requêtes indépendamment pour chaque fichier nécessaire :

Client

Requête : fichier HTML Transfert : fichier HTML

Serveur Requête : fichier CSS

Requête : fichier image Requête : fichier image Transfert : fichier CSS Transfert : fichier image Transfert : fichier image

(34)

Réseaux et protocoles Requêtes HTTP

Protocole HTTP (application) utilise TCP/IP (transport)

Différentes méthodes possibles

GET : transfert d'une ressource (HTML, CSS, image)

POST : ajouter une nouvelle ressource (formulaires)

PUT : remplacer ou créer une nouvelle ressource (formulaires)

DELETE : effacer une ressource

HEAD : entête, informations sur une ressource

En pratique

En majorité, les méthodes appelées sur les sites web sont des GET (demande de fichier) ou POST (soumission de formulaire)

Possibilité d'appliquer une méthode dépend de l'URL

(35)

Réseaux et protocoles Requêtes HTTP

Pour une page web, de nombreuses requêtes

Code HTML de la page

Fichiers CSS

Fichiers d'images

Contenu « tiers » (publicité, vidéos, photos, news...)

Le Web 2.0

HTML, CSS, images, Javascript etc. : page initiale

Javascript pour la modification de la page (sans la recharger) selon les interactions possibles avec l'utilisateur :

Modification du contenu existant

Chargement de contenus supplémentaires (HTTP GET)

Soumission de formulaires (HTTP POST)

Références

Documents relatifs

Routage des datagrammes vers une station ou un routeur, à l’aide de tables de routage. Acheminement des données sous forme de datagrammes (mode non connecté) Autres

• utiliser le vocabulaire spécifique des protocoles de communication en couches du modèle OSI appliqué au monde Internet et au protocole IP particulièrement,.. • expliquer

Appréhender les principes régissant la famille de protocoles TCP/IP, les technologies sous- jacentes, l'architecture en quatre couches utilisée par les équipements TCP/IP, le

Si le segment est acquitté avant expiration d’une temporisation, il augmente la taille de la fenêtre de congestion (la nouvelle fenêtre est de taille double par rapport à

Pour sa déclaration d'amour, Tristan a écrit une grande lettre de 40 pages à Nadia qu'il souhaite envoyer par courrier postal?. Les enveloppes pré-timbrées qu'il utilise

) Les machines sont reliées entre elles dans un même domaine logiquement et non par adressage. Exemple : 10 machines d’un même domaine appartiennent à 10 réseaux différents

c) Combien de machines chaque sous réseau pourra-t-il comporter (expliquez) ? d) Donner l’adresse du sous réseau n° 7 ? Justifier votre réponse ?. e) Quelle est l’adresse de

3) Quel est le masque réseau adéquat qui doit être choisi par l’administrateur s’il veut coder au maximum 62 hôtes ? Quel est l’intérêt d’adopter ce masque réseau au lieu