Linux流量控制1
Linux流量控制1--排队规则
2008-07-31 15:26
Linux操作系统中的流量控制框架创建了一个通用环境,它集成了所有用于限制和流量整形的可以互联的不同元素。在实际操作中这些元素甚至可以作为一个模块动态地加载和卸载。
TC(Traffic Control)工具提供了一个命令行用户接口来配置Linux流量控制。该工具让用户可以设定并配置几乎所有的流量控制框架要素,比如排队规则(qdisc)、类(class)及过滤器(filter),他们之间的关系见下图。
排队规则:每个网络设备配有一个排队规则。通常,要发送的报文被送到一个排队规则中并且按照特定规则在此队列中排序。
类:排队规则可以有多个接口,这些接口用于向队列管理插入报文。在单个排队规则中,可以把报文分配到不同的类。
过滤器:通常用来将外发报文分片到排队规则的类中。
排队规则
Linux可支持无类排队规则和分类排队规则。无类排队规则包括FIFO(先进先出)、TBF(令牌桶过滤器)、SFQ(随机公平队列)等;分类排队规则包括PRIO(优先级)、CBQ(类基队列)、HTB(分层令牌桶)等。
FIFO
FIFO(pfifo_fast)
先进先出。它的队列包括三个波段(band)。在每个波段里面,使用先进先出规则。而三个波段的优先级也不相同,band 0的优先级最高,band 2的最低。如果band 0里面有数据包,系统就不会处理band 1里面的数据包,band 1和band 2之间也是一样。数据包是按照服务类型(Type of Service,TOS)被分配多三个波段里面的。
pfifo_fast 队列规定作为硬性的缺省设置,不能对它进行配置。
TBF & HTB
令牌桶过滤器(Token Bucket Filter,TBF)是一个简单的队列,它只允许以不超过事先设定的速率到来的数据包通过,但可能允许短暂突发流量超过设定值。
TBF 的实现在于一个缓冲器(桶),它不断地被一些称为令牌的虚拟数据以特定速率填充。桶最重要的参数就是它的大小,也就是它能够存储令牌的数量。每个到来的令牌从数据队列中收集一个数据包,然后从桶中被删除。如下图。
这个算法将令牌流和数据流进行了紧密的关联,我们有以下三种情景:
数据流以等于令牌流的速率到达TBF。这种情况下,每个到来的数据包都能对应一个令牌,然后无延迟地通过队列。
&nbs
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
Linux内存初始化技术(initrd)用于支持两阶段的系统引导过程,是在系统启动过程中被挂载的临时root文件系统(译者注:这里的root文件系统是指的根文件系统)。initrd包含很多可执行程序和驱动,并允许在临时的内存磁盘根文件系统被卸载,内存被释放后挂载真实的root文件系统。在许多嵌入式Linux文件系统中,initrd是最终的 ......
getenv(取得环境变量内容)
相关函数 putenv,setenv,unsetenv
表头文件 #include<stdlib.h>
定义函数 char * getenv(const char *name);
函数说明 getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回 ......
高级 Linux 命令精通指南,第 3 部分:资源管理
作者:Arup Nanda
2009 年 1 月发表
在此部分中,了解用于监视物理组件的高级 Linux 命令
Linux 系统由若干主要物理组件组成,如 CPU、内存、网卡和存储设备。要有效地管理 Linux 环境,您应该能够以合理的精度测量这些资源的各种指标 — 每个组件处理多少资源、 ......
1. modprobe 加载内核模块
a) 在 /etc/module.conf 中查找别名
b) 在 lib/modules/version/module.dep 中判断是否有依赖模块需要被提前加载(该文件被depmod-a建立)
2. 2.4内核中不一定非用init_module和cleanup_module做开始和结束的函数,但需要用module_init和
module_exit申明。
......