客户端通过接入点连接时如何分配其 IP 地址?

客户端通过接入点连接时如何分配其 IP 地址?

前言:我是一名 Web 开发人员,我有一个 Web 应用程序,将在 LAN 上为客户本地提供服务。我从未设置过单独的接入点,而且只使用过康卡斯特的那种一体式路由器/AP 之类的东西。

假设我有一个路由器运行在10.1.10.1,其 LAN 端口之一还插入了一个无线接入点。通过该无线接入点,大约有 10 台设备需要连接到它。

我有一台安装了 Ubuntu 的 Intel NUC,它通过 Apache 托管一个 React/Python 应用程序。只需要有人输入 10.1.10.37(我计划将 NUC 的静态 IP 设置为) 放入网络浏览器中,他们应该会看到该应用程序。

我感到困惑的第一件事是,这些设备是如何分配 IP 地址的?如果无线接入点处于 AP 模式,路由器是否真的会进行 DCHP 分配?

假设 AP 上的笔记本电脑 IP 地址为 10.1.10.25,在 Google Chrome 的地址栏中输入 10.1.10.137,这个请求会通过 AP 发送回路由器,然后再重新路由回 AP 吗?或者 AP 会保留一个 IP 地址池并知道将其发送到哪里?

这类事情不是我的专业领域,如果能得到任何帮助,我将不胜感激。我很乐意重新思考我的答案,因为我觉得我误解了 LAN 技术的一些关键部分。

答案1

取决于 AP 的配置。

在这种情况下,我建议将 AP 设置为网桥。在网桥模式下,您可以将 AP/WiFi 视为电缆:一切都与有线网络相同 - AP 将所有数据包从无线接口“转换”到以太网并返回。没有路由,没有 DHCP,除了 LAN 上现有的相同内容之外,什么都没有。

假设 AP 上的笔记本电脑的 IP 地址为 10.1.10.25,输入 10.1.10.137 ...重新路由回 AP?

转换发生在第 2 层,位于“MAC 层”。这是 IP 之下的一层 - 路由仅发生在第 3 层,数据包在此层具有 IP 地址。

在这种情况下,笔记本电脑无线接口的 MAC 地址会将请求发送到 AP,AP 会将其 1:1 转换为电缆上的 LAN 数据包,然后数据包将不加改变地到达服务器。无需缓存任何内容。

答案2

您的情况有多种可能性,因此答案可能会很长。

我会给你一个简短的回答。

如果您的接入点处于“哑”/“简单” AP 模式,那么(连接到 AP Wi-Fi 后)这与使用以太网电缆将设备插入网络没有什么不同。无论您在该网络上使用什么 DHCP 服务器(可能是路由器上的服务器),都将继续照常分配本地 IP。

需要注意的是,如今很少有东西以“哑”模式开箱即用。您的 AP 很可能具有许多其他可用功能,并且可能开箱即用,例如其自己的 DHCP 服务器。您必须确保 DHCP 服务器已禁用,否则会发生冲突。基本网络通常不会有多个 DHCP 服务器,但更高级的网络可以有多个 DHCP 服务器以实现冗余,但这需要更高级的配置。

答案3

我感到困惑的第一件事是,这些设备是如何分配 IP 地址的?如果无线接入点处于 AP 模式,路由器是否真的会进行 DCHP 分配?

Wi-Fi 上的设备分配地址的方式与以太网上的设备分配地址的方式相同:静态配置或自动配置,例如 DHCP。

DHCP 由 DHCP 服务器提供。某些网络设备可能有一个可配置的内置 DHCP 服务器,或者您可以在 LAN 上拥有一个独立的 DHCP 服务器。

由于 DHCP 使用广播发送请求,因此 DHCP 通常不会跨 LAN。您可以在 LAN 上设置 DHCP 中继,以便于在不同的 LAN 上设置 DHCP 服务器。

假设 AP 上的笔记本电脑的 IP 地址为 10.1.10.25,并在 Google Chrome 的地址栏中输入 10.1.10.137,此请求是否会通过 AP 发送回路由器,然后再重新路由回 AP?或者 AP 会保留一个 IP 地址池并知道将其发送到哪里?

这实际上与 DHCP 或地址分配无关。您的场景中的流量可能是桥接的或路由的,但如果没有网络掩码,就无法分辨。路由器在网络之间路由数据包,而网桥(交换机 WAP 等)则在同一 LAN 上桥接帧。

例如,如果网络掩码为255.255.255.128,则您的两个地址位于两个不同的网络上,要从一个地址到达另一个地址,需要路由器在两个网络之间路由数据包。另一方面,如果网络掩码为255.255.255.0,则两个地址位于同一网络上,并且帧通过 MAC 地址直接从一个主机传送到另一个主机。

相关内容