GoEdge:一种可扩展的无状态本地分流方法

1 引言

为了实现第五代移动通信技术网络服务的目标,全球范围内的研发工作正在加速。表1列出了与第五代移动通信技术相关的项目和组织,它们正在积极发布白皮书、建议、规范等。在 [10],国际电信联盟无线电通信部门提出,第五代移动通信技术应支持新兴的新型用例,包括需要极高数据速率通信、大量连接设备以及超低延迟和高可靠性应用的应用。此外,为了使这些用例成为可能,第五代移动通信技术必须克服包括高速数据率、降低延迟、低功耗、高可扩展性、高连接性和高安全性在内的技术问题[2]。特别是降低延迟,即超低延迟,是第五代移动通信技术中最关键的因素,以满足约1毫秒的要求,适用于自动驾驶、增强现实、虚拟现实和触觉互联网等新兴应用。

表1:第五代移动通信技术项目和组织

国家 项目和组织
国际 欧洲电信标准协会、国际电信联盟无线电通信部门/国际电信联盟电信标准化部门、第三代合作伙伴计划、下一代移动网络联盟、5G汽车协会
欧洲 移动和无线通信超越ITU‐IMT‐Advanced系统、5GNow、MiWaveS、iJOIN、5G公私合作关系
US 5G美洲
中国 IMT‐2020(5G)推进组、国家科学技术重大项目
韩国 5G论坛
日本 第五代移动通信推进论坛(5GMF)

边缘计算技术作为实现超低延迟的方法之一,已受到广泛关注。通过在网络边缘部署处理节点,边缘计算有望实现高服务质量、分布式处理、带宽节省和节能等多种功能,此外还能实现超低延迟[11]。然而,该技术尚未标准化。在现有方案中,云微[18],雾计算[3],以及多接入边缘计算(MEC)[7]已被提出作为核心技术。云微和雾计算主要面向通用网络中的应用,而多接入边缘计算(MEC)则旨在作为第五代移动通信技术相关技术之一,在无线接入网络(RAN)内提供服务。本文重点关注多接入边缘计算(MEC)。

多接入边缘计算有望实现多种极具吸引力的服务和应用。研究人员一直在提出各种方法

针对每个主题,迄今为止已通过数学和仿真方法证明了其潜在的有效性。下一阶段则需要基于真实环境中原型系统的提案与评估。然而,目前由于多接入边缘计算(MEC)具有灵活处理连接的新特性,而非传统的端到端连接,因此实现MEC的参考模型较少。特别是为了提供上述多样化的服务与应用,MEC的实施设计应简单且可扩展。

本文中,为了实现第五代移动通信技术的灵活通信,我们提出了一种可扩展的无状态本地分流方法的实现设计。该方法通过应用成熟的域名系统和IP路由方式,使多接入边缘计算能够通过无状态控制实现可扩展的本地分流。本文的贡献如下:提供了一种简单且可实施的方法,以实现多接入边缘计算的可扩展和无状态本地分流;不仅为运营商,也为研究人员提供了实验环境,以便在数学模型和仿真模型的基础上部署其方案作为下一步研究。即,该原型系统作为参考模型展示了具体实现。此外,我们还对所提方法的可行性进行了初步评估。

2 相关工作

欧洲电信标准协会(ETSI)的多接入边缘计算行业规范组(ISG‐MEC)一直在推进多接入边缘计算(MEC)的标准化工作。最初,MEC的标准化被称为“Mobile” Edge Computing。然而,为了将应用扩展到Wi‐Fi和有线网络等各种网络,自2016[15]年9月起,MEC已被用作“Multi‐access” Edge Computing的缩写。此外,尽管ETSI的规范,即ETSI GS MEC‐IEG 005[5],,强调了MEC概念验证(PoC)框架的重要性,但截至目前,尚无规范描述有关MEC实现和实验的具体信息。

许多研究人员一直在研究多接入边缘计算技术,已发表多篇聚焦于架构、安全等方面的综述论文,以提供围绕多接入边缘计算的研究趋势[1, 13, 14, 17, 19, 21]。尽管实现多接入边缘计算需要多种技术和功能,但目前的实施模型却很少。

我们在此介绍三种与多接入边缘计算(MEC)流量引导相关的实现模型作为相关工作。文献[16]设计、实现并评估了采用协同缓存系统的MEC,以降低内容分发网络(CDN)中的网络延迟。该文章应用了Apache ZooKeeper服务1,这是一种用于实现高可靠分布式协调的集中式服务,通过MEC之间的协同缓存来提供高效的内容缓存。因此,该方法有助于减少网络延迟和流量过载。

此外,为了将移动流量分流至边缘网络,参考文献[12]提出了一种用于本地分流的MEC服务器虚拟架构及虚拟机(VM)功能模块。在他们的试验床环境中,MEC服务器中的本地分流虚拟机基于IP地址和端口号信息,以软件定义网络(SDN)的方式实现流量控制。

参考文献[9]设计、实现并评估了一种利用SDN来满足低延迟需求的MEC平台。该研究构建了一个面向视频流应用的MEC环境,并通过OpenFlow交换机实现将流量引导至数据中心和MEC服务器,为基于SDN的实现模型提供了支持。在该方法中,位于基站中的OpenFlow交换机根据数据包头部信息(如源/目的IP地址、源/目的端口号、协议类型等)将用户流量在互联网与MEC之间进行合理划分。然而,一项服务通常具有多个IP地址,而单一服务提供商也往往提供多种不同类型的服务。例如,一个服务提供商可能同时提供搜索引擎、网络邮件、文件共享、在线存储等多种服务。在此情况下,由于OpenFlow依赖上述信息识别流量流,因此需要为每项服务建立不同的规则,导致规则数量急剧膨胀,从而大量消耗交换机上OpenFlow表的资源。此外,当服务提供商因某些原因未通知即更改IP地址分配时,网络运营商必须手动维护这些OpenFlow规则。再者,为了在移动基站等网络边缘部署大规模的OpenFlow交换机,成本和管理复杂度显著增加。为缓解上述问题,下一节提出一种基于IP任播方式的本地分流方法。

3 GoEdge

本节提出了一种通过使用域名系统和IP任播实现的可扩展且无状态的多接入边缘计算本地分流机制,称为GoEdge。第3.1节定义了多接入边缘计算本地分流的需求。第3.2节介绍了利用通用协议和软件对GoEdge的设计与实现。此外,第3.3节阐述了GoEdge的横向扩展与收缩设计。

3.1 本地 breakout 的需求

本文重点研究一种基于IP任播方式的本地分流方法。图1展示了ETSI MEC ISG [6]中标准化的参考MEC架构示意图。在图中,我们的目标功能,即流量规则控制、DNS处理、数据平面和ME应用,由红线包围。

本节讨论实现本地分流的要求。以下是本地分流应满足的三个关键要求。

通用性 :由于多接入边缘计算需要适应内容分发、增强现实(AR)和虚拟现实(VR)等多种用例,其本地分流不应依赖于任何特定用例。也就是说,要求本地分流具备与用例无关的独立性。

可扩展性 :移动运营商网络包含大量复杂的网络设备。目前,单个运营商的基站(即eNodeB)数量已达到数十万个,以覆盖一个国家或地区 [4]。在第五代移动通信技术中,由于新的无线接入网络(RAN)计划采用极高频(ETH)频段为用户提供更高速的无线接入,单个基站的覆盖范围将仅有几十米。因此,与现有网络相比,移动运营商需要部署更多的基站。相应地,多接入边缘计算本地分流必须具备良好的可扩展性

示意图0

在移动运营商网络上进行动态基站部署时具有灵活性。

No modification for client :在ETSI ISG‐MEC中,除了第五代移动通信技术外,多接入边缘计算还假设部署于有线和Wi‐Fi网络。因此,本地分流也必须能够在通用ISP网络上正常工作。此外,如果利用本地分流需要使用特定协议或应用,而客户端又必须依赖这些协议或应用才能受益于支持多接入边缘计算的网络,则第五代移动通信技术服务的推广可能需要较长时间。为了顺利部署多接入边缘计算,本地分流必须确保对客户端的协议和应用无需进行任何修改。

3.2 设计与实现

GoEdge满足上述要求的主要思想是利用域名系统与IP任播相结合实现本地分流。本节介绍GoEdge的详细设计与实现。

在我们的方案中,我们利用IP任播方式。IP任播是互联网上的通信类型之一。在单播通信中,数据包根据数据包头部中的目标IP地址被转发到特定的目标主机。而在IP任播中,由于多个主机可以共享同一个IP地址,数据包会被路由到离用户最近的主机。此外,IP任播具有易于实现主机分布的特点。也就是说,IP任播可以为通信提供邻近性,从而有助于降低延迟。此外,由于IP任播被应用于根DNS系统运行,根DNS实例通过使用IP任播在全球范围内广泛分布并实现负载均衡。借助这一优势,即使IP任播成员中的某个站点因问题而不可用,流量也会自动重新路由到次近站点。因此,IP任播能够在IP层实现全球负载均衡,且无需对客户端和服务器进行任何修改[8]。

GoEdge的核心思想是控制位于基站内的MEC路由器上的流量。如图2所示,GoEdge由一个边缘网络和一个DNS解析器组成。边缘网络也包含一个MEC路由器和MEC服务器,MEC应用则托管在MEC服务器上。一个MEC路由器持有

示意图1

通用

示意图2

骨干网络和互联网的路由信息。此外,连接到MEC路由器的链路路由通常在路由表中具有最高优先级。因此,GoEdge利用该机制在边缘网络上实现流量本地化。GoEdge首先为边缘网络分配专用IP前缀,但MEC路由器不会将这些路由分发到骨干网络。也就是说,这些IP前缀在彼此不可达的MEC路由器之间共享。当客户端向边缘网络上的专用IP前缀发送流量时,该流量会被转发至各个边缘网络,而不会泄露到骨干网络。因此,GoEdge可以通过对MEC路由器所持有的路由信息进行分类,从而实现流量的本地化。

为了利用流量本地化,有必要将MEC服务器上MEC应用的IP地址通知给客户端。为此,GoEdge采用支持响应策略区域(RPZ)[20]的DNS解析器。该RPZ可在无需进行递归域名解析的情况下,针对DNS查询中的完全限定域名(FQDN)返回任意IP地址。尽管该机制最初设计用于通过控制DNS回复来屏蔽恶意域名(即黑名单),但GoEdge将其应用于向客户端通知MEC应用的IP地址。例如,若某个FQDN(如 foo.example.com.)表示一个MEC应用,由于DNS服务器在RPZ区域文件中保存了FQDN与IP地址的映射关系,因此它可以向客户端回复该MEC应用的IP地址。图3展示了RPZ区域的一个示例。每个条目显示了一个MEC应用的FQDN及其分配到的IP地址。此外,对于未路由到MEC应用的其他流量,DNS服务器会作为通用解析器回复互联网上的IP地址。

图2还描述了GoEdge的通信过程。首先,在(1)中,客户端向DNS解析器发送DNS查询以
解析目标名称。然后,如果RPZ文件中包含该FQDN,则DNS服务器在(2)中将对应的IP地址回复给客户端。在(3)中,客户端收到回复后,开始与MEC应用进行通信。在(4)中,MEC路由器将数据包转发至MEC应用,而不会将其转发到互联网。如果目的地表示互联网上的IP地址,则流量将根据其路由表正常转发。通过上述过程,GoEdge能够控制用户流量并正确引导其访问MEC应用。

GoEdge展示了IP任播和域名系统在移动网络等本地网络中结合使用的一种新用例。GoEdge借鉴了基于IP任播的CDN成功部署的经验,如[8]中所述。如上所述,我们应用简单且可扩展的流量引导方法来实现MEC的本地分流。通常,在运营商网络中的流量控制(包括流量引导)需要对路由器进行手动配置,并维护路由配置。在GoEdge中,流量引导规则作为静态路由预先配置在路由器上。因此,网络运营商无需对路由器进行额外的配置和管理。通过结合使用IP任播和域名系统,GoEdge有效降低了网络中的控制和管理负载。

3.3 GoEdge的横向扩展与收缩设计

移动和有线网络运营商将在其设施(如基站)上部署新的MEC,也可能会偶尔移除该设施。因此,需要为MEC的灵活操作设计横向扩展和纵向收缩方案。为此,GoEdge提供了如图4所示的方法。如果部署了带有MEC的新基站,移动运营商可以按以下方式部署新基站:新基站使用已在其他基站中使用的相同IP前缀作为MEC网络的前缀,并且该基站连接到运营商的骨干网络。完成此部署后,来自该基站下客户端的MEC流量将被转发到新的MEC设施。在部署过程中,运营商无需对DNS服务器进行任何更改,因为MEC路由器与DNS服务器之间没有特定的配置和通信。

4 评估

本节研究了GoEdge的可行性与性能。第4.1节首先介绍了评估所用的实验环境。第4.2节随后评估了GoEdge在内容缓存场景中的可行性。第4.3节和第4.4节分别展示了内存消耗和查询延迟的评估结果。

4.1 实验设置

我们在此研究GoEdge在实验环境中的可行性与性能,该实验环境由传统的域名系统解析器软件(bind9.10.3-P4)、开源软件路由器作为MEC路由器(VyOS1.1.8)以及用于MEC应用托管的容器平台(Docker18.03.0∼ce-0)组成。图5展示了我们在评估中所采用的边缘网络拓扑。

该环境部署在基于KVM虚拟机监控程序的虚拟机上。KVM虚拟机监控程序运行在两台服务器上,配备Intel® Xeon® CPU E3‐1230 v5 @ 3.40GHz(6核)和8GB物理内存。

4.2 可行性测试

本节研究GoEdge在内容缓存场景中的行为,以验证其可行性。在此场景中(见图5),Web服务器托管一个由dd命令生成的100 MB内容文件。MEC服务器作为内容缓存服务器,以Docker实例形式部署了开源代理软件Squid 3.3.82。因此,在该场景中,我们通过部署MEC服务器来测量其有效性。为了评估基本性能,使用tc命令将MEC路由器到Web服务器的延迟在0至100毫秒之间进行调整。在实验中,客户端通过wget命令在每种延迟下从Web服务器下载内容文件100次。

图6展示了从Web服务器和MEC服务器下载时间的基本结果。在该图中,x轴表示从MEC路由器到Web服务器的延迟,y轴表示下载100MB内容文件所需的时间。注意,y轴上的“cache”表示MEC服务器的结果。如Web服务器的结果所示,下载时间随延迟成比例增加。另一方面,当启用GoEdge时,客户端可以以最短时间下载内容文件。该结果证明了GoEdge能够正确识别用户流量并将其引导至MEC服务器。

4.3 内存消耗

本节评估RPZ区域的大小对域名系统服务器内存使用量的影响。随着MEC应用的增加,域名系统服务器上RPZ区域文件中实例的DNS记录数量也将增加。因此,域名系统服务器可能需要大内存。

表2显示了域名系统软件在处理不同大小的RPZ区域文件时所消耗的内存大小的测量结果。该测量使用从Alexa顶级100万网站域名生成的DNS区域列表3。从结果可以看出,即使RPZ区域文件中列出了100万个域名,域名系统进程所消耗的内存大小也仅为约240 MB。因此,GoEdge能够无需高端服务器即可应对MEC应用增长带来的服务需求。

表2:不同区域大小下DNS服务器消耗的内存

#RPZ 条目 内存 [KB]
1,000 24,892
10,000 28,028
100,000 63,072
1,000,000 238,520

4.4 查找性能

本节测量了客户端在不同大小的RPZ区域下的查询延迟。测量中采用了四种记录大小:100、1,000、10,000和100,000。在RPZ文件中,完全限定域名从Alexa Top 100万网站中随机选取。实验中,客户端在每种记录大小下通过dig命令进行1,000次查询。

图7显示了不同大小的RPZ记录的延迟变化。x轴表示记录大小,y轴表示以对数刻度表示的查询延迟。当记录大小为1,000时,查询延迟的平均值约为100毫秒。该延迟对于名称解析而言较长。因此,需要改进延迟,以便在多接入边缘计算上提供超过100项服务。即使由于网络上客户端增加导致DNS解析器无法处理DNS查询,服务器也可以通过添加其他DNS解析器来轻松实现横向扩展,作为常规操作的一部分。

5 讨论

本节讨论GoEdge的适应性、可扩展性和局限性。我们还讨论了GoEdge在实际网络中的部署问题。

5.1 可扩展性

在第五代移动通信技术中,运营商将不断部署新的基站,以提升通信质量和覆盖范围。各种移动服务中,MEC的可扩展性是一个重要问题。如第3.3节所述,与现有方法相比,GoEdge可以相对容易地对服务组件进行横向扩展和纵向收缩。由于安装新的MEC实例的过程仅仅是GoEdge在DNS RPZ区域文件中添加一条RPZ记录,除此之外,无需对网络边缘的路由器和客户端进行任何更改。因此,GoEdge能够灵活地提供网络规模的横向扩展和纵向收缩。

5.2 在边缘网络中分配的IP地址

本节讨论位于基站内的边缘网络的专用IP前缀。第4节中的实验为边缘网络分配了一个私有IPv4前缀(10.0.0.0/24)。然而,此类私有IPv4地址有时可能与客户端设备上使用的内部地址范围发生冲突。例如,该地址范围常用于企业VPN网络。当客户端设备通过VPN会话连接到内部网络,并且边缘网络被分配了相同的私有IP地址范围时,到MEC实例的流量将被转发至客户端上的VPN网络。为了避免此类问题,GoEdge可以使用在骨干网络中未使用的全局IPv4/IPv6地址,而不是私有IPv4地址。此外,由于IANA管理的全局IPv4地址空间已在几年前耗尽,使用IPv6地址是边缘网络的一种有效解决方案。

另一个问题是客户端应用中存在硬编码IP地址。GoEdge通过DNS机制处理流量,但在这种情况下,DNS无法解析硬编码的IP地址。因此,GoEdge无法将流量引导至MEC实例。

5.3 负载均衡

当大量客户端集中在某个基站时,MEC可能无法为应用提供足够的性能。目前,GoEdge不支持在边缘侧的负载均衡功能。由于通过DNS响应获得的IP地址无法根据MEC实例的负载情况进行调整,因此有必要引入针对MEC实例的负载均衡机制。作为该问题的一种解决方案,在边缘实例前端部署负载均衡器并管理MEC实例可能是一种有效的方法。

5.4 移动性

由于欧洲电信标准协会的ISG‐MEC假设多接入边缘计算不仅适用于移动网络,也适用于有线网络,因此多接入边缘计算有可能被部署在各种网络中。由于客户端可自由移动,它可能会改变其位置并同时连接到第五代移动通信技术、Wi‐Fi和有线网络等多种网络。如果由于移动导致连接的MEC实例发生变化,GoEdge需要将用户流量从之前的MEC实例转发到新的MEC实例。因此,需要在MEC实例之间迁移连接并同步进程状态。

5.5 与先前工作的比较

与之前的工作相比,GoEdge 具有以下优势。

低成本 :尽管其他方法(包括基于软件定义网络的本地分流 [9])需要专用硬件和控制器,但GoEdge可以使用入门级三层交换机或路由器以及开源DNS软件。因此,运营商和工程师可以复用他们成熟的IP网络知识来操作GoEdge。因此,GoEdge有助于有效降低移动运营商中多接入边缘计算的运营支出。此外,在实验室中,研究人员可以在简单网络上使用GoEdge开展其原创想法的实验。

无状态且可扩展 :GoEdge 具有无状态的控制和管理,以及其他优势。由于 GoEdge 实体在单个用户通信中完全无状态,DNS 服务器和路由器在 GoEdge 中是独立的。此外,路由器上的数据包转发不保存任何用户通信的会话信息。因此,这种无状态架构有助于提升移动网络中 MEC 的可扩展性,如第3.3节所述。

6 结论

本文介绍了用于多接入边缘计算(MEC)的可扩展且无状态本地分流方法GoEdge的设计与实现。GoEdge采用成熟的域名系统和IP任播方式实现MEC的本地分流。与现有方法相比,它无需在网络侧管理单个流和会话的状态,从而实现了简单且可扩展的网络管理。此外,实验结果表明,由于GoEdge能够有效控制流量,因此可以降低延迟。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐