兩個主機通信過程

主機A與主機B通信,A Ping B,:A-交換機-B,AB同一子網

(1)ping數據包用的是ICMP協議,IP協議的一個子協議,位於三層,包含AIPBIP,三層進行IP封裝成包,進入二層

(2)A,B處於相同子網,查看緩存中對與目的對應得B2mac地址,如果存在,直接進行第2層封裝成幀,經物理層信號編碼,以0101010010這樣的bits流傳輸在網絡介質上。

(3)如果不存在BMAC,則發送ARP廣播請求BMACARP數據包經物理層進入交換機端口,需要進行源端口號學習,目的端口查找,B響應ARP請求,交換機又可以學習一目的MAC地址與哪個端口對應,在下次傳送數據時就不再需要對所有端口進行廣播了。B通過ARP單播把BMAC響應給A,此時再返回(2)的處理過程。

(4)當再進行AB之間數據包轉發,將直接用BMAC地址封裝,數據轉發得以高速交換


主機A與主機C通信,A Ping C,:A-交換機-路由器M-路由器N-交換機-CAC不同子網

(1)兩個機器不在同一子網內,A要與目的C通信,A要向“缺省網關”發出ARP包,而“缺省網關”的IP地址已經在A系統軟件中設置。這個IP地址實際上對應路由器ME0IP地址。所以A對“缺省網關”的IP地址廣播出一個ARP請求時,路由器ME0口的MAC回覆給A,此時A數據包的目的MAC替換爲ME0MAC

(2)MAC替換後,經物理層,傳輸到交換機物理層,再傳到交換機數據鏈路層,再經數據數據鏈路層到物理層。

(3)bit流傳到路由器M的物理層,然後傳到數據鏈路層,二層解封裝,目的IP與路由器M三層IP路由表比較,若匹配正確,交給上層處理,否則會緩存數據包內容,然後根據目標地址查找路由表找到相關表項,得到NEXT HOP及出接口的MAC地址,用這兩個地址作爲新的目的及源MAC地址封裝事先緩存的數據包,然後轉發,這個過程稱爲幀的重寫(REWRITE

(4)重複進行MAC替換後, 在路由器N中,找到與目的IP匹配表項,若N中存在C對應的MAC表項,則數據傳輸到C網絡層,否則N發送ARP廣播請求CMAC

(5)C收到A的數據包後,再從AC進行一次反向MAC替換過程。反向過程中,每一步省略掉ARP請求NEXT HOPMAC,因爲MAC表已經建立起來。

總結:

IP報文傳輸過程包括:

1. Host sends packet to default gateway(主機將數據包發送到默認網關

2. Packet placed in frame(數據包被封裝入幀)

3. Router receives frame(路由器接到幀)

4. Router finds destination network in route table(路由器在路由表中發現目標網絡)

5. Router chooses next hop toward destination(路由器選擇一個更接近目標的下一跳)

6. MAC address of next hop determined(下一跳的MAC地址被確定)

7. Packet placed in frame(數據包被封裝入幀)

8. Repeats steps 2 through 7 as necessary(如果需要的話,重複步驟27

9. Router receives frame(路由器接到幀)

10. Router finds network directly connected(路由器發現直連網絡)

11. MAC address of end host determined(最終主機的MAC地址被確定)

12. Packet placed in frame to final destination(幀中的數據包被髮送到最終主機)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章