Hi - I'm Stuart Abrams-Humphries. I'm posting general ramblings on Linux (Centos/RHEL/Debian/Ubuntu), Devops, Ansible, Continuous Integration and Delivery, Jenkins, Git, Python, Performance and time sync - generally tech stuff that interest me and I hope may be useful to others.
based on OSI model - but slightly different - 4 layers instead of 7
tcp is essentially the transport layer - responsible for splitting up the data and posting it on the physical link - but like a clerk in an office getting lots of things ready to deliver to a customer - splitting it into manageable parcels - ip is like the postman - he picks up the parcels and routes them to their destination.
A TCP packet runs ontop of an IP packet.
Three way handshake:
1. A tcp connection is established via a three way handshake - client sends a SYN (synchronize) packet to server with a random sequence number.
2. server sends back a SYN-ACK - containing another random sequence number and an ACK number to acknowledge clients sequence number
3. client then sends an ACK number to server, which aknowledges the servers sequence number.
now that the sequence numbers are synchronized, both ends can now send and receive data independently