130 likes | 294 Views
A Reverse Address Resolution Protocol RFC#903. 指導老師 梁德昭 博士 報告者 曹元良 1999/10/19. RARP 簡介. 位址反解析協定 屬於 TCP/IP 架構之 連線服務 Layer 將硬體位置 ( hardware address) 映射成 IP 位置 ( protocol address). 32位元 IP address. ARP. RARP. 48位元 乙 太網路 Address. 硬體位置.
E N D
A Reverse Address Resolution ProtocolRFC#903 指導老師 梁德昭 博士 報告者 曹元良 1999/10/19
RARP 簡介 • 位址反解析協定 • 屬於TCP/IP架構之連線服務Layer • 將硬體位置(hardware address)映射成IP位置(protocol address) 32位元IP address ARP RARP 48位元乙太網路Address
硬體位置 • TCP/IP利用IP位址定址(高階),其下層的通訊介面也有自己的定址方式(低階),其位址稱作硬體位址(MAC Address),例如,48位元(6Bytes)的Ethernet位置hh:hh:hh:hh:hh:hh • 前24位元為製造廠商編號 • 後24位元為網路卡編號 • IP位址必須轉換成硬體位址,才能跟網路介面溝通--ARP協定 • u*ix -- ifconfig -a / arp -a • win98 -- winipcfg / arp -a
何時使用RARP • 無磁碟工作站、X終端機啟動時,不像有磁碟的機器,能讀取磁碟上的設定檔來取得IP位址 • 無磁碟工作站從網路介面卡上(Boot ROM)讀取自己的硬體位址,然後廣播RARP的請求,再由同一實體網路上的RARP Server回應告知自己的IP位址(reply封包只針對請求的介面,非廣播)
8 16 24 31 0 0x0800 1 HARDWARE TYPE PROTOCOL TYPE 4 1- 4 H LEN OPERATION 6 P LEN SENDER HA (octets 0-3) SENDER HA (octets 4-5) SENDER IP (octets 0-1) SENDER IP (octets 2-3) TARGET HA (octets 0-1) TARGET HA (octets 2-5) TARGET IP (octets 0-3) RARP封包格式 • 同ARP封包格式 (28 octets) • Field OPERATION specifies an RARP request (3) , or RARP response (4)
RARP Server 實作 • When the opcode is 3 (‘request reverse’) • Sender HA is 發送需求封包介面的硬體位址 • Sender PA is undefined. • Target HA is ff:ff:ff:ff:ff:ff • Target PA is undefined. • When the opcode is 4 (‘reply reverse’) • Sender HA is the responder的硬體位址 • Sender PA is the responder的IP address. • Target HA is 發送需求封包介面的硬體位址 • Target PA is 發送需求封包介面想要詢問的IP address
RARP Server 實作 (Cont.) • RARP Server 收到request 時會比對該Client的hardware address 在/etc/ethers中,所對應的hostname • for example (/etc/ethers) • 2:60:8c:48:84:49 hazel • 0:0:c0:a1:5e:10 hickory • 0:80:c7:aa:a8:04 herbert • 8:0:5a:1d:c0:7e anderson
RARP Server 實作 (Cont.) • RARP Server 再將對映出的hostname,比對/etc/hosts檔或是DNS,已找出該hostname對應的IP address,最後將IP address填入reply的packet 傳送給發送需求的系統 • for example (/etc/hosts) • hazel 163.13.200.40 • hickory 163.13.200.32 • herbert 163.13.200.193 • anderson 163.13.200.222
RARP Server的困境 • ARP 無Client、Server之分,可輕易於系統核心實作達成 • RARP觀念簡單,但實作困難複雜 • 系統核心不讀取分析硬體位址與IP位址之對映檔(etc/ethers),需以使用者程序來取得 • RARP請求是以鏈結層的廣播送出,無法由路由器轉送
RARP Server的困境(Cont.) • 通常在一實體網路區段內會架設多部RARP Server,來減低原Server的負擔 • 但是每一RARP Server 都會對RARP的請求做出回應,而發出請求的工作站只使用第一個收到的RARP回應,增加了乙太網路的碰撞發生機率 • RARP Server 僅提供IP address,仍有許多資訊沒有提供,需要手動configure • BOOTP更具有彈性,能提供更多資訊
The other way to assign IP address - BOOTP • BOOTP (啟動協定) RFC#951 • 使用UDP,通常與TFTP共同運作 • BOOTP 的 request and reply封裝在UDP的datagram 裡 • 包含IP address、Gataway address 、MAC address、server hostname、Boot file name… • 可透過Router(BOOTP Server Proxy)傳遞,解決了RARP在鏈結層廣播的缺點
The other way to assign IP address - DHCP • Dynamic Host Configuration Protocol • DHCP 提供Client 來取得所有的網路設定資訊,包括(IP address、subnet mask、gateway etc.) • DHCP 提供Client 動態且快速地取得IP address。