OSI modeli – Transport pillə, 6-cı hissə | Arasdiraq.com
TCP seqmentin yenidən yığılması
TCP protokolundan istifadə edən servis məlumat yollayan zaman mənsəb tərəfdə məlumatın hissələri ardıcıl sırada qəbul olunmaya bilər. Mənbədən yollanan məlumatın mənsəb tərəfindən işlənməsi üçün mənsəb tərəfdə seqment orijinal sırada yenidən toplanmalıdır. Bunun üçün hər bir seqmentin başlıq hissəsinə sıra nömrəsi yazılır. Sessiya qurulan zaman ilkin sıra nömrəsi (ISN) təyin edilir. Bu ilkin sıra nömrəsi ötürüləcək baytın başlanğıc dəyərini göstərir. Məlumat ötürülən zaman sıra nömrəsi ötürülmüş baytın sayı qədər inkrement edilir (artırlır). Məlumatın baytlarına bu yolla nəzarət funksiyası hər bir seqmentin qəbul olunmasına zəmanət verir. İtirilmiş seqmentlər isə qəbul edilməmiş sıra nömrəsinə əsasən asanlıqla müəyyən edilir. Seqmentin sıra nömrəsi mənsəb tərəfdə qəbul edilmiş məlumatın hissələrinin düzgün sırada toplanmasına və vahid hala salınmasına imkan verir. Mənsəb tərəfdəki TCP prosesi qəbul etdiyi seqmentləri buferə (müvəqqəti yaddaş) yerləşdırır. Seqmentlər düzgün sırada toplanılır və Application pilləyə ötürülür.
Seqmentlərin qəbul edilməsinin təsdiqi
Seqmentin başlıq hissəsində olan sıra və təsdiq nömrəsi seqmentlərdə olan baytların qəbul edildiyini təsdiq edir. Sıra nömrəsi bir sessiya çərçivəsində ötürülən baytların nömrəsi 1-ə (cari seqmentdəki ilk məlumat baytıdır) bərabərdir. Mənsəb tərəf mənbə tərəfə hər aldığı seqmentə görə təsdiq nömrəsi göndərir. Bu nömrə eyni zamanda mənsəbin tələb etdiyi növbəti baytı bildirir. Bu gözlənilən təsdiq mexanizmi adlanır.
Şəbəkə texnologiyalarında hər bir əlaqə ikitərəfli sessiyadır. Sıra və təsdiq nömrələri hər iki istiqamətdə ötürülür. Rəsimdən də göründüyü kimi mənbə tərəf mənsəb tərəfə məlumat ötürür. Mənbə sıra nömrəsi 1-ə bərabər olan 10 bayt məlumatdan ibarət olan seqment göndərir. Mənsəb tərəf seqmenti qəbul edir və sıra nömrəsinin 1-ə bərabər olub, 10 bayt məlumat daşıdığını müəyyən edir. Bundan sonra mənsəb tərəf mənbə tərəfə 10 bayt məlumatı qəbul etdiyini bildirən təsdiq nömrəsi göndərir. Təsdiq nömrəsi 11 olub, göndəriləcək növbəti baytın (alınmış baytn sıra nömrəsi 1, yəni 10 1=11) nömrəsidir. Mənbə tərəf bu təsdiq nömrəsini qəbul etdikdə 11 nömrəli baytdan başlayaraq növbəti seqmenti göndərməyə başlayır.
Mənbə tərəf göndərdiyi hər bir bayt üçün mənsəb tərəfdən bir təsdiq nömrəsi gözləməli olsa, şəbəkənin əlavə məlumat ilə yüklənməsi baş verə bilər. Məsələn, mənbə 10 bayt göndərirsə, mənsəb 10 təsdiq nömrəsi göndərməlidir. Bu problemi aradan qaldırmaq üçün bir dəfəyə çoxsaylı seqment göndərilir və yalnız bir TCP mesajı ilə təsdiqlənir. Bu təsdiq nömrəsi sessiya çərçivəsində qəbul edilmiş baytların sayının cəmini ifadə edir. Məsələn, 2000 sıra nömrəsindən başlayaraq 1000 baytdan ibarət olan 10 seqment göndərilərsə, təsdiq nömrəsi 12001 olacaqdır. Təsdiq nömrəsi alınmamışdan əvvəl mənbə tərəfin ötürdüyü məlumatın miqdarı pəncərə tutumu(window size) adlanır. Pəncərə tutumu TCP başlıq hissədə xüsusi bir sahə olub, itirilmiş məlumata və axına nəzarət funksiyasını həyata keçirir.
İtirilmiş TCP seqmentin bərpası
Şəbəkə nə qədər yaxşı dizayn edilsə də, seqmentin itirilməsi baş verəcəkdir. Buna görə də TCP protokolu bu itirilmiş seqmentlərə nəzarət funksiyasını həyata keçirir. Bu funksiya təsdiq nömrəsi alınmamış seqmentin mənbə tərəfdən yenidən ötürülməsini tələb edir. Mənsəb tərəf yalnız qəbul etdiyi seqment üzrə təsdiq nömrəsi yollayır. Məsələn, əgər 1500-3000 və 3400-3500 sıra nömrəli seqmentlər qəbul edilmişsə, təsdiq nömrəsi 3001 olacaqdır. Çünki 3001 və 3399 sıra nömrəli seqmentlər qəbul edilməmişdir. Mənbə tərəfdəki TCP prosesi müəyyən edilmiş vaxt çərçivəsində təsdiq almazsa, qəbul etdiyi sonuncu təsdiq nömrəsinə qayıdır və məlumatı bu nömrədən başlayaraq yenidən ötürməyə başlayır. TCP prosesi seqmentin yenidən ötürülmə funksiyasının effektivliyini artırmaq üçün mənbə tərəfdən yollanılan hər bir seqmentin bir nüsxəsini yenidən ötürülmə sırasına əlavə edir və zaman sayğacını işə salır. Ötürülmüş seqmentin təsdiqi nömrəsi gəldikdə, yenidən ötürülmə sırasında olan həmin seqment silinir. Təsdiq nömrəsi gəlmədikdə isə, həmin seqment yeniden ötürülür.