Tìm hiểu Subnet Mask là gì? Cách tính và cách chia Subnet

Subnet Mask là gì?

Subnet Mask (Mặt nạ mạng con) là một giá trị số liệu có độ dài 32 bit trong mạng máy tính, nhiệm vụ chính là chia thành hai phần trong địa chỉ IP. Phần đầu tiên của mặt nạ mạng con xác định mạng con, trong khi phần thứ hai xác định các thiết bị cụ thể trên mạng đó. Tích hợp các bit này, mặt nạ mạng con tạo ra một tập hợp hợp lệ các địa chỉ IP có thể được sử dụng bởi mạng con. Thông qua việc này, mặt nạ mạng con cho phép mạng con tạo ra một “phạm vi” địa chỉ riêng biệt, tương tự như việc tách một phần nhỏ từ một vùng lớn hơn để quản lý các thiết bị và dữ liệu mạng một cách hiệu quả hơn.

Chắc hẳn bạn đã biết mỗi thiết bị đều có một địa chỉ IP riêng biệt. Địa chỉ IP này gồm 2 thành phần:

  • Địa chỉ máy khách hoặc máy chủ.
  • Địa chỉ máy chủ hoặc mạng.

Địa chỉ IP được cấu hình bởi máy chủ DHCP hoặc cấu hình thủ công (địa chỉ IP tĩnh). Tuy nhiên địa chỉ IP là một dãy số liền. Lúc này, Subnet Mask hay mặt nạ mạng con sẽ chia địa chỉ IP này thành địa chỉ máy chủ và địa chỉ mạng. Từ đó có thể xác định phần nào của địa chỉ IP thuộc về thiết bị và phần nào thuộc về mạng mà thiết bị đó hoạt động.

Minh họa về Subnet Mask

Khi một thiết bị trong mạng LAN muốn truyền dữ liệu đến một thiết bị ở mạng LAN khác. Quá trình này được thực hiện thông qua cổng hoặc cổng mặc định (hay default port nằm trên thiết bị Router). Thiết bị gửi các gói dữ liệu của mình đến cổng. Sau đó cổng này chuyển tiếp dữ liệu ra ngoài mạng cục bộ và đến mạng đích. Subnet Mask giúp xác định liệu địa chỉ IP đích có thuộc cùng mạng con hay không? Từ đó quyết định xem liệu dữ liệu có thể truyền trực tiếp trong cùng mạng con hay cần thông qua cổng mặc định để ra mạng bên ngoài.

Nguyên lý hoạt động của Subnet Mask trong giao thức TCP/IP

Mặt nạ mạng con (Subnet Mask) là một thành phần quan trọng trong giao thức TCP/IP, giúp xác định liệu một máy chủ đang nằm trong mạng con cục bộ hay trên mạng từ xa.

Subnet Mask trong giao thức TCP IP

Trong giao thức TCP/IP, địa chỉ IP bao gồm hai phần chính: phần mạng và phần máy chủ. Tuy nhiên, để biết chính xác địa chỉ mạng và máy chủ của máy, bạn cần thông tin thêm. Thông tin này được cung cấp bởi mặt nạ mạng con, một chuỗi gồm 32 bit.

Ví dụ như: mặt nạ mạng con là 255.255.255.0. Tuy đây là một con số, nó có ý nghĩa khi biểu diễn dưới hệ thống nhị phân với 255 tương ứng với 8 bit 1 (11111111). Vì vậy, mặt nạ mạng con trở thành 11111111.11111111.11111111.00000000.

Bằng cách kết hợp địa chỉ IP và mặt nạ mạng con, chúng ta có thể tách ra phần mạng và phần máy chủ của địa chỉ IP:

  • Địa chỉ IP: 11000000.10101000.01111011.10000100 (192.168.123.132)
  • Mặt nạ mạng con: 11111111.11111111.11111111.00000000 (255.255.255.0)

24 bit đầu tiên (tương ứng với số bit trong mặt nạ mạng con) xác định địa chỉ mạng, còn 8 bit cuối cùng (số 0 trong mặt nạ mạng con) xác định địa chỉ máy chủ. Điều này cho phép chúng ta tách ra các địa chỉ sau:

  • Địa chỉ mạng: 11000000.10101000.01111011.00000000 (192.168.123.0)
  • Địa chỉ máy chủ: 00000000.00000000.00000000.10000100 (0.0.0.132)

Các lớp mạng

Hệ thống địa chỉ Internet được phân phối bởi InterNIC, tổ chức quản lý Internet, và các địa chỉ IP này được tổ chức thành từng lớp riêng biệt. Có năm lớp địa chỉ IP khác nhau, nhưng lớp A, B và C là những lớp phổ biến nhất. Lớp D và E tồn tại nhưng không dành cho người dùng cuối. Mỗi lớp địa chỉ có một mặt nạ mạng con mặc định riêng, phụ thuộc vào cách mạng được chia.

các lớp mạng A, B, C

Để nhận biết loại địa chỉ IP, bạn có thể xem vào octet đầu tiên của nó. Dưới đây là các phạm vi địa chỉ cho từng loại lớp A, B và C, cùng với một ví dụ cho mỗi loại:

  • Lớp A: Sử dụng mặt nạ mạng con mặc định là 255.0.0.0 và có các octet từ 0-127 trong địa chỉ IP. Ví dụ: Địa chỉ 10.52.36.11 là địa chỉ lớp A với octet đầu tiên là 10, nằm trong khoảng từ 1 đến 126.
  • Lớp B: Sử dụng mặt nạ mạng con mặc định là 255.255.0.0 và có các octet từ 128-191 trong địa chỉ IP. Ví dụ: Địa chỉ 172.16.52.63 là địa chỉ lớp B với octet đầu tiên là 172, nằm trong khoảng từ 128 đến 191.
  • Lớp C: Sử dụng mặt nạ mạng con mặc định là 255.255.255.0 và có các octet từ 192-223 trong địa chỉ IP. Ví dụ: Địa chỉ 192.168.123.132 là địa chỉ lớp C với octet đầu tiên là 192, nằm trong khoảng từ 192 đến 223.

Hiểu về mạng con và Subnet Mask

Mạng TCP/IP Lớp A, B hoặc C có thể được chia nhỏ hoặc chia mạng con bởi quản trị viên hệ thống. Điều này trở nên cần thiết khi bạn cần tối ưu hóa việc quản lý địa chỉ IP trong các mạng vật lý thực tế.

Ví dụ, giả sử bạn có một mạng lớn chứa 150 máy chủ, và mạng này chia thành ba mạng vật lý khác nhau, mỗi mạng con có 50 máy chủ. Bạn được cung cấp mạng lớp C với địa chỉ mạng 192.168.123.0. Để dễ hình dung, hãy tưởng tượng mạng này như một dãy nhà hàng trong một khu phố (mạng chính), và mỗi nhà hàng là một mạng con nhỏ (mạng con).

Với mạng lớn như vậy, việc sử dụng mạng chung với mặt nạ mạng con mặc định (như 255.255.255.0) sẽ làm lãng phí địa chỉ IP và không tối ưu. Thay vào đó, bạn có thể chia mạng chính thành các mạng con để sử dụng hiệu quả hơn.

Ví dụ, bằng cách sử dụng mặt nạ mạng con 255.255.255.192, bạn đang ‘mượn’ một số bit từ địa chỉ máy chủ để sử dụng cho phần mạng của địa chỉ. Bạn chia mạng chính 192.168.123.0 thành bốn mạng con: 192.168.123.0, 192.168.123.64, 192.168.123.128 và 192.168.123.192. Mỗi mạng con có thể coi như một khu phố con bên trong khu phố chính.

Mặt nạ mạng con 255.255.255.192 cho phép bạn cắt ra mạng chính thành bốn mạng con, mỗi mạng con có thể chứa tối đa 62 máy chủ. Bằng cách sử dụng việc “mượn” các bit từ địa chỉ máy chủ để sử dụng cho phần mạng, bạn tối ưu hóa sự sử dụng của địa chỉ IP.

Tóm lại, việc chia mạng chính thành các mạng con giúp bạn quản lý địa chỉ IP một cách hiệu quả hơn trong môi trường thực tế, đặc biệt khi bạn có nhiều mạng vật lý riêng biệt.

Cách thực hiện chia Subnet Mask

Cách chia Subnet (mạng con) liên quan đến việc phân chia mạng lớn thành các phần nhỏ hơn, cho phép quản lý mạng và địa chỉ IP một cách hiệu quả hơn. Cách chia Subnet thường dựa trên số lượng bit mạng con (subnet bits) mà bạn đã xác định trước đó. Dưới đây là cách thực hiện chia Subnet:

  • Xác định số lượng bit mạng con: Đầu tiên, bạn cần quyết định bao nhiêu bit trong địa chỉ IP sẽ được sử dụng để định rõ phần mạng con. Số lượng bit này xác định số lượng mạng con bạn có thể tạo ra.
  • Tính toán số lượng mạng con: Số lượng bit mạng con xác định số lượng mạng con khác nhau mà bạn có thể tạo ra. Số lượng mạng con là 2^(số bit mạng con), ví dụ nếu bạn sử dụng 4 bit mạng con, bạn có thể tạo ra 2^4 = 16 mạng con.
  • Tính toán số lượng địa chỉ IP trong mỗi mạng con: Số lượng bit mạng con cũng xác định số lượng địa chỉ IP trong mỗi mạng con. Số lượng địa chỉ IP trong mỗi mạng con là 2^(số bit máy chủ còn lại) – 2, với 2 địa chỉ IP bị loại bỏ (một là địa chỉ mạng và một là địa chỉ broadcast).
  • Xác định các địa chỉ IP cho mỗi mạng con: Bắt đầu từ mạng lớn ban đầu, bạn tách ra các phạm vi địa chỉ IP cho từng mạng con dựa trên số lượng địa chỉ IP trong mỗi mạng con. Điều này giúp bạn xác định địa chỉ mạng, địa chỉ broadcast và các địa chỉ máy chủ trong mỗi mạng con.
  • Xác định Subnet Mask cho từng mạng con: Subnet Mask cho từng mạng con sẽ giống nhau và được tính dựa trên số lượng bit mạng con. Với số lượng bit mạng con, bạn sẽ biết được phần nào của địa chỉ IP thuộc về mạng con và phần nào thuộc về địa chỉ máy chủ.
  • Cấu hình thiết bị mạng: Cuối cùng, bạn cần cấu hình các thiết bị mạng như máy tính, router, switch… với các địa chỉ IP và Subnet Mask mới theo cách bạn đã phân chia.

Ví dụ, nếu bạn chia mạng lớp C thành các mạng con bằng cách sử dụng 4 bit mạng con, bạn có thể tạo ra 16 mạng con khác nhau, mỗi mạng con có khoảng 14 địa chỉ IP có thể sử dụng (do mất 2 địa chỉ cho địa chỉ mạng và địa chỉ broadcast).

Hướng dẫn tính Subnet Mask dựa trên địa chỉ IP

Để tính Subnet Mask dựa trên địa chỉ IP, bạn cần xác định loại địa chỉ IP đó thuộc về lớp nào (A, B, hay C) và số lượng bit mạng con mà bạn muốn sử dụng để phân chia mạng. Dưới đây là hướng dẫn cụ thể:

Bước 1: Xác định lớp địa chỉ IP:

  • Địa chỉ IP thuộc lớp A nếu octet đầu tiên trong địa chỉ IP từ 1 đến 126.
  • Địa chỉ IP thuộc lớp B nếu octet đầu tiên trong địa chỉ IP từ 128 đến 191.
  • Địa chỉ IP thuộc lớp C nếu octet đầu tiên trong địa chỉ IP từ 192 đến 223.

Bước 2: Xác định số lượng bit mạng con (subnet bits) mà bạn muốn sử dụng. Số lượng bit này thường được quyết định dựa trên nhu cầu của mạng hoặc tổ chức.

Bước 3: Xác định Subnet Mask dựa trên lớp địa chỉ IP và số lượng bit mạng con:

  • Đối với lớp A: Sử dụng Subnet Mask “255.0.0.0” và thêm số lượng bit mạng con sau.
  • Đối với lớp B: Sử dụng Subnet Mask “255.255.0.0” và thêm số lượng bit mạng con sau.
  • Đối với lớp C: Sử dụng Subnet Mask “255.255.255.0” và thêm số lượng bit mạng con sau.

Bước 4:Tính toán Subnet Mask dựa trên số lượng bit mạng con:

1. Chuyển số lượng bit mạng con thành chuỗi bit:

  • Ví dụ, nếu bạn có 4 bit mạng con, bạn sẽ tạo một chuỗi bit có 4 bit 1 ở phía bên trái (trái qua phải) và 28 bit 0 ở phía bên phải.
  • Chuỗi bit: 11110000.

cách tính subnet Mask từ địa chỉ IP

2. Chia chuỗi bit thành các octet:

  • Với chuỗi bit 11110000, bạn chia nó thành các nhóm 8 bit, gọi là octet.
  • Octet 1: 11110000.

3. Chuyển các octet thành giá trị thập phân:

Mỗi octet được chuyển thành giá trị thập phân bằng cách tính toán giá trị của các bit tương ứng.

Octet 1 (11110000) có giá trị thập phân là: (1 * 2^7) + (1 * 2^6) + (1 * 2^5) + (1 * 2^4) + (0 * 2^3) + (0 * 2^2) + (0 * 2^1) + (0 * 2^0) = 128 + 64 + 32 + 16 + 0 + 0 + 0 + 0 = 240.

Ví dụ cụ thể: Nếu bạn có địa chỉ IP là 192.168.1.10 và muốn sử dụng 4 bit mạng con:

  • Bước 1: Địa chỉ IP thuộc lớp C.
  • Bước 2: Số lượng bit mạng con là 4.
  • Bước 3: Địa chỉ IP thuộc lớp C, vì vậy sử dụng Subnet Mask mặc định “255.255.255.0” và thêm 4 bit mạng con.
  • Bước 4: Chuỗi bit 1 ở phía trái: 11110000. Subnet Mask: 255.255.255.240.

Lợi ích mà Subnet Mask mang lại

Subnet Mask là một phần quan trọng của hệ thống mạng và mang lại nhiều lợi ích:

  1. Phân chia mạng: Subnet Mask cho phép bạn chia một mạng lớn thành các mạng con nhỏ hơn. Điều này giúp tối ưu hóa việc quản lý mạng bằng cách tách các phân đoạn riêng biệt, từ đó giảm lưu lượng mạng, tăng hiệu suất và bảo mật.
  2. Tối ưu hóa sử dụng địa chỉ IP: Khi sử dụng Subnet Mask, bạn có khả năng tận dụng các địa chỉ IP một cách hiệu quả hơn. Thay vì lãng phí địa chỉ IP trong một mạng lớn, bạn có thể cắt chúng thành các mạng con nhỏ hơn để sử dụng hiệu quả hơn.
  3. Tăng bảo mật: Bằng cách chia mạng thành các mạng con, bạn có thể tạo ra các ranh giới bảo mật tự nhiên giữa các mạng con. Điều này làm giảm khả năng tấn công từ một mạng vào mạng khác và làm cho việc bảo vệ mạng dễ dàng hơn.
  4. Tích hợp với định tuyến: Subnet Mask giúp các thiết bị định tuyến biết cách chuyển tiếp dữ liệu từ một mạng con đến mạng con khác. Điều này cho phép mạng hoạt động hiệu quả và tự động, giúp tối ưu hóa việc định tuyến dữ liệu.
  5. Phân chia công việc mạng: Trong mạng lớn, việc phân chia mạng thành các mạng con cũng giúp phân chia công việc quản trị hệ thống dễ dàng hơn. Các phần mạng con có thể được giao cho các nhóm quản trị riêng biệt, giúp quản lý mạng hiệu quả hơn.
  6. Tạo điều kiện cho mạng ảo hóa: Subnet Mask là một phần quan trọng trong việc triển khai mạng ảo hóa. Khi tạo các mạng con riêng biệt, bạn có thể dễ dàng ảo hóa các mạng con này và cung cấp dịch vụ riêng biệt cho từng mạng con.