Asynchronny prenos (Was: Re: mirne offtopic - prenos dat na dalku)
Juraj Rehak
glip na napri.sk
Pátek Květen 21 12:27:51 CEST 1999
OKi, vidim, ze tu dost zaujimave nazory na asynchronny prenos, tak sa
ozyvam. Nedavno sme programovali seriovy prenos na paralelnom porte + PPP
+ TCP/IP, tak si dovolym mysliet, ze o asynchronnom seriovom prenose nieco
viem ;]
> REPEAT
Wow, Pascal, to uz som dlho nevidel ;]
> > Tak nevim - neprenasi se snad pres TCP/IP data v packetech ?
Ano... a okrem toho medzi TCP/IP a linkou zvykne byt este jedna vrstva
(PPP, SLIP, ... ;) ale v principe nemusi ;]
> > A nema TCP
> > v sobe zadratovano potvrzovani prijatych packetu ?
TCP ano, ale este tu mame veci ako ICMP a UDP. Nehovoriac o tom, ze
velka stratovost paketov pri TCP strasne zdrzuje.
> > A packety snad maji
> > kontrolni soucty ?
Maju.
> > Takze kdyz se packet pri prenosu zmrsi , prijemce ho
> > zahodi
Ak sa nahodou nestane, ze kontrolny sucet predsa len sedi (aj to sa da ;)
> > a odesilatel nedostane potvrzeni
Nedostane.
> > a udela retransmit.
> Ano. Udela retransmit na "bitove posunute" lince, takze prichazejici
> paket nedava smysl ...
No a tu sme pri tom omyle... nieco ako bitovo posunuta linka neexistuje.
Princip async prenosu:
Niz sa neprenasa, na linke je log. 1
Pride log. 0, povazuje sa za startbit (AFAIK jeden, nie viac startbitov ;)
Potom sa v pravidelnych intervaloch (podla rychlosti ;) pozera, co je na
linke a povazuje sa to za jednotlive bity. Deviaty bit je stopbit, ktory
musi byt log. 1, ak nie pravdepodobne neslo o startbit, ale sme do toho
vpadli niekde uprostred prenosu a to co sme povazovali za startbit bolo
uprostred nejakeho bajtu. Pravdepodobnost, ze miesto stopbitu dostaneme
bezny bit dat s hodnotou log. 1 je 50% (da sa znizit na 25% tym, ze
pouzijeme 2 stopbity, pricom o tom druhom plati to iste co o prvom ;)
takze "bitovo posunuta linka" nam vydrzi maximalne pocas prenosu par
bajtov, potom narazi na neplatny stopbit, nacitany bajt dropne a caka na
najblizsiu zmenu z log. 1 na log. 0 (dalsi startbit). Pripadne sa este da
pridat parity bit, ale to je uz o inom.
Takze aby som sa vratil k originalnemu prispevku, tym ze lucu do cesty
nieco strcite (napriklad oko ;) a potom to znova vyberiete tu linku
nezhodite navzdy ;] Ina vec je, ked tam nieco strkate casto (dazdove
kvapky, pecene holuby, ... ) tak ziskate linku, na ktorej sa budu pakety
stracat, ale myslim, ze navlhnuta telefonna linka byva o tom istom ;]
Este jednu pripomienku. Odporucam implementovat nejaky flowcontrol a HW
asi neprichadza do uvahy (ibazeby dalsie ukazovatko a snimac ;) takze asi
SW a v tom pripade ten dalsi protokol (PPP, SLIP, ... ) potrebovat budete.
> UNTIL FALSE
False
Sorry, asi je to hodne offtopic, ale je to tema, ktora tu asi dost ludi
zaujima, tak ma snad neukamenujete ;]
--
. , Glip
. ,`o--. --
____.....------.' .,' ,,~'' `,------.....____
''''` `---.:: ,': ; ,' ;`. ;;.---' '````
` `:__`-._ `.`., _,-'__;' ' SysAdmin NAPRI s.r.o.
` `---`---'`'`---'---' ' Phone: +421-7-44450959
glip na cyber-wizard.com_______ \`--'/`,,_____________http://glip.planet.sk/
``` '''
Další informace o konferenci Linux