CN101150600A - 选择通信中使用的地址的装置和方法 - Google Patents
选择通信中使用的地址的装置和方法 Download PDFInfo
- Publication number
- CN101150600A CN101150600A CNA2007101465627A CN200710146562A CN101150600A CN 101150600 A CN101150600 A CN 101150600A CN A2007101465627 A CNA2007101465627 A CN A2007101465627A CN 200710146562 A CN200710146562 A CN 200710146562A CN 101150600 A CN101150600 A CN 101150600A
- Authority
- CN
- China
- Prior art keywords
- address
- ipv6
- ipv4
- bit string
- priority
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Abstract
一种选择通信中使用的地址的装置和方法。所述装置包括:确定单元,确定在形成用于因特网协议版本6(IPv6)连接的地址的第一比特串中是否包含形成因特网协议版本4(IPv4)地址的第二比特串,并且,当确定第一比特串中包含第二比特串时,进一步确定所述用于IPv6连接的地址是否为扩展地址,其中通过向所述IPv4地址加入预定比特将该扩展地址扩展到IPv6地址的地址长度;改变单元,改变被确定为所述扩展的IPv6地址的用于IPv6连接的地址的优先级;以及选择单元,在建立与外部通信装置的连接期间优先地选择高级别的用于IPv6连接的地址。
Description
技术领域
本发明涉及一种装置和方法,其通过将目的地址与通信中使用的其它地址相区别来选择需要协议转换的目的地址。
背景技术
在作为因特网通信协议的常用因特网协议版本4(IPv4)中,定义32比特的地址(因特网协议(IP)地址)用于通信。使用所述IP地址作为识别各个装置(节点)的标识符。近来,连接因特网的装置发生了快速增长,导致IP地址短缺。
为克服上述困难,提供了使用128比特IPv6地址进行通信的因特网协议版本6(IPv6)。在IPv6中,不仅扩大了地址空间,而且IP报头的结构也得到了简化,从而减小了路由器的负荷。进一步,还改进了自动分配IP地址的机制。
然而,并不能立即从IPv4过渡到IPv6。需要从IPv4领域向IPv6领域逐步进行过渡。具体地,利用实现从IPv6到IPv4的转换的功能(转换器)或者隧道技术,在连接到现有的IPv4网络时进行向IPv6的过渡。
进一步,域名系统(DNS)高速缓存服务器也正在发展,所述DNS服务器关于对有关目的通信装置的IP地址的查询(其中所述IP地址仅包含IPv4地址)返回扩展的IPv6地址,该扩展的IPv6地址通过在所述IPv4地址中加入预定前缀生成,并且能够在IPv6中被通信。因而,响应于对分配了IPv4地址和IPv6地址的目的通信装置有关的地址的查询,所述DNS高速缓存服务器不仅返回所述IPv4地址和IPv6地址,还返回所述扩展的IPv6地址。
当作为向DNS查询的结果而获得多个IP地址时,在常用的通信装置上,尝试对一个地址建立连接,并且如果成功建立了连接,则继续所述通信。如果所述连接失败,则尝试与其它IP地址建立连接,重复此过程,直到成功建立连接。
当无需转换器就可以进行通信时,优先进行所述无需使用转换器的通信。换言之,期望进行无需使用扩展的IPv6地址的通信。如果允许进行使用所述转换器的通信,则可能由于不良的转换器而不能进行所述通信,并且不能容易地应用IP安全功能。
在R.Draves等的“RFC3484,Default Address Selection for InternetProtocol version(IPv6)”[在线],2003年2月,可从因特网获取:(URL:http://www.ietf.org/rfc/rfc3484.txt)(此后,简称为文献1),已经规范了这样的框架,其根据特定前缀指定目的地址的优先性。然而,可以通过使得在扩展的IPv6地址中所使用的前缀相匹配的地址的优先级低于其它地址的优先级来解决上面提到的问题。
进一步,在T.Fujisaki等的“Distributing Default Address SelectionPolicy using DHCPv6”[在线],2005年6月9日,可从因特网获取:(URL:http://www.nttv6.net/dass/draft-fujisaki-dhc-addr-select-opt-00.txt)(此后,简称为文献2),介绍了一种技术,其利用动态主机配置协议版本6(DHCPv6)对所述地址的优先级进行自主分配。通过利用所述技术,无需对源通信装置进行任何特定设置即可指定所期望的优先级。
然而,在文献1和2中,需要由源通信装置的管理员进行手工设置或者使用诸如DHCPv6服务器的外部节点。例如,在文献1中,需要在策略表中加入与扩展IPv6的前缀相关的条目。由于所述前缀根据转换器的设置而有所不同,需要由管理员进行明确的设置。在文献2中,由于使用了DHCPv6,不需要对源通信装置进行手工设置,从而导致设置或者控制所述DHCPv6服务器的额外负担。
进一步,在文献2中,由于从所述DHCPv6服务器需要优先级的自主分配,增加了控制DHCPv6服务器上的各个地址的优先级的处理负担。
发明内容
根据本发明的一个方面,一种通信装置,包括:第一获取单元,其被配置为获取用于连接到网络上的外部通信装置的因特网协议版本6(IPv6)连接地址;第二获取单元,其被配置为获取分配给所述外部通信装置的因特网协议版本4(IPv4)地址;设置单元,其被配置为,为各个获取的IPv6连接地址设置用于表示当连接到所述外部通信装置时优先使用的级别的优先级;确定单元,其被配置为对各个获取的IPv6连接地址确定在形成该IPv6连接地址的第一比特串中是否包含形成所述获取的IPv4地址的第二比特串;改变单元,其被配置为改变在所述获取的IPv6连接地址之中的确定了在所述第一比特串中包含所述第二比特串的IPv6连接地址的优先级;以及选择单元,其被配置为在建立与所述外部通信装置的连接期间选择具有较高优先级的IPv6连接地址。
根据本发明的另一方面,一种地址选择方法,包括:获取用于连接到网络上的外部通信装置的IPv6连接地址;获取分配给所述外部通信装置的IPv4地址;为各个获取的IPv6连接地址设置用于表示当连接到所述外部通信装置时优先使用的级别的优先级;对各个获取的IPv6连接地址确定在形成该IPv6连接地址的第一比特串中是否包含形成所述获取的IPv4地址的第二比特串;改变在所述获取的IPv6连接地址之中的确定了在所述第一比特串中包含所述第二比特串的IPv6连接地址的优先级;以及在建立与所述外部通信装置的连接期间选择具有较高优先级的IPv6连接地址。
附图说明
图1是示意图,其示出了包含根据当前实施例的通信装置的整个网络;
图2是示意图,其示出了包含仅连接到IPv4网络的目的主机的整个网络;
图3是根据当前实施例的通信装置的框图;
图4是示意图,其示出了IPv6地址列表的数据结构的例子;
图5是示意图,其示出了IPv4地址列表的数据结构的例子;
图6是示意图,其示出了从DNS高速缓存服务器返回的响应消息的例子;
图7是根据当前实施例的地址选择处理的流程图;
图8是地址排列处理的流程图;
图9是地址对应确定处理的流程图;
图10是根据当前实施例的通信装置的硬件结构的框图。
具体实施方式
以下参考附图详细解释根据本发明的装置和方法的示例性实施例。
根据本实施例的通信装置将因特网协议版本4(IPv4)地址与从域名系统(DNS)高速缓存服务器获取的因特网协议版本6(IPv6)地址进行比较,并确定所获取的IPv6地址是否是通过将前缀加入IPv4地址而生成的扩展的IPv6地址,并且在改变扩展的IPv6地址的优先级之后,选择用于连接的地址。
如图1所示,通信装置100被连接到IPv6网络11,并利用IPv6与作为连接到IPv6网络11和IPv4网络12的外部通信装置的目的主机200进行通信。
在本实施例中,假设在从IPv4到IPv6的过渡过程中,利用实现IPv6到IPv4转换的功能或者隧道技术来连接IPv6网络11和已有的IPv4网络12。
IPv6网络11包括:转换器15,其在IPv6网络11和IPv4网络12之间进行协议转换,DNS的名称服务器17,其控制包含了目的主机200的域(foobar.example)的地址,以及DNS高速缓存服务器16,其处理来自通信装置100的关于地址的查询。
由于目的主机200被连接到IPv6网络11和IPv4网络12,除了IPv4地址“x.y.z.w”之外,还分配了IPv6地址“Q::H”,并在名称服务器17中注册了与各个地址对应的DNS的地址资源记录(A RR)和AAA RR。
为解释转换器15的功能,解释在仅连接到IPv4网络12的目的主机300和通信装置100之间进行通信的方法。
如图2所示,利用DNS从通信装置100中查找连接到IPv4网络12的目的主机300的因特网协议(IP)地址。经由转换器15连接IPv6网络11和IPv4网络12。
通信装置100向DNS高速缓存服务器16查询作为目的主机300的完全限定域名(FQDN)的“www.foobar.example”的地址。将此处理称为前向查找,其从FQDN查找IP地址。
工作于通信装置100上的应用向装置自身中存储的DNS解析器发出库调用。接收到所述查询之后,解析器将查询发送给DNS高速缓存服务器16,并请求对应于“www.foobar.example”的IPv6地址(作为DNS的资源记录的AAAA RR)。
进一步,假设在不同于转换器15的装置上操作DNS高速缓存服务器16。然而,也可以在相同的装置上安装DNS高速缓存服务器16。
从通信装置100接收到查询之后,DNS高速缓存服务器16基于查询到的域名向控制“foobar.example”区域的名称服务器317查询AAAA RR。如果名称服务器317能够控制“foobar.example”区域,而无论安装地点在哪,则在通常的目的主机300附近的地点执行所述安装。假设名称服务器317连接到IPv4网络12。
然而,由于在名称服务器317中仅注册了IPv4的A RR,所述请求失败,并且DNS高速缓存服务器16不能获取所述AAAA RR。
接下来,DNS高速缓存服务器16向名称服务器317查询具有相同名称(www.foobar.example)的IPv4地址的A RR。当查询成功时,例如,响应于所述查询,作为“www.foobar.example”的IPv4地址返回“x.y.z.w”,假设其为“www.foobar.example”的IPv4地址。
已经知道用于转换到IPv4网络12的IPv6前缀(P)的DNS高速缓存服务器16,关于从通信装置100发出的对于“www.foobar.example”的查询,返回包含地址“P::x.y.z.w”的AAAA RR作为响应。“P::x.y.z.w”是IPv4地址“x.y.z.w”(32比特整数)的扩展的IPv6地址,而“P::x.y.z.w”是一种句法,其中,将IPv4地址嵌入低位的32比特,而将高位的92比特作为前缀。
通信装置100经由进行从IPv6到IPv4的转换的转换器15关于“P::x.y.z.w”发送诸如“connect P::x.y.z.w”的连接请求。
转换器15从目的地址的低位第96比特获取IPv4地址“x.y.z.w”,并利用IPv4与目的主机300建立连接。如果成功建立了连接,则转换器15将IPv4与IPv6连接,从而启用在通信装置100和目的主机300之间的通信。
当从通信装置100连接到目的主机200时,其中,如图1所示,目的主机200连接到IPv6网络11和IPv4网络12,作为规则,利用与图2所示相似的方法建立所述连接。
例如,通信装置100试图与目的主机200进行通信。关于目的主机200的名称“www.foobar.example”,通信装置100向DNS高速缓存服务器16请求AAAA RR。DNS高速缓存服务器16查询名称服务器17,并获取对应于IPv6地址“Q::H”的AAAA RR。
DNS高速缓存服务器16关于相同名称查询A RR,并获取对应于IPv4地址“x.y.z.w”的A RR。从所述A RR,DNS高速缓存服务器16通过向IPv4地址加入预定前缀(P)来生成扩展的IPv6地址“P::x.y.z.w”并且生成对应于扩展的IPv6地址“P::x.y.z.w”的AAAA RR,并且通过与对应于“Q::H”的AAAA RR进行匹配,来响应通信装置100。
因而,无论通信目的节点中包含的域名系统资源记录(DNS RR)的类型为何,即使IPv6网络11的质量降低,应答用于转换的AAAA RR也能够允许最大连接性。
例如,当通信装置100试图建立与目的主机200的联系时,即使其初始时由于地址“Q::H”不能到达而失败了,经由转换器15也能够成功地与“P::x.y.z.w”建立连接。
如果在实验地点没有很好地管理所述IPv6网络或者如果IPv6连接性取决于诸如隧道的存在开销的技术,则在向IPv6过渡的早期阶段可能发生上述状况。进一步,由于分配给目的主机200的IPv6地址和扩展的IPv6地址是能够用于使用IPv6网络11的连接的地址,此后将所述两个地址的组合称为用于IPv6连接的地址。
接下来,参考图3详细解释通信装置100的结构。如图3所示,通信装置100包括存储单元120,发送器101,第一获取单元102,第二获取单元103,设置单元104,确定单元105,改变单元106,以及选择单元107。
存储单元120在其中存储从DNS高速缓存服务器16获取的IPv6地址和IPv4地址,并进一步包含IPv6地址列表121和IPv4地址列表122。能够利用诸如随机访问存储器(RAM)、硬盘驱动器(HDD)、光盘、存储卡的所有常用存储介质来构造存储单元120。
IPv6地址列表121在其中存储了关于对AAAA RR的查询从DNS高速缓存服务器16返回的用于IPv6连接的地址。如图4所示,IPv6地址列表121在其中存储了用于IPv6连接的地址和指示当连接到目的主机200时优先的IPv4地址的级别的优先级之间的对应关系。
IPv4地址列表122在其中存储关于对A RR的查询从DNS高速缓存服务器16返回的IPv4地址。如图5所示,IPv4地址列表122在其中存储了IPv4地址和所述优先级之间的对应关系。
发送器101向DNS高速缓存服务器16发送查询目的主机200的AAAARR或A RR的地址查询消息。
第一获取单元102接收从DNS高速缓存服务器16返回的关于查询AAAA RR的地址查询消息的响应消息,并从该响应消息的AAAA RR获取所述用于IPv6连接的地址。
第二获取单元103接收从DNS高速缓存服务器16返回的关于查询ARR的地址查询消息的响应消息,并从该响应消息的A RR获取IPv4地址。
如图6所示,响应消息的格式类似于正常DNS中使用的关于地址查询消息的响应。紧邻着DNS报头存储了包含返回地址数据的回答资源记录(answer resource record)。进一步,在所述回答资源记录之后,存储指示响应的名称服务器是域的正式名称服务器的权限(authority),以及附加的数据。
如图6所示,第一获取单元102和第二获取单元103从响应消息的回答资源记录获取被查询的目的主机200的地址。进一步,第一获取单元102和第二获取单元103分别在IPv6地址列表121和IPv4地址列表122中保存所获取的用于IPv6连接的地址和IPv4地址。
设置单元104为所获取的用于IPv6连接的地址和IPv4地址设置优先级。设置单元104在获取各地址时分配缺省的预定优先级。例如,当以从一到十(一是最小优先级,十是最大优先级)的整数指示所述优先级时,设置单元104向各个地址分配缺省优先级五,并保存在IPv6地址列表121和IPv4地址列表122中。
确定单元105确定所述获取的用于IPv6连接的地址是否为扩展的IPv6地址。在扩展的IPv6地址中,将预定前缀加入IPv4地址,从而可以在IPv6网络11的环境中使用所述地址,并且可以扩展到与IPv6地址类似的比特长度(128比特)。
具体地,当形成IPv4地址的比特串被包含在形成用于IPv6连接的地址的比特串中时,确定单元105确定所述用于IPv6连接的地址是否为扩展的IPv6地址。通常在将前缀加入IPv4地址之后生成所述扩展的IPv6地址。
改变单元106改变扩展的IPv6地址的优先级。具体地,改变单元106改变扩展的IPv6地址的优先级值,从而使得所述优先级值低于IPv6地址的优先级值。例如,改变单元106将扩展的IPv6地址的优先级值从设置为缺省值的五改变为四,从而使得通过优先与目的主机200的直接通信来进行选择,而无需经由转换器15连接。
进一步,如果经由转换器15建立的连接更稳定,则改变单元106能够将扩展的IPv6地址的优先级值设置为比IPv6地址的优先级值更大。
当连接目的主机200时,选择单元107选择比所使用的地址具有更高优先级的地址。
接下来,参考图7解释由根据本实施例的通信装置100进行的地址选择处理。
在一个例子中,解释了这样的处理,在其中,通信装置100解析关于目的主机200的终端名称(www.foobar.example)的地址,并选择合适的地址,以在图1所示的网络环境中建立与目的主机200的连接。
首先,发送器101向DNS高速缓存服务器16发送DNS的AAAA RR地址查询消息,以获取关于目的主机200的终端名称(www.foobar.example)的用于IPv6连接的地址(步骤S701)。
DNS高速缓存服务器16经由名称服务器17,对应于所述终端名称获取包含了目的主机200的IPv6地址“Q::H”的AAAA RR。为获得相同终端名称的IPv4地址,DNS高速缓存服务器16进一步向名称服务器17发送A RR的地址查询消息,并获得包含了IPv4地址“x.y.z.w”的A RR。DNS高速缓存服务器16获得通过将预定前缀加入包含在A RR中的IPv4地址而生成的扩展的IPv6地址“P::x.y.z.w”,并且最后,向通信装置100发送包含两个AAAA RR的DNS响应消息。
接下来,在接收到从DNS高速缓存服务器16发送的响应消息之后,通信装置100的第一获取单元102从所接收的消息获取用于IPv6连接的地址(步骤S702)。
接下来,为获取关于目的主机200的终端名称(www.foobar.example)的IPv4地址,发送器101向DNS高速缓存服务器16发送A RR的查询消息(步骤S703)。
DNS高速缓存服务器16经由名称服务器17对应于终端名称获得包含目的主机200的IPv4地址“x.y.z.w”的A RR,并向通信装置100发送包含A RR的响应。
接下来,通信装置100的第二获取单元103接收从DNS高速缓存服务器16发送的响应消息,并从所接收的消息获取IPv4地址(步骤S704)。
在图1所示的结构中,第一获取单元102和第二获取单元103获得用于IPv6连接的地址“Q::H”和“P::x.y.z.w”以及IPv4地址“x.y.z.w”。
接下来,设置单元104在存储单元120中保存各个获取到的地址和缺省优先级(5)之间的对应关系(步骤S705)。在此例中,将图4所示的IPv6地址列表121和图5所示的IPv4地址列表122保存到存储单元120。
接下来,执行地址排列处理,以根据已建立的连接的次序来排列所获取的地址(步骤S706)。稍后解释地址排列处理的细节。
在所述地址排列处理之后,选择单元107从已排列的地址中选出高优先级地址(步骤S707),并利用选出的地址建立与目的主机200的连接。
接下来,参考图8详细解释在步骤S706提到的地址排列处理。
确定单元105从IPv6地址列表121获取用于IPv6连接的一个地址(步骤S801)以及从IPv4地址列表获取一个IPv4地址(步骤S802)。
在此例中,即使仅将一个IPv4地址(“x.y.z.w”)存储到IPv4地址列表122中,可以为多个IPv4地址赋予用于负载分散的相同的终端名称,并且在IPv4地址列表122中存储该多个IPv4地址。确定单元105从在IPv4地址列表122中存储的多个IPv4地址中获取任何一个IPv4地址。
接下来,确定单元105确定所获取的用于IPv6连接的地址和IPv4地址之间的对应关系,并执行确定所述用于IPv6连接的地址是否是扩展的IPv6地址的地址对应确定处理(步骤S803)。稍后解释地址对应确定处理的细节。
接下来,通过参考地址对应确定处理的结果,确定单元105确定用于IPv6连接的地址是否对应于所述IPv4地址(步骤S804)。如果用于IPv6连接的地址对应于所述IPv4地址(在步骤S804为“是”),则改变单元106降低用于IPv6连接的地址的优先级(步骤S805)。
在降低所述优先级之后或者在步骤S804确定用于IPv6连接的地址不对应于所述IPv4地址(在步骤S804为“否”)之后,确定单元105确定是否所有IPv4地址都已被处理(步骤S806)。
直到处理了所有IPv4地址(在步骤S806为“否”),确定单元105从IPv4地址列表122获取下一个IPv4地址,并重复所述处理(步骤S802)。当处理了所有IPv4地址(在步骤S806为“是”),确定单元105确定是否处理了所有用于IPv6连接的地址(步骤S807)。
直到处理了所有用于IPv6连接的地址(在步骤S807为“否”),确定单元105从IPv6地址列表121获取下一个用于IPv6连接的地址,并重复所述处理(步骤S801)。当处理了所有用于IPv6连接的地址(在步骤S807为“是”),改变单元106使IPv4地址的优先级低于用于IPv6连接的地址的优先级(步骤S808)。例如,改变单元106将IPv4地址的优先级设置为一。由此,用于IPv6连接的地址优先于IPv4地址,并且使用该用于IPv6连接的地址。
因而,在确定用于IPv6连接的地址和IPv4地址之间的对应关系之后,如果确定单元105确定用于IPv6连接的地址是扩展的IPv6地址,通过降低该扩展的IPv6地址的优先级,可以通过使所述IPv6地址优先于扩展的IPv6地址来排列所述地址,以进行使用。
已经解释了通过排列各个地址的优先级来指示地址排列的例子。然而,无需使用所述优先级,可以通过改变已被确定为扩展的IPv6地址的用于IPv6连接的地址在IPv6地址列表121中的存储位置来排列所述地址。例如,可以将已被确定为扩展的IPv6地址的用于IPv6连接的地址移动到所述列表的末端,并且在连接时,可以从列表开始处获取所述地址,从而能够通过使合适的地址优先来进行选择。
接下来,参考图9详细解释在步骤S803的地址对应确定处理。
首先,确定单元105将计数器i初始化为一(步骤S901),并将用于IPv6连接的地址的第i比特之后的32比特比特串与形成IPv4地址的32比特比特串相比较(步骤S902)。
接下来,确定单元105确定用于IPv6连接的地址的第i比特之后的32比特比特串与形成IPv4地址的32比特比特串是否匹配(步骤S903)。如果用于IPv6连接的地址的第i比特之后的32比特比特串与形成IPv4地址的32比特比特串匹配(在步骤S903为“是”),则确定单元105确定所述地址对应(步骤S904)。如果用于IPv6连接的地址的第i比特之后的32比特比特串不与形成IPv4地址的32比特比特串匹配(在步骤S903为“否”),则确定单元105对计数器i加一(步骤S905),并确定计数器i的值是否超过96(步骤S906)。
如果计数器i的值不超过96(在步骤S906为“否”),则确定单元105获取下一个的32比特(步骤S902),并重复所述处理。如果计数器i的值超过96(在步骤S906为“是”),则确定单元105确定所述地址不对应(步骤S907),并且所述地址对应确定处理结束。
进一步,在本实施例中,假设在所述128比特IPv6地址“Q::H”的任意连续32比特中不出现用“x.y.z.w”表示的32比特整数。如果“Q::H”是一般的全局IPv6地址,通常符合这样的假设。IPv6地址中的连续32比特与IPv4地址的32比特相匹配的可能性极低。进一步,即使由于不正确的确定导致扩展的IPv6地址优先,并得到使用,也不会明显地影响到连接性。
接下来解释根据本实施例的通信装置100的地址选择处理的特定例子。与前述例子类似,在所述例子中解释处理,其中,通信装置100选择合适的地址,以在图1所示的网络环境中建立与目的主机200的连接。
在此例中,获取用于IPv6连接的地址“Q::H”和“P::x.y.z.w”(步骤S702和S704)。根据前述假设,确定单元105确定用于IPv6连接的地址“Q::H”与IPv4地址“x.y.z.w”不对应(步骤S907)。换言之,确定单元105确定“Q::H”不是用于协议转换的扩展的IPv6地址。进一步,维持“Q::H”的优先级(在步骤S804为“否”)。
由于用于IPv6连接的地址“P::x.y.z.w”的第96比特之后的32比特与IPv4地址“x.y.z.w”匹配,确定单元105确定这两个地址之间存在对应关系(步骤S904)。换言之,确定单元105确定“P::x.y.z.w”是扩展的IPv6地址。进一步,改变单元106降低“P::x.y.z.w”的优先级(步骤S805)。
进一步,改变单元106还将IPv4地址“x.y.z.w”的优先级降低为低于用于IPv6连接的两个地址的优先级(步骤S808)。然而,在本实施例中,IPv4地址的优先级本身不影响效果。换言之,即使通过向IPv4地址“x.y.z.w”分配关于用于IPv6连接的两个地址的任意优先级,也能够实现本实施例的效果。
取决于所述结果,选择单元107按照IPv6地址“Q::H”、扩展的IPv6地址“P::x.y.z.w”,以及IPv4地址“x.y.z.w”的顺序来选择用于连接的地址。因而,无论所述协议转换怎样,如果仅利用IPv6就能够进行直接通信,则利用IPv6建立所述连接。如果由于不良网络导致利用IPv6进行直接通信失败,则选择用于转换的扩展的IPv6地址“P::x.y.z.w”,并利用使用了转换器15的协议转换来建立所述连接。
进一步,在本实施例中,IPv4地址“x.y.z.w”与对应的扩展的IPv6地址“P::x.y.z.w”的低位32比特(96比特之后的32比特)相匹配,即使IPv4地址的起始位置不是用于IPv6连接的地址中的第96比特,也能够实现类似的效果。
进一步,在所述处理中,从形成用于IPv6连接的地址的比特串中确定所有包括了与IPv4地址的对应关系的比特串。为了提高确定效率,也可以确定仅从特定比特开始的比特串。例如,为了确定作为普通计算器中的自然比特边界的4、8、16、32、48或64比特的各个边界,计数器i可以被连续增加到4、8、16、32、48或64。进一步,也可以将所述比特确定应用于特定的比特集合。
在本实施例中,即使使用DNS获得对应于目的主机200的终端名称的IP地址,如果能够获取将要与其建立连接的目的主机200的IP地址,那么也可以应用其它方法。
因而,在根据本实施例的通信装置中,通过将IPv4地址与从DNS高速缓存服务器获取的IPv6地址进行比较,可以确定所获取的IPv6地址是否为扩展的IPv6地址。在改变所述扩展的IPv6地址的优先级之后,选择所述地址,以用于连接。换言之,管理员能够自主地选择最优目的地址,而无需进行手动设置或依靠外部装置。
在能够使用IPv6到IPv4的协议转换的环境中,当所分配的目的主机包括IPv6和IPv4两方的连接性和地址时,在仅优先通过IPv6的连接建立之后,可以使用协议转换作为下一个最佳候选进行连接。因而,即使IPv6网络的质量出现问题,也可以以最优顺序提供最大的连接性。进一步,在获得候选地址之后,仅根据主机中的操作确定连接顺序。因为所述连接顺序不取决于外部服务器的数据,所以,不要求涉及外部服务器操作的开销。
如图10所示,根据本实施例的通信装置100包括诸如中央处理单元(CPU)51的控制器,诸如只读存储器(ROM)52和随机访问存储器(RAM)53的存储装置,通过连接到网络进行通信的通信接口(I/F)54,诸如硬盘驱动器(HDD)、光盘(CD)驱动器的外部存储装置,诸如显示器的显示装置,诸如键盘和鼠标的输入装置,以及连接各个单元的总线61,其中,所述各个单元是计算机使用的常见硬件结构。
以可安装格式或可执行格式文件提供在根据本实施例的通信装置上执行的地址选择程序,所述文件被存储在诸如光盘只读存储器(CD-ROM)、软盘(FD)、可记录光盘(CD-R),以及数字通用光盘(DVD)的可由计算机读取的存储介质中。
可将在根据本实施例的通信装置上执行的地址选择程序存储在连接到诸如因特网的网络的计算机中,并可通过经由网络下载予以提供。进一步,可以经由诸如因特网的网络提供或分发在根据本实施例的通信装置上执行的地址选择程序。
进一步,可以在ROM上预先安装并提供根据本实施例的地址选择程序。
在根据本实施例的通信装置上执行的地址选择程序是模块,其包括所有单元(发送器、第一获取单元、第二获取单元、设置单元、确定单元、改变单元,以及选择单元)。作为硬件的CPU 51(处理器)从存储介质读取地址选择程序,执行所述程序,并在主存储装置中加载所有单元。所有所述单元在主存储装置中生成。
Claims (6)
1.一种通信装置,包括:
第一获取单元,其被配置为获取用于连接到网络上的外部通信装置的因特网协议版本6(IPv6)连接地址;
第二获取单元,其被配置为获取分配给所述外部通信装置的因特网协议版本4(IPv4)地址;
设置单元,其被配置以为各个获取的IPv6连接地址设置用于表示当连接到所述外部通信装置时优先使用的级别的优先级;
确定单元,其被配置为对各个获取的IPv6连接地址确定在形成该IPv6连接地址的第一比特串中是否包含形成所述获取的IPv4地址的第二比特串;
改变单元,其被配置为改变在所述获取的IPv6连接地址之中的确定了在所述第一比特串中包含所述第二比特串的IPv6连接地址的优先级;以及
选择单元,其被配置为在建立与所述外部通信装置的连接期间选择具有较高优先级的IPv6连接地址。
2.根据权利要求1所述的装置,其中,
所述确定单元被配置为确定形成所述获取的IPv6连接地址的任意连续32比特是否与形成所述获取的IPv4地址的32比特相匹配,以及
所述改变单元被配置为改变确定了所述连续32比特与形成所述获取的IPv4地址的32比特相匹配的IPv6连接地址的优先级。
3.根据权利要求1所述的装置,其中,
所述确定单元被配置为确定从所述IPv6连接地址的第一比特经过4、8、16、32、48或64的倍数个比特后开始的连续32比特是否与形成所述获取的IPv4地址的32比特相匹配,以及
所述改变单元被配置为改变确定了所述连续32比特与形成所述获取的IPv4地址的32比特相匹配的IPv6连接地址的优先级。
4.根据权利要求1所述的装置,其中,
所述IPv6连接地址至少是IPv6地址和扩展地址中的任意一个,其中,通过在所述IPv4地址中加入预定比特串将所述扩展地址扩展到所述IPv6地址的地址长度,
所述确定单元被配置为当所述第一比特串中包含所述第二比特串时确定所述IPv6连接地址是所述扩展地址,以及,当所述第一比特串中不包含所述第二比特串时确定所述IPv6连接地址是所述IPv6地址,并且所述改变单元被配置为将被确定为所述扩展地址的IPv6连接地址的优先级降低为低于所述IPv6地址的优先级。
5.根据权利要求1所述的装置,进一步包括:
发送器,其被配置为向所述网络上的域名系统(DNS)服务器发送所述外部通信装置的IPv6地址或查询所述外部通信装置的IPv4地址的地址查询消息,其中,
所述第一获取单元被配置为获取从所述DNS服务器发送的IPv6连接地址,以及
所述第二获取单元被配置为获取从所述DNS服务器发送的IPv4地址。
6.一种地址选择方法,包括以下步骤:
获取用于连接到网络上的外部通信装置的IPv6连接地址;
获取分配给所述外部通信装置的IPv4地址;
为各个获取的IPv6连接地址设置用于表示当连接到所述外部通信装置时优先使用的级别的优先级;
对各个获取的IPv6连接地址确定在形成该IPv6连接地址的第一比特串中是否包含形成所述获取的IPv4地址的第二比特串;
改变在所述获取的IPv6连接地址之中的确定了在所述第一比特串中包含所述第二比特串的IPv6连接地址的优先级;以及
在建立与所述外部通信装置的连接期间选择具有较高优先级的IPv6连接地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006253386A JP4176794B2 (ja) | 2006-09-19 | 2006-09-19 | 通信に用いるアドレスを選択する装置、方法およびプログラム |
JP253386/2006 | 2006-09-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101150600A true CN101150600A (zh) | 2008-03-26 |
CN101150600B CN101150600B (zh) | 2012-04-18 |
Family
ID=39188513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101465627A Expired - Fee Related CN101150600B (zh) | 2006-09-19 | 2007-08-21 | 选择通信中使用的地址的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7830911B2 (zh) |
JP (1) | JP4176794B2 (zh) |
CN (1) | CN101150600B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997934A (zh) * | 2009-08-21 | 2011-03-30 | 中国移动通信集团公司 | 地址获取的方法和系统以及移动终端及其应用方法 |
CN102625469A (zh) * | 2011-11-01 | 2012-08-01 | 北京小米科技有限责任公司 | 一种移动终端接入移动互联网的方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4905376B2 (ja) * | 2008-01-31 | 2012-03-28 | 横河電機株式会社 | 複数のネットワークプロトコルに対応した通信システムおよび通信方法 |
KR101548959B1 (ko) * | 2008-06-04 | 2015-09-01 | 삼성전자주식회사 | 패킷 통신 시스템에서 네트워크 주소 설정을 위한 장치 및방법 |
US8156249B2 (en) * | 2009-02-20 | 2012-04-10 | Microsoft Corporation | Using server type to obtain network address |
EP2465247B1 (en) * | 2009-08-14 | 2019-08-14 | Akamai Technologies, Inc. | Method for correlating nameserver ipv6 and ipv4 addresses |
WO2011117959A1 (ja) * | 2010-03-23 | 2011-09-29 | キヤノン株式会社 | 通信装置、通信装置の制御方法、プログラム |
US10079917B2 (en) * | 2010-04-26 | 2018-09-18 | Nokia Technologies Oy | Method and apparatus for synthesized address detection |
US8811393B2 (en) * | 2010-10-04 | 2014-08-19 | Cisco Technology, Inc. | IP address version interworking in communication networks |
WO2012078173A1 (en) * | 2010-12-11 | 2012-06-14 | Hewlett-Packard Development Company, L.P. | Computer network node discovery |
US9135092B2 (en) * | 2012-02-02 | 2015-09-15 | International Business Machines Corporation | Multicast message filtering in virtual environments |
US9531704B2 (en) | 2013-06-25 | 2016-12-27 | Google Inc. | Efficient network layer for IPv6 protocol |
US9191209B2 (en) * | 2013-06-25 | 2015-11-17 | Google Inc. | Efficient communication for devices of a home network |
US11095608B2 (en) * | 2019-04-30 | 2021-08-17 | Citrix Systems, Inc. | Cross protocol association for internet addresses for metadata association systems and methods |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1453989A (zh) * | 2002-04-23 | 2003-11-05 | 欧特斯科技股份有限公司 | Ip网络上的直译装置 |
US7277453B2 (en) * | 2003-05-30 | 2007-10-02 | Motorola, Inc. | Inter private network communications between IPv4 hosts using IPv6 |
CN100525295C (zh) * | 2004-04-21 | 2009-08-05 | 华为技术有限公司 | 一种IPv4网络与IPv6网络通信的实现方法 |
CN1842051A (zh) * | 2005-03-30 | 2006-10-04 | 国际商业机器公司 | 流量均衡设备和方法以及使用它们的网络转发设备和方法 |
-
2006
- 2006-09-19 JP JP2006253386A patent/JP4176794B2/ja not_active Expired - Fee Related
-
2007
- 2007-07-05 US US11/773,492 patent/US7830911B2/en not_active Expired - Fee Related
- 2007-08-21 CN CN2007101465627A patent/CN101150600B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997934A (zh) * | 2009-08-21 | 2011-03-30 | 中国移动通信集团公司 | 地址获取的方法和系统以及移动终端及其应用方法 |
CN102625469A (zh) * | 2011-11-01 | 2012-08-01 | 北京小米科技有限责任公司 | 一种移动终端接入移动互联网的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2008078814A (ja) | 2008-04-03 |
JP4176794B2 (ja) | 2008-11-05 |
CN101150600B (zh) | 2012-04-18 |
US20080069137A1 (en) | 2008-03-20 |
US7830911B2 (en) | 2010-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101150600B (zh) | 选择通信中使用的地址的装置和方法 | |
CN100477619C (zh) | 用于建立双向隧道的方法和系统 | |
CN103141074B (zh) | 名称数据库服务器、名称解析系统、条目搜索方法 | |
CN100536444C (zh) | 数据包通信装置 | |
US20060095585A1 (en) | System and method for establishing communication between a client and a server in a heterogenous ip network | |
US9699136B2 (en) | Stateless autoconfiguration of hostnames of network devices | |
CN1889572B (zh) | 因特网协议地址分配方法及动态主机配置协议中继 | |
CN101321111A (zh) | 通信方法和设备、服务器、及计算机可读记录介质 | |
US20120324063A1 (en) | Method, network device, and system for automatically configuring network device in ipv6 network | |
US11595348B2 (en) | Method for configuring, method for providing topology information, name service server, device, computer program and computer-readable medium | |
EP1583323A1 (en) | Communications apparatus, name resolution method and program | |
JP2009177504A (ja) | ネットワークデバイス管理装置及びその制御方法、ネットワークシステム、並びにプログラム | |
CN103023787B (zh) | 数据中心系统及装置和提供服务的方法 | |
CN103141073A (zh) | 名称数据库服务器、名称解析系统、条目搜索方法以及条目搜索程序 | |
CN101552788B (zh) | 会话管理系统及其控制方法 | |
CN102547553B (zh) | 一种基于wap进行业务访问的方法、系统及装置 | |
CN100583831C (zh) | 路径计算单元组网及信息获取方法及通讯系统及相关设备 | |
CN102801745B (zh) | 一种广域网浏览器访问局域网web网站的方法和系统 | |
CN101627588A (zh) | 自动协议切换 | |
US20080307079A1 (en) | Apparatus and Method For Managing Addresses of Network Elements | |
CN101237442B (zh) | 一体化网络中终端标识解析和业务传输方法、系统及装置 | |
US20040153502A1 (en) | Enhanced DNS server | |
CN111711706A (zh) | Dns递归请求方法及系统 | |
Francis | Pip near-term architecture | |
US20060075138A1 (en) | Method and apparatus to facilitate IPv6 DNS requests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120418 Termination date: 20160821 |