Mỗi thiết bị kết nối Internet đều liên lạc, định vị và tương tác với các thiết bị khác thông qua địa chỉ IP. Địa chỉ này là một chuỗi số duy nhất được gán cho mỗi thiết bị trên mạng, giống như địa chỉ nhà giúp xác định và phân biệt vị trí của một ngôi nhà so với những ngôi nhà khác trên đường.
Mặc dù một mạng gia đình thông thường không có nhiều địa chỉ IP (ví dụ: 192.168.0.0/24 cung cấp 256 địa chỉ), nhưng trên mạng IPv6, có thể có tới 18 triệu tỷ địa chỉ khả dụng.
Tuy vậy, không phải tất cả chúng đều được sử dụng bởi các thiết bị trong gia đình bạn, nhờ vào subnetting và subnet mask. Vậy các câu hỏi còn lại là: Subnet là gì? Subnet mask là gì? Subnetting IPv4 và IPv6 hoạt động như thế nào? Và làm thế nào bạn có thể sử dụng bảng gợi ý subnet để cấu hình mạng? Tất cả sẽ được giải đáp trong bài viết này.
Tôi đã tạo một bảng gợi ý bao gồm subnet mask, độ dài tiền tố IPv6 và cách thiết lập mạng IPv4 hoặc IPv6 của bạn. Hãy chắc chắn xem nó ở cuối bài viết này! Nó cũng có thông tin hữu ích về địa chỉ IP và mạng.
Subnet Mask là gì?
Một địa chỉ IPv4 được tạo thành từ 32 bit, sau đó được chia thành các đoạn 8 bit, thường được gọi là "octet". Các octet này thường được gán cho ID mạng hoặc ID máy chủ. Nếu bạn cần thêm thông tin về IPv4 và IPv6, hãy đọc bài viết trên blog của chúng tôi có tiêu đề là "IPv4 vs. IPv6: Cách IPv6 Sắp Thay Thế IPv4.”
ID Mạng và ID Máy chủ
ID mạng hoặc địa chỉ mạng xác định mạng nào mà một địa chỉ IP thuộc về. Vì vậy, khi một gói dữ liệu được gửi qua Internet hoặc mạng cục bộ, các router sử dụng ID mạng để quyết định xem đích đến của gói có nằm trong cùng một mạng hay cần được chuyển tiếp đến một mạng khác. ID mạng cho biết các router nên định tuyến gói đó tới mạng nào.
Ngoài ra, ID mạng cũng giúp phân biệt các subnet khác nhau trong một tổ chức hoặc môi trường lớn hơn. Với một ID mạng riêng cho mỗi subnet, các thiết bị có thể liên lạc trong subnet cục bộ của chúng hoặc tiếp cận các subnet khác thông qua các router. Tất nhiên, tất cả các thiết bị trong cùng một mạng chia sẻ cùng một ID mạng.
Tiếp theo, chúng ta có phần ID máy chủ của một địa chỉ IP. Phần này về cơ bản định nghĩa thiết bị duy nhất (máy chủ) trong mạng đó. ID máy chủ phân biệt các thiết bị trong mạng để mạng có thể định tuyến lưu lượng truy cập đúng đến và từ các thiết bị chính xác.
Subnet Mask
Bây giờ, chúng ta cuối cùng có thể thảo luận về subnet mask. Subnet mask là một số 32 bit (tương tự như một địa chỉ IP) xác định octet nào được gán cho ID mạng và octet nào được gán cho ID máy chủ.
Mặt nạ mạng con IPv4
Giả sử bạn có một địa chỉ IPv4 như 192.168.1.10 và một subnet mask như 255.255.255.0. Các số lặp lại trong subnet mask cho chúng ta biết rằng ba octet đầu tiên, hay 24 bit, của địa chỉ IP, đó là 192.168.1.0, đại diện cho phần mạng (ID mạng).
Điều này là vì, như tôi đã nói trước đó, phần mạng của tất cả các thiết bị trong cùng một mạng chia sẻ cùng một ID mạng, vì vậy con số đó là hằng số trong tất cả các thiết bị trong mạng. Còn đối với phần ID máy chủ, octet cuối cùng là số địa chỉ IP có sẵn có thể được gán cho một thiết bị.
Vậy, bạn có thể hỏi, làm thế nào tôi biết có bao nhiêu địa chỉ IP có sẵn cho các thiết bị? Vâng, khi một subnet mask cho chúng ta biết rằng một địa chỉ IP có tám bit dành riêng cho ID máy chủ, điều đó có nghĩa là có tám biến số mà có thể đặt 0 hoặc 1.
Điều này chuyển thành 2^8 hoặc 256 địa chỉ IP có thể được gán cho một thiết bị trong địa chỉ IPv4 này. Tuy nhiên, lưu ý rằng hai trong số các địa chỉ này luôn được dành riêng cho địa chỉ mạng (192.168.1.0) và địa chỉ phát sóng (192.168.1.255).
Mặt nạ mạng con IPv6
Ngoài subnet mask trong IPv4, hãy nói về subnet mask trong IPv6. Thay vì hiển thị phần nào của địa chỉ IPv6 được gán cho ID mạng và phần nào được gán cho ID máy chủ thông qua ký hiệu thập phân có dấu chấm như trong IPv4 (255.255.255.0), IPv6 sử dụng độ dài tiền tố, là một phần của hệ thống cấp phát và ký hiệu IP mới hoàn toàn.
Hệ thống này được gọi là Classless Inter-Domain Routing. Thay vì hệ thống cấp phát IP dựa trên lớp trước đây, nó sử dụng Variable-Length Subnet Masking (VLSM). Bạn có thể tìm hiểu thêm về CIDR, cách hoạt động của nó và khác biệt so với các hệ thống trước đây.
Về cách ký hiệu CIDR cho thấy phần nào dành cho network và host ID, thường thì một dấu / được thêm vào cuối một địa chỉ IPv6, theo sau là một số chỉ ra bao nhiêu bit được cấp phát cho phần network. Ký hiệu CIDR này được gọi là prefix length.
Lưu ý rằng trong khi mỗi số trong địa chỉ IPv4 biểu thị 8 bit hoặc một octet, thì trong IPv6, mỗi tổ hợp số và chữ cái giữa hai dấu chấm biểu thị 16 bit. Ví dụ:
2001 (thập lục phân) → 0010000000000001 (nhị phân)
Phiên bản nhị phân hoàn chỉnh của địa chỉ IPv6 2001:0db8:85a3:0000:0000:8a2e:0370:7334 là:
0010000000000001 0000110110111000 1000010110100011 0000000000000000
0000000000000000 1000101000101110 0000001101110000 0111001100110100
Ngoài ra, để rút gọn một địa chỉ IPv6, thay vì viết hết tất cả các khối số không (các khối 16-bit toàn số không trong một địa chỉ IPv6), chúng được thay thế bằng hai dấu hai chấm (""). Số lượng khối 16-bit toàn số không có thể được tính bằng cách lấy tổng số khối trong một địa chỉ IPv6 (là 8) trừ đi số khối không phải toàn số không được hiển thị đầy đủ. Ví dụ:
2001:db8:1234::/64 → 2001:db8:1234 → 8 khối tổng cộng – 3 khối không phải toàn số không = 5 khối toàn số không
Vì vậy, địa chỉ đầy đủ là 2001:0db8:1234:0000:0000:0000:0000:0000/64.
Với những kiến thức cơ bản đó, hãy xem một ví dụ về subnet mask IPv6:
Nếu địa chỉ IPv6 như sau: 2001:db8:1234::/64
64 bit đầu tiên dành cho phần network: 2001:db8:1234
64 bit còn lại (128-64=64) dành cho phần host: 0000.0000.0000.0000.
Bảng Gợi ý Subnet cho IPv4 và IPv6
Mặc dù subnet mask và subnetting có vẻ giống nhau, chúng thực hiện hoàn toàn những việc khác nhau. Subnetting về cơ bản chia nhỏ một lượng lớn các địa chỉ IPv4 hoặc IPv6 đi kèm với một mạng để quản lý tốt hơn các bộ phận hoặc thiết bị khác nhau và tăng cường bảo mật.
Ví dụ, trong một môi trường công ty, bộ phận tài chính có thể có subnet riêng của nó, ngăn chặn truy cập trái phép từ các bộ phận khác. Trong một môi trường gia đình, chia mạng thành hai subnet, một cho thiết bị cá nhân và một cho IoTs (Internet of Things) như trợ lý nhà thông minh hoặc Roombas, có thể cải thiện bảo mật và lưu lượng, vì IoTs liên tục giao tiếp với dịch vụ đám mây và thường dễ bị tấn công bảo mật hơn.
Trước năm 1993, subnetting được thực hiện thông qua các lớp, trong đó một mạng có 254, 65.534 hoặc hơn 16 triệu IP cho (thiết bị), và bạn không thể chia chúng thành các mạng nhỏ hơn như bạn có thể làm ngày nay.
Tuy nhiên, nhờ sự phát triển của CIDR, bạn giờ đây có thể chia bất kỳ mạng nào có bất kỳ kích thước nào thành bao nhiêu mạng nhỏ hơn tùy thích. Vì vậy, hãy tìm hiểu cách subnetting trong IPv4 và IPv6 được thực hiện và cách bạn có thể sử dụng bảng ghi nhớ subnet của chúng tôi để cấu hình mạng của mình.
Bảng Gợi ý Subnet IPv4
Giả sử bạn có một mạng, chẳng hạn như 192.168.1.0/24, có 256 địa chỉ IP cho phần host. Mặc dù bạn có thể tìm ra bao nhiêu IP được dành riêng cho phần network và host thông qua subnet mask (255.255.255.0), thông qua /24 ở cuối IP, bạn có thể suy ra rằng vì 24 bit được dành riêng cho phần network nên 8 bit hoặc 256 (2^8=256) địa chỉ được sử dụng cho phần host.
Nếu chúng ta muốn chia mạng này và có hai subnet với 128 địa chỉ, chúng ta mượn một bit từ phần network, dẫn đến thiết lập và thay đổi sau:
- Subnet mask mới: /25 hoặc 255.255.255.128
- Hosts trên mỗi subnet: 128
- Subnet 1: 192.168.1.0/25 (126 địa chỉ có thể sử dụng từ 192.168.1.1 đến 192.168.1.126)
- Subnet 2: 192.168.1.128/25 (126 địa chỉ có thể sử dụng từ 192.168.1.129 đến 192.168.1.254)
Thông qua quy trình CIDR này, bạn có thể chia bất kỳ mạng nào nhiều lần tùy thích, miễn là bạn có hai địa chỉ IP có thể sử dụng (không tính hai IP cần thiết cho broadcast và địa chỉ network). Vì vậy, đối với một mạng /24 có 254 IP có thể sử dụng, bạn có thể tạo 64 subnet, mỗi cái chứa hai địa chỉ IP có thể sử dụng; tuy nhiên, một số lượng host thấp như vậy thường được sử dụng cho các kết nối point-to-point.
Bảng Gợi ý Subnet IPv6
Subnetting IPv6 đặc biệt quan trọng vì không gian địa chỉ IPv6 cung cấp 2^128 hoặc 340 undecillion (34 với 37 số 0 phía sau) các địa chỉ IP duy nhất. Một mạng IPv6 điển hình thường được thiết lập với /64 CIDR cấp phát 64 bit cho phần network và 64 bit còn lại cho phần host, cho bạn 2^64 hoặc 18 quintillion (18 với 18 số 0 phía sau) các địa chỉ duy nhất.
Xem xét số lượng khổng lồ các địa chỉ IPv6 có sẵn, thậm chí với /64 CIDR điển hình, subnetting một mạng IPv6 rất có lợi vì quản trị viên mạng có thể quản lý các thiết bị bằng cách nhóm chúng dựa trên vị trí, bộ phận hoặc chức năng, giám sát lưu lượng của chúng, áp dụng chính sách bảo mật và cấu hình bộ định tuyến dễ dàng hơn nhiều.
Mặc dù /64 subnet là hình thức subnetting IPv6 được sử dụng phổ biến nhất vì các tính năng như SLAAC hoặc Stateless Address Autoconfiguration (cho phép các thiết bị tự động tạo địa chỉ IP của chúng dựa trên mạng mà chúng kết nối mà không cần máy chủ DHCP), bạn có thể dễ dàng chia một mạng IPv6 thành bất kỳ số subnet nào bạn muốn.
Giả sử bạn có một mạng IPv6 điển hình /64 chẳng hạn như 2001:db8:abcd:1000::/64; nếu chúng ta mượn, ví dụ, 4 bit từ phần network, chúng ta có thể chia mạng của chúng ta thành 16 subnet, dẫn đến những thay đổi sau:
- Mạng con gốc: 2001:db8:abcd:1000::/64
- Subnet mới: /68
- Số lượng mạng con: 2^(các bit được mượn từ mạng)= 2^4=16 subnet
- Subnet đầu tiên: 2001:db8:abcd:1000:0000::/68
- Mạng con thứ hai: 2001:db8:abcd:1000:1000::/68
- Mạng con thứ ba: 2001:db8:abcd:1000:2000::/68
- … lên đến 2001:db8:abcd:1000:f000::/68
- 2001:db8:abcd:1000: 64 bit đầu tiên xác định tiền tố định tuyến toàn cục.
- 0000 – f000: 4 bit tiếp theo được sử dụng cho subnetting.
- Phần Host: 60 bit còn lại được sử dụng cho địa chỉ máy chủ. ("::" còn lại thể hiện ba khối 16 bit)
- Mỗi subnet /68 có 2^60 = khoảng 1,15 triệu tỷ địa chỉ máy chủ khả dụng.
Suy nghĩ cuối cùng
Subnetting là một phần quan trọng của mọi mạng, dù đó là subnetting IPv4 hay IPv6. Hopefully, bài viết này và bảng cheat sheet subnetting mà tôi cung cấp có thể giúp bạn thiết lập và chia subnet mạng của mình dễ dàng hơn.
Các câu hỏi thường gặp
Subnet mask là gì?
Trong IPv4, subnet mask là một số 32-bit (giống như địa chỉ IP) xác định octet nào được gán cho network ID và host ID. Trong IPv6, thay vì sử dụng subnet mask như trong IPv4 (ví dụ: 255.255.255.0), IPv6 sử dụng ký hiệu prefix length để chỉ ra có bao nhiêu bit của địa chỉ được dùng cho phần mạng.
Subnetting IPv4 và IPv6 hoạt động như thế nào?
Thông qua CIDR hay Classless Inter-Domain Routing, chúng ta có thể chia một mạng IPv4 hoặc IPv6 thành bao nhiêu subnet tùy ý bằng cách mượn bit từ phần mạng; tuy nhiên, đối với IPv4, bạn phải có ít nhất hai địa chỉ IP có thể sử dụng (không tính hai IP cần thiết cho broadcast và network address). Ví dụ, nếu bạn có mạng gồm 256 địa chỉ IP (192.168.1.0/24) và muốn chia nó thành hai subnet với 128 IP, bạn mượn một bit từ phần mạng, tạo ra hai subnet này: 192.168.1.0/25 & 192.168.1.128/25
Có bảng gợi ý subnetting cho IPv4 và IPv6 không?
Có! Tính toán bao nhiêu địa chỉ IP bạn nhận được khi chia subnet mạng có thể khá phức tạp, đặc biệt với IPv6. Đó là lý do tôi đã biên soạn một bảng cheat sheet subnet toàn diện để giúp subnetting của bạn dễ dàng hơn. Nó cũng là một cheatsheet IPv6 và một cheatsheet mạng, nên khá toàn diện!