Dupleks

Simpleks

Süsteemid, mis ei vaja kahepoolset suhtlust, kasutavad selle asemel simplekssidesüsteemi. Sellisteks süsteemideks on näiteks audio/video edastussüsteemid telejaamades, kus ühel seadmel on ainult saatja roll ja teisel seadmel ainult vastuvõtja roll. Samuti kasutatakse simpleksit näiteks rakettide juhtimiseks oma sihtmärgini, kus saatja ainsaks ülesandeks on raketile saata info, kuhu minna, ja raketi peal oleva vastuvõtja ainsaks ülesandeks on saadetud info vastu võtta. Veel kasutatakse seda süsteemi näiteks maa tehiskaaslastel, mis ei suuda ühtegi signaali vastu võtta, kuid sellegi poolest saadavad maale infot. Sellisteks maa tehiskaaslasteks olid näiteks Sputnik 1 ja Pioneer 6. Mõlemad tehiskaaslased suudavad infot ainult välja saata.
Üks simpleksi kasutusviisidest sisaldab kahte osapoolt, kes saadavad erinevatel suhtluskanalitel infot simplekspõhimõttel. Nii saavad seadmed siiski mõlemas suunas suhelda ja sellest tulenevalt nimetatakse seda meetodit tihtipeale täisdupleksiks. Teatud tüüpi satelliitinternetiühendused, mille allalaadimine toimub üle satelliitside, aga üleslaadimine üle sissehelistamisühenduse, töötavad kasutaja vaates nii saates kui vastu võttes. Reaalselt töötavad mõlemad ühendusteed simpleksi põhimõttel.

Pooldupleks

Poolduplekssüsteem võimaldab suhtlust kahes suunas, kuid ainult ühes suunas korraga. Kahes suunas samal ajal suhtlust toimuda ei saa. Tavaliselt, kui üks osapool hakkab signaali vastu võtma, peab ta ootama, kuni teine osapool lõpetab signaali saatmise, enne kui ta ise saatma saab hakata. Seda terminit kasutatakse üldjuhul küll kahe seadme omavahelise ühenduses olemise meetodi kirjeldamiseks, kuid võib ka kasutada rohkemate seadmete puhul juhul kui nad kordamööda infot saadavad. Näiteks Etherneti võrgus saab luua süsteemi, kus kõik seadmed saavad korraga vastu võtta, aga ainult üks saab korraga saata.
Poolduplekssüsteemid on näiteks raadiosaatjate tüüpi kahepoolsed süsteemid. Kuna nii saatmiseks kui vastuvõtmiseks on kasutusel üks ja seesama sagedus. Peab üks osapool ütlema varem kokkulepitud märguande, et teine osapool aru saaks, et esimene osapool on lõpetanud saatmise ja nüüd võib tema saatma hakata.
Heaks analoogiks pooldupleksi kohta võib tuua üherealise tänava, mille mõlemas otsas on liiklusreguleerijad. Liiklus saab toimida küll mõlemas suunas, aga vastavalt reguleerijate märguannetele ainult ühes suunas korraga.
Ennast automaatselt isejooksutavates suhtlussüsteemides nagu kahepoolsed andmeedastuskanalid saab pooldupleksi korral riistvara poolt saatmise/vastuvõtmise lülitamist ja ajajaotust väga täpselt kontrollida ning sellega ajakadu väikseks muuta. Näiteks üks jaam saab kanali ühes otsas saata infot ühe sekundi, misjärel saab teine jaam saata infot ühe sekundi ja tsükkel jääbki ennast nii kordama.

Täisdupleks

Täisdupleks, mõnikord kutsutud ka kui topeltdupleks, on süsteem, mis lubab suhtlust mõlemas suunas ja erinevalt pooldupleksile ka samal ajal. Telefonivõrk on ehitatud täisduplekssüsteemina, mõlemad osapooled saavad teineteisega rääkida ja kuulata samal ajal. Heaks analoogiks täisdupleksi kohta võib tuua kaherajalise tee, kus kumbki rada on eraldi suuna jaoks.
Täisdupleksiks võib nimetada ka simplekskanalite paari, mis sünkroonis omavahel andmeid saadavad. Täisdupleks võib kasutada ka ainult üht kanalit, mis on spetsiaalselt tehtud kahesuunaliseks üheajaliseks suhtluseks. Täisdupleksmeetodil saab omavahel ühendada ainult kaks seadet. Sellest tulenevalt on läbi mõne keskseadme vaja luua mitu täisdupleksühendusteed, kui on vaja mitut seadet ühendada (näiteks kohtvõrgu kommutaator ja rohkem kui kaks arvutist).
Täisdupleksi tugev eelis pooldupleksi ees on see, et selle meetodi puhul kahekordistatakse teoreetiline ribalaius. Kui pooldupleksi puhul on ribalaius näiteks 1 Mbit/s, siis üleslaadimine ja allalaadimine peavad seda jagama, aga täisdupleksi puhul saavad mõlemad pooled kasutada 1 Mbit/s, mis teeb kokku ribalaiuseks 2 Mbit/s.
Tänapäeval on palju võrgus töötavaid seadmeid, mis ei suudagi täisdupleksi võimaluse puudumisel korralikult töötada.

Dupleksimise mittevastavus

Dupleksimise mittevastavus on olukord Etherneti võrgus, kus kaks seadet on omavahel ühendatud, ühel on aga suhtlusrežiimiks seadistatud täisdupleks ja teisel pooldupleks. Üldjuhul võrk toimib olenemata sellisest seadistusest, aga toimimiskiirus on mitu korda aeglasem, kui ta oleks normaalse seadistuse korral.
Dupleksimise mittevastavus võib tekkida olukorrast, kus ühendatud seadmed on mingil põhjusel käsitsi seadistatud, üks täisdupleksirežiimi ja teine pooldupleksirežiimi. Mittevastavus võib aga tekkida ka sellest, kui võrku ühendada seade, mis teeb automaatkätlust.

Automaatkätlusest tingitud dupleksimise mittevastavus

Mõnes Etherneti võrgus on automaatkätlus välja lülitatud kõikides pesades, mis muidu saaks seda teha, ja paika on pandud rangelt, et kasutama peab 100 Mbit/s täisdupleksi kokkulepet. Nii tahetakse saavutada võrgu maksimaalne võimsus. Eriti palju tehti seda võrguadministraatorite poolt just siis, kui automaatkäsitlust avalikkusele tutvustati. Võrguadministraatorid üritasid automaatkätlust vältida, kuna alguses oli sellega erinevaid probleeme. Selline moodus töötas väga hästi, kui mõlemad ühenduses olevad seadmed olid rangelt seadistatud 100 Mbit/s täisdupleksiks. Selliste seadmete osakaal, millel on automaatkätlusfunktsioon, on aga aastast aastasse kasvanud ja sellega seoses on suurenenud ka tõenäosus, et keegi teeb seadistusel vea ja jätab mõne pordi seadistamata rangelt täisdupleksiks (100 Mbit/s). Kui nii juhtub, siis seade tuleb võrku ja näeb, et ükski teine seade temaga automaatkätlust teha ei taha ning sel juhul on seadme ainus võimalus igaks juhuks peale panna endale pooldupleksistandard. Selle kõige tulemusena tekibki dupleksimise mittevastavus.

Dupleksimise mittevastavuse tagajärjed

Ühendus töötab tavaliselt hoolimata dupleksimise mittevastavusest. Üksikud paketid saadetakse ja võetakse vastu ilma probleemideta. Sellest tulenevalt ei saa üht seadet teisest pingides tavaliselt dupleksimise mittevastavusele jälile. Sessioon, kus saadetakse andmeid väga väikeste osadena, suudab samuti normaalselt suhelda. Nii, kui tuleb järsku suurem andmevoog ja hakatakse suuremate osadena andmeid saatma, aeglustub ühenduse kiirus silmnähtavalt. Probleemid avalduvad sellepärast, et on hetki kui mõlemad seadmed üritavad infot vastu võtta, aga ei ole kedagi, kes midagi saadaks.
Sellistes tingimustes täisduplekspool saadab andmeid samal ajal kui võtab teisi andmeid vastu (nii nagu täisdupleks peabki tegema). Poolduplekspool aga ei suuda vastu võtta sissetulevat infot samal ajal kui ta midagi saadab – pooldupleksosapoole jaoks tundub see kõik nagu oleks toiminud võrgus andmete kokkupõrge. Kuna pooldupleksosapool on enda arust kokkupõrke tuvastanud, siis ta sulgeb kogu ühenduse mõneks ajaks ja siis proovib uuesti. Kokkuvõttes need paketid, mille on saatnud täisdupleksosapool, lähevad täiesti kaotsi ja need paketid, mille saadab pooldupleksosapool, hilinevad või lähevad samuti kaotsi.
Kaduma läinud pakettide tõttu hakkab TCP-protokoll teostama vigade parandust, kuid ka see ebaõnnestub, kuna iga järgneva tsükli paketid kaovad täpselt sama moodi ära nagu eelmise omad. Lõpuks saab TCP saatmiste aken täis ja TCP-protokoll keeldub enne rohkem infot saatmast, kui eelmise info kohale jõudmise kohta teated tulevad. Selline olukord omakorda seiskab kogu ülejäänud liikluse tehes ruumi ainult nendele pakettidele, mis teatavad, et eelmine info on kohale jõudnud. Lõpuks, kui vastavad paketid kohale jõuavad, teeb kogu TCP-liikluse süsteem endale restardi, mis põhjustab ka kaduma läinud infot.
Lõpptulemuseks on ühendus, mis töötab väga halvasti dupleksimise mittevastavuse tõttu. Dupleksimise mittevastavuse sümptomiteks on ühendused, mis töötavad normaalselt pingides, aga hanguvad väga kergelt andmete voo mahu tõusmisel. Suure tõenäosusega tekib selline asümmeetrilisus, et liiklus ühes suunas liigub palju paremini kui teises suunas.
Dupleksimise mittevastavust saab parandada, kas lubades automaatkätlemise mõlemas seadmes või pannes rangelt paika ühesugused sätted mõlemas seadmes. Kui pole muud võimalust, kui jätta ühes seadmes sisse lülitatuks automaatkätlus ja teises seadmes fikseeritud seadistus, siis oleks mõistlik kasutada fikseeritud seadistusega seadmes pooldupleksit.
Tänapäevastel kohtvõrgu seadmetel on kõigil ka automaatkätlemise funktsioon ning vaikimisi on see ka sisse lülitatud. Erinevad probleemid, mis aegade jooksul on automaatkätlemisega olnud, on tänapäevastes seadmetes juba lahendatud. Nii et parim viis dupleksimise mittevastavust vältida on asendada kõik seadmed sellistega, mis suudavad automaatkätelda.