Similarity Between Human Interaction and Network Fundamentals
Publish Date: 26/05/2024

What is a Network?

In the simplest terms, a network is the structure that allows communication and data sharing between two or more electronic devices. To provide a more understandable introduction, I will start with a few analogies.

Humanity has invented many innovations by imitating what they observe in nature. For example, the echolocation abilities of animals like bats inspired the development of radar systems, the observation of bird flight led to the invention of airplanes, and the dragonfly's ability to hover and maneuver in the air influenced helicopter designs. Similarly, humans have modeled computer systems based on themselves. Explaining the concept of procedures in computer networks using the metaphor of human communication can make the topic more understandable. In human communication, specific rules and methods are used, and the same applies to computer networks. These procedures regulate data exchange and communication between computers. The common structures in computer networks and human communication include the following:

Communication Rules (Protocols)

For effective communication, humans use a language and specific rules; for example, social norms like not interrupting someone while they are speaking. Similarly, computer networks have communication protocols. These protocols define how computers should behave when exchanging data. For instance, the TCP/IP protocol specifies how data packets should be transmitted and received. These protocols ensure that computers can understand each other and exchange data smoothly.

Structure of Messages

In human communication, messages have a certain structure, such as a greeting, the main message, and a closing. Similarly, in computer networks, the data sent has a specific structure. A data packet consists of sections like the header, payload, and footer. The header contains information such as the destination of the data and the protocol used for transmission. This structure ensures that the data is directed and understood correctly.

Communication Channels

Humans use different channels for communication, such as face-to-face conversations, phone calls, and emails. In computer networks, different physical and logical channels are used for data transmission. For example, wired connections like Ethernet cables or wireless connections like Wi-Fi. These channels facilitate the transfer of data between the sender and the receiver.

Security and Privacy

Humans take security measures when sharing private information, such as avoiding discussing sensitive topics loudly in a crowded place. Similarly, computer networks implement security procedures. Encryption and security protocols (such as SSL/TLS) ensure that data is transmitted securely and unauthorized access is prevented.

Error Management and Correction

In human communication, when there is a misunderstanding, people use methods like asking questions or providing explanations to resolve the issue. In computer networks, there are error detection and correction mechanisms. For example, if data packets are lost or corrupted, error control and retransmission procedures are activated. This enhances the accuracy and reliability of communication. Now, let's look at the more technical aspects of these structures we've compared to human communication.

TCP/IP Stack Diagram

In the image above, we see the step-by-step process of packaging data in the background, which takes milliseconds, according to the TCP/IP model when sending data. Even for a simple ping message, the hierarchy in the background involves:

Data to be sent: This is the data visible to the end user at the application layer. It is the request sent from the client to the server.

Segment: This structure combines the message with the TCP at the transport layer. The unit of communication at this layer is the segment, which ensures secure transmission of data, error control, and data flow management. For example, the parts of a file being downloaded are sent as TCP segments.

Packet: Perhaps the most crucial part within the stack, created at the network layer. It converts segments into packets. An IP packet includes structures like the header and payload. It ensures the data is routed between networks. For example, a data packet may pass through multiple routers from source to destination.

Frame: Created at the data link layer. It includes header information as well as source and destination MAC addresses. For instance, when data is transmitted over a local network, it uses Ethernet frames.

Even though these definitions might seem confusing, explaining how each segment works in the background through a commonly used scenario will make it easier to understand.

Example Scenario

When we open our web browser and type in any address (e.g., www.google.com):

  1. Application Layer: The browser creates an HTTP GET request for the www.google.com address (message).
  2. Transport Layer: The HTTP GET request is divided into TCP segments.
  3. Network Layer: The TCP segments are converted into IP packets.
  4. Data Link Layer: The IP packets are transformed into Ethernet frames.
  5. Physical Layer: The Ethernet frames are transmitted over the physical network to the web server.

The web server reverses this process, reassembling the incoming data and sending a response. This response undergoes a similar process and is displayed in the user's browser. The interaction between these structures and layers ensures smooth and efficient data communication. These operations within the layers are not visible to the end user, but we can observe them using various tools that monitor bit-level activity. One of the most popular tools for this is Wireshark. In future blog posts, I will cover how to create an example network scenario and how to process flags in the layers. Even though the topics are theoretical, I assure you they will be much more understandable in practical applications.

Always stay curious and enjoy learning!