Máy tính mạng con IP: CIDR, mặt nạ mạng con & dải host
Tính toán thông tin mạng con IPv4 từ địa chỉ và tiền tố CIDR: địa chỉ mạng và broadcast, dải host khả dụng, mặt nạ mạng con và mặt nạ wildcard.
IP Subnet Calculator
Results
Subnet Mask in Binary
Results follow RFC 791 (IPv4 addressing), RFC 4632 (CIDR notation), RFC 950 with RFC 919 and RFC 922 (network and broadcast reservation), and RFC 3021 (/31 point-to-point links).
Tài liệu hướng dẫn
Máy tính mạng con IP
Máy tính mạng con IP tính toán các chi tiết mạng đằng sau một địa chỉ IPv4 và độ dài tiền tố. Từ hai đầu vào này, máy tính xác định địa chỉ mạng, địa chỉ quảng bá, phạm vi địa chỉ máy chủ có thể sử dụng, mặt nạ mạng con và mặt nạ ký tự đại diện.
Chức năng của máy tính
Công cụ nhận một địa chỉ IPv4 được viết bằng bốn số phân tách bằng dấu chấm, chẳng hạn như 192.168.1.10, cùng độ dài tiền tố từ 0 đến 32. Cũng có thể viết cả hai cùng nhau theo dạng CIDR, chẳng hạn như 192.168.1.10/24: phần /24 sẽ tự động chuyển vào trường tiền tố.
Máy tính trả về:
- Ký hiệu CIDR: mạng ở dạng địa chỉ/tiền tố, chẳng hạn như 192.168.1.0/24.
- Địa chỉ mạng: địa chỉ đầu tiên trong khối. Địa chỉ này định danh chính mạng đó.
- Địa chỉ broadcast: địa chỉ cuối cùng trong khối. Thông điệp gửi đến địa chỉ này sẽ đến mọi máy chủ trong mạng con.
- Phạm vi địa chỉ host khả dụng: địa chỉ đầu tiên và cuối cùng mà một thiết bị thực sự có thể sử dụng.
- Máy chủ có thể sử dụng và tổng số địa chỉ: số địa chỉ trong khối và số địa chỉ còn trống cho các thiết bị.
- Mặt nạ mạng con và mặt nạ ký tự đại diện: mặt nạ ở dạng số phân tách bằng dấu chấm, chẳng hạn như 255.255.255.0, và dạng đảo của nó, 0.0.0.255.
- Mặt nạ mạng con được triển khai theo từng bit, với tám bit trong mỗi octet.
Các kết quả tuân theo RFC 791 (địa chỉ IPv4), RFC 4632 (ký hiệu CIDR), RFC 950 cùng RFC 919 và RFC 922 (các địa chỉ dành riêng cho mạng và quảng bá), và RFC 3021 (các liên kết điểm-điểm /31).
Cách chia mạng con hoạt động
Một địa chỉ IPv4 là một số 32 bit. Người ta viết địa chỉ này thành bốn octet, mỗi octet có 8 bit và chứa giá trị từ 0 đến 255. Độ dài tiền tố chia 32 bit đó thành hai phần. Các bit đầu tiên, với số lượng do tiền tố quy định, định danh mạng. Các bit còn lại định danh một máy chủ bên trong mạng đó.
Một mạng /24 dành 24 bit cho phần mạng và để lại 8 bit cho máy chủ. Tám bit máy chủ tạo ra 2⁸ = 256 địa chỉ. Một mạng /26 chỉ còn 6 bit máy chủ, nên chứa 2⁶ = 64 địa chỉ.
Mặt nạ mạng con biểu diễn cùng phép phân chia dưới dạng một địa chỉ: một bit 1 cho mỗi bit mạng và một bit 0 cho mỗi bit máy chủ. Với /24, mặt nạ là 255.255.255.0. Mặt nạ ký tự đại diện đảo ngược mọi bit của mặt nạ mạng con. Danh sách kiểm soát truy cập của bộ định tuyến, đặc biệt trên thiết bị Cisco, đối sánh địa chỉ bằng mặt nạ ký tự đại diện, vì vậy công cụ hiển thị cả hai loại mặt nạ.
Công thức mạng con
Với độ dài tiền tố p từ 0 đến 30, máy tính áp dụng các quy tắc sau, được xác định bởi RFC 950 và RFC 4632:
- Mặt nạ mạng con = p bit cao nhất của từ 32 bit được đặt thành 1.
- Địa chỉ mạng = địa chỉ IP AND mặt nạ mạng con (phép AND theo bit chỉ giữ lại một bit khi cả hai đầu vào đều có 1).
- Địa chỉ quảng bá = địa chỉ mạng OR mặt nạ ký tự đại diện (mọi bit máy chủ được đặt thành 1).
- Tổng số địa chỉ = 2⁽³²⁻ᵖ⁾.
- Máy chủ có thể sử dụng = 2⁽³²⁻ᵖ⁾ − 2. Phép trừ loại bỏ địa chỉ mạng và địa chỉ quảng bá, vốn được RFC 950 và RFC 919 dành riêng.
- Máy chủ có thể sử dụng đầu tiên = địa chỉ mạng + 1. Máy chủ có thể sử dụng cuối cùng = địa chỉ quảng bá − 1.
Hai độ dài tiền tố tuân theo các quy tắc khác. Một mạng /31 chứa chính xác 2 địa chỉ và RFC 3021 cho phép cả hai là máy chủ có thể sử dụng trên một liên kết điểm-điểm, hoàn toàn không có địa chỉ quảng bá. Một mạng /32 định danh một địa chỉ duy nhất: tổng cộng 1, có thể sử dụng 1, không có quảng bá. Với hai trường hợp này, công cụ ghi nhãn địa chỉ đầu tiên là "Cơ sở tiền tố" thay vì "Địa chỉ mạng", vì không khối nào dành riêng một địa chỉ để định danh mạng.
Mọi kết quả đều xuất phát từ phép tính số học trên một số 32 bit. Công cụ không liệt kê từng địa chỉ, vì vậy một mạng /0 bao phủ toàn bộ 4.294.967.296 địa chỉ IPv4 được tính nhanh như một mạng /32.
Ví dụ minh họa
Với địa chỉ 10.128.7.33 và độ dài tiền tố /26:
- Mặt nạ mạng con: 26 bit một theo sau bởi 6 bit không là 11111111,11111111.11111111,11000000, tương ứng với 255.255.255.192.
- Địa chỉ mạng: thực hiện AND địa chỉ với mặt nạ. Ba octet đầu giữ nguyên. Ở octet cuối, 33 là 00100001 trong hệ nhị phân; AND với 11000000 cho 00000000, tương đương 0. Địa chỉ mạng là 10.128.7.0, nên ký hiệu CIDR là 10.128.7.0/26.
- Địa chỉ quảng bá: đặt tất cả 6 bit máy chủ thành 1. Octet cuối trở thành 00111111, tương đương 63. Địa chỉ quảng bá là 10.128.7.63.
- Số lượng: 2⁶ = 64 địa chỉ tổng cộng, và 64 − 2 = 62 máy chủ có thể sử dụng.
- Phạm vi máy chủ: từ 10.128.7.1 đến 10.128.7.62.
- Mặt nạ ký tự đại diện: dạng đảo của mặt nạ mạng con, 0.0.0.63.
Ví dụ thứ hai với đầu vào mặc định của công cụ, 192.168.1.10/24: mạng 192.168.1.0, quảng bá 192.168.1.255, máy chủ từ 192.168.1.1 đến 192.168.1.254, 254 máy chủ có thể sử dụng trên tổng số 256 địa chỉ, mặt nạ mạng con 255.255.255.0, mặt nạ ký tự đại diện 0.0.0.255.
Các quy ước mà công cụ tuân theo
Các octet có thêm số 0 ở đầu bị từ chối. Công cụ từ chối 010.1.1.1 thay vì đọc nó là 10.1.1.1. Đây là chủ ý. Hàm POSIX inet_aton, được ping, curl và hầu hết trình phân giải của hệ điều hành sử dụng, coi octet có số 0 ở đầu là hệ bát phân, nên 010.1.1.1 có nghĩa là 8.1.1.1 đối với các chương trình đó. Không có cách diễn giải thập phân hay bát phân nào phù hợp với mọi trình đọc, nên công cụ không chấp nhận cả hai. Tiền tố viết là /08 cũng bị từ chối vì cùng lý do.
Số máy chủ bị trừ đi hai. Một số máy tính báo kích thước thô của khối là số máy chủ. Công cụ này tuân theo RFC 950: trong mọi khối từ /0 đến /30, phần máy chủ toàn số không định danh mạng và phần máy chủ toàn số một là địa chỉ quảng bá, nên cả hai đều bị loại trừ; do đó mạng /24 có 254 máy chủ có thể sử dụng, không phải 256.
Một mạng /31 có hai máy chủ có thể sử dụng. Các tài liệu cũ, được viết trước RFC 3021 (công bố năm 2000), coi mạng /31 là không thể sử dụng vì trừ hai địa chỉ dành riêng sẽ còn lại số không. RFC 3021 bỏ cả hai địa chỉ dành riêng trên các liên kết điểm-điểm, và các bộ định tuyến đã hỗ trợ điều này trong nhiều thập kỷ, nên công cụ báo 2 máy chủ có thể sử dụng và không có địa chỉ quảng bá.
Chấp nhận mọi tiền tố từ /0 đến /32. Một mạng /0 là khối hợp lệ bao phủ toàn bộ không gian IPv4, phù hợp với cách 0.0.0.0/0 xuất hiện trong bảng định tuyến dưới dạng tuyến mặc định.
Chỉ IPv4. IPv6 (RFC 4291) sử dụng địa chỉ 128 bit và ký hiệu khác, nên nằm ngoài phạm vi của công cụ này. Công cụ cũng không đánh dấu các dải dành cho mục đích đặc biệt như địa chỉ riêng hoặc địa chỉ loopback (RFC 6890); công cụ chỉ báo kết quả tính toán địa chỉ.
Các câu hỏi thường gặp
Một mạng /24 có bao nhiêu máy chủ có thể sử dụng? 254. Một mạng /24 để lại 8 bit máy chủ, tạo ra 2⁸ = 256 địa chỉ. Hai địa chỉ được dành riêng: địa chỉ mạng và địa chỉ quảng bá. Như vậy còn 254 địa chỉ cho các thiết bị.
Mặt nạ ký tự đại diện là gì? Dạng đảo theo từng bit của mặt nạ mạng con. Ở nơi mặt nạ mạng con có 1, mặt nạ ký tự đại diện có 0, và ngược lại. Với mặt nạ 255.255.255.0, mặt nạ ký tự đại diện là 0.0.0.255. Danh sách kiểm soát truy cập trên nhiều bộ định tuyến sử dụng mặt nạ ký tự đại diện để mô tả những địa chỉ mà một quy tắc đối sánh.
Tại sao mạng /31 không hiển thị địa chỉ quảng bá? Một mạng /31 chỉ chứa hai địa chỉ. Nếu dành một địa chỉ cho mạng và một địa chỉ cho quảng bá thì sẽ không còn địa chỉ nào, nên RFC 3021 xác định /31 là liên kết điểm-điểm, trong đó cả hai địa chỉ đều là máy chủ và không tồn tại địa chỉ quảng bá. Máy tính báo 2 máy chủ có thể sử dụng và đánh dấu quảng bá là không áp dụng.
Tại sao 010.1.1.1 bị từ chối thay vì được đọc là 10.1.1.1? Vì các hệ điều hành không thống nhất với cách đọc thập phân thông thường. POSIX inet_aton đọc octet có số 0 ở đầu là hệ bát phân, nên 010 có nghĩa là 8 trên hầu hết hệ thống. Từ chối đầu vào là cách duy nhất không thể âm thầm cho kết quả khác với cách máy tính của chính người dùng xử lý.
Tổng số địa chỉ và máy chủ có thể sử dụng khác nhau như thế nào? Tổng số địa chỉ là kích thước đầy đủ của khối, bằng 2 lũy thừa (32 trừ độ dài tiền tố). Số máy chủ có thể sử dụng là số đó trừ hai địa chỉ dành riêng, ngoại trừ mạng /31 (cả hai đều có thể sử dụng) và mạng /32 (địa chỉ duy nhất là máy chủ).
Địa chỉ mạng của 192.168.1.10/24 có nghĩa là gì? Đó là 192.168.1.0, được xác định bằng cách giữ lại 24 bit đầu của địa chỉ và đặt các bit máy chủ thành số không. Địa chỉ này định danh toàn bộ mạng con và không thể được gán cho một thiết bị.
Tài liệu tham khảo
- Postel, J. "RFC 791: Giao thức Internet." IETF, 1981.
- Mogul, J. và J. Postel. "RFC 950: Quy trình chia mạng con theo tiêu chuẩn Internet." IETF, 1985.
- Mogul, J. "RFC 919: Phát quảng bá các gói dữ liệu Internet." IETF, 1984.
- Fuller, V. và T. Li. "RFC 4632: Định tuyến liên miền không phân lớp (CIDR)." IETF, 2006.
- Retana, A. và cộng sự. "RFC 3021: Sử dụng tiền tố 31 bit trên các liên kết điểm-điểm IPv4." IETF, 2000.