假設主機A連接至交換機接口eth0/1,主機B連接至交換機接口eth0/2
主機A 192.168.0.1----------Switch eth0/1
主機B 192.168.0.2----------Switch eth0/2
主機A向主機B發送ICMP請求時,
1. 主機A查詢本地ARP緩存,查找192.168.0.2 對應的MAC地址,進行以太網幀的封裝;
2. 若主機A的ARP緩存沒有此記錄,則主機A會進行ARP請求,ARP協議同IP協議一樣,也是3層協議,會發送一個ARP請求分組,該請求分組包含 主機A的IP和MAC地址, 主機B的IP地址。
該ARP請求分組被封裝在一個目的MAC為全F的廣播幀內。
3. 接收到廣播幀后交換機會直接向除A以外的所有主機發送該廣播幀(即洪泛),而不進行MAC地址查詢。(若交換機接收到的是單播幀,但MAC地址表里沒有記錄,交換機也會進行泛洪,也就說主機的廣播幀和未知單播幀,交換機都會進行泛洪,洪泛的兩種情況)
4. 當主機B接受到此數據幀后,查看ARP請求的內容發現目標主機是自己,則會進行ARP響應
5. 當該數據幀到達交換機后,交換機記錄MAC地址與IP的對應關系進入MAC地址表;
6. 交換機查詢該數據幀的源MAC地址,查詢MAC地址表發現主機A連接在eth0/1口上,則向該接口發送ARP響應的數據幀
7. 主機A收到ARP響應后,獲取主機B的MAC地址,將IP和MAC地址存入ARP緩存,並封裝報文向主機2 發送數據報。
注意:主機通訊過程中雖然是用IP地址進行ping操作,但是在數據轉發層面是通過交換機在二層查看MAC地址進行通訊的,所以判斷數據通訊是二層還是三層,是根據數據轉發是通過MAC地址還是IP地址進行轉發的。
簡單說就是看數據轉發平面工作在二層還是三層。
問題:第二和第三步中,當主機ARP緩存無對應IP的MAC地址后,向交換機發送廣播幀,交換機直接進行洪泛會造成什么影響?
當眾多ARP請求或未知單播幀出現的時候,會造成多個洪泛的出現,進而帶來廣播風波(即不停的有廣播幀進行洪泛)
廣播幀能夠達到的范圍稱之為廣播域,一個交換機或者多個交換機構成的交換網絡就是一個廣播域;
為了減少廣播風暴的影響,顯示中所采用的方法是縮小廣播域,使得廣播域內的主機數量減少。
以太網02將介紹 解決問題的技術手段-VLAN