CN106470157B - 隧道的优先级设置方法及装置 - Google Patents

隧道的优先级设置方法及装置 Download PDF

Info

Publication number
CN106470157B
CN106470157B CN201510520933.8A CN201510520933A CN106470157B CN 106470157 B CN106470157 B CN 106470157B CN 201510520933 A CN201510520933 A CN 201510520933A CN 106470157 B CN106470157 B CN 106470157B
Authority
CN
China
Prior art keywords
tunnel
priority
address
forwarded
data packet
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
CN201510520933.8A
Other languages
English (en)
Other versions
CN106470157A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510520933.8A priority Critical patent/CN106470157B/zh
Priority to PCT/CN2016/076795 priority patent/WO2016177149A1/zh
Publication of CN106470157A publication Critical patent/CN106470157A/zh
Application granted granted Critical
Publication of CN106470157B publication Critical patent/CN106470157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Landscapes

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

Abstract

本发明公开了一种隧道的优先级设置方法,包括:获取各个隧道的原始优先级;对各个隧道的原始优先级均进行编码操作;将编码后的优先级信息发送至底层驱动,以供底层驱动基于优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中。本发明还公开了一种隧道的优先级设置装置。本发明实现了各个优先级在对应隧道中进行负载分担,进而能够充分利用优先级的隧道带宽,节约了隧道的带宽资源,提高了隧道带宽资源的利用率以及数据转发的效率。

Description

隧道的优先级设置方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及基于一种隧道的优先级设置方法及装置。
背景技术
ECMP(Equal Cost Multi-Path,等价多路径)是改进IP网络中基于最短路径的内部网关路由协议不足的一种技术,ECMP使得转发的流量在多条等价路径中分配。
在实际组网中,经常会用到在公网上使用多条隧道共同承载公私网流量的场景,为了充分利用带宽而又能区分不同的业务优先级,需要同一个隧道具有承载多个优先级数据流的功能。但是,现有的ECMP只允许隧道带有一个优先级,进而该隧道只能承载单个优先级数据流,造成该隧道的带宽不能得以充分利用,导致隧道带宽资源的浪费。
发明内容
本发明提供一种隧道的优先级设置方法及装置,旨在解决现有的ECMP只允许隧道带有一个优先级而导致隧道带宽资源浪费的技术问题。
为实现上述目的,本发明提供的一种隧道的优先级设置方法,所述隧道的优先级设置方法包括以下步骤:
获取各个隧道的原始优先级;
对各个隧道的原始优先级均进行编码操作;
将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中。
优选地,所述对各个隧道的原始优先级均进行编码操作的步骤包括:
分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置;
分别对比特位设置后的各个隧道的优先级进行编码操作。
优选地,所述分别对比特位设置后的各个隧道的优先级进行编码操作的步骤包括:分别对比特位设置后的各个隧道的优先级按照十六进制进行编码操作。
优选地,在所述将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中,所述方法还包括:
在接收到待转发数据包时,获取所述待转发数据包的数据报文优先级;
基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;
在所述ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据所述隧道信息转发所述待转发数据包。
优选地,所述基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引的步骤包括:
获取所述待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签;
通过哈希算法基于所述数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签计算偏移值;
基于所述ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引。
此外,为实现上述目的,本发明还提供一种隧道的优先级设置装置,所述隧道的优先级设置装置包括:
获取模块,用于获取各个隧道的原始优先级;
编码模块,用于对各个隧道的原始优先级均进行编码操作;
发送模块,用于将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中。
优选地,所述编码模块包括:
设置单元,用于分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置;
编码单元,用于分别对比特位设置后的各个隧道的优先级进行编码操作。
优选地,所述编码单元还用于分别对比特位设置后的各个隧道的优先级按照十六进制进行编码操作。
优选地,所述隧道的优先级设置装置还包括:
第二获取模块,用于在接收到待转发数据包时,获取所述待转发数据包的数据报文优先级;
计算模块,用于基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;
转发模块,用于在所述ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据所述隧道信息转发所述待转发数据包。
优选地,所述计算模块包括:
获取单元,用于获取所述待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签;
第一计算单元,用于通过哈希算法基于所述数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签计算偏移值;
第二计算单元,用于基于所述ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引。
本发明通过获取各个隧道的原始优先级;接着对各个隧道的原始优先级均进行编码操作,然后将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中,实现了优先级在对应隧道中进行负载分担,进而能够充分利用优先级的隧道带宽,节约了隧道的带宽资源,提高了隧道带宽资源的利用率以及数据转发的效率。
附图说明
图1为本发明隧道的优先级设置方法第一实施例的流程示意图;
图2为本发明对对各个隧道的原始优先级均进行编码操作的步骤的细化流程示意图;
图3本发明隧道的优先级设置方法第二实施例的流程示意图;
图4本发明获得待转发数据包对应的隧道的出口封装表硬件地址索引的步骤的细化流程示意图;
图5为本发明隧道的优先级设置装置第一实施例的功能模块示意图;
图6为图5中编码模块的细化功能模块示意图;
图7为本发明隧道的优先级设置装置第二实施例的功能模块示意图;
图8位图7中计算模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种隧道的优先级设置方法。
参照图1,图1为本发明隧道的优先级设置方法第一实施例的流程示意图。
在本实施例中,该隧道的优先级设置方法包括:
步骤S10,获取各个隧道的原始优先级;
各个隧道的原始优先级为ECMP中的各个隧道的最初具有的优先级,或者,在最初的系统配置时,为各个隧道配置的优先级,其中,全部或者部分隧道的原始优先级包括多个优先级。
步骤S20,对各个隧道的原始优先级均进行编码操作;
对获取到的各个隧道的原始优先级均进行编码,编码后的各个隧道的优先级保留了各个隧道中的具有多个优先级的隧道的所有的优先级。
步骤S30,将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中。
将编码后的优先级发送至底层驱动,底层驱动对接收到的优先级信息进行对应的解码操作,然后根据解码后的优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中,即根据解码后的隧道的优先级信息完成各个隧道在ECMP的256个硬件表项中的配置,本实施例中,ECMP中隧道的优先级范围为0~7,每个优先级对应有32个出口封装硬件表项,ECMP具有256个出口封装硬件表项,首先底层驱动根据解码后的优先级信息对ECMP的隧道的8个优先级配置对应的隧道,此时,在ECMP中的每个优先级对应的各个隧道只占据该优先级对应的32个出口封装表中的一个出口封装硬件表项,然后底层驱动将该优先级对应的所有隧道配置到该优先级对应的32个出口封装表的剩余出口封装表中,其中配置方式采用间隔配置,即使得该优先级对应的所有隧道配置的出口封装表的数量基本相同。在按照上述方式配置对应的ECMP等价多路径的出口封装表硬件地址索引后,若ECMP的隧道优先级中存在无隧道的优先级,则将最低优先级的所有隧道设置为无隧道的优先级对应的隧道,当然,如果ECMP设置有default优先级,则将无隧道分配的优先级分配default优先级对应的隧道。ECMP的优先级范围0~7中的每一个优先级都配置了对应优先级的隧道,进而避免了在后续数据包转发时根据优先级查询不到对应隧道的情况,进一步提高了隧道带宽资源的利用率以及数据转发的效率。
本实施例通过获取各个隧道的原始优先级;接着对各个隧道的原始优先级均进行编码操作,然后将编码后的优先级信息发送至底层驱动,以供底层驱动基于优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中,实现了优先级在对应隧道中进行负载分担,进而能够充分利用优先级的隧道带宽,节约了隧道的带宽资源,提高了隧道带宽资源的利用率以及数据转发的效率。
参照图2,图2为本发明对各个隧道的原始优先级均进行编码操作的步骤的细化流程示意图。
基于第一实施例提出本发明步骤S20的细化流程的实施例,在本实施例中,步骤S20包括:
步骤S21,分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置;
本实施例中,ECMP的隧道的优先级范围为0~7,将该优先级范围按照由大到小的顺序进行排列,然后将每一个隧道的原始优先级设为1,将该隧道不具有的优先级设为0,例如,将优先级为0、4、5的隧道通过二进制表示为:00110001,将优先级为1、3的隧道设置为00001010。
步骤S22,分别对比特位设置后的各个隧道的优先级进行编码操作。
编码操作是指按照其他的进制对隧道的优先级进行编码,编码后的各个隧道的优先级保留了各个隧道中的具有多个优先级的隧道的所有的优先级。譬如,优先级为0、4、5的隧道按照十六进制编码后为TE{0x31},优先级为1、3的隧道按照十六进制编码后为TE{0xa}。
进一步地,本实施例中,步骤S22包括:分别对比特位设置后的各个隧道的优先级按照十六进制进行编码操作。
由于ECMP隧道的优先级范围为0~7,即隧道的优先级最多带有8个,因此,本实施例中,采用十六进制对隧道的优先级进行编码。
本实施例通过分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置,然后分别对比特位设置后的各个隧道的优先级进行编码操作,实现了对各个隧道的优先级进行编码,使得各个优先级在对应隧道中进行负载分担,进而能够充分利用优先级的隧道带宽,节约了隧道的带宽资源,提高了隧道带宽资源的利用率以及数据转发的效率。
参照图3,图3本发明隧道的优先级设置方法第二实施例的流程示意图。
基于上述实施例提出本发明隧道的优先级设置方法的第二实施例,在本实施例中,在步骤S30之后,该隧道的优先级设置方法还包括:
步骤S40,在接收到待转发数据包时,获取所述待转发数据包的数据报文优先级;
在接收到待转发数据包时,获取待转发数据包的数据报文优先级,当然,同时需要对待转发数据包进行微码解析。
步骤S50,基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;
基于ECMP硬件表项的基址以及数据报文优先级计算获得待转发数据包对应的隧道的出口封装表硬件地址索引,其中,ECMP硬件表项的基址是指ECMP的256个连续硬件表项索引的首地址。
步骤S60,在所述ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据所述隧道信息转发所述待转发数据包。
根据出口封装表硬件地址索引在ECMP的硬件表项中查找与出口封装表硬件地址索引对应的隧道信息,其中,该隧道信息为路由器中与出口封装表硬件地址索引对应的端口,然后根据所述隧道信息转发所述待转发数据包,即在路由器中与出口封装表硬件地址索引对应的端口中转发所述待转发数据包。
本实施例通过在接收到待转发数据包时,获取所述待转发数据包的数据报文优先级;接着基于ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;然后在ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据隧道信息转发该待转发数据包,实现了待转发数据包在进行转发时根据其数据报文的优先级进行隧道的选择。
参照图4,图4本发明获得待转发数据包对应的隧道的出口封装表硬件地址索引的步骤的细化流程示意图。
基于上一实施例提出本发明步骤S50的细化流程实施例,在本实施例中,步骤S50包括:
步骤S51,获取所述待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签;
获取待转发数据包的五元组信息,该五元组包括目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签。
步骤S52,通过哈希算法基于所述数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签计算偏移值;
根据数据报文优先级以及五元组信息通过相应的哈希算法计算获得偏移值,例如,在ECMP的每个优先级拥有32个出口封装表时,该偏移值的范围为0~31。
步骤S53,基于所述ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引。
基于ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引,其中,该出口封装表硬件地址索引=基址+优先级×32+偏移值。
本实施例通过获取待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签,接着通过哈希算法基于数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签计算偏移值,然后基于ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得待转发数据包对应的隧道的出口封装表硬件地址索引,实现了出口封装表硬件地址索引的精确计算,进而实现了待转发数据包在进行转发时根据其数据报文的优先级进行隧道的选择。
本发明进一步提供一种隧道的优先级设置装置。
参照图5,图5为本发明隧道的优先级设置装置第一实施例的功能模块示意图。
在本实施例中,该隧道的优先级设置装置包括:
获取模块10,用于获取各个隧道的原始优先级;
各个隧道的原始优先级为ECMP中的各个隧道的最初具有的优先级,或者,在最初的系统配置时,为各个隧道配置的优先级,其中,全部或者部分隧道的原始优先级包括多个优先级。
编码模块20,用于对各个隧道的原始优先级均进行编码操作;
编码模块20对获取模块10获取到的各个隧道的原始优先级均进行编码,编码后的各个隧道的优先级保留了各个隧道中的具有多个优先级的隧道的所有的优先级。
发送模块30,用于将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中。
发送模块30将编码后的优先级发送至底层驱动,底层驱动对接收到的优先级信息进行对应的解码操作,然后根据解码后的优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中,即根据解码后的隧道的优先级信息完成各个隧道在ECMP的256个硬件表项中的配置,本实施例中,ECMP中隧道的优先级范围为0~7,每个优先级对应有32个出口封装硬件表项,ECMP具有256个出口封装硬件表项,首先底层驱动根据解码后的优先级信息对ECMP的隧道的8个优先级配置对应的隧道,此时,在ECMP中的每个优先级对应的各个隧道只占据该优先级对应的32个出口封装硬件表项中的一个出口封装表,然后底层驱动将该优先级对应的所有隧道配置到该优先级对应的32个出口封装表的剩余出口封装表中,其中配置方式采用间隔配置,即使得该优先级对应的所有隧道配置的出口封装表的数量基本相同。
本实施例通过获取模块10获取各个隧道的原始优先级;接着编码模块20对各个隧道的原始优先级均进行编码操作,然后发送模块30将编码后的优先级信息发送至底层驱动,以供底层驱动基于优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中,实现了优先级在对应隧道中进行负载分担,进而能够充分利用优先级的隧道带宽,节约了隧道的带宽资源,提高了隧道带宽资源的利用率以及数据转发的效率。
参照图6,图6为图5中编码模块的细化功能模块示意图。
基于第一实施例提出本发明隧道的优先级设置装置的编码模块的细化功能模块实施例,在本实施例中,编码模块20包括:
设置单元21,用于分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置;
本实施例中,ECMP的隧道的优先级范围为0~7,设置单元21将该优先级范围按照由大到小的顺序进行排列,然后将每一个隧道的原始优先级设为1,将该隧道不具有的优先级设为0,例如,将优先级为0、4、5的隧道通过二进制表示为:00110001,将优先级为1、3的隧道设置为00001010。
编码单元22,用于分别对比特位设置后的各个隧道的优先级进行编码操作;
编码操作是指按照其他的进制对隧道的优先级进行编码,譬如,十进制、二进制、八进制或十六进制等;譬如,编码单元22将优先级为0、4、5的隧道按照十六进制编码后为TE{0x31},编码单元22将优先级为1、3的隧道按照十六进制编码后为TE{0xa}。
进一步地,本实施例中,编码单元还用于分别对比特位设置后的各个隧道的优先级按照十六进制进行编码操作。
由于ECMP隧道的优先级范围为0~7,即隧道的优先级最多带有8个,因此,本实施例中,采用十六进制对隧道的优先级进行编码。
本实施例通过设置单元21分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置,然后编码单元22分别对比特位设置后的各个隧道的优先级进行编码操作,实现了对各个隧道的优先级进行编码,使得各个优先级在对应隧道中进行负载分担,进而能够充分利用优先级的隧道带宽,节约了隧道的带宽资源,提高了隧道带宽资源的利用率以及数据转发的效率。
参照图7,图7为本发明隧道的优先级设置装置第二实施例的功能模块示意图。
基于上述实施例提出本发明隧道的优先级设置装置的第二实施例,在本实施例中,该隧道的优先级设置装置还包括:
第二获取模块40,用于在接收到待转发数据包时,获取所述待转发数据包的数据报文优先级;
计算模块50,用于基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;
计算模块50基于ECMP硬件表项的基址以及数据报文优先级计算获得待转发数据包对应的隧道的出口封装表硬件地址索引息,其中,ECMP硬件表项的基址是指ECMP的256个连续硬件表项索引的首地址。
转发模块60,在所述ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据所述隧道信息转发所述待转发数据包。
转发模块60根据出口封装表硬件地址索引在ECMP的硬件表项中查找与出口封装表硬件地址索引对应的隧道信息,其中,该隧道信息为路由器中与出口封装表硬件地址索引对应的端口,然后根据所述隧道信息转发所述待转发数据包,即在路由器中与出口封装表硬件地址索引对应的端口中转发所述待转发数据包。
本实施例通过在接收到待转发数据包时,第二获取模块40获取待转发数据包的数据报文优先级;接着计算模块50基于ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;然后转发模块60在ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据隧道信息转发该待转发数据包,实现了待转发数据包在进行转发时根据其数据报文的优先级进行隧道的选择。
参照图8,图8位图7中计算模块的细化功能模块示意图。
基于上一实施例提出本发明计算模块50的细化功能模块的实施例,在本实施例中,该计算模块50包括:
获取单元51,用于获取所述待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签;
获取单元51获取待转发数据包的五元组信息,该五元组包括目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签。
第一计算单元52,用于通过哈希算法基于所述数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签计算偏移值;
第一计算单元52根据数据报文优先级以及五元组信息通过相应的哈希算法计算获得偏移值,例如,在ECMP的每个优先级拥有32个出口封装表时,该偏移值的范围为0~31。
第二计算单元53,用于基于所述ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引。
第二计算单元53基于ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引,其中,该出口封装表硬件地址索引=基址+优先级×32+偏移值。
本实施例通过获取单元51获取待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签,接着第一计算单元52通过哈希算法基于数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签计算偏移值,然后第二计算单元53基于ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得待转发数据包对应的隧道的出口封装表硬件地址索引,实现了出口封装表硬件地址索引的精确计算,进而实现了待转发数据包在进行转发时根据其数据报文的优先级进行隧道的选择。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种隧道的优先级设置方法,其特征在于,所述隧道的优先级设置方法包括以下步骤:
获取各个隧道的原始优先级;
对各个隧道的原始优先级均进行编码操作;
将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中;
在接收到待转发数据包时,获取所述待转发数据包的数据报文优先级;
基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;
在所述ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据所述隧道信息转发所述待转发数据包。
2.如权利要求1所述的隧道的优先级设置方法,其特征在于,所述对各个隧道的原始优先级均进行编码操作的步骤包括:
分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置;
分别对比特位设置后的各个隧道的优先级进行编码操作。
3.如权利要求2所述的隧道的优先级设置方法,其特征在于,所述分别对比特位设置后的各个隧道的优先级进行编码操作的步骤包括:
分别对比特位设置后的各个隧道的优先级按照十六进制进行编码操作。
4.如权利要求1所述的隧道的优先级设置方法,其特征在于,所述基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引的步骤包括:
获取所述待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签;
通过哈希算法基于所述数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签计算偏移值;
基于所述ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引。
5.一种隧道的优先级设置装置,其特征在于,所述隧道的优先级设置装置包括:
第一获取模块,用于获取各个隧道的原始优先级;
编码模块,用于对各个隧道的原始优先级均进行编码操作;
发送模块,用于将编码后的优先级信息发送至底层驱动,以供所述底层驱动基于所述优先级信息把各个优先级对应的隧道出口封装表信息写入对应的等价多路径ECMP的硬件表项中;
第二获取模块,用于在接收到待转发数据包时,获取所述待转发数据包的数据报文优先级;
计算模块,用于基于所述ECMP硬件表项的基址以及数据报文优先级计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引;
转发模块,用于在所述ECMP的硬件表项中查找所述出口封装表硬件地址索引对应的隧道信息,并根据所述隧道信息转发所述待转发数据包。
6.如权利要求5所述的隧道的优先级设置装置,其特征在于,所述编码模块包括:
设置单元,用于分别按照各个所述隧道的原始优先级的大小顺序对各个隧道的优先级进行比特位设置;
编码单元,用于分别对比特位设置后的各个隧道的优先级进行编码操作。
7.如权利要求6所述的隧道的优先级设置装置,其特征在于,所述编码单元还用于分别对比特位设置后的各个隧道的优先级按照十六进制进行编码操作。
8.如权利要求5所述的隧道的优先级设置装置,其特征在于,所述计算模块包括:
获取单元,用于获取所述待转发数据包的目的物理地址MAC、源MAC、目的IP地址、源IP地址以及隧道标签;
第一计算单元,用于通过哈希算法基于所述数据报文优先级、目的MAC、源MAC、目的IP地址、源IP地址以及隧道标签通过哈希算法计算偏移值;
第二计算单元,用于基于所述ECMP硬件表项的基址、数据报文优先级以及偏移值计算获得所述待转发数据包对应的隧道的出口封装表硬件地址索引。
CN201510520933.8A 2015-08-21 2015-08-21 隧道的优先级设置方法及装置 Active CN106470157B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510520933.8A CN106470157B (zh) 2015-08-21 2015-08-21 隧道的优先级设置方法及装置
PCT/CN2016/076795 WO2016177149A1 (zh) 2015-08-21 2016-03-18 隧道的优先级设置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510520933.8A CN106470157B (zh) 2015-08-21 2015-08-21 隧道的优先级设置方法及装置

Publications (2)

Publication Number Publication Date
CN106470157A CN106470157A (zh) 2017-03-01
CN106470157B true CN106470157B (zh) 2020-06-30

Family

ID=57217330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510520933.8A Active CN106470157B (zh) 2015-08-21 2015-08-21 隧道的优先级设置方法及装置

Country Status (2)

Country Link
CN (1) CN106470157B (zh)
WO (1) WO2016177149A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199974B (zh) * 2017-12-25 2021-09-07 新华三技术有限公司 业务流量转发管理方法、装置及网络节点
CN109995654B (zh) * 2017-12-29 2022-05-20 中兴通讯股份有限公司 一种基于隧道传输数据的方法及装置
CN109450793B (zh) * 2018-12-18 2021-07-16 锐捷网络股份有限公司 一种业务流量调度的方法和装置
CN111385209B (zh) * 2018-12-28 2021-06-22 华为技术有限公司 一种报文处理方法、报文转发方法、装置及设备
CN113472647B (zh) * 2021-06-11 2023-07-14 新华三信息安全技术有限公司 一种报文转发方法及装置
CN115914098A (zh) * 2021-09-30 2023-04-04 中兴通讯股份有限公司 基于等价多路径的选路方法、设备和存储介质
CN114050921B (zh) * 2021-10-29 2023-07-25 山东三未信安信息科技有限公司 一种fpga实现的基于udp的高速加密数据传输系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674554A (zh) * 2004-03-22 2005-09-28 日立通讯技术株式会社 数据包传送装置
CN101163084A (zh) * 2007-11-13 2008-04-16 华为技术有限公司 一种基于类的隧道选择方法和设备
CN102739505A (zh) * 2011-04-06 2012-10-17 中兴通讯股份有限公司 数据中心网络中对虚拟通道的流量控制方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577161B2 (en) * 2003-02-26 2009-08-18 Alcatel-Lucent Usa Inc. Class-based bandwidth allocation and admission control for virtual private networks with differentiated service
US8189482B2 (en) * 2007-02-20 2012-05-29 Cisco Technology, Inc. Probing-based mechanism to reduce preemption perturbation caused by higher priority tunnel establishment in a computer network
CN102201964B (zh) * 2010-03-22 2014-02-05 杭州华三通信技术有限公司 一种实现快速路径切换的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674554A (zh) * 2004-03-22 2005-09-28 日立通讯技术株式会社 数据包传送装置
CN101163084A (zh) * 2007-11-13 2008-04-16 华为技术有限公司 一种基于类的隧道选择方法和设备
CN102739505A (zh) * 2011-04-06 2012-10-17 中兴通讯股份有限公司 数据中心网络中对虚拟通道的流量控制方法及系统

Also Published As

Publication number Publication date
CN106470157A (zh) 2017-03-01
WO2016177149A1 (zh) 2016-11-10

Similar Documents

Publication Publication Date Title
CN106470157B (zh) 隧道的优先级设置方法及装置
US8553688B2 (en) Dynamic allocation of context identifiers for header compression
US9049127B2 (en) Methods and devices for providing service clustering in a trill network
US10348646B2 (en) Two-stage port-channel resolution in a multistage fabric switch
CN109714274B (zh) 一种获取对应关系的方法和路由设备
CN102136989B (zh) 报文传输的方法、系统和设备
CN112994961A (zh) 传输质量检测方法及装置、系统、存储介质
US20200195568A1 (en) Hardware-friendly mechanisms for in-band oam processing
CN107615729A (zh) 数据传输方法及通信装置
US20130155865A1 (en) Label switching or equivalent network multipath traffic control
US10601648B2 (en) Network nodes with intelligent integration
CN114128228B (zh) 通过SRv6头传输MTNC-ID以实现5G传输
CN109479006B (zh) 生成转发表的方法和转发设备
CN113923161A (zh) 一种报文转发方法及装置
US20220159545A1 (en) Transporting MTNC-ID over SRV6-Enabled Dataplane for 5G Transport
WO2016095142A1 (zh) 软件定义网络sdn中数据转发的方法、设备和系统
CN105992186B (zh) 数据传输方法及装置
CN108234269B (zh) 组播报文转发方法和装置
CN106230730B (zh) 一种组播传输方法和装置
CN105493454A (zh) 双活接入多链接透明互联(trill)边缘
US10972396B2 (en) Mapping network frame flows to classes of service to minimize network frame flow disruption
WO2020024853A1 (zh) 一种终端的通信方法和装置
WO2015039616A1 (zh) 一种报文处理方法及设备
CN111294751B (zh) 数据传输方法及装置、存储介质、终端
WO2019063869A1 (en) TRAFFIC MONITORING IN DATA NETWORKS

Legal Events

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