Comment ces paquets de données trouvent leur chemin entre deux ordinateurs ?

Notions de base en réseaux d'ordinateurs

* Réseau

Ensemble d'ordinateurs coopérants noeuds, connectés par différents liens de communication. Il y a deux types de noeuds: hôtes et routeurs (commutateurs, switch). Les routeurs supportent le fonctionnement interne des réseaux; les hôtes sont les client et les serveurs, e.g. les machines des usagers et celles hébergeant les services: bases de données, sites Internet, etc.
Classification: réseaux locaux, métropolitains, à longue distance, sans fil (wireless). 

* Internet

L'Internet est un "méta-réseau" de réseaux de différents types, coopérant par les protocoles IP et TCP. En 2002, il y a approx. 150 millions de hôtes connectés.

* Topologie

Selon la manière dont les noeuds sont connectés entre eux, on distingue des topologies différentes: complet, étoile (star), anneau (ring), arborescence (tree), bus, etc.

* Commutation de circuits (circuit switching)

Dans un réseau contenant plusieurs noeuds (sources et destinations d'information), la connexion entre deux noeuds A et B est établie et maintenue pour toute la durée de la communication, comme dans le réseau téléphone classique. Les ressources (e.g. capacité de transmision) sont retenues tout le temps, même pendant les périodes de silence. Le coût de la communication est facturée selon le temps de connexion, non selon la quantité des données transmises. Relativement simple à implanter, mais mal optimisé pour l'interaction entre ordinateurs.

* Commutation de paquets (packet switching)

Il n'y a pas de circuit fixe pour la transmission entre A et B;  l'information est plutôt découpée en paquets (datagrammes, cellules) de taille entre 10 et 10,000 octets, et chaque paquet est acheminé séparément à travers le réseau. Les paquets portent l'adresse de leur destination, comme les lettres envoyées par la poste. Comme avec les lettres (la poste), elles peuvent être perdues, ou arriver dans un ordre différent de l'ordre d'envoi. De plus, ils peuvent arriver dupliqués et/ou avec erreurs. Dans cet arrangement les ressources du réseau sont mieux utilisées, et l'usager est facturé pour la quantité de l'information transmise. Cet arrangement est à la base du protocole IP (voir plus loin).
Les tâches de l'acheminement des paquets, le redressement du bon ordre et la correction des erreurs sont effectuées par les protocoles de communication.
La communication par paquets est bien adaptée au traitement numérisé par ordinateur; par conséquent la plupart des protocoles utilisés aujourd'hui, tels que Ethernet, X.25 et ATM fonctionnent par paquets.
Deux types de service sont possibles:

- Datagrammes: C'est le service de base, appelé connectionless, chaque paquet peut parcourir le réseau par un chemin différent. Le protocole UDP de l'Internet en est un exemple.

- Circuits virtuels: Les CV combinent les avantagesde commutation de circuits et de paquets. La transmission se fait par paquets, mais ceci est précédé par l'établissement d'un chemin à travers le réseau  entre A et B appelé circuit virtuel, qui se comporte logiquement comme un circuit réel. Chaque CV porte un identificateur unique qui est marqué dans l'en-tête de chaque paquet (au lieu de l'adresse de destination). Ainsi le routage, le contrôle de la congestion et l'élimination des erreurs deviennent plus simple. La transmission par CV s'appelle aussi orientée connection (connection-oriented).

* Protocoles de communication

Protocole: système de règles et formats permettant l'échange des informations entre deux ou plusieurs participants.
Exemple: Pour communiquer au téléphone, il faut d'abord décrocher, ensuite attendre la tonalité, ensuite composer, attendre la sonnerie, demander la personne désirée, etc.
Fonctionalités principales de protocoles
- Adressage (identification du destinataire et de la source)
- Routage (décisions dans les routeurs pour l'acheminement des paquets vers les destinations)
- Contrôle des erreurs (détection des paquets manquants, duplicatés, en mauvaise séquence etc. et la correction de ces erreurs e.g. par retransmission ou codes correcteurs d'erreurs)
- Multiplexage (utilisation d'un lien de communication par plusieurs participants)
- Contrôle du flux (règlage du taux de transmission pour ne pas déborder le récepteur)
- Découpage des unités d'information en segments et en paquets et leur réassemblage (fragmentation et défragmentation)

Un système réparti complexe comme l'Internet emploie beaucoup de protocoles. Pour mieux organiser cette complexité, les différents protocoles sont placés dans une hiérarchie de couches, chacune ayant une fonctionnalité particulière. On utilise le plus souvent le système OSI (Open Systems Interconnection).

Les 7 couches (niveaux) de OSI: physique, liaison (lien, link), réseau (network), transport, session, présentation, application.
Rappels:
(a) OSI n'est pas un protocole particulier, mais plutôt un système de classification des protocoles, un système de référence.
(b) Dans un système de communication particulier (e.g. Internet), les protocoles particuliers sont organisés en "protocol suite" ou "protocol stacks" selon le mod'le OSI; néanmons certaine couches peuvent être absentes (e.g. session).
(c) Un protocole du niveau supérieur s'appuie sur les services fournis aux niveaux inférieurs, et y ajoute des nouvelles fonctionnalités. Par exemple, TCP (niveau transport) se sert de IP (niveau réseau) pour le transmission des paquets, et y ajoute la correction des erreurs (voir plus bas).


Les niveaux OSI

* Niveaux physique et liaison

Au niveau physique on utilise un nombre de média de transmission; la caractéristique la plus importante d'un médium est son débit (capacité de transmission) e.g. en kb par sec. D'autres paramètres sont le prix, fiabilité et la difficulté de raccordement. 

Au niveau liaison on trouve les protocoles dont la fonction est d'acheminer des trames ou datagrammes entre deux points. Une trame est un groupe de bits ou octets; typiquement elle contient une en-tête (header) pour les adresses et autre informantion de contrôle, et les données à transmettre.


Média de transmission

Exemples:
- Paire torsadée (twisted pair): le fil téléphonique ordinaire, utilisé surtout pour le raccordement au réseau à travers des modems. 14-56 kb/s, pouvant aller à plusieures Mb/s sur des distances limitées, e.g. le protocole ADSL pour le raccordement Internet dans Sympatico haute vitesse.
- Câble coaxial, le plus souvent utilisé pour les réseaux locaux comme l'Ethernet  (10Mb/s). Aussi utilisé dans la câblovision; récemment les modems à câble ont apparu (10Mb/s), tels que chez Vidéotron à Montréal.
- Fibre optique, remplace graduellement le câble, dû à sa plus grande capacité et à un coût moins élevé. On l'emploie dans les réseaux locaux (e.g. le 100 Mb Ethernet et le Gb Ethernet), comme dans les liens (backbones) à longue distance.
Dû à l'importance de la communication optique, une interface normalisée, SONET a été établie pour la transmission sur fibre. SONET spécifie les débits possibles comme des multiples de approx. 50 Mb/s allant jusqu'à 9.6Gb/s; la transmission et le multiplexage sont synchrones. Un nombre de canaux de plus faible vitesse peuvent être multiplexés sur un seul canal SONET.
- Radio, Microondes (lien terrestre)
- Infrarouge (réseau local sans fil)
- Lien satellite

Il existe une hiérarchie normalisée des capacités de transmission (liste très partielle; il existe plusieures hiérarchies, différentes selon les compagnies, pays et moyens de transmission):

- 56 kb/s:       ligne de voix numérisée
- 1.5 Mb/s:    T1
- 45Mb/s:      T3
- 155Mb/s:    OC3
- 622Mb/s:    OC12
- 2.4Gb/s:     OC48
- 9.6Gb/s:     OC192

Protocoles

A. Pour les réseaux locaux:
- Ethernet (10 Mb/s)
- Fast ethernet (100Mb/s)
- Gigabit ethernet (1 Gb/s),
- DQDB (Distributed Queue Dual Bus),
- Slotted Ring (la norme IEEE 802 définit tous ces réseaux).

B. Pour les réseaux à longue distance (backbones):
- Frame Relay
- Sonet
- ATM:  une technologie à commutation de paquets, promettant très grande vitesse et souplesse. Les paquets (cellules) sont de taille fixe de 5 + 48 = 53 B, faciles à traiter par les commutateurs rapides. Plusieures classes de service sont offertes: modes connecté/non connecté, débit constant/variable, délai constant/variable. Ainsi on peut choisir le service qui convient mieux à l'application donnée, e.g. voix (64kb/s débit constant), vidéo compressé (débit variable,  délai constant), transmission des données, etc.
Attention: tout ceci se passe aux niveaux physique et lien; les cellules et commutateurs ATM sont différents de paquets et routeurs IP dans Internet! On parle de "IP over SONET et IP over ATM"; ces problèmes de coopération entre protocoles sont difficiles à resoudre d'une façon efficace.

C. Pour l'accès au réseau (le "dernier kilomètre"):
- Modem téléphone (56kb/s)
- Modem câble (1-10Mb/s)
- DSL et ADSL (Assymetric Digital Subscriber Line) par une ligne de téléphone, ~4Mb/s, 1-3 km
- ISDN (Integrated Services Digital Network) 128 kb/s
- mobile: LMDS (Local Multipoint Distribution Service) et CDPD (Cellular Digital Packet Data)
- "Fiber to home" (e.g. ATM)
- Satellites (système à 400 satellites en développement)
- PPP (Point-to-point Protocol)
- SLIP (Serial Line Internet Protocol)

Raccordement à l'ordinateur

Les média différents se raccordent avec les ordinateurs par le biais des cartes réseau (e.g. carte ethernet) ou des modems. Ces cartes implantent les nivaux 1 et 2 des protocoles; les autres niveaux sont implantés par les logiciels dans le SE. Les cartes sont considérées comme des appareils entrée et sortie par le SE.


Les protocoles dans l'Internet

L'Internet est surtout caractérisé par ses protocoles au niveau réseau (IP) et transport (TCP). Le développement, la normalisation et l'acceptation de ces protocoles ont rendu possible la communication entre les applications se trouvant dans les réseaux et les ordinateurs disparates.
Au niveau application un nombre de protocoles existent tels que SMTP (courriel), FTP (transfert des fichiers), TELNET (remote login), et surtout HTTP (pour le WWW, le Web).
Les niveaux session et présentation sont absents. Au niveau physique et liaison, n'importe quel protocol peut être employé.

* Protocole IP (Internet Protocol, niveau réseau)

But principal: service datagramme au niveau Réseau; simple, indépendant des sous-réseaux, des systèmes d'exploitation et des machines. Caractéristiques:
- Assure l'envoi des paquets entre deux machines hôtes, identifiées par leur adresse IP
- Accepte un segment TCP, forme un ou plusieurs datagrammes (paquets) en y ajoutant un nouveau header avec une adresse IP
- Vérification d'erreurs dans le header seulement
- Acheminement des datagrammes à travers l'Internet vers le hôte (machine) de destination. Ceci se fait à l'aide des routeurs.
- IP n'est pas fiable; les paquets peuvent se perdre, ou contenir des erreurs, ou arriver en mauvais ordre.
- Le service IP est de type "meilleur effort", c.à.d. il ne peut pas garantir la qualité de service en termes de délai (latency), gigue (variation du délai) et débit (en kb/s).

* Adresses IP
- Chaque hôte dans Internet et chaque routeur  a une adresse unique de 32 bits. La notation décimale est de
x.x.x.x, où x est entre 0-255.
Logiquement une adresse IP consiste en deux parties: l'adresse du réseau (network adress) et l'adresse du hôte (host number). 
- La présente version de IP est IPv4. La nouvelle version IPv6 permettra un adressage à 128 bits (non32), et un système de priorités des paquets qui pourra servir pour établir des classes de service avec garanties. La longueur des deux parties détermine la classe du réseau: A, B, C.

- A part of the address designates the network numbers, and the remaining part designates the host number. So, we may say an IP address has the format NETWORK.HOST. Traditionally, the conventions are that there are three types of networks.

     Class A networks use the first octet (8 bits) to designate the network, with the first
     (high-order) bit set to 0. The last three octets designate the host. So the Class A
     network addresses are 1.H.H.H to 127.H.H.H, where H is used to designate the host
     address octets. Class A addressing allows for 127 networks.
     Class B networks use two octets to designate the network and two to designate the
     host. The network part must begin with 10. The Class B networks are 128.x.H.H to
     191.x.H.H, where x is any number between 0 and 255. There can be 16,384 Class B
     networks.
     Class C networks use three octets to designate the network and only one to designate
     the host. The network part begins with 110. The Class C networks are 192.x.x.H to
     223.x.x.H, which allows for 2,097,152 networks.

As you can see, there are very few Class A networks, but each of them can accommodate
millions of hosts. A Class B network supports only 65,534 hosts, while Class C only 254
hosts (all 0 and 1 combinations are not allowed). There is also a Class D address (starts with 1110) used for multicasting and a Class E (1111) address reserved for the nerds.

- Le réseau de l'Université de Montréal est de classe B, son IP est 132.204.H.H.

- Les routeurs Internet (router, gateway) s'occupent de la partie réseau (N) des adresses. La partie H est traitée par d'autres moyens, e.g. dans un réseau local.

- Avec la prolifération de hôtes, il ne reste pas beaucoup d'adresses libres (la proposition IPv6 attaque ce problème). Pour ménager mieux les adresses disponibles dans un réseau Intenet, on peut sous-diviser les adresses disponibles H dans des sous-réseaux (e.g. chacun un réseau local RL), à l'aide des masques (netmask, subnet mask). Un tel masque retranche un nombre de bits de la partie H d'une adresse IP, à être utilisé par un routeur local qui achemine les paquets vers les RL. Dans l'intérieur d'un RL, les adresses H sont traduites vers les adresses connues dans le RL.

- Une autre mesure d'économie des noms est l'attribution dynamique d'une adresse IP aux machines connectées épisodiquement (e.g. par modem), pour la durée de la session.

* Principes de routage

- Lorsqu'un paquet IP arrive à un routeur, il est emmagasiné temporairement, l'adresse est lue et une décision est faite sur quel lien le paquet sera envoyé vers sa destination. Il y a une grande variété d'algorithmes de routage, la plupart est basée sur des tables de routage qui contiennent toute information sur l'état de congestion des liens, sur le chemin le plus court vers les destinations, etc.

- Analogie avec le fonctionnement de la poste: en traversant le réseau, une lettre est acheminée selon son code postal (par triage automatique) jusqu'à son arrivée au bureau de poste de destination. Le nom et l'adresse de la rue n'est utilisée qu'à ce moment (comme la partie H d'une adresse IP).

* Protocole TCP (Transport Control Protocol, niveau transport)

Conçu pour être utilisé avec IP, il assure la connexion fiable entre deux applications. Fonctions principales:
- Établissement d'une connexion fiable "full duplex" (circuit virtuel bi-directionnel entre deux ports, chaque port étant lié à un processus d'application).
- Formatage des données reçues de l'application en segments TCP. Chaque segment est numéroté et sa réception est confirmée. Les segments sont passés au protocole IP.
- Contrôle des erreurs; chaque segment contient un "checksum" qui permet de détecter et corriger un nombre d'erreurs. Les segments irréparables ou perdus sont redemandés par le récepteur.
- Assurer le multiplexage et démultiplexage : plusieures applications de même type peuvent partager la même connexion TCP.
- Contrôle du flux pour ne pas déborder le récepteur, en issuant au transmetteur un nombre limité de permissions de transmattre un segment.
- Assurer le bon séquencement des segments reçus (en utilisant leurs numéros)
- Acheminement des données comme normales ou urgentes plus avec haute priorité.
- La suite TCP - UDP - IP est incorporé dans touts les systèmes d'exploitation: Unix, MacOS, Windows.

* Protocole UDP (User datagramme Protocol, niveau transport)

UDP est beaucoup plus simple que TCP: il n'offre ni la fiabilité ni le contrôle de flux. UDP livre les paquets (presque) tels que reçu par IP. On utilise UDP dans les situations où la perte occasionelle des paquets n'est pas critique (e.g. pour la voix ou vidéo numérisé).

* Les URL

- Chaque ressource accessible sur l'Internet est désignée par un Universal Resource Locator, URL: un serveur ftp, un fichier sur votre disque, un serveur gopher, une image, une adresse courrier, un serveur de News, un serveur telnet et bien sûr un serveur http, c'est-à-dire un serveur de Web.
- La structure générale d'un URL est

service://user:password@host:port/path

Le service est le protocole d'accès utilisé, e.g. http, telnet, mail, ftp, etc.
Le host est la désignation d'un hôte Internet; ceci correspond à une adresse IP.
Le path est le chemin vers un fichier particulier

Toute ces composantes ne sont pas obligatoires; les URL peuvent prendre une variété de formes.

Exemples:
- http://www.microsoft.com fait référence à un serveur http www.microsoft.com
- ftp://nic.sys.edu fait référence à un serveur ftp d'adresse Internet nic.sys.edu
- ftp://nic.sys.edu/toto fait référence à un fichier (ou répertoire) toto au serveur ftp d'adresse Internet nic.sys.edu
- telnet://micros.bpo.fr fait référence à l'adresse micros.bpo.fr à laquelle on accède par telnet
- http://www.xerox.fr:8080
- mailto:// 
- http://www2.iro.umontreal.ca/~pift1214/Description.html
- file:///repertoire/fichier.txt Ce type d'URL permet d'accéder à un fichier, ici fichier.txt, présent sur votre disque local (la troisième barre oblique est la racine du repertoire).

Il y a trois types de URL:

     - absolu (vers une page sur une machine extérieure), e.g.
     http://www.imaginet.fr/ime/web.htm,
     - relatif (vers une page sur la même machine que la source d'un lien), e.g.
     Notes/relation.html.
     - local (vers un endroit spécifique dans le même document), e.g.
     http://www.imaginet.fr/ime/web.htm#_0

Évidemment, les liens relatifs ne fonctionnent que si la relation entre la source et la destination d'un lien
reste inchangée lors d'un déplacement des documents.

* Domaines et DNS

- Un système de noms symboliques est utilisé pour faciliter la lecture et la mémorisation des adresses IP par humains. Un mécanisme distribué permet de retrouver l'adresse IP d'une machine à partir de son nom symbolique (dans les deux sens). Ce mécanisme est basé sur l'utilisation de serveurs de noms (Domain Name Server - DNS) organisés selon la hiérarchie des domaines:
L'Internet est divisé en domaines (appelés Top Level Domains TLD), chaque domaine est divisé en sous-domaines qui, à leur tour, peuvent être séparés en sous-sous-domaines, etc.

Donc,www.jsp.umontreal.ca est le serveur Web du sous-domaine jsp du sous-domaine umontreal du domaine TLD ca.
Le sous-domaine umontreal.ca correspond à IP = 132.204.x.x

- Principaux domaines TLD:
          com: réseau commercial
          org: organisations à but non-lucratif
          gov: organisations gouvernementales aux E.U.
          mil: organisations militaires aux E.U.
          edu: organisations éducatives aux E.U.
          net: organisations qui ont un très large réseau
          ch: Suisse
          ca: Canada
          etc.

- Quelques nouveaux domaines:
          firm: entreprises et firmes
          store: entreprises offrant des marchandises à acheter
          web: entités dont les activités sont principalement liées au Web
          arts: entités dont les activités sont liées à la culture et aux divertissements
          rec: entités dont les activités sont principalement liées aux divertissements
          info: entités fournissant des services d'information

- Fonctionnement des DNS: Une  requête remonte dans la hiérarchie de DNS, jusqu'à arriver à un niveau où le (sous-)domaine de la machine destinatrice est connu et, à partir de là, elle redescend jusqu'au DNS local dans lequel la machine destinatrice est enregistrée. Une fois l'adresse trouvée, elle est retransmise à votre ordinateur pour qu'il puisse communiquer avec la machine destinatrice.
Essayez la commande Unix dnslookup

* Multicast et Mbone

- Plusieures applications importantes exigent une connectivité (uni-directionelle ou bi-directionelle) entre les membres d'un groupe d'usagers. On parle de multicast (qui est un cas intermédiaire entre communication unicast et broadcast). L'Internet au niveau IP supporte le multicast par une infrastructure d'adressage (la classe D, entre 224.0.0.0 et 239.255.255.255) et des routeurs multicast (mrouters). Cette approche minimise la duplication des paquets et la congestion du réseau (c.à d. comparé au cas où chaque paire de participants est traité comme une connexion unicast). La réalisation la plus connue du multicast est le système Mbone (Multicast Backbone On the Internet).
- Mbone est basé sur un réseau de mrouters qui communiquent entre eux avec un protocole IGMP (Internet Group Multicast Protocol). Les mrouters communiquent aussi avec les routeurs ordinaires unicast pour transporter les paquets entre les mrouters. Une adresse de classe D est une adresse de groupe, et chaque groupe a à chaque moment un nombre de membres (= hôtes). Des évènements populaires comme des concerts, conférences, etc. sont annoncés d'avance comme étant transmis par un certain groupe, auquel on peut s'inscrire.
L'appartenance aux groupes est dynamique. Pour s'abonner à un groupe multicast, il faut passer par un fournisseur qui supporte Mbone.



 

Le Web: but, histoire et relation avec l'Internet

Général

* WWW: système d'information et communication distribué, utilisant l'Internet comme infrastructure.
* Quelques statistiques (2000): No. de sites (serveurs): 4M; nombre total de pages 400M (=100 pages/site).
* Principe structural (point de départ): hypertexte.
* Hypertexte: extension du texte linéaire; des précurseurs existaient  depuis longtemps: commentaires dans
la Bible, références aux sujets reliés dans des textes scientifiques, tables de matière, systèmes d'aide (help), manuels d'utilisation, etc.
* Jalons importants: Memex (1945), "Hypertexte" (1965), Hypercard (1967).
* Début du WWW: 1989, système de documentation (textuelle) pour les besoins internes du CERN.
* 1999:  Le Web devient un outil universel et généralisé, le point central d'applications sophistiquées, très
diverses.
* WWW et Internet: pas la même chose! Grosso modo, le Web peut être vu comme une interface à l'Internet, et le navigateur comme une interface au Web.
* Les éléments techniques requis pour le fonctionnement du Web:
- Identification unique de chaque document avec un URL
- Machines Serveurs at Clients (avec logiciels navigateurs), connectées par l'Internet
- Protocole de transfert des documents: HTTP
- Système de codage des documents: HTML


Pages, liens, hypertexte, adressage par URL

* Sous sa forme nucléaire la structure logique du Web correspond au hypertexte pur: un ensemble de
documents (pages); les pages contiennent des pointeurs (liens, hyper-liens, références) vers d'autres
pages du système. L'ensemble de tous les documents du Web est distribué à travers les serveurs du
monde entier. L'activation (=cliquage) d'un pointeur entraîne la présentation du document en question,
peu importe son emplacement géographique. Aujourd'hui, bien sûr, il y a de nombreuses addittions
sophistiquées à ce schéma de base.
* Chaque page Web (et en général chaque ressource de l'Internet)  est identifiée par un identificateur
unique URL (Universal Resource Locator), voir plus haut.
 

Clients, serveurs, sites, protocole HTTP

* Le fonctionnement du Web se repose sur le paradigme Client-Serveur. Ceci signifie qu' il y a deux classes d'ordinateurs (logiciels) dans le Web:  Les pages disponibles pour diffusion sont gérées par des logiciels du type Serveur, très différents des logiciels du type Navigateur (browser) utilisés par les consommateurs de l'information (les clients). Le terme site (web, website) est souvent utilisé pour l'ensemble de pages appartenant à un usager (personne, entreprise, etc.). Un serveur peut héberger plusieurs sites.
* Le protocole HTTP (Hypertext Transfer Protocol) est à la base du fonctionnement du Web. HTTP
gère le cycle

Requête (URL)  --> Réponse (document).

* Caractéristiques saillantes de HTTP:

     Il s'appuie sur un protocole de transport, tel TCP.
     Il crée une connexion pour la durée du transfert d'un seul document.
     Donc, si un document est composé d'un ensemble d'autres documents (ce qui est souvent les cas),
     alors chacun d'eux est envoyé au client par une connexion séparée. Ceci n'est
     pas nécessairement vrai pour HTTP v. 1.1 (1997) qui permet de maintenir la connexion TCP pour
     la durée de plusieurs transferts de fichiers du serveur au client. Il peut y avoir même plusieures
     connexions parallèles entre le Serveur et le Client.
     HTTP ne laisse aucune trace de la transaction dans la machine serveur (il est "stateless").
     Les 4 éléments d'une transaction HTTP: connection (URL),  request (method: Get, Head, Post,
     Put), response (codage MIME, data), close. On peut observer ce déroulement dans le navigateur.
     Les méthodes du request transmettent toute information nécessaire, comme le URI demandé,
     codage accepté, autorisation, etc.

En principe c'est un protocole très simple et inefficace. L'inefficaté est due à la mauvaise interaction entre
HTTP et TCP, et à la nécessité de rétablir la connexion après chaque document tramsmis. Des
améliorations sont déjà proposées: HTTP-New Generation.

Navigateurs

* Les logiciels navigateurs (fureteur, browser) sont des interfaces au Web (et à l'Internet). Netscape
Navigator et MS Explorer sont les plus utilisés à présent. Les premiers navigateurs étaient textuels
(CERN); ensuite ils sont rapidement devenus graphiques et médiatisés (avec la possibilité de traiter une
variété des formats audio, vidéo, réalité virtuelle, etc).
* La fonction de base des navigateurs sont l'exécution du protocole HTTP, l'interprétation du code
HTML et la navigation (e.g. avec Back, Forward).
* Les navigateurs modernes sont extensibles par les plugins et helpers; dans certains cas ces logiciels sont
chargés automatiquement, sans interruption de la session. Le but de ces logiciels est surtout de présenter
des documents dont le format est inconnu au logiciel "native" du fureteur, e.g. VRML, Acrobat.
* Quelques traits communs des navigateurs modernes:
     - les hyper-liens sont généralement mis en évidence en soulignant le texte portant ce lien.
     - l'aspect d'un hyper-lien change si le document référencé a déjà été "visité".
     - lorsque le curseur de la souris est sur un hyper-lien, la forme du curseur change.
     - l'état d'avancement du chargement d'un document est généralement affiché.
     - l'utilisateur peut sauver l'URL du document courant, pour pouvoir y revenir directement plus tard,
sans avoir à resuivre tout le trajet qui l'a mené jusqu'à ce document courant. Netscape fait référence à des
bookmarks, alors que Explorer et Mosaic utilisent le terme de hotlist.
     - diverses opérations sur le document courant sont possibles: édition, archivage sur disque (en HTML,
en simple texte), impression (directement sur une imprimante, dans un fichier), visualisation de la source
HTML.
     - possibilité d'inhiber le chargement automatique des images incluses dans le document courant (soit
pour accélérer le chargement, soit pour diminuer la quantité de transferts à travers le réseau).
     - possibilité de voir tous les documents intermédiaires par lesquels l'utilisateur est passé pour arriver au
document courant.
* Personnalisation par les Options (couleurs, polices, etc.)
* Intégration des fonctions additionelles comme email, édition, téléconférence.
* Prenez du temps pour explorer et comprendre les fonctionnalités des fureteurs Netscape et MS. Leurs
fonctionnalités sont comparables, mais on trouve entre eux des incompatibilités mineures et désagréables.
 

Extensions de HTML

* Le but HTML est la composition des documents Web. Simple à l'origine (HTML-1), il est
devenu très complexe avec l'addition de nouvelles fonctionalités.  C'est un langage à balises (tags).
La version présente, HTML-4, inclut (parmi autres) DHTML (Dynamic HTML), la possibilité de télécharger des programmes exécutables comme applets ou des Control-X pour assurer l'interactivité des documents avec l'usager et avec d'autres machines.
* Méthodes pour générer HTML: éditeurs de texte ("manuel"), convertisseurs (eg. du Word), éditeurs
graphiques (Netscape etc.), et générateurs (eg. par scripts exécutés dans la machine hôte).
* Sources: SGML (Standard Generalized Markup Language): meta-langage pour décrire des types de documents électroniques, tel que des lettres, rapports, ou des documents HTML. Dans un document défini en SGML, on distingue les data, la structure et le format. Cette séparation est avantageuse pour le traitement automatisé des documents, comme la recherche, la réutilisation et compréhension, et il en résulte aussi une économie de transmission et du stockage. SGML, à la différence des autres méthodes de construction de documents comme Word, sépare les data et la structure du formattage; il n'est pas concerné par le format (qui est traité par le navigateur).
* Développements récents: XML (un sous-ensemble de SGML) permet de définir des types de documents autres que HTML; XHTML est une application de XML qui élargit susbtantiellement HTML-4.
** Cette série de généralisations transforme rapidement HTML d'un simple langage de description de pages vers un outil complexe et flexible de réalisation des systèmes répartis interactifs.

* Il y a de gros problèmes de compatibilité entre les éditeurs HTML de différents fabriquants et leur différentes versions. Les extensions propriétaires et la compétition (surtout entre NS et MS) empêchent la
normalisation fluide. Eg. Javascript vs. VMScript, etc.

Comment connaître le chemin emprunté par des paquets de données sur Internet entre son ordinateur et son site préféré ?

La fonction Traceroute vous indique le chemin qui a été emprunté par les paquets de données en direction de site précisé. Dans le résumé, il y a des passages marqués *** : ce sont des serveurs qui ont reçu des paquets de données, mais qui n'ont pas répondu.

Comment un paquet va d'une machine à l'autre ?

Comment les paquets circulent-ils d'un réseau à un autre ? Les hôtes, machines des utilisateurs de l'Internet, sont généralement reliés à un réseau local. Pour chaque réseau local, un routeur appelé passerelle relie ce réseau avec l'Internet.

Quel est le chemin par lequel passe une information pour accéder à un autre réseau local ?

2. Décrivez le chemin par lequel passe une information pour accéder à un autre réseau local. L'information passe par le point d'accès Wi-Fi et le routeur du collège, puis par le routeur et le point d'accès du domicile.

Quel est le matériel permet de relier plusieurs ordinateurs entre eux ?

Le commutateur (Switch) permet de relier plusieurs équipements (ordinateur, imprimante, …) au sein d'un réseau local. Le routeur wifi (aussi appelé borne wifi) permet comme un commutateur de relier plusieurs équipements, souvent nomades (tablette, Smartphone, …)