USB:(universal
serial bus)
Dans le chapitre pc_12 nous
avons introduit l'USB à propos du port usb présent sur les cartes
mères des microordinateurs récents. Cette liaison série
venant de faire l'objet d'une nouvelle normalisation nous allons donc en présenter
les aspects les plus importants. Précisons que la totalité de
cette information provient du site http://www.usb.org
, nous remercions aussi Philippe Larcher de la compagnie CYPRESS pour nous
avoir fourni nombre de figures illustrant cet article.
Version initiale 1.0,
devenue 1.1 en Septembre 1998 – Définit 2 vitesses de fonctionnement : 1,5
Mbps (Low Speed) ,12 Mbps (Full Speed) Version 2.0 en Avril 2000 – Supporte
toutes les caractéristiques de l'USB 1.1 : 1,5 Mbps (Low Speed), 12 Mbps (Full
Speed) – Ajoute une vitesse de 480 Mbps (High Speed) – Optimise l'utilisation
de la bande passante.
Le fonctionnement en mode
High Speed possède des caractéristiques très différentes
des modes Low Speed et Full Speed. Il sera présenté ultérieurement
d'autant qu'il ne s'applique actuellement qu'aux applications de type vidéo,
télécom et transmission haute vitesse pour lesquelles les drivers
restent encore quasi inexistants en juillet 2002.
Les applications Low Speed
concernent essentiellement des périphériques interactifs (claviers,
souris, consoles), mais aussi des afficheurs, des lecteurs (de carte à
puce) et des applications en automatismes (mesure, capteurs) appelées
à se développer.
En mode Full Speed on va
trouver la téléphonie, les modems, les disques, imprimantes,
fax et scanners, certains lecteurs de carte à puce et le domaine multimédia
(jeux, audio, vidéo limitée).
Les avantages de l'usb
sont nombreux: faible coût de l'interface, alimentation possible des
dispositifs via le câble, indépendance vis à vis des machines
hôtes, Hot Plug & Play (c'est à dire branchement et débranchement
sans avoir besoin d'arrêter le PC), jusqu'à 127 périphériques
possibles, fiabilité et sécurité (détection et
correction d'erreurs), plusieurs vitesses possibles et 4 types de transferts.
topologie typique d'un système
tout USB
Un dispositif conforme
à la norme 2.0 peut-être relié à un HUB 1.1 mais
dans ce cas le traffic sera celui défini par la norme 1.1. Les divers
cas possibles sont précisés sur la figure ci-dessous.
Notons qu'à l'initialisation
d'un "device" (ou d'une "fonction" selon la terminologie
utilisée par le groupement USB) celui-ci reçoit une adresse.
Les transferts Full Speed déclenchés par le "host"
parcourent tous les tronçons, mais seule la fonction adressée
va évidemment répondre. Ainsi s'il s'agit d'un ordre d'impression
il sera reçu par tous les périphériques, mais seule l'imprimante
le comprendra.
Le câblage usb est
relativement simple; il est le même quelle que soit la vitesse de transmission.
En version Low Speed le blindage n'est pas obligatoire (ce qui assure une
plus grande souplesse de manipulation en particulier pour une liaison souris).
L'extrémité amont est unique, par contre pour l'extrémité
aval on distingue deux connecteurs; le plus petit (dit optionnel) est souvent
réservé aux dispositifs de très faible dimension (ou
de grande intégration) tels les appareils photo numériques.
principe du bus USB
connectique USB
les signaux sur un bus USB
La longueur maximum exploitable
est conditionnée par les temps de propagation le long du cable (30ns
par segment) et à travers les hub (40ns par hub) et les temps de réponse
de la fonction adressée (600ns maxi) sachant que le temps de propagation
(aller-retour) entre le host et ladite fonction ne doit pas dépasser
1300 ns. En outre lorsqu'on met plusieurs hubs en cascade il ne faut pas sousestimer
les contraintes d'alimentation et la chute de tension le long du trajet :
s'il s'agit d'un device alimenté via le bus USB il est clair qu'il
doit pouvoir fonctionner avec une tension notablement inférieure à
5V
calcul du temps de transit
Une différence essentielle
à connaitre dans une liaison USB pour l'interface entrée fonction
(ou entrée hub) on place une résistance de tirage soit sur D-
dans le cas du Low Speed ou sur D+ dans le cas du Full Speed indispensable
pour permettre au hub amont de détecter la connexion ou la déconnexion.
Par contre côté sortie du hub on a une résistance sur
chacune des lignes D+ et D-.
Le graphique ci-dessous
montre l'évolution temporelle des tensions lors d'une connexion ou
déconnexion et la plage temporelle de détection par le hub amont.
Lors de la connexion (ou
déconnexion) il y a une phase de détection et d'identification
effectuée par l'hôte qu'on appelle énumération.
Lors de cette phase le périphérique fournit à l'hôte
une suite de descripteurs qui permettent son identification complète.
Lors de l'énumération initiale (à la mise sous tension
du PC) les hubs et périphériques sont initialisés de
proche en proche.
Ainsi le hub racine signale
que sur ses ports A et B il a des périphériques non initialisés.
L'hôte initialise alors la liaison A et la place dans sa liste de scrutation,
puis la liaison B. Le hub 1 indique alors que ses liaisons A et C ne sont
pas initialisées, donc l'hôte va initialiser successivement A
et C puis les placer dans sa liste de scrutation. Puis on passera au hub2,
etc jusqu'à ce que tous les périphériques connectés
aient été initialisés. Le dernier concerné étant
le numéro 12 (le téléphone ici).
Pour limiter la consommation
un mode suspend a été imaginé : toute fonction
y passe après 3ms d'inactivité du bus qui la relie au hub amont
(consommation inférieure à 500µA dont 200 réservés
à la seule résistance de tirage sur D).
le protocole usb:
Ils sont basés sur
un concept de descripteur. Ceux-ci sont au nombre de 4 ( device descriptor,
configuration descriptor, interface descriptor, endpoint descriptor) dont
nous donnons la description ci-dessous telle qu'elle va être communiquée
sur une requète du type 'Get Descriptor (Device)'
performances attendues:
Compte tenu de l'allocation
de bande passante (cf ci-dessus) on va obtenir les résultats suivants:
En mode Low Speed ou Interrupt le nombre de données utiles par transaction
varie de 1 à 8 octets, l'échange d'un paquet de données
s'accompagne d'un "overhead" important d'environ 140µs soit
14% d'une trame, pour l'hôte le maximum théorique est de 6 transactions
de type interruption par trame, pour un transfert en mode interrupt low speed
on n'a pas plus d'une transaction toutes les 10 trames (soit 10ms) soit un
débit de 800 octets/s.
En mode Interrupt Full Speed 1 à 64 octets de données
utiles par transaction, un paquet de 64 octets correspond à 5% d'une
trame, le maximum théorique pour l'hôte est de 19 échanges
par trames, pour un transfert en mode Interrupt Full Speed on a 1 transaction
par trame de 1ùs soit un débit max de 64000octets/s.
En mode Control Low Speed l'overhead est encore plus important (300µs
environ), avec 3 échanges par trame il en résulte un débit
de 24000octets/s.
En mode Control Full Speed l'échange d'un paquet de données
de 64 octets consomme environ 7% d'une trame, donc 13 échanges max
par trame et 832koctets/s (maximum théorique non garanti).
En mode isochrone Full Speed on peut avoir jusqu'à 1023 octets
de données utile par transaction (69% d'une trame) soit au rythme d'une
transaction par trame environ 1Moctet/s (pour des paquets de 1023 octets,
si les paquets ne font que 1 octet on obtient évidemment un résultat
1023 fois moins important...).
En mode Bulk (Full Speed) les données par transaction peuvent
atteindre 64 octets soit 5% d'une trame ce qui conduit à un débit
de 1.2Moctets/s (non garanti)
aspect logiciel : La norme USB regroupe les périphériques
en classes pour faciliter l'écriture et l'utilisation de drivers génériques.
5 classes sont définies actuellement (audio, communication téléphonique,
display, human interface device HID, mass storage). D'autres vont suivre (printer,
image, émulation RS232,...). En conséquence l'utilisation d'un
périphérique suppose le choix de sa classe et l'exploitation
du class driver correspondant, sinon il faudra développer un driver
spécifique en reprenant les spécifs de la classe la plus voisine.
Notons qu'en 2007 tous les périphériques peuvent être
connectés via l'interface USB qui en raison de sa facilité de
connexion a progressivement éliminé tous les autres types de
connexions. Depuis de nouvelles améliorations ont été
apportées.
En
2008, l'USB 3.0 transmet à 5 Gbit/s (soit 600 Mo/s) mais nécessite
des connexions à 6 contacts au lieu de 4, la compatibilité ascendante
avec les versions précédentes est assurée tandis que
la compatibilité descendante est impossible, les câbles USB 3.0
de type B n'étant pas compatibles avec les prises USB 1.1/2.0, mais
il existe des adaptateurs.
En 2010 les prises femelles USB 3.0 sont signalées par une couleur
bleue ou rouge(pour une plus grande puissance électrique disponible
en particulier pour les chargeurs lorsque l'ordinateur est éteint).
La prise male USB 3.0 comporte 10 connexions, à droite l'équivalent
de la prise USB 2 et à gauche celles spécifiques de l'USB 3.
Août 2013, l’USB 3.1 promet des débits de 10 Gbits/s (soit
1,2 Go/s) Le nouveau standard (câbles, connecteur, interface) sera rétro
compatible avec l’USB 3.0 et l'USB 2.0.
Pour en savoir plus http://www.usb.org/developers/docs/
virus:
il n'est plus possible aujourd'hui d'ignorer la malédiction d'internet,
à savoir les virus et les vers informatiques. Quand le ministère
de la défense américain a conçu le concept de réseau
qui devait aboutir à internet son souci majeur était que le
réseau puisse continuer à fonctionner même si une partie
en était détruite par une attaque extérieure, mais aucun
des responsables de l'époque n'a imaginé qu'une attaque bien
plus dangereuse pouvait venir de l'intérieur, d'où une structure
de réseau d'une extraordinaire faiblesse vis à vis de ce qu'on
appelle aujourd'hui virus. Il y en a plus de 50.000 et aucun logiciel anti-virus
basé sur l'analyse d'une base de données n'est jamais capable
de les éradiquer ni même de les identifier tous, puisque par
principe sa base de données ne peut être à jour lors
de l'apparition d'un nouveau virus.
Les virus et les vers sont des programmes informatiques volontairement conçus
pour altérer le fonctionnement de votre ordinateur sans votre accord.
Certains virus sont conçus pour causer des dommages en détruisant
des programmes, effaçant des fichiers voire en reformattant le disque
dur, mais d'autres ne sont que des plaisanteries qui vont se limiter à
transmettre et présenter un message sous une forme ou une autre. Il n'empêche
que même ces derniers doivent être éliminés car ils
utilisent des ressources systèmes et peuvent conduire au crash (ou au
blocage) de l'ordinateur. Un ver diffère d'un virus en ce qu'il est capable
de se déplacer d'un système à un autre à l'intérieur
d'un autre document, comme un e-mail ou un document Word.
Un cheval de Troie est un fichier en apparence anodin mais qui contient un code
malveillant qui peut exécuter différentes choses telles qu'effacer
un fichier ou voler vos données. La différence avec un ver tient
au fait que le cheval de Troie ne peut se reproduire lui-même.
Pour s'en prémunir
le mieux est d'être très prudent et rigoureux, systématiquement
rigoureux : ne jamais charger un logiciel ou tout fichier texte
provenant d'une disquette dont on ignore l'origine sans avoir au préalable
testé la disquette avec votre anti-virus (Norton, Mac Afee...).
Actuellement le mode de diffusion préféré des hackers
est le courrier électronique. En conséquence,
et au vu des derniers événements, mes conseils sont les suivants
: premièrement ne pas utiliser de logiciel Email commercialement
à risque, c'est à dire éviter OUTLOOK de Microsoft et NETSCAPE
Communicator, ce sont les plus exposés actuellement. Leur préférer
des logiciels freeware bien conçus et moins sensibles tel PEGASUS
ou INCREDIMAIL.
Ce dernier possède en outre une fonctionnalité très intéressante,
il est capable de faire la différence entre un mail autorisé et
un mail indésirable. En effet les récents événements
ont montré que les derniers virus, type
I love you, d'une part détruisent certains fichiers clés
de votre machine (ou plus exactement en effacent ou modifient le contenu) et
d'autre part, exploitent le fichier d'adresses d'outlook ou de netscape de leur
victime, pour rediffuser le même message contaminateur automatiquement,
mais pas les carnets d'adresse de Pegasus qui sont conçus différemment.
A noter que ces fichiers attachés remplis de virus sont généralement
des fichiers écrits en visual basic (extension vbs)
Une source d'infestation
fréquente est l'utilisation du chat (MSN Messenger ou AIM) ainsi que
le téléchargement de logiciel dont la fiabilité n'est
pas avérée. Il est en effet fréquent que les programmeurs
de virus et de vers informatiques les cachent dans des software gratuits.
Notez encore que si I love you était relativement peu dangereux
et facile à identifier ses successeurs tel New Love sont beaucoup
plus subversifs. Ce nouveau virus, identifié en France dès juin
2000 se réplique en changeant de nom. En pratique à chaque fois
qu'il utilise votre carnet d'adresses pour s'auto-envoyer il prend un nouvel
intitulé qui le plus souvent est celui du dernier fichier ouvert sur
votre machine, ce qui le rend évidemment beaucoup plus difficile à
identifier. En outre il s'attaque à tous les types de fichiers. Il semblerait
que les principaux éditeurs américains de logiciels anti-virus
sont incapables d'anticiper ce type de virus et donc de vous protéger
efficacement. Seule leur future mise à jour vous protégera contre
un retour de ce virus dans quelques semaines.
Notez enfin que 99% de
ces virus ne parlent pas français, aussi si vous recevez un message
en anglais d'un inconnu ou d'un francophone connu, ayez le réflexe
immédiat de ne pas ouvrir le fichier attaché, c'est vraisemblablement
un virus (surtout s'il s'agit d'un fichier .exe ou .vbs).
Alors y a-t-il
une solution miracle? Peut-être, et une fois de plus elle serait
d'origine française, c'est le logiciel antivirus Viguard de
chez Tegam dont le
concept n'est pas basé comme ses concurrents américains sur
l'exploitation d'une base de données de virus, base qui est nécessairement
toujours en retard d'une guerre, mais sur l'analyse biométrique. Mais,
car il y a toujours un mais, le logiciel de Tegam s'il est capable d'identifier
un virus ne sait pas forcément le détruire (cette information
publiée dans la presse informatique est donnée sous toute réserve,
car je n'ai pas été confronté à ce problème).
C'est alors à vous de détruire les fichiers reconnus comme infestés.
Ce qui justifie infiniment le conseil donné par ailleurs d'avoir au
moins une copie sécurisée de chaque fichier important sur un
support autre que votre disque dur.
Le second conseil qui reste
valable (mais pour combien de temps encore ?) c'est de ne jamais ouvrir un
fichier attaché dont la provenance n'est pas absolument
sûre. La plupart du temps les personnes qui sont susceptibles
de vous adresser des fichiers attachés sont parfaitement connues de
vous. La majorité des virus actuellement nuisibles sont transmis via
les fichiers attachés en visual basic et ne peuvent exprimer leur malfaisance
tant que ledit fichier n'a pas été ouvert. Donc si vous détruisez
systématiquement tout fichier suspect vous n'aurez pas de problème
de contamination.
Ajoutons enfin cette dernière remarque : les concepteurs de virus sont
de plus en plus subtils, ainsi il y a quelques temps j'ai reçu un mail
censé provenir d'un collègue et se proposant de compléter
un exposé qu'il aurait donné peu de temps auparavant sur un sujet
très mathématiques. Le mail paraissait très vraisemblable
car il faisait effectivement référence à un exposé
de ce collègue qui avait bien eu lieu à la date précisée,
en fait le pirate avait récupéré dans le répertoire
outlook le mail que ce collègue avait envoyé à l'ensemble
de ses correspondants pour les informer de cet exposé, mail dans lequel
il donnait quelques précisions sur l'exposé et en particulier
son résumé. Le pirate avait alors modifié légèrement
le contenu de ce mail et bien entendu y avait joint des fichiers attachés
censés contenir tous les transparents de l'exposé...mais c'était
toute autre chose qu'en fait contenaient ces fichiers. Donc ne vous fiez pas
au fait qu'un mail provient d'une personne connue et que son contenu est plausible
pour ouvrir les fichiers attachés : méfiez-vous des fichiers attachés
de type toto.bat, ce sont quasiment toujours des virus très dangereux
car ces fichiers bat vont s'exécuter à la prochaine mise sous
tension de votre machine. De même n'ouvrez qu'en étant sûrs
de leur innocuité, ou sûrs du fonctionnement de votre logiciel
antivirus, les fichiers de type toto.doc et toto.exe
Malheureusement il est
prévisible que dans un avenir pas très lointain un hacker illuminé
trouvera le moyen d'introduire un virus directement dans les fichiers de mail
(et non plus dans les fichiers autoexécutables attachés) et
alors le simple fait de lire votre courrier entrainera la catastrophe. C'est
actuellement la terreur des responsables mondiaux d'internet qui essaient
d'imaginer des parades en renforçant la sécurité du protocole
TCP/IP via le nouveau système IPsec.
Un moyen de limiter les
risques est évidemment de charger les patches de mise à jour
de votre système d'exploitation (si vous utilisez windows allez donc
sur le site de Microsoft
pour identifier ceux nécessaires à votre système, méfiez-vous
par contre de ceux fournis sur le CD associé à certaines revues
informatiques)
En cas
de contamination que faire
? lisez les quatre pages informatives à l'adresse suivante : http://chypre.ima.uco.fr/~cgi-ima/virus.html
et si vous lisez l'anglais
je vous recommande ce site très instructif
mis à jour quotidiennement http://www.kumite.com/myths/
Mais une dernière
remarque s'impose : il existe aussi de faux virus.
Depuis quelques mois on voit effectivement proliférer de fausses informations
diffusées par E-mail concernant de nouveaux virus qui ne sont en fait
que des canulars (hoax en anglais). A chaque fois le mail que vous recevez
semble avoir la caution de Microsoft ou d'IBM, mais en fait il n'en est rien,
et l'on vous demande de transmettre l'information à toutes vos relations...et
en moins de deux jours ce faux virus fait plus de ravages en embouteillant
les lignes internet que la majorité des vrais.
Alors comment
distinguer un faux d'un vrai virus ? C'est très simple, à
chaque fois que vous recevez une information concernant un virus, avant de
paniquer, allez tout simplement faire un tour sur le site hoaxbuster
qui répertorie les vrais et les faux virus.
Et, last but not least, récupérez-y la dernière version
d'un logiciel antivirus gratuit très performant. Il en existe quelques
uns. "H+BEDV AntiVir
Personal Edition est un logiciel allemand très satisfaisant
que j'ai longtemps utilisé. Aujourd'hui je lui préfère
AVAST dont
la base de données est mise à jour quotidiennement et automatiquement
téléchargée sur votre machine.
pour en savoir plus
Messmer H.P., PC-Hardwarebuch,
Addison-Wesley GmbH, Bonn (D),1994
Tischer M., PC-Bibel,
Data Becker GmbH, Düsseldorf( D),1993
Dorff R.C.,Electrical
Engineering Handbook, CRC Press, Boca Raton (USA),1993
Documentation technique
INTEL, Intel Corp.,Palo Alto (USA)1999
Freihof M. und Kürten
I., Base de registres, Data Becker GmbH, Düsseldorf (D), 1997
Petzold C., Programming
Windows 95, Microsoft Press, Redmond (USA),1996
Halvorson M. and Young
M., Running Microsoft Office 97, Microsoft Press,Redmond (USA),1998
Dembowski K., Computerschnittstellen
und Bussysteme, Hüthig Fachverlage, Heidelberg (D), 1997
Pujolle G., Initiation
aux réseaux, Eyrolles, Paris, 2000.
Lilen H, Maintenance
et dépannage PC Windows 95, Dunod (Paris), 1996
Lilen H, Guide des processeurs
Pentium, Dunod (Paris), 1999
Minasi M., Hard Disks
Power Tools, Sybex Inc., Alameda (USA),1991
Collin S., Windows95,
Dunod (Paris), 1995
Wiser U., le bus SCSI,
Ed. Publitronic (Nieppe), 1995.