1. TCP håndtryksprotokol
I TCP/IP-protokollen leverer TCP-protokollen pålidelige forbindelsestjenester ved at bruge et trevejs-håndtryk til at etablere en forbindelse.
Første håndtryk: Når en forbindelse etableres, sender klienten en syn-pakke (syn=j) til serveren og går ind i SYN_SEND-tilstanden, mens den venter på, at serveren bekræfter.
Det andet håndtryk: Når serveren modtager SYN-pakken, skal den bekræfte kundens SYN (ack=j+1) og også sende en SYN-pakke (syn=k), det vil sige SYN+ACK-pakke, hvorefter serveren går ind i SYN_RECV-tilstanden.
Tredje håndtryk: Klienten modtager SYN+ACK-pakken fra serveren og sender bekræftelsespakken ACK (ack=k+1) til serveren.
Efter tre håndtryk begynder klient og server at overføre data, og der er nogle vigtige begreber i ovenstående proces:
Uforbundet kø: I trevejs håndtryksprotokollen opretholder serveren en uforbundet kø, der åbner en post for hver klients SYN-pakke (syn=j), som angiver, at serveren har modtaget SYN-pakken, og udsender en bekræftelse til kunden, mens den afventer kundens bekræftelsespakke. Forbindelsen, der identificeres af disse poster, er i en Syn_RECV tilstand på serveren, og når serveren modtager en bekræftelsespakke fra kunden, slettes posten, og serveren går ind i ETABLERET tilstand. Backlog-parameter: Angiver det maksimale antal uforbundne køer.
SYN-ACK genudsendelsestider Hvis serveren sender SYN-ACK-pakken og ikke modtager kundebekræftelsespakken, udfører serveren den første genudsendelse, venter i en periode uden at modtage kundebekræftelsespakken og udfører den anden genudsendelse. Bemærk, at ventetiden for hver genbevisning ikke nødvendigvis er den samme.
Semi-forbindelses overlevelsestid: refererer til den maksimale tid, en post i semi-forbindelseskøen overlever, det vil sige den maksimale tid fra det tidspunkt, tjenesten modtager SYN-pakken, til pakken bekræftes som ugyldig, og tidsværdien er summen af den maksimale ventetid for alle genudsendelsesanmodningspakker. Nogle gange kalder vi også semi-forbundet overlevelsestid SYN_RECV overlevelsestid.
|