计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

浅析网络流量控制系统在开源路由器上的实现(3)

2013-11-18 01:06
导读:3.2流量模块 通过捕包模块获取数据包及其信息。通过IP地址,统计出各IP以及各IP网段的网络数据流量,并统计出总的上行和下行流量。通过端口,统计出

  3.2流量模块

    通过捕包模块获取数据包及其信息。通过IP地址,统计出各IP以及各IP网段的网络数据流量,并统计出总的上行和下行流量。通过端口,统计出TCP/UDP源和目的端口的流量。通过应用层payload字段的字符串特征符来统计相应网络应用的流量。当总体流量超过一定的限定值,而引起网络拥塞时,根据具体情况,选择以上流量统计中的一种作为依据,动态地调用TC,对网络流量进行控制。

  3.3流量控制模块

    流量控制的基本步骤为:(1)针对网卡建立一个队列;(2)取出数据包源/目的地址、源/目的端口、协议类型五元组信息;(3)通过DPI对到达的数据包进行识别;(4)根据用户要求,使用netfilter/iptables匹配功能,为匹配到的数据包打上mark值;(5)在这个建立的队列上再建立分类;(6)设置过滤器为每一分类建立选路,使数据流进人相应队列,并分配带宽;(7)数据包调度。

    以下是对BT流量控制〔12]进行设置的一个例子。

    iptables设置:

    iptables一A PREROUTING一t mangle一p tcp一m BT一J一set一mark 1 //'"} BT连接标记为“1"

    TC设置:

    tc qdisc add dev eth0 handle 1:0 root htb//创建HTB的根队列策略

    tc class add dev eth0 parent 1:0 classid 1:1 htb rate95000kbps cell 95000kbps //设置主类带宽

    tc class add dev eth0 parent 1:1 classid 1:2 htb ratelOkbps ceil 80kbps prio 3 //建立一个BT子类,设置带宽在l0k到80k之间

    tc qdisc add dev eth0 parent 1:2 handle 1:2:1 pfifo//对BT、子类建立FIFO队列策略

    tc filter add dev eth0 parent 1:0 protocol ip prio 100handle 1 fw classid 1:2 //设置过滤器,将标记为“1”的BT包送到1:2这个类中

    采用HTB规则为以太网卡绑定一个主队列,并创建根分类,然后可以选择通过IP地址、端口号或网络应用分出子类,之后结合iptables的mark值进行过滤,数据流进人相应分类的队列。但是为了保证网络用户的基本使用,系统对一些常规的业务直接输出,而不作控制。流量控制流程图如图2所示。

  4 DD一wRT的流量控制功能定制

    定制步骤如下:

    1)下载固件解压和压缩工具的源代码fimiware_moc}一tools. tar. gz,解压并编译这个工具;

上一篇:试论在铁路信号中计算机网络应用初探网 下一篇:没有了