CN105429822B - 基于软件定义网络的端到端路径上逐跳链路丢包测量方法 - Google Patents

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

Info

Publication number
CN105429822B
CN105429822B CN201510853004.9A CN201510853004A CN105429822B CN 105429822 B CN105429822 B CN 105429822B CN 201510853004 A CN201510853004 A CN 201510853004A CN 105429822 B CN105429822 B CN 105429822B
Authority
CN
China
Prior art keywords
message
interchanger
network
address
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510853004.9A
Other languages
English (en)
Other versions
CN105429822A (zh
Inventor
程光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201510853004.9A priority Critical patent/CN105429822B/zh
Publication of CN105429822A publication Critical patent/CN105429822A/zh
Application granted granted Critical
Publication of CN105429822B publication Critical patent/CN105429822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

基于软件定义网络的端到端路径上逐跳链路丢包测量方法
技术领域
本技术涉及网络性能测量技术领域,特别是基于软件定义网络的端到端路径上逐跳链路丢包测量方法。
背景技术
软件定义网络SDN通过OpenFlow协议对交换机进行控制,交换机与控制器进行通信,并通过OpenFlow的协议控制器管理的交换机。OpenFlow的交换机包括一个或多个流表和一组表,执行分组查找和转发,和到一个外部控制器OpenFlow的信道。交换机收到一个新流的报文,在流表中没有匹配项,则发送Packet-in消息给控制器,如果交换机缓存足够多,报文被临时放在缓存中,报文的部分内容(默认128字节)和在交换机缓存中的的序号也一同发给控制器;如果交换机缓存不足以存储报文,则将整个报文作为消息的附带内容发给控制器。交换机中的流表项因为超时、结束、修改等原因被删除掉,会触发Flow-removed消息,将流表的相关统计信息发送给控制器。在软件定义网络中,每个交换机在收到一个流的第一个报文时,交换机会向控制器转发第一个报文,控制器根据第一个报文的信息向交换机下发流表,这个流的后续报文就根据流表转发到下一个交换机,软件定义网络通过这种机制可以提高网络流中后续报文的快速转发效率。
软件定义网络中交换机记录每个流转发报文的信息,在流结束的时候,交换机将流记录信息上传给控制器,由此根据每个交换机上传相同网络流的报文数之间的数量差可以估算出在两个交换机之间链路上丢失报文数。
传统的丢包测量方法主要是采用从源主机发送到宿主机的ping报文,记录源主机发送ping报文的数量和宿主机应答ping报文的数量之间的差来估算出源宿主机端到端路径上的丢包率。目前还没有办法能够解决传统网络中这些丢包在每一跳链路上的分布情况,但是每一跳链路的丢包情况对网络故障和瓶颈链路的方法非常重要,为了解决这个问题,现有的解决方法有2种,一种是已经被测量网络的拓扑结构,测量网络中多个主机端到端丢包,然后根据网络拓扑结构建立性能矩阵进而推理出每个链路的丢包,这种方法存在以下几个问题:1.网络拓扑结构本身存在不稳定;2.为了能够实现网络拓扑结构中的链路丢包推断,要测量到网络中大量的端到端时延丢包;3.推理出的端到端丢包误差非常大。
本发明就充分利用软件定义网络中OpenFlow协议的这两个特点进行链路的丢包测量,利用每个交换机转发网络流的报文数信息由此可以推断出交换机和交换机之间每条链路的丢包信息。
发明内容
本发明目的在于提供一种基于软件定义网络的端到端路径上逐跳链路丢包测量方法,可以直接采用通用目前软件定义网络的基本配置和特性,能够实现基于软件定义网络的端到端路径上逐跳链路丢包测量方法。
本发明的技术方案是提供基于软件定义网络的端到端路径上逐跳链路丢包测量方法,其特征在于:
步骤一、设置在一个软件定义网络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的链路丢包数,方法结束。
与现有技术相比,本发明具有如下优点及有效效果:
(1)传统端到端丢包测量方法是采用ping从源点发送报文到达宿点,根据宿点反馈的报文数量用以估算端到端的丢包,但是网络丢包在那条链路上是最大的、性能故障瓶颈具体在什么地方、报文通过每个交换机、链路的丢包等信息是无法测量得到。本发明提出的方法基于软件定义网络中OpenFlow协议对于一个新流会将第一个报文转发给控制器,控制器为交换机下发一个转发流表,交换机维护这个转发流表根据这个转发流表进行报文转发,同时交换机根据流表维护所转发报文的统计信息,在一个流结束的时候,会将测量到的转发流统计信息发送给控制器;基于软件定义网络的这些特点,本发明可以从控制器中测量到流在每个交换机中的转发情况,由此可以计算出端到端路径上的每个交换机之间每条链路的丢包数,由此可以知道丢包最大的链路,进而可以定位出网络丢包性能故障的瓶颈所在;
(2)本发明充分利用在软件定义网络中交换机记录每个流转发报文的信息,在流结束的时候,交换机将流记录信息上传给控制器,由此根据每个交换机上传相同网络流的报文数之间的数量差可以估算出在两个交换机之间链路上丢失报文数;
(3)本发明在测试报文中增加了测试报文标签Measure,这样使得在软件定义网中的测试报文和正常流量分开,不会因为测试报文而影响正常流量的性能转发,因此本发明可以在正常的网络流量转发中进行链路丢包的测试;
(4)本发明利用软件定义网络中每个流的第一个报文会转发给控制器的特点,由此可以在第一个报文中带测试标签,由于可以判断出是否为测试报文,同时由于控制器在收到交换机所转发的网络流的第一个报文后,才能为交换机下发流表将报文转发到下一个交换机,因此本发明根据控制器收到交换机转发第一个报文到达控制器的时间先后顺序,记录出端到端路径中的交换机的先后次序,由此可以推断出端到端路径上的路由信息。
附图说明
为了更清楚地说明本发明实施实例的技术方案,下面将对实施实例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施实例。
图1:基于软件定义网络的端到端路径上逐跳链路丢包测量方法的流程图。
图2:基于软件定义网络的端到端路径上逐跳链路丢包测量方法的网络拓扑结构图示例。
图2软件定义网络中主机h1测试hn端到端路径逐跳链路丢包测量方法。图2在该例子软件定义网中,有一个控制器c,其中有3个交换机s1、s2、s3,测量主机mh和目标主机sh,测量主机mh发送测量报文P到目标主机sh的路径所经过的交换机为s1,s3。图中的实线表示网络中的物理互联,标记为P的虚线为测量主机mh和目标主机sh之间发送报文P的端到端路径。标记为1的虚线为交换机向控制器发送的消息,交换机将收到网络流F的第一个报文P转发给控制器c,在网络流F传输测量结束以后交换机将网络流F的统计信息上传给控制器;标记为2的虚线为控制器向交换机下发转发网络流F的转发流表,标记3的虚线表示为控制器将测量到的各交换机的网络流表统计信息发送给测量主机mh,标记4的虚线表示为目标主机sh将测量到的网络流F的测量统计数发送给测量主机mh。
图3:网络控制器c中设置的表格table图,表格table由时刻、交换机IP地址、测量报文源IP地址和报文数4列构成;在图3中表格有2行记录,第一行为交换机s1的网络流F的记录信息,第二行为交换机s3的网络流F的记录信息。
具体实施方式
下面将结合本发明实施实例中的附图,对本发明实施实例中的技术方案进行清楚、完整地描述,当然所描述的实施实例仅仅是本发明一部分实施实例,而不是全部的实施实例。
实施实例1
本发明的技术方案是提供基于软件定义网络的端到端路径上逐跳链路丢包测量方法,其特征在于:
步骤一、设置在一个软件定义网络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的链路丢包数,方法结束。
实施实例2
基于软件定义网络的端到端路径上逐跳链路丢包测量方法,其特征在于:
步骤一(1)、设置如图2在一个软件定义网络SDN中有3个交换机,分别为交换机s1、交换机s2、交换机s3,有一个网络控制器c;设置交换机s1接入测量主机mh,测量主机mh的IP地址为mhip,交换机s3接入目标主机sh,目标主机sh的IP地址为ship,在网络控制器c设置一个如图3的表格table,表格table由时刻、交换机IP地址、测量报文源IP地址和报文数4个属性列构成,进入步骤二(2);
步骤二(2)、测量主机mh构建一个源IP地址为mhip、宿IP地址为ship的由6个报文构成的网络流F,设定网络流F中的第一个报文P的内容标识为Measure,测量主机mh将报文P发送给交换机s1进入软件定义网络SDN,在软件定义网络SDN中,当前收到报文P的交换机是交换机s1,进入步骤三(3);
步骤三(3)、在软件定义网络SDN中当前收到报文P的交换机将报文P转发给控制器c,控制器c记录收到报文P的时刻tcb为10毫秒;控制器c为报文P生成转发流表并下发给当前收到报文P的交换机,进入步骤四(4);
步骤四(4)、网络控制器c读取测量报文P的内容标识,内容标识为Measure,网络控制c的表格table中增加一行,将网络控制器c收到报文P的时刻10毫秒记录在新生成行的时刻属性列中,将当前收到报文P的交换机IP地址录在table新生成行的交换机IP地址的属性列中,将报文P的源IP地址mhip记录在表格table新生成行的测量报文源IP地址的属性列中,将表格table新生成行的报文数的属性列设为0,进入步骤五(5);
步骤五(5)、当前收到报文P的交换机s1根据控制器c下发的转发流表为网络流F维护一个网络流F的报文数计数器和报文P的源IP地址,设置网络流F的报文数计数器初始值为1,并按照网络流F的转发流表将报文P发送给下一跳,下一跳是软件定义网络SDN中当前接收报文P的交换机s3,回到步骤三(6);
步骤三(6)、在软件定义网络SDN中当前收到报文P的交换机将报文P转发给控制器c,控制器c记录收到报文P的时刻tcb为20毫秒;控制器c为报文P生成转发流表并下发给当前收到报文P的交换机,进入步骤四(7);
步骤四(7)、网络控制器c读取测量报文P的内容标识,内容标识为Measure,网络控制c的表格table中增加一行,将网络控制器c收到报文P的时刻20毫秒记录在新生成行的时刻的属性列中,将当前收到报文P的交换机IP地址记录在table新生成行的交换机IP地址的属性列中,将报文P的源IP地址mhip记录在表格table新生成行的测量报文源IP地址的属性列中,将表格table新生成行的报文数属性列设为0,进入步骤五(8);
步骤五(8)、当前收到报文P的交换机s3根据控制器c下发的转发流表为网络流F维护一个网络流F的报文数计数器和报文P的源IP地址,设置网络流F的报文数计数器初始值为1,并按照网络流F的转发流表将报文P发送给下一跳,下一跳是目标主机sh,则目标主机sh为网络流F维护一个报文数计数器,设置初始值为1,则进入步骤六(9);
步骤六(9)、测量主机mh将网络流F的后续报文按照顺序发送第二个报文到软件定义网络SDN的s1交换机,交换机s1收到网络流F后续报文,则交换机s1按照建立的网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机s1将报文数更新在网络流F的报文数计数器中,s1交换机转发网络流F的报文数为2;交换机s3收到网络流F后续报文,则交换机s3按照建立的网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机s3将报文数更新在网络流F的报文数计数器中,s3交换机转发网络流F的报文数为2;目标主机sh收到网络流F的后续第二个报文,则更新目标主机中的网络流F的报文数计数器为2;回到步骤六(10);
步骤六(10)、测量主机mh将网络流F的后续报文按照顺序发送第三个报文到软件定义网络SDN的s1交换机,交换机s1收到网络流F后续报文,则交换机s1按照建立的网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机s1将报文数更新在网络流F的报文数计数器中,s1交换机转发网络流F的报文数为3;在交换机s1转发第三个报文以后,第三个报文丢失,交换机s3没有收到网络流F的第三个报文;回到步骤六(11);
步骤六(10)、测量主机mh将网络流F的后续报文按照顺序发送第四个报文到软件定义网络SDN的s1交换机,交换机s1收到网络流F后续报文,则交换机s1按照建立的网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机s1将报文数更新在网络流F的报文数计数器中,s1交换机转发网络流F的报文数为4;在交换机s1转发第三个报文以后,第三个报文丢失,交换机s3没有收到网络流F的第四个报文;回到步骤六(12);
步骤六(12)、测量主机mh将网络流F的后续报文按照顺序发送第五个报文到软件定义网络SDN的s1交换机,交换机s1收到网络流F后续报文,则交换机s1按照建立的网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机s1将报文数更新在网络流F的报文数计数器中,s1交换机转发网络流F的报文数为5;交换机s3收到网络流F后续第五个报文,则交换机s3按照建立的网络流F的转发流表将网络流F的后续第五个报文直接转发到下一跳,并且交换机s3将报文数更新在网络流F的报文数计数器中,s3交换机转发网络流F的报文数为3;目标主机sh没有收到后续第五个报文;回到步骤六(13);
步骤六(13)、测量主机mh将网络流F的后续报文按照顺序发送第六个报文到软件定义网络SDN的s1交换机,交换机s1收到网络流F后续第六个报文,则交换机s1按照建立的网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机s1将报文数更新在网络流F的流表中,s1交换机转发网络流F的报文数为6;交换机s3收到网络流F后续第六个报文,则交换机s3按照建立的网络流F的转发流表将网络流F的后续报文直接转发到下一跳,并且交换机s3将报文数更新在网络流F的报文数计数器中,s3交换机转发网络流F的报文数为4;目标主机sh收到网络流F的后续第六个报文,则更新目标主机中的网络流F的报文数计数器为3;交换机和目标主机sh收到网络流F的报文发生超时进入步骤七(14);
步骤七(14)、交换机s1将交换机s1中的网络流F的转发流表从交换机s1的转发流表中删除,同时将网络流F的报文数计数器的值、交换机的IP地址和报文P的源IP地址发送给网络控制器c;交换机s3将交换机s3中的网络流F的转发流表从交换机s3的转发流表中删除,同时将网络流F的报文数计数器的值、交换机的IP地址和报文P的源IP地址发送给网络控制器c;进入步骤八(15);
步骤八(15)、控制器c根据收到的交换机s1的IP地址及其报文P的源IP地址,与表格table中的交换机IP地址属性列及测量报文源IP地址属性列进行匹配,在表格table中能够找到相匹配的行,用交换机s1的网络流F的报文数计数器的值6更新相匹配的行的报文数属性列,然后网络控制器c将相匹配的行记录信息发送给测量主机mh;控制器c根据收到的交换机s3的IP地址及其报文P的源IP地址,与表格table中的交换机IP地址属性列及测量报文源IP地址属性列进行匹配,在表格table中能够找到相匹配的行,用交换机s3的网络流F的报文数计数器的值4更新相匹配的行的报文数属性列,然后网络控制器c将相匹配的行记录信息发送给测量主机mh;进入步骤九(16);
步骤九(16)、目标主机sh将目标主机sh中的网络流F的报文数计数器的值发送给测量主机mh,进入步骤十(17);
步骤十(17)、测量主机mh将收到的控制器c所发送表格table的多条记录信息,见图3所示,按照其中的table中时刻10毫秒和20毫秒的先后顺序排序,得到测量主机mh到目标主机sh之间的路由信息s1和s3,并将每个链路的前一个交换机s1收到的报文数6减去后一个交换机s3收到的报文数4的值作为s1和s3链路的丢包数为2,将测量主机mh发送报文数6减去交换机s1收到的报文数6的值作为测量主机mh到交换机s1的链路丢包数0,将交换机s3收到的报文数4减去目标主机sh收到的报文数3的值作为交换机s3到目标主机sh的链路丢包数1,由此我们可以得到测量主机mh到目标主机端到端路径上的逐跳链路丢包数分别为:
测量主机mh到交换机s1的链路丢包数为0个;
交换机s1到交换机s3的链路丢包数为2个;
交换机s3到目标主机sh的链路丢包数为1个;
由此我们可以知道,在测量主机mh到目标主机端到端路径上的逐跳链路时延最大的链路为交换机s1到交换机s3的链路,方法结束。

Claims (1)

1.一种基于软件定义网络的端到端路径上逐跳链路丢包测量方法,其特征在于:
步骤一、设置在一个软件定义网络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的链路丢包数,方法结束。
CN201510853004.9A 2015-11-30 2015-11-30 基于软件定义网络的端到端路径上逐跳链路丢包测量方法 Active CN105429822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510853004.9A CN105429822B (zh) 2015-11-30 2015-11-30 基于软件定义网络的端到端路径上逐跳链路丢包测量方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510853004.9A CN105429822B (zh) 2015-11-30 2015-11-30 基于软件定义网络的端到端路径上逐跳链路丢包测量方法

Publications (2)

Publication Number Publication Date
CN105429822A CN105429822A (zh) 2016-03-23
CN105429822B true CN105429822B (zh) 2018-07-20

Family

ID=55507771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510853004.9A Active CN105429822B (zh) 2015-11-30 2015-11-30 基于软件定义网络的端到端路径上逐跳链路丢包测量方法

Country Status (1)

Country Link
CN (1) CN105429822B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107769988B (zh) * 2016-08-19 2021-05-04 华为技术有限公司 信息发送及检测报文丢失的方法、装置和网络设备
US20180123927A1 (en) * 2016-10-27 2018-05-03 Nanning Fugui Precision Industrial Co., Ltd. Method and device for detecting network packet loss based on software defined network
CN108400900B (zh) * 2017-02-06 2023-03-14 中兴通讯股份有限公司 报文检测、配置、转发、统计方法及设备、控制器和系统
CN106850640A (zh) * 2017-02-15 2017-06-13 北京浩瀚深度信息技术股份有限公司 基于序列号的rtp业务识别方法及系统
SG10201702697QA (en) * 2017-03-31 2018-10-30 Huawei Int Pte Ltd Software defined network (sdn) based packet forwarding verification
CN110830284A (zh) * 2018-08-14 2020-02-21 杭州达乎科技有限公司 一种基于sdn网络的业务故障监测的方法和装置
CN113824606B (zh) * 2020-06-19 2023-10-24 华为技术有限公司 一种网络测量方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243240A (zh) * 2014-09-23 2014-12-24 电子科技大学 一种基于OpenFlow的SDN流量测量方法
CN104486159A (zh) * 2014-12-18 2015-04-01 东南大学 一种基于软件定义网络的交换机间链路时延测量方法
CN104796298A (zh) * 2014-01-22 2015-07-22 杭州华三通信技术有限公司 一种sdn网络故障分析的方法及装置
CN105100142A (zh) * 2014-05-04 2015-11-25 杭州华三通信技术有限公司 软件定义网络协议报文的传输控制方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796298A (zh) * 2014-01-22 2015-07-22 杭州华三通信技术有限公司 一种sdn网络故障分析的方法及装置
CN105100142A (zh) * 2014-05-04 2015-11-25 杭州华三通信技术有限公司 软件定义网络协议报文的传输控制方法及装置
CN104243240A (zh) * 2014-09-23 2014-12-24 电子科技大学 一种基于OpenFlow的SDN流量测量方法
CN104486159A (zh) * 2014-12-18 2015-04-01 东南大学 一种基于软件定义网络的交换机间链路时延测量方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于OpenFlow的链路故障诊断方法;程光,王玉详,胡一非,郭晓军;《北京邮电大学学报》;20151031;全文 *
基于OpenFlow网络的QoS保障子系统研究;尚休新;《万方数据企业知识服务平台》;20140917;全文 *

Also Published As

Publication number Publication date
CN105429822A (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
CN105429822B (zh) 基于软件定义网络的端到端路径上逐跳链路丢包测量方法
CN105515895B (zh) 基于软件定义网络的端到端路径上逐跳时延测量方法
CN103414650B (zh) 一种避免拥塞的路由方法和装置
US8427958B2 (en) Dynamic latency-based rerouting
CN106559330B (zh) 一种基于sdn的动态路径规划方法
CN109756421A (zh) 一种基于OpenFlow技术的拥塞控制系统及方法
EP2237496A1 (en) Pre-congestion notification (PCN) as a base for admission control and flow termination
CN107948103A (zh) 一种基于预测的交换机pfc控制方法及控制系统
HRP20171728T1 (hr) Postupak za prijenos paketa podataka u realnom vremenu u konvergentnim mrežama
CN105812179B (zh) 一种协议无关转发网络事件处理方法
CN109067665A (zh) 拥塞控制方法和网络设备
CN103039042A (zh) 至l2以太网节点的通信可用传输网络带宽
US11509595B2 (en) Network-based coordination of loss/delay mode for congestion control of latency-sensitive flows
CN101808016A (zh) IPv6下DiffServ区域端到端网络性能的快速测量方法及系统
CN105637817B (zh) 软件定义网络中的控制设备、系统和传输通道控制方法
CN104980302B (zh) 一种在sdn框架下基于stp消除冗余链路的方法
US11303586B2 (en) Switching and load balancing techniques in a communication network
CN101826999B (zh) 一种在线报文流量监测及带宽补偿的方法和装置
JP2013535895A (ja) 通信システム、ノード、統計情報収集装置、統計情報の収集方法およびプログラム
CN104883303B (zh) 一种sdn架构中多流表网络路由追踪的方法
CN109842574A (zh) 一种基于可编程网络技术的多宿主网络路由转发方法
CN108781190A (zh) 基于拥塞检测的控制通道压缩
CN105099721B (zh) 维护组播成员的方法及设备
CN104601488A (zh) 一种软件定义网络中流量控制方法和装置
CN105052166B (zh) 控制器、控制方法、计算机可读存储介质和视频发送系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant