Accueil > Internet et Linux > Au fait c’est quoi Internet ?
Au fait c’est quoi Internet ?
samedi 24 juillet 2010, par
Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web, en utilisant le protocole de communication IP (internet protocol). Son architecture technique qui repose sur une hiérarchie de réseaux, ce qui implique de facto une non-centralisation, lui vaut le surnom de réseau des réseaux.
__degrade.png__
__degrade.png__
Internet et le WWW sont parfois confondus par le public non averti. Le World Wide Web n’est pourtant que l’une des applications d’Internet (D’autres applications d’Internet sont le courrier électronique, la messagerie instantanée, Usenet, etc).
L’accès à Internet peut être obtenu grâce à un fournisseur d’accès à Internet via divers moyens de communications électroniques : soit filaire (réseau téléphonique commuté (bas débit), ADSL, fibre optique jusqu’au domicile...) , soit sans fil (WiMAX, Internet par satellite, 3G+...). Un utilisateur d’Internet est désigné en français par le néologisme « internaute » (wikipedia)
++++
* http: accéder à des pages web
* ftp: transférer des fichiers
* IRC : discuter en direct
* et bien d’autres choses
On assigne à chacun d’entre eux un numéro (le port) qui est transmis lors de la communication (la transmission est effectuée par petits paquets d’informations). Ainsi on sait à quel programme correspond chaque petit paquet :
* les paquets http arrivent sur le port 80 et sont transmis au navigateur internet à partir duquel la page a été appelée,
* les paquets irc arrivent sur le port 6667 (ou un autre situé généralement autour de 7000) et sont transmis à un programme tel que iChat (ou autre).
++++
* par l’intermédiare d’un modem,
* par l’intermédiaire d’un réseau local.
Par modem
Le modem permet, de se connecter à un réseau par l’intermédiaire des lignes téléphoniques qui ne sont pas prévues à cet effet à l’origine (mais qui reste le moyen de communication le plus répandu). Un modem permet d’établir une communication entre deux ordinateurs par l’intermédiaire d’une ligne téléphonique. Vous pouvez toutefois avoir accès à un réseau (donc par extension à Internet) en contactant un ordinateur relié (« d’un côté ») à une ou plusieurs lignes téléphoniques (pour recevoir votre appel) et (« de l’autre côté ») à un réseau relié à Internet. Cet ordinateur appartient généralement à un fournisseur d’accès internet (FAI). Lorsqu’il vous connecte par son intermédiaire, il vous prête une adresse IP que vous garderez le temps de la connexion. A chaque connexion de votre part il vous attribuera arbitrairement une des adresses IP libres qu’il possède, celle-ci n’est donc pas une adresse IP « fixe ». On parle dans ce cas d’une adresse IP « dynamique ».
Par réseau local
Un ordinateur personnel relié à un réseau local par une connexion cablée de type Ethernet ou sans fil de type Wi-Fi est de facto relié à Internet si ce réseau local est lui-même connecté à Internet. Le réseau local (via un serveur DHCP, BootP ou autre) assigne alors une adresse IP (fixe ou dynamique) aux ordinateurs du réseau local permettant ainsi d’identifier les ordinateurs locaux reliés au réseau. Le routage des paquets d’information entre les ordinateurs du réseau local et les ordinateurs reliés à Internet n’importe où dans le monde est alors effectué par un routeurs. Les routeurs modernes, même domestiques que l’on peut se procurer pour moins de 50 $, intègent aujourd’hui un serveur DHCP et un coupe-feu.
++++
Sur Internet, les protocoles utilisés font partie d’une suite de protocoles, c’est-à-dire un ensemble de protocoles reliés entre-eux. Cette suite de protocole s’appelle TCP/IP. Elle contient, entre autres, les protocoles suivants :
* IP - Internet Protocol (gère le transport et le routage des paquets sur le réseau)
* TCP - Transmission Control Protocol (gère l’établissement de la connexion, les transferts de données, et la fin de la connexion dans une communication IP)
* UDP - User Data Protocol (gère la transmission rapide de données sans contrôle - à la différence de TCP)
* ICMP - Internet Control Message Protocol (contrôle des erreurs de transmission sur Internet)
* HTTP - HyperText Transport Protocol (pages web)
* FTP - File Transfer Protocol (transfert de fichiers)
* SMTP - Simple Mail Transfer Protocol (expédition du courriel)
* POP - Post Office Protocol (récupération du courriel)
* IMAP - Internet Mail Access Protocol (récupération du courriel avec fonctionnalités avancées)
* SSH - Secure SHell (pour l’accès distant sécurisé sur les stations de type Unix ou Linux)
* NNTP - Network News Transport Protocol (Usenet ou newsgroups - messages organisés par groupes de discussion stockés et relayés par serveurs NTTP)
Protocoles orientés et non orientés connexion
On classe généralement les protocoles en deux catégories selon le niveau de contrôle des données que l’on désire :
* Les protocoles orientés connexion : Il s’agit des protocoles opérant un contrôle de transmission des données pendant une communication établie entre deux machines. Dans un tel schéma, la machine réceptrice envoie des accusés de réception lors de la communication, ainsi la machine émettrice est assurée de la validité des données qu’elle envoie. Les données sont ainsi envoyées sous forme de flot. TCP est un protocole orienté connexion.
* Les protocoles non orientés connexion : Il s’agit d’un mode de communication dans lequel la machine émettrice envoie des données sans prévenir la machine réceptrice, et la machine réceptrice reçoit les données sans envoyer d’avis de réception à la première. Les données sont ainsi envoyées sous forme de blocs (datagrammes). UDP est un protocole non orienté connexion.
Protocole et implémentation
Un protocole définit uniquement la façon par laquelle les machines doivent communiquer, c’est-à-dire la forme et la séquence des données à échanger. Un protocole ne définit par contre pas la manière de programmer un logiciel de telle manière à ce qu’il soit compatible avec le protocole. On appelle ainsi implémentation la traduction d’un protocole en langage informatique.
Les spécifications des protocoles ne sont jamais exhaustives, aussi il est courant que les implémentations soient l’objet d’une certaine interprétation des spécifications, ce qui conduit parfois à des spécificités de certaines implémentations ou pire à des incompatibilités ou des failles de sécurité !
++++
Ce protocole utilise des numéros de 32 bits, que l’on écrit sous forme de 4 numéros allant de 0 à 255 (4 fois 8 bits), on les note donc sous la forme xxx.xxx.xxx.xxx où chaque xxx représente un entier de 0 à 255. Ces numéros servent aux ordinateurs du réseau pour se reconnaître, ainsi il ne doit pas exister deux ordinateurs sur le réseau ayant la même adresse IP (IP signifie Internet Protocol).
Par exemple, 194.153.205.26 est une adresse TCP/IP donnée sous une forme technique. Ce sont ces adresses que connaîssent les ordinateurs qui communiquent entre eux.
Déchiffrage d’une adresse IP
Comme nous l’avons vu une adresse IP est une adresse 32 bits notée sous forme de 4 nombres entiers séparés par des points. On distingue en fait deux parties dans l’adresse IP :
* une partie des nombres à gauche désigne le réseau (on l’appelle netID)
* Les nombres de droite désignent les ordinateurs de ce réseau (on l’appelle host-ID)
Prenons un exemple :
Internet est représenté ci-dessus par deux petits réseaux.
Notons le réseau de gauche 194.28.12. Il contient alors les ordinateurs suivants :
* 194.28.12.1 à 194.28.12.4
Notons celui de droite 178.12.77. Il comprendra les ordinateurs suivants :
* 178.12.77.1 à 178.12.77.6
Les réseaux sont donc notés 194.28.12 et 178.12.77, puis on numérote incrémentalement chacun des ordinateurs le constituant.
Imaginons un gros réseau noté 58.24 : on donnera généralement aux ordinateurs reliés à lui les adresses IP allant de 58.24.0.1 à 58.24.255.254. Il s’agit donc d’attribuer les numéros de telle façon qu’il y ait une organisation dans la hiérarchie des ordinateurs et des serveurs…
Ainsi, plus le nombre de bits réservé au réseau est petit, plus celui-ci peut contenir d’ordinateurs. En effet un réseau noté 102 peut contenir des ordinateurs dont l’adresse IP peut aller de 102.0.0.1 à 102.255.255.254 (16777214 possibilités), tandis qu’un réseau noté 194.26 ne pourra contenir que des ordinateurs dont l’adresse IP sera comprise entre 194.26.0.1 et 194.26.255.254 (65534 possibilités), c’est la notion de classe.
Adresses particulières
Lorsque l’on annule la partie host-id, c’est-à-dire lorsque l’on remplace les bits réservés aux machines du réseau, on obtient ce que l’on appelle l’adresse réseau. Ainsi, 194.28.12.0 est une adresse réseau et on ne peut donc pas l’attribuer à un des ordinateurs du réseau.
Lorsque l’on annule la partie netid, c’est-à-dire lorsque l’on remplace les bits réservés au réseau, on obtient ce que l’on appelle l’adresse machine. Cette adresse représente la machine spécifiée par le host-ID qui se trouve sur le réseau courant.
Lorsque tous les bits de la partie host-id sont à 1, on obtient ce que l’on appelle l’adresse de diffusion (en anglais broadcast), c’est-à-dire une adresse qui permettra d’envoyer le message à toutes les machines situées sur le réseau spécifié par le netID.
Lorsque tous les bits de la partie netid sont à 1, on obtient ce que l’on appelle l’adresse de diffusion limitée (en anglais multicast).
L’adresse 127.0.0.1 est appelée adresse de boucle locale (en anglais loopback), car elle désigne la machine locale (en anglais localhost).
Les classes de réseaux
Les adresses IP sont donc réparties en classes, c’est-à-dire selon le nombre d’octets qui représentent le réseau.
Classe A
Dans la classe A, il y a 128 possibilités de réseaux. Le réseau 0 n’existe pas et le nombre 127 est réservé pour désigner votre machine, les réseaux disponibles en classe A sont donc les réseaux allant de 1.0.0.0 à 126.0.0.0 (lorsque les derniers octets sont des zéros cela indique qu’il s’agit d’un réseau et non d’un ordinateur !)
Chaque réseau de classe A peut contenir jusqu’à 16 777 214 ordinateurs
Classe B
Dans la classe B, il y a 16 384 possibilités de réseaux. Les réseaux disponibles en classe B sont les réseaux allant de 128.0.0.0 à 191.255.0.0
Un réseau de classe B peut contenir 65 534 ordinateurs.
Classe C
Dans la classe C, il y a 2 097 152 possibilités de réseaux. Les réseaux disponibles en classe C sont donc les réseaux allant de 192.0.0.0 à 223.255.255.0.
Un réseau de classe C peut contenir 254 ordinateurs.
Attribution des adresses IP
Le but de la division des adresses IP en trois classes A,B et C est de faciliter la recherche d’un ordinateur sur le réseau. En effet avec cette notation il est possible de rechercher dans un premier temps le réseau que l’on désire atteindre puis de chercher un ordinateur sur celui-ci. Ainsi l’attribution des adresses IP se fait selon la taille du réseau.
Classe Nbe de réseaux Nbre d’ordis sur chacun
A 126 16 777 214
B 16 384 65 534
C 2 097 152 254
Les adresses de classe A sont réservées aux très grands réseaux, tandis que l’on attribuera les adresses de classe C à des petits réseaux d’entreprise par exemple.
Adresses IP réservées
Il arrive fréquemment dans une entreprise qu’un seul ordinateur soit relié à Internet, c’est par son intermédiaire que les autres ordinateurs du réseau accèdent à Internet (on parle généralement de proxy ou routeur). Dans ce cas, seul l’ordinateur relié à Internet a besoin de réserver une adresse IP auprès de l’INTERNIC. Toutefois, les autres ordinateurs ont tout de même besoin d’une adresse IP pour pouvoir communiquer ensemble de façon interne.
Ainsi, l’INTERNIC a réservé une poignée d’adresses dans chaque classe pour permettre d’affecter une adresse IP aux ordinateurs d’un réseau local relié à Internet sans risquer de créer de conflits d’adresses IP sur le réseau. Il s’agit des adresses suivantes :
* 10.0.0.1 à 10.255.255.254
* 172.16.0.1 à 172.31.255.254
* 192.168.0.1 à 192.168.255.254
Noms de domaine
Qu’appelle-t-on DNS ?
Chaque station possède une adresse IP propre. Cependant, les utilisateurs ne veulent pas travailler avec des adresses numériques du genre 194.153.205.26 mais avec des noms de stations ou des adresses plus explicites (appelées adresses FQDN - Fully Qualified Domain Name) du style http://www.commentcamarche.net/ ou webmaster@commentcamarche.net.
Ainsi, TCP/IP permet d’associer des noms en langage courant aux adresses numériques grâce à un système appelé DNS (Domain Name System).
On appelle résolution de noms de domaines (ou résolution d’adresses) la corrélation entre les adresses IP et le nom de domaine associé.
Noms d’hôtes
Aux origines de TCP/IP, étant donné que les réseaux étaient très peu étendus, c’est-à-dire que le nombre d’ordinateurs connectés à un même réseau était faible, les administrateurs réseau créaient des fichiers appelés tables de conversion manuelle (fichiers généralement nommés hosts ou hosts.txt), associant sur une ligne, grâce à des caractères ASCII, l’adresse IP de la machine et le nom littéral associé, appelé nom d’hôte.
Le Domain Name System
Le système précédent a l’inconvénient majeur de nécessiter la mise à jour des tables de tous les ordinateurs en cas d’ajout ou modification d’un nom de machine. Ainsi, avec l’explosion de la taille des réseaux, et de leur interconnexion, il a fallu mettre en place un système plus centralisé de gestion des noms. Ce système est nommé Domain Name System, traduisez Système de nom de domaine.
Ce système consiste en une hiérarchie de noms permettant de garantir l’unicité d’un nom dans une structure arborescente.
On appelle nom de domaine, le nom à deux composantes, dont la première est un nom correspondant au nom de l’organisation ou de l’entreprise, le second à la classification de domaine (.fr, .com, …). Chaque machine d’un domaine est appelée hôte. Le nom d’hôte qui lui est attribué doit être unique dans le domaine considéré (le serveur web d’un domaine porte souvent le nom www).
L’ensemble constitué du nom d’hôte, d’un point, puis du nom de domaine est appelé adresse FQDN (Fully Qualified Domain Name, soit Nom de Domaine Totalement Qualifié). Cette adresse permet de repérer de façon unique une machine. Ainsi www.ca.edu représente une adresse FQDN.
Les machines appelées serveurs de nom de domaine permettent d’établir la correspondance entre le nom de domaine et l’adresse IP sur les machines d’un réseau. Chaque domaine possède ainsi, un serveur de noms de domaines, relié à un serveur de nom de domaine de plus haut niveau. Ainsi, le système de nom est une architecture distribuée, c’est-à-dire qu’il n’existe pas d’organisme ayant à charge l’ensemble des noms de domaines. Par contre, il existe un organisme qui gère certaines classes de noms de domaine (l’InterNIC pour les noms de domaine en .com, .net, et .org par exemple). Le système de noms de domaine est transparent pour l’utilisateur, néanmoins il ne faut pas oublier les points suivants :
Chaque ordinateur doit être configuré avec l’adresse d’une machine capable de transformer n’importe quel nom en une adresse IP. Cette machine est appelée Domain Name Server.
* L’adresse IP d’un second Domain Name Server (secondary Domain Name Server) doit également être introduite : il peut relayer le premier en cas de panne.
* Le nom d’un serveur de nom de domaines ne peut bien sûr pas être utilisé pour d’autres services internet.
++++
Toutefois, il existe des noms, créés pour les Etats-Unis à la base, permettant de classifier le domaine selon le secteur d’activité, par exemple :
* .arpa* correspond aux machines issues du réseau originel.
* .com correspond aux entreprises à vocation commerciales (désormais ce code de domaine ne rime plus à grand chose et est devenu international).
* .net correspond aux organismes ayant trait aux réseaux.
* .org correspond aux entreprises à but non lucratif.
* .info correspond aux sites d’information.
* .biz correspond aux petites et moyennes entreprises à vocation commerciales.
* .name correspond aux sites web personnels basé sur le nom des individus.
* .tv correpond aux sites riches en contenu multimédia.
* .org correspond aux entreprises à but non lucratif.
* .edu* réservé aux établissements d’enseignement supérieur américains et parfois canadiens.
* .gov* réservé aux organismes gouvernementaux américains.
* .mil* réservé aux organismes militaires américains.
* Les classes .arpa, .edu, .gov et .mil ne sont évidemmment pas disponibles chez les registraires de noms de domaine grand public. Toutes les autres classes génériques sont en général disponibles pour enregistrement.
Code Pays
AC Île de l’Ascencion
AD Andorre
AE Emirats Arabes Unis
AF Afghanistan
AG Antigua et Barbuda
AI Anguilla
AL Albanie
AM Arménie
AN Antilles Néerlandaises
AO Angola
AQ Antarctique
AR Argentine
AS Samoa Américaines
AT Autriche
AU Australie
AW Aruba
AZ Azerbaïdjan
BA Bosnie-Herzégovine
BB Barbade
BD Bangladesh
BE Belgique
BF Burkina-Faso
BG Bulgarie
BH Bahrayn
BI Burundi
BJ Bénin
BM Bermudes
BN Brunei Darussalam
BO Bolivie
BR Brésil
BS Bahamas
BT Boutan
BV Ile Bouvet
BW Botswana
BY Bélarusse
BZ Belize
CA Canada
CC Iles Cocos
CD République démocratique du Congo
CF République Centrafricaine
CG Congo
CH Suisse
CI Côte d’Ivoire
CK Iles Cook
CL Chili
CM Cameroun
CN Chine
CO Colombie
CR Costa Rica
CU Cuba
CV Cap Vert
CX Ile Christmas
CY Chypre
CZ République Tchèque
DE Allemagne
DJ Djibouti
DK Danemark
DM Dominique
DO République Dominicaine
DZ Algérie
EC Equateur
EE Estonie
EG Egypte
EH Sahara Occidental
ER Eritrée
ES Espagne
ET Ethiopie
FI Finlande
FJ Fidji
FK Iles Falkland (Malouines)
FM Micronésie
FO Iles Faroe
FR France
FX France (Territoire Européen)
GA Gabon
GB Grande-Bretagne
GD Grenade
GE Géorgie
GF Guyane Française
GG Guernesey
GH Ghana
GI Gibraltar
GL Groenland
GM Gambie
GN Guniée
GP Guadeloupe
GQ Guinée Equatoriale
GR Grèce
GS Géorgie du Sud
GT Guatemala
GU Guam (USA)
GW Guinée-Bissau
GY Guyana
HK Hong Kong
HM Iles Heard and McDonald
HN Honduras
HR Croatie
HT Haïti
HU Hongrie
ID Indonésie
IE Irlande
IL Israël
IM Ile de Man
IN Inde
IO Territoires Britanniques de l’océan Indien
IQ Irak
IR Iran
IS Islande
IT Italie
JM Jamaïque
JO Jordanie
JP Japon
KE Kenya
KG Kirghizstan
KH Cambodge
KI Kiribati
KM Comores
KN saint Kitts Nevis Anguilla
KP Corée du Nord
KR Corée du Sud
KW Koweït
KY Iles Caïman
KZ Kazakhstan
LA Laos
LB Liban
LC Sainte-Lucie
LI Liechtenstein
LK Sri Lanka
LR Libéria
LS Lesoto
LT Lituanie
LU Luxembourg
LV Lettonie
LY Libye
MA Maroc
MC Monaco
MD Moldavie
MG Madagascar
MH Iles Marshall
MK Macédoine
ML Mali
MM Myanmar
MN Mongolie
MO Macao
MP Iles Marianne du Nord
MQ Martinique
MR Mauritanie
MS Montserrat
MU Ile Maurice
MV Maldives
MW Malawi
MX Mexique
MY Malaisie
MZ Mozambique
NA Namibie
NC Nouvelle-Calédonie
NE Niger
NF Iles Norfolk
NG Nigeria
NI Nicaragua
NL Pays-Bas
NO Norvège
NP Népal
NR Nauru
NT Zone Neutre
NU Niue
NZ Nouvelle-Zélande
OM Oman
PA Panama
PE Pérou
PF Polynésie française
PG Papouasie Nouvelle-Guinée
PH Philippines
PK Pakistan
PL Pologne
PM Saint-Pierre et Miquelon
PN Pitcairin
PR Porto Rico (USA)
PS Territoires palestiniens
PT Portugal
PY Paraguay
PW Palau
QA Qatar
RE Réunion
RO Roumanie
RU Fédération Russe
RW Rwanda
SA Arabie Saoudite
SB Iles Salomon
SC Seychelles
SD Soudan
SE Suède
SG Singapour
SH Sainte-Hélène
SI Slovénie
SJ Iles Svalbard et Jan Mayen
SK République Slovaque
SL Sierra Leone
SM San Marin
SN Sénégal
SO Somalie
SR Surinam
ST Saint Tomé et Principe
SY Syrie
SU Union Soviétique
SV El Salvador
SZ Swaziland
TC Iles Turques et Caicos
TD Tchad
TF Territoire Austral Français
TG Togo
TH Thaïlande
TJ Tadjikistan
TK Tokelau
TM Turkmenistan
TN Tunisie
TO Tonga
TP Timor Est
TR Turquie
TT Trinité et Tobago
TV Tuvalu
TW Taïwan
TZ Tanzanie
UA Ukraine
UG Ouganda
UK Royaume-Uni
UM US Minor Outlying Islands
US Etats-Unis
UY Uruguay
UZ Ouzbékistan
VA Cité du Vatican
VC Saint-vincent et Grenadines
VE Venezuela
VG Iles Vierges Britanniques
VI Iles Vierges Américaines
VN Viêt Nam
VU Vanuatu
WF Wallis et Futuna
WS Samoa de l’Ouest
YE Yémen
YT Mayotte
YU Yougoslavie
ZA Afrique du sud
ZM Zambie
ZR Zaïre
ZW Zimbabwe
Beaucoup des noms de domaines nationaux sont régis par des organismes nationaux ou régionaux. Les conditions d’enregistrement et les informations à fournir varient d’un pays à l’autre. Pour de nombreux pays, seuls les résidents ou les entreprises ayant une place d’affaires dans le pays peuvent s’y enregistrer. Pour quelques pays, toutefois, les enregistrements sont disponibles sans aucune restriction. Les plus connus et populaires sont .bz, .cc, .gs, .ms, .vg, .ws. Pour ces pays, l’enregistrement de noms de domaine constitue souvent une importante source de revenus. Fait cocasse, les noms de domaine enregistrés dans la classe .us sont peu nombreux, la plupart des entreprises, organismes et individus des États-Unis préférant s’identifier sur internet dans une classe générique.
++++
Ainsi, pour faciliter ce processus, chacune de ces applications se voit attribuer une adresse unique sur la machine, codée sur 16 bits : un port (la combinaison adresse IP : port est alors une adresse unique au monde, elle est appelée socket). Elle prend alors cette forme 127.2.3.4:8181.
L’adresse IP sert donc à identifier de façon unique un ordinateur sur le réseau tandis que le numéro de port indique l’application à laquelle les données sont destinées. De cette manière, lorsque l’ordinateur reçoit des informations destinées à un port, les données sont envoyées vers l’application correspondante. S’il s’agit d’une requête à destination de l’application, l’application est appelée application serveur. S’il s’agit d’une réponse, on parle alors d’application cliente.
La fonction de multiplexage
Le processus qui consiste à pouvoir faire transiter sur une connexion des informations provenant de diverses applications s’appelle le multiplexage. De la même façon le fait d’arriver à mettre en parallèle (donc répartir sur les diverses applications) le flux de données s’appelle le démultiplexage.
Ces opérations sont réalisées grâce au port, c’est-à-dire un numéro associé à un type d’application, qui, combiné à une adresse IP, permet de déterminer de façon unique une application qui tourne sur une machine donnée.
Voici certaines de ces assignations par défaut :
Code Pays
Port Service ou Application
21 FTP
23 Telnet
25 SMTP
53 Domain Name Server
63 Whois
70 Gopher
79 Finger
80 HTTP
110 POP3
119 NNTP
* Les ports 0 à 1023 sont les ports reconnus ou réservés (Well Known Ports). Ils sont assignés par le IANA (Internet Assigned Numbers Authority) et sont, sur beaucoup de systèmes, uniquement utilisables par les processus système ou les programmes exécutés par des utilisateurs privilégiés. Un administrateur réseau peut toutefois lier des services aux ports de son choix.
* Les ports 1024 à 49151 sont appelés ports enregistrés (Registered Ports).
* Les ports 49152 à 65535 sont les ports dynamiques ou privés.
Ainsi, un serveur (un ordinateur que l’on contacte et qui propose des services tels que FTP, Telnet, …) possède des numéros de port fixes auxquels l’administrateur réseau a associé des services. Ainsi, les ports d’un serveur sont généralement compris entre 0 et 1023 (fourchette de valeurs associées à des services connus).
Du côté du client, le port est choisi aléatoirement parmi ceux disponibles par le système d’exploitation. Ainsi, les ports du client ne seront jamais compris entre 0 et 1023 car cet intervalle de valeurs représente les ports connus.
* Le nom du protocole : c’est-à-dire en quelque sorte le langage utilisé pour communiquer sur le réseau. Le protocole le plus largement utilisé est le protocole HTTP (HyperText Transfer Protocol), le protocole permettant d’échanger des pages Web au format HTML. De nombreux autres protocoles sont toutefois utilisables (FTP,News,Mailto,Gopher,…)
* Identifiant et mot de passe : permet de spécifier les paramètres d’accès à un serveur sécurisé. Cette option est facultative et même déconseillée car le mot de passe est visibledansl’URLet voyage donc en clair sur Internet.
* Le nom du serveur : Il s’agit d’un nom de domaine de l’ordinateur hébergeant la ressource demandée. Notez qu’il est possible d’utiliser l’adresse IP du serveur, ce qui rend par contre l’URL moins lisible.
* Le numéro de port : il s’agit d’un numéro associé à un service permettant au serveur de savoir quel type de ressource est demandée. Le port associé par défaut au protocole HTTP est le port numéro 80. Ainsi, lorsque le service Web du serveur est associé au numéro de port 80, le numéro de port est facultatif.
* Le chemin d’accès à la ressource : Cette dernière partie permet au serveur de connaître l’emplacement auquel la ressource est située, c’est-à-dire de manière générale l’emplacement (répertoire) et le nom du fichier demandé
Une URL a donc la structure suivante :
Protocole Mot de passe Nom du serveur Port Chemin
http://user:password@www.commentcamarche.net:80/internet/internet.php3
Les protocoles suivant peuvent par exemple être utilisés par l’intermédiaire de l’URL :
* http, pour la consultation de pages web
* ftp, pour la consultation de sites FTP
* telnet, pour la connexion à un terminal distant
* mailto, pour l’envoi d’un courrier électronique
* news, pour la consultation d’une liste de nouvelles (NTTP)
* gopher, pour la connexion à un serveur Gopher
Le nom de fichier dans l’URL peut être suivi d’un point d’interrogation puis de données au format ASCII, il s’agit de données supplémentaires envoyées en paramètre d’une application sur le serveur (un script CGI par exemple). L’URL ressemblera alors à une chaîne de caractères comme celle-ci :
http://www.commentcamarche.net/forum/index.php3?cat=1&page=2
Le codage d’une URL
Etant donné que l’URL est un moyen d’envoyer des informations à travers Internet (pour envoyer des données à un script CGI par exemple), il est nécessaire de pouvoir envoyer des caractères spéciaux, or les URL ne peuvent pas contenir de caractères spéciaux. De plus, certains caractères sont réservés car ils ont une signification (le slash permet de spécifier un sous-répertoires, les caractères & et ? servent à l’envoi de données par formulaires…). Enfin les URL peuvent être inclus dans un document HTML, ce qui rend difficile l’insertion de caractères tels que < ou > dans l’URL.
C’est pourquoi un codage est nécessaire ! Le codage consiste à remplacer les caractères spéciaux par le caractère % (devenant lui aussi un caractère spécial) suivi du code ASCII du caractère à coder en notation hexadécimale.
Voici la liste des caractères nécessitant un codage particulier :
Caractère Codage URL
Tabulation %09
Espace %20
" %22
# %23
% %25
& %26
( %28
) %29
, %2C
. %2E
/ %2F
: %3A
; %3B
< %3C
= %3D
> %3E
? %3F
@ %40
[ %5B
\ %5C
] %5D
%5E
’ %60
%7B
| %7C
%7D
%7E
++++
Ce document adapté modifié et complété par Bruno Cavat est issu de CommentCaMarche.net. Il est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.