Tự học CCNA – Bài 6: Tìm hiểu kỹ thuật chia mạng con với phương pháp VLSM

Như trong bài “Tự học CCNA – Bài 5: Cách hiểu đơn giản nhất về địa chỉ IP“, mình đã giới thiệu với các bạn về cấu tạo, cách tổ chức và phân loại địa chỉ IP. Trong bài hôm nay tôi xin trình bày một khái niệm mới đó là Subnetting (Chia mạng con). Chúng ta sẽ bắt đầu tìm hiểu Subneting là gì và mục đích của nó ra làm sao ngay sau đây? Cùng với đó là áp dụng phương pháp chia mạng con VLSM nổi tiếng vào thực tiễn. Bài viết này là chủ đề số 6 trong Series “Tự học CCNA – Tự học Mạng Máy Tính” của site “Cuongquach.com”

1. Đổi số nhị phân sang thập phân và ngược lại

Để dễ dàng tiếp cận hơn về cách chia subnet tôi sẽ bổ sung kiến thức về cách đổi số nhị phân sang thập phân và ngược lại. Các bạn cần nắm chắc kiến thức này để theo dõi những phần sau tốt hơn.

Hệ thập phân (hệ đếm cơ số 10) là 1 số có thể được ráp nối lại bởi 10 chữ số khác nhau (0 -> 9). Vd: 192, 128,…

Hệ nhị phân (hay hệ đếm cơ số 2) là một hệ đếm chỉ dùng hai ký tự là 0 và 1 để biểu đạt một giá trị số. Vd: 100, 010,1000100,…

+ Cách đổi từ hệ nhị phân sang thập phân

Ví dụ như ta muốn đổi từ 192 và 168 sang hệ nhị phân, ta làm như sau

Đổi thập phân sang nhị phân

Cách đổi trên có thể tóm gọn như sau: Đầu tiên bắt đầu ta lấy 128 so sánh với số cần đổi (SCĐ), tiếp đó ta cứ cộng dồn 128 với các số sau theo nguyên tắc:

Nếu kết quả cộng dồn đó < SCĐ thì bit tương ứng bên dưới cũng sẽ là 1.

Nếu kết quả cộng dồn đó > SCĐ thì bit tương ứng bên dưới sẽ là 0 và ta sẽ ta bỏ số cộng dồn đó ra (nhưở phép đổi 168 là ta bỏ 2 số 64 và 16).

Nếu kết quả cộng dồn đó = SCĐ thì bit tương ứng bên dưới sẽ là 1 và tất cà các bit theo sau là 0. Phép chuyển đổi dừng lại tại đây và ta có kết quả cuối cùng.

+ Cách đổi nhị phân sang thập phân

Rất đơn giản các bạn chỉ cần xếp các bit nhị phân vào bảng trên và xét vị trí nào có bit 1 thì ta lấy các số ở vị trí đó cộng lại với nhau sẽ ra số thập phân cần tìm.

2. Subneting (chia mạng con)

Subneting (chia subnet) là hành động chia Net ID thành các Subnet ID. Vậy Subnet ID là gì? Và tại sao phải chia subnet? Ví dụ công ty ABC có 2 chi nhánh: Sài Gòn và Hà Nội. Như các bạn cũng đã biết để 2 server ở hai chi nhánh này liên lạc được với nhau thì thứ nhất chúng phải có đường truyền vật lý thuê từ nhà cung cấp dịch vụ, thứ 2 là ta phải tổ chức đặt IP cho 2 chi nhánh này.

Nhưng công ty chỉ có 1 IP Puclic là 1 Net ID được thuê từ nhà cung cấp. Vậy ta phải chia Net ID đó thành nhiều Net ID con (hay còn gọi là Subnet ID) cho 2 chi nhánh của cty ABC. Sau đây tôi sẽ cho các bạn công thức để chia subnet vàđể hiểu rõ hơn thì các bạn nên xem ví dụ bên dưới.

  • Công thức tính

Gọi n là số bit 1 tăng thêm của Subnet Mask (hay còn gọi là số bit mượn).
Gọi m là số bit 0 cỏn lại của Subnet Mask (m = 32 – n – SM hiên tại). Ta làm theo 5 bước sau:

Bước 1: Số Subnet: 2^n
Bước 2: Số Host/Subnet : 2^m – 2 ( vì phải trừ đi địa chỉ NetID và Broadcast )
Bước 3: Bước nhảy: 2^m
Bước 4: Subnet mask mới: 256 – Bước nhảy
Bước 5:
Các Subnet ID gồm
+ Subnet ID đầu tiên = 0
+ Subnet ID kế tiếp = Subnet hiện tại + Bước nhảy

Bước 6:
Trong Subnet ID.
+ Host đầu: Subnet ID + 1
+ Host cuối: Subnet ID + Bước nhảy – 2
+ Địa chỉ Broadcast: Host cuối + 1

Lưu ý: Tổng số subnet có 2 cách tính : 2^m-2 (ngày xưa dùng) và 2^m.

Do Router ngày xưa nó không phân biệt được subnet all zero và subnet all one. Để hiểu rõ hơn, các bạn search “chia subnet trừ 2 hay không” sẽ hiểu rõ 🙂

2.1. Bài tập chia subnet số 1

Ta phải chia Net ID: 203.162.4.0/24 tăng 2 bit (n = 2)

1.  Số Subnet: 2^n = 2^2 = 4
2.  Số Host trên Subnet : 2^6 – 2 = 62
3.  Bước nhảy: 2^6 = 64
4.  Subnet mask mới: 256 – Bước nhảy = 256 – 64 = 192

Subnet mới: 255.255.255.255.192 = 11111111.11111111.11111111.11000000 => /26

5. Các Subnet ID:

+ Subnet ID đầu tiên = 0

=> 203.162.4.0/26

+ Subnet ID kế tiếp = Subnet hiện tại + Bước nhảy

203.162.4.64/26

203.162.4.128/26

203.162.4.192/26

Kết quả:

Subnet ID Host đầu:
Subnet ID + 1
Host cuối:
Subnet ID + Bước nhảy – 2
Broadcast:
Host cuối + 1
203.162.4.0/26 203.162.4.1 203.162.4.62 203.162.4.63
203.162.4.64/26 203.162.4.65 203.162.4.126 203.162.4.127
203.162.4.128/26 203.162.4.129 203.162.4.190 203.162.4.191
203.162.4.192/26 203.162.4.193 203.162.4.254 203.162.4.255

 

2.2. Bài tập chia subnet số 2

Một bài toán khác về IP. Ta có địa chỉ của 1 host, vậy làm sao để suy ra được host đó thuộc vùng mạng (Net ID) nào?

Ví dụ ta có 1 host như sau:

IP: 203.162.4.165
Subnet Mask: 255.255.255.224

Ta thấy giá trị SM: 255.255.255.224 = 11111111 . 11111111 . 11111111 . 11100000

=>  Số bit 0 còn lại của SM là: m = 5
=>  Bước nhảy = 2^m = 2^5 = 32
=>  Ta lấy 165 : 32 = 5,15625
=>  Ta lấy phần nguyên của kết quả trên tức là 5 x 32 = 160
=>  Host trên thuộc Net ID: 203.162.4.160

3. Phương pháp VLSM (Variable Length Subnet Masking)

Đối với cách chia trên ta thấy số IP (hay còn gọi là host) trong mỗi 1 subnet là như nhau. Vậy giả sử cty XYZ được cung cấp Public IP là 203.162.4.0/24 cho 3 chi nhánh là SG, HN, DN. Và 3 chi nhánh này có số yêu cầu về IP khác nhau như sau:

+ SàiGòn cần 52 IP
+ HàNội cần 25 IP
+ ĐàNẵng cần 22 IP

Nếu ta dùng cách chia mạng con đều nhau như trên thì chắc chắn một điều sẽ không đáp ứng được yêu cầu của cty XYZ. Chỗ thì cần nhiều, chỗ thì cần ít. Nếu cấp đều nhau thì chỗ sẽ bị thiếu IP và ngược lại có chỗ sẽ bị dư thừa IP. Chính vì lý do thực tế đó nên sinh ra cách chia Subnet tối ưu hơn đó là VLSM. Sau đây tôi sẽ trình bày cách chia subnet theo yêu cầu như ví dụ trên theo chuẩn VLSM.

Đầu tiên ta thấy nhu cầu của mỗi chi nhánh phải thỏa điều kiện sau:

Số lượng host (IP) của 1 subnet mà cty cấp cho mỗi chi nhánh  >=  Số host (IP) yêu cầu của mỗi chi nhánh

Ta có Số lượng host (IP) của 1 subnet = 2^m -2
=>  2^m -2 >= Số host (IP) yêu cầu của mỗi chi nhánh

Ta nên chia subnet theo thứ tự yêu cầu IP giảm dần của các chi nhánh, bắt đầu là SG với số lượng IP yêu cầu là 52.

Ta có:
2^m – 2 >= 52
=>  m = 6
=>  n = 2 (Các bạn xem lại ví dụ về cách chia subnet ban đầu để hiểu hơn)
=>  Bước nhảy = 2^m = 2^6 = 64

Theo như công thức ở mục 2 thì ta có:

+ Subnet ID đầu tiên = 0
=> 203.162.4.0/26

Và Subnet Mask mới của mỗi Subnet ID trên sẽđược tính theo công thức: SM cũ + n
=>  Subnet Mask mới của Subnet ID 203.162.4.0 sẽ là 24 + 2 = 26

+ Subnet ID kế tiếp = Subnet hiện tại + Bước nhảy

Vậy kết quả sẽ được tóm tắt như bảng sau:

Chi Nhánh Số IP yêu cầu Subnet ID Subnet Mask Host đầu: Subnet ID + 1 Host cuối: Subnet ID + Bước nhảy – 2 Broadcast: Host cuối + 1
SG 52 203.162.4.0 /26 203.162.4.1 203.162.4.62 203.162.4.63
HN 25 203.162.4.64 /27 203.162.4.65 203.162.4.94 203.162.4.95
DN 22 203.162.4.96 /27 203.162.4.97 203.162.4.126 203.162.4.127

 

Như các bạn cũng đã thấy số lượng IP được chia mạng con cho mỗi chi nhánh đã đủ với yêu cầu ban đầu và không quá dư thừa. Và thực tế thì VLSM là cách chia được dùng để làm công việc chia Subnet ID của các doanh nghiệp. Thật ra các bạn cũng có thể dùng máy tính, hoặc các ứng dụng để tính toàn và chia subnet 1 cách tự động.

Nhưng nếu đã muốn trở thành 1 người quản trị mạng thực thụ thì các bạn nên biết cách tính tay như tôi trình bày ở trên để nắm rõ hơn các kiến thức chuyên ngành. Trong quá trình theo dõi nếu các bạn có thắc mắc về các khái niệm, hoặc cách trình bày có thể comment bên dưới. Cuongquach.com xin được hỗ trợ các bạn hết mình. Chúc các bạn thành công!

Previous articleTự học CCNA – Bài 5: Tìm hiểu về địa chỉ IP là gì ?
Next articleTự học CCNA – Bài 7: ICMP là gì ? Ping là gì và ứng dụng của ping
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !