Trình tính toán mạng con IPv4 là gì?
Trình tính toán mạng con IPv4 là công cụ xác định các thông số của một khối địa chỉ từ địa chỉ IPv4 và tiền tố CIDR. Chẳng hạn, đầu vào 192.168.1.5/24 cho biết địa chỉ cần xét và số bit thuộc phần mạng. Từ đó, công cụ tính mặt nạ mạng, địa chỉ đầu và cuối khối, dải host cùng số địa chỉ khả dụng theo quy tắc tương ứng.
Về kiến thức nền, subnet là một mạng con được xác định bởi phần mạng chung của các địa chỉ. Việc tính subnet giúp bạn biết một IP thuộc khối nào, khối đó rộng bao nhiêu và những địa chỉ nào nằm trong phạm vi cấp phát thông thường. Bạn không cần tự chuyển toàn bộ địa chỉ sang nhị phân để đọc những thông số cơ bản này.
Trong mã được cung cấp, công cụ còn hiển thị wildcard mask, lớp mạng và nhãn loại IP. Tuy nhiên, đây là phép tính trên dữ liệu nhập, không phải hoạt động dò mạng. Kết quả không chứng minh thiết bị đang hoạt động, địa chỉ còn trống hay hai máy có thể kết nối với nhau.
Phạm vi xử lý là IPv4. Công cụ có cách đếm riêng cho /31 và /32; riêng /0 có lỗi tính toán cần tránh sử dụng. Vì vậy, khi đọc báo cáo, bạn cần xét cả tiền tố lẫn ý nghĩa của từng trường, thay vì coi mọi trạng thái “thành công” là xác nhận cấu hình mạng đúng.
Các thuật ngữ cần hiểu khi tính subnet IPv4
CIDR và tiền tố mạng
CIDR biểu diễn mạng bằng dạng IPv4/p, trong đó p là số bit thuộc phần mạng. IPv4 có 32 bit nên phần host còn 32 − p bit. Tiền tố càng lớn, khối địa chỉ càng nhỏ. Ví dụ, /24 để lại 8 bit host, không có nghĩa là mạng chứa 24 thiết bị. Với công cụ này, tiền tố nhập quyết định kích thước khối; nó không được tự phát hiện từ kết nối hoặc suy ra từ nhãn lớp mạng.
Subnet mask
Subnet mask, hay mặt nạ mạng, là giá trị 32 bit có các bit 1 liên tiếp ở phần mạng và các bit 0 ở phần host. Cách viết quen thuộc của mặt nạ /24 là 255.255.255.0. Mặt nạ giúp tách phần mạng khỏi một địa chỉ IPv4, từ đó xác định đầu khối. Không nên nhầm nó với địa chỉ gateway: gateway là một địa chỉ được cấu hình cho vai trò chuyển tiếp, còn mặt nạ mô tả ranh giới bit.
Wildcard mask
Wildcard mask trong báo cáo là phần bù bit của subnet mask: vị trí có bit 1 ở mặt nạ trở thành bit 0 và ngược lại. Ví dụ, mặt nạ 255.255.255.0 tương ứng wildcard 0.0.0.255. Giá trị này tham gia xác định cuối khối địa chỉ. Theo kiến thức nền, wildcard cũng xuất hiện trong một số cấu hình ACL để mô tả các bit cần so khớp hoặc bỏ qua; công cụ không tạo hay triển khai ACL.
Địa chỉ mạng và broadcast
Địa chỉ mạng là đầu khối, nơi toàn bộ bit host bằng 0. Trong subnet IPv4 thông thường, cuối khối có toàn bộ bit host bằng 1 và được dùng làm địa chỉ broadcast hướng mạng. Hai mốc này giúp xác định phạm vi host bên trong. Địa chỉ mạng không phải gateway mặc định. Ngoài ra, với /31 và /32, trường mang nhãn Broadcast cần được hiểu theo ngữ cảnh, không máy móc xem đó là một địa chỉ bắt buộc phải loại bỏ.
Host khả dụng
Host khả dụng là địa chỉ được tính là có thể dùng theo quy tắc của loại subnet. Với mạng thông thường, phép đếm loại địa chỉ mạng và broadcast; /31 và /32 có cách xử lý khác. “Khả dụng” ở đây chỉ nói về cấu trúc địa chỉ, không nói về tình trạng sử dụng. Một IP trong dải có thể đã được cấp cho máy khác, dành cho gateway hoặc nằm trong vùng đặt trước của hệ thống DHCP.
Đầu vào cần nhập và cách đọc báo cáo subnet
IPv4 và CIDR: dữ liệu nào quyết định kết quả?
Đầu vào nên viết đúng dạng 192.168.1.5/24: IPv4 gồm bốn nhóm thập phân, mỗi nhóm từ 0 đến 255, tiếp theo là tiền tố nguyên. Bộ kiểm tra chấp nhận tiền tố từ 0 đến 32, nhưng /0 có lỗi triển khai được giải thích ở phần giới hạn. Không có ô nhập trực tiếp mặt nạ dạng 255.255.255.0.
Nếu chỉ nhập IPv4, công cụ sử dụng /24. Khoảng trắng ở đầu, cuối và bên trong chuỗi được loại bỏ trước khi phân tích. Một số cách viết octet có số 0 đứng đầu cũng được chấp nhận và đọc theo hệ thập phân; dù vậy, cách viết rõ ràng, không có ký tự dư vẫn là lựa chọn nên dùng.
Ý nghĩa các nhóm thông số trong báo cáo
- Mặt nạ: subnet mask và wildcard mô tả phần mạng, phần host.
- Ranh giới: Network và Broadcast cho biết đầu, cuối khối tính được.
- Dung lượng: dải host và số host biểu thị phạm vi cùng số địa chỉ theo quy tắc đếm.
- Phân loại: IP Class và IP Type là nhãn tham khảo về địa chỉ đầu vào.
Số host có đơn vị là địa chỉ, không phải tốc độ, số kết nối hay số thiết bị đang trực tuyến. Dấu phân nhóm hàng nghìn có thể khác theo thiết lập ngôn ngữ của trình duyệt mà không làm thay đổi giá trị.
Trạng thái hiển thị và IP được lấy tự động
Công cụ tính lại khi nội dung thay đổi, đồng thời hỗ trợ Enter và nút tính toán. Khi dữ liệu rỗng hoặc sai, các số cũ có thể còn hiển thị nhưng bị làm mờ; không nên đọc chúng như báo cáo của đầu vào mới.
Chức năng lấy IP gửi yêu cầu tới dịch vụ bên ngoài rồi gắn /24 vào địa chỉ nhận được. Địa chỉ nhìn thấy từ dịch vụ không nhất thiết là IP LAN của máy. Tiền tố đi kèm chỉ là mặc định để tính, không phải mặt nạ thật đã được dò từ kết nối.
Cách tính subnet mask, địa chỉ mạng và bước nhảy subnet
Từ tiền tố CIDR đến subnet mask và wildcard
Theo quy tắc subnet, mặt nạ /p gồm p bit 1, sau đó là 32 − p bit 0. Vì mỗi octet chứa 8 bit, /24 có ba octet toàn bit 1 và một octet toàn bit 0, tức 255.255.255.0. Với /30, octet cuối là 11111100, tương ứng 252 trong hệ thập phân.
Wildcard đảo từng bit của mặt nạ. Với các mặt nạ CIDR này, có thể tính bằng cách lấy 255 trừ từng octet: /30 có wildcard 0.0.0.3. Triển khai thực hiện các phép toán trên số nguyên không dấu 32 bit rồi chuyển kết quả về dạng IPv4. Cách tạo mặt nạ cho kết quả phù hợp ở /1 đến /32, nhưng không đúng tại /0.
Tìm ranh giới mạng, số host và bước nhảy
Địa chỉ mạng được tính bằng phép AND giữa IP và subnet mask: giữ bit mạng, đưa bit host về 0. Cuối khối được tính bằng phép OR giữa địa chỉ mạng và wildcard: đưa toàn bộ bit host về 1.
Kích thước khối theo kiến thức nền là 232 − p địa chỉ. Trong nhánh thông thường của công cụ, áp dụng cho /1 đến /30, host đầu bằng network + 1, host cuối bằng cuối khối − 1; số host bằng 232 − p − 2.
Bước nhảy tại octet ranh giới có thể tính bằng 256 trừ giá trị octet mặt nạ tương ứng. Với /30, bước nhảy là 256 − 252 = 4: các khối bắt đầu ở .0, .4, .8 và tiếp tục như vậy. Đây là cách suy ra để hiểu ranh giới; giao diện không có trường bước nhảy riêng. Không áp dụng phép trừ này tùy tiện vào một octet bất kỳ.
Vì sao /31 và /32 có cách đếm riêng?
Với /31, khối chỉ gồm hai địa chỉ. Công cụ giữ cả hai làm host, phù hợp với liên kết điểm-điểm có hỗ trợ /31. Với /32, khối chỉ có một địa chỉ và số host được đặt bằng 1. Trường Broadcast vẫn xuất hiện, nhưng tên trường không quyết định vai trò thực tế của địa chỉ trong hai trường hợp này. Riêng /0 phải tách khỏi quy tắc chuẩn vì lỗi tạo mặt nạ, không phải vì mạng /0 vốn có số host âm.
Ví dụ tính subnet /24, /30, /31 và /32
Mạng LAN giả định với /24
Giả sử cần phân tích 192.168.1.5/24 trong một LAN minh họa. Có 8 bit host, nên khối chứa 256 địa chỉ. Mặt nạ giữ ba octet đầu; octet cuối của network trở thành 0 và của cuối khối trở thành 255. Bảng dưới là kết quả suy ra từ logic được cung cấp, không phải xác nhận một mạng đang hoạt động.
| Thông số | Giá trị |
|---|---|
| Subnet mask | 255.255.255.0 |
| Wildcard mask | 0.0.0.255 |
| Network | 192.168.1.0 |
| Broadcast | 192.168.1.255 |
| Dải host | 192.168.1.1–192.168.1.254 |
| Số host | 254 địa chỉ |
Địa chỉ .5 nằm trong dải host tính được; báo cáo gắn nhãn Class C và Private. Nếu bỏ /24 khỏi đầu vào này, kết quả subnet không đổi vì công cụ mặc định dùng /24, chứ không vì đã nhận diện cấu hình LAN.
Khối bốn địa chỉ với /30
Với giả định 192.168.1.6/30, mặt nạ là 255.255.255.252 và wildcard là 0.0.0.3. Bước nhảy 4 đặt octet cuối 6 vào khối từ 4 đến 7. Vì vậy, network là 192.168.1.4, Broadcast là 192.168.1.7, còn dải host là 192.168.1.5–192.168.1.6.
Khối có bốn địa chỉ nhưng chỉ hai host theo cách đếm thông thường. Điều này minh họa vì sao phải phân biệt kích thước khối với số địa chỉ cấp cho thiết bị. Nó không cho biết .5 hoặc .6 đã được sử dụng hay chưa.
Đối chiếu liên kết /31 và địa chỉ đơn /32
Hai đầu vào sau đều dùng địa chỉ giả định 10.0.0.10. Trường hợp /31 chỉ phù hợp để diễn giải thành hai đầu liên kết khi thiết bị và ngữ cảnh điểm-điểm hỗ trợ cách dùng đó.
| Thông số | 10.0.0.10/31 | 10.0.0.10/32 |
|---|---|---|
| Subnet mask | 255.255.255.254 | 255.255.255.255 |
| Wildcard | 0.0.0.1 | 0.0.0.0 |
| Network | 10.0.0.10 | 10.0.0.10 |
| Trường Broadcast | 10.0.0.11 | 10.0.0.10 |
| Dải host | 10.0.0.10–10.0.0.11 | 10.0.0.10–10.0.0.10 |
| Số host | 2 | 1 |
Ở /31, .11 không bị loại chỉ vì nằm trong trường Broadcast. Ở /32, hai đầu dải trùng nhau vì khối là một địa chỉ đơn; kết quả không biểu thị một LAN có thêm các địa chỉ lân cận.
Ứng dụng kết quả subnet trong lập kế hoạch mạng
Ước lượng dung lượng địa chỉ
Số host là điểm xuất phát để đối chiếu subnet với nhu cầu thiết bị. Khi lập kế hoạch, cần tính cả gateway, thiết bị hạ tầng, địa chỉ tĩnh và phần dự phòng tăng trưởng. Một khối có 254 host theo phép tính không đồng nghĩa bạn nên cấp đủ 254 địa chỉ cho máy người dùng.
Nên phân biệt tổng dung lượng với phần còn lại sau cấp phát. Công cụ chỉ tính đại lượng thứ nhất theo tiền tố; để biết phần còn lại, bạn cần thông tin quản lý địa chỉ của hệ thống thực tế. Nó cũng không tự lựa chọn tiền tố tối ưu hoặc lập phương án VLSM cho nhiều nhóm thiết bị.
Đối chiếu kế hoạch cấp phát và mô tả mạng
Network kèm CIDR giúp mô tả chính xác một khối, còn dải host giúp kiểm tra địa chỉ dự kiến có nằm trong phạm vi đó hay không. Hai IP thuộc cùng khối theo phép tính vẫn có thể không liên lạc được do VLAN, tường lửa, cấu hình hoặc kết nối vật lý. Công cụ không cấu hình router hay DHCP thay bạn.
Wildcard có thể làm dữ liệu tham khảo khi đọc một số ACL, nhưng việc chọn quy tắc và áp dụng vẫn thuộc cấu hình hệ thống. Nếu cần nghiên cứu việc liệt kê từng địa chỉ thay vì chỉ biết hai đầu dải, trình mở rộng dải IPv4 là một chủ đề công cụ liên quan; không nên hiểu hai công cụ tự tích hợp hoặc tự chuyển dữ liệu cho nhau.
Tính subnet bằng CIDR khác gì phân lớp IP và chuyển đổi địa chỉ?
Lớp mạng lịch sử và tiền tố CIDR
Phân lớp A, B, C là cách phân loại lịch sử dựa trên phần đầu địa chỉ. Trong công cụ, nhãn lớp được xác định từ octet đầu tiên, còn phép tính subnet sử dụng tiền tố đã nhập. Hai thông tin này có vai trò khác nhau và không thay thế nhau.
Ví dụ, 10.0.0.10/24 mang nhãn Class A nhưng vẫn được tính theo /24, với mặt nạ 255.255.255.0 và network 10.0.0.0. Công cụ không tự đổi nó thành /8. Tương tự, nếu chỉ nhập địa chỉ bắt đầu bằng 10, tiền tố mặc định vẫn là /24, không phải mặt nạ phân lớp lịch sử.
Chuyển đổi một địa chỉ và tính một khối địa chỉ
Chuyển đổi biểu diễn IPv4 tập trung vào cùng một địa chỉ dưới cách thể hiện khác. Tính subnet lại cần thêm mặt nạ hoặc tiền tố để xác định khối chứa địa chỉ đó. Vì vậy, hiểu biểu diễn của IP chưa đủ để biết phạm vi mạng. Bạn có thể tham khảo chủ đề chuyển đổi địa chỉ IPv4 khi cần phân biệt hai bài toán, nhưng không nên mặc định công cụ liên quan có mọi định dạng chuyển đổi.
Tính tay giúp hiểu cách bit mạng được giữ lại và bước nhảy hình thành. Công cụ giảm thao tác lặp, nhất là khi đối chiếu nhiều tiền tố. Tuy nhiên, tự động hóa không loại bỏ nhu cầu kiểm tra đầu vào, hiểu ngoại lệ và đối chiếu với cấu hình thực tế.
Giới hạn và những kết quả cần kiểm tra lại
Lỗi /0 và đầu vào tiền tố chưa chặt
Không sử dụng kết quả /0 của triển khai này. Quy tắc dịch bit khiến mặt nạ thành 255.255.255.255 thay vì mặt nạ /0 chuẩn. Network và Broadcast trùng IP nhập, số host thành −1 và dải host báo không có host khả dụng, dù trạng thái vẫn báo thành công.
Phần tiền tố cũng chưa được kiểm tra chặt: /24abc hoặc /24.9 có thể được đọc thành /24; phần sau dấu gạch chéo thứ hai bị bỏ qua. Đây không phải hỗ trợ CIDR lẻ. Hãy nhập tiền tố nguyên, không thêm hậu tố hoặc dấu phân cách dư.
Nhãn phân loại không thay thế kiểm tra mạng thực tế
Nhãn Public là nhánh còn lại sau khi nhận diện một số dải Private, Loopback, APIPA và CGNAT. Nó không loại trừ đầy đủ địa chỉ dành riêng hay mục đích đặc biệt. Nhãn Class Unknown cho octet đầu 0 hoặc 127 cũng không đồng nghĩa sai cú pháp IPv4.
Dải host không phản ánh địa chỉ đã cấp, gateway hoặc phần dự trữ. Với /31, cần xác nhận hỗ trợ của thiết bị và ngữ cảnh liên kết trước khi áp dụng.
Phụ thuộc dịch vụ lấy IP và phạm vi chưa xác minh
Lấy IP phụ thuộc kết nối và phản hồi dịch vụ bên ngoài; không thể kết luận mọi lỗi đều do trình chặn quảng cáo. Đoạn mã cũng không đủ để xác nhận chính sách lưu trữ, nhật ký hoặc quyền riêng tư của toàn trang và dịch vụ.
Các kết quả ở đây được suy ra từ mã, không phải chạy thử website. Trong phần được cung cấp không có chức năng IPv6, quét mạng, chia VLSM hoặc xuất tệp. Không có dữ liệu mạng thực tế để xác nhận subnet thật của người dùng.
Câu hỏi thường gặp
Tôi chỉ nhập IPv4 mà không thêm CIDR thì kết quả dựa trên mạng nào?
Kết quả dựa trên giả định /24 do công cụ đặt sẵn, không dựa trên subnet đã phát hiện từ thiết bị. Điều đó có nghĩa báo cáo trả lời câu hỏi “IP này thuộc khối nào nếu dùng /24?”. Nếu mạng thật sử dụng /23, /27 hoặc tiền tố khác, bạn cần nhập giá trị tương ứng từ cấu hình hoặc kế hoạch mạng. Không nên lấy mặc định này làm căn cứ thay đổi mặt nạ của máy đang sử dụng.
Nút IP của tôi có tìm được subnet mask thật của kết nối không?
Không. Chức năng này nhận địa chỉ IP từ dịch vụ bên ngoài rồi tự thêm /24 để tính. Phản hồi đó không cung cấp căn cứ xác định mặt nạ LAN, tiền tố trên thiết bị hay cấu trúc mạng phía nhà cung cấp. Khi có NAT hoặc VPN, địa chỉ dịch vụ nhìn thấy còn có thể khác địa chỉ trên máy. Muốn biết subnet thật, cần đối chiếu cấu hình giao diện mạng hoặc thông tin do đơn vị quản trị cung cấp.
Subnet /30 có bao nhiêu địa chỉ và bao nhiêu host khả dụng?
Subnet /30 có bốn địa chỉ trong khối và hai host khả dụng theo quy tắc thông thường. Hai bit host tạo bốn tổ hợp; địa chỉ đầu dành cho network và địa chỉ cuối dùng làm broadcast hướng mạng. Hai địa chỉ ở giữa là phạm vi host tính được. Khi áp dụng, vẫn cần xem địa chỉ nào đã được cấp hoặc dành trước. Con số hai không có nghĩa công cụ đã tìm thấy hai IP đang trống trong hệ thống.
Vì sao /31 có hai host còn /32 có một host?
Vì công cụ dùng hai nhánh riêng, không áp dụng phép trừ hai địa chỉ của subnet thông thường. /31 chứa hai địa chỉ và cả hai được tính là host cho cách dùng liên kết điểm-điểm có hỗ trợ. /32 chứa đúng một địa chỉ nên được báo là một host. Đây là khác biệt về phạm vi và ngữ cảnh sử dụng, không phải lỗi đếm. Đặc biệt, cần kiểm tra khả năng hỗ trợ /31 thay vì áp dụng nó tùy ý cho một LAN.
Tại sao nhập /0 lại nhận số host âm dù trạng thái báo thành công?
Đó là lỗi ở cách tạo mặt nạ bằng phép dịch bit trong triển khai, không phải đặc điểm của subnet /0. Mặt nạ bị tạo thành toàn bit 1 khiến đầu và cuối khối trùng nhau; nhánh đếm thông thường tiếp tục trừ và thu được −1. Trạng thái thành công chỉ cho thấy luồng xử lý đã hoàn tất, không bảo đảm đúng về mạng học. Bạn nên loại kết quả này khỏi việc lập kế hoạch và kiểm tra /0 bằng phương pháp độc lập.
Một IP nằm trong dải host khả dụng có chắc đang trống để cấp phát không?
Không. Nằm trong dải chỉ chứng minh địa chỉ phù hợp với phạm vi host theo tiền tố đang xét. Nó có thể đã thuộc về thiết bị khác, được đặt trước cho DHCP hoặc dành cho hạ tầng. Công cụ không kiểm tra trùng IP hay trạng thái hoạt động. Trước khi cấp phát, cần đối chiếu hồ sơ quản lý địa chỉ và cấu hình liên quan; ngay cả việc không nhận phản hồi từ một thiết bị cũng chưa đủ chứng minh địa chỉ chưa được sử dụng.
Địa chỉ được gắn nhãn Public có chắc truy cập được từ Internet không?
Không. Nhãn Public trong công cụ không phải chứng nhận khả năng truy cập Internet. Bộ phân loại chỉ nhận diện một số dải cụ thể rồi gắn Public cho phần còn lại, nên có thể bỏ sót các phạm vi có mục đích đặc biệt. Ngoài phân loại địa chỉ, khả năng truy cập còn phụ thuộc định tuyến, NAT, tường lửa và dịch vụ đích. Vì thế, cần xem nhãn này là thông tin tham khảo giới hạn, không dùng nó thay cho kiểm tra kết nối và cấu hình thực tế.


17 bình luận
Đỗ Hải Quyên
Mình thấy có JS Benchmark bên dưới, công cụ đó dùng để so tốc độ chạy các đoạn JavaScript phải không?
Phạm Quốc Thủy
Ủa địa chỉ /31 với /32 thì số host sử dụng được tính sao nhỉ? Mình chưa hiểu hai trường hợp này.
Hoàng Thị Vy
tool ngon á, ước gì có thêm lịch sử mấy subnet vừa tính để quay lại so sánh, khỏi nhập đi nhập lại.
Huỳnh Tuấn Trang
Mình thích việc có phần giới thiệu trình tính toán mạng con IPv4 là gì ngay trên trang, không phải mở thêm tab để tra.
Đặng Xuân Phương
Nếu có bảng minh họa IP ở dạng nhị phân thì người mới sẽ hiểu cách xác định phần mạng và phần host dễ hơn.
Ngô Ngọc Hùng
minh dung tren dien thoai, mong phan ket qua gon hon chut de khoi phai keo qua lai.
Đặng Đức Linh
Dùng nhanh, tên các mục cũng rõ ràng. Riêng phần mô tả thuật ngữ nếu có ví dụ ngay dưới mỗi mục thì dễ đọc hơn nữa.
Ngô Thị Tú
nhap subnet mask dang 255.255.255.0 duoc ko hay chi nhap /24 thoi ad?
Hồ Thanh Kiên
Phần thuật ngữ nên thêm giải thích sự khác nhau giữa subnet mask và wildcard mask, hai cái này dễ bị nhầm lắm.
Đặng Hữu Nga
Mình vừa thử công cụ chuyển Docker run sang Docker compose từ mục liên quan, đúng cái đang cần cho dự án luôn.
Nguyễn Gia Quang
Bảng tổng hợp Regex trong mục công cụ tương tự khá hợp nhu cầu của mình. Một trang mà tra được nhiều thứ, đỡ mất công tìm.
Dương Hải Vy
Tool xịn nha, làm bài tập subnet đỡ phải bấm máy tính liên tục :))
Lý Gia Phúc
Mong có thêm nút sao chép kết quả để mình dán vào tài liệu cấu hình mạng cho nhanh.
Võ Hải Trang
Phần giải thích các thuật ngữ subnet IPv4 hữu ích thật, nhất là với người mới hay nhầm network address và broadcast address như mình.
Lý Thanh Thắng
giao dien de hieu, minh moi hoc mang ma dung van thay on 👍
Trần Tuấn Quang
Cho mình hỏi muốn chia một mạng /24 thành 4 subnet bằng nhau thì nên nhập như thế nào vậy?
Lý Tuấn Tài
Mình nhập IP với prefix /24 là xem được ngay thông tin mạng con, tiện hơn ngồi tính tay nhiều. Công cụ khá dễ dùng!