|
|
JOHDANTO
|
|
|
Lähetettäessä dataa kahden päätelaitteen välillä ei
ole harvinaista, että lähetetty data vääristyy jollain tavalla.
Vääristymistodennäköisyys lisääntyy kun etäisyydet päätelaitteiden välillä
kasvavat tai jos käytetään kohinaisia yhteysmedioita, kuten
lankapuhelinverkkoa. Datan vääristyminen tarkoittaa siis, että signaali
jonka merkitys on 0 vääristyy siten, että se vastaanottopäässä tulkitaan
1:ksi ja päinvastoin. Tämän vuoksi dataa siirrettäessä onkin tavanomaista
yrittää tunnistaa virheitä ja jos niitä ilmenee pyrkiä myös korjaamaan ne.
Jotta virheiden tunnistamiseen ja korjaamiseen ei
kuluisi kaikkia resursseja onkin syytä miettiä miten virheiden syntyä
voitaisiin mahdollisesti estää tai edes vähentää. Luonnollisesti pitää
tilanteen mukaan (eli sen mukaan, kuinka kallisarvoista tietoa lähetetään)
käyttää mahdollisimman hyviä yhteyksiä koneiden välillä. Suuri merkitys
virheiden esiintymiseen on myös käytettävällä protokollalla. Tästä syystä
onkin valittava mahdollisimman luotettava protokolla. Tiedonsiirrossa on
myös hyvä olla ahnehtimatta liikaa eli asettaa pakettien koko sopivaksi
(isojen pakettien lähettäminen lisää virheiden riskiä).
Virheiden havaitsemiseen on tietenkin lukuisia eri
menetelmiä, mutta yleensä ne määräytyvät tiedonsiirtotavan perusteella.
Esimerkiksi
asynkroonisessa tiedonsiirrossa jokaista merkkiä käsitellään erikseen ja
tällöin yleensä jokaisen merkin perään lisätään yksi bitti. Tämä bitti
kertoo merkin parillisuuden ja sitä kutsutaankin pariteettibitiksi. Jos
taas käytämme synkronista tiedonsiirtoa, etsimme siirtovirheitä
kokonaisesta kehyksestä. Koska tiedonsiirtokehysten koko on yleensä aika
suuri, myös virheiden syntymisen mahdollisuus suurenee. Jälleen on useita
tapoja virheiden havaitsemiseen, mutta yleisesti kehykseen liitetään
virhetarkistusbittejä pohjautuen kehyksen dataan. Kun kehys saapuu
vastaanottajalle tämä taas laskee tarkistusbitit kehyksen datasta ja
mikäli nämä vastaavat lähettäjän ilmoittamia tarkistusbittejä voidaan
olettaa, että virheitä ei tapahtunut.
Syntyneitä virheitä voidaan korjata myöskin monella tavalla.
Mainittakoon tässä alustavasti datan koodaus ja uudelleen lähetys.
Onko virheitä sitten aina pakko tunnistaa ja korjata? Ei
välttämättä.
Esimerkiksi jos kaksi konetta on yhteydessä vain kahden ihmisen välistä
rupattelua varten, niin vaikka virheellisiä merkkejä olisi jopa 10% toinen
pystyisi ymmärtämään toisen sanoman. Toisaalta jos kyseessä olisi
sähköposti ja sen osoitekenttään tulisi virheellisiä merkkejä viesti ei
saapuisikaan perille. Virheettömyyttä yleensä tarvitaan dataliikenteessä
kun siirretään suuria tiedostoja ja/tai tiedostojen sisältämä data on
arvokasta. Näitä palveluja ovat esimerkiksi internetissä olevat
pankkipalvelut ja kaupankäynti. Tavallista internetin käyttöä pienet
virhemäärät eivät vielä haittaa, koska tieto lähetetään pienissä
paketeissa ja niiden uudelleenlähetys on nopeaa. Jos halutaan kuunnella
reaaliaikaisesti musiikkia tietoverkon kautta syntyvät virheet aiheuttavat
musiikkivirran katkeilua ja napsahtelua. Riippuen siis minkälaista
tietovirtaa kahden päätelaitteen välillä lähetetään voidaan määritellä
kuinka kalliiksi virheet linjalla tulevat.
|
|
Lähtetiedot
ja linkit
|
|
[1] HTML
Primer - Tips for making a web-page
[2] Fred Halsall, Data communications, computer networks and
open systems, 4th ed.
[3] William Stallings, Data and computer communications
(international edition), 5th ed., Prentice-Hall, 1997
[4]
Overview of Forward Error Correction
[5]
Methods of Error Detection and Error Correction
[6]
Cyclic Redundancy Check
|
|
Tekijät ja työnjako
| |
Marko Altonen
- HTML, Johdanto
Paavo
Markkola - Virheiden Korjaus
Ukri
Niemimuukko - Virheiden Havaitseminen
|
|