Cách tính địa chỉ IP hợp lệ

Mục lục [Hiện]

  1. Subnet Mask là gì?
  2. Vì sao cần phải tính Subnet Mask?
  3. Hướng dẫn cách tính subnet mask từ IPnhanh và chính xác
    1. Cách 1: Tính Subnet mask
    2. Cách 2: Chọn Subnet mask từ bảng

Subnet mask mang đến rất nhiều lợi ích cho việc chia sẻ nguồn lực mạng. Nó sẽ giúp người dùng phân bổ mạng một cách khoa học và hợp lý hơn.

Những chia sẻ sau củaBizfly sẽ giúp cho bạn hiểu Subnet mask là gì? Vì sao cần phải tính subnet Mask và hướng dẫn cách tính Subnet mask từ IP nhanh chóng và hiệu quả nhanh nhất.

Subnet Mask là gì?

Subnet mask là các số dưới dạng 32 hoặc 128 bit được dùng để phân đoạn địa chỉ IP đang tồn tại trên mạng TCP/IP, các địa chỉ đó được chia thành địa chỉ network và địa chỉ host riêng biệt.

Quá trình subnetting có thể sẽ được chia nhỏ hơn nữa phần host của một địa chỉ IP thành các subnet phụ để định tuyến được lưu lượng trong các subnet lớn hơn.

Subnet mask là gì?

Các bit nhị phân là đại diện cho một mạng được biểu diễn bằng số 1 trong những subnet mask và các bit đại diện cho một máy chủ là các số 0. Ở trong một mạng nhị phân, ví dụ “1” sẽ tượng trưng cho “hãy nhìn vào các số phía dưới” và “0” có nghĩa là “không cần nhìn”. Việc sử dụng subnet mask sẽ giúp router không cần phải xử lý toàn bộ 32 bit mà chỉ cần nhận diện được những bit đã lựa chọn.

Bizfly cung cấp bộ giải pháp chuyển đổi số [chatbot, CRM, Email Marketing và thiết kế website​...] giúp doanh nghiệp tăng trưởng100%doanh thu, tiết kiệm50%chi phí

KHÁM PHÁ NGAY

Vì sao cần phải tính Subnet Mask?

Mỗi máy tính khi dùng dùng một mạng sẽ có cùng một địa chỉ IP và nó sẽ không thay đổi. Vì thế, người dùng cần lấy một phần Node Address để định danh cho từng Subnet.

Subnet calculator được sử dụng để chia một IP network thành những subnet con thông qua việc tính toán những địa chỉ network, broadcast, subnet mask cùng các địa chỉ IP của host. Các mạng con sẽ được tính bằng thủ công hoặc sử dụng subnet calculator trực tuyến.

Để sử dụng được Subnet mask phân chia mạng hệ thống thì bạn phải xác định được số lượng mạng con cần phải sử dụng. Việc làm này sẽ dựa trên cơ sở dữ liệu về hiện trạng, đồng thời kết hợp cùng với dự kiến về tốc độ tăng trưởng của hệ thống mạng trong tương lai.

Hướng dẫn cách tính subnet mask từ IPnhanh và chính xác

IP Address là một số duy nhất được gán cho một thiết bị ở trong một mạng. Các thiết bị này có thể là một máy tính, router, máy in mạng,... Kiểu địa chỉ này được gọi là Software Address.

Khác với địa chỉ Hardware Address hay ta còn biết đến như kiểu MAC Address của Card mạng hay hard-code trong một số thiết bị mạng.

Mỗi một nhà sản xuất card mạng trên thế giới trước khi sản xuất đều phải xin mua một lô địa chỉ MAC từ InterNIC => Mỗi một địa chỉ MAC Address là duy nhất trên thế giới và không bao giờ có hai địa chỉ trùng nhau ở bất cứ đâu.

Hướng dẫn cách tính subnet mask từ IP nhanh và chính xác

IP Address là một số 32 Bit và được chia thành 4 phần, mỗi phần có 8 Bit và được ngăn cách nhau bởi dấu [.]. Có 3 cách để biểu diễn một địa chỉ IP:

Chúng ta thì thường sử dụng địa chỉ dưới dạng số thập phân nhưng máy tính thì thường sử dụng địa chỉ IP dưới dạng số nhị phân. Một địa chỉ IP bao giờ cũng có 2 phần là địa chỉ mạng [Network Address] và địa chỉ máy [Node Address].

Network Address là một số duy nhất dùng để xác định một mạng, mỗi máy tính trong một mạng bao giờ cũng có một địa chỉ mạng. Còn Node Address là một số duy nhất được gán cho một máy tính trong một mạng.

Và nếu bạn muốn quá trình subnetting được tính toán một cách chính xác nhất thì bạn có thể tham khảo 2 cách tinh sau:

Cách 1: Tính Subnet mask

Người dùng cần phải tính toán để phân chia các địa chỉ của mạng lớp C 162.199.0.0 thành 10 mạng con riêng biệt. Việc làm đầu tiên và quan trọng lúc này chính là làm sao để xác định được đúng giá trị của Subnet mask. Quá trình xác định này sẽ được tình hiện theo các bước sau:

Bước 1:Bạn lấy toàn bộ mạng con cần chia và chuyển chúng thành các dạng nhị phân, ứng với ví dụ trên chính là 10 mạng con trong mạng lớp C, tức là 1010.

Bước 2:Chuyển tất cả các bit của 1010 thành 1 và sau đó thêm vào sau các số 0, như vậy là đã có được một octet. Kết quả các dãy số lúc này sẽ là 11110000. Tiếp tục bạn chuyển các giá trị nhị phân thành thập phần và được số 240. Số này sẽ chính là phần giá trị mở rộng của subnet mask tùy biến.

Bước 3:Thêm phần mở rộng của subnet mask tùy biến [tức 240] vào sau số 255255.0.0 [đây là phần giá trị của subnet mask mặc định]. Cuối cùng, bạn sẽ có được subnet mask tùy biến là con số 255.255.255.240.

Nói tóm lại các bước để xác định được subnet mask là:

Cách 2: Chọn Subnet mask từ bảng

Đối với subnet mask tùy biến, thông thường sẽ chỉ có 8 giá trị và mỗi bit không thuộc subnet mask mặc định lại có giá trị bằng 0 hoặc 1. Dựa theo nguyên tắc này, bạn sẽ thiết lập một bảng thông tin để nhanh chóng xác định được giá trị của các subnet mask tùy biến phù hợp.

Đầu tiên, bạn cần chuyển đổi nhị phân và tính các giá trị subnet mask bằng việc cộng dồn tất cả các giá trị bit trong sơ đồ. Theo cách tính này, subnet mask sẽ bao phủ 1 bit tương ứng với giá trị là 1. Còn subnet mask bao phủ 2 bit sẽ có giá trị là 192, 3 bit là 224.

Tiếp tục thực hiện phép tính trên để tính được đến cột cuối cùng bên phải. Nhờ thế mà tất cả các bit của octet bên trong subnet mask sẽ được dùng đồng loạt. Sau khi tính giá trị của nó sẽ tương ứng là 255.

Tiếp theo, bạn cần xác định số lượng mạng con cần phân chia tương ứng với giá trị subnet mask nào. Công thức xác định giá trị sẽ là 2m - 2. Trong đó, m sẽ là số bit được đưa vào subnet mask. Ngoài ra, do có 2 địa chỉ cùng tồn tại trên một mạng nên bạn sẽ phải trừ đi 2.

Bước cuối cùng, xác định giá trị của các cột trong bảng. Đây chính là các cột tính để bạn phân chia mạng thành những mạng con theo nhu cầu sử dụng. Trong trường hợp bạn cần chia 8 mạng và chọn các giá trị đến 14 mạng con thì lúc này subnet mask sẽ có giá trị tương ứng là 240.

Tóm lại, các bước để tính được giá trị subnet mask là:

  1. Chuyển đổi subnet mask sang dạng nhị phân

  2. Đến toàn bộ số bit [gọi là m] đưa vào subnet mask tùy biến [lưu ý là trừ các bit thuộc subnet mask mặc định]

  3. Sử dụng công thức 2m - 2 để tính số mạng con cần.

Địa chỉ IP là một chuyên đề quan trọng trong chương trình đào tạo chuyên viên mạng CCNA R&S. Để có thể theo học tốt chương trình CCNA R&S, vượt qua được các kỳ thi lấy chứng chỉ quốc tế và theo học tiếp được các chứng chỉ cao cấp hơn cũng như để hoàn thành tốt được các công việc trong lĩnh vực mạng, người học viên, kỹ sư, chuyên viên phải nắm vững các kiến thức và kỹ năng liên quan đến địa chỉ IP. Chương này sẽ cung cấp những điểm chính yếu, quan trọng của chuyên đề nền tảng này.

1.1. Một vài điểm cơ bản cần nhớ :

  • Chuyển đổi nhị phân – thập phân: cần nắm vững cách chuyển đổi giữa số nhị phân và thập phân. VD: 5 101 ; 10 1010; 64 1000000.
  • Với n bit nhị phân, ta có thể thiết lập được: 2n số nhị phân với giá trị thập phân tương ứng chạy từ 0 đến 2n – 1.

Ví dụ:

  • Với n = 2, ta lập được 22 = 4 số nhị phân, giá trị thập phân chạy từ 0 đến 3 [ = 22 – 1 ]:

00 => 0

01 => 1

10 => 2

11 => 3

  • Với n = 3, ta lập được 23 = 8 số nhị phân, giá trị thập phân chạy từ 0 đến 7 [ = 23 – 1 ]:

000 => 0                     100 => 4

001 => 1                     101 => 5

010 => 2                     110 => 6

011 => 3                     111 => 7

  • Cố gắng nhớ một số lũy thừa của 2, ít nhất cho đến 28 :

2^0 = 1              2^4 = 16            2^8 = 256          

2^1 = 2              2^5 = 32

2^2 = 4              2^6 = 64

2^3 = 8              2^7 = 128

Sau đây là các chuỗi nhị phân 8 bit cùng các số thập phân tương ứng cần phải thuộc để phục vụ cho việc tính nhanh subnet mask:

Bảng 1.1 – Các chuỗi nhị phân 8 bit cần nhớ.

Bảng bước nhảy: bảng này được sử dụng để tính toán trong phép chia subnet.

Bảng 1.2 – Bảng tương ứng số bit mượn và bước nhảy.

1.2. Địa chỉ IP

Địa chỉ IP là địa chỉ logic được sử dụng trong giao thức IP của lớp Internet thuộc mô hình TCP/IP [tương ứng với lớp thứ 3 – lớp network của mô hình OSI]. Mục này trình bày các điểm chính cần ghi nhớ về địa chỉ IP.

1.2.1. Cấu trúc địa chỉ IP

Địa chỉ IP gồm 32 bit nhị phân, chia thành 4 cụm 8 bit [gọi là các octet]. Các octet được biểu diễn dưới dạng thập phân và được ngăn cách nhau bằng các dấu chấm.

Địa chỉ IP được chia thành hai phần: phần mạng [network] và phần host.

Hình 1.2.1 – Cấu trúc địa chỉ IP

Việc đặt địa chỉ IP phải tuân theo các quy tắc sau:

  • Các bit phần mạng không được phép đồng thời bằng 0.

VD: địa chỉ 0.0.0.1 với phần mạng là 0.0.0 và phần host là 1 là không hợp lệ.

  • Nếu các bit phần host đồng thời bằng 0, ta có một địa chỉ mạng.

VD: địa chỉ 192.168.1.1 là một địa chỉ có thể gán cho host nhưng địa chỉ 192.168.1.0 là một địa chỉ mạng, không thể gán cho host được.

  • Nếu các bit phần host đồng thời bằng 1, ta có một địa chỉ quảng bá [broadcast].

VD: địa chỉ 192.168.1.255 là một địa chỉ broadcast cho mạng 192.168.1.0

1.2.2. Các lớp địa chỉ IP

Không gian địa chỉ IP được chia thành các lớp như sau:

1.2.2.1. Lớp A:

Hình 1.2.2 – Cấu trúc địa chỉ lớp A

Địa chỉ lớp A sử dụng một octet đầu làm phần mạng, ba octet sau làm phần host.

Bit đầu của một địa chỉ lớp A luôn được giữ là 0. Do đó, các địa chỉ mạng lớp A gồm: 1.0.0.0 à 127.0.0.0.

Tuy nhiên, mạng 127.0.0.0 được sử dụng làm mạng loopback nên địa chỉ mạng lớp A sử dụng được gồm 1.0.0.0 à 126.0.0.0 [126 mạng].

Chú ý: địa chỉ 127.0.0.1 là địa chỉ loopback trên các host. Để kiểm tra chồng giao thức TCP/IP có được cài đặt đúng hay không, từ dấu nhắc hệ thống, ta đánh lệnh ping 127.0.0.1, nếu kết quả ping thành công thì chồng giao thức TCP/IP đã được cài đặt đúng đắn.

-   Phần host có 24 bit => mỗi mạng lớp A có [224 – 2] host.

-   Ví dụ: 10.0.0.1, 1.1.1.1, 2.3.4.5 là các địa chỉ lớp A.

1.2.2.2. Lớp B:

                                   Hình 1.2.3 – Cấu trúc địa chỉ lớp B.

Địa chỉ lớp B sử dụng hai octet đầu làm phần mạng, hai octet sau làm phần host.

Hai bit đầu của một địa chỉ lớp B luôn được giữ là 10. Do đó các địa chỉ mạng lớp B gồm:

  • 128.0.0.0 -> 191.255.0.0
  • Có tất cả 214 mạng trong lớp B.

Phần host: 16 bit

  • Một mạng lớp B có 216 – 2 host.

Ví dụ: các địa chỉ 172.16.1.1, 158.0.2.1 là các địa chỉ lớp B.

1.2.2.3. Lớp C:

                                   Hình 1.2.4 – Cấu trúc địa chỉ lớp C.

-   Địa chỉ lớp C sử dụng ba octet đầu làm phần mạng, một octet sau làm phần host.

-  Ba bit đầu của một địa chỉ lớp C luôn được giữ là 110.  Do đó, các địa chỉ mạng lớp C gồm:

  • 192.0.0.0 -> 223.255.255.0
  • Có tất cả 221 mạng trong lớp C.

-    Phần host: 8 bit

  • Một mạng lớp C có 28 – 2 = 254 host.

-   Ví dụ: các địa chỉ 192.168.1.1, 203.162.4.191 là các địa chỉ lớp C.

1.2.2.4. Lớp D:

Địa chỉ:

  • 224.0.0.0 -> 239.255.255.255

Dùng làm địa chỉ multicast.

Ví dụ: 224.0.0.5 dùng cho OSPF

1.2.2.5. Lớp E:

Từ 240.0.0.0 trở đi.

Được dùng cho mục đích dự phòng.

Chú ý:

  • Các lớp địa chỉ IP có thể sử dụng để đặt cho các host là các lớp A, B, C.
  • Để thuận tiện cho việc nhận diện một địa chỉ IP thuộc lớp nào, ta quan sát octet đầu của địa chỉ, nếu octet này có giá trị:

1 => 126:        địa chỉ lớp A.

128 => 191:    địa chỉ lớp B.

192 => 223:    địa chỉ lớp C.

224 => 239:    địa chỉ lớp D.

240 => 255:    địa chỉ lớp E.

1.2.3. Địa chỉ Private và Public:

Địa chỉ IP được phân thành hai loại: private và public.

  • Private: chỉ được sử dụng trong mạng nội bộ [mạng LAN], không được định tuyến trên môi trường Internet. Có thể được sử dụng lặp đi lặp lại trong các mạng LAN khác nhau.
  • Public: là địa chỉ IP sử dụng cho các gói tin đi trên môi trường Internet, được định tuyến trên môi trường Internet, không sử dụng trong mạng LAN. Địa chỉ public phải là duy nhất cho mỗi host tham gia vào Internet.

Dải địa chỉ private [được quy định trong RFC 1918]:

  • Lớp A: 10.x.x.x
  • Lớp B: 172.16.x.x -> 172.31.x.x
  • Lớp C: 192.168.x.x

Kỹ thuật NAT [Network Address Translation] được sử dụng để chuyển đổi giữa IP private và IP public.

Ý nghĩa của địa chỉ private: được sử dụng để bảo tồn địa chỉ IP public đang dần cạn kiệt.

1.2.4. Địa chỉ quảng bá [broadcast]:

Gồm hai loại:

- Direct:

  VD: 192.168.1.255

- Local:

  VD: 255.255.255.255

Để phân biệt hai loại địa chỉ broadcast này, ta xem xét ví dụ sau:

Xét máy có địa chỉ IP là 192.168.2.1 chẳng hạn. Khi máy này gửi broadcast đến   255.255.255.255, tất cả các máy thuộc mạng 192.168.2.0 [là mạng máy gửi gói tin đứng trong đó] sẽ nhận được gói broadcast này, còn nếu nó gửi broadcast đến địa chỉ 192.168.1.255 thì tất cả các máy thuộc mạng 192.168.1.0 sẽ nhận được gói broadcast [các máy thuộc mạng 192.168.2.0 sẽ không nhận được gói broadcast này].

1.2.5. Bài tập:

Cho biết địa chỉ nào sau đây có thể dùng cho host:

  • 150.100.255.255
  • 175.100.255.18
  • 195.234.253.0
  • 100.0.0.23
  • 188.258.221.176
  • 127.34.25.189
  • 224.156.217.73

1.3. Chia subnet:

1.3.1. Subnet mask và số prefix:

 Subnet mask :

 Subnet mask là một dải 32 bit nhị phân đi kèm với một địa chỉ IP, được các host sử dụng để xác định địa chỉ mạng của địa chỉ IP này. Để làm được điều đó, host sẽ đem địa chỉ IP thực hiện phép tính AND từng bit một của địa chỉ với subnet mask của nó, kết quả host sẽ thu được địa chỉ mạng tương ứng của địa chỉ IP.

Đối với chúng ta, quy tắc gợi nhớ subnet mask rất đơn giản: phần mạng chạy đến đâu, bit 1 của subnet mask chạy đến đó và ứng với các bit phần host, các bit của subnet mask được thiết lập giá trị 0. Một số subnet mask chuẩn:

  • Lớp A : 255.0.0.0
  • Lớp B: 255.255.0.0
  • Lớp C: 255.255.255.0

Số prefix

Để mô tả một địa chỉ IP, người ta dùng một đại lượng khác được gọi là số prefix. Số prefix có thể hiểu một cách đơn giản là số bit mạng trong một địa chỉ IP, được viết ngay sau địa chỉ IP, và được ngăn cách với địa chỉ này bằng một dấu “/”.

Ví du: 192.168.1.1/24, 172.16.0.0/16 hay 10.0.0.0/8, v.v…

Nguyên lý cơ bản của kỹ thuật chia subnet: Để có thể chia nhỏ một mạng lớn thành nhiều mạng con bằng nhau, người ta thực hiện mượn thêm một số bit bên phần host để làm phần mạng, các bit mượn này được gọi là các bit subnet. Tùy thuộc vào số bit subnet mà ta có được các số lượng các mạng con khác nhau với các kích cỡ khác nhau:

                                   Hình 1.3.1 – Mượn thêm bit để chia subnet.

1.4. Các dạng bài tập về chia subnet:

1.4.1. Cho một mạng lớn và số bit mượn. Xác định :

  • Số subnet
  • Số host/subnet
  • Địa chỉ mạng của mỗi subnet.
  • Địa chỉ host đầu của mỗi subnet.
  • Địa chỉ host cuối của mỗi subnet.
  • Địa chỉ broadcast của mỗi subnet.
  • Subnet mask được sử dụng.

Cách tính:

-   Gọi n là số bit mượn và m là số bit host còn lại. Ta có:

    + Số subnet có thể chia được:

  • 2n            nếu có hỗ trợ subnet – zero.
  • 2n – 2  nếu không hỗ trợ subnet – zero.

Luật subnet – zero: nếu hệ điều hành trên host không bật tính năng subnet – zero, khi chia subnet ta phải bỏ đi không dùng hai mạng con ứng với các bit subnet bằng 0 hết và các bit subnet bằng 1 hết. Ngược lại nếu hệ điều hành bật tính năng subnet – zero , ta có quyền sử dụng hai mạng con này. Nhìn chung, các hệ điều hành ngày nay đều bật tính năng subnet – zero một cách mặc định, do đó nếu không thấy nói gì thêm trong yêu cầu, ta sử dụng cách chia có hỗ trợ subnet – zero.

   + Số host có thể có trên mỗi subnet: 2m – 2 [host/subnet].

-  Với mỗi subnet chia được:

Địa chỉ mạng có octet bị mượn là bội số của bước nhảy. Bước nhảy tương ứng với số bit mượn có thể được tra trong bảng 1.2 của mục 1.

Địa chỉ host đầu = địa chỉ mạng + 1 [cần hiểu cộng 1 ở đây là lùi về sau một địa chỉ].

Địa chỉ broadcast = địa chỉ mạng kế tiếp – 1 [cần hiểu trừ 1 ở đây là lùi về phía trước một địa chỉ].

Địa chỉ host cuối = địa chỉ broadcast – 1 [cần hiểu trừ 1 ở đây là lùi về phía trước một địa chỉ].

-   Để tính ra subnet mask được sử dụng, ta sử dụng cách nhớ: phần mạng của địa chỉ chạy đến đâu, các bit 1 của subnet mask chạy đến đó và bảng 1.1 của mục 1.1.

Ví dụ 1: Xét mạng 192.168.1.0/24 , mượn 2 bit, còn lại 6 bit host, bước nhảy là 64. Ta có:

-   Số subnet có thể có: 22 = 4 subnet.

-   Số host trên mỗi subnet = 26 – 2 = 62 host.

-   Các địa chỉ mạng sẽ có octet bị chia cắt [octet thứ 4] là bội số của 64.

-   Liệt kê các mạng như sau:

           192.168.1.0/26   -> địa chỉ mạng

           192.168.1.1/26   ->địa chỉ host đầu.

                       ….

192.168.1.62/26  ->địa chỉ host cuối.

           192.168.1.63/26  ->địa chỉ broadcast.

           ---------------------------------------------

192.168.1.64/26   -> địa chỉ mạng

           192.168.1.65/26   ->địa chỉ host đầu

                       …..

           192.168.1.126/26  ->địa chỉ host cuối

           192.168.1.127/26  ->địa chỉ broadcast.

           ---------------------------------------------

           192.168.1.128/26   -> địa chỉ mạng

           192.168.1.129/26   ->địa chỉ host đầu.

                       ….

192.168.1.190/26  ->địa chỉ host cuối.

           192.168.1.191/26  ->địa chỉ broadcast.

           ---------------------------------------------

           192.168.1.192/26   -> địa chỉ mạng

           192.168.1.193/26   ->địa chỉ host đầu.

                       ….

192.168.1.254/26  ->địa chỉ host cuối.

           192.168.1.255/26  ->địa chỉ broadcast.

Vậy, một mạng lớp C 192.168.1.0/24 đã được chia thành 4 mạng :192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26, 192.168.1.192/26.

Subnet mask được sử dụng trong ví dụ này là 255.255.255.192

Ví dụ 2: Xét mạng 172.16.0.0/16, mượn 2 bit. Octet bị chia cắt [ thành 2 phần là net và host ] là octet thứ 3.

-  Số bit mượn là 2 => số mạng con có thể có [tính theo luật subnet zero]: 22 = 4 mạng. Số bit mạng bây giờ là 18 bit.

-  Số bit host còn lại: 32 – 18 = 14 bit. => số host/subnet = 214 – 2 host.

-  Các địa chỉ mạng sẽ có octet thứ 3 là bội số của 64 [octet này bị mượn 2 bit]

-  Ta có dải địa chỉ như sau:

           172.16.0.0/18             -> Địa chỉ mạng

           172.16.0.1/18             -> Địa chỉ host đầu

                  .. .…  

           172.16.63.254/18       -> Địa chỉ host cuối.

           172.16.63.255/18       -> Địa chỉ broadcast

           ------------------------------------------------------

           172.16.64.0/18           -> Địa chỉ mạng

           172.16.64.1.18           -> Địa chỉ host đầu

                   …...

           172.16.127.254/18     -> Địa chỉ host cuối.

           172.16.127.255/18     -> Địa chỉ broadcast.

           --------------------------------------------------------

           172.16.128.0/18         -> Địa chỉ mạng

           172.16.128.1/18         -> Địa chỉ host đầu

                    ……

           172.16.191.254/18     -> Địa chỉ host cuối

           172.16.191.255/18     -> Địa chỉ broadcast

           -------------------------------------------------------

172.16.192.0/18         -> Địa chỉ mạng

           172.16.192.1/18         -> Địa chỉ host đầu

                                ……

           172.16.255.254/18     -> Địa chỉ host cuối

           172.16.255.255/18     -> Địa chỉ broadcast

           -------------------------------------------------------           

Subnet mask trong ví dụ 2 là 255.255.192.0

Vi dụ 3: Xét mạng 172.16.0.0/16, mượn 10 bit => octet bị chia cắt [thành hai phần net và host ] là octet thứ 4. Ta có:

-  Số bit mượn là 10 => Số subnet có thể có: 210 = 1024 mạng.

-  Số bit host còn lại: 32 – 26 = 6 bit => số host trên mỗi subnet: 26 – 2 = 62 host.

-  Địa chỉ mạng có octet thứ 4 là bội số của 64 [octet này bị mượn 2 bit]

-  Ta có dải địa chỉ như sau:

           172.16.0.0/26             -> Địa chỉ mạng

           172.16.0.1/26             -> Địa chỉ host đầu

                  …..

           172.16.0.62/26           -> Địa chỉ host cuối

           172.16.0.63/26           -> Địa chỉ broadcast

           -------------------------------------------------

           172.16.0.64/26           -> Địa chỉ mạng

           172.16.0.65/26           -> Địa chỉ host đầu

                  …..

           172.16.0.126/26         -> Địa chỉ host cuối

           172.16.0.127/26         -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.0.128/26         -> Địa chỉ mạng

           172.16.0.129/26         -> Địa chỉ host đầu

                  …..

           172.16.0.190/26         -> Địa chỉ host cuối

           172.16.0.191/26         -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.0.192/26         -> Địa chỉ mạng

           172.16.0.193/26         -> Địa chỉ host đầu

                  …..

           172.16.0.254/26         -> Địa chỉ host cuối

           172.16.0.255/26         -> Địa chỉ broadcast

           ========================================

           172.16.1.0/26             -> Địa chỉ mạng

           172.16.1.1/26             -> Địa chỉ host đầu

                  …..

           172.16.1.62/26           -> Địa chỉ host cuối

           172.16.1.63/26           -> Địa chỉ broadcast

           -------------------------------------------------

172.16.1.64/26           -> Địa chỉ mạng

           172.16.1.65/26           -> Địa chỉ host đầu

                  …..

           172.16.1.126/26         -> Địa chỉ host cuối

           172.16.1.127/26         -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.1.128/26         -> Địa chỉ mạng

           172.16.1.129/26         -> Địa chỉ host đầu

                  …..

           172.16.1.190/26         -> Địa chỉ host cuối

           172.16.1.191/26         -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.1.192/26         -> Địa chỉ mạng

           172.16.1.193/26         -> Địa chỉ host đầu

                  …..

           172.16.1.254/26         -> Địa chỉ host cuối

           172.16.1.255/26         -> Địa chỉ broadcast

           ========================================

          172.16.2.0/26             -> Địa chỉ mạng

           172.16.2.1/26             -> Địa chỉ host đầu

                  …..

           172.16.2.62/26           -> Địa chỉ host cuối

           172.16.2.63/26           -> Địa chỉ broadcast

           -------------------------------------------------

           172.16.2.64/26           -> Địa chỉ mạng

           172.16.2.65/26           -> Địa chỉ host đầu

                  …..

           172.16.2.126/26         -> Địa chỉ host cuối

           172.16.2.127/26         -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.2.128/26         -> Địa chỉ mạng

           172.16.2.129/26         -> Địa chỉ host đầu

                  …..

           172.16.2.190/26         -> Địa chỉ host cuối

           172.16.2.191/26         -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.2.192/26         -> Địa chỉ mạng

           172.16.2.193/26         -> Địa chỉ host đầu

                  …..

           172.16.2.254/26         -> Địa chỉ host cuối

           172.16.2.255/26         -> Địa chỉ broadcast

                                   …………..

           172.16.255.0/26         -> Địa chỉ mạng

           172.16.255.1/26         -> Địa chỉ host đầu

                  …..

           172.16.255.62/26       -> Địa chỉ host cuối

           172.16.255.63/26       -> Địa chỉ broadcast

           -------------------------------------------------

           172.16.255.64/26       -> Địa chỉ mạng

           172.16.255.65/26       -> Địa chỉ host đầu

                  …..

           172.16.255.126/26     -> Địa chỉ host cuối

           172.16.255.127/26     -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.255.128/26     -> Địa chỉ mạng

           172.16.255.129/26     -> Địa chỉ host đầu

                  …..

           172.16.255.190/26     -> Địa chỉ host cuối

           172.16.255.191/26     -> Địa chỉ broadcast

           --------------------------------------------------

           172.16.255.192/26     -> Địa chỉ mạng

           172.16.255.193/26     -> Địa chỉ host đầu

                  …..

           172.16.255.254/26     -> Địa chỉ host cuối

           172.16.255.255/26     -> Địa chỉ broadcast

  Ta để ý thấy octet thứ 3 [là octet bị mượn nhưng không bị chia cắt thành net và host] tăng dần từ 0 đến 255. Trong khi đó, octet thứ 4 [là octet bị chia cắt] thay đổi theo bước nhảy khi địa chỉ là địa chỉ mạng [nó bị mượn 2 bit nên có bước nhảy là 64]. Subnet mask trong ví dụ này là 255.255.255.192.

1.4.2. Cho một địa chỉ host. Xác định xem host thuộc mạng nào:  

Ta xem xét các ví dụ sau:

Ví dụ 1: Cho địa chỉ host 192.168.1.158/28. Hãy cho biết, host này thuộc về subnet nào?

Giải:    /28 => có 28 bit mạng. Octet bị chia cắt là octet thứ 4 => số bit mượn của octet này là 4 => bước nhảy là 16. Lấy octet thứ 4 của địa chỉ host là 158 chia cho 16 được 9 và còn dư. Ta lấy 16 nhân với 9 được 144. Host này thuộc mạng 192.168.1.144/28

Ví dụ 2: Cho địa chỉ host 172.16.159.2/18. cho biết địa chỉ này thuộc subnet nào?

Giải:   /18 => có 18 bit mạng. Octet bị chia cắt là octet thứ 3 => số bit mượn của octet này là 2 => bước nhảy là 64. Lấy octet thứ 3 là 159 chia cho 64 được 2 và còn dư. Ta lấy 64 nhân với 2 được 128. Host này thuộc mạng 172.16.128.0/18.

1.4.3. Cho sơ đồ mạng, xác định số bit mượn phù hợp để chia subnet:

Ví dụ:

               Hình 1.4.1.    

Chỉ cho một mạng 192.168.1.0/24. Hãy đảm bảo cung cấp đủ các địa chỉ IP cho sơ đồ mạng trên.

Ta thấy: Có tất cả 5 mạng, mạng nhiều host nhất là mạng có 26 host [cộng thêm một địa chỉ cổng router]. Gọi số bit mượn là n số bit host là m. Ta có hệ sau:

                       2n ≥ 5 [số mạng chia ra tối thiểu phải bằng 5].

2m – 2 ≥ 26 [nếu mỗi mạng con đáp ứng được số host của mạng 26 host, nó sẽ đáp ứng được yêu cầu về số host của tất cả các mạng còn lại trên sơ đồ].

                       m + n = 8

ð n = 3, m = 5 là phù hợp. Vậy ta có tất cả 23 = 8 mạng và mỗi mạng này có 25 – 2 = 30 host, đáp ứng được yêu cầu của sơ đồ trên.

Để xác định được các mạng cụ thể, sử dụng các quy tắc chia subnet đã được trình bày ở mục 4.1 ở trên.

1.4.4. Chia subnet VLSM:

-  VLSM [Variable Length Subnet Mask]: là kỹ thuật chia nhỏ một mạng thành các mạng có độ dài khác nhau [sẽ có các subnet mask khác nhau].

-   Xem xét ví dụ sau:

                                                    Hình 1.4.2.

-Cũng dùng mạng 192.168.1.0/24 để đặt địa chỉ cho tất cả các mạng trên . Tuy nhiên ta không thể làm như ví dụ trước, chia mạng 192.168.1.0/24 thành các mạng bằng nhau vì sẽ không có cách chia nào phù hợp cho sơ đồ trên: nếu mượn 1 bit thì đáp ứng được yêu cầu về số host cho mạng 100 host vì mỗi mạng được chia ra có 126 host nhưng lại không đáp ứng được yêu cầu về số lượng subnet vì ta chỉ chia được có 2 subnet nếu mượn 1 bit trong khi trên sơ đồ có tới 5 mạng. Ngược lại, để đáp ứng nhu cầu về số lượng mạng trên sơ đồ, ta phải mượn tối thiểu là 3 bit [23 = 8 subnet] nhưng khi đó mỗi mạng lại chỉ có nhiều nhất là 30 host [ 25 – 2 = 30] không đáp ứng được yêu cầu về số lượng host trên các mạng của sơ đồ trên.

-  Cách thức tiến hành là: sẽ xét các mạng theo thứ tự số host từ cao xuống thấp.

- Đầu tiên , xét mạng nhiều host nhất:100 host, ta phải xem mượn bao nhiêu bit thì đủ cho mạng này. Ta giải hệ:

                       2m – 2 ≥ 101

                       m + n = 8 [mượn bit ở octet thứ 4].Với m: số bit host, n: số bit mượn

    Ta được m = 7, n = 1. Vậy ta mượn 1 bit và dành mạng 192.168.1.0/25 để gán cho mạng có 100 host. Mỗi mạng /25 có 27 – 2 = 126 host => đáp ứng đủ cho mạng 100 host. Vậy dải địa chỉ 192.168.1.0/24 còn lại các địa chỉ từ 192.168.1.128 -> 192.168.1.255.

-  Tiếp đó ta xét đến mạng có 50 host, tương tự ta xem xem mượn bao nhiêu bit là phù hợp:

                       2m – 2 ≥ 51

                       m + n = 8 [mượn bit ở octet thứ 4]. Với m: số bit host, n: số bit mượn

  Ta được m = 6 và n = 2 là tối ưu. Vậy ta mượn 2 bit, mạng 192.168.1.0/24 được chia thành 4 mạng 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26 và 192.168.1.192./26. Tuy nhiên hai dải địa chỉ của hai mạng 192.168.1.0/26 và 192.168.1.64/26 đã được giành cho mạng 100 host. Do đó ta chỉ có thể lấy từ mạng 192.168.1.128/26 để gán cho mạng 50 host. Ở đây ta lấy mạng 192.168.1.128/26 gán cho mạng 50 host.

-  Tiếp đó ta xét đến mạng có 20 host, ta xem xem mượn bao nhiêu bit là phù hợp:

                       2m – 2 ≥ 21

                       m + n = 8 [mượn bit ở octet thứ 4]. Với m: số bit host, n: số bit mượn

  Ta được m = 5 và n = 3. Vậy ta mượn 3 bit, mạng 192.168.1.0/24 được chia thành 8 mạng 192.168.1.0/27, 192.168.1.32/27, 192.168.1.64/27 và 192.168.1.96/27, 192.168.1.128/27, 192.168.1.160/27, 192.168.1.192/27, 192.168.1.224/27. Tuy nhiên các dải địa chỉ của các mạng 192.168.1.0/27 ,…, 192.168.1.160/27 đã được giành cho mạng 100 và mạng 50 host. Do đó ta chỉ có thể lấy từ mạng 192.168.1.192/27 trở đi để gán cho mạng 20 host. Ở đây ta lấy mạng 192.168.1.192/27 gán cho mạng 20 host.

-  Tiếp đó ta xét đến các mạng có 2 host là các liên kết điểm – điểm serial, ta xem thử mượn bao nhiêu bit là phù hợp:

                       2m – 2 ≥ 2

                       m + n = 8 [mượn bit ở octet thứ 4]. Với m: số bit host, n: số bit mượn

  Ta được m = 2 và n = 6 là tối ưu hơn cả, đảm bảo không bị dư địa chỉ.. Vậy ta mượn 6 bit, mạng 192.168.1.0/24 được chia thành 26 = 64 mạng 192.168.1.0/30, 192.168.1.4/30, 192.168.1.8/30,…, 192.168.1.248/30, 192.168.1.252/30 . Tuy nhiên các dải địa chỉ của các mạng 192.168.1.0/30 ,…, 192.168.1.222/27 đã được giành cho mạng 100 host, mạng 50 host và mạng 20 host. Do đó ta chỉ có thể lấy từ mạng 192.168.224.0/30 để gán cho các mạng 2 host. Ở đây ta lấy mạng 192.168.1.224/30 và 192.168.1.228/30 gán cho hai liên kết serial.

Vậy ta có kết quả chia VLSM như sau:

                                                           Hình 1.4.2.

Chú ý: Để đảm bảo tối ưu hóa sự phân bố địa chỉ, ta thường dùng VLSM để chia nhỏ mạng. Đăc biệt, các kết nối serial thường sử dụng các mạng có prefix là 30 với subnet mask 255.255.255.252.

4.5. Tóm tắt địa chỉ [summary]:

Tóm tắt địa chỉ nhằm mục đích làm gọn bảng định tuyến của các router. Các địa chỉ mạng sẽ được tóm tắt về một địa chỉ mạng lớn hơn đại diện bao trùm tất cả các mạng được tóm tắt.

Chúng ta xem xét ví dụ sau:

VD: Hãy tóm tắt các mạng sau đây thành một địa chỉ mạng duy nhất:

           192.168.0.0/24

           192.168.1.0/24

           192.168.2.0/24

           192.168.3.0/24

Nguyên tắc khi tóm tắt là xem xét các octet từ trái qua phải và bắt đầu phân tích từ octet có sự khác nhau đầu tiên. Trong trường hợp của ví dụ trên, octet thứ ba là octet khác nhau đầu tiên. Ta xét chi tiết octet này:

           192.168.|000000|00.0

           192.168.|000000|01.0

192.168.|000000|10.0

192.168.|000000|11.0

Ta thấy octet thứ ba còn có thêm 6 bit giống nhau. Vậy ta có mạng tóm tắt là 192.168.0.0/22. Chú ý: subnet mask bây giờ là 255.255.252.0 với prefix là 22.

1.4.6. Bài tập:

   Để thông thạo các kỹ thuật tính toán IP, cần phải thực hành nhiều các kỹ năng đã nêu ra ở trên. Sau đây là một số bài tập thực hành:

1.4.6.1. Cho mạng và số bit mượn. Giả sử có hỗ trợ subnet zero. Hãy xác định :

-  Số subnet có thể có.

-  Số host/subnet.

- Với mỗi subnet, hãy xác định: địa chỉ mạng, địa chỉ host đầu, địa chỉ host cuối, địa chỉ broadcast [nếu số lượng mạng quá nhiều chỉ cần ghi ra một vài mạng đầu và mạng cuối cùng], subnet mask và số prefix.

a]     192.168.2.0/24 mượn 5 bit.

b]     192.168.12.0/24 mượn 3 bit.

c]     172.16.2.0/24 mượn 2 bit

d]     172.16.0.0/16 mượn 3 bit

e]     172.16.0.0/16 mượn 12 bit.

f]      10.0.0.0/8 mượn 5 bit.

g]     10.0.0.0/8 mượn 10 bit.

h]    10.0.0.0/8 mượn 18 bit.

1.4.6.2. Cho mạng 172.16.5.0/24. Hãy chia nhỏ sao cho phù hợp với sơ đồ sau:

                                              Hình 1.4.3.

1.4.6.3. Cho các địa chỉ host sau đây. Hãy xác định các địa chỉ subnet tương ứng và cho biết địa chỉ này có thể dùng đặt cho host được không:

a]     192.168.1.130/29

b]     172.16.34.57/18

c]     203.162.4.191/28

d]     1.1.1.1/30

e]     10.10.10.89/29

f]      70.9.12.35/30

g] 158.16.23.208/29

1.4.6.4. Hãy tóm tắt các địa chỉ mạng sau đây về thành một địa chỉ mạng đại diện:

a] 192.168.0.0/24

   192.168.1.0/24

   192.168.2.0/24

   192.168.3.0/24

b] 172.16.16.0/24

    172.16.20.0.24

    172.16.24.0/24      

    172.16.28.0/24

Video liên quan

Chủ Đề