等嵌入式系统。/ b7 K7 }' E2 p0 J2 a( Z
长期运行后,最常见的问题包括: 5 ~7 D o' `' U2 @ O/ Z3 w1. 内存泄漏(Memory Leak)这是最核心的问题。 + m0 o7 Y1 y- Y, ^* b4 f很多低端固件: " Y" B: }2 G6 ~& s7 u
无线驱动& A; E4 \2 o- G" W0 U
NAT 模块' B! ?( q ]9 ^, Y! S5 W* @
QoS; ?$ n' O0 { }* r$ T
Mesh 3 V* M: D1 ^( a; Q% ]
插件服务 7 Z8 j# i- F9 D7 Y# m; n3 e6 F: j/ e4 g9 @3 G
存在资源无法完全释放的问题。+ a' G0 e2 F* `
最终导致:0 D D$ Y5 Y; M6 \+ V
可用 RAM 下降 1 U7 z) s6 K- W
CPU interrupt 增加 ! j: ]: n5 x' s+ a5 |
Wi-Fi 延迟升高1 D+ J: K& [5 g1 ^3 X
丢包增加 ' e. B# T# r. ?2 e, i; b 3 c: A$ G( O0 _& W u* l
这类问题在开源路由软件研究中被长期观察到。8 v) d3 K& X* V! ?% w$ g
关于路由软件 bug 的研究指出,网络设备中的软件错误和资源管理异常,是造成稳定性下降的重要原因。 (Illinois Experts)6 L, Y8 ` \6 Q! I, f1 K a* ` 三、NAT 表与连接跟踪(conntrack)问题家庭路由器最大的压力来源之一:0 l. x4 p Q7 s# H
NAT 会话表。, L& B# y" t, |
尤其: , l& s0 ]! ~9 {# e
BT/PT 下载: U' B2 m; q. I3 S
NAS / @; T7 q. D% {" d" _
Docker : a2 i2 `; t8 U, s/ x1 f
智能家居 , z' X" [4 ^% ]2 f
视频监控 H% {& _5 J& D; m/ S# y/ ~1 K
大量 TCP/UDP 长连接 " q' F1 }9 [, i- r9 ~5 C% F; ? q, S7 Y
会导致:3 P9 ]9 N% S6 ?# s
conntrack table 持续增长4 Y, r0 H: v/ [4 U7 m% z- B
NAT session 堆积 ! ~! ^& y4 Q0 H6 Y
哈希冲突增加( q' o, c0 \; R: s+ m0 ?
$ L, X! Y; P: O; V; H; ^$ |$ e. Y$ N( h
相关研究指出: 4 c3 L% S; q, Z8 H5 N$ yNAT 是一种明显增加 CPU 与内存消耗的机制,会影响吞吐与延迟。 (VTechWorks) E! t" Q# E) d6 z
这也是为什么: ( ]" q3 F) O! S# ] g
下载越久越卡 9 x j5 d- |' d) C" V/ O" u9 E
玩游戏突然高 ping 2 X m5 @0 n8 q2 J2 I
重启后立刻恢复1 c* [$ Y0 o; m
/ o& t2 _5 t2 k7 k5 z
因为: . o: D: _) V4 }& }
重启直接清空 NAT 状态表。 " v9 d, x! [6 {3 H" t* s
四、缓存(Cache)与路由表问题路由器内部存在大量缓存: ' o: i" ?3 w5 X! a' D3 k4 R
FIB cache1 q6 G/ R" y. k& W" }% C1 |$ n: z
ARP cache/ X" _5 B! J5 H
DNS cache: W6 V: ~- q) B6 y
session cache- Y; j' `+ f0 u b3 J* E; _
) A, k, P, F. _
研究表明,路由缓存系统长期运行可能出现: ; f( X7 ?) w/ J, A; Y" ~- F
cache pollution+ V7 |9 j0 y' X* j7 M
queue delay5 c. u$ u! ]" _0 H& D. k
cache miss 增加, d/ O& {- P, Z
# b) Y; Z1 @, H2 r# B* u1 m/ E
最终影响转发效率。 (科学直通车), D+ T7 k# P. C0 ]! N
企业级设备一般有: 5 a9 Y9 Q" b5 Z. b
更大的 TCAM" |# d& w; [4 ]* j* t8 Z* V \/ @
更稳定的缓存管理 9 M; S# m w9 T' J
更好的 garbage collection9 U2 R- ?, z! x! b7 `: n
0 i6 D- H; m) e( B
而低端消费级设备常常没有。& v. d* Z* R0 v x1 s
于是:4 M. _$ k% c! k3 Z; g) D" _