CIDR 中的 .0/32 和 .1/24 有什麼區別?
我們在 AWS 規則中指定 CIDR 地址,我遇到了一些我不明白的事情。
/32
表示一個地址。所以10.0.0.0/32
只表示單個地址10.0.0.0
。但是以結尾的地址.0
是廣播地址,對吧?所以實際上,這個單一地址意味著範圍內的任何地址10.0.0.1 - 10.0.0.255
。
/24
表示 255 個地址。所以 10.0.0.1/24 表示範圍內的任何地址10.0.0.1 - 10.0.0.255
。(我不在10.0.0.0/24
這裡使用,因為它包括我們上面得到的 .0 “擴展”,我試圖與之對比。)上述說法是否正確?
.0/32
和之間的有效區別是什麼.1/24
?編輯
我當然可能會很困惑,我很欣賞為我解惑的嘗試。
我對 .0 地址在某些方面的特殊性的困惑源於我的同事告訴我確實如此。我們在 AWS 集群上設置了一條規則,允許來自 10.0.1.0/32 的連接,它似乎允許來自 10.0.1.25 的連接。對此還有其他解釋嗎?
編輯2
事實證明,我的同事大錯特錯,即使在向我報告他在新 AWS 規則中使用的地址和子網時也是如此。對困惑感到抱歉。如果我可以刪除這個問題,我會的。
您肯定沒有正確掌握 CIDR。
廣播地址的定義不是以 .0 結尾的。這是一個所有主機位都設置為零的地址。在 /32 中,沒有主機位。/32 甚至不是真實世界的網路地址。毫無疑問,它被用來表示寫入的數字實際上是一個 IP 主機地址。
你的網路有點混亂。所有主機位都設置為 0 的 IPv4 ip 地址是網路地址。所有主機位都設置為 1 的 IPv4 IP 地址是廣播地址。IPv4 主機 IP 地址中的 .0 或 .255 完全有效,具體取決於使用的子網遮罩。混亂來自太多的書籍、學校和教師懇求學生“永遠不要在主機 IP 地址中使用 .0 或 .255!” - 因為只教它然後教它們如何以及何時完全有效更容易。