簡體   English   中英

為什么數據包上同時有MAC和IP地址?

[英]Why both MAC and IP Address on a packet?

當其中一個足以識別源時,為什么在包中需要源ip地址和源mac地址的信息? 所有協議都需要它們嗎?

編輯:對不起,我忘了提到“包裝”。 我想知道從源到目的地的數據包傳輸時。 謝謝。

MAC地址是第2層地址,IP地址是第3層地址,端口是第4層地址。

MAC地址不在數據包頭中,它們在幀頭中。 數據包標頭中只有第3層地址。 端口位於段頭中。

MAC地址僅在LAN上有意義。 它們在幀頭中,並且幀在第3層邊界(路由器)處被剝離。 然后,路由器將第3層標頭與第3層地址一起使用,以將數據包轉發到下一個接口,在該接口中,路由器將為新的第2層鏈路構建具有新的第2層地址的新第2層幀。

在網絡內,僅IP地址就足夠了。 但是在不同的網絡中,路由器需要根據MAC地址來解析IP地址。 IP地址可以變化,但MAC地址是恆定的。 一台機器可以通過物理地址(即MAC)連接到另一台機器。

對於大多數TCP / IP協議,您都需要兩者。

您需要源IP地址,因為將得到答復。 在整個行程中,它將在包中保持恆定。 這也不必是有效的。 (例如IP地址欺騙。)

下一跳(路由器)將需要源mac地址,不能超過此范圍。 如果下一跳是您的首次訪問,它將使用您的IP地址和MAC地址相應地更新其路由表。

如果下一跳無法解析目標IP地址或找不到路徑,它將決定丟棄該數據包並通知您相同的信息。 但是,如果找到路徑並轉發數據包,則它將在源MAC地址字段中替換其自己的MAC地址。 但是在這種情況下,源IP地址保持不變。 (如果是代理,它也會更改。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM