天天看點

TCP/IP卷一 閱讀筆記 RARP逆位址解析協定作用格式方式tcpdump指令執行個體逾時RARP伺服器習題

作用

通過MAC位址擷取IP位址,通常用于無盤系統地啟動。

通常IP位址被存儲在檔案中,是以無盤系統無法正常擷取IP位址,而是靠RARP協定通過網絡擷取IP位址。

格式

在以太網中,RARP請求格式如下:

TCP/IP卷一 閱讀筆記 RARP逆位址解析協定作用格式方式tcpdump指令執行個體逾時RARP伺服器習題

RAPR請求格式同ARP一緻,隻是某些位的内容需要變化。

幀類型:0x8035

操作字段op:請求為3,應答為4

方式

當一個主機需要将MAC位址映射為IP位址時,會以廣播的形式,向網絡上的所有主機發送RAPR請求,這點同ARP請求一樣。但是不一樣的是請求的響應。RAP請求隻會有一個主機響應,而RARP請求則會被目前網絡中的所有主機響應。是以,源主機可能會受到多條回複,此時,會以第一次收到的響應為準。

tcpdump指令執行個體

TCP/IP卷一 閱讀筆記 RARP逆位址解析協定作用格式方式tcpdump指令執行個體逾時RARP伺服器習題

第一行

第一行是發送者發送的資料。其中

8:0:20:3:f6:42

表示源主機MAC位址,而

ff:ff:ff:ff:ff:ff

表示廣播,該消息會發送給目前網路上的所有主機。 rarp表示該資料幀的資料類型為RARP,60表示消息長度為60。 後面的rarp表示rarp請求。

who-is 8:0:20:3:f6:42 tell 8:0:20:3:f6:42

,按照英足字面意思了解就是,告訴

8:0:20:3:f6:42

誰是

8:0:20:3:f6:42

,也就是說,

8:0:20:3:f6:42

的IP位址是多少。

第二行

開頭同第一行相同,但是資料長度卻是42,小于以太網幀長度。

這是因為tcpdump命夠擷取到這些資料是通過BSD分組過濾器在驅動程式處接收來的。而BSD會

rarpd(逆位址解析協定程式)

将帶有以太網幀資料頭和資料内容的資料傳回給tcpdump指令。此時,驅動程式還未像資料中添加空白的填充字元。

rarp reply表示該條消息是rarp應答。

8:0:20:3:f6:42 at sun

表示

8:0:20:3:f6:42

的IP位址是 sun,次處使用主機名代替了IP位址。

第三行

此例中的rarp操作時發送在無盤作業系統啟動時,當主機擷取到自己的IP位址後,就會通過TFTP請求,來請求讀取配置檔案,該條消息就是做的該操作。

逾時

rarp請求可能會逾時,由于rarp請求的作用是請求IP位址,而IP位址在網絡通信中是不能省略地,是以,rarp請求會被不斷地發送,直到獲得結果。

但是此過程中,逾時時間會在不斷變化,每次逾時後,逾時時間都會增加一個固定值,直至逾時時間超過某個門檻值後,又會變化為最小的逾時時間,如此循環。

RARP伺服器

RARP伺服器的作用就是為無盤系統系統提供從MAC位址到IP位址的映射。

但是,與ARP協定不同,MAC到IP的映射關系一般存儲在磁盤上的檔案中,是以RARP協定需要讀取檔案。但是核心一般是不會讀取檔案的,是以RARP伺服器不能像ARP協伺服器一樣作為核心的一部分,在核心中實作,而是需要通過使用者空間的應用程式來完成。

此時,就需要系統級别的支援,支援使用者空間的程序接收和發送特定的以太網幀資料,是以RARP伺服器的運作對系統擁有依賴性。

與RAP請求不同,ARP請求隻會有一個應答,而RARP請求則不同,如果網絡中存在多個個伺服器,則RARP請求就會被回複多次,不僅會導緻網絡中的流量增減,還可能會産生同時回複的網絡沖突問題。

習題

如何防止一個有多個RAPR伺服器的網絡上防止他們之間的響應沖突

為伺服器分級,有主伺服器和從伺服器。主伺服器用于回複RARP響應,當主伺服器當機時,RAPR請求會重複發送,而此時再由次RAPR伺服器回複。

也就是,主伺服器回複首次接收到的RARP請求,而次RARP伺服器回複重複的RAPR請求。

** RARP需要不同的幀類型字段嗎?ARP和RARP都使用相同的值0x0806嗎?**

理論上時不需要的,因為有OP字段描述了該條消息的類型。

但實際上時有的。

繼續閱讀