知识大全 在Linux中实现流量控制

Posted 字节

篇首语:炒沙作縻终不饱,缕冰文章费工巧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Linux中实现流量控制相关的知识,希望对你有一定的参考价值。

在Linux中实现流量控制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  摘要: Linux从kernel 开始支持QOS 不过 需要重新编译内核 运行make config时将EXPERIMENTAL _OPTIONS设置成y 并且将Class Based Queueing (CBQ) Token Bucket Flow Traffic Shapers 设置为 y 运行 make dep; make clean; make bzilo 生成新的内核   Linux从kernel 开始支持QOS 不过 需要重新编译内核 运行make config时将EXPERIMENTAL _OPTIONS设置成y 并且将Class Based Queueing (CBQ) Token Bucket Flow Traffic Shapers 设置为 y 运行 make dep; make clean; make bzilo 生成新的内核       在Linux操作系统中流量控制器(TC)主要是在输出端口处建立一个队列进行流量控制 控制的方式是基于路由 亦即基于目的IP地址或目的子网的网络号的流量控制 流量控制器TC 其基本的功能模块为队列 分类和过滤器 Linux内核中支持的队列有 Class Based Queue Token Bucket Flow CSZ First In First Out Priority TEQL SFQ ATM RED 这里我们讨论的队列与分类都是基于CBQ(Class Based Queue)的 而过滤器是基于路由(Route)的       配置和使用流量控制器TC 主要分以下几个方面 分别为建立队列 建立分类 建立过滤器和建立路由 另外还需要对现有的队列 分类 过滤器和路由进行监视       其基本使用步骤为        ) 针对网络物理设备(如以太网卡eth )绑定一个CBQ队列        ) 在该队列上建立分类        ) 为每一分类建立一个基于路由的过滤器        ) 最后与过滤器相配合 建立特定的路由表       先假设一个简单的环境       流量控制器上的以太网卡(eth ) 的IP地址为 在其上建立一个CBQ队列 假设包的平均大小为 字节 包间隔发送单元的大小为 字节 可接收冲突的发送最长包数目为 字节       假如有三种类型的流量需要控制:        ) 是发往主机 的 其IP地址为 其流量带宽控制在 Mbit 优先级为        ) 是发往主机 的 其IP地址为 其流量带宽控制在 Mbit 优先级为        ) 是发往子网 的 其子网号为 子网掩码为 流量带宽控制在 Mbit 优先级为        建立队列       一般情况下 针对一个网卡只需建立一个队列       将一个cbq队列绑定到网络物理设备eth 上 其编号为 : 网络物理设备eth 的实际带宽为 Mbit 包的平均大小为 字节 包间隔发送单元的大小为 字节 最小传输包大小为 字节       ·tc qdisc add dev eth root handle : cbq bandwidth Mbit avpkt cell mpu        建立分类       分类建立在队列之上 一般情况下 针对一个队列需建立一个根分类 然后再在其上建立子分类 对于分类 按其分类的编号顺序起作用 编号小的优先 一旦符合某个分类匹配规则 通过该分类发送数据包 则其后的分类不再起作用        ) 创建根分类 : 分配带宽为 Mbit 优先级别为       ·tc class add dev eth parent : classid : cbq bandwidth Mbit rate Mbit maxburst allot prio avpkt cell weight Mbit       该队列的最大可用带宽为 Mbit 实际分配的带宽为 Mbit 可接收冲突的发送最长包数目为 字节 最大传输单元加MAC头的大小为 字节 优先级别为 包的平均大小为 字节 包间隔发送单元的大小为 字节 相应于实际带宽的加权速率为 Mbit        )创建分类 : 其父分类为 : 分配带宽为 Mbit 优先级别为       ·tc class add dev eth parent : classid : cbq bandwidth Mbit rate Mbit maxburst allot prio avpkt cell weight Kbit split : bounded       该队列的最大可用带宽为 Mbit 实际分配的带宽为 Mbit 可接收冲突的发送最长包数目为 字节 最大传输单元加MAC头的大小为 字节 优先级别为 包的平均大小为 字节 包间隔发送单元的大小为 字节 相应于实际带宽的加权速率为 Kbit 分类的分离点为 : 且不可借用未使用带宽        )创建分类 : 其父分类为 : 分配带宽为 Mbit 优先级别为       ·tc class add dev eth parent : classid : cbq bandwidth Mbit rate Mbit maxburst allot prio avpkt cell weight Kbit split :       该队列的最大可用带宽为 Mbit 实际分配的带宽为 Mbit 可接收冲突的发送最长包数目为 字节 最大传输单元加MAC头的大小为 字节 优先级别为 包的平均大小为 字节 包间隔发送单元的大小为 字节 相应于实际带宽的加权速率为 Kbit 分类的分离点为 :        )创建分类 : 其父分类为 : 分配带宽为 Mbit 优先级别为       ·tc class add dev eth parent : classid : cbq bandwidth Mbit rate Mbit maxburst allot prio avpkt cell weight Kbit split :       该队列的最大可用带宽为 Mbit 实际分配的带宽为 Kbit 可接收冲突的发送最长包数目为 字节 最大传输单元加MAC头的大小为 字节 优先级别为 包的平均大小为 字节 包间隔发送单元的大小为 字节 相应于实际带宽的加权速率为 Kbit 分类的分离点为 :        建立过滤器       过滤器主要服务于分类 一般只需针对根分类提供一个过滤器 然后为每个子分类提供路由映射        ) 应用路由分类器到cbq队列的根 父分类编号为 : 过滤协议为ip 优先级别为 过滤器为基于路由表       ·tc filter add dev eth parent : protocol ip prio route        ) 建立路由映射分类 : : :       ·tc filter add dev eth parent : protocol ip prio route to flowid :       ·tc filter add dev eth parent : protocol ip prio route to flowid :       ·tc filter add dev eth parent : protocol ip prio route to flowid :        建立路由       该路由是与前面所建立的路由映射一一对应        ) 发往主机 的数据包通过分类 转发(分类 的速率 Mbit)       ·ip route add dev eth via realm        ) 发往主机 的数据包通过分类 转发(分类 的速率 Mbit)       ·ip route add dev eth via realm        )发往子网 / 的数据包通过分类 转发(分类 的速率 Mbit)       ·ip route add / dev eth via realm       注 一般对于流量控制器所直接连接的网段建议使用IP主机地址流量控制限制 不要使用子网流量控制限制 如一定需要对直连子网使用子网流量控制限制 则在建立该子网的路由映射前 需将原先由系统建立的路由删除 才可完成相应步骤        监视       主要包括对现有队列 分类 过滤器和路由的状况进行监视        )显示队列的状况       简单显示指定设备(这里为eth )的队列状况     ·tc qdisc ls dev eth   qdisc cbq : rate Mbit (bounded isolated) prio no transmit       详细显示指定设备(这里为eth )的队列状况     ·tc s qdisc ls dev eth   qdisc cbq : rate Mbit (bounded isolated) prio no transmit   Sent bytes pkts (dropped overlimits )   borrowed overactions avgidle undertime       这里主要显示了通过该队列发送了 个数据包 数据流量为 个字节 丢弃的包数目为 超过速率限制的包数目为        )显示分类的状况       简单显示指定设备(这里为eth )的分类状况     ·tc class ls dev eth   class cbq : root rate Mbit (bounded isolated) prio no transmit   class cbq : parent : rate Mbit prio no transmit #no transmit表示优先级为   class cbq : parent : rate Mbit prio   class cbq : parent : rate Mbit prio   class cbq : parent : rate Mbit prio       详细显示指定设备(这里为eth )的分类状况     ·tc s class ls dev eth   class cbq : root rate Mbit (bounded isolated) prio no transmit   Sent bytes pkts (dropped overlimits )   borrowed overactions avgidle undertime   class cbq : parent : rate Mbit prio no transmit   Sent bytes pkts (dropped overlimits )   borrowed overactions avgidle undertime   class cbq : parent : rate Mbit prio   Sent bytes pkts (dropped overlimits ) cha138/Article/program/Oracle/201311/18945

相关参考

知识大全 Linux下客户端MAC地址控制(2)

Linux下客户端MAC地址控制(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者胡杨月

知识大全 linux怎么给一个普通用户reboot权限?

  分四种情况讨论  让任何人(包括根本不拥有系统帐号的人)都可以通过控制台reboot  在/etc/inittab文件中保留ca::ctrlaltdel:/sbin/shutdowntrnow  

给水控制系统正常工作时,()

给水控制系统正常工作时,()A、给水流量应随蒸汽流量迅速变化B、在汽包水位正常时,给水流量与蒸汽流量应基本相等C、补给水流量随机组负荷增减正比变化D、给水流量与减温水流量之和应与蒸汽流量相等参考答案:

给水控制系统正常工作时,()

给水控制系统正常工作时,()A、给水流量应随蒸汽流量迅速变化B、在汽包水位正常时,给水流量与蒸汽流量应基本相等C、补给水流量随机组负荷增减正比变化D、给水流量与减温水流量之和应与蒸汽流量相等参考答案:

给水控制系统运行维护中应做哪些工作?

给水控制系统运行维护中应做哪些工作?参考答案:给水控制系统运行维护中应做以下工作:1、每天应根据汽包水位、蒸汽流量及给水流量的记录曲线分析控制系统的工作情况,如发现问题应及时消除;2、定期比较汽包水位

给水控制系统运行维护中应做哪些工作?

给水控制系统运行维护中应做哪些工作?参考答案:给水控制系统运行维护中应做以下工作:1、每天应根据汽包水位、蒸汽流量及给水流量的记录曲线分析控制系统的工作情况,如发现问题应及时消除;2、定期比较汽包水位

知识大全 如何在Linux/390中定义SWAP卷

如何在Linux/390中定义SWAP卷  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  环境:S

知识大全 在Linux系统中搭建JSP开发环境

在Linux系统中搭建JSP开发环境  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者赵雪吴绍

知识大全 在Linux异构网络中备份MYSQL数据库(图)

在Linux异构网络中备份MYSQL数据库(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

I/O工艺介质上流量压力温度等测点作业的危险点和控制措施

I/O工艺介质上流量压力温度等测点作业的危险点和控制措施如下:步骤或活动:测量装置拆接线或接线检查危险点工具不合格(伤害类型:其他伤害)控制措施1、用工具前应进行检查,不完整的工具不准使用。危险点误碰