locked
dhcp release, renew問題 RRS feed

  • 一般討論

  • 我 PC 使用 win7 sp1(企業版),router是buffalo whr-g125(firmware: dd-wrt r14929

    開機後,常常遇到拿不到ip的問題,所以想說使用ipconfig /renew試試看,但是沒有結果,跑到一半就卡住了,必須用Ctrl-c 終結執行

     

    所以為了找到問題點,我做了個實驗:

    1. ipconfig /release

    2. wait 4~8 sec

    3. ipconfig /renew

    只要照上面執行,就不可能再拿到ip,好像dhcp client 廢了一樣

    要再拿ip,除非設定static ip,或是將網路卡重複停用、啟用,直到成功為止

     

    同樣的網路環境下,我在新裝好的win7 系統上測試,一樣的結果

    若改使用win XP sp3 的電腦,則是完全沒有此問題

     

    不知道有沒有人遇到一樣的問題?

    • 已變更類型 AChange 2011年11月18日 上午 10:15 Unresponsiveness
    2011年11月13日 上午 04:48

所有回覆

  • 您好!

    有試過更新網卡Driver嗎?

    2011年11月13日 上午 08:13
    版主
  • 你有沒有試過重開router?

    因為XP可以用,也有可能只是『剛好』遇到可用的狀況,所以無法判定到底是不是因為作業系統的關係。

    而且DHCP SERVER 有時間有效性的問題,而且IP數也是一個問題。如果DHCP SERVER 沒有可以指派的IP,CILENT端就會收不到DHCP的IP。

    2011年11月14日 上午 04:34
  • 有的,電腦使用的realtek driver,有到官網抓最新的版本

     

    2011年11月19日 上午 05:32
  • 你好

    1. 這裡的網路環境是很單純的,頂多只有5台電腦要求IP,而router設定可以配發100個IP,不可能會有IP不夠用的情況發生,且dhcp lease time設定為 6 hr

     

    2. 為何判斷可能是win 7的問題呢,因為搭配其他的router測試過(使用stock firmware,如:asus、d-link),全部的測試結果都是一樣的:只要win7 dhcp release後,就不可能馬上再dhcp renew拿到IP

     

    3. 另外說一下,我有試過使用wireshark監看,發現跟xp不太一樣的地方:win7通常發出的dhcp discover中,dhcp broadcast flag是設定成 1的,也就是以broadcast的方式發送,且udp src port是設定在ephemeral port range(49152 ~ 65535 ),我沒有記錯的話,不是應該由src port 68發出嗎?

     

    4. 補充,其實win7不是只會發出上述的dhcp broadcast packet,也會有unicast packet(此時的udp src port是正常的68),我的測試中,會成功拿到IP只有在使用unicast packet的情況下(win xp似乎也只會發出unicast packet!?)。什麼時候會發出unicast packet?只有在不斷停用、啟用網卡,祈禱它的出現

     

    感謝

     

    2011年11月19日 上午 06:17
  • 剛剛玩了一下packet replay

    這次測試了兩個變數:broadcast flag、udp src port

    抓取win7發出的dhcp discover packet,再修改上述欄位的值

    結論是:broadcast flag必須為0(即unicast)、udp src port必須為68(其他任意值都不行),上述兩個條件滿足後,router才會發回dhcp offer

    只要有一件不滿足,router便不理會

     

    我覺得win7 會使用port 68以外作為 udp src port 是一件很奇怪的事情

     

    ps. 我知道MS 有提供broadcast flag 的registry 設定:http://blogs.technet.com/b/teamdhcp/archive/2009/02/12/dhcp-broadcast-flag-handling-in-windows-7.aspx

     

     

    2011年11月19日 上午 07:22