《智能路由器开发指南》——1.2 整体功能组件

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介:
+关注继续查看

本节书摘来异步社区《智能路由器开发指南》一书中的第1章,第1.1节,作者:张永智 ,李章明,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 整体功能组件

1.2.1 整体架构

路由器的典型架构划分为管理平面、控制平面和数据转发平面,如图1-1所示。

5c5eb3933432c89b955b48a593047134815de396

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

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

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

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

1.2.2 网络功能

网络功能是路由器的核心功能,如图1-2所示。“Network”标签高亮显示表示正在使用网络管理功能,下一层标签是静态路由管理。主要包含以下几个功能。

网络接口设置和管理。
DHCP协议支持,家庭网内作为DHCP服务器,在广域网作为DHCP客户端。
主机及DNS功能,可以加快DNS响应和减少广域网DNS流量。
静态路由及组播路由功能。
便捷的网络问题诊断工具 ping、traceroute和nslookup等。
防火墙功能(IPv4网络地址转换、DMZ、报文过滤及防洪水攻击等)。
IP带宽控制(QoS)。
设备即插即用(UPnP)。

322f0c5197f8eb0227a81040b53a24577f2a09d7

1.2.3 系统管理

系统管理是路由器除了网络管理之外的其他管理功能,如图1-3所示。系统管理主要包含以下几个功能。

主机名称设置、日志服务器设置、NTP(网络时间)和密码设置等。
远程安全登录设置(SSH)。
软件管理/配置备份等,如图1-3所示。
进程启动管理及定时任务管理。
系统属性设置。如时区、时间设置及语言设置等。

1c45b7f1f7a615052da56d3ed83f18a0dc154b36

1.2.4 状态监控

状态监控主要用于监控路由器的当前状态,并且只能查看当前的路由器状态。如图1-4所示,“Status”标签高亮显示表示正在使用状态监控功能,下一层标签是“Overview”,用于查看路由器的系统状态和内存占用情况。状态监控主要包含以下几个功能。

查看系统固件版本、运行时间、平均负载及内存占用等。
网络状态、DHCP用户及无线用户等。
防火墙状态统计、路由转发表及ARP表。
系统日志和内核启动日志。
系统进程负载状态,包括CPU使用率及内存使用率。

72912f885ebdb7347c27455fe45784914265bbf3

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

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

相关文章
|
2月前
|
运维 测试技术 区块链
链动2+1模式系统开发指南流程丨成熟案例丨功能设计丨测试部署丨方案项目丨逻辑需求丨源码出售
链动2+1模式系统开发方案是指一个较为复杂的系统开发模式,其中包含两个公链和一个私链的组合。
|
2月前
|
存储 数据采集 数据挖掘
webGIS的功能
webGIS的功能
49 0
|
5月前
|
开发框架 JavaScript API
扩展应用功能的无限可能——UniApp生态系统中的组件库探索(二)(下)
扩展应用功能的无限可能——UniApp生态系统中的组件库探索(二)
|
5月前
|
开发框架 前端开发 JavaScript
扩展应用功能的无限可能——UniApp生态系统中的组件库探索(二)(上)
扩展应用功能的无限可能——UniApp生态系统中的组件库探索(二)
|
5月前
|
移动开发 JavaScript 小程序
扩展应用功能的无限可能——UniApp生态系统中的组件库探索(一)(上)
扩展应用功能的无限可能——UniApp生态系统中的组件库探索(一)
|
7月前
|
JavaScript 前端开发 数据库
Unity3d(webGL)构建数字孪生小案例(包含完整的数据交互体系)附赠完整代码
Unity3d(webGL)构建数字孪生小案例(包含完整的数据交互体系)附赠完整代码,请关注公众号:拼搏的小浣熊,获取简化版的代码!
|
10月前
|
vr&ar 图形学 Windows
CATIA等设计类软件实时渲染流化解决方案
**实时渲染技术可以实现在VR/AR眼镜中查看CATIA模型,其实不仅仅是VR和AR眼镜,还可以是手机、平板、电脑中直接打开网页就可以查看和浏览CATIA等3D模型。而VR/AR眼镜中通过实时渲染技术不仅仅可以查看CATIA模型,其他的比如BIM/Unreal/unity等模型也都是OK的。**那具体是怎么实现的呢?使用起来麻烦吗?能不能支持多人同时使用呢?关于这些对于实时渲染比较相关的问题,这里点量云小芹做统一解释说明。
124 0
CATIA等设计类软件实时渲染流化解决方案
|
JavaScript 开发者
组件式开发的优势
组件化最明显的两个优势:代码解耦和并行开发。通过不同维度和应用环境下进行不同程度的拆分,达到组件灵活配置,增加开发效率的目的。 所以细化来说,组件化就是根据功能和业务来拆分module,最后module组成模块,而后模块组装成应用。
588 0
|
缓存 前端开发 JavaScript
鸿蒙开发实例 | 分布式涂鸦
鸿蒙开发实例 | 分布式涂鸦
159 0
鸿蒙开发实例 | 分布式涂鸦
|
小程序 前端开发 物联网
微应用平台方案设想
微应用平台方案设想
123 0
相关产品
云迁移中心
推荐文章
更多