跳转到内容

网络组件

网络组件是所有类型网络(WiFi、以太网)的全局配置。

# 示例配置
network:
enable_ipv6: true
min_ipv6_addr_count: 2
enable_high_performance: true
  • enable_ipv6 (Optional, boolean): 启用 IPv6 支持。默认为 false
  • min_ipv6_addr_count (Optional, integer): ESPHome 在拥有一个 IPv4 地址和此数量的 IPv6 地址时认为网络已连接。默认为 0,以免在未启用 IPv6 的网络上启动时挂起。对于需要 IPv6 的配置,2 通常是一个合理的值。
  • enable_high_performance (Optional, boolean): 显式启用或禁用高性能网络优化。仅在 ESP32 设备上支持。未指定时,这会由受益于优化网络设置的组件自动启用。如果这些优化导致您的设备出现内存问题,请设置为 false。默认为组件驱动行为。

网络组件可以自动为需要高吞吐量或低延迟的组件(如媒体流)应用优化设置。启用时,此功能会配置 lwIP TCP/IP 堆栈和 WiFi 驱动程序,使用针对性能优化的设置。

优化级别取决于是否保证 PSRAM 可用(通过 Psram 组件配置 ignore_not_found: false):

保证有 PSRAM 时:

  • TCP 发送/接收缓冲区:启用窗口缩放的 512KB 窗口
  • WiFi RX 缓冲区:512 个动态缓冲区
  • WiFi TX 缓冲区:32 个静态缓冲区
  • AMPDU 聚合:优化的块确认窗口

没有 PSRAM(或未保证)时:

  • TCP 发送/接收缓冲区:65KB 窗口
  • WiFi RX 缓冲区:64 个动态缓冲区
  • WiFi TX 缓冲区:64 个动态缓冲区
  • AMPDU 聚合:标准块确认窗口

NOTE

网络组件使用的 lwIP 库目前仅根据 RFC4862 实现 IPv6 SLAAC。接口标识符(IID)直接从设备 MAC 地址生成。 这在 RFC7721 中描述了各种安全和隐私影响,因为这可能会泄露到智能家居网络之外,并使设备可被唯一识别。 因此,地址生成不符合 RFC7217