买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种可编程网络业务单跳传输丢包率测量方法_电子科技大学_202311729931.0 

申请/专利权人:电子科技大学

申请日:2023-12-15

公开(公告)日:2024-03-15

公开(公告)号:CN117714340A

主分类号:H04L43/0829

分类号:H04L43/0829;H04L69/22

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.04.02#实质审查的生效;2024.03.15#公开

摘要:本发明公开了一种可编程网络业务单跳传输丢包率测量方法,先通过在上下游交换机上部署特定的数据结构,然后利用上下游交换机的协同机制,在下游交换机实时的发现可能产生丢包的业务流,并记录其流ID,然后在上下游交换机上针对这一部分业务流进行细粒度统计,得到在单跳上产生丢包的业务流的丢包率。

主权项:1.一种可编程网络业务单跳传输丢包率测量方法,其特征在于,包括以下步骤:1、数据结构部署1.1、在上、下游交换机上部署d行的粗粒度计数数据结构CMSketch,在每一行上部署w个计数器,计数器从左到右依次标记为0、1、…、w-1;同时,在每行部署一个哈希函数,每个哈希函数的结构不同,每行的哈希函数记为h1、h2、h3、…、hd,每个哈希函数计算得到的哈希值为区间[0,w-1]内的整数,且与计数器编号一一对应;1.2、在上游交换机部署2行的细粒度计数数据结构哈希表,第一行用于存储流ID,第二行用于存储数据包个数;另外,在每一行上部署m个计数器,计数器从左到右依次标记为0、1、…、m-1;在每行上部署相同的哈希函数h,哈希函数计算得到的哈希值为区间[0,m-1]内的整数,对应着标号为哈希值的计数器;1.3、在下游交换机部署3行的细粒度计数数据结构哈希表,第一行用于存储流ID,第二行用于存储到达下游交换机的数据包个数,第三行用于存储检测到的链路丢包数;在每行上部署m个计数器,计数器从左到右依次标记为0、1、…、m-1;在每行上部署相同的哈希函数h,哈希函数计算得到的哈希值为区间[0,m-1]内的整数,对应着标号为哈希值的计数器;2、丢包率测量2.1、初始化数据结构;2.2、当上游交换机接收到数据包时,先解析数据包,提取数据包的帧头和流IDF,如果数据包的帧头类型与自定义数据包的帧头类型不同,则执行步骤2.3;反之,判定接收到数据包为自定义数据包,然后执行操作2.8;2.3、调用上游交换机中的哈希函数h,将流ID作为哈希函数h的输入,并进行哈希计算,得到哈希值H;将哈希值H作为索引在上游交换机的哈希表中进行查询,将查询位置处的数值与流ID进行比较,如果二者不一致,查询失败,则执行步骤2.4;如果一致,查询成功,则执行步骤2.6;2.4、调用上游交换机中的哈希函数h1、h2、h3、…、hd,将流ID分别作为哈希函数h1、h2、h3、…、hd的输入,并进行哈希计算,得到哈希值H1、H2、H3、…、Hd;将哈希值H1、H2、H3、…、Hd作为索引操作位于CM-Sketch中每行的对应计数器的计数值+1,然后添加标记此业务流在CM-Sketch中计数的标签SketchFlag;读取CM-Sketch中每行的计数值UpstreamSketchData-1、UpstreamSketchData-2、…、UpstreamSketchData-d,以及标签SketchFlag,将其全部写入数据包的包头中,然后下发至下游交换机,进入步骤2.5;2.5下游交换机接收到该数据包后,解析数据包,提取数据包的流ID、标签SketchFlag以及计数值DownstreamSketchData-1、DownstreamSketchData-2、…、DownstreamSketchData-d;然后调用下游交换机中的哈希函数h1、h2、…、hd,将流ID分别作为哈希函数h1、h2、…、hd的输入,并进行哈希计算,得到哈希值H1、H2、H3、…、Hd;将哈希值H1、H2、H3、…、Hd作为索引操作位于CM-Sketch中每行的对应计数器的计数值+1;依次比对更新前后CM-Sketch中每行的计数值,若对应位置处的计数值都不一致,则生成一个自定义的数据包,将当前流的流ID写入数据包包头中发往上游交换机,当前业务流的数据包则根据流表正常转发,跳转至步骤3;反之,不生成自定义的数据包,直接根据流表转发当前数据包,然后,跳转至步骤3;2.6、根据哈希值H操作对应计数器的计数值+1,并添加标记此业务流在哈希表中计数的标签HashTableFlag,之后读取哈希表中的计数值HashTableData以及标签HashTableFlag,将其全部写入数据包包头中发往下游交换机,执行步骤2.7;2.7、下游交换机接收到该数据包后,解析数据包,提取数据包的流ID、HashTableFlag以及HashTableData;然后调用下游交换机中的哈希函数h,将流ID作为哈希函数h的输入,并进行哈希计算,得到哈希值H;将哈希值H作为索引操作哈希表每行中的对应位置的计数器,第一行的计数器令其计数值等于流ID,第二行的计数器令其计数值+1,第三行计数器令其计数值等于上下游第二行计数器的计数值差值,更新完成后进入步骤3;2.8、当上游交换机接收自定义的数据包,解析数据包,提取数据包中记录的流ID;然后调用上游交换机中的哈希函数h,将流ID作为哈希函数h的输入进行哈希计算,得到哈希值H;将哈希值H作为索引操作哈希表中第一行对应位置的计数器,首先如果计数器中计数值为0或者与流ID相等,令计数值等于流ID,不操作第二行计数器,然后对自定义数据包做丢弃处理;如果数值不等于流ID且不为0,则不操作哈希表中任一计数器,直接丢弃当前自定义数据包;3、检测丢包率;以固定的时间间隔为周期,在每一个周期测量结束后,从下游交换机的细粒度计数数据结构哈希表中读取数据,然后根据业务流流ID、到达下游交换机的数据包个数以及在链路上的丢包个数,计算丢包率。

全文数据:

权利要求:

百度查询: 电子科技大学 一种可编程网络业务单跳传输丢包率测量方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。