[英]Static and Dynamic Ip address problems
假設我們托管在個人計算機上,並且服務器程序是用Java編寫的。
1.如果我們使用靜態IP地址托管服務器,那么這是否意味着我們可以更換機器並用其他IP地址替換它,然后根據需要多次重啟機器,並且系統返回后,客戶仍然可以與我們通信? 2.如果我們使用動態IP地址托管服務器,那么只需重啟機器,就必須告訴那里的每個客戶端這是新的IP地址嗎? 3.即使不重新啟動計算機,動態IP地址也會更改嗎?
1:是的,如果服務器具有靜態IP,則客戶端始終可以依靠該IP地址訪問服務器。
2:很可能是。 在許多網絡中,DHCP服務器會將相同的IP返還給已重新啟動的計算機,但是您當然不應指望這一點。
3:是-動態分配的IP地址具有“ TTL”-生存時間。 這可能需要很長時間(數周或更長時間),但它們仍可能過期並更改。 大多數情況下,機器會獲得相同的IP,但是同樣,您不應指望這一點。
注意:不是很友好的方式。
僅僅因為某個事物具有“動態” IP地址,並不一定意味着它每次都會更改。 使用DHCP可以每次將相同的IP地址分配給相同的MAC地址。 與將IP地址硬編碼到計算機相比,這是一種更好的方法。
另外,您實際上不應該讓客戶端使用IP地址進行連接。 他們應該通過DNS中的名稱查找計算機。 您可以將DNS查找與DHCP協調,因此計算機無需執行任何操作即可解析主機名。
但是,就您的問題而言,如果一台計算機使用DHCP並且每次都沒有收到相同的IP地址,並且您的客戶端通過IP地址進行連接,則在每次進行新分配時,客戶端都需要新的IP地址。
機器的IP地址是否即使不重新啟動也進行更新是由DHCP服務器控制的策略。 通常,IP地址有一個續訂時間。 無需過多花費,DHCP會話期間的客戶端可能會請求相同的IP地址,但是服務器是否分配相同的IP地址取決於服務器。 相反,只要DHCP緩存是最新的,大多數服務器就配置為向給定的MAC地址分發相同的IP地址。 這完全是一項政策決定。
然而,到最后,似乎您正在嘗試將客戶端綁定到服務器的IP地址,這不是一個好的策略。 使用DNS並讓客戶端解析主機名是一種更好的策略。 如果我錯誤地推斷出您的意圖,我深表歉意。
注意:我已經使用DHCP作為分配動態IP地址的方法。 您可以使用其他策略,但是我認為概念是相同的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.