Qu'est-ce qu'Internet?

Aux débuts de l'informatique des ordinateurs ont été mis au point, dès qu'ils furent aptes à fonctionner seuls, des personnes eurent l'idée de les relier entre eux afin qu'ils puissent échanger des données, c'est le concept de réseau. Il a donc fallu mettre au point des liaisons physiques entre les ordinateurs pour que l'information puisse circuler, mais aussi un langage de communication pour qu'il puisse y avoir un réel échange, on a décidé de nommer ce langage: protocole.
Sur Internet, de nombreux protocoles sont utilisés, ils font partie d'une suite de protocoles qui s'appelle TCP/IP. TCP/IP est basé sur le repérage de chaque ordinateur par une adresse appelée adresse IP qui permet d'acheminer les données à la bonne adresse. Puis on a associé à ces adresses des noms de domaine pour permettre de s'en souvenir plus facilement.

Des réseaux hétérogènes (de natures différentes) se sont développés aux quatre coins du globe; des personnes décidèrent donc de relier ces réseaux entre eux (des universités par exemple, ou l'armée). Les protocoles ont donc évolué pour permettre la communication de tous ces réseaux pour former le réseau des réseaux, formant petit à petit une gigantesque toile d'araignée (en anglais "web") formant le réseau le plus vaste, puisque contenant tous les réseaux, que l'on appelle Internet! Sur Internet il existe différents protocoles (langages entre les ordinateurs) qui permettent de faire différentes choses:

  • IRC: discuter en direct
  • http: regarder des pages web
  • ftp: transférer des fichiers
  • 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 mIRC (ou autre)

 

Se connecter à Internet

La carte réseau est l'élément de l'ordinateur qui permet de se connecter à un réseau par des lignes spécialement prévues pour faire transiter des informations numériques. Le modem permet, lui, 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). Une carte réseau possède une adresse IP qui la caractérise (c'est comme ça que l'on peut distinguer les différents ordinateurs sur Internet ... difficile sinon de mettre en place une communication).

La connexion par l'intermédiaire d'un modem est totalement différente. En effet, 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éphonique (pour recevoir votre appel) et ("de l'autre côté") à un réseau par l'intermédiaire d'une carte réseau. Cet ordinateur appartient généralement à votre 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".

 

Qu'est-ce qu'un protocole?

Un protocole est une méthode standard qui permet la communication entre des processus (s'exécutant éventuellement sur différentes machines), c'est-à-dire un ensemble de règles et de procédures à respecter pour émettre et recevoir des données sur un réseau. Il en existe plusieurs selon ce que l'on attend de la communication. Certains protocoles seront par exemple spécialisés dans l'échange de fichiers (le FTP), d'autres pourront servir à gérer simplement l'état de la transmission et des erreurs (c'est le cas du protocole ICMP), ...

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:

 

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 garante 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é !

 

Qu'est-ce qu'une adresse IP

Sur Internet, les ordinateurs communiquent entre eux grâce au protocole TCP/IP qui 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.

C'est l'IANA (Internet Assigned Numbers Agency) qui est chargée d'attribuer ces numéros.

 

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 (256*256*256-2=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 (256*256-2=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 (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 une adresse IP de classe A, le premier octet représente le réseau. Le bit de poids fort (le premier bit, celui de gauche) est à zéro, ce qui signifie qu'il y a 27 (00000000 à 01111111) possibilités de réseaux, c'est-à-dire 128. Toutefois le réseau 0 (00000000) 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!)

Les trois octets de droite représentent les ordinateurs du réseaux, le réseau peut donc contenir:
224-2 = 16777214 ordinateurs.

Une adresse IP de classe A, en binaire, ressemble à ceci:

0 xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Réseau Ordinateurs

 

Classe B

Dans une adresse IP de classe B, les deux premiers octets représentent le réseau. Les deux premiers bits sont 1 et 0, ce qui signifie qu'il y a 214 (10 000000 00000000 à 10 111111 11111111) possibilités de réseaux, c'est-à-dire 16384. Les réseaux disponibles en classe B sont donc les réseaux allant de 128.0.0.0 à 191.255.0.0

Les deux octets de droite représentent les ordinateurs du réseau, le réseau peut donc contenir:
216-21 = 65534 ordinateurs.

Une adresse IP de classe B, en binaire, ressemble à ceci:

10 xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Réseau Ordinateurs

 

Classe C

Dans une adresse IP de classe C, les trois premiers octets représentent le réseau. Les trois premiers bits sont 1,1 et 0, ce qui signifie qu'il y a 221 possibilités de réseaux, c'est-à-dire 2097152. Les réseaux disponibles en classe C sont donc les réseaux allant de 192.0.0.0 à 223.255.255.0

L'octet de droite représente les ordinateurs du réseau, le réseau peut donc contenir:
28-21 = 254 ordinateurs.

Une adresse IP de classe C, en binaire, ressemble à ceci:

110 xxxxx xxxxxxxx xxxxxxxx xxxxxxxx
Réseau 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 Nombre de réseaux possibles Nombre d'ordinateurs maxi sur chacun
A 126 16777214
B 16384 65534
C 2097152 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). 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

 

Masques de sous-réseau

 

 

Notion de masque

Pour comprendre ce qu'est un masque, il peut-être intéressant de jeter un oeil à la section assembleur qui parle du masquage en binaire

En résumé, on fabrique un masque contenant des 1 aux emplacements des bits que l'on désire conserver, et des 0 pour ceux que l'on veut rendre égaux à zéro. Une fois ce masque créé, il suffit de faire un ET entre la valeur que l'on désire masquer et le masque afin de garder intacte la partie que l'on désire et annuler le reste.

Ainsi, un masque réseau (en anglais netmask) se présente sous la forme de 4 octets séparés par des points (comme une adresse IP), il comprend (dans sa notation binaire) des zéros aux niveau des bits de l'adresse IP que l'on veut annuler (et des 1 au niveau de ceux que l'on désire conserver).

 

Interet d'un tel masque


Il y en a en fait plusieurs. Un d'entre-eux est de pouvoir connaître le réseau associé à une adresse IP. En effet, comme nous l'avons vu précédemment, le réseau est déterminé par un certain nombre d'octets de l'adresse IP (1 octet pour les adresses de classe A, 2 pour les adresses de classe B, et 3 octets pour la classe C). De plus, nous avons vu que l'on note un réseau en prenant le nombre d'octets qui le caractérise, puis en complétant avec des 0.
Ainsi, le réseau associé à l'adresse 34.56.123.12 est 34.0.0.0 (puisqu'il s'agit d'une adresse de classe A). Il suffit donc pour connaître l'adresse du réseau associé à l'adresse IP 34.56.123.12 d'appliquer un masque dont le premier octet ne comporte que des 1 (ce qui donne 255), puis des 0 sur les octets suivants (ce qui donne 0..).
Le masque est: 11111111.00000000.00000000.00000000
Le masque associé à l'adresse IP 34.208.123.12 est donc 255.0.0.0.
La valeur binaire de 34.208.123.12 est: 00100010.11010000.01111011.00001100
Un ET entre

00100010.11010000.01111011.00001100
ET
11111111.00000000.00000000.00000000
donne
00100010.00000000.00000000.00000000
C'est-à-dire 34.0.0.0, c'est bien le réseau associé à l'adresse 34.208.123.12

En généralisant, on obtient les masques suivants pour chaque classe:

  • Pour une adresse de Classe A, seul le premier octet nous intéresse, on a donc un masque de la forme 11111111.00000000.00000000.00000000, c'est-à-dire en notation décimale:
    255.0.0.0
  • Pour une adresse de Classe B, les deux premiers octets nous intéresse, on a donc un masque de la forme 11111111.11111111.00000000.00000000, c'est-à-dire en notation décimale:
    255.255.0.0
  • Pour une adresse de Classe C on s'intéresse aux trois premiers octets, on a donc un masque de la forme 11111111.11111111.11111111.00000000, c'est-à-dire en notation décimale:
    255.255.255.0

 

Création de sous-réseaux

Reprenons l'exemple du réseau 34.0.0.0, et supposons que l'on désire que les deux premiers bits du deuxième octet permettent de désigner le réseau.
Le masque à appliquer sera alors:

11111111.11000000.00000000.00000000

C'est-à-dire 255.192.0.0

Si on applique ce masque, à l'adresse 34.208.123.12 on obtient:

34.192.0.0

En réalité il y a 4 cas de figures possibles pour le résultat du masquage d'une adresse IP d'un ordinateur du réseau 34.0.0.0

  • Soit les deux premiers bits du deuxième octet sont 00,
    auquel cas le résultat du masquage est 255.0.0.0
  • Soit les deux premiers bits du deuxième octet sont 01,
    auquel cas le résultat du masquage est 255.64.0.0
  • Soit les deux premiers bits du deuxième octet sont 10,
    auquel cas le résultat du masquage est 255.128.0.0
  • Soit les deux premiers bits du deuxième octet sont 11,
    auquel cas le résultat du masquage est 255.192.0.0
Ce masquage divise donc un réseau de classe A (pouvant admettre 16777214 ordinateurs) en 4 sous-réseaux (d'où le nom de masque de sous-réseau) pouvant admettre 222 ordinateurs, c'est-à-dire 4194304 ordinateurs.
Au passage on remarque que le nombre d'ordinateurs possibles dans les deux cas est au total de 16777214 ordinateurs (4 x 4194304 - 2 = 16777214)

Le nombre de sous-réseaux dépend du nombre de bits que l'on attribue en plus au réseau (ici 2). Le nombre de sous-réseaux est donc:

 

Nombre de bits Nombre de sous-réseaux
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 (impossible pour une classe C) 256

 

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) du style http://www.socotech.com/ ou webmaster@socotech.com.

Ainsi, TCP/IP permet d'associer des noms en langage courant aux adresses numériques grâce à un système appelé DNS (Domain Name Service).

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.

arborescence du domain name system

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 généralement 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.commentcamarche.net 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 (l'InterNIC pour les noms de domaine en .com,.net,.org et .edu 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. (Pas de panique: lorsque vous installez le kit de connexion d'un fournisseur d'accès Internet, celui-ci va automatiquement modifier vos paramètres pour prendre en compte ce point de vue!)
  • L'adresse IP d'un second Domain Name Server (secondary Domain Name Server) peut également être introduite: il peut relayer le premier en cas de panne.
  • Le nom d'un serveur de nom ne peut bien sûr pas être donné

 

Codes des domaines internet

La classification du domaine, parfois appelées TLD (Top Level Domain, soit domaines de plus haut niveau), correspond généralement a une répartition géographique. 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)
  • .edu correspond aux organismes éducatifs
  • .gov correspond aux organismes gouvernementaux
  • .mil correspond aux organismes militaires
  • .net correspond aux organismes ayant trait aux réseaux
  • .org correspond aux entreprises à but non lucratif

 

Code Pays
AC Ile 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
COM Organisme à but commercial
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
EDU Organisme ayant un rapport avec l'éducation
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
GOV Organisme gouvernemental
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
MIL Organisme militaire
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
NET Organisme ayant un rapport avec Internet
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
ORG Organisme non référencé
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

 

L'utilité des ports

De nombreux programmes TCP/IP peuvent être exécutés simultanément sur Internet (vous pouvez par exemple ouvrir plusieurs navigateurs simultanément ou bien naviguer sur des pages HTML tout en téléchargeant un fichier par FTP). Chacun de ces programmes travaille avec un protocole, toutefois l'ordinateur doit pouvoir distinguer les différentes sources de données.

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).

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.

 

Assignations par défaut


Il existe des milliers de ports (ceux-ci sont codés sur 16 bits, il y a donc 65536 possibilités), c'est pourquoi une assignation standard a été mise au point, afin d'aider à la configuration des réseaux.

Voici certaines de ces assignations par défaut:

 

 

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.

 

Qu'est-ce qu'une URL?

 

Une URL (Uniform Resource Locator) est un format de nommage universel pour désigner une ressource sur Internet. Il s'agit d'une chaîne de caractères ASCII imprimables qui se décompose en cinq parties:

  • 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 déconseillée car le mot de passe est visible dans l'URL
  • 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 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 (facultatif) Nom du serveur Port
(facultatif si 80)
Chemin
http:// user:password@ www.socotech.com :80 /glossair/glossair.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
  • wais
  • 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.socotech.com/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

Accueil