|  | 
        |  |  | 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
 
 |  |