27
ARP and RARP 靜靜靜靜靜靜靜 靜靜靜 靜靜靜 2006

ARP and RARP

  • Upload
    lumina

  • View
    54

  • Download
    1

Embed Size (px)

DESCRIPTION

ARP and RARP. 靜宜大學資工系 蔡奇偉 副教授 2006. 大綱. 簡介 ARP RARP. 簡介. IP 位址是一種邏輯位址 (logical address) , Internet 上的電腦利用它來辨認彼此的身分。 然而,封包最終還是得經過實體網路才會到達目標電腦或路由器。在實體層,電腦與路由器是以實體位址 (physical address) 來做身分的辨認。 - PowerPoint PPT Presentation

Citation preview

Page 1: ARP and RARP

ARP and RARP

靜宜大學資工系蔡奇偉 副教授2006

Page 2: ARP and RARP

大綱簡介 ARP RARP

Page 3: ARP and RARP

簡介

IP 位址是一種邏輯位址 (logical address) , Internet 上的電腦利用它來辨認彼此的身分。 然而,封包最終還是得經過實體網路才會到達目標電腦或路由器。在實體層,電腦與路由器是以實體位址 (physical address) 來做身分的辨認。

實體位址與邏輯位址為不同的辨認代碼,實體網路可以支援兩種不同網路層協定 ( 如 IP 及 IPX) ,相反地,網路層的 IP 封包也可以經過不同的實體網路 ( 如乙太網路或 LocalTalk) 。

Page 4: ARP and RARP

這表示將封包送到一台電腦或路由器,需要邏輯層及實體層的定址。因此,我們必須在邏輯位址與實體位址兩者之間建立一種對照關係。

位址解析協定 (Address Resolution Protocol, ARP) 和反向位址解析協定 (Reverse Address Resolution Protocol,

RARP) 就是用來提供上述的對照關係。

Page 5: ARP and RARP

下圖顯示 ARP 與 RARP 在 TCP/IP 協定組的位置:

Page 6: ARP and RARP

ARP

ARP 將一個 IP 位址關聯到它的實體位址。當一台主機,需要在同一實體網路上的目標主機的實體位址時,它就以廣播的方式送出一個 ARP 詢問封包 (query packet) ,如下圖所示:

141.23.56.23

Page 7: ARP and RARP

在這整個網路上的每台電腦或路由器都會收到這個 ARP 詢問封包,但是只有預定的接收者才會以單點傳送方式送回一個 ARP 回應封包 (response packet) 。回應封包包含接收者的 IP 位址及實體位址,如下圖所示

Page 8: ARP and RARP

Figure 7-4

ARP 封包的格式

Page 9: ARP and RARP

■ 硬體種類 (Hardware type)

這是一個 16 位元欄位,定義跑 ARP 協定的網路種類,每種區域網路依其類別被賦予一個整數值。例如,乙太網路為 1,

ARP 可以用在任意一種實體網路上。

■ 協定種類 (Protocol type)

這 16 位元定義協定類別。例如, IPv4 協定以 080016 代表。ARP 可與其他任意一種高層協定搭配使用。

■ 硬體長度 (hardware length)

本欄為 8 位元定義實體位址的長度,單位是位元組。譬如,若是乙太網路的話,其值為 6

Page 10: ARP and RARP

■ 協定長度 (Protocol length)

本欄為 8 位元定義邏輯位址的長度,單位是位元組。例如,以 IPv4 協定而言,其值為 4 。

■ 運作 (Operation)

這是一個 16 位元欄位,定義封包的種類。目前有 ARP 要求 ( 其值為 1 ) 與 ARP 回應 ( 其值為 2) 兩種封包。

■ 送出者硬體位址 (Sender hardware address)

本欄不固定長度,定義送出者的實體位址。如為乙太網路,本欄為 6 個位元組長。

Page 11: ARP and RARP

■ 送出者協定位址 (Sender protocol address)

本欄不固定長度,定義送出者的邏輯位址。如為 lP 協定,這個欄位為 4 個位元組長。

■ 目標硬體位址 (Target hardware address)

本欄不固定長度,定義目標者的實體位址。如為乙太網路,本欄為 6 個位元組長。對 ARP 要求封包而言,這個欄位全部為 0 ,因為送出者不知道目標的實體位址。

■ 目標協定位址 (Target protocol address)

本欄不固定長度,定義目標者的邏輯位址 ( 如 IP) 。以 IPv4 協定而言,這個欄位為 4 個位元組長。

Page 12: ARP and RARP

Figure 7-5

封裝 (Encapsulation)

ARP 封包直接被包在資料連接層的訊框裡。如下圖所示,乙太網路的訊框將 ARP 封包包起來。注意,訊框的 Type 欄值是 0x0806 ,代表所攜帶資料是一個 ARP 封包。

Page 13: ARP and RARP

ARP 的運作

1. 送出者先決定出目標的 IP 位址。我們稍後會說明送出者如何得到目標的 IP 位址。

2. IP 要求 ARP 建立一個 ARP 要求封包,將送出者的實體位址、 IP 位址及目的 IP 位址填入其中,而目的實體位址則填入 0

3. 將該 ARP 訊息送到資料連接層封裝成訊框,使用送出者的實體位址為來源位址,以實體廣播位址為目的位址。

Page 14: ARP and RARP

4. 在該實體網路上的每台電腦或路由器都會接收到這個訊框,因為它的目的位址是一個廣播位址。各個站由訊框中取出訊息送給各自的 ARP ,除了目的電腦以外,其他都將此訊息丟棄,目的機器認識自已的 lP 位址。

5. 目的機器以一個 ARP 訊息回應,其中包含自己的實體位址,這個回應訊息使用單點位址來傳送。

6. 原來的送出者從收到回應訊息中得知目標機器的實體位址。

7. 現在,送往目標機器的 lP 資料包都可以組裝成訊框,以單點位址傳送到目的地了。

Page 15: ARP and RARP

Figure 7-6:a

使用 ARP 服務的狀況有以下四種 :

Case 1:

送出者主機想要送封包到在同一網路上的另一台電腦。在這種情況下,要對應到實體位址的邏輯位址就在資料包標頭的目的 IP 位址。

Page 16: ARP and RARP

Figure 7-6:b

Case 2:

送出者主機想要送封包到在另一個網路上的一台主機。送出者先在自己的路徑表中找出到目的地的下一站路由器 lP

位址。如果它沒有路徑表,它就找預設路由器的 lP 位址,如此所得路由器的 IP 位址就是要對應到實體位址的邏輯位址。

Page 17: ARP and RARP

Figure 7-6:c

Case 3:

送出者為一路由器,它接收到一個目的地在另一個網路的資料包。該路由器檢查其路徑表,並找出下一個路由器的lP 位址,這個 IP 位址即為對應到實體位址的邏輯位址。

Page 18: ARP and RARP

Figure 7-6:d

Case 4:

送出者為一路由器,它接收到一個資料包,這個資料包的目的地主機在相同的網路上,該資料包的目的 IP 位址即為對應到實體位址的邏輯位址。

Page 19: ARP and RARP

某主機 IP 位址為 130.23.43.20 ,其實體位址為0xB23455102210 ,有封包要送到另一主機其 IP 位址為 130.23.43.25 ,實體位址是 0xA46EF45983AB 。這兩台電腦在相同的乙太網路上。試寫出封裝在乙太訊框內的 ARP 要求及回應封包。

範例範例

Page 20: ARP and RARP

ARP 要求包封

Page 21: ARP and RARP

Figure 7-7: reply

ARP 回應包封

Page 22: ARP and RARP

RARP

RARP 用來解決一台只知道自己實體位址的機器,但不知道邏輯位址的問題。

每台電腦或路由器可被給予一個或一個以上的 IP 位址。 IP

位址通常可從存在硬碟的組態檔案中取得。

然而,如果是一台無硬碟機器,它通常是由 ROM 開機。 ROM 裡只含有必要的開機程式, ROM 由電腦製造者提供,無法包括 IP 位址,因為 IP 位址通常由網路管理者分配。

這種無硬碟機器,可以經由其網路卡而知硬體位址,然後可以使用 RARP 協定,藉由實體位址去得到 IP 位址。

Page 23: ARP and RARP

RARP 訊息是以廣播方式送到區域網路上,網路上的某台機器知道所有的 IP 位址,會回一個 RARP 的回應訊息,所以要求的機器要跑一個 RARP 用戶端程式,而回應的機器要跑 RARP 的伺服端程式。

Page 24: ARP and RARP

RARPoperation

Page 25: ARP and RARP

RARP 封包的格式

註: RARP 封包的欄位意義與 ARP 封包相同。

Page 26: ARP and RARP

Figure 7-12

封裝

Page 27: ARP and RARP

RARP RARP 的代替方案的代替方案

當一台無硬碟機器開機時,它所要求的訊息不只是 IP 位址,它還需要子網遮罩、路由器的 IP 位址、名稱伺服器的 IP 位址。 RARP

無法提供這些額外的訊息。

以後,我們會介紹兩種新協定: BOOTP 及DHCP ,可以用來取代 RARP 。