為什麼 DHCP 不基於 RARP 協議,而要基於 UDP 協議?

時間 2021-05-06 13:08:49

1樓:朝夕盼兮

主要原因有以下幾點:

一、需要資源少,在網路情況比較好的內網,或者對於丟包不敏感的應用。

DHCP協議就是基於UDP的。一般的獲取IP位址都是內網請求,而且一次獲取不到IP又沒事。又比如基於UDP的RTP,TFTP,丟一幀資料問題也不大。再比如一些裝置發現協議等等。

三、需要處理速度快,時延低,可以容忍少數丟包,但是要求即便網路擁塞,也毫不退縮,一往無前的時候。

四、QUIC是Google提出的一種基於UDP改進的通訊協議,其目的是降低網路通訊的延遲,提供更好的使用者互動體驗。

想要再詳細的了解這個東西,可以看下這位大神說的內容。

DNS原理分析及應用_嗶哩嗶哩 (゜-゜)つロ 乾杯~-bilibili

2樓:

DHCP是給客戶端分配IP位址,也就是在分配之前客戶端是沒有IP位址的,那DHCP基於UDP的話,UDP是要IP才能傳輸的,感覺有些矛盾啊,求解釋!!!

3樓:

你的這個問題提的有點問題,呵呵。

當我們說某個協議基於另外乙個協議的時候,一般來說被基於的這個協議一般是傳輸層的協議,比如DHCP基於UDP,Telnet基於TCP等,也就是說DHCP的協議報文是以UDP格式來封裝的,Telnet的協議報文是以TCP格式來封裝的。但是RARP不是乙個傳輸層協議,所以你不能說DHCP基於或是不基於RARP。

RARP在功能上有點類似於DHCP協議,確切的說DHCP是BOOTP協議的公升級,而BOOTP在某種意義上又是RARP協議的公升級。BOOTP和RARP的區別在於RARP是在資料鏈路層實現的,而BOOTP實在應用層實現的,當然作為BOOTP的公升級版DHCP也是在應用層實現的。這種實現層面的差別也從RARP和BOOTP/DHCP的報文封裝格式的差別上體現出來了,RARP直接封裝在乙太網幀中,協議型別置為0x0800以標識這個報文是ARP/RARP報文,BOOTP/DHCP報文是直接封裝在UDP報文中,作為UDP的資料段出現的。

從功能上說,RARP只能實現簡單的從MAC位址到IP位址的查詢工作,RARP server上的MAC位址和IP位址是必須事先靜態配置好的。但DHCP卻可以實現除靜態分配外的動態IP位址分配以及IP位址租期管理等等相對複雜的功能。這些協議的詳細介紹在經典名著《TCP/IP協議》中有較為詳細的描述,你可以找來看看。

為什麼模擬器上dhcp和nat的步驟都對,但是運營商和電腦就是不能互通呢?

xzf的小跟班 說實話,只貼Router13看的挺費力的,而且你至少要把交換機0和2做乙個簡單的說明嘛,是核心,還是匯聚。反正至少我沒看到你Router13上有閘道器。我能提出的見解是,別的不說,光是你Router13上的2個DHCP就有問題。IP dhcp pool name 代表建立乙個命名為N...

為什麼無棧協程不能被非協程函式巢狀呼叫?

Ethan Lv 思考了下,發現我在幾個小時前提出這個問題的時候,對 stackful 和 stackless 的理解是不太到位的,當然現在也依然不太到位。只能簡單說下我的認知了。首先,我們給協程的簡單定義是 其區域性變數能夠保持或者說恢復。resume 時能夠跳轉回離開時的那條語句。對於 asyn...

不基於愛情的婚姻是什麼樣子的?

許川 幸福的婚姻有兩個前提 自我完善,懂得愛人。也就是說,如果想要婚姻幸福,那麼彼此步入婚姻的目的是因為 彼此相愛 而不是因為你缺乏安全感,想要被愛,所以結婚是只想要 他愛你 這兩個目的有很大的區別。如果你缺乏安全感,特別渴望被愛,那麼步入婚姻的目的可能就是找乙個人好好去愛你。但在婚姻裡,單向付出的...