0Pricing
Linux Networking & TCP/IP for Developers · Lesson

IP Addressing & Subnetting

Master the concepts of IPv4 addressing, network classes, and subnetting to efficiently organize and manage IP networks.

IP Addressing & Subnetting is a free Linux Networking & TCP/IP for Developers lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Linux Networking & TCP/IP for Developers learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Your Device's Network Address

Every device connected to a network needs a unique identifier, much like a mailing address for your house. In computer networks, this identifier is called an Internet Protocol (IP) address.

An IP address allows devices to locate and communicate with each other across local networks and the internet.

The IPv4 Address Format

We primarily use IPv4 (Internet Protocol version 4) addresses. These are 32-bit numbers, typically written in a dotted-decimal format.

This format divides the 32 bits into four sections, called octets, separated by dots. Each octet can range from 0 to 255.

  • Example: 192.168.1.100
  • Each 'dot' separates an octet.

IP Addresses in Binary

While we see IP addresses in decimal, computers understand them in binary. Each octet is 8 bits (a byte), so an IPv4 address is 32 bits long (4 octets * 8 bits/octet).

For example, the decimal number 192 in binary is 11000000. Understanding this binary representation is key to comprehending subnetting.

Network and Host Portions

An IP address isn't just one big number; it's logically divided into two parts:

  • Network Portion (Network ID): Identifies the specific network a device belongs to. All devices on the same network share the same network ID.
  • Host Portion (Host ID): Uniquely identifies a specific device (host) within that network.

Think of it like a street address: the street name is the network, and the house number is the host.

What is a Subnet Mask?

How does a computer know which part of an IP address is the network portion and which is the host portion? It uses a subnet mask.

A subnet mask is another 32-bit number that works with an IP address to define the network and host parts. Like an IP address, it's often written in dotted-decimal format (e.g., 255.255.255.0).

How Subnet Masks Work

In binary, a subnet mask consists of a series of 1s followed by a series of 0s.

  • The 1s represent the network portion of the IP address.
  • The 0s represent the host portion.

By comparing an IP address with its subnet mask (a process called 'ANDing'), a device can determine its network ID and its unique host ID.

Historical Network Classes (A, B, C)

Historically, IP addresses were categorized into classes (A, B, C, D, E) based on their first octet. This system, known as classful addressing, defined default subnet masks:

  • Class A: First octet 1-126 (Default mask: 255.0.0.0)
  • Class B: First octet 128-191 (Default mask: 255.255.0.0)
  • Class C: First octet 192-223 (Default mask: 255.255.255.0)

Why Classful Addressing Was Inefficient

While simple, classful addressing led to significant waste of IP addresses. For example, a Class B network could support over 65,000 hosts, far too many for most organizations, but you couldn't easily divide it.

This inflexibility and inefficiency in allocating IP addresses spurred the need for a more granular approach: subnetting.

Subnetting: Dividing Networks

Subnetting is the process of dividing a single large IP network into smaller, more manageable subnetworks (subnets).

It involves borrowing bits from the host portion of an IP address to extend the network portion, creating more, smaller networks. Each subnet then has its own unique network ID.

Benefits of Subnetting

Subnetting offers several crucial advantages for network administrators:

  • Improved Efficiency: Reduces the waste of IP addresses compared to classful addressing.
  • Reduced Network Traffic: Smaller broadcast domains mean less unnecessary traffic.
  • Enhanced Security: Isolates segments of the network, limiting the impact of security breaches.
  • Easier Management: Organizes the network logically, making troubleshooting and administration simpler.

Quick Check: Network ID

You now understand how an IP address and subnet mask work together. Let's test your knowledge.

IP Addressing & Subnetting Recap

Great job! You've learned the fundamentals of IPv4 addressing, including how IP addresses are structured and divided into network and host portions using a subnet mask.

You also explored the historical classful addressing system and understood why subnetting became essential for efficient and flexible network design. Subnetting allows us to create smaller, more manageable subnets, improving network performance and security.

Frequently asked questions

Is the “IP Addressing & Subnetting” lesson free?

Yes — the full text of “IP Addressing & Subnetting” is free to read here on the web, and the Linux Networking & TCP/IP for Developers course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Linux Networking & TCP/IP for Developers course, upgrade to CoddyKit PRO.

What will I learn in “IP Addressing & Subnetting”?

Master the concepts of IPv4 addressing, network classes, and subnetting to efficiently organize and manage IP networks. You practise Linux Networking & TCP/IP for Developers with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Linux Networking & TCP/IP for Developers?

No prior experience is required. Linux Networking & TCP/IP for Developers on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “IP Addressing & Subnetting” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Linux Networking & TCP/IP for Developers lesson?

Yes. Every Linux Networking & TCP/IP for Developers lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Understanding TCP/IP Model
  2. IP Addressing & Subnetting
  3. TCP and UDP Fundamentals
  4. ICMP and the Role of Ping and Traceroute
← Back to Linux Networking & TCP/IP for Developers