我特別喜歡Linux啟動的時候屏幕上一行一行的提示。它把系統(tǒng)正在干的所有事情都告訴了我們,不像Windows,自檢完了就給個進(jìn)度條,背后干啥都不讓我們知道。
DHCP協(xié)議部分實(shí)現(xiàn)過程如下
①:DHCP 服務(wù)器被動打開 UDP 端口 67,等待客戶端發(fā)來的報文。
?、冢篋HCP 客戶從 UDP 端口 68發(fā)送 DHCP 發(fā)現(xiàn)報文。
?、郏悍彩盏?DHCP 發(fā)現(xiàn)報文的 DHCP 服務(wù)器都發(fā)出 DHCP 提供報文,因此 DHCP 客戶可能收到多個 DHCP 提供報文。
?、埽篋HCP 客戶從幾個 DHCP 服務(wù)器中選擇其中的一個,并向所選擇的 DHCP 服務(wù)器發(fā)送 DHCP 請求報文。
⑤:被選擇的 DHCP 服務(wù)器發(fā)送確認(rèn)報文DHCPACK,進(jìn)入已綁定狀態(tài),并可開始使用得到的臨時 IP 地址了。
書面上的文字怎么說我們都會覺得有點(diǎn)晦澀,雖然這個解釋其實(shí)已經(jīng)非常明了了。
不過前幾天啟動linux的時候,我注意到了這個小細(xì)節(jié),linux啟動過程中把這個步驟一步一步在屏幕上輸出,我覺得能讓我們看的更直觀,就截了個圖,呵呵。
如下圖:
![](/d/20211018/2f1df3820f012d3086cc79b9da742f4e.gif)
這個圖里面,我上面說的從第2步到第5步都非常明了(第一步是服務(wù)端的,我們看不到),端口,MAC,狀態(tài)這些都清楚的標(biāo)明了。
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 //第2步,發(fā)送DHCP發(fā)現(xiàn)報文
DHCPOFFER from 192.68.116.254 //第3步,收到DHCP提供報文
DHCPREQUEST on eth0 to 255.255.255.255 port 67 //第4步,發(fā)送DHCP請求報文
DHCPACK from 192.168.116.254 //第5步,收到DHCP確認(rèn)報文DHCPACK
bound to 192.168.116.128 -- renewal in 826 seconds //已綁定,826秒應(yīng)該是0.5T,也就是IP租用期的一半,到時間就再次發(fā)送請求更新租用期
done.
Linux真是個好東西。