Subnet Mask Là Gì? Hướng Dẫn Chi Tiết Về Subnetting và Cách Tính Subnet Mask

Mỗi thiết bị kết nối mạng đều sở hữu một địa chỉ IP, đóng vai trò định danh duy nhất. Địa chỉ IP này được chia thành hai phần chính: địa chỉ host/client và địa chỉ mạng. Việc gán địa chỉ IP có thể được thực hiện tự động thông qua máy chủ DHCP hoặc cấu hình thủ công bằng địa chỉ IP tĩnh. Vậy, điều gì giúp phân biệt đâu là phần địa chỉ host, đâu là phần địa chỉ mạng? Câu trả lời chính là subnet mask.

Subnet Mask Là Gì?

Subnet mask là một dãy số 32 bit đặc biệt, được sử dụng để phân chia địa chỉ IP thành hai phần: địa chỉ mạng và địa chỉ host. Cách thức hoạt động của subnet mask là gán tất cả các bit của phần host thành 0 và tất cả các bit của phần mạng thành 1. Nhờ đó, hệ thống có thể xác định được phần nào của địa chỉ IP thuộc về mạng và phần nào thuộc về thiết bị cụ thể trong mạng đó.

Điều quan trọng cần lưu ý là địa chỉ “255” luôn được dành riêng cho địa chỉ broadcast, dùng để gửi thông tin đến tất cả các thiết bị trong mạng. Ngược lại, địa chỉ “0” luôn được gán cho địa chỉ mạng, đại diện cho chính mạng đó. Do đó, cả hai địa chỉ này không thể được gán cho bất kỳ host nào vì chúng được sử dụng cho các mục đích đặc biệt.

Sự kết hợp giữa địa chỉ IP, subnet mask và gateway (hoặc router) tạo thành cấu trúc cơ bản của giao thức Internet (IP), nền tảng cho phép các thiết bị giao tiếp với nhau trong mạng.

Trong trường hợp các tổ chức cần chia mạng thành các mạng con nhỏ hơn (subnetworking), kỹ thuật subnetting sẽ được áp dụng. Subnetting cho phép chia phần host của địa chỉ IP thành các subnet khác nhau. Mục tiêu chính của subnet mask là hỗ trợ quá trình subnetting này. Từ “mask” được sử dụng bởi vì subnet mask hoạt động như một lớp mặt nạ, che đi một phần của địa chỉ IP để lộ ra thông tin về mạng và subnet.

Cách Tính Địa Chỉ IP và Subnet Mask

Địa chỉ IP 32 bit là một định danh duy nhất cho mỗi thiết bị trên mạng IP. Subnet mask, như đã đề cập, chia 32 bit này thành phần host và phần mạng. Để dễ dàng quản lý, 32 bit này thường được chia thành bốn nhóm 8 bit, gọi là octet.

Vì hệ nhị phân (binary) khá phức tạp để làm việc trực tiếp, mỗi octet thường được chuyển đổi sang hệ thập phân (decimal) để dễ đọc và dễ hiểu hơn. Kết quả là chúng ta có định dạng thập phân có dấu chấm quen thuộc cho địa chỉ IP, ví dụ: 192.168.1.1. Trong hệ thập phân, mỗi octet có giá trị từ 0 đến 255, tương ứng với 00000000 đến 11111111 trong hệ nhị phân.

Lớp Địa Chỉ IP và Subnet Mask Mặc Định

Internet phục vụ cho các mạng với quy mô rất khác nhau. Để đáp ứng nhu cầu này, một hệ thống phân lớp địa chỉ IP đã được phát triển, cho phép phân loại mạng dựa trên số lượng thiết bị mà nó có thể chứa. Có năm lớp mạng khác nhau, được gọi là lớp A, B, C, D và E. Việc xác định lớp của một địa chỉ IP có thể được thực hiện bằng cách xem xét ba bit đầu tiên (ngoài cùng bên trái) của địa chỉ đó.

  • Lớp A: Dành cho các mạng rất lớn, với số lượng host (thiết bị) lớn hơn 65.536.
  • Lớp B: Dành cho các mạng có quy mô trung bình, với số lượng host từ 256 đến 65.534.
  • Lớp C: Dành cho các mạng nhỏ, với số lượng host ít hơn 254.
  • Lớp D: Được dành riêng cho mục đích multicast (gửi thông tin đến một nhóm các thiết bị).
  • Lớp E: Không được sử dụng trên Internet công cộng, được dành riêng cho mục đích nghiên cứu.

Mỗi lớp mạng A, B và C có một subnet mask mặc định, phản ánh kích thước của mạng đó:

  • Lớp A: 255.0.0.0
  • Lớp B: 255.255.0.0
  • Lớp C: 255.255.255.0

Dựa vào subnet mask mặc định, bạn có thể xác định số lượng host tối đa mà một mạng cục bộ có thể chứa, cũng như lớp của địa chỉ IP được sử dụng trong mạng đó.

Ví dụ: Nếu bạn có một địa chỉ IP lớp A là 10.20.12.2 và subnet mask mặc định là 255.0.0.0, điều này có nghĩa là mạng này có thể chứa một số lượng lớn các host.

Subnet Hoạt Động Như Thế Nào?

Subnetting là kỹ thuật chia một mạng vật lý lớn thành nhiều mạng con nhỏ hơn, gọi là subnet.

Subnetting mang lại nhiều lợi ích, bao gồm:

  • Giảm lưu lượng mạng: Bằng cách chia mạng thành các subnet nhỏ hơn, lưu lượng broadcast (tin nhắn gửi đến tất cả các thiết bị trong mạng) sẽ được giới hạn trong phạm vi của subnet đó, giảm tải cho toàn mạng.
  • Quản lý mạng hiệu quả hơn: Subnetting cho phép bạn phân chia mạng thành các khu vực logic, giúp quản lý và bảo trì dễ dàng hơn.
  • Tăng cường bảo mật: Bằng cách phân chia mạng thành các subnet riêng biệt, bạn có thể kiểm soát quyền truy cập vào từng subnet, tăng cường bảo mật cho mạng.
  • Hỗ trợ làm việc từ xa: Subnetting cho phép các tổ chức mở rộng mạng của họ để hỗ trợ nhân viên làm việc từ xa một cách an toàn.
  • Vượt qua giới hạn mạng LAN: Subnetting cho phép các tổ chức vượt qua các hạn chế của mạng LAN, chẳng hạn như số lượng host tối đa trên một mạng.

Địa Chỉ Mạng và Ký Hiệu CIDR

Ký hiệu Classless Inter-Domain Routing (CIDR) là một phương pháp tiêu chuẩn để biểu diễn địa chỉ mạng, được sử dụng cho cả IPv4 và IPv6. Trong ký hiệu CIDR, địa chỉ IPv4 được biểu diễn bằng địa chỉ IP theo sau là dấu gạch chéo (/) và số bit trong phần mạng (prefix). Ví dụ: 192.168.1.0/24 có nghĩa là 24 bit đầu tiên của địa chỉ IP (192.168.1) là phần mạng, và 8 bit còn lại (0) là phần host.

Từ khi CIDR ra đời, để gán địa chỉ IP cho giao diện mạng, có hai tham số: subnet mask và địa chỉ. Subnetting làm tăng độ phức tạp của việc định tuyến, vì phải có một entry riêng trong mỗi bảng của router được kết nối để đại diện cho mỗi subnet được kết nối cục bộ.

Làm Thế Nào Để Chia Subnet?

Để hiểu rõ hơn về subnetting, hãy xem xét một mạng có tổng cộng 256 địa chỉ (mạng lớp C). Trong số 256 địa chỉ này, một địa chỉ được sử dụng để xác định địa chỉ mạng và một địa chỉ khác được sử dụng để xác định địa chỉ broadcast. Điều này có nghĩa là chúng ta còn lại 254 địa chỉ có sẵn để gán cho các host.

Nếu chúng ta chia đều 254 địa chỉ này thành 8 subnet khác nhau, chúng ta vẫn giữ tổng số địa chỉ ban đầu, nhưng bây giờ chúng ta đã chia chúng thành 8 mạng con với 32 địa chỉ trong mỗi mạng. Tuy nhiên, mỗi subnet mới cần có 2 địa chỉ dành riêng: một cho địa chỉ subnet và một cho địa chỉ broadcast trong subnet.

Kết quả là chúng ta có 8 subnet, mỗi mạng sở hữu 30 địa chỉ subnet có sẵn cho các host. Bạn có thể thấy rằng tổng số lượng địa chỉ host bị giảm (240 thay vì 254), nhưng việc quản lý không gian địa chỉ trở nên hiệu quả hơn.

Cách Tính Subnet Mask

Việc tính toán subnet mask có thể được thực hiện thủ công bằng cách sử dụng kiến thức về hệ nhị phân. Tuy nhiên, có một số công cụ trực tuyến và phần mềm có thể giúp bạn thực hiện việc này một cách dễ dàng hơn.

Dưới đây là các bước cơ bản để tính subnet mask theo phương pháp nhị phân, sử dụng địa chỉ lớp C làm ví dụ:

  1. Chuyển đổi sang hệ nhị phân: Chuyển đổi địa chỉ IP và số lượng bit mượn cho subnet sang hệ nhị phân.
  2. Tính địa chỉ subnet: Thực hiện phép AND bitwise giữa địa chỉ IP và subnet mask.
  3. Tìm phạm vi của host: Xác định địa chỉ host đầu tiên và cuối cùng trong subnet. Địa chỉ host đầu tiên là địa chỉ subnet + 1, và địa chỉ host cuối cùng là địa chỉ broadcast – 1.
  4. Tính tổng số subnet và host trên mỗi subnet: Sử dụng công thức 2^n, trong đó n là số bit mượn cho subnet hoặc số bit còn lại cho host.

Ví dụ: Giả sử bạn có địa chỉ IP 192.168.10.44 và subnet mask 255.255.255.248 (/29).

Bước 1: Chuyển đổi sang hệ nhị phân

  • Địa chỉ IP: 11000000.10101000.00001010.00101100
  • Subnet Mask: 11111111.11111111.11111111.11111000

Bước 2: Tính địa chỉ subnet

Thực hiện phép AND bitwise giữa địa chỉ IP và subnet mask:

  • 11000000.10101000.00001010.00101100
  • AND
  • 11111111.11111111.11111111.11111000
  • =
  • 11000000.10101000.00001010.00101000

Địa chỉ subnet là 192.168.10.40.

Bước 3: Tìm Phạm vi của Host

Với subnet mask /29, chúng ta có 3 bit còn lại cho host. Điều này có nghĩa là chúng ta có thể có 2^3 – 2 = 6 host khả dụng trong subnet này (trừ 2 địa chỉ cho địa chỉ mạng và địa chỉ broadcast).

  • Địa chỉ host đầu tiên: 192.168.10.41
  • Địa chỉ host cuối cùng: 192.168.10.46
  • Địa chỉ broadcast: 192.168.10.47

Bước 4: Tính Tổng số subnet và host trên mỗi subnet

  • Tổng số subnet: 2^(32-29) = 2^3 = 8 subnet
  • Tổng số host trên mỗi subnet: 2^3 – 2 = 6 host

Subnet Mask Calculator Là Gì?

Mặc dù việc tính toán subnet mask có thể được thực hiện thủ công, nhiều người chọn sử dụng các công cụ hỗ trợ, chẳng hạn như subnet mask calculator. Các công cụ này tự động hóa quá trình tính toán và cung cấp thông tin hữu ích như dải IP, địa chỉ IP, subnet mask và địa chỉ mạng.

Có nhiều loại subnet calculator khác nhau, mỗi loại được thiết kế để đáp ứng các nhu cầu cụ thể. Một số loại phổ biến bao gồm:

  • IPv6 Subnet Calculator: Được sử dụng để ánh xạ các subnet phân cấp trong mạng IPv6.
  • IPv4/IPv6 Calculator/Converter: Hỗ trợ cả hai định dạng IPv4 và IPv6, cho phép chuyển đổi số IP giữa hai định dạng.
  • IPv4 CIDR Calculator: Giúp điều chỉnh subnet mask và chuyển đổi Hex.
  • IPv4 Wildcard Calculator: Tính toán wildcard mask để xác định phần nào của địa chỉ IP có sẵn để kiểm tra.
  • HEX Subnet Calculator: Tính toán địa chỉ subnet đầu tiên và cuối cùng, bao gồm các ký hiệu thập lục phân của địa chỉ multicast.
  • IP Subnet Mask Calculator Đơn Giản: Xác định subnet và subnet mask tương ứng nhỏ nhất có sẵn.
  • Subnet Range/Address Range Calculator: Cung cấp địa chỉ bắt đầu và địa chỉ kết thúc của một subnet.

Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về khái niệm subnet mask, cách thức hoạt động và cách tính toán subnet mask. Nắm vững kiến thức này sẽ giúp bạn quản lý và cấu hình mạng một cách hiệu quả hơn.