Three way handshake:
1. A ------SYN------> B
2. B ---SYN + ACK---> A
3. A ------ACK------> B
Detailed version:
1. A ------(SEQ = 100, CTL = SYN)------> B
2. B ---(SEQ=300, ACK=101, CTL=(SYN, ACK)---> A
3. A ------(ACK=301, SEQ=101, CTL=ACK)------> B
The sequence number is the byte number of the first byte of data in the TCP packet sent (also called a TCP segment).
The acknowledgement number is the sequence number of the next byte the receiver expects to receive. The receiver ack'ing sequence number x acknowledges receipt of all data bytes less than (but not including) byte number x.
Note: There is no such machanism in UDP, this is all based on TCP
Thus the TCP handshaking is required for handshaking and flow control.
src:
https://www.youtube.com/watch?v=LyDqA-dAPW4
https://networkengineering.stackexchange.com/questions/24068/why-do-we-need-a-3-way-
handshake-why-not-just-2-way
http://www.cs.miami.edu/home/burt/learning/Csc524.032/notes/tcp_nutshell.html
No comments:
Post a Comment