拥塞信息反馈方法及装置、网关与流程

文档序号:11545888阅读:286来源:国知局
拥塞信息反馈方法及装置、网关与流程
本发明涉及通信领域,尤其涉及拥塞信息反馈方法及装置、网关。

背景技术:
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。当隧道中发生拥塞时,隧道出口将拥塞信息携带在发往隧道入口的数据包中,将拥塞信息告知隧道入口,以便于隧道入口能够依据拥塞信息进行隧道的流量策略管理。基于上述隧道拥塞信息的反馈方法,当发生拥塞,但隧道入口处接收不到来自隧道出口处的数据包时(例如,当前没有数据包经隧道出口传输到隧道入口),隧道入口不能及时获得拥塞信息,从而导致不能及时进行入口处的流量策略管理,而加剧隧道中的拥塞。

技术实现要素:
有鉴于此,本发明实施例提供了一种拥塞信息反馈方法及装置、网关,目的在于解决现有的隧道拥塞信息反馈方法因隧道入口不能及时获得拥塞信息,而导致的加剧拥塞的问题。为了实现上述目的,本发明实施例提供了以下技术方案:本发明实施例的第一方面提供了一种拥塞信息反馈方法,包括:测量拥塞信息;依据IP流信息导出协议,将所述拥塞信息发送到预设的导出端,所述导出端用于将所述拥塞信息导出给对应的收集端,所述收集端用于将所述拥塞信息反馈,所述导出端及所述收集端依据所述IP流信息导出协议配置。在本发明实施例的第一方面的一种实现方式中,所述测量拥塞信息包括:依据预先获取的模板记录,测量拥塞信息。所述预先获取的模板记录包括:包含数据包源地址、数据包目的地址、数据包标识及拥塞量的模板记录。所述依据预设的模板记录,测量拥塞信息包括:测量携带拥塞标识的数据包的源地址、目的地址、数据包标识及拥塞量。本发明实施例的第二方面公开了一种拥塞信息反馈装置,包括:测量模块,用于测量拥塞信息;发送模块,用于依据IP流信息导出协议,将所述拥塞信息发送到预设的导出端,所述导出端用于将所述拥塞信息导出给对应的收集端,所述收集端用于将所述拥塞信息反馈,所述导出端及所述收集端依据所述IP流信息导出协议配置。在本发明实施例的第二方面的第一实施方式中,所述测量模块包括:参数测量模块,用于测量由所述导出端与所述收集端协商确定的模板记录中包含的携带拥塞标识的数据包的源地址、目的地址、数据包标识及拥塞量参数。本发明实施例第三方面公开了一种网关,包括:处理器,用于测量拥塞信息;输出接口,用于依据IP流信息导出协议,将所述拥塞信息发送到预设的导出端,所述导出端用于将所述拥塞信息导出给对应的收集端,所述收集端用于将所述拥塞信息反馈,所述导出端及所述收集端依据所述IP流信息导出协议配置。本发明实施例提供的一种拥塞信息反馈方法及装置、网关,在测量得到拥塞信息后,依据IP流信息导出协议,将拥塞信息发送到依据IP流信息导出协议配置的导出端,由导出端将其发送到对应的收集端,再由收集端进行反馈,而不再需要将反馈信息携带到数据包进行反馈,因此,本发明实施例所述的拥塞信息反馈方法及装置、网关,不必受限于由隧道出口向隧道入口传输的数据包,在隧道入口接收不到来自隧道出口的方向数据包的情况下也能够将拥塞信息反馈至隧道入口,所以,当发生拥塞时,拥塞信息能够被及时反馈,从而能够及时进行拥塞控制。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例公开的一种拥塞信息反馈方法的流程图;图2为本发明实施例公开的又一种拥塞信息反馈方法的流程图;图3为IPFIX协议规定的信息格式的示意图;图4为IPFIX协议规定的信息格式中一个子集的示意图;图5为IPFIX协议规定的信息格式中一个子集中的模板记录的示意图;图6为IPFIX协议规定的信息格式中一个包括模板记录的子集的示意图;图7为IPFIX协议规定的信息格式中按照图6所示的模板记录填写的数据记录的示意图;图8为本发明实施例公开的拥塞信息反馈方法中的模板记录的示意图;图9为本发明实施例公开的拥塞信息反馈方法中按照图8所示的模板记录组织的拥塞信息示意图;图10为本发明实施例公开的一种拥塞信息反馈装置的结构示意图;图11为本发明实施例公开的又一种拥塞信息反馈装置的结构示意图;图12为本发明实施例公开的一种网关的结构示意图。具体实施方式本发明实施例公开了一种拥塞信息反馈方法及装置、网关,其核心发明点在于,隧道出口设备将测量得到的拥塞信息发送到依据IP流信息导出协议配置的导出端,由导出端将拥塞信息导出到与其对应的收集端,并由收集端将拥塞信息发送到隧道出口设备,而不再需要使用隧道出口传输到隧道入口的数据包携带拥塞信息,从而能够避免因隧道入口收不到回流数据包而导致的拥塞信息反馈不及时的问题。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例公开的一种拥塞信息反馈方法,应用于隧道出口设备对隧道中拥塞信息的反馈,如图1所示,包括:S101:测量拥塞信息;隧道出口和隧道入口的设备通常为网关设备。对于隧道出口而言,可以测量经隧道出口流出的数据流中数据包携带的拥塞信息。S102:依据IP流信息导出协议,将所述拥塞信息发送到预设的导出端。所述导出端用于将所述拥塞信息导出给对应的收集端,本实施例中,所述导出端和收集端均依据IP流信息导出(IPFlowInformationExport,IPFIX)协议配置。所述IPFIX协议,是指用于网络中的流信息测量的标准协议,依据IPFIX协议配置的导出端可以与至少一个收集端对应,依据IPFIX协议配置的收集端,可以与至少一个导出端对应,导出端与其对应的收集端之间依据IPFIX协议进行通信。依据IP流信息导出协议,将所述拥塞信息发送到预设的导出端是指,将拥塞信息转换为IP流信息导出协议定义的格式后,再发送到导出端。现有技术中,隧道出口设备测量得到拥塞信息后,需要通过将其携带到传向隧道出口的数据包中的方式,将拥塞信息告知隧道入口设备,以便于隧道入口设备对进入隧道的数据流量进行控制或调整。而有些因素可能会导致隧道入口设备不能及时接收到隧道入口设备发送的数据包,例如,从隧道出口设备传向隧道入口设备的数据包的数量很少,很难找到反向的数据流携带拥塞信息等。由此可见,基于现有的拥塞信息反馈机制,拥塞信息的反馈收到隧道出口向隧道入口的反向数据包的限制,不能对拥塞信息及时反馈。另外,现有技术中,即使能够找到适合的反向数据包携带拥塞信息,搭载拥塞信息后可能使得数据包的报文长度超过链路的最大发射单元(MTU),而需要对数据包进行重新分片,既延长拥塞信息的反馈时间,又消耗了系统的资源。而本实施例所述的拥塞信息反馈消息,在隧道出口设备测得拥塞信息后,不再使用反向数据包携带,而是将拥塞信息发送到依据IPFIX协议配置的导出端,由导出端依据IPFIX协议将其传输到对应的收集端,再由收集端将其发送到隧道入口设备,因此,不会受限于反方向数据包,可以测量到拥塞信息后即反馈,保证拥塞信息的及时反馈,减少反馈时延,并且,能够避免因携带拥塞信息导致的数据包重新分片,从而节省系统资源。本发明实施例公开的又一种拥塞信息反馈方法,应用于以下场景,包含隧道的网络中设置有依据IPFIX协议通信的导出端Exporter和收集端Collector,如图2所示,包括:S201:获取由Exporter与Collector协商确定的模板记录;通常,Exporter与Collector在进行数据的传输之前,需要先协商信息格式,目的在于确定传输哪些数据,及以怎样的格式传输这些数据。图3所示为IPFIX协议规定的信息格式,其中包括信息头部MessageHeader和多个子集Set,每一个Set的格式如图4所示,包括子集头部SetHeader、记录Record和尾部填充Padding。Record可以为模板记录(TemplateRecord)或数据记录(DataRecord)。TemplateRecord用来定义对应的DataRecord如何解释,Exporter向Collector发送数据前,需要先发送TemplateRecord,Collector依据TemplateRecord来解释后续接收到的DataRecord。模板记录的格式如图5所示,一个模板记录包括模板记录头TemplateRecordHeader和多个字段定义FieldSpecifier,其中,FieldSpecifier为信息元素的字段定义,对每个要传输的信息元素进行详细说明,包括元素ID、长度等说明。每个FieldSpecifier可以按照RFC5102(draft-ietf-ipfix-info)标准定义,也可以自定义。图6是一个包括TemplateRecord的Set的示例,其中,SetID为此子集的标识,Length=32octets表示此子集长度为32字节;TemplateID257表示模板记录标识为257;FieldCount=5表示模板记录中包括5个FieldSpecifier(字段定义);SourceIPv4Address=8表示该字段为源IPv4地址(元素ID=8);FieldLength=4表示该字段长度4字节,DestinationIPv4Address=12表示该字段为目标IPv4地址(元素ID=12);InformationElementId=15表示该字段为企业自定义(ID=15);EnterpriseNumber表示企业编号(和ID一起用来区别字段);InPacketDeltaCount=2表示该字段为流入的总数据包个数(ID=2);InOctetDeltaCount=1表示该字段为流入的总字节数(ID=1)。DataRecord记录了流统计信息,Exporter向Collector发送的DataRecord按照模板记录的格式进行记录。按照图6所示的模板记录的格式填写的DATARecord如图7所示,其中,SetID=256表示此子集标识,Length=64表示字节长度为64字节;192.0.2.12表示测得的SourceIPv4Address源IPv4地址;192.0.2.254表示测得的DestinationIPv4Address目的IPv4地址;192.0.2.1表示测得的自定义信息元素的数据;5009表示测得的流入的总数据包个数;5344385表示测得的流入的总字节数。也就是说,Exporter与Collector之间进行数据传输时,Exporter先要告知Collector模板记录,再发送按照模板记录格式组织的数据,Collector才能根据模板记录识别接收到的数据。本实施例中,Exporter与Collector之间进行数据的传输,同样需要先确定模板记录。基于拥塞信息传递的需求,可以自定义模板记录内容包括但不限于:数据包源地址、数据包目的地址、数据包标识及拥塞量。其中,数据包源地址可以为数据包源IPv4地址及源IPv6地址,也可以仅为其中之一,数据包目的地址可以为数据包目的IPv4地址及目的IPv6地址,也可以仅为其中之一。拥塞量可以使用数据流中携带显示拥塞通告(ExplicitCongestionNotification,ECN)机制拥塞标识CE的数据包和/或字节数表示。ECN机制是一种端到端的机制,它突破了传统路由器对拥塞的数据包直接丢弃的处理,而是采用AQM(如:RED算法),通过以一定的概率来标记数据包指示拥塞,ECN机制使用了IP头中的2个位,这2个位组成了4个码点,分别为:Not-ECT,ECT(1),ECT(0)和拥塞预警CE(CongestionExperienced)。根据其不同码点来指示数据包能否被路由器标记或者数据包是否发生了拥塞。若链路上的网络资源不足(如路由缓存将溢出),则数据包会有拥塞标记CE,在数据包到达接收端以后,接收端根据收到的数据包的IP头中的ECN域的码点,来判断数据包是否拥塞,如果数据包的IP头中的ECN域的码点为CE,则判定该类数据包发生拥塞,使用码点标记拥塞能够提高监测的敏感性。如图8所示,本实施例中定义的模板记录包括以下信息元素:SourceIPv4Address:源IPv4地址,标准元素ID=8,长度4字节;SourceIPv6Address:源IPv6地址,标准元素ID=27,长度16字节;DestinationIPv4Address:目标IPv4地址,标准元素ID=12,长度4字节;DestinationIPv6Address:目标IPv6地址,标准元素ID=28,长度16字节;FlowId:流ID,标准元素ID=148,标准元素ID=148,长度4字节;CongetionVolume:拥塞量,非标准元素,自定义元素ID为(自定义),长度8字节;EnterpriseNumber(自定义):企业编号,用于进一步区分该信息元素。实际应用中,可以将包括上述信息元素的模板记录预先存储于Exporter中,在Exporter与collector之间进行拥塞信息的传输之前,Exporter通过将模板记录告知collector的过程,实现与collector间的模板记录的协商。S202:依据预先获取的模板记录,测量拥塞信息;优选地,在测量拥塞信息之前,隧道出口可以先对数据包进行解封装操作。基于上述模板记录,测量的具体过程为:测量携带拥塞标识的数据包的源地址、目的地址、数据包标识及拥塞量,其中,拥塞量可以包括携带拥塞标识的数据包的数量和/或所述携带拥塞标识的数据包的字节数。S203:依据IP流信息导出协议,将测量得到的拥塞信息发送给Exporter。本实施例中,所述Exporter可以设置在隧道出口,也可以设置在别处,即可以为了实现本实施例所述的方法,在隧道出口设置Exporter,也可以利用网络中已有的Exporter。Exporter接收到拥塞信息后,首先将拥塞信息按照模板记录的格式进行组织,例如,本实施例中,测量得到的拥塞信息为:源IPv4地址为192.0.2.12,源IPv6地址为2001:0DB8:0000:0000:0000:0000:1428:0012,目标IPv4地址为192.0.2.34,目标IPv6地址为2001:0DB8:0000:0000:0000:0000:142F:0034。流中带有SE标记位的数据包的字节数总和为12345字节,则组织好的拥塞信息如图9所示。需要说明的是,可以将多种数据流的拥塞信息放置在一个IPFIX数据包内的不同Set中进行发送。一个隧道入口可以接收多个collector发送的数据包,一个collector也可以向多个隧道入口发送数据包。Collector接收到IPFIX数据包后,可以依据数据包中的源IP地址和目的IP地址,将所述数据包发送到隧道入口。隧道入口。隧道入口接收collector发送的数据包后,可以并数据包进行识别并获得拥塞信息,依据所述拥塞信息进行流量控制,例如,当拥塞信息反馈某个流的拥塞量相对较大时,则在隧道入口对这个数据流之后的数据进行一定的限制,以空出更多的带宽或其他资源给其他拥塞量较小的数据流,以提高隧道系统和整个链路的传输能力和吞吐量。本实施例中,可以以预设的周期将拥塞信息发送给Exporter,也可以实时发送给Exporter,Exporter可以以预设的周期将拥塞信息发送到collector,也可以实时发送给collector。本实施例所述的拥塞信息反馈方法,拥塞信息反馈的载体不再是数据包,而是依据IPFIX配置的Exporter-collector链路,因此,不仅能够减小反馈时延,还能够通过控制拥塞信息的反馈时间灵活控制反馈频率的颗粒度。与上述方法实施例相对应地,本发明实施例还公开了一种拥塞信息反馈装置,如图10所示,包括:测量模块1001,用于测量拥塞信息;发送模块1002,用于依据IP流信息导出协议,将所述拥塞信息发送到预设的导出端,所述导出端用于将所述拥塞信息导出给对应的收集端,所述收集端用于将所述拥塞信息反馈,所述导出端及所述收集端依据IP流信息导出协议配置。本实施例所述的装置可以设置于隧道出口处的网关上。本实施例所述的装置,通过依据IPFIX协议配置的导出端和收集端将拥塞信息发送到隧道出口,因此避免因使用反向数据包反馈拥塞信息造成的时延大及浪费系统资源的问题。本发明实施例公开的又一种拥塞信息反馈装置,如图11所示,包括:获取模块1101,用于获取由导出端与收集端协商确定的模板记录;参数测量模块1102,用于测量由所述导出端与所述收集端协商确定的模板记录中包含的携带拥塞标识的数据包的源地址、目的地址、数据包标识及拥塞量参数;周期发送模块1103,用于以预设的反馈周期,依据IP流信息导出协议,将所述拥塞信息发送到预设的导出端。本发明实施例还公开了一种网关,如图12所示,包括:处理器1201,用于测量拥塞信息;输出接口1202,用于将所述拥塞信息发送到预设的导出端,所述导出端用于将所述拥塞信息导出给对应的收集端,所述导出端及所述收集端依据IP流信息导出协议配置。本实施例所述的网关,可以应用在隧道出口,以便于反馈隧道中数据包的拥塞信息。本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1