Sunday, 17 November 2019

What is TCP? why TCP connection is required in http requests?




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