IVES MARIE CHRIST

IVES MARIE CHRIST

gsm

Corps du message

Principes de base du fonctionnement du réseau GSM

Cédric DEMOULIN, Marc VAN DROOGENBROECK
Département d'Électricité, Électronique et Informatique (Institut Montefiore)
Sart Tilman, B-4000 Liège, Belgique
Document au format PDF
Keywords: GSM, Notes de cours. [bibtex-entry]

Résumé:

Si la téléphonie mobile se banalise aujourd'hui, on le doit à la conjonction de l'avènement du numérique, à l'accroissement des performances des semi-conducteurs et à différentes avancées technologiques. Mais le facteur déterminant fut sans doute la cristallisation autour de la norme GSM issue d'un effort soutenu de standardisation mené à l'ETSI (Organe européen de normalisation en télécommunications, créé à l'initiative du Conseil des ministres). Dans cet article, nous passerons en revue différents aspects de la technologie GSM: éléments de la couche physique, caractérisation de la partie radio, architecture du réseau, etc. Pour faciliter la lecture -il faut concéder que les acronymes abondent dans ce domaine-, un glossaire est fourni en fin d'article.

 

1 Introduction

 

1.1 Historique

L'histoire de la téléphonie mobile (numérique) débute réellement en 1982. En effet, à cette date, le Groupe Spécial Mobile, appelé GSM1, est créé par la Conférence Européenne des administrations des Postes et Télécommuncations (CEPT) afin d'élaborer les normes de communications mobiles pour l'Europe dans la bande de fréquences de 890 à 915 [MHz] pour l'émission à partir des stations mobiles2 et 935 à 960 [MHZ] pour l'émission à partir de stations fixes. Il y eut bien des systèmes de mobilophonie analogique (MOB1 et MOB2, arrêté en 1999), mais le succès de ce réseau ne fut pas au rendez-vous.

Les années 80 voient le développement du numérique tant au niveau de la transmission qu'au niveau du traitement des signaux, avec pour dérivés des techniques de transmission fiables, grâce à un encodage particulier des signaux préalablement à l'envoi dans un canal, et l'obtention de débits de transmission raisonnables pour les signaux (par exemple 9, 6 kilobits par seconde, noté [kb/s], pour un signal de parole).

Ainsi, en 1987, le groupe GSM fixe les choix technologiques relatifs à l'usage des télécommunications mobiles: transmission numérique, multiplexage temporel des canaux radio, chiffrement des informations ainsi qu'un nouveau codage de la parole. Il faut attendre 1991 pour que la première communication expérimentale par GSM ait lieu. Au passage, le sigle GSM change de signification et devient Global System for Mobile communications et les spécifications sont adaptées pour des systèmes fonctionnant dans la bande des 1800 [MHz].

En Belgique, c'est en 1994 que le premier réseau GSM (proximus) est déployé; Mobistar et Orange (rebaptisé Base) viendront plus tard. Aujourd'hui, le nombre de numéros attribués pour des communications GSM dépasse largement le nombre de numéros dédiés à des lignes fixes et cette tendance se poursuit.

 

1.2 Évolution technologique

Tel quel, le réseau GSM est adéquat pour les communications téléphoniques de parole. En effet, il s'agit principalement d'un réseau commuté, à l'instar des lignes ``fixes'' et constitués de circuits, c'est-à-dire de ressources allouées pour la totalité de la durée de la conversation. Rien ne fut mis en place pour les services de transmission de données. Or, parallèlement au déploiement du GSM en Belgique, en 1994, la société Netscape allait donner un tour spectaculaire à un réseau de transmission de données, appelé Internet, en diffusant le premier logiciel de navigation grand public, articulé sur le protocole http et communément appelé web.

Comme le réseau GSM ne convenait guère pour la transmission de données, les évolutions récentes ont visé à accroître la capacité des réseaux en termes de débit mais à élargir les fonctionnalités en permettant par exemple l'établissement de communications ne nécessitant pas l'établissement préalable d'un circuit.

Pour dépasser la borne des 14, 4 [kb/s], débit nominal d'un canal téléphonique basculé en mode de transmission de données, l'ETSI a défini un nouveau service de données en mode paquet: le General Packet Radio Service (GPRS) qui permet l'envoi de données à un débit de 115 [kb/s] par mise en commun de plusieurs canaux. D'une certaine manière, le GPRS prépare l'arrivée de la téléphonie de troisième génération, appelée Universal Mobile Telecommunications System (UMTS), qui permettra d'atteindre un débit de 2 [Mb/s]. Mais le chemin est long car les applications nécessitant l'UMTS se font attendre, sans perdre de vue que tous les éléments du réseau UMTS sont incompatibles avec ceux du GSM. Pourquoi les investisseurs devraient-ils donc mettre la main au portefeuille?

 

2 La technologie GSM

 

2.1 Le concept cellulaire

Les réseaux de première génération possédaient des cellules de grande taille (50 [km] de rayon) au centre desquelles se situait une station de base (antenne d'émission). Au tout début, ce système allouait une bande de fréquences de manière statique à chaque utilisateur qui se trouvait dans la cellule qu'il en ait besoin ou non. Ce système ne permettait donc de fournir un service qu'à un nombre d'utilisateurs égal au nombre de bandes de fréquences disponibles. La première amélioration consista à allouer un canal à un utilisateur uniquement à partir du moment où celui-ci en avait besoin permettant ainsi d'augmenter ``statistiquement'' le nombre d'abonnés, étant entendu que tout le monde ne téléphone pas en même temps. Mais ce système nécessitait toujours des stations mobiles de puissance d'émission importante (8 [W]) et donc des appareils mobiles de taille et de poids conséquents. De plus, afin d'éviter les interférences, deux cellules adjacentes ne peuvent pas utiliser les mêmes fréquences. Cette organisation du réseau utilise donc le spectre fréquentiel d'une manière sous-optimale.

C'est pour résoudre ces différents problèmes qu'est apparu le concept de cellule. Le principe de ce système est de diviser le territoire en de petites zones, appelées cellules, et de partager les fréquences radio entre celles-ci. Ainsi, chaque cellule est constituée d'une station de base (reliée au Réseau Téléphonique Commuté, RTC) à laquelle on associe un certain nombre de canaux de fréquences à bande étroite, sommairement nommés fréquences. Comme précédemment, ces fréquences ne peuvent pas être utilisées dans les cellules adjacentes afin d'éviter les interférences3. Ainsi, on définit des motifs, aussi appelés clusters, constitués de plusieurs cellules, dans lesquels chaque fréquence est utilisée une seule fois. La figure 1 montre un tel motif, en guise d'exemple.

 

Figure 1: Figure représentant un motif élémentaire (à gauche) et un ensemble de motifs dans un réseau (à droite).
512  

Graphiquement, on représente une cellule par un hexagone car cette forme approche celle d'un cercle. Cependant, en fonction de la nature du terrain et des constructions, les cellules n'ont pas une forme circulaire. De plus, afin de permettre à un utilisateur passant d'une cellule à une autre de garder sa communication, il est nécessaire que les zones de couverture se recouvrent de 10 à 15%, ce qui renforce la contrainte de ne pas avoir une même bande de fréquences dans deux cellules voisines.

Pour éviter les interférences à plus grande distance entre cellules utilisant les mêmes fréquences, il est également possible d'asservir la puissance d'émission de la station de base en fonction de la distance qui la sépare de l'utilisateur. Le même processus du contrôle de la puissance d'émission est également appliqué en sens inverse. En effet, pour diminuer la consommation d'énergie des mobiles et ainsi augmenter leur autonomie, leur puissance d'émission est calculée en fonction de leur distance à la station de base. Grâce à des mesures permanentes entre un téléphone mobile et une station de base, les puissances d'émission sont régulées en permanence pour garantir une qualité adéquate pour une puissance minimale.

En résumé, une cellule se caractérise:

 

  • par sa puissance d'émission nominale4 -ce qui se traduit par une zone de couverture à l'intérieur de laquelle le niveau du champ électrique est supérieur à un seuil déterminé-,
  • par la fréquence de porteuse utilisée pour l'émission radio-électrique et
  • par le réseau auquel elle est interconnectée.
Il faut noter que la taille des cellules n'est pas la même sur tout le territoire. En effet, celle-ci dépend:

 

  • du nombre d'utilisateurs potentiels dans la zone,
  • de la configuration du terrain (relief géographique, présence d'immeubles, ...),
  • de la nature des constructions (maisons, buildings, immeubles en béton, ...) et
  • de la localisation (rurale, suburbaine ou urbaine) et donc de la densité des constructions.
Ainsi, dans une zone rurale où le nombre d'abonnés est faible et le terrain relativement plat, les cellules seront plus grandes qu'en ville où le nombre d'utilisateurs est très important sur une petite zone et où l'atténuation due aux bâtiments est forte. Un opérateur devra donc tenir compte des contraintes du relief topographique et des contraintes urbanistiques pour dimensionner les cellules de son réseau. On distingue pour cela quatre services principaux:

 

  1. Le service ``Outdoor'' qui indique les conditions nécessaires pour le bon déroulement d'une communication en extérieur.
  2. Le service ``Incar'' qui tient compte des utilisateurs se trouvant dans une voiture. On ajoute typiquement une marge supplémentaire de 6 décibel Watt, notée 6 [dB], dans le bilan de puissance pour en tenir compte.
  3. Le service ``Indoor'' qui permet le bon déroulement des communications à l'intérieur des bâtiments. Cette catégorie de service se subdivise à son tour en deux:

     

    1. le ``Soft Indoor'' lorsque l'utilisateur se trouve juste derrière la façade d'un bâtiment et
    2. le ``Deep Indoor'' lorsqu'il se trouve plus à l'intérieur.
Typiquement, on considère que, lors de l'établissement du bilan de puissance, c'est-à-dire de l'analyse du rapport de la puissance émise à la puissance reçue au droit du récepteur, il faut tenir compte de 10 [dB] d'atténuation supplémentaire pour le Soft Indoor et de 20 [dB] pour Deep Indoor à 900 [MHz]. Quand on sait que 10 [dB] représente un facteur de 10en puissance, on comprend qu'il est crucial pour un opérateur de dimensionner au mieux son réseau, quitte à effectuer des mesures sur le terrain.

 

2.1.1 Réutilisation des ressources

Par rapport au système de première génération, les cellules étant de taille plus petite, la puissance d'émission est plus faible et le nombre d'utilisateurs peut être augmenté pour une même zone géographique. C'est grâce au principe de ré-utilisation des fréquences qu'un opérateur peut augmenter la capacité de son réseau. En effet, il lui suffit de découper une cellule en plusieurs cellules plus petites et de gérer son plan de fréquences pour éviter toute interférence. Il y a ainsi toute une nomenclature spécifique pour classer les cellules en fonction de leur taille (macro, micro, pico, etc).

 

 

Définition 1   [Capacité] La capacité est le trafic maximum que peut écouler une cellule en fonction du nombre de fréquences qui lui sont attribuées, le trafic étant fonction du nombre moyen de personnes qui communiquent et de la durée moyenne d'une communication.

 

2.1.2 Estimation du rapport de puissance porteuse à bruit

Étant donné que, dans un réseau, une même fréquence est réutilisée plusieurs fois, il est nécessaire d'évaluer la distance minimum qui doit séparer deux cellules utilisant la même fréquence pour qu'aucun phénomène perturbateur n'intervienne. En calculant le rapport entre la puissance de la porteuse et celle du bruit, il est possible d'estimer cette distance.

Pratiquement, dans une cellule, un mobile reçoit à la fois le message utile (dont la puissance vaut C) qui lui est destiné et un certain nombre de signaux perturbateurs. La connaissance du rapport entre ces puissances, nous permettra de connaître la qualité de la communication.

Pour commencer, il est nécessaire d'identifier les différents signaux perturbateurs. On peut les subdiviser en deux classes:

 

  1. Les interférences de puissance totale Iqui sont dues aux signaux émis par les autres stations. On peut distinguer :

     

    1. Les interférences co-canal qui sont dues aux signaux émis par les autres stations de base utilisant la même fréquence.
    2. Les interférences de canaux adjacents dues aux signaux émis par les stations de base utilisant des fréquences voisines.
  2. Le bruit, de puissance N, provenant principalement du bruit de fond du récepteur.
Dès lors, c'est le rapport

 

$displaystyle {frac{{C}}{{N+I}}}$ (1)


qui permet d'évaluer la qualité de la communication ainsi que la distance de réutilisation des fréquences.

2.2 Synthèse des principales caractéristiques du GSM

La norme GSM prévoit que la téléphonie mobile par GSM occupe deux bandes de fréquences aux alentours des 900 [MHz]:

 

  1. la bande de fréquence 890 - 915 [MHz] pour les communications montantes (du mobile vers la station de base) et
  2. la bande de fréquence 935 - 960 [MHz] pour les communications descendantes (de la station de base vers le mobile).
Comme chaque canal fréquentiel utilisé pour une communication a une largeur de bande de 200 [kHz], cela laisse la place pour 124 canaux fréquentiels à répartir entre les différents opérateurs. Mais, le nombre d'utilisateurs augmentant, il s'est avéré nécessaire d'attribuer une bande supplémentaire aux alentours des 1800 [MHz]. On a donc porté la technologie GSM 900 [MHz] vers une bande ouverte à plus haute fréquence. C'est le système DCS-1800 (Digital Communication System) dont les caractéristiques sont quasi identiques au GSM en termes de protocoles et de service. Les communications montantes se faisant alors entre 1710 et 1785 [MHz] et les communications descendantes entre 1805 et 1880 [MHz].

Connaissant les différents canaux disponibles, il est alors possible d'effectuer un multiplexage fréquentiel, appelé Frequency Division Multiple Access (FDMA), en attribuant un certain nombre de fréquences porteuses par station de base. Un opérateur ne dédie pas pour autant une bande de fréquences par utilisateur, car cela conduirait à un gaspillage de ressources radio étant donné qu'un utilisateur émet par intermittence. De plus, avec un tel système, si une source parasite émet un bruit à une fréquence bien déterminée, le signal qui se trouve dans la bande de fréquence contenant le parasite sera perturbé. Pour résoudre ces problèmes, on combine le multiplexage en fréquence à un multiplexage temporel (appelé Time Division Multiple Access ou TDMA) consistant à diviser chaque canal de communication en trames de 8 intervalles de temps (dans le cas du GSM). Pour être complet, signalons qu'il existe encore une autre technique de multiplexage appelé Code Division Multiple Access (CDMA), utilisée dans la norme américaine IS-95 ou promue pour l'UMTS.

Ainsi, avec le TDMA, il est par exemple possible de faire parler huit utilisateurs l'un après l'autre dans le même canal. On multiplie donc le nombre de canaux disponibles par unité de temps par huit.

Le tableau  1 montre les caractéristiques des réseaux à technologie GSM et il compare les normes.

 

 

Tableau 1: Comparaison des systèmes GSM et DCS-1800.
 
GSM
DCS-1800
Bande de fréquences () 890, 2 - 915 [MHz]
1710 - 1785 [MHz]
Bande de fréquences ( )
935, 2 - 960 [MHz]
1805 - 1880 [MHz]
Nombre d'intervalles de temps par trame TDMA
8
8
Débit total par canal
271 [kb/s]
271 [kb/s]
Débit de la parole
13 [kb/s]
13 [kb/s]
Débit maximal de données
12 [kb/s]
12 [kb/s]
Technique de multiplexage
Multiplexage fréquentiel et temporel
Multiplexage fréquentiel et temporel
Rayon de cellules
0, 3 à 30 [km]
0, 1 à 4 [km]
Puissance des terminaux
2 à 8 [W]
0, 25 et 1 [W]
Sensibilité des terminaux
-102 [dB]
 
Sensibilité de la station de base
-104 [dB]
 


Tous les terminaux mobiles fabriqués actuellement sont compatibles avec les 2 normes; ces terminaux sont appelés bi-bandes ou dual-band. Sur le territoire des États-Unis, aucune des bandes de fréquences pré-citées n'étaient encore disponibles. C'est pourquoi le réseau à technologie GSM américain utilise des bandes autour des 1900 [MHz]. Des terminaux capables d'opérer dans les trois bandes sont appelés tri-bandes.

 

3 Architecture du réseau

L'architecture d'un réseau GSM peut être divisée en trois sous-systèmes:

 

  1. Le sous-système radio contenant la station mobile, la station de base et son contrôleur.
  2. Le sous-système réseau ou d'acheminement.
  3. Le sous-système opérationnel ou d'exploitation et de maintenance.
Les éléments de l'architecture d'un réseau GSM sont repris sur le schéma de la figure 2.

 

Figure 2: Architecture du réseau GSM.
620  

 

3.1 Le sous-système radio

Le sous-système radio gère la transmission radio. Il est constitué de plusieurs entités dont le mobile, la station de base (BTS, Base Transceiver Station) et un contrôleur de station de base (BSC, Base Station Controller).

 

3.1.1 Le mobile

Le téléphone et la carte SIM (Subscriber Identity Module) sont les deux seuls éléments auxquels un utilisateur a directement accès. Ces deux éléments suffisent à réaliser l'ensemble des fonctionnalités nécessaires à la transmission et à la gestion des déplacements.

La principale fonction de la carte SIM est de contenir et de gérer une série d'informations. Elle se comporte donc comme une mini-base de données dont les principaux champs sont fournis dans le tableau 2.

 

 

Tableau 2: Liste partielle des informations contenues dans une carte SIM (voir [1, page 13] pour la liste complète).
Paramètres Commentaires
Données administratives
PIN/PIN2 Mot de passe demandé à chaque connexion
PUK/PUK2 Code pour débloquer une carte
Language Langue choisie par l'utilisateur
Données liées à la sécurité
Clé Ki Valeur unique, connue de la seule carte SIM et du HLR
CKSN Séquence de chiffrement
Données relatives à l'utilisateur
IMSI Numéro international de l'abonné
MSISDN Numéro d'appel d'un téléphone GSM
Données de ``roaming''
TMSI Numéro attribué temporairement par le réseau à un abonné
Location updating status Indique si une mise à jour de la localisation est nécessaire
Données relatives au réseau
Mobile Country Code (MCC), Mobile Network Code (MNC), etc Identifiants du réseau mobile de l'abonné
Numéros de fréquence absolus Fréquences utilisées par le PLMN


L'identification d'un mobile s'effectue exclusivement au moyen de la carte SIM. En effet, elle contient des données spécifiques comme le code PIN (Personal Identification Number) et d'autres caractéristiques de l'abonné, de l'environnement radio et de l'environnement de l'utilisateur.

L'identification d'un utilisateur est réalisée par un numéro unique (IMSI, International Mobile Subscriber Identity) différent du numéro de téléphone connu de l'utilisateur (MSISDN, Mobile Station ISDN Number), tous deux étant incrustés dans la carte SIM.

 

3.1.2 La station de base (BTS)

La station de base est l'élément central, que l'on pourrait définir comme un ensemble émetteur/récepteur pilotant une ou plusieurs cellules. Dans le réseau GSM, chaque cellule principale au centre de laquelle se situe une station base peut-être divisée, grâce à des antennes directionnelles, en plus petites cellules qui sont des portions de celle de départ et qui utilisent des fréquences porteuses différentes. En Belgique, il est fréquent d'avoir des antennes tri-sectorielles, qui couvrent un peu plus de 120 degrés. Ces antennes ont l'allure de paires de segments verticaux, disposées en triangle (cf. figure 3).

 

Figure 3: Exemple d'antennes GSM (ROCKHAMPTON, QUEENSLAND, AUSTRALIE).
690  

C'est la station de base qui fait le relais entre le mobile et le sous-système réseau. Comme le multiplexage temporel est limité à 8 intervalles de temps, une station de base peut gérer tout au plus huit connections simultanées par cellule. Elle réalise les fonctions de la couche physique et de la couche liaison de données.

En cas de besoin, on peut exploiter une station de base localement ou par télécommande à travers son contrôleur de station de base.

 

3.1.3 Le contrôleur de station de base (BSC)

Le contrôleur de station de base gère une ou plusieurs stations de base et communique avec elles par le biais de l'interface A-bis. Ce contrôleur remplit différentes fonctions tant au niveau de la communication qu'au niveau de l'exploitation.

Pour les fonctions des communications des signaux en provenance des stations de base, le BSC agit comme un concentrateur puisqu'il transfère les communications provenant des différentes stations de base vers une sortie unique. Dans l'autre sens, le contrôleur commute les données en les dirigeant vers la bonne station de base.

Dans le même temps, le BSC remplit le rôle de relais pour les différents signaux d'alarme destinés au centre d'exploitation et de maintenance. Il alimente aussi la base de données des stations de base. Enfin, une dernière fonctionnalité importante est la gestion des ressources radio pour la zone couverte par les différentes stations de base qui y sont connectées. En effet, le contrôleur gère les transferts inter-cellulaires des utilisateurs dans sa zone de couverture, c'est-à-dire quand une station mobile passe d'une cellule dans une autre. Il doit alors communiquer avec la station de base qui va prendre en charge l'abonné et lui communiquer les informations nécessaires tout en avertissant la base de données locale VLR (Visitor Location Register) de la nouvelle localisation de l'abonné.

C'est donc un maillon très important de la chaîne de communication et il est, de plus, le seul équipement de ce sous système à être directement gérable (via l'interface X25 qui le relie au sous-système d'exploitation et de maintenance).

 

3.2 Le sous-système réseau

Le sous-système réseau, appelé Network Switching Center (NSS), joue un rôle essentiel dans un réseau mobile. Alors que le sous-réseau radio gère l'accès radio, les éléments du NSS prennent en charge toutes les fonctions de contrôle et d'analyse d'informations contenues dans des bases de données nécessaires à l'établissement de connexions utilisant une ou plusieurs des fonctions suivantes: chiffrement, authentification ou roaming.

Le NSS est constitué de:

 

  • Mobile Switching Center (MSC)
  • Home Location Register (HLR) / Authentication Center (AuC)
  • Visitor Location Register (VLR)
  • Equipment Identity Register (EIR)

 


3.2.1 Le centre de commutation mobile (MSC)

Le centre de commutation mobile est relié au sous-système radio via l'interface A. Son rôle principal est d'assurer la commutation entre les abonnés du réseau mobile et ceux du réseau commuté public (RTC) ou de son équivalent numérique, le réseau RNIS (ISDN en anglais). D'un point de vue fonctionnel, il est semblable à un commutateur de réseau ISDN, mis à part quelques modifications nécessaires pour un réseau mobile.

De plus, il participe à la fourniture des différents services aux abonnés tels que la téléphonie, les services supplémentaires et les services de messagerie. Il permet encore de mettre à jour les différentes bases de données (HLR et VLR) qui donnent toutes les informations concernant les abonnés et leur localisation dans le réseau.

Les commutateurs MSC d'un opérateur sont reliés entre eux pour la commutation interne des informations. Des MSC servant de passerelle (Gateway Mobile Switching Center, GMSC) sont placées en périphérie du réseau d'un opérateur de manière à assurer une inter-opérabilité entre réseaux d'opérateurs.

 

3.2.2 L'enregistreur de localisation nominale (HLR)

Il existe au moins un enregistreur de localisation (HLR) par réseau (PLMN).Il s'agit d'une base de données avec des informations essentielles pour les services de téléphonie mobile et avec un accès rapide de manière à garantir un temps d'établissement de connexion aussi court que possible.

Le HLR contient:

 

  • toutes les informations relatives aux abonnés: le type d'abonnement, la clé d'authentification Ki -cette clé est connue d'un seul HLR et d'une seule carte SIM-, les services souscrits, le numéro de l'abonné (IMSI), etc
  • ainsi qu'un certain nombre de données dynamiques telles que la position de l'abonné dans le réseau -en fait, son VLR- et l'état de son terminal (allumé, éteint, en communication, libre, ...).
Les données dynamiques sont mises à jour par le MSC. Cette base de données est souvent unique pour un réseau GSM et seules quelques personnes y ont accès directement.

 

3.2.2.1 Le centre d'authentification (AuC).

Lorsqu'un abonné passe une communication, l'opérateur doit pouvoir s'assurer qu'il ne s'agit pas d'un usurpateur. Le centre d'authentification remplit cette fonction de protection des communications. Pour ce faire, les normes GSM prévoient deux mécanismes:

 

  1. Le chiffrement des transmissions radio. Remarquons qu'il s'agit d'un chiffrement faible, qui ne résiste pas longtemps à la crypto-analyse! Ceci explique sans doute pourquoi, en Belgique, de nombreux toits de bâtiments de puissance étrangère sont équipés d'antennes servant exclusivement à la réception de signaux GSM...
  2. L'authentification des utilisateurs du réseau au moyen d'une clé Ki, qui est à la fois présente dans la station mobile et dans le centre d'authentification.
    L'authentification s'effectue par résolution d'un défi sur base d'un nombre M généré aléatoirement et envoyé au mobile. À partir de ce nombre, un algorithme identique (algorithme A3) qui se trouve à la fois dans la carte SIM et dans l'AuC produit un résultat sur base de la clé Ki et du nombre M.
    Dès lors, lorsqu'un VLR obtient l'identifiant d'un abonné, il demande, au HLR du réseau de l'abonné, le nombre M servant au défi et le résultat du calcul afin de le comparer à celui qui sera produit et envoyé par le mobile. Si les résultats concordent, l'utilisateur est reconnu et accepté par le réseau.
    Grâce à ce mécanisme d'authentification, un VLR peut accueillir un mobile appartenant à un autre réseau (moyennant un accord préalable entre opérateurs de réseau!) sans qu'il ne soit nécessaire de divulguer la clé de chiffrement du mobile.
On peut dès lors distinguer trois niveaux de protection:

 

  1. La carte SIM qui interdit à un utilisateur non enregistré d'avoir accès au réseau.
  2. Le chiffrement des communications destiné à empêcher l'écoute de celles-ci.
  3. La protection de l'identité de l'abonné.

 

3.2.3 L'enregistreur de localisation des visiteurs (VLR)

Cette base de données ne contient que des informations dynamiques et est liée à un MSC. Il y en a donc plusieurs dans un réseau GSM. Elle contient des données dynamiques qui lui sont transmises par le HLR avec lequel elle communique lorsqu'un abonné entre dans la zone de couverture du centre de commutation mobile auquel elle est rattaché. Lorsque l'abonné quitte cette zone de couverture, ses données sont transmises à un autre VLR; les données suivent l'abonné en quelque sorte.

 

3.2.4 L'enregistreur des identités des équipements (EIR)

Malgré les mécanismes introduits pour sécuriser l'accès au réseau et le contenu des communications, le téléphone mobile doit potentiellement pouvoir accueillir n'importe quelle carte SIM de n'importe quel réseau. Il est donc imaginable qu'un terminal puisse être utilisé par un voleur sans qu'il ne puisse être repéré.

Pour combattre ce risque, chaque terminal reçoit un identifiant unique (International Mobile station Equipment Identity, IMEI) qui ne peut pas être modifié sans altérer le terminal. En fonction de données au sujet d'un terminal, un opérateur peut décider de refuser l'accès au réseau. Tous les opérateurs n'implémentent pas une telle base de données.

 

3.3 Le centre d'exploitation et de maintenance

Cette partie du réseau regroupe trois activités principales de gestion: la gestion administrative, la gestion commerciale et la gestion technique.

Le réseau de maintenance technique s'intéresse au fonctionnement des éléments du réseau. Il gère notamment les alarmes, les pannes, la sécurité, ... Ce réseau s'appuie sur un réseau de transfert de données, totalement dissocié du réseau de communication GSM.

 

3.4 L'acheminement des appels entre le réseau fixe et le réseau GSM: deux scénarios en guise d'exemple

Illustrons brièvement le fonctionnement des entités d'un réseau en traitant deux scénarios typiques simplifiés entre un réseau mobile et un réseau fixe:

 

  1. Un abonné GSM compose le numéro de téléphone d'un abonné du réseau fixe.
    Sa demande arrive d'abord au BTS de la cellule puis passe à travers le BSC et arrive enfin au MSC qui vérifie les droits de l'abonné (autorisation d'accéder à ce service, état de l'abonnement, ...). Si l'abonné remplit les conditions, le MSC transmet l'appel au réseau public et demande au BSC de réserver un canal pour la communication. Il ne reste alors plus qu'à attendre que le poste fixe soit décroché pour que la communication soit établie.
  2. Supposons au contraire qu'un abonné du réseau fixe veuille joindre un abonné du réseau GSM.
    Le fonctionnement est un plus complexe car l'opérateur GSM n'alloue des ressources à un abonné que lorsque celui reçoit ou émet un appel.
    Le numéro composé sur le poste fixe est tout d'abord aiguillé vers le réseau de l'abonné GSM. La demande de connexion est interprétée par un commutateur passerelle entrant du réseau GSM -il s'agit d'un GMSC. Le numéro formé par l'abonné du réseau fixe n'est pas utilisé tel quel pour commuter la communication. À l'instar des numéros verts ou des numéros d'urgence, il y a un mécanisme qui, au droit du GMSC, va convertir le numéro de l'abonné en un autre numéro attribué dynamiquement en fonction de la position de l'utilisateur. C'est sur base de ce numéro dynamique que l'appel sera re-dirigé dans le réseau GSM. Concrètement, le HLR est interrogé afin de connaître la position de l'utilisateur du réseau mobile ainsi que son état (libre, occupé, éteint). Si le mobile est dans l'état ``libre'', le réseau interroge alors le VLR de la zone pour savoir dans quelle cellule le mobile se situe. Ainsi, le BSC de la zone demande aux différentes stations de base de sa zone de diffuser un avis d'appel. Comme le mobile est ``libre'', le destinataire écoute le réseau et s'aperçoit qu'on tente de le joindre et la sonnerie du terminal est activée. Une fois que l'utilisateur a décroché, un canal de communication est alloué à l'appel et les bases de données VLR et HLR sont mises à jour.

 

4 Description du canal physique

Dans un réseau GSM, deux techniques de multiplexage sont mises en oeuvre: le multiplexage fréquentiel (FDMA) et le multiplexage temporel (TDMA).

 

4.1 Multiplexage fréquentiel

Dans sa version à 900 [MHz], la norme GSM occupe deux bandes de 25 [MHz]; l'une est utilisée pour la voie montante ( 890, 2 - 915 [MHz]), l'autre pour la voie descendante ( 935, 2 - 960 [MHz]). Il est également défini que chaque porteuse de cellule possède une densité spectrale confinée dans une bande de 200 [kHz] ce qui signifie que, théoriquement, on peut disposer de 124 canaux. Notons au passage que la bande de fréquences du DCS-1800 étant plus large, elle peut contenir 374 canaux.

Aussi, si on indique par Fu les fréquences porteuses montantes et par Fd les fréquences porteuses descendantes, les valeurs de fréquence porteuse valent

Fu(n) = 890, 2 + 0, 2×(n - 1) [MHz] (2)
Fd(n) = 935, 2 + 0, 2×(n - 1) [MHz] (3)

1≤n≤124. Connaissant les canaux disponibles, il est alors possible d'effectuer un multiplexage fréquentiel en attribuant un certain ensemble de fréquences porteuses par opérateur GSM -c'est le rôle du régulateur, l'IBPT en Belgique- et l'opérateur choisit son plan de fréquences en allouant une ou plusieurs fréquences par station de base. Proximus utilise les canaux 1 à 30 et 61 à 90, Mobistar s'est vu attribuer les canaux 31 à 60 et 91 à 120; quant aux canaux restants (121 à 124), ils ont été réservés pour les téléphones sans fil. Base (nommé Orange auparavant) n'opère pas dans la bande des 900 [MHz]. Par contre, la bande DCS-1800 est utilisée par les 3 opérateurs (Base, Mobistar et Proximus).

 

4.2 La modulation

En raison de la forte variabilité de l'amplitude des signaux dans un environnement mobile, on préfère recourir à un technique de modulation angulaire pour ce type d'environnement. La technique de modulation utilisée pour porter le signal à haute fréquence est la modulation GMSK (Gaussian Minimum Shift Keying). Comme le suggère son nom, il s'agit d'une variante d'une modulation MSK appartenant à la famille des modulations de fréquence (FM) numériques. On utilise la GMSK car, en raison de la transition rapide entre 2 fréquences ( fc - $ 	riangle$f et fc + $ 	riangle$f), la modulation par MSK aurait nécessité une trop large bande de fréquences.

La modulation GMSK consiste en une modulation de fréquence à deux états portant non pas sur la séquence originale mais sur une nouvelle séquence dont le bit n est produit comme le résultat de la fonction du OU exclusif (XOR) entre le bit courant et le bit précédent. Après application du XOR, le signal est filtré. La figure 4 montre la création d'un signal modulé par GMSK.

 

Figure 4: Création d'un signal modulé par GMSK au départ d'un train binaire.
803  

Au bout du compte, il faut une largeur de 200 [kHz] par fréquence porteuse. Sachant que le débit atteint 270 [kb/s], on atteint un rapport du débit à largeur de bande, appelé efficacité spectrale, proche de 1. Cette valeur est typique pour des environnement mobiles, ce qui signifie que, pour doubler le débit, il n'y a d'autre solution que de doubler la largeur de bande.

 

4.3 Multiplexage temporel

Tant pour des questions d'interférences électromagnétiques que pour des raisons d'augmentation de capacité, le multiplexage fréquentiel se double d'une multiplexage temporel. Le multiplexage temporel consiste à diviser chaque canal de communication en 8 intervalles de temps de 0, 577 [ms] chacun.

 

 

Définition 2   [Trame] On définit dès lors une trame élémentaire de 8 intervalles pour une durée de 8×0, 577 = 4, 615 [ms].


Comme il est exclus de transmettre toutes les informations en une fois, il faut découper l'information et la transmettre au moyen de plusieurs trames consécutives. La norme GSM prévoit une organisation spécifique de structure hiérarchique de trames. Cette hiérarchie est dessinée à la figure 5.

Figure 5: Organisation des multiples de trames.
821  

Les trames sont regroupées comme suit:

 

  • 1 multitrame de type 26 = 26 trames TDMA élémentaires et 1 multitrame de type 51 = 51 trames TDMA élémentaires,
  • 1 supertrame de type 26 = 26 multitrames et 1 supertrame de type 51 = 51 mutlitrames
  • 1 hypertrame = 2048 supertrames = 2.715.648 trames.
La structure en trames est à mettre en relation avec la typologie des informations véhiculées, dont il est question dans cet article à la section 5.3.

 

4.4 Mécanismes de protection contre les interférences radio-électriques

Le canal d'une communication avec un mobile est changeant et sujet à perturbations. Plusieurs mécanismes sont donc mis en oeuvre pour réduire l'impact des interférences.

 

4.4.1 Le saut de fréquences ou Frequency Hopping

Pour protéger les canaux d'une source radio parasite, la fréquence porteuse utilisée pour transmettre une salve de données fluctue au cours du temps. C'est le principe du saut de fréquence ou du Frequency Hopping (FH); il est illustré à la figure 6. Ainsi, si à un moment déterminé, une bande de fréquences est sujette à fortes perturbations, seule une petite quantité de données sera perturbée.

 

Figure 6: Principe du saut de fréquence (d'après [2, page 169]).
845  

La norme GSM définit un parcours de fréquence cyclique ou pseudo-aléatoire, comprenant au plus 64 fréquences porteuses. Habituellement, un algorithme standardisé génère une suite pseudo-aléatoire de nombres si compris dans une liste de N fréquences disponibles pour les sauts.

La configuration des sauts se fait au moyen de paramètres tels que:

 

  • le Cell Allocation (CA), la liste des numéros des fréquences utilisées dans une cellule,
  • le Mobile Allocation (MA), la liste des numéros des fréquences disponibles pour les sauts5,
  • le Hopping Sequence Number (HSN), une valeur comprise entre 0 et 63, servant à initialiser le générateur pseudo-aléatoire, et
  • le Mobile Allocation Index Offset (MAIO), une valeur comprise entre 0 et 63 qui indique quel décalage doit être utilisé. Cette valeur de décalage est convenue à l'initialisation de l'appel et elle diffère d'un mobile à l'autre.
L'opérateur choisit le nombre de fréquences à prendre pour chaque numéro de trame élémentaire (appelée slot). Néanmoins, il doit tenir compte de la nécessité d'un mobile entrant dans le réseau de pouvoir communiquer. Pour cela, on fige la fréquence porteuse de certains slots dans le sens de la station de base vers le mobile. Ce canal a pour fonction essentielle de permettre au mobile de se rattacher à la station de base la plus favorable. Il s'agit par exemple du slot 0 pour lequel on fige une fréquence et on n'autorise le saut que sur 3 fréquences (pour les appels en cours sur le slot 0) au lieu de 4 pour les autres slots.

Signalons qu'il n'est pas possible de passer de la bande 900 [MHz] à la bande 1800 [MHz] pour effectuer le saut de fréquence. Autrement dit, les ressources radio des bandes GSM et DCS-1800 ne sont jamais mélangées.

 

4.4.2 Décalage temporel des envois

Pour permettre le basculement d'un mobile du mode réception en mode émission, la norme GSM prévoit un décalage de 3 slots. Plus précisément, le mobile émet des informations 3 slots après réception des signaux envoyés par la station de base.

Malgré tout, les informations envoyées par les différents mobiles autour d'une même fréquence porteuse entre en collision au droit de la station de base si la distance entre les mobiles et l'antenne est fort différente d'un mobile à l'autre. Pour éviter des collisions, certains mobiles (les plus distants) doivent avancer le moment de l'envoi. La durée de l'avance temporelle de l'envoi est appelée Timing Advance (TA). Elle est fournie dynamiquement par la station de base.

 

4.4.3 Le codage

Pour protéger les informations des erreurs qui peuvent se produire lors des communications radio et ainsi réduire le taux d'erreur sur bit, trois techniques de codage sont appliqués:

 

  1. Un codage en bloc qui ajoute un bit de parité au bloc et qui permet la détection d'un nombre impair d'erreurs.
  2. Un codage récurent (algorithme de VITERBI). L'information n'est plus sectionnée en parties indépendantes mais certains bits de redondance sont placés régulièrement dans le code.
  3. On effectue également un entrelacement par blocs de 464 bits. Cet entrelacement consiste à répartir les blocs selon une méthode définie. Ainsi, si le canal perturbe une suite de bits consécutifs, l'altération sera diffusée sur un grand nombre de blocs plutôt que sur la totalité d'un bloc; les blocs affectés pourront alors être corrigés grâce aux bits redondants.

 

5 Protocoles

 

5.1 Pile de protocoles

La figure 7 représente l'architecture des protocoles GSM des différents éléments du réseau.

 

Figure 7: Piles de protocoles de différents sous-systèmes du réseau GSM (d'après [3, page 58]).
894  

Au niveau applicatif, on distingue les protocoles suivants qui, au travers de différents éléments du réseau, relient un mobile à un centre de communication (MSC):

 

  1. Le protocole Call Control (CC) prend en charge le traitement des appels tels que l'établissement, la terminaison et la supervision.
  2. Le protocole Short Message Service (SMS) qui permet l'envoi de courts messages au départ d'un mobile. La longueur d'un SMS est limité à 160 caractères de 7 bits, soit 140 bytes.
  3. Le protocole Supplementary Services (SS) prend en charge les compléments de services. La liste de ces services est longue mais, à titre d'exemple, citons le Calling Line Identification Presentation (CLIP), le Calling Line Identification Restriction (CLIR) et le Call Forwarding Unconditional (CFU).
  4. Le protocole Mobility Management (MM) gère l'identification, l'authentification sur le réseau et la localisation d'un terminal. Cette application se trouve dans le sous-réseau de commutation (NSS) et dans le mobile car ils doivent tous deux connaître la position du mobile dans le réseau.
  5. Le protocole Radio Ressource management (RR) s'occupe de la liaison radio. Il interconnecte une BTS et un BSC car ce dernier gère l'attribution des fréquences radio dans une zone.
Les trois premiers protocoles applicatifs pré-cités (CC, SMS et SS) ne sont implémentés que dans les terminaux mobiles et les commutateurs; leurs messages voyagent de façon transparente à travers le BSC et le BTS.

 

5.2 Les interfaces A-bis, A et X25

Présentons brièvement les trois types d'interface qui relient le BSC respectivement à la station de base (interface A-bis), au commutateur (interface A) et au centre d'exploitation et de maintenance (interface X25).

 

5.2.1 L'interface A-bis

La couche physique est définie par une liaison PCM à 2 [Mb/s]6 (recommandation de la série G de l'ITU) et la couche liaison de données est composée du protocole Link Access Protocol D-channel (LAPD).

Comme le canal de liaison PCM a un débit unitaire de 64 [kb/s] et que le débit par canal radio GSM est de 13 [kb/s], il faut donc adapter le débit. Cette fonction est appelée transcodage et elle est réalisé dans une unité appelée Transcoding Rate and Adaptation Unit (TRAU). Deux solutions sont techniquement possibles et rencontrées dans les réseaux GSM:

 

  1. Mutliplexer quatre canaux à 13 [kb/s] pour produire un canal à 64 [kb/s].
  2. Faire passer le débit de chaque canal à 64 [kb/s].
Tout est affaire de compromis et de choix. L'avantage de la première solution est de diminuer le débit entre la station de base et le BSC où le trafic est fortement concentré. La seconde solution offre par contre l'avantage de banaliser les équipements du système en ramenant tous les équipements à 64 [kb/s]. Souvent, la deuxième solution est utilisée au niveau des commutateurs et la première au niveau du BSC afin de garder l'avantage du faible débit de parole.

 

5.2.2 L'interface A

La couche physique est toujours définie par une liaison à PCM à 2 [Mb/s] mais c'est le protocole CCITT numéro 7 qui est utilisé pour la couche liaison de données.

 

5.2.3 L'interface X25

Cette interface relie le BSC au centre d'exploitation et de maintenance (OMC). Elle possède la structure en 7 couches du modèle OSI.

 


5.3 Typologie des paquets

Chaque trame consiste en un certain nombre de bits. Ces bits sont organisés suivant une structure qui diffère en fonction du protocole applicatif mis en oeuvre pour chaque slot mais aussi de l'état intermédiaire du protocole considéré.

La durée d'un paquet ( 0, 577 [ms]) correspond à l'émission de 156, 25 bits, dont 114 bits de message ``net''. En admettant que les slots se suivent sans interruption, un simple calcul ( $ {frac{{156,25}}{{0,577*10^{-3}}}}$) montre que le débit maximum vaut 270 [kb/s]. En pratique, le débit maximum utile (en mode full-rate) ne dépasse pas 13 [kb/s] en raison des bits nécessaires à la correction d'erreurs. Pour la transmission des données, cette limite descend même à 9, 6 [kb/s] en raison de la sur-protection nécessaire à la garantie d'un taux d'erreur acceptable.

La norme définit 5 types de paquets fonctionnels, appelés bursts dans la terminologie GSM:

 

  1. Les bursts d'accès qui sont envoyés par les mobiles lorsqu'ils veulent entrer en contact avec le réseau.
  2. Les bursts de synchronisation qui contiennent les informations sur la localisation et les fréquences utilisées.
  3. Les bursts normaux qui transportent les messages.
  4. Les bursts de correction de fréquence.
  5. Les bursts de bourrage (dummy packet) qui sont placés dans les espaces vides si aucune donnée ne doit être envoyée. Pour être précis, ce burst est composé de 2 salves de 58 bits préfixés interrompus par une séquence d'entraînement de 26 bits.
Tous les types de burstont une forme semblable. Ils sont composés, dans l'ordre, de:

 

  • bits d'en-tête (tail bit, TB), nécessaires à la synchronisation. Ils correspondent toujours au code 000 sauf pour les bursts d'accès.
  • 148 bits utiles dont le format dépend du type de burst.
  • bits de fin, aussi appelés tail bit, terminés par une période temporelle de garde requise pour permettre à l'émetteur de réduire sa puissance de 70 [dB]. Elle sert aussi à compenser la durée de transmission qui est variable pour la réception d'un paquet au suivant si le mobile a bougé.
La structure des 5 types de burst est représentée à la figure 8.

 

Figure: Structures des 5 types de burst définis par la norme GSM (d'après la norme et [4, page 140]).
990  

 

5.3.1 Le burst d'accès

Ce burst est émis, sur un canal dédié, par la station mobile lorsqu'elle cherche à entrer en contact avec le réseau soit pour l'établissement d'une communication, soit pour un handover. Il est le plus court des quatre types car il ne contient que 77 bits (41 bits de synchronisation et 36 bits d'information). Son temps de garde est de 68, 25 bits, soit 0, 252 [ms]. Ce temps de garde permet de tenir compte de grandes cellules et d'établir ainsi une communication avec un mobile distant jusqu'à 35 [km].

En calculant la durée de voyage d'un burst, la station peut asservir l'instant du début d'émission pour compenser le retard entraîné par la propagation des ondes. En effet, l'horloge interne des récepteurs est synchronisée grâce à un top de synchronisation envoyé par la station de base.

 

5.3.2 Le burst de synchronisation

Pour ce type de burst, 78 bits d'informations sont véhiculés pour les stations mobiles. Ces bits contiennent les renseignements concernant les fréquences à utiliser et la localisation (identité de la station de base, de la zone et de la cellule).

 

5.3.3 Le burst normal

Ce burst transporte 2×57 = 114 bits d'information séparées par 26 bits qui sont une séquence d'apprentissage destinée à régler les paramètres de réception. De plus, la zone TB correspond à 8, 25 bits. Enfin, il faut ajouter à cela 2 bits qui indique s'il s'agit d'un canal de données ou d'un canal de signalisation et 6 bits pour marquer la montée ou la descente en amplitude.

 

5.3.4 Le burst de correction de fréquence

Le type de burst au format le plus simple. La station de base envoie 142 bits de données servant à prévenir des interférences possibles avec des fréquences voisines.

 

5.3.5 Le burst de bourrage

Lorsqu'un mobile est allumé, le terminal teste le niveau de puissance des fréquences des cellules proches pour déterminer la station de base à laquelle il doit s'asservir. Le burst de bourrage (dummy burst) est une séquence prédéfinie qui sert donc d'étalon de puissance. Il est aussi utilisé pour forcer une décision de handover.

 

Bibliographie

 

1
G. Heine.
GSM networks: protocols, terminology, and implementation.
Artech House, 1999.
2
X. Lagrange, P. Godlewski, et S. Tabbane.
Réseaux GSM-DCS.
Hermès, troisième edition, 1997.
3
J. Tisal.
Le réseau GSM. L'évolution GPRS: une étape vers UMTS.
Dunod, troisième edition, 1999.
4
B. Walke.
Mobile Radio Networks: networking, protocols and traffic performance.
John Wiley & Sons, 2002.


Glossaire

* authentificationˆ
Fonction cryptographique qui consiste à identifier une personne. Cette fonction peut être assurée par différentes implémentations dont PGP par exemple.
* AuCˆ
Authentication Center. Centre d'authentification (lié à un HLR) utilisé dans les réseaux GSM.
* BSCˆ
Base Station Controller. Station qui contrôle les communications d'un groupe de cellules dans un réseau de communications GSM. Elle concentre le trafic de plusieurs BTS.
* BTSˆ
Base Transceiver Station. Station de base d'un réseau GSM. Elle permet notamment d'émettre et de recevoir un signal radio.
* CAˆ
Certification Authority ou Cell Allocation. L'autorité de certification est une entité d'un système transactionnel électronique sécurisé. Généralement, cette autorité délivre et vérifie des certificats. Dans la terminologie GSM, il s'agit de la liste des numéros de fréquences utilisées dans une cellule.
* CDMAˆ
Code Division Multiple Access. Technologie de transmission numérique permettant la transmission de plusieurs flux simultanés par répartition de code. Cette technologie permet une utilisation permanente de la totalité de la bande de fréquences allouée à l'ensemble des utilisateurs. La technologie prévoit un mécanisme d'accès aux ressources.
* celluleˆ
En radiocommunications, zone géographique élémentaire d'un réseau radiocellulaire à laquelle on affecte un ensemble de fréquences non réutilisables dans les zones contiguës. C'est également le nom donné à un paquet ATM qui a une taille de 53 bytes dont 48 sont destinées à recevoir les données d'un utilisateur.
* CFUˆ
Call Forwarding Unconditional. Numéro de téléphone vers lequel tout appel est redirigé à la demande de l'abonné appelé.
* chiffrementˆ
Terme qui désigne l'action de chiffrer un texte, des informations ou des données. Le chiffrement consiste à transformer un texte de sorte qu'il faille une clé pour comprendre le message.
* CLIPˆ
Calling Line Identification Presentation. Service complémentaire de téléphonie qui consiste à afficher le numéro du correspondant sur le terminal.
* CLIRˆ
Calling Line Identification Restriction. Service complémentaire de téléphonie qui empêche que le numéro du correspondant n'apparaisse sur le terminal d'un utilisateur.
* concentrateurˆ
Organe permettant de concentrer le trafic et pouvant posséder une intelligence capable de gérer diverses commutations et divers protocoles.
* DCSˆ
Digital Communication System. Un système GSM porté de la bande de fréquences des 900 [MHz] vers 1800 [MHz]. Le système DCS-1800 a plus de canaux (374) mais les protocoles et services sont quasi identiques.
* EIRˆ
Equipment Identity Register. Identifiant destiné à permettre de désactiver un téléphone mobile (GSM) qui aurait été volé.
* FDMAˆ
Frequency Division Multiple Access. Technique de répartition de ressources par multiplexage fréquentiel. Cette technique prévoit un mécanisme d'accès aux ressources.
* FHˆ
Frequency Hopping. Technique du saut de fréquences qui consiste à modifier la fréquence porteuse d'un sigal modulé en suivant une liste pré-déterminée.
* FMˆ
Frequency Modulation. Modulation de fréquences. Technique par laquelle on module la fréquence instantanée d'une porteuse au moyen du signal modulant à transmettre.
* GMSCˆ
Gateway Mobile Switching Center. Centre de commutation pour mobile semblable à un MSC. Il est placé en bordure de réseau d'un opérateur GSM de manière à permettre l'interconnexion avec d'autres réseaux.
* GMSKˆ
Gaussian Minimum Shift Keying. Nom de la technique de modulation numérique utilisée pour la transmission radio des mobiles GSM.
* GPRSˆ
General Packet Radio Service. Technologie de transmission par paquets facilitant l'accès à Internet à haut débit par GSM. Le débit peut varier de 56 jusqu'à 115 [kb/s]. Il est également possible d'établir des connexions permanentes.
* GSMˆ
Global System for Mobile Communications. Standard de téléphonie mobile adopté en Europe, en Asie et en Australie.
* handoverˆ
Terme désignant le mécanisme par lequel un mobile peut transférer sa connexion d'une station de base vers une autre ou, sur la même stat

Ce mail a été tronqué.

Afficher l’intégralité du mail

24/09/2011
0 Poster un commentaire

lang pascal

Veuillez lire :
un appel personnel de
Jimmy Wales, fondateur de Wikipédia
En savoir plus
Close
 

Pascal (langage)

Page d'aide sur l'homonymie Pour les articles homonymes, voir Pascal.
Pascal
 
Apparu en 1970 (évolution constante)
Auteur Niklaus Wirth
Paradigme générique, orientée objet, procédural, impératif
Typage statique, safe, nominatif
Dialectes UCSD, Borland, Turbo, Delphi, Free Pascal
Influencé par ALGOL, Fortran
A influencé Ada 95, Modula-2, Modula-3, Oberon
Implémentations CDC 6000, PASCAL-P, PDP-11, PDP-10, IBM System/370, HP, GNU, Delphi, Free Pascal, Lazarus

Pascal est un langage de programmation impératif qui se caractérise par une syntaxe claire, rigoureuse et facilitant la structuration des programmes. Cette clarté et cette rigueur font que Pascal est souvent utilisé dans l'enseignement.

En dehors de la syntaxe et de sa rigueur, le langage Pascal possède de nombreux points communs avec le C (voir les pointeurs). Le langage Pascal de base était conçu à usage purement éducatif et était assez limité (pas de chaînes de caractères, par exemple), mais les développements qu'il a connus en ont fait un langage complet et efficace. Relativement récemment, la généricité a été ajoutée dans Delphi et en Lazarus.

Les versions actuelles de Pascal, utilisées hors du monde éducatif, sont des extensions telles que Turbo Pascal (mode texte), Object Pascal (programmation objet), et Delphi (fenêtré). Il existe des versions libres comme Free Pascal et Lazarus (fenêtré). On peut programmer en Pascal sous DOS, Windows, Mac OS ou encore sous Linux/Unix ou Palm OS.

Pascal est connu pour avoir permis d'élaborer des logiciels assez renommés comme TeX et une partie des premiers systèmes d'exploitation du Macintosh. Sa syntaxe a aussi été reprise par d'autres langages comme Ada, Modula-2 (puis Modula-3) ou Oberon.

Sommaire

 [masquer

Présentation et histoire[modifier]

Le langage de programmation Pascal (dont le nom vient du mathématicien français Blaise Pascal) a été inventé par Niklaus Wirth dans les années 1970. Il a été conçu pour servir à l'enseignement de la programmation de manière rigoureuse mais simple, en réaction à la complexité de l'Algol 68.

Ce langage est l'un de ceux qui ont servi à enseigner la programmation structurée. Le goto ou saut n'importe où dans le programme (dit « branchement ») est fortement déconseillé dans ce langage, le programme est un assemblage de procédures et de fonctions, dans lesquels on peut utiliser des blocs conditionnels (if, case...) et répétitifs (while, for, repeat...) ayant chacun une entrée et une sortie afin de faciliter les contrôles, ce qui aboutit à des mises au point rapides et sûres.

Le langage est de plus fortement et statiquement typé, c'est-à-dire que toutes les variables doivent avoir un type défini au moment de la compilation. En revanche son manque de souplesse pour gérer les passages du type caractère au type chaîne de caractères est l'un de ses points faibles.

Il a largement pénétré le monde de l'éducation et de la recherche (universités), puis dans une moindre mesure celui de l'industrie.

Le compilateur P4 a été diffusé en source dans les universités, à un prix très réduit. Il générait du P-Code, un code pour une machine virtuelle. Les programmes Pascal étaient donc facilement portables sur une machine. Il suffisait d'écrire pour elle un interpréteur de P-Code. Il y eut donc rapidement des portages sur 6502, 8080, Z80 et DEC PDP-11, les principaux microprocesseurs de l'époque.

Le compilateur UCSD Pascal (UCSD = University of California at San Diego) eut beaucoup de succès, notamment sur des machines comme l'Apple II qui furent très diffusées.

Mais le coup de « turbo » sera donné par la société Borland, créée en 1983 qui commercialisa le compilateur Turbo Pascal pour un prix très modique (49 $ de l'époque alors que le compilateur Pascal Microsoft était à plus de 500 $ et ne possédait pas d'éditeur intégré ni de compilation in core). En fait, il y a aura bien un concurrent direct du Turbo Pascal chez Microsoft (Quick Pascal) mais il sera commercialisé bien trop tard pour inverser la tendance.

Le Pascal a fait l'objet de deux normes : ISO 71851 et ISO 102062.

Les fichiers sources[modifier]

Le code source brut d'un programme Pascal peut porter l'extension .pas, la plus courante, .p ou encore .pp, ces deux dernières extensions apparaissant surtout dans les systèmes UNIX.

Les fichiers de code source sont catégorisés suivant différentes possibilités :

  • les fichiers sources pour les programmes principaux commencent par le mot-clé program. Ils sont compilés et liés avec les unités qu'ils utilisent en un fichier exécutable (extension .exe sous Windows ; attribut exécutable sous systèmes Unix) ;
  • les fichiers de bibliothèques (qui sont apparus plus tard dans le langage avec Delphi 1 sous Windows et avec FPC sous Unix) commencent par le mot-clé library. Ils sont compilés en une bibliothèque (extension .dll sous Windows, extension .so sur système Unix, etc.) ;
  • les fichiers d'unités commencent par le mot-clé unit. Ils sont inclus dans des programmes ou des bibliothèques, compilés sous forme de fichier objet standard (extension .o ou .obj) ou dans un format particulier (.dcu pour les compilateur Borland).

De nos jours, l'utilisation des environnements fenêtrés a entraîné l'apparition de nouvelles extensions :

  • les fichiers de descriptions de fenêtres (.dfm avec Delphi; .lfm avec Lazarus; etc.) qui décrivent le design de chaque fenêtre c'est-à-dire les widgets (boutons, case à cocher, etc.) et leurs propriétés.
  • les fichiers de ressources, principalement utilisés sous Windows (extension .rc si non compilé et/ou extension .res une fois compilé) qui contiennent des images, icônes, curseurs, textes, etc. Sur système Unix, la plupart des ressources ne sont traditionnellement pas intégrées aux exécutables.
  • tous les autres types de fichier de ressources spécifiques (images, sons, curseur, etc.), ce système est très utilisé sous Unix, car les ressources sont chargées à la demande par des accès à des fichiers séparés qui ne sont généralement pas nécessaires au fonctionnement du programme (par exemple si une image manque, le programme peut s'exécuter correctement).

Avant l'apparition des bibliothèques, Turbo Pascal permettait d'utiliser des overlay. Sous Unix leur utilisation était impossible. Sous DOS, il s'agissait de fichiers séparés du fichier exécutable principal et qui pouvaient être chargés ponctuellement, mais en totalité. Concernant les bibliothèques, il était bien évidemment possible de créer des bibliothèques en Pascal avant l'apparition de Delphi ou de FPC, l'apparition du mot clé library ne constituant qu'une facilité. Cette technique est d'ailleurs toujours utilisable, et utile dans certains cas particuliers.

Il est possible d'inclure du code dans un programme autrement qu'en écrivant une unité et ce en faisant simplement un include, c'est-à-dire en indiquant au compilateur d'inclure le texte d'un fichier dans un programme avec la directive $I :

program test;
 
uses Crt, Dos; { utilisation habituelle des unités }
 
{$I outil.inc} { utilisation directe de code externe }
 
begin
    { utiliser les fonctions du fichier outil.inc }
end.

Toutefois, cette méthode n'est pas recommandée au regard des inconvénients qu'elle présente (notamment si un identificateur est déclaré plusieurs fois dans des fichiers différents) et du manque de contrôle du compilateur sur ce type de fichiers. Ceci étant leur utilisation peut se révéler dans certain cas indispensable en particulier pour la création de bibliothèques multi-plateforme.

Le Turbo-Pascal[modifier]

Le Turbo Pascal avait été écrit par Anders Hejlsberg (il s'appelait avant TP, Compass Pascal puis Poly Pascal). Très compact (12 K octets) et très rapide car travaillant essentiellement en RAM, il compilait en une passe et produisait du code machine (x86 sous DOS) et non plus du P-Code. Il était livré avec un environnement complet (un éditeur de texte et une aide en ligne, innovation à l'époque, particulièrement compacte grâce à un système de substitution). Au fil des différentes versions, Turbo Pascal apporta son lot d'innovations qui ne cesseront de combler en partie certaines lacunes du langage original.

C'est ainsi qu'en 1987 la version 4 apparaît avec un vrai EDI (Environnement de Développement Intégré), en 1989 la version 5.5 introduit les objets, en 1990 la version 6 permet la programmation de fenêtres (dans la console DOS), les prémices de l'événementiel. Et puis 1993, la dernière version, la 7, pour DOS et pour Windows.

Un exemple de code : Hello World[modifier]

program HelloWorld(output);
begin
writeln ('Hello World');
readln;
end.

Le paramètre Output qui suit le nom du programme est aujourd'hui facultatif (il n'était obligatoire qu'avec les premières versions des implémentations Pascal). De nos jours, il est absent la plupart du temps.

Contrairement au C, le Pascal n'est pas sensible à la casse, c'est-à-dire que les mots réservés (comme begin) ou les identificateurs (comme write ou la variable a) peuvent être indifféremment écrits en majuscules ou en minuscules.

Toujours contrairement au C, les déclarations (var dans l'exemple ci-dessus) se font dans une partie clairement séparée du code. Les déclarations locales sont faites en début de procédure ou de fonction, les déclarations globales, elles, étant faites n'importe où avant le programme principal. Ceci ajoute de la clarté au langage au prix d'un certain manque de souplesse. On ne peut pas déclarer de variable au beau milieu d'une fonction. Notons qu'en Pascal, les déclarations doivent précéder toute utilisation ; il est notamment interdit d'utiliser une procédure ou une fonction qui n'a pas encore été déclarée.

Enfin, la distinction entre procédures et fonctions, présente dans le Pascal constitue cette fois un avantage par rapport à la plupart des autres langages (y compris le C) car elle rend impossible certaines erreurs de programmation (par défaut, car une directive de compilation de Delphi permet d'activer une syntaxe "étendue" qui offre le même laxisme d'utilisation que les C-like).

Delphi et la programmation fenêtrée[modifier]

En 1995, pour contrecarrer Microsoft et la programmation visuelle du Visual Basic, Borland sort Delphi qui est, lui, un vrai compilateur qui produit du code machine. Ce langage emprunte clairement certaines caractéristiques du langage C++ en ajoutant, par exemple, le support des classes et, par conséquent, un système de programmation objet bien plus complet. On voit également apparaître la bibliothèque VCL servant d'interface aux bibliothèques Win32 de Windows, facilitant grandement le développement. Enfin, grâce à Delphi, pour la première fois, le Pascal devient un langage évènementiel.

En 2001, Borland produit Kylix, l'équivalent de Delphi pour le monde Linux.

Lazarus, une version open-source légèrement différente, permet de compiler sur n'importe quelle plateforme.

Exemple de source Lazarus[modifier]

LazarusForm1.png

Voici un exemple de fichier Pascal associé à une fenêtre (Form1: TForm1) contenant un label (un texte). Ce fichier est généré automatiquement et sert de structure de base pour programmer. C'est-à-dire qu'on peut le modifier, le compléter etc. Les petits points sont des repères lors de l'édition. Ils sont invisibles à l'exécution. Le source et les fenêtres Delphi sont très semblables.

unit Unit1;
 
    {$mode objfpc}{$H+}
 
interface
 
uses
    Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
    { TForm1 }
 
    TForm1 = class (TForm)
         Label1: TLabel; { le label "Hello world!" posé sur la fenêtre }
    private
         { private declarations }
    public
         { public declarations }
    end;
 
var
    Form1: TForm1; 
 
implementation
 
initialization
    {$I unit1.lrs}
 
end.

Petite explication : la directive {$I unit1.lrs} permet de lier la classe TForm1, décrivant une fenêtre, au fichier de ressource unit1.lrs qui contient le design de la fenêtre. Avec Lazarus le fichier lrs est un fichier intermédiaire créé automatiquement par le compilateur à partir des informations du fichier lfm et des directives de compilation (notamment la possibilité de choisir la bibliothèque de Widget). Avec Delphi la directive équivalente aurais été {$R unit1.dfm} et il n'y a pas de fichier intermédiaire. Par ailleurs elle aurait été placée dans la partie interface.

Compilateurs[modifier]

Liste des compilateurs les plus répandus[modifier]

  • Free Pascal (compatible avec le Pascal Objet de Borland) est un bon exemple de compilateur. Un environnement de développement visuel, accompagné de bibliothèques LGPL, permet au Free Pascal d'émuler Delphi (voir Lazarus). Free Pascal existe sur un grand nombre de plateformes facilitant le portage d'un programme d'un environnement à un autre.
  • GNU Pascal, dont la particularité est d'être écrit en C, c'est donc un compilateur qui ne se compile pas lui-même ce qui est devenu assez rare aujourd'hui.
  • Borland France autorise maintenant le téléchargement gratuit de Turbo Pascal 7.0 : Télécharger Borland Turbo Pascal 7.0 (DOS)
  • Il est d'ailleurs possible de télécharger une version de Delphi et de Kylix, qui est utilisable gratuitement sous réserve de ne produire que des logiciels open-source; pour produire des logiciels payants, il faut s'acquitter d'une licence. Télécharger l'édition personnelle gratuite de Borland : Delphi 6, Delphi 2005 (Windows)

Compatibilité[modifier]

Delphi ne fonctionne que sur Windows. Kylix, son équivalent officiel, tourne sous Linux et Unix. Malheureusement si Delphi continue à évoluer, le développement de Kylix a été stoppé. Par conséquent les versions supérieures à 7 de Delphi sont moins compatibles avec Kylix. Par ailleurs, la compatibilité Delphi/Kylix n'est possible qu'avec les applications utilisant la bibliothèque CLX. Les applications utilisant la VCL ne sont pas utilisables avec Kylix.

En ce qui concerne Free Pascal et Delphi/Kylix, de grands progrès ont été réalisés au niveau de la compatibilité des compilateurs. Aujourd'hui c'est près de 99 % de code compatible[réf. nécessaire]. Toutefois, un certain nombre de remarques sont à faire :

  • L'EDI de Free Pascal, Lazarus utilise un format différent pour les descriptions de fenêtres et boites de dialogue, il faut donc recréer une grande partie de l'interface. Toutefois l'équipe de développement actuelle travaille sur un convertisseur automatique.
  • Les composants Delphi/Kylix n'utilisent pas les mêmes moyens techniques que les composants Lazarus. Ils sont donc soumis à une moins bonne compatibilité que les applications en elles-mêmes, même si là encore de grands progrès ont été réalisés, notamment sur les fonctionnalités qui ne sont pas directement associées aux bibliothèques Win32.
  • Un certain nombre de composants Delphi/Kylix sont absents de Lazarus/Free Pascal, les bibliothèques Lazarus/Free Pascal ne sont pas encore achevées.
  • 1 % de code non compatible peut demander beaucoup de travail sur de grosses applications...

Le projet GNU Pascal est assez peu populaire chez les amateurs de Pascal (il lui est souvent reproché par les puristes d'être écrit en C[réf. nécessaire] et non en Pascal comme les autres). Bénéficiant de moins de contributeurs eux-mêmes moins concernés (ils font du C), le projet ne peut se vanter des mêmes avancées que Free Pascal. Il est relativement compatible avec les anciens programmes Turbo Pascal mais n'est fourni qu'avec les bibliothèques de base, et donc limité en mode graphique. Les amateurs de fenêtres sous Lazarus ou Delphi/Kylix auront beaucoup de travail pour porter leurs programmes sous GNU Pascal.

Pour résumer si vous faites un programme compatible avec Turbo Pascal (en mode texte plus particulièrement), vous pourrez le compiler sans trop de difficultés avec le compilateur de votre choix. L'apparition des modes graphique et des fenêtres a complexifié les bibliothèques rendant la compatibilité plus difficile, mais pas impossible. Quoi qu'il en soit, plus vous utiliserez des techniques logicielles récentes, plus la compatibilité entre compilateurs (et les possibilités de portage) sera compromise.

Portage[modifier]

Le portage d'application d'un système à un autre est une tâche assez difficile en Pascal. C'est la principale raison du manque de popularité de ce langage, malgré un grand nombre de qualités[réf. nécessaire].

L'utilisation d'un compilateur disponible sur plusieurs plateformes facilite cette tâche. L'utilisation de fonctions spécifiques à un système est à éviter mais si c'est indispensable on peut s'inspirer du code suivant :

procedure Special(Param1, Param2: TypeParam);
begin
    {$IFDEF Linux}
      {Code sprécifique à linux}
    {$ELSEIF} {$IFDEF Win32}
      {Code spécifique à Windows 32 bits}
    {$ELSEIF}
      Plateforme non supportée (texte clair non-commenté générant une erreur)
    {$ENDIF}
    {Code commun}
end;

Le couple Delphi/Kylix constitue une bonne solution simple de portage Windows/Linux mais elle reste limitée à ces deux seuls systèmes, et impose l'utilisation des bibliothèques CLX. Le portage d'applications VCL vers des applications CLX est simple mais fastidieux car cela nécessite de redessiner complètement l'interface. Enfin Kylix n'étant plus développé, son usage est aujourd'hui déconseillé.

Lazarus est aujourd'hui la meilleure solution pour le développement multi-plateforme[non neutre]. Son compilateur, le Free Pascal compiler, est capable de générer des exécutables pour quasiment toutes les plateformes actuelles[réf. nécessaire] (c'est un compilateur croisé), Lazarus s'exécutant lui-même sur toutes ces plateformes. Hors utilisation de fonctions spécifiques à un système (appels directs aux bibliothèques Win32 par exemple, ou utilisation de l'assembleur), il compilera le code sans aucun problème quel que soit le système hôte et le système destinataire. Un inconvénient tout de même, Lazarus utilise, par défaut, la bibliothèque GTK en version 1.x (assez ancienne donc) en ce qui concerne les interfaces graphiques sous Linux, ce qui impose d'installer cette bibliothèque au préalable, alors qu'elle est considérée comme obsolète. Cela dit, des versions basés sur Qt 4 seront bientôt disponibles, le support de Qt 4 ayant considérablement avancé. Il est, par ailleurs, tout à fait possible de recompiler Lazarus pour qu'il utilise GTK 2 au lieu de GTK 1. La version Windows utilise directement les bibliothèques Win32 pour son affichage mais on peut aussi recompiler Lazarus pour qu'il utilise GTK 1 ou 2, ou Qt.

Aspects techniques[modifier]

Récursivité[modifier]

On peut écrire des fonctions récursives en Pascal. Par exemple cette fonction illustre bien cette possibilité :

FUNCTION factorielle (n : shortint) : integer;
BEGIN
  IF n <= 1 THEN
    factorielle := 1;
  ELSE
    factorielle := n * factorielle (n - 1);
END;

Remarque : le nombre d'appels récursifs est limité (de même que pour de nombreux langages) par la pile d'appel.

Généricité[modifier]

Il est possible de définir des types génériques, c'est-à-dire pouvant être utilisés avec différent types possibles sans pour autant avoir à réécrire le code entier. Voilà un exemple en FreePascal :

type 
  { On définit un objet qui permet d'additionner deux éléments et multiplier un élément par un entier strictement positif }
 
  { TAnneauGenerique }
  generic TAnneauGenerique<T> = class
    function Somme(a, b: T): T;
    function Multiple(n: integer; a: T): T;
  end;
 
  { On crée deux versions spécialisées, s'appliquant aux nombre réels et aux chaines de caractères }
  TAnneauReel = specialize TAnneauGenerique<Real>;
  TAnneauChaine = specialize TAnneauGenerique<String>;
 
{ TAnneauGenerique }
 
function TAnneauGenerique.Somme(a, b: T): T;
begin
  result := a + b;
end;
 
function TAnneauGenerique.Multiple(n: integer; a: T): T;
var i: integer;
begin
     { On ne gère que le cas où n >= 1 }
     result := a;
     for i := 2 to n do result := result + a;
end;      
 
var
  r: TAnneauReel;
  c: TAnneauChaine;     
 
begin
  r := TAnneauReel.Create;
  writeln('Avec des réels :');
  writeln('4.1 + 5.2 = ', FloatToStr( r.Somme(4.1, 5.2) ));
  writeln('3 x 5.1 = ', FloatToStr( r.Multiple(3, 5.1) )); 
  r.free;
 
  writeln;
 
  c := TAnneauChaine.Create;
  writeln('Avec des chaines :');
  writeln('bon + jour = ', c.Somme('bon', 'jour'));
  writeln('10 x a = ', c.Multiple(10, 'a'));
  c.free;
 
  readln; 
end;

Note : en Delphi, il ne faut pas ajouter les mots-clés generic et specialize.

Dépendances mutuelles des unités[modifier]

Il est possible que les différentes unités du programmes s'utilisent mutuellement, mais il y a une limitation. En effet, en Pascal, on peut faire référence à une autre unité à deux endroits possibles, à savoir dans l'interface et à l'implémentation. Si deux unités font référence l'une à l'autre dans leur interface, on obtient une erreur de dépendance circulaire. On peut contourner ce problème en utilisant une troisième unité qui servira de base aux deux autres, et/ou en utilisant des types plus abstraits au niveau des interfaces. Cette limitation n'existe pas en Visual Basic.

Avantages[non neutre][modifier]

Le principal avantage du code Pascal est sa clarté[réf. nécessaire], ce qui facilite sa lecture. Cet avantage est particulièrement parlant avec les fonctions de tests. Faciles à lire en Pascal elles peuvent donner des maux de tête avec certains autres langages.[non neutre] Par ailleurs, la structure du code renforce cette clarté : des sections précises pour les déclarations, la notion interface/implémentation rendant inutile la création d'un fichier d'interface, la distinction procédure/fonction... Le mot-clé "with" - qui évite de re-décrire toute la hiérarchie d'une structure de données utilisée dans un bloc begin/end - a largement contribué à la lisibilité du code:

with damier[ligne,colonne] do 
begin 
     piece=fou; 
     couleur=noir; 
end;

Un autre avantage du Pascal est sa rigueur : au contraire du Visual Basic, les passages d'un type à un autre se font selon des règles précises, les variables sont obligatoirement typées. Cette rigueur permet d'éviter nombres d'erreur de programmation, mais confère un certain manque de souplesse. Toutefois il est possible d'utiliser le type Variant qui permet de stocker autant un nombre qu'une chaîne de caractères (à utiliser avec précaution tout de même).

Pour le reste, beaucoup des inconvénients que l'on attribuait au langage il y a 10 ou 20 ans[Quand ?], ne sont plus d'actualité. Par exemple, le manque de souplesse pour les passages chaîne - caractère a été corrigé dès les premières versions de Turbo Pascal. Les objets ont fait leur apparition avec la notion d'héritage, plus récemment les classes, et même la technique .net... Les optimisations apportées depuis Turbo Pascal 5.0 ont permis de générer des exécutables aux performances équivalentes à leurs homologues issus du C[réf. nécessaire] mais le vieux mythe continue malheureusement d'exister[non neutre].

Dernier avantage du Pascal : la rapidité de compilation. Compiler 10 Mo de code ne demande en Pascal que quelques secondes contre plusieurs minutes en C[réf. nécessaire]. Delphi 6 a même été jugé le compilateur le plus rapide de tous les temps[Par qui ?], capable de compiler une centaine de mégaoctets de code en moins d'une minute. Cette rapidité est due à la structure claire et explicite du langage avec, par exemple, la distinction procédure/fonction qui permet au compilateur d'éviter les tests permettant d'effectuer cette distinction ou encore l'absence de déclarations dans le code, l'obligation de déclarer les variables et les routines avant de les utiliser et enfin l'interface qui se trouve dans le même fichier que le code (un seul fichier ".pas" contre un fichier ".h" et un fichier ".c" en C). D'autre part, les fichiers .h du C doivent être relus à chaque fichier source compilé, alors qu'en Pascal, les unités ne sont compilées qu'une seule fois, et l'interface est enregistrée dans le code-objet.

Jusqu'à récemment[Quand ?] un inconvénient majeur du langage était l'absence de support d'une technique de généricité. Cela a été rajouté aussi bien dans Delphi que dans Lazarus. On peut donc désormais faire des templates, c'est-à-dire du code dont on ne définit pas un type T qui sera remplacé plus tard par n'importe quel type voulu[évasif].

Voir aussi[modifier]

Sur les autres projets Wikimedia :

Articles connexes[modifier]

Liens externes[modifier]

Notes et références[modifier]

  1. ISO 7185 [archive] sur le site de Karl Kleine
  2. ISO 10206 [archive] sur le site de Karl Kleine

17/11/2011
0 Poster un commentaire

les diff topologies

Topologie des réseaux

Que signifie le terme « topologie »

Un réseau informatique est constitué d'ordinateurs reliés entre eux grâce à des lignes de communication (câbles réseaux, etc.) et des éléments matériels (cartes réseau, ainsi que d'autres équipements permettant d'assurer la bonne circulation des données). L'arrangement physique, c'est-à-dire la configuration spatiale du réseau est appelé topologie physique. On distingue généralement les topologies suivantes :





La topologie logique, par opposition à la topologie physique, représente la façon dont les données transitent dans les lignes de communication. Les topologies logiques les plus courantes sont Ethernet, Token Ring et FDDI.

Topologie en bus

Une topologie en bus est l'organisation la plus simple d'un réseau. En effet, dans une topologie en bus tous les ordinateurs sont reliés à une même ligne de transmission par l'intermédiaire de câble, généralement coaxial. Le mot « bus » désigne la ligne physique qui relie les machines du réseau.

topologie en bus



Cette topologie a pour avantage d'être facile à mettre en oeuvre et de posséder un fonctionnement simple. En revanche, elle est extrêmement vulnérable étant donné que si l'une des connexions est défectueuse, l'ensemble du réseau en est affecté.

Topologie en étoile

Dans une topologie en étoile, les ordinateurs du réseau sont reliés à un système matériel central appelé concentrateur (en anglais hub, littéralement moyen de roue). Il s'agit d'une boîte comprenant un certain nombre de jonctions auxquelles il est possible de raccorder les câbles réseau en provenance des ordinateurs. Celui-ci a pour rôle d'assurer la communication entre les différentes jonctions.

topologie en étoile



Contrairement aux réseaux construits sur une topologie en bus, les réseaux suivant une topologie en étoile sont beaucoup moins vulnérables car une des connexions peut être débranchée sans paralyser le reste du réseau. Le point névralgique de ce réseau est le concentrateur, car sans lui plus aucune communication entre les ordinateurs du réseau n'est possible.

En revanche, un réseau à topologie en étoile est plus onéreux qu'un réseau à topologie en bus car un matériel supplémentaire est nécessaire (le hub).

Topologie en anneau

Dans un réseau possédant une topologie en anneau, les ordinateurs sont situés sur une boucle et communiquent chacun à leur tour.

topologie en anneau




En réalité, dans une topologie anneau, les ordinateurs ne sont pas reliés en boucle, mais sont reliés à un répartiteur (appelé MAU, Multistation Access Unit) qui va gérer la communication entre les ordinateurs qui lui sont reliés en impartissant à chacun d'entre-eux un temps de parole.

répartiteur



Les deux principales topologies logiques utilisant cette topologie physique sont Token ring (anneau à jeton) et FDDI.

Topologie en arbre

Aussi connu sous le nom de topologie hiérarchique, le réseau est divisé en niveaux. Le sommet, le haut niveau, est connectée à plusieurs nœuds de niveau inférieur, dans la hiérarchie. Ces nœuds peuvent être eux-mêmes connectés à plusieurs nœuds de niveau inférieur. Le tout dessine alors un arbre, ou une arborescence.

Topologie maillée

Une topologie maillée, est une évolution de la topologie en étoile, elle correspond à plusieurs liaisons point à point. Une unité réseau peut avoir (1,N) connexions point à point vers plusieurs autres unités. Chaque terminal est relié à tous les autres. L'inconvénient est le nombre de liaisons nécessaires qui devient très élevé.
Cette topologie se rencontre dans les grands réseaux de distribution (Exemple : Internet). L'information peut parcourir le réseau suivant des itinéraires divers, sous le contrôle de puissants superviseurs de réseau, ou grâce à des méthodes de routage réparties.
L'armée utilise également cette topologie, ainsi, en cas de rupture d'un lien, l'information peut quand même être acheminée.

Elle existe aussi dans le cas de couverture Wi-Fi. On parle alors bien souvent de topologie mesh mais ne concerne que les routeurs WiFi.
Dernière modification le jeudi 14 mai 2009 à 13:09:49 par dyllan
Ce document intitulé « Topologie des réseaux » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
 
 
 
 


05/10/2011
0 Poster un commentaire

rx teleph

 

Réseau téléphonique commuté

Page d'aide sur l'homonymie Pour les articles homonymes, voir Réseau.
L'acheminement des communications dans le RTC est assuré par des équipements appelés commutateurs ou centraux. Il s'agit ici du commutateur numérique DMS-100 (en) de Nortel

Le Réseau Téléphonique Commuté (ou RTC) est le réseau du téléphone (fixe et mobile), dans lequel un poste d'abonné est relié à un central téléphonique par une paire de fils alimentée en batterie centrale (la boucle locale). Les centraux sont eux-mêmes reliés entre eux par des liens offrant un débit de 2 Mb/s : ce sont les Blocs Primaires Numériques (BPN).

Dans le cas d'un réseau construit par un opérateur public, on parle parfois de Réseau Téléphonique Commuté Public (RTCP) ou PSTN, de l'anglais Public Switched Telephone Network.

Le réseau RTCP a été créé par Alexandre Graham Bell dans le but de faire écouter des pièces de théâtre à distance.

Au tout début, les communications étaient établies par des opérateurs et des opératrices, grâce à un système de cordons souples munis de fiches et de tableaux d'arrivée et de départ d'abonnés. Puis vinrent les systèmes de commutations automatiques, qui n'ont cessé d'être améliorés : d'abord électromécaniques, puis électroniques, ils sont désormais numériques et totalement pilotés par informatique.

De l'origine jusqu'à récemment, il existait une continuité électrique entre les deux abonnés : un réel circuit électrique était établi entre les deux téléphones.

  • Pour les liaisons entre centraux, d'encombrants câbles multipaires, puis les câbles coaxiaux numériques, sont désormais remplacés par des faisceaux de fibre optique. Cette dernière permet des débits beaucoup plus élevés, sorte d'autoroute qui profite aux technologies numériques d'information et de communication.
  • Pour établir une communication point à point, l'abonné compose un numéro pour que les commutateurs des centraux relient l'appelant à l'appelé. La commutation réserve un canal de communication pour toute la durée de la communication entre les parties reliées.
  • Les premiers tableaux de commutation comprenaient quelques dizaines de prises d'abonnés, les commutateurs électromécaniques ainsi que les électroniques et informatiques actuels peuvent gérer plusieurs milliers d'abonnés, sachant qu'en moyenne, seule une fraction d'entre eux seront en communication simultanément.
  • Les transmissions numériques avec « modems RTC homologués » sont permises. Mais ce réseau, en particulier le système de commutation « analogique », est peu approprié pour le transfert de données numériques, le débit binaire maximal ne dépassant pas les 120 kbit/s.
  • En revanche, beaucoup de lignes finales entre l'abonné et le central (la boucle locale) sont suffisamment courtes, pour pouvoir accueillir des transmissions numériques de débit plus important (jusqu'à 25 Mbit/s ATM en 2006 en France), dites xDSL. À partir du modem ADSL du central les liaisons totalement numériques sont gérées par des commutateurs et routeurs numériques.

Les liaisons entre terminaux mobiles et commutateurs, bien que numériques, sont quant à elles moins performantes, limitées par la technologie radioélectrique utilisée pour transmettre le signal dans l'air.

Voir aussi[modifier]

Articles connexes[modifier]

Liens externes[modifier]


04/11/2011
0 Poster un commentaire

switvh

Corps du message

Commutateur réseau

Un article de Wikipédia, l'encyclopédie libre.
Commutateur ethernet domestique
Commutateur modulaire professionnel
Un commutateur réseau (ou switch, de l'anglais) est un équipement qui relie plusieurs segments (câbles ou fibres) dans un réseau informatique et de télécommunication et qui permettent de créer des circuits virtuels. La commutation est un des deux modes de transport de trame au sein des réseaux informatiques et de communication, l'autre étant le routage. Dans les réseaux locaux (LAN), il s'agit le plus souvent d'un boîtier disposant de plusieurs ports Ethernet (entre 4 et plusieurs centaines), il a donc la même apparence qu'un concentrateur (hub). Il existe aussi des commutateurs pour tous les types de réseau en mode point à point comme pour les réseaux ATM, Relais de trames ...

Sommaire

[masquer]

Implémentation réelle[modifier]

Contrairement à un concentrateur, un commutateur ne reproduit pas sur tous les ports chaque trame qu'il reçoit : il sait déterminer sur quel port il doit envoyer une trame, en fonction de l'adresse à laquelle cette trame est destinée. Les commutateurs sont souvent utilisés pour remplacer des concentrateurs car il encombre moins le réseau. Dans le cas d'un réseau Ethernet/IP, un commutateur ne s’intéresse pas au même couche de liaison que le routeur, ils utilisent chacun respectivement les adresses MAC et les adresses IP pour diriger les données. Concrètement, pour une adresse qui peut être partiellement connue, une trame est toujours émise pour le même port, quel que soit l'état du trafic, une fois ses tables de routage et de communication remplies. Le routeur, lui, cherche à déterminer la meilleur route, il est susceptible de générer moins de trafic pour des grands réseaux.
Il est rare qu'un commutateur ne soit qu'un commutateur, beaucoup intègre par exemple le Spanning tree protocol que l'on rencontre dans les pont. Le commutateur est d'ailleurs souvent vu d'une manière réductrice comme un pont multiport.

Fonctionnement[modifier]

Le commutateur établit et met à jour une table, dans le cas du commutateur pour réseau Ethernet il s'agit de table d'adresses MAC, qui lui indique sur quel port diriger les trames destinées à une adresse MAC donnée, en fonction des adresses MAC source des trames reçues sur chaque port. Le commutateur construit donc dynamiquement une table qui associe des adresses MAC avec des ports correspondants.
Lorsqu'il reçoit une trame destinée à une adresse présente dans cette table, le commutateur renvoie la trame sur le port correspondant. Si le port de destination est le même que celui de l'émetteur, la trame n'est pas transmise. Si l'adresse du destinataire est inconnue dans la table, alors la trame est traitée comme un broadcast, c'est-à-dire qu'elle est transmise à tous les ports du commutateur à l'exception du port d'émission.
Un commutateur de niveau 2 est similaire à un concentrateur dans le sens où il fournit un seul domaine de diffusion. En revanche, chaque port a son propre domaine de collision. Le commutateur utilise la micro-segmentation pour diviser les domaines de collision, un par segment connecté. Ainsi, seules les interfaces réseau directement connectées par un lien point à point sollicitent le medium. Si le commutateur auquel il est connecté prend en charge le full-duplex, le domaine de collision est entièrement éliminé.

Méthodes de transmission[modifier]

La transmission des paquets peut s'opérer selon quatre méthodes :
  • mode direct (cut through) : le commutateur lit juste l'adresse du matériel et la transmet telle quelle. Aucune détection d'erreur n'est réalisée avec cette méthode.
  • mode différé (store and forward) : le commutateur met en tampon, et le plus souvent, réalise une opération de somme de contrôle sur chaque trame avant de l'envoyer.
  • fragment free : les paquets sont passés à un débit fixé, permettant de réaliser une detection d'erreur simplifiée. C'est un compromis entre les précédentes méthodes.
  • adaptive switching : est un mode automatique. En fonction des erreurs constatées, le commutateur utilise un des trois modes précédents.
Ces quatre méthodes de transmission sont utilisées selon des critères précis.

Fonctions supplémentaires[modifier]

  • Simple Network Management Protocol (SNMP) permet d'interroger un équipement réseau à distance. C'est un protocole de supervision du réseau qui permet seulement l'interrogation des équipements réseaux pour récupérer les mesures que cet équipement aura effectuées au préalable.
  • SMON : Switch Monitoring ou surveillance de commutateur, décrit par le RFC 2613, protocole pour contrôler les opérations comme la réplication de port.
  • Spanning tree protocol (STP) évite les boucles dans un réseau de commutateurs interconnectés ;
  • VLAN configurables ;
  • dot1q : passage de plusieurs VLAN sur un même lien ;
  • Bonding : agrégation de liens pour augmenter le débit entre deux points ;
  • LACP : agrégation des liens dynamique ;
  • IGMP Snooping et MLD Snooping : optimisation de la diffusion multicast ;
  • IGMP querier : identification des groupes multicast actifs ;
  • dot1x : authentification des postes ;
  • QoS : traitement différencié des trames ;
  • Port mirroring : réplication du trafic d'un port ou d'un VLAN sur un autre port ;
  • Jumbo frame qui porte la taille des trames à 9000 octets et plus.

Problèmes de sécurité[modifier]

Plusieurs méthodes permettent d'espionner sur un autre ordinateur le réseau sans la coopération du commutateur :
  • ARP spoofing : trompe l'ordinateur ciblé de l'utilisateur en utilisant votre propre adresse MAC au lieu de celle de la passerelle de réseau ou en utilisant le mode d'émission broadcast.
  • MAC flooding (inondation d'adresses MAC) : surcharge le commutateur avec des milliers adresses MAC pour qu'il tombe dans un mode failopen. Ce dernier se comporte alors comme un simple concentrateur et diffuse les trames à tous les postes du réseau. Ce problème a été détecté et corrigé dans la majorité des commutateurs récents. Pour les plus anciens, une mise à jour du firmware devrait permettre d'éviter ce comportement chaotique.

Topologie[modifier]

Un commutateur connecte des canaux Ethernet, Token Ring, ATM, Frame-Relay ou d'autres types de segments réseaux à paquets de la couche 2 du modèle OSI. On distingue les catégories suivantes :

Voir aussi[modifier]

Articles connexes[modifier]

Liens externes[modifier]

Espaces de noms
Variantes
 
Actions
 
  • Wikimedia Foundation
  • Powered by MediaWiki

24/09/2011
0 Poster un commentaire