跳至內容

位址解析協定

出自Taiwan Tongues 台語維基
於 2025年8月23日 (六) 12:20 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

位址解析協定(英語:AddressResolutionProtocol,縮寫:ARP)是一个通過解析網路層位址來走揣資料鏈路層位址的網路傳輸協定,伊佇咧 IPv 四中極其重要。ARP 頭仔佇一九八二年的 RFC  八百二六(徵求意見稿)中提出閣納入網際網路標準 STD 三十七。ARP 嘛有可能指是佇咧多數作業系統中管理其相關位址的一个行程。

ARP 是通過網路位址來定位 MAC 位址。ARP 已經佇足濟網路層佮資料鏈結層之間會當實現,包括講 IPv 四、Chaosnet、DECnet 和 Xerox PARC Universal Packet(PUP)使用 IEEE 八百空二標準,光纖分散式資料介面,X . 二十五,影格中繼和非同步傳輸模式(ATM), IEEE 八百空二孵三和 IEEE 八百空二孵一一標準上 IPv 四占多數流量。

佇咧 IPv 六中厝邊發現協定(NDP)用佇代替的位址解析協定(ARP)。

基本工能是

佇咧 TCP / IP 協定內底,傳輸層只關心目標主機的 IP 位址 + 埠頭的址 ( 因為這兩元素唯一的確定一个傳輸層的包愛互動的目的地,也即目標主機上的佗一个應用程式,比如講 UDP 包抑是 TCP 包 )。網路層會對傳輸層的包進行封裝形成 ip 包,網路層只關心目標機器的 IP 位址,並根據這个 ip 位址定址到網路頂懸的目的機器。佇咧乙太網路內底,IP 封包閣是予人封裝佇乙太網路影格內底,經過實體層 ( 也就是網卡 ) 傳送去網路頂懸,乙太網路影格又閣是根據 MAC 位址來定址到目的機器的網卡的 ( 區域網路中的所有機器的網卡攏會接收著這个影格,干焦這个影格目的按呢 MAC 位址佮家己網卡的 MAC 位址匹配的時陣,毋才會向網路協定棧交付該影格中的封包,抑若無網卡就是擲棄伊的影格 )。所以,仝一區域網路內底的一台主機欲和另外一台主機抑是交換機,路由器等進行網路通信的時,必須愛知影佮本機用網線連接著的,目標裝置彼爿的彼个網路介面的 MAC 位址 ( 也就是網卡的位址 )。這就致使佇乙太網路內底使用 IP 協定向下傳達 IP 包彼个時陣,IP 包含佇咧乙太網路影格內底,乙太網路影格是有家己的格式的,佇影格頭殼就需要添充目的機械 MAC 位址,到這个時陣 ARP 表內底無查詢著目的 ip 位址對應的 MAC 位址,所以主機會暫存這 ip 封包,因為主機拄仔接接著這个區域網路的時陣抑是重新啟動了後,是毋知影目的方的 MAC 位址的,若欲向目的機器傳送一个 ip 包,就需要先知影講目的機械的 MAC 位址,就愛需要一種方法,根據目的主機的 IP 位址,得著其他 MAC 位址,這个方法就是通過傳送一个叫做 arp 請求的封包 ( arp 封包嘛是予人包含佇乙太網路影格內底的,傳送的時,影格頭殼內底的目的 mac 位址填寫做零 xffffffff,表示佇咧本地的區域網路頂懸放送,按呢屬於這个區域網路的所有機器接收著一个廣播影格的時陣攏會共協定棧交這个影格中的封包,遮是 arp 封包 ) 廣播到該區域網路中,干焦做某台機器的 IP 位址佮該 arp 請求中的愛問的 ip 位址相仝時陣,彼台機器就才會共傳送方返回一个 arp 回應封包,這个回應包中就有包含進前欲問的機器的 IP 位址 + MAC 位址,在地主機接收著這个回應的 arp 封包了後,會提 ip 位址佮 mac 位址,記錄著一个叫做 arp 表的項內底,按呢就共目的主機的 ip 位址佮 mac 位址對應關係共記錄起來矣,隨揣著進前因為欠缺眼的 mac 暫存的封包,並且用乙太網路影格封裝伊,用該 arp 表示的項內底 mac 住址來填充影格頭殼內底的 MAC 位址域,做這个影格予傳送去區域網路中了後,目標機器網卡接收著這个影格了後,判斷講該 MAC 位址佮家己的 MAC 位址相仝,就會向頂懸層協定棧交這个影格中的封包,對而且資料會當交付,若其他的主機檢測著 MAC 位址佮本機無仝,會共這个影格擲捒。這就是 ARP 協定欲做的代誌。

另外咧,做傳送主機佮目的主機無佇仝一个區域網路中間,就算講知影對方的 MAC 位址,兩个嘛袂當直接通批,必須愛經過路由器來進行 ip 層的轉發才會使,因為路由器共這个區域網路進行了鍊路頂懸的隔離 ( 除非進行網路層次的顯示轉發,若無路由器袂共一个區域網路內面的乙太網路影格自動的斡發去到另外一个區域網路或者是外網路內底去,若是會當自動按呢轉斡,會當想像有偌恐怖,無效的廣播影格可能親像大水按呢淹無規个網路,予網路半遂,這也就是路由器的基本功能之一,隔離網路 ),所以現此時,傳送主機會共一个閘道器 ip 位址當做目的 ip 位址 ( 這是 ip 層決定的 ),遐爾仔通過 ARP 協定得著的將毋是目的主機的真實 MAC 位址,是一台會當通去區域網路外的路對器的 MAC 位址。所以後傳送主機發往目的主機的所有影格,攏會發往這个路由器,通過伊向外傳送。這款情形號做委託 ARP 抑是ARP 代理(ARP Proxy)

佇咧對等鏈路中無咧用 ARP,實際上佇對等網路中嘛無使用 MAC 位址,因為這類網路頂懸分別已經取得對捀的 IP 位址。

封包結構

位址解析協定的訊息風格誠簡單,干焦包含單一的地址解析請求抑是回應。ARP 訊息的長度攏著愛看頂下跤兩層住址的大細,上層位址由所使用的網路協定類型(通常是 IPv 四)決定,下層位址是由上層協定所使用的硬體抑是虛擬鏈路層的類型決定。訊息的報頭中包含著遮的類型以及對應的住址長度資訊,此外猶閣包括表示請求(一)佮應答(二)咧操作碼的。封包的有效負載做收發雙方的硬體位址、協定位址,總算四个位址。

為著欲共 IP 位址對映到四十八位元乙太網路位址用於傳輸,需要一个體現位址轉換協定的包格式。

乙太網路影格

  • 目標乙太網路位址:目標 MAC 位址。FF : FF : FF : FF : FF : FF(二進位全一)為廣播位址。
  • 源乙太網路位址:傳送方 MAC 位址。
  • 影格類型:以太類型,ARP 為零 x 八百空六。

ARP 報文

  • 硬體類型(HTYPE): 如乙太網路(零 x 一)、 分組無線網。
  • 協定類型(PTYPE): 如網際協定 ( IP )(零 x 八百)、 IPv 六(零 x 八十六 DD)。
  • 硬體位址長度(HLEN): 逐種硬體位址的位元組長度,一般為六(乙太網路)。
  • 協定位址長度(PLEN): 逐種協定位址的位元組長度,一般為四(IPv 四)。
  • 操作碼:一為 ARP 請求,二為 ARP 應答,三為 RARP 請求,四為 RARP 應答。
  • 源硬體位址(Sender Hardware Address,簡稱 SHA): n 個位元組,n 由硬體位址長度得著,一般為傳送方 MAC 位址。
  • 源協定位址(Sender Protocol Address,簡稱 SPA): m 個位元組,m 由協定位址長度得著,一般為傳送方 IP 位址。
  • 目標硬體位址(Target Hardware Address,簡稱 THA): n 個位元組,n 由硬體位址長度得著,一般為目標 MAC 位址。
  • 目標協定位址(Target Protocol Address,簡稱 TPA): m 個位元組,m 由協定位址長度得著,一般為目標 IP 位址。

ARP 協定的參數由網際網路號碼分配局(Internet Assigned Numbers Authority , 簡稱 IANA)負責標準化佮維護。

ARP 協定的以太類型做零 x 八百空六。這種類型出現佇乙太網路影格式內底的以太類型欄位。請注意區別此類型和 ARP 協定類型(PTYPE)。

報文格式

原理

佇每台安裝有 TCP / IP 協定的電腦抑是路由器裡攏有一个 ARP 緊取表,表里的 IP 位址佮 MAC 位址是一一對應的,如下表所示講。

以主機 A(一百九十二追一六八 . 三十八孵一空)向主機 B(一百九十二追一六八 . 三十八孵一一)傳送資料做例。

一 . 傳送資料的時陣,主機 A 會佇家己的 ARP 緊取表中走揣敢有目標 IP 位址。若揣著就知影目標 MAC 位址為(零-BB 鋪空芳六十二-C 二嬸二), 直接共目標 MAC 位址寫入去影格內底傳送就會當。 二 . 若佇咧 ARP 緊取表中無揣著相對應的 IP 位址,主機 A 就會佇網路頂懸傳送一个放送(ARP request), 目標 MAC 位址是「FF . FF . FF . FF . FF . FF」,這表示向仝一網段內底的所有主機發出按呢的詢問:「 一百九十二追一六八 . 三十八孵一一的 MAC 位址是啥?」 三 . 網路頂懸其他主機並無回應 ARP 詢問,干焦有主機 B 接收著這个影格的時陣,才向主機 A 做出按呢的回應(ARP response):「一百九十二追一六八 . 三十八孵一一的 MAC 位址是零-BB 鋪空芳六十二-C 二嬸二」,此回應以單播的方式進行。按呢乎,主機 A 就知影講主機 B 的 MAC 位址,伊就會當向主機 B 傳送的資訊。同時伊閣愈新家己的 ARP 高速緩衝記持體(ARP cache), 後改閣向主機 B 傳送的資訊時,直接對 ARP 緊取表里走揣就會當。


ARP 緊取表採用老化的機制,佇一段時間內若是表中的某一行無咧使用,就會去予人刣掉,按呢會當減少緊取表的長度,加緊查詢速度。

無回報的 ARP(gratuitous ARP), 伊是指主機傳送 ARP 查詢(放送)家己的 IP 位址,當 ARP 功能去予開啟或者是埠頭組態完成,主機向網路傳送無回報的 ARP 來查詢家己的 IP 位址確認位址唯一可用。作用:

一 . 咱確定網路內底敢有別个主機使用 IP 位址,若是有應答則產生錯誤訊息。 二 . 無回報的 ARP 會當做更新 ARP 緊取用,網路中的其他主機收著該廣播佇咧緊取中更新條目,收著該廣播的主機無論是毋是有存在的 IP 位址相關的條目攏會強制更新,若佇咧舊條目的時陣會共 MAC 更新為廣播包中的 MAC。

協定的分層

ARP 協定佇網際網路協定套件佮 OSI 模型的位置可能會造成混亂和爭議。佇咧 RFC  一千一百二十二干焦佇資料鏈路層講著 ARP 協定當並無說明協定對這種。一寡較舊的文件將 ARP 置於 OSI 的資料鏈路層,但是一寡新的版本煞共其實佮網路層聯絡起來。

參考資料

另見

  • ARP 欺騙(ARP spoofing)
  • NetCut

外部連結

  • RFC 八百二六:ARP 協定
  • RFC 一千一百二十二
  • RFC 八百二六:乙太網路位址轉換協定抑是轉換網路協定位址(中文)