A felhasználó és a szerver közötti adatáramlás szabályozására egy TCP Flow Control nevű protokoll készült.
Biztosítja, hogy bizonyos mennyiségű sávszélesség álljon rendelkezésre az adatok küldéséhez és fogadásához, hogy a feldolgozás komolyabb problémák nélkül folytatódhasson.
A TCP protokoll a csúszóablak protokollként ismert módszert használja ennek megvalósítására.
Ebben a részben részletesen megvizsgáljuk a TCP-folyamat vezérlését, beleértve annak működését és – ami a legfontosabb – a csúszóablak protokollt.
Mi az a TCP Flow Control?
A TCP protokoll biztosítja, hogy megbízható kommunikációs csatorna jöjjön létre egy kiszámíthatatlan hálózaton keresztül.
Az adatcsomagok elveszhetnek, soron kívül érkezhetnek, biztonsági másolatot készíthetnek a hálózatban, vagy túlterhelődnek a fogadó csomóponton, miközben egyik csomópontról a másikra küldik őket.
Egy alkalmazás fejlesztése során azonban jellemzően nem kell foglalkoznunk ezzel a bonyolultsággal; ehelyett csak néhány adatot küldünk egy socketbe, és a TCP biztosítja, hogy a csomagok sikeresen kézbesítve legyenek a fogadó csomóponthoz.
Az áramlásvezérlés a TCP által kínált kulcsfontosságú kiegészítő funkció.
Az áramlásvezérlés használatával a TCP lényegében gondoskodik arról, hogy a küldő ne küldjön túl sok csomagot egyszerre a vevőnek.
Hogyan működik a Transfer Control Protocol – Flow Control?
Ez általában akkor fordul elő, ha adatokat kell kommunikálnunk a hálózaton keresztül.
A küldő alkalmazás adatokat küld egy socketnek, a szállítási réteg (jelen esetben a TCP) ezeket az adatokat egy szegmensbe csomagolja, a hálózati réteg (például IP) pedig valamilyen útvonalon továbbítja ezt a csomagot a fogadó csomópontnak.
A hálózati réteg ezeket az adatokat a beszélgetés fogadó végén továbbítja a TCP-nek, és a TCP a fogadó alkalmazás számára elérhetővé teszi a megadott adatok azonos másolataként.
A TCP nem kézbesíti a csomagokat, és vár az újraküldésre, ha bájt adatfolyam-rést észlel.
Ezt fogjuk látni, ha nagyítunk.
A TCP adási és vételi puffereit is az elküldendő és fogadni kívánt adatok tárolására használják.
A fogadási puffer adatait ezután az alkalmazás beolvassa, amikor azok elkészültek.
Az áramlásvezérlés fő célja annak biztosítása, hogy ne küldjünk további csomagokat, amíg a vevő vételi puffere már megtelt, mivel ez arra kényszeríti a vevőt, hogy további csomagokat dobjon el, amelyeket nem tudott kezelni.
A vevő bejelenti a fogadási ablakát, vagy a vételi pufferben rendelkezésre álló területet, hogy korlátozza a TCP által továbbítható adatok mennyiségét.
A csúszóablak protokoll
A TCP csúszóablak protokollja az egyik legszélesebb körben használt áramlásszabályozási módszer. Ez egy változó méretű, bájtorientált eljárás.
Ebben a megközelítésben a vevő elküldi a feladónak a fogadó ablakot, amint a küldő és a vevő összekapcsolódik.
A vevő aktuális pufferének méretét vevő ablaknak nevezzük.
A nyugtázás nélkül továbbküldhető adatmennyiséget most a TCP számítja ki a rendelkezésre álló fogadóablak alapján.
A TCP azonban leállítja az adatátvitelt, ha a vevőablak mérete 0, és megvárja a növekedést.
A vevőablak mérete a TCP keret egyik összetevője.
Az ablak maximális mérete 65,535 16 bájt, mivel az ablak mérete XNUMX bit.
Az ablak méreteit a címzett választja ki. A vevő minden nyugtázó üzenettel az aktuálisan elérhető vevőablak méretét továbbítja.
A csúszóablak protokoll folyamata
A csúszóablak protokoll technikája esetén két puffer jön létre, amikor a küldő és a fogadó csatlakozik.
Ez a két puffer két csoportra oszlik: a küldő ablakra, amely a feladóé, és a fogadó ablakra, amely a fogadóé.
A fogadó ablak visszaadja a fennmaradó vételi pufferterületet, amikor a küldő adatokat küld a vevőnek.
Ennek eredményeként a küldő a fogadó pufferben elférő adatmennyiségre korlátozódik.
A fenti példában szereplő átviteli ablak adatokat küld a fogadó ablaknak.
Az adatok fogadása után a fogadó ablak nyugtát küld, majd az átadó ablak egy új adatkeretet küld.
Ezúttal azonban a fogadóablak egy üzenetet is küld arról, hogy a kapott nyugtán kívül a szabad memória megtelt.
A küldő ablak szünetelteti az adatátvitelt, amíg a fogadó ablaktól visszaigazolást nem kap a hely felszabadulásáról, ekkor folytathatja az adatátvitelt.
Következtetés
Összefoglalva, az adatkapcsolati réteg és a szállítási réteg felelős az áramlásvezérlési problémák kezeléséért.
Az áramlásvezérlő mechanizmus alapvető célja, hogy megakadályozza, hogy a vevő túlterhelje a gyorsabban továbbító küldőtől származó adatokkal.
Még akkor is, ha a küldő által továbbított adatok hibamentesek és gyorsabban kerülnek továbbításra egy nagy teljesítményű gépnek köszönhetően, előfordulhat, hogy a lassabb oldal vevője nem fogja tudni kezelni a nagyobb adatsebességet, és ezért elveszik néhány adat.
Hagy egy Válaszol