1. TCP käepigistuse protokoll
TCP/IP protokollis pakub TCP protokoll usaldusväärseid ühendusteenuseid, kasutades kolmepoolset käepigistust ühenduse loomiseks.
Esimene käepigistus: Ühenduse loomisel saadab klient serverile sün-paketi (syn=j) ja siseneb SYN_SEND olekusse, oodates serveri kinnitust.
Teine käepigistus: Kui server saab SYN-paketi, peab ta kinnitama kliendi SYN-i (ack=j+1) ning saatma ka SYN-paketi (syn=k), st SYN+ACK paketi, mille järel server siseneb SYN_RECV olekusse.
Kolmas käepigistus: Klient saab serverilt SYN+ACK paketi ja saadab kinnituspaketi ACK (ack=k+1) serverile.
Pärast kolme käepigistust hakkavad klient ja server andmeid edastama ning ülaltoodud protsessis on mõned olulised mõisted:
Ühendamata järjekord: Kolmepoolse käepigistuse protokollis hoiab server ühendamata järjekorda, mis avab iga kliendi SYN-paketi (syn=j) kirje, mis näitab, et server on SYN-paketi kätte saanud ja annab kliendile kinnituse, oodates kliendi kinnituspaketti. Nende kirjetega tuvastatud ühendus on serveris Syn_RECV olekus ning kui server saab kliendilt kinnituspaketi, kustutatakse kirje ja server siseneb ESTABLISHED olekusse. Backlog parameeter: Näitab maksimaalset ühendamata järjekordade arvu.
SYN-ACK taasedastusajad Kui server saadab SYN-ACK paketi ja ei saa kliendi kinnituspaketti, sooritab server esimese kordusedastuse, ootab mõnda aega ilma kliendi kinnituspaketti saamata ja teeb teise kordusedastuse. Pane tähele, et iga korduskäigu ooteaeg ei pruugi olla sama.
Poolühenduse ellujäämisaeg: viitab maksimaalsele ajale, mille poolühenduse järjekorra kirje elab, st maksimaalsele ajale alates ajast, mil teenus saab SYN-paketi kuni ajani, mil pakett kinnitatakse kehtetuks, ning ajaväärtus on kõigi kordusedastustaotluspakettide maksimaalse ooteaja summa. Mõnikord nimetame ka poolseotud ellujäämisajaks SYN_RECV ellujäämisajaks.
|