OpenWrt开发:04---OpenWrt整体架构与功能组件

时间:2024-04-04 15:20:55

一、整体架构

  • 路由器的典型架构划分为:管理平面、控制平面、数据转发平面

OpenWrt开发:04---OpenWrt整体架构与功能组件

管理平面

  • 管理平面是提供网络管理人员使用 UCI、Web、SNMP 和 TR069 等方式来管理路由器, 以及执行这些管理功能所需的配置命令等,管理平面提供了控制平面正常运行所需的配置参数

控制平面

  • 控制平面用于控制和管理所有网络协议的运行,例如 ARP、DHCP、DNS 及组播协议 的管理和控制

转发平面

  • 转发平面用于处理和转发不同网络接口上各种类型的数据,例如进行网络地址转换、 路由、ACL 等。典型路由器在数据转发平面占用最多的系统资源。转发平面应用控制平面 提供的路由信息对数据报文的接收,进行网络地址转换,查找路由表,从出接口发出报文 等工作。如果找不到路由,则发送 ICMP 不可达消息,我们可以使用 route 命令查看路由 转发数据库。路由器的 3 平面划分仅是逻辑意义上的功能划分,在实际的功能模块并没有 完全区分

二、功能组件

  • OpenWrt 是一个基于 Linux 的智能路由器操作系统。用户可以自定义安装各种应用软 件。OpenWrt 提供各种功能插件,使用户可以自定义安装来管理路由器;默认内置了一些基础功能
  • 其主要功能可以分为3个部分:网络功能、系统管理功能、状态监控功能

网络功能(NetWork)

  • 网络功能是路由器的核心功能
  • 主要包含以下几个功能:
    • 网络接口设置和管理
    • DHCP 协议支持,家庭网内作为 DHCP 服务器,在广域网作为 DHCP 客户端
    • 主机及 DNS 功能,可以加快 DNS 响应和减少广域网 DNS 流量
    • 静态路由及组播路由功能
    • 便捷的网络问题诊断工具 ping、traceroute 和 nslookup 等
    • 防火墙功能(IPv4 网络地址转换、DMZ、报文过滤及防洪水攻击等)
    • IP 带宽控制(QoS)
    • 设备即插即用(UPnP)
  • 例如下图输入OpenWrt IP地址之后进入的Web化管理界面,使用其中的静态路由管理功能

OpenWrt开发:04---OpenWrt整体架构与功能组件

系统管理(System)

  • 系统管理是路由器除了网络管理之外的其他管理功能
  • 系统管理主要包含以下几个功能:
    • 主机名称设置、日志服务器设置、NTP(网络时间)和密码设置等。
    • 远程安全登录设置(SSH)
    • 软件管理/配置备份等,如下图所示
    • 进程启动管理及定时任务管理
    • 系统属性设置。如时区、时间设置及语言设置等

OpenWrt开发:04---OpenWrt整体架构与功能组件

状态监控(Status)

  • 状态监控主要用于监控路由器的当前状态,并且只能查看当前的路由器状态
  • 状态监控主要包含以下几个功能:
    • 查看系统固件版本、运行时间、平均负载及内存占用等
    • 网络状态、DHCP 用户及无线用户等
    • 防火墙状态统计、路由转发表及 ARP表
    • 系统日志和内核启动日志
    • 系统进程负载状态,包括 CPU 使用率及内存使用率
  • 例如下面的“Overview”标签是查看路由器的系统状态和内存占用情况

OpenWrt开发:04---OpenWrt整体架构与功能组件

此外 OpenWrt 还为开发人员提供了一些开发支撑功能以及代码调试工具等,例如:

  • 编译工具链(gcc、binutils 和 libc)
  • build 固件工具(mksquashfs、mkcramfs)
  • 编译 SDK 功能,不用完全编译整个系统,即可编译单独模块
  • 可写磁盘分区,便于安装验证功能