当前位置: 首页 > 专利查询>东南大学专利>正文

基于软件定义网络的端到端路径上逐跳链路丢包测量方法技术

技术编号:13071503 阅读:143 留言:0更新日期:2016-03-24 12:03
本发明专利技术提出一种基于软件定义网络的端到端路径上逐跳链路丢包测量方法,在一个软件定义网络中分别接入测量主机和目标主机,测量主机构建测量流发送到网络中,在第一个报文进入网络时,控制器为测量流维护流记录信息并向各交换机下发转发流表,各交换机根据流表转发测量流并记录转发的报文数,在测量结束以后,交换机将其转发的报文数信息发送给控制器,控制器收集各个交换机转发报文数信息后转发给测量主机,同时目标主机也将收到报文数转发给测量主机,测量主机根据各交换机和目标主机转发的报文数计算出各链路的丢包数。本发明专利技术可以测量出端到端路径上逐跳链路的丢包数,由此可以定位出端到端网络丢包性能瓶颈的位置。

【技术实现步骤摘要】

本技术涉及网络性能测量
,特别是。
技术介绍
软件定义网络SDN通过OpenFlow协议对交换机进行控制,交换机与控制器进行通信,并通过OpenFlow的协议控制器管理的交换机。OpenFlow的交换机包括一个或多个流表和一组表,执行分组查找和转发,和到一个外部控制器OpenFlow的信道。交换机收到一个新流的报文,在流表中没有匹配项,则发送Packet-1n消息给控制器,如果交换机缓存足够多,报文被临时放在缓存中,报文的部分内容(默认128字节)和在交换机缓存中的的序号也一同发给控制器;如果交换机缓存不足以存储报文,则将整个报文作为消息的附带内容发给控制器。交换机中的流表项因为超时、结束、修改等原因被删除掉,会触发Flow-removed消息,将流表的相关统计信息发送给控制器。在软件定义网络中,每个交换机在收到一个流的第一个报文时,交换机会向控制器转发第一个报文,控制器根据第一个报文的信息向交换机下发流表,这个流的后续报文就根据流表转发到下一个交换机,软件定义网络通过这种机制可以提高网络流中后续报文的快速转发效率。软件定义网络中交换机记录每个流转发报文的信息,在流结束的时候,交换机将流记录信息上传给控制器,由此根据每个交换机上传相同网络流的报文数之间的数量差可以估算出在两个交换机之间链路上丢失报文数。传统的丢包测量方法主要是采用从源主机发送到宿主机的ping报文,记录源主机发送ping报文的数量和宿主机应答ping报文的数量之间的差来估算出源宿主机端到端路径上的丢包率。目前还没有办法能够解决传统网络中这些丢包在每一跳链路上的分布情况,但是每一跳链路的丢包情况对网络故障和瓶颈链路的方法非常重要,为了解决这个问题,现有的解决方法有2种,一种是已经被测量网络的拓扑结构,测量网络中多个主机端到端丢包,然后根据网络拓扑结构建立性能矩阵进而推理出每个链路的丢包,这种方法存在以下几个问题:1.网络拓扑结构本身存在不稳定;2.为了能够实现网络拓扑结构中的链路丢包推断,要测量到网络中大量的端到端时延丢包;3.推理出的端到端丢包误差非常大。本专利技术就充分利用软件定义网络中OpenFlow协议的这两个特点进行链路的丢包测量,利用每个交换机转发网络流的报文数信息由此可以推断出交换机和交换机之间每条链路的丢包信息。
技术实现思路
本专利技术目的在于提供一种,可以直接采用通用目前软件定义网络的基本配置和特性,能够实现。本专利技术的技术方案是提供,其特征在于:步骤一、设置在一个软件定义网络SDN中有η个交换机,分别为交换机sl,...,交换机sn,有一个网络控制器c ;设置接入交换机sl的测量主机mh,测量主机mh的IP地址为mhip,设置接入交换机sn的目标主机sh,目标主机sh的IP地址为ship,在网络控制器c设置一个表格table,表格table由时刻、交换机IP地址、测量报文源IP地址和报文数4个属性列构成,进入步骤二 ;步骤二、测量主机mh构建一个源IP地址为mhip、宿IP地址为ship的由m个报文构成的网络流F,设定网络流F中的第一个报文P的内容标识为Measure,测量主机mh将报文P发送给交换机sl进入软件定义网络SDN,在软件定义网络SDN中,当前收到报文P的交换机是交换机sl,进入步骤二 ;步骤三、在软件定义网络SDN中当前收到报文P的交换机将报文P转发给控制器C,控制器C记录收到报文P的时刻为tcb ;控制器c为报文P生成转发流表并下发给当前收到报文P的交换机,进入步骤四;步骤四、网络控制器c读取测量报文P的内容标识,如果内容标识不为Measure,则进入步骤五;否则网络控制c的表格table中增加一行,将网络控制器c收到报文P的时刻tcb记录在新生成行的时刻的属性列中,将当前收到报文P的交换机IP地址记录在table新生成行的交换机IP地址的属性列中,将报文P的源IP地址记录在表格table新生成行的测量报文源IP地址的属性列中,将表格table新生成行的报文数的属性列设为0,进入步骤五;步骤五、当前收到报文P的交换机根据控制器c下发的转发流表为网络流F维护一个网络流F的报文数计数器和报文P的源IP地址,设置网络流F的报文数计数器初始值为1,并按照网络流F的转发流表将报文P发送给下一跳,如果下一跳是目标主机sh,则目标主机sh为网络流F维护一个报文数计数器,设置初始值为1,进入步骤六,否则下一跳是软件定义网络SDN中当前接收报文P的交换机,回到步骤三;步骤六、测量主机mh将网络流F的后续报文按照顺序发送到软件定义网络SDN中,如果交换机收到网络流F的后续报文,则交换机按照网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机将报文数更新在网络流F的报文数计数器中;如果目标主机sh收到网络流F的后续报文,则更新目标主机中的网络流F的报文数计数器;如果交换机和目标主机sh收到网络流F的报文发生超时进入步骤七,否则回到步骤六;步骤七、各个交换机将交换机中的网络流F的转发流表从交换机的转发流表中删除,同时将网络流F的报文数计数器的值、交换机的IP地址和报文P的源IP地址发送给网络控制器c,进入步骤八;步骤八、控制器c根据收到的各个交换机的IP地址和报文P的源IP地址信息逐个与表格table中的交换机IP地址属性列及测量报文源IP地址属性列进行匹配,如果在表格table中能够找到相匹配的行,则用网络流F的报文数计数器的值更新相匹配的行的报文数属性列,然后网络控制器c将相匹配的行记录信息发送给测量主机mh,否则不进行更新;进入步骤九;步骤九、目标主机sh将目标主机sh中的网络流F的报文数计数器的值发送给测量主机mh,进入步骤十;步骤十、测量主机mh将收到的控制器c所发送表格table的多条记录信息按照其中的table中时刻的先后顺序排序,得到测量主机mh到目标主机sh之间的路由信息,并将每个链路的前一个交换机收到的报文数减去后一个交换机收到的报文数的值作为每个链路的丢包数,将测量主机mh发送报文数减去交换机sl收到的报文数的值作为测量主机mh到交换机sl的链路丢包数,将交换机sn收到的报文数减去目标主机sh收到的报文数的值作为交换机sn到目标主机sh的链路丢包数,方法结束。与现有技术相比,本专利技术具有如下优点及有效效果:(1)传统端到端丢包测量方法是采用ping从源点发送报文到达宿点,根据宿点反馈的报文数量用以估算端到端的丢包,但是网络丢包在那条链路上是最大的、性能故障瓶颈具体在什么地方、报文通过每个交换机、链路的丢包当前第1页1 2 3 4 本文档来自技高网
...

【技术保护点】
一种基于软件定义网络的端到端路径上逐跳链路丢包测量方法,其特征在于:步骤一、设置在一个软件定义网络SDN中有n个交换机,分别为交换机s1,...,交换机sn,有一个网络控制器c;设置接入交换机s1的测量主机mh,测量主机mh的IP地址为mhip,设置接入交换机sn的目标主机sh,目标主机sh的IP地址为ship,在网络控制器c设置一个表格table,表格table由时刻、交换机IP地址、测量报文源IP地址和报文数4个属性列构成,进入步骤二;步骤二、测量主机mh构建一个源IP地址为mhip、宿IP地址为ship的由m个报文构成的网络流F,设定网络流F中的第一个报文P的内容标识为Measure,测量主机mh将报文P发送给交换机s1进入软件定义网络SDN,在软件定义网络SDN中,当前收到报文P的交换机是交换机s1,进入步骤三;步骤三、在软件定义网络SDN中当前收到报文P的交换机将报文P转发给控制器c,控制器c记录收到报文P的时刻为tcb;控制器c为报文P生成转发流表并下发给当前收到报文P的交换机,进入步骤四;步骤四、网络控制器c读取测量报文P的内容标识,如果内容标识不为Measure,则进入步骤五;否则网络控制c的表格table中增加一行,将网络控制器c收到报文P的时刻tcb记录在新生成行的时刻的属性列中,将当前收到报文P的交换机IP地址记录在table新生成行的交换机IP地址的属性列中,将报文P的源IP地址记录在表格table新生成行的测量报文源IP地址的属性列中,将表格table新生成行的报文数的属性列设为0,进入步骤五;步骤五、当前收到报文P的交换机根据控制器c下发的转发流表为网络流F维护一个网络流F的报文数计数器和报文P的源IP地址,设置网络流F的报文数计数器初始值为1,并按照网络流F的转发流表将报文P发送给下一跳,如果下一跳是目标主机sh,则目标主机sh为网络流F维护一个报文数计数器,设置初始值为1,进入步骤六,否则下一跳是软件定义网络SDN中当前接收报文P的交换机,回到步骤三;步骤六、测量主机mh将网络流F的后续报文按照顺序发送到软件定义网络SDN中,如果交换机收到网络流F的后续报文,则交换机按照网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机将报文数更新在网络流F的报文数计数器中;如果目标主机sh收到网络流F的后续报文,则更新目标主机中的网络流F的报文数计数器;如果交换机和目标主机sh收到网络流F的报文发生超时进入步骤七,否则回到步骤六;步骤七、各个交换机将交换机中的网络流F的转发流表从交换机的转发流表中删除,同时将网络流F的报文数计数器的值、交换机的IP地址和报文P的源IP地址发送给网络控制器c,进入步骤八;步骤八、控制器c根据收到的各个交换机的IP地址和报文P的源IP地址信息逐个与表格table中的交换机IP地址属性列及测量报文源IP地址属性列进行匹配,如果在表格table中能够找到相匹配的行,则用网络流F的报文数计数器的值更新相匹配的行的报文数属性列,然后网络控制器c将相匹配的行记录信息发送给测量主机mh,否则不进行更新;进入步骤九;步骤九、目标主机sh将目标主机sh中的网络流F的报文数计数器的值发送给测量主机mh,进入步骤十;步骤十、测量主机mh将收到的控制器c所发送表格table的多条记录信息按照其中的table中时刻的先后顺序排序,得到测量主机mh到目标主机sh之间的路由信息,并将每个链路的前一个交换机收到的报文数减去后一个交换机收到的报文数的值作为每个链路的丢包数,将测量主机mh发送报文数减去交换机s1收到的报文数的值作为测量主机mh到交换机s1的链路丢包数,将交换机sn收到的报文数减去目标主机sh收到的报文数的值作为交换机sn到目标主机sh的链路丢包数,方法结束。...

【技术特征摘要】

【专利技术属性】
技术研发人员:程光
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1