Làm thế nào để bạn tính toán tiền tố, mạng, mạng con và số máy chủ?


97

Thí dụ:

IP: 128.42,5.4

Ở dạng nhị phân: 10000000 00101010 00000101 00000100

Mạng con: 255.255.248.0

Làm thế nào bạn có thể xác định tiền tố, mạng, mạng con và số máy chủ?

Câu trả lời:


164

Tính toán Độ dài Netmask (còn được gọi là tiền tố):

Chuyển đổi biểu diễn thập phân rải rác của netmask thành nhị phân. Sau đó, đếm số lượng 1 bit liền kề, bắt đầu từ bit có ý nghĩa nhất trong octet đầu tiên (tức là phía bên trái của số nhị phân).

255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           -----------------------------------
                           I counted twenty-one 1s             -------> /21

Tiền tố của 128.42.5.4 với netmask 255.255.248.0 là / 21.

Tính toán địa chỉ mạng:

Địa chỉ mạng là logic AND của các bit tương ứng trong biểu diễn nhị phân của địa chỉ IP và mặt nạ mạng. Căn chỉnh các bit trong cả hai địa chỉ và thực hiện logic VÀ trên mỗi cặp bit tương ứng. Sau đó chuyển đổi các octet riêng lẻ của kết quả trở lại thập phân.

Bảng logic và sự thật:

Logic VÀ

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           ----------------------------------- [Logical AND]
                           10000000 00101010 00000000 00000000 ------> 128.42.0.0

Như bạn có thể thấy, địa chỉ mạng của 128.42.5.4/21 là 128.42.0.0

Tính địa chỉ quảng bá:

Địa chỉ quảng bá chuyển đổi tất cả các bit máy chủ thành 1 giây ...

Hãy nhớ rằng địa chỉ IP của chúng tôi ở dạng thập phân là:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100

Mặt nạ mạng là:

255.255.248.0   in binary: 11111111 11111111 11111000 00000000

Điều này có nghĩa là các bit máy chủ của chúng tôi là 11 bit cuối cùng của địa chỉ IP, bởi vì chúng tôi tìm thấy mặt nạ máy chủ bằng cách đảo ngược mặt nạ mạng:

Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh

Để tính địa chỉ quảng bá, chúng tôi buộc tất cả các bit máy chủ là 1s:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh
                           ----------------------------------- [Force host bits]
                           10000000 00101010 00000111 11111111 ----> 128.42.7.255

Tính toán mạng con:

Bạn chưa cung cấp đủ thông tin để tính toán mạng con cho mạng này; như một quy tắc chung, bạn xây dựng các mạng con bằng cách phân bổ lại một số bit máy chủ thành các bit mạng cho mỗi mạng con. Nhiều khi không có một cách đúng để mạng con một khối ... tùy thuộc vào các ràng buộc của bạn, có thể có một số cách hợp lệ để mạng con một khối địa chỉ.

Giả sử chúng ta sẽ chia 128.42.0.0/21 thành 4 mạng con phải chứa ít nhất 100 máy chủ mỗi ...

mạng con

Trong ví dụ này, chúng tôi biết rằng bạn cần ít nhất một / 25 tiền tố để chứa 100 máy chủ; Tôi đã chọn a / 24 vì nó rơi vào ranh giới octet. Lưu ý rằng địa chỉ mạng cho mỗi mạng con mượn các bit máy chủ từ khối mạng mẹ.

Tìm mặt nạ mạng con yêu cầu hoặc netmask:

Làm thế nào tôi biết rằng tôi cần ít nhất một / 25 masklength cho 100 máy chủ? Tính toán tiền tố bằng cách sao lưu vào số bit máy chủ cần thiết để chứa 100 máy chủ. Một cần 7 bit chủ để chứa 100 máy chủ. Chính thức này được tính với:

Bit máy chủ = Nhật ký 2 (Số lượng máy chủ) = Nhật ký 2 (100) = 6.643

Vì địa chỉ IPv4 có chiều rộng 32 bit và chúng tôi đang sử dụng các bit máy chủ (tức là các bit có ý nghĩa nhỏ nhất), chỉ cần trừ 7 từ 32 để tính tiền tố mạng con tối thiểu cho mỗi mạng con ... 32 - 7 = 25.

Cách lười biếng để chia 128.42.0.0/21 thành bốn mạng con bằng nhau:

Vì chúng tôi chỉ muốn bốn mạng con trong toàn bộ khối 128.42.0.0/21, chúng tôi có thể sử dụng / 23 mạng con. Tôi đã chọn / 23 vì chúng tôi cần 4 mạng con ... tức là thêm hai bit được thêm vào netmask.

Đây là câu trả lời có giá trị như nhau đối với ràng buộc, sử dụng / 23 mạng con 128.42.0.0/21 ...

mạng con, tùy chọn thứ 2

Tính số máy chủ:

Đây là những gì chúng tôi đã làm ở trên ... chỉ sử dụng lại mặt nạ máy chủ từ công việc chúng tôi đã làm khi tính toán địa chỉ quảng bá là 128.42,5.4/21 ... Lần này tôi sẽ sử dụng 1s thay vì h, vì chúng tôi cần để thực hiện logic VÀ trên địa chỉ mạng một lần nữa.

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000111 11111111
                           ----------------------------------- [Logical AND]
                           00000000 00000000 00000101 00000100 -----> 0.0.5.4

Tính toán số lượng máy chủ tối đa có thể có trong một mạng con:

Để tìm số lượng máy chủ tối đa, hãy xem số bit nhị phân trong số máy chủ ở trên. Cách dễ nhất để làm điều này là trừ độ dài netmask từ 32 (số bit trong một địa chỉ IPv4). Điều này cung cấp cho bạn số lượng bit chủ trong địa chỉ. Tại thời điểm đó...

Số lượng máy chủ tối đa = 2 ** (32 - netmask_length) - 2

Lý do chúng tôi trừ 2 ở trên là vì số máy chủ lưu trữ tất cả và số không được bảo lưu. Số máy chủ tất cả các số không là số mạng; số máy chủ lưu trữ tất cả là địa chỉ phát sóng.

Sử dụng mạng con ví dụ của 128.42.0.0/21 ở trên, số lượng máy chủ là ...

Số lượng máy chủ tối đa = 2 ** (32 - 21) - 2 = 2048 - 2 = 2046

Tìm netmask tối đa (hostmask tối thiểu) có chứa hai địa chỉ IP:

Giả sử ai đó cung cấp cho chúng tôi hai địa chỉ IP và hy vọng chúng tôi sẽ tìm được mạng lưới dài nhất chứa cả hai địa chỉ đó; ví dụ, nếu chúng ta có:

  • 128.42,517,17
  • 128.42,5,67,67

Cách dễ nhất là chuyển đổi cả hai thành nhị phân và tìm chuỗi bit dài nhất từ ​​phía bên trái của địa chỉ.

128.42.5.17     in binary: 10000000 00101010 00000101 00010001
128.42.5.67     in binary: 10000000 00101010 00000101 01000011
                           ^                           ^     ^
                           |                           |     |
                           +--------- Network ---------+Host-+
                             (All bits are the same)    Bits

Trong trường hợp này, netmask tối đa (tối thiểu hostmask) sẽ là / 25

LƯU Ý: Nếu bạn thử bắt đầu từ phía bên tay phải, đừng để bị lừa chỉ vì bạn tìm thấy một cột bit phù hợp; có thể có các bit chưa từng có ngoài các bit phù hợp. Thành thật mà nói, điều an toàn nhất để làm là bắt đầu từ phía bên tay trái.


15

Câu trả lời trên đánh vào đầu đinh một cách hoàn hảo. Tuy nhiên, khi tôi mới bắt đầu, tôi đã lấy một vài ví dụ khác nhau từ một vài nguồn để nó thực sự xuất hiện. Do đó, nếu bạn quan tâm đến các ví dụ khác, tôi đã viết một vài bài đăng trên blog về chủ đề này - http://www.oznetnerd.com/carget/subnetting/

Quản trị viên, nếu bài đăng này được coi là thư rác, xin vui lòng xóa nó.

Chỉnh sửa: Theo đề xuất của YLearn, tôi sẽ cố lấy các phần có liên quan từ Phần 1 của loạt bài của mình mà không dán toàn bộ mục ở đây.

Hãy sử dụng 195,70.16.159/30 làm ví dụ.

Vì nó là / 30, chúng tôi biết phần máy chủ sẽ nằm trong octet thứ tư. Hãy chuyển đổi nó thành nhị phân:

128 64 32 16  8  4 2 1
SN  SN SN SN SN SN H H
 1   0  0  1  1  1 1 1

Bây giờ để tìm ra địa chỉ mạng, tất cả những gì chúng ta làm là thêm các bit SN có 1 bên dưới chúng cùng nhau. (128 + 16 + 8 + 4 = 156).

Khi bạn thêm 156 này vào ba octet đầu tiên của địa chỉ, chúng tôi sẽ để lại Địa chỉ Mạng 195,70.16.156.

Bây giờ, như chúng ta biết rằng địa chỉ có thể sử dụng đầu tiên luôn là Địa chỉ Mạng cộng với một, tất cả những gì chúng ta cần làm là thực hiện phép tính sau: (156 + 1 = 157).

Điều này cung cấp cho chúng tôi Địa chỉ có thể sử dụng đầu tiên là 195,70.16.157.

Bây giờ, hãy bỏ qua Địa chỉ có thể sử dụng cuối cùng trong giây lát và tìm Địa chỉ quảng bá. Để tìm hiểu nó là gì, tất cả những gì chúng ta cần làm là cộng tất cả các bit H lại với nhau (bất kể chúng là 1 hay 0) và sau đó thêm số này vào Địa chỉ Mạng. (2 + 1 + 156 = 159).

Điều này cung cấp cho chúng tôi Địa chỉ phát sóng 195,70.16.159.

Và cuối cùng, hãy tìm ra địa chỉ có thể sử dụng cuối cùng. Quá trình này tương tự như tìm Địa chỉ có thể sử dụng đầu tiên, tuy nhiên, thay vì thêm một địa chỉ vào địa chỉ mạng, chúng tôi thực sự trừ một địa chỉ khỏi Địa chỉ quảng bá. (159 - 1 = 158).

Điều này cung cấp cho chúng tôi Địa chỉ có thể sử dụng cuối cùng là 195,70.16.158.

Và chúng tôi đã có nó! Temaplte của chúng tôi đã hoàn tất Để tham khảo dễ dàng, đây là một lần nữa:

  • Địa chỉ mạng: 195,70.16.156
  • Địa chỉ sử dụng đầu tiên: 195,70.16.157
  • Địa chỉ sử dụng cuối cùng: 195,70.16.158
  • Địa chỉ phát sóng: 195,70.16.159

Là một phím tắt, bạn cũng có thể sử dụng công thức này. Nó hoạt động trên các mạng con có kích thước bất kỳ:

  • Địa chỉ có thể sử dụng đầu tiên = Địa chỉ mạng + 1
  • Địa chỉ quảng bá = Địa chỉ mạng tiếp theo - 1
  • Địa chỉ có thể sử dụng lần cuối = Địa chỉ quảng bá - 1

4
Thông báo trước (gần như không đáng kể): công thức Địa chỉ có thể sử dụng cuối cùng ở phía dưới hoạt động cho tất cả các mạng con ngoại trừ a / 31 ... xem RFC 3021 . Đó là một ngoại lệ nhỏ nhưng có liên quan nếu ai đó cố gắng sử dụng thuật toán của bạn trong mã.
Mike Pennington

11

Tôi không muốn lấy bất cứ điều gì từ câu trả lời xuất sắc của Mike Pennington , mà tôi đã không ngừng quảng bá, nhưng tôi vẫn thấy những câu hỏi không được trả lời trực tiếp bởi câu trả lời của anh ấy, và tôi đã tạo ra một cái gì đó ban đầu dựa trên câu trả lời của Mike, nhưng tôi có thêm thông tin để giải quyết các câu hỏi đã xuất hiện theo thời gian. Thật không may, nó quá lớn và tôi phải chia nó thành hai câu trả lời.


Phần 1 của 2


Toán học IPv4

Đưa ra một địa chỉ IPv4 và mặt nạ mạng IPv4 (mặt nạ mạng cũng có thể được lấy từ độ dài mặt nạ mạng hoặc mặt nạ máy chủ), bạn có thể xác định nhiều thông tin về mạng IPv4: Địa chỉ mạng, Địa chỉ truyền phát mạng, Tổng địa chỉ máy chủ, Tổng số có thể sử dụng Địa chỉ máy chủ, Địa chỉ máy chủ có thể sử dụng đầu tiên và Địa chỉ máy chủ có thể sử dụng cuối cùng.

Tôi không thể nhấn mạnh đến mức bạn phải làm toán học IPv4 ở dạng nhị phân. Tôi nghĩ rằng mọi kỹ sư mạng (hoặc sẽ là kỹ sư mạng) đã cố gắng tìm ra cách để làm tất cả theo số thập phân, vì tôi chắc chắn bạn sẽ *. Vấn đề là 10 (thập phân) không phải là lũy thừa của 2 (nhị phân), do đó thập phân và nhị phân không tự nhiên chuyển đổi lẫn nhau theo cách mà thập lục phân (cơ sở 16) tự nhiên chuyển đổi thành và từ nhị phân vì 16 là lũy thừa của 2 .

Có vẻ như việc sử dụng ký hiệu thập phân rải rác cho IPv4 là một lỗi ban đầu không thể sửa được, nhưng IPv6 đã sử dụng hệ thập lục phân ngay từ đầu và rất dễ chuyển đổi giữa thập lục phân và nhị phân.

Nếu bạn không có máy tính IP (có thể không được phép trong các bài kiểm tra lớp giáo dục hoặc kiểm tra chứng chỉ mạng), sẽ rất hữu ích khi tạo một biểu đồ về các giá trị của các bit trong một octet. Bởi vì đây là nhị phân, mỗi giá trị bit gấp 2 lần giá trị chữ số trong chữ số ít quan trọng tiếp theo. Mỗi chữ số là số cơ sở nhân với cùng một giá trị chữ số trong chữ số ít có ý nghĩa tiếp theo. Điều này cũng đúng với bất kỳ cơ sở số nào khác, bao gồm số thập phân (cơ sở 10), trong đó mỗi giá trị chữ số gấp 10 lần giá trị của cùng một giá trị chữ số ở vị trí số ít quan trọng tiếp theo. Đối với chữ số nhị phân (bit):

---------------------------------------------------------
| Bit # |   7 |   6 |   5 |   4 |   3 |   2 |   1 |   0 |
---------------------------------------------------------
| Value | 128 |  64 |  32 |  16 |   8 |   4 |   2 |   1 |
---------------------------------------------------------

Trong đó số thập phân là tất cả về các lũy thừa của 10, nhị phân là tất cả về các lũy thừa của 2. Lưu ý rằng với mỗi số bit trong bảng trên, giá trị tương ứng là 2 với lũy thừa của số bit.

For our example IPv4 dotted-decimal address of 198.51.100.223:
1st octet: 198 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 11000110
2nd octet:  51 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 = 00110011
3rd octet: 100 =   0 + 64 + 32 +  0 + 0 + 4 + 0 + 0 = 01100100
4th octet: 223 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 11011111

For our example IPv4 binary address of 11000110001100110110010011011111:
1st octet: 11000110 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 198
2nd octet: 00110011 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 =  51
3rd octet: 01100100 =   0 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 100
4th octet: 11011111 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 223

Bạn cũng sẽ cần phải nhớ các Bảng Chân lý từ trường học (trong toán học nhị phân, 0 là Sai và 1 là Đúng):

-----------------------------------------
| False AND False = False | 0 AND 0 = 0 |
-----------------------------------------
| False AND True  = False | 0 AND 1 = 0 |
-----------------------------------------
| True  AND False = False | 1 AND 0 = 0 |
-----------------------------------------
| True  AND True  = True  | 1 AND 1 = 1 |
-----------------------------------------

-----------------------------------------
| False OR False = False  | 0 OR 0 = 0  |
-----------------------------------------
| False OR True  = True   | 0 OR 1 = 1  |
-----------------------------------------
| True  OR False = True   | 1 OR 0 = 1  |
-----------------------------------------
| True  OR True  = True   | 1 OR 1 = 1  |
-----------------------------------------

* Nếu bạn thực hiện toán học IPv4 trong nhiều năm, bạn có thể đến điểm bạn có thể thực hiện chuyển đổi nhị phân / thập phân trong đầu và sau đó bạn có thể thực hiện phép toán IPv4 theo số thập phân. Mặc dù tôi có thể làm điều này trong đầu, tôi sẽ luôn kiểm tra kỹ bằng máy tính IP hoặc chuyển đổi thành nhị phân, thực hiện phép toán và chuyển đổi trở lại thành số thập phân, trước khi thực hiện thay đổi cho mạng sản xuất.


Địa chỉ IPv4

Ký hiệu thập phân rải rác IPv4, ví dụ 198.51.100.223, chỉ đơn giản là để giúp con người dễ đọc địa chỉ IPv4 hơn. Bốn phần riêng biệt, được gọi là octet, thực sự không có ý nghĩa gì với IPv4. Đừng phạm sai lầm phổ biến khi nghĩ rằng các octet có ý nghĩa đặc biệt. Địa chỉ IPv4 thực sự là số nhị phân 32 bit và đó là cách các thiết bị mạng nhìn thấy và sử dụng địa chỉ IPv4.

Địa chỉ IPv4 mẫu của chúng tôi 198.51.100.223thực sự là 11000110001100110110010011011111một thiết bị trên mạng, vì vậy bạn có thể thấy rằng biểu diễn thập phân rải rác thực sự giúp con người dễ dàng hơn. Mỗi octet là tám bit của địa chỉ 32 bit (do đó, thuật ngữ thường được sử dụng, octetet), do đó, có bốn octet ( 32 address bits / 8 bits per octet = 4 octets). Ví dụ địa chỉ nhị phân 32 bit của chúng tôi được tách thành bốn octet, sau đó mỗi octet nhị phân được chuyển đổi thành số thập phân *:

Binary address: 11000110001100110110010011011111
                ---------------------------------------------
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
Decimal octets: |      198 |       51 |      100 |      223 |
                ---------------------------------------------
Dotted-decimal: 198.51.100.223

Vì mỗi octet có độ dài tám bit, mỗi octet sẽ có một giá trị nằm giữa 0255(bất kỳ giá trị nào lớn hơn 255không hợp lệ). Lý do là 2^8 = 256: 2(cơ sở số nhị phân) với sức mạnh của 8(tám bit trên mỗi octet) bằng 256, số lượng các giá trị khác nhau có thể được biểu thị bằng một octet tám bit. Hãy nhớ rằng giá trị đầu tiên là 0, vì vậy 256giá trị thứ sẽ nhỏ hơn một chút so với tổng số giá trị có thể được biểu thị ( 256 – 1 = 255).

Để thực hiện chính xác toán học IPv4, bạn phải thực hiện nó dưới dạng nhị phân, nếu không, bạn sẽ phạm sai lầm sẽ gây ra cho bạn các vấn đề và sự thất vọng. Điều đó có nghĩa là bạn phải chuyển đổi ký hiệu thập phân rải rác thành nhị phân trước khi cố gắng thao tác nó:

Dotted-decimal: 198.51.100.223
                ---------------------------------------------
Decimal octets: |      198 |       51 |      100 |      223 |
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
                ---------------------------------------------
Binary address: 11000110001100110110010011011111

* Các số 0 đứng đầu trong một địa chỉ IPv4 thập phân rải rác có thể được hiểu bởi một số ứng dụng và ngôn ngữ lập trình là bát phân (cơ sở 8) thay vì thập phân (cơ sở 10), gây ra lỗi và nên tránh các số 0 đứng đầu cho biểu diễn IPv4 thập phân rải rác, nhưng các số 0 đứng đầu là cần thiết cho các octet địa chỉ IPv4 nhị phân vì chúng đại diện cho các vị trí bit trong địa chỉ đầy đủ và việc bỏ đi một vị trí bit sẽ rút ngắn địa chỉ và thay đổi giá trị nhị phân.


Mặt nạ mạng IPv4

Mặt nạ mạng IPv4 được sử dụng để chia địa chỉ IPv4 thành hai phần: phần mạng và phần máy chủ. Sự phân chia có thể ở bất kỳ số bit nào, vì vậy nó có thể nằm trong một octet, không nằm trên ranh giới octet, vì nhiều người cho rằng nó không chính xác. Mặt nạ mạng IPv4 có cùng kích thước với địa chỉ IPv4 (32 bit) và được thể hiện bằng ký hiệu thập phân rải rác giống như cách bạn thể hiện một địa chỉ IPv4 theo ký hiệu thập phân rải rác (bốn octet tám bit, được phân tách bằng một giai đoạn = Stage). Ví dụ , 255.255.248.0.

Mặt nạ mạng IPv4 bao gồm một số 1bit liên tiếp (đại diện cho phần mạng của một địa chỉ), theo sau là một số 0bit (đại diện cho phần máy chủ của địa chỉ). Tổng số 1bit và tổng số 0bit cộng lại 32, số bit trong địa chỉ IPv4 hoặc mặt nạ mạng. Đối với mặt nạ mạng ví dụ của chúng tôi:

Dotted-decimal: 255.255.248.0
                ------------------------------------------------
Decimal octets: |      255 |      255 |         248 |        0 |
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------

Như bạn có thể thấy, sự phân chia giữa mạng và các phần máy chủ của địa chỉ IPv4 sử dụng mặt nạ cụ thể này nằm trong một octet, không nằm trên ranh giới octet.

Một mặt nạ mạng IPv4 thường được biểu thị bằng số 1bit liên tiếp trong mặt nạ. Điều này được gọi khác nhau là chiều dài mặt nạ mạng hoặc độ dài tiền tố và nó được biểu diễn /theo sau bởi số lượng 1bit liên tiếp trong mặt nạ mạng. Ví dụ của chúng tôi, đếm số 1bit liên tiếp nhận được 21, có thể được biểu diễn dưới dạng /21.

Cho một chiều dài mặt nạ, bạn có thể tính toán biểu diễn thập phân rải rác của mặt nạ. Đơn giản chỉ cần đặt số 1bit cho chiều dài mặt nạ và thêm đủ số 0bit ở cuối vào tổng số 32bit. Chuyển đổi số nhị phân kết quả thành biểu diễn thập phân rải rác:

Mask length:    /21
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
Decimal octets: |      255 |      255 |         248 |        0 |
                ------------------------------------------------
Dotted-decimal: 255.255.248.0

Ví dụ có thể được biểu diễn theo truyền thống như 198.51.100.223, với mặt nạ mạng 255.255.248.0hoặc có thể được biểu diễn dưới dạng CIDR hiện đại hơn (Định tuyến giữa các miền không phân loại) 198.51.100.223/21.


Địa chỉ mạng IPv4

Địa chỉ mạng IPv4 là địa chỉ IPv4 với tất cả các bit máy chủ được đặt thành 0. Địa chỉ mạng IPv4 có thể được tính bằng bit bit ANDcủa các bit tương ứng trong biểu diễn nhị phân của địa chỉ IPv4 và mặt nạ mạng IPv4. Căn chỉnh các bit trong cả hai địa chỉ và thực hiện một bit ANDtrên mỗi cặp bit tương ứng, sau đó chuyển đổi các octet riêng lẻ của kết quả trở lại thành số thập phân.

Ví dụ về địa chỉ IPv4 198.51.100.223và mặt nạ mạng của chúng tôi 255.255.248.0:

Decimal address:        198.51.100.223/21
Binary address octets:  11000110 00110011 01100100 11011111
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.0

Như bạn có thể thấy, địa chỉ mạng 198.51.100.223/21198.51.96.0. Lưu ý rằng Bạn không thể phụ thuộc vào các octet để cho bạn biết phần nào của địa chỉ là mạng và phần nào của địa chỉ dành cho máy chủ.

Bạn có thể sử dụng phương pháp này để xác định xem hai địa chỉ trên cùng một mạng hay khác nhau *. Ví dụ, nếu bạn muốn xem liệu 198.51.100.223/21địa chỉ của bạn có nằm trên cùng một mạng IPv4 với một máy chủ được gán 198.51.102.57địa chỉ hay không, hãy xác định địa chỉ mạng IPv4 của bạn (như trên). Tiếp theo, xác định địa chỉ mạng IPv4 của máy chủ được đề cập, sử dụng mặt nạ mạng IPv4 của bạn (các máy chủ trên cùng một mạng sử dụng cùng mặt nạ mạng và bạn có thể không có mặt nạ, chỉ có địa chỉ, của máy chủ đích):

Decimal address:        198.51.102.57/21
Binary address octets:  11000110 00110011 01100110 00111001
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.0

So sánh địa chỉ mạng IPv4 kết quả với địa chỉ mạng IPv4 ban đầu và lưu ý rằng các địa chỉ mạng bằng nhau, vì vậy các địa chỉ máy chủ nằm trên cùng một mạng.

Bây giờ, hãy xem bạn có ở cùng mạng với 74.125.69.100địa chỉ Google không:

Decimal address:        74.125.69.100/21
Binary address octets:  01001010 01111101 01000101 01100100
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  01001010 01111101 01000000 00000000
Decimal network octets:       74      125       64        0
Dotted-decimal network: 74.125.64.0

So sánh địa chỉ mạng IPv4 kết quả với địa chỉ mạng IPv4 ban đầu và lưu ý rằng các địa chỉ mạng là khác nhau, vì vậy các địa chỉ máy chủ nằm trên các mạng khác nhau.


* Đây là phương thức mà máy chủ nguồn sử dụng để xác định xem nó có phải là máy chủ đích trên cùng một mạng với máy chủ nguồn không.


Mặt nạ máy chủ IPv4

Một giá trị hữu ích, thường bị bỏ qua, hữu ích trong việc đánh địa chỉ IPv4 là mặt nạ máy chủ IPv4. Mặt nạ máy chủ IPv4 đơn giản là nghịch đảo của mặt nạ mạng IPv4. Bạn có thể tạo mặt nạ máy chủ nhị phân từ mặt nạ mạng nhị phân hoặc mặt nạ mạng nhị phân từ mặt nạ máy chủ nhị phân, chỉ bằng cách đảo ngược 1s và 0s của mặt nạ bắt đầu:

Dotted-decimal network mask: 255.255.248.0
Decimal network mask octets:      255      255      248        0
Binary network mask octets:  11111111 11111111 11111000 00000000 invert
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

Về mặt toán học có thể tạo mặt nạ máy chủ từ mặt nạ mạng hoặc mặt nạ mạng từ mặt nạ máy chủ bằng cách trừ mặt nạ bắt đầu từ mặt nạ dài nhất ( /32hoặc mặt nạ tất cả).

Điều đó có thể được thực hiện trong nhị phân:

Binary all-ones mask octets: 11111111 11111111 11111111 11111111
Binary network mask octets:  11111111 11111111 11111000 00000000 -
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

Điều đó cũng có thể được thực hiện dưới dạng thập phân (một octet tất cả là một 255), nhưng hãy chắc chắn chuyển đổi nó thành nhị phân trước khi thực sự cố gắng sử dụng nó để thao tác địa chỉ:

Decimal all-ones mask octets: 255 255 255 255
Decimal network mask octets:  255 255 248   0 -
                              ---------------
Decimal host mask octets:       0   0   7 255
Dotted-decimal host mask:     0.0.7.255

Địa chỉ phát sóng mạng IPv4

Địa chỉ quảng bá mạng IPv4 là địa chỉ mạng IPv4 với tất cả các bit máy chủ được đặt thành 1. Có một số cách để tính địa chỉ quảng bá mạng IPv4.

Ví dụ địa chỉ IPv4 198.51.100.223và mặt nạ mạng của chúng tôi 255.255.248.0.

Bạn có thể thực hiện một chút ORtheo địa chỉ IPv4 hoặc địa chỉ mạng với mặt nạ máy chủ:

Decimal address octets:        198       51      100      223
Binary address octets:    11000110 00110011 01100100 11011111
Binary host mask octets:  00000000 00000000 00000111 11111111 OR
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

Bạn chỉ có thể thêm giá trị của mặt nạ máy chủ IPv4 vào giá trị của địa chỉ mạng IPv4:

Binary network octets:    11000110 00110011 01100000 00000000
Binary host mask octets:  00000000 00000000 00000111 11111111 +
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

Đây cũng là điều bạn có thể làm trong số thập phân:

Decimal network octets:   198  51  96   0
Decimal host mask octets:   0   0   7 255 +
                          ---------------
Decimal broadcast octets: 198  51 103 255
Dotted-decimal broadcast: 198.51.103.255

Tổng số địa chỉ máy chủ mạng IPv4

Tổng số địa chỉ máy chủ IPv4 cho một mạng là 2sức mạnh của số bit máy chủ, 32trừ đi số bit mạng. Ví dụ của chúng tôi về /21mạng (mặt nạ 255.255.248.0mạng), có 11các bit máy chủ ( 32 address bits – 21 network bits = 11 host bits). Điều đó có nghĩa là có 2048tổng số địa chỉ máy chủ trong /21mạng IPv4 ( 2^11 = 2048).


Tổng số địa chỉ máy chủ mạng IPv4 có thể sử dụng

Ngoại trừ các /31mạng (mặt nạ mạng 255.255.255.254) và /32(mặt nạ mạng 255.255.255.255), số lượng địa chỉ máy chủ có thể sử dụng trên mạng IPv4 là tổng số địa chỉ máy chủ mạng bị trừ 2(vì mạng IPv4 và địa chỉ quảng bá không thể sử dụng cho các địa chỉ máy chủ trên mạng, bạn phải trừ chúng khỏi số lượng địa chỉ máy chủ có thể sử dụng). Ví dụ về mạng /21( 255.255.248.0) của chúng tôi , có các 2046địa chỉ máy chủ có thể sử dụng ( 2^11 - 2 = 2046).


Địa chỉ máy chủ mạng IPv4 có thể sử dụng đầu tiên

Ngoại trừ các /31mạng (mặt nạ mạng 255.255.255.254) và /32(mặt nạ mạng 255.255.255.255), địa chỉ máy chủ mạng IPv4 có thể sử dụng đầu tiên là địa chỉ mạng IPv4 cộng 1(địa chỉ mạng IPv4 không thể sử dụng cho địa chỉ máy chủ mạng). Đối với mạng ví dụ của chúng tôi 198.51.96.0/21, địa chỉ máy chủ mạng có thể sử dụng đầu tiên là 198.51.96.1( 198.51.96.0 + 1 = 198.51.96.1). Chỉ cần đặt bit thứ tự thấp của địa chỉ mạng IPv4 nhị phân thành 1:

Decimal network octets:      198       51       96        0
Binary network octets:  11000110 00110011 01100000 00000000
                        -----------------------------------
Binary address octets:  11000110 00110011 01100000 00000001
Decimal address octets:      198       51       96        1
Dotted-decimal address: 198.51.96.1

Địa chỉ máy chủ mạng IPv4 có thể sử dụng lần cuối

Ngoại trừ các /31mạng (mặt nạ mạng 255.255.255.254) và /32(mặt nạ mạng 255.255.255.255), địa chỉ máy chủ mạng IPv4 có thể sử dụng cuối cùng là địa chỉ quảng bá mạng IPv4 trừ 1(địa chỉ quảng bá mạng IPv4 không thể sử dụng cho địa chỉ máy chủ mạng). Đối với mạng ví dụ của chúng tôi 198.61.96.0/21, địa chỉ máy chủ mạng có thể sử dụng cuối cùng là 198.51.103.254( 198.51.103.255 - 1 = 198.51.103.254). Chỉ cần đặt bit thứ tự thấp của địa chỉ quảng bá mạng IPv4 nhị phân thành 0:

Decimal broadcast octets:      198       51      103      255
Binary broadcast octets:  11000110 00110011 01100111 11111111
                          -----------------------------------
Binary address octets:    11000110 00110011 01100111 11111110
Decimal address octets:        198       51      103      254
Dotted-decimal address:   198.51.103.254

Đặt tất cả các địa chỉ mạng IPv4

Đối với ví dụ về địa chỉ 198.51.100.223và mặt nạ mạng IPv4 255.255.248.0(hoặc 198.51.100.223/21), chúng tôi có thể tính toán nhiều thông tin mạng:

Host address:                       198.51.100.223
Network mask:                       255.255.248.0
Network mask length:                21
Host mask:                          0.0.7.255
Host mask length:                   11
*Network address:                   198.51.96.0
*First usable network host address: 198.51.100.1
*Last usable network host address:  198.51.103.254
*Network Broadcast address:         198.51.103.255
Total network host addresses:       2048
Usable network host addresses:      2046

* Các bài kiểm tra và chứng chỉ lớp học giáo dục mạng sẽ yêu cầu bạn có thể nhanh chóng tính toán những điều này cho mạng IPv4, được cung cấp địa chỉ máy chủ và mặt nạ (hoặc độ dài mặt nạ). Bạn có thể sử dụng các gợi ý dưới đây để kiểm tra nhanh câu trả lời của mình:

  • Địa chỉ mạng (gợi ý: số chẵn)
  • Địa chỉ máy chủ có thể sử dụng đầu tiên (gợi ý: Địa chỉ mạng cộng với 1, số lẻ)
  • Địa chỉ máy chủ có thể sử dụng lần cuối (gợi ý: Địa chỉ quảng bá trừ 1, số chẵn)
  • Địa chỉ quảng bá (gợi ý: Địa chỉ mạng cộng với Mặt nạ máy chủ, một số lẻ)

Các gợi ý ở trên không áp dụng cho /31các mạng (mặt nạ mạng 255.255.255.254) hoặc /32(mặt nạ mạng 255.255.255.255).

Dành đủ thời gian cho bài kiểm tra của bạn và một vấn đề có nhiều phương pháp để đi đến câu trả lời, bạn nên sử dụng nhiều phương pháp để kiểm tra lại câu trả lời.


Tiếp tục trong câu trả lời tiếp theo ...


9

Tiếp tục từ câu trả lời trước ...


Phần 2 của 2


Chọn Địa chỉ Cổng mạng IPv4 (Bộ định tuyến)

Cổng là một máy chủ lưu trữ trên mạng biết cách chuyển tiếp các gói tới các mạng khác và nó có thể được gán bất kỳ địa chỉ máy chủ mạng có thể sử dụng nào. Một số người chỉ gán ngẫu nhiên địa chỉ cổng cho bất kỳ địa chỉ máy chủ mạng có thể sử dụng, một số người luôn gán địa chỉ máy chủ mạng có thể sử dụng đầu tiên cho cổng và một số người luôn gán địa chỉ máy chủ mạng có thể sử dụng cuối cùng cho cổng. Nó thực sự không quan trọng địa chỉ mạng máy chủ có thể sử dụng mà bạn gán cho một cổng, nhưng bạn nên cố gắng nhất quán.


/31Mạng IPv4 (mặt nạ mạng 255.255.255.254)

Ban đầu, /31mạng (mặt nạ mạng 255.255.255.254) không thể sử dụng được vì chỉ có một bit máy chủ, cung cấp cho bạn hai tổng số địa chỉ máy chủ mạng, nhưng số địa chỉ máy chủ mạng có thể sử dụng là tổng số địa chỉ máy chủ mạng trừ 2( 2 total host addresses - 2 = 0 usable host addresses).

Liên kết điểm-điểm chỉ cần hai địa chỉ máy chủ (một địa chỉ cho mỗi đầu của liên kết). Cách truyền mạng IPv4 truyền thống yêu cầu sử dụng /30mạng (mặt nạ mạng 255.255.255.252) cho các liên kết điểm-điểm, nhưng lãng phí một nửa địa chỉ máy chủ mạng vì một /30mạng có bốn địa chỉ máy chủ mạng, nhưng chỉ có hai địa chỉ máy chủ mạng có thể sử dụng ( 2^2 – 2 = 2).

Với sự thiếu hụt địa chỉ IPv4 quan trọng, một tiêu chuẩn đã được tạo ra để cho phép sử dụng các /31mạng cho các liên kết điểm-điểm. Điều đó có ý nghĩa bởi vì không cần phát sóng trên các mạng như vậy: bất kỳ gói tin nào được gửi bởi một máy chủ trên mạng đều được dành cho máy chủ duy nhất khác trên mạng, phát sóng hiệu quả. Trên /31mạng, địa chỉ mạng là địa chỉ máy chủ có thể sử dụng đầu tiên và địa chỉ quảng bá là địa chỉ máy chủ có thể sử dụng cuối cùng.

Thật không may, không phải tất cả các nhà cung cấp (đặc biệt là Microsoft) đều hỗ trợ tiêu chuẩn cho việc sử dụng /31mạng trên các liên kết điểm-điểm và bạn thường sẽ thấy các liên kết điểm-điểm sử dụng /30mạng.


/32Mạng IPv4 (mặt nạ mạng 255.255.255.255)

Một /32(mặt nạ mạng 255.255.255.255) mạng là cả một mạng lưới không có địa chỉ máy chủ, và một địa chỉ host, chính nó. Chỉ có một địa chỉ trong mạng và đó là địa chỉ mạng. Vì không có máy chủ nào khác trên mạng, lưu lượng phải được định tuyến đến và từ địa chỉ mạng.

Các địa chỉ này thường được sử dụng trên các giao diện mạng ảo được xác định bên trong một thiết bị có thể định tuyến các gói giữa các giao diện ảo và vật lý của nó. Một ví dụ về điều này là tạo ra một giao diện ảo trong một thiết bị mạng được sử dụng làm nguồn hoặc đích cho chính thiết bị đó. Giao diện ảo không thể bị hỏng do sự cố vật lý, ví dụ như rút cáp và nếu thiết bị có nhiều đường dẫn vào đó, các thiết bị khác vẫn có thể giao tiếp với thiết bị bằng địa chỉ giao diện ảo khi giao diện vật lý của thiết bị không hoạt động vì một số lý do .


Chia mạng IPv4

Chia mạng là tạo nhiều mạng dài hơn từ địa chỉ mạng và mặt nạ. Ý tưởng cơ bản là bạn mượn các bit có thứ tự cao từ phần máy chủ của mạng ban đầu. Giả sử bạn muốn tạo 14 mạng con kích thước bằng nhau từ ban đầu của chúng tôi 198.51.96.0/21mạng. Vì bạn đang mượn các bit thứ tự cao từ phần máy chủ của mạng ban đầu, bạn sẽ nhận được một số có sức mạnh 2, nhưng 14không phải là sức mạnh của 2, vì vậy bạn phải có được sức mạnh cao hơn tiếp theo 2, xảy ra 16( 16 = 2^4). Sức mạnh của 2, trong trường hợp 4này là số bit máy chủ thứ tự cao cần phải mượn cho số lượng mạng con được tạo. Bạn cũng có thể sử dụng công thức toán học để xác định số lượng bit cần thiết:Log2(X subnets) = Y borrowed bits, làm tròn đến giá trị nguyên tiếp theo:

Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits

Ví dụ của chúng tôi về việc cần 14 mạng con có kích thước bằng nhau của 198.51.96.0/21mạng ban đầu , bắt đầu với tất cả 0s * cho mạng con đầu tiên, hãy thêm 1vào phần mạng con để có được mạng con tiếp theo:

           ----------------------------------------------
Original:  | 21 network bits       | 11 host bits       |
           ----------------------------------------------
Network:   | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/21
Subnet 1:  | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/25
Subnet 2:  | 110001100011001101100 | 0001 |  0000000    | = 198.51.96.128/25
Subnet 3:  | 110001100011001101100 | 0010 |  0000000    | = 198.51.97.0/25
Subnet 4:  | 110001100011001101100 | 0011 |  0000000    | = 198.51.97.128/25
Subnet 5:  | 110001100011001101100 | 0100 |  0000000    | = 198.51.97.128/25
Subnet 6:  | 110001100011001101100 | 0101 |  0000000    | = 198.51.98.128/25
Subnet 7:  | 110001100011001101100 | 0110 |  0000000    | = 198.51.99.0/25
Subnet 8:  | 110001100011001101100 | 0111 |  0000000    | = 198.51.99.128/25
Subnet 9:  | 110001100011001101100 | 1000 |  0000000    | = 198.51.100.0/25
Subnet 10: | 110001100011001101100 | 1001 |  0000000    | = 198.51.100.128/25
Subnet 11: | 110001100011001101100 | 1010 |  0000000    | = 198.51.101.0/25
Subnet 12: | 110001100011001101100 | 1011 |  0000000    | = 198.51.101.128/25
Subnet 13: | 110001100011001101100 | 1100 |  0000000    | = 198.51.102.0/25
Subnet 14: | 110001100011001101100 | 1101 |  0000000    | = 198.51.102.128/25
           ----------------------------------------------
Subnetted: | 25 network bits              | 7 host bits |
           ----------------------------------------------

           ----------------------------------------------
Unused:    | 110001100011001101100 | 111  | 00000000    | = 198.51.103.0/24
           ----------------------------------------------

* Có một huyền thoại dai dẳng rằng đối với các mạng con, như đối với các địa chỉ máy chủ, các mạng con toàn bộ số không và tất cả đều không thể được sử dụng, nhưng huyền thoại này đã bị tiêu chuẩn rõ ràng từ nhiều năm trước. Thật không may, huyền thoại này mở rộng đến một số lớp giáo dục mạng và câu trả lời đúng cho các lớp (không chính xác) sẽ là sử dụng các mạng con thứ 2 đến thứ 15.


Có thể chia mạng con thành các mạng con có kích thước khác nhau (mỗi mạng IPv4 là mạng con của 0.0.0.0/0địa chỉ mạng), như trong ví dụ của chúng tôi ở trên, mạng con không được sử dụng là /24mạng con, nhưng điều này đòi hỏi phải lập kế hoạch cẩn thận để mạng con kết quả bắt đầu bit đúng.

Ví dụ: giả sử rằng chúng ta cần cả mạng con /26/27mạng con từ 198.51.96.0/21mạng của mình. Có hai cách để làm điều đó: bắt đầu với /26mạng con hoặc bắt đầu với /27mạng con.

Bắt đầu với /26mạng con:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26

Thêm vào 1phần mạng con để có được vị trí bắt đầu của mạng con tiếp theo:

Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26

Sau đó mở rộng mạng con thứ hai thành /27:

Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27

Lưu ý rằng chúng ta thực sự đang chia /26mạng con thứ hai thành /27mạng con và nó hoạt động tốt vì 27lớn hơn 26.

Bắt đầu với /27mạng con:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27

Thêm vào 1phần mạng con để có được vị trí bắt đầu của mạng con tiếp theo:

Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27

Lưu ý rằng không còn đủ bit trong phần máy chủ (năm bit máy chủ) để hỗ trợ /26mạng, yêu cầu sáu bit chủ ( 32 address bits – 26 network bits = 6 host bits). Nếu chúng ta sử dụng vị trí này làm vị trí bắt đầu cho /26mạng con, chúng ta sẽ thực sự chồng lấp các /26mạng trước đó và tiếp theo . Chúng ta cần chừa một khoảng trống kích thước của một /27mạng cho vị trí bắt đầu của /26mạng:

Original: | 110001100011001101100 | 00000000000     | /21
Subnet 1: | 110001100011001101100 | 000000 |  00000 | /27
Unused:   | 110001100011001101100 | 000001 |  00000 | /27
Subnet 2: | 110001100011001101100 | 00001  | 000000 | /26

Một /26subnet phải luôn luôn bắt đầu trên một /26ranh giới: mỗi thứ 2 /27ranh giới subnet, mỗi 4 /28ranh giới, mỗi thứ 8 /29ranh giới vv Quy tắc này là dành cho bất kỳ kích thước subnet: a subnet phải bắt đầu trên ranh giới của một subnet còn có nghĩa là tương đương với 2sức mạnh của kích thước mạng con dài hơn trừ đi kích thước mạng con. Ví dụ: một /23mạng con phải bắt đầu trên mỗi /25mạng thứ 4 ( 2^(25 - 23) = 2^2 = 4).

Cố gắng định cấu hình thiết bị có địa chỉ mạng bắt đầu sai ranh giới bit sẽ dẫn đến các sự cố lạ, khó khắc phục hoặc thiết bị sẽ gây ra lỗi về các mạng chồng chéo. Một số người cố gắng làm điều này với số thập phân rải rác và điều này có thể dẫn đến lỗi. Ví dụ, các 198.51.96.0/27địa chỉ máy chủ mạng được 198.51.96.0thông qua 198.51.96.31. Nếu bạn biết điều đó và cố gắng sử dụng 198.51.96.32/26mạng, bạn sẽ gặp vấn đề vì mạng đó bắt đầu sai ranh giới bit và chồng lấp /27mạng (kiểm tra bằng cách sử dụng bitwise ANDvới địa chỉ và mặt nạ mạng). Nó là rõ ràng trong nhị phân, nhưng nó không quá rõ ràng trong thập phân rải rác. Bạn có thể biết rằng /26các mạng phải bắt đầu bằng bội số thập phân64 ranh giới, nhưng nhìn thấy nó trong nhị phân có thể cho bạn biết chắc chắn liệu bạn có phạm sai lầm hay không.


Định cỡ mạng con dựa trên số lượng máy chủ

Các câu hỏi thi phổ biến sẽ cung cấp cho bạn một mạng và yêu cầu bạn đưa ra một số mạng con có kích thước khác nhau dựa trên số lượng máy chủ cho mỗi mạng con. Nếu bạn có thể, bạn cần làm rõ nếu số lượng máy chủ được dựa trên tổng số địa chỉ máy chủ trên mạng hoặc nếu nó dựa trên số lượng máy chủ có thể sử dụng trên mạng. (Ví dụ: nếu câu hỏi yêu cầu mạng con có 256hoặc 255máy chủ lưu trữ, /24mạng sẽ cung cấp cho bạn 256tổng số địa chỉ máy chủ, nhưng chỉ 254địa chỉ máy chủ có thể sử dụng được. Câu hỏi như vậy có thể là câu hỏi mẹo và câu trả lời đúng sẽ xoay quanh việc có hay không câu hỏi có nghĩa là tổng số địa chỉ máy chủ hoặc địa chỉ máy chủ có thể sử dụng.)

Câu hỏi mẫu:

Given the 198.51.96.0/21 network, subnet it for the following departments:
    Department 1:  500 hosts
    Department 2:  100 hosts
    Department 3:  200 hosts
    Department 4: 1000 hosts

Như chúng ta đã thấy trong phần Mạng con IPv4, cách dễ nhất để làm điều này là trước tiên sắp xếp các phòng ban theo số lượng máy chủ lớn nhất đến nhỏ nhất vì chúng ta sẽ không cần phải xử lý các lỗ hổng mạng:

Department 4: 1000 hosts
Department 1:  500 hosts
Department 3:  200 hosts
Department 2:  100 hosts

Bạn có thể làm tròn mỗi lần lên tới công suất cao tiếp theo là 2 để có được số lượng địa chỉ máy chủ yêu cầu cho mỗi mạng con, sau đó lấy số bit máy chủ cần thiết từ số mũ của sức mạnh của 2:

Department 4: 1024 total host addresses = 2^10 = 10 host bits
Department 1:  512 total host addresses = 2^9  =  9 host bits
Department 3:  256 total host addresses = 2^8  =  8 host bits
Department 2:  128 total host addresses = 2^7  =  7 host bits

Bạn cũng có thể sửa đổi công thức trước đó để tìm các bit số cần thiết cho một số mạng con có kích thước bằng nhau cụ thể để xác định số lượng bit máy chủ cần thiết cho mỗi mạng con : Log2(X hosts) = Y host bits, làm tròn đến giá trị số nguyên tiếp theo:

Department 4: Log2(1000 hosts) = 9.96578428466209, rounded up = 10 host bits
Department 1: Log2( 500 hosts) = 8.96578428466209, rounded up =  9 host bits
Department 3: Log2( 200 hosts) = 7.64385618977472, rounded up =  8 host bits
Department 2: Log2( 100 hosts) = 6.64385618977473, rounded up =  7 host bits

Khi bạn có số lượng bit máy chủ cần thiết cho mỗi mạng con, sau đó thực hiện phép toán nhị phân để có được mạng con cụ thể cho từng bộ phận. Nhớ thêm 1vào mạng con để lấy địa chỉ bắt đầu của mạng con tiếp theo:

Original:     | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Department 4: | 110001100011001101100 | 0 | 0000000000 | = 198.51.96.0/22
Department 1: | 110001100011001101100 | 10 | 000000000 | = 198.51.100.0/23
Department 3: | 110001100011001101100 | 110 | 00000000 | = 198.51.102.0/24
Department 2: | 110001100011001101100 | 1110 | 0000000 | = 198.51.103.0/25
Unused:       | 110001100011001101100 | 1111 | 0000000 | = 198.51.103.128/25

Tìm một mạng con đặc biệt

Bạn có thể được yêu cầu cung cấp thông tin mạng cho một mạng con cụ thể của một mạng nhất định. Ví dụ: bạn có thể được yêu cầu cung cấp thông tin mạng cho /26mạng con thứ 23 của 198.51.96.0/21mạng. Vì bạn cần mạng con thứ 23, bạn có thể chuyển đổi 22(hãy nhớ 0là mạng con đầu tiên, vì vậy mạng con thứ 23 sẽ là 22*) thành nhị phân: Decimal 22= Binary 10110. Sử dụng số nhị phân được chuyển đổi trong phần mạng con của địa chỉ:

Original:  | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26

Khi bạn đã xác định địa chỉ mạng thứ 23 198.51.101.128/26, bạn có thể tính toán thông tin mạng khác (như được mô tả trong các phần trước):

Network address:                   198.51.101.128
Network mask length:               26
Network mask:                      255.255.255.192
Host mask length:                  6
Host mask:                         0.0.0.63
First usable network host address: 198.51.101.1
Last usable network host address:  198.51.101.62
Broadcast address:                 198.51.101.63
Total network host addresses:      64
Usable network host addresses:     62

* Có một huyền thoại dai dẳng rằng đối với các mạng con, như đối với các địa chỉ máy chủ, các mạng con toàn bộ số không và tất cả đều không thể được sử dụng, nhưng huyền thoại này đã bị tiêu chuẩn rõ ràng từ nhiều năm trước. Thật không may, huyền thoại này mở rộng đến một số lớp giáo dục mạng và câu trả lời đúng cho các lớp (không chính xác) đó là sử dụng mạng con thứ 24 ( 23thập phân, 10111nhị phân) trong ví dụ của chúng tôi về các mạng con có kích thước bằng nhau, thay vì 23 giây ( 22thập phân, 10110mạng con nhị phân).


Tìm máy chủ mạng cụ thể

Bạn có thể được yêu cầu tìm địa chỉ máy chủ cho một máy chủ cụ thể của một mạng nhất định. Ví dụ: bạn có thể được yêu cầu cung cấp địa chỉ máy chủ cho máy chủ thứ 923 của 198.51.96.0/21mạng. Vì bạn cần máy chủ thứ 923, bạn có thể chuyển đổi 923thành nhị phân: Decimal 923= Binary 1110011011. Thêm số nhị phân được chuyển đổi vào địa chỉ mạng:

Binary network: | 110001100011001101100 | 00000000000 |
Binary 923:     | 000000000000000000000 | 01110011011 | +
                  -----------------------------------
Host address:   | 110001100011001101100 | 01110011011 | = 198.51.99.155

Mạng chung lớn nhất cho hai máy chủ *

Bạn có thể được cung cấp hai (hoặc nhiều) địa chỉ máy chủ khác nhau và được yêu cầu đưa ra mạng lớn nhất (số lượng máy chủ nhỏ nhất) có chứa cả hai địa chỉ máy chủ. Ví dụ: tìm mạng chung lớn nhất của 198.51.100.223198.51.101.76.

Đầu tiên, chuyển đổi các địa chỉ thập phân rải rác thành nhị phân:

198.51.100.223 = 11000110001100110110010011011111
198.51.101.76  = 11000110001100110110010101001100

Tiếp theo, bắt đầu từ bit thứ tự cao nhất (ngoài cùng bên trái), so sánh các địa chỉ nhị phân ở mỗi vị trí bit cho đến khi các bit ở cùng vị trí không khớp nhau:

198.51.100.223 = | 11000110001100110110010 | 011011111 |
198.51.101.76  = | 11000110001100110110010 | 101001100 |

Đếm số lượng bit phù hợp, 23trong trường hợp này, để lấy chiều dài mặt nạ. Sau đó, bạn có thể lấy một trong hai địa chỉ và thực hiện một chút ANDvới mặt nạ mạng để có được mạng chung. Làm điều này trên cả hai địa chỉ sẽ dẫn đến cùng một mạng và nếu không, thì bạn sẽ bị nhầm lẫn hoặc bạn đã bỏ lỡ một vị trí bit chưa từng có.

198.51.100.223  = 11000110001100110110010011011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

198.51.101.76   = 11000110001100110110010111011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

Lưu ý rằng hai địa chỉ mạng khớp nhau. Điều đó có nghĩa là mạng chung lớn nhất cho hai địa chỉ máy chủ là 198.51.100.0/23(ký hiệu CIDR) hoặc (truyền thống) 198.51.100.0với mặt nạ là 255.255.254.0.


* Bạn có thể thấy mạng này được gọi là mạng chung nhỏ nhất (hoặc một số biến thể, ví dụ: mạng tối thiểu hoặc mặt nạ). Mạng nhỏ nhất thực sự là 0.0.0.0/0( 0bit mạng) và là mạng chung cho tất cả các địa chỉ IPv4, vì vậy đây là mạng chung nhỏ nhất giữa bất kỳ địa chỉ IPv4 nào. Sự nhầm lẫn xuất hiện do nhiều người nhìn vào phần máy chủ của địa chỉ và xem kích thước của nó là kích thước mạng, thay vì kích thước của phần mạng của địa chỉ.


Địa chỉ công cộng và riêng tư

Bản thân IPv4 không có khái niệm về sự khác biệt giữa địa chỉ công cộng và riêng tư. Địa chỉ riêng của IPv4 được chọn tùy ý và các ISP, theo thỏa thuận, sẽ không chuyển tiếp các gói trên Internet công cộng sử dụng địa chỉ trong không gian địa chỉ Riêng tư, nhưng các thiết bị và máy chủ mạng không biết địa chỉ là công khai hay riêng tư.

Có ba phạm vi địa chỉ được xác định Địa chỉ riêng tư IPv4:

  1. 10.0.0.0/8
  2. 172.16.0.0/12
  3. 192.168.0.0/16

Địa chỉ mạng đầy đủ

Ban đầu, địa chỉ IPv4 được chia thành các lớp mạng. Địa chỉ lớp đã bị phản đối từ nhiều thập kỷ trước và mạng hiện đại dựa trên CIDR (Định tuyến liên miền không phân loại), nhưng thật không may, nhiều lớp giáo dục mạng và các kỳ thi chứng chỉ khăng khăng kiểm tra kiến ​​thức của bạn về địa chỉ lớp. Vui lòng tìm hiểu và thoải mái với tất cả các toán học IPv4 trước đó trong tài liệu này trước khi bạn tìm hiểu về địa chỉ lớp.

Tất cả các lớp địa chỉ IPv4 đều dựa trên các bit đầu tiên của địa chỉ:

Class   Address Starts With      Address Range                 Default Size*
  A     First one bit    = 0       0.0.0.0 to 127.255.255.255        /8
  B     First two bits   = 10    128.0.0.0 to 191.255.255.255       /16
  C     First three bits = 110   192.0.0.0 to 223.255.255.255       /24
  D     First four bits  = 1110  224.0.0.0 to 239.255.255.255       N/A
  E     First four bits  = 1111  240.0.0.0 to 255.255.255.255       N/A
  • Các mạng lớp A có mặt nạ mạng mặc định là 255.0.0.0( /8) và mặt nạ máy chủ mặc định của 0.255.255.255, cung cấp cho bạn 16,777,216tổng số địa chỉ máy chủ trên mỗi mạng.
  • Mạng lớp B có mặt nạ mạng mặc định là 255.255.0.0( /16) và mặt nạ máy chủ mặc định của 0.0.255.255, cung cấp cho bạn 65,536tổng số địa chỉ máy chủ trên mỗi mạng.
  • Mạng lớp C có mặt nạ mạng mặc định là 255.255.255.0( /24) và mặt nạ máy chủ mặc định của 0.0.0.255, cung cấp cho bạn 256tổng số địa chỉ máy chủ trên mỗi mạng.
  • Địa chỉ lớp D được sử dụng cho phát đa hướng, trong đó mỗi địa chỉ được sử dụng riêng để đại diện cho một nhóm máy chủ đăng ký một địa chỉ phát đa hướng. Điều đó có nghĩa là các địa chỉ Lớp D thường không có khái niệm về mặt nạ mạng.
  • Địa chỉ lớp E được bảo lưu và chúng không thể được sử dụng cho bất cứ điều gì. Có một ngoại lệ cho điều này, và đó là địa chỉ Phát sóng có giới hạn 255.255.255.255, là địa chỉ riêng mà mọi máy chủ trên mạng sẽ coi là địa chỉ của chính nó. Điều đó có nghĩa là mọi thứ được gửi đến 255.255.255.255sẽ được nhận và xử lý bởi mọi máy chủ trên mạng.

Vì mỗi lớp có kích thước mạng mặc định, một số câu hỏi giả sử mặt nạ mặc định cho một địa chỉ nhất định, do đó, mọi tính toán cần phải được thực hiện dựa trên mặt nạ mạng mặc định. Đối với địa chỉ ví dụ của chúng tôi , 198.51.100.223:

Binary: 11000110 00110011 01100100 11011111

Lưu ý rằng ba bit địa chỉ đầu tiên là 110, có nghĩa đây là địa chỉ Lớp C và không có mặt nạ hoặc độ dài mặt nạ, mặt nạ mạng được giả sử là 255.255.255.0( /24), tạo địa chỉ mạng 198.51.100.0.


* Đừng phạm sai lầm phổ biến khi nghĩ mặt nạ mạng ra lệnh cho lớp mạng, đó là cách khác. Ví dụ, nhiều người coi bất kỳ /24mạng nào là mạng Lớp C, nhưng điều đó thậm chí không đúng. Ví dụ, do một 10.11.12.0/24mạng, nhiều người gọi không chính xác là mạng Lớp C vì mặt nạ mạng, mặc dù bit đầu tiên của địa chỉ là 0, làm cho nó là mạng Lớp A, mặc dù có mặt nạ mạng dài hơn mặc định Mặt nạ mạng lớp A, nghĩa là nó là mạng con của mạng Lớp A, không phải mạng Lớp C.


6

(Trong nỗ lực giữ tất cả các câu trả lời của netmask ở một nơi, sau các câu trả lời xuất sắc khác, tôi đã thêm câu trả lời này về một phương pháp trực quan.)

Định cỡ mạng con dựa trên số lượng máy chủ

Đây là câu hỏi phổ biến "Làm cách nào để tôi cắt một kích thước mạng nhất định thành n phần cho phép cho các máy chủ x 1 trong mạng 1, x 2 máy chủ trong mạng 2, v.v ...?" hoàn toàn có thể được giải quyết bằng cách làm việc thông qua các phương pháp được mô tả trong các câu trả lời xuất sắc khác.

Tuy nhiên, một số người có thể thích một phương pháp trực quan hơn và một số mẹo chung.

Phương pháp trực quan "Glasscutter"

Cách tôi thường dạy một cách hiểu trực quan về điều này là với phương pháp sau:

Đầu tiên hãy tưởng tượng một máy chém giấy như thế này:

chém giấy

( Ảnh từ Wikipedia Tác giả Nathan CC BY-SA 3.0)

Đặc tính của loại máy cắt này là nó chỉ cắt các đường thẳng, nó luôn cắt tất cả các đường trên giấy và nó cắt vuông góc với một mặt. Máy chém đặc biệt của chúng tôi rất cầu kỳ: nó sẽ chỉ cắt giấy làm đôi và chúng tôi không thể thực hiện bất kỳ vết cắt nào gần mép 1 cm.

  • Có bao nhiêu địa chỉ có sẵn trong tổng số cho khối bắt đầu của bạn?
  • Giả sử đã chia ra a / 22 có 1024 địa chỉ
  • Lấy một mảnh giấy có nhiều cm vuông (và tỷ lệ vuông hoặc 2x1)
  • Vì vậy, tôi nhận được một mảnh 32 cm x 32 cm có 1024 sq cm
  • Nhiều lần
    1. Chọn một mảnh (nếu có nhiều hơn một)
    2. Cắt nó một nửa (trong giới hạn: chỉ cắt hình chữ nhật, một nửa, không có gì dưới 1 cm)
  • Thường có những cách cắt khác nhau mà bạn có thể thực hiện và bạn phải đưa ra lựa chọn
  • Để có được n mạng, bạn cần thực hiện cắt n-1
  • Đôi khi bạn kết thúc với các phần bổ sung (tùy thuộc vào cách bạn muốn phân phối "chất thải")

Đây là một minh họa của quá trình. Bạn thấy rằng chỉ có một loại cắt có thể cắt ở cắt 1 và cắt 2, nhưng ở cắt 3, chúng tôi đưa ra lựa chọn: cắt mảnh nhỏ (màu đỏ) hoặc mảnh lớn (màu xanh), đưa ra hai khả năng khác nhau.

bản vẽ của riêng tôi

Vấn đề thường được gọi là vấn đề máy chém , mà tôi đã học được là vấn đề "máy cắt thủy tinh", vì kính tấm thực sự phải được cắt theo mọi cách, và cụ thể này có thể được gọi là "máy cắt kính nhị phân" vì nó luôn bị cắt làm đôi.

Khi tôi thực sự làm điều này trong cuộc sống thực, tôi tinh thần làm một nửa trong khi nhìn vào lưới như thế này. Tôi có thể nhớ rằng / 26 phải bắt đầu vào 0, .64, 128 hoặc .192; Tôi có thể biết rằng dòng thuê thứ bảy cần thứ bảy 30 trong quý đầu, nhưng tôi sẽ không nhớ đó là .216.

Lưới rõ ràng cũng có thể được sử dụng để đại diện cho octet thứ ba, và mỗi ô vuông đại diện cho a / 24. Bây giờ nó nói rằng a / 18 bắt đầu vào .0, .64, .128 hoặc .192.

nhập mô tả hình ảnh ở đây

Mẹo kỹ thuật chung

Thủ tục chung là:

  • làm tròn mỗi kích thước yêu cầu thành khối nhỏ nhất đủ lớn
  • đảm bảo bạn tuân theo bất kỳ quy tắc toàn cầu nào (thường là "tối đa hóa địa chỉ khả dụng", đôi khi nó "cho phép tăng gấp đôi" hoặc "làm cho việc định tuyến dễ dàng")
  • phân bổ các mạng con cho các địa chỉ BẮT ĐẦU VỚI LỚN NHẤT và đi xuống nhỏ nhất ( đây là phần họ thường quên nói với bạn )
  • tuân theo bất kỳ quy tắc cụ thể nào (các câu hỏi kiểm tra thường có các quy tắc bổ sung, đôi khi rất khó hiểu là "Không có địa chỉ mạng nào có thể có 7 trong đó")
  • kiểm tra có chỗ cho bất kỳ địa chỉ ngụ ý (phát sóng, bộ định tuyến)
  • nếu bất kỳ mạng nào nhỏ (/ 30, / 31 hoặc / 32) hãy chú ý thêm vì có một số trường hợp cạnh cho các mạng có 4, 2 và 1 máy chủ và các chi tiết phụ thuộc vào vấn đề chính xác mà bạn đang giải quyết

5

Thí dụ:

IP: 128.42,5.4

Ở dạng nhị phân: 10000000 00101010 00000101 00000100

Mạng con: 255.255.248.0

Làm thế nào bạn có thể xác định tiền tố, mạng, mạng con và số máy chủ?

      32768     16384  8192  4096  2048  1024   512   256  ----> Binary
        128       192   224   240   248   252   254   255  ----> Sunet Mask
        /17       /18   /19   /20   /21   /22   /23   /24  ----> CIDR  
      32766     16382  8190  3094  2046  1022   510   254  ----> Host


      128     64    32     16     8     4    2     1   ----> Binary
      128    192   224    240   248   252   254   255  ----> Sunet Mask
      /25    /26   /27    /28   /29   /30   /31   /32  ----> CIDR  
      126     62    30     14     6     2    *     -   ----> Host 

     128        64        32       16        8         4         2        1
  10000000   01000000  00100000 00010000  00001000  00000100  00000010   00000001

   Example 
   Network=192.168.1.0 /24;  
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.0 
   Ip address range 192.168.1.0----192.168.1.255
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.254; 
   Broadcast address = 192.168.1.255;
   254 Host

   Network=192.168.1.0 /25;
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.128
   Ip address range 192.168.1.0----192.168.1.128
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.126;
   Broadcast address = 192.168.1.127;  
   126 Hosts

   When the CIDR increased ex. /24. /25.  the network will divided by the 
   binary number.
   /25  increase network   0-128| 128- 256 |                   you will have 2 Networks 
   /26  increase network   0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks 
    .
    .
    .
   /32......
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.