計算機網路 p1 ping p2過程詳解

2021-09-20 04:24:47 字數 3588 閱讀 3850

p1 ping p2過程分析

pc1的ip位址為1.1.1.1,pc2的ip位址為1.1.1.2,兩者通過交換機sw1連線。

在pc1上ping pc2,即pc1向 pc2發起icmp請求。此時pc1上生成乙個icmp請求報文,來判斷pc2的存在性(根據資料報封裝原理,要生成icmp請求需要有目的ip位址和目的mac位址,此處即pc2的位址,其中pc2的ip位址是pc1上發起ping時我們寫入的。因此需要找到pc2的mac位址即可。

即:pc1若要將這個icmp協議封裝的請求傳送給目標主機pc2就必須要使用ip協議來「運輸」該請求。這樣,ip協議這個時候就充當了乙個郵差的角色,將icmp這個資料報寫上傳送者(pc1)的ip位址和接收者(pc2)的ip位址,然後就可以根據這個目標位址(pc2的位址)來「投遞」這個資料報了)。

在pc1封裝的時候pc1會檢視自己的arp表中是否有pc2的mac位址,由於是乙個新連線的網路,pc1發現自己沒有pc2的mac位址,但是icmp請求報文又必須需要。

1)pc1會生成乙個arp請求包,請求pc2的mac位址(pc1觸發arp協議來請求pc2的mac位址,補全自己的arp表項)。arp請求包的目的mac(dst mac)為全f,全f的mac位址是廣播mac,能在自己的廣播域中達到任何乙個網口上,arp請求包廣播出去後到達交換機sw1。

2)sw1收到arp請求包:

先把pc1的mac位址,新增到自己的mac表中,以方便**需要(交換**屬於鏈路傳輸層**,主要依靠mac表,讓到達不同mac位址的資料報在對應的介面上轉達出去)。

然後發現此arp請求中目的mac為廣播mac,sw1將報文從除feth10口之外的其餘介面廣播出去到達pc2 。

3)pc2收到arp請求包,對此資料報進行解析(檢視arp資料部分)

先把pc1的mac,加入自己的arp表中。

檢視arp請求包的請求資料部分。

若被請求mac(target mac address)對應的ip位址(target ip address)是自己的,則pc2生成對應的arp應答包以單播方式回應pc1的arp請求;

若pc2檢視到收到的請求位址不是自己,pc2只更新自己的arp表不進行回應。

4)pc2發出的arp應答包到達sw1,將此arp應答包從feth10傳送出去。

首先sw1更新自身mac表,新增pc2的mac位址。

然後sw1需要**此arp應答包。此包為單播包,sw1需要查自身的mac表找到對應的介面**。由於在arp請求包經過sw1時已經新增了pc1的mac位址,在mac表項中能夠找到對應的**介面:feth10。

5)pc1收到目的mac位址為自身的此arp應答包,進行解封裝。

首先pc1記錄pc2的mac位址新增到自身的arp表中。

沒有完成的icmp請求包就可以在自身的arp表中找到pc2的mac位址從而繼續封裝icmp請求報文。

6)sw1收到pc1發來的icmp請求包,從feth11傳送出去給pc2。

sw1先查詢自己的arp表

發現目的mac在自己的arp表中對應的介面為feth11

將icmp請求包發出去。

7)pc2收到icmp請求包,回應pc1的詢問。

pc2檢視icmp請求包

發現目的mac為自己,將包解封裝,發現目的ip是自己的。

繼續解封裝,發現這是乙個icmp請求包,檢視自己是否存在。

pc2作為乙個正常電腦,生成對應的icmp應答包回應pc1。

8)sw1查詢自己的arp表,將icmp請求包從feth10傳送出去到達pc1。

9)pc1收到icmp應答包

檢視icmp應答包,發現目的mac為自己的位址,將包解封裝,發現目的ip也是自己。

繼續解封裝,檢視資料部分正是pc2對自己的icmp請求包發出的icmp應答包。

10)pc1獲取應答資料產生螢幕顯示,告訴我們探測結果。

此時pc1 ping pc2就完成了。

pc1的ip位址為1.1.1.1 預設閘道器為1.1.1.254

pc2的ip位址為1.1.2.2 預設閘道器為1.1.2.254 閘道器位址均位於路由器r1上。

1)pc1向pc2發出ping,即pc1向 pc2發起icmp請求(此時需要pc1上封裝成乙個icmp請求報文,判斷pc2的存在性)。

2)pc1會生成乙個arp請求包,請求pc2的mac位址(新組的網路pc1上沒有pc2的mac位址,因此需要發出arp請求)。

對於pc1發出的arp請求包來說,dst mac為全f,全f的mac位址是廣播mac,能在自己的廣播域中達到任何乙個網口上。此時的組網是路由環境,pc1和pc2的掩碼運算後發現不是同一網段的位址,全f的dst mac到達r1上,r1是不支援**擴散。

需要pc1(發起端)對於探測不同網段ip位址時做出一定的判斷,pc1的icmp請求報文的目的mac只要封裝成閘道器的就足夠(體現出路由**環境端機要設定閘道器的必要性)。

3)pc1新增了路由器r1上feth10介面的mac(通過arp協議),封裝完成了icmp請求包。

icmp請求包的源位址自身的mac和ip,目的位址是閘道器的mac和pc2的ip。

4)r1收到pc1發來的icmp請求包,然後發乙個arp請求包。

r1檢視icmp請求包,發現目的mac為自己的mac位址

將包解封裝,發現探測的目的ip是pc2。

r1通過自己的直連路由**出去(r1上配置有pc2同網段的ip位址)

但r1並不知道pc2的mac,r1首先要發乙個arp請求包,詢問pc2的mac位址。

5)pc2收到r1的arp請求包,pc2發出arp應答包到達r1。

首先新增r1的mac到自己的arp表中。

然後檢視此arp請求包(發現是要請求自己的mac位址)

於是pc2封裝對應的arp應答包給r1(基於arp協議規則)。

6)r1收到arp應答包,對pc1發出的icmp詢問包進行路由**封裝。

首先新增pc2的mac到自己的arp表中。

然後根據生成的對應arp表項,繼續對pc1發出的icmp詢問包進行路由**封裝。需要通過pc2的直連路由從feth11發出到pc2(根據路由器r1的路由表可知)

此時該icmp詢問包的源位址是pc1的mac和ip,目的ip是pc2的ip不會變,目的mac變成了pc2的mac。

7)pc2收到icmp請求包,解封裝檢視自己是否存活,向pc1傳送icmp應答包

檢視icmp請求包,發現目的mac為自己

將包解封裝,發現目的ip也是自己

繼續解封裝,發現這是乙個icmp請求包,檢視自己是否存活。

pc2向pc1傳送icmp應答包(目的ip為pc1的ip,目的mac為閘道器mac,源ip為自己的ip,源mac是自己的mac)。

8)r1收到icmp應答包(pc2發來的),封裝好通過直連路由**給pc1。

此時arp快取表中已經有了pc2的mac。

然後檢視icmp請求包,發現目的mac為自己的mac位址

將包解封裝,發現目的ip為pc1的ip位址,通過自己的直連路由**出去。

r1將icmp應答包封裝好以後再**給pc1。

9)pc1收到icmp應答包

發現目的mac為自己的mac位址

開始將包解封裝,發現目的ip是自己的ip

繼續解封裝,發現pc2對自己發出的icmp請求包對應的icmp應答包。10)pc1產生屏顯告知pc2的探測結果。

10)此時pc1 ping pc2就完成了。

計算機網路 一 1 計算機網路簡介

1.2.網際網路發展 1.3.網際網路標準化 1.1.網路,網際網路,網際網路 先講一下計算機網路 network 就是將一台以上的計算機互連起來,互連的計算機之間可以實現通訊,實現資訊共享,這就是網路。那麼,什麼是網際網路,網際網路的英文是 internet,它的意思是 網路的網路 是乙個通用名詞...

計算機網路 1

最近在籌畫寫乙個聊天室,所有就了解了一些計算機網路方面的知識,就想著輸出一下 這兩天看到網路的很好的定義 用物理裝置將各個 區域網 相連組成更大的 區域網 資料鏈路層 最底層是資料鏈路層,它由裝置驅動和到底層物理媒介的硬體介面。資料鏈路層在物理鏈結上傳輸幀並處理來自接受者的確認。這一層可能會進行物理...

計算機網路 1

lan local area network 區域網。計算機近距離構成的小型網路。乙太網是區域網的一種技術。乙太網的最簡單的形式就是,一條乙太網電線連線數臺計算機。要傳輸的資訊在網線上以電訊號進行傳輸。在資料傳輸的過程中,有乙個問題。那就是我的目的計算機怎麼知道我的資訊就是傳給它的呢?這個依靠的就是...