it-swarm-vi.tech

CIDR cho người giả

Tôi hiểu CIDR là gì và được sử dụng để làm gì, nhưng tôi vẫn không thể tìm ra cách tính nó trong đầu. Ai đó có thể đưa ra một lời giải thích kiểu "cho người giả" với các ví dụ không?

46
Bob

CIDR (Định tuyến giữa các miền không phân loại, phát âm là "kidder" hoặc "cider" - thêm biến thể cục bộ của riêng bạn vào các nhận xét!) Là một hệ thống xác định phần mạng của địa chỉ IP (mọi người thường nghĩ đây là mặt nạ mạng con) . Lý do "không có lớp" là vì nó cho phép phá vỡ mạng IP linh hoạt hơn lớp cơ sở của chúng.

Khi mạng IP được xác định lần đầu tiên, IP có các lớp dựa trên tiền tố nhị phân của chúng:

Class    Binary Prefix    Range                       Network Bits
A        0*               0.0.0.0-127.255.255.255     8
B        10*              128.0.0.0-191.255.255.255   16
C        110*             192.0.0.0-223.255.255.255   24
D        1110*            224.0.0.0-239.255.255.255
E        1111*            240.0.0.0-255.255.255.255

(Lưu ý rằng đây là nguồn của những người coi a/24 là "lớp C", mặc dù đó không phải là một so sánh đúng hoàn toàn vì một lớp C cần phải có tiền tố cụ thể)

Các tiền tố nhị phân này được sử dụng để định tuyến các khối không gian IP lớn xung quanh. Điều này không hiệu quả vì nó dẫn đến việc các khối lớn được gán cho các tổ chức không nhất thiết cần chúng và cũng vì Class C chỉ có thể được gán theo gia số 24 bit, có nghĩa là các bảng định tuyến có thể lớn hơn một cách không cần thiết vì nhiều lớp C được định tuyến đến cùng một vị trí.

CIDR được xác định để cho phép các mặt nạ mạng con có chiều dài thay đổi (VLSM) được áp dụng cho các mạng. Khi tên được áp dụng, các nhóm địa chỉ hoặc mạng, có thể được chia thành các nhóm không có mối quan hệ trực tiếp với "lớp" tự nhiên mà chúng thuộc về.

Tiền đề cơ bản của VLSM là cung cấp số lượng bit mạng trong mạng. Vì địa chỉ IPv4 là số nguyên 32 bit, nên VLSM sẽ luôn nằm trong khoảng từ 0 đến 32 (mặc dù tôi không chắc trong trường hợp nào bạn có thể có mặt nạ có độ dài 0).

Cách dễ nhất để bắt đầu tính toán VLSM/CIDR trong đầu của bạn là hiểu ranh giới 8 bit "tự nhiên":

CIDR    Dotted Quad
/8      255.0.0.0
/16     255.255.0.0
/24     255.255.255.0
/32     255.255.255.255

(Nhân tiện, nó hoàn toàn hợp pháp và khá phổ biến trong các ACL, để sử dụng mặt nạ/32. Điều đó đơn giản có nghĩa là bạn đang đề cập đến một IP duy nhất)

Khi bạn nắm được chúng, số học nhị phân đơn giản sẽ di chuyển lên hoặc xuống để lấy số lượng máy chủ. Chẳng hạn, nếu a/24 có 256 IP (hãy bỏ địa chỉ mạng và phát sóng ngay bây giờ, đó là một câu hỏi lý thuyết mạng khác), tăng mạng con thêm một bit (đến/25) sẽ giảm không gian Máy chủ xuống một bit (đến 7), có nghĩa là sẽ có 128 IP.

Đây là một bảng của octet cuối cùng. Bảng này có thể được chuyển sang bất kỳ octet nào để có được bốn chấm tương đương.

CIDR    Dotted Quad
/24     255.255.255.0
/25     255.255.255.128
/26     255.255.255.192
/27     255.255.255.224
/28     255.255.255.240
/29     255.255.255.248
/30     255.255.255.252
/31     255.255.255.254
/32     255.255.255.255

Như một ví dụ về việc dịch chuyển chúng sang octet khác,/18 (tức là/26 trừ 8 bit, do đó, dịch chuyển một octet) sẽ là 255.255.192.0.

78
jj33

Mỗi octet có giá trị 8.

  • 255.0.0.0/8
  • 255.255.0.0/16
  • 255.255.255.0/24
  • 255.255.255.255/32

Vì vậy, bạn có thể nhanh chóng thu hẹp mạng con của mình và sau đó bạn chỉ lo lắng về 8 bit cuối cùng.

128, 192, 224, 240, 248, 252, 254, 255

+1  , +2 , +3 , +4 , +5 , +6 , +7 , +8
  • 255.128.0.0 =/9
  • 255.192.0.0 =/10
  • 255.224.0.0 =/11
  • 255.240.0.0 =/12
  • 255.248.0.0 =/13
  • 255.252.0.0 =/14
  • 255.254.0.0 =/15

Hy vọng rằng đủ rõ ràng

8
sclarson

Một ngày (sic) muộn, hy vọng không phải là một đô la ngắn. CIDR là số lượng một bit liền kề trong mặt nạ IPv4 (32 bit) bắt đầu từ bit quan trọng nhất.

10000000 00000000 00000000 00000000 trong đó 1 = bit quan trọng nhất

Các mặt nạ phổ biến là/8,/16,/24, tất cả đều nằm trên ranh giới 8 bit (octet).

11111111 00000000 00000000 00000000 =/8 = 255.0.0.0

11111111 11111111 00000000 00000000 =/16 = 255.255.0.0

11111111 11111111 11111111 00000000 =/24 = 255.255.255.0

Nó không thực sự khó khi nó không được sắp xếp theo octet, nhưng nó đòi hỏi một số phép toán đơn giản và sự hiểu biết về octet là gì.

11111111 11111111 11100000 00000000 =/19

Hai octet đầu tiên của mặt nạ là 255.255 (/ 16 nhỏ hơn/19). Octet cuối cùng là 0 (/ 19 nhỏ hơn/24). Cho đến nay chúng ta biết

11111111 11111111 11100000 00000000 =/19 = 255.255.?.0

Khi nhìn vào mỗi octet hãy nhớ nó là một giá trị 8 bit, 0 - 255.

0 0 0 0 0 0 0 0 
1
2 6 3 1
8 4 2 6 8 4 2 1

Vậy octet thứ ba (?) 11100000 là 128 + 64 + 32 = 224. Điều đó có nghĩa là

11111111 11111111 11100000 00000000 =/19 = 255.255.224.0

6
dbasnett

Rất dễ bị lỗi khi tính toán các mạng không tầm thường bằng tay. Hãy thử một Máy tính CIDR thay vào đó.

4
hayalci

Ngược lại, tôi nghĩ thật tốt khi hiểu hoàn toàn [~ # ~] cidr [~ # ~] và có thể thực hiện các phép tính trong não của bạn. .. nhưng đôi khi bạn muốn kiểm tra lại các tính toán của bạn. Tôi thích sử dụng Máy tính mạng con PHP : http://share-foo.com/ SubnetCalc.php

alt text

2
l0c0b0x

Một tài liệu tốt khác cần có, nếu bạn chỉ muốn tham chiếu bàn, là RFC 1878 - Bảng mạng con có độ dài thay đổi cho IPv4 .

1
Gavin McTaggart