作者 主題: 有關DHCP Message(RFC-3118)的問題  (閱讀 19133 次)

0 會員 與 1 訪客 正在閱讀本文。

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
有關DHCP Message(RFC-3118)的問題
« 於: 2009-12-02 18:03 »
小弟目前的架構是二台DHCP-SERVER,一台服務用,一台Renew用,使用CentOS 5.3以及DHCP版本為V3.1.1,目前二台伺服器也都有正常運作,但是有一個問題就是想請教各位學長,一般來說,到2分之1時間後,dhcp client就會上去Renew那台伺服器重新續約,但為什麼服務用的那台伺服器會在Renew伺服器發出DHCP ACK後收到DHCPINFORM的資訊,並且還會發DHCP ACK給dhcp client??不是在Renew那台就已經做掉了嗎??還有DHCP INFORM是在什麼時候會發出??
小弟也從網路上問過"古神"(GOOGLE大神)了,但說法都不一樣,有些說是由伺服器發出,又有些說是從client發出DHCP INFORM,煩請各位學長如果知道可以給個詳細的說明嗎??萬份感激.

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #1 於: 2009-12-02 19:52 »
我想知道您指的"服務用"與"Renew用"是指哪一方面?


以一般情況, DHCP 配發 IP 要顧及不衝突, 所以 Server 會記錄目前還有哪些 IP 被使用, 使用期限多久,
而 Client 也會定期向"原本配發的 Server "要求延長使用期限.

所以您說有一台要提供服務, 那 Client 預設就是向服務這台要求延長, 而就不了解您說 Renew 用的主機, 用途在哪?
« 上次編輯: 2009-12-02 20:33 由 slime »
冷笑話: 我的 IP 是 127.0.0.1

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #2 於: 2009-12-03 09:25 »
我想知道您指的"服務用"與"Renew用"是指哪一方面?


以一般情況, DHCP 配發 IP 要顧及不衝突, 所以 Server 會記錄目前還有哪些 IP 被使用, 使用期限多久,
而 Client 也會定期向"原本配發的 Server "要求延長使用期限.

所以您說有一台要提供服務, 那 Client 預設就是向服務這台要求延長, 而就不了解您說 Renew 用的主機, 用途在哪?

slime學長
所謂的服務用就是在一開始第一次配發ip給client時,由服務用那台伺服器所配發,之後的要求延長租約期間都是由Renew那台伺服器做配發,不好意思提問不是很明確,再麻煩各位學長了

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #3 於: 2009-12-03 09:46 »
一般 DHCP 應該不提供這樣的功能.

既然由 Server 1 配發, Client 預設就是向 Server 1 更新, 而不會去找其他主機.

除非 Server 1 停止服務, Client 才會重新採用廣播方式問問看有沒有其他 DHCP 主機.

參考一下:

http://www.tcpipguide.com/free/t_DHCPLeaseRenewalandRebindingProcesses-2.htm
冷笑話: 我的 IP 是 127.0.0.1

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #4 於: 2009-12-03 10:03 »
我很好奇,為甚麼一開始會有這樣詭異的規劃?

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #5 於: 2009-12-03 10:13 »
一般 DHCP 應該不提供這樣的功能.

既然由 Server 1 配發, Client 預設就是向 Server 1 更新, 而不會去找其他主機.

除非 Server 1 停止服務, Client 才會重新採用廣播方式問問看有沒有其他 DHCP 主機.

參考一下:

http://www.tcpipguide.com/free/t_DHCPLeaseRenewalandRebindingProcesses-2.htm
回覆slime學長
因為我在服務用那台伺服器dhcpd.conf裡的server-identifier 10.10.10.3;<==指向RENEW那台伺服器,所以他並不會向第一台續約租期,除非client端的pc關機重開機,才會又回到第一台去要ip
回覆damon學長
由於第一台服務用的伺服器過於老舊,為了效能的規畫,所以才改成這樣的規劃

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #6 於: 2009-12-03 11:39 »
請教各位學長
DHCP INFORM是在什麼時候會發出??
能幫個忙告知道小弟嗎??

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #7 於: 2009-12-03 11:52 »
那為甚麼不直接用新的那台來取代就好,越奇怪的架構只是增加日後維護的難度而以

hongbin

  • 憂鬱的高中生
  • ***
  • 文章數: 101
    • 檢視個人資料

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #9 於: 2009-12-03 17:12 »
感謝各位學長指導,剛仔細看了一下,雖然看英文很累人,但還是勉強給它看完,我不知道是不是小弟的英文太差,我還是看不到DHCPINFORM發生的時機,
只有看到Client會自己發送DHCPINFORM來確認或更改DHCP Server所給指定的參數設定,如(DNS NAME,DHCP NAME,GATEWAY),但這些資訊不是在Client要到IP時就會都有了,為什麼Client還需要再來發一次DHCPINFROM,為什麼我會這麼問,是因為我所做的測試裡,DHCPINFORM發出的訊息是不固定滴,有時候永遠不會發,有時候就會發一下,所以小弟才麻煩各位學長能給予賜教,或者告知小弟DHCPINFORM會發生的時機點,原諒小弟愚蠢,煩請各位學長見諒

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #10 於: 2009-12-03 18:33 »
感謝各位學長指導,剛仔細看了一下,雖然看英文很累人,但還是勉強給它看完,我不知道是不是小弟的英文太差,我還是看不到DHCPINFORM發生的時機,
只有看到Client會自己發送DHCPINFORM來確認或更改DHCP Server所給指定的參數設定,如(DNS NAME,DHCP NAME,GATEWAY),但這些資訊不是在Client要到IP時就會都有了,為什麼Client還需要再來發一次DHCPINFROM,為什麼我會這麼問,是因為我所做的測試裡,DHCPINFORM發出的訊息是不固定滴,有時候永遠不會發,有時候就會發一下,所以小弟才麻煩各位學長能給予賜教,或者告知小弟DHCPINFORM會發生的時機點,原諒小弟愚蠢,煩請各位學長見諒

(註: 以下只是方便解釋, 實際運作細節仍要依產品及協定為準)

一台 Client 剛啟動(或過期太久)時, 並沒有 IP , 所以會試著用電腦名稱(Name)或 MAC 去向 DHCP 主機索取資料,
DHCP 除了 MAC-IP 對應方式, 也可能用 電腦名稱-IP 對應, 所以有可能用電腦名稱, 或者用 MAC 詢問.

當一台 Client 已經從 DHCP 取過 IP , 更新時或下次開機時, 就會試著以"曾經用過的 IP ", 向原 DHCP 主機來登記或延期,
如果該 IP 仍然可以使用, DHCP 主機就會延長期限.
即使 DHCP 主機已經更換或無相關紀錄, 只要該 IP 尚未被使用, 就會給 Client 繼續使用該 IP ,
如果該 IP 被其他設備用掉了, DHCP 主機就會重新配發別的 IP .

由於有這些不同的需要, 所以 Client 是依不同情況, 送出不同的資料, 盡量讓 Client 使用原 IP .
« 上次編輯: 2009-12-03 18:42 由 slime »
冷笑話: 我的 IP 是 127.0.0.1

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #11 於: 2009-12-03 19:10 »
一台 Client 剛啟動時, 並沒有 IP , 所以會試著用電腦名稱(Name)去問 DHCP ,
DHCP 除了 MAC-IP 對應方式, 也可能用 電腦名稱-IP 對應, 所以有可能用電腦名稱, 或者用 MAC 詢問.

當一台 Client 已經從 DHCP 取過 IP , 更新時或下次開機時, 就會試著以"曾經用過的 IP ", 向原 DHCP 主機來登記或延期,
如果該 IP 仍然可以使用, DHCP 主機就會延長期限.
如果 DHCP 主機已經更換或無相關紀錄, 就會重新配發別的 IP .

由於有這些不同的需要, 所以 Client 是依不同情況, 送出不同的資料.
感謝slime學長耐心教導,小弟感激萬分,至於我的問題看來是Client依不同的情況,所以發出不同的資料也就是DHCPINFORM吧,但這種答案好像很模糊,有沒有比較具体的說明啊,小弟舉個實例:
1.DHCPDiscover訊息就是slime學長所說的當Client 剛啟動時, 並沒有 IP , 所以會試著用電腦名稱(Name)去問 DHCP
2.DHCPOFFER訊息也就是伺服器(DHCP)接收到DHCPDISCOVER回應給Client
3.DHCPREQUEST訊息從Client那裡發出來向伺服器(DHCP)檢查X.X.X.X這組IP能不能使用
4.DHCPACK訊息則是從伺服器(DHCP)發出,所接收的DHCPREQUEST訊息中X.X.X.X這組IP可以使用
5.DHCPNACK訊息則跟第4情況相反,X.X.X.X這組IP不可以使用
之後的就是3跟4一直重覆延期租約,若租約過期則又重1到4重來一遍

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #12 於: 2009-12-03 20:20 »
感謝slime學長耐心教導,小弟感激萬分,至於我的問題看來是Client依不同的情況,所以發出不同的資料也就是DHCPINFORM吧,但這種答案好像很模糊,有沒有比較具体的說明啊,小弟舉個實例:
1.DHCPDiscover訊息就是slime學長所說的當Client 剛啟動時, 並沒有 IP , 所以會試著用電腦名稱(Name)去問 DHCP
2.DHCPOFFER訊息也就是伺服器(DHCP)接收到DHCPDISCOVER回應給Client
3.DHCPREQUEST訊息從Client那裡發出來向伺服器(DHCP)檢查X.X.X.X這組IP能不能使用
4.DHCPACK訊息則是從伺服器(DHCP)發出,所接收的DHCPREQUEST訊息中X.X.X.X這組IP可以使用
5.DHCPNACK訊息則跟第4情況相反,X.X.X.X這組IP不可以使用
之後的就是3跟4一直重覆延期租約,若租約過期則又重1到4重來一遍

2. DHCP Offer: 同一個網路可能有兩台以上的 DHCP Server 來回應, 所以同一個 Client 發出的 Discover 可能有兩個以上的 Offer .
3. 當 Client 收到 Offer 後, 會再發出 Request 確定向哪一台 Server 註冊.
4. Server 確定並登記.
5. 不熟....

舉例:
1. DHCP Discover: 宅男說: 我要找人結婚.
2. DHCP Offer: (一至數個)媒人說: 我這邊有個對象, 你要嗎?
3. DHCP Request: 跟其中一個媒人說, 我要娶這個(IP)了, 順便拒絕其他媒人的對象.
4. DHCP Ack: 媒人幫忙登記結婚....


而 renew 是持續 3 & 4 , 不過稍有不同, 原本是廣播, 改成對單一 server 要求延期.
« 上次編輯: 2009-12-03 20:52 由 slime »
冷笑話: 我的 IP 是 127.0.0.1

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #13 於: 2009-12-04 09:56 »
2. DHCP Offer: 同一個網路可能有兩台以上的 DHCP Server 來回應, 所以同一個 Client 發出的 Discover 可能有兩個以上的 Offer .
3. 當 Client 收到 Offer 後, 會再發出 Request 確定向哪一台 Server 註冊.
4. Server 確定並登記.
5. 不熟....

舉例:
1. DHCP Discover: 宅男說: 我要找人結婚.
2. DHCP Offer: (一至數個)媒人說: 我這邊有個對象, 你要嗎?
3. DHCP Request: 跟其中一個媒人說, 我要娶這個(IP)了, 順便拒絕其他媒人的對象.
4. DHCP Ack: 媒人幫忙登記結婚....
而 renew 是持續 3 & 4 , 不過稍有不同, 原本是廣播, 改成對單一 server 要求延期.

slime學長再一次感謝你,但你怎麼沒回答我DHCPINFORM,卻一直回答我知道的,解釋我所舉例的,
所以不得不再一次向各位學長再懇請賜教,恕小弟愚昧.我要的只是DHCPINFORM訊息:? ? ? ? ? ? ? ? ? ?(請知道的學長在?裡填入你的意見)
再來是下面那行是slime學長不熟的DHCPNACK訊息,它發生的時機在收到DHCPREQUEST之後發生
舉例:
5. DHCP NACK:媒人跟宅男說:你"咖啾"(手腳)太慢,你的對象(IP),被人搶了,你再挑一個吧.

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #14 於: 2009-12-04 10:09 »
不....我看到您描述關於 DHCPOFFER 跟 DHCPREQUEST ,
發現您的描述是一般的說明, 所以我補充的是"為什麼"要再發一次 DHCPREQUEST 的意義.
因為這些協定都有運作上的考量, 才會有這樣的設計,
如果只是看到運作方式, 可能沒注意到運作原本的考量.

延伸 damon 說的: 一般的 DHCP 就是盡量簡單, 不建議有兩台主機, 功能卻都只有一半;
如果您需要備援方案, 則建議再列出更詳細的資料, 大家比較好建議.
如果您想知道運作方式, DHCP Inform 請看 RFC 2131 .
« 上次編輯: 2009-12-04 10:16 由 slime »
冷笑話: 我的 IP 是 127.0.0.1

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #15 於: 2009-12-04 12:29 »
不....我看到您描述關於 DHCPOFFER 跟 DHCPREQUEST ,
發現您的描述是一般的說明, 所以我補充的是"為什麼"要再發一次 DHCPREQUEST 的意義.
因為這些協定都有運作上的考量, 才會有這樣的設計,
如果只是看到運作方式, 可能沒注意到運作原本的考量.

延伸 damon 說的: 一般的 DHCP 就是盡量簡單, 不建議有兩台主機, 功能卻都只有一半;
如果您需要備援方案, 則建議再列出更詳細的資料, 大家比較好建議.
如果您想知道運作方式, DHCP Inform 請看 RFC 2131 .
恩~受教了 ;D這架構也會購買新設備而更換架構,非常感激slime學長這麼有耐心的教導,小弟銘謝在心,RFC 2131我會讀熟一點,看完會把我的心得放上來,畢竟英文不是人看滴 ;D到時再請各位學長給予修正指教

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #16 於: 2009-12-04 13:04 »
設兩台 DHCP 也可以啊。
只要將 range 錯開,其他都一樣就行。
也可以調整 server 的 offer 回應時間,來分主/備server。

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #17 於: 2009-12-04 13:20 »
設兩台 DHCP 也可以啊。
只要將 range 錯開,其他都一樣就行。
也可以調整 server 的 offer 回應時間,來分主/備server。
哇 ;D我的偶像netman學長出現了,小弟真的很感動,既然netman學長都出來發聲了,我還是要再問一次DHCPINFORM訊息到底是為什麼會發生 ;D畢竟看英文真的很累人,翻譯軟體也不會翻的很正確 ;D,還請netman學長不吝指教 ;D

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #18 於: 2009-12-04 14:21 »
哇 ;D我的偶像netman學長出現了,小弟真的很感動,既然netman學長都出來發聲了,我還是要再問一次DHCPINFORM訊息到底是為什麼會發生 ;D畢竟看英文真的很累人,翻譯軟體也不會翻的很正確 ;D,還請netman學長不吝指教 ;D

據我所知, DHCPInform 是要求一些"額外的資訊", 例如 IE 有"自動取得 proxy", 就是透過 DHCPInform 取得.
不過這部份已經不是一般 DHCP 會用到的資料, 所以一般文件也沒有, 使用者大概只需要知道有哪些產品會用到就好.
冷笑話: 我的 IP 是 127.0.0.1

Robetar

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #19 於: 2009-12-08 09:40 »
據我所知, DHCPInform 是要求一些"額外的資訊", 例如 IE 有"自動取得 proxy", 就是透過 DHCPInform 取得.
不過這部份已經不是一般 DHCP 會用到的資料, 所以一般文件也沒有, 使用者大概只需要知道有哪些產品會用到就好.
slime學長,受教了,十分感謝你的回答,小弟知道了 :D

dgullou

  • 懷疑的國中生
  • **
  • 文章數: 39
    • 檢視個人資料
回覆: 有關DHCP Message(RFC-3118)的問題
« 回覆 #20 於: 2010-09-16 15:46 »
舉一個例子好了
在PC上進入CMD打入如下
ipconfig /setclassid 區域網路 2222 (這用意是指定網卡上面的classid而他的option是77)
去抓packet可以看到client送出DHCP_INFORM的message並且帶在option55這參數需求的清單裡面,告訴server說需要有option77這個欄位
這時候server就會回DHCP_ACK把option77給帶出來
然後client就會回request把option 77的值為2222轉換為16進位送出
這時候server就可以針對這個classid去給予一些policy, ex: 當classid為2222的使用者server就給予固定的ip
這樣的舉例應該可以解釋當client需要增加一些option的選項就會送出DHCP_INFORM