# Tính subnet mask

> Nhập IP và prefix CIDR để tính subnet mask, wildcard, địa chỉ mạng, broadcast và khoảng host dùng được. Xử lý đúng cả /31 theo RFC 3021 và /32.

Nhập địa chỉ IPv4 và prefix để biết mặt nạ mạng, địa chỉ mạng, broadcast, khoảng host dùng được và số host.

URL: https://tinhngay.com/lap-trinh/tinh-subnet-mask

## Công thức

```
Tổng địa chỉ = 2^(32 − prefix)
Host dùng được = tổng địa chỉ − 2 (trừ /31 và /32)
```

## Ví dụ

Địa chỉ 192.168.1.10/26 còn 32 − 26 = 6 bit cho phần host, tức 2⁶ = 64 địa chỉ, trừ 2 còn 62 host dùng được, từ 192.168.1.1 tới 192.168.1.62. Mặt nạ là 255.255.255.192, mạng 192.168.1.0, broadcast 192.168.1.63.

## Câu hỏi thường gặp

### Vì sao /24 chỉ có 254 host mà không phải 256?

Vì hai địa chỉ bị dành riêng: đầu dải là địa chỉ mạng, cuối dải là broadcast. Không máy nào được gán hai địa chỉ đó.

### Prefix /31 dùng làm gì?

Dùng cho liên kết điểm–điểm giữa hai router. Theo RFC 3021, dải /31 không có địa chỉ mạng và broadcast riêng nên cả hai địa chỉ đều gán được cho thiết bị, tiết kiệm một nửa so với dùng /30.

### Wildcard mask khác subnet mask thế nào?

Wildcard là subnet mask đảo bit: /24 có subnet mask 255.255.255.0 thì wildcard là 0.0.0.255. Thiết bị Cisco dùng wildcard trong access list và cấu hình định tuyến, còn subnet mask dùng khi gán địa chỉ cho cổng.
