22. TCP noturības taimeris

Pēdējais mainījis Administrator 2011-06-06 17:16

22. TCP noturības taimeris

22.01 Ievads

Esam redzējuši, ka TCP protokolā datu saņēmējs kontrolē plūsmu, nosakot datu apjomu, ko tas vēlas saņemt no sūtītāja - loga izmēru. Kas notiek tad, kad loga izmērs kļūst 0? Tas aptur datu sūtīšanu, kamēr loga izmērs atkal kļūst pozitīvs.

Mēs redzējām šo scenāriju #picref("f_20_3.gif", "20.3. attēlā"). Kad sūtītājs saņēma 9.segmentu atverot logu, kas bija aizvērts ar 8.segmentu, tas tūlīt sāka sūtīt datus. TCP ir jātiek galā ar situāciju, kad apstiprinājums, kurš atver logu (9.segments) pazūd. Apstiprinājumi šajā protokolā netiek droši pārvadīti - t.i. TCP principā nesūta apstiprinājumus apstiprinājumiem, tas sūta apstiprinājumus tikai segmentiem, kuri satur datus.

Ja apstiprinājums ir pazudis, var gadīties, ka abas puses gaidīs viena uz otru: saņēmējs gaidīs datus (jo tas deva sūtītājam nenulles logu) un sūtītājs gaidīs loga izmēra labojumu, kas ļautu viņam sūtīt. Lai novērstu šāda veida strupceļu, sūtītājs izmanto noturības taimeri, kas ļauj periodiski atgādināt saņēmējam un lūdz noskaidrot, vai logs nav ticis palielināts. Šie sūtītāja radītie segmenti ir saukti #term("logu proves", "window_probe"). Šajā nodaļā izpētīsim šīs logu proves un noturības taimeri. Apskatīsim arī #term("muļķīgo logu sindromu", "silly_window_syndrome"), kas saistīts ar noturības taimeri.

Tagi:
Izveidojis Kalvis Apsītis 2008-03-22 13:35
    
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 6.4 - Documentation