Linux Mastery

The Human Knowledge Project


Chapter 17 — Networking Fundamentals


Why This Chapter Matters

Modern Linux systems are deeply connected to networks.

Linux powers:

Even desktop Linux users rely on networking every day for:

Understanding basic networking is an essential Linux skill.


Learning Objectives

Upon completing this chapter, you will be able to:


Introduction

Very few computers operate completely by themselves.

Most communicate with other computers every day.

They download software updates.

Browse websites.

Print documents.

Transfer files.

Connect to cloud services.

Linux includes powerful networking capabilities that allow computers to communicate efficiently across local networks and the Internet.

Understanding these fundamentals makes troubleshooting much easier and prepares you for more advanced networking topics later in the course.


1. What Is a Network?

A network is a collection of devices that communicate with one another.

Networks may include:

Networks allow these devices to exchange information quickly and reliably.

Without networking, modern computing would be far less useful.


2. The Internet

The Internet is simply a very large collection of interconnected networks.

Rather than being one enormous network, it is made up of millions of smaller networks connected together.

Linux systems communicate across the Internet using standardized networking protocols.

Whether you browse a website, send an email, or download software updates, Linux is communicating with other computers somewhere on the Internet.


3. What Is an IP Address?

Every device connected to a network needs an identity.

That identity is called an IP address.

An IP address functions much like:

Without IP addresses, computers would not know where to send or receive information.

THKI Memory Aid


Computer
      ↓
IP Address
      ↓
Network
      ↓
Another Computer

Every computer needs an address before communication can begin.


4. IPv4 Addresses

Most home networks still use IPv4 addresses.

An IPv4 address contains four numbers separated by periods.

Example:


192.168.1.25

Each number ranges from:


0–255

This addressing system has been used successfully for decades.


5. Private and Public IP Addresses

Not all IP addresses are visible on the Internet.

Private addresses are used inside homes, schools, and businesses.

Common private ranges include:

| Range | Typical Use |

|--------|-------------|

| 192.168.x.x | Home networks |

| 10.x.x.x | Private networks |

| 172.16.x.x172.31.x.x | Private networks |

Public IP addresses are assigned by Internet Service Providers and are visible across the Internet.

Private addresses work only within local networks.


6. IPv6

As the Internet continued to grow, IPv4 eventually became too small to provide enough unique addresses.

A newer addressing system called IPv6 was developed.

Example:


2001:0db8:85a3::8a2e:0370:7334

IPv6 supports an enormous number of addresses—far more than IPv4.

Although IPv6 looks very different, its purpose is exactly the same:

identify devices on a network.


7. Network Interfaces

A network interface is the connection between Linux and a network.

Examples include:

To display network interfaces:


ip addr

or the shorter form:


ip a

These commands display interface names, addresses, and current network configuration.


8. Common Interface Names

You may encounter interface names such as:

| Interface | Purpose |

|-----------|---------|

| eth0 | Ethernet |

| wlan0 | Wi-Fi |

| lo | Loopback |

| enp3s0 | Predictable Ethernet naming |

| wlp2s0 | Predictable Wi-Fi naming |

Different Linux distributions may use different naming conventions.

Regardless of the name, every interface represents a connection to a network.


9. The Loopback Interface

Every Linux system includes a special interface named:


lo

called the loopback interface.

Its most common address is:


127.0.0.1

also known as:


localhost

The loopback interface allows programs on the same computer to communicate with one another without using an external network.

It is always available, even if every physical network cable has been disconnected.


10. Displaying Your IP Address

To display the IP addresses currently assigned to your computer:


hostname -I

This command displays one or more IP addresses assigned to the system.

Knowing your IP address is often the first step when troubleshooting network problems.



11. ping — Testing Connectivity

One of the simplest and most useful networking commands is:


ping

The ping command tests whether another computer or device can be reached across a network.

Example:


ping google.com

If the destination responds, Linux displays a series of reply messages showing that communication is working.

THKI Insight

ping is often the very first networking command Linux administrators run.

Before troubleshooting anything else, they first ask:

"Can the two computers communicate?"


12. How ping Works

The ping command sends small network messages called:


ICMP Echo Requests

If the destination receives the request, it normally replies with an:


ICMP Echo Reply

Successful replies confirm that communication is possible between the two devices.

A typical reply looks similar to:


64 bytes from google.com: icmp_seq=1 time=18 ms

To stop a continuous ping:

Press:


Ctrl + C

13. Pinging by IP Address

Instead of using a hostname, you can ping an IP address directly.

Example:


ping 8.8.8.8

Because no hostname is used, this test bypasses the Domain Name System (DNS).

Comparing pings by hostname and IP address is a valuable troubleshooting technique.


14. Latency

Every ping measures how long it takes a packet to travel to another computer and back.

This delay is called:


latency

Latency is usually measured in:


milliseconds (ms)

Lower latency generally means:

High latency may result in sluggish applications, delayed web browsing, or poor online gaming performance.


15. Packet Loss

Sometimes network packets never reach their destination.

This is called:


packet loss

High packet loss may cause:

Reliable networks have very little packet loss.


16. DNS — Domain Name System

People prefer names such as:


google.com

Computers communicate using IP addresses.

The Domain Name System (DNS) translates names into IP addresses automatically.

THKI Memory Aid


You Type
google.com
      ↓
DNS
      ↓
IP Address
      ↓
Connection

Without DNS, users would need to remember long lists of numerical IP addresses.


17. Troubleshooting DNS

Consider these two commands:


ping 8.8.8.8

ping google.com

If the first command succeeds but the second fails, the network connection is probably working.

The problem is often DNS rather than the network itself.

THKI Insight

If ping 8.8.8.8 works but ping google.com does not, the network may be functioning correctly.

The problem is often DNS.

To view DNS configuration:


cat /etc/resolv.conf

18. Network Ports

An IP address identifies a computer.

A port identifies a particular service running on that computer.

THKI Memory Aid


House
      ↓
Street Address
      ↓
IP Address
Room Number
      ↓
Port Number

The IP address delivers the packet to the correct computer.

The port delivers it to the correct application.

Common ports include:

| Port | Service |

|------|----------|

| 22 | SSH |

| 53 | DNS |

| 80 | HTTP |

| 443 | HTTPS |

| 25 | SMTP |

Without ports, multiple network services could not operate simultaneously on the same computer.


19. Viewing Listening Ports

To display services currently listening for network connections:


ss -tuln

The options mean:

| Option | Meaning |

|--------|---------|

| t | TCP |

| u | UDP |

| l | Listening |

| n | Numeric addresses |

This command helps administrators determine which services are available over the network.


20. TCP and UDP

Two of the most common networking protocols are:

| Protocol | Characteristics |

|-----------|-----------------|

| TCP | Reliable, connection-oriented |

| UDP | Faster, connectionless |

TCP guarantees that data arrives correctly and in order.

UDP favors speed over reliability.

Different applications choose the protocol that best matches their needs.


21. Routing

Once data leaves your computer, Linux must determine where to send it.

This decision process is called:


routing

To display the routing table:


ip route

The routing table tells Linux how to reach other networks.


22. The Default Gateway

The default gateway is the router Linux uses when sending traffic to destinations outside the local network.

A common example is:


192.168.1.1

On most home networks, this is the home router.

Without a correctly configured default gateway, Internet access usually fails.



23. Wi-Fi Networking

Most modern Linux distributions include excellent support for wireless networking.

A Wi-Fi adapter allows a computer to communicate without a physical Ethernet cable.

Desktop environments typically manage Wi-Fi automatically, allowing users to connect by selecting a network and entering its password.

Linux also provides powerful command-line tools for managing wireless connections.


24. NetworkManager

Many Linux desktop systems use a service called:


NetworkManager

NetworkManager automatically manages:

This simplifies networking for both new and experienced Linux users.


25. The nmcli Command

NetworkManager includes a command-line utility named:


nmcli

Display network devices:


nmcli device status

List available Wi-Fi networks:


nmcli device wifi list

Display configured network connections:


nmcli connection show

These commands allow administrators to manage networking entirely from the terminal.


26. Ethernet vs. Wi-Fi

Linux supports both wired and wireless networking.

| Ethernet | Wi-Fi |

|-----------|--------|

| Faster | More convenient |

| Lower latency | Mobile |

| More reliable | Subject to interference |

Whenever maximum speed and reliability are important, Ethernet is usually the preferred choice.

Wi-Fi provides greater flexibility but may experience reduced performance due to distance or interference.


27. LAN and WAN

Networks are commonly divided into two categories.

A Local Area Network (LAN) connects devices within a limited area such as:

A Wide Area Network (WAN) connects larger geographic areas.

The Internet itself is the world's largest WAN.

Understanding the difference helps explain how local devices communicate with systems across the globe.


28. Firewalls

A firewall controls which network traffic is allowed to enter or leave a computer.

Common Linux firewall systems include:

Firewalls help protect systems from:

Proper firewall configuration is an important part of Linux security.


29. Remote Access with SSH

Linux systems are frequently administered remotely using:


SSH

SSH stands for:


Secure Shell

By default, SSH communicates using:


Port 22

SSH allows administrators to securely manage Linux systems from another computer anywhere on the network—or across the Internet when appropriately configured.


30. Real-World Networking Workflow

A Linux administrator may routinely:

A common troubleshooting sequence might be:

Display interfaces:


ip a

Display the routing table:


ip route

Test Internet connectivity:


ping 8.8.8.8

Test DNS:


ping google.com

Display listening services:


ss -tuln

Following a consistent troubleshooting process often identifies network problems quickly.


31. Networking Is Layered

Network problems can occur at many different layers.

Examples include:

Successful troubleshooting means testing one layer at a time instead of guessing.

THKI Insight

Good network troubleshooting follows a logical sequence.

Solve one layer before moving to the next.


32. Safety Note

Be careful when changing:

Incorrect settings can disconnect the system from the network and make remote administration impossible.

Always verify changes before applying them to production systems.


Chapter Summary

| Command / Concept | Purpose |

|-------------------|---------|

| ip a | Display network interfaces |

| hostname -I | Display assigned IP addresses |

| ping | Test network connectivity |

| DNS | Translate names into IP addresses |

| ss -tuln | Display listening network ports |

| ip route | Display routing table |

| nmcli | Manage NetworkManager connections |

| SSH | Secure remote administration |


Key Ideas

Networking allows Linux systems to communicate with one another.

Understanding:

provides the foundation for troubleshooting and administering Linux networks.

Most networking problems can be solved by testing one component at a time using the appropriate Linux tools.


Practice Exercises

  1. Display your network interfaces.
  2. Display your IP address.
  3. Identify your loopback interface.
  4. Determine whether your IP address is private or public.
  5. Ping:
  1. Explain the difference between pinging an IP address and a hostname.
  2. View your DNS configuration.
  3. Display listening ports using:
  4. 
    ss -tuln
    
  5. Display your routing table.
  6. Identify your default gateway.
  7. Compare TCP and UDP.
  8. Display available Wi-Fi networks using nmcli (if available).
  9. Compare Ethernet and Wi-Fi.
  10. Explain the difference between a LAN and a WAN.
  11. Research which firewall software your Linux distribution uses.
  12. Explain the purpose of SSH.
  13. Describe a troubleshooting workflow using:
  1. Explain why networking problems should be solved one layer at a time.

Looking Ahead

You now understand how Linux systems communicate across local networks and the Internet.

In the next chapter, you will learn how Linux automates repetitive work using scheduled tasks and timers, allowing routine maintenance and administrative jobs to run automatically—even when no one is logged in.