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