2016年9月1日 星期四

封包傳送MAC和IP的變化


我們來看PC1想要PING到PC2的話,在傳送的時候,封包經過了哪些變化。



首先PC1發現要傳送的目的地跟自己的網段不同,所以要找Gateway幫忙,因為實體傳送都是透過MAC,但又沒有Gateway的MAC,所以在傳送之前要發一個ARP封包,用IP來找MAC,因為是廣播封包,所以交換器收到之後會往所有PORT丟,R1收到之後,發現要問的是自己的IP,會要回覆它的MAC是多少。



交換器在封包進入的時候會記錄來源的MAC,根據MAC TABLE傳送。



PC1帶它的MAC傳送給Gateway R1(e0/0)的MAC,來源和目的IP為192.168.1.1和192.168.2.1。



R1收到一個封包發現MAC是自己的,所以查看路由表要到 192.168.2.0/24 往10.0.0.2送,封包從e0/1這個介面出去,由於在設定路由的時候,它就已經用ARP問過了,我們有MAC這裡直接傳送,R1(e0/1)帶它的MAC傳送給R2(e0/1),來源和目的IP為192.168.1.1和192.168.2.1。



R2收到一個封包發現MAC是自己的,所以查看路由表發現 192.168.2.0/24 就在自己身上,封包從e0/0這個介面出去,因為實體傳送都是透過MAC但R2因為沒有PC2的MAC,在傳送之前要發一個ARP封包,用IP來找MAC,然後PC2收到之後,會回復它的MAC是多少。



R2(e0/0)帶它的MAC傳送給PC2的MAC,來源和目的IP為192.168.1.1和192.168.2.1,封包有去有回,回去的方向動作就剛好顛倒,依此類推。

結論:
其實封包傳送就像寄信一樣,下一跳(Next Hop)就是郵件經過轉送的郵局,比方說你要從台北寄信到東京,不可能直接寄到,會經過台北郵局->桃園機場郵局->羽田機場郵局->東京郵局,交換器就像郵差,郵差只是幫你把信拿到郵局,所以不會改變信件,郵局收到之後先蓋上自己的郵戳,然後根據目的地的不同蓋上下一站的郵戳,最後轉送到對方手上,但是來源和目的地(IP)一定要一樣,不然就送不到了,中間會改變的只有信封外的郵戳(MAC)而已,信(DATA)從頭到尾都在信封中沒有變過。

沒有留言:

張貼留言