Nội dung dưới đây tập trung giải thích subnet mask theo cách trực quan, từ khái niệm, nguyên lý hoạt động cho đến cách tính và chia mạng con. Việc hiểu rõ subnet mask ngay từ đầu sẽ giúp hệ thống mạng được tổ chức khoa học, dễ quản lý, thuận tiện mở rộng và hạn chế các lỗi phát sinh khi số lượng thiết bị tăng lên.
Những điểm chính
• Quan điểm của mình: Hiểu rõ cách tính và phân chia subnet mask ngay từ giai đoạn thiết kế sẽ giúp hệ thống mạng gọn gàng, dễ mở rộng và ít xảy ra lỗi hơn. Điều này cũng hạn chế tình trạng phải xử lý lại hệ thống khi địa chỉ IP đã được phân bổ thiếu khoa học.
• Khái niệm: Subnet mask là một dãy số được sử dụng để xác định phần mạng và phần host trong địa chỉ IP.
• Nguyên lý hoạt động: Subnet mask sử dụng các bit nhị phân và phép toán AND với địa chỉ IP để xác định địa chỉ mạng.
• Cách xác định các lớp IP: IPv4 được phân thành năm lớp chính gồm A, B, C, D và E, mỗi lớp có phạm vi sử dụng khác nhau.
• Cách tính subnet mask: Việc tính toán dựa trên số lượng mạng con, số lượng thiết bị cần sử dụng và số bit dành cho phần mạng.
• Lý do cần chia subnet: Chia mạng con giúp giảm broadcast, cải thiện hiệu suất, tăng khả năng quản lý và nâng cao bảo mật.
• Quy trình chia subnet: Người quản trị cần xác định nhu cầu sử dụng, số lượng subnet, số lượng host và khoảng địa chỉ phù hợp.
Subnet mask là gì?
Subnet mask là một dãy số được sử dụng trong mạng máy tính nhằm phân chia địa chỉ IP thành hai thành phần riêng biệt: phần mạng, còn gọi là network, và phần thiết bị, còn gọi là host.
Nhờ subnet mask, các thiết bị có thể nhận biết phần nào của địa chỉ IP đại diện cho mạng và phần nào được dùng để nhận diện từng thiết bị cụ thể trong mạng đó.
Subnet mask thường được biểu diễn dưới dạng bốn nhóm số thập phân, ngăn cách với nhau bằng dấu chấm. Ví dụ phổ biến là:
255.255.255.0
Khi kết hợp với địa chỉ IP, subnet mask giúp máy tính xác định thiết bị đích có nằm trong cùng mạng LAN hay không. Nếu hai thiết bị thuộc cùng mạng, dữ liệu có thể được truyền trực tiếp. Trong trường hợp thiết bị đích nằm ngoài mạng hiện tại, dữ liệu sẽ được chuyển đến gateway để tiếp tục định tuyến.
Subnet mask còn được sử dụng để chia một mạng lớn thành nhiều mạng con nhỏ hơn. Việc phân chia này giúp sử dụng tài nguyên địa chỉ IP hiệu quả, giảm lưu lượng không cần thiết và hỗ trợ quản lý hệ thống mạng doanh nghiệp hoặc mạng cá nhân thuận tiện hơn.
Nguyên lý hoạt động của subnet mask
Subnet mask hoạt động bằng cách xác định ranh giới giữa phần mạng và phần host trong một địa chỉ IP. Quá trình này được thực hiện dựa trên các bit nhị phân.
Trong subnet mask, các bit có giá trị 1 đại diện cho phần mạng. Những bit có giá trị 0 được dành cho phần host, tức là các thiết bị nằm trong mạng.
Thiết bị mạng sẽ thực hiện phép toán AND giữa địa chỉ IP và subnet mask để xác định địa chỉ mạng mà thiết bị đang thuộc về.
Ví dụ:
• Địa chỉ IP: 192.168.1.100
• Subnet mask: 255.255.255.0
Với subnet mask trên, ba octet đầu tiên là phần mạng, còn octet cuối cùng được sử dụng cho phần host. Sau khi thực hiện phép toán AND, địa chỉ mạng thu được là:
192.168.1.0
Dựa vào kết quả này, thiết bị có thể kiểm tra địa chỉ IP đích. Nếu địa chỉ đích cũng thuộc mạng 192.168.1.0 thì dữ liệu được gửi trực tiếp trong mạng nội bộ. Nếu địa chỉ đích thuộc một mạng khác, dữ liệu sẽ được gửi đến router hoặc gateway.
Bằng cách thay đổi độ dài của subnet mask, người quản trị có thể chia một mạng lớn thành nhiều subnet nhỏ. Mỗi subnet có phạm vi địa chỉ và miền broadcast riêng.
Việc chia subnet mang lại một số lợi ích như giảm lưu lượng broadcast, sử dụng địa chỉ IP hợp lý hơn và hỗ trợ tổ chức mạng theo từng phòng ban, khu vực hoặc mục đích sử dụng.
Subnetting cũng góp phần tăng khả năng bảo mật. Khi các nhóm thiết bị được đặt trong những mạng con riêng biệt, người quản trị có thể áp dụng các chính sách kiểm soát truy cập giữa các subnet thông qua router, firewall hoặc thiết bị mạng lớp 3.
Router dựa vào địa chỉ mạng và subnet mask để xác định đường đi phù hợp cho gói dữ liệu, từ đó chuyển dữ liệu đến đúng mạng con cần nhận.
Cách xác định các lớp IP
Trong phương pháp phân lớp truyền thống, địa chỉ IPv4 được chia thành năm lớp chính gồm A, B, C, D và E. Mỗi lớp có phạm vi địa chỉ và mục đích sử dụng riêng.
• Lớp A: Địa chỉ lớp A có bit đầu tiên bằng 0. Phạm vi của lớp A nằm từ 0.0.0.0 đến 127.255.255.255. Lớp này được thiết kế cho những hệ thống mạng có số lượng thiết bị rất lớn. Subnet mask mặc định là 255.0.0.0.
• Lớp B: Địa chỉ lớp B có hai bit đầu tiên là 10. Phạm vi địa chỉ nằm từ 128.0.0.0 đến 191.255.255.255. Lớp B phù hợp với những mạng có quy mô trung bình. Subnet mask mặc định là 255.255.0.0.
• Lớp C: Địa chỉ lớp C có ba bit đầu tiên là 110. Phạm vi địa chỉ nằm từ 192.0.0.0 đến 223.255.255.255. Lớp này thường được sử dụng cho những hệ thống mạng nhỏ. Subnet mask mặc định là 255.255.255.0.
• Lớp D: Địa chỉ lớp D có bốn bit đầu tiên là 1110, nằm trong phạm vi từ 224.0.0.0 đến 239.255.255.255. Lớp D được sử dụng cho multicast, tức là gửi dữ liệu đến một nhóm thiết bị.
• Lớp E: Địa chỉ lớp E nằm trong phạm vi từ 240.0.0.0 đến 255.255.255.255. Những địa chỉ này chủ yếu được dành cho mục đích nghiên cứu và thử nghiệm, không được sử dụng phổ biến trong mạng thông thường.
Việc nhận biết lớp của địa chỉ IP dựa trên các bit đầu tiên giúp người quản trị xác định được phạm vi mạng và subnet mask mặc định tương ứng.
Cả địa chỉ IPv4 và subnet mask đều có độ dài 32 bit, được chia thành bốn octet. Mỗi octet gồm 8 bit và có giá trị thập phân từ 0 đến 255.
Ví dụ về một địa chỉ IPv4:
172.16.254.1
Địa chỉ mạng được xác định bằng cách thực hiện phép toán AND từng bit giữa địa chỉ IP và subnet mask.
Địa chỉ broadcast có thể được xác định bằng cách giữ nguyên các bit mạng và chuyển toàn bộ bit host thành 1.
Ví dụ:
• Địa chỉ IP: 192.168.1.100
• Subnet mask: 255.255.255.0
• Địa chỉ mạng: 192.168.1.0
• Địa chỉ broadcast: 192.168.1.255
Trong mạng này, các địa chỉ host thường có thể sử dụng nằm từ 192.168.1.1 đến 192.168.1.254. Địa chỉ 192.168.1.0 được dùng làm địa chỉ mạng, còn 192.168.1.255 là địa chỉ broadcast nên không được gán cho thiết bị.
Hiện nay, phương pháp CIDR được sử dụng phổ biến hơn cách phân lớp truyền thống. Tuy nhiên, việc hiểu các lớp IP vẫn giúp người học nắm được nền tảng của quá trình phân chia và tổ chức địa chỉ IPv4.
Cách tính subnet mask
Để tính subnet mask chính xác, người quản trị cần hiểu cấu trúc của địa chỉ IP, xác định số lượng mạng con và số lượng thiết bị cần sử dụng trong mỗi mạng.
Hiểu định dạng của địa chỉ IP và subnet mask
Địa chỉ IPv4 có tổng cộng 32 bit, được chia thành bốn octet. Mỗi octet gồm 8 bit và có giá trị từ 0 đến 255.
Ví dụ:
192.168.1.1
Subnet mask cũng được viết thành bốn nhóm số tương tự địa chỉ IP. Tuy nhiên, subnet mask không dùng để nhận diện thiết bị mà được dùng để xác định số bit thuộc phần mạng và số bit thuộc phần host.
Subnet mask 255.255.255.0 tương đương với dạng nhị phân:
11111111.11111111.11111111.00000000
Trong đó, 24 bit đầu là phần mạng và 8 bit cuối là phần host. Subnet mask này cũng có thể được viết theo ký hiệu CIDR là /24.
Xác định số lượng thiết bị trong mỗi mạng con
Trước khi chia subnet, cần xác định rõ mỗi mạng con sẽ chứa tối đa bao nhiêu thiết bị.
Số lượng host có thể sử dụng trong một subnet thường được tính theo công thức:
Số host sử dụng được = 2^h − 2
Trong đó, h là số bit dành cho host.
Cần trừ đi 2 địa chỉ vì một địa chỉ được dùng làm địa chỉ mạng và một địa chỉ được dùng làm địa chỉ broadcast.
Ví dụ, nếu một subnet cần phục vụ khoảng 50 thiết bị thì phải dành tối thiểu 6 bit cho phần host:
2^6 − 2 = 62 host
Như vậy, subnet phù hợp là /26, tương ứng với subnet mask 255.255.255.192.
Xác định số bit cần mượn để chia subnet
Khi muốn chia một mạng ban đầu thành nhiều mạng con, người quản trị cần mượn một số bit từ phần host để chuyển sang phần mạng.
Số bit cần mượn phải thỏa mãn điều kiện:
2^n ≥ số lượng subnet cần tạo
Trong đó, n là số bit được mượn.
Ví dụ, nếu cần tạo ít nhất 100 subnet:
2^6 = 64, chưa đủ
2^7 = 128, đáp ứng yêu cầu
Do đó, cần mượn 7 bit để tạo được tối đa 128 subnet.
Tuy nhiên, sau khi mượn bit, cần kiểm tra số bit host còn lại có đáp ứng đủ số lượng thiết bị trong mỗi mạng con hay không.
Chuyển địa chỉ IP sang dạng nhị phân
Việc chuyển địa chỉ IP và subnet mask sang dạng nhị phân giúp người quản trị nhìn rõ phần mạng và phần host.
Ví dụ:
• Địa chỉ IP: 192.168.1.0
• Dạng nhị phân: 11000000.10101000.00000001.00000000
Giả sử sử dụng subnet mask /26:
• Subnet mask: 255.255.255.192
• Dạng nhị phân: 11111111.11111111.11111111.11000000
Trong trường hợp này, 26 bit đầu thuộc phần mạng và 6 bit cuối thuộc phần host.
Tính subnet mask từ số bit mạng
Subnet mask được tạo bằng cách đặt các bit 1 liên tiếp từ trái sang phải cho phần mạng, sau đó điền các bit 0 cho phần host.
Một octet có thể nhận các giá trị subnet mask phổ biến sau:
• 0 bit mạng: 0
• 1 bit mạng: 128
• 2 bit mạng: 192
• 3 bit mạng: 224
• 4 bit mạng: 240
• 5 bit mạng: 248
• 6 bit mạng: 252
• 7 bit mạng: 254
• 8 bit mạng: 255
Ví dụ, với subnet /26, subnet mask có 26 bit 1:
11111111.11111111.11111111.11000000
Chuyển sang dạng thập phân sẽ được:
255.255.255.192
Kích thước bước nhảy của subnet được tính bằng:
256 − giá trị octet subnet mask
Với subnet mask 255.255.255.192:
256 − 192 = 64
Các subnet sẽ bắt đầu tại các giá trị:
• 192.168.1.0
• 192.168.1.64
• 192.168.1.128
• 192.168.1.192
Subnet đầu tiên có phạm vi:
• Địa chỉ mạng: 192.168.1.0
• Host đầu tiên: 192.168.1.1
• Host cuối cùng: 192.168.1.62
• Địa chỉ broadcast: 192.168.1.63
Subnet thứ hai có phạm vi:
• Địa chỉ mạng: 192.168.1.64
• Host đầu tiên: 192.168.1.65
• Host cuối cùng: 192.168.1.126
• Địa chỉ broadcast: 192.168.1.127
Việc xác định đúng bước nhảy giúp người quản trị chia subnet nhanh hơn và tránh tình trạng các khoảng địa chỉ bị trùng lặp.
Tại sao cần tính và chia subnet mask?
Trong doanh nghiệp và tổ chức hiện nay, một mạng LAN có thể chứa nhiều thiết bị như máy tính, máy in, camera, máy chủ, điện thoại IP và các thiết bị IoT.
Khi tất cả thiết bị được đặt trong cùng một mạng lớn, lượng lưu lượng broadcast có thể tăng cao. Điều này làm tiêu tốn băng thông, khiến quá trình tìm kiếm thiết bị và truyền dữ liệu chậm hơn, đồng thời gây khó khăn cho việc quản lý và xử lý sự cố.
Tắc nghẽn mạng xảy ra khi lượng dữ liệu truyền qua hệ thống vượt quá khả năng xử lý của thiết bị hoặc đường truyền. Trong một broadcast domain quá lớn, các gói broadcast được gửi đến tất cả thiết bị, kể cả những thiết bị không cần nhận dữ liệu đó.
Chia mạng thành các subnet nhỏ hơn giúp khắc phục tình trạng này.
• Giảm lưu lượng broadcast: Mỗi subnet tạo thành một broadcast domain riêng, nhờ đó gói broadcast chỉ được truyền trong phạm vi mạng con tương ứng.
• Cải thiện hiệu suất mạng: Số lượng thiết bị trong mỗi subnet giảm xuống, giúp hạn chế lưu lượng không cần thiết và tăng tốc độ trao đổi dữ liệu.
• Quản lý mạng thuận tiện hơn: Người quản trị có thể phân chia địa chỉ IP theo từng phòng ban, khu vực hoặc nhóm thiết bị, từ đó dễ kiểm tra và xử lý sự cố.
• Nâng cao bảo mật: Các subnet có thể được kết hợp với VLAN, router, access control list hoặc firewall để kiểm soát quyền truy cập giữa các nhóm thiết bị.
• Sử dụng địa chỉ IP hiệu quả: Việc lựa chọn subnet mask phù hợp giúp tránh cấp phát quá nhiều địa chỉ cho một nhóm nhỏ hoặc thiếu địa chỉ khi số lượng thiết bị tăng.
• Hỗ trợ mở rộng hệ thống: Khi mạng đã được phân chia khoa học, doanh nghiệp có thể bổ sung thiết bị hoặc mở rộng phòng ban mà không cần thay đổi toàn bộ cấu trúc địa chỉ IP.
Ví dụ, một công ty có khoảng 1.000 máy tính. Nếu toàn bộ thiết bị được đặt trong cùng một mạng LAN, lưu lượng broadcast có thể rất lớn và gây khó khăn cho việc quản lý.
Công ty có thể chia hệ thống thành 10 subnet, mỗi subnet phục vụ khoảng 100 thiết bị. Mỗi phòng ban hoặc khu vực được bố trí trong một subnet riêng. Cách tổ chức này giúp giảm broadcast, kiểm soát truy cập tốt hơn và thuận tiện trong quá trình vận hành.
Cách chia subnet
Để chia subnet hợp lý, người quản trị có thể thực hiện theo các bước sau:
• Xác định địa chỉ mạng ban đầu và subnet mask hiện tại.
• Xác định số lượng mạng con cần tạo.
• Xác định số lượng thiết bị tối đa trong từng mạng con.
• Tính số bit cần dành cho phần host.
• Tính số bit có thể mượn để tạo subnet.
• Xác định subnet mask mới hoặc độ dài tiền tố CIDR.
• Tính bước nhảy giữa các subnet.
• Xác định địa chỉ mạng, địa chỉ host đầu tiên, host cuối cùng và địa chỉ broadcast của từng subnet.
• Kiểm tra các khoảng địa chỉ để bảo đảm không bị trùng lặp.
• Lập bảng phân bổ địa chỉ IP cho từng phòng ban hoặc nhóm thiết bị.
Ví dụ, cần chia mạng 192.168.1.0/24 thành bốn mạng con có kích thước bằng nhau.
Để tạo bốn subnet, cần mượn 2 bit vì:
2^2 = 4
Độ dài subnet mới là:
/24 + 2 = /26
Subnet mask tương ứng:
255.255.255.192
Bốn subnet được tạo ra gồm:
• Subnet 1: 192.168.1.0/26, host từ 192.168.1.1 đến 192.168.1.62, broadcast 192.168.1.63.
• Subnet 2: 192.168.1.64/26, host từ 192.168.1.65 đến 192.168.1.126, broadcast 192.168.1.127.
• Subnet 3: 192.168.1.128/26, host từ 192.168.1.129 đến 192.168.1.190, broadcast 192.168.1.191.
• Subnet 4: 192.168.1.192/26, host từ 192.168.1.193 đến 192.168.1.254, broadcast 192.168.1.255.
Mỗi subnet có tổng cộng 64 địa chỉ, trong đó có 62 địa chỉ có thể cấp cho thiết bị.
Việc chia subnet đúng ngay từ đầu giúp hệ thống mạng hoạt động ổn định, sử dụng tài nguyên hợp lý và dễ dàng mở rộng trong tương lai. Người quản trị cũng có thể tổ chức thiết bị theo từng phòng ban, kiểm soát lưu lượng giữa các khu vực và triển khai các chính sách bảo mật hiệu quả hơn.