[发明专利]报文转发方法及装置有效
| 申请号: | 201610662462.9 | 申请日: | 2016-08-12 |
| 公开(公告)号: | CN107733813B | 公开(公告)日: | 2022-11-18 |
| 发明(设计)人: | 刘文盼;庄丽君;彭昔敏;葛崇志 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | H04L49/9015 | 分类号: | H04L49/9015;H04L49/90;H04L47/30 |
| 代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 姜春咸;冯建基 |
| 地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 报文 转发 方法 装置 | ||
技术领域
本发明涉及数据网络通信领域,尤其是涉及到报文转发方法及装置。
背景技术
在传统网络拓扑中,报文的转发都是有序的,路由器顺序发送报文,接收到的报文也是顺序的。即使是在负荷分担的情况下,由于负荷分担链路的传送速度一致,接收端路由器收到的报文也是顺序的。
在一种新型的网络拓扑中,为了充分利用已有链路带宽,在路由器之间配置了两条不同介质的链路,两条链路具有不同的传输速度,如数字用户线路(Digital Subscriber Line,简称DSL)和无线网络(如长期演进,Long Term Evolution,简称LTE)。LTE链路传输速度相比于DSL链路传输速度较慢,会导致先经过LTE发送出来的报文比后经过DSL链路发送出来的报文更晚地到达接收端路由器的现象产生,出现乱序问题。
针对这种乱序问题,需要采取软件保序。为了满足保序需求,需要实现新增缓存报文,在报文为乱序的情况下对报文进行缓存,条件满足时再将缓存报文发送出去。传统路由器处理报文的方式有转发、上送和丢包三种,新增的缓存功能会增大路由器性能开销,降低转发性能。缓存的性能高低成为了软件保序技术的关键要素,是制约软件保序技术发展的瓶颈点。
针对相关技术中软件保序性能开销过大的问题,现有技术还未提出有效的解决方案。
发明内容
本发明的目的在于提供了报文转发方法及装置,解决了相关技术中软件保序性能开销过大的问题。
根据本发明的一个方面,提供一种报文转发方法,包括:在接收到的报文不满足预设的报文转发顺序的情况下,将第一缓存的类型由报文缓存转换成保序缓存;申请第二缓存;将该第二缓存的类型由保序缓存转换成报文缓存;根据预设的报文转发顺序转发该报文。
进一步地,将第一缓存的类型由报文缓存转换成保序缓存包括:通过将该第一缓存的指针置于保序缓存池中,将该第一缓存的类型由报文缓存转换成保序缓存,其中,该第一缓存的指针用于指向该第一缓存的物理地址信息、接收到的该报文的报文长度信息和报文序列号。
进一步地,将该第二缓存的类型由保序缓存转换成报文缓存包括:通过将该第二缓存的指针置于报文缓存池中,将该第二缓存的类型由保序缓存转换成报文缓存,其中,该第二缓存的指针用于指向该第二缓存的物理地址信息。
进一步地,根据以下方法确定接收到的报文不满足预设的报文转发顺序:判断先后接收到的两个报文的报文序列号是否连续递增;在判断结果为否的情况下,确定该报文不满足预设的报文转发顺序。
进一步地,该根据预设的报文转发顺序转发该报文包括:该第一缓存按照预设规则排列在该管理链表中,判断该管理链表中是否存在当前接收到的报文的报文序列号的下一个报文序列号对应的报文;该预设规则为报文序列号从小到大;在判断结果为是的情况下,将存在于该管理链表中的该下一个报文序列号对应的报文进行转发。
进一步地,该第一缓存按照预设规则排列在该管理链表中包括:该第一缓存包括上一节点指针信息和下一节点指针信息,其中,该上一节点指针信息用于指向存放于该管理链路的上一在先转发报文;该下一节点指针信息用于指向下一在后转发报文;通过该上一节点指针信息和该下一节点指针信息将该第一缓存按照预设规则排列在该管理链表中。
进一步地,该申请第二缓存包括:在存在多个线程的情况下,向该公共队列申请该第二缓存,其中,该第二缓存是将保序缓存资源充足的线程中的保序缓存压入公共队列得到的,用于保序缓存资源不够的线程。
根据本发明的另一方面,提供一种报文转发装置,包括:第一转换模块,用于在接收到的报文不满足预设的报文转发顺序的情况下,将第一缓存的类型由报文缓存转换成保序缓存;申请模块,用于申请第二缓存;第二转换模块,用于将该第二缓存的类型由保序缓存转换成报文缓存;转发模块,用于根据预设的报文转发顺序转发该报文。
进一步,第一转换模块包括:第一转换单元,用于通过将该第一缓存的指针置于保序缓存池中,将该第一缓存的类型由报文缓存转换成保序缓存,其中,该第一缓存的指针用于指向该第一缓存的物理地址信息、接收到的该报文的报文长度信息和报文序列号。
进一步,第二转换模块包括:第二转换单元,用于通过将该第二缓存的指针置于报文缓存池中,将该第二缓存的类型由保序缓存转换成报文缓存,其中,该第二缓存的指针用于指向该第二缓存的物理地址信息。
通过本发明,采用报文缓存和保序缓存在接收到的报文出现乱序的情况下进行置换的技术方案,解决了相关技术中软件保序性能开销过大的问题,减少软件保序性能开销。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610662462.9/2.html,转载请声明来源钻瓜专利网。





