Ở bài Cấu trúc IP ta đã biết sơ qua về khái niệm và cấu trúc của IPv4. Bài này mình sẽ trình bày rõ về cách chia Subnetmask
Subnet là gì?: Hiểu đơn giản vầy. Khi ta chia một Network ra thành nhiều Network nhỏ hơn thì các Network nhỏ này được gọi là Subnet.
Vì sao cần phải chia Subnet mask?
Như ta đã biết mạng Internet sử dụng địa chỉ IPv4 32 bit và phân chia ra các lớp A,B,C,D , tuy nhiên, với một hệ thống địa chỉ như vậy việc quản lý vẫn rất khó khăn . Nếu như một mạng được cấp một địa chỉ lớp A thì có nghĩa nó có thể chứa tới 16*1.048.576 địa chỉ ( máy tính ) .Với số lượng máy tính lớn như vậy rất ít công ty hoặc tổ chức dùng hết được điều đó gây lãng phí địa chỉ IP. Để tránh tình trạng đó các nhà nghiên cứu đưa ra một phương pháp là sử dụng mặt nạ mạng con ( Subnet mask ) để phân chia mạng ra thành những mạng con gọi là Subnet. Subnet mask là một con số 32 bit bao gồm n bit 1 ( thường là các bit cao nhất ) dùng để đánh địa chỉ mạng con và m bit 0 dùng để đánh địa chỉ máy trong mạng con với n+m=32 .
Subnet mask phải được cấu hình cho mỗi máy tính trong mạng và phải được định nghĩa cho mỗi giao diện Router. Như vậy, ta phải dùng cùng một Subnet mask cho toàn bộ mạng vật lý cùng chung một địa chỉ Internet. Trong thực tế, để dễ dàng cho hoạt động quản lý các máy trong mạng, thường chia nhỏ các mạng lớn trong các lớp mạng (A, B, C) thành các mạng nhỏ hơn. Quá trình này được thực hiện bằng cách lấy một số bit ở phần định danh host để sử dụng cho việc đánh địa chỉ mạng. Tuỳ theo cách sử dụng của người quản trị mạng ( số subnet và số host trên mỗi subnet ) mà số lượng bit lấy ở phần host nhiều hay ít.
Để tách biệt giữa địa chỉ mạng và địa chỉ host người ta dùng netmask. Để tách biệt giữa Subnet address và địa chỉ host người ta dùng Subnet mask.
Theo quy ước, các địa chỉ IP được chia ra làm ba lớp như sau:
Class Subnet mask trong dạng nhị phân Subnet mask
Lớp A 11111111 00000000 00000000 00000000 255.0.0.0
Lớp B 11111111 11111111 00000000 00000000 255.255.0.0
Lớp C 11111111 11111111 11111111 00000000 255.255.255.0
Như ta đã biết, lớp A sử dụng 1 octet đầu tiên làm Network ID. Sử dụng 8 bit đầu được set giá trị thành 1, và 24 bit sau set giá trị 0 => có Subnet Mask 255.0.0.0. Tương tự với các lớp kia.
Ví dụ IP: 192.168.1.0/24
Đây là địa chỉ thuộc lớp C. Và con số 24 có nghĩa là ta sử dụng 24 bit cho phần Network ID, và còn lại 8 bit cho Host ID.
Chia Subnet Mask như thế nào?
Ở đây, mình sẽ trình bày cách ngắn gọn giúp bạn có thể tính nhẩm được. Lấy ví dụ cụ thể như sau:
Công ty thuê một đường IP là 192.168.1.0. Bây giờ ông giám đốc yêu cầu phân làm chia làm 3 mạng con cho ba phòng ban trong công ty. Hãy thực hiện việc chia subnet này.
Trước hết ta phân tích cấu trúc của địa chỉ: 192.168.1.0 như sau:
+ Địa chỉ NetMask: 255.255.255.0
+ Network ID: 11111111.11111111.11111111
+ HostID: 00000000
Trong ví dụ này ta cần chia làm 3 mạng con (3 subnet) nên ta cần sử dụng 2 bit ở phần Host ID để thêm vào Network ID. Làm sao để biết được số bit cần mượn thêm? Ta có công thức : 2^n>=m (với m là số subnet cần chia, n là số bit cần mượn). Ở đây 2^2>=3.
Sau khi mượn 2 bit, ta có cấu trúc mới ở dạng nhị phân là (bit mượn ta set giá trị bằng 1 nhé):
+ Địa chỉ NetMask:: 11111111.11111111.11111111.11000000
+ Network ID: 11111111.11111111.11111111.11
+ Host ID: 000000
=> Ở dạng thập phân là: 255.255.255.192
Địa chỉ IP mới lúc này là: 192.168.1.0/26 (con số 26 là 24 + 2 bits mượn).
Ta xác định "bước nhảy" cho các subnet:
Bước nhảy k=256-192=64
=> Ta có các mạng con sau:
Ip: 192.168.1.0 Netmask: 255.255.255.192
Ip: 192.168.1.64 Netmask: 255.255.255.192
Ip: 192.168.1.128 Netmask: 255.255.255.192
Ip: 192.168.1.192 Netmask: 255.255.255.192
Như vậy số máy trên mỗi mạng bằng bao nhiêu?
Số bits của Host ID còn lại sau khi đã bị Network ID mượn: x = 32-26 = 6
=> Số máy trên mỗi mạng: 2^n-2 = 2^6-2 = 62 máy
Đăng nhận xét