1. TCP протокол за ръкостискане
В TCP/IP протокола TCP протоколът предоставя надеждни услуги за връзка чрез използване на тристранно ръкостискане за установяване на връзка.
Първо ръкостискане: При установяване на връзка, клиентът изпраща syn пакет (syn=j) към сървъра и влиза в състояние SYN_SEND, като чака сървърът да потвърди.
Второто ръкостискане: Когато сървърът получи SYN пакета, трябва да потвърди SYN на клиента (ack=j+1) и също да изпрати SYN пакет (syn=k), тоест SYN+ACK пакет, при което сървърът преминава в SYN_RECV състояние.
Трето ръкостискане: Клиентът получава пакета SYN+ACK от сървъра и изпраща потвърждаващия пакет ACK (ack=k+1) към сървъра.
След три ръкостискания клиентът и сървърът започват да прехвърлят данни, и в горния процес има някои важни концепции:
Несвързана опашка: В протокола за тристранно ръкостискане сървърът поддържа несвързана опашка, която отваря запис за SYN пакета на всеки клиент (syn=j), който показва, че сървърът е получил SYN пакета и изпраща потвърждение на клиента, очаквайки потвърждението на клиента. Връзката, идентифицирана от тези записи, е в Syn_RECV състояние на сървъра и когато сървърът получи потвърждаващ пакет от клиента, записът се изтрива и сървърът влиза в състояние УСТАНОВЕНО. Параметър за натрупване: Показва максималния брой несвързани опашки.
SYN-ACK времена за повторно предаване Ако сървърът изпрати пакета SYN-ACK и не получи пакета за потвърждение на клиента, сървърът извършва първото повторно предаване, изчаква известно време без да получи пакета за потвърждение на клиента и извършва второто повторно предаване. Имайте предвид, че времето за изчакване при всяко повторно преминаване не е непременно еднакво.
Време за оцеляване на полувръзката: означава максималното време, през което запис в опашката за полувръзка оцелява, тоест максималното време от момента, в който услугата получава SYN пакета, до момента, в който пакетът е потвърден като невалиден, а времевата стойност е сумата от максималното време за изчакване за всички пакети за повторно изпращане. Понякога наричаме полусвързаното време за оцеляване време SYN_RECV време за оцеляване.
|