Flödesreglering

Funktion

När två datorer komunicerar upstår förr eller senare en situation där den ena datorn måste göra ett kort uppehåll i komunikationen för att något viktigt har inträffat som måste tas om hand först (t.ex. tt skärmen behöver rullas upp eller om något ska skrivas på hårddisken).

Då används en buffert för att den andra datorn ska kunna fortsätta att sända medan den första gör det som behöver göras. När den första datorn är klar tar den hand om det som hamnat i bufferten.

Om det skullehända att bufferten håller på att bli full måste datorn på något sätt stoppa den andra datorn tills mer data kan tas om hand. Det görs genom så kallad flödesreglering (kallas ibland flödeskontroll eller handskakning). Det finns flera sätt förden ena datorn att tala om för den andra att det är dags att göra ett uppehåll i komunikationen. Man kan använda maskinvaruhandskaking eller programvaruhandskaking.

 

Alternativ

Maskinvaruhandskakning använder signalerna RTS och CTS i V.24/RS.232-C-gränssnittet för att stoppa och återuppta sändningar tillfälligt. När datorn vill be modemet att tillfälligt stoppa sändningen upphör den att sluta sända signalen RTS. Detta registreras av den andra datorns modem, som på lämpligt sätt talar om för den adra datorn att den ska sluta sända. På motsvarande sätt kan modemet be datorn att tillfälligt stoppa sändningar genom att sluta sända signalen CTS. Det förekommer också att signalerna DSR och DTR används på motsvarande sätt. Detta är dock ovanligt.

Programvaruhanskakning innebär att handskakningen sköts genom att vissa speciella kontrolltecken skickas. Normalt används kontrolltecknet Ctrl-S för att stoppa sändningen tillfälligt. När man vill starta sändningen igen skickas kontrolltecknet Ctrl-Q. Denna metod kallas vanligen XON/XOFF. Metoden skiljer sej betydligt från maskinvaruhandskakningen genom att man här istället ber den andra datorn att sluta sända. Modemen vidarebefordrar endast kontrolltecknen.

Användning

Vilken metod man använder beror på vilka förutsättningar som finns. Ibland kan det vara praktiskt att använda sej av programvaruhandskakning, exmepelvis om man har en kabel som inte innehåller alla signalerna. I andra situationer kan det vara lämpligt att använda maskinvaruhandskakning istället. Detta gäller exempelvis om man utnyttjar kontrolltecknen Ctrl-S och Ctrl-Q till annat vid kommunikation.

Rent erfarenhetsmässigt kan sägas att maskinvaruhandskakning oftast fungerar bättre än programvaruhandskakning för avancerade  modem och höga hastighetter.