A TCP connection works as follows:
- One computer must be waiting, or listening, for other computers to start talking to it.
- To be able to listen for different kinds of communication at the same time on a single machine, each listener has a number (called a port) associated with it.
- Most protocols specify which port should be used by default. For example, when we want to send an email using the SMTP protocol, the machine through which we send it is expected to be listening on port 25.
- Another computer can then establish a connection by connecting to the target machine using the correct port number.
- If the target machine can be reached and is listening on that port, the connection is successfully created.
- The listening computer is called the server, and the connecting computer is called the client.
- Such a connection acts as a two-way pipe through which bits can flow—the machines on both ends can put data into it.
- Once the bits are successfully transmitted, they can be read out again by the machine on the other side.
The models below act as reference to build upon.
used by end-user software such as web browsers and email clients
client software applications are not part of the application layer; rather the application layer is responsible for the protocols and data manipulation that the software relies on to present meaningful data to the user
Some application protocols are HTTP, Telnet, FTP, DNS, and SSH
encryption -> compression -> translation
takes any data transmitted by the application layer and prepares it for transmission over the session layer
responsible for opening and closing communication between the two devices
The time between when the communication is opened and closed is known as the session
creates communication channels, called sessions, between devices. It is responsible for opening sessions, ensuring they remain open and functional while data is being transferred, and closing them when communication ends
takes data transferred in the session layer and breaks it into “segments” on the transmitting end. It is responsible for reassembling the segments on the receiving end, turning it back into data that can be used by the session layer. The transport layer carries out flow control, sending data at a rate that matches the connection speed of the receiving device, and error control, checking if data was received incorrectly and if not, requesting it again.
two main functions. One is breaking up segments into network packets, and reassembling the packets on the receiving end. The other is routing packets by discovering the best path across a physical network. The network layer uses network addresses (typically Internet Protocol addresses) to route packets to a destination node.
establishes and terminates a connection between two physically-connected nodes on a network. It breaks up packets into frames and sends them from source to destination. This layer is composed of two parts—Logical Link Control (LLC), which identifies network protocols, performs error checking and synchronizes frames, and Media Access Control (MAC) which uses MAC addresses to connect devices and define permissions to transmit and receive data.
responsible for the physical cable or wireless connection between network nodes. It defines the connector, the electrical cable or wireless technology connecting the devices, and is responsible for transmission of the raw data, which is simply a series of 0s and 1s, while taking care of bit rate control.
- En.wikipedia.org. 2021. Internet protocol suite – Wikipedia. [online] Available at: <https://en.wikipedia.org/wiki/Internet_protocol_suite> [Accessed 8 October 2021].
- En.wikipedia.org. 2021. Communication protocol – Wikipedia. [online] Available at: <https://en.wikipedia.org/wiki/Communication_protocol> [Accessed 8 October 2021].
- Learning Center. 2021. What is OSI Model | 7 Layers Explained | Imperva. [online] Available at: <https://www.imperva.com/learn/application-security/osi-model/> [Accessed 8 October 2021].
- Cloudflare. 2021. What is the OSI Model?. [online] Available at: <https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/> [Accessed 8 October 2021].