局域網中主機間通信


局域網中處於同一網段中的主機通信

假如:主機 A 要和主機 B 通信,主機 A 知道主機 B 的IP地址。知道IP地址是通信的前提。首先,要通進行通信,IP地址和MAC地址是必不可少的,IP地址已經知道了,那么主機 A 必須要知道主機 B 的MAC地址,先在ARP表中查看有無該IP地址,如果有,就找出對應的硬件MAC地址,如果沒有,主機 A 廣播發送ARP請求來獲取目的MAC地址,說 who is 192.168.1.102 ?

  當IP地址是192.168.1.102的主機 B 收到后,會回復主機 A ,說 “我是192.168.1.102,我的MAC地址是:xx-xx-xx-xx-xx-xx(ARP應答)。這樣一來,主機 A 就知道主機 B 的MAC地址了,當然,由於主機 A 在廣播發送的ARP報文時,主機 A 的MAC地址被作為源MAC地址而封裝在MAC幀中,所以主機 B 收到廣播報文后也會知道主機 A 的MAC地址,這時,主機 A 的源IP地址、目的IP地址、源MAC地址和目的MAC地址都能確定了,就能夠進行通信了。這也就是平時說的同一網段中的主機相互通信。

不同網段間主機通信

這里的不同網段,指的是不在同一子網下。

假如:主機 A 要和主機 D 進行通信,那么同樣的,主機 A 如果廣播發送 ARP 請求,詢問192.168.1.22在哪里,很顯然,主機 A 和主機 D 不在同一個網段內,路由器默認不轉發廣播報文,那么主機 D 就收不到 ARP 請求,也就無法回應主機 A,主機 A 也就無從獲取主機 D 的MAC地址。

  其實,主機 A 會首先檢查目的IP地址是否與自己在同一網段,如果在,就直接廣播ARP請求來獲取目的主機的MAC地址,如果不在同一網段,又配置有網關地址的話,那么主機 A 就通過 ARP 請求,詢問192.168.0.1(網關)在哪里,網關收到后就會回應主機 A ,把網關的MAC地址告訴主機 A ,當獲取到網關的MAC地址后,把網關的MAC地址作為MAC幀中的目的MAC地址,然后就把數據丟給網關 192.168.0.1 ,網關根據路由表,轉發給下一個路由器,再由下一個路由器交付給主機 D 所在的網絡,即網關,網關再通過ARP,找到目的主機 D ,完成數據交付。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM