Các mẫu có thể (bit) của một mặt nạ mạng


13

Đưa ra một tiền tố Y, thật dễ dàng để tính toán netmask tương ứng: Đặt số Ylần một bit được đặt và sau đó điền "sang phải" với các số 0 cho đến khi tổng cộng có 32 bit (IPv4).

Thí dụ:

Tiền tố 24, do đó netmask 11111111 11111111 11111111 00000000hoặc 255.255.255.0.

Có thể có một netmask với một mẫu bit khác nhau , chẳng hạn như

  • 00000000 11111111 00000000 11111111( 0.255.0.255)
  • 00000000 11111111 11111111 11111111( 0.255.255.255)
  • 11111111 11111111 11111111 00000001( 255.255.255.1)

Chỉ định "tiền tố" rõ ràng sẽ không hoạt động đối với những trường hợp này.

(Tôi khá chắc chắn câu trả lời là "KHÔNG", nhưng tôi đang viết một số mã mạng và điều này cần phải hoạt động trong tất cả các trường hợp có thể, vì vậy tôi muốn chắc chắn 101%.)

Câu trả lời:


11

RFC950 nói rằng

Vì các bit xác định mạng con được chỉ định bởi bitmask, nên chúng không cần phải nằm liền kề trong địa chỉ. Tuy nhiên, chúng tôi khuyên rằng các bit mạng con phải liền kề và được định vị là các bit quan trọng nhất của địa chỉ cục bộ.

Hầu hết các thiết bị tuân theo khuyến nghị này cho đến khi thực thi nó. Tôi chỉ quản lý để sử dụng các mặt nạ mạng con không liền kề trên các mạng chỉ có Linux vào năm 2012; các thiết bị Windows, OSX, Cisco và HP mà tôi đã kiểm tra không xử lý / cho phép nó.


2
Tôi tin rằng điều này đã được thay thế bởi RFC1519 , trong đó rõ ràng đòi hỏi một mặt nạ tiếp giáp.
dùng1686

@grawity Có thể là trường hợp. Tìm thấy "Hạn chế nổi bật duy nhất là mặt nạ phải được đặt liền kề." khi nói về CIDR, nhưng không đọc đủ để có được bối cảnh.
Filip Haglund

6

Nếu bạn đang sử dụng tiền tố và mạng, thì câu trả lời là không, các bit cần phải liền kề nhau. Có những trường hợp có thể sử dụng mặt nạ ký tự đại diện (nghịch đảo của mặt nạ), ví dụ: ACL của Cisco và chúng có thể là bất kỳ mẫu bit nào. Chẳng hạn, bạn có thể chặn lưu lượng truy cập từ tất cả các máy chủ được đánh số lẻ trên mạng. Điều này dường như vẫn được dạy, nhưng tôi đã không thấy nó được sử dụng rất thường xuyên (mặc dù tôi đã thấy nó) trong thế giới thực.


4

Không. Một netmask là một chuỗi liên tục.

(Những cái khác là mẫu "ký tự đại diện".)


1
Đây không phải là sự thật. 30 năm trước đã có rất nhiều. Vẫn có thể có một số hoạt động.
MAP

2
Tôi rất nghi ngờ rằng. Không có phần cứng định tuyến hiện đại sẽ cho phép nó. Và các bộ định tuyến từ những năm 80 sẽ gặp nhiều vấn đề với cách thức hoạt động của IP hiện nay. (Đã ở đó. Đã nói với bạn rằng 'không sử dụng mạng con hoàn toàn bằng không - ngay cả vào cuối những năm 90 là một vấn đề) Hai thiết bị duy nhất tôi vẫn có từ thời đó sẽ không chấp nhận một mạng không liên tục. (WTI pdus, vẫn ở xung quanh vì chúng có cổng 10bT. Không có gì để nói với họ, hầu hết trên internet .)
Ricky Beam

3

Khi TCP / IP lần đầu tiên xuất hiện và trở nên phổ biến, thực sự có rất nhiều mạng con với mặt nạ không tiếp giáp. Nhưng khi các địa chỉ trở nên khan hiếm, việc sử dụng phần còn lại của mạng để cho phép định tuyến toàn cầu các tiền tố này thay vì buộc mọi thứ chỉ dựa trên tiền tố; là quá nhiều và mạng toàn cầu đã thay đổi thành chỉ hỗ trợ tiền tố. Thực tế có thể vẫn còn các mạng kế thừa sử dụng mặt nạ không liền kề trong nội bộ (nhiều IGP hỗ trợ điều này, vẫn còn). Nhưng, khi một mạng như vậy kết nối với Internet, nó có một tiền tố duy nhất bao gồm tất cả chúng, nó quảng cáo vào BGP. Và, tất nhiên, EGP (tiền thân của BGP) chỉ hỗ trợ địa chỉ Classful.

Tôi biết một số người chơi có vấn đề ban đầu Mạng loại A sử dụng mạng không liên tục trong nội bộ vì lý do này hay lý do khác. Tôi chỉ không biết nếu có ai trong số họ vẫn đang làm điều đó. Nhiều người trong số họ thậm chí không thoát ra nữa. ARPAnet có netmask nội bộ là 255.0.0.255 (IIRC).


2
VÔ LÝ. Điều này không có gì để làm với CIDR, hoặc các lớp hoặc tổng hợp. Một netmask đã LUÔN được tiếp giáp.
Ricky Beam

6
Xem RFC 950 , ví dụ. Trang 15 đưa ra một ví dụ với netmask là 255.255.255.88.
Ross Presser

4
Tôi nghĩ rằng trang 12 của RFC 1519 thực sự gây tổn hại cho trường hợp của bạn vì câu liên quan duy nhất là, " Hạn chế nổi bật duy nhất là mặt nạ phải được đặt liền kề ." (Tôi nhấn mạnh) Vì mặt nạ được lớp / ngụ ý trong định tuyến đầy đủ và chỉ có ba mặt nạ tiếp giáp được sử dụng và RFC trên CIDR chỉ định mặt nạ tiếp giáp, có vẻ như câu trả lời của bạn sai. Bài đăng danh sách FreeBSD là một bí ẩn đối với tôi.
Todd Wilcox

3
RFC thay thế là 4632: tools.ietf.org/html/rfc4632 Lưu ý rằng ký hiệu gạch chéo được thảo luận và sử dụng, và thuật ngữ " độ dài tiền tố " xuất hiện nhiều lần, cả hai đều không có ý nghĩa gì nếu mặt nạ không liền kề được hỗ trợ. Rõ ràng từ RFC 950 rằng có thể đã có các hệ thống trong những ngày đầu sử dụng mặt nạ không liền kề, nhưng việc đưa lên đó sẽ không giúp người hỏi hiểu cách thức TCP / IP hiện hoạt động và có thể rất khó hiểu.
Todd Wilcox

3
Vì các bit xác định mạng con được chỉ định bởi bitmask, chúng không cần phải nằm liền kề trong địa chỉ. Tuy nhiên, chúng tôi khuyên rằng các bit mạng con phải liền kề và được định vị là các bit quan trọng nhất của địa chỉ cục bộ . Mặc dù điều đó không mang từ ngữ NÊN / PHẢI được sử dụng ngày nay, đó chính xác là cách mọi người đã xây dựng các khả năng mạng con hiện đại. Trải qua hơn 3 thập kỷ kết nối mạng, tôi chưa bao giờ gặp phải công nghệ cho phép các mạng con rời rạc.
Ricky Beam
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.