- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于B方法流量控制系统实现
基于B方法流量控制系统实现
【摘要】 通过对形式化B方法的研究,结合网络流量控制系统模型,讨论了该模型在形式化B方法下的具体应用,给出了该系统的抽象机模型和精化过程。
【关键词】 B方法;流量控制;特征码
随着网络应用的日益增多和新的网络技术的不断出现,网络流量的控制和管理面临着新的挑战。尤其是P2P技术的出现,给网络路由器造成了极大的负担,导致很多正常的网络业务无法正常运转。由此,市场上出现了流量控制系统,在一定程度缓解了流量对带宽造成的压力。但是目前的流量控制系统对协议识别率普遍较低,存在很多误识别现象,给管理员的管理工作带来很多不便。为了使协议识别更加精确,策略的配置更加合理,将采用形式化B方法对系统进行建模、精化,在FreeBSD下实现该系统。
一、形式化B方法与流量控制系统
1.形式化B方法概述。B方法是一种对软件系统进行描述、设计和编码的方法。这种方法涵盖了软件开发的各个方面,通过一系列的精化步骤进行设计,产生了层次性体系结构及代码。建立在Zermelo - Frankel 集合论的基础上,能够严格地进行形式化规格说明的正确性证明。采用抽象机符号(Abstract Machine Notation,AMN)对软件的规格说明进行类型检测、动态验证、数学证明等确保设计过程的正确,具有精确性、无二义性、一致性、能进行推理等特点。AMN 中结构化的机制增强了信息隐藏和数据封装,严密的部件接口控制确保了大型开发中各个部件的独立开发。
2.流量控制系统概述。流量控制系统一般部署在内网网关和路由器之间,对进出口的流量进行控制。网络流量控制模型一般包括流量分类器、队列管理器、流量整形器和流量监测器等几个部分。数据包首先经过流量分类器,根据数据包的特征对该流量进行特征码识别,接着对识别后的数据包进行分类汇总,再按照事先配置好的策略、优先级将数据包发送至队列管理器,如果该数据包是被禁用协议,则直接将该包丢弃。
在整个流量控制系统中,流量分类器起着最关键的作用,它是后续模块的基础;队列管理器收到不同的数据包后,通过不同的队列调度算法,分配相应的通道带宽,并对关键业务分配保证带宽,保障其网络业务正常进行;流量整形是调整数据传输的平均速率,是数据按照传输模式规定的速率进行传输,尽量避免突发性通信量导致的拥塞问题,主要采用的算法有令牌桶算法;流量检测器能够对数据包的识别、数据包的传输进行监测分析,实时生成图表和报表,供管理员参考。
二、开发过程
1.非形式的规范。一个数据包(Packet)包含源IP地址SourceIP、目的IP地址DestinationIP、源端口SourcePort、目的端口DestionationPort、协议Protocol、数据Data几部分组成。其中协议分为TCP和UDP。当数据包进入分类器(Filter)后,分类器分别检测数据包的几个组成部分,接着设置(set)数据包的状态(state)、数据通道(pipe),根据检测结果将其发送(send)至队列管理器或直接丢弃(drop)。队列管理器(Queue)首先创建(create)不同的通道带宽(Pipe),接着读取数据包的数据通道的值,将其发送至相应的通道。流量整形器(Flow)最后将数据发送至数据出口。流量检测器(Monitor)用于生成图表(graphic)(如图所示):
2.规约开发。根据非形式规范分别对各个抽象机进行规约描述。下面建立分类器Filter抽象机。Filter抽象机封装了数据包的各种信息,集合PROTOCOL用来保存数据包可能的各种协议,集合STATE用来保存数据包的两种状态,集合PIPE用来保存数据包所要进入的带宽队列(由策略预先制定)。Filter抽象机执行2个操作,drop操作将符合丢弃策略(BlockIP、BlockPort、BlockData)的数据包直接丢弃掉,send操作将其他的数据包转发至队列管理器,并设置该数据包所要进入的带宽pipe,将数据包带宽策略设置为100KB。
MACHINE
Filter(SourceIp,DestinationIp,SourcePort,DestionationPort,Protocol,Data)
SETS
PROTOCOL={tcp,udp}
STATE=[block,pass]
PIPE=[100KB,500KB,1MB]
CONSTANTS
SourceIp∈ipAddress∧
DestinationIp∈ipAddress∧
SourcePort∈NAT∧
SourcePort
st
文档评论(0)