CN118175091A - 基于定位符查找的低延迟多接入ip移动性 - Google Patents
基于定位符查找的低延迟多接入ip移动性 Download PDFInfo
- Publication number
- CN118175091A CN118175091A CN202311664566.XA CN202311664566A CN118175091A CN 118175091 A CN118175091 A CN 118175091A CN 202311664566 A CN202311664566 A CN 202311664566A CN 118175091 A CN118175091 A CN 118175091A
- Authority
- CN
- China
- Prior art keywords
- node
- endpoint
- access network
- csr
- address
- 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.)
- Pending
Links
- 238000013507 mapping Methods 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 10
- 238000013508 migration Methods 0.000 description 19
- 230000005012 migration Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 5
- 230000003321 amplification Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 239000000853 adhesive Substances 0.000 description 2
- 230000001070 adhesive effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification 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/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- 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/50—Address allocation
- H04L61/5084—Providing for device mobility
-
- 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/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了基于定位符查找的低延迟多接入IP移动性。树结构的叶节点,也具有根节点和中间节点,经由接入网与端点通信,并且在接入网上存储从端点的永久虚拟IP(VIP)地址到端点的物理IP(PIP)地址的映射。根节点和中间节点存储用于端点的叶节点和相关联的接入网的指针。当从相应节点接收到针对目标端点的连接建立请求(CSR),接收的叶节点通过树结构,将CSR向上传递至针对接收的叶节点和与目标端点相关联的一个或多个目标叶节点的最近公共祖先(LCA)节点。LCA节点使用其指针将CSR向下传递至一个或多个目标叶节点,一个或多个目标叶节点使用相应的VIP到PIP映射以向目标端点转发CSR。
Description
技术领域
本公开涉及无线通信系统。
背景技术
本节介绍了可能帮助促进更好地理解本公开的方面。因此,本节的陈述应从这个角度解读,而不应理解为承认什么是现有技术或什么不是现有技术。
随着低延迟、对隐私敏感的应用的激增,关键数据处理功能正从网络中心转移到网络边缘,更靠近收集数据并交付给终端用户的位置。各种公共云提供商、电信公司、联网供应商、工业公司、企业和边缘初创公司正在积极应对用于边缘计算和联网的这一新兴的需求。随着大量运营商管理的、公共云托管的、内部部署的、基于电信切片的边缘网络的可用性,针对边缘应用可能会有更多的网络连接选择。这是通过蜂窝、Wi-Fi和卫星技术在接入网中可用的各种无线连接性选项的附加,接入网通过在边缘设备上增加对多个无线电的支持而得到促进。edge正在真正成为网络中的网络。
当前的IP和蜂窝移动性机制依赖于静态的、集中的移动锚,这导致三角路由的低效率。这对于低延迟边缘应用来说可能是个问题。对于利用边缘网络和接入技术的多样性所需的网络间和接入间移动性而言,使用静态移动性锚也可能是个问题。另一问题是,IP地址可能会基于端点对不同网络和接入技术的使用而动态改变。因此,不能依赖IP地址用于路由、连接建立和授权目的。
发明内容
为了处理这些问题,本公开提出具有以下独特理念和特征中的一个或多个的新协议和系统:
·针对每个端点使用唯一的标识符(例如,固定IP地址,也称为虚拟IP地址),该标识符可用于发现、连接建立、授权和路由;
·新的基于树嵌入的可扩展端点标识符(例如,虚拟IP地址)到定位符(物理IP地址)的转换算法,用于低延迟连接建立(类似DNS但具有基于SRv6的快速网络转发)--具有互联网AS(自治系统)图的新的分层、低延迟嵌入;
·在直接路径上用于低延迟连接建立的SRv6新的使用,避免使用通过静态的、集中的锚的低效率三角路由;
·基于终端主机的移动性机制,用于分发网络连接性信息和用于向
具有活跃会话(使用SRv6和eBPF)的端点发送网络连接性更新;·灵活的、每个连接的接入网选择决策,可以是遥测和网络/端点策略驱动的(基于延迟、负载平衡、基于成本等);
·接入网的无缝、无中断切换(使用eBPF和SRv6);以及·使用移动端点的唯一且可验证的标识符(例如,作为公共密钥/
证书)对移动端点进行无缝网络认证/授权(以及通过完整性检查验证app分组的来源)。
在一个实施例中,本公开是一种具有树结构的系统,树结构包括与经由多个中间节点的多个叶节点连接的根节点。每个叶节点和每个中间节点在树结构中具有相应的父节点,并且根节点和每个中间节点在树结构中具有至少一个相应的子节点。第一叶节点被配置为经由第一接入网与目标端点通信,其中第一叶节点被配置为在第一接入网上存储从目标端点的永久的虚拟IP(VIP)地址到目标端点的第一物理IP(PIP)地址的第一映射。第二叶节点被配置为经由不同于第一接入网的第二接入网与目标端点通信,其中第二叶节点被配置为在第二接入网上存储从目标端点的VIP地址到目标端点的第二PIP地址的第二映射,第二PIP地址不同于第一PIP地址。根节点被配置为存储:(i)指向第一中间节点的第一根节点指针,第一中间节点用于目标端点和第一接入网,以及(ii)指向第一中间节点或者不同的中间节点的第二根节点指针,不同的中间节点针对目标端点和第二接入网。第一中间节点被配置为至少存储指向第一子节点的第一中间节点指针,第一子节点用于目标端点和第一接入网,其中第一中间节点被配置为至少使用第一中间节点指针,向目标端点转发从相应节点接收的针对目标端点的连接建立请求(CSR)。
在一个实施例中,本公开是一种目标端点,该目标端点包括:(i)第一接口,其被配置为经由第一接入网,与具有树结构的系统的第一叶节点通信,以及(ii)第二接口,其被配置为经由不同于第一接入网的第二接入网,与系统的第二叶节点(不同于第一叶节点)通信。目标端点被配置为在第一接口处接收由相应节点向系统发送的、并且然后由第一叶节点向目标端点发送的连接建立请求(CSR)的第一副本,以及目标端点被配置为在第二接口处接收由第二叶节点向端点发送的CSR的第二副本。
附图说明
通过以下详细描述、所附权利要求和附图,本公开的实施例将变得更加明显,其中类似的附图标记标识相似或相同的元素。
图1是根据本公开实施例的通信(comm)网络的简化框图;
图2是示出图1的LLP系统的端点、经由特定LTE网络与该端点通信的相关联的叶节点以及相关联的中间节点的图;
图3是表示针对图1的LLP系统的端点和相应节点的用于服务发现和注册的基于DNS的方法的信号流程图;
图4是表示针对图1的LLP系统的端点和相应节点的用于服务发现和注册的基于BGP任播的方法的信号流程图;
图5是示出通过图1的LLP系统的连接建立过程的图;
图6是表示端点迁移的示例的图;以及
图7是表示根据本公开的某些实施例的UDP分组的格式的图。
具体实施方式
本文公开了本公开的详细说明性实施例。然而,本文公开的具体结构和功能细节仅出于描述本公开的示例实施例的目的而具有代表性。本公开可以以多种替代形式实施,并且不应被解释为仅限于本文阐述的实施例。此外,本文使用的术语仅出于描述特定实施例的目的,并不旨在限制本公开的示例实施例。
如本文所用,单数形式“一个(a)”、“一个(an)”和“该(the)”也旨在包括复数形式,除非上下文另有明确指示。将进一步理解,术语“包括(comprises)”、“包括(comprising)”、“包含(contains)”、“包含(containing)”、“包含(includes)”和/或“包含(including)”指定了所陈述的特征、步骤或组件的存在,但不排除一个或多个其他特征、步骤或组件的存在或添加。还应注意,在一些替代实现中,所示的功能/行为可能以不同于图中所示顺序的方式发生。例如,根据所涉及的功能/行为,连续显示的两个图实际上可以基本同时执行,或者有时以相反的顺序执行。
基础架构
图1是根据本公开实施例的通信(comm)网络100的简化框图。特别地,通信网络100包括分层的、基于树的定位符查找提供商(LLP,locator lookup provider)系统110,LLP系统110包括最高级别的LLP服务器112(称为“根节点”)、以及通过一层或多层中级LLP服务器114(称为“中间节点”)(在本例中,为一层、两个中间节点114)连接到根LLP服务器112的多个(在本例中,为五个)最低级别的LLP服务器116(称为“叶节点”)。叶节点116可以是独立的物理服务器,或者可以是能被嵌入在路由器、蜂窝基站或机顶盒内的虚拟服务器。
如图1所示,通信网络100还包括多个(在本例中,为两个)端点130,其中端点130(1)是移动电话,端点130(2)是笔记本电脑。如图1所示,移动电话130(1)能够:(i)经由无线蜂窝接入网120(1),与叶节点116(1)(蜂窝基站)通信,以及(ii)经由无线WiFi接入网120(2),与叶节点116(2)(Wi-Fi路由器)通信。类似地,笔记本电脑130(2)能够:(i)经由有线接入网120(3),与叶节点116(3)(机顶盒)通信,以及(ii)经由无线WiFi接入网120(4),与叶节点116(4)(另一Wi-Fi路由器)通信。注意,在图1中,叶节点116(5)是独立的服务器,其不嵌入另一网络节点,诸如基站、接入点、路由器或机顶盒。
本领域技术人员将理解,一般地,LLP系统110可以具有:(i)一个或多个中间层,每一层具有一个或多个中间节点114,以及(ii)在LLP系统110边缘站点的任何数目的(物理的或虚拟的)叶节点116,该叶节点116被嵌入在接入网120的接入点、路由器和基站内,能够使用不同的、合适的有线、无线和/或光通信模式,与端点130通信的。
以下实施例在端点130中支持分段路由(SRv6)的IPv6网络的上下文中实现。SRv6支持可以通过eBPF(扩展伯克利分组过滤器)添加到端点130,这不需要任何内核改变。在这个基于eBPF的实现中,端点130能够在(应用分组的)分组报头中插入SRv6段。该实施例还利用SRv6用于通过图1的LLP系统110,向端点130转发分组。SRv6支持也可以使用其他机制实现,诸如一些OS内核或虚拟软件交换机。
标识符到定位符的映射
在具有移动端点130的高度动态、多运营商、多网络、多接入边缘中,端点130的网络连接性以及因此其物理IP(PIP)地址可能不断改变。因此,不能依赖PIP地址用于路由、连接建立和授权目的。相反,根据本公开,端点130被分配独立于其动态且短暂的网络地址或定位符(即,独立于其PIP地址)的身份。在某些实施例中,每个端点130被分配以唯一的、固定的、虚拟IP(VIP)地址(即标识符)形式的不可变身份,VIP地址而非其高度动态的PIP地址(即定位符)被用于连接建立和路由。
本公开的某些实施例支持灵活的标识符到定位符(即VIP到PIP)查找机制,用于基于端点的永久VIP地址,查找端点的当前PIP地址。使用该查找机制是因为到端点130的连接向其VIP地址被发起,但是连接建立请求被传递到端点130的PIP地址上。
通过定位符查找提供商系统(诸如图1的LLP系统110),支持标识符到定位符查找机制。LLP服务器(诸如图1的节点112、114和116中的任何一个节点)维持向该LLP服务器注册的所有端点130的当前VIP到PIP映射。每个端点130向其一个或多个所注册的LLP服务器报告其PIP地址的任何改变。如下面进一步描述的,图3和图4描绘了向LLP服务器注册其VIP到PIP映射的端点130。
LLP系统110的端点130可以是向LLP系统110注册的任何设备,该设备使用一个或多个接入网120(诸如Wi-Fi、LTE等)端点130连接到互联网。端点130可以是移动的,并且针对其迁移的接入网120的PIP地址可能由于物理IP地址的动态分配而改变。然而,每个端点130也具有唯一的VIP地址,该地址从不改变。因此,端点130仅通过其VIP地址被接入。由于端点130可能具有多个接入网120,因此这样的端点130通过给每个接入网120分配不同的网络ID(nID),来区分每个接入网120。如本文所使用的,术语“相应节点”指向由LLP系统110服务的端点130的发起连接的任何节点。相应节点本身可以是(但不一定是)LLP系统110的端点130。
相应节点经由LLP系统110,向端点130发送连接建立请求(CSR)。在一些实施例中,LLP系统110是高度分布式的系统,该系统在主要存在点(PoP)站点具有本地存在。这确保了向LLP系统110发送的消息产生非常低的延迟。可使用各种方法(例如基于域名系统(DNS)查找、边界网关协议(BGP)任播等),向附近的LLP PoP这样低延迟地转发CSP。
下面的讨论进一步展示了如何使用算法(基于树的分层嵌入)和联网技术(SRv6、eBPF)的组合,实现高效的LLP查找和连接建立转发。以下是有效实现LLP系统110的特征:
·连接建立延迟(包括定位符的查找延迟)和用于连接建立的路径延迟较低。具体地,低延迟连接建立路径用于彼此相对接近的端点130(例如,在相同或附近的边缘位置内)。注意,这支持边缘位置内的低延迟服务,而这是集中的、静态的移动锚无法实现的;
·高准确性:端点PIP地址的任何改变都会快速反映在用于后续连接建立的定位符查找中。避免可能过期的缓存,以使得所提供的信息始终准确;以及
•互联网规模的操作:LLP系统110能够利用定位查找和连接建立请求处理、以及跨不同LLP服务器的转发负载平衡,来进行水平扩展。
除了为端点130提供映射服务之外,LLP系统110还可以是代表其用户用于授权、认证、协商和结算网络使用费的中介。为此,端点VIP可以充当用于认证的唯一且可验证的公共密钥。另外,可以利用完整性检查来发送分组,该检查可以使用该公共密钥进行验证。
LLP系统110的服务器可以由网络托管公司和内容交付网络(CDN)托管,因为它们已经从事针对其用户注册域名的工作。典型地,可以有许多独立的LLP服务器。
LLP系统
LLP系统110的基础设施支持针对端点130的定位符注册、定位符查找、定位符迁移跟踪、新定位符添加和定位符删除。端点130向LLP系统110注册其PIP地址,并利用当前接入网120的nID更新其PIP改变。LLP系统110解析针对端点130的PIP地址,以建立连接。LLP系统110还向端点130的PIP地址转发连接建立请求。
LLP系统架构概述
LLP系统110的基础设施是遵循分层架构的LLP服务器(即,根节点112、中间节点114和叶节点116)的集合。更具体地,LLP系统110的服务器被组织成负责端点130集合的单个树结构。注意,尽管图1中未表示,但LLP系统可以具有树结构的集合,其中给定端点130可以与一个以上的树结构(即,LLP系统110的一个以上的实例)相关联。
用于定位符注册的LLP:对于对端点130给定的接入,在从(i)接近端点130的叶节点116到(ii)根节点112的LLP系统110内的路径上,在一个或多个LLP服务器中维持最新的定位符信息(例如,针对端点130的当前接入网120的VIP到PIP的映射)。端点130(或某个网络实体,诸如与该端点130相关联的接入点)负责经由接入注册消息,向LLP系统110及时注册该定位符信息。通过使用任播或DNS(参见图3和图4),LLP系统110确保端点的接入注册消息到达当前接入网120上的邻近叶节点116(具有低延迟)。随着端点130移动/改变接入,LLP系统110中的树路径(在其中针对端点130存储信息)或信息本身可能会改变,这可能是因为当前接入网120上最接近端点130的叶节点116的改变,或者因为VIP到PIP映射的改变,或者因为到该接入网120的端点的连接被丢失或被恢复。下面进一步描述了在LLP系统110中如何处理注册更新。
用于连接建立的LLP:LLP系统110向LLP系统的注册端点130转发从相应节点接收的连接建立请求(CSR)。使用DNS或任播(参见图3和图4),来自相应节点的CSR到达LLP系统110的叶节点116,该叶节点116在某种网络度量(例如延迟)方面接近相应节点。CSR中的VIP地址充当键以用于查找端点的当前(多个)PIP地址,该(多个)PIP地址用于端点130当前连接的一个或多个不同的接入网120。该查找过程涉及通过LLP系统110转发CSR,从接收CSR的叶节点116开始,首先向上到达根节点112,然后向下到达一个或多个相关联的叶节点116,该相关联的叶节点116维持端点的最新链路信息(VIP到PIP的(多个)映射)。注意,如下面进一步描述的,取决于树结构中的端点位置,CSR可能到达或可能不到达根节点112。在向相应的接入链路上的端点130依次转发CSR之前,一个或多个相关联的叶节点116将目标设置为端点的PIP接入地址。通常地,在端点130的所有当前接口上,向端点130转发CSR,以减轻由于移动性导致的链路断开的影响(在图3和图4中被描述为重复CSR)。为进一步确保可靠性,由某些LLP服务器短时间缓存CSR,以使得可以在需要时重新发送CSR。详细的CSR信令在下文进一步描述。
令u是叶节点116,其中来自相应节点的CSR进入LLP系统110,且令v是针对给定接入网120,在LLP系统110中维持端点的链路信息(即VIP到PIP的映射)的叶节点116。令w是LLP系统110中叶节点u和v的最近公共祖先(LCA)服务器。LCA服务器或者是由叶节点u和v两者共享的最低级别中间节点114,或者在叶节点u和v没有共享的中间节点114的情况下是根节点112。例如,在图1的LLP系统110中,中间节点114(1)是用于叶节点116(1)至116(3)的LCA服务器,中间节点114(2)是用于叶节点116(4)和116(5)的LCA服务器,而根节点112是用于例如叶节点116(2)和116(5)的LCA服务器。如下所示,使用LLP系统110处理CSR、并向接入网120上的端点130转发CSR所产生的延迟,与从叶节点u向上至LCA服务器w、并向下至叶节点v的唯一LLP树路径{u,w,v}的延迟直接相关。
注意,通过转发方法(例如,DNS或任播),叶节点u接近相应节点,v接近在其接入网120上的端点130。因此,叶节点u和v之间的最低延迟路径的延迟l_{u,v},可以很好地近似于端点130和针对端点的接入网120的相应节点之间的最低可能延迟。在LLP系统110的理想实现中,针对叶节点u和v的路径{u,w,v}的延迟接延迟l_{u,v}。这确保了LLP系统110中的CSR延迟接近延迟l_{u,v},并因此接近端点130和相应节点之间可能的最低延迟。
基于树度量的LLP系统基础设施的设计
以下部分描述了用于设计LLP系统110的基础设施的技术。针对LLP服务器用于选 择PoP站点的算法
本节描述了用于选择PoP站点的子集V的算法,在该子集V中,可以放置LLP系统110中的LLP服务器112/114/116中所有LLP服务器。应当选择这些PoP站点,使得每个可能的端点130具有到子集V中至少一个PoP站点的低延迟路径。
算法从用作自治系统的对等点的PoP站点的自治系统(AS)图开始,其中AS图节点为PoP,AS图链路(u,v)的延迟设置为PoP u到PoP v之间通过AS网络的BGP延迟(例如,基于BGP的最小延迟路径)。AS图可以是LLP服务器要被部署的互联网或互联网的部分的良好模型。假设每个PoP站点是针对LLP服务器的候选站点,并且还假设任何端点130总是在某个自治系统内,因此接近其对等PoP站点中的至少一个对等PoP站点,则可以按照以下发现LLP服务器的PoP站点的子集V:
令m为允许用于形成LLP系统110的PoP站点的最大数目。m的值可能由LLP系统提供商确定,可能基于其资本支出和运营支出预算。例如,为了降低运营成本,提供商可能不想在太多的POP站点部署LLP服务器。具有较少POP站点的不利之处在于,某些端点附近可能没有任何POP站点,因此,这些端点的连接建立延迟可能较高。
我们的目标是挑选PoP站点的子集V,使得|V|<=m,并且最小化对于未覆盖的PoP站点的最大延迟D,其中未覆盖的PoP站点在LLP系统110之外。(注意,另一可能的目标是最小化平均延迟,尽管这可能导致一些未覆盖的POP站点对LLP系统110具有非常高的延迟,并且因此,针对该未覆盖的POP站点附近的端点的连接建立可能导致非常高的延迟)。换句话说,对于不在V中的任何PoP站点u,V中应该存在PoP站点v,使得链路(u,V)的延迟小于D,并且D是最小可能的。尽管这个问题是NP难(NP-hard)的,但它可以在D的2-近似内解决。也就是说,针对集合V实现的延迟不超过2D*,其中D*是m个PoP站点可能的最低延迟。为此,可以使用以下算法:
·从所有PoP站点集合中选择任意一个PoP站点v。将v添加到子集V。
•当|V|<m时,执行以下操作:
•选择另一个不在V中、且距离V中所有PoP站点最远的PoP站点v,即到V中任何PoP站点的延迟最高。将v添加到V。
注意,如果子集V中针对所选择的m个PoP站点的最差延迟D过高或过低,上面提出的算法也可用于选择更多或更少数目的m个PoP站点。此外,当AS的PoP站点存在相关联的成本时,可以修改算法以针对给定成本预算选择PoP站点。参见,例如Hochbaum,D.S.,&Shmoys,D.B.(1986)“A unified approach to approximation algorithms forbottleneck problems”,美国计算机学会杂志(JACM),33(3),533-550,其中的教义通过引用其全部内容纳入本文。
构建LLP树的算法
LLP服务器在通过上述算法选择的PoP站点处被托管。PoP站点处托管的LLP服务器的数目可能取决于该PoP站点处,来自附近端点130的、用于定位符注册、定位符查找和CSR转发操作的预期负载量。在下文中,首先针对PoP站点构建一个或多个LLP树,然后在来自一个或多个不同的LLP树的PoP站点上的负载的基础上,向PoP站点分配LLP服务器。
•令H是散列函数H:VIP->{1..r}。也就是说,H将所有VIP的集合映射为r个不同值中的一个值。只有具有相同散列值的VIP才能被分配到相同的LLP树。这有助于均衡整个LLP树(以及因此整个LLP服务器)的负载——r的值越大,每个LLP树/服务器的负载越小。
·令s为用于给定端点130的LLP树的最大数目。通过按每个端点130使用多个LLP树,可以减少针对端点130的CSR操作的延迟。这是因为针对端点130的CSR操作可以由用于该端点的所有LLP树并行处理。这确保了CSR由产生延迟最短的LLP树递送。因此,s越高,用于处理CSR操作的延迟能够越短。
·总体而言,LLP服务器分布在k=r*s个不同的LLP树中。因此,所需的总服务容量与每个LLP树的节点数目的k倍成正比。
单个LLP树(即,LLP系统110的单个实例)可以按照以下构建。从具有集合V的节点(即PoP站点)和集合E的边缘(即在PoP站点之间的可用链路)的PoP站点的覆盖延迟图G=(V,E)开始。G中的链路(u,v)表示从节点u到节点v的最小延迟路径。特别地,G中链路(u,v)的延迟l_{u,v}是从节点u到节点v的最小延迟路径的延迟。G的LLP树按照以下构建:
我们首先定义了图G的树嵌入:将G嵌入树T是G的节点的集合V到树T的叶节点的集合(V’)的内射映射,也就是说,它是f:V->V’的函数,使得:
其中u≠v
此处,G的节点v由f映射到T的节点f(v)。
•Fakcharoenphol,J.,Rao,S.,&Talwar,K.(2004)“A tight bound onapproximating arbitrary metrics by tree metrics”,计算机与系统科学杂志,69(3),485-497(“JCSS论文”),其中的教义通过引用其全部内容纳入本文,该论文的随机化树度量构建算法用于针对G创建树嵌入。由于该算法是随机化的,该算法的每次运行可能为G提供不同的树嵌入。该算法可运行k次,以获得针对G的k个不同的树嵌入TE_1、TE_2、…、TE_k。
•考虑树嵌入TE_i,其叶节点116的集合=V中的PoP站点,而内部节点(即根节点112和中间节点114)表示集合V的子集。
•来自TE_i,通过用U的单个节点u代替TE_i的内部节点U,来构建LLP树T_i,其中:(i)U是集合V中一个或多个POP站点v的子集,并且(ii)u可以被认为是集合U中节点的形心,其中u可以是对U中所有节点具有最小平均延迟的节点。基于两个标准选择节点u:
·中心性:节点u是U的中心节点,对U中的节点具有较小的平均延迟。
·负载平衡:节点u被选作LLP树T_i内的内部节点的次数呈负载平衡分布。特别地,期望更多负载的PoP站点可以拥有更多的LLP服务器,并且因此可以被更频繁地选作内部节点。
接下来,计算资源按如下方式分配给TE_i的节点:
·注意,T_i的节点是来自集合V中的PoP站点。此外,注意,V的PoP站点u可能出现在树T_i的多个节点上。换句话说,相同PoP站点u可能在树结构中出现多次,但在每个T_i的叶中仅出现一次。
·对于u出现的T_i的每个节点,给每个PoP站点u分配单元计算资源。换句话说,如果PoP站点u出现在T_i的x个节点上,则针对树T_i分配x个单元的计算资源。
上述过程重复k次,每次针对树-嵌入算法的种子进行不同的随机选择,以构建k个不同的LLP树T_1、T_2、…、T_k,并在PoP站点处针对其分配必要的计算能力。
从JCSS论文中得知,通过随机化算法发现的树度量TE_i的预期的延迟放大在因子O(log|V|)以内。也就是说,对于通过该算法发现的随机树嵌入,针对V中任何两个PoP站点u和V的预期延迟不超过O(log|V|l_{u,v}),其中l_{u,v}是在PoP站点u和V之间的延迟。如果计算所有可能的LLP树的平均值,则针对由上述算法构建的随机化LLP树的预期延迟保持相同的延迟放大边界。这表明,如果使用k个LLP树的较小集合,则上述算法的预期延迟放大可能会更高。然而,在实践中,k个LLP树的较小集合足以保持延迟放大较小,因为如前面描述的,针对端点130的CSR由针对端点130的所有s个LLP树并行处理。通过该处理,用于CSR产生的延迟是任何s个树中产生的最小延迟,因此可能低于通过随机LLP树的预期延迟。
注意,这确保了从叶节点u向上到LCA节点w、以及向下到叶节点v的LLP树路径{u,w,v}的延迟接近延迟l_{u,v}。
通过上述算法发现的LLP树,按照以下被分配给不同的端点130(利用前面定义的散列函数H):
·树T_1、T_2、…、T_s存储VIP散列值为1的所有端点130(即针对H(VIP)=1的端点)的注册信息
•树T_{s+1}、...、T_{2s}存储VIP散列值为2的所有端点130(即针对H(VIP)=2的端点)的注册信息
·等等……
·树T_{rs-s+1},…,T_{rs}存储VIP散列值为r的所有端点130(即针对H(VIP)=r的端点)的注册信息
在树T_{is-s+1}、…、T_{is}上同时执行针对端点130(针对H(VIP)=i)的定位符查找和CSR。注意,对于端点130的给定接入网120,关于端点130的定位符信息(即VIP到PIP的映射)在针对端点130的所有LLP树的相同叶节点116处被维持。这是在该接入网120上离端点130最近的叶节点116。这确保向给定接入网120上靠近端点130的相同叶节点116转发CSR的不同副本(针对每个端点的LLP树的一个副本)。该叶节点116仅转发其针对端点130接收的CSR的第一副本,并且如果有其余副本,则丢弃其余副本。这可以通过在叶节点116处保留关于已经向端点130转发的CSR的状态信息来实现。该机制确保:a)以所有端点的LLP树中可能的最小延迟,向端点130转发CSR,以及b)端点130不接收CSR的多个副本。
设计细节
每个LLP树(即,LLP系统110的每个实例)包括一个根节点112、一组中间节点114、以及叶节点116的集合。LLP树的叶节点116是针对端点130的接触点,并维持端点的“最后一英里”接入信息(即VIP到PIP的映射)。具体地,对于给定接入网120,仅由到端点130的第一跳LLP树的叶节点116维持该信息。从中间节点的叶节点116到LLP树的根节点112的路径上的中间节点114存储指针条目,该指针条目指示其哪个子节点应当用于查询端点的VIP地址。取决于中间节点114在树结构中的位置,子节点要么是下一较低层中的另一中间节点114,要么是叶节点116本身。
以下描述了LLP树如何在单个端点130的上下文中运行。
·LLP服务器遵循分层架构(LLP树),该分层架构具有一个根节点112、一系列中间节点114和多个叶节点116。
·对于具有特定VIP地址的给定端点130,根节点112和一个或多个相关联的中间节点114的每一个均存储指针条目,该指针条目指示其一个或多个子节点应当用于查询该VIP地址。
·每个相关联的叶节点116存储适当的VIP到PIP的映射,并负责在映射的生命周期期间跟踪端点的接入网120。
数据结构
LLP系统维持多个数据结构以支持其功能。这些数据结构定义如下:
·VIP映射表:VIP映射表旨在将查询导向下一级LLP服务器或目标端点130。所有的LLP服务器都维持这种表。然而,中间节点114和根节点112仅维持其子节点中的哪个子节点包含给定端点130的特定接入网120的条目。另一方面,叶节点116维持从VIP的特定接入网120到端点PIP的条目。VIP映射表以VIP/nID作为其条目键(key),但是条目值(value)可以不同,这取决于LLP服务器是叶节点116还是根节点112/中间节点114。VIP映射表中的条目称为“接口记录”。
·接入计数表:当接入端点130时,其所有注册的接入网120被接入。可接入的接入网120的计数被记录在接入计数表中。具体地,条目以VIP作为键、并且以接入网120的数目作为值。针对特定VIP维持VIP映射的LLP服务器也应具有针对该VIP的接入计数条目。
·连接建立请求(CRS)池:当连接建立与端点迁移同时发生时,CSR可能在递送期间被丢弃,因为LLP系统110可能将CSR转发到端点130不再存在的位置。这可能是因为在处理CSR时,LLP树接口记录可能已经不再更新端点在LLP系统110中的新位置。为了防止这种损失,针对端点130的CSR在LLP系统110的LLP服务器上被保留一定时间。在链路更新后,CSR的LLP服务器向端点130所连接到的相应接入网120的新位置,转发池中的任何CSR。
图2是示出图1的LLP系统110的端点130、经由特定LTE网络与该端点130通信的相关联的叶节点116、以及相关联的中间节点114的图。如图2所示,中间节点114具有指向作为中间节点的子节点的叶节点116的条目,该子节点接下来处理对端点130的请求。叶节点116具有包括端点当前PIP的条目(即,仅出于说明目的的IPv4地址)。注意,每个LLP服务器(即,中间节点114和叶节点116)都有计数条目,其指示端点130的可用接口的总数(本例中为一个)。
服务发现和注册
服务发现和注册是端点130被LLP系统110接受和服务的起点。以下描述了一种基于DNS的可能方法和另一种基于任播的可能方法。
基于DNS的方法
图3是表示用于针对LLP系统110的端点(即,UE)130和相应节点302的服务发现和注册的基于DNS的方法的信号流程图。在服务发现和注册的这种实现中,DNS系统可以支持策略,诸如选择更近的叶节点116、叶节点116之间的负载平衡等。
如图3所示,当端点130上线时(步骤310),端点130向DNS服务器306查询(步骤312)关于LLP系统110的信息,其中该查询包括端点的VIP地址,并且DNS服务器306向端点130提供(步骤314)该信息。该信息包括反向DNS(RDNS)记录,该记录具有LLP系统110的IP地址。在步骤316中,对于每个接入网120,端点130向LLP系统110中的相应叶节点116注册其VIP到PIP的映射。
当相应节点302准备好与端点130通信时(步骤318),相应节点302向DNS服务器304(其可以与DNS服务器306相同或不同)发送(步骤320)针对端点130的LLP查找查询,其中该查询包括端点的VIP地址。作为响应,在步骤322中,DNS服务器304向相应节点302发送具有在端点130附近的叶节点116的IP地址的RDNS记录。
在步骤324中,相应节点302向LLP系统110发送标识端点130的VIP地址的CSR。在一些实施例中,在步骤326,LLP系统110以当前与端点130相关联的一个或多个PIP地址的列表进行响应。这允许相应节点302在短时间间隔内针对到端点130的任何后续CSR而绕过LLP系统110。
在步骤328中,对于每个接入网120,LLP系统110向端点130发送CSR的副本。响应于第一次所接收的CSR,端点130向相应节点302发送(步骤330)回复。注意,该回复可能经由、或可能不经由LLP系统110发送。在这点上,相应节点302和端点130能够经由、或不经由LLP系统110而再次来回发送(步骤332)消息。
基于BGP任播的方法
图4是表示用于针对LLP系统110的端点(即,UE)130和相应节点402的服务发现和注册的基于BGP任播的方法的信号流程图。在该方法中,每个叶节点116公布属于LLP服务提供商的一个或多个VIP前缀。该路由公告可通过IGP(内部网关协议)和/或BGP到达网络中的其他路由器。因此,每个路由器都会向离该路由器最近的LLP服务器转发目标为这样的VIP的分组。当图4的相应节点402和UE端点130需要到达LLP-C叶节点116(C)或LLP-S叶节点116(E)时,该相应节点402和UE端点130都将VIP设置为目标。注意,尽管端点130由VIP识别,但目标为VIP的分组由LLP系统110处理;仅目标为其PIP的分组被递送至端点130。
如图4所示,当端点130上线时(步骤410),对于每个可用的接入网120,端点130通过发送目标地址设置为VIP的分组,向与端点130相关联的相应叶节点116(E)注册(步骤412)其VIP至PIP的映射。具体地,对于要被端点130使用以加入LLP系统110的每个接入网120,端点130通过该接入网120,向VIP发送加入(定位符/接入注册)消息。该分组的源地址是接入网120上的端点130的PIP。目标地址是端点130的VIP。由于网络中的路由器知道叶节点116(E)能够以最小跳数到达VIP,所以该接入网120上最近的叶节点116(E)将接收该加入消息。每个加入消息还包含端点130与LLP系统110将使用的接入网120的数目。
当相应节点402准备好与端点130通信时(步骤414),相应节点402向将VIP直接发送CSR分组(步骤416)。然后向LLP系统110中的邻近叶节点116(C)(其可能不同于与端点130相关联的一个或多个叶节点116(E),也可能相同)路由该消息。类似于基于DNS的方法,在一些实施例中,在步骤418,LLP系统110以当前与端点130相关联的一个或多个PIP地址的列表进行响应,该列表允许相应节点402在短时间间隔内针对到端点130的任何后续CSR而绕过LLP系统110。
假设叶节点116(C)不同于一个或多个相关联的叶节点116(E),在步骤420,附近的叶节点116(C)通过LLP系统110,向每个相关联的叶节点116(E)转发CSR。在步骤422中,对于每个接入网120,一个或多个相关联的叶节点116(E)使用相应的PIP作为目标,向端点130发送CSR的副本。响应于第一次所接收的CSR,端点130向相应节点402发送(步骤424)回复。注意,可能经由、或可能不经由LLP系统110发送该回复。在这点上,相应节点402和端点130能够经由、或不经由LLP系统110而再次来回发送(步骤426)消息。
当端点130向另一区域移动时,其他叶节点116应服务于其连接。为此,端点130可以使用其VIP作为目标来发送更新消息,以针对受移动影响的每个接入网120而更新LLP系统110。通过任播路由,这些消息被路由到适当的叶节点116。
细节
图5是示出针对端点130(1)和130(2)的通过图1的LLP系统110的连接建立过程的图。图5示出了根节点112、中间节点114(1)-114(3)和叶节点116(1.1)-116(3.1),其中:
·中间节点114(1)-114(3)是根节点112的子节点;
·叶节点116(1.1)和116(1.2)是中间节点114(1)的子节点;
·叶节点116(2.1)和116(2.2)是中间节点114(2)的子节点;
·叶节点116(3.1)是中间节点114(3)的子节点;
•叶节点116(1.1)能够经由LTE接入网120(1.1),与端点130(1)通信;
·叶节点116(2.1)能够经由WiFi接入网120(2.1),与端点130(1)和端点130(2)通信;以及
·叶节点116(3.1)能够经由LTE接入网120(3.1),与端点130(2)通信,LTE接入网120(3.1)可以与LTE接入网120(1.1)相同或不同。
图5示出了来自接入网120的注册以及针对端点130(1)和130(2)的VIP的相关联的PIP、存储在LLP系统110的LLP服务器中的接口记录,其中,在图5中,“G”对应于端点130(1),而“R”对应于端点130(2)。
例如,端点130(1)的对LTE接入网120(1.1)的定位符注册,更新了从叶节点116(1.1)开始到根节点112的路径上的LLP系统110中的LLP服务器的接口记录。具体地,在叶节点116(1.1)处保留用于针对LTE接入网120(1.1)的端点130(1)的VIP到PIP映射,而在中间节点114(1)处保留指向子叶节点116(1.1)的向下指针,并且在根节点112处保留指向子中间节点114(1)的向下指针。
类似地,端点130(1)的对WiFi接入网120(2.1)的定位符注册,更新了从叶节点116(2.1)开始到根节点112的路径上的LLP系统110中的LLP服务器的接口记录。具体地,在叶节点116(2.1)处保留用于针对WiFi接入网120(2.1)的端点130(1)的VIP到PIP映射,而在中间节点114(2)处保留指向子叶节点116(2.1)的向下指针,并且在根节点112处保留指向子中间节点114(2)的向下指针。
此外,端点130(2)的对WiFi接入网120(2.1)的定位符注册,更新了从叶节点116(2.1)开始到根节点112的路径上的LLP系统110中的LLP服务器的接口记录。具体地,在叶节点116(2.1)处保留用于针对WiFi接入网120(2.1)的端点130(2)的VIP到PIP映射,而在中间节点114(2)处保留指向子叶节点116(2.1)的向下指针,并且在根节点112处保留指向子中间节点114(2)的向下指针。
最后,端点130(2)的对LTE接入网120(3.1)的定位符注册更新了从叶节点116(3.1)开始到根节点112的路径上的LLP系统110中的LLP服务器的接口记录。具体地,在叶节点116(3.1)处保留用于针对LTE接入网120(3.1)的端点130(2)的VIP到PIP映射,而在中间节点114(3)处保留指向子叶节点116(3.1)的向下指针,并且在根节点112处保留指向子中间节点114(3)的向下指针。
如图5所示,LLP服务器还在其接口记录中存储针对每个相应端点130的接入网120的数目。每个端点130在其向LLP系统110发送的服务发现/注册加入/更新消息中包含该信息。
连接建立细节
LLP系统110负责处理从相应节点接收的连接建立请求(CSR),并向在LLP系统110中注册的端点130转发CSR。为此,LLP系统110需要保留端点130的一个或多个当前定位符(PIP地址),端点130需要使用端点的标识符(VIP)来接入。LLP系统110需要在其对应于一个或多个不同接入网120的一个或多个PIP地址上,向端点130转发CSR,这可能需要CSR的复制。LLP系统110还可以将端点的定位符发送回相应节点,以允许在短时间间隔内针对到相同VIP的任何后续CSR而绕过LLP系统110。
以下描述假设:(i)端点130(1)和130(2)均与LLP系统110相关联,因此均具有VIP地址,(ii)端点130(2)是想要连接到端点130(1)的相应节点,(iii)端点130(1)和130(2)均为移动UE,使得其物理IP地址可能是短暂的,以及(iv)每个端点130事先不知道另一端点130的物理IP地址。
在连接建立期间,任一端点130都可能经历迁移,因此它们的一些接入网接口可能是不可接入的。因此,LLP系统110将尽最大努力建立连接,其中LLP系统110试图将CSR从源端点130(2)递送到目标端点130(1)的每个接入网120。
除了目标端点130(1)和源端点130(2)的VIP之外,CSR还包括源端点130(2)的一个或多个PIP地址。这允许目标端点130(1)无需通过LLP系统110而直接对CSR做出响应。下文将描述基于SRv6的CSR消息。
源端点130(2)想要与目标端点130(1)通信,但是源端点130(2)仅知道目标端点130(1)的VIP地址,而不知道目标端点130(1)的当前任何PIP。通过图3的步骤318至322的基于DNS的服务发现和注册过程,源端点130(2)确定其可以连接到LLP系统110,经由WiFi接入网120(2.1)连接到叶节点116(2.1),以及经由LTE接入网120(3.1)连接到叶节点116(3.1)。在该示例场景中,源端点130(2)决定使用WiFi接入网120(3.1)来尝试到达目标端点130(1)。另一方面,如果源端点130(2)使用图4的步骤414至418的基于BGP任播的服务发现和注册过程,则源端点130(2)无需确定其如何连接到LLP系统110。
因此,在图5的步骤1中,源端点130(2)经由WiFi接入网120(2.1)向叶节点116(2.1)发送CSR。在该示例场景中,CSR是SRv6分组,其最后分段是目标端点130(1)的VIP地址。
在图5的步骤2中,叶节点116(2.1)从源端点130(2)接收CSR,确定CSR中的最后分段地址是VIP地址,并辨别出其具有对应于针对Wi-Fi接入网120(2.1)的该VIP地址的当前PIP地址。在这种情况下,叶节点116(2.1)将该PIP地址设置为目标IP地址,并将CSR转发至目标端点130(1)的Wi-Fi接口。
存储在叶节点116(2.1)中的、与目标端点130(1)相关联的接口记录指示目标端点130(1)与两个接入网120相关联,但是叶节点116(2.1)仅知晓WiFi接入网120(2.1)。因此,在图5的步骤3中,叶节点116(2.1)将CSR的副本向上传递至其“父”LLP服务器(即中间节点114(2)),该服务器辨别出其也仅具有关于针对目标端点130(1)的一个接入网的信息,因此将CSR的副本向上传递至父LLP服务器(即,根节点112)。
根节点112检查其记录,并确定目标端点130(1)已经注册了两个接入网,并且根节点112具有用于目标端点130(1)的两个接口记录。根节点112具有指向与目标端点130(1)相关联的两个不同子节点的指针:中间节点114(1)和中间节点114(2)。理论上,根节点112可以向中间节点114(1)发送一个CSR副本,以最终经由LTE接入网120(1.1)到达目标端点130(1),并向中间节点114(2)发送另一份CSR副本,以最终经由WiFi接入网120(2.1)到达目标端点130(1)。然而,由于根节点112从其子节点(即针对目标端点130(1)的Wi-Fi接入网120(2.1)的定位符注册路径上的中间节点114(2))接收CSR,根节点112知道其不需要向该子节点转发CSR。
根节点的接口记录中的另一个注册是针对目标端点130(1)的LTE接入网120(1.1)。因此,在图5的步骤4中,根节点112使用其接口记录中对应的向下指针,用于目标端点130(1)的LTE接入网120(1.1)向中间节点114(1)传递CSR,中间节点114(1)依次使用其接口记录中的向下指针,用于目标端点130(1)向叶节点116(1.1)传递CSR,叶节点116(1.1)依次使用其接口记录中的VIP到PIP映射,以用于目标端点130(1)使用与LTR接入网120(1.1)相关联的目标端点的当前PIP地址,向目标端点130(1)发送CSR。在一些实施例中,每个叶节点116(即,叶节点116(1.1)和116(2.1))在其连接池中短时间缓存CSR。
通过该过程,目标端点130(1)可以从每个不同的接入网120接收CSR。尽管叶节点116消除任何重复的CSR,但目标端点130(1)也执行重复消除过程,以接受每个CSR的仅一个副本。
在一些实施例中,源端点130(2)将其所有可用的接入网接口附加在CSR SRv6分组的类型长度向量(TLV)字段中。通过这种方式,CSR向目标端点130(1)传达源端点130(2)的所有接入网120(及其PIP地址)。
在一些实施例中,当回复CSR时,目标端点130(1)向源端点130(2)传达回复消息的TLV字段中的目标端点130(1)所有可用的接口网络接口(及其PIP地址)。
端点迁移
迁移是移动接入网120中的常见过程。在迁移期间,端点130将失去与一个或多个接入网120的连接,并将丢失的(多个)接入网120重新连接到另一个接入点。在迁移之后,新的连接接入点可以给端点130分配新的物理IP。因此,为了在接入网120的迁移后进行无缝连接迁移,LLP系统110被相应地更新。在当端点迁移正在进行时,由LLP系统110处理CSR的特殊情况期间,可能存在导致连接建立无法到达迁移后的接入网120的竞争条件。
迁移更新
一般地,在端点130到达新区域后,在端点130重新连接到叶节点116之一后,由服务发现触发迁移更新。由于新的叶节点116总是不同于最后的叶节点116,因此消除了LLP系统110中先前的接口记录。新的叶节点116更新其定位符表,添加以端点130的新PIP地址作为其值的VIP/nID键。在重新连接期间,新的叶节点116还可以通过服务发现获取接入网120的数目(nID),其中端点130可以向新的叶节点116发送nID。此外,新的叶节点116向其父中间节点114起草更新消息,其父中间节点114相应地进行更新。更新消息向上传播至迁移后的接入网120先前注册的LLP服务器。
在接收该更新消息之后,该上行路径上具有用于针对该接入网的端点130的先前接口记录的第一LLP服务器用新信息更新其接口记录。然后,该LLP服务器通过接口记录先前被记录的路径,向下发送更新消息,而不是向上发送消息。向下发送的更新消息删除了沿着到叶节点116的路径的过时记录,该叶节点116先前服务于从VIP/nID到PIP的接口记录映射。如果用于删除过时记录的该更新消息到达在其连接池中维持针对端点130的CSR的叶节点116,则该叶节点116将尝试向端点130重新发送该CSR。特别地,在最后的更新被从端点130接收并记录在LLP系统110中之后,叶节点116将从向端点130转发CSR的树向上传播CSR。在重新发送CSR后,叶节点116将从其连接池中清除该CSR。
图6是表示端点迁移的示例的图。在该示例中,端点130(1)最初通过LTE接入网120(1.1)连接至叶节点116(1.1),但是LTE连接随后迁移至叶节点116(2.2)。由于迁移导致的过期表格在图4中以虚线框显示,经更新的表格以实线框显示。在端点130(1)发现用于其LTE连接的新的叶节点116(2.2)后,新的叶节点116(2.2)向其父节点(即中间节点114(2)),其是接收端点130(1)的LTE链路添加的第一个LLP服务器)向上发送链路更新。中间节点114(2)为G/LTE添加条目,条目值指向叶节点116(2.2),并向根节点112转发链路更新,根节点112检测G/LTE位置的改变:G/LTE从中间节点114(1)向中间节点114(2)移动。由于链路更新来自添加的路径,根节点112将沿着从根节点112到叶节点116(1.1)的先前路径发送删除消息(在更新其G/LTE条目,以指向中间节点114(2)之后)。因此,先前路径上的LLP服务器将删除相应的条目。
当端点130在非常短的时间内,在接入网上迁移超过一次时,可能存在迁移更新的竞争条件。在LLP系统110内的这种竞争条件下,较旧的更新可能在较新的更新之后被处理,这可能使LLP条目不准确。通过使端点130包括其更新的非递减版本号来解决该问题。可以使用这些版本号来识别较旧的更新,并以较新的版本号为准来丢弃较旧的更新。这可以确保较新的更新不会因这种竞争条件而被较旧的更新所覆盖。
迁移下的连接建立
连接池
迁移更新过程涉及更新在多个LLP服务器中的表,这可能会在连接建立过程中导致竞争条件。如上所述,LLP服务器在一定时间内维持一个最近发送的CSR池,以防止出现该问题。叶节点116将缓存具有针对VIP地址的所有VIP映射条目的CSR。叶节点116可以通过将其数量与接入计数表值进行比较,来判断其具有足够的条目。
当缓存CSR的叶节点116接收迁移更新时,或者当叶节点116接收用于删除更新记录的消息时,叶节点116相应地更新其接口表条目。叶节点116然后沿着新路径(通过沿树向上转发CSR)向端点130的迁移后的链路转发CSR,以确保端点130在迁移后的链路上接收CSR的副本。如图6所示,在端点130(1)的LTE链路被迁移之前,叶节点116(1.1)缓存指定给端点130(1)的CSR。迁移更新完成后,叶节点116(2.2)将缓存连接建立请求。
特殊考虑
专用网
如前所述,在一些实施例中,相应节点在CSR的SRv6报头/分段中包括其当前(多个)PIP地址。这可以允许目标端点130直接对相应节点进行响应,而无需首先进行定位符查找以基于其VIP(如果有的话)解析相应节点的PIP地址。然而,在某些情况下(例如,对于企业),相应节点的物理IP地址可能是专用的且不可路由的。在这种情况下,端点的(多个)接入网120上的SRv6网关充当用于分段路由的中间跳点,以在专用地址和公共物理地址之间进行转换——它们将分段插入包含其自身公共IP的输出分组中,并基于包含在分段报头中的VIP,向端点130转发其传入分组。由于SRv6网关只能服务于其自身的接入网,相应节点可能需要为每个专用网络发送一个CSR,以便针对该接入网用于其PIP适当的地址转换。这可以被结合到LLP系统110的设计中。为简单起见,本公开仅关注端点物理地址是公共/可路由的情况;因此,无需在SRv6网关进行中间转换。
协议和端点实现
以下描述了用于低延迟连接建立和移动性(包括SRv6和eBPF的接入移动性)的LLP系统110的基于端点的实现。
端点服务发现和注册
当端点130加入LLP系统110时,端点130应当针对其每个接入网发现其最近的叶节点116,并让最近的叶节点116知道其可接入的物理地址。端点130上的网络监测模块可以通过向LLP系统110发送消息,来发起该发现和注册。该消息首先被端点130上的eBPF模块拦截,eBPF模块在向LLP系统110发送出该消息之前,添加关于本地接口(例如,物理IP地址)的信息。以下描述是关于图4的,其假设叶节点116的基于任播的发现。
当新的端点130加入LLP系统110时,端点130发送服务发现消息,服务发现消息中源地址作为其想要注册的PIP地址、并且目标地址作为其VIP。端点的eBPF模块拦截消息,并将所有可用的物理地址作为TLV字段,插入分组的SRv6报头。这样的VIP地址由给定LLP服务提供商的所有叶节点116共享。因此,由于任播路由,最近的叶节点116将接收该服务发现消息。最近的叶节点116读取源地址字段中的PIP地址,解析并记录其可以接入的地址,并记录端点的物理网络的总数。该消息更新(记录该端点130注册)从该叶节点116到针对该端点130的所有LLP系统110的所有根节点112的路径。注意,端点130可以发送多个注册消息,每个接入网120一个注册消息。这些消息中的每个消息都可以从向其发送注册的接入网发出。这确保了如前所描述在专用网络上处理网络地址转换(NAT)。
初始连接建立
可以在源端点的操作系统(OS)中构建CSR SRv6分组。具体地,OS内核可以使用eBPF拦截应用的初始CSR(其目标地址作为目标端点的VIP)。在拦截该分组时,假设基于任播发现叶节点116,eBPF模块执行以下操作。eBPF模块将SRv6分段添加到分组的映射数据结构中,该映射数据结构包含源端点130的接口的PIP地址,用于发送出该分组。该分组还在TLV字段中包括源端点的所有接入网120的PIP地址,供目标端点在回复中使用。端点130中的eBPF模块经由与相应节点相关联的叶节点116,向目标端点的VIP地址转发分组。LLP系统110将复制CSR分组,并尽最大努力向所有目标接口递送CSR。
针对正在进行的连接的网络和定位符更新
前几节介绍了在两个移动端点130之间建立初始连接(通过CSR)的方法。在目标端点130接收初始CSR后,其可以使用SRv6直接回复源端点130,SRv6包含三个分段:目标端点130的PIP地址、源端点130的(多个)PIP地址(包括在初始CSR中)、以及源端点的VIP地址。类似地,当源端点130接收该回复时,其使用具有三个分段的SRv6发送以下分组:源端点130的PIP地址、目标端点130的(多个)PIP地址和目标端点的VIP地址。
然而,从成本、延迟和带宽的角度看,建立阶段所涉及的PIP地址可能不是最佳的。因此,两个端点130可以通过彼此共享其定位符列表,来协商其连接定位符。如前所述,CSR包含两个额外的分段,第一个分段是源端点的PIP地址。因此,目标端点130确认源端点的PIP地址,其可用于交换定位符信息。
在一些实施例中,在目标端点130接收CSR后,其以UDP分组进行响应,UDP分组将目标端点的(多个)PIP地址携带至源端点130。源端点130也可以通过该分组格式发送其(多个)PIP地址。如前所述,对于专用发送者定位符,该分组可能需要通过发送者中每个发送者的专用网络SRv6网关发送,用于网络地址转换。
图7是表示根据本公开的某些实施例的UDP分组的格式的图,其中操作码Opcode=VOL,指示定位符按总量改变。SRv6路由报头与两个端点130(应当是端点VIP和端点PIP)之间的普通数据分组对齐。通过共享两个端点的定位符信息,以及将PIP与源端点的优先顺序放在一起,每个端点130可以确认另一个端点的定位符偏好,并相应地调整其发送策略。
针对主动连接的网络的动态、快速无中断切换
本节描述针对正在进行的连接的定位符的点对点更新(直接在两个端点130之间)。及时用网络/定位符的任何改变(例如,当网络连接丢失时、或当被连接到新网络时、或当不同网络将被用于连接时)更新远程端点130,是为了在移动性下维持连接。为了支持更新和通知,在一些实施例中,端点130使用用户空间监测器,来监视网络/链路连接状态,并控制引导SRv6流量的eBPF转发规则。
监测器通过NetLink消息,检测链路断开/添加。此外,监测器还可以通过控制eBPF程序插入遥测信息,以测量网络延迟和/或吞吐量,从而指导网络连接之间的精确切换。当监测器检测到本地链路断开或试图避免使用本地链路进行连接时。监测器指示本地eBPF程序切换到使用优选出口定位符。监测器使用图7所示的格式发送链路通知,操作码为DEL。可通过发送者当前开通的其他链路中的每个链路,向另一方广播该通知。
远程eBPF程序接收链路通知分组,并改变本地入口和出口规则,以使用发送侧的下一个优选定位符。当监测器检测本地链路时,添加或试图切换优选接收定位符。监测器在eBPF程序中添加入口规则,以通过该定位符接受远程连接;如果添加的定位符更适合作为发送定位符,还应添加用于使用该定位符的出口规则。如果本地端点130试图使用新的定位符作为优选的接收定位符,则监测器然后使用图7所示的格式,发送链路通知分组,操作码将为ADD。
远程eBPF程序接收链路通知分组,并改变本地入口和出口规则,以使用分组中指示的定位符。监测器保持跟踪本地接入网定位符,并向连接对等方发出通知消息。当一个端点130移出网络区域时,其监测器将检测链路断开,并向其对等方发送通知,反之亦然。
部署考虑
在一些实施例中,LLP系统110依赖于分段路由(SR)。对于服务提供商,SR具有潜力降低实现和操作复杂性,通过消除维持网络的每个部分的状态的需要,使得实现更高的可编程性和改进的流量工程,以及提升可扩展性和服务灵活性。分段路由已经被开发多年,标准日渐成熟。预计SR的采用会加快、并将有可能在未来几年促进在服务提供商网络中广泛部署LLP系统110的实例。
eBPF是本公开的一些实施例中利用的其他关键技术之一,并且已经具有广泛的Linux部署。对于不支持eBPF的其他端点,因为大部分公开内容可在SRv6边缘路由器和网关中实现,仍可部署完全从网络内部运行的解决方案的稍微有限的版本。这包括用于动态网络和定位符更新机制、用于正在进行的连接的下行链路方向中无中断网络切换、以及用于初始连接建立的VIP到定位符解决方案的机制。用于正在进行的连接的切换网络可能仅在上行链路方向需要端点支持(诸如eBPF)。
在某些实施例中,本公开是具有树结构的系统,该树结构包括经由多个中间节点连接至多个叶节点的根节点。每个叶节点和每个中间节点在树结构中具有相应的父节点,并且根节点和每个中间节点在树结构中具有至少一个相应的子节点。第一叶节点被配置为经由第一接入网与目标端点通信,其中第一叶节点被配置为在第一接入网上存储从目标端点的永久虚拟IP(VIP)地址到目标端点的第一物理IP(PIP)地址的第一映射。第二叶节点被配置为经由不同于第一接入网的第二接入网与目标端点通信,其中第二叶节点被配置为在第二接入网存储从目标端点的VIP地址到目标端点的第二PIP地址的第二映射,第二PIP地址不同于第一PIP地址。根节点被配置为存储:(i)指向第一中间节点的第一根节点指针,第一中间节点用于目标端点和第一接入网,以及(ii)指向第一中间节点或者不同的中间节点的第二根节点指针,不同的中间节点用于目标端点和第二接入网。第一中间节点被配置为至少存储指向第一子节点的第一中间节点指针,第一子节点用于目标端点和第一接入网,其中第一中间节点被配置为至少使用第一中间节点指针,以向目标端点转发从相应节点接收的针对目标端点的连接建立请求(CSR)。
在至少一些上述实施例中,根节点和第一中间节点不知晓目标端点的第一PIP地址和第二PIP地址。
在至少一些上述实施例中,根节点被配置为:(i)从第二中间节点接收CSR,以及(ii)至少使用第一根节点指针,以向第一中间节点转发CSR。
在至少一些上述实施例中,每个根节点、第一中间节点、以及第一叶节点和第二叶节点中的每一者被配置为存储指示针对目标端点的接入网的数目的值。
在至少一些上述实施例中,第二根节点指针指向第一中间节点,并且第一中间节点被配置为存储:(i)指向第一子节点的第一中间节点指针,第一子节点用于目标端点和第一接入网,以及(ii)指向第二子节点的第二中间节点指针,第二子节点用于目标端点和第二接入网。
在至少一些上述实施例中,第二根节点指针指向另一个中间节点,并且另一个中间节点被配置为存储指向第二子节点的第二中间节点指针,第二子节点用于目标端点和第二接入网。
在至少一些上述实施例中,CSR识别目标端点的VIP地址,但是不识别目标端点的任何PIP地址。
在至少一些上述实施例中,CSR识别相应节点的至少一个PIP地址。
在至少一些上述实施例中,当基于任播的服务发现被使用时,CSR具有IP目标地址,作为目标端点的VIP地址。
在至少一些上述实施例中,当基于DNS的服务发现被使用时,CSR具有IP目标地址,作为在树结构中最近的叶节点的PIP地址。
在至少一些上述实施例中,至少不同于第一叶节点的第三叶节点被配置为:(i)从相应节点接收CSR,以及(ii)将CSR向上传递至其父节点,并且系统被配置为将CSR向上传递至针对第一叶节点、第二叶节点和第三叶节点的最近公共祖先(LCA)节点。
在至少一些上述实施例中,系统被配置为不将CSR向上传递至LCA节点的父节点。
在至少一些上述实施例中,第一叶节点被配置为保留CSR一段时间,以使第一叶节点能够经由第一接入网向目标端点第二次重新发送CSR。
在某些实施例中,本公开是一种目标端点,其包括:(i)第一接口,第一接口被配置为经由第一接入网,与具有树结构的系统的第一叶节点通信,以及(ii)第二接口,第二接口被配置为经由不同于第一接入网的第二接入网,与不同于第一叶节点的系统的第二叶节点通信。目标端点被配置为在第一接口处,接收由相应节点向系统发送的、并且然后由第一叶节点向目标端点发送的连接建立请求(CSR)的第一副本,并且目标端点被配置为在第二接口处,接收由第二叶节点向端点发送的CSR的第二副本。
在至少一些上述实施例中,目标端点被配置为使用CSR的第一接收的副本,并且忽略CSR的第二接收的副本。
在至少一些上述实施例中,CSR识别针对相应节点的至少一个物理IP(PIP)地址,以及目标端点被配置为使用针对相应节点的至少一个PIP地址,以向相应节点发送回复消息。
在至少一些上述实施例中,目标端点被配置为向独立于系统的相应节点发送回复消息。
在至少一些上述实施例中,目标端点被配置为被分配独立于第一接入网和第二接入网的永久虚拟IP(VIP)地址。
尽管图中未明确示出,但是图中的每个节点具有至少一个用于处理传入和/或传出数据的处理器(例如,CPU)、用于存储数据的存储器(例如,RAM、ROM)和(在一些实施方式中)将由处理器执行的程序代码,以及用于与一个或多个其他节点通信的通信硬件(例如,收发器)。
尽管以下方法权利要求中的元素(如有的话)以具有相应标记的特定顺序被列举,除非权利要求陈述另有隐含用于实现部分或全部这些元素的特定顺序,否则这些元素不一定旨在受限于以该特定顺序被实现。同样,在与本公开的各种实施例一致的方法中,这样的方法可包括附加的步骤,并且某些步骤可被省略或组合。
本文提及“一个实施例”或“实施例”意味着结合该实施例描述的特定特征、结构或特性可被包括在本公开的至少一个实施例中。说明书中不同地方出现的短语“在一个实施例中”不一定全部指相同的实施例,也不一定指与其他实施例相互排斥的单独或替代实施例。这同样适用于术语“实施方式”。
除非本文另有规定,使用序数词“第一”、“第二”、“第三”等提及多个类似对象中的一个对象仅指示这样的类似对象的不同实例被提及,并不隐含如此提及的类似对象必须在时间上、空间上、排序上或以任何其他方式处于相应的顺序或序列。
此外,出于该描述的目的,术语“耦合(couple)”、“耦合(coupling)”、“耦合(coupled)”、“连接(connect)”、“连接(connecting)”或“连接(connected)”指本领域已知的或以后开发的允许在两个或多个元件之间传递能量的任何方式,并且预期插入一个或多个附加的元件,尽管不是必需的。相反,术语“直接耦合(directly coupled)”、“直接连接(directly connected)”等隐含不存在这样的附加元件。术语“附着(attached)”和“直接附着(directly attached)”适用于相同类型的区别,如同适用于物理结构的描述。例如,相对较薄的一层粘合剂或其他合适的粘合剂可用于实现这种物理结构中两个相应组件的这种“直接连接(direct attachment)”。
所描述的实施例在所有方面均应被视为仅是说明性的而非限制性的。特别地,本公开的范围由所附权利要求书而非本说明书和本文附图指示。在权利要求的含义和等同范围内的所有改变均应包含在权利要求的范围内。
图中所示的各种元件的功能,包括标记为“处理器”和/或“控制器”的任何功能块,可以通过使用专用硬件以及能够执行与适当软件相关联的软件的硬件来提供。当由处理器提供功能时,可由单个专用处理器、单个共享处理器或多个单独的处理器来提供功能,其中一些处理器可被共享。此外,术语“处理器”或“控制器”的明确使用不应被解释为排外地指代能够执行软件的硬件,并且可以隐含地包括但不限于数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。也可以包括常规和/或定制的其他硬件。类似地,图中所示的任何切换仅为概念上的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或甚至手动来执行,具体技术可由实现者从上下文更具体的理解来选择。
本领域普通技术人员应当理解,本文的任何框图代表体现本公开原理的说明性电路系统的概念视图。类似地,应当理解,任何流程表、流程图、状态转换图、伪代码等表示可以基本上在计算机可读介质中表示并由计算机或处理器执行的各种过程,无论该计算机或处理器是否被明确示出。
如本领域普通技术人员将理解的,本公开可以体现为装置(包括例如系统、网络、机器、设备、计算机程序产品等)、方法(包括例如业务过程、计算机实现的过程等)或前述各项的任何组合。因此,本公开的实施例可以采取完全基于软件的实施例(包括固件、常驻软件、微代码等)、完全硬件的实施例或软件和硬件方面相结合的实施例的形式,本文通常称为“系统”或“网络”。
本公开的实施例可以以用于实践这些方法的方法和装置的形式体现。本公开的实施例还可以以包含在有形介质(诸如磁记录介质、光记录介质、固态存储器、软磁盘、CD-ROM、硬盘驱动器或任何其他非暂态机器可读存储介质)中的程序代码的形式体现,其中,当程序代码被机器(诸如计算机)加载并执行时,机器成为用于实践本公开的装置。本公开的实施例也可以以程序代码的形式体现,例如,存储在非暂态机器可读存储介质中,包括被机器加载和/或执行,其中,当程序代码被机器(诸如计算机)加载和执行时,机器成为用于实践本公开的装置。当在通用处理器上实现时,程序代码段与处理器相结合,以提供类似于特定逻辑电路运行的独特设备。
如本文所使用的,术语“非暂态”是对介质本身(即,有形的,而非信号)的限制,而不是对数据存储持久性(例如,RAM对ROM)的限制。
在本说明书(包括任何权利要求)中,术语“每个”可用于指多个前述元件或步骤的一个或多个特定特征。当与开放式术语“包括(comprising)”一起使用时,术语“每个”的表述不排除附加的、未陈述的元件或步骤。因此,应当理解,装置可以具有附加的、未陈述的元件,并且方法可以具有附加的、未陈述的步骤,其中附加的、未陈述的元件或步骤不具有一个或多个特定特征。
如本文所使用的,“以下至少一项:<两个或更多个元件的列表>”和“<两个或更多个元件的列表>中的至少一项”以及类似的措辞,其中两个或更多个元件的列表由“和”或“或”连接,意味着至少任何一个元件,或至少任何两个或更多个元件,或至少所有元件。例如,短语“A和B中的至少一个”和“A或B中的至少一个”应被解释为具有相同的含义,包括以下三种可能性:1-仅A;2-仅B;3-A和B。
本文中提及的所有文件均通过其引用整体纳入于此,或替代地提供其具体依赖的公开。
本申请中权利要求所涵盖的实施例限于(1)由本说明书实现的和(2)对应于法定主题的实施例。未实现的实施例和对应于非法定主题的实施例被明确放弃,即使它们属于权利要求的范围。
如本文和权利要求书中所使用的,术语“提供”关于装置或关于系统、设备或组件包括设计或制造装置、系统、设备或组件;使得设计或制造装置、系统、设备或组件;和/或通过购买、租用、租赁或其他合同安排获取装置、系统、设备或组件。
尽管本公开的优选实施例已在本文示出和描述,但对于本领域技术人员而言,显而易见的是这些实施例仅作为示例提供。在不脱离本公开的情况下,本领域技术人员将会想到许多变化、改变和替换。应当理解,在实践本公开的技术时,可以使用本文描述的本公开实施例的各种替代方案。以下权利要求旨在定义本发明的范围,并且在这些权利要求及其等同物的范围内的方法和结构由此被涵盖。
Claims (19)
1.一种具有树结构的系统,所述树结构包括经由多个中间节点连接至多个叶节点的根节点,其中:
每个叶节点和每个中间节点在所述树结构中具有相应的父节点;
所述根节点和每个中间节点在所述树结构中具有至少一个相应的子节点;
第一叶节点被配置为经由第一接入网与目标端点通信,其中所述第一叶节点被配置为在所述第一接入网上存储从所述目标端点的永久虚拟IP(VIP)地址到所述目标端点的第一物理IP(PIP)地址的第一映射;
第二叶节点被配置为经由不同于所述第一接入网的第二接入网与所述目标端点通信,其中所述第二叶节点被配置为在所述第二接入网上存储从所述目标端点的所述VIP地址到所述目标端点的第二PIP地址的第二映射,所述第二PIP地址不同于所述第一PIP地址;
所述根节点被配置为存储:(i)指向第一中间节点的第一根节点指针,所述第一中间节点用于所述目标端点和所述第一接入网,以及(ii)指向所述第一中间节点或者不同的中间节点的第二根节点指针,所述不同的中间节点用于所述目标端点和所述第二接入网;以及
所述第一中间节点被配置为至少存储指向第一子节点的第一中间节点指针,所述第一子节点用于所述目标端点和所述第一接入网,其中所述第一中间节点被配置为至少使用所述第一中间节点指针,以向所述目标端点转发从相应节点接收的针对所述目标端点的连接建立请求(CSR)。
2.根据权利要求1所述的系统,其中所述根节点和所述第一中间节点不知晓所述目标端点的所述第一PIP地址和所述第二PIP地址。
3.根据权利要求1所述的系统,其中所述根节点被配置为:(i)从第二中间节点接收所述CSR,以及(ii)至少使用所述第一根节点指针,以向所述第一中间节点转发所述CSR。
4.根据权利要求1所述的系统,其中所述根节点、所述第一中间节点、以及所述第一叶节点和所述第二叶节点中的每一者被配置为存储指示针对所述目标端点的接入网的数目的值。
5.根据权利要求1所述的系统,其中:
所述第二根节点指针指向所述第一中间节点;以及
所述第一中间节点被配置为存储:(i)指向所述第一子节点的所述第一中间节点指针,所述第一子节点用于所述目标端点和所述第一接入网,以及(ii)指向第二子节点的第二中间节点指针,所述第二子节点用于所述目标端点和所述第二接入网。
6.根据权利要求1所述的系统,其中:
所述第二根节点指针指向另一个中间节点;以及
所述另一个中间节点被配置为存储指向第二子节点的第二中间节点指针,所述第二子节点用于所述目标端点和所述第二接入网。
7.根据权利要求1所述的系统,其中所述CSR识别所述目标端点的所述VIP地址,但是不识别所述目标端点的任何PIP地址。
8.根据权利要求1所述的系统,其中所述CSR识别所述相应节点的至少一个PIP地址。
9.根据权利要求1所述的系统,其中当基于任播的服务发现被使用时,所述CSR具有IP目标地址,作为所述目标端点的所述VIP地址。
10.根据权利要求1所述的系统,其中当基于DNS的服务发现被使用时,所述CSR具有IP目标地址,作为在所述树结构中最近的叶节点的所述PIP地址。
11.根据权利要求1所述的系统,其中:
至少不同于所述第一叶节点的第三叶节点被配置为:(i)从所述相应节点接收所述CSR,以及(ii)将所述CSR向上传递至其父节点;以及
所述系统被配置为将所述CSR向上传递至针对所述第一叶节点、所述第二叶节点和所述第三叶节点的最近公共祖先(LCA)节点。
12.根据权利要求11所述的系统,其中所述系统被配置为不将所述CSR向上传递至所述LCA节点的父节点。
13.根据权利要求1所述的系统,其中所述第一叶节点被配置为保留所述CSR一段时间,以使所述第一叶节点能够经由所述第一接入网,向所述目标端点第二次重新发送所述CSR。
14.一种用于具有树结构的系统的方法,所述树结构包括经由多个中间节点连接至多个叶节点的根节点,其中:
每个叶节点和每个中间节点在所述树结构中具有相应的父节点;以及
所述根节点和每个中间节点在所述树结构中具有至少一个相应的子节点,所述方法包括:
第一叶节点经由第一接入网与目标端点通信,其中所述第一叶节点在所述第一接入网上存储从所述目标端点的永久虚拟IP(VIP)地址到所述目标端点的第一物理IP(PIP)地址的第一映射;
第二叶节点经由不同于所述第一接入网的第二接入网,与所述目标端点通信,其中所述第二叶节点在所述第二接入网上存储从所述目标端点的所述VIP地址到所述目标端点的第二PIP地址的第二映射,所述第二PIP地址不同于所述第一PIP地址;
所述根节点存储:(i)指向第一中间节点的第一根节点指针,所述第一中间节点用于所述目标端点和所述第一接入网,以及(ii)指向所述第一中间节点或者不同的中间节点的第二根节点指针,所述不同的中间节点用于所述目标端点和所述第二接入网;以及
所述第一中间节点至少存储指向第一子节点的第一中间节点指针,所述第一子节点用于所述目标端点和所述第一接入网,其中所述第一中间节点至少使用所述第一中间节点指针,以向所述目标端点转发针对从相应节点接收的针对所述目标端点的连接建立请求(CSR)。
15.一种目标端点,包括:
第一接口,所述第一接口被配置为经由第一接入网,与具有树结构的系统的第一叶节点通信;以及
第二接口,所述第二接口被配置为经由不同于所述第一接入网的第二接入网,与不同于所述第一叶节点的所述系统的第二叶节点通信,其中:
所述目标端点被配置为在所述第一接口处,接收由相应节点向所述系统发送的、并且然后由所述第一叶节点向所述目标端点发送的连接建立请求(CSR)的第一副本;以及
所述目标端点被配置为在所述第二接口处,接收由所述第二叶节点向所述端点发送的所述CSR的第二副本。
16.根据权利要求15所述的端点,其中所述目标端点被配置为使用所述CSR的第一接收的副本,并且忽略所述CSR的第二接收的副本。
17.根据权利要求15所述的端点,其中:
所述CSR识别所述相应节点的至少一个物理IP(PIP)地址;以及
所述目标端点被配置为使用所述相应节点的所述至少一个PIP地址,以向所述相应节点发送回复消息。
18.根据权利要求17所述的端点,其中所述目标端点被配置为向独立于所述系统的所述相应节点发送所述回复消息。
19.根据权利要求15所述的端点,其中所述目标端点被配置为被分配独立于所述第一接入网和所述第二接入网的永久虚拟IP(VIP)地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/063,314 | 2022-12-08 | ||
US18/063,314 US11909716B1 (en) | 2022-12-08 | 2022-12-08 | Locator lookup-based, low-latency, multi-access IP mobility |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118175091A true CN118175091A (zh) | 2024-06-11 |
Family
ID=88978374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311664566.XA Pending CN118175091A (zh) | 2022-12-08 | 2023-12-06 | 基于定位符查找的低延迟多接入ip移动性 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11909716B1 (zh) |
EP (1) | EP4383677A3 (zh) |
CN (1) | CN118175091A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220321479A1 (en) * | 2021-04-02 | 2022-10-06 | Microsoft Technology Licensing, Llc | Anycast routing technique for a content delivery network |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7633886B2 (en) * | 2003-12-31 | 2009-12-15 | University Of Florida Research Foundation, Inc. | System and methods for packet filtering |
US7478109B1 (en) * | 2004-03-15 | 2009-01-13 | Cisco Technology, Inc. | Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes |
US20060090003A1 (en) * | 2004-10-22 | 2006-04-27 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
US8904028B2 (en) | 2009-07-17 | 2014-12-02 | Intel Corporation | Scalable cluster router |
US8717943B2 (en) * | 2011-10-18 | 2014-05-06 | Itron, Inc. | Peer-to-peer communications in AMI with source-tree routing |
US9979595B2 (en) * | 2012-12-18 | 2018-05-22 | Juniper Networks, Inc. | Subscriber management and network service integration for software-defined networks having centralized control |
US11356501B1 (en) * | 2020-12-29 | 2022-06-07 | Here Global B.V. | Method, apparatus, and system for dynamic beacons address allocation |
US11895027B2 (en) * | 2021-05-20 | 2024-02-06 | Pensando Systems Inc. | Methods and systems for service distribution using data path state replication and intermediate device mapping |
-
2022
- 2022-12-08 US US18/063,314 patent/US11909716B1/en active Active
-
2023
- 2023-11-28 EP EP23212790.2A patent/EP4383677A3/en active Pending
- 2023-12-06 CN CN202311664566.XA patent/CN118175091A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4383677A2 (en) | 2024-06-12 |
US11909716B1 (en) | 2024-02-20 |
EP4383677A3 (en) | 2024-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Raychaudhuri et al. | Mobilityfirst: a robust and trustworthy mobility-centric architecture for the future internet | |
Li | Recommendation for a routing architecture | |
EP1009141B1 (en) | Two phase local mobility scheme for wireless access to packet-based networks | |
EP1011241B1 (en) | Wireless access to packet-based networks | |
Sousa et al. | Multihoming management for future networks | |
US6691227B1 (en) | Location-independent packet routing and secure access in a short-range wireless networking environment | |
US8064404B2 (en) | Method of subnet roaming within a network | |
US6434134B1 (en) | Dynamic address assignment for wireless devices accessing packet-based wired networks | |
Kafle et al. | HIMALIS: Heterogeneity inclusion and mobility adaptation through locator ID separation in new generation network | |
KR101670521B1 (ko) | 콘텐츠 중심 네트워크를 통한 세션 이전 | |
US6496505B2 (en) | Packet tunneling optimization to wireless devices accessing packet-based wired networks | |
US7239618B1 (en) | Single phase local mobility scheme for wireless access to packet-based networks | |
US9307393B2 (en) | Peer-to-peer mobility management in heterogeneous IPV4 networks | |
WO2007033238A2 (en) | System and method for providing packet connectivity between heterogeneous networks, and component and packet therefor | |
WO2002019615A2 (en) | Methods and apparatus for supporting mobility within a radio access network | |
WO2005006240A2 (en) | A method of wireless roaming | |
JP2023516037A (ja) | エッジコンピューティングのための分散アンカーのアプリケーショントリガセットアップ | |
Bronzino et al. | Network service abstractions for a mobility-centric future internet architecture | |
CN118175091A (zh) | 基于定位符查找的低延迟多接入ip移动性 | |
Sousa et al. | Multihoming: a comprehensive review | |
McCann | Design of a flat wireless Internet Service Provider network | |
KR101556031B1 (ko) | 네트워크 상에 제어 기능이 분산된 이동성 지원 방법 및 시스템 | |
Seth et al. | A Generalized Architecture for Tetherless Computing in Disconnected Networks | |
Sadio et al. | Improving security and mobility for remote access: a wireless sensor network case | |
Di et al. | Linyphi: creating IPv6 mesh networks with SSR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |