Datavirta on informaatiosekvenssi, joka lähetetään kahden laitteen välillä. Datavirtoja on olemassa monentyyppisessä modernissa elektroniikassa, kuten tietokoneissa, televisioissa ja matkapuhelimissa. Tyypillinen datavirta koostuu monista pienistä paketeista tai pulsseista. Jokainen näistä paketeista tai pulsseista sisältää pienen määrän tietoa. Yhdistettynä ne muodostavat koko lähetetyn tiedon. Näiden signaalien lähettämisprosessia kutsutaan tiedonsiirtoksi.
Tiedonsiirrossa on monia eri näkökohtia, jotka vaikuttavat tietovirran luomiseen käytettyyn lopulliseen menetelmään. Yksi perusluokituksista on sarja- ja rinnakkaislähetys. Sarjalähetyksessä datavirta lähetetään kokonaisuudessaan yhtä kaapelia pitkin. Päätepisteessä tiedot kerätään ja kootaan uudelleen. Tällä menetelmällä on harvoin vaikeuksia, koska kaikkien pakettien tulee saapua siinä järjestyksessä kuin ne on lähetetty.
Rinnakkainen datavirta lähetetään useita polkuja pitkin samaan kohteeseen. Tätä käytetään tyypillisesti laajemmassa verkossa, jotta vältetään pullonkaulojen syntyminen, jos liikaa tietoa tulee yhdestä paikasta. Tällä menetelmällä on mahdollista, että tiedot saapuvat epäjärjestykseen laitteistohyppyjen ja siirtoetäisyyden erojen vuoksi. Tämä voi toisinaan aiheuttaa tietojen vioittumista, jos sekvenssit kootaan uudelleen epäkunnossa.
Tietoja voi olla joko asynkronisissa tai synkronisissa virroissa. Tyypillisessä asynkronisessa virrassa datapaketin alkuun ja loppuun lisätään erikoismerkki. Nämä erikoismerkit, joita kutsutaan aloitus- ja lopetusbiteiksi, kertovat vastaanottavalle tietokoneelle, milloin tietty tietokappale alkaa ja päättyy, ja auttavat tietojen uudelleenrakentamisessa sen saapumisen jälkeen.
Synkronisissa tietovirroissa ei ole aloitus- ja lopetusbittejä – ne perustuvat kellonaikaan. Kahden laitteen sisäiset kellot synkronoidaan, ja niiden välillä lähetetyt tiedot leimataan kellonajan kanssa. Tällä menetelmällä vastaanottava laite voi koota tiedot vain kronologisesti. Ongelmia voi ilmaantua tällä menetelmällä, kun molemmat tietokoneet eivät yllä synkronisuutta; paketit voidaan koota väärin tai mahdollisesti heittää kokonaan pois.
Tietovirtojen seuranta on tärkeää turvallisuussyistä. Kun data liikkuu verkon kautta, yksittäiset henkilöt voivat siepata paketit. Erikoisanalysaattoreiden avulla ihmiset voivat avata paketit ja etsiä tietoja, joita heidän ei pitäisi saada. Tietyt koodaustekniikat vaikeuttavat tätä joissakin tapauksissa, mutta suojaamaton tiedonsiirto on pidettävä mahdollisimman pienenä.