使用IPv4文本标识符经仅支持IPv6网络的通信的制作方法

文档序号:11812016阅读:376来源:国知局
本申请涉及无线设备,更具体而言涉及用于经由仅支持IPv6的网络与IPv4网络上的设备进行通信的技术。
背景技术
::无线通信系统的使用迅速增长。而且,无线通信技术已经从只有语音的通信发展到还包括诸如因特网和多媒体内容的数据的传输。为了使他们的无线设备能访问提供这样的服务的无线通信网络(例如,蜂窝电信网络),在一些情况下,用户可能需要向服务提供商(“承载商”)订阅,承载商可以转而向用户提供这样的服务,例如经由他们运营的无线通信网络。无线承载商一般愿意部署纯因特网协议版本6(IPv6)数据网络。这样做有种种原因,包括IPv4地址的耗尽。仅支持IPv6的实现将可能使用NAT64/DNS64来便利IPv6和IPv4主机之间的通信,以便到达诸如因特网之类的其他网络上的仅支持IPv4的实体。在NAT64/DNS64方案中,当纯IPv6设备尝试连接到仅支持IPv4的主机时,DNS64服务器合成用于主机的IPv6地址(例如,当为仅支持IPv4的主机查找到A记录时,返回AAAA记录)。接着,使用NAT64服务器基于合成的IPv6地址的前缀来路由流量。NAT64在RFC6146、2011年4月M.Bagnulo的“StatefulNAT64:NetworkAddressandProtocolTranslationfromIPv6ClientstoIPv4Servers”中详细说明,此处以引用的方式将该文全部并入本文中。DNS64在RFC6147、2011年4月M.Bagnulo的“DNS64:DNSExtensionsforNetworkAddressTranslationfromIPv6ClientstoIPv4Servers”中详细说明,此处以引用的方式将该文全部并入本文中。令人遗憾的是,许多当前的应用使用IPv4文本(literal)地址,而并非主机名。在此情况下,不涉及DNS,使得这些应用不能经由纯IPv6网络——即使是使用NAT64/DNS64——与IPv4主机进行通信。因此,期望用于经由纯IPv6网络与IPv4资源进行通信的技术。技术实现要素:此处所描述的实施例涉及用户装备设备(UE)以及用于经由仅支持IPv6的网络与IPv4网络上的设备进行通信的相关联的技术。在一些实施例中,设备包括至少一个天线、耦合到天线的一个或多个无线电装置、一个或多个处理元件以及一个或多个存储程序指令的存储器,程序指令可执行以使该设备执行各种操作,包括生成访问网络服务器的请求,其中该请求指定网络服务器的因特网协议版本4(IPv4)文本标识符。在这些实施例中,操作包括使用预留名查询域名系统(DNS)服务器以确定可用于IPv6地址合成的IPv6前缀。在一些实施例中,带有前缀的网络流量可路由到网络地址转换(NAT)服务器,该NAT服务器用于在设备的因特网协议版本6(IPv6)网络和网络服务器的IPv4网络之间路由通信。在一些实施例中,操作包括基于所确定的IPv6前缀以及IPv4文本标识符合成IPv6地址,以创建到网络服务器的传输层连接以及将传输层连接与经合成的IPv6地址相关联。在一些实施例中,操作包括使用传输层连接经由NAT服务器将多个数据包传输到网络服务器,该传输对于数据包中的每一个使用该经合成的IPv6地址,同时设备不对于不同的数据包重新转换IPv4文本标识符。在一些实施例中,方法包括生成访问网络服务器的请求,该请求指定网络服务器的因特网协议版本4(IPv4)文本标识符。在这些实施例中,方法包括使用预留名查询域名系统(DNS)服务器以确定可用于IPv6地址合成的IPv6前缀。在这些实施例中,方法包括基于所确定的IPv6前缀以及IPv4文本标识符合成IPv6地址,创建到网络服务器的网络会话,以及将网络会话与经合成的IPv6地址相关联。在这 些实施例中,方法包括使用网络会话经由NAT服务器将多个数据包传输到网络服务器,该传输对于数据包中的每一个使用经合成的IPv6地址。在这些实施例中,对于多个数据包中的那些数据包,IPv4文本标识符不被重新转换。在一些实施例中,非暂态计算机可读取介质具有存储于其上的指令,指令可由计算设备执行以执行各种操作,包括生成访问网络服务器的请求,该请求指定网络服务器的因特网协议版本4(IPv4)文本标识符。在这些实施例中,操作进一步包括使用预留名查询域名系统(DNS)服务器以确定可用于IPv6地址合成的IPv6前缀。在这些实施例中,操作进一步包括基于所确定的IPv6前缀以及IPv4文本标识符合成IPv6地址,创建到传输层服务器的传输层会话,以及将网络会话与经合成的IPv6地址相关联。在这些实施例中,操作进一步包括经由NAT服务器使用经合成的IPv6地址将多个数据包传输到网络服务器,而不对于不同的数据包重新转换IPv4文本标识符。附图说明当结合下列图形考虑各实施例的下列详细描述时可以获得对本发明的更好的理解。图1示出了根据一些实施例的示例性移动设备。图2示出了根据一些实施例的经由仅支持IPv6网络的示例性通信。图3示出了根据一些实施例的示例性DNS64/NAT64通信。图4示出了根据一些实施例的IPv4文本标识符的示例性转换。图5示出了示例性编程接口以及通信层。图6是根据一些实施例的移动设备的示例框图。图7是示出了根据一些实施例的用于转换IPv4文本地址的方法的流程图。尽管在本发明中所描述的各实施例可以具有各种修改和另选形式,但是其特定的实施例在此处将作为示例在附图中示出并进行详细 描述。然而,应了解,附图和对其的详细描述不打算将实施例限于所公开的特定形式,相反,意图在于涵盖落入权利要求的精神和范围内的所有修改、等同和另选方案。本说明书包括对“一个实施例”、“实施例”和/或“一些实施例”的引用。这些短语的出现不一定是指同一个实施例。特定的特征、结构或特性可以以与本公开一致的任何合适的方式进行组合。各种单元、电路或其他组件可以描述为或声明为“被配置成”执行一个或多个任务。在这样的上下文中,“被配置成”用于通过指示这些单元/电路/组件包括在操作过程中执行这一个或多个任务的结构(例如,电路系统)而暗示结构。如此,单元/电路/组件可以被说成是被配置成执行任务,即便在指定的单元/电路/组件当前不运转(例如,没有打开)时。与“被配置成”一起使用的单元/电路/组件包括硬件——例如,电路、存储可执行以实现操作的程序指令的存储器,等等。记载单元/电路/组件“被配置成”执行一个或多个任务明确地旨在对于该单元/电路/组件不援引35U.S.C.§112(f)。具体实施方式本公开首先列出相关缩写词以及词汇表。接着,它参考图1-3描述示例性移动设备以及仅支持IPv6网络和IPv4网络之间的通信。参考图4-7讨论了用于IPv4文本转换的示例性技术。在一些实施例中,转换是基于每个连接或基于每个会话执行的。例如,相对于每个数据包转换,这可以降低功耗和/或缩短处理时间。缩写词在本发明中使用了下列缩写词。3GPP:第三代合作伙伴计划API:应用编程接口BSD:伯克利软件发行中心CDMA:码分多址DNS:域名系统GSM:全球移动通信系统IP:因特网协议LTE:长期演进NAT:网络地址转换RAT:无线电接入技术RX:接收TCP:传输控制协议TX:传输UDP:用户数据报协议UE:用户装备UMTS:通用移动通信系统术语下面是本申请中所使用的术语汇编:存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如互联网)连接到第一计算机系统。在后面的例子中,第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如体现为计算机程序)。载体介质——上文所描述的存储介质以及诸如总线、网络的物理 传输介质和/或传达信号(诸如电、电磁或数字信号)的其它物理传输介质。计算机系统——各种类型的计算或处理系统中的任何类型,这些计算或处理系统包括个人计算机系统(PC)、大型计算机系统、工作站、网络家电(networkappliance)、互联网家电(Internetappliance)、个人数字助理(PDA)、个人通信设备、智能电话、电视系统、网格计算系统或者其它设备或设备的组合。一般来说,术语“计算机系统”可以广义地定义为包括具有至少一个执行来自存储介质的指令的处理器的任何设备(或设备组合)。用户装备(UE)(或“UE设备”)——移动或便携式的、执行无线通信的各种类型的计算机系统装置中的任何类型。UE设备的例子包括移动电话或智能手机(例如基于iPhoneTM、AndroidTM的手机)、便携式游戏设备(例如NintendoDSTM、PlayStationPortableTM、GameboyAdvanceTM、iPhoneTM)、笔记本电脑、PDA、便携式互联网设备、音乐播放器、数据存储设备、其它手持式设备、以及可穿戴设备(诸如腕表、头戴式耳机、吊坠、耳塞),等等。一般来说,术语“UE”或“UE设备”可以广义地定义为包括由用户容易地运送并且能够进行无线通信的任何电子、计算和/或电信设备(或设备的组合)。基站——术语“基站”具有其普通含义的全部范围,并且至少包括安装在固定位置处并用于作为无线电话系统或无线电系统的一部分进行通信的无线通信基站。处理元件——指的是各种元件或元件的组合。处理元件包括例如电路(诸如ASIC(专用集成电路))、单独处理器核心的部分或电路、整个处理器核心、单独处理器、可编程硬件设备(诸如现场可编程门阵列(FPGA))、和/或包括多个处理器的系统的较大的部分。自动——指的是动作或操作由计算机系统(例如由计算机系统执行的软件)或设备(例如电路系统、可编程硬件元件、ASIC等)执行,而不需要直接指定或执行该动作或操作的用户输入。因此术语“自 动”与由用户手动执行或指定的操作(其中用户提供直接执行该操作的输入)形成对照。自动的过程可以由用户所提供的输入启动,但随后“自动”执行的动作不由用户指定,即不是“手动”执行(“手动”执行中用户指定每个要执行的操作)。例如,用户通过选择每个字段并提供指定信息的输入(例如通过键入信息、选择复选框、单选等)来填写电子表格是手动填写所述电子表格,即便计算机系统必须响应于用户动作来更新所述表格。所述表格可以由计算机系统自动填写,其中计算机系统(例如在计算机系统上执行的软件)分析表格的字段并填写表格而不需要指定字段的答案的任何用户输入。如上面所指示的,用户可以调用表格的自动填写,但并不参与表格的实际填写(例如用户不手动指定字段的答案,相反字段的答案自动完成)。本说明书提供响应于用户已经采取的动作而自动被执行的操作的各种例子。图1——用户装备图1示出了根据一些实施例的示例用户装备(UE)106(也可以称为移动设备106)。UE设备106可包括可以由各种材料中的任何材料制成的外壳12。UE106可以具有显示器14,显示器14可以是包括电容性触摸电极的触摸屏。显示器14可以基于各种显示技术中的任何技术。UE106的外壳12可以包含或包括用于各种元件中的任何元件的开口,这些元件诸如主页(home)按钮16、扬声器端口18及其他元件(未示出),其他元件诸如麦克风、数据端口以及可能的各种其他类型的按钮,例如音量按钮、振铃器按钮等等。UE106可以支持多种无线电接入技术(RAT)。例如,UE106可以被配置成使用各种RAT中的任何技术通信,诸如使用全球移动通信系统(GSM)、通用移动通信系统(UMTS)、码分多址(CDMA)(例如,CDMA20001XRTT或其他CDMA无线电接入技术)、长期演进(LTE)、LTE高级(LTE-A)和/或其他RAT中的两种或更多种。例如,UE106可以支持至少两种无线电接入技术,诸如LTE和GSM。根据需要可以支持各种不同的或其他的RAT。UE106的一个或多个天线可以接收很宽范围的频率,诸如从600MHz直到3GHz。在一些实施例中,UE106被配置成支持LTE、W-CDMA(W)、TDS-CDMA(T)和/或GSM(G)无线电接入技术。下面更详细地讨论的图6是根据一些实施例的移动设备106中所包括的示例性组件的框图。图2——IPv6和IPv4通信的概述图2示出了应用210到互联网的不同部分的示例性连接。在所示实施例中,IPv6应用210被配置成经由仅支持IPv6的网络220与互联网的IPv4部分和互联网的IPv6部分两者进行通信。在所示实施例中,仅支持IPv6的网络220是由蜂窝承载商提供的蜂窝网络。在其他网络中,所公开的技术可以使用各种类型的仅支持IPv6的网络中的任何类型来实现。如图所示,IPv6应用210被配置成经由仅支持IPv6的网络220直接与IPv6互联网(例如,带有IPv6地址的设备)进行通信。如图所示,在所示实施例中,接入网络经由NAT64/DNS64提供提供商转换(PLAT),以访问IPv4互联网(例如,带有IPv4地址而没有IPv6地址的设备)。下面所讨论的各种技术可以便利对IPv4互联网240的访问,甚至在传统的NAT64/DNS64技术可能失败的情况下。图3——NAT64/DNS64概述图3示出了用于使用NAT64/DNS64进行通信的示例性技术。在所示实施例中,用户设备106请求由web服务器330提供的带有主机名“example.com”的网站。在所示实施例中,用户设备106耦合到仅支持IPv6的网络。在所示实施例中,web服务器330没有IPv6地址。响应于请求,DNS64服务器320请求IPv6AAAA记录(将主机名映射到128比特IPv6地址的128比特值)。DNS服务器340指示它不可以提供AAAA记录,如此作为替代,DNS64服务器320请求 并接收IPv4A记录(指示32比特IPv4文本值,诸如“69.9.64.11”,其中,例如该值中的每一数字都使用八比特来表示)。接着,DNS64服务器320合成用于web服务器的AAAA记录,并向用户设备106提供经合成的记录。在一些实施例中,经合成的地址被形成为<用来将流量路由到NAT64310的前缀的96比特>:<仅支持IPv4目的地的IPv4地址的32比特>。接着,用户设备使用经合成的IPv6地址经由NAT64310与web服务器330进行通信。在一些实施例中,NAT64被配置成在IPv4网络和IPv6网络之间进行接口,并在这两个网络之间映射流量(例如,通过为数据包执行转换)。NAT64可以被配置成在IPv4和IPv6网络之间执行无状态和/或有状态的转换。令人遗憾的是,许多应用(包括web浏览器、Web应用、移动应用,等等)可以使用IPv4文本(例如,“69.9.64.11”)而并非使用主机名(例如,example.com)来指定IPv4地址。在这些情况下,可能不涉及DNS,这些应用可能不能到达web服务器330,即使是在带有DNS6NAT64的网络中(例如,因为IPv6地址合成从不会发生)。一个提出的处理IPv4文本的技术被称作464XLAT,这在RFC6877、2013年4月M.Mawatari的“464XLAT:CombinationofStatefulandStatelessTranslation”中进行了描述,该文此处以引用的方式全部并入本文中。464XLAT在套接字级别使用客户端侧无状态转换器(CLAT)将IPv4数据包变换为IPv6数据包,以发送到NAT64转换器。例如,“当连接到要求IPv4连接的IPv4文本或IPv4套接字时,UE上的CLAT功能提供主机上的私有IPv4地址和IPv4默认路由,供应用引用并绑定到它。源自IPv4接口的连接立即被路由到CLAT功能,并传递到仅支持IPv6的移动网络,发往PLAT[(提供商转换器)]。”然而,由464XLAT转换的数据包各个都看见两个网络地址转换(NAT)穿越:一个在客户端上本地进行,一个在网络中通过NAT64。464XLAT在低级别操作(例如,低于传输层),在连接开 始时,在这些较低的网络层将IPv6地址与较高层连接或会话(例如,TCP连接)相关联是不可能的。因此,在464XLAT,IPv4文本被设备对于每一个数据包重新转换。相对于对于非文本IPv4地址的处理,这可以提高功消和/或降低通信速度。因此,在下面更详细地讨论的一些实施例中,IPv6前缀在较高级别接口(例如,在传输层或更高)处被提供,并当创建连接时与连接相关联。在这些实施例中,基于每个传输层连接而并非基于每个数据包执行IPv4到IPv6转换(例如,对于给定连接或会话,预先转换IPv4文本标识符一次,并且该转换用于连接或会话的多个数据包)。图4——传输层处的示例性转换技术图4示出了根据一些实施例的用于转换IPv4文本的示例性技术。在所示实施例中,用户设备106经由仅支持IPv6的网络耦合到NAT64310和DNS64320。在所示实施例中,NAT64310经由不支持IPv6地址的IPv4网络耦合到web服务器330。在所示实施例中,用户设备106执行应用410、网络助手守护进程420、套接字接口430和内核440的程序代码。在一些实施例中,应用410被配置成生成IPv4文本标识符。例如,应用410可以是web浏览器,用户可以输入IPv4文本作为期望的网页。作为另一个示例,应用410可以是被配置成基于一些用户动作(例如,开始视频聊天,选择下载应用数据的选项,等等)生成IPv4文本的非浏览器应用。在所示实施例中,应用410实现用户空间网络库415。在一些实施例中,网络助手守护进程420可以作为后台进程运行,并因此可能不在用户代码的直接控制下(例如,除了直接或间接地调用合适的守护进程以外)。在一些实施例中,用户空间网络库415在诸如应用410之类的用户空间中的应用的控制下(例如,被包括在应用中或由应用调用)。在所示示例中的步骤(1),生成IPv4TCP请求。应用410可以使用套接字接口430之上的应用编程接口(API)以指示其创建到IPv4 地址文本的传输层连接(例如,TCP或UDP连接,等等)的意图。在所示示例中的步骤(2),用户空间网络库415尝试连接到IPv4文本地址。在大多数情况下,尝试将失败(例如,除非IPv4文本是链接本地地址)。在所示示例中的步骤(3),用户空间网络库415在内核440级别处创建策略检查,该步骤可以与步骤(2)并行地执行。在所示示例中的步骤(4),基于所创建的策略检查,网络助手守护进程420检查设备的状态并检测连接是否正经过支持IPv6但不支持IPv4的接口(例如,蜂窝网络)。在所示示例中的步骤(5),网络助手守护进程420创建DNS查询到“ipv4only.arpa”,这是用于查询DNS64320以确定用于合成IPv6地址的前缀的预留名(例如,使得带有该前缀的流量被路由通过NAT64服务器310)。在一些实施例中,网络助手守护进程420使用在RFC7050、2013年11月T.Savolainen的“DiscoveryoftheIPv6PrefixUsedforIPv6AddressSynthesis”中讨论的技术,根据一个或多个接收到的AAAA记录确定前缀,此处以引用的方式将该文的全部并入本文中。在其他实施例中,可以使用其他技术来确定前缀。在所示示例中的步骤(6),一旦网络助手守护进程420从DNS64服务器320(或从本地缓存)接收到记录,它就使用所确定的前缀(它将流量引向NAT64服务器310)以及web服务器330的32比特IPv4地址来合成新的IPv6地址。这可包括使用前缀作为地址的高位92比特,并使用IPv4地址作为地址的低位32比特。在所示示例中的步骤(7),网络助手守护进程420将消息发回到应用410,指示它应该试图用经合成的IPv6地址进行连接。该消息可包括经合成的IPv6地址。在所示示例中的步骤(8),应用410经由套接字接口430中的IPv6套接字,创建到经合成的IPv6地址的新传输层连接。在一些实施例中,由NAT64服务器310接收生成的到经合成的地址的数据包,NAT64服务器310被配置成转换回到IPv4并将数据包传输到web服 务器330。在一些实施例中,两个并行的连接尝试(如在步骤(1)和步骤(8)中启动的)竞争,例如类似于已知的快乐眼球(happyeyeballs)技术。在这些实施例中,一旦其中一个尝试成功地连接,另一连接就被关闭,并且成功的连接被发回到应用410。在步骤(9),在所示实施例中,经由NAT64310的成功连接被提供到应用410,用于与web服务器330进行通信。图4的示例不旨在限制本公开的范围。可以由其他电路系统或软件模块作为图4所示出的元件的附加和/或替代来执行各个步骤。在各实施例中,用于基于每个连接或每个会话的转换IPv4文本的已公开的技术可以降低功耗和/或缩短处理时间。图5——示例性网络接口图5示出了对web浏览器505及其他网络应用510可用的接口。在所示实施例中,用户空间中的接口包括Web工具包515、NSURL520、CFNetwork525、TCP连接库530以及BSD套接字和其他网络系统调用库535。在所示实施例中,内核空间中的层包括会话层(包括套接字540和对于网络设备545的输入/输出控制(ioctl)、传输层555(可包括例如TCP和UDP)、网络层(包括因特网控制消息协议(ICMP)550和IP层560)以及链路层565。如上文所讨论的,在一些实施例中,移动设备106可以首先在传输层555处转换用于会话或连接的IPv4文本,并使用该转换(例如,经合成的IPv6地址)用于使用该会话或连接的通信。在一些实施例中,此功能经由用户空间中的各种接口而对web浏览器505和/或其他网络应用510可用。例如,在一些实施例中,通过使用CFNetwork525或TCP连接库530,该功能可以可用。在其他实施例中,用于IPv4转换的已公开的技术可以由诸如应用410之类的应用或未示出的各种合适的库或API中的任何一种执行。在各实施例中,在应用和套接字接口之间的层的存在可以允许在连接开始时而非基于每个数据包的地址替 换。在一些实施例中,Web工具包515是被配置成呈现网页的布局引擎软件组件。在一些实施例中,NSURL520是被配置成保留统一资源定位器(URL)的类。在一些实施例中,它包括被配置成作为存储器中的数据来呈现远程资源或将远程资源下载到本地文件系统的URL加载系统。在一些实施例中,它使用如在RFC2396中阐述的URL指定远程资源。在一些实施例中,CFNetwork525是例如对传统套接字API的扩展,带有运行-循环集成。在一些实施例中,CFNetwork525被配置成以对用户透明的方式(例如,使用网络守护进程,等等)通过IPv4和IPv6地址来工作。在解析CFNetwork主机之后,可以打开套接字用于进一步的通信。TCP连接库530和BSD套接字/系统调用库535可以提供对网络功能的较低级别的访问。图6——移动设备图6示出了移动设备106的示例简化框图。如图所示,UE106可包括片上系统(SOC)600,该片上系统可包括用于各种用途的部分。SOC600可以耦合到UE106的各种其他电路。例如,UE106可包括各种类型的存储器(例如,包括NAND闪存610)、连接器接口620(例如,用于耦合到计算机系统、扩展坞、充电站等等)、显示器660、蜂窝通信电路系统630(诸如用于LTE、GSM等等)以及短距离无线通信电路系统629(例如,蓝牙和WLAN电路系统)。UE106可以进一步包括各自包括SIM(订户身份模块)功能的两个或更多个智能卡610,诸如两个或更多个UICC(通用集成电路卡)610。蜂窝通信电路系统630可以耦合到一个或多个天线,优选地是如图所示的两个天线635和636。短距离无线通信电路系统629也可以耦合到天线635和636中的一个或两者(为简化说明,此连接未示出)。如图所示,SOC600可包括可以执行用于UE106的程序指令的处理器602,以及可以执行图形处理并将显示信号提供到显示器660的显示电路系统604。处理器602还可以耦合到可被配置成从处理器602接收地址并将这些地址转换为存储器(例如,存储器606、只读存储器(ROM)650、NAND闪存610)中的位置的存储器管理单元(MMU)640,和/或耦合到其他电路或设备,诸如显示电路系统604、蜂窝通信电路系统630、短距离无线通信电路系统629、连接器I/F620和/或显示器660。MMU640可以被配置成执行存储器保护和页面表转换或设置。在一些实施例中,MMU640可以作为处理器602的一部分被包括。UE设备106的处理器602可以被配置成实现此处所描述的特征的一部分或全部,例如通过执行存储在存储介质(例如,非暂态计算机可读存储介质)上的程序指令。另选地(或另外地),处理器602可被配置作为可编程硬件元件,诸如FPGA(现场可编程门阵列),或作为ASIC(专用集成电路)。另选地(或另外地),UE设备106的处理器602结合其他组件600、604、606、610、620、630、635、640、650、660中的一个或多个一起,可以被配置成实现此处所描述的特征的部分或全部。在各实施例中,可执行以执行所公开的操作的程序指令可以存储在非暂态计算机可读介质中。在一些实施例中,程序指令可由计算设备执行以执行操作。如此处所使用的,术语“可执行”包括对于代码而言必须被启用、打开、由函数调用的程序指令(例如,当作为API的一部分提供时),等等。换言之,即使由程序指令指定的功能可以被临时禁用,程序指令仍可执行以执行它们所指定的操作。在一些实施例中,程序指令被包括在可供各种应用使用的网络功能的库中。图7——示例性方法图7是示出了根据一些实施例的用于IPv4文本转换的方法的流程图。图7所示出的方法可以和此处所公开的计算机系统、设备、元 件或组件以及其他设备中的任何一种一起使用。在各实施例中,所示的一些方法元素可以并行地执行,以所示出的顺序不同的顺序来执行,或可以省略。也可以根据需要,执行其他附加的方法元素。流程从710开始。在所示实施例中的710,移动设备106生成访问网络服务器的请求。在这些实施例中,请求指定网络服务器的IPv4文本标识符。在一些实施例中,请求不指定网络服务器的主机名。生成可以响应于用户输入(例如,将IPv4文本输入到浏览器中,或在生成IPv4文本的应用中做出选择)而执行。在一些实施例中,网络服务器位于不支持IPv6地址的IPv4网络上,移动设备106位于仅支持IPv6的网络上。在所示实施例中的720,移动设备106使用预留名查询DNS服务器(例如,DNS服务器64320),以确定可用于IPv6地址合成的IPv6前缀。移动设备106可以基于来自DNS服务器的响应来确定前缀。在所示实施例中的730,移动设备106基于所确定的IPv6前缀和IPv4文本来合成ipv6地址。在一些实施例中,这包括通过将IPv4文本附加到IPv6前缀来生成IPv6地址。在所示实施例中的740,移动设备106创建到网络服务器的网络会话(例如,传输层会话),并将该网络会话与经合成的IPv6地址相关联。在一些实施例中,关联是在网络会话开始时执行的,并且IPv6地址在整个网络会话中使用。在一些实施例中,传输层会话是TCP或UDP连接。在各实施例中,可以使用经合成的IPv6地址、作为对传输层的附加和/或替代而在其他层处建立网络会话或连接。在所示实施例中的750,移动设备106对于多个数据包中的每一个,使用该网络连接并使用经合成的IPv6地址将多个数据包传输到网络服务器。在一些实施例中,传输是经由用于在移动设备106的IPV6网络和网络服务器的IPv4网络之间路由通信的NAT服务器执行的。在一些实施例中,传输对于这多个数据包中的每一个数据包使用经合成的IPv6地址,而不对于这多个数据包中的那些数据包重新转换IPv4文本。这相对于诸如464XLAT之类的基于每个数据包转换IPv4文本 的实现,可以降低功耗和/或缩短处理时间。移动设备106出于说明性目的被讨论,但不旨在对本公开的范围构成限制。在其他实施例中,可以在各种类型的仅支持IPv6的网络上(可以是无线的或可以不是无线的)使用各种类型的移动或非移动设备。例如,可以与台式计算机和宽带电缆数据网络等等一起使用类似的技术。可以以各种形式中的任何形式实现本公开中所描述的各实施例。例如,一些实施例可以作为计算机实现的方法、计算机可读存储介质或计算机系统来实现。其他实施例可以使用一个或多个自定义设计的硬件设备(诸如ASIC)来实现。其他实施例可以使用一个或多个可编程硬件元件(诸如FPGA)来实现。在一些实施例中,非暂态计算机可读存储介质可以被配置为使得它存储程序指令和/或数据,其中程序指令如果由计算机系统执行,则使得计算机系统执行方法,例如此处所描述的方法实施例中的任何方法,或此处所描述的方法实施例的任何组合,或此处所描述的方法实施例的任何方法的任何子集,或这样的子集的任何组合。在一些实施例中,设备(例如,UE)可以被配置成包括处理器(或一组处理器)和存储介质,其中存储介质存储程序指令,其中处理器被配置成从存储介质读取并执行程序指令,其中程序指令可执行以实现此处所描述的各种方法实施例中的任何方法(或此处所描述的方法实施例的任何组合,或此处所描述的方法实施例的任何方法的任何子集,或这样的子集的任何组合)。可以以各种形式中的任何形式来实现设备。根据本公开的一个实施例,本申请可以根据以下条款中的任何条款实现。条款1.一种在其上存储了指令的非暂态计算机可读介质,所述指令可由计算设备执行以执行操作,所述操作包括:生成访问网络服务器的请求,其中该请求指定所述网络服务器的因特网协议版本4 (IPv4)文本标识符;使用预留名查询域名系统(DNS)服务器,以确定可用于IPv6地址合成的IPv6前缀;基于所确定的IPv6前缀以及IPv4文本标识符合成IPv6地址;使用经合成的IPv6地址创建到所述网络服务器的传输层会话;以及使用所述传输层会话经由网络地址转换(NAT)服务器将多个数据包传输到所述网络服务器,其中所述传输对于所述多个数据包中的每一个都使用经合成的IPv6地址,并且其中对于所述多个数据包中的那些数据包,IPv4文本标识符不被所述计算设备重新转换。条款2.如条款1所述的非暂态计算机可读介质,其中所述指令由应用编程接口指定。条款3.如条款1所述的非暂态计算机可读介质,其中所述指令被包括在网络库中。条款4.如条款1所述的非暂态计算机可读介质,其中NAT服务器是NAT64服务器,DNS服务器是DNS64服务器,其中带有所述前缀的网络流量可路由到所述NAT服务器,并且其中所述NAT服务器用于在所述计算设备的因特网协议版本6(IPv6)网络和所述网络服务器的IPv4网络之间路由通信。条款5.如条款1所述的非暂态计算机可读介质,其中所述操作还包括:生成访问第二网络服务器的请求,其中该请求指定第二网络服务器的因特网协议版本4(IPv4)主机名;从DNS服务器请求第二网络服务器的记录,其中所述DNS服务器是DNS64服务器;从所述DNS64服务器接收第二网络服务器的经合成的IPv6记录;以及使用经合成的IPv6记录经由NAT服务器启动到第二网络服务器的连接。条款6.如条款1所述的非暂态计算机可读介质,其中所述传输是经由仅支持IPv6的网络执行的。条款7.如条款6所述的非暂态计算机可读介质,其中所述仅支持IPv6的网络是蜂窝网络。条款8.如条款1所述的非暂态计算机可读介质,其中预留名是ipv4only.arpa。虽然非常详细地描述了上文的实施例,一旦完全理解了上面的说明,很多变化和修改方案对于那些本领域的技术人员将变得显而易见。权利要求应被解释为包括所有这样的变化和修改方案。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1