路由器如何分配IP地址?

agz*_*agz 14 router ip

路由器如何分配IP地址?这是随机的还是有一套方法?

似乎同一个设备——无论它连接的时间如何——似乎都分配了相同的 IP。路由器是否知道 MAC 地址并分配相同的 IP 或是否有其他事情发生?

use*_*686 13

IPv4 地址通常使用 DHCP 协议分配。这是如何发生的,取决于路由器上运行的特定 DHCP 服务器......

  • 使用 DHCP,地址会被租用一段时间,因此如果设备在旧租用到期之前重新启动请求地址,路由器通常会提供相同的旧地址(基于 DHCP 客户端 ID 或 MAC 地址)。

  • 某些 DHCP 服务器即使在租用期到期后的一段时间内仍会记住发出的地址,因此它们始终将相同的地址提供给同一设备。

  • 如果之前没有看到设备,这取决于实现——通常新地址是随机选择的,但有时是顺序选择,有时基于 MAC 地址上的某种散列,以便路由器至少尝试给出又是旧地址。

例如,引用dhcpd.conf(5)ISC DHCP 服务器dhcpd的手册页:

DHCP 服务器生成可用 IP 地址列表。
哈希表。这意味着地址没有按任何标准排序?
特定的顺序,因此无法预测其中的顺序
DHCP 服务器将分配 IP 地址。以前版本的用户
ISC DHCP 服务器的用户可能已经习惯了 DHCP 服务器
按升序分配IP地址,但这不再是pos?
sible,并且无法使用版本 3 配置此行为
ISC DHCP 服务器。

对于 IPv6,有一个类似的协议 DHCPv6,上面的答案仍然适用。

然而,许多网络使用更简单的“无状态自动配置”协议,其中路由器只广播前缀(也称为网络地址),设备分配自己的 IP 地址。赋值有两种方式:

  • 使用正常的“无状态自动配置”(RFC 4862),IP 地址的“主机”部分基于设备的硬件地址。对于 48 位 MAC 地址,第二位被翻转,并ff:fe插入中间(填充到 64 位)

    例如,前缀2001:470:1f0b:915::/64加 MAC 地址48:5d:60:e8:65:8f产生 IP 地址。2001:470:1f0b:915:4a5d:60ff:fee8:658f

  • 对于“隐私扩展”(RFC 4941),“主机”部分是随机选择的——并且每 10 小时也会添加一个新地址。

    请注意,除了正常的“无状态”基于 MAC 的 IP 地址之外,几乎总是使用“隐私扩展” 。


dav*_*dgo 5

通常(对于 IPV4),所使用的系统称为“DHCP”,其工作原理大致如下。

  • 路由器运行一个“DHCP 服务器”,其中有一个包含可以使用的 IP 的表。
  • 每台计算机都会发出 DHCP 请求,该请求基本上是在网络上发送的一个数据包(带有其 MAC 地址),内容是“我可以拥有什么 IP?”
  • 路由器查看收到的数据包,并显示这是您的 IP 地址、网关、DNS 服务器 [以及其他任何内容]
  • 然后计算机会自行配置。

DHCP 服务器表可以使用 MAC 地址来确保计算机获得相同的 IP 地址(如果每次可用)。


jfg*_*956 5

我认为重要的是要指出路由器不分配 IP 地址路由器在一个接口上接收一个 IP 数据包并在另一个接口上几乎不变地发送它(我能想到的变化是减少 TTL 并更新 IP 的校验和数据包;甚至更改数据包中的 IP 地址 (NAT) 也超出了路由器的任务)。

被称为家庭路由器的设备不仅仅是路由器,它们还包括以下一些功能/服务:

  • DHCP 服务器(这是分配 IP 地址的服务),
  • ADSL 调制解调器(协商与 ISP 的连接),
  • 防火墙(过滤传入和传出连接),
  • 入站和出站 NAT 设备(共享 ISP 为家庭网络上的所有设备分配的单个 IPv4 地址),
  • 路由器,
  • 转变,
  • 无线天线,
  • 网络服务器,
  • 控制台(web、ssh 或 telnet)来配置设备,
  • 其他...

(注意:防火墙通常可以执行入站和出站 NAT 和路由,即使这 4 个功能可以使用专用设备完成。)

在大型企业部署中,DHCP 服务器通常托管在与路由器无关的专用 Linux 或 Windows 服务器(通常是集群)上。