Là mạng con luôn tiếp giáp 1s? [bản sao]


25

Tôi hiểu tiền đề cơ bản đằng sau mặt nạ mạng con, chẳng hạn như 255.255.255.0. Nhưng tất cả các ví dụ mạng con tôi đã thấy là (từ trái sang phải) liền kề 1s (các bit HI). Chẳng hạn, 255.255.0.0( /16) dịch sang các octet sau:

11111111 . 11111111 . 00000000 . 00000000

Tôi tin rằng các bit này phải liền kề nhau, bởi vì toàn bộ điểm của mạng con là lấy được ID máy chủ và phạm vi của ID thiết bị khả dụng. Nhưng nó làm tôi tự hỏi, có thể bạn đã từng có một mặt nạ mạng con của, nói 255.17.255.0, hoặc:

11111111 . 00010001 . 11111111 . 00000000
  • Điều này sẽ bao giờ xảy ra? Hoặc không thể cho các mạng con tồn tại mà không có 1 liên tiếp? Nếu vậy, tại sao?
  • Mặt khác, nếu có thể làm điều này, tại sao bạn (một số ví dụ cụ thể)?

@MSalters Chỉ để bạn biết, nhận xét tự động hiện đã được thay đổi thành "Có thể trùng lặp ..." vì vậy bạn không cần phải nhập nhận xét theo cách thủ công nữa. ;-)
Chris Jester-Young

Câu trả lời ngắn gọn: có, bạn đúng.
Bạch tuộc

Câu trả lời:


18

Phần 3.1 trong RFC hiển thị các mặt nạ được phép trong định tuyến liên miền không phân loại. Các bit phải liền kề để định tuyến hoạt động chính xác.

Ngoài ra, khi suy nghĩ một cách logic, sẽ không thực sự có ý nghĩa khi có mặt nạ mạng ngẫu nhiên kỳ lạ.


28

Vâng, cách dễ dàng để nghĩ về nó là mặt nạ mạng con luôn là 1 giây khi bắt đầu. Nếu chỉ báo kích thước mạng con không có 1 giây khi bắt đầu biểu diễn nhị phân, thì tôi sẽ nói rằng chỉ báo kích thước mạng con không phải là mặt nạ mạng con đúng cách, sử dụng các tiêu chuẩn hiện đại.

RFC 1219 tuyên bố rằng RFC 950 trước đó cho phép các bit không liền kề. Trên thực tế, RFC 950 trang 15 (phần 3) rõ ràng có một ví dụ về việc minh họa các bit mạng con không liền kề ". Tuy nhiên, không có cách nào để chuyển đổi các mạng con đó thành ký hiệu CIDR. Ký hiệu kiểu CIDR là những gì IPv6 đã sử dụng (tại ít nhất kể từ RFC 1884 trang 7 , câu đầu tiên của phần 2.4), do đó các bit không liền kề không bao giờ được hỗ trợ rộng rãi cho các mạng IPv6. Phương pháp của RFC 1219 chỉ định rằng các bit mạng con (mặt nạ = 1) được gán từ bit hoạt động quan trọng nhất hướng tới ít nhất ". ( RFC 4632 phần 3.1 , được đề cập bởi câu trả lời của Sami, chỉ ra một tiêu chuẩn chính thức thảo luận về ký hiệu CIDR.)

RFC 1878 trang 2 hiển thị ký hiệu mặt nạ mạng con tiêu chuẩn của phái mạnh cho tất cả các mạng con IPv4 ngoại trừ /0.

Tuy nhiên, tôi sẽ giải thích một chút về câu trả lời của Sami, tìm hiểu về cách giải thích tại sao lại (với một ví dụ cụ thể, như câu hỏi đã hỏi) ...

Một số thiết bị Cisco cấp độ chuyên nghiệp hỗ trợ một thứ gọi là mặt nạ ký tự đại diện, tên lửa đảo ngược các bit. Vì vậy, một mạng con bình thường có thể được đại diện bởi một cái gì đó được gọi là 00000000.00000000.00000000.11111111.

Với mặt nạ ký tự đại diện của Cisco, không có quy tắc nào là tất cả các số không phải đi trước. Vì vậy, bạn có thể sử dụng 00000000.00000000.00000000.11111110.

Điều đó sẽ tạo ra một nhóm chứa tất cả các địa chỉ IP được đánh số chẵn.

Điều này thực sự quan trọng để biết, bởi vì đào tạo của Cisco đã bao quát nó, và vì vậy quá trình kiểm tra các chứng chỉ chuyên môn của Cisco có thể hỏi về điều đó.

Tuy nhiên, tôi nghĩ rằng nó chủ yếu là vô dụng. Thay vì chia mạng thành một nửa bằng cách sử dụng địa chỉ số chẵn hoặc địa chỉ số lẻ, bạn chỉ có thể chia mạng thành một nửa bằng cách sử dụng địa chỉ được đánh số thấp và địa chỉ được đánh số cao, bằng cách tạo các mạng con bình thường lớn bằng một nửa.

Mặt nạ ký tự đại diện với các bit không liền kề không hữu ích lắm và có thể khó khăn hơn khi làm việc. Điểm của bit mặt nạ mạng con được đặt thành 1 là để nói rằng bit giúp xác định mạng con nào của thiết bị. Không có lý do thuyết phục nào để các bit đó lan truyền khắp địa chỉ, thay vì chỉ nhóm chúng một cách độc đáo ở đầu địa chỉ . Kết quả là việc hỗ trợ các loại mặt nạ này là một sự phức tạp thêm vào mà không có nhiều lợi ích đáng kể.

Tôi đoán rằng cuối cùng Cisco đã đồng ý rằng không có điểm nào đối với mặt nạ mạng con phi truyền thống như vậy, vì cuối cùng họ đã bỏ hỗ trợ cho mặt nạ ký tự dại ". ​​Thay vào đó, tường lửa Pix cũ hỗ trợ mặt nạ ký tự dại, nhưng các đơn vị ASA mới hơn sử dụng mặt nạ mạng con tiêu chuẩn thay thế .

Tôi thậm chí sẽ không cố gắng tạo ra một mạng với các bit mạng con không liên tục, trong một mặt nạ, bởi vì rất nhiều phần mềm sẽ tuân theo các xu hướng / tiêu chuẩn mới hơn và từ chối thiết kế mạng như vậy. Ngay cả khi tôi đang sử dụng phần mềm cũ hơn, tôi có thể muốn mạng của mình có thể dễ dàng sửa đổi để có thể sử dụng phần mềm mới hơn mà không cần phải thiết kế lại mạng. Vì vậy, các bit mạng con liền kề trên mạng Viking là cách duy nhất để đi.

Nếu bạn được hỏi câu hỏi trong bài kiểm tra, tôi sẽ cảm thấy tự tin khi nói rằng tất cả các số 1 cần có ở đầu địa chỉ. Đó là điều mà bất kỳ người kiểm tra lành mạnh nào cũng muốn phần lớn các sinh viên được học trong thời đại ngày nay.


+1 - Lần duy nhất tôi thấy mặt nạ ký tự đại diện được sử dụng mà không có tất cả số 1 ở cuối là mặt nạ được nhập không chính xác.
Mark Henderson

2

RFC 950 nói trong chương 2.2:

 To support subnets, it is necessary to store one more 32-bit
  quantity, called my_ip_mask.  This is a bit-mask with bits set in
  the fields corresponding to the IP network number, and additional
  bits set corresponding to the subnet number field.

 The code then becomes:

   IF bitwise_and(dg.ip_dest, my_ip_mask)
                               = bitwise_and(my_ip_addr, my_ip_mask)
         THEN
             send_dg_locally(dg, dg.ip_dest)
         ELSE
             send_dg_locally(dg,
                    gateway_to(bitwise_and(dg.ip_dest, my_ip_mask)))

Vì vậy, đề xuất là về một hoạt động bit đơn giản mà không quan tâm đến các bit liền kề.

Vào năm 1985, CPU và bộ nhớ bị hạn chế hơn nhiều, do đó, mọi hoạt động phức tạp hơn sẽ không phù hợp với thời gian.

Nó càng trở nên rõ ràng hơn trong chương 3:

và trên mạng, trường mạng con 3 bit đang được sử dụng (01011000), nghĩa là mặt nạ địa chỉ là 255.255.255.88.

Tuy nhiên, những RFC đó dường như đã lỗi thời. Ví dụ, trên Windows 7 SP1, không thể đặt mặt nạ mạng con như vậy:

Mặt nạ mạng con tiếp giáp cần thiết trên Windows 7

Ngay cả trên Windows XP SP2, điều này không thể thực hiện được nữa:

Mặt nạ mạng con Windows XP SP2

Tuy nhiên, ReactOS của Windows 98 cho phép thiết lập netmask "lạ":

Mặt nạ mạng con ReactOS


1

Tôi đồng ý với câu trả lời của @Sami Kuhmonen:

Phần 3.1 trong RFC hiển thị các mặt nạ được phép trong định tuyến liên miền không phân loại. Các bit phải liền kề để định tuyến hoạt động chính xác. Ngoài ra, khi suy nghĩ một cách logic, sẽ không thực sự có ý nghĩa khi có mặt nạ mạng ngẫu nhiên kỳ lạ.

Tuy nhiên, ngay cả khi không mong muốn hoặc không được phép, vẫn có thể xác định mặt nạ mạng con là 1 giây không liên tiếp. Lý do đằng sau điều này:
ID mạng và ID máy chủ được tính toán từ địa chỉ IP và mặt nạ mạng con sử dụng các hoạt động nhị phân AND và XOR. Mọi thứ khác đều không liên quan.

Tôi đã thử nghiệm những năm trước trên Win 2000, nó hoạt động. Cả hai máy tính đều có mặt nạ 255.160.0.0. Chúng nằm trong mạng LAN không có bộ định tuyến, vì vậy tôi không thể biết về hành vi của bộ định tuyến (thông thường bạn chỉ có thể đặt mặt nạ của bộ định tuyến trong giao diện web, sẽ từ chối nó).
Bạn cũng không thể nhập mặt nạ mạng con 'không hợp lệ' như vậy vào trường tương ứng của cài đặt mạng; GUI từ chối nhận nó. Nhưng bạn có thể gian lận bằng cách thay đổi nó trong sổ đăng ký trực tiếp. Sau đó khởi động lại hoặc vô hiệu hóa + kích hoạt NIC để các thay đổi được kích hoạt.
Mục đích của tất cả: uhm, có lẽ là không.


Cảm ơn đã chia sẻ, nhưng điều này không đủ điều kiện là một câu trả lời độc lập. Nó nên là một nhận xét về câu trả lời của Sami Kuhmonen.
bất cứ lúc nào

2
Quá dài cho một bình luận ... Ngoài ra tôi không hy vọng nó sẽ được đánh dấu là câu trả lời.
Tobias Knauss

@agtoever: Sau khi chỉnh sửa và thêm chi tiết, tôi nghĩ hiện tại nó đủ điều kiện là một câu trả lời độc lập, bởi vì nó có nhiều thông tin không phải là một phần của các câu trả lời khác.
Tobias Knauss

"Hoạt động trên một thực hiện" , mặc dù không phải là một câu trả lời tốt . Và đó không chỉ là "hoạt động trên một HĐH", không, rõ ràng bạn đã thử nghiệm một PC cụ thể với (quan trọng) một mạng. Điều đó có nghĩa là bạn chưa xác minh liệu mã định tuyến mạng con trong Windows 2000 có thực sự hoạt động hay không và đó chính xác là nơi cần có ID mạng. Bạn có thể định tuyến giữa hai 255.160.0.0mạng không liền kề ?
MSalters

@MSalters Hoạt động trên một triển khai vẫn có nghĩa là nó hoạt động. Tôi đã không yêu cầu nói cho tất cả các hệ điều hành có thể có cấu hình. Ngoài ra, bạn nghĩ làm thế nào các gói nhận được từ PC này sang PC khác? Máy tính phải biết lộ trình. Do đó, nó phải tính toán liệu máy tính mục tiêu có nằm trong cùng một mạng con (gửi gói trực tiếp) hay ở xa (truy vấn cổng được định cấu hình cho một tuyến). // Không, tôi không nghĩ rằng tôi có thể thực hiện định tuyến như vậy, bởi vì những mặt nạ mạng con này không được sử dụng. Tôi đã chứng minh một trường hợp là nó hoạt động, nhưng không có mạng con khác. Có lẽ nó cũng hoạt động, ai biết được ...
Tobias Knauss
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.