二層交換:
當同一網段的主機A要ping主機B時,首先會去找arp表項里是否有B的ip對應的mac,如果存在便可在mac地址表項里找到對應的出接口將icmp的請求報文發(fā)送出去,B收到后返回icmp的應答報文;如果arp表項找不到則會在本vlan內發(fā)一個廣播的目的mac為全f的arp報文,B收到后會返回一個arp應答報文,此時A知道了B的mac地址后,便可同上發(fā)送icmp報文。
三層轉發(fā):
當A發(fā)現(xiàn)要ping的主機B和自己不在同一網段,則需要先查找網關的mac地址,如果arp表項里不存在則發(fā)arp報文得到網關的mac地址然后將目的mac為網關mac的icmp報文發(fā)給交換機,交換機收到后發(fā)現(xiàn)目的mac和自己的三層接口mac一致,則進行三層轉發(fā)。因為三層交換機的ASIC芯片維護著一個硬件轉發(fā)表項,可通過這個表項直接硬件轉發(fā)出去,無需像路由器一樣需要上cpu通過軟件查找路由表并對數(shù)據(jù)包進行處理。話說回來,交換機第一次在硬件表項里查找失敗后才會上cpu路由轉發(fā),路由匹配后找到下一個出接口將報文轉發(fā)出去,此時更新硬件轉發(fā)表,下次就可以一次轉發(fā),多次交換地將報文快速交換出去。
icmp在三層轉發(fā)過程中,源ip和目的ip保持不變,源mac和目的mac都會變更。
ping時icmp的報文長度(98bytes)= 以太網頭(14bytes)+ IP頭(20bytes)+ICMP頭(8)+ ICMP數(shù)據(jù)內容(56字節(jié))
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請
點擊舉報。