GEL−1001 Design I (méthodologie)"
Technique 2 – "
Systèmes distribués et de télécommunication"
Hiver 2011"
Plan"
Systèmes de télécommunication"
Réseaux numériques / sans fil"
Internet et TCP/IP"
Chiffrement"
Systèmes distribués"
Appel de procédure à distance"
Technologies Web"
Systèmes de
télécommunication"
Rôle : Transmission à distance de signaux analogiques ou de données numériques par fil électrique, ondes radio ou optique."
émetteur" récepteur"
Protocoles en couches"
Différents niveau d'abstraction"
Filage, dispositifs matériels"
Intégrité des messages"
Encodage des données"
Etc."
Protocoles"
Orientés connexion (ex. téléphone)"
Sans connexion (ex. poste)"
Modifications ou changements possibles, selon les
progrès technologiques, sans altérer le fonctionnement aux autres niveaux"
Modèle OSI (Open System
Interconnection)"
En-têtes et messages"
Bandes de fréquence"
Bandes de fréquence"
VLF, 3-30 kHz : navigation longue distance, sous-marins"
LF, 30-300 kHz : navigation longue distance, balises radio"
MF, 300 kHz-3 MHz : radiolocalisation, radiodiffusion AM"
HF, 3-30 MHz : radio amateur, avions, navires"
VHF, 30-300 MHz : télédiffusion (VHF), radio FM duplex"
UHF, 300 MHz-3 GHz : télédiffusion (UHF), radiolocalisation, GPS, téléphonie cellulaire"
SHF, 3-30 GHz : communications satellites, liaisons micro-ondes"
EHF, 30-300 GHz : radars, systèmes satellites expérimentaux"
103 - 107 GHz : systèmes de communication optique"
ISM – (Unlicensed dev.): Wi-Fi, Bluetooth, téléphone sans fil, four micro-onde, …"
Wi-Fi (Wireless Fidelity)"
Norme IEEE 802.11 sur les réseaux locaux sans fil (WLAN)"
Couches : physique et liaison"
Débit : 11 Mbits/s (802.11b), 54 Mbits/s (802.11g) et 300 Mbits/s (802.11n)"
Portée : 30 à 50 m (jusquʼà 10 fois plus à lʼextérieur)"
Sécurité : 802.11i (gestion des clés, chiffrement et authentification)"
Fréquences : 2.4 GHz et 5 GHz"
Réseaux : infrastructure (points dʼaccès) et ad hoc"
WiMAX"
Norme (IEEE 802.16) de réseaux métropolitains sans fil"
Couches : physique et liaison"
Débit : 72 Mbits/s"
Portée : 50 km"
Mobilité : norme 802.16e"
Fréquences : 2.3 GHz – 3.5 GHz (réglementées), 5.x GHz (non réglementées)"
Réseau : infrastructure et ad hoc"
Protocole : orienté connexion "
Bluetooth"
Connexion radio courte distance entre ordinateurs et périphériques (réseaux personnels)"
Portée : 1, 10, 100 mètres (3 puissances)"
Débit : 1 Mbits/s (v1) à 3 Mbits/s (v2)"
ZigBee"
Norme (IEEE 802.15.4) de réseaux personnels!
Plus simples et moins coûteux que Bluetooth"
Portée : jusquʼà 100 m"
Débit : 250 Kbits/s"
Fréquences : 915 MHz et 2.6 GHz"
Créneau : réseaux ad hoc, possiblement auto organisés, nécessitant de faibles débits une faible consommation énergétique !
Téléphonie cellulaire"
Analogique (1G) ou Numérique (2G+)"
Technologie GSM (TDMA)"
Technologie CDMA (CDMA-2000)"
Débit : jusquʼà 2 Mbits/s (CDMA-2000)"
Connexion Internet : WAP, i-mode, etc."
3G"
Débit : au moins 200 Kbits/s"
Couverture : dépend des fournisseurs…"
Communications satellites"
Réseaux coûteux à construire"
Moins nombreux que les réseaux terrestres (et moins compétitifs)"
Débit de données plus faible!
Très bonne couverture!
Iridium, Globalstar, Inmarsat
Fiabilité des transmissions"
Deux besoins principaux"
Transmettre les données régulièrement"
Éviter toute perte de données
Donnée perdue"
Jamais reçue"
Mal reçue"
Mal envoyée (dédoublée, non-autorisée)"
Transmettre régulièrement"
Contraintes temporelles spécifiques imposées pour les envois de chaque utilisateur (p. ex. communications à heure fixe, distribuées dans le temps)"
Réseau dimensionné en fonction de modèles et de prévisions du trafic"
Garantir une qualité de service (QoS)"
Éviter les pertes"
Accusé de réception (acknowledge) pour chaque donnée reçue"
Vérifier les numéros dʼenvoi des données"
Détecter si les données sont en erreur par une somme de contrôle (checksum)"
Détecter et corriger les données en erreur (code correcteur)"
Authentifier les données chiffrées!
Internet"
"
a
b c
d e
f
réseau
local «router»
source
Transmission Control Protocol (TCP)!
Couche transport (orienté connexion)"
Session en trois phases"
Établissement dʼune connexion"
Envoi des données"
Fin de la connexion"
Protocole fiable!
Transmission Control Protocol (TCP)"
"
Numéros de séquence : ordonner les segments TCP et détecter les données perdues"
Sommes de contrôle : détection d'erreurs"
Acquittements et temporisations :
détection des segments perdus ou
retardés "
Internet Protocol (IP)"
Couche réseau (sans connexion)"
Routage de paquets (en-tête, message)"
Adresse IPv4 (32 bits)"
127.0.0.1 "
Adresse IPv6 (128 bits)"
2001:0db8:85a3:0000:0000:8a2e:0370:7334"
Chiffrement (« encryption »)"
Chiffrement symétrique "
Une même clé pour chiffrer et déchiffrer"
Chiffrement asymétrique"
Paire composée d'une clé publique et d'une clé privée!
Données chiffrées avec une clé doit être déchiffrées avec lʼautre"
Génération des clés"
Chiffrement asymétrique (RSA, DSA)"
RSA : basé sur la factorisation des nombres premiers"
1024 bits ou plus car la clé doit respecter une structure particulière"
Chiffrement symétrique (p. ex. AES)"
128 bits, donc 2128 façons de chiffrer"
Chiffrement avec clé
symétrique"
Chiffrement à clés
asymétriques"
Cryptographie hybride (1/2)"
Cryptographie hybride (2/2)"
Systèmes distribués"
Système cohérent fonctionnant simultanément sur plusieurs ordinateurs distincts"
Modèle client-serveur"
Serveur : processus implémentant un service spécifique"
Client : processus demandant un service en
effectuant une requête au serveur pour ensuite attendre la réponse"
Serveur comme un client"
Un serveur peut être le client d'un autre
serveur"
Appel de procédure à distance"
Simuler le paradigme de programmation procédurale dans un système distribué"
Appel de procédure à distance"
Le client appelle une procédure sur le serveur"
Le client est suspendu et la procédure est exécutée sur le serveur"
Lorsque la procédure est terminée sur le serveur, le résultat est retourné au client, qui continue son exécution"
En anglais : Remote Procedure Call
(RPC)"
Cheminement dʼun appel de
procédure à distance"
World Wide Web (WWW)!
Gigantesque système distribué pour accès à des documents hypertextes!
Projet de recherche (début 1990) au CERN de Genève"
Système client-serveur standard, avec millions de serveurs distribués partout dans le monde"
URL : adresse des documents"
HTTP : protocole de communication"
HTML : Format des documents hypertextes"
Organisation du Web"
Uniform Resource Locator (URL)"
(a) URL avec seulement le nom
DNS;"
(b) URL avec le nom DNS et le
port TCP;"
(c) URL avec adresse IP et port
TCP."
HyperText Transfer Protocol (HTTP)"
a) Requête HTTP"
b) Réponse HTTP"
HyperText Markup Language (HTML)"
Langage avec marqueurs pour
structurer un document et mots clés
donnant des indications de présentation !
<!DOCTYPE html>!
<html>!
<head>!
<title>Hello HTML</title>!
</head>!
<body>!
<h1>The Title</h1>!
<p>Hello, World!</p>!
eXtensible Markup Language (XML)"
Format pour organiser les documents"
Données et structure, pas de formatage"
Formatage spécifique à la plateforme"
Navigateur Web sur PC (XHTML)"
Affichage sur cellulaire (WML, XHTML Mobile)"
Transformation entre formats XML avec XSLT"
XML comme format universel de données"
Spécification générale de format, non un format précis"
Exemple dʼun document XML"
<?xml version="1.0" ?>!
<customer_list>!
<customer number="050">!
<name>Stephen Harper</name>!
<customer_since year="2006"/>!
</customer>!
<customer number="041">!
<name>George W. Bush</name>!
<customer_since year="2001"/> ! </customer>!
</customer_list>!
En-tête standard
Balise racine
Balise avec élément texte
Balise sans élément avec attribut Fermeture de la
Services Web"
Concept : Utiliser les technologies du Web pour concevoir des systèmes
distribués généraux!
Technologies clés (toutes basées sur le XML)"
SOAP : Formatage des messages"
WSDL : Description des interfaces"
UDDI : Registre des services disponibles"
Simple Object Access Protocol (SOAP)"
SOAP = XML + RPC + HTTP!
Enveloppe : message complet en XML"
En-tête : élément optionnel"
Corps : contenu du message"
Trois types : requête, réponse, faute "
Exemple de requête SOAP"
<soap:Envelope xmlns:soap=!
"http://www.w3.org/2001/06/soap-envelope">!
<soap:Body>!
<acm:getPatientHistory!
xmlns:acm="http://www.acmemedserv.com"!
soap:encodingStyle=!
"http://www.w3.org/2001/06/soap-encoding">!
<acm:SSN>555-555-555</acm:SSN>!
</acm:getPatientHistory>!
</soap:Body>!
</soap:Envelope>!
Exemple de réponse SOAP"
<soap:Envelope xmlns:soap=!
"http://www.w3.org/2001/06/soap-envelope">!
<soap:Body>!
<acm:getPatientHistoryResponse!
xmlns:acm="http://www.acmemedserv.com"!
soap:encodingStyle=!
"http://www.w3.org/2001/06/soap-encoding">!
<acm:history>perfectly healthy</acm:history>!
</acm:getPatientHistoryResponse>!
</soap:Body>!
</soap:Envelope>!