PING 通信過程超詳細講解

PING 通信詳細過程

 PC1------------PC2 PC1IP:192.168.1.1 PC2IP:192.168.1.2

1、Pc1在應用層發起個目標IP為192.168.1.2的Ping請求。

2、傳輸層接到上層請求的數據,將數據分段並加上傳輸層報頭。下傳到Internet層。

3、網絡層接收來處上層的數據後,根據ICMP協議進行封裝,添加PC1的IP為源IP為和PC2IP為目標IP後封裝成數據包。下傳到網絡接口層。

4、數據鏈路層接收數據包後,進行封裝,源MAC地址為PC1的MAC地址,目標MAC地址則查詢自己的ARP緩存表獲取。如果PC1 arp緩存表中沒有目標IP對應的MAC地址,則PC1發出一個ARP廣播報文。ARP報文中源MAC地址為Pc1mac地址,源IP地址為pc1 IP,所要請求的是PC2的IP對應的mac地址。

PING 通信過程超詳細講解

5、PC2 收到 ARP廣播後,進行解封裝,發現所請求的MAC地址是自己的。則PC2將PC1的mac地址寫入arp緩存表中。然後向PC1發送一個 ARP應答單播。該單播消息包括目標IP為PC1ip,目標Mac為pc1mac地址,源IP為PC2的IP,源Mac為pc2的Mac。

6、Pc1接收到PC2的arp應答報文後,將Pc2的MAC地址存入arp緩存中,並將Pc2的Mac地址作為目標地址封裝到數據幀中。發給下層進行網絡傳輸。

7、PC2接收這個幀後,在數據鏈路層查看目標mac地址是否指向自己。是,PC2則將幀頭去掉,向上層傳輸。

8、Pc2網絡層接收到這個信息包,查看包頭,發現目標IP和自己匹配,則解封裝,將數據向上層傳輸。

9、傳輸層接收來自下層的Ping請求的UDP報文,則去掉UDP報頭,嚮應用層傳送。

10、應用層收到ping請求後,發送一個PIng回應報文給PC1

 PC1---F0/1-Switch-F0/24----PC2 PC1IP:192.168.1.1 PC2IP:192.168.1.2


1、Pc1在應用層發起個目標IP為192.168.1.2的Ping請求。

2、傳輸層接到上層請求的數據,將數據分段並加上UDP報頭。下傳到Internet層。

3、網際層接收來處上層的數據後,根據ICMP協議進行封裝,添加PC1的IP為源IP為和PC2IP為目標IP後封裝成數據包。下傳到網絡接口層。

4、網絡接口層接收數據包後,進行封裝,源MAC地址為PC1的MAC地址,目標MAC地址則查詢自己的ARP緩存表獲取。

如果PC1 arp緩存表中沒有目標IP對應的MAC地址,則PC1發出一個ARP廣播報文。ARP報文中源MAC地址為Pc1mac地址,源IP地址為pc1 IP,所要請求的是PC2的IP對應的mac地址。

PING 通信過程超詳細講解

5、交換機從F0/1 接收到ARp幀後,檢查自己Arp緩存表中是否有與F0/1相對應PC1mac地址。沒有,則將PC1Mac地址與F0/1接口對應起來,存儲到交換機的arp緩存表中。然後將該ARP請求報文進行除F0/1口以外的所有端口進行泛洪。

6、PC2收到ARP廣播後,進行解封裝,發現所請求的MAC地址是自己的。則PC2將PC1的mac地址寫入arp緩存表中。然後向PC1發送一個 ARP應答單播。該單播消息包括目標IP為PC1ip,目標Mac為pc1mac地址,源IP為PC2的IP,源Mac為pc2的Mac。

7、ARP幀F0/24口傳給交換機,交換機同樣檢查MAC表,然後將F0/24口與PC2的MaC地址對應起來,存入MAC緩存表中,然後轉發該幀。

8、Pc1接收到PC2的arp應答幀後,將Pc2的MAC地址存入arp緩存中,並將Pc2的Mac地址作為目標地址封裝到數據幀中。發給下層進行網絡傳輸。

9、PC2接收這個幀後,在網絡接口層查看目標mac地址是否指向自己。是,PC2則將幀頭去掉,向上層傳輸。

10、Pc2網際層接收到這個信息包,查看包頭,發現目標IP和自己匹配,則解封裝,將數據向上層傳輸。

11、傳輸層接收來自下層的Ping請求的UDP報文,則去掉UDP報頭,嚮應用層傳送。

12、應用層收到ping請求後,發送一個PIng回應報文給PC1

 PC1--F0/1-Switch1-F0/24---e0-Router-e1---F0/1-Switch2-F0/24---PC2 PC1IP:192.168.1.1 PC2IP:192.168.2.2


1、Pc1在應用層發起個目標IP為192.168.2.2的Ping請求。

2、傳輸層接到上層請求的數據,將數據分段並加上傳輸層報頭。下傳到網絡層。

3、網絡接收來處上層的數據後,根據ICMP協議進行封裝,添加PC1的IP為源IP為和PC2IP為目標IP後封裝成數據包。下傳到數據鏈路層,因Pc1ip與pc2ip不在同一網段,所以數據包將發往網關Router E0口。

4、數據鏈路層接收數據包後,進行封裝,源MAC地址為PC1的MAC地址,目標MAC地址則查詢自己的ARP緩存表以獲取網關MAC地址。如果PC1 arp緩存表中沒有網關對應的MAC地址,則PC1發出一個ARP廣播報文。ARP報文中源MAC地址為Pc1mac地址,源IP地址為PC1 IP,所要請求的是網關IP對應的MAC地址

5、交換機1從F0/1接收到ARP幀後,檢查自己Arp緩存表中是否有與F0/1口相對應PC1的mac地址。沒有,則將PC1Mac地址與F0/1接口對應起來,存儲到交換機1的arp緩存表中。然後將該ARP請求報文進行除F0/1口以外的所有端口進行泛洪。

6、Router收到ARP廣播後,進行解封裝,發現所要請求的MAC地址是自己的。則Router將PC1的mac地址寫入arp緩存表中。然後向 PC1發送一個ARP應答單播。該單播消息包括目標IP為PC1ip,目標Mac為pc1mac地址,源IP為Router的E0口IP,源Mac為 Router的E0的Mac。

7、ARP幀F0/24口傳給交換機,交換機同樣檢查MAC表,然後將F0/24口與Router的E0的MaC地址對應起來,存入MAC緩存表中,然後轉發該幀。

8、Pc1接收到Router的arp應答幀後,將Router的E0的MAC地址存入arp緩存中,並將Router的E0的Mac地址作為目標地址封裝到數據幀中。發給下層進行網絡傳輸。

9、Router的E0接收這個幀後,看目標mac地址是否指向自己。是,PC2則將幀頭去掉,然後檢查目標ip地址,發現這個目標ip不是自己,剛不再進行解封裝。

10、Router在自己的route表中檢查自己的是否有去往目標地址的路由,沒有則丟棄該幀。有,路由器經檢查發現是去往與E1口直連的網段。則路由 器對數據包進行二層封裝成幀,源IP為pc1的IP,源mac地址為routerE1口的Mac地址,目標IP為Pc2的ip,目標Mac地址則檢查自己 的arp緩存表獲取。如果沒有,則發送ARp請求報文。

11、交換機收到報文後也檢查ARp緩存表,然後存儲對應接口的MAC地址後進行除接收端口外的泛洪。

12、PC2收到ARP廣播後,進行解封裝,發現所請求的MAC地址是自己的。則RouterE1的mac地址寫入arp緩存表中。然後向PC1發送一個 ARP應答單播。該單播消息包括目標IP為RouterE1的ip,目標Mac為RouterE1的mac地址,源IP為PC2的IP,源Mac為pc2 的Mac。

13、ARP幀經F0/24口傳給交換機,交換機同樣檢查MAC表,然後將F0/24口與PC2的MaC地址對應起來,存入MAC緩存表中,然後轉發該幀。

14、RouterE1口接收到PC2的arp應答幀後,將Pc2的MAC地址存入arp緩存中,並將Pc2的Mac地址作為目標地址封裝到數據幀中,然後轉發。

15、Pc2網際層接收到這個信息包,查看包頭,發現目標IP和自己匹配,則解封裝,將數據向上層傳輸。

16、傳輸層接收來自下層的Ping請求的UDP報文,則去掉UDP報頭,嚮應用層傳送。

17、應用層收到ping請求後,發送一個PIng回應報文給PC1


分享到:


相關文章: