CN114553965B - 内网设备的调度方法、网络设备及存储介质 - Google Patents
内网设备的调度方法、网络设备及存储介质 Download PDFInfo
- Publication number
- CN114553965B CN114553965B CN202210003063.7A CN202210003063A CN114553965B CN 114553965 B CN114553965 B CN 114553965B CN 202210003063 A CN202210003063 A CN 202210003063A CN 114553965 B CN114553965 B CN 114553965B
- Authority
- CN
- China
- Prior art keywords
- port
- intranet
- port number
- cache
- network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 239000000523 sample Substances 0.000 claims abstract description 105
- 238000013519 translation Methods 0.000 claims abstract description 21
- 238000001514 detection method Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 40
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004080 punching Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种内网设备的调度方法、网络设备及存储介质。方法应用于内网缓存网络设备,包括:通过第一端口将携带第二端口的端口号的第一探测请求发送至网络地址转换NAT设备;供NAT设备将第一探测请求中的第二端口的端口号转换为公网端口号后发送至调度中心;在用户发送至调度中心的第一内容请求命中内网缓存网络设备的情况下,通过第二端口接收NAT设备转发的第二内容请求,第二内容请求是调度中心根据第一内容请求向用户返回所述公网端口号后,用户根据公网端口号发起的;将第二内容请求命中的缓存内容通过NAT设备返回给用户。使得内网缓存网络设备能够接受调度中的调度并对内容请求进行响应。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种内网设备的调度方法、网络设备及存储介质。
背景技术
随着网络技术的发展,用户流量大幅增长,越来越多的服务提供商倾向于使用高配的缓存网络设备,即带宽大、服务能力强的缓存网络设备,构建内容分发网络(ContentDelivery Network,CDN)。因此,产生了大量被闲置的低配设备,特别是位于内网中的缓存网络设备,其由于使用场景受限,被闲置的可能性更大。若是能够使用内网中大量可用且低配的缓存网络设备构建CDN,使其能够与其他公网的缓存网络设备一起为用户提供加速服务,则能降低成本、提高资源利用率。
然而,目前仍未提出比较有效的使用内网缓存网络设备构建CDN,并保证其能够正常接受CDN的调度中心的调度以为用户提供服务的方法。
发明内容
本发明实施例的目的在于提供一种内网设备的调度方法、网络设备及存储介质,使得内网缓存网络设备在参与构建CDN后,能够接受调度中心的调度并对用户的内容请求进行响应,从而提高了内网缓存网络设备的利用率,降低了CDN的成本。
为达到上述目的,本发明的实施例提供了一种内网设备的调度方法,应用于内网缓存网络设备,所述内网缓存网络设备具有第一端口和第二端口,所述方法包括:通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备;供所述NAT设备将所述第一探测请求中的所述第二端口的端口号转换为公网端口号后发送至调度中心;在用户发送至所述调度中心的第一内容请求命中所述内网缓存网络设备的情况下,通过所述第二端口接收所述NAT设备转发的第二内容请求,所述第二内容请求是所述调度中心根据所述第一内容请求向所述用户返回所述公网端口号后,所述用户根据所述公网端口号发起的;将所述第二内容请求命中的缓存内容通过所述NAT设备返回给所述用户。
为达到上述目的,本发明的实施例还提供了一种网络设备,所述网络设备具有第一端口和第二端口,所述网络设备还包括:第一发送模块,用于通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备;供所述NAT设备将所述第一探测请求中的所述第二端口的端口号转换为公网端口号后发送至调度中心;接收模块,用于在用户发送至所述调度中心的第一内容请求命中所述内网缓存网络设备的情况下,通过所述第二端口接收所述NAT设备转发的第二内容请求,所述第二内容请求是所述调度中心根据所述第一内容请求向所述用户返回所述公网端口号后,所述用户根据所述公网端口号发起的;第二发送模块,用于将所述第二内容请求命中的缓存内容通过所述NAT设备返回给所述用户。
为达到上述目的,本发明的实施例还提供了一种网络设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的内网设备的调度方法。
为达到上述目的,本发明的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的内网设备的调度方法。
本发明实施例提供的内网设备的调度方法,通过第一端口发送的第一探测请求携带的是第二端口的端口号,从而第一探测请求在NAT设备处进行网络地址端口转换针对的是第二端口,这样NAT设备向调度中心发送网络地址端口转换后的第一探测请求后,与内网缓存网络设备处于不同网络的调度中心获取的是第二端口对应的公网端口,即调度中心确定的内网缓存网络设备的通信端口是未被占用的第二端口,而不是已被占用的第一端口。因此,在用户发送的第一内容请求命中的是内网缓存网络设备的情况下,调度中心向用户返回的响应中包含的是第二端口对应的公网端口,进而用户根据第二端口对应的公网端口发起的第二内容请求,会经过NAT设备转发到内网缓存网络设备并通过第二端口送入内网缓存网络设备,而不是通过被占用的第一端口。实现了第一探测请求的发送端口和用户的内容请求的接收端口相互独立,避免了由于发送第一探测请求和接受用户的内容请求绑定的端口都是同一个端口,导致内网缓存网络设备发送第一探测请求的端口被发送第一探测请求的任务占用,而无法对用户的内容请求正常进行响应的问题,使得内网缓存网络设备在参与构建CDN后,能够接收调度中心的调度并通过与发送第一探测请求的第一端口不同的第二端口,对用户的内容请求进行响应,提高内网缓存网络设备的利用率,降低CDN的成本。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明一实施例中提供的内网设备的调度方法的流程图;
图2是本发明实施例中提供的内网设备的调度方法中步骤102涉及的交互流程图;
图3是本发明另一实施例中提供的包含周期性发送第一探测请求步骤的内网设备的调度方法的流程图;
图4是本发明另一实施例中提供的包含重新发送第一探测请求步骤的内网设备的调度方法的流程图;
图5是本发明另一实施例中提供的包含上报服务能力步骤的内网设备的调度方法的流程图;
图6是本发明另一实施例中提供的包含上报缓存信息步骤的内网设备的调度方法的流程图;
图7是本发明另一实施例中提供的网络设备的结构示意图;
图8是本发明另一实施例中提供的网络设备的结构示意图。
具体实施方式
由背景技术可知,亟需提供一种内网设备的调度方法,使得内网缓存网络设备能够参与构建CDN,并保证其能够正常接受CDN的调度中心的调度以为用户提供服务。
经分析发现,由于需要内网缓存网络设备位于内网中,而CDN的调度中心与内网缓存网络设备位于不同的网络中,其中,调度中心通常位于公网中,因此,内网缓存网络设备在接收调度中心的调度从而为用户提供服务之前,还需要为内网缓存网络设备提供与公网设备进行通信的路径。
为解决上述问题,本发明实施例提供了一种内网设备的调度方法,应用于内网缓存网络设备,所述内网缓存网络设备具有第一端口和第二端口,所述方法包括:通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备;供所述NAT设备将所述第一探测请求中的所述第二端口的端口号分别转换为公网端口号后发送至调度中心;在用户发送至所述调度中心的第一内容请求命中所述内网缓存网络设备的情况下,通过所述第二端口接收所述NAT设备发送的第二内容请求,所述第二内容请求是所述NAT设备通过对所述用户发起的第二内容请求进行网络地址端口转换发起的;所述第二内容请求是所述用户根据所述调度中心对所述第一内容请求的响应发起的;所述调度中心对所述第一内容请求的响应包括所述公网端口号;将所述第二内容请求命中的缓存内容通过所述NAT设备返回给所述用户。
本发明实施例提供的内网设备的调度方法,在内网缓存网络设备和调度中心之间引入NAT设备,从而通过NAT设备转发第一探测请求实现打洞,构建出内网缓存网络设备与外部的通信路径,进而调度中心能够通过向用户返回内网缓存网络设备的相关地址信息,使得用户根据接收到的内网缓存网络设备的相关地址信息访问内网缓存网络设备,实现调度中心对内网缓存网络设备的调度。并且进一步考虑到在CDN场景下,若是内网缓存网络设备发送第一探测请求的端口与响应用户的内容请求的端口为同一端口,会出现同一时刻只能在第一探测请求的发送和用户内容请求的接收之中择一实现,导致要么不能发送第一探测请求影响对外通信路径的维持,进一步影响对外提供服务的功能,要么不能接收用户内容请求直接影响对外提供服务的功能。本发明实施例还提出通过第一端口发送的第一探测请求携带的是第二端口的端口号,这样第一探测请求被NAT设备转发至调度中心后,调度中心获取的是第二端口对应的公网端口,即调度中心确定的内网缓存网络设备的通信端口是未被占用的第二端口,而不是已被占用的第一端口。从而调度中心通知用户内网缓存网络设备的通信端口为第二端口,使得第一探测请求的发送和用户的第二内容请求的接收使用的是内网缓存网络设备的两个不同端口,避免了由于发送第一探测请求和接受用户的内容请求绑定的端口都是同一个端口,导致内网缓存网络设备无法同时实现发送第一探测请求和对用户的内容请求正常进行响应的问题,使得内网缓存网络设备在参与构建CDN后,能够接收调度中心的调度并通过与发送第一探测请求的第一端口不同的第二端口,对用户的内容请求进行响应,提高内网缓存网络设备的利用率,降低CDN的成本。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本发明所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明实施例一方面提供了一种内网设备的调度方法,应用于具有第一端口和第二端口的内网缓存网络设备,其中,第一端口和第二端口是为了便于对内网缓存网络设备上的两个端口进行区分,强调的是内网缓存网络设备具有两个不同的端口。也就是说,内网缓存网络设备可以是内网中任何一个具有至少两个通信端口且具有缓存功能的网络设备,本实施例不对内网缓存设备的其他方面进行限定,可以是高配的缓存网络设备,还可以低配的缓存网络设备,此处就不再一一赘述了。内网设备的调度方法的流程如图1所示,包括:
步骤101,通过第一端口将携带第二端口的端口号的第一探测请求发送至网络地址转换NAT设备,供NAT设备将第一探测请求中的第二端口的端口号分别转换为公网端口号后发送至调度中心。
本实施例中,第一端口为内网缓存网络设备中用于发送第一探测请求的端口,第二端口为内网缓存网络设备中用于对用户的内容请求进行响应的端口。第一探测请求为内网缓存网络设备向外发送的探测请求。例如,内网缓存网络设备A具有通信端口B、C、D,在使用通信端口B作为发送第一探测请求的端口的情况下,第一端口为通信端口B,第二端口为通信端口C或D,在使用通信端口C作为发送第一探测请求的端口的情况下,第一端口为通信端口C,第二端口为通信端口B或D等。由此可见,第一端口、第二端口可以不是一个固定的端口,而是根据实际情况自适应地调整,本实施例主要是强调内网缓存网络设备中用于发送第一探测请求的端口和用于对用户的内容请求进行响应的端口不一致。
可以理解的是,第一探测请求中携带的内网缓存网络设备的端口号,其实际是指示第一探测请求中的源端口,也就是说,NAT设备接收到第一探测请求后,确定的内网缓存网络设备对外通信的路径上,表示内网缓存网络设备的通信端口为第一探测请求中携带的第二端口,而不是第一端口。
还可以理解的是,由于内网缓存网络设备位于内网中,为了构建内网缓存网络设备对外通信的路劲,本实施例引入网络地址转换(Network Address Translation,NAT)设备,基于NAT设备的网络地址端口转换能力,将内网缓存网络设备的内网的端口号转换为公网端口号,即构建第二端口的端口号和公网端口号之间的映射关系,使得内网缓存网络设备向外发送的携带第二端口的端口号的信息通过第二端口的端口号到公网端口号的映射能够被公网中的设备或借助公网进行通信的设备感知,如被调度中心感知、被用户感知等,来自调度设备或用户的携带公网端口号的信息通过公网端口号到第二端口的映射能够被NAT设备转发至内网缓存网络设备。本实施例中,第二端口的端口号和公网端口之间可以是一对一的映射,也可以是一对多的映射,此处就不再一一赘述了。
需要说明的是,为了指示请求的发送端和最终接收端,请求中不仅需要携带端口号,还需要携带互联网协议地址(Internet Protocol Address,IP)地址,以第一探测请求为例,为了指示源端的信息,第一探测请求中应该携带内网缓存网络设备的IP地址:第二端口的端口号。本实施例中的相关步骤并未对IP地址进行说明,主要是为了强调本实施例的终点在于端口号,而不意味着不涉及IP地址,此处也不再一一赘述了。
为了便于本领域技术人员更好的理解上述步骤101,以下将以步骤101的两种不同实现方式进行说明。
在一些例子中,为了保证与现有流程的兼容性,需要尽量不改动现有的探测请求的生成和发送流程,实现通过第一端口将携带第二端口的端口号的第一探测请求发送至NAT设备。具体地,内网缓存网络设备确定需要通过第一端口发送第一探测请求的情况下,先在内部生成携带第一端口的端口号的第一探测请求;然后将第一探测请求中携带的第一端口的端口号修改为第二端口的端口号;接着再通过第一端口将修改后的第一探测请求发送至NAT设备。其中,为了便于上述过程的实现,降低实现难度,将第一探测请求中携带的第一端口的端口号修改为第二端口的端口号之前,先在内部部署的iptables上增加端口号改写规则;以便通过调用iptables将第一探测请求中携带的第一端口的端口号修改为第二端口的端口号,实现将第一探测请求中携带的第一端口的端口号修改为第二端口的端口号。
在另一些例子中,通过第一端口将携带第二端口的端口号的第一探测请求发送至网络地址转换NAT设备,还可以通过如下方式实现:确定用于发送第一探测请求的第一端口和除第一端口之外的一个空闲端口,将该空闲端口作为第二端口并获取该空闲端口的端口号,生成携带第二端口的端口号的第一探测请求,将第一探测请求通过第一端口发送至NAT设备。
当然,以上仅为具体的举例说明,在其他例子中,通过第一端口将携带第二端口的端口号的第一探测请求发送至网络地址转换NAT设备,还可以通过其他方式实现,如在生成携带第一端口的端口号的第一探测请求后,将第二端口的端口号作为扩展字段添加到第一探测请求内,同时还生成指示以扩展字段为源端口的相关信息等,此处就不再一一赘述了。
步骤102,在用户发送至调度中心的第一内容请求命中内网缓存网络设备的情况下,通过第二端口接收NAT设备转发的第二内容请求,第二内容请求是调度中心根据第一内容请求向用户返回公网端口号后,用户根据公网端口号发起的。
本实施例中,第一内容请求为用户向调度中心发起的内容请求,第二内容请求为用户发起的以访问内网缓存网络设备为目标的内容请求,第一内容请求命中内网缓存网络设备是指第一内容请求所请求的内容在内网缓存网络设备上有缓存,并且调度中心确定调度内网缓存网络设备对第一内容缓存请求进行响应。
为了便于本领域技术人员理解步骤102所描述的请求过程,以下将对步骤102中所涉及的用户、调度中心、NAT设备和内网缓存设备之间的交互过程进行描述。
内网缓存网络设备通过执行前述的步骤101,将与外部通信的路径准备就绪后,调度中心就可以调度内网缓存网络设备为用户提供服务了。如图2所示,用户发起内容请求的流程包括:
步骤201,用户向调度中心发起第一内容请求,第一内容请求携带统一资源定位符(Uniform Resource Locator,URL)。
步骤202,调度中心根据URL命中内网缓存网络设备。
步骤203,调度中心将通过接收第一探测请求获取的内网缓存网络设备的公网IP地址和公网端口号以302状态码的形式返回给用户。
步骤204,用户根据接收到的公网IP地址和公网端口号向NAT设备发起第二内容请求,第二内容请求携带URL',URL'包括公网IP地址和公网端口号。
步骤205,NAT设备接收到第二内容请求后,将第二内容请求中携带的公网IP地址和公网端口号分别转化为内网缓存网络设备的内网IP地址和第二端口号。
步骤206,NAT设备将网络地址端口转换后的第二内容请求转发给内网缓存网络设备,供内网缓存网络设备通过第二端口接收NAT转发的第二内容请求。
由此可见,第一内容请求和第二内容请求均是由用户发起的,且所请求的内容相同,只是两者的目标设备地址等信息不同。NAT设备转发的含义是将第二内容请求中的公网IP地址和公网端口号转化为内网缓存网络设备的内网IP地址和第二端口号。
步骤103,将第二内容请求命中的缓存内容通过NAT设备返回给用户。
本实施例中,第二内容请求命中的缓存内容为内网缓存网络设备中已缓存的第二内容请求所请求的内容。
可以理解的是,第二内容请求由用户发起,先被用户传达至NAT设备,然后由NAT设备进行网络地址端口转换后,被传达至内网缓存网络设备。也就是说,第二内容请求的传递路径是从用户出发,经过NAT设备达到内网缓存网络设备。类似地,第二内容请求命中的缓存内容可以看作第二内容请求的响应,因此,第二内容请求命中的缓存内容可以通过第二内容请求的传达路径的逆路径,从内网缓存网络设备出发,经过NAT设备送至用户。即内网缓存网络设备将第二内容请求命中的缓存内容打包发送给NAT设备,NAT设备对接收到的第二内容请求命中的缓存内容进行网络地址端口转换后,将其发送给用户。
在一些例子中,将第二内容请求命中的缓存内容通过NAT设备返回给用户,可以通过如下方式实现:内网缓存网络设备首先确定第二内容请求在本地缓存中命中的缓存内容,然后将第二内容请求命中的缓存内容封装为数据包,数据包携带内网缓存网络设备的第二端口的端口号,然后内网缓存网络设备通过第二端口将数据包发送给NAT设备,NAT设备将数据包中携带的第二端口的端口号转换为对应的公网端口号,然后将转换后的数据包发送给用户。
值得一提的是,通过本实施例提供的内网设备的调度方法,能够实现对内网中缓存网络设备的充分利用,尤其是对低配的内网缓存网络设备的利用,拓展了内网缓存网络设备的使用场景,提高了资源利用率,降低了CDN成本。
考虑到内网缓存网络设备通过发送第一探测请求建立的对外通信的路径可能会受到各种干扰和影响,如在通过调用iptables将第一探测请求携带的第一端口的端口号修改为第二端口的端口号的情况下,iptables的规则新增了改写端口号的规则可能会影响性能,从而影响内网缓存网络设备对外通信的路径的稳定性,或者,NAT设备的路由策略可能会发生改变等。因此,有必要采用一些措施来对内网缓存网络设备对外通信的路径进行检测或保活,以保证内网缓存网络设备对外通信的路径的持续性和可用性。
基于此,本发明实施例另一方面还提供了一种内网设备的调度方法,应用于具有第一端口和第二端口的内网缓存网络设备,内网设备的调度方法的流程如图3所示,还包括:
步骤104,周期性通过第一端口将携带第二端口的端口号的第一探测请求发送至NAT设备。
本实施例不对发送第一探测请求的周期时长进行限定,可以由内网缓存网络设备的管理者自主设置,还可以是内网缓存网络设备根据自身特性等生成的,等等。
在一些例子中,只有在内网缓存网络设备成功建立对外通信的路径后,才执行周期性通过第一端口将携带第二端口的端口号的第一探测请求发送至NAT设备,即步骤104由内网缓存网络设备的对外通信的路径建立成功为触发条件。此时,第一端口和步骤101中的第一端口为同一端口,第二端口和步骤101中的第二端口为同一端口。这样才能保证探测保活的路径为成功创建的对外通信的路径,否则就是新建一条新的对外通信的路径。
值得一提的是,通过周期性发送第一探测请求实现对内网缓存网络设备对应的公网端口号的检测以及对内网缓存网络设备对外通信路径的保活。
需要说明的是,本实施例中第一探测请求的发送与第一个方法实施例中的步骤101大致相同,此处就不再一一赘述了。
还需要说明的是,图3以步骤104在步骤101之后且在步骤102之前执行为例,在其他例子中,步骤104还可以在步骤103之后执行,即只有在内网缓存网络设备对用户的第二内容请求进行响应之后才对内网缓存网络对外通信的路径进行检测保活,步骤104还可以其他时机执行,此处也不再一一赘述了。
还考虑到内网缓存网络设备发送第一探测请求并不意味着基于该第一探测请求就能够成功创建内网缓存网络设备对外通信的路径,可能会出现创建失败的情形,甚至该第二端口不可用等情形出现。
基于此,本发明实施例另一方面还提供了一种内网设备的调度方法,应用于具有第一端口和第二端口的内网缓存网络设备,内网设备的调度方法的流程如图4所示,还包括:
步骤105,在未接收到调度中心根据接收到的第一探测请求返回的第二探测请求的情况下,或者,在调度中心未接收到内网缓存网络设备根据第二探测请求返回的成功响应的情况下,根据预设周期不断向NAT设备重新发送第一探测请求,直到调度中心接收到内网缓存网络设备根据第二探测请求返回的成功响应。
本实施例中,第二探测请求为调度中心根据NAT设备转发的第一探测请求发起的。未接收到调度中心根据接收到的第一探测请求返回的第二探测请求,以及,调度中心未接收到内网缓存网络设备根据第二探测请求返回的成功响应,均表示内网缓存网络设备对外通信的路径未成功建立。特别地,每当内网缓存网络设备对外通信的路径未成功建立,调度中心和/或内网缓存网络设备都会进行记录,形成失败记录,其中,失败记录可以反馈给设备的管理者进行设备维护和关联,也可以方便内网缓存网络设备确定第一端口、第二端口,例如内网缓存网络设备在以通信端口A为第一端口创建对外通信的路径失败达到预设次数后,将减少使用通信端口A作为第一端口的频率,或者不再以通信端口A作为第一端口等。
本实施例不对预设周期进行限定,可以是固定值,也可以是动态变化的值,如预设周期为一个与内网缓存网络设备的网络状态有关的数值等,此处就不再一一赘述了。
在一些例子中,由于内网缓存网络设备需要先与调度中心建立长连接,以基于长连接获取调度中心的IP地址等信息,从而基于调度中心的IP地址等信息发送第一探测请求。因此,在一定时间内未接收到调度中心根据接收到的第一探测请求返回的第二探测请求的情况下,内网缓存网络设备可以主动切断长连接,在调度中心未接收到内网缓存网络设备根据第二探测请求返回的成功响应的情况下,调度中心可以主动切断长连接,这样,内容缓存网络设备在检测到长连接断开后,按照预设周期进行周期性重建长连接以及发送第一探测请求。
值得一提的是,在内网缓存网络设备对外通信的路径未成功建立的情况下,按照预设周期发送第一探测请求,直到内网缓存网络设备对外通信的路径成功建立,保证了内网缓存网络设备对外通信和提供服务能力的建立。
需要说明的是,本实施例中重新发送第一探测请求,第一探测请求仍然携带第二端口的端口号并通过第一端口向外发送。但是这里的第一端口可以是内网缓存网络设备重新确定的用于发送第一探测请求的端口,第二端口可以内网缓存网络设备重新确定的用于对用户的内容请求进行响应的端口。第一端口和第二端口也可以沿用内网缓存网络设备对外通信的路径未成功建立时的第一端口和第二端口,本实施例并不对此进行限定。
还考虑到调度中心确定用户发送的第一内容请求所请求的内容即使在内网缓存网络设备中已有缓存,但是并不一定调度内网缓存网络设备为该用户服务,例如,在内网缓存网络设备已接近过载的情况下,调度中心应该调度其他缓存网络设备为该用户服务,否则会使得内网缓存网络设备在过载状态提供服务,不仅影响提供的服务的质量,还可能会影响内网缓存网络设备的运行等。
基于此,本发明实施例另一方面还提供了一种内网设备的调度方法,应用于具有第一端口和第二端口的内网缓存网络设备,内网设备的调度方法的流程如图5所示,还包括:
步骤106,根据当前带宽占用情况确定服务能力。
本实施例中,带宽占用情况可以是内容缓存网络设备的带宽流量数据,相应地,服务能力可以用(额定带宽-已用带宽)/额定带宽,或者,额定带宽-已用带宽等表示。
步骤107,通过NAT设备向调度中心上报服务能力,供调度中心根据服务能力确定是否调用内网缓存网络设备。
本实施例中,内网缓存网络设备将服务能力以数据包、报文等形式发送给NAT设备,NAT设备在接收到报文、数据包等信息后,将其中的第二端口的端口号修改为公网端口号,再将其转发给调度中心,调度中心解析得到服务能力,在接收到用户发送的第一内容请求之后,在确定第一内容请求所请求的内容在内网缓存网络设备上已有缓存的基础上,还会根据服务能力确定是否调用内网缓存网络设备。
其中,调度中心根据服务能力确定是否调用内网缓存网络设备可以通过确定是否持续调用内网缓存网络设备,或者,降低调用次数,或者,设置不调用标签等实现。
值得一提的是,通过上报服务能力,使得调度中心能够根据内网缓存网络设备的当前带宽占用情况对内网缓存网络设备进行灵活调度,在内网缓存网络设备性能允许的范围内尽可能多的提供调用内网缓存网络设备为用户服务,避免内网缓存网络设备出现过载,保证提供服务的质量和服务成本。
还考虑到调度中心确定用户发送的第一内容请求命中的缓存网络设备的过程中,通常需要了解各缓存网络设备的缓存信息,包括内网缓存网络设备和公网缓存网络设备的缓存信息,以便根据第一内容请求进行匹配等。
本发明实施例另一方面还提供了一种内网设备的调度方法,应用于具有第一端口和第二端口的内网缓存网络设备,内网设备的调度方法的流程如图6所示,还包括:
所述通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备之后,所述方法还包括:
步骤108,通过NAT设备向调度中心上报缓存信息,供调度中心根据缓存信息确定内网缓存网络设备是否被命中。
本实施例中,缓存信息主要用于指示内网缓存网络设备中已缓存的内容资源。在一些例子中,缓存信息包括内网缓存网络设备中已缓存的内容资源的哈希值等。
值得一提的是,通过上报缓存信息,使得调度中心对用户发送的内容请求进行缓存命中判断更加便捷准确。
为了便于本领域技术人员更好地理解前述实施例提供的内网设备的调度方法,以下将以下述场景为例进行说明:内网缓存网络设备上部署有软件A和Cache软件,内网缓存网络设备为软件A分配的服务端口为端口1240、为Cache软件分配的服务端口为端口80,内网缓存网络设备的地址为IP1,IP1是一个内网地址,NAT设备可分配的公网地址包括IP2、IP3等,NAT设备可分配的公网端口号包括18xxx等,调度中心上部署有软件B,调度中心的公网IP地址为IP4。需要说明的是,内网缓存网络设备和调度中心为现有的设备,之所以需要部署软件A和软件B,是为了提供相关的通信功能。
内网缓存网络设备在确定自身需要接入CDN以为用户提供加速服务的情况下,内网设备首先通过自身部署的软件A以软件B为目标发起长连接,具体地,生成携带源端信息为IP1:port 1240的第一探测请求,第一探测请求在经过内网缓存网络设备内部的部署有iptables的防火墙时,源端信息被修改为IP1:port 80,然后继续通过端口1240发送给NAT设备,NAT设备在接收到携带有IP1:port 80的第一探测请求后,调用网络地址端口转换功能,为IP1分配IP3,为port 80分配18xxx,在IP1和IP3以及port 80和18xxx之间建立映射关联,并将第一探测请求中携带的IP1:port 80被转换为IP3:port 18xxx。接着NAT设备将转换后的第一探测请求转发给调度中心上的软件B,软件B在接收到第一探测请求后,根据第一探测请求携带的IP3:port 18xxx向NAT设备发起第二探测请求,即进行反向探测,其中,第二探测请求携带IP3:port 18xxx,而NAT设备在接受到第二探测请求后,会根据记录的映射关联关系将第二探测请求携带的IP3:port 18xxx转换为IP1:port 80,从而NAT设备基于转换后的IP1:port 80,将转换后的第二探测请求通过端口80送入内网缓存网络设备。如果内网缓存网络设备关于第二探测请求的响应是成功响应,则调度中心会生成成功记录,否则生成失败记录。在生成成功记录的情况下,调度中心会记录第一探测请求中携带的IP3:port 18xxx;在生成失败记录的情况下,软件B会断开与软件A之间的长连接并结束打洞操作。特别地,软件A在长连接断开后的一定时间后,会重新发起请求和长连接,直到生成成功记录为止。当某个用户发起的内容请求命中内网缓存后,调度中心向用户返回302状态码,302状态码携带IP3:port 18xxx,从而用户根据302状态码向NAT设备发起内容请求,内容请求携带IP3:port 18xxx,NAT设备在接收到内容请求后,会将IP3:port 18xxx转换为IP1:port 80,从而NAT设备通过Cache软件被分配的服务端口80将内容请求送入内网缓存网络设备,内网缓存网络设备接收到内容请求后,将内容请求所请求的内容发送给NAT设备,NAT设备将接收到的信息中携带的IP1:port 80转换为IP3:port 18xxx,然后返回给用户。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明实施例另一方面还提供了一种网络设备,该网络设备具有第一端口和第二端口,如图7所示,其还包括:
第一发送模块701,用于通过第一端口将携带第二端口的端口号的第一探测请求发送至网络地址转换NAT设备;供NAT设备将所述第一探测请求中的所述第二端口的端口号转换为公网端口号后发送至调度中心。
接收模块702,用于在用户发送至调度中心的第一内容请求命中内网缓存网络设备的情况下,通过第二端口接收NAT设备转发的第二内容请求,第二内容请求是调度中心根据第一内容请求向用户返回所述公网端口号后,用户根据公网端口号发起的。
第二发送模块703,用于将第二内容请求命中的缓存内容通过NAT设备返回给用户。
不难发现,本实施例为与方法实施例相对应的设备实施例,本实施例可与方法实施例互相配合实施。方法实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在方法实施例中。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本发明实施例另一方面还提供了一种电子设备,如图8所示,包括:至少一个处理器801;以及,与至少一个处理器801通信连接的存储器802;其中,存储器802存储有可被至少一个处理器801执行的指令,指令被至少一个处理器801执行,以使至少一个处理器801能够执行上述任一方法实施例所描述的内网设备的调度方法。
其中,存储器802和处理器801采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器801和存储器802的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器801处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传输给处理器801。
处理器801负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器802可以被用于存储处理器801在执行操作时所使用的数据。
本发明实施方式另一方面还提供了一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例所描述的内网设备的调度方法。
即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种内网设备的调度方法,其特征在于,应用于内网缓存网络设备,所述内网缓存网络设备具有第一端口和第二端口,所述方法包括:
通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备;供所述NAT设备将所述第一探测请求中的所述第二端口的端口号转换为公网端口号后发送至调度中心;
在用户发送至所述调度中心的第一内容请求命中所述内网缓存网络设备的情况下,通过所述第二端口接收所述NAT设备转发的第二内容请求,所述第二内容请求是所述调度中心根据所述第一内容请求向所述用户返回所述公网端口号后,所述用户根据所述公网端口号发起的;
将所述第二内容请求命中的缓存内容通过所述NAT设备返回给所述用户。
2.根据权利要求1所述的内网设备的调度方法,其特征在于,所述通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备,包括:
生成携带所述第一端口的端口号的所述第一探测请求;
将所述第一探测请求中携带的所述第一端口的端口号修改为所述第二端口的端口号;
通过所述第一端口将修改后的所述第一探测请求发送至所述NAT设备。
3.根据权利要求2所述的内网设备的调度方法,其特征在于,所述将所述第一探测请求中携带的所述第一端口的端口号修改为所述第二端口的端口号之前,所述方法还包括:
在内部部署的iptables上增加端口号改写规则;
所述将所述第一探测请求中携带的所述第一端口的端口号修改为所述第二端口的端口号,包括:
调用所述iptables将所述第一探测请求中携带的所述第一端口的端口号修改为所述第二端口的端口号。
4.根据权利要求1至3中任一项所述的内网设备的调度方法,其特征在于,所述通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备之后,所述方法还包括:
周期性通过所述第一端口将携带所述第二端口的端口号的所述第一探测请求发送至所述NAT设备。
5.根据权利要求1至3中任一项所述的内网设备的调度方法,其特征在于,所述通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备之后,所述在用户发送至所述调度中心的第一内容请求命中所述内网缓存网络设备的情况下,通过所述第二端口接收所述NAT设备转发的第二内容请求之前,所述方法还包括:
在未接收到所述调度中心根据接收到的所述第一探测请求返回的第二探测请求的情况下,或者,在所述调度中心未接收到所述内网缓存网络设备根据所述第二探测请求返回的成功响应的情况下,根据预设周期不断向所述NAT设备重新发送所述第一探测请求,直到所述调度中心接收到所述内网缓存网络设备根据所述第二探测请求返回的成功响应。
6.根据权利要求1至3中任一项所述的内网设备的调度方法,其特征在于,所述通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备之后,所述方法还包括:
根据当前带宽占用情况确定服务能力;
通过所述NAT设备向所述调度中心上报所述服务能力,供所述调度中心根据所述服务能力确定是否调用所述内网缓存网络设备。
7.根据权利要求1至3中任一项所述的内网设备的调度方法,其特征在于,所述通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备之后,所述方法还包括:
通过所述NAT设备向所述调度中心上报缓存信息,供所述调度中心根据所述缓存信息确定所述内网缓存网络设备是否被命中。
8.一种网络设备,其特征在于,所述网络设备具有第一端口和第二端口,所述网络设备还包括:
第一发送模块,用于通过所述第一端口将携带所述第二端口的端口号的第一探测请求发送至网络地址转换NAT设备;供所述NAT设备将所述第一探测请求中的所述第二端口的端口号转换为公网端口号后发送至调度中心;
接收模块,用于在用户发送至所述调度中心的第一内容请求命中所述网络设备的情况下,通过所述第二端口接收所述NAT设备转发的第二内容请求,所述第二内容请求是所述调度中心根据所述第一内容请求向所述用户返回所述公网端口号后,所述用户根据所述公网端口号发起的;
第二发送模块,用于将所述第二内容请求命中的缓存内容通过所述NAT设备返回给所述用户。
9.一种网络设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的内网设备的调度方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的内网设备的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210003063.7A CN114553965B (zh) | 2022-01-04 | 2022-01-04 | 内网设备的调度方法、网络设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210003063.7A CN114553965B (zh) | 2022-01-04 | 2022-01-04 | 内网设备的调度方法、网络设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553965A CN114553965A (zh) | 2022-05-27 |
CN114553965B true CN114553965B (zh) | 2024-05-03 |
Family
ID=81669626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210003063.7A Active CN114553965B (zh) | 2022-01-04 | 2022-01-04 | 内网设备的调度方法、网络设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553965B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624184B1 (en) * | 2001-06-06 | 2009-11-24 | Cisco Technology, Inc. | Methods and apparatus for managing access to data through a network device |
CN104702713A (zh) * | 2015-03-26 | 2015-06-10 | 杭州华三通信技术有限公司 | 一种数据报文转发方法及装置 |
CN107241453A (zh) * | 2016-03-28 | 2017-10-10 | 华为技术有限公司 | 一种网络地址转换映射保活方法及装置 |
CN110166432A (zh) * | 2019-04-17 | 2019-08-23 | 平安科技(深圳)有限公司 | 对内网目标服务的访问方法、提供内网目标服务的方法 |
CN111131544A (zh) * | 2019-12-26 | 2020-05-08 | 杭州迪普科技股份有限公司 | 一种实现nat穿越的方法 |
CN111405052A (zh) * | 2020-03-20 | 2020-07-10 | 深圳市网心科技有限公司 | 基于端口预测的p2p穿透方法、电子设备及介质 |
WO2021023018A1 (zh) * | 2019-08-05 | 2021-02-11 | 南京中兴新软件有限责任公司 | 业务调度的方法及装置 |
WO2021253889A1 (zh) * | 2020-06-17 | 2021-12-23 | 北京金迅瑞博网络技术有限公司 | 负载均衡方法、装置、代理设备、缓存设备及服务节点 |
-
2022
- 2022-01-04 CN CN202210003063.7A patent/CN114553965B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624184B1 (en) * | 2001-06-06 | 2009-11-24 | Cisco Technology, Inc. | Methods and apparatus for managing access to data through a network device |
CN104702713A (zh) * | 2015-03-26 | 2015-06-10 | 杭州华三通信技术有限公司 | 一种数据报文转发方法及装置 |
CN107241453A (zh) * | 2016-03-28 | 2017-10-10 | 华为技术有限公司 | 一种网络地址转换映射保活方法及装置 |
CN110166432A (zh) * | 2019-04-17 | 2019-08-23 | 平安科技(深圳)有限公司 | 对内网目标服务的访问方法、提供内网目标服务的方法 |
WO2021023018A1 (zh) * | 2019-08-05 | 2021-02-11 | 南京中兴新软件有限责任公司 | 业务调度的方法及装置 |
CN111131544A (zh) * | 2019-12-26 | 2020-05-08 | 杭州迪普科技股份有限公司 | 一种实现nat穿越的方法 |
CN111405052A (zh) * | 2020-03-20 | 2020-07-10 | 深圳市网心科技有限公司 | 基于端口预测的p2p穿透方法、电子设备及介质 |
WO2021253889A1 (zh) * | 2020-06-17 | 2021-12-23 | 北京金迅瑞博网络技术有限公司 | 负载均衡方法、装置、代理设备、缓存设备及服务节点 |
Non-Patent Citations (1)
Title |
---|
DNS系统负载均衡方案的设计与原型实现;张荣荣;《中国优秀硕士学位论文全文数据库·信息科技辑》;20110915(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114553965A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11522734B2 (en) | Method for controlling a remote service access path and relevant device | |
JP4000331B2 (ja) | ネットワークのポートマッピング用システム | |
JP4037759B2 (ja) | 多元ホストエニーキャストルーティングのための方法及びシステム | |
US9674054B2 (en) | Concept for providing information on a data packet association and for forwarding a data packet | |
US10231163B2 (en) | Efficient centralized resource and schedule management in time slotted channel hopping networks | |
WO2018152919A1 (zh) | 一种路径选取方法及系统、网络加速节点及网络加速系统 | |
US20210006421A1 (en) | Method and device for controlling qos, smf, upf, ue, pcf and an | |
US9455947B2 (en) | Apparatus and method of enabling to transceive data using a plurality of heterogeneous networks selectively through a fixed host address | |
WO2020248963A1 (zh) | 一种建立端到端网络连接的方法、装置及网络系统 | |
US11202252B2 (en) | Inclusion of a message proxy in a service based architecture | |
US10367893B1 (en) | Method and apparatus of performing peer-to-peer communication establishment | |
CN114095430B (zh) | 一种访问报文的处理方法、系统及工作节点 | |
KR20210048610A (ko) | Nf 구성요소의 예외를 처리하기 위한 방법 및 시스템, 그리고 기기 | |
WO2015039475A1 (zh) | 一种域名解析方法、服务器及系统 | |
WO2021008591A1 (zh) | 数据传输方法、装置及系统 | |
KR20100057885A (ko) | Ip 네트워크 상의 ip 링크의 접속 상태를 자동으로 확인하는 방법 및 시스템 | |
CN112968965B (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
EP2765741A1 (en) | Download method and system by way of broadcast in ubiquitous network | |
KR20050050954A (ko) | 사설네트워크 상에 존재하는 네트워크 장치를 제어하는장치 및 그 방법 | |
CN114553965B (zh) | 内网设备的调度方法、网络设备及存储介质 | |
CN109788075B (zh) | 专网网络系统、数据的获取方法及边缘服务器 | |
CN106254576B (zh) | 一种报文转发方法及装置 | |
KR102526770B1 (ko) | 추가의 네트워크 주소 변환 테이블을 참조하여 빠른 패킷 포워딩을 제공하는 전자 장치 | |
US11575601B2 (en) | Network device and packet processing method using same | |
WO2022087796A1 (zh) | Zigbee设备的属性订阅方法、装置及设备 |
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 |