Anyone who manages a server needs to know the basics of networking. It's not only important for getting your services online and running well, but it also gives you the insight to diagnose problems.
Understanding networking is a vital part of setting up complex environments on the internet. This has an effect on how well servers can talk to each other, how secure network policies can be, and how well your nodes are organized.
This article doesn't care what operating system you use, but it should be very helpful when setting up features and services that use networking on your server.
Networking Glossary
Before we talk about networking in any depth, we need to define a few terms that will be used throughout this terms and in other networking guides and documents.
In the sections that follow, we'll talk more about these terms:
Connection: In networking, a connection is a group of related pieces of information that move through a network. This usually means that a connection is made (by following the steps in a protocol) before the data transfer and then broken down after the data transfer.
Packet: In general, a packet is the smallest unit that can be sent over a network. Packets are the envelopes that carry your data (in small pieces) from one end of a network to the other.
Network Interface: A network interface is any kind of connection between software and networking hardware. For example, if your computer has two network cards, you can control and set up each network interface that goes with each card separately.
LAN: It stands for Local Area Network. It refers to a network or part of a network that is not open to the rest of the internet. A LAN is a network in a home or office.
WAN: It stands for Wide Area Network. It means a network that is much bigger than a local area network (LAN). WAN is a term for large, spread-out networks in general, but it is usually used to refer to the internet as a whole.
Protocol: A protocol is a set of rules and standards that lets devices communicate to each other in the same way. In networking, there are a lot of protocols that are used a lot, and they are often set up in different layers.
Port: A port is an address on a single computer that can be linked to a certain application. It's not a physical location or interface, but it lets your server talk to other computers using more than one application.
Firewall: A firewall is a program that decides what traffic should be allowed to come into or leave a server. Most of the time, a firewall works by making rules about what kind of traffic is allowed on which ports. Most of the time, firewalls block ports on a server that aren't used by a certain application.
NAT: It stands for Network Address Translation. It is a way for a routing server to send requests that come in to the right devices or servers in the LAN that it knows about. This is usually used in physical LANs as a way to send requests to the right backend servers through a single IP address.
VPN: It stands for Virtual Private Network. It's a way to connect different LANs to the internet without letting anyone know about it. This is often used for security reasons to connect remote systems as if they were on a local network.
There are many other terms you might hear, so this list can't be complete. We'll define other terms as we need to.
Even though networking is often talked about in terms of its topology, which is how it works between hosts, it is actually put together in layers that go up and down a computer or network.
This means that different technologies and communication protocols are built on top of each other to make communication easier. Each higher layer abstracts the raw data a little bit more and makes it easier for applications and users to use.
It also lets you use lower layers in new ways without having to spend time and energy making protocols and apps that can handle that kind of traffic.
Depending on which model you use, the way we talk about each of the layering schemes is very different. No matter what model is used to talk about the layers, the path of the data is always the same.
As data leaves a computer, it starts at the top of the stack and works its way down. At the lowest level, data is sent from one machine to another. At this point, the data goes back up through the other computer's layers.
Each layer can add its own "wrapper" to the data it gets from the layer next to it. This helps the layers that come after decide what to do with the data when it is passed on.
OSI Model
Historically, one method of talking about the different layers of network communication is the OSI model. It stands for Open Systems Interconnection.
Layer 7 - Application: The application layer is the layer that users and user-applications interact with the most. Network communication is talked about in terms of the resources available, the partners with whom to communicate, and the synchronization of data.
Layer 6 - Presentation: The presentation layer is responsible for managing of creating context and mapping resources. It is used to translate lower-level networking data into data that applications expect to see.
Layer 5 - Session: The session layer is a connection handler. It creates connections between nodes, keeps them up, and gets rid of them in a persistent way.
Layer 4 - Transport: The transport layer is responsible for handling the layers above it a reliable connection. In this context, "reliable" means that you can check to see if a piece of data was received intact on the other end of the connection.
Layer 3 - Network: The network layer is used to route data between different nodes on the network. It uses addresses to know which computer to send a message to. This layer can also break up big messages into smaller pieces that will be put back together at the other end.
Layer 2 - Data Link: This layer is used to set up and maintain reliable connections between different nodes or devices on a network by using the physical connections that are already there.
Layer 1 - Physical: The physical layer is responsible for handling the actual physical devices that are used to make a connection. This layer includes the bare software that manages physical connections as well as the hardware itself (like Ethernet).
As you can see, there are many different layers that can be discussed based on how close they are to bare hardware and what functions they provide.
OSI Model and TCP/IP Model
TCP/IP Model
It stands for Transmission Control Protocol/Internet Protocol. The TCP/IP model, which is also called the Internet protocol suite, is another layering model that has been widely used and is easier to understand. It talks about the four different layers, some of which are the same as the OSI model:
Layer 4 - Application: In this model, it is the job of the application layer to create and send user data between applications. The apps can be on remote systems, but to the end user, it should look like they are running locally. It is said that the communication happens between peers.
Layer 3 - Transport: The transport layer is responsible for communication between processes. This level of networking uses ports to address different services. Depending on the type of protocol used, it can build connections that are either reliable or not reliable.
Layer 2 - Internet: The internet layer is used to transport data from node to node in a network. This layer knows where the connections start and end, but it doesn't care about how to get from one place to another. In this layer, IP addresses are defined as a way to reach remote systems in a way that can be addressed.
Layer 1 - Network Interface: This layer implements the actual topology of the local network, which lets the internet layer present an interface that can be addressed. It sets up connections between neighboring nodes so data can be sent.
As you can see, the TCP/IP model is a bit more abstract and flexible. This made it easier to use and let it become the most common way to group networking layers.
Conclusion
At this point, you should have a good understanding of some basic, high-level ideas that should assist you in understanding other networking related articles. 🥳
Thank you for reading 🙏. Feel free to share and/or react!
Article Reactions
👍
❤️
👏
☕
🎉
💯
Share Article
More articles
If you enjoyed this article, you'll find these insightful too!
Introduction to Networking - Interfaces and Protocols
16/5/2022 Read
A list of some common and basic networking interfaces and protocols.
CSS Grid to center vertical and horizontal
27/4/2022 Read
How to center an element vertical and horizontal using grid css.
CSS Flexbox to center vertical and horizontal
13/4/2022 Read
How to center an element vertical and horizontal using flexbox css.