# Adatáteresztőképesség mérése

### A Wikipédiából, a szabad lexikonból.

Gyakran okoz nehézséget egy adatátviteli kapcsolat esetén a maximális adat áteresztőképességének meghatározása. Egy tipikus áteresztőképesség mérési módszer: "nagy" fájlok átviteli idejének mérése. Az áteresztőképesség azután a átviteléhez szükséges időnek a fájl hosszával való osztással megabit, kilobit vagy bit per szekundumban adódik.

Sajnos, az előzőek alapján számított eredmény gyakran kisebb, mint a várt érték, ami azt a érzést kelti, hogy az adott kapcsolat nem működik megfelelően. Tény, hogy egy átvitel során számos "overhead" jelentkezik, ezért az számított 'effektív' áteresztőképesség nem jellemző a valós helyzetre.

## [szerkesztés] Elnevezések

Az első dolog, amit ellenőrizni kell, a fájl hossza. Egy adatátviteli kapcsolat áteresztőképességét bit per szekundumban (bit/s), kilobit per szekundumban (kbit/s), megabit per szekundumban (Mbit/s) vagy Gigabit per szekundumban (Gbit/s) mérik. Ebben az értelemben, a kilo, mega és giga a szokásos, S.I. prefixumok, és 1,000-el (kilo), 1,000,000-val (mega), és 1,000,000,000-dal (giga) való szorzást jelentenek. A fájl hosszát azonban tipikusan byte-okban — kilobytokban, megabytokban, és gigabytokban adják meg. Itt egy byte nyolc bitet jelent. Ezen kívül, további zavart jelent, hogy egy kilobyte nem 1,000 byte, ahogyan várhatnánk. A számítástechnikai iparban a kilo prefixum 1,024-el (2 a 10. hatványon) való szorzást jelent, az 1,000 helyett. Hasonlóan, a mega 1,024 × 1,024-el való szorzást jelent, és a Giga 1,024 × 1,024 × 1,024-el való szorzás. A fentiek szerint tehát a 64 kilobyte hosszúságú fájl valójában 64 × 1024 byte, vagy 64 × 1024 × 8 bit.

A fenti elv alól általában kivétel a merevlemezek kapacitásána adata: a gyártók és a marketing anyagok a tizes alapú mértékegységekben adják meg a merevelemez kapacitásokat. Így például 60 gigabyte-os egység kapacitása 60,000,000,000 byte, a 64,424,509,440 byte helyett.

### [szerkesztés] Kibi, mebi, gibi, tebi, és pebi prefixumok

Az alap szócikk: Bináris prefixum

Kibi, mebi, gibi, tebi, pebi, és exbi érvényes bináris prefixumok 1998-óta, ekkor fogadta el az International Electrotechnical Commission (IEC), hogy megszüntesse a ellentmondást és a zavart a tizes alapú (decimális, tiz hatványainak használata) és a kettes alapú (bináris, 2 hatványainak használata) között.

Jelenleg a prefixumok, illetve szorzók, a kilo- (k vagy K), mega- (M), giga- (G), tera- (T), peta- (P), és exa- (E) használata nem egyértelmű. A legtöbb fizikai avgy azzal kapcsolatos tudományterületen, a mértékegységeknél a 10 hatványait használják. Ha viszont biteről, byte-okról van szó, akkor - többnyire - a 2 megfelelő hatványait használják. A követekező tábla a gyakran használt prefixumokat és azok jelentéseit mutatja.

Prefixum | Szimbólum(ok) | 10 hatvány | 2 hatvány
--- | --- | --- | ---
kilo- | k vagy K (1) | 10^3 | 2^10
mega- | M | 10^6 | 2^20
giga- | G | 10^9 | 2^30
tera- | T | 10^12 | 2^40
peta- | P | 10^15 | 2^50
exa- | E | 10^18 (2) | 2^60
zetta- | Z | 10^21 | 2^70
yotta- | Y | 10^24 | 2^80

(1) k = 10^3 és K = 2^10

(2) Nem használatos áteresztőképesség mérésénél

A 10 hatványokon alapuló szorzók és a 2 hatványokon alapuló szorzók többnyire, de nem minden esetben azonos prefixumokat használnak. Például, a a 10-es hatvány alapú kilo- (k) 1000-ret jelent, míg a 2-es hatvány alapú (K) 1024-et. Ha ez önmagában nem lenne elég zavaró, akkor még figyelembe kell venni, hogy ha az áteresztőképesség egy kilobit per szekundum (1 kbit/s), az elemzők általában 1000 bit per szekundumot (10^3 bit/s) értenek, viszont egy kilobyte-os (1 KB) tárolt adat alatt általában 1024 byte-ot (2^10 Byte) értenek. Ennek a meglévő kettőségnek a megszüntetését szolgálja (ahogyan néhány számítógép szakember hiszi) egy speciális prefixum rendszer bevezetése, amely minden esetben bináris mennyiségekre vonatkozik. A javasolt séma a következő:

Teljes technikai név | Javasolt prefixum | Javasolt szimbólum | Szorzó
--- | --- | --- | ---
kilobinary | kibi- | Ki | 2^10
megabinary | mebi- | Mi | 2^20
gigabinary | gibi- | Gi | 2^30
terabinary | tibi- | Ti | 2^40
petabinary | pebi- | Pi | 2^50
exabinary | exbi- | Ei | 2^60

A fenti prefixumrendszer használat esetében egyszerűen tudni lehet, hogy ha egy mérnök most decimális vagy bináris szorzókról beszél vagy ír. Pontosan tudni fogjuk, hogy egy kilobit per szekundum (1 kbit/s) az 1000 bit/s, és egy kibibyte (1 KiB) az 1024 byte-ot jelent, például.

## [szerkesztés] Zavarok és többértelműségek a prefixumok használatában

Az emberek többnyire az általánosan használt rövidítéseket használják. A file hosszak esetében, általában mindenki az mondja, hogy van egy '64 kilós' file (ez 64 kilobyte-ot jelent), vagy egy '100 megás' file (ez 100 megabyte-ot jelents). Ha most sávszélességről beszélünk, akkor az emberek nagy többsége átváltás nélkül használja ezeket a kifejezéseket az áteresztőképességgel, a sávszélességgel és a sebességgel kapcsolatosan, és vonatkoztatja ezeket az eszközökre, hogy ez egy '64 kilós' áramkör, vagy egy '2 megás' áramkör — viszont a jelentésük 64 kbit/s vagy 2 Mbit/s. (lásd még eszközök sávszélessége alatt is.) Egy '64 kilós' eszköz ezért nem fog átvinni egy '64 kilós' file-t egy másodperc alatt. Sajnos, nem magától értetődő azok számára, akik nem járatosak a telekommunikációban és a számítástechnikában, hogy gyakran találkozni fognak ilyen érthetetlen dolgokkal. Tény viszont, hogy egy 64 kilós file legalább 64 × 1,024 × 8 bit hosszú lesz, és egy 64 kilós áramkör 64 × 1,000 bitet visz át másodpercenként (bit/s), így a 64 kilós file átviteli idejének hossza a 64 kilós eszközön legalább (64 × 1,024 × 8)/(64 × 1,000) másodperc lesz, azaz az átvitelhez az áramkörnek legalább 8,192 másodpercre lesz szüksége...

## [szerkesztés] Adatkompresszió

Néhány berendezés adattömörítést végez, ha az adatok átviteléről van szó. Ez a lehetőség főleg analóg modemekre és néhány népszerű operációs rendszerre jellemző. Ha egy 64 kilós file össze lesz nyomva valamilyen adattömörítő eljárással, akkor az átviteli ideje értelemszerűen lecsökken. Ez a dolog a felhasználó számára láthatatlanul történik, így egy jó tömörítő a vártnál lényegesen jobb átviteli időket produkálhat. A korrekt méréshez az átviteli időbe bele kell számolni a tömörítés idejét is, de még így is sokkal jobb átviteli időket kapunk. Mivel ezek a belső tömörítési eljárások nem, vagy csak nagyon nehezen kapcsolhatók ki, a korrekt méréseket célszerű vagy olyan file-al végezni, ami nem tömöríthető, vagy már tömörített (.zip) file-t kell küldeni. Így nagyjából korrekt eredményhez juthatunk.

Tételezzük fel, hogy a file nem lesz tömörítve, akkor a 64 kilobyte-os file egy 64 kilobit/s-os kommunikációs kapcsolaton való átviteléhez legalább 8,192 másodpercre lesz szükség, azonban ezt az értéket, amit legkisebb átviteli időnek is tekinthetünk, a gyakorlatban meg sem fogjuk tudni közelíteni. Ennek az az oka, hogy az átvitel alatt jrulékos adminisztrácós és egyéb tevékenységek is végrehajtódnak, amelyeket összefoglalóan overheadnek neveznek. Ezek a tevékenységek is többnyire láthatatlanok a felhasználó számára.

## [szerkesztés] Overhead és adatformátumok

Egy általánosan használt kommunikációs kapcsolat az aszinron start-stop, vagy ismertebb nevén az "aszinron" soros vonal. Ha külső modemet használunk, csaknem biztosan az aszinkron soros vonalra csatlakozik, így a kapcsolat ezen az aszinron vonalon keresztül fog lebonyolódni. A soros vonal nagy előnye az egyszerűsége — mindössze három vezeték szükséges hozzá: adás, vétel és egy közös föld vezeték. Az RS232 szerinti interfészen a semleges állapotot egy állandó negatív feszültség biztosítja. A 'nulla' bitet egy, a közös földhöz képest pozitív feszültség reprezentálja, az 'egy' bitet pedig egy negatív feszültség reprezentálja a közös földhöz képest, így tulajdonképen megkülönböztethetetlen a semleges állapottól. Ez azt jelenti, hogy valamilyen módon meg kell tudni különböztetni, hol kezdődik az 'egy' bit, különbséget kell tenni az adatbit és a semleges állapot között. Erre az előzetes meghatározásra azért van szükség, hogy egyértelműen meghatározható legyen, mikor kezdődik egy byte, - a start bitnél, ami mindig 'nulla' értékű - és meghatározható legyen, mikor van vége a byte-nak -a stop bitnél, ami mindig 'egy' értékű (mivel negatív feszültség reprezentálja).

Még néhány dolgot azonban tisztázni kell — a bitátvitel sebességét, azaz az időegység alatt átvitt bitek számát, ami a 8 információs bit, a start és stopbitek, valamint a paritás bit. A dolgot némileg bonyolítja, hogy bizonyos rendszerek 1, más rendszerek (ezek a gyakoribbak) 2 stop bitet használnak. Így a következő jelölés 9600-8-E-2 azt jelenti, hogy 9,600 bit per szekundumos sebesség, 8 bites karakterekkel, páros paritás (E az angol even, páros rövidítése), és 2 stop bit.

Egy tipikus aszinkron soros kapcsolat beállítása legyen 9600-8-N-1 (9,600 bit/s, 8 bites karakter, nincs paritás, és 1 stop bit) - ez azt jelenti, hogy 10 bitet kell átvinni egy 8 bites karakter elküldése esetén (egy start bit, 8 információs bit, nincs paritás bit, és egy stop bit). Ez 25%-os overhead, így a 9,600 bit/s-os soros átviteli vonal sebessége nem 9600/8 byte per szekundum (1200 byte/s) lesz, hanem csak 9600/10 bytes per szekundum (960 byte/s), ami jelentősen lassabb, mint amit vártunk.

De a dolgok még rosszabbak is lehetnek! Ha szükségesnek tartjuk a paritás ellenőrzést, és két stop bitet használ az átviteli eljárás, akkor az overhead-ek miatt a 8 információs bit átviteléhez még 4 újabb bit járul, (egy start bit, one paritás bit és két stop bit) - ez pedig már 50%-os overhead! Ebben az esetben a 9600 bit/s-os kapcsolat csak 9600/12 byte/s (800 byte/s)-es lesz. Az aszinkron soros interfészek általában a 230.4 kbit/s sbességhatárig használhatóak. Ha nem használunk paritás ellenőrzést, és egy stop bittel folyik az átvitel, akkor a tényleges átviteli ráta 23.04 kbyte/s.

Az aszinkron soros kapcsolat előnye az egyszerűsége. Egyik hátránya viszont az alacsony effektív átviteli sebesség. Ez a hátrány a szinkron interfész használatával megszüntethető. Ennél az intefész típusnál az órajeleket is átvisszük egy különálló vezetéken, és a bitek átvitele mindig szinkronban van az órajelekkel — az interfészen egy egyedülálló byte átviteléhez nem szükségesek start és stop bitek — a mechanizmus önmaga biztosítja a küldött és vett bitek szinkronitását, ezért az adatokat úgynevezett keretekbe tördelik, a kerethatárokat pedig ismert határolók jelölik, így több karater egy csopotban vihető át, a szinkronitás (automatikus) fenntartása mellett. Három ilyen általánosan elfogadott kódolási sémát neveznek keretező eljárásnak — a HDLC-t, a PPP-t, és az Ethernet-et.

### [szerkesztés] HDLC

A HDLC, használata esetén, nem minden egyes byte-ot lát el start, opcionálisan paritás és stop bitekkel, hanem a karaktereket összegyűjti egy-egy keretbe. A keret elejét és végét egy 'flag' (zászló) jelzi, és a hibaellenőrzésre a teljes keret rendelkezik egy ellenőrző összeggel. Ha minden keretnek van egy 32 bites címrésze, egy maximum 16 bites vezérlési része, és az ellenőrző összeg nem lehet nagyobb, mint 16 bit, akkor ez azt jelenti, hogy keretenként 64 bites overhead-del kell számolni. Ha egy egyedülálló byte-ot kell átvinni, akkor persze az overhead elfogadhatatlanul magas. Viszont, ha legalább 24 byte-ot összegyűjtünk egy keretbe, akkor már hatékonyabb, mint az aszinkron soros átvitel. A keretek hossza változó lehet, attól függően, mennyi a teljes átviendő byte mennyiség, viszont a változó méretek miatt a HDLC overhead-je nem állandó.

### [szerkesztés] PPP

A "pont-pont protokol" (PPP) nagyon hasonló a HDLC protokolhoz. A PPP-t az RFC 1570, RFC 1661 és RFC 1662 dokumentumok határozzák meg.

### [szerkesztés] Ethernet

Ethernet a "helyi hálózatok" (LAN) technológiája, amelyik szintén keretező. Két rendszer között a keretek útja elektronikusan meghatározott, ami lehet a HDLC-n vagy a PPP-n is megvalósított, amit nagykiterjedésú hálózatoknál használnak. A megvalósítás módja nem befolyásolja az áteresztőképesség számítási módját. Az Ethernet egy megosztottan használt medium, így nem garantálható, hogy egyszerre csak két rendszer közötti kapcsolat bonyolódik le rajta, azaz nincs kizárólagos használati joguk a csatornára. Ha számos rendszer kisérel meg egyidejű átvitelt, akkor a párok közötti áteresztőképesség lényesen alacsonyab lesz, mint az elérhető nominális sávszélesség.

### [szerkesztés] Egyéb alacsony szintű protokolok

Nem csak a dedikált pont-pont kapcsolatok lehetnek a rendszerek között. A Frame Relay, az ATM, és az MPLS alapú szolgáltatások szintén használhatók. Hogy számítni vagy becsülni tudjuk az adat áteresztő képességüket, ismerni kell a keret/cella/csomag formátumok és technológiák megvalósításának részleteit.

#### [szerkesztés] Frame Relay

A Frame Relay egy módosított HDLC formátumú keretekben továbbítja az adatokat.

#### [szerkesztés] ATM

Az "asszinkron továbbítási mód" (ATM) teljesen eltérő módszert használ az adatok továbbításához. Változó hosszúságú keretek vagy csomagok helyett állandó méretű cellák szállítják az adatokat. Minden cella 53 byte hosszú, az első 5 byte a fejrész, a következő 48 byte hasznosítható adatok átvitelére. Általában egy adathálózatban a cellákban átvinni kívánt adatok hosszabbak, mint 48 byte, így a forrásadatot valahogyan szét kell tördelni ilyen méretre. Ez a folyamat az átvitt adatok szerint változik, így az ATM saját ATM Adaptation Layers használ. A folyamatot a legtöbb adatra az ATM Adaptation Layer No. 5-nek nevezett réteg vagy AAL5 definiálja.

Egy ATM kapcsolat áteresztőképességének becsléséhez ismerni kell, melyik ATM adaptációs (adaptation) réteg van használatban az adatátvitel folyamán.

#### [szerkesztés] MPLS

A Multiprotocol Label Switching (MPLS) hozzátesz egy szabványos fejlécet, amit 'cimke' néven ismert egy létező adatcsomaghoz. Az MPLS-t használó rendszerek között lehet 'natív' kapcsolat, ekkor nincsen átviteli (transzport) protokoll, vagy az MPLS cimkézett csomagjait a frame relay vagy HDLC csomagok továbbítják. A pontos áteresztőképesség számításhoz ismerni kell, melyik konfigurációban dolgozik a rendszer, mert a cimkék hozzáadása csak növeli a overhead-et, ha pedig kihasználják az MPLS egy másik tulajdonságát, ami megengedi több cimke használatát, az overhead csk tovább növekszik, mmíg a 'natív' használatnál nincs overhead növelő tényező.

## [szerkesztés] Magas szintű protokolok

Néhány rendszer a fájl- és adatátvitelt úgy oldja meg, hogy az adatokat bemásolja a HDLC vagy PPP keretek 'adat' mezőibe — másik prokoll rétegek a HDLC és PPP keretek adatbezőin belül is különböző formátumokat használnak. A legismertebb ilyen protokoll az Internet Protocol (IP), amit az RFC 791 definiál. A protokoll overhead-je "rárakódik" az egyéb overhead-ekre.

Néhány rendszer egyszerűen bemásolja az adatokat az IP csomagokba, de használnak egy másik protokollt a két rendszer közötti kapcsolat menedzselésére — ez a TCP (Transmission Control Protocol), amit az RFC 1812 határoz meg. Járulékos overhead-del jár ez a megoldás is.

Végül, az utolsó protoll réteg menedzseli a futó adat átviteli folyamatot. A legismertebb protokoll ezen a szinten a "file transfer protocol" (FTP), amit az RFC 959 határoz meg.

A lap eredeti címe "http://hu.wikipedia.org../../../a/d/a/Adat%C3%A1tereszt%C5%91k%C3%A9pess%C3%A9g_m%C3%A9r%C3%A9se.html"

Kategóriák: Adatátvitel | Számítógép-hálózatok

##### Views

- Szócikk
- Vitalap
- Aktuális változat

##### Keresés