Manners of the internet - abukhalil-LTUC-ASAC/amman-401d4 GitHub Wiki
You won't handshake for no reason now?
In the internet, handshakes are often used to establish a route for dataflow and exchange, it is mostly defined in the transmission control protocol that would start, confirm and maintain the handshake until all information that is needed to flow has indeed flown.
What goes into the handshake?
A 2 time confirmation if its a sending data only, where the sender would send a packet with a request of confirmation, and the receiver would send that confirmation once the exchange is done. A 3 time confirmation is where client-server interaction happens, since data is two way both parties must agree that this is what is going to happen by first sending the confirmation request, confirming it and sending another confirmation request and confirming that back.
The hidden rules of handshakes
Unless you tend to read lots of documentations, it does seem that having a connection is simply not enough for data to be exchanged and understood perfectly.
This is where an abstract understanding of internet networks and interactions is used, called OSI models helps understand how dataflow is standardized into independent layer stacks, each layer is responsible of communicating data above and below. This is not exactly how it works, but as many abstract models it is as close as reality as it usefully can.
A top down layer detail from the receiver end to binary 0/1 switching data happens as such:
- The Application Layer
This is where high level interaction of apps communicate with each other in forms of HTTP and email interactions for an example.
- The Presentation Layer
Processing is done in this layer, where data is translated, compressed, encrypted before being sent if needed.
- The Session Layer
Our session is maintained by this layer by making connection happen and is maintained over the duration of the connection and handles missing data and crashed networks and allows ease of resuming the connection.
- The Transport Layer
The trebuchet of UDP packets, or UPS of TCP sensitive data. This is where segmenting and reforming is done for data packets, and is also responsible of flow control aka speed that these packets operate under, depending on the physical and software limitations.
- The Network Layer
The journey of data packets could be perilous and full of uncertainty, the responsibility of this layer is to manage the best path possible, unless the computers were directly connected.
- The Data Link Layer
This layer replaces both transport and network layers, when computers are directly connecting with an ethernet cable most likely.
- The Physical Layer
This is how data is represented in wire as 0/1 signals that both ends could agree on as 0/1 respectively.