數據包是如何到達目的地的

當書本看到IP原理的時候,這個時候我就有點懵了,無法從統一的高度去看待這個問題了。所以抓狂了幾天,後來靜下心來想了想,又重新看了看書。發現這個問題我已經想明白了。

以最簡單的拓撲圖來看

PC A----Router 1--------Router 2---------PC B

PC A和PC B通信,此時跨網段了,需要用到IP協議,經過了兩個路由轉發。

 

規則1:OSI參考模型每一層都會加一個頭。

解釋:那麼,當使用TCP/IP通信的時候,PC A發出包頭就是這樣的,網絡層打上帶有PC B 的IP地址的頭(叫目的IP地址,當然這個IP頭裏還會有源IP地址),交給下一層,下一層的數據鏈路層(或者叫網絡接口層)再在前面打上MAC的頭,(既有源MAC地址又有目的MAC地址,目的MAC地址爲Router1的MAC),交給Router 1。

規則2:路由主要是運行在網絡層的設備

解釋:Router 1 拿到這個包之後解開到網絡層發現這個IP不是自己的,然後查詢到,將這個包扔到Router 2上能離PC B越來越近,那麼Router  1對這個包目的IP地址不做更改,而在交到下面的數據鏈路層的時候對目的MAC地址更改了,更改爲Router 2的MAC地址,然後將這個包扔到了Router 2上。

Router2拿到包之後發現目的IP是PC2,並且在自己的一個口上,那麼它改變目的MAC,不改變目的IP,封裝完成後把包扔到PC2 的口上去了。PC2再一層一層解開數據。

 

注意:此處不涉及NAT(網絡地址轉換)技術,如果涉及NAT的話,那麼進出路由器都會引起源IP和目的IP的一定關係的更改。

 

不曉得對不對,如果我寫的不對的話 請各位大俠指正

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