Subnet mask và cách chia

Posted: February 26, 2011 by Hacking & Relax in Skill, Tutorial

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 = 64 máy

 

Advertisements
Comments
  1. […] trước mình có viết bài Subnet mask và cách chia có trình bày về cách chia Subnet căn bản. Cách tính và nhớ phương phá để chia […]

  2. M.Vương says:

    Cảm ơn bạn, hôm bữa mình nghỉ đúng lúc thầy giảng bài này. Đau cái đầu từ bữa đó tới giờ. Cảm ơn bạn nhiều làm.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s