1. TCP-kättelyprotokolla
TCP/IP-protokollassa TCP-protokolla tarjoaa luotettavia yhteyspalveluita käyttämällä kolmisuuntaista kädenpuristusta yhteyden muodostamiseen.
Ensimmäinen kättely: Yhteyden muodostamisessa asiakas lähettää syn-paketin (syn=j) palvelimelle ja siirtyy SYN_SEND-tilaan, odottaen palvelimen vahvistusta.
Toinen kättely: Kun palvelin vastaanottaa SYN-paketin, sen on vahvistettava asiakkaan SYN (ack=j+1) ja lähetettävä myös SYN-paketti (syn=k), eli SYN+ACK-paketti, jolloin palvelin siirtyy SYN_RECV-tilaan.
Kolmas kättely: Asiakas vastaanottaa palvelimelta SYN+ACK-paketin ja lähettää vahvistuspaketin ACK (ack=k+1) palvelimelle.
Kolmen kättelyn jälkeen asiakas ja palvelin alkavat siirtää dataa, ja yllä olevassa prosessissa on joitakin tärkeitä käsitteitä:
Yhdistämätön jono: Kolmisuuntaisessa kättelyprotokollassa palvelin ylläpitää yhdistämätöntä jonoa, joka avaa merkinnän jokaisen asiakkaan SYN-paketille (syn=j), joka osoittaa, että palvelin on vastaanottanut SYN-paketin ja antaa asiakkaalle vahvistuksen, odottaen asiakkaan vahvistuspakettia. Näiden merkintöjen tunnistama yhteys on palvelimella Syn_RECV-tilassa, ja kun palvelin saa vahvistuspaketin asiakkaalta, merkintä poistetaan ja palvelin siirtyy PERUSTETTUUN tilaan. Backlog-parametri: Näyttää suurimman määrän yhdistämättömiä jonoja.
SYN-ACK:n uudelleenlähetysajat Jos palvelin lähettää SYN-ACK-paketin eikä vastaanota asiakasvahvistuspakettia, palvelin suorittaa ensimmäisen uudelleenlähetyksen, odottaa jonkin aikaa ilman asiakasvahvistuspakettia ja suorittaa toisen uudelleenlähetyksen. Huomaa, että jokaisen uudelleenkierroksen odotusaika ei välttämättä ole sama.
Puoliyhteyden säilymisaika: tarkoittaa maksimiaikaa, jonka puoliyhteysjonon merkintä kestää, eli maksimiaikaa siitä, kun palvelu vastaanottaa SYN-paketin, siihen aikaan, jolloin paketti vahvistetaan virheelliseksi, ja aikaarvo on kaikkien uudelleenlähetyspyyntöpakettien maksimiodotusajan summa. Joskus kutsumme myös puoliksi yhteydessä olevaa selviytymisaikaa SYN_RECV selviytymisaikaa.
|