路由器是否需要下一跳的 MAC 位址來傳送封包,或者下一跳的 IP 位址是否足夠?

路由器是否需要下一跳的 MAC 位址來傳送封包,或者下一跳的 IP 位址是否足夠?

當封包轉換為訊框時,它會獲得「目標硬體位址」、「來源硬體位址」、「乙太網路類型欄位」或「長度」、「資料欄位」和「訊框校驗序列欄位」。

現在,在這個特定的時刻,如果目標主機在本地網路上,那麼網路層的IP會透過ARP請求本地主機的硬體位址,一旦接收到,硬體位址就會被傳遞下來到資料鏈結層,以便將其轉換為幀並在物理鏈路上進行可信傳輸。

但是,如果封包的目的地是遠端主機,那麼它將如何取得預設網關(或下一個路由器)的硬體位址?因為每次資料包在路由器之間發送時,都會被資料鏈結層轉換為訊框。並在接收路由器處將資料包剝離。那麼,資料鏈結層將從哪裡獲取預設網關(路由器)的硬體位址來填充“目標硬體位址”字段,就像在本地主機的情況下一樣?

答案1

每個路由器的工作是將封包傳送到下一個路由器。為此,只需要下一個路由器的硬體位址。您不需要進一步了解系統的硬體位址(甚至硬體類型)。

典型的終端節點只需要其 LAN 上其他機器的硬體位址,因為這些是它向其發送第 2 層封包的唯一機器。對於以太網,它使用 ARP 來獲取此資訊。

答案2

那麼,資料鏈結層將從哪裡獲取預設網關(路由器)的硬體位址來填充“目標硬體位址”字段,就像在本地主機的情況下一樣?

來自與本機主機相同的地方-作業系統。乙太網路幀頭,包括目標位址,由作業系統,而不是任何較低層。

作業系統可以從其路由表中得知目的地需要是網關,對網關的IP位址執行ARP或ND,並製作具有網關鏈路位址的乙太網路幀,同時在IP標頭中保留原始目標主機。

「資料鏈路層」僅將其傳輸到指定的目的地。

相關內容