剛學網路,我在網上看兩個PC通信,設為A和B。A要聯系B,知道B的IP但不知道MAC地址。如果是在同一網段,就發ARP請求,不是同一網段就發給網關。而判斷是否是同一網段的方法就是A的IP地址和A的掩碼按位與,得出網路號;然后B的IP地址和A的掩碼按位與,得出結果認為是B的網路號,如果兩個網路號相同,則A和B在同一網段,不同則不在同一網段。
那么如果是如下配置:
A: 192.168.0.1/16
B: 192.168.1.1/24
從A算的話,如下:
192.168.0.1 & 255.255.0.0 -> 192.168.0.0
192.168.1.1 & 255.255.0.0 -> 192.168.0.0
按照上面的演算法是同一網段。但從B算的話:
192.168.1.1 & 255.255.255.0 -> 192.168.1.0
192.168.0.1 & 255.255.255.0 -> 192.168.0.0
按照上面的演算法就不是同一網段。
所以問題如下:
1. A不知道B的掩碼,用B的IP地址和自己的掩碼算,這個結果只能說明B的前n位和A的前n位相同(n為A的掩碼中1的個數),
能說明A和B在一個網段?從B算又不是同一個網段了?
2. 是否在同一網段決定PC是發送ARP還是發到網關,那這里A就發ARP, B發到網關?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/114019.html
標籤:網絡通信
上一篇:關于Internet explorer http重定向https的問題
下一篇:廣播地址與子網地址的問題
