數據包的轉發流程


數據包的轉發流程

 

環境是三層交換機有兩個網段,10.0.0.1/24和192.168.0.1/24,pc1是10段的,pc2是192段的。pc1要與pc2通信。過程如下
1.pc1將要與pc2通信,首先根據網卡的ip地址與掩碼算出pc2是否與pc1是同網段,如果是同網段直接二層轉發,如果不是將跨網段轉發
2.pc1算出pc2和自己不是同網段,所以要將數據包發送到網關由網關進行三層尋址轉發。
3.pc1到網關為二層轉發,也就是數據幀轉發,數據幀轉發需要知道對方mac地址,首先pc1會讀電腦的arp緩存,看是否有網關ip與mac地址的對應關系,如果有將直接封裝幀轉發;如果沒有將使用arp協議也就是廣播,攜帶自己的ip地址與mac地址,目的地址為網關ip,mac地址為ffff-ffff-ffff。網關收到此arp廣播后,將回復pc1自己的mac地址,數據包為源網關ip和mac地址目的為pc1ip和mac地址。
4.pc1收到數據包后會將此ip和mac地址寫入到電腦的arp緩存表里,並直接封裝數據包,三層ip頭為源pc1-ip,目的為pc2-ip,二層幀格式為源pc1-mac,目的為網關mac地址(記住此包頭)。
5.網關將收到pc1發來的數據包,進行拆包,根據其目的ip地址進行尋址(路由表),找到對應的路徑(也就是192段vlan)。
6.三層交換機會根據其目的ip地址進行本機的arp緩存查找,如果查找到ip和mac地址的對應關系將直接封裝轉發,如果沒有交換機將發送arp廣播包獲取目的ip地址的mac地址(廣播包將只發送192段vlan,其他vlan不廣播)。
7.三層交換機得知pc2-mac地址后將轉發數據,三層包頭為源pc1-ip,目的為pc2-i,二層幀包頭為源192段網關mac,目的為pc2-mac。
8.pc2將收到三層交換發來的數據包,進行拆封即可獲取數據,並回復pc1過程同上。

三層交換機等同於路由器。也就是說源ip和目的ip在數據包里一直不變(不經過nat的情況),mac地址將時刻改變。廣播只存在二層。三層情況下是路由尋址。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM