mac 表 && arp 表


 

mac表:交換機就是根據mac 表 去轉發數據的(工作在二層)

在 2層中,同一個交換機下,主機A 想要和主機C 通信

 

主機A 將請求發送給交換機(源mac 是主機A 的mac,目標mac 是主機C 的mac)。交換機接收到 數據幀,首先會去記錄數據幀中的源mac 地址以及由哪一個端口轉發進來,然后會去找自己的mac 表,看下有沒有到目標mac 地址的條目。

1、如果有,將這個數據幀從mac條目中對應的接口轉發出去(也就是單播);

2、如果沒有,將這個數據幀廣播到交換機其他所有接口(即二層廣播,也叫泛洪)。

這時,所有主機(主機A 除外)都會收到數據幀。(這里注意:如果這個交換機上接口連接了其他交換機,那么其他交換機也會收到廣播包)。其他交換機也會去檢查自己的mac 表有沒有目標地址。如果沒有的話,從自己的其他接口將這個數據幀廣播出去到所有的主機。只有目標mac 的主機(主機C)會去響應這個廣播包,發送一個回包給自己的交換機(回包中包括自己的mac 地址)

這樣兩個交換機都會收到這個回包,同時會去記錄這個mac 條目(主機Bmac 地址和交換機的接口)

那么當A 想要和C 通信時候,交換機通過查看mac 表就知道需要將這個數據幀從哪一個接口轉發出去了

 

 

arp表:記錄 主機ip 和mac 的對應關系(工作在三層)

 

主機A 想和主機B 通信。主機A 會根據主機 B 的IP 地址去檢查自己的arp表,看下有沒有主機B ip 地址對應的mac 地址表。

1、如果有的話,那么封裝數據幀。源mac 是主機A mac。目標mac 是主機B 的mac地址

2、如果沒有,那么主機A 會發送一個arp 請求,目標IP 地址是主機B 的ip 地址,目標mac 地址是二層廣播幀FF-FF-FF-FF-FF-FF。源mac 和源ip 是主機A 的地址

交換機收到廣播幀,會將這個數據幀除這個端口以外所有的端口轉發出去。

當主機B接受到此數據幀后,會檢查這個目的IP地址是不是自己的,並將主機A的IP地址和MAC地址的對應關系記錄到自己的ARP緩存表中,同時會發送一個ARP應答,其中包括自己的MAC地址。

當主機A 拿到這個回應的數據幀時候,就會將B 的mac 地址和ip 地址對應起來放到自己的arp 表里面。

同時交換機也會去學習到A 和B 的mac 地址

 


免責聲明!

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



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