CN113949744A - 使用端口控制协议通信的动态互联网协议转换 - Google Patents

使用端口控制协议通信的动态互联网协议转换 Download PDF

Info

Publication number
CN113949744A
CN113949744A CN202010935882.6A CN202010935882A CN113949744A CN 113949744 A CN113949744 A CN 113949744A CN 202010935882 A CN202010935882 A CN 202010935882A CN 113949744 A CN113949744 A CN 113949744A
Authority
CN
China
Prior art keywords
destination
ipv6
prefix
source
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.)
Pending
Application number
CN202010935882.6A
Other languages
English (en)
Inventor
A·克
V·卡拉姆柴德
M·M·帕塔斯瓦米
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN113949744A publication Critical patent/CN113949744A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Abstract

本公开的实施例涉及使用端口控制协议通信的动态互联网协议转换。网络设备可以从源设备接收选项请求,选项请求包括源设备的源地址和目的地设备的目的地地址,其中网络设备与互联网协议版本6(IPv6)网络相关联。网络设备可以标识与针对关联于目的地设备的业务的地址转换相关联的映射码,并且可以基于标识映射码来确定针对地址转换的源前缀码和目的地前缀码。网络设备可以基于源前缀码和目的地前缀码来确定针对地址转换确定的源IPv6前缀和目的地IPv6前缀,并且可以向源设备提供对选项请求的选项响应,以允许源设备针对业务使用源IPv6前缀和目的地IPv6前缀。

Description

使用端口控制协议通信的动态互联网协议转换
技术领域
本公开的实施例涉及动态互联网协议转换,并且更具体地涉及使用端口控制协议通信的动态互联网协议转换。
背景技术
互联网协议(IP)是用于通过网络(例如,互联网)发送和接收分组的通信协议。网络地址转换器(NAT)可以在私有IP地址和公共IP地址之间提供分组中的IP地址的转换。此外,NAT可以支持在IP的不同版本之间以及IP的相同版本之间进行的IP地址的转换。
发明内容
在一些实现中,一种方法包括:由网络设备从客户端设备接收选项请求,该选项请求包括源设备的源地址和目的地设备的目的地地址,其中网络设备与互联网协议版本6(IPv6)网络相关联;由网络设备标识映射码,该映射码与针对关联于目的地设备的业务的地址转换相关联;由网络设备基于标识映射码来确定针对地址转换的源前缀码和目的地前缀码;由网络设备基于源前缀码和目的地前缀码来确定针对地址转换的源IPv6前缀和目的地IPv6前缀;以及由网络设备向客户端设备提供对选项请求的选项响应,以允许源设备针对业务使用源IPv6前缀和目的地IPv6前缀。
在一些实现中,一种网络设备包括一个或多个存储器和一个或多个处理器,该一个或多个处理器用以:从端口控制协议(PCP)客户端设备接收选项请求,该选项请求包括互联网协议版本4(IPv4)源设备的源地址和IPv4目的地设备的目的地地址,其中网络设备与互联网协议版本6(IPv6)网络相关联;基于PCP客户端设备和IPv4目的地设备与一个或多个IPv4网络相关联,确定针对地址转换的源IPv6前缀和目的地IPv6前缀以促进IPv4源设备与IPv4目的地设备之间经由IPv6网络的通信;以及向PCP客户端设备提供对选项请求的选项响应,以使IPv4源设备使用源IPv6前缀和目的地IPv6前缀来将业务发送到IPv4目的地设备。
在一些实现中,一种存储指令的非瞬态计算机可读介质,该指令包括一个或多个指令,该一个或多个指令在由源设备的一个或多个处理器执行时使一个或多个处理器:获得与目的地设备相关联的目的地地址;基于目的地地址,配置选项请求,该选项请求关联于经由互联网协议版本6(IPv6)网络与目的地设备通信;针对关联于目的地设备的业务向IPv6网络的网络设备发送与地址转换相关联的选项请求;从网络设备并且与选项请求相关联地接收源IPv6前缀和目的地IPv6前缀;以及在数据结构中维护源IPv6前缀和目的地IPv6前缀作为IPv6地址信息以用于向目的地设备发送业务。
附图说明
图1A至图1B是本文描述的示例实现的示意图。
图2是可以实现本文描述的系统和/或方法的示例环境的示意图。
图3至图4是图2的一个或多个设备的示例组件的示意图。
图5至图7是与用于端口控制协议通信的动态互联网协议转换相关的示例过程的流程图。
具体实施方式
示例实现的以下详细描述参照附图。不同附图中的相同附图标记可以标识相同或类似的元件。
一些设备和/或应用可以支持IPv4。其他设备和/或应用可以支持IPv6。NAT可以用于通过在正在网络设备之间路由网络地址信息时修改IP数据报报头中的网络地址信息来将地址空间(例如,IPv4、IPv6等)映射到另一地址空间(例如,IPv6、IPv4等)。
464XLAT架构通过使用核心设备处的有状态协议转换和边缘设备处的无状态协议转换来通过IPv6网络提供IPv4连接性。例如,由第一设备托管的应用可以支持IPv4,并且可能需要通过IPv6网络将IPv4分组发送到也支持IPv4的第二设备。在这种情况下,第一设备可以使用客户侧转换器(CLAT)来执行IPv4地址到IPv6地址的无状态转换。
在无状态转换中,CLAT可以将IPv4分组转换为IPv6分组。例如,CLAT可以通过将CLAT前缀添加到IPv4地址来将包括在分组的报头中的私有IPv4地址转换为IPv6地址。附加地,第一设备可以将IPv6分组提供给与IPv6网络相关联的网络设备。在这种情况下,网络设备可以使用提供方侧转换器(PLAT)来将IPv6分组转换为IPv4分组,并且可以在不使用CLAT前缀的情况下将IPv6地址转换为公共IPv4地址。此外,网络设备可以将IPv4分组提供给第二设备。
有状态NAT64架构通过在核心设备处使用有状态协议转换来通过IPv4网络提供IPv6连接性。例如,由第一设备托管的应用可以支持IPv6,并且可能需要通过IPv4网络向支持IPv4的第二设备发送IPv6分组。在这种情况下,第一设备可以使用NAT来执行有状态转换,以将IPv6分组转换为IPv4分组。例如,NAT可以将私有IPv6地址转换为公共IPv4地址,并且将IPv4分组提供给第二设备。
在一些情况下,根据有状态NAT64架构,第一设备可以向NAT发送端口控制协议(PCP)请求,并且NAT可以在PCP响应中向第一设备提供前缀和/或后缀,该前缀和/或后缀将在发往IPv4设备的IPv6分组的目的地IPv6地址中使用。前缀和/或后缀可以在包括有IPv6分组的目的地IPv6地址时指示IPv6地址要被转换为IPv4地址。通过这种方式,基于PCP响应,第一设备可以将IPv6分组配置为包括具有IPv6地址的前缀和/或后缀,使得NAT能够确定何时将IPv6地址转换为IPv4地址,使得NAT可以将IPv6分组正确地路由到IPv4设备。
然而,这种PCP请求/响应功能性不可用于464XLAT架构。因此,当PLAT从IPv4设备接收到IPv6分组时,除非PLAT配置有指示如何处理来自IPv4设备的业务的信息,否则PLAT可能无法确定PLAT是否应该将IPv6分组的地址转换为IPv4地址。这可能会导致PLAT错误地路由包括PLAT从IPv4设备接收到的IPv6分组的业务(例如,通过在应该转换地址时错误地路由业务而不转换业务的地址,或通过在不应该转换地址时错误地路由具有已转换地址的业务)。错误地路由业务可能会导致附加计算资源(例如,处理资源、存储器资源、通信资源等)被用于处理、接收和/或重传错误路由的业务。
本文描述的一些实现提供了一种PCP客户端设备,该PCP客户端设备向IPv6网络的网络设备发送选项请求,以使该网络设备向PCP客户端设备发送包括源IPv6前缀和/或目的地IPv6前缀的选项响应。PCP客户端设备可以向IPv4源设备提供源IPv6前缀和目的地IPv6前缀,以允许IPv4源设备将源IPv6前缀包括在分组的源地址中,并将目的地IPv6前缀包括在分组的目的地地址中,该分组要经由网络设备(例如,经由IPv6网络)被传送到IPv4目的地设备。源IPv6前缀和目的地IPv6前缀可以向网络设备指示IPv4源设备是IPv4设备,IPv4目的地设备是IPv4设备和/或网络设备将提供分组的XLAT 464转换。通过这种方式,网络设备可以基于分组的源地址中的源IPv6前缀和分组的目的地地址中的目的地IPv6前缀来确定网络设备要将源地址和目的地地址转换为IPv4地址,以允许将分组正确地路由到IPv4目的地设备。这可以避免业务损失并且防止计算资源(例如,处理资源、存储器资源、通信资源等)被用于处理、接收和/或重传错误路由的业务。
在以下描述中,将在从IPv4转换为IPv6或反之亦然的上下文中描述实现。实际上,这些实现中的一个或多个可以同样地应用于从IP的第一版本(通常称为IPvX)转换为IP的第二版本(通常称为IPvY)(其中X≠Y),其中IP的第一版本与IP的第二版本不同(即,IP的后期版本或早期版本)。
图1A至图1B是本文描述的示例100的示意图。如图1A至图1B所示,示例100包括PCP客户端设备、网络设备和IPv4目的地设备。该网络设备可以被包括在IPv6网络(例如,能够支持IPv4和/或IPv6的网络)中,并且可以托管PLAT、NAT等。PCP客户端设备可以包括第一网络(例如,第一私有IPv4网络)的客户端设备和/或可以被包括在第一网络的CLAT中。IPv4目的地设备可以包括与第一网络不同的第二网络(例如,第二私有IPv4网络)的客户端设备。
在一些实现中,IPv4源设备(未示出)可以与PCP客户端设备相关联(例如,IPV4源设备可以是第一网络的客户端设备),并且要与IPv4目的地设备进行通信(例如,IPv4源设备将向IPv4目的地设备发送一个或多个分组)。因此,IPv4源设备可以从域名服务(DNS)设备或另一设备获得IPv4目的地设备的目的地地址。在一些实现中,在获得目的地地址之后,IPv4源设备可以尝试经由IPv6网络与IPv4目的地设备通信。
如在图1A中通过附图标记105所示,PCP客户端设备可以配置选项请求以发送到网络设备(例如,以允许网络设备促进IPv4源设备经由IPv6网络与IPv4目的地设备通信)。在一些实现中,选项请求可以包括映射请求码、宣告请求码等。例如,如图1A所示,选项请求可以是包括“MAP”8位选项码的映射PCP请求。在一些实现中,选项请求可以包括前缀码,该前缀码可以被配置为(例如,可以具有特定值或文本串)指示选项请求包括源前缀码和/或目的地前缀码。例如,如图1A所示,映射PCP响应可以包括“PREF64”8位选项码,以指示该选项请求包括本文描述的源前缀码和/或目的地前缀码。
在一些实现中,选项请求可以包括源前缀码和/或目的地前缀码。源前缀码可以被配置为(例如,可以具有特定值或文本串)使网络设备向PCP客户端设备提供源IPv6前缀(例如,在本文描述的选项响应中)。目的地前缀码可以被配置为(例如,可以具有特定值或文本串)使网络向IPv4目的地设备提供目的地IPv6前缀(例如,在本文描述的选项响应中)。例如,如图1A所示,映射PCP请求包括“src_pref::/m”源(Src)前缀码(其中m≥1)和“dest_pref::/n”目的地(Dest)前缀码(其中n≥1),以向网络设备指示PCP客户端设备请求源IPv6前缀和目的地IPv6前缀。源前缀码和目的地前缀码可以是与IPv6网络相关联的预配置码(例如,PCP客户端设备可以被预配置为包括“::/m”或“::/n”作为选项请求中的任何前缀码的一部分)。在一些实现中,选项请求可以包括IPv4源设备的源地址(例如,IPv4源地址)和/或IPv4目的地设备的目的地地址(例如,IPv4目的地地址)。例如,如图1A所示,映射PCP请求包括“192.168.1.2”源IP地址和“198.51.100.1”目的地IP地址。
如在图1A中通过附图标记110进一步所示,PCP客户端设备可以将选择请求发送到网络设备。例如,PCP客户端设备和/或网络设备可以与网络设备建立通信会话。因此,PCP客户端设备可以经由通信会话将选项请求发送到网络设备。
如在图1A中通过附图标记115进一步所示,网络设备可以处理该选项请求以标识源IPv6前缀和/或目的地IPv6前缀(例如,当经由IPv6网络将分组发送到IPv4目的地设备时将由IPv4源设备使用)。例如,当网络设备接收到映射PCP请求(例如,诸如,图1A所示的映射PCP请求)时,网络设备可以基于“MAP”8位选项码、“src_pref::/m”Src前缀码和/或“dest_pref::/n”Dest前缀码来确定网络设备将提供地址转换(例如,IPv4到IPv6到IPv4的地址转换,也称为XLAT 464转换)。因此,网络设备可以基于包括在映射PCP请求中的源地址来搜索数据结构(例如,包括在网络设备中和/或对网络设备可访问),以标识与源地址相关联的源IPv6前缀(例如,如图1A所示,针对“192.168.1.2”源地址,源IPv6前缀为“2001:db8:aaa::/m”)。附加地或备选地,网络设备可以基于包括在映射PCP请求中的目的地地址来搜索数据结构,以标识与目的地地址相关联的目的地IPv6前缀(例如,如图1A所示,针对“198.51.100.1”目的地地址,目的地IPv6前缀为“2001:db8:bbb::/n”)。在一些实现中,目的地地址包括IPv4目的地设备的公共地址,并且目的地IPv6前缀与IPv4目的地设备的公共地址相关联。例如,“198.51.100.1”可以是IPv4目的地地址的IPv4公共地址,并且“2001:db8:bbb::/n”可以是IPv4目的地设备的IPv6公共地址。
如在图1B中通过附图标记120所示,网络设备可以配置选项响应(例如,响应于由网络设备接收到的选项请求)。选项响应可以包括映射响应码、宣告响应码等。例如,如图1B所示,选项响应可以是包括“MAP”8位选项码的映射PCP响应。选项响应可以包括源IPv6前缀和/或目的地IPv6前缀。例如,如图1B所示,选项响应包括“2001:db8:aaa::/m”源IPv6前缀和“2001:db8:bbb::/n”目的地IPv6前缀。
在一些实现中,选项响应可以包括前缀学习码,该前缀学习码可以被配置为(例如,可以具有特定值或文本串)使IPv4源设备在经由IPv6网络将业务发送到IPv4目的地设备时使用源IPv6前缀和/或目的地IPv6前缀。例如,如图1B所示,映射PCP响应可以包括“PREF64”8位选项码,以向PCP客户端设备指示IPv4源设备将在经由网络设备向IPv4目的地设备发送业务时使用源IPv6前缀和/或目的地IPv6前缀。
如在图1B中通过附图标记125进一步所示,网络设备可以将选项响应发送到PCP客户端设备。例如,网络设备可以经由在PCP客户端设备和网络设备之间建立的通信会话将选项响应发送到IPv4。
如在图1B中通过附图标记130进一步所示,PCP客户端设备可以向IPv4源设备提供源IPv6前缀和/或目的地IPv6前缀,以允许IPv4源设备使用源IPv6前缀和/或目的地IPv6前缀,以(例如,经由IPv6网络的网络设备)向IPv4目的地设备发送业务(例如,一个或多个分组)。在一些实现中,PCP客户端设备可以处理(例如,解析)选项响应以标识响应码和/或前缀学习码,并且可以基于响应码和/或前缀学习码来将源IPv6前缀和/或目的地IPv6前缀存储在数据结构中(例如,包括在PCP客户端设备中和/或对IPv4源设备可访问)。PCP客户端设备可以将具有源设备的源地址(例如,IPv4源地址)的源IPv6前缀存储在数据结构中(例如,作为IPv6源地址)和/或将具有目的地设备的目的地地址(例如,IPv4目的地地址)的目的地IPv6前缀存储在数据结构中(例如,作为IPv6目的地地址)。
例如,如图1B所示,PCP客户端设备可以基于包括在映射PCP响应中的“MAP”8位选项码和/或“PREF64”8位选项码来存储“2001:db8:aaa::/m”源IPv6前缀和“192.168.1.2”源地址(例如,IPv4源地址)作为“2001:db8:aaa::192.168.1.2”IPv6源地址。作为另一示例,如图1B所示,PCP客户端设备可以基于包括在映射PCP响应中的“MAP”8位选项码和/或“PREF64”8位选项码来将“2001:db8:bbb::/n”目的地IPv6前缀和“198.51.100.1”目的地地址(例如,IPv4目的地地址)存储在目的地地址表中,其将“198.51.100.1”目的地地址与“2001:db8:bbb::198.51.100.1”IPv6目的地地址相关联。因此,IPv4源设备可以在要经由网络设备和IPv6网络发送到IPv4目的地设备的分组的源地址中包括源IPv6地址和/或在该分组的目的地中包括目的地IPv6地址。
在一些实现中,PCP客户端设备可以经由在PCP客户端设备和网络设备之间建立的通信会话将分组(包括源IPv6地址和/或目的地IPv6地址)发送到网络设备。网络设备可以修改分组(例如,通过从IPv4分组的源地址中移除源IPv6前缀和/或通过从IPv4分组的目的地地址中移除目的地IPv6前缀),以将分组路由到IPv4目的地设备。例如,网络设备可以将包括“2001:db8:aaa::192.168.1.2”源地址和“2001:db8:bbb::198.51.100.1”目的地地址的分组修改为具有“192.168.1.2”源地址”和“198.51.100.1”目的地地址。然后,网络设备可以将分组转换和/或路由到IPv4目的地设备。
附加地或备选地,网络设备可以接收来自IPv6源设备的附加选项请求(例如,包括请求码,诸如,映射请求码)和IPv4目的地设备的目的地地址(例如,IPv4目的地地址)。附加选项请求可以包括前缀码,该前缀码被配置为(例如,可以具有特定值或文本串)使网络设备在附加选项响应(例如,其是对附加选项请求的响应)中提供目的地IPv6前缀。网络设备可以处理附加选项请求以标识目的地IPv6前缀(例如,以与本文关于图1A和附图标记115所描述的方式类似的方式)。网络设备可以将附加选项响应配置为包括响应码(诸如,映射响应码)和目的地IPv6前缀(例如,以与本文关于图1B和附图标记120所描述的方式类似的方式)。网络设备可以将附加响应发送到IPv6源设备,以允许IPv6源将目的地IPv6前缀用于要发送到IPv4目的地设备的业务(例如,以与本文关于图1B以及附图标记125和130所描述的方式类似的方式)。
如上面所指示的,图1A至图1B被提供为示例。其他示例可以不同于关于图1A至图1B所描述的。图1A至图1B所示的设备的数量和布置被提供为示例。实际上,与图1A至图1B所示的设备相比,可以有附加设备、更少设备、不同设备或布置不同的设备。此外,图1A至图1B所示的两个或更多个设备可以实现在单个设备内,或者图1A至图1B所示的单个设备可以实现为多个分布式设备。附加地或备选地,图1A至图1B所示的设备集合(例如,一个或多个设备)可以执行被描述为由图1A至图1B所示的另一设备集合执行的一个或多个功能。
图2是可以实现本文描述的系统和/或方法的示例环境200的示意图。如图2所示,环境200可以包括一个或多个对等设备210、一个或多个网络设备220-1至220-N(N≥1)(在下文中统称为“网络设备220”,并且单独地称为“网络设备220”)、第一IPv4网络230-1和第二IPv4网络230-2(在下文中统称为“IPv4网络230”,并且单独地称为“IPv4网络230”)和IPv6网络240。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合来互连。
对等设备210包括能够接收和/或提供网络业务的一个或多个设备。例如,对等设备210可以包括业务传递设备,诸如,路由器、网关、开关、防火墙、集线器、桥接器、反向代理、服务器(例如,代理服务器、执行虚拟机的服务器等)、负载平衡器或类似类型的设备。附加地或备选地,对等设备210可以包括端点设备,该端点设备是网络业务的源或目的地。例如,对等设备210可以包括计算机或类似类型的设备。
在一些实现中,对等设备210可以从其他对等设备210接收网络业务和/或可以向其他对等设备210提供网络业务。例如,对等设备210-1(例如,与IPv4网络230-1相关联)可以向对等设备210-2(例如,与IPv4网络230-2相关联)提供网络业务(例如,一个或多个分组)。在这种情况下,对等设备210-1可以经由IPv6网络240的网络设备220向对等设备210-2提供网络业务。在一些实现中,对等设备210可以对应于本文关于图1A至图1B描述的PCP客户端设备和/或IPv4目的地设备。
网络设备220包括能够在对等设备(例如,对等设备210)和/或业务传递设备(例如,其他网络设备220)之间处理、转发和/或传递业务的一个或多个设备(例如,一个或多个业务传递设备)。例如,网络设备220可以包括路由器,诸如,标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供方路由器(例如,提供方边缘路由器、提供方核心路由器等)、虚拟路由器等。附加地或备选地,网络设备220可以包括网关、交换机、防火墙、集线器、桥接器、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载平衡器或另一类型的业务传递设备。在一些实现中,网络设备220可以是在外壳(诸如,机架)内实现的物理设备。在实现中,网络设备220可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。
IPv4网络230包括支持IPv4通信的一个或多个有线和/或无线网络。例如,IPv4网络230可以包括蜂窝网络(例如,第五代(5G)网络、第四代(4G)网络(诸如长期演进(LTE)网络)、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、私有网络、自组网、内联网、互联网、基于光纤的网络、云计算网络等和/或这些或其他类型的网络的组合。
IPv6网络240包括支持IPv6通信的一个或多个有线和/或无线网络。例如,IPv6网络240可以包括蜂窝网络(例如,第五代(5G)网络、第四代(4G)网络(诸如长期演进(LTE)网络)、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、私有网络、自组网、内联网、互联网、基于光纤的网络、云计算网络等和/或这些或其他类型的网络的组合。
图2所示的设备和网络的数量和布置被提供为示例。实际上,与图2所示的设备和/或网络相比,可以有附加设备和/或网络、更少设备和/或网络、不同设备和/或网络或者布置不同的设备和/或网络。此外,图2所示的两个或更多个设备可以实现在单个设备内,或者图2所示的单个设备可以实现为多个分布式设备。附加地或备选地,环境200的设备集合(例如,一个或多个设备)可以执行被描述为由环境200的另一设备集合执行的一个或多个功能。
图3是设备300的示例组件的示意图,该设备300可以对应于对等设备210和/或网络设备220。在一些实现中,对等设备210和/或网络设备220可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。
总线310包括实现设备300的组件之间的有线和/或无线通信的组件。处理器320包括中央处理单元、图形处理单元、微处理器、控制器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和/或另一类型的处理组件。处理器320被实现在硬件、固件或者硬件和软件的组合中。在一些实现中,处理器320包括能够被编程为执行功能的一个或多个处理器。存储器330包括随机存取存储器、只读存储器和/或另一类型的存储器(例如,闪存、磁性存储器和/或光学存储器)。
存储组件340存储与设备300的操作相关的信息和/或软件。例如,存储组件340可以包括硬盘驱动器、磁盘驱动器、光盘驱动器、固态磁盘驱动器、压缩光盘、数字通用光盘和/或另一类型的非瞬态计算机可读介质。输入组件350使设备300能够接收输入,诸如用户输入和/或感测到的输入。例如,输入组件350可以包括触摸屏、键盘、小键盘、鼠标、按钮、麦克风、开关、传感器、全球定位系统组件、加速度计、陀螺仪、致动器等。输出组件360使设备300能够诸如经由显示器、扬声器和/或一个或多个发光二极管来提供输出。通信接口370使设备300能够诸如经由有线连接和/或无线连接与其他设备通信。例如,通信接口370可以包括接收器、传输器、收发器、调制解调器、网络接口卡、天线等。
设备300可以执行本文描述的一个或多个过程。例如,非瞬态计算机可读介质(例如,存储器330和/或存储组件340)可以存储指令集(例如,一个或多个指令、代码、软件代码、程序代码等)以供处理器320执行。处理器320可以执行指令集以执行本文描述的一个或多个过程。在一些实现中,由一个或多个处理器320执行指令集使一个或多个处理器320和/或设备300执行本文描述的一个或多个过程。在一些实现中,硬连线电路装置可以代替指令使用或者与指令组合使用以执行本文描述的一个或多个过程。因此,本文描述的实现并不限于硬件电路装置和软件的任何特定组合。
图3所示的组件的数量和布置被提供为示例。与图3所示的组件相比,设备300可以包括附加组件、更少组件、不同组件或者布置不同的组件。附加地或备选地,设备300的组件集合(例如,一个或多个组件)可以执行被描述为由设备300的另一组件集合执行的一个或多个功能。
图4是设备400的示例组件的示意图。设备400可以对应于对等设备210和/或网络设备220。在一些实现中,对等设备210和/或网络设备220可以包括一个或多个设备400和/或设备400的一个或多个组件。如图4所示,设备400可以包括一个或多个输入组件410-1至410-B(B≥1)(在下文中统称为输入组件410,并且单独地称为输入组件410)、交换组件(switching component)420、一个或多个输出组件430-1至430-C(C≥1)(在下文中统称为输出组件430,并且单独地称为输出组件430)以及控制器440。
输入组件410可以是物理链路的一个或多个附接点,并且可以是传入业务(诸如,分组)的一个或多个入口点。输入组件410可以处理传入业务,诸如,通过执行数据链路层封装或解封装。在一些实现中,输入组件410可以传输和/或接收分组。在一些实现中,输入组件410可以包括输入线卡,其包括一个或多个分组处理组件(例如,集成电路的形式),诸如,一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备400可以包括一个或多个输入组件410。
交换组件420可以使输入组件410与输出组件430互连。在一些实现中,交换组件420可以经由一个或多个交叉开关、经由总线和/或利用共享存储器实现。共享存储器可以充当临时缓冲器以在最终调度分组以递送到输出组件430之前存储来自输入组件410的分组。在一些实现中,交换组件420可以使得输入组件410、输出组件430和/或控制器440能够彼此通信。
输出组件430可以存储分组,并且可以调度分组以用于在输出物理链路上传输。输出组件430可以支持数据链路层封装或解封装和/或各种高级协议。在一些实现中,输出组件430可以传输分组和/或接收分组。在一些实现中,输出组件430可以包括输出线卡,其包括一个或多个分组处理组件(例如,集成电路的形式),诸如,一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备400可以包括一个或多个输出组件430。在一些实现中,可以通过相同的组件集合来实现输入组件410和输出组件430(例如,并且输入/输出组件可以是输入组件410和输出组件430的组合)。
控制器440包括例如CPU、GPU、APU、微处理器、微控制器、DSP、FPGA、ASIC和/或另一类型的处理器形式的处理器。处理器被实现在硬件、固件或者硬件和软件的组合中。在一些实现中,控制器440可以包括可以被编程为执行功能的一个或多个处理器。
在一些实现中,控制器440可以包括RAM、ROM和/或存储供控制器440使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪存、磁性存储器、光学存储器等)。
在一些实现中,控制器440可以与连接至设备400的其他设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器440可以基于网络拓扑信息创建路由表,可以基于路由表创建转发表,并且可以将转发表转发到输入组件410和/或输出组件430。输入组件410和/或输出组件430可以使用转发表来执行针对传入和/或传出分组的路由查找。
控制器440可以执行本文描述的一个或多个过程。控制器440可以响应于执行由非瞬态计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或者散布在多个物理存储设备上的存储器空间。
可以经由通信接口从另一计算机可读介质或从另一设备将软件指令读取到与控制器440相关联的存储器和/或存储组件中。在执行时,存储在与控制器440相关联的存储器和/或存储组件中的软件指令可以使控制器440执行本文描述的一个或多个过程。附加地或备选地,硬连线电路装置可以代替软件指令使用或者与软件指令组合使用以执行本文描述的一个或多个过程。因此,本文描述的实现并不限于硬件电路装置和软件的任何特定组合。
图4所示的组件的数量和布置被提供为示例。实际上,与图4所示的组件相比,设备400可以包括附加组件、更少组件、不同组件或者布置不同的组件。附加地或备选地,设备400的组件集合(例如,一个或多个组件)可以执行被描述为由设备400的另一组件集合执行的一个或多个功能。
图5是与用于PCP通信的动态互联网协议转换相关联的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由网络设备(例如,网络设备220)执行。在一些实现中,图5的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组执行,诸如,对等设备(例如,对等设备210)等。附加地或备选地,图5的一个或多个过程框可以由设备300的一个或多个组件(诸如,处理器320、存储器330、存储组件340、输入组件350、输出组件360、通信接口370等);设备400(诸如,输入组件410、交换组件420、输出组件430、控制器440等)等执行。
如图5所示,过程500可以包括从客户端设备接收选项请求,该选项请求包括源设备的源地址和目的地设备的目的地地址,其中网络设备与IPv6网络相关联(框510)。例如,网络设备可以从客户端设备接收选项请求,该选项请求包括源设备的源地址和目的地设备的目的地地址,如上所述。在一些实现中,网络设备与IPv6网络相关联。
如图5进一步所示,过程500可以包括标识与针对关联于目的地设备的业务的地址转换相关联的映射码(框520)。例如,网络设备可以标识与针对关联于目的地设备的业务的地址转换相关联的映射码,如上所述。
如图5进一步所示,过程500可以包括基于标识映射码来确定针对地址转换的源前缀码和目的地前缀码(框530)。例如,网络设备可以基于标识映射码来确定针对地址转换的源前缀码和目的地前缀码,如上所述。
如图5进一步所示,过程500可以包括基于源前缀码和目的地前缀码来确定针对地址转换的源IPv6前缀和目的地IPv6前缀(框540)。例如,网络设备可以基于源前缀码和目的地前缀码来确定针对地址转换的源IPv6前缀和目的地IPv6前缀,如上所述。
如图5进一步所示,过程500可以包括向客户端设备提供对选项请求的选项响应,以允许源设备针对业务使用源IPv6前缀和目的地IPv6前缀(框550)。例如,网络设备可以向客户端设备提供对选项请求的选项响应,以允许源设备针对业务使用源IPv6前缀和目的地IPv6前缀,如上所述。
过程500可以包括附加实现,诸如,任何单个实现或者下面描述和/或结合本文其他地方描述的一个或多个其他过程的实现的任何组合。
在第一实现中,源设备是IPv4设备,并且目的地设备是IPv4设备。
在第二实现中,单独地或者与第一实现组合,目的地地址包括目的地设备的公共地址,并且目的地IPv6前缀与目的地设备的公共地址相关联。
在第三实现中,单独地或者与第一和第二实现中的一个或多个组合,地址转换包括IPv4到IPv6到IPv4的地址转换。
在第四实现中,单独地或者与第一至第三实现中的一个或多个组合,选项请求包括PCP请求,并且映射码是PCP选项码。
在第五实现中,单独地或者与第一至第四实现中的一个或多个组合,过程500包括基于源前缀码和目的地前缀码被包括在选项请求中来确定地址转换与IPv4到IPv6到IPv4的地址转换相关联,其中源IPv6前缀和目的地IPv6前缀基于确定地址转换与IPv4到IPv6到IPv4的地址转换相关联而被标识。
在第六实现中,单独地或者与第一至第五实现中的一个或多个组合,选项响应包括映射码和前缀学习码,其中选项响应基于包括映射码和前缀学习码而被配置为使源设备使用具有源地址的源IPv6前缀和具有目的地地址的目的地IPv6前缀作为针对业务的地址信息。
在第七实现中,单独地或者与第一至第六实现中的一个或多个组合,选项请求是第一选项请求,并且选项响应是包括源IPv6前缀的第一选项响应,并且过程500包括:从IPv6源设备接收包括映射码和附加前缀码的第二选项请求;基于映射码和附加前缀码来确定IPv6源设备与IPv6网络相关联;以及基于确定IPv6源设备与IPv6网络相关联来提供包括目的地IPv6前缀的第二选项响应,以允许IPv6源设备针对与目的地设备相关联的业务使用目的地IPv6前缀。
尽管图5示出了过程500的示例框,但是在一些实现中,与图5所描绘的框相比,过程500可以包括附加框、更少框、不同框或者布置不同的框。附加地或备选地,可以并行执行过程500的两个或更多个框。
图6是与用于PCP通信的动态互联网协议转换相关联的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由网络设备(例如,网络设备220)执行。在一些实现中,图6的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组执行,诸如,对等设备(例如,对等设备210)等。附加地或备选地,图6的一个或多个过程框可以由设备300的一个或多个组件(诸如,处理器320、存储器330、存储组件340、输入组件350、输出组件360、通信接口370等);设备400(诸如,输入组件410、交换组件420、输出组件430、控制器440等)等执行。
如图6所示,过程600可以包括从PCP客户端设备接收选项请求,该选项请求包括IPv4源设备的源地址和IPv4目的地设备的目的地地址,其中网络设备与IPv6网络相关联(框610)。例如,网络设备可以从PCP客户端设备接收选项请求,该选项请求包括IPv4源设备的源地址和IPv4目的地设备的目的地地址,如上所述。在一些实现中,网络设备与IPv6网络相关联。
如图6进一步所示,过程600可以包括基于PCP客户端设备和IPv4目的地设备与一个或多个IPv4网络相关联来确定针对地址转换的源IPv6前缀和目的地IPv6前缀,以促进IPv4源设备与IPv4目的地设备之间经由IPv6网络的通信(框620)。例如,网络设备可以基于PCP客户端设备和IPv4目的地设备与一个或多个IPv4网络相关联,来确定针对地址转换的源IPv6前缀和目的地IPv6前缀,以促进IPv4源设备与IPv4目的地设备之间经由IPv6网络的通信,如上所述。
如图6进一步所示,过程600可以包括向PCP客户端设备提供对选项请求的选项响应,以使IPv4源设备使用源IPv6前缀和目的地IPv6前缀来将业务发送到IPv4目的地设备(框630)。例如,网络设备可以向PCP客户端设备提供对选项请求的选项响应,以使IPv4源设备使用源IPv6前缀和目的地IPv6前缀来将业务发送到IPv4目的地设备,如上所述。
过程600可以包括附加实现,诸如,任何单个实现或者下面描述和/或结合本文其他地方描述的一个或多个其他过程的实现的任何组合。
在第一实现中,PCP客户端设备包括第一网络的IPv4客户端设备,并且IPv4目的地设备包括与第一网络不同的第二网络的IPv4服务器设备。
在第二实现中,单独地或者与第一实现组合,源IPv6前缀和目的地IPv6前缀基于包括映射码、源前缀码和目的地前缀码的选项请求而被确定。
在第三实现中,单独地或者与第一和第二实现中的一个或多个组合,选项请求是与PCP相关联的并且由PCP的映射码标识的映射请求。
在第四实现中,单独地或者与第一至第三实现中的一个或多个组合,过程600包括基于PCP客户端设备和IPv4目的地设备与一个或多个IPv4网络相关联来确定地址转换与IPv4到IPv6到IPv4的地址转换相关联。
在第五实现中,单独地或者与第一至第四实现中的一个或多个组合,选项响应包括与PCP相关联的前缀学习码,其中选项响应基于包括前缀学习码而被配置为使IPv4源设备使用具有源地址的源IPv6前缀和具有目的地地址的目的地IPv6前缀作为针对业务的地址信息。
尽管图6示出了过程600的示例框,但是在一些实现中,与图6所描绘的框相比,过程600可以包括附加框、更少框、不同框或者布置不同的框。附加地或备选地,可以并行执行过程600的两个或更多个框。
图7是与用于PCP通信的动态互联网协议转换相关联的示例过程700的流程图。在一些实现中,图7的一个或多个过程框可以由对等设备(例如,对等设备210)执行。在一些实现中,图6的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组执行,诸如,网络设备(例如,网络设备220)等。附加地或备选地,图7的一个或多个过程框可以由设备300的一个或多个组件(诸如,处理器320、存储器330、存储组件340、输入组件350、输出组件360、通信接口370等);设备400(诸如,输入组件410、交换组件420、输出组件430、控制器440等)等执行。
如图7所示,过程700可以包括获得与目的地设备相关联的目的地地址(框710)。例如,对等设备可以获得与目的地设备相关联的目的地地址,如上所述。
如图7进一步所示,过程700可以包括基于目的地地址配置关联于经由IPv6网络与目的地设备通信的选项请求(框720)。例如,对等设备可以基于目的地地址配置关联于经由IPv6网络与目的地设备通信的选项请求,如上所述。
如图7进一步所示,过程700可以包括向IPv6网络的网络设备发送选项请求(框730)。例如,对等设备可以向IPv6网络的网络设备发送选项请求,如上所述。
如图7进一步所示,过程700可以包括从网络设备并且与选项请求相关联地接收源IPv6前缀和目的地IPv6前缀(框740)。例如,对等设备可以从网络设备并且与选项请求相关联地接收源IPv6前缀和目的地IPv6前缀,如上所述。
如图7进一步所示,过程700可以包括在数据结构中维护源IPv6前缀和目的地IPv6前缀作为IPv6地址信息以用于将业务发送到目的地设备(框750)。例如,对等设备可以在数据结构中维护源IPv6前缀和目的地IPv6前缀作为IPv6地址信息以用于将业务发送到目的地设备,如上所述。
过程700可以包括附加实现,诸如,任何单个实现或者下面描述和/或结合本文其他地方描述的一个或多个其他过程的实现的任何组合。
在第一实现中,IPv6地址信息包括与源设备相关联的IPv6源地址,该IPv6源地址包括源IPv6前缀和源设备的源地址。IPv6还可以包括与目的地设备相关联的IPv6目的地地址,该IPv6目的地地址包括目的地IPv6前缀和目的地地址。
在第二实现中,单独地或者与第一实现组合,源设备和目的地设备是IPv4设备。
在第三实现中,单独地或者与第一和第二实现中的一个或多个组合,选项请求包括映射码、源前缀码和目的地前缀码,映射码、源前缀码和目的地前缀码被配置为使网络设备提供源IPv6前缀和目的地IPv6前缀,并且源IPv6前缀和目的地IPv6前缀是在包括映射码和前缀学习码的选项响应中被接收的,该前缀学习码被配置为使源设备在发送业务时使用源IPv6前缀和目的地IPv6前缀。
在第四实现中,单独地或者与第一至第三实现中的一个或多个组合,映射码和前缀学习码是与关联于IPv6网络的端口控制协议(PCP)相关联的选项码。
在第五实现中,单独地或者与第一至第四实现中的一个或多个组合,源前缀码和目的地前缀码是与IPv6网络相关联的预配置码。
尽管图7示出了过程700的示例框,但是在一些实现中,与图7所描绘的框相比,过程700可以包括附加框、更少框、不同框或者布置不同的框。附加地或备选地,可以并行执行过程700的两个或更多个框。
根据本公开的实现,提供了以下示例。
示例1.一种方法,包括:由网络设备从客户端设备接收选项请求,选项请求包括源设备的源地址和目的地设备的目的地地址,其中网络设备与互联网协议版本6(IPv6)网络相关联;由网络设备标识映射码,映射码与针对关联于目的地设备的业务的地址转换相关联;由网络设备基于标识映射码来确定针对地址转换的源前缀码和目的地前缀码;由网络设备基于源前缀码和目的地前缀码来确定针对地址转换的源IPv6前缀和目的地IPv6前缀;以及由网络设备向客户端设备提供对选项请求的选项响应,以允许源设备针对业务使用源IPv6前缀和目的地IPv6前缀。
示例2.根据示例1的方法,其中源设备是互联网协议版本4(IPv4)设备,并且目的地设备是IPv4设备。
示例3.根据示例1的方法,其中目的地地址包括目的地设备的公共地址,并且目的地IPv6前缀与目的地设备的公共地址相关联。
示例4.根据示例1的方法,其中地址转换包括互联网协议版本4(IPv4)到IPv6到IPv4的地址转换。
示例5.根据示例1的方法,其中选项请求包括端口控制协议(PCP)请求,并且映射码是PCP选项码。
示例6.根据示例1的方法,还包括:基于源前缀码和目的地前缀码被包括在选项请求中,确定地址转换与互联网协议版本4(IPv4)到IPv6到IPv4的地址转换相关联,其中源IPv6前缀和目的地IPv6前缀基于确定地址转换与IPv4到IPv6到IPv4的地址转换相关联而被标识。
示例7.根据示例1的方法,其中选项响应包括映射码和前缀学习码,其中选项响应基于包括映射码和前缀学习码而被配置为使源设备使用具有源地址的源IPv6前缀和具有目的地地址的目的地IPv6前缀作为针对业务的地址信息。
示例8.根据示例1的方法,其中选项请求是第一选项请求,并且选项响应是包括源IPv6前缀的第一选项响应,方法还包括:从IPv6源设备接收包括映射码和附加前缀码的第二选项请求;基于映射码和附加前缀码来确定IPv6源设备与IPv6网络相关联;以及基于确定IPv6源设备与IPv6网络相关联来提供包括目的地IPv6前缀的第二选项响应,以允许IPv6源设备针对与目的地设备相关联的业务使用目的地IPv6前缀。
示例9.一种网络设备,包括:一个或多个存储器;以及一个或多个处理器,用以:从端口控制协议(PCP)客户端设备接收选项请求,选项请求包括互联网协议版本4(IPv4)源设备的源地址和IPv4目的地设备的目的地地址,其中网络设备与互联网协议版本6(IPv6)网络相关联;基于PCP客户端设备和IPv4目的地设备与一个或多个IPv4网络相关联,确定针对地址转换的源IPv6前缀和目的地IPv6前缀以促进IPv4源设备与IPv4目的地设备之间经由IPv6网络的通信;以及向PCP客户端设备提供对选项请求的选项响应,以使IPv4源设备使用源IPv6前缀和目的地IPv6前缀来将业务发送到IPv4目的地设备。
示例10.根据示例9的网络设备,其中PCP客户端设备包括第一网络的IPv4客户端设备,并且IPv4目的地设备包括第二网络的IPv4客户端设备,第二网络与第一网络不同。
示例11.根据示例9的网络设备,其中源IPv6前缀和目的地IPv6前缀基于包括映射码、源前缀码和目的地前缀码的选项请求而被确定。
示例12.根据示例9的网络设备,其中选项请求是与端口控制协议(PCP)相关联的并且由PCP的映射码标识的映射请求。
示例13.根据示例9的网络设备,其中一个或多个处理器还用以:基于PCP客户端设备和IPv4目的地设备与一个或多个IPv4网络相关联,确定地址转换与互联网协议版本4(IPv4)到IPv6到IPv4的地址转换相关联。
示例14.根据示例9的网络设备,其中选项响应包括与端口控制协议(PCP)相关联的前缀学习码,其中选项响应基于包括前缀学习码而被配置为使PCP客户端设备使用具有源地址的源IPv6前缀和具有目的地地址的目的地IPv6前缀作为针对业务的地址信息。
示例15.一种存储指令的非瞬态计算机可读介质,指令包括:一个或多个指令,一个或多个指令在由客户端设备的一个或多个处理器执行时使一个或多个处理器:获得与目的地设备相关联的目的地地址;基于目的地地址,配置选项请求,选项请求关联于经由互联网协议版本6(IPv6)网络与目的地设备通信;向IPv6网络的网络设备发送选项请求;从网络设备并且与选项请求相关联地接收源IPv6前缀和目的地IPv6前缀;以及在数据结构中维护源IPv6前缀和目的地IPv6前缀作为IPv6地址信息以用于向目的地设备发送业务。
示例16.根据示例15的非瞬态计算机可读介质,其中IPv6地址信息包括:与源设备相关联的IPv6源地址,包括:源IPv6前缀,以及源设备的源地址;以及与目的地设备相关联的IPv6目的地地址,包括:目的地IPv6前缀,以及目的地地址。
示例17.根据示例15的非瞬态计算机可读介质,其中源设备和目的地设备是互联网协议版本4(IPv4)设备。
示例18.根据示例15的非瞬态计算机可读介质,其中选项请求包括映射码、源前缀码和目的地前缀码,映射码、源前缀码和目的地前缀码被配置为使网络设备提供源IPv6前缀和目的地IPv6前缀,并且其中源IPv6前缀和目的地IPv6前缀是在包括映射码和前缀学习码的选项响应中被接收的,前缀学习码被配置为使源设备在发送业务时使用源IPv6前缀和目的地IPv6前缀。
示例19.根据示例18的非瞬态计算机可读介质,其中映射码和前缀学习码是与关联于IPv6网络的端口控制协议(PCP)相关联的选项码。
示例20.根据示例18的非瞬态计算机可读介质,其中源前缀码和目的地前缀码是与IPv6网络相关联的预配置码。
前述公开内容提供了说明和描述,但并非旨在穷举实现或将实现限制于所公开的精确形式。可以鉴于以上公开内容进行修改和变型,或者可以从实现的实践中获取修改和变型。
如本文所使用的,术语“组件”旨在被广义地解释为硬件、固件或硬件和软件的组合。
如本文所使用的,业务或内容可以包括分组集合。“分组”可以指用于传递信息的通信结构,诸如,协议数据单元(PDU)、服务数据单元(SDU)、网络分组、数据报、区段、消息、块、帧(例如,以太网帧)、上述的任何的一部分和/或能够经由网络传输的另一类型的格式化或未格式化的数据单元。
将明显的是,本文描述的系统和/或方法可以以硬件、固件和/或硬件和软件的组合的不同形式实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码并不限制实现。因此,本文描述了系统和/或方法的操作和行为,而没有参照特定的软件代码—要理解,软件和硬件可以用于基于本文的描述实现系统和/或方法。
即使特征的特定组合被叙述在权利要求中和/或公开在说明书中,但是这些组合并不旨在限制各种实现的公开内容。事实上,这些特征中的许多特征可以以未被具体叙述在权利要求中和/或公开在说明书中的方式组合。尽管下面列举的每项从属权利要求都可以仅直接依赖于一项权利要求,但是各种实现的公开内容包括与权利要求集合中的每项其他权利要求组合的每项从属权利要求。
除非明确地这样描述,否则本文使用的元件、动作或指令不应该被解释为关键或必要的。而且,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。进一步地,如本文所使用的,冠词“该”旨在包括结合冠词“该”引用的一个或多个项目,并且可以与“一个或多个”互换使用。此外,如本文所使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可以与“一个或多个”互换使用。在仅有一个项目的情况下,使用短语“仅一个”或类似语言。而且,如本文所使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在作为开放式术语。进一步地,除非另有明确规定,否则短语“基于”旨在表示“至少部分地基于”。而且,如本文所使用的,除非另有明确规定(例如,如果与“任一个”或“…中的仅一个”组合使用),否则术语“或”在串联使用时旨在是包含性的,并且可以与“和/或”互换使用。

Claims (20)

1.一种方法,包括:
由网络设备从客户端设备接收选项请求,所述选项请求包括源设备的源地址和目的地设备的目的地地址,
其中所述网络设备与互联网协议版本6(IPv6)网络相关联;
由所述网络设备标识映射码,所述映射码与针对关联于所述目的地设备的业务的地址转换相关联;
由所述网络设备基于标识所述映射码来确定针对所述地址转换的源前缀码和目的地前缀码;
由所述网络设备基于所述源前缀码和所述目的地前缀码来确定针对所述地址转换的源IPv6前缀和目的地IPv6前缀;以及
由所述网络设备向所述客户端设备提供对所述选项请求的选项响应,以允许所述源设备针对所述业务使用所述源IPv6前缀和所述目的地IPv6前缀。
2.根据权利要求1所述的方法,其中所述源设备是互联网协议版本4(IPv4)设备,并且所述目的地设备是IPv4设备。
3.根据权利要求1所述的方法,其中所述目的地地址包括所述目的地设备的公共地址,并且所述目的地IPv6前缀与所述目的地设备的公共地址相关联。
4.根据权利要求1所述的方法,其中所述地址转换包括互联网协议版本4(IPv4)到IPv6到IPv4的地址转换。
5.根据权利要求1所述的方法,其中所述选项请求包括端口控制协议(PCP)请求,并且所述映射码是PCP选项码。
6.根据权利要求1所述的方法,还包括:
基于所述源前缀码和所述目的地前缀码被包括在所述选项请求中,确定所述地址转换与互联网协议版本4(IPv4)到IPv6到IPv4的地址转换相关联,
其中所述源IPv6前缀和所述目的地IPv6前缀基于确定所述地址转换与所述IPv4到IPv6到IPv4的地址转换相关联而被标识。
7.根据权利要求1所述的方法,其中所述选项响应包括所述映射码和前缀学习码,
其中所述选项响应基于包括所述映射码和所述前缀学习码而被配置为使所述源设备使用具有所述源地址的所述源IPv6前缀和具有所述目的地地址的所述目的地IPv6前缀作为针对所述业务的地址信息。
8.根据权利要求1所述的方法,其中所述选项请求是第一选项请求,并且所述选项响应是包括所述源IPv6前缀的第一选项响应,所述方法还包括:
从IPv6源设备接收包括所述映射码和附加前缀码的第二选项请求;
基于所述映射码和所述附加前缀码来确定所述IPv6源设备与所述IPv6网络相关联;以及
基于确定所述IPv6源设备与所述IPv6网络相关联来提供包括所述目的地IPv6前缀的第二选项响应,以允许所述IPv6源设备针对与所述目的地设备相关联的业务使用所述目的地IPv6前缀。
9.一种网络设备,包括:
一个或多个存储器;以及
一个或多个处理器,用以:
从端口控制协议(PCP)客户端设备接收选项请求,所述选项请求包括互联网协议版本4(IPv4)源设备的源地址和IPv4目的地设备的目的地地址,
其中所述网络设备与互联网协议版本6(IPv6)网络相关联;
基于所述PCP客户端设备和所述IPv4目的地设备与一个或多个IPv4网络相关联,确定针对地址转换的源IPv6前缀和目的地IPv6前缀以促进所述IPv4源设备与所述IPv4目的地设备之间经由所述IPv6网络的通信;以及
向所述PCP客户端设备提供对所述选项请求的选项响应,以使所述IPv4源设备使用所述源IPv6前缀和所述目的地IPv6前缀来将业务发送到所述IPv4目的地设备。
10.根据权利要求9所述的网络设备,其中所述PCP客户端设备包括第一网络的IPv4客户端设备,并且所述IPv4目的地设备包括第二网络的IPv4客户端设备,所述第二网络与所述第一网络不同。
11.根据权利要求9所述的网络设备,其中所述源IPv6前缀和所述目的地IPv6前缀基于包括映射码、源前缀码和目的地前缀码的所述选项请求而被确定。
12.根据权利要求9所述的网络设备,其中所述选项请求是与端口控制协议(PCP)相关联的并且由所述PCP的映射码标识的映射请求。
13.根据权利要求9所述的网络设备,其中所述一个或多个处理器还用以:
基于所述PCP客户端设备和所述IPv4目的地设备与所述一个或多个IPv4网络相关联,确定所述地址转换与互联网协议版本4(IPv4)到IPv6到IPv4的地址转换相关联。
14.根据权利要求9所述的网络设备,
其中所述选项响应包括与端口控制协议(PCP)相关联的前缀学习码,
其中所述选项响应基于包括所述前缀学习码而被配置为使所述PCP客户端设备使用具有所述源地址的所述源IPv6前缀和具有所述目的地地址的所述目的地IPv6前缀作为针对所述业务的地址信息。
15.一种存储指令的非瞬态计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令在由客户端设备的一个或多个处理器执行时使所述一个或多个处理器:
获得与目的地设备相关联的目的地地址;
基于所述目的地地址,配置选项请求,所述选项请求关联于经由互联网协议版本6(IPv6)网络与所述目的地设备通信;
向所述IPv6网络的网络设备发送所述选项请求;
从所述网络设备并且与所述选项请求相关联地接收源IPv6前缀和目的地IPv6前缀;以及
在数据结构中维护所述源IPv6前缀和所述目的地IPv6前缀作为IPv6地址信息以用于向所述目的地设备发送业务。
16.根据权利要求15所述的非瞬态计算机可读介质,其中所述IPv6地址信息包括:
与所述源设备相关联的IPv6源地址,包括:
所述源IPv6前缀,以及
所述源设备的源地址;以及
与所述目的地设备相关联的IPv6目的地地址,包括:
所述目的地IPv6前缀,以及
所述目的地地址。
17.根据权利要求15所述的非瞬态计算机可读介质,其中所述源设备和所述目的地设备是互联网协议版本4(IPv4)设备。
18.根据权利要求15所述的非瞬态计算机可读介质,其中所述选项请求包括映射码、源前缀码和目的地前缀码,所述映射码、所述源前缀码和所述目的地前缀码被配置为使所述网络设备提供所述源IPv6前缀和所述目的地IPv6前缀,并且
其中所述源IPv6前缀和所述目的地IPv6前缀是在包括所述映射码和前缀学习码的选项响应中被接收的,所述前缀学习码被配置为使所述源设备在发送所述业务时使用所述源IPv6前缀和所述目的地IPv6前缀。
19.根据权利要求18所述的非瞬态计算机可读介质,其中所述映射码和所述前缀学习码是与关联于所述IPv6网络的端口控制协议(PCP)相关联的选项码。
20.根据权利要求18所述的非瞬态计算机可读介质,其中所述源前缀码和所述目的地前缀码是与所述IPv6网络相关联的预配置码。
CN202010935882.6A 2020-07-17 2020-09-08 使用端口控制协议通信的动态互联网协议转换 Pending CN113949744A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/947,087 US11502955B2 (en) 2020-07-17 2020-07-17 Dynamic internet protocol translation using port-control-protocol communication
US16/947,087 2020-07-17

Publications (1)

Publication Number Publication Date
CN113949744A true CN113949744A (zh) 2022-01-18

Family

ID=72380957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010935882.6A Pending CN113949744A (zh) 2020-07-17 2020-09-08 使用端口控制协议通信的动态互联网协议转换

Country Status (3)

Country Link
US (2) US11502955B2 (zh)
EP (1) EP3941026A1 (zh)
CN (1) CN113949744A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114945013A (zh) * 2022-04-28 2022-08-26 中国电信股份有限公司 数据转发方法、装置、电子设备及计算机可读存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11502955B2 (en) 2020-07-17 2022-11-15 Juniper Networks, Inc. Dynamic internet protocol translation using port-control-protocol communication
CN112291204B (zh) * 2020-10-12 2022-02-22 清华大学 访问请求的处理方法、装置及可读存储介质
US11736436B2 (en) * 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11706109B2 (en) 2021-09-17 2023-07-18 Vmware, Inc. Performance of traffic monitoring actions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208140A (zh) * 2014-06-30 2015-12-30 中国电信股份有限公司 用于发送数据的方法、装置和系统
CN106170025A (zh) * 2015-05-22 2016-11-30 苹果公司 使用IPv4文本标识符经仅支持IPv6网络的通信
US20190007314A1 (en) * 2017-06-29 2019-01-03 Juniper Networks, Inc. Translation between a first version of internet protocol and a second version of internet protocol when an application layer gateway (alg) is involved

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11502955B2 (en) 2020-07-17 2022-11-15 Juniper Networks, Inc. Dynamic internet protocol translation using port-control-protocol communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208140A (zh) * 2014-06-30 2015-12-30 中国电信股份有限公司 用于发送数据的方法、装置和系统
CN106170025A (zh) * 2015-05-22 2016-11-30 苹果公司 使用IPv4文本标识符经仅支持IPv6网络的通信
US20190007314A1 (en) * 2017-06-29 2019-01-03 Juniper Networks, Inc. Translation between a first version of internet protocol and a second version of internet protocol when an application layer gateway (alg) is involved

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. BOUCADAIR: "Learning NAT64 PREFIX64s using Port Control Protocol (PCP) draft-ietf-pcp-nat64-prefix64-05", IETF, 8 August 2014 (2014-08-08) *
Q. SUN, Z. ZHANG, Q. ZHAO: "Running Multiple PLATs in 464XLAT draft-sun-v6ops-xlat-multi-00", IETF, 5 January 2015 (2015-01-05) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114945013A (zh) * 2022-04-28 2022-08-26 中国电信股份有限公司 数据转发方法、装置、电子设备及计算机可读存储介质
CN114945013B (zh) * 2022-04-28 2023-10-27 中国电信股份有限公司 数据转发方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
US11902159B2 (en) 2024-02-13
US20230014411A1 (en) 2023-01-19
US20220021616A1 (en) 2022-01-20
EP3941026A1 (en) 2022-01-19
US11502955B2 (en) 2022-11-15

Similar Documents

Publication Publication Date Title
US11902159B2 (en) Dynamic internet protocol translation for port-control-protocol communication
CN109155799B (zh) 经由层三通信的子网扩展
Nordström et al. Serval: An {End-Host} stack for {Service-Centric} networking
CN107317751B (zh) 用于提供路由的设备和方法
US8879394B2 (en) Method and system of packet based identifier locator network protocol (ILNP) load balancing and routing
CN111385199B (zh) 经压缩的路由报头
JP6367371B2 (ja) ネットワークパケットカプセル化およびルーティング
EP2723026A1 (en) Method and system of frame based identifier locator network protocol (ILNP) load balancing and routing
AU2014363687A1 (en) Establishing a data transfer connection
US20220407805A1 (en) Translation between a first version of internet protocol and a second version of internet protocol when an application layer gateway (alg) is involved
US9654540B2 (en) Load balancing among network servers
CN107872389B (zh) 用于业务负载平衡的方法、设备及计算机可读存储介质
US11909629B2 (en) Seamless segment routing for multiprotocol label switching (MPLS) interworking
CN117376241A (zh) 具有路由区分符的比特索引显式复制(bier)通告
US20230007469A1 (en) Communication apparatus, mobile communication terminal, communication method and program
CN117318974A (zh) 用于代理设备的非转换端口超额订阅
CN117336377A (zh) 用于端口感知IP转译器的IPv6分片和重组优化

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