CN109981472A - 一种报文封装方法、转发方法、相关装置、设备及介质 - Google Patents
一种报文封装方法、转发方法、相关装置、设备及介质 Download PDFInfo
- Publication number
- CN109981472A CN109981472A CN201711451010.7A CN201711451010A CN109981472A CN 109981472 A CN109981472 A CN 109981472A CN 201711451010 A CN201711451010 A CN 201711451010A CN 109981472 A CN109981472 A CN 109981472A
- Authority
- CN
- China
- Prior art keywords
- message
- dscp
- layer network
- network message
- vxlan
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/35—Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文封装方法、转发方法、相关装置、设备及介质,具体为:通过SDN控制器配置各个DSCP字段与相应的PHB之间的关联关系以及各个二层网络报文与相应的DSCP字段之间的关联关系,并将配置的两个关联关系下发至各个VTEP,使得VTEP在封装二层网络报文的过程中,能够基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定该二层网络报文对应的DSCP字段,并将该DSCP字段添加至VXLAN头中,从而使得VTEP能够按照该DSCP字段对应的PHB执行相应的转发操作,进而实现了拥塞管理、拥塞避免、流量整形和监管等功能,避免了大量重要报文被丢弃的问题,确保了报文的QoS。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文封装方法、转发方法、相关装置、设备及介质。
背景技术
随着“云计算”概念的提出,传统的基础设施架构(如计算资源、网络、存储等)也朝着“云”的方向发展。对于网络而言,是当前最为热门的一项技术,其中,虚拟扩展局域网(Virtual eXtensible LAN,VXLAN)是一种将二层网络报文用三层网络协议进行封装的技术,该技术将二层网络构建在传统的三层网络之上,实现了对二层网络在三层网络范围内的扩展,被称为在第三层网络上的第二层网络覆盖方案,典型的VXLAN网络包括虚拟机(Virtual Machine,VM)、虚拟扩展局域网隧道终端(VXLAN Tunnel End Point,VTEP)和软件定义网络(Software Defined Networking,SDN)控制器。
随着VXLAN网络的不断发展和扩大,VXLAN网络中的VTEP作为报文的封装和转发设备,负荷会越来越重,当VTEP的负荷增大到一个量级时,网络通信资源(如带宽、队列、路由器的处理资源等)必定会被争抢,在这种情况下,现有技术中,默认的网络服务模式为“尽最大努力”的服务模式,即所有的报文都被无区别的等同对待,每个VTEP对所有的报文均采用先入先出策略进行处理,尽最大的努力将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证,无法针对不同的报文实现相应的服务质量(Quality ofService,QoS),也没有提出相应机制来保证报文的QoS,这必然会出现网络拥塞、传送时延和丢包等一系列的QoS问题。
发明内容
本发明实施例提供了一种报文封装方法、转发方法、相关装置、设备及介质,用以解决现有技术中存在的当VTEP的负荷增大到一个量级时,由于没有相应机制来保证报文的QoS导致的网络拥塞、传送时延和大量的重要报文被丢弃等问题。
本发明实施例提供的具体技术方案如下:
一种报文封装方法,应用于VXLAN中的VTEP,包括:
基于预先保存的各个二层网络报文与相应的差分服务代码点(DifferentiatedServices Code Point,DSCP)字段之间的关联关系,确定待转发的二层网络报文对应的DSCP字段;
获取二层网络报文对应的VXLAN头、外层用户数据报协议(User DatagramProtocol,UDP)头、外层互联网协议(Internet Protocol,IP)头和外层媒体访问控制(Media Access Control,MAC)头,并将待转发的二层网络报文对应的DSCP字段添加至VXLAN头中;
基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将待转发的二层网络报文封装为三层网络报文。
较佳的,DSCP字段包含DSCP编码值和显式拥塞通知(Explicit CongestionNotification,ECN)。
较佳的,各个二层网络报文与相应的DSCP字段之间的关联关系是VXLAN中的SDN控制器采用以下方式建立并下发至VTEP的:
针对每一个二层网络报文,基于二层网络报文的QoS需求,从预先设置的各个DSCP编码值中,选取一个DSCP编码值作为二层网络报文的DSCP编码值,并基于VXLAN中的VTEP是否支持ECN,为ECN定义相应的数值,以及将选取的DSCP编码值和定义的ECN的数值,作为二层网络报文对应的DSCP字段。
较佳的,将DSCP字段添加至VXLAN头中,包括:
将DSCP字段添加至VXLAN头包含的标记(Flag)字段后的保留(Reserved)字段中。
较佳的,该报文封装方法还包括:
将DSCP字段复制到外层IP头包含的服务类型(Type of Service,ToS)字段中。
一种基于上述报文封装方法的报文转发方法,应用于VXLAN中的VTEP,其特征在于,包括:
从待转发的三层网络报文的外层IP头中,读取DSCP字段;
确定与DSCP字段相对应的每跳转发行为(Per Hop Behavior,PHB);
按照PHB对三层网络报文执行相应的转发操作。
较佳的,确定与DSCP字段相对应的PHB,包括:
从DSCP字段中,读取三层网络报文对应的DCSP编码值;
基于预先保存的各个DSCP编码值与相应的PHB之间的关联关系,确定与三层网络报文对应的DCSP编码值相关联的PHB。
较佳的,该报文转发方法,其特征在于,还包括:
基于是否发生拥塞,为DSCP字段中的ECN重新定义相应的数值。
一种报文封装装置,应用于VXLAN中的VTEP,其特征在于,包括:
确定单元,用于基于预先保存的各个二层网络报文与相应的差DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP;
添加单元,用于获取待转发的二层网络报文对应的VXLAN头、外层UDP头、外层IP头和外层MAC头,并将待转发的二层网络报文对应的DSCP字段添加至VXLAN头中;
封装单元,用于基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将待转发的二层网络报文封装为三层网络报文。
较佳的,确定单元确定的DSCP字段包含DSCP编码值和ECN。
较佳的,确定单元预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系是VXLAN中的SDN控制器采用以下方式建立并下发至VTEP的:
针对每一个二层网络报文,基于二层网络报文的QoS需求,从预先设置的各个DSCP编码值中,选取一个DSCP编码值作为二层网络报文的DSCP编码值,并基于VXLAN中的VTEP是否支持ECN,为ECN定义相应的数值,以及将选取的DSCP编码值和定义的ECN的数值,作为二层网络报文对应的DSCP字段。
较佳的,在将DSCP字段添加至VXLAN头中时,添加单元具体用于:
将DSCP字段添加至VXLAN头包含的Flag字段后的Reserved字段中。
较佳的,该报文封装装置还包括复制单元,其中,复制单元具体用于:
将DSCP字段复制到外层IP头包含的ToS字段中。
一种报文转发装置,应用于VXLAN中的VTEP,其特征在于,包括:
读取单元,用于从待转发的三层网络报文的外层IP头中,读取DSCP字段;
确定单元,用于确定与DSCP字段相对应的PHB;
转发单元,用于按照PHB对三层网络报文执行相应的转发操作。
较佳的,在确定与DSCP字段相对应的PHB时,确定单元具体用于:
从DSCP字段中,读取三层网络报文对应的DCSP编码值;
基于预先保存的各个DSCP编码值与相应的PHB之间的关联关系,确定与三层网络报文对应的DCSP编码值相关联的PHB。
较佳的,该报文转发装置还包括定义单元,其中,定义单元具体用于:
基于是否发生拥塞,为DSCP字段中的ECN重新定义相应的数值。
一种计算机设备,包括:存储器、处理器和存储在存储器上的计算机程序,处理器执行计算机程序时实现如上述报文封装方法和/或如上述报文转发方法的步骤。
一种非易失性计算机存储介质,非易失性计算机存储有计算机可执行指令,计算机可执行指令用于使计算机执行如上述报文封装方法和/或如上述报文转发方法的步骤。
本发明实施例的有益效果如下:
本发明实施例中,通过SDN控制器配置各个DSCP字段与相应的PHB之间的关联关系以及各个二层网络报文与相应的DSCP字段之间的关联关系,并将配置的两个关联关系下发至各个VTEP,使得各个VTEP在将二层网络报文封装为三层网络报文的过程中,能够基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定该二层网络报文对应的DSCP字段并将该DSCP字段添加至VXLAN头中,从而使得各个VTEP能够按照该DSCP字段对应的PHB执行相应的转发操作,进而实现了拥塞管理、拥塞避免、流量整形和监管等功能,尽可能地避免了大量的重要报文被丢弃的问题,确保了报文的QoS。
附图说明
图1A为为本发明实施例中将二层网络报文封装为三层网络报文后,该三层网络报文的报文结构示意图;
图1B为本发明实施例中提供的报文封装方法的概况示意图;
图2为本发明实施例中提供的报文转发方法的概况示意图;
图3A和图3B为本发明实施例中提供的报文封装方法和报文转发方法的具体流程示意图;
图4为本发明实施例中提供的报文封装装置的功能结构示意图;
图5为本发明实施例中提供的报文转发装置的功能结构示意图;
图6为本发明实施例中提供的计算机设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在VXLAN中,二层网络报文在增加了VXLAN头的情况下,重新封装了外层MAC头、外层IP头和外层UDP头,从而将二层网络报文封装成了三层网络报文,参阅图1A所示,为将二层网络报文封装为三层网络报文后该三层网络报文的报文结构示意图,其中,VXLAN头的结构如下:
具体地,VXLAN头的长度为8bytes,分为以下四个部分:
(1)Flag字段(8bit):当Flag字段“|R|R|R|R|I|R|R|R|”中的“I”Flag(1bit)置1时,表征VXLAN网络标识符(VXLAN Network Identifier,VNI)有效,其余的“R”Flag可以置0。
(2)Flag字段后的Reserved字段(24bit):为保留字段,供未来使用。
(3)VNI字段(24bit):用于标识VXLAN段的唯一性,并且,属于不同VXLAN段的VM不能直接进行二层网络通信,只有属于相同VXLAN段的VM才能进行二层网络通信。
(4)VNI字段后的Reserved字段(8bit):为保留字段,供未来使用。
本发明实施例中,为了解决现有技术中存在的当VTEP的负荷增大到一个量级时,由于没有相应机制来保证报文的QoS导致的网络拥塞、传送时延和大量的重要报文被丢弃等问题,SDN控制器预先配置各个DSCP字段与相应的PHB之间的关联关系以及各个二层网络报文与相应的DSCP字段之间的关联关系,并将配置的两个关联关系通过南向接口下发至各个VTEP,当VTEP对二层网络报文进行封装时,基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定该二层网络报文对应的DSCP字段,并将该二层网络报文对应的DSCP字段添加至VXLAN头中,以及基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将该待转发的二层网络报文封装为三层网络报文,此外,VTEP还会将该二层网络报文对应的DSCP字段复制到外层IP头中,并将封装好的三层网络报文转发至其他VTEP,其他VTEP从该三层网络报文的外层IP头中读取DSCP字段,并确定与该DSCP字段相对应的PHB,以及按照该PHB对该三层网络报文执行相应的转发操作。这样,在报文转发过程中,路径上所有的VTEP都会按照读取到的DSCP字段对应的PHB执行相应的转发操作,从而实现了拥塞管理、拥塞避免、流量整形和监管等功能,尽可能地避免了大量的重要报文被丢弃的问题,确保了报文的QoS。
本发明实施例中,二层网络报文可以是地址解析协议(Address ResolutionProtocol,ARP)请求报文,也可以是普通数据报文,在此不作具体限定,下面通过具体实施例对本发明方案进行详细描述,当然,本发明并不限于以下实施例。
本发明实施例中提供了一种报文封装方法,应用于VXLAN中的VTEP,参阅图1B所示,该报文封装方法的流程如下:
步骤101:基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP字段。
在具体实施时,各个二层网络报文与相应的DSCP字段之间的关联关系可以通过SDN控制器配置并下发至VTEP,具体地,SDN控制器在配置各个二层网络报文与相应的DSCP字段之间的关联关系时,可以采用但不限于以下方式:针对每一个二层网络报文,基于二层网络报文的QoS需求,从预先设置的各个DSCP编码值中,选取一个DSCP编码值作为二层网络报文的DSCP编码值,并基于VXLAN中的VTEP是否支持ECN,为ECN定义相应的数值,以及将选取的DSCP编码值和定义的ECN的数值,作为二层网络报文对应的DSCP字段。这样,VTEP就可以基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP字段。
步骤102:获取该待转发的二层网络报文对应的VXLAN头、外层UDP头、外层IP头和外层MAC头,并将该待转发的二层网络报文对应的DSCP字段添加至该VXLAN头中。
在具体实施时,二层网络报文对应的VXLAN头、外层UDP头、外层IP头和外层MAC头的获取方法与现有技术相同,在此不再赘述,值得说的是,在将该待转发的二层网络报文对应的DSCP字段添加至该VXLAN头中时,可以将该DSCP字段添加至VXLAN头包含的Flag字段后的Reserved字段中,即选取Flag字段后的Reserved字段,将为首的8bit定义为DSCP字段,其中,添加有DSCP字段的VXLAN头的结构如下:
具体地,VXLAN头包含的DSCP字段的长度为8-bit,分为以下两个部分:
(1)DSCP编码值(6bit):用于标识相应的PHB。
(2)ECN(2bit):用于通知相邻的VTEP处于拥塞状态。
步骤103:基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将该待转发的二层网络报文封装为三层网络报文。
在具体实施时,为了确保在三层网络报文在转发过程中,路径上的各个VTEP都能够快速地读取到DSCP字段,在将该待转发的二层网络报文封装为三层网络报文的过程中,还可以将VXLAN头包含的DSCP字段复制到外层IP头包含的ToS字段中。
至此,报文封装方法的流程结束。
基于本发明实施例中提供的上述报文封装方法,本发明实施例中还提供了一种报文转发方法,应用于VXLAN中的VTEP,参阅图2所示,该报文转发方法的流程如下:
步骤201:从待转发的三层网络报文的外层IP头中,读取DSCP字段。
步骤202:确定与该DSCP字段相对应的PHB。
在执行步骤202时,可以采用但不限于以下方式:从该DSCP字段中,读取该三层网络报文对应的DCSP编码值;基于预先保存的各个DSCP编码值与相应的PHB之间的关联关系,确定与该三层网络报文对应的DCSP编码值相关联的PHB。
在具体实施时,各个DSCP编码值与相应的PHB之间的关联关系可以通过SDN控制器配置并下发至VTEP,具体地,SDN控制器在配置各个DSCP编码值与相应的PHB之间的关联关系时,可以根据不同的应用场景和用户需求进行灵活配置,比如,可以将PHB配置为但不限于快速转发(Expedited Forwarding,EF)PHB和确保转发(Assured Forwarding,AF)PHB两类,其中,EF PHB用于提供延时保证,可以将EF PHB对应的DSCP编码值定义为101110,而AFPHB用于提供带宽保证,具体地,参阅表1所示,还可以将AF PHB划分为12个子类,并针对每一个子类定义相应的DSCP编码值:
表1
值得说的是,在表1中,AF PHB的子类是通过定义4个转发队列和3个丢弃优先级来划分的,即AF PHB定义了4个转发队列,每个转发队列定义了3个丢弃优先级,因此,AF PHB定义了12个子类,此外,表1中还定义了12个子类分别对应的DSCP编码值,其中,AF PHB名称的格式为AFxy,其中,x表示4个转发队列之一(数值为1~4),y表示3个丢弃优先级之一(数值为1~3),在AFxy中,x的数值越大,报文的排队优先级越高,反之,x的数值越小,报文的排队优先级越低;y的数值越大,报文的丢弃优先级越高,反之,y的数值越小,报文的丢弃优先级越低。
步骤203:按照该PHB对该三层网络报文执行相应的转发操作。
值得说的是,在按照该PHB对该三层网络报文执行相应的转发操作时,还可以基于是否发生拥塞,为DSCP字段中的ECN重新定义相应的数值。
至此,报文转发方法的流程结束。
下面仅以“VM_A向VM_B发送二层网络报文,且该二层网络报文是普通数据报文”为具体的应用场景对上述实施例作进一步详细说明,参阅图3A和图3B所示,本发明实施例中提供的报文封装方法和报文转发方法的具体流程如下:
步骤301:SDN控制器基于各个VTEP各自包含的VM生成转发流表,并配置各个DSCP字段与相应的PHB之间的关联关系以及各个二层网络报文与相应的DSCP字段之间的关联关系。
步骤302:SDN控制器通过南向接口,将转发流表、各个DSCP字段与相应的PHB之间的关联关系和各个二层网络报文与相应的DSCP字段之间的关联关系下发至各个VTEP。
步骤303:各个VTEP保存SDN控制器下发的转发流表、各个DSCP字段与相应的PHB之间的关联关系和各个二层网络报文与相应的DSCP字段之间的关联关系。
步骤304:VM_A向VTEP_1发送报文转发请求,其中,该报文转发请求中至少携带有待转发的二层网络报文,源MAC地址MAC_A和源IP地址IP_A(即VM_A的MAC地址和IP地址),目的MAC地址MAC_B和目的IP地址IP_B(即VM_B的MAC地址和IP地址)。
步骤305:VTEP_1确定该待转发的二层网络报文对应的VNI,并基于预先保存的转发流表,确定下一跳VTEP_3的MAC地址MAC_3和IP地址IP_3。
步骤306:VTEP_1基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定该待转发的二层网络报文对应的DSCP字段。
步骤307:VTEP_1基于该待转发的二层网络报文、该待转发的二层网络报文对应的VNI、源MAC地址MAC_A和源IP地址IP_A、目的MAC地址MAC_B和目的IP地址IP_B等,生成VXLAN头。
步骤308:VTEP_1将该待转发的二层网络报文对应的DSCP字段添加至该VXLAN头包含的Flag字段后的Reserved字段中。
步骤309:VTEP_1生成外层UDP头,并基于源IP地址IP_1(即VTEP_1的IP地址)、目的IP地址IP_3(即下一跳VTEP_3的IP地址)等,生成外层IP头。
步骤310:VTEP_1将VXLAN头中的DSCP字段复制到外层IP头包含的ToS字段中。
步骤311:VTEP_1基于源MAC地址MAC_1(即VTEP_1的MAC地址)、目的MAC地址MAC_3(即下一跳VTEP_3的MAC地址)等,生成外层MAC头。
步骤312:VTEP_1基于添加有DSCP字段的VXLAN头、外层UDP头、复制有DSCP字段的外层IP头和外层MAC头,将该待转发的二层网络报文封装为三层网络报文。
步骤313:VTEP_1基于外层IP头中的目的IP地址IP_3和外层MAC头中的目的MAC地址MAC_3,将该三层网络报文转发至VTEP_3。
步骤314:VTEP_3对该三层网络报文进行解封装,确定目的IP地址IP_3和目的MAC地址MAC_3为自身的IP地址和MAC地址后,从该三层网络报文的外层IP头包含的ToS字段中,读取DSCP字段。
步骤315:VTEP_3从该DSCP字段中,读取DCSP编码值,并基于预先保存的各个DSCP编码值与相应的PHB之间的关联关系,确定与该DCSP编码值相关联的PHB。
步骤316:VTEP_3基于是否发生拥塞,为该DSCP字段中的ECN重新定义相应的数值。
步骤317:VTEP_3基于预先保存的转发流表,确定下一跳VTEP_2的MAC地址MAC_2和IP地址IP_2。
步骤318:VTEP_3将该三层网络报文的外层IP头中的目的IP地址IP_3修改为目的IP地址IP_2(即下一跳VTEP_2的IP地址),以及将外层MAC头中的目的MAC地址MAC_3修改为MAC_2。
步骤319:VTEP_3基于外层IP头中的目的IP地址IP_2和外层MAC头中的目的MAC地址MAC_2,将该三层网络报文转发至VTEP_2,并在转发过程中,按照与该DCSP编码值相关联的PHB对该三层网络报文执行相应的转发操作。
步骤320:VTEP_2对该三层网络报文进行解封装,确定目的IP地址IP_2和目的MAC地址MAC_2为自身的IP地址和MAC地址后,基于解封装时得到的目的MAC地址MAC_B和目的IP地址IP_B,将二层网络报文发送至VM_B。
基于上述实施例,参阅图4所示,本发明实施例中提供了一种报文封装装置,应用于VXLAN中的VTEP,该报文封装装置至少包括:
确定单元401,用于基于预先保存的各个二层网络报文与相应的差DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP;
添加单元402,用于获取待转发的二层网络报文对应的VXLAN头、外层UDP头、外层IP头和外层MAC头,并将待转发的二层网络报文对应的DSCP字段添加至VXLAN头中;
封装单元403,用于基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将待转发的二层网络报文封装为三层网络报文。
较佳的,确定单元401确定的DSCP字段包含DSCP编码值和ECN。
较佳的,确定单元401预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系是VXLAN中的SDN控制器采用以下方式建立并下发至VTEP的:
针对每一个二层网络报文,基于二层网络报文的QoS需求,从预先设置的各个DSCP编码值中,选取一个DSCP编码值作为二层网络报文的DSCP编码值,并基于VXLAN中的VTEP是否支持ECN,为ECN定义相应的数值,以及将选取的DSCP编码值和定义的ECN的数值,作为二层网络报文对应的DSCP字段。
较佳的,在将DSCP字段添加至VXLAN头中时,添加单元402具体用于:
将DSCP字段添加至VXLAN头包含的Flag字段后的Reserved字段中。
较佳的,该报文封装装置还包括复制单元404,其中,复制单元404具体用于:
将DSCP字段复制到外层IP头包含的ToS字段中。
基于上述实施例,参阅图5所示,本发明实施例中还提供了一种报文转发装置,应用于VXLAN中的VTEP,该报文转发装置至少包括:
读取单元501,用于从待转发的三层网络报文的外层IP头中,读取三层网络报文对应的DSCP字段;
确定单元502,用于确定与DSCP字段相对应的PHB;
转发单元503,用于按照PHB对三层网络报文执行相应的转发操作。
较佳的,在确定与DSCP字段相对应的PHB时,确定单元502具体用于:
从DSCP字段中,读取三层网络报文对应的DCSP编码值;
基于预先保存的各个DSCP编码值与相应的PHB之间的关联关系,确定与三层网络报文对应的DCSP编码值相关联的PHB。
较佳的,该报文转发装置还包括定义单元504,其中,定义单元504具体用于:
从DSCP字段中,读取ECN的数值;
若基于ECN的数值确定发送三层网络报文的VTEP支持ECN,则基于是否发生拥塞为ECN重新定义相应的数值。
在介绍了本发明示例性实施方式的方法和装置之后,接下来,对本发明示例性实施方式的用于报文封装和/或报文转发的非易失性计算机存储介质进行介绍。本发明实施例提供了一种非易失性计算机存储介质,该非易失性计算机存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行如上述报文封装和/或报文转发的步骤,比如执行如图1B中所示的步骤101:基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP字段;步骤102:获取该待转发的二层网络报文对应的VXLAN头、外层UDP头、外层IP头和外层MAC头,并将该待转发的二层网络报文对应的DSCP字段添加至该VXLAN头中;步骤103:基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将该待转发的二层网络报文封装为三层网络报文,和/或,执行如图2中所示的步骤201:从待转发的三层网络报文的外层IP头中,读取该三层网络报文对应的DSCP字段;步骤202:确定与该DSCP字段相对应的PHB;步骤203:按照该PHB对该三层网络报文执行相应的转发操作。
在介绍了本发明示例性实施方式的方法、装置和非易失性计算机存储介质之后,接下来,对本发明示例性实施方式的用于报文封装和/或报文转发的计算机设备进行介绍。本发明实施例提供了一种计算机设备,该计算机设备可以包括:存储器601、处理器602和存储在存储器601上的计算机程序,处理器602执行该计算机程序时实现如上述报文封装和/或报文转发的步骤,比如执行如图1B中所示的步骤101:基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP字段;步骤102:获取该待转发的二层网络报文对应的VXLAN头、外层UDP头、外层IP头和外层MAC头,并将该待转发的二层网络报文对应的DSCP字段添加至该VXLAN头中;步骤103:基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将该待转发的二层网络报文封装为三层网络报文,和/或,执行如图2中所示的步骤201:从待转发的三层网络报文的外层IP头中,读取该三层网络报文对应的DSCP字段;步骤202:确定与该DSCP字段相对应的PHB;步骤203:按照该PHB对该三层网络报文执行相应的转发操作。
较佳的,存储器601可以包括只读存储器(ROM)和随机存取存储器(RAM),处理器602可以是并向处理器。
进一步地,本发明实施例五中的用于报文封装和/或报文转发的计算机设备还可以包括输入装置603和输出装置604等。输入装置603可以包括触控笔、键盘、鼠标、触摸屏等;输出装置604可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT),触摸屏等。存储器601,处理器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中仅以通过总线连接为例。
综上所述,本发明实施例中,SDN控制器预先配置各个DSCP字段与相应的PHB之间的关联关系以及各个二层网络报文与相应的DSCP字段之间的关联关系,并将配置的两个关联关系下发至各个VTEP,当VTEP对二层网络报文进行封装时,基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定该二层网络报文对应的DSCP字段,并将该二层网络报文对应的DSCP字段添加至VXLAN头中,以及基于添加有DSCP字段的VXLAN头、外层UDP头、外层IP头和外层MAC头,将该待转发的二层网络报文封装为三层网络报文,此外,VTEP还会将该二层网络报文对应的DSCP字段复制到外层IP头中,并将封装好的三层网络报文转发至其他VTEP,其他VTEP从该三层网络报文的外层IP头中读取DSCP字段,并确定与该DSCP字段相对应的PHB,以及按照该PHB对该三层网络报文执行相应的转发操作。这样,通过SDN控制器配置各个DSCP字段与相应的PHB之间的关联关系以及各个二层网络报文与相应的DSCP字段之间的关联关系,并将配置的两个关联关系下发至各个VTEP,使得各个VTEP在将二层网络报文封装为三层网络报文的过程中,能够基于预先保存的各个二层网络报文与相应的DSCP字段之间的关联关系,确定该二层网络报文对应的DSCP字段并将该DSCP字段添加至VXLAN头中,从而使得各个VTEP能够按照该DSCP字段对应的PHB执行相应的转发操作,进而实现了拥塞管理、拥塞避免、流量整形和监管等功能,尽可能地避免了大量的重要报文被丢弃的问题,确保了报文的QoS。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种报文封装方法,应用于虚拟扩展局域网VXLAN中的虚拟扩展局域网隧道终端VTEP,其特征在于,包括:
基于预先保存的各个二层网络报文与相应的差分服务代码点DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP字段;
获取所述待转发的二层网络报文对应的VXLAN头、外层用户数据报协议UDP头、外层互联网协议IP头和外层媒体访问控制MAC头,并将所述待转发的二层网络报文对应的DSCP字段添加至所述VXLAN头中;
基于添加有DSCP字段的所述VXLAN头、所述外层UDP头、所述外层IP头和所述外层MAC头,将所述待转发的二层网络报文封装为三层网络报文。
2.如权利要求1所述的报文封装方法,其特征在于,所述DSCP字段包含DSCP编码值和显式拥塞通知ECN。
3.如权利要求2所述的报文封装方法,其特征在于,所述各个二层网络报文与相应的DSCP字段之间的关联关系是所述VXLAN中的软件定义网络SDN控制器采用以下方式建立并下发至所述VTEP的:
针对每一个二层网络报文,基于所述二层网络报文的服务质量QoS需求,从预先设置的各个DSCP编码值中,选取一个DSCP编码值作为所述二层网络报文的DSCP编码值,并基于所述VXLAN中的VTEP是否支持ECN,为所述ECN定义相应的数值,以及将选取的所述DSCP编码值和定义的所述ECN的数值,作为所述二层网络报文对应的DSCP字段。
4.如权利要求1所述的报文封装方法,其特征在于,将所述DSCP字段添加至所述VXLAN头中,包括:
将所述DSCP字段添加至所述VXLAN头包含的标记Flag字段后的保留Reserved字段中。
5.如权利要求1-4任一项所述的报文封装方法,其特征在于,还包括:
将所述DSCP字段复制到所述外层IP头包含的服务类型ToS字段中。
6.一种基于如权利要求1-5任一项所述的报文封装方法的报文转发方法,应用于虚拟扩展局域网VXLAN中的虚拟扩展局域网隧道终端VTEP,其特征在于,包括:
从待转发的三层网络报文的外层互联网协议IP头中,读取差分服务代码点DSCP字段;
确定与所述DSCP字段相对应的每跳转发行为PHB;
按照所述PHB对所述三层网络报文执行相应的转发操作。
7.如权利要求6所述的报文转发方法,其特征在于,确定与所述DSCP字段相对应的PHB,包括:
从所述DSCP字段中,读取所述三层网络报文对应的DCSP编码值;
基于预先保存的各个DSCP编码值与相应的PHB之间的关联关系,确定与所述三层网络报文对应的DCSP编码值相关联的PHB。
8.如权利要求6或7所述的报文转发方法,其特征在于,还包括:
基于是否发生拥塞,为所述DSCP字段中的显式拥塞通知ECN重新定义相应的数值。
9.一种报文封装装置,应用于虚拟扩展局域网VXLAN中的虚拟扩展局域网隧道终端VTEP,其特征在于,包括:
确定单元,用于基于预先保存的各个二层网络报文与相应的差分服务代码点DSCP字段之间的关联关系,确定待转发的二层网络报文对应的DSCP字段;
添加单元,用于获取所述待转发的二层网络报文对应的VXLAN头、外层用户数据报协议UDP头、外层互联网协议IP头和外层媒体访问控制MAC头,并将所述待转发的二层网络报文对应的DSCP字段添加至所述VXLAN头中;
封装单元,用于基于添加有DSCP字段的所述VXLAN头、所述外层UDP头、所述外层IP头和所述外层MAC头,将所述待转发的二层网络报文封装为三层网络报文。
10.如权利要求9所述的报文封装装置,其特征在于,所述确定单元确定的所述DSCP字段包含DSCP编码值和显式拥塞通知ECN。
11.如权利要求10所述的报文封装装置,其特征在于,所述确定单元预先保存的所述各个二层网络报文与相应的DSCP字段之间的关联关系是所述VXLAN中的软件定义网络SDN控制器采用以下方式建立并下发至所述VTEP的:
针对每一个二层网络报文,基于所述二层网络报文的服务质量QoS需求,从预先设置的各个DSCP编码值中,选取一个DSCP编码值作为所述二层网络报文的DSCP编码值,并基于所述VXLAN中的VTEP是否支持ECN,为所述ECN定义相应的数值,以及将选取的所述DSCP编码值和定义的所述ECN的数值,作为所述二层网络报文对应的DSCP字段。
12.如权利要求9所述的报文封装装置,其特征在于,在将所述DSCP字段添加至所述VXLAN头中时,所述添加单元具体用于:
将所述DSCP字段添加至所述VXLAN头包含的标记Flag字段后的保留Reserved字段中。
13.如权利要求9-12任一项所述的报文封装装置,其特征在于,还包括复制单元,其中,所述复制单元具体用于:
将所述DSCP字段复制到所述外层IP头包含的服务类型ToS字段中。
14.一种报文转发装置,应用于虚拟扩展局域网VXLAN中的虚拟扩展局域网隧道终端VTEP,其特征在于,包括:
读取单元,用于从待转发的三层网络报文的外层互联网协议IP头中,读取差分服务代码点DSCP字段;
确定单元,用于确定与所述DSCP字段相对应的每跳转发行为PHB;
转发单元,用于按照所述PHB对所述三层网络报文执行相应的转发操作。
15.如权利要求14所述的报文转发装置,其特征在于,在确定与所述DSCP字段相对应的PHB时,所述确定单元具体用于:
从所述DSCP字段中,读取所述三层网络报文对应的DCSP编码值;
基于预先保存的各个DSCP编码值与相应的PHB之间的关联关系,确定与所述三层网络报文对应的DCSP编码值相关联的PHB。
16.如权利要求14或15所述的报文转发装置,其特征在于,还包括定义单元,其中,所述定义单元具体用于:
基于是否发生拥塞,为所述DSCP字段中的显式拥塞通知ECN重新定义相应的数值。
17.一种计算机设备,其特征在于,包括:存储器、处理器和存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述的报文封装方法,和/或,如权利要求6-8任一项所述的报文转发方法的步骤。
18.一种非易失性计算机存储介质,其特征在于,所述非易失性计算机存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-5任一项所述的报文封装方法,和/或,如权利要求6-8任一项所述的报文转发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711451010.7A CN109981472A (zh) | 2017-12-27 | 2017-12-27 | 一种报文封装方法、转发方法、相关装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711451010.7A CN109981472A (zh) | 2017-12-27 | 2017-12-27 | 一种报文封装方法、转发方法、相关装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109981472A true CN109981472A (zh) | 2019-07-05 |
Family
ID=67071849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711451010.7A Pending CN109981472A (zh) | 2017-12-27 | 2017-12-27 | 一种报文封装方法、转发方法、相关装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981472A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030931A (zh) * | 2019-12-17 | 2020-04-17 | 苏州浪潮智能科技有限公司 | 一种跨网段转发优先级标签的方法和设备 |
CN111106992A (zh) * | 2019-11-29 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 一种Vxlan环境下实现ECN的方法和系统 |
CN111371690A (zh) * | 2020-02-24 | 2020-07-03 | 迈普通信技术股份有限公司 | 流量调控方法、装置、网络设备及计算机可读存储介质 |
CN111817942A (zh) * | 2020-07-13 | 2020-10-23 | 中国联合网络通信集团有限公司 | QoS的实现方法、系统、设备及存储介质 |
CN111917641A (zh) * | 2020-06-29 | 2020-11-10 | 北京瀚诺半导体科技有限公司 | 一种二层网络管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883457A (zh) * | 2011-07-15 | 2013-01-16 | 华为技术有限公司 | 保证上行服务质量的方法、基站及用户设备 |
CN104301251A (zh) * | 2014-09-22 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种QoS处理方法、系统及设备 |
CN105591971A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种QoS的实现方法和装置 |
-
2017
- 2017-12-27 CN CN201711451010.7A patent/CN109981472A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883457A (zh) * | 2011-07-15 | 2013-01-16 | 华为技术有限公司 | 保证上行服务质量的方法、基站及用户设备 |
CN104301251A (zh) * | 2014-09-22 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种QoS处理方法、系统及设备 |
CN105591971A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种QoS的实现方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111106992A (zh) * | 2019-11-29 | 2020-05-05 | 苏州浪潮智能科技有限公司 | 一种Vxlan环境下实现ECN的方法和系统 |
CN111030931A (zh) * | 2019-12-17 | 2020-04-17 | 苏州浪潮智能科技有限公司 | 一种跨网段转发优先级标签的方法和设备 |
CN111030931B (zh) * | 2019-12-17 | 2021-07-20 | 苏州浪潮智能科技有限公司 | 一种跨网段转发优先级标签的方法和设备 |
CN111371690A (zh) * | 2020-02-24 | 2020-07-03 | 迈普通信技术股份有限公司 | 流量调控方法、装置、网络设备及计算机可读存储介质 |
CN111917641A (zh) * | 2020-06-29 | 2020-11-10 | 北京瀚诺半导体科技有限公司 | 一种二层网络管理方法及系统 |
CN111817942A (zh) * | 2020-07-13 | 2020-10-23 | 中国联合网络通信集团有限公司 | QoS的实现方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981472A (zh) | 一种报文封装方法、转发方法、相关装置、设备及介质 | |
US11218537B2 (en) | Load balancing in distributed computing systems | |
CN103548376B (zh) | 通过openflow数据平面在云计算机中实现epc | |
KR102536085B1 (ko) | 트래픽 스케줄링 방법, 디바이스, 및 시스템 | |
CN111049752B (zh) | 多传输线路的负载均衡方法及装置 | |
JP6057260B2 (ja) | 無線ユーザデバイスにおける伝送のためのアプリケーションデータの優先順位付け | |
WO2016198013A1 (zh) | 一种报文传输方法及装置 | |
CN103391296B (zh) | 一种控制器、转发器及通道建立方法和系统 | |
CN105162704B (zh) | Overlay网络中组播复制的方法及装置 | |
US9998298B2 (en) | Data transmission method, apparatus, and computer storage medium | |
WO2020024961A1 (zh) | 数据处理方法、设备及系统 | |
CN104486246A (zh) | 一种基于SDN架构的VXLAN的QoS机制实现方法 | |
CN114189905A (zh) | 一种报文处理方法及相关设备 | |
WO2019170083A1 (zh) | 报文处理方法、控制器以及转发设备 | |
CN108471629A (zh) | 传输网络中业务服务质量的控制方法、设备及系统 | |
WO2020093871A1 (zh) | 下行报文发送、转发方法和装置 | |
CN114221912B (zh) | 一种针对非周期时间触发业务流的时间敏感网络接入方法 | |
CN107948077A (zh) | 一种数据报文的转发方法及装置 | |
CN109525501A (zh) | 一种调整转发路径的方法和装置 | |
CN102355421A (zh) | 一种lsp网络拥塞处理的方法、装置及系统 | |
CN105324961B (zh) | Gre隧道实现方法、接入点和网关 | |
WO2016095142A1 (zh) | 软件定义网络sdn中数据转发的方法、设备和系统 | |
Aktas et al. | Scheduling and flexible control of bandwidth and in-transit services for end-to-end application workflows | |
WO2017008514A1 (zh) | Clos网络中负载均衡的方法及装置 | |
US11870707B2 (en) | Bandwidth management and configuration method for cloud service, and related apparatus |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |