子網掩碼可以分離出IP地址中的網絡地址和主機地址,那為什么要分離呢?因為兩台主機要通信,首先要判斷是否處於同一網段,即網絡地址是否相同。如果相同,那么可以把數據包直接發送到目標主機,否則就需要路由網關將數據包轉發送到目的地。可以這么簡單的理解:A主機要與B主機通信,A和B各自的IP地址與A主機的子網掩碼進行And與運算,看得出的結果:
1、結果如果相同,則說明這兩台主機是處於同一個網段,這樣A可以通過ARP廣播發現B的MAC地址,B也可以發現A的MAC地址來實現正常通信。
2、如果結果不同,ARP廣播會在本地網關終結,這時候A會把發給B的數據包先發給本地網關,網關再根據B主機的IP地址來查詢路由表,再將數據包繼續傳遞轉發,最終送達到目的地B。
計算機的網關(Gateway)就是到其他網段的出口,也就是路由器接口IP地址。路由器接口使用的IP地址可以是本網段中任何一個地址,不過通常使用該網段的第一個可用的地址或最后一個可用的地址,這是為了盡可能避免和本網段中的主機地址沖突。
