在Windows中,選擇TCP/IPv4協議設置中的」自動獲取DNS伺服器地址「,計算機究竟做了什麼?

計算機做了什麼,就能夠自動獲取DNS伺服器的地址呢?


(歡迎收看 DHCP 小劇場)
客戶端連網之後,大喊一句:「我新來的,誰他媽給我個分配個 IP」。(群聊)

DHCP 伺服器 ZZ(192.168.1.1):「我來!你是 D4-3D-7E-B9-DA-25 吧,你的 IP 分配好了,是 192.168.1.42,有效期兩個小時,記得提前續,還有,DNS 推薦你用 223.5.5.5」(私聊)。

客戶端:「嘿,各位,我拿到 IP 了,我的 IP 是 192.168.1.42,以後大家可以用這個 IP 聯繫我」(群聊)

DHCP 伺服器 BZ(192.168.2.1):「卧槽有新來的,找個空 IP 給他用吧,就 192.168.2.36……卧槽,ZZ 你怎麼那麼快啊,你到底 DHCP 過多少次啊,算了 192.168.2.36 留著以後用吧」(沒說出去,內心獨白)

一段時間後……
客戶端:「嘿,ZZ,我來續了。」


通過DHCP協議從DHCP伺服器獲取,就和自動獲取IP一樣,DNS只不過是其中一個option。


主機在啟動時,會發送一個廣播DHCP報文來尋找DHCP伺服器,來給自己分配上網用的IP地址,DNS伺服器地址等信息:

什麼是DHCP?

Dynamic Host Configuration Protocol,動態主機配置協議,它主要用來給用戶的電腦分配以下信息:

1)IP地址 如 10.1.1.2

2)IP地址對應的子網掩碼 如 255.255.255.0

DHCP 里有很多選項option,子網掩碼放在option 1里

3)預設網關 如 10.1.1.1

Option 3,當主機10.1.1.2 想訪問互聯網,需要把IP包先發給預設網關10.1.1.1,然後預設網關再發送給它上游的路由器

4)DNS 伺服器 如8.8.8.8

這個DNS 伺服器就是放在option 6信息欄位里的,DNS 伺服器負責域名和IP地址的翻譯,比如你訪問 http://www.zhihu.com ,DNS伺服器可以把它翻譯成115.21.37.139,然後主機就可以用這個IP地址來訪問知乎了。

那DHCP的安全漏洞是什麼呢?

如果一個邪惡軟體偽造不同的Mac地址,不斷發送DHCP discovery,比如1000個,如果沒有安全措施,DHCP server很有可能就分配1000個IP地址給它,因為server是根據client Mac來分配IP的,這樣很快就可以把地址池資源耗盡,其它的用戶因為沒有地址可用而無法上網!

應對方法:配置DHCP option 82,DHCP discovery途徑二層交換機時,交換機修改報文,增加option 82信息,即這條消息是從哪個埠收到的,把這個埠信息添加到DHCP discovery 報文里,伺服器根據 「client Mac地址+ 交換機埠號」 來分配IP,即任意一個交換機埠最多分配一個IP,即使採用偽造的不同的Mac地址來請求也是一個!

這就是DHCP反欺騙措施,DHCP Anti-Spoofing!

----------回復@唐詩宋詞評論----------

Option 82 是 誰來添加到DHCP 消息報文? 添加到什麼報文? 主要作用是什麼?

主要作用是什麼?

1) line ID 讓Radius server 可以知道DHCP client location 信息,比如 switch x Port x/x/x ,可以提供安全認證伺服器更多關於 client 具體位置,可以 tracking and logging DHCP client

2) remote ID ,可以讓DHCP server 依靠 remote ID + Hardware MAC 來分配IP,避免偽造 MAC 耗盡IP地址池。

誰來添加到DHCP 消息報文?

1) DHCP snooping switch

2) DHCP relay router


添加到什麼報文?

1) DHCP Discovery

2) DHCP Request


keyword: DHCP,隨便怎麼搜資料一大把。


DHCP option 6


今天剛學過,dhcp是一種服務,它的好處就是方便用戶不必手工配置ip。具體原理就是在域裡面發個廣播,設置好的dhcp伺服器會把帶走ip地址等一系列信息發過來。以後計算機再回復一個ack報文。


自動獲取IP就相當於你去租房子,房東給你安排一個位置。而選擇自己設置,意思是你跟房東說你要租一樓的101室,房東不會告訴你是否有人用了這個IP,你自己過去看的時候發現有人,才會知道。而DNS,就相當於地圖,比如說我要找某個城市某個小區某個房間,自動獲取就是房東幫你去找,當然其實房東也是找別人,自己設置就是你自己裝了百度地圖,自己直接過去。

埠號就好比房門,你作為客人你只能進客廳,但是你不能進卧室

得讓主人開放這個許可權給你


我也添添亂吧。
dhcp的中文名字叫動態主機配置協議。
先說說ip,
當主機連接到路由器時,主機會通過廣播找到dhcp伺服器,你要知道我們可能會找到多個dhcp伺服器,這麼多伺服器也會通過廣播來給主機發送報文,報文中包括ip地址,這麼多伺服器給主機分配ip地址,主機最終可能會選取一個對其最有利的伺服器的ip地址對其配置,然後主機回顯報文,伺服器收到報文後,又發了一個報文說你,用就用總bb啥,然後主機就不敢bb了,從此就過上了沒羞沒臊的生活。

dns同理。


如果網路支持DHCP,則 DHCP伺服器會為網路中的計算機自動分配IP與DNS。
如果使用DHCP,則將計算機移動到其他位置時,不必更改 TCP/IP 設置,
並且 DHCP 不需要您手動配置 TCP/IP 設置。
一般來說一家電信運營商在一個地區都有很多的dns伺服器,
DNS伺服器只是在你上網時將域名翻譯為IP。


DHCP伺服器給你分配IP、DNS。DNS伺服器只是告訴你xx對應的ip是什麼。


計算機加入網路後,會在網路里廣播自己的存在DHCP伺服器發現以後,會自動分配一個IP地址給電腦,還有網關,子網掩碼,DNS等等的東西。當電腦獲得IP以後,瀏覽器上網時輸入的www網址會根據域名來到不同級別的伺服器上查詢。舉個例子:http://www.qq.com 根據查詢模式,首先查詢的根伺服器的「.」域,查詢到「.com」的DNS伺服器,然後到「.com」域伺服器上查詢「.qq」的IP地址。最後,就可以獲得http://www.qq.com的IP地址返回到你的瀏覽器,你就可以看到網頁了。


推薦閱讀:

中國能否在未來擁有根伺服器?
免費dns伺服器8.8.8.8 接收全世界這麼多請求,這台伺服器性能得多高啊,怎麼才能扛住這麼多請求?
能否寫一個socket程序,連上QQ伺服器?
如何藉助伺服器,使兩個客戶端之間建立網路連接?

TAG:MicrosoftWindows | 伺服器 | 計算機 | DNS | TCPIP |