DHCP前世今生

2022-09-11 06:09:10 字數 2140 閱讀 3221

什麼是dhcp?

dhcp,即dynamic host configuration protocol,動態主機配置協議,是一種區域網的網路協議,屬於osi模型中的第七層,即最高層--應用層,它使用udp協議工作,其

主要作用是集中的管理、分配ip位址,使網路環境中的主機動態的獲得ip位址、gateway位址、dns伺服器位址等資訊,並能夠提公升位址的使用率。

dhcp協議採用客戶端/伺服器模型(也就是常見的c/s模型),主機位址的動態分配任務由網路主機驅動。當dhcp伺服器接收到來自網路主機申請位址的資訊時,才會向網路主機傳送相關的位址配置等資訊,以實現網路主機位址資訊的動態配置。

1. 自動分配方式:dhcp給主機指定乙個永久的ip位址,一旦dhcp客戶端第一次成功的從dhcp伺服器端租用到ip位址之後﹐就永遠使用這個位址2. 動態分配方式:dhcp給主機指定乙個有"時間限制(租約)"的ip位址,到時間(租約到期)或主機明確表示放棄這個位址(主機主動斷開連線)時,這個位址可以被其他的主機使用,當然,客戶端可以比其它主機更優先的延續(renew)租約,或是租用其它的ip位址3. 手工分配方式:主機的ip位址是由網路管理員指定的,它可以按照mac位址來固定的分配ip位址﹐dhcp只是把指定的ip位址告訴主機,相當於將某個mac和ip進行了靜態繫結。

三種位址分配方式中,只有動態分配可以重複使用客戶端不再需要的位址。

生活中**會用到dhcp?

最常見的莫過於路由器了,每乙個設定過路由器的人都會進入到下面乙個熟悉的介面:

根據設定嚮導配置完成後基本就沒有問題了,但如果你想要路由器可以讓多個無線裝置都能聯網,那麼必須進入下乙個環節:進入dhcp伺服器啟用dhcp伺服器。啟用之後路由器重啟之後就可以讓無線裝置聯網了。

此時,為了檢視dhcp服務的效果,可以按下「win+r」快捷鍵進入一下狀態:

輸入cmd並確定,進入下面介面:

輸入ipconfig /all並回車得到如下介面:

你會發現ipv4位址是192.168.1.100,而這就歸功於上邊提到的啟用了dhcp功能。

現在來區分一下dhcp和dns

dhcp是動態ip位址分配;dns是網域名稱解析,把本地連線裡面的dns弄錯了 就不能瀏覽網頁了。

以區域網為例,做dns是為了訪問內網**時方便而做的。因為dns是起到網域名稱解析作用的,可以把網域名稱解析為ip位址,這樣,我們在訪問**時不需要輸入難記的ip位址,只要輸入**位址,就可以訪問。區域網用dhcp伺服器,是為了讓區域網的機器從網內dhcp伺服器指定的ip範圍內自動獲取ip位址,所獲得的ip都是私網ip。而我們自己用的自動獲取方式,和區域網一樣,只不過是ip和dns位址是從公網的dhcp伺服器上獲取的動態公網ip。

使用dhcp時必須在網路上有一台dhcp伺服器,而其他機器執行dhcp客戶端。當dhcp客戶端程式發出乙個資訊,要求乙個動態的ip位址時,dhcp伺服器會根據目前已經配置的位址,提供乙個可供使用的ip位址和子網掩碼給客戶端。

dhcp使伺服器能夠動態地為網路中的其他伺服器提供ip位址,通過使用dhcp,就可以不再給intranet網中除dhcp、dns和wins伺服器外的任何伺服器設定和維護靜態ip位址,從而大大簡化配置客戶機的tcp/ip的工作,尤其是當某些tcp/ip引數改變時,如網路的大規模重建而引起的ip位址和子網掩碼的更改。

如果想對dhcp協議有更深的了解,可以學習dhcp資料報文的格式及內容,最好是可以借助wireshark之類的軟體實踐一下。

LinkedList前世今生

1 linkedlist元素在內部儲存的實現,節點定義即指向前一元素的指標,後一元素的指標,當前元素的值。private static class entry 2 建立乙個空鍊錶。預設有個頭指標header。private transient entryheader new entry null,n...

前世今生 STL

嘛,string就是乙個用於字串處理的標準類庫,但是需要注意的是其速度可能會比直接操縱char陣列要慢一些。reverse這個方法是我一直都想找到但是沒有找到的,在判斷回文的時候格外好用。string s abcdef string ss s ss abcdef reverse ss.begin s...

位址 前世今生

alu arithemetic and logic unit 書面意思是 算術與邏輯部件,運算器,算術與邏輯單元,通俗來講 cpu處理的資料位數。從4位 8位 16位 32位,處理能力越來越強。發問 16位計算能力如何處理20位的位址呢?cs ip 是一組暫存器,用於告知 cpu 當前將要讀取的彙編...