在同一網段&不同網段下的Ping(史上最詳細)

來源:互聯網
上載者:User

通過direct與adress方式,路由表知道連接埠4對應的是1.1.1網段及對應的ip地址為1.1.1.2,連接埠5知道對應的網段是2.1.1網段及其IP地址為2.1.1.2,通過arp表,路由器可以知道自己4.5連接埠的mac地址對應的ip地址
主機A只知道本身的arp表中僅含有自己的ip地址對應的mac地址,其他B,C中也僅僅知道自己ip對應的mac這一表項
在同一網段下的ping(A---B):    在A ping B時:1.看主機B與主機A是否在同一網段(通過ip地址與子網路遮罩相與),此                              時發現A與B在同一網段。                         2.ping的時候只有知道B的mac地址,A的icmp請求報文才能到達B端,                            由於A的arp表中不知道B的mac地址,則A會發送一個arp廣播幀(目的  mac地址為ff-ff-ff-ff-ff-ff,源mac地址為A的mac:00-50-56-c0-00-01,幀類 型為arp0806(arp類型),硬體類型為1(乙太網路類型),協議類型為0800(ip),硬體地址長度:6(單位位元組),協議地址長度為:4(單位位元組),發送端乙太網路地址:A的mac地址,發送端ip地址為A的ip,目的乙太網路地址為全0(用來儲存B的mac地址,目的ip地址為B的ip),arp廣播幀到達交換器後,交換器學習了A的mac地址對應的連接埠為1,並將該arp幀從交換器2,3連接埠廣播, B收到arp幀後,發現幀中目的ip為本身的ip,則將自己的mac地址封裝在arp應答資料幀中,同時目的mac地址,源mac,目的ip,源ip等做相應的改變,發送到交換器,交換器查看應答arp幀中源mac地址,發現交換器mac地址表中 並無B的mac表項,則學習B mac地址對應的連接埠為3連接埠,查看應答arp幀發現目的mac為已經學到的A與1連接埠對應的表項,則將arp應答幀從1連接埠發到A。                           3.此時A的arp表已經有了B的ip地址對應的mac地址表項,此時發送                                  icmp request報文:二層頭部(封裝目的mac地址為B的mac,源mac為A的mac)+ip首部+icmp,icmp請求報文到達交換器後,交換器查看源mac地址為A的mac地址,之前已經學習到了該mac地址對應的連接埠為1,則更新該條的老化時間, 交換器查看arp幀中目的mac地址,之前已經學習到了目的mac地址(B的mac)對應的連接埠為3,則該icmp answer幀從3連接埠發送到B                          4.B收到該幀後去掉二層頭部,發現該幀的目的ip就是自己,返回一個icmp answer,將發送一個應答幀:二層頭(目的mac變為A的mac,源mac為B的mac)+ip+icmp answer 到達交換器後,交換器查看該應答幀的源mac地址對應的連接埠3表項已經存在mac地址表中,則更新該表項老化時間,交換器查看幀中目的mac為A對應的連接埠  1表項,則從1連接埠發送出去。 5,收到icmp報文,ping成功.

以上已經非常清楚的闡述了交換在此的詳細過程,在闡述A-路由器-C這條跨網段的鏈路ping時將忽略交換器過程。

跨網段的ping:
                 1.主機A查看路由表發現要想到達主機C則其下一跳地址為路由器4連接埠的ip地址,但此時並不知道連接埠4的mac地址。                  2.主機A發送arp請求報文(廣播),目的mac地址為ff-ff-ff-ff-ff-ff,源mac地址為A的mac,目的ip為連接埠4的ip,源ip為主機A的ip,到達連接埠4後,發現arp請求報文中目的ip地址為連接埠4自己的ip地址,則返回一個arp應答幀,該幀中儲存了4的mac地址,源mac變為連接埠4的mac,目的mac為A的mac,該應答幀到達A後,A的arp表中就存在了連接埠4的ip與mac地址的映射表項。                  3.此時A發送icmp報文,二層頭(源mac地址為A的mac,目的mac為連接埠4的mac)+ip(源ip為A的ip,目的ip為4的ip)首部+icmp request,icmp報文到達路由器連接埠4後,剝離二層頭,通過查詢路由表項,發現該資料幀的目的ip為連接埠5所直連的網段,但不知道C的mac地址,則從連接埠5向C發送一個arp請求,目的mac為ff-ff-ff-ff-ff-ff,源mac為連接埠5的mac,目的ip為C的ip,源ip為5的ip地址(通過直連路由得到,在路由表可查),該請求到達C後,C探索資料幀中目的ip就是自己的ip,則將C的ip對應的mac地址儲存在arp應答資料幀發送給連接埠5,此時目的ip為5的ip,源ip為C的ip,目的mac為5的mac,源mac為C的mac.                   4.連接埠5擷取arp應答資料幀後,就知道C的mac地址,則發送icmp報文,二層頭(目的mac為C的mac,源mac為5的mac)+ip+icmp request.C收到該幀後,剝離二層頭,發現目的ip就是自己的ip,則返回一個icmp answer,,發送時的資料幀:二層頭(目的mac地址為5的mac,源mac為C的mac)+ip+icmp answer 路由器5連接埠收到該幀的時候,剝離二層頭,尋找路由表,發現目的ip是路由器4連接埠所屬的網段一致,則從連接埠4封裝二層頭髮出去,此時二層頭中目的mac為A的mac(之前在路由器arp表中已經學到了目的ip對應的mac),源mac為路由器4連接埠的mac,                  5. 到達A後,剝離二層頭,發現目的ip為本身的ip,收到icmp answer報文,ping成功。


博主原創,一個字一個字敲的,轉載請註明來源。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.