一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通信方法、装置、系统和电子设备与流程

2022-05-17 21:59:48 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别涉及一种通信方法、装置、系统和电子设备。


背景技术:

2.随着云计算的流量迅猛增长,移动互联网厂家不断努力减少手机和云侧交互的时延,以提升用户的体验。
3.一般的,云服务厂家在全球建设骨干网的边缘节点(point of presence,pop),在需要提供服务的当地区域(region)购买多条因特网(internet)线路,和region的互联网服务提供商(internet service provider,isp)建立对等操作(peering)。pop点到region之间用专线互联,从而减少region的用户访问云服务的时延。
4.然而,由于internet线路上流量的变化,pop点到用户之间的网络,时常出现拥塞。为了减少pop点到用户之间的拥塞,需要监控不同internet线路的时延,选择时延和带宽最优的internet线路。这就需要pop点在不同的internet线路间进行流量调度以实现不同的internet线路间的切换。
5.因此,需要一种可以在不同的internet线路间进行流量调度的通信方法。


技术实现要素:

6.针对现有技术下在不同的internet线路间进行流量调度的问题,本技术提供了一种通信方法、装置、系统和电子设备。
7.本技术实施例采用下述技术方案:
8.第一方面,本技术提供一种通信方法,包括:
9.获取原始报文,所述原始报文包括第一互联网协议(internet protocol,ip)头;
10.根据流量调度策略,确认用于传输所述原始报文的第一路由出口;
11.基于预设的重定向策略,确认对应所述第一路由出口的第一区分服务编码点(differentiated services code point,dscp)值,其中,在所述重定向策略中,不同的路由出口对应不同的dscp值;
12.将所述原始报文中所述第一ip头的dscp字段的值,修改为所述第一dscp值,以生成第一报文;
13.为所述第一报文增加通用路由封装协议(generic routing encapsulation,gre)报文头并使用第二ip头进行封装,以生成第二报文,其中,所述gre报文头对应gre隧道,所述gre隧道的一端由出口路由器承载,所述第二ip头的目标地址为所述出口路由器的地址;
14.通过所述gre隧道传输所述第二报文至所述出口路由器。
15.在上述第一方面的一种可行的实现方式中,所述第一ip头的dscp字段的值为第二dscp值,所述为所述第一报文增加gre报文头并使用第二ip头进行封装,其中:
16.所述第二ip头的dscp字段的值为所述第二dscp值。
17.在上述第一方面的一种可行的实现方式中,所述gre隧道的另一端由负载均衡器
承载,所述负载均衡器包括弹性负载均衡器(elastic load balancer,elb)、网络负载均衡器(network load balancing,nlb)或者概念负载均衡(server load balancer,slb)。
18.在上述第一方面的一种可行的实现方式中,所述第二报文由所述负载均衡器生成,所述第二报文中的所述第二ip头的源地址为所述负载均衡器的地址;
19.所述通过所述gre隧道传输所述第二报文至所述出口路由器,包括:
20.所述负载均衡器使用虚拟扩展局域网(virtual extensible local area network,vxlan)头封装所述第二报文以生成第三报文,所述vxlan头对应所述负载均衡器与弹性ip地址(elastic ip address,eip)网关之间的交换机网络;
21.所述负载均衡器将所述第三报文发送到所述eip网关;
22.当所述eip网关接收到所述第三报文后,剥掉所述vxlan头,以获取所述第二报文;
23.所述eip网关将所述第二报文中的所述第二ip头的源地址修改为所述eip网关的地址,将修改后的所述第二报文发送到所述出口路由器。
24.在上述第一方面的一种可行的实现方式中,所述gre隧道的另一端由eip网关承载,所述通过所述gre隧道传输所述第二报文至所述出口路由器,包括:
25.所述eip网关发送所述第二报文到所述出口路由器。
26.在上述第一方面的一种可行的实现方式中,所述gre隧道的另一端由虚拟路由器承载,所述通过所述gre隧道传输所述第二报文至所述出口路由器,包括:
27.所述虚拟路由器发送所述第二报文到所述出口路由器。
28.在上述第一方面的一种可行的实现方式中,所述根据流量调度策略,确认所述原始报文的路由出口,其中,由全局网络控制器根据针对网络质量分析结果生成所述流量调度策略,所述网络质量分析结果基于网络质量监控结果而生成,所述网络质量监控结果包括终端设备上报的网络质量数据。
29.第二方面,本技术实施例提供一种通信方法,包括:
30.接收第一报文,其中,所述第一报文为由第一ip头封装的gre报文头以及第二报文,所述gre报文头对应gre隧道,所述gre隧道的一端由出口路由器承载;
31.剥掉所述第一报文中的第一ip头以及gre报文头,以获取所述第二报文,其中,所述第二报文包含第二ip头;
32.识别所述第二ip头中dscp字段的值,获取第一dscp值;
33.基于预设的重定向策略,确认对应所述第一dscp值的第一路由出口,其中,在所述重定向策略中,不同的dscp值对应不同的路由出口;
34.基于所述第一路由出口,输出所述第二报文。
35.在上述第一方面的一种可行的实现方式中,所述第一ip头中dscp字段的值为第二dscp值,所述基于所述第一路由出口,输出所述第二报文,包括:
36.将所述第二报文的ip头中所述第二ip头中dscp字段的值修改为所述第二dscp值,以生成第三报文;
37.基于所述第一路由出口,输出所述第三报文。
38.第三方面,本技术实施例提供一种通信装置,包括:
39.报文获取模块,其用于获取原始报文,所述原始报文包括第一ip头;
40.出口判定模块,其用于根据流量调度策略,确认用于传输所述原始报文的第一路
由出口;
41.定向模块,其用于基于预设的重定向策略,确认对应所述第一路由出口的第一dscp值,其中,在所述重定向策略中,不同的路由出口对应不同的dscp值;
42.报文修改模块,其用于将所述原始报文中所述第一ip头的dscp字段的值,修改为所述第一dscp值,以生成第一报文;
43.报文生成模块,其用于为所述第一报文增加gre报文头并使用第二ip头进行封装,以生成第二报文,其中,所述gre报文头对应gre隧道,所述gre隧道的一端由出口路由器承载,所述第二ip头的目标地址为所述出口路由器的地址;
44.报文输出模块,其用于通过所述gre隧道传输所述第二报文至所述出口路由器。
45.第四方面,本技术实施例提供一种通信装置,包括:
46.报文接收模块,其用于接收第一报文,其中,所述第一报文为由第一ip头封装的gre报文头以及第二报文,所述gre报文头对应gre隧道,所述gre隧道的一端由出口路由器承载;
47.报文生成模块,其用于剥掉所述第一报文中的第一ip头以及gre报文头,以获取所述第二报文,其中,所述第二报文包含第二ip头;
48.定向模块,其用于:识别所述第二ip头中dscp字段的值,获取第一dscp值;基于预设的重定向策略,确认对应所述第一dscp值的第一路由出口,其中,在所述重定向策略中,不同的dscp值对应不同的路由出口;
49.报文输出模块,其用于基于所述第一路由出口,输出所述第二报文。
50.第五方面,本技术实施例提供一种通信系统,包括主机以及出口路由器,其中:
51.所述主机用于:
52.与所述出口路由器建立gre隧道;
53.获取原始报文,所述原始报文包括第一ip头;
54.根据流量调度策略,确认用于传输所述原始报文的第一路由出口;
55.基于预设的重定向策略,确认对应所述第一路由出口的第一dscp值,其中,在所述重定向策略中,不同的路由出口对应不同的dscp值;
56.将所述原始报文中所述第一ip头的dscp字段的值,修改为所述第一dscp值,以生成第一报文;
57.为所述第一报文增加gre报文头并使用第二ip头进行封装,以生成第二报文,其中,所述gre报文头对应所述gre隧道,所述第二ip头的目标地址为所述出口路由器的地址;
58.通过所述gre隧道传输所述第二报文至所述出口路由器;
59.所述出口路由器用于:
60.接收所述第二报文;
61.剥掉所述第二报文中的所述第二ip头以及所述gre报文头,以获取所述第一报文;
62.识别所述第一报文的ip头中dscp字段的值,获取所述第一dscp值;
63.基于所述重定向策略,确认对应所述第一dscp值的第一路由出口;
64.基于所述第一路由出口,输出所述第一报文。
65.第六方面,本技术实施例提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器
执行时,触发所述电子设备执行如上述第一方面所述的方法步骤。
66.第七方面,本技术实施例提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述电子设备执行如上述第二方面所述的方法步骤。
67.根据本技术实施例所提出的上述技术方案,至少可以实现下述技术效果:
68.根据本技术实施例的方法,可以基于对dscp字段的控制,实现对报文的路由出口的调配,从而实现在不同的internet线路间进行切换以调配流量;并且,由于dscp字段包含在通用的通讯协议中,因此,本技术实施例的方法可以基于通用路由器&交换机实现,大大提高了方法的实用性,降低了方案的推广实施难度。
附图说明
69.图1所示为一应用场景中的通信系统的结构框图;
70.图2所示为一应用场景中的通信系统的结构框图;
71.图3所示为根据本技术一实施例的通信方法的流程图;
72.图4所示为根据本技术一实施例的通信装置的结构图;
73.图5所示为根据本技术一实施例的通信方法的流程图;
74.图6所示为根据本技术一实施例的通信装置的结构图;
75.图7所示为根据本技术一实施例的通信系统的结构图;
76.图8所示为根据本技术一实施例的应用场景示意图;
77.图9所示为根据本技术一实施例进行路由追踪的追踪结果显示图;
78.图10所示为根据本技术一实施例进行路由追踪的追踪结果显示图;
79.图11所示为根据本技术一实施例的通信系统的结构图。
具体实施方式
80.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
81.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
82.针对现有技术下在不同的internet线路间进行流量调度的问题,一种可行的方案是为报文附加出口标签。具体的,主机(host)根据为需要通过不同internet线路传输的报文附加不同的多协议标记交换(multiprotocol label switching,mpls)标签。包含mpls标签的报文被发送到标签转发交换机(label switched fabric),标签转发交换机根据报文的mpls标签将报文从对应的出口发出,从而实现在不同的internet线路间进行流量调度。
83.具体的,图1所示为一应用场景中的通信系统的结构框图。如图1所示,
84.全局控制器(global controller)110负责pop点之间的调度。
85.本地控制器(location controller)120为pop点内的控制器。
86.标准边界网关协议(border gateway protocol,bgp)协议栈140(raven bgp)用于
运行bgp协议,和isp建立bgp peering,发布和接收路由。
87.服务等级协议(service-level agreement,sla)分析器130(analyzer)用于采集分析主机100上报的sla信息(application signals)。
88.主机100包含包处理器(packet processor),包处理器用于和标签转发交换机101之间建立建立通用路由封装协议(generic routing encapsulation,gre)隧道(tunnel)以及为报文增加mpls标签和gre头。
89.标签转发交换机101负责将来自主机的报文通过指定的路由出口(例如,出口peering101或出口peering 102)输出到isp的路由器(external peer),不同的路由出口对应不同的internet线路。
90.主机100把实时带宽需求等sla发送到sla分析器130。sla分析器130将分析结果发送给全局控制器110。全局控制器110根据搜集到的全体pop点的带宽需求情况来计算调整不同应用采用不同的peering路由器和端口进行转发,实现全局出向负载均衡。全局控制器110通知本地控制器120来对主机100进行转发表更改。同时,全局控制器110通过在标签转发交换机101上配置相应的mplsogre解封装。
91.主机100与标签转发交换机101之间基于互联网通信协议第四版(internet protocol version 4,ipv4)建立虚拟扩展局域网(virtual extensible local area network,vxlan)以实现通信交互。并且,主机100与标签转发交换机101之间建立gre tunnel。从主机100输出到标签转发交换机101的报文,被增加有gre头和mpls头。具体的,主机100输出到标签转发交换机101的报文结构包含:gre/ipv4(gre隧道传输所需的参数) mpls ipv4(原始报文的ip头参数)标签转发交换机101收到报文后,剥掉gre头。然后按照mpls头转发到不同的输出接口,转发时剥掉mpls头。报文通过标签转发交换机101的输出接口被输出到本地internet网络,基于不同的输出接口,接入不同的isp入口(例如,peering 101或peering 102),使用不同的internet线路传输。
92.图1所示的方案虽然可以基于mpls头实现不同输出接口间的切换,从而实现不同internet线路间的切换;但是,由于主机100需要为报文增加mpls头以及标签转发交换机101需要解析mpls头,采用通用的路由协议的主机以及转发交换机无法直接实现主机100以及标签转发交换机101,需要对主机以及转发交换机的内核代码进行修改才能实现主机100以及标签转发交换机101。因此,图1所示的方案不能推广到通用路由器&交换机设备。
93.进一步的,针对现有技术下在不同的internet线路间进行流量调度的问题,一种可行的方案是直接对internet出口路由器(peering router,pr)进行路由控制以实现在不同internet出口之间的切换。具体的,图2所示为一应用场景中的通信系统的结构框图。如图2所示,主机200与出口路由器201之间基于ipv4建立vxlan实现通信交互。
94.图2所示方案采用标准边界网关协议(border gateway protocol bgp)来实现对出口路由器201的路由控制。具体的,控制器210下发bgp路由策略,通过bgp注入模块211(bgp injector)发布更高优先级的路由到出口路由器201上,覆盖出口路由器201上的路由表,实现在不同internet出口之间的切换。
95.图2所示的方案虽然可以基于通用主机以及出口路由器实现主机200与出口路由器201,但是,由于图2所示的方案是基于bgp协议直接控制出口路由器201,因此,其只能基于路由网段来调度。如果一个网段的弹性ip地址(elastic ip address,eip)承载了租户的
多个业务,每个业务需要调度的优先级不同,该方案则无法精确到每个业务流量。
96.进一步的,在图2所示的方案中,为了使得控制器210确认bgp路由策略,在每个pop点部署探测用的服务器,探测pop点到用户的时延。但是,监控internet出口的时延时,探测报文无法到达最终的终端。和真实业务的流量路径差别较大。
97.针对上述方案存在的问题,在本技术一实施例中,提出了一种基于区分服务编码点(differentiated services code point,dscp)的流量调度方法,不为报文附加额外的出口标签,而是采用现有报文结构中的dscp承载出口标签。具体的,方法由主机以及出口路由器(交换机)实现。主机用于获取报文并根据流量调度策略确认出口路由器上输出报文的路由出口。出口路由器连接到主机并通过多个路由出口连接到internet网络,不同的路由出口接入不同的internet线路。出口路由器可以将来自主机的报文由选定的路由出口输出以实现在不同的internet线路间调度流量。
98.主机上配置有重定向策略,重定向策略中包含dscp值与出口路由器的路由出口的匹配关系,不同的dscp值对应不同的路由出口。主机根据流量调度策略确认传输报文的internet线路,进而确认出口路由器上输出该报文的路由出口。主机根据已确认的路由出口修改报文的互联网协议(internet protocol,ip)头中dscp字段的值并将修改后的报文发送到出口路由器。
99.出口路由器上也配置有重定向策略。出口路由器基于重定向策略,根据报文的ip头中dscp字段的值确认对应的路由出口,基于已确认的路由出口输出报文。
100.为了避免dscp字段的修改影响到报文的传输以及解析。在主机和出口路由器之间建立通用路由封装协议(generic routing encapsulation,gre)隧道(tunnel)。主机获取到需要传输的报文后,根据流量调度策略确认出口路由器上输出该报文的路由出口。主机将报文中ip头中的dscp值,修改为对应路由出口的dscp值并为修改后的报文增加gre报文头并基于新的ip头封装。主机通过gre tunnel将新封装的报文发送到出口路由器。出口路由器接收到报文后剥掉新ip头以及gre报文头,根据原始ip头中的dscp值确认输出该报文的路由出口。
101.根据本技术实施例的方法,可以基于对dscp字段的控制,实现对报文的路由出口的调配,从而实现在不同的internet线路间进行切换以调配流量。本技术实施例的方法可以基于精确到每个报文、每个业务流量,在不同internet出口之间调度,流量调度精度得到有效确保。根据本技术实施例的方法,由于dscp字段包含在通用的通讯协议中,因此,本技术实施例的方法采用通用的路由协议、基于通用的路由&交换机实现,不需要开发专用的转发协议和专用转发设备,大大提高了方法的实用性,降低了方案的推广实施难度。
102.具体的,本技术一实施例中,提出了一种通信方法,该方法由主机执行。图3所示为根据本技术一实施例的通信方法的流程图。主机执行如图3所示的下述步骤:
103.步骤310,获取原始报文b31,原始报文b31包括ip头t31;
104.步骤320,根据流量调度策略,确认用于传输原始报文b31的路由出口o31;
105.步骤330,基于预设的重定向策略,确认对应路由出口o31的dscp值,其中,在重定向策略中,不同的路由出口对应不同的dscp值;
106.步骤340,将原始报文b31中ip头t31的dscp字段的值,修改为对应路由出口o31的dscp值,以生成报文b32;
107.步骤350,为报文b32增加gre报文头并使用ip头t32进行封装,以生成报文b33,其中,gre报文头对应gre隧道,gre隧道的一端由出口路由器承载,ip头t32的目标地址(destination ip,dip)为出口路由器的地址;
108.步骤360,通过gre隧道传输报文b33至出口路由器。
109.进一步的,在某些应用场景中,终端设备在解析报文内容时并不需要参考报文的ip头中的dscp值,即,对于终端设备而言,报文的ip头中的dscp值为无效数据,因此,报文的ip头中的dscp值的变化并不会影响终端设备对报文的解析。但是,在某些应用场景中,终端设备在解析报文内容时需要参考报文的ip头中的dscp值,而在步骤340中,报文的ip头中的dscp值被修改,这就有可能导致终端设备的报文解析出现错误。针对这一情况,在本技术一实施例中,通过封装gre报文头的ip头携带原始的dscp值。具体的,在步骤350的一种实现方式中,ip头t32的dscp字段的值为原始报文b31中ip头t31的dscp字段的值。这样,虽然在步骤340中,ip头t31的dscp字段的值被修改,但是,在ip头t32中携带了原始报文b31中ip头t31的dscp字段的值,终端设备可以基于ip头t32的dscp字段的值对报文进行解析。
110.对应图3所示实施例的方法,本技术一实施例还提出了一种通信装置,该装置可以构建在主机中。图4所示为根据本技术一实施例的通信装置的结构图。如图4所示,通信装置包括:
111.报文获取模块410,其用于获取原始报文b31,原始报文b31包括ip头t31;
112.出口判定模块420,其用于根据流量调度策略,确认用于传输原始报文b31的路由出口o31;
113.定向模块430,其用于基于预设的重定向策略,确认对应路由出口o31的dscp值,其中,在重定向策略中,不同的路由出口对应不同的dscp值;
114.报文修改模块440,其用于将原始报文b31中ip头t31的dscp字段的值,修改为对应路由出口o31的dscp值,以生成报文b32;
115.报文生成模块450,其用于为报文b32增加gre报文头并使用ip头t32进行封装,以生成报文b33,其中,gre报文头对应gre隧道,gre隧道的一端由出口路由器承载,ip头t32的目标地址为出口路由器的地址;
116.报文输出模块460,其用于通过gre隧道传输报文b33至出口路由器。
117.进一步的,本技术一实施例中,还提出了一种通信方法,该方法由出口路由器执行。图5所示为根据本技术一实施例的通信方法的流程图。出口路由器执行如图5所示的下述步骤:
118.步骤510,接收报文b51,其中,报文b51为由ip头t51封装的gre报文头以及报文b52,gre报文头对应gre隧道,gre隧道的一端由出口路由器承载;
119.步骤520,剥掉报文b51中的ip头t51以及gre报文头,以获取报文b52,其中,报文b52包含ip头t52;
120.步骤530,识别ip头t52中dscp字段的值,获取dscp值;
121.步骤540,基于预设的重定向策略,确认对应ip头t52中dscp值的路由出口o51,其中,在重定向策略中,不同的dscp值对应不同的路由出口;
122.步骤550,基于路由出口o51,输出报文b52。
123.进一步的,针对需要基于ip头中的dscp值的应用场景,在图5所示实施例中,报文
b51中ip头t51的dscp字段携带了原始报文中ip头的dscp字段的值。因此,在图5所示实施例的一种实现方式中,在步骤520中剥掉报文b51中的ip头t51时,读取ip头t51的dscp字段的值;在步骤550中,首先将报文b52中ip头t52的dscp字段的值修改为ip头t51的dscp字段的值,以生成报文b53,然后再基于路由出口o51,输出报文b53。
124.对应图5所示实施例的方法,本技术一实施例还提出了一种通信装置,该装置可以构建在出口路由器中。图6所示为根据本技术一实施例的通信装置的结构图。如图6所示,通信装置包括:
125.报文接收模块610,其用于接收报文b51,其中,报文b51为由ip头t51封装的gre报文头以及报文b52,gre报文头对应gre隧道,gre隧道的一端由出口路由器承载;
126.报文生成模块620,其用于剥掉报文b51中的ip头t51以及gre报文头,以获取报文b52,其中,报文b52包含ip头t52;
127.定向模块630,其用于:识别ip头t52中dscp字段的值,获取dscp值;基于预设的重定向策略,确认对应ip头t52中dscp值的路由出口o51,其中,在重定向策略中,不同的dscp值对应不同的路由出口;
128.报文输出模块640,其用于基于路由出口o51,输出报文b52。
129.对应图3以及图5所示实施例的方法,本技术一实施例还提出了一种通信系统。图7所示为根据本技术一实施例的通信系统的结构图。如图7所示,通信系统包括主机700与出口路由器701。主机700与出口路由器701之间基于ipv4建立vxlan以实现通信交互。主机700与出口路由器701之间建立gre隧道(gre隧道的两端由主机700与出口路由器701承载)。
130.本地网络控制器710(location network scheduler)向主机700下发流量调度策略。主机700获取需要发向internet网络的报文。以包括ip头t71的报文b71为例:
131.当主机710获取到报文b71后,其根据流量调度策略,确认用于传输报文b71的路由出口o71;
132.主机710基于预设的重定向策略,确认对应路由出口o71的dscp值,其中,在重定向策略中,不同的路由出口对应不同的dscp值;
133.主机710将报文b71中ip头t71的dscp字段的值,修改为对应路由出口o71的dscp值,以生成报文b72;
134.主机710为报文b72增加gre报文头并使用ip头t72进行封装,以生成报文b73,其中,gre报文头对应主机700与出口路由器701之间的gre隧道,ip头t72的目标地址为出口路由器701的地址;
135.主机710通过gre隧道传输报文b73至出口路由器701;具体的,主机710输出到出口路由器701的报文格式包含:gre/ipv4(gre隧道传输所需的参数) ip dscp(已修改的dscp值的ip头参数);
136.出口路由器701接收到报文b73后,剥掉报文b73中的ip头t72以及gre报文头,以获取报文b72;
137.出口路由器701识别报文b72的ip头中dscp字段的值,基于重定向策略,确认对应报文b72的ip头中dscp字段的值的路由出口o71;
138.出口路由器701基于路由出口o71,输出报文b72。
139.进一步的,由于出口路由器701向主机710传送报文时,不需要考虑出口切换,因
此,出口路由器701向主机710输出的报文不需要修改dscp值,也不需要通过gre隧道传输。具体的,出口路由器701输出到主机710的报文格式包含:ipv4(vxlan传输所需的参数)。
140.进一步的,在实际应用场景中,可以基于多种不同的设备构造主机700。具体的,在本技术一实施例中,基于负载均衡器构造主机700。gre隧道的一端由负载均衡器承载。负载均衡器可以是弹性负载均衡器(elastic load balancer,elb),或者是网络负载均衡器(network load balancing,nlb),或者是概念负载均衡(server load balancer,slb)。
141.具体的,在图7所示实施例的一种实现方式中,主机700包含负载均衡器以及eip网关(gateway),负载均衡器以及eip网关之间通过vxlan实现通信交互。报文b73由负载均衡器生成,报文b73中的ip头t72的源地址(source ip,sip)为负载均衡器的地址。主机710通过gre隧道传输报文b73至出口路由器701的过程包括:
142.负载均衡器使用vxlan头封装报文b73以生成报文b74,vxlan头对应负载均衡器与eip网关之间的交换机网络;
143.负载均衡器将报文b74发送到eip网关;
144.当eip网关接收到报文b74后,剥掉vxlan头,以获取报文b73;
145.eip网关将报文b73中的ip头t72的源地址修改为eip网关的地址,以生成报文b75,将报文b75发送到出口路由器701。
146.以一具体的应用场景为例,图8所示为根据本技术一实施例的应用场景示意图。如图8所示,主机包含elb 801以及eip网关802,elb 801的地址为eth0:10.50.17.54,eip网关802的地址为eip:121.37.255.32。
147.主机与出口路由器pr 803间构造有gre隧道。pr 803针对gre隧道的地址为lp1:119.3.96.202。由主机到pr 803的gre隧道为gre tunnel(dip:119.3.96.202,sip:10.50.17.54),由pr 803到主机的gre隧道为gre tunnel(dip:121.37.255.32,sip:119.3.96.202)。
148.报文b81的发送目标为手机804,手机804的地址为23.1.1.1。报文b81包含ip头t81以及负载f81(payload)。在ip头t81中,dscp字段的值为:0x00,sip为121.37.255.32,dip为23.1.1.1。
149.在elb 801接收到报文b81后,其根据流量调度策略,确认用于传输报文b81的路由出口o81。elb 801基于预设的重定向策略,确认对应路由出口o81的dscp值(0x40)。
150.elb 801将报文b81中ip头t81的dscp字段的值修改为0x40,为报文附加gre报文头(gre tag),使用ip头t82(ip头t82的dscp字段的值为ip头t81的dscp字段的值(0x00))封装报文,为报文附加vxlan头,以生成报文b82。
151.报文b82包含vxlan头、ip头t82、gre tag、ip头t83以及负载f81。在ip头t82中,dscp字段的值为:0x00,sip为10.50.17.54,dip为119.3.96.202。在ip头t83中,dscp字段的值为:0x40,sip为121.37.255.32,dip为23.1.1.1。
152.elb 801将报文b82发送到eip网关802。
153.在eip网关802接收到报文b82后,剥掉报文b82的vxlan头,修改ip头t82中的sip,以生成报文b83。
154.报文b83包含ip头t84、gre tag、ip头t83以及负载f81。在ip头t84中,dscp字段的值为:0x00,sip为121.37.255.32,dip为119.3.96.202。
155.eip网关802将报文b83发送到pr 803。
156.在pr 803接收到报文b83后,剥掉报文b83的ip头t84以及gre tag,以生成报文b84。读取报文b84的ip头的dscp字段的值(0x40)。pr 803基于预设的重定向策略,确认对应dscp值(0x40)的路由出口o81。
157.pr 803将报文b84的ip头的dscp字段的值,修改为ip头t84的dscp字段的值(0x00)以生成报文b85。
158.报文b85包含ip头t85以及负载f81(payload)。在ip头t85中,dscp字段的值为:0x00,sip为121.37.255.32,dip为23.1.1.1。ip头t85与ip头t81一致。
159.pr 803通过路由出口o81将报文b85输出,报文b85通过路由出口o81对应的internet线路被传输到手机804。
160.进一步的,在手机804向elb 801传输报文时,不需要通过dscp字段进行传输端口配置。因此,在手机804向elb 801传输报文的通路上,elb 801与pr 803之间,不需要通过gre隧道进行报文传输。
161.具体的,如图8所示,手机804发送报文b86到pr 803。
162.报文b86包含ip头t86以及负载f82(payload)。在ip头t86中,dscp字段的值为:0x00,sip为23.1.1.1,dip为121.37.255.32。
163.pr 803将报文b86转发到eip网关802。
164.eip网关802接收到报文b86后,为报文b86附加vxlan头,修改报文b86中ip头t86的dip,以生成报文b87。
165.报文b87包含vxlan头、ip头t87以及负载f82(payload)。在ip头t87中,dscp字段的值为:0x00,sip为23.1.1.1,dip为10.50.17.54。
166.eip网关802将报文b87发送到elb 801。
167.elb 801接收到报文b87后,剥掉报文b87的vxlan头,以生成报文b88。报文b88包含ip头t87以及负载f82(payload)。
168.进一步的,在图7所示实施例的一种实现方式中,gre隧道的另一端由eip网关承载,主机710通过gre隧道传输报文b73至出口路由器701的过程包括:eip网关发送报文b73到出口路由器701。
169.进一步的,在图7所示实施例的一种实现方式中,gre隧道的另一端由虚拟网络的虚拟路由器(virtual router,vrouter)承载,主机710通过gre隧道传输报文b73至出口路由器701的过程包括:虚拟路由器发送报文b73到出口路由器701。
170.进一步的,在实际应用场景中,可以通过对主机发起路由追踪来判断主机所在的通信系统是否采用流量调度。例如,多次在手机或者虚拟机上,对云侧的主机发起路由追踪(trace route)请求,通过trace结果中的ip地址查到运营商信息,对比中间穿透的运营商是否变化。当中间穿透的运营商发生变化,则说明报文的传输在多条不同的internet线路间切换。
171.图9所示为根据本技术一实施例进行路由追踪的追踪结果显示图。针对地址为118.194.34.194的主机发起trace route请求,追踪结果如图9所示,中间穿透的运营商包含广东移动、北京移动、北京联通以及帝联,说明当前设备到地址为118.194.34.194的主机的报文传输在多条不同的internet线路间切换。
172.图10所示为根据本技术一实施例进行路由追踪的追踪结果显示图。针对地址为118.194.34.194的主机发起trace route请求,追踪结果如图10所示,中间穿透的运营商包含广东电信、北京电信、首都在线科技idc机房以及帝联,说明当前设备到地址为118.194.34.194的主机的报文传输在多条不同的internet线路间切换。
173.进一步的,在实际应用场景中,可以通过对主机输出的数据进行分析,从而判断主机是否基于dscp实现流量调度。例如,在elb或者其他网元(nlb、slb、eip网关、vrouter等)上抓包,解析抓取到的数据包,判断是否修改了dscp值,是否增加了gre tunnel。
174.进一步的,在实际应用场景中,可以通过对出口路由器的配置进行分析,从而判断通信系统是否基于dscp实现流量调度。例如,在物理路由器(出口路由器)上查看配置,是否配置gre tunnel,是否匹配dscp的重定向策略。
175.进一步的,在本技术一实施例中,为提高流量调度精度,把部分现网流量作为测试流量,测试备用线路的网络质量(时延、丢包率),例如,把5%的流量作为测试流量,通过备份线路转发。95%的流量从主用线路转发。
176.由全局网络控制器根据针对网络质量分析结果生成流量调度策略,并将流量调度策略下发到主机,其中,网络质量分析结果基于网络质量监控结果而生成,该网络质量监控结果包括终端设备(例如,手机、平板电脑、台式个人电脑等接入本地isp提供的internet网的终端设备)上报的网络质量数据。这样,就使得全局网络控制器可以感知业务sla(终端设备上报的网络质量数据),让业务基于自身的sla来选择internet出口,实现sla最优。并且,把部分真实业务作为观察流量,可以完整监测云侧到手机侧的网络质量sla,这样就可以大大提高流量调度的精度。
177.图11所示为根据本技术一实施例的通信系统的结构图。如图11所示,
178.本地监控器910(local monitor)用于分析主机900上的传输控制协议(transmission control protocol,tcp)会话,采集每个流量的网络质量信息(sla)(例如,时延、丢包率)。并将采集到的sla信息上报到sla分析器930。
179.本地isp的internet网终端设备通过端侧软件开发工具包(sdk)向sla分析器130上报网络质量信息sla,例如,手机901通过手机端侧的网络sdk(network sdk),向sla分析器930上报业务时延。
180.sla分析器930采集分析本地监控器910和端侧sdk上报的sla信息,向全局网络控制器(global network scheduler)910发送分析结果。全局网络控制器(global network scheduler)910监控整个网络的质量,根据全网上sla分析器上报的网络质量分析结果做出流量调度策略。
181.全局网络控制器910将流量调度策略下发到本地网络控制器(location network scheduler)920。本地网络控制器(location network scheduler)920为pop点内的网络控制器。本地网络控制器920将流量调度策略下发到主机900。
182.pr 901为和isp对接peering的internet出口路由器。pr 901与主机900之间基于ipv4建立vxlan以实现通信交互。pr 901以及主机900上配置有重定向策略,例如,全局网络控制器910基于bgp流规范(flow specification,flowspec)、bgp监控协议(bgp monitoring protocol,bmp)、简单网络管理协议(simple network management protocol,snmp)在pr 901上配置重定向策略。
183.主机900与pr 901之间建立建立gre隧道。当主机900获取到需要发向internet网络的报文时,其根据流量调度策略,确认用于传输报文的路由出口。主机900基于预设的重定向策略,确认对应路由出口的dscp值;将报文中ip头的dscp字段的值,修改为对应路由出口的dscp值。主机900为报文增加gre报文头以通过gre隧道将报文发送至pr 901。
184.pr 901接收到报文后,剥掉报文的gre报文头,识别报文的ip头中dscp字段的值;基于重定向策略,确认对应报文的ip头中dscp字段的值的路由出口。将报文通过已确定的路由出口输出到本地isp的internet网络,使得报文通过路由出口所对应的internet线路传输到终端设备。
185.在图11所示的实施例中,增加了端侧网络质量监控(例如,手机901通过手机端侧的网络sdk(network sdk),向sla分析器130上报业务时延),使得监控更加准确有效,从而提升了流量调度的精度。
186.可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本技术实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
187.进一步的,一般的,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld),其逻辑功能由访问方对器件编程来确定。由设计人员自行编程来把一个数字装置“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl)。本领域技术人员也应该清楚,只需要将方法流程用硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
188.在本技术实施例的描述中,为了描述的方便,描述装置时以功能分为各种模块分别描述,各个模块的划分仅仅是一种逻辑功能的划分,在实施本技术实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
189.具体的,本技术实施例所提出的装置在实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
190.例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,asic),或,一个
或多个数字信号处理器(digital singnal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,这些模块可以集成在一起,以片上装置(system-on-a-chip,soc)的形式实现。
191.本技术一实施例还提出了一种电子设备,电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本技术实施例所述的方法步骤。
192.具体的,在本技术一实施例中,上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行本技术实施例所述的方法步骤。
193.具体的,在本技术一实施例中,电子设备的处理器可以是片上装置soc,该处理器中可以包括中央处理器(central processing unit,cpu),还可以进一步包括其他类型的处理器。具体的,在本技术一实施例中,电子设备的处理器可以是pwm控制芯片。
194.具体的,在本技术一实施例中,涉及的处理器可以例如包括cpu、dsp、微控制器或数字信号处理器,还可包括gpu、嵌入式神经网络处理器(neural-network process units,npu)和图像信号处理器(image signal processing,isp),该处理器还可包括必要的硬件加速器或逻辑处理硬件电路,如asic,或一个或多个用于控制本技术技术方案程序执行的集成电路等。此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。
195.具体的,在本技术一实施例中,电子设备的存储器可以是只读存储器(read-only memory,rom)、可存储静态信息和指令的其它类型的静态存储设备、随机存取存储器(random access memory,ram)或可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。
196.具体的,在本技术一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本技术实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。
197.进一步的,本技术实施例阐明的设备、装置、模块或系统,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
198.本领域内的技术人员应明白,本技术实施例可提供为方法、装置、系统、设备或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
199.在本技术所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用
以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。
200.具体的,本技术一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本技术实施例提供的方法。
201.本技术一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本技术实施例提供的方法。
202.本技术中的实施例描述是参照根据本技术实施例的方法、设备(装置)、系统和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
203.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
204.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
205.还需要说明的是,本技术实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示单独存在a、同时存在a和b、单独存在b的情况。其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
206.本技术实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
207.本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
208.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分
互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
209.本领域普通技术人员可以意识到,本技术实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
210.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
211.以上所述,仅为本技术的具体实施方式,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献