Linux Networking & TCP/IP for Developers · Lekcja

Podsieci i CIDR — zaawansowane zagadnienia

Opanuj maskowanie podsieci o zmiennej długości oraz notację CIDR, aby planować przestrzeń adresową, obliczać zakresy i efektywnie agregować trasy.

Lekcja 4 z 413 kroki

Podsieci i CIDR — zaawansowane zagadnienia to bezpłatna lekcja Linux Networking & TCP/IP for Developers na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Networking & TCP/IP for Developers, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Networking & TCP/IP for Developers zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

Why Subnetting Matters

Subnetting splits a large network into smaller, manageable segments. It improves security, performance, and address efficiency.

CIDR (Classless Inter-Domain Routing) replaced rigid class A/B/C boundaries with flexible prefix lengths.

CIDR Notation

A CIDR block is written as address/prefix. The prefix counts the number of leading network bits.

  • 192.168.1.0/24 — 24 network bits, 8 host bits
  • 10.0.0.0/8 — 8 network bits, 24 host bits

The Subnet Mask

A prefix maps directly to a dotted-decimal mask.

  • /24 = 255.255.255.0
  • /26 = 255.255.255.192
  • /30 = 255.255.255.252

Each set bit in the mask is a network bit.

Counting Hosts

Host count = 2^(host bits) minus 2 (network and broadcast addresses).

  • /24 -> 2^8 - 2 = 254 hosts
  • /26 -> 2^6 - 2 = 62 hosts
  • /30 -> 2^2 - 2 = 2 hosts (perfect for point-to-point links)

Finding the Network Address

Bitwise-AND the IP with the mask to get the network address. The example below computes it in Python.

import ipaddress
net = ipaddress.ip_network('192.168.5.130/26', strict=False)
print('network:', net.network_address)
print('broadcast:', net.broadcast_address)

Determining the Range

For 192.168.5.130/26: block size is 64, so subnets start at .0, .64, .128, .192.

The .130 address falls in the 192.168.5.128/26 subnet (usable .129 to .190, broadcast .191).

Variable-Length Subnet Masking (VLSM)

VLSM lets different subnets use different prefix lengths from one block, matching size to need.

Allocate largest subnets first to avoid fragmentation and wasted address space.

Route Aggregation (Supernetting)

Adjacent subnets can be summarized into one larger prefix, shrinking routing tables.

  • 192.168.0.0/24 + 192.168.1.0/24 -> 192.168.0.0/23

Aggregation only works when blocks are contiguous and aligned.

Subnetting with Python

The ipaddress module can split a network into smaller subnets automatically.

import ipaddress
big = ipaddress.ip_network('10.0.0.0/24')
for sub in big.subnets(new_prefix=26):
    print(sub)

Checking Membership

Verify whether an address belongs to a network — essential for ACLs and routing decisions.

import ipaddress
addr = ipaddress.ip_address('10.0.0.45')
net = ipaddress.ip_network('10.0.0.0/26')
print(addr in net)

Common Pitfalls

Watch out for:

  • Forgetting to subtract network and broadcast addresses
  • Misaligned aggregation that overlaps other blocks
  • Using /31 links (valid per RFC 3021 for point-to-point) without device support

Quick Check

Test your subnetting math.

Recap

You can now plan address space confidently:

  • Read and convert CIDR prefixes and masks
  • Calculate network, broadcast, and host ranges
  • Apply VLSM to size subnets to need
  • Aggregate contiguous blocks to shrink routing tables
  • Use Python's ipaddress module for verification

This underpins the IPv6, routing, and NAT topics in this course.

Bezpłatny start

Ucz się Linux Networking & TCP/IP for Developers dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
12
Lekcje
48

Często zadawane pytania

Czy lekcja „Podsieci i CIDR — zaawansowane zagadnienia” jest bezpłatna?

Tak — pełny tekst „Podsieci i CIDR — zaawansowane zagadnienia” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Networking & TCP/IP for Developers, przejdź na CoddyKit PRO. Kurs Linux Networking & TCP/IP for Developers zawiera 4 lekcji w sumie.

Co nauczysz się w „Podsieci i CIDR — zaawansowane zagadnienia”?

Opanuj maskowanie podsieci o zmiennej długości oraz notację CIDR, aby planować przestrzeń adresową, obliczać zakresy i efektywnie agregować trasy. Ćwiczysz Linux Networking & TCP/IP for Developers z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Linux Networking & TCP/IP for Developers?

Nie wymagamy żadnego doświadczenia. Linux Networking & TCP/IP for Developers w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Podsieci i CIDR — zaawansowane zagadnienia”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Linux Networking & TCP/IP for Developers?

Tak. Każda lekcja Linux Networking & TCP/IP for Developers zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Adresowanie i koncepcje IPv6
  2. Zaawansowane protokoły routingu (RIP/OSPF)
  3. Translacja adresów sieciowych (NAT)
  4. Podsieci i CIDR — zaawansowane zagadnienia
← Powrót do Linux Networking & TCP/IP for Developers