静态和动态 IP 地址问题

Static and Dynamic Ip address problems

假设我们在个人计算机上托管并且服务器程序是用 Java 编写的。

1.If 我们使用静态 IP 地址托管服务器,这是否意味着我们可以更换机器并将其替换为其他机器,根据需要多次重启机器,我们的客户端仍然可以与系统恢复后的我们? 2.if 我们使用动态 IP 地址托管服务器,然后只需重新启动机器一次,我们就必须告诉那里的每个客户端新的 IP 地址是这个吗? 3.Will 即使我们不重启机器,动态 IP 地址也会改变?

1: 是的,如果服务器有静态 IP,客户端将始终能够指望服务器位于该 IP 地址。

2:很有可能,是的。在许多网络中,DHCP 服务器会将相同的 IP 返回给已重新启动的计算机,但您当然不应该指望它。

3:是 - 动态分配的 IP 地址有一个 "TTL" - 生存时间。这可能会很长时间(数周或更长时间),但它们仍然可能会过期和更改。大多数情况下,机器会获得相同的 IP,但同样,您不应该指望它。

  1. 是的,静态IP地址意味着它是固定的。当然,整个系统还有更多内容,因为可以将 IP 解析为 MAC 地址。尽管如此,静态 IP(假设它只在网络上出现一次)意味着任何具有该 IP 的机器都会响应。因此客户端始终可以连接到 IP 地址。

注意:不是很友好的方式。

  1. 仅仅因为某些东西有一个 "dynamic" IP 地址并不一定意味着它每次都会改变。使用 DHCP 可以每次将相同的 IP 地址分配给相同的 MAC 地址。这比将 IP 地址硬编码到机器要好得多。

    此外,您确实不应该让您的客户端使用 IP 地址进行连接。他们应该通过 DNS 中的名称查找机器。您可以将 DNS 查找协调到 DHCP,因此机器除了解析主机名外不需要做任何事情。

    但是,正如您的问题所表明的那样,如果一台机器使用 DHCP 并且每次都没有收到相同的 IP 地址,并且您的客户端通过 IP 地址进行连接,那么在每次新分配时,客户端都需要新的 IP地址.

  2. 机器的IP地址在不重启的情况下是否更新是DHCP服务器控制的策略。一般来说,IP地址是有更新时间的。不用多说,客户端在 DHCP 会话期间可能会请求相同的 IP 地址,但是否分发相同的 IP 地址取决于服务器。相反,只要 DHCP 缓存是最新的,大多数服务器 配置为将相同的 IP 地址分配给给定的 MAC 地址。这完全是政策决定。

然而,归根结底,您似乎正试图将客户端绑定到服务器的 IP 地址,这不是一个好的策略。使用 DNS 并让客户端解析主机名是更好的策略。如果我错误地推断出您的意图,我深表歉意。

注意: 我使用 DHCP 作为分配动态 IP 地址的方式。您可能会使用其他策略,但我认为概念是相同的。