首页> 中国专利> 基于软件定义网络的端到端路径上逐跳时延测量方法

基于软件定义网络的端到端路径上逐跳时延测量方法

摘要

一种基于软件定义网络的端到端路径上逐跳时延测量方法,测量主机和目标主机分别接入软件定义网络,测量主机构建测量报文发送给目标主机,测量报文被转发的交换机转发给控制器,控制器生成转发流表下发给交换机,控制器同时测量、计算出交换机收到测量报文和交换机收到转发流表的时刻并将信息转发给测量主机,同理测量主机获取测量主机和目标主机中路径上其它每个交换机收到测量报文的时刻信息,目标主机也将收到测量报文的时刻信息发送给测量主机,测量主机根据收集到的信息计算出逐跳链路时延;本发明可以测量端到端路径上每条链路的时延情况,由此定位出端到端网络时延性能瓶颈的位置。

著录项

  • 公开/公告号CN105515895A

    专利类型发明专利

  • 公开/公告日2016-04-20

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201510852641.4

  • 发明设计人 程光;

    申请日2015-11-30

  • 分类号H04L12/26(20060101);H04L12/24(20060101);H04L12/733(20130101);

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人柏尚春

  • 地址 210096 江苏省南京市四牌楼2号

  • 入库时间 2023-12-18 15:37:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-20

    授权

    授权

  • 2016-05-18

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20151130

    实质审查的生效

  • 2016-04-20

    公开

    公开

说明书

技术领域

本技术涉及网络性能测量技术领域,特别是基于软件定义网络的端到端路径上逐跳时延 测量方法。

背景技术

软件定义网络(SDN,Software-DefinedNetwork)是一种新型的网络架构,与传统 网络不同的是它提出了将网络中控制面和数据面分离的思想,使网络中的路由器与交换机只 需要负责转发,而不需要再做相关的路由决策以及路径学习等。在SDN网络中,由集中式 的控制器负责对全局进行控制和管理,通过对每个节点下发流表来控制数据的流向。传统网 络中的时延测量大部分是端到端的测量,多数是采用统计与估算等策略,缺乏一定的实时性 与准确性,由于SDN的网络结构相对于传统网络有较大的变革,除了传统网络中利用SNMP 报文进行端到端的时延测量以外,利用SDN集中控制和可编程控制器的特点可以更加灵活 地对网络中相邻节点之间的链路进行时延测量。现有的SDN时延测量技术包括一种向探测 包上添加时间戳的方法,该方法要求待测量链路的发送端交换机向接收端交换机连续发送探 测包,并在发送端添加发送时间戳,接收端交换机接收探测包同时添加接收时间戳,通过对 两个时间戳的计算得到链路单向时延。但是该方法要求具备特定功能的SDN交换机(向数 据包中添加时间戳),而普通的SDN网络中的交换机是不具备这种功能的,这就导致了该 方法在应用当中的局限性。

传统的网络时延测量方法主要是采用从源主机发送到宿主机,记录发送报文离开源主机 的时间和到达宿主机的时间,由此可以计算出源宿主机之间的端到端单向时延;但是源主机 和宿主机之间的交换机的链路时延没有办法知道。为了解决这个问题,现有的解决方法有2 种,一种是已经被测量网络的拓扑结构,测量网络中多个主机端到端时延,然后根据网络拓 扑结构建立性能矩阵进而推理出每个链路的时延,这种方法存在以下几个问题:1.网络拓 扑结构本身存在不稳定;2.为了能够实现网络拓扑结构中的链路时延推断,要测量到网络 中大量的端到端时延信息;3.推理出的端到端时延误差非常大。

另外一种方法是采用traceroute发送测试报文,测量出每个通过向目标发送不同IP 生存时间(TTL)值的″Internet控制消息协议(ICMP)″回应数据包,Tracert诊断程序确 定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL递减1。数据包上的TTL减为0时,路由器应该将″ICMP已超时″的消息发回源 系统。

在软件定义网络中,每个交换机在收到一个流的第一个报文时,交换机会向控制器转发 第一个报文,控制器根据第一个报文的信息向交换机下发流表,这个流的后续报文就根据流 表转发到下一个交换机。软件定义网络通过这种机制可以提高网络流中后续报文的快速转发 效率。本发明就充分利用软件定义网络这个特点,利用每个流的第一个报文信息由此可以推 断出交换机和交换机之间每条链路的时延信息。

发明内容

本发明目的在于提供一种基于软件定义网络的端到端路径上逐跳时延测量方法,可以直 接采用通用目前软件定义网络的基本配置和属性,能够实现采用软件定义网络对网络端到端 路径上的逐跳各个链路的时延测量方法。

本发明的技术方案是提供基于软件定义网络的端到端路径上逐跳时延测量方法,其特征 在于:

步骤1.设置在一个软件定义网络SDN中有n个交换机,分别为交换机s1,...,交换机 sn,一个网络控制器c,设置测量主机mh接入交换机s1,测量主机mh的IP地址为mhip, 目标主机sh接入交换机sn,目标主机sh的IP地址为ship,进入步骤2;

步骤2.测量主机mh构建一个源IP地址为mhip、宿IP地址为ship的报文P,设置 报文P内容标识为Measure,测量主机mh将报文P发送给交换机s1进入软件定义网络 SDN,测量主机mh记录发送报文P的时刻tmh,在软件定义网络SDN中,当前收到报 文P的交换机是交换机s1,进入步骤3;

步骤3.在软件定义网络SDN中的当前收到报文P的交换机将报文P转发给控制器c, 控制器c记录收到报文P的时刻为tcb;控制器为报文P生成转发流表下发给当前收到报文 P的交换机,同时记录发送给当前收到报文P的交换机转发流表的时刻tce,进入步骤4;

步骤4:控制器c读取报文P的内容标识,如果内容标识为Measure,则进入步骤5, 否则步骤7;

步骤5.控制器c向当前收到报文P的交换机发送请求报文,控制器c记录发送请求报 文的时刻为t1,当前收到报文P的交换机收到请求报文后反馈应答报文,控制器c记录收 到反馈应答报文的时刻为t2,控制器c计算控制器c和当前收到报文P的交换机之间的时 延delay为(t2-t1)/2,进入步骤6;

步骤6:控制器c计算当前收到报文P的交换机在收到报文P的时刻tsb,tsb=tcb-delay; 控制器c计算当前收到报文P的交换机在收到转发流表的时刻tse,tse=tce+delay;控制 器c将当前收到报文P的交换机的IP地址、当前收到报文P的交换机在收到报文P的时刻 tsb、当前收到报文P的交换机在收到转发流表的时刻tse三个属性值构成的信息发送给测 量主机mh,进入步骤7;

步骤7:当前收到报文P的交换机将报文P按照转发流表发送给下一跳,如果下一跳是 目标主机sh,则进入步骤8,否则下一跳是软件定义网络SDN中当前接收报文P的交换机, 回到步骤3;

步骤8:目标主机sh记录所述目标主机sh收到报文P的时刻tsh,目标主机sh将收到 报文P的时刻tsh的信息发送给测量主机mh,进入步骤9;

步骤9:测量主机mh对收到的控制器c所发送的各组三个属性值构成的信息按照其中 的各个交换机收到报文P的时刻tsb的先后顺序进行排序,得到测量主机mh到目标主机 sh之间的路由信息,并将每个链路的后一个交换机的收到报文P的时刻tsb减去前一个交 换机的收到转发流表的时刻tse的值作为每个链路的时延值,将第一个收到报文P的交换机 s1在收到报文P的时刻tsb减去测量主机mh发送报文P的时刻tmh的值作为测量主机 mh到交换机s1的链路时延值,将目标主机sh收到报文P的时刻tsh减去收到报文P的 交换机sn在收到转发流表的时刻tse的值作为交换机sn到目标主机sh的链路时延值,方 法结束。

与现有技术相比,本发明具有如下优点及有效效果:

(1)传统端到端时延测量方法是从源点发送报文到达宿点,根据报文通过源点和宿点 的时间差可以推算出端到端的网络时延,但是网络时延性能故障瓶颈具体在什么地方,报文 通过每个交换机、链路的性能是无法知道。本发明提出的方法可以测量出端到端路径上的每 个交换机之间链路的时延情况,对比每条链路上的时延大小,其中逐跳时延最大的链路就是 端到端网络性能瓶颈所在,由此采用本发明就可以定位出网络性能故障的瓶颈。

(2)传统通过traceroute进行端到端路由测量需要至少发送路由跳数的报文。本发明 只需要在测量主机向目标主机发送一个报文测量,软件定义网络控制器将测量报文通过每个 交换机的信息反馈给测量主机,由此测量主机只需要发送一个报文就可以测量出端到端路径 逐跳链路上的所有时延信息。

(3)本发明在测试报文中增加了测量报文标签Measure,由此控制器在收到正常报文 和测量报文时候,就可以根据测量报文的标签Measure,控制器由此可以将测量报文和正 常流量分开,控制器对于正常报文按照正常的处理方法,而测量报文就按照本发明的方法进 行处理,因此不会因为测量报文而影响正常流量的性能转发;

(4)软件定义网络中一个交换机在收到一个流的第一个报文的时候会将该报文转发给 控制器,由控制器生成转发流表下发给交换机,后续的报文将根据转发流表进行自动转发。 本发明充分利用在软件定义网络利用交换机在收到一个流的第一个报文时候会将该报文发 送给控制器的特点,测量出测量报文到达交换机的时间信息,由此实现了对端到端路径上逐 跳链路之间的时延性能测量。

附图说明

为了更清楚地说明本发明实施实例的技术方案,下面将对实施实例或现有技术描述中所 需要使用的附图做简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施实例。

图1:基于软件定义网络的端到端路径上逐跳时延测量方法的流程图。

图2:基于软件定义网络的端到端路径上逐跳时延测量方法网络拓扑结构图示例。在该 例子软件定义网中,有一个控制器c,其中有5个交换机s1,s2,s3,s4,s5。测量主机mh 和目标主机sh,测量主机发送测量报文P的路径为s1,s4,s5。其中标记为P的虚线为测量 主机mh和目标主机sh之间发送报文P的端到端路径。标记为1的虚线为交换机收到报文 P将报文P转发给控制器c,标记为2的虚线表示控制器向交换机下发转发报文P的流表, 标记3的虚线表示控制器c将测量到的三元组信息发送给测量主机mh,标记4的虚线表示 目标主机sh将测量到的二元组信息发送给测量主机mh。

具体实施方式

下面将结合本发明实施实例中的附图,对本发明实施实例中的技术方案进行清楚、完整 地描述,当然所描述的实施实例仅仅是本发明一部分实施实例,而不是全部的实施实例。

实施实例1

基于软件定义网络的端到端路径上逐跳时延测量方法,其特征在于:

步骤1.设置在一个软件定义网络SDN中有n个交换机,分别为交换机s1,...,交换机 sn,一个网络控制器c,设置测量主机mh接入交换机s1,测量主机mh的IP地址为mhip, 目标主机sh接入交换机sn,目标主机sh的IP地址为ship,进入步骤2;

步骤2.测量主机mh构建一个源IP地址为mhip、宿IP地址为ship的报文P,设置 报文P内容标识为Measure,测量主机mh将报文P发送给交换机s1进入软件定义网络 SDN,测量主机mh记录发送报文P的时刻tmh,在软件定义网络SDN中,当前收到报 文P的交换机是交换机s1,进入步骤3;

步骤3.在软件定义网络SDN中的当前收到报文P的交换机将报文P转发给控制器c, 控制器c记录收到报文P的时刻为tcb;控制器为报文P生成转发流表下发给当前收到报文 P的交换机,同时记录发送给当前收到报文P的交换机转发流表的时刻tce,进入步骤4;

步骤4:控制器c读取报文P的内容标识,如果内容标识为Measure,则进入步骤5, 否则步骤7;

步骤5.控制器c向当前收到报文P的交换机发送请求报文,控制器c记录发送请求报 文的时刻为t1,当前收到报文P的交换机收到请求报文后反馈应答报文,控制器c记录收 到反馈应答报文的时刻为t2,控制器c计算控制器c和当前收到报文P的交换机之间的时 延delay为(t2-t1)/2,进入步骤6;

步骤6:控制器c计算当前收到报文P的交换机在收到报文P的时刻tsb,tsb=tcb-delay; 控制器c计算当前收到报文P的交换机在收到转发流表的时刻tse,tse=tce+delay;控制 器c将当前收到报文P的交换机的IP地址、当前收到报文P的交换机在收到报文P的时刻 tsb、当前收到报文P的交换机在收到转发流表的时刻tse三个属性值构成的信息发送给测 量主机mh,进入步骤7;

步骤7:当前收到报文P的交换机将报文P按照转发流表发送给下一跳,如果下一跳是 目标主机sh,则进入步骤8,否则下一跳是软件定义网络SDN中当前接收报文P的交换机, 回到步骤3;

步骤8:目标主机sh记录所述目标主机sh收到报文P的时刻tsh,目标主机sh将收到 报文P的时刻tsh的信息发送给测量主机mh,进入步骤9;

步骤9:测量主机mh对收到的控制器c所发送的各组三个属性值构成的信息按照其中 的各个交换机收到报文P的时刻tsb的先后顺序进行排序,得到测量主机mh到目标主机 sh之间的路由信息,并将每个链路的后一个交换机的收到报文P的时刻tsb减去前一个交 换机的收到转发流表的时刻tse的值作为每个链路的时延值,将第一个收到报文P的交换机 s1在收到报文P的时刻tsb减去测量主机mh发送报文P的时刻tmh的值作为测量主机 mh到交换机s1的链路时延值,将目标主机sh收到报文P的时刻tsh减去收到报文P的 交换机sn在收到转发流表的时刻tse的值作为交换机sn到目标主机sh的链路时延值,方 法结束。

实施实例2

基于软件定义网络的端到端路径上逐跳时延测量方法,其特征在于:

步骤1(1).设置在一个软件定义网络SDN中有5个交换机,分别为交换机s1,交换机 s2,交换机s3,交换机s4,交换机s5,一个网络控制器c;设置测量主机mh接入交换机s1, 测量主机mh的IP地址为mhip,目标主机sh接入交换机s5,目标主机sh的IP地址为 ship,进入步骤2(2);

步骤2.测量主机mh构建一个源IP地址为mhip、宿IP地址为ship的报文P,设置 报文P内容标识为Measure,测量主机mh将报文P发送给交换机s1进入软件定义网络 SDN,测量主机mh记录发送报文P的时刻tmh为0毫秒,在软件定义网络SDN中,当 前收到报文P的交换机是交换机s1,进入步骤3(3);

步骤3(3).在软件定义网络SDN中的当前收到报文P的交换机s1将报文P转发给控制 器c,控制器c记录收到报文P的时刻tcb为10毫秒;控制器为报文P生成转发流表下发 给当前收到报文P的交换机,同时记录发送给当前收到报文P的交换机转发流表的时刻tce 为15毫秒,进入步骤4(4);

步骤4(4):控制器c读取报文P的内容标识,内容标识为Measure,则进入步骤5(5);

步骤5(5).控制器c向当前收到报文P的交换机s1发送请求报文,控制器c记录发送 请求报文的时刻t1为16毫秒,当前收到报文P的交换机收到请求报文后反馈应答报文, 控制器c记录收到反馈应答报文的时刻t2为20毫秒,控制器c计算控制器c和当前收到 报文P的交换机s1之间的时延delay为(t2-t1)/2=(20-16)/2=2毫秒,进入步骤6(6);

步骤6(6):控制器c计算当前收到报文P的交换机在收到报文P的时刻tsb, tsb=tcb-delay=10-2=8毫秒;控制器c计算当前收到报文P的交换机在收到转发流表的 时刻tse,tse=tce+delay=15+2=17毫秒;控制器c将当前收到报文P的交换机s1的IP 地址、当前收到报文P的交换机在收到报文P的时刻8毫秒、当前收到报文P的交换机在 收到转发流表的时刻17毫秒三个属性值构成的发送给测量主机mh,进入步骤7(7);

步骤7(7):当前收到报文P的交换机将报文P按照转发流表发送给下一跳,下一跳是软 件定义网络SDN中的接收当前报文P的下一交换机s4,回到步骤3(8);

步骤3(8).在软件定义网络SDN中的当前收到报文P的交换机s4将报文P转发给控制 器c,控制器c记录收到报文P的时刻tcb为23毫秒;控制器为报文P生成转发流表下发 给当前收到报文P的交换机,同时记录发送给当前收到报文P的交换机转发流表的时刻tce 为30毫秒,进入步骤4(9);

步骤4(9):控制器c读取报文P的内容标识,内容标识为Measure,则进入步骤5(10);

步骤5(10).控制器c向当前收到报文P的交换机s4发送请求报文,控制器c记录发送 请求报文的时刻t1为31毫秒,当前收到报文P的交换机收到请求报文后反馈应答报文, 控制器c记录收到反馈应答报文的时刻t2为35毫秒,控制器c计算控制器c和当前收到 报文P的交换机s4之间的时延delay为(t2-t1)/2=(35-31)/2=2毫秒,进入步骤6(11);

步骤6(11):控制器c计算当前收到报文P的交换机在收到报文P的时刻tsb, tsb=tcb-delay=23-2=21毫秒;控制器c计算当前收到报文P的交换机在收到转发流表的 时刻tse,tse=tce+delay=30+2=32毫秒;控制器c将当前收到报文P的交换机s4的IP 地址、当前收到报文P的交换机在收到报文P的时刻21毫秒、当前收到报文P的交换机在 收到转发流表的时刻32毫秒三个属性值构成的信息发送给测量主机mh,进入步骤7(12);

步骤7(12):当前收到报文P的交换机将报文P按照转发流表发送给下一跳,下一跳是 软件定义网络SDN中的当前接收报文P的下一交换机s5,回到步骤3(13);

步骤3(13).在软件定义网络SDN中的当前收到报文P的交换机s5将报文P转发给控 制器c,控制器c记录收到报文P的时刻tcb为38毫秒;控制器为报文P生成转发流表下 发给当前收到报文P的交换机,同时记录发送给当前收到报文P的交换机转发流表的时刻 tce为45毫秒,进入步骤4(14);

步骤4(14):控制器c读取报文P的内容标识,内容标识为Measure,则进入步骤5(15);

步骤5(15).控制器c向当前收到报文P的交换机s4发送请求报文,控制器c记录发送 请求报文的时刻t1为46毫秒,当前收到报文P的交换机收到请求报文后反馈应答报文, 控制器c记录收到反馈应答报文的时刻t2为52毫秒,控制器c计算控制器c和当前收到 报文P的交换机s4之间的时延delay为(t2-t1)/2=(52-46)/2=3毫秒,进入步骤6(16);

步骤6(16):控制器c计算当前收到报文P的交换机在收到报文P的时刻tsb, tsb=tcb-delay=38-3=35毫秒;控制器c计算当前收到报文P的交换机在收到转发流表的 时刻tse,tse=tce+delay=45+3=48毫秒;控制器c将当前收到报文P的交换机s5的IP 地址、当前收到报文P的交换机在收到报文P的时刻tsb、当前收到报文P的交换机在收 到转发流表的时刻tse三个属性值构成的信息发送给测量主机mh,进入步骤7(17);

步骤7(17):当前收到报文P的交换机将报文P按照转发流表发送给下一跳,下一跳是 目标主机sh,则进入步骤8(18);

步骤8(18):目标主机sh记录所述目标主机sh收到报文P的时刻tsh为55毫秒,目标 主机sh将收到报文P的时刻55毫秒送给测量主机mh,进入步骤9;

步骤9:测量主机mh对收到的控制器c所发送的各组三个属性值构成的信息按照其中 的各个交换机收到报文P的时刻tsb的先后顺序进行排序,即按照其中的各个交换机收到 报文P的时刻tsb的8、21、35先后顺序进行排序,得到测量主机mh到目标主机sh之 间的路由信息s1到s4到s5,并将每个链路的后一个交换机的收到报文P的时刻tsb减去 前一个交换机的收到转发流表的时刻tse的值作为每个链路的时延值:

交换机s1到交换机s4的逐跳链路时延为21-17=4毫秒;

交换机s4到交换机s5的逐跳链路时延为35-32=3毫秒;

将第一个收到报文P的交换机s1在收到报文P的时刻tsb减去测量主机mh发送报文 P的时刻tmh得到测量主机mh到交换机s1的链路时延:

测量主机mh到交换机s1的逐跳链路时延为tsb-tmh=8-0=8毫秒;

将目标主机sh收到报文P的时刻tsh减去收到报文P的交换机s5在收到转发流表的 时刻tse的值作为交换机s5到目标主机sh的链路时延:

交换机s5到目标主机sh的逐跳链路时延为tsh-tse=55-48=7毫秒;

由此我们可以得到测量主机mh到目标主机端到端路径上的逐跳时延分别为:

测量主机mh到交换机s1的逐跳链路时延为8毫秒;

交换机s1到交换机s4的逐跳链路时延为4毫秒;

交换机s4到交换机s5的逐跳链路时延为3毫秒;

交换机s5到目标主机sh的逐跳链路时延为7毫秒;

由此我们可以知道,在测量主机mh到目标主机端到端路径上的逐跳时延最大的链路为 测量主机mh到交换机s1的链路,方法结束。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号