Architecture Design¶
In this section, we provide a detailed explanation of our proposed SkyOctopus architecture. First, we provide a comprehensive overview of SkyOctopus, along with detailed discussions on the modifications to network function, signaling, and protocol.
Then, we propose a fine-grained anchor point selection strategy, which includes initial location-based anchor point selection and the path update mechanism driven by both computation and measurement.
Finally, we discuss the anchor distribution problem and propose an algorithm to minimize latency by optimally selecting deployment locations for a fixed number of anchor points.
在本节中,我们将详细解释提出的 SkyOctopus 架构。首先,我们将全面概述 SkyOctopus,并详细讨论其对网络功能、信令和协议的修改
然后,我们提出了一种细粒度的锚点选择策略,其中包括基于初始位置的锚点选择以及由计算和测量共同驱动的路径更新机制
最后,我们讨论了锚点分布问题,并提出了一种算法,通过为固定数量的锚点选择最优部署位置来最小化延迟
A. SkyOctopus Architecture¶
To achieve low-latency global access for users, we propose SkyOctopus, an advanced multi-anchor mobile satellite network architecture, as shown in Fig. 3. SkyOctopus operates within an LEO satellite constellation, where satellites establish ISLs with adjacent satellites both in the same orbit (front/rear) and in neighboring orbits (left/right). Given that these satellites share the same velocity and orbital altitude, the ISL topology remains stable.
为实现用户的全球低时延接入,我们提出 SkyOctopus:一种先进的多锚点移动卫星网络架构,如图3所示。SkyOctopus 工作于 LEO 星座之上,卫星之间通过星间链路(ISLs)连接,ISLs 建立于同轨卫星的前/后向以及邻轨卫星的左右向。由于所有卫星具有相同的轨道高度与速度,ISL 拓扑结构保持稳定。
组件 | 地理位置 | 作用 |
---|---|---|
UE | 地面 | 拿着手机的普通使用者 |
基站 (Base Station, BS) | 卫星 | 这是最关键的一点。SkyOctopus采用的是regenerative mode,基站的功能(5G中的gNB)被集成到了LEO卫星上。 用户的手机直接和天上的卫星基站通信 |
S-UPF (Satellite UPF) | 卫星 | 与基站部署在同一颗卫星上 。它们物理距离极近(可视为在同一个硬件设备上),通信几乎没有延迟。它的作用不是锚点,而是一个智能的“流量分类器” |
Core Network | 地面 | 网络的“大脑”,包括AMF, SMF, PCF, UDM等控制面功能,部署在地面data center |
Anchor Points | 地面 | 真正的PDU会话锚点,由 地面站(GS)和UPF 共同组成,分布在全球各地 |
SkyOctopus incorporates network components such as users, base stations, and the core network. Innovatively, SkyOctopus introduces a novel network function on the satellite, known as the Satellite UPF. This network function enables the existence of multiple anchor points (e.g., UPFs) on the ground within a single PDU session for a single user. The Satellite UPF is physically located on the satellite where the base station is situated, which helps further mitigate potential routing detours.
Below, we will detail the new network function, and outline the modifications made to the session establishment process in SkyOctopus.
SkyOctopus 架构融合了用户、基站与核心网等传统网络组件,创新性地在卫星上引入了一种新的网络功能单元:Satellite UPF(S-UPF)。该功能的引入使得在单个 PDU 会话中,用户可以同时拥有多个部署于地面站的 UPF 作为锚点。S-UPF 实体部署在与基站相同的卫星上,有效减少了由于锚点选址引发的路径绕行问题。
接下来,我们将分别介绍该新型网络功能的设计,以及 SkyOctopus 中会话建立流程的关键修改。
1) Satellite UPF: In SkyOctopus, we introduce a new network function, named Satellite UPF (S-UPF). As a type of I-UPF, the S-UPF works as a traffic classifier operating on satellites. It splits user traffic from the base station on the satellite, forwarding it to different anchors based on the destination of the packets, and aggregates the traffic returning from multiple anchors back to the base station.
On the other hand, since the S-UPF does not act as an anchor point, reselection of the S-UPF due to satellite movement does not result in the reestablishment of the user’s current PDU session. Similar to the handover process of base stations, the new S-UPF is replaced into the current PDU session under the guidance of the core network, while the base station and anchor points still retain the session context. Therefore, users avoid the long service interruption time caused by anchor point reselection.
Compared to the standard NTN architecture, one significant innovation of SkyOctopus is that a single PDU session can include multiple anchor points. However, this feature presents a challenge for session establishment. Implementing the insertion-based session establishment process will cause the session establishment time to grow linearly with the number of anchor points.
In terrestrial mobile networks, a single session with I-UPF typically includes at most two or three anchor points due to the limited service range of private networks or MEC services. Thus, as described in II-A, it employs an insertionbased process, where the core network sequentially adds each anchor point. However, in mobile satellite networks, where the number of potential anchor points far exceeds that in terrestrial scenarios, this method becomes impractical.
在 SkyOctopus 中,我们提出一种新的网络功能单元,称为 Satellite UPF(S-UPF)。S-UPF 作为一种中继 UPF(I-UPF)在卫星上运行,负责流量分类。其主要功能包括:在卫星基站处,将用户下行流量根据数据包的目标地址拆分转发至不同锚点,同时将多个锚点返回的上行流量聚合回基站。
另一方面,由于 S-UPF 本身并不作为锚点存在,其因卫星移动引发的重新选择不会导致用户当前 PDU 会话的重新建立。类似于基站的切换过程,新的 S-UPF 可由核心网接管并直接替换进当前的 PDU 会话中,而原基站与锚点仍保留原有会话上下文,从而避免了锚点重选带来的服务中断时间。
与传统 NTN 架构相比,SkyOctopus 的一项重大创新在于支持在单个 PDU 会话中同时接入多个锚点。然而,这也对传统的会话建立流程提出了挑战:若继续采用逐个插入式的会话建立方式,建立时间将随锚点数量线性增长。
在地面移动网络中,I-UPF 通常仅涉及两个至三个锚点,多用于私有网络或边缘计算场景,因此采用顺序插入式流程尚可接受。但在移动卫星网络中,潜在锚点数量远高于地面网络,该方法不再适用。
We propose a new PDU session establishment process tailored for SkyOctopus, as illustrated in Fig. 4. This process uses the correspondence between the base station and the SUPF to directly establish connections with the anchor points, avoiding additional insertion operations. It also parallelizes connections across multiple anchor points, which together lead to a significant reduction in latency. The proposed PDU session establishment process can be summarized as follows.
我们提出了一种适用于 SkyOctopus 的新型 PDU 会话建立流程(如图4所示),该流程基于基站与 S-UPF 的对应关系,绕过插入式操作,直接并行建立多个锚点连接,显著降低建立延迟。具体步骤如下:
Step 0. Before session establishment, the base station has already established a connection with the S-UPF on the same satellite based on the GTP-U protocol. In special cases such as link disruptions, the base station establishes a connection with the nearby S-UPF. Given that the ISL topology is fixed, the connection can remain stable. The S-UPF regularly reports the status of connected base stations to the core network in order to obtain the PDRs for these base stations.
Step 1-3. Similar to the traditional PDU session establishment process, the user initiates a PDU Session Establishment Request, which is transparently transmitted through the base station to the core network. Upon receiving the request, the SMF conducts necessary authentication for the user and retrieves the user’s subscription data from the UDM and policy rules from the PCF.
Step 4. Upon confirming the user’s legitimate access, the SMF selects an anchor point responsible for allocating the IP address to the user based on the policy provided by the PCF. Differing from the traditional session establishment process, the SMF sends PFCP Session Establishment Request signaling to all anchor points rather than to a single anchor point. The signaling reply from each anchor point includes the tunnel endpoint identifier (TEID) for the GTP-U protocol that is prepared for establishing with the S-UPF. Additionally, the signaling reply from the anchor point responsible for assigning the IP address includes the user’s IP address.
Step 5. The SMF then proceeds to send a radio resource request to the base station through the AMF (5.a.1) and transmits PFCP Session Modification to the S-UPF (5.b.1).
Since the base station always establishes a connection with the default S-UPF and the S-UPF informs the core network of any changes in the connection, the SMF is aware of which S-UPF the base station is currently connected to. Therefore, the SMF can directly send the modification signaling to the corresponding S-UPF.
The base station assigns radio resources for the user (5.a.2), informs the user of the IP address allocated by the core network, and replies to the SMF with resource allocation success signaling (5.a.3). Subsequently, the S-UPF configures the TEIDs and PDRs accordingly based on the signaling and replies to the SMF with Modification Success signaling (5.b.2), providing the S-UPF’s IP address and TEID list.
Step 6. The SMF logs the PDU session-related parameters replied to by the base station and verifies whether the TEID provided by the S-UPF matches the TEID replied by the UPF in Step 4. Furthermore, the SMF updates the anchor points’ PDRs based on the S-UPF’s IP to ensure that user traffic is correctly forwarded to the S-UPF instead of the base station.
The signaling in step 5.a and 5.b are transmitted in parallel. Given that the base station and the S-UPF are close, their transmission times to the core network are almost identical. Therefore, Step 5.b does not incur additional latency.
Through the above process, the user can simultaneously establish connections with multiple anchor points via the SUPF, and the time required to establish a PDU session is decoupled from the number of anchor points. Additionally, the S-UPF, as a unique type of UPF managed by the core network, does not incur extra costs on the control plane and seamlessly integrates with mobile networks.
review: 各个组件所在的地理位置
组件 | 地理位置 | 作用 |
---|---|---|
UE | 地面 | 拿着手机的普通使用者 |
基站 (Base Station, BS) | 卫星 | 这是最关键的一点。SkyOctopus采用的是regenerative mode,基站的功能(5G中的gNB)被集成到了LEO卫星上。 用户的手机直接和天上的卫星基站通信 |
S-UPF (Satellite UPF) | 卫星 | 与基站部署在同一颗卫星上 。它们物理距离极近(可视为在同一个硬件设备上),通信几乎没有延迟。它的作用不是锚点,而是一个智能的“流量分类器” |
Core Network | 地面 | 网络的“大脑”,包括AMF, SMF, PCF, UDM等控制面功能,部署在地面data center |
Anchor Points | 地面 | 真正的PDU会话锚点,由 地面站(GS)和UPF 共同组成,分布在全球各地 |
Step 0:基础连接准备¶
- 涉及组件: 卫星基站(BS)、卫星S-UPF
- 空间路径: 卫星内部
- 核心动作: 在用户发起任何请求之前,卫星上的基站和S-UPF就已经通过内部连接(GTP-U隧道)“对接”好了。S-UPF会定期向地面的核心网报告自己的状态,告诉大脑“我正服务于哪个基站”
Step 1-3:用户发起会话¶
- 涉及组件: 用户、卫星基站(BS)、地面核心网(AMF, SMF, UDM, PCF)
- 空间路径: 地面用户 → 卫星(BS) → 地面核心网
- 核心动作:
- 您(用户)在地面打开手机,手机向头顶的卫星基站(BS)发送“我想上网”的请求 (PDU Session Establishment Request)
- 卫星基站收到后,将该请求通过星地链路转发到与地面核心网连接的地面站,最终送达核心网的“指挥部” —— SMF
- SMF收到请求后,开始进行用户身份认证、从UDM获取签约数据、从PCF获取策略规则等一系列常规操作。这部分完全在地面数据中心内完成
Step 4:锚点并行建立¶
- 涉及组件: 地面核心网(SMF)、全球各地的地面锚点(UPFs)
- 空间路径: 地面核心网 → 全球各地的地面锚点 (这是地面数据中心之间的通信)
- 核心动作: 这是关键创新点。SMF不再只选择一个锚点,而是向所有可能用到的锚点(比如东京、伦敦、纽约的UPF)并行发送“PFCP会话建立请求”。每个地面锚点都开始准备为该用户服务,并向SMF返回自己的连接信息(TEID)。其中一个主锚点会为用户分配IP地址
锚点建立的过程
我很难理解,为什么锚点的建立传递是"地面核心网 → 地面锚点"
- 为什么不是走星间链路呢?
- 这样地面网络的广播传递,会不会很慢呢?
不走星间链路、以及在地面网络传递,看似不合逻辑,但其实这背后是移动通信网络一个非常基础且重要的设计原则 —— “控制面”与“用户面”的分离
指令的发送方和接收方都在地面,没必要绕远路去天上走一圈。它们之间有高速、大带宽的地面光纤骨干网直接连接!
星间链路的真正优势在于传输“用户数据”。例如,当在太平洋上空,要访问日本的服务器时,用户数据可以通过星间链路直接传到日本上空的卫星,再下载到日本的地面锚点。这避免了数据先在美国落地再通过海底光缆去日本的绕路
控制指令走最高效的地面骨干网,用户数据走最直接的“星上高速公路”
⚠️ 一定注意 ⚠️ 地面骨干网非常快!!!
我们不能用家里的宽带或者普通Wi-Fi的体验来想象运营商的骨干网。连接全球各地数据中心的地面光纤骨干网是现代互联网的基石
- 超低延迟: 主要数据中心之间的光纤直连延迟非常低
- 超大带宽
- 极高可靠性: 有大量的冗余和备份路由,非常稳定
Step 5:资源与配置分发(并行执行)¶
这一步分为两条并行的线路,这也是加速的关键:
-
线路 5.a (对空-对地,无线路径)
- 涉及组件: 地面核心网(SMF)、卫星基站(BS)、用户
- 空间路径: 地面核心网 → 卫星(BS) → 地面用户
- 核心动作: SMF通过AMF,向卫星上的基站下发指令,要求为用户分配具体的无线信道资源,并把核心网分配的IP地址通知给用户手机
-
线路 5.b (对空,有线/内部路径)
- 涉及组件: 地面核心网(SMF)、卫星S-UPF
- 空间路径: 地面核心网 → 卫星(S-UPF)
- 核心动作: 与此同时,SMF向卫星上的S-UPF发送“PFCP会话修改”指令。这个指令 包含了所有地面锚点的信息(IP和TEID),相当于给S-UPF下发了一张“流量调度表” 。S-UPF收到后,就知道以后收到这个用户的流量该往哪个地面锚点转发了
为什么快?
因为 5.a 和 5.b 是并行执行的,而且基站和S-UPF在同一颗卫星上,它们到地面核心网的物理距离和传输时延几乎一样,所以这两条线不会互相等待,没有额外延迟
Step 6:路径校验与配置¶
- 涉及组件: 地面核心网(SMF)、全球各地的地面锚点(UPFs)
- 空间路径: 地面核心网内部,然后 地面核心网 → 全球各地的地面锚点
- 核心动作:
- SMF在地面数据中心内部,进行最后的“收尾”工作。它会核对从S-UPF和各个锚点返回的信息是否一致
- SMF向 所有地面锚点 发送一次最终的PDR更新,告诉它们:“注意,这位用户的数据将会从天上的S-UPF发过来,而不是直接从基站发过来”。这步完成了从S-UPF到地面锚点的端到端数据隧道的建立
通过这个流程,SkyOctopus架构成功地将原本需要逐个串行建立的多个锚点连接,改为了 一次性并行建立 ,从而实现了会话建立时间与锚点数量的“解耦”,极大地提升了用户体验
B. Fine-Grained Anchor Point Selection¶
The availability of multiple anchor points expands the forwarding options for user traffic. Therefore, the key to reducing latency lies in selecting different anchor points for different target IP addresses within the user traffic. To address this issue, we design a fine-grained anchor point selection strategy for SkyOctopus, which includes location-based initial anchor point selection and a path update mechanism based on network status detection and computation.
多锚点的可用性扩展了用户流量的转发选项。因此,对于用户流量中不同的目标IP地址,如何选择不同的锚点以降低时延,成为了一个关键问题。为解决此问题,我们为SkyOctopus设计了一种细粒度的锚点选择策略,该策略包含基于位置的初始锚点选择,以及一个基于网络状态检测与计算的路径更新机制。
1) Location-Based Anchor Point Selection: In the proposed multi-anchor mobile satellite network, the S-UPF will determine the packet processing strategy based on the matching PDR, which specifies the transmission direction according to the user and their target IP. Given the vast number of possible user-target pairs—up to 10 19 pairs for IPv4 [15] and even more for IPv6—manually configuring PDRs for each userserver pair is impractical. To address this, we use locationbased initial anchor point selection.
As an initial setup, anchor point selection should not depend on network status. A simple yet effective criterion for choosing anchor points is to select those that are as close as possible to the user’s target server. Compared to terrestrial public networks, satellite networks often have fewer hops, which provides advantages in terms of experimental performance and stability for the same transmission distance. Existing statistics indicate that current commercial LEO satellite networks outperform public networks in latency [16], and this advantage is expected to increase with the expansion of ground station numbers and advancements in the satellite industry.
On the other hand, it is possible to infer the geographical location based on the target IP address. Although IP addresses themselves do not contain geographical information, their distribution typically follows a geographic hierarchy. By examining the hierarchical arrangement and distribution details of IP addresses, one can infer the geographical location of a device. A common approach is to use the IP geolocation database maintained by data providers such as GeoIP [17].
Considering the above points, we design the process for location-based anchor point selection as follows. Based on the geographical location corresponding to global IP addresses, we assign them to different anchor locations according to their distance. For each group, a PDR list is created based on target IP addresses, with subnet merging used to reduce the number of generated PDRs. The list is deployed as initially built PDRs in the S-UPF.
在我们提出的多锚点移动卫星网络策略中,S-UPF将根据匹配的分组检测规则(PDR) 来决定数据包的转发策略, 该PDR根据用户与目标IP对来指定传输方向 。考虑到可能的用户-目标对数量极其庞大(对于IPv4高达1019,对于IPv6更多),为每个用户-服务器对手动配置PDR是不切实际的。为应对此挑战,我们采用基于位置的初始锚点选择方法。
作为一种初始设置,锚点的选择不应依赖于网络状态。一个简单而有效的标准是 选择那些尽可能靠近用户目标服务器的锚点 。与地面公共网络相比,卫星网络在相同传输距离下通常具有更少的跳数以及更好的实验性能与稳定性。现有统计数据表明,当前商业LEO卫星网络在延迟方面已优于公共网络[16],并且随着地面站的扩展和卫星产业的进步,这一优势有望进一步扩大。
另一方面,基于目标IP地址推断其地理位置是可行的。 尽管IP地址本身不包含地理信息,但其分布通常遵循地理层级结构。通过检查IP地址的层级编排和分布细节,可以推断出设备的地理位置 。一个常见的方法是使用由GeoIP [17]等数据提供商维护的IP地理位置数据库。
考虑到以上几点,我们设计的基于位置的锚点选择流程如下:
- 基于IP地址对应的地理位置,我们根据其距离远近,将它们分配给不同的锚点
- 对于每个分组,我们根据目标IP地址创建一个PDR列表,并通过子网合并来减少生成的PDR数量
- 该列表作为初始构建的PDR部署在S-UPF中
2) Path Update: Using location-based anchor point selection, we will choose an anchor point for user traffic that is most likely close to the target server. However, the initially chosen anchor point may not always be the optimal choice. First, location prediction based on IP addresses is not always accurate due to factors such as dynamic IP assignment and proxy server usage. Secondly, considering the complexity of network conditions and paths, the nearest anchor point to the server is not necessarily the best choice. To address these factors, we design a path update mechanism to ensure that users always achieve optimal end-to-end latency.
The mechanism evaluates both intra-network and internetwork conditions to ensure users experience end-to-end low-latency access. For intra-network evaluation, latency is primarily dominated by inter-satellite and satellite-to-ground propagation delays. Therefore, we use ephemeris data to calculate the latency between S-UPFs and anchor points. On the other hand, for inter-network evaluation, latency is difficult to predict due to the heterogeneity of Internet infrastructure and its random distribution. Consequently, we utilize ICMP [18] to observe the latency from each anchor point to the target server. Based on the calculations and observations of both internal and external network conditions, the core network computes the anchor point corresponding to the shortest latency path and notifies the S-UPF.
通过基于位置的锚点选择,我们很可能会选择一个靠近目标服务器的锚点。然而,初始选择的锚点预测未必总是最优的。首先,由于动态IP分配和代理服务器的使用,基于IP地址的位置预测并不总是准确。其次,考虑到网络状况和路径的复杂性,距离服务器最近的锚点不一定是最佳选择。为解决这些因素带来的问题,我们设计了一种路径更新机制,以确保用户获得最优的端到端时延。
该机制 同时评估网内(intra-network)和网间(inter-network)的网络状况 ,以确保用户的端到端低时延接入体验
- 对于网内评估,延迟主要由卫星间和星地间的传播延迟决定
- 因此,我们利用星历数据来计算S-UPF与各锚点之间的延迟
- 另一方面,对于网间评估,由于互联网基础设施的异构性及其分布的随机性,延迟难以直接预测
- 因此,我们利用 ICMP [18] 来观察从每个锚点到目标服务器的延迟
基于对内部和外部网络状况的计算与观察,核心网计算出对应于最低延迟路径的锚点,并通知S-UPF
3) Working Stages: Fig. 5 illustrates the working stages of the anchor point selection strategy. For a given user, when a packet with a specific destination IP first appears and matches the initial PDR in the S-UPF, it will be forwarded to the anchor point determined by the location-based anchor point selection.
Simultaneously, the path update mechanism is triggered. First, the S-UPF sends the IP address as a signaling parameter to the core network, which instructs anchor points to send probe messages to detect their latency to the target IP. Based on the output of the computational module and the latency returned by the anchor points, the core network calculates the latency from the S-UPF to the target server via each anchor point. The core network then creates a PDR for the S-UPF, indicating the optimal anchor for the target IP with a higher matching priority than the initially built PDR. The path update mechanism remains active, and if the latency through an alternative anchor point is superior to the current one, the core network initiates a PDR modification instead of creation.
图5阐释了该选择机制的工作阶段。对于一个给定的用户,当一个带有特定目的IP的数据包首次出现并匹配上S-UPF中的初始PDR时,它将被转发至由基于位置的锚点选择所决定的锚点。
与此同时,路径更新机制被触发。首先,S-UPF将该IP地址作为一个信令参数发送至核心网,后者指示各锚点发送探测消息以检测它们到目标IP的延迟。基于计算模块的输出(网内延迟)和各锚点返回的延迟(网间延迟),核心网计算出从S-UPF经由每个锚点到达目标服务器的总延迟。然后,核心网为S-UPF创建一个新的PDR,该PDR指向对应最优锚点的路径,并具有比初始PDR更高的匹配优先级。路径更新机制保持激活状态,如果后续发现通过某个备用锚点的延迟优于当前路径,核心网将启动PDR修改流程,而非创建流程。
这个 3) 部分有点复杂,下面生动解释一下
第1步:触发 (Trigger)¶
- 事件: 您(User)的手机第一次要访问一个新的网站(比如
www.example.com
)。这个请求的数据包到达了天上的S-UPF - 初始动作 (图中的“Old path” - 黄色路径):
- S-UPF在它的“离线地图”(Initial PDR)里查找,发现
www.example.com
的IP地址大致在“美国区域”,于是根据预设规则,将这个第一个数据包先通过UPF1(比如位于美国的锚点)转发出去 - 关键点: 这一步保证了 您的访问立即开始,不会因为要计算最优路径而等待,服务没有中断
- S-UPF在它的“离线地图”(Initial PDR)里查找,发现
- 同步触发 (图中的“Trigger”箭头):
- S-UPF在转发第一个包的同时,向地面的核心网 (Core Network) 发送了一个信令: “注意,有新目标出现(
www.example.com
的IP),请启动‘实时导航’,帮我算一下到这个目标的最佳路径”
- S-UPF在转发第一个包的同时,向地面的核心网 (Core Network) 发送了一个信令: “注意,有新目标出现(
第2步:情报收集 (Detection & Report)¶
- 核心网下达指令: 地面的核心网(“导航服务器”)收到请求后,立即向所有相关的地面锚点(UPF1, ..., UPFn)下达指令:“你们各自去探测一下到目标服务器
www.example.com
的延迟是多少。” - 各锚点执行探测 (图中的“Detection” - 绿色虚线):
- 位于美国、欧洲、亚洲的各个UPF,都向
www.example.com
的服务器发送一个探测包(比如ping
),并测量返回的时间
- 位于美国、欧洲、亚洲的各个UPF,都向
- 汇报结果 (图中的“Report”箭头):
- 各个UPF将自己探测到的延迟数据汇报给核心网。比如:UPF1汇报“我到服务器要30ms”,UPFn汇报“我到服务器只要15ms”
第3步:路径计算与决策¶
- 核心网进行计算: 核心网现在手头有两份关键数据:
- 网内延迟: 从卫星S-UPF到各个地面UPF的延迟(这份数据基于卫星轨道位置,可以精确计算,图中的 TLE Data 就是轨道数据)
- 网间延迟: 刚刚从各个UPF探测并汇报上来的,从UPF到最终服务器的延迟
- 综合决策: 核心网将这两部分延迟相加,计算出经由每个UPF的 端到端总延迟
总延迟(经UPF1) = [S-UPF → UPF1]的延迟 + [UPF1 → 服务器]的延迟
- ...
总延迟(经UPFn) = [S-UPF → UPFn]的延迟 + [UPFn → 服务器]的延迟
- 核心网对比所有结果,发现经由 UPFn 的总延迟最低,于是做出决策:最佳路径应该走 UPFn
第4步:策略更新与执行 (PDR Update)¶
- 生成新指令 (New PDR): 核心网生成一条新的、更精确的PDR规则。这条规则的内容是:“凡是访问
www.example.com
这个特定IP的流量,全部都给我走UPFn” - 下发指令 (图中的“PDR update”箭头): 核心网将这条新的PDR下发给天上的S-UPF
- 更新“地图”: S-UPF收到后,将这条新规则加入自己的“地图册”。因为这条新规则的匹配优先级更高,所以当下一个访问
www.example.com
的数据包到达时,S-UPF会优先匹配到这条新规则 - 切换路径 (图中的“New path” - 绿色实线): 从"第二个"数据包开始,所有后续流量都会被智能地转发到最优的UPFn,沿着绿色的新路径传输,用户获得了更低的时延
第5步:持续优化¶
这个“实时导航”机制会一直保持激活状态。如果一段时间后,因为互联网拥塞,导致经由UPFn的路径变慢了,而经由UPF1的路径恢复通畅,那么整个流程会再次启动,核心网会修改那条PDR,将路径再切换回UPF1
TL; DR 核心优势
这套机制的精髓在于 “先走再说,边走边看,随时换道”
它用一个粗略的初始规则保证了服务的即时性,然后通过一个并行的、实时的探测和计算流程,动态地寻找并切换到当前时刻的全局最优路径,从而在不中断服务的前提下,实现了端到端的时延优化
C. Anchor Point Distribution¶
In addition to anchor point selection, the distribution of anchor points is also a crucial factor affecting overall network latency. With a poor distribution, even the optimal path selection might result in high latency (e.g., if all anchor points are concentrated in Asia while a user tries to access services in the Americas). In this section, we will discuss how to strategically deploy anchor points globally to minimize the overall average network latency.
1) Formal Description:
Let \(Sat = \{sat_1, sat_2, \dots, sat_m\}\) be a satellite set contains \(m\) satellites, and the ground station set contains \(n\) ground stations. Let \(AP = \{ap_1, ap_2, \dots, ap_h\} \in G\) denotes the deployment locations of \(h\) anchor points selected from the set of ground stations. \(U = \{u_1, u_2, \dots, u_p\}\) and \(S = \{s_1, s_2, \dots, s_q\}\) denote respectively all the \(p\) users of the satellite network and the \(q\) servers providing network services. \(p(u,s)\) refers to the probability that user \(u\) will use service \(s\), where \(u \in U\) and \(s \in S\). We consider a propagation path from user \(u\) to service \(s\) through an anchor point \(ap\). Using \(ap\) as a boundary, the network can be divided into internal and external parts, with latencies represented by \(L_{in}(u, ap, Sat)\) and \(L_{out}(ap, s)\), respectively.
When user \(u\) needs to access server \(s\), our proposed scheme can find an \(ap\) that the total latency is minimized. The \(h\)-anchor distribution problem aims to determine the optimal distribution of \(h\) anchor points that minimizes the average user-to-service latency across the network, which can be formulated as:
Let \(x_{i,j,k}\) be a binary decision variable indicating the selection of anchor point for user and server, where \(x_{i,j,k} = 1\) means that \(g_i\) is the chosen anchor point for \(u_j\) and \(s_k\). Let \(y_i\) represent the deployment of anchors at ground stations, where \(y_i=1\) indicates that \(g_i\) is selected for an anchor point's deployment. The definition of \(x\) and \(y\) can be expressed as:
To simplify the equations, let \(PL_{ap}\) represent the expected latency of \(u\) and \(s\) via \(ap=g\), defined as:
Considering Eq. (1) - (4) comprehensively, we can transform the \(h\)-anchor distribution problem into a constrained optimization problem as:
s.t.
The objective function (5) is derived from Eq. (1) based on the definition of \(x\). Constraint (6) states that a ground station can be chosen as an anchor point only if an anchor point is deployed at that station. Constraint (7) ensures that for each user-service pair, there is exactly one chosen anchor point. Constraint (8) limits the size of the anchor point set \(AP\).
Proof. The h-anchor distribution problem is NP-hard.
Let \(t_k = pk+j\), where \(k \in (1,q)\) and \(j \in (1,n)\). Use \(o_t \in O\) to denote the combination of \(u_k\) and \(s_j\). If we define the distance between \(g_i\) and \(o_t\) as \(d_{g_i, o_t} = PL_{i,j,k}\), this problem can be considered as a k-median problem but not in metric space. It can be reduced to the typical k-median problem. Since the k-median problem is NP-hard [19], the \(h\)-anchor problem is also NP-hard.
2) Greedy Algorithm for h-anchor Distribution Problem:
To solve the above problem in polynomial time, we propose a greedy algorithm to obtain an approximate solution. In general, we iteratively exclude the ground station that has the least impact on the objective function. We continue the process until \(h\) ground stations remain.
The pseudo code of the proposed algorithm is shown in Algorithm 1. Let \(Cost(G_c)\) be the value of the objective function (5) for \(AP=G_c\). We first initialize the selected ground node set \(G_c = G\) (line 1). Next, we traverse \(G_c\). For each point \(g\), we compare the \(Cost(G_c-\{g\})\) values and find the one with the minimum value, denoted as \(g_m\) (line 3). We consider this ground node to have the least contribution to the objective function, and thus exclude it from \(G_c\), resulting in \(G_c = G_c - \{g_m\}\) (line 4). We continue this process until we obtain the set \(G_c\) with \(h\) elements (line 2), and we get \(G_c\) as the selected \(h\) ground station for anchor point deployment (line 5).
除锚点选择外,锚点的分布也是影响整体网络时延的关键因素。在分布不佳的情况下,即便有最优的路径选择,也可能导致高时延(例如,当所有锚点都集中在亚洲,而用户试图访问美洲的服务时)
在本节中,我们将讨论如何在全球范围内战略性地部署锚点,以最小化整体的平均网络时延。
为了在多项式时间内解决上述问题,我们提出一种贪心算法以获得近似解。总体而言,我们 迭代地排除对目标函数影响最小的地面站,直到剩下 h 个地面站为止
核心思想: 如果我必须关掉一个分拨中心,我应该先关掉哪个,才能让我的总运输效率下降得最少?
该算法的伪代码展示在算法1中。令 Cost(Gc) 为当 AP=Gc 时目标函数(5)的值。我们首先初始化被选中的地面站节点集 Gc=G(第1行)。接着,我们遍历 Gc。对于每个节点 g,我们计算并比较 Cost(Gc−{g}) 的值,并找到那个使得该值最小的节点,记为 gm(第3行)。我们认为这个地面节点对目标函数的贡献最小,因此将其从 Gc 中排除,得到 Gc=Gc−{gm}(第4行)。我们持续这个过程,直到 Gc 中包含 h 个元素为止(第2行),此时得到的 Gc 即为选定的、用于部署锚点的 h 个地面站(第5行)