การแบ่งเครือข่ายย่อยและ CIDR เชิงลึก
เชี่ยวชาญการทำซับเน็ตมาสก์ความยาวแปรผันและสัญกรณ์ CIDR เพื่อวางแผนพื้นที่แอดเดรส คำนวณช่วง และรวมเส้นทางอย่างมีประสิทธิภาพ
การแบ่งเครือข่ายย่อยและ CIDR เชิงลึก เป็นบทเรียน Linux Networking & TCP/IP for Developers ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Networking & TCP/IP for Developers และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Networking & TCP/IP for Developers มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
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 bits10.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
/31links (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
ipaddressmodule for verification
This underpins the IPv6, routing, and NAT topics in this course.
คำถามที่พบบ่อย
บทเรียน “การแบ่งเครือข่ายย่อยและ CIDR เชิงลึก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การแบ่งเครือข่ายย่อยและ CIDR เชิงลึก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Networking & TCP/IP for Developers ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Networking & TCP/IP for Developers มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การแบ่งเครือข่ายย่อยและ CIDR เชิงลึก”
เชี่ยวชาญการทำซับเน็ตมาสก์ความยาวแปรผันและสัญกรณ์ CIDR เพื่อวางแผนพื้นที่แอดเดรส คำนวณช่วง และรวมเส้นทางอย่างมีประสิทธิภาพ คุณปฏิบัติ Linux Networking & TCP/IP for Developers ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Networking & TCP/IP for Developers หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Networking & TCP/IP for Developers บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การแบ่งเครือข่ายย่อยและ CIDR เชิงลึก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Linux Networking & TCP/IP for Developers นี้ได้ไหม
ได้ บทเรียน Linux Networking & TCP/IP for Developers ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การกำหนดที่อยู่และแนวคิด IPv6
- โพรโทคอลการกำหนดเส้นทางขั้นสูง (RIP/OSPF)
- การแปลงที่อยู่เครือข่าย (NAT)
- การแบ่งเครือข่ายย่อยและ CIDR เชิงลึก