Dans la première partie de ce billet de blog en quatre parties, nous avons décrit un robot hypothétique capable de regarder des vidéos à 10 Go/s. Pour bien comprendre ce que signifie ce 10 GB/s, nous avons ajouté trois autres parties au billet. La deuxième partie définit les bits et les octets, qui sont les unités de base des données, et certains des multiples de ces unités. La troisième partie présentait différentes définitions des préfixes multiples comme méga- et giga-. Ce quatrième et dernier volet s’intéresse aux mesures utilisées dans les taux de transfert et à la façon dont elles s’appliquent différemment aux réseaux et aux supports de stockage.
Au moment où nous écrivions ces lignes, début 2017, Adélaïde, en Australie, poursuivait ses plans de déploiement d’un réseau à large bande de 10 Gb/s. La vitesse visée est impressionnante, et bien qu’elle semble similaire au débit de 10 Go/s du SSD Seagate du monde réel dans notre hypothétique robot cinéphile, ils ne sont définitivement pas les mêmes. Les deux exemples parlent de taux de transfert de données, ils sont donc similaires, mais ils sont aussi très différents. Cette dernière partie de ce blog en quatre parties montrera non seulement les similitudes et les différences entre les deux, mais aussi pourquoi différentes unités sont utilisées pour les mesurer en premier lieu.
Tout sauf l’évier de cuisine
Avant de nous plonger dans les rouages du transfert de données en ce qui concerne le stockage et les réseaux, regardons comment l’eau coule dans votre cuisine. Votre robinet d’eau peut être évalué à, disons, 2 g/m. Cela signifie qu’il a été conçu pour que l’eau passe par sa buse à un débit théorique maximal d’environ 2 gallons par minute. Cependant, il se peut que vous n’obteniez pas ce débit, car l’écoulement de l’eau à un moment donné peut être compromis par des facteurs tels que l’accumulation de minéraux dans la tête de votre robinet, une faible pression d’eau globale dans votre appartement ou des tuyaux bouchés. Un plombier qui diagnostique votre problème pourrait dire que votre eau s’écoule du robinet plutôt à 1 g/m.
Alors, comment cela se rapporte-t-il aux données ?
Les débits sont toujours mesurés comme une certaine quantité sur une certaine période de temps. Dans le cas des données, ces débits sont exprimés sous forme de bande passante ou de débit, qui mesurent tous deux la quantité d’informations pouvant être déplacées pendant une période donnée. Bien que ces deux termes soient souvent utilisés de manière interchangeable, ils sont en fait assez différents.
La bande passante décrit le taux maximal théorique de transfert de données qu’un lien est conçu pour gérer, comme le débit d’eau de votre robinet. Mais tout comme des facteurs externes tels que les chasses d’eau ou les fuites dans vos tuyaux peuvent empêcher votre robinet de délivrer de l’eau à son débit maximal, dans le monde des réseaux de données et des ordinateurs, des facteurs tels que la surcharge du protocole, la latence du réseau et la fiabilité, entre autres, conspirent souvent pour empêcher votre connexion de données d’atteindre son potentiel. Un autre terme, le débit, est utilisé pour décrire la quantité réelle de données qui se déplacent à travers le lien, comme la mesure du débit d’eau que votre plombier a obtenu dans son test.
La taille compte
La bande passante et le débit sont généralement mesurés sous une certaine forme de bits par seconde (b/s) ou d’octets par seconde (B/s)-Mb/s, MB/s, Gb/s, GB/s, etc. Notez la différence de casse : le petit b correspond aux bits, le grand B aux octets. Vous rencontrez souvent des vitesses de transfert de données exprimées dans les deux unités de mesure.
Les métriques utilisées dans les exemples du réseau Adelaide et du SSD Seagate décrivent des taux de transfert de données, mais l’un utilise des gigabits comme unité de mesure et l’autre des gigaoctets. Comme vous vous en souvenez peut-être dans la deuxième partie, un octet est aujourd’hui défini le plus souvent par 8 bits. Donc, généralement, pour convertir des bits en octets, vous divisez le nombre de bits par 8 ; pour convertir des octets en bits, vous multipliez le nombre d’octets par 8. Rappelez-vous, c’est une règle très générale, et nous examinerons plus tard une exception notable en ce qui concerne les taux de transfert de données.
Maintenant que vous savez comment convertir ces unités de mesure, examinons pourquoi elles sont mesurées différemment en premier lieu.
Une règle générale : Avec la mémoire et le stockage, les taux de transfert de données sont généralement exprimés en octets par seconde ; avec les réseaux et les interfaces, les taux de transfert de données sont généralement exprimés en bits par seconde.
Une idée fausse courante est que les entreprises dans les domaines liés au réseau ou à l’Internet utilisent les bits par seconde pour tromper les clients en leur faisant croire que les vitesses du réseau sont en fait beaucoup plus rapides qu’elles ne le sont réellement. Le raisonnement est le suivant : comme 8 Gb/s sonne beaucoup mieux que 1 GB/s, les clients penseront qu’ils bénéficient d’une vitesse de connexion plus rapide que ce qu’ils obtiennent réellement. Il ne s’agit toutefois pas d’un stratagème marketing. Si c’était le cas, les mêmes personnes qui pensent ainsi devraient alors se demander pourquoi les groupes de marketing des sociétés de mémoire et de stockage ne convertissent pas tout en bits, eux aussi. Les raisons de ces différences sont élémentaires, comme nous le verrons plus loin.
Octets pour les ordinateurs
Lorsqu’on parle de transferts de données entre un ordinateur et sa mémoire ou son stockage, les transferts sont le plus souvent exprimés en termes d’octets par seconde. Nous avons vu dans la partie 2 que l’octet est l’unité de données adressable la plus fondamentale pour la mémoire des ordinateurs et les dispositifs de stockage, de sorte que les ordinateurs s’intéressent principalement aux octets. Et comme nous l’avons vu dans la partie 3, lorsque les ordinateurs accèdent aux données en mémoire, ils le font au niveau de l’octet. Ainsi, si vous demandez à votre ordinateur d’identifier ou de manipuler un bit individuel, il doit d’abord accéder à l’octet auquel il appartient, puis il doit effectuer une opération supplémentaire pour isoler ce bit. De plus, comme les fichiers sont également mesurés par le nombre d’octets qu’ils contiennent, l’expression des vitesses de transfert en octets par seconde est utile pour déterminer le temps nécessaire à la copie d’un fichier d’une partie de votre système informatique à une autre. C’est ce qu’on appelle le plus souvent le débit.
La norme fonctionne bien pour les transferts de fichiers au sein d’un même système car un ordinateur parle généralement le même langage que tous ses périphériques. Mais un ensemble différent de préoccupations se présente lorsqu’on examine comment les données sont transférées entre des systèmes informatiques tout à fait différents ou à travers un réseau.
Bits pour les réseaux
Avec les connexions réseau – ou toute situation où deux ordinateurs ou plus sont reliés par des fils ou par l’air pour partager des données – les taux de transfert sont traditionnellement décrits en termes de bits par seconde. C’est parce que, contrairement aux systèmes informatiques eux-mêmes, les données qui se déplacent dans un réseau sont transférées en série, ou un bit à la fois – et non pas en morceaux de bits, ou un ou plusieurs octets à la fois.
Comme nous l’avons également vu dans la partie 2, historiquement, la taille d’un octet dépendait de la plate-forme matérielle. Certains ordinateurs avaient besoin de 4 bits pour faire leur octet, d’autres de 6 bits, et d’autres encore de 8 bits. Ainsi, lorsque des données étaient transférées d’un ordinateur à un autre, il n’était pas pratique de mesurer les transferts en termes de nombre d’octets déplacés, car l’octet de l’ordinateur émetteur pouvait raisonnablement avoir une taille différente de celle de l’octet de l’ordinateur récepteur !
Même après que 8 bits soient devenus la définition standard de facto de l’octet, il était toujours peu logique d’exprimer les transferts de données en termes d’octets. Les ingénieurs réseau mesurent les taux de transfert en bits par seconde parce que cela reflète le plus précisément la capacité réelle d’une liaison réseau à transférer toutes les données nécessaires, et pas seulement les données du ou des fichiers. Dans la plupart des communications réseau, tous les bits envoyés sur la liaison ne font pas réellement partie des fichiers transférés. Le réseau utilise souvent des systèmes de codage, ajoutant des bits supplémentaires pour chaque octet envoyé. Ces bits supplémentaires contiennent des informations dont le réseau a besoin pour s’assurer que les données sont envoyées au bon destinataire et pour confirmer que les données ont été envoyées sans erreur et reçues sans incident, entre autres.
Un schéma d’encodage courant est appelé 8b/10b, qui doit son nom au fait que pour chaque 8 bits envoyés sur une liaison, 2 bits sont ajoutés comme métadonnées – en d’autres termes, 10 bits de données sont envoyés pour chaque octet de 8 bits. Avec ce système de codage, le simple transfert fiable de données sur un réseau entraîne une surcharge de 20 %. Bien qu’en théorie, le réseau à large bande de 10 Gb/s auquel aspire Adélaïde, mesuré en octets, devrait être d’environ 1,25 GB/s (10 Gb divisé par 8), si l’on tient compte des 20 % de surcharge, il serait plus proche de 1 GB/s. D’autres schémas gagnent en importance, notamment celui adopté par la norme PCIe 3.0, qui utilise un rapport 128b/130b. Vous l’aurez deviné, cela signifie que 2 bits de surcharge sont ajoutés pour chaque 128 bits de données. Le nouveau schéma est plus efficace que la norme 8b/10b, car la mise à niveau entraîne une pénalité de surcharge de seulement 1,5 % environ, contre 20 % auparavant.
End of the Line
Comprendre les technologies et les terminologies qui les décrivent peut être très déroutant si vous ne faites pas attention. C’est notamment le cas lorsqu’il s’agit d’examiner les données en transit. Malheureusement, bien qu’un gigaoctet et un gigabit soient des unités très différentes pour mesurer des choses similaires mais différentes, dans le monde réel, les gens abrègent souvent 10 Go/s et 10 Gb/s de la même manière : par « 10 gigs ».
Espérons toutefois que maintenant, vous aurez une idée très claire que le robot qui proclame avoir regardé ses films Netflix à 10 gigs de débit dit quelque chose de complètement différent des Australiens qui se vanteront bientôt d’être sur un réseau de 10 gigs, mon pote.