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

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

ID:9766591

大小:53.50 KB

页数:4页

时间:2018-05-08

浅析网络流量控制系统在开源路由器上的实现的论文_第1页
浅析网络流量控制系统在开源路由器上的实现的论文_第2页
浅析网络流量控制系统在开源路由器上的实现的论文_第3页
浅析网络流量控制系统在开源路由器上的实现的论文_第4页
资源描述:

《浅析网络流量控制系统在开源路由器上的实现的论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浅析网络流量控制系统在开源路由器上的实现的论文  论文关键词:开源路由器 流量统计 流量控制 网络应用 网络拥塞  论文摘要:路由器是接人网络的关键设备,为了防止网络流量过大而造成网络拥塞的状况,设计了一种在路由器上的网络流量控制系统。dd-a方式拷贝到内核缓冲区的环形队列中,再把网卡缓冲区中收到的这些包丢弃,不把它们传人内核协议栈缓存区中进行排队。环形缓存区在每个套接字被建立时分配,直到套接字关闭时,环形缓存区才被释放。每次由网卡缓存区拷人内核环形缓存区时,不会进行分配和去配的操作,而是新到的包按环形的方式,将原有的包覆盖。pf_ring技术还提供了

2、对mmap技术的支持。该技术将用户应用程序空间映射到内核缓存区,从而省略了将数据从内核缓存区向用户缓存区的拷贝操作。这样可以节省一次拷贝所占用的系统资源和缩短包处理的时间,从而提高了捕包的效率。  2.2流量统计方案(1)按照ip地址汇聚。系统对源和目的ip地址进行流量汇聚,统计出各ip地址单位时间内的上行流量和下行流量。这种统计方式能反映出本地各主机、各网段的网络负载情况,系统可以此为依据,进行路由调整及流量控制。(2)按照端口号汇聚。tcpiljdf’的端口号代表网络上的不同应用(http,f"ip,p2p等,按照单位时间内访问的tcp/udi〕端

3、口来统计流量,可以查看各端口的流量分布情况,当网络出现异常时,可按照端口号来进行流量控制。(3)按照网络应用汇聚。常规的网络应用一般通过常用的端口就可以识别,并进行流量统计,然而p2p技术不断地发展演进,其拓扑结构从最初的集中式发展到纯分布式再到目前的混和式架构,其端口特性也由最初的固定端口发展到随机动态端口再到伪装端口。所以,系统对应用进行统计,主要是对p2p应用的解析统计。对p2p应用的解析,首先是经过以太网解析,获取ip数据包,然后再通过网络层和传输层解析,得到源目的ip地址、源目的端口、传输层协议类型和完整的payload信息。由于p2p协议一

4、般动态使用非知名端口进行通信,因此仅仅根据端口来检测p2p流是不准确的,必须进行应用层协议识别。在应用层识别过程中,根据协议格式以及消息里的特征字符串,采用深度包检测(dpi)方法来识别p2p业务。深度包检测时采用模式匹配方法查找特征字符串。例如,可以根据特征字符串“0x13bittorrentprotocol”检测出bit-torrent协议数据包,根据特征字符串“oxe319010000"检测出edonkey2000协议数据包。根据网络应用统计流量就是要按照这些特征字符串来进行流量汇聚。同时,解析p2p协议,也为按应用进行流量控制提供了一种可靠的手

5、段。  2.3带宽分配机制linux内核提供了强大的带宽管理代码,它主要使用规则过滤工具filter/iptables和路由工具包的流量控制命令tc相结合的方式来进行带宽控制。filter/iptablesip信息包过滤系统实际上是由两个组件filter和iptables组成的。filter组件被称为内核空间(kernel印ace),是内核的一部分,主要由一些信息包过滤表组成,这些表中包含内核用来控制信息包过滤处理的规则集。iptables组件则是一种规则过滤工具,它称为用户空间(userspace),主要用于插人、修改和除去信息包过滤表中的规则。tc

6、是linux环境下一种功能强大的网络流量控制软件,它可以分为三个部分:队列策略((,lueuedisci-pline)、分类器(classifier)和过滤器(filter)。队列策略实质是一些算法,控制如何处理进入队列的报文。队列策略算法主要有fifo(先进先出),red(随机早期探测)、cbq(类基队列)和htb层次令牌桶)等。过滤器按照过滤条件,将数据报进行分类处理。一般来说,数据报的处理步骤如下:队列策略对数据报文进行调度,过滤器根据报文信息来决定把它放人到哪一个类中。在不同的类中,每个类也包含一个队列策略,同样进行调度、分类,将报文按照既定的

7、规则排序发送出去。  3系统实现  3.1捕包模块模块采用pf_ring套接字的方式,用户层通过调用socket(pf_ring,sock一rap;sa,sizeof(sa))将。cket绑定到本地ip和端口。sock-et和bind实际上分别调用了ring_create和ring_bind,而这两个函数的作用就是为套接字创建一个环形缓冲区,然后将其绑定到一个设备上。通过建立的pf_ring套接字就可以进行数据传输了。由于用户空间采用了直接访问内核空间的环形缓冲区的方式,所以效率比原来的libpcap有了明显提高。之所以称之为环形缓冲区是因为在连续的内

8、存中有一个f1oark值;(5)在这个建立的队列上再建立分类;(6)设置过滤器为每一分类建立选

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。