本篇会介绍Tor系统的休眠模块。休眠模块的代码处于源文件Hibernation.c之中。简单的说,其主要作用就是在适当的时机将系统进入休眠状态以保护系统资源被过度消耗;或者在适当的时机重新唤醒系统以达到重新为全局服务的目的。在默认的系统配置下,客户端的休眠模块是被关闭的,也就是说客户端永远不会进入休眠态。而Tor系统中的工作路由服务器则并非如此。他们很多时候需要设置一些为网络服务的策略和带宽,那么他们就需要对自己为Tor系统做出的贡献做一定的限制。单纯从流量角度来说,或许有一些OR服务器不愿意在一段时间内,允许流过自身的数据量超过一个非常大的范围。所以,OR服务器运行其自身的Tor程序时,进行了相关配置,要求其检查固定时间内流过的数据量。如果该数据量较小,则服务器可以忍受;若数据量非常大,则服务器会让其Tor程序进入休眠状态,提供少量服务,甚至最后不提供服务。
…