Im ersten Teil dieses vierteiligen Blogbeitrags haben wir einen hypothetischen Roboter beschrieben, der Videos mit 10 GB/s ansehen kann. Um vollständig zu verstehen, was diese 10 GB/s bedeuten, haben wir dem Beitrag drei weitere Teile hinzugefügt. Im zweiten Teil wurden Bits und Bytes, die Grundeinheiten von Daten, sowie einige der Vielfachen dieser Einheiten definiert. Im dritten Teil wurden verschiedene Definitionen von Mehrfach-Präfixen wie Mega- und Giga- eingeführt. Dieser vierte und letzte Teil befasst sich mit den Maßeinheiten für Übertragungsraten und deren unterschiedlicher Anwendung auf Netzwerke und Speichermedien.
Zum Zeitpunkt der Erstellung dieses Artikels Anfang 2017 verfolgte die australische Stadt Adelaide den Plan, ein 10-Gb/s-Breitbandnetz einzurichten. Die angestrebte Geschwindigkeit ist beeindruckend, und obwohl sie ähnlich klingt wie die 10 GB/s-Durchsatzrate der realen Seagate-SSD in unserem hypothetischen filmbegeisterten Roboter, sind sie definitiv nicht dasselbe. In beiden Beispielen ist von Datenübertragungsraten die Rede, sie sind sich also ähnlich, aber sie sind auch sehr unterschiedlich. In diesem letzten Teil des vierteiligen Blogs werden nicht nur die Ähnlichkeiten und Unterschiede zwischen den beiden aufgezeigt, sondern auch, warum für ihre Messung unterschiedliche Einheiten verwendet werden.
Alles außer der Küchenspüle
Bevor wir uns mit den Grundlagen der Datenübertragung im Zusammenhang mit Speichern und Netzwerken befassen, schauen wir uns an, wie Wasser in Ihrer Küche fließt. Ihr Wasserhahn hat vielleicht einen Wert von 2 g/m. Das bedeutet, dass der Wasserhahn so ausgelegt ist, dass pro Minute theoretisch maximal 2 Gallonen Wasser durch die Düse fließen. Es kann jedoch sein, dass diese Menge nicht erreicht wird, da der Wasserfluss zu jedem Zeitpunkt durch Faktoren wie Mineralablagerungen im Wasserhahn, einen niedrigen Wasserdruck in der Wohnung oder verstopfte Rohre beeinträchtigt werden kann. Ein Klempner, der Ihr Problem diagnostiziert, könnte sagen, dass Ihr Wasser eher mit 1 g/m aus dem Wasserhahn fließt.
Was hat das mit Daten zu tun?
Durchflussraten werden immer als eine Menge über einen bestimmten Zeitraum gemessen. Bei Daten werden diese Flussraten entweder als Bandbreite oder als Durchsatz ausgedrückt, die beide die Informationsmenge messen, die in einem bestimmten Zeitraum bewegt werden kann. Obwohl diese beiden Begriffe oft synonym verwendet werden, sind sie doch recht unterschiedlich.
Die Bandbreite beschreibt die theoretische maximale Datenübertragungsrate, für die eine Verbindung ausgelegt ist, ähnlich wie der Wasserdurchfluss Ihres Wasserhahns. Aber so wie äußere Faktoren wie Toilettenspülungen oder undichte Rohre den Wasserhahn daran hindern können, seine maximale Leistung zu erbringen, sind es in der Welt der Datennetze und Computer oft Faktoren wie Protokoll-Overhead, Netzwerklatenz und Zuverlässigkeit, die verhindern, dass die Datenverbindung ihr Potenzial voll ausschöpft. Ein anderer Begriff, Durchsatz, wird verwendet, um die tatsächliche Datenmenge zu beschreiben, die durch die Verbindung fließt, so wie die Wasserdurchflussmessung, die Ihr Klempner bei seinem Test ermittelt hat.
Die Größe spielt eine Rolle
Beide, Bandbreite und Durchsatz, werden normalerweise entweder als Bits pro Sekunde (b/s) oder Bytes pro Sekunde (B/s) gemessen – MB/s, MB/s, Gb/s, GB/s usw. Beachten Sie den Unterschied in der Schreibweise: Das kleine b steht für Bits, das große B für Bytes. Man trifft häufig auf Datenübertragungsgeschwindigkeiten, die in beiden Maßeinheiten ausgedrückt werden.
Die in den Beispielen des Adelaide-Netzwerks und der Seagate SSD verwendeten Metriken beschreiben Datenübertragungsraten, aber das eine verwendet Gigabit als Maßeinheit und das andere Gigabyte. Wie Sie sich vielleicht aus Teil 2 erinnern, ist ein Byte heutzutage meist als 8 Bit definiert. Um also von Bits in Bytes umzurechnen, dividiert man normalerweise die Anzahl der Bits durch 8; um von Bytes in Bits umzurechnen, multipliziert man die Anzahl der Bytes mit 8. Denken Sie daran, dass dies eine sehr allgemeine Regel ist, und wir werden uns später eine bemerkenswerte Ausnahme ansehen, wenn es um Datenübertragungsraten geht.
Nun, da Sie wissen, wie man diese Maßeinheiten umrechnet, lassen Sie uns einen Blick darauf werfen, warum sie überhaupt unterschiedlich gemessen werden.
Eine allgemeine Faustregel: Bei Arbeitsspeichern werden die Datenübertragungsraten in der Regel in Bytes pro Sekunde angegeben; bei Netzwerken und Schnittstellen werden die Datenübertragungsraten in der Regel in Bits pro Sekunde angegeben.
Ein weit verbreiteter Irrtum ist, dass die Unternehmen in netzwerk- oder internetbezogenen Bereichen Bits pro Sekunde verwenden, um den Kunden vorzugaukeln, dass die Netzwerkgeschwindigkeiten in Wirklichkeit viel schneller sind als sie sind. Da 8 Gb/s viel besser klingt als 1 GB/s, sollen die Kunden glauben, dass sie eine schnellere Verbindung erhalten, als es in Wirklichkeit der Fall ist. Es handelt sich jedoch nicht um einen Marketing-Trick. Wäre dies der Fall, müssten sich dieselben Leute, die so denken, fragen, warum die Marketingabteilungen der Speicherhersteller nicht auch alles in Bits umrechnen. Die Gründe für die Unterschiede sind elementar, wie wir weiter unten sehen werden.
Bytes für Computer
Wenn es um Datenübertragungen zwischen einem Computer und seinem Speicher geht, werden die Übertragungen meist in Bytes pro Sekunde ausgedrückt. In Teil 2 haben wir gesehen, dass das Byte die grundlegendste adressierbare Dateneinheit für Computerspeicher und Speichergeräte ist, so dass Computer in erster Linie an Bytes interessiert sind. Und wie wir in Teil 3 gesehen haben, greifen Computer beim Zugriff auf Daten im Speicher auf der Byte-Ebene zu. Wenn Sie Ihren Computer also anweisen, ein einzelnes Bit zu identifizieren oder zu manipulieren, muss er zunächst auf das Byte zugreifen, zu dem es gehört, und dann eine zusätzliche Operation durchführen, um dieses Bit zu isolieren. Da Dateien auch daran gemessen werden, wie viele Bytes sie enthalten, ist die Angabe der Übertragungsgeschwindigkeit in Bytes pro Sekunde nützlich, um herauszufinden, wie lange es voraussichtlich dauern wird, eine Datei von einem Teil des Computersystems in einen anderen zu kopieren. Dies wird meist als Durchsatz ausgedrückt.
Der Standard eignet sich gut für Dateiübertragungen innerhalb eines einzelnen Systems, da ein Computer im Allgemeinen die gleiche Sprache wie alle seine Peripheriegeräte spricht. Anders verhält es sich jedoch, wenn es darum geht, wie Daten zwischen völlig unterschiedlichen Computersystemen oder über ein Netzwerk übertragen werden.
Bits für Netzwerke
Bei Netzwerkverbindungen – oder in jeder Situation, in der zwei oder mehr Computer über Kabel oder durch die Luft miteinander verbunden sind, um Daten auszutauschen – werden die Übertragungsraten traditionell in Bits pro Sekunde beschrieben. Das liegt daran, dass im Gegensatz zu Computersystemen die Daten in einem Netzwerk seriell oder Bit für Bit übertragen werden und nicht in Bit-Blöcken oder einem oder mehreren Bytes auf einmal.
Wie wir in Teil 2 gesehen haben, war die Größe eines Bytes in der Vergangenheit von der Hardware-Plattform abhängig. Manche Computer benötigten 4 Bits für ein Byte, andere 6 Bits und wieder andere 8 Bits. Wenn also Daten von einem Computer zu einem anderen übertragen wurden, war es nicht sinnvoll, die Übertragungen anhand der Anzahl der übertragenen Bytes zu messen, da das Byte des sendenden Computers eine andere Größe haben konnte als das Byte des empfangenden Computers!
Auch nachdem 8 Bits zur De-facto-Standarddefinition des Bytes wurden, machte es wenig Sinn, Datenübertragungen in Bytes auszudrücken. Netzwerkingenieure messen die Übertragungsraten in Bits pro Sekunde, weil dies am genauesten die tatsächliche Fähigkeit einer Netzwerkverbindung widerspiegelt, alle erforderlichen Daten und nicht nur die Daten in der/den Datei(en) zu übertragen. Bei den meisten Netzwerkkommunikationen sind nicht alle Bits, die über die Verbindung gesendet werden, tatsächlich Teil der übertragenen Dateien. Das Netzwerk verwendet oft Kodierungsschemata, bei denen für jedes gesendete Byte zusätzliche Bits angehängt werden. Diese zusätzlichen Bits enthalten Informationen, die das Netz benötigt, um sicherzustellen, dass die Daten an den richtigen Empfänger gesendet werden und um zu bestätigen, dass die Daten fehlerfrei gesendet und ohne Zwischenfälle empfangen wurden.
Ein gängiges Kodierungsschema heißt 8b/10b, das seinen Namen daher hat, dass für jede 8 Bits, die über eine Verbindung gesendet werden, 2 Bits als Metadaten angehängt werden – mit anderen Worten, für jedes 8-Bit-Byte werden 10 Bits an Daten gesendet. Mit diesem Kodierungsschema entsteht allein bei der zuverlässigen Übertragung von Daten über ein Netzwerk ein Overhead von 20 Prozent. Obwohl das von Adelaide angestrebte Breitbandnetz von 10 Gb/s theoretisch, gemessen in Bytes, etwa 1,25 GB/s (10 Gb geteilt durch 8) betragen sollte, würde es unter Berücksichtigung des 20-prozentigen Overheads eher 1 GB/s entsprechen. Andere Schemata gewinnen zunehmend an Bedeutung, vor allem das vom PCIe 3.0-Standard übernommene, das 128b/130b verwendet. Sie haben es erraten: Das bedeutet, dass für jede 128-Bit-Datenmenge 2 Bit Overhead hinzugefügt werden. Das neuere Schema ist effizienter als der 8b/10b-Standard, da das Upgrade zu einem Overhead-Malus von nur etwa 1,5 Prozent führt, im Vergleich zu den früheren 20 Prozent.
End of the Line
Das Verständnis von Technologien und den sie beschreibenden Terminologien kann sehr verwirrend sein, wenn man nicht aufpasst. Das gilt besonders für die Datenübertragung. Obwohl Gigabyte und Gigabit sehr unterschiedliche Einheiten für die Messung ähnlicher, aber unterschiedlicher Dinge sind, werden 10 GB/s und 10 Gb/s in der realen Welt leider oft auf die gleiche Weise abgekürzt: als „10 Gigs“.
Hoffentlich haben Sie jetzt eine klare Vorstellung davon, dass der Roboter, der verkündet, dass er seine Netflix-Filme mit einem Durchsatz von 10 Gigs angesehen hat, etwas völlig anderes sagt als die Aussies, die bald damit prahlen werden, dass sie ein 10-Gig-Netz haben.